[
  {
    "path": ".all-contributorsrc",
    "content": "{\n  \"files\": [\n    \"README.md\"\n  ],\n  \"imageSize\": 100,\n  \"commit\": false,\n  \"contributors\": [\n    {\n      \"login\": \"Liu233w\",\n      \"name\": \"Liu233w\",\n      \"avatar_url\": \"https://avatars2.githubusercontent.com/u/16333687?v=4\",\n      \"profile\": \"https://liu233w.github.io\",\n      \"contributions\": [\n        \"code\",\n        \"ideas\",\n        \"infra\",\n        \"test\"\n      ]\n    },\n    {\n      \"login\": \"kidozh\",\n      \"name\": \"Kido Zhang\",\n      \"avatar_url\": \"https://avatars3.githubusercontent.com/u/11661760?v=4\",\n      \"profile\": \"https://kidozh.com\",\n      \"contributions\": [\n        \"infra\",\n        \"ideas\"\n      ]\n    },\n    {\n      \"login\": \"flylai\",\n      \"name\": \"flylai\",\n      \"avatar_url\": \"https://avatars2.githubusercontent.com/u/9880740?v=4\",\n      \"profile\": \"https://github.com/flylai\",\n      \"contributions\": [\n        \"code\",\n        \"bug\"\n      ]\n    },\n    {\n      \"login\": \"fzu-h4cky\",\n      \"name\": \"fzu-h4cky\",\n      \"avatar_url\": \"https://avatars3.githubusercontent.com/u/36151020?v=4\",\n      \"profile\": \"https://github.com/fzu-h4cky\",\n      \"contributions\": [\n        \"bug\"\n      ]\n    },\n    {\n      \"login\": \"2512821228\",\n      \"name\": \"Zhao\",\n      \"avatar_url\": \"https://avatars1.githubusercontent.com/u/11994295?v=4\",\n      \"profile\": \"http://zhao.wtf\",\n      \"contributions\": [\n        \"bug\"\n      ]\n    },\n    {\n      \"login\": \"cometeme\",\n      \"name\": \"Adelard Collins\",\n      \"avatar_url\": \"https://avatars0.githubusercontent.com/u/22635759?v=4\",\n      \"profile\": \"https://www.cometeme.tech\",\n      \"contributions\": [\n        \"bug\"\n      ]\n    },\n    {\n      \"login\": \"ctuu\",\n      \"name\": \"ct\",\n      \"avatar_url\": \"https://avatars3.githubusercontent.com/u/22322656?v=4\",\n      \"profile\": \"https://github.com/ctuu\",\n      \"contributions\": [\n        \"bug\"\n      ]\n    },\n    {\n      \"login\": \"Geekxiong\",\n      \"name\": \"Geekxiong\",\n      \"avatar_url\": \"https://avatars3.githubusercontent.com/u/25352156?v=4\",\n      \"profile\": \"https://github.com/Geekxiong\",\n      \"contributions\": [\n        \"ideas\"\n      ]\n    },\n    {\n      \"login\": \"Halorv\",\n      \"name\": \"Halorv\",\n      \"avatar_url\": \"https://avatars2.githubusercontent.com/u/39403985?v=4\",\n      \"profile\": \"https://github.com/settings/profile\",\n      \"contributions\": [\n        \"ideas\"\n      ]\n    },\n    {\n      \"login\": \"bodhisatan\",\n      \"name\": \"Bodhisatan_Yao\",\n      \"avatar_url\": \"https://avatars0.githubusercontent.com/u/35862184?v=4\",\n      \"profile\": \"https://github.com/bodhisatan\",\n      \"contributions\": [\n        \"bug\"\n      ]\n    },\n    {\n      \"login\": \"Meulsama\",\n      \"name\": \"Meulsama\",\n      \"avatar_url\": \"https://avatars1.githubusercontent.com/u/55663936?v=4\",\n      \"profile\": \"https://github.com/Meulsama\",\n      \"contributions\": [\n        \"ideas\"\n      ]\n    },\n    {\n      \"login\": \"UserUnknownX\",\n      \"name\": \"Michael Xiang\",\n      \"avatar_url\": \"https://avatars3.githubusercontent.com/u/50655871?v=4\",\n      \"profile\": \"https://github.com/UserUnknownX\",\n      \"contributions\": [\n        \"bug\"\n      ]\n    },\n    {\n      \"login\": \"zby0327\",\n      \"name\": \"zby\",\n      \"avatar_url\": \"https://avatars2.githubusercontent.com/u/43291744?v=4\",\n      \"profile\": \"https://github.com/zby0327\",\n      \"contributions\": [\n        \"ideas\",\n        \"bug\"\n      ]\n    },\n    {\n      \"login\": \"BackSlashDelta\",\n      \"name\": \"BackSlashDelta\",\n      \"avatar_url\": \"https://avatars1.githubusercontent.com/u/64258212?v=4\",\n      \"profile\": \"https://github.com/BackSlashDelta\",\n      \"contributions\": [\n        \"bug\"\n      ]\n    },\n    {\n      \"login\": \"bluebear4\",\n      \"name\": \"bluebear4\",\n      \"avatar_url\": \"https://avatars.githubusercontent.com/u/49401963?v=4\",\n      \"profile\": \"https://github.com/bluebear4\",\n      \"contributions\": [\n        \"bug\"\n      ]\n    },\n    {\n      \"login\": \"wwawwaww\",\n      \"name\": \"wwawwaww\",\n      \"avatar_url\": \"https://avatars.githubusercontent.com/u/42441490?v=4\",\n      \"profile\": \"https://github.com/wwawwaww\",\n      \"contributions\": [\n        \"bug\"\n      ]\n    },\n    {\n      \"login\": \"dreamerblue\",\n      \"name\": \"bLue\",\n      \"avatar_url\": \"https://avatars.githubusercontent.com/u/19774268?v=4\",\n      \"profile\": \"https://dreamer.blue/\",\n      \"contributions\": [\n        \"code\"\n      ]\n    }\n  ],\n  \"contributorsPerLine\": 6,\n  \"contributorTemplate\": \"<img src=\\\"<%= contributor.avatar_url %>\\\" width=\\\"<%= options.imageSize %>px;\\\" alt=\\\"\\\"/><br /><sub><a href=\\\"<%= contributor.profile %>\\\"><b><%= contributor.name %></b></a><a href=\\\"https://github.com/<%= contributor.login %>\\\">🔗</a></sub><br /><%= contributions %>\",\n  \"contributorsSortAlphabetically\": true,\n  \"projectName\": \"acm-statistics\",\n  \"projectOwner\": \"Liu233w\",\n  \"repoType\": \"github\",\n  \"repoHost\": \"https://github.com\",\n  \"skipCi\": true,\n  \"commitConvention\": \"none\",\n  \"commitType\": \"docs\"\n}\n"
  },
  {
    "path": ".editorconfig",
    "content": "[*.js]\nindent_size = 2"
  },
  {
    "path": ".gitattributes",
    "content": "# Auto detect text files and perform LF normalization\n* text=auto\n# Custom for Visual Studio\n*.cs     diff=csharp\n# Standard to msysgit\n*.doc\t diff=astextplain\n*.DOC\t diff=astextplain\n*.docx diff=astextplain\n*.DOCX diff=astextplain\n*.dot  diff=astextplain\n*.DOT  diff=astextplain\n*.pdf  diff=astextplain\n*.PDF\t diff=astextplain\n*.rtf\t diff=astextplain\n*.RTF\t diff=astextplain\n\n# 忽略Migration文件\n/backend/src/AcmStatisticsBackend.EntityFrameworkCore/Migrations/* linguist-vendored\n/ohunt/OHunt.Web/Migrations/* linguist-vendored\n"
  },
  {
    "path": ".github/.vscode/settings.json",
    "content": "{\n  \"cSpell.words\": [\n    \"endgroup\"\n  ]\n}"
  },
  {
    "path": ".github/mergify.yml",
    "content": "\npull_request_rules:\n  - name: automatic merge on CI success and tag\n    conditions:\n      - label=ready-to-be-merged\n      # checks =====\n      - check-success=Html Snapshot Test\n      - check-success=E2E on push\n      - check-success=E2E on pull request\n\n      - check-success=Test Backend\n      - check-success=Test Crawler\n      - check-success=Test Crawler Api Backend\n      - check-success=Test Frontend\n      - check-success=Test Captcha Service\n      - check-success=Test OHunt\n\n      - check-success=Commitlint\n      # =============\n    actions:\n      merge:\n        method: rebase\n        # rebase_fallback: merge\n  - name: refactored queue action rule\n    conditions: []\n    actions:\n      queue:\nqueue_rules:\n  - name: default\n    queue_conditions:\n      - label=ready-to-be-merged\n      - check-success=Html Snapshot Test\n      - check-success=E2E on push\n      - check-success=E2E on pull request\n      - check-success=Test Backend\n      - check-success=Test Crawler\n      - check-success=Test Crawler Api Backend\n      - check-success=Test Frontend\n      - check-success=Test Captcha Service\n      - check-success=Test OHunt\n      - check-success=Commitlint\n    merge_conditions:\n      # Conditions to get out of the queue (= merged)\n      # checks =====\n\n      - check-success=Html Snapshot Test\n      - check-success=E2E on push\n      - check-success=E2E on pull request\n      - check-success=Test Backend\n      - check-success=Test Crawler\n      - check-success=Test Crawler Api Backend\n      - check-success=Test Frontend\n      - check-success=Test Captcha Service\n      - check-success=Test OHunt\n      - check-success=Commitlint\n      # =============\n    merge_method: rebase\n"
  },
  {
    "path": ".github/workflows/auto-cancellation.yml",
    "content": "name: Cancelling Duplicates\non:\n  workflow_run:\n    workflows: ['Test E2E']\n    types: ['requested']\n\njobs:\n  cancel-duplicate-workflow-runs:\n    name: \"Cancel duplicate workflow runs\"\n    runs-on: ubuntu-latest\n    steps:\n      - uses: potiuk/cancel-workflow-runs@master\n        name: \"Cancel duplicate workflow runs\"\n        with:\n          cancelMode: allDuplicates\n          token: ${{ secrets.GITHUB_TOKEN }}\n          sourceRunId: ${{ github.event.workflow_run.id }}\n"
  },
  {
    "path": ".github/workflows/deploy.yml",
    "content": "name: auto deploy on master\n\non:\n  push:\n    branches:\n      - master\n\njobs:\n  deploy:\n    runs-on: ubuntu-latest\n    steps:\n\n    - name: 'Checkout'\n      uses: actions/checkout@v3\n\n    - name: Wait for status checks\n      id: check\n      uses: WyriHaximus/github-action-wait-for-status@v1.8\n      with:\n        ignoreActions: codecov/project,codecov/patch,deploy,E2E on pull request,update-snapshot,Update HTML Snapshot when comment on pr,Update E2E Snapshot when comment on pr,crawler-check,检查爬虫可用性（不准确）\n        checkInterval: 60\n      env:\n        GITHUB_TOKEN: \"${{ secrets.GITHUB_TOKEN }}\"\n\n    - name: Deploy\n      if: steps.check.outputs.status == 'success'\n      run: |\n        echo \"${{ secrets.DOCKER_PASSWORD }}\" | docker login -u \"${{ secrets.DOCKER_USERNAME }}\" --password-stdin\n        make tag-and-push\n        \n    - name: Failed\n      if: steps.check.outputs.status != 'success'\n      run: |\n        echo deploy check status \"${{ steps.check.outputs.status }}\"\n        exit 1\n"
  },
  {
    "path": ".github/workflows/e2e-test-pr.yml",
    "content": "name: Test E2E on pull request\n\non: pull_request\n\njobs:\n  e2e-pr:\n    name: E2E on pull request\n    runs-on: ubuntu-latest\n    steps:\n    - uses: actions/checkout@master\n    - run: |\n        cd e2e\n        echo ::group::build\n        make server compose-args=\"--detach\"\n        make wait-server\n        echo ::endgroup::build\n        make ci-no-record\n        make run run-cmd=\"npm run lint\" make-args=\"no-interactive no-tty\"\n    - uses: actions/upload-artifact@v4\n      if: failure()\n      with:\n        name: e2e-screenshots\n        path: e2e/cypress/screenshots\n    - uses: actions/upload-artifact@v4\n      if: failure()\n      with:\n        name: e2e-snapshots\n        path: e2e/cypress/snapshots\n    - uses: actions/upload-artifact@v4\n      if: failure()\n      with:\n        name: e2e-videos\n        path: e2e/cypress/videos\n"
  },
  {
    "path": ".github/workflows/e2e-test-push.yml",
    "content": "name: Test E2E on push\n\non: push\n\njobs:\n  e2e-push:\n    name: E2E on push\n    runs-on: ubuntu-latest\n    env:\n      CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }}\n    steps:\n    - uses: actions/checkout@master\n    - run: |\n        cd e2e\n        echo ::group::build\n        make server compose-args=\"--detach\"\n        make wait-server\n        echo ::endgroup::build\n        make ci\n        make run run-cmd=\"npm run lint\" make-args=\"no-interactive no-tty\"\n    - run: |\n        cd build\n        docker compose -f docker-compose.yml -f docker-compose.e2e.yml logs --no-color > e2e.log\n      if: failure()\n    - uses: actions/upload-artifact@v4\n      if: failure()\n      with:\n        name: server-logs\n        path: build/e2e.log\n"
  },
  {
    "path": ".github/workflows/html-test.yml",
    "content": "name: Html Snapshot Tests\n\non: [push, pull_request]\n\njobs:\n  html-snapshot-test:\n    name: Html Snapshot Test\n    runs-on: ubuntu-latest\n    steps:\n    - uses: actions/checkout@master\n    - run: |\n        cd e2e\n        echo ::group::build\n        make server compose-args=\"--detach\"\n        make wait-server\n        echo ::endgroup::build\n        make test-html-ci"
  },
  {
    "path": ".github/workflows/sonar-cloud.yml",
    "content": "name: Sonar Cloud Analysis\n\non:\n  push:\n    branches:\n      - '**'\n\njobs:\n  sonarCloudTrigger:\n    name: SonarCloud Trigger\n    runs-on: ubuntu-latest\n    steps:\n    - uses: actions/checkout@master\n    - name: SonarCloud Scan\n      uses: sonarsource/sonarcloud-github-action@master\n      env:\n        GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n        SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}\n"
  },
  {
    "path": ".github/workflows/unit-test.yml",
    "content": "name: Unit Tests\n\non: [push, pull_request]\n\njobs:\n\n  backend:\n    name: Test Backend\n    runs-on: ubuntu-latest\n    steps:\n    - uses: actions/checkout@master\n    - run: |\n        cd backend\n        # smoke test and lint\n        make run run-cmd=\"dotnet build\" make-args=\"no-interactive no-tty\"\n        make test-ci\n\n  crawler:\n    name: Test Crawler\n    runs-on: ubuntu-latest\n    steps:\n    - uses: actions/checkout@master\n    - run: |\n        cd crawler\n        make run run-cmd=\"npm run lint\" make-args=\"no-interactive no-tty\"\n        make test-ci\n\n  crawler-api-backend:\n    name: Test Crawler Api Backend\n    runs-on: ubuntu-latest\n    steps:\n    - uses: actions/checkout@master\n    - run: |\n        cd crawler-api-backend\n        make run run-cmd=\"npm run lint\" make-args=\"no-interactive no-tty\"\n        make test-ci\n\n  frontend:\n    name: Test Frontend\n    runs-on: ubuntu-latest\n    steps:\n    - uses: actions/checkout@master\n    - run: |\n        cd frontend\n        make run run-cmd=\"npm run lint\" make-args=\"no-interactive no-tty\"\n        make test-ci\n        \n  captcha-service:\n    name: Test Captcha Service\n    runs-on: ubuntu-latest\n    steps:\n    - uses: actions/checkout@master\n    - run: |\n        cd captcha-service\n        make run run-cmd=\"npm run lint\" make-args=\"no-interactive no-tty\"\n        make test-ci\n\n  ohunt:\n    name: Test OHunt\n    runs-on: ubuntu-latest\n    steps:\n    - uses: actions/checkout@master\n    - run: |\n        cd ohunt\n        # smoke test and lint\n        make run run-cmd=\"dotnet build\" make-args=\"no-interactive no-tty\"\n        make test-ci\n\n  commitlint:\n    name: Commitlint\n    runs-on: ubuntu-latest\n    env:\n      GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n    steps:\n    - uses: actions/checkout@master\n      with:\n        fetch-depth: 0\n    - uses: wagoid/commitlint-github-action@9763196e10f27aef304c9b8b660d31d97fce0f99 # v5\n"
  },
  {
    "path": ".github/workflows/update-e2e-snapshot.yml",
    "content": "name: Update E2E Snapshot when comment on pr\n\non:\n  issue_comment:\n    types: [created]\n    \njobs:\n  update-snapshot:\n    # The type of runner that the job will run on\n    runs-on: ubuntu-latest\n    \n    if: contains(github.event.comment.html_url, '/pull/') && contains(github.event.comment.body, '/update-e2e-snapshot')\n\n    # Steps represent a sequence of tasks that will be executed as part of the job\n    steps:\n      - name: listen for PR Comments\n        uses: machine-learning-apps/actions-chatops@master\n        with:\n          TRIGGER_PHRASE: \"/update-e2e-snapshot\"\n        env: # you must supply GITHUB_TOKEN\n          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n        id: prcomm\n        # This step clones the branch of the PR associated with the triggering phrase, but only if it is triggered.\n\n      - name: clone branch of PR\n        if: steps.prcomm.outputs.BOOL_TRIGGERED == 'true'\n        uses: actions/checkout@master\n        with:\n          ref: ${{ steps.prcomm.outputs.BRANCH_NAME }}\n\n      - name: Show current running workflows' id\n        if: steps.prcomm.outputs.BOOL_TRIGGERED == 'true'\n        uses: peter-evans/create-or-update-comment@23ff15729ef2fc348714a3bb66d2f655ca9066f2 # v3\n        with:\n          token: ${{ secrets.GITHUB_TOKEN }}\n          issue-number: ${{ github.event.issue.number }}\n          body: |\n            Update E2E Snapshot Triggered!\n            Address: https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}\n\n      - name: Try update snapshot\n        if: steps.prcomm.outputs.BOOL_TRIGGERED == 'true'\n        run: |\n          cd e2e\n          echo ::group::build\n          make server compose-args=\"--detach\"\n          make wait-server\n          echo ::endgroup::build\n          make update-snapshot\n          make test # ensure test pass after update\n          \n      - name: Commit result\n        if: steps.prcomm.outputs.BOOL_TRIGGERED == 'true'\n        run: |\n          git pull\n          \n          git config --global user.name ${{ github.event.comment.user.login }}\n          git config --global user.email ${{ github.event.comment.user.login }}@github.fake\n        \n          git add .\n          git commit -am 'test(e2e): update snapshot'\n          \n      - name: Push changes\n        if: steps.prcomm.outputs.BOOL_TRIGGERED == 'true'\n        uses: ad-m/github-push-action@master\n        with:\n          # use my own token instead of GITHUB_TOKEN to trigger future workflows\n          github_token: ${{ secrets.WORKFLOW_TOKEN }}\n          branch: ${{ steps.prcomm.outputs.BRANCH_NAME }}\n\n      - name: Upload artifact if failed\n        uses: actions/upload-artifact@v4\n        if: failure() && steps.prcomm.outputs.BOOL_TRIGGERED == 'true'\n        with:\n          name: e2e-snapshots\n          path: e2e/cypress/snapshots\n\n      - name: Upload artifact if failed\n        uses: actions/upload-artifact@v4\n        if: failure() && steps.prcomm.outputs.BOOL_TRIGGERED == 'true'\n        with:\n          name: e2e-videos\n          path: e2e/cypress/videos\n"
  },
  {
    "path": ".github/workflows/update-html-snapshot.yml",
    "content": "name: Update HTML Snapshot when comment on pr\n\non:\n  issue_comment:\n    types: [created]\n    \njobs:\n  update-snapshot:\n    # The type of runner that the job will run on\n    runs-on: ubuntu-latest\n\n    # Steps represent a sequence of tasks that will be executed as part of the job\n    steps:\n      - name: listen for PR Comments\n        uses: machine-learning-apps/actions-chatops@master\n        with:\n          TRIGGER_PHRASE: \"/update-html-snapshot\"\n        env: # you must supply GITHUB_TOKEN\n          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n        id: prcomm\n        # This step clones the branch of the PR associated with the triggering phrase, but only if it is triggered.\n\n      - name: clone branch of PR\n        if: steps.prcomm.outputs.BOOL_TRIGGERED == 'true'\n        uses: actions/checkout@master\n        with:\n          ref: ${{ steps.prcomm.outputs.BRANCH_NAME }}\n\n      - name: Show current running workflows' id\n        if: steps.prcomm.outputs.BOOL_TRIGGERED == 'true'\n        uses: peter-evans/create-or-update-comment@23ff15729ef2fc348714a3bb66d2f655ca9066f2 # v3\n        with:\n          token: ${{ secrets.GITHUB_TOKEN }}\n          issue-number: ${{ github.event.issue.number }}\n          body: |\n            Update HTML Snapshot Triggered!\n            Address: https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}\n\n      - name: Try update snapshot\n        if: steps.prcomm.outputs.BOOL_TRIGGERED == 'true'\n        run: |\n          cd e2e\n          echo ::group::build\n          make server compose-args=\"--detach\"\n          make wait-server\n          echo ::endgroup::build\n          make update-html-snapshot\n          make test-html-ci # ensure test pass after update\n          \n      - name: Commit result\n        if: steps.prcomm.outputs.BOOL_TRIGGERED == 'true'\n        run: |\n          git pull\n          \n          git config --global user.name ${{ github.event.comment.user.login }}\n          git config --global user.email ${{ github.event.comment.user.login }}@github.fake\n        \n          git add .\n          git commit -am 'test(e2e): update html snapshot'\n          \n      - name: Push changes\n        if: steps.prcomm.outputs.BOOL_TRIGGERED == 'true'\n        uses: ad-m/github-push-action@master\n        with:\n          # use my own token instead of GITHUB_TOKEN to trigger future workflows\n          github_token: ${{ secrets.WORKFLOW_TOKEN }}\n          branch: ${{ steps.prcomm.outputs.BRANCH_NAME }}\n"
  },
  {
    "path": ".gitignore",
    "content": "# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and WebStorm\n# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839\n\n# User-specific stuff:\n.idea/**/workspace.xml\n.idea/**/tasks.xml\n.idea/dictionaries\n\n# Sensitive or high-churn files:\n.idea/**/dataSources/\n.idea/**/dataSources.ids\n.idea/**/dataSources.local.xml\n.idea/**/sqlDataSources.xml\n.idea/**/dynamic.xml\n.idea/**/uiDesigner.xml\n\n# Gradle:\n.idea/**/gradle.xml\n.idea/**/libraries\n\n# CMake\ncmake-build-debug/\ncmake-build-release/\n\n# Mongo Explorer plugin:\n.idea/**/mongoSettings.xml\n\n## File-based project format:\n*.iws\n\n## Plugin-specific files:\n\n# IntelliJ\nout/\n\n# mpeltonen/sbt-idea plugin\n.idea_modules/\n\n# JIRA plugin\natlassian-ide-plugin.xml\n\n# Cursive Clojure plugin\n.idea/replstate.xml\n\n# Crashlytics plugin (for Android Studio and IntelliJ)\ncom_crashlytics_export_strings.xml\ncrashlytics.properties\ncrashlytics-build.properties\nfabric.properties\n\n\n# Created by https://www.gitignore.io/api/visualstudiocode\n# Edit at https://www.gitignore.io/?templates=visualstudiocode\n\n### VisualStudioCode ###\n.vscode/*\n!.vscode/settings.json\n!.vscode/tasks.json\n!.vscode/launch.json\n!.vscode/extensions.json\n\n### VisualStudioCode Patch ###\n# Ignore all local history of files\n.history\n\n# End of https://www.gitignore.io/api/visualstudiocode\n\n# ionide of vscode\n.ionide\n\n# macOS\n.DS_Store\n\n# idea in root\n/.idea"
  },
  {
    "path": ".imgbotconfig",
    "content": "{\n    \"ignoredFiles\": [\n        \"e2e/*\",\n    ]\n}\n"
  },
  {
    "path": ".renovaterc.json",
    "content": "{\n  \"$schema\": \"https://docs.renovatebot.com/renovate-schema.json\",\n  \"extends\": [\n    \"config:base\",\n    \"docker:enableMajor\",\n    \"monorepo:dotnet\"\n  ],\n  \"packageRules\": [\n    {\n      \"groupName\": \"aspnetboilerplate\",\n      \"packagePatterns\": [\"^Abp\\\\.|^Abp$\"]\n    },\n    {\n      \"groupName\": \"chartjs\",\n      \"matchPackageNames\": [\n        \"vue-chartjs\",\n        \"chart.js\"\n      ]\n    }\n  ],\n  \"ignorePresets\": [\n    \":ignoreModulesAndTests\"\n  ],\n  \"commitMessagePrefix\": \"chore(*):\",\n  \"labels\": [\"dependencies\", \"ready-to-be-merged\"],\n  \"automerge\": false,\n  \"dockerfile\": {\n    \"fileMatch\": [\"(^|/|\\\\.)Dockerfile$\"]\n  }\n}\n"
  },
  {
    "path": "LICENSE",
    "content": "                    GNU AFFERO GENERAL PUBLIC LICENSE\n                       Version 3, 19 November 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>\n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n                            Preamble\n\n  The GNU Affero General Public License is a free, copyleft license for\nsoftware and other kinds of works, specifically designed to ensure\ncooperation with the community in the case of network server software.\n\n  The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works.  By contrast,\nour General Public Licenses are intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users.\n\n  When we speak of free software, we are referring to freedom, not\nprice.  Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n  Developers that use our General Public Licenses protect your rights\nwith two steps: (1) assert copyright on the software, and (2) offer\nyou this License which gives you legal permission to copy, distribute\nand/or modify the software.\n\n  A secondary benefit of defending all users' freedom is that\nimprovements made in alternate versions of the program, if they\nreceive widespread use, become available for other developers to\nincorporate.  Many developers of free software are heartened and\nencouraged by the resulting cooperation.  However, in the case of\nsoftware used on network servers, this result may fail to come about.\nThe GNU General Public License permits making a modified version and\nletting the public access it on a server without ever releasing its\nsource code to the public.\n\n  The GNU Affero General Public License is designed specifically to\nensure that, in such cases, the modified source code becomes available\nto the community.  It requires the operator of a network server to\nprovide the source code of the modified version running there to the\nusers of that server.  Therefore, public use of a modified version, on\na publicly accessible server, gives the public access to the source\ncode of the modified version.\n\n  An older license, called the Affero General Public License and\npublished by Affero, was designed to accomplish similar goals.  This is\na different license, not a version of the Affero GPL, but Affero has\nreleased a new version of the Affero GPL which permits relicensing under\nthis license.\n\n  The precise terms and conditions for copying, distribution and\nmodification follow.\n\n                       TERMS AND CONDITIONS\n\n  0. Definitions.\n\n  \"This License\" refers to version 3 of the GNU Affero General Public License.\n\n  \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n\n  \"The Program\" refers to any copyrightable work licensed under this\nLicense.  Each licensee is addressed as \"you\".  \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n  To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy.  The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n  A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n  To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy.  Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n  To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies.  Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n  An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License.  If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n  1. Source Code.\n\n  The \"source code\" for a work means the preferred form of the work\nfor making modifications to it.  \"Object code\" means any non-source\nform of a work.\n\n  A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n  The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form.  A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n  The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities.  However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work.  For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n  The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n  The Corresponding Source for a work in source code form is that\nsame work.\n\n  2. Basic Permissions.\n\n  All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met.  This License explicitly affirms your unlimited\npermission to run the unmodified Program.  The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work.  This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n  You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force.  You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright.  Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n  Conveying under any other circumstances is permitted solely under\nthe conditions stated below.  Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n  3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n  No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n  When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n  4. Conveying Verbatim Copies.\n\n  You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n  You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n  5. Conveying Modified Source Versions.\n\n  You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n    a) The work must carry prominent notices stating that you modified\n    it, and giving a relevant date.\n\n    b) The work must carry prominent notices stating that it is\n    released under this License and any conditions added under section\n    7.  This requirement modifies the requirement in section 4 to\n    \"keep intact all notices\".\n\n    c) You must license the entire work, as a whole, under this\n    License to anyone who comes into possession of a copy.  This\n    License will therefore apply, along with any applicable section 7\n    additional terms, to the whole of the work, and all its parts,\n    regardless of how they are packaged.  This License gives no\n    permission to license the work in any other way, but it does not\n    invalidate such permission if you have separately received it.\n\n    d) If the work has interactive user interfaces, each must display\n    Appropriate Legal Notices; however, if the Program has interactive\n    interfaces that do not display Appropriate Legal Notices, your\n    work need not make them do so.\n\n  A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit.  Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n  6. Conveying Non-Source Forms.\n\n  You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n    a) Convey the object code in, or embodied in, a physical product\n    (including a physical distribution medium), accompanied by the\n    Corresponding Source fixed on a durable physical medium\n    customarily used for software interchange.\n\n    b) Convey the object code in, or embodied in, a physical product\n    (including a physical distribution medium), accompanied by a\n    written offer, valid for at least three years and valid for as\n    long as you offer spare parts or customer support for that product\n    model, to give anyone who possesses the object code either (1) a\n    copy of the Corresponding Source for all the software in the\n    product that is covered by this License, on a durable physical\n    medium customarily used for software interchange, for a price no\n    more than your reasonable cost of physically performing this\n    conveying of source, or (2) access to copy the\n    Corresponding Source from a network server at no charge.\n\n    c) Convey individual copies of the object code with a copy of the\n    written offer to provide the Corresponding Source.  This\n    alternative is allowed only occasionally and noncommercially, and\n    only if you received the object code with such an offer, in accord\n    with subsection 6b.\n\n    d) Convey the object code by offering access from a designated\n    place (gratis or for a charge), and offer equivalent access to the\n    Corresponding Source in the same way through the same place at no\n    further charge.  You need not require recipients to copy the\n    Corresponding Source along with the object code.  If the place to\n    copy the object code is a network server, the Corresponding Source\n    may be on a different server (operated by you or a third party)\n    that supports equivalent copying facilities, provided you maintain\n    clear directions next to the object code saying where to find the\n    Corresponding Source.  Regardless of what server hosts the\n    Corresponding Source, you remain obligated to ensure that it is\n    available for as long as needed to satisfy these requirements.\n\n    e) Convey the object code using peer-to-peer transmission, provided\n    you inform other peers where the object code and Corresponding\n    Source of the work are being offered to the general public at no\n    charge under subsection 6d.\n\n  A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n  A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling.  In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage.  For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product.  A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n  \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source.  The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n  If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information.  But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n  The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed.  Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n  Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n  7. Additional Terms.\n\n  \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law.  If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n  When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit.  (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.)  You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n  Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n    a) Disclaiming warranty or limiting liability differently from the\n    terms of sections 15 and 16 of this License; or\n\n    b) Requiring preservation of specified reasonable legal notices or\n    author attributions in that material or in the Appropriate Legal\n    Notices displayed by works containing it; or\n\n    c) Prohibiting misrepresentation of the origin of that material, or\n    requiring that modified versions of such material be marked in\n    reasonable ways as different from the original version; or\n\n    d) Limiting the use for publicity purposes of names of licensors or\n    authors of the material; or\n\n    e) Declining to grant rights under trademark law for use of some\n    trade names, trademarks, or service marks; or\n\n    f) Requiring indemnification of licensors and authors of that\n    material by anyone who conveys the material (or modified versions of\n    it) with contractual assumptions of liability to the recipient, for\n    any liability that these contractual assumptions directly impose on\n    those licensors and authors.\n\n  All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10.  If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term.  If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n  If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n  Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n  8. Termination.\n\n  You may not propagate or modify a covered work except as expressly\nprovided under this License.  Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n  However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n  Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n  Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License.  If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n  9. Acceptance Not Required for Having Copies.\n\n  You are not required to accept this License in order to receive or\nrun a copy of the Program.  Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance.  However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work.  These actions infringe copyright if you do\nnot accept this License.  Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n  10. Automatic Licensing of Downstream Recipients.\n\n  Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License.  You are not responsible\nfor enforcing compliance by third parties with this License.\n\n  An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations.  If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n  You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License.  For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n  11. Patents.\n\n  A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based.  The\nwork thus licensed is called the contributor's \"contributor version\".\n\n  A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version.  For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n  Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n  In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement).  To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n  If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients.  \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n\n  If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n  A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License.  You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n  Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n  12. No Surrender of Others' Freedom.\n\n  If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License.  If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all.  For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n  13. Remote Network Interaction; Use with the GNU General Public License.\n\n  Notwithstanding any other provision of this License, if you modify the\nProgram, your modified version must prominently offer all users\ninteracting with it remotely through a computer network (if your version\nsupports such interaction) an opportunity to receive the Corresponding\nSource of your version by providing access to the Corresponding Source\nfrom a network server at no charge, through some standard or customary\nmeans of facilitating copying of software.  This Corresponding Source\nshall include the Corresponding Source for any work covered by version 3\nof the GNU General Public License that is incorporated pursuant to the\nfollowing paragraph.\n\n  Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU General Public License into a single\ncombined work, and to convey the resulting work.  The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the work with which it is combined will remain governed by version\n3 of the GNU General Public License.\n\n  14. Revised Versions of this License.\n\n  The Free Software Foundation may publish revised and/or new versions of\nthe GNU Affero General Public License from time to time.  Such new versions\nwill be similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n  Each version is given a distinguishing version number.  If the\nProgram specifies that a certain numbered version of the GNU Affero General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation.  If the Program does not specify a version number of the\nGNU Affero General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n  If the Program specifies that a proxy can decide which future\nversions of the GNU Affero General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n  Later license versions may give you additional or different\npermissions.  However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n  15. Disclaimer of Warranty.\n\n  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n  16. Limitation of Liability.\n\n  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n  17. Interpretation of Sections 15 and 16.\n\n  If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n                     END OF TERMS AND CONDITIONS\n\n            How to Apply These Terms to Your New Programs\n\n  If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n  To do so, attach the following notices to the program.  It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n    <one line to give the program's name and a brief idea of what it does.>\n\n    Copyright (C) {{ year }}  {{ organization }}\n\n    This program is free software: you can redistribute it and/or modify\n    it under the terms of the GNU Affero General Public License as published by\n    the Free Software Foundation, either version 3 of the License, or\n    (at your option) any later version.\n\n    This program is distributed in the hope that it will be useful,\n    but WITHOUT ANY WARRANTY; without even the implied warranty of\n    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n    GNU Affero General Public License for more details.\n\n    You should have received a copy of the GNU Affero General Public License\n    along with this program.  If not, see <http://www.gnu.org/licenses/>.\n\nAlso add information on how to contact you by electronic and paper mail.\n\n  If your software can interact with users remotely through a computer\nnetwork, you should also make sure that it provides a way for users to\nget its source.  For example, if your program is a web application, its\ninterface could display a \"Source\" link that leads users to an archive\nof the code.  There are many ways you could offer source, and different\nsolutions will be better for different programs; see section 13 for the\nspecific requirements.\n\n  You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU AGPL, see\n<http://www.gnu.org/licenses/>.\n"
  },
  {
    "path": "Makefile",
    "content": "## root makefile\n\ninclude ./build/share.mk\n\n.PHONY: default\ndefault: .short-help ;\n\n# == common suffix ==\n\n# use command like `make target=crawler test clean` to invoke `make -C crawler test clean`\n# support command like `make target=\"crawler frontend\" build`\n\nTargetList = crawler frontend crawler-api-backend backend captcha-service e2e ohunt\nAllTarget := $(if $(target),$(target),$(TargetList))\n\ntest:\n\t@echo testing target: $(AllTarget)\n\tfor dir in $(AllTarget); do \\\n  \t$(MAKE) -C $$dir test; \\\n  done\n\nbuild:\n\t@echo building target: $(AllTarget)\n\tfor dir in $(AllTarget); do \\\n  \t$(MAKE) -C $$dir build; \\\n  done\n\nrun:\n\t@echo running target: $(AllTarget)\n\tfor dir in $(AllTarget); do \\\n  \t$(MAKE) -C $$dir run; \\\n  done\n\nclean:\n\t# remove all stopped containers\n\tdocker rm $(shell docker ps -a -q); true\n\tfor dir in $(AllTarget); do \\\n  \t$(MAKE) -C $$dir clean; \\\n  done\nifeq ($(target),)\n\tcd ./build && $(MAKE) -f node-base.mk clean\n\tcd ./build && $(MAKE) -f commitlint.mk clean\n\tcd ./build && $(MAKE) -f shell.mk clean\n\t@echo cleaned all target\n\t@echo running docker system prune\n\tdocker system prune -f\nelse\n\t@echo cleaned $(target)\nendif\n\ntest-ci:\n\t@echo testing ci on target: $(AllTarget)\n\tfor dir in $(AllTarget); do \\\n  \t$(MAKE) -C $$dir test-ci; \\\n  done\n\n# === commitlint ===\n\n.PHONY: test-commit\n\ntest-commit:\n\tcd ./build && $(MAKE) -f commitlint.mk test-commit\n\n# === publish image ===\n.PHONY: tag-and-push\n\ntag-and-push:\n\tcd ./build && $(MAKE) -f docker-compose.mk push\n\n# === run all ===\n.PHONY: up\n\nup:\n\tcd ./build && $(MAKE) -f docker-compose.mk up\n\n# === util command ==\n\n.PHONY: show-image-size shell\n\n# 输出项目中 latest 标签标记的镜像的大小\nshow-image-size:\n\tdocker images --format \"table {{.Repository}}:{{.Tag}}\\t{{.Size}}\" --filter=reference='acm-statistics*:latest'\n\nshell:\n\tcd build && $(MAKE) -f shell.mk shell\n\n# === help ===\n\n.PHONY: help\n\ndefine HELP_MESSAGE\n\nMakefile of acm-statistics\n\nAvailable goals:\ntest build run clean test-ci test-commit commitlint-travis tag-and-push up view-image-size shell help\n\nYou can use `target` variable to set target module when using test, build, run, clean, \nand test-ci commands. E.g. `make test target=\"frontend crawler\"` means running test only\nin frontend and crawler module. If target is not specified, run the command on all modules.\n\nBesides, the dependency is automatically resolved by makefile. So you do not need to run\nbuild before test.\n\nDocuments of available goals:\n\ntest\nRunning all tests\n\nbuild\nbuild the project or certain modules.\nIf argument `build-args` is specified, it is attached to all `docker build` commands\n\nrun\nRun shell command in modules.\nE.g. `make run run-cmd=\"pnpm run lint\"` runs `npm run lint` in all modules.\nAvailable parameters:\n\n  run-cmd: The command to be run.\n\n  run-args: The extra arguments sent to docker. E.g. run following commands in fontend directory to send argument -v '...' to docker: \n    >> make run run-cmd=\"pnpm test -- --update-snapshot\" run-args=\"-v './__test__:/var/project/__test__'\"\n\n\tmake-args: run-args will automatically send following switches to docker: --rm, --interactive, --tty, which can be turned off by following switches: `r`/`no-rm`, `i`/`no-interactive`, `t`/`no-tty`. \n    E.g. the following command turns `run-args` into `--tty` (`--rm` and `--interactive` are disabled):\n\t\t>> make run make-args=\"r i\"\n\t\tNoticed that commands should be separated even they are single letters.\n\nclean\nClean images that are built\n\ntest-ci\nRun tests in CI environment. It behaves differently than normal tests. E.g. Specifying `--ci` to jest and disabling tests that require network.\n\ntest-commit\nLint commits from master branch to HEAD by commitlint.\n\ntag-and-push\nTag the built images and publish. By default, it uses `liu233w` as namespace.\nYou may refer to `./build/docker-compose.mk` to change this behaviour.\n\nup\nRun the project using docker-compose. It automatically creates config file `./build/.env`.\nIt is recommended to modify the file based on the comments inside.\nIf you run it on windows, it is recommended to use msys2 shell after configure it to accept the path of windows\n\nshow-image-size\nShow the size of all images built by the project. It does not create new images.\n\nshell\nSpawn a shell inside docker container and mount the whole project into it. So you can run commands and modify the project in Linux environment.\n\nhelp\nShow this doc.\n\nMost of the sub-directory supports make commands like the root directory. View the `Makefile` for more information.\n\nendef\n\n.short-help:\n\t@echo run \\\"make help\\\" to get help\n\nexport HELP_MESSAGE\nhelp:\n\t@echo \"$$HELP_MESSAGE\" | more\n"
  },
  {
    "path": "README.md",
    "content": "# This Project will be deprecated. Please use [OJHunt Lite](https://github.com/Liu233w/ojhunt-lite) instead.\n\n\n\n\n# This repo contains the source code of OJ Analyzer\n\n简体中文版：[README_zh-hans.md](./README_zh-hans.md)\n\n[![Powered by ZenHub](https://img.shields.io/badge/Powered_by-ZenHub-5e60ba.svg)](https://app.zenhub.com/workspace/o/liu233w/acm-statistics/boards?repos=125616473)\n[![Quality Gate](https://sonarcloud.io/api/project_badges/measure?project=acm-statistics&metric=alert_status)](https://sonarcloud.io/dashboard?id=acm-statistics)\n[![codecov](https://codecov.io/gh/Liu233w/acm-statistics/branch/master/graph/badge.svg)](https://codecov.io/gh/Liu233w/acm-statistics)\n[![Cypress.io](https://img.shields.io/badge/cypress.io-tests-green.svg)](https://dashboard.cypress.io/#/projects/4s32o7/runs)\n[![Renovate enabled](https://img.shields.io/badge/renovate-enabled-brightgreen.svg)](https://app.renovatebot.com/dashboard#github/Liu233w/acm-statistics)\n[![Mergify Status](https://img.shields.io/badge/Mergify-enabled-green.svg)](https://mergify.io)\n\n<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->\n[![All Contributors](https://img.shields.io/badge/all_contributors-17-orange.svg?style=flat-square)](#contributors-)\n<!-- ALL-CONTRIBUTORS-BADGE:END -->\n\n#### Build status\n\n![Unit Tests](https://github.com/Liu233w/acm-statistics/workflows/Unit%20Tests/badge.svg)\n![Test E2E](https://github.com/Liu233w/acm-statistics/workflows/Test%20E2E/badge.svg)\n\n#### Features\n\n- Querying ac/submissions of oj\n- Storing querying history\n\n#### Under development\n\n- Email support\n- Ranks\n- ……\n\n## Directory structure\n\n- frontend: The front end\n- crawler: Crawlers to query OJs. Being used by both frontend and backend\n- crawler-api-backend: A microservice that provides querying api\n- e2e: E2E tests\n- backend: The back end, a monoservice\n- captcha-service: A microservice that provides captcha support\n- ohunt: A stateful, standalone crawler microservice used to support certain OJs such as ZOJ.\n- build: Codes to build and deploy the project. Tool chain: docker, docker-compose, GNU make.\n- tools: Utility scripts and config files in operation\n\nSee the README file in each module for specific documents.\n\n## Developing and deploying in docker\n\n- The project needs docker and docker-compose to function correctly.\n\n### Development\n\n- This project uses makefile to manage dependency between modules. Execute `make help` in repository root to view document.\n- GNU make is required.\n\n### Deploy\n\nThere are two ways to deploy this project in a server.\n\n#### One-liner\n\nExecute following code in shell to deploy the project to port 3000.\n\n`curl -s https://raw.githubusercontent.com/Liu233w/acm-statistics/master/tools/remote-docker-up.sh | bash`\n\nVjudge crawler is not available in this way.\n\n#### Config file version\n\nIn this way you are able to customise the configuration, enabling all features.\n\n```bash\n# Create a folder to store config files\nmkdir -p ~/www/acm-statistics\ncd ~/www/acm-statistics\n# Download runner script and add permissions\ncurl https://raw.githubusercontent.com/Liu233w/acm-statistics/master/tools/remote-docker-up.sh  -o run.sh\nchmod +x run.sh\n# Run the script once to generate configuration file. It will exit after the line `.env file created, remember to edit it` is shown.\n./run.sh\n# Edit the config file following the description in it.\nvim .env\n# Now we can run the project by the script\n./run.sh\n```\n\nThen you can use tools such as systemd to run `./run.sh`.\n\n[./tools/acm-statistics.service](./tools/acm-statistics.service) is a template config file of systemd.\n\n`run.sh` checks updates when it is starting. If there are updates to `template.env`, `run.sh` will exit and ask you to compare these two files. **The script compares the line count of the two files to check update, please make sure they are identical when editing.**\n\n## Management\n\n- Set the url of adminer in `.env` file. It is `/adminer` by default.\n  - You can view and edit database via adminer.\n  - The name of the database is `acm_statistics`. Username is `root`. You can set password in `.env`\n- Backups are created automatically in 3:00am each day, stored in `db-backup` folder, which is in the folder that contains config files.\n\n## License\n\n- All source code except the code in `crawler/crawlers` are under AGPL-3.0 license\n- The code in `crawler/crawlers` are under BSD 2-Clause license.\n\n## Contribution\n\n- All contribution especially crawlers are welcomed.\n- Please follow [Commit Message Conventions](https://gist.github.com/stephenparish/9941e89d80e2bc58a153) when writing git commit messages.\n- You may use [cz-cli](https://github.com/commitizen/cz-cli) to help writing commit messages.\n\n## Contributors ✨\n\nThanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):\n\n<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->\n<!-- prettier-ignore-start -->\n<!-- markdownlint-disable -->\n<table>\n  <tbody>\n    <tr>\n      <td align=\"center\" valign=\"top\" width=\"16.66%\"><img src=\"https://avatars0.githubusercontent.com/u/22635759?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><a href=\"https://www.cometeme.tech\"><b>Adelard Collins</b></a><a href=\"https://github.com/cometeme\">🔗</a></sub><br /><a href=\"https://github.com/Liu233w/acm-statistics/issues?q=author%3Acometeme\" title=\"Bug reports\">🐛</a></td>\n      <td align=\"center\" valign=\"top\" width=\"16.66%\"><img src=\"https://avatars1.githubusercontent.com/u/64258212?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><a href=\"https://github.com/BackSlashDelta\"><b>BackSlashDelta</b></a><a href=\"https://github.com/BackSlashDelta\">🔗</a></sub><br /><a href=\"https://github.com/Liu233w/acm-statistics/issues?q=author%3ABackSlashDelta\" title=\"Bug reports\">🐛</a></td>\n      <td align=\"center\" valign=\"top\" width=\"16.66%\"><img src=\"https://avatars0.githubusercontent.com/u/35862184?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><a href=\"https://github.com/bodhisatan\"><b>Bodhisatan_Yao</b></a><a href=\"https://github.com/bodhisatan\">🔗</a></sub><br /><a href=\"https://github.com/Liu233w/acm-statistics/issues?q=author%3Abodhisatan\" title=\"Bug reports\">🐛</a></td>\n      <td align=\"center\" valign=\"top\" width=\"16.66%\"><img src=\"https://avatars3.githubusercontent.com/u/25352156?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><a href=\"https://github.com/Geekxiong\"><b>Geekxiong</b></a><a href=\"https://github.com/Geekxiong\">🔗</a></sub><br /><a href=\"#ideas-Geekxiong\" title=\"Ideas, Planning, & Feedback\">🤔</a></td>\n      <td align=\"center\" valign=\"top\" width=\"16.66%\"><img src=\"https://avatars2.githubusercontent.com/u/39403985?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><a href=\"https://github.com/settings/profile\"><b>Halorv</b></a><a href=\"https://github.com/Halorv\">🔗</a></sub><br /><a href=\"#ideas-Halorv\" title=\"Ideas, Planning, & Feedback\">🤔</a></td>\n      <td align=\"center\" valign=\"top\" width=\"16.66%\"><img src=\"https://avatars3.githubusercontent.com/u/11661760?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><a href=\"https://kidozh.com\"><b>Kido Zhang</b></a><a href=\"https://github.com/kidozh\">🔗</a></sub><br /><a href=\"#infra-kidozh\" title=\"Infrastructure (Hosting, Build-Tools, etc)\">🚇</a> <a href=\"#ideas-kidozh\" title=\"Ideas, Planning, & Feedback\">🤔</a></td>\n    </tr>\n    <tr>\n      <td align=\"center\" valign=\"top\" width=\"16.66%\"><img src=\"https://avatars2.githubusercontent.com/u/16333687?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><a href=\"https://liu233w.github.io\"><b>Liu233w</b></a><a href=\"https://github.com/Liu233w\">🔗</a></sub><br /><a href=\"https://github.com/Liu233w/acm-statistics/commits?author=Liu233w\" title=\"Code\">💻</a> <a href=\"#ideas-Liu233w\" title=\"Ideas, Planning, & Feedback\">🤔</a> <a href=\"#infra-Liu233w\" title=\"Infrastructure (Hosting, Build-Tools, etc)\">🚇</a> <a href=\"https://github.com/Liu233w/acm-statistics/commits?author=Liu233w\" title=\"Tests\">⚠️</a></td>\n      <td align=\"center\" valign=\"top\" width=\"16.66%\"><img src=\"https://avatars1.githubusercontent.com/u/55663936?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><a href=\"https://github.com/Meulsama\"><b>Meulsama</b></a><a href=\"https://github.com/Meulsama\">🔗</a></sub><br /><a href=\"#ideas-Meulsama\" title=\"Ideas, Planning, & Feedback\">🤔</a></td>\n      <td align=\"center\" valign=\"top\" width=\"16.66%\"><img src=\"https://avatars3.githubusercontent.com/u/50655871?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><a href=\"https://github.com/UserUnknownX\"><b>Michael Xiang</b></a><a href=\"https://github.com/UserUnknownX\">🔗</a></sub><br /><a href=\"https://github.com/Liu233w/acm-statistics/issues?q=author%3AUserUnknownX\" title=\"Bug reports\">🐛</a></td>\n      <td align=\"center\" valign=\"top\" width=\"16.66%\"><img src=\"https://avatars1.githubusercontent.com/u/11994295?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><a href=\"http://zhao.wtf\"><b>Zhao</b></a><a href=\"https://github.com/2512821228\">🔗</a></sub><br /><a href=\"https://github.com/Liu233w/acm-statistics/issues?q=author%3A2512821228\" title=\"Bug reports\">🐛</a></td>\n      <td align=\"center\" valign=\"top\" width=\"16.66%\"><img src=\"https://avatars.githubusercontent.com/u/19774268?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><a href=\"https://dreamer.blue/\"><b>bLue</b></a><a href=\"https://github.com/dreamerblue\">🔗</a></sub><br /><a href=\"https://github.com/Liu233w/acm-statistics/commits?author=dreamerblue\" title=\"Code\">💻</a></td>\n      <td align=\"center\" valign=\"top\" width=\"16.66%\"><img src=\"https://avatars.githubusercontent.com/u/49401963?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><a href=\"https://github.com/bluebear4\"><b>bluebear4</b></a><a href=\"https://github.com/bluebear4\">🔗</a></sub><br /><a href=\"https://github.com/Liu233w/acm-statistics/issues?q=author%3Abluebear4\" title=\"Bug reports\">🐛</a></td>\n    </tr>\n    <tr>\n      <td align=\"center\" valign=\"top\" width=\"16.66%\"><img src=\"https://avatars3.githubusercontent.com/u/22322656?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><a href=\"https://github.com/ctuu\"><b>ct</b></a><a href=\"https://github.com/ctuu\">🔗</a></sub><br /><a href=\"https://github.com/Liu233w/acm-statistics/issues?q=author%3Actuu\" title=\"Bug reports\">🐛</a></td>\n      <td align=\"center\" valign=\"top\" width=\"16.66%\"><img src=\"https://avatars2.githubusercontent.com/u/9880740?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><a href=\"https://github.com/flylai\"><b>flylai</b></a><a href=\"https://github.com/flylai\">🔗</a></sub><br /><a href=\"https://github.com/Liu233w/acm-statistics/commits?author=flylai\" title=\"Code\">💻</a> <a href=\"https://github.com/Liu233w/acm-statistics/issues?q=author%3Aflylai\" title=\"Bug reports\">🐛</a></td>\n      <td align=\"center\" valign=\"top\" width=\"16.66%\"><img src=\"https://avatars3.githubusercontent.com/u/36151020?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><a href=\"https://github.com/fzu-h4cky\"><b>fzu-h4cky</b></a><a href=\"https://github.com/fzu-h4cky\">🔗</a></sub><br /><a href=\"https://github.com/Liu233w/acm-statistics/issues?q=author%3Afzu-h4cky\" title=\"Bug reports\">🐛</a></td>\n      <td align=\"center\" valign=\"top\" width=\"16.66%\"><img src=\"https://avatars.githubusercontent.com/u/42441490?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><a href=\"https://github.com/wwawwaww\"><b>wwawwaww</b></a><a href=\"https://github.com/wwawwaww\">🔗</a></sub><br /><a href=\"https://github.com/Liu233w/acm-statistics/issues?q=author%3Awwawwaww\" title=\"Bug reports\">🐛</a></td>\n      <td align=\"center\" valign=\"top\" width=\"16.66%\"><img src=\"https://avatars2.githubusercontent.com/u/43291744?v=4\" width=\"100px;\" alt=\"\"/><br /><sub><a href=\"https://github.com/zby0327\"><b>zby</b></a><a href=\"https://github.com/zby0327\">🔗</a></sub><br /><a href=\"#ideas-zby0327\" title=\"Ideas, Planning, & Feedback\">🤔</a> <a href=\"https://github.com/Liu233w/acm-statistics/issues?q=author%3Azby0327\" title=\"Bug reports\">🐛</a></td>\n    </tr>\n  </tbody>\n</table>\n\n<!-- markdownlint-restore -->\n<!-- prettier-ignore-end -->\n\n<!-- ALL-CONTRIBUTORS-LIST:END -->\n\nThis project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!\n"
  },
  {
    "path": "README_zh-hans.md",
    "content": "新版 NWPU-ACM 查询系统\n===\n\n中文版文档可能有不准确之处，请以英文版文档为准。\n\n[![Powered by ZenHub](https://img.shields.io/badge/Powered_by-ZenHub-5e60ba.svg)](https://app.zenhub.com/workspace/o/liu233w/acm-statistics/boards?repos=125616473)\n[![Quality Gate](https://sonarcloud.io/api/project_badges/measure?project=acm-statistics&metric=alert_status)](https://sonarcloud.io/dashboard?id=acm-statistics)\n[![codecov](https://codecov.io/gh/Liu233w/acm-statistics/branch/master/graph/badge.svg)](https://codecov.io/gh/Liu233w/acm-statistics)\n[![Cypress.io](https://img.shields.io/badge/cypress.io-tests-green.svg)](https://dashboard.cypress.io/#/projects/4s32o7/runs)\n[![Renovate enabled](https://img.shields.io/badge/renovate-enabled-brightgreen.svg)](https://app.renovatebot.com/dashboard#github/Liu233w/acm-statistics)\n[![Mergify Status](https://img.shields.io/badge/Mergify-enabled-green.svg)](https://mergify.io)\n<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->\n[![All Contributors](https://img.shields.io/badge/all_contributors-14-orange.svg?style=flat-square)](#contributors-)\n<!-- ALL-CONTRIBUTORS-BADGE:END -->\n\n#### 构建状态\n\n![Unit Tests](https://github.com/Liu233w/acm-statistics/workflows/Unit%20Tests/badge.svg)\n![Test E2E](https://github.com/Liu233w/acm-statistics/workflows/Test%20E2E/badge.svg)\n\n\n#### 功能\n- 题量查询\n#### 开发中\n- 历史记录\n- 题量追踪\n- 邮件提醒\n- 排行榜\n- 查重\n- ……\n\n## 目录结构\n\n- frontend: 前端\n- crawler: 题量查询爬虫，可以同时被前端和后端使用\n- crawler-api-backend: 题量查询后端，提供了查询API\n- e2e: 关于 e2e 测试相关的代码。\n- backend: 后端代码\n- captcha-service: 验证码微服务\n- ohunt: 有状态爬虫微服务。负责一些需要用数据库储存状态的爬虫。\n- build: 存储了 docker 和 make 相关的代码和配置文件，用于构建和部署\n- tools: 存储了部分脚本，各种用途都有\n\n每个模块的具体内容请参考模块内的 README\n\n## docker 方式部署、开发\n\n- 目前的跨模块调用已经改成了基于docker的代码，因此有些功能（比如调用 crawler-api-backend）必须使用 docker 来启动\n- 要使用这个功能，必须安装 docker 和 docker-compose\n\n### 开发\n- 本项目使用了 makefile 来管理模块间的依赖，请在根目录执行 `make help` 来查看说明。\n- 要使用此方式进行开发，开发机还必须安装有 GNU make\n\n### 部署\n\ndocker 方式简化了部署难度，这里有两种部署方式。请确保服务器安装了最新版本的 docker 和 docker-compose\n\n#### 一行代码版\n在 shell 中执行 `curl -s https://raw.githubusercontent.com/Liu233w/acm-statistics/master/tools/remote-docker-up.sh | bash` 即可将整个项目部署到 3000 端口。\n\n这样做的话将无法使用 vjudge 爬虫，所以还是建议使用下面的配置文件版本。\n\n#### 配置文件版\n上面的一行代码版无法更改配置，建议用下面的这个配置文件版，按下面的步骤进行部署：\n\n```bash\n# 建立一个存放脚本和配置文件的文件夹，这里可以随便挑你喜欢的路径\nmkdir -p ~/www/acm-statistics\ncd ~/www/acm-statistics\n# 下载脚本、添加权限\ncurl https://raw.githubusercontent.com/Liu233w/acm-statistics/master/tools/remote-docker-up.sh  -o run.sh\nchmod +x run.sh\n# 试运行脚本以生成配置文件，在显示 `.env file created, remember to edit it` 之后会自动退出脚本\n./run.sh\n# 编辑配置文件，按照上面的说明进行修改即可\nvim .env\n# 现在即可正常运行脚本\n./run.sh\n```\n\n设置成功之后即可使用单独的 `./run.sh` 来运行脚本，使用 systemd 或者其他工具均可。\n\n`./tools/acm-statistics.service` 里是一个 systemd 配置文件的参考。\n\n如果默认的 `template.env` 有更新，`run.sh` 会自动退出并提示您更新 `.env`。**脚本通过比较两个文件的行数来判断是否有更新，在编辑文件时请确保行数一致**\n\n## 管理\n- 在 .env 文件中设定 adminer 的url，默认为 `/adminer`\n  - 可以查看并修改数据库\n  - 数据库名称为 acm_statistics，用户名为 root，密码在 .env 中设定\n- 数据库会在每天3:00am自动进行备份，保存在 `/db-backup` 中\n\n## 开源协议\n- 如无特殊声明，均为 AGPL-3.0 协议\n- crawler 模块中的 `crawlers` 目录中的文件为 BSD 2-Clause 协议\n\n## 贡献代码\n\n- 欢迎任何人贡献代码（尤其是爬虫部分）。\n- git 的提交格式遵循 [Git Commit Angular 规范](https://gist.github.com/stephenparish/9941e89d80e2bc58a153)\n    （[中文版](http://www.ruanyifeng.com/blog/2016/01/commit_message_change_log.html)）\n- 您可以使用 [cz-cli](https://github.com/commitizen/cz-cli) 来辅助提交 commit\n"
  },
  {
    "path": "backend/.config/dotnet-tools.json",
    "content": "{\n  \"version\": 1,\n  \"isRoot\": true,\n  \"tools\": {\n    \"dotnet-ef\": {\n      \"version\": \"7.0.20\",\n      \"commands\": [\n        \"dotnet-ef\"\n      ]\n    }\n  }\n}"
  },
  {
    "path": "backend/.dockerignore",
    "content": "**/.classpath\n**/.dockerignore\n**/.env\n**/.git\n**/.gitignore\n**/.project\n**/.settings\n**/.toolstarget\n**/.vs\n**/.vscode\n**/*.*proj.user\n**/*.dbmdl\n**/*.jfm\n**/azds.yaml\n**/bin\n**/charts\n**/docker-compose*\n**/Dockerfile*\n**/node_modules\n**/npm-debug.log\n**/obj\n**/secrets.dev.yaml\n**/values.dev.yaml\nLICENSE\nREADME.md\n**/App_Data\n\n# coverage file\ncoverage.cobertura.xml\n"
  },
  {
    "path": "backend/.gitattributes",
    "content": "###############################################################################\n# Set default behavior to automatically normalize line endings.\n###############################################################################\n* text=auto\n\n###############################################################################\n# Set default behavior for command prompt diff.\n#\n# This is need for earlier builds of msysgit that does not have it on by\n# default for csharp files.\n# Note: This is only used by command line\n###############################################################################\n#*.cs     diff=csharp\n\n###############################################################################\n# Set the merge driver for project and solution files\n#\n# Merging from the command prompt will add diff markers to the files if there\n# are conflicts (Merging from VS is not affected by the settings below, in VS\n# the diff markers are never inserted). Diff markers may cause the following \n# file extensions to fail to load in VS. An alternative would be to treat\n# these files as binary and thus will always conflict and require user\n# intervention with every merge. To do so, just uncomment the entries below\n###############################################################################\n#*.sln       merge=binary\n#*.csproj    merge=binary\n#*.vbproj    merge=binary\n#*.vcxproj   merge=binary\n#*.vcproj    merge=binary\n#*.dbproj    merge=binary\n#*.fsproj    merge=binary\n#*.lsproj    merge=binary\n#*.wixproj   merge=binary\n#*.modelproj merge=binary\n#*.sqlproj   merge=binary\n#*.wwaproj   merge=binary\n\n###############################################################################\n# behavior for image files\n#\n# image files are treated as binary by default.\n###############################################################################\n#*.jpg   binary\n#*.png   binary\n#*.gif   binary\n\n###############################################################################\n# diff behavior for common document formats\n# \n# Convert binary document formats to text before diffing them. This feature\n# is only available from the command line. Turn it on by uncommenting the \n# entries below.\n###############################################################################\n#*.doc   diff=astextplain\n#*.DOC   diff=astextplain\n#*.docx  diff=astextplain\n#*.DOCX  diff=astextplain\n#*.dot   diff=astextplain\n#*.DOT   diff=astextplain\n#*.pdf   diff=astextplain\n#*.PDF   diff=astextplain\n#*.rtf   diff=astextplain\n#*.RTF   diff=astextplain\n"
  },
  {
    "path": "backend/.gitignore",
    "content": "## Ignore Visual Studio temporary files, build results, and\n## files generated by popular Visual Studio add-ons.\n\n# User-specific files\n*.suo\n*.user\n*.userosscache\n*.sln.docstates\n\n# User-specific files (MonoDevelop/Xamarin Studio)\n*.userprefs\n\n# Build results\n[Dd]ebug/\n[Dd]ebugPublic/\n[Rr]elease/\n[Rr]eleases/\nx64/\nx86/\nbld/\n[Bb]in/\n[Oo]bj/\n[Ll]og/\n\n# Visual Studio 2015 cache/options directory\n.vs/\n# Uncomment if you have tasks that create the project's static files in wwwroot\n#wwwroot/\n\n# MSTest test Results\n[Tt]est[Rr]esult*/\n[Bb]uild[Ll]og.*\n\n# NUNIT\n*.VisualState.xml\nTestResult.xml\n\n# Build Results of an ATL Project\n[Dd]ebugPS/\n[Rr]eleasePS/\ndlldata.c\n\n# DNX\nproject.lock.json\nartifacts/\n\n*_i.c\n*_p.c\n*_i.h\n*.ilk\n*.meta\n*.obj\n*.pch\n*.pdb\n*.pgc\n*.pgd\n*.rsp\n*.sbr\n*.tlb\n*.tli\n*.tlh\n*.tmp\n*.tmp_proj\n*.log\n*.vspscc\n*.vssscc\n.builds\n*.pidb\n*.svclog\n*.scc\n\n# Chutzpah Test files\n_Chutzpah*\n\n# Visual C++ cache files\nipch/\n*.aps\n*.ncb\n*.opendb\n*.opensdf\n*.sdf\n*.cachefile\n*.VC.db\n*.VC.VC.opendb\n\n# Visual Studio profiler\n*.psess\n*.vsp\n*.vspx\n*.sap\n\n# TFS 2012 Local Workspace\n$tf/\n\n# Guidance Automation Toolkit\n*.gpState\n\n# ReSharper is a .NET coding add-in\n_ReSharper*/\n*.[Rr]e[Ss]harper\n*.DotSettings.user\n\n# JustCode is a .NET coding add-in\n.JustCode\n\n# TeamCity is a build add-in\n_TeamCity*\n\n# DotCover is a Code Coverage Tool\n*.dotCover\n\n# NCrunch\n_NCrunch_*\n.*crunch*.local.xml\nnCrunchTemp_*\n\n# MightyMoose\n*.mm.*\nAutoTest.Net/\n\n# Web workbench (sass)\n.sass-cache/\n\n# Installshield output folder\n[Ee]xpress/\n\n# DocProject is a documentation generator add-in\nDocProject/buildhelp/\nDocProject/Help/*.HxT\nDocProject/Help/*.HxC\nDocProject/Help/*.hhc\nDocProject/Help/*.hhk\nDocProject/Help/*.hhp\nDocProject/Help/Html2\nDocProject/Help/html\n\n# Click-Once directory\npublish/\n\n# Publish Web Output\n*.[Pp]ublish.xml\n*.azurePubxml\n# TODO: Comment the next line if you want to checkin your web deploy settings\n# but database connection strings (with potential passwords) will be unencrypted\n*.pubxml\n*.publishproj\n\n# Microsoft Azure Web App publish settings. Comment the next line if you want to\n# checkin your Azure Web App publish settings, but sensitive information contained\n# in these scripts will be unencrypted\nPublishScripts/\n\n# NuGet Packages\n*.nupkg\n# The packages folder can be ignored because of Package Restore\n**/packages/*\n# except build/, which is used as an MSBuild target.\n!**/packages/build/\n# Uncomment if necessary however generally it will be regenerated when needed\n#!**/packages/repositories.config\n# NuGet v3's project.json files produces more ignoreable files\n*.nuget.props\n*.nuget.targets\n\n# Microsoft Azure Build Output\ncsx/\n*.build.csdef\n\n# Microsoft Azure Emulator\necf/\nrcf/\n\n# Windows Store app package directories and files\nAppPackages/\nBundleArtifacts/\nPackage.StoreAssociation.xml\n_pkginfo.txt\n\n# Visual Studio cache files\n# files ending in .cache can be ignored\n*.[Cc]ache\n# but keep track of directories ending in .cache\n!*.[Cc]ache/\n\n# Others\nClientBin/\n~$*\n*~\n*.dbmdl\n*.dbproj.schemaview\n*.pfx\n*.publishsettings\nnode_modules/\norleans.codegen.cs\n\n# Since there are multiple workflows, uncomment next line to ignore bower_components\n# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)\n#bower_components/\n\n# RIA/Silverlight projects\nGenerated_Code/\n\n# Backup & report files from converting an old project file\n# to a newer Visual Studio version. Backup files are not needed,\n# because we have git ;-)\n_UpgradeReport_Files/\nBackup*/\nUpgradeLog*.XML\nUpgradeLog*.htm\n\n# SQL Server files\n*.mdf\n*.ldf\n\n# Business Intelligence projects\n*.rdl.data\n*.bim.layout\n*.bim_*.settings\n\n# Microsoft Fakes\nFakesAssemblies/\n\n# GhostDoc plugin setting file\n*.GhostDoc.xml\n\n# Node.js Tools for Visual Studio\n.ntvs_analysis.dat\n\n# Visual Studio 6 build log\n*.plg\n\n# Visual Studio 6 workspace options file\n*.opt\n\n# Visual Studio LightSwitch build output\n**/*.HTMLClient/GeneratedArtifacts\n**/*.DesktopClient/GeneratedArtifacts\n**/*.DesktopClient/ModelManifest.xml\n**/*.Server/GeneratedArtifacts\n**/*.Server/ModelManifest.xml\n_Pvt_Extensions\n\n# Paket dependency manager\n.paket/paket.exe\npaket-files/\n\n# FAKE - F# Make\n.fake/\n\n# JetBrains Rider\n.idea/\n*.sln.iml\n\n# App_Data\n/src/AcmStatisticsBackend.Web.Host/App_Data/*\n\n# coverage file\ncoverage.cobertura.xml\n"
  },
  {
    "path": "backend/AcmStatisticsBackend.sln",
    "content": "﻿\nMicrosoft Visual Studio Solution File, Format Version 12.00\n# Visual Studio Version 16\nVisualStudioVersion = 16.0.29911.84\nMinimumVisualStudioVersion = 10.0.40219.1\nProject(\"{2150E333-8FDC-42A3-9474-1A3956D46DE8}\") = \"src\", \"src\", \"{AFAA0841-BD93-466F-B8F4-FB4EEC86F1FC}\"\nEndProject\nProject(\"{2150E333-8FDC-42A3-9474-1A3956D46DE8}\") = \"test\", \"test\", \"{F10AA149-2626-486E-85BB-9CD5365F3016}\"\nEndProject\nProject(\"{9A19103F-16F7-4668-BE54-9A1E7A4F7556}\") = \"AcmStatisticsBackend.Core\", \"src\\AcmStatisticsBackend.Core\\AcmStatisticsBackend.Core.csproj\", \"{0FA75A5B-AB83-4FD0-B545-279774C01E87}\"\nEndProject\nProject(\"{9A19103F-16F7-4668-BE54-9A1E7A4F7556}\") = \"AcmStatisticsBackend.Application\", \"src\\AcmStatisticsBackend.Application\\AcmStatisticsBackend.Application.csproj\", \"{3870C648-4AEA-4B85-BA3F-F2F63B96136A}\"\nEndProject\nProject(\"{9A19103F-16F7-4668-BE54-9A1E7A4F7556}\") = \"AcmStatisticsBackend.Tests\", \"test\\AcmStatisticsBackend.Tests\\AcmStatisticsBackend.Tests.csproj\", \"{0D4C5D00-C144-4213-A007-4B8944113AB1}\"\nEndProject\nProject(\"{9A19103F-16F7-4668-BE54-9A1E7A4F7556}\") = \"AcmStatisticsBackend.Web.Host\", \"src\\AcmStatisticsBackend.Web.Host\\AcmStatisticsBackend.Web.Host.csproj\", \"{38E184BD-E874-4633-A947-AED4FDB73F40}\"\nEndProject\nProject(\"{9A19103F-16F7-4668-BE54-9A1E7A4F7556}\") = \"AcmStatisticsBackend.Web.Core\", \"src\\AcmStatisticsBackend.Web.Core\\AcmStatisticsBackend.Web.Core.csproj\", \"{22CFE0D2-8DCA-42D7-AD7D-784C3862493F}\"\nEndProject\nProject(\"{9A19103F-16F7-4668-BE54-9A1E7A4F7556}\") = \"AcmStatisticsBackend.EntityFrameworkCore\", \"src\\AcmStatisticsBackend.EntityFrameworkCore\\AcmStatisticsBackend.EntityFrameworkCore.csproj\", \"{E0580562-F8F2-4EBB-B07A-ABFC6F2C314F}\"\nEndProject\nProject(\"{E53339B2-1760-4266-BCC7-CA923CBCF16C}\") = \"docker-compose\", \"..\\build\\docker-compose.dcproj\", \"{5AE26E44-7AFE-4443-AA6E-F3FDF9519BFD}\"\nEndProject\nProject(\"{2150E333-8FDC-42A3-9474-1A3956D46DE8}\") = \"Solution Items\", \"Solution Items\", \"{1CD24D5F-EC67-4825-B43D-031CD8027031}\"\n\tProjectSection(SolutionItems) = preProject\n\t\tDirectory.Build.props = Directory.Build.props\n\t\tstylecop.json = stylecop.json\n\t\tStyleCop.ruleset = StyleCop.ruleset\n\tEndProjectSection\nEndProject\nGlobal\n\tGlobalSection(SolutionConfigurationPlatforms) = preSolution\n\t\tDebug|Any CPU = Debug|Any CPU\n\t\tRelease|Any CPU = Release|Any CPU\n\tEndGlobalSection\n\tGlobalSection(ProjectConfigurationPlatforms) = postSolution\n\t\t{0FA75A5B-AB83-4FD0-B545-279774C01E87}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\n\t\t{0FA75A5B-AB83-4FD0-B545-279774C01E87}.Debug|Any CPU.Build.0 = Debug|Any CPU\n\t\t{0FA75A5B-AB83-4FD0-B545-279774C01E87}.Release|Any CPU.ActiveCfg = Release|Any CPU\n\t\t{0FA75A5B-AB83-4FD0-B545-279774C01E87}.Release|Any CPU.Build.0 = Release|Any CPU\n\t\t{3870C648-4AEA-4B85-BA3F-F2F63B96136A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\n\t\t{3870C648-4AEA-4B85-BA3F-F2F63B96136A}.Debug|Any CPU.Build.0 = Debug|Any CPU\n\t\t{3870C648-4AEA-4B85-BA3F-F2F63B96136A}.Release|Any CPU.ActiveCfg = Release|Any CPU\n\t\t{3870C648-4AEA-4B85-BA3F-F2F63B96136A}.Release|Any CPU.Build.0 = Release|Any CPU\n\t\t{0D4C5D00-C144-4213-A007-4B8944113AB1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\n\t\t{0D4C5D00-C144-4213-A007-4B8944113AB1}.Debug|Any CPU.Build.0 = Debug|Any CPU\n\t\t{0D4C5D00-C144-4213-A007-4B8944113AB1}.Release|Any CPU.ActiveCfg = Release|Any CPU\n\t\t{0D4C5D00-C144-4213-A007-4B8944113AB1}.Release|Any CPU.Build.0 = Release|Any CPU\n\t\t{38E184BD-E874-4633-A947-AED4FDB73F40}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\n\t\t{38E184BD-E874-4633-A947-AED4FDB73F40}.Debug|Any CPU.Build.0 = Debug|Any CPU\n\t\t{38E184BD-E874-4633-A947-AED4FDB73F40}.Release|Any CPU.ActiveCfg = Release|Any CPU\n\t\t{38E184BD-E874-4633-A947-AED4FDB73F40}.Release|Any CPU.Build.0 = Release|Any CPU\n\t\t{22CFE0D2-8DCA-42D7-AD7D-784C3862493F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\n\t\t{22CFE0D2-8DCA-42D7-AD7D-784C3862493F}.Debug|Any CPU.Build.0 = Debug|Any CPU\n\t\t{22CFE0D2-8DCA-42D7-AD7D-784C3862493F}.Release|Any CPU.ActiveCfg = Release|Any CPU\n\t\t{22CFE0D2-8DCA-42D7-AD7D-784C3862493F}.Release|Any CPU.Build.0 = Release|Any CPU\n\t\t{E0580562-F8F2-4EBB-B07A-ABFC6F2C314F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\n\t\t{E0580562-F8F2-4EBB-B07A-ABFC6F2C314F}.Debug|Any CPU.Build.0 = Debug|Any CPU\n\t\t{E0580562-F8F2-4EBB-B07A-ABFC6F2C314F}.Release|Any CPU.ActiveCfg = Release|Any CPU\n\t\t{E0580562-F8F2-4EBB-B07A-ABFC6F2C314F}.Release|Any CPU.Build.0 = Release|Any CPU\n\t\t{5AE26E44-7AFE-4443-AA6E-F3FDF9519BFD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\n\t\t{5AE26E44-7AFE-4443-AA6E-F3FDF9519BFD}.Debug|Any CPU.Build.0 = Debug|Any CPU\n\t\t{5AE26E44-7AFE-4443-AA6E-F3FDF9519BFD}.Release|Any CPU.ActiveCfg = Release|Any CPU\n\t\t{5AE26E44-7AFE-4443-AA6E-F3FDF9519BFD}.Release|Any CPU.Build.0 = Release|Any CPU\n\tEndGlobalSection\n\tGlobalSection(SolutionProperties) = preSolution\n\t\tHideSolutionNode = FALSE\n\tEndGlobalSection\n\tGlobalSection(NestedProjects) = preSolution\n\t\t{0FA75A5B-AB83-4FD0-B545-279774C01E87} = {AFAA0841-BD93-466F-B8F4-FB4EEC86F1FC}\n\t\t{3870C648-4AEA-4B85-BA3F-F2F63B96136A} = {AFAA0841-BD93-466F-B8F4-FB4EEC86F1FC}\n\t\t{0D4C5D00-C144-4213-A007-4B8944113AB1} = {F10AA149-2626-486E-85BB-9CD5365F3016}\n\t\t{38E184BD-E874-4633-A947-AED4FDB73F40} = {AFAA0841-BD93-466F-B8F4-FB4EEC86F1FC}\n\t\t{22CFE0D2-8DCA-42D7-AD7D-784C3862493F} = {AFAA0841-BD93-466F-B8F4-FB4EEC86F1FC}\n\t\t{E0580562-F8F2-4EBB-B07A-ABFC6F2C314F} = {AFAA0841-BD93-466F-B8F4-FB4EEC86F1FC}\n\tEndGlobalSection\n\tGlobalSection(ExtensibilityGlobals) = postSolution\n\t\tSolutionGuid = {8C07C326-4D17-4200-88B1-4DD423C6392C}\n\tEndGlobalSection\nEndGlobal\n"
  },
  {
    "path": "backend/AcmStatisticsBackend.sln.DotSettings",
    "content": "﻿<wpf:ResourceDictionary xml:space=\"preserve\" xmlns:x=\"http://schemas.microsoft.com/winfx/2006/xaml\" xmlns:s=\"clr-namespace:System;assembly=mscorlib\" xmlns:ss=\"urn:shemas-jetbrains-com:settings-storage-xaml\" xmlns:wpf=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\">\n\t<s:Boolean x:Key=\"/Default/CodeStyle/CodeFormatting/CSharpFormat/SPACE_AFTER_TYPECAST_PARENTHESES/@EntryValue\">False</s:Boolean>\n\t<s:Boolean x:Key=\"/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ECSharpKeepExistingMigration/@EntryIndexedValue\">True</s:Boolean>\n\t<s:Boolean x:Key=\"/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ECSharpPlaceEmbeddedOnSameLineMigration/@EntryIndexedValue\">True</s:Boolean>\n\t<s:Boolean x:Key=\"/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ECSharpUseContinuousIndentInsideBracesMigration/@EntryIndexedValue\">True</s:Boolean>\n\t<s:Boolean x:Key=\"/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ESettingsUpgrade_002EMigrateBlankLinesAroundFieldToBlankLinesAroundProperty/@EntryIndexedValue\">True</s:Boolean>\n\t<s:Boolean x:Key=\"/Default/UserDictionary/Words/=Iana/@EntryIndexedValue\">True</s:Boolean>\n\t<s:Boolean x:Key=\"/Default/UserDictionary/Words/=vjudge/@EntryIndexedValue\">True</s:Boolean></wpf:ResourceDictionary>"
  },
  {
    "path": "backend/Directory.Build.props",
    "content": "<Project>\n  <!-- StyleCop Analyzers configuration -->\n  <PropertyGroup>\n    <!-- Relative to project folder -->\n    <CodeAnalysisRuleSet>../../StyleCop.ruleset</CodeAnalysisRuleSet>\n    <StyleCopTreatErrorsAsWarnings>false</StyleCopTreatErrorsAsWarnings>\n  </PropertyGroup>\n  <ItemGroup>    \n    <PackageReference Include=\"StyleCop.Analyzers\" Version=\"1.2.0-beta.556\">\n      <PrivateAssets>all</PrivateAssets>\n      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>\n    </PackageReference>\n    <AdditionalFiles Include=\"../../stylecop.json\" Link=\"stylecop.json\" />\n  </ItemGroup>\n</Project>\n"
  },
  {
    "path": "backend/Makefile",
    "content": "## makefile for backend\n\ninclude ../build/share.mk\n\nhelp:\n\t@echo run \\\"make help\\\" in root directory to get help\n\n.base:\n\tdocker build . \\\n\t\t-f dev.Dockerfile \\\n\t\t-t $(BackendBaseTag) \\\n\t\t$(build-args)\n\nbuild:\n\tdocker build . \\\n\t\t-f src/AcmStatisticsBackend.Web.Host/Dockerfile \\\n\t\t-t $(BackendTag) \\\n\t\t$(build-args)\n\ntest: .base\n\tdocker run --rm -t $(BackendBaseTag) dotnet test\n\nrun: .base\n\tdocker run $(run-args) $(BackendBaseTag) $(run-cmd)\n\nclean:\n\tdocker image rm $(BackendTag) $(BackendBaseTag); true\n\ntest-ci: .base\n\tdocker run --rm \\\n\t\t-v \"$(CURDIR)/test/AcmStatisticsBackend.Tests/TestResults:/src/test/AcmStatisticsBackend.Tests/TestResults\" \\\n\t\t$(BackendBaseTag) \\\n\t\tdotnet test --collect:\"XPlat Code Coverage\"\n"
  },
  {
    "path": "backend/README.md",
    "content": "# 后端代码 （abp实现）\n\n## 运行环境\n- docker docker-compose\n\n## 开发环境\n- docker docker-compose （必要）\n- dotnet core 3.1\n- Visual Studio 2019 （安装docker支持）\n\n## 运行方式\n\n本项目不能脱离docker运行。\n\n### 仅运行\n- 仅运行时不需要装有vs 2019或者dotnet core开发环境\n- 与其他项目相同，使用 `make build` 进行构建，`make test`进行测试\n\n### 开发\n- 可以直接使用visual studio 2019的container tool进行调试\n- 使用vs打开sln文件，将 docker-compose 设为启动项目，然后直接调试即可\n- 在进行调试之前，需要先在本目录的上级目录运行 `make build` 来构建其他依赖项\n- 在调试状态下，可以从 `localhost:8080` 访问数据库信息\n- 在 `../build/.env` 文件中查看和修改默认密码等数据\n"
  },
  {
    "path": "backend/StyleCop.ruleset",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<RuleSet Name=\"Microsoft Managed Recommended Rules\" Description=\"These rules focus on the most critical problems in your code, including potential security holes, application crashes, and other important logic and design errors. It is recommended to include this rule set in any custom rule set you create for your projects.\" ToolsVersion=\"16.0\">\n  <Localization ResourceAssembly=\"Microsoft.VisualStudio.CodeAnalysis.RuleSets.Strings.dll\" ResourceBaseName=\"Microsoft.VisualStudio.CodeAnalysis.RuleSets.Strings.Localized\">\n    <Name Resource=\"MinimumRecommendedRules_Name\" />\n    <Description Resource=\"MinimumRecommendedRules_Description\" />\n  </Localization>\n  <Rules AnalyzerId=\"Microsoft.Analyzers.ManagedCodeAnalysis\" RuleNamespace=\"Microsoft.Rules.Managed\">\n    <Rule Id=\"CA1001\" Action=\"Warning\" />\n    <Rule Id=\"CA1009\" Action=\"Warning\" />\n    <Rule Id=\"CA1016\" Action=\"Warning\" />\n    <Rule Id=\"CA1033\" Action=\"Warning\" />\n    <Rule Id=\"CA1049\" Action=\"Warning\" />\n    <Rule Id=\"CA1060\" Action=\"Warning\" />\n    <Rule Id=\"CA1061\" Action=\"Warning\" />\n    <Rule Id=\"CA1063\" Action=\"Warning\" />\n    <Rule Id=\"CA1065\" Action=\"Warning\" />\n    <Rule Id=\"CA1301\" Action=\"Warning\" />\n    <Rule Id=\"CA1400\" Action=\"Warning\" />\n    <Rule Id=\"CA1401\" Action=\"Warning\" />\n    <Rule Id=\"CA1403\" Action=\"Warning\" />\n    <Rule Id=\"CA1404\" Action=\"Warning\" />\n    <Rule Id=\"CA1405\" Action=\"Warning\" />\n    <Rule Id=\"CA1410\" Action=\"Warning\" />\n    <Rule Id=\"CA1415\" Action=\"Warning\" />\n    <Rule Id=\"CA1821\" Action=\"Warning\" />\n    <Rule Id=\"CA1900\" Action=\"Warning\" />\n    <Rule Id=\"CA1901\" Action=\"Warning\" />\n    <Rule Id=\"CA2002\" Action=\"Warning\" />\n    <Rule Id=\"CA2100\" Action=\"Warning\" />\n    <Rule Id=\"CA2101\" Action=\"Warning\" />\n    <Rule Id=\"CA2108\" Action=\"Warning\" />\n    <Rule Id=\"CA2111\" Action=\"Warning\" />\n    <Rule Id=\"CA2112\" Action=\"Warning\" />\n    <Rule Id=\"CA2114\" Action=\"Warning\" />\n    <Rule Id=\"CA2116\" Action=\"Warning\" />\n    <Rule Id=\"CA2117\" Action=\"Warning\" />\n    <Rule Id=\"CA2122\" Action=\"Warning\" />\n    <Rule Id=\"CA2123\" Action=\"Warning\" />\n    <Rule Id=\"CA2124\" Action=\"Warning\" />\n    <Rule Id=\"CA2126\" Action=\"Warning\" />\n    <Rule Id=\"CA2131\" Action=\"Warning\" />\n    <Rule Id=\"CA2132\" Action=\"Warning\" />\n    <Rule Id=\"CA2133\" Action=\"Warning\" />\n    <Rule Id=\"CA2134\" Action=\"Warning\" />\n    <Rule Id=\"CA2137\" Action=\"Warning\" />\n    <Rule Id=\"CA2138\" Action=\"Warning\" />\n    <Rule Id=\"CA2140\" Action=\"Warning\" />\n    <Rule Id=\"CA2141\" Action=\"Warning\" />\n    <Rule Id=\"CA2146\" Action=\"Warning\" />\n    <Rule Id=\"CA2147\" Action=\"Warning\" />\n    <Rule Id=\"CA2149\" Action=\"Warning\" />\n    <Rule Id=\"CA2200\" Action=\"Warning\" />\n    <Rule Id=\"CA2202\" Action=\"Warning\" />\n    <Rule Id=\"CA2207\" Action=\"Warning\" />\n    <Rule Id=\"CA2212\" Action=\"Warning\" />\n    <Rule Id=\"CA2213\" Action=\"Warning\" />\n    <Rule Id=\"CA2214\" Action=\"Warning\" />\n    <Rule Id=\"CA2216\" Action=\"Warning\" />\n    <Rule Id=\"CA2220\" Action=\"Warning\" />\n    <Rule Id=\"CA2229\" Action=\"Warning\" />\n    <Rule Id=\"CA2231\" Action=\"Warning\" />\n    <Rule Id=\"CA2232\" Action=\"Warning\" />\n    <Rule Id=\"CA2235\" Action=\"Warning\" />\n    <Rule Id=\"CA2236\" Action=\"Warning\" />\n    <Rule Id=\"CA2237\" Action=\"Warning\" />\n    <Rule Id=\"CA2238\" Action=\"Warning\" />\n    <Rule Id=\"CA2240\" Action=\"Warning\" />\n    <Rule Id=\"CA2241\" Action=\"Warning\" />\n    <Rule Id=\"CA2242\" Action=\"Warning\" />\n  </Rules>\n  <Rules AnalyzerId=\"Microsoft.CodeAnalysis.CSharp\" RuleNamespace=\"Microsoft.CodeAnalysis.CSharp\">\n    <Rule Id=\"CS1591\" Action=\"None\" />\n  </Rules>\n  <Rules AnalyzerId=\"StyleCop.Analyzers\" RuleNamespace=\"StyleCop.Analyzers\">\n    <Rule Id=\"SA0001\" Action=\"None\" />\n    <Rule Id=\"SA0002\" Action=\"Error\" />\n    <Rule Id=\"SA1000\" Action=\"Error\" />\n    <Rule Id=\"SA1001\" Action=\"Error\" />\n    <Rule Id=\"SA1002\" Action=\"Error\" />\n    <Rule Id=\"SA1003\" Action=\"Error\" />\n    <Rule Id=\"SA1004\" Action=\"Error\" />\n    <Rule Id=\"SA1005\" Action=\"Error\" />\n    <Rule Id=\"SA1006\" Action=\"Error\" />\n    <Rule Id=\"SA1007\" Action=\"Error\" />\n    <Rule Id=\"SA1008\" Action=\"Error\" />\n    <Rule Id=\"SA1009\" Action=\"Error\" />\n    <Rule Id=\"SA1010\" Action=\"Error\" />\n    <Rule Id=\"SA1011\" Action=\"Error\" />\n    <Rule Id=\"SA1012\" Action=\"Error\" />\n    <Rule Id=\"SA1013\" Action=\"Error\" />\n    <Rule Id=\"SA1014\" Action=\"Error\" />\n    <Rule Id=\"SA1015\" Action=\"Error\" />\n    <Rule Id=\"SA1016\" Action=\"Error\" />\n    <Rule Id=\"SA1017\" Action=\"Error\" />\n    <Rule Id=\"SA1018\" Action=\"Error\" />\n    <Rule Id=\"SA1019\" Action=\"Error\" />\n    <Rule Id=\"SA1020\" Action=\"Error\" />\n    <Rule Id=\"SA1021\" Action=\"Error\" />\n    <Rule Id=\"SA1022\" Action=\"Error\" />\n    <Rule Id=\"SA1023\" Action=\"Error\" />\n    <Rule Id=\"SA1024\" Action=\"Error\" />\n    <Rule Id=\"SA1025\" Action=\"Error\" />\n    <Rule Id=\"SA1026\" Action=\"Error\" />\n    <Rule Id=\"SA1027\" Action=\"Error\" />\n    <Rule Id=\"SA1028\" Action=\"Error\" />\n    <Rule Id=\"SA1100\" Action=\"Error\" />\n    <Rule Id=\"SA1101\" Action=\"None\" />\n    <Rule Id=\"SA1102\" Action=\"Error\" />\n    <Rule Id=\"SA1103\" Action=\"Error\" />\n    <Rule Id=\"SA1104\" Action=\"Error\" />\n    <Rule Id=\"SA1105\" Action=\"Error\" />\n    <Rule Id=\"SA1106\" Action=\"Error\" />\n    <Rule Id=\"SA1107\" Action=\"Error\" />\n    <Rule Id=\"SA1108\" Action=\"None\" />\n    <Rule Id=\"SA1110\" Action=\"Error\" />\n    <Rule Id=\"SA1111\" Action=\"Error\" />\n    <Rule Id=\"SA1112\" Action=\"Error\" />\n    <Rule Id=\"SA1113\" Action=\"Error\" />\n    <Rule Id=\"SA1114\" Action=\"Error\" />\n    <Rule Id=\"SA1115\" Action=\"Error\" />\n    <Rule Id=\"SA1116\" Action=\"None\" />\n    <Rule Id=\"SA1117\" Action=\"None\" />\n    <Rule Id=\"SA1118\" Action=\"None\" />\n    <Rule Id=\"SA1119\" Action=\"Error\" />\n    <Rule Id=\"SA1120\" Action=\"Error\" />\n    <Rule Id=\"SA1121\" Action=\"Error\" />\n    <Rule Id=\"SA1122\" Action=\"None\" />\n    <Rule Id=\"SA1123\" Action=\"Error\" />\n    <Rule Id=\"SA1125\" Action=\"Error\" />\n    <Rule Id=\"SA1127\" Action=\"None\" />\n    <Rule Id=\"SA1128\" Action=\"None\" />\n    <Rule Id=\"SA1129\" Action=\"Error\" />\n    <Rule Id=\"SA1130\" Action=\"Error\" />\n    <Rule Id=\"SA1131\" Action=\"Error\" />\n    <Rule Id=\"SA1132\" Action=\"None\" />\n    <Rule Id=\"SA1133\" Action=\"None\" />\n    <Rule Id=\"SA1134\" Action=\"Error\" />\n    <Rule Id=\"SA1135\" Action=\"Error\" />\n    <Rule Id=\"SA1136\" Action=\"Error\" />\n    <Rule Id=\"SA1137\" Action=\"Error\" />\n    <Rule Id=\"SA1139\" Action=\"Error\" />\n    <Rule Id=\"SA1141\" Action=\"Error\" />\n    <Rule Id=\"SA1142\" Action=\"Error\" />\n    <Rule Id=\"SA1200\" Action=\"Error\" />\n    <Rule Id=\"SA1201\" Action=\"None\" />\n    <Rule Id=\"SA1202\" Action=\"None\" />\n    <Rule Id=\"SA1203\" Action=\"None\" />\n    <Rule Id=\"SA1204\" Action=\"None\" />\n    <Rule Id=\"SA1205\" Action=\"Error\" />\n    <Rule Id=\"SA1206\" Action=\"Error\" />\n    <Rule Id=\"SA1207\" Action=\"Error\" />\n    <Rule Id=\"SA1208\" Action=\"Error\" />\n    <Rule Id=\"SA1209\" Action=\"Error\" />\n    <Rule Id=\"SA1210\" Action=\"Error\" />\n    <Rule Id=\"SA1211\" Action=\"Error\" />\n    <Rule Id=\"SA1212\" Action=\"Error\" />\n    <Rule Id=\"SA1213\" Action=\"Error\" />\n    <Rule Id=\"SA1214\" Action=\"None\" />\n    <Rule Id=\"SA1216\" Action=\"Error\" />\n    <Rule Id=\"SA1217\" Action=\"Error\" />\n    <Rule Id=\"SA1300\" Action=\"Error\" />\n    <Rule Id=\"SA1302\" Action=\"Error\" />\n    <Rule Id=\"SA1303\" Action=\"Error\" />\n    <Rule Id=\"SA1304\" Action=\"Error\" />\n    <Rule Id=\"SA1306\" Action=\"Error\" />\n    <Rule Id=\"SA1307\" Action=\"Error\" />\n    <Rule Id=\"SA1308\" Action=\"Error\" />\n    <Rule Id=\"SA1309\" Action=\"None\" />\n    <Rule Id=\"SA1310\" Action=\"Error\" />\n    <Rule Id=\"SA1311\" Action=\"Error\" />\n    <Rule Id=\"SA1312\" Action=\"Error\" />\n    <Rule Id=\"SA1313\" Action=\"Error\" />\n    <Rule Id=\"SA1314\" Action=\"Error\" />\n    <Rule Id=\"SA1316\" Action=\"Error\" />\n    <Rule Id=\"SA1400\" Action=\"Error\" />\n    <Rule Id=\"SA1401\" Action=\"None\" />\n    <Rule Id=\"SA1402\" Action=\"None\" />\n    <Rule Id=\"SA1403\" Action=\"Error\" />\n    <Rule Id=\"SA1404\" Action=\"None\" />\n    <Rule Id=\"SA1405\" Action=\"Error\" />\n    <Rule Id=\"SA1406\" Action=\"Error\" />\n    <Rule Id=\"SA1407\" Action=\"None\" />\n    <Rule Id=\"SA1408\" Action=\"Error\" />\n    <Rule Id=\"SA1410\" Action=\"Error\" />\n    <Rule Id=\"SA1411\" Action=\"Error\" />\n    <Rule Id=\"SA1413\" Action=\"Error\" />\n    <Rule Id=\"SA1414\" Action=\"Error\" />\n    <Rule Id=\"SA1500\" Action=\"Error\" />\n    <Rule Id=\"SA1501\" Action=\"None\" />\n    <Rule Id=\"SA1502\" Action=\"None\" />\n    <Rule Id=\"SA1503\" Action=\"Error\" />\n    <Rule Id=\"SA1504\" Action=\"Error\" />\n    <Rule Id=\"SA1505\" Action=\"Error\" />\n    <Rule Id=\"SA1506\" Action=\"Error\" />\n    <Rule Id=\"SA1507\" Action=\"Error\" />\n    <Rule Id=\"SA1508\" Action=\"Error\" />\n    <Rule Id=\"SA1509\" Action=\"Error\" />\n    <Rule Id=\"SA1510\" Action=\"Error\" />\n    <Rule Id=\"SA1511\" Action=\"Error\" />\n    <Rule Id=\"SA1512\" Action=\"None\" />\n    <Rule Id=\"SA1513\" Action=\"Error\" />\n    <Rule Id=\"SA1514\" Action=\"Error\" />\n    <Rule Id=\"SA1515\" Action=\"None\" />\n    <Rule Id=\"SA1516\" Action=\"None\" />\n    <Rule Id=\"SA1517\" Action=\"Error\" />\n    <Rule Id=\"SA1518\" Action=\"Error\" />\n    <Rule Id=\"SA1519\" Action=\"Error\" />\n    <Rule Id=\"SA1520\" Action=\"Error\" />\n    <Rule Id=\"SA1600\" Action=\"None\" />\n    <Rule Id=\"SA1601\" Action=\"None\" />\n    <Rule Id=\"SA1602\" Action=\"None\" />\n    <Rule Id=\"SA1604\" Action=\"None\" />\n    <Rule Id=\"SA1605\" Action=\"Error\" />\n    <Rule Id=\"SA1606\" Action=\"Error\" />\n    <Rule Id=\"SA1607\" Action=\"Error\" />\n    <Rule Id=\"SA1608\" Action=\"Error\" />\n    <Rule Id=\"SA1610\" Action=\"Error\" />\n    <Rule Id=\"SA1611\" Action=\"None\" />\n    <Rule Id=\"SA1612\" Action=\"Error\" />\n    <Rule Id=\"SA1613\" Action=\"Error\" />\n    <Rule Id=\"SA1614\" Action=\"Error\" />\n    <Rule Id=\"SA1615\" Action=\"None\" />\n    <Rule Id=\"SA1616\" Action=\"Error\" />\n    <Rule Id=\"SA1617\" Action=\"Error\" />\n    <Rule Id=\"SA1618\" Action=\"Error\" />\n    <Rule Id=\"SA1619\" Action=\"Error\" />\n    <Rule Id=\"SA1620\" Action=\"Error\" />\n    <Rule Id=\"SA1621\" Action=\"Error\" />\n    <Rule Id=\"SA1622\" Action=\"Error\" />\n    <Rule Id=\"SA1623\" Action=\"None\" />\n    <Rule Id=\"SA1624\" Action=\"Error\" />\n    <Rule Id=\"SA1625\" Action=\"Error\" />\n    <Rule Id=\"SA1626\" Action=\"Error\" />\n    <Rule Id=\"SA1627\" Action=\"Error\" />\n    <Rule Id=\"SA1629\" Action=\"None\" />\n    <Rule Id=\"SA1633\" Action=\"None\" />\n    <Rule Id=\"SA1634\" Action=\"Error\" />\n    <Rule Id=\"SA1635\" Action=\"Error\" />\n    <Rule Id=\"SA1636\" Action=\"Error\" />\n    <Rule Id=\"SA1637\" Action=\"Error\" />\n    <Rule Id=\"SA1638\" Action=\"Error\" />\n    <Rule Id=\"SA1640\" Action=\"Error\" />\n    <Rule Id=\"SA1641\" Action=\"Error\" />\n    <Rule Id=\"SA1642\" Action=\"Error\" />\n    <Rule Id=\"SA1643\" Action=\"Error\" />\n    <Rule Id=\"SA1648\" Action=\"Error\" />\n    <Rule Id=\"SA1649\" Action=\"None\" />\n    <Rule Id=\"SA1651\" Action=\"Error\" />\n  </Rules>\n</RuleSet>"
  },
  {
    "path": "backend/dev.Dockerfile",
    "content": "FROM mcr.microsoft.com/dotnet/sdk:8.0\n\n# needed in sln file\nRUN mkdir /build && echo '<?xml version=\"1.0\" encoding=\"utf-8\"?><Project ToolsVersion=\"15.0\" Sdk=\"Microsoft.Docker.Sdk\"></Project>' > /build/docker-compose.dcproj\n\nWORKDIR /src\n\nCOPY [\"src/AcmStatisticsBackend.Web.Host/AcmStatisticsBackend.Web.Host.csproj\", \"src/AcmStatisticsBackend.Web.Host/\"]\nCOPY [\"src/AcmStatisticsBackend.Web.Core/AcmStatisticsBackend.Web.Core.csproj\", \"src/AcmStatisticsBackend.Web.Core/\"]\nCOPY [\"src/AcmStatisticsBackend.EntityFrameworkCore/AcmStatisticsBackend.EntityFrameworkCore.csproj\", \"src/AcmStatisticsBackend.EntityFrameworkCore/\"]\nCOPY [\"src/AcmStatisticsBackend.Core/AcmStatisticsBackend.Core.csproj\", \"src/AcmStatisticsBackend.Core/\"]\nCOPY [\"src/AcmStatisticsBackend.Application/AcmStatisticsBackend.Application.csproj\", \"src/AcmStatisticsBackend.Application/\"]\nCOPY [\"test/AcmStatisticsBackend.Tests/AcmStatisticsBackend.Tests.csproj\", \"test/AcmStatisticsBackend.Tests/\"]\n\nRUN dotnet restore \"src/AcmStatisticsBackend.Web.Host/AcmStatisticsBackend.Web.Host.csproj\"\nRUN dotnet restore \"test/AcmStatisticsBackend.Tests/AcmStatisticsBackend.Tests.csproj\"\n\nCOPY . .\n"
  },
  {
    "path": "backend/global.json",
    "content": "{\n  \"sdk\": {\n    \"version\": \"8.0.418\",\n    \"rollForward\": \"latestMajor\",\n    \"allowPrerelease\": false\n  }\n}"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Application/Accounts/AccountAppService.cs",
    "content": "using System.Diagnostics;\nusing System.Text.RegularExpressions;\nusing System.Threading.Tasks;\nusing Abp.Authorization;\nusing Abp.IdentityFramework;\nusing Abp.Runtime.Session;\nusing Abp.UI;\nusing AcmStatisticsBackend.Accounts.Dto;\nusing AcmStatisticsBackend.Authorization;\nusing AcmStatisticsBackend.Authorization.Users;\nusing AcmStatisticsBackend.ServiceClients;\nusing Microsoft.AspNetCore.Identity;\n\nnamespace AcmStatisticsBackend.Accounts\n{\n    public class AccountAppService : AcmStatisticsBackendAppServiceBase, IAccountAppService\n    {\n        private readonly UserRegistrationManager _userRegistrationManager;\n        private readonly ICaptchaServiceClient _captchaServiceClient;\n        private readonly UserManager _userManager;\n        private readonly IAbpSession _abpSession;\n        private readonly LogInManager _logInManager;\n        private readonly IPasswordHasher<User> _passwordHasher;\n\n        public AccountAppService(\n            UserRegistrationManager userRegistrationManager, ICaptchaServiceClient captchaServiceClient,\n            UserManager userManager, IAbpSession abpSession, LogInManager logInManager,\n            IPasswordHasher<User> passwordHasher)\n        {\n            _userRegistrationManager = userRegistrationManager;\n            _captchaServiceClient = captchaServiceClient;\n            _userManager = userManager;\n            _abpSession = abpSession;\n            _logInManager = logInManager;\n            _passwordHasher = passwordHasher;\n        }\n\n        public async Task<RegisterOutput> Register(RegisterInput input)\n        {\n            var captchaResult = await _captchaServiceClient.ValidateAsync(input.CaptchaId, input.CaptchaText);\n            if (!captchaResult.Correct)\n            {\n                throw new UserFriendlyException(captchaResult.ErrorMessage);\n            }\n\n            await _userRegistrationManager.RegisterAsync(\n                input.UserName,\n                input.Password);\n\n            return new RegisterOutput\n            {\n                CanLogin = true,\n            };\n        }\n\n        /// <inheritdoc />\n        [AbpAuthorize]\n        public async Task SelfDelete()\n        {\n            var user = await _userManager.GetUserByIdAsync(_abpSession.GetUserId());\n            var identityResult = await _userManager.DeleteAsync(user);\n            identityResult.CheckErrors();\n        }\n\n        /// <inheritdoc />\n        [AbpAuthorize]\n        public async Task ChangePassword(ChangePasswordInput input)\n        {\n            Debug.Assert(_abpSession.UserId != null, \"_abpSession.UserId != null\");\n            var userId = _abpSession.UserId.Value;\n            var user = await _userManager.GetUserByIdAsync(userId);\n            var loginAsync = await _logInManager.LoginAsync(user.UserName, input.CurrentPassword, shouldLockout: false);\n            if (loginAsync.Result != AbpLoginResultType.Success)\n            {\n                throw new UserFriendlyException(\n                    \"Your 'Existing Password' did not match the one on record.  Please try again or contact an administrator for assistance in resetting your password.\");\n            }\n\n            user.Password = _passwordHasher.HashPassword(user, input.NewPassword);\n        }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Application/Accounts/Dto/ChangePasswordInput.cs",
    "content": "﻿using System.ComponentModel.DataAnnotations;\n\nnamespace AcmStatisticsBackend.Accounts.Dto\n{\n    public class ChangePasswordInput\n    {\n        [Required]\n        public string CurrentPassword { get; set; }\n\n        [Required]\n        public string NewPassword { get; set; }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Application/Accounts/Dto/RegisterInput.cs",
    "content": "﻿using System.ComponentModel.DataAnnotations;\nusing Abp.Auditing;\nusing Abp.Authorization.Users;\n\nnamespace AcmStatisticsBackend.Accounts.Dto\n{\n    public class RegisterInput\n    {\n        [Required]\n        [StringLength(AbpUserBase.MaxUserNameLength)]\n        public string UserName { get; set; }\n\n        [Required]\n        [StringLength(AbpUserBase.MaxPlainPasswordLength)]\n        [DisableAuditing]\n        public string Password { get; set; }\n\n        [Required]\n        public string CaptchaText { get; set; }\n\n        [Required]\n        public string CaptchaId { get; set; }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Application/Accounts/Dto/RegisterOutput.cs",
    "content": "﻿namespace AcmStatisticsBackend.Accounts.Dto\n{\n    public class RegisterOutput\n    {\n        public bool CanLogin { get; set; }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Application/Accounts/IAccountAppService.cs",
    "content": "﻿using System.Threading.Tasks;\nusing Abp.Application.Services;\nusing AcmStatisticsBackend.Accounts.Dto;\n\nnamespace AcmStatisticsBackend.Accounts\n{\n    public interface IAccountAppService : IApplicationService\n    {\n        Task<RegisterOutput> Register(RegisterInput input);\n\n        /// <summary>\n        /// Delete this account\n        /// </summary>\n        Task SelfDelete();\n\n        /// <summary>\n        /// Change password of current user\n        /// </summary>\n        Task ChangePassword(ChangePasswordInput input);\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Application/AcmStatisticsBackend.Application.csproj",
    "content": "<Project Sdk=\"Microsoft.NET.Sdk\">\n  <PropertyGroup>\n    <VersionPrefix>1.0.0.0</VersionPrefix>\n    <TargetFramework>net8.0</TargetFramework>\n    <AssemblyName>AcmStatisticsBackend.Application</AssemblyName>\n    <PackageId>AcmStatisticsBackend.Application</PackageId>\n    <GenerateAssemblyConfigurationAttribute>false</GenerateAssemblyConfigurationAttribute>\n    <GenerateAssemblyCompanyAttribute>false</GenerateAssemblyCompanyAttribute>\n    <GenerateAssemblyProductAttribute>false</GenerateAssemblyProductAttribute>\n    <RootNamespace>AcmStatisticsBackend</RootNamespace>\n  </PropertyGroup>\n  <PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='Debug|AnyCPU'\">\n    <DocumentationFile>bin\\AcmStatisticsBackend.Application.xml</DocumentationFile>\n    <OutputPath></OutputPath>\n  </PropertyGroup>\n  <PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='Release|AnyCPU'\">\n    <OutputPath></OutputPath>\n    <DocumentationFile>bin\\AcmStatisticsBackend.Application.xml</DocumentationFile>\n  </PropertyGroup>\n  <ItemGroup>\n    <ProjectReference Include=\"..\\AcmStatisticsBackend.Core\\AcmStatisticsBackend.Core.csproj\" />\n  </ItemGroup>\n  <ItemGroup>\n    <PackageReference Include=\"SauceControl.InheritDoc\" Version=\"2.0.2\">\n      <PrivateAssets>all</PrivateAssets>\n      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>\n    </PackageReference>\n  </ItemGroup>\n</Project>\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Application/AcmStatisticsBackendAppServiceBase.cs",
    "content": "﻿using System;\nusing System.Threading.Tasks;\nusing Abp.Application.Services;\nusing Abp.IdentityFramework;\nusing Abp.Runtime.Session;\nusing AcmStatisticsBackend.Authorization.Users;\nusing AcmStatisticsBackend.MultiTenancy;\nusing Microsoft.AspNetCore.Identity;\n\nnamespace AcmStatisticsBackend\n{\n    /// <summary>\n    /// Derive your application services from this class.\n    /// </summary>\n    public abstract class AcmStatisticsBackendAppServiceBase : ApplicationService\n    {\n        public TenantManager TenantManager { get; set; }\n\n        public UserManager UserManager { get; set; }\n\n        protected AcmStatisticsBackendAppServiceBase()\n        {\n            LocalizationSourceName = AcmStatisticsBackendConsts.LocalizationSourceName;\n        }\n\n        protected virtual async Task<User> GetCurrentUserAsync()\n        {\n            var user = await UserManager.FindByIdAsync(AbpSession.GetUserId().ToString());\n            if (user == null)\n            {\n                throw new Exception(\"There is no current user!\");\n            }\n\n            return user;\n        }\n\n        protected virtual Task<Tenant> GetCurrentTenantAsync()\n        {\n            return TenantManager.GetByIdAsync(AbpSession.GetTenantId());\n        }\n\n        protected virtual void CheckErrors(IdentityResult identityResult)\n        {\n            identityResult.CheckErrors(LocalizationManager);\n        }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Application/AcmStatisticsBackendApplicationModule.cs",
    "content": "﻿using Abp.AutoMapper;\nusing Abp.Modules;\nusing Abp.Reflection.Extensions;\nusing AcmStatisticsBackend.Authorization;\n\nnamespace AcmStatisticsBackend\n{\n    [DependsOn(\n        typeof(AcmStatisticsBackendCoreModule),\n        typeof(AbpAutoMapperModule))]\n    public class AcmStatisticsBackendApplicationModule : AbpModule\n    {\n        public override void PreInitialize()\n        {\n            Configuration.Authorization.Providers.Add<AcmStatisticsBackendAuthorizationProvider>();\n        }\n\n        public override void Initialize()\n        {\n            var thisAssembly = typeof(AcmStatisticsBackendApplicationModule).GetAssembly();\n\n            IocManager.RegisterAssemblyByConvention(thisAssembly);\n\n            // Scan the assembly for classes which inherit from AutoMapper.Profile\n            Configuration.Modules.AbpAutoMapper().Configurators.Add(\n                cfg => cfg.AddMaps(thisAssembly));\n        }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Application/Authorization/AbpLoginResultTypeHelper.cs",
    "content": "using System;\nusing Abp;\nusing Abp.Authorization;\nusing Abp.Dependency;\nusing Abp.UI;\n\nnamespace AcmStatisticsBackend.Authorization\n{\n    public class AbpLoginResultTypeHelper : AbpServiceBase, ITransientDependency\n    {\n        public AbpLoginResultTypeHelper()\n        {\n            LocalizationSourceName = AcmStatisticsBackendConsts.LocalizationSourceName;\n        }\n\n        public Exception CreateExceptionForFailedLoginAttempt(AbpLoginResultType result, string usernameOrEmailAddress, string tenancyName)\n        {\n            switch (result)\n            {\n                case AbpLoginResultType.Success:\n                    return new Exception(\"Don't call this method with a success result!\");\n                case AbpLoginResultType.InvalidUserNameOrEmailAddress:\n                case AbpLoginResultType.InvalidPassword:\n                    return new UserFriendlyException(L(\"InvalidUserNameOrPassword\"));\n                case AbpLoginResultType.InvalidTenancyName:\n                    return new UserFriendlyException(L(\"ThereIsNoTenantDefinedWithName{0}\", tenancyName));\n                case AbpLoginResultType.TenantIsNotActive:\n                    return new UserFriendlyException(L(\"TenantIsNotActive\", tenancyName));\n                case AbpLoginResultType.UserIsNotActive:\n                    return new UserFriendlyException(L(\"UserIsNotActiveAndCanNotLogin\", usernameOrEmailAddress));\n                case AbpLoginResultType.UserEmailIsNotConfirmed:\n                    return new UserFriendlyException(L(\"UserEmailIsNotConfirmedAndCanNotLogin\"));\n                case AbpLoginResultType.LockedOut:\n                    return new UserFriendlyException(L(\"UserLockedOutMessage\"));\n                default: // Can not fall to default actually. But other result types can be added in the future and we may forget to handle it\n                    Logger.Warn(\"Unhandled login fail reason: \" + result);\n                    return new UserFriendlyException(L(\"LoginFailed\"));\n            }\n        }\n\n        public string CreateLocalizedMessageForFailedLoginAttempt(AbpLoginResultType result, string usernameOrEmailAddress, string tenancyName)\n        {\n            switch (result)\n            {\n                case AbpLoginResultType.Success:\n                    throw new Exception(\"Don't call this method with a success result!\");\n                case AbpLoginResultType.InvalidUserNameOrEmailAddress:\n                case AbpLoginResultType.InvalidPassword:\n                    return L(\"InvalidUserNameOrPassword\");\n                case AbpLoginResultType.InvalidTenancyName:\n                    return L(\"ThereIsNoTenantDefinedWithName{0}\", tenancyName);\n                case AbpLoginResultType.TenantIsNotActive:\n                    return L(\"TenantIsNotActive\", tenancyName);\n                case AbpLoginResultType.UserIsNotActive:\n                    return L(\"UserIsNotActiveAndCanNotLogin\", usernameOrEmailAddress);\n                case AbpLoginResultType.UserEmailIsNotConfirmed:\n                    return L(\"UserEmailIsNotConfirmedAndCanNotLogin\");\n                default: // Can not fall to default actually. But other result types can be added in the future and we may forget to handle it\n                    Logger.Warn(\"Unhandled login fail reason: \" + result);\n                    return L(\"LoginFailed\");\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Application/Crawlers/DefaultQueryAppService.cs",
    "content": "﻿using System.Diagnostics;\nusing System.Threading.Tasks;\nusing Abp.Authorization;\nusing Abp.Domain.Repositories;\nusing Abp.Extensions;\nusing AcmStatisticsBackend.Authorization;\nusing AcmStatisticsBackend.Crawlers.Dto;\n\nnamespace AcmStatisticsBackend.Crawlers\n{\n    /// <inheritdoc cref=\"IDefaultQueryAppService\"/>\n    [AbpAuthorize(PermissionNames.Statistics_DefaultQuery)]\n    public class DefaultQueryAppService : AcmStatisticsBackendAppServiceBase, IDefaultQueryAppService\n    {\n        private readonly IRepository<DefaultQuery, long> _defaultQueryRepository;\n\n        public DefaultQueryAppService(IRepository<DefaultQuery, long> defaultQueryRepository)\n        {\n            _defaultQueryRepository = defaultQueryRepository;\n        }\n\n        /// <inheritdoc cref=\"IDefaultQueryAppService.GetDefaultQueries\"/>\n        public async Task<DefaultQueryDto> GetDefaultQueries()\n        {\n            var res = await _defaultQueryRepository.FirstOrDefaultAsync(e => e.UserId == AbpSession.UserId.Value);\n            return res == null ? new DefaultQueryDto() : ObjectMapper.Map<DefaultQueryDto>(res);\n        }\n\n        /// <inheritdoc cref=\"IDefaultQueryAppService.SetDefaultQueries\"/>\n        public async Task SetDefaultQueries(DefaultQueryDto dto)\n        {\n            var entity = ObjectMapper.Map<DefaultQuery>(dto);\n\n            Debug.Assert(AbpSession.UserId != null, \"AbpSession.UserId != null\");\n            var userId = AbpSession.UserId.Value;\n            var existEntity = await _defaultQueryRepository.FirstOrDefaultAsync(e => e.UserId == userId);\n            if (existEntity == null)\n            {\n                entity.UserId = userId;\n                await _defaultQueryRepository.InsertAsync(entity);\n            }\n            else\n            {\n                existEntity.MainUsername = entity.MainUsername;\n                existEntity.UsernamesInCrawlers = entity.UsernamesInCrawlers;\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Application/Crawlers/Dto/DefaultQueryDto.cs",
    "content": "﻿using System.Collections.Generic;\nusing System.ComponentModel.DataAnnotations;\nusing Abp.AutoMapper;\nusing Abp.Runtime.Validation;\n\nnamespace AcmStatisticsBackend.Crawlers.Dto\n{\n    /// <summary>\n    /// Store default query usernames\n    /// </summary>\n    [AutoMap(typeof(DefaultQuery))]\n    public class DefaultQueryDto : ICustomValidate\n    {\n        /// <summary>\n        /// main username\n        /// </summary>\n        [MinLength(0)]\n        public string MainUsername { get; set; } = \"\";\n\n        /// <summary>\n        /// Usernames in each crawlers. Key is the name of crawler, value is a list that contains\n        /// all usernames in this crawler.\n        /// </summary>\n        public Dictionary<string, List<string>> UsernamesInCrawlers { get; set; } =\n            new Dictionary<string, List<string>>();\n\n        public void AddValidationErrors(CustomValidationContext context)\n        {\n            foreach (var usernamesInCrawler in UsernamesInCrawlers)\n            {\n                if (usernamesInCrawler.Value == null)\n                {\n                    context.Results.Add(new ValidationResult(\"Items in UsernamesInCrawlers should not be null.\"));\n                }\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Application/Crawlers/Dto/DeleteQueryHistoryInput.cs",
    "content": "﻿using System.Diagnostics.CodeAnalysis;\n\nnamespace AcmStatisticsBackend.Crawlers.Dto\n{\n    public class DeleteQueryHistoryInput\n    {\n        /// <summary>\n        /// Delete history by certain id.\n        /// </summary>\n        public long? Id { get; set; }\n\n        /// <summary>\n        /// Delete histories in the list.\n        /// </summary>\n        [MaybeNull]\n        public long[] Ids { get; set; }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Application/Crawlers/Dto/GetAcWorkerHistoryInput.cs",
    "content": "﻿using System.ComponentModel.DataAnnotations;\n\nnamespace AcmStatisticsBackend.Crawlers.Dto\n{\n    public class GetAcWorkerHistoryInput\n    {\n        [Range(1, long.MaxValue)]\n        public long QueryHistoryId { get; set; }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Application/Crawlers/Dto/GetQueryHistoryAndSummaryOutput.cs",
    "content": "using System;\nusing System.ComponentModel.DataAnnotations;\n\nnamespace AcmStatisticsBackend.Crawlers.Dto\n{\n    public class GetQueryHistoryAndSummaryOutput\n    {\n        [Range(1, long.MaxValue)]\n        public long HistoryId { get; set; }\n\n        /// <summary>\n        /// The id of the summary.\n        ///\n        /// It can be null if the summary does not exist\n        /// </summary>\n        [Range(1, long.MaxValue)]\n        public long? SummaryId { get; set; }\n\n        [Required]\n        public DateTime CreationTime { get; set; }\n\n        /// <summary>\n        /// Submission count\n        ///\n        /// Is null if summary does not exist.\n        /// </summary>\n        public int? Submission { get; set; }\n\n        /// <summary>\n        /// Solved count\n        ///\n        /// Is null if summary does not exist.\n        /// </summary>\n        public int? Solved { get; set; }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Application/Crawlers/Dto/GetQueryHistoryOutput.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.ComponentModel.DataAnnotations;\nusing Abp.AutoMapper;\n\nnamespace AcmStatisticsBackend.Crawlers.Dto\n{\n    [AutoMap(typeof(QueryHistory))]\n    public class GetQueryHistoryOutput\n    {\n        [Range(1, long.MaxValue)]\n        public long Id { get; set; }\n\n        [Required]\n        public DateTime CreationTime { get; set; }\n\n        /// <summary>\n        /// Main username of query history, can be null or empty\n        /// </summary>\n        public string MainUsername { get; set; }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Application/Crawlers/Dto/GetQuerySummaryInput.cs",
    "content": "﻿using System.ComponentModel.DataAnnotations;\n\nnamespace AcmStatisticsBackend.Crawlers.Dto\n{\n    public class GetQuerySummaryInput\n    {\n        [Range(1, long.MaxValue)]\n        public long QueryHistoryId { get; set; }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Application/Crawlers/Dto/QueryCrawlerSummaryDto.cs",
    "content": "﻿using System.Collections.Generic;\nusing System.ComponentModel.DataAnnotations;\nusing AutoMapper;\n\nnamespace AcmStatisticsBackend.Crawlers.Dto\n{\n    [AutoMap(typeof(QueryCrawlerSummary))]\n    public class QueryCrawlerSummaryDto\n    {\n        /// <summary>\n        /// The name of the crawler. Frontend can get its title by this field.\n        /// </summary>\n        [Required]\n        public string CrawlerName { get; set; }\n\n        /// <summary>\n        /// Submission count.\n        /// </summary>\n        [Range(0, int.MaxValue)]\n        public int Submission { get; set; }\n\n        /// <summary>\n        /// Solved count.\n        /// </summary>\n        [Range(0, int.MaxValue)]\n        public int Solved { get; set; }\n\n        /// <summary>\n        /// Usernames used in this crawler\n        /// </summary>\n        public ICollection<UsernameInCrawlerDto> Usernames { get; set; }\n\n        public bool IsVirtualJudge { get; set; }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Application/Crawlers/Dto/QuerySummaryDto.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.ComponentModel.DataAnnotations;\nusing Abp.AutoMapper;\n\nnamespace AcmStatisticsBackend.Crawlers.Dto\n{\n    [AutoMap(typeof(QuerySummary))]\n    public class QuerySummaryDto\n    {\n        [Range(1, long.MaxValue)]\n        public long QueryHistoryId { get; set; }\n\n        /// <summary>\n        /// When the summary is generated\n        /// </summary>\n        public DateTime GenerateTime { get; set; }\n\n        /// <summary>\n        /// Main username, can be null or empty\n        /// </summary>\n        public string MainUsername { get; set; }\n\n        /// <summary>\n        /// Query summaries of each crawler.\n        /// </summary>\n        [Required]\n        public ICollection<QueryCrawlerSummaryDto> QueryCrawlerSummaries { get; set; }\n\n        /// <summary>\n        /// Warnings in summary generation.\n        /// </summary>\n        [Required]\n        public ICollection<SummaryWarning> SummaryWarnings { get; set; }\n\n        /// <summary>\n        /// Total submission count\n        /// </summary>\n        [Range(0, int.MaxValue)]\n        public int Submission { get; set; }\n\n        /// <summary>\n        /// Total solved count, redundant problems (including problems in virtual_judge) are removed.\n        /// </summary>\n        [Range(0, int.MaxValue)]\n        public int Solved { get; set; }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Application/Crawlers/Dto/QueryWorkerHistoryDto.cs",
    "content": "﻿using System.Collections.Generic;\nusing System.ComponentModel.DataAnnotations;\nusing System.Diagnostics.CodeAnalysis;\nusing Abp.AutoMapper;\nusing Abp.Runtime.Validation;\n\nnamespace AcmStatisticsBackend.Crawlers.Dto\n{\n    [AutoMap(typeof(QueryWorkerHistory))]\n    public class QueryWorkerHistoryDto : ICustomValidate\n    {\n        /// <summary>\n        /// The name of the crawler. Frontend can get its title by this field.\n        /// </summary>\n        [Required]\n        public string CrawlerName { get; set; }\n\n        /// <summary>\n        /// The username used to query this crawler.\n        /// </summary>\n        [Required]\n        public string Username { get; set; }\n\n        /// <summary>\n        /// Error message of the crawler. If it's not null, current query is failed, and\n        /// <see cref=\"Submission\"/> and <see cref=\"Solved\"/> are all 0.\n        /// </summary>\n        [MaybeNull]\n        public string ErrorMessage { get; set; }\n\n        /// <summary>\n        /// Submission count.\n        /// </summary>\n        [Range(0, int.MaxValue)]\n        public int Submission { get; set; }\n\n        /// <summary>\n        /// Solved count.\n        /// </summary>\n        [Range(0, int.MaxValue)]\n        public int Solved { get; set; }\n\n        /// <summary>\n        /// The list of problem ids that user solved.\n        ///\n        /// Can be null if crawler does not support it.\n        /// </summary>\n        [MaybeNull]\n        public string[] SolvedList { get; set; }\n\n        /// <summary>\n        /// Whether current crawler is virtual judge.\n        /// </summary>\n        public bool IsVirtualJudge { get; set; }\n\n        /// <summary>\n        /// If <see cref=\"IsVirtualJudge\"/> is false, this field is null.\n        /// Otherwise, this field contains submissions count in each crawler.\n        /// </summary>\n        [MaybeNull]\n        public Dictionary<string, int> SubmissionsByCrawlerName { get; set; }\n\n        public void AddValidationErrors(CustomValidationContext context)\n        {\n            if (!string.IsNullOrEmpty(ErrorMessage))\n            {\n                if (SolvedList != null || SubmissionsByCrawlerName != null)\n                {\n                    context.Results.Add(\n                        new ValidationResult(\n                            \"These fields must be null when error message exists\",\n                            new[] { nameof(SolvedList), nameof(SubmissionsByCrawlerName) }));\n                }\n\n                return;\n            }\n\n            if (IsVirtualJudge)\n            {\n                if (SolvedList == null || SubmissionsByCrawlerName == null)\n                {\n                    context.Results.Add(\n                        new ValidationResult(\n                            \"These fields should not be null when crawler is virtual judge\",\n                            new[] { nameof(SolvedList), nameof(SubmissionsByCrawlerName) }));\n                }\n            }\n            else\n            {\n                if (SubmissionsByCrawlerName != null)\n                {\n                    context.Results.Add(new ValidationResult(\n                        \"This field should bu null when crawler is not virtual judge\",\n                        new[] { nameof(SubmissionsByCrawlerName) }));\n                }\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Application/Crawlers/Dto/SaveOrReplaceQueryHistoryInput.cs",
    "content": "﻿using System.Collections.Generic;\nusing System.ComponentModel.DataAnnotations;\nusing Abp.AutoMapper;\n\nnamespace AcmStatisticsBackend.Crawlers.Dto\n{\n    [AutoMapTo(typeof(QueryHistory))]\n    public class SaveOrReplaceQueryHistoryInput\n    {\n        /// <summary>\n        /// Main username of query history, can be null or empty\n        /// </summary>\n        public string MainUsername { get; set; }\n\n        /// <summary>\n        /// Query history of each crawler.\n        /// </summary>\n        public ICollection<QueryWorkerHistoryDto> QueryWorkerHistories { get; set; }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Application/Crawlers/Dto/SaveOrReplaceQueryHistoryOutput.cs",
    "content": "﻿using System.ComponentModel.DataAnnotations;\n\nnamespace AcmStatisticsBackend.Crawlers.Dto\n{\n    public class SaveOrReplaceQueryHistoryOutput\n    {\n        [Range(1, long.MaxValue)]\n        public long QueryHistoryId { get; set; }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Application/Crawlers/Dto/UsernameInCrawlerDto.cs",
    "content": "﻿using System.ComponentModel.DataAnnotations;\nusing AutoMapper;\n\nnamespace AcmStatisticsBackend.Crawlers.Dto\n{\n    [AutoMap(typeof(UsernameInCrawler))]\n    public class UsernameInCrawlerDto\n    {\n        /// <summary>\n        /// Which crawler (virtual judge) the username is from.\n        ///\n        /// If it is null or empty string, the username is from\n        /// its own crawler.\n        /// </summary>\n        public string FromCrawlerName { get; set; }\n\n        [Required]\n        public string Username { get; set; }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Application/Crawlers/IDefaultQueryAppService.cs",
    "content": "﻿using System.Threading.Tasks;\nusing Abp.Application.Services;\nusing AcmStatisticsBackend.Crawlers.Dto;\n\nnamespace AcmStatisticsBackend.Crawlers\n{\n    /// <summary>\n    /// Manage user's default usernames which will be automatically entered in\n    /// statistics page.\n    /// </summary>\n    public interface IDefaultQueryAppService : IApplicationService\n    {\n        /// <summary>\n        /// Get user's default usernames which will be automatically entered in\n        /// statistics page.\n        /// </summary>\n        Task<DefaultQueryDto> GetDefaultQueries();\n\n        /// <summary>\n        /// Set user's default usernames which will be automatically entered in\n        /// statistics page.\n        /// </summary>\n        Task SetDefaultQueries(DefaultQueryDto dto);\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Application/Crawlers/IQueryHistoryAppService.cs",
    "content": "﻿using System.Threading.Tasks;\nusing Abp.Application.Services;\nusing Abp.Application.Services.Dto;\nusing AcmStatisticsBackend.Crawlers.Dto;\n\nnamespace AcmStatisticsBackend.Crawlers\n{\n    /// <summary>\n    /// Manage users' crawler query history\n    /// </summary>\n    public interface IQueryHistoryAppService : IApplicationService\n    {\n        /// <summary>\n        /// Save a crawler query history, does not validate data.\n        ///\n        /// If there is another record in the same day, the old one is replaced.\n        /// </summary>\n        /// <returns>The new query history id</returns>\n        Task<SaveOrReplaceQueryHistoryOutput> SaveOrReplaceQueryHistory(SaveOrReplaceQueryHistoryInput input);\n\n        /// <summary>\n        /// Delete a query history\n        /// </summary>\n        Task DeleteQueryHistory(DeleteQueryHistoryInput input);\n\n        /// <summary>\n        /// Get a list of current user's query history, sorted from newest to oldest.\n        /// </summary>\n        Task<PagedResultDto<GetQueryHistoryOutput>> GetQueryHistories(PagedResultRequestDto input);\n\n        /// <summary>\n        /// Get all <see cref=\"QueryWorkerHistory\"/> that belong to certain <see cref=\"QueryHistory\"/>.\n        /// </summary>\n        Task<ListResultDto<QueryWorkerHistoryDto>> GetQueryWorkerHistories(GetAcWorkerHistoryInput input);\n\n        /// <summary>\n        /// Get query summary of certain query history\n        /// </summary>\n        /// <param name=\"input\">input the id of query history</param>\n        Task<QuerySummaryDto> GetQuerySummary(GetQuerySummaryInput input);\n\n        /// <summary>\n        /// Get a list of current user's query history, sorted from newest to oldest.\n        /// The submission and solved number are also included.\n        /// </summary>\n        Task<PagedResultDto<GetQueryHistoryAndSummaryOutput>>\n            GetQueryHistoriesAndSummaries(PagedResultRequestDto input);\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Application/Crawlers/QueryHistoryAppService.cs",
    "content": "using System;\nusing System.Collections.Generic;\nusing System.Diagnostics;\nusing System.Linq;\nusing System.Threading.Tasks;\nusing Abp.Application.Services.Dto;\nusing Abp.Authorization;\nusing Abp.Domain.Repositories;\nusing Abp.Linq.Extensions;\nusing Abp.Timing;\nusing Abp.Timing.Timezone;\nusing Abp.UI;\nusing AcmStatisticsBackend.Authorization;\nusing AcmStatisticsBackend.Crawlers.Dto;\nusing AcmStatisticsBackend.ServiceClients;\nusing Microsoft.AspNetCore.Mvc;\nusing Microsoft.EntityFrameworkCore;\n\nnamespace AcmStatisticsBackend.Crawlers\n{\n    /// <inheritdoc cref=\"IQueryHistoryAppService\"/>\n    [AbpAuthorize(PermissionNames.AcHistory_Histories)]\n    public class QueryHistoryAppService : AcmStatisticsBackendAppServiceBase, IQueryHistoryAppService\n    {\n        private readonly IRepository<QueryHistory, long> _acHistoryRepository;\n        private readonly IRepository<QueryWorkerHistory, long> _acWorkerHistoryRepository;\n        private readonly IRepository<QuerySummary, long> _querySummaryRepository;\n        private readonly IRepository<QueryCrawlerSummary, long> _queryCrawlerSummaryRepository;\n        private readonly IClockProvider _clockProvider;\n        private readonly ITimeZoneConverter _timeZoneConverter;\n        private readonly ICrawlerApiBackendClient _crawlerApiBackendClient;\n        private readonly SummaryGenerator _summaryGenerator;\n\n        public QueryHistoryAppService(\n            IRepository<QueryHistory, long> acHistoryRepository,\n            IRepository<QueryWorkerHistory, long> acWorkerHistoryRepository,\n            IClockProvider clockProvider,\n            ITimeZoneConverter timeZoneConverter,\n            ICrawlerApiBackendClient crawlerApiBackendClient,\n            IRepository<QuerySummary, long> querySummaryRepository,\n            IRepository<QueryCrawlerSummary, long> queryCrawlerSummaryRepository,\n            SummaryGenerator summaryGenerator)\n        {\n            _acHistoryRepository = acHistoryRepository;\n            _acWorkerHistoryRepository = acWorkerHistoryRepository;\n            _clockProvider = clockProvider;\n            _timeZoneConverter = timeZoneConverter;\n            _crawlerApiBackendClient = crawlerApiBackendClient;\n            _querySummaryRepository = querySummaryRepository;\n            _queryCrawlerSummaryRepository = queryCrawlerSummaryRepository;\n            _summaryGenerator = summaryGenerator;\n        }\n\n        /// <inheritdoc cref=\"IQueryHistoryAppService.SaveOrReplaceQueryHistory\"/>\n        public async Task<SaveOrReplaceQueryHistoryOutput> SaveOrReplaceQueryHistory(\n            SaveOrReplaceQueryHistoryInput input)\n        {\n            // 添加新记录\n            var acHistory = ObjectMapper.Map<QueryHistory>(input);\n\n            // AutoMapper will change empty array to null. The code below is used to restore them\n            foreach (var (entity, dto) in acHistory.QueryWorkerHistories.Zip(input.QueryWorkerHistories))\n            {\n                if (dto.SolvedList == null)\n                {\n                    entity.SolvedList = null;\n                }\n\n                if (dto.SubmissionsByCrawlerName == null)\n                {\n                    entity.SubmissionsByCrawlerName = null;\n                }\n            }\n\n            Debug.Assert(AbpSession.UserId != null, \"AbpSession.UserId != null\");\n            acHistory.UserId = AbpSession.UserId.Value;\n            acHistory.CreationTime = _clockProvider.Now;\n            acHistory.IsReliableSource = false;\n\n            var crawlerMeta = await _crawlerApiBackendClient.GetCrawlerMeta();\n            var querySummary = _summaryGenerator.Generate(\n                crawlerMeta,\n                acHistory.QueryWorkerHistories.AsReadOnly());\n\n            await RemoveLatestHistoryTheSameDayOf(acHistory.CreationTime);\n\n            var historyId = await _acHistoryRepository.InsertAndGetIdAsync(acHistory);\n\n            querySummary.QueryHistoryId = historyId;\n            await _querySummaryRepository.InsertAsync(querySummary);\n\n            return new SaveOrReplaceQueryHistoryOutput\n            {\n                QueryHistoryId = historyId,\n            };\n        }\n\n        private async Task RemoveLatestHistoryTheSameDayOf(DateTime day)\n        {\n            var latestItem = await _acHistoryRepository.GetAll()\n                .Where(e => e.UserId == AbpSession.UserId.Value)\n                .OrderByDescending(e => e.CreationTime)\n                .FirstOrDefaultAsync();\n            if (latestItem != null)\n            {\n                Debug.Assert(AbpSession.UserId != null, \"AbpSession.UserId != null\");\n                var currentLocalTime = _timeZoneConverter.Convert(\n                    day, AbpSession.TenantId, AbpSession.UserId.Value);\n                var latestItemCreationTimeLocal = _timeZoneConverter.Convert(\n                    latestItem.CreationTime, AbpSession.TenantId, AbpSession.UserId.Value);\n\n                Debug.Assert(currentLocalTime != null, nameof(currentLocalTime) + \" != null\");\n                Debug.Assert(latestItemCreationTimeLocal != null, nameof(latestItemCreationTimeLocal) + \" != null\");\n                if (latestItemCreationTimeLocal.Value.Date == currentLocalTime.Value.Date)\n                {\n                    await DoDeleteHistory(latestItem);\n                }\n            }\n        }\n\n        /// <inheritdoc cref=\"IQueryHistoryAppService.DeleteQueryHistory\"/>\n        [HttpPost]\n        public async Task DeleteQueryHistory(DeleteQueryHistoryInput input)\n        {\n            if (input.Id.HasValue)\n            {\n                var entity = await GetAuthorizedEntity(input.Id.Value);\n                await DoDeleteHistory(entity);\n            }\n\n            if (input.Ids != null)\n            {\n                foreach (var id in input.Ids)\n                {\n                    var entity = await GetAuthorizedEntity(id);\n                    await DoDeleteHistory(entity);\n                }\n            }\n        }\n\n        /// <inheritdoc cref=\"IQueryHistoryAppService.GetQueryHistories\"/>\n        public async Task<PagedResultDto<GetQueryHistoryOutput>> GetQueryHistories(PagedResultRequestDto input)\n        {\n            var list = await QueryHistoriesOfCurrentUser()\n                .OrderByDescending(e => e.CreationTime)\n                .PageBy(input)\n                .ToListAsync();\n            var count = await QueryHistoriesOfCurrentUser().CountAsync();\n\n            var resultList = ObjectMapper.Map<List<GetQueryHistoryOutput>>(list);\n            return new PagedResultDto<GetQueryHistoryOutput>(count, resultList);\n        }\n\n        private IQueryable<QueryHistory> QueryHistoriesOfCurrentUser()\n        {\n            return _acHistoryRepository.GetAll()\n                .Where(e => e.UserId == AbpSession.UserId.Value);\n        }\n\n        /// <inheritdoc cref=\"IQueryHistoryAppService.GetQueryWorkerHistories\"/>\n        public async Task<ListResultDto<QueryWorkerHistoryDto>> GetQueryWorkerHistories(GetAcWorkerHistoryInput input)\n        {\n            var queryHistory = await GetAuthorizedEntity(input.QueryHistoryId);\n            var entityList = await _acWorkerHistoryRepository.GetAll()\n                .Where(e => e.QueryHistoryId == queryHistory.Id)\n                .ToListAsync();\n            var list = ObjectMapper.Map<List<QueryWorkerHistoryDto>>(entityList);\n\n            // AutoMapper will change empty array to null. The code below is used to restore them\n            foreach (var (dto, entity) in list.Zip(entityList))\n            {\n                if (entity.SolvedList == null)\n                {\n                    dto.SolvedList = null;\n                }\n\n                if (entity.SubmissionsByCrawlerName == null)\n                {\n                    dto.SubmissionsByCrawlerName = null;\n                }\n            }\n\n            return new ListResultDto<QueryWorkerHistoryDto>(list);\n        }\n\n        /// <inheritdoc cref=\"IQueryHistoryAppService.GetQuerySummary\" />\n        public async Task<QuerySummaryDto> GetQuerySummary(GetQuerySummaryInput input)\n        {\n            var history = await GetAuthorizedEntity(input.QueryHistoryId);\n\n            var summary = await _querySummaryRepository.FirstOrDefaultAsync(\n                e => e.QueryHistoryId == history.Id);\n\n            if (summary == null)\n            {\n                throw new UserFriendlyException(\"This query history does not have summary\");\n            }\n\n            var queryCrawlerSummary = await _queryCrawlerSummaryRepository.GetAllIncluding(\n                    e => e.Usernames)\n                .Where(e => e.QuerySummaryId == summary.Id)\n                .ToListAsync();\n\n            var querySummaryDto = ObjectMapper.Map<QuerySummaryDto>(summary);\n            querySummaryDto.QueryCrawlerSummaries =\n                ObjectMapper.Map<ICollection<QueryCrawlerSummaryDto>>(queryCrawlerSummary);\n            querySummaryDto.MainUsername = history.MainUsername;\n\n            return querySummaryDto;\n        }\n\n        /// <inheritdoc cref=\"IQueryHistoryAppService.GetQueryHistoriesAndSummaries\" />\n        public async Task<PagedResultDto<GetQueryHistoryAndSummaryOutput>> GetQueryHistoriesAndSummaries(\n            PagedResultRequestDto input)\n        {\n            var list = await\n                (from h in QueryHistoriesOfCurrentUser()\n                    .OrderByDescending(e => e.CreationTime)\n                    .PageBy(input)\n                 join s in _querySummaryRepository.GetAll()\n                     on h.Id equals s.Id into grouping\n                 from s in grouping.DefaultIfEmpty()\n                 select new GetQueryHistoryAndSummaryOutput\n                 {\n                     HistoryId = h.Id,\n                     SummaryId = s.Id,\n                     CreationTime = h.CreationTime,\n                     Solved = s.Solved == 0 && s.Submission == 0 ? null : s.Solved,\n                     Submission = s.Solved == 0 && s.Submission == 0 ? null : s.Submission,\n                 }).ToListAsync();\n            var count = await QueryHistoriesOfCurrentUser().CountAsync();\n\n            return new PagedResultDto<GetQueryHistoryAndSummaryOutput>(count, list);\n        }\n\n        /// <summary>\n        /// 根据ID获取对象，并检查权限。\n        /// </summary>\n        /// <param name=\"id\">AcHistory的ID</param>\n        /// <returns>AcHistory</returns>\n        /// <exception cref=\"AbpAuthorizationException\">如果该对象不是由此用户创建，抛出异常</exception>\n        private async Task<QueryHistory> GetAuthorizedEntity(long id)\n        {\n            var acHistory = await _acHistoryRepository.GetAsync(id);\n            if (acHistory.UserId != AbpSession.UserId)\n            {\n                throw new AbpAuthorizationException(\"You do not have permissions to visit the entity.\");\n            }\n\n            return acHistory;\n        }\n\n        /// <summary>\n        /// 移除 AcHistory 和与其关联的 AcWorkerHistory，不检查用户是否有权限访问这个Entity\n        /// </summary>\n        private async Task DoDeleteHistory(QueryHistory entity)\n        {\n            await _acHistoryRepository.DeleteAsync(entity);\n        }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Application/Net/MimeTypes/MimeTypeNames.cs",
    "content": "﻿using System;\n\nnamespace AcmStatisticsBackend.Net.MimeTypes\n{\n    /* Copied from:\n     * http://stackoverflow.com/questions/10362140/asp-mvc-are-there-any-constants-for-the-default-content-types */\n\n    /// <summary>\n    /// Common mime types.\n    /// </summary>\n    public static class MimeTypeNames\n    {\n        /// <summary>Used to denote the encoding necessary for files containing JavaScript source code. The alternative MIME type for this file type is text/javascript.</summary>\n        public const string ApplicationXJavascript = \"application/x-javascript\";\n\n        /// <summary>24bit Linear PCM audio at 8-48kHz, 1-N channels; Defined in RFC 3190.</summary>\n        public const string AudioL24 = \"audio/L24\";\n\n        /// <summary>Adobe Flash files for example with the extension .swf.</summary>\n        public const string ApplicationXShockwaveFlash = \"application/x-shockwave-flash\";\n\n        /// <summary>Arbitrary binary data.[5] Generally speaking this type identifies files that are not associated with a specific application. Contrary to past assumptions by software packages such as Apache this is not a type that should be applied to unknown files. In such a case, a server or application should not indicate a content type, as it may be incorrect, but rather, should omit the type in order to allow the recipient to guess the type.[6].</summary>\n        public const string ApplicationOctetStream = \"application/octet-stream\";\n\n        /// <summary>Atom feeds.</summary>\n        public const string ApplicationAtomXml = \"application/atom+xml\";\n\n        /// <summary>Cascading Style Sheets; Defined in RFC 2318.</summary>\n        public const string TextCss = \"text/css\";\n\n        /// <summary>commands; subtype resident in Gecko browsers like Firefox 3.5.</summary>\n        public const string TextCmd = \"text/cmd\";\n\n        /// <summary>Comma-separated values; Defined in RFC 4180.</summary>\n        public const string TextCsv = \"text/csv\";\n\n        /// <summary>deb (file format), a software package format used by the Debian project.</summary>\n        public const string ApplicationXDeb = \"application/x-deb\";\n\n        /// <summary>Defined in RFC 1847.</summary>\n        public const string MultipartEncrypted = \"multipart/encrypted\";\n\n        /// <summary>Defined in RFC 1847.</summary>\n        public const string MultipartSigned = \"multipart/signed\";\n\n        /// <summary>Defined in RFC 2616.</summary>\n        public const string MessageHttp = \"message/http\";\n\n        /// <summary>Defined in RFC 4735.</summary>\n        public const string ModelExample = \"model/example\";\n\n        /// <summary>device-independent document in DVI format.</summary>\n        public const string ApplicationXDvi = \"application/x-dvi\";\n\n        /// <summary>DTD files; Defined by RFC 3023.</summary>\n        public const string ApplicationXmlDtd = \"application/xml-dtd\";\n\n        /// <summary>ECMAScript/JavaScript; Defined in RFC 4329 (equivalent to application/ecmascript but with looser processing rules) It is not accepted in IE 8 or earlier - text/javascript is accepted but it is defined as obsolete in RFC 4329. The \"type\" attribute of the. &lt;script&gt; tag in HTML5 is optional and in practice omitting the media type of JavaScript programs is the most interoperable solution since all browsers have always assumed the correct default even before HTML5.</summary>\n        public const string ApplicationJavascript = \"application/javascript\";\n\n        /// <summary>ECMAScript/JavaScript; Defined in RFC 4329 (equivalent to application/javascript but with stricter processing rules).</summary>\n        public const string ApplicationEcmascript = \"application/ecmascript\";\n\n        /// <summary>EDI EDIFACT data; Defined in RFC 1767.</summary>\n        public const string ApplicationEdifact = \"application/EDIFACT\";\n\n        /// <summary>EDI X12 data; Defined in RFC 1767.</summary>\n        public const string ApplicationEdiX12 = \"application/EDI-X12\";\n\n        /// <summary>Email; Defined in RFC 2045 and RFC 2046.</summary>\n        public const string MessagePartial = \"message/partial\";\n\n        /// <summary>Email; EML files, MIME files, MHT files, MHTML files; Defined in RFC 2045 and RFC 2046.</summary>\n        public const string MessageRfc822 = \"message/rfc822\";\n\n        /// <summary>Extensible Markup Language; Defined in RFC 3023.</summary>\n        public const string TextXml = \"text/xml\";\n\n        /// <summary>Flash video (FLV files).</summary>\n        public const string VideoXFlv = \"video/x-flv\";\n\n        /// <summary>GIF image; Defined in RFC 2045 and RFC 2046.</summary>\n        public const string ImageGif = \"image/gif\";\n\n        /// <summary>GoogleWebToolkit data.</summary>\n        public const string TextXGwtRpc = \"text/x-gwt-rpc\";\n\n        /// <summary>Gzip.</summary>\n        public const string ApplicationXGzip = \"application/x-gzip\";\n\n        /// <summary>HTML; Defined in RFC 2854.</summary>\n        public const string TextHtml = \"text/html\";\n\n        /// <summary>ICO image; Registered[9].</summary>\n        public const string ImageVndMicrosoftIcon = \"image/vnd.microsoft.icon\";\n\n        /// <summary>IGS files, IGES files; Defined in RFC 2077.</summary>\n        public const string ModelIges = \"model/iges\";\n\n        /// <summary>IMDN Instant Message Disposition Notification; Defined in RFC 5438.</summary>\n        public const string MessageImdnXml = \"message/imdn+xml\";\n\n        /// <summary>JavaScript Object Notation JSON; Defined in RFC 4627.</summary>\n        public const string ApplicationJson = \"application/json\";\n\n        /// <summary>JavaScript Object Notation (JSON) Patch; Defined in RFC 6902.</summary>\n        public const string ApplicationJsonPatch = \"application/json-patch+json\";\n\n        /// <summary>JavaScript - Defined in and obsoleted by RFC 4329 in order to discourage its usage in favor of application/javascript. However,text/javascript is allowed in HTML 4 and 5 and, unlike application/javascript, has cross-browser support. The \"type\" attribute of the. &lt;script&gt; tag in HTML5 is optional and there is no need to use it at all since all browsers have always assumed the correct default (even in HTML 4 where it was required by the specification).</summary>\n        [Obsolete]\n        public const string TextJavascript = \"text/javascript\";\n\n        /// <summary>JPEG JFIF image; Associated with Internet Explorer; Listed in ms775147(v=vs.85) - Progressive JPEG, initiated before global browser support for progressive JPEGs (Microsoft and Firefox).</summary>\n        public const string ImagePjpeg = \"image/pjpeg\";\n\n        /// <summary>JPEG JFIF image; Defined in RFC 2045 and RFC 2046.</summary>\n        public const string ImageJpeg = \"image/jpeg\";\n\n        /// <summary>jQuery template data.</summary>\n        public const string TextXJqueryTmpl = \"text/x-jquery-tmpl\";\n\n        /// <summary>KML files (e.g. for Google Earth).</summary>\n        public const string ApplicationVndGoogleEarthKmlXml = \"application/vnd.google-earth.kml+xml\";\n\n        /// <summary>LaTeX files.</summary>\n        public const string ApplicationXLatex = \"application/x-latex\";\n\n        /// <summary>Matroska open media format.</summary>\n        public const string VideoXMatroska = \"video/x-matroska\";\n\n        /// <summary>Microsoft Excel 2007 files.</summary>\n        public const string ApplicationVndOpenxmlformatsOfficedocumentSpreadsheetmlSheet = \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\";\n\n        /// <summary>Microsoft Excel files.</summary>\n        public const string ApplicationVndMsExcel = \"application/vnd.ms-excel\";\n\n        /// <summary>Microsoft Powerpoint 2007 files.</summary>\n        public const string ApplicationVndOpenxmlformatsOfficedocumentPresentationmlPresentation = \"application/vnd.openxmlformats-officedocument.presentationml.presentation\";\n\n        /// <summary>Microsoft Powerpoint files.</summary>\n        public const string ApplicationVndMsPowerpoint = \"application/vnd.ms-powerpoint\";\n\n        /// <summary>Microsoft Word 2007 files.</summary>\n        public const string ApplicationVndOpenxmlformatsOfficedocumentWordprocessingmlDocument = \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\";\n\n        /// <summary>Microsoft Word files[15].</summary>\n        public const string ApplicationMsword = \"application/msword\";\n\n        /// <summary>MIME Email; Defined in RFC 2045 and RFC 2046.</summary>\n        public const string MultipartAlternative = \"multipart/alternative\";\n\n        /// <summary>MIME Email; Defined in RFC 2045 and RFC 2046.</summary>\n        public const string MultipartMixed = \"multipart/mixed\";\n\n        /// <summary>MIME Email; Defined in RFC 2387 and used by MHTML (HTML mail).</summary>\n        public const string MultipartRelated = \"multipart/related\";\n\n        /// <summary>MIME Webform; Defined in RFC 2388.</summary>\n        public const string MultipartFormData = \"multipart/form-data\";\n\n        /// <summary>Mozilla XUL files.</summary>\n        public const string ApplicationVndMozillaXulXml = \"application/vnd.mozilla.xul+xml\";\n\n        /// <summary>MP3 or other MPEG audio; Defined in RFC 3003.</summary>\n        public const string AudioMpeg = \"audio/mpeg\";\n\n        /// <summary>MP4 audio.</summary>\n        public const string AudioMp4 = \"audio/mp4\";\n\n        /// <summary>MP4 video; Defined in RFC 4337.</summary>\n        public const string VideoMp4 = \"video/mp4\";\n\n        /// <summary>MPEG-1 video with multiplexed audio; Defined in RFC 2045 and RFC 2046.</summary>\n        public const string VideoMpeg = \"video/mpeg\";\n\n        /// <summary>MSH files, MESH files; Defined in RFC 2077, SILO files.</summary>\n        public const string ModelMesh = \"model/mesh\";\n\n        /// <summary>mulaw audio at 8 kHz, 1 channel; Defined in RFC 2046.</summary>\n        public const string AudioBasic = \"audio/basic\";\n\n        /// <summary>Ogg Theora or other video (with audio); Defined in RFC 5334.</summary>\n        public const string VideoOgg = \"video/ogg\";\n\n        /// <summary>Ogg Vorbis, Speex, Flac and other audio; Defined in RFC 5334.</summary>\n        public const string AudioOgg = \"audio/ogg\";\n\n        /// <summary>Ogg, a multimedia bitstream container format; Defined in RFC 5334.</summary>\n        public const string ApplicationOgg = \"application/ogg\";\n\n        /// <summary>OP.</summary>\n        public const string ApplicationXopXml = \"application/xop+xml\";\n\n        /// <summary>OpenDocument Graphics; Registered[14].</summary>\n        public const string ApplicationVndOasisOpendocumentGraphics = \"application/vnd.oasis.opendocument.graphics\";\n\n        /// <summary>OpenDocument Presentation; Registered[13].</summary>\n        public const string ApplicationVndOasisOpendocumentPresentation = \"application/vnd.oasis.opendocument.presentation\";\n\n        /// <summary>OpenDocument Spreadsheet; Registered[12].</summary>\n        public const string ApplicationVndOasisOpendocumentSpreadsheet = \"application/vnd.oasis.opendocument.spreadsheet\";\n\n        /// <summary>OpenDocument Text; Registered[11].</summary>\n        public const string ApplicationVndOasisOpendocumentText = \"application/vnd.oasis.opendocument.text\";\n\n        /// <summary>p12 files.</summary>\n        public const string ApplicationXPkcs12 = \"application/x-pkcs12\";\n\n        /// <summary>p7b and spc files.</summary>\n        public const string ApplicationXPkcs7Certificates = \"application/x-pkcs7-certificates\";\n\n        /// <summary>p7c files.</summary>\n        public const string ApplicationXPkcs7Mime = \"application/x-pkcs7-mime\";\n\n        /// <summary>p7r files.</summary>\n        public const string ApplicationXPkcs7Certreqresp = \"application/x-pkcs7-certreqresp\";\n\n        /// <summary>p7s files.</summary>\n        public const string ApplicationXPkcs7Signature = \"application/x-pkcs7-signature\";\n\n        /// <summary>Portable Document Format, PDF has been in use for document exchange on the Internet since 1993; Defined in RFC 3778.</summary>\n        public const string ApplicationPdf = \"application/pdf\";\n\n        /// <summary>Portable Network Graphics; Registered,[8] Defined in RFC 2083.</summary>\n        public const string ImagePng = \"image/png\";\n\n        /// <summary>PostScript; Defined in RFC 2046.</summary>\n        public const string ApplicationPostscript = \"application/postscript\";\n\n        /// <summary>QuickTime video; Registered[10].</summary>\n        public const string VideoQuicktime = \"video/quicktime\";\n\n        /// <summary>RAR archive files.</summary>\n        public const string ApplicationXRarCompressed = \"application/x-rar-compressed\";\n\n        /// <summary>RealAudio; Documented in RealPlayer Customer Support Answer 2559.</summary>\n        public const string AudioVndRnRealaudio = \"audio/vnd.rn-realaudio\";\n\n        /// <summary>Resource Description Framework; Defined by RFC 3870.</summary>\n        public const string ApplicationRdfXml = \"application/rdf+xml\";\n\n        /// <summary>RSS feeds.</summary>\n        public const string ApplicationRssXml = \"application/rss+xml\";\n\n        /// <summary>SOAP; Defined by RFC 3902.</summary>\n        public const string ApplicationSoapXml = \"application/soap+xml\";\n\n        /// <summary>StuffIt archive files.</summary>\n        public const string ApplicationXStuffit = \"application/x-stuffit\";\n\n        /// <summary>SVG vector image; Defined in SVG Tiny 1.2 Specification Appendix M.</summary>\n        public const string ImageSvgXml = \"image/svg+xml\";\n\n        /// <summary>Tag Image File Format (only for Baseline TIFF); Defined in RFC 3302.</summary>\n        public const string ImageTiff = \"image/tiff\";\n\n        /// <summary>Tarball files.</summary>\n        public const string ApplicationXTar = \"application/x-tar\";\n\n        /// <summary>Textual data; Defined in RFC 2046 and RFC 3676.</summary>\n        public const string TextPlain = \"text/plain\";\n\n        /// <summary>TrueType Font No registered MIME type, but this is the most commonly used.</summary>\n        public const string ApplicationXFontTtf = \"application/x-font-ttf\";\n\n        /// <summary>vCard (contact information); Defined in RFC 6350.</summary>\n        public const string TextVcard = \"text/vcard\";\n\n        /// <summary>Vorbis encoded audio; Defined in RFC 5215.</summary>\n        public const string AudioVorbis = \"audio/vorbis\";\n\n        /// <summary>WAV audio; Defined in RFC 2361.</summary>\n        public const string AudioVndWave = \"audio/vnd.wave\";\n\n        /// <summary>Web Open Font Format; (candidate recommendation; use application/x-font-woff until standard is official).</summary>\n        public const string ApplicationFontWoff = \"application/font-woff\";\n\n        /// <summary>WebM Matroska-based open media format.</summary>\n        public const string VideoWebm = \"video/webm\";\n\n        /// <summary>WebM open media format.</summary>\n        public const string AudioWebm = \"audio/webm\";\n\n        /// <summary>Windows Media Audio Redirector; Documented in Microsoft help page.</summary>\n        public const string AudioXMsWax = \"audio/x-ms-wax\";\n\n        /// <summary>Windows Media Audio; Documented in Microsoft KB 288102.</summary>\n        public const string AudioXMsWma = \"audio/x-ms-wma\";\n\n        /// <summary>Windows Media Video; Documented in Microsoft KB 288102.</summary>\n        public const string VideoXMsWmv = \"video/x-ms-wmv\";\n\n        /// <summary>WRL files, VRML files; Defined in RFC 2077.</summary>\n        public const string ModelVrml = \"model/vrml\";\n\n        /// <summary>X3D ISO standard for representing 3D computer graphics, X3D XML files.</summary>\n        public const string ModelX3DXml = \"model/x3d+xml\";\n\n        /// <summary>X3D ISO standard for representing 3D computer graphics, X3DB binary files.</summary>\n        public const string ModelX3DBinary = \"model/x3d+binary\";\n\n        /// <summary>X3D ISO standard for representing 3D computer graphics, X3DV VRML files.</summary>\n        public const string ModelX3DVrml = \"model/x3d+vrml\";\n\n        /// <summary>XHTML; Defined by RFC 3236.</summary>\n        public const string ApplicationXhtmlXml = \"application/xhtml+xml\";\n\n        /// <summary>ZIP archive files; Registered[7].</summary>\n        public const string ApplicationZip = \"application/zip\";\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Application/Properties/AssemblyInfo.cs",
    "content": "﻿using System.Reflection;\nusing System.Runtime.InteropServices;\n\n// General Information about an assembly is controlled through the following\n// set of attributes. Change these attribute values to modify the information\n// associated with an assembly.\n[assembly: AssemblyConfiguration(\"\")]\n[assembly: AssemblyCompany(\"\")]\n[assembly: AssemblyProduct(\"AcmStatisticsBackend.Application\")]\n[assembly: AssemblyTrademark(\"\")]\n\n// Setting ComVisible to false makes the types in this assembly not visible\n// to COM components.  If you need to access a type in this assembly from\n// COM, set the ComVisible attribute to true on that type.\n[assembly: ComVisible(false)]\n\n// The following GUID is for the ID of the typelib if this project is exposed to COM\n[assembly: Guid(\"3870c648-4aea-4b85-ba3f-f2f63b96136a\")]\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Application/Sessions/Dto/ApplicationInfoDto.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\n\nnamespace AcmStatisticsBackend.Sessions.Dto\n{\n    public class ApplicationInfoDto\n    {\n        public string Version { get; set; }\n\n        public DateTime ReleaseDate { get; set; }\n\n        public Dictionary<string, bool> Features { get; set; }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Application/Sessions/Dto/GetCurrentLoginInformationsOutput.cs",
    "content": "﻿namespace AcmStatisticsBackend.Sessions.Dto\n{\n    public class GetCurrentLoginInformationsOutput\n    {\n        public ApplicationInfoDto Application { get; set; }\n\n        public UserLoginInfoDto User { get; set; }\n\n        public TenantLoginInfoDto Tenant { get; set; }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Application/Sessions/Dto/TenantLoginInfoDto.cs",
    "content": "﻿using Abp.Application.Services.Dto;\nusing Abp.AutoMapper;\nusing AcmStatisticsBackend.MultiTenancy;\n\nnamespace AcmStatisticsBackend.Sessions.Dto\n{\n    [AutoMapFrom(typeof(Tenant))]\n    public class TenantLoginInfoDto : EntityDto\n    {\n        public string TenancyName { get; set; }\n\n        public string Name { get; set; }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Application/Sessions/Dto/UserLoginInfoDto.cs",
    "content": "﻿using Abp.Application.Services.Dto;\nusing Abp.AutoMapper;\nusing AcmStatisticsBackend.Authorization.Users;\n\nnamespace AcmStatisticsBackend.Sessions.Dto\n{\n    [AutoMapFrom(typeof(User))]\n    public class UserLoginInfoDto : EntityDto<long>\n    {\n        public string Name { get; set; }\n\n        public string Surname { get; set; }\n\n        public string UserName { get; set; }\n\n        public string EmailAddress { get; set; }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Application/Sessions/ISessionAppService.cs",
    "content": "﻿using System.Threading.Tasks;\nusing Abp.Application.Services;\nusing AcmStatisticsBackend.Sessions.Dto;\n\nnamespace AcmStatisticsBackend.Sessions\n{\n    public interface ISessionAppService : IApplicationService\n    {\n        Task<GetCurrentLoginInformationsOutput> GetCurrentLoginInformations();\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Application/Sessions/SessionAppService.cs",
    "content": "using System.Collections.Generic;\nusing System.Threading.Tasks;\nusing Abp.Auditing;\nusing AcmStatisticsBackend.Sessions.Dto;\n\nnamespace AcmStatisticsBackend.Sessions\n{\n    public class SessionAppService : AcmStatisticsBackendAppServiceBase, ISessionAppService\n    {\n        [DisableAuditing]\n        public async Task<GetCurrentLoginInformationsOutput> GetCurrentLoginInformations()\n        {\n            var output = new GetCurrentLoginInformationsOutput\n            {\n                Application = new ApplicationInfoDto\n                {\n                    Version = AppVersionHelper.Version,\n                    ReleaseDate = AppVersionHelper.ReleaseDate,\n                    Features = new Dictionary<string, bool>(),\n                },\n            };\n\n            if (AbpSession.TenantId.HasValue)\n            {\n                output.Tenant = ObjectMapper.Map<TenantLoginInfoDto>(await GetCurrentTenantAsync());\n            }\n\n            if (AbpSession.UserId.HasValue)\n            {\n                output.User = ObjectMapper.Map<UserLoginInfoDto>(await GetCurrentUserAsync());\n            }\n\n            return output;\n        }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Application/Settings/Dto/UpdateAutoSaveHistoryInput.cs",
    "content": "﻿namespace AcmStatisticsBackend.Settings.Dto\n{\n    public class UpdateAutoSaveHistoryInput\n    {\n        public bool AutoSaveHistory { get; set; }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Application/Settings/Dto/UserSettingsConfigDto.cs",
    "content": "﻿using System.Collections.Generic;\n\nnamespace AcmStatisticsBackend.Settings.Dto\n{\n    public class UserSettingsConfigDto\n    {\n        public IDictionary<string, string> Values { get; set; }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Application/Settings/Dto/UserTimeZoneDto.cs",
    "content": "﻿using System.ComponentModel.DataAnnotations;\nusing System.Linq;\nusing Abp.Runtime.Validation;\nusing TimeZoneConverter;\n\nnamespace AcmStatisticsBackend.Settings.Dto\n{\n    public class UserTimeZoneDto : ICustomValidate\n    {\n        /// <summary>\n        /// Time zone of the user. It is a windows time zone name.\n        /// See <see href=\"https://support.microsoft.com/en-au/help/973627/microsoft-time-zone-index-values\" />\n        /// for all possible values.\n        /// </summary>\n        [Required]\n        public string TimeZone { get; set; }\n\n        public void AddValidationErrors(CustomValidationContext context)\n        {\n            if (!TZConvert.KnownWindowsTimeZoneIds.Contains(TimeZone))\n            {\n                context.Results.Add(new ValidationResult(\"TimeZone must be valid!\"));\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Application/Settings/IUserConfigAppService.cs",
    "content": "﻿using System.Threading.Tasks;\nusing AcmStatisticsBackend.Settings.Dto;\n\nnamespace AcmStatisticsBackend.Settings\n{\n    /// <summary>\n    /// Manage user config\n    /// </summary>\n    public interface IUserConfigAppService\n    {\n        /// <summary>\n        /// Get all user settings available to frontend\n        /// </summary>\n        Task<UserSettingsConfigDto> GetUserSettings();\n\n        /// <summary>\n        /// Update config about whether the history should be auto-saved\n        /// </summary>\n        Task UpdateAutoSaveHistory(UpdateAutoSaveHistoryInput input);\n\n        /// <summary>\n        /// Set time zone of current user.\n        /// </summary>\n        Task SetUserTimeZone(UserTimeZoneDto dto);\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Application/Settings/UserConfigAppService.cs",
    "content": "﻿using System.Collections.Generic;\nusing System.Threading.Tasks;\nusing Abp.Authorization;\nusing Abp.Configuration;\nusing Abp.Dependency;\nusing Abp.Domain.Repositories;\nusing Abp.Runtime.Session;\nusing Abp.Timing;\nusing Abp.UI;\nusing AcmStatisticsBackend.Authorization;\nusing AcmStatisticsBackend.Configuration;\nusing AcmStatisticsBackend.Settings.Dto;\n\nnamespace AcmStatisticsBackend.Settings\n{\n    /// <inheritdoc cref=\"IUserConfigAppService\"/>\n    [AbpAuthorize]\n    public class UserConfigAppService : AcmStatisticsBackendAppServiceBase, IUserConfigAppService\n    {\n        private readonly ISettingDefinitionManager _settingDefinitionManager;\n        private readonly IIocResolver _iocResolver;\n        private readonly IClockProvider _clockProvider;\n        private readonly IRepository<UserSettingAttribute, long> _userSettingAttributeRepository;\n\n        public UserConfigAppService(ISettingDefinitionManager settingDefinitionManager, IIocResolver iocResolver, IClockProvider clockProvider, IRepository<UserSettingAttribute, long> userSettingAttributeRepository)\n        {\n            _settingDefinitionManager = settingDefinitionManager;\n            _iocResolver = iocResolver;\n            _clockProvider = clockProvider;\n            _userSettingAttributeRepository = userSettingAttributeRepository;\n        }\n\n        /// <inheritdoc cref=\"IUserConfigAppService.GetUserSettings\"/>\n        public async Task<UserSettingsConfigDto> GetUserSettings()\n        {\n            var config = new UserSettingsConfigDto\n            {\n                Values = new Dictionary<string, string>(),\n            };\n\n            var settings = await SettingManager.GetAllSettingValuesAsync(SettingScopes.All);\n\n            using var scope = _iocResolver.CreateScope();\n            foreach (var settingValue in settings)\n            {\n                if (!await _settingDefinitionManager.GetSettingDefinition(settingValue.Name)\n                    .ClientVisibilityProvider\n                    .CheckVisible(scope))\n                {\n                    continue;\n                }\n\n                config.Values.Add(settingValue.Name, settingValue.Value);\n            }\n\n            return config;\n        }\n\n        /// <inheritdoc/>\n        [AbpAuthorize(PermissionNames.Settings_Update)]\n        public async Task UpdateAutoSaveHistory(UpdateAutoSaveHistoryInput input)\n        {\n            await SettingManager.ChangeSettingForUserAsync(\n                AbpSession.ToUserIdentifier(),\n                AppSettingNames.AutoSaveHistory,\n                input.AutoSaveHistory ? \"true\" : \"false\");\n        }\n\n        /// <inheritdoc />\n        [AbpAuthorize(PermissionNames.Settings_Update)]\n        public async Task SetUserTimeZone(UserTimeZoneDto dto)\n        {\n            var settings = await GetOrCreateUserSettingAttribute();\n\n            if (settings.LastTimeZoneChangedTime.HasValue\n                && settings.LastTimeZoneChangedTime.Value.AddDays(1) > _clockProvider.Now)\n            {\n                throw new UserFriendlyException(\"Please wait 24 hours to set time zone again!\");\n            }\n\n            await SettingManager.ChangeSettingForUserAsync(\n                AbpSession.ToUserIdentifier(),\n                TimingSettingNames.TimeZone,\n                dto.TimeZone);\n            settings.LastTimeZoneChangedTime = _clockProvider.Now;\n        }\n\n        private async Task<UserSettingAttribute> GetOrCreateUserSettingAttribute()\n        {\n            return await _userSettingAttributeRepository.FirstOrDefaultAsync(\n                       item => item.UserId == AbpSession.UserId.Value)\n                   ??\n                   await _userSettingAttributeRepository.InsertAsync(\n                       new UserSettingAttribute\n                       {\n                           UserId = AbpSession.GetUserId(),\n                       });\n        }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Core/AcmStatisticsBackend.Core.csproj",
    "content": "<Project Sdk=\"Microsoft.NET.Sdk\">\n  <PropertyGroup>\n    <VersionPrefix>1.0.0.0</VersionPrefix>\n    <TargetFramework>net8.0</TargetFramework>\n    <AssemblyName>AcmStatisticsBackend.Core</AssemblyName>\n    <PackageId>AcmStatisticsBackend.Core</PackageId>\n    <GenerateAssemblyConfigurationAttribute>false</GenerateAssemblyConfigurationAttribute>\n    <GenerateAssemblyCompanyAttribute>false</GenerateAssemblyCompanyAttribute>\n    <GenerateAssemblyProductAttribute>false</GenerateAssemblyProductAttribute>\n    <UserSecretsId>AbpCompanyName-AcmStatisticsBackend-56C2EF2F-ABD6-4EFC-AAF2-2E81C34E8FB1</UserSecretsId>\n    <RootNamespace>AcmStatisticsBackend</RootNamespace>\n  </PropertyGroup>\n  <ItemGroup>\n    <EmbeddedResource Include=\"Localization\\SourceFiles\\*.xml\" Exclude=\"bin\\**;obj\\**;**\\*.xproj;packages\\**;@(EmbeddedResource)\" />\n  </ItemGroup>\n  <ItemGroup>\n    <PackageReference Include=\"Abp.AutoMapper\" Version=\"8.4.0\" />\n    <PackageReference Include=\"Abp.ZeroCore.EntityFrameworkCore\" Version=\"8.4.0\" />\n    <PackageReference Include=\"Castle.Windsor.MsDependencyInjection\" Version=\"4.1.0\" />\n    <PackageReference Include=\"Flurl.Http\" Version=\"4.0.2\" />\n  </ItemGroup>\n</Project>\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Core/AcmStatisticsBackendConsts.cs",
    "content": "namespace AcmStatisticsBackend\n{\n    public class AcmStatisticsBackendConsts\n    {\n        public const string LocalizationSourceName = \"AcmStatisticsBackend\";\n\n        public const string ConnectionStringName = \"Default\";\n\n        public const bool MultiTenancyEnabled = false;\n\n        /// <summary>\n        /// 用户没有输入邮箱时，使用这个后缀作为邮箱名\n        /// </summary>\n        public const string NoEmailSuffix = \"@noemail.fake\";\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Core/AcmStatisticsBackendCoreModule.cs",
    "content": "﻿using Abp.Dependency;\nusing Abp.Modules;\nusing Abp.Reflection.Extensions;\nusing Abp.Timing;\nusing Abp.Zero;\nusing Abp.Zero.Configuration;\nusing AcmStatisticsBackend.Authorization.Roles;\nusing AcmStatisticsBackend.Authorization.Users;\nusing AcmStatisticsBackend.Configuration;\nusing AcmStatisticsBackend.Localization;\nusing AcmStatisticsBackend.MultiTenancy;\nusing AcmStatisticsBackend.Timing;\nusing Castle.MicroKernel.Registration;\n\nnamespace AcmStatisticsBackend\n{\n    [DependsOn(typeof(AbpZeroCoreModule))]\n    public class AcmStatisticsBackendCoreModule : AbpModule\n    {\n        public override void PreInitialize()\n        {\n            Clock.Provider = ClockProviders.Utc;\n            IocManager.IocContainer.Register(\n                Component.For<IClockProvider>()\n                    .Instance(ClockProviders.Utc)\n                    .LifestyleSingleton());\n\n            Configuration.Auditing.IsEnabledForAnonymousUsers = true;\n\n            // Declare entity types\n            Configuration.Modules.Zero().EntityTypes.Tenant = typeof(Tenant);\n            Configuration.Modules.Zero().EntityTypes.Role = typeof(Role);\n            Configuration.Modules.Zero().EntityTypes.User = typeof(User);\n\n            AcmStatisticsBackendLocalizationConfigurer.Configure(Configuration.Localization);\n\n            // Enable this line to create a multi-tenant application.\n            Configuration.MultiTenancy.IsEnabled = AcmStatisticsBackendConsts.MultiTenancyEnabled;\n\n            // Configure roles\n            AppRoleConfig.Configure(Configuration.Modules.Zero().RoleManagement);\n\n            Configuration.Settings.Providers.Add<AppSettingProvider>();\n        }\n\n        public override void Initialize()\n        {\n            IocManager.RegisterAssemblyByConvention(typeof(AcmStatisticsBackendCoreModule).GetAssembly());\n        }\n\n        public override void PostInitialize()\n        {\n            IocManager.Resolve<AppTimes>().StartupTime = Clock.Now;\n        }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Core/AcmStatisticsBackendExtensions.cs",
    "content": "﻿using System;\nusing System.Collections;\nusing System.Collections.Generic;\n\nnamespace AcmStatisticsBackend\n{\n    public static class AcmStatisticsBackendExtensions\n    {\n#pragma warning disable SA1618\n        /// <summary>\n        /// 用法：\n        /// <code>\n        /// Get().A().Object().WithIn(it => {\n        ///     it.methodA();\n        ///     it.methodB();\n        /// })\n        /// </code>\n        /// </summary>\n        public static TR WithIn<TT, TR>(this TT obj, Func<TT, TR> func)\n            where TT : class\n        {\n            return func(obj);\n        }\n#pragma warning restore SA1618\n\n        public static TR WithIn<TT, TR>(this ref TT obj, Func<TT, TR> func)\n            where TT : struct\n        {\n            return func(obj);\n        }\n\n        public static void WithIn<T>(this T obj, Action<T> action)\n            where T : class\n        {\n            action(obj);\n        }\n\n        public static void WithIn<T>(this ref T obj, Action<T> action)\n            where T : struct\n        {\n            action(obj);\n        }\n\n        // from https://stackoverflow.com/a/47815787\n        public static void Deconstruct<T>(this T[] items, out T t0)\n        {\n            t0 = items.Length > 0 ? items[0] : default;\n        }\n\n        public static void Deconstruct<T>(this T[] items, out T t0, out T t1)\n        {\n            t0 = items.Length > 0 ? items[0] : default;\n            t1 = items.Length > 1 ? items[1] : default;\n        }\n\n        // from https://stackoverflow.com/a/34362585\n        public static IReadOnlyCollection<T> AsReadOnly<T>(this ICollection<T> source)\n        {\n            if (source == null)\n            {\n                throw new ArgumentNullException(\"source\");\n            }\n\n            return source as IReadOnlyCollection<T> ?? new ReadOnlyCollectionAdapter<T>(source);\n        }\n\n        private sealed class ReadOnlyCollectionAdapter<T> : IReadOnlyCollection<T>\n        {\n            private readonly ICollection<T> _source;\n            public ReadOnlyCollectionAdapter(ICollection<T> source) => this._source = source;\n            public int Count => _source.Count;\n            public IEnumerator<T> GetEnumerator() => _source.GetEnumerator();\n            IEnumerator IEnumerable.GetEnumerator() => GetEnumerator();\n        }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Core/AppVersionHelper.cs",
    "content": "﻿using System;\nusing System.IO;\nusing Abp.Reflection.Extensions;\n\nnamespace AcmStatisticsBackend\n{\n    /// <summary>\n    /// Central point for application version.\n    /// </summary>\n    public class AppVersionHelper\n    {\n        /// <summary>\n        /// Gets current version of the application.\n        /// It's also shown in the web page.\n        /// </summary>\n        public const string Version = \"5.1.0.0\";\n\n        /// <summary>\n        /// Gets release (last build) date of the application.\n        /// It's shown in the web page.\n        /// </summary>\n        public static DateTime ReleaseDate => LzyReleaseDate.Value;\n\n        private static readonly Lazy<DateTime> LzyReleaseDate = new Lazy<DateTime>(() => new FileInfo(typeof(AppVersionHelper).GetAssembly().Location).LastWriteTime);\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Core/Authorization/AcmStatisticsBackendAuthorizationProvider.cs",
    "content": "﻿using Abp.Authorization;\nusing Abp.Localization;\nusing Abp.MultiTenancy;\n\nnamespace AcmStatisticsBackend.Authorization\n{\n    public class AcmStatisticsBackendAuthorizationProvider : AuthorizationProvider\n    {\n        public override void SetPermissions(IPermissionDefinitionContext context)\n        {\n            context.CreatePermission(PermissionNames.Pages_Users, L(\"Users\"));\n            context.CreatePermission(PermissionNames.Pages_Roles, L(\"Roles\"));\n            context.CreatePermission(PermissionNames.Pages_Tenants, L(\"Tenants\"),\n                multiTenancySides: MultiTenancySides.Host);\n\n            context.CreatePermission(PermissionNames.Statistics_DefaultQuery, F(\"Default query username\"));\n            context.CreatePermission(PermissionNames.AcHistory_Histories, F(\"Query history\"));\n            context.CreatePermission(PermissionNames.Settings_Update, F(\"Change user's own settings\"));\n        }\n\n        private static ILocalizableString L(string name)\n        {\n            return new LocalizableString(name, AcmStatisticsBackendConsts.LocalizationSourceName);\n        }\n\n        private static ILocalizableString F(string content)\n        {\n            return new FixedLocalizableString(content);\n        }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Core/Authorization/LoginManager.cs",
    "content": "﻿using Abp.Authorization;\nusing Abp.Authorization.Users;\nusing Abp.Configuration;\nusing Abp.Configuration.Startup;\nusing Abp.Dependency;\nusing Abp.Domain.Repositories;\nusing Abp.Domain.Uow;\nusing Abp.Zero.Configuration;\nusing AcmStatisticsBackend.Authorization.Roles;\nusing AcmStatisticsBackend.Authorization.Users;\nusing AcmStatisticsBackend.MultiTenancy;\nusing Microsoft.AspNetCore.Identity;\n\nnamespace AcmStatisticsBackend.Authorization\n{\n    public class LogInManager : AbpLogInManager<Tenant, Role, User>\n    {\n        public LogInManager(\n            UserManager userManager,\n            IMultiTenancyConfig multiTenancyConfig,\n            IRepository<Tenant> tenantRepository,\n            IUnitOfWorkManager unitOfWorkManager,\n            ISettingManager settingManager,\n            IRepository<UserLoginAttempt, long> userLoginAttemptRepository,\n            IUserManagementConfig userManagementConfig,\n            IIocResolver iocResolver,\n            IPasswordHasher<User> passwordHasher,\n            RoleManager roleManager,\n            UserClaimsPrincipalFactory claimsPrincipalFactory)\n            : base(\n                  userManager,\n                  multiTenancyConfig,\n                  tenantRepository,\n                  unitOfWorkManager,\n                  settingManager,\n                  userLoginAttemptRepository,\n                  userManagementConfig,\n                  iocResolver,\n                  passwordHasher,\n                  roleManager,\n                  claimsPrincipalFactory)\n        {\n        }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Core/Authorization/PermissionChecker.cs",
    "content": "﻿using Abp.Authorization;\nusing AcmStatisticsBackend.Authorization.Roles;\nusing AcmStatisticsBackend.Authorization.Users;\n\nnamespace AcmStatisticsBackend.Authorization\n{\n    public class PermissionChecker : PermissionChecker<Role, User>\n    {\n        public PermissionChecker(UserManager userManager)\n            : base(userManager)\n        {\n        }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Core/Authorization/PermissionNames.cs",
    "content": "﻿namespace AcmStatisticsBackend.Authorization\n{\n    public static class PermissionNames\n    {\n#pragma warning disable SA1310 // Field names should not contain underscore\n        public const string Pages_Tenants = \"Pages.Tenants\";\n\n        public const string Pages_Users = \"Pages.Users\";\n\n        public const string Pages_Roles = \"Pages.Roles\";\n\n        public const string Statistics_DefaultQuery = \"Statistics.DefaultQuery\";\n\n        public const string AcHistory_Histories = \"AcHistory.Histories\";\n\n        public const string Settings_Update = \"Settings.Update\";\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Core/Authorization/Roles/AppRoleConfig.cs",
    "content": "﻿using Abp.MultiTenancy;\nusing Abp.Zero.Configuration;\n\nnamespace AcmStatisticsBackend.Authorization.Roles\n{\n    public static class AppRoleConfig\n    {\n        public static void Configure(IRoleManagementConfig roleManagementConfig)\n        {\n            // Static host roles\n\n            roleManagementConfig.StaticRoles.Add(\n                new StaticRoleDefinition(\n                    StaticRoleNames.Host.Admin,\n                    MultiTenancySides.Host));\n\n            // Static tenant roles\n\n            roleManagementConfig.StaticRoles.Add(\n                new StaticRoleDefinition(\n                    StaticRoleNames.Tenants.Admin,\n                    MultiTenancySides.Tenant));\n\n            roleManagementConfig.StaticRoles.Add(\n                new StaticRoleDefinition(\n                    StaticRoleNames.Tenants.User,\n                    MultiTenancySides.Tenant));\n        }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Core/Authorization/Roles/Role.cs",
    "content": "using System.ComponentModel.DataAnnotations;\nusing Abp.Authorization.Roles;\nusing AcmStatisticsBackend.Authorization.Users;\n\nnamespace AcmStatisticsBackend.Authorization.Roles\n{\n    public class Role : AbpRole<User>\n    {\n        public Role()\n        {\n        }\n\n        public Role(int? tenantId, string displayName)\n            : base(tenantId, displayName)\n        {\n        }\n\n        public Role(int? tenantId, string name, string displayName)\n            : base(tenantId, name, displayName)\n        {\n        }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Core/Authorization/Roles/RoleManager.cs",
    "content": "using System.Collections.Generic;\nusing Abp.Authorization;\nusing Abp.Authorization.Roles;\nusing Abp.Domain.Repositories;\nusing Abp.Domain.Uow;\nusing Abp.Organizations;\nusing Abp.Runtime.Caching;\nusing Abp.Zero.Configuration;\nusing AcmStatisticsBackend.Authorization.Users;\nusing Microsoft.AspNetCore.Identity;\nusing Microsoft.Extensions.Logging;\n\nnamespace AcmStatisticsBackend.Authorization.Roles\n{\n    public class RoleManager : AbpRoleManager<Role, User>\n    {\n        public RoleManager(\n            RoleStore store,\n            IEnumerable<IRoleValidator<Role>> roleValidators,\n            ILookupNormalizer keyNormalizer,\n            IdentityErrorDescriber errors,\n            ILogger<AbpRoleManager<Role, User>> logger,\n            IPermissionManager permissionManager,\n            ICacheManager cacheManager,\n            IUnitOfWorkManager unitOfWorkManager,\n            IRoleManagementConfig roleManagementConfig,\n            IRepository<OrganizationUnit, long> organizationUnitRepository,\n            IRepository<OrganizationUnitRole, long> organizationUnitRoleRepository)\n            : base(\n                  store,\n                  roleValidators,\n                  keyNormalizer,\n                  errors, logger,\n                  permissionManager,\n                  cacheManager,\n                  unitOfWorkManager,\n                  roleManagementConfig,\n                  organizationUnitRepository,\n                  organizationUnitRoleRepository)\n        {\n        }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Core/Authorization/Roles/RoleStore.cs",
    "content": "using Abp.Authorization.Roles;\nusing Abp.Domain.Repositories;\nusing Abp.Domain.Uow;\nusing AcmStatisticsBackend.Authorization.Users;\n\nnamespace AcmStatisticsBackend.Authorization.Roles\n{\n    public class RoleStore : AbpRoleStore<Role, User>\n    {\n        public RoleStore(\n            IUnitOfWorkManager unitOfWorkManager,\n            IRepository<Role> roleRepository,\n            IRepository<RolePermissionSetting, long> rolePermissionSettingRepository)\n            : base(\n                unitOfWorkManager,\n                roleRepository,\n                rolePermissionSettingRepository)\n        {\n        }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Core/Authorization/Roles/StaticRoleNames.cs",
    "content": "namespace AcmStatisticsBackend.Authorization.Roles\n{\n    public static class StaticRoleNames\n    {\n        public static class Host\n        {\n            public const string Admin = \"Admin\";\n        }\n\n        public static class Tenants\n        {\n            public const string Admin = \"Admin\";\n\n            public const string User = \"User\";\n        }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Core/Authorization/Users/User.cs",
    "content": "using System;\nusing System.Collections.Generic;\nusing Abp.Authorization.Users;\nusing Abp.Extensions;\n\nnamespace AcmStatisticsBackend.Authorization.Users\n{\n    public class User : AbpUser<User>\n    {\n        public const string DefaultPassword = \"123qwe\";\n\n        public static string CreateRandomPassword()\n        {\n            return Guid.NewGuid().ToString(\"N\").Truncate(16);\n        }\n\n        public static User CreateTenantAdminUser(int tenantId, string emailAddress)\n        {\n            var user = new User\n            {\n                TenantId = tenantId,\n                UserName = AdminUserName,\n                Name = AdminUserName,\n                Surname = AdminUserName,\n                EmailAddress = emailAddress,\n                Roles = new List<UserRole>(),\n            };\n\n            user.SetNormalizedNames();\n\n            return user;\n        }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Core/Authorization/Users/UserClaimsPrincipalFactory.cs",
    "content": "using Abp.Authorization;\nusing Abp.Domain.Uow;\nusing AcmStatisticsBackend.Authorization.Roles;\nusing Microsoft.AspNetCore.Identity;\nusing Microsoft.Extensions.Options;\n\nnamespace AcmStatisticsBackend.Authorization.Users\n{\n    public class UserClaimsPrincipalFactory : AbpUserClaimsPrincipalFactory<User, Role>\n    {\n        public UserClaimsPrincipalFactory(\n            UserManager userManager,\n            RoleManager roleManager,\n            IOptions<IdentityOptions> optionsAccessor,\n            IUnitOfWorkManager unitOfWorkManager)\n            : base(\n                  userManager,\n                  roleManager,\n                  optionsAccessor,\n                  unitOfWorkManager)\n        {\n        }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Core/Authorization/Users/UserDeletingEventHandler.cs",
    "content": "﻿using System.Linq.Dynamic.Core;\nusing System.Threading.Tasks;\nusing Abp.Dependency;\nusing Abp.Domain.Repositories;\nusing Abp.Events.Bus.Entities;\nusing Abp.Events.Bus.Handlers;\nusing AcmStatisticsBackend.Crawlers;\n\nnamespace AcmStatisticsBackend.Authorization.Users\n{\n    public class UserDeletingEventHandler : IAsyncEventHandler<EntityDeletingEventData<User>>, ITransientDependency\n    {\n        private readonly IRepository<DefaultQuery, long> _defaultQueryRepository;\n        private readonly IRepository<QueryHistory, long> _acHistoryRepository;\n\n        public UserDeletingEventHandler(IRepository<DefaultQuery, long> defaultQueryRepository,\n            IRepository<QueryHistory, long> acHistoryRepository)\n        {\n            _defaultQueryRepository = defaultQueryRepository;\n            _acHistoryRepository = acHistoryRepository;\n        }\n\n        public async Task HandleEventAsync(EntityDeletingEventData<User> eventData)\n        {\n            await _defaultQueryRepository.HardDeleteAsync(\n                e => e.UserId == eventData.Entity.Id);\n            await _acHistoryRepository.DeleteAsync(\n                e => e.UserId == eventData.Entity.Id);\n        }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Core/Authorization/Users/UserManager.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing Abp.Authorization;\nusing Abp.Authorization.Roles;\nusing Abp.Authorization.Users;\nusing Abp.Configuration;\nusing Abp.Domain.Repositories;\nusing Abp.Domain.Uow;\nusing Abp.Organizations;\nusing Abp.Runtime.Caching;\nusing AcmStatisticsBackend.Authorization.Roles;\nusing Microsoft.AspNetCore.Identity;\nusing Microsoft.Extensions.Logging;\nusing Microsoft.Extensions.Options;\n\nnamespace AcmStatisticsBackend.Authorization.Users\n{\n    public class UserManager : AbpUserManager<Role, User>\n    {\n        public UserManager(AbpRoleManager<Role, User> roleManager, AbpUserStore<Role, User> userStore, IOptions<IdentityOptions> optionsAccessor, IPasswordHasher<User> passwordHasher, IEnumerable<IUserValidator<User>> userValidators, IEnumerable<IPasswordValidator<User>> passwordValidators, ILookupNormalizer keyNormalizer, IdentityErrorDescriber errors, IServiceProvider services, ILogger<UserManager<User>> logger, IPermissionManager permissionManager, IUnitOfWorkManager unitOfWorkManager, ICacheManager cacheManager, IRepository<OrganizationUnit, long> organizationUnitRepository, IRepository<UserOrganizationUnit, long> userOrganizationUnitRepository, IOrganizationUnitSettings organizationUnitSettings, ISettingManager settingManager, IRepository<UserLogin, long> userLoginRepository) : base(roleManager, userStore, optionsAccessor, passwordHasher, userValidators, passwordValidators, keyNormalizer, errors, services, logger, permissionManager, unitOfWorkManager, cacheManager, organizationUnitRepository, userOrganizationUnitRepository, organizationUnitSettings, settingManager, userLoginRepository)\n        {\n        }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Core/Authorization/Users/UserRegistrationManager.cs",
    "content": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Threading.Tasks;\nusing Abp.Authorization.Users;\nusing Abp.Domain.Services;\nusing Abp.Domain.Uow;\nusing Abp.IdentityFramework;\nusing Abp.Runtime.Session;\nusing Abp.UI;\nusing AcmStatisticsBackend.Authorization.Roles;\nusing AcmStatisticsBackend.MultiTenancy;\nusing Microsoft.AspNetCore.Identity;\nusing Microsoft.EntityFrameworkCore;\n\nnamespace AcmStatisticsBackend.Authorization.Users\n{\n    public class UserRegistrationManager : DomainService\n    {\n        public IAbpSession AbpSession { get; set; }\n\n        private readonly TenantManager _tenantManager;\n        private readonly UserManager _userManager;\n        private readonly RoleManager _roleManager;\n        private readonly IPasswordHasher<User> _passwordHasher;\n\n        public UserRegistrationManager(\n            TenantManager tenantManager,\n            UserManager userManager,\n            RoleManager roleManager,\n            IPasswordHasher<User> passwordHasher)\n        {\n            _tenantManager = tenantManager;\n            _userManager = userManager;\n            _roleManager = roleManager;\n            _passwordHasher = passwordHasher;\n\n            AbpSession = NullAbpSession.Instance;\n        }\n\n        [UnitOfWork]\n        public virtual async Task<User> RegisterAsync(string userName, string plainPassword)\n        {\n            CheckForTenant();\n\n            var tenant = await GetActiveTenantAsync();\n\n            var user = new User\n            {\n                TenantId = tenant.Id,\n                IsActive = true,\n                UserName = userName,\n                EmailAddress = userName + AcmStatisticsBackendConsts.NoEmailSuffix,\n                IsEmailConfirmed = false,\n                Roles = new List<UserRole>(),\n                Name = \"\",\n                Surname = \"\",\n            };\n\n            user.SetNormalizedNames();\n\n            foreach (var defaultRole in await _roleManager.Roles.Where(r => r.IsDefault).ToListAsync())\n            {\n                user.Roles.Add(new UserRole(tenant.Id, user.Id, defaultRole.Id));\n            }\n\n            await _userManager.InitializeOptionsAsync(tenant.Id);\n\n            CheckErrors(await _userManager.CreateAsync(user, plainPassword));\n            await CurrentUnitOfWork.SaveChangesAsync();\n\n            return user;\n        }\n\n        private void CheckForTenant()\n        {\n            if (!AbpSession.TenantId.HasValue)\n            {\n                throw new InvalidOperationException(\"Can not register host users!\");\n            }\n        }\n\n        private async Task<Tenant> GetActiveTenantAsync()\n        {\n            if (!AbpSession.TenantId.HasValue)\n            {\n                return null;\n            }\n\n            return await GetActiveTenantAsync(AbpSession.TenantId.Value);\n        }\n\n        private async Task<Tenant> GetActiveTenantAsync(int tenantId)\n        {\n            var tenant = await _tenantManager.FindByIdAsync(tenantId);\n            if (tenant == null)\n            {\n                throw new UserFriendlyException(L(\"UnknownTenantId{0}\", tenantId));\n            }\n\n            if (!tenant.IsActive)\n            {\n                throw new UserFriendlyException(L(\"TenantIdIsNotActive{0}\", tenantId));\n            }\n\n            return tenant;\n        }\n\n        protected virtual void CheckErrors(IdentityResult identityResult)\n        {\n            identityResult.CheckErrors(LocalizationManager);\n        }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Core/Authorization/Users/UserStore.cs",
    "content": "using Abp.Authorization.Users;\nusing Abp.Domain.Repositories;\nusing Abp.Domain.Uow;\nusing Abp.Linq;\nusing Abp.Organizations;\nusing AcmStatisticsBackend.Authorization.Roles;\n\nnamespace AcmStatisticsBackend.Authorization.Users\n{\n    public class UserStore : AbpUserStore<Role, User>\n    {\n        public UserStore(\n            IUnitOfWorkManager unitOfWorkManager,\n            IRepository<User, long> userRepository,\n            IRepository<Role> roleRepository,\n            IRepository<UserRole, long> userRoleRepository,\n            IRepository<UserLogin, long> userLoginRepository,\n            IRepository<UserClaim, long> userClaimRepository,\n            IRepository<UserPermissionSetting, long> userPermissionSettingRepository,\n            IRepository<UserOrganizationUnit, long> userOrganizationUnitRepository,\n            IRepository<OrganizationUnitRole, long> organizationUnitRoleRepository,\n            IRepository<UserToken, long> userTokenRepository)\n            : base(\n                unitOfWorkManager,\n                userRepository,\n                roleRepository,\n                userRoleRepository,\n                userLoginRepository,\n                userClaimRepository,\n                userPermissionSettingRepository,\n                userOrganizationUnitRepository,\n                organizationUnitRoleRepository,\n                userTokenRepository)\n        {\n        }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Core/Configuration/AppConfigurations.cs",
    "content": "﻿using System.Collections.Concurrent;\nusing Abp.Extensions;\nusing Abp.Reflection.Extensions;\nusing Microsoft.Extensions.Configuration;\n\nnamespace AcmStatisticsBackend.Configuration\n{\n    public static class AppConfigurations\n    {\n        private static readonly ConcurrentDictionary<string, IConfigurationRoot> _configurationCache;\n\n        static AppConfigurations()\n        {\n            _configurationCache = new ConcurrentDictionary<string, IConfigurationRoot>();\n        }\n\n        public static IConfigurationRoot Get(string path, string environmentName = null, bool addUserSecrets = false)\n        {\n            var cacheKey = path + \"#\" + environmentName + \"#\" + addUserSecrets;\n            return _configurationCache.GetOrAdd(\n                cacheKey,\n                _ => BuildConfiguration(path, environmentName, addUserSecrets));\n        }\n\n        private static IConfigurationRoot BuildConfiguration(string path, string environmentName = null, bool addUserSecrets = false)\n        {\n            var builder = new ConfigurationBuilder()\n                .SetBasePath(path)\n                .AddJsonFile(\"appsettings.json\", optional: true, reloadOnChange: true);\n\n            if (!environmentName.IsNullOrWhiteSpace())\n            {\n                builder = builder.AddJsonFile($\"appsettings.{environmentName}.json\", optional: true);\n            }\n\n            builder = builder.AddEnvironmentVariables();\n\n            if (addUserSecrets)\n            {\n                builder.AddUserSecrets(typeof(AppConfigurations).GetAssembly());\n            }\n\n            return builder.Build();\n        }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Core/Configuration/AppEnvironmentVariables.cs",
    "content": "using System;\n\nnamespace AcmStatisticsBackend.Configuration\n{\n    public class AppEnvironmentVariables\n    {\n        public static string DefaultAdminPassword =>\n            Environment.GetEnvironmentVariable(\"BACKEND_ADMIN_DEFAULT_PASSWORD\")\n            ?? \"123qwe\";\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Core/Configuration/AppSettingNames.cs",
    "content": "﻿namespace AcmStatisticsBackend.Configuration\n{\n    public static class AppSettingNames\n    {\n        public const string UiTheme = \"App.UiTheme\";\n\n        public const string AutoSaveHistory = \"App.AutoSaveHistory\";\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Core/Configuration/AppSettingProvider.cs",
    "content": "using System.Collections.Generic;\nusing Abp.Configuration;\n\nnamespace AcmStatisticsBackend.Configuration\n{\n    public class AppSettingProvider : SettingProvider\n    {\n        public override IEnumerable<SettingDefinition> GetSettingDefinitions(SettingDefinitionProviderContext context)\n        {\n            return new[]\n            {\n                new SettingDefinition(AppSettingNames.UiTheme, \"red\",\n                    scopes: SettingScopes.Application | SettingScopes.Tenant | SettingScopes.User,\n                    isVisibleToClients: true),\n\n                new SettingDefinition(AppSettingNames.AutoSaveHistory, \"true\", scopes: SettingScopes.User,\n                    isVisibleToClients: true),\n            };\n        }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Core/Crawlers/DefaultQuery.cs",
    "content": "﻿using System.Collections.Generic;\nusing System.ComponentModel.DataAnnotations;\nusing Abp.Domain.Entities.Auditing;\nusing AcmStatisticsBackend.Authorization.Users;\n\nnamespace AcmStatisticsBackend.Crawlers\n{\n    /// <summary>\n    /// 用户的默认查询。用户登录后，查题页面会自动填充此查询的内容\n    /// </summary>\n    public class DefaultQuery : FullAuditedEntity<long, User>\n    {\n        [Required]\n        public User User { get; set; }\n\n        public long UserId { get; set; }\n\n        /// <summary>\n        /// 主用户名\n        /// </summary>\n        [Required]\n        [MinLength(0)]\n        public string MainUsername { get; set; }\n\n        /// <summary>\n        /// 在各个爬虫上的用户名。key为爬虫名称，value为一个用户名的列表，表示在该爬虫上的所有用户名。\n        /// </summary>\n        [Required]\n        public Dictionary<string, List<string>> UsernamesInCrawlers { get; set; }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Core/Crawlers/QueryCrawlerSummary.cs",
    "content": "﻿using System.Collections.Generic;\nusing System.ComponentModel.DataAnnotations;\nusing Abp.Domain.Entities;\n\nnamespace AcmStatisticsBackend.Crawlers\n{\n    /// <summary>\n    /// Store the summary of a certain crawler.\n    /// </summary>\n    public class QueryCrawlerSummary : Entity<long>\n    {\n        [Required]\n        public QuerySummary QuerySummary { get; set; }\n\n        public long QuerySummaryId { get; set; }\n\n        /// <summary>\n        /// The name of the crawler. Frontend can get its title by this field.\n        /// </summary>\n        [Required]\n        public string CrawlerName { get; set; }\n\n        /// <summary>\n        /// Submission count.\n        /// </summary>\n        [Range(0, int.MaxValue)]\n        public int Submission { get; set; }\n\n        /// <summary>\n        /// Solved count.\n        /// </summary>\n        [Range(0, int.MaxValue)]\n        public int Solved { get; set; }\n\n        /// <summary>\n        /// Usernames used in this crawler\n        /// </summary>\n        public ICollection<UsernameInCrawler> Usernames { get; set; }\n\n        public bool IsVirtualJudge { get; set; }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Core/Crawlers/QueryHistory.cs",
    "content": "using System;\nusing System.Collections.Generic;\nusing System.ComponentModel.DataAnnotations;\nusing Abp.Domain.Entities;\nusing AcmStatisticsBackend.Authorization.Users;\n\nnamespace AcmStatisticsBackend.Crawlers\n{\n    /// <summary>\n    /// 一次查询历史记录\n    /// </summary>\n    public class QueryHistory : Entity<long>\n    {\n        [Required]\n        public DateTime CreationTime { get; set; }\n\n        /// <summary>\n        /// The user related to this entity\n        /// </summary>\n        public User User { get; set; }\n\n        public long UserId { get; set; }\n\n        /// <summary>\n        /// Main username of query history, can be empty\n        /// </summary>\n        [Required]\n        [MinLength(0)]\n        public string MainUsername { get; set; }\n\n        /// <summary>\n        /// Query history of each crawler.\n        /// </summary>\n        [Required]\n        public ICollection<QueryWorkerHistory> QueryWorkerHistories { get; set; }\n\n        /// <summary>\n        /// Is data source reliable (solved/submission are really from certain username)\n        ///\n        /// When get the history from user directly, it should be false;\n        /// when get it from crawler-api-backend, it should be true.\n        /// </summary>\n        public bool IsReliableSource { get; set; }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Core/Crawlers/QuerySummary.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.ComponentModel.DataAnnotations;\nusing Abp.Domain.Entities;\n\nnamespace AcmStatisticsBackend.Crawlers\n{\n    /// <summary>\n    /// The summary of a certain query.\n    /// </summary>\n    public class QuerySummary : Entity<long>\n    {\n        [Required]\n        public QueryHistory QueryHistory { get; set; }\n\n        public long QueryHistoryId { get; set; }\n\n        /// <summary>\n        /// When the summary is generated\n        /// </summary>\n        public DateTime GenerateTime { get; set; }\n\n        /// <summary>\n        /// Query summaries of each crawler.\n        /// </summary>\n        [Required]\n        public ICollection<QueryCrawlerSummary> QueryCrawlerSummaries { get; set; }\n\n        /// <summary>\n        /// Warnings in summary generation.\n        /// </summary>\n        [Required]\n        public ICollection<SummaryWarning> SummaryWarnings { get; set; }\n\n        /// <summary>\n        /// Total submission count\n        /// </summary>\n        [Range(0, int.MaxValue)]\n        public int Submission { get; set; }\n\n        /// <summary>\n        /// Total solved count, redundant problems (including problems in virtual_judge) are removed.\n        /// </summary>\n        [Range(0, int.MaxValue)]\n        public int Solved { get; set; }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Core/Crawlers/QueryWorkerHistory.cs",
    "content": "using System.Collections.Generic;\nusing System.ComponentModel.DataAnnotations;\nusing System.Diagnostics.CodeAnalysis;\nusing Abp.Domain.Entities;\n\nnamespace AcmStatisticsBackend.Crawlers\n{\n    /// <summary>\n    /// Query history in a certain crawler\n    /// </summary>\n    public class QueryWorkerHistory : Entity<long>\n    {\n        /// <summary>\n        /// QueryHistory the entity related to\n        /// </summary>\n        [Required]\n        public QueryHistory QueryHistory { get; set; }\n\n        public long QueryHistoryId { get; set; }\n\n        /// <summary>\n        /// The name of the crawler. Frontend can get its title by this field.\n        /// </summary>\n        [Required]\n        public string CrawlerName { get; set; }\n\n        /// <summary>\n        /// The username used to query this crawler.\n        /// </summary>\n        [Required]\n        public string Username { get; set; }\n\n        /// <summary>\n        /// Error message of the crawler. If it's not null, current query is failed, and\n        /// <see cref=\"Submission\"/> and <see cref=\"Solved\"/> are all 0.\n        /// </summary>\n        [MaybeNull]\n        public string ErrorMessage { get; set; }\n\n        /// <summary>\n        /// Submission count.\n        /// </summary>\n        [Range(0, int.MaxValue)]\n        public int Submission { get; set; }\n\n        /// <summary>\n        /// Solved count.\n        /// </summary>\n        [Range(0, int.MaxValue)]\n        public int Solved { get; set; }\n\n        /// <summary>\n        /// The list of problem ids that user solved.\n        ///\n        /// Can be null if crawler does not support it.\n        /// </summary>\n        [MaybeNull]\n        public string[] SolvedList { get; set; }\n\n        /// <summary>\n        /// Whether current crawler is virtual judge when the history is submitted.\n        /// </summary>\n        public bool IsVirtualJudge { get; set; }\n\n        /// <summary>\n        /// If <see cref=\"IsVirtualJudge\"/> is false, this field is null.\n        /// Otherwise, this field contains submissions count in each crawler.\n        /// </summary>\n        [MaybeNull]\n        public IDictionary<string, int> SubmissionsByCrawlerName { get; set; }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Core/Crawlers/SummaryGenerator.cs",
    "content": "﻿using System.Collections.Generic;\nusing System.Diagnostics;\nusing System.Diagnostics.Contracts;\nusing System.Linq;\nusing Abp.Dependency;\nusing Abp.Extensions;\nusing Abp.Timing;\nusing Abp.UI;\nusing AcmStatisticsBackend.ServiceClients;\n\nnamespace AcmStatisticsBackend.Crawlers\n{\n    /// <summary>\n    /// Generate summarise from <see cref=\"QueryHistory\"/>\n    /// </summary>\n    public class SummaryGenerator : ISingletonDependency\n    {\n        private readonly IClockProvider _clockProvider;\n\n        public SummaryGenerator(IClockProvider clockProvider)\n        {\n            _clockProvider = clockProvider;\n        }\n\n        /// <summary>\n        /// Generate summary from <see cref=\"QueryHistory\"/>.\n        /// <see cref=\"QueryHistory.QueryWorkerHistories\"/> should already be loaded.\n        ///\n        /// It will not modify the parameter.\n        /// </summary>\n        [Pure]\n        public QuerySummary Generate(\n            IReadOnlyCollection<CrawlerMetaItem> crawlerMeta,\n            IReadOnlyCollection<QueryWorkerHistory> workerHistories)\n        {\n            var histories = workerHistories\n                .Where(item => item.ErrorMessage.IsNullOrEmpty())\n                .ToList();\n\n            ResolveSummaryData(crawlerMeta, histories,\n                out var summaries,\n                out var warnings,\n                out var directlyAddSolvedWorkerList);\n\n            foreach (var worker in directlyAddSolvedWorkerList)\n            {\n                var summary = summaries[worker.CrawlerName];\n                summary.Usernames.Add(new UsernameInCrawler\n                {\n                    Username = worker.Username,\n                });\n            }\n\n            var localJudgeDict = summaries\n                .Where(it => it.Value.IsVirtualJudge == false)\n                .ToDictionary(\n                    p => p.Key,\n                    p => new QueryCrawlerSummary\n                    {\n                        CrawlerName = p.Value.CrawlerName,\n                        Solved = p.Value.SolvedSet.Count,\n                        Submission = p.Value.Submissions,\n                        Usernames = p.Value.Usernames.ToList(),\n                        IsVirtualJudge = p.Value.IsVirtualJudge,\n                    });\n\n            // directlyAddSolvedWorkerList only exists in local judges\n            foreach (var worker in directlyAddSolvedWorkerList)\n            {\n                var summary = localJudgeDict[worker.CrawlerName];\n                summary.Solved += worker.Solved;\n                summary.Submission += worker.Submission;\n            }\n\n            var virtualJudgeList = summaries\n                .Select(it => it.Value)\n                .Where(it => it.IsVirtualJudge)\n                .SelectMany(it => new[]\n                {\n                    new QueryCrawlerSummary\n                    {\n                        CrawlerName = it.CrawlerName,\n                        Solved = it.SolvedSet.Count,\n                        Submission = it.Submissions,\n                        Usernames = it.Usernames.ToList(),\n                        IsVirtualJudge = false,\n                    },\n                    new QueryCrawlerSummary\n                    {\n                        CrawlerName = it.CrawlerName,\n                        Solved = it.NotMergedSolvedSet.Count,\n                        Submission = it.NotMergedSubmissions,\n                        Usernames = it.NotMergedUsernames.ToList(),\n                        IsVirtualJudge = true,\n                    },\n                });\n\n            var summaryList = localJudgeDict\n                .Select(p => p.Value)\n                .Concat(virtualJudgeList)\n                .Where(a => a.Usernames.Count > 0\n                            && (a.Submission > 0 || a.Solved > 0))\n                .OrderBy(a => a.CrawlerName)\n                .ToList();\n\n            return new QuerySummary\n            {\n                QueryCrawlerSummaries = summaryList,\n                SummaryWarnings = warnings,\n                Solved = summaryList.Sum(a => a.Solved),\n                Submission = summaryList.Sum(a => a.Submission),\n                GenerateTime = _clockProvider.Now,\n            };\n        }\n\n        /// <summary>\n        /// Pre-process data\n        /// </summary>\n        private static void ResolveSummaryData(\n            IReadOnlyCollection<CrawlerMetaItem> crawlerMeta,\n            IReadOnlyCollection<QueryWorkerHistory> workerHistories,\n            out Dictionary<string, CrawlerSummaryData> summaries,\n            out List<SummaryWarning> warnings,\n            out List<QueryWorkerHistory> directlyAddSolvedWorkerList)\n        {\n            summaries = InitSummaries(crawlerMeta);\n            warnings = new List<SummaryWarning>();\n            directlyAddSolvedWorkerList = new List<QueryWorkerHistory>();\n\n            EnsureCrawlerType(crawlerMeta, summaries, workerHistories);\n\n            foreach (var worker in workerHistories)\n            {\n                var summary = summaries[worker.CrawlerName];\n                summary.Usernames.Add(new UsernameInCrawler\n                {\n                    Username = worker.Username,\n                });\n                if (summary.IsVirtualJudge)\n                {\n                    summary.NotMergedUsernames.Add(new UsernameInCrawler\n                    {\n                        Username = worker.Username,\n                    });\n                }\n\n                if (worker.SolvedList == null)\n                {\n                    Debug.Assert(worker.IsVirtualJudge == false,\n                        \"All virtual judges should have solved list\");\n                    warnings.Add(new SummaryWarning(\n                        worker.CrawlerName,\n                        \"This crawler does not have a solved list and \" +\n                        \"its result will be directly added to summary.\"));\n                    directlyAddSolvedWorkerList.Add(worker);\n                    continue;\n                }\n\n                if (worker.IsVirtualJudge)\n                {\n                    if (worker.SubmissionsByCrawlerName.Values.Sum() != worker.Submission)\n                    {\n                        warnings.Add(new SummaryWarning(worker.CrawlerName,\n                            \"submissionByCrawler field of this crawler does not match its submission field, \" +\n                            \"and only results in submissionByCrawler are used.\"));\n                    }\n\n                    HandleVirtualJudgeProblems(worker, summary, summaries);\n                    HandleVirtualJudgeSubmissions(worker, summary, summaries);\n                }\n                else\n                {\n                    summary.Submissions += worker.Submission;\n                    summary.SolvedSet.UnionWith(worker.SolvedList);\n                }\n            }\n        }\n\n        private static void EnsureCrawlerType(\n            IReadOnlyCollection<CrawlerMetaItem> crawlerMeta,\n            IReadOnlyDictionary<string, CrawlerSummaryData> summaries,\n            IReadOnlyCollection<QueryWorkerHistory> workerHistories)\n        {\n            var workerHasSolvedList = new Dictionary<string, bool>();\n\n            foreach (var history in workerHistories)\n            {\n                if (workerHasSolvedList.TryGetValue(history.CrawlerName, out var hasSolvedList))\n                {\n                    if (hasSolvedList != (history.SolvedList != null))\n                    {\n                        var title = GetCrawlerTitle(crawlerMeta, history);\n                        throw new UserFriendlyException($\"All workers of crawler {title} must have solved list!\");\n                    }\n                }\n                else\n                {\n                    workerHasSolvedList.Add(history.CrawlerName, history.SolvedList != null);\n                }\n\n                if (!summaries.TryGetValue(history.CrawlerName, out var summary))\n                {\n                    throw new UserFriendlyException(\n                        $\"The meta data of crawler {history.CrawlerName} does not exist.\");\n                }\n\n                if (summary.IsVirtualJudge != history.IsVirtualJudge)\n                {\n                    var title = GetCrawlerTitle(crawlerMeta, history);\n                    if (summary.IsVirtualJudge)\n                    {\n                        throw new UserFriendlyException(\n                            $\"According to crawler meta, the type of crawler {title} should be a virtual judge.\");\n                    }\n                    else\n                    {\n                        throw new UserFriendlyException(\n                            $\"According to crawler meta, the type of crawler {title} should not be a virtual judge.\");\n                    }\n                }\n\n                if (history.IsVirtualJudge && history.SolvedList == null)\n                {\n                    var title = GetCrawlerTitle(crawlerMeta, history);\n                    throw new UserFriendlyException($\"Virtual judge {title} should have a solved list.\");\n                }\n            }\n        }\n\n        private static string GetCrawlerTitle(\n            IReadOnlyCollection<CrawlerMetaItem> crawlerMeta,\n            QueryWorkerHistory history)\n        {\n            var meta = crawlerMeta.First(item => item.CrawlerName == history.CrawlerName);\n            return meta.CrawlerTitle;\n        }\n\n        private static void HandleVirtualJudgeProblems(\n            QueryWorkerHistory worker,\n            CrawlerSummaryData vjSummary,\n            IReadOnlyDictionary<string, CrawlerSummaryData> summaries)\n        {\n            foreach (var problem in worker.SolvedList)\n            {\n                var (problemCrawlerName, problemId)\n                    = problem.Split('-');\n\n                if (summaries.TryGetValue(problemCrawlerName, out var problemCrawlerSummary))\n                {\n                    problemCrawlerSummary.Usernames.Add(new UsernameInCrawler\n                    {\n                        Username = worker.Username,\n                        FromCrawlerName = worker.CrawlerName == problemCrawlerName\n                            ? null\n                            : worker.CrawlerName,\n                    });\n                    problemCrawlerSummary.SolvedSet.Add(problemId);\n                }\n                else\n                {\n                    vjSummary.NotMergedSolvedSet.Add(problem);\n                }\n            }\n        }\n\n        private static void HandleVirtualJudgeSubmissions(\n            QueryWorkerHistory worker,\n            CrawlerSummaryData vjSummary,\n            IReadOnlyDictionary<string, CrawlerSummaryData> summaries)\n        {\n            foreach (var (crawler, submissions) in worker.SubmissionsByCrawlerName)\n            {\n                if (summaries.TryGetValue(crawler, out var crawlerSummary))\n                {\n                    crawlerSummary.Submissions += submissions;\n\n                    crawlerSummary.Usernames.Add(new UsernameInCrawler\n                    {\n                        Username = worker.Username,\n                        FromCrawlerName = worker.CrawlerName == crawler\n                            ? null\n                            : worker.CrawlerName,\n                    });\n                }\n                else\n                {\n                    vjSummary.NotMergedSubmissions += submissions;\n                }\n            }\n        }\n\n        private static Dictionary<string, CrawlerSummaryData> InitSummaries(\n            IReadOnlyCollection<CrawlerMetaItem> crawlerMeta)\n        {\n            return crawlerMeta\n                .ToDictionary(\n                    crawlerMetaItem => crawlerMetaItem.CrawlerName,\n                    crawlerMetaItem => new CrawlerSummaryData\n                    {\n                        CrawlerName = crawlerMetaItem.CrawlerName,\n                        IsVirtualJudge = crawlerMetaItem.IsVirtualJudge,\n                    });\n        }\n\n        /// <summary>\n        /// Data structure to use inside the algorithm\n        /// </summary>\n        private class CrawlerSummaryData\n        {\n            public string CrawlerName { get; set; }\n            public bool IsVirtualJudge { get; set; }\n\n            // in virtual judge, the two items means its local judge result\n            public HashSet<string> SolvedSet { get; } = new HashSet<string>();\n            public int Submissions { get; set; }\n            public HashSet<UsernameInCrawler> Usernames { get; }\n\n            // only work in virtual judge\n            public HashSet<string> NotMergedSolvedSet { get; } = new HashSet<string>();\n            public int NotMergedSubmissions { get; set; }\n            public HashSet<UsernameInCrawler> NotMergedUsernames { get; }\n\n            public CrawlerSummaryData()\n            {\n                Usernames = new HashSet<UsernameInCrawler>(new UsernameInCrawlerEqualityComparer());\n                NotMergedUsernames = new HashSet<UsernameInCrawler>(new UsernameInCrawlerEqualityComparer());\n            }\n        }\n\n        private class UsernameInCrawlerEqualityComparer : IEqualityComparer<UsernameInCrawler>\n        {\n            public bool Equals(UsernameInCrawler x, UsernameInCrawler y)\n            {\n                if (x == null && y == null)\n                {\n                    return true;\n                }\n\n                if (x == null || y == null)\n                {\n                    return false;\n                }\n\n                return x.Username == y.Username && x.FromCrawlerName == y.FromCrawlerName;\n            }\n\n            public int GetHashCode(UsernameInCrawler obj)\n            {\n                return $\"{obj.FromCrawlerName ?? string.Empty}/{obj.Username ?? string.Empty}\"\n                    .GetHashCode();\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Core/Crawlers/SummaryWarning.cs",
    "content": "﻿using System.Collections.Generic;\nusing Abp.Domain.Values;\n\nnamespace AcmStatisticsBackend.Crawlers\n{\n    /// <summary>\n    /// A warning in <see cref=\"QuerySummary\"/>\n    /// </summary>\n    public class SummaryWarning : ValueObject\n    {\n        public SummaryWarning(string crawlerName, string content)\n        {\n            CrawlerName = crawlerName;\n            Content = content;\n        }\n\n        /// <summary>\n        /// The crawler the warning is about\n        /// </summary>\n        public string CrawlerName { get; }\n\n        /// <summary>\n        /// Warning content\n        /// </summary>\n        public string Content { get; }\n\n        protected override IEnumerable<object> GetAtomicValues()\n        {\n            yield return CrawlerName;\n            yield return Content;\n        }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Core/Crawlers/UsernameInCrawler.cs",
    "content": "﻿using System.ComponentModel.DataAnnotations;\nusing System.Diagnostics;\nusing Abp.Domain.Entities;\n\nnamespace AcmStatisticsBackend.Crawlers\n{\n    /// <summary>\n    /// An username in a certain crawler.\n    /// </summary>\n    [DebuggerDisplay(\"FromCrawlerName = {FromCrawlerName}, Username = {Username}\")]\n    public class UsernameInCrawler : Entity<long>\n    {\n        /// <summary>\n        /// The QueryCrawlerSummary it related to.\n        /// </summary>\n        [Required]\n        public QueryCrawlerSummary QueryCrawlerSummary { get; set; }\n\n        /// <summary>\n        /// Which crawler (virtual judge) the username is from.\n        ///\n        /// If it is null or empty string, the username is from\n        /// its own crawler.\n        /// </summary>\n        public string FromCrawlerName { get; set; }\n\n        [Required]\n        public string Username { get; set; }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Core/Editions/EditionManager.cs",
    "content": "using Abp.Application.Editions;\nusing Abp.Application.Features;\nusing Abp.Domain.Repositories;\nusing Abp.Domain.Uow;\n\nnamespace AcmStatisticsBackend.Editions\n{\n    public class EditionManager : AbpEditionManager\n    {\n        public const string DefaultEditionName = \"Standard\";\n\n        public EditionManager(\n            IRepository<Edition> editionRepository,\n            IAbpZeroFeatureValueStore featureValueStore,\n            IUnitOfWorkManager unitOfWorkManager)\n            : base(\n                editionRepository,\n                featureValueStore,\n                unitOfWorkManager)\n        {\n        }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Core/Features/FeatureValueStore.cs",
    "content": "using Abp.Application.Features;\nusing Abp.Domain.Repositories;\nusing Abp.Domain.Uow;\nusing Abp.MultiTenancy;\nusing Abp.Runtime.Caching;\nusing AcmStatisticsBackend.Authorization.Users;\nusing AcmStatisticsBackend.MultiTenancy;\n\nnamespace AcmStatisticsBackend.Features\n{\n    public class FeatureValueStore : AbpFeatureValueStore<Tenant, User>\n    {\n        public FeatureValueStore(\n            ICacheManager cacheManager,\n            IRepository<TenantFeatureSetting, long> tenantFeatureRepository,\n            IRepository<Tenant> tenantRepository,\n            IRepository<EditionFeatureSetting, long> editionFeatureRepository,\n            IFeatureManager featureManager,\n            IUnitOfWorkManager unitOfWorkManager)\n            : base(\n                  cacheManager,\n                  tenantFeatureRepository,\n                  tenantRepository,\n                  editionFeatureRepository,\n                  featureManager,\n                  unitOfWorkManager)\n        {\n        }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Core/Identity/IdentityRegistrar.cs",
    "content": "﻿using AcmStatisticsBackend.Authorization;\nusing AcmStatisticsBackend.Authorization.Roles;\nusing AcmStatisticsBackend.Authorization.Users;\nusing AcmStatisticsBackend.Editions;\nusing AcmStatisticsBackend.MultiTenancy;\nusing Microsoft.AspNetCore.Identity;\nusing Microsoft.Extensions.DependencyInjection;\n\nnamespace AcmStatisticsBackend.Identity\n{\n    public static class IdentityRegistrar\n    {\n        public static IdentityBuilder Register(IServiceCollection services)\n        {\n            services.AddLogging();\n\n            return services.AddAbpIdentity<Tenant, User, Role>()\n                .AddAbpTenantManager<TenantManager>()\n                .AddAbpUserManager<UserManager>()\n                .AddAbpRoleManager<RoleManager>()\n                .AddAbpEditionManager<EditionManager>()\n                .AddAbpUserStore<UserStore>()\n                .AddAbpRoleStore<RoleStore>()\n                .AddAbpLogInManager<LogInManager>()\n                .AddAbpSignInManager<SignInManager>()\n                .AddAbpSecurityStampValidator<SecurityStampValidator>()\n                .AddAbpUserClaimsPrincipalFactory<UserClaimsPrincipalFactory>()\n                .AddPermissionChecker<PermissionChecker>()\n                .AddDefaultTokenProviders();\n        }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Core/Identity/SecurityStampValidator.cs",
    "content": "using Abp.Authorization;\nusing Abp.Domain.Uow;\nusing AcmStatisticsBackend.Authorization.Roles;\nusing AcmStatisticsBackend.Authorization.Users;\nusing AcmStatisticsBackend.MultiTenancy;\nusing Microsoft.AspNetCore.Authentication;\nusing Microsoft.AspNetCore.Identity;\nusing Microsoft.Extensions.Logging;\nusing Microsoft.Extensions.Options;\n\nnamespace AcmStatisticsBackend.Identity\n{\n    public class SecurityStampValidator : AbpSecurityStampValidator<Tenant, Role, User>\n    {\n        public SecurityStampValidator(\n            IOptions<SecurityStampValidatorOptions> options,\n            SignInManager signInManager,\n            ISystemClock systemClock,\n            ILoggerFactory loggerFactory,\n            IUnitOfWorkManager unitOfWorkManager)\n            : base(options, signInManager, systemClock, loggerFactory, unitOfWorkManager)\n        {\n        }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Core/Identity/SignInManager.cs",
    "content": "﻿using Abp.Authorization;\nusing Abp.Configuration;\nusing Abp.Domain.Uow;\nusing AcmStatisticsBackend.Authorization.Roles;\nusing AcmStatisticsBackend.Authorization.Users;\nusing AcmStatisticsBackend.MultiTenancy;\nusing Microsoft.AspNetCore.Authentication;\nusing Microsoft.AspNetCore.Http;\nusing Microsoft.AspNetCore.Identity;\nusing Microsoft.Extensions.Logging;\nusing Microsoft.Extensions.Options;\n\nnamespace AcmStatisticsBackend.Identity\n{\n    public class SignInManager : AbpSignInManager<Tenant, Role, User>\n    {\n        public SignInManager(\n            UserManager userManager,\n            IHttpContextAccessor contextAccessor,\n            UserClaimsPrincipalFactory claimsFactory,\n            IOptions<IdentityOptions> optionsAccessor,\n            ILogger<SignInManager<User>> logger,\n            IUnitOfWorkManager unitOfWorkManager,\n            ISettingManager settingManager,\n            IAuthenticationSchemeProvider schemes,\n            IUserConfirmation<User> userConfirmation)\n            : base(userManager, contextAccessor, claimsFactory, optionsAccessor, logger, unitOfWorkManager, settingManager, schemes, userConfirmation)\n        {\n        }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Core/Localization/AcmStatisticsBackendLocalizationConfigurer.cs",
    "content": "﻿using Abp.Configuration.Startup;\nusing Abp.Localization.Dictionaries;\nusing Abp.Localization.Dictionaries.Xml;\nusing Abp.Reflection.Extensions;\n\nnamespace AcmStatisticsBackend.Localization\n{\n    public static class AcmStatisticsBackendLocalizationConfigurer\n    {\n        public static void Configure(ILocalizationConfiguration localizationConfiguration)\n        {\n            localizationConfiguration.Sources.Add(\n                new DictionaryBasedLocalizationSource(AcmStatisticsBackendConsts.LocalizationSourceName,\n                    new XmlEmbeddedFileLocalizationDictionaryProvider(\n                        typeof(AcmStatisticsBackendLocalizationConfigurer).GetAssembly(),\n                        \"AcmStatisticsBackend.Localization.SourceFiles\")));\n        }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Core/Localization/SourceFiles/AcmStatisticsBackend-es.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n<localizationDictionary culture=\"es\">\n  <texts>\n    <text name=\"HomePage\" value=\"Página de inicio\" />\n    <text name=\"About\" value=\"Acerca de\" />\n    <text name=\"WelcomeMessage\" value=\"Bienvenido a WMS!\" />\n\n    <text name=\"FormIsNotValidMessage\" value=\"Formulario no es válido. Por favor, compruebe y corrija los errores.\" />\n    <text name=\"TenantNameCanNotBeEmpty\" value=\"Nombre de la empresa no puede estar vacío\" />\n\n    <text name=\"InvalidUserNameOrPassword\" value=\"Usuario o contraseña invalido\" />\n    <text name=\"ThereIsNoTenantDefinedWithName{0}\" value=\"No hay empresa definida con el nombre {0}\" />\n    <text name=\"TenantIsNotActive\" value=\"La empresa {0} no está activa.\" />\n    <text name=\"UserIsNotActiveAndCanNotLogin\" value=\"El usuario {0} no está activo y no puede conectarse.\" />\n    <text name=\"PleaseEnterLoginInformation\" value=\"Por favor, introduzca la información de inicio de sesión\" />\n    <text name=\"TenancyName\" value=\"Nombre de la empresa\" />\n    <text name=\"UserNameOrEmail\" value=\"Nombre de usuario o correo electrónico\" />\n    <text name=\"Password\" value=\"Contraseña\" />\n    <text name=\"RememberMe\" value=\"Recuérdame\" />\n    <text name=\"LogIn\" value=\"Iniciar sesión\" />\n\n    <text name=\"LoginFailed\" value=\"¡Error de inicio de sesion!\" />\n\n    <text name=\"NameSurname\" value=\"Nombre Apellido\" />\n    <text name=\"UserName\" value=\"Nombre de usuario\" />\n    <text name=\"Name\" value=\"Nombre\" />\n    <text name=\"Surname\" value=\"Apellido\" />\n    <text name=\"EmailAddress\" value=\"Dirección de correo electrónico\" />\n\n    <text name=\"Tenants\" value=\"Empresas\" />\n    <text name=\"SavedSuccessfully\" value=\"Guardado correctamente\" />\n    <text name=\"CreateNewTenant\" value=\"Crear nueva empresa\" />\n    <text name=\"AdminEmailAddress\" value=\"Dirección de correo electrónico del administrador\" />\n    <text name=\"Save\" value=\"Guardar\" />\n    <text name=\"Cancel\" value=\"Cancelar\" />\n    <text name=\"TenantName_Regex_Description\" value=\"El nombre de la empresa debe ser de al menos 2 caracteres, empieza con una letra y continua con una letra, número, guión o un guión bajo.\" />\n    <text name=\"DefaultPasswordIs\" value=\"La contraseña por defecto es {0}\" />\n    <text name=\"CanBeEmptyToLoginAsHost\" value=\"Puede estar vacía para iniciar la sesión como anfitrión.\" />\n    <text name=\"Register\" value=\"Registro\" />\n    <text name=\"OrLoginWith\" value=\"o iniciar sesión con\" />\n    <text name=\"WaitingForActivationMessage\" value=\"Su cuenta está en espera de ser activada por el administrador del sistema.\" />\n    <text name=\"TenantSelection\" value=\"Selección de Empresa\" />\n    <text name=\"TenantSelection_Detail\" value=\"Por favor seleccione una de las siguientes empresas.\" />\n    <text name=\"Logout\" value=\"Cerrar sesión\" />\n    <text name=\"SearchWithThreeDot\">Buscar...</text>\n  </texts>\n</localizationDictionary>\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Core/Localization/SourceFiles/AcmStatisticsBackend-fr.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n<localizationDictionary culture=\"fr\">\n  <texts>\n    <text name=\"HomePage\" value=\"Accueil\" />\n    <text name=\"About\" value=\"A propos\" />\n    <text name=\"WelcomeMessage\" value=\"Bienvenue sur AcmStatisticsBackend !\" />\n    \n    <text name=\"FormIsNotValidMessage\" value=\"Le formulaire n'est pas valide. Veuillez le corriger.\" />\n    <text name=\"TenantNameCanNotBeEmpty\" value=\"Le nom de client (tenant) doit être renseigné.\" />\n\n    <text name=\"InvalidUserNameOrPassword\" value=\"Nom d'utilisateur ou mot de passe non valide.\" />\n    <text name=\"ThereIsNoTenantDefinedWithName{0}\" value=\"Il n'y a aucun nom de client (tenant) correspondant à {0}\" />\n    <text name=\"TenantIsNotActive\" value=\"Le client (tenant) {0} n'est pas actif.\" />\n    <text name=\"UserIsNotActiveAndCanNotLogin\" value=\"L'utilisateur {0} n'est pas actif ou ne peut pas s'authentifier.\" />\n    <text name=\"PleaseEnterLoginInformation\" value=\"Veuillez entrer vos informations d'authentification\" />\n    <text name=\"TenancyName\" value=\"Nom du client (tenant)\" />\n    <text name=\"UserNameOrEmail\" value=\"Nom d'utilisateur ou email\" />\n    <text name=\"Password\" value=\"Mot de passe\" />\n    <text name=\"RememberMe\" value=\"Se rappeler de moi\" />\n    <text name=\"LogIn\" value=\"Se connecter\" />\n\n    <text name=\"LoginFailed\" value=\"Echec d'authentification !\" />\n\n    <text name=\"NameSurname\" value=\"Nom de famille\" />\n    <text name=\"UserName\" value=\"Nom d'utilisateur\" />\n    <text name=\"Name\" value=\"Prénom\" />\n    <text name=\"Surname\" value=\"Nom de famille\" />\n    <text name=\"EmailAddress\" value=\"Adresse email\" />\n\n    <text name=\"Tenants\" value=\"Clients (tenants)\" />\n    <text name=\"SavedSuccessfully\" value=\"Enregistrement réussi\" />\n    <text name=\"CreateNewTenant\" value=\"Créer un nouveau client (tenant)\" />\n    <text name=\"AdminEmailAddress\" value=\"Adresse email de l'administrateur\" />\n    <text name=\"Save\" value=\"Valider\" />\n    <text name=\"Cancel\" value=\"Annuler\" />\n    <text name=\"TenantName_Regex_Description\" value=\"Le nom de client (tenant) doit comporter au moins 2 caractères et commencer par une lettre suivie d'autres lettres, chiffres ou tirets.\" />\n    <text name=\"DefaultPasswordIs\" value=\"Le mot de passe par défaut est {0}\" />\n    <text name=\"CanBeEmptyToLoginAsHost\" value=\"Peut être laissé vide pour s'authentifier en tant qu'hébergeur (host).\" />\n    <text name=\"Register\" value=\"S'enregistrer\" />\n    <text name=\"OrLoginWith\" value=\"Ou s'authentifier avec\" />\n    <text name=\"WaitingForActivationMessage\" value=\"Votre compte est en attente d'activation par l'administrateur du système.\" />\n    <text name=\"TenantSelection\" value=\"Sélection du client (tenant)\" />\n    <text name=\"TenantSelection_Detail\" value=\"Veuillez choisir l'un de ces clients (tenants) suivants.\" />\n    <text name=\"Logout\" value=\"Déconnexion\" />\n    <text name=\"SearchWithThreeDot\">Rechercher...</text>\n  </texts>\n</localizationDictionary>\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Core/Localization/SourceFiles/AcmStatisticsBackend-it.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n<localizationDictionary culture=\"it\">\n  <texts>\n    <text name=\"HomePage\" value=\"Home page\" />\n    <text name=\"About\" value=\"Chi siamo\" />\n    <text name=\"WelcomeMessage\" value=\"Benvenuti su My New House!\" />\n\n    <text name=\"FormIsNotValidMessage\" value=\"I dati non sono corretti. Verifica gli errori.\" />\n    <text name=\"TenantNameCanNotBeEmpty\" value=\"Il Dominio non può essere vuoto\" />\n\n    <text name=\"InvalidUserNameOrPassword\" value=\"Username o password errati\" />\n    <text name=\"ThereIsNoTenantDefinedWithName{0}\" value=\"Il dominio {0} non esiste\" />\n    <text name=\"TenantIsNotActive\" value=\"Il dominio {0} non è attivo.\" />\n    <text name=\"UserIsNotActiveAndCanNotLogin\" value=\"L'utente {0} non è attivo e non può fare login.\" />\n    <text name=\"UserEmailIsNotConfirmedAndCanNotLogin\">Indirizzo email non registrato. Login non ammesso.</text>\n    <text name=\"UserLockedOutMessage\">L'account è momentaneamente bloccato. Riprovare più tardi.</text>\n    <text name=\"PleaseEnterLoginInformation\" value=\"Inserisci le informazioni di login\" />\n    <text name=\"TenancyName\" value=\"Dominio\" />\n    <text name=\"UserNameOrEmail\" value=\"Use name o email\" />\n    <text name=\"Password\" value=\"Password\" />\n    <text name=\"RememberMe\" value=\"Ricordati di me\" />\n    <text name=\"LogIn\" value=\"Log in\" />\n\n    <text name=\"LoginFailed\" value=\"Login errato!\" />\n\n    <text name=\"NameSurname\" value=\"Nome e Cognome\" />\n    <text name=\"UserName\" value=\"Username\" />\n    <text name=\"Name\" value=\"Nome\" />\n    <text name=\"Surname\" value=\"Cognome\" />\n    <text name=\"EmailAddress\" value=\"Email\" />\n\n    <text name=\"Tenants\" value=\"Dominio\" />\n    <text name=\"SavedSuccessfully\" value=\"Salvato\" />\n    <text name=\"CreateNewTenant\" value=\"Crea un nuovo dominio\" />\n    <text name=\"AdminEmailAddress\" value=\"Indirizzo email Amministratore\" />\n    <text name=\"Save\" value=\"Salva\" />\n    <text name=\"Cancel\" value=\"Annulla\" />\n    <text name=\"TenantName_Regex_Description\" value=\"Il dominio deve essere di almeno 2 caratteri, iniziare con una lettera e continuare con lettere, numeri o trattini.\" />\n    <text name=\"DefaultPasswordIs\" value=\"La password di default è {0}\" />\n    <text name=\"CanBeEmptyToLoginAsHost\" value=\"Può essere vuoto per entrare come ospite.\" />\n    <text name=\"Register\" value=\"Registrati\" />\n    <text name=\"OrLoginWith\" value=\"O entra con\" />\n    <text name=\"WaitingForActivationMessage\" value=\"Il tuo account è in attesa di approvazione.\" />\n    <text name=\"TenantSelection\" value=\"Selezione dominio\" />\n    <text name=\"TenantSelection_Detail\" value=\"Seleziona uno dei seguenti domini.\" />\n    <text name=\"Logout\" value=\"Logout\" />\n\n    <text name=\"DatabaseConnectionString\" value=\"String connession Database\" />\n    <text name=\"Users\" value=\"Utenti\" />\n    <text name=\"IsActive\" value=\"Attivo\" />\n    <text name=\"FullName\" value=\"Nome completo\" />\n    <text name=\"CreateNewUser\" value=\"Nuovo utente\" />\n    <text name=\"Yes\" value=\"Sì\" />\n    <text name=\"No\" value=\"No\" />\n    <text name=\"Optional\" value=\"Opzionale\" />\n    <text name=\"SearchWithThreeDot\">Cerca...</text>\n  </texts>\n</localizationDictionary>\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Core/Localization/SourceFiles/AcmStatisticsBackend-ja.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n<localizationDictionary culture=\"ja\">\n  <texts>\n    <text name=\"HomePage\" value=\"ホームページ\" />\n    <text name=\"About\" value=\"我々について\" />\n    <text name=\"WelcomeMessage\" value=\"ようこそ AcmStatisticsBackend へ!\" />\n\n    <text name=\"FormIsNotValidMessage\" value=\"フォームは無効です。エラーを修正してください。\" />\n    <text name=\"TenantNameCanNotBeEmpty\" value=\"テナント名を空にすることはできません\" />\n\n    <text name=\"InvalidUserNameOrPassword\" value=\"無効なユーザー名またはパスワードです\" />\n    <text name=\"ThereIsNoTenantDefinedWithName{0}\" value=\"テナント名前 {0} の定義がありません。\" />\n    <text name=\"TenantIsNotActive\" value=\"テナント {0} はアクティブではありません。 \" />\n    <text name=\"UserIsNotActiveAndCanNotLogin\" value=\"ユーザー {0} がアクティブでなくログインできません。\" />\n    <text name=\"PleaseEnterLoginInformation\" value=\"ログイン情報を入力してください\" />\n    <text name=\"TenancyName\" value=\"テナント名\" />\n    <text name=\"UserNameOrEmail\" value=\"ユーザ名 または E-mail\" />\n    <text name=\"Password\" value=\"パスワード\" />\n    <text name=\"RememberMe\" value=\"ログイン情報を記憶する\" />\n    <text name=\"LogIn\" value=\"ログイン\" />\n\n    <text name=\"LoginFailed\" value=\"ログイン失敗!\" />\n\n    <text name=\"NameSurname\" value=\"名 姓\" />\n    <text name=\"UserName\" value=\"ユーザ名\" />\n    <text name=\"Name\" value=\"名前\" />\n    <text name=\"Surname\" value=\"姓\" />\n    <text name=\"EmailAddress\" value=\"E-mailアドレス\" />\n\n    <text name=\"Tenants\" value=\"テナント\" />\n    <text name=\"SavedSuccessfully\" value=\"保存成功\" />\n    <text name=\"CreateNewTenant\" value=\"新規テナント作成\" />\n    <text name=\"AdminEmailAddress\" value=\"管理者 E-mailアドレス\" />\n    <text name=\"Save\" value=\"保存\" />\n    <text name=\"Cancel\" value=\"キャンセル\" />\n    <text name=\"TenantName_Regex_Description\" value=\"テナント名は少なくとも 2 文字、英字で始まり、文字、数字、ダッシュまたはアンダー スコアである必要があります。\" />\n    <text name=\"DefaultPasswordIs\" value=\"デフォルトパスワードは {0} です\" />\n    <text name=\"CanBeEmptyToLoginAsHost\" value=\"ホストでのログインは空とすることができます。\" />\n    <text name=\"Register\" value=\"登録\" />\n    <text name=\"OrLoginWith\" value=\"または次でログイン\" />\n    <text name=\"WaitingForActivationMessage\" value=\"あなたのアカウントがシステム管理者によってアクティブにされるまで待機しています。\" />\n    <text name=\"TenantSelection\" value=\"テナント選択\" />\n    <text name=\"TenantSelection_Detail\" value=\"次のテナントの 1 つを選択してください。\" />\n    <text name=\"Logout\" value=\"ログアウト\" />\n\n    <text name=\"RegisterFormUserNameInvalidMessage\">ユーザのメールアドレスを入力しないでください。</text>\n\n    <text name=\"DatabaseConnectionString\" value=\"データベース接続文字列\" />\n    <text name=\"Users\" value=\"ユーザ\" />\n    <text name=\"IsActive\" value=\"アクティブ\" />\n    <text name=\"FullName\" value=\"フルネーム\" />\n    <text name=\"CreateNewUser\" value=\"新規ユーザ作成\" />\n    <text name=\"Yes\" value=\"はい\" />\n    <text name=\"No\" value=\"いいえ\" />\n    <text name=\"Optional\" value=\"オプション\" />\n  </texts>\n</localizationDictionary>\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Core/Localization/SourceFiles/AcmStatisticsBackend-lt.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n<localizationDictionary culture=\"lt\">\n  <texts>\n    <text name=\"HomePage\" value=\"Pagrindinis\" />\n    <text name=\"About\" value=\"Apie\" />\n    <text name=\"WelcomeMessage\" value=\"Sveiki atvykė į AcmStatisticsBackend!\" />\n\n    <text name=\"FormIsNotValidMessage\" value=\"Forma blogai užpildyta. Peržiūrėkite ir pataisykite klaidas.\" />\n    <text name=\"TenantNameCanNotBeEmpty\" value=\"Savininko pavadinimas negali būti tuščias\" />\n\n    <text name=\"InvalidUserNameOrPassword\" value=\"Blogas vartotojo vardas ar slaptažodis\" />\n    <text name=\"ThereIsNoTenantDefinedWithName{0}\" value=\"Nėra tokio savininko su pavadinimu {0}\" />\n    <text name=\"TenantIsNotActive\" value=\"Savininkas {0} nėra aktyvus.\" />\n    <text name=\"UserIsNotActiveAndCanNotLogin\" value=\"Vartotojas {0} nėra aktyvus ir todėl negali prisijungti.\" />\n    <text name=\"UserEmailIsNotConfirmedAndCanNotLogin\">Jūsų el. pašto adresas nepatvirtintas. Jūs negalite prisijungti.</text>\n    <text name=\"UserLockedOutMessage\">Vartotojo paskyra buvo užblokuota. Pabandykite dar kartą vėliau.</text>\n    <text name=\"PleaseEnterLoginInformation\" value=\"Įveskite prisijungimo informaciją\" />\n    <text name=\"TenancyName\" value=\"Savininko pavadinimas\" />\n    <text name=\"UserNameOrEmail\" value=\"Vartotojo vardas ar slaptažodis\" />\n    <text name=\"Password\" value=\"Slaptažodis\" />\n    <text name=\"RememberMe\" value=\"Prisiminti mane\" />\n    <text name=\"LogIn\" value=\"Prisijungti\" />\n\n    <text name=\"LoginFailed\" value=\"Prisijungimas nepavyko!\" />\n\n    <text name=\"NameSurname\" value=\"Vardas pavardė\" />\n    <text name=\"UserName\" value=\"Vartotojo vardas\" />\n    <text name=\"Name\" value=\"Vardas\" />\n    <text name=\"Surname\" value=\"Pavardė\" />\n    <text name=\"EmailAddress\" value=\"El. pašto adresas\" />\n\n    <text name=\"Tenants\" value=\"Savininkai\" />\n    <text name=\"SavedSuccessfully\" value=\"Išsaugota sėkmingai\" />\n    <text name=\"CreateNewTenant\" value=\"Sukurti naują savininką\" />\n    <text name=\"AdminEmailAddress\" value=\"Administratoriaus el. pašto adresas\" />\n    <text name=\"Save\" value=\"Išsaugoti\" />\n    <text name=\"Cancel\" value=\"Atšaukti\" />\n    <text name=\"TenantName_Regex_Description\" value=\"Savininko pavadinimas privalo būti bent 2 simboliai, prasidėti su raide, skaičiumi, brūkšneliu ar pabraukimu.\" />\n    <text name=\"DefaultPasswordIs\" value=\"Slaptažodis pagal nutylėjimą yra {0}\" />\n    <text name=\"CanBeEmptyToLoginAsHost\" value=\"Gali būti tuščia prisijungimui šeimininku.\" />\n    <text name=\"Register\" value=\"Registruotis\" />\n    <text name=\"OrLoginWith\" value=\"Arba prisijungti su\" />\n    <text name=\"WaitingForActivationMessage\" value=\"Jūsų paskyra laukia, kol bus aktyvuota sistemos administratoriaus.\" />\n    <text name=\"TenantSelection\" value=\"Savininko Pasirinkimas\" />\n    <text name=\"TenantSelection_Detail\" value=\"Pasirinkite vieną iš šių savininkų.\" />\n    <text name=\"Logout\" value=\"Atsijungti\" />\n\n    <text name=\"RegisterFormUserNameInvalidMessage\">Neveskite el. pašto adreso kaip vartotojo vardo.</text>\n\n    <text name=\"DatabaseConnectionString\" value=\"Duomenų bazės prisijungimo eilutė\" />\n    <text name=\"Users\" value=\"Vartotojai\" />\n    <text name=\"IsActive\" value=\"Aktyvus\" />\n    <text name=\"FullName\" value=\"Vardas pavardė\" />\n    <text name=\"CreateNewUser\" value=\"Sukurti naują vartotoją\" />\n    <text name=\"Yes\" value=\"Taip\" />\n    <text name=\"No\" value=\"Ne\" />\n    <text name=\"Optional\" value=\"Neprivaloma\" />\n    <text name=\"LeaveEmptyToSwitchToHost\">Palikite tuščią, kad perjungtumėte į priimantįjį</text>\n\n    <text name=\"CurrentTenant\">Dabartinis savininkas</text>\n    <text name=\"NotSelected\">Nepasirinkta</text>\n    <text name=\"Change\">Keisti</text>\n    <text name=\"ChangeTenant\">Keisti savininką</text>\n\n    <text name=\"MultiLevelMenu\">Multi Level Menu</text>\n    <text name=\"Back\">Atgal</text>\n    <text name=\"SuccessfullyRegistered\">Sėkmingai užregistruota</text>\n    <text name=\"WaitingForEmailActivation\">Jūsų el. pašto adresas turi būti aktyvuotas.</text>\n    <text name=\"Roles\">Rolės</text>\n    <text name=\"DisplayName\">Rodomas vardas</text>\n\n    <text name=\"Edit\">Keisti</text>\n    <text name=\"Delete\">Trinti</text>\n\n    <text name=\"CreateNewRole\">Kurti naują rolę</text>\n    <text name=\"RoleName\">Rolės pavadinimas</text>\n    <text name=\"Actions\">Veiksmai</text>\n\n    <text name=\"CouldNotCompleteLoginOperation\">Prisijungimo veiksmas nepavyko. Pabandykite vėliau.</text>\n\n    <text name=\"CouldNotValidateExternalUser\">Nepavyko patikrinti išorinio vartotojo</text>\n    <text name=\"EditRole\">Keisti rolę</text>\n    <text name=\"EditTenant\">Keisti savininką</text>\n    <text name=\"EditUser\">Keisti vartotoją</text>\n    <text name=\"TenantIdIsNotActive{0}\">Savininkas su Id {0} yra neaktyvus</text>\n    <text name=\"UnknownTenantId{0}\">Nežinomas savininko Id {0}</text>\n\t\n\t<text name=\"ThisFieldIsRequired\">Šis laukas yra privalomas</text>\n    <text name=\"PleaseWait\">Prašome palaukti...</text>\n    <text name=\"Administration\">Administration</text>\n    <text name=\"ClearAll\">Išvalyti visus</text>\n    <text name=\"ClearOthers\">Išvalyti kitus</text>\n    <text name=\"LabelOptions\">Etiketės nustatymai</text>\n    <text name=\"Permissions\">Leidimai</text>\n    <text name=\"RoleDescription\">Rolės aprašymas</text>\n    <text name=\"Refresh\">Atnaujinti</text>\n    <text name=\"Create\">Sukurti</text>\n    <text name=\"UserDetails\">Vartotojo detalės</text>\n    <text name=\"UserRoles\">Vartotojo rolės</text>\n    <text name=\"ConfirmPassword\">Patvirtinti slaptažodį</text>\n    <text name=\"Version\">Versija</text>\n    <text name=\"On\">Įjungta</text>\n    <text name=\"Off\">Išjungta</text>\n    <text name=\"AreYouSureWantToDelete\">Ar tikrai norite pašalinti {0}?</text>\n    <text name=\"StartTyping\">Pradėkite rašyti</text>\n    <text name=\"Skins\">Apvalkalai</text>\n\t<text name=\"Settings\">Nustatymai</text>\n  </texts>\n</localizationDictionary>\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Core/Localization/SourceFiles/AcmStatisticsBackend-nl.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n<localizationDictionary culture=\"nl\">\n  <texts>\n    <text name=\"HomePage\" value=\"Startpagina\" />\n    <text name=\"About\" value=\"Over\" />\n    <text name=\"WelcomeMessage\" value=\"Welkom bij AcmStatisticsBackend!\" />\n\n    <text name=\"FormIsNotValidMessage\" value=\"Formulier is onjuist ingevuld. Controleer en herstel de fouten.\" />\n    <text name=\"TenantNameCanNotBeEmpty\" value=\"Naam van de huurder mag niet leeg zijn\" />\n\n    <text name=\"InvalidUserNameOrPassword\" value=\"Onjuiste gebruikersnaam en/of wachtwoord\" />\n    <text name=\"ThereIsNoTenantDefinedWithName{0}\" value=\"Er is geen huurder met de naam {0}\" />\n    <text name=\"TenantIsNotActive\" value=\"Huurder {0} is niet actief.\" />\n    <text name=\"UserIsNotActiveAndCanNotLogin\" value=\"Gebruiker {0} is niet actief en kan niet inloggen.\" />\n    <text name=\"UserEmailIsNotConfirmedAndCanNotLogin\">Uw email adres is nog niet bevestigd. U kan niet inloggen.</text>\n    <text name=\"UserLockedOutMessage\">De gebruikersaccount is geblokkeerd. Gelieve later opnieuw te proberen.</text>\n    <text name=\"PleaseEnterLoginInformation\" value=\"Vul gebruikersnaam en wachtwoord in\" />\n    <text name=\"TenancyName\" value=\"Naam huurder\" />\n    <text name=\"UserNameOrEmail\" value=\"Gebruikersnaam of e-mail\" />\n    <text name=\"Password\" value=\"Wachtwoord\" />\n    <text name=\"RememberMe\" value=\"Onthoud mij\" />\n    <text name=\"LogIn\" value=\"Log in\" />\n\n    <text name=\"LoginFailed\" value=\"Inloggen mislukt!\" />\n\n    <text name=\"NameSurname\" value=\"Naam achternaam\" />\n    <text name=\"UserName\" value=\"Gebruikersnaam\" />\n    <text name=\"Name\" value=\"Naam\" />\n    <text name=\"Surname\" value=\"Achternaam\" />\n    <text name=\"EmailAddress\" value=\"E-mailadres\" />\n\n    <text name=\"Tenants\" value=\"Huurders\" />\n    <text name=\"SavedSuccessfully\" value=\"Correct opgeslagen\" />\n    <text name=\"CreateNewTenant\" value=\"Huurder aanmaken\" />\n    <text name=\"AdminEmailAddress\" value=\"E-mailadres beheerder\" />\n    <text name=\"Save\" value=\"Opslaan\" />\n    <text name=\"Cancel\" value=\"Annuleer\" />\n    <text name=\"TenantName_Regex_Description\" value=\"De naam van de huurder dient minimaal 2 tekens te hebben en moet beginnen met een letter en kan daarnaast nog letters, nummers en een (liggend) streepje bevatten.\" />\n    <text name=\"DefaultPasswordIs\" value=\"Standaard wachtwoord is {0}\" />\n    <text name=\"CanBeEmptyToLoginAsHost\" value=\"Kan leeggelaten worden indien je als host in wilt loggen.\" />\n    <text name=\"Register\" value=\"Registreer\" />\n    <text name=\"OrLoginWith\" value=\"Of log in met\" />\n    <text name=\"WaitingForActivationMessage\" value=\"Je account dient nog te worden geactiveerd door de beheerder.\" />\n    <text name=\"TenantSelection\" value=\"Huurder selectie\" />\n    <text name=\"TenantSelection_Detail\" value=\"Selecteer één van onderstaande huurders.\" />\n    <text name=\"Logout\" value=\"Uitloggen\" />\n\n    <text name=\"RegisterFormUserNameInvalidMessage\">Voer a.u.b. geen e-mailadres in als gebruikersnaam.</text>\n\n    <text name=\"DatabaseConnectionString\" value=\"Database connectie string\" />\n    <text name=\"Users\" value=\"Gebruikers\" />\n    <text name=\"IsActive\" value=\"Is actief\" />\n    <text name=\"FullName\" value=\"Volledige naam\" />\n    <text name=\"CreateNewUser\" value=\"Gebruiker aanmaken\" />\n    <text name=\"Yes\" value=\"Ja\" />\n    <text name=\"No\" value=\"Nee\" />\n    <text name=\"Optional\" value=\"Optioneel\" />\n    <text name=\"LeaveEmptyToSwitchToHost\">Laat leeg om naar de host te gaan</text>\n\n    <text name=\"CurrentTenant\">Huidige huurder</text>\n    <text name=\"NotSelected\">Niet geselecteerd</text>\n    <text name=\"Change\">Wijzig</text>\n    <text name=\"ChangeTenant\">Wijzig huurder</text>\n\n    <text name=\"MultiLevelMenu\">Multi Level Menu</text>\n    <text name=\"Back\">Terug</text>\n    <text name=\"SuccessfullyRegistered\">Met success geregistreerd</text>\n    <text name=\"WaitingForEmailActivation\">Uw email adres moet geactiveerd worden</text>\n    <text name=\"Roles\">Rollen</text>\n    <text name=\"DisplayName\">Weergavenaam</text>\n\n    <text name=\"Edit\">Bewerk</text>\n    <text name=\"Delete\">Verwijder</text>\n\n    <text name=\"CreateNewRole\">Maak nieuwe rol</text>\n    <text name=\"RoleName\">Rol Naam</text>\n    <text name=\"Actions\">Acties</text>\n\n    <text name=\"CouldNotCompleteLoginOperation\">De login operatie kon niet afgewerkt worden. Gelieve later opnieuw te proberen.</text>\n\n    <text name=\"CouldNotValidateExternalUser\">De externe gebruiker kon niet gevalideerd worden</text>\n    <text name=\"EditRole\">Bewerk rol</text>\n    <text name=\"EditTenant\">Bewerk huurder</text>\n    <text name=\"EditUser\">Bewerk gebruiker</text>\n    <text name=\"TenantIdIsNotActive{0}\">HuurderId {0} is niet actief</text>\n    <text name=\"UnknownTenantId{0}\">Onbekend huurderId {0}</text>\n  </texts>\n</localizationDictionary>\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Core/Localization/SourceFiles/AcmStatisticsBackend-pt-BR.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n<localizationDictionary culture=\"pt-BR\">\n  <texts>\n    <text name=\"HomePage\" value=\"Página Inicial\" />\n    <text name=\"About\" value=\"Sobre\" />\n    <text name=\"WelcomeMessage\" value=\"Bem Vindo ao AcmStatisticsBackend!\" />\n    <text name=\"FormIsNotValidMessage\" value=\"Formulário não é válido. Por favor, verifique e corrija os erros.\" />\n    <text name=\"TenantNameCanNotBeEmpty\" value=\"Tenant não pode estar vazio\" />\n    <text name=\"InvalidUserNameOrPassword\" value=\"Nome de usuário ou senha inválida\" />\n    <text name=\"ThereIsNoTenantDefinedWithName{0}\" value=\"Não há Tenant definido com o nome {0}\" />\n    <text name=\"TenantIsNotActive\" value=\"Tenant {0} não está ativo.\" />\n    <text name=\"UserIsNotActiveAndCanNotLogin\" value=\"Usuário {0} não está ativo e não pode logar.\" />\n    <text name=\"UserEmailIsNotConfirmedAndCanNotLogin\">Seu email não foi confirmado. Você não pode fazer login.</text>\n    <text name=\"UserLockedOutMessage\">Usuário bloqueado. Por favor, tente mais tarde.</text>\n    <text name=\"PleaseEnterLoginInformation\" value=\"Por favor insira as informações de login\" />\n    <text name=\"TenancyName\" value=\"Nome da Tenancy\" />\n    <text name=\"UserNameOrEmail\" value=\"Nome de usuário ou email\" />\n    <text name=\"Password\" value=\"Senha\" />\n    <text name=\"RememberMe\" value=\"Lembre de mim\" />\n    <text name=\"LogIn\" value=\"Entrar\" />\n    <text name=\"LoginFailed\" value=\"Falha no login!\" />\n    <text name=\"NameSurname\" value=\"Nome sobrenome\" />\n    <text name=\"UserName\" value=\"Nome de usuário\" />\n    <text name=\"Name\" value=\"Nome\" />\n    <text name=\"Surname\" value=\"Sobrenome\" />\n    <text name=\"EmailAddress\" value=\"Endereço de e-mail\" />\n    <text name=\"Tenants\" value=\"Tenants\" />\n    <text name=\"SavedSuccessfully\" value=\"Salvo com sucesso\" />\n    <text name=\"CreateNewTenant\" value=\"Crie um novo tenant\" />\n    <text name=\"AdminEmailAddress\" value=\"Endereço de e-mail administrador\" />\n    <text name=\"Save\" value=\"Salvar\" />\n    <text name=\"Cancel\" value=\"Cancelar\" />\n    <text name=\"TenantName_Regex_Description\" value=\"Tenant deve ter no mínimo 2 caracteres, começa com uma letra e continuar com letra, número, traço ou sublinhado.\" />\n    <text name=\"DefaultPasswordIs\" value=\"Senha padrão é {0}\" />\n    <text name=\"CanBeEmptyToLoginAsHost\" value=\"Pode estar vazio para acessar como Host.\" />\n    <text name=\"Register\" value=\"Registrar\" />\n    <text name=\"OrLoginWith\" value=\"Ou faça o login com\" />\n    <text name=\"WaitingForActivationMessage\" value=\"A sua conta está esperando para ser ativado pelo administrador do sistema.\" />\n    <text name=\"TenantSelection\" value=\"Seleção de Tenant\" />\n    <text name=\"TenantSelection_Detail\" value=\"Por favor selecione um dos seguintes tenants.\" />\n    <text name=\"Logout\" value=\"Sair\" />\n    <text name=\"RegisterFormUserNameInvalidMessage\">Por favor, não entre um email no nome de usuário.</text>\n    <text name=\"DatabaseConnectionString\" value=\"Conexão com o banco de dados (Connection String)\" />\n    <text name=\"Users\" value=\"Usuários\" />\n    <text name=\"IsActive\" value=\"Ativo\" />\n    <text name=\"FullName\" value=\"Nome completo\" />\n    <text name=\"CreateNewUser\" value=\"Novo Usuário\" />\n    <text name=\"Yes\" value=\"Sim\" />\n    <text name=\"No\" value=\"Não\" />\n    <text name=\"Optional\" value=\"Opcional\" />\n    <text name=\"LeaveEmptyToSwitchToHost\">Deixe em branco para mudar para o host.</text>\n    <text name=\"CurrentTenant\">Tenant atual</text>\n    <text name=\"NotSelected\">Não selecionado</text>\n    <text name=\"Change\">Alterar</text>\n    <text name=\"ChangeTenant\">Alterar tenant</text>\n    <text name=\"MultiLevelMenu\">Menu multinível</text>\n    <text name=\"Back\">Voltar</text>\n    <text name=\"SuccessfullyRegistered\">Registrado com sucesso</text>\n    <text name=\"WaitingForEmailActivation\">Seu endereço de email deve ser ativado</text>\n    <text name=\"Roles\">Funções</text>\n    <text name=\"DisplayName\">Nome de apresentação</text>\n    <text name=\"Edit\">Editar</text>\n    <text name=\"Delete\">Excluir</text>\n    <text name=\"CreateNewRole\">Criar nova função</text>\n    <text name=\"RoleName\">Nome da função</text>\n    <text name=\"Actions\">Ações</text>\n    <text name=\"CouldNotCompleteLoginOperation\">Operação de login não foi completada. Tente novamente mais tarde.</text>\n    <text name=\"CouldNotValidateExternalUser\">Não foi possível validar um usuário externo</text>\n    <text name=\"EditRole\">Editar Função</text>\n    <text name=\"EditTenant\">Editar tenant</text>\n    <text name=\"EditUser\">Editar usuário</text>\n    <text name=\"TenantIdIsNotActive{0}\">TenantId {0} não está ativo</text>\n    <text name=\"UnknownTenantId{0}\">TenantId {0} não foi encontrado</text>\n    <text name=\"ThisFieldIsRequired\">Campo obrigatório</text>\n    <text name=\"PleaseWait\">Aguarde...</text>\n    <text name=\"Administration\">Administração</text>\n    <text name=\"ClearAll\">Limpar todos</text>\n    <text name=\"ClearOthers\">Limpar outros</text>\n    <text name=\"LabelOptions\">Opções de Legenda/Rótulo</text>\n    <text name=\"Permissions\">Permissões</text>\n    <text name=\"RoleDescription\">Descrição da função</text>\n    <text name=\"Refresh\">Atualizar</text>\n    <text name=\"Create\">Criar</text>\n    <text name=\"UserDetails\">Detalhes do usuário</text>\n    <text name=\"UserRoles\">Funções de usuário</text>\n    <text name=\"ConfirmPassword\">Confirme a senha</text>\n    <text name=\"Version\">Versão</text>\n    <text name=\"On\">Ligado</text>\n    <text name=\"Off\">Desligado</text>\n    <text name=\"AreYouSureWantToDelete\">Tem certeza que deseja excluir {0}?</text>\n    <text name=\"SuccessfullyDeleted\">Excluído com sucesso</text>\n    <text name=\"StartTyping\">Comece a escrever</text>\n    <text name=\"Skins\">Temas</text>\n    <text name=\"Settings\">Configurações</text>\n    <text name=\"Search\">Procurar</text>\n    <text name=\"UpdatePassword\">Alterar Senha</text>\n    <text name=\"ResetPassword\">Resetar Senha</text>\n    <text name=\"Filter\">Filtrar</text>\n    <text name=\"All\">Todos</text>\n    <text name=\"CurrentPassword\">Senha Atual</text>\n    <text name=\"NewPassword\">Nova Senha</text>\n    <text name=\"ConfirmNewPassword\">Confirme a Nova Senha</text>\n    <text name=\"PasswordsDoNotMatch\">As senhas são diferentes</text>\n    <text name=\"PasswordsMustBeAtLeast8CharactersContainLowercaseUppercaseNumber\">As senhas precisam ter no mínimo 8 caracteres, contendo pelo menos uma letra minúscula, uma maiúscula e um número</text>\n    <text name=\"UserDeleteWarningMessage\">O usuário {0} será excluído.</text>\n    <text name=\"RoleDeleteWarningMessage\">A função {0} será excluída e desassociada de todos os usuários pertencentes a ela.</text>\n    <text name=\"TenantDeleteWarningMessage\">O Tenant {0} será excluído.</text>\n    <text name=\"SearchWithThreeDot\">Pesquisar...</text>\n  </texts>\n</localizationDictionary>\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Core/Localization/SourceFiles/AcmStatisticsBackend-tr.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n<localizationDictionary culture=\"tr\">\n  <texts>\n    <text name=\"HomePage\" value=\"Ana Sayfa\" />\n    <text name=\"About\" value=\"Hakkında\" />\n    <text name=\"WelcomeMessage\" value=\"AcmStatisticsBackend projesine hoşgeldiniz!\" />\n    <text name=\"FormIsNotValidMessage\" value=\"Form geçerli değil. Lütfen kontrol edip hataları düzeltin.\" />\n    <text name=\"TenantNameCanNotBeEmpty\" value=\"Müşteri adı boş bırakılamaz.\" />\n    <text name=\"InvalidUserNameOrPassword\" value=\"Kullanıcı adı ya da şifre hatalı.\" />\n    <text name=\"ThereIsNoTenantDefinedWithName{0}\" value=\"{0} isminde bir müşteri tanımlı değildir.\" />\n    <text name=\"TenantIsNotActive\" value=\"{0} isimli müşteri aktif edilmemiştir.\" />\n    <text name=\"UserIsNotActiveAndCanNotLogin\" value=\"{0} isimli kullanıcı pasife alınmıştır ve sisteme giremez.\" />\n    <text name=\"UserEmailIsNotConfirmedAndCanNotLogin\">E-posta adresiniz doğrulanmadı, giriş yapamazsınız.</text>\n    <text name=\"UserLockedOutMessage\">Kullanıcı hesabı kilitlenmiş. Lütfen bir süre sonra tekrar deneyin.</text>\n    <text name=\"PleaseEnterLoginInformation\" value=\"Lütfen giriş bilgilerinizi girin\" />\n    <text name=\"TenancyName\" value=\"Müşteri adı\" />\n    <text name=\"UserNameOrEmail\" value=\"Kullanıcı adı ya da e-posta\" />\n    <text name=\"Password\" value=\"Şifre\" />\n    <text name=\"RememberMe\" value=\"Beni hatırla\" />\n    <text name=\"LogIn\" value=\"Giriş\" />\n    <text name=\"LoginFailed\" value=\"Giriş başarısız!\" />\n    <text name=\"NameSurname\" value=\"Ad soyad\" />\n    <text name=\"UserName\" value=\"Kullanıcı adı\" />\n    <text name=\"Name\" value=\"İsim\" />\n    <text name=\"Surname\" value=\"Soy isim\" />\n    <text name=\"EmailAddress\" value=\"E-posta adresi\" />\n    <text name=\"Tenants\" value=\"Müşteriler\" />\n    <text name=\"SavedSuccessfully\" value=\"Başarıyla kaydedildi\" />\n    <text name=\"CreateNewTenant\" value=\"Yeni müşteri oluştur\" />\n    <text name=\"AdminEmailAddress\" value=\"Yönetici e-posta adresi\" />\n    <text name=\"Save\" value=\"Kaydet\" />\n    <text name=\"Cancel\" value=\"İptal\" />\n    <text name=\"TenantName_Regex_Description\" value=\"Müşteri adı en az 2 karakter olmalı, bir harfle başlamalı ve harf, rakam, tire ya da alt çizgi ile devam etmelidir.\" />\n    <text name=\"DefaultPasswordIs\" value=\"Varsayılan şifre {0}\" />\n    <text name=\"CanBeEmptyToLoginAsHost\" value=\"Host olarak giriş yapmak için boş bırakılabilir.\" />\n    <text name=\"Register\" value=\"Kayıt ol\" />\n    <text name=\"OrLoginWith\" value=\"Ya da şununla giriş yap\" />\n    <text name=\"WaitingForActivationMessage\" value=\"Hesabınız sistem yöneticisi tarafından etkinleştirilmek için bekliyor.\" />\n    <text name=\"TenantSelection\" value=\"Müşteri seçimi\" />\n    <text name=\"TenantSelection_Detail\" value=\"Lütfen aşağıdaki müşterilerden birisini seçin.\" />\n    <text name=\"Logout\" value=\"Çıkış\" />\n    <text name=\"RegisterFormUserNameInvalidMessage\">Lütfen kullanıcı adı alanına e-posta adresi girmeyin.</text>\n    <text name=\"DatabaseConnectionString\" value=\"Veritabanı bağlantı cümlesi\" />\n    <text name=\"Users\" value=\"Kullanıcılar\" />\n    <text name=\"IsActive\" value=\"Etkin mi\" />\n    <text name=\"FullName\" value=\"Tam adı\" />\n    <text name=\"CreateNewUser\" value=\"Yeni kullanıcı oluştur\" />\n    <text name=\"Yes\" value=\"Evet\" />\n    <text name=\"No\" value=\"Hayır\" />\n    <text name=\"Optional\" value=\"Opsiyonel\" />\n    <text name=\"LeaveEmptyToSwitchToHost\">Üst kullanıcıya geçiş için boş değer girin.</text>\n    <text name=\"CurrentTenant\">Geçerli müşteri</text>\n    <text name=\"NotSelected\">Seçilmemiş</text>\n    <text name=\"Change\">Değiştir</text>\n    <text name=\"ChangeTenant\">Müşteri değiştir</text>\n    <text name=\"MultiLevelMenu\">Çok Seviyeli Menü</text>\n    <text name=\"Back\">Geri</text>\n    <text name=\"SuccessfullyRegistered\">Başarıyla kayıt olundu</text>\n    <text name=\"WaitingForEmailActivation\">E-posta adresiniz etkinleştirilmeli.</text>\n    <text name=\"Roles\">Roller</text>\n    <text name=\"DisplayName\">Görünen ad</text>\n    <text name=\"Edit\">Düzenle</text>\n    <text name=\"Delete\">Sil</text>\n    <text name=\"CreateNewRole\">Yeni rol oluştur</text>\n    <text name=\"RoleName\">Rol adı</text>\n    <text name=\"Actions\">İşlemler</text>\n    <text name=\"CouldNotCompleteLoginOperation\">Giriş işlemi başarısız! Lütfen daha sonra tekrar deneyiniz.</text>\n    <text name=\"CouldNotValidateExternalUser\">Harici kullanıcı doğrulanamadı!</text>\n    <text name=\"EditRole\">Rolü düzenle</text>\n    <text name=\"EditTenant\">Müşteri düzenle</text>\n    <text name=\"EditUser\">Kullanıcı düzenleme</text>\n    <text name=\"TenantIdIsNotActive{0}\">Müşteri id aktif değil: {0}</text>\n    <text name=\"UnknownTenantId{0}\">Müşteri id aktif değil: {0}</text>\n    <text name=\"ThisFieldIsRequired\">Bu alan zorunludur.</text>\n    <text name=\"PleaseWait\">Lütfen bekleyin...</text>\n    <text name=\"Administration\">Yönetim</text>\n    <text name=\"ClearAll\">Hepsini temizle</text>\n    <text name=\"ClearOthers\">Diğerlerini temizle</text>\n    <text name=\"LabelOptions\">Etikent seçenekleri</text>\n    <text name=\"Permissions\">Yetkiler</text>\n    <text name=\"RoleDescription\">Rol tanımı</text>\n    <text name=\"Refresh\">Yenile</text>\n    <text name=\"Create\">Oluştur</text>\n    <text name=\"UserDetails\">Kullanıcı detayları</text>\n    <text name=\"UserRoles\">Kullanıcı rolleri</text>\n    <text name=\"UserDeleteWarningMessage\">{0} kullanıcısı silinecektir.</text>\n    <text name=\"RoleDeleteWarningMessage\">{0} rolü silinecek ve atanmış kullanıcılardan kaldırılacaktır.</text>\n    <text name=\"TenantDeleteWarningMessage\">{0} müşterisi silinecektir.</text>\n    <text name=\"SearchWithThreeDot\">Ara...</text>\n  </texts>\n</localizationDictionary>"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Core/Localization/SourceFiles/AcmStatisticsBackend-zh-Hans.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n<localizationDictionary culture=\"zh-Hans\">\n  <texts>\n    <text name=\"HomePage\" value=\"主页\" />\n    <text name=\"About\" value=\"关于我们\" />\n    <text name=\"WelcomeMessage\" value=\"欢迎使用 AcmStatisticsBackend!\" />\n    <text name=\"FormIsNotValidMessage\" value=\"部分输入信息不符合要求，请检查并改正..\" />\n    <text name=\"TenantNameCanNotBeEmpty\" value=\"租户名不能为空\" />\n    <text name=\"InvalidUserNameOrPassword\" value=\"用户名或密码无效\" />\n    <text name=\"ThereIsNoTenantDefinedWithName{0}\" value=\"租户 {0}不存在\" />\n    <text name=\"TenantIsNotActive\" value=\"租户 {0} 未激活.\" />\n    <text name=\"UserIsNotActiveAndCanNotLogin\" value=\"用户 {0} 未激活，不能登录.\" />\n    <text name=\"PleaseEnterLoginInformation\" value=\"请输入登录信息\" />\n    <text name=\"TenancyName\" value=\"租户标识\" />\n    <text name=\"UserNameOrEmail\" value=\"用户名或邮箱地址\" />\n    <text name=\"Password\" value=\"密码\" />\n    <text name=\"RememberMe\" value=\"记住我\" />\n    <text name=\"ForgetPassword\" value=\"忘记密码\"/>\n    <text name=\"NotSelected\" value=\"未选\"/>\n    <text name=\"ChangeTenant\" value=\"更改租户\"/>\n    <text name=\"LeaveEmptyToSwitchToHost\" value=\"留空以切换到Host\"/>\n    <text name=\"LogIn\" value=\"登录\" />\n    <text name=\"LoginFailed\" value=\"登录失败!\" />\n    <text name=\"AppName\" >AcmStatisticsBackend</text>\n    <text name=\"UserNamePlaceholder\" >请输入账户</text>\n    <text name=\"PasswordPlaceholder\" >请输入密码</text>\n    <text name=\"CopyRight\" >© 2018 AcmStatisticsBackend</text>\n    <text name=\"LoginPrompt\" >正在登陆，请稍候！</text>\n    <text name=\"UserProfile\" >用户资料</text>\n    <text name=\"Users\" >用户</text>\n    <text name=\"Roles\" >角色</text>\n    <text name=\"Tenants\" >租户</text>\n    <text name=\"Logout\" >注销</text>\n    <text name=\"ManageMenu\" >菜单</text>\n    <text name=\"LabelOptions\" >页签操作</text>\n    <text name=\"ClearAll\" >关闭所有</text>\n    <text name=\"ClearOthers\" >关闭其他</text>\n    <text name=\"Create\" >创建</text>\n    <text name=\"Add\" >添加</text>\n    <text name=\"Edit\" >编辑</text>\n    <text name=\"Delete\">删除</text>\n    <text name=\"Find\" >查找</text>\n    <text name=\"CreationTime\">创建时间</text>\n    <text name=\"Actions\">操作</text>\n    <text name=\"Keyword\">关键字</text>\n    <text name=\"NoDatas\">没有结果</text>\n    <text name=\"Select\">请选择</text>\n    <text name=\"SelectDate\">请选择</text>\n    <text name=\"Tips\">提示</text>\n    <text name=\"DeleteConfirm\">确定删除？</text>\n    <text name=\"Title\" >标题</text>\n    <text name=\"Content\" >内容</text>\n    <text name=\"ChangePassword\" >修改密码</text>\n    <text name=\"PasswordComplexityNotSatisfied\">密码复杂度要求不符.</text>\n    <text name=\"PasswordRequireDigit\">密码至少需要一位是0到9的数字.</text>\n    <text name=\"PasswordRequireLowercase\">密码至少需要一位是a到z的小写字母.</text>\n    <text name=\"PasswordRequireNonAlphanumeric\">密码至少需要包含一个特殊字符（非字母或数字的字符）.</text>\n    <text name=\"PasswordRequireUppercase\">密码至少需要一位是A到Z的大写字母.</text>\n    <text name=\"PasswordTooShort\">密码长度太短</text>\n    <text name=\"UserName\">用户名</text>\n    <text name=\"Name\">名称</text>\n    <text name=\"IsActive\">是否启用</text>\n    <text name=\"LastLoginTime\">最近登陆时间</text>\n    <text name=\"RoleName\">角色名</text>\n    <text name=\"DisplayName\">显示名</text>\n    <text name=\"Description\">描述</text>\n    <text name=\"IsStatic\">是否内置</text>\n\n    <text name=\"All\">全部</text>\n    <text name=\"Actived\">启用</text>\n    <text name=\"NoActive\">未启用</text>\n    \n    <text name=\"Yes\">是</text>\n    <text name=\"No\">否</text>\n    \n    <text name=\"Cancel\">取消</text>\n    <text name=\"OK\">确定</text>\n    <text name=\"CreateNewRole\">创建新角色</text>\n    <text name=\"RoleDetails\">角色详情</text>\n    <text name=\"RolePermission\">角色权限</text>\n    <text name=\"EditRole\">编辑角色</text>\n    <text name=\"DeleteRolesConfirm\">确认删除该角色？</text>\n\n    <text name=\"CreateNewUser\">创建新用户</text>\n    <text name=\"UserDetails\">用户详情</text>\n    <text name=\"UserRoles\">用户角色</text>\n    <text name=\"ConfirmPassword\">确认密码</text>\n    <text name=\"EmailAddress\">邮箱地址</text>\n    <text name=\"Surname\">姓</text>\n    <text name=\"DeleteUserConfirm\">确认删除该用户？</text>\n    <text name=\"EditUser\">编辑用户</text>\n\n    <text name=\"CreateNewTenant\">创建新租户</text>\n    <text name=\"DatabaseConnectionString\">数据库连接</text>\n    <text name=\"AdminEmailAddress\">管理员邮箱地址</text>\n    <text name=\"DefaultPasswordIs\">默认密码为：{0}</text>\n    <text name=\"DeleteTenantConfirm\">确认删除该租户？</text>\n    <text name=\"EditTenant\">编辑租户</text>\n    <text name=\"SearchWithThreeDot\">搜索...</text>\n    \n  </texts>\n</localizationDictionary>\n\n\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Core/Localization/SourceFiles/AcmStatisticsBackend.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n<localizationDictionary culture=\"en\">\n  <texts>\n    <text name=\"HomePage\" value=\"Home page\" />\n    <text name=\"About\" value=\"About\" />\n    <text name=\"WelcomeMessage\" value=\"Welcome to AcmStatisticsBackend!\" />\n    <text name=\"FormIsNotValidMessage\" value=\"Form is not valid. Please check and fix errors.\" />\n    <text name=\"TenantNameCanNotBeEmpty\" value=\"Tenant name can not be empty\" />\n    <text name=\"InvalidUserNameOrPassword\" value=\"Invalid user name or password\" />\n    <text name=\"ThereIsNoTenantDefinedWithName{0}\" value=\"There is no tenant defined with name {0}\" />\n    <text name=\"TenantIsNotActive\" value=\"Tenant {0} is not active.\" />\n    <text name=\"UserIsNotActiveAndCanNotLogin\" value=\"User {0} is not active and can not log in.\" />\n    <text name=\"UserEmailIsNotConfirmedAndCanNotLogin\">Your email address is not confirmed. You can not login.</text>\n    <text name=\"UserLockedOutMessage\">The user account has been locked out. Please try again later.</text>\n    <text name=\"PleaseEnterLoginInformation\" value=\"Please enter login information\" />\n    <text name=\"TenancyName\" value=\"Tenancy name\" />\n    <text name=\"UserNameOrEmail\" value=\"User name or email\" />\n    <text name=\"Password\" value=\"Password\" />\n    <text name=\"ResetPassword\" value=\"Reset Password\" />\n    <text name=\"UpdatePassword\" value=\"Update Password\" />\n    <text name=\"RememberMe\" value=\"Remember me\" />\n    <text name=\"LogIn\" value=\"Log in\" />\n    <text name=\"LoginFailed\" value=\"Login failed!\" />\n    <text name=\"NameSurname\" value=\"Name surname\" />\n    <text name=\"UserName\" value=\"User name\" />\n    <text name=\"Name\" value=\"Name\" />\n    <text name=\"Surname\" value=\"Surname\" />\n    <text name=\"EmailAddress\" value=\"Email address\" />\n    <text name=\"Tenants\" value=\"Tenants\" />\n    <text name=\"SavedSuccessfully\" value=\"Saved successfully\" />\n    <text name=\"CreateNewTenant\" value=\"Create new tenant\" />\n    <text name=\"AdminEmailAddress\" value=\"Admin email address\" />\n    <text name=\"AdminPassword\" value=\"Admin password\" />\n    <text name=\"Save\" value=\"Save\" />\n    <text name=\"Cancel\" value=\"Cancel\" />\n    <text name=\"TenantName_Regex_Description\" value=\"Tenant name must be at least 2 chars, starts with a letter and continue with letter, number, dash or underscore.\" />\n    <text name=\"DefaultPasswordIs\" value=\"Default password is {0}\" />\n    <text name=\"CanBeEmptyToLoginAsHost\" value=\"Can be empty to login as host.\" />\n    <text name=\"Register\" value=\"Register\" />\n    <text name=\"OrLoginWith\" value=\"Or login with\" />\n    <text name=\"WaitingForActivationMessage\" value=\"Your account is waiting to be activated by system admin.\" />\n    <text name=\"TenantSelection\" value=\"Tenant Selection\" />\n    <text name=\"TenantSelection_Detail\" value=\"Please select one of the following tenants.\" />\n    <text name=\"Logout\" value=\"Logout\" />\n    <text name=\"RegisterFormUserNameInvalidMessage\">Please don't enter an email address for username.</text>\n    <text name=\"DatabaseConnectionString\" value=\"Database connection string\" />\n    <text name=\"Users\" value=\"Users\" />\n    <text name=\"IsActive\" value=\"Is active\" />\n    <text name=\"FullName\" value=\"Full name\" />\n    <text name=\"CreateNewUser\" value=\"Create new user\" />\n    <text name=\"Yes\" value=\"Yes\" />\n    <text name=\"No\" value=\"No\" />\n    <text name=\"Optional\" value=\"Optional\" />\n    <text name=\"LeaveEmptyToSwitchToHost\">Leave empty to switch to the host</text>\n    <text name=\"CurrentTenant\">Current tenant</text>\n    <text name=\"NotSelected\">Not selected</text>\n    <text name=\"Change\">Change</text>\n    <text name=\"ChangeTenant\">Change tenant</text>\n    <text name=\"MultiLevelMenu\">Multi Level Menu</text>\n    <text name=\"Back\">Back</text>\n    <text name=\"SuccessfullyRegistered\">Successfully registered</text>\n    <text name=\"WaitingForEmailActivation\">Your email address should be activated</text>\n    <text name=\"Roles\">Roles</text>\n    <text name=\"DisplayName\">Display Name</text>\n    <text name=\"Edit\">Edit</text>\n    <text name=\"Delete\">Delete</text>\n    <text name=\"CreateNewRole\">Create new role</text>\n    <text name=\"RoleName\">Role Name</text>\n    <text name=\"Actions\">Actions</text>\n    <text name=\"CouldNotCompleteLoginOperation\">Could not complete login operation. Please try again later.</text>\n    <text name=\"CouldNotValidateExternalUser\">Could not validate external user</text>\n    <text name=\"EditRole\">Edit role</text>\n    <text name=\"EditTenant\">Edit tenant</text>\n    <text name=\"EditUser\">Edit user</text>\n    <text name=\"TenantIdIsNotActive{0}\">TenantId {0} is not active</text>\n    <text name=\"UnknownTenantId{0}\">Unknown tenantId {0}</text>\n    <text name=\"ThisFieldIsRequired\">This field is required</text>\n    <text name=\"PleaseWait\">Please wait...</text>\n    <text name=\"Administration\">Administration</text>\n    <text name=\"ClearAll\">Clear all</text>\n    <text name=\"ClearOthers\">Clear others</text>\n    <text name=\"LabelOptions\">Label options</text>\n    <text name=\"Permissions\">Permissions</text>\n    <text name=\"RoleDescription\">Role description</text>\n    <text name=\"Refresh\">Refresh</text>\n    <text name=\"Create\">Create</text>\n    <text name=\"UserDetails\">User details</text>\n    <text name=\"UserRoles\">User roles</text>\n    <text name=\"ConfirmPassword\">Confirm password</text>\n    <text name=\"Version\">Version</text>\n    <text name=\"On\">On</text>\n    <text name=\"Off\">Off</text>\n    <text name=\"AreYouSureWantToDelete\">Are you sure want to delete {0}?</text>\n    <text name=\"SuccessfullyDeleted\">Successfully deleted</text>\n    <text name=\"StartTyping\">Start Typing</text>\n    <text name=\"Skins\">Skins</text>\n    <text name=\"Settings\">Settings</text>\n    <text name=\"Filter\">Filter</text>\n    <text name=\"CurrentPassword\">Current Password</text>\n    <text name=\"NewPassword\">New Password</text>\n    <text name=\"ConfirmNewPassword\">Confirm New Password</text>\n    <text name=\"PasswordsDoNotMatch\">Passwords do not match</text>\n    <text name=\"PasswordsMustBeAtLeast8CharactersContainLowercaseUppercaseNumber\">Passwords must be at least 8 characters, contain a lowercase, uppercase, and number</text>\n    <text name=\"UserDeleteWarningMessage\">User {0} will be deleted.</text>\n    <text name=\"RoleDeleteWarningMessage\">Role {0} will be deleted and unassigned from all assigned users.</text>\n    <text name=\"TenantDeleteWarningMessage\">Tenant {0} will be deleted.</text>\n    <text name=\"SearchWithThreeDot\">Search...</text>\n  </texts>\n</localizationDictionary>\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Core/MultiTenancy/Tenant.cs",
    "content": "﻿using Abp.MultiTenancy;\nusing AcmStatisticsBackend.Authorization.Users;\n\nnamespace AcmStatisticsBackend.MultiTenancy\n{\n    public class Tenant : AbpTenant<User>\n    {\n        public Tenant()\n        {\n        }\n\n        public Tenant(string tenancyName, string name)\n            : base(tenancyName, name)\n        {\n        }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Core/MultiTenancy/TenantManager.cs",
    "content": "﻿using Abp.Application.Features;\nusing Abp.Domain.Repositories;\nusing Abp.MultiTenancy;\nusing AcmStatisticsBackend.Authorization.Users;\nusing AcmStatisticsBackend.Editions;\n\nnamespace AcmStatisticsBackend.MultiTenancy\n{\n    public class TenantManager : AbpTenantManager<Tenant, User>\n    {\n        public TenantManager(\n            IRepository<Tenant> tenantRepository,\n            IRepository<TenantFeatureSetting, long> tenantFeatureRepository,\n            EditionManager editionManager,\n            IAbpZeroFeatureValueStore featureValueStore)\n            : base(\n                tenantRepository,\n                tenantFeatureRepository,\n                editionManager,\n                featureValueStore)\n        {\n        }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Core/Properties/AssemblyInfo.cs",
    "content": "﻿using System.Reflection;\nusing System.Runtime.InteropServices;\n\n// General Information about an assembly is controlled through the following\n// set of attributes. Change these attribute values to modify the information\n// associated with an assembly.\n[assembly: AssemblyConfiguration(\"\")]\n[assembly: AssemblyCompany(\"\")]\n[assembly: AssemblyProduct(\"AcmStatisticsBackend.Core\")]\n[assembly: AssemblyTrademark(\"\")]\n\n// Setting ComVisible to false makes the types in this assembly not visible\n// to COM components.  If you need to access a type in this assembly from\n// COM, set the ComVisible attribute to true on that type.\n[assembly: ComVisible(false)]\n\n// The following GUID is for the ID of the typelib if this project is exposed to COM\n[assembly: Guid(\"0fa75a5b-ab83-4fd0-b545-279774c01e87\")]\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Core/ServiceClients/CaptchaServiceClient.cs",
    "content": "using System.Threading.Tasks;\nusing Abp.Dependency;\nusing Flurl.Http;\n\nnamespace AcmStatisticsBackend.ServiceClients\n{\n    public class CaptchaServiceClient : ICaptchaServiceClient, ISingletonDependency\n    {\n        /// <inheritdoc cref=\"ICaptchaServiceClient.ValidateAsync\"/>\n        public async Task<CaptchaServiceValidateResult> ValidateAsync(string id, string text)\n        {\n            var response = await \"http://captcha-service/api/captcha-service/validate\"\n                .AllowHttpStatus(\"400\")\n                .PostUrlEncodedAsync(new\n                {\n                    id = id,\n                    text = text,\n                })\n                .ReceiveJson<CaptchaServiceValidateRestResponse>();\n\n            var result = new CaptchaServiceValidateResult\n            {\n                Correct = !response.error,\n            };\n            if (response.error)\n            {\n                result.ErrorMessage = response.message;\n            }\n\n            return result;\n        }\n\n        private class CaptchaServiceValidateRestResponse\n        {\n            // rest 里不是大写\n#pragma warning disable SA1300\n            public bool error { get; set; }\n            public string message { get; set; }\n#pragma warning restore SA1300\n        }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Core/ServiceClients/CaptchaServiceValidateResult.cs",
    "content": "namespace AcmStatisticsBackend.ServiceClients\n{\n    /// <summary>\n    /// <see cref=\"ICaptchaServiceClient.ValidateAsync\"/> 的返回值\n    /// </summary>\n    public class CaptchaServiceValidateResult\n    {\n        /// <summary>\n        /// 验证结果是否正确\n        /// </summary>\n        public bool Correct { get; set; }\n\n        /// <summary>\n        /// 如果不正确，这里存放错误信息\n        /// </summary>\n        public string ErrorMessage { get; set; } = \"\";\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Core/ServiceClients/CrawlerApiBackendClient.cs",
    "content": "﻿using System.Collections.Generic;\nusing System.Collections.Immutable;\nusing System.Linq;\nusing System.Threading.Tasks;\nusing Abp.Dependency;\nusing Flurl.Http;\n\nnamespace AcmStatisticsBackend.ServiceClients\n{\n    public class CrawlerApiBackendClient : ICrawlerApiBackendClient, ISingletonDependency\n    {\n        private IReadOnlyCollection<CrawlerMetaItem> _cachedMeta = null;\n\n        public async Task<IReadOnlyCollection<CrawlerMetaItem>> GetCrawlerMeta()\n        {\n            if (_cachedMeta == null)\n            {\n                var res = await \"http://crawler-api-backend/api/crawlers/\"\n                    .GetJsonAsync<GetMetaReturn>();\n\n                _cachedMeta = res.data\n                    .Select(pair => new CrawlerMetaItem\n                    {\n                        CrawlerName = pair.Key,\n                        CrawlerTitle = pair.Value.title,\n                        CrawlerDescription = pair.Value.description,\n                        Url = pair.Value.url,\n                        IsVirtualJudge = pair.Value.virtual_judge == true,\n                    })\n                    .ToList();\n            }\n\n            return _cachedMeta;\n        }\n\n        // Not capitalized in json\n#pragma warning disable SA1300\n        private class GetMetaReturn\n        {\n            public bool error { get; set; }\n\n            public IDictionary<string, DataItem> data { get; set; }\n        }\n\n        private class DataItem\n        {\n            public string title { get; set; }\n            public string description { get; set; }\n            public string url { get; set; }\n            public bool? virtual_judge { get; set; }\n        }\n#pragma warning restore SA1300\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Core/ServiceClients/CrawlerMetaItem.cs",
    "content": "﻿using System.ComponentModel.DataAnnotations;\nusing System.Diagnostics.CodeAnalysis;\n\nnamespace AcmStatisticsBackend.ServiceClients\n{\n    public class CrawlerMetaItem\n    {\n        [Required]\n        public string CrawlerName { get; set; }\n\n        [Required]\n        public string CrawlerTitle { get; set; }\n\n        [AllowNull]\n        public string CrawlerDescription { get; set; }\n\n        [Required]\n        public string Url { get; set; }\n\n        public bool IsVirtualJudge { get; set; }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Core/ServiceClients/ICaptchaServiceClient.cs",
    "content": "using System.Threading.Tasks;\n\nnamespace AcmStatisticsBackend.ServiceClients\n{\n    public interface ICaptchaServiceClient\n    {\n        /// <summary>\n        /// 验证码是否正确\n        /// </summary>\n        /// <param name=\"id\">验证码的ID</param>\n        /// <param name=\"text\">用户输入的验证码</param>\n        /// <returns>验证结果。如果不正确，返回(false, 错误信息)</returns>\n        Task<CaptchaServiceValidateResult> ValidateAsync(string id, string text);\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Core/ServiceClients/ICrawlerApiBackendClient.cs",
    "content": "﻿using System.Collections.Generic;\nusing System.Collections.Immutable;\nusing System.Threading.Tasks;\n\nnamespace AcmStatisticsBackend.ServiceClients\n{\n    public interface ICrawlerApiBackendClient\n    {\n        /// <summary>\n        /// Get the meta data of crawlers\n        /// </summary>\n        Task<IReadOnlyCollection<CrawlerMetaItem>> GetCrawlerMeta();\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Core/Settings/UserSettingAttribute.cs",
    "content": "﻿using System;\nusing System.ComponentModel.DataAnnotations;\nusing Abp.Domain.Entities;\nusing Abp.Domain.Entities.Auditing;\nusing AcmStatisticsBackend.Authorization.Users;\n\nnamespace AcmStatisticsBackend.Settings\n{\n    /// <summary>\n    /// Setting attributes for each user.\n    /// </summary>\n    public class UserSettingAttribute : Entity<long>, IAudited<User>\n    {\n        [Required]\n        public User User { get; set; }\n        public long UserId { get; set; }\n\n        /// <summary>\n        /// The time (UTC) of last time zone changed.\n        /// </summary>\n        public DateTime? LastTimeZoneChangedTime { get; set; }\n\n        public DateTime CreationTime { get; set; }\n        public long? CreatorUserId { get; set; }\n        public DateTime? LastModificationTime { get; set; }\n        public long? LastModifierUserId { get; set; }\n        public User CreatorUser { get; set; }\n        public User LastModifierUser { get; set; }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Core/Timing/AppTimes.cs",
    "content": "﻿using System;\nusing Abp.Dependency;\n\nnamespace AcmStatisticsBackend.Timing\n{\n    public class AppTimes : ISingletonDependency\n    {\n        /// <summary>\n        /// Gets or sets the startup time of the application.\n        /// </summary>\n        public DateTime StartupTime { get; set; }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Core/Validation/ValidationHelper.cs",
    "content": "﻿using System.Text.RegularExpressions;\nusing Abp.Extensions;\n\nnamespace AcmStatisticsBackend.Validation\n{\n    public static class ValidationHelper\n    {\n        public const string EmailRegex = @\"^\\w+([-+.']\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$\";\n\n        public static bool IsEmail(string value)\n        {\n            if (value.IsNullOrEmpty())\n            {\n                return false;\n            }\n\n            var regex = new Regex(EmailRegex);\n            return regex.IsMatch(value);\n        }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Core/Web/WebContentFolderHelper.cs",
    "content": "﻿using System;\nusing System.IO;\nusing System.Linq;\nusing Abp.Reflection.Extensions;\n\nnamespace AcmStatisticsBackend.Web\n{\n    /// <summary>\n    /// This class is used to find root path of the web project in;\n    /// unit tests (to find views) and entity framework core command line commands (to find conn string).\n    /// </summary>\n    public static class WebContentDirectoryFinder\n    {\n        public static string CalculateContentRootFolder()\n        {\n            var coreAssemblyDirectoryPath = Path.GetDirectoryName(typeof(AcmStatisticsBackendCoreModule).GetAssembly().Location);\n            if (coreAssemblyDirectoryPath == null)\n            {\n                throw new Exception(\"Could not find location of AcmStatisticsBackend.Core assembly!\");\n            }\n\n            var directoryInfo = new DirectoryInfo(coreAssemblyDirectoryPath);\n            while (!DirectoryContains(directoryInfo.FullName, \"AcmStatisticsBackend.sln\"))\n            {\n                if (directoryInfo.Parent == null)\n                {\n                    throw new Exception(\"Could not find content root folder!\");\n                }\n\n                directoryInfo = directoryInfo.Parent;\n            }\n\n            var webMvcFolder = Path.Combine(directoryInfo.FullName, \"src\", \"AcmStatisticsBackend.Web.Mvc\");\n            if (Directory.Exists(webMvcFolder))\n            {\n                return webMvcFolder;\n            }\n\n            var webHostFolder = Path.Combine(directoryInfo.FullName, \"src\", \"AcmStatisticsBackend.Web.Host\");\n            if (Directory.Exists(webHostFolder))\n            {\n                return webHostFolder;\n            }\n\n            throw new Exception(\"Could not find root folder of the web project!\");\n        }\n\n        private static bool DirectoryContains(string directory, string fileName)\n        {\n            return Directory.GetFiles(directory).Any(filePath => string.Equals(Path.GetFileName(filePath), fileName));\n        }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.EntityFrameworkCore/AcmStatisticsBackend.EntityFrameworkCore.csproj",
    "content": "<Project Sdk=\"Microsoft.NET.Sdk\">\n  <PropertyGroup>\n    <TargetFramework>net8.0</TargetFramework>\n    <RootNamespace>AcmStatisticsBackend</RootNamespace>\n    <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>\n    <GenerateBindingRedirectsOutputType>true</GenerateBindingRedirectsOutputType>\n    <GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles>\n  </PropertyGroup>\n  <ItemGroup>\n    <PackageReference Include=\"Microsoft.EntityFrameworkCore.Tools\" Version=\"8.0.24\">\n      <PrivateAssets>all</PrivateAssets>\n      <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>\n    </PackageReference>\n    <PackageReference Include=\"Pomelo.EntityFrameworkCore.MySql\" Version=\"8.0.3\" />\n    <PackageReference Include=\"Pomelo.EntityFrameworkCore.MySql.Design\" Version=\"1.1.2\" />\n  </ItemGroup>\n  <ItemGroup>\n    <ProjectReference Include=\"..\\AcmStatisticsBackend.Core\\AcmStatisticsBackend.Core.csproj\" />\n  </ItemGroup>\n</Project>\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.EntityFrameworkCore/EntityFrameworkCore/AbpZeroDbMigrator.cs",
    "content": "﻿using Abp.Domain.Uow;\nusing Abp.EntityFrameworkCore;\nusing Abp.MultiTenancy;\nusing Abp.Zero.EntityFrameworkCore;\n\nnamespace AcmStatisticsBackend.EntityFrameworkCore\n{\n    public class AbpZeroDbMigrator : AbpZeroDbMigrator<AcmStatisticsBackendDbContext>\n    {\n        public AbpZeroDbMigrator(\n            IUnitOfWorkManager unitOfWorkManager,\n            IDbPerTenantConnectionStringResolver connectionStringResolver,\n            IDbContextResolver dbContextResolver)\n            : base(\n                unitOfWorkManager,\n                connectionStringResolver,\n                dbContextResolver)\n        {\n        }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.EntityFrameworkCore/EntityFrameworkCore/AcmStatisticsBackendDbContext.cs",
    "content": "﻿using System.Collections.Generic;\nusing Abp.Json;\nusing Abp.Zero.EntityFrameworkCore;\nusing AcmStatisticsBackend.Authorization.Roles;\nusing AcmStatisticsBackend.Authorization.Users;\nusing AcmStatisticsBackend.Crawlers;\nusing AcmStatisticsBackend.MultiTenancy;\nusing AcmStatisticsBackend.Settings;\nusing Microsoft.EntityFrameworkCore;\nusing Newtonsoft.Json;\n\nnamespace AcmStatisticsBackend.EntityFrameworkCore\n{\n    public class AcmStatisticsBackendDbContext : AbpZeroDbContext<Tenant, Role, User, AcmStatisticsBackendDbContext>\n    {\n        /* Define a DbSet for each entity of the application */\n\n        public DbSet<DefaultQuery> DefaultQueries { get; set; }\n\n        public DbSet<QueryHistory> QueryHistories { get; set; }\n\n        public DbSet<QueryWorkerHistory> QueryWorkerHistories { get; set; }\n\n        public DbSet<UserSettingAttribute> UserSettingAttributes { get; set; }\n\n        public DbSet<QuerySummary> QuerySummaries { get; set; }\n\n        public DbSet<QueryCrawlerSummary> QueryCrawlerSummaries { get; set; }\n\n        public DbSet<UsernameInCrawler> UsernameInCrawler { get; set; }\n\n        public AcmStatisticsBackendDbContext(DbContextOptions<AcmStatisticsBackendDbContext> options)\n            : base(options)\n        {\n        }\n\n        protected override void OnModelCreating(ModelBuilder modelBuilder)\n        {\n            base.OnModelCreating(modelBuilder);\n\n            modelBuilder.Entity<DefaultQuery>()\n                .Property(e => e.UsernamesInCrawlers)\n                .HasConversion(\n                    v => JsonConvert.SerializeObject(v),\n                    v => JsonConvert.DeserializeObject<Dictionary<string, List<string>>>(v));\n\n            modelBuilder.Entity<QueryWorkerHistory>()\n                .Property(e => e.SolvedList)\n                .HasConversion(v => JsonConvert.SerializeObject(v),\n                    v => JsonConvert.DeserializeObject<string[]>(v));\n\n            modelBuilder.Entity<QueryWorkerHistory>()\n                .Property(e => e.SubmissionsByCrawlerName)\n                .HasConversion(v => JsonConvert.SerializeObject(v),\n                    v => JsonConvert.DeserializeObject<Dictionary<string, int>>(v));\n\n            modelBuilder.Entity<QueryHistory>()\n                .HasOne<QuerySummary>()\n                .WithOne(e => e.QueryHistory)\n                .HasForeignKey<QuerySummary>(e => e.QueryHistoryId)\n                .OnDelete(DeleteBehavior.Cascade);\n\n            modelBuilder.Entity<QuerySummary>()\n                .Property(e => e.SummaryWarnings)\n                .HasConversion(v => JsonConvert.SerializeObject(v),\n                    v => JsonConvert.DeserializeObject<List<SummaryWarning>>(v));\n        }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.EntityFrameworkCore/EntityFrameworkCore/AcmStatisticsBackendDbContextConfigurer.cs",
    "content": "using System.Data.Common;\nusing Microsoft.EntityFrameworkCore;\n\nnamespace AcmStatisticsBackend.EntityFrameworkCore\n{\n    public static class AcmStatisticsBackendDbContextConfigurer\n    {\n        public static void Configure(DbContextOptionsBuilder<AcmStatisticsBackendDbContext> builder, string connectionString)\n        {\n            builder.UseMySql(connectionString, new MySqlServerVersion(new System.Version(8, 0)));\n        }\n\n        public static void Configure(DbContextOptionsBuilder<AcmStatisticsBackendDbContext> builder, DbConnection connection)\n        {\n            builder.UseMySql(connection, new MySqlServerVersion(new System.Version(8, 0)));\n        }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.EntityFrameworkCore/EntityFrameworkCore/AcmStatisticsBackendDbContextFactory.cs",
    "content": "﻿using AcmStatisticsBackend.Configuration;\nusing AcmStatisticsBackend.Web;\nusing Microsoft.EntityFrameworkCore;\nusing Microsoft.EntityFrameworkCore.Design;\nusing Microsoft.Extensions.Configuration;\n\nnamespace AcmStatisticsBackend.EntityFrameworkCore\n{\n    /* This class is needed to run \"dotnet ef ...\" commands from command line on development. Not used anywhere else */\n    public class AcmStatisticsBackendDbContextFactory : IDesignTimeDbContextFactory<AcmStatisticsBackendDbContext>\n    {\n        public AcmStatisticsBackendDbContext CreateDbContext(string[] args)\n        {\n            var builder = new DbContextOptionsBuilder<AcmStatisticsBackendDbContext>();\n            var configuration = AppConfigurations.Get(WebContentDirectoryFinder.CalculateContentRootFolder());\n\n            AcmStatisticsBackendDbContextConfigurer.Configure(builder, configuration.GetConnectionString(AcmStatisticsBackendConsts.ConnectionStringName));\n\n            return new AcmStatisticsBackendDbContext(builder.Options);\n        }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.EntityFrameworkCore/EntityFrameworkCore/AcmStatisticsBackendEntityFrameworkModule.cs",
    "content": "﻿using Abp.Domain.Uow;\nusing Abp.EntityFrameworkCore;\nusing Abp.EntityFrameworkCore.Configuration;\nusing Abp.Modules;\nusing Abp.MultiTenancy;\nusing Abp.Reflection.Extensions;\nusing Abp.Zero.EntityFrameworkCore;\nusing AcmStatisticsBackend.EntityFrameworkCore.Seed;\nusing Microsoft.EntityFrameworkCore;\n\nnamespace AcmStatisticsBackend.EntityFrameworkCore\n{\n    [DependsOn(\n        typeof(AcmStatisticsBackendCoreModule),\n        typeof(AbpZeroCoreEntityFrameworkCoreModule))]\n    public class AcmStatisticsBackendEntityFrameworkModule : AbpModule\n    {\n        /* Used it tests to skip dbcontext registration, in order to use in-memory database of EF Core */\n        public bool SkipDbContextRegistration { get; set; }\n\n        public bool SkipDbSeed { get; set; }\n\n        public override void PreInitialize()\n        {\n            if (!SkipDbContextRegistration)\n            {\n                Configuration.Modules.AbpEfCore().AddDbContext<AcmStatisticsBackendDbContext>(options =>\n                {\n                    if (options.ExistingConnection != null)\n                    {\n                        AcmStatisticsBackendDbContextConfigurer.Configure(options.DbContextOptions, options.ExistingConnection);\n                    }\n                    else\n                    {\n                        AcmStatisticsBackendDbContextConfigurer.Configure(options.DbContextOptions, options.ConnectionString);\n                    }\n                });\n            }\n        }\n\n        public override void Initialize()\n        {\n            IocManager.RegisterAssemblyByConvention(typeof(AcmStatisticsBackendEntityFrameworkModule).GetAssembly());\n        }\n\n        public override void PostInitialize()\n        {\n            if (!SkipDbContextRegistration)\n            {\n                var dbContextProvider = IocManager.Resolve<IDbContextProvider<AcmStatisticsBackendDbContext>>();\n                var unitOfWorkManager = IocManager.Resolve<IUnitOfWorkManager>();\n\n                using (var unitOfWork = unitOfWorkManager.Begin())\n                {\n                    var context = dbContextProvider.GetDbContext(MultiTenancySides.Host);\n                    // Removes actual connection as it has been enlisted in a non needed transaction for migration\n                    context.Database.CloseConnection();\n                    context.Database.Migrate();\n                }\n            }\n\n            if (!SkipDbSeed)\n            {\n                SeedHelper.SeedHostDb(IocManager);\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.EntityFrameworkCore/EntityFrameworkCore/Repositories/AcmStatisticsBackendRepositoryBase.cs",
    "content": "﻿using Abp.Domain.Entities;\nusing Abp.Domain.Repositories;\nusing Abp.EntityFrameworkCore;\nusing Abp.EntityFrameworkCore.Repositories;\n\nnamespace AcmStatisticsBackend.EntityFrameworkCore.Repositories\n{\n    /// <summary>\n    /// Base class for custom repositories of the application.\n    /// </summary>\n    /// <typeparam name=\"TEntity\">Entity type.</typeparam>\n    /// <typeparam name=\"TPrimaryKey\">Primary key type of the entity.</typeparam>\n    public abstract class AcmStatisticsBackendRepositoryBase<TEntity, TPrimaryKey> : EfCoreRepositoryBase<AcmStatisticsBackendDbContext, TEntity, TPrimaryKey>\n        where TEntity : class, IEntity<TPrimaryKey>\n    {\n        protected AcmStatisticsBackendRepositoryBase(IDbContextProvider<AcmStatisticsBackendDbContext> dbContextProvider)\n            : base(dbContextProvider)\n        {\n        }\n\n        // Add your common methods for all repositories\n    }\n\n    /// <summary>\n    /// Base class for custom repositories of the application.\n    /// This is a shortcut of <see cref=\"AcmStatisticsBackendRepositoryBase{TEntity,TPrimaryKey}\"/> for <see cref=\"int\"/> primary key.\n    /// </summary>\n    /// <typeparam name=\"TEntity\">Entity type.</typeparam>\n    public abstract class AcmStatisticsBackendRepositoryBase<TEntity> : AcmStatisticsBackendRepositoryBase<TEntity, int>, IRepository<TEntity>\n        where TEntity : class, IEntity<int>\n    {\n        protected AcmStatisticsBackendRepositoryBase(IDbContextProvider<AcmStatisticsBackendDbContext> dbContextProvider)\n            : base(dbContextProvider)\n        {\n        }\n\n        // Do not add any method here, add to the class above (since this inherits it)!!!\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.EntityFrameworkCore/EntityFrameworkCore/Seed/Host/DefaultEditionCreator.cs",
    "content": "using System.Linq;\nusing Abp.Application.Editions;\nusing Abp.Application.Features;\nusing AcmStatisticsBackend.Editions;\nusing Microsoft.EntityFrameworkCore;\n\nnamespace AcmStatisticsBackend.EntityFrameworkCore.Seed.Host\n{\n    public class DefaultEditionCreator\n    {\n        private readonly AcmStatisticsBackendDbContext _context;\n\n        public DefaultEditionCreator(AcmStatisticsBackendDbContext context)\n        {\n            _context = context;\n        }\n\n        public void Create()\n        {\n            CreateEditions();\n        }\n\n        private void CreateEditions()\n        {\n            var defaultEdition = _context.Editions.IgnoreQueryFilters().FirstOrDefault(e => e.Name == EditionManager.DefaultEditionName);\n            if (defaultEdition == null)\n            {\n                defaultEdition = new Edition { Name = EditionManager.DefaultEditionName, DisplayName = EditionManager.DefaultEditionName };\n                _context.Editions.Add(defaultEdition);\n                _context.SaveChanges();\n\n                /* Add desired features to the standard edition, if wanted... */\n            }\n        }\n\n        private void CreateFeatureIfNotExists(int editionId, string featureName, bool isEnabled)\n        {\n            if (_context.EditionFeatureSettings.IgnoreQueryFilters().Any(ef => ef.EditionId == editionId && ef.Name == featureName))\n            {\n                return;\n            }\n\n            _context.EditionFeatureSettings.Add(new EditionFeatureSetting\n            {\n                Name = featureName,\n                Value = isEnabled.ToString(),\n                EditionId = editionId,\n            });\n            _context.SaveChanges();\n        }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.EntityFrameworkCore/EntityFrameworkCore/Seed/Host/DefaultLanguagesCreator.cs",
    "content": "using System.Collections.Generic;\nusing System.Linq;\nusing Abp.Localization;\nusing Abp.MultiTenancy;\nusing Microsoft.EntityFrameworkCore;\n\nnamespace AcmStatisticsBackend.EntityFrameworkCore.Seed.Host\n{\n    public class DefaultLanguagesCreator\n    {\n        public static List<ApplicationLanguage> InitialLanguages => GetInitialLanguages();\n\n        private readonly AcmStatisticsBackendDbContext _context;\n\n        private static List<ApplicationLanguage> GetInitialLanguages()\n        {\n            var tenantId = AcmStatisticsBackendConsts.MultiTenancyEnabled ? null : (int?)MultiTenancyConsts.DefaultTenantId;\n            return new List<ApplicationLanguage>\n            {\n                new ApplicationLanguage(tenantId, \"en\", \"English\", \"famfamfam-flags gb\"),\n                new ApplicationLanguage(tenantId, \"ar\", \"العربية\", \"famfamfam-flags sa\"),\n                new ApplicationLanguage(tenantId, \"de\", \"German\", \"famfamfam-flags de\"),\n                new ApplicationLanguage(tenantId, \"it\", \"Italiano\", \"famfamfam-flags it\"),\n                new ApplicationLanguage(tenantId, \"fr\", \"Français\", \"famfamfam-flags fr\"),\n                new ApplicationLanguage(tenantId, \"pt-BR\", \"Português\", \"famfamfam-flags br\"),\n                new ApplicationLanguage(tenantId, \"tr\", \"Türkçe\", \"famfamfam-flags tr\"),\n                new ApplicationLanguage(tenantId, \"ru\", \"Русский\", \"famfamfam-flags ru\"),\n                new ApplicationLanguage(tenantId, \"zh-Hans\", \"简体中文\", \"famfamfam-flags cn\"),\n                new ApplicationLanguage(tenantId, \"es-MX\", \"Español México\", \"famfamfam-flags mx\"),\n                new ApplicationLanguage(tenantId, \"nl\", \"Nederlands\", \"famfamfam-flags nl\"),\n                new ApplicationLanguage(tenantId, \"ja\", \"日本語\", \"famfamfam-flags jp\"),\n            };\n        }\n\n        public DefaultLanguagesCreator(AcmStatisticsBackendDbContext context)\n        {\n            _context = context;\n        }\n\n        public void Create()\n        {\n            CreateLanguages();\n        }\n\n        private void CreateLanguages()\n        {\n            foreach (var language in InitialLanguages)\n            {\n                AddLanguageIfNotExists(language);\n            }\n        }\n\n        private void AddLanguageIfNotExists(ApplicationLanguage language)\n        {\n            if (_context.Languages.IgnoreQueryFilters().Any(l => l.TenantId == language.TenantId && l.Name == language.Name))\n            {\n                return;\n            }\n\n            _context.Languages.Add(language);\n            _context.SaveChanges();\n        }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.EntityFrameworkCore/EntityFrameworkCore/Seed/Host/DefaultSettingsCreator.cs",
    "content": "﻿using System.Linq;\nusing Abp.Configuration;\nusing Abp.Localization;\nusing Abp.MultiTenancy;\nusing Abp.Net.Mail;\nusing Microsoft.EntityFrameworkCore;\n\nnamespace AcmStatisticsBackend.EntityFrameworkCore.Seed.Host\n{\n    public class DefaultSettingsCreator\n    {\n        private readonly AcmStatisticsBackendDbContext _context;\n\n        public DefaultSettingsCreator(AcmStatisticsBackendDbContext context)\n        {\n            _context = context;\n        }\n\n        public void Create()\n        {\n            int? tenantId = null;\n\n            if (AcmStatisticsBackendConsts.MultiTenancyEnabled == false)\n            {\n                tenantId = MultiTenancyConsts.DefaultTenantId;\n            }\n\n            // Emailing\n            AddSettingIfNotExists(EmailSettingNames.DefaultFromAddress, \"admin@mydomain.com\", tenantId);\n            AddSettingIfNotExists(EmailSettingNames.DefaultFromDisplayName, \"mydomain.com mailer\", tenantId);\n\n            // Languages\n            AddSettingIfNotExists(LocalizationSettingNames.DefaultLanguage, \"en\", tenantId);\n        }\n\n        private void AddSettingIfNotExists(string name, string value, int? tenantId = null)\n        {\n            if (_context.Settings.IgnoreQueryFilters().Any(s => s.Name == name && s.TenantId == tenantId && s.UserId == null))\n            {\n                return;\n            }\n\n            _context.Settings.Add(new Setting(tenantId, null, name, value));\n            _context.SaveChanges();\n        }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.EntityFrameworkCore/EntityFrameworkCore/Seed/Host/HostRoleAndUserCreator.cs",
    "content": "using System.Linq;\nusing Abp.Authorization;\nusing Abp.Authorization.Roles;\nusing Abp.Authorization.Users;\nusing Abp.MultiTenancy;\nusing AcmStatisticsBackend.Authorization;\nusing AcmStatisticsBackend.Authorization.Roles;\nusing AcmStatisticsBackend.Authorization.Users;\nusing AcmStatisticsBackend.Configuration;\nusing Microsoft.AspNetCore.Identity;\nusing Microsoft.EntityFrameworkCore;\nusing Microsoft.Extensions.Options;\n\nnamespace AcmStatisticsBackend.EntityFrameworkCore.Seed.Host\n{\n    public class HostRoleAndUserCreator\n    {\n        private readonly AcmStatisticsBackendDbContext _context;\n\n        public HostRoleAndUserCreator(AcmStatisticsBackendDbContext context)\n        {\n            _context = context;\n        }\n\n        public void Create()\n        {\n            CreateHostRoleAndUsers();\n        }\n\n        private void CreateHostRoleAndUsers()\n        {\n            // Admin role for host\n\n            var adminRoleForHost = _context.Roles.IgnoreQueryFilters().FirstOrDefault(r => r.TenantId == null && r.Name == StaticRoleNames.Host.Admin);\n            if (adminRoleForHost == null)\n            {\n                adminRoleForHost = _context.Roles.Add(new Role(null, StaticRoleNames.Host.Admin, StaticRoleNames.Host.Admin) { IsStatic = true, IsDefault = true }).Entity;\n                _context.SaveChanges();\n            }\n\n            // Grant all permissions to admin role for host\n\n            var grantedPermissions = _context.Permissions.IgnoreQueryFilters()\n                .OfType<RolePermissionSetting>()\n                .Where(p => p.TenantId == null && p.RoleId == adminRoleForHost.Id)\n                .Select(p => p.Name)\n                .ToList();\n\n            var permissions = PermissionFinder\n                .GetAllPermissions(new AcmStatisticsBackendAuthorizationProvider())\n                .Where(p => p.MultiTenancySides.HasFlag(MultiTenancySides.Host) &&\n                            !grantedPermissions.Contains(p.Name))\n                .ToList();\n\n            if (permissions.Any())\n            {\n                _context.Permissions.AddRange(\n                    permissions.Select(permission => new RolePermissionSetting\n                    {\n                        TenantId = null,\n                        Name = permission.Name,\n                        IsGranted = true,\n                        RoleId = adminRoleForHost.Id,\n                    }));\n                _context.SaveChanges();\n            }\n\n            // Admin user for host\n\n            var adminUserForHost = _context.Users.IgnoreQueryFilters().FirstOrDefault(u => u.TenantId == null && u.UserName == AbpUserBase.AdminUserName);\n            if (adminUserForHost == null)\n            {\n                var user = new User\n                {\n                    TenantId = null,\n                    UserName = AbpUserBase.AdminUserName,\n                    Name = \"admin\",\n                    Surname = \"admin\",\n                    EmailAddress = \"admin@aspnetboilerplate.com\",\n                    IsEmailConfirmed = true,\n                    IsActive = true,\n                };\n\n                var adminPassword = AppEnvironmentVariables.DefaultAdminPassword;\n                user.Password = new PasswordHasher<User>(new OptionsWrapper<PasswordHasherOptions>(new PasswordHasherOptions())).HashPassword(user, adminPassword);\n                user.SetNormalizedNames();\n\n                adminUserForHost = _context.Users.Add(user).Entity;\n                _context.SaveChanges();\n\n                // Assign Admin role to admin user\n                _context.UserRoles.Add(new UserRole(null, adminUserForHost.Id, adminRoleForHost.Id));\n                _context.SaveChanges();\n\n                _context.SaveChanges();\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.EntityFrameworkCore/EntityFrameworkCore/Seed/Host/InitialHostDbBuilder.cs",
    "content": "﻿namespace AcmStatisticsBackend.EntityFrameworkCore.Seed.Host\n{\n    public class InitialHostDbBuilder\n    {\n        private readonly AcmStatisticsBackendDbContext _context;\n\n        public InitialHostDbBuilder(AcmStatisticsBackendDbContext context)\n        {\n            _context = context;\n        }\n\n        public void Create()\n        {\n            new DefaultEditionCreator(_context).Create();\n            new DefaultLanguagesCreator(_context).Create();\n            new HostRoleAndUserCreator(_context).Create();\n            new DefaultSettingsCreator(_context).Create();\n\n            _context.SaveChanges();\n        }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.EntityFrameworkCore/EntityFrameworkCore/Seed/SeedHelper.cs",
    "content": "﻿using System;\nusing System.Transactions;\nusing Abp.Dependency;\nusing Abp.Domain.Uow;\nusing Abp.EntityFrameworkCore.Uow;\nusing Abp.MultiTenancy;\nusing AcmStatisticsBackend.EntityFrameworkCore.Seed.Host;\nusing AcmStatisticsBackend.EntityFrameworkCore.Seed.Tenants;\nusing Microsoft.EntityFrameworkCore;\n\nnamespace AcmStatisticsBackend.EntityFrameworkCore.Seed\n{\n    public static class SeedHelper\n    {\n        public static void SeedHostDb(IIocResolver iocResolver)\n        {\n            WithDbContext<AcmStatisticsBackendDbContext>(iocResolver, SeedHostDb);\n        }\n\n        public static void SeedHostDb(AcmStatisticsBackendDbContext context)\n        {\n            context.SuppressAutoSetTenantId = true;\n\n            // Host seed\n            new InitialHostDbBuilder(context).Create();\n\n            // Default tenant seed (in host database).\n            new DefaultTenantBuilder(context).Create();\n            new TenantRoleAndUserBuilder(context, 1).Create();\n        }\n\n        private static void WithDbContext<TDbContext>(IIocResolver iocResolver, Action<TDbContext> contextAction)\n            where TDbContext : DbContext\n        {\n            using (var uowManager = iocResolver.ResolveAsDisposable<IUnitOfWorkManager>())\n            {\n                using (var uow = uowManager.Object.Begin(TransactionScopeOption.Suppress))\n                {\n                    var context = uowManager.Object.Current.GetDbContext<TDbContext>(MultiTenancySides.Host);\n\n                    contextAction(context);\n\n                    uow.Complete();\n                }\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.EntityFrameworkCore/EntityFrameworkCore/Seed/Tenants/DefaultTenantBuilder.cs",
    "content": "﻿using System.Linq;\nusing Abp.MultiTenancy;\nusing AcmStatisticsBackend.Editions;\nusing AcmStatisticsBackend.MultiTenancy;\nusing Microsoft.EntityFrameworkCore;\n\nnamespace AcmStatisticsBackend.EntityFrameworkCore.Seed.Tenants\n{\n    public class DefaultTenantBuilder\n    {\n        private readonly AcmStatisticsBackendDbContext _context;\n\n        public DefaultTenantBuilder(AcmStatisticsBackendDbContext context)\n        {\n            _context = context;\n        }\n\n        public void Create()\n        {\n            CreateDefaultTenant();\n        }\n\n        private void CreateDefaultTenant()\n        {\n            // Default tenant\n\n            var defaultTenant = _context.Tenants.IgnoreQueryFilters().FirstOrDefault(t => t.TenancyName == AbpTenantBase.DefaultTenantName);\n            if (defaultTenant == null)\n            {\n                defaultTenant = new Tenant(AbpTenantBase.DefaultTenantName, AbpTenantBase.DefaultTenantName);\n\n                var defaultEdition = _context.Editions.IgnoreQueryFilters().FirstOrDefault(e => e.Name == EditionManager.DefaultEditionName);\n                if (defaultEdition != null)\n                {\n                    defaultTenant.EditionId = defaultEdition.Id;\n                }\n\n                _context.Tenants.Add(defaultTenant);\n                _context.SaveChanges();\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.EntityFrameworkCore/EntityFrameworkCore/Seed/Tenants/TenantRoleAndUserBuilder.cs",
    "content": "using System.Linq;\nusing Abp.Authorization;\nusing Abp.Authorization.Roles;\nusing Abp.Authorization.Users;\nusing Abp.MultiTenancy;\nusing AcmStatisticsBackend.Authorization;\nusing AcmStatisticsBackend.Authorization.Roles;\nusing AcmStatisticsBackend.Authorization.Users;\nusing AcmStatisticsBackend.Configuration;\nusing Microsoft.AspNetCore.Identity;\nusing Microsoft.EntityFrameworkCore;\nusing Microsoft.Extensions.Options;\n\nnamespace AcmStatisticsBackend.EntityFrameworkCore.Seed.Tenants\n{\n    public class TenantRoleAndUserBuilder\n    {\n        private readonly AcmStatisticsBackendDbContext _context;\n        private readonly int _tenantId;\n\n        public TenantRoleAndUserBuilder(AcmStatisticsBackendDbContext context, int tenantId)\n        {\n            _context = context;\n            _tenantId = tenantId;\n        }\n\n        public void Create()\n        {\n            CreateAdminRoleAndUser();\n            CreateUserRole();\n        }\n\n        private void CreateAdminRoleAndUser()\n        {\n            // Admin role\n\n            var adminRole = _context.Roles.IgnoreQueryFilters()\n                .FirstOrDefault(r => r.TenantId == _tenantId && r.Name == StaticRoleNames.Tenants.Admin);\n            if (adminRole == null)\n            {\n                adminRole = _context.Roles\n                    .Add(new Role(_tenantId, StaticRoleNames.Tenants.Admin, StaticRoleNames.Tenants.Admin)\n                    {\n                        IsStatic = true,\n                    }).Entity;\n                _context.SaveChanges();\n            }\n\n            // Grant all permissions to admin role\n\n            var grantedPermissions = _context.Permissions.IgnoreQueryFilters()\n                .OfType<RolePermissionSetting>()\n                .Where(p => p.TenantId == _tenantId && p.RoleId == adminRole.Id)\n                .Select(p => p.Name)\n                .ToList();\n\n            var permissions = PermissionFinder\n                .GetAllPermissions(new AcmStatisticsBackendAuthorizationProvider())\n                .Where(p => p.MultiTenancySides.HasFlag(MultiTenancySides.Tenant) &&\n                            !grantedPermissions.Contains(p.Name))\n                .ToList();\n\n            if (permissions.Any())\n            {\n                _context.Permissions.AddRange(\n                    permissions.Select(permission => new RolePermissionSetting\n                    {\n                        TenantId = _tenantId,\n                        Name = permission.Name,\n                        IsGranted = true,\n                        RoleId = adminRole.Id,\n                    }));\n                _context.SaveChanges();\n            }\n\n            // Admin user\n\n            var adminUser = _context.Users.IgnoreQueryFilters()\n                .FirstOrDefault(u => u.TenantId == _tenantId && u.UserName == AbpUserBase.AdminUserName);\n            if (adminUser == null)\n            {\n                adminUser = User.CreateTenantAdminUser(_tenantId, \"admin@defaulttenant.com\");\n                var adminPassword = AppEnvironmentVariables.DefaultAdminPassword;\n                adminUser.Password =\n                    new PasswordHasher<User>(new OptionsWrapper<PasswordHasherOptions>(new PasswordHasherOptions()))\n                        .HashPassword(adminUser, adminPassword);\n                adminUser.IsEmailConfirmed = true;\n                adminUser.IsActive = true;\n\n                _context.Users.Add(adminUser);\n                _context.SaveChanges();\n\n                // Assign Admin role to admin user\n                _context.UserRoles.Add(new UserRole(_tenantId, adminUser.Id, adminRole.Id));\n                _context.SaveChanges();\n            }\n        }\n\n        private void CreateUserRole()\n        {\n            // set User role as default role\n            var userRole = _context.Roles.IgnoreQueryFilters()\n                .FirstOrDefault(r => r.TenantId == _tenantId && r.Name == StaticRoleNames.Tenants.User);\n            if (userRole == null)\n            {\n                userRole = _context.Roles.Add(\n                    new Role(_tenantId, StaticRoleNames.Tenants.User, StaticRoleNames.Tenants.User)\n                    {\n                        IsStatic = true,\n                        IsDefault = true,\n                    }).Entity;\n                _context.SaveChanges();\n            }\n\n            GrantPermissionForRule(userRole, new[]\n            {\n                PermissionNames.Statistics_DefaultQuery,\n                PermissionNames.AcHistory_Histories,\n                PermissionNames.Settings_Update,\n            });\n        }\n\n        private void GrantPermissionForRule(Role role, params string[] permissionNames)\n        {\n            var granted = _context.RolePermissions\n                .Where(item => item.TenantId == _tenantId && item.RoleId == role.Id)\n                .Select(item => item.Name);\n\n            var shouldGrant = permissionNames.Except(granted);\n            foreach (var name in shouldGrant)\n            {\n                _context.Permissions.Add(new RolePermissionSetting\n                {\n                    RoleId = role.Id,\n                    TenantId = _tenantId,\n                    IsGranted = true,\n                    Name = name,\n                });\n            }\n\n            _context.SaveChanges();\n        }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.EntityFrameworkCore/Migrations/20200325035348_Init.Designer.cs",
    "content": "﻿// <auto-generated />\nusing System;\nusing AcmStatisticsBackend.EntityFrameworkCore;\nusing Microsoft.EntityFrameworkCore;\nusing Microsoft.EntityFrameworkCore.Infrastructure;\nusing Microsoft.EntityFrameworkCore.Migrations;\nusing Microsoft.EntityFrameworkCore.Storage.ValueConversion;\n\nnamespace AcmStatisticsBackend.Migrations\n{\n    [DbContext(typeof(AcmStatisticsBackendDbContext))]\n    [Migration(\"20200325035348_Init\")]\n    partial class Init\n    {\n        protected override void BuildTargetModel(ModelBuilder modelBuilder)\n        {\n#pragma warning disable 612, 618\n            modelBuilder\n                .HasAnnotation(\"ProductVersion\", \"3.1.1\")\n                .HasAnnotation(\"Relational:MaxIdentifierLength\", 64);\n\n            modelBuilder.Entity(\"Abp.Application.Editions.Edition\", b =>\n                {\n                    b.Property<int>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"int\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"DeleterUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"DeletionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"DisplayName\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(64) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(64);\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Name\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(32) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(32);\n\n                    b.HasKey(\"Id\");\n\n                    b.ToTable(\"AbpEditions\");\n                });\n\n            modelBuilder.Entity(\"Abp.Application.Features.FeatureSetting\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Discriminator\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"Name\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"Value\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(2000) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(2000);\n\n                    b.HasKey(\"Id\");\n\n                    b.ToTable(\"AbpFeatures\");\n\n                    b.HasDiscriminator<string>(\"Discriminator\").HasValue(\"FeatureSetting\");\n                });\n\n            modelBuilder.Entity(\"Abp.Auditing.AuditLog\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"BrowserInfo\")\n                        .HasColumnType(\"varchar(512) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(512);\n\n                    b.Property<string>(\"ClientIpAddress\")\n                        .HasColumnType(\"varchar(64) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(64);\n\n                    b.Property<string>(\"ClientName\")\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<string>(\"CustomData\")\n                        .HasColumnType(\"varchar(2000) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(2000);\n\n                    b.Property<string>(\"Exception\")\n                        .HasColumnType(\"varchar(2000) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(2000);\n\n                    b.Property<int>(\"ExecutionDuration\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<DateTime>(\"ExecutionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<int?>(\"ImpersonatorTenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long?>(\"ImpersonatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"MethodName\")\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(256);\n\n                    b.Property<string>(\"Parameters\")\n                        .HasColumnType(\"varchar(1024) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(1024);\n\n                    b.Property<string>(\"ReturnValue\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"ServiceName\")\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(256);\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long?>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"TenantId\", \"ExecutionDuration\");\n\n                    b.HasIndex(\"TenantId\", \"ExecutionTime\");\n\n                    b.HasIndex(\"TenantId\", \"UserId\");\n\n                    b.ToTable(\"AbpAuditLogs\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.PermissionSetting\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Discriminator\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<bool>(\"IsGranted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<string>(\"Name\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"TenantId\", \"Name\");\n\n                    b.ToTable(\"AbpPermissions\");\n\n                    b.HasDiscriminator<string>(\"Discriminator\").HasValue(\"PermissionSetting\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Roles.RoleClaim\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"ClaimType\")\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(256);\n\n                    b.Property<string>(\"ClaimValue\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int>(\"RoleId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"RoleId\");\n\n                    b.HasIndex(\"TenantId\", \"ClaimType\");\n\n                    b.ToTable(\"AbpRoleClaims\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserAccount\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"DeleterUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"DeletionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"EmailAddress\")\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(256);\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"UserLinkId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"UserName\")\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(256);\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"EmailAddress\");\n\n                    b.HasIndex(\"UserName\");\n\n                    b.HasIndex(\"TenantId\", \"EmailAddress\");\n\n                    b.HasIndex(\"TenantId\", \"UserId\");\n\n                    b.HasIndex(\"TenantId\", \"UserName\");\n\n                    b.ToTable(\"AbpUserAccounts\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserClaim\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"ClaimType\")\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(256);\n\n                    b.Property<string>(\"ClaimValue\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"UserId\");\n\n                    b.HasIndex(\"TenantId\", \"ClaimType\");\n\n                    b.ToTable(\"AbpUserClaims\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserLogin\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"LoginProvider\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<string>(\"ProviderKey\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(256);\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"UserId\");\n\n                    b.HasIndex(\"TenantId\", \"UserId\");\n\n                    b.HasIndex(\"TenantId\", \"LoginProvider\", \"ProviderKey\");\n\n                    b.ToTable(\"AbpUserLogins\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserLoginAttempt\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"BrowserInfo\")\n                        .HasColumnType(\"varchar(512) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(512);\n\n                    b.Property<string>(\"ClientIpAddress\")\n                        .HasColumnType(\"varchar(64) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(64);\n\n                    b.Property<string>(\"ClientName\")\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<byte>(\"Result\")\n                        .HasColumnType(\"tinyint unsigned\");\n\n                    b.Property<string>(\"TenancyName\")\n                        .HasColumnType(\"varchar(64) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(64);\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long?>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"UserNameOrEmailAddress\")\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(256);\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"UserId\", \"TenantId\");\n\n                    b.HasIndex(\"TenancyName\", \"UserNameOrEmailAddress\", \"Result\");\n\n                    b.ToTable(\"AbpUserLoginAttempts\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserOrganizationUnit\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<long>(\"OrganizationUnitId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"TenantId\", \"OrganizationUnitId\");\n\n                    b.HasIndex(\"TenantId\", \"UserId\");\n\n                    b.ToTable(\"AbpUserOrganizationUnits\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserRole\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int>(\"RoleId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"UserId\");\n\n                    b.HasIndex(\"TenantId\", \"RoleId\");\n\n                    b.HasIndex(\"TenantId\", \"UserId\");\n\n                    b.ToTable(\"AbpUserRoles\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserToken\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"ExpireDate\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"LoginProvider\")\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<string>(\"Name\")\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Value\")\n                        .HasColumnType(\"varchar(512) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(512);\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"UserId\");\n\n                    b.HasIndex(\"TenantId\", \"UserId\");\n\n                    b.ToTable(\"AbpUserTokens\");\n                });\n\n            modelBuilder.Entity(\"Abp.BackgroundJobs.BackgroundJobInfo\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<bool>(\"IsAbandoned\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<string>(\"JobArgs\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\")\n                        .HasMaxLength(1048576);\n\n                    b.Property<string>(\"JobType\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(512) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(512);\n\n                    b.Property<DateTime?>(\"LastTryTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<DateTime>(\"NextTryTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<byte>(\"Priority\")\n                        .HasColumnType(\"tinyint unsigned\");\n\n                    b.Property<short>(\"TryCount\")\n                        .HasColumnType(\"smallint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"IsAbandoned\", \"NextTryTime\");\n\n                    b.ToTable(\"AbpBackgroundJobs\");\n                });\n\n            modelBuilder.Entity(\"Abp.Configuration.Setting\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Name\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(256);\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long?>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Value\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"UserId\");\n\n                    b.HasIndex(\"TenantId\", \"Name\", \"UserId\")\n                        .IsUnique();\n\n                    b.ToTable(\"AbpSettings\");\n                });\n\n            modelBuilder.Entity(\"Abp.EntityHistory.EntityChange\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"ChangeTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<byte>(\"ChangeType\")\n                        .HasColumnType(\"tinyint unsigned\");\n\n                    b.Property<long>(\"EntityChangeSetId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"EntityId\")\n                        .HasColumnType(\"varchar(48) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(48);\n\n                    b.Property<string>(\"EntityTypeFullName\")\n                        .HasColumnType(\"varchar(192) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(192);\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"EntityChangeSetId\");\n\n                    b.HasIndex(\"EntityTypeFullName\", \"EntityId\");\n\n                    b.ToTable(\"AbpEntityChanges\");\n                });\n\n            modelBuilder.Entity(\"Abp.EntityHistory.EntityChangeSet\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"BrowserInfo\")\n                        .HasColumnType(\"varchar(512) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(512);\n\n                    b.Property<string>(\"ClientIpAddress\")\n                        .HasColumnType(\"varchar(64) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(64);\n\n                    b.Property<string>(\"ClientName\")\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"ExtensionData\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<int?>(\"ImpersonatorTenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long?>(\"ImpersonatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Reason\")\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(256);\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long?>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"TenantId\", \"CreationTime\");\n\n                    b.HasIndex(\"TenantId\", \"Reason\");\n\n                    b.HasIndex(\"TenantId\", \"UserId\");\n\n                    b.ToTable(\"AbpEntityChangeSets\");\n                });\n\n            modelBuilder.Entity(\"Abp.EntityHistory.EntityPropertyChange\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long>(\"EntityChangeId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"NewValue\")\n                        .HasColumnType(\"varchar(512) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(512);\n\n                    b.Property<string>(\"OriginalValue\")\n                        .HasColumnType(\"varchar(512) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(512);\n\n                    b.Property<string>(\"PropertyName\")\n                        .HasColumnType(\"varchar(96) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(96);\n\n                    b.Property<string>(\"PropertyTypeFullName\")\n                        .HasColumnType(\"varchar(192) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(192);\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"EntityChangeId\");\n\n                    b.ToTable(\"AbpEntityPropertyChanges\");\n                });\n\n            modelBuilder.Entity(\"Abp.Localization.ApplicationLanguage\", b =>\n                {\n                    b.Property<int>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"int\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"DeleterUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"DeletionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"DisplayName\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(64) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(64);\n\n                    b.Property<string>(\"Icon\")\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<bool>(\"IsDisabled\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Name\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"TenantId\", \"Name\");\n\n                    b.ToTable(\"AbpLanguages\");\n                });\n\n            modelBuilder.Entity(\"Abp.Localization.ApplicationLanguageText\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Key\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(256);\n\n                    b.Property<string>(\"LanguageName\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Source\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"Value\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\")\n                        .HasMaxLength(67108864);\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"TenantId\", \"Source\", \"LanguageName\", \"Key\");\n\n                    b.ToTable(\"AbpLanguageTexts\");\n                });\n\n            modelBuilder.Entity(\"Abp.Notifications.NotificationInfo\", b =>\n                {\n                    b.Property<Guid>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"char(36)\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Data\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\")\n                        .HasMaxLength(1048576);\n\n                    b.Property<string>(\"DataTypeName\")\n                        .HasColumnType(\"varchar(512) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(512);\n\n                    b.Property<string>(\"EntityId\")\n                        .HasColumnType(\"varchar(96) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(96);\n\n                    b.Property<string>(\"EntityTypeAssemblyQualifiedName\")\n                        .HasColumnType(\"varchar(512) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(512);\n\n                    b.Property<string>(\"EntityTypeName\")\n                        .HasColumnType(\"varchar(250) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(250);\n\n                    b.Property<string>(\"ExcludedUserIds\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\")\n                        .HasMaxLength(131072);\n\n                    b.Property<string>(\"NotificationName\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(96) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(96);\n\n                    b.Property<byte>(\"Severity\")\n                        .HasColumnType(\"tinyint unsigned\");\n\n                    b.Property<string>(\"TenantIds\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\")\n                        .HasMaxLength(131072);\n\n                    b.Property<string>(\"UserIds\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\")\n                        .HasMaxLength(131072);\n\n                    b.HasKey(\"Id\");\n\n                    b.ToTable(\"AbpNotifications\");\n                });\n\n            modelBuilder.Entity(\"Abp.Notifications.NotificationSubscriptionInfo\", b =>\n                {\n                    b.Property<Guid>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"char(36)\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"EntityId\")\n                        .HasColumnType(\"varchar(96) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(96);\n\n                    b.Property<string>(\"EntityTypeAssemblyQualifiedName\")\n                        .HasColumnType(\"varchar(512) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(512);\n\n                    b.Property<string>(\"EntityTypeName\")\n                        .HasColumnType(\"varchar(250) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(250);\n\n                    b.Property<string>(\"NotificationName\")\n                        .HasColumnType(\"varchar(96) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(96);\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"NotificationName\", \"EntityTypeName\", \"EntityId\", \"UserId\");\n\n                    b.HasIndex(\"TenantId\", \"NotificationName\", \"EntityTypeName\", \"EntityId\", \"UserId\");\n\n                    b.ToTable(\"AbpNotificationSubscriptions\");\n                });\n\n            modelBuilder.Entity(\"Abp.Notifications.TenantNotificationInfo\", b =>\n                {\n                    b.Property<Guid>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"char(36)\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Data\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\")\n                        .HasMaxLength(1048576);\n\n                    b.Property<string>(\"DataTypeName\")\n                        .HasColumnType(\"varchar(512) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(512);\n\n                    b.Property<string>(\"EntityId\")\n                        .HasColumnType(\"varchar(96) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(96);\n\n                    b.Property<string>(\"EntityTypeAssemblyQualifiedName\")\n                        .HasColumnType(\"varchar(512) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(512);\n\n                    b.Property<string>(\"EntityTypeName\")\n                        .HasColumnType(\"varchar(250) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(250);\n\n                    b.Property<string>(\"NotificationName\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(96) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(96);\n\n                    b.Property<byte>(\"Severity\")\n                        .HasColumnType(\"tinyint unsigned\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"TenantId\");\n\n                    b.ToTable(\"AbpTenantNotifications\");\n                });\n\n            modelBuilder.Entity(\"Abp.Notifications.UserNotificationInfo\", b =>\n                {\n                    b.Property<Guid>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"char(36)\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<int>(\"State\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<Guid>(\"TenantNotificationId\")\n                        .HasColumnType(\"char(36)\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"UserId\", \"State\", \"CreationTime\");\n\n                    b.ToTable(\"AbpUserNotifications\");\n                });\n\n            modelBuilder.Entity(\"Abp.Organizations.OrganizationUnit\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Code\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(95) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(95);\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"DeleterUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"DeletionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"DisplayName\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"ParentId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"ParentId\");\n\n                    b.HasIndex(\"TenantId\", \"Code\");\n\n                    b.ToTable(\"AbpOrganizationUnits\");\n                });\n\n            modelBuilder.Entity(\"Abp.Organizations.OrganizationUnitRole\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<long>(\"OrganizationUnitId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int>(\"RoleId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"TenantId\", \"OrganizationUnitId\");\n\n                    b.HasIndex(\"TenantId\", \"RoleId\");\n\n                    b.ToTable(\"AbpOrganizationUnitRoles\");\n                });\n\n            modelBuilder.Entity(\"Abp.Webhooks.WebhookEvent\", b =>\n                {\n                    b.Property<Guid>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"char(36)\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"Data\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<DateTime?>(\"DeletionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"WebhookName\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.HasKey(\"Id\");\n\n                    b.ToTable(\"AbpWebhookEvents\");\n                });\n\n            modelBuilder.Entity(\"Abp.Webhooks.WebhookSendAttempt\", b =>\n                {\n                    b.Property<Guid>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"char(36)\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"Response\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<int?>(\"ResponseStatusCode\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<Guid>(\"WebhookEventId\")\n                        .HasColumnType(\"char(36)\");\n\n                    b.Property<Guid>(\"WebhookSubscriptionId\")\n                        .HasColumnType(\"char(36)\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"WebhookEventId\");\n\n                    b.ToTable(\"AbpWebhookSendAttempts\");\n                });\n\n            modelBuilder.Entity(\"Abp.Webhooks.WebhookSubscriptionInfo\", b =>\n                {\n                    b.Property<Guid>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"char(36)\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Headers\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<bool>(\"IsActive\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<string>(\"Secret\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"WebhookUri\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"Webhooks\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.HasKey(\"Id\");\n\n                    b.ToTable(\"AbpWebhookSubscriptions\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Authorization.Roles.Role\", b =>\n                {\n                    b.Property<int>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"ConcurrencyStamp\")\n                        .IsConcurrencyToken()\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"DeleterUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"DeletionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"Description\")\n                        .HasColumnType(\"longtext\")\n                        .HasMaxLength(5000);\n\n                    b.Property<string>(\"DisplayName\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(64) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(64);\n\n                    b.Property<bool>(\"IsDefault\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<bool>(\"IsStatic\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Name\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(32) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(32);\n\n                    b.Property<string>(\"NormalizedName\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(32) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(32);\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"CreatorUserId\");\n\n                    b.HasIndex(\"DeleterUserId\");\n\n                    b.HasIndex(\"LastModifierUserId\");\n\n                    b.HasIndex(\"TenantId\", \"NormalizedName\");\n\n                    b.ToTable(\"AbpRoles\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Authorization.Users.User\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int>(\"AccessFailedCount\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"AuthenticationSource\")\n                        .HasColumnType(\"varchar(64) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(64);\n\n                    b.Property<string>(\"ConcurrencyStamp\")\n                        .IsConcurrencyToken()\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"DeleterUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"DeletionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"EmailAddress\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(256);\n\n                    b.Property<string>(\"EmailConfirmationCode\")\n                        .HasColumnType(\"varchar(328) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(328);\n\n                    b.Property<bool>(\"IsActive\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<bool>(\"IsEmailConfirmed\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<bool>(\"IsLockoutEnabled\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<bool>(\"IsPhoneNumberConfirmed\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<bool>(\"IsTwoFactorEnabled\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"LockoutEndDateUtc\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"Name\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(64) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(64);\n\n                    b.Property<string>(\"NormalizedEmailAddress\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(256);\n\n                    b.Property<string>(\"NormalizedUserName\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(256);\n\n                    b.Property<string>(\"Password\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<string>(\"PasswordResetCode\")\n                        .HasColumnType(\"varchar(328) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(328);\n\n                    b.Property<string>(\"PhoneNumber\")\n                        .HasColumnType(\"varchar(32) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(32);\n\n                    b.Property<string>(\"SecurityStamp\")\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<string>(\"Surname\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(64) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(64);\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"UserName\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(256);\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"CreatorUserId\");\n\n                    b.HasIndex(\"DeleterUserId\");\n\n                    b.HasIndex(\"LastModifierUserId\");\n\n                    b.HasIndex(\"TenantId\", \"NormalizedEmailAddress\");\n\n                    b.HasIndex(\"TenantId\", \"NormalizedUserName\");\n\n                    b.ToTable(\"AbpUsers\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.MultiTenancy.Tenant\", b =>\n                {\n                    b.Property<int>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"ConnectionString\")\n                        .HasColumnType(\"varchar(1024) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(1024);\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"DeleterUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"DeletionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<int?>(\"EditionId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<bool>(\"IsActive\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Name\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<string>(\"TenancyName\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(64) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(64);\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"CreatorUserId\");\n\n                    b.HasIndex(\"DeleterUserId\");\n\n                    b.HasIndex(\"EditionId\");\n\n                    b.HasIndex(\"LastModifierUserId\");\n\n                    b.HasIndex(\"TenancyName\");\n\n                    b.ToTable(\"AbpTenants\");\n                });\n\n            modelBuilder.Entity(\"Abp.Application.Features.EditionFeatureSetting\", b =>\n                {\n                    b.HasBaseType(\"Abp.Application.Features.FeatureSetting\");\n\n                    b.Property<int>(\"EditionId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasIndex(\"EditionId\", \"Name\");\n\n                    b.ToTable(\"AbpFeatures\");\n\n                    b.HasDiscriminator().HasValue(\"EditionFeatureSetting\");\n                });\n\n            modelBuilder.Entity(\"Abp.MultiTenancy.TenantFeatureSetting\", b =>\n                {\n                    b.HasBaseType(\"Abp.Application.Features.FeatureSetting\");\n\n                    b.HasIndex(\"TenantId\", \"Name\");\n\n                    b.ToTable(\"AbpFeatures\");\n\n                    b.HasDiscriminator().HasValue(\"TenantFeatureSetting\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Roles.RolePermissionSetting\", b =>\n                {\n                    b.HasBaseType(\"Abp.Authorization.PermissionSetting\");\n\n                    b.Property<int>(\"RoleId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasIndex(\"RoleId\");\n\n                    b.ToTable(\"AbpPermissions\");\n\n                    b.HasDiscriminator().HasValue(\"RolePermissionSetting\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserPermissionSetting\", b =>\n                {\n                    b.HasBaseType(\"Abp.Authorization.PermissionSetting\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasIndex(\"UserId\");\n\n                    b.ToTable(\"AbpPermissions\");\n\n                    b.HasDiscriminator().HasValue(\"UserPermissionSetting\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Roles.RoleClaim\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Roles.Role\", null)\n                        .WithMany(\"Claims\")\n                        .HasForeignKey(\"RoleId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserClaim\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", null)\n                        .WithMany(\"Claims\")\n                        .HasForeignKey(\"UserId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserLogin\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", null)\n                        .WithMany(\"Logins\")\n                        .HasForeignKey(\"UserId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserRole\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", null)\n                        .WithMany(\"Roles\")\n                        .HasForeignKey(\"UserId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserToken\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", null)\n                        .WithMany(\"Tokens\")\n                        .HasForeignKey(\"UserId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.Configuration.Setting\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", null)\n                        .WithMany(\"Settings\")\n                        .HasForeignKey(\"UserId\");\n                });\n\n            modelBuilder.Entity(\"Abp.EntityHistory.EntityChange\", b =>\n                {\n                    b.HasOne(\"Abp.EntityHistory.EntityChangeSet\", null)\n                        .WithMany(\"EntityChanges\")\n                        .HasForeignKey(\"EntityChangeSetId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.EntityHistory.EntityPropertyChange\", b =>\n                {\n                    b.HasOne(\"Abp.EntityHistory.EntityChange\", null)\n                        .WithMany(\"PropertyChanges\")\n                        .HasForeignKey(\"EntityChangeId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.Organizations.OrganizationUnit\", b =>\n                {\n                    b.HasOne(\"Abp.Organizations.OrganizationUnit\", \"Parent\")\n                        .WithMany(\"Children\")\n                        .HasForeignKey(\"ParentId\");\n                });\n\n            modelBuilder.Entity(\"Abp.Webhooks.WebhookSendAttempt\", b =>\n                {\n                    b.HasOne(\"Abp.Webhooks.WebhookEvent\", \"WebhookEvent\")\n                        .WithMany()\n                        .HasForeignKey(\"WebhookEventId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Authorization.Roles.Role\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"CreatorUser\")\n                        .WithMany()\n                        .HasForeignKey(\"CreatorUserId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"DeleterUser\")\n                        .WithMany()\n                        .HasForeignKey(\"DeleterUserId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"LastModifierUser\")\n                        .WithMany()\n                        .HasForeignKey(\"LastModifierUserId\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Authorization.Users.User\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"CreatorUser\")\n                        .WithMany()\n                        .HasForeignKey(\"CreatorUserId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"DeleterUser\")\n                        .WithMany()\n                        .HasForeignKey(\"DeleterUserId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"LastModifierUser\")\n                        .WithMany()\n                        .HasForeignKey(\"LastModifierUserId\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.MultiTenancy.Tenant\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"CreatorUser\")\n                        .WithMany()\n                        .HasForeignKey(\"CreatorUserId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"DeleterUser\")\n                        .WithMany()\n                        .HasForeignKey(\"DeleterUserId\");\n\n                    b.HasOne(\"Abp.Application.Editions.Edition\", \"Edition\")\n                        .WithMany()\n                        .HasForeignKey(\"EditionId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"LastModifierUser\")\n                        .WithMany()\n                        .HasForeignKey(\"LastModifierUserId\");\n                });\n\n            modelBuilder.Entity(\"Abp.Application.Features.EditionFeatureSetting\", b =>\n                {\n                    b.HasOne(\"Abp.Application.Editions.Edition\", \"Edition\")\n                        .WithMany()\n                        .HasForeignKey(\"EditionId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Roles.RolePermissionSetting\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Roles.Role\", null)\n                        .WithMany(\"Permissions\")\n                        .HasForeignKey(\"RoleId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserPermissionSetting\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", null)\n                        .WithMany(\"Permissions\")\n                        .HasForeignKey(\"UserId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n#pragma warning restore 612, 618\n        }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.EntityFrameworkCore/Migrations/20200325035348_Init.cs",
    "content": "using System;\nusing Microsoft.EntityFrameworkCore.Metadata;\nusing Microsoft.EntityFrameworkCore.Migrations;\n\nnamespace AcmStatisticsBackend.Migrations\n{\n    public partial class Init : Migration\n    {\n        protected override void Up(MigrationBuilder migrationBuilder)\n        {\n            migrationBuilder.CreateTable(\n                name: \"AbpAuditLogs\",\n                columns: table => new\n                {\n                    Id = table.Column<long>(nullable: false)\n                        .Annotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn),\n                    TenantId = table.Column<int>(nullable: true),\n                    UserId = table.Column<long>(nullable: true),\n                    ServiceName = table.Column<string>(maxLength: 256, nullable: true),\n                    MethodName = table.Column<string>(maxLength: 256, nullable: true),\n                    Parameters = table.Column<string>(maxLength: 1024, nullable: true),\n                    ReturnValue = table.Column<string>(nullable: true),\n                    ExecutionTime = table.Column<DateTime>(nullable: false),\n                    ExecutionDuration = table.Column<int>(nullable: false),\n                    ClientIpAddress = table.Column<string>(maxLength: 64, nullable: true),\n                    ClientName = table.Column<string>(maxLength: 128, nullable: true),\n                    BrowserInfo = table.Column<string>(maxLength: 512, nullable: true),\n                    Exception = table.Column<string>(maxLength: 2000, nullable: true),\n                    ImpersonatorUserId = table.Column<long>(nullable: true),\n                    ImpersonatorTenantId = table.Column<int>(nullable: true),\n                    CustomData = table.Column<string>(maxLength: 2000, nullable: true),\n                },\n                constraints: table =>\n                {\n                    table.PrimaryKey(\"PK_AbpAuditLogs\", x => x.Id);\n                });\n\n            migrationBuilder.CreateTable(\n                name: \"AbpBackgroundJobs\",\n                columns: table => new\n                {\n                    Id = table.Column<long>(nullable: false)\n                        .Annotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn),\n                    CreationTime = table.Column<DateTime>(nullable: false),\n                    CreatorUserId = table.Column<long>(nullable: true),\n                    JobType = table.Column<string>(maxLength: 512, nullable: false),\n                    JobArgs = table.Column<string>(maxLength: 1048576, nullable: false),\n                    TryCount = table.Column<short>(nullable: false),\n                    NextTryTime = table.Column<DateTime>(nullable: false),\n                    LastTryTime = table.Column<DateTime>(nullable: true),\n                    IsAbandoned = table.Column<bool>(nullable: false),\n                    Priority = table.Column<byte>(nullable: false),\n                },\n                constraints: table =>\n                {\n                    table.PrimaryKey(\"PK_AbpBackgroundJobs\", x => x.Id);\n                });\n\n            migrationBuilder.CreateTable(\n                name: \"AbpEditions\",\n                columns: table => new\n                {\n                    Id = table.Column<int>(nullable: false)\n                        .Annotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn),\n                    CreationTime = table.Column<DateTime>(nullable: false),\n                    CreatorUserId = table.Column<long>(nullable: true),\n                    LastModificationTime = table.Column<DateTime>(nullable: true),\n                    LastModifierUserId = table.Column<long>(nullable: true),\n                    IsDeleted = table.Column<bool>(nullable: false),\n                    DeleterUserId = table.Column<long>(nullable: true),\n                    DeletionTime = table.Column<DateTime>(nullable: true),\n                    Name = table.Column<string>(maxLength: 32, nullable: false),\n                    DisplayName = table.Column<string>(maxLength: 64, nullable: false),\n                },\n                constraints: table =>\n                {\n                    table.PrimaryKey(\"PK_AbpEditions\", x => x.Id);\n                });\n\n            migrationBuilder.CreateTable(\n                name: \"AbpEntityChangeSets\",\n                columns: table => new\n                {\n                    Id = table.Column<long>(nullable: false)\n                        .Annotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn),\n                    BrowserInfo = table.Column<string>(maxLength: 512, nullable: true),\n                    ClientIpAddress = table.Column<string>(maxLength: 64, nullable: true),\n                    ClientName = table.Column<string>(maxLength: 128, nullable: true),\n                    CreationTime = table.Column<DateTime>(nullable: false),\n                    ExtensionData = table.Column<string>(nullable: true),\n                    ImpersonatorTenantId = table.Column<int>(nullable: true),\n                    ImpersonatorUserId = table.Column<long>(nullable: true),\n                    Reason = table.Column<string>(maxLength: 256, nullable: true),\n                    TenantId = table.Column<int>(nullable: true),\n                    UserId = table.Column<long>(nullable: true),\n                },\n                constraints: table =>\n                {\n                    table.PrimaryKey(\"PK_AbpEntityChangeSets\", x => x.Id);\n                });\n\n            migrationBuilder.CreateTable(\n                name: \"AbpLanguages\",\n                columns: table => new\n                {\n                    Id = table.Column<int>(nullable: false)\n                        .Annotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn),\n                    CreationTime = table.Column<DateTime>(nullable: false),\n                    CreatorUserId = table.Column<long>(nullable: true),\n                    LastModificationTime = table.Column<DateTime>(nullable: true),\n                    LastModifierUserId = table.Column<long>(nullable: true),\n                    IsDeleted = table.Column<bool>(nullable: false),\n                    DeleterUserId = table.Column<long>(nullable: true),\n                    DeletionTime = table.Column<DateTime>(nullable: true),\n                    TenantId = table.Column<int>(nullable: true),\n                    Name = table.Column<string>(maxLength: 128, nullable: false),\n                    DisplayName = table.Column<string>(maxLength: 64, nullable: false),\n                    Icon = table.Column<string>(maxLength: 128, nullable: true),\n                    IsDisabled = table.Column<bool>(nullable: false),\n                },\n                constraints: table =>\n                {\n                    table.PrimaryKey(\"PK_AbpLanguages\", x => x.Id);\n                });\n\n            migrationBuilder.CreateTable(\n                name: \"AbpLanguageTexts\",\n                columns: table => new\n                {\n                    Id = table.Column<long>(nullable: false)\n                        .Annotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn),\n                    CreationTime = table.Column<DateTime>(nullable: false),\n                    CreatorUserId = table.Column<long>(nullable: true),\n                    LastModificationTime = table.Column<DateTime>(nullable: true),\n                    LastModifierUserId = table.Column<long>(nullable: true),\n                    TenantId = table.Column<int>(nullable: true),\n                    LanguageName = table.Column<string>(maxLength: 128, nullable: false),\n                    Source = table.Column<string>(maxLength: 128, nullable: false),\n                    Key = table.Column<string>(maxLength: 256, nullable: false),\n                    Value = table.Column<string>(maxLength: 67108864, nullable: false),\n                },\n                constraints: table =>\n                {\n                    table.PrimaryKey(\"PK_AbpLanguageTexts\", x => x.Id);\n                });\n\n            migrationBuilder.CreateTable(\n                name: \"AbpNotifications\",\n                columns: table => new\n                {\n                    Id = table.Column<Guid>(nullable: false),\n                    CreationTime = table.Column<DateTime>(nullable: false),\n                    CreatorUserId = table.Column<long>(nullable: true),\n                    NotificationName = table.Column<string>(maxLength: 96, nullable: false),\n                    Data = table.Column<string>(maxLength: 1048576, nullable: true),\n                    DataTypeName = table.Column<string>(maxLength: 512, nullable: true),\n                    EntityTypeName = table.Column<string>(maxLength: 250, nullable: true),\n                    EntityTypeAssemblyQualifiedName = table.Column<string>(maxLength: 512, nullable: true),\n                    EntityId = table.Column<string>(maxLength: 96, nullable: true),\n                    Severity = table.Column<byte>(nullable: false),\n                    UserIds = table.Column<string>(maxLength: 131072, nullable: true),\n                    ExcludedUserIds = table.Column<string>(maxLength: 131072, nullable: true),\n                    TenantIds = table.Column<string>(maxLength: 131072, nullable: true),\n                },\n                constraints: table =>\n                {\n                    table.PrimaryKey(\"PK_AbpNotifications\", x => x.Id);\n                });\n\n            migrationBuilder.CreateTable(\n                name: \"AbpNotificationSubscriptions\",\n                columns: table => new\n                {\n                    Id = table.Column<Guid>(nullable: false),\n                    CreationTime = table.Column<DateTime>(nullable: false),\n                    CreatorUserId = table.Column<long>(nullable: true),\n                    TenantId = table.Column<int>(nullable: true),\n                    UserId = table.Column<long>(nullable: false),\n                    NotificationName = table.Column<string>(maxLength: 96, nullable: true),\n                    EntityTypeName = table.Column<string>(maxLength: 250, nullable: true),\n                    EntityTypeAssemblyQualifiedName = table.Column<string>(maxLength: 512, nullable: true),\n                    EntityId = table.Column<string>(maxLength: 96, nullable: true),\n                },\n                constraints: table =>\n                {\n                    table.PrimaryKey(\"PK_AbpNotificationSubscriptions\", x => x.Id);\n                });\n\n            migrationBuilder.CreateTable(\n                name: \"AbpOrganizationUnitRoles\",\n                columns: table => new\n                {\n                    Id = table.Column<long>(nullable: false)\n                        .Annotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn),\n                    CreationTime = table.Column<DateTime>(nullable: false),\n                    CreatorUserId = table.Column<long>(nullable: true),\n                    TenantId = table.Column<int>(nullable: true),\n                    RoleId = table.Column<int>(nullable: false),\n                    OrganizationUnitId = table.Column<long>(nullable: false),\n                    IsDeleted = table.Column<bool>(nullable: false),\n                },\n                constraints: table =>\n                {\n                    table.PrimaryKey(\"PK_AbpOrganizationUnitRoles\", x => x.Id);\n                });\n\n            migrationBuilder.CreateTable(\n                name: \"AbpOrganizationUnits\",\n                columns: table => new\n                {\n                    Id = table.Column<long>(nullable: false)\n                        .Annotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn),\n                    CreationTime = table.Column<DateTime>(nullable: false),\n                    CreatorUserId = table.Column<long>(nullable: true),\n                    LastModificationTime = table.Column<DateTime>(nullable: true),\n                    LastModifierUserId = table.Column<long>(nullable: true),\n                    IsDeleted = table.Column<bool>(nullable: false),\n                    DeleterUserId = table.Column<long>(nullable: true),\n                    DeletionTime = table.Column<DateTime>(nullable: true),\n                    TenantId = table.Column<int>(nullable: true),\n                    ParentId = table.Column<long>(nullable: true),\n                    Code = table.Column<string>(maxLength: 95, nullable: false),\n                    DisplayName = table.Column<string>(maxLength: 128, nullable: false),\n                },\n                constraints: table =>\n                {\n                    table.PrimaryKey(\"PK_AbpOrganizationUnits\", x => x.Id);\n                    table.ForeignKey(\n                        name: \"FK_AbpOrganizationUnits_AbpOrganizationUnits_ParentId\",\n                        column: x => x.ParentId,\n                        principalTable: \"AbpOrganizationUnits\",\n                        principalColumn: \"Id\",\n                        onDelete: ReferentialAction.Restrict);\n                });\n\n            migrationBuilder.CreateTable(\n                name: \"AbpTenantNotifications\",\n                columns: table => new\n                {\n                    Id = table.Column<Guid>(nullable: false),\n                    CreationTime = table.Column<DateTime>(nullable: false),\n                    CreatorUserId = table.Column<long>(nullable: true),\n                    TenantId = table.Column<int>(nullable: true),\n                    NotificationName = table.Column<string>(maxLength: 96, nullable: false),\n                    Data = table.Column<string>(maxLength: 1048576, nullable: true),\n                    DataTypeName = table.Column<string>(maxLength: 512, nullable: true),\n                    EntityTypeName = table.Column<string>(maxLength: 250, nullable: true),\n                    EntityTypeAssemblyQualifiedName = table.Column<string>(maxLength: 512, nullable: true),\n                    EntityId = table.Column<string>(maxLength: 96, nullable: true),\n                    Severity = table.Column<byte>(nullable: false),\n                },\n                constraints: table =>\n                {\n                    table.PrimaryKey(\"PK_AbpTenantNotifications\", x => x.Id);\n                });\n\n            migrationBuilder.CreateTable(\n                name: \"AbpUserAccounts\",\n                columns: table => new\n                {\n                    Id = table.Column<long>(nullable: false)\n                        .Annotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn),\n                    CreationTime = table.Column<DateTime>(nullable: false),\n                    CreatorUserId = table.Column<long>(nullable: true),\n                    LastModificationTime = table.Column<DateTime>(nullable: true),\n                    LastModifierUserId = table.Column<long>(nullable: true),\n                    IsDeleted = table.Column<bool>(nullable: false),\n                    DeleterUserId = table.Column<long>(nullable: true),\n                    DeletionTime = table.Column<DateTime>(nullable: true),\n                    TenantId = table.Column<int>(nullable: true),\n                    UserId = table.Column<long>(nullable: false),\n                    UserLinkId = table.Column<long>(nullable: true),\n                    UserName = table.Column<string>(maxLength: 256, nullable: true),\n                    EmailAddress = table.Column<string>(maxLength: 256, nullable: true),\n                },\n                constraints: table =>\n                {\n                    table.PrimaryKey(\"PK_AbpUserAccounts\", x => x.Id);\n                });\n\n            migrationBuilder.CreateTable(\n                name: \"AbpUserLoginAttempts\",\n                columns: table => new\n                {\n                    Id = table.Column<long>(nullable: false)\n                        .Annotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn),\n                    TenantId = table.Column<int>(nullable: true),\n                    TenancyName = table.Column<string>(maxLength: 64, nullable: true),\n                    UserId = table.Column<long>(nullable: true),\n                    UserNameOrEmailAddress = table.Column<string>(maxLength: 256, nullable: true),\n                    ClientIpAddress = table.Column<string>(maxLength: 64, nullable: true),\n                    ClientName = table.Column<string>(maxLength: 128, nullable: true),\n                    BrowserInfo = table.Column<string>(maxLength: 512, nullable: true),\n                    Result = table.Column<byte>(nullable: false),\n                    CreationTime = table.Column<DateTime>(nullable: false),\n                },\n                constraints: table =>\n                {\n                    table.PrimaryKey(\"PK_AbpUserLoginAttempts\", x => x.Id);\n                });\n\n            migrationBuilder.CreateTable(\n                name: \"AbpUserNotifications\",\n                columns: table => new\n                {\n                    Id = table.Column<Guid>(nullable: false),\n                    TenantId = table.Column<int>(nullable: true),\n                    UserId = table.Column<long>(nullable: false),\n                    TenantNotificationId = table.Column<Guid>(nullable: false),\n                    State = table.Column<int>(nullable: false),\n                    CreationTime = table.Column<DateTime>(nullable: false),\n                },\n                constraints: table =>\n                {\n                    table.PrimaryKey(\"PK_AbpUserNotifications\", x => x.Id);\n                });\n\n            migrationBuilder.CreateTable(\n                name: \"AbpUserOrganizationUnits\",\n                columns: table => new\n                {\n                    Id = table.Column<long>(nullable: false)\n                        .Annotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn),\n                    CreationTime = table.Column<DateTime>(nullable: false),\n                    CreatorUserId = table.Column<long>(nullable: true),\n                    TenantId = table.Column<int>(nullable: true),\n                    UserId = table.Column<long>(nullable: false),\n                    OrganizationUnitId = table.Column<long>(nullable: false),\n                    IsDeleted = table.Column<bool>(nullable: false),\n                },\n                constraints: table =>\n                {\n                    table.PrimaryKey(\"PK_AbpUserOrganizationUnits\", x => x.Id);\n                });\n\n            migrationBuilder.CreateTable(\n                name: \"AbpUsers\",\n                columns: table => new\n                {\n                    Id = table.Column<long>(nullable: false)\n                        .Annotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn),\n                    CreationTime = table.Column<DateTime>(nullable: false),\n                    CreatorUserId = table.Column<long>(nullable: true),\n                    LastModificationTime = table.Column<DateTime>(nullable: true),\n                    LastModifierUserId = table.Column<long>(nullable: true),\n                    IsDeleted = table.Column<bool>(nullable: false),\n                    DeleterUserId = table.Column<long>(nullable: true),\n                    DeletionTime = table.Column<DateTime>(nullable: true),\n                    AuthenticationSource = table.Column<string>(maxLength: 64, nullable: true),\n                    UserName = table.Column<string>(maxLength: 256, nullable: false),\n                    TenantId = table.Column<int>(nullable: true),\n                    EmailAddress = table.Column<string>(maxLength: 256, nullable: false),\n                    Name = table.Column<string>(maxLength: 64, nullable: false),\n                    Surname = table.Column<string>(maxLength: 64, nullable: false),\n                    Password = table.Column<string>(maxLength: 128, nullable: false),\n                    EmailConfirmationCode = table.Column<string>(maxLength: 328, nullable: true),\n                    PasswordResetCode = table.Column<string>(maxLength: 328, nullable: true),\n                    LockoutEndDateUtc = table.Column<DateTime>(nullable: true),\n                    AccessFailedCount = table.Column<int>(nullable: false),\n                    IsLockoutEnabled = table.Column<bool>(nullable: false),\n                    PhoneNumber = table.Column<string>(maxLength: 32, nullable: true),\n                    IsPhoneNumberConfirmed = table.Column<bool>(nullable: false),\n                    SecurityStamp = table.Column<string>(maxLength: 128, nullable: true),\n                    IsTwoFactorEnabled = table.Column<bool>(nullable: false),\n                    IsEmailConfirmed = table.Column<bool>(nullable: false),\n                    IsActive = table.Column<bool>(nullable: false),\n                    NormalizedUserName = table.Column<string>(maxLength: 256, nullable: false),\n                    NormalizedEmailAddress = table.Column<string>(maxLength: 256, nullable: false),\n                    ConcurrencyStamp = table.Column<string>(maxLength: 128, nullable: true),\n                },\n                constraints: table =>\n                {\n                    table.PrimaryKey(\"PK_AbpUsers\", x => x.Id);\n                    table.ForeignKey(\n                        name: \"FK_AbpUsers_AbpUsers_CreatorUserId\",\n                        column: x => x.CreatorUserId,\n                        principalTable: \"AbpUsers\",\n                        principalColumn: \"Id\",\n                        onDelete: ReferentialAction.Restrict);\n                    table.ForeignKey(\n                        name: \"FK_AbpUsers_AbpUsers_DeleterUserId\",\n                        column: x => x.DeleterUserId,\n                        principalTable: \"AbpUsers\",\n                        principalColumn: \"Id\",\n                        onDelete: ReferentialAction.Restrict);\n                    table.ForeignKey(\n                        name: \"FK_AbpUsers_AbpUsers_LastModifierUserId\",\n                        column: x => x.LastModifierUserId,\n                        principalTable: \"AbpUsers\",\n                        principalColumn: \"Id\",\n                        onDelete: ReferentialAction.Restrict);\n                });\n\n            migrationBuilder.CreateTable(\n                name: \"AbpWebhookEvents\",\n                columns: table => new\n                {\n                    Id = table.Column<Guid>(nullable: false),\n                    WebhookName = table.Column<string>(nullable: false),\n                    Data = table.Column<string>(nullable: true),\n                    CreationTime = table.Column<DateTime>(nullable: false),\n                    TenantId = table.Column<int>(nullable: true),\n                    IsDeleted = table.Column<bool>(nullable: false),\n                    DeletionTime = table.Column<DateTime>(nullable: true),\n                },\n                constraints: table =>\n                {\n                    table.PrimaryKey(\"PK_AbpWebhookEvents\", x => x.Id);\n                });\n\n            migrationBuilder.CreateTable(\n                name: \"AbpWebhookSubscriptions\",\n                columns: table => new\n                {\n                    Id = table.Column<Guid>(nullable: false),\n                    CreationTime = table.Column<DateTime>(nullable: false),\n                    CreatorUserId = table.Column<long>(nullable: true),\n                    TenantId = table.Column<int>(nullable: true),\n                    WebhookUri = table.Column<string>(nullable: false),\n                    Secret = table.Column<string>(nullable: false),\n                    IsActive = table.Column<bool>(nullable: false),\n                    Webhooks = table.Column<string>(nullable: true),\n                    Headers = table.Column<string>(nullable: true),\n                },\n                constraints: table =>\n                {\n                    table.PrimaryKey(\"PK_AbpWebhookSubscriptions\", x => x.Id);\n                });\n\n            migrationBuilder.CreateTable(\n                name: \"AbpFeatures\",\n                columns: table => new\n                {\n                    Id = table.Column<long>(nullable: false)\n                        .Annotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn),\n                    CreationTime = table.Column<DateTime>(nullable: false),\n                    CreatorUserId = table.Column<long>(nullable: true),\n                    TenantId = table.Column<int>(nullable: true),\n                    Name = table.Column<string>(maxLength: 128, nullable: false),\n                    Value = table.Column<string>(maxLength: 2000, nullable: false),\n                    Discriminator = table.Column<string>(nullable: false),\n                    EditionId = table.Column<int>(nullable: true),\n                },\n                constraints: table =>\n                {\n                    table.PrimaryKey(\"PK_AbpFeatures\", x => x.Id);\n                    table.ForeignKey(\n                        name: \"FK_AbpFeatures_AbpEditions_EditionId\",\n                        column: x => x.EditionId,\n                        principalTable: \"AbpEditions\",\n                        principalColumn: \"Id\",\n                        onDelete: ReferentialAction.Cascade);\n                });\n\n            migrationBuilder.CreateTable(\n                name: \"AbpEntityChanges\",\n                columns: table => new\n                {\n                    Id = table.Column<long>(nullable: false)\n                        .Annotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn),\n                    ChangeTime = table.Column<DateTime>(nullable: false),\n                    ChangeType = table.Column<byte>(nullable: false),\n                    EntityChangeSetId = table.Column<long>(nullable: false),\n                    EntityId = table.Column<string>(maxLength: 48, nullable: true),\n                    EntityTypeFullName = table.Column<string>(maxLength: 192, nullable: true),\n                    TenantId = table.Column<int>(nullable: true),\n                },\n                constraints: table =>\n                {\n                    table.PrimaryKey(\"PK_AbpEntityChanges\", x => x.Id);\n                    table.ForeignKey(\n                        name: \"FK_AbpEntityChanges_AbpEntityChangeSets_EntityChangeSetId\",\n                        column: x => x.EntityChangeSetId,\n                        principalTable: \"AbpEntityChangeSets\",\n                        principalColumn: \"Id\",\n                        onDelete: ReferentialAction.Cascade);\n                });\n\n            migrationBuilder.CreateTable(\n                name: \"AbpRoles\",\n                columns: table => new\n                {\n                    Id = table.Column<int>(nullable: false)\n                        .Annotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn),\n                    CreationTime = table.Column<DateTime>(nullable: false),\n                    CreatorUserId = table.Column<long>(nullable: true),\n                    LastModificationTime = table.Column<DateTime>(nullable: true),\n                    LastModifierUserId = table.Column<long>(nullable: true),\n                    IsDeleted = table.Column<bool>(nullable: false),\n                    DeleterUserId = table.Column<long>(nullable: true),\n                    DeletionTime = table.Column<DateTime>(nullable: true),\n                    TenantId = table.Column<int>(nullable: true),\n                    Name = table.Column<string>(maxLength: 32, nullable: false),\n                    DisplayName = table.Column<string>(maxLength: 64, nullable: false),\n                    IsStatic = table.Column<bool>(nullable: false),\n                    IsDefault = table.Column<bool>(nullable: false),\n                    NormalizedName = table.Column<string>(maxLength: 32, nullable: false),\n                    ConcurrencyStamp = table.Column<string>(maxLength: 128, nullable: true),\n                    Description = table.Column<string>(maxLength: 5000, nullable: true),\n                },\n                constraints: table =>\n                {\n                    table.PrimaryKey(\"PK_AbpRoles\", x => x.Id);\n                    table.ForeignKey(\n                        name: \"FK_AbpRoles_AbpUsers_CreatorUserId\",\n                        column: x => x.CreatorUserId,\n                        principalTable: \"AbpUsers\",\n                        principalColumn: \"Id\",\n                        onDelete: ReferentialAction.Restrict);\n                    table.ForeignKey(\n                        name: \"FK_AbpRoles_AbpUsers_DeleterUserId\",\n                        column: x => x.DeleterUserId,\n                        principalTable: \"AbpUsers\",\n                        principalColumn: \"Id\",\n                        onDelete: ReferentialAction.Restrict);\n                    table.ForeignKey(\n                        name: \"FK_AbpRoles_AbpUsers_LastModifierUserId\",\n                        column: x => x.LastModifierUserId,\n                        principalTable: \"AbpUsers\",\n                        principalColumn: \"Id\",\n                        onDelete: ReferentialAction.Restrict);\n                });\n\n            migrationBuilder.CreateTable(\n                name: \"AbpSettings\",\n                columns: table => new\n                {\n                    Id = table.Column<long>(nullable: false)\n                        .Annotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn),\n                    CreationTime = table.Column<DateTime>(nullable: false),\n                    CreatorUserId = table.Column<long>(nullable: true),\n                    LastModificationTime = table.Column<DateTime>(nullable: true),\n                    LastModifierUserId = table.Column<long>(nullable: true),\n                    TenantId = table.Column<int>(nullable: true),\n                    UserId = table.Column<long>(nullable: true),\n                    Name = table.Column<string>(maxLength: 256, nullable: false),\n                    Value = table.Column<string>(nullable: true),\n                },\n                constraints: table =>\n                {\n                    table.PrimaryKey(\"PK_AbpSettings\", x => x.Id);\n                    table.ForeignKey(\n                        name: \"FK_AbpSettings_AbpUsers_UserId\",\n                        column: x => x.UserId,\n                        principalTable: \"AbpUsers\",\n                        principalColumn: \"Id\",\n                        onDelete: ReferentialAction.Restrict);\n                });\n\n            migrationBuilder.CreateTable(\n                name: \"AbpTenants\",\n                columns: table => new\n                {\n                    Id = table.Column<int>(nullable: false)\n                        .Annotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn),\n                    CreationTime = table.Column<DateTime>(nullable: false),\n                    CreatorUserId = table.Column<long>(nullable: true),\n                    LastModificationTime = table.Column<DateTime>(nullable: true),\n                    LastModifierUserId = table.Column<long>(nullable: true),\n                    IsDeleted = table.Column<bool>(nullable: false),\n                    DeleterUserId = table.Column<long>(nullable: true),\n                    DeletionTime = table.Column<DateTime>(nullable: true),\n                    TenancyName = table.Column<string>(maxLength: 64, nullable: false),\n                    Name = table.Column<string>(maxLength: 128, nullable: false),\n                    ConnectionString = table.Column<string>(maxLength: 1024, nullable: true),\n                    IsActive = table.Column<bool>(nullable: false),\n                    EditionId = table.Column<int>(nullable: true),\n                },\n                constraints: table =>\n                {\n                    table.PrimaryKey(\"PK_AbpTenants\", x => x.Id);\n                    table.ForeignKey(\n                        name: \"FK_AbpTenants_AbpUsers_CreatorUserId\",\n                        column: x => x.CreatorUserId,\n                        principalTable: \"AbpUsers\",\n                        principalColumn: \"Id\",\n                        onDelete: ReferentialAction.Restrict);\n                    table.ForeignKey(\n                        name: \"FK_AbpTenants_AbpUsers_DeleterUserId\",\n                        column: x => x.DeleterUserId,\n                        principalTable: \"AbpUsers\",\n                        principalColumn: \"Id\",\n                        onDelete: ReferentialAction.Restrict);\n                    table.ForeignKey(\n                        name: \"FK_AbpTenants_AbpEditions_EditionId\",\n                        column: x => x.EditionId,\n                        principalTable: \"AbpEditions\",\n                        principalColumn: \"Id\",\n                        onDelete: ReferentialAction.Restrict);\n                    table.ForeignKey(\n                        name: \"FK_AbpTenants_AbpUsers_LastModifierUserId\",\n                        column: x => x.LastModifierUserId,\n                        principalTable: \"AbpUsers\",\n                        principalColumn: \"Id\",\n                        onDelete: ReferentialAction.Restrict);\n                });\n\n            migrationBuilder.CreateTable(\n                name: \"AbpUserClaims\",\n                columns: table => new\n                {\n                    Id = table.Column<long>(nullable: false)\n                        .Annotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn),\n                    CreationTime = table.Column<DateTime>(nullable: false),\n                    CreatorUserId = table.Column<long>(nullable: true),\n                    TenantId = table.Column<int>(nullable: true),\n                    UserId = table.Column<long>(nullable: false),\n                    ClaimType = table.Column<string>(maxLength: 256, nullable: true),\n                    ClaimValue = table.Column<string>(nullable: true),\n                },\n                constraints: table =>\n                {\n                    table.PrimaryKey(\"PK_AbpUserClaims\", x => x.Id);\n                    table.ForeignKey(\n                        name: \"FK_AbpUserClaims_AbpUsers_UserId\",\n                        column: x => x.UserId,\n                        principalTable: \"AbpUsers\",\n                        principalColumn: \"Id\",\n                        onDelete: ReferentialAction.Cascade);\n                });\n\n            migrationBuilder.CreateTable(\n                name: \"AbpUserLogins\",\n                columns: table => new\n                {\n                    Id = table.Column<long>(nullable: false)\n                        .Annotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn),\n                    TenantId = table.Column<int>(nullable: true),\n                    UserId = table.Column<long>(nullable: false),\n                    LoginProvider = table.Column<string>(maxLength: 128, nullable: false),\n                    ProviderKey = table.Column<string>(maxLength: 256, nullable: false),\n                },\n                constraints: table =>\n                {\n                    table.PrimaryKey(\"PK_AbpUserLogins\", x => x.Id);\n                    table.ForeignKey(\n                        name: \"FK_AbpUserLogins_AbpUsers_UserId\",\n                        column: x => x.UserId,\n                        principalTable: \"AbpUsers\",\n                        principalColumn: \"Id\",\n                        onDelete: ReferentialAction.Cascade);\n                });\n\n            migrationBuilder.CreateTable(\n                name: \"AbpUserRoles\",\n                columns: table => new\n                {\n                    Id = table.Column<long>(nullable: false)\n                        .Annotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn),\n                    CreationTime = table.Column<DateTime>(nullable: false),\n                    CreatorUserId = table.Column<long>(nullable: true),\n                    TenantId = table.Column<int>(nullable: true),\n                    UserId = table.Column<long>(nullable: false),\n                    RoleId = table.Column<int>(nullable: false),\n                },\n                constraints: table =>\n                {\n                    table.PrimaryKey(\"PK_AbpUserRoles\", x => x.Id);\n                    table.ForeignKey(\n                        name: \"FK_AbpUserRoles_AbpUsers_UserId\",\n                        column: x => x.UserId,\n                        principalTable: \"AbpUsers\",\n                        principalColumn: \"Id\",\n                        onDelete: ReferentialAction.Cascade);\n                });\n\n            migrationBuilder.CreateTable(\n                name: \"AbpUserTokens\",\n                columns: table => new\n                {\n                    Id = table.Column<long>(nullable: false)\n                        .Annotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn),\n                    TenantId = table.Column<int>(nullable: true),\n                    UserId = table.Column<long>(nullable: false),\n                    LoginProvider = table.Column<string>(maxLength: 128, nullable: true),\n                    Name = table.Column<string>(maxLength: 128, nullable: true),\n                    Value = table.Column<string>(maxLength: 512, nullable: true),\n                    ExpireDate = table.Column<DateTime>(nullable: true),\n                },\n                constraints: table =>\n                {\n                    table.PrimaryKey(\"PK_AbpUserTokens\", x => x.Id);\n                    table.ForeignKey(\n                        name: \"FK_AbpUserTokens_AbpUsers_UserId\",\n                        column: x => x.UserId,\n                        principalTable: \"AbpUsers\",\n                        principalColumn: \"Id\",\n                        onDelete: ReferentialAction.Cascade);\n                });\n\n            migrationBuilder.CreateTable(\n                name: \"AbpWebhookSendAttempts\",\n                columns: table => new\n                {\n                    Id = table.Column<Guid>(nullable: false),\n                    WebhookEventId = table.Column<Guid>(nullable: false),\n                    WebhookSubscriptionId = table.Column<Guid>(nullable: false),\n                    Response = table.Column<string>(nullable: true),\n                    ResponseStatusCode = table.Column<int>(nullable: true),\n                    CreationTime = table.Column<DateTime>(nullable: false),\n                    LastModificationTime = table.Column<DateTime>(nullable: true),\n                    TenantId = table.Column<int>(nullable: true),\n                },\n                constraints: table =>\n                {\n                    table.PrimaryKey(\"PK_AbpWebhookSendAttempts\", x => x.Id);\n                    table.ForeignKey(\n                        name: \"FK_AbpWebhookSendAttempts_AbpWebhookEvents_WebhookEventId\",\n                        column: x => x.WebhookEventId,\n                        principalTable: \"AbpWebhookEvents\",\n                        principalColumn: \"Id\",\n                        onDelete: ReferentialAction.Cascade);\n                });\n\n            migrationBuilder.CreateTable(\n                name: \"AbpEntityPropertyChanges\",\n                columns: table => new\n                {\n                    Id = table.Column<long>(nullable: false)\n                        .Annotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn),\n                    EntityChangeId = table.Column<long>(nullable: false),\n                    NewValue = table.Column<string>(maxLength: 512, nullable: true),\n                    OriginalValue = table.Column<string>(maxLength: 512, nullable: true),\n                    PropertyName = table.Column<string>(maxLength: 96, nullable: true),\n                    PropertyTypeFullName = table.Column<string>(maxLength: 192, nullable: true),\n                    TenantId = table.Column<int>(nullable: true),\n                },\n                constraints: table =>\n                {\n                    table.PrimaryKey(\"PK_AbpEntityPropertyChanges\", x => x.Id);\n                    table.ForeignKey(\n                        name: \"FK_AbpEntityPropertyChanges_AbpEntityChanges_EntityChangeId\",\n                        column: x => x.EntityChangeId,\n                        principalTable: \"AbpEntityChanges\",\n                        principalColumn: \"Id\",\n                        onDelete: ReferentialAction.Cascade);\n                });\n\n            migrationBuilder.CreateTable(\n                name: \"AbpPermissions\",\n                columns: table => new\n                {\n                    Id = table.Column<long>(nullable: false)\n                        .Annotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn),\n                    CreationTime = table.Column<DateTime>(nullable: false),\n                    CreatorUserId = table.Column<long>(nullable: true),\n                    TenantId = table.Column<int>(nullable: true),\n                    Name = table.Column<string>(maxLength: 128, nullable: false),\n                    IsGranted = table.Column<bool>(nullable: false),\n                    Discriminator = table.Column<string>(nullable: false),\n                    RoleId = table.Column<int>(nullable: true),\n                    UserId = table.Column<long>(nullable: true),\n                },\n                constraints: table =>\n                {\n                    table.PrimaryKey(\"PK_AbpPermissions\", x => x.Id);\n                    table.ForeignKey(\n                        name: \"FK_AbpPermissions_AbpRoles_RoleId\",\n                        column: x => x.RoleId,\n                        principalTable: \"AbpRoles\",\n                        principalColumn: \"Id\",\n                        onDelete: ReferentialAction.Cascade);\n                    table.ForeignKey(\n                        name: \"FK_AbpPermissions_AbpUsers_UserId\",\n                        column: x => x.UserId,\n                        principalTable: \"AbpUsers\",\n                        principalColumn: \"Id\",\n                        onDelete: ReferentialAction.Cascade);\n                });\n\n            migrationBuilder.CreateTable(\n                name: \"AbpRoleClaims\",\n                columns: table => new\n                {\n                    Id = table.Column<long>(nullable: false)\n                        .Annotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn),\n                    CreationTime = table.Column<DateTime>(nullable: false),\n                    CreatorUserId = table.Column<long>(nullable: true),\n                    TenantId = table.Column<int>(nullable: true),\n                    RoleId = table.Column<int>(nullable: false),\n                    ClaimType = table.Column<string>(maxLength: 256, nullable: true),\n                    ClaimValue = table.Column<string>(nullable: true),\n                },\n                constraints: table =>\n                {\n                    table.PrimaryKey(\"PK_AbpRoleClaims\", x => x.Id);\n                    table.ForeignKey(\n                        name: \"FK_AbpRoleClaims_AbpRoles_RoleId\",\n                        column: x => x.RoleId,\n                        principalTable: \"AbpRoles\",\n                        principalColumn: \"Id\",\n                        onDelete: ReferentialAction.Cascade);\n                });\n\n            migrationBuilder.CreateIndex(\n                name: \"IX_AbpAuditLogs_TenantId_ExecutionDuration\",\n                table: \"AbpAuditLogs\",\n                columns: new[] { \"TenantId\", \"ExecutionDuration\" });\n\n            migrationBuilder.CreateIndex(\n                name: \"IX_AbpAuditLogs_TenantId_ExecutionTime\",\n                table: \"AbpAuditLogs\",\n                columns: new[] { \"TenantId\", \"ExecutionTime\" });\n\n            migrationBuilder.CreateIndex(\n                name: \"IX_AbpAuditLogs_TenantId_UserId\",\n                table: \"AbpAuditLogs\",\n                columns: new[] { \"TenantId\", \"UserId\" });\n\n            migrationBuilder.CreateIndex(\n                name: \"IX_AbpBackgroundJobs_IsAbandoned_NextTryTime\",\n                table: \"AbpBackgroundJobs\",\n                columns: new[] { \"IsAbandoned\", \"NextTryTime\" });\n\n            migrationBuilder.CreateIndex(\n                name: \"IX_AbpEntityChanges_EntityChangeSetId\",\n                table: \"AbpEntityChanges\",\n                column: \"EntityChangeSetId\");\n\n            migrationBuilder.CreateIndex(\n                name: \"IX_AbpEntityChanges_EntityTypeFullName_EntityId\",\n                table: \"AbpEntityChanges\",\n                columns: new[] { \"EntityTypeFullName\", \"EntityId\" });\n\n            migrationBuilder.CreateIndex(\n                name: \"IX_AbpEntityChangeSets_TenantId_CreationTime\",\n                table: \"AbpEntityChangeSets\",\n                columns: new[] { \"TenantId\", \"CreationTime\" });\n\n            migrationBuilder.CreateIndex(\n                name: \"IX_AbpEntityChangeSets_TenantId_Reason\",\n                table: \"AbpEntityChangeSets\",\n                columns: new[] { \"TenantId\", \"Reason\" });\n\n            migrationBuilder.CreateIndex(\n                name: \"IX_AbpEntityChangeSets_TenantId_UserId\",\n                table: \"AbpEntityChangeSets\",\n                columns: new[] { \"TenantId\", \"UserId\" });\n\n            migrationBuilder.CreateIndex(\n                name: \"IX_AbpEntityPropertyChanges_EntityChangeId\",\n                table: \"AbpEntityPropertyChanges\",\n                column: \"EntityChangeId\");\n\n            migrationBuilder.CreateIndex(\n                name: \"IX_AbpFeatures_EditionId_Name\",\n                table: \"AbpFeatures\",\n                columns: new[] { \"EditionId\", \"Name\" });\n\n            migrationBuilder.CreateIndex(\n                name: \"IX_AbpFeatures_TenantId_Name\",\n                table: \"AbpFeatures\",\n                columns: new[] { \"TenantId\", \"Name\" });\n\n            migrationBuilder.CreateIndex(\n                name: \"IX_AbpLanguages_TenantId_Name\",\n                table: \"AbpLanguages\",\n                columns: new[] { \"TenantId\", \"Name\" });\n\n            migrationBuilder.CreateIndex(\n                name: \"IX_AbpLanguageTexts_TenantId_Source_LanguageName_Key\",\n                table: \"AbpLanguageTexts\",\n                columns: new[] { \"TenantId\", \"Source\", \"LanguageName\", \"Key\" });\n\n            migrationBuilder.CreateIndex(\n                name: \"IX_AbpNotificationSubscriptions_NotificationName_EntityTypeName~\",\n                table: \"AbpNotificationSubscriptions\",\n                columns: new[] { \"NotificationName\", \"EntityTypeName\", \"EntityId\", \"UserId\" });\n\n            migrationBuilder.CreateIndex(\n                name: \"IX_AbpNotificationSubscriptions_TenantId_NotificationName_Entit~\",\n                table: \"AbpNotificationSubscriptions\",\n                columns: new[] { \"TenantId\", \"NotificationName\", \"EntityTypeName\", \"EntityId\", \"UserId\" });\n\n            migrationBuilder.CreateIndex(\n                name: \"IX_AbpOrganizationUnitRoles_TenantId_OrganizationUnitId\",\n                table: \"AbpOrganizationUnitRoles\",\n                columns: new[] { \"TenantId\", \"OrganizationUnitId\" });\n\n            migrationBuilder.CreateIndex(\n                name: \"IX_AbpOrganizationUnitRoles_TenantId_RoleId\",\n                table: \"AbpOrganizationUnitRoles\",\n                columns: new[] { \"TenantId\", \"RoleId\" });\n\n            migrationBuilder.CreateIndex(\n                name: \"IX_AbpOrganizationUnits_ParentId\",\n                table: \"AbpOrganizationUnits\",\n                column: \"ParentId\");\n\n            migrationBuilder.CreateIndex(\n                name: \"IX_AbpOrganizationUnits_TenantId_Code\",\n                table: \"AbpOrganizationUnits\",\n                columns: new[] { \"TenantId\", \"Code\" });\n\n            migrationBuilder.CreateIndex(\n                name: \"IX_AbpPermissions_TenantId_Name\",\n                table: \"AbpPermissions\",\n                columns: new[] { \"TenantId\", \"Name\" });\n\n            migrationBuilder.CreateIndex(\n                name: \"IX_AbpPermissions_RoleId\",\n                table: \"AbpPermissions\",\n                column: \"RoleId\");\n\n            migrationBuilder.CreateIndex(\n                name: \"IX_AbpPermissions_UserId\",\n                table: \"AbpPermissions\",\n                column: \"UserId\");\n\n            migrationBuilder.CreateIndex(\n                name: \"IX_AbpRoleClaims_RoleId\",\n                table: \"AbpRoleClaims\",\n                column: \"RoleId\");\n\n            migrationBuilder.CreateIndex(\n                name: \"IX_AbpRoleClaims_TenantId_ClaimType\",\n                table: \"AbpRoleClaims\",\n                columns: new[] { \"TenantId\", \"ClaimType\" });\n\n            migrationBuilder.CreateIndex(\n                name: \"IX_AbpRoles_CreatorUserId\",\n                table: \"AbpRoles\",\n                column: \"CreatorUserId\");\n\n            migrationBuilder.CreateIndex(\n                name: \"IX_AbpRoles_DeleterUserId\",\n                table: \"AbpRoles\",\n                column: \"DeleterUserId\");\n\n            migrationBuilder.CreateIndex(\n                name: \"IX_AbpRoles_LastModifierUserId\",\n                table: \"AbpRoles\",\n                column: \"LastModifierUserId\");\n\n            migrationBuilder.CreateIndex(\n                name: \"IX_AbpRoles_TenantId_NormalizedName\",\n                table: \"AbpRoles\",\n                columns: new[] { \"TenantId\", \"NormalizedName\" });\n\n            migrationBuilder.CreateIndex(\n                name: \"IX_AbpSettings_UserId\",\n                table: \"AbpSettings\",\n                column: \"UserId\");\n\n            migrationBuilder.CreateIndex(\n                name: \"IX_AbpSettings_TenantId_Name_UserId\",\n                table: \"AbpSettings\",\n                columns: new[] { \"TenantId\", \"Name\", \"UserId\" },\n                unique: true);\n\n            migrationBuilder.CreateIndex(\n                name: \"IX_AbpTenantNotifications_TenantId\",\n                table: \"AbpTenantNotifications\",\n                column: \"TenantId\");\n\n            migrationBuilder.CreateIndex(\n                name: \"IX_AbpTenants_CreatorUserId\",\n                table: \"AbpTenants\",\n                column: \"CreatorUserId\");\n\n            migrationBuilder.CreateIndex(\n                name: \"IX_AbpTenants_DeleterUserId\",\n                table: \"AbpTenants\",\n                column: \"DeleterUserId\");\n\n            migrationBuilder.CreateIndex(\n                name: \"IX_AbpTenants_EditionId\",\n                table: \"AbpTenants\",\n                column: \"EditionId\");\n\n            migrationBuilder.CreateIndex(\n                name: \"IX_AbpTenants_LastModifierUserId\",\n                table: \"AbpTenants\",\n                column: \"LastModifierUserId\");\n\n            migrationBuilder.CreateIndex(\n                name: \"IX_AbpTenants_TenancyName\",\n                table: \"AbpTenants\",\n                column: \"TenancyName\");\n\n            migrationBuilder.CreateIndex(\n                name: \"IX_AbpUserAccounts_EmailAddress\",\n                table: \"AbpUserAccounts\",\n                column: \"EmailAddress\");\n\n            migrationBuilder.CreateIndex(\n                name: \"IX_AbpUserAccounts_UserName\",\n                table: \"AbpUserAccounts\",\n                column: \"UserName\");\n\n            migrationBuilder.CreateIndex(\n                name: \"IX_AbpUserAccounts_TenantId_EmailAddress\",\n                table: \"AbpUserAccounts\",\n                columns: new[] { \"TenantId\", \"EmailAddress\" });\n\n            migrationBuilder.CreateIndex(\n                name: \"IX_AbpUserAccounts_TenantId_UserId\",\n                table: \"AbpUserAccounts\",\n                columns: new[] { \"TenantId\", \"UserId\" });\n\n            migrationBuilder.CreateIndex(\n                name: \"IX_AbpUserAccounts_TenantId_UserName\",\n                table: \"AbpUserAccounts\",\n                columns: new[] { \"TenantId\", \"UserName\" });\n\n            migrationBuilder.CreateIndex(\n                name: \"IX_AbpUserClaims_UserId\",\n                table: \"AbpUserClaims\",\n                column: \"UserId\");\n\n            migrationBuilder.CreateIndex(\n                name: \"IX_AbpUserClaims_TenantId_ClaimType\",\n                table: \"AbpUserClaims\",\n                columns: new[] { \"TenantId\", \"ClaimType\" });\n\n            migrationBuilder.CreateIndex(\n                name: \"IX_AbpUserLoginAttempts_UserId_TenantId\",\n                table: \"AbpUserLoginAttempts\",\n                columns: new[] { \"UserId\", \"TenantId\" });\n\n            migrationBuilder.CreateIndex(\n                name: \"IX_AbpUserLoginAttempts_TenancyName_UserNameOrEmailAddress_Resu~\",\n                table: \"AbpUserLoginAttempts\",\n                columns: new[] { \"TenancyName\", \"UserNameOrEmailAddress\", \"Result\" });\n\n            migrationBuilder.CreateIndex(\n                name: \"IX_AbpUserLogins_UserId\",\n                table: \"AbpUserLogins\",\n                column: \"UserId\");\n\n            migrationBuilder.CreateIndex(\n                name: \"IX_AbpUserLogins_TenantId_UserId\",\n                table: \"AbpUserLogins\",\n                columns: new[] { \"TenantId\", \"UserId\" });\n\n            migrationBuilder.CreateIndex(\n                name: \"IX_AbpUserLogins_TenantId_LoginProvider_ProviderKey\",\n                table: \"AbpUserLogins\",\n                columns: new[] { \"TenantId\", \"LoginProvider\", \"ProviderKey\" });\n\n            migrationBuilder.CreateIndex(\n                name: \"IX_AbpUserNotifications_UserId_State_CreationTime\",\n                table: \"AbpUserNotifications\",\n                columns: new[] { \"UserId\", \"State\", \"CreationTime\" });\n\n            migrationBuilder.CreateIndex(\n                name: \"IX_AbpUserOrganizationUnits_TenantId_OrganizationUnitId\",\n                table: \"AbpUserOrganizationUnits\",\n                columns: new[] { \"TenantId\", \"OrganizationUnitId\" });\n\n            migrationBuilder.CreateIndex(\n                name: \"IX_AbpUserOrganizationUnits_TenantId_UserId\",\n                table: \"AbpUserOrganizationUnits\",\n                columns: new[] { \"TenantId\", \"UserId\" });\n\n            migrationBuilder.CreateIndex(\n                name: \"IX_AbpUserRoles_UserId\",\n                table: \"AbpUserRoles\",\n                column: \"UserId\");\n\n            migrationBuilder.CreateIndex(\n                name: \"IX_AbpUserRoles_TenantId_RoleId\",\n                table: \"AbpUserRoles\",\n                columns: new[] { \"TenantId\", \"RoleId\" });\n\n            migrationBuilder.CreateIndex(\n                name: \"IX_AbpUserRoles_TenantId_UserId\",\n                table: \"AbpUserRoles\",\n                columns: new[] { \"TenantId\", \"UserId\" });\n\n            migrationBuilder.CreateIndex(\n                name: \"IX_AbpUsers_CreatorUserId\",\n                table: \"AbpUsers\",\n                column: \"CreatorUserId\");\n\n            migrationBuilder.CreateIndex(\n                name: \"IX_AbpUsers_DeleterUserId\",\n                table: \"AbpUsers\",\n                column: \"DeleterUserId\");\n\n            migrationBuilder.CreateIndex(\n                name: \"IX_AbpUsers_LastModifierUserId\",\n                table: \"AbpUsers\",\n                column: \"LastModifierUserId\");\n\n            migrationBuilder.CreateIndex(\n                name: \"IX_AbpUsers_TenantId_NormalizedEmailAddress\",\n                table: \"AbpUsers\",\n                columns: new[] { \"TenantId\", \"NormalizedEmailAddress\" });\n\n            migrationBuilder.CreateIndex(\n                name: \"IX_AbpUsers_TenantId_NormalizedUserName\",\n                table: \"AbpUsers\",\n                columns: new[] { \"TenantId\", \"NormalizedUserName\" });\n\n            migrationBuilder.CreateIndex(\n                name: \"IX_AbpUserTokens_UserId\",\n                table: \"AbpUserTokens\",\n                column: \"UserId\");\n\n            migrationBuilder.CreateIndex(\n                name: \"IX_AbpUserTokens_TenantId_UserId\",\n                table: \"AbpUserTokens\",\n                columns: new[] { \"TenantId\", \"UserId\" });\n\n            migrationBuilder.CreateIndex(\n                name: \"IX_AbpWebhookSendAttempts_WebhookEventId\",\n                table: \"AbpWebhookSendAttempts\",\n                column: \"WebhookEventId\");\n        }\n\n        protected override void Down(MigrationBuilder migrationBuilder)\n        {\n            migrationBuilder.DropTable(\n                name: \"AbpAuditLogs\");\n\n            migrationBuilder.DropTable(\n                name: \"AbpBackgroundJobs\");\n\n            migrationBuilder.DropTable(\n                name: \"AbpEntityPropertyChanges\");\n\n            migrationBuilder.DropTable(\n                name: \"AbpFeatures\");\n\n            migrationBuilder.DropTable(\n                name: \"AbpLanguages\");\n\n            migrationBuilder.DropTable(\n                name: \"AbpLanguageTexts\");\n\n            migrationBuilder.DropTable(\n                name: \"AbpNotifications\");\n\n            migrationBuilder.DropTable(\n                name: \"AbpNotificationSubscriptions\");\n\n            migrationBuilder.DropTable(\n                name: \"AbpOrganizationUnitRoles\");\n\n            migrationBuilder.DropTable(\n                name: \"AbpOrganizationUnits\");\n\n            migrationBuilder.DropTable(\n                name: \"AbpPermissions\");\n\n            migrationBuilder.DropTable(\n                name: \"AbpRoleClaims\");\n\n            migrationBuilder.DropTable(\n                name: \"AbpSettings\");\n\n            migrationBuilder.DropTable(\n                name: \"AbpTenantNotifications\");\n\n            migrationBuilder.DropTable(\n                name: \"AbpTenants\");\n\n            migrationBuilder.DropTable(\n                name: \"AbpUserAccounts\");\n\n            migrationBuilder.DropTable(\n                name: \"AbpUserClaims\");\n\n            migrationBuilder.DropTable(\n                name: \"AbpUserLoginAttempts\");\n\n            migrationBuilder.DropTable(\n                name: \"AbpUserLogins\");\n\n            migrationBuilder.DropTable(\n                name: \"AbpUserNotifications\");\n\n            migrationBuilder.DropTable(\n                name: \"AbpUserOrganizationUnits\");\n\n            migrationBuilder.DropTable(\n                name: \"AbpUserRoles\");\n\n            migrationBuilder.DropTable(\n                name: \"AbpUserTokens\");\n\n            migrationBuilder.DropTable(\n                name: \"AbpWebhookSendAttempts\");\n\n            migrationBuilder.DropTable(\n                name: \"AbpWebhookSubscriptions\");\n\n            migrationBuilder.DropTable(\n                name: \"AbpEntityChanges\");\n\n            migrationBuilder.DropTable(\n                name: \"AbpRoles\");\n\n            migrationBuilder.DropTable(\n                name: \"AbpEditions\");\n\n            migrationBuilder.DropTable(\n                name: \"AbpWebhookEvents\");\n\n            migrationBuilder.DropTable(\n                name: \"AbpEntityChangeSets\");\n\n            migrationBuilder.DropTable(\n                name: \"AbpUsers\");\n        }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.EntityFrameworkCore/Migrations/20200410093107_AddDefaultQuery.Designer.cs",
    "content": "﻿// <auto-generated />\nusing System;\nusing AcmStatisticsBackend.EntityFrameworkCore;\nusing Microsoft.EntityFrameworkCore;\nusing Microsoft.EntityFrameworkCore.Infrastructure;\nusing Microsoft.EntityFrameworkCore.Migrations;\nusing Microsoft.EntityFrameworkCore.Storage.ValueConversion;\n\nnamespace AcmStatisticsBackend.Migrations\n{\n    [DbContext(typeof(AcmStatisticsBackendDbContext))]\n    [Migration(\"20200410093107_AddDefaultQuery\")]\n    partial class AddDefaultQuery\n    {\n        protected override void BuildTargetModel(ModelBuilder modelBuilder)\n        {\n#pragma warning disable 612, 618\n            modelBuilder\n                .HasAnnotation(\"ProductVersion\", \"3.1.3\")\n                .HasAnnotation(\"Relational:MaxIdentifierLength\", 64);\n\n            modelBuilder.Entity(\"Abp.Application.Editions.Edition\", b =>\n                {\n                    b.Property<int>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"int\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"DeleterUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"DeletionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"DisplayName\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(64) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(64);\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Name\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(32) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(32);\n\n                    b.HasKey(\"Id\");\n\n                    b.ToTable(\"AbpEditions\");\n                });\n\n            modelBuilder.Entity(\"Abp.Application.Features.FeatureSetting\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Discriminator\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"Name\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"Value\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(2000) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(2000);\n\n                    b.HasKey(\"Id\");\n\n                    b.ToTable(\"AbpFeatures\");\n\n                    b.HasDiscriminator<string>(\"Discriminator\").HasValue(\"FeatureSetting\");\n                });\n\n            modelBuilder.Entity(\"Abp.Auditing.AuditLog\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"BrowserInfo\")\n                        .HasColumnType(\"varchar(512) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(512);\n\n                    b.Property<string>(\"ClientIpAddress\")\n                        .HasColumnType(\"varchar(64) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(64);\n\n                    b.Property<string>(\"ClientName\")\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<string>(\"CustomData\")\n                        .HasColumnType(\"varchar(2000) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(2000);\n\n                    b.Property<string>(\"Exception\")\n                        .HasColumnType(\"varchar(2000) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(2000);\n\n                    b.Property<int>(\"ExecutionDuration\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<DateTime>(\"ExecutionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<int?>(\"ImpersonatorTenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long?>(\"ImpersonatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"MethodName\")\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(256);\n\n                    b.Property<string>(\"Parameters\")\n                        .HasColumnType(\"varchar(1024) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(1024);\n\n                    b.Property<string>(\"ReturnValue\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"ServiceName\")\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(256);\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long?>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"TenantId\", \"ExecutionDuration\");\n\n                    b.HasIndex(\"TenantId\", \"ExecutionTime\");\n\n                    b.HasIndex(\"TenantId\", \"UserId\");\n\n                    b.ToTable(\"AbpAuditLogs\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.PermissionSetting\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Discriminator\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<bool>(\"IsGranted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<string>(\"Name\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"TenantId\", \"Name\");\n\n                    b.ToTable(\"AbpPermissions\");\n\n                    b.HasDiscriminator<string>(\"Discriminator\").HasValue(\"PermissionSetting\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Roles.RoleClaim\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"ClaimType\")\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(256);\n\n                    b.Property<string>(\"ClaimValue\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int>(\"RoleId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"RoleId\");\n\n                    b.HasIndex(\"TenantId\", \"ClaimType\");\n\n                    b.ToTable(\"AbpRoleClaims\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserAccount\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"DeleterUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"DeletionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"EmailAddress\")\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(256);\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"UserLinkId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"UserName\")\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(256);\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"EmailAddress\");\n\n                    b.HasIndex(\"UserName\");\n\n                    b.HasIndex(\"TenantId\", \"EmailAddress\");\n\n                    b.HasIndex(\"TenantId\", \"UserId\");\n\n                    b.HasIndex(\"TenantId\", \"UserName\");\n\n                    b.ToTable(\"AbpUserAccounts\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserClaim\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"ClaimType\")\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(256);\n\n                    b.Property<string>(\"ClaimValue\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"UserId\");\n\n                    b.HasIndex(\"TenantId\", \"ClaimType\");\n\n                    b.ToTable(\"AbpUserClaims\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserLogin\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"LoginProvider\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<string>(\"ProviderKey\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(256);\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"UserId\");\n\n                    b.HasIndex(\"TenantId\", \"UserId\");\n\n                    b.HasIndex(\"TenantId\", \"LoginProvider\", \"ProviderKey\");\n\n                    b.ToTable(\"AbpUserLogins\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserLoginAttempt\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"BrowserInfo\")\n                        .HasColumnType(\"varchar(512) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(512);\n\n                    b.Property<string>(\"ClientIpAddress\")\n                        .HasColumnType(\"varchar(64) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(64);\n\n                    b.Property<string>(\"ClientName\")\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<byte>(\"Result\")\n                        .HasColumnType(\"tinyint unsigned\");\n\n                    b.Property<string>(\"TenancyName\")\n                        .HasColumnType(\"varchar(64) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(64);\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long?>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"UserNameOrEmailAddress\")\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(256);\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"UserId\", \"TenantId\");\n\n                    b.HasIndex(\"TenancyName\", \"UserNameOrEmailAddress\", \"Result\");\n\n                    b.ToTable(\"AbpUserLoginAttempts\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserOrganizationUnit\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<long>(\"OrganizationUnitId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"TenantId\", \"OrganizationUnitId\");\n\n                    b.HasIndex(\"TenantId\", \"UserId\");\n\n                    b.ToTable(\"AbpUserOrganizationUnits\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserRole\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int>(\"RoleId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"UserId\");\n\n                    b.HasIndex(\"TenantId\", \"RoleId\");\n\n                    b.HasIndex(\"TenantId\", \"UserId\");\n\n                    b.ToTable(\"AbpUserRoles\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserToken\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"ExpireDate\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"LoginProvider\")\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<string>(\"Name\")\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Value\")\n                        .HasColumnType(\"varchar(512) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(512);\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"UserId\");\n\n                    b.HasIndex(\"TenantId\", \"UserId\");\n\n                    b.ToTable(\"AbpUserTokens\");\n                });\n\n            modelBuilder.Entity(\"Abp.BackgroundJobs.BackgroundJobInfo\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<bool>(\"IsAbandoned\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<string>(\"JobArgs\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\")\n                        .HasMaxLength(1048576);\n\n                    b.Property<string>(\"JobType\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(512) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(512);\n\n                    b.Property<DateTime?>(\"LastTryTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<DateTime>(\"NextTryTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<byte>(\"Priority\")\n                        .HasColumnType(\"tinyint unsigned\");\n\n                    b.Property<short>(\"TryCount\")\n                        .HasColumnType(\"smallint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"IsAbandoned\", \"NextTryTime\");\n\n                    b.ToTable(\"AbpBackgroundJobs\");\n                });\n\n            modelBuilder.Entity(\"Abp.Configuration.Setting\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Name\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(256);\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long?>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Value\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"UserId\");\n\n                    b.HasIndex(\"TenantId\", \"Name\", \"UserId\")\n                        .IsUnique();\n\n                    b.ToTable(\"AbpSettings\");\n                });\n\n            modelBuilder.Entity(\"Abp.DynamicEntityParameters.DynamicParameter\", b =>\n                {\n                    b.Property<int>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"InputType\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"ParameterName\")\n                        .HasColumnType(\"varchar(255) CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"Permission\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"ParameterName\", \"TenantId\")\n                        .IsUnique();\n\n                    b.ToTable(\"AbpDynamicParameters\");\n                });\n\n            modelBuilder.Entity(\"Abp.DynamicEntityParameters.DynamicParameterValue\", b =>\n                {\n                    b.Property<int>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"int\");\n\n                    b.Property<int>(\"DynamicParameterId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"Value\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"DynamicParameterId\");\n\n                    b.ToTable(\"AbpDynamicParameterValues\");\n                });\n\n            modelBuilder.Entity(\"Abp.DynamicEntityParameters.EntityDynamicParameter\", b =>\n                {\n                    b.Property<int>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"int\");\n\n                    b.Property<int>(\"DynamicParameterId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"EntityFullName\")\n                        .HasColumnType(\"varchar(255) CHARACTER SET utf8mb4\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"DynamicParameterId\");\n\n                    b.HasIndex(\"EntityFullName\", \"DynamicParameterId\", \"TenantId\")\n                        .IsUnique();\n\n                    b.ToTable(\"AbpEntityDynamicParameters\");\n                });\n\n            modelBuilder.Entity(\"Abp.DynamicEntityParameters.EntityDynamicParameterValue\", b =>\n                {\n                    b.Property<int>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"int\");\n\n                    b.Property<int>(\"EntityDynamicParameterId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"EntityId\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"Value\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"EntityDynamicParameterId\");\n\n                    b.ToTable(\"AbpEntityDynamicParameterValues\");\n                });\n\n            modelBuilder.Entity(\"Abp.EntityHistory.EntityChange\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"ChangeTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<byte>(\"ChangeType\")\n                        .HasColumnType(\"tinyint unsigned\");\n\n                    b.Property<long>(\"EntityChangeSetId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"EntityId\")\n                        .HasColumnType(\"varchar(48) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(48);\n\n                    b.Property<string>(\"EntityTypeFullName\")\n                        .HasColumnType(\"varchar(192) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(192);\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"EntityChangeSetId\");\n\n                    b.HasIndex(\"EntityTypeFullName\", \"EntityId\");\n\n                    b.ToTable(\"AbpEntityChanges\");\n                });\n\n            modelBuilder.Entity(\"Abp.EntityHistory.EntityChangeSet\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"BrowserInfo\")\n                        .HasColumnType(\"varchar(512) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(512);\n\n                    b.Property<string>(\"ClientIpAddress\")\n                        .HasColumnType(\"varchar(64) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(64);\n\n                    b.Property<string>(\"ClientName\")\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"ExtensionData\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<int?>(\"ImpersonatorTenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long?>(\"ImpersonatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Reason\")\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(256);\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long?>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"TenantId\", \"CreationTime\");\n\n                    b.HasIndex(\"TenantId\", \"Reason\");\n\n                    b.HasIndex(\"TenantId\", \"UserId\");\n\n                    b.ToTable(\"AbpEntityChangeSets\");\n                });\n\n            modelBuilder.Entity(\"Abp.EntityHistory.EntityPropertyChange\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long>(\"EntityChangeId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"NewValue\")\n                        .HasColumnType(\"varchar(512) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(512);\n\n                    b.Property<string>(\"OriginalValue\")\n                        .HasColumnType(\"varchar(512) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(512);\n\n                    b.Property<string>(\"PropertyName\")\n                        .HasColumnType(\"varchar(96) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(96);\n\n                    b.Property<string>(\"PropertyTypeFullName\")\n                        .HasColumnType(\"varchar(192) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(192);\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"EntityChangeId\");\n\n                    b.ToTable(\"AbpEntityPropertyChanges\");\n                });\n\n            modelBuilder.Entity(\"Abp.Localization.ApplicationLanguage\", b =>\n                {\n                    b.Property<int>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"int\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"DeleterUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"DeletionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"DisplayName\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(64) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(64);\n\n                    b.Property<string>(\"Icon\")\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<bool>(\"IsDisabled\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Name\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"TenantId\", \"Name\");\n\n                    b.ToTable(\"AbpLanguages\");\n                });\n\n            modelBuilder.Entity(\"Abp.Localization.ApplicationLanguageText\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Key\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(256);\n\n                    b.Property<string>(\"LanguageName\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Source\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"Value\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\")\n                        .HasMaxLength(67108864);\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"TenantId\", \"Source\", \"LanguageName\", \"Key\");\n\n                    b.ToTable(\"AbpLanguageTexts\");\n                });\n\n            modelBuilder.Entity(\"Abp.Notifications.NotificationInfo\", b =>\n                {\n                    b.Property<Guid>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"char(36)\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Data\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\")\n                        .HasMaxLength(1048576);\n\n                    b.Property<string>(\"DataTypeName\")\n                        .HasColumnType(\"varchar(512) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(512);\n\n                    b.Property<string>(\"EntityId\")\n                        .HasColumnType(\"varchar(96) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(96);\n\n                    b.Property<string>(\"EntityTypeAssemblyQualifiedName\")\n                        .HasColumnType(\"varchar(512) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(512);\n\n                    b.Property<string>(\"EntityTypeName\")\n                        .HasColumnType(\"varchar(250) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(250);\n\n                    b.Property<string>(\"ExcludedUserIds\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\")\n                        .HasMaxLength(131072);\n\n                    b.Property<string>(\"NotificationName\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(96) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(96);\n\n                    b.Property<byte>(\"Severity\")\n                        .HasColumnType(\"tinyint unsigned\");\n\n                    b.Property<string>(\"TenantIds\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\")\n                        .HasMaxLength(131072);\n\n                    b.Property<string>(\"UserIds\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\")\n                        .HasMaxLength(131072);\n\n                    b.HasKey(\"Id\");\n\n                    b.ToTable(\"AbpNotifications\");\n                });\n\n            modelBuilder.Entity(\"Abp.Notifications.NotificationSubscriptionInfo\", b =>\n                {\n                    b.Property<Guid>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"char(36)\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"EntityId\")\n                        .HasColumnType(\"varchar(96) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(96);\n\n                    b.Property<string>(\"EntityTypeAssemblyQualifiedName\")\n                        .HasColumnType(\"varchar(512) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(512);\n\n                    b.Property<string>(\"EntityTypeName\")\n                        .HasColumnType(\"varchar(250) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(250);\n\n                    b.Property<string>(\"NotificationName\")\n                        .HasColumnType(\"varchar(96) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(96);\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"NotificationName\", \"EntityTypeName\", \"EntityId\", \"UserId\");\n\n                    b.HasIndex(\"TenantId\", \"NotificationName\", \"EntityTypeName\", \"EntityId\", \"UserId\");\n\n                    b.ToTable(\"AbpNotificationSubscriptions\");\n                });\n\n            modelBuilder.Entity(\"Abp.Notifications.TenantNotificationInfo\", b =>\n                {\n                    b.Property<Guid>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"char(36)\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Data\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\")\n                        .HasMaxLength(1048576);\n\n                    b.Property<string>(\"DataTypeName\")\n                        .HasColumnType(\"varchar(512) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(512);\n\n                    b.Property<string>(\"EntityId\")\n                        .HasColumnType(\"varchar(96) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(96);\n\n                    b.Property<string>(\"EntityTypeAssemblyQualifiedName\")\n                        .HasColumnType(\"varchar(512) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(512);\n\n                    b.Property<string>(\"EntityTypeName\")\n                        .HasColumnType(\"varchar(250) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(250);\n\n                    b.Property<string>(\"NotificationName\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(96) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(96);\n\n                    b.Property<byte>(\"Severity\")\n                        .HasColumnType(\"tinyint unsigned\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"TenantId\");\n\n                    b.ToTable(\"AbpTenantNotifications\");\n                });\n\n            modelBuilder.Entity(\"Abp.Notifications.UserNotificationInfo\", b =>\n                {\n                    b.Property<Guid>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"char(36)\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<int>(\"State\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<Guid>(\"TenantNotificationId\")\n                        .HasColumnType(\"char(36)\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"UserId\", \"State\", \"CreationTime\");\n\n                    b.ToTable(\"AbpUserNotifications\");\n                });\n\n            modelBuilder.Entity(\"Abp.Organizations.OrganizationUnit\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Code\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(95) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(95);\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"DeleterUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"DeletionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"DisplayName\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"ParentId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"ParentId\");\n\n                    b.HasIndex(\"TenantId\", \"Code\")\n                        .IsUnique();\n\n                    b.ToTable(\"AbpOrganizationUnits\");\n                });\n\n            modelBuilder.Entity(\"Abp.Organizations.OrganizationUnitRole\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<long>(\"OrganizationUnitId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int>(\"RoleId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"TenantId\", \"OrganizationUnitId\");\n\n                    b.HasIndex(\"TenantId\", \"RoleId\");\n\n                    b.ToTable(\"AbpOrganizationUnitRoles\");\n                });\n\n            modelBuilder.Entity(\"Abp.Webhooks.WebhookEvent\", b =>\n                {\n                    b.Property<Guid>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"char(36)\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"Data\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<DateTime?>(\"DeletionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"WebhookName\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.HasKey(\"Id\");\n\n                    b.ToTable(\"AbpWebhookEvents\");\n                });\n\n            modelBuilder.Entity(\"Abp.Webhooks.WebhookSendAttempt\", b =>\n                {\n                    b.Property<Guid>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"char(36)\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"Response\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<int?>(\"ResponseStatusCode\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<Guid>(\"WebhookEventId\")\n                        .HasColumnType(\"char(36)\");\n\n                    b.Property<Guid>(\"WebhookSubscriptionId\")\n                        .HasColumnType(\"char(36)\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"WebhookEventId\");\n\n                    b.ToTable(\"AbpWebhookSendAttempts\");\n                });\n\n            modelBuilder.Entity(\"Abp.Webhooks.WebhookSubscriptionInfo\", b =>\n                {\n                    b.Property<Guid>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"char(36)\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Headers\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<bool>(\"IsActive\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<string>(\"Secret\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"WebhookUri\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"Webhooks\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.HasKey(\"Id\");\n\n                    b.ToTable(\"AbpWebhookSubscriptions\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Authorization.Roles.Role\", b =>\n                {\n                    b.Property<int>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"ConcurrencyStamp\")\n                        .IsConcurrencyToken()\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"DeleterUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"DeletionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"Description\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\")\n                        .HasMaxLength(5000);\n\n                    b.Property<string>(\"DisplayName\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(64) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(64);\n\n                    b.Property<bool>(\"IsDefault\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<bool>(\"IsStatic\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Name\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(32) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(32);\n\n                    b.Property<string>(\"NormalizedName\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(32) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(32);\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"CreatorUserId\");\n\n                    b.HasIndex(\"DeleterUserId\");\n\n                    b.HasIndex(\"LastModifierUserId\");\n\n                    b.HasIndex(\"TenantId\", \"NormalizedName\");\n\n                    b.ToTable(\"AbpRoles\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Authorization.Users.User\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int>(\"AccessFailedCount\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"AuthenticationSource\")\n                        .HasColumnType(\"varchar(64) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(64);\n\n                    b.Property<string>(\"ConcurrencyStamp\")\n                        .IsConcurrencyToken()\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"DeleterUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"DeletionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"EmailAddress\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(256);\n\n                    b.Property<string>(\"EmailConfirmationCode\")\n                        .HasColumnType(\"varchar(328) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(328);\n\n                    b.Property<bool>(\"IsActive\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<bool>(\"IsEmailConfirmed\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<bool>(\"IsLockoutEnabled\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<bool>(\"IsPhoneNumberConfirmed\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<bool>(\"IsTwoFactorEnabled\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"LockoutEndDateUtc\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"Name\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(64) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(64);\n\n                    b.Property<string>(\"NormalizedEmailAddress\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(256);\n\n                    b.Property<string>(\"NormalizedUserName\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(256);\n\n                    b.Property<string>(\"Password\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<string>(\"PasswordResetCode\")\n                        .HasColumnType(\"varchar(328) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(328);\n\n                    b.Property<string>(\"PhoneNumber\")\n                        .HasColumnType(\"varchar(32) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(32);\n\n                    b.Property<string>(\"SecurityStamp\")\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<string>(\"Surname\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(64) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(64);\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"UserName\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(256);\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"CreatorUserId\");\n\n                    b.HasIndex(\"DeleterUserId\");\n\n                    b.HasIndex(\"LastModifierUserId\");\n\n                    b.HasIndex(\"TenantId\", \"NormalizedEmailAddress\");\n\n                    b.HasIndex(\"TenantId\", \"NormalizedUserName\");\n\n                    b.ToTable(\"AbpUsers\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.DefaultQuery\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"DeleterUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"DeletionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"MainUsername\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"UsernamesInCrawlers\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"CreatorUserId\");\n\n                    b.HasIndex(\"DeleterUserId\");\n\n                    b.HasIndex(\"LastModifierUserId\");\n\n                    b.HasIndex(\"UserId\");\n\n                    b.ToTable(\"DefaultQueries\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.MultiTenancy.Tenant\", b =>\n                {\n                    b.Property<int>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"ConnectionString\")\n                        .HasColumnType(\"varchar(1024) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(1024);\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"DeleterUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"DeletionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<int?>(\"EditionId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<bool>(\"IsActive\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Name\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<string>(\"TenancyName\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(64) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(64);\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"CreatorUserId\");\n\n                    b.HasIndex(\"DeleterUserId\");\n\n                    b.HasIndex(\"EditionId\");\n\n                    b.HasIndex(\"LastModifierUserId\");\n\n                    b.HasIndex(\"TenancyName\");\n\n                    b.ToTable(\"AbpTenants\");\n                });\n\n            modelBuilder.Entity(\"Abp.Application.Features.EditionFeatureSetting\", b =>\n                {\n                    b.HasBaseType(\"Abp.Application.Features.FeatureSetting\");\n\n                    b.Property<int>(\"EditionId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasIndex(\"EditionId\", \"Name\");\n\n                    b.ToTable(\"AbpFeatures\");\n\n                    b.HasDiscriminator().HasValue(\"EditionFeatureSetting\");\n                });\n\n            modelBuilder.Entity(\"Abp.MultiTenancy.TenantFeatureSetting\", b =>\n                {\n                    b.HasBaseType(\"Abp.Application.Features.FeatureSetting\");\n\n                    b.HasIndex(\"TenantId\", \"Name\");\n\n                    b.ToTable(\"AbpFeatures\");\n\n                    b.HasDiscriminator().HasValue(\"TenantFeatureSetting\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Roles.RolePermissionSetting\", b =>\n                {\n                    b.HasBaseType(\"Abp.Authorization.PermissionSetting\");\n\n                    b.Property<int>(\"RoleId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasIndex(\"RoleId\");\n\n                    b.ToTable(\"AbpPermissions\");\n\n                    b.HasDiscriminator().HasValue(\"RolePermissionSetting\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserPermissionSetting\", b =>\n                {\n                    b.HasBaseType(\"Abp.Authorization.PermissionSetting\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasIndex(\"UserId\");\n\n                    b.ToTable(\"AbpPermissions\");\n\n                    b.HasDiscriminator().HasValue(\"UserPermissionSetting\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Roles.RoleClaim\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Roles.Role\", null)\n                        .WithMany(\"Claims\")\n                        .HasForeignKey(\"RoleId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserClaim\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", null)\n                        .WithMany(\"Claims\")\n                        .HasForeignKey(\"UserId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserLogin\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", null)\n                        .WithMany(\"Logins\")\n                        .HasForeignKey(\"UserId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserRole\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", null)\n                        .WithMany(\"Roles\")\n                        .HasForeignKey(\"UserId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserToken\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", null)\n                        .WithMany(\"Tokens\")\n                        .HasForeignKey(\"UserId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.Configuration.Setting\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", null)\n                        .WithMany(\"Settings\")\n                        .HasForeignKey(\"UserId\");\n                });\n\n            modelBuilder.Entity(\"Abp.DynamicEntityParameters.DynamicParameterValue\", b =>\n                {\n                    b.HasOne(\"Abp.DynamicEntityParameters.DynamicParameter\", \"DynamicParameter\")\n                        .WithMany(\"DynamicParameterValues\")\n                        .HasForeignKey(\"DynamicParameterId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.DynamicEntityParameters.EntityDynamicParameter\", b =>\n                {\n                    b.HasOne(\"Abp.DynamicEntityParameters.DynamicParameter\", \"DynamicParameter\")\n                        .WithMany()\n                        .HasForeignKey(\"DynamicParameterId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.DynamicEntityParameters.EntityDynamicParameterValue\", b =>\n                {\n                    b.HasOne(\"Abp.DynamicEntityParameters.EntityDynamicParameter\", \"EntityDynamicParameter\")\n                        .WithMany()\n                        .HasForeignKey(\"EntityDynamicParameterId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.EntityHistory.EntityChange\", b =>\n                {\n                    b.HasOne(\"Abp.EntityHistory.EntityChangeSet\", null)\n                        .WithMany(\"EntityChanges\")\n                        .HasForeignKey(\"EntityChangeSetId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.EntityHistory.EntityPropertyChange\", b =>\n                {\n                    b.HasOne(\"Abp.EntityHistory.EntityChange\", null)\n                        .WithMany(\"PropertyChanges\")\n                        .HasForeignKey(\"EntityChangeId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.Organizations.OrganizationUnit\", b =>\n                {\n                    b.HasOne(\"Abp.Organizations.OrganizationUnit\", \"Parent\")\n                        .WithMany(\"Children\")\n                        .HasForeignKey(\"ParentId\");\n                });\n\n            modelBuilder.Entity(\"Abp.Webhooks.WebhookSendAttempt\", b =>\n                {\n                    b.HasOne(\"Abp.Webhooks.WebhookEvent\", \"WebhookEvent\")\n                        .WithMany()\n                        .HasForeignKey(\"WebhookEventId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Authorization.Roles.Role\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"CreatorUser\")\n                        .WithMany()\n                        .HasForeignKey(\"CreatorUserId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"DeleterUser\")\n                        .WithMany()\n                        .HasForeignKey(\"DeleterUserId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"LastModifierUser\")\n                        .WithMany()\n                        .HasForeignKey(\"LastModifierUserId\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Authorization.Users.User\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"CreatorUser\")\n                        .WithMany()\n                        .HasForeignKey(\"CreatorUserId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"DeleterUser\")\n                        .WithMany()\n                        .HasForeignKey(\"DeleterUserId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"LastModifierUser\")\n                        .WithMany()\n                        .HasForeignKey(\"LastModifierUserId\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.DefaultQuery\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"CreatorUser\")\n                        .WithMany()\n                        .HasForeignKey(\"CreatorUserId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"DeleterUser\")\n                        .WithMany()\n                        .HasForeignKey(\"DeleterUserId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"LastModifierUser\")\n                        .WithMany()\n                        .HasForeignKey(\"LastModifierUserId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"User\")\n                        .WithMany()\n                        .HasForeignKey(\"UserId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.MultiTenancy.Tenant\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"CreatorUser\")\n                        .WithMany()\n                        .HasForeignKey(\"CreatorUserId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"DeleterUser\")\n                        .WithMany()\n                        .HasForeignKey(\"DeleterUserId\");\n\n                    b.HasOne(\"Abp.Application.Editions.Edition\", \"Edition\")\n                        .WithMany()\n                        .HasForeignKey(\"EditionId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"LastModifierUser\")\n                        .WithMany()\n                        .HasForeignKey(\"LastModifierUserId\");\n                });\n\n            modelBuilder.Entity(\"Abp.Application.Features.EditionFeatureSetting\", b =>\n                {\n                    b.HasOne(\"Abp.Application.Editions.Edition\", \"Edition\")\n                        .WithMany()\n                        .HasForeignKey(\"EditionId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Roles.RolePermissionSetting\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Roles.Role\", null)\n                        .WithMany(\"Permissions\")\n                        .HasForeignKey(\"RoleId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserPermissionSetting\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", null)\n                        .WithMany(\"Permissions\")\n                        .HasForeignKey(\"UserId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n#pragma warning restore 612, 618\n        }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.EntityFrameworkCore/Migrations/20200410093107_AddDefaultQuery.cs",
    "content": "﻿using System;\nusing Microsoft.EntityFrameworkCore.Metadata;\nusing Microsoft.EntityFrameworkCore.Migrations;\n\nnamespace AcmStatisticsBackend.Migrations\n{\n    public partial class AddDefaultQuery : Migration\n    {\n        protected override void Up(MigrationBuilder migrationBuilder)\n        {\n            migrationBuilder.DropIndex(\n                name: \"IX_AbpOrganizationUnits_TenantId_Code\",\n                table: \"AbpOrganizationUnits\");\n\n            migrationBuilder.CreateTable(\n                name: \"AbpDynamicParameters\",\n                columns: table => new\n                {\n                    Id = table.Column<int>(nullable: false)\n                        .Annotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn),\n                    ParameterName = table.Column<string>(nullable: true),\n                    InputType = table.Column<string>(nullable: true),\n                    Permission = table.Column<string>(nullable: true),\n                    TenantId = table.Column<int>(nullable: true),\n                },\n                constraints: table =>\n                {\n                    table.PrimaryKey(\"PK_AbpDynamicParameters\", x => x.Id);\n                });\n\n            migrationBuilder.CreateTable(\n                name: \"DefaultQueries\",\n                columns: table => new\n                {\n                    Id = table.Column<long>(nullable: false)\n                        .Annotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn),\n                    CreationTime = table.Column<DateTime>(nullable: false),\n                    CreatorUserId = table.Column<long>(nullable: true),\n                    LastModificationTime = table.Column<DateTime>(nullable: true),\n                    LastModifierUserId = table.Column<long>(nullable: true),\n                    IsDeleted = table.Column<bool>(nullable: false),\n                    DeleterUserId = table.Column<long>(nullable: true),\n                    DeletionTime = table.Column<DateTime>(nullable: true),\n                    UserId = table.Column<long>(nullable: false),\n                    MainUsername = table.Column<string>(nullable: false),\n                    UsernamesInCrawlers = table.Column<string>(nullable: true),\n                },\n                constraints: table =>\n                {\n                    table.PrimaryKey(\"PK_DefaultQueries\", x => x.Id);\n                    table.ForeignKey(\n                        name: \"FK_DefaultQueries_AbpUsers_CreatorUserId\",\n                        column: x => x.CreatorUserId,\n                        principalTable: \"AbpUsers\",\n                        principalColumn: \"Id\",\n                        onDelete: ReferentialAction.Restrict);\n                    table.ForeignKey(\n                        name: \"FK_DefaultQueries_AbpUsers_DeleterUserId\",\n                        column: x => x.DeleterUserId,\n                        principalTable: \"AbpUsers\",\n                        principalColumn: \"Id\",\n                        onDelete: ReferentialAction.Restrict);\n                    table.ForeignKey(\n                        name: \"FK_DefaultQueries_AbpUsers_LastModifierUserId\",\n                        column: x => x.LastModifierUserId,\n                        principalTable: \"AbpUsers\",\n                        principalColumn: \"Id\",\n                        onDelete: ReferentialAction.Restrict);\n                    table.ForeignKey(\n                        name: \"FK_DefaultQueries_AbpUsers_UserId\",\n                        column: x => x.UserId,\n                        principalTable: \"AbpUsers\",\n                        principalColumn: \"Id\",\n                        onDelete: ReferentialAction.Cascade);\n                });\n\n            migrationBuilder.CreateTable(\n                name: \"AbpDynamicParameterValues\",\n                columns: table => new\n                {\n                    Id = table.Column<int>(nullable: false)\n                        .Annotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn),\n                    Value = table.Column<string>(nullable: false),\n                    TenantId = table.Column<int>(nullable: true),\n                    DynamicParameterId = table.Column<int>(nullable: false),\n                },\n                constraints: table =>\n                {\n                    table.PrimaryKey(\"PK_AbpDynamicParameterValues\", x => x.Id);\n                    table.ForeignKey(\n                        name: \"FK_AbpDynamicParameterValues_AbpDynamicParameters_DynamicParame~\",\n                        column: x => x.DynamicParameterId,\n                        principalTable: \"AbpDynamicParameters\",\n                        principalColumn: \"Id\",\n                        onDelete: ReferentialAction.Cascade);\n                });\n\n            migrationBuilder.CreateTable(\n                name: \"AbpEntityDynamicParameters\",\n                columns: table => new\n                {\n                    Id = table.Column<int>(nullable: false)\n                        .Annotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn),\n                    EntityFullName = table.Column<string>(nullable: true),\n                    DynamicParameterId = table.Column<int>(nullable: false),\n                    TenantId = table.Column<int>(nullable: true),\n                },\n                constraints: table =>\n                {\n                    table.PrimaryKey(\"PK_AbpEntityDynamicParameters\", x => x.Id);\n                    table.ForeignKey(\n                        name: \"FK_AbpEntityDynamicParameters_AbpDynamicParameters_DynamicParam~\",\n                        column: x => x.DynamicParameterId,\n                        principalTable: \"AbpDynamicParameters\",\n                        principalColumn: \"Id\",\n                        onDelete: ReferentialAction.Cascade);\n                });\n\n            migrationBuilder.CreateTable(\n                name: \"AbpEntityDynamicParameterValues\",\n                columns: table => new\n                {\n                    Id = table.Column<int>(nullable: false)\n                        .Annotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn),\n                    Value = table.Column<string>(nullable: false),\n                    EntityId = table.Column<string>(nullable: true),\n                    EntityDynamicParameterId = table.Column<int>(nullable: false),\n                    TenantId = table.Column<int>(nullable: true),\n                },\n                constraints: table =>\n                {\n                    table.PrimaryKey(\"PK_AbpEntityDynamicParameterValues\", x => x.Id);\n                    table.ForeignKey(\n                        name: \"FK_AbpEntityDynamicParameterValues_AbpEntityDynamicParameters_E~\",\n                        column: x => x.EntityDynamicParameterId,\n                        principalTable: \"AbpEntityDynamicParameters\",\n                        principalColumn: \"Id\",\n                        onDelete: ReferentialAction.Cascade);\n                });\n\n            migrationBuilder.CreateIndex(\n                name: \"IX_AbpOrganizationUnits_TenantId_Code\",\n                table: \"AbpOrganizationUnits\",\n                columns: new[] { \"TenantId\", \"Code\" },\n                unique: true);\n\n            migrationBuilder.CreateIndex(\n                name: \"IX_AbpDynamicParameters_ParameterName_TenantId\",\n                table: \"AbpDynamicParameters\",\n                columns: new[] { \"ParameterName\", \"TenantId\" },\n                unique: true);\n\n            migrationBuilder.CreateIndex(\n                name: \"IX_AbpDynamicParameterValues_DynamicParameterId\",\n                table: \"AbpDynamicParameterValues\",\n                column: \"DynamicParameterId\");\n\n            migrationBuilder.CreateIndex(\n                name: \"IX_AbpEntityDynamicParameters_DynamicParameterId\",\n                table: \"AbpEntityDynamicParameters\",\n                column: \"DynamicParameterId\");\n\n            migrationBuilder.CreateIndex(\n                name: \"IX_AbpEntityDynamicParameters_EntityFullName_DynamicParameterId~\",\n                table: \"AbpEntityDynamicParameters\",\n                columns: new[] { \"EntityFullName\", \"DynamicParameterId\", \"TenantId\" },\n                unique: true);\n\n            migrationBuilder.CreateIndex(\n                name: \"IX_AbpEntityDynamicParameterValues_EntityDynamicParameterId\",\n                table: \"AbpEntityDynamicParameterValues\",\n                column: \"EntityDynamicParameterId\");\n\n            migrationBuilder.CreateIndex(\n                name: \"IX_DefaultQueries_CreatorUserId\",\n                table: \"DefaultQueries\",\n                column: \"CreatorUserId\");\n\n            migrationBuilder.CreateIndex(\n                name: \"IX_DefaultQueries_DeleterUserId\",\n                table: \"DefaultQueries\",\n                column: \"DeleterUserId\");\n\n            migrationBuilder.CreateIndex(\n                name: \"IX_DefaultQueries_LastModifierUserId\",\n                table: \"DefaultQueries\",\n                column: \"LastModifierUserId\");\n\n            migrationBuilder.CreateIndex(\n                name: \"IX_DefaultQueries_UserId\",\n                table: \"DefaultQueries\",\n                column: \"UserId\");\n        }\n\n        protected override void Down(MigrationBuilder migrationBuilder)\n        {\n            migrationBuilder.DropTable(\n                name: \"AbpDynamicParameterValues\");\n\n            migrationBuilder.DropTable(\n                name: \"AbpEntityDynamicParameterValues\");\n\n            migrationBuilder.DropTable(\n                name: \"DefaultQueries\");\n\n            migrationBuilder.DropTable(\n                name: \"AbpEntityDynamicParameters\");\n\n            migrationBuilder.DropTable(\n                name: \"AbpDynamicParameters\");\n\n            migrationBuilder.DropIndex(\n                name: \"IX_AbpOrganizationUnits_TenantId_Code\",\n                table: \"AbpOrganizationUnits\");\n\n            migrationBuilder.CreateIndex(\n                name: \"IX_AbpOrganizationUnits_TenantId_Code\",\n                table: \"AbpOrganizationUnits\",\n                columns: new[] { \"TenantId\", \"Code\" });\n        }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.EntityFrameworkCore/Migrations/20200414102908_AddAcHistory.Designer.cs",
    "content": "﻿// <auto-generated />\nusing System;\nusing AcmStatisticsBackend.EntityFrameworkCore;\nusing Microsoft.EntityFrameworkCore;\nusing Microsoft.EntityFrameworkCore.Infrastructure;\nusing Microsoft.EntityFrameworkCore.Migrations;\nusing Microsoft.EntityFrameworkCore.Storage.ValueConversion;\n\nnamespace AcmStatisticsBackend.Migrations\n{\n    [DbContext(typeof(AcmStatisticsBackendDbContext))]\n    [Migration(\"20200414102908_AddAcHistory\")]\n    partial class AddAcHistory\n    {\n        protected override void BuildTargetModel(ModelBuilder modelBuilder)\n        {\n#pragma warning disable 612, 618\n            modelBuilder\n                .HasAnnotation(\"ProductVersion\", \"3.1.3\")\n                .HasAnnotation(\"Relational:MaxIdentifierLength\", 64);\n\n            modelBuilder.Entity(\"Abp.Application.Editions.Edition\", b =>\n                {\n                    b.Property<int>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"int\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"DeleterUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"DeletionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"DisplayName\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(64) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(64);\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Name\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(32) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(32);\n\n                    b.HasKey(\"Id\");\n\n                    b.ToTable(\"AbpEditions\");\n                });\n\n            modelBuilder.Entity(\"Abp.Application.Features.FeatureSetting\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Discriminator\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"Name\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"Value\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(2000) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(2000);\n\n                    b.HasKey(\"Id\");\n\n                    b.ToTable(\"AbpFeatures\");\n\n                    b.HasDiscriminator<string>(\"Discriminator\").HasValue(\"FeatureSetting\");\n                });\n\n            modelBuilder.Entity(\"Abp.Auditing.AuditLog\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"BrowserInfo\")\n                        .HasColumnType(\"varchar(512) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(512);\n\n                    b.Property<string>(\"ClientIpAddress\")\n                        .HasColumnType(\"varchar(64) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(64);\n\n                    b.Property<string>(\"ClientName\")\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<string>(\"CustomData\")\n                        .HasColumnType(\"varchar(2000) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(2000);\n\n                    b.Property<string>(\"Exception\")\n                        .HasColumnType(\"varchar(2000) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(2000);\n\n                    b.Property<int>(\"ExecutionDuration\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<DateTime>(\"ExecutionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<int?>(\"ImpersonatorTenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long?>(\"ImpersonatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"MethodName\")\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(256);\n\n                    b.Property<string>(\"Parameters\")\n                        .HasColumnType(\"varchar(1024) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(1024);\n\n                    b.Property<string>(\"ReturnValue\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"ServiceName\")\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(256);\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long?>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"TenantId\", \"ExecutionDuration\");\n\n                    b.HasIndex(\"TenantId\", \"ExecutionTime\");\n\n                    b.HasIndex(\"TenantId\", \"UserId\");\n\n                    b.ToTable(\"AbpAuditLogs\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.PermissionSetting\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Discriminator\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<bool>(\"IsGranted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<string>(\"Name\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"TenantId\", \"Name\");\n\n                    b.ToTable(\"AbpPermissions\");\n\n                    b.HasDiscriminator<string>(\"Discriminator\").HasValue(\"PermissionSetting\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Roles.RoleClaim\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"ClaimType\")\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(256);\n\n                    b.Property<string>(\"ClaimValue\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int>(\"RoleId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"RoleId\");\n\n                    b.HasIndex(\"TenantId\", \"ClaimType\");\n\n                    b.ToTable(\"AbpRoleClaims\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserAccount\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"DeleterUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"DeletionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"EmailAddress\")\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(256);\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"UserLinkId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"UserName\")\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(256);\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"EmailAddress\");\n\n                    b.HasIndex(\"UserName\");\n\n                    b.HasIndex(\"TenantId\", \"EmailAddress\");\n\n                    b.HasIndex(\"TenantId\", \"UserId\");\n\n                    b.HasIndex(\"TenantId\", \"UserName\");\n\n                    b.ToTable(\"AbpUserAccounts\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserClaim\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"ClaimType\")\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(256);\n\n                    b.Property<string>(\"ClaimValue\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"UserId\");\n\n                    b.HasIndex(\"TenantId\", \"ClaimType\");\n\n                    b.ToTable(\"AbpUserClaims\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserLogin\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"LoginProvider\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<string>(\"ProviderKey\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(256);\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"UserId\");\n\n                    b.HasIndex(\"TenantId\", \"UserId\");\n\n                    b.HasIndex(\"TenantId\", \"LoginProvider\", \"ProviderKey\");\n\n                    b.ToTable(\"AbpUserLogins\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserLoginAttempt\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"BrowserInfo\")\n                        .HasColumnType(\"varchar(512) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(512);\n\n                    b.Property<string>(\"ClientIpAddress\")\n                        .HasColumnType(\"varchar(64) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(64);\n\n                    b.Property<string>(\"ClientName\")\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<byte>(\"Result\")\n                        .HasColumnType(\"tinyint unsigned\");\n\n                    b.Property<string>(\"TenancyName\")\n                        .HasColumnType(\"varchar(64) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(64);\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long?>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"UserNameOrEmailAddress\")\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(256);\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"UserId\", \"TenantId\");\n\n                    b.HasIndex(\"TenancyName\", \"UserNameOrEmailAddress\", \"Result\");\n\n                    b.ToTable(\"AbpUserLoginAttempts\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserOrganizationUnit\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<long>(\"OrganizationUnitId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"TenantId\", \"OrganizationUnitId\");\n\n                    b.HasIndex(\"TenantId\", \"UserId\");\n\n                    b.ToTable(\"AbpUserOrganizationUnits\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserRole\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int>(\"RoleId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"UserId\");\n\n                    b.HasIndex(\"TenantId\", \"RoleId\");\n\n                    b.HasIndex(\"TenantId\", \"UserId\");\n\n                    b.ToTable(\"AbpUserRoles\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserToken\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"ExpireDate\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"LoginProvider\")\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<string>(\"Name\")\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Value\")\n                        .HasColumnType(\"varchar(512) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(512);\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"UserId\");\n\n                    b.HasIndex(\"TenantId\", \"UserId\");\n\n                    b.ToTable(\"AbpUserTokens\");\n                });\n\n            modelBuilder.Entity(\"Abp.BackgroundJobs.BackgroundJobInfo\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<bool>(\"IsAbandoned\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<string>(\"JobArgs\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\")\n                        .HasMaxLength(1048576);\n\n                    b.Property<string>(\"JobType\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(512) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(512);\n\n                    b.Property<DateTime?>(\"LastTryTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<DateTime>(\"NextTryTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<byte>(\"Priority\")\n                        .HasColumnType(\"tinyint unsigned\");\n\n                    b.Property<short>(\"TryCount\")\n                        .HasColumnType(\"smallint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"IsAbandoned\", \"NextTryTime\");\n\n                    b.ToTable(\"AbpBackgroundJobs\");\n                });\n\n            modelBuilder.Entity(\"Abp.Configuration.Setting\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Name\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(256);\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long?>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Value\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"UserId\");\n\n                    b.HasIndex(\"TenantId\", \"Name\", \"UserId\")\n                        .IsUnique();\n\n                    b.ToTable(\"AbpSettings\");\n                });\n\n            modelBuilder.Entity(\"Abp.DynamicEntityParameters.DynamicParameter\", b =>\n                {\n                    b.Property<int>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"InputType\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"ParameterName\")\n                        .HasColumnType(\"varchar(255) CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"Permission\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"ParameterName\", \"TenantId\")\n                        .IsUnique();\n\n                    b.ToTable(\"AbpDynamicParameters\");\n                });\n\n            modelBuilder.Entity(\"Abp.DynamicEntityParameters.DynamicParameterValue\", b =>\n                {\n                    b.Property<int>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"int\");\n\n                    b.Property<int>(\"DynamicParameterId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"Value\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"DynamicParameterId\");\n\n                    b.ToTable(\"AbpDynamicParameterValues\");\n                });\n\n            modelBuilder.Entity(\"Abp.DynamicEntityParameters.EntityDynamicParameter\", b =>\n                {\n                    b.Property<int>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"int\");\n\n                    b.Property<int>(\"DynamicParameterId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"EntityFullName\")\n                        .HasColumnType(\"varchar(255) CHARACTER SET utf8mb4\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"DynamicParameterId\");\n\n                    b.HasIndex(\"EntityFullName\", \"DynamicParameterId\", \"TenantId\")\n                        .IsUnique();\n\n                    b.ToTable(\"AbpEntityDynamicParameters\");\n                });\n\n            modelBuilder.Entity(\"Abp.DynamicEntityParameters.EntityDynamicParameterValue\", b =>\n                {\n                    b.Property<int>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"int\");\n\n                    b.Property<int>(\"EntityDynamicParameterId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"EntityId\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"Value\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"EntityDynamicParameterId\");\n\n                    b.ToTable(\"AbpEntityDynamicParameterValues\");\n                });\n\n            modelBuilder.Entity(\"Abp.EntityHistory.EntityChange\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"ChangeTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<byte>(\"ChangeType\")\n                        .HasColumnType(\"tinyint unsigned\");\n\n                    b.Property<long>(\"EntityChangeSetId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"EntityId\")\n                        .HasColumnType(\"varchar(48) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(48);\n\n                    b.Property<string>(\"EntityTypeFullName\")\n                        .HasColumnType(\"varchar(192) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(192);\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"EntityChangeSetId\");\n\n                    b.HasIndex(\"EntityTypeFullName\", \"EntityId\");\n\n                    b.ToTable(\"AbpEntityChanges\");\n                });\n\n            modelBuilder.Entity(\"Abp.EntityHistory.EntityChangeSet\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"BrowserInfo\")\n                        .HasColumnType(\"varchar(512) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(512);\n\n                    b.Property<string>(\"ClientIpAddress\")\n                        .HasColumnType(\"varchar(64) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(64);\n\n                    b.Property<string>(\"ClientName\")\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"ExtensionData\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<int?>(\"ImpersonatorTenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long?>(\"ImpersonatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Reason\")\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(256);\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long?>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"TenantId\", \"CreationTime\");\n\n                    b.HasIndex(\"TenantId\", \"Reason\");\n\n                    b.HasIndex(\"TenantId\", \"UserId\");\n\n                    b.ToTable(\"AbpEntityChangeSets\");\n                });\n\n            modelBuilder.Entity(\"Abp.EntityHistory.EntityPropertyChange\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long>(\"EntityChangeId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"NewValue\")\n                        .HasColumnType(\"varchar(512) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(512);\n\n                    b.Property<string>(\"OriginalValue\")\n                        .HasColumnType(\"varchar(512) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(512);\n\n                    b.Property<string>(\"PropertyName\")\n                        .HasColumnType(\"varchar(96) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(96);\n\n                    b.Property<string>(\"PropertyTypeFullName\")\n                        .HasColumnType(\"varchar(192) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(192);\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"EntityChangeId\");\n\n                    b.ToTable(\"AbpEntityPropertyChanges\");\n                });\n\n            modelBuilder.Entity(\"Abp.Localization.ApplicationLanguage\", b =>\n                {\n                    b.Property<int>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"int\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"DeleterUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"DeletionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"DisplayName\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(64) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(64);\n\n                    b.Property<string>(\"Icon\")\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<bool>(\"IsDisabled\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Name\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"TenantId\", \"Name\");\n\n                    b.ToTable(\"AbpLanguages\");\n                });\n\n            modelBuilder.Entity(\"Abp.Localization.ApplicationLanguageText\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Key\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(256);\n\n                    b.Property<string>(\"LanguageName\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Source\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"Value\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\")\n                        .HasMaxLength(67108864);\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"TenantId\", \"Source\", \"LanguageName\", \"Key\");\n\n                    b.ToTable(\"AbpLanguageTexts\");\n                });\n\n            modelBuilder.Entity(\"Abp.Notifications.NotificationInfo\", b =>\n                {\n                    b.Property<Guid>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"char(36)\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Data\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\")\n                        .HasMaxLength(1048576);\n\n                    b.Property<string>(\"DataTypeName\")\n                        .HasColumnType(\"varchar(512) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(512);\n\n                    b.Property<string>(\"EntityId\")\n                        .HasColumnType(\"varchar(96) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(96);\n\n                    b.Property<string>(\"EntityTypeAssemblyQualifiedName\")\n                        .HasColumnType(\"varchar(512) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(512);\n\n                    b.Property<string>(\"EntityTypeName\")\n                        .HasColumnType(\"varchar(250) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(250);\n\n                    b.Property<string>(\"ExcludedUserIds\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\")\n                        .HasMaxLength(131072);\n\n                    b.Property<string>(\"NotificationName\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(96) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(96);\n\n                    b.Property<byte>(\"Severity\")\n                        .HasColumnType(\"tinyint unsigned\");\n\n                    b.Property<string>(\"TenantIds\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\")\n                        .HasMaxLength(131072);\n\n                    b.Property<string>(\"UserIds\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\")\n                        .HasMaxLength(131072);\n\n                    b.HasKey(\"Id\");\n\n                    b.ToTable(\"AbpNotifications\");\n                });\n\n            modelBuilder.Entity(\"Abp.Notifications.NotificationSubscriptionInfo\", b =>\n                {\n                    b.Property<Guid>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"char(36)\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"EntityId\")\n                        .HasColumnType(\"varchar(96) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(96);\n\n                    b.Property<string>(\"EntityTypeAssemblyQualifiedName\")\n                        .HasColumnType(\"varchar(512) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(512);\n\n                    b.Property<string>(\"EntityTypeName\")\n                        .HasColumnType(\"varchar(250) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(250);\n\n                    b.Property<string>(\"NotificationName\")\n                        .HasColumnType(\"varchar(96) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(96);\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"NotificationName\", \"EntityTypeName\", \"EntityId\", \"UserId\");\n\n                    b.HasIndex(\"TenantId\", \"NotificationName\", \"EntityTypeName\", \"EntityId\", \"UserId\");\n\n                    b.ToTable(\"AbpNotificationSubscriptions\");\n                });\n\n            modelBuilder.Entity(\"Abp.Notifications.TenantNotificationInfo\", b =>\n                {\n                    b.Property<Guid>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"char(36)\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Data\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\")\n                        .HasMaxLength(1048576);\n\n                    b.Property<string>(\"DataTypeName\")\n                        .HasColumnType(\"varchar(512) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(512);\n\n                    b.Property<string>(\"EntityId\")\n                        .HasColumnType(\"varchar(96) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(96);\n\n                    b.Property<string>(\"EntityTypeAssemblyQualifiedName\")\n                        .HasColumnType(\"varchar(512) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(512);\n\n                    b.Property<string>(\"EntityTypeName\")\n                        .HasColumnType(\"varchar(250) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(250);\n\n                    b.Property<string>(\"NotificationName\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(96) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(96);\n\n                    b.Property<byte>(\"Severity\")\n                        .HasColumnType(\"tinyint unsigned\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"TenantId\");\n\n                    b.ToTable(\"AbpTenantNotifications\");\n                });\n\n            modelBuilder.Entity(\"Abp.Notifications.UserNotificationInfo\", b =>\n                {\n                    b.Property<Guid>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"char(36)\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<int>(\"State\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<Guid>(\"TenantNotificationId\")\n                        .HasColumnType(\"char(36)\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"UserId\", \"State\", \"CreationTime\");\n\n                    b.ToTable(\"AbpUserNotifications\");\n                });\n\n            modelBuilder.Entity(\"Abp.Organizations.OrganizationUnit\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Code\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(95) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(95);\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"DeleterUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"DeletionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"DisplayName\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"ParentId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"ParentId\");\n\n                    b.HasIndex(\"TenantId\", \"Code\")\n                        .IsUnique();\n\n                    b.ToTable(\"AbpOrganizationUnits\");\n                });\n\n            modelBuilder.Entity(\"Abp.Organizations.OrganizationUnitRole\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<long>(\"OrganizationUnitId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int>(\"RoleId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"TenantId\", \"OrganizationUnitId\");\n\n                    b.HasIndex(\"TenantId\", \"RoleId\");\n\n                    b.ToTable(\"AbpOrganizationUnitRoles\");\n                });\n\n            modelBuilder.Entity(\"Abp.Webhooks.WebhookEvent\", b =>\n                {\n                    b.Property<Guid>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"char(36)\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"Data\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<DateTime?>(\"DeletionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"WebhookName\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.HasKey(\"Id\");\n\n                    b.ToTable(\"AbpWebhookEvents\");\n                });\n\n            modelBuilder.Entity(\"Abp.Webhooks.WebhookSendAttempt\", b =>\n                {\n                    b.Property<Guid>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"char(36)\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"Response\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<int?>(\"ResponseStatusCode\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<Guid>(\"WebhookEventId\")\n                        .HasColumnType(\"char(36)\");\n\n                    b.Property<Guid>(\"WebhookSubscriptionId\")\n                        .HasColumnType(\"char(36)\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"WebhookEventId\");\n\n                    b.ToTable(\"AbpWebhookSendAttempts\");\n                });\n\n            modelBuilder.Entity(\"Abp.Webhooks.WebhookSubscriptionInfo\", b =>\n                {\n                    b.Property<Guid>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"char(36)\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Headers\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<bool>(\"IsActive\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<string>(\"Secret\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"WebhookUri\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"Webhooks\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.HasKey(\"Id\");\n\n                    b.ToTable(\"AbpWebhookSubscriptions\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Authorization.Roles.Role\", b =>\n                {\n                    b.Property<int>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"ConcurrencyStamp\")\n                        .IsConcurrencyToken()\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"DeleterUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"DeletionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"Description\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\")\n                        .HasMaxLength(5000);\n\n                    b.Property<string>(\"DisplayName\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(64) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(64);\n\n                    b.Property<bool>(\"IsDefault\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<bool>(\"IsStatic\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Name\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(32) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(32);\n\n                    b.Property<string>(\"NormalizedName\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(32) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(32);\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"CreatorUserId\");\n\n                    b.HasIndex(\"DeleterUserId\");\n\n                    b.HasIndex(\"LastModifierUserId\");\n\n                    b.HasIndex(\"TenantId\", \"NormalizedName\");\n\n                    b.ToTable(\"AbpRoles\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Authorization.Users.User\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int>(\"AccessFailedCount\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"AuthenticationSource\")\n                        .HasColumnType(\"varchar(64) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(64);\n\n                    b.Property<string>(\"ConcurrencyStamp\")\n                        .IsConcurrencyToken()\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"DeleterUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"DeletionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"EmailAddress\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(256);\n\n                    b.Property<string>(\"EmailConfirmationCode\")\n                        .HasColumnType(\"varchar(328) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(328);\n\n                    b.Property<bool>(\"IsActive\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<bool>(\"IsEmailConfirmed\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<bool>(\"IsLockoutEnabled\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<bool>(\"IsPhoneNumberConfirmed\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<bool>(\"IsTwoFactorEnabled\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"LockoutEndDateUtc\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"Name\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(64) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(64);\n\n                    b.Property<string>(\"NormalizedEmailAddress\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(256);\n\n                    b.Property<string>(\"NormalizedUserName\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(256);\n\n                    b.Property<string>(\"Password\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<string>(\"PasswordResetCode\")\n                        .HasColumnType(\"varchar(328) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(328);\n\n                    b.Property<string>(\"PhoneNumber\")\n                        .HasColumnType(\"varchar(32) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(32);\n\n                    b.Property<string>(\"SecurityStamp\")\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<string>(\"Surname\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(64) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(64);\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"UserName\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(256);\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"CreatorUserId\");\n\n                    b.HasIndex(\"DeleterUserId\");\n\n                    b.HasIndex(\"LastModifierUserId\");\n\n                    b.HasIndex(\"TenantId\", \"NormalizedEmailAddress\");\n\n                    b.HasIndex(\"TenantId\", \"NormalizedUserName\");\n\n                    b.ToTable(\"AbpUsers\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.AcHistory\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"MainUsername\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<int>(\"Solved\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<int>(\"Submission\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"UserId\");\n\n                    b.ToTable(\"AcHistories\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.AcWorkerHistory\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long>(\"AcHistoryId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"CrawlerName\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"ErrorMessage\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<bool>(\"HasSolvedList\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<int>(\"Solved\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"SolvedList\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<int>(\"Submission\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"Username\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"AcHistoryId\");\n\n                    b.ToTable(\"AcWorkerHistories\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.DefaultQuery\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"DeleterUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"DeletionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"MainUsername\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"UsernamesInCrawlers\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"CreatorUserId\");\n\n                    b.HasIndex(\"DeleterUserId\");\n\n                    b.HasIndex(\"LastModifierUserId\");\n\n                    b.HasIndex(\"UserId\");\n\n                    b.ToTable(\"DefaultQueries\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.MultiTenancy.Tenant\", b =>\n                {\n                    b.Property<int>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"ConnectionString\")\n                        .HasColumnType(\"varchar(1024) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(1024);\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"DeleterUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"DeletionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<int?>(\"EditionId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<bool>(\"IsActive\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Name\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<string>(\"TenancyName\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(64) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(64);\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"CreatorUserId\");\n\n                    b.HasIndex(\"DeleterUserId\");\n\n                    b.HasIndex(\"EditionId\");\n\n                    b.HasIndex(\"LastModifierUserId\");\n\n                    b.HasIndex(\"TenancyName\");\n\n                    b.ToTable(\"AbpTenants\");\n                });\n\n            modelBuilder.Entity(\"Abp.Application.Features.EditionFeatureSetting\", b =>\n                {\n                    b.HasBaseType(\"Abp.Application.Features.FeatureSetting\");\n\n                    b.Property<int>(\"EditionId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasIndex(\"EditionId\", \"Name\");\n\n                    b.ToTable(\"AbpFeatures\");\n\n                    b.HasDiscriminator().HasValue(\"EditionFeatureSetting\");\n                });\n\n            modelBuilder.Entity(\"Abp.MultiTenancy.TenantFeatureSetting\", b =>\n                {\n                    b.HasBaseType(\"Abp.Application.Features.FeatureSetting\");\n\n                    b.HasIndex(\"TenantId\", \"Name\");\n\n                    b.ToTable(\"AbpFeatures\");\n\n                    b.HasDiscriminator().HasValue(\"TenantFeatureSetting\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Roles.RolePermissionSetting\", b =>\n                {\n                    b.HasBaseType(\"Abp.Authorization.PermissionSetting\");\n\n                    b.Property<int>(\"RoleId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasIndex(\"RoleId\");\n\n                    b.ToTable(\"AbpPermissions\");\n\n                    b.HasDiscriminator().HasValue(\"RolePermissionSetting\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserPermissionSetting\", b =>\n                {\n                    b.HasBaseType(\"Abp.Authorization.PermissionSetting\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasIndex(\"UserId\");\n\n                    b.ToTable(\"AbpPermissions\");\n\n                    b.HasDiscriminator().HasValue(\"UserPermissionSetting\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Roles.RoleClaim\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Roles.Role\", null)\n                        .WithMany(\"Claims\")\n                        .HasForeignKey(\"RoleId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserClaim\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", null)\n                        .WithMany(\"Claims\")\n                        .HasForeignKey(\"UserId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserLogin\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", null)\n                        .WithMany(\"Logins\")\n                        .HasForeignKey(\"UserId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserRole\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", null)\n                        .WithMany(\"Roles\")\n                        .HasForeignKey(\"UserId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserToken\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", null)\n                        .WithMany(\"Tokens\")\n                        .HasForeignKey(\"UserId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.Configuration.Setting\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", null)\n                        .WithMany(\"Settings\")\n                        .HasForeignKey(\"UserId\");\n                });\n\n            modelBuilder.Entity(\"Abp.DynamicEntityParameters.DynamicParameterValue\", b =>\n                {\n                    b.HasOne(\"Abp.DynamicEntityParameters.DynamicParameter\", \"DynamicParameter\")\n                        .WithMany(\"DynamicParameterValues\")\n                        .HasForeignKey(\"DynamicParameterId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.DynamicEntityParameters.EntityDynamicParameter\", b =>\n                {\n                    b.HasOne(\"Abp.DynamicEntityParameters.DynamicParameter\", \"DynamicParameter\")\n                        .WithMany()\n                        .HasForeignKey(\"DynamicParameterId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.DynamicEntityParameters.EntityDynamicParameterValue\", b =>\n                {\n                    b.HasOne(\"Abp.DynamicEntityParameters.EntityDynamicParameter\", \"EntityDynamicParameter\")\n                        .WithMany()\n                        .HasForeignKey(\"EntityDynamicParameterId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.EntityHistory.EntityChange\", b =>\n                {\n                    b.HasOne(\"Abp.EntityHistory.EntityChangeSet\", null)\n                        .WithMany(\"EntityChanges\")\n                        .HasForeignKey(\"EntityChangeSetId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.EntityHistory.EntityPropertyChange\", b =>\n                {\n                    b.HasOne(\"Abp.EntityHistory.EntityChange\", null)\n                        .WithMany(\"PropertyChanges\")\n                        .HasForeignKey(\"EntityChangeId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.Organizations.OrganizationUnit\", b =>\n                {\n                    b.HasOne(\"Abp.Organizations.OrganizationUnit\", \"Parent\")\n                        .WithMany(\"Children\")\n                        .HasForeignKey(\"ParentId\");\n                });\n\n            modelBuilder.Entity(\"Abp.Webhooks.WebhookSendAttempt\", b =>\n                {\n                    b.HasOne(\"Abp.Webhooks.WebhookEvent\", \"WebhookEvent\")\n                        .WithMany()\n                        .HasForeignKey(\"WebhookEventId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Authorization.Roles.Role\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"CreatorUser\")\n                        .WithMany()\n                        .HasForeignKey(\"CreatorUserId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"DeleterUser\")\n                        .WithMany()\n                        .HasForeignKey(\"DeleterUserId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"LastModifierUser\")\n                        .WithMany()\n                        .HasForeignKey(\"LastModifierUserId\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Authorization.Users.User\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"CreatorUser\")\n                        .WithMany()\n                        .HasForeignKey(\"CreatorUserId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"DeleterUser\")\n                        .WithMany()\n                        .HasForeignKey(\"DeleterUserId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"LastModifierUser\")\n                        .WithMany()\n                        .HasForeignKey(\"LastModifierUserId\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.AcHistory\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"User\")\n                        .WithMany()\n                        .HasForeignKey(\"UserId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.AcWorkerHistory\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Crawlers.AcHistory\", \"AcHistory\")\n                        .WithMany(\"AcWorkerHistories\")\n                        .HasForeignKey(\"AcHistoryId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.DefaultQuery\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"CreatorUser\")\n                        .WithMany()\n                        .HasForeignKey(\"CreatorUserId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"DeleterUser\")\n                        .WithMany()\n                        .HasForeignKey(\"DeleterUserId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"LastModifierUser\")\n                        .WithMany()\n                        .HasForeignKey(\"LastModifierUserId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"User\")\n                        .WithMany()\n                        .HasForeignKey(\"UserId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.MultiTenancy.Tenant\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"CreatorUser\")\n                        .WithMany()\n                        .HasForeignKey(\"CreatorUserId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"DeleterUser\")\n                        .WithMany()\n                        .HasForeignKey(\"DeleterUserId\");\n\n                    b.HasOne(\"Abp.Application.Editions.Edition\", \"Edition\")\n                        .WithMany()\n                        .HasForeignKey(\"EditionId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"LastModifierUser\")\n                        .WithMany()\n                        .HasForeignKey(\"LastModifierUserId\");\n                });\n\n            modelBuilder.Entity(\"Abp.Application.Features.EditionFeatureSetting\", b =>\n                {\n                    b.HasOne(\"Abp.Application.Editions.Edition\", \"Edition\")\n                        .WithMany()\n                        .HasForeignKey(\"EditionId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Roles.RolePermissionSetting\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Roles.Role\", null)\n                        .WithMany(\"Permissions\")\n                        .HasForeignKey(\"RoleId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserPermissionSetting\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", null)\n                        .WithMany(\"Permissions\")\n                        .HasForeignKey(\"UserId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n#pragma warning restore 612, 618\n        }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.EntityFrameworkCore/Migrations/20200414102908_AddAcHistory.cs",
    "content": "﻿using System;\nusing Microsoft.EntityFrameworkCore.Metadata;\nusing Microsoft.EntityFrameworkCore.Migrations;\n\nnamespace AcmStatisticsBackend.Migrations\n{\n    public partial class AddAcHistory : Migration\n    {\n        protected override void Up(MigrationBuilder migrationBuilder)\n        {\n            migrationBuilder.AlterColumn<string>(\n                name: \"UsernamesInCrawlers\",\n                table: \"DefaultQueries\",\n                nullable: false,\n                oldClrType: typeof(string),\n                oldType: \"longtext CHARACTER SET utf8mb4\",\n                oldNullable: true);\n\n            migrationBuilder.CreateTable(\n                name: \"AcHistories\",\n                columns: table => new\n                {\n                    Id = table.Column<long>(nullable: false)\n                        .Annotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn),\n                    CreationTime = table.Column<DateTime>(nullable: false),\n                    UserId = table.Column<long>(nullable: false),\n                    MainUsername = table.Column<string>(nullable: false),\n                    Submission = table.Column<int>(nullable: false),\n                    Solved = table.Column<int>(nullable: false),\n                },\n                constraints: table =>\n                {\n                    table.PrimaryKey(\"PK_AcHistories\", x => x.Id);\n                    table.ForeignKey(\n                        name: \"FK_AcHistories_AbpUsers_UserId\",\n                        column: x => x.UserId,\n                        principalTable: \"AbpUsers\",\n                        principalColumn: \"Id\",\n                        onDelete: ReferentialAction.Cascade);\n                });\n\n            migrationBuilder.CreateTable(\n                name: \"AcWorkerHistories\",\n                columns: table => new\n                {\n                    Id = table.Column<long>(nullable: false)\n                        .Annotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn),\n                    AcHistoryId = table.Column<long>(nullable: false),\n                    CrawlerName = table.Column<string>(nullable: false),\n                    Username = table.Column<string>(nullable: false),\n                    ErrorMessage = table.Column<string>(nullable: true),\n                    Submission = table.Column<int>(nullable: false),\n                    Solved = table.Column<int>(nullable: false),\n                    HasSolvedList = table.Column<bool>(nullable: false),\n                    SolvedList = table.Column<string>(nullable: false),\n                },\n                constraints: table =>\n                {\n                    table.PrimaryKey(\"PK_AcWorkerHistories\", x => x.Id);\n                    table.ForeignKey(\n                        name: \"FK_AcWorkerHistories_AcHistories_AcHistoryId\",\n                        column: x => x.AcHistoryId,\n                        principalTable: \"AcHistories\",\n                        principalColumn: \"Id\",\n                        onDelete: ReferentialAction.Cascade);\n                });\n\n            migrationBuilder.CreateIndex(\n                name: \"IX_AcHistories_UserId\",\n                table: \"AcHistories\",\n                column: \"UserId\");\n\n            migrationBuilder.CreateIndex(\n                name: \"IX_AcWorkerHistories_AcHistoryId\",\n                table: \"AcWorkerHistories\",\n                column: \"AcHistoryId\");\n        }\n\n        protected override void Down(MigrationBuilder migrationBuilder)\n        {\n            migrationBuilder.DropTable(\n                name: \"AcWorkerHistories\");\n\n            migrationBuilder.DropTable(\n                name: \"AcHistories\");\n\n            migrationBuilder.AlterColumn<string>(\n                name: \"UsernamesInCrawlers\",\n                table: \"DefaultQueries\",\n                type: \"longtext CHARACTER SET utf8mb4\",\n                nullable: true,\n                oldClrType: typeof(string));\n        }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.EntityFrameworkCore/Migrations/20200419031052_UseQueryHistory.Designer.cs",
    "content": "﻿// <auto-generated />\nusing System;\nusing AcmStatisticsBackend.EntityFrameworkCore;\nusing Microsoft.EntityFrameworkCore;\nusing Microsoft.EntityFrameworkCore.Infrastructure;\nusing Microsoft.EntityFrameworkCore.Migrations;\nusing Microsoft.EntityFrameworkCore.Storage.ValueConversion;\n\nnamespace AcmStatisticsBackend.Migrations\n{\n    [DbContext(typeof(AcmStatisticsBackendDbContext))]\n    [Migration(\"20200419031052_UseQueryHistory\")]\n    partial class UseQueryHistory\n    {\n        protected override void BuildTargetModel(ModelBuilder modelBuilder)\n        {\n#pragma warning disable 612, 618\n            modelBuilder\n                .HasAnnotation(\"ProductVersion\", \"3.1.3\")\n                .HasAnnotation(\"Relational:MaxIdentifierLength\", 64);\n\n            modelBuilder.Entity(\"Abp.Application.Editions.Edition\", b =>\n                {\n                    b.Property<int>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"int\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"DeleterUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"DeletionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"DisplayName\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(64) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(64);\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Name\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(32) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(32);\n\n                    b.HasKey(\"Id\");\n\n                    b.ToTable(\"AbpEditions\");\n                });\n\n            modelBuilder.Entity(\"Abp.Application.Features.FeatureSetting\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Discriminator\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"Name\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"Value\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(2000) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(2000);\n\n                    b.HasKey(\"Id\");\n\n                    b.ToTable(\"AbpFeatures\");\n\n                    b.HasDiscriminator<string>(\"Discriminator\").HasValue(\"FeatureSetting\");\n                });\n\n            modelBuilder.Entity(\"Abp.Auditing.AuditLog\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"BrowserInfo\")\n                        .HasColumnType(\"varchar(512) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(512);\n\n                    b.Property<string>(\"ClientIpAddress\")\n                        .HasColumnType(\"varchar(64) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(64);\n\n                    b.Property<string>(\"ClientName\")\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<string>(\"CustomData\")\n                        .HasColumnType(\"varchar(2000) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(2000);\n\n                    b.Property<string>(\"Exception\")\n                        .HasColumnType(\"varchar(2000) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(2000);\n\n                    b.Property<int>(\"ExecutionDuration\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<DateTime>(\"ExecutionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<int?>(\"ImpersonatorTenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long?>(\"ImpersonatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"MethodName\")\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(256);\n\n                    b.Property<string>(\"Parameters\")\n                        .HasColumnType(\"varchar(1024) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(1024);\n\n                    b.Property<string>(\"ReturnValue\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"ServiceName\")\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(256);\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long?>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"TenantId\", \"ExecutionDuration\");\n\n                    b.HasIndex(\"TenantId\", \"ExecutionTime\");\n\n                    b.HasIndex(\"TenantId\", \"UserId\");\n\n                    b.ToTable(\"AbpAuditLogs\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.PermissionSetting\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Discriminator\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<bool>(\"IsGranted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<string>(\"Name\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"TenantId\", \"Name\");\n\n                    b.ToTable(\"AbpPermissions\");\n\n                    b.HasDiscriminator<string>(\"Discriminator\").HasValue(\"PermissionSetting\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Roles.RoleClaim\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"ClaimType\")\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(256);\n\n                    b.Property<string>(\"ClaimValue\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int>(\"RoleId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"RoleId\");\n\n                    b.HasIndex(\"TenantId\", \"ClaimType\");\n\n                    b.ToTable(\"AbpRoleClaims\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserAccount\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"DeleterUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"DeletionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"EmailAddress\")\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(256);\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"UserLinkId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"UserName\")\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(256);\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"EmailAddress\");\n\n                    b.HasIndex(\"UserName\");\n\n                    b.HasIndex(\"TenantId\", \"EmailAddress\");\n\n                    b.HasIndex(\"TenantId\", \"UserId\");\n\n                    b.HasIndex(\"TenantId\", \"UserName\");\n\n                    b.ToTable(\"AbpUserAccounts\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserClaim\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"ClaimType\")\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(256);\n\n                    b.Property<string>(\"ClaimValue\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"UserId\");\n\n                    b.HasIndex(\"TenantId\", \"ClaimType\");\n\n                    b.ToTable(\"AbpUserClaims\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserLogin\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"LoginProvider\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<string>(\"ProviderKey\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(256);\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"UserId\");\n\n                    b.HasIndex(\"TenantId\", \"UserId\");\n\n                    b.HasIndex(\"TenantId\", \"LoginProvider\", \"ProviderKey\");\n\n                    b.ToTable(\"AbpUserLogins\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserLoginAttempt\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"BrowserInfo\")\n                        .HasColumnType(\"varchar(512) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(512);\n\n                    b.Property<string>(\"ClientIpAddress\")\n                        .HasColumnType(\"varchar(64) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(64);\n\n                    b.Property<string>(\"ClientName\")\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<byte>(\"Result\")\n                        .HasColumnType(\"tinyint unsigned\");\n\n                    b.Property<string>(\"TenancyName\")\n                        .HasColumnType(\"varchar(64) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(64);\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long?>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"UserNameOrEmailAddress\")\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(256);\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"UserId\", \"TenantId\");\n\n                    b.HasIndex(\"TenancyName\", \"UserNameOrEmailAddress\", \"Result\");\n\n                    b.ToTable(\"AbpUserLoginAttempts\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserOrganizationUnit\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<long>(\"OrganizationUnitId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"TenantId\", \"OrganizationUnitId\");\n\n                    b.HasIndex(\"TenantId\", \"UserId\");\n\n                    b.ToTable(\"AbpUserOrganizationUnits\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserRole\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int>(\"RoleId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"UserId\");\n\n                    b.HasIndex(\"TenantId\", \"RoleId\");\n\n                    b.HasIndex(\"TenantId\", \"UserId\");\n\n                    b.ToTable(\"AbpUserRoles\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserToken\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"ExpireDate\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"LoginProvider\")\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<string>(\"Name\")\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Value\")\n                        .HasColumnType(\"varchar(512) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(512);\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"UserId\");\n\n                    b.HasIndex(\"TenantId\", \"UserId\");\n\n                    b.ToTable(\"AbpUserTokens\");\n                });\n\n            modelBuilder.Entity(\"Abp.BackgroundJobs.BackgroundJobInfo\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<bool>(\"IsAbandoned\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<string>(\"JobArgs\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\")\n                        .HasMaxLength(1048576);\n\n                    b.Property<string>(\"JobType\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(512) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(512);\n\n                    b.Property<DateTime?>(\"LastTryTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<DateTime>(\"NextTryTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<byte>(\"Priority\")\n                        .HasColumnType(\"tinyint unsigned\");\n\n                    b.Property<short>(\"TryCount\")\n                        .HasColumnType(\"smallint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"IsAbandoned\", \"NextTryTime\");\n\n                    b.ToTable(\"AbpBackgroundJobs\");\n                });\n\n            modelBuilder.Entity(\"Abp.Configuration.Setting\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Name\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(256);\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long?>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Value\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"UserId\");\n\n                    b.HasIndex(\"TenantId\", \"Name\", \"UserId\")\n                        .IsUnique();\n\n                    b.ToTable(\"AbpSettings\");\n                });\n\n            modelBuilder.Entity(\"Abp.DynamicEntityParameters.DynamicParameter\", b =>\n                {\n                    b.Property<int>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"InputType\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"ParameterName\")\n                        .HasColumnType(\"varchar(255) CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"Permission\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"ParameterName\", \"TenantId\")\n                        .IsUnique();\n\n                    b.ToTable(\"AbpDynamicParameters\");\n                });\n\n            modelBuilder.Entity(\"Abp.DynamicEntityParameters.DynamicParameterValue\", b =>\n                {\n                    b.Property<int>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"int\");\n\n                    b.Property<int>(\"DynamicParameterId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"Value\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"DynamicParameterId\");\n\n                    b.ToTable(\"AbpDynamicParameterValues\");\n                });\n\n            modelBuilder.Entity(\"Abp.DynamicEntityParameters.EntityDynamicParameter\", b =>\n                {\n                    b.Property<int>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"int\");\n\n                    b.Property<int>(\"DynamicParameterId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"EntityFullName\")\n                        .HasColumnType(\"varchar(255) CHARACTER SET utf8mb4\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"DynamicParameterId\");\n\n                    b.HasIndex(\"EntityFullName\", \"DynamicParameterId\", \"TenantId\")\n                        .IsUnique();\n\n                    b.ToTable(\"AbpEntityDynamicParameters\");\n                });\n\n            modelBuilder.Entity(\"Abp.DynamicEntityParameters.EntityDynamicParameterValue\", b =>\n                {\n                    b.Property<int>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"int\");\n\n                    b.Property<int>(\"EntityDynamicParameterId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"EntityId\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"Value\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"EntityDynamicParameterId\");\n\n                    b.ToTable(\"AbpEntityDynamicParameterValues\");\n                });\n\n            modelBuilder.Entity(\"Abp.EntityHistory.EntityChange\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"ChangeTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<byte>(\"ChangeType\")\n                        .HasColumnType(\"tinyint unsigned\");\n\n                    b.Property<long>(\"EntityChangeSetId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"EntityId\")\n                        .HasColumnType(\"varchar(48) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(48);\n\n                    b.Property<string>(\"EntityTypeFullName\")\n                        .HasColumnType(\"varchar(192) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(192);\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"EntityChangeSetId\");\n\n                    b.HasIndex(\"EntityTypeFullName\", \"EntityId\");\n\n                    b.ToTable(\"AbpEntityChanges\");\n                });\n\n            modelBuilder.Entity(\"Abp.EntityHistory.EntityChangeSet\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"BrowserInfo\")\n                        .HasColumnType(\"varchar(512) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(512);\n\n                    b.Property<string>(\"ClientIpAddress\")\n                        .HasColumnType(\"varchar(64) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(64);\n\n                    b.Property<string>(\"ClientName\")\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"ExtensionData\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<int?>(\"ImpersonatorTenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long?>(\"ImpersonatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Reason\")\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(256);\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long?>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"TenantId\", \"CreationTime\");\n\n                    b.HasIndex(\"TenantId\", \"Reason\");\n\n                    b.HasIndex(\"TenantId\", \"UserId\");\n\n                    b.ToTable(\"AbpEntityChangeSets\");\n                });\n\n            modelBuilder.Entity(\"Abp.EntityHistory.EntityPropertyChange\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long>(\"EntityChangeId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"NewValue\")\n                        .HasColumnType(\"varchar(512) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(512);\n\n                    b.Property<string>(\"OriginalValue\")\n                        .HasColumnType(\"varchar(512) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(512);\n\n                    b.Property<string>(\"PropertyName\")\n                        .HasColumnType(\"varchar(96) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(96);\n\n                    b.Property<string>(\"PropertyTypeFullName\")\n                        .HasColumnType(\"varchar(192) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(192);\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"EntityChangeId\");\n\n                    b.ToTable(\"AbpEntityPropertyChanges\");\n                });\n\n            modelBuilder.Entity(\"Abp.Localization.ApplicationLanguage\", b =>\n                {\n                    b.Property<int>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"int\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"DeleterUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"DeletionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"DisplayName\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(64) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(64);\n\n                    b.Property<string>(\"Icon\")\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<bool>(\"IsDisabled\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Name\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"TenantId\", \"Name\");\n\n                    b.ToTable(\"AbpLanguages\");\n                });\n\n            modelBuilder.Entity(\"Abp.Localization.ApplicationLanguageText\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Key\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(256);\n\n                    b.Property<string>(\"LanguageName\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Source\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"Value\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\")\n                        .HasMaxLength(67108864);\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"TenantId\", \"Source\", \"LanguageName\", \"Key\");\n\n                    b.ToTable(\"AbpLanguageTexts\");\n                });\n\n            modelBuilder.Entity(\"Abp.Notifications.NotificationInfo\", b =>\n                {\n                    b.Property<Guid>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"char(36)\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Data\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\")\n                        .HasMaxLength(1048576);\n\n                    b.Property<string>(\"DataTypeName\")\n                        .HasColumnType(\"varchar(512) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(512);\n\n                    b.Property<string>(\"EntityId\")\n                        .HasColumnType(\"varchar(96) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(96);\n\n                    b.Property<string>(\"EntityTypeAssemblyQualifiedName\")\n                        .HasColumnType(\"varchar(512) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(512);\n\n                    b.Property<string>(\"EntityTypeName\")\n                        .HasColumnType(\"varchar(250) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(250);\n\n                    b.Property<string>(\"ExcludedUserIds\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\")\n                        .HasMaxLength(131072);\n\n                    b.Property<string>(\"NotificationName\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(96) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(96);\n\n                    b.Property<byte>(\"Severity\")\n                        .HasColumnType(\"tinyint unsigned\");\n\n                    b.Property<string>(\"TenantIds\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\")\n                        .HasMaxLength(131072);\n\n                    b.Property<string>(\"UserIds\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\")\n                        .HasMaxLength(131072);\n\n                    b.HasKey(\"Id\");\n\n                    b.ToTable(\"AbpNotifications\");\n                });\n\n            modelBuilder.Entity(\"Abp.Notifications.NotificationSubscriptionInfo\", b =>\n                {\n                    b.Property<Guid>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"char(36)\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"EntityId\")\n                        .HasColumnType(\"varchar(96) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(96);\n\n                    b.Property<string>(\"EntityTypeAssemblyQualifiedName\")\n                        .HasColumnType(\"varchar(512) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(512);\n\n                    b.Property<string>(\"EntityTypeName\")\n                        .HasColumnType(\"varchar(250) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(250);\n\n                    b.Property<string>(\"NotificationName\")\n                        .HasColumnType(\"varchar(96) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(96);\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"NotificationName\", \"EntityTypeName\", \"EntityId\", \"UserId\");\n\n                    b.HasIndex(\"TenantId\", \"NotificationName\", \"EntityTypeName\", \"EntityId\", \"UserId\");\n\n                    b.ToTable(\"AbpNotificationSubscriptions\");\n                });\n\n            modelBuilder.Entity(\"Abp.Notifications.TenantNotificationInfo\", b =>\n                {\n                    b.Property<Guid>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"char(36)\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Data\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\")\n                        .HasMaxLength(1048576);\n\n                    b.Property<string>(\"DataTypeName\")\n                        .HasColumnType(\"varchar(512) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(512);\n\n                    b.Property<string>(\"EntityId\")\n                        .HasColumnType(\"varchar(96) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(96);\n\n                    b.Property<string>(\"EntityTypeAssemblyQualifiedName\")\n                        .HasColumnType(\"varchar(512) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(512);\n\n                    b.Property<string>(\"EntityTypeName\")\n                        .HasColumnType(\"varchar(250) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(250);\n\n                    b.Property<string>(\"NotificationName\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(96) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(96);\n\n                    b.Property<byte>(\"Severity\")\n                        .HasColumnType(\"tinyint unsigned\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"TenantId\");\n\n                    b.ToTable(\"AbpTenantNotifications\");\n                });\n\n            modelBuilder.Entity(\"Abp.Notifications.UserNotificationInfo\", b =>\n                {\n                    b.Property<Guid>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"char(36)\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<int>(\"State\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<Guid>(\"TenantNotificationId\")\n                        .HasColumnType(\"char(36)\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"UserId\", \"State\", \"CreationTime\");\n\n                    b.ToTable(\"AbpUserNotifications\");\n                });\n\n            modelBuilder.Entity(\"Abp.Organizations.OrganizationUnit\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Code\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(95) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(95);\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"DeleterUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"DeletionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"DisplayName\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"ParentId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"ParentId\");\n\n                    b.HasIndex(\"TenantId\", \"Code\");\n\n                    b.ToTable(\"AbpOrganizationUnits\");\n                });\n\n            modelBuilder.Entity(\"Abp.Organizations.OrganizationUnitRole\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<long>(\"OrganizationUnitId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int>(\"RoleId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"TenantId\", \"OrganizationUnitId\");\n\n                    b.HasIndex(\"TenantId\", \"RoleId\");\n\n                    b.ToTable(\"AbpOrganizationUnitRoles\");\n                });\n\n            modelBuilder.Entity(\"Abp.Webhooks.WebhookEvent\", b =>\n                {\n                    b.Property<Guid>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"char(36)\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"Data\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<DateTime?>(\"DeletionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"WebhookName\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.HasKey(\"Id\");\n\n                    b.ToTable(\"AbpWebhookEvents\");\n                });\n\n            modelBuilder.Entity(\"Abp.Webhooks.WebhookSendAttempt\", b =>\n                {\n                    b.Property<Guid>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"char(36)\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"Response\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<int?>(\"ResponseStatusCode\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<Guid>(\"WebhookEventId\")\n                        .HasColumnType(\"char(36)\");\n\n                    b.Property<Guid>(\"WebhookSubscriptionId\")\n                        .HasColumnType(\"char(36)\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"WebhookEventId\");\n\n                    b.ToTable(\"AbpWebhookSendAttempts\");\n                });\n\n            modelBuilder.Entity(\"Abp.Webhooks.WebhookSubscriptionInfo\", b =>\n                {\n                    b.Property<Guid>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"char(36)\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Headers\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<bool>(\"IsActive\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<string>(\"Secret\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"WebhookUri\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"Webhooks\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.HasKey(\"Id\");\n\n                    b.ToTable(\"AbpWebhookSubscriptions\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Authorization.Roles.Role\", b =>\n                {\n                    b.Property<int>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"ConcurrencyStamp\")\n                        .IsConcurrencyToken()\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"DeleterUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"DeletionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"Description\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\")\n                        .HasMaxLength(5000);\n\n                    b.Property<string>(\"DisplayName\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(64) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(64);\n\n                    b.Property<bool>(\"IsDefault\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<bool>(\"IsStatic\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Name\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(32) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(32);\n\n                    b.Property<string>(\"NormalizedName\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(32) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(32);\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"CreatorUserId\");\n\n                    b.HasIndex(\"DeleterUserId\");\n\n                    b.HasIndex(\"LastModifierUserId\");\n\n                    b.HasIndex(\"TenantId\", \"NormalizedName\");\n\n                    b.ToTable(\"AbpRoles\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Authorization.Users.User\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int>(\"AccessFailedCount\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"AuthenticationSource\")\n                        .HasColumnType(\"varchar(64) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(64);\n\n                    b.Property<string>(\"ConcurrencyStamp\")\n                        .IsConcurrencyToken()\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"DeleterUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"DeletionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"EmailAddress\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(256);\n\n                    b.Property<string>(\"EmailConfirmationCode\")\n                        .HasColumnType(\"varchar(328) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(328);\n\n                    b.Property<bool>(\"IsActive\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<bool>(\"IsEmailConfirmed\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<bool>(\"IsLockoutEnabled\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<bool>(\"IsPhoneNumberConfirmed\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<bool>(\"IsTwoFactorEnabled\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"LockoutEndDateUtc\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"Name\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(64) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(64);\n\n                    b.Property<string>(\"NormalizedEmailAddress\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(256);\n\n                    b.Property<string>(\"NormalizedUserName\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(256);\n\n                    b.Property<string>(\"Password\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<string>(\"PasswordResetCode\")\n                        .HasColumnType(\"varchar(328) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(328);\n\n                    b.Property<string>(\"PhoneNumber\")\n                        .HasColumnType(\"varchar(32) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(32);\n\n                    b.Property<string>(\"SecurityStamp\")\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<string>(\"Surname\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(64) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(64);\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"UserName\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(256);\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"CreatorUserId\");\n\n                    b.HasIndex(\"DeleterUserId\");\n\n                    b.HasIndex(\"LastModifierUserId\");\n\n                    b.HasIndex(\"TenantId\", \"NormalizedEmailAddress\");\n\n                    b.HasIndex(\"TenantId\", \"NormalizedUserName\");\n\n                    b.ToTable(\"AbpUsers\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.DefaultQuery\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"DeleterUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"DeletionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"MainUsername\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"UsernamesInCrawlers\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"CreatorUserId\");\n\n                    b.HasIndex(\"DeleterUserId\");\n\n                    b.HasIndex(\"LastModifierUserId\");\n\n                    b.HasIndex(\"UserId\");\n\n                    b.ToTable(\"DefaultQueries\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.QueryHistory\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"MainUsername\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<int>(\"Solved\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<int>(\"Submission\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"UserId\");\n\n                    b.ToTable(\"QueryHistories\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.QueryWorkerHistory\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"CrawlerName\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"ErrorMessage\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<bool>(\"HasSolvedList\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<long>(\"QueryHistoryId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int>(\"Solved\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"SolvedList\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<int>(\"Submission\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"Username\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"QueryHistoryId\");\n\n                    b.ToTable(\"QueryWorkerHistories\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.MultiTenancy.Tenant\", b =>\n                {\n                    b.Property<int>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"ConnectionString\")\n                        .HasColumnType(\"varchar(1024) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(1024);\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"DeleterUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"DeletionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<int?>(\"EditionId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<bool>(\"IsActive\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Name\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<string>(\"TenancyName\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(64) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(64);\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"CreatorUserId\");\n\n                    b.HasIndex(\"DeleterUserId\");\n\n                    b.HasIndex(\"EditionId\");\n\n                    b.HasIndex(\"LastModifierUserId\");\n\n                    b.HasIndex(\"TenancyName\");\n\n                    b.ToTable(\"AbpTenants\");\n                });\n\n            modelBuilder.Entity(\"Abp.Application.Features.EditionFeatureSetting\", b =>\n                {\n                    b.HasBaseType(\"Abp.Application.Features.FeatureSetting\");\n\n                    b.Property<int>(\"EditionId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasIndex(\"EditionId\", \"Name\");\n\n                    b.ToTable(\"AbpFeatures\");\n\n                    b.HasDiscriminator().HasValue(\"EditionFeatureSetting\");\n                });\n\n            modelBuilder.Entity(\"Abp.MultiTenancy.TenantFeatureSetting\", b =>\n                {\n                    b.HasBaseType(\"Abp.Application.Features.FeatureSetting\");\n\n                    b.HasIndex(\"TenantId\", \"Name\");\n\n                    b.ToTable(\"AbpFeatures\");\n\n                    b.HasDiscriminator().HasValue(\"TenantFeatureSetting\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Roles.RolePermissionSetting\", b =>\n                {\n                    b.HasBaseType(\"Abp.Authorization.PermissionSetting\");\n\n                    b.Property<int>(\"RoleId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasIndex(\"RoleId\");\n\n                    b.ToTable(\"AbpPermissions\");\n\n                    b.HasDiscriminator().HasValue(\"RolePermissionSetting\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserPermissionSetting\", b =>\n                {\n                    b.HasBaseType(\"Abp.Authorization.PermissionSetting\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasIndex(\"UserId\");\n\n                    b.ToTable(\"AbpPermissions\");\n\n                    b.HasDiscriminator().HasValue(\"UserPermissionSetting\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Roles.RoleClaim\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Roles.Role\", null)\n                        .WithMany(\"Claims\")\n                        .HasForeignKey(\"RoleId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserClaim\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", null)\n                        .WithMany(\"Claims\")\n                        .HasForeignKey(\"UserId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserLogin\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", null)\n                        .WithMany(\"Logins\")\n                        .HasForeignKey(\"UserId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserRole\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", null)\n                        .WithMany(\"Roles\")\n                        .HasForeignKey(\"UserId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserToken\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", null)\n                        .WithMany(\"Tokens\")\n                        .HasForeignKey(\"UserId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.Configuration.Setting\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", null)\n                        .WithMany(\"Settings\")\n                        .HasForeignKey(\"UserId\");\n                });\n\n            modelBuilder.Entity(\"Abp.DynamicEntityParameters.DynamicParameterValue\", b =>\n                {\n                    b.HasOne(\"Abp.DynamicEntityParameters.DynamicParameter\", \"DynamicParameter\")\n                        .WithMany(\"DynamicParameterValues\")\n                        .HasForeignKey(\"DynamicParameterId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.DynamicEntityParameters.EntityDynamicParameter\", b =>\n                {\n                    b.HasOne(\"Abp.DynamicEntityParameters.DynamicParameter\", \"DynamicParameter\")\n                        .WithMany()\n                        .HasForeignKey(\"DynamicParameterId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.DynamicEntityParameters.EntityDynamicParameterValue\", b =>\n                {\n                    b.HasOne(\"Abp.DynamicEntityParameters.EntityDynamicParameter\", \"EntityDynamicParameter\")\n                        .WithMany()\n                        .HasForeignKey(\"EntityDynamicParameterId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.EntityHistory.EntityChange\", b =>\n                {\n                    b.HasOne(\"Abp.EntityHistory.EntityChangeSet\", null)\n                        .WithMany(\"EntityChanges\")\n                        .HasForeignKey(\"EntityChangeSetId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.EntityHistory.EntityPropertyChange\", b =>\n                {\n                    b.HasOne(\"Abp.EntityHistory.EntityChange\", null)\n                        .WithMany(\"PropertyChanges\")\n                        .HasForeignKey(\"EntityChangeId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.Organizations.OrganizationUnit\", b =>\n                {\n                    b.HasOne(\"Abp.Organizations.OrganizationUnit\", \"Parent\")\n                        .WithMany(\"Children\")\n                        .HasForeignKey(\"ParentId\");\n                });\n\n            modelBuilder.Entity(\"Abp.Webhooks.WebhookSendAttempt\", b =>\n                {\n                    b.HasOne(\"Abp.Webhooks.WebhookEvent\", \"WebhookEvent\")\n                        .WithMany()\n                        .HasForeignKey(\"WebhookEventId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Authorization.Roles.Role\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"CreatorUser\")\n                        .WithMany()\n                        .HasForeignKey(\"CreatorUserId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"DeleterUser\")\n                        .WithMany()\n                        .HasForeignKey(\"DeleterUserId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"LastModifierUser\")\n                        .WithMany()\n                        .HasForeignKey(\"LastModifierUserId\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Authorization.Users.User\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"CreatorUser\")\n                        .WithMany()\n                        .HasForeignKey(\"CreatorUserId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"DeleterUser\")\n                        .WithMany()\n                        .HasForeignKey(\"DeleterUserId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"LastModifierUser\")\n                        .WithMany()\n                        .HasForeignKey(\"LastModifierUserId\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.DefaultQuery\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"CreatorUser\")\n                        .WithMany()\n                        .HasForeignKey(\"CreatorUserId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"DeleterUser\")\n                        .WithMany()\n                        .HasForeignKey(\"DeleterUserId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"LastModifierUser\")\n                        .WithMany()\n                        .HasForeignKey(\"LastModifierUserId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"User\")\n                        .WithMany()\n                        .HasForeignKey(\"UserId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.QueryHistory\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"User\")\n                        .WithMany()\n                        .HasForeignKey(\"UserId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.QueryWorkerHistory\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Crawlers.QueryHistory\", \"QueryHistory\")\n                        .WithMany(\"QueryWorkerHistories\")\n                        .HasForeignKey(\"QueryHistoryId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.MultiTenancy.Tenant\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"CreatorUser\")\n                        .WithMany()\n                        .HasForeignKey(\"CreatorUserId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"DeleterUser\")\n                        .WithMany()\n                        .HasForeignKey(\"DeleterUserId\");\n\n                    b.HasOne(\"Abp.Application.Editions.Edition\", \"Edition\")\n                        .WithMany()\n                        .HasForeignKey(\"EditionId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"LastModifierUser\")\n                        .WithMany()\n                        .HasForeignKey(\"LastModifierUserId\");\n                });\n\n            modelBuilder.Entity(\"Abp.Application.Features.EditionFeatureSetting\", b =>\n                {\n                    b.HasOne(\"Abp.Application.Editions.Edition\", \"Edition\")\n                        .WithMany()\n                        .HasForeignKey(\"EditionId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Roles.RolePermissionSetting\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Roles.Role\", null)\n                        .WithMany(\"Permissions\")\n                        .HasForeignKey(\"RoleId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserPermissionSetting\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", null)\n                        .WithMany(\"Permissions\")\n                        .HasForeignKey(\"UserId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n#pragma warning restore 612, 618\n        }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.EntityFrameworkCore/Migrations/20200419031052_UseQueryHistory.cs",
    "content": "﻿using System;\nusing Microsoft.EntityFrameworkCore.Metadata;\nusing Microsoft.EntityFrameworkCore.Migrations;\n\nnamespace AcmStatisticsBackend.Migrations\n{\n    public partial class UseQueryHistory : Migration\n    {\n        protected override void Up(MigrationBuilder migrationBuilder)\n        {\n            migrationBuilder.DropTable(\n                name: \"AcWorkerHistories\");\n\n            migrationBuilder.DropTable(\n                name: \"AcHistories\");\n\n            migrationBuilder.DropIndex(\n                name: \"IX_AbpOrganizationUnits_TenantId_Code\",\n                table: \"AbpOrganizationUnits\");\n\n            migrationBuilder.CreateTable(\n                name: \"QueryHistories\",\n                columns: table => new\n                {\n                    Id = table.Column<long>(nullable: false)\n                        .Annotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn),\n                    CreationTime = table.Column<DateTime>(nullable: false),\n                    UserId = table.Column<long>(nullable: false),\n                    MainUsername = table.Column<string>(nullable: false),\n                    Submission = table.Column<int>(nullable: false),\n                    Solved = table.Column<int>(nullable: false),\n                },\n                constraints: table =>\n                {\n                    table.PrimaryKey(\"PK_QueryHistories\", x => x.Id);\n                    table.ForeignKey(\n                        name: \"FK_QueryHistories_AbpUsers_UserId\",\n                        column: x => x.UserId,\n                        principalTable: \"AbpUsers\",\n                        principalColumn: \"Id\",\n                        onDelete: ReferentialAction.Cascade);\n                });\n\n            migrationBuilder.CreateTable(\n                name: \"QueryWorkerHistories\",\n                columns: table => new\n                {\n                    Id = table.Column<long>(nullable: false)\n                        .Annotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn),\n                    QueryHistoryId = table.Column<long>(nullable: false),\n                    CrawlerName = table.Column<string>(nullable: false),\n                    Username = table.Column<string>(nullable: false),\n                    ErrorMessage = table.Column<string>(nullable: true),\n                    Submission = table.Column<int>(nullable: false),\n                    Solved = table.Column<int>(nullable: false),\n                    HasSolvedList = table.Column<bool>(nullable: false),\n                    SolvedList = table.Column<string>(nullable: false),\n                },\n                constraints: table =>\n                {\n                    table.PrimaryKey(\"PK_QueryWorkerHistories\", x => x.Id);\n                    table.ForeignKey(\n                        name: \"FK_QueryWorkerHistories_QueryHistories_QueryHistoryId\",\n                        column: x => x.QueryHistoryId,\n                        principalTable: \"QueryHistories\",\n                        principalColumn: \"Id\",\n                        onDelete: ReferentialAction.Cascade);\n                });\n\n            migrationBuilder.CreateIndex(\n                name: \"IX_AbpOrganizationUnits_TenantId_Code\",\n                table: \"AbpOrganizationUnits\",\n                columns: new[] { \"TenantId\", \"Code\" });\n\n            migrationBuilder.CreateIndex(\n                name: \"IX_QueryHistories_UserId\",\n                table: \"QueryHistories\",\n                column: \"UserId\");\n\n            migrationBuilder.CreateIndex(\n                name: \"IX_QueryWorkerHistories_QueryHistoryId\",\n                table: \"QueryWorkerHistories\",\n                column: \"QueryHistoryId\");\n        }\n\n        protected override void Down(MigrationBuilder migrationBuilder)\n        {\n            migrationBuilder.DropTable(\n                name: \"QueryWorkerHistories\");\n\n            migrationBuilder.DropTable(\n                name: \"QueryHistories\");\n\n            migrationBuilder.DropIndex(\n                name: \"IX_AbpOrganizationUnits_TenantId_Code\",\n                table: \"AbpOrganizationUnits\");\n\n            migrationBuilder.CreateTable(\n                name: \"AcHistories\",\n                columns: table => new\n                {\n                    Id = table.Column<long>(type: \"bigint\", nullable: false)\n                        .Annotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn),\n                    CreationTime = table.Column<DateTime>(type: \"datetime(6)\", nullable: false),\n                    MainUsername = table.Column<string>(type: \"longtext CHARACTER SET utf8mb4\", nullable: false),\n                    Solved = table.Column<int>(type: \"int\", nullable: false),\n                    Submission = table.Column<int>(type: \"int\", nullable: false),\n                    UserId = table.Column<long>(type: \"bigint\", nullable: false),\n                },\n                constraints: table =>\n                {\n                    table.PrimaryKey(\"PK_AcHistories\", x => x.Id);\n                    table.ForeignKey(\n                        name: \"FK_AcHistories_AbpUsers_UserId\",\n                        column: x => x.UserId,\n                        principalTable: \"AbpUsers\",\n                        principalColumn: \"Id\",\n                        onDelete: ReferentialAction.Cascade);\n                });\n\n            migrationBuilder.CreateTable(\n                name: \"AcWorkerHistories\",\n                columns: table => new\n                {\n                    Id = table.Column<long>(type: \"bigint\", nullable: false)\n                        .Annotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn),\n                    AcHistoryId = table.Column<long>(type: \"bigint\", nullable: false),\n                    CrawlerName = table.Column<string>(type: \"longtext CHARACTER SET utf8mb4\", nullable: false),\n                    ErrorMessage = table.Column<string>(type: \"longtext CHARACTER SET utf8mb4\", nullable: true),\n                    HasSolvedList = table.Column<bool>(type: \"tinyint(1)\", nullable: false),\n                    Solved = table.Column<int>(type: \"int\", nullable: false),\n                    SolvedList = table.Column<string>(type: \"longtext CHARACTER SET utf8mb4\", nullable: false),\n                    Submission = table.Column<int>(type: \"int\", nullable: false),\n                    Username = table.Column<string>(type: \"longtext CHARACTER SET utf8mb4\", nullable: false),\n                },\n                constraints: table =>\n                {\n                    table.PrimaryKey(\"PK_AcWorkerHistories\", x => x.Id);\n                    table.ForeignKey(\n                        name: \"FK_AcWorkerHistories_AcHistories_AcHistoryId\",\n                        column: x => x.AcHistoryId,\n                        principalTable: \"AcHistories\",\n                        principalColumn: \"Id\",\n                        onDelete: ReferentialAction.Cascade);\n                });\n\n            migrationBuilder.CreateIndex(\n                name: \"IX_AbpOrganizationUnits_TenantId_Code\",\n                table: \"AbpOrganizationUnits\",\n                columns: new[] { \"TenantId\", \"Code\" },\n                unique: true);\n\n            migrationBuilder.CreateIndex(\n                name: \"IX_AcHistories_UserId\",\n                table: \"AcHistories\",\n                column: \"UserId\");\n\n            migrationBuilder.CreateIndex(\n                name: \"IX_AcWorkerHistories_AcHistoryId\",\n                table: \"AcWorkerHistories\",\n                column: \"AcHistoryId\");\n        }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.EntityFrameworkCore/Migrations/20200522145416_AddSettings.Designer.cs",
    "content": "﻿// <auto-generated />\nusing System;\nusing AcmStatisticsBackend.EntityFrameworkCore;\nusing Microsoft.EntityFrameworkCore;\nusing Microsoft.EntityFrameworkCore.Infrastructure;\nusing Microsoft.EntityFrameworkCore.Migrations;\nusing Microsoft.EntityFrameworkCore.Storage.ValueConversion;\n\nnamespace AcmStatisticsBackend.Migrations\n{\n    [DbContext(typeof(AcmStatisticsBackendDbContext))]\n    [Migration(\"20200522145416_AddSettings\")]\n    partial class AddSettings\n    {\n        protected override void BuildTargetModel(ModelBuilder modelBuilder)\n        {\n#pragma warning disable 612, 618\n            modelBuilder\n                .HasAnnotation(\"ProductVersion\", \"3.1.3\")\n                .HasAnnotation(\"Relational:MaxIdentifierLength\", 64);\n\n            modelBuilder.Entity(\"Abp.Application.Editions.Edition\", b =>\n                {\n                    b.Property<int>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"int\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"DeleterUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"DeletionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"DisplayName\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(64) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(64);\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Name\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(32) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(32);\n\n                    b.HasKey(\"Id\");\n\n                    b.ToTable(\"AbpEditions\");\n                });\n\n            modelBuilder.Entity(\"Abp.Application.Features.FeatureSetting\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Discriminator\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"Name\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"Value\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(2000) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(2000);\n\n                    b.HasKey(\"Id\");\n\n                    b.ToTable(\"AbpFeatures\");\n\n                    b.HasDiscriminator<string>(\"Discriminator\").HasValue(\"FeatureSetting\");\n                });\n\n            modelBuilder.Entity(\"Abp.Auditing.AuditLog\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"BrowserInfo\")\n                        .HasColumnType(\"varchar(512) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(512);\n\n                    b.Property<string>(\"ClientIpAddress\")\n                        .HasColumnType(\"varchar(64) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(64);\n\n                    b.Property<string>(\"ClientName\")\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<string>(\"CustomData\")\n                        .HasColumnType(\"varchar(2000) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(2000);\n\n                    b.Property<string>(\"Exception\")\n                        .HasColumnType(\"varchar(2000) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(2000);\n\n                    b.Property<int>(\"ExecutionDuration\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<DateTime>(\"ExecutionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<int?>(\"ImpersonatorTenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long?>(\"ImpersonatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"MethodName\")\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(256);\n\n                    b.Property<string>(\"Parameters\")\n                        .HasColumnType(\"varchar(1024) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(1024);\n\n                    b.Property<string>(\"ReturnValue\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"ServiceName\")\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(256);\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long?>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"TenantId\", \"ExecutionDuration\");\n\n                    b.HasIndex(\"TenantId\", \"ExecutionTime\");\n\n                    b.HasIndex(\"TenantId\", \"UserId\");\n\n                    b.ToTable(\"AbpAuditLogs\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.PermissionSetting\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Discriminator\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<bool>(\"IsGranted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<string>(\"Name\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"TenantId\", \"Name\");\n\n                    b.ToTable(\"AbpPermissions\");\n\n                    b.HasDiscriminator<string>(\"Discriminator\").HasValue(\"PermissionSetting\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Roles.RoleClaim\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"ClaimType\")\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(256);\n\n                    b.Property<string>(\"ClaimValue\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int>(\"RoleId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"RoleId\");\n\n                    b.HasIndex(\"TenantId\", \"ClaimType\");\n\n                    b.ToTable(\"AbpRoleClaims\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserAccount\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"DeleterUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"DeletionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"EmailAddress\")\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(256);\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"UserLinkId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"UserName\")\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(256);\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"EmailAddress\");\n\n                    b.HasIndex(\"UserName\");\n\n                    b.HasIndex(\"TenantId\", \"EmailAddress\");\n\n                    b.HasIndex(\"TenantId\", \"UserId\");\n\n                    b.HasIndex(\"TenantId\", \"UserName\");\n\n                    b.ToTable(\"AbpUserAccounts\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserClaim\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"ClaimType\")\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(256);\n\n                    b.Property<string>(\"ClaimValue\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"UserId\");\n\n                    b.HasIndex(\"TenantId\", \"ClaimType\");\n\n                    b.ToTable(\"AbpUserClaims\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserLogin\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"LoginProvider\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<string>(\"ProviderKey\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(256);\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"UserId\");\n\n                    b.HasIndex(\"TenantId\", \"UserId\");\n\n                    b.HasIndex(\"TenantId\", \"LoginProvider\", \"ProviderKey\");\n\n                    b.ToTable(\"AbpUserLogins\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserLoginAttempt\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"BrowserInfo\")\n                        .HasColumnType(\"varchar(512) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(512);\n\n                    b.Property<string>(\"ClientIpAddress\")\n                        .HasColumnType(\"varchar(64) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(64);\n\n                    b.Property<string>(\"ClientName\")\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<byte>(\"Result\")\n                        .HasColumnType(\"tinyint unsigned\");\n\n                    b.Property<string>(\"TenancyName\")\n                        .HasColumnType(\"varchar(64) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(64);\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long?>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"UserNameOrEmailAddress\")\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(256);\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"UserId\", \"TenantId\");\n\n                    b.HasIndex(\"TenancyName\", \"UserNameOrEmailAddress\", \"Result\");\n\n                    b.ToTable(\"AbpUserLoginAttempts\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserOrganizationUnit\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<long>(\"OrganizationUnitId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"TenantId\", \"OrganizationUnitId\");\n\n                    b.HasIndex(\"TenantId\", \"UserId\");\n\n                    b.ToTable(\"AbpUserOrganizationUnits\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserRole\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int>(\"RoleId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"UserId\");\n\n                    b.HasIndex(\"TenantId\", \"RoleId\");\n\n                    b.HasIndex(\"TenantId\", \"UserId\");\n\n                    b.ToTable(\"AbpUserRoles\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserToken\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"ExpireDate\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"LoginProvider\")\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<string>(\"Name\")\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Value\")\n                        .HasColumnType(\"varchar(512) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(512);\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"UserId\");\n\n                    b.HasIndex(\"TenantId\", \"UserId\");\n\n                    b.ToTable(\"AbpUserTokens\");\n                });\n\n            modelBuilder.Entity(\"Abp.BackgroundJobs.BackgroundJobInfo\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<bool>(\"IsAbandoned\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<string>(\"JobArgs\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\")\n                        .HasMaxLength(1048576);\n\n                    b.Property<string>(\"JobType\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(512) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(512);\n\n                    b.Property<DateTime?>(\"LastTryTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<DateTime>(\"NextTryTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<byte>(\"Priority\")\n                        .HasColumnType(\"tinyint unsigned\");\n\n                    b.Property<short>(\"TryCount\")\n                        .HasColumnType(\"smallint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"IsAbandoned\", \"NextTryTime\");\n\n                    b.ToTable(\"AbpBackgroundJobs\");\n                });\n\n            modelBuilder.Entity(\"Abp.Configuration.Setting\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Name\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(256);\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long?>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Value\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"UserId\");\n\n                    b.HasIndex(\"TenantId\", \"Name\", \"UserId\")\n                        .IsUnique();\n\n                    b.ToTable(\"AbpSettings\");\n                });\n\n            modelBuilder.Entity(\"Abp.DynamicEntityParameters.DynamicParameter\", b =>\n                {\n                    b.Property<int>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"InputType\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"ParameterName\")\n                        .HasColumnType(\"varchar(255) CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"Permission\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"ParameterName\", \"TenantId\")\n                        .IsUnique();\n\n                    b.ToTable(\"AbpDynamicParameters\");\n                });\n\n            modelBuilder.Entity(\"Abp.DynamicEntityParameters.DynamicParameterValue\", b =>\n                {\n                    b.Property<int>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"int\");\n\n                    b.Property<int>(\"DynamicParameterId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"Value\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"DynamicParameterId\");\n\n                    b.ToTable(\"AbpDynamicParameterValues\");\n                });\n\n            modelBuilder.Entity(\"Abp.DynamicEntityParameters.EntityDynamicParameter\", b =>\n                {\n                    b.Property<int>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"int\");\n\n                    b.Property<int>(\"DynamicParameterId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"EntityFullName\")\n                        .HasColumnType(\"varchar(255) CHARACTER SET utf8mb4\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"DynamicParameterId\");\n\n                    b.HasIndex(\"EntityFullName\", \"DynamicParameterId\", \"TenantId\")\n                        .IsUnique();\n\n                    b.ToTable(\"AbpEntityDynamicParameters\");\n                });\n\n            modelBuilder.Entity(\"Abp.DynamicEntityParameters.EntityDynamicParameterValue\", b =>\n                {\n                    b.Property<int>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"int\");\n\n                    b.Property<int>(\"EntityDynamicParameterId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"EntityId\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"Value\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"EntityDynamicParameterId\");\n\n                    b.ToTable(\"AbpEntityDynamicParameterValues\");\n                });\n\n            modelBuilder.Entity(\"Abp.EntityHistory.EntityChange\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"ChangeTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<byte>(\"ChangeType\")\n                        .HasColumnType(\"tinyint unsigned\");\n\n                    b.Property<long>(\"EntityChangeSetId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"EntityId\")\n                        .HasColumnType(\"varchar(48) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(48);\n\n                    b.Property<string>(\"EntityTypeFullName\")\n                        .HasColumnType(\"varchar(192) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(192);\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"EntityChangeSetId\");\n\n                    b.HasIndex(\"EntityTypeFullName\", \"EntityId\");\n\n                    b.ToTable(\"AbpEntityChanges\");\n                });\n\n            modelBuilder.Entity(\"Abp.EntityHistory.EntityChangeSet\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"BrowserInfo\")\n                        .HasColumnType(\"varchar(512) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(512);\n\n                    b.Property<string>(\"ClientIpAddress\")\n                        .HasColumnType(\"varchar(64) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(64);\n\n                    b.Property<string>(\"ClientName\")\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"ExtensionData\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<int?>(\"ImpersonatorTenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long?>(\"ImpersonatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Reason\")\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(256);\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long?>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"TenantId\", \"CreationTime\");\n\n                    b.HasIndex(\"TenantId\", \"Reason\");\n\n                    b.HasIndex(\"TenantId\", \"UserId\");\n\n                    b.ToTable(\"AbpEntityChangeSets\");\n                });\n\n            modelBuilder.Entity(\"Abp.EntityHistory.EntityPropertyChange\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long>(\"EntityChangeId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"NewValue\")\n                        .HasColumnType(\"varchar(512) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(512);\n\n                    b.Property<string>(\"OriginalValue\")\n                        .HasColumnType(\"varchar(512) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(512);\n\n                    b.Property<string>(\"PropertyName\")\n                        .HasColumnType(\"varchar(96) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(96);\n\n                    b.Property<string>(\"PropertyTypeFullName\")\n                        .HasColumnType(\"varchar(192) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(192);\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"EntityChangeId\");\n\n                    b.ToTable(\"AbpEntityPropertyChanges\");\n                });\n\n            modelBuilder.Entity(\"Abp.Localization.ApplicationLanguage\", b =>\n                {\n                    b.Property<int>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"int\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"DeleterUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"DeletionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"DisplayName\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(64) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(64);\n\n                    b.Property<string>(\"Icon\")\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<bool>(\"IsDisabled\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Name\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"TenantId\", \"Name\");\n\n                    b.ToTable(\"AbpLanguages\");\n                });\n\n            modelBuilder.Entity(\"Abp.Localization.ApplicationLanguageText\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Key\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(256);\n\n                    b.Property<string>(\"LanguageName\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Source\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"Value\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\")\n                        .HasMaxLength(67108864);\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"TenantId\", \"Source\", \"LanguageName\", \"Key\");\n\n                    b.ToTable(\"AbpLanguageTexts\");\n                });\n\n            modelBuilder.Entity(\"Abp.Notifications.NotificationInfo\", b =>\n                {\n                    b.Property<Guid>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"char(36)\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Data\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\")\n                        .HasMaxLength(1048576);\n\n                    b.Property<string>(\"DataTypeName\")\n                        .HasColumnType(\"varchar(512) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(512);\n\n                    b.Property<string>(\"EntityId\")\n                        .HasColumnType(\"varchar(96) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(96);\n\n                    b.Property<string>(\"EntityTypeAssemblyQualifiedName\")\n                        .HasColumnType(\"varchar(512) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(512);\n\n                    b.Property<string>(\"EntityTypeName\")\n                        .HasColumnType(\"varchar(250) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(250);\n\n                    b.Property<string>(\"ExcludedUserIds\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\")\n                        .HasMaxLength(131072);\n\n                    b.Property<string>(\"NotificationName\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(96) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(96);\n\n                    b.Property<byte>(\"Severity\")\n                        .HasColumnType(\"tinyint unsigned\");\n\n                    b.Property<string>(\"TenantIds\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\")\n                        .HasMaxLength(131072);\n\n                    b.Property<string>(\"UserIds\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\")\n                        .HasMaxLength(131072);\n\n                    b.HasKey(\"Id\");\n\n                    b.ToTable(\"AbpNotifications\");\n                });\n\n            modelBuilder.Entity(\"Abp.Notifications.NotificationSubscriptionInfo\", b =>\n                {\n                    b.Property<Guid>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"char(36)\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"EntityId\")\n                        .HasColumnType(\"varchar(96) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(96);\n\n                    b.Property<string>(\"EntityTypeAssemblyQualifiedName\")\n                        .HasColumnType(\"varchar(512) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(512);\n\n                    b.Property<string>(\"EntityTypeName\")\n                        .HasColumnType(\"varchar(250) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(250);\n\n                    b.Property<string>(\"NotificationName\")\n                        .HasColumnType(\"varchar(96) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(96);\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"NotificationName\", \"EntityTypeName\", \"EntityId\", \"UserId\");\n\n                    b.HasIndex(\"TenantId\", \"NotificationName\", \"EntityTypeName\", \"EntityId\", \"UserId\");\n\n                    b.ToTable(\"AbpNotificationSubscriptions\");\n                });\n\n            modelBuilder.Entity(\"Abp.Notifications.TenantNotificationInfo\", b =>\n                {\n                    b.Property<Guid>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"char(36)\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Data\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\")\n                        .HasMaxLength(1048576);\n\n                    b.Property<string>(\"DataTypeName\")\n                        .HasColumnType(\"varchar(512) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(512);\n\n                    b.Property<string>(\"EntityId\")\n                        .HasColumnType(\"varchar(96) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(96);\n\n                    b.Property<string>(\"EntityTypeAssemblyQualifiedName\")\n                        .HasColumnType(\"varchar(512) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(512);\n\n                    b.Property<string>(\"EntityTypeName\")\n                        .HasColumnType(\"varchar(250) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(250);\n\n                    b.Property<string>(\"NotificationName\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(96) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(96);\n\n                    b.Property<byte>(\"Severity\")\n                        .HasColumnType(\"tinyint unsigned\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"TenantId\");\n\n                    b.ToTable(\"AbpTenantNotifications\");\n                });\n\n            modelBuilder.Entity(\"Abp.Notifications.UserNotificationInfo\", b =>\n                {\n                    b.Property<Guid>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"char(36)\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<int>(\"State\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<Guid>(\"TenantNotificationId\")\n                        .HasColumnType(\"char(36)\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"UserId\", \"State\", \"CreationTime\");\n\n                    b.ToTable(\"AbpUserNotifications\");\n                });\n\n            modelBuilder.Entity(\"Abp.Organizations.OrganizationUnit\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Code\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(95) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(95);\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"DeleterUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"DeletionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"DisplayName\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"ParentId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"ParentId\");\n\n                    b.HasIndex(\"TenantId\", \"Code\");\n\n                    b.ToTable(\"AbpOrganizationUnits\");\n                });\n\n            modelBuilder.Entity(\"Abp.Organizations.OrganizationUnitRole\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<long>(\"OrganizationUnitId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int>(\"RoleId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"TenantId\", \"OrganizationUnitId\");\n\n                    b.HasIndex(\"TenantId\", \"RoleId\");\n\n                    b.ToTable(\"AbpOrganizationUnitRoles\");\n                });\n\n            modelBuilder.Entity(\"Abp.Webhooks.WebhookEvent\", b =>\n                {\n                    b.Property<Guid>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"char(36)\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"Data\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<DateTime?>(\"DeletionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"WebhookName\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.HasKey(\"Id\");\n\n                    b.ToTable(\"AbpWebhookEvents\");\n                });\n\n            modelBuilder.Entity(\"Abp.Webhooks.WebhookSendAttempt\", b =>\n                {\n                    b.Property<Guid>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"char(36)\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"Response\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<int?>(\"ResponseStatusCode\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<Guid>(\"WebhookEventId\")\n                        .HasColumnType(\"char(36)\");\n\n                    b.Property<Guid>(\"WebhookSubscriptionId\")\n                        .HasColumnType(\"char(36)\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"WebhookEventId\");\n\n                    b.ToTable(\"AbpWebhookSendAttempts\");\n                });\n\n            modelBuilder.Entity(\"Abp.Webhooks.WebhookSubscriptionInfo\", b =>\n                {\n                    b.Property<Guid>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"char(36)\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Headers\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<bool>(\"IsActive\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<string>(\"Secret\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"WebhookUri\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"Webhooks\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.HasKey(\"Id\");\n\n                    b.ToTable(\"AbpWebhookSubscriptions\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Authorization.Roles.Role\", b =>\n                {\n                    b.Property<int>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"ConcurrencyStamp\")\n                        .IsConcurrencyToken()\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"DeleterUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"DeletionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"Description\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\")\n                        .HasMaxLength(5000);\n\n                    b.Property<string>(\"DisplayName\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(64) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(64);\n\n                    b.Property<bool>(\"IsDefault\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<bool>(\"IsStatic\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Name\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(32) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(32);\n\n                    b.Property<string>(\"NormalizedName\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(32) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(32);\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"CreatorUserId\");\n\n                    b.HasIndex(\"DeleterUserId\");\n\n                    b.HasIndex(\"LastModifierUserId\");\n\n                    b.HasIndex(\"TenantId\", \"NormalizedName\");\n\n                    b.ToTable(\"AbpRoles\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Authorization.Users.User\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int>(\"AccessFailedCount\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"AuthenticationSource\")\n                        .HasColumnType(\"varchar(64) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(64);\n\n                    b.Property<string>(\"ConcurrencyStamp\")\n                        .IsConcurrencyToken()\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"DeleterUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"DeletionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"EmailAddress\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(256);\n\n                    b.Property<string>(\"EmailConfirmationCode\")\n                        .HasColumnType(\"varchar(328) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(328);\n\n                    b.Property<bool>(\"IsActive\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<bool>(\"IsEmailConfirmed\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<bool>(\"IsLockoutEnabled\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<bool>(\"IsPhoneNumberConfirmed\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<bool>(\"IsTwoFactorEnabled\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"LockoutEndDateUtc\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"Name\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(64) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(64);\n\n                    b.Property<string>(\"NormalizedEmailAddress\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(256);\n\n                    b.Property<string>(\"NormalizedUserName\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(256);\n\n                    b.Property<string>(\"Password\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<string>(\"PasswordResetCode\")\n                        .HasColumnType(\"varchar(328) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(328);\n\n                    b.Property<string>(\"PhoneNumber\")\n                        .HasColumnType(\"varchar(32) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(32);\n\n                    b.Property<string>(\"SecurityStamp\")\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<string>(\"Surname\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(64) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(64);\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"UserName\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(256);\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"CreatorUserId\");\n\n                    b.HasIndex(\"DeleterUserId\");\n\n                    b.HasIndex(\"LastModifierUserId\");\n\n                    b.HasIndex(\"TenantId\", \"NormalizedEmailAddress\");\n\n                    b.HasIndex(\"TenantId\", \"NormalizedUserName\");\n\n                    b.ToTable(\"AbpUsers\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.DefaultQuery\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"DeleterUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"DeletionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"MainUsername\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"UsernamesInCrawlers\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"CreatorUserId\");\n\n                    b.HasIndex(\"DeleterUserId\");\n\n                    b.HasIndex(\"LastModifierUserId\");\n\n                    b.HasIndex(\"UserId\");\n\n                    b.ToTable(\"DefaultQueries\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.QueryHistory\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"MainUsername\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<int>(\"Solved\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<int>(\"Submission\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"UserId\");\n\n                    b.ToTable(\"QueryHistories\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.QueryWorkerHistory\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"CrawlerName\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"ErrorMessage\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<bool>(\"HasSolvedList\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<bool>(\"IsVirtualJudge\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<long>(\"QueryHistoryId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int>(\"Solved\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"SolvedList\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<int>(\"Submission\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"SubmissionsByCrawlerName\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"Username\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"QueryHistoryId\");\n\n                    b.ToTable(\"QueryWorkerHistories\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.MultiTenancy.Tenant\", b =>\n                {\n                    b.Property<int>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"ConnectionString\")\n                        .HasColumnType(\"varchar(1024) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(1024);\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"DeleterUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"DeletionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<int?>(\"EditionId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<bool>(\"IsActive\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Name\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<string>(\"TenancyName\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(64) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(64);\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"CreatorUserId\");\n\n                    b.HasIndex(\"DeleterUserId\");\n\n                    b.HasIndex(\"EditionId\");\n\n                    b.HasIndex(\"LastModifierUserId\");\n\n                    b.HasIndex(\"TenancyName\");\n\n                    b.ToTable(\"AbpTenants\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Settings.UserSettingAttribute\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"LastTimeZoneChangedTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"CreatorUserId\");\n\n                    b.HasIndex(\"LastModifierUserId\");\n\n                    b.HasIndex(\"UserId\");\n\n                    b.ToTable(\"UserSettingAttributes\");\n                });\n\n            modelBuilder.Entity(\"Abp.Application.Features.EditionFeatureSetting\", b =>\n                {\n                    b.HasBaseType(\"Abp.Application.Features.FeatureSetting\");\n\n                    b.Property<int>(\"EditionId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasIndex(\"EditionId\", \"Name\");\n\n                    b.ToTable(\"AbpFeatures\");\n\n                    b.HasDiscriminator().HasValue(\"EditionFeatureSetting\");\n                });\n\n            modelBuilder.Entity(\"Abp.MultiTenancy.TenantFeatureSetting\", b =>\n                {\n                    b.HasBaseType(\"Abp.Application.Features.FeatureSetting\");\n\n                    b.HasIndex(\"TenantId\", \"Name\");\n\n                    b.ToTable(\"AbpFeatures\");\n\n                    b.HasDiscriminator().HasValue(\"TenantFeatureSetting\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Roles.RolePermissionSetting\", b =>\n                {\n                    b.HasBaseType(\"Abp.Authorization.PermissionSetting\");\n\n                    b.Property<int>(\"RoleId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasIndex(\"RoleId\");\n\n                    b.ToTable(\"AbpPermissions\");\n\n                    b.HasDiscriminator().HasValue(\"RolePermissionSetting\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserPermissionSetting\", b =>\n                {\n                    b.HasBaseType(\"Abp.Authorization.PermissionSetting\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasIndex(\"UserId\");\n\n                    b.ToTable(\"AbpPermissions\");\n\n                    b.HasDiscriminator().HasValue(\"UserPermissionSetting\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Roles.RoleClaim\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Roles.Role\", null)\n                        .WithMany(\"Claims\")\n                        .HasForeignKey(\"RoleId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserClaim\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", null)\n                        .WithMany(\"Claims\")\n                        .HasForeignKey(\"UserId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserLogin\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", null)\n                        .WithMany(\"Logins\")\n                        .HasForeignKey(\"UserId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserRole\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", null)\n                        .WithMany(\"Roles\")\n                        .HasForeignKey(\"UserId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserToken\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", null)\n                        .WithMany(\"Tokens\")\n                        .HasForeignKey(\"UserId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.Configuration.Setting\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", null)\n                        .WithMany(\"Settings\")\n                        .HasForeignKey(\"UserId\");\n                });\n\n            modelBuilder.Entity(\"Abp.DynamicEntityParameters.DynamicParameterValue\", b =>\n                {\n                    b.HasOne(\"Abp.DynamicEntityParameters.DynamicParameter\", \"DynamicParameter\")\n                        .WithMany(\"DynamicParameterValues\")\n                        .HasForeignKey(\"DynamicParameterId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.DynamicEntityParameters.EntityDynamicParameter\", b =>\n                {\n                    b.HasOne(\"Abp.DynamicEntityParameters.DynamicParameter\", \"DynamicParameter\")\n                        .WithMany()\n                        .HasForeignKey(\"DynamicParameterId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.DynamicEntityParameters.EntityDynamicParameterValue\", b =>\n                {\n                    b.HasOne(\"Abp.DynamicEntityParameters.EntityDynamicParameter\", \"EntityDynamicParameter\")\n                        .WithMany()\n                        .HasForeignKey(\"EntityDynamicParameterId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.EntityHistory.EntityChange\", b =>\n                {\n                    b.HasOne(\"Abp.EntityHistory.EntityChangeSet\", null)\n                        .WithMany(\"EntityChanges\")\n                        .HasForeignKey(\"EntityChangeSetId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.EntityHistory.EntityPropertyChange\", b =>\n                {\n                    b.HasOne(\"Abp.EntityHistory.EntityChange\", null)\n                        .WithMany(\"PropertyChanges\")\n                        .HasForeignKey(\"EntityChangeId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.Organizations.OrganizationUnit\", b =>\n                {\n                    b.HasOne(\"Abp.Organizations.OrganizationUnit\", \"Parent\")\n                        .WithMany(\"Children\")\n                        .HasForeignKey(\"ParentId\");\n                });\n\n            modelBuilder.Entity(\"Abp.Webhooks.WebhookSendAttempt\", b =>\n                {\n                    b.HasOne(\"Abp.Webhooks.WebhookEvent\", \"WebhookEvent\")\n                        .WithMany()\n                        .HasForeignKey(\"WebhookEventId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Authorization.Roles.Role\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"CreatorUser\")\n                        .WithMany()\n                        .HasForeignKey(\"CreatorUserId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"DeleterUser\")\n                        .WithMany()\n                        .HasForeignKey(\"DeleterUserId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"LastModifierUser\")\n                        .WithMany()\n                        .HasForeignKey(\"LastModifierUserId\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Authorization.Users.User\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"CreatorUser\")\n                        .WithMany()\n                        .HasForeignKey(\"CreatorUserId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"DeleterUser\")\n                        .WithMany()\n                        .HasForeignKey(\"DeleterUserId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"LastModifierUser\")\n                        .WithMany()\n                        .HasForeignKey(\"LastModifierUserId\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.DefaultQuery\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"CreatorUser\")\n                        .WithMany()\n                        .HasForeignKey(\"CreatorUserId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"DeleterUser\")\n                        .WithMany()\n                        .HasForeignKey(\"DeleterUserId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"LastModifierUser\")\n                        .WithMany()\n                        .HasForeignKey(\"LastModifierUserId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"User\")\n                        .WithMany()\n                        .HasForeignKey(\"UserId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.QueryHistory\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"User\")\n                        .WithMany()\n                        .HasForeignKey(\"UserId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.QueryWorkerHistory\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Crawlers.QueryHistory\", \"QueryHistory\")\n                        .WithMany(\"QueryWorkerHistories\")\n                        .HasForeignKey(\"QueryHistoryId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.MultiTenancy.Tenant\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"CreatorUser\")\n                        .WithMany()\n                        .HasForeignKey(\"CreatorUserId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"DeleterUser\")\n                        .WithMany()\n                        .HasForeignKey(\"DeleterUserId\");\n\n                    b.HasOne(\"Abp.Application.Editions.Edition\", \"Edition\")\n                        .WithMany()\n                        .HasForeignKey(\"EditionId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"LastModifierUser\")\n                        .WithMany()\n                        .HasForeignKey(\"LastModifierUserId\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Settings.UserSettingAttribute\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"CreatorUser\")\n                        .WithMany()\n                        .HasForeignKey(\"CreatorUserId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"LastModifierUser\")\n                        .WithMany()\n                        .HasForeignKey(\"LastModifierUserId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"User\")\n                        .WithMany()\n                        .HasForeignKey(\"UserId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.Application.Features.EditionFeatureSetting\", b =>\n                {\n                    b.HasOne(\"Abp.Application.Editions.Edition\", \"Edition\")\n                        .WithMany()\n                        .HasForeignKey(\"EditionId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Roles.RolePermissionSetting\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Roles.Role\", null)\n                        .WithMany(\"Permissions\")\n                        .HasForeignKey(\"RoleId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserPermissionSetting\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", null)\n                        .WithMany(\"Permissions\")\n                        .HasForeignKey(\"UserId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n#pragma warning restore 612, 618\n        }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.EntityFrameworkCore/Migrations/20200522145416_AddSettings.cs",
    "content": "﻿using System;\nusing Microsoft.EntityFrameworkCore.Metadata;\nusing Microsoft.EntityFrameworkCore.Migrations;\n\nnamespace AcmStatisticsBackend.Migrations\n{\n    public partial class AddSettings : Migration\n    {\n        protected override void Up(MigrationBuilder migrationBuilder)\n        {\n            migrationBuilder.AddColumn<bool>(\n                name: \"IsVirtualJudge\",\n                table: \"QueryWorkerHistories\",\n                nullable: false,\n                defaultValue: false);\n\n            migrationBuilder.AddColumn<string>(\n                name: \"SubmissionsByCrawlerName\",\n                table: \"QueryWorkerHistories\",\n                nullable: false);\n\n            migrationBuilder.CreateTable(\n                name: \"UserSettingAttributes\",\n                columns: table => new\n                {\n                    Id = table.Column<long>(nullable: false)\n                        .Annotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn),\n                    UserId = table.Column<long>(nullable: false),\n                    LastTimeZoneChangedTime = table.Column<DateTime>(nullable: true),\n                    CreationTime = table.Column<DateTime>(nullable: false),\n                    CreatorUserId = table.Column<long>(nullable: true),\n                    LastModificationTime = table.Column<DateTime>(nullable: true),\n                    LastModifierUserId = table.Column<long>(nullable: true),\n                },\n                constraints: table =>\n                {\n                    table.PrimaryKey(\"PK_UserSettingAttributes\", x => x.Id);\n                    table.ForeignKey(\n                        name: \"FK_UserSettingAttributes_AbpUsers_CreatorUserId\",\n                        column: x => x.CreatorUserId,\n                        principalTable: \"AbpUsers\",\n                        principalColumn: \"Id\",\n                        onDelete: ReferentialAction.Restrict);\n                    table.ForeignKey(\n                        name: \"FK_UserSettingAttributes_AbpUsers_LastModifierUserId\",\n                        column: x => x.LastModifierUserId,\n                        principalTable: \"AbpUsers\",\n                        principalColumn: \"Id\",\n                        onDelete: ReferentialAction.Restrict);\n                    table.ForeignKey(\n                        name: \"FK_UserSettingAttributes_AbpUsers_UserId\",\n                        column: x => x.UserId,\n                        principalTable: \"AbpUsers\",\n                        principalColumn: \"Id\",\n                        onDelete: ReferentialAction.Cascade);\n                });\n\n            migrationBuilder.CreateIndex(\n                name: \"IX_UserSettingAttributes_CreatorUserId\",\n                table: \"UserSettingAttributes\",\n                column: \"CreatorUserId\");\n\n            migrationBuilder.CreateIndex(\n                name: \"IX_UserSettingAttributes_LastModifierUserId\",\n                table: \"UserSettingAttributes\",\n                column: \"LastModifierUserId\");\n\n            migrationBuilder.CreateIndex(\n                name: \"IX_UserSettingAttributes_UserId\",\n                table: \"UserSettingAttributes\",\n                column: \"UserId\");\n        }\n\n        protected override void Down(MigrationBuilder migrationBuilder)\n        {\n            migrationBuilder.DropTable(\n                name: \"UserSettingAttributes\");\n\n            migrationBuilder.DropColumn(\n                name: \"IsVirtualJudge\",\n                table: \"QueryWorkerHistories\");\n\n            migrationBuilder.DropColumn(\n                name: \"SubmissionsByCrawlerName\",\n                table: \"QueryWorkerHistories\");\n        }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.EntityFrameworkCore/Migrations/20200604111842_AddSummary.Designer.cs",
    "content": "﻿// <auto-generated />\nusing System;\nusing AcmStatisticsBackend.EntityFrameworkCore;\nusing Microsoft.EntityFrameworkCore;\nusing Microsoft.EntityFrameworkCore.Infrastructure;\nusing Microsoft.EntityFrameworkCore.Migrations;\nusing Microsoft.EntityFrameworkCore.Storage.ValueConversion;\n\nnamespace AcmStatisticsBackend.Migrations\n{\n    [DbContext(typeof(AcmStatisticsBackendDbContext))]\n    [Migration(\"20200604111842_AddSummary\")]\n    partial class AddSummary\n    {\n        protected override void BuildTargetModel(ModelBuilder modelBuilder)\n        {\n#pragma warning disable 612, 618\n            modelBuilder\n                .HasAnnotation(\"ProductVersion\", \"3.1.4\")\n                .HasAnnotation(\"Relational:MaxIdentifierLength\", 64);\n\n            modelBuilder.Entity(\"Abp.Application.Editions.Edition\", b =>\n                {\n                    b.Property<int>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"int\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"DeleterUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"DeletionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"DisplayName\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(64) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(64);\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Name\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(32) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(32);\n\n                    b.HasKey(\"Id\");\n\n                    b.ToTable(\"AbpEditions\");\n                });\n\n            modelBuilder.Entity(\"Abp.Application.Features.FeatureSetting\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Discriminator\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"Name\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"Value\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(2000) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(2000);\n\n                    b.HasKey(\"Id\");\n\n                    b.ToTable(\"AbpFeatures\");\n\n                    b.HasDiscriminator<string>(\"Discriminator\").HasValue(\"FeatureSetting\");\n                });\n\n            modelBuilder.Entity(\"Abp.Auditing.AuditLog\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"BrowserInfo\")\n                        .HasColumnType(\"varchar(512) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(512);\n\n                    b.Property<string>(\"ClientIpAddress\")\n                        .HasColumnType(\"varchar(64) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(64);\n\n                    b.Property<string>(\"ClientName\")\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<string>(\"CustomData\")\n                        .HasColumnType(\"varchar(2000) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(2000);\n\n                    b.Property<string>(\"Exception\")\n                        .HasColumnType(\"varchar(2000) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(2000);\n\n                    b.Property<int>(\"ExecutionDuration\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<DateTime>(\"ExecutionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<int?>(\"ImpersonatorTenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long?>(\"ImpersonatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"MethodName\")\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(256);\n\n                    b.Property<string>(\"Parameters\")\n                        .HasColumnType(\"varchar(1024) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(1024);\n\n                    b.Property<string>(\"ReturnValue\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"ServiceName\")\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(256);\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long?>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"TenantId\", \"ExecutionDuration\");\n\n                    b.HasIndex(\"TenantId\", \"ExecutionTime\");\n\n                    b.HasIndex(\"TenantId\", \"UserId\");\n\n                    b.ToTable(\"AbpAuditLogs\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.PermissionSetting\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Discriminator\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<bool>(\"IsGranted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<string>(\"Name\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"TenantId\", \"Name\");\n\n                    b.ToTable(\"AbpPermissions\");\n\n                    b.HasDiscriminator<string>(\"Discriminator\").HasValue(\"PermissionSetting\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Roles.RoleClaim\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"ClaimType\")\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(256);\n\n                    b.Property<string>(\"ClaimValue\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int>(\"RoleId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"RoleId\");\n\n                    b.HasIndex(\"TenantId\", \"ClaimType\");\n\n                    b.ToTable(\"AbpRoleClaims\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserAccount\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"DeleterUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"DeletionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"EmailAddress\")\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(256);\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"UserLinkId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"UserName\")\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(256);\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"EmailAddress\");\n\n                    b.HasIndex(\"UserName\");\n\n                    b.HasIndex(\"TenantId\", \"EmailAddress\");\n\n                    b.HasIndex(\"TenantId\", \"UserId\");\n\n                    b.HasIndex(\"TenantId\", \"UserName\");\n\n                    b.ToTable(\"AbpUserAccounts\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserClaim\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"ClaimType\")\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(256);\n\n                    b.Property<string>(\"ClaimValue\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"UserId\");\n\n                    b.HasIndex(\"TenantId\", \"ClaimType\");\n\n                    b.ToTable(\"AbpUserClaims\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserLogin\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"LoginProvider\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<string>(\"ProviderKey\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(256);\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"UserId\");\n\n                    b.HasIndex(\"TenantId\", \"UserId\");\n\n                    b.HasIndex(\"TenantId\", \"LoginProvider\", \"ProviderKey\");\n\n                    b.ToTable(\"AbpUserLogins\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserLoginAttempt\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"BrowserInfo\")\n                        .HasColumnType(\"varchar(512) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(512);\n\n                    b.Property<string>(\"ClientIpAddress\")\n                        .HasColumnType(\"varchar(64) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(64);\n\n                    b.Property<string>(\"ClientName\")\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<byte>(\"Result\")\n                        .HasColumnType(\"tinyint unsigned\");\n\n                    b.Property<string>(\"TenancyName\")\n                        .HasColumnType(\"varchar(64) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(64);\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long?>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"UserNameOrEmailAddress\")\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(256);\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"UserId\", \"TenantId\");\n\n                    b.HasIndex(\"TenancyName\", \"UserNameOrEmailAddress\", \"Result\");\n\n                    b.ToTable(\"AbpUserLoginAttempts\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserOrganizationUnit\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<long>(\"OrganizationUnitId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"TenantId\", \"OrganizationUnitId\");\n\n                    b.HasIndex(\"TenantId\", \"UserId\");\n\n                    b.ToTable(\"AbpUserOrganizationUnits\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserRole\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int>(\"RoleId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"UserId\");\n\n                    b.HasIndex(\"TenantId\", \"RoleId\");\n\n                    b.HasIndex(\"TenantId\", \"UserId\");\n\n                    b.ToTable(\"AbpUserRoles\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserToken\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"ExpireDate\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"LoginProvider\")\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<string>(\"Name\")\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Value\")\n                        .HasColumnType(\"varchar(512) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(512);\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"UserId\");\n\n                    b.HasIndex(\"TenantId\", \"UserId\");\n\n                    b.ToTable(\"AbpUserTokens\");\n                });\n\n            modelBuilder.Entity(\"Abp.BackgroundJobs.BackgroundJobInfo\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<bool>(\"IsAbandoned\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<string>(\"JobArgs\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\")\n                        .HasMaxLength(1048576);\n\n                    b.Property<string>(\"JobType\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(512) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(512);\n\n                    b.Property<DateTime?>(\"LastTryTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<DateTime>(\"NextTryTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<byte>(\"Priority\")\n                        .HasColumnType(\"tinyint unsigned\");\n\n                    b.Property<short>(\"TryCount\")\n                        .HasColumnType(\"smallint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"IsAbandoned\", \"NextTryTime\");\n\n                    b.ToTable(\"AbpBackgroundJobs\");\n                });\n\n            modelBuilder.Entity(\"Abp.Configuration.Setting\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Name\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(256);\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long?>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Value\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"UserId\");\n\n                    b.HasIndex(\"TenantId\", \"Name\", \"UserId\")\n                        .IsUnique();\n\n                    b.ToTable(\"AbpSettings\");\n                });\n\n            modelBuilder.Entity(\"Abp.DynamicEntityParameters.DynamicParameter\", b =>\n                {\n                    b.Property<int>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"InputType\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"ParameterName\")\n                        .HasColumnType(\"varchar(255) CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"Permission\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"ParameterName\", \"TenantId\")\n                        .IsUnique();\n\n                    b.ToTable(\"AbpDynamicParameters\");\n                });\n\n            modelBuilder.Entity(\"Abp.DynamicEntityParameters.DynamicParameterValue\", b =>\n                {\n                    b.Property<int>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"int\");\n\n                    b.Property<int>(\"DynamicParameterId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"Value\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"DynamicParameterId\");\n\n                    b.ToTable(\"AbpDynamicParameterValues\");\n                });\n\n            modelBuilder.Entity(\"Abp.DynamicEntityParameters.EntityDynamicParameter\", b =>\n                {\n                    b.Property<int>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"int\");\n\n                    b.Property<int>(\"DynamicParameterId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"EntityFullName\")\n                        .HasColumnType(\"varchar(255) CHARACTER SET utf8mb4\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"DynamicParameterId\");\n\n                    b.HasIndex(\"EntityFullName\", \"DynamicParameterId\", \"TenantId\")\n                        .IsUnique();\n\n                    b.ToTable(\"AbpEntityDynamicParameters\");\n                });\n\n            modelBuilder.Entity(\"Abp.DynamicEntityParameters.EntityDynamicParameterValue\", b =>\n                {\n                    b.Property<int>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"int\");\n\n                    b.Property<int>(\"EntityDynamicParameterId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"EntityId\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"Value\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"EntityDynamicParameterId\");\n\n                    b.ToTable(\"AbpEntityDynamicParameterValues\");\n                });\n\n            modelBuilder.Entity(\"Abp.EntityHistory.EntityChange\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"ChangeTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<byte>(\"ChangeType\")\n                        .HasColumnType(\"tinyint unsigned\");\n\n                    b.Property<long>(\"EntityChangeSetId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"EntityId\")\n                        .HasColumnType(\"varchar(48) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(48);\n\n                    b.Property<string>(\"EntityTypeFullName\")\n                        .HasColumnType(\"varchar(192) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(192);\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"EntityChangeSetId\");\n\n                    b.HasIndex(\"EntityTypeFullName\", \"EntityId\");\n\n                    b.ToTable(\"AbpEntityChanges\");\n                });\n\n            modelBuilder.Entity(\"Abp.EntityHistory.EntityChangeSet\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"BrowserInfo\")\n                        .HasColumnType(\"varchar(512) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(512);\n\n                    b.Property<string>(\"ClientIpAddress\")\n                        .HasColumnType(\"varchar(64) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(64);\n\n                    b.Property<string>(\"ClientName\")\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"ExtensionData\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<int?>(\"ImpersonatorTenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long?>(\"ImpersonatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Reason\")\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(256);\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long?>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"TenantId\", \"CreationTime\");\n\n                    b.HasIndex(\"TenantId\", \"Reason\");\n\n                    b.HasIndex(\"TenantId\", \"UserId\");\n\n                    b.ToTable(\"AbpEntityChangeSets\");\n                });\n\n            modelBuilder.Entity(\"Abp.EntityHistory.EntityPropertyChange\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long>(\"EntityChangeId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"NewValue\")\n                        .HasColumnType(\"varchar(512) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(512);\n\n                    b.Property<string>(\"OriginalValue\")\n                        .HasColumnType(\"varchar(512) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(512);\n\n                    b.Property<string>(\"PropertyName\")\n                        .HasColumnType(\"varchar(96) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(96);\n\n                    b.Property<string>(\"PropertyTypeFullName\")\n                        .HasColumnType(\"varchar(192) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(192);\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"EntityChangeId\");\n\n                    b.ToTable(\"AbpEntityPropertyChanges\");\n                });\n\n            modelBuilder.Entity(\"Abp.Localization.ApplicationLanguage\", b =>\n                {\n                    b.Property<int>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"int\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"DeleterUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"DeletionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"DisplayName\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(64) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(64);\n\n                    b.Property<string>(\"Icon\")\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<bool>(\"IsDisabled\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Name\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"TenantId\", \"Name\");\n\n                    b.ToTable(\"AbpLanguages\");\n                });\n\n            modelBuilder.Entity(\"Abp.Localization.ApplicationLanguageText\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Key\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(256);\n\n                    b.Property<string>(\"LanguageName\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Source\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"Value\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\")\n                        .HasMaxLength(67108864);\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"TenantId\", \"Source\", \"LanguageName\", \"Key\");\n\n                    b.ToTable(\"AbpLanguageTexts\");\n                });\n\n            modelBuilder.Entity(\"Abp.Notifications.NotificationInfo\", b =>\n                {\n                    b.Property<Guid>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"char(36)\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Data\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\")\n                        .HasMaxLength(1048576);\n\n                    b.Property<string>(\"DataTypeName\")\n                        .HasColumnType(\"varchar(512) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(512);\n\n                    b.Property<string>(\"EntityId\")\n                        .HasColumnType(\"varchar(96) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(96);\n\n                    b.Property<string>(\"EntityTypeAssemblyQualifiedName\")\n                        .HasColumnType(\"varchar(512) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(512);\n\n                    b.Property<string>(\"EntityTypeName\")\n                        .HasColumnType(\"varchar(250) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(250);\n\n                    b.Property<string>(\"ExcludedUserIds\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\")\n                        .HasMaxLength(131072);\n\n                    b.Property<string>(\"NotificationName\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(96) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(96);\n\n                    b.Property<byte>(\"Severity\")\n                        .HasColumnType(\"tinyint unsigned\");\n\n                    b.Property<string>(\"TenantIds\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\")\n                        .HasMaxLength(131072);\n\n                    b.Property<string>(\"UserIds\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\")\n                        .HasMaxLength(131072);\n\n                    b.HasKey(\"Id\");\n\n                    b.ToTable(\"AbpNotifications\");\n                });\n\n            modelBuilder.Entity(\"Abp.Notifications.NotificationSubscriptionInfo\", b =>\n                {\n                    b.Property<Guid>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"char(36)\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"EntityId\")\n                        .HasColumnType(\"varchar(96) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(96);\n\n                    b.Property<string>(\"EntityTypeAssemblyQualifiedName\")\n                        .HasColumnType(\"varchar(512) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(512);\n\n                    b.Property<string>(\"EntityTypeName\")\n                        .HasColumnType(\"varchar(250) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(250);\n\n                    b.Property<string>(\"NotificationName\")\n                        .HasColumnType(\"varchar(96) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(96);\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"NotificationName\", \"EntityTypeName\", \"EntityId\", \"UserId\");\n\n                    b.HasIndex(\"TenantId\", \"NotificationName\", \"EntityTypeName\", \"EntityId\", \"UserId\");\n\n                    b.ToTable(\"AbpNotificationSubscriptions\");\n                });\n\n            modelBuilder.Entity(\"Abp.Notifications.TenantNotificationInfo\", b =>\n                {\n                    b.Property<Guid>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"char(36)\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Data\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\")\n                        .HasMaxLength(1048576);\n\n                    b.Property<string>(\"DataTypeName\")\n                        .HasColumnType(\"varchar(512) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(512);\n\n                    b.Property<string>(\"EntityId\")\n                        .HasColumnType(\"varchar(96) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(96);\n\n                    b.Property<string>(\"EntityTypeAssemblyQualifiedName\")\n                        .HasColumnType(\"varchar(512) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(512);\n\n                    b.Property<string>(\"EntityTypeName\")\n                        .HasColumnType(\"varchar(250) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(250);\n\n                    b.Property<string>(\"NotificationName\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(96) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(96);\n\n                    b.Property<byte>(\"Severity\")\n                        .HasColumnType(\"tinyint unsigned\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"TenantId\");\n\n                    b.ToTable(\"AbpTenantNotifications\");\n                });\n\n            modelBuilder.Entity(\"Abp.Notifications.UserNotificationInfo\", b =>\n                {\n                    b.Property<Guid>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"char(36)\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<int>(\"State\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<Guid>(\"TenantNotificationId\")\n                        .HasColumnType(\"char(36)\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"UserId\", \"State\", \"CreationTime\");\n\n                    b.ToTable(\"AbpUserNotifications\");\n                });\n\n            modelBuilder.Entity(\"Abp.Organizations.OrganizationUnit\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Code\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(95) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(95);\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"DeleterUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"DeletionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"DisplayName\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"ParentId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"ParentId\");\n\n                    b.HasIndex(\"TenantId\", \"Code\");\n\n                    b.ToTable(\"AbpOrganizationUnits\");\n                });\n\n            modelBuilder.Entity(\"Abp.Organizations.OrganizationUnitRole\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<long>(\"OrganizationUnitId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int>(\"RoleId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"TenantId\", \"OrganizationUnitId\");\n\n                    b.HasIndex(\"TenantId\", \"RoleId\");\n\n                    b.ToTable(\"AbpOrganizationUnitRoles\");\n                });\n\n            modelBuilder.Entity(\"Abp.Webhooks.WebhookEvent\", b =>\n                {\n                    b.Property<Guid>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"char(36)\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"Data\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<DateTime?>(\"DeletionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"WebhookName\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.HasKey(\"Id\");\n\n                    b.ToTable(\"AbpWebhookEvents\");\n                });\n\n            modelBuilder.Entity(\"Abp.Webhooks.WebhookSendAttempt\", b =>\n                {\n                    b.Property<Guid>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"char(36)\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"Response\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<int?>(\"ResponseStatusCode\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<Guid>(\"WebhookEventId\")\n                        .HasColumnType(\"char(36)\");\n\n                    b.Property<Guid>(\"WebhookSubscriptionId\")\n                        .HasColumnType(\"char(36)\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"WebhookEventId\");\n\n                    b.ToTable(\"AbpWebhookSendAttempts\");\n                });\n\n            modelBuilder.Entity(\"Abp.Webhooks.WebhookSubscriptionInfo\", b =>\n                {\n                    b.Property<Guid>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"char(36)\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Headers\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<bool>(\"IsActive\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<string>(\"Secret\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"WebhookUri\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"Webhooks\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.HasKey(\"Id\");\n\n                    b.ToTable(\"AbpWebhookSubscriptions\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Authorization.Roles.Role\", b =>\n                {\n                    b.Property<int>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"ConcurrencyStamp\")\n                        .IsConcurrencyToken()\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"DeleterUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"DeletionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"Description\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\")\n                        .HasMaxLength(5000);\n\n                    b.Property<string>(\"DisplayName\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(64) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(64);\n\n                    b.Property<bool>(\"IsDefault\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<bool>(\"IsStatic\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Name\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(32) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(32);\n\n                    b.Property<string>(\"NormalizedName\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(32) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(32);\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"CreatorUserId\");\n\n                    b.HasIndex(\"DeleterUserId\");\n\n                    b.HasIndex(\"LastModifierUserId\");\n\n                    b.HasIndex(\"TenantId\", \"NormalizedName\");\n\n                    b.ToTable(\"AbpRoles\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Authorization.Users.User\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int>(\"AccessFailedCount\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"AuthenticationSource\")\n                        .HasColumnType(\"varchar(64) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(64);\n\n                    b.Property<string>(\"ConcurrencyStamp\")\n                        .IsConcurrencyToken()\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"DeleterUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"DeletionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"EmailAddress\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(256);\n\n                    b.Property<string>(\"EmailConfirmationCode\")\n                        .HasColumnType(\"varchar(328) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(328);\n\n                    b.Property<bool>(\"IsActive\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<bool>(\"IsEmailConfirmed\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<bool>(\"IsLockoutEnabled\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<bool>(\"IsPhoneNumberConfirmed\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<bool>(\"IsTwoFactorEnabled\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"LockoutEndDateUtc\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"Name\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(64) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(64);\n\n                    b.Property<string>(\"NormalizedEmailAddress\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(256);\n\n                    b.Property<string>(\"NormalizedUserName\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(256);\n\n                    b.Property<string>(\"Password\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<string>(\"PasswordResetCode\")\n                        .HasColumnType(\"varchar(328) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(328);\n\n                    b.Property<string>(\"PhoneNumber\")\n                        .HasColumnType(\"varchar(32) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(32);\n\n                    b.Property<string>(\"SecurityStamp\")\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<string>(\"Surname\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(64) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(64);\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"UserName\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(256);\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"CreatorUserId\");\n\n                    b.HasIndex(\"DeleterUserId\");\n\n                    b.HasIndex(\"LastModifierUserId\");\n\n                    b.HasIndex(\"TenantId\", \"NormalizedEmailAddress\");\n\n                    b.HasIndex(\"TenantId\", \"NormalizedUserName\");\n\n                    b.ToTable(\"AbpUsers\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.DefaultQuery\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"DeleterUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"DeletionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"MainUsername\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"UsernamesInCrawlers\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"CreatorUserId\");\n\n                    b.HasIndex(\"DeleterUserId\");\n\n                    b.HasIndex(\"LastModifierUserId\");\n\n                    b.HasIndex(\"UserId\");\n\n                    b.ToTable(\"DefaultQueries\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.QueryCrawlerSummary\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"CrawlerName\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<bool>(\"IsVirtualJudge\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<long>(\"QuerySummaryId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int>(\"Solved\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<int>(\"Submission\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"QuerySummaryId\");\n\n                    b.ToTable(\"QueryCrawlerSummaries\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.QueryHistory\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<bool>(\"IsReliableSource\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<string>(\"MainUsername\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"UserId\");\n\n                    b.ToTable(\"QueryHistories\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.QuerySummary\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"GenerateTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long>(\"QueryHistoryId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int>(\"Solved\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<int>(\"Submission\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"SummaryWarnings\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"QueryHistoryId\")\n                        .IsUnique();\n\n                    b.ToTable(\"QuerySummaries\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.QueryWorkerHistory\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"CrawlerName\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"ErrorMessage\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<bool>(\"IsVirtualJudge\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<long>(\"QueryHistoryId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int>(\"Solved\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"SolvedList\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<int>(\"Submission\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"SubmissionsByCrawlerName\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"Username\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"QueryHistoryId\");\n\n                    b.ToTable(\"QueryWorkerHistories\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.UsernameInCrawler\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"FromCrawlerName\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<long>(\"QueryCrawlerSummaryId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Username\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"QueryCrawlerSummaryId\");\n\n                    b.ToTable(\"UsernameInCrawler\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.MultiTenancy.Tenant\", b =>\n                {\n                    b.Property<int>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"ConnectionString\")\n                        .HasColumnType(\"varchar(1024) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(1024);\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"DeleterUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"DeletionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<int?>(\"EditionId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<bool>(\"IsActive\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Name\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(128);\n\n                    b.Property<string>(\"TenancyName\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(64) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(64);\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"CreatorUserId\");\n\n                    b.HasIndex(\"DeleterUserId\");\n\n                    b.HasIndex(\"EditionId\");\n\n                    b.HasIndex(\"LastModifierUserId\");\n\n                    b.HasIndex(\"TenancyName\");\n\n                    b.ToTable(\"AbpTenants\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Settings.UserSettingAttribute\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"LastTimeZoneChangedTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"CreatorUserId\");\n\n                    b.HasIndex(\"LastModifierUserId\");\n\n                    b.HasIndex(\"UserId\");\n\n                    b.ToTable(\"UserSettingAttributes\");\n                });\n\n            modelBuilder.Entity(\"Abp.Application.Features.EditionFeatureSetting\", b =>\n                {\n                    b.HasBaseType(\"Abp.Application.Features.FeatureSetting\");\n\n                    b.Property<int>(\"EditionId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasIndex(\"EditionId\", \"Name\");\n\n                    b.ToTable(\"AbpFeatures\");\n\n                    b.HasDiscriminator().HasValue(\"EditionFeatureSetting\");\n                });\n\n            modelBuilder.Entity(\"Abp.MultiTenancy.TenantFeatureSetting\", b =>\n                {\n                    b.HasBaseType(\"Abp.Application.Features.FeatureSetting\");\n\n                    b.HasIndex(\"TenantId\", \"Name\");\n\n                    b.ToTable(\"AbpFeatures\");\n\n                    b.HasDiscriminator().HasValue(\"TenantFeatureSetting\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Roles.RolePermissionSetting\", b =>\n                {\n                    b.HasBaseType(\"Abp.Authorization.PermissionSetting\");\n\n                    b.Property<int>(\"RoleId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasIndex(\"RoleId\");\n\n                    b.ToTable(\"AbpPermissions\");\n\n                    b.HasDiscriminator().HasValue(\"RolePermissionSetting\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserPermissionSetting\", b =>\n                {\n                    b.HasBaseType(\"Abp.Authorization.PermissionSetting\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasIndex(\"UserId\");\n\n                    b.ToTable(\"AbpPermissions\");\n\n                    b.HasDiscriminator().HasValue(\"UserPermissionSetting\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Roles.RoleClaim\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Roles.Role\", null)\n                        .WithMany(\"Claims\")\n                        .HasForeignKey(\"RoleId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserClaim\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", null)\n                        .WithMany(\"Claims\")\n                        .HasForeignKey(\"UserId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserLogin\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", null)\n                        .WithMany(\"Logins\")\n                        .HasForeignKey(\"UserId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserRole\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", null)\n                        .WithMany(\"Roles\")\n                        .HasForeignKey(\"UserId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserToken\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", null)\n                        .WithMany(\"Tokens\")\n                        .HasForeignKey(\"UserId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.Configuration.Setting\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", null)\n                        .WithMany(\"Settings\")\n                        .HasForeignKey(\"UserId\");\n                });\n\n            modelBuilder.Entity(\"Abp.DynamicEntityParameters.DynamicParameterValue\", b =>\n                {\n                    b.HasOne(\"Abp.DynamicEntityParameters.DynamicParameter\", \"DynamicParameter\")\n                        .WithMany(\"DynamicParameterValues\")\n                        .HasForeignKey(\"DynamicParameterId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.DynamicEntityParameters.EntityDynamicParameter\", b =>\n                {\n                    b.HasOne(\"Abp.DynamicEntityParameters.DynamicParameter\", \"DynamicParameter\")\n                        .WithMany()\n                        .HasForeignKey(\"DynamicParameterId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.DynamicEntityParameters.EntityDynamicParameterValue\", b =>\n                {\n                    b.HasOne(\"Abp.DynamicEntityParameters.EntityDynamicParameter\", \"EntityDynamicParameter\")\n                        .WithMany()\n                        .HasForeignKey(\"EntityDynamicParameterId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.EntityHistory.EntityChange\", b =>\n                {\n                    b.HasOne(\"Abp.EntityHistory.EntityChangeSet\", null)\n                        .WithMany(\"EntityChanges\")\n                        .HasForeignKey(\"EntityChangeSetId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.EntityHistory.EntityPropertyChange\", b =>\n                {\n                    b.HasOne(\"Abp.EntityHistory.EntityChange\", null)\n                        .WithMany(\"PropertyChanges\")\n                        .HasForeignKey(\"EntityChangeId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.Organizations.OrganizationUnit\", b =>\n                {\n                    b.HasOne(\"Abp.Organizations.OrganizationUnit\", \"Parent\")\n                        .WithMany(\"Children\")\n                        .HasForeignKey(\"ParentId\");\n                });\n\n            modelBuilder.Entity(\"Abp.Webhooks.WebhookSendAttempt\", b =>\n                {\n                    b.HasOne(\"Abp.Webhooks.WebhookEvent\", \"WebhookEvent\")\n                        .WithMany()\n                        .HasForeignKey(\"WebhookEventId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Authorization.Roles.Role\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"CreatorUser\")\n                        .WithMany()\n                        .HasForeignKey(\"CreatorUserId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"DeleterUser\")\n                        .WithMany()\n                        .HasForeignKey(\"DeleterUserId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"LastModifierUser\")\n                        .WithMany()\n                        .HasForeignKey(\"LastModifierUserId\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Authorization.Users.User\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"CreatorUser\")\n                        .WithMany()\n                        .HasForeignKey(\"CreatorUserId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"DeleterUser\")\n                        .WithMany()\n                        .HasForeignKey(\"DeleterUserId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"LastModifierUser\")\n                        .WithMany()\n                        .HasForeignKey(\"LastModifierUserId\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.DefaultQuery\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"CreatorUser\")\n                        .WithMany()\n                        .HasForeignKey(\"CreatorUserId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"DeleterUser\")\n                        .WithMany()\n                        .HasForeignKey(\"DeleterUserId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"LastModifierUser\")\n                        .WithMany()\n                        .HasForeignKey(\"LastModifierUserId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"User\")\n                        .WithMany()\n                        .HasForeignKey(\"UserId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.QueryCrawlerSummary\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Crawlers.QuerySummary\", \"QuerySummary\")\n                        .WithMany(\"QueryCrawlerSummaries\")\n                        .HasForeignKey(\"QuerySummaryId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.QueryHistory\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"User\")\n                        .WithMany()\n                        .HasForeignKey(\"UserId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.QuerySummary\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Crawlers.QueryHistory\", \"QueryHistory\")\n                        .WithOne()\n                        .HasForeignKey(\"AcmStatisticsBackend.Crawlers.QuerySummary\", \"QueryHistoryId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.QueryWorkerHistory\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Crawlers.QueryHistory\", \"QueryHistory\")\n                        .WithMany(\"QueryWorkerHistories\")\n                        .HasForeignKey(\"QueryHistoryId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.UsernameInCrawler\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Crawlers.QueryCrawlerSummary\", \"QueryCrawlerSummary\")\n                        .WithMany(\"Usernames\")\n                        .HasForeignKey(\"QueryCrawlerSummaryId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.MultiTenancy.Tenant\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"CreatorUser\")\n                        .WithMany()\n                        .HasForeignKey(\"CreatorUserId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"DeleterUser\")\n                        .WithMany()\n                        .HasForeignKey(\"DeleterUserId\");\n\n                    b.HasOne(\"Abp.Application.Editions.Edition\", \"Edition\")\n                        .WithMany()\n                        .HasForeignKey(\"EditionId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"LastModifierUser\")\n                        .WithMany()\n                        .HasForeignKey(\"LastModifierUserId\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Settings.UserSettingAttribute\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"CreatorUser\")\n                        .WithMany()\n                        .HasForeignKey(\"CreatorUserId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"LastModifierUser\")\n                        .WithMany()\n                        .HasForeignKey(\"LastModifierUserId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"User\")\n                        .WithMany()\n                        .HasForeignKey(\"UserId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.Application.Features.EditionFeatureSetting\", b =>\n                {\n                    b.HasOne(\"Abp.Application.Editions.Edition\", \"Edition\")\n                        .WithMany()\n                        .HasForeignKey(\"EditionId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Roles.RolePermissionSetting\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Roles.Role\", null)\n                        .WithMany(\"Permissions\")\n                        .HasForeignKey(\"RoleId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserPermissionSetting\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", null)\n                        .WithMany(\"Permissions\")\n                        .HasForeignKey(\"UserId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n#pragma warning restore 612, 618\n        }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.EntityFrameworkCore/Migrations/20200604111842_AddSummary.cs",
    "content": "﻿using System;\nusing Microsoft.EntityFrameworkCore.Metadata;\nusing Microsoft.EntityFrameworkCore.Migrations;\n\nnamespace AcmStatisticsBackend.Migrations\n{\n    public partial class AddSummary : Migration\n    {\n        protected override void Up(MigrationBuilder migrationBuilder)\n        {\n            migrationBuilder.DropColumn(\n                name: \"HasSolvedList\",\n                table: \"QueryWorkerHistories\");\n\n            migrationBuilder.DropColumn(\n                name: \"Solved\",\n                table: \"QueryHistories\");\n\n            migrationBuilder.DropColumn(\n                name: \"Submission\",\n                table: \"QueryHistories\");\n\n            migrationBuilder.AlterColumn<string>(\n                name: \"SubmissionsByCrawlerName\",\n                table: \"QueryWorkerHistories\",\n                nullable: true,\n                oldClrType: typeof(string),\n                oldType: \"longtext CHARACTER SET utf8mb4\");\n\n            migrationBuilder.AlterColumn<string>(\n                name: \"SolvedList\",\n                table: \"QueryWorkerHistories\",\n                nullable: true,\n                oldClrType: typeof(string),\n                oldType: \"longtext CHARACTER SET utf8mb4\");\n\n            migrationBuilder.AddColumn<bool>(\n                name: \"IsReliableSource\",\n                table: \"QueryHistories\",\n                nullable: false,\n                defaultValue: false);\n\n            migrationBuilder.CreateTable(\n                name: \"QuerySummaries\",\n                columns: table => new\n                {\n                    Id = table.Column<long>(nullable: false)\n                        .Annotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn),\n                    QueryHistoryId = table.Column<long>(nullable: false),\n                    GenerateTime = table.Column<DateTime>(nullable: false),\n                    SummaryWarnings = table.Column<string>(nullable: false),\n                    Submission = table.Column<int>(nullable: false),\n                    Solved = table.Column<int>(nullable: false),\n                },\n                constraints: table =>\n                {\n                    table.PrimaryKey(\"PK_QuerySummaries\", x => x.Id);\n                    table.ForeignKey(\n                        name: \"FK_QuerySummaries_QueryHistories_QueryHistoryId\",\n                        column: x => x.QueryHistoryId,\n                        principalTable: \"QueryHistories\",\n                        principalColumn: \"Id\",\n                        onDelete: ReferentialAction.Cascade);\n                });\n\n            migrationBuilder.CreateTable(\n                name: \"QueryCrawlerSummaries\",\n                columns: table => new\n                {\n                    Id = table.Column<long>(nullable: false)\n                        .Annotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn),\n                    QuerySummaryId = table.Column<long>(nullable: false),\n                    CrawlerName = table.Column<string>(nullable: false),\n                    Submission = table.Column<int>(nullable: false),\n                    Solved = table.Column<int>(nullable: false),\n                    IsVirtualJudge = table.Column<bool>(nullable: false),\n                },\n                constraints: table =>\n                {\n                    table.PrimaryKey(\"PK_QueryCrawlerSummaries\", x => x.Id);\n                    table.ForeignKey(\n                        name: \"FK_QueryCrawlerSummaries_QuerySummaries_QuerySummaryId\",\n                        column: x => x.QuerySummaryId,\n                        principalTable: \"QuerySummaries\",\n                        principalColumn: \"Id\",\n                        onDelete: ReferentialAction.Cascade);\n                });\n\n            migrationBuilder.CreateTable(\n                name: \"UsernameInCrawler\",\n                columns: table => new\n                {\n                    Id = table.Column<long>(nullable: false)\n                        .Annotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn),\n                    QueryCrawlerSummaryId = table.Column<long>(nullable: false),\n                    FromCrawlerName = table.Column<string>(nullable: true),\n                    Username = table.Column<string>(nullable: false),\n                },\n                constraints: table =>\n                {\n                    table.PrimaryKey(\"PK_UsernameInCrawler\", x => x.Id);\n                    table.ForeignKey(\n                        name: \"FK_UsernameInCrawler_QueryCrawlerSummaries_QueryCrawlerSummaryId\",\n                        column: x => x.QueryCrawlerSummaryId,\n                        principalTable: \"QueryCrawlerSummaries\",\n                        principalColumn: \"Id\",\n                        onDelete: ReferentialAction.Cascade);\n                });\n\n            migrationBuilder.CreateIndex(\n                name: \"IX_QueryCrawlerSummaries_QuerySummaryId\",\n                table: \"QueryCrawlerSummaries\",\n                column: \"QuerySummaryId\");\n\n            migrationBuilder.CreateIndex(\n                name: \"IX_QuerySummaries_QueryHistoryId\",\n                table: \"QuerySummaries\",\n                column: \"QueryHistoryId\",\n                unique: true);\n\n            migrationBuilder.CreateIndex(\n                name: \"IX_UsernameInCrawler_QueryCrawlerSummaryId\",\n                table: \"UsernameInCrawler\",\n                column: \"QueryCrawlerSummaryId\");\n        }\n\n        protected override void Down(MigrationBuilder migrationBuilder)\n        {\n            migrationBuilder.DropTable(\n                name: \"UsernameInCrawler\");\n\n            migrationBuilder.DropTable(\n                name: \"QueryCrawlerSummaries\");\n\n            migrationBuilder.DropTable(\n                name: \"QuerySummaries\");\n\n            migrationBuilder.DropColumn(\n                name: \"IsReliableSource\",\n                table: \"QueryHistories\");\n\n            migrationBuilder.AlterColumn<string>(\n                name: \"SubmissionsByCrawlerName\",\n                table: \"QueryWorkerHistories\",\n                type: \"longtext CHARACTER SET utf8mb4\",\n                nullable: false,\n                oldClrType: typeof(string),\n                oldNullable: true);\n\n            migrationBuilder.AlterColumn<string>(\n                name: \"SolvedList\",\n                table: \"QueryWorkerHistories\",\n                type: \"longtext CHARACTER SET utf8mb4\",\n                nullable: false,\n                oldClrType: typeof(string),\n                oldNullable: true);\n\n            migrationBuilder.AddColumn<bool>(\n                name: \"HasSolvedList\",\n                table: \"QueryWorkerHistories\",\n                type: \"tinyint(1)\",\n                nullable: false,\n                defaultValue: false);\n\n            migrationBuilder.AddColumn<int>(\n                name: \"Solved\",\n                table: \"QueryHistories\",\n                type: \"int\",\n                nullable: false,\n                defaultValue: 0);\n\n            migrationBuilder.AddColumn<int>(\n                name: \"Submission\",\n                table: \"QueryHistories\",\n                type: \"int\",\n                nullable: false,\n                defaultValue: 0);\n        }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.EntityFrameworkCore/Migrations/20210429095008_UpgradeAbp.Designer.cs",
    "content": "﻿// <auto-generated />\nusing System;\nusing AcmStatisticsBackend.EntityFrameworkCore;\nusing Microsoft.EntityFrameworkCore;\nusing Microsoft.EntityFrameworkCore.Infrastructure;\nusing Microsoft.EntityFrameworkCore.Migrations;\nusing Microsoft.EntityFrameworkCore.Storage.ValueConversion;\n\nnamespace AcmStatisticsBackend.Migrations\n{\n    [DbContext(typeof(AcmStatisticsBackendDbContext))]\n    [Migration(\"20210429095008_UpgradeAbp\")]\n    partial class UpgradeAbp\n    {\n        protected override void BuildTargetModel(ModelBuilder modelBuilder)\n        {\n#pragma warning disable 612, 618\n            modelBuilder\n                .HasAnnotation(\"Relational:MaxIdentifierLength\", 64)\n                .HasAnnotation(\"ProductVersion\", \"5.0.5\");\n\n            modelBuilder.Entity(\"Abp.Application.Editions.Edition\", b =>\n                {\n                    b.Property<int>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"int\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"DeleterUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"DeletionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"DisplayName\")\n                        .IsRequired()\n                        .HasMaxLength(64)\n                        .HasColumnType(\"varchar(64) CHARACTER SET utf8mb4\");\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Name\")\n                        .IsRequired()\n                        .HasMaxLength(32)\n                        .HasColumnType(\"varchar(32) CHARACTER SET utf8mb4\");\n\n                    b.HasKey(\"Id\");\n\n                    b.ToTable(\"AbpEditions\");\n                });\n\n            modelBuilder.Entity(\"Abp.Application.Features.FeatureSetting\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Discriminator\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"Name\")\n                        .IsRequired()\n                        .HasMaxLength(128)\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"Value\")\n                        .IsRequired()\n                        .HasMaxLength(2000)\n                        .HasColumnType(\"varchar(2000) CHARACTER SET utf8mb4\");\n\n                    b.HasKey(\"Id\");\n\n                    b.ToTable(\"AbpFeatures\");\n\n                    b.HasDiscriminator<string>(\"Discriminator\").HasValue(\"FeatureSetting\");\n                });\n\n            modelBuilder.Entity(\"Abp.Auditing.AuditLog\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"BrowserInfo\")\n                        .HasMaxLength(512)\n                        .HasColumnType(\"varchar(512) CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"ClientIpAddress\")\n                        .HasMaxLength(64)\n                        .HasColumnType(\"varchar(64) CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"ClientName\")\n                        .HasMaxLength(128)\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"CustomData\")\n                        .HasMaxLength(2000)\n                        .HasColumnType(\"varchar(2000) CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"Exception\")\n                        .HasMaxLength(2000)\n                        .HasColumnType(\"varchar(2000) CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"ExceptionMessage\")\n                        .HasMaxLength(1024)\n                        .HasColumnType(\"varchar(1024) CHARACTER SET utf8mb4\");\n\n                    b.Property<int>(\"ExecutionDuration\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<DateTime>(\"ExecutionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<int?>(\"ImpersonatorTenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long?>(\"ImpersonatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"MethodName\")\n                        .HasMaxLength(256)\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"Parameters\")\n                        .HasMaxLength(1024)\n                        .HasColumnType(\"varchar(1024) CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"ReturnValue\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"ServiceName\")\n                        .HasMaxLength(256)\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long?>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"TenantId\", \"ExecutionDuration\");\n\n                    b.HasIndex(\"TenantId\", \"ExecutionTime\");\n\n                    b.HasIndex(\"TenantId\", \"UserId\");\n\n                    b.ToTable(\"AbpAuditLogs\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.PermissionSetting\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Discriminator\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<bool>(\"IsGranted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<string>(\"Name\")\n                        .IsRequired()\n                        .HasMaxLength(128)\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"TenantId\", \"Name\");\n\n                    b.ToTable(\"AbpPermissions\");\n\n                    b.HasDiscriminator<string>(\"Discriminator\").HasValue(\"PermissionSetting\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Roles.RoleClaim\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"ClaimType\")\n                        .HasMaxLength(256)\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"ClaimValue\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int>(\"RoleId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"RoleId\");\n\n                    b.HasIndex(\"TenantId\", \"ClaimType\");\n\n                    b.ToTable(\"AbpRoleClaims\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserAccount\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"DeleterUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"DeletionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"EmailAddress\")\n                        .HasMaxLength(256)\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\");\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"UserLinkId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"UserName\")\n                        .HasMaxLength(256)\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"EmailAddress\");\n\n                    b.HasIndex(\"UserName\");\n\n                    b.HasIndex(\"TenantId\", \"EmailAddress\");\n\n                    b.HasIndex(\"TenantId\", \"UserId\");\n\n                    b.HasIndex(\"TenantId\", \"UserName\");\n\n                    b.ToTable(\"AbpUserAccounts\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserClaim\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"ClaimType\")\n                        .HasMaxLength(256)\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"ClaimValue\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"UserId\");\n\n                    b.HasIndex(\"TenantId\", \"ClaimType\");\n\n                    b.ToTable(\"AbpUserClaims\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserLogin\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"LoginProvider\")\n                        .IsRequired()\n                        .HasMaxLength(128)\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"ProviderKey\")\n                        .IsRequired()\n                        .HasMaxLength(256)\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"UserId\");\n\n                    b.HasIndex(\"TenantId\", \"UserId\");\n\n                    b.HasIndex(\"TenantId\", \"LoginProvider\", \"ProviderKey\");\n\n                    b.ToTable(\"AbpUserLogins\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserLoginAttempt\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"BrowserInfo\")\n                        .HasMaxLength(512)\n                        .HasColumnType(\"varchar(512) CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"ClientIpAddress\")\n                        .HasMaxLength(64)\n                        .HasColumnType(\"varchar(64) CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"ClientName\")\n                        .HasMaxLength(128)\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<byte>(\"Result\")\n                        .HasColumnType(\"tinyint unsigned\");\n\n                    b.Property<string>(\"TenancyName\")\n                        .HasMaxLength(64)\n                        .HasColumnType(\"varchar(64) CHARACTER SET utf8mb4\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long?>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"UserNameOrEmailAddress\")\n                        .HasMaxLength(256)\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"UserId\", \"TenantId\");\n\n                    b.HasIndex(\"TenancyName\", \"UserNameOrEmailAddress\", \"Result\");\n\n                    b.ToTable(\"AbpUserLoginAttempts\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserOrganizationUnit\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<long>(\"OrganizationUnitId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"TenantId\", \"OrganizationUnitId\");\n\n                    b.HasIndex(\"TenantId\", \"UserId\");\n\n                    b.ToTable(\"AbpUserOrganizationUnits\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserRole\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int>(\"RoleId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"UserId\");\n\n                    b.HasIndex(\"TenantId\", \"RoleId\");\n\n                    b.HasIndex(\"TenantId\", \"UserId\");\n\n                    b.ToTable(\"AbpUserRoles\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserToken\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"ExpireDate\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"LoginProvider\")\n                        .HasMaxLength(128)\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"Name\")\n                        .HasMaxLength(128)\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Value\")\n                        .HasMaxLength(512)\n                        .HasColumnType(\"varchar(512) CHARACTER SET utf8mb4\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"UserId\");\n\n                    b.HasIndex(\"TenantId\", \"UserId\");\n\n                    b.ToTable(\"AbpUserTokens\");\n                });\n\n            modelBuilder.Entity(\"Abp.BackgroundJobs.BackgroundJobInfo\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<bool>(\"IsAbandoned\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<string>(\"JobArgs\")\n                        .IsRequired()\n                        .HasMaxLength(1048576)\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"JobType\")\n                        .IsRequired()\n                        .HasMaxLength(512)\n                        .HasColumnType(\"varchar(512) CHARACTER SET utf8mb4\");\n\n                    b.Property<DateTime?>(\"LastTryTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<DateTime>(\"NextTryTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<byte>(\"Priority\")\n                        .HasColumnType(\"tinyint unsigned\");\n\n                    b.Property<short>(\"TryCount\")\n                        .HasColumnType(\"smallint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"IsAbandoned\", \"NextTryTime\");\n\n                    b.ToTable(\"AbpBackgroundJobs\");\n                });\n\n            modelBuilder.Entity(\"Abp.Configuration.Setting\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Name\")\n                        .IsRequired()\n                        .HasMaxLength(256)\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long?>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Value\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"UserId\");\n\n                    b.HasIndex(\"TenantId\", \"Name\", \"UserId\")\n                        .IsUnique();\n\n                    b.ToTable(\"AbpSettings\");\n                });\n\n            modelBuilder.Entity(\"Abp.DynamicEntityProperties.DynamicEntityProperty\", b =>\n                {\n                    b.Property<int>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"int\");\n\n                    b.Property<int>(\"DynamicPropertyId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"EntityFullName\")\n                        .HasMaxLength(256)\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"DynamicPropertyId\");\n\n                    b.HasIndex(\"EntityFullName\", \"DynamicPropertyId\", \"TenantId\")\n                        .IsUnique();\n\n                    b.ToTable(\"AbpDynamicEntityProperties\");\n                });\n\n            modelBuilder.Entity(\"Abp.DynamicEntityProperties.DynamicEntityPropertyValue\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int>(\"DynamicEntityPropertyId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"EntityId\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"Value\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"DynamicEntityPropertyId\");\n\n                    b.ToTable(\"AbpDynamicEntityPropertyValues\");\n                });\n\n            modelBuilder.Entity(\"Abp.DynamicEntityProperties.DynamicProperty\", b =>\n                {\n                    b.Property<int>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"DisplayName\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"InputType\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"Permission\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"PropertyName\")\n                        .HasMaxLength(256)\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"PropertyName\", \"TenantId\")\n                        .IsUnique();\n\n                    b.ToTable(\"AbpDynamicProperties\");\n                });\n\n            modelBuilder.Entity(\"Abp.DynamicEntityProperties.DynamicPropertyValue\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int>(\"DynamicPropertyId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"Value\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"DynamicPropertyId\");\n\n                    b.ToTable(\"AbpDynamicPropertyValues\");\n                });\n\n            modelBuilder.Entity(\"Abp.EntityHistory.EntityChange\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"ChangeTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<byte>(\"ChangeType\")\n                        .HasColumnType(\"tinyint unsigned\");\n\n                    b.Property<long>(\"EntityChangeSetId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"EntityId\")\n                        .HasMaxLength(48)\n                        .HasColumnType(\"varchar(48) CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"EntityTypeFullName\")\n                        .HasMaxLength(192)\n                        .HasColumnType(\"varchar(192) CHARACTER SET utf8mb4\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"EntityChangeSetId\");\n\n                    b.HasIndex(\"EntityTypeFullName\", \"EntityId\");\n\n                    b.ToTable(\"AbpEntityChanges\");\n                });\n\n            modelBuilder.Entity(\"Abp.EntityHistory.EntityChangeSet\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"BrowserInfo\")\n                        .HasMaxLength(512)\n                        .HasColumnType(\"varchar(512) CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"ClientIpAddress\")\n                        .HasMaxLength(64)\n                        .HasColumnType(\"varchar(64) CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"ClientName\")\n                        .HasMaxLength(128)\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"ExtensionData\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<int?>(\"ImpersonatorTenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long?>(\"ImpersonatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Reason\")\n                        .HasMaxLength(256)\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long?>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"TenantId\", \"CreationTime\");\n\n                    b.HasIndex(\"TenantId\", \"Reason\");\n\n                    b.HasIndex(\"TenantId\", \"UserId\");\n\n                    b.ToTable(\"AbpEntityChangeSets\");\n                });\n\n            modelBuilder.Entity(\"Abp.EntityHistory.EntityPropertyChange\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long>(\"EntityChangeId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"NewValue\")\n                        .HasMaxLength(512)\n                        .HasColumnType(\"varchar(512) CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"NewValueHash\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"OriginalValue\")\n                        .HasMaxLength(512)\n                        .HasColumnType(\"varchar(512) CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"OriginalValueHash\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"PropertyName\")\n                        .HasMaxLength(96)\n                        .HasColumnType(\"varchar(96) CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"PropertyTypeFullName\")\n                        .HasMaxLength(192)\n                        .HasColumnType(\"varchar(192) CHARACTER SET utf8mb4\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"EntityChangeId\");\n\n                    b.ToTable(\"AbpEntityPropertyChanges\");\n                });\n\n            modelBuilder.Entity(\"Abp.Localization.ApplicationLanguage\", b =>\n                {\n                    b.Property<int>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"int\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"DeleterUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"DeletionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"DisplayName\")\n                        .IsRequired()\n                        .HasMaxLength(64)\n                        .HasColumnType(\"varchar(64) CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"Icon\")\n                        .HasMaxLength(128)\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\");\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<bool>(\"IsDisabled\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Name\")\n                        .IsRequired()\n                        .HasMaxLength(128)\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"TenantId\", \"Name\");\n\n                    b.ToTable(\"AbpLanguages\");\n                });\n\n            modelBuilder.Entity(\"Abp.Localization.ApplicationLanguageText\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Key\")\n                        .IsRequired()\n                        .HasMaxLength(256)\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"LanguageName\")\n                        .IsRequired()\n                        .HasMaxLength(128)\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Source\")\n                        .IsRequired()\n                        .HasMaxLength(128)\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"Value\")\n                        .IsRequired()\n                        .HasMaxLength(67108864)\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"TenantId\", \"Source\", \"LanguageName\", \"Key\");\n\n                    b.ToTable(\"AbpLanguageTexts\");\n                });\n\n            modelBuilder.Entity(\"Abp.Notifications.NotificationInfo\", b =>\n                {\n                    b.Property<Guid>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"char(36)\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Data\")\n                        .HasMaxLength(1048576)\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"DataTypeName\")\n                        .HasMaxLength(512)\n                        .HasColumnType(\"varchar(512) CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"EntityId\")\n                        .HasMaxLength(96)\n                        .HasColumnType(\"varchar(96) CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"EntityTypeAssemblyQualifiedName\")\n                        .HasMaxLength(512)\n                        .HasColumnType(\"varchar(512) CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"EntityTypeName\")\n                        .HasMaxLength(250)\n                        .HasColumnType(\"varchar(250) CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"ExcludedUserIds\")\n                        .HasMaxLength(131072)\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"NotificationName\")\n                        .IsRequired()\n                        .HasMaxLength(96)\n                        .HasColumnType(\"varchar(96) CHARACTER SET utf8mb4\");\n\n                    b.Property<byte>(\"Severity\")\n                        .HasColumnType(\"tinyint unsigned\");\n\n                    b.Property<string>(\"TenantIds\")\n                        .HasMaxLength(131072)\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"UserIds\")\n                        .HasMaxLength(131072)\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.HasKey(\"Id\");\n\n                    b.ToTable(\"AbpNotifications\");\n                });\n\n            modelBuilder.Entity(\"Abp.Notifications.NotificationSubscriptionInfo\", b =>\n                {\n                    b.Property<Guid>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"char(36)\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"EntityId\")\n                        .HasMaxLength(96)\n                        .HasColumnType(\"varchar(96) CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"EntityTypeAssemblyQualifiedName\")\n                        .HasMaxLength(512)\n                        .HasColumnType(\"varchar(512) CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"EntityTypeName\")\n                        .HasMaxLength(250)\n                        .HasColumnType(\"varchar(250) CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"NotificationName\")\n                        .HasMaxLength(96)\n                        .HasColumnType(\"varchar(96) CHARACTER SET utf8mb4\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"NotificationName\", \"EntityTypeName\", \"EntityId\", \"UserId\");\n\n                    b.HasIndex(\"TenantId\", \"NotificationName\", \"EntityTypeName\", \"EntityId\", \"UserId\");\n\n                    b.ToTable(\"AbpNotificationSubscriptions\");\n                });\n\n            modelBuilder.Entity(\"Abp.Notifications.TenantNotificationInfo\", b =>\n                {\n                    b.Property<Guid>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"char(36)\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Data\")\n                        .HasMaxLength(1048576)\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"DataTypeName\")\n                        .HasMaxLength(512)\n                        .HasColumnType(\"varchar(512) CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"EntityId\")\n                        .HasMaxLength(96)\n                        .HasColumnType(\"varchar(96) CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"EntityTypeAssemblyQualifiedName\")\n                        .HasMaxLength(512)\n                        .HasColumnType(\"varchar(512) CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"EntityTypeName\")\n                        .HasMaxLength(250)\n                        .HasColumnType(\"varchar(250) CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"NotificationName\")\n                        .IsRequired()\n                        .HasMaxLength(96)\n                        .HasColumnType(\"varchar(96) CHARACTER SET utf8mb4\");\n\n                    b.Property<byte>(\"Severity\")\n                        .HasColumnType(\"tinyint unsigned\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"TenantId\");\n\n                    b.ToTable(\"AbpTenantNotifications\");\n                });\n\n            modelBuilder.Entity(\"Abp.Notifications.UserNotificationInfo\", b =>\n                {\n                    b.Property<Guid>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"char(36)\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<int>(\"State\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<Guid>(\"TenantNotificationId\")\n                        .HasColumnType(\"char(36)\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"UserId\", \"State\", \"CreationTime\");\n\n                    b.ToTable(\"AbpUserNotifications\");\n                });\n\n            modelBuilder.Entity(\"Abp.Organizations.OrganizationUnit\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Code\")\n                        .IsRequired()\n                        .HasMaxLength(95)\n                        .HasColumnType(\"varchar(95) CHARACTER SET utf8mb4\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"DeleterUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"DeletionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"DisplayName\")\n                        .IsRequired()\n                        .HasMaxLength(128)\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\");\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"ParentId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"ParentId\");\n\n                    b.HasIndex(\"TenantId\", \"Code\");\n\n                    b.ToTable(\"AbpOrganizationUnits\");\n                });\n\n            modelBuilder.Entity(\"Abp.Organizations.OrganizationUnitRole\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<long>(\"OrganizationUnitId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int>(\"RoleId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"TenantId\", \"OrganizationUnitId\");\n\n                    b.HasIndex(\"TenantId\", \"RoleId\");\n\n                    b.ToTable(\"AbpOrganizationUnitRoles\");\n                });\n\n            modelBuilder.Entity(\"Abp.Webhooks.WebhookEvent\", b =>\n                {\n                    b.Property<Guid>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"char(36)\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"Data\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<DateTime?>(\"DeletionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"WebhookName\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.HasKey(\"Id\");\n\n                    b.ToTable(\"AbpWebhookEvents\");\n                });\n\n            modelBuilder.Entity(\"Abp.Webhooks.WebhookSendAttempt\", b =>\n                {\n                    b.Property<Guid>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"char(36)\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"Response\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<int?>(\"ResponseStatusCode\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<Guid>(\"WebhookEventId\")\n                        .HasColumnType(\"char(36)\");\n\n                    b.Property<Guid>(\"WebhookSubscriptionId\")\n                        .HasColumnType(\"char(36)\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"WebhookEventId\");\n\n                    b.ToTable(\"AbpWebhookSendAttempts\");\n                });\n\n            modelBuilder.Entity(\"Abp.Webhooks.WebhookSubscriptionInfo\", b =>\n                {\n                    b.Property<Guid>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"char(36)\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Headers\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<bool>(\"IsActive\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<string>(\"Secret\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"WebhookUri\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"Webhooks\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.HasKey(\"Id\");\n\n                    b.ToTable(\"AbpWebhookSubscriptions\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Authorization.Roles.Role\", b =>\n                {\n                    b.Property<int>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"ConcurrencyStamp\")\n                        .IsConcurrencyToken()\n                        .HasMaxLength(128)\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"DeleterUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"DeletionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"Description\")\n                        .HasMaxLength(5000)\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"DisplayName\")\n                        .IsRequired()\n                        .HasMaxLength(64)\n                        .HasColumnType(\"varchar(64) CHARACTER SET utf8mb4\");\n\n                    b.Property<bool>(\"IsDefault\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<bool>(\"IsStatic\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Name\")\n                        .IsRequired()\n                        .HasMaxLength(32)\n                        .HasColumnType(\"varchar(32) CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"NormalizedName\")\n                        .IsRequired()\n                        .HasMaxLength(32)\n                        .HasColumnType(\"varchar(32) CHARACTER SET utf8mb4\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"CreatorUserId\");\n\n                    b.HasIndex(\"DeleterUserId\");\n\n                    b.HasIndex(\"LastModifierUserId\");\n\n                    b.HasIndex(\"TenantId\", \"NormalizedName\");\n\n                    b.ToTable(\"AbpRoles\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Authorization.Users.User\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int>(\"AccessFailedCount\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"AuthenticationSource\")\n                        .HasMaxLength(64)\n                        .HasColumnType(\"varchar(64) CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"ConcurrencyStamp\")\n                        .IsConcurrencyToken()\n                        .HasMaxLength(128)\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"DeleterUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"DeletionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"EmailAddress\")\n                        .IsRequired()\n                        .HasMaxLength(256)\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"EmailConfirmationCode\")\n                        .HasMaxLength(328)\n                        .HasColumnType(\"varchar(328) CHARACTER SET utf8mb4\");\n\n                    b.Property<bool>(\"IsActive\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<bool>(\"IsEmailConfirmed\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<bool>(\"IsLockoutEnabled\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<bool>(\"IsPhoneNumberConfirmed\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<bool>(\"IsTwoFactorEnabled\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"LockoutEndDateUtc\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"Name\")\n                        .IsRequired()\n                        .HasMaxLength(64)\n                        .HasColumnType(\"varchar(64) CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"NormalizedEmailAddress\")\n                        .IsRequired()\n                        .HasMaxLength(256)\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"NormalizedUserName\")\n                        .IsRequired()\n                        .HasMaxLength(256)\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"Password\")\n                        .IsRequired()\n                        .HasMaxLength(128)\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"PasswordResetCode\")\n                        .HasMaxLength(328)\n                        .HasColumnType(\"varchar(328) CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"PhoneNumber\")\n                        .HasMaxLength(32)\n                        .HasColumnType(\"varchar(32) CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"SecurityStamp\")\n                        .HasMaxLength(128)\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"Surname\")\n                        .IsRequired()\n                        .HasMaxLength(64)\n                        .HasColumnType(\"varchar(64) CHARACTER SET utf8mb4\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"UserName\")\n                        .IsRequired()\n                        .HasMaxLength(256)\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"CreatorUserId\");\n\n                    b.HasIndex(\"DeleterUserId\");\n\n                    b.HasIndex(\"LastModifierUserId\");\n\n                    b.HasIndex(\"TenantId\", \"NormalizedEmailAddress\");\n\n                    b.HasIndex(\"TenantId\", \"NormalizedUserName\");\n\n                    b.ToTable(\"AbpUsers\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.DefaultQuery\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"DeleterUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"DeletionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"MainUsername\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"UsernamesInCrawlers\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"CreatorUserId\");\n\n                    b.HasIndex(\"DeleterUserId\");\n\n                    b.HasIndex(\"LastModifierUserId\");\n\n                    b.HasIndex(\"UserId\");\n\n                    b.ToTable(\"DefaultQueries\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.QueryCrawlerSummary\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"CrawlerName\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<bool>(\"IsVirtualJudge\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<long>(\"QuerySummaryId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int>(\"Solved\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<int>(\"Submission\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"QuerySummaryId\");\n\n                    b.ToTable(\"QueryCrawlerSummaries\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.QueryHistory\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<bool>(\"IsReliableSource\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<string>(\"MainUsername\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"UserId\");\n\n                    b.ToTable(\"QueryHistories\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.QuerySummary\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"GenerateTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long>(\"QueryHistoryId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int>(\"Solved\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<int>(\"Submission\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"SummaryWarnings\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"QueryHistoryId\")\n                        .IsUnique();\n\n                    b.ToTable(\"QuerySummaries\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.QueryWorkerHistory\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"CrawlerName\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"ErrorMessage\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<bool>(\"IsVirtualJudge\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<long>(\"QueryHistoryId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int>(\"Solved\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"SolvedList\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<int>(\"Submission\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"SubmissionsByCrawlerName\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"Username\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"QueryHistoryId\");\n\n                    b.ToTable(\"QueryWorkerHistories\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.UsernameInCrawler\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"FromCrawlerName\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<long>(\"QueryCrawlerSummaryId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Username\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"QueryCrawlerSummaryId\");\n\n                    b.ToTable(\"UsernameInCrawler\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.MultiTenancy.Tenant\", b =>\n                {\n                    b.Property<int>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"ConnectionString\")\n                        .HasMaxLength(1024)\n                        .HasColumnType(\"varchar(1024) CHARACTER SET utf8mb4\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"DeleterUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"DeletionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<int?>(\"EditionId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<bool>(\"IsActive\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Name\")\n                        .IsRequired()\n                        .HasMaxLength(128)\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"TenancyName\")\n                        .IsRequired()\n                        .HasMaxLength(64)\n                        .HasColumnType(\"varchar(64) CHARACTER SET utf8mb4\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"CreatorUserId\");\n\n                    b.HasIndex(\"DeleterUserId\");\n\n                    b.HasIndex(\"EditionId\");\n\n                    b.HasIndex(\"LastModifierUserId\");\n\n                    b.HasIndex(\"TenancyName\");\n\n                    b.ToTable(\"AbpTenants\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Settings.UserSettingAttribute\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"LastTimeZoneChangedTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"CreatorUserId\");\n\n                    b.HasIndex(\"LastModifierUserId\");\n\n                    b.HasIndex(\"UserId\");\n\n                    b.ToTable(\"UserSettingAttributes\");\n                });\n\n            modelBuilder.Entity(\"Abp.Application.Features.EditionFeatureSetting\", b =>\n                {\n                    b.HasBaseType(\"Abp.Application.Features.FeatureSetting\");\n\n                    b.Property<int>(\"EditionId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasIndex(\"EditionId\", \"Name\");\n\n                    b.ToTable(\"AbpFeatures\");\n\n                    b.HasDiscriminator().HasValue(\"EditionFeatureSetting\");\n                });\n\n            modelBuilder.Entity(\"Abp.MultiTenancy.TenantFeatureSetting\", b =>\n                {\n                    b.HasBaseType(\"Abp.Application.Features.FeatureSetting\");\n\n                    b.HasIndex(\"TenantId\", \"Name\");\n\n                    b.ToTable(\"AbpFeatures\");\n\n                    b.HasDiscriminator().HasValue(\"TenantFeatureSetting\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Roles.RolePermissionSetting\", b =>\n                {\n                    b.HasBaseType(\"Abp.Authorization.PermissionSetting\");\n\n                    b.Property<int>(\"RoleId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasIndex(\"RoleId\");\n\n                    b.ToTable(\"AbpPermissions\");\n\n                    b.HasDiscriminator().HasValue(\"RolePermissionSetting\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserPermissionSetting\", b =>\n                {\n                    b.HasBaseType(\"Abp.Authorization.PermissionSetting\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasIndex(\"UserId\");\n\n                    b.ToTable(\"AbpPermissions\");\n\n                    b.HasDiscriminator().HasValue(\"UserPermissionSetting\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Roles.RoleClaim\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Roles.Role\", null)\n                        .WithMany(\"Claims\")\n                        .HasForeignKey(\"RoleId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserClaim\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", null)\n                        .WithMany(\"Claims\")\n                        .HasForeignKey(\"UserId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserLogin\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", null)\n                        .WithMany(\"Logins\")\n                        .HasForeignKey(\"UserId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserRole\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", null)\n                        .WithMany(\"Roles\")\n                        .HasForeignKey(\"UserId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserToken\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", null)\n                        .WithMany(\"Tokens\")\n                        .HasForeignKey(\"UserId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.Configuration.Setting\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", null)\n                        .WithMany(\"Settings\")\n                        .HasForeignKey(\"UserId\");\n                });\n\n            modelBuilder.Entity(\"Abp.DynamicEntityProperties.DynamicEntityProperty\", b =>\n                {\n                    b.HasOne(\"Abp.DynamicEntityProperties.DynamicProperty\", \"DynamicProperty\")\n                        .WithMany()\n                        .HasForeignKey(\"DynamicPropertyId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n\n                    b.Navigation(\"DynamicProperty\");\n                });\n\n            modelBuilder.Entity(\"Abp.DynamicEntityProperties.DynamicEntityPropertyValue\", b =>\n                {\n                    b.HasOne(\"Abp.DynamicEntityProperties.DynamicEntityProperty\", \"DynamicEntityProperty\")\n                        .WithMany()\n                        .HasForeignKey(\"DynamicEntityPropertyId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n\n                    b.Navigation(\"DynamicEntityProperty\");\n                });\n\n            modelBuilder.Entity(\"Abp.DynamicEntityProperties.DynamicPropertyValue\", b =>\n                {\n                    b.HasOne(\"Abp.DynamicEntityProperties.DynamicProperty\", \"DynamicProperty\")\n                        .WithMany(\"DynamicPropertyValues\")\n                        .HasForeignKey(\"DynamicPropertyId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n\n                    b.Navigation(\"DynamicProperty\");\n                });\n\n            modelBuilder.Entity(\"Abp.EntityHistory.EntityChange\", b =>\n                {\n                    b.HasOne(\"Abp.EntityHistory.EntityChangeSet\", null)\n                        .WithMany(\"EntityChanges\")\n                        .HasForeignKey(\"EntityChangeSetId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.EntityHistory.EntityPropertyChange\", b =>\n                {\n                    b.HasOne(\"Abp.EntityHistory.EntityChange\", null)\n                        .WithMany(\"PropertyChanges\")\n                        .HasForeignKey(\"EntityChangeId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.Organizations.OrganizationUnit\", b =>\n                {\n                    b.HasOne(\"Abp.Organizations.OrganizationUnit\", \"Parent\")\n                        .WithMany(\"Children\")\n                        .HasForeignKey(\"ParentId\");\n\n                    b.Navigation(\"Parent\");\n                });\n\n            modelBuilder.Entity(\"Abp.Webhooks.WebhookSendAttempt\", b =>\n                {\n                    b.HasOne(\"Abp.Webhooks.WebhookEvent\", \"WebhookEvent\")\n                        .WithMany()\n                        .HasForeignKey(\"WebhookEventId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n\n                    b.Navigation(\"WebhookEvent\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Authorization.Roles.Role\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"CreatorUser\")\n                        .WithMany()\n                        .HasForeignKey(\"CreatorUserId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"DeleterUser\")\n                        .WithMany()\n                        .HasForeignKey(\"DeleterUserId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"LastModifierUser\")\n                        .WithMany()\n                        .HasForeignKey(\"LastModifierUserId\");\n\n                    b.Navigation(\"CreatorUser\");\n\n                    b.Navigation(\"DeleterUser\");\n\n                    b.Navigation(\"LastModifierUser\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Authorization.Users.User\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"CreatorUser\")\n                        .WithMany()\n                        .HasForeignKey(\"CreatorUserId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"DeleterUser\")\n                        .WithMany()\n                        .HasForeignKey(\"DeleterUserId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"LastModifierUser\")\n                        .WithMany()\n                        .HasForeignKey(\"LastModifierUserId\");\n\n                    b.Navigation(\"CreatorUser\");\n\n                    b.Navigation(\"DeleterUser\");\n\n                    b.Navigation(\"LastModifierUser\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.DefaultQuery\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"CreatorUser\")\n                        .WithMany()\n                        .HasForeignKey(\"CreatorUserId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"DeleterUser\")\n                        .WithMany()\n                        .HasForeignKey(\"DeleterUserId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"LastModifierUser\")\n                        .WithMany()\n                        .HasForeignKey(\"LastModifierUserId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"User\")\n                        .WithMany()\n                        .HasForeignKey(\"UserId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n\n                    b.Navigation(\"CreatorUser\");\n\n                    b.Navigation(\"DeleterUser\");\n\n                    b.Navigation(\"LastModifierUser\");\n\n                    b.Navigation(\"User\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.QueryCrawlerSummary\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Crawlers.QuerySummary\", \"QuerySummary\")\n                        .WithMany(\"QueryCrawlerSummaries\")\n                        .HasForeignKey(\"QuerySummaryId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n\n                    b.Navigation(\"QuerySummary\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.QueryHistory\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"User\")\n                        .WithMany()\n                        .HasForeignKey(\"UserId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n\n                    b.Navigation(\"User\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.QuerySummary\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Crawlers.QueryHistory\", \"QueryHistory\")\n                        .WithOne()\n                        .HasForeignKey(\"AcmStatisticsBackend.Crawlers.QuerySummary\", \"QueryHistoryId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n\n                    b.Navigation(\"QueryHistory\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.QueryWorkerHistory\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Crawlers.QueryHistory\", \"QueryHistory\")\n                        .WithMany(\"QueryWorkerHistories\")\n                        .HasForeignKey(\"QueryHistoryId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n\n                    b.Navigation(\"QueryHistory\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.UsernameInCrawler\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Crawlers.QueryCrawlerSummary\", \"QueryCrawlerSummary\")\n                        .WithMany(\"Usernames\")\n                        .HasForeignKey(\"QueryCrawlerSummaryId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n\n                    b.Navigation(\"QueryCrawlerSummary\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.MultiTenancy.Tenant\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"CreatorUser\")\n                        .WithMany()\n                        .HasForeignKey(\"CreatorUserId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"DeleterUser\")\n                        .WithMany()\n                        .HasForeignKey(\"DeleterUserId\");\n\n                    b.HasOne(\"Abp.Application.Editions.Edition\", \"Edition\")\n                        .WithMany()\n                        .HasForeignKey(\"EditionId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"LastModifierUser\")\n                        .WithMany()\n                        .HasForeignKey(\"LastModifierUserId\");\n\n                    b.Navigation(\"CreatorUser\");\n\n                    b.Navigation(\"DeleterUser\");\n\n                    b.Navigation(\"Edition\");\n\n                    b.Navigation(\"LastModifierUser\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Settings.UserSettingAttribute\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"CreatorUser\")\n                        .WithMany()\n                        .HasForeignKey(\"CreatorUserId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"LastModifierUser\")\n                        .WithMany()\n                        .HasForeignKey(\"LastModifierUserId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"User\")\n                        .WithMany()\n                        .HasForeignKey(\"UserId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n\n                    b.Navigation(\"CreatorUser\");\n\n                    b.Navigation(\"LastModifierUser\");\n\n                    b.Navigation(\"User\");\n                });\n\n            modelBuilder.Entity(\"Abp.Application.Features.EditionFeatureSetting\", b =>\n                {\n                    b.HasOne(\"Abp.Application.Editions.Edition\", \"Edition\")\n                        .WithMany()\n                        .HasForeignKey(\"EditionId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n\n                    b.Navigation(\"Edition\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Roles.RolePermissionSetting\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Roles.Role\", null)\n                        .WithMany(\"Permissions\")\n                        .HasForeignKey(\"RoleId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserPermissionSetting\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", null)\n                        .WithMany(\"Permissions\")\n                        .HasForeignKey(\"UserId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.DynamicEntityProperties.DynamicProperty\", b =>\n                {\n                    b.Navigation(\"DynamicPropertyValues\");\n                });\n\n            modelBuilder.Entity(\"Abp.EntityHistory.EntityChange\", b =>\n                {\n                    b.Navigation(\"PropertyChanges\");\n                });\n\n            modelBuilder.Entity(\"Abp.EntityHistory.EntityChangeSet\", b =>\n                {\n                    b.Navigation(\"EntityChanges\");\n                });\n\n            modelBuilder.Entity(\"Abp.Organizations.OrganizationUnit\", b =>\n                {\n                    b.Navigation(\"Children\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Authorization.Roles.Role\", b =>\n                {\n                    b.Navigation(\"Claims\");\n\n                    b.Navigation(\"Permissions\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Authorization.Users.User\", b =>\n                {\n                    b.Navigation(\"Claims\");\n\n                    b.Navigation(\"Logins\");\n\n                    b.Navigation(\"Permissions\");\n\n                    b.Navigation(\"Roles\");\n\n                    b.Navigation(\"Settings\");\n\n                    b.Navigation(\"Tokens\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.QueryCrawlerSummary\", b =>\n                {\n                    b.Navigation(\"Usernames\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.QueryHistory\", b =>\n                {\n                    b.Navigation(\"QueryWorkerHistories\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.QuerySummary\", b =>\n                {\n                    b.Navigation(\"QueryCrawlerSummaries\");\n                });\n#pragma warning restore 612, 618\n        }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.EntityFrameworkCore/Migrations/20210429095008_UpgradeAbp.cs",
    "content": "using Microsoft.EntityFrameworkCore.Metadata;\nusing Microsoft.EntityFrameworkCore.Migrations;\n\nnamespace AcmStatisticsBackend.Migrations\n{\n    public partial class UpgradeAbp : Migration\n    {\n        protected override void Up(MigrationBuilder migrationBuilder)\n        {\n            migrationBuilder.DropTable(\n                name: \"AbpDynamicParameterValues\");\n\n            migrationBuilder.DropTable(\n                name: \"AbpEntityDynamicParameterValues\");\n\n            migrationBuilder.DropTable(\n                name: \"AbpEntityDynamicParameters\");\n\n            migrationBuilder.DropTable(\n                name: \"AbpDynamicParameters\");\n\n            migrationBuilder.AddColumn<string>(\n                name: \"NewValueHash\",\n                table: \"AbpEntityPropertyChanges\",\n                type: \"longtext CHARACTER SET utf8mb4\",\n                nullable: true);\n\n            migrationBuilder.AddColumn<string>(\n                name: \"OriginalValueHash\",\n                table: \"AbpEntityPropertyChanges\",\n                type: \"longtext CHARACTER SET utf8mb4\",\n                nullable: true);\n\n            migrationBuilder.AddColumn<string>(\n                name: \"ExceptionMessage\",\n                table: \"AbpAuditLogs\",\n                type: \"varchar(1024) CHARACTER SET utf8mb4\",\n                maxLength: 1024,\n                nullable: true);\n\n            migrationBuilder.CreateTable(\n                name: \"AbpDynamicProperties\",\n                columns: table => new\n                {\n                    Id = table.Column<int>(type: \"int\", nullable: false)\n                        .Annotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn),\n                    PropertyName = table.Column<string>(type: \"varchar(256) CHARACTER SET utf8mb4\", maxLength: 256, nullable: true),\n                    DisplayName = table.Column<string>(type: \"longtext CHARACTER SET utf8mb4\", nullable: true),\n                    InputType = table.Column<string>(type: \"longtext CHARACTER SET utf8mb4\", nullable: true),\n                    Permission = table.Column<string>(type: \"longtext CHARACTER SET utf8mb4\", nullable: true),\n                    TenantId = table.Column<int>(type: \"int\", nullable: true),\n                },\n                constraints: table =>\n                {\n                    table.PrimaryKey(\"PK_AbpDynamicProperties\", x => x.Id);\n                });\n\n            migrationBuilder.CreateTable(\n                name: \"AbpDynamicEntityProperties\",\n                columns: table => new\n                {\n                    Id = table.Column<int>(type: \"int\", nullable: false)\n                        .Annotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn),\n                    EntityFullName = table.Column<string>(type: \"varchar(256) CHARACTER SET utf8mb4\", maxLength: 256, nullable: true),\n                    DynamicPropertyId = table.Column<int>(type: \"int\", nullable: false),\n                    TenantId = table.Column<int>(type: \"int\", nullable: true),\n                },\n                constraints: table =>\n                {\n                    table.PrimaryKey(\"PK_AbpDynamicEntityProperties\", x => x.Id);\n                    table.ForeignKey(\n                        name: \"FK_AbpDynamicEntityProperties_AbpDynamicProperties_DynamicPrope~\",\n                        column: x => x.DynamicPropertyId,\n                        principalTable: \"AbpDynamicProperties\",\n                        principalColumn: \"Id\",\n                        onDelete: ReferentialAction.Cascade);\n                });\n\n            migrationBuilder.CreateTable(\n                name: \"AbpDynamicPropertyValues\",\n                columns: table => new\n                {\n                    Id = table.Column<long>(type: \"bigint\", nullable: false)\n                        .Annotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn),\n                    Value = table.Column<string>(type: \"longtext CHARACTER SET utf8mb4\", nullable: false),\n                    TenantId = table.Column<int>(type: \"int\", nullable: true),\n                    DynamicPropertyId = table.Column<int>(type: \"int\", nullable: false),\n                },\n                constraints: table =>\n                {\n                    table.PrimaryKey(\"PK_AbpDynamicPropertyValues\", x => x.Id);\n                    table.ForeignKey(\n                        name: \"FK_AbpDynamicPropertyValues_AbpDynamicProperties_DynamicPropert~\",\n                        column: x => x.DynamicPropertyId,\n                        principalTable: \"AbpDynamicProperties\",\n                        principalColumn: \"Id\",\n                        onDelete: ReferentialAction.Cascade);\n                });\n\n            migrationBuilder.CreateTable(\n                name: \"AbpDynamicEntityPropertyValues\",\n                columns: table => new\n                {\n                    Id = table.Column<long>(type: \"bigint\", nullable: false)\n                        .Annotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn),\n                    Value = table.Column<string>(type: \"longtext CHARACTER SET utf8mb4\", nullable: false),\n                    EntityId = table.Column<string>(type: \"longtext CHARACTER SET utf8mb4\", nullable: true),\n                    DynamicEntityPropertyId = table.Column<int>(type: \"int\", nullable: false),\n                    TenantId = table.Column<int>(type: \"int\", nullable: true),\n                },\n                constraints: table =>\n                {\n                    table.PrimaryKey(\"PK_AbpDynamicEntityPropertyValues\", x => x.Id);\n                    table.ForeignKey(\n                        name: \"FK_AbpDynamicEntityPropertyValues_AbpDynamicEntityProperties_Dy~\",\n                        column: x => x.DynamicEntityPropertyId,\n                        principalTable: \"AbpDynamicEntityProperties\",\n                        principalColumn: \"Id\",\n                        onDelete: ReferentialAction.Cascade);\n                });\n\n            migrationBuilder.CreateIndex(\n                name: \"IX_AbpDynamicEntityProperties_DynamicPropertyId\",\n                table: \"AbpDynamicEntityProperties\",\n                column: \"DynamicPropertyId\");\n\n            migrationBuilder.CreateIndex(\n                name: \"IX_AbpDynamicEntityProperties_EntityFullName_DynamicPropertyId_~\",\n                table: \"AbpDynamicEntityProperties\",\n                columns: new[] { \"EntityFullName\", \"DynamicPropertyId\", \"TenantId\" },\n                unique: true);\n\n            migrationBuilder.CreateIndex(\n                name: \"IX_AbpDynamicEntityPropertyValues_DynamicEntityPropertyId\",\n                table: \"AbpDynamicEntityPropertyValues\",\n                column: \"DynamicEntityPropertyId\");\n\n            migrationBuilder.CreateIndex(\n                name: \"IX_AbpDynamicProperties_PropertyName_TenantId\",\n                table: \"AbpDynamicProperties\",\n                columns: new[] { \"PropertyName\", \"TenantId\" },\n                unique: true);\n\n            migrationBuilder.CreateIndex(\n                name: \"IX_AbpDynamicPropertyValues_DynamicPropertyId\",\n                table: \"AbpDynamicPropertyValues\",\n                column: \"DynamicPropertyId\");\n        }\n\n        protected override void Down(MigrationBuilder migrationBuilder)\n        {\n            migrationBuilder.DropTable(\n                name: \"AbpDynamicEntityPropertyValues\");\n\n            migrationBuilder.DropTable(\n                name: \"AbpDynamicPropertyValues\");\n\n            migrationBuilder.DropTable(\n                name: \"AbpDynamicEntityProperties\");\n\n            migrationBuilder.DropTable(\n                name: \"AbpDynamicProperties\");\n\n            migrationBuilder.DropColumn(\n                name: \"NewValueHash\",\n                table: \"AbpEntityPropertyChanges\");\n\n            migrationBuilder.DropColumn(\n                name: \"OriginalValueHash\",\n                table: \"AbpEntityPropertyChanges\");\n\n            migrationBuilder.DropColumn(\n                name: \"ExceptionMessage\",\n                table: \"AbpAuditLogs\");\n\n            migrationBuilder.CreateTable(\n                name: \"AbpDynamicParameters\",\n                columns: table => new\n                {\n                    Id = table.Column<int>(type: \"int\", nullable: false)\n                        .Annotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn),\n                    InputType = table.Column<string>(type: \"longtext CHARACTER SET utf8mb4\", nullable: true),\n                    ParameterName = table.Column<string>(type: \"varchar(255) CHARACTER SET utf8mb4\", nullable: true),\n                    Permission = table.Column<string>(type: \"longtext CHARACTER SET utf8mb4\", nullable: true),\n                    TenantId = table.Column<int>(type: \"int\", nullable: true),\n                },\n                constraints: table =>\n                {\n                    table.PrimaryKey(\"PK_AbpDynamicParameters\", x => x.Id);\n                });\n\n            migrationBuilder.CreateTable(\n                name: \"AbpDynamicParameterValues\",\n                columns: table => new\n                {\n                    Id = table.Column<int>(type: \"int\", nullable: false)\n                        .Annotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn),\n                    DynamicParameterId = table.Column<int>(type: \"int\", nullable: false),\n                    TenantId = table.Column<int>(type: \"int\", nullable: true),\n                    Value = table.Column<string>(type: \"longtext CHARACTER SET utf8mb4\", nullable: false),\n                },\n                constraints: table =>\n                {\n                    table.PrimaryKey(\"PK_AbpDynamicParameterValues\", x => x.Id);\n                    table.ForeignKey(\n                        name: \"FK_AbpDynamicParameterValues_AbpDynamicParameters_DynamicParame~\",\n                        column: x => x.DynamicParameterId,\n                        principalTable: \"AbpDynamicParameters\",\n                        principalColumn: \"Id\",\n                        onDelete: ReferentialAction.Cascade);\n                });\n\n            migrationBuilder.CreateTable(\n                name: \"AbpEntityDynamicParameters\",\n                columns: table => new\n                {\n                    Id = table.Column<int>(type: \"int\", nullable: false)\n                        .Annotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn),\n                    DynamicParameterId = table.Column<int>(type: \"int\", nullable: false),\n                    EntityFullName = table.Column<string>(type: \"varchar(255) CHARACTER SET utf8mb4\", nullable: true),\n                    TenantId = table.Column<int>(type: \"int\", nullable: true),\n                },\n                constraints: table =>\n                {\n                    table.PrimaryKey(\"PK_AbpEntityDynamicParameters\", x => x.Id);\n                    table.ForeignKey(\n                        name: \"FK_AbpEntityDynamicParameters_AbpDynamicParameters_DynamicParam~\",\n                        column: x => x.DynamicParameterId,\n                        principalTable: \"AbpDynamicParameters\",\n                        principalColumn: \"Id\",\n                        onDelete: ReferentialAction.Cascade);\n                });\n\n            migrationBuilder.CreateTable(\n                name: \"AbpEntityDynamicParameterValues\",\n                columns: table => new\n                {\n                    Id = table.Column<int>(type: \"int\", nullable: false)\n                        .Annotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn),\n                    EntityDynamicParameterId = table.Column<int>(type: \"int\", nullable: false),\n                    EntityId = table.Column<string>(type: \"longtext CHARACTER SET utf8mb4\", nullable: true),\n                    TenantId = table.Column<int>(type: \"int\", nullable: true),\n                    Value = table.Column<string>(type: \"longtext CHARACTER SET utf8mb4\", nullable: false),\n                },\n                constraints: table =>\n                {\n                    table.PrimaryKey(\"PK_AbpEntityDynamicParameterValues\", x => x.Id);\n                    table.ForeignKey(\n                        name: \"FK_AbpEntityDynamicParameterValues_AbpEntityDynamicParameters_E~\",\n                        column: x => x.EntityDynamicParameterId,\n                        principalTable: \"AbpEntityDynamicParameters\",\n                        principalColumn: \"Id\",\n                        onDelete: ReferentialAction.Cascade);\n                });\n\n            migrationBuilder.CreateIndex(\n                name: \"IX_AbpDynamicParameters_ParameterName_TenantId\",\n                table: \"AbpDynamicParameters\",\n                columns: new[] { \"ParameterName\", \"TenantId\" },\n                unique: true);\n\n            migrationBuilder.CreateIndex(\n                name: \"IX_AbpDynamicParameterValues_DynamicParameterId\",\n                table: \"AbpDynamicParameterValues\",\n                column: \"DynamicParameterId\");\n\n            migrationBuilder.CreateIndex(\n                name: \"IX_AbpEntityDynamicParameters_DynamicParameterId\",\n                table: \"AbpEntityDynamicParameters\",\n                column: \"DynamicParameterId\");\n\n            migrationBuilder.CreateIndex(\n                name: \"IX_AbpEntityDynamicParameters_EntityFullName_DynamicParameterId~\",\n                table: \"AbpEntityDynamicParameters\",\n                columns: new[] { \"EntityFullName\", \"DynamicParameterId\", \"TenantId\" },\n                unique: true);\n\n            migrationBuilder.CreateIndex(\n                name: \"IX_AbpEntityDynamicParameterValues_EntityDynamicParameterId\",\n                table: \"AbpEntityDynamicParameterValues\",\n                column: \"EntityDynamicParameterId\");\n        }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.EntityFrameworkCore/Migrations/20210627092246_RemoveRoleDescription.Designer.cs",
    "content": "﻿// <auto-generated />\nusing System;\nusing AcmStatisticsBackend.EntityFrameworkCore;\nusing Microsoft.EntityFrameworkCore;\nusing Microsoft.EntityFrameworkCore.Infrastructure;\nusing Microsoft.EntityFrameworkCore.Migrations;\nusing Microsoft.EntityFrameworkCore.Storage.ValueConversion;\n\nnamespace AcmStatisticsBackend.Migrations\n{\n    [DbContext(typeof(AcmStatisticsBackendDbContext))]\n    [Migration(\"20210627092246_RemoveRoleDescription\")]\n    partial class RemoveRoleDescription\n    {\n        protected override void BuildTargetModel(ModelBuilder modelBuilder)\n        {\n#pragma warning disable 612, 618\n            modelBuilder\n                .HasAnnotation(\"Relational:MaxIdentifierLength\", 64)\n                .HasAnnotation(\"ProductVersion\", \"5.0.7\");\n\n            modelBuilder.Entity(\"Abp.Application.Editions.Edition\", b =>\n                {\n                    b.Property<int>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"int\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"DeleterUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"DeletionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"DisplayName\")\n                        .IsRequired()\n                        .HasMaxLength(64)\n                        .HasColumnType(\"varchar(64) CHARACTER SET utf8mb4\");\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Name\")\n                        .IsRequired()\n                        .HasMaxLength(32)\n                        .HasColumnType(\"varchar(32) CHARACTER SET utf8mb4\");\n\n                    b.HasKey(\"Id\");\n\n                    b.ToTable(\"AbpEditions\");\n                });\n\n            modelBuilder.Entity(\"Abp.Application.Features.FeatureSetting\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Discriminator\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"Name\")\n                        .IsRequired()\n                        .HasMaxLength(128)\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"Value\")\n                        .IsRequired()\n                        .HasMaxLength(2000)\n                        .HasColumnType(\"varchar(2000) CHARACTER SET utf8mb4\");\n\n                    b.HasKey(\"Id\");\n\n                    b.ToTable(\"AbpFeatures\");\n\n                    b.HasDiscriminator<string>(\"Discriminator\").HasValue(\"FeatureSetting\");\n                });\n\n            modelBuilder.Entity(\"Abp.Auditing.AuditLog\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"BrowserInfo\")\n                        .HasMaxLength(512)\n                        .HasColumnType(\"varchar(512) CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"ClientIpAddress\")\n                        .HasMaxLength(64)\n                        .HasColumnType(\"varchar(64) CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"ClientName\")\n                        .HasMaxLength(128)\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"CustomData\")\n                        .HasMaxLength(2000)\n                        .HasColumnType(\"varchar(2000) CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"Exception\")\n                        .HasMaxLength(2000)\n                        .HasColumnType(\"varchar(2000) CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"ExceptionMessage\")\n                        .HasMaxLength(1024)\n                        .HasColumnType(\"varchar(1024) CHARACTER SET utf8mb4\");\n\n                    b.Property<int>(\"ExecutionDuration\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<DateTime>(\"ExecutionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<int?>(\"ImpersonatorTenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long?>(\"ImpersonatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"MethodName\")\n                        .HasMaxLength(256)\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"Parameters\")\n                        .HasMaxLength(1024)\n                        .HasColumnType(\"varchar(1024) CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"ReturnValue\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"ServiceName\")\n                        .HasMaxLength(256)\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long?>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"TenantId\", \"ExecutionDuration\");\n\n                    b.HasIndex(\"TenantId\", \"ExecutionTime\");\n\n                    b.HasIndex(\"TenantId\", \"UserId\");\n\n                    b.ToTable(\"AbpAuditLogs\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.PermissionSetting\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Discriminator\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<bool>(\"IsGranted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<string>(\"Name\")\n                        .IsRequired()\n                        .HasMaxLength(128)\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"TenantId\", \"Name\");\n\n                    b.ToTable(\"AbpPermissions\");\n\n                    b.HasDiscriminator<string>(\"Discriminator\").HasValue(\"PermissionSetting\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Roles.RoleClaim\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"ClaimType\")\n                        .HasMaxLength(256)\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"ClaimValue\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int>(\"RoleId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"RoleId\");\n\n                    b.HasIndex(\"TenantId\", \"ClaimType\");\n\n                    b.ToTable(\"AbpRoleClaims\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserAccount\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"DeleterUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"DeletionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"EmailAddress\")\n                        .HasMaxLength(256)\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\");\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"UserLinkId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"UserName\")\n                        .HasMaxLength(256)\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"EmailAddress\");\n\n                    b.HasIndex(\"UserName\");\n\n                    b.HasIndex(\"TenantId\", \"EmailAddress\");\n\n                    b.HasIndex(\"TenantId\", \"UserId\");\n\n                    b.HasIndex(\"TenantId\", \"UserName\");\n\n                    b.ToTable(\"AbpUserAccounts\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserClaim\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"ClaimType\")\n                        .HasMaxLength(256)\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"ClaimValue\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"UserId\");\n\n                    b.HasIndex(\"TenantId\", \"ClaimType\");\n\n                    b.ToTable(\"AbpUserClaims\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserLogin\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"LoginProvider\")\n                        .IsRequired()\n                        .HasMaxLength(128)\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"ProviderKey\")\n                        .IsRequired()\n                        .HasMaxLength(256)\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"UserId\");\n\n                    b.HasIndex(\"TenantId\", \"UserId\");\n\n                    b.HasIndex(\"TenantId\", \"LoginProvider\", \"ProviderKey\");\n\n                    b.ToTable(\"AbpUserLogins\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserLoginAttempt\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"BrowserInfo\")\n                        .HasMaxLength(512)\n                        .HasColumnType(\"varchar(512) CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"ClientIpAddress\")\n                        .HasMaxLength(64)\n                        .HasColumnType(\"varchar(64) CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"ClientName\")\n                        .HasMaxLength(128)\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<byte>(\"Result\")\n                        .HasColumnType(\"tinyint unsigned\");\n\n                    b.Property<string>(\"TenancyName\")\n                        .HasMaxLength(64)\n                        .HasColumnType(\"varchar(64) CHARACTER SET utf8mb4\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long?>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"UserNameOrEmailAddress\")\n                        .HasMaxLength(256)\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"UserId\", \"TenantId\");\n\n                    b.HasIndex(\"TenancyName\", \"UserNameOrEmailAddress\", \"Result\");\n\n                    b.ToTable(\"AbpUserLoginAttempts\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserOrganizationUnit\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<long>(\"OrganizationUnitId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"TenantId\", \"OrganizationUnitId\");\n\n                    b.HasIndex(\"TenantId\", \"UserId\");\n\n                    b.ToTable(\"AbpUserOrganizationUnits\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserRole\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int>(\"RoleId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"UserId\");\n\n                    b.HasIndex(\"TenantId\", \"RoleId\");\n\n                    b.HasIndex(\"TenantId\", \"UserId\");\n\n                    b.ToTable(\"AbpUserRoles\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserToken\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"ExpireDate\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"LoginProvider\")\n                        .HasMaxLength(128)\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"Name\")\n                        .HasMaxLength(128)\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Value\")\n                        .HasMaxLength(512)\n                        .HasColumnType(\"varchar(512) CHARACTER SET utf8mb4\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"UserId\");\n\n                    b.HasIndex(\"TenantId\", \"UserId\");\n\n                    b.ToTable(\"AbpUserTokens\");\n                });\n\n            modelBuilder.Entity(\"Abp.BackgroundJobs.BackgroundJobInfo\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<bool>(\"IsAbandoned\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<string>(\"JobArgs\")\n                        .IsRequired()\n                        .HasMaxLength(1048576)\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"JobType\")\n                        .IsRequired()\n                        .HasMaxLength(512)\n                        .HasColumnType(\"varchar(512) CHARACTER SET utf8mb4\");\n\n                    b.Property<DateTime?>(\"LastTryTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<DateTime>(\"NextTryTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<byte>(\"Priority\")\n                        .HasColumnType(\"tinyint unsigned\");\n\n                    b.Property<short>(\"TryCount\")\n                        .HasColumnType(\"smallint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"IsAbandoned\", \"NextTryTime\");\n\n                    b.ToTable(\"AbpBackgroundJobs\");\n                });\n\n            modelBuilder.Entity(\"Abp.Configuration.Setting\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Name\")\n                        .IsRequired()\n                        .HasMaxLength(256)\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long?>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Value\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"UserId\");\n\n                    b.HasIndex(\"TenantId\", \"Name\", \"UserId\")\n                        .IsUnique();\n\n                    b.ToTable(\"AbpSettings\");\n                });\n\n            modelBuilder.Entity(\"Abp.DynamicEntityProperties.DynamicEntityProperty\", b =>\n                {\n                    b.Property<int>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"int\");\n\n                    b.Property<int>(\"DynamicPropertyId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"EntityFullName\")\n                        .HasMaxLength(256)\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"DynamicPropertyId\");\n\n                    b.HasIndex(\"EntityFullName\", \"DynamicPropertyId\", \"TenantId\")\n                        .IsUnique();\n\n                    b.ToTable(\"AbpDynamicEntityProperties\");\n                });\n\n            modelBuilder.Entity(\"Abp.DynamicEntityProperties.DynamicEntityPropertyValue\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int>(\"DynamicEntityPropertyId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"EntityId\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"Value\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"DynamicEntityPropertyId\");\n\n                    b.ToTable(\"AbpDynamicEntityPropertyValues\");\n                });\n\n            modelBuilder.Entity(\"Abp.DynamicEntityProperties.DynamicProperty\", b =>\n                {\n                    b.Property<int>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"DisplayName\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"InputType\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"Permission\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"PropertyName\")\n                        .HasMaxLength(256)\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"PropertyName\", \"TenantId\")\n                        .IsUnique();\n\n                    b.ToTable(\"AbpDynamicProperties\");\n                });\n\n            modelBuilder.Entity(\"Abp.DynamicEntityProperties.DynamicPropertyValue\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int>(\"DynamicPropertyId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"Value\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"DynamicPropertyId\");\n\n                    b.ToTable(\"AbpDynamicPropertyValues\");\n                });\n\n            modelBuilder.Entity(\"Abp.EntityHistory.EntityChange\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"ChangeTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<byte>(\"ChangeType\")\n                        .HasColumnType(\"tinyint unsigned\");\n\n                    b.Property<long>(\"EntityChangeSetId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"EntityId\")\n                        .HasMaxLength(48)\n                        .HasColumnType(\"varchar(48) CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"EntityTypeFullName\")\n                        .HasMaxLength(192)\n                        .HasColumnType(\"varchar(192) CHARACTER SET utf8mb4\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"EntityChangeSetId\");\n\n                    b.HasIndex(\"EntityTypeFullName\", \"EntityId\");\n\n                    b.ToTable(\"AbpEntityChanges\");\n                });\n\n            modelBuilder.Entity(\"Abp.EntityHistory.EntityChangeSet\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"BrowserInfo\")\n                        .HasMaxLength(512)\n                        .HasColumnType(\"varchar(512) CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"ClientIpAddress\")\n                        .HasMaxLength(64)\n                        .HasColumnType(\"varchar(64) CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"ClientName\")\n                        .HasMaxLength(128)\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"ExtensionData\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<int?>(\"ImpersonatorTenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long?>(\"ImpersonatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Reason\")\n                        .HasMaxLength(256)\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long?>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"TenantId\", \"CreationTime\");\n\n                    b.HasIndex(\"TenantId\", \"Reason\");\n\n                    b.HasIndex(\"TenantId\", \"UserId\");\n\n                    b.ToTable(\"AbpEntityChangeSets\");\n                });\n\n            modelBuilder.Entity(\"Abp.EntityHistory.EntityPropertyChange\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long>(\"EntityChangeId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"NewValue\")\n                        .HasMaxLength(512)\n                        .HasColumnType(\"varchar(512) CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"NewValueHash\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"OriginalValue\")\n                        .HasMaxLength(512)\n                        .HasColumnType(\"varchar(512) CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"OriginalValueHash\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"PropertyName\")\n                        .HasMaxLength(96)\n                        .HasColumnType(\"varchar(96) CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"PropertyTypeFullName\")\n                        .HasMaxLength(192)\n                        .HasColumnType(\"varchar(192) CHARACTER SET utf8mb4\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"EntityChangeId\");\n\n                    b.ToTable(\"AbpEntityPropertyChanges\");\n                });\n\n            modelBuilder.Entity(\"Abp.Localization.ApplicationLanguage\", b =>\n                {\n                    b.Property<int>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"int\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"DeleterUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"DeletionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"DisplayName\")\n                        .IsRequired()\n                        .HasMaxLength(64)\n                        .HasColumnType(\"varchar(64) CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"Icon\")\n                        .HasMaxLength(128)\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\");\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<bool>(\"IsDisabled\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Name\")\n                        .IsRequired()\n                        .HasMaxLength(128)\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"TenantId\", \"Name\");\n\n                    b.ToTable(\"AbpLanguages\");\n                });\n\n            modelBuilder.Entity(\"Abp.Localization.ApplicationLanguageText\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Key\")\n                        .IsRequired()\n                        .HasMaxLength(256)\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"LanguageName\")\n                        .IsRequired()\n                        .HasMaxLength(128)\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Source\")\n                        .IsRequired()\n                        .HasMaxLength(128)\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"Value\")\n                        .IsRequired()\n                        .HasMaxLength(67108864)\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"TenantId\", \"Source\", \"LanguageName\", \"Key\");\n\n                    b.ToTable(\"AbpLanguageTexts\");\n                });\n\n            modelBuilder.Entity(\"Abp.Notifications.NotificationInfo\", b =>\n                {\n                    b.Property<Guid>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"char(36)\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Data\")\n                        .HasMaxLength(1048576)\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"DataTypeName\")\n                        .HasMaxLength(512)\n                        .HasColumnType(\"varchar(512) CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"EntityId\")\n                        .HasMaxLength(96)\n                        .HasColumnType(\"varchar(96) CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"EntityTypeAssemblyQualifiedName\")\n                        .HasMaxLength(512)\n                        .HasColumnType(\"varchar(512) CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"EntityTypeName\")\n                        .HasMaxLength(250)\n                        .HasColumnType(\"varchar(250) CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"ExcludedUserIds\")\n                        .HasMaxLength(131072)\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"NotificationName\")\n                        .IsRequired()\n                        .HasMaxLength(96)\n                        .HasColumnType(\"varchar(96) CHARACTER SET utf8mb4\");\n\n                    b.Property<byte>(\"Severity\")\n                        .HasColumnType(\"tinyint unsigned\");\n\n                    b.Property<string>(\"TenantIds\")\n                        .HasMaxLength(131072)\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"UserIds\")\n                        .HasMaxLength(131072)\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.HasKey(\"Id\");\n\n                    b.ToTable(\"AbpNotifications\");\n                });\n\n            modelBuilder.Entity(\"Abp.Notifications.NotificationSubscriptionInfo\", b =>\n                {\n                    b.Property<Guid>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"char(36)\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"EntityId\")\n                        .HasMaxLength(96)\n                        .HasColumnType(\"varchar(96) CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"EntityTypeAssemblyQualifiedName\")\n                        .HasMaxLength(512)\n                        .HasColumnType(\"varchar(512) CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"EntityTypeName\")\n                        .HasMaxLength(250)\n                        .HasColumnType(\"varchar(250) CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"NotificationName\")\n                        .HasMaxLength(96)\n                        .HasColumnType(\"varchar(96) CHARACTER SET utf8mb4\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"NotificationName\", \"EntityTypeName\", \"EntityId\", \"UserId\");\n\n                    b.HasIndex(\"TenantId\", \"NotificationName\", \"EntityTypeName\", \"EntityId\", \"UserId\");\n\n                    b.ToTable(\"AbpNotificationSubscriptions\");\n                });\n\n            modelBuilder.Entity(\"Abp.Notifications.TenantNotificationInfo\", b =>\n                {\n                    b.Property<Guid>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"char(36)\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Data\")\n                        .HasMaxLength(1048576)\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"DataTypeName\")\n                        .HasMaxLength(512)\n                        .HasColumnType(\"varchar(512) CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"EntityId\")\n                        .HasMaxLength(96)\n                        .HasColumnType(\"varchar(96) CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"EntityTypeAssemblyQualifiedName\")\n                        .HasMaxLength(512)\n                        .HasColumnType(\"varchar(512) CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"EntityTypeName\")\n                        .HasMaxLength(250)\n                        .HasColumnType(\"varchar(250) CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"NotificationName\")\n                        .IsRequired()\n                        .HasMaxLength(96)\n                        .HasColumnType(\"varchar(96) CHARACTER SET utf8mb4\");\n\n                    b.Property<byte>(\"Severity\")\n                        .HasColumnType(\"tinyint unsigned\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"TenantId\");\n\n                    b.ToTable(\"AbpTenantNotifications\");\n                });\n\n            modelBuilder.Entity(\"Abp.Notifications.UserNotificationInfo\", b =>\n                {\n                    b.Property<Guid>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"char(36)\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<int>(\"State\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<Guid>(\"TenantNotificationId\")\n                        .HasColumnType(\"char(36)\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"UserId\", \"State\", \"CreationTime\");\n\n                    b.ToTable(\"AbpUserNotifications\");\n                });\n\n            modelBuilder.Entity(\"Abp.Organizations.OrganizationUnit\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Code\")\n                        .IsRequired()\n                        .HasMaxLength(95)\n                        .HasColumnType(\"varchar(95) CHARACTER SET utf8mb4\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"DeleterUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"DeletionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"DisplayName\")\n                        .IsRequired()\n                        .HasMaxLength(128)\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\");\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"ParentId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"ParentId\");\n\n                    b.HasIndex(\"TenantId\", \"Code\");\n\n                    b.ToTable(\"AbpOrganizationUnits\");\n                });\n\n            modelBuilder.Entity(\"Abp.Organizations.OrganizationUnitRole\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<long>(\"OrganizationUnitId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int>(\"RoleId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"TenantId\", \"OrganizationUnitId\");\n\n                    b.HasIndex(\"TenantId\", \"RoleId\");\n\n                    b.ToTable(\"AbpOrganizationUnitRoles\");\n                });\n\n            modelBuilder.Entity(\"Abp.Webhooks.WebhookEvent\", b =>\n                {\n                    b.Property<Guid>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"char(36)\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"Data\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<DateTime?>(\"DeletionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"WebhookName\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.HasKey(\"Id\");\n\n                    b.ToTable(\"AbpWebhookEvents\");\n                });\n\n            modelBuilder.Entity(\"Abp.Webhooks.WebhookSendAttempt\", b =>\n                {\n                    b.Property<Guid>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"char(36)\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"Response\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<int?>(\"ResponseStatusCode\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<Guid>(\"WebhookEventId\")\n                        .HasColumnType(\"char(36)\");\n\n                    b.Property<Guid>(\"WebhookSubscriptionId\")\n                        .HasColumnType(\"char(36)\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"WebhookEventId\");\n\n                    b.ToTable(\"AbpWebhookSendAttempts\");\n                });\n\n            modelBuilder.Entity(\"Abp.Webhooks.WebhookSubscriptionInfo\", b =>\n                {\n                    b.Property<Guid>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"char(36)\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Headers\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<bool>(\"IsActive\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<string>(\"Secret\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"WebhookUri\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"Webhooks\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.HasKey(\"Id\");\n\n                    b.ToTable(\"AbpWebhookSubscriptions\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Authorization.Roles.Role\", b =>\n                {\n                    b.Property<int>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"ConcurrencyStamp\")\n                        .IsConcurrencyToken()\n                        .HasMaxLength(128)\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"DeleterUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"DeletionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"DisplayName\")\n                        .IsRequired()\n                        .HasMaxLength(64)\n                        .HasColumnType(\"varchar(64) CHARACTER SET utf8mb4\");\n\n                    b.Property<bool>(\"IsDefault\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<bool>(\"IsStatic\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Name\")\n                        .IsRequired()\n                        .HasMaxLength(32)\n                        .HasColumnType(\"varchar(32) CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"NormalizedName\")\n                        .IsRequired()\n                        .HasMaxLength(32)\n                        .HasColumnType(\"varchar(32) CHARACTER SET utf8mb4\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"CreatorUserId\");\n\n                    b.HasIndex(\"DeleterUserId\");\n\n                    b.HasIndex(\"LastModifierUserId\");\n\n                    b.HasIndex(\"TenantId\", \"NormalizedName\");\n\n                    b.ToTable(\"AbpRoles\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Authorization.Users.User\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int>(\"AccessFailedCount\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"AuthenticationSource\")\n                        .HasMaxLength(64)\n                        .HasColumnType(\"varchar(64) CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"ConcurrencyStamp\")\n                        .IsConcurrencyToken()\n                        .HasMaxLength(128)\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"DeleterUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"DeletionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"EmailAddress\")\n                        .IsRequired()\n                        .HasMaxLength(256)\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"EmailConfirmationCode\")\n                        .HasMaxLength(328)\n                        .HasColumnType(\"varchar(328) CHARACTER SET utf8mb4\");\n\n                    b.Property<bool>(\"IsActive\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<bool>(\"IsEmailConfirmed\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<bool>(\"IsLockoutEnabled\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<bool>(\"IsPhoneNumberConfirmed\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<bool>(\"IsTwoFactorEnabled\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"LockoutEndDateUtc\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"Name\")\n                        .IsRequired()\n                        .HasMaxLength(64)\n                        .HasColumnType(\"varchar(64) CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"NormalizedEmailAddress\")\n                        .IsRequired()\n                        .HasMaxLength(256)\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"NormalizedUserName\")\n                        .IsRequired()\n                        .HasMaxLength(256)\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"Password\")\n                        .IsRequired()\n                        .HasMaxLength(128)\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"PasswordResetCode\")\n                        .HasMaxLength(328)\n                        .HasColumnType(\"varchar(328) CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"PhoneNumber\")\n                        .HasMaxLength(32)\n                        .HasColumnType(\"varchar(32) CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"SecurityStamp\")\n                        .HasMaxLength(128)\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"Surname\")\n                        .IsRequired()\n                        .HasMaxLength(64)\n                        .HasColumnType(\"varchar(64) CHARACTER SET utf8mb4\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"UserName\")\n                        .IsRequired()\n                        .HasMaxLength(256)\n                        .HasColumnType(\"varchar(256) CHARACTER SET utf8mb4\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"CreatorUserId\");\n\n                    b.HasIndex(\"DeleterUserId\");\n\n                    b.HasIndex(\"LastModifierUserId\");\n\n                    b.HasIndex(\"TenantId\", \"NormalizedEmailAddress\");\n\n                    b.HasIndex(\"TenantId\", \"NormalizedUserName\");\n\n                    b.ToTable(\"AbpUsers\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.DefaultQuery\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"DeleterUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"DeletionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"MainUsername\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"UsernamesInCrawlers\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"CreatorUserId\");\n\n                    b.HasIndex(\"DeleterUserId\");\n\n                    b.HasIndex(\"LastModifierUserId\");\n\n                    b.HasIndex(\"UserId\");\n\n                    b.ToTable(\"DefaultQueries\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.QueryCrawlerSummary\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"CrawlerName\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<bool>(\"IsVirtualJudge\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<long>(\"QuerySummaryId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int>(\"Solved\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<int>(\"Submission\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"QuerySummaryId\");\n\n                    b.ToTable(\"QueryCrawlerSummaries\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.QueryHistory\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<bool>(\"IsReliableSource\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<string>(\"MainUsername\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"UserId\");\n\n                    b.ToTable(\"QueryHistories\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.QuerySummary\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"GenerateTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long>(\"QueryHistoryId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int>(\"Solved\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<int>(\"Submission\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"SummaryWarnings\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"QueryHistoryId\")\n                        .IsUnique();\n\n                    b.ToTable(\"QuerySummaries\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.QueryWorkerHistory\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"CrawlerName\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"ErrorMessage\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<bool>(\"IsVirtualJudge\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<long>(\"QueryHistoryId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int>(\"Solved\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"SolvedList\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<int>(\"Submission\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"SubmissionsByCrawlerName\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"Username\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"QueryHistoryId\");\n\n                    b.ToTable(\"QueryWorkerHistories\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.UsernameInCrawler\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"FromCrawlerName\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<long>(\"QueryCrawlerSummaryId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Username\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"QueryCrawlerSummaryId\");\n\n                    b.ToTable(\"UsernameInCrawler\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.MultiTenancy.Tenant\", b =>\n                {\n                    b.Property<int>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"ConnectionString\")\n                        .HasMaxLength(1024)\n                        .HasColumnType(\"varchar(1024) CHARACTER SET utf8mb4\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"DeleterUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"DeletionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<int?>(\"EditionId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<bool>(\"IsActive\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Name\")\n                        .IsRequired()\n                        .HasMaxLength(128)\n                        .HasColumnType(\"varchar(128) CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"TenancyName\")\n                        .IsRequired()\n                        .HasMaxLength(64)\n                        .HasColumnType(\"varchar(64) CHARACTER SET utf8mb4\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"CreatorUserId\");\n\n                    b.HasIndex(\"DeleterUserId\");\n\n                    b.HasIndex(\"EditionId\");\n\n                    b.HasIndex(\"LastModifierUserId\");\n\n                    b.HasIndex(\"TenancyName\");\n\n                    b.ToTable(\"AbpTenants\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Settings.UserSettingAttribute\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"LastTimeZoneChangedTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"CreatorUserId\");\n\n                    b.HasIndex(\"LastModifierUserId\");\n\n                    b.HasIndex(\"UserId\");\n\n                    b.ToTable(\"UserSettingAttributes\");\n                });\n\n            modelBuilder.Entity(\"Abp.Application.Features.EditionFeatureSetting\", b =>\n                {\n                    b.HasBaseType(\"Abp.Application.Features.FeatureSetting\");\n\n                    b.Property<int>(\"EditionId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasIndex(\"EditionId\", \"Name\");\n\n                    b.ToTable(\"AbpFeatures\");\n\n                    b.HasDiscriminator().HasValue(\"EditionFeatureSetting\");\n                });\n\n            modelBuilder.Entity(\"Abp.MultiTenancy.TenantFeatureSetting\", b =>\n                {\n                    b.HasBaseType(\"Abp.Application.Features.FeatureSetting\");\n\n                    b.HasIndex(\"TenantId\", \"Name\");\n\n                    b.ToTable(\"AbpFeatures\");\n\n                    b.HasDiscriminator().HasValue(\"TenantFeatureSetting\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Roles.RolePermissionSetting\", b =>\n                {\n                    b.HasBaseType(\"Abp.Authorization.PermissionSetting\");\n\n                    b.Property<int>(\"RoleId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasIndex(\"RoleId\");\n\n                    b.ToTable(\"AbpPermissions\");\n\n                    b.HasDiscriminator().HasValue(\"RolePermissionSetting\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserPermissionSetting\", b =>\n                {\n                    b.HasBaseType(\"Abp.Authorization.PermissionSetting\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasIndex(\"UserId\");\n\n                    b.ToTable(\"AbpPermissions\");\n\n                    b.HasDiscriminator().HasValue(\"UserPermissionSetting\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Roles.RoleClaim\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Roles.Role\", null)\n                        .WithMany(\"Claims\")\n                        .HasForeignKey(\"RoleId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserClaim\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", null)\n                        .WithMany(\"Claims\")\n                        .HasForeignKey(\"UserId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserLogin\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", null)\n                        .WithMany(\"Logins\")\n                        .HasForeignKey(\"UserId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserRole\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", null)\n                        .WithMany(\"Roles\")\n                        .HasForeignKey(\"UserId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserToken\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", null)\n                        .WithMany(\"Tokens\")\n                        .HasForeignKey(\"UserId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.Configuration.Setting\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", null)\n                        .WithMany(\"Settings\")\n                        .HasForeignKey(\"UserId\");\n                });\n\n            modelBuilder.Entity(\"Abp.DynamicEntityProperties.DynamicEntityProperty\", b =>\n                {\n                    b.HasOne(\"Abp.DynamicEntityProperties.DynamicProperty\", \"DynamicProperty\")\n                        .WithMany()\n                        .HasForeignKey(\"DynamicPropertyId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n\n                    b.Navigation(\"DynamicProperty\");\n                });\n\n            modelBuilder.Entity(\"Abp.DynamicEntityProperties.DynamicEntityPropertyValue\", b =>\n                {\n                    b.HasOne(\"Abp.DynamicEntityProperties.DynamicEntityProperty\", \"DynamicEntityProperty\")\n                        .WithMany()\n                        .HasForeignKey(\"DynamicEntityPropertyId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n\n                    b.Navigation(\"DynamicEntityProperty\");\n                });\n\n            modelBuilder.Entity(\"Abp.DynamicEntityProperties.DynamicPropertyValue\", b =>\n                {\n                    b.HasOne(\"Abp.DynamicEntityProperties.DynamicProperty\", \"DynamicProperty\")\n                        .WithMany(\"DynamicPropertyValues\")\n                        .HasForeignKey(\"DynamicPropertyId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n\n                    b.Navigation(\"DynamicProperty\");\n                });\n\n            modelBuilder.Entity(\"Abp.EntityHistory.EntityChange\", b =>\n                {\n                    b.HasOne(\"Abp.EntityHistory.EntityChangeSet\", null)\n                        .WithMany(\"EntityChanges\")\n                        .HasForeignKey(\"EntityChangeSetId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.EntityHistory.EntityPropertyChange\", b =>\n                {\n                    b.HasOne(\"Abp.EntityHistory.EntityChange\", null)\n                        .WithMany(\"PropertyChanges\")\n                        .HasForeignKey(\"EntityChangeId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.Organizations.OrganizationUnit\", b =>\n                {\n                    b.HasOne(\"Abp.Organizations.OrganizationUnit\", \"Parent\")\n                        .WithMany(\"Children\")\n                        .HasForeignKey(\"ParentId\");\n\n                    b.Navigation(\"Parent\");\n                });\n\n            modelBuilder.Entity(\"Abp.Webhooks.WebhookSendAttempt\", b =>\n                {\n                    b.HasOne(\"Abp.Webhooks.WebhookEvent\", \"WebhookEvent\")\n                        .WithMany()\n                        .HasForeignKey(\"WebhookEventId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n\n                    b.Navigation(\"WebhookEvent\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Authorization.Roles.Role\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"CreatorUser\")\n                        .WithMany()\n                        .HasForeignKey(\"CreatorUserId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"DeleterUser\")\n                        .WithMany()\n                        .HasForeignKey(\"DeleterUserId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"LastModifierUser\")\n                        .WithMany()\n                        .HasForeignKey(\"LastModifierUserId\");\n\n                    b.Navigation(\"CreatorUser\");\n\n                    b.Navigation(\"DeleterUser\");\n\n                    b.Navigation(\"LastModifierUser\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Authorization.Users.User\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"CreatorUser\")\n                        .WithMany()\n                        .HasForeignKey(\"CreatorUserId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"DeleterUser\")\n                        .WithMany()\n                        .HasForeignKey(\"DeleterUserId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"LastModifierUser\")\n                        .WithMany()\n                        .HasForeignKey(\"LastModifierUserId\");\n\n                    b.Navigation(\"CreatorUser\");\n\n                    b.Navigation(\"DeleterUser\");\n\n                    b.Navigation(\"LastModifierUser\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.DefaultQuery\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"CreatorUser\")\n                        .WithMany()\n                        .HasForeignKey(\"CreatorUserId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"DeleterUser\")\n                        .WithMany()\n                        .HasForeignKey(\"DeleterUserId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"LastModifierUser\")\n                        .WithMany()\n                        .HasForeignKey(\"LastModifierUserId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"User\")\n                        .WithMany()\n                        .HasForeignKey(\"UserId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n\n                    b.Navigation(\"CreatorUser\");\n\n                    b.Navigation(\"DeleterUser\");\n\n                    b.Navigation(\"LastModifierUser\");\n\n                    b.Navigation(\"User\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.QueryCrawlerSummary\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Crawlers.QuerySummary\", \"QuerySummary\")\n                        .WithMany(\"QueryCrawlerSummaries\")\n                        .HasForeignKey(\"QuerySummaryId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n\n                    b.Navigation(\"QuerySummary\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.QueryHistory\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"User\")\n                        .WithMany()\n                        .HasForeignKey(\"UserId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n\n                    b.Navigation(\"User\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.QuerySummary\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Crawlers.QueryHistory\", \"QueryHistory\")\n                        .WithOne()\n                        .HasForeignKey(\"AcmStatisticsBackend.Crawlers.QuerySummary\", \"QueryHistoryId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n\n                    b.Navigation(\"QueryHistory\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.QueryWorkerHistory\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Crawlers.QueryHistory\", \"QueryHistory\")\n                        .WithMany(\"QueryWorkerHistories\")\n                        .HasForeignKey(\"QueryHistoryId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n\n                    b.Navigation(\"QueryHistory\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.UsernameInCrawler\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Crawlers.QueryCrawlerSummary\", \"QueryCrawlerSummary\")\n                        .WithMany(\"Usernames\")\n                        .HasForeignKey(\"QueryCrawlerSummaryId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n\n                    b.Navigation(\"QueryCrawlerSummary\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.MultiTenancy.Tenant\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"CreatorUser\")\n                        .WithMany()\n                        .HasForeignKey(\"CreatorUserId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"DeleterUser\")\n                        .WithMany()\n                        .HasForeignKey(\"DeleterUserId\");\n\n                    b.HasOne(\"Abp.Application.Editions.Edition\", \"Edition\")\n                        .WithMany()\n                        .HasForeignKey(\"EditionId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"LastModifierUser\")\n                        .WithMany()\n                        .HasForeignKey(\"LastModifierUserId\");\n\n                    b.Navigation(\"CreatorUser\");\n\n                    b.Navigation(\"DeleterUser\");\n\n                    b.Navigation(\"Edition\");\n\n                    b.Navigation(\"LastModifierUser\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Settings.UserSettingAttribute\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"CreatorUser\")\n                        .WithMany()\n                        .HasForeignKey(\"CreatorUserId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"LastModifierUser\")\n                        .WithMany()\n                        .HasForeignKey(\"LastModifierUserId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"User\")\n                        .WithMany()\n                        .HasForeignKey(\"UserId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n\n                    b.Navigation(\"CreatorUser\");\n\n                    b.Navigation(\"LastModifierUser\");\n\n                    b.Navigation(\"User\");\n                });\n\n            modelBuilder.Entity(\"Abp.Application.Features.EditionFeatureSetting\", b =>\n                {\n                    b.HasOne(\"Abp.Application.Editions.Edition\", \"Edition\")\n                        .WithMany()\n                        .HasForeignKey(\"EditionId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n\n                    b.Navigation(\"Edition\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Roles.RolePermissionSetting\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Roles.Role\", null)\n                        .WithMany(\"Permissions\")\n                        .HasForeignKey(\"RoleId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserPermissionSetting\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", null)\n                        .WithMany(\"Permissions\")\n                        .HasForeignKey(\"UserId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.DynamicEntityProperties.DynamicProperty\", b =>\n                {\n                    b.Navigation(\"DynamicPropertyValues\");\n                });\n\n            modelBuilder.Entity(\"Abp.EntityHistory.EntityChange\", b =>\n                {\n                    b.Navigation(\"PropertyChanges\");\n                });\n\n            modelBuilder.Entity(\"Abp.EntityHistory.EntityChangeSet\", b =>\n                {\n                    b.Navigation(\"EntityChanges\");\n                });\n\n            modelBuilder.Entity(\"Abp.Organizations.OrganizationUnit\", b =>\n                {\n                    b.Navigation(\"Children\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Authorization.Roles.Role\", b =>\n                {\n                    b.Navigation(\"Claims\");\n\n                    b.Navigation(\"Permissions\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Authorization.Users.User\", b =>\n                {\n                    b.Navigation(\"Claims\");\n\n                    b.Navigation(\"Logins\");\n\n                    b.Navigation(\"Permissions\");\n\n                    b.Navigation(\"Roles\");\n\n                    b.Navigation(\"Settings\");\n\n                    b.Navigation(\"Tokens\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.QueryCrawlerSummary\", b =>\n                {\n                    b.Navigation(\"Usernames\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.QueryHistory\", b =>\n                {\n                    b.Navigation(\"QueryWorkerHistories\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.QuerySummary\", b =>\n                {\n                    b.Navigation(\"QueryCrawlerSummaries\");\n                });\n#pragma warning restore 612, 618\n        }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.EntityFrameworkCore/Migrations/20210627092246_RemoveRoleDescription.cs",
    "content": "﻿using Microsoft.EntityFrameworkCore.Migrations;\n\nnamespace AcmStatisticsBackend.Migrations\n{\n    public partial class RemoveRoleDescription : Migration\n    {\n        protected override void Up(MigrationBuilder migrationBuilder)\n        {\n            migrationBuilder.DropColumn(\n                name: \"Description\",\n                table: \"AbpRoles\");\n        }\n\n        protected override void Down(MigrationBuilder migrationBuilder)\n        {\n            migrationBuilder.AddColumn<string>(\n                name: \"Description\",\n                table: \"AbpRoles\",\n                type: \"longtext CHARACTER SET utf8mb4\",\n                maxLength: 5000,\n                nullable: true);\n        }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.EntityFrameworkCore/Migrations/20210627092411_UpgradeDriver.Designer.cs",
    "content": "﻿// <auto-generated />\nusing System;\nusing AcmStatisticsBackend.EntityFrameworkCore;\nusing Microsoft.EntityFrameworkCore;\nusing Microsoft.EntityFrameworkCore.Infrastructure;\nusing Microsoft.EntityFrameworkCore.Migrations;\nusing Microsoft.EntityFrameworkCore.Storage.ValueConversion;\n\nnamespace AcmStatisticsBackend.Migrations\n{\n    [DbContext(typeof(AcmStatisticsBackendDbContext))]\n    [Migration(\"20210627092411_UpgradeDriver\")]\n    partial class UpgradeDriver\n    {\n        protected override void BuildTargetModel(ModelBuilder modelBuilder)\n        {\n#pragma warning disable 612, 618\n            modelBuilder\n                .HasAnnotation(\"Relational:MaxIdentifierLength\", 64)\n                .HasAnnotation(\"ProductVersion\", \"5.0.7\");\n\n            modelBuilder.Entity(\"Abp.Application.Editions.Edition\", b =>\n                {\n                    b.Property<int>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"int\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"DeleterUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"DeletionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"DisplayName\")\n                        .IsRequired()\n                        .HasMaxLength(64)\n                        .HasColumnType(\"varchar(64)\");\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Name\")\n                        .IsRequired()\n                        .HasMaxLength(32)\n                        .HasColumnType(\"varchar(32)\");\n\n                    b.HasKey(\"Id\");\n\n                    b.ToTable(\"AbpEditions\");\n                });\n\n            modelBuilder.Entity(\"Abp.Application.Features.FeatureSetting\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Discriminator\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext\");\n\n                    b.Property<string>(\"Name\")\n                        .IsRequired()\n                        .HasMaxLength(128)\n                        .HasColumnType(\"varchar(128)\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"Value\")\n                        .IsRequired()\n                        .HasMaxLength(2000)\n                        .HasColumnType(\"varchar(2000)\");\n\n                    b.HasKey(\"Id\");\n\n                    b.ToTable(\"AbpFeatures\");\n\n                    b.HasDiscriminator<string>(\"Discriminator\").HasValue(\"FeatureSetting\");\n                });\n\n            modelBuilder.Entity(\"Abp.Auditing.AuditLog\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"BrowserInfo\")\n                        .HasMaxLength(512)\n                        .HasColumnType(\"varchar(512)\");\n\n                    b.Property<string>(\"ClientIpAddress\")\n                        .HasMaxLength(64)\n                        .HasColumnType(\"varchar(64)\");\n\n                    b.Property<string>(\"ClientName\")\n                        .HasMaxLength(128)\n                        .HasColumnType(\"varchar(128)\");\n\n                    b.Property<string>(\"CustomData\")\n                        .HasMaxLength(2000)\n                        .HasColumnType(\"varchar(2000)\");\n\n                    b.Property<string>(\"Exception\")\n                        .HasMaxLength(2000)\n                        .HasColumnType(\"varchar(2000)\");\n\n                    b.Property<string>(\"ExceptionMessage\")\n                        .HasMaxLength(1024)\n                        .HasColumnType(\"varchar(1024)\");\n\n                    b.Property<int>(\"ExecutionDuration\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<DateTime>(\"ExecutionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<int?>(\"ImpersonatorTenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long?>(\"ImpersonatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"MethodName\")\n                        .HasMaxLength(256)\n                        .HasColumnType(\"varchar(256)\");\n\n                    b.Property<string>(\"Parameters\")\n                        .HasMaxLength(1024)\n                        .HasColumnType(\"varchar(1024)\");\n\n                    b.Property<string>(\"ReturnValue\")\n                        .HasColumnType(\"longtext\");\n\n                    b.Property<string>(\"ServiceName\")\n                        .HasMaxLength(256)\n                        .HasColumnType(\"varchar(256)\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long?>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"TenantId\", \"ExecutionDuration\");\n\n                    b.HasIndex(\"TenantId\", \"ExecutionTime\");\n\n                    b.HasIndex(\"TenantId\", \"UserId\");\n\n                    b.ToTable(\"AbpAuditLogs\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.PermissionSetting\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Discriminator\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext\");\n\n                    b.Property<bool>(\"IsGranted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<string>(\"Name\")\n                        .IsRequired()\n                        .HasMaxLength(128)\n                        .HasColumnType(\"varchar(128)\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"TenantId\", \"Name\");\n\n                    b.ToTable(\"AbpPermissions\");\n\n                    b.HasDiscriminator<string>(\"Discriminator\").HasValue(\"PermissionSetting\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Roles.RoleClaim\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"ClaimType\")\n                        .HasMaxLength(256)\n                        .HasColumnType(\"varchar(256)\");\n\n                    b.Property<string>(\"ClaimValue\")\n                        .HasColumnType(\"longtext\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int>(\"RoleId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"RoleId\");\n\n                    b.HasIndex(\"TenantId\", \"ClaimType\");\n\n                    b.ToTable(\"AbpRoleClaims\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserAccount\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"DeleterUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"DeletionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"EmailAddress\")\n                        .HasMaxLength(256)\n                        .HasColumnType(\"varchar(256)\");\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"UserLinkId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"UserName\")\n                        .HasMaxLength(256)\n                        .HasColumnType(\"varchar(256)\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"EmailAddress\");\n\n                    b.HasIndex(\"UserName\");\n\n                    b.HasIndex(\"TenantId\", \"EmailAddress\");\n\n                    b.HasIndex(\"TenantId\", \"UserId\");\n\n                    b.HasIndex(\"TenantId\", \"UserName\");\n\n                    b.ToTable(\"AbpUserAccounts\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserClaim\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"ClaimType\")\n                        .HasMaxLength(256)\n                        .HasColumnType(\"varchar(256)\");\n\n                    b.Property<string>(\"ClaimValue\")\n                        .HasColumnType(\"longtext\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"UserId\");\n\n                    b.HasIndex(\"TenantId\", \"ClaimType\");\n\n                    b.ToTable(\"AbpUserClaims\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserLogin\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"LoginProvider\")\n                        .IsRequired()\n                        .HasMaxLength(128)\n                        .HasColumnType(\"varchar(128)\");\n\n                    b.Property<string>(\"ProviderKey\")\n                        .IsRequired()\n                        .HasMaxLength(256)\n                        .HasColumnType(\"varchar(256)\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"UserId\");\n\n                    b.HasIndex(\"TenantId\", \"UserId\");\n\n                    b.HasIndex(\"TenantId\", \"LoginProvider\", \"ProviderKey\");\n\n                    b.ToTable(\"AbpUserLogins\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserLoginAttempt\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"BrowserInfo\")\n                        .HasMaxLength(512)\n                        .HasColumnType(\"varchar(512)\");\n\n                    b.Property<string>(\"ClientIpAddress\")\n                        .HasMaxLength(64)\n                        .HasColumnType(\"varchar(64)\");\n\n                    b.Property<string>(\"ClientName\")\n                        .HasMaxLength(128)\n                        .HasColumnType(\"varchar(128)\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<byte>(\"Result\")\n                        .HasColumnType(\"tinyint unsigned\");\n\n                    b.Property<string>(\"TenancyName\")\n                        .HasMaxLength(64)\n                        .HasColumnType(\"varchar(64)\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long?>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"UserNameOrEmailAddress\")\n                        .HasMaxLength(256)\n                        .HasColumnType(\"varchar(256)\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"UserId\", \"TenantId\");\n\n                    b.HasIndex(\"TenancyName\", \"UserNameOrEmailAddress\", \"Result\");\n\n                    b.ToTable(\"AbpUserLoginAttempts\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserOrganizationUnit\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<long>(\"OrganizationUnitId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"TenantId\", \"OrganizationUnitId\");\n\n                    b.HasIndex(\"TenantId\", \"UserId\");\n\n                    b.ToTable(\"AbpUserOrganizationUnits\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserRole\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int>(\"RoleId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"UserId\");\n\n                    b.HasIndex(\"TenantId\", \"RoleId\");\n\n                    b.HasIndex(\"TenantId\", \"UserId\");\n\n                    b.ToTable(\"AbpUserRoles\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserToken\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"ExpireDate\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"LoginProvider\")\n                        .HasMaxLength(128)\n                        .HasColumnType(\"varchar(128)\");\n\n                    b.Property<string>(\"Name\")\n                        .HasMaxLength(128)\n                        .HasColumnType(\"varchar(128)\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Value\")\n                        .HasMaxLength(512)\n                        .HasColumnType(\"varchar(512)\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"UserId\");\n\n                    b.HasIndex(\"TenantId\", \"UserId\");\n\n                    b.ToTable(\"AbpUserTokens\");\n                });\n\n            modelBuilder.Entity(\"Abp.BackgroundJobs.BackgroundJobInfo\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<bool>(\"IsAbandoned\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<string>(\"JobArgs\")\n                        .IsRequired()\n                        .HasMaxLength(1048576)\n                        .HasColumnType(\"longtext\");\n\n                    b.Property<string>(\"JobType\")\n                        .IsRequired()\n                        .HasMaxLength(512)\n                        .HasColumnType(\"varchar(512)\");\n\n                    b.Property<DateTime?>(\"LastTryTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<DateTime>(\"NextTryTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<byte>(\"Priority\")\n                        .HasColumnType(\"tinyint unsigned\");\n\n                    b.Property<short>(\"TryCount\")\n                        .HasColumnType(\"smallint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"IsAbandoned\", \"NextTryTime\");\n\n                    b.ToTable(\"AbpBackgroundJobs\");\n                });\n\n            modelBuilder.Entity(\"Abp.Configuration.Setting\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Name\")\n                        .IsRequired()\n                        .HasMaxLength(256)\n                        .HasColumnType(\"varchar(256)\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long?>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Value\")\n                        .HasColumnType(\"longtext\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"UserId\");\n\n                    b.HasIndex(\"TenantId\", \"Name\", \"UserId\")\n                        .IsUnique();\n\n                    b.ToTable(\"AbpSettings\");\n                });\n\n            modelBuilder.Entity(\"Abp.DynamicEntityProperties.DynamicEntityProperty\", b =>\n                {\n                    b.Property<int>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"int\");\n\n                    b.Property<int>(\"DynamicPropertyId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"EntityFullName\")\n                        .HasMaxLength(256)\n                        .HasColumnType(\"varchar(256)\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"DynamicPropertyId\");\n\n                    b.HasIndex(\"EntityFullName\", \"DynamicPropertyId\", \"TenantId\")\n                        .IsUnique();\n\n                    b.ToTable(\"AbpDynamicEntityProperties\");\n                });\n\n            modelBuilder.Entity(\"Abp.DynamicEntityProperties.DynamicEntityPropertyValue\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int>(\"DynamicEntityPropertyId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"EntityId\")\n                        .HasColumnType(\"longtext\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"Value\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"DynamicEntityPropertyId\");\n\n                    b.ToTable(\"AbpDynamicEntityPropertyValues\");\n                });\n\n            modelBuilder.Entity(\"Abp.DynamicEntityProperties.DynamicProperty\", b =>\n                {\n                    b.Property<int>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"DisplayName\")\n                        .HasColumnType(\"longtext\");\n\n                    b.Property<string>(\"InputType\")\n                        .HasColumnType(\"longtext\");\n\n                    b.Property<string>(\"Permission\")\n                        .HasColumnType(\"longtext\");\n\n                    b.Property<string>(\"PropertyName\")\n                        .HasMaxLength(256)\n                        .HasColumnType(\"varchar(256)\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"PropertyName\", \"TenantId\")\n                        .IsUnique();\n\n                    b.ToTable(\"AbpDynamicProperties\");\n                });\n\n            modelBuilder.Entity(\"Abp.DynamicEntityProperties.DynamicPropertyValue\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int>(\"DynamicPropertyId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"Value\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"DynamicPropertyId\");\n\n                    b.ToTable(\"AbpDynamicPropertyValues\");\n                });\n\n            modelBuilder.Entity(\"Abp.EntityHistory.EntityChange\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"ChangeTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<byte>(\"ChangeType\")\n                        .HasColumnType(\"tinyint unsigned\");\n\n                    b.Property<long>(\"EntityChangeSetId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"EntityId\")\n                        .HasMaxLength(48)\n                        .HasColumnType(\"varchar(48)\");\n\n                    b.Property<string>(\"EntityTypeFullName\")\n                        .HasMaxLength(192)\n                        .HasColumnType(\"varchar(192)\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"EntityChangeSetId\");\n\n                    b.HasIndex(\"EntityTypeFullName\", \"EntityId\");\n\n                    b.ToTable(\"AbpEntityChanges\");\n                });\n\n            modelBuilder.Entity(\"Abp.EntityHistory.EntityChangeSet\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"BrowserInfo\")\n                        .HasMaxLength(512)\n                        .HasColumnType(\"varchar(512)\");\n\n                    b.Property<string>(\"ClientIpAddress\")\n                        .HasMaxLength(64)\n                        .HasColumnType(\"varchar(64)\");\n\n                    b.Property<string>(\"ClientName\")\n                        .HasMaxLength(128)\n                        .HasColumnType(\"varchar(128)\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"ExtensionData\")\n                        .HasColumnType(\"longtext\");\n\n                    b.Property<int?>(\"ImpersonatorTenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long?>(\"ImpersonatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Reason\")\n                        .HasMaxLength(256)\n                        .HasColumnType(\"varchar(256)\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long?>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"TenantId\", \"CreationTime\");\n\n                    b.HasIndex(\"TenantId\", \"Reason\");\n\n                    b.HasIndex(\"TenantId\", \"UserId\");\n\n                    b.ToTable(\"AbpEntityChangeSets\");\n                });\n\n            modelBuilder.Entity(\"Abp.EntityHistory.EntityPropertyChange\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long>(\"EntityChangeId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"NewValue\")\n                        .HasMaxLength(512)\n                        .HasColumnType(\"varchar(512)\");\n\n                    b.Property<string>(\"NewValueHash\")\n                        .HasColumnType(\"longtext\");\n\n                    b.Property<string>(\"OriginalValue\")\n                        .HasMaxLength(512)\n                        .HasColumnType(\"varchar(512)\");\n\n                    b.Property<string>(\"OriginalValueHash\")\n                        .HasColumnType(\"longtext\");\n\n                    b.Property<string>(\"PropertyName\")\n                        .HasMaxLength(96)\n                        .HasColumnType(\"varchar(96)\");\n\n                    b.Property<string>(\"PropertyTypeFullName\")\n                        .HasMaxLength(192)\n                        .HasColumnType(\"varchar(192)\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"EntityChangeId\");\n\n                    b.ToTable(\"AbpEntityPropertyChanges\");\n                });\n\n            modelBuilder.Entity(\"Abp.Localization.ApplicationLanguage\", b =>\n                {\n                    b.Property<int>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"int\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"DeleterUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"DeletionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"DisplayName\")\n                        .IsRequired()\n                        .HasMaxLength(64)\n                        .HasColumnType(\"varchar(64)\");\n\n                    b.Property<string>(\"Icon\")\n                        .HasMaxLength(128)\n                        .HasColumnType(\"varchar(128)\");\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<bool>(\"IsDisabled\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Name\")\n                        .IsRequired()\n                        .HasMaxLength(128)\n                        .HasColumnType(\"varchar(128)\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"TenantId\", \"Name\");\n\n                    b.ToTable(\"AbpLanguages\");\n                });\n\n            modelBuilder.Entity(\"Abp.Localization.ApplicationLanguageText\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Key\")\n                        .IsRequired()\n                        .HasMaxLength(256)\n                        .HasColumnType(\"varchar(256)\");\n\n                    b.Property<string>(\"LanguageName\")\n                        .IsRequired()\n                        .HasMaxLength(128)\n                        .HasColumnType(\"varchar(128)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Source\")\n                        .IsRequired()\n                        .HasMaxLength(128)\n                        .HasColumnType(\"varchar(128)\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"Value\")\n                        .IsRequired()\n                        .HasMaxLength(67108864)\n                        .HasColumnType(\"longtext\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"TenantId\", \"Source\", \"LanguageName\", \"Key\");\n\n                    b.ToTable(\"AbpLanguageTexts\");\n                });\n\n            modelBuilder.Entity(\"Abp.Notifications.NotificationInfo\", b =>\n                {\n                    b.Property<Guid>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"char(36)\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Data\")\n                        .HasMaxLength(1048576)\n                        .HasColumnType(\"longtext\");\n\n                    b.Property<string>(\"DataTypeName\")\n                        .HasMaxLength(512)\n                        .HasColumnType(\"varchar(512)\");\n\n                    b.Property<string>(\"EntityId\")\n                        .HasMaxLength(96)\n                        .HasColumnType(\"varchar(96)\");\n\n                    b.Property<string>(\"EntityTypeAssemblyQualifiedName\")\n                        .HasMaxLength(512)\n                        .HasColumnType(\"varchar(512)\");\n\n                    b.Property<string>(\"EntityTypeName\")\n                        .HasMaxLength(250)\n                        .HasColumnType(\"varchar(250)\");\n\n                    b.Property<string>(\"ExcludedUserIds\")\n                        .HasMaxLength(131072)\n                        .HasColumnType(\"longtext\");\n\n                    b.Property<string>(\"NotificationName\")\n                        .IsRequired()\n                        .HasMaxLength(96)\n                        .HasColumnType(\"varchar(96)\");\n\n                    b.Property<byte>(\"Severity\")\n                        .HasColumnType(\"tinyint unsigned\");\n\n                    b.Property<string>(\"TenantIds\")\n                        .HasMaxLength(131072)\n                        .HasColumnType(\"longtext\");\n\n                    b.Property<string>(\"UserIds\")\n                        .HasMaxLength(131072)\n                        .HasColumnType(\"longtext\");\n\n                    b.HasKey(\"Id\");\n\n                    b.ToTable(\"AbpNotifications\");\n                });\n\n            modelBuilder.Entity(\"Abp.Notifications.NotificationSubscriptionInfo\", b =>\n                {\n                    b.Property<Guid>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"char(36)\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"EntityId\")\n                        .HasMaxLength(96)\n                        .HasColumnType(\"varchar(96)\");\n\n                    b.Property<string>(\"EntityTypeAssemblyQualifiedName\")\n                        .HasMaxLength(512)\n                        .HasColumnType(\"varchar(512)\");\n\n                    b.Property<string>(\"EntityTypeName\")\n                        .HasMaxLength(250)\n                        .HasColumnType(\"varchar(250)\");\n\n                    b.Property<string>(\"NotificationName\")\n                        .HasMaxLength(96)\n                        .HasColumnType(\"varchar(96)\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"NotificationName\", \"EntityTypeName\", \"EntityId\", \"UserId\");\n\n                    b.HasIndex(\"TenantId\", \"NotificationName\", \"EntityTypeName\", \"EntityId\", \"UserId\");\n\n                    b.ToTable(\"AbpNotificationSubscriptions\");\n                });\n\n            modelBuilder.Entity(\"Abp.Notifications.TenantNotificationInfo\", b =>\n                {\n                    b.Property<Guid>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"char(36)\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Data\")\n                        .HasMaxLength(1048576)\n                        .HasColumnType(\"longtext\");\n\n                    b.Property<string>(\"DataTypeName\")\n                        .HasMaxLength(512)\n                        .HasColumnType(\"varchar(512)\");\n\n                    b.Property<string>(\"EntityId\")\n                        .HasMaxLength(96)\n                        .HasColumnType(\"varchar(96)\");\n\n                    b.Property<string>(\"EntityTypeAssemblyQualifiedName\")\n                        .HasMaxLength(512)\n                        .HasColumnType(\"varchar(512)\");\n\n                    b.Property<string>(\"EntityTypeName\")\n                        .HasMaxLength(250)\n                        .HasColumnType(\"varchar(250)\");\n\n                    b.Property<string>(\"NotificationName\")\n                        .IsRequired()\n                        .HasMaxLength(96)\n                        .HasColumnType(\"varchar(96)\");\n\n                    b.Property<byte>(\"Severity\")\n                        .HasColumnType(\"tinyint unsigned\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"TenantId\");\n\n                    b.ToTable(\"AbpTenantNotifications\");\n                });\n\n            modelBuilder.Entity(\"Abp.Notifications.UserNotificationInfo\", b =>\n                {\n                    b.Property<Guid>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"char(36)\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<int>(\"State\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<Guid>(\"TenantNotificationId\")\n                        .HasColumnType(\"char(36)\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"UserId\", \"State\", \"CreationTime\");\n\n                    b.ToTable(\"AbpUserNotifications\");\n                });\n\n            modelBuilder.Entity(\"Abp.Organizations.OrganizationUnit\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Code\")\n                        .IsRequired()\n                        .HasMaxLength(95)\n                        .HasColumnType(\"varchar(95)\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"DeleterUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"DeletionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"DisplayName\")\n                        .IsRequired()\n                        .HasMaxLength(128)\n                        .HasColumnType(\"varchar(128)\");\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"ParentId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"ParentId\");\n\n                    b.HasIndex(\"TenantId\", \"Code\");\n\n                    b.ToTable(\"AbpOrganizationUnits\");\n                });\n\n            modelBuilder.Entity(\"Abp.Organizations.OrganizationUnitRole\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<long>(\"OrganizationUnitId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int>(\"RoleId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"TenantId\", \"OrganizationUnitId\");\n\n                    b.HasIndex(\"TenantId\", \"RoleId\");\n\n                    b.ToTable(\"AbpOrganizationUnitRoles\");\n                });\n\n            modelBuilder.Entity(\"Abp.Webhooks.WebhookEvent\", b =>\n                {\n                    b.Property<Guid>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"char(36)\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"Data\")\n                        .HasColumnType(\"longtext\");\n\n                    b.Property<DateTime?>(\"DeletionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"WebhookName\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext\");\n\n                    b.HasKey(\"Id\");\n\n                    b.ToTable(\"AbpWebhookEvents\");\n                });\n\n            modelBuilder.Entity(\"Abp.Webhooks.WebhookSendAttempt\", b =>\n                {\n                    b.Property<Guid>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"char(36)\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"Response\")\n                        .HasColumnType(\"longtext\");\n\n                    b.Property<int?>(\"ResponseStatusCode\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<Guid>(\"WebhookEventId\")\n                        .HasColumnType(\"char(36)\");\n\n                    b.Property<Guid>(\"WebhookSubscriptionId\")\n                        .HasColumnType(\"char(36)\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"WebhookEventId\");\n\n                    b.ToTable(\"AbpWebhookSendAttempts\");\n                });\n\n            modelBuilder.Entity(\"Abp.Webhooks.WebhookSubscriptionInfo\", b =>\n                {\n                    b.Property<Guid>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"char(36)\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Headers\")\n                        .HasColumnType(\"longtext\");\n\n                    b.Property<bool>(\"IsActive\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<string>(\"Secret\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"WebhookUri\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext\");\n\n                    b.Property<string>(\"Webhooks\")\n                        .HasColumnType(\"longtext\");\n\n                    b.HasKey(\"Id\");\n\n                    b.ToTable(\"AbpWebhookSubscriptions\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Authorization.Roles.Role\", b =>\n                {\n                    b.Property<int>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"ConcurrencyStamp\")\n                        .IsConcurrencyToken()\n                        .HasMaxLength(128)\n                        .HasColumnType(\"varchar(128)\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"DeleterUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"DeletionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"DisplayName\")\n                        .IsRequired()\n                        .HasMaxLength(64)\n                        .HasColumnType(\"varchar(64)\");\n\n                    b.Property<bool>(\"IsDefault\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<bool>(\"IsStatic\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Name\")\n                        .IsRequired()\n                        .HasMaxLength(32)\n                        .HasColumnType(\"varchar(32)\");\n\n                    b.Property<string>(\"NormalizedName\")\n                        .IsRequired()\n                        .HasMaxLength(32)\n                        .HasColumnType(\"varchar(32)\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"CreatorUserId\");\n\n                    b.HasIndex(\"DeleterUserId\");\n\n                    b.HasIndex(\"LastModifierUserId\");\n\n                    b.HasIndex(\"TenantId\", \"NormalizedName\");\n\n                    b.ToTable(\"AbpRoles\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Authorization.Users.User\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int>(\"AccessFailedCount\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"AuthenticationSource\")\n                        .HasMaxLength(64)\n                        .HasColumnType(\"varchar(64)\");\n\n                    b.Property<string>(\"ConcurrencyStamp\")\n                        .IsConcurrencyToken()\n                        .HasMaxLength(128)\n                        .HasColumnType(\"varchar(128)\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"DeleterUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"DeletionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"EmailAddress\")\n                        .IsRequired()\n                        .HasMaxLength(256)\n                        .HasColumnType(\"varchar(256)\");\n\n                    b.Property<string>(\"EmailConfirmationCode\")\n                        .HasMaxLength(328)\n                        .HasColumnType(\"varchar(328)\");\n\n                    b.Property<bool>(\"IsActive\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<bool>(\"IsEmailConfirmed\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<bool>(\"IsLockoutEnabled\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<bool>(\"IsPhoneNumberConfirmed\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<bool>(\"IsTwoFactorEnabled\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"LockoutEndDateUtc\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"Name\")\n                        .IsRequired()\n                        .HasMaxLength(64)\n                        .HasColumnType(\"varchar(64)\");\n\n                    b.Property<string>(\"NormalizedEmailAddress\")\n                        .IsRequired()\n                        .HasMaxLength(256)\n                        .HasColumnType(\"varchar(256)\");\n\n                    b.Property<string>(\"NormalizedUserName\")\n                        .IsRequired()\n                        .HasMaxLength(256)\n                        .HasColumnType(\"varchar(256)\");\n\n                    b.Property<string>(\"Password\")\n                        .IsRequired()\n                        .HasMaxLength(128)\n                        .HasColumnType(\"varchar(128)\");\n\n                    b.Property<string>(\"PasswordResetCode\")\n                        .HasMaxLength(328)\n                        .HasColumnType(\"varchar(328)\");\n\n                    b.Property<string>(\"PhoneNumber\")\n                        .HasMaxLength(32)\n                        .HasColumnType(\"varchar(32)\");\n\n                    b.Property<string>(\"SecurityStamp\")\n                        .HasMaxLength(128)\n                        .HasColumnType(\"varchar(128)\");\n\n                    b.Property<string>(\"Surname\")\n                        .IsRequired()\n                        .HasMaxLength(64)\n                        .HasColumnType(\"varchar(64)\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"UserName\")\n                        .IsRequired()\n                        .HasMaxLength(256)\n                        .HasColumnType(\"varchar(256)\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"CreatorUserId\");\n\n                    b.HasIndex(\"DeleterUserId\");\n\n                    b.HasIndex(\"LastModifierUserId\");\n\n                    b.HasIndex(\"TenantId\", \"NormalizedEmailAddress\");\n\n                    b.HasIndex(\"TenantId\", \"NormalizedUserName\");\n\n                    b.ToTable(\"AbpUsers\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.DefaultQuery\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"DeleterUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"DeletionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"MainUsername\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"UsernamesInCrawlers\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"CreatorUserId\");\n\n                    b.HasIndex(\"DeleterUserId\");\n\n                    b.HasIndex(\"LastModifierUserId\");\n\n                    b.HasIndex(\"UserId\");\n\n                    b.ToTable(\"DefaultQueries\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.QueryCrawlerSummary\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"CrawlerName\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext\");\n\n                    b.Property<bool>(\"IsVirtualJudge\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<long>(\"QuerySummaryId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int>(\"Solved\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<int>(\"Submission\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"QuerySummaryId\");\n\n                    b.ToTable(\"QueryCrawlerSummaries\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.QueryHistory\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<bool>(\"IsReliableSource\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<string>(\"MainUsername\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"UserId\");\n\n                    b.ToTable(\"QueryHistories\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.QuerySummary\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"GenerateTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long>(\"QueryHistoryId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int>(\"Solved\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<int>(\"Submission\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"SummaryWarnings\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"QueryHistoryId\")\n                        .IsUnique();\n\n                    b.ToTable(\"QuerySummaries\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.QueryWorkerHistory\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"CrawlerName\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext\");\n\n                    b.Property<string>(\"ErrorMessage\")\n                        .HasColumnType(\"longtext\");\n\n                    b.Property<bool>(\"IsVirtualJudge\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<long>(\"QueryHistoryId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int>(\"Solved\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"SolvedList\")\n                        .HasColumnType(\"longtext\");\n\n                    b.Property<int>(\"Submission\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"SubmissionsByCrawlerName\")\n                        .HasColumnType(\"longtext\");\n\n                    b.Property<string>(\"Username\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"QueryHistoryId\");\n\n                    b.ToTable(\"QueryWorkerHistories\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.UsernameInCrawler\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"FromCrawlerName\")\n                        .HasColumnType(\"longtext\");\n\n                    b.Property<long>(\"QueryCrawlerSummaryId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Username\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"QueryCrawlerSummaryId\");\n\n                    b.ToTable(\"UsernameInCrawler\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.MultiTenancy.Tenant\", b =>\n                {\n                    b.Property<int>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"ConnectionString\")\n                        .HasMaxLength(1024)\n                        .HasColumnType(\"varchar(1024)\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"DeleterUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"DeletionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<int?>(\"EditionId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<bool>(\"IsActive\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Name\")\n                        .IsRequired()\n                        .HasMaxLength(128)\n                        .HasColumnType(\"varchar(128)\");\n\n                    b.Property<string>(\"TenancyName\")\n                        .IsRequired()\n                        .HasMaxLength(64)\n                        .HasColumnType(\"varchar(64)\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"CreatorUserId\");\n\n                    b.HasIndex(\"DeleterUserId\");\n\n                    b.HasIndex(\"EditionId\");\n\n                    b.HasIndex(\"LastModifierUserId\");\n\n                    b.HasIndex(\"TenancyName\");\n\n                    b.ToTable(\"AbpTenants\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Settings.UserSettingAttribute\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"LastTimeZoneChangedTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"CreatorUserId\");\n\n                    b.HasIndex(\"LastModifierUserId\");\n\n                    b.HasIndex(\"UserId\");\n\n                    b.ToTable(\"UserSettingAttributes\");\n                });\n\n            modelBuilder.Entity(\"Abp.Application.Features.EditionFeatureSetting\", b =>\n                {\n                    b.HasBaseType(\"Abp.Application.Features.FeatureSetting\");\n\n                    b.Property<int>(\"EditionId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasIndex(\"EditionId\", \"Name\");\n\n                    b.ToTable(\"AbpFeatures\");\n\n                    b.HasDiscriminator().HasValue(\"EditionFeatureSetting\");\n                });\n\n            modelBuilder.Entity(\"Abp.MultiTenancy.TenantFeatureSetting\", b =>\n                {\n                    b.HasBaseType(\"Abp.Application.Features.FeatureSetting\");\n\n                    b.HasIndex(\"TenantId\", \"Name\");\n\n                    b.ToTable(\"AbpFeatures\");\n\n                    b.HasDiscriminator().HasValue(\"TenantFeatureSetting\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Roles.RolePermissionSetting\", b =>\n                {\n                    b.HasBaseType(\"Abp.Authorization.PermissionSetting\");\n\n                    b.Property<int>(\"RoleId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasIndex(\"RoleId\");\n\n                    b.ToTable(\"AbpPermissions\");\n\n                    b.HasDiscriminator().HasValue(\"RolePermissionSetting\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserPermissionSetting\", b =>\n                {\n                    b.HasBaseType(\"Abp.Authorization.PermissionSetting\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasIndex(\"UserId\");\n\n                    b.ToTable(\"AbpPermissions\");\n\n                    b.HasDiscriminator().HasValue(\"UserPermissionSetting\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Roles.RoleClaim\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Roles.Role\", null)\n                        .WithMany(\"Claims\")\n                        .HasForeignKey(\"RoleId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserClaim\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", null)\n                        .WithMany(\"Claims\")\n                        .HasForeignKey(\"UserId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserLogin\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", null)\n                        .WithMany(\"Logins\")\n                        .HasForeignKey(\"UserId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserRole\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", null)\n                        .WithMany(\"Roles\")\n                        .HasForeignKey(\"UserId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserToken\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", null)\n                        .WithMany(\"Tokens\")\n                        .HasForeignKey(\"UserId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.Configuration.Setting\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", null)\n                        .WithMany(\"Settings\")\n                        .HasForeignKey(\"UserId\");\n                });\n\n            modelBuilder.Entity(\"Abp.DynamicEntityProperties.DynamicEntityProperty\", b =>\n                {\n                    b.HasOne(\"Abp.DynamicEntityProperties.DynamicProperty\", \"DynamicProperty\")\n                        .WithMany()\n                        .HasForeignKey(\"DynamicPropertyId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n\n                    b.Navigation(\"DynamicProperty\");\n                });\n\n            modelBuilder.Entity(\"Abp.DynamicEntityProperties.DynamicEntityPropertyValue\", b =>\n                {\n                    b.HasOne(\"Abp.DynamicEntityProperties.DynamicEntityProperty\", \"DynamicEntityProperty\")\n                        .WithMany()\n                        .HasForeignKey(\"DynamicEntityPropertyId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n\n                    b.Navigation(\"DynamicEntityProperty\");\n                });\n\n            modelBuilder.Entity(\"Abp.DynamicEntityProperties.DynamicPropertyValue\", b =>\n                {\n                    b.HasOne(\"Abp.DynamicEntityProperties.DynamicProperty\", \"DynamicProperty\")\n                        .WithMany(\"DynamicPropertyValues\")\n                        .HasForeignKey(\"DynamicPropertyId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n\n                    b.Navigation(\"DynamicProperty\");\n                });\n\n            modelBuilder.Entity(\"Abp.EntityHistory.EntityChange\", b =>\n                {\n                    b.HasOne(\"Abp.EntityHistory.EntityChangeSet\", null)\n                        .WithMany(\"EntityChanges\")\n                        .HasForeignKey(\"EntityChangeSetId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.EntityHistory.EntityPropertyChange\", b =>\n                {\n                    b.HasOne(\"Abp.EntityHistory.EntityChange\", null)\n                        .WithMany(\"PropertyChanges\")\n                        .HasForeignKey(\"EntityChangeId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.Organizations.OrganizationUnit\", b =>\n                {\n                    b.HasOne(\"Abp.Organizations.OrganizationUnit\", \"Parent\")\n                        .WithMany(\"Children\")\n                        .HasForeignKey(\"ParentId\");\n\n                    b.Navigation(\"Parent\");\n                });\n\n            modelBuilder.Entity(\"Abp.Webhooks.WebhookSendAttempt\", b =>\n                {\n                    b.HasOne(\"Abp.Webhooks.WebhookEvent\", \"WebhookEvent\")\n                        .WithMany()\n                        .HasForeignKey(\"WebhookEventId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n\n                    b.Navigation(\"WebhookEvent\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Authorization.Roles.Role\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"CreatorUser\")\n                        .WithMany()\n                        .HasForeignKey(\"CreatorUserId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"DeleterUser\")\n                        .WithMany()\n                        .HasForeignKey(\"DeleterUserId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"LastModifierUser\")\n                        .WithMany()\n                        .HasForeignKey(\"LastModifierUserId\");\n\n                    b.Navigation(\"CreatorUser\");\n\n                    b.Navigation(\"DeleterUser\");\n\n                    b.Navigation(\"LastModifierUser\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Authorization.Users.User\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"CreatorUser\")\n                        .WithMany()\n                        .HasForeignKey(\"CreatorUserId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"DeleterUser\")\n                        .WithMany()\n                        .HasForeignKey(\"DeleterUserId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"LastModifierUser\")\n                        .WithMany()\n                        .HasForeignKey(\"LastModifierUserId\");\n\n                    b.Navigation(\"CreatorUser\");\n\n                    b.Navigation(\"DeleterUser\");\n\n                    b.Navigation(\"LastModifierUser\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.DefaultQuery\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"CreatorUser\")\n                        .WithMany()\n                        .HasForeignKey(\"CreatorUserId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"DeleterUser\")\n                        .WithMany()\n                        .HasForeignKey(\"DeleterUserId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"LastModifierUser\")\n                        .WithMany()\n                        .HasForeignKey(\"LastModifierUserId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"User\")\n                        .WithMany()\n                        .HasForeignKey(\"UserId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n\n                    b.Navigation(\"CreatorUser\");\n\n                    b.Navigation(\"DeleterUser\");\n\n                    b.Navigation(\"LastModifierUser\");\n\n                    b.Navigation(\"User\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.QueryCrawlerSummary\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Crawlers.QuerySummary\", \"QuerySummary\")\n                        .WithMany(\"QueryCrawlerSummaries\")\n                        .HasForeignKey(\"QuerySummaryId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n\n                    b.Navigation(\"QuerySummary\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.QueryHistory\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"User\")\n                        .WithMany()\n                        .HasForeignKey(\"UserId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n\n                    b.Navigation(\"User\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.QuerySummary\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Crawlers.QueryHistory\", \"QueryHistory\")\n                        .WithOne()\n                        .HasForeignKey(\"AcmStatisticsBackend.Crawlers.QuerySummary\", \"QueryHistoryId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n\n                    b.Navigation(\"QueryHistory\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.QueryWorkerHistory\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Crawlers.QueryHistory\", \"QueryHistory\")\n                        .WithMany(\"QueryWorkerHistories\")\n                        .HasForeignKey(\"QueryHistoryId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n\n                    b.Navigation(\"QueryHistory\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.UsernameInCrawler\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Crawlers.QueryCrawlerSummary\", \"QueryCrawlerSummary\")\n                        .WithMany(\"Usernames\")\n                        .HasForeignKey(\"QueryCrawlerSummaryId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n\n                    b.Navigation(\"QueryCrawlerSummary\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.MultiTenancy.Tenant\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"CreatorUser\")\n                        .WithMany()\n                        .HasForeignKey(\"CreatorUserId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"DeleterUser\")\n                        .WithMany()\n                        .HasForeignKey(\"DeleterUserId\");\n\n                    b.HasOne(\"Abp.Application.Editions.Edition\", \"Edition\")\n                        .WithMany()\n                        .HasForeignKey(\"EditionId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"LastModifierUser\")\n                        .WithMany()\n                        .HasForeignKey(\"LastModifierUserId\");\n\n                    b.Navigation(\"CreatorUser\");\n\n                    b.Navigation(\"DeleterUser\");\n\n                    b.Navigation(\"Edition\");\n\n                    b.Navigation(\"LastModifierUser\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Settings.UserSettingAttribute\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"CreatorUser\")\n                        .WithMany()\n                        .HasForeignKey(\"CreatorUserId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"LastModifierUser\")\n                        .WithMany()\n                        .HasForeignKey(\"LastModifierUserId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"User\")\n                        .WithMany()\n                        .HasForeignKey(\"UserId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n\n                    b.Navigation(\"CreatorUser\");\n\n                    b.Navigation(\"LastModifierUser\");\n\n                    b.Navigation(\"User\");\n                });\n\n            modelBuilder.Entity(\"Abp.Application.Features.EditionFeatureSetting\", b =>\n                {\n                    b.HasOne(\"Abp.Application.Editions.Edition\", \"Edition\")\n                        .WithMany()\n                        .HasForeignKey(\"EditionId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n\n                    b.Navigation(\"Edition\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Roles.RolePermissionSetting\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Roles.Role\", null)\n                        .WithMany(\"Permissions\")\n                        .HasForeignKey(\"RoleId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserPermissionSetting\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", null)\n                        .WithMany(\"Permissions\")\n                        .HasForeignKey(\"UserId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.DynamicEntityProperties.DynamicProperty\", b =>\n                {\n                    b.Navigation(\"DynamicPropertyValues\");\n                });\n\n            modelBuilder.Entity(\"Abp.EntityHistory.EntityChange\", b =>\n                {\n                    b.Navigation(\"PropertyChanges\");\n                });\n\n            modelBuilder.Entity(\"Abp.EntityHistory.EntityChangeSet\", b =>\n                {\n                    b.Navigation(\"EntityChanges\");\n                });\n\n            modelBuilder.Entity(\"Abp.Organizations.OrganizationUnit\", b =>\n                {\n                    b.Navigation(\"Children\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Authorization.Roles.Role\", b =>\n                {\n                    b.Navigation(\"Claims\");\n\n                    b.Navigation(\"Permissions\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Authorization.Users.User\", b =>\n                {\n                    b.Navigation(\"Claims\");\n\n                    b.Navigation(\"Logins\");\n\n                    b.Navigation(\"Permissions\");\n\n                    b.Navigation(\"Roles\");\n\n                    b.Navigation(\"Settings\");\n\n                    b.Navigation(\"Tokens\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.QueryCrawlerSummary\", b =>\n                {\n                    b.Navigation(\"Usernames\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.QueryHistory\", b =>\n                {\n                    b.Navigation(\"QueryWorkerHistories\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.QuerySummary\", b =>\n                {\n                    b.Navigation(\"QueryCrawlerSummaries\");\n                });\n#pragma warning restore 612, 618\n        }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.EntityFrameworkCore/Migrations/20210627092411_UpgradeDriver.cs",
    "content": "﻿using Microsoft.EntityFrameworkCore.Migrations;\n\nnamespace AcmStatisticsBackend.Migrations\n{\n    public partial class UpgradeDriver : Migration\n    {\n        protected override void Up(MigrationBuilder migrationBuilder)\n        {\n            migrationBuilder.AlterColumn<string>(\n                name: \"Username\",\n                table: \"UsernameInCrawler\",\n                type: \"longtext\",\n                nullable: false,\n                oldClrType: typeof(string),\n                oldType: \"longtext CHARACTER SET utf8mb4\")\n                .Annotation(\"MySql:CharSet\", \"utf8mb4\")\n                .OldAnnotation(\"MySql:CharSet\", \"utf8mb4\");\n\n            migrationBuilder.AlterColumn<string>(\n                name: \"FromCrawlerName\",\n                table: \"UsernameInCrawler\",\n                type: \"longtext\",\n                nullable: true,\n                oldClrType: typeof(string),\n                oldType: \"longtext CHARACTER SET utf8mb4\",\n                oldNullable: true)\n                .Annotation(\"MySql:CharSet\", \"utf8mb4\")\n                .OldAnnotation(\"MySql:CharSet\", \"utf8mb4\");\n\n            migrationBuilder.AlterColumn<string>(\n                name: \"Username\",\n                table: \"QueryWorkerHistories\",\n                type: \"longtext\",\n                nullable: false,\n                oldClrType: typeof(string),\n                oldType: \"longtext CHARACTER SET utf8mb4\")\n                .Annotation(\"MySql:CharSet\", \"utf8mb4\")\n                .OldAnnotation(\"MySql:CharSet\", \"utf8mb4\");\n\n            migrationBuilder.AlterColumn<string>(\n                name: \"SubmissionsByCrawlerName\",\n                table: \"QueryWorkerHistories\",\n                type: \"longtext\",\n                nullable: true,\n                oldClrType: typeof(string),\n                oldType: \"longtext CHARACTER SET utf8mb4\",\n                oldNullable: true)\n                .Annotation(\"MySql:CharSet\", \"utf8mb4\")\n                .OldAnnotation(\"MySql:CharSet\", \"utf8mb4\");\n\n            migrationBuilder.AlterColumn<string>(\n                name: \"SolvedList\",\n                table: \"QueryWorkerHistories\",\n                type: \"longtext\",\n                nullable: true,\n                oldClrType: typeof(string),\n                oldType: \"longtext CHARACTER SET utf8mb4\",\n                oldNullable: true)\n                .Annotation(\"MySql:CharSet\", \"utf8mb4\")\n                .OldAnnotation(\"MySql:CharSet\", \"utf8mb4\");\n\n            migrationBuilder.AlterColumn<string>(\n                name: \"ErrorMessage\",\n                table: \"QueryWorkerHistories\",\n                type: \"longtext\",\n                nullable: true,\n                oldClrType: typeof(string),\n                oldType: \"longtext CHARACTER SET utf8mb4\",\n                oldNullable: true)\n                .Annotation(\"MySql:CharSet\", \"utf8mb4\")\n                .OldAnnotation(\"MySql:CharSet\", \"utf8mb4\");\n\n            migrationBuilder.AlterColumn<string>(\n                name: \"CrawlerName\",\n                table: \"QueryWorkerHistories\",\n                type: \"longtext\",\n                nullable: false,\n                oldClrType: typeof(string),\n                oldType: \"longtext CHARACTER SET utf8mb4\")\n                .Annotation(\"MySql:CharSet\", \"utf8mb4\")\n                .OldAnnotation(\"MySql:CharSet\", \"utf8mb4\");\n\n            migrationBuilder.AlterColumn<string>(\n                name: \"SummaryWarnings\",\n                table: \"QuerySummaries\",\n                type: \"longtext\",\n                nullable: false,\n                oldClrType: typeof(string),\n                oldType: \"longtext CHARACTER SET utf8mb4\")\n                .Annotation(\"MySql:CharSet\", \"utf8mb4\")\n                .OldAnnotation(\"MySql:CharSet\", \"utf8mb4\");\n\n            migrationBuilder.AlterColumn<string>(\n                name: \"MainUsername\",\n                table: \"QueryHistories\",\n                type: \"longtext\",\n                nullable: false,\n                oldClrType: typeof(string),\n                oldType: \"longtext CHARACTER SET utf8mb4\")\n                .Annotation(\"MySql:CharSet\", \"utf8mb4\")\n                .OldAnnotation(\"MySql:CharSet\", \"utf8mb4\");\n\n            migrationBuilder.AlterColumn<string>(\n                name: \"CrawlerName\",\n                table: \"QueryCrawlerSummaries\",\n                type: \"longtext\",\n                nullable: false,\n                oldClrType: typeof(string),\n                oldType: \"longtext CHARACTER SET utf8mb4\")\n                .Annotation(\"MySql:CharSet\", \"utf8mb4\")\n                .OldAnnotation(\"MySql:CharSet\", \"utf8mb4\");\n\n            migrationBuilder.AlterColumn<string>(\n                name: \"UsernamesInCrawlers\",\n                table: \"DefaultQueries\",\n                type: \"longtext\",\n                nullable: false,\n                oldClrType: typeof(string),\n                oldType: \"longtext CHARACTER SET utf8mb4\")\n                .Annotation(\"MySql:CharSet\", \"utf8mb4\")\n                .OldAnnotation(\"MySql:CharSet\", \"utf8mb4\");\n\n            migrationBuilder.AlterColumn<string>(\n                name: \"MainUsername\",\n                table: \"DefaultQueries\",\n                type: \"longtext\",\n                nullable: false,\n                oldClrType: typeof(string),\n                oldType: \"longtext CHARACTER SET utf8mb4\")\n                .Annotation(\"MySql:CharSet\", \"utf8mb4\")\n                .OldAnnotation(\"MySql:CharSet\", \"utf8mb4\");\n\n            migrationBuilder.AlterColumn<string>(\n                name: \"Webhooks\",\n                table: \"AbpWebhookSubscriptions\",\n                type: \"longtext\",\n                nullable: true,\n                oldClrType: typeof(string),\n                oldType: \"longtext CHARACTER SET utf8mb4\",\n                oldNullable: true)\n                .Annotation(\"MySql:CharSet\", \"utf8mb4\")\n                .OldAnnotation(\"MySql:CharSet\", \"utf8mb4\");\n\n            migrationBuilder.AlterColumn<string>(\n                name: \"WebhookUri\",\n                table: \"AbpWebhookSubscriptions\",\n                type: \"longtext\",\n                nullable: false,\n                oldClrType: typeof(string),\n                oldType: \"longtext CHARACTER SET utf8mb4\")\n                .Annotation(\"MySql:CharSet\", \"utf8mb4\")\n                .OldAnnotation(\"MySql:CharSet\", \"utf8mb4\");\n\n            migrationBuilder.AlterColumn<string>(\n                name: \"Secret\",\n                table: \"AbpWebhookSubscriptions\",\n                type: \"longtext\",\n                nullable: false,\n                oldClrType: typeof(string),\n                oldType: \"longtext CHARACTER SET utf8mb4\")\n                .Annotation(\"MySql:CharSet\", \"utf8mb4\")\n                .OldAnnotation(\"MySql:CharSet\", \"utf8mb4\");\n\n            migrationBuilder.AlterColumn<string>(\n                name: \"Headers\",\n                table: \"AbpWebhookSubscriptions\",\n                type: \"longtext\",\n                nullable: true,\n                oldClrType: typeof(string),\n                oldType: \"longtext CHARACTER SET utf8mb4\",\n                oldNullable: true)\n                .Annotation(\"MySql:CharSet\", \"utf8mb4\")\n                .OldAnnotation(\"MySql:CharSet\", \"utf8mb4\");\n\n            migrationBuilder.AlterColumn<string>(\n                name: \"Response\",\n                table: \"AbpWebhookSendAttempts\",\n                type: \"longtext\",\n                nullable: true,\n                oldClrType: typeof(string),\n                oldType: \"longtext CHARACTER SET utf8mb4\",\n                oldNullable: true)\n                .Annotation(\"MySql:CharSet\", \"utf8mb4\")\n                .OldAnnotation(\"MySql:CharSet\", \"utf8mb4\");\n\n            migrationBuilder.AlterColumn<string>(\n                name: \"WebhookName\",\n                table: \"AbpWebhookEvents\",\n                type: \"longtext\",\n                nullable: false,\n                oldClrType: typeof(string),\n                oldType: \"longtext CHARACTER SET utf8mb4\")\n                .Annotation(\"MySql:CharSet\", \"utf8mb4\")\n                .OldAnnotation(\"MySql:CharSet\", \"utf8mb4\");\n\n            migrationBuilder.AlterColumn<string>(\n                name: \"Data\",\n                table: \"AbpWebhookEvents\",\n                type: \"longtext\",\n                nullable: true,\n                oldClrType: typeof(string),\n                oldType: \"longtext CHARACTER SET utf8mb4\",\n                oldNullable: true)\n                .Annotation(\"MySql:CharSet\", \"utf8mb4\")\n                .OldAnnotation(\"MySql:CharSet\", \"utf8mb4\");\n\n            migrationBuilder.AlterColumn<string>(\n                name: \"ClaimValue\",\n                table: \"AbpUserClaims\",\n                type: \"longtext\",\n                nullable: true,\n                oldClrType: typeof(string),\n                oldType: \"longtext CHARACTER SET utf8mb4\",\n                oldNullable: true)\n                .Annotation(\"MySql:CharSet\", \"utf8mb4\")\n                .OldAnnotation(\"MySql:CharSet\", \"utf8mb4\");\n\n            migrationBuilder.AlterColumn<string>(\n                name: \"Data\",\n                table: \"AbpTenantNotifications\",\n                type: \"longtext\",\n                maxLength: 1048576,\n                nullable: true,\n                oldClrType: typeof(string),\n                oldType: \"longtext CHARACTER SET utf8mb4\",\n                oldMaxLength: 1048576,\n                oldNullable: true)\n                .Annotation(\"MySql:CharSet\", \"utf8mb4\")\n                .OldAnnotation(\"MySql:CharSet\", \"utf8mb4\");\n\n            migrationBuilder.AlterColumn<string>(\n                name: \"Value\",\n                table: \"AbpSettings\",\n                type: \"longtext\",\n                nullable: true,\n                oldClrType: typeof(string),\n                oldType: \"longtext CHARACTER SET utf8mb4\",\n                oldNullable: true)\n                .Annotation(\"MySql:CharSet\", \"utf8mb4\")\n                .OldAnnotation(\"MySql:CharSet\", \"utf8mb4\");\n\n            migrationBuilder.AlterColumn<string>(\n                name: \"ClaimValue\",\n                table: \"AbpRoleClaims\",\n                type: \"longtext\",\n                nullable: true,\n                oldClrType: typeof(string),\n                oldType: \"longtext CHARACTER SET utf8mb4\",\n                oldNullable: true)\n                .Annotation(\"MySql:CharSet\", \"utf8mb4\")\n                .OldAnnotation(\"MySql:CharSet\", \"utf8mb4\");\n\n            migrationBuilder.AlterColumn<string>(\n                name: \"Discriminator\",\n                table: \"AbpPermissions\",\n                type: \"longtext\",\n                nullable: false,\n                oldClrType: typeof(string),\n                oldType: \"longtext CHARACTER SET utf8mb4\")\n                .Annotation(\"MySql:CharSet\", \"utf8mb4\")\n                .OldAnnotation(\"MySql:CharSet\", \"utf8mb4\");\n\n            migrationBuilder.AlterColumn<string>(\n                name: \"UserIds\",\n                table: \"AbpNotifications\",\n                type: \"longtext\",\n                maxLength: 131072,\n                nullable: true,\n                oldClrType: typeof(string),\n                oldType: \"longtext CHARACTER SET utf8mb4\",\n                oldMaxLength: 131072,\n                oldNullable: true)\n                .Annotation(\"MySql:CharSet\", \"utf8mb4\")\n                .OldAnnotation(\"MySql:CharSet\", \"utf8mb4\");\n\n            migrationBuilder.AlterColumn<string>(\n                name: \"TenantIds\",\n                table: \"AbpNotifications\",\n                type: \"longtext\",\n                maxLength: 131072,\n                nullable: true,\n                oldClrType: typeof(string),\n                oldType: \"longtext CHARACTER SET utf8mb4\",\n                oldMaxLength: 131072,\n                oldNullable: true)\n                .Annotation(\"MySql:CharSet\", \"utf8mb4\")\n                .OldAnnotation(\"MySql:CharSet\", \"utf8mb4\");\n\n            migrationBuilder.AlterColumn<string>(\n                name: \"ExcludedUserIds\",\n                table: \"AbpNotifications\",\n                type: \"longtext\",\n                maxLength: 131072,\n                nullable: true,\n                oldClrType: typeof(string),\n                oldType: \"longtext CHARACTER SET utf8mb4\",\n                oldMaxLength: 131072,\n                oldNullable: true)\n                .Annotation(\"MySql:CharSet\", \"utf8mb4\")\n                .OldAnnotation(\"MySql:CharSet\", \"utf8mb4\");\n\n            migrationBuilder.AlterColumn<string>(\n                name: \"Data\",\n                table: \"AbpNotifications\",\n                type: \"longtext\",\n                maxLength: 1048576,\n                nullable: true,\n                oldClrType: typeof(string),\n                oldType: \"longtext CHARACTER SET utf8mb4\",\n                oldMaxLength: 1048576,\n                oldNullable: true)\n                .Annotation(\"MySql:CharSet\", \"utf8mb4\")\n                .OldAnnotation(\"MySql:CharSet\", \"utf8mb4\");\n\n            migrationBuilder.AlterColumn<string>(\n                name: \"Value\",\n                table: \"AbpLanguageTexts\",\n                type: \"longtext\",\n                maxLength: 67108864,\n                nullable: false,\n                oldClrType: typeof(string),\n                oldType: \"longtext CHARACTER SET utf8mb4\",\n                oldMaxLength: 67108864)\n                .Annotation(\"MySql:CharSet\", \"utf8mb4\")\n                .OldAnnotation(\"MySql:CharSet\", \"utf8mb4\");\n\n            migrationBuilder.AlterColumn<string>(\n                name: \"Discriminator\",\n                table: \"AbpFeatures\",\n                type: \"longtext\",\n                nullable: false,\n                oldClrType: typeof(string),\n                oldType: \"longtext CHARACTER SET utf8mb4\")\n                .Annotation(\"MySql:CharSet\", \"utf8mb4\")\n                .OldAnnotation(\"MySql:CharSet\", \"utf8mb4\");\n\n            migrationBuilder.AlterColumn<string>(\n                name: \"OriginalValueHash\",\n                table: \"AbpEntityPropertyChanges\",\n                type: \"longtext\",\n                nullable: true,\n                oldClrType: typeof(string),\n                oldType: \"longtext CHARACTER SET utf8mb4\",\n                oldNullable: true)\n                .Annotation(\"MySql:CharSet\", \"utf8mb4\")\n                .OldAnnotation(\"MySql:CharSet\", \"utf8mb4\");\n\n            migrationBuilder.AlterColumn<string>(\n                name: \"NewValueHash\",\n                table: \"AbpEntityPropertyChanges\",\n                type: \"longtext\",\n                nullable: true,\n                oldClrType: typeof(string),\n                oldType: \"longtext CHARACTER SET utf8mb4\",\n                oldNullable: true)\n                .Annotation(\"MySql:CharSet\", \"utf8mb4\")\n                .OldAnnotation(\"MySql:CharSet\", \"utf8mb4\");\n\n            migrationBuilder.AlterColumn<string>(\n                name: \"ExtensionData\",\n                table: \"AbpEntityChangeSets\",\n                type: \"longtext\",\n                nullable: true,\n                oldClrType: typeof(string),\n                oldType: \"longtext CHARACTER SET utf8mb4\",\n                oldNullable: true)\n                .Annotation(\"MySql:CharSet\", \"utf8mb4\")\n                .OldAnnotation(\"MySql:CharSet\", \"utf8mb4\");\n\n            migrationBuilder.AlterColumn<string>(\n                name: \"Value\",\n                table: \"AbpDynamicPropertyValues\",\n                type: \"longtext\",\n                nullable: false,\n                oldClrType: typeof(string),\n                oldType: \"longtext CHARACTER SET utf8mb4\")\n                .Annotation(\"MySql:CharSet\", \"utf8mb4\")\n                .OldAnnotation(\"MySql:CharSet\", \"utf8mb4\");\n\n            migrationBuilder.AlterColumn<string>(\n                name: \"Permission\",\n                table: \"AbpDynamicProperties\",\n                type: \"longtext\",\n                nullable: true,\n                oldClrType: typeof(string),\n                oldType: \"longtext CHARACTER SET utf8mb4\",\n                oldNullable: true)\n                .Annotation(\"MySql:CharSet\", \"utf8mb4\")\n                .OldAnnotation(\"MySql:CharSet\", \"utf8mb4\");\n\n            migrationBuilder.AlterColumn<string>(\n                name: \"InputType\",\n                table: \"AbpDynamicProperties\",\n                type: \"longtext\",\n                nullable: true,\n                oldClrType: typeof(string),\n                oldType: \"longtext CHARACTER SET utf8mb4\",\n                oldNullable: true)\n                .Annotation(\"MySql:CharSet\", \"utf8mb4\")\n                .OldAnnotation(\"MySql:CharSet\", \"utf8mb4\");\n\n            migrationBuilder.AlterColumn<string>(\n                name: \"DisplayName\",\n                table: \"AbpDynamicProperties\",\n                type: \"longtext\",\n                nullable: true,\n                oldClrType: typeof(string),\n                oldType: \"longtext CHARACTER SET utf8mb4\",\n                oldNullable: true)\n                .Annotation(\"MySql:CharSet\", \"utf8mb4\")\n                .OldAnnotation(\"MySql:CharSet\", \"utf8mb4\");\n\n            migrationBuilder.AlterColumn<string>(\n                name: \"Value\",\n                table: \"AbpDynamicEntityPropertyValues\",\n                type: \"longtext\",\n                nullable: false,\n                oldClrType: typeof(string),\n                oldType: \"longtext CHARACTER SET utf8mb4\")\n                .Annotation(\"MySql:CharSet\", \"utf8mb4\")\n                .OldAnnotation(\"MySql:CharSet\", \"utf8mb4\");\n\n            migrationBuilder.AlterColumn<string>(\n                name: \"EntityId\",\n                table: \"AbpDynamicEntityPropertyValues\",\n                type: \"longtext\",\n                nullable: true,\n                oldClrType: typeof(string),\n                oldType: \"longtext CHARACTER SET utf8mb4\",\n                oldNullable: true)\n                .Annotation(\"MySql:CharSet\", \"utf8mb4\")\n                .OldAnnotation(\"MySql:CharSet\", \"utf8mb4\");\n\n            migrationBuilder.AlterColumn<string>(\n                name: \"JobArgs\",\n                table: \"AbpBackgroundJobs\",\n                type: \"longtext\",\n                maxLength: 1048576,\n                nullable: false,\n                oldClrType: typeof(string),\n                oldType: \"longtext CHARACTER SET utf8mb4\",\n                oldMaxLength: 1048576)\n                .Annotation(\"MySql:CharSet\", \"utf8mb4\")\n                .OldAnnotation(\"MySql:CharSet\", \"utf8mb4\");\n\n            migrationBuilder.AlterColumn<string>(\n                name: \"ReturnValue\",\n                table: \"AbpAuditLogs\",\n                type: \"longtext\",\n                nullable: true,\n                oldClrType: typeof(string),\n                oldType: \"longtext CHARACTER SET utf8mb4\",\n                oldNullable: true)\n                .Annotation(\"MySql:CharSet\", \"utf8mb4\")\n                .OldAnnotation(\"MySql:CharSet\", \"utf8mb4\");\n        }\n\n        protected override void Down(MigrationBuilder migrationBuilder)\n        {\n            migrationBuilder.AlterColumn<string>(\n                name: \"Username\",\n                table: \"UsernameInCrawler\",\n                type: \"longtext CHARACTER SET utf8mb4\",\n                nullable: false,\n                oldClrType: typeof(string),\n                oldType: \"longtext\")\n                .Annotation(\"MySql:CharSet\", \"utf8mb4\")\n                .OldAnnotation(\"MySql:CharSet\", \"utf8mb4\");\n\n            migrationBuilder.AlterColumn<string>(\n                name: \"FromCrawlerName\",\n                table: \"UsernameInCrawler\",\n                type: \"longtext CHARACTER SET utf8mb4\",\n                nullable: true,\n                oldClrType: typeof(string),\n                oldType: \"longtext\",\n                oldNullable: true)\n                .Annotation(\"MySql:CharSet\", \"utf8mb4\")\n                .OldAnnotation(\"MySql:CharSet\", \"utf8mb4\");\n\n            migrationBuilder.AlterColumn<string>(\n                name: \"Username\",\n                table: \"QueryWorkerHistories\",\n                type: \"longtext CHARACTER SET utf8mb4\",\n                nullable: false,\n                oldClrType: typeof(string),\n                oldType: \"longtext\")\n                .Annotation(\"MySql:CharSet\", \"utf8mb4\")\n                .OldAnnotation(\"MySql:CharSet\", \"utf8mb4\");\n\n            migrationBuilder.AlterColumn<string>(\n                name: \"SubmissionsByCrawlerName\",\n                table: \"QueryWorkerHistories\",\n                type: \"longtext CHARACTER SET utf8mb4\",\n                nullable: true,\n                oldClrType: typeof(string),\n                oldType: \"longtext\",\n                oldNullable: true)\n                .Annotation(\"MySql:CharSet\", \"utf8mb4\")\n                .OldAnnotation(\"MySql:CharSet\", \"utf8mb4\");\n\n            migrationBuilder.AlterColumn<string>(\n                name: \"SolvedList\",\n                table: \"QueryWorkerHistories\",\n                type: \"longtext CHARACTER SET utf8mb4\",\n                nullable: true,\n                oldClrType: typeof(string),\n                oldType: \"longtext\",\n                oldNullable: true)\n                .Annotation(\"MySql:CharSet\", \"utf8mb4\")\n                .OldAnnotation(\"MySql:CharSet\", \"utf8mb4\");\n\n            migrationBuilder.AlterColumn<string>(\n                name: \"ErrorMessage\",\n                table: \"QueryWorkerHistories\",\n                type: \"longtext CHARACTER SET utf8mb4\",\n                nullable: true,\n                oldClrType: typeof(string),\n                oldType: \"longtext\",\n                oldNullable: true)\n                .Annotation(\"MySql:CharSet\", \"utf8mb4\")\n                .OldAnnotation(\"MySql:CharSet\", \"utf8mb4\");\n\n            migrationBuilder.AlterColumn<string>(\n                name: \"CrawlerName\",\n                table: \"QueryWorkerHistories\",\n                type: \"longtext CHARACTER SET utf8mb4\",\n                nullable: false,\n                oldClrType: typeof(string),\n                oldType: \"longtext\")\n                .Annotation(\"MySql:CharSet\", \"utf8mb4\")\n                .OldAnnotation(\"MySql:CharSet\", \"utf8mb4\");\n\n            migrationBuilder.AlterColumn<string>(\n                name: \"SummaryWarnings\",\n                table: \"QuerySummaries\",\n                type: \"longtext CHARACTER SET utf8mb4\",\n                nullable: false,\n                oldClrType: typeof(string),\n                oldType: \"longtext\")\n                .Annotation(\"MySql:CharSet\", \"utf8mb4\")\n                .OldAnnotation(\"MySql:CharSet\", \"utf8mb4\");\n\n            migrationBuilder.AlterColumn<string>(\n                name: \"MainUsername\",\n                table: \"QueryHistories\",\n                type: \"longtext CHARACTER SET utf8mb4\",\n                nullable: false,\n                oldClrType: typeof(string),\n                oldType: \"longtext\")\n                .Annotation(\"MySql:CharSet\", \"utf8mb4\")\n                .OldAnnotation(\"MySql:CharSet\", \"utf8mb4\");\n\n            migrationBuilder.AlterColumn<string>(\n                name: \"CrawlerName\",\n                table: \"QueryCrawlerSummaries\",\n                type: \"longtext CHARACTER SET utf8mb4\",\n                nullable: false,\n                oldClrType: typeof(string),\n                oldType: \"longtext\")\n                .Annotation(\"MySql:CharSet\", \"utf8mb4\")\n                .OldAnnotation(\"MySql:CharSet\", \"utf8mb4\");\n\n            migrationBuilder.AlterColumn<string>(\n                name: \"UsernamesInCrawlers\",\n                table: \"DefaultQueries\",\n                type: \"longtext CHARACTER SET utf8mb4\",\n                nullable: false,\n                oldClrType: typeof(string),\n                oldType: \"longtext\")\n                .Annotation(\"MySql:CharSet\", \"utf8mb4\")\n                .OldAnnotation(\"MySql:CharSet\", \"utf8mb4\");\n\n            migrationBuilder.AlterColumn<string>(\n                name: \"MainUsername\",\n                table: \"DefaultQueries\",\n                type: \"longtext CHARACTER SET utf8mb4\",\n                nullable: false,\n                oldClrType: typeof(string),\n                oldType: \"longtext\")\n                .Annotation(\"MySql:CharSet\", \"utf8mb4\")\n                .OldAnnotation(\"MySql:CharSet\", \"utf8mb4\");\n\n            migrationBuilder.AlterColumn<string>(\n                name: \"Webhooks\",\n                table: \"AbpWebhookSubscriptions\",\n                type: \"longtext CHARACTER SET utf8mb4\",\n                nullable: true,\n                oldClrType: typeof(string),\n                oldType: \"longtext\",\n                oldNullable: true)\n                .Annotation(\"MySql:CharSet\", \"utf8mb4\")\n                .OldAnnotation(\"MySql:CharSet\", \"utf8mb4\");\n\n            migrationBuilder.AlterColumn<string>(\n                name: \"WebhookUri\",\n                table: \"AbpWebhookSubscriptions\",\n                type: \"longtext CHARACTER SET utf8mb4\",\n                nullable: false,\n                oldClrType: typeof(string),\n                oldType: \"longtext\")\n                .Annotation(\"MySql:CharSet\", \"utf8mb4\")\n                .OldAnnotation(\"MySql:CharSet\", \"utf8mb4\");\n\n            migrationBuilder.AlterColumn<string>(\n                name: \"Secret\",\n                table: \"AbpWebhookSubscriptions\",\n                type: \"longtext CHARACTER SET utf8mb4\",\n                nullable: false,\n                oldClrType: typeof(string),\n                oldType: \"longtext\")\n                .Annotation(\"MySql:CharSet\", \"utf8mb4\")\n                .OldAnnotation(\"MySql:CharSet\", \"utf8mb4\");\n\n            migrationBuilder.AlterColumn<string>(\n                name: \"Headers\",\n                table: \"AbpWebhookSubscriptions\",\n                type: \"longtext CHARACTER SET utf8mb4\",\n                nullable: true,\n                oldClrType: typeof(string),\n                oldType: \"longtext\",\n                oldNullable: true)\n                .Annotation(\"MySql:CharSet\", \"utf8mb4\")\n                .OldAnnotation(\"MySql:CharSet\", \"utf8mb4\");\n\n            migrationBuilder.AlterColumn<string>(\n                name: \"Response\",\n                table: \"AbpWebhookSendAttempts\",\n                type: \"longtext CHARACTER SET utf8mb4\",\n                nullable: true,\n                oldClrType: typeof(string),\n                oldType: \"longtext\",\n                oldNullable: true)\n                .Annotation(\"MySql:CharSet\", \"utf8mb4\")\n                .OldAnnotation(\"MySql:CharSet\", \"utf8mb4\");\n\n            migrationBuilder.AlterColumn<string>(\n                name: \"WebhookName\",\n                table: \"AbpWebhookEvents\",\n                type: \"longtext CHARACTER SET utf8mb4\",\n                nullable: false,\n                oldClrType: typeof(string),\n                oldType: \"longtext\")\n                .Annotation(\"MySql:CharSet\", \"utf8mb4\")\n                .OldAnnotation(\"MySql:CharSet\", \"utf8mb4\");\n\n            migrationBuilder.AlterColumn<string>(\n                name: \"Data\",\n                table: \"AbpWebhookEvents\",\n                type: \"longtext CHARACTER SET utf8mb4\",\n                nullable: true,\n                oldClrType: typeof(string),\n                oldType: \"longtext\",\n                oldNullable: true)\n                .Annotation(\"MySql:CharSet\", \"utf8mb4\")\n                .OldAnnotation(\"MySql:CharSet\", \"utf8mb4\");\n\n            migrationBuilder.AlterColumn<string>(\n                name: \"ClaimValue\",\n                table: \"AbpUserClaims\",\n                type: \"longtext CHARACTER SET utf8mb4\",\n                nullable: true,\n                oldClrType: typeof(string),\n                oldType: \"longtext\",\n                oldNullable: true)\n                .Annotation(\"MySql:CharSet\", \"utf8mb4\")\n                .OldAnnotation(\"MySql:CharSet\", \"utf8mb4\");\n\n            migrationBuilder.AlterColumn<string>(\n                name: \"Data\",\n                table: \"AbpTenantNotifications\",\n                type: \"longtext CHARACTER SET utf8mb4\",\n                maxLength: 1048576,\n                nullable: true,\n                oldClrType: typeof(string),\n                oldType: \"longtext\",\n                oldMaxLength: 1048576,\n                oldNullable: true)\n                .Annotation(\"MySql:CharSet\", \"utf8mb4\")\n                .OldAnnotation(\"MySql:CharSet\", \"utf8mb4\");\n\n            migrationBuilder.AlterColumn<string>(\n                name: \"Value\",\n                table: \"AbpSettings\",\n                type: \"longtext CHARACTER SET utf8mb4\",\n                nullable: true,\n                oldClrType: typeof(string),\n                oldType: \"longtext\",\n                oldNullable: true)\n                .Annotation(\"MySql:CharSet\", \"utf8mb4\")\n                .OldAnnotation(\"MySql:CharSet\", \"utf8mb4\");\n\n            migrationBuilder.AlterColumn<string>(\n                name: \"ClaimValue\",\n                table: \"AbpRoleClaims\",\n                type: \"longtext CHARACTER SET utf8mb4\",\n                nullable: true,\n                oldClrType: typeof(string),\n                oldType: \"longtext\",\n                oldNullable: true)\n                .Annotation(\"MySql:CharSet\", \"utf8mb4\")\n                .OldAnnotation(\"MySql:CharSet\", \"utf8mb4\");\n\n            migrationBuilder.AlterColumn<string>(\n                name: \"Discriminator\",\n                table: \"AbpPermissions\",\n                type: \"longtext CHARACTER SET utf8mb4\",\n                nullable: false,\n                oldClrType: typeof(string),\n                oldType: \"longtext\")\n                .Annotation(\"MySql:CharSet\", \"utf8mb4\")\n                .OldAnnotation(\"MySql:CharSet\", \"utf8mb4\");\n\n            migrationBuilder.AlterColumn<string>(\n                name: \"UserIds\",\n                table: \"AbpNotifications\",\n                type: \"longtext CHARACTER SET utf8mb4\",\n                maxLength: 131072,\n                nullable: true,\n                oldClrType: typeof(string),\n                oldType: \"longtext\",\n                oldMaxLength: 131072,\n                oldNullable: true)\n                .Annotation(\"MySql:CharSet\", \"utf8mb4\")\n                .OldAnnotation(\"MySql:CharSet\", \"utf8mb4\");\n\n            migrationBuilder.AlterColumn<string>(\n                name: \"TenantIds\",\n                table: \"AbpNotifications\",\n                type: \"longtext CHARACTER SET utf8mb4\",\n                maxLength: 131072,\n                nullable: true,\n                oldClrType: typeof(string),\n                oldType: \"longtext\",\n                oldMaxLength: 131072,\n                oldNullable: true)\n                .Annotation(\"MySql:CharSet\", \"utf8mb4\")\n                .OldAnnotation(\"MySql:CharSet\", \"utf8mb4\");\n\n            migrationBuilder.AlterColumn<string>(\n                name: \"ExcludedUserIds\",\n                table: \"AbpNotifications\",\n                type: \"longtext CHARACTER SET utf8mb4\",\n                maxLength: 131072,\n                nullable: true,\n                oldClrType: typeof(string),\n                oldType: \"longtext\",\n                oldMaxLength: 131072,\n                oldNullable: true)\n                .Annotation(\"MySql:CharSet\", \"utf8mb4\")\n                .OldAnnotation(\"MySql:CharSet\", \"utf8mb4\");\n\n            migrationBuilder.AlterColumn<string>(\n                name: \"Data\",\n                table: \"AbpNotifications\",\n                type: \"longtext CHARACTER SET utf8mb4\",\n                maxLength: 1048576,\n                nullable: true,\n                oldClrType: typeof(string),\n                oldType: \"longtext\",\n                oldMaxLength: 1048576,\n                oldNullable: true)\n                .Annotation(\"MySql:CharSet\", \"utf8mb4\")\n                .OldAnnotation(\"MySql:CharSet\", \"utf8mb4\");\n\n            migrationBuilder.AlterColumn<string>(\n                name: \"Value\",\n                table: \"AbpLanguageTexts\",\n                type: \"longtext CHARACTER SET utf8mb4\",\n                maxLength: 67108864,\n                nullable: false,\n                oldClrType: typeof(string),\n                oldType: \"longtext\",\n                oldMaxLength: 67108864)\n                .Annotation(\"MySql:CharSet\", \"utf8mb4\")\n                .OldAnnotation(\"MySql:CharSet\", \"utf8mb4\");\n\n            migrationBuilder.AlterColumn<string>(\n                name: \"Discriminator\",\n                table: \"AbpFeatures\",\n                type: \"longtext CHARACTER SET utf8mb4\",\n                nullable: false,\n                oldClrType: typeof(string),\n                oldType: \"longtext\")\n                .Annotation(\"MySql:CharSet\", \"utf8mb4\")\n                .OldAnnotation(\"MySql:CharSet\", \"utf8mb4\");\n\n            migrationBuilder.AlterColumn<string>(\n                name: \"OriginalValueHash\",\n                table: \"AbpEntityPropertyChanges\",\n                type: \"longtext CHARACTER SET utf8mb4\",\n                nullable: true,\n                oldClrType: typeof(string),\n                oldType: \"longtext\",\n                oldNullable: true)\n                .Annotation(\"MySql:CharSet\", \"utf8mb4\")\n                .OldAnnotation(\"MySql:CharSet\", \"utf8mb4\");\n\n            migrationBuilder.AlterColumn<string>(\n                name: \"NewValueHash\",\n                table: \"AbpEntityPropertyChanges\",\n                type: \"longtext CHARACTER SET utf8mb4\",\n                nullable: true,\n                oldClrType: typeof(string),\n                oldType: \"longtext\",\n                oldNullable: true)\n                .Annotation(\"MySql:CharSet\", \"utf8mb4\")\n                .OldAnnotation(\"MySql:CharSet\", \"utf8mb4\");\n\n            migrationBuilder.AlterColumn<string>(\n                name: \"ExtensionData\",\n                table: \"AbpEntityChangeSets\",\n                type: \"longtext CHARACTER SET utf8mb4\",\n                nullable: true,\n                oldClrType: typeof(string),\n                oldType: \"longtext\",\n                oldNullable: true)\n                .Annotation(\"MySql:CharSet\", \"utf8mb4\")\n                .OldAnnotation(\"MySql:CharSet\", \"utf8mb4\");\n\n            migrationBuilder.AlterColumn<string>(\n                name: \"Value\",\n                table: \"AbpDynamicPropertyValues\",\n                type: \"longtext CHARACTER SET utf8mb4\",\n                nullable: false,\n                oldClrType: typeof(string),\n                oldType: \"longtext\")\n                .Annotation(\"MySql:CharSet\", \"utf8mb4\")\n                .OldAnnotation(\"MySql:CharSet\", \"utf8mb4\");\n\n            migrationBuilder.AlterColumn<string>(\n                name: \"Permission\",\n                table: \"AbpDynamicProperties\",\n                type: \"longtext CHARACTER SET utf8mb4\",\n                nullable: true,\n                oldClrType: typeof(string),\n                oldType: \"longtext\",\n                oldNullable: true)\n                .Annotation(\"MySql:CharSet\", \"utf8mb4\")\n                .OldAnnotation(\"MySql:CharSet\", \"utf8mb4\");\n\n            migrationBuilder.AlterColumn<string>(\n                name: \"InputType\",\n                table: \"AbpDynamicProperties\",\n                type: \"longtext CHARACTER SET utf8mb4\",\n                nullable: true,\n                oldClrType: typeof(string),\n                oldType: \"longtext\",\n                oldNullable: true)\n                .Annotation(\"MySql:CharSet\", \"utf8mb4\")\n                .OldAnnotation(\"MySql:CharSet\", \"utf8mb4\");\n\n            migrationBuilder.AlterColumn<string>(\n                name: \"DisplayName\",\n                table: \"AbpDynamicProperties\",\n                type: \"longtext CHARACTER SET utf8mb4\",\n                nullable: true,\n                oldClrType: typeof(string),\n                oldType: \"longtext\",\n                oldNullable: true)\n                .Annotation(\"MySql:CharSet\", \"utf8mb4\")\n                .OldAnnotation(\"MySql:CharSet\", \"utf8mb4\");\n\n            migrationBuilder.AlterColumn<string>(\n                name: \"Value\",\n                table: \"AbpDynamicEntityPropertyValues\",\n                type: \"longtext CHARACTER SET utf8mb4\",\n                nullable: false,\n                oldClrType: typeof(string),\n                oldType: \"longtext\")\n                .Annotation(\"MySql:CharSet\", \"utf8mb4\")\n                .OldAnnotation(\"MySql:CharSet\", \"utf8mb4\");\n\n            migrationBuilder.AlterColumn<string>(\n                name: \"EntityId\",\n                table: \"AbpDynamicEntityPropertyValues\",\n                type: \"longtext CHARACTER SET utf8mb4\",\n                nullable: true,\n                oldClrType: typeof(string),\n                oldType: \"longtext\",\n                oldNullable: true)\n                .Annotation(\"MySql:CharSet\", \"utf8mb4\")\n                .OldAnnotation(\"MySql:CharSet\", \"utf8mb4\");\n\n            migrationBuilder.AlterColumn<string>(\n                name: \"JobArgs\",\n                table: \"AbpBackgroundJobs\",\n                type: \"longtext CHARACTER SET utf8mb4\",\n                maxLength: 1048576,\n                nullable: false,\n                oldClrType: typeof(string),\n                oldType: \"longtext\",\n                oldMaxLength: 1048576)\n                .Annotation(\"MySql:CharSet\", \"utf8mb4\")\n                .OldAnnotation(\"MySql:CharSet\", \"utf8mb4\");\n\n            migrationBuilder.AlterColumn<string>(\n                name: \"ReturnValue\",\n                table: \"AbpAuditLogs\",\n                type: \"longtext CHARACTER SET utf8mb4\",\n                nullable: true,\n                oldClrType: typeof(string),\n                oldType: \"longtext\",\n                oldNullable: true)\n                .Annotation(\"MySql:CharSet\", \"utf8mb4\")\n                .OldAnnotation(\"MySql:CharSet\", \"utf8mb4\");\n        }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.EntityFrameworkCore/Migrations/20250813025256_UpgradeAbp840.Designer.cs",
    "content": "﻿// <auto-generated />\nusing System;\nusing AcmStatisticsBackend.EntityFrameworkCore;\nusing Microsoft.EntityFrameworkCore;\nusing Microsoft.EntityFrameworkCore.Infrastructure;\nusing Microsoft.EntityFrameworkCore.Metadata;\nusing Microsoft.EntityFrameworkCore.Migrations;\nusing Microsoft.EntityFrameworkCore.Storage.ValueConversion;\n\n#nullable disable\n\nnamespace AcmStatisticsBackend.Migrations\n{\n    [DbContext(typeof(AcmStatisticsBackendDbContext))]\n    [Migration(\"20250813025256_UpgradeAbp840\")]\n    partial class UpgradeAbp840\n    {\n        /// <inheritdoc />\n        protected override void BuildTargetModel(ModelBuilder modelBuilder)\n        {\n#pragma warning disable 612, 618\n            modelBuilder\n                .HasAnnotation(\"ProductVersion\", \"8.0.19\")\n                .HasAnnotation(\"Relational:MaxIdentifierLength\", 64);\n\n            MySqlModelBuilderExtensions.AutoIncrementColumns(modelBuilder);\n\n            modelBuilder.Entity(\"Abp.Application.Editions.Edition\", b =>\n                {\n                    b.Property<int>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"int\");\n\n                    MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<int>(\"Id\"));\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"DeleterUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"DeletionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"DisplayName\")\n                        .IsRequired()\n                        .HasMaxLength(64)\n                        .HasColumnType(\"varchar(64)\");\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Name\")\n                        .IsRequired()\n                        .HasMaxLength(32)\n                        .HasColumnType(\"varchar(32)\");\n\n                    b.HasKey(\"Id\");\n\n                    b.ToTable(\"AbpEditions\");\n                });\n\n            modelBuilder.Entity(\"Abp.Application.Features.FeatureSetting\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<long>(\"Id\"));\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Discriminator\")\n                        .IsRequired()\n                        .HasMaxLength(21)\n                        .HasColumnType(\"varchar(21)\");\n\n                    b.Property<string>(\"Name\")\n                        .IsRequired()\n                        .HasMaxLength(128)\n                        .HasColumnType(\"varchar(128)\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"Value\")\n                        .IsRequired()\n                        .HasMaxLength(2000)\n                        .HasColumnType(\"varchar(2000)\");\n\n                    b.HasKey(\"Id\");\n\n                    b.ToTable(\"AbpFeatures\");\n\n                    b.HasDiscriminator().HasValue(\"FeatureSetting\");\n\n                    b.UseTphMappingStrategy();\n                });\n\n            modelBuilder.Entity(\"Abp.Auditing.AuditLog\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<long>(\"Id\"));\n\n                    b.Property<string>(\"BrowserInfo\")\n                        .HasMaxLength(512)\n                        .HasColumnType(\"varchar(512)\");\n\n                    b.Property<string>(\"ClientIpAddress\")\n                        .HasMaxLength(64)\n                        .HasColumnType(\"varchar(64)\");\n\n                    b.Property<string>(\"ClientName\")\n                        .HasMaxLength(128)\n                        .HasColumnType(\"varchar(128)\");\n\n                    b.Property<string>(\"CustomData\")\n                        .HasMaxLength(2000)\n                        .HasColumnType(\"varchar(2000)\");\n\n                    b.Property<string>(\"Exception\")\n                        .HasMaxLength(2000)\n                        .HasColumnType(\"varchar(2000)\");\n\n                    b.Property<string>(\"ExceptionMessage\")\n                        .HasMaxLength(1024)\n                        .HasColumnType(\"varchar(1024)\");\n\n                    b.Property<int>(\"ExecutionDuration\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<DateTime>(\"ExecutionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<int?>(\"ImpersonatorTenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long?>(\"ImpersonatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"MethodName\")\n                        .HasMaxLength(256)\n                        .HasColumnType(\"varchar(256)\");\n\n                    b.Property<string>(\"Parameters\")\n                        .HasMaxLength(1024)\n                        .HasColumnType(\"varchar(1024)\");\n\n                    b.Property<string>(\"ReturnValue\")\n                        .HasColumnType(\"longtext\");\n\n                    b.Property<string>(\"ServiceName\")\n                        .HasMaxLength(256)\n                        .HasColumnType(\"varchar(256)\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long?>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"TenantId\", \"ExecutionDuration\");\n\n                    b.HasIndex(\"TenantId\", \"ExecutionTime\");\n\n                    b.HasIndex(\"TenantId\", \"UserId\");\n\n                    b.ToTable(\"AbpAuditLogs\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.PermissionSetting\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<long>(\"Id\"));\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Discriminator\")\n                        .IsRequired()\n                        .HasMaxLength(21)\n                        .HasColumnType(\"varchar(21)\");\n\n                    b.Property<bool>(\"IsGranted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<string>(\"Name\")\n                        .IsRequired()\n                        .HasMaxLength(128)\n                        .HasColumnType(\"varchar(128)\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"TenantId\", \"Name\");\n\n                    b.ToTable(\"AbpPermissions\");\n\n                    b.HasDiscriminator().HasValue(\"PermissionSetting\");\n\n                    b.UseTphMappingStrategy();\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Roles.RoleClaim\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<long>(\"Id\"));\n\n                    b.Property<string>(\"ClaimType\")\n                        .HasMaxLength(256)\n                        .HasColumnType(\"varchar(256)\");\n\n                    b.Property<string>(\"ClaimValue\")\n                        .HasColumnType(\"longtext\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int>(\"RoleId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"RoleId\");\n\n                    b.HasIndex(\"TenantId\", \"ClaimType\");\n\n                    b.ToTable(\"AbpRoleClaims\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserAccount\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<long>(\"Id\"));\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"DeleterUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"DeletionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"EmailAddress\")\n                        .HasMaxLength(256)\n                        .HasColumnType(\"varchar(256)\");\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"UserLinkId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"UserName\")\n                        .HasMaxLength(256)\n                        .HasColumnType(\"varchar(256)\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"EmailAddress\");\n\n                    b.HasIndex(\"UserName\");\n\n                    b.HasIndex(\"TenantId\", \"EmailAddress\");\n\n                    b.HasIndex(\"TenantId\", \"UserId\");\n\n                    b.HasIndex(\"TenantId\", \"UserName\");\n\n                    b.ToTable(\"AbpUserAccounts\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserClaim\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<long>(\"Id\"));\n\n                    b.Property<string>(\"ClaimType\")\n                        .HasMaxLength(256)\n                        .HasColumnType(\"varchar(256)\");\n\n                    b.Property<string>(\"ClaimValue\")\n                        .HasColumnType(\"longtext\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"UserId\");\n\n                    b.HasIndex(\"TenantId\", \"ClaimType\");\n\n                    b.ToTable(\"AbpUserClaims\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserLogin\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<long>(\"Id\"));\n\n                    b.Property<string>(\"LoginProvider\")\n                        .IsRequired()\n                        .HasMaxLength(128)\n                        .HasColumnType(\"varchar(128)\");\n\n                    b.Property<string>(\"ProviderKey\")\n                        .IsRequired()\n                        .HasMaxLength(256)\n                        .HasColumnType(\"varchar(256)\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"UserId\");\n\n                    b.HasIndex(\"ProviderKey\", \"TenantId\")\n                        .IsUnique();\n\n                    b.HasIndex(\"TenantId\", \"UserId\");\n\n                    b.HasIndex(\"TenantId\", \"LoginProvider\", \"ProviderKey\");\n\n                    b.ToTable(\"AbpUserLogins\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserLoginAttempt\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<long>(\"Id\"));\n\n                    b.Property<string>(\"BrowserInfo\")\n                        .HasMaxLength(512)\n                        .HasColumnType(\"varchar(512)\");\n\n                    b.Property<string>(\"ClientIpAddress\")\n                        .HasMaxLength(64)\n                        .HasColumnType(\"varchar(64)\");\n\n                    b.Property<string>(\"ClientName\")\n                        .HasMaxLength(128)\n                        .HasColumnType(\"varchar(128)\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<byte>(\"Result\")\n                        .HasColumnType(\"tinyint unsigned\");\n\n                    b.Property<string>(\"TenancyName\")\n                        .HasMaxLength(64)\n                        .HasColumnType(\"varchar(64)\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long?>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"UserNameOrEmailAddress\")\n                        .HasMaxLength(256)\n                        .HasColumnType(\"varchar(256)\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"UserId\", \"TenantId\");\n\n                    b.HasIndex(\"TenancyName\", \"UserNameOrEmailAddress\", \"Result\");\n\n                    b.ToTable(\"AbpUserLoginAttempts\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserOrganizationUnit\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<long>(\"Id\"));\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<long>(\"OrganizationUnitId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"TenantId\", \"OrganizationUnitId\");\n\n                    b.HasIndex(\"TenantId\", \"UserId\");\n\n                    b.ToTable(\"AbpUserOrganizationUnits\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserRole\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<long>(\"Id\"));\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int>(\"RoleId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"UserId\");\n\n                    b.HasIndex(\"TenantId\", \"RoleId\");\n\n                    b.HasIndex(\"TenantId\", \"UserId\");\n\n                    b.ToTable(\"AbpUserRoles\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserToken\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<long>(\"Id\"));\n\n                    b.Property<DateTime?>(\"ExpireDate\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"LoginProvider\")\n                        .HasMaxLength(128)\n                        .HasColumnType(\"varchar(128)\");\n\n                    b.Property<string>(\"Name\")\n                        .HasMaxLength(128)\n                        .HasColumnType(\"varchar(128)\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Value\")\n                        .HasMaxLength(512)\n                        .HasColumnType(\"varchar(512)\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"UserId\");\n\n                    b.HasIndex(\"TenantId\", \"UserId\");\n\n                    b.ToTable(\"AbpUserTokens\");\n                });\n\n            modelBuilder.Entity(\"Abp.BackgroundJobs.BackgroundJobInfo\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<long>(\"Id\"));\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<bool>(\"IsAbandoned\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<string>(\"JobArgs\")\n                        .IsRequired()\n                        .HasMaxLength(1048576)\n                        .HasColumnType(\"longtext\");\n\n                    b.Property<string>(\"JobType\")\n                        .IsRequired()\n                        .HasMaxLength(512)\n                        .HasColumnType(\"varchar(512)\");\n\n                    b.Property<DateTime?>(\"LastTryTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<DateTime>(\"NextTryTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<byte>(\"Priority\")\n                        .HasColumnType(\"tinyint unsigned\");\n\n                    b.Property<short>(\"TryCount\")\n                        .HasColumnType(\"smallint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"IsAbandoned\", \"NextTryTime\");\n\n                    b.ToTable(\"AbpBackgroundJobs\");\n                });\n\n            modelBuilder.Entity(\"Abp.Configuration.Setting\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<long>(\"Id\"));\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Name\")\n                        .IsRequired()\n                        .HasMaxLength(256)\n                        .HasColumnType(\"varchar(256)\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long?>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Value\")\n                        .HasColumnType(\"longtext\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"UserId\");\n\n                    b.HasIndex(\"TenantId\", \"Name\", \"UserId\")\n                        .IsUnique();\n\n                    b.ToTable(\"AbpSettings\");\n                });\n\n            modelBuilder.Entity(\"Abp.DynamicEntityProperties.DynamicEntityProperty\", b =>\n                {\n                    b.Property<int>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"int\");\n\n                    MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<int>(\"Id\"));\n\n                    b.Property<int>(\"DynamicPropertyId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"EntityFullName\")\n                        .HasMaxLength(256)\n                        .HasColumnType(\"varchar(256)\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"DynamicPropertyId\");\n\n                    b.HasIndex(\"EntityFullName\", \"DynamicPropertyId\", \"TenantId\")\n                        .IsUnique();\n\n                    b.ToTable(\"AbpDynamicEntityProperties\");\n                });\n\n            modelBuilder.Entity(\"Abp.DynamicEntityProperties.DynamicEntityPropertyValue\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<long>(\"Id\"));\n\n                    b.Property<int>(\"DynamicEntityPropertyId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"EntityId\")\n                        .HasColumnType(\"longtext\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"Value\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"DynamicEntityPropertyId\");\n\n                    b.ToTable(\"AbpDynamicEntityPropertyValues\");\n                });\n\n            modelBuilder.Entity(\"Abp.DynamicEntityProperties.DynamicProperty\", b =>\n                {\n                    b.Property<int>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"int\");\n\n                    MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<int>(\"Id\"));\n\n                    b.Property<string>(\"DisplayName\")\n                        .HasColumnType(\"longtext\");\n\n                    b.Property<string>(\"InputType\")\n                        .HasColumnType(\"longtext\");\n\n                    b.Property<string>(\"Permission\")\n                        .HasColumnType(\"longtext\");\n\n                    b.Property<string>(\"PropertyName\")\n                        .HasMaxLength(256)\n                        .HasColumnType(\"varchar(256)\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"PropertyName\", \"TenantId\")\n                        .IsUnique();\n\n                    b.ToTable(\"AbpDynamicProperties\");\n                });\n\n            modelBuilder.Entity(\"Abp.DynamicEntityProperties.DynamicPropertyValue\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<long>(\"Id\"));\n\n                    b.Property<int>(\"DynamicPropertyId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"Value\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"DynamicPropertyId\");\n\n                    b.ToTable(\"AbpDynamicPropertyValues\");\n                });\n\n            modelBuilder.Entity(\"Abp.EntityHistory.EntityChange\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<long>(\"Id\"));\n\n                    b.Property<DateTime>(\"ChangeTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<byte>(\"ChangeType\")\n                        .HasColumnType(\"tinyint unsigned\");\n\n                    b.Property<long>(\"EntityChangeSetId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"EntityId\")\n                        .HasMaxLength(48)\n                        .HasColumnType(\"varchar(48)\");\n\n                    b.Property<string>(\"EntityTypeFullName\")\n                        .HasMaxLength(192)\n                        .HasColumnType(\"varchar(192)\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"EntityChangeSetId\");\n\n                    b.HasIndex(\"EntityTypeFullName\", \"EntityId\");\n\n                    b.ToTable(\"AbpEntityChanges\");\n                });\n\n            modelBuilder.Entity(\"Abp.EntityHistory.EntityChangeSet\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<long>(\"Id\"));\n\n                    b.Property<string>(\"BrowserInfo\")\n                        .HasMaxLength(512)\n                        .HasColumnType(\"varchar(512)\");\n\n                    b.Property<string>(\"ClientIpAddress\")\n                        .HasMaxLength(64)\n                        .HasColumnType(\"varchar(64)\");\n\n                    b.Property<string>(\"ClientName\")\n                        .HasMaxLength(128)\n                        .HasColumnType(\"varchar(128)\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"ExtensionData\")\n                        .HasColumnType(\"longtext\");\n\n                    b.Property<int?>(\"ImpersonatorTenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long?>(\"ImpersonatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Reason\")\n                        .HasMaxLength(256)\n                        .HasColumnType(\"varchar(256)\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long?>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"TenantId\", \"CreationTime\");\n\n                    b.HasIndex(\"TenantId\", \"Reason\");\n\n                    b.HasIndex(\"TenantId\", \"UserId\");\n\n                    b.ToTable(\"AbpEntityChangeSets\");\n                });\n\n            modelBuilder.Entity(\"Abp.EntityHistory.EntityPropertyChange\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<long>(\"Id\"));\n\n                    b.Property<long>(\"EntityChangeId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"NewValue\")\n                        .HasMaxLength(512)\n                        .HasColumnType(\"varchar(512)\");\n\n                    b.Property<string>(\"NewValueHash\")\n                        .HasColumnType(\"longtext\");\n\n                    b.Property<string>(\"OriginalValue\")\n                        .HasMaxLength(512)\n                        .HasColumnType(\"varchar(512)\");\n\n                    b.Property<string>(\"OriginalValueHash\")\n                        .HasColumnType(\"longtext\");\n\n                    b.Property<string>(\"PropertyName\")\n                        .HasMaxLength(96)\n                        .HasColumnType(\"varchar(96)\");\n\n                    b.Property<string>(\"PropertyTypeFullName\")\n                        .HasMaxLength(192)\n                        .HasColumnType(\"varchar(192)\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"EntityChangeId\");\n\n                    b.ToTable(\"AbpEntityPropertyChanges\");\n                });\n\n            modelBuilder.Entity(\"Abp.Localization.ApplicationLanguage\", b =>\n                {\n                    b.Property<int>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"int\");\n\n                    MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<int>(\"Id\"));\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"DeleterUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"DeletionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"DisplayName\")\n                        .IsRequired()\n                        .HasMaxLength(64)\n                        .HasColumnType(\"varchar(64)\");\n\n                    b.Property<string>(\"Icon\")\n                        .HasMaxLength(128)\n                        .HasColumnType(\"varchar(128)\");\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<bool>(\"IsDisabled\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Name\")\n                        .IsRequired()\n                        .HasMaxLength(128)\n                        .HasColumnType(\"varchar(128)\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"TenantId\", \"Name\");\n\n                    b.ToTable(\"AbpLanguages\");\n                });\n\n            modelBuilder.Entity(\"Abp.Localization.ApplicationLanguageText\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<long>(\"Id\"));\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Key\")\n                        .IsRequired()\n                        .HasMaxLength(256)\n                        .HasColumnType(\"varchar(256)\");\n\n                    b.Property<string>(\"LanguageName\")\n                        .IsRequired()\n                        .HasMaxLength(128)\n                        .HasColumnType(\"varchar(128)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Source\")\n                        .IsRequired()\n                        .HasMaxLength(128)\n                        .HasColumnType(\"varchar(128)\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"Value\")\n                        .IsRequired()\n                        .HasMaxLength(67108864)\n                        .HasColumnType(\"longtext\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"TenantId\", \"Source\", \"LanguageName\", \"Key\");\n\n                    b.ToTable(\"AbpLanguageTexts\");\n                });\n\n            modelBuilder.Entity(\"Abp.Notifications.NotificationInfo\", b =>\n                {\n                    b.Property<Guid>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"char(36)\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Data\")\n                        .HasMaxLength(1048576)\n                        .HasColumnType(\"longtext\");\n\n                    b.Property<string>(\"DataTypeName\")\n                        .HasMaxLength(512)\n                        .HasColumnType(\"varchar(512)\");\n\n                    b.Property<string>(\"EntityId\")\n                        .HasMaxLength(96)\n                        .HasColumnType(\"varchar(96)\");\n\n                    b.Property<string>(\"EntityTypeAssemblyQualifiedName\")\n                        .HasMaxLength(512)\n                        .HasColumnType(\"varchar(512)\");\n\n                    b.Property<string>(\"EntityTypeName\")\n                        .HasMaxLength(250)\n                        .HasColumnType(\"varchar(250)\");\n\n                    b.Property<string>(\"ExcludedUserIds\")\n                        .HasMaxLength(131072)\n                        .HasColumnType(\"longtext\");\n\n                    b.Property<string>(\"NotificationName\")\n                        .IsRequired()\n                        .HasMaxLength(96)\n                        .HasColumnType(\"varchar(96)\");\n\n                    b.Property<byte>(\"Severity\")\n                        .HasColumnType(\"tinyint unsigned\");\n\n                    b.Property<string>(\"TargetNotifiers\")\n                        .HasMaxLength(1024)\n                        .HasColumnType(\"varchar(1024)\");\n\n                    b.Property<string>(\"TenantIds\")\n                        .HasMaxLength(131072)\n                        .HasColumnType(\"longtext\");\n\n                    b.Property<string>(\"UserIds\")\n                        .HasMaxLength(131072)\n                        .HasColumnType(\"longtext\");\n\n                    b.HasKey(\"Id\");\n\n                    b.ToTable(\"AbpNotifications\");\n                });\n\n            modelBuilder.Entity(\"Abp.Notifications.NotificationSubscriptionInfo\", b =>\n                {\n                    b.Property<Guid>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"char(36)\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"EntityId\")\n                        .HasMaxLength(96)\n                        .HasColumnType(\"varchar(96)\");\n\n                    b.Property<string>(\"EntityTypeAssemblyQualifiedName\")\n                        .HasMaxLength(512)\n                        .HasColumnType(\"varchar(512)\");\n\n                    b.Property<string>(\"EntityTypeName\")\n                        .HasMaxLength(250)\n                        .HasColumnType(\"varchar(250)\");\n\n                    b.Property<string>(\"NotificationName\")\n                        .HasMaxLength(96)\n                        .HasColumnType(\"varchar(96)\");\n\n                    b.Property<string>(\"TargetNotifiers\")\n                        .HasMaxLength(1024)\n                        .HasColumnType(\"varchar(1024)\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"NotificationName\", \"EntityTypeName\", \"EntityId\", \"UserId\");\n\n                    b.HasIndex(\"TenantId\", \"NotificationName\", \"EntityTypeName\", \"EntityId\", \"UserId\");\n\n                    b.ToTable(\"AbpNotificationSubscriptions\");\n                });\n\n            modelBuilder.Entity(\"Abp.Notifications.TenantNotificationInfo\", b =>\n                {\n                    b.Property<Guid>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"char(36)\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Data\")\n                        .HasMaxLength(1048576)\n                        .HasColumnType(\"longtext\");\n\n                    b.Property<string>(\"DataTypeName\")\n                        .HasMaxLength(512)\n                        .HasColumnType(\"varchar(512)\");\n\n                    b.Property<string>(\"EntityId\")\n                        .HasMaxLength(96)\n                        .HasColumnType(\"varchar(96)\");\n\n                    b.Property<string>(\"EntityTypeAssemblyQualifiedName\")\n                        .HasMaxLength(512)\n                        .HasColumnType(\"varchar(512)\");\n\n                    b.Property<string>(\"EntityTypeName\")\n                        .HasMaxLength(250)\n                        .HasColumnType(\"varchar(250)\");\n\n                    b.Property<string>(\"NotificationName\")\n                        .IsRequired()\n                        .HasMaxLength(96)\n                        .HasColumnType(\"varchar(96)\");\n\n                    b.Property<byte>(\"Severity\")\n                        .HasColumnType(\"tinyint unsigned\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"TenantId\");\n\n                    b.ToTable(\"AbpTenantNotifications\");\n                });\n\n            modelBuilder.Entity(\"Abp.Notifications.UserNotificationInfo\", b =>\n                {\n                    b.Property<Guid>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"char(36)\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<int>(\"State\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"TargetNotifiers\")\n                        .HasMaxLength(1024)\n                        .HasColumnType(\"varchar(1024)\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<Guid>(\"TenantNotificationId\")\n                        .HasColumnType(\"char(36)\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"UserId\", \"State\", \"CreationTime\");\n\n                    b.ToTable(\"AbpUserNotifications\");\n                });\n\n            modelBuilder.Entity(\"Abp.Organizations.OrganizationUnit\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<long>(\"Id\"));\n\n                    b.Property<string>(\"Code\")\n                        .IsRequired()\n                        .HasMaxLength(95)\n                        .HasColumnType(\"varchar(95)\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"DeleterUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"DeletionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"DisplayName\")\n                        .IsRequired()\n                        .HasMaxLength(128)\n                        .HasColumnType(\"varchar(128)\");\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"ParentId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"ParentId\");\n\n                    b.HasIndex(\"TenantId\", \"Code\");\n\n                    b.ToTable(\"AbpOrganizationUnits\");\n                });\n\n            modelBuilder.Entity(\"Abp.Organizations.OrganizationUnitRole\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<long>(\"Id\"));\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<long>(\"OrganizationUnitId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int>(\"RoleId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"TenantId\", \"OrganizationUnitId\");\n\n                    b.HasIndex(\"TenantId\", \"RoleId\");\n\n                    b.ToTable(\"AbpOrganizationUnitRoles\");\n                });\n\n            modelBuilder.Entity(\"Abp.Webhooks.WebhookEvent\", b =>\n                {\n                    b.Property<Guid>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"char(36)\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"Data\")\n                        .HasColumnType(\"longtext\");\n\n                    b.Property<DateTime?>(\"DeletionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"WebhookName\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext\");\n\n                    b.HasKey(\"Id\");\n\n                    b.ToTable(\"AbpWebhookEvents\");\n                });\n\n            modelBuilder.Entity(\"Abp.Webhooks.WebhookSendAttempt\", b =>\n                {\n                    b.Property<Guid>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"char(36)\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"Response\")\n                        .HasColumnType(\"longtext\");\n\n                    b.Property<int?>(\"ResponseStatusCode\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<Guid>(\"WebhookEventId\")\n                        .HasColumnType(\"char(36)\");\n\n                    b.Property<Guid>(\"WebhookSubscriptionId\")\n                        .HasColumnType(\"char(36)\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"WebhookEventId\");\n\n                    b.ToTable(\"AbpWebhookSendAttempts\");\n                });\n\n            modelBuilder.Entity(\"Abp.Webhooks.WebhookSubscriptionInfo\", b =>\n                {\n                    b.Property<Guid>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"char(36)\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Headers\")\n                        .HasColumnType(\"longtext\");\n\n                    b.Property<bool>(\"IsActive\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<string>(\"Secret\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"WebhookUri\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext\");\n\n                    b.Property<string>(\"Webhooks\")\n                        .HasColumnType(\"longtext\");\n\n                    b.HasKey(\"Id\");\n\n                    b.ToTable(\"AbpWebhookSubscriptions\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Authorization.Roles.Role\", b =>\n                {\n                    b.Property<int>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"int\");\n\n                    MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<int>(\"Id\"));\n\n                    b.Property<string>(\"ConcurrencyStamp\")\n                        .IsConcurrencyToken()\n                        .HasMaxLength(128)\n                        .HasColumnType(\"varchar(128)\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"DeleterUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"DeletionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"DisplayName\")\n                        .IsRequired()\n                        .HasMaxLength(64)\n                        .HasColumnType(\"varchar(64)\");\n\n                    b.Property<bool>(\"IsDefault\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<bool>(\"IsStatic\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Name\")\n                        .IsRequired()\n                        .HasMaxLength(32)\n                        .HasColumnType(\"varchar(32)\");\n\n                    b.Property<string>(\"NormalizedName\")\n                        .IsRequired()\n                        .HasMaxLength(32)\n                        .HasColumnType(\"varchar(32)\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"CreatorUserId\");\n\n                    b.HasIndex(\"DeleterUserId\");\n\n                    b.HasIndex(\"LastModifierUserId\");\n\n                    b.HasIndex(\"TenantId\", \"NormalizedName\");\n\n                    b.ToTable(\"AbpRoles\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Authorization.Users.User\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<long>(\"Id\"));\n\n                    b.Property<int>(\"AccessFailedCount\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"AuthenticationSource\")\n                        .HasMaxLength(64)\n                        .HasColumnType(\"varchar(64)\");\n\n                    b.Property<string>(\"ConcurrencyStamp\")\n                        .IsConcurrencyToken()\n                        .HasMaxLength(128)\n                        .HasColumnType(\"varchar(128)\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"DeleterUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"DeletionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"EmailAddress\")\n                        .IsRequired()\n                        .HasMaxLength(256)\n                        .HasColumnType(\"varchar(256)\");\n\n                    b.Property<string>(\"EmailConfirmationCode\")\n                        .HasMaxLength(328)\n                        .HasColumnType(\"varchar(328)\");\n\n                    b.Property<bool>(\"IsActive\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<bool>(\"IsEmailConfirmed\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<bool>(\"IsLockoutEnabled\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<bool>(\"IsPhoneNumberConfirmed\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<bool>(\"IsTwoFactorEnabled\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"LockoutEndDateUtc\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"Name\")\n                        .IsRequired()\n                        .HasMaxLength(64)\n                        .HasColumnType(\"varchar(64)\");\n\n                    b.Property<string>(\"NormalizedEmailAddress\")\n                        .IsRequired()\n                        .HasMaxLength(256)\n                        .HasColumnType(\"varchar(256)\");\n\n                    b.Property<string>(\"NormalizedUserName\")\n                        .IsRequired()\n                        .HasMaxLength(256)\n                        .HasColumnType(\"varchar(256)\");\n\n                    b.Property<string>(\"Password\")\n                        .IsRequired()\n                        .HasMaxLength(128)\n                        .HasColumnType(\"varchar(128)\");\n\n                    b.Property<string>(\"PasswordResetCode\")\n                        .HasMaxLength(328)\n                        .HasColumnType(\"varchar(328)\");\n\n                    b.Property<string>(\"PhoneNumber\")\n                        .HasMaxLength(32)\n                        .HasColumnType(\"varchar(32)\");\n\n                    b.Property<string>(\"SecurityStamp\")\n                        .HasMaxLength(128)\n                        .HasColumnType(\"varchar(128)\");\n\n                    b.Property<string>(\"Surname\")\n                        .IsRequired()\n                        .HasMaxLength(64)\n                        .HasColumnType(\"varchar(64)\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"UserName\")\n                        .IsRequired()\n                        .HasMaxLength(256)\n                        .HasColumnType(\"varchar(256)\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"CreatorUserId\");\n\n                    b.HasIndex(\"DeleterUserId\");\n\n                    b.HasIndex(\"LastModifierUserId\");\n\n                    b.HasIndex(\"TenantId\", \"NormalizedEmailAddress\");\n\n                    b.HasIndex(\"TenantId\", \"NormalizedUserName\");\n\n                    b.ToTable(\"AbpUsers\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.DefaultQuery\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<long>(\"Id\"));\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"DeleterUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"DeletionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"MainUsername\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"UsernamesInCrawlers\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"CreatorUserId\");\n\n                    b.HasIndex(\"DeleterUserId\");\n\n                    b.HasIndex(\"LastModifierUserId\");\n\n                    b.HasIndex(\"UserId\");\n\n                    b.ToTable(\"DefaultQueries\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.QueryCrawlerSummary\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<long>(\"Id\"));\n\n                    b.Property<string>(\"CrawlerName\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext\");\n\n                    b.Property<bool>(\"IsVirtualJudge\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<long>(\"QuerySummaryId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int>(\"Solved\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<int>(\"Submission\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"QuerySummaryId\");\n\n                    b.ToTable(\"QueryCrawlerSummaries\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.QueryHistory\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<long>(\"Id\"));\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<bool>(\"IsReliableSource\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<string>(\"MainUsername\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"UserId\");\n\n                    b.ToTable(\"QueryHistories\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.QuerySummary\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<long>(\"Id\"));\n\n                    b.Property<DateTime>(\"GenerateTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long>(\"QueryHistoryId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int>(\"Solved\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<int>(\"Submission\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"SummaryWarnings\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"QueryHistoryId\")\n                        .IsUnique();\n\n                    b.ToTable(\"QuerySummaries\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.QueryWorkerHistory\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<long>(\"Id\"));\n\n                    b.Property<string>(\"CrawlerName\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext\");\n\n                    b.Property<string>(\"ErrorMessage\")\n                        .HasColumnType(\"longtext\");\n\n                    b.Property<bool>(\"IsVirtualJudge\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<long>(\"QueryHistoryId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int>(\"Solved\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"SolvedList\")\n                        .HasColumnType(\"longtext\");\n\n                    b.Property<int>(\"Submission\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"SubmissionsByCrawlerName\")\n                        .HasColumnType(\"longtext\");\n\n                    b.Property<string>(\"Username\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"QueryHistoryId\");\n\n                    b.ToTable(\"QueryWorkerHistories\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.UsernameInCrawler\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<long>(\"Id\"));\n\n                    b.Property<string>(\"FromCrawlerName\")\n                        .HasColumnType(\"longtext\");\n\n                    b.Property<long>(\"QueryCrawlerSummaryId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Username\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"QueryCrawlerSummaryId\");\n\n                    b.ToTable(\"UsernameInCrawler\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.MultiTenancy.Tenant\", b =>\n                {\n                    b.Property<int>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"int\");\n\n                    MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<int>(\"Id\"));\n\n                    b.Property<string>(\"ConnectionString\")\n                        .HasMaxLength(1024)\n                        .HasColumnType(\"varchar(1024)\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"DeleterUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"DeletionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<int?>(\"EditionId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<bool>(\"IsActive\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Name\")\n                        .IsRequired()\n                        .HasMaxLength(128)\n                        .HasColumnType(\"varchar(128)\");\n\n                    b.Property<string>(\"TenancyName\")\n                        .IsRequired()\n                        .HasMaxLength(64)\n                        .HasColumnType(\"varchar(64)\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"CreatorUserId\");\n\n                    b.HasIndex(\"DeleterUserId\");\n\n                    b.HasIndex(\"EditionId\");\n\n                    b.HasIndex(\"LastModifierUserId\");\n\n                    b.HasIndex(\"TenancyName\");\n\n                    b.ToTable(\"AbpTenants\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Settings.UserSettingAttribute\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<long>(\"Id\"));\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"LastTimeZoneChangedTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"CreatorUserId\");\n\n                    b.HasIndex(\"LastModifierUserId\");\n\n                    b.HasIndex(\"UserId\");\n\n                    b.ToTable(\"UserSettingAttributes\");\n                });\n\n            modelBuilder.Entity(\"Abp.Application.Features.EditionFeatureSetting\", b =>\n                {\n                    b.HasBaseType(\"Abp.Application.Features.FeatureSetting\");\n\n                    b.Property<int>(\"EditionId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasIndex(\"EditionId\", \"Name\");\n\n                    b.ToTable(\"AbpFeatures\");\n\n                    b.HasDiscriminator().HasValue(\"EditionFeatureSetting\");\n                });\n\n            modelBuilder.Entity(\"Abp.MultiTenancy.TenantFeatureSetting\", b =>\n                {\n                    b.HasBaseType(\"Abp.Application.Features.FeatureSetting\");\n\n                    b.HasIndex(\"TenantId\", \"Name\");\n\n                    b.ToTable(\"AbpFeatures\");\n\n                    b.HasDiscriminator().HasValue(\"TenantFeatureSetting\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Roles.RolePermissionSetting\", b =>\n                {\n                    b.HasBaseType(\"Abp.Authorization.PermissionSetting\");\n\n                    b.Property<int>(\"RoleId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasIndex(\"RoleId\");\n\n                    b.ToTable(\"AbpPermissions\");\n\n                    b.HasDiscriminator().HasValue(\"RolePermissionSetting\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserPermissionSetting\", b =>\n                {\n                    b.HasBaseType(\"Abp.Authorization.PermissionSetting\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasIndex(\"UserId\");\n\n                    b.ToTable(\"AbpPermissions\");\n\n                    b.HasDiscriminator().HasValue(\"UserPermissionSetting\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Roles.RoleClaim\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Roles.Role\", null)\n                        .WithMany(\"Claims\")\n                        .HasForeignKey(\"RoleId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserClaim\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", null)\n                        .WithMany(\"Claims\")\n                        .HasForeignKey(\"UserId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserLogin\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", null)\n                        .WithMany(\"Logins\")\n                        .HasForeignKey(\"UserId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserRole\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", null)\n                        .WithMany(\"Roles\")\n                        .HasForeignKey(\"UserId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserToken\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", null)\n                        .WithMany(\"Tokens\")\n                        .HasForeignKey(\"UserId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.Configuration.Setting\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", null)\n                        .WithMany(\"Settings\")\n                        .HasForeignKey(\"UserId\");\n                });\n\n            modelBuilder.Entity(\"Abp.DynamicEntityProperties.DynamicEntityProperty\", b =>\n                {\n                    b.HasOne(\"Abp.DynamicEntityProperties.DynamicProperty\", \"DynamicProperty\")\n                        .WithMany()\n                        .HasForeignKey(\"DynamicPropertyId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n\n                    b.Navigation(\"DynamicProperty\");\n                });\n\n            modelBuilder.Entity(\"Abp.DynamicEntityProperties.DynamicEntityPropertyValue\", b =>\n                {\n                    b.HasOne(\"Abp.DynamicEntityProperties.DynamicEntityProperty\", \"DynamicEntityProperty\")\n                        .WithMany()\n                        .HasForeignKey(\"DynamicEntityPropertyId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n\n                    b.Navigation(\"DynamicEntityProperty\");\n                });\n\n            modelBuilder.Entity(\"Abp.DynamicEntityProperties.DynamicPropertyValue\", b =>\n                {\n                    b.HasOne(\"Abp.DynamicEntityProperties.DynamicProperty\", \"DynamicProperty\")\n                        .WithMany(\"DynamicPropertyValues\")\n                        .HasForeignKey(\"DynamicPropertyId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n\n                    b.Navigation(\"DynamicProperty\");\n                });\n\n            modelBuilder.Entity(\"Abp.EntityHistory.EntityChange\", b =>\n                {\n                    b.HasOne(\"Abp.EntityHistory.EntityChangeSet\", null)\n                        .WithMany(\"EntityChanges\")\n                        .HasForeignKey(\"EntityChangeSetId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.EntityHistory.EntityPropertyChange\", b =>\n                {\n                    b.HasOne(\"Abp.EntityHistory.EntityChange\", null)\n                        .WithMany(\"PropertyChanges\")\n                        .HasForeignKey(\"EntityChangeId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.Organizations.OrganizationUnit\", b =>\n                {\n                    b.HasOne(\"Abp.Organizations.OrganizationUnit\", \"Parent\")\n                        .WithMany(\"Children\")\n                        .HasForeignKey(\"ParentId\");\n\n                    b.Navigation(\"Parent\");\n                });\n\n            modelBuilder.Entity(\"Abp.Webhooks.WebhookSendAttempt\", b =>\n                {\n                    b.HasOne(\"Abp.Webhooks.WebhookEvent\", \"WebhookEvent\")\n                        .WithMany()\n                        .HasForeignKey(\"WebhookEventId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n\n                    b.Navigation(\"WebhookEvent\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Authorization.Roles.Role\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"CreatorUser\")\n                        .WithMany()\n                        .HasForeignKey(\"CreatorUserId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"DeleterUser\")\n                        .WithMany()\n                        .HasForeignKey(\"DeleterUserId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"LastModifierUser\")\n                        .WithMany()\n                        .HasForeignKey(\"LastModifierUserId\");\n\n                    b.Navigation(\"CreatorUser\");\n\n                    b.Navigation(\"DeleterUser\");\n\n                    b.Navigation(\"LastModifierUser\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Authorization.Users.User\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"CreatorUser\")\n                        .WithMany()\n                        .HasForeignKey(\"CreatorUserId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"DeleterUser\")\n                        .WithMany()\n                        .HasForeignKey(\"DeleterUserId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"LastModifierUser\")\n                        .WithMany()\n                        .HasForeignKey(\"LastModifierUserId\");\n\n                    b.Navigation(\"CreatorUser\");\n\n                    b.Navigation(\"DeleterUser\");\n\n                    b.Navigation(\"LastModifierUser\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.DefaultQuery\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"CreatorUser\")\n                        .WithMany()\n                        .HasForeignKey(\"CreatorUserId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"DeleterUser\")\n                        .WithMany()\n                        .HasForeignKey(\"DeleterUserId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"LastModifierUser\")\n                        .WithMany()\n                        .HasForeignKey(\"LastModifierUserId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"User\")\n                        .WithMany()\n                        .HasForeignKey(\"UserId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n\n                    b.Navigation(\"CreatorUser\");\n\n                    b.Navigation(\"DeleterUser\");\n\n                    b.Navigation(\"LastModifierUser\");\n\n                    b.Navigation(\"User\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.QueryCrawlerSummary\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Crawlers.QuerySummary\", \"QuerySummary\")\n                        .WithMany(\"QueryCrawlerSummaries\")\n                        .HasForeignKey(\"QuerySummaryId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n\n                    b.Navigation(\"QuerySummary\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.QueryHistory\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"User\")\n                        .WithMany()\n                        .HasForeignKey(\"UserId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n\n                    b.Navigation(\"User\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.QuerySummary\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Crawlers.QueryHistory\", \"QueryHistory\")\n                        .WithOne()\n                        .HasForeignKey(\"AcmStatisticsBackend.Crawlers.QuerySummary\", \"QueryHistoryId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n\n                    b.Navigation(\"QueryHistory\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.QueryWorkerHistory\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Crawlers.QueryHistory\", \"QueryHistory\")\n                        .WithMany(\"QueryWorkerHistories\")\n                        .HasForeignKey(\"QueryHistoryId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n\n                    b.Navigation(\"QueryHistory\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.UsernameInCrawler\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Crawlers.QueryCrawlerSummary\", \"QueryCrawlerSummary\")\n                        .WithMany(\"Usernames\")\n                        .HasForeignKey(\"QueryCrawlerSummaryId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n\n                    b.Navigation(\"QueryCrawlerSummary\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.MultiTenancy.Tenant\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"CreatorUser\")\n                        .WithMany()\n                        .HasForeignKey(\"CreatorUserId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"DeleterUser\")\n                        .WithMany()\n                        .HasForeignKey(\"DeleterUserId\");\n\n                    b.HasOne(\"Abp.Application.Editions.Edition\", \"Edition\")\n                        .WithMany()\n                        .HasForeignKey(\"EditionId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"LastModifierUser\")\n                        .WithMany()\n                        .HasForeignKey(\"LastModifierUserId\");\n\n                    b.Navigation(\"CreatorUser\");\n\n                    b.Navigation(\"DeleterUser\");\n\n                    b.Navigation(\"Edition\");\n\n                    b.Navigation(\"LastModifierUser\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Settings.UserSettingAttribute\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"CreatorUser\")\n                        .WithMany()\n                        .HasForeignKey(\"CreatorUserId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"LastModifierUser\")\n                        .WithMany()\n                        .HasForeignKey(\"LastModifierUserId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"User\")\n                        .WithMany()\n                        .HasForeignKey(\"UserId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n\n                    b.Navigation(\"CreatorUser\");\n\n                    b.Navigation(\"LastModifierUser\");\n\n                    b.Navigation(\"User\");\n                });\n\n            modelBuilder.Entity(\"Abp.Application.Features.EditionFeatureSetting\", b =>\n                {\n                    b.HasOne(\"Abp.Application.Editions.Edition\", \"Edition\")\n                        .WithMany()\n                        .HasForeignKey(\"EditionId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n\n                    b.Navigation(\"Edition\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Roles.RolePermissionSetting\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Roles.Role\", null)\n                        .WithMany(\"Permissions\")\n                        .HasForeignKey(\"RoleId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserPermissionSetting\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", null)\n                        .WithMany(\"Permissions\")\n                        .HasForeignKey(\"UserId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.DynamicEntityProperties.DynamicProperty\", b =>\n                {\n                    b.Navigation(\"DynamicPropertyValues\");\n                });\n\n            modelBuilder.Entity(\"Abp.EntityHistory.EntityChange\", b =>\n                {\n                    b.Navigation(\"PropertyChanges\");\n                });\n\n            modelBuilder.Entity(\"Abp.EntityHistory.EntityChangeSet\", b =>\n                {\n                    b.Navigation(\"EntityChanges\");\n                });\n\n            modelBuilder.Entity(\"Abp.Organizations.OrganizationUnit\", b =>\n                {\n                    b.Navigation(\"Children\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Authorization.Roles.Role\", b =>\n                {\n                    b.Navigation(\"Claims\");\n\n                    b.Navigation(\"Permissions\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Authorization.Users.User\", b =>\n                {\n                    b.Navigation(\"Claims\");\n\n                    b.Navigation(\"Logins\");\n\n                    b.Navigation(\"Permissions\");\n\n                    b.Navigation(\"Roles\");\n\n                    b.Navigation(\"Settings\");\n\n                    b.Navigation(\"Tokens\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.QueryCrawlerSummary\", b =>\n                {\n                    b.Navigation(\"Usernames\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.QueryHistory\", b =>\n                {\n                    b.Navigation(\"QueryWorkerHistories\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.QuerySummary\", b =>\n                {\n                    b.Navigation(\"QueryCrawlerSummaries\");\n                });\n#pragma warning restore 612, 618\n        }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.EntityFrameworkCore/Migrations/20250813025256_UpgradeAbp840.cs",
    "content": "﻿using Microsoft.EntityFrameworkCore.Metadata;\nusing Microsoft.EntityFrameworkCore.Migrations;\n\n#nullable disable\n\nnamespace AcmStatisticsBackend.Migrations\n{\n    /// <inheritdoc />\n    public partial class UpgradeAbp840 : Migration\n    {\n        /// <inheritdoc />\n        protected override void Up(MigrationBuilder migrationBuilder)\n        {\n            migrationBuilder.AlterColumn<long>(\n                name: \"Id\",\n                table: \"UserSettingAttributes\",\n                type: \"bigint\",\n                nullable: false,\n                oldClrType: typeof(long),\n                oldType: \"bigint\")\n                .Annotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn);\n\n            migrationBuilder.AlterColumn<long>(\n                name: \"Id\",\n                table: \"UsernameInCrawler\",\n                type: \"bigint\",\n                nullable: false,\n                oldClrType: typeof(long),\n                oldType: \"bigint\")\n                .Annotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn);\n\n            migrationBuilder.AlterColumn<long>(\n                name: \"Id\",\n                table: \"QueryWorkerHistories\",\n                type: \"bigint\",\n                nullable: false,\n                oldClrType: typeof(long),\n                oldType: \"bigint\")\n                .Annotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn);\n\n            migrationBuilder.AlterColumn<long>(\n                name: \"Id\",\n                table: \"QuerySummaries\",\n                type: \"bigint\",\n                nullable: false,\n                oldClrType: typeof(long),\n                oldType: \"bigint\")\n                .Annotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn);\n\n            migrationBuilder.AlterColumn<long>(\n                name: \"Id\",\n                table: \"QueryHistories\",\n                type: \"bigint\",\n                nullable: false,\n                oldClrType: typeof(long),\n                oldType: \"bigint\")\n                .Annotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn);\n\n            migrationBuilder.AlterColumn<long>(\n                name: \"Id\",\n                table: \"QueryCrawlerSummaries\",\n                type: \"bigint\",\n                nullable: false,\n                oldClrType: typeof(long),\n                oldType: \"bigint\")\n                .Annotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn);\n\n            migrationBuilder.AlterColumn<long>(\n                name: \"Id\",\n                table: \"DefaultQueries\",\n                type: \"bigint\",\n                nullable: false,\n                oldClrType: typeof(long),\n                oldType: \"bigint\")\n                .Annotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn);\n\n            migrationBuilder.AlterColumn<long>(\n                name: \"Id\",\n                table: \"AbpUserTokens\",\n                type: \"bigint\",\n                nullable: false,\n                oldClrType: typeof(long),\n                oldType: \"bigint\")\n                .Annotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn);\n\n            migrationBuilder.AlterColumn<long>(\n                name: \"Id\",\n                table: \"AbpUsers\",\n                type: \"bigint\",\n                nullable: false,\n                oldClrType: typeof(long),\n                oldType: \"bigint\")\n                .Annotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn);\n\n            migrationBuilder.AlterColumn<long>(\n                name: \"Id\",\n                table: \"AbpUserRoles\",\n                type: \"bigint\",\n                nullable: false,\n                oldClrType: typeof(long),\n                oldType: \"bigint\")\n                .Annotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn);\n\n            migrationBuilder.AlterColumn<long>(\n                name: \"Id\",\n                table: \"AbpUserOrganizationUnits\",\n                type: \"bigint\",\n                nullable: false,\n                oldClrType: typeof(long),\n                oldType: \"bigint\")\n                .Annotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn);\n\n            migrationBuilder.AddColumn<string>(\n                name: \"TargetNotifiers\",\n                table: \"AbpUserNotifications\",\n                type: \"varchar(1024)\",\n                maxLength: 1024,\n                nullable: true)\n                .Annotation(\"MySql:CharSet\", \"utf8mb4\");\n\n            migrationBuilder.AlterColumn<long>(\n                name: \"Id\",\n                table: \"AbpUserLogins\",\n                type: \"bigint\",\n                nullable: false,\n                oldClrType: typeof(long),\n                oldType: \"bigint\")\n                .Annotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn);\n\n            migrationBuilder.AlterColumn<long>(\n                name: \"Id\",\n                table: \"AbpUserLoginAttempts\",\n                type: \"bigint\",\n                nullable: false,\n                oldClrType: typeof(long),\n                oldType: \"bigint\")\n                .Annotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn);\n\n            migrationBuilder.AlterColumn<long>(\n                name: \"Id\",\n                table: \"AbpUserClaims\",\n                type: \"bigint\",\n                nullable: false,\n                oldClrType: typeof(long),\n                oldType: \"bigint\")\n                .Annotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn);\n\n            migrationBuilder.AlterColumn<long>(\n                name: \"Id\",\n                table: \"AbpUserAccounts\",\n                type: \"bigint\",\n                nullable: false,\n                oldClrType: typeof(long),\n                oldType: \"bigint\")\n                .Annotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn);\n\n            migrationBuilder.AlterColumn<int>(\n                name: \"Id\",\n                table: \"AbpTenants\",\n                type: \"int\",\n                nullable: false,\n                oldClrType: typeof(int),\n                oldType: \"int\")\n                .Annotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn);\n\n            migrationBuilder.AlterColumn<long>(\n                name: \"Id\",\n                table: \"AbpSettings\",\n                type: \"bigint\",\n                nullable: false,\n                oldClrType: typeof(long),\n                oldType: \"bigint\")\n                .Annotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn);\n\n            migrationBuilder.AlterColumn<int>(\n                name: \"Id\",\n                table: \"AbpRoles\",\n                type: \"int\",\n                nullable: false,\n                oldClrType: typeof(int),\n                oldType: \"int\")\n                .Annotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn);\n\n            migrationBuilder.AlterColumn<long>(\n                name: \"Id\",\n                table: \"AbpRoleClaims\",\n                type: \"bigint\",\n                nullable: false,\n                oldClrType: typeof(long),\n                oldType: \"bigint\")\n                .Annotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn);\n\n            migrationBuilder.AlterColumn<string>(\n                name: \"Discriminator\",\n                table: \"AbpPermissions\",\n                type: \"varchar(21)\",\n                maxLength: 21,\n                nullable: false,\n                oldClrType: typeof(string),\n                oldType: \"longtext\")\n                .Annotation(\"MySql:CharSet\", \"utf8mb4\")\n                .OldAnnotation(\"MySql:CharSet\", \"utf8mb4\");\n\n            migrationBuilder.AlterColumn<long>(\n                name: \"Id\",\n                table: \"AbpPermissions\",\n                type: \"bigint\",\n                nullable: false,\n                oldClrType: typeof(long),\n                oldType: \"bigint\")\n                .Annotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn);\n\n            migrationBuilder.AlterColumn<long>(\n                name: \"Id\",\n                table: \"AbpOrganizationUnits\",\n                type: \"bigint\",\n                nullable: false,\n                oldClrType: typeof(long),\n                oldType: \"bigint\")\n                .Annotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn);\n\n            migrationBuilder.AlterColumn<long>(\n                name: \"Id\",\n                table: \"AbpOrganizationUnitRoles\",\n                type: \"bigint\",\n                nullable: false,\n                oldClrType: typeof(long),\n                oldType: \"bigint\")\n                .Annotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn);\n\n            migrationBuilder.AddColumn<string>(\n                name: \"TargetNotifiers\",\n                table: \"AbpNotificationSubscriptions\",\n                type: \"varchar(1024)\",\n                maxLength: 1024,\n                nullable: true)\n                .Annotation(\"MySql:CharSet\", \"utf8mb4\");\n\n            migrationBuilder.AddColumn<string>(\n                name: \"TargetNotifiers\",\n                table: \"AbpNotifications\",\n                type: \"varchar(1024)\",\n                maxLength: 1024,\n                nullable: true)\n                .Annotation(\"MySql:CharSet\", \"utf8mb4\");\n\n            migrationBuilder.AlterColumn<long>(\n                name: \"Id\",\n                table: \"AbpLanguageTexts\",\n                type: \"bigint\",\n                nullable: false,\n                oldClrType: typeof(long),\n                oldType: \"bigint\")\n                .Annotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn);\n\n            migrationBuilder.AlterColumn<int>(\n                name: \"Id\",\n                table: \"AbpLanguages\",\n                type: \"int\",\n                nullable: false,\n                oldClrType: typeof(int),\n                oldType: \"int\")\n                .Annotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn);\n\n            migrationBuilder.AlterColumn<string>(\n                name: \"Discriminator\",\n                table: \"AbpFeatures\",\n                type: \"varchar(21)\",\n                maxLength: 21,\n                nullable: false,\n                oldClrType: typeof(string),\n                oldType: \"longtext\")\n                .Annotation(\"MySql:CharSet\", \"utf8mb4\")\n                .OldAnnotation(\"MySql:CharSet\", \"utf8mb4\");\n\n            migrationBuilder.AlterColumn<long>(\n                name: \"Id\",\n                table: \"AbpFeatures\",\n                type: \"bigint\",\n                nullable: false,\n                oldClrType: typeof(long),\n                oldType: \"bigint\")\n                .Annotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn);\n\n            migrationBuilder.AlterColumn<long>(\n                name: \"Id\",\n                table: \"AbpEntityPropertyChanges\",\n                type: \"bigint\",\n                nullable: false,\n                oldClrType: typeof(long),\n                oldType: \"bigint\")\n                .Annotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn);\n\n            migrationBuilder.AlterColumn<long>(\n                name: \"Id\",\n                table: \"AbpEntityChangeSets\",\n                type: \"bigint\",\n                nullable: false,\n                oldClrType: typeof(long),\n                oldType: \"bigint\")\n                .Annotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn);\n\n            migrationBuilder.AlterColumn<long>(\n                name: \"Id\",\n                table: \"AbpEntityChanges\",\n                type: \"bigint\",\n                nullable: false,\n                oldClrType: typeof(long),\n                oldType: \"bigint\")\n                .Annotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn);\n\n            migrationBuilder.AlterColumn<int>(\n                name: \"Id\",\n                table: \"AbpEditions\",\n                type: \"int\",\n                nullable: false,\n                oldClrType: typeof(int),\n                oldType: \"int\")\n                .Annotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn);\n\n            migrationBuilder.AlterColumn<long>(\n                name: \"Id\",\n                table: \"AbpDynamicPropertyValues\",\n                type: \"bigint\",\n                nullable: false,\n                oldClrType: typeof(long),\n                oldType: \"bigint\")\n                .Annotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn);\n\n            migrationBuilder.AlterColumn<int>(\n                name: \"Id\",\n                table: \"AbpDynamicProperties\",\n                type: \"int\",\n                nullable: false,\n                oldClrType: typeof(int),\n                oldType: \"int\")\n                .Annotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn);\n\n            migrationBuilder.AlterColumn<long>(\n                name: \"Id\",\n                table: \"AbpDynamicEntityPropertyValues\",\n                type: \"bigint\",\n                nullable: false,\n                oldClrType: typeof(long),\n                oldType: \"bigint\")\n                .Annotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn);\n\n            migrationBuilder.AlterColumn<int>(\n                name: \"Id\",\n                table: \"AbpDynamicEntityProperties\",\n                type: \"int\",\n                nullable: false,\n                oldClrType: typeof(int),\n                oldType: \"int\")\n                .Annotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn);\n\n            migrationBuilder.AlterColumn<long>(\n                name: \"Id\",\n                table: \"AbpBackgroundJobs\",\n                type: \"bigint\",\n                nullable: false,\n                oldClrType: typeof(long),\n                oldType: \"bigint\")\n                .Annotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn);\n\n            migrationBuilder.AlterColumn<long>(\n                name: \"Id\",\n                table: \"AbpAuditLogs\",\n                type: \"bigint\",\n                nullable: false,\n                oldClrType: typeof(long),\n                oldType: \"bigint\")\n                .Annotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn);\n\n            migrationBuilder.CreateIndex(\n                name: \"IX_AbpUserLogins_ProviderKey_TenantId\",\n                table: \"AbpUserLogins\",\n                columns: new[] { \"ProviderKey\", \"TenantId\" },\n                unique: true);\n        }\n\n        /// <inheritdoc />\n        protected override void Down(MigrationBuilder migrationBuilder)\n        {\n            migrationBuilder.DropIndex(\n                name: \"IX_AbpUserLogins_ProviderKey_TenantId\",\n                table: \"AbpUserLogins\");\n\n            migrationBuilder.DropColumn(\n                name: \"TargetNotifiers\",\n                table: \"AbpUserNotifications\");\n\n            migrationBuilder.DropColumn(\n                name: \"TargetNotifiers\",\n                table: \"AbpNotificationSubscriptions\");\n\n            migrationBuilder.DropColumn(\n                name: \"TargetNotifiers\",\n                table: \"AbpNotifications\");\n\n            migrationBuilder.AlterColumn<long>(\n                name: \"Id\",\n                table: \"UserSettingAttributes\",\n                type: \"bigint\",\n                nullable: false,\n                oldClrType: typeof(long),\n                oldType: \"bigint\")\n                .OldAnnotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn);\n\n            migrationBuilder.AlterColumn<long>(\n                name: \"Id\",\n                table: \"UsernameInCrawler\",\n                type: \"bigint\",\n                nullable: false,\n                oldClrType: typeof(long),\n                oldType: \"bigint\")\n                .OldAnnotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn);\n\n            migrationBuilder.AlterColumn<long>(\n                name: \"Id\",\n                table: \"QueryWorkerHistories\",\n                type: \"bigint\",\n                nullable: false,\n                oldClrType: typeof(long),\n                oldType: \"bigint\")\n                .OldAnnotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn);\n\n            migrationBuilder.AlterColumn<long>(\n                name: \"Id\",\n                table: \"QuerySummaries\",\n                type: \"bigint\",\n                nullable: false,\n                oldClrType: typeof(long),\n                oldType: \"bigint\")\n                .OldAnnotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn);\n\n            migrationBuilder.AlterColumn<long>(\n                name: \"Id\",\n                table: \"QueryHistories\",\n                type: \"bigint\",\n                nullable: false,\n                oldClrType: typeof(long),\n                oldType: \"bigint\")\n                .OldAnnotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn);\n\n            migrationBuilder.AlterColumn<long>(\n                name: \"Id\",\n                table: \"QueryCrawlerSummaries\",\n                type: \"bigint\",\n                nullable: false,\n                oldClrType: typeof(long),\n                oldType: \"bigint\")\n                .OldAnnotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn);\n\n            migrationBuilder.AlterColumn<long>(\n                name: \"Id\",\n                table: \"DefaultQueries\",\n                type: \"bigint\",\n                nullable: false,\n                oldClrType: typeof(long),\n                oldType: \"bigint\")\n                .OldAnnotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn);\n\n            migrationBuilder.AlterColumn<long>(\n                name: \"Id\",\n                table: \"AbpUserTokens\",\n                type: \"bigint\",\n                nullable: false,\n                oldClrType: typeof(long),\n                oldType: \"bigint\")\n                .OldAnnotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn);\n\n            migrationBuilder.AlterColumn<long>(\n                name: \"Id\",\n                table: \"AbpUsers\",\n                type: \"bigint\",\n                nullable: false,\n                oldClrType: typeof(long),\n                oldType: \"bigint\")\n                .OldAnnotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn);\n\n            migrationBuilder.AlterColumn<long>(\n                name: \"Id\",\n                table: \"AbpUserRoles\",\n                type: \"bigint\",\n                nullable: false,\n                oldClrType: typeof(long),\n                oldType: \"bigint\")\n                .OldAnnotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn);\n\n            migrationBuilder.AlterColumn<long>(\n                name: \"Id\",\n                table: \"AbpUserOrganizationUnits\",\n                type: \"bigint\",\n                nullable: false,\n                oldClrType: typeof(long),\n                oldType: \"bigint\")\n                .OldAnnotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn);\n\n            migrationBuilder.AlterColumn<long>(\n                name: \"Id\",\n                table: \"AbpUserLogins\",\n                type: \"bigint\",\n                nullable: false,\n                oldClrType: typeof(long),\n                oldType: \"bigint\")\n                .OldAnnotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn);\n\n            migrationBuilder.AlterColumn<long>(\n                name: \"Id\",\n                table: \"AbpUserLoginAttempts\",\n                type: \"bigint\",\n                nullable: false,\n                oldClrType: typeof(long),\n                oldType: \"bigint\")\n                .OldAnnotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn);\n\n            migrationBuilder.AlterColumn<long>(\n                name: \"Id\",\n                table: \"AbpUserClaims\",\n                type: \"bigint\",\n                nullable: false,\n                oldClrType: typeof(long),\n                oldType: \"bigint\")\n                .OldAnnotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn);\n\n            migrationBuilder.AlterColumn<long>(\n                name: \"Id\",\n                table: \"AbpUserAccounts\",\n                type: \"bigint\",\n                nullable: false,\n                oldClrType: typeof(long),\n                oldType: \"bigint\")\n                .OldAnnotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn);\n\n            migrationBuilder.AlterColumn<int>(\n                name: \"Id\",\n                table: \"AbpTenants\",\n                type: \"int\",\n                nullable: false,\n                oldClrType: typeof(int),\n                oldType: \"int\")\n                .OldAnnotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn);\n\n            migrationBuilder.AlterColumn<long>(\n                name: \"Id\",\n                table: \"AbpSettings\",\n                type: \"bigint\",\n                nullable: false,\n                oldClrType: typeof(long),\n                oldType: \"bigint\")\n                .OldAnnotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn);\n\n            migrationBuilder.AlterColumn<int>(\n                name: \"Id\",\n                table: \"AbpRoles\",\n                type: \"int\",\n                nullable: false,\n                oldClrType: typeof(int),\n                oldType: \"int\")\n                .OldAnnotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn);\n\n            migrationBuilder.AlterColumn<long>(\n                name: \"Id\",\n                table: \"AbpRoleClaims\",\n                type: \"bigint\",\n                nullable: false,\n                oldClrType: typeof(long),\n                oldType: \"bigint\")\n                .OldAnnotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn);\n\n            migrationBuilder.AlterColumn<string>(\n                name: \"Discriminator\",\n                table: \"AbpPermissions\",\n                type: \"longtext\",\n                nullable: false,\n                oldClrType: typeof(string),\n                oldType: \"varchar(21)\",\n                oldMaxLength: 21)\n                .Annotation(\"MySql:CharSet\", \"utf8mb4\")\n                .OldAnnotation(\"MySql:CharSet\", \"utf8mb4\");\n\n            migrationBuilder.AlterColumn<long>(\n                name: \"Id\",\n                table: \"AbpPermissions\",\n                type: \"bigint\",\n                nullable: false,\n                oldClrType: typeof(long),\n                oldType: \"bigint\")\n                .OldAnnotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn);\n\n            migrationBuilder.AlterColumn<long>(\n                name: \"Id\",\n                table: \"AbpOrganizationUnits\",\n                type: \"bigint\",\n                nullable: false,\n                oldClrType: typeof(long),\n                oldType: \"bigint\")\n                .OldAnnotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn);\n\n            migrationBuilder.AlterColumn<long>(\n                name: \"Id\",\n                table: \"AbpOrganizationUnitRoles\",\n                type: \"bigint\",\n                nullable: false,\n                oldClrType: typeof(long),\n                oldType: \"bigint\")\n                .OldAnnotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn);\n\n            migrationBuilder.AlterColumn<long>(\n                name: \"Id\",\n                table: \"AbpLanguageTexts\",\n                type: \"bigint\",\n                nullable: false,\n                oldClrType: typeof(long),\n                oldType: \"bigint\")\n                .OldAnnotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn);\n\n            migrationBuilder.AlterColumn<int>(\n                name: \"Id\",\n                table: \"AbpLanguages\",\n                type: \"int\",\n                nullable: false,\n                oldClrType: typeof(int),\n                oldType: \"int\")\n                .OldAnnotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn);\n\n            migrationBuilder.AlterColumn<string>(\n                name: \"Discriminator\",\n                table: \"AbpFeatures\",\n                type: \"longtext\",\n                nullable: false,\n                oldClrType: typeof(string),\n                oldType: \"varchar(21)\",\n                oldMaxLength: 21)\n                .Annotation(\"MySql:CharSet\", \"utf8mb4\")\n                .OldAnnotation(\"MySql:CharSet\", \"utf8mb4\");\n\n            migrationBuilder.AlterColumn<long>(\n                name: \"Id\",\n                table: \"AbpFeatures\",\n                type: \"bigint\",\n                nullable: false,\n                oldClrType: typeof(long),\n                oldType: \"bigint\")\n                .OldAnnotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn);\n\n            migrationBuilder.AlterColumn<long>(\n                name: \"Id\",\n                table: \"AbpEntityPropertyChanges\",\n                type: \"bigint\",\n                nullable: false,\n                oldClrType: typeof(long),\n                oldType: \"bigint\")\n                .OldAnnotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn);\n\n            migrationBuilder.AlterColumn<long>(\n                name: \"Id\",\n                table: \"AbpEntityChangeSets\",\n                type: \"bigint\",\n                nullable: false,\n                oldClrType: typeof(long),\n                oldType: \"bigint\")\n                .OldAnnotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn);\n\n            migrationBuilder.AlterColumn<long>(\n                name: \"Id\",\n                table: \"AbpEntityChanges\",\n                type: \"bigint\",\n                nullable: false,\n                oldClrType: typeof(long),\n                oldType: \"bigint\")\n                .OldAnnotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn);\n\n            migrationBuilder.AlterColumn<int>(\n                name: \"Id\",\n                table: \"AbpEditions\",\n                type: \"int\",\n                nullable: false,\n                oldClrType: typeof(int),\n                oldType: \"int\")\n                .OldAnnotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn);\n\n            migrationBuilder.AlterColumn<long>(\n                name: \"Id\",\n                table: \"AbpDynamicPropertyValues\",\n                type: \"bigint\",\n                nullable: false,\n                oldClrType: typeof(long),\n                oldType: \"bigint\")\n                .OldAnnotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn);\n\n            migrationBuilder.AlterColumn<int>(\n                name: \"Id\",\n                table: \"AbpDynamicProperties\",\n                type: \"int\",\n                nullable: false,\n                oldClrType: typeof(int),\n                oldType: \"int\")\n                .OldAnnotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn);\n\n            migrationBuilder.AlterColumn<long>(\n                name: \"Id\",\n                table: \"AbpDynamicEntityPropertyValues\",\n                type: \"bigint\",\n                nullable: false,\n                oldClrType: typeof(long),\n                oldType: \"bigint\")\n                .OldAnnotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn);\n\n            migrationBuilder.AlterColumn<int>(\n                name: \"Id\",\n                table: \"AbpDynamicEntityProperties\",\n                type: \"int\",\n                nullable: false,\n                oldClrType: typeof(int),\n                oldType: \"int\")\n                .OldAnnotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn);\n\n            migrationBuilder.AlterColumn<long>(\n                name: \"Id\",\n                table: \"AbpBackgroundJobs\",\n                type: \"bigint\",\n                nullable: false,\n                oldClrType: typeof(long),\n                oldType: \"bigint\")\n                .OldAnnotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn);\n\n            migrationBuilder.AlterColumn<long>(\n                name: \"Id\",\n                table: \"AbpAuditLogs\",\n                type: \"bigint\",\n                nullable: false,\n                oldClrType: typeof(long),\n                oldType: \"bigint\")\n                .OldAnnotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn);\n        }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.EntityFrameworkCore/Migrations/AcmStatisticsBackendDbContextModelSnapshot.cs",
    "content": "﻿// <auto-generated />\nusing System;\nusing AcmStatisticsBackend.EntityFrameworkCore;\nusing Microsoft.EntityFrameworkCore;\nusing Microsoft.EntityFrameworkCore.Infrastructure;\nusing Microsoft.EntityFrameworkCore.Metadata;\nusing Microsoft.EntityFrameworkCore.Storage.ValueConversion;\n\n#nullable disable\n\nnamespace AcmStatisticsBackend.Migrations\n{\n    [DbContext(typeof(AcmStatisticsBackendDbContext))]\n    partial class AcmStatisticsBackendDbContextModelSnapshot : ModelSnapshot\n    {\n        protected override void BuildModel(ModelBuilder modelBuilder)\n        {\n#pragma warning disable 612, 618\n            modelBuilder\n                .HasAnnotation(\"ProductVersion\", \"8.0.19\")\n                .HasAnnotation(\"Relational:MaxIdentifierLength\", 64);\n\n            MySqlModelBuilderExtensions.AutoIncrementColumns(modelBuilder);\n\n            modelBuilder.Entity(\"Abp.Application.Editions.Edition\", b =>\n                {\n                    b.Property<int>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"int\");\n\n                    MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<int>(\"Id\"));\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"DeleterUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"DeletionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"DisplayName\")\n                        .IsRequired()\n                        .HasMaxLength(64)\n                        .HasColumnType(\"varchar(64)\");\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Name\")\n                        .IsRequired()\n                        .HasMaxLength(32)\n                        .HasColumnType(\"varchar(32)\");\n\n                    b.HasKey(\"Id\");\n\n                    b.ToTable(\"AbpEditions\");\n                });\n\n            modelBuilder.Entity(\"Abp.Application.Features.FeatureSetting\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<long>(\"Id\"));\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Discriminator\")\n                        .IsRequired()\n                        .HasMaxLength(21)\n                        .HasColumnType(\"varchar(21)\");\n\n                    b.Property<string>(\"Name\")\n                        .IsRequired()\n                        .HasMaxLength(128)\n                        .HasColumnType(\"varchar(128)\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"Value\")\n                        .IsRequired()\n                        .HasMaxLength(2000)\n                        .HasColumnType(\"varchar(2000)\");\n\n                    b.HasKey(\"Id\");\n\n                    b.ToTable(\"AbpFeatures\");\n\n                    b.HasDiscriminator().HasValue(\"FeatureSetting\");\n\n                    b.UseTphMappingStrategy();\n                });\n\n            modelBuilder.Entity(\"Abp.Auditing.AuditLog\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<long>(\"Id\"));\n\n                    b.Property<string>(\"BrowserInfo\")\n                        .HasMaxLength(512)\n                        .HasColumnType(\"varchar(512)\");\n\n                    b.Property<string>(\"ClientIpAddress\")\n                        .HasMaxLength(64)\n                        .HasColumnType(\"varchar(64)\");\n\n                    b.Property<string>(\"ClientName\")\n                        .HasMaxLength(128)\n                        .HasColumnType(\"varchar(128)\");\n\n                    b.Property<string>(\"CustomData\")\n                        .HasMaxLength(2000)\n                        .HasColumnType(\"varchar(2000)\");\n\n                    b.Property<string>(\"Exception\")\n                        .HasMaxLength(2000)\n                        .HasColumnType(\"varchar(2000)\");\n\n                    b.Property<string>(\"ExceptionMessage\")\n                        .HasMaxLength(1024)\n                        .HasColumnType(\"varchar(1024)\");\n\n                    b.Property<int>(\"ExecutionDuration\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<DateTime>(\"ExecutionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<int?>(\"ImpersonatorTenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long?>(\"ImpersonatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"MethodName\")\n                        .HasMaxLength(256)\n                        .HasColumnType(\"varchar(256)\");\n\n                    b.Property<string>(\"Parameters\")\n                        .HasMaxLength(1024)\n                        .HasColumnType(\"varchar(1024)\");\n\n                    b.Property<string>(\"ReturnValue\")\n                        .HasColumnType(\"longtext\");\n\n                    b.Property<string>(\"ServiceName\")\n                        .HasMaxLength(256)\n                        .HasColumnType(\"varchar(256)\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long?>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"TenantId\", \"ExecutionDuration\");\n\n                    b.HasIndex(\"TenantId\", \"ExecutionTime\");\n\n                    b.HasIndex(\"TenantId\", \"UserId\");\n\n                    b.ToTable(\"AbpAuditLogs\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.PermissionSetting\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<long>(\"Id\"));\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Discriminator\")\n                        .IsRequired()\n                        .HasMaxLength(21)\n                        .HasColumnType(\"varchar(21)\");\n\n                    b.Property<bool>(\"IsGranted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<string>(\"Name\")\n                        .IsRequired()\n                        .HasMaxLength(128)\n                        .HasColumnType(\"varchar(128)\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"TenantId\", \"Name\");\n\n                    b.ToTable(\"AbpPermissions\");\n\n                    b.HasDiscriminator().HasValue(\"PermissionSetting\");\n\n                    b.UseTphMappingStrategy();\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Roles.RoleClaim\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<long>(\"Id\"));\n\n                    b.Property<string>(\"ClaimType\")\n                        .HasMaxLength(256)\n                        .HasColumnType(\"varchar(256)\");\n\n                    b.Property<string>(\"ClaimValue\")\n                        .HasColumnType(\"longtext\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int>(\"RoleId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"RoleId\");\n\n                    b.HasIndex(\"TenantId\", \"ClaimType\");\n\n                    b.ToTable(\"AbpRoleClaims\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserAccount\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<long>(\"Id\"));\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"DeleterUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"DeletionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"EmailAddress\")\n                        .HasMaxLength(256)\n                        .HasColumnType(\"varchar(256)\");\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"UserLinkId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"UserName\")\n                        .HasMaxLength(256)\n                        .HasColumnType(\"varchar(256)\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"EmailAddress\");\n\n                    b.HasIndex(\"UserName\");\n\n                    b.HasIndex(\"TenantId\", \"EmailAddress\");\n\n                    b.HasIndex(\"TenantId\", \"UserId\");\n\n                    b.HasIndex(\"TenantId\", \"UserName\");\n\n                    b.ToTable(\"AbpUserAccounts\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserClaim\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<long>(\"Id\"));\n\n                    b.Property<string>(\"ClaimType\")\n                        .HasMaxLength(256)\n                        .HasColumnType(\"varchar(256)\");\n\n                    b.Property<string>(\"ClaimValue\")\n                        .HasColumnType(\"longtext\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"UserId\");\n\n                    b.HasIndex(\"TenantId\", \"ClaimType\");\n\n                    b.ToTable(\"AbpUserClaims\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserLogin\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<long>(\"Id\"));\n\n                    b.Property<string>(\"LoginProvider\")\n                        .IsRequired()\n                        .HasMaxLength(128)\n                        .HasColumnType(\"varchar(128)\");\n\n                    b.Property<string>(\"ProviderKey\")\n                        .IsRequired()\n                        .HasMaxLength(256)\n                        .HasColumnType(\"varchar(256)\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"UserId\");\n\n                    b.HasIndex(\"ProviderKey\", \"TenantId\")\n                        .IsUnique();\n\n                    b.HasIndex(\"TenantId\", \"UserId\");\n\n                    b.HasIndex(\"TenantId\", \"LoginProvider\", \"ProviderKey\");\n\n                    b.ToTable(\"AbpUserLogins\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserLoginAttempt\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<long>(\"Id\"));\n\n                    b.Property<string>(\"BrowserInfo\")\n                        .HasMaxLength(512)\n                        .HasColumnType(\"varchar(512)\");\n\n                    b.Property<string>(\"ClientIpAddress\")\n                        .HasMaxLength(64)\n                        .HasColumnType(\"varchar(64)\");\n\n                    b.Property<string>(\"ClientName\")\n                        .HasMaxLength(128)\n                        .HasColumnType(\"varchar(128)\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<byte>(\"Result\")\n                        .HasColumnType(\"tinyint unsigned\");\n\n                    b.Property<string>(\"TenancyName\")\n                        .HasMaxLength(64)\n                        .HasColumnType(\"varchar(64)\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long?>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"UserNameOrEmailAddress\")\n                        .HasMaxLength(256)\n                        .HasColumnType(\"varchar(256)\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"UserId\", \"TenantId\");\n\n                    b.HasIndex(\"TenancyName\", \"UserNameOrEmailAddress\", \"Result\");\n\n                    b.ToTable(\"AbpUserLoginAttempts\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserOrganizationUnit\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<long>(\"Id\"));\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<long>(\"OrganizationUnitId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"TenantId\", \"OrganizationUnitId\");\n\n                    b.HasIndex(\"TenantId\", \"UserId\");\n\n                    b.ToTable(\"AbpUserOrganizationUnits\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserRole\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<long>(\"Id\"));\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int>(\"RoleId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"UserId\");\n\n                    b.HasIndex(\"TenantId\", \"RoleId\");\n\n                    b.HasIndex(\"TenantId\", \"UserId\");\n\n                    b.ToTable(\"AbpUserRoles\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserToken\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<long>(\"Id\"));\n\n                    b.Property<DateTime?>(\"ExpireDate\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"LoginProvider\")\n                        .HasMaxLength(128)\n                        .HasColumnType(\"varchar(128)\");\n\n                    b.Property<string>(\"Name\")\n                        .HasMaxLength(128)\n                        .HasColumnType(\"varchar(128)\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Value\")\n                        .HasMaxLength(512)\n                        .HasColumnType(\"varchar(512)\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"UserId\");\n\n                    b.HasIndex(\"TenantId\", \"UserId\");\n\n                    b.ToTable(\"AbpUserTokens\");\n                });\n\n            modelBuilder.Entity(\"Abp.BackgroundJobs.BackgroundJobInfo\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<long>(\"Id\"));\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<bool>(\"IsAbandoned\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<string>(\"JobArgs\")\n                        .IsRequired()\n                        .HasMaxLength(1048576)\n                        .HasColumnType(\"longtext\");\n\n                    b.Property<string>(\"JobType\")\n                        .IsRequired()\n                        .HasMaxLength(512)\n                        .HasColumnType(\"varchar(512)\");\n\n                    b.Property<DateTime?>(\"LastTryTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<DateTime>(\"NextTryTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<byte>(\"Priority\")\n                        .HasColumnType(\"tinyint unsigned\");\n\n                    b.Property<short>(\"TryCount\")\n                        .HasColumnType(\"smallint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"IsAbandoned\", \"NextTryTime\");\n\n                    b.ToTable(\"AbpBackgroundJobs\");\n                });\n\n            modelBuilder.Entity(\"Abp.Configuration.Setting\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<long>(\"Id\"));\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Name\")\n                        .IsRequired()\n                        .HasMaxLength(256)\n                        .HasColumnType(\"varchar(256)\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long?>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Value\")\n                        .HasColumnType(\"longtext\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"UserId\");\n\n                    b.HasIndex(\"TenantId\", \"Name\", \"UserId\")\n                        .IsUnique();\n\n                    b.ToTable(\"AbpSettings\");\n                });\n\n            modelBuilder.Entity(\"Abp.DynamicEntityProperties.DynamicEntityProperty\", b =>\n                {\n                    b.Property<int>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"int\");\n\n                    MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<int>(\"Id\"));\n\n                    b.Property<int>(\"DynamicPropertyId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"EntityFullName\")\n                        .HasMaxLength(256)\n                        .HasColumnType(\"varchar(256)\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"DynamicPropertyId\");\n\n                    b.HasIndex(\"EntityFullName\", \"DynamicPropertyId\", \"TenantId\")\n                        .IsUnique();\n\n                    b.ToTable(\"AbpDynamicEntityProperties\");\n                });\n\n            modelBuilder.Entity(\"Abp.DynamicEntityProperties.DynamicEntityPropertyValue\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<long>(\"Id\"));\n\n                    b.Property<int>(\"DynamicEntityPropertyId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"EntityId\")\n                        .HasColumnType(\"longtext\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"Value\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"DynamicEntityPropertyId\");\n\n                    b.ToTable(\"AbpDynamicEntityPropertyValues\");\n                });\n\n            modelBuilder.Entity(\"Abp.DynamicEntityProperties.DynamicProperty\", b =>\n                {\n                    b.Property<int>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"int\");\n\n                    MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<int>(\"Id\"));\n\n                    b.Property<string>(\"DisplayName\")\n                        .HasColumnType(\"longtext\");\n\n                    b.Property<string>(\"InputType\")\n                        .HasColumnType(\"longtext\");\n\n                    b.Property<string>(\"Permission\")\n                        .HasColumnType(\"longtext\");\n\n                    b.Property<string>(\"PropertyName\")\n                        .HasMaxLength(256)\n                        .HasColumnType(\"varchar(256)\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"PropertyName\", \"TenantId\")\n                        .IsUnique();\n\n                    b.ToTable(\"AbpDynamicProperties\");\n                });\n\n            modelBuilder.Entity(\"Abp.DynamicEntityProperties.DynamicPropertyValue\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<long>(\"Id\"));\n\n                    b.Property<int>(\"DynamicPropertyId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"Value\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"DynamicPropertyId\");\n\n                    b.ToTable(\"AbpDynamicPropertyValues\");\n                });\n\n            modelBuilder.Entity(\"Abp.EntityHistory.EntityChange\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<long>(\"Id\"));\n\n                    b.Property<DateTime>(\"ChangeTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<byte>(\"ChangeType\")\n                        .HasColumnType(\"tinyint unsigned\");\n\n                    b.Property<long>(\"EntityChangeSetId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"EntityId\")\n                        .HasMaxLength(48)\n                        .HasColumnType(\"varchar(48)\");\n\n                    b.Property<string>(\"EntityTypeFullName\")\n                        .HasMaxLength(192)\n                        .HasColumnType(\"varchar(192)\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"EntityChangeSetId\");\n\n                    b.HasIndex(\"EntityTypeFullName\", \"EntityId\");\n\n                    b.ToTable(\"AbpEntityChanges\");\n                });\n\n            modelBuilder.Entity(\"Abp.EntityHistory.EntityChangeSet\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<long>(\"Id\"));\n\n                    b.Property<string>(\"BrowserInfo\")\n                        .HasMaxLength(512)\n                        .HasColumnType(\"varchar(512)\");\n\n                    b.Property<string>(\"ClientIpAddress\")\n                        .HasMaxLength(64)\n                        .HasColumnType(\"varchar(64)\");\n\n                    b.Property<string>(\"ClientName\")\n                        .HasMaxLength(128)\n                        .HasColumnType(\"varchar(128)\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"ExtensionData\")\n                        .HasColumnType(\"longtext\");\n\n                    b.Property<int?>(\"ImpersonatorTenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long?>(\"ImpersonatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Reason\")\n                        .HasMaxLength(256)\n                        .HasColumnType(\"varchar(256)\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long?>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"TenantId\", \"CreationTime\");\n\n                    b.HasIndex(\"TenantId\", \"Reason\");\n\n                    b.HasIndex(\"TenantId\", \"UserId\");\n\n                    b.ToTable(\"AbpEntityChangeSets\");\n                });\n\n            modelBuilder.Entity(\"Abp.EntityHistory.EntityPropertyChange\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<long>(\"Id\"));\n\n                    b.Property<long>(\"EntityChangeId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"NewValue\")\n                        .HasMaxLength(512)\n                        .HasColumnType(\"varchar(512)\");\n\n                    b.Property<string>(\"NewValueHash\")\n                        .HasColumnType(\"longtext\");\n\n                    b.Property<string>(\"OriginalValue\")\n                        .HasMaxLength(512)\n                        .HasColumnType(\"varchar(512)\");\n\n                    b.Property<string>(\"OriginalValueHash\")\n                        .HasColumnType(\"longtext\");\n\n                    b.Property<string>(\"PropertyName\")\n                        .HasMaxLength(96)\n                        .HasColumnType(\"varchar(96)\");\n\n                    b.Property<string>(\"PropertyTypeFullName\")\n                        .HasMaxLength(192)\n                        .HasColumnType(\"varchar(192)\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"EntityChangeId\");\n\n                    b.ToTable(\"AbpEntityPropertyChanges\");\n                });\n\n            modelBuilder.Entity(\"Abp.Localization.ApplicationLanguage\", b =>\n                {\n                    b.Property<int>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"int\");\n\n                    MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<int>(\"Id\"));\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"DeleterUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"DeletionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"DisplayName\")\n                        .IsRequired()\n                        .HasMaxLength(64)\n                        .HasColumnType(\"varchar(64)\");\n\n                    b.Property<string>(\"Icon\")\n                        .HasMaxLength(128)\n                        .HasColumnType(\"varchar(128)\");\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<bool>(\"IsDisabled\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Name\")\n                        .IsRequired()\n                        .HasMaxLength(128)\n                        .HasColumnType(\"varchar(128)\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"TenantId\", \"Name\");\n\n                    b.ToTable(\"AbpLanguages\");\n                });\n\n            modelBuilder.Entity(\"Abp.Localization.ApplicationLanguageText\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<long>(\"Id\"));\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Key\")\n                        .IsRequired()\n                        .HasMaxLength(256)\n                        .HasColumnType(\"varchar(256)\");\n\n                    b.Property<string>(\"LanguageName\")\n                        .IsRequired()\n                        .HasMaxLength(128)\n                        .HasColumnType(\"varchar(128)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Source\")\n                        .IsRequired()\n                        .HasMaxLength(128)\n                        .HasColumnType(\"varchar(128)\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"Value\")\n                        .IsRequired()\n                        .HasMaxLength(67108864)\n                        .HasColumnType(\"longtext\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"TenantId\", \"Source\", \"LanguageName\", \"Key\");\n\n                    b.ToTable(\"AbpLanguageTexts\");\n                });\n\n            modelBuilder.Entity(\"Abp.Notifications.NotificationInfo\", b =>\n                {\n                    b.Property<Guid>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"char(36)\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Data\")\n                        .HasMaxLength(1048576)\n                        .HasColumnType(\"longtext\");\n\n                    b.Property<string>(\"DataTypeName\")\n                        .HasMaxLength(512)\n                        .HasColumnType(\"varchar(512)\");\n\n                    b.Property<string>(\"EntityId\")\n                        .HasMaxLength(96)\n                        .HasColumnType(\"varchar(96)\");\n\n                    b.Property<string>(\"EntityTypeAssemblyQualifiedName\")\n                        .HasMaxLength(512)\n                        .HasColumnType(\"varchar(512)\");\n\n                    b.Property<string>(\"EntityTypeName\")\n                        .HasMaxLength(250)\n                        .HasColumnType(\"varchar(250)\");\n\n                    b.Property<string>(\"ExcludedUserIds\")\n                        .HasMaxLength(131072)\n                        .HasColumnType(\"longtext\");\n\n                    b.Property<string>(\"NotificationName\")\n                        .IsRequired()\n                        .HasMaxLength(96)\n                        .HasColumnType(\"varchar(96)\");\n\n                    b.Property<byte>(\"Severity\")\n                        .HasColumnType(\"tinyint unsigned\");\n\n                    b.Property<string>(\"TargetNotifiers\")\n                        .HasMaxLength(1024)\n                        .HasColumnType(\"varchar(1024)\");\n\n                    b.Property<string>(\"TenantIds\")\n                        .HasMaxLength(131072)\n                        .HasColumnType(\"longtext\");\n\n                    b.Property<string>(\"UserIds\")\n                        .HasMaxLength(131072)\n                        .HasColumnType(\"longtext\");\n\n                    b.HasKey(\"Id\");\n\n                    b.ToTable(\"AbpNotifications\");\n                });\n\n            modelBuilder.Entity(\"Abp.Notifications.NotificationSubscriptionInfo\", b =>\n                {\n                    b.Property<Guid>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"char(36)\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"EntityId\")\n                        .HasMaxLength(96)\n                        .HasColumnType(\"varchar(96)\");\n\n                    b.Property<string>(\"EntityTypeAssemblyQualifiedName\")\n                        .HasMaxLength(512)\n                        .HasColumnType(\"varchar(512)\");\n\n                    b.Property<string>(\"EntityTypeName\")\n                        .HasMaxLength(250)\n                        .HasColumnType(\"varchar(250)\");\n\n                    b.Property<string>(\"NotificationName\")\n                        .HasMaxLength(96)\n                        .HasColumnType(\"varchar(96)\");\n\n                    b.Property<string>(\"TargetNotifiers\")\n                        .HasMaxLength(1024)\n                        .HasColumnType(\"varchar(1024)\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"NotificationName\", \"EntityTypeName\", \"EntityId\", \"UserId\");\n\n                    b.HasIndex(\"TenantId\", \"NotificationName\", \"EntityTypeName\", \"EntityId\", \"UserId\");\n\n                    b.ToTable(\"AbpNotificationSubscriptions\");\n                });\n\n            modelBuilder.Entity(\"Abp.Notifications.TenantNotificationInfo\", b =>\n                {\n                    b.Property<Guid>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"char(36)\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Data\")\n                        .HasMaxLength(1048576)\n                        .HasColumnType(\"longtext\");\n\n                    b.Property<string>(\"DataTypeName\")\n                        .HasMaxLength(512)\n                        .HasColumnType(\"varchar(512)\");\n\n                    b.Property<string>(\"EntityId\")\n                        .HasMaxLength(96)\n                        .HasColumnType(\"varchar(96)\");\n\n                    b.Property<string>(\"EntityTypeAssemblyQualifiedName\")\n                        .HasMaxLength(512)\n                        .HasColumnType(\"varchar(512)\");\n\n                    b.Property<string>(\"EntityTypeName\")\n                        .HasMaxLength(250)\n                        .HasColumnType(\"varchar(250)\");\n\n                    b.Property<string>(\"NotificationName\")\n                        .IsRequired()\n                        .HasMaxLength(96)\n                        .HasColumnType(\"varchar(96)\");\n\n                    b.Property<byte>(\"Severity\")\n                        .HasColumnType(\"tinyint unsigned\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"TenantId\");\n\n                    b.ToTable(\"AbpTenantNotifications\");\n                });\n\n            modelBuilder.Entity(\"Abp.Notifications.UserNotificationInfo\", b =>\n                {\n                    b.Property<Guid>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"char(36)\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<int>(\"State\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"TargetNotifiers\")\n                        .HasMaxLength(1024)\n                        .HasColumnType(\"varchar(1024)\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<Guid>(\"TenantNotificationId\")\n                        .HasColumnType(\"char(36)\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"UserId\", \"State\", \"CreationTime\");\n\n                    b.ToTable(\"AbpUserNotifications\");\n                });\n\n            modelBuilder.Entity(\"Abp.Organizations.OrganizationUnit\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<long>(\"Id\"));\n\n                    b.Property<string>(\"Code\")\n                        .IsRequired()\n                        .HasMaxLength(95)\n                        .HasColumnType(\"varchar(95)\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"DeleterUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"DeletionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"DisplayName\")\n                        .IsRequired()\n                        .HasMaxLength(128)\n                        .HasColumnType(\"varchar(128)\");\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"ParentId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"ParentId\");\n\n                    b.HasIndex(\"TenantId\", \"Code\");\n\n                    b.ToTable(\"AbpOrganizationUnits\");\n                });\n\n            modelBuilder.Entity(\"Abp.Organizations.OrganizationUnitRole\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<long>(\"Id\"));\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<long>(\"OrganizationUnitId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int>(\"RoleId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"TenantId\", \"OrganizationUnitId\");\n\n                    b.HasIndex(\"TenantId\", \"RoleId\");\n\n                    b.ToTable(\"AbpOrganizationUnitRoles\");\n                });\n\n            modelBuilder.Entity(\"Abp.Webhooks.WebhookEvent\", b =>\n                {\n                    b.Property<Guid>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"char(36)\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"Data\")\n                        .HasColumnType(\"longtext\");\n\n                    b.Property<DateTime?>(\"DeletionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"WebhookName\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext\");\n\n                    b.HasKey(\"Id\");\n\n                    b.ToTable(\"AbpWebhookEvents\");\n                });\n\n            modelBuilder.Entity(\"Abp.Webhooks.WebhookSendAttempt\", b =>\n                {\n                    b.Property<Guid>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"char(36)\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"Response\")\n                        .HasColumnType(\"longtext\");\n\n                    b.Property<int?>(\"ResponseStatusCode\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<Guid>(\"WebhookEventId\")\n                        .HasColumnType(\"char(36)\");\n\n                    b.Property<Guid>(\"WebhookSubscriptionId\")\n                        .HasColumnType(\"char(36)\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"WebhookEventId\");\n\n                    b.ToTable(\"AbpWebhookSendAttempts\");\n                });\n\n            modelBuilder.Entity(\"Abp.Webhooks.WebhookSubscriptionInfo\", b =>\n                {\n                    b.Property<Guid>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"char(36)\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Headers\")\n                        .HasColumnType(\"longtext\");\n\n                    b.Property<bool>(\"IsActive\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<string>(\"Secret\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"WebhookUri\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext\");\n\n                    b.Property<string>(\"Webhooks\")\n                        .HasColumnType(\"longtext\");\n\n                    b.HasKey(\"Id\");\n\n                    b.ToTable(\"AbpWebhookSubscriptions\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Authorization.Roles.Role\", b =>\n                {\n                    b.Property<int>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"int\");\n\n                    MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<int>(\"Id\"));\n\n                    b.Property<string>(\"ConcurrencyStamp\")\n                        .IsConcurrencyToken()\n                        .HasMaxLength(128)\n                        .HasColumnType(\"varchar(128)\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"DeleterUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"DeletionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"DisplayName\")\n                        .IsRequired()\n                        .HasMaxLength(64)\n                        .HasColumnType(\"varchar(64)\");\n\n                    b.Property<bool>(\"IsDefault\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<bool>(\"IsStatic\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Name\")\n                        .IsRequired()\n                        .HasMaxLength(32)\n                        .HasColumnType(\"varchar(32)\");\n\n                    b.Property<string>(\"NormalizedName\")\n                        .IsRequired()\n                        .HasMaxLength(32)\n                        .HasColumnType(\"varchar(32)\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"CreatorUserId\");\n\n                    b.HasIndex(\"DeleterUserId\");\n\n                    b.HasIndex(\"LastModifierUserId\");\n\n                    b.HasIndex(\"TenantId\", \"NormalizedName\");\n\n                    b.ToTable(\"AbpRoles\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Authorization.Users.User\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<long>(\"Id\"));\n\n                    b.Property<int>(\"AccessFailedCount\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"AuthenticationSource\")\n                        .HasMaxLength(64)\n                        .HasColumnType(\"varchar(64)\");\n\n                    b.Property<string>(\"ConcurrencyStamp\")\n                        .IsConcurrencyToken()\n                        .HasMaxLength(128)\n                        .HasColumnType(\"varchar(128)\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"DeleterUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"DeletionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"EmailAddress\")\n                        .IsRequired()\n                        .HasMaxLength(256)\n                        .HasColumnType(\"varchar(256)\");\n\n                    b.Property<string>(\"EmailConfirmationCode\")\n                        .HasMaxLength(328)\n                        .HasColumnType(\"varchar(328)\");\n\n                    b.Property<bool>(\"IsActive\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<bool>(\"IsEmailConfirmed\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<bool>(\"IsLockoutEnabled\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<bool>(\"IsPhoneNumberConfirmed\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<bool>(\"IsTwoFactorEnabled\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"LockoutEndDateUtc\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"Name\")\n                        .IsRequired()\n                        .HasMaxLength(64)\n                        .HasColumnType(\"varchar(64)\");\n\n                    b.Property<string>(\"NormalizedEmailAddress\")\n                        .IsRequired()\n                        .HasMaxLength(256)\n                        .HasColumnType(\"varchar(256)\");\n\n                    b.Property<string>(\"NormalizedUserName\")\n                        .IsRequired()\n                        .HasMaxLength(256)\n                        .HasColumnType(\"varchar(256)\");\n\n                    b.Property<string>(\"Password\")\n                        .IsRequired()\n                        .HasMaxLength(128)\n                        .HasColumnType(\"varchar(128)\");\n\n                    b.Property<string>(\"PasswordResetCode\")\n                        .HasMaxLength(328)\n                        .HasColumnType(\"varchar(328)\");\n\n                    b.Property<string>(\"PhoneNumber\")\n                        .HasMaxLength(32)\n                        .HasColumnType(\"varchar(32)\");\n\n                    b.Property<string>(\"SecurityStamp\")\n                        .HasMaxLength(128)\n                        .HasColumnType(\"varchar(128)\");\n\n                    b.Property<string>(\"Surname\")\n                        .IsRequired()\n                        .HasMaxLength(64)\n                        .HasColumnType(\"varchar(64)\");\n\n                    b.Property<int?>(\"TenantId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"UserName\")\n                        .IsRequired()\n                        .HasMaxLength(256)\n                        .HasColumnType(\"varchar(256)\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"CreatorUserId\");\n\n                    b.HasIndex(\"DeleterUserId\");\n\n                    b.HasIndex(\"LastModifierUserId\");\n\n                    b.HasIndex(\"TenantId\", \"NormalizedEmailAddress\");\n\n                    b.HasIndex(\"TenantId\", \"NormalizedUserName\");\n\n                    b.ToTable(\"AbpUsers\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.DefaultQuery\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<long>(\"Id\"));\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"DeleterUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"DeletionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"MainUsername\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"UsernamesInCrawlers\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"CreatorUserId\");\n\n                    b.HasIndex(\"DeleterUserId\");\n\n                    b.HasIndex(\"LastModifierUserId\");\n\n                    b.HasIndex(\"UserId\");\n\n                    b.ToTable(\"DefaultQueries\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.QueryCrawlerSummary\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<long>(\"Id\"));\n\n                    b.Property<string>(\"CrawlerName\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext\");\n\n                    b.Property<bool>(\"IsVirtualJudge\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<long>(\"QuerySummaryId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int>(\"Solved\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<int>(\"Submission\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"QuerySummaryId\");\n\n                    b.ToTable(\"QueryCrawlerSummaries\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.QueryHistory\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<long>(\"Id\"));\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<bool>(\"IsReliableSource\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<string>(\"MainUsername\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"UserId\");\n\n                    b.ToTable(\"QueryHistories\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.QuerySummary\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<long>(\"Id\"));\n\n                    b.Property<DateTime>(\"GenerateTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long>(\"QueryHistoryId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int>(\"Solved\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<int>(\"Submission\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"SummaryWarnings\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"QueryHistoryId\")\n                        .IsUnique();\n\n                    b.ToTable(\"QuerySummaries\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.QueryWorkerHistory\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<long>(\"Id\"));\n\n                    b.Property<string>(\"CrawlerName\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext\");\n\n                    b.Property<string>(\"ErrorMessage\")\n                        .HasColumnType(\"longtext\");\n\n                    b.Property<bool>(\"IsVirtualJudge\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<long>(\"QueryHistoryId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int>(\"Solved\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"SolvedList\")\n                        .HasColumnType(\"longtext\");\n\n                    b.Property<int>(\"Submission\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"SubmissionsByCrawlerName\")\n                        .HasColumnType(\"longtext\");\n\n                    b.Property<string>(\"Username\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"QueryHistoryId\");\n\n                    b.ToTable(\"QueryWorkerHistories\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.UsernameInCrawler\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<long>(\"Id\"));\n\n                    b.Property<string>(\"FromCrawlerName\")\n                        .HasColumnType(\"longtext\");\n\n                    b.Property<long>(\"QueryCrawlerSummaryId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Username\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"QueryCrawlerSummaryId\");\n\n                    b.ToTable(\"UsernameInCrawler\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.MultiTenancy.Tenant\", b =>\n                {\n                    b.Property<int>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"int\");\n\n                    MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<int>(\"Id\"));\n\n                    b.Property<string>(\"ConnectionString\")\n                        .HasMaxLength(1024)\n                        .HasColumnType(\"varchar(1024)\");\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<long?>(\"DeleterUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"DeletionTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<int?>(\"EditionId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<bool>(\"IsActive\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<bool>(\"IsDeleted\")\n                        .HasColumnType(\"tinyint(1)\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Name\")\n                        .IsRequired()\n                        .HasMaxLength(128)\n                        .HasColumnType(\"varchar(128)\");\n\n                    b.Property<string>(\"TenancyName\")\n                        .IsRequired()\n                        .HasMaxLength(64)\n                        .HasColumnType(\"varchar(64)\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"CreatorUserId\");\n\n                    b.HasIndex(\"DeleterUserId\");\n\n                    b.HasIndex(\"EditionId\");\n\n                    b.HasIndex(\"LastModifierUserId\");\n\n                    b.HasIndex(\"TenancyName\");\n\n                    b.ToTable(\"AbpTenants\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Settings.UserSettingAttribute\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<long>(\"Id\"));\n\n                    b.Property<DateTime>(\"CreationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"CreatorUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"LastModificationTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long?>(\"LastModifierUserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<DateTime?>(\"LastTimeZoneChangedTime\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasKey(\"Id\");\n\n                    b.HasIndex(\"CreatorUserId\");\n\n                    b.HasIndex(\"LastModifierUserId\");\n\n                    b.HasIndex(\"UserId\");\n\n                    b.ToTable(\"UserSettingAttributes\");\n                });\n\n            modelBuilder.Entity(\"Abp.Application.Features.EditionFeatureSetting\", b =>\n                {\n                    b.HasBaseType(\"Abp.Application.Features.FeatureSetting\");\n\n                    b.Property<int>(\"EditionId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasIndex(\"EditionId\", \"Name\");\n\n                    b.ToTable(\"AbpFeatures\");\n\n                    b.HasDiscriminator().HasValue(\"EditionFeatureSetting\");\n                });\n\n            modelBuilder.Entity(\"Abp.MultiTenancy.TenantFeatureSetting\", b =>\n                {\n                    b.HasBaseType(\"Abp.Application.Features.FeatureSetting\");\n\n                    b.HasIndex(\"TenantId\", \"Name\");\n\n                    b.ToTable(\"AbpFeatures\");\n\n                    b.HasDiscriminator().HasValue(\"TenantFeatureSetting\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Roles.RolePermissionSetting\", b =>\n                {\n                    b.HasBaseType(\"Abp.Authorization.PermissionSetting\");\n\n                    b.Property<int>(\"RoleId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasIndex(\"RoleId\");\n\n                    b.ToTable(\"AbpPermissions\");\n\n                    b.HasDiscriminator().HasValue(\"RolePermissionSetting\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserPermissionSetting\", b =>\n                {\n                    b.HasBaseType(\"Abp.Authorization.PermissionSetting\");\n\n                    b.Property<long>(\"UserId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.HasIndex(\"UserId\");\n\n                    b.ToTable(\"AbpPermissions\");\n\n                    b.HasDiscriminator().HasValue(\"UserPermissionSetting\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Roles.RoleClaim\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Roles.Role\", null)\n                        .WithMany(\"Claims\")\n                        .HasForeignKey(\"RoleId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserClaim\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", null)\n                        .WithMany(\"Claims\")\n                        .HasForeignKey(\"UserId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserLogin\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", null)\n                        .WithMany(\"Logins\")\n                        .HasForeignKey(\"UserId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserRole\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", null)\n                        .WithMany(\"Roles\")\n                        .HasForeignKey(\"UserId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserToken\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", null)\n                        .WithMany(\"Tokens\")\n                        .HasForeignKey(\"UserId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.Configuration.Setting\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", null)\n                        .WithMany(\"Settings\")\n                        .HasForeignKey(\"UserId\");\n                });\n\n            modelBuilder.Entity(\"Abp.DynamicEntityProperties.DynamicEntityProperty\", b =>\n                {\n                    b.HasOne(\"Abp.DynamicEntityProperties.DynamicProperty\", \"DynamicProperty\")\n                        .WithMany()\n                        .HasForeignKey(\"DynamicPropertyId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n\n                    b.Navigation(\"DynamicProperty\");\n                });\n\n            modelBuilder.Entity(\"Abp.DynamicEntityProperties.DynamicEntityPropertyValue\", b =>\n                {\n                    b.HasOne(\"Abp.DynamicEntityProperties.DynamicEntityProperty\", \"DynamicEntityProperty\")\n                        .WithMany()\n                        .HasForeignKey(\"DynamicEntityPropertyId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n\n                    b.Navigation(\"DynamicEntityProperty\");\n                });\n\n            modelBuilder.Entity(\"Abp.DynamicEntityProperties.DynamicPropertyValue\", b =>\n                {\n                    b.HasOne(\"Abp.DynamicEntityProperties.DynamicProperty\", \"DynamicProperty\")\n                        .WithMany(\"DynamicPropertyValues\")\n                        .HasForeignKey(\"DynamicPropertyId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n\n                    b.Navigation(\"DynamicProperty\");\n                });\n\n            modelBuilder.Entity(\"Abp.EntityHistory.EntityChange\", b =>\n                {\n                    b.HasOne(\"Abp.EntityHistory.EntityChangeSet\", null)\n                        .WithMany(\"EntityChanges\")\n                        .HasForeignKey(\"EntityChangeSetId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.EntityHistory.EntityPropertyChange\", b =>\n                {\n                    b.HasOne(\"Abp.EntityHistory.EntityChange\", null)\n                        .WithMany(\"PropertyChanges\")\n                        .HasForeignKey(\"EntityChangeId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.Organizations.OrganizationUnit\", b =>\n                {\n                    b.HasOne(\"Abp.Organizations.OrganizationUnit\", \"Parent\")\n                        .WithMany(\"Children\")\n                        .HasForeignKey(\"ParentId\");\n\n                    b.Navigation(\"Parent\");\n                });\n\n            modelBuilder.Entity(\"Abp.Webhooks.WebhookSendAttempt\", b =>\n                {\n                    b.HasOne(\"Abp.Webhooks.WebhookEvent\", \"WebhookEvent\")\n                        .WithMany()\n                        .HasForeignKey(\"WebhookEventId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n\n                    b.Navigation(\"WebhookEvent\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Authorization.Roles.Role\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"CreatorUser\")\n                        .WithMany()\n                        .HasForeignKey(\"CreatorUserId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"DeleterUser\")\n                        .WithMany()\n                        .HasForeignKey(\"DeleterUserId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"LastModifierUser\")\n                        .WithMany()\n                        .HasForeignKey(\"LastModifierUserId\");\n\n                    b.Navigation(\"CreatorUser\");\n\n                    b.Navigation(\"DeleterUser\");\n\n                    b.Navigation(\"LastModifierUser\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Authorization.Users.User\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"CreatorUser\")\n                        .WithMany()\n                        .HasForeignKey(\"CreatorUserId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"DeleterUser\")\n                        .WithMany()\n                        .HasForeignKey(\"DeleterUserId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"LastModifierUser\")\n                        .WithMany()\n                        .HasForeignKey(\"LastModifierUserId\");\n\n                    b.Navigation(\"CreatorUser\");\n\n                    b.Navigation(\"DeleterUser\");\n\n                    b.Navigation(\"LastModifierUser\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.DefaultQuery\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"CreatorUser\")\n                        .WithMany()\n                        .HasForeignKey(\"CreatorUserId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"DeleterUser\")\n                        .WithMany()\n                        .HasForeignKey(\"DeleterUserId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"LastModifierUser\")\n                        .WithMany()\n                        .HasForeignKey(\"LastModifierUserId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"User\")\n                        .WithMany()\n                        .HasForeignKey(\"UserId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n\n                    b.Navigation(\"CreatorUser\");\n\n                    b.Navigation(\"DeleterUser\");\n\n                    b.Navigation(\"LastModifierUser\");\n\n                    b.Navigation(\"User\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.QueryCrawlerSummary\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Crawlers.QuerySummary\", \"QuerySummary\")\n                        .WithMany(\"QueryCrawlerSummaries\")\n                        .HasForeignKey(\"QuerySummaryId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n\n                    b.Navigation(\"QuerySummary\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.QueryHistory\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"User\")\n                        .WithMany()\n                        .HasForeignKey(\"UserId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n\n                    b.Navigation(\"User\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.QuerySummary\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Crawlers.QueryHistory\", \"QueryHistory\")\n                        .WithOne()\n                        .HasForeignKey(\"AcmStatisticsBackend.Crawlers.QuerySummary\", \"QueryHistoryId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n\n                    b.Navigation(\"QueryHistory\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.QueryWorkerHistory\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Crawlers.QueryHistory\", \"QueryHistory\")\n                        .WithMany(\"QueryWorkerHistories\")\n                        .HasForeignKey(\"QueryHistoryId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n\n                    b.Navigation(\"QueryHistory\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.UsernameInCrawler\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Crawlers.QueryCrawlerSummary\", \"QueryCrawlerSummary\")\n                        .WithMany(\"Usernames\")\n                        .HasForeignKey(\"QueryCrawlerSummaryId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n\n                    b.Navigation(\"QueryCrawlerSummary\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.MultiTenancy.Tenant\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"CreatorUser\")\n                        .WithMany()\n                        .HasForeignKey(\"CreatorUserId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"DeleterUser\")\n                        .WithMany()\n                        .HasForeignKey(\"DeleterUserId\");\n\n                    b.HasOne(\"Abp.Application.Editions.Edition\", \"Edition\")\n                        .WithMany()\n                        .HasForeignKey(\"EditionId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"LastModifierUser\")\n                        .WithMany()\n                        .HasForeignKey(\"LastModifierUserId\");\n\n                    b.Navigation(\"CreatorUser\");\n\n                    b.Navigation(\"DeleterUser\");\n\n                    b.Navigation(\"Edition\");\n\n                    b.Navigation(\"LastModifierUser\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Settings.UserSettingAttribute\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"CreatorUser\")\n                        .WithMany()\n                        .HasForeignKey(\"CreatorUserId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"LastModifierUser\")\n                        .WithMany()\n                        .HasForeignKey(\"LastModifierUserId\");\n\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", \"User\")\n                        .WithMany()\n                        .HasForeignKey(\"UserId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n\n                    b.Navigation(\"CreatorUser\");\n\n                    b.Navigation(\"LastModifierUser\");\n\n                    b.Navigation(\"User\");\n                });\n\n            modelBuilder.Entity(\"Abp.Application.Features.EditionFeatureSetting\", b =>\n                {\n                    b.HasOne(\"Abp.Application.Editions.Edition\", \"Edition\")\n                        .WithMany()\n                        .HasForeignKey(\"EditionId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n\n                    b.Navigation(\"Edition\");\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Roles.RolePermissionSetting\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Roles.Role\", null)\n                        .WithMany(\"Permissions\")\n                        .HasForeignKey(\"RoleId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.Authorization.Users.UserPermissionSetting\", b =>\n                {\n                    b.HasOne(\"AcmStatisticsBackend.Authorization.Users.User\", null)\n                        .WithMany(\"Permissions\")\n                        .HasForeignKey(\"UserId\")\n                        .OnDelete(DeleteBehavior.Cascade)\n                        .IsRequired();\n                });\n\n            modelBuilder.Entity(\"Abp.DynamicEntityProperties.DynamicProperty\", b =>\n                {\n                    b.Navigation(\"DynamicPropertyValues\");\n                });\n\n            modelBuilder.Entity(\"Abp.EntityHistory.EntityChange\", b =>\n                {\n                    b.Navigation(\"PropertyChanges\");\n                });\n\n            modelBuilder.Entity(\"Abp.EntityHistory.EntityChangeSet\", b =>\n                {\n                    b.Navigation(\"EntityChanges\");\n                });\n\n            modelBuilder.Entity(\"Abp.Organizations.OrganizationUnit\", b =>\n                {\n                    b.Navigation(\"Children\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Authorization.Roles.Role\", b =>\n                {\n                    b.Navigation(\"Claims\");\n\n                    b.Navigation(\"Permissions\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Authorization.Users.User\", b =>\n                {\n                    b.Navigation(\"Claims\");\n\n                    b.Navigation(\"Logins\");\n\n                    b.Navigation(\"Permissions\");\n\n                    b.Navigation(\"Roles\");\n\n                    b.Navigation(\"Settings\");\n\n                    b.Navigation(\"Tokens\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.QueryCrawlerSummary\", b =>\n                {\n                    b.Navigation(\"Usernames\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.QueryHistory\", b =>\n                {\n                    b.Navigation(\"QueryWorkerHistories\");\n                });\n\n            modelBuilder.Entity(\"AcmStatisticsBackend.Crawlers.QuerySummary\", b =>\n                {\n                    b.Navigation(\"QueryCrawlerSummaries\");\n                });\n#pragma warning restore 612, 618\n        }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Web.Core/AcmStatisticsBackend.Web.Core.csproj",
    "content": "<Project Sdk=\"Microsoft.NET.Sdk\">\n  <PropertyGroup>\n    <VersionPrefix>1.0.0.0</VersionPrefix>\n    <TargetFramework>net8.0</TargetFramework>\n    <AssemblyName>AcmStatisticsBackend.Web.Core</AssemblyName>\n    <PackageId>AcmStatisticsBackend.Web.Core</PackageId>\n    <GenerateAssemblyTitleAttribute>false</GenerateAssemblyTitleAttribute>\n    <GenerateAssemblyDescriptionAttribute>false</GenerateAssemblyDescriptionAttribute>\n    <GenerateAssemblyConfigurationAttribute>false</GenerateAssemblyConfigurationAttribute>\n    <GenerateAssemblyCompanyAttribute>false</GenerateAssemblyCompanyAttribute>\n    <GenerateAssemblyProductAttribute>false</GenerateAssemblyProductAttribute>\n    <GenerateAssemblyCopyrightAttribute>false</GenerateAssemblyCopyrightAttribute>\n    <GenerateAssemblyVersionAttribute>false</GenerateAssemblyVersionAttribute>\n    <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>\n    <OpenApiGenerateDocuments>false</OpenApiGenerateDocuments>\n    <RootNamespace>AcmStatisticsBackend</RootNamespace>\n    <LangVersion>7.2</LangVersion>\n  </PropertyGroup>\n  <ItemGroup>\n    <ProjectReference Include=\"..\\AcmStatisticsBackend.Application\\AcmStatisticsBackend.Application.csproj\" />\n    <ProjectReference Include=\"..\\AcmStatisticsBackend.EntityFrameworkCore\\AcmStatisticsBackend.EntityFrameworkCore.csproj\" />\n  </ItemGroup>\n  <ItemGroup>\n    <PackageReference Include=\"Microsoft.AspNetCore.Authentication.JwtBearer\" Version=\"8.0.24\" />\n    <PackageReference Include=\"Swashbuckle.AspNetCore\" Version=\"8.1.4\" />\n    <PackageReference Include=\"Abp.AspNetCore\" Version=\"8.4.0\" />\n    <PackageReference Include=\"Abp.ZeroCore\" Version=\"8.4.0\" />\n  </ItemGroup>\n</Project>\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Web.Core/AcmStatisticsBackendWebCoreModule.cs",
    "content": "using System;\nusing System.Text;\nusing Abp.AspNetCore;\nusing Abp.AspNetCore.Configuration;\nusing Abp.Configuration.Startup;\nusing Abp.Modules;\nusing Abp.Reflection.Extensions;\nusing Abp.Zero.Configuration;\nusing AcmStatisticsBackend.Authentication.JwtBearer;\nusing AcmStatisticsBackend.Configuration;\nusing AcmStatisticsBackend.EntityFrameworkCore;\nusing Microsoft.AspNetCore.Hosting;\nusing Microsoft.AspNetCore.Mvc.ApplicationParts;\nusing Microsoft.Extensions.Configuration;\nusing Microsoft.IdentityModel.Tokens;\n\nnamespace AcmStatisticsBackend\n{\n    [DependsOn(\n         typeof(AcmStatisticsBackendApplicationModule),\n         typeof(AcmStatisticsBackendEntityFrameworkModule),\n         typeof(AbpAspNetCoreModule))]\n    public class AcmStatisticsBackendWebCoreModule : AbpModule\n    {\n        private readonly IWebHostEnvironment _env;\n        private readonly IConfigurationRoot _appConfiguration;\n\n        public AcmStatisticsBackendWebCoreModule(IWebHostEnvironment env)\n        {\n            _env = env;\n            _appConfiguration = env.GetAppConfiguration();\n        }\n\n        public override void PreInitialize()\n        {\n            Configuration.DefaultNameOrConnectionString = _appConfiguration.GetConnectionString(\n                AcmStatisticsBackendConsts.ConnectionStringName);\n\n            // Use database for language management\n            Configuration.Modules.Zero().LanguageManagement.EnableDbLocalization();\n\n            Configuration.Modules.AbpAspNetCore()\n                 .CreateControllersForAppServices(\n                     typeof(AcmStatisticsBackendApplicationModule).GetAssembly());\n\n            ConfigureTokenAuth();\n        }\n\n        private void ConfigureTokenAuth()\n        {\n            IocManager.Register<TokenAuthConfiguration>();\n            var tokenAuthConfig = IocManager.Resolve<TokenAuthConfiguration>();\n\n            tokenAuthConfig.SecurityKey = new SymmetricSecurityKey(Encoding.ASCII.GetBytes(_appConfiguration[\"Authentication:JwtBearer:SecurityKey\"]));\n            tokenAuthConfig.Issuer = _appConfiguration[\"Authentication:JwtBearer:Issuer\"];\n            tokenAuthConfig.Audience = _appConfiguration[\"Authentication:JwtBearer:Audience\"];\n            tokenAuthConfig.SigningCredentials = new SigningCredentials(tokenAuthConfig.SecurityKey, SecurityAlgorithms.HmacSha256);\n            tokenAuthConfig.Expiration = TimeSpan.FromDays(1);\n        }\n\n        public override void Initialize()\n        {\n            IocManager.RegisterAssemblyByConvention(typeof(AcmStatisticsBackendWebCoreModule).GetAssembly());\n        }\n\n        public override void PostInitialize()\n        {\n            IocManager.Resolve<ApplicationPartManager>()\n                .AddApplicationPartsIfNotAddedBefore(typeof(AcmStatisticsBackendWebCoreModule).Assembly);\n            Configuration.Modules.AbpWebCommon().SendAllExceptionsToClients = true;\n        }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Web.Core/Authentication/JwtBearer/JwtTokenMiddleware.cs",
    "content": "﻿using Microsoft.AspNetCore.Authentication;\nusing Microsoft.AspNetCore.Authentication.JwtBearer;\nusing Microsoft.AspNetCore.Builder;\n\nnamespace AcmStatisticsBackend.Authentication.JwtBearer\n{\n    public static class JwtTokenMiddleware\n    {\n        public static IApplicationBuilder UseJwtTokenMiddleware(this IApplicationBuilder app, string schema = JwtBearerDefaults.AuthenticationScheme)\n        {\n            return app.Use(async (ctx, next) =>\n            {\n                if (ctx.User.Identity?.IsAuthenticated != true)\n                {\n                    var result = await ctx.AuthenticateAsync(schema);\n                    if (result.Succeeded && result.Principal != null)\n                    {\n                        ctx.User = result.Principal;\n                    }\n                }\n\n                await next();\n            });\n        }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Web.Core/Authentication/JwtBearer/TokenAuthConfiguration.cs",
    "content": "﻿using System;\nusing Microsoft.IdentityModel.Tokens;\n\nnamespace AcmStatisticsBackend.Authentication.JwtBearer\n{\n    public class TokenAuthConfiguration\n    {\n        public SymmetricSecurityKey SecurityKey { get; set; }\n\n        public string Issuer { get; set; }\n\n        public string Audience { get; set; }\n\n        public SigningCredentials SigningCredentials { get; set; }\n\n        public TimeSpan Expiration { get; set; }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Web.Core/Configuration/HostingEnvironmentExtensions.cs",
    "content": "﻿using Microsoft.AspNetCore.Hosting;\nusing Microsoft.Extensions.Configuration;\nusing Microsoft.Extensions.Hosting;\n\nnamespace AcmStatisticsBackend.Configuration\n{\n    public static class HostingEnvironmentExtensions\n    {\n        public static IConfigurationRoot GetAppConfiguration(this IWebHostEnvironment env)\n        {\n            return AppConfigurations.Get(env.ContentRootPath, env.EnvironmentName, env.IsDevelopment());\n        }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Web.Core/Controllers/AcmStatisticsBackendControllerBase.cs",
    "content": "using Abp.AspNetCore.Mvc.Controllers;\nusing Abp.IdentityFramework;\nusing Microsoft.AspNetCore.Identity;\n\nnamespace AcmStatisticsBackend.Controllers\n{\n    public abstract class AcmStatisticsBackendControllerBase : AbpController\n    {\n        protected AcmStatisticsBackendControllerBase()\n        {\n            LocalizationSourceName = AcmStatisticsBackendConsts.LocalizationSourceName;\n        }\n\n        protected void CheckErrors(IdentityResult identityResult)\n        {\n            identityResult.CheckErrors(LocalizationManager);\n        }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Web.Core/Controllers/TokenAuthController.cs",
    "content": "using System;\nusing System.Collections.Generic;\nusing System.IdentityModel.Tokens.Jwt;\nusing System.Linq;\nusing System.Security.Claims;\nusing System.Threading.Tasks;\nusing Abp.Authorization;\nusing Abp.Authorization.Users;\nusing Abp.MultiTenancy;\nusing Abp.Runtime.Security;\nusing AcmStatisticsBackend.Authentication.JwtBearer;\nusing AcmStatisticsBackend.Authorization;\nusing AcmStatisticsBackend.Authorization.Users;\nusing AcmStatisticsBackend.Models.TokenAuth;\nusing AcmStatisticsBackend.MultiTenancy;\nusing Microsoft.AspNetCore.Mvc;\n\nnamespace AcmStatisticsBackend.Controllers\n{\n    [Route(\"api/[controller]/[action]\")]\n    public class TokenAuthController : AcmStatisticsBackendControllerBase\n    {\n        private readonly LogInManager _logInManager;\n        private readonly ITenantCache _tenantCache;\n        private readonly AbpLoginResultTypeHelper _abpLoginResultTypeHelper;\n        private readonly TokenAuthConfiguration _configuration;\n\n        public TokenAuthController(\n            LogInManager logInManager,\n            ITenantCache tenantCache,\n            AbpLoginResultTypeHelper abpLoginResultTypeHelper,\n            TokenAuthConfiguration configuration)\n        {\n            _logInManager = logInManager;\n            _tenantCache = tenantCache;\n            _abpLoginResultTypeHelper = abpLoginResultTypeHelper;\n            _configuration = configuration;\n        }\n\n        [HttpPost]\n        public async Task<AuthenticateResultModel> Authenticate([FromBody] AuthenticateModel model)\n        {\n            var loginResult = await GetLoginResultAsync(\n                model.UserNameOrEmailAddress,\n                model.Password,\n                GetTenancyNameOrNull());\n\n            var expiration = model.RememberClient\n                ? TimeSpan.FromDays(30)\n                : _configuration.Expiration;\n            var accessToken = CreateAccessToken(\n                CreateJwtClaims(loginResult.Identity), expiration);\n\n            return new AuthenticateResultModel\n            {\n                AccessToken = accessToken,\n                ExpireInSeconds = (int)expiration.TotalSeconds,\n                UserId = loginResult.User.Id,\n            };\n        }\n\n        private string GetTenancyNameOrNull()\n        {\n            if (!AbpSession.TenantId.HasValue)\n            {\n                return null;\n            }\n\n            return _tenantCache.GetOrNull(AbpSession.TenantId.Value)?.TenancyName;\n        }\n\n        private async Task<AbpLoginResult<Tenant, User>> GetLoginResultAsync(\n            string usernameOrEmailAddress,\n            string password,\n            string tenancyName)\n        {\n            var loginResult = await _logInManager.LoginAsync(usernameOrEmailAddress, password, tenancyName);\n\n            switch (loginResult.Result)\n            {\n                case AbpLoginResultType.Success:\n                    return loginResult;\n                default:\n                    throw _abpLoginResultTypeHelper.CreateExceptionForFailedLoginAttempt(loginResult.Result,\n                        usernameOrEmailAddress, tenancyName);\n            }\n        }\n\n        private string CreateAccessToken(IEnumerable<Claim> claims, TimeSpan? expiration = null)\n        {\n            var now = DateTime.UtcNow;\n\n            var jwtSecurityToken = new JwtSecurityToken(\n                issuer: _configuration.Issuer,\n                audience: _configuration.Audience,\n                claims: claims,\n                notBefore: now,\n                expires: now.Add(expiration ?? _configuration.Expiration),\n                signingCredentials: _configuration.SigningCredentials);\n\n            return new JwtSecurityTokenHandler().WriteToken(jwtSecurityToken);\n        }\n\n        private static List<Claim> CreateJwtClaims(ClaimsIdentity identity)\n        {\n            var claims = identity.Claims.ToList();\n            var nameIdClaim = claims.First(c => c.Type == ClaimTypes.NameIdentifier);\n\n            // Specifically add the jti (random nonce), iat (issued timestamp), and sub (subject/user) claims.\n            claims.AddRange(new[]\n            {\n                new Claim(JwtRegisteredClaimNames.Sub, nameIdClaim.Value),\n                new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString()),\n                new Claim(JwtRegisteredClaimNames.Iat, DateTimeOffset.Now.ToUnixTimeSeconds().ToString(),\n                    ClaimValueTypes.Integer64),\n            });\n\n            return claims;\n        }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Web.Core/Middleware/CookieAuthMiddleware.cs",
    "content": "using System;\nusing System.Threading.Tasks;\nusing Microsoft.AspNetCore.Http;\n\nnamespace AcmStatisticsBackend.Middleware\n{\n    /// <summary>\n    /// 如果 header 中没有 authorization，就从cookie中取到并放进header中\n    /// </summary>\n    public class CookieAuthMiddleware\n    {\n        private const string CookieAuthKey = \"OAuthToken\";\n\n        private const string AuthorizationStart = \"Bearer \";\n\n        private readonly RequestDelegate _next;\n\n        public CookieAuthMiddleware(RequestDelegate next)\n        {\n            this._next = next ?? throw new ArgumentNullException(nameof(next));\n        }\n\n        public async Task Invoke(HttpContext context)\n        {\n            if (context.Request.Cookies.TryGetValue(CookieAuthKey, out var token)\n                && !context.Request.Headers.ContainsKey(\"Authorization\"))\n            {\n                context.Request.Headers.Add(\"Authorization\", AuthorizationStart + token);\n            }\n\n            await this._next(context);\n        }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Web.Core/Models/TokenAuth/AuthenticateModel.cs",
    "content": "﻿using System.ComponentModel.DataAnnotations;\nusing Abp.Auditing;\nusing Abp.Authorization.Users;\n\nnamespace AcmStatisticsBackend.Models.TokenAuth\n{\n    public class AuthenticateModel\n    {\n        [Required]\n        [StringLength(AbpUserBase.MaxEmailAddressLength)]\n        public string UserNameOrEmailAddress { get; set; }\n\n        [Required]\n        [StringLength(AbpUserBase.MaxPlainPasswordLength)]\n        [DisableAuditing]\n        public string Password { get; set; }\n\n        public bool RememberClient { get; set; }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Web.Core/Models/TokenAuth/AuthenticateResultModel.cs",
    "content": "﻿namespace AcmStatisticsBackend.Models.TokenAuth\n{\n    public class AuthenticateResultModel\n    {\n        public string AccessToken { get; set; }\n\n        public int ExpireInSeconds { get; set; }\n\n        public long UserId { get; set; }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Web.Core/Properties/AssemblyInfo.cs",
    "content": "﻿using System.Reflection;\nusing System.Runtime.InteropServices;\n\n// General Information about an assembly is controlled through the following\n// set of attributes. Change these attribute values to modify the information\n// associated with an assembly.\n[assembly: AssemblyTitle(\"AcmStatisticsBackend.Web.Core\")]\n[assembly: AssemblyDescription(\"\")]\n[assembly: AssemblyConfiguration(\"\")]\n[assembly: AssemblyCompany(\"\")]\n[assembly: AssemblyProduct(\"AcmStatisticsBackend.Web.Core\")]\n[assembly: AssemblyCopyright(\"Copyright ©  2017\")]\n[assembly: AssemblyTrademark(\"\")]\n[assembly: AssemblyCulture(\"\")]\n\n// Setting ComVisible to false makes the types in this assembly not visible\n// to COM components.  If you need to access a type in this assembly from\n// COM, set the ComVisible attribute to true on that type.\n[assembly: ComVisible(false)]\n\n// The following GUID is for the ID of the typelib if this project is exposed to COM\n[assembly: Guid(\"22cfe0d2-8dca-42d7-ad7d-784c3862493f\")]\n\n// Version information for an assembly consists of the following four values:\n//\n//      Major Version\n//      Minor Version\n//      Build Number\n//      Revision\n//\n// You can specify all the values or you can default the Build and Revision Numbers\n// by using the '*' as shown below:\n// [assembly: AssemblyVersion(\"1.0.*\")]\n[assembly: AssemblyVersion(\"1.0.0.0\")]\n[assembly: AssemblyFileVersion(\"1.0.0.0\")]\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Web.Host/AcmStatisticsBackend.Web.Host.csproj",
    "content": "<Project Sdk=\"Microsoft.NET.Sdk.Web\">\n  <PropertyGroup>\n    <TargetFramework>net8.0</TargetFramework>\n    <PreserveCompilationContext>true</PreserveCompilationContext>\n    <AssemblyName>AcmStatisticsBackend.Web.Host</AssemblyName>\n    <OutputType>Exe</OutputType>\n    <PackageId>AcmStatisticsBackend.Web.Host</PackageId>\n    <UserSecretsId>AbpCompanyName-AcmStatisticsBackend-56C2EF2F-ABD6-4EFC-AAF2-2E81C34E8FB1</UserSecretsId>\n    <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>\n    <GenerateBindingRedirectsOutputType>true</GenerateBindingRedirectsOutputType>\n    <LangVersion>7.2</LangVersion>\n    <DockerComposeProjectPath>..\\..\\..\\build\\docker-compose.dcproj</DockerComposeProjectPath>\n    <DockerDefaultTargetOS>Linux</DockerDefaultTargetOS>\n    <DockerfileContext>..\\..</DockerfileContext>\n  </PropertyGroup>\n  <ItemGroup>\n    <None Include=\"app.config\" />\n    <None Update=\"Dockerfile\">\n      <CopyToOutputDirectory>Always</CopyToOutputDirectory>\n    </None>\n    <None Update=\"log4net.config\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n      <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>\n    </None>\n    <None Update=\"wwwroot\\**\\*\">\n      <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>\n    </None>\n  </ItemGroup>\n  <ItemGroup>\n    <ProjectReference Include=\"..\\AcmStatisticsBackend.Web.Core\\AcmStatisticsBackend.Web.Core.csproj\" />\n  </ItemGroup>\n  <ItemGroup>\n    <PackageReference Include=\"Abp.Castle.Log4Net\" Version=\"8.4.0\" />\n    <PackageReference Include=\"Microsoft.EntityFrameworkCore.Design\" Version=\"8.0.24\">\n      <PrivateAssets>all</PrivateAssets>\n      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>\n    </PackageReference>\n    <PackageReference Include=\"Microsoft.VisualStudio.Azure.Containers.Tools.Targets\" Version=\"1.23.0\" />\n  </ItemGroup>\n  <ItemGroup>\n    <Folder Include=\"wwwroot\\\" />\n  </ItemGroup>\n</Project>\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Web.Host/Controllers/AntiForgeryController.cs",
    "content": "using Abp.Web.Security.AntiForgery;\nusing AcmStatisticsBackend.Controllers;\nusing Microsoft.AspNetCore.Antiforgery;\n\nnamespace AcmStatisticsBackend.Web.Host.Controllers\n{\n    public class AntiForgeryController : AcmStatisticsBackendControllerBase\n    {\n        private readonly IAntiforgery _antiforgery;\n        private readonly IAbpAntiForgeryManager _antiForgeryManager;\n\n        public AntiForgeryController(IAntiforgery antiforgery, IAbpAntiForgeryManager antiForgeryManager)\n        {\n            _antiforgery = antiforgery;\n            _antiForgeryManager = antiForgeryManager;\n        }\n\n        public void GetToken()\n        {\n            _antiforgery.SetCookieTokenAndHeader(HttpContext);\n        }\n\n        public void SetCookie()\n        {\n            _antiForgeryManager.SetCookie(HttpContext);\n        }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Web.Host/Dockerfile",
    "content": "#See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging.\n\nFROM mcr.microsoft.com/dotnet/aspnet:8.0 AS base\nWORKDIR /app\nEXPOSE 80\n\nFROM mcr.microsoft.com/dotnet/sdk:8.0 AS build\nWORKDIR /src\nCOPY [\"src/AcmStatisticsBackend.Web.Host/AcmStatisticsBackend.Web.Host.csproj\", \"src/AcmStatisticsBackend.Web.Host/\"]\nCOPY [\"src/AcmStatisticsBackend.Web.Core/AcmStatisticsBackend.Web.Core.csproj\", \"src/AcmStatisticsBackend.Web.Core/\"]\nCOPY [\"src/AcmStatisticsBackend.EntityFrameworkCore/AcmStatisticsBackend.EntityFrameworkCore.csproj\", \"src/AcmStatisticsBackend.EntityFrameworkCore/\"]\nCOPY [\"src/AcmStatisticsBackend.Core/AcmStatisticsBackend.Core.csproj\", \"src/AcmStatisticsBackend.Core/\"]\nCOPY [\"src/AcmStatisticsBackend.Application/AcmStatisticsBackend.Application.csproj\", \"src/AcmStatisticsBackend.Application/\"]\nRUN dotnet restore \"src/AcmStatisticsBackend.Web.Host/AcmStatisticsBackend.Web.Host.csproj\"\nCOPY . .\nWORKDIR \"/src/src/AcmStatisticsBackend.Web.Host\"\nRUN dotnet build \"AcmStatisticsBackend.Web.Host.csproj\" -c Release -o /app/build\n\nFROM build AS publish\nRUN dotnet publish \"AcmStatisticsBackend.Web.Host.csproj\" -c Release -o /app/publish\n\nFROM base AS final\nRUN apt-get update && apt-get install -y wait-for-it\nENV WAIT_COMMAND true\nWORKDIR /app\nCOPY --from=publish /app/publish .\nENV ASPNETCORE_URLS=http://0.0.0.0:80\nCMD $WAIT_COMMAND && dotnet AcmStatisticsBackend.Web.Host.dll\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Web.Host/Properties/launchSettings.json",
    "content": "{\n  \"iisSettings\": {\n    \"windowsAuthentication\": false,\n    \"anonymousAuthentication\": true,\n    \"iisExpress\": {\n      \"applicationUrl\": \"http://localhost:21021/\",\n      \"sslPort\": 0\n    }\n  },\n  \"profiles\": {\n    \"IIS Express\": {\n      \"commandName\": \"IISExpress\",\n      \"launchBrowser\": true,\n      \"environmentVariables\": {\n        \"ASPNETCORE_ENVIRONMENT\": \"Development\"\n      }\n    },\n    \"AcmStatisticsBackend.Web.Host\": {\n      \"commandName\": \"Project\",\n      \"launchBrowser\": true,\n      \"launchUrl\": \"http://localhost:21021\",\n      \"environmentVariables\": {\n        \"ASPNETCORE_ENVIRONMENT\": \"Development\"\n      },\n      \"applicationUrl\": \"http://localhost:21021/\"\n    },\n    \"Docker\": {\n      \"commandName\": \"Docker\",\n      \"launchBrowser\": true,\n      \"launchUrl\": \"{Scheme}://{ServiceHost}:{ServicePort}\",\n      \"publishAllPorts\": true\n    }\n  }\n}"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Web.Host/Startup/AcmStatisticsBackendWebHostModule.cs",
    "content": "﻿using Abp.Modules;\nusing Abp.Reflection.Extensions;\nusing AcmStatisticsBackend.Configuration;\nusing Microsoft.AspNetCore.Hosting;\nusing Microsoft.Extensions.Configuration;\n\nnamespace AcmStatisticsBackend.Web.Host.Startup\n{\n    [DependsOn(\n       typeof(AcmStatisticsBackendWebCoreModule))]\n    public class AcmStatisticsBackendWebHostModule : AbpModule\n    {\n        private readonly IWebHostEnvironment _env;\n        private readonly IConfigurationRoot _appConfiguration;\n\n        public AcmStatisticsBackendWebHostModule(IWebHostEnvironment env)\n        {\n            _env = env;\n            _appConfiguration = env.GetAppConfiguration();\n        }\n\n        public override void Initialize()\n        {\n            IocManager.RegisterAssemblyByConvention(typeof(AcmStatisticsBackendWebHostModule).GetAssembly());\n        }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Web.Host/Startup/AuthConfigurer.cs",
    "content": "using System;\nusing System.Linq;\nusing System.Text;\nusing System.Threading.Tasks;\nusing Abp.Runtime.Security;\nusing Microsoft.AspNetCore.Authentication.JwtBearer;\nusing Microsoft.Extensions.Configuration;\nusing Microsoft.Extensions.DependencyInjection;\nusing Microsoft.IdentityModel.Tokens;\n\nnamespace AcmStatisticsBackend.Web.Host.Startup\n{\n    public static class AuthConfigurer\n    {\n        public static void Configure(IServiceCollection services, IConfiguration configuration)\n        {\n            if (bool.Parse(configuration[\"Authentication:JwtBearer:IsEnabled\"]))\n            {\n                services.AddAuthentication(options =>\n                {\n                    options.DefaultAuthenticateScheme = \"JwtBearer\";\n                    options.DefaultChallengeScheme = \"JwtBearer\";\n                }).AddJwtBearer(\"JwtBearer\", options =>\n                {\n                    options.Audience = configuration[\"Authentication:JwtBearer:Audience\"];\n\n                    options.TokenValidationParameters = new TokenValidationParameters\n                    {\n                        // The signing key must match!\n                        ValidateIssuerSigningKey = true,\n                        IssuerSigningKey = new SymmetricSecurityKey(Encoding.ASCII.GetBytes(configuration[\"Authentication:JwtBearer:SecurityKey\"])),\n\n                        // Validate the JWT Issuer (iss) claim\n                        ValidateIssuer = true,\n                        ValidIssuer = configuration[\"Authentication:JwtBearer:Issuer\"],\n\n                        // Validate the JWT Audience (aud) claim\n                        ValidateAudience = true,\n                        ValidAudience = configuration[\"Authentication:JwtBearer:Audience\"],\n\n                        // Validate the token expiry\n                        ValidateLifetime = true,\n\n                        // If you want to allow a certain amount of clock drift, set that here\n                        ClockSkew = TimeSpan.Zero,\n                    };\n                });\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Web.Host/Startup/Program.cs",
    "content": "﻿using Microsoft.AspNetCore;\nusing Microsoft.AspNetCore.Hosting;\n\nnamespace AcmStatisticsBackend.Web.Host.Startup\n{\n    public class Program\n    {\n        public static void Main(string[] args)\n        {\n            BuildWebHost(args).Run();\n        }\n\n        public static IWebHost BuildWebHost(string[] args)\n        {\n            return WebHost.CreateDefaultBuilder(args)\n                .UseStartup<Startup>()\n                .Build();\n        }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Web.Host/Startup/Startup.cs",
    "content": "using System;\nusing System.IO;\nusing System.Linq;\nusing Abp.AspNetCore;\nusing Abp.AspNetCore.Mvc.Antiforgery;\nusing Abp.Castle.Logging.Log4Net;\nusing Abp.Dependency;\nusing Abp.Extensions;\nusing Abp.Json;\nusing AcmStatisticsBackend.Configuration;\nusing AcmStatisticsBackend.Identity;\nusing AcmStatisticsBackend.Middleware;\nusing Castle.Facilities.Logging;\nusing Microsoft.AspNetCore.Builder;\nusing Microsoft.AspNetCore.Hosting;\nusing Microsoft.Extensions.Configuration;\nusing Microsoft.Extensions.DependencyInjection;\nusing Microsoft.Extensions.Logging;\nusing Microsoft.OpenApi.Models;\nusing Newtonsoft.Json.Serialization;\n\nnamespace AcmStatisticsBackend.Web.Host.Startup\n{\n    public class Startup\n    {\n        private const string _defaultCorsPolicyName = \"localhost\";\n\n        private readonly IConfigurationRoot _appConfiguration;\n\n        public Startup(IWebHostEnvironment env)\n        {\n            _appConfiguration = env.GetAppConfiguration();\n        }\n\n        public IServiceProvider ConfigureServices(IServiceCollection services)\n        {\n            // MVC\n            services.AddControllersWithViews(\n                    options => { options.Filters.Add(new AbpAutoValidateAntiforgeryTokenAttribute()); })\n                .AddNewtonsoftJson(options =>\n                {\n                    options.SerializerSettings.ContractResolver = new AbpMvcContractResolver(IocManager.Instance)\n                    {\n                        NamingStrategy = new CamelCaseNamingStrategy(),\n                    };\n                });\n\n            IdentityRegistrar.Register(services);\n            AuthConfigurer.Configure(services, _appConfiguration);\n\n            services.AddSignalR();\n\n            // Configure CORS for angular2 UI\n            services.AddCors(\n                options => options.AddPolicy(\n                    _defaultCorsPolicyName,\n                    builder => builder\n                        // App:CorsOrigins in appsettings.json can contain more than one address separated by comma.\n                        .WithOrigins(\n                            _appConfiguration[\"App:CorsOrigins\"]\n                                .Split(\",\", StringSplitOptions.RemoveEmptyEntries)\n                                .Select(o => o.RemovePostFix(\"/\"))\n                                .ToArray())\n                        .AllowAnyHeader()\n                        .AllowAnyMethod()\n                        .AllowCredentials()));\n\n            // Swagger - Enable this line and the related lines in Configure method to enable swagger UI\n            services.AddSwaggerGen(options =>\n            {\n                options.SwaggerDoc(\"v1\", new OpenApiInfo() { Title = \"AcmStatisticsBackend API\", Version = \"v1\" });\n                options.DocInclusionPredicate((docName, description) => true);\n\n                // Define the BearerAuth scheme that's in use\n                options.AddSecurityDefinition(\"bearerAuth\", new OpenApiSecurityScheme()\n                {\n                    Description =\n                        \"JWT Authorization header using the Bearer scheme. Example: \\\"Authorization: Bearer {token}\\\"\",\n                    Name = \"Authorization\",\n                    In = ParameterLocation.Header,\n                    Type = SecuritySchemeType.ApiKey,\n                });\n\n                // Set the comments path for the swagger json and ui.\n                var basePath = AppDomain.CurrentDomain.BaseDirectory;\n                var docPath = Path.Combine(basePath, \"AcmStatisticsBackend.Application.xml\");\n                options.IncludeXmlComments(docPath);\n            });\n\n            // Configure X-Forwarded-For\n            services.Configure<ForwardedHeadersOptions>(options => { options.ForwardLimit = null; });\n\n            // Configure Abp and Dependency Injection\n            return services.AddAbp<AcmStatisticsBackendWebHostModule>(\n                options =>\n                {\n                    // Configure Log4Net logging\n                    options.IocManager.IocContainer.AddFacility<LoggingFacility>(\n                        f => f.UseAbpLog4Net().WithConfig(\"log4net.config\"));\n                });\n        }\n\n        public void Configure(IApplicationBuilder app, ILoggerFactory loggerFactory)\n        {\n            app.UseMiddleware<CookieAuthMiddleware>();\n\n            app.UseAbp(options => { options.UseAbpRequestLocalization = false; }); // Initializes ABP framework.\n\n            app.UseCors(_defaultCorsPolicyName); // Enable CORS!\n\n            app.UseStaticFiles();\n\n            app.UseRouting();\n\n            app.UseAuthentication();\n\n            app.UseAbpRequestLocalization();\n\n            app.UseEndpoints(endpoints =>\n            {\n                endpoints.MapControllerRoute(\"default\", \"{controller=Home}/{action=Index}/{id?}\");\n                endpoints.MapControllerRoute(\"defaultWithArea\", \"{area}/{controller=Home}/{action=Index}/{id?}\");\n            });\n\n            // Enable middleware to serve generated Swagger as a JSON endpoint\n            app.UseSwagger(opts => { opts.RouteTemplate = \"api/backend/{documentName}/swagger.json\"; });\n        }\n    }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Web.Host/app.config",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<configuration>\n  <appSettings>\n    <add key=\"owin:AutomaticAppStartup\" value=\"false\"/>\n  </appSettings>\n  <runtime>\n    <gcServer enabled=\"true\"/>\n  </runtime>\n</configuration>\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Web.Host/appsettings.Staging.json",
    "content": "﻿{\n  \"ConnectionStrings\": {\n    \"Default\": \"Server=10.0.75.1; Database=AcmStatisticsBackendDb; User=sa; Password=123qwe;\"\n  },\n  \"App\": {\n    \"ServerRootAddress\": \"http://localhost:9902/\",\n    \"CorsOrigins\": \"http://localhost:9902\"\n  }\n}"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Web.Host/appsettings.json",
    "content": "{\n  \"ConnectionStrings\": {\n    \"Default\": \"Server=localhost; port=3306; Database=acm_statistics_abp; uid=root; pwd=123456; Convert Zero Datetime=True\"\n  },\n  \"App\": {\n    \"ServerRootAddress\": \"http://localhost:3000/\",\n    \"ClientRootAddress\": \"http://localhost:4200/\",\n    \"CorsOrigins\": \"http://localhost:4200,http://localhost:8080,http://localhost:8081,http://localhost:3000,http://reverse-proxy\"\n  },\n  \"Authentication\": {\n    \"JwtBearer\": {\n      \"IsEnabled\": \"true\",\n      \"SecurityKey\": \"AcmStatisticsBackend_C421AAEE0D114E9C\",\n      \"Issuer\": \"AcmStatisticsBackend\",\n      \"Audience\": \"AcmStatisticsBackend\"\n    }\n  },\n  \"Logging\": {\n    \"LogLevel\": {\n      \"Default\": \"Debug\",\n      \"System\": \"Information\",\n      \"Microsoft\": \"Warning\"\n    }\n  }\n}\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Web.Host/log4net.config",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n<log4net>\n  <appender name=\"RollingFileAppender\" type=\"log4net.Appender.RollingFileAppender\" >\n    <file value=\"App_Data/Logs/Logs.txt\" />\n    <appendToFile value=\"true\" />\n    <rollingStyle value=\"Size\" />\n    <maxSizeRollBackups value=\"10\" />\n    <maximumFileSize value=\"10000KB\" />\n    <staticLogFileName value=\"true\" />\n    <layout type=\"log4net.Layout.PatternLayout\">\n      <conversionPattern value=\"%-5level %date [%-5.5thread] %-40.40logger - %message%newline\" />\n    </layout>\n  </appender>\n  <root>\n    <appender-ref ref=\"RollingFileAppender\" />\n    <level value=\"DEBUG\" />\n  </root>\n</log4net>\n"
  },
  {
    "path": "backend/src/AcmStatisticsBackend.Web.Host/web.config",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<configuration>\n  <system.webServer>\n    <handlers>\n      <add name=\"aspNetCore\" path=\"*\" verb=\"*\" modules=\"AspNetCoreModuleV2\" resourceType=\"Unspecified\" />\n    </handlers>\n    <aspNetCore processPath=\"%LAUNCHER_PATH%\" arguments=\"%LAUNCHER_ARGS%\" stdoutLogEnabled=\"false\" stdoutLogFile=\".\\logs\\stdout\" forwardWindowsAuthToken=\"false\" startupTimeLimit=\"3600\" requestTimeout=\"23:00:00\" hostingModel=\"InProcess\">\n      <environmentVariables>\n        <environmentVariable name=\"COMPLUS_ForceENC\" value=\"1\" />\n        <environmentVariable name=\"ASPNETCORE_ENVIRONMENT\" value=\"Development\" />\n      </environmentVariables>\n    </aspNetCore>\n    <httpProtocol>\n      <customHeaders>\n        <remove name=\"X-Powered-By\" />\n      </customHeaders>\n    </httpProtocol>\n  </system.webServer>\n</configuration>\n"
  },
  {
    "path": "backend/stylecop.json",
    "content": "{\n  \"$schema\": \"https://raw.githubusercontent.com/DotNetAnalyzers/StyleCopAnalyzers/master/StyleCop.Analyzers/StyleCop.Analyzers/Settings/stylecop.schema.json\",\n  \"settings\": {\n    \"orderingRules\": {\n      \"usingDirectivesPlacement\": \"outsideNamespace\"\n    },\n    \"layoutRules\": {\n      \"newlineAtEndOfFile\": \"require\"\n    }\n  }\n}\n"
  },
  {
    "path": "backend/test/AcmStatisticsBackend.Tests/Accounts/AccountAppService_Tests.cs",
    "content": "using System.Collections.Generic;\nusing System.Threading.Tasks;\nusing Abp.Authorization;\nusing Abp.MultiTenancy;\nusing Abp.UI;\nusing AcmStatisticsBackend.Accounts;\nusing AcmStatisticsBackend.Accounts.Dto;\nusing AcmStatisticsBackend.Authorization;\nusing AcmStatisticsBackend.Authorization.Users;\nusing AcmStatisticsBackend.Crawlers;\nusing AcmStatisticsBackend.Crawlers.Dto;\nusing AcmStatisticsBackend.ServiceClients;\nusing FluentAssertions;\nusing Microsoft.EntityFrameworkCore;\nusing Xunit;\n\nnamespace AcmStatisticsBackend.Tests.Accounts\n{\n    public class AccountAppService_Tests : AcmStatisticsBackendTestBase\n    {\n        private readonly IAccountAppService _accountAppService;\n        private readonly FakeCaptchaServiceClient _captchaServiceClient;\n        private readonly LogInManager _logInManager;\n\n        public AccountAppService_Tests()\n        {\n            _captchaServiceClient = new FakeCaptchaServiceClient();\n            _accountAppService = Resolve<AccountAppService>(new\n            {\n                captchaServiceClient = _captchaServiceClient,\n            });\n            _logInManager = Resolve<LogInManager>();\n        }\n\n        [Fact]\n        public async Task Register_应该能够正确注册()\n        {\n            // arrange\n            _captchaServiceClient.Return = new CaptchaServiceValidateResult\n            {\n                Correct = true,\n                ErrorMessage = null,\n            };\n\n            // act\n            var result = await _accountAppService.Register(new RegisterInput\n            {\n                UserName = \"testuser\",\n                Password = \"StrongPassword\",\n                CaptchaId = \"aaaaa\",\n                CaptchaText = \"fdafdsf\",\n            });\n\n            // assert\n            result.CanLogin.Should().BeTrue();\n\n            await UsingDbContextAsync(async ctx =>\n            {\n                var user = await ctx.Users.FirstOrDefaultAsync(user => user.UserName == \"testuser\");\n                user.EmailAddress.Should().Be(\"testuser@noemail.fake\");\n                user.IsEmailConfirmed.Should().BeFalse();\n            });\n        }\n\n        [Fact]\n        public async Task Register_能够在验证码错误时能报错()\n        {\n            // arrange\n            _captchaServiceClient.Return = new CaptchaServiceValidateResult\n            {\n                Correct = false,\n                ErrorMessage = \"an error message\",\n            };\n\n            // act\n            await _accountAppService.Register(new RegisterInput\n                {\n                    UserName = \"testuser\",\n                    Password = \"StrongPassword\",\n                    CaptchaId = \"aaaaa\",\n                    CaptchaText = \"fdafdsf\",\n                }).ShouldThrow<UserFriendlyException>()\n                // assert\n                .WithMessage(\"an error message\");\n        }\n\n        [Fact]\n        public async Task SelfDelete_能够正确删除用户()\n        {\n            // arrange\n            _captchaServiceClient.Return = new CaptchaServiceValidateResult\n            {\n                Correct = true,\n                ErrorMessage = null,\n            };\n            await _accountAppService.Register(new RegisterInput\n            {\n                UserName = \"user1\",\n                Password = \"StrongPassword\",\n                CaptchaId = \"a\",\n                CaptchaText = \"a\",\n            });\n            await UsingDbContextAsync(1, async ctx =>\n            {\n                var user = await ctx.Users.FirstAsync(a => a.UserName == \"user1\");\n                user.Should().NotBeNull();\n            });\n\n            // act\n            LoginAsTenant(AbpTenantBase.DefaultTenantName, \"user1\");\n            await _accountAppService.SelfDelete();\n\n            // test\n            User origUser = null;\n            await UsingDbContextAsync(1, async ctx =>\n            {\n                origUser = await ctx.Users.FirstOrDefaultAsync(a => a.UserName == \"user1\");\n                origUser.IsDeleted.Should().BeTrue();\n            });\n\n            // 能够注册相同的用户名（和邮箱）\n            await _accountAppService.Register(new RegisterInput\n            {\n                UserName = \"user1\",\n                Password = \"StrongPassword\",\n                CaptchaId = \"a\",\n                CaptchaText = \"a\",\n            });\n            await UsingDbContextAsync(1, async ctx =>\n            {\n                var user = await ctx.Users.FirstAsync(a => a.UserName == \"user1\" && !a.IsDeleted);\n                user.Should().NotBeNull();\n                user.Id.Should().NotBe(origUser.Id);\n            });\n        }\n\n        [Fact]\n        public async Task ChangePassword_CanWorkCorrectly()\n        {\n            // arrange\n            _captchaServiceClient.Return = new CaptchaServiceValidateResult\n            {\n                Correct = true,\n                ErrorMessage = null,\n            };\n            await _accountAppService.Register(new RegisterInput\n            {\n                UserName = \"user1\",\n                Password = \"password1\",\n                CaptchaId = \"a\",\n                CaptchaText = \"a\",\n            });\n            var result = await _logInManager.LoginAsync(\"user1\", \"password1\", AbpTenantBase.DefaultTenantName);\n            result.Result.Should().Be(AbpLoginResultType.Success);\n\n            // act\n            LoginAsTenant(AbpTenantBase.DefaultTenantName, \"user1\");\n            await _accountAppService.ChangePassword(new ChangePasswordInput\n            {\n                CurrentPassword = \"password1\",\n                NewPassword = \"password2\",\n            });\n\n            // assert\n            (await _logInManager.LoginAsync(\"user1\", \"password2\", AbpTenantBase.DefaultTenantName))\n                .Result.Should().Be(AbpLoginResultType.Success);\n            (await _logInManager.LoginAsync(\"user1\", \"password1\", AbpTenantBase.DefaultTenantName))\n                .Result.Should().Be(AbpLoginResultType.InvalidPassword);\n        }\n    }\n}\n"
  },
  {
    "path": "backend/test/AcmStatisticsBackend.Tests/Accounts/FakeCaptchaServiceClient.cs",
    "content": "using System.Threading.Tasks;\nusing AcmStatisticsBackend.ServiceClients;\n\nnamespace AcmStatisticsBackend.Tests.Accounts\n{\n    public class FakeCaptchaServiceClient : ICaptchaServiceClient\n    {\n        public CaptchaServiceValidateResult Return { get; set; }\n\n        public Task<CaptchaServiceValidateResult> ValidateAsync(string id, string text)\n        {\n            return Task.FromResult(Return);\n        }\n    }\n}\n"
  },
  {
    "path": "backend/test/AcmStatisticsBackend.Tests/AcmStatisticsBackend.Tests.csproj",
    "content": "﻿<Project Sdk=\"Microsoft.NET.Sdk\">\n  <PropertyGroup>\n    <VersionPrefix>1.0.0.0</VersionPrefix>\n    <TargetFramework>net8.0</TargetFramework>\n    <AssemblyName>AcmStatisticsBackend.Tests</AssemblyName>\n    <PackageId>AcmStatisticsBackend.Tests</PackageId>\n    <GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles>\n    <GenerateAssemblyConfigurationAttribute>false</GenerateAssemblyConfigurationAttribute>\n    <GenerateAssemblyCompanyAttribute>false</GenerateAssemblyCompanyAttribute>\n    <GenerateAssemblyProductAttribute>false</GenerateAssemblyProductAttribute>\n  </PropertyGroup>\n  <ItemGroup>\n    <ProjectReference Include=\"..\\..\\src\\AcmStatisticsBackend.Application\\AcmStatisticsBackend.Application.csproj\" />\n    <ProjectReference Include=\"..\\..\\src\\AcmStatisticsBackend.EntityFrameworkCore\\AcmStatisticsBackend.EntityFrameworkCore.csproj\" />\n  </ItemGroup>\n  <ItemGroup>\n    <PackageReference Include=\"coverlet.collector\" Version=\"6.0.4\">\n      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>\n      <PrivateAssets>all</PrivateAssets>\n    </PackageReference>\n    <PackageReference Include=\"FluentAssertions\" Version=\"8.8.0\" />\n    <PackageReference Include=\"Microsoft.EntityFrameworkCore.Sqlite\" Version=\"8.0.24\" />\n    <PackageReference Include=\"Microsoft.NET.Test.Sdk\" Version=\"17.10.0\" />\n    <PackageReference Include=\"NSubstitute\" Version=\"5.3.0\" />\n    <PackageReference Include=\"xunit\" Version=\"2.9.3\" />\n    <PackageReference Include=\"xunit.extensibility.execution\" Version=\"2.9.3\" />\n    <PackageReference Include=\"xunit.runner.visualstudio\" Version=\"3.1.5\">\n      <PrivateAssets>all</PrivateAssets>\n      <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>\n    </PackageReference>\n    <PackageReference Include=\"Abp.TestBase\" Version=\"8.4.0\" />\n    <PackageReference Include=\"Castle.Core\" Version=\"5.2.1\" />\n  </ItemGroup>\n  <ItemGroup>\n    <None Update=\"appsettings.json\">\n      <CopyToOutputDirectory>Always</CopyToOutputDirectory>\n    </None>\n  </ItemGroup>\n  <ItemGroup>\n    <Service Include=\"{82a7f48d-3b50-4b1e-b82e-3ada8210c358}\" />\n  </ItemGroup>\n</Project>\n"
  },
  {
    "path": "backend/test/AcmStatisticsBackend.Tests/AcmStatisticsBackendTestBase.cs",
    "content": "﻿using System;\nusing System.Linq;\nusing System.Threading.Tasks;\nusing Abp;\nusing Abp.Authorization.Users;\nusing Abp.Events.Bus;\nusing Abp.Events.Bus.Entities;\nusing Abp.MultiTenancy;\nusing Abp.Runtime.Session;\nusing Abp.TestBase;\nusing AcmStatisticsBackend.Authorization.Users;\nusing AcmStatisticsBackend.EntityFrameworkCore;\nusing AcmStatisticsBackend.EntityFrameworkCore.Seed.Host;\nusing AcmStatisticsBackend.EntityFrameworkCore.Seed.Tenants;\nusing AcmStatisticsBackend.MultiTenancy;\nusing Microsoft.EntityFrameworkCore;\n\nnamespace AcmStatisticsBackend.Tests\n{\n    public abstract class AcmStatisticsBackendTestBase : AbpIntegratedTestBase<AcmStatisticsBackendTestModule>\n    {\n        protected AcmStatisticsBackendTestBase()\n        {\n            void NormalizeDbContext(AcmStatisticsBackendDbContext context)\n            {\n                context.EntityChangeEventHelper = NullEntityChangeEventHelper.Instance;\n                context.EventBus = NullEventBus.Instance;\n                context.SuppressAutoSetTenantId = true;\n            }\n\n            // Seed initial data for host\n            AbpSession.TenantId = null;\n            UsingDbContext(context =>\n            {\n                NormalizeDbContext(context);\n                context.Database.EnsureCreated();\n\n                new InitialHostDbBuilder(context).Create();\n                new DefaultTenantBuilder(context).Create();\n            });\n\n            // Seed initial data for default tenant\n            AbpSession.TenantId = 1;\n            UsingDbContext(context =>\n            {\n                NormalizeDbContext(context);\n                new TenantRoleAndUserBuilder(context, 1).Create();\n            });\n\n            LoginAsDefaultTenantAdmin();\n        }\n\n        #region UsingDbContext\n\n        protected IDisposable UsingTenantId(int? tenantId)\n        {\n            var previousTenantId = AbpSession.TenantId;\n            AbpSession.TenantId = tenantId;\n            return new DisposeAction(() => AbpSession.TenantId = previousTenantId);\n        }\n\n        protected void UsingDbContext(Action<AcmStatisticsBackendDbContext> action)\n        {\n            UsingDbContext(AbpSession.TenantId, action);\n        }\n\n        protected Task UsingDbContextAsync(Func<AcmStatisticsBackendDbContext, Task> action)\n        {\n            return UsingDbContextAsync(AbpSession.TenantId, action);\n        }\n\n        protected T UsingDbContext<T>(Func<AcmStatisticsBackendDbContext, T> func)\n        {\n            return UsingDbContext(AbpSession.TenantId, func);\n        }\n\n        protected Task<T> UsingDbContextAsync<T>(Func<AcmStatisticsBackendDbContext, Task<T>> func)\n        {\n            return UsingDbContextAsync(AbpSession.TenantId, func);\n        }\n\n        protected void UsingDbContext(int? tenantId, Action<AcmStatisticsBackendDbContext> action)\n        {\n            using (UsingTenantId(tenantId))\n            {\n                using (var context = LocalIocManager.Resolve<AcmStatisticsBackendDbContext>())\n                {\n                    action(context);\n                    context.SaveChanges();\n                }\n            }\n        }\n\n        protected async Task UsingDbContextAsync(int? tenantId, Func<AcmStatisticsBackendDbContext, Task> action)\n        {\n            using (UsingTenantId(tenantId))\n            {\n                using (var context = LocalIocManager.Resolve<AcmStatisticsBackendDbContext>())\n                {\n                    await action(context);\n                    await context.SaveChangesAsync();\n                }\n            }\n        }\n\n        protected T UsingDbContext<T>(int? tenantId, Func<AcmStatisticsBackendDbContext, T> func)\n        {\n            T result;\n\n            using (UsingTenantId(tenantId))\n            {\n                using (var context = LocalIocManager.Resolve<AcmStatisticsBackendDbContext>())\n                {\n                    result = func(context);\n                    context.SaveChanges();\n                }\n            }\n\n            return result;\n        }\n\n        protected async Task<T> UsingDbContextAsync<T>(int? tenantId, Func<AcmStatisticsBackendDbContext, Task<T>> func)\n        {\n            T result;\n\n            using (UsingTenantId(tenantId))\n            {\n                using (var context = LocalIocManager.Resolve<AcmStatisticsBackendDbContext>())\n                {\n                    result = await func(context);\n                    await context.SaveChangesAsync();\n                }\n            }\n\n            return result;\n        }\n\n        #endregion\n\n        #region Login\n\n        protected void LoginAsHostAdmin()\n        {\n            LoginAsHost(AbpUserBase.AdminUserName);\n        }\n\n        protected void LoginAsDefaultTenantAdmin()\n        {\n            LoginAsTenant(AbpTenantBase.DefaultTenantName, AbpUserBase.AdminUserName);\n        }\n\n        protected void LoginAsDefaultTenant(string userName)\n        {\n            LoginAsTenant(AbpTenantBase.DefaultTenantName, userName);\n        }\n\n        protected void LoginAsHost(string userName)\n        {\n            var user = GetHostUser(userName);\n            AbpSession.UserId = user.Id;\n        }\n\n        protected void LoginAsTenant(string tenancyName, string userName)\n        {\n            var tenant = UsingDbContext(context => context.Tenants.FirstOrDefault(t => t.TenancyName == tenancyName));\n            if (tenant == null)\n            {\n                throw new Exception(\"There is no tenant: \" + tenancyName);\n            }\n\n            AbpSession.TenantId = tenant.Id;\n\n            var user =\n                UsingDbContext(\n                    context =>\n                        context.Users.FirstOrDefault(u => u.TenantId == AbpSession.TenantId && u.UserName == userName));\n            if (user == null)\n            {\n                throw new Exception(\"There is no user: \" + userName + \" for tenant: \" + tenancyName);\n            }\n\n            AbpSession.UserId = user.Id;\n        }\n\n        #endregion\n\n        #region GetUser\n\n        /// <summary>\n        /// Gets current user if <see cref=\"IAbpSession.UserId\"/> is not null.\n        /// Throws exception if it's null.\n        /// </summary>\n        protected async Task<User> GetCurrentUserAsync()\n        {\n            var userId = AbpSession.GetUserId();\n            return await UsingDbContext(context => context.Users.SingleAsync(u => u.Id == userId));\n        }\n\n        /// <summary>\n        /// Gets current tenant if <see cref=\"IAbpSession.TenantId\"/> is not null.\n        /// Throws exception if there is no current tenant.\n        /// </summary>\n        protected async Task<Tenant> GetCurrentTenantAsync()\n        {\n            var tenantId = AbpSession.GetTenantId();\n            return await UsingDbContext(context => context.Tenants.SingleAsync(t => t.Id == tenantId));\n        }\n\n        protected User GetHostUser(string userName)\n        {\n            AbpSession.TenantId = null;\n\n            var user =\n                UsingDbContext(\n                    context =>\n                        context.Users.FirstOrDefault(u =>\n                            u.TenantId == AbpSession.TenantId && u.UserName == userName));\n            if (user == null)\n            {\n                throw new Exception(\"There is no user: \" + userName + \" for host.\");\n            }\n\n            return user;\n        }\n\n        protected User GetHostAdmin()\n        {\n            return GetHostUser(AbpUserBase.AdminUserName);\n        }\n\n        #endregion\n    }\n}\n"
  },
  {
    "path": "backend/test/AcmStatisticsBackend.Tests/AcmStatisticsBackendTestModule.cs",
    "content": "using System;\nusing Abp.AutoMapper;\nusing Abp.Configuration.Startup;\nusing Abp.Dependency;\nusing Abp.Modules;\nusing Abp.Net.Mail;\nusing Abp.TestBase;\nusing Abp.Zero.Configuration;\nusing Abp.Zero.EntityFrameworkCore;\nusing AcmStatisticsBackend.EntityFrameworkCore;\nusing AcmStatisticsBackend.Tests.DependencyInjection;\nusing Castle.MicroKernel.Registration;\nusing NSubstitute;\nusing Xunit;\n\nnamespace AcmStatisticsBackend.Tests\n{\n    [DependsOn(\n        typeof(AcmStatisticsBackendApplicationModule),\n        typeof(AcmStatisticsBackendEntityFrameworkModule),\n        typeof(AbpTestBaseModule))]\n    public class AcmStatisticsBackendTestModule : AbpModule\n    {\n        private readonly ServiceCollectionRegistrar _registrar;\n\n        public AcmStatisticsBackendTestModule(\n            AcmStatisticsBackendEntityFrameworkModule abpProjectNameEntityFrameworkModule)\n        {\n            abpProjectNameEntityFrameworkModule.SkipDbContextRegistration = true;\n            abpProjectNameEntityFrameworkModule.SkipDbSeed = true;\n\n            _registrar = new ServiceCollectionRegistrar();\n        }\n\n        public override void PreInitialize()\n        {\n            Configuration.UnitOfWork.Timeout = TimeSpan.FromMinutes(30);\n            Configuration.UnitOfWork.IsTransactional = false;\n\n            // Disable static mapper usage since it breaks unit tests (see https://github.com/aspnetboilerplate/aspnetboilerplate/issues/2052)\n            Configuration.Modules.AbpAutoMapper().UseStaticMapper = false;\n\n            Configuration.BackgroundJobs.IsJobExecutionEnabled = false;\n\n            // Use database for language management\n            Configuration.Modules.Zero().LanguageManagement.EnableDbLocalization();\n\n            RegisterFakeService<AbpZeroDbMigrator<AcmStatisticsBackendDbContext>>();\n\n            Configuration.ReplaceService<IEmailSender, NullEmailSender>(DependencyLifeStyle.Transient);\n        }\n\n        public override void Initialize()\n        {\n            _registrar.Register(IocManager);\n        }\n\n        public override void Shutdown()\n        {\n            _registrar.Dispose();\n            base.Shutdown();\n        }\n\n        private void RegisterFakeService<TService>() where TService : class\n        {\n            IocManager.IocContainer.Register(\n                Component.For<TService>()\n                    .UsingFactoryMethod(() => Substitute.For<TService>())\n                    .LifestyleSingleton());\n        }\n    }\n}\n"
  },
  {
    "path": "backend/test/AcmStatisticsBackend.Tests/Crawlers/DefaultQueryAppService_Tests.cs",
    "content": "﻿using System.Collections.Generic;\nusing System.Threading.Tasks;\nusing AcmStatisticsBackend.Crawlers;\nusing AcmStatisticsBackend.Crawlers.Dto;\nusing FluentAssertions;\nusing Xunit;\n\nnamespace AcmStatisticsBackend.Tests.Crawlers\n{\n    public class DefaultQueryAppService_Tests : AcmStatisticsBackendTestBase\n    {\n        private readonly IDefaultQueryAppService _appService;\n\n        public DefaultQueryAppService_Tests()\n        {\n            _appService = Resolve<DefaultQueryAppService>();\n        }\n\n        [Fact]\n        public async Task GetDefaultQueries_ShouldWorkCorrectly()\n        {\n            // act\n            await _appService.SetDefaultQueries(new DefaultQueryDto\n            {\n                MainUsername = \"mainUsername\",\n                UsernamesInCrawlers = new Dictionary<string, List<string>>\n                {\n                    { \"crawler1\", new List<string> { \"username1\", \"username2\" } },\n                    { \"crawler2\", new List<string> { \"username3\", \"username4\" } },\n                },\n            });\n\n            var result = await _appService.GetDefaultQueries();\n\n            // assert\n            result.Should().BeEquivalentTo(new DefaultQueryDto\n            {\n                MainUsername = \"mainUsername\",\n                UsernamesInCrawlers = new Dictionary<string, List<string>>\n                {\n                    { \"crawler1\", new List<string> { \"username1\", \"username2\" } },\n                    { \"crawler2\", new List<string> { \"username3\", \"username4\" } },\n                },\n            });\n        }\n\n        [Fact]\n        public async Task SetDefaultQueries_ShouldWorkCorrectly()\n        {\n            // act\n            await _appService.SetDefaultQueries(new DefaultQueryDto\n            {\n                MainUsername = \"\",\n            });\n\n            var result = await _appService.GetDefaultQueries();\n\n            // assert\n            result.Should().BeEquivalentTo(new DefaultQueryDto\n            {\n                MainUsername = \"\",\n                UsernamesInCrawlers = new Dictionary<string, List<string>>(),\n            });\n        }\n\n        [Fact]\n        public async Task GetDefaultQueries_WhenNoRecord_ReturnResultWithEmptyParameters()\n        {\n            // act\n            var result = await _appService.GetDefaultQueries();\n\n            // assert\n            result.Should().BeEquivalentTo(new DefaultQueryDto\n            {\n                MainUsername = \"\",\n                UsernamesInCrawlers = new Dictionary<string, List<string>>(),\n            });\n        }\n    }\n}\n"
  },
  {
    "path": "backend/test/AcmStatisticsBackend.Tests/Crawlers/QueryHistoryAppService_Tests.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.Diagnostics;\nusing System.Linq;\nusing System.Threading.Tasks;\nusing Abp.Application.Services.Dto;\nusing Abp.Timing;\nusing Abp.UI;\nusing AcmStatisticsBackend.Crawlers;\nusing AcmStatisticsBackend.Crawlers.Dto;\nusing AcmStatisticsBackend.ServiceClients;\nusing AcmStatisticsBackend.Tests.DependencyInjection;\nusing FluentAssertions;\nusing Microsoft.EntityFrameworkCore;\nusing Xunit;\n\nnamespace AcmStatisticsBackend.Tests.Crawlers\n{\n    public class QueryHistoryAppService_Tests : AcmStatisticsBackendTestBase\n    {\n        private IQueryHistoryAppService _queryHistoryAppService;\n\n        private TestClockProvider _testClockProvider;\n\n        protected override void PreInitialize()\n        {\n            LocalIocManager.Register<IClockProvider, TestClockProvider>();\n        }\n\n        protected override void PostInitialize()\n        {\n            _testClockProvider = Resolve<IClockProvider>() as TestClockProvider;\n\n            var testCrawlerApiBackendClient = new TestCrawlerApiBackendClient();\n            _queryHistoryAppService = Resolve<QueryHistoryAppService>(new\n            {\n                crawlerApiBackendClient = testCrawlerApiBackendClient,\n            });\n\n            testCrawlerApiBackendClient.CrawlerMeta = new List<CrawlerMetaItem>\n            {\n                new CrawlerMetaItem\n                {\n                    CrawlerName = \"c1\",\n                    CrawlerTitle = \"C1\",\n                    Url = \"\",\n                    CrawlerDescription = \"\",\n                    IsVirtualJudge = false,\n                },\n                new CrawlerMetaItem\n                {\n                    CrawlerName = \"c2\",\n                    CrawlerTitle = \"C2\",\n                    Url = \"\",\n                    CrawlerDescription = \"\",\n                    IsVirtualJudge = false,\n                },\n                new CrawlerMetaItem\n                {\n                    CrawlerName = \"c3\",\n                    CrawlerTitle = \"C3\",\n                    Url = \"\",\n                    CrawlerDescription = \"\",\n                    IsVirtualJudge = true,\n                },\n                new CrawlerMetaItem\n                {\n                    CrawlerName = \"c4\",\n                    CrawlerTitle = \"C4\",\n                    Url = \"\",\n                    CrawlerDescription = \"\",\n                    IsVirtualJudge = true,\n                },\n            };\n        }\n\n        [Fact]\n        public async Task SaveOrReplaceQueryHistory_CanSaveRecord()\n        {\n            // arrange\n            LoginAsDefaultTenantAdmin();\n            _testClockProvider.Now = new DateTime(2020, 4, 1, 10, 0, 0);\n\n            // act\n            var result = await _queryHistoryAppService.SaveOrReplaceQueryHistory(new SaveOrReplaceQueryHistoryInput\n            {\n                MainUsername = \"mainUser\",\n                QueryWorkerHistories = new List<QueryWorkerHistoryDto>\n                {\n                    new QueryWorkerHistoryDto\n                    {\n                        Username = \"u1\",\n                        CrawlerName = \"c1\",\n                        Solved = 3,\n                        Submission = 20,\n                        ErrorMessage = null,\n                        SolvedList = new[]\n                        {\n                            \"p1\",\n                            \"p2\",\n                            \"p3\",\n                        },\n                    },\n                    new QueryWorkerHistoryDto\n                    {\n                        Username = \"u2\",\n                        CrawlerName = \"c2\",\n                        ErrorMessage = \"Cannot find username\",\n                    },\n                },\n            });\n\n            // assert\n            UsingDbContext(ctx =>\n            {\n                ctx.QueryHistories.Should().HaveCount(1);\n                var acHistory = ctx.QueryHistories.Single();\n                Debug.Assert(AbpSession.UserId != null, \"AbpSession.UserId != null\");\n                acHistory.UserId.Should().Be(AbpSession.UserId.Value);\n                acHistory.CreationTime.Should().Be(new DateTime(2020, 4, 1, 10, 0, 0));\n                acHistory.MainUsername.Should().Be(\"mainUser\");\n                acHistory.IsReliableSource.Should().BeFalse();\n\n                ctx.QueryWorkerHistories.Should().HaveCount(2);\n                var list = ctx.QueryWorkerHistories.ToList();\n                list[0].WithIn(it =>\n                {\n                    it.Solved.Should().Be(3);\n                    it.Submission.Should().Be(20);\n                    it.Username.Should().Be(\"u1\");\n                    it.CrawlerName.Should().Be(\"c1\");\n                    it.QueryHistoryId.Should().Be(acHistory.Id);\n                    it.ErrorMessage.Should().Be(null);\n                    it.SolvedList.Should().Equal(\"p1\", \"p2\", \"p3\");\n                });\n                list[1].WithIn(it =>\n                {\n                    it.Solved.Should().Be(0);\n                    it.SolvedList.Should().BeNull();\n                    it.ErrorMessage.Should().Be(\"Cannot find username\");\n                });\n            });\n\n            result.QueryHistoryId.Should().Be(1);\n        }\n\n        [Fact]\n        public async Task SaveOrReplaceQueryHistory_CanReplaceRecordOfTheSameDay()\n        {\n            // arrange\n            LoginAsDefaultTenantAdmin();\n\n            // act\n            _testClockProvider.Now = new DateTime(2020, 4, 1, 10, 0, 0);\n            await _queryHistoryAppService.SaveOrReplaceQueryHistory(new SaveOrReplaceQueryHistoryInput\n            {\n                MainUsername = \"u1\",\n                QueryWorkerHistories = new List<QueryWorkerHistoryDto>\n                {\n                    new QueryWorkerHistoryDto\n                    {\n                        CrawlerName = \"c1\",\n                        Username = \"u1\",\n                        Solved = 1,\n                        Submission = 10,\n                    },\n                },\n            });\n\n            // 第二次存储\n            _testClockProvider.Now = new DateTime(2020, 4, 1, 20, 0, 0);\n            var result = await _queryHistoryAppService.SaveOrReplaceQueryHistory(new SaveOrReplaceQueryHistoryInput\n            {\n                MainUsername = \"u1\",\n                QueryWorkerHistories = new List<QueryWorkerHistoryDto>\n                {\n                    new QueryWorkerHistoryDto\n                    {\n                        CrawlerName = \"c1\",\n                        Username = \"u1\",\n                        Solved = 5,\n                        Submission = 10,\n                    },\n                },\n            });\n\n            // assert\n            UsingDbContext(ctx =>\n            {\n                ctx.QueryHistories.Should().HaveCount(1);\n                var history = ctx.QueryHistories.Single();\n\n                ctx.QueryWorkerHistories.Should().HaveCount(1);\n                var workerHistory = ctx.QueryWorkerHistories.Single();\n                workerHistory.QueryHistoryId.Should().Be(history.Id);\n                workerHistory.Solved.Should().Be(5);\n            });\n\n            result.QueryHistoryId.Should().Be(2);\n        }\n\n        [Fact]\n        public async Task SaveOrReplaceAcHistory_ShouldKeepRecordsOfDifferentDays()\n        {\n            // arrange\n            LoginAsDefaultTenantAdmin();\n\n            // act\n            _testClockProvider.Now = new DateTime(2020, 4, 1, 10, 0, 0);\n            await _queryHistoryAppService.SaveOrReplaceQueryHistory(new SaveOrReplaceQueryHistoryInput\n            {\n                MainUsername = \"u1\",\n                QueryWorkerHistories = new List<QueryWorkerHistoryDto>\n                {\n                    new QueryWorkerHistoryDto\n                    {\n                        CrawlerName = \"c1\",\n                        Username = \"u1\",\n                        Solved = 1,\n                        Submission = 10,\n                    },\n                },\n            });\n\n            // 第二次存储\n            _testClockProvider.Now = new DateTime(2020, 4, 2, 10, 0, 0);\n            var result = await _queryHistoryAppService.SaveOrReplaceQueryHistory(new SaveOrReplaceQueryHistoryInput\n            {\n                MainUsername = \"u1\",\n                QueryWorkerHistories = new List<QueryWorkerHistoryDto>\n                {\n                    new QueryWorkerHistoryDto\n                    {\n                        CrawlerName = \"c1\",\n                        Username = \"u1\",\n                        Solved = 5,\n                        Submission = 10,\n                    },\n                },\n            });\n\n            // assert\n            UsingDbContext(ctx =>\n            {\n                ctx.QueryHistories.Should().HaveCount(2);\n                ctx.QueryWorkerHistories.Should().HaveCount(2);\n            });\n\n            result.QueryHistoryId.Should().Be(2);\n        }\n\n        [Fact]\n        public async Task SaveOrReplaceQueryHistory_ShouldGenerateSummary()\n        {\n            // arrange\n            LoginAsDefaultTenantAdmin();\n            _testClockProvider.Now = new DateTime(2020, 4, 1, 10, 0, 0);\n\n            // act\n            var result = await _queryHistoryAppService.SaveOrReplaceQueryHistory(new SaveOrReplaceQueryHistoryInput\n            {\n                MainUsername = \"mainUser\",\n                QueryWorkerHistories = new List<QueryWorkerHistoryDto>\n                {\n                    new QueryWorkerHistoryDto\n                    {\n                        Username = \"u1\",\n                        CrawlerName = \"c1\",\n                        Solved = 3,\n                        Submission = 20,\n                        ErrorMessage = null,\n                        SolvedList = new[]\n                        {\n                            \"p1\",\n                            \"p2\",\n                            \"p3\",\n                        },\n                    },\n                    new QueryWorkerHistoryDto\n                    {\n                        Username = \"u2\",\n                        CrawlerName = \"c2\",\n                        ErrorMessage = \"Cannot find username\",\n                    },\n                },\n            });\n\n            // assert\n            UsingDbContext(ctx =>\n            {\n                ctx.QuerySummaries.Should().HaveCount(1);\n                var querySummary = ctx.QuerySummaries.Single();\n                querySummary.WithIn(it =>\n                {\n                    it.Solved.Should().Be(3);\n                    it.Submission.Should().Be(20);\n                    it.QueryHistoryId.Should().Be(result.QueryHistoryId);\n                });\n\n                ctx.QueryCrawlerSummaries.Should().HaveCount(1);\n                ctx.QueryCrawlerSummaries.Single().WithIn(it => { it.QuerySummaryId.Should().Be(querySummary.Id); });\n            });\n        }\n\n        [Fact]\n        public async Task DeleteAcHistory_ShouldRemoveAcHistoryAndAcWorkerHistoryAtTheSameTime()\n        {\n            // arrange\n            LoginAsDefaultTenantAdmin();\n            _testClockProvider.Now = new DateTime(2020, 4, 1, 10, 0, 0);\n            await _queryHistoryAppService.SaveOrReplaceQueryHistory(new SaveOrReplaceQueryHistoryInput\n            {\n                MainUsername = \"u1\",\n                QueryWorkerHistories = new List<QueryWorkerHistoryDto>\n                {\n                    new QueryWorkerHistoryDto\n                    {\n                        CrawlerName = \"c1\",\n                        Username = \"u1\",\n                        Solved = 1,\n                        Submission = 10,\n                    },\n                },\n            });\n\n            // act\n            await _queryHistoryAppService.DeleteQueryHistory(new DeleteQueryHistoryInput\n            {\n                Id = 1,\n            });\n\n            // assert\n            UsingDbContext(ctx =>\n            {\n                ctx.QueryHistories.Should().HaveCount(0);\n                ctx.QueryWorkerHistories.Should().HaveCount(0);\n                ctx.QuerySummaries.Should().HaveCount(0);\n                ctx.QueryCrawlerSummaries.Should().HaveCount(0);\n            });\n        }\n\n        [Fact]\n        public async Task GetAcHistory_ShouldWorkCorrectly()\n        {\n            // arrange\n            LoginAsDefaultTenantAdmin();\n            await UsingDbContextAsync(async ctx =>\n            {\n                Debug.Assert(AbpSession.UserId != null, \"AbpSession.UserId != null\");\n                await ctx.QueryHistories.AddAsync(new QueryHistory\n                {\n                    MainUsername = \"u1\",\n                    CreationTime = new DateTime(2020, 4, 1, 10, 0, 0),\n                    UserId = AbpSession.UserId.Value,\n                });\n            });\n\n            // act\n            var result = await _queryHistoryAppService.GetQueryHistories(new PagedResultRequestDto\n            {\n                SkipCount = 0,\n                MaxResultCount = 5,\n            });\n\n            // assert\n            result.TotalCount.Should().Be(1);\n            result.Items[0].WithIn(it =>\n            {\n                it.MainUsername.Should().Be(\"u1\");\n                it.CreationTime.Should().Be(new DateTime(2020, 4, 1, 10, 0, 0));\n            });\n        }\n\n        [Fact]\n        public async Task GetAcHistory_ShouldReturnHistoriesInCorrectOrder()\n        {\n            // arrange\n            LoginAsDefaultTenantAdmin();\n            await UsingDbContextAsync(async ctx =>\n            {\n                Debug.Assert(AbpSession.UserId != null, \"AbpSession.UserId != null\");\n                await ctx.QueryHistories.AddRangeAsync(new[]\n                {\n                    new QueryHistory\n                    {\n                        MainUsername = \"u1\",\n                        CreationTime = new DateTime(2020, 4, 1, 10, 0, 0),\n                        UserId = AbpSession.UserId.Value,\n                    },\n                    new QueryHistory\n                    {\n                        MainUsername = \"u1\",\n                        CreationTime = new DateTime(2020, 4, 2, 10, 0, 0),\n                        UserId = AbpSession.UserId.Value,\n                    },\n                });\n            });\n\n            // act\n            var result = await _queryHistoryAppService.GetQueryHistories(new PagedResultRequestDto\n            {\n                SkipCount = 0,\n                MaxResultCount = 5,\n            });\n\n            // assert\n            result.TotalCount.Should().Be(2);\n            result.Items[0].WithIn(it =>\n            {\n                it.MainUsername.Should().Be(\"u1\");\n                it.CreationTime.Should().Be(new DateTime(2020, 4, 2, 10, 0, 0));\n            });\n            result.Items[1].WithIn(it =>\n            {\n                it.MainUsername.Should().Be(\"u1\");\n                it.CreationTime.Should().Be(new DateTime(2020, 4, 1, 10, 0, 0));\n            });\n        }\n\n        [Fact]\n        public async Task GetAcWorkerHistory_ShouldWorkCorrectly()\n        {\n            // arrange\n            LoginAsDefaultTenantAdmin();\n            _testClockProvider.Now = new DateTime(2020, 4, 1, 10, 0, 0);\n            await _queryHistoryAppService.SaveOrReplaceQueryHistory(new SaveOrReplaceQueryHistoryInput\n            {\n                MainUsername = \"mainUser\",\n                QueryWorkerHistories = new List<QueryWorkerHistoryDto>\n                {\n                    new QueryWorkerHistoryDto\n                    {\n                        Username = \"u1\",\n                        CrawlerName = \"c1\",\n                        Solved = 3,\n                        Submission = 20,\n                        ErrorMessage = null,\n                        SolvedList = new[]\n                        {\n                            \"p1\",\n                            \"p2\",\n                            \"p3\",\n                        },\n                        IsVirtualJudge = false,\n                    },\n                    new QueryWorkerHistoryDto\n                    {\n                        Username = \"u2\",\n                        CrawlerName = \"c2\",\n                        ErrorMessage = \"Cannot find username\",\n                    },\n                },\n            });\n\n            var historyResponse = await _queryHistoryAppService.GetQueryHistories(new PagedResultRequestDto());\n            var historyId = historyResponse.Items[0].Id;\n\n            // act\n            var list = await _queryHistoryAppService.GetQueryWorkerHistories(new GetAcWorkerHistoryInput\n            {\n                QueryHistoryId = historyId,\n            });\n\n            // assert\n            list.Items.Count.Should().Be(2);\n            list.Items[0].WithIn(it =>\n            {\n                it.Solved.Should().Be(3);\n                it.Submission.Should().Be(20);\n                it.Username.Should().Be(\"u1\");\n                it.CrawlerName.Should().Be(\"c1\");\n                it.ErrorMessage.Should().BeNull();\n                it.SolvedList.Should().Equal(\"p1\", \"p2\", \"p3\");\n            });\n            list.Items[1].WithIn(it =>\n            {\n                it.Solved.Should().Be(0);\n                it.Username.Should().Be(\"u2\");\n                it.CrawlerName.Should().Be(\"c2\");\n                it.ErrorMessage.Should().Be(\"Cannot find username\");\n                it.SolvedList.Should().BeNull();\n            });\n        }\n\n        [Fact]\n        public async Task It_CanSaveAndGetRecordWithSubmissions()\n        {\n            // arrange\n            LoginAsDefaultTenantAdmin();\n            _testClockProvider.Now = new DateTime(2020, 4, 1, 10, 0, 0);\n\n            // act\n            await _queryHistoryAppService.SaveOrReplaceQueryHistory(new SaveOrReplaceQueryHistoryInput\n            {\n                MainUsername = \"mainUser\",\n                QueryWorkerHistories = new List<QueryWorkerHistoryDto>\n                {\n                    new QueryWorkerHistoryDto\n                    {\n                        Username = \"u1\",\n                        CrawlerName = \"c1\",\n                        Solved = 3,\n                        Submission = 10,\n                        ErrorMessage = null,\n                        SolvedList = new[]\n                        {\n                            \"p1\",\n                            \"p2\",\n                            \"p3\",\n                        },\n                    },\n                    new QueryWorkerHistoryDto\n                    {\n                        Username = \"u2\",\n                        CrawlerName = \"c3\",\n                        Solved = 3,\n                        Submission = 10,\n                        SolvedList = new[]\n                        {\n                            \"c1-p1\",\n                            \"c1-p5\",\n                            \"NO_NAME-1001\",\n                        },\n                        IsVirtualJudge = true,\n                        SubmissionsByCrawlerName = new Dictionary<string, int>\n                        {\n                            { \"c1\", 5 },\n                            { \"NO_NAME\", 5 },\n                        },\n                    },\n                },\n            });\n\n            // assert\n            await UsingDbContextAsync(async ctx =>\n            {\n                (await ctx.QueryHistories.CountAsync()).Should().Be(1);\n                var acHistory = await ctx.QueryHistories.FirstAsync();\n                Debug.Assert(AbpSession.UserId != null, \"AbpSession.UserId != null\");\n                acHistory.UserId.Should().Be(AbpSession.UserId.Value);\n                acHistory.CreationTime.Should().Be(new DateTime(2020, 4, 1, 10, 0, 0));\n                acHistory.MainUsername.Should().Be(\"mainUser\");\n\n                (await ctx.QueryWorkerHistories.CountAsync()).Should().Be(2);\n                var list = await ctx.QueryWorkerHistories.ToListAsync();\n                list[0].WithIn(it =>\n                {\n                    it.Solved.Should().Be(3);\n                    it.Submission.Should().Be(10);\n                    it.Username.Should().Be(\"u1\");\n                    it.CrawlerName.Should().Be(\"c1\");\n                    it.QueryHistoryId.Should().Be(acHistory.Id);\n                    it.ErrorMessage.Should().Be(null);\n                    it.SolvedList.Should().Equal(\"p1\", \"p2\", \"p3\");\n                });\n                list[1].WithIn(it =>\n                {\n                    it.Solved.Should().Be(3);\n                    it.SolvedList.Should().Equal(\"c1-p1\", \"c1-p5\", \"NO_NAME-1001\");\n                    it.IsVirtualJudge.Should().Be(true);\n                    it.SubmissionsByCrawlerName.Should().BeEquivalentTo(new Dictionary<string, int>\n                    {\n                        { \"c1\", 5 },\n                        { \"NO_NAME\", 5 },\n                    });\n                });\n            });\n        }\n\n        [Fact]\n        public async Task GetQuerySummary_ShouldWorkCorrectly()\n        {\n            // arrange\n            LoginAsDefaultTenantAdmin();\n            _testClockProvider.Now = new DateTime(2020, 4, 1, 10, 0, 0);\n            var saveOrReplaceQueryHistoryOutput = await _queryHistoryAppService.SaveOrReplaceQueryHistory(\n                new SaveOrReplaceQueryHistoryInput\n                {\n                    MainUsername = \"mainUser\",\n                    QueryWorkerHistories = new List<QueryWorkerHistoryDto>\n                    {\n                        new QueryWorkerHistoryDto\n                        {\n                            Username = \"u1\",\n                            CrawlerName = \"c1\",\n                            Solved = 3,\n                            Submission = 20,\n                            ErrorMessage = null,\n                            SolvedList = new[]\n                            {\n                                \"p1\",\n                                \"p2\",\n                                \"p3\",\n                            },\n                        },\n                        new QueryWorkerHistoryDto\n                        {\n                            Username = \"u2\",\n                            CrawlerName = \"c2\",\n                            ErrorMessage = \"Cannot find username\",\n                        },\n                    },\n                });\n\n            // act\n            var result = await _queryHistoryAppService.GetQuerySummary(new GetQuerySummaryInput\n            {\n                QueryHistoryId = saveOrReplaceQueryHistoryOutput.QueryHistoryId,\n            });\n\n            // assert\n            result.Should().BeEquivalentTo(new QuerySummaryDto\n            {\n                QueryHistoryId = saveOrReplaceQueryHistoryOutput.QueryHistoryId,\n                GenerateTime = _testClockProvider.Now,\n                MainUsername = \"mainUser\",\n                Solved = 3,\n                Submission = 20,\n                SummaryWarnings = new List<SummaryWarning>(),\n                QueryCrawlerSummaries = new List<QueryCrawlerSummaryDto>\n                {\n                    new QueryCrawlerSummaryDto\n                    {\n                        CrawlerName = \"c1\",\n                        Usernames = new List<UsernameInCrawlerDto>\n                        {\n                            new UsernameInCrawlerDto\n                            {\n                                Username = \"u1\",\n                            },\n                        },\n                        Solved = 3,\n                        Submission = 20,\n                        IsVirtualJudge = false,\n                    },\n                },\n            });\n        }\n\n        [Fact]\n        public async Task GetQuerySummary_WhenSummaryNotExist_ShouldThrow()\n        {\n            // arrange\n            LoginAsDefaultTenantAdmin();\n            var user = await GetCurrentUserAsync();\n\n            var id = UsingDbContext(c =>\n            {\n                var entity = new QueryHistory\n                {\n                    UserId = user.Id,\n                    CreationTime = DateTime.Now,\n                    MainUsername = \"aaa\",\n                    IsReliableSource = false,\n                };\n                c.QueryHistories.Add(entity);\n                c.SaveChanges();\n                return entity.Id;\n            });\n\n            // act\n            var task = _queryHistoryAppService.GetQuerySummary(new GetQuerySummaryInput\n            {\n                QueryHistoryId = id,\n            });\n\n            // assert\n            await task.ShouldThrow<UserFriendlyException>()\n                .WithMessage(\"This query history does not have summary\");\n        }\n\n        [Fact]\n        public async Task GetQueryHistoriesAndSummaries_ShouldWorkCorrectly()\n        {\n            // arrange\n            LoginAsDefaultTenantAdmin();\n            await UsingDbContextAsync(async ctx =>\n            {\n                Debug.Assert(AbpSession.UserId != null, \"AbpSession.UserId != null\");\n                var histories = new[]\n                {\n                    new QueryHistory\n                    {\n                        MainUsername = \"u1\",\n                        CreationTime = new DateTime(2020, 4, 1, 10, 0, 0),\n                        UserId = AbpSession.UserId.Value,\n                    },\n                    // correct order\n                    new QueryHistory\n                    {\n                        MainUsername = \"u1\",\n                        CreationTime = new DateTime(2020, 4, 2, 10, 0, 0),\n                        UserId = AbpSession.UserId.Value,\n                    },\n                };\n                await ctx.QueryHistories.AddRangeAsync(histories);\n                await ctx.SaveChangesAsync();\n                await ctx.QuerySummaries.AddRangeAsync(new[]\n                {\n                    // test join summary\n                    new QuerySummary\n                    {\n                        QueryHistoryId = histories[0].Id,\n                        Solved = 10,\n                        Submission = 20,\n                        GenerateTime = new DateTime(2020, 4, 3, 10, 0, 0),\n                        SummaryWarnings = new List<SummaryWarning>(),\n                    },\n                    // test left join (the second history should be outputted)\n                });\n            });\n\n            // act\n            var result = await _queryHistoryAppService.GetQueryHistoriesAndSummaries(new PagedResultRequestDto\n            {\n                SkipCount = 0,\n                MaxResultCount = 5,\n            });\n\n            // assert\n            result.TotalCount.Should().Be(2);\n            result.Items[0].WithIn(it =>\n            {\n                it.CreationTime.Should().Be(new DateTime(2020, 4, 2, 10, 0, 0));\n                it.Solved.Should().BeNull();\n                it.Submission.Should().BeNull();\n            });\n            result.Items[1].WithIn(it =>\n            {\n                it.CreationTime.Should().Be(new DateTime(2020, 4, 1, 10, 0, 0));\n                it.Solved.Should().Be(10);\n                it.Submission.Should().Be(20);\n            });\n        }\n    }\n}\n"
  },
  {
    "path": "backend/test/AcmStatisticsBackend.Tests/Crawlers/QuerySummary_ModelTests.cs",
    "content": "﻿using System.Collections.Generic;\nusing System.Linq;\nusing System.Threading.Tasks;\nusing Abp.Domain.Repositories;\nusing Abp.TestBase;\nusing AcmStatisticsBackend.Authorization.Users;\nusing AcmStatisticsBackend.Crawlers;\nusing FluentAssertions;\nusing Xunit;\n\nnamespace AcmStatisticsBackend.Tests.Crawlers\n{\n    public class QuerySummary_ModelTests : AcmStatisticsBackendTestBase\n    {\n        private readonly IRepository<QueryHistory, long> _queryHistoryRepository;\n        private readonly IRepository<QuerySummary, long> _querySummaryRepository;\n        private readonly UserManager _userManager;\n        private UserRegistrationManager _userRegistrationManager;\n\n        public QuerySummary_ModelTests()\n        {\n            _queryHistoryRepository = Resolve<IRepository<QueryHistory, long>>();\n            _querySummaryRepository = Resolve<IRepository<QuerySummary, long>>();\n            _userManager = Resolve<UserManager>();\n            _userRegistrationManager = Resolve<UserRegistrationManager>();\n        }\n\n        private async Task InsertDataByQueryHistory()\n        {\n            await UsingDbContextAsync(async c =>\n            {\n                var history = await _queryHistoryRepository.InsertAsync(new QueryHistory\n                {\n                    UserId = GetHostAdmin().Id,\n                    MainUsername = \"a_user\",\n                    QueryWorkerHistories = new List<QueryWorkerHistory>\n                    {\n                        new QueryWorkerHistory\n                        {\n                            Solved = 3,\n                            Submission = 10,\n                            Username = \"u1\",\n                            CrawlerName = \"crawler\",\n                        },\n                    },\n                });\n\n                await _querySummaryRepository.InsertAsync(new QuerySummary\n                {\n                    QueryHistoryId = history.Id,\n                    Solved = 0,\n                    Submission = 0,\n                    QueryCrawlerSummaries = new List<QueryCrawlerSummary>\n                    {\n                        new QueryCrawlerSummary\n                        {\n                            Solved = 0,\n                            Submission = 0,\n                            Usernames = new List<UsernameInCrawler>\n                            {\n                                new UsernameInCrawler\n                                {\n                                    Username = \"a_user\",\n                                    FromCrawlerName = \"\",\n                                },\n                            },\n                            CrawlerName = \"crawler\",\n                        },\n                    },\n                    SummaryWarnings = new List<SummaryWarning>\n                    {\n                        new SummaryWarning(\"c1\", \"a warning\"),\n                    },\n                });\n            });\n        }\n\n        private async Task InsertDataByQuerySummary(long? userId = null)\n        {\n            await UsingDbContextAsync(async c =>\n            {\n                await _querySummaryRepository.InsertAsync(new QuerySummary\n                {\n                    QueryHistory = new QueryHistory\n                    {\n                        UserId = userId ?? GetHostAdmin().Id,\n                        MainUsername = \"a_user\",\n                        QueryWorkerHistories = new List<QueryWorkerHistory>()\n                        {\n                            new QueryWorkerHistory\n                            {\n                                Solved = 3,\n                                Submission = 10,\n                                Username = \"u1\",\n                                CrawlerName = \"crawler\",\n                            },\n                        },\n                    },\n                    Solved = 0,\n                    Submission = 0,\n                    QueryCrawlerSummaries = new List<QueryCrawlerSummary>\n                    {\n                        new QueryCrawlerSummary\n                        {\n                            Solved = 0,\n                            Submission = 0,\n                            Usernames = new List<UsernameInCrawler>\n                            {\n                                new UsernameInCrawler\n                                {\n                                    Username = \"a_user\",\n                                    FromCrawlerName = \"\",\n                                },\n                            },\n                            CrawlerName = \"crawler\",\n                        },\n                    },\n                    SummaryWarnings = new List<SummaryWarning>\n                    {\n                        new SummaryWarning(\"c1\", \"a warning\"),\n                    },\n                });\n            });\n        }\n\n        [Theory]\n        [InlineData(\"insert QueryHistory first\")]\n        [InlineData(\"insert QuerySummary directly\")]\n        public async Task AfterInsertion_ShouldSetForeignKey(string strategy)\n        {\n            // act\n            if (strategy.Contains(\"QueryHistory\"))\n            {\n                await InsertDataByQueryHistory();\n            }\n            else\n            {\n                await InsertDataByQuerySummary();\n            }\n\n            // test\n            UsingDbContext(c =>\n            {\n                c.QueryHistories.Should().HaveCount(1);\n                c.QueryWorkerHistories.Should().HaveCount(1);\n                c.QuerySummaries.Should().HaveCount(1);\n                c.UsernameInCrawler.Should().HaveCount(1);\n\n                var queryHistory = c.QueryHistories.Single();\n                var querySummary = c.QuerySummaries.Single();\n                var queryCrawlerSummary = c.QueryCrawlerSummaries.Single();\n                var queryWorkerHistory = c.QueryWorkerHistories.Single();\n\n                querySummary.QueryHistoryId.Should().Be(queryHistory.Id);\n                queryCrawlerSummary.QuerySummaryId.Should().Be(querySummary.Id);\n                queryWorkerHistory.QueryHistoryId.Should().Be(queryHistory.Id);\n\n                queryWorkerHistory.SolvedList.Should().BeNull();\n                queryWorkerHistory.SubmissionsByCrawlerName.Should().BeNull();\n            });\n        }\n\n        [Fact]\n        public async Task WhenDeleteQuerySummary_ShouldNotDeleteQueryHistory()\n        {\n            // arrange\n            await InsertDataByQuerySummary();\n\n            // act\n            UsingDbContext(c =>\n            {\n                var summary = c.QuerySummaries.Single();\n                c.QuerySummaries.Remove(summary);\n            });\n\n            // assert\n            UsingDbContext(c =>\n            {\n                c.QueryWorkerHistories.Should().HaveCount(1);\n                c.QueryHistories.Should().HaveCount(1);\n                c.QuerySummaries.Should().HaveCount(0);\n                c.UsernameInCrawler.Should().HaveCount(0);\n            });\n        }\n\n        [Fact]\n        public async Task WhenDeleteQueryHistory_ShouldDeleteQuerySummary()\n        {\n            // arrange\n            await InsertDataByQuerySummary();\n\n            // act\n            UsingDbContext(c =>\n            {\n                var history = c.QueryHistories.Single();\n                c.QueryHistories.Remove(history);\n            });\n\n            // assert\n            UsingDbContext(c =>\n            {\n                c.QueryWorkerHistories.Should().HaveCount(0);\n                c.QueryHistories.Should().HaveCount(0);\n                c.QuerySummaries.Should().HaveCount(0);\n                c.UsernameInCrawler.Should().HaveCount(0);\n            });\n        }\n\n        [Fact]\n        public async Task WhenDeletingUser_ShouldDeleteHistoriesAndSummaries()\n        {\n            // arrange\n            var user = await UsingDbContextAsync(async c =>\n                await _userRegistrationManager.RegisterAsync(\n                    \"user1\", \"123qwe\"));\n            await InsertDataByQuerySummary(user.Id);\n\n            LoginAsDefaultTenant(\"user1\");\n\n            // act\n            await UsingDbContextAsync(async c => { await _userManager.DeleteAsync(user); });\n\n            // assert\n            UsingDbContext(c =>\n            {\n                c.QueryWorkerHistories.Should().HaveCount(0);\n                c.QueryHistories.Should().HaveCount(0);\n                c.QuerySummaries.Should().HaveCount(0);\n                c.UsernameInCrawler.Should().HaveCount(0);\n            });\n        }\n    }\n}\n"
  },
  {
    "path": "backend/test/AcmStatisticsBackend.Tests/Crawlers/SummaryGenerator_Tests.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing Abp.UI;\nusing AcmStatisticsBackend.Crawlers;\nusing AcmStatisticsBackend.ServiceClients;\nusing FluentAssertions;\nusing Xunit;\n\nnamespace AcmStatisticsBackend.Tests.Crawlers\n{\n    public class SummaryGenerator_Tests\n    {\n        private readonly CrawlerMetaItem[] _crawlerMeta;\n        private readonly SummaryGenerator _summaryGenerator;\n\n        public SummaryGenerator_Tests()\n        {\n            var testClockProvider = new TestClockProvider();\n            testClockProvider.Now = new DateTime(2020, 4, 1);\n\n            _summaryGenerator = new SummaryGenerator(testClockProvider);\n\n            _crawlerMeta = new[]\n            {\n                new CrawlerMetaItem\n                {\n                    CrawlerName = \"cr1\",\n                    CrawlerTitle = \"Cr1\",\n                    Url = \"\",\n                    CrawlerDescription = \"\",\n                    IsVirtualJudge = false,\n                },\n                new CrawlerMetaItem\n                {\n                    CrawlerName = \"cr2\",\n                    CrawlerTitle = \"Cr2\",\n                    Url = \"\",\n                    CrawlerDescription = \"\",\n                    IsVirtualJudge = false,\n                },\n                new CrawlerMetaItem\n                {\n                    CrawlerName = \"cr3\",\n                    CrawlerTitle = \"Cr3\",\n                    Url = \"\",\n                    CrawlerDescription = \"\",\n                    IsVirtualJudge = true,\n                },\n                new CrawlerMetaItem\n                {\n                    CrawlerName = \"cr4\",\n                    CrawlerTitle = \"Cr4\",\n                    Url = \"\",\n                    CrawlerDescription = \"\",\n                    IsVirtualJudge = true,\n                },\n            };\n        }\n\n        [Fact]\n        public void It_ShouldHaveGenerateTime()\n        {\n            // arrange\n            var histories = new[]\n            {\n                new QueryWorkerHistory\n                {\n                    CrawlerName = \"cr1\",\n                    Solved = 1,\n                    Submission = 3,\n                    Username = \"u1\",\n                },\n            };\n\n            // act\n            var result = _summaryGenerator.Generate(\n                _crawlerMeta,\n                histories);\n\n            // assert\n            result.GenerateTime.Should().Be(new DateTime(2020, 4, 1));\n        }\n\n        [Fact]\n        public void WithoutSolvedList_ShouldGenerateWarning()\n        {\n            // arrange\n            var histories = new[]\n            {\n                new QueryWorkerHistory\n                {\n                    CrawlerName = \"cr1\",\n                    Solved = 1,\n                    Submission = 3,\n                    Username = \"u1\",\n                },\n                new QueryWorkerHistory\n                {\n                    CrawlerName = \"cr2\",\n                    Solved = 2,\n                    Submission = 5,\n                    Username = \"u2\",\n                },\n            };\n\n            // act\n            var result = _summaryGenerator.Generate(\n                _crawlerMeta,\n                histories);\n\n            // assert\n            result.Solved.Should().Be(3);\n            result.Submission.Should().Be(8);\n            result.SummaryWarnings.Should().BeEquivalentTo(new List<SummaryWarning>\n            {\n                new SummaryWarning(\"cr1\",\n                    \"This crawler does not have a solved list and \" +\n                    \"its result will be directly added to summary.\"),\n                new SummaryWarning(\"cr2\",\n                    \"This crawler does not have a solved list and \" +\n                    \"its result will be directly added to summary.\"),\n            });\n\n            result.QueryCrawlerSummaries.Should().BeEquivalentTo(new List<QueryCrawlerSummary>\n            {\n                new QueryCrawlerSummary\n                {\n                    CrawlerName = \"cr1\",\n                    IsVirtualJudge = false,\n                    Solved = 1,\n                    Submission = 3,\n                    Usernames = new List<UsernameInCrawler>\n                    {\n                        new UsernameInCrawler\n                        {\n                            Username = \"u1\",\n                        },\n                    },\n                },\n                new QueryCrawlerSummary\n                {\n                    CrawlerName = \"cr2\",\n                    IsVirtualJudge = false,\n                    Solved = 2,\n                    Submission = 5,\n                    Usernames = new List<UsernameInCrawler>\n                    {\n                        new UsernameInCrawler\n                        {\n                            Username = \"u2\",\n                        },\n                    },\n                },\n            });\n        }\n\n        [Fact]\n        public void VirtualJudgeWithoutSolvedList_ShouldThrow()\n        {\n            var histories = new[]\n            {\n                new QueryWorkerHistory\n                {\n                    CrawlerName = \"cr3\",\n                    Solved = 3,\n                    Submission = 10,\n                    IsVirtualJudge = true,\n                },\n            };\n\n            FluentActions.Invoking(() =>\n                    _summaryGenerator.Generate(_crawlerMeta, histories))\n                .Should().Throw<UserFriendlyException>()\n                .WithMessage(\"Virtual judge Cr3 should have a solved list.\");\n        }\n\n        [Theory]\n        [InlineData(\"cr3\", false, \"According to crawler meta, the type of crawler Cr3 should be a virtual judge.\")]\n        [InlineData(\"cr1\", true, \"According to crawler meta, the type of crawler Cr1 should not be a virtual judge.\")]\n        public void WhenWorkerNotMatchCrawlerMeta_ShouldThrow(\n            string crawlerName,\n            bool isVirtualJudge,\n            string exceptionMessage)\n        {\n            var histories = new[]\n            {\n                new QueryWorkerHistory\n                {\n                    CrawlerName = crawlerName,\n                    Solved = 1,\n                    Submission = 10,\n                    IsVirtualJudge = isVirtualJudge,\n                    SolvedList = new[]\n                    {\n                        \"moj-1001\",\n                    },\n                },\n            };\n\n            FluentActions.Invoking(() =>\n                    _summaryGenerator.Generate(_crawlerMeta, histories))\n                .Should().Throw<UserFriendlyException>()\n                .WithMessage(exceptionMessage);\n        }\n\n        [Fact]\n        public void WhenWorkerDoesNotExistInMeta_ShouldThrow()\n        {\n            var histories = new[]\n            {\n                new QueryWorkerHistory\n                {\n                    Submission = 1,\n                    Solved = 1,\n                    Username = \"u5\",\n                    CrawlerName = \"cr5\",\n                    IsVirtualJudge = false,\n                },\n            };\n\n            FluentActions.Invoking(() =>\n                    _summaryGenerator.Generate(_crawlerMeta, histories))\n                .Should().Throw<UserFriendlyException>()\n                .WithMessage(\"The meta data of crawler cr5 does not exist.\");\n        }\n\n        [Fact]\n        public void LocalJudgeWithSolvedList_ShouldWork()\n        {\n            // arrange\n            var histories = new[]\n            {\n                new QueryWorkerHistory\n                {\n                    CrawlerName = \"cr1\",\n                    Solved = 1,\n                    Submission = 3,\n                    Username = \"u1\",\n                    SolvedList = new[]\n                    {\n                        \"1001\",\n                    },\n                },\n                new QueryWorkerHistory\n                {\n                    CrawlerName = \"cr2\",\n                    Solved = 2,\n                    Submission = 5,\n                    Username = \"u2\",\n                    SolvedList = new[]\n                    {\n                        \"1001\",\n                        \"1002\",\n                    },\n                },\n            };\n\n            // act\n            var result = _summaryGenerator.Generate(\n                _crawlerMeta,\n                histories);\n\n            // assert\n            result.Solved.Should().Be(3);\n            result.Submission.Should().Be(8);\n            result.SummaryWarnings.Should().HaveCount(0);\n\n            result.QueryCrawlerSummaries.Should().BeEquivalentTo(new List<QueryCrawlerSummary>\n            {\n                new QueryCrawlerSummary\n                {\n                    CrawlerName = \"cr1\",\n                    IsVirtualJudge = false,\n                    Solved = 1,\n                    Submission = 3,\n                    Usernames = new List<UsernameInCrawler>\n                    {\n                        new UsernameInCrawler\n                        {\n                            Username = \"u1\",\n                        },\n                    },\n                },\n                new QueryCrawlerSummary\n                {\n                    CrawlerName = \"cr2\",\n                    IsVirtualJudge = false,\n                    Solved = 2,\n                    Submission = 5,\n                    Usernames = new List<UsernameInCrawler>\n                    {\n                        new UsernameInCrawler\n                        {\n                            Username = \"u2\",\n                        },\n                    },\n                },\n            });\n        }\n\n        [Theory]\n        [InlineData(\n            new[] { \"1001\", },\n            new[] { \"1001\", \"1002\", },\n            2)]\n        [InlineData(\n            new[] { \"1001\", \"1005\", },\n            new[] { \"1001\", \"1002\", },\n            3)]\n        [InlineData(\n            new[] { \"1003\", \"1005\", },\n            new[] { \"1001\", \"1002\", },\n            4)]\n        [InlineData(\n            new[] { \"1001\", \"1002\", },\n            new[] { \"1001\", \"1002\", },\n            2)]\n        public void DifferentWorkerOfTheSameCrawler_ShouldMergeTheirSolvedList(string[] set1, string[] set2, int solved)\n        {\n            // arrange\n            var histories = new[]\n            {\n                new QueryWorkerHistory\n                {\n                    CrawlerName = \"cr1\",\n                    Solved = set1.Length,\n                    Submission = 20,\n                    Username = \"u1\",\n                    SolvedList = set1,\n                },\n                new QueryWorkerHistory\n                {\n                    CrawlerName = \"cr1\",\n                    Solved = set2.Length,\n                    Submission = 30,\n                    Username = \"u2\",\n                    SolvedList = set2,\n                },\n            };\n\n            // act\n            var result = _summaryGenerator.Generate(\n                _crawlerMeta,\n                histories);\n\n            // assert\n            result.Solved.Should().Be(solved);\n            result.Submission.Should().Be(50);\n            result.SummaryWarnings.Should().HaveCount(0);\n\n            result.QueryCrawlerSummaries.Should().BeEquivalentTo(new List<QueryCrawlerSummary>\n            {\n                new QueryCrawlerSummary\n                {\n                    CrawlerName = \"cr1\",\n                    IsVirtualJudge = false,\n                    Solved = solved,\n                    Submission = 50,\n                    Usernames = new List<UsernameInCrawler>\n                    {\n                        new UsernameInCrawler\n                        {\n                            Username = \"u1\",\n                        },\n                        new UsernameInCrawler\n                        {\n                            Username = \"u2\",\n                        },\n                    },\n                },\n            });\n        }\n\n        [Fact]\n        public void DifferentWorkerOfTheSameCrawler_WhenOnlySomeWorkerDoNotHaveSolvedList_ShouldThrow()\n        {\n            // arrange\n            var histories = new[]\n            {\n                new QueryWorkerHistory\n                {\n                    CrawlerName = \"cr1\",\n                    Solved = 1,\n                    Submission = 3,\n                    Username = \"u1\",\n                    SolvedList = new[]\n                    {\n                        \"1001\",\n                    },\n                },\n                new QueryWorkerHistory\n                {\n                    CrawlerName = \"cr1\",\n                    Solved = 2,\n                    Submission = 5,\n                    Username = \"u2\",\n                    SolvedList = new[]\n                    {\n                        \"1001\",\n                        \"1002\",\n                    },\n                },\n                new QueryWorkerHistory\n                {\n                    CrawlerName = \"cr1\",\n                    Solved = 10,\n                    Submission = 10,\n                    Username = \"u3\",\n                },\n            };\n\n            // act\n            var call = FluentActions.Invoking(() => _summaryGenerator.Generate(\n                _crawlerMeta,\n                histories));\n\n            // assert\n            call.Should().Throw<UserFriendlyException>()\n                .WithMessage(\"All workers of crawler Cr1 must have solved list!\");\n        }\n\n        [Fact]\n        public void WorkerCrawlerExistsInVirtualJudge_WhenBothHaveSolvedList_ShouldMergeResult()\n        {\n            // arrange\n            var histories = new[]\n            {\n                new QueryWorkerHistory\n                {\n                    CrawlerName = \"cr1\",\n                    Solved = 1,\n                    Submission = 3,\n                    Username = \"u1\",\n                    SolvedList = new[]\n                    {\n                        \"1001\",\n                    },\n                },\n                new QueryWorkerHistory\n                {\n                    CrawlerName = \"cr3\",\n                    IsVirtualJudge = true,\n                    Solved = 3,\n                    Submission = 15,\n                    Username = \"u2\",\n                    SolvedList = new[]\n                    {\n                        \"cr1-1001\",\n                        \"cr1-1002\",\n                        \"cr2-2001\",\n                    },\n                    SubmissionsByCrawlerName = new Dictionary<string, int>\n                    {\n                        { \"cr1\", 5 },\n                        { \"cr2\", 10 },\n                    },\n                },\n            };\n\n            // act\n            var result = _summaryGenerator.Generate(\n                _crawlerMeta,\n                histories);\n\n            // assert\n            result.Solved.Should().Be(3);\n            result.Submission.Should().Be(18);\n            result.SummaryWarnings.Should().HaveCount(0);\n\n            result.QueryCrawlerSummaries.Should().BeEquivalentTo(new List<QueryCrawlerSummary>\n            {\n                new QueryCrawlerSummary\n                {\n                    CrawlerName = \"cr1\",\n                    IsVirtualJudge = false,\n                    Solved = 2,\n                    Submission = 8,\n                    Usernames = new List<UsernameInCrawler>\n                    {\n                        new UsernameInCrawler\n                        {\n                            Username = \"u1\",\n                        },\n                        new UsernameInCrawler\n                        {\n                            FromCrawlerName = \"cr3\",\n                            Username = \"u2\",\n                        },\n                    },\n                },\n                new QueryCrawlerSummary\n                {\n                    CrawlerName = \"cr2\",\n                    IsVirtualJudge = false,\n                    Solved = 1,\n                    Submission = 10,\n                    Usernames = new List<UsernameInCrawler>\n                    {\n                        new UsernameInCrawler\n                        {\n                            FromCrawlerName = \"cr3\",\n                            Username = \"u2\",\n                        },\n                    },\n                },\n            });\n        }\n\n        [Fact]\n        public void WorkerCrawlerExistsInVirtualJudge_WhenCrawlerNotHaveSolvedList_ShouldGenerateWarning_AndAddResult()\n        {\n            // arrange\n            var histories = new[]\n            {\n                new QueryWorkerHistory\n                {\n                    CrawlerName = \"cr1\",\n                    Solved = 1,\n                    Submission = 3,\n                    Username = \"u1\",\n                },\n                new QueryWorkerHistory\n                {\n                    CrawlerName = \"cr3\",\n                    IsVirtualJudge = true,\n                    Solved = 3,\n                    Submission = 15,\n                    Username = \"u2\",\n                    SolvedList = new[]\n                    {\n                        \"cr1-1001\",\n                        \"cr1-1002\",\n                        \"cr2-2001\",\n                    },\n                    SubmissionsByCrawlerName = new Dictionary<string, int>\n                    {\n                        { \"cr1\", 5 },\n                        { \"cr2\", 10 },\n                    },\n                },\n            };\n\n            // act\n            var result = _summaryGenerator.Generate(\n                _crawlerMeta,\n                histories);\n\n            // assert\n            result.Solved.Should().Be(4);\n            result.Submission.Should().Be(18);\n            result.SummaryWarnings.Should().BeEquivalentTo(new List<SummaryWarning>\n            {\n                new SummaryWarning(\"cr1\",\n                    \"This crawler does not have a solved list and \" +\n                    \"its result will be directly added to summary.\"),\n            });\n\n            result.QueryCrawlerSummaries.Should().BeEquivalentTo(new List<QueryCrawlerSummary>\n            {\n                new QueryCrawlerSummary\n                {\n                    CrawlerName = \"cr1\",\n                    IsVirtualJudge = false,\n                    Solved = 3,\n                    Submission = 8,\n                    Usernames = new List<UsernameInCrawler>\n                    {\n                        new UsernameInCrawler\n                        {\n                            Username = \"u1\",\n                        },\n                        new UsernameInCrawler\n                        {\n                            FromCrawlerName = \"cr3\",\n                            Username = \"u2\",\n                        },\n                    },\n                },\n                new QueryCrawlerSummary\n                {\n                    CrawlerName = \"cr2\",\n                    IsVirtualJudge = false,\n                    Solved = 1,\n                    Submission = 10,\n                    Usernames = new List<UsernameInCrawler>\n                    {\n                        new UsernameInCrawler\n                        {\n                            FromCrawlerName = \"cr3\",\n                            Username = \"u2\",\n                        },\n                    },\n                },\n            });\n        }\n\n        [Fact]\n        public void WhenSolvedNotMatchSolvedList_ShouldUseResultOfSolvedList()\n        {\n            // arrange\n            var histories = new[]\n            {\n                new QueryWorkerHistory\n                {\n                    CrawlerName = \"cr1\",\n                    Solved = 2,\n                    Submission = 3,\n                    Username = \"u1\",\n                    SolvedList = new[]\n                    {\n                        \"1001\",\n                    },\n                },\n            };\n\n            // act\n            var result = _summaryGenerator.Generate(\n                _crawlerMeta,\n                histories);\n\n            // assert\n            result.Solved.Should().Be(1);\n            result.Submission.Should().Be(3);\n            // result.SummaryWarnings.Should().BeEquivalentTo(new List<SummaryWarning>\n            // {\n            //     new SummaryWarning(\"cr1\",\n            //         \"The solved number of this crawler is 2, however, there are 1\" +\n            //         \" problems in the solved list, which can be an error of the crawler.\"),\n            // });\n            result.SummaryWarnings.Should().HaveCount(0);\n\n            result.QueryCrawlerSummaries.Should().BeEquivalentTo(new List<QueryCrawlerSummary>\n            {\n                new QueryCrawlerSummary\n                {\n                    CrawlerName = \"cr1\",\n                    IsVirtualJudge = false,\n                    Solved = 1,\n                    Submission = 3,\n                    Usernames = new List<UsernameInCrawler>\n                    {\n                        new UsernameInCrawler\n                        {\n                            Username = \"u1\",\n                        },\n                    },\n                },\n            });\n        }\n\n        [Fact]\n        public void VirtualJudge_WhenSolvedNotMatchSolvedList_ShouldUseResultOfSolvedList()\n        {\n            // arrange\n            var histories = new[]\n            {\n                new QueryWorkerHistory\n                {\n                    CrawlerName = \"cr3\",\n                    IsVirtualJudge = true,\n                    Solved = 2,\n                    Submission = 5,\n                    Username = \"u1\",\n                    SolvedList = new[]\n                    {\n                        \"cr1-1001\",\n                    },\n                    SubmissionsByCrawlerName = new Dictionary<string, int>\n                    {\n                        { \"cr1\", 1 },\n                        { \"cr2\", 4 },\n                    },\n                },\n            };\n\n            // act\n            var result = _summaryGenerator.Generate(\n                _crawlerMeta,\n                histories);\n\n            // assert\n            result.Solved.Should().Be(1);\n            result.Submission.Should().Be(5);\n            // result.SummaryWarnings.Should().BeEquivalentTo(new List<SummaryWarning>\n            // {\n            //     new SummaryWarning(\"cr3\",\n            //         \"The solved number of this crawler is 2, however, there are 1\" +\n            //         \" problems in the solved list. Only \"),\n            // });\n            result.SummaryWarnings.Should().HaveCount(0);\n\n            result.QueryCrawlerSummaries.Should().BeEquivalentTo(new List<QueryCrawlerSummary>\n            {\n                new QueryCrawlerSummary\n                {\n                    CrawlerName = \"cr1\",\n                    IsVirtualJudge = false,\n                    Solved = 1,\n                    Submission = 1,\n                    Usernames = new List<UsernameInCrawler>\n                    {\n                        new UsernameInCrawler\n                        {\n                            FromCrawlerName = \"cr3\",\n                            Username = \"u1\",\n                        },\n                    },\n                },\n                new QueryCrawlerSummary\n                {\n                    CrawlerName = \"cr2\",\n                    IsVirtualJudge = false,\n                    Solved = 0,\n                    Submission = 4,\n                    Usernames = new List<UsernameInCrawler>\n                    {\n                        new UsernameInCrawler\n                        {\n                            FromCrawlerName = \"cr3\",\n                            Username = \"u1\",\n                        },\n                    },\n                },\n            });\n        }\n\n        [Fact]\n        public void VirtualJudge_WhenAllSolvedListsMerged_ShouldNotExistInSummary()\n        {\n            // arrange\n            var histories = new[]\n            {\n                new QueryWorkerHistory\n                {\n                    CrawlerName = \"cr3\",\n                    IsVirtualJudge = true,\n                    Solved = 1,\n                    Submission = 15,\n                    Username = \"u1\",\n                    SolvedList = new[]\n                    {\n                        \"cr1-1001\",\n                    },\n                    SubmissionsByCrawlerName = new Dictionary<string, int>\n                    {\n                        { \"cr1\", 5 },\n                        { \"cr2\", 10 },\n                    },\n                },\n            };\n\n            // act\n            var result = _summaryGenerator.Generate(\n                _crawlerMeta,\n                histories);\n\n            // assert\n            result.Solved.Should().Be(1);\n            result.Submission.Should().Be(15);\n            result.SummaryWarnings.Should().HaveCount(0);\n\n            result.QueryCrawlerSummaries.Should().BeEquivalentTo(new List<QueryCrawlerSummary>\n            {\n                new QueryCrawlerSummary\n                {\n                    CrawlerName = \"cr1\",\n                    IsVirtualJudge = false,\n                    Solved = 1,\n                    Submission = 5,\n                    Usernames = new List<UsernameInCrawler>\n                    {\n                        new UsernameInCrawler\n                        {\n                            FromCrawlerName = \"cr3\",\n                            Username = \"u1\",\n                        },\n                    },\n                },\n                new QueryCrawlerSummary\n                {\n                    CrawlerName = \"cr2\",\n                    IsVirtualJudge = false,\n                    Solved = 0,\n                    Submission = 10,\n                    Usernames = new List<UsernameInCrawler>\n                    {\n                        new UsernameInCrawler\n                        {\n                            FromCrawlerName = \"cr3\",\n                            Username = \"u1\",\n                        },\n                    },\n                },\n            });\n        }\n\n        [Fact]\n        public void VirtualJudge_WhenSomeSolvedListsNotMerged_ShouldExistInSummary()\n        {\n            // arrange\n            var histories = new[]\n            {\n                new QueryWorkerHistory\n                {\n                    CrawlerName = \"cr3\",\n                    IsVirtualJudge = true,\n                    Solved = 1,\n                    Submission = 15,\n                    Username = \"u1\",\n                    SolvedList = new[]\n                    {\n                        \"NN-1001\",\n                    },\n                    SubmissionsByCrawlerName = new Dictionary<string, int>\n                    {\n                        { \"cr1\", 5 },\n                        { \"NN\", 10 },\n                    },\n                },\n            };\n\n            // act\n            var result = _summaryGenerator.Generate(\n                _crawlerMeta,\n                histories);\n\n            // assert\n            result.Solved.Should().Be(1);\n            result.Submission.Should().Be(15);\n            result.SummaryWarnings.Should().HaveCount(0);\n\n            result.QueryCrawlerSummaries.Should().BeEquivalentTo(new List<QueryCrawlerSummary>\n            {\n                new QueryCrawlerSummary\n                {\n                    CrawlerName = \"cr1\",\n                    IsVirtualJudge = false,\n                    Solved = 0,\n                    Submission = 5,\n                    Usernames = new List<UsernameInCrawler>\n                    {\n                        new UsernameInCrawler\n                        {\n                            FromCrawlerName = \"cr3\",\n                            Username = \"u1\",\n                        },\n                    },\n                },\n                new QueryCrawlerSummary\n                {\n                    CrawlerName = \"cr3\",\n                    IsVirtualJudge = true,\n                    Solved = 1,\n                    Submission = 10,\n                    Usernames = new List<UsernameInCrawler>\n                    {\n                        new UsernameInCrawler\n                        {\n                            Username = \"u1\",\n                        },\n                    },\n                },\n            });\n        }\n\n        [Fact]\n        public void VirtualJudge_WhenSubmissionByCrawlerIsNotInCrawlerMeta_ShouldAddToVirtualJudge()\n        {\n            // arrange\n            var histories = new[]\n            {\n                new QueryWorkerHistory\n                {\n                    CrawlerName = \"cr3\",\n                    IsVirtualJudge = true,\n                    Solved = 1,\n                    Submission = 10,\n                    Username = \"u1\",\n                    SolvedList = new[]\n                    {\n                        \"NN-1001\",\n                    },\n                    SubmissionsByCrawlerName = new Dictionary<string, int>\n                    {\n                        { \"NN\", 10 },\n                    },\n                },\n            };\n\n            // act\n            var result = _summaryGenerator.Generate(\n                _crawlerMeta,\n                histories);\n\n            // assert\n            result.Solved.Should().Be(1);\n            result.Submission.Should().Be(10);\n            result.SummaryWarnings.Should().HaveCount(0);\n\n            result.QueryCrawlerSummaries.Should().BeEquivalentTo(new List<QueryCrawlerSummary>\n            {\n                new QueryCrawlerSummary\n                {\n                    CrawlerName = \"cr3\",\n                    IsVirtualJudge = true,\n                    Solved = 1,\n                    Submission = 10,\n                    Usernames = new List<UsernameInCrawler>\n                    {\n                        new UsernameInCrawler\n                        {\n                            Username = \"u1\",\n                        },\n                    },\n                },\n            });\n        }\n\n        [Fact]\n        public void\n            VirtualJudge_WhenSubmissionNotMatchSubmissionByCrawler_ShouldGenerateWarning_AndUseSubmissionByCrawler()\n        {\n            // arrange\n            var histories = new[]\n            {\n                new QueryWorkerHistory\n                {\n                    CrawlerName = \"cr3\",\n                    IsVirtualJudge = true,\n                    Solved = 0,\n                    Submission = 1,\n                    Username = \"u1\",\n                    SolvedList = new string[]\n                    {\n                    },\n                    SubmissionsByCrawlerName = new Dictionary<string, int>\n                    {\n                        { \"NN\", 10 },\n                    },\n                },\n            };\n\n            // act\n            var result = _summaryGenerator.Generate(\n                _crawlerMeta,\n                histories);\n\n            // assert\n            result.Solved.Should().Be(0);\n            result.Submission.Should().Be(10);\n            result.SummaryWarnings.Should().BeEquivalentTo(new List<SummaryWarning>\n            {\n                new SummaryWarning(\"cr3\",\n                    \"submissionByCrawler field of this crawler does not match its submission field, \" +\n                    \"and only results in submissionByCrawler are used.\"),\n            });\n\n            result.QueryCrawlerSummaries.Should().BeEquivalentTo(new List<QueryCrawlerSummary>\n            {\n                new QueryCrawlerSummary\n                {\n                    CrawlerName = \"cr3\",\n                    IsVirtualJudge = true,\n                    Solved = 0,\n                    Submission = 10,\n                    Usernames = new List<UsernameInCrawler>\n                    {\n                        new UsernameInCrawler\n                        {\n                            Username = \"u1\",\n                        },\n                    },\n                },\n            });\n        }\n\n        [Fact]\n        public void VirtualJudge_WhenItHasLocalJudge_ShouldWorkAsLocalJudge()\n        {\n            // arrange\n            var histories = new[]\n            {\n                new QueryWorkerHistory\n                {\n                    CrawlerName = \"cr3\",\n                    IsVirtualJudge = true,\n                    Solved = 1,\n                    Submission = 20,\n                    Username = \"u1\",\n                    SolvedList = new[]\n                    {\n                        \"cr3-1001\",\n                    },\n                    SubmissionsByCrawlerName = new Dictionary<string, int>\n                    {\n                        { \"cr3\", 20 },\n                    },\n                },\n            };\n\n            // act\n            var result = _summaryGenerator.Generate(\n                _crawlerMeta,\n                histories);\n\n            // assert\n            result.Solved.Should().Be(1);\n            result.Submission.Should().Be(20);\n            result.SummaryWarnings.Should().HaveCount(0);\n\n            result.QueryCrawlerSummaries.Should().BeEquivalentTo(new List<QueryCrawlerSummary>\n            {\n                new QueryCrawlerSummary\n                {\n                    CrawlerName = \"cr3\",\n                    IsVirtualJudge = false,\n                    Solved = 1,\n                    Submission = 20,\n                    Usernames = new List<UsernameInCrawler>\n                    {\n                        new UsernameInCrawler\n                        {\n                            Username = \"u1\",\n                        },\n                    },\n                },\n            });\n        }\n\n        [Fact]\n        public void VirtualJudge_WhenItHasLocalJudge_AndProvidedByAnotherVj_ShouldWorkAsLocalJudge()\n        {\n            // arrange\n            var histories = new[]\n            {\n                new QueryWorkerHistory\n                {\n                    CrawlerName = \"cr3\",\n                    IsVirtualJudge = true,\n                    Solved = 1,\n                    Submission = 20,\n                    Username = \"u1\",\n                    SolvedList = new[]\n                    {\n                        \"cr3-1001\",\n                    },\n                    SubmissionsByCrawlerName = new Dictionary<string, int>\n                    {\n                        { \"cr3\", 20 },\n                    },\n                },\n                new QueryWorkerHistory\n                {\n                    CrawlerName = \"cr4\",\n                    IsVirtualJudge = true,\n                    Solved = 2,\n                    Submission = 20,\n                    Username = \"u2\",\n                    SolvedList = new[]\n                    {\n                        \"cr3-1001\",\n                        \"cr3-1002\",\n                    },\n                    SubmissionsByCrawlerName = new Dictionary<string, int>\n                    {\n                        { \"cr3\", 20 },\n                    },\n                },\n            };\n\n            // act\n            var result = _summaryGenerator.Generate(\n                _crawlerMeta,\n                histories);\n\n            // assert\n            result.Solved.Should().Be(2);\n            result.Submission.Should().Be(40);\n            result.SummaryWarnings.Should().HaveCount(0);\n\n            result.QueryCrawlerSummaries.Should().BeEquivalentTo(new List<QueryCrawlerSummary>\n            {\n                new QueryCrawlerSummary\n                {\n                    CrawlerName = \"cr3\",\n                    IsVirtualJudge = false,\n                    Solved = 2,\n                    Submission = 40,\n                    Usernames = new List<UsernameInCrawler>\n                    {\n                        new UsernameInCrawler\n                        {\n                            Username = \"u1\",\n                        },\n                        new UsernameInCrawler\n                        {\n                            Username = \"u2\",\n                            FromCrawlerName = \"cr4\",\n                        },\n                    },\n                },\n            });\n        }\n\n        [Fact]\n        public void VirtualJudge_WhenItHasLocalJudge_AndListNotMerged_ShouldOutputTwoSummary()\n        {\n            // arrange\n            var histories = new[]\n            {\n                new QueryWorkerHistory\n                {\n                    CrawlerName = \"cr3\",\n                    IsVirtualJudge = true,\n                    Solved = 1,\n                    Submission = 35,\n                    Username = \"u1\",\n                    SolvedList = new[]\n                    {\n                        \"NN-1001\",\n                        \"cr1-1001\",\n                        \"cr3-1001\",\n                    },\n                    SubmissionsByCrawlerName = new Dictionary<string, int>\n                    {\n                        { \"cr1\", 5 },\n                        { \"NN\", 10 },\n                        { \"cr3\", 20 },\n                    },\n                },\n            };\n\n            // act\n            var result = _summaryGenerator.Generate(\n                _crawlerMeta,\n                histories);\n\n            // assert\n            result.Solved.Should().Be(3);\n            result.Submission.Should().Be(35);\n            result.SummaryWarnings.Should().HaveCount(0);\n\n            result.QueryCrawlerSummaries.Should().BeEquivalentTo(new List<QueryCrawlerSummary>\n            {\n                new QueryCrawlerSummary\n                {\n                    CrawlerName = \"cr1\",\n                    IsVirtualJudge = false,\n                    Solved = 1,\n                    Submission = 5,\n                    Usernames = new List<UsernameInCrawler>\n                    {\n                        new UsernameInCrawler\n                        {\n                            FromCrawlerName = \"cr3\",\n                            Username = \"u1\",\n                        },\n                    },\n                },\n                // cr3 should has 2 crawler summary\n                // as local judge and virtual judge, separately\n                new QueryCrawlerSummary\n                {\n                    CrawlerName = \"cr3\",\n                    IsVirtualJudge = true,\n                    Solved = 1,\n                    Submission = 10,\n                    Usernames = new List<UsernameInCrawler>\n                    {\n                        new UsernameInCrawler\n                        {\n                            Username = \"u1\",\n                        },\n                    },\n                },\n                new QueryCrawlerSummary\n                {\n                    CrawlerName = \"cr3\",\n                    IsVirtualJudge = false,\n                    Solved = 1,\n                    Submission = 20,\n                    Usernames = new List<UsernameInCrawler>\n                    {\n                        new UsernameInCrawler\n                        {\n                            Username = \"u1\",\n                        },\n                    },\n                },\n            });\n        }\n\n        [Fact]\n        public void VirtualJudge_WhenItHasLocalJudge_CanOutputTwoDifferentUsernames()\n        {\n            // arrange\n            var histories = new[]\n            {\n                new QueryWorkerHistory\n                {\n                    CrawlerName = \"cr3\",\n                    IsVirtualJudge = true,\n                    Solved = 1,\n                    Submission = 35,\n                    Username = \"u1\",\n                    SolvedList = new[]\n                    {\n                        \"NN-1001\",\n                        \"cr1-1001\",\n                        \"cr3-1001\",\n                    },\n                    SubmissionsByCrawlerName = new Dictionary<string, int>\n                    {\n                        { \"cr1\", 5 },\n                        { \"NN\", 10 },\n                        { \"cr3\", 20 },\n                    },\n                },\n                new QueryWorkerHistory\n                {\n                    CrawlerName = \"cr4\",\n                    IsVirtualJudge = true,\n                    Solved = 2,\n                    Submission = 20,\n                    Username = \"u2\",\n                    SolvedList = new[]\n                    {\n                        \"cr3-1001\",\n                        \"cr3-1002\",\n                    },\n                    SubmissionsByCrawlerName = new Dictionary<string, int>\n                    {\n                        { \"cr3\", 20 },\n                    },\n                },\n            };\n\n            // act\n            var result = _summaryGenerator.Generate(\n                _crawlerMeta,\n                histories);\n\n            // assert\n            result.Solved.Should().Be(4);\n            result.Submission.Should().Be(55);\n            result.SummaryWarnings.Should().HaveCount(0);\n\n            result.QueryCrawlerSummaries.Should().BeEquivalentTo(new List<QueryCrawlerSummary>\n            {\n                new QueryCrawlerSummary\n                {\n                    CrawlerName = \"cr1\",\n                    IsVirtualJudge = false,\n                    Solved = 1,\n                    Submission = 5,\n                    Usernames = new List<UsernameInCrawler>\n                    {\n                        new UsernameInCrawler\n                        {\n                            FromCrawlerName = \"cr3\",\n                            Username = \"u1\",\n                        },\n                    },\n                },\n                // cr3 should has 2 crawler summary\n                // as local judge and virtual judge, separately\n                new QueryCrawlerSummary\n                {\n                    CrawlerName = \"cr3\",\n                    IsVirtualJudge = true,\n                    Solved = 1,\n                    Submission = 10,\n                    Usernames = new List<UsernameInCrawler>\n                    {\n                        new UsernameInCrawler\n                        {\n                            Username = \"u1\",\n                        },\n                    },\n                },\n                new QueryCrawlerSummary\n                {\n                    CrawlerName = \"cr3\",\n                    IsVirtualJudge = false,\n                    Solved = 2,\n                    Submission = 40,\n                    Usernames = new List<UsernameInCrawler>\n                    {\n                        new UsernameInCrawler\n                        {\n                            Username = \"u1\",\n                        },\n                        new UsernameInCrawler\n                        {\n                            Username = \"u2\",\n                            FromCrawlerName = \"cr4\",\n                        },\n                    },\n                },\n            });\n        }\n\n        [Fact]\n        public void WhenInputErrorWorker_ShouldIgnore()\n        {\n            // arrange\n            var histories = new[]\n            {\n                new QueryWorkerHistory\n                {\n                    CrawlerName = \"cr1\",\n                    Solved = 1,\n                    Submission = 3,\n                    Username = \"u1\",\n                    SolvedList = new[]\n                    {\n                        \"1001\",\n                    },\n                },\n                new QueryWorkerHistory\n                {\n                    CrawlerName = \"cr3\",\n                    IsVirtualJudge = true,\n                    Username = \"u2\",\n                    ErrorMessage = \"An error occured\",\n                },\n            };\n\n            // act\n            var result = _summaryGenerator.Generate(\n                _crawlerMeta,\n                histories);\n\n            // assert\n            // assert\n            result.Solved.Should().Be(1);\n            result.Submission.Should().Be(3);\n            result.SummaryWarnings.Should().BeEmpty();\n\n            result.QueryCrawlerSummaries.Should().BeEquivalentTo(new List<QueryCrawlerSummary>\n            {\n                new QueryCrawlerSummary\n                {\n                    CrawlerName = \"cr1\",\n                    IsVirtualJudge = false,\n                    Solved = 1,\n                    Submission = 3,\n                    Usernames = new List<UsernameInCrawler>\n                    {\n                        new UsernameInCrawler\n                        {\n                            Username = \"u1\",\n                        },\n                    },\n                },\n            });\n        }\n    }\n}\n"
  },
  {
    "path": "backend/test/AcmStatisticsBackend.Tests/DependencyInjection/ServiceCollectionRegistrar.cs",
    "content": "﻿using System;\nusing Abp.Dependency;\nusing AcmStatisticsBackend.EntityFrameworkCore;\nusing AcmStatisticsBackend.Identity;\nusing Castle.MicroKernel.Registration;\nusing Castle.Windsor.MsDependencyInjection;\nusing Microsoft.Data.Sqlite;\nusing Microsoft.EntityFrameworkCore;\nusing Microsoft.Extensions.DependencyInjection;\n\nnamespace AcmStatisticsBackend.Tests.DependencyInjection\n{\n    public class ServiceCollectionRegistrar : IDisposable\n    {\n        private SqliteConnection _connection;\n\n        public void Register(IIocManager iocManager)\n        {\n            var services = new ServiceCollection();\n\n            IdentityRegistrar.Register(services);\n\n            services.AddEntityFrameworkSqlite();\n\n            var serviceProvider = WindsorRegistrationHelper.CreateServiceProvider(iocManager.IocContainer, services);\n\n            // In-memory database only exists while the connection is open\n            _connection = new SqliteConnection(\"DataSource=:memory:\");\n            _connection.Open();\n\n            var builder = new DbContextOptionsBuilder<AcmStatisticsBackendDbContext>();\n            builder.UseSqlite(_connection).UseInternalServiceProvider(serviceProvider);\n\n            iocManager.IocContainer.Register(\n                Component\n                    .For<DbContextOptions<AcmStatisticsBackendDbContext>>()\n                    .Instance(builder.Options)\n                    .LifestyleSingleton());\n        }\n\n        public void Dispose()\n        {\n            _connection?.Dispose();\n        }\n    }\n}\n"
  },
  {
    "path": "backend/test/AcmStatisticsBackend.Tests/DependencyInjection/TestClockProvider.cs",
    "content": "﻿using System;\nusing Abp.Timing;\n\nnamespace AcmStatisticsBackend.Tests\n{\n    /// <summary>\n    /// Used to mock time. When setting Now, its Kind will be set to UTC.\n    /// </summary>\n    public class TestClockProvider : IClockProvider\n    {\n        private DateTime _now;\n\n        public DateTime Normalize(DateTime dateTime)\n        {\n            return ClockProviders.Utc.Normalize(dateTime);\n        }\n\n        public DateTime Now\n        {\n            get => _now;\n            set => _now = DateTime.SpecifyKind(value, DateTimeKind.Utc);\n        }\n\n        public DateTimeKind Kind => DateTimeKind.Utc;\n\n        public bool SupportsMultipleTimezone => true;\n    }\n}\n"
  },
  {
    "path": "backend/test/AcmStatisticsBackend.Tests/DependencyInjection/TestCrawlerApiBackendClient.cs",
    "content": "﻿using System.Collections.Generic;\nusing System.Threading.Tasks;\nusing AcmStatisticsBackend.ServiceClients;\n\nnamespace AcmStatisticsBackend.Tests.DependencyInjection\n{\n    public class TestCrawlerApiBackendClient : ICrawlerApiBackendClient\n    {\n        public List<CrawlerMetaItem> CrawlerMeta { get; set; }\n\n#pragma warning disable 1998\n        public async Task<IReadOnlyCollection<CrawlerMetaItem>> GetCrawlerMeta()\n        {\n            return CrawlerMeta.AsReadOnly();\n        }\n#pragma warning restore 1998\n    }\n}\n"
  },
  {
    "path": "backend/test/AcmStatisticsBackend.Tests/MultiTenantFactAttribute.cs",
    "content": "﻿using Xunit;\n\nnamespace AcmStatisticsBackend.Tests\n{\n    public sealed class MultiTenantFactAttribute : FactAttribute\n    {\n        public MultiTenantFactAttribute()\n        {\n            if (!AcmStatisticsBackendConsts.MultiTenancyEnabled)\n            {\n                Skip = \"MultiTenancy is disabled.\";\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "backend/test/AcmStatisticsBackend.Tests/Properties/AssemblyInfo.cs",
    "content": "﻿using System.Reflection;\nusing System.Runtime.InteropServices;\n\n// General Information about an assembly is controlled through the following\n// set of attributes. Change these attribute values to modify the information\n// associated with an assembly.\n[assembly: AssemblyConfiguration(\"\")]\n[assembly: AssemblyCompany(\"\")]\n[assembly: AssemblyProduct(\"AcmStatisticsBackend.Tests\")]\n[assembly: AssemblyTrademark(\"\")]\n\n// Setting ComVisible to false makes the types in this assembly not visible\n// to COM components.  If you need to access a type in this assembly from\n// COM, set the ComVisible attribute to true on that type.\n[assembly: ComVisible(false)]\n\n// The following GUID is for the ID of the typelib if this project is exposed to COM\n[assembly: Guid(\"0d4c5d00-c144-4213-a007-4b8944113ab1\")]\n"
  },
  {
    "path": "backend/test/AcmStatisticsBackend.Tests/ServiceClients/CaptchaServiceClient_Tests.cs",
    "content": "﻿using System.Net.Http;\nusing System.Threading.Tasks;\nusing AcmStatisticsBackend.ServiceClients;\nusing FluentAssertions;\nusing Flurl.Http.Testing;\nusing Xunit;\n\nnamespace AcmStatisticsBackend.Tests.ServiceClients\n{\n    public class CaptchaServiceClient_Tests\n    {\n        private readonly ICaptchaServiceClient _captchaServiceClient;\n\n        public CaptchaServiceClient_Tests()\n        {\n            _captchaServiceClient = new CaptchaServiceClient();\n        }\n\n        [Fact]\n        public async Task WhenHttpResponseWithoutError_ShouldWorkCorrectly()\n        {\n            // arrange\n            using var httpTest = new HttpTest();\n            httpTest.RespondWithJson(new\n            {\n                error = false,\n            });\n\n            // act\n            var result = await _captchaServiceClient.ValidateAsync(\"id\", \"text\");\n\n            // assert\n            httpTest.ShouldHaveCalled(\"http://captcha-service/api/captcha-service/validate\")\n                .WithVerb(HttpMethod.Post)\n                .WithRequestUrlEncoded(new\n                {\n                    id = \"id\",\n                    text = \"text\",\n                })\n                .Times(1);\n\n            result.Correct.Should().BeTrue();\n            result.ErrorMessage.Should().BeEmpty();\n        }\n\n        [Fact]\n        public async Task WhenHttpResponseError_ShouldReportError()\n        {\n            // arrange\n            using var httpTest = new HttpTest();\n            httpTest.RespondWithJson(new\n            {\n                error = true,\n                message = \"err message\",\n            }, 400);\n\n            // act\n            var result = await _captchaServiceClient.ValidateAsync(\"id\", \"text\");\n\n            // assert\n            httpTest.ShouldHaveCalled(\"http://captcha-service/api/captcha-service/validate\")\n                .WithVerb(HttpMethod.Post)\n                .WithRequestUrlEncoded(new\n                {\n                    id = \"id\",\n                    text = \"text\",\n                })\n                .Times(1);\n\n            result.Correct.Should().BeFalse();\n            result.ErrorMessage.Should().Be(\"err message\");\n        }\n    }\n}\n"
  },
  {
    "path": "backend/test/AcmStatisticsBackend.Tests/ServiceClients/CrawlerApiBackendClient_Tests.cs",
    "content": "﻿using System.Net.Http;\nusing System.Threading.Tasks;\nusing AcmStatisticsBackend.Crawlers;\nusing AcmStatisticsBackend.ServiceClients;\nusing FluentAssertions;\nusing Flurl.Http.Testing;\nusing Xunit;\n\nnamespace AcmStatisticsBackend.Tests.ServiceClients\n{\n    public class CrawlerApiBackendClient_Tests\n    {\n        private readonly ICrawlerApiBackendClient _crawlerApiBackendClient;\n\n        public CrawlerApiBackendClient_Tests()\n        {\n            _crawlerApiBackendClient = new CrawlerApiBackendClient();\n        }\n\n        [Fact]\n        public async Task GetCrawlerMeta_ShouldWorkCorrectly()\n        {\n            // arrange\n            using var httpTest = new HttpTest();\n\n            httpTest.RespondWithJson(new\n            {\n                error = false,\n                data = new\n                {\n                    uva = new\n                    {\n                        title = \"UVA\",\n                        description = \"u description\",\n                        url = \"http\",\n                    },\n                    vjudge = new\n                    {\n                        title = \"VJudge\",\n                        description = \"v description\",\n                        url = \"https\",\n                        virtual_judge = true,\n                    },\n                },\n            });\n\n            // act\n            var result = await _crawlerApiBackendClient.GetCrawlerMeta();\n\n            // assert\n            httpTest.ShouldHaveCalled(\"http://crawler-api-backend/api/crawlers/\")\n                .WithVerb(HttpMethod.Get)\n                .Times(1);\n\n            result.Should().BeEquivalentTo(new[]\n            {\n                new CrawlerMetaItem\n                {\n                    CrawlerName = \"uva\",\n                    CrawlerTitle = \"UVA\",\n                    CrawlerDescription = \"u description\",\n                    Url = \"http\",\n                    IsVirtualJudge = false,\n                },\n                new CrawlerMetaItem\n                {\n                    CrawlerName = \"vjudge\",\n                    CrawlerTitle = \"VJudge\",\n                    CrawlerDescription = \"v description\",\n                    Url = \"https\",\n                    IsVirtualJudge = true,\n                },\n            });\n        }\n    }\n}\n"
  },
  {
    "path": "backend/test/AcmStatisticsBackend.Tests/Sessions/SessionAppService_Tests.cs",
    "content": "﻿using System.Threading.Tasks;\nusing AcmStatisticsBackend.Sessions;\nusing FluentAssertions;\nusing Xunit;\n\nnamespace AcmStatisticsBackend.Tests.Sessions\n{\n    public class SessionAppService_Tests : AcmStatisticsBackendTestBase\n    {\n        private readonly ISessionAppService _sessionAppService;\n\n        public SessionAppService_Tests()\n        {\n            _sessionAppService = Resolve<ISessionAppService>();\n        }\n\n        [Fact]\n        public async Task Should_Get_Current_User_And_Tenant_When_Logged_In_As_Tenant()\n        {\n            // Act\n            var output = await _sessionAppService.GetCurrentLoginInformations();\n\n            // Assert\n            var currentUser = await GetCurrentUserAsync();\n            var currentTenant = await GetCurrentTenantAsync();\n\n            output.User.Should().NotBe(null);\n            output.User.Name.Should().Be(currentUser.Name);\n\n            output.Tenant.Should().NotBe(null);\n            output.Tenant.Name.Should().Be(currentTenant.Name);\n        }\n    }\n}\n"
  },
  {
    "path": "backend/test/AcmStatisticsBackend.Tests/Settings/UserConfigAppService_TimeZone_Tests.cs",
    "content": "﻿using System;\nusing System.Threading.Tasks;\nusing Abp.Runtime.Validation;\nusing Abp.UI;\nusing AcmStatisticsBackend.Settings;\nusing AcmStatisticsBackend.Settings.Dto;\nusing FluentAssertions;\nusing Xunit;\n\nnamespace AcmStatisticsBackend.Tests.Settings\n{\n    public class UserConfigAppService_TimeZone_Tests : AcmStatisticsBackendTestBase\n    {\n        private readonly IUserConfigAppService _userConfigAppService;\n        private readonly TestClockProvider _clockProvider;\n\n        public UserConfigAppService_TimeZone_Tests()\n        {\n            _clockProvider = new TestClockProvider();\n            _userConfigAppService = Resolve<UserConfigAppService>(new\n            {\n                clockProvider = _clockProvider,\n            });\n        }\n\n        [Fact]\n        public async Task GetUserTimeZone_ShouldWork()\n        {\n            // arrange\n            LoginAsHostAdmin();\n            await _userConfigAppService.SetUserTimeZone(new UserTimeZoneDto\n            {\n                TimeZone = \"US Eastern Standard Time\",\n            });\n\n            // act\n            var result = await _userConfigAppService.GetUserSettings();\n\n            // assert\n            result.Values[\"Abp.Timing.TimeZone\"].Should().Be(\"US Eastern Standard Time\");\n        }\n\n        [Fact]\n        public async Task GetUserTimeZone_WhenNoTimeZoneSet_ShouldReturnDefaultTimeZone()\n        {\n            // arrange\n            LoginAsHostAdmin();\n\n            // act\n            var result = await _userConfigAppService.GetUserSettings();\n\n            // assert\n            result.Values[\"Abp.Timing.TimeZone\"].Should().Be(\"UTC\");\n        }\n\n        [Fact]\n        public async Task SetUserTimeZone_WhenTimeZoneIsInvalid_ShouldThrow()\n        {\n            LoginAsHostAdmin();\n\n            await _userConfigAppService.SetUserTimeZone(new UserTimeZoneDto\n            {\n                TimeZone = \"BlaBla\",\n            }).ShouldThrow<AbpValidationException>();\n        }\n\n        [Fact]\n        public async Task SetUserTimeZone_ShouldWork()\n        {\n            // arrange\n            LoginAsHostAdmin();\n\n            // act\n            await _userConfigAppService.SetUserTimeZone(new UserTimeZoneDto\n            {\n                TimeZone = \"US Eastern Standard Time\",\n            });\n\n            // assert\n            var result = await _userConfigAppService.GetUserSettings();\n            result.Values[\"Abp.Timing.TimeZone\"].Should().Be(\"US Eastern Standard Time\");\n        }\n\n        [Fact]\n        public async Task SetUserTimeZone_CannotBeSetTwiceWithIn24Hours()\n        {\n            _clockProvider.Now = new DateTime(2020, 4, 1, 0, 0, 0);\n\n            await _userConfigAppService.SetUserTimeZone(new UserTimeZoneDto\n            {\n                // GMT +01:00\n                TimeZone = \"Central Europe Standard Time\",\n            });\n\n            // UTC: 23:00 April 1; Local: 00:00 April 2\n            _clockProvider.Now = _clockProvider.Now.AddHours(23);\n\n            // should not set time zone\n            await _userConfigAppService.SetUserTimeZone(new UserTimeZoneDto\n            {\n                TimeZone = \"Dateline Standard Time\",\n            }).ShouldThrow<UserFriendlyException>();\n\n            // UTC: 00:00 April 2; Local: 01:00 April 2\n            _clockProvider.Now = _clockProvider.Now.AddHours(1);\n\n            // Can set time zone\n            await _userConfigAppService.SetUserTimeZone(new UserTimeZoneDto\n            {\n                TimeZone = \"Dateline Standard Time\",\n            });\n\n            var result = await _userConfigAppService.GetUserSettings();\n            result.Values[\"Abp.Timing.TimeZone\"].Should().Be(\"Dateline Standard Time\");\n        }\n\n        [Fact]\n        public async Task SetUserTimeZone_WhenInputWithNonWindowsIds_ShouldThrow()\n        {\n            // arrange\n            LoginAsHostAdmin();\n\n            // act\n            var task = _userConfigAppService.SetUserTimeZone(new UserTimeZoneDto\n            {\n                // Iana time zone id\n                TimeZone = \"America/Santiago\",\n            });\n\n            // assert\n            await task.ShouldThrow<AbpValidationException>();\n        }\n    }\n}\n"
  },
  {
    "path": "backend/test/AcmStatisticsBackend.Tests/TestExtensions.cs",
    "content": "﻿using System;\nusing System.Threading.Tasks;\nusing FluentAssertions;\nusing FluentAssertions.Specialized;\n\nnamespace AcmStatisticsBackend.Tests\n{\n    public static class TestExtensions\n    {\n        public static Task<ExceptionAssertions<T>> ShouldThrow<T>(\n            this Task task,\n            string because = \"\")\n            where T : Exception\n        {\n            Func<Task> call = async () => await task;\n            return call.Should().ThrowAsync<T>(because);\n        }\n\n        public static Task<ExceptionAssertions<TException>>\n            ShouldThrow<TException, TResult>(\n                this Task<TResult> task,\n                string because = \"\")\n            where TException : Exception\n        {\n            Func<Task<TResult>> call = async () => await task;\n            return call.Should().ThrowAsync<TException>(because);\n        }\n    }\n}\n"
  },
  {
    "path": "build/.dockerignore",
    "content": "*\n"
  },
  {
    "path": "build/.gitignore",
    "content": "/.env\n/obj\n/bin\n/backend-db\n*.user\n/App_Data\n/db-backup"
  },
  {
    "path": "build/commitlint.Dockerfile",
    "content": "ARG NODE_BASE_IMAGE\n\nFROM ${NODE_BASE_IMAGE}\n\nRUN apk add --no-cache git\nRUN git config --global user.email \"test@test.com\"\nRUN git config --global user.name \"Test Name\"\n\nRUN pnpm install -g \\\n  @commitlint/cli \\\n  @commitlint/config-conventional\n\nWORKDIR /var/project\n"
  },
  {
    "path": "build/commitlint.mk",
    "content": "## makefile for commitlint\n\ninclude share.mk\n\n# === consts ===\nCommitlintImageTag = $(CommonTagPrefix)-commitlint-image\n# 用来执行 commitlint 的地址，可以被覆盖\nCommitlintValidPath = $(CURDIR)/..\n\n# === targets ===\n.PHONY: test-commit commitlint-travis\n\n.node-base:\n\t$(MAKE) -f node-base.mk build\n\nbuild: .node-base\n\tdocker build . \\\n\t\t-t $(CommitlintImageTag) \\\n\t\t-f commitlint.Dockerfile \\\n\t\t--build-arg NODE_BASE_IMAGE=$(NodeBaseTag)\n\nclean:\n\tdocker image rm $(CommitlintImageTag); true\n\ntest-commit: build\n\tdocker run --rm \\\n\t\t-v \"$(CommitlintValidPath):/var/project\" \\\n\t\t$(CommitlintImageTag) \\\n\t\tcommitlint --from master --color\n"
  },
  {
    "path": "build/docker-compose.dcproj",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project ToolsVersion=\"15.0\" Sdk=\"Microsoft.Docker.Sdk\">\n  <PropertyGroup Label=\"Globals\">\n    <ProjectVersion>2.1</ProjectVersion>\n    <DockerTargetOS>Linux</DockerTargetOS>\n    <ProjectGuid>5ae26e44-7afe-4443-aa6e-f3fdf9519bfd</ProjectGuid>\n    <DockerLaunchAction>None</DockerLaunchAction>\n    <DockerServiceUrl>{Scheme}://localhost:{ServicePort}</DockerServiceUrl>\n    <DockerServiceName>backend</DockerServiceName>\n    <AdditionalComposeFilePaths>docker-compose.dev-backend.yml</AdditionalComposeFilePaths>\n  </PropertyGroup>\n  <ItemGroup>\n    <None Include=\"docker-compose.dev-backend.yml\">\n      <DependentUpon>docker-compose.yml</DependentUpon>\n    </None>\n    <None Include=\"docker-compose.yml\" />\n    <None Include=\"..\\backend\\.dockerignore\" />\n  </ItemGroup>\n</Project>"
  },
  {
    "path": "build/docker-compose.dev-backend.yml",
    "content": "# For backend debugging\n\nversion: '3.4'\n\nservices:\n  backend:\n    image: ${DOCKER_REGISTRY-}acm-statistics-backend\n    build:\n      context: ../backend\n      dockerfile: src/AcmStatisticsBackend.Web.Host/Dockerfile\n    environment:\n      - ASPNETCORE_ENVIRONMENT=Development\n    ports:\n      - \"80\"\n    volumes:\n      - ${APPDATA}/Microsoft/UserSecrets:/root/.microsoft/usersecrets:ro\n\n  db:\n    ports:\n      - \"3306:3306\"\n\n  adminer:\n    ports:\n      - \"8080:8080\"\n\n  watchtower:\n    # skip watchtower in development\n    image: tianon/true:latest\n    command: ''\n\n  ohunt:\n    environment:\n      DisableCrawlerWorker: all\n"
  },
  {
    "path": "build/docker-compose.dev-frontend.yml",
    "content": "version: '3.4'\n\nservices:\n  # for frontend hot reload\n  frontend:\n    image: acm-statistics-frontend-base\n    volumes:\n      - ../frontend/assets:/var/project/assets\n      - ../frontend/components:/var/project/components\n      - ../frontend/layouts:/var/project/layouts\n      - ../frontend/middleware:/var/project/middleware\n      - ../frontend/modules:/var/project/modules\n      - ../frontend/pages:/var/project/pages\n      - ../frontend/plugins:/var/project/plugins\n      - ../frontend/static:/var/project/static\n      - ../frontend/store:/var/project/store\n    environment:\n      - NODE_ENV=development\n    command: sh -c \"npm run dev\"\n\n  crawler-api-backend:\n    environment:\n      # show detail logs including response\n      - NODE_ENV=development\n\n  watchtower:\n    # skip watchtower in development\n    image: tianon/true:latest\n    command: ''\n\n  ohunt:\n    environment:\n      DisableCrawlerWorker: all\n"
  },
  {
    "path": "build/docker-compose.e2e.yml",
    "content": "# fixture of build/docker-compose.yml\n\nversion: \"3.4\"\n\nservices:\n  frontend:\n    environment:\n      - http_proxy=http://mock-proxy:1080\n\n  crawler-api-backend:\n    environment:\n      - http_proxy=http://mock-proxy:1080\n\n  captcha-service:\n    environment:\n      - E2E=1\n\n  watchtower:\n    # skip watchtower in development\n    image: tianon/true:latest\n    command: \"\"\n\n  mock-proxy:\n    image: jamesdbloom/mockserver:mockserver-5.5.1\n    ports:\n      # use this port to connect to mockserver on host\n      - \"1081:1080\"\n\n  mock-configurer:\n    image: acm-statistics-e2e-mock-configurer\n    volumes:\n      # organize them into a separate folder to prevent mounting node_modules\n      - ../e2e/http-mocks/src:/mocks/src\n    labels:\n      - traefik.http.routers.mock-configurer.rule=PathPrefix(`/mock-configurer`)\n      - traefik.http.services.mock-configurer.loadbalancer.server.port=80\n\n  ohunt:\n    environment:\n      DisableCrawlerWorker: all\n"
  },
  {
    "path": "build/docker-compose.mk",
    "content": "## makefile for docker-compose\n\ninclude share.mk\n\n# === variables ===\n# the docker repo name (username) to publish image\nRepoName = liu233w/\n# use git commit hash as image tag\nCommitHash := $(shell git log -1 --pretty=%H)\n# the image to publish\nImages = FrontendTag CrawlerApiBackendTag BackendTag CaptchaServiceTag OHuntTag\n\n# === inner ===\nImageToTag := $(foreach n,$(Images),$(n)-tag)\nImageToPush := $(foreach n,$(Images),$(n)-push)\n# variables for each images\n$(ImageToTag): Image = $($(subst -tag,,$@))\n$(ImageToPush): Image = $($(subst -push,,$@))\n$(ImageToTag) $(ImageToPush): ImageNameWithHash = $(RepoName)$(Image):$(CommitHash)\n$(ImageToTag) $(ImageToPush): ImageNameWithLatest = $(RepoName)$(Image):latest\n\n# === targets ===\n\n.PHONY: .build tag push up dev-frontend .build-dev e2e-up\n\n.build:\n\t$(MAKE) -C ../crawler-api-backend build\n\t$(MAKE) -C ../frontend build\n\t$(MAKE) -C ../backend build\n\t$(MAKE) -C ../captcha-service build\n\t$(MAKE) -C ../ohunt build\n\t$(RM) backend-db/mysql.sock\n\ntag: .build $(ImageToTag)\n\npush: tag $(ImageToPush)\n\n$(ImageToTag):\n\t@echo try to tag $(ImageNameWithHash) and $(ImageNameWithLatest)\n\tdocker tag $(Image) $(ImageNameWithHash)\n\tdocker tag $(Image) $(ImageNameWithLatest)\n\n$(ImageToPush):\n\t@echo try to push $(ImageNameWithHash) and $(ImageNameWithLatest)\n\tdocker push $(ImageNameWithHash)\n\tdocker push $(ImageNameWithLatest)\n\nup: .build .env\n\tdocker compose up $(compose-args)\n\n# additionally run mock-server when start the server for e2e test\n# Remove the old database\ne2e-up: .build .env\n\t$(MAKE) -C ../e2e build-http-mocks\n\t$(RMR) backend-db || echo remove failed\n\t$(MKDIR) backend-db\n\tdocker compose -f docker-compose.yml -f docker-compose.e2e.yml up $(compose-args)\n\n.env:\n\t$(CP) template.env .env\n\ndev-frontend: .build\n\tdocker compose -f docker-compose.yml -f docker-compose.dev-frontend.yml up $(compose-args)\n"
  },
  {
    "path": "build/docker-compose.yml",
    "content": "version: '3.4'\n\nservices:\n\n  reverse-proxy:\n    image: traefik:v2.10.1\n    command:\n      - \"--api.insecure=true\"\n      - \"--providers.docker=true\"\n      - \"--entrypoints.web.address=:80\"\n      - \"--accesslog=true\"\n      # An outside reverse proxy is used, so we can just trust all forward headers\n      - \"--entryPoints.web.forwardedHeaders.insecure\"\n    ports:\n      - \"${EXPOSE_PORT}:80\"\n      - \"${TRAEFIK_PORT}:8080\" # The Web UI (enabled by --api)\n    volumes:\n      - /var/run/docker.sock:/var/run/docker.sock\n    depends_on:\n      - frontend\n      - backend\n      - captcha-service\n      - crawler-api-backend\n\n  frontend:\n    image: ${DOCKER_REPO}acm-statistics-frontend${DOCKER_TAG}\n    environment:\n      - HOST=0.0.0.0\n    labels:\n      - traefik.http.routers.frontend.rule=PathPrefix(`/`)\n      - traefik.http.services.frontend.loadbalancer.server.port=3000\n\n  crawler-api-backend:\n    image: ${DOCKER_REPO}acm-statistics-crawler-api-backend${DOCKER_TAG}\n    environment:\n      - ACM_STATISTICS_CRAWLER_ENV__crawlers__vjudge__crawler_login_user=\"${VJUDGE_USERNAME}\"\n      - ACM_STATISTICS_CRAWLER_ENV__crawlers__vjudge__crawler_login_password=\"${VJUDGE_PASSWORD}\"\n    labels:\n      - traefik.http.routers.crawler-api-backend.rule=PathPrefix(`/api/crawlers`)\n      - traefik.http.services.crawler-api-backend.loadbalancer.server.port=80\n\n  watchtower:\n    image: containrrr/watchtower\n    volumes:\n      - /var/run/docker.sock:/var/run/docker.sock\n    command: -s \"0 */30 * * * *\" --cleanup\n    labels:\n      - traefik.enable=false\n\n  backend:\n    image: ${DOCKER_REPO}acm-statistics-backend${DOCKER_TAG}\n    environment:\n      ConnectionStrings__Default: Server=db; port=3306; Database=acm_statistics; uid=root; pwd=${MYSQL_ROOT_PASSWORD}; Convert Zero Datetime=True\n      BACKEND_ADMIN_DEFAULT_PASSWORD: ${BACKEND_ADMIN_DEFAULT_PASSWORD}\n      Authentication__JwtBearer__SecurityKey: ${BACKEND_JWT_PRIVATE_KEY}\n      WAIT_COMMAND: wait-for-it db:3306 -t 0\n      ASPNETCORE_FORWARDEDHEADERS_ENABLED: 'true'\n    labels:\n      - traefik.http.routers.backend.rule=PathPrefix(`/api`)||PathPrefix(`/AntiForgery`)\n      - traefik.http.routers.backend.priority=18\n      - traefik.http.services.backend.loadbalancer.server.port=80\n    volumes:\n      - ./App_Data:/app/App_Data\n    depends_on:\n      - db\n      - captcha-service\n\n  db:\n    image: mysql:8-oracle\n    restart: always\n    environment:\n      MYSQL_DATABASE: acm_statistics\n      # Password for root access\n      MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}\n    # Where our data will be persisted\n    volumes:\n      - ./backend-db:/var/lib/mysql\n    # fix `mbind: Operation not permitted`, see https://stackoverflow.com/a/55706057\n    cap_add:\n      - SYS_NICE  # CAP_SYS_NICE\n    labels:\n      - traefik.enable=false\n\n  captcha-service:\n    image: ${DOCKER_REPO}acm-statistics-captcha-service${DOCKER_TAG}\n    labels:\n      # Only getting captcha part needs public access.\n      - traefik.http.routers.captcha-service.rule=Path(`/api/captcha-service/generate`)\n      - traefik.http.services.captcha-service.loadbalancer.server.port=80\n\n  db-backup:\n    image: databack/mysql-backup\n    command: dump\n    restart: always\n    user: \"${DB_BACKUP_UID}\"\n    volumes:\n      - ./db-backup:/db\n    environment:\n      DB_DUMP_TARGET: /db\n      DB_USER: root\n      DB_PASS: ${MYSQL_ROOT_PASSWORD}\n      # DB_DUMP_BEGIN: +2\n      # backup at 3:00 am\n      DB_DUMP_BEGIN: \"0300\"\n      DB_SERVER: db\n      DB_DUMP_INCLUDE: acm_statistics\n    depends_on:\n      - db\n    labels:\n      - traefik.enable=false\n\n  ohunt:\n    image: ${DOCKER_REPO}acm-statistics-ohunt${DOCKER_TAG}\n    environment:\n      ConnectionStrings__Default: Server=db; port=3306; Database=ohunt; uid=root; pwd=${MYSQL_ROOT_PASSWORD}; Convert Zero Datetime=True\n      WAIT_COMMAND: wait-for-it db:3306 -t 0\n    restart: always\n    labels:\n      - traefik.http.routers.ohunt.rule=PathPrefix(`/api/ohunt`)||PathPrefix(`/ohunt`)\n      - traefik.http.services.ohunt.loadbalancer.server.port=80\n    depends_on:\n      - db\n"
  },
  {
    "path": "build/node-base.Dockerfile",
    "content": "FROM node:22.22.0-alpine\n\n# dependency to run codecov on CI\nARG CODECOV=false\nRUN if [ \"$CODECOV\" != \"false\" ]; then \\\n    apk add --no-cache \\\n    bash \\\n    curl \\\n    ; fi\n\nRUN npm install --global pnpm@9\n"
  },
  {
    "path": "build/node-base.mk",
    "content": "## makefile for node base image\n\ninclude share.mk\n\nNodeBaseOption =\nifdef CODECOV\nNodeBaseOption := --build-arg CODECOV=$(CODECOV) $(NodeBaseOption)\nendif\n\nbuild:\n\tdocker build . -f node-base.Dockerfile -t $(NodeBaseTag) $(NodeBaseOption)\n\nclean:\n\tdocker image rm $(NodeBaseTag); true\n"
  },
  {
    "path": "build/share.mk",
    "content": "# == consts ==\n\nCommonTagPrefix = acm-statistics\nNodeBaseTag = $(CommonTagPrefix)-node-base\nCrawlerTag = $(CommonTagPrefix)-crawler\nCrawlerBaseTag = $(CommonTagPrefix)-crawler-base\nFrontendBaseTag = $(CommonTagPrefix)-frontend-base\nFrontendTag = $(CommonTagPrefix)-frontend\nCrawlerApiBackendTag = $(CommonTagPrefix)-crawler-api-backend\nCrawlerApiBackendBaseTag = $(CommonTagPrefix)-crawler-api-backend-base\nE2eMockConfigurerTag = $(CommonTagPrefix)-e2e-mock-configurer\nE2eBaseTag = $(CommonTagPrefix)-e2e-base\nBackendTag = $(CommonTagPrefix)-backend\nBackendBaseTag = $(CommonTagPrefix)-backend-base\nCaptchaServiceTag = $(CommonTagPrefix)-captcha-service\nCaptchaServiceBaseTag = $(CommonTagPrefix)-captcha-service-base\nOHuntTag = $(CommonTagPrefix)-ohunt\nOHuntBaseTag = $(CommonTagPrefix)-ohunt-base\n\n# == phony\n.PHONY: test build run clean test-ci help\n\n# == set variables ==\n\n# enable correct path on msys2 in windows\nexport MSYS2_ARG_CONV_EXCL = *\n\n# == resolve run-args ==\nifeq ($(filter r no-rm,$(make-args)),)\noverride run-args := $(run-args) --rm\nendif\nifeq ($(filter i no-interactive,$(make-args)),)\noverride run-args := $(run-args) --interactive\nendif\nifeq ($(filter t no-tty,$(make-args)),)\noverride run-args := $(run-args) --tty\nendif\n\nRM = docker run --rm -v $(shell pwd):/app -w /app alpine rm -f\nRMR = docker run --rm -v $(shell pwd):/app -w /app alpine rm -rf\n\n# == detect system and set command ==\nifeq ($(findstring cmd.exe,$(SHELL)),cmd.exe)\n    # cmd shell\n    CP = copy\n    MKDIR = md\nelse # Linux or cygwin/msys\n    CP = cp\n    MKDIR = mkdir\nendif\n\n# === consts ==\n# the version number is shown in about page\nifndef VERSION_NUM\nVERSION_NUM := $(shell git log -1 --pretty=%H)\nendif\n# a timestamp shown in about page and page footer\nifndef BUILD_TIME\n    ifdef OS # windows\n        BUILD_TIME := $(shell powershell -command \"[int32](New-TimeSpan -Start (Get-Date \"01/01/1970\") -End ((Get-Date).ToUniversalTime())).TotalSeconds\")\n    else\n        BUILD_TIME := $(shell date +%s)\n    endif\nendif\n"
  },
  {
    "path": "build/shell.Dockerfile",
    "content": "ARG NODE_BASE_IMAGE\n\nFROM ${NODE_BASE_IMAGE}\n\nRUN apk add --no-cache \\\n  git \\\n  curl \\\n  bash \\\n  ;\n\nWORKDIR /var/project\n\nCMD [\"bash\"]"
  },
  {
    "path": "build/shell.mk",
    "content": "## 用于开发用的 shell 的 makefile\n\ninclude share.mk\n\n# === consts ===\nShellTag = $(CommonTagPrefix)-shell\n# 对应的本机上的地址，可以被覆盖\nProjectPath = $(CURDIR)/..\n\n# === targets ===\n\n.PHONY: .node-base build shell\n\nshell: build\n\tdocker run --rm -it -v \"$(ProjectPath):/var/project\" $(ShellTag)\n\nbuild: .node-base\n\tdocker build . \\\n\t\t-t $(ShellTag) \\\n\t\t-f shell.Dockerfile \\\n\t\t--build-arg NODE_BASE_IMAGE=$(NodeBaseTag)\n\n.node-base:\n\t$(MAKE) -f node-base.mk build\n\nclean:\n\tdocker image rm $(ShellTag); true"
  },
  {
    "path": "build/template.env",
    "content": "# == configuration for docker compose ==\n\n# port for the main application. It is better to use another load balancer for the endpoint. If you want to expose the port to public, remove the `127.0.0.1:` part and only keep the port number\nEXPOSE_PORT=127.0.0.1:3000\n# port for traefik dashboard. not recommended to expose to public\nTRAEFIK_PORT=127.0.0.1:3001\n\n# docker repo name and tag. no need to modify this\nDOCKER_REPO=\nDOCKER_TAG=\n\n# == config for services ==\n# config for vjudge crawler, you can enter yours\nVJUDGE_USERNAME=vjudge username\nVJUDGE_PASSWORD=vjudge password\n\n# MySQL root password\nMYSQL_ROOT_PASSWORD=password\n\n# default password for backend admin\nBACKEND_ADMIN_DEFAULT_PASSWORD=123qwe\n\n# JWT private key for backend, please change it\nBACKEND_JWT_PRIVATE_KEY=AcmStatisticsBackend_C421AAEE0D114E9C\n\n# Database backup UID. if you connect to the server using root user, set it to 0. Or set it to your uid.\nDB_BACKUP_UID=0\n"
  },
  {
    "path": "captcha-service/.dockerignore",
    "content": "# dependencies\nnode_modules\n\n# logs\nnpm-debug.log\n\n# codecov\ncoverage\n\n# docker\n.dockerignore\nbase.Dockerfile\nrelease.Dockerfile\n\n# make\nMakefile\n\n# 日志文件\n/logs/\n"
  },
  {
    "path": "captcha-service/.eslintrc.js",
    "content": "module.exports = {\n  root: true,\n  env: {\n    browser: false,\n    node: true,\n    es6: true,\n    'jest/globals': true,\n  },\n  parserOptions: {\n    parser: 'babel-eslint',\n    ecmaVersion: 8,\n  },\n  extends: [\n    'eslint:recommended',\n    'plugin:jest/recommended',\n  ],\n  // required to lint *.vue files\n  plugins: [\n    'jest',\n  ],\n  // add your custom rules here\n  rules: {\n    'semi': [2, 'never'],\n    'no-console': 'off',\n    'vue/max-attributes-per-line': 'off',\n    // 行末逗号：在多行中强制最后一项有逗号，单行中强制没有\n    'comma-dangle': ['error', 'always-multiline'],\n    'quotes': ['error', 'single'],\n    // 服务端不用管这个\n    'lodash/import-scope': 'off',\n    // 这个方法的可读性太低了\n    'lodash/matches-prop-shorthand': 'off',\n  },\n}\n"
  },
  {
    "path": "captcha-service/.gitignore",
    "content": "# Logs\nlogs\n*.log\nnpm-debug.log*\nyarn-debug.log*\nyarn-error.log*\n\n# Runtime data\npids\n*.pid\n*.seed\n*.pid.lock\n\n# Directory for instrumented libs generated by jscoverage/JSCover\nlib-cov\n\n# Coverage directory used by tools like istanbul\ncoverage\n\n# nyc test coverage\n.nyc_output\n\n# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)\n.grunt\n\n# Bower dependency directory (https://bower.io/)\nbower_components\n\n# node-waf configuration\n.lock-wscript\n\n# Compiled binary addons (https://nodejs.org/api/addons.html)\nbuild/Release\n\n# Dependency directories\nnode_modules/\njspm_packages/\n\n# Typescript v1 declaration files\ntypings/\n\n# Optional npm cache directory\n.npm\n\n# Optional eslint cache\n.eslintcache\n\n# Optional REPL history\n.node_repl_history\n\n# Output of 'npm pack'\n*.tgz\n\n# Yarn Integrity file\n.yarn-integrity\n\n# dotenv environment variables file\n.env\n\n# next.js build output\n.next\n\n# 日志文件\n/logs/\n"
  },
  {
    "path": "captcha-service/Makefile",
    "content": "## makefile for captcha service\n\ninclude ../build/share.mk\n\nhelp:\n\t@echo run \\\"make help\\\" in root directory to get help\n\n.node-base:\n\tcd ../build && $(MAKE) -f node-base.mk build\n\n.base: .node-base\n\tdocker build . \\\n\t\t-f base.Dockerfile \\\n\t\t-t $(CaptchaServiceBaseTag) \\\n\t\t$(build-args) \\\n\t\t--build-arg NODE_BASE_IMAGE=$(NodeBaseTag)\n\nbuild: .base\n\tdocker build . \\\n\t\t-f release.Dockerfile \\\n\t\t-t $(CaptchaServiceTag) \\\n\t\t$(build-args) \\\n\t\t--build-arg NODE_BASE_IMAGE=$(NodeBaseTag) \\\n\t\t--build-arg SERVICE_BASE_IMAGE=$(CaptchaServiceBaseTag)\n\ntest: .base\n\tdocker run --rm -t $(CaptchaServiceBaseTag) pnpm test\n\nrun: .base\n\tdocker run $(run-args) $(CaptchaServiceBaseTag) $(run-cmd)\n\nclean:\n\tdocker image rm $(CaptchaServiceBaseTag) $(CaptchaServiceTag); true\n\ntest-ci: .base\n\tdocker run --rm \\\n\t\t-v \"$(CURDIR)/coverage:/var/project/coverage\" \\\n\t\t$(CaptchaServiceBaseTag) \\\n\t\tpnpm test -- --colors\n"
  },
  {
    "path": "captcha-service/README.md",
    "content": "captcha-service\n===\n\n验证码微服务。目前只有 `/api/captcha-service/generate` 对前端开放。验证部分只能从内部访问。\n\n[测试文件](./__test__/app.spec.js)中有API的用例。\n\n## 本地运行\n\n- 使用 `pnpm start` 运行\n- 在运行之后会监视 `localhost:80`\n\n## 部署\n- 使用 docker\n"
  },
  {
    "path": "captcha-service/__mocks__/svg-captcha.js",
    "content": "module.exports = {\n    create() {\n        return {\n            text: 'validate-text',\n            data: '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"150\" height=\"50\" viewBox=\"0,0,150,50\" />',\n        }\n    },\n}\n"
  },
  {
    "path": "captcha-service/__test__/app.spec.js",
    "content": "/* eslint-disable jest/expect-expect */\njest.mock('svg-captcha')\n\nconst request = require('supertest')\nconst app = require('../src/app').callback()\n\ndescribe('/api/captcha-service/generate', () => {\n    it('可以生成验证码', async () => {\n        const res = await request(app).post('/api/captcha-service/generate')\n            .expect(200)\n        expect(res.body).toMatchObject({\n            error: false,\n            data: {\n                id: expect.any(String),\n                captcha: '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"150\" height=\"50\" viewBox=\"0,0,150,50\" />',\n            },\n        })\n    })\n})\n\ndescribe('/api/captcha-service/validate', () => {\n\n    it('能够进行验证', async () => {\n        const id = (await request(app).post('/api/captcha-service/generate')\n            .expect(200)).body.data.id\n\n        await request(app).post('/api/captcha-service/validate')\n            .send({ id, text: 'validate-text' })\n            .expect(200, {\n                error: false,\n                data: true,\n            })\n    })\n\n    it('不论大小写', async () => {\n        const id = (await request(app).post('/api/captcha-service/generate')\n            .expect(200)).body.data.id\n\n        await request(app).post('/api/captcha-service/validate')\n            .send({ id, text: 'VALIDATE-text' })\n            .expect(200, {\n                error: false,\n                data: true,\n            })\n    })\n\n    it('能够在验证码错误时报错', async () => {\n        const id = (await request(app).post('/api/captcha-service/generate')\n            .expect(200)).body.data.id\n\n        await request(app).post('/api/captcha-service/validate')\n            .send({ id, text: 'incorrect' })\n            .expect(400, {\n                error: true,\n                message: 'Incorrect captcha',\n            })\n    })\n\n    it('不能重复验证', async () => {\n        const id = (await request(app).post('/api/captcha-service/generate')\n            .expect(200)).body.data.id\n\n        await request(app).post('/api/captcha-service/validate')\n            .send({ id, text: 'validate-text' })\n\n        await request(app).post('/api/captcha-service/validate')\n            .send({ id, text: 'validate-text' })\n            .expect(400, {\n                error: true,\n                message: 'Please refresh captcha',\n            })\n    })\n})\n"
  },
  {
    "path": "captcha-service/__test__/interface.test.js",
    "content": "const svgCaptcha = require('svg-captcha')\n\ndescribe('svg-captcha 接口测试', () => {\n    it('能够正确返回数据', () => {\n        const captcha = svgCaptcha.create({\n            size: 6,\n            noise: 2,\n        })\n\n        expect(captcha.data).toBeTruthy()\n        expect(captcha.text).toBeTruthy()\n    })\n})"
  },
  {
    "path": "captcha-service/base.Dockerfile",
    "content": "ARG NODE_BASE_IMAGE\n\n\nFROM ${NODE_BASE_IMAGE}\n\nWORKDIR /var/project\n\nCOPY package.json pnpm-lock.yaml ./\nRUN pnpm install\n\nCOPY . .\n"
  },
  {
    "path": "captcha-service/package.json",
    "content": "{\n  \"name\": \"captcha-service\",\n  \"version\": \"1.0.0\",\n  \"description\": \"验证码微服务\",\n  \"main\": \"src/index.js\",\n  \"scripts\": {\n    \"start\": \"node src/index.js\",\n    \"test\": \"jest\",\n    \"lint\": \"eslint --ext .js --ignore-path .gitignore .\",\n    \"lintfix\": \"eslint --fix --ext .js --ignore-path .gitignore .\"\n  },\n  \"author\": \"Liu233w <gh@liu233w.com>\",\n  \"license\": \"GPL-3.0\",\n  \"dependencies\": {\n    \"koa\": \"^2.7.0\",\n    \"koa-bodyparser\": \"^4.3.0\",\n    \"koa-router\": \"^12.0.0\",\n    \"node-cache\": \"^5.1.0\",\n    \"svg-captcha\": \"^1.4.0\",\n    \"uuid\": \"^9.0.0\"\n  },\n  \"devDependencies\": {\n    \"eslint\": \"8.57.1\",\n    \"eslint-plugin-jest\": \"27.9.0\",\n    \"jest\": \"29.7.0\",\n    \"supertest\": \"6.3.4\",\n    \"typescript\": \"5.9.3\"\n  },\n  \"jest\": {\n    \"testEnvironment\": \"node\",\n    \"coverageDirectory\": \"./coverage/\",\n    \"collectCoverage\": true\n  }\n}\n"
  },
  {
    "path": "captcha-service/release.Dockerfile",
    "content": "ARG NODE_BASE_IMAGE\nARG SERVICE_BASE_IMAGE\n\n\nFROM ${SERVICE_BASE_IMAGE} AS base\nRUN rm -rf node_modules\n\n\nFROM ${NODE_BASE_IMAGE}\n\nWORKDIR /var/project\n\nCOPY package.json pnpm-lock.yaml ./\nRUN pnpm install --only=production\n\nCOPY --from=base /var/project .\n\nENV NODE_ENV production\n\nEXPOSE 80\n\nCMD [\"pnpm\", \"start\"]\n"
  },
  {
    "path": "captcha-service/src/app.js",
    "content": "const koa = require('koa')\nconst Router = require('koa-router')\nconst bodyParser = require('koa-bodyparser')\nconst NodeCache = require('node-cache')\nconst { v4: uuid } = require('uuid')\nlet svgCaptcha = require('svg-captcha')\n\nif (process.env.E2E) {\n    // E2E 测试时把接口固定\n    // eslint-disable-next-line jest/no-mocks-import\n    svgCaptcha = require('../__mocks__/svg-captcha')\n}\n\nconst restHelper = require('./restHelper')\n\nconst router = new Router()\n\nconst cache = new NodeCache()\n\nconst CAPTCHA_AVAILABLE_TIME = process.env.CAPTCHA_AVAILABLE_TIME\n    ? process.env.CAPTCHA_AVAILABLE_TIME : 5 * 60 /* sec */\n\n// 先把验证码存在项目中。如果遇到性能问题再上redis\n\nrouter.post('/api/captcha-service/generate', async ctx => {\n    const id = uuid()\n    const captcha = svgCaptcha.create({\n        size: 6,\n        noise: 2,\n    })\n\n    cache.set(id, captcha.text, CAPTCHA_AVAILABLE_TIME)\n\n    ctx.rest({\n        id,\n        captcha: captcha.data,\n    })\n})\n\nrouter.post('/api/captcha-service/validate', async ctx => {\n    const { id, text } = ctx.request.body\n\n    const correct = cache.get(id)\n    cache.del(id)\n\n    if (!correct) {\n        ctx.error('Please refresh captcha')\n        return\n    }\n\n    if (correct.toLowerCase() !== text.toLowerCase()) {\n        ctx.error('Incorrect captcha')\n        return\n    }\n\n    ctx.rest(true)\n})\n\nconst app = new koa()\n    .use(bodyParser())\n    .use(restHelper)\n    .use(router.middleware())\n    .use(router.allowedMethods)\n\n// 将 req.ip 设置为 X-Forward-For 中的 ip\napp.proxy = true\n\nmodule.exports = app\n"
  },
  {
    "path": "captcha-service/src/index.js",
    "content": "const app = require('./app')\n\nconsole.log('captcha-service start listening on localhost:80 ...')\n\napp.listen(80)"
  },
  {
    "path": "captcha-service/src/restHelper.js",
    "content": "/**\n * 方便写 rest API 的中间件\n */\n\nmodule.exports = async function (ctx, next) {\n\n  ctx.rest = function (data) {\n    ctx.response.status = 200\n    ctx.response.type = 'application/json'\n    ctx.response.body = {\n      error: false,\n      data: data,\n    }\n  }\n\n  ctx.error = function (message) {\n    ctx.response.status = 400\n    ctx.response.type = 'application/json'\n    ctx.response.body = {\n      error: true,\n      message: message,\n    }\n  }\n\n  await next()\n}"
  },
  {
    "path": "codecov.yml",
    "content": "ignore:\n  - backend/src/AcmStatisticsBackend.EntityFrameworkCore/**/*\n  - backend/src/AcmStatisticsBackend.Migrator/**/*\n  - backend/src/AcmStatisticsBackend.Web.Core/**/*\n  - backend/src/AcmStatisticsBackend.Web.Host/**/*\n  - backend/src/**/Dto/**/*\n  - ohunt/OHunt.Web/Migrations/*\ncoverage:\n  status:\n    project:\n      default:\n        threshold: 5%\n"
  },
  {
    "path": "commitlint.config.js",
    "content": "module.exports = {\n  extends: ['@commitlint/config-conventional'],\n  rules: {\n    \"subject-case\": [0],\n    \"scope-case\": [0],\n    \"header-max-length\": [1, \"always\", 72],\n    \"body-max-line-length\": [0],\n  },\n}\n"
  },
  {
    "path": "crawler/.dockerignore",
    "content": "# dependencies\nnode_modules\n\n# logs\nnpm-debug.log\n\n# codecov\ncoverage\n\n# docker\n.dockerignore\nbase.Dockerfile\nrelease.Dockerfile\n\n# make\nMakefile\n\n# vscode\n.vscode\n.ionide\n"
  },
  {
    "path": "crawler/.eslintrc.js",
    "content": "module.exports = {\n  root: true,\n  env: {\n    browser: true,\n    node: true,\n    es6: true,\n    'jest/globals': true,\n  },\n  parserOptions: {\n    parser: 'babel-eslint',\n    ecmaVersion: 8,\n  },\n  extends: [\n    'eslint:recommended',\n    // https://github.com/vuejs/eslint-plugin-vue#priority-a-essential-error-prevention\n    // consider switching to `plugin:vue/strongly-recommended` or `plugin:vue/recommended` for stricter rules.\n    'plugin:lodash/recommended',\n    'plugin:jest/recommended',\n  ],\n  // required to lint *.vue files\n  plugins: [\n    'lodash',\n    'jest',\n  ],\n  // add your custom rules here\n  rules: {\n    'semi': [2, 'never'],\n    'no-console': 'off',\n    'vue/max-attributes-per-line': 'off',\n    // 行末逗号：在多行中强制最后一项有逗号，单行中强制没有\n    'comma-dangle': ['error', 'always-multiline'],\n    'quotes': ['error', 'single'],\n    // 服务端不用管这个\n    'lodash/import-scope': 'off',\n    // 这个方法的可读性太低了\n    'lodash/matches-prop-shorthand': 'off',\n  },\n}\n"
  },
  {
    "path": "crawler/.gitignore",
    "content": "# Logs\nlogs\n*.log\nnpm-debug.log*\nyarn-debug.log*\nyarn-error.log*\n\n# Runtime data\npids\n*.pid\n*.seed\n*.pid.lock\n\n# Directory for instrumented libs generated by jscoverage/JSCover\nlib-cov\n\n# Coverage directory used by tools like istanbul\ncoverage\n\n# nyc test coverage\n.nyc_output\n\n# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)\n.grunt\n\n# Bower dependency directory (https://bower.io/)\nbower_components\n\n# node-waf configuration\n.lock-wscript\n\n# Compiled binary addons (https://nodejs.org/api/addons.html)\nbuild/Release\n\n# Dependency directories\nnode_modules/\njspm_packages/\n\n# Typescript v1 declaration files\ntypings/\n\n# Optional npm cache directory\n.npm\n\n# Optional eslint cache\n.eslintcache\n\n# Optional REPL history\n.node_repl_history\n\n# Output of 'npm pack'\n*.tgz\n\n# Yarn Integrity file\n.yarn-integrity\n\n# dotenv environment variables file\n.env\n\n# next.js build output\n.next\n"
  },
  {
    "path": "crawler/.vscode/launch.json",
    "content": "{\n    // 使用 IntelliSense 了解相关属性。 \n    // 悬停以查看现有属性的描述。\n    // 欲了解更多信息，请访问: https://go.microsoft.com/fwlink/?linkid=830387\n    \"version\": \"0.2.0\",\n    \"configurations\": [\n        {\n            \"type\": \"node\",\n            \"name\": \"vscode-jest-tests\",\n            \"request\": \"launch\",\n            \"args\": [\n                \"--runInBand\"\n            ],\n            \"cwd\": \"${workspaceFolder}\",\n            \"console\": \"integratedTerminal\",\n            \"internalConsoleOptions\": \"neverOpen\",\n            \"disableOptimisticBPs\": true,\n            \"program\": \"${workspaceFolder}/node_modules/jest/bin/jest\"\n        }\n    ]\n}"
  },
  {
    "path": "crawler/Makefile",
    "content": "## makefile for crawler\n\ninclude ../build/share.mk\n\nhelp:\n\t@echo run \\\"make help\\\" in root directory to get help\n\n.node-base:\n\tcd ../build && $(MAKE) -f node-base.mk build\n\n.base: .node-base\n\tdocker build . \\\n\t\t-f base.Dockerfile \\\n\t\t-t $(CrawlerBaseTag) \\\n\t\t$(build-args) \\\n\t\t--build-arg NODE_BASE_IMAGE=$(NodeBaseTag)\n\nbuild: .base\n\tdocker build . \\\n\t\t-f release.Dockerfile \\\n\t\t-t $(CrawlerTag) \\\n\t\t$(build-args) \\\n\t\t--build-arg CRAWLER_BASE_IMAGE=$(CrawlerBaseTag) \\\n\t\t--build-arg NODE_BASE_IMAGE=$(NodeBaseTag)\n\ntest: .base\n\tdocker run --rm -t $(CrawlerBaseTag) pnpm test\n\nrun: .base\n\tdocker run $(run-args) $(CrawlerBaseTag) $(run-cmd)\n\nclean:\n\tdocker image rm $(CrawlerTag) $(CrawlerBaseTag); true\n\ntest-ci: .base\n\tdocker run --rm \\\n\t\t-v \"$(CURDIR)/coverage:/var/project/coverage\" \\\n\t\t$(CrawlerBaseTag) \\\n\t\tpnpm test -- --colors \"--testPathPattern=__test__/(?!crawlers\\\\.test).*\\\\.js\"\n"
  },
  {
    "path": "crawler/README.md",
    "content": "存放爬虫，可以同时被前端和后端使用。部分爬虫可以同时在服务器\n端和浏览器端运行。\n\n## 爬虫编写要求\n\n### 爬虫源代码\n\n- 存放在 [./crawlers/](./crawlers/) 目录中\n- 一个文件存放一个爬虫的源代码\n- 文件名只能包含大小写英文字母、下划线和数字，且不能以数字开头\n- 爬虫使用 superagent 来收发请求，使用 cheerio 来解析请求\n- 将 `module.exports` 赋值成爬虫函数即可导出爬虫\n- 原则上不建议再引入其他的库。如果需要让爬虫在浏览器上运行，\n    不能导入项目中的其他源代码。\n- 爬虫函数中可以抛出任何异常（例如“用户不存在”），系统将会正确\n    处理这些异常。\n\n#### 爬虫函数格式\n\n参数：\n- options: {Object} - 爬虫的参数，可以在 `config.yml` 中配置，参见下文\n- username: {String} - 要爬取题量的用户名\n\n返回值:\n返回一个对象，其中包含如下属性\n- solved: {Number} - 用户在此网站上解决的题目数量\n- submissions: {Number} - 用户在此网站上的总提交数\n- solvedList: {Array<String>|undefined|null} - 用户通过的题目列表，为 null 或 undefined 表示该爬虫目前无法统计题目列表。\n    对于普通的爬虫（非 virtual judge），可以是如下的格式： \"1001\" 或者 \"301-A\" 之类的字符串，不需要附加爬虫名称。\n    对于 virtual judge 爬虫，请参考下方的文档。\n- submissionsByCrawlerName: {Object.{string, number}} - Submissions in each oj, only exists when the crawler is a virtual_judge crawler\n    Key is the name of crawler. If crawler does not exists in config, the name defined by virtual_judge.\n    Value is the submission count of the OJ.\n\n### 配置文件\n\n- 配置文件用来注册爬虫、确定爬虫类型和给爬虫提供额外信息\n- `config.yml` 配置文件会在前端编译时被读取，在 crawler-api-backend\n    运行时被读取。\n- 由于 `config.yml` 会被纳入版本控制和 docker 生成的镜像中。您可以使用环\n    境变量来配置一些敏感信息（例如 vjudge 就需要一个帐号的用户名和密码才能\n    访问其 API）。\n- 环境变量格式如下： `ACM_STATISTICS_CRAWLER_ENV__crawlers__vjudge__crawler_login_user=\"myuser\"`\n  - 必须使用前缀来表示环境变量是爬虫的环境变量，使用`__`来表示对象的字段。\n  - 结果将作为json解析，因此需要将字符串形式的值放进双引号中。\n  - 环境变量的名称将指定一个 `config.yml` 中的字段，并用值来覆盖它\n  - 也可以指定一个json格式的值，并覆盖整个对象，比如\n      `ACM_STATISTICS_CRAWLER_ENV__crawler_order=[\"hdu\", \"poj\"]`\n\n- 请注意，如果您需要在 config 中填写隐私信息，请将爬虫设置成\n    server_only。否则编译出的前端静态文件中将会含有您的隐私信息。\n    \n- 对于 crawler-api-backend 而言，由于在运行期间才会读取 config 文件，因\n    此可以用 docker 的 env 选项来设置环境变量。对于 frontend，会在生成 dcoker\n    镜像期间读取配置文件，因此需要在 docker-build 时指定 env 来覆盖配置。\n    \n#### 配置文件格式\n\n- name: {String} - 爬虫的名字，\n\n##### crawlers\n\n是一个对象，含有每个爬虫的配置项\n\ncrawlers 中的 key 是爬虫的名字，必须跟 crawlers 文件夹中的爬虫文件名相同\n    （不需要含有 `js` 后缀名）。\ncrawlers 中的 value 是一个字典，其中包含以下字段：\n- server_only: {Boolean} - 如果省略，为 false。\n    本字段表示爬虫是否只出现在服务器中。\n    如果为true，爬虫在前端的代码将是一个对服务器的api请求。\n    即不会在前端进行爬取，只在服务器运行此爬虫。\n- meta: 元信息，包含标题等等的信息，可以显示在前端或者用在爬虫API中\n  - title: {String} - OJ名，这是显示在前端上作为标题的\n  - description: {String} - OJ的说明，可以补充一些信息，会在前端显示出来。这是可选的\n  - url: {String} - 到OJ的链接，也是可选的。\n  - virtual_judge: {Boolean} - 是否是 virtual_judge，在计算题目列表时逻辑会稍有不同。\n- 其他字段: 配置文件中可以包含任何其他字段\n\n在运行爬虫时，crawlers中的每一项都会被传递给相应的爬虫（从\noptions 形参），爬虫可以在运行时读取相应的参数。\n\n您写在 meta 字段中的内容会被编译进前端页面，无论爬虫是否为 server_only\n\n##### crawler_order\n\n一个数组，每个元素是一个字符串，表示爬虫的名字。这里的名字必须和 `crawlers` 中的key对应，\n也和爬虫的文件对应。系统将根据这里的配置文件装配爬虫，也就是说只要在配置文件中删除此字段，\n本爬虫就不会被装配，不会出现在前端或后端中。这个数组的顺序决定了爬虫在前端页面中的显示顺序。\n\n### 额外信息\n\n在爬虫的 config 属性里也会被传入额外的信息，此信息会在 configReader 中自动生成，也可以被\n配置文件中的同名字段覆盖。\n\n- env: {String} - 当前爬虫在哪里运行\n  - 'server': 如果爬虫函数正在服务器上运行，传入此值\n  - 'browser': 浏览器……\n\n### virtual judge 爬虫\n\n对于 vjudge 这样的爬虫，为了避免重复计算题目列表，需要使用 solvedList 来表示所有通过的题目，然后进行去重。\n返回的 solvedList 格式如下： \"{爬虫名}-{题目编号}\"。爬虫名为对应的爬虫的 name（即文件名）。题目编号必须跟该爬虫返回的编号格式相同。\n比如 \"hdu-2001\"。如果当前不存在此类的爬虫，使用一个和当前爬虫不重复的名字即可。\n\n### 参考\n\n您可以参考 hdu 爬虫和 vjudge 爬虫来编写您的爬虫，这两个分别是\n前后端通用爬虫和server_only爬虫。\n\n## 测试\n\n`test/crawlers.test.js` 中有爬虫的测试文件，原则上测试用例应该至少覆盖主路径\n"
  },
  {
    "path": "crawler/__mocks__/fs.js",
    "content": "const {fs} = require('memfs')\n\nmodule.exports = fs\n"
  },
  {
    "path": "crawler/__test__/__snapshots__/crawlers.test.js.snap",
    "content": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`vjudge should work correctly 1`] = `\nObject {\n  \"solved\": 392,\n  \"solvedList\": Array [\n    \"hdu-3966\",\n    \"hdu-2063\",\n    \"poj-1113\",\n    \"poj-3264\",\n    \"timus-1348\",\n    \"dashiye-2243\",\n    \"hdu-2243\",\n    \"poj-1111\",\n    \"poj-2236\",\n    \"hdu-3473\",\n    \"poj-2104\",\n    \"hdu-4607\",\n    \"hdu-3714\",\n    \"hdu-1050\",\n    \"hdu-1009\",\n    \"hdu-2037\",\n    \"hdu-1166\",\n    \"hdu-2017\",\n    \"LightOJ-1030\",\n    \"hdu-1054\",\n    \"poj-2311\",\n    \"hdu-1907\",\n    \"timus-1180\",\n    \"LightOJ-1186\",\n    \"hdu-1404\",\n    \"LightOJ-1247\",\n    \"LightOJ-1199\",\n    \"LightOJ-1253\",\n    \"LightOJ-1192\",\n    \"hdu-4847\",\n    \"poj-2318\",\n    \"LightOJ-1004\",\n    \"hdu-1848\",\n    \"poj-3237\",\n    \"spoj-QTREE\",\n    \"dashiye-1036\",\n    \"hdu-4825\",\n    \"uvalive-7340\",\n    \"codeforces-165E\",\n    \"codeforces-492E\",\n    \"codeforces-338D\",\n    \"poj-1330\",\n    \"poj-3468\",\n    \"codeforces-327C\",\n    \"codeforces-334C\",\n    \"dashiye-1500\",\n    \"dashiye-2002\",\n    \"hdu-5058\",\n    \"hdu-4456\",\n    \"hdu-5692\",\n    \"dashiye-1854\",\n    \"poj-1151\",\n    \"hdu-1394\",\n    \"hdu-1556\",\n    \"hdu-1541\",\n    \"hdu-3038\",\n    \"hdu-1506\",\n    \"hdu-4496\",\n    \"poj-1182\",\n    \"hdu-5045\",\n    \"hdu-3652\",\n    \"hdu-2167\",\n    \"poj-1185\",\n    \"poj-2342\",\n    \"hdu-4055\",\n    \"hdu-3853\",\n    \"codeforces-512B\",\n    \"poj-2411\",\n    \"hdu-2571\",\n    \"hdu-2476\",\n    \"hdu-2084\",\n    \"hdu-1231\",\n    \"OpenJ_Bailian-1088\",\n    \"hdu-1494\",\n    \"hdu-2191\",\n    \"poj-1088\",\n    \"hdu-5094\",\n    \"hdu-2579\",\n    \"codeforces-540C\",\n    \"hdu-1495\",\n    \"codeforces-429B\",\n    \"hdu-4127\",\n    \"hdu-1043\",\n    \"poj-1077\",\n    \"hdu-4403\",\n    \"hdu-2510\",\n    \"hdu-1175\",\n    \"hdu-1455\",\n    \"poj-1011\",\n    \"codeforces-501E\",\n    \"codeforces-442A\",\n    \"hdu-2446\",\n    \"codeforces-446B\",\n    \"codeforces-490E\",\n    \"codeforces-500C\",\n    \"codeforces-478C\",\n    \"codeforces-451B\",\n    \"codeforces-462B\",\n    \"codeforces-460B\",\n    \"codeforces-456A\",\n    \"poj-2387\",\n    \"codeforces-442B\",\n    \"codeforces-415A\",\n    \"codeforces-369A\",\n    \"poj-1651\",\n    \"hdu-4763\",\n    \"hdu-2896\",\n    \"hdu-1251\",\n    \"uva-11183\",\n    \"hdu-4081\",\n    \"hdu-2222\",\n    \"hdu-3336\",\n    \"hdu-1711\",\n    \"hdu-4430\",\n    \"poj-1961\",\n    \"poj-3461\",\n    \"poj-2752\",\n    \"hdu-2112\",\n    \"poj-2728\",\n    \"poj-1287\",\n    \"poj-2823\",\n    \"hdu-3410\",\n    \"hdu-5444\",\n    \"poj-1577\",\n    \"hdu-3415\",\n    \"poj-2255\",\n    \"codeforces-689D\",\n    \"hdu-3791\",\n    \"poj-1470\",\n    \"hdu-5289\",\n    \"uva-10090\",\n    \"hdu-5443\",\n    \"dashiye-1012\",\n    \"hdu-2795\",\n    \"poj-2182\",\n    \"poj-2352\",\n    \"poj-1064\",\n    \"hdu-1538\",\n    \"hdu-2177\",\n    \"poj-1740\",\n    \"hdu-2176\",\n    \"hdu-1527\",\n    \"hdu-1849\",\n    \"hdu-1564\",\n    \"poj-2484\",\n    \"hdu-1847\",\n    \"hdu-1846\",\n    \"poj-3122\",\n    \"codeforces-100989C\",\n    \"codeforces-100989A\",\n    \"poj-3301\",\n    \"poj-3579\",\n    \"poj-2456\",\n    \"hdu-4349\",\n    \"poj-1363\",\n    \"hdu-3037\",\n    \"poj-1845\",\n    \"hdu-5673\",\n    \"LightOJ-1370\",\n    \"poj-2992\",\n    \"hdu-4497\",\n    \"hdu-1215\",\n    \"LightOJ-1236\",\n    \"poj-3090\",\n    \"hdu-3001\",\n    \"poj-2096\",\n    \"poj-3254\",\n    \"poj-1163\",\n    \"poj-1157\",\n    \"hdu-4389\",\n    \"hdu-2089\",\n    \"poj-2378\",\n    \"poj-1463\",\n    \"codeforces-472C\",\n    \"codeforces-330C\",\n    \"codeforces-330B\",\n    \"codeforces-330A\",\n    \"poj-2286\",\n    \"fzu-2150\",\n    \"codechef-DIGROT\",\n    \"poj-1190\",\n    \"uva-12558\",\n    \"codechef-HOTEL\",\n    \"poj-3126\",\n    \"poj-1426\",\n    \"poj-2251\",\n    \"poj-1321\",\n    \"poj-3278\",\n    \"hdu-2897\",\n    \"hdu-1730\",\n    \"codeforces-388C\",\n    \"codechef-DRAGNXOR\",\n    \"hdu-2147\",\n    \"hdu-3389\",\n    \"poj-2368\",\n    \"poj-2485\",\n    \"poj-1861\",\n    \"poj-1258\",\n    \"poj-1177\",\n    \"hdu-2193\",\n    \"uvalive-4648\",\n    \"hdu-4006\",\n    \"poj-1251\",\n    \"hdu-3068\",\n    \"zoj-1610\",\n    \"poj-2632\",\n    \"poj-2528\",\n    \"uvalive-6833\",\n    \"uva-12718\",\n    \"hdu-2064\",\n    \"hdu-2013\",\n    \"hdu-2010\",\n    \"hdu-2032\",\n    \"hdu-2012\",\n    \"hdu-2026\",\n    \"hdu-2020\",\n    \"hdu-1164\",\n    \"hdu-1754\",\n    \"poj-1990\",\n    \"poj-2299\",\n    \"poj-2481\",\n    \"hdu-4686\",\n    \"codeforces-675C\",\n    \"hdu-2629\",\n    \"uva-10305\",\n    \"poj-3067\",\n    \"codeforces-450B\",\n    \"hdu-1061\",\n    \"LightOJ-1009\",\n    \"uva-705\",\n    \"uva-10050\",\n    \"uva-540\",\n    \"uva-11111\",\n    \"poj-3070\",\n    \"hdu-2035\",\n    \"poj-1458\",\n    \"LightOJ-1046\",\n    \"LightOJ-1039\",\n    \"hdu-4850\",\n    \"codeforces-667C\",\n    \"LightOJ-1012\",\n    \"LightOJ-1037\",\n    \"uva-297\",\n    \"uva-784\",\n    \"uva-572\",\n    \"uva-657\",\n    \"LightOJ-1032\",\n    \"LightOJ-1033\",\n    \"LightOJ-1038\",\n    \"LightOJ-1044\",\n    \"uva-401\",\n    \"uva-10010\",\n    \"uva-10361\",\n    \"uva-548\",\n    \"uva-442\",\n    \"uva-673\",\n    \"uva-10152\",\n    \"uva-133\",\n    \"uva-712\",\n    \"uva-127\",\n    \"uva-112\",\n    \"uva-340\",\n    \"uva-101\",\n    \"LightOJ-1303\",\n    \"LightOJ-1048\",\n    \"LightOJ-1056\",\n    \"hdu-1221\",\n    \"zoj-2290\",\n    \"timus-1792\",\n    \"LightOJ-1212\",\n    \"LightOJ-1113\",\n    \"uva-10420\",\n    \"LightOJ-1031\",\n    \"LightOJ-1027\",\n    \"LightOJ-1025\",\n    \"LightOJ-1021\",\n    \"LightOJ-1018\",\n    \"LightOJ-1017\",\n    \"LightOJ-1013\",\n    \"LightOJ-1011\",\n    \"poj-3125\",\n    \"hdu-1021\",\n    \"hdu-1285\",\n    \"poj-2785\",\n    \"poj-1979\",\n    \"poj-1995\",\n    \"poj-1006\",\n    \"hdu-5612\",\n    \"hdu-1045\",\n    \"codeforces-651B\",\n    \"codeforces-609A\",\n    \"codeforces-615A\",\n    \"codeforces-515C\",\n    \"fzu-1327\",\n    \"poj-2478\",\n    \"codeforces-405B\",\n    \"codeforces-580B\",\n    \"hdu-4699\",\n    \"poj-1013\",\n    \"poj-1012\",\n    \"hdu-4602\",\n    \"hdu-4198\",\n    \"hdu-3833\",\n    \"hdu-3723\",\n    \"hdu-4161\",\n    \"hdu-4151\",\n    \"hdu-4104\",\n    \"hdu-3664\",\n    \"poj-2362\",\n    \"hdu-3579\",\n    \"poj-2503\",\n    \"zoj-2772\",\n    \"zoj-2388\",\n    \"hdu-2001\",\n    \"hdu-2002\",\n    \"hdu-2003\",\n    \"hdu-2000\",\n    \"poj-1915\",\n    \"poj-1023\",\n    \"poj-1056\",\n    \"poj-3258\",\n    \"poj-3273\",\n    \"poj-3104\",\n    \"hdu-1031\",\n    \"hdu-1225\",\n    \"hdu-4508\",\n    \"hdu-4510\",\n    \"hdu-4505\",\n    \"poj-2243\",\n    \"poj-2488\",\n    \"hdu-1016\",\n    \"poj-3190\",\n    \"poj-3624\",\n    \"poj-1061\",\n    \"hdu-4864\",\n    \"poj-3672\",\n    \"poj-2272\",\n    \"poj-3984\",\n    \"poj-1562\",\n    \"poj-1019\",\n    \"poj-1007\",\n    \"hdu-1896\",\n    \"poj-2393\",\n    \"poj-2782\",\n    \"hdu-1023\",\n    \"poj-1456\",\n    \"hdu-2303\",\n    \"poj-2833\",\n    \"poj-2463\",\n    \"hdu-1075\",\n    \"hdu-1022\",\n    \"hdu-2057\",\n    \"hdu-4310\",\n    \"hdu-1018\",\n    \"hdu-1789\",\n    \"hdu-1263\",\n    \"hdu-2051\",\n    \"hdu-2050\",\n    \"hdu-1004\",\n    \"hdu-1027\",\n    \"hdu-1033\",\n    \"poj-2242\",\n    \"hdu-1228\",\n    \"hdu-1029\",\n    \"poj-1001\",\n    \"poj-1573\",\n    \"hdu-1035\",\n    \"poj-3750\",\n    \"uva-1225\",\n    \"zoj-2482\",\n    \"hdu-2098\",\n    \"poj-2769\",\n    \"poj-3006\",\n    \"hdu-1019\",\n    \"hdu-1030\",\n    \"hdu-1034\",\n    \"hdu-1013\",\n    \"poj-2196\",\n    \"hdu-1002\",\n    \"hdu-2045\",\n    \"codeforces-436B\",\n    \"codeforces-387B\",\n    \"codeforces-387A\",\n    \"poj-2993\",\n    \"poj-2996\",\n    \"poj-1099\",\n    \"hdu-2054\",\n    \"hdu-1032\",\n    \"codeforces-384A\",\n    \"codeforces-399A\",\n    \"SCU-4424\",\n    \"hdu-2039\",\n  ],\n  \"submissions\": 1282,\n  \"submissionsByCrawlerName\": Object {\n    \"LightOJ\": 71,\n    \"OpenJ_Bailian\": 1,\n    \"SCU\": 5,\n    \"codechef\": 7,\n    \"codeforces\": 109,\n    \"dashiye\": 24,\n    \"fzu\": 2,\n    \"hdu\": 523,\n    \"poj\": 398,\n    \"spoj\": 1,\n    \"timus\": 8,\n    \"uva\": 111,\n    \"uvalive\": 6,\n    \"zoj\": 16,\n  },\n}\n`;\n"
  },
  {
    "path": "crawler/__test__/configReader.test.js",
    "content": "const configReader = require('../lib/configReader')\nconst _ = require('lodash')\n\ntest('readConfigs 能够正确读取配置', async () => {\n  const config = await configReader.readConfigs()\n  expect(config.crawlers.length).not.toBe(0)\n\n  const pojConfig = config.crawlers.poj\n  expect(pojConfig).toBeTruthy()\n  expect(pojConfig.meta).toBeTruthy()\n\n})\n\ntest('readCrawlerConfigs 能够正确读取配置', async () => {\n  const config = await configReader.readCrawlerConfigs()\n  expect(config.length).not.toBe(0)\n\n  const pojConfig = _.find(config, item => item.name === 'poj')\n  expect(pojConfig).toBeTruthy()\n  expect(pojConfig.meta).toBeTruthy()\n})\n\ndescribe('mergeConfigWithEnv', () => {\n\n  it('能够正确合并信息', () => {\n\n    const baseConfig = {\n      a: {\n        b: [{}],\n        d: 333,\n      },\n    }\n\n    configReader.mergeConfigWithEnv(baseConfig, {\n      'ACM_STATISTICS_CRAWLER_ENV__a__b__1__c': 12,\n    })\n\n    expect(baseConfig).toMatchObject({\n      a: {\n        b: [{}, {c: 12}],\n        d: 333,\n      },\n    })\n  })\n\n  it('能够合并json的信息', () => {\n\n    const baseConfig = {\n      a: 1,\n    }\n\n    configReader.mergeConfigWithEnv(baseConfig, {\n      'ACM_STATISTICS_CRAWLER_ENV__a': '{\"b\":{\"c\":\"aaa\"}}',\n    })\n\n    expect(baseConfig).toMatchObject({\n      a: {\n        b: {\n          c: 'aaa',\n        },\n      },\n    })\n  })\n\n  it('只导入有指定前缀的环境变量', () => {\n\n    const baseConfig = {}\n    configReader.mergeConfigWithEnv(baseConfig, {\n      'NNNNNN': 'asdf',\n    })\n    expect(baseConfig).toMatchObject({})\n\n  })\n\n  it('能够导入字符串环境变量', () => {\n\n    const baseConfig = {}\n    configReader.mergeConfigWithEnv(baseConfig, {\n      'ACM_STATISTICS_CRAWLER_ENV__a': '\"{asdf}\"',\n    })\n    expect(baseConfig).toMatchObject({\n      a: '{asdf}',\n    })\n  })\n})\n\ntest('readMetaConfigs 能够读取元信息', async () => {\n  const meta = await configReader.readMetaConfigs()\n  expect(meta.vjudge).toBeTruthy()\n  expect(meta.vjudge.title).toBe('VJudge')\n  expect(meta.vjudge.description).toBeTruthy()\n  expect(meta.vjudge.virtual_judge).toBe(true)\n})\n"
  },
  {
    "path": "crawler/__test__/crawlers.test.js",
    "content": "const _ = require('lodash')\n\nconst poj = require('../crawlers/poj')\nconst hdu = require('../crawlers/hdu')\nconst zoj = require('../crawlers/zoj')\nconst dashiye = require('../crawlers/dashiye')\nconst codeforces = require('../crawlers/codeforces')\nconst uva = require('../crawlers/uva')\nconst uvalive = require('../crawlers/uvalive')\nconst fzu = require('../crawlers/fzu')\nconst spoj = require('../crawlers/spoj')\nconst timus = require('../crawlers/timus')\nconst leetcode_cn = require('../crawlers/leetcode_cn')\nconst vjudge = require('../crawlers/vjudge')\nconst csu = require('../crawlers/csu')\nconst loj = require('../crawlers/loj')\nconst luogu = require('../crawlers/luogu')\nconst nowcoder = require('../crawlers/nowcoder')\nconst uestc = require('../crawlers/uestc')\nconst atcoder = require('../crawlers/atcoder')\nconst aizu = require('../crawlers/aizu')\nconst codechef = require('../crawlers/codechef')\nconst eljudge = require('../crawlers/eljudge')\nconst bnu = require('../crawlers/bnu')\nconst codewars = require('../crawlers/codewars')\nconst uoj = require('../crawlers/uoj')\nconst nbut = require('../crawlers/nbut')\nconst nod = require('../crawlers/nod')\nconst nit = require('../crawlers/nit')\nconst dmoj = require('../crawlers/dmoj')\nconst sdutoj = require('../crawlers/sdutoj')\n\nconst { readConfigs } = require('../lib/configReader')\n\njest.setTimeout(10000) // 最多10秒\n\nconst notExistUsername = 'fmv84zcq3hwu'\nconst username = 'vjudge5'\n\n// 另外，感谢 @leoloveacm, @2013300262 同学提供测试帐号\n\ndescribe('poj', () => {\n\n  test('should throw when user does not exist', async () => {\n    await expect(poj(null, notExistUsername)).rejects.toThrow('The user does not exist')\n  })\n\n  test('can recognize username with space', async () => {\n    await expect(poj(null, ' ' + notExistUsername)).rejects.toThrow('The user does not exist')\n  })\n\n  test('should work correctly', async () => {\n    const res = await poj(null, username)\n    checkRes(res)\n    expect(res.solvedList).toContain('1001')\n  })\n\n})\n\ndescribe('hdu', () => {\n\n  const config = {\n    env: 'server',\n  }\n\n  test('should throw when user does not exist', async () => {\n    await expect(hdu(config, notExistUsername)).rejects.toThrow('The user does not exist')\n  })\n\n  test('can recognize username with space', async () => {\n    await expect(hdu(config, ' ' + notExistUsername)).rejects.toThrow('The user does not exist')\n  })\n\n  test('should work correctly', async () => {\n    const res = await hdu(config, 'vjudge4')\n    checkRes(res)\n    expect(res.solvedList).toContain('1001')\n  })\n\n})\n\ndescribe('zoj', () => {\n\n  test('should throw when user does not exist', async () => {\n    await expect(zoj(null, notExistUsername)).rejects.toThrow('The user does not exist')\n  })\n\n  test('can recognize username with space', async () => {\n    await expect(zoj(null, ' ' + notExistUsername)).rejects.toThrow('The user does not exist')\n  })\n\n  test('should work correctly', async () => {\n    const res = await zoj(null, 'IamRobot')\n    checkRes(res)\n    expect(res.solvedList).toContain('1001')\n    // so it is really slow...\n  }, 30000)\n\n})\n\ndescribe('dashiye', () => {\n\n  test('should throw when user does not exist', async () => {\n    await expect(dashiye(null, notExistUsername)).rejects.toThrow('The user does not exist')\n  })\n\n  test('can recognize username with space', async () => {\n    await expect(dashiye(null, ' ' + notExistUsername)).rejects.toThrow('The user does not exist')\n  })\n\n  test('should work correctly', async () => {\n    const res = await dashiye(null, 'root')\n    checkRes(res)\n    expect(res.solvedList).toContain('1001')\n  })\n\n})\n\ndescribe('codeforces', () => {\n\n  test('should throw when user does not exist', async () => {\n    await expect(codeforces(null, notExistUsername)).rejects.toThrow('The user does not exist')\n  })\n\n  test('can recognize username with space', async () => {\n    await expect(codeforces(null, ' ' + notExistUsername)).rejects.toThrow('handle: Field should contain only Latin letters, digits, underscore or dash characters')\n  })\n\n  test('should work correctly', async () => {\n    const res = await codeforces(null, 'leoloveacm') // 没有找到好的测试多页返回的帐号，还是用这个测试单页吧\n    checkRes(res)\n\n    expect(new Set(res.solvedList)).toMatchObject(new Set([\n      '754B', '165E', '492E', '338D', '333A', '703A', '540C', '680B', '680A', '676A', '450B', '667A', '667C',\n    ]))\n  })\n\n})\n\ndescribe('uva', () => {\n\n  test('should throw when user does not exist', async () => {\n    await expect(uva(null, notExistUsername)).rejects.toThrow('The user does not exist')\n  })\n\n  test('can recognize username with space', async () => {\n    await expect(uva(null, ' ' + notExistUsername)).rejects.toThrow('The user does not exist')\n  })\n\n  test('should work correctly', async () => {\n    const res = await uva(null, 'leoloveacm')\n    checkRes(res)\n    expect(res.solvedList).toContain('1395')\n  })\n\n})\n\ndescribe('uvalive', () => {\n\n  test('should throw when user does not exist', async () => {\n    await expect(uvalive(null, notExistUsername)).rejects.toThrow('The user does not exist')\n  })\n\n  test('can recognize username with space', async () => {\n    await expect(uvalive(null, ' ' + notExistUsername)).rejects.toThrow('The user does not exist')\n  })\n\n  test('should work correctly', async () => {\n    const res = await uvalive(null, 'npuacm')\n    checkRes(res)\n    expect(res.solved).toBe(2)\n    expect(res.submissions).toBe(3)\n    expect(new Set(res.solvedList)).toMatchObject(new Set([\n      '4445',\n      '3198',\n    ]))\n  })\n\n})\n\ndescribe('fzu', () => {\n\n  test('should throw when user does not exist', async () => {\n    await expect(fzu(null, notExistUsername)).rejects.toThrow('The user does not exist')\n  })\n\n  test('can recognize username with space', async () => {\n    await expect(fzu(null, ' ' + notExistUsername))\n      .rejects.toThrow('The crawler does not support username with spaces')\n  })\n\n  test('should work correctly', async () => {\n    const res = await fzu(null, username)\n    checkRes(res)\n    expect(res.solvedList).toContain('1001')\n  })\n\n})\n\ndescribe('spoj', () => {\n\n  test('should throw when user does not exist', async () => {\n    await expect(spoj(null, notExistUsername)).rejects.toThrow('The user does not exist')\n  })\n\n  test('can recognize username with space', async () => {\n    await expect(spoj(null, ' ' + notExistUsername)).rejects.toThrow('The user does not exist')\n  })\n\n  test('should work correctly', async () => {\n    const res = await spoj(null, username)\n    checkRes(res)\n    expect(res.solvedList).toContain('ABA12D')\n  })\n\n})\n\ndescribe('timus', () => {\n\n  test('should throw when user does not exist', async () => {\n    await expect(timus(null, notExistUsername)).rejects.toThrow('The user does not exist')\n  })\n\n  test('can recognize username with space', async () => {\n    await expect(timus(null, ' ' + notExistUsername)).rejects.toThrow('The user does not exist')\n  })\n\n  test('should work correctly', async () => {\n    const res = await timus(null, 'vjudge11')\n    checkRes(res)\n    expect(res.submissions).toBeGreaterThan(10)\n    expect(res.solvedList).toContain('1387')\n  })\n\n})\n\ndescribe('leetcode_cn', () => {\n\n  test('should throw when user does not exist', async () => {\n    await expect(leetcode_cn(null, notExistUsername)).rejects.toThrow('The user does not exist')\n  })\n\n  test('can recognize username with space', async () => {\n    await expect(leetcode_cn(null, ' ' + notExistUsername)).rejects.toThrow('The user does not exist')\n  })\n\n  // eslint-disable-next-line jest/expect-expect\n  test('should work correctly', async () => {\n    const res = await leetcode_cn(null, 'wwwlsmcom')\n    checkRes(res)\n  })\n\n})\n\ndescribe('csu', () => {\n\n  test('should throw when user does not exist', async () => {\n    await expect(csu(null, notExistUsername)).rejects.toThrow('The user does not exist')\n  })\n\n  test('can recognize username with space', async () => {\n    await expect(csu(null, ' ' + notExistUsername)).rejects.toThrow('The user does not exist')\n  })\n\n  test('should work correctly', async () => {\n    const res = await csu(null, username)\n    checkRes(res)\n    expect(res.solvedList).toContain('1001')\n  })\n\n})\n\ndescribe('vjudge', () => {\n\n  let vjConfig\n\n  beforeAll(async () => {\n    const config = await readConfigs()\n    // config should be read to test the crawler\n    // you can set environment variable according to README.md\n    vjConfig = config.crawlers.vjudge\n  })\n\n  test('ensure config exists and is correct', () => {\n    expect(vjConfig).toBeTruthy()\n    expect(vjConfig.crawler_login_user).toBeTruthy()\n    expect(vjConfig.crawler_login_user).not.toBe('用户名')\n    expect(vjConfig.crawler_login_password).toBeTruthy()\n    expect(vjConfig.crawler_login_password).not.toBe('密码')\n\n    // console.log(vjConfig)\n  })\n\n  test('should throw when user does not exist', async () => {\n    await expect(vjudge(vjConfig, notExistUsername)).rejects.toThrow('The user does not exist')\n  })\n\n  test('can recognize username with space', async () => {\n    await expect(vjudge(vjConfig, ' ' + notExistUsername)).rejects.toThrow('The user does not exist')\n  })\n\n  test('should work correctly', async () => {\n    const res = await vjudge(vjConfig, 'leoloveacm')\n    checkRes(res)\n    expect(res.solvedList).toContain('codeforces-436B')\n    expect(res.submissionsByCrawlerName).toBeTruthy()\n    expect(res.submissionsByCrawlerName.hdu).toBeGreaterThan(100)\n    expect(res).toMatchSnapshot()\n  }, 50000)\n})\n\ndescribe('loj', () => {\n\n  test('should throw when user does not exist', async () => {\n    await expect(loj(null, notExistUsername)).rejects.toThrow('The user does not exist')\n  })\n\n  test('should work correctly', async () => {\n    const res = await loj(null, 'cz_xuyixuan') // 自定义存在的用户名\n    checkRes(res)\n    expect(res.solvedList).toContain('103')\n  }, 50000)\n\n})\n\ndescribe('luogu', () => {\n\n  test('should throw when user does not exist', async () => {\n    await expect(luogu(null, notExistUsername)).rejects.toThrow('The user does not exist')\n  }, 50000)\n\n  test('can recognize username with space', async () => {\n    await expect(luogu(null, ' ' + notExistUsername)).rejects.toThrow('The user does not exist')\n  }, 50000)\n\n  test('should work correctly', async () => {\n    const res = await luogu(null, '811437') // user_id\n    checkRes(res)\n    expect(res.solvedList).toContain('P1001')\n    expect(res.solvedList.length).toBeGreaterThan(100)\n  }, 50000)\n\n  test('should handle the user with submission bigger than 1000 correctly', async () => {\n    const res = await luogu(null, 'NaCly_Fish')\n    checkRes(res)\n    expect(res.submissions).toBeGreaterThan(1000)\n  }, 50000)\n})\n\ndescribe('nowcoder', () => {\n\n  test('should throw when user does not exist', async () => {\n    await expect(nowcoder(null, '11')).rejects.toThrow('The user does not exist')\n  })\n\n  test('should recognize usernames that are not ID', async () => {\n    await expect(nowcoder(null, 'wwwlsmcom')).rejects.toThrow('牛客网的输入必须是用户ID（数字格式）')\n    await expect(nowcoder(null, '123wwwlsmcom')).rejects.toThrow('牛客网的输入必须是用户ID（数字格式）')\n    await expect(nowcoder(null, '123 wwwlsmcom')).rejects.toThrow('牛客网的输入必须是用户ID（数字格式）')\n    await expect(nowcoder(null, ' wwwlsmcom')).rejects.toThrow('牛客网的输入必须是用户ID（数字格式）')\n  })\n\n  test('should work correctly', async () => {\n    const res = await nowcoder(null, '112946')\n    checkRes(res)\n    expect(res.solvedList).toContain('16632')\n  })\n\n})\n\ndescribe('uestc', () => {\n\n  test('should throw when user does not exist', async () => {\n    await expect(uestc(null, notExistUsername)).rejects.toThrow('The user does not exist')\n  })\n\n  test('can recognize username with space', async () => {\n    await expect(uestc(null, ' ' + notExistUsername)).rejects.toThrow('The user does not exist')\n  })\n\n  test('should work correctly', async () => {\n    const res = await uestc(null, 'HeRaNO')\n    checkRes(res)\n    expect(res.solvedList).toContain('1490')\n\n    const newRes = await uestc(null, 'acm-statistics-test')\n    expect(newRes).toMatchObject({\n      submissions: 3,\n      solved: 1,\n      solvedList: ['1'],\n    })\n  })\n\n})\n\ndescribe('atcoder', () => {\n\n  test('should throw when user does not exist', async () => {\n    await expect(atcoder(null, notExistUsername)).rejects.toThrow('The user does not exist')\n  })\n\n  test('can recognize username with space', async () => {\n    await expect(atcoder(null, ' ' + notExistUsername)).rejects.toThrow('The user does not exist')\n  })\n\n  test('should work correctly', async () => {\n    const res = await atcoder(null, 'wata')\n\n    expect(typeof res.solved).toBe('number')\n    expect(typeof res.submissions).toBe('number')\n\n    expect(res.solved).toBeGreaterThan(0)\n    expect(res.submissions).toBe(res.solved)\n  })\n\n})\n\ndescribe('aizu', () => {\n\n  test('should throw when user does not exist', async () => {\n    await expect(aizu(null, notExistUsername)).rejects.toThrow('The user does not exist')\n  })\n\n  test('can recognize username with space', async () => {\n    await expect(aizu(null, ' ' + notExistUsername)).rejects.toThrow('The user does not exist')\n  })\n\n  test('should work correctly', async () => {\n    const res = await aizu(null, username)\n    checkRes(res)\n    expect(res.solvedList).toContain('ALDS1_3_C')\n  })\n\n})\n\ndescribe('codechef', () => {\n\n  test('should throw when user does not exist', async () => {\n    await expect(codechef(null, notExistUsername)).rejects.toThrow('The user does not exist')\n  })\n\n  test('can recognize username with space', async () => {\n    await expect(codechef(null, ' ' + notExistUsername)).rejects.toThrow('The user does not exist')\n  })\n\n  test('should work correctly', async () => {\n    // don't know why, but in vjudge2 - vjudge5, solvedList does not match solved count\n    const res = await codechef(null, 'vjudge')\n    checkRes(res)\n    expect(res.solvedList).toContain('KGOOD')\n  })\n\n})\n\ndescribe('eljudge', () => {\n\n  test('should throw when user does not exist', async () => {\n    await expect(eljudge(null, notExistUsername)).rejects.toThrow('The user does not exist')\n  })\n\n  test('can recognize username with space', async () => {\n    await expect(eljudge(null, ' ' + notExistUsername)).rejects.toThrow('The user does not exist')\n  })\n\n  test('should work correctly', async () => {\n    const res = await eljudge(null, 'vjudge5')\n    checkRes(res)\n    expect(res.solvedList).toContain('000')\n  })\n\n})\n\ndescribe('bnu', () => {\n\n  test('should throw when user does not exist', async () => {\n    await expect(bnu(null, notExistUsername)).rejects.toThrow('The user does not exist')\n  })\n\n  test('can recognize username with space', async () => {\n    await expect(bnu(null, ' ' + notExistUsername)).rejects.toThrow('The user does not exist')\n  })\n\n  test('should work correctly', async () => {\n    const res = await bnu(null, '51isoft')\n    checkRes(res)\n    expect(res.solvedList).toBeNull()\n  })\n\n})\n\ndescribe('codewars', () => {\n\n  test('should throw when user does not exist', async () => {\n    await expect(codewars(null, notExistUsername)).rejects.toThrow('The user does not exist')\n  })\n\n  test('can recognize username with space', async () => {\n    await expect(codewars(null, ' ' + notExistUsername)).rejects.toThrow('The user does not exist')\n  })\n\n  test('should work correctly', async () => {\n    const res = await codewars(null, 'Liu233w')\n\n    expect(typeof res.solved).toBe('number')\n    expect(typeof res.submissions).toBe('number')\n\n    expect(res.solved).toBeGreaterThan(0)\n    expect(res.submissions).toBe(res.solved)\n\n    expect(res.solvedList.length).toBe(res.solved)\n    expect(res.solvedList).toContain('equal-sides-of-an-array')\n  })\n\n})\n\ndescribe('uoj', () => {\n\n  test('should throw when user does not exist', async () => {\n    await expect(uoj(null, notExistUsername)).rejects.toThrow('The user does not exist')\n  })\n\n  test('can recognize username with space', async () => {\n    await expect(uoj(null, ' ' + notExistUsername)).rejects.toThrow('The user does not exist')\n  })\n\n  test('should work correctly', async () => {\n    // it is an administration account, so I guess it's fine\n    const res = await uoj(null, 'matthew99')\n    checkRes(res)\n    expect(res.solvedList).toContain('30')\n  })\n\n})\n\ndescribe('nbut', () => {\n\n  test('should throw when user does not exist', async () => {\n    await expect(nbut(null, notExistUsername)).rejects.toThrow('The user does not exist')\n  })\n\n  test('can recognize username with space', async () => {\n    await expect(nbut(null, ' ' + notExistUsername))\n      .rejects.toThrow('The crawler does not support username with spaces')\n  })\n\n  test('should work correctly', async () => {\n    // it is an administration account, so I guess it's fine\n    const res = await nbut(null, username)\n    checkRes(res)\n    expect(res.solvedList).toContain('1010')\n  })\n\n})\n\ndescribe('nod', () => {\n\n  test('should throw when user does not exist', async () => {\n    await expect(nod(null, notExistUsername)).rejects.toThrow('The user does not exist')\n  })\n\n  test('can recognize username with space', async () => {\n    await expect(nod(null, ' ' + notExistUsername)).rejects.toThrow('The user does not exist')\n  })\n\n  test('should work correctly', async () => {\n    // vjudge\n    const res = await nod(null, '张翼德')\n    checkRes(res)\n    expect(res.solvedList).toContain('1079')\n  })\n\n})\n\ndescribe('nit', () => {\n\n  test('should throw when user does not exist', async () => {\n    await expect(nit(null, notExistUsername)).rejects.toThrow('The user does not exist')\n  })\n\n  test('can recognize username with space', async () => {\n    await expect(nit(null, ' ' + notExistUsername)).rejects.toThrow('The user does not exist')\n  })\n\n  test('should work correctly', async () => {\n    const res = await nit(null, 'teito')\n    checkRes(res)\n    expect(res.solvedList).toContain('nit-100')\n    expect(res.solvedList).toContain('hdu-2097')\n  })\n\n})\n\ndescribe('dmoj', () => {\n\n  test('should throw when user does not exist', async () => {\n    await expect(dmoj(null, notExistUsername)).rejects.toThrow('The user does not exist')\n  })\n\n  test('can recognize username with space', async () => {\n    await expect(dmoj(null, ' ' + notExistUsername)).rejects.toThrow('The user does not exist')\n  })\n\n  test('should work correctly', async () => {\n    const res = await dmoj(null, 'Xyene')\n    checkRes(res)\n    expect(res.solvedList).toContain('aplusb')\n  })\n\n})\n\ndescribe('sdutoj', () => {\n\n  test('should throw when user does not exist', async () => {\n    await expect(sdutoj(null, notExistUsername)).rejects.toThrow('The user does not exist')\n  })\n\n  test('can recognize username with space', async () => {\n    await expect(sdutoj(null, ' ' + notExistUsername)).rejects.toThrow('The user does not exist')\n  })\n\n  test('should work correctly', async () => {\n    const res = await sdutoj(null, 'root')\n    checkRes(res)\n    expect(res.solvedList).toContain('1000')\n  })\n\n})\n\nfunction checkRes(res) {\n  expect(typeof res.solved).toBe('number')\n  expect(typeof res.submissions).toBe('number')\n\n  expect(res.solved).toBeGreaterThan(0)\n  expect(res.submissions).toBeGreaterThan(0)\n\n  expect(res.submissions).toBeGreaterThan(res.solved)\n\n  if (!_.isNil(res.solvedList)) {\n    expect(res.solvedList.length).toBe(res.solved)\n  }\n}"
  },
  {
    "path": "crawler/__test__/functionGenerator.test.js",
    "content": "const path = require('path')\nconst _ = require('lodash')\n\n// used by eval()\n// eslint-disable-next-line no-unused-vars\nconst superagent = require('superagent')\n\nconst nock = require('nock')\n\njest.mock('../lib/configReader')\njest.mock('fs')\n\nconst fs = require('fs')\n\ndescribe('generateServerCrawlerFunctions', () => {\n\n  let functions\n\n  beforeAll(async () => {\n\n    for (let item of ['crawler1', 'crawler2', 'crawler_for_server']) {\n      // 因为 functionGenerator 里面 require 的时候带了 js 后缀，这里必须也加上后缀，否则会提示找不到模块\n      jest.mock(`../crawlers/${item}.js`, () => async function (config, username) {\n        return {\n          config: config,\n          username: username,\n          solved: 0,\n          submissions: username === 'wrong format' ? NaN : 0,\n        }\n      }, { virtual: true })\n    }\n\n    const functionGenerator = require('../lib/functionGenerator')\n\n    functions = await functionGenerator.generateServerCrawlerFunctions()\n  })\n\n  it('能够获取到函数', () => {\n    expect(functions).toEqual(expect.objectContaining({\n      crawler1: expect.any(Function),\n      crawler2: expect.any(Function),\n      crawler_for_server: expect.any(Function),\n    }))\n  })\n\n  it('能将用户名传入函数', async () => {\n    const ret = await functions.crawler1('username1')\n    expect(ret.username).toBe('username1')\n  })\n\n  it('能让函数取到设置信息', async () => {\n    const ret = await functions.crawler1('username1')\n    expect(ret.config.meta.title).toBe('Crawler1')\n  })\n\n  it('能让函数取到环境信息 - server', async () => {\n    const ret = await functions.crawler1('username1')\n    expect(ret.config.env).toBe('server')\n  })\n\n  it('should throw when crawler return wrong format results', async () => {\n    await expect(functions.crawler1('wrong format'))\n      .rejects.toThrow('The crawler returned wrong format result. It can be a bug in crawler.')\n  })\n})\n\ndescribe('generateBrowserCrawlerFunctions', () => {\n\n  let functions\n  let functionStrs\n  const serverFunctionContent = 'This line should not exist in generatedFunctions'\n\n  beforeAll(async () => {\n    function ensureDirectoryExistence(filePath) {\n      var dirname = path.dirname(filePath)\n      if (fs.existsSync(dirname)) {\n        return true\n      }\n      ensureDirectoryExistence(dirname)\n      fs.mkdirSync(dirname)\n    }\n\n    function writeCrawlerMockFile(fileName, content) {\n      const filePath = path.join(__dirname, `../crawlers/${fileName}.js`)\n      ensureDirectoryExistence(filePath)\n      fs.writeFileSync(filePath, content)\n    }\n\n    for (let item of ['crawler1', 'crawler2']) {\n      writeCrawlerMockFile(item,\n        `module.exports = async function (config, username) {\n          return {\n            config: config,\n            username: username,\n            solved: 0,\n            submissions: username === 'wrong format' ? NaN : 0,\n          }\n        }`)\n    }\n\n    writeCrawlerMockFile('crawler_for_server', serverFunctionContent)\n\n    const functionGenerator = require('../lib/functionGenerator')\n\n    functionStrs = await functionGenerator.generateBrowserCrawlerFunctions()\n    functions = _.mapValues(functionStrs, str => eval(str))\n  })\n\n  it('能够获取到函数', () => {\n    expect(functions).toEqual(expect.objectContaining({\n      crawler1: expect.any(Function),\n      crawler2: expect.any(Function),\n      crawler_for_server: expect.any(Function),\n    }))\n  })\n\n  it('能将用户名传入函数', async () => {\n    const ret = await functions.crawler1('username1')\n    expect(ret.username).toBe('username1')\n  })\n\n  it('should throw when crawler return wrong format results', async () => {\n    await expect(functions.crawler1('wrong format'))\n      .rejects.toThrow('The crawler returned wrong format result. It can be a bug in crawler.')\n  })\n\n  describe('在浏览器和服务器同时使用的配置下', () => {\n\n    it('能让函数取到设置信息', async () => {\n      const ret = await functions.crawler1('username1')\n      expect(ret.config.meta.title).toBe('Crawler1')\n    })\n\n    it('能让函数取到环境信息 - browser', async () => {\n      const ret = await functions.crawler1('username1')\n      expect(ret.config.env).toBe('browser')\n    })\n\n  })\n\n  describe('在只运行在服务器上的配置下', () => {\n\n    const crawlerbaseUrl = '/api/crawlers/crawler_for_server/'\n    const resolvedUser = 'resolvedUser'\n    const rejectedUser = 'rejectedUser'\n    const networkErrorUser = 'networkErrorUser'\n    const crawlerErrorMessage = 'User not found'\n    const resolvedData = {\n      solved: 101,\n      submissions: 230,\n    }\n\n    it('不会打包服务器端的函数', () => {\n      expect(functionStrs.crawler_for_server).not.toContain(serverFunctionContent)\n    })\n\n    it('生成的函数在服务器端正常时能够正确返回', async () => {\n\n      const scope = nock('http://localhost')\n        .get(crawlerbaseUrl + resolvedUser)\n        .reply(200, {\n          error: false,\n          data: resolvedData,\n        })\n\n      const res = await functions.crawler_for_server(resolvedUser)\n      expect(res).toMatchObject(resolvedData)\n\n      scope.done()\n    })\n\n    it('生成的函数在服务器端返回错误时能够抛出异常，并包含正确的异常信息', async () => {\n\n      const scope = nock('http://localhost')\n        .get(crawlerbaseUrl + rejectedUser)\n        .reply(200, {\n          error: true,\n          message: crawlerErrorMessage,\n        })\n\n      await expect(functions.crawler_for_server(rejectedUser))\n        .rejects.toThrow(crawlerErrorMessage)\n\n      scope.done()\n    })\n\n    it('生成的函数在网络错误时能够抛出异常，并且含有异常信息', async () => {\n      const scope = nock('http://localhost')\n        .get(crawlerbaseUrl + networkErrorUser)\n        .replyWithError('something awful happened')\n\n      await expect(functions.crawler_for_server(networkErrorUser))\n        .rejects.toThrow(/.+/)\n\n      scope.done()\n    })\n  })\n})\n"
  },
  {
    "path": "crawler/base.Dockerfile",
    "content": "ARG NODE_BASE_IMAGE\n\n\nFROM ${NODE_BASE_IMAGE}\n\nWORKDIR /var/project\n\nCOPY package.json pnpm-lock.yaml ./\nRUN pnpm install\n\nCOPY . .\n"
  },
  {
    "path": "crawler/config.yml",
    "content": "crawler_order:\n  - poj\n  - hdu\n  - zoj\n  - dashiye\n  - codeforces\n  - uva\n  - uvalive\n  - fzu\n  - spoj\n  - timus\n  - leetcode_cn\n  - csu\n  - loj\n  - luogu\n  - nowcoder\n  - uestc\n  - atcoder\n  - aizu\n  - codechef\n  - eljudge\n  - bnu\n  - codewars\n  - uoj\n  - nbut\n  - nod\n  # - nit\n  - dmoj\n  - sdutoj\n  - vjudge\n\ncrawlers:\n  poj:\n    meta:\n      title: POJ\n      description:\n      url: http://poj.org/\n  hdu:\n    meta:\n      title: HDU\n      description:\n      url: http://acm.hdu.edu.cn/\n  zoj:\n    meta:\n      title: ZOJ\n      description: Only nickname is supported (Only historical data are available since crawlers are prohibited by Pintia)\n      url: https://zoj.pintia.cn/\n  dashiye:\n    meta:\n      title: HYSBZ\n      description:\n      url: http://www.lydsy.com/JudgeOnline/\n  codeforces:\n    meta:\n      title: CodeForces\n      description: Including CodeForces::Gym\n      url: http://codeforces.com/\n  uva:\n    meta:\n      title: UVA\n      description:\n      url: https://uva.onlinejudge.org/\n  uvalive:\n    meta:\n      title: ICPC Live Archive\n      description:\n      url: https://icpcarchive.ecs.baylor.edu/index.php\n  fzu:\n    meta:\n      title: FZU\n      description:\n      url: http://acm.fzu.edu.cn/index.php\n  spoj:\n    meta:\n      title: SPOJ\n      description:\n      url: http://www.spoj.com/\n  timus:\n    meta:\n      title: Timus (URAL)\n      description:\n      url: http://acm.timus.ru/\n  leetcode_cn:\n    meta:\n      title: LeetCode_CN\n      description:\n      url: https://leetcode.cn\n  csu:\n    meta:\n      title: CSU\n      description:\n      url: http://acm.csu.edu.cn/\n  loj:\n    meta:\n      title: LibreOJ\n      description:\n      url: https://loj.ac/\n  luogu:\n    meta:\n      title: 洛谷\n      description: Both username and user_id are supported\n      url: https://www.luogu.com.cn\n    server_only: true\n  nowcoder:\n    meta:\n      title: 牛客OJ\n      description: 目前只支持输入用户ID（在你的AC列表的URL中）\n      url: https://ac.nowcoder.com/acm/home\n  uestc:\n    meta:\n      title: Lutece (UESTC)\n      description:\n      url: https://acm.uestc.edu.cn/home\n  atcoder:\n    meta:\n      title: AtCoder\n      description: |\n        API provided by kenkoooo (https://github.com/kenkoooo/AtCoderProblems).\n        Only AC number is supported\n      url: https://atcoder.jp\n  aizu:\n    meta:\n      title: AIZU\n      description:\n      url: http://judge.u-aizu.ac.jp/onlinejudge/index.jsp\n  codechef:\n    meta:\n      title: CodeChef\n      description:\n      url: https://www.codechef.com/\n  eljudge:\n    meta:\n      title: El Judge\n      description:\n      url: http://acm.mipt.ru\n  bnu:\n    meta:\n      title: BNUOJ\n      description:\n      url: http://www.bnuoj.com\n  codewars:\n    meta:\n      title: Codewars\n      description: |\n        Currently it does not have submission number.\n        Username is case sensitive.\n      url: https://www.codewars.com\n  uoj:\n    meta:\n      title: UOJ\n      description:\n      url: http://uoj.ac/\n  nbut:\n    meta:\n      title: NBUT\n      description:\n      url: https://ac.2333.moe/\n  nod:\n    meta:\n      title: 51Nod\n      description: Please use your nickname (displayed in your home page)\n      url: https://www.51nod.com\n  nit:\n    meta:\n      title: OurOJ (NIT)\n      description:\n      url: https://www.nitacm.com/\n  dmoj:\n    meta:\n      title: DMOJ\n      description:\n      url: https://dmoj.ca/\n  sdutoj:\n    meta:\n      title: SDUT OJ\n      description:\n      url: https://oj.sdutacm.cn/\n  vjudge:\n    meta:\n      title: VJudge\n      description: virtual judge，这个OJ的题量是单独计算的\n      url: https://vjudge.net/\n      virtual_judge: true\n    # 只运行在服务器上，不运行在浏览器上\n    server_only: true\n    # vjudge 有一个api接口，需要用任意的用户名和密码来接入才能访问\n    crawler_login_user: 用户名\n    crawler_login_password: 密码\n"
  },
  {
    "path": "crawler/crawlers/.eslintrc.js",
    "content": "module.exports = {\n  root: false,\n  rules: {\n    // 目前爬虫不使用 lodash\n    'lodash/prefer-lodash-method': 'off',\n    'lodash/prefer-get': 'off',\n  },\n}\n"
  },
  {
    "path": "crawler/crawlers/LICENSE",
    "content": "BSD 2-Clause License\n\nCopyright (c) 2018, \nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n* Redistributions of source code must retain the above copyright notice, this\n  list of conditions and the following disclaimer.\n\n* Redistributions in binary form must reproduce the above copyright notice,\n  this list of conditions and the following disclaimer in the documentation\n  and/or other materials provided with the distribution.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\nAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE\nFOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\nDAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\nSERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\nCAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\nOR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n"
  },
  {
    "path": "crawler/crawlers/aizu.js",
    "content": "const request = require('superagent')\n\nmodule.exports = async function (config, username) {\n\n  if (!username) {\n    throw new Error('Please enter username')\n  }\n\n  let statusRes\n  try {\n    statusRes = await request('https://judgeapi.u-aizu.ac.jp/users/' + username)\n  } catch (err) {\n    if (err.response && err.response.status === 404) {\n      throw new Error('The user does not exist')\n    }\n    throw err\n  }\n  // seems that the list is big enough, we don't need pages\n  const listRes = await request(`https://judgeapi.u-aizu.ac.jp/solutions/users/${username}?page=0&size=10000`)\n\n  const solvedSet = new Set(listRes.body.map(a => a.problemId))\n\n  return {\n    solved: statusRes.body.status.solved,\n    submissions: statusRes.body.status.submissions,\n    solvedList: [...solvedSet],\n  }\n}"
  },
  {
    "path": "crawler/crawlers/atcoder.js",
    "content": "const request = require('superagent')\n\nmodule.exports = async function (config, username) {\n\n  if (!username) {\n    throw new Error('Please enter username')\n  }\n\n  // request atcoder to detect if user exists, to reduce throughput of kenkoooo's api\n  try {\n    await request\n      .get('https://atcoder.jp/users/' + username)\n  } catch (e) {\n    if (e.message === 'Not Found') {\n      throw new Error('The user does not exist')\n    } else {\n      throw e\n    }\n  }\n\n  // Thank @kenkoooo for the api\n  // Source code: https://github.com/kenkoooo/AtCoderProblems\n  const res = await request\n    .get('https://kenkoooo.com/atcoder/atcoder-api/v3/user/ac_rank')\n    .query({ user: username })\n\n  const solved = res.body.count\n  const  submissions = solved\n\n  return {\n    submissions,\n    solved,\n  }\n}"
  },
  {
    "path": "crawler/crawlers/bnu.js",
    "content": "const request = require('superagent')\nconst cheerio = require('cheerio')\n\nmodule.exports = async function (config, username) {\n\n  if (!username) {\n    throw new Error('Please enter username')\n  }\n\n  const res = await request\n    .get('http://www.bnuoj.com/userinfo.php')\n    .query({ name: username })\n\n  if (!res.ok) {\n    throw new Error(`Server Response Error: ${res.status}`)\n  }\n  const $ = cheerio.load(res.text)\n\n  if ($('.alert-error:contains(\"No such user!\")').length >= 1) {\n    throw new Error('The user does not exist')\n  }\n  try {\n    // TODO: ac list\n    const acList = null\n\n    const submissions = $('th:contains(\"Total Submissions\")')\n      .next().text()\n    const solved = $('th:contains(\"Accepted\")')\n      .next().text()\n\n    return {\n      submissions: parseInt(submissions),\n      solved: parseInt(solved),\n      solvedList: acList,\n    }\n  }\n  catch (e) {\n    throw new Error('Error while parsing')\n  }\n\n}"
  },
  {
    "path": "crawler/crawlers/codechef.js",
    "content": "const request = require('superagent')\nconst cheerio = require('cheerio')\n\nmodule.exports = async function (config, username) {\n\n  if (!username) {\n    throw new Error('Please enter username')\n  }\n\n  const res = await request.get('https://www.codechef.com/users/' + username)\n\n  if (!res.ok) {\n    throw new Error(`Server Response Error: ${res.status}`)\n  }\n\n  const $ = cheerio.load(res.text)\n  if ($('a[href=\"/\"]:contains(\"Home\")').length === 0) {\n    // not in user profile page\n    throw new Error('The user does not exist')\n  }\n\n  try {\n    const solvedText = $('h5:contains(\"Fully Solved\")').text().match(/\\((\\d+)\\)/)[1]\n    const solvedList = []\n    $('h5:contains(\"Fully Solved\") + article a').each(function (i, el) {\n      solvedList.push($(el).text().trim())\n    })\n\n    const submissionText = $('script:contains(\"Highcharts.chart\")').html().replace(/\\s/gi, '')\n    const matchObjectText = submissionText.match(/data:\\[(.*),\\]/)[1]\n    const submitMatchIterator = matchObjectText.matchAll(/y:(\\d+)/g)\n    let submissions = 0\n    for (const a of submitMatchIterator) {\n      submissions += parseInt(a[1])\n    }\n\n    return {\n      solved: parseInt(solvedText),\n      solvedList,\n      submissions,\n    }\n  } catch (err) {\n    throw new Error('Error while parsing')\n  }\n}"
  },
  {
    "path": "crawler/crawlers/codeforces.js",
    "content": "const request = require('superagent')\n\nmodule.exports = async function (config, username) {\n\n  if (!username) {\n    throw new Error('Please enter username')\n  }\n\n  const acSet = new Set()\n  const submissions = await queryForNumber(username, 1, acSet)\n\n  return {\n    solved: acSet.size,\n    submissions: submissions,\n    solvedList: [...acSet],\n  }\n}\n\nconst MAX_PAGE_SIZE = 10000\n\n/**\n * 递归查询题数\n * @param username\n * @param pageCount {Number} - 这个是页数，数字是几就是第几页\n * @param acSet {Set<{String}>} - ac的题目列表，会修改此对象\n * @returns {Promise<Number>}\n */\nasync function queryForNumber(username, pageCount, acSet) {\n\n  // 发起请求 /////////////////////////////////////////////////////////////\n  const queryObject = {\n    handle: username,\n    from: (pageCount - 1) * MAX_PAGE_SIZE + 1,\n    count: MAX_PAGE_SIZE,\n  }\n\n  let res = null\n  try {\n    res = await request\n      .get('http://codeforces.com/api/user.status')\n      .query(queryObject)\n  } catch (e) {\n\n    if (e.response && e.response.body && e.response.body.status) {\n      // 有 response 且以 json 的格式相应\n      const comment = e.response.body.comment\n      if (/handle: User with handle .* not found/.test(comment)) {\n        throw new Error('The user does not exist')\n      } else {\n        throw new Error(comment)\n      }\n    } else {\n      throw e\n    }\n  }\n\n  // 处理结果 /////////////////////////////////////////////////////////////\n  const problemArray = res.body.result\n\n  if (problemArray.length === 0) {\n    return 0\n  }\n\n  problemArray.forEach(function (element) {\n    if (element.verdict === 'OK') {\n      const problem = element.problem\n      const title = problem.contestId + problem.index\n      acSet.add(title)\n    }\n  })\n\n  const total = problemArray.length\n\n  // 递归处理（返回结果或再发起请求） ////////////////////////////////////////////\n  if (total < MAX_PAGE_SIZE) {\n    // 已经读完\n    return total\n  } else {\n    const ret = await queryForNumber(username, pageCount + 1, acSet)\n    return ret + total\n  }\n}"
  },
  {
    "path": "crawler/crawlers/codewars.js",
    "content": "const request = require('superagent')\n\n// api url : https://dev.codewars.com/#get-user:-completed-challenges\nmodule.exports = async function (config, username) {\n\n  if (!username) {\n    throw new Error('Please enter username')\n  }\n\n  // TODO: get submission\n\n  let totalPage = undefined\n  let currentPage = 0\n  const acSet = new Set()\n\n  do {\n    let res\n    try {\n      res = await request\n        .get(`https://www.codewars.com/api/v1/users/${username}/code-challenges/completed`)\n        .query({ page: 0 })\n    } catch (err) {\n      if (err.response && err.response.status === 404) {\n        throw new Error('The user does not exist')\n      }\n      throw err\n    }\n\n    res.body.data.forEach(d => {\n      acSet.add(d.slug)\n    })\n\n    totalPage = res.body.totalPages\n    ++currentPage\n  } while (currentPage < totalPage)\n\n\n  return {\n    solved: acSet.size,\n    submissions: acSet.size,\n    solvedList: [...acSet],\n  }\n}"
  },
  {
    "path": "crawler/crawlers/csu.js",
    "content": "const request = require('superagent')\nconst cheerio = require('cheerio')\n\nmodule.exports = async function (config, username) {\n\n  if (!username) {\n    throw new Error('Please enter username')\n  }\n\n  const res = await request\n    .get('http://acm.csu.edu.cn/csuoj/user/userinfo')\n    .query({user_id: username})\n\n  if (!res.ok) {\n    throw new Error(`Server Response Error: ${res.status}`)\n  }\n\n  const $ = cheerio.load(res.text)\n\n  if (/<p class=\"error\">No such user<\\/p>/.test(res.text)) {\n    throw new Error('The user does not exist')\n  }\n\n  try {\n    const tds = $('#info_left tbody td')\n\n    return {\n      solved: Number($(tds[1]).text()),\n      submissions: Number($(tds[2]).text()),\n      solvedList: $('#userinfo_left a[href^=\"/csuoj/problemset/problem?pid=\"]')\n        .map((i,elem)=>$(elem).text().trim())\n        .get(),\n    }\n  } catch (e) {\n    throw new Error('Error while parsing')\n  }\n}"
  },
  {
    "path": "crawler/crawlers/dashiye.js",
    "content": "const request = require('superagent')\nconst cheerio = require('cheerio')\n\nmodule.exports = async function (config, username) {\n\n  if (!username) {\n    throw new Error('Please enter username')\n  }\n\n  const res = await request\n    .get('http://www.lydsy.com/JudgeOnline/userinfo.php')\n    .query({user: username})\n\n  if (!res.ok) {\n    throw new Error(`Server Response Error: ${res.status}`)\n  }\n\n  const $ = cheerio.load(res.text)\n\n  if ($('body').text().trim().endsWith('No such User!')) {\n    throw new Error('The user does not exist')\n  }\n\n  try {\n\n    // p(1000);p(1001);p(1002)....p(XXXX);\n    // 这个题目列表是前端渲染的\n    const acListScript = $('td[rowspan=14] > script').html().split('\\n')[2]\n    // ['p(1000)', 'p(1001)' ...]\n    const singleList = acListScript.split(';').slice(0, -1)\n    const acList = singleList.map(item => item.substring(2, item.length - 1))\n\n    return {\n      solved: Number($('td:contains(\"Solved\") + td > a').text()),\n      submissions: Number($('td:contains(\"Submit\") + td > a').text()),\n      solvedList: acList,\n    }\n  } catch (e) {\n    throw new Error('Error while parsing')\n  }\n}"
  },
  {
    "path": "crawler/crawlers/dmoj.js",
    "content": "const request = require('superagent')\nconst cheerio = require('cheerio')\n\nmodule.exports = async function (config, username) {\n\n  if (!username) {\n    throw new Error('Please enter username')\n  }\n\n  let res\n\n  try {\n    res = await request\n      .get('https://dmoj.ca/submissions/user/' + username)\n  } catch (err) {\n    if (err.response && err.response.status === 404) {\n      throw new Error('The user does not exist')\n    } else {\n      throw err\n    }\n  }\n\n  if (!res.ok) {\n    throw new Error(`Server Response Error: ${res.status}`)\n  }\n\n  const $ = cheerio.load(res.text)\n\n  let submissions\n  try {\n    const codes = $('script:contains(\"window.results_json\")').html().trim().split('\\n')\n    const line = codes[codes.length - 1]\n    const json = JSON.parse(line.match(/\\{.*\\}/)[0])\n    submissions = json.total\n  } catch (e) {\n    throw new Error('Error while parsing')\n  }\n\n  res = await request\n    .get('https://dmoj.ca/api/v2/user/' + username)\n\n  try {\n    const solvedList = res.body.data.object.solved_problems\n    // const solved = res.body.data.object.problem_count\n\n    return {\n      solved: solvedList.length,\n      submissions,\n      solvedList,\n    }\n  } catch (e) {\n    throw new Error('Error while parsing')\n  }\n}"
  },
  {
    "path": "crawler/crawlers/eljudge.js",
    "content": "const request = require('superagent')\nconst cheerio = require('cheerio')\n\nmodule.exports = async function (config, username) {\n\n  if (!username) {\n    throw new Error('Please enter username')\n  }\n\n  const res = await request\n    .get('http://acm.mipt.ru/judge/users.pl')\n    .query({ user: username })\n\n  if (!res.ok) {\n    throw new Error(`Server Response Error: ${res.status}`)\n  }\n\n  if (/User .+ does not exist/.test(res.text)) {\n    throw new Error('The user does not exist')\n  }\n\n  const $ = cheerio.load(res.text)\n\n  try {\n    const solvedElem = $('font:contains(\"solved:\")')\n    const solvedText = solvedElem.children('b').text()\n    const solvedList = []\n    solvedElem.nextUntil('font').find('a').each((i, el) => {\n      solvedList.push($(el).text().trim())\n    })\n\n    const submissionElems = $('font:contains(\"Statistics:\")')\n      .nextAll('table')\n      .first()\n      .find('div')\n    let submissions = 0\n    submissionElems.each((i, el) => {\n      submissions += parseInt($(el).text())\n    })\n\n    return {\n      solved: parseInt(solvedText),\n      solvedList,\n      submissions,\n    }\n  } catch (err) {\n    throw new Error('Error while parsing')\n  }\n}"
  },
  {
    "path": "crawler/crawlers/fzu.js",
    "content": "const request = require('superagent')\nconst cheerio = require('cheerio')\n\nmodule.exports = async function (config, username) {\n\n  if (!username) {\n    throw new Error('Please enter username')\n  }\n\n  if (/\\s/.test(username)) {\n    throw new Error('The crawler does not support username with spaces')\n  }\n\n  const res = await request\n    .get('http://acm.fzu.edu.cn/user.php')\n    .query({uname: username})\n\n  if (!res.ok) {\n    throw new Error(`Server Response Error: ${res.status}`)\n  }\n\n  const $ = cheerio.load(res.text)\n\n  if ($('font').filter((i, el) => $(el).text() === 'No such user or user has been deleted!').length >= 1) {\n    throw new Error('The user does not exist')\n  }\n\n  try {\n\n    const acList = $('b > a[href^=\"problem.php?pid=\"]')\n      .map((i, elem) => $(elem).text())\n      .get()\n\n    return {\n      submissions: Number($('td:contains(\"Total Submitted\") + td').text()),\n      solved: Number($('td:contains(\"Total Accepted\") + td').text()),\n      solvedList: acList,\n    }\n  } catch (e) {\n    throw new Error('Error while parsing')\n  }\n}"
  },
  {
    "path": "crawler/crawlers/hdu.js",
    "content": "const request = require('superagent')\nconst cheerio = require('cheerio')\n\nmodule.exports = async function (config, username) {\n\n  if (!username) {\n    throw new Error('Please enter username')\n  }\n\n  let res\n\n  const RETRY_TIMES = config.env === 'server' ? 1 : 2\n  for (let i = 0; i < RETRY_TIMES; ++i) {\n    try {\n      res = await request\n        .get('http://acm.hdu.edu.cn/userstatus.php')\n        .query({user: username})\n      break\n    } catch (e) {\n      if (i >= RETRY_TIMES - 1) {\n        throw e\n      }\n      console.log('HDU connection error, retry ...')\n    }\n  }\n\n  if (!res.ok) {\n    throw new Error(`Server Response Error: ${res.status}`)\n  }\n\n  const $ = cheerio.load(res.text)\n\n  if ($('div').filter((i, el) => $(el).text() === 'No such user.').length >= 1) {\n    throw new Error('The user does not exist')\n  }\n\n  try {\n\n    // p(1000,3588,11274);p(1001,1951,7721);p(1002,1535,6550);...\n    // 这个题目列表是前端渲染的\n    const acListScript = $('h3:has(font:contains(\"List of solved problems\")) + p > script').html()\n    // ['p(1000,3588,11274)', 'p(1001,1951,7721)' ...]\n    const singleList = acListScript.split(';').slice(0, -1)\n    const acList = singleList.map(item => item.match(/\\d+/g)[0])\n\n    return {\n      submissions: Number($('td:contains(\"Submissions\") + td').text()),\n      solved: Number($('td:contains(\"Problems Solved\") + td').text()),\n      solvedList: acList,\n    }\n  } catch (e) {\n    throw new Error('Error while parsing')\n  }\n}\n"
  },
  {
    "path": "crawler/crawlers/leetcode_cn.js",
    "content": "const request = require('superagent')\n\nmodule.exports = async function (config, username) {\n\n  if (!username) {\n    throw new Error('Please enter username')\n  }\n\n  const input = {\n    query: `\n    query userSessionProgress($userSlug:String!){\n      userProfileUserQuestionSubmitStats(userSlug:$userSlug){\n        acSubmissionNum {\n          difficulty \n          count\n        }\n        totalSubmissionNum {\n          difficulty\n          count\n        }\n      }\n    }`,\n    variables: { userSlug: username },\n  }\n\n  const res = await request\n    .post('https://leetcode.cn/graphql/')\n    .set('User-Agent', 'ojhunt/1.0.0')\n    .send(input)\n\n  const data = res.body.data.userProfileUserQuestionSubmitStats\n  const acList = data.acSubmissionNum\n  const subList = data.totalSubmissionNum\n\n  if (acList.length === 0 && subList.length === 0) {\n    throw new Error('The user does not exist')\n  }\n\n  const solved = acList.map(item => item.count).reduce((a, b) => a + b)\n  const submissions = subList.map(item => item.count).reduce((a, b) => a + b)\n\n  return {\n    solved,\n    submissions,\n  }\n}"
  },
  {
    "path": "crawler/crawlers/loj.js",
    "content": "const request = require('superagent')\n\nmodule.exports = async function (config, username) {\n\n  if (!username) {\n    throw new Error('Please enter username')\n  }\n\n  const res = await request\n    .post('https://api.loj.ac/api/user/getUserDetail')\n    .send({\n      now: new Date().toISOString(),\n      timezone: 'UTC',\n      username,\n    })\n\n  if (!res.ok) {\n    throw new Error(`Server Response Error: ${res.status}`)\n  }\n\n  if (res.body.error) {\n    throw new Error('The user does not exist')\n  }\n\n  const submissions = res.body.meta.submissionCount\n  const solvedList = await resolveSolvedList(username)\n  // if a submission is not public, it can be different from the value of the user api\n  const solved = solvedList.length \n  // const solved = res.body.meta.acceptedProblemCount\n\n  return {\n    submissions,\n    solved,\n    solvedList,\n  }\n}\n\nasync function resolveSolvedList(username) {\n  const acSet = new Set()\n  let maxId = null\n  // eslint-disable-next-line no-constant-condition\n  while (true) {\n    const res = await request\n      .post('https://api.loj.ac/api/submission/querySubmission')\n      .send({\n        submitter: username, \n        status: 'Accepted', \n        maxId, \n        locale: 'en_US', \n        takeCount: 10, // cannot be changed\n      })\n\n    if (!res.body.submissions || res.body.submissions.length === 0) {\n      break\n    }\n\n    res.body.submissions.forEach(item => {\n      acSet.add(item.problem.id + '')\n      maxId = item.id - 1\n    })\n  }\n\n  return [...acSet]\n}"
  },
  {
    "path": "crawler/crawlers/luogu.js",
    "content": "const request = require('superagent')\n\nasync function getUserId(username) {\n  const uidRes = await request\n    .get('https://www.luogu.com.cn/api/user/search')\n    .query({keyword: username})\n\n  if (!uidRes.ok) {\n    throw new Error(`Server Response Error: ${uidRes.status}`)\n  }\n\n  const uidJSON = JSON.parse(uidRes.text)\n\n  if (uidJSON.users[0] == null) {\n    throw new Error('The user does not exist')\n  }\n\n  return uidJSON.users[0].uid\n}\n\nfunction getUserJson(text) {\n  try {\n    return JSON.parse(decodeURIComponent(text.match(/decodeURIComponent\\(\"(.*?)\"\\)/i)[1]))\n  } catch (e) {\n    throw new Error('Error while parsing')\n  }\n}\n\nmodule.exports = async function (config, username) {\n\n  if (!username) {\n    throw new Error('Please enter username')\n  }\n\n  let res = await request\n    .get('https://www.luogu.com.cn/user/' + username)\n  if (!res.ok || getUserJson(res.text).code === 404) {\n    const uid = await getUserId(username)\n    res = await request\n      .get('https://www.luogu.com.cn/user/' + uid)\n  }\n\n  if (!res.ok) {\n    throw new Error(`Server Response Error: ${res.status}`)\n  }\n\n  const userJson = getUserJson(res.text)\n  if (userJson.code === 404) {\n    throw new Error('User not found')\n  }\n\n  if (userJson.code !== 200) {\n    throw new Error(`Parse error. Message from luogu: ${userJson.currentTitle}`)\n  }\n\n  try {\n    const solvedJson = userJson.currentData.passedProblems\n    const acList = solvedJson.map((p) => p.pid)\n\n    return {\n      submissions: userJson.currentData.user.submittedProblemCount,\n      solved: userJson.currentData.user.passedProblemCount,\n      solvedList: acList,\n    }\n  }\n  catch (e) {\n    throw new Error('Error while parsing')\n  }\n\n}"
  },
  {
    "path": "crawler/crawlers/nbut.js",
    "content": "const request = require('superagent')\nconst cheerio = require('cheerio')\n\nmodule.exports = async function (config, username) {\n\n  if (!username) {\n    throw new Error('Please enter username')\n  }\n\n  if (/\\s/.test(username)) {\n    throw new Error('The crawler does not support username with spaces')\n  }\n\n  const submissionPage = await request\n    .get('https://ac.2333.moe/Problem/status.xhtml')\n    .query({ username })\n\n  if (!submissionPage.ok) {\n    throw new Error(`Server Response Error: ${submissionPage.status}`)\n  }\n\n  const $s = cheerio.load(submissionPage.text)\n\n  const usernameElement = $s('tbody tr a[href^=\"/User/view_user.xhtml?id=\"]')\n  if (usernameElement.length === 0) {\n    throw new Error('The user does not exist')\n  }\n\n  let userId\n  try {\n    userId = parseInt(usernameElement.first().attr('href').match(/\\d+/)[0])\n  } catch (err) {\n    throw new Error('Error while parsing')\n  }\n\n  const res = await request\n    .get('https://ac.2333.moe/User/view_user.xhtml')\n    .query({ id: userId })\n\n  if (!res.ok) {\n    throw new Error(`Server Response Error: ${res.status}`)\n  }\n\n  const $ = cheerio.load(res.text)\n\n  try {\n    const [submissions, solved] = $('li#limit').text().match(/\\d+/g)\n\n    const solvedList = $('li#solvedlist .fl a[href^=\"/Problem/view.xhtml?id=\"]')\n      .map((i, e) => $(e).text())\n      .get()\n\n    return {\n      solved: parseInt(solved),\n      solvedList,\n      submissions: parseInt(submissions),\n    }\n  } catch (err) {\n    throw new Error('Error while parsing')\n  }\n}"
  },
  {
    "path": "crawler/crawlers/nit.js",
    "content": "const request = require('superagent')\nconst cheerio = require('cheerio')\n\nmodule.exports = async function (config, username) {\n\n  if (!username) {\n    throw new Error('Please enter username')\n  }\n\n  const res = await request\n    .get('https://www.nitacm.com/userinfo.php')\n    .query({ name: username })\n\n  if (!res.ok) {\n    throw new Error(`Server Response Error: ${res.status}`)\n  }\n  const $ = cheerio.load(res.text)\n\n  if ($('.alert-error:contains(\"No such user!\")').length >= 1) {\n    throw new Error('The user does not exist')\n  }\n\n  let submissions, solved, acList\n  try {\n    submissions = $('th:contains(\"Total Submissions\")')\n      .next().text()\n    solved = $('th:contains(\"Accepted\")')\n      .next().text()\n\n    acList = $('#userac a').map((_, el) => parseInt($(el).text())).toArray()\n  }\n  catch (e) {\n    throw new Error('Error while parsing')\n  }\n\n  const ohuntRes = await request\n    .post('https://ojhunt.com/api/ohunt/problems/resolve-label')\n    .send({\n      onlineJudge: 'OurOJ',\n      list: [...acList],\n    })\n\n  try {\n    const solvedList = Object.values(ohuntRes.body.result).map(label => {\n      const [oj, num] = label.split('-')\n      return `${ojMap(oj)}-${num}`\n    })\n\n    return {\n      submissions: parseInt(submissions),\n      solved: parseInt(solved),\n      solvedList,\n    }\n  }\n  catch (e) {\n    throw new Error('Error while parsing')\n  }\n\n}\n\nfunction ojMap(oj) {\n\n  // oj that can map its name to crawler name by changing into lower case\n  const simpleMapOj = new Set([\n    'codeforces',\n    'hdu',\n    'fzu',\n    'nbut',\n\n    'uva',\n    'uvalive',\n    // 'zoj',\n    'spoj',\n    // 'timus',\n    // 'csu',\n    // 'hust',\n    // 'atcoder',\n    'aizu',\n    'codechef',\n  ])\n  // crawler name map\n  const ojMap = {\n    '': 'NO_NAME',\n    'PKU': 'poj',\n\n    'URAL': 'timus',\n    // 'HYSBZ': 'dashiye',\n    // it looks like a typo of vjudge\n    // 'EIJudge': 'eljudge',\n    // 'Gym': 'codeforces',\n    // '51Nod': 'nod',\n  }\n\n  if (simpleMapOj.has(oj.toLowerCase())) {\n    return oj.toLowerCase()\n  } else if (oj in ojMap) {\n    return ojMap[oj]\n  } else {\n    return oj\n  }\n}"
  },
  {
    "path": "crawler/crawlers/nod.js",
    "content": "const request = require('superagent')\n\n// 51nod\nmodule.exports = async function (config, username) {\n\n  if (!username) {\n    throw new Error('Please enter username')\n  }\n\n  let res = await request\n    .get('https://www.51nod.com/SearchReader/TitleOnly')\n    .query({ searchStr: username })\n\n  if (!res.ok) {\n    throw new Error(`Server Response Error: ${res.status}`)\n  }\n\n  if (!res.body) {\n    throw new Error('The user does not exist')\n  }\n\n  // find user id in search panel\n  let userId = null\n  for (const item of res.body) {\n    if (item.Content === username && item.ContentType === 2) {\n      userId = item.LinkId\n      break\n    }\n  }\n\n  if (userId === null) {\n    throw new Error('The user does not exist')\n  }\n\n  try {\n    res = await request\n      .get('https://www.51nod.com/Challenge/UserIndex')\n      .query({ userId })\n  } catch (err) {\n    if (err.response && err.response.status === 404) {\n      throw new Error('The user does not exist')\n    }\n  }\n\n  try {\n    const solvedList = []\n    res.body.ProblemTables.forEach(table => {\n      table.ProblemInfos.forEach(problem => {\n        if (problem.UserProblemSimplify && problem.UserProblemSimplify.IsAccepted) {\n          solvedList.push(problem.ProblemSimplify.ProblemId.toString())\n        }\n      })\n    })\n\n    return {\n      solved: res.body.UserStat.ProblemAcceptedCount,\n      submissions: res.body.UserStat.ProblemSubmitCount,\n      solvedList,\n    }\n  } catch (e) {\n    throw new Error('Error while parsing')\n  }\n}"
  },
  {
    "path": "crawler/crawlers/nowcoder.js",
    "content": "const request = require('superagent')\nconst cheerio = require('cheerio')\n\nmodule.exports = async function (config, username) {\n\n  if (!username) {\n    throw new Error('请输入用户ID')\n  }\n\n  if (isNaN(username)) {\n    throw new Error('牛客网的输入必须是用户ID（数字格式）')\n  }\n\n  username = Number(username) + ''\n\n  let solved = null\n  let submissions = null\n  const solvedList = new Set()\n\n  let lastSubmissionId = Infinity\n  let page = 1\n\n  // eslint-disable-next-line no-constant-condition\n  while (true) {\n    const res = await request\n      .get(`https://ac.nowcoder.com/acm/contest/profile/${username}/practice-coding`)\n      .query({\n        pageSize: 200,\n        statusTypeFilter: 5,\n        languageCategoryFilter: -1,\n        orderType: 'DESC',\n        page,\n      })\n\n    if (!res.ok) {\n      throw new Error(`Server Response Error: ${res.status}`)\n    }\n\n    const $ = cheerio.load(res.text)\n\n    if ($('.null-tip').text().trim() === '用户不存在') {\n      throw new Error('The user does not exist')\n    }\n\n    try {\n\n      if (solved == null) {\n        solved = Number($('span:contains(\"题已通过\")').prev().text())\n        submissions = Number($('span:contains(\"次提交\")').prev().text())\n      }\n\n      const newSubmissionId = Number($($('a[href^=\"/acm/contest/view-submission\"]')[0]).text())\n      if (newSubmissionId === lastSubmissionId) {\n        // 已经读完了列表，开始循环了\n        break\n      }\n      lastSubmissionId = newSubmissionId\n\n      // 题目名称有可能重复，用题目编号\n      $('a[href^=\"/acm/problem/\"]')\n        .map((i, elem) => $(elem).attr('href').slice(13))\n        .get()\n        .slice(1) // 第一项是 \"list\"\n        .forEach(solvedList.add, solvedList)\n\n    } catch (e) {\n      throw new Error('Error while parsing')\n    }\n\n    page += 1\n  }\n\n  return {\n    solved,\n    submissions,\n    solvedList: [...solvedList],\n  }\n}"
  },
  {
    "path": "crawler/crawlers/poj.js",
    "content": "const request = require('superagent')\nconst cheerio = require('cheerio')\n\nmodule.exports = async function (config, username) {\n\n  if (!username) {\n    throw new Error('Please enter username')\n  }\n\n  const res = await request\n    .get('http://poj.org/userstatus')\n    .query({user_id: username})\n\n  if (!res.ok) {\n    throw new Error(`Server Response Error: ${res.status}`)\n  }\n\n  const $ = cheerio.load(res.text)\n\n  if ($('title').text() === 'Error -- no user found') {\n    throw new Error('The user does not exist')\n  }\n\n  if (/<li>Sorry,.* doesn't exist<\\/li>/.test(res.text)) {\n    throw new Error('The user does not exist')\n  }\n\n  try {\n\n    // function p(id)\\n{\\n......\\np(1000)\\np(1001)\\n...\\n\n    // 这个题目列表是前端渲染的\n    const acListScript = $('td[rowspan=4] > script').html()\n    // js 不支持零宽后发断言，所以没法加上 (?<=p\\() 表达式\n    const solvedList = acListScript.match(/\\d+(?=\\)\\n)/g)\n\n    return {\n      solved: Number($('a[href^=\"status?result=0&user_id=\"]').text()),\n      submissions: Number($('a[href^=\"status?user_id=\"]').text()),\n      solvedList,\n    }\n  } catch (e) {\n    throw new Error('Error while parsing')\n  }\n}"
  },
  {
    "path": "crawler/crawlers/sdutoj.js",
    "content": "const request = require('superagent')\n\nasync function fetchSDUTOJ(api, data) {\n  const res = await request\n    .post(`https://oj.sdutacm.cn/onlinejudge3/api/${api}`)\n    .set('Content-Type', 'application/json;charset=utf-8')\n    .send(data)\n  if (!(res.ok && res.body && res.body.success)) {\n    throw new Error(`Server Response Error: ${res.status}, code: ${res.body ? res.body.code : ''}`)\n  }\n  return res.body.data\n}\n\nmodule.exports = async function (config, username) {\n\n  if (!username) {\n    throw new Error('Please enter username')\n  }\n\n  const userSearchRes = await fetchSDUTOJ('getUserList', {\n    username,\n    page: 1, \n    order: [['accepted','DESC']],\n    limit: 1000,\n  })\n  const user = userSearchRes.rows.find(user => user.username === username)\n  if (!user) {\n    throw new Error('The user does not exist')\n  }\n  const userId = user.userId\n\n  const [statsRes, detailRes] = await Promise.all([\n    fetchSDUTOJ('getUserProblemResultStats', { userId }),\n    fetchSDUTOJ('getUserDetail', { userId }),\n  ])\n\n  return {\n    submissions: detailRes.submitted,\n    solved: detailRes.accepted,\n    solvedList: statsRes.acceptedProblemIds.map(pid => `${pid}`),\n  }\n}\n"
  },
  {
    "path": "crawler/crawlers/spoj.js",
    "content": "const request = require('superagent')\nconst cheerio = require('cheerio')\n\nmodule.exports = async function (config, username) {\n\n  if (!username) {\n    throw new Error('Please enter username')\n  }\n\n  let res = null\n  try {\n    res = await request\n      .get('http://www.spoj.com/users/' + username)\n  } catch (e) {\n    if (e.message === 'Not Found') {\n      throw new Error('The user does not exist')\n    } else {\n      throw e\n    }\n  }\n\n  if (!res.ok) {\n    throw new Error(`Server Response Error: ${res.status}`)\n  }\n\n  const $ = cheerio.load(res.text)\n\n  if ($('#user-profile-left').length == 0) {\n    throw new Error('The user does not exist')\n  }\n\n  try {\n    return {\n      submissions: Number($('dt:contains(\"Solutions submitted\") + dd').text().trim()),\n      solved: Number($('dt:contains(\"Problems solved\") + dd').text().trim()),\n      solvedList: $('h4:contains(\"List of solved classical problems\") + table a')\n        .map((i, elem) => $(elem).text().trim())\n        .get()\n        // 移除表格中的空位\n        .filter(item => item.length > 0),\n    }\n  } catch (e) {\n    throw new Error('Error while parsing')\n  }\n}"
  },
  {
    "path": "crawler/crawlers/timus.js",
    "content": "const request = require('superagent')\nconst cheerio = require('cheerio')\n\nmodule.exports = async function (config, username) {\n\n  if (!username) {\n    throw new Error('Please enter username')\n  }\n\n  const idRes = await request\n    .get('http://acm.timus.ru/search.aspx')\n    .query({ Str: username })\n\n  const id$ = cheerio.load(idRes.text)\n  const name = id$('td.name').filter((i, el) => id$(el).text() === username)\n  if (name.length === 0) {\n    throw new Error('The user does not exist')\n  }\n\n  const res = await request\n    .get('http://acm.timus.ru/' + name.find('a').attr('href'))\n  const $ = cheerio.load(res.text)\n\n  let solved = null\n  try {\n    solved = Number($('td.author_stats_name:contains(\"Problems solved\") + td').text().match(/\\d+/g)[0])\n  } catch (e) {\n    throw new Error('Error while parsing')\n  }\n\n  const submissionPageUri = $('a').filter((i, el) => $(el).text() === 'Recent submissions')\n  const submissions = await queryList(submissionPageUri.attr('href'))\n\n  const solvedList = $('td.accepted > a')\n    .map((i, elem) => $(elem).text().trim())\n    .get()\n\n  return {\n    solved,\n    submissions,\n    solvedList,\n  }\n}\n\n/**\n * 进入当前页面，统计页面上的提交数\n * @param uri 要进入的页面的链接\n * @returns {Promise<Number>} - 提交数\n */\nasync function queryList(uri) {\n  const res = await request\n    .get('http://acm.timus.ru/' + uri)\n\n  const $ = cheerio.load(res.text)\n  const num = $('td.problem').length\n  if (num === 0) {\n    return 0\n  }\n\n  const nextLink = $('a:contains(\"Next\")')\n  if (nextLink.length === 0) {\n    return num\n  } else {\n    return num + await queryList(nextLink.attr('href'))\n  }\n}\n"
  },
  {
    "path": "crawler/crawlers/uestc.js",
    "content": "const request = require('superagent')\n\nmodule.exports = async function (config, username) {\n\n  if (!username) {\n    throw new Error('Please enter username')\n  }\n\n  const res = await request\n    .post('https://acm.uestc.edu.cn/graphql')\n    .send({\n      operationName: 'ProfileGQL',\n      variables: { username },\n      query: `query ProfileGQL($username: String!) {\n        user(username: $username) {\n          solved\n          statistics {\n            ac\n            tle\n            ce\n            wa\n            re\n            ole\n            mle      \n            solve {\n              pk\n              status\n            }\n          }\n        }\n      }\n      `,\n    })\n\n  if (!res.ok) {\n    throw new Error(`Server Response Error: ${res.status}`)\n  }\n\n  if (res.body.errors) {\n    throw new Error('The user does not exist')\n  }\n\n  try {\n\n    const solvedList = res.body.data.user.statistics.solve\n      .filter(x => x.status)\n      .map(x => x.pk)\n\n    const s = res.body.data.user.statistics\n\n    return {\n      submissions: s.ac + s.tle + s.ce + s.wa + s.re + s.ole + s.mle,\n      solved: res.body.data.user.solved,\n      solvedList,\n    }\n  }\n  catch (e) {\n    throw new Error('Error while parsing')\n  }\n}"
  },
  {
    "path": "crawler/crawlers/uoj.js",
    "content": "const request = require('superagent')\nconst cheerio = require('cheerio')\n\nmodule.exports = async function (config, username) {\n\n  if (!username) {\n    throw new Error('Please enter username')\n  }\n\n  let res\n  try {\n    res = await request\n      .get('https://uoj.ac/user/profile/' + username)\n  } catch (err) {\n    if (err.response && err.response.status === 404) {\n      throw new Error('The user does not exist')\n    } else {\n      throw err\n    }\n  }\n\n  if (!res.ok) {\n    throw new Error(`Server Response Error: ${res.status}`)\n  }\n\n  const $ = cheerio.load(res.text)\n\n  if ($('.panel-danger:contains(\"不存在该用户\")').length === 1) {\n    throw new Error('The user does not exist')\n  }\n\n  const submissionPage = await request\n    .get('https://uoj.ac/submissions')\n    .query({\n      submitter: username,\n      page: 999,\n    })\n\n  const $$ = cheerio.load(submissionPage.text)\n\n  try {\n\n    const solved = $('h4:contains(\"AC 过的题目：\")')\n      .text()\n      .match(/\\d+/)[0]\n    const solvedList = $('a[href^=\"https://uoj.ac/problem/\"]')\n      .map((_, el) => $(el).text())\n      .toArray()\n\n    let submissions\n    if ($$('.uoj-content tr td').first().text() === '无') {\n      submissions = 0\n    } else {\n      const pageNum = parseInt($$('li.active').text()) || 1\n      submissions = (pageNum - 1) * 10 + $$('.uoj-content tbody tr').length\n    }\n\n    return {\n      solved: parseInt(solved),\n      submissions,\n      solvedList,\n    }\n  } catch (e) {\n    throw new Error('Error while parsing')\n  }\n}"
  },
  {
    "path": "crawler/crawlers/uva.js",
    "content": "const request = require('superagent')\n\nconst prefix = 'https://uhunt.onlinejudge.org'\n\n/** uva 的 api 接口：https://uhunt.onlinejudge.org/api\n * 由于uva不支持分页处理，每次必须把全部信息拉取下来，在前端查询时有可能超过 cors-proxy 的长度限制\n * 不过普通用户的话也不会有太多数据\n */\nmodule.exports = async function (config, username) {\n\n  if (!username) {\n    throw new Error('Please enter username')\n  }\n\n  const uidRes = await request.get(prefix + '/api/uname2uid/' + username)\n\n  if (uidRes.body === 0) {\n    throw new Error('The user does not exist')\n  }\n\n  const res = await request\n    .get(prefix + '/api/subs-user/' + uidRes.body)\n\n  const acSet = new Set()\n  const problemArray = res.body.subs\n  problemArray.forEach(function (element) {\n    if (element[2] === 90) {\n      acSet.add(element[1])\n    }\n  })\n\n  const ohuntRes = await request\n    .post('https://ojhunt.com/api/ohunt/problems/resolve-label')\n    .send({\n      onlineJudge: 'uva',\n      list: [...acSet],\n    })\n\n  return {\n    solved: acSet.size,\n    submissions: problemArray.length,\n    solvedList: Object.values(ohuntRes.body.result),\n  }\n}"
  },
  {
    "path": "crawler/crawlers/uvalive.js",
    "content": "const request = require('superagent')\n\nconst prefix = 'https://icpcarchive.ecs.baylor.edu/uhunt'\n\n/**\n * It has the same interface as uva.\n * \n * See uva.js for more information.\n */\nmodule.exports = async function (config, username) {\n\n  if (!username) {\n    throw new Error('Please enter username')\n  }\n\n  const uidRes = await request.get(prefix + '/api/uname2uid/' + username)\n\n  if (uidRes.body === 0) {\n    throw new Error('The user does not exist')\n  }\n\n  const res = await request\n    .get(prefix + '/api/subs-user/' + uidRes.body)\n\n  const acSet = new Set()\n  const problemArray = res.body.subs\n  problemArray.forEach(function (element) {\n    if (element[2] === 90) {\n      acSet.add(element[1])\n    }\n  })\n\n  const ohuntRes = await request\n    .post('https://ojhunt.com/api/ohunt/problems/resolve-label')\n    .send({\n      onlineJudge: 'uvalive',\n      list: [...acSet],\n    })\n\n  return {\n    solved: acSet.size,\n    submissions: problemArray.length,\n    solvedList: Object.values(ohuntRes.body.result),\n  }\n}\n"
  },
  {
    "path": "crawler/crawlers/vjudge.js",
    "content": "const request = require('superagent')\n\nconst hostName = 'vjudge.net'\n\n// put the object at module level to cache the session\nlet agent = null\nlet config = null\n\nconst MAX_PAGE_SIZE = 500\n\n/**\n * vjudge 的设置项\n * @typedef vjudgeCrawlerConfig\n * @type {Object}\n * @param {String} crawler_login_user - 登录 vjudge 使用的用户名，vj需要一个账户才能访问api\n * @param {String} crawler_login_password\n */\n\n/**\n * vjudge 的爬虫函数\n * @param {vjudgeCrawlerConfig} config\n * @param username 要爬取的用户名\n * @returns {Promise<crawlerReturns>} - 见 configReader\n */\nmodule.exports = async function (localConfig, username) {\n\n  if (!username) {\n    throw new Error('Please enter username')\n  }\n\n  config = localConfig\n  if (!agent) {\n    await tryLogin()\n  }\n  // console.log(config)\n\n  const acSet = new Set()\n  const submissionsByCrawlerName = {}\n  let submissions = 0\n\n  const queryObject = {\n    username: username,\n    pageSize: MAX_PAGE_SIZE,\n    maxId: undefined,\n  }\n\n  // eslint-disable-next-line no-constant-condition\n  while (true) {\n    // requesting /////////////////////////////////////////////////////////////\n    const res = await agent\n      .get(`https://${hostName}/user/submissions`)\n      .query(queryObject)\n\n    if (!res.ok) {\n      throw new Error(`Server Response Error: ${res.status}`)\n    }\n\n    if (res.body.error && /login/.test(res.body.error)) {\n      await tryLogin()\n      continue\n    }\n\n    // processing /////////////////////////////////////////////////////////////\n    if (res.body.error && /User .* does not exist/.test(res.body.error)) {\n      throw new Error('The user does not exist')\n    }\n\n    // console.log(res.body)\n    if (!res.body.data) {\n      throw new Error(`Cannot process vjudge data, body: ${JSON.stringify(res.body)}`)\n    }\n\n    const problemArray = res.body.data\n\n    /*\n    delete res.body.data\n    console.log('body except data', res.body)\n    */\n\n    // console.log(probremArray)\n    // console.log(probremArray[0][0])\n\n    if (problemArray.length === 0) {\n      return 0\n    }\n\n    problemArray.forEach(element => {\n      const crawlerName = mapOjName(element[2])\n      if (!submissionsByCrawlerName[crawlerName]) {\n        submissionsByCrawlerName[crawlerName] = 1\n      } else {\n        submissionsByCrawlerName[crawlerName] += 1\n      }\n      if (element[4] === 'AC') {\n        const title = crawlerName + '-' + element[3]\n        acSet.add(title)\n      }\n    })\n\n    const total = problemArray.length\n\n    // vj以id从大到小的顺序返回题目情况，把最后一个题目的id-1作为下次查询的MaxId\n    // id必须要减一，否则最后一题会重复（2018-3-17日最后一次实验）\n    queryObject.maxId = problemArray[total - 1][0] - 1\n\n    submissions += total\n\n    if (total < MAX_PAGE_SIZE) {\n      break\n    }\n  }\n\n  return {\n    solved: acSet.size,\n    submissions: submissions,\n    solvedList: [...acSet],\n    submissionsByCrawlerName,\n  }\n}\n\nasync function tryLogin() {\n  // console.log('try login')\n  // console.log(`login vjudge: \"${config.crawler_login_user}\" \"${config.crawler_login_password}\"`)\n\n  agent = request.agent()\n    .set('User-Agent', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36')\n\n  let loginStatus\n  try {\n    loginStatus = await agent\n      .post(`https://${hostName}/user/login`)\n      .type('form')\n      .send({\n        'username': config.crawler_login_user,\n        'password': config.crawler_login_password,\n      })\n  } catch (err) {\n    console.error('vjudge login error:', err)\n    const error = new Error('vjudge login failed')\n    error.innerError = err\n    throw error\n  }\n\n  // console.log('loginStatus', loginStatus)\n\n  if (loginStatus.text !== 'success') {\n    console.error('vjudge login not success:', loginStatus.text)\n    throw new Error('vjudge login failed')\n  }\n\n  // console.log('vjudge login success')\n}\n\n/**\n * take a oj name in virtual judge and map its name to crawler name\n * \n * if name cannot be mapped, return original name\n * @param {string} nameInVjudge \n */\nfunction mapOjName(nameInVjudge) {\n\n  // oj that can map its name to crawler name by changing into lower case\n  const simpleMapOj = new Set([\n    'codeforces',\n    'uva',\n    'uvalive',\n    'poj',\n    'hdu',\n    'zoj',\n    'fzu',\n    'spoj',\n    'timus',\n    'csu',\n    // 'hust',\n    'atcoder',\n    'aizu',\n    'codechef',\n    'nbut',\n  ])\n  // crawler name map\n  const ojMap = {\n    '': 'NO_NAME',\n    'LibreOJ': 'loj',\n    'URAL': 'timus',\n    'HYSBZ': 'dashiye',\n    // it looks like a typo of vjudge\n    'EIJudge': 'eljudge',\n    'Gym': 'codeforces',\n    '51Nod': 'nod',\n  }\n\n  if (simpleMapOj.has(nameInVjudge.toLowerCase())) {\n    return nameInVjudge.toLowerCase()\n  } else if (nameInVjudge in ojMap) {\n    return ojMap[nameInVjudge]\n  } else {\n    return nameInVjudge\n  }\n}"
  },
  {
    "path": "crawler/crawlers/zoj.js",
    "content": "const request = require('superagent')\n\nmodule.exports = async function (config, username) {\n\n  if (!username) {\n    throw new Error('Please enter username')\n  }\n\n  const submissionRes = await request\n    .get('/api/ohunt/submissions')\n    .query({\n      oj: 'zoj',\n      $filter: `UserName eq '${username}'`,\n      $count: true,\n      $top: 0,\n    })\n\n  const submissions = submissionRes.body['@odata.count']\n\n  if (submissions === 0) {\n    throw new Error('The user does not exist')\n  }\n\n  try {\n    const solvedSet = new Set()\n\n    let skip = 0\n    let solvedRes\n    do {\n      solvedRes = await request\n        .get('https://ojhunt.com/api/ohunt/submissions')\n        .query({\n          oj: 'zoj',\n          $filter: `UserName eq '${username}' and Status eq 'Accepted'`,\n          $skip: skip,\n          $select: 'ProblemLabel',\n        })\n      solvedRes.body.value.forEach(item => {\n        solvedSet.add(item.ProblemLabel)\n      })\n\n      skip += 500\n    } while (solvedRes.body['@odata.nextLink'])\n\n    return {\n      solved: solvedSet.size,\n      submissions,\n      solvedList: [...solvedSet],\n    }\n  } catch (e) {\n    throw new Error('Error while parsing')\n  }\n}"
  },
  {
    "path": "crawler/index.js",
    "content": "require('./lib/globalProxy')\n\nconst {readMetaConfigs} = require('./lib/configReader')\nconst {generateBrowserCrawlerFunctions, generateServerCrawlerFunctions} = require('./lib/functionGenerator')\n\nmodule.exports = {\n  readMetaConfigs,\n  generateServerCrawlerFunctions,\n  generateBrowserCrawlerFunctions,\n}"
  },
  {
    "path": "crawler/lib/__mocks__/configReader.js",
    "content": "exports.readCrawlerConfigs = async () => {\n  return [\n    {\n      name: 'crawler1',\n      meta: {\n        title: 'Crawler1',\n        description: 'Description1',\n        url: 'http://www.c1.com',\n      },\n    },\n    {\n      name: 'crawler2',\n      meta: {\n        title: 'Crawler2',\n      },\n      custom_data: 'CustomData',\n    },\n    {\n      name: 'crawler_for_server',\n      meta: {\n        title: 'CrawlerForServer',\n      },\n      server_only: true,\n    },\n  ]\n}\n\nexports.readMetaConfigs = async () => {\n  return {\n    crawler1: {\n      title: 'Crawler1',\n      description: 'Description1',\n      url: 'http://www.c1.com',\n    },\n    crawler2: {\n      title: 'Crawler2',\n    },\n    crawler_for_server: {\n      title: 'CrawlerForServer',\n    },\n  }\n}"
  },
  {
    "path": "crawler/lib/configReader.js",
    "content": "/*\n用于读取用户的爬虫设置，用在前端时，本模块只在编译期间运行，将会返回给用户设置信息\n */\n\nconst fs = require('fs').promises\nconst yml = require('js-yaml')\nconst join = require('path').join\nconst _ = require('lodash')\n\n// require 的路径是相对源文件路径的，而 fs 模块的路径是相对于工作路径的，必须使用 __dirname 来转换\nconst configPath = join(__dirname, '../config.yml')\n\n// 环境变量的前缀\nconst envConfigPrefix = 'ACM_STATISTICS_CRAWLER_ENV__'\n\n/**\n * 从一个表示环境变量的键值对里面读取配置，将配置合并到 config 中。\n * 将使用 _.set 来合并数据\n *\n * 举例：对于环境变量 ACM_STATISTICS_CRAWLER_ENV__a__b__1__c = 12 和配置对象 {a:{b:[{}],d:333}}，\n * 结果为 {a:{b:[{},{c:12}],d:333}}\n *\n * 环境变量的值将使用 JSON.parse 来处理，因此可以使用任意 json 中存在的类型。\n * 如果需要传入字符串，需要使用类似于 ACM_STATISTICS_CRAWLER_ENV__a__b__1__c = \"12\"\n * 或者 ACM_STATISTICS_CRAWLER_ENV__a = \"{asdf}\" 这样的形式\n *\n * @param {object} config\n * @param {object.<string,string>} env\n */\nexports.mergeConfigWithEnv = (config, env) => {\n\n  _.forEach(env, (value, key) => {\n\n    if (_.startsWith(key, envConfigPrefix)) {\n      const keyStr = key.slice(envConfigPrefix.length)\n      _.set(config, _.split(keyStr, '__'), JSON.parse(value))\n\n    } else {\n      // pass\n    }\n  })\n}\n\n/**\n * 从文件读取配置并和环境变量合并\n *\n * @return {Promise<object>}\n */\nexports.readConfigs = async () => {\n  const config = yml.load(await fs.readFile(configPath, 'utf-8'))\n  exports.mergeConfigWithEnv(config, process.env)\n  return config\n}\n\n/**\n * 获取爬虫的所有配置\n * @return {Promise<Array<Object>>}\n */\nexports.readCrawlerConfigs = async () => {\n\n  const config = await exports.readConfigs()\n\n  return _.map(config.crawler_order, name =>\n    _.assign({name: name}, config.crawlers[name]))\n}\n\n/**\n * 返回一个对象，其中key是爬虫名，value是一个Object，包含爬虫的元信息\n * @returns {Promise<Object.<String, Object>>}\n */\nexports.readMetaConfigs = async () => {\n  const config = await exports.readConfigs()\n\n  let ret = {}\n  for (let name of config.crawler_order) {\n    ret[name] = config.crawlers[name].meta\n  }\n  return ret\n}\n"
  },
  {
    "path": "crawler/lib/functionGenerator.js",
    "content": "/*\n用于生成爬虫函数，用在前端时，本模块只在编译期间运行，返回给用户已经注入好设置信息的爬虫函数\n*/\n\nconst configReader = require('./configReader')\n\nconst fs = require('fs').promises\nconst _ = require('lodash')\nconst join = require('path').join\n\n/**\n * 爬虫函数的返回类型\n * @typedef {Object} CrawlerReturns\n * @type {Object}\n * @property {Number} solved - 用户通过的题量\n * @property {Number} submissions - 用户的总提交量\n * @property {Array<String>|undefined|null} solvedList - 用户通过的题目列表\n */\n\n/**\n * 为服务端返回的爬虫函数\n * @typedef {Function} ServerCrawlerFunction\n * @type {Function}\n * @param {String} username - 要爬取的用户名\n * @returns {Promise<CrawlerReturns>}\n */\n\n/**\n * Wrap the result from crawler to make sure it has right format\n * @param {string} promiseExpression the string of express that evaluate to the promise\n * of the result\n * @returns {string} \n */\nexports.crawlerWrapper = promiseExpression => {\n  return `${promiseExpression}\n    .then(res => {\n      ${checkNumberFormat('res.solved')}\n      ${checkNumberFormat('res.submissions')}\n      if (res.solvedList !== null && res.solvedList !== undefined \n        && !(res.solvedList instanceof Array)) {\n        throw new Error('The crawler returned wrong format result. It can be a bug in crawler.')\n      }\n      return res\n    })`\n\n  function checkNumberFormat(field) {\n    return `\n      if (!Number.isInteger(${field}) || ${field} < 0) {\n        throw new Error('The crawler returned wrong format result. It can be a bug in crawler.')\n      }`\n  }\n}\n\n/**\n * 为服务器端返回爬虫函数，会从config.yml读取信息，并返回一个对象\n *\n * @returns {Promise<Object.<string, ServerCrawlerFunction>>}\n */\nexports.generateServerCrawlerFunctions = async () => {\n  const config = await configReader.readCrawlerConfigs()\n\n  const ret = {}\n  for (let item of config) {\n    if (!item.name) {\n      continue\n    }\n    const crawlerConfig = {\n      env: 'server',\n    }\n    _.assign(crawlerConfig, item)\n    // eslint-disable-next-line no-unused-vars\n    const crawlerFunc = require(`../crawlers/${item.name}.js`)\n    ret[item.name] = eval(`username => ${exports.crawlerWrapper('crawlerFunc(crawlerConfig, username)')}`)\n  }\n\n  return ret\n}\n\n/**\n * 为客户端返回的爬虫函数的源代码字符串。\n * 如果爬虫是server_only的，将会返回一个带 axios 请求的函数，\n * 函数将会向服务器发起请求，让服务器进行爬取；\n * 如果爬虫不是server_only的，返回已经注入了设置信息的爬虫源代码。\n * 请注意：本函数返回的对象中不含有“函数”，只有“函数的源代码”。\n * 需要使用eval或者将源代码拼接进源码文件中使用。\n * @typedef {Function} ClientCrawlerFunction\n * @type {Function}\n * @param {String} username - 要爬取的用户名\n * @returns {Promise<CrawlerReturns>}\n */\n\n/**\n * 返回给前端使用的爬虫函数，会从 config.yml 读取配置信息，装配配置信息并返回。\n * 设置了 server_only 的爬虫会返回一个 axios 的请求\n *\n * @returns {Promise<Object.<string, ClientCrawlerFunction>>}\n */\nexports.generateBrowserCrawlerFunctions = async () => {\n\n  // 生成从服务器端进行查询的代码\n  const resolveServerQuery = (crawlerName) => _.trim(`\n    new Promise((resolve, reject) => {\n      superagent.get('/api/crawlers/${crawlerName}/'+username)\n        .then(response => {\n          // console.log(response)\n          if (response.body.error) {\n            reject(new Error(response.body.message))\n          } else {\n            resolve(response.body.data)\n          }\n        })\n        .catch(err => {\n          // console.error(err)\n          if (err.response && err.response.body && err.response.body.message) {\n            // 服务端的爬虫报的错\n            reject(new Error(err.response.body.message))\n          } else {\n            //网络错误或其他错误\n            reject(err)\n          }\n        })\n    })\n  `)\n\n  const config = await configReader.readCrawlerConfigs()\n\n  const ret = {}\n  for (let item of config) {\n    if (!item.name) {\n      continue\n    }\n    if (item.server_only) {\n      ret[item.name] = `\n        (username) => {\n          return ${resolveServerQuery(item.name)}\n        }\n      `\n    } else {\n      const crawlerFuncStr = await fs.readFile(join(__dirname, `../crawlers/${item.name}.js`), 'utf-8')\n      const crawlerConfig = {\n        env: 'browser',\n      }\n      _.assign(crawlerConfig, item)\n      ret[item.name] = `\n        (username) => {\n          let module = {exports: {}}\n          ;(function(module, exports) { ${crawlerFuncStr} })(module, module.exports)\n          return ${exports.crawlerWrapper(`module.exports(${JSON.stringify(crawlerConfig)}, username)`)}\n            .catch(err => {\n              if (err.response || err.url) {\n                // 有response字段说明这是由 superagent 抛出的异常\n                // 有url字段（而没有 response字段）说明是cors的异常\n                return ${resolveServerQuery(item.name)}\n              } else {\n                throw err\n              }\n            })\n        }\n      `\n    }\n  }\n  return ret\n}\n"
  },
  {
    "path": "crawler/lib/globalProxy.js",
    "content": "/*\n根据环境变量设置 superagent 的 proxy\n必须在所有的 superagent 之前引入\n */\n\nif (process.env.http_proxy) {\n\n  const superagent = require('superagent')\n  const request = require('superagent-proxy')(superagent)\n\n  const OrigRequest = request.Request\n  superagent.Request = function RequestWithAgent(method, url) {\n    console.log(`use stubbed ${method} proxy in url: ${url}`)\n    const req = new OrigRequest(method, url)\n    return req.proxy(process.env.http_proxy)\n  }\n}\n\n// redirect OHunt request (only work on crawler-api-backend)\nconst superagent = require('superagent')\nconst _ = require('lodash')\n\nconst getFunc = superagent.get\nsuperagent.get = url => {\n  if (_.startsWith(url, '/api/ohunt')) {\n    return getFunc('http://ohunt' + url)\n  } else {\n    return getFunc(url)\n  }\n}\n"
  },
  {
    "path": "crawler/package.json",
    "content": "{\n  \"name\": \"crawler\",\n  \"description\": \"存放所有爬虫\",\n  \"main\": \"index.js\",\n  \"scripts\": {\n    \"test\": \"jest\",\n    \"lint\": \"eslint --ext .js --ignore-path .gitignore .\",\n    \"lintfix\": \"eslint --fix --ext .js --ignore-path .gitignore .\"\n  },\n  \"dependencies\": {\n    \"cheerio\": \"^1.0.0-rc\",\n    \"js-yaml\": \"^4.0.0\",\n    \"lodash\": \"^4.17.20\",\n    \"superagent\": \"^8.0.0\",\n    \"superagent-proxy\": \"^3.0.0\"\n  },\n  \"devDependencies\": {\n    \"eslint\": \"8.57.1\",\n    \"eslint-plugin-jest\": \"27.9.0\",\n    \"eslint-plugin-lodash\": \"7.4.0\",\n    \"jest\": \"29.7.0\",\n    \"memfs\": \"3.5.3\",\n    \"nock\": \"13.5.6\",\n    \"typescript\": \"5.9.3\"\n  },\n  \"jest\": {\n    \"testPathIgnorePatterns\": [\n      \"/node_modules/\"\n    ],\n    \"testEnvironment\": \"node\",\n    \"coverageDirectory\": \"./coverage/\",\n    \"collectCoverage\": true\n  }\n}\n"
  },
  {
    "path": "crawler/release.Dockerfile",
    "content": "ARG CRAWLER_BASE_IMAGE\nARG NODE_BASE_IMAGE\n\n\nFROM ${CRAWLER_BASE_IMAGE} AS base\n\nRUN rm -rf node_modules\n\nFROM ${NODE_BASE_IMAGE}\n\nWORKDIR /var/project\n\nCOPY package.json pnpm-lock.yaml ./\nRUN pnpm install --only=production\n\nCOPY --from=base /var/project .\n"
  },
  {
    "path": "crawler-api-backend/.dockerignore",
    "content": "# dependencies\nnode_modules\n\n# logs\nnpm-debug.log\n\n# codecov\ncoverage\n\n# docker\n.dockerignore\nbase.Dockerfile\nrelease.Dockerfile\n\n# make\nMakefile\n\n# 日志文件\n/logs/\n"
  },
  {
    "path": "crawler-api-backend/.eslintrc.js",
    "content": "module.exports = {\n  root: true,\n  env: {\n    browser: false,\n    node: true,\n    es6: true,\n    'jest/globals': true,\n  },\n  parserOptions: {\n    parser: 'babel-eslint',\n    ecmaVersion: 8,\n  },\n  extends: [\n    'eslint:recommended',\n    // https://github.com/vuejs/eslint-plugin-vue#priority-a-essential-error-prevention\n    // consider switching to `plugin:vue/strongly-recommended` or `plugin:vue/recommended` for stricter rules.\n    'plugin:lodash/recommended',\n    'plugin:jest/recommended',\n  ],\n  // required to lint *.vue files\n  plugins: [\n    'lodash',\n    'jest',\n  ],\n  // add your custom rules here\n  rules: {\n    'semi': [2, 'never'],\n    'no-console': 'off',\n    'vue/max-attributes-per-line': 'off',\n    // 行末逗号：在多行中强制最后一项有逗号，单行中强制没有\n    'comma-dangle': ['error', 'always-multiline'],\n    'quotes': ['error', 'single'],\n    // 服务端不用管这个\n    'lodash/import-scope': 'off',\n    // 这个方法的可读性太低了\n    'lodash/matches-prop-shorthand': 'off',\n  },\n}\n"
  },
  {
    "path": "crawler-api-backend/.gitignore",
    "content": "# Logs\nlogs\n*.log\nnpm-debug.log*\nyarn-debug.log*\nyarn-error.log*\n\n# Runtime data\npids\n*.pid\n*.seed\n*.pid.lock\n\n# Directory for instrumented libs generated by jscoverage/JSCover\nlib-cov\n\n# Coverage directory used by tools like istanbul\ncoverage\n\n# nyc test coverage\n.nyc_output\n\n# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)\n.grunt\n\n# Bower dependency directory (https://bower.io/)\nbower_components\n\n# node-waf configuration\n.lock-wscript\n\n# Compiled binary addons (https://nodejs.org/api/addons.html)\nbuild/Release\n\n# Dependency directories\nnode_modules/\njspm_packages/\n\n# Typescript v1 declaration files\ntypings/\n\n# Optional npm cache directory\n.npm\n\n# Optional eslint cache\n.eslintcache\n\n# Optional REPL history\n.node_repl_history\n\n# Output of 'npm pack'\n*.tgz\n\n# Yarn Integrity file\n.yarn-integrity\n\n# dotenv environment variables file\n.env\n\n# next.js build output\n.next\n\n# 日志文件\n/logs/\n"
  },
  {
    "path": "crawler-api-backend/Makefile",
    "content": "## makefile for crawler api backend\n\ninclude ../build/share.mk\n\nhelp:\n\t@echo run \\\"make help\\\" in root directory to get help\n\n.crawler:\n\tcd ../crawler && $(MAKE) build\n.node-base:\n\tcd ../build && $(MAKE) -f node-base.mk build\n\n.base: .node-base .crawler\n\tdocker build . \\\n\t\t-f base.Dockerfile \\\n\t\t-t $(CrawlerApiBackendBaseTag) \\\n\t\t$(build-args) \\\n\t\t--build-arg NODE_BASE_IMAGE=$(NodeBaseTag) \\\n\t\t--build-arg CRAWLER_IMAGE=$(CrawlerTag)\n\nbuild: .base .crawler\n\tdocker build . \\\n\t\t-f release.Dockerfile \\\n\t\t-t $(CrawlerApiBackendTag) \\\n\t\t$(build-args) \\\n\t\t--build-arg NODE_BASE_IMAGE=$(NodeBaseTag) \\\n\t\t--build-arg BACKEND_BASE_IMAGE=$(CrawlerApiBackendBaseTag) \\\n\t\t--build-arg CRAWLER_IMAGE=$(CrawlerTag)\n\ntest: .base\n\tdocker run --rm -t $(CrawlerApiBackendBaseTag) pnpm test\n\nrun: .base\n\tdocker run $(run-args) $(CrawlerApiBackendBaseTag) $(run-cmd)\n\nclean:\n\tdocker image rm $(CrawlerApiBackendTag) $(CrawlerApiBackendBaseTag); true\n\ntest-ci: .base\n\tdocker run --rm \\\n\t\t-v \"$(CURDIR)/coverage:/var/project/coverage\" \\\n\t\t$(CrawlerApiBackendBaseTag) \\\n\t\tpnpm test -- --colors\n"
  },
  {
    "path": "crawler-api-backend/README.md",
    "content": "crawler-api-backend\n===\n\n这是一个爬虫微服务。在这里可以通过 Rest API 调用 `crawler` 文件夹中的所有爬虫。\n这些爬虫都是在服务器上运行的，因此您可以在任何地方使用本 API。\n\n## API\n\n### GET `/api/crawlers/swagger.json`\n\n返回 swagger 的 json 形式的文档。文档在 [swagger.json](./swagger.json) 中编辑。\n\n如果 `swagger.json` 中的描述与本文档有出入，以 `swagger.json` 中的为准。\n\n### GET `/api/crawlers/:type/:username`\n\n查询某个OJ上的用户题量\n\n#### 参数\n- type: OJ类型，只包括在 `/crawler/config.yml` 中定义的类型\n- username: 要查询的用户的用户名\n\n#### 成功返回\n\n- 状态码： 200\n\n```json\n{\n  \"error\": false,\n  \"data\": {\n    \"solved\": 1,\n    \"submissions\": 2\n  }\n}\n```\n\n#### 失败返回\n\n- 状态码： 400\n\n```json\n{\n  \"error\": true,\n  \"message\": \"错误信息\"\n}\n```\n\n### GET `/api/crawlers`\n\n返回所有支持查询的 OJ\n\n#### 成功返回\n```json\n{\n  \"error\": false,\n  \"data\": {\n    \"poj\": {\n      \"title\": \"POJ\",\n      \"description\": \"\",\n      \"url\": \"http://poj.org/\"\n    },\n    \"vjudge\": {},\n    \"...其他OJ\": {}\n  }\n}\n```\n\n## 部署\n\n- 使用 `pnpm start` 运行\n- 在运行之后会监视 `localhost:80`\n"
  },
  {
    "path": "crawler-api-backend/__mocks__/crawler.js",
    "content": "/* eslint-disable no-undef */\n\nmodule.exports = {\n  readMetaConfigs: async () => {\n    return {\n      crawler1: {\n        title: 'Crawler1',\n        description: 'Description1',\n        url: 'http://www.c1.com',\n      },\n      crawler2: {\n        title: 'Crawler2',\n      },\n      crawler_for_server: {\n        title: 'CrawlerForServer',\n      },\n    }\n  },\n  generateServerCrawlerFunctions: async () => {\n\n    const crawlerFunc = username => {\n      if (username === 'reject') {\n        throw new Error('The user does not exist')\n      } else {\n        return {\n          solved: 101,\n          submissions: 230,\n        }\n      }\n    }\n\n    const ret = {}\n    for (let item of ['crawler1', 'crawler2', 'crawler_for_server']) {\n      ret[item] = crawlerFunc\n    }\n    return ret\n  },\n}"
  },
  {
    "path": "crawler-api-backend/__test__/__snapshots__/apiRouter.test.js.snap",
    "content": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`/api/crawlers/swagger.json swagger should match snapshot 1`] = `\n{\n  \"definitions\": {\n    \"CrawlerMeta\": {\n      \"description\": \"Crawler's metadata\",\n      \"properties\": {\n        \"description\": {\n          \"description\": \"Description of the crawler\",\n          \"type\": \"string\",\n        },\n        \"title\": {\n          \"description\": \"Title of the crawler\",\n          \"type\": \"string\",\n        },\n        \"url\": {\n          \"description\": \"Target website of the crawler\",\n          \"type\": \"string\",\n        },\n      },\n      \"type\": \"object\",\n    },\n    \"Error\": {\n      \"properties\": {\n        \"error\": {\n          \"description\": \"true\",\n          \"type\": \"boolean\",\n        },\n        \"message\": {\n          \"type\": \"string\",\n        },\n      },\n      \"type\": \"object\",\n    },\n    \"Ok\": {\n      \"properties\": {\n        \"data\": {\n          \"$ref\": \"#/definitions/UserState\",\n        },\n        \"error\": {\n          \"description\": \"false\",\n          \"type\": \"boolean\",\n        },\n      },\n      \"type\": \"object\",\n    },\n    \"UserState\": {\n      \"description\": \"User performance\",\n      \"properties\": {\n        \"solved\": {\n          \"format\": \"int64\",\n          \"type\": \"integer\",\n        },\n        \"solvedList\": {\n          \"description\": \"A list which contains the problem the user passes. For non-virtual judge, only problem id is included. If the crawler targets a virtual judge, each problem follows the format of \\`crawlerName-problemId\\`\",\n          \"items\": {\n            \"type\": \"string\",\n          },\n          \"type\": \"array\",\n        },\n        \"submissions\": {\n          \"format\": \"int64\",\n          \"type\": \"integer\",\n        },\n        \"submissionsByCrawlerName\": {\n          \"additionalProperties\": {\n            \"type\": \"number\",\n          },\n          \"default\": null,\n          \"description\": \"If the crawler is virtual_judge, this field contains its submission count divided by crawler name.\",\n          \"type\": \"object\",\n        },\n      },\n      \"type\": \"object\",\n    },\n  },\n  \"externalDocs\": {\n    \"description\": \"Other documents\",\n    \"url\": \"https://github.com/Liu233w/acm-statistics/blob/master/crawler-api-backend/README.md\",\n  },\n  \"info\": {\n    \"description\": \"A crawler microservice that allows users to invoke all crawlers supported by the website. All crawlers run on server.\",\n    \"title\": \"crawler-api-backend\",\n    \"version\": \"1.0.0\",\n  },\n  \"paths\": {\n    \"/api/crawlers/\": {\n      \"get\": {\n        \"consumes\": [\n          \"application/json\",\n        ],\n        \"description\": \"\",\n        \"produces\": [\n          \"application/json\",\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"success\",\n            \"schema\": {\n              \"properties\": {\n                \"data\": {\n                  \"additionalProperties\": {\n                    \"$ref\": \"#/definitions/CrawlerMeta\",\n                  },\n                  \"description\": \"name of the crawler\",\n                  \"type\": \"object\",\n                },\n                \"error\": {\n                  \"description\": \"false\",\n                  \"type\": \"boolean\",\n                },\n              },\n              \"type\": \"object\",\n            },\n          },\n        },\n        \"summary\": \"Return all supported OJs\",\n      },\n    },\n    \"/api/crawlers/{type}/{username}\": {\n      \"get\": {\n        \"consumes\": [\n          \"application/json\",\n        ],\n        \"parameters\": [\n          {\n            \"description\": \"Type of the OJ. Only the type defined in \\`/crawler/config.yml\\` are included.\",\n            \"in\": \"path\",\n            \"name\": \"type\",\n            \"required\": true,\n            \"type\": \"string\",\n          },\n          {\n            \"in\": \"path\",\n            \"name\": \"username\",\n            \"required\": true,\n            \"type\": \"string\",\n          },\n        ],\n        \"produces\": [\n          \"application/json\",\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"successful\",\n            \"schema\": {\n              \"$ref\": \"#/definitions/Ok\",\n            },\n          },\n          \"400\": {\n            \"description\": \"all other failures\",\n            \"schema\": {\n              \"$ref\": \"#/definitions/Error\",\n            },\n          },\n        },\n        \"summary\": \"Query the performance of a user on certain OJ\",\n      },\n    },\n  },\n  \"swagger\": \"2.0\",\n}\n`;\n"
  },
  {
    "path": "crawler-api-backend/__test__/apiRouter.test.js",
    "content": "// 在 require 的时候程序会直接 require 爬虫，如果在 beforeAll 里面 mock 的话就晚了\njest.mock('crawler')\n\nconst request = require('supertest')\nconst app = require('../app').callback()\n\ntest('/api/crawlers/swagger.json swagger should match snapshot', async () => {\n  const res = await request(app).get('/api/crawlers/swagger.json')\n    .expect(200)\n  expect(res.body).toMatchSnapshot()\n})\n\ntest('/api/crawlers should return crawler list', async () => {\n  await request(app)\n    .get('/api/crawlers')\n    .expect(200, {\n      error: false,\n      data: {\n        crawler1: {\n          title: 'Crawler1',\n          description: 'Description1',\n          url: 'http://www.c1.com',\n        },\n        crawler2: {\n          title: 'Crawler2',\n        },\n        crawler_for_server: {\n          title: 'CrawlerForServer',\n        },\n      },\n    })\n})\n\ndescribe('/api/crawlers/:type/:username', () => {\n  it('should work correctly', async () => {\n    await request(app)\n      .get('/api/crawlers/crawler1/user')\n      .expect(200, {\n        error: false,\n        data: {\n          solved: 101,\n          submissions: 230,\n        },\n      })\n  })\n\n  it('should return 400 when crawler does not exist', async () => {\n    await request(app)\n      .get('/api/crawlers/notExist/user')\n      .expect(400, {\n        error: true,\n        message: 'Crawler of the oj does not exist',\n      })\n  })\n\n  it('should return error when crawler return error', async () => {\n    await request(app)\n      .get('/api/crawlers/crawler1/reject')\n      .expect(400, {\n        error: true,\n        message: 'The user does not exist',\n      })\n  })\n})\n\ntest('should return 404 when visiting url that does not exist', async () => {\n  await request(app)\n    .get('/notExists')\n    .expect(404, {\n      error: true,\n      message: '404 Not Found',\n    })\n})\n"
  },
  {
    "path": "crawler-api-backend/apiRouter.js",
    "content": "const Router = require('koa-router')\nconst _ = require('lodash')\n\nconst {readMetaConfigs, generateServerCrawlerFunctions} = require('crawler')\nlet crawlers\ngenerateServerCrawlerFunctions()\n  .then(res => crawlers = res)\nlet crawlerMeta\nreadMetaConfigs()\n  .then(res => crawlerMeta = res)\n\nconst swagger = require('./swagger.json')\n\nconst router = new Router()\n\nrouter.get('/api/crawlers/swagger.json', async (ctx) => {\n  ctx.response.type = 'application/json'\n  ctx.response.state = 200\n  ctx.response.body = JSON.stringify(swagger)\n})\n\nrouter.get('/api/crawlers/:type/:username', async (ctx) => {\n\n  const ojFunc = crawlers[ctx.params.type]\n\n  if (!_.isFunction(ojFunc)) {\n    throw new Error('Crawler of the oj does not exist')\n  }\n\n  ctx.rest(await ojFunc(ctx.params.username))\n})\n\nrouter.get('/api/crawlers', async (ctx) => {\n  ctx.rest(_.mapValues(crawlers, (value, key) => crawlerMeta[key]))\n})\n\nmodule.exports = router"
  },
  {
    "path": "crawler-api-backend/app.js",
    "content": "const koa = require('koa')\n\nconst restHelper = require('./utils/restHelper')\nconst logUtil = require('./utils/logUtil')\nconst rateLimiter = require('./utils/rateLimit')\n\nconst app = new koa()\nconst apiRouter = require('./apiRouter')\n\nconst errHelper = async (ctx, next) => {\n  try {\n    await next()\n  } catch (err) {\n    ctx.error(err.message)\n    // re-throw the exception to let it be caught by logUtil\n    throw err\n  }\n}\n\nconst notFoundHelper = async (ctx, next) => {\n  await next()\n  if (ctx.response.status === 404) {\n    ctx.error('404 Not Found')\n    ctx.response.status = 404\n  }\n}\n\napp\n  .use(rateLimiter)\n  .use(logUtil)\n  .use(restHelper)\n  .use(notFoundHelper)\n  .use(errHelper)\n  .use(apiRouter.routes())\n  .use(apiRouter.allowedMethods())\n\nmodule.exports = app\n"
  },
  {
    "path": "crawler-api-backend/base.Dockerfile",
    "content": "ARG CRAWLER_IMAGE\nARG NODE_BASE_IMAGE\n\n\nFROM ${CRAWLER_IMAGE} AS crawler\n\n\nFROM ${NODE_BASE_IMAGE}\n\nWORKDIR /var/project\n\nCOPY --from=crawler /var/project ../crawler\n\nCOPY package.json pnpm-lock.yaml ./\nRUN pnpm install\n\nCOPY . .\n"
  },
  {
    "path": "crawler-api-backend/config/log.js",
    "content": "const join = require('path').join\n\n//日志根目录\nconst baseLogPath = join(__dirname, '../logs')\n\n//错误日志目录\nconst errorPath = '/error'\n//错误日志文件名\nconst errorFileName = 'error'\n//错误日志输出完整路径\nconst errorLogPath = baseLogPath + errorPath + '/' + errorFileName\n\n//响应日志目录\nconst responsePath = '/response'\n//响应日志文件名\nconst responseFileName = 'response'\n//响应日志输出完整路径\nconst responseLogPath = baseLogPath + responsePath + '/' + responseFileName\n\nmodule.exports = {\n  // 定义两个输出源（appenders）\n  'appenders': {\n    // 错误日志\n    'errorOutput': {\n      'type': 'dateFile',                   //日志类型\n      'filename': errorLogPath,             //日志输出位置\n      'alwaysIncludePattern': true,          //是否总是有后缀名\n      'pattern': '-yyyy-MM-dd.log',          //后缀，每天创建一个新的日志文件\n      'path': errorPath,                     //自定义属性，错误日志的根目录\n    },\n    // 响应日志\n    'responseOutput': {\n      'type': 'dateFile',\n      'filename': responseLogPath,\n      'alwaysIncludePattern': true,\n      'pattern': '-yyyy-MM-dd.log',\n      'path': responsePath,\n    },\n    'console': {\n      'type': 'console',\n    },\n  },\n  //设置logger名称对应的的日志等级\n  'categories': {\n    'error': {\n      'appenders': ['errorOutput', 'responseOutput', 'console'],\n      'level': 'ALL',\n    },\n    'response': {\n      'appenders': ['responseOutput', 'console'],\n      'level': 'ALL',\n    },\n    'default': { // 这个目前还不需要\n      'appenders': ['responseOutput'],\n      'level': 'ALL',\n    },\n  },\n  //设置log输出的根目录\n  'baseLogPath': baseLogPath,\n}\n"
  },
  {
    "path": "crawler-api-backend/index.js",
    "content": "const app = require('./app')\n\n// 将 req.ip 设置为 X-Forward-For 中的 ip\napp.proxy = true\n\nconsole.log('start listening on localhost:80 ...')\n\napp.listen(80)\n"
  },
  {
    "path": "crawler-api-backend/package.json",
    "content": "{\n  \"name\": \"crawler-api-backend\",\n  \"version\": \"1.0.0\",\n  \"description\": \"OJ爬虫微服务\",\n  \"main\": \"index.js\",\n  \"scripts\": {\n    \"start\": \"node index.js\",\n    \"lint\": \"eslint --ext .js --ignore-path .gitignore .\",\n    \"lintfix\": \"eslint --fix --ext .js --ignore-path .gitignore .\",\n    \"test\": \"jest\"\n  },\n  \"author\": \"Liu233w <gh@liu233w.com>\",\n  \"license\": \"GPL-3.0\",\n  \"dependencies\": {\n    \"crawler\": \"link:../crawler\",\n    \"koa\": \"^2.13.1\",\n    \"koa-ratelimit\": \"^5.0.1\",\n    \"koa-router\": \"^12.0.0\",\n    \"lodash\": \"^4.17.21\",\n    \"log4js\": \"^6.4.0\"\n  },\n  \"devDependencies\": {\n    \"eslint\": \"8.57.1\",\n    \"eslint-plugin-jest\": \"27.9.0\",\n    \"eslint-plugin-lodash\": \"7.4.0\",\n    \"jest\": \"29.7.0\",\n    \"supertest\": \"6.3.4\",\n    \"typescript\": \"5.9.3\"\n  },\n  \"jest\": {\n    \"testEnvironment\": \"node\",\n    \"coverageDirectory\": \"./coverage/\",\n    \"collectCoverage\": true\n  }\n}\n"
  },
  {
    "path": "crawler-api-backend/release.Dockerfile",
    "content": "ARG CRAWLER_IMAGE\nARG BACKEND_BASE_IMAGE\nARG NODE_BASE_IMAGE\n\n\nFROM ${CRAWLER_IMAGE} AS crawler\n\n\nFROM ${BACKEND_BASE_IMAGE} AS base\nRUN rm -rf node_modules\n\n\nFROM ${NODE_BASE_IMAGE}\n\nWORKDIR /var/project\n\nCOPY --from=crawler /var/project ../crawler\n\nCOPY package.json pnpm-lock.yaml ./\nRUN pnpm install --only=production\n\nCOPY --from=base /var/project .\n\nENV NODE_ENV production\n\nEXPOSE 12001\n\nCMD [\"pnpm\", \"start\"]\n"
  },
  {
    "path": "crawler-api-backend/swagger.json",
    "content": "{\n  \"swagger\": \"2.0\",\n  \"info\": {\n    \"description\": \"A crawler microservice that allows users to invoke all crawlers supported by the website. All crawlers run on server.\",\n    \"version\": \"1.0.0\",\n    \"title\": \"crawler-api-backend\"\n  },\n  \"paths\": {\n    \"/api/crawlers/\": {\n      \"get\": {\n        \"summary\": \"Return all supported OJs\",\n        \"description\": \"\",\n        \"consumes\": [\n          \"application/json\"\n        ],\n        \"produces\": [\n          \"application/json\"\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"success\",\n            \"schema\": {\n              \"type\": \"object\",\n              \"properties\": {\n                \"error\": {\n                  \"type\": \"boolean\",\n                  \"description\": \"false\"\n                },\n                \"data\": {\n                  \"type\": \"object\",\n                  \"description\": \"name of the crawler\",\n                  \"additionalProperties\": {\n                    \"$ref\": \"#/definitions/CrawlerMeta\"\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n    },\n    \"/api/crawlers/{type}/{username}\": {\n      \"get\": {\n        \"summary\": \"Query the performance of a user on certain OJ\",\n        \"consumes\": [\n          \"application/json\"\n        ],\n        \"produces\": [\n          \"application/json\"\n        ],\n        \"parameters\": [\n          {\n            \"in\": \"path\",\n            \"name\": \"type\",\n            \"required\": true,\n            \"type\": \"string\",\n            \"description\": \"Type of the OJ. Only the type defined in `/crawler/config.yml` are included.\"\n          },\n          {\n            \"in\": \"path\",\n            \"name\": \"username\",\n            \"required\": true,\n            \"type\": \"string\"\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"successful\",\n            \"schema\": {\n              \"$ref\": \"#/definitions/Ok\"\n            }\n          },\n          \"400\": {\n            \"description\": \"all other failures\",\n            \"schema\": {\n              \"$ref\": \"#/definitions/Error\"\n            }\n          }\n        }\n      }\n    }\n  },\n  \"definitions\": {\n    \"CrawlerMeta\": {\n      \"type\": \"object\",\n      \"description\": \"Crawler's metadata\",\n      \"properties\": {\n        \"title\": {\n          \"type\": \"string\",\n          \"description\": \"Title of the crawler\"\n        },\n        \"description\": {\n          \"type\": \"string\",\n          \"description\": \"Description of the crawler\"\n        },\n        \"url\": {\n          \"type\": \"string\",\n          \"description\": \"Target website of the crawler\"\n        }\n      }\n    },\n    \"UserState\": {\n      \"type\": \"object\",\n      \"description\": \"User performance\",\n      \"properties\": {\n        \"solved\": {\n          \"type\": \"integer\",\n          \"format\": \"int64\"\n        },\n        \"submissions\": {\n          \"type\": \"integer\",\n          \"format\": \"int64\"\n        },\n        \"solvedList\": {\n          \"type\": \"array\",\n          \"description\": \"A list which contains the problem the user passes. For non-virtual judge, only problem id is included. If the crawler targets a virtual judge, each problem follows the format of `crawlerName-problemId`\",\n          \"items\": {\n            \"type\": \"string\"\n          }\n        },\n        \"submissionsByCrawlerName\": {\n          \"type\": \"object\",\n          \"default\": null,\n          \"description\": \"If the crawler is virtual_judge, this field contains its submission count divided by crawler name.\",\n          \"additionalProperties\": {\n            \"type\": \"number\"\n          }\n        }\n      }\n    },\n    \"Ok\": {\n      \"type\": \"object\",\n      \"properties\": {\n        \"error\": {\n          \"type\": \"boolean\",\n          \"description\": \"false\"\n        },\n        \"data\": {\n          \"$ref\": \"#/definitions/UserState\"\n        }\n      }\n    },\n    \"Error\": {\n      \"type\": \"object\",\n      \"properties\": {\n        \"error\": {\n          \"type\": \"boolean\",\n          \"description\": \"true\"\n        },\n        \"message\": {\n          \"type\": \"string\"\n        }\n      }\n    }\n  },\n  \"externalDocs\": {\n    \"description\": \"Other documents\",\n    \"url\": \"https://github.com/Liu233w/acm-statistics/blob/master/crawler-api-backend/README.md\"\n  }\n}\n"
  },
  {
    "path": "crawler-api-backend/utils/logUtil.js",
    "content": "const log4js = require('log4js')\nconst fs = require('fs')\nconst _ = require('lodash')\n\nconst logConfig = require('../config/log') // 加载配置文件\n\nlog4js.configure(logConfig) // 将配置添加到log4js中\n\nlet logUtil = {}\n\n\n// 确定目录是否存在，如果不存在则创建目录\nconst createPath = (pathStr) => {\n  if (!fs.existsSync(pathStr)) {\n    fs.mkdirSync(pathStr)\n    console.log(`createPath:${pathStr}`)\n  }\n}\n\n// 初始化log相关目录\nconst initLogPath = () => {\n  //创建log的根目录'logs'\n  if (logConfig.baseLogPath) {\n    //创建log根目录\n    createPath(logConfig.baseLogPath)\n\n    //根据不同的logType创建不同的子目录\n    _.forEach(item => {\n      if (item.path) {\n        createPath(logConfig.baseLogPath + item.path)\n      }\n    })\n  }\n}\n\n// 自动初始化log输出所需要的目录\ninitLogPath()\n\nconst errLogger = log4js.getLogger('error')\nconst resLogger = log4js.getLogger('response')\n\n//封装错误日志\nlogUtil.logError = function (ctx, error, resTime) {\n  if (ctx && error) {\n    errLogger.error(formatError(ctx, error, resTime))\n  }\n}\n\n//封装响应日志\nlogUtil.logResponse = function (ctx, resTime) {\n  if (ctx) {\n    resLogger.info(formatRes(ctx, resTime))\n  }\n}\n\n//格式化响应日志\nconst formatRes = (ctx, resTime) => {\n  var logText = ''\n\n  //响应日志开始\n  logText += '\\n' + '*************** response log start ***************' + '\\n'\n\n  //添加请求日志\n  logText += formatReqLog(ctx.request, resTime)\n\n  //响应状态码\n  logText += 'response status: ' + ctx.status + '\\n'\n\n  //响应内容\n  if (process.env.NODE_ENV === 'development') {\n    logText += 'response body: ' + '\\n' + JSON.stringify(ctx.body) + '\\n'\n  } else {\n    logText += 'response body: skipped\\n'\n  }\n\n  //响应日志结束\n  logText += '*************** response log end ***************' + '\\n'\n\n  return logText\n}\n\n//格式化错误日志\nconst formatError = (ctx, err, resTime) => {\n  var logText = ''\n\n  //错误信息开始\n  logText += '\\n*************** error log start ***************\\n'\n\n  //添加请求日志\n  logText += formatReqLog(ctx.request, resTime)\n\n  //错误名称\n  logText += `err name:${err.name}\\n`\n  //错误信息\n  logText += `err message:${err.message}\\n`\n  //错误详情\n  logText += `err stack:${err.stack}\\n`\n\n  //错误信息结束\n  logText += '*************** error log end ***************\\n'\n\n  return logText\n}\n\n//格式化请求日志\nconst formatReqLog = (req, resTime) => {\n  let logText = ''\n  let method = req.method\n\n  //访问方法\n  logText += `request method: ${method}\\n`\n\n  //请求原始地址\n  logText += `request originalUrl: ${req.originalUrl}\\n`\n\n  //客户端ip\n  logText += `request client ip: ${req.ip}\\n`\n\n  //请求参数\n  if (method === 'GET') {\n    logText += `request query: ${JSON.stringify(req.query)}\\n`\n  } else {\n    logText += `request body: \\n${JSON.stringify(req.body)}\\n`\n  }\n\n  //服务器响应时间\n  logText += `response time:${resTime}\\n`\n\n  return logText\n}\n\nconst middleware = async (ctx, next) => {\n  //响应开始时间\n  const start = new Date()\n  //请求处理完毕的时刻 减去 开始处理请求的时刻 = 处理请求所花掉的时间\n  let ms\n  try {\n    await next()\n\n    ms = new Date() - start\n\n    //记录响应日志\n    logUtil.logResponse(ctx, ms)\n  } catch (error) {\n    ms = new Date() - start\n\n    //记录异常日志\n    logUtil.logError(ctx, error, ms)\n  }\n}\n\nmodule.exports = middleware"
  },
  {
    "path": "crawler-api-backend/utils/rateLimit.js",
    "content": "const ratelimit = require('koa-ratelimit')\n\nconst db = new Map()\n\nmodule.exports = ratelimit({\n  driver: 'memory',\n  db: db,\n  duration: 3 * 60 * 1000,\n  errorMessage: 'Request limit exceed: 30 every 3 minutes',\n  max: 30,\n})"
  },
  {
    "path": "crawler-api-backend/utils/restHelper.js",
    "content": "/**\n * 方便写 rest API 的中间件\n */\n\nmodule.exports = async function (ctx, next) {\n\n  ctx.rest = function (data) {\n    ctx.response.status = 200\n    ctx.response.type = 'application/json'\n    ctx.response.body = {\n      error: false,\n      data: data,\n    }\n  }\n\n  ctx.error = function (message) {\n    ctx.response.status = 400\n    ctx.response.type = 'application/json'\n    ctx.response.body = {\n      error: true,\n      message: message,\n    }\n  }\n\n  await next()\n}"
  },
  {
    "path": "e2e/.dockerignore",
    "content": "/examples\n/http-mocks\nnode_modules"
  },
  {
    "path": "e2e/.eslintignore",
    "content": "# dependencies\n/node_modules\n\n# cypress example file\n/examples\n"
  },
  {
    "path": "e2e/.eslintrc.js",
    "content": "module.exports = {\n  root: true,\n  env: {\n    browser: false,\n    node: true,\n    es6: true,\n    'cypress/globals': true,\n  },\n  extends: [\n    'eslint:recommended',\n    'plugin:cypress/recommended',\n    'plugin:lodash/recommended',\n  ],\n  // required to lint *.vue files\n  plugins: [\n    'cypress',\n    'lodash',\n  ],\n  // add your custom rules here\n  rules: {\n    'semi': [2, 'never'],\n    'no-console': 'off',\n    // 行末逗号：在多行中强制最后一项有逗号，单行中强制没有\n    'comma-dangle': ['error', 'always-multiline'],\n    'quotes': ['error', 'single'],\n    // 测试端不需要 tree-shaking\n    'lodash/import-scope': 'off',\n    // 这个方法的可读性太低了\n    'lodash/matches-prop-shorthand': 'off',\n    'lodash/prefer-reject': 'off',\n    // cypress 里用不了这个\n    'lodash/prefer-lodash-method': 'off',\n  },\n}\n"
  },
  {
    "path": "e2e/.gitignore",
    "content": "# Logs\nlogs\n*.log\nnpm-debug.log*\nyarn-debug.log*\nyarn-error.log*\n\n# Runtime data\npids\n*.pid\n*.seed\n*.pid.lock\n\n# Directory for instrumented libs generated by jscoverage/JSCover\nlib-cov\n\n# Coverage directory used by tools like istanbul\ncoverage\n\n# nyc test coverage\n.nyc_output\n\n# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)\n.grunt\n\n# Bower dependency directory (https://bower.io/)\nbower_components\n\n# node-waf configuration\n.lock-wscript\n\n# Compiled binary addons (https://nodejs.org/api/addons.html)\nbuild/Release\n\n# Dependency directories\nnode_modules/\njspm_packages/\n\n# Typescript v1 declaration files\ntypings/\n\n# Optional npm cache directory\n.npm\n\n# Optional eslint cache\n.eslintcache\n\n# Optional REPL history\n.node_repl_history\n\n# Output of 'npm pack'\n*.tgz\n\n# Yarn Integrity file\n.yarn-integrity\n\n# dotenv environment variables file\n.env\n\n# next.js build output\n.next\n\n# cypress generation\n/cypress/screenshots\n/cypress/videos\n__diff_output__\n"
  },
  {
    "path": "e2e/.npmrc",
    "content": "strict-peer-dependencies=false"
  },
  {
    "path": "e2e/Dockerfile",
    "content": "FROM cypress/base:22.20.0\n\nWORKDIR /e2e\n\nRUN npm install --global pnpm@7\n\nCOPY package.json pnpm-lock.yaml ./\nRUN pnpm install\n\nRUN $(pnpm bin)/cypress verify\n\nENV http_proxy=http://localhost:1081\n\nCOPY . .\n"
  },
  {
    "path": "e2e/Makefile",
    "content": "# makefile for e2e\n\ninclude ../build/share.mk\n\n# === targets ===\n\n.PHONY: server .node-base build-http-mocks test open ci .base lint\n\n.node-base:\n\tcd ../build && $(MAKE) -f node-base.mk build\n\n## 覆盖跟时间和版本有关的变量，用于快照。\nserver: export VERSION_NUM = 0\nserver: export BUILD_TIME = 0\nserver:\n\tcd ../build && $(MAKE) -f docker-compose.mk e2e-up\n\n## 等待server就位。后端启动最慢，等它启动就差不多了\nwait-server:\n\tdocker run --rm -t --ipc=host --network=host \\\n\t\tjwilder/dockerize -timeout 30m \\\n\t\t-wait http://localhost:3000/api/services/app/Session/GetCurrentLoginInformations\n\nbuild-http-mocks: .node-base\n\tdocker build ./http-mocks \\\n\t\t-t $(E2eMockConfigurerTag) \\\n\t\t$(build-args) \\\n\t\t--build-arg NODE_BASE_IMAGE=$(NodeBaseTag)\n\n.base:\nifeq ($(pull-e2e-base-image),)\n\tdocker build . \\\n\t\t-t $(E2eBaseTag) \\\n\t\t$(build-args)\nelse\n\tdocker pull liu233w/acm-statistics-e2e-base\n\tdocker tag liu233w/acm-statistics-e2e-base $(E2eBaseTag)\nendif\n\nci: .base\n\tdocker run --rm -t --ipc=host --network=host \\\n\t\t$(shell printenv | grep -E '^GITHUB' | sed 's/\"/\\\\\"/g; s/\\(.*\\)/\"\\1\"/g; s/^/-e /g') \\\n\t\t-v \"$(CURDIR)/cypress:/e2e/cypress\" \\\n\t \t$(E2eBaseTag) \\\n\t\tnpm test -- --record --key $(CYPRESS_RECORD_KEY)\n\nci-no-record: .base\n\tdocker run --rm -t --ipc=host --network=host \\\n\t\t$(shell printenv | grep -E '^GITHUB' | sed 's/\"/\\\\\"/g; s/\\(.*\\)/\"\\1\"/g; s/^/-e /g') \\\n\t\t-v \"$(CURDIR)/cypress:/e2e/cypress\" \\\n\t \t$(E2eBaseTag) \\\n\t\tnpm test\n\nrun: .base\n\tdocker run $(run-args) $(E2eBaseTag) $(run-cmd)\n\n# test 也mount，这样的话就可以查看图片的diff了\ntest: .base\n\tdocker run --rm -t --ipc=host --network=host \\\n\t\t-v \"$(CURDIR)/cypress:/e2e/cypress\" \\\n\t \t$(E2eBaseTag) \\\n\t\tpnpm test\n\nopen: export http_proxy=http://localhost:1081\nopen:\n\tpnpm start -- --env failOnSnapshotDiff=false\n\nupdate-snapshot: .base\n\tdocker run --rm -t --ipc=host --network=host \\\n\t\t-v \"$(CURDIR)/cypress:/e2e/cypress\" \\\n\t \t$(E2eBaseTag) \\\n\t\tpnpm test -- --env updateSnapshots=true\n\nupd: .base wait-server update-snapshot test update-html-snapshot\n\nclean:\n\tdocker image rm $(E2eBaseTag) $(E2eMockConfigurerTag); true\n\n# ===== 使用 jest 对html进行快照 ===========\ntest-html: .base\n\tdocker run --rm -t --ipc=host --network=host \\\n\t$(E2eBaseTag) pnpm test-html\n\n# 更新快照\nupdate-html-snapshot: .base\n\tdocker run --rm -t --ipc=host --network=host \\\n\t\t-v \"$(CURDIR)/__test__:/e2e/__test__\" \\\n\t\t$(E2eBaseTag) pnpm test-html --updateSnapshot\n\ntest-html-ci: .base\n\tdocker run --rm --ipc=host --network=host \\\n\t\t$(E2eBaseTag) \\\n\t\tpnpm test-html --colors --ci\n"
  },
  {
    "path": "e2e/README.md",
    "content": "e2e\n=============================\n\n用于 E2E 测试的项目。本项目是单独于主项目而运行的。主项目使用类似生产环境的方式部署，用于模拟真实的浏览环境。额外加入了一个\nmock server 用于提供一致的外部环境（比如让爬虫请求的外部站点每次返回一样的结果，方便 e2e 测试的断言）。mock server 使用\nproxy 的方式实现，用来以侵入性最低的方式来实现mock。\n\n## 本地启动\n- 需要安装 docker\n- 使用 `make server` 启动项目\n- 同时也会启动一个 mock-server 和其配置工具，以便模拟项目的外部环境（主要是模拟爬虫等的外部调用）\n- 在确保项目完全启动之后，使用 `make open` 启动 cypress。\n- 上一步是运行在本地的，因此必须先使用 `pnpm install` 来安装依赖\n\n## 视觉测试\n- 这个项目使用 cypress 来进行视觉测试，测试必须在 docker 中运行，以保证生成的图片一致\n- 使用 `make open` 启动的本地项目会忽略视觉测试快照的不一致。`make open` 只是用在编写测试上的。\n- 使用 `make test` 在docker中运行全部E2E测试，包括视觉测试\n- 使用 `make update-snapshot` 更新本地的视觉测试快照\n- 添加开关 `pull-e2e-base-image=1` (比如 `make update-snapshot pull-e2e-base-image=1`) 可直接从 docker hub 拉取构建好的cypress镜像，否则将在本地构建。这样如果因为网络原因导致e2e镜像构建失败，使用此开关可以避免此问题。\n\n## Mock Server\n- 项目使用了 mock-server 作为 proxy 来控制外部调用\n- `http-mocks` 文件夹里是一个 mock-server 的控制器，用来动态添加mock\n- `GET http://mock-configurer/路径` 可以激活 `http-mocks/mocks` 文件夹下的相应mock，其中每个js文件可以返回一个object，\n    object可以嵌套，在调用的时候也需要在路径中把它写出来。\n- 给 cypress 新增加了一个命令 `mockServer`，用来激活特定的mock。比如 `cy.mockServer('oj/poj/backend_ok')` 将激活\n    `http-mocks/mocks/oj.js` 文件夹里的 `poj.backend_ok` 函数。\n  - 因为cypress的task必须要执行完毕。而mock server的某些mock不会结束，因此会阻塞cypress，只能单独拿到另一个项目里。\n\n## examples\n- examples 文件夹里是 cypress 自动生成的例子，这个可以留在编写测试的时候进行参考。\n\n## CI\n- `make ci` 可以模拟在 CI 中进行测试（使用docker），将会：\n  - 使用 `--report` 参数把报告发送给 `dashboard.cypress.io`\n  - mount .git 文件夹，以便生成报告。\n"
  },
  {
    "path": "e2e/__test__/pages/__snapshots__/pages_snapshot.test.js.snap",
    "content": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`/ 1`] = `\n<!DOCTYPE html>\n<html data-n-head-ssr=\"\">\n\n  <head>\n    <meta data-n-head=\"ssr\" charset=\"utf-8\">\n    <meta data-n-head=\"ssr\" name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <meta data-n-head=\"ssr\" data-hid=\"description\" name=\"description\" content=\"An online tool (crawler) to analyze users performance in online judges (coding competition websites). Supported OJ: POJ, HDU, ZOJ, HYSBZ, CodeForces, UVA, ICPC Live Archive, FZU, SPOJ, Timus (URAL), LeetCode_CN, CSU, LibreOJ, 洛谷, 牛客OJ, Lutece (UESTC), AtCoder, AIZU, CodeChef, El Judge, BNUOJ, Codewars, UOJ, NBUT, 51Nod, DMOJ, SDUT OJ, VJudge\">\n    <title>OJ Analyzer</title>\n    <link data-n-head=\"ssr\" rel=\"icon\" type=\"image/x-icon\" href=\"/favicon.ico\">\n    <link data-n-head=\"ssr\" rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Noto+Serif+SC:300,400,500,700\">\n    <link data-n-head=\"ssr\" rel=\"stylesheet\" type=\"text/css\" href=\"https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900&amp;display=swap\">\n    <link data-n-head=\"ssr\" rel=\"stylesheet\" type=\"text/css\" href=\"https://cdn.jsdelivr.net/npm/@mdi/font@latest/css/materialdesignicons.min.css\">\n    <style data-n-head=\"vuetify\" type=\"text/css\" id=\"vuetify-theme-stylesheet\" nonce=\"undefined\">\n      .v-application a {\n        color: #1976d2;\n      }\n\n      .v-application .primary {\n        background-color: #1976d2 !important;\n        border-color: #1976d2 !important;\n      }\n\n      .v-application .primary--text {\n        color: #1976d2 !important;\n        caret-color: #1976d2 !important;\n      }\n\n      .v-application .primary.lighten-5 {\n        background-color: #c7fdff !important;\n        border-color: #c7fdff !important;\n      }\n\n      .v-application .primary--text.text--lighten-5 {\n        color: #c7fdff !important;\n        caret-color: #c7fdff !important;\n      }\n\n      .v-application .primary.lighten-4 {\n        background-color: #a8e0ff !important;\n        border-color: #a8e0ff !important;\n      }\n\n      .v-application .primary--text.text--lighten-4 {\n        color: #a8e0ff !important;\n        caret-color: #a8e0ff !important;\n      }\n\n      .v-application .primary.lighten-3 {\n        background-color: #8ac5ff !important;\n        border-color: #8ac5ff !important;\n      }\n\n      .v-application .primary--text.text--lighten-3 {\n        color: #8ac5ff !important;\n        caret-color: #8ac5ff !important;\n      }\n\n      .v-application .primary.lighten-2 {\n        background-color: #6aaaff !important;\n        border-color: #6aaaff !important;\n      }\n\n      .v-application .primary--text.text--lighten-2 {\n        color: #6aaaff !important;\n        caret-color: #6aaaff !important;\n      }\n\n      .v-application .primary.lighten-1 {\n        background-color: #488fef !important;\n        border-color: #488fef !important;\n      }\n\n      .v-application .primary--text.text--lighten-1 {\n        color: #488fef !important;\n        caret-color: #488fef !important;\n      }\n\n      .v-application .primary.darken-1 {\n        background-color: #005eb6 !important;\n        border-color: #005eb6 !important;\n      }\n\n      .v-application .primary--text.text--darken-1 {\n        color: #005eb6 !important;\n        caret-color: #005eb6 !important;\n      }\n\n      .v-application .primary.darken-2 {\n        background-color: #00479b !important;\n        border-color: #00479b !important;\n      }\n\n      .v-application .primary--text.text--darken-2 {\n        color: #00479b !important;\n        caret-color: #00479b !important;\n      }\n\n      .v-application .primary.darken-3 {\n        background-color: #003180 !important;\n        border-color: #003180 !important;\n      }\n\n      .v-application .primary--text.text--darken-3 {\n        color: #003180 !important;\n        caret-color: #003180 !important;\n      }\n\n      .v-application .primary.darken-4 {\n        background-color: #001e67 !important;\n        border-color: #001e67 !important;\n      }\n\n      .v-application .primary--text.text--darken-4 {\n        color: #001e67 !important;\n        caret-color: #001e67 !important;\n      }\n\n      .v-application .secondary {\n        background-color: #bdbdbd !important;\n        border-color: #bdbdbd !important;\n      }\n\n      .v-application .secondary--text {\n        color: #bdbdbd !important;\n        caret-color: #bdbdbd !important;\n      }\n\n      .v-application .secondary.lighten-5 {\n        background-color: #ffffff !important;\n        border-color: #ffffff !important;\n      }\n\n      .v-application .secondary--text.text--lighten-5 {\n        color: #ffffff !important;\n        caret-color: #ffffff !important;\n      }\n\n      .v-application .secondary.lighten-4 {\n        background-color: #ffffff !important;\n        border-color: #ffffff !important;\n      }\n\n      .v-application .secondary--text.text--lighten-4 {\n        color: #ffffff !important;\n        caret-color: #ffffff !important;\n      }\n\n      .v-application .secondary.lighten-3 {\n        background-color: #ffffff !important;\n        border-color: #ffffff !important;\n      }\n\n      .v-application .secondary--text.text--lighten-3 {\n        color: #ffffff !important;\n        caret-color: #ffffff !important;\n      }\n\n      .v-application .secondary.lighten-2 {\n        background-color: #f5f5f5 !important;\n        border-color: #f5f5f5 !important;\n      }\n\n      .v-application .secondary--text.text--lighten-2 {\n        color: #f5f5f5 !important;\n        caret-color: #f5f5f5 !important;\n      }\n\n      .v-application .secondary.lighten-1 {\n        background-color: #d9d9d9 !important;\n        border-color: #d9d9d9 !important;\n      }\n\n      .v-application .secondary--text.text--lighten-1 {\n        color: #d9d9d9 !important;\n        caret-color: #d9d9d9 !important;\n      }\n\n      .v-application .secondary.darken-1 {\n        background-color: #a2a2a2 !important;\n        border-color: #a2a2a2 !important;\n      }\n\n      .v-application .secondary--text.text--darken-1 {\n        color: #a2a2a2 !important;\n        caret-color: #a2a2a2 !important;\n      }\n\n      .v-application .secondary.darken-2 {\n        background-color: #888888 !important;\n        border-color: #888888 !important;\n      }\n\n      .v-application .secondary--text.text--darken-2 {\n        color: #888888 !important;\n        caret-color: #888888 !important;\n      }\n\n      .v-application .secondary.darken-3 {\n        background-color: #6e6e6e !important;\n        border-color: #6e6e6e !important;\n      }\n\n      .v-application .secondary--text.text--darken-3 {\n        color: #6e6e6e !important;\n        caret-color: #6e6e6e !important;\n      }\n\n      .v-application .secondary.darken-4 {\n        background-color: #565656 !important;\n        border-color: #565656 !important;\n      }\n\n      .v-application .secondary--text.text--darken-4 {\n        color: #565656 !important;\n        caret-color: #565656 !important;\n      }\n\n      .v-application .accent {\n        background-color: #448aff !important;\n        border-color: #448aff !important;\n      }\n\n      .v-application .accent--text {\n        color: #448aff !important;\n        caret-color: #448aff !important;\n      }\n\n      .v-application .accent.lighten-5 {\n        background-color: #e8ffff !important;\n        border-color: #e8ffff !important;\n      }\n\n      .v-application .accent--text.text--lighten-5 {\n        color: #e8ffff !important;\n        caret-color: #e8ffff !important;\n      }\n\n      .v-application .accent.lighten-4 {\n        background-color: #c9f7ff !important;\n        border-color: #c9f7ff !important;\n      }\n\n      .v-application .accent--text.text--lighten-4 {\n        color: #c9f7ff !important;\n        caret-color: #c9f7ff !important;\n      }\n\n      .v-application .accent.lighten-3 {\n        background-color: #a9daff !important;\n        border-color: #a9daff !important;\n      }\n\n      .v-application .accent--text.text--lighten-3 {\n        color: #a9daff !important;\n        caret-color: #a9daff !important;\n      }\n\n      .v-application .accent.lighten-2 {\n        background-color: #8abfff !important;\n        border-color: #8abfff !important;\n      }\n\n      .v-application .accent--text.text--lighten-2 {\n        color: #8abfff !important;\n        caret-color: #8abfff !important;\n      }\n\n      .v-application .accent.lighten-1 {\n        background-color: #69a4ff !important;\n        border-color: #69a4ff !important;\n      }\n\n      .v-application .accent--text.text--lighten-1 {\n        color: #69a4ff !important;\n        caret-color: #69a4ff !important;\n      }\n\n      .v-application .accent.darken-1 {\n        background-color: #0171e2 !important;\n        border-color: #0171e2 !important;\n      }\n\n      .v-application .accent--text.text--darken-1 {\n        color: #0171e2 !important;\n        caret-color: #0171e2 !important;\n      }\n\n      .v-application .accent.darken-2 {\n        background-color: #0059c5 !important;\n        border-color: #0059c5 !important;\n      }\n\n      .v-application .accent--text.text--darken-2 {\n        color: #0059c5 !important;\n        caret-color: #0059c5 !important;\n      }\n\n      .v-application .accent.darken-3 {\n        background-color: #0042aa !important;\n        border-color: #0042aa !important;\n      }\n\n      .v-application .accent--text.text--darken-3 {\n        color: #0042aa !important;\n        caret-color: #0042aa !important;\n      }\n\n      .v-application .accent.darken-4 {\n        background-color: #002e8e !important;\n        border-color: #002e8e !important;\n      }\n\n      .v-application .accent--text.text--darken-4 {\n        color: #002e8e !important;\n        caret-color: #002e8e !important;\n      }\n\n      .v-application .error {\n        background-color: #d50000 !important;\n        border-color: #d50000 !important;\n      }\n\n      .v-application .error--text {\n        color: #d50000 !important;\n        caret-color: #d50000 !important;\n      }\n\n      .v-application .error.lighten-5 {\n        background-color: #ffb082 !important;\n        border-color: #ffb082 !important;\n      }\n\n      .v-application .error--text.text--lighten-5 {\n        color: #ffb082 !important;\n        caret-color: #ffb082 !important;\n      }\n\n      .v-application .error.lighten-4 {\n        background-color: #ff9268 !important;\n        border-color: #ff9268 !important;\n      }\n\n      .v-application .error--text.text--lighten-4 {\n        color: #ff9268 !important;\n        caret-color: #ff9268 !important;\n      }\n\n      .v-application .error.lighten-3 {\n        background-color: #ff754e !important;\n        border-color: #ff754e !important;\n      }\n\n      .v-application .error--text.text--lighten-3 {\n        color: #ff754e !important;\n        caret-color: #ff754e !important;\n      }\n\n      .v-application .error.lighten-2 {\n        background-color: #ff5736 !important;\n        border-color: #ff5736 !important;\n      }\n\n      .v-application .error--text.text--lighten-2 {\n        color: #ff5736 !important;\n        caret-color: #ff5736 !important;\n      }\n\n      .v-application .error.lighten-1 {\n        background-color: #f6361d !important;\n        border-color: #f6361d !important;\n      }\n\n      .v-application .error--text.text--lighten-1 {\n        color: #f6361d !important;\n        caret-color: #f6361d !important;\n      }\n\n      .v-application .error.darken-1 {\n        background-color: #b40000 !important;\n        border-color: #b40000 !important;\n      }\n\n      .v-application .error--text.text--darken-1 {\n        color: #b40000 !important;\n        caret-color: #b40000 !important;\n      }\n\n      .v-application .error.darken-2 {\n        background-color: #950000 !important;\n        border-color: #950000 !important;\n      }\n\n      .v-application .error--text.text--darken-2 {\n        color: #950000 !important;\n        caret-color: #950000 !important;\n      }\n\n      .v-application .error.darken-3 {\n        background-color: #770000 !important;\n        border-color: #770000 !important;\n      }\n\n      .v-application .error--text.text--darken-3 {\n        color: #770000 !important;\n        caret-color: #770000 !important;\n      }\n\n      .v-application .error.darken-4 {\n        background-color: #5c0000 !important;\n        border-color: #5c0000 !important;\n      }\n\n      .v-application .error--text.text--darken-4 {\n        color: #5c0000 !important;\n        caret-color: #5c0000 !important;\n      }\n\n      .v-application .info {\n        background-color: #42a5f5 !important;\n        border-color: #42a5f5 !important;\n      }\n\n      .v-application .info--text {\n        color: #42a5f5 !important;\n        caret-color: #42a5f5 !important;\n      }\n\n      .v-application .info.lighten-5 {\n        background-color: #e4ffff !important;\n        border-color: #e4ffff !important;\n      }\n\n      .v-application .info--text.text--lighten-5 {\n        color: #e4ffff !important;\n        caret-color: #e4ffff !important;\n      }\n\n      .v-application .info.lighten-4 {\n        background-color: #c5ffff !important;\n        border-color: #c5ffff !important;\n      }\n\n      .v-application .info--text.text--lighten-4 {\n        color: #c5ffff !important;\n        caret-color: #c5ffff !important;\n      }\n\n      .v-application .info.lighten-3 {\n        background-color: #a6f8ff !important;\n        border-color: #a6f8ff !important;\n      }\n\n      .v-application .info--text.text--lighten-3 {\n        color: #a6f8ff !important;\n        caret-color: #a6f8ff !important;\n      }\n\n      .v-application .info.lighten-2 {\n        background-color: #87dcff !important;\n        border-color: #87dcff !important;\n      }\n\n      .v-application .info--text.text--lighten-2 {\n        color: #87dcff !important;\n        caret-color: #87dcff !important;\n      }\n\n      .v-application .info.lighten-1 {\n        background-color: #66c0ff !important;\n        border-color: #66c0ff !important;\n      }\n\n      .v-application .info--text.text--lighten-1 {\n        color: #66c0ff !important;\n        caret-color: #66c0ff !important;\n      }\n\n      .v-application .info.darken-1 {\n        background-color: #018bd8 !important;\n        border-color: #018bd8 !important;\n      }\n\n      .v-application .info--text.text--darken-1 {\n        color: #018bd8 !important;\n        caret-color: #018bd8 !important;\n      }\n\n      .v-application .info.darken-2 {\n        background-color: #0072bc !important;\n        border-color: #0072bc !important;\n      }\n\n      .v-application .info--text.text--darken-2 {\n        color: #0072bc !important;\n        caret-color: #0072bc !important;\n      }\n\n      .v-application .info.darken-3 {\n        background-color: #0059a1 !important;\n        border-color: #0059a1 !important;\n      }\n\n      .v-application .info--text.text--darken-3 {\n        color: #0059a1 !important;\n        caret-color: #0059a1 !important;\n      }\n\n      .v-application .info.darken-4 {\n        background-color: #004286 !important;\n        border-color: #004286 !important;\n      }\n\n      .v-application .info--text.text--darken-4 {\n        color: #004286 !important;\n        caret-color: #004286 !important;\n      }\n\n      .v-application .success {\n        background-color: #81c784 !important;\n        border-color: #81c784 !important;\n      }\n\n      .v-application .success--text {\n        color: #81c784 !important;\n        caret-color: #81c784 !important;\n      }\n\n      .v-application .success.lighten-5 {\n        background-color: #ffffff !important;\n        border-color: #ffffff !important;\n      }\n\n      .v-application .success--text.text--lighten-5 {\n        color: #ffffff !important;\n        caret-color: #ffffff !important;\n      }\n\n      .v-application .success.lighten-4 {\n        background-color: #f1fff2 !important;\n        border-color: #f1fff2 !important;\n      }\n\n      .v-application .success--text.text--lighten-4 {\n        color: #f1fff2 !important;\n        caret-color: #f1fff2 !important;\n      }\n\n      .v-application .success.lighten-3 {\n        background-color: #d4ffd5 !important;\n        border-color: #d4ffd5 !important;\n      }\n\n      .v-application .success--text.text--lighten-3 {\n        color: #d4ffd5 !important;\n        caret-color: #d4ffd5 !important;\n      }\n\n      .v-application .success.lighten-2 {\n        background-color: #b8ffba !important;\n        border-color: #b8ffba !important;\n      }\n\n      .v-application .success--text.text--lighten-2 {\n        color: #b8ffba !important;\n        caret-color: #b8ffba !important;\n      }\n\n      .v-application .success.lighten-1 {\n        background-color: #9ce39e !important;\n        border-color: #9ce39e !important;\n      }\n\n      .v-application .success--text.text--lighten-1 {\n        color: #9ce39e !important;\n        caret-color: #9ce39e !important;\n      }\n\n      .v-application .success.darken-1 {\n        background-color: #66ab6a !important;\n        border-color: #66ab6a !important;\n      }\n\n      .v-application .success--text.text--darken-1 {\n        color: #66ab6a !important;\n        caret-color: #66ab6a !important;\n      }\n\n      .v-application .success.darken-2 {\n        background-color: #4c9152 !important;\n        border-color: #4c9152 !important;\n      }\n\n      .v-application .success--text.text--darken-2 {\n        color: #4c9152 !important;\n        caret-color: #4c9152 !important;\n      }\n\n      .v-application .success.darken-3 {\n        background-color: #31773a !important;\n        border-color: #31773a !important;\n      }\n\n      .v-application .success--text.text--darken-3 {\n        color: #31773a !important;\n        caret-color: #31773a !important;\n      }\n\n      .v-application .success.darken-4 {\n        background-color: #145d23 !important;\n        border-color: #145d23 !important;\n      }\n\n      .v-application .success--text.text--darken-4 {\n        color: #145d23 !important;\n        caret-color: #145d23 !important;\n      }\n\n      .v-application .warning {\n        background-color: #ffa000 !important;\n        border-color: #ffa000 !important;\n      }\n\n      .v-application .warning--text {\n        color: #ffa000 !important;\n        caret-color: #ffa000 !important;\n      }\n\n      .v-application .warning.lighten-5 {\n        background-color: #ffffa4 !important;\n        border-color: #ffffa4 !important;\n      }\n\n      .v-application .warning--text.text--lighten-5 {\n        color: #ffffa4 !important;\n        caret-color: #ffffa4 !important;\n      }\n\n      .v-application .warning.lighten-4 {\n        background-color: #ffff87 !important;\n        border-color: #ffff87 !important;\n      }\n\n      .v-application .warning--text.text--lighten-4 {\n        color: #ffff87 !important;\n        caret-color: #ffff87 !important;\n      }\n\n      .v-application .warning.lighten-3 {\n        background-color: #fff36b !important;\n        border-color: #fff36b !important;\n      }\n\n      .v-application .warning--text.text--lighten-3 {\n        color: #fff36b !important;\n        caret-color: #fff36b !important;\n      }\n\n      .v-application .warning.lighten-2 {\n        background-color: #ffd74e !important;\n        border-color: #ffd74e !important;\n      }\n\n      .v-application .warning--text.text--lighten-2 {\n        color: #ffd74e !important;\n        caret-color: #ffd74e !important;\n      }\n\n      .v-application .warning.lighten-1 {\n        background-color: #ffbb30 !important;\n        border-color: #ffbb30 !important;\n      }\n\n      .v-application .warning--text.text--lighten-1 {\n        color: #ffbb30 !important;\n        caret-color: #ffbb30 !important;\n      }\n\n      .v-application .warning.darken-1 {\n        background-color: #df8600 !important;\n        border-color: #df8600 !important;\n      }\n\n      .v-application .warning--text.text--darken-1 {\n        color: #df8600 !important;\n        caret-color: #df8600 !important;\n      }\n\n      .v-application .warning.darken-2 {\n        background-color: #c06c00 !important;\n        border-color: #c06c00 !important;\n      }\n\n      .v-application .warning--text.text--darken-2 {\n        color: #c06c00 !important;\n        caret-color: #c06c00 !important;\n      }\n\n      .v-application .warning.darken-3 {\n        background-color: #a15400 !important;\n        border-color: #a15400 !important;\n      }\n\n      .v-application .warning--text.text--darken-3 {\n        color: #a15400 !important;\n        caret-color: #a15400 !important;\n      }\n\n      .v-application .warning.darken-4 {\n        background-color: #843c00 !important;\n        border-color: #843c00 !important;\n      }\n\n      .v-application .warning--text.text--darken-4 {\n        color: #843c00 !important;\n        caret-color: #843c00 !important;\n      }\n    </style>\n  </head>\n\n  <body>\n    <script>\n      (window.ActiveXObject || \"ActiveXObject\" in window) && alert(\"本网站不支持IE或IE内核的浏览器，建议您使用火狐浏览器、谷歌浏览器或微软的Edge浏览器（Windows10自带）\")\n    </script>\n    <div id=\"__nuxt\"><!---->\n      <div id=\"__layout\">\n        <div data-app=\"true\" id=\"app\" class=\"v-application v-application--is-ltr theme--light\">\n          <div class=\"v-application--wrap\">\n            <nav class=\"v-navigation-drawer v-navigation-drawer--close v-navigation-drawer--fixed v-navigation-drawer--is-mobile theme--light\" style=\"height:100vh;top:0px;transform:translateX(-100%);width:256px;\">\n              <div class=\"v-navigation-drawer__content\">\n                <div class=\"v-list v-sheet theme--light\"><a href=\"/\" aria-current=\"page\" tabindex=\"0\" class=\"v-list-item--active v-list-item v-list-item--link theme--light\">\n                    <div class=\"v-list-item__action\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-home theme--light\"></i></div>\n                    <div class=\"v-list-item__content\">\n                      <div class=\"v-list-item__title\">Homepage</div>\n                    </div>\n                  </a><a href=\"/statistics\" tabindex=\"0\" class=\"v-list-item v-list-item--link theme--light\">\n                    <div class=\"v-list-item__action\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-code-tags theme--light\"></i></div>\n                    <div class=\"v-list-item__content\">\n                      <div class=\"v-list-item__title\">Statistics</div>\n                    </div>\n                  </a><a href=\"/about\" tabindex=\"0\" class=\"v-list-item v-list-item--link theme--light\">\n                    <div class=\"v-list-item__action\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-information theme--light\"></i></div>\n                    <div class=\"v-list-item__content\">\n                      <div class=\"v-list-item__title\">About</div>\n                    </div>\n                  </a></div>\n              </div>\n              <div class=\"v-navigation-drawer__border\"></div>\n            </nav>\n            <header class=\"v-sheet theme--light v-toolbar v-toolbar--absolute v-app-bar\" style=\"height:56px;margin-top:0px;transform:translateY(0px);left:0px;right:0px;\">\n              <div class=\"v-toolbar__content\" style=\"height:56px;\"><button type=\"button\" class=\"v-app-bar__nav-icon v-btn v-btn--icon v-btn--round theme--light v-size--default\"><span class=\"v-btn__content\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-menu theme--light\"></i></span></button> <!---->\n                <div class=\"v-toolbar__title\">OJ Analyzer</div> <!----> <!---->\n                <div class=\"spacer\"></div> <!----> <!----> <span class=\"v-tooltip v-tooltip--bottom\"><!----><button type=\"button\" class=\"v-btn v-btn--text theme--light v-size--default\"><span class=\"v-btn__content\"><i aria-hidden=\"true\" class=\"v-icon notranslate v-icon--left mdi mdi-login theme--light\"></i> login\n    </span></button></span> <span class=\"v-tooltip v-tooltip--left\"><!----><a href=\"https://github.com/Liu233w/acm-statistics\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"v-btn v-btn--icon v-btn--round theme--light v-size--default\"><span class=\"v-btn__content\"><i aria-hidden=\"true\" medium=\"\" class=\"v-icon notranslate mdi mdi-github theme--light\"></i></span></a></span>\n              </div>\n            </header>\n            <main class=\"v-main v-content\" style=\"padding-top:56px;padding-right:0px;padding-bottom:0px;padding-left:0px;\">\n              <div class=\"v-main__wrap v-content__wrap\">\n                <div>\n                  <section>\n                    <div class=\"v-parallax\" style=\"height:600px;\">\n                      <div class=\"v-parallax__image-container\"><img src=\"/_nuxt/img/back7-brighten.e5adb12.jpg\" alt=\"\" class=\"v-parallax__image\" style=\"display:block;opacity:0;transform:translate(-50%, 0px);\"></div>\n                      <div class=\"v-parallax__content\">\n                        <div class=\"layout white--text column align-center justify-center\"><img src=\"/_nuxt/img/logo.db320b9.png\" alt=\"Vuetify.js\" height=\"190\" class=\"mb-4\">\n                          <h2 class=\"black--text text-h5 text-center font-weight-light\">\n                            ACM-ICPC 协会\n                          </h2>\n                          <div style=\"height:50px;\"></div>\n                          <h1 class=\"black--text mb-2 text-h4 text-center index-title font-weight-bold\">\n                            Welcome to OJ Analyzer\n                          </h1>\n                          <div class=\"black--text subheading mb-4 text-center index-title\">\n                            An online tool to analyze users performance in online judges (coding competition websites)\n                          </div> <a href=\"/statistics\" class=\"blue lighten-2 black--text mt-12 v-btn v-btn--is-elevated v-btn--has-bg v-btn--router theme--dark v-size--large\"><span class=\"v-btn__content\">\n          Enter AC Statistics\n        </span></a>\n                        </div>\n                      </div>\n                    </div>\n                  </section>\n                  <section>\n                    <div class=\"layout my-12 column wrap align-center\">\n                      <div class=\"flex my-4 xs12 sm4\">\n                        <div class=\"text-center\">\n                          <h2 class=\"text-h5\">\n                            Guide\n                          </h2> <span class=\"subheading\">\n            of the query tool.\n          </span>\n                        </div>\n                      </div>\n                      <div class=\"flex xs12\">\n                        <div class=\"container grid-list-xl\">\n                          <div class=\"layout wrap\">\n                            <div class=\"flex xs12 md4\">\n                              <div class=\"elevation-0 transparent v-card v-card--flat v-sheet theme--light\">\n                                <div class=\"v-image v-responsive elevation-1 theme--light\" style=\"height:100px;\">\n                                  <div class=\"v-image__image v-image__image--preload v-image__image--cover\" style=\"background-image:;background-position:center center;\"></div>\n                                  <div class=\"v-responsive__content\"></div>\n                                </div>\n                                <div primary-title=\"\" class=\"v-card__title layout justify-center\">\n                                  <div class=\"text-h5 text-center\">\n                                    Query\n                                  </div>\n                                </div>\n                                <div class=\"v-card__text text-center\">\n                                  Enter your username and click QUERY. You can save your usernames and use them later.\n                                </div>\n                              </div>\n                            </div>\n                            <div class=\"flex xs12 md4\">\n                              <div class=\"elevation-0 transparent v-card v-card--flat v-sheet theme--light\">\n                                <div class=\"v-image v-responsive elevation-1 theme--light\" style=\"height:100px;\">\n                                  <div class=\"v-image__image v-image__image--preload v-image__image--cover\" style=\"background-image:;background-position:center center;\"></div>\n                                  <div class=\"v-responsive__content\"></div>\n                                </div>\n                                <div primary-title=\"\" class=\"v-card__title layout justify-center\">\n                                  <div class=\"text-h5 text-center\">\n                                    Worker Panel\n                                  </div>\n                                </div>\n                                <div class=\"v-card__text text-center\">\n                                  Use different usernames in different OJs, or multiple usernames in the same OJ.\n                                </div>\n                              </div>\n                            </div>\n                            <div class=\"flex xs12 md4\">\n                              <div class=\"elevation-0 transparent v-card v-card--flat v-sheet theme--light\">\n                                <div class=\"v-image v-responsive elevation-1 theme--light\" style=\"height:100px;\">\n                                  <div class=\"v-image__image v-image__image--preload v-image__image--cover\" style=\"background-image:;background-position:center center;\"></div>\n                                  <div class=\"v-responsive__content\"></div>\n                                </div>\n                                <div primary-title=\"\" class=\"v-card__title layout justify-center\">\n                                  <div class=\"text-h5 text-center\">\n                                    Summary\n                                  </div>\n                                </div>\n                                <div class=\"v-card__text text-center\">\n                                  Click the result badge to view summary.\n                                  (Login required)\n                                </div>\n                              </div>\n                            </div>\n                          </div>\n                        </div>\n                      </div>\n                    </div>\n                  </section>\n                  <section>\n                    <div class=\"v-parallax\" style=\"height:380px;\">\n                      <div class=\"v-parallax__image-container\"><img src=\"/_nuxt/img/back4.ac176e5.jpg\" alt=\"\" class=\"v-parallax__image\" style=\"display:block;opacity:0;transform:translate(-50%, 0px);\"></div>\n                      <div class=\"v-parallax__content\">\n                        <div class=\"layout column align-center justify-center\">\n                          <div class=\"text-h5 white--text mb-4 text-center response-title\">\n                            If you have any questions,\n                          </div> <em class=\"white--text response-title\">feel free to discuss on GitHub</em> <a href=\"https://github.com/Liu233w/acm-statistics/discussions/new\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"blue lighten-2 mt-12 v-btn v-btn--is-elevated v-btn--has-bg theme--dark v-size--large\"><span class=\"v-btn__content\">\n          Start Discussion\n        </span></a>\n                        </div>\n                      </div>\n                    </div>\n                  </section>\n                  <section>\n                    <div class=\"container grid-list-xl\">\n                      <div class=\"layout my-12 wrap justify-center\">\n                        <div class=\"flex xs12 sm4\">\n                          <div class=\"transparent v-card v-card--flat v-sheet theme--light\">\n                            <div primary-title=\"\" class=\"v-card__title layout justify-center\">\n                              <div class=\"text-h5\">\n                                About the website\n                              </div>\n                            </div>\n                            <div class=\"v-card__text\">\n                              This project is the remake of <span class=\"font-italic\">\n                西北工业大学ACM查询系统 (npuacm.info)\n              </span>. The original version and idea are from <a href=\"https://kidozh.com/en/\" target=\"_blank\" rel=\"noopener noreferrer\">Jiduo Zhang</a>.\n                            </div>\n                          </div>\n                        </div>\n                        <div class=\"flex xs12 sm4 offset-sm1\">\n                          <div class=\"transparent v-card v-card--flat v-sheet theme--light\">\n                            <div primary-title=\"\" class=\"v-card__title layout justify-center\">\n                              <div class=\"text-h5\">\n                                About us\n                              </div>\n                            </div>\n                            <div class=\"v-card__text\">\n                              This project is developed and maintained by Shumin Liu and Contributors with ❤.\n                              Please check <span class=\"font-italic\">about</span> page for contact information.\n                            </div>\n                          </div>\n                        </div>\n                      </div>\n                    </div>\n                  </section>\n                </div>\n              </div>\n            </main>\n            <footer class=\"v-footer v-sheet theme--light v-footer--absolute v-footer--inset\" style=\"left:0px;right:0px;bottom:0px;\"><span class=\"text-body-2\">© 2018 - 1970 Shumin Liu and Contributors</span></footer>\n            <div class=\"message-panel v-card v-sheet theme--light\" style=\"display:none;\"><v-list class=\"pa-0\"></v-list> <!----></div>\n          </div>\n        </div>\n      </div>\n    </div>\n    <script>\n      window.__NUXT__ = (function(a, b, c, d) {\n        return {\n          layout: \"default\",\n          data: [{}],\n          fetch: {},\n          error: a,\n          state: {\n            sidebar: b,\n            message: {\n              list: []\n            },\n            session: {\n              login: b,\n              username: \"\",\n              settings: {}\n            }\n          },\n          serverRendered: true,\n          routePath: c,\n          config: {\n            _app: {\n              basePath: c,\n              assetsPath: \"\\\\u002F_nuxt\\\\u002F\",\n              cdnURL: a\n            }\n          },\n          env: {\n            VERSION_NUM: d,\n            BUILD_TIME: d\n          }\n        }\n      }(null, false, \"\\\\u002F\", \"0\"));\n    </script>\n\n\n  </body>\n\n</html>\n`;\n\nexports[`/about 1`] = `\n<!DOCTYPE html>\n<html data-n-head-ssr=\"\">\n\n  <head>\n    <meta data-n-head=\"ssr\" charset=\"utf-8\">\n    <meta data-n-head=\"ssr\" name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <meta data-n-head=\"ssr\" data-hid=\"description\" name=\"description\" content=\"An online tool (crawler) to analyze users performance in online judges (coding competition websites). Supported OJ: POJ, HDU, ZOJ, HYSBZ, CodeForces, UVA, ICPC Live Archive, FZU, SPOJ, Timus (URAL), LeetCode_CN, CSU, LibreOJ, 洛谷, 牛客OJ, Lutece (UESTC), AtCoder, AIZU, CodeChef, El Judge, BNUOJ, Codewars, UOJ, NBUT, 51Nod, DMOJ, SDUT OJ, VJudge\">\n    <title>About - OJ Analyzer</title>\n    <link data-n-head=\"ssr\" rel=\"icon\" type=\"image/x-icon\" href=\"/favicon.ico\">\n    <link data-n-head=\"ssr\" rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Noto+Serif+SC:300,400,500,700\">\n    <link data-n-head=\"ssr\" rel=\"stylesheet\" type=\"text/css\" href=\"https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900&amp;display=swap\">\n    <link data-n-head=\"ssr\" rel=\"stylesheet\" type=\"text/css\" href=\"https://cdn.jsdelivr.net/npm/@mdi/font@latest/css/materialdesignicons.min.css\">\n    <style data-n-head=\"vuetify\" type=\"text/css\" id=\"vuetify-theme-stylesheet\" nonce=\"undefined\">\n      .v-application a {\n        color: #1976d2;\n      }\n\n      .v-application .primary {\n        background-color: #1976d2 !important;\n        border-color: #1976d2 !important;\n      }\n\n      .v-application .primary--text {\n        color: #1976d2 !important;\n        caret-color: #1976d2 !important;\n      }\n\n      .v-application .primary.lighten-5 {\n        background-color: #c7fdff !important;\n        border-color: #c7fdff !important;\n      }\n\n      .v-application .primary--text.text--lighten-5 {\n        color: #c7fdff !important;\n        caret-color: #c7fdff !important;\n      }\n\n      .v-application .primary.lighten-4 {\n        background-color: #a8e0ff !important;\n        border-color: #a8e0ff !important;\n      }\n\n      .v-application .primary--text.text--lighten-4 {\n        color: #a8e0ff !important;\n        caret-color: #a8e0ff !important;\n      }\n\n      .v-application .primary.lighten-3 {\n        background-color: #8ac5ff !important;\n        border-color: #8ac5ff !important;\n      }\n\n      .v-application .primary--text.text--lighten-3 {\n        color: #8ac5ff !important;\n        caret-color: #8ac5ff !important;\n      }\n\n      .v-application .primary.lighten-2 {\n        background-color: #6aaaff !important;\n        border-color: #6aaaff !important;\n      }\n\n      .v-application .primary--text.text--lighten-2 {\n        color: #6aaaff !important;\n        caret-color: #6aaaff !important;\n      }\n\n      .v-application .primary.lighten-1 {\n        background-color: #488fef !important;\n        border-color: #488fef !important;\n      }\n\n      .v-application .primary--text.text--lighten-1 {\n        color: #488fef !important;\n        caret-color: #488fef !important;\n      }\n\n      .v-application .primary.darken-1 {\n        background-color: #005eb6 !important;\n        border-color: #005eb6 !important;\n      }\n\n      .v-application .primary--text.text--darken-1 {\n        color: #005eb6 !important;\n        caret-color: #005eb6 !important;\n      }\n\n      .v-application .primary.darken-2 {\n        background-color: #00479b !important;\n        border-color: #00479b !important;\n      }\n\n      .v-application .primary--text.text--darken-2 {\n        color: #00479b !important;\n        caret-color: #00479b !important;\n      }\n\n      .v-application .primary.darken-3 {\n        background-color: #003180 !important;\n        border-color: #003180 !important;\n      }\n\n      .v-application .primary--text.text--darken-3 {\n        color: #003180 !important;\n        caret-color: #003180 !important;\n      }\n\n      .v-application .primary.darken-4 {\n        background-color: #001e67 !important;\n        border-color: #001e67 !important;\n      }\n\n      .v-application .primary--text.text--darken-4 {\n        color: #001e67 !important;\n        caret-color: #001e67 !important;\n      }\n\n      .v-application .secondary {\n        background-color: #bdbdbd !important;\n        border-color: #bdbdbd !important;\n      }\n\n      .v-application .secondary--text {\n        color: #bdbdbd !important;\n        caret-color: #bdbdbd !important;\n      }\n\n      .v-application .secondary.lighten-5 {\n        background-color: #ffffff !important;\n        border-color: #ffffff !important;\n      }\n\n      .v-application .secondary--text.text--lighten-5 {\n        color: #ffffff !important;\n        caret-color: #ffffff !important;\n      }\n\n      .v-application .secondary.lighten-4 {\n        background-color: #ffffff !important;\n        border-color: #ffffff !important;\n      }\n\n      .v-application .secondary--text.text--lighten-4 {\n        color: #ffffff !important;\n        caret-color: #ffffff !important;\n      }\n\n      .v-application .secondary.lighten-3 {\n        background-color: #ffffff !important;\n        border-color: #ffffff !important;\n      }\n\n      .v-application .secondary--text.text--lighten-3 {\n        color: #ffffff !important;\n        caret-color: #ffffff !important;\n      }\n\n      .v-application .secondary.lighten-2 {\n        background-color: #f5f5f5 !important;\n        border-color: #f5f5f5 !important;\n      }\n\n      .v-application .secondary--text.text--lighten-2 {\n        color: #f5f5f5 !important;\n        caret-color: #f5f5f5 !important;\n      }\n\n      .v-application .secondary.lighten-1 {\n        background-color: #d9d9d9 !important;\n        border-color: #d9d9d9 !important;\n      }\n\n      .v-application .secondary--text.text--lighten-1 {\n        color: #d9d9d9 !important;\n        caret-color: #d9d9d9 !important;\n      }\n\n      .v-application .secondary.darken-1 {\n        background-color: #a2a2a2 !important;\n        border-color: #a2a2a2 !important;\n      }\n\n      .v-application .secondary--text.text--darken-1 {\n        color: #a2a2a2 !important;\n        caret-color: #a2a2a2 !important;\n      }\n\n      .v-application .secondary.darken-2 {\n        background-color: #888888 !important;\n        border-color: #888888 !important;\n      }\n\n      .v-application .secondary--text.text--darken-2 {\n        color: #888888 !important;\n        caret-color: #888888 !important;\n      }\n\n      .v-application .secondary.darken-3 {\n        background-color: #6e6e6e !important;\n        border-color: #6e6e6e !important;\n      }\n\n      .v-application .secondary--text.text--darken-3 {\n        color: #6e6e6e !important;\n        caret-color: #6e6e6e !important;\n      }\n\n      .v-application .secondary.darken-4 {\n        background-color: #565656 !important;\n        border-color: #565656 !important;\n      }\n\n      .v-application .secondary--text.text--darken-4 {\n        color: #565656 !important;\n        caret-color: #565656 !important;\n      }\n\n      .v-application .accent {\n        background-color: #448aff !important;\n        border-color: #448aff !important;\n      }\n\n      .v-application .accent--text {\n        color: #448aff !important;\n        caret-color: #448aff !important;\n      }\n\n      .v-application .accent.lighten-5 {\n        background-color: #e8ffff !important;\n        border-color: #e8ffff !important;\n      }\n\n      .v-application .accent--text.text--lighten-5 {\n        color: #e8ffff !important;\n        caret-color: #e8ffff !important;\n      }\n\n      .v-application .accent.lighten-4 {\n        background-color: #c9f7ff !important;\n        border-color: #c9f7ff !important;\n      }\n\n      .v-application .accent--text.text--lighten-4 {\n        color: #c9f7ff !important;\n        caret-color: #c9f7ff !important;\n      }\n\n      .v-application .accent.lighten-3 {\n        background-color: #a9daff !important;\n        border-color: #a9daff !important;\n      }\n\n      .v-application .accent--text.text--lighten-3 {\n        color: #a9daff !important;\n        caret-color: #a9daff !important;\n      }\n\n      .v-application .accent.lighten-2 {\n        background-color: #8abfff !important;\n        border-color: #8abfff !important;\n      }\n\n      .v-application .accent--text.text--lighten-2 {\n        color: #8abfff !important;\n        caret-color: #8abfff !important;\n      }\n\n      .v-application .accent.lighten-1 {\n        background-color: #69a4ff !important;\n        border-color: #69a4ff !important;\n      }\n\n      .v-application .accent--text.text--lighten-1 {\n        color: #69a4ff !important;\n        caret-color: #69a4ff !important;\n      }\n\n      .v-application .accent.darken-1 {\n        background-color: #0171e2 !important;\n        border-color: #0171e2 !important;\n      }\n\n      .v-application .accent--text.text--darken-1 {\n        color: #0171e2 !important;\n        caret-color: #0171e2 !important;\n      }\n\n      .v-application .accent.darken-2 {\n        background-color: #0059c5 !important;\n        border-color: #0059c5 !important;\n      }\n\n      .v-application .accent--text.text--darken-2 {\n        color: #0059c5 !important;\n        caret-color: #0059c5 !important;\n      }\n\n      .v-application .accent.darken-3 {\n        background-color: #0042aa !important;\n        border-color: #0042aa !important;\n      }\n\n      .v-application .accent--text.text--darken-3 {\n        color: #0042aa !important;\n        caret-color: #0042aa !important;\n      }\n\n      .v-application .accent.darken-4 {\n        background-color: #002e8e !important;\n        border-color: #002e8e !important;\n      }\n\n      .v-application .accent--text.text--darken-4 {\n        color: #002e8e !important;\n        caret-color: #002e8e !important;\n      }\n\n      .v-application .error {\n        background-color: #d50000 !important;\n        border-color: #d50000 !important;\n      }\n\n      .v-application .error--text {\n        color: #d50000 !important;\n        caret-color: #d50000 !important;\n      }\n\n      .v-application .error.lighten-5 {\n        background-color: #ffb082 !important;\n        border-color: #ffb082 !important;\n      }\n\n      .v-application .error--text.text--lighten-5 {\n        color: #ffb082 !important;\n        caret-color: #ffb082 !important;\n      }\n\n      .v-application .error.lighten-4 {\n        background-color: #ff9268 !important;\n        border-color: #ff9268 !important;\n      }\n\n      .v-application .error--text.text--lighten-4 {\n        color: #ff9268 !important;\n        caret-color: #ff9268 !important;\n      }\n\n      .v-application .error.lighten-3 {\n        background-color: #ff754e !important;\n        border-color: #ff754e !important;\n      }\n\n      .v-application .error--text.text--lighten-3 {\n        color: #ff754e !important;\n        caret-color: #ff754e !important;\n      }\n\n      .v-application .error.lighten-2 {\n        background-color: #ff5736 !important;\n        border-color: #ff5736 !important;\n      }\n\n      .v-application .error--text.text--lighten-2 {\n        color: #ff5736 !important;\n        caret-color: #ff5736 !important;\n      }\n\n      .v-application .error.lighten-1 {\n        background-color: #f6361d !important;\n        border-color: #f6361d !important;\n      }\n\n      .v-application .error--text.text--lighten-1 {\n        color: #f6361d !important;\n        caret-color: #f6361d !important;\n      }\n\n      .v-application .error.darken-1 {\n        background-color: #b40000 !important;\n        border-color: #b40000 !important;\n      }\n\n      .v-application .error--text.text--darken-1 {\n        color: #b40000 !important;\n        caret-color: #b40000 !important;\n      }\n\n      .v-application .error.darken-2 {\n        background-color: #950000 !important;\n        border-color: #950000 !important;\n      }\n\n      .v-application .error--text.text--darken-2 {\n        color: #950000 !important;\n        caret-color: #950000 !important;\n      }\n\n      .v-application .error.darken-3 {\n        background-color: #770000 !important;\n        border-color: #770000 !important;\n      }\n\n      .v-application .error--text.text--darken-3 {\n        color: #770000 !important;\n        caret-color: #770000 !important;\n      }\n\n      .v-application .error.darken-4 {\n        background-color: #5c0000 !important;\n        border-color: #5c0000 !important;\n      }\n\n      .v-application .error--text.text--darken-4 {\n        color: #5c0000 !important;\n        caret-color: #5c0000 !important;\n      }\n\n      .v-application .info {\n        background-color: #42a5f5 !important;\n        border-color: #42a5f5 !important;\n      }\n\n      .v-application .info--text {\n        color: #42a5f5 !important;\n        caret-color: #42a5f5 !important;\n      }\n\n      .v-application .info.lighten-5 {\n        background-color: #e4ffff !important;\n        border-color: #e4ffff !important;\n      }\n\n      .v-application .info--text.text--lighten-5 {\n        color: #e4ffff !important;\n        caret-color: #e4ffff !important;\n      }\n\n      .v-application .info.lighten-4 {\n        background-color: #c5ffff !important;\n        border-color: #c5ffff !important;\n      }\n\n      .v-application .info--text.text--lighten-4 {\n        color: #c5ffff !important;\n        caret-color: #c5ffff !important;\n      }\n\n      .v-application .info.lighten-3 {\n        background-color: #a6f8ff !important;\n        border-color: #a6f8ff !important;\n      }\n\n      .v-application .info--text.text--lighten-3 {\n        color: #a6f8ff !important;\n        caret-color: #a6f8ff !important;\n      }\n\n      .v-application .info.lighten-2 {\n        background-color: #87dcff !important;\n        border-color: #87dcff !important;\n      }\n\n      .v-application .info--text.text--lighten-2 {\n        color: #87dcff !important;\n        caret-color: #87dcff !important;\n      }\n\n      .v-application .info.lighten-1 {\n        background-color: #66c0ff !important;\n        border-color: #66c0ff !important;\n      }\n\n      .v-application .info--text.text--lighten-1 {\n        color: #66c0ff !important;\n        caret-color: #66c0ff !important;\n      }\n\n      .v-application .info.darken-1 {\n        background-color: #018bd8 !important;\n        border-color: #018bd8 !important;\n      }\n\n      .v-application .info--text.text--darken-1 {\n        color: #018bd8 !important;\n        caret-color: #018bd8 !important;\n      }\n\n      .v-application .info.darken-2 {\n        background-color: #0072bc !important;\n        border-color: #0072bc !important;\n      }\n\n      .v-application .info--text.text--darken-2 {\n        color: #0072bc !important;\n        caret-color: #0072bc !important;\n      }\n\n      .v-application .info.darken-3 {\n        background-color: #0059a1 !important;\n        border-color: #0059a1 !important;\n      }\n\n      .v-application .info--text.text--darken-3 {\n        color: #0059a1 !important;\n        caret-color: #0059a1 !important;\n      }\n\n      .v-application .info.darken-4 {\n        background-color: #004286 !important;\n        border-color: #004286 !important;\n      }\n\n      .v-application .info--text.text--darken-4 {\n        color: #004286 !important;\n        caret-color: #004286 !important;\n      }\n\n      .v-application .success {\n        background-color: #81c784 !important;\n        border-color: #81c784 !important;\n      }\n\n      .v-application .success--text {\n        color: #81c784 !important;\n        caret-color: #81c784 !important;\n      }\n\n      .v-application .success.lighten-5 {\n        background-color: #ffffff !important;\n        border-color: #ffffff !important;\n      }\n\n      .v-application .success--text.text--lighten-5 {\n        color: #ffffff !important;\n        caret-color: #ffffff !important;\n      }\n\n      .v-application .success.lighten-4 {\n        background-color: #f1fff2 !important;\n        border-color: #f1fff2 !important;\n      }\n\n      .v-application .success--text.text--lighten-4 {\n        color: #f1fff2 !important;\n        caret-color: #f1fff2 !important;\n      }\n\n      .v-application .success.lighten-3 {\n        background-color: #d4ffd5 !important;\n        border-color: #d4ffd5 !important;\n      }\n\n      .v-application .success--text.text--lighten-3 {\n        color: #d4ffd5 !important;\n        caret-color: #d4ffd5 !important;\n      }\n\n      .v-application .success.lighten-2 {\n        background-color: #b8ffba !important;\n        border-color: #b8ffba !important;\n      }\n\n      .v-application .success--text.text--lighten-2 {\n        color: #b8ffba !important;\n        caret-color: #b8ffba !important;\n      }\n\n      .v-application .success.lighten-1 {\n        background-color: #9ce39e !important;\n        border-color: #9ce39e !important;\n      }\n\n      .v-application .success--text.text--lighten-1 {\n        color: #9ce39e !important;\n        caret-color: #9ce39e !important;\n      }\n\n      .v-application .success.darken-1 {\n        background-color: #66ab6a !important;\n        border-color: #66ab6a !important;\n      }\n\n      .v-application .success--text.text--darken-1 {\n        color: #66ab6a !important;\n        caret-color: #66ab6a !important;\n      }\n\n      .v-application .success.darken-2 {\n        background-color: #4c9152 !important;\n        border-color: #4c9152 !important;\n      }\n\n      .v-application .success--text.text--darken-2 {\n        color: #4c9152 !important;\n        caret-color: #4c9152 !important;\n      }\n\n      .v-application .success.darken-3 {\n        background-color: #31773a !important;\n        border-color: #31773a !important;\n      }\n\n      .v-application .success--text.text--darken-3 {\n        color: #31773a !important;\n        caret-color: #31773a !important;\n      }\n\n      .v-application .success.darken-4 {\n        background-color: #145d23 !important;\n        border-color: #145d23 !important;\n      }\n\n      .v-application .success--text.text--darken-4 {\n        color: #145d23 !important;\n        caret-color: #145d23 !important;\n      }\n\n      .v-application .warning {\n        background-color: #ffa000 !important;\n        border-color: #ffa000 !important;\n      }\n\n      .v-application .warning--text {\n        color: #ffa000 !important;\n        caret-color: #ffa000 !important;\n      }\n\n      .v-application .warning.lighten-5 {\n        background-color: #ffffa4 !important;\n        border-color: #ffffa4 !important;\n      }\n\n      .v-application .warning--text.text--lighten-5 {\n        color: #ffffa4 !important;\n        caret-color: #ffffa4 !important;\n      }\n\n      .v-application .warning.lighten-4 {\n        background-color: #ffff87 !important;\n        border-color: #ffff87 !important;\n      }\n\n      .v-application .warning--text.text--lighten-4 {\n        color: #ffff87 !important;\n        caret-color: #ffff87 !important;\n      }\n\n      .v-application .warning.lighten-3 {\n        background-color: #fff36b !important;\n        border-color: #fff36b !important;\n      }\n\n      .v-application .warning--text.text--lighten-3 {\n        color: #fff36b !important;\n        caret-color: #fff36b !important;\n      }\n\n      .v-application .warning.lighten-2 {\n        background-color: #ffd74e !important;\n        border-color: #ffd74e !important;\n      }\n\n      .v-application .warning--text.text--lighten-2 {\n        color: #ffd74e !important;\n        caret-color: #ffd74e !important;\n      }\n\n      .v-application .warning.lighten-1 {\n        background-color: #ffbb30 !important;\n        border-color: #ffbb30 !important;\n      }\n\n      .v-application .warning--text.text--lighten-1 {\n        color: #ffbb30 !important;\n        caret-color: #ffbb30 !important;\n      }\n\n      .v-application .warning.darken-1 {\n        background-color: #df8600 !important;\n        border-color: #df8600 !important;\n      }\n\n      .v-application .warning--text.text--darken-1 {\n        color: #df8600 !important;\n        caret-color: #df8600 !important;\n      }\n\n      .v-application .warning.darken-2 {\n        background-color: #c06c00 !important;\n        border-color: #c06c00 !important;\n      }\n\n      .v-application .warning--text.text--darken-2 {\n        color: #c06c00 !important;\n        caret-color: #c06c00 !important;\n      }\n\n      .v-application .warning.darken-3 {\n        background-color: #a15400 !important;\n        border-color: #a15400 !important;\n      }\n\n      .v-application .warning--text.text--darken-3 {\n        color: #a15400 !important;\n        caret-color: #a15400 !important;\n      }\n\n      .v-application .warning.darken-4 {\n        background-color: #843c00 !important;\n        border-color: #843c00 !important;\n      }\n\n      .v-application .warning--text.text--darken-4 {\n        color: #843c00 !important;\n        caret-color: #843c00 !important;\n      }\n    </style>\n  </head>\n\n  <body>\n    <script>\n      (window.ActiveXObject || \"ActiveXObject\" in window) && alert(\"本网站不支持IE或IE内核的浏览器，建议您使用火狐浏览器、谷歌浏览器或微软的Edge浏览器（Windows10自带）\")\n    </script>\n    <div id=\"__nuxt\"><!---->\n      <div id=\"__layout\">\n        <div data-app=\"true\" id=\"app\" class=\"v-application v-application--is-ltr theme--light\">\n          <div class=\"v-application--wrap\">\n            <nav class=\"v-navigation-drawer v-navigation-drawer--close v-navigation-drawer--fixed v-navigation-drawer--is-mobile theme--light\" style=\"height:100vh;top:0px;transform:translateX(-100%);width:256px;\">\n              <div class=\"v-navigation-drawer__content\">\n                <div class=\"v-list v-sheet theme--light\"><a href=\"/\" tabindex=\"0\" class=\"v-list-item v-list-item--link theme--light\">\n                    <div class=\"v-list-item__action\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-home theme--light\"></i></div>\n                    <div class=\"v-list-item__content\">\n                      <div class=\"v-list-item__title\">Homepage</div>\n                    </div>\n                  </a><a href=\"/statistics\" tabindex=\"0\" class=\"v-list-item v-list-item--link theme--light\">\n                    <div class=\"v-list-item__action\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-code-tags theme--light\"></i></div>\n                    <div class=\"v-list-item__content\">\n                      <div class=\"v-list-item__title\">Statistics</div>\n                    </div>\n                  </a><a href=\"/about\" aria-current=\"page\" tabindex=\"0\" class=\"v-list-item--active v-list-item v-list-item--link theme--light\">\n                    <div class=\"v-list-item__action\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-information theme--light\"></i></div>\n                    <div class=\"v-list-item__content\">\n                      <div class=\"v-list-item__title\">About</div>\n                    </div>\n                  </a></div>\n              </div>\n              <div class=\"v-navigation-drawer__border\"></div>\n            </nav>\n            <header class=\"v-sheet theme--light v-toolbar v-toolbar--absolute v-app-bar\" style=\"height:56px;margin-top:0px;transform:translateY(0px);left:0px;right:0px;\">\n              <div class=\"v-toolbar__content\" style=\"height:56px;\"><button type=\"button\" class=\"v-app-bar__nav-icon v-btn v-btn--icon v-btn--round theme--light v-size--default\"><span class=\"v-btn__content\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-menu theme--light\"></i></span></button> <!---->\n                <div class=\"v-toolbar__title\">OJ Analyzer</div> <!----> <!---->\n                <div class=\"spacer\"></div> <!----> <!----> <span class=\"v-tooltip v-tooltip--bottom\"><!----><button type=\"button\" class=\"v-btn v-btn--text theme--light v-size--default\"><span class=\"v-btn__content\"><i aria-hidden=\"true\" class=\"v-icon notranslate v-icon--left mdi mdi-login theme--light\"></i> login\n    </span></button></span> <span class=\"v-tooltip v-tooltip--left\"><!----><a href=\"https://github.com/Liu233w/acm-statistics\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"v-btn v-btn--icon v-btn--round theme--light v-size--default\"><span class=\"v-btn__content\"><i aria-hidden=\"true\" medium=\"\" class=\"v-icon notranslate mdi mdi-github theme--light\"></i></span></a></span>\n              </div>\n            </header>\n            <main class=\"v-main v-content\" style=\"padding-top:56px;padding-right:0px;padding-bottom:0px;padding-left:0px;\">\n              <div class=\"v-main__wrap v-content__wrap\">\n                <div class=\"container\">\n                  <div class=\"layout\">\n                    <div class=\"flex xs12 sm6 offset-sm3\">\n                      <div class=\"my-2 v-card v-sheet theme--light\">\n                        <header class=\"v-sheet theme--dark v-toolbar v-app-bar light-blue\" style=\"height:56px;margin-top:0px;transform:translateY(0px);left:0px;right:0px;\">\n                          <div class=\"v-toolbar__content\" style=\"height:56px;\">\n                            <div class=\"v-toolbar__title\">About Us</div>\n                            <div class=\"spacer\"></div>\n                          </div>\n                        </header>\n                        <div role=\"list\" class=\"v-list v-sheet theme--light\"><a tabindex=\"0\" href=\"https://github.com/Liu233w/acm-statistics/blob/master/README.md#contributors-\" target=\"_blank\" rel=\"noopener noreferrer\" role=\"listitem\" class=\"v-list-item v-list-item--link theme--light\">\n                            <div class=\"v-list-item__content\">\n                              <div class=\"v-list-item__title\">Developed By</div>\n                              <div class=\"v-list-item__subtitle\">Shumin Liu and Contributors</div>\n                            </div>\n                            <div class=\"v-list-item__action\"><i aria-hidden=\"true\" class=\"v-icon notranslate grey--text mdi mdi-open-in-new theme--light\"></i></div>\n                          </a> <a tabindex=\"0\" href=\"mailto:support@ojhunt.com\" role=\"listitem\" class=\"v-list-item v-list-item--link theme--light\">\n                            <div class=\"v-list-item__action\"><i aria-hidden=\"true\" class=\"v-icon notranslate blue--text text--lighten-2 mdi mdi-email theme--light\"></i></div>\n                            <div class=\"v-list-item__content\">\n                              <div class=\"v-list-item__subtitle\">support@ojhunt.com</div>\n                            </div>\n                          </a> <a tabindex=\"0\" href=\"https://github.com/Liu233w/acm-statistics\" target=\"_blank\" rel=\"noopener noreferrer\" role=\"listitem\" class=\"v-list-item v-list-item--link theme--light\">\n                            <div class=\"v-list-item__action\"><i aria-hidden=\"true\" class=\"v-icon notranslate blue--text text--lighten-2 mdi mdi-github theme--light\"></i></div>\n                            <div class=\"v-list-item__content\">\n                              <div class=\"v-list-item__subtitle\">https://github.com/Liu233w/acm-statistics</div>\n                            </div>\n                            <div class=\"v-list-item__action\"><i aria-hidden=\"true\" class=\"v-icon notranslate grey--text mdi mdi-open-in-new theme--light\"></i></div>\n                          </a> <a tabindex=\"0\" href=\"https://t.me/ojhunt\" target=\"_blank\" rel=\"noopener noreferrer\" role=\"listitem\" class=\"v-list-item v-list-item--link theme--light\">\n                            <div class=\"v-list-item__action\"><i aria-hidden=\"true\" class=\"v-icon notranslate blue--text text--lighten-2 fab fa-telegram theme--light\"></i></div>\n                            <div class=\"v-list-item__content\">\n                              <div class=\"v-list-item__subtitle\">Telegram: https://t.me/ojhunt</div>\n                            </div>\n                            <div class=\"v-list-item__action\"><i aria-hidden=\"true\" class=\"v-icon notranslate grey--text mdi mdi-open-in-new theme--light\"></i></div>\n                          </a> <a tabindex=\"0\" href=\"https://discord.gg/cQemBNNr\" target=\"_blank\" rel=\"noopener noreferrer\" role=\"listitem\" class=\"v-list-item v-list-item--link theme--light\">\n                            <div class=\"v-list-item__action\"><i aria-hidden=\"true\" class=\"v-icon notranslate blue--text text--lighten-2 fab fa-discord theme--light\"></i></div>\n                            <div class=\"v-list-item__content\">\n                              <div class=\"v-list-item__subtitle\">Discord: OJ Analyzer Development</div>\n                            </div>\n                            <div class=\"v-list-item__action\"><i aria-hidden=\"true\" class=\"v-icon notranslate grey--text mdi mdi-open-in-new theme--light\"></i></div>\n                          </a></div>\n                      </div>\n                      <div class=\"my-2 v-card v-sheet theme--light\">\n                        <header class=\"v-sheet theme--dark v-toolbar v-app-bar light-blue\" style=\"height:56px;margin-top:0px;transform:translateY(0px);left:0px;right:0px;\">\n                          <div class=\"v-toolbar__content\" style=\"height:56px;\">\n                            <div class=\"v-toolbar__title\">Development</div>\n                            <div class=\"spacer\"></div>\n                          </div>\n                        </header>\n                        <div role=\"list\" class=\"v-list v-sheet theme--light\"><a tabindex=\"0\" href=\"/swagger\" target=\"_blank\" rel=\"noopener noreferrer\" role=\"listitem\" class=\"v-list-item v-list-item--link theme--light\">\n                            <div class=\"v-list-item__action\"><i aria-hidden=\"true\" class=\"v-icon notranslate blue--text text--lighten-2 mdi mdi-api theme--light\"></i></div>\n                            <div class=\"v-list-item__content\">\n                              <div class=\"v-list-item__subtitle\">API Document</div>\n                            </div>\n                            <div class=\"v-list-item__action\"><i aria-hidden=\"true\" class=\"v-icon notranslate grey--text mdi mdi-open-in-new theme--light\"></i></div>\n                          </a></div>\n                      </div>\n                      <div class=\"my-2 v-card v-sheet theme--light\">\n                        <header class=\"v-sheet theme--dark v-toolbar v-app-bar light-blue\" style=\"height:56px;margin-top:0px;transform:translateY(0px);left:0px;right:0px;\">\n                          <div class=\"v-toolbar__content\" style=\"height:56px;\">\n                            <div class=\"v-toolbar__title\">Special Thanks To</div>\n                            <div class=\"spacer\"></div>\n                          </div>\n                        </header>\n                        <div role=\"list\" class=\"v-list v-sheet theme--light\">\n                          <div tabindex=\"-1\" role=\"listitem\" class=\"v-list-item theme--light\">\n                            <div class=\"v-list-item__content\">\n                              <div class=\"v-list-item__title\">西北工业大学ACM协会技术组</div>\n                            </div>\n                          </div>\n                          <div tabindex=\"-1\" role=\"listitem\" class=\"v-list-item theme--light\">\n                            <div class=\"v-list-item__action\"><i aria-hidden=\"true\" class=\"v-icon notranslate blue--text text--lighten-2 mdi mdi-map-marker theme--light\"></i></div>\n                            <div class=\"v-list-item__content\">\n                              <div class=\"v-list-item__subtitle\">陕西省西安市长安区西北工业大学长安校区计算机学院110室</div>\n                            </div>\n                          </div> <a tabindex=\"0\" href=\"https://jq.qq.com/?_wv=1027&amp;k=5qgzfQc\" target=\"_blank\" rel=\"noopener noreferrer\" role=\"listitem\" class=\"v-list-item v-list-item--link theme--light\">\n                            <div class=\"v-list-item__action\"><i aria-hidden=\"true\" class=\"v-icon notranslate blue--text text--lighten-2 mdi mdi-qqchat theme--light\"></i></div>\n                            <div class=\"v-list-item__content\">\n                              <div class=\"v-list-item__subtitle\">198820787</div>\n                            </div>\n                          </a>\n                          <div tabindex=\"0\" role=\"listitem\" class=\"v-list-item v-list-item--link theme--light\">\n                            <div class=\"v-list-item__action\"><i aria-hidden=\"true\" class=\"v-icon notranslate blue--text text--lighten-2 mdi mdi-wechat theme--light\"></i></div>\n                            <div class=\"v-list-item__content\">\n                              <div class=\"v-list-item__subtitle\">微信公众号</div>\n                            </div>\n                          </div>\n                        </div>\n                      </div>\n                      <div class=\"my-2 v-card v-sheet theme--light\">\n                        <header class=\"v-sheet theme--dark v-toolbar v-app-bar light-blue\" style=\"height:56px;margin-top:0px;transform:translateY(0px);left:0px;right:0px;\">\n                          <div class=\"v-toolbar__content\" style=\"height:56px;\">\n                            <div class=\"v-toolbar__title\">System Info</div>\n                            <div class=\"spacer\"></div>\n                          </div>\n                        </header>\n                        <div role=\"list\" class=\"v-list v-sheet theme--light\">\n                          <div tabindex=\"-1\" role=\"listitem\" class=\"v-list-item theme--light\">\n                            <div class=\"v-list-item__content\">\n                              <div class=\"v-list-item__title\">Version</div>\n                              <div class=\"v-list-item__subtitle\">0</div>\n                            </div>\n                          </div>\n                          <div tabindex=\"-1\" role=\"listitem\" class=\"v-list-item theme--light\">\n                            <div class=\"v-list-item__content\">\n                              <div class=\"v-list-item__title\">Build time</div>\n                              <div class=\"v-list-item__subtitle\">1/1/1970, 12:00:00 AM</div>\n                            </div>\n                          </div> <a tabindex=\"0\" href=\"https://github.com/Liu233w/acm-statistics/tree/0\" role=\"listitem\" class=\"v-list-item v-list-item--link theme--light\">\n                            <div class=\"v-list-item__content\">\n                              <div class=\"v-list-item__title\">Source code of current version</div>\n                              <div class=\"v-list-item__subtitle\">\n                                https://github.com/Liu233w/acm-statistics/tree/0\n                              </div>\n                            </div>\n                            <div class=\"v-list-item__action\"><i aria-hidden=\"true\" class=\"v-icon notranslate grey--text mdi mdi-open-in-new theme--light\"></i></div>\n                          </a> <a tabindex=\"0\" href=\"https://github.com/Liu233w/acm-statistics/commits/0\" role=\"listitem\" class=\"v-list-item v-list-item--link theme--light\">\n                            <div class=\"v-list-item__content\">\n                              <div class=\"v-list-item__title\">Recent updates</div>\n                              <div class=\"v-list-item__subtitle\">\n                                https://github.com/Liu233w/acm-statistics/commits/0\n                              </div>\n                            </div>\n                            <div class=\"v-list-item__action\"><i aria-hidden=\"true\" class=\"v-icon notranslate grey--text mdi mdi-open-in-new theme--light\"></i></div>\n                          </a>\n                        </div>\n                      </div>\n                    </div>\n                  </div>\n                  <div class=\"v-dialog__container\"><!----></div>\n                </div>\n              </div>\n            </main>\n            <footer class=\"v-footer v-sheet theme--light v-footer--absolute v-footer--inset\" style=\"left:0px;right:0px;bottom:0px;\"><span class=\"text-body-2\">© 2018 - 1970 Shumin Liu and Contributors</span></footer>\n            <div class=\"message-panel v-card v-sheet theme--light\" style=\"display:none;\"><v-list class=\"pa-0\"></v-list> <!----></div>\n          </div>\n        </div>\n      </div>\n    </div>\n    <script>\n      window.__NUXT__ = (function(a, b, c) {\n        return {\n          layout: \"default\",\n          data: [{}],\n          fetch: {},\n          error: a,\n          state: {\n            sidebar: b,\n            message: {\n              list: []\n            },\n            session: {\n              login: b,\n              username: \"\",\n              settings: {}\n            }\n          },\n          serverRendered: true,\n          routePath: \"\\\\u002Fabout\",\n          config: {\n            _app: {\n              basePath: \"\\\\u002F\",\n              assetsPath: \"\\\\u002F_nuxt\\\\u002F\",\n              cdnURL: a\n            }\n          },\n          env: {\n            VERSION_NUM: c,\n            BUILD_TIME: c\n          }\n        }\n      }(null, false, \"0\"));\n    </script>\n\n\n  </body>\n\n</html>\n`;\n\nexports[`/history 1`] = `\n<!DOCTYPE html>\n<html data-n-head-ssr=\"\">\n\n  <head>\n    <meta data-n-head=\"ssr\" charset=\"utf-8\">\n    <meta data-n-head=\"ssr\" name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <meta data-n-head=\"ssr\" data-hid=\"description\" name=\"description\" content=\"An online tool (crawler) to analyze users performance in online judges (coding competition websites). Supported OJ: POJ, HDU, ZOJ, HYSBZ, CodeForces, UVA, ICPC Live Archive, FZU, SPOJ, Timus (URAL), LeetCode_CN, CSU, LibreOJ, 洛谷, 牛客OJ, Lutece (UESTC), AtCoder, AIZU, CodeChef, El Judge, BNUOJ, Codewars, UOJ, NBUT, 51Nod, DMOJ, SDUT OJ, VJudge\">\n    <title>History - OJ Analyzer</title>\n    <link data-n-head=\"ssr\" rel=\"icon\" type=\"image/x-icon\" href=\"/favicon.ico\">\n    <link data-n-head=\"ssr\" rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Noto+Serif+SC:300,400,500,700\">\n    <link data-n-head=\"ssr\" rel=\"stylesheet\" type=\"text/css\" href=\"https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900&amp;display=swap\">\n    <link data-n-head=\"ssr\" rel=\"stylesheet\" type=\"text/css\" href=\"https://cdn.jsdelivr.net/npm/@mdi/font@latest/css/materialdesignicons.min.css\">\n    <style data-n-head=\"vuetify\" type=\"text/css\" id=\"vuetify-theme-stylesheet\" nonce=\"undefined\">\n      .v-application a {\n        color: #1976d2;\n      }\n\n      .v-application .primary {\n        background-color: #1976d2 !important;\n        border-color: #1976d2 !important;\n      }\n\n      .v-application .primary--text {\n        color: #1976d2 !important;\n        caret-color: #1976d2 !important;\n      }\n\n      .v-application .primary.lighten-5 {\n        background-color: #c7fdff !important;\n        border-color: #c7fdff !important;\n      }\n\n      .v-application .primary--text.text--lighten-5 {\n        color: #c7fdff !important;\n        caret-color: #c7fdff !important;\n      }\n\n      .v-application .primary.lighten-4 {\n        background-color: #a8e0ff !important;\n        border-color: #a8e0ff !important;\n      }\n\n      .v-application .primary--text.text--lighten-4 {\n        color: #a8e0ff !important;\n        caret-color: #a8e0ff !important;\n      }\n\n      .v-application .primary.lighten-3 {\n        background-color: #8ac5ff !important;\n        border-color: #8ac5ff !important;\n      }\n\n      .v-application .primary--text.text--lighten-3 {\n        color: #8ac5ff !important;\n        caret-color: #8ac5ff !important;\n      }\n\n      .v-application .primary.lighten-2 {\n        background-color: #6aaaff !important;\n        border-color: #6aaaff !important;\n      }\n\n      .v-application .primary--text.text--lighten-2 {\n        color: #6aaaff !important;\n        caret-color: #6aaaff !important;\n      }\n\n      .v-application .primary.lighten-1 {\n        background-color: #488fef !important;\n        border-color: #488fef !important;\n      }\n\n      .v-application .primary--text.text--lighten-1 {\n        color: #488fef !important;\n        caret-color: #488fef !important;\n      }\n\n      .v-application .primary.darken-1 {\n        background-color: #005eb6 !important;\n        border-color: #005eb6 !important;\n      }\n\n      .v-application .primary--text.text--darken-1 {\n        color: #005eb6 !important;\n        caret-color: #005eb6 !important;\n      }\n\n      .v-application .primary.darken-2 {\n        background-color: #00479b !important;\n        border-color: #00479b !important;\n      }\n\n      .v-application .primary--text.text--darken-2 {\n        color: #00479b !important;\n        caret-color: #00479b !important;\n      }\n\n      .v-application .primary.darken-3 {\n        background-color: #003180 !important;\n        border-color: #003180 !important;\n      }\n\n      .v-application .primary--text.text--darken-3 {\n        color: #003180 !important;\n        caret-color: #003180 !important;\n      }\n\n      .v-application .primary.darken-4 {\n        background-color: #001e67 !important;\n        border-color: #001e67 !important;\n      }\n\n      .v-application .primary--text.text--darken-4 {\n        color: #001e67 !important;\n        caret-color: #001e67 !important;\n      }\n\n      .v-application .secondary {\n        background-color: #bdbdbd !important;\n        border-color: #bdbdbd !important;\n      }\n\n      .v-application .secondary--text {\n        color: #bdbdbd !important;\n        caret-color: #bdbdbd !important;\n      }\n\n      .v-application .secondary.lighten-5 {\n        background-color: #ffffff !important;\n        border-color: #ffffff !important;\n      }\n\n      .v-application .secondary--text.text--lighten-5 {\n        color: #ffffff !important;\n        caret-color: #ffffff !important;\n      }\n\n      .v-application .secondary.lighten-4 {\n        background-color: #ffffff !important;\n        border-color: #ffffff !important;\n      }\n\n      .v-application .secondary--text.text--lighten-4 {\n        color: #ffffff !important;\n        caret-color: #ffffff !important;\n      }\n\n      .v-application .secondary.lighten-3 {\n        background-color: #ffffff !important;\n        border-color: #ffffff !important;\n      }\n\n      .v-application .secondary--text.text--lighten-3 {\n        color: #ffffff !important;\n        caret-color: #ffffff !important;\n      }\n\n      .v-application .secondary.lighten-2 {\n        background-color: #f5f5f5 !important;\n        border-color: #f5f5f5 !important;\n      }\n\n      .v-application .secondary--text.text--lighten-2 {\n        color: #f5f5f5 !important;\n        caret-color: #f5f5f5 !important;\n      }\n\n      .v-application .secondary.lighten-1 {\n        background-color: #d9d9d9 !important;\n        border-color: #d9d9d9 !important;\n      }\n\n      .v-application .secondary--text.text--lighten-1 {\n        color: #d9d9d9 !important;\n        caret-color: #d9d9d9 !important;\n      }\n\n      .v-application .secondary.darken-1 {\n        background-color: #a2a2a2 !important;\n        border-color: #a2a2a2 !important;\n      }\n\n      .v-application .secondary--text.text--darken-1 {\n        color: #a2a2a2 !important;\n        caret-color: #a2a2a2 !important;\n      }\n\n      .v-application .secondary.darken-2 {\n        background-color: #888888 !important;\n        border-color: #888888 !important;\n      }\n\n      .v-application .secondary--text.text--darken-2 {\n        color: #888888 !important;\n        caret-color: #888888 !important;\n      }\n\n      .v-application .secondary.darken-3 {\n        background-color: #6e6e6e !important;\n        border-color: #6e6e6e !important;\n      }\n\n      .v-application .secondary--text.text--darken-3 {\n        color: #6e6e6e !important;\n        caret-color: #6e6e6e !important;\n      }\n\n      .v-application .secondary.darken-4 {\n        background-color: #565656 !important;\n        border-color: #565656 !important;\n      }\n\n      .v-application .secondary--text.text--darken-4 {\n        color: #565656 !important;\n        caret-color: #565656 !important;\n      }\n\n      .v-application .accent {\n        background-color: #448aff !important;\n        border-color: #448aff !important;\n      }\n\n      .v-application .accent--text {\n        color: #448aff !important;\n        caret-color: #448aff !important;\n      }\n\n      .v-application .accent.lighten-5 {\n        background-color: #e8ffff !important;\n        border-color: #e8ffff !important;\n      }\n\n      .v-application .accent--text.text--lighten-5 {\n        color: #e8ffff !important;\n        caret-color: #e8ffff !important;\n      }\n\n      .v-application .accent.lighten-4 {\n        background-color: #c9f7ff !important;\n        border-color: #c9f7ff !important;\n      }\n\n      .v-application .accent--text.text--lighten-4 {\n        color: #c9f7ff !important;\n        caret-color: #c9f7ff !important;\n      }\n\n      .v-application .accent.lighten-3 {\n        background-color: #a9daff !important;\n        border-color: #a9daff !important;\n      }\n\n      .v-application .accent--text.text--lighten-3 {\n        color: #a9daff !important;\n        caret-color: #a9daff !important;\n      }\n\n      .v-application .accent.lighten-2 {\n        background-color: #8abfff !important;\n        border-color: #8abfff !important;\n      }\n\n      .v-application .accent--text.text--lighten-2 {\n        color: #8abfff !important;\n        caret-color: #8abfff !important;\n      }\n\n      .v-application .accent.lighten-1 {\n        background-color: #69a4ff !important;\n        border-color: #69a4ff !important;\n      }\n\n      .v-application .accent--text.text--lighten-1 {\n        color: #69a4ff !important;\n        caret-color: #69a4ff !important;\n      }\n\n      .v-application .accent.darken-1 {\n        background-color: #0171e2 !important;\n        border-color: #0171e2 !important;\n      }\n\n      .v-application .accent--text.text--darken-1 {\n        color: #0171e2 !important;\n        caret-color: #0171e2 !important;\n      }\n\n      .v-application .accent.darken-2 {\n        background-color: #0059c5 !important;\n        border-color: #0059c5 !important;\n      }\n\n      .v-application .accent--text.text--darken-2 {\n        color: #0059c5 !important;\n        caret-color: #0059c5 !important;\n      }\n\n      .v-application .accent.darken-3 {\n        background-color: #0042aa !important;\n        border-color: #0042aa !important;\n      }\n\n      .v-application .accent--text.text--darken-3 {\n        color: #0042aa !important;\n        caret-color: #0042aa !important;\n      }\n\n      .v-application .accent.darken-4 {\n        background-color: #002e8e !important;\n        border-color: #002e8e !important;\n      }\n\n      .v-application .accent--text.text--darken-4 {\n        color: #002e8e !important;\n        caret-color: #002e8e !important;\n      }\n\n      .v-application .error {\n        background-color: #d50000 !important;\n        border-color: #d50000 !important;\n      }\n\n      .v-application .error--text {\n        color: #d50000 !important;\n        caret-color: #d50000 !important;\n      }\n\n      .v-application .error.lighten-5 {\n        background-color: #ffb082 !important;\n        border-color: #ffb082 !important;\n      }\n\n      .v-application .error--text.text--lighten-5 {\n        color: #ffb082 !important;\n        caret-color: #ffb082 !important;\n      }\n\n      .v-application .error.lighten-4 {\n        background-color: #ff9268 !important;\n        border-color: #ff9268 !important;\n      }\n\n      .v-application .error--text.text--lighten-4 {\n        color: #ff9268 !important;\n        caret-color: #ff9268 !important;\n      }\n\n      .v-application .error.lighten-3 {\n        background-color: #ff754e !important;\n        border-color: #ff754e !important;\n      }\n\n      .v-application .error--text.text--lighten-3 {\n        color: #ff754e !important;\n        caret-color: #ff754e !important;\n      }\n\n      .v-application .error.lighten-2 {\n        background-color: #ff5736 !important;\n        border-color: #ff5736 !important;\n      }\n\n      .v-application .error--text.text--lighten-2 {\n        color: #ff5736 !important;\n        caret-color: #ff5736 !important;\n      }\n\n      .v-application .error.lighten-1 {\n        background-color: #f6361d !important;\n        border-color: #f6361d !important;\n      }\n\n      .v-application .error--text.text--lighten-1 {\n        color: #f6361d !important;\n        caret-color: #f6361d !important;\n      }\n\n      .v-application .error.darken-1 {\n        background-color: #b40000 !important;\n        border-color: #b40000 !important;\n      }\n\n      .v-application .error--text.text--darken-1 {\n        color: #b40000 !important;\n        caret-color: #b40000 !important;\n      }\n\n      .v-application .error.darken-2 {\n        background-color: #950000 !important;\n        border-color: #950000 !important;\n      }\n\n      .v-application .error--text.text--darken-2 {\n        color: #950000 !important;\n        caret-color: #950000 !important;\n      }\n\n      .v-application .error.darken-3 {\n        background-color: #770000 !important;\n        border-color: #770000 !important;\n      }\n\n      .v-application .error--text.text--darken-3 {\n        color: #770000 !important;\n        caret-color: #770000 !important;\n      }\n\n      .v-application .error.darken-4 {\n        background-color: #5c0000 !important;\n        border-color: #5c0000 !important;\n      }\n\n      .v-application .error--text.text--darken-4 {\n        color: #5c0000 !important;\n        caret-color: #5c0000 !important;\n      }\n\n      .v-application .info {\n        background-color: #42a5f5 !important;\n        border-color: #42a5f5 !important;\n      }\n\n      .v-application .info--text {\n        color: #42a5f5 !important;\n        caret-color: #42a5f5 !important;\n      }\n\n      .v-application .info.lighten-5 {\n        background-color: #e4ffff !important;\n        border-color: #e4ffff !important;\n      }\n\n      .v-application .info--text.text--lighten-5 {\n        color: #e4ffff !important;\n        caret-color: #e4ffff !important;\n      }\n\n      .v-application .info.lighten-4 {\n        background-color: #c5ffff !important;\n        border-color: #c5ffff !important;\n      }\n\n      .v-application .info--text.text--lighten-4 {\n        color: #c5ffff !important;\n        caret-color: #c5ffff !important;\n      }\n\n      .v-application .info.lighten-3 {\n        background-color: #a6f8ff !important;\n        border-color: #a6f8ff !important;\n      }\n\n      .v-application .info--text.text--lighten-3 {\n        color: #a6f8ff !important;\n        caret-color: #a6f8ff !important;\n      }\n\n      .v-application .info.lighten-2 {\n        background-color: #87dcff !important;\n        border-color: #87dcff !important;\n      }\n\n      .v-application .info--text.text--lighten-2 {\n        color: #87dcff !important;\n        caret-color: #87dcff !important;\n      }\n\n      .v-application .info.lighten-1 {\n        background-color: #66c0ff !important;\n        border-color: #66c0ff !important;\n      }\n\n      .v-application .info--text.text--lighten-1 {\n        color: #66c0ff !important;\n        caret-color: #66c0ff !important;\n      }\n\n      .v-application .info.darken-1 {\n        background-color: #018bd8 !important;\n        border-color: #018bd8 !important;\n      }\n\n      .v-application .info--text.text--darken-1 {\n        color: #018bd8 !important;\n        caret-color: #018bd8 !important;\n      }\n\n      .v-application .info.darken-2 {\n        background-color: #0072bc !important;\n        border-color: #0072bc !important;\n      }\n\n      .v-application .info--text.text--darken-2 {\n        color: #0072bc !important;\n        caret-color: #0072bc !important;\n      }\n\n      .v-application .info.darken-3 {\n        background-color: #0059a1 !important;\n        border-color: #0059a1 !important;\n      }\n\n      .v-application .info--text.text--darken-3 {\n        color: #0059a1 !important;\n        caret-color: #0059a1 !important;\n      }\n\n      .v-application .info.darken-4 {\n        background-color: #004286 !important;\n        border-color: #004286 !important;\n      }\n\n      .v-application .info--text.text--darken-4 {\n        color: #004286 !important;\n        caret-color: #004286 !important;\n      }\n\n      .v-application .success {\n        background-color: #81c784 !important;\n        border-color: #81c784 !important;\n      }\n\n      .v-application .success--text {\n        color: #81c784 !important;\n        caret-color: #81c784 !important;\n      }\n\n      .v-application .success.lighten-5 {\n        background-color: #ffffff !important;\n        border-color: #ffffff !important;\n      }\n\n      .v-application .success--text.text--lighten-5 {\n        color: #ffffff !important;\n        caret-color: #ffffff !important;\n      }\n\n      .v-application .success.lighten-4 {\n        background-color: #f1fff2 !important;\n        border-color: #f1fff2 !important;\n      }\n\n      .v-application .success--text.text--lighten-4 {\n        color: #f1fff2 !important;\n        caret-color: #f1fff2 !important;\n      }\n\n      .v-application .success.lighten-3 {\n        background-color: #d4ffd5 !important;\n        border-color: #d4ffd5 !important;\n      }\n\n      .v-application .success--text.text--lighten-3 {\n        color: #d4ffd5 !important;\n        caret-color: #d4ffd5 !important;\n      }\n\n      .v-application .success.lighten-2 {\n        background-color: #b8ffba !important;\n        border-color: #b8ffba !important;\n      }\n\n      .v-application .success--text.text--lighten-2 {\n        color: #b8ffba !important;\n        caret-color: #b8ffba !important;\n      }\n\n      .v-application .success.lighten-1 {\n        background-color: #9ce39e !important;\n        border-color: #9ce39e !important;\n      }\n\n      .v-application .success--text.text--lighten-1 {\n        color: #9ce39e !important;\n        caret-color: #9ce39e !important;\n      }\n\n      .v-application .success.darken-1 {\n        background-color: #66ab6a !important;\n        border-color: #66ab6a !important;\n      }\n\n      .v-application .success--text.text--darken-1 {\n        color: #66ab6a !important;\n        caret-color: #66ab6a !important;\n      }\n\n      .v-application .success.darken-2 {\n        background-color: #4c9152 !important;\n        border-color: #4c9152 !important;\n      }\n\n      .v-application .success--text.text--darken-2 {\n        color: #4c9152 !important;\n        caret-color: #4c9152 !important;\n      }\n\n      .v-application .success.darken-3 {\n        background-color: #31773a !important;\n        border-color: #31773a !important;\n      }\n\n      .v-application .success--text.text--darken-3 {\n        color: #31773a !important;\n        caret-color: #31773a !important;\n      }\n\n      .v-application .success.darken-4 {\n        background-color: #145d23 !important;\n        border-color: #145d23 !important;\n      }\n\n      .v-application .success--text.text--darken-4 {\n        color: #145d23 !important;\n        caret-color: #145d23 !important;\n      }\n\n      .v-application .warning {\n        background-color: #ffa000 !important;\n        border-color: #ffa000 !important;\n      }\n\n      .v-application .warning--text {\n        color: #ffa000 !important;\n        caret-color: #ffa000 !important;\n      }\n\n      .v-application .warning.lighten-5 {\n        background-color: #ffffa4 !important;\n        border-color: #ffffa4 !important;\n      }\n\n      .v-application .warning--text.text--lighten-5 {\n        color: #ffffa4 !important;\n        caret-color: #ffffa4 !important;\n      }\n\n      .v-application .warning.lighten-4 {\n        background-color: #ffff87 !important;\n        border-color: #ffff87 !important;\n      }\n\n      .v-application .warning--text.text--lighten-4 {\n        color: #ffff87 !important;\n        caret-color: #ffff87 !important;\n      }\n\n      .v-application .warning.lighten-3 {\n        background-color: #fff36b !important;\n        border-color: #fff36b !important;\n      }\n\n      .v-application .warning--text.text--lighten-3 {\n        color: #fff36b !important;\n        caret-color: #fff36b !important;\n      }\n\n      .v-application .warning.lighten-2 {\n        background-color: #ffd74e !important;\n        border-color: #ffd74e !important;\n      }\n\n      .v-application .warning--text.text--lighten-2 {\n        color: #ffd74e !important;\n        caret-color: #ffd74e !important;\n      }\n\n      .v-application .warning.lighten-1 {\n        background-color: #ffbb30 !important;\n        border-color: #ffbb30 !important;\n      }\n\n      .v-application .warning--text.text--lighten-1 {\n        color: #ffbb30 !important;\n        caret-color: #ffbb30 !important;\n      }\n\n      .v-application .warning.darken-1 {\n        background-color: #df8600 !important;\n        border-color: #df8600 !important;\n      }\n\n      .v-application .warning--text.text--darken-1 {\n        color: #df8600 !important;\n        caret-color: #df8600 !important;\n      }\n\n      .v-application .warning.darken-2 {\n        background-color: #c06c00 !important;\n        border-color: #c06c00 !important;\n      }\n\n      .v-application .warning--text.text--darken-2 {\n        color: #c06c00 !important;\n        caret-color: #c06c00 !important;\n      }\n\n      .v-application .warning.darken-3 {\n        background-color: #a15400 !important;\n        border-color: #a15400 !important;\n      }\n\n      .v-application .warning--text.text--darken-3 {\n        color: #a15400 !important;\n        caret-color: #a15400 !important;\n      }\n\n      .v-application .warning.darken-4 {\n        background-color: #843c00 !important;\n        border-color: #843c00 !important;\n      }\n\n      .v-application .warning--text.text--darken-4 {\n        color: #843c00 !important;\n        caret-color: #843c00 !important;\n      }\n    </style>\n  </head>\n\n  <body>\n    <script>\n      (window.ActiveXObject || \"ActiveXObject\" in window) && alert(\"本网站不支持IE或IE内核的浏览器，建议您使用火狐浏览器、谷歌浏览器或微软的Edge浏览器（Windows10自带）\")\n    </script>\n    <div id=\"__nuxt\"><!---->\n      <div id=\"__layout\">\n        <div data-app=\"true\" id=\"app\" class=\"v-application v-application--is-ltr theme--light\">\n          <div class=\"v-application--wrap\">\n            <nav class=\"v-navigation-drawer v-navigation-drawer--close v-navigation-drawer--fixed v-navigation-drawer--is-mobile theme--light\" style=\"height:100vh;top:0px;transform:translateX(-100%);width:256px;\">\n              <div class=\"v-navigation-drawer__content\">\n                <div class=\"v-list v-sheet theme--light\"><a href=\"/\" tabindex=\"0\" class=\"v-list-item v-list-item--link theme--light\">\n                    <div class=\"v-list-item__action\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-home theme--light\"></i></div>\n                    <div class=\"v-list-item__content\">\n                      <div class=\"v-list-item__title\">Homepage</div>\n                    </div>\n                  </a><a href=\"/statistics\" tabindex=\"0\" class=\"v-list-item v-list-item--link theme--light\">\n                    <div class=\"v-list-item__action\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-code-tags theme--light\"></i></div>\n                    <div class=\"v-list-item__content\">\n                      <div class=\"v-list-item__title\">Statistics</div>\n                    </div>\n                  </a><a href=\"/history\" aria-current=\"page\" tabindex=\"0\" class=\"v-list-item--active v-list-item v-list-item--link theme--light\">\n                    <div class=\"v-list-item__action\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-history theme--light\"></i></div>\n                    <div class=\"v-list-item__content\">\n                      <div class=\"v-list-item__title\">History</div>\n                    </div>\n                  </a><a href=\"/settings\" tabindex=\"0\" class=\"v-list-item v-list-item--link theme--light\">\n                    <div class=\"v-list-item__action\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-cog theme--light\"></i></div>\n                    <div class=\"v-list-item__content\">\n                      <div class=\"v-list-item__title\">Settings</div>\n                    </div>\n                  </a><a href=\"/about\" tabindex=\"0\" class=\"v-list-item v-list-item--link theme--light\">\n                    <div class=\"v-list-item__action\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-information theme--light\"></i></div>\n                    <div class=\"v-list-item__content\">\n                      <div class=\"v-list-item__title\">About</div>\n                    </div>\n                  </a></div>\n              </div>\n              <div class=\"v-navigation-drawer__border\"></div>\n            </nav>\n            <header class=\"v-sheet theme--light v-toolbar v-toolbar--absolute v-app-bar\" style=\"height:56px;margin-top:0px;transform:translateY(0px);left:0px;right:0px;\">\n              <div class=\"v-toolbar__content\" style=\"height:56px;\"><button type=\"button\" class=\"v-app-bar__nav-icon v-btn v-btn--icon v-btn--round theme--light v-size--default\"><span class=\"v-btn__content\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-menu theme--light\"></i></span></button> <!---->\n                <div class=\"v-toolbar__title\">OJ Analyzer</div> <!----> <!---->\n                <div class=\"spacer\"></div> <!----> <!----> <span class=\"v-tooltip v-tooltip--bottom\"><!----><button type=\"button\" class=\"v-btn v-btn--text theme--light v-size--default\"><span class=\"v-btn__content\"><i aria-hidden=\"true\" class=\"v-icon notranslate v-icon--left mdi mdi-login theme--light\" style=\"display:none;\"></i> admin\n    </span></button></span> <span class=\"v-tooltip v-tooltip--left\"><!----><a href=\"https://github.com/Liu233w/acm-statistics\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"v-btn v-btn--icon v-btn--round theme--light v-size--default\"><span class=\"v-btn__content\"><i aria-hidden=\"true\" medium=\"\" class=\"v-icon notranslate mdi mdi-github theme--light\"></i></span></a></span>\n              </div>\n            </header>\n            <main class=\"v-main v-content\" style=\"padding-top:56px;padding-right:0px;padding-bottom:0px;padding-left:0px;\">\n              <div class=\"v-main__wrap v-content__wrap\">\n                <div class=\"container container--fluid\">\n                  <div class=\"v-banner v-sheet theme--light v-banner--is-mobile\">\n                    <div class=\"v-banner__wrapper\">\n                      <div class=\"v-banner__content\">\n                        <div class=\"v-banner__text\">\n                          Only the latest history per day is saved. You may change your time zone in settings.\n                          <a href=\"/settings\" class=\"v-btn v-btn--router v-btn--text theme--light v-size--default primary--text\"><span class=\"v-btn__content\">\n        go to settings\n      </span></a>\n                        </div>\n                      </div>\n                    </div>\n                  </div>\n                  <div class=\"v-data-table mt-4 v-data-table--has-top v-data-table--has-bottom theme--light v-data-table--mobile\"><button type=\"button\" disabled=\"disabled\" class=\"v-btn v-btn--disabled v-btn--has-bg theme--light v-size--default\"><span class=\"v-btn__content\">\n          delete selected\n        </span></button>\n                    <div class=\"v-data-table__wrapper\">\n                      <table>\n                        <colgroup>\n                          <col>\n                          <col>\n                          <col>\n                          <col>\n                          <col>\n                          <col>\n                        </colgroup>\n                        <thead class=\"v-data-table-header v-data-table-header-mobile\">\n                          <tr>\n                            <th>\n                              <div class=\"v-data-table-header-mobile__wrapper\">\n                                <div width=\"1px\" class=\"v-data-table-header-mobile__select\">\n                                  <div class=\"v-data-table__checkbox v-simple-checkbox\">\n                                    <div class=\"v-input--selection-controls__input\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-checkbox-blank-outline theme--light\"></i>\n                                      <div class=\"v-input--selection-controls__ripple\"></div>\n                                    </div>\n                                  </div>\n                                </div>\n                              </div>\n                            </th>\n                          </tr>\n                        </thead>\n                        <tbody>\n                          <tr class=\"v-data-table__mobile-table-row\">\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\"></div>\n                              <div class=\"v-data-table__mobile-row__cell\">\n                                <div class=\"v-data-table__checkbox v-simple-checkbox\">\n                                  <div class=\"v-input--selection-controls__input\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-checkbox-blank-outline theme--light\"></i>\n                                    <div class=\"v-input--selection-controls__ripple\"></div>\n                                  </div>\n                                </div>\n                              </div>\n                            </td>\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\">Id</div>\n                              <div class=\"v-data-table__mobile-row__cell\">10</div>\n                            </td>\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\">Query time</div>\n                              <div class=\"v-data-table__mobile-row__cell\">4/10/2020, 8:00:00 AM</div>\n                            </td>\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\">Solved</div>\n                              <div class=\"v-data-table__mobile-row__cell\">10</div>\n                            </td>\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\">Submissions</div>\n                              <div class=\"v-data-table__mobile-row__cell\">100</div>\n                            </td>\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\">Actions</div>\n                              <div class=\"v-data-table__mobile-row__cell\"><a href=\"/history/10\" class=\"v-btn v-btn--icon v-btn--round v-btn--router theme--light v-size--default\"><span class=\"v-btn__content\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-eye theme--light\"></i></span></a> <button type=\"button\" class=\"v-btn v-btn--icon v-btn--round theme--light v-size--default\"><span class=\"v-btn__content\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-delete theme--light\"></i></span></button></div>\n                            </td>\n                          </tr>\n                          <tr class=\"v-data-table__mobile-table-row\">\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\"></div>\n                              <div class=\"v-data-table__mobile-row__cell\">\n                                <div class=\"v-data-table__checkbox v-simple-checkbox\">\n                                  <div class=\"v-input--selection-controls__input\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-checkbox-blank-outline theme--light\"></i>\n                                    <div class=\"v-input--selection-controls__ripple\"></div>\n                                  </div>\n                                </div>\n                              </div>\n                            </td>\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\">Id</div>\n                              <div class=\"v-data-table__mobile-row__cell\">9</div>\n                            </td>\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\">Query time</div>\n                              <div class=\"v-data-table__mobile-row__cell\">4/9/2020, 8:00:00 AM</div>\n                            </td>\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\">Solved</div>\n                              <div class=\"v-data-table__mobile-row__cell\">9</div>\n                            </td>\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\">Submissions</div>\n                              <div class=\"v-data-table__mobile-row__cell\">90</div>\n                            </td>\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\">Actions</div>\n                              <div class=\"v-data-table__mobile-row__cell\"><a href=\"/history/9\" class=\"v-btn v-btn--icon v-btn--round v-btn--router theme--light v-size--default\"><span class=\"v-btn__content\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-eye theme--light\"></i></span></a> <button type=\"button\" class=\"v-btn v-btn--icon v-btn--round theme--light v-size--default\"><span class=\"v-btn__content\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-delete theme--light\"></i></span></button></div>\n                            </td>\n                          </tr>\n                          <tr class=\"v-data-table__mobile-table-row\">\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\"></div>\n                              <div class=\"v-data-table__mobile-row__cell\">\n                                <div class=\"v-data-table__checkbox v-simple-checkbox\">\n                                  <div class=\"v-input--selection-controls__input\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-checkbox-blank-outline theme--light\"></i>\n                                    <div class=\"v-input--selection-controls__ripple\"></div>\n                                  </div>\n                                </div>\n                              </div>\n                            </td>\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\">Id</div>\n                              <div class=\"v-data-table__mobile-row__cell\">8</div>\n                            </td>\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\">Query time</div>\n                              <div class=\"v-data-table__mobile-row__cell\">4/8/2020, 8:00:00 AM</div>\n                            </td>\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\">Solved</div>\n                              <div class=\"v-data-table__mobile-row__cell\">8</div>\n                            </td>\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\">Submissions</div>\n                              <div class=\"v-data-table__mobile-row__cell\">80</div>\n                            </td>\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\">Actions</div>\n                              <div class=\"v-data-table__mobile-row__cell\"><a href=\"/history/8\" class=\"v-btn v-btn--icon v-btn--round v-btn--router theme--light v-size--default\"><span class=\"v-btn__content\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-eye theme--light\"></i></span></a> <button type=\"button\" class=\"v-btn v-btn--icon v-btn--round theme--light v-size--default\"><span class=\"v-btn__content\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-delete theme--light\"></i></span></button></div>\n                            </td>\n                          </tr>\n                          <tr class=\"v-data-table__mobile-table-row\">\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\"></div>\n                              <div class=\"v-data-table__mobile-row__cell\">\n                                <div class=\"v-data-table__checkbox v-simple-checkbox\">\n                                  <div class=\"v-input--selection-controls__input\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-checkbox-blank-outline theme--light\"></i>\n                                    <div class=\"v-input--selection-controls__ripple\"></div>\n                                  </div>\n                                </div>\n                              </div>\n                            </td>\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\">Id</div>\n                              <div class=\"v-data-table__mobile-row__cell\">7</div>\n                            </td>\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\">Query time</div>\n                              <div class=\"v-data-table__mobile-row__cell\">4/7/2020, 8:00:00 AM</div>\n                            </td>\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\">Solved</div>\n                              <div class=\"v-data-table__mobile-row__cell\">7</div>\n                            </td>\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\">Submissions</div>\n                              <div class=\"v-data-table__mobile-row__cell\">70</div>\n                            </td>\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\">Actions</div>\n                              <div class=\"v-data-table__mobile-row__cell\"><a href=\"/history/7\" class=\"v-btn v-btn--icon v-btn--round v-btn--router theme--light v-size--default\"><span class=\"v-btn__content\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-eye theme--light\"></i></span></a> <button type=\"button\" class=\"v-btn v-btn--icon v-btn--round theme--light v-size--default\"><span class=\"v-btn__content\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-delete theme--light\"></i></span></button></div>\n                            </td>\n                          </tr>\n                          <tr class=\"v-data-table__mobile-table-row\">\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\"></div>\n                              <div class=\"v-data-table__mobile-row__cell\">\n                                <div class=\"v-data-table__checkbox v-simple-checkbox\">\n                                  <div class=\"v-input--selection-controls__input\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-checkbox-blank-outline theme--light\"></i>\n                                    <div class=\"v-input--selection-controls__ripple\"></div>\n                                  </div>\n                                </div>\n                              </div>\n                            </td>\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\">Id</div>\n                              <div class=\"v-data-table__mobile-row__cell\">6</div>\n                            </td>\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\">Query time</div>\n                              <div class=\"v-data-table__mobile-row__cell\">4/6/2020, 8:00:00 AM</div>\n                            </td>\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\">Solved</div>\n                              <div class=\"v-data-table__mobile-row__cell\">6</div>\n                            </td>\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\">Submissions</div>\n                              <div class=\"v-data-table__mobile-row__cell\">60</div>\n                            </td>\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\">Actions</div>\n                              <div class=\"v-data-table__mobile-row__cell\"><a href=\"/history/6\" class=\"v-btn v-btn--icon v-btn--round v-btn--router theme--light v-size--default\"><span class=\"v-btn__content\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-eye theme--light\"></i></span></a> <button type=\"button\" class=\"v-btn v-btn--icon v-btn--round theme--light v-size--default\"><span class=\"v-btn__content\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-delete theme--light\"></i></span></button></div>\n                            </td>\n                          </tr>\n                          <tr class=\"v-data-table__mobile-table-row\">\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\"></div>\n                              <div class=\"v-data-table__mobile-row__cell\">\n                                <div class=\"v-data-table__checkbox v-simple-checkbox\">\n                                  <div class=\"v-input--selection-controls__input\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-checkbox-blank-outline theme--light\"></i>\n                                    <div class=\"v-input--selection-controls__ripple\"></div>\n                                  </div>\n                                </div>\n                              </div>\n                            </td>\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\">Id</div>\n                              <div class=\"v-data-table__mobile-row__cell\">5</div>\n                            </td>\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\">Query time</div>\n                              <div class=\"v-data-table__mobile-row__cell\">4/5/2020, 8:00:00 AM</div>\n                            </td>\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\">Solved</div>\n                              <div class=\"v-data-table__mobile-row__cell\">5</div>\n                            </td>\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\">Submissions</div>\n                              <div class=\"v-data-table__mobile-row__cell\">50</div>\n                            </td>\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\">Actions</div>\n                              <div class=\"v-data-table__mobile-row__cell\"><a href=\"/history/5\" class=\"v-btn v-btn--icon v-btn--round v-btn--router theme--light v-size--default\"><span class=\"v-btn__content\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-eye theme--light\"></i></span></a> <button type=\"button\" class=\"v-btn v-btn--icon v-btn--round theme--light v-size--default\"><span class=\"v-btn__content\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-delete theme--light\"></i></span></button></div>\n                            </td>\n                          </tr>\n                          <tr class=\"v-data-table__mobile-table-row\">\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\"></div>\n                              <div class=\"v-data-table__mobile-row__cell\">\n                                <div class=\"v-data-table__checkbox v-simple-checkbox\">\n                                  <div class=\"v-input--selection-controls__input\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-checkbox-blank-outline theme--light\"></i>\n                                    <div class=\"v-input--selection-controls__ripple\"></div>\n                                  </div>\n                                </div>\n                              </div>\n                            </td>\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\">Id</div>\n                              <div class=\"v-data-table__mobile-row__cell\">4</div>\n                            </td>\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\">Query time</div>\n                              <div class=\"v-data-table__mobile-row__cell\">4/4/2020, 8:00:00 AM</div>\n                            </td>\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\">Solved</div>\n                              <div class=\"v-data-table__mobile-row__cell\">4</div>\n                            </td>\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\">Submissions</div>\n                              <div class=\"v-data-table__mobile-row__cell\">40</div>\n                            </td>\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\">Actions</div>\n                              <div class=\"v-data-table__mobile-row__cell\"><a href=\"/history/4\" class=\"v-btn v-btn--icon v-btn--round v-btn--router theme--light v-size--default\"><span class=\"v-btn__content\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-eye theme--light\"></i></span></a> <button type=\"button\" class=\"v-btn v-btn--icon v-btn--round theme--light v-size--default\"><span class=\"v-btn__content\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-delete theme--light\"></i></span></button></div>\n                            </td>\n                          </tr>\n                          <tr class=\"v-data-table__mobile-table-row\">\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\"></div>\n                              <div class=\"v-data-table__mobile-row__cell\">\n                                <div class=\"v-data-table__checkbox v-simple-checkbox\">\n                                  <div class=\"v-input--selection-controls__input\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-checkbox-blank-outline theme--light\"></i>\n                                    <div class=\"v-input--selection-controls__ripple\"></div>\n                                  </div>\n                                </div>\n                              </div>\n                            </td>\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\">Id</div>\n                              <div class=\"v-data-table__mobile-row__cell\">3</div>\n                            </td>\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\">Query time</div>\n                              <div class=\"v-data-table__mobile-row__cell\">4/3/2020, 8:00:00 AM</div>\n                            </td>\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\">Solved</div>\n                              <div class=\"v-data-table__mobile-row__cell\">3</div>\n                            </td>\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\">Submissions</div>\n                              <div class=\"v-data-table__mobile-row__cell\">30</div>\n                            </td>\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\">Actions</div>\n                              <div class=\"v-data-table__mobile-row__cell\"><a href=\"/history/3\" class=\"v-btn v-btn--icon v-btn--round v-btn--router theme--light v-size--default\"><span class=\"v-btn__content\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-eye theme--light\"></i></span></a> <button type=\"button\" class=\"v-btn v-btn--icon v-btn--round theme--light v-size--default\"><span class=\"v-btn__content\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-delete theme--light\"></i></span></button></div>\n                            </td>\n                          </tr>\n                          <tr class=\"v-data-table__mobile-table-row\">\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\"></div>\n                              <div class=\"v-data-table__mobile-row__cell\">\n                                <div class=\"v-data-table__checkbox v-simple-checkbox\">\n                                  <div class=\"v-input--selection-controls__input\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-checkbox-blank-outline theme--light\"></i>\n                                    <div class=\"v-input--selection-controls__ripple\"></div>\n                                  </div>\n                                </div>\n                              </div>\n                            </td>\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\">Id</div>\n                              <div class=\"v-data-table__mobile-row__cell\">2</div>\n                            </td>\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\">Query time</div>\n                              <div class=\"v-data-table__mobile-row__cell\">4/2/2020, 8:00:00 AM</div>\n                            </td>\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\">Solved</div>\n                              <div class=\"v-data-table__mobile-row__cell\">2</div>\n                            </td>\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\">Submissions</div>\n                              <div class=\"v-data-table__mobile-row__cell\">20</div>\n                            </td>\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\">Actions</div>\n                              <div class=\"v-data-table__mobile-row__cell\"><a href=\"/history/2\" class=\"v-btn v-btn--icon v-btn--round v-btn--router theme--light v-size--default\"><span class=\"v-btn__content\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-eye theme--light\"></i></span></a> <button type=\"button\" class=\"v-btn v-btn--icon v-btn--round theme--light v-size--default\"><span class=\"v-btn__content\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-delete theme--light\"></i></span></button></div>\n                            </td>\n                          </tr>\n                          <tr class=\"v-data-table__mobile-table-row\">\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\"></div>\n                              <div class=\"v-data-table__mobile-row__cell\">\n                                <div class=\"v-data-table__checkbox v-simple-checkbox\">\n                                  <div class=\"v-input--selection-controls__input\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-checkbox-blank-outline theme--light\"></i>\n                                    <div class=\"v-input--selection-controls__ripple\"></div>\n                                  </div>\n                                </div>\n                              </div>\n                            </td>\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\">Id</div>\n                              <div class=\"v-data-table__mobile-row__cell\">1</div>\n                            </td>\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\">Query time</div>\n                              <div class=\"v-data-table__mobile-row__cell\">4/1/2020, 8:00:00 AM</div>\n                            </td>\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\">Solved</div>\n                              <div class=\"v-data-table__mobile-row__cell\">1</div>\n                            </td>\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\">Submissions</div>\n                              <div class=\"v-data-table__mobile-row__cell\">10</div>\n                            </td>\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\">Actions</div>\n                              <div class=\"v-data-table__mobile-row__cell\"><a href=\"/history/1\" class=\"v-btn v-btn--icon v-btn--round v-btn--router theme--light v-size--default\"><span class=\"v-btn__content\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-eye theme--light\"></i></span></a> <button type=\"button\" class=\"v-btn v-btn--icon v-btn--round theme--light v-size--default\"><span class=\"v-btn__content\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-delete theme--light\"></i></span></button></div>\n                            </td>\n                          </tr>\n                        </tbody>\n                      </table>\n                    </div>\n                    <div class=\"v-data-footer\">\n                      <div class=\"v-data-footer__select\">Rows per page:<div class=\"v-input v-input--hide-details v-input--is-label-active v-input--is-dirty theme--light v-text-field v-select\">\n                          <div class=\"v-input__control\">\n                            <div role=\"button\" aria-haspopup=\"listbox\" aria-expanded=\"false\" class=\"v-input__slot\">\n                              <div class=\"v-select__slot\">\n                                <div class=\"v-select__selections\">\n                                  <div class=\"v-select__selection v-select__selection--comma\">10</div><input aria-label=\"Rows per page:\" readonly=\"readonly\" type=\"text\" aria-readonly=\"false\" autocomplete=\"off\">\n                                </div>\n                                <div class=\"v-input__append-inner\">\n                                  <div class=\"v-input__icon v-input__icon--append\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-menu-down theme--light\"></i></div>\n                                </div><input type=\"hidden\" value=\"10\">\n                              </div>\n                              <div class=\"v-menu\"><!----></div>\n                            </div>\n                          </div>\n                        </div>\n                      </div>\n                      <div class=\"v-data-footer__pagination\">1-10 of 60</div>\n                      <div class=\"v-data-footer__icons-before\"><button type=\"button\" disabled=\"disabled\" aria-label=\"Previous page\" class=\"v-btn v-btn--disabled v-btn--icon v-btn--round v-btn--text theme--light v-size--default\"><span class=\"v-btn__content\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-chevron-left theme--light\"></i></span></button></div>\n                      <div class=\"v-data-footer__icons-after\"><button type=\"button\" aria-label=\"Next page\" class=\"v-btn v-btn--icon v-btn--round v-btn--text theme--light v-size--default\"><span class=\"v-btn__content\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-chevron-right theme--light\"></i></span></button></div>\n                    </div>\n                  </div> <line-chart chart-data=\"[object Object]\" chart-options=\"[object Object]\" style=\"height:300px;\"></line-chart>\n                </div>\n              </div>\n            </main>\n            <footer class=\"v-footer v-sheet theme--light v-footer--absolute v-footer--inset\" style=\"left:0px;right:0px;bottom:0px;\"><span class=\"text-body-2\">© 2018 - 1970 Shumin Liu and Contributors</span></footer>\n            <div class=\"message-panel v-card v-sheet theme--light\" style=\"display:none;\"><v-list class=\"pa-0\"></v-list> <!----></div>\n          </div>\n        </div>\n      </div>\n    </div>\n    <script>\n      window.__NUXT__ = (function(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q) {\n        return {\n          layout: \"default\",\n          data: [{}],\n          fetch: {\n            \"FETCH_KEY\": {\n              data: [{\n                historyId: b,\n                summaryId: b,\n                creationTime: new Date(1586505600000),\n                submission: 100,\n                solved: b\n              }, {\n                historyId: g,\n                summaryId: g,\n                creationTime: new Date(1586419200000),\n                submission: 90,\n                solved: g\n              }, {\n                historyId: h,\n                summaryId: h,\n                creationTime: new Date(1586332800000),\n                submission: 80,\n                solved: h\n              }, {\n                historyId: i,\n                summaryId: i,\n                creationTime: new Date(1586246400000),\n                submission: 70,\n                solved: i\n              }, {\n                historyId: j,\n                summaryId: j,\n                creationTime: new Date(1586160000000),\n                submission: p,\n                solved: j\n              }, {\n                historyId: k,\n                summaryId: k,\n                creationTime: new Date(1586073600000),\n                submission: 50,\n                solved: k\n              }, {\n                historyId: l,\n                summaryId: l,\n                creationTime: new Date(1585987200000),\n                submission: 40,\n                solved: l\n              }, {\n                historyId: m,\n                summaryId: m,\n                creationTime: new Date(1585900800000),\n                submission: 30,\n                solved: m\n              }, {\n                historyId: n,\n                summaryId: n,\n                creationTime: new Date(1585814400000),\n                submission: 20,\n                solved: n\n              }, {\n                historyId: e,\n                summaryId: e,\n                creationTime: new Date(1585728000000),\n                submission: b,\n                solved: e\n              }],\n              loading: f,\n              headers: [{\n                text: \"Id\",\n                value: \"historyId\",\n                align: \"start\"\n              }, {\n                text: \"Query time\",\n                value: \"creationTime\"\n              }, {\n                text: \"Solved\",\n                value: \"solved\"\n              }, {\n                text: \"Submissions\",\n                value: \"submission\"\n              }, {\n                text: \"Actions\",\n                value: \"actions\"\n              }],\n              selected: [],\n              itemsPerPage: b,\n              serverItemsLength: p,\n              page: e,\n              errorMessage: o,\n              chartOptions: {\n                responsive: c,\n                maintainAspectRatio: f,\n                hover: {\n                  mode: \"nearest\",\n                  intersect: c\n                },\n                fill: c,\n                plugins: {\n                  tooltip: {\n                    mode: \"index\",\n                    intersect: f\n                  }\n                }\n              }\n            }\n          },\n          error: o,\n          state: {\n            sidebar: f,\n            message: {\n              list: []\n            },\n            session: {\n              login: c,\n              username: \"admin\",\n              settings: {\n                \"Abp.Localization.DefaultLanguageName\": \"en\",\n                \"Abp.Notifications.ReceiveNotifications\": a,\n                \"Abp.Timing.TimeZone\": \"UTC\",\n                \"Abp.Zero.UserManagement.IsEmailConfirmationRequiredForLogin\": d,\n                \"Abp.Zero.OrganizationUnits.MaxUserMembershipCount\": \"2147483647\",\n                \"Abp.Zero.UserManagement.TwoFactorLogin.IsEnabled\": a,\n                \"Abp.Zero.UserManagement.TwoFactorLogin.IsRememberBrowserEnabled\": a,\n                \"Abp.Zero.UserManagement.TwoFactorLogin.IsEmailProviderEnabled\": a,\n                \"Abp.Zero.UserManagement.TwoFactorLogin.IsSmsProviderEnabled\": a,\n                \"Abp.Zero.UserManagement.UserLockOut.IsEnabled\": a,\n                \"Abp.Zero.UserManagement.UserLockOut.MaxFailedAccessAttemptsBeforeLockout\": \"5\",\n                \"Abp.Zero.UserManagement.UserLockOut.DefaultAccountLockoutSeconds\": \"300\",\n                \"Abp.Zero.UserManagement.PasswordComplexity.RequireDigit\": d,\n                \"Abp.Zero.UserManagement.PasswordComplexity.RequireLowercase\": d,\n                \"Abp.Zero.UserManagement.PasswordComplexity.RequireNonAlphanumeric\": d,\n                \"Abp.Zero.UserManagement.PasswordComplexity.RequireUppercase\": d,\n                \"Abp.Zero.UserManagement.PasswordComplexity.RequiredLength\": \"6\",\n                \"App.UiTheme\": \"red\",\n                \"App.AutoSaveHistory\": a\n              }\n            }\n          },\n          serverRendered: c,\n          routePath: \"\\\\u002Fhistory\\\\u002F\",\n          config: {\n            _app: {\n              basePath: \"\\\\u002F\",\n              assetsPath: \"\\\\u002F_nuxt\\\\u002F\",\n              cdnURL: o\n            }\n          },\n          env: {\n            VERSION_NUM: q,\n            BUILD_TIME: q\n          }\n        }\n      }(\"true\", 10, true, \"false\", 1, false, 9, 8, 7, 6, 5, 4, 3, 2, null, 60, \"0\"));\n    </script>\n\n\n  </body>\n\n</html>\n`;\n\nexports[`/history/{historyId} 1`] = `\n<!DOCTYPE html>\n<html data-n-head-ssr=\"\">\n\n  <head>\n    <meta data-n-head=\"ssr\" charset=\"utf-8\">\n    <meta data-n-head=\"ssr\" name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <meta data-n-head=\"ssr\" data-hid=\"description\" name=\"description\" content=\"An online tool (crawler) to analyze users performance in online judges (coding competition websites). Supported OJ: POJ, HDU, ZOJ, HYSBZ, CodeForces, UVA, ICPC Live Archive, FZU, SPOJ, Timus (URAL), LeetCode_CN, CSU, LibreOJ, 洛谷, 牛客OJ, Lutece (UESTC), AtCoder, AIZU, CodeChef, El Judge, BNUOJ, Codewars, UOJ, NBUT, 51Nod, DMOJ, SDUT OJ, VJudge\">\n    <title>History - OJ Analyzer</title>\n    <link data-n-head=\"ssr\" rel=\"icon\" type=\"image/x-icon\" href=\"/favicon.ico\">\n    <link data-n-head=\"ssr\" rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Noto+Serif+SC:300,400,500,700\">\n    <link data-n-head=\"ssr\" rel=\"stylesheet\" type=\"text/css\" href=\"https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900&amp;display=swap\">\n    <link data-n-head=\"ssr\" rel=\"stylesheet\" type=\"text/css\" href=\"https://cdn.jsdelivr.net/npm/@mdi/font@latest/css/materialdesignicons.min.css\">\n    <style data-n-head=\"vuetify\" type=\"text/css\" id=\"vuetify-theme-stylesheet\" nonce=\"undefined\">\n      .v-application a {\n        color: #1976d2;\n      }\n\n      .v-application .primary {\n        background-color: #1976d2 !important;\n        border-color: #1976d2 !important;\n      }\n\n      .v-application .primary--text {\n        color: #1976d2 !important;\n        caret-color: #1976d2 !important;\n      }\n\n      .v-application .primary.lighten-5 {\n        background-color: #c7fdff !important;\n        border-color: #c7fdff !important;\n      }\n\n      .v-application .primary--text.text--lighten-5 {\n        color: #c7fdff !important;\n        caret-color: #c7fdff !important;\n      }\n\n      .v-application .primary.lighten-4 {\n        background-color: #a8e0ff !important;\n        border-color: #a8e0ff !important;\n      }\n\n      .v-application .primary--text.text--lighten-4 {\n        color: #a8e0ff !important;\n        caret-color: #a8e0ff !important;\n      }\n\n      .v-application .primary.lighten-3 {\n        background-color: #8ac5ff !important;\n        border-color: #8ac5ff !important;\n      }\n\n      .v-application .primary--text.text--lighten-3 {\n        color: #8ac5ff !important;\n        caret-color: #8ac5ff !important;\n      }\n\n      .v-application .primary.lighten-2 {\n        background-color: #6aaaff !important;\n        border-color: #6aaaff !important;\n      }\n\n      .v-application .primary--text.text--lighten-2 {\n        color: #6aaaff !important;\n        caret-color: #6aaaff !important;\n      }\n\n      .v-application .primary.lighten-1 {\n        background-color: #488fef !important;\n        border-color: #488fef !important;\n      }\n\n      .v-application .primary--text.text--lighten-1 {\n        color: #488fef !important;\n        caret-color: #488fef !important;\n      }\n\n      .v-application .primary.darken-1 {\n        background-color: #005eb6 !important;\n        border-color: #005eb6 !important;\n      }\n\n      .v-application .primary--text.text--darken-1 {\n        color: #005eb6 !important;\n        caret-color: #005eb6 !important;\n      }\n\n      .v-application .primary.darken-2 {\n        background-color: #00479b !important;\n        border-color: #00479b !important;\n      }\n\n      .v-application .primary--text.text--darken-2 {\n        color: #00479b !important;\n        caret-color: #00479b !important;\n      }\n\n      .v-application .primary.darken-3 {\n        background-color: #003180 !important;\n        border-color: #003180 !important;\n      }\n\n      .v-application .primary--text.text--darken-3 {\n        color: #003180 !important;\n        caret-color: #003180 !important;\n      }\n\n      .v-application .primary.darken-4 {\n        background-color: #001e67 !important;\n        border-color: #001e67 !important;\n      }\n\n      .v-application .primary--text.text--darken-4 {\n        color: #001e67 !important;\n        caret-color: #001e67 !important;\n      }\n\n      .v-application .secondary {\n        background-color: #bdbdbd !important;\n        border-color: #bdbdbd !important;\n      }\n\n      .v-application .secondary--text {\n        color: #bdbdbd !important;\n        caret-color: #bdbdbd !important;\n      }\n\n      .v-application .secondary.lighten-5 {\n        background-color: #ffffff !important;\n        border-color: #ffffff !important;\n      }\n\n      .v-application .secondary--text.text--lighten-5 {\n        color: #ffffff !important;\n        caret-color: #ffffff !important;\n      }\n\n      .v-application .secondary.lighten-4 {\n        background-color: #ffffff !important;\n        border-color: #ffffff !important;\n      }\n\n      .v-application .secondary--text.text--lighten-4 {\n        color: #ffffff !important;\n        caret-color: #ffffff !important;\n      }\n\n      .v-application .secondary.lighten-3 {\n        background-color: #ffffff !important;\n        border-color: #ffffff !important;\n      }\n\n      .v-application .secondary--text.text--lighten-3 {\n        color: #ffffff !important;\n        caret-color: #ffffff !important;\n      }\n\n      .v-application .secondary.lighten-2 {\n        background-color: #f5f5f5 !important;\n        border-color: #f5f5f5 !important;\n      }\n\n      .v-application .secondary--text.text--lighten-2 {\n        color: #f5f5f5 !important;\n        caret-color: #f5f5f5 !important;\n      }\n\n      .v-application .secondary.lighten-1 {\n        background-color: #d9d9d9 !important;\n        border-color: #d9d9d9 !important;\n      }\n\n      .v-application .secondary--text.text--lighten-1 {\n        color: #d9d9d9 !important;\n        caret-color: #d9d9d9 !important;\n      }\n\n      .v-application .secondary.darken-1 {\n        background-color: #a2a2a2 !important;\n        border-color: #a2a2a2 !important;\n      }\n\n      .v-application .secondary--text.text--darken-1 {\n        color: #a2a2a2 !important;\n        caret-color: #a2a2a2 !important;\n      }\n\n      .v-application .secondary.darken-2 {\n        background-color: #888888 !important;\n        border-color: #888888 !important;\n      }\n\n      .v-application .secondary--text.text--darken-2 {\n        color: #888888 !important;\n        caret-color: #888888 !important;\n      }\n\n      .v-application .secondary.darken-3 {\n        background-color: #6e6e6e !important;\n        border-color: #6e6e6e !important;\n      }\n\n      .v-application .secondary--text.text--darken-3 {\n        color: #6e6e6e !important;\n        caret-color: #6e6e6e !important;\n      }\n\n      .v-application .secondary.darken-4 {\n        background-color: #565656 !important;\n        border-color: #565656 !important;\n      }\n\n      .v-application .secondary--text.text--darken-4 {\n        color: #565656 !important;\n        caret-color: #565656 !important;\n      }\n\n      .v-application .accent {\n        background-color: #448aff !important;\n        border-color: #448aff !important;\n      }\n\n      .v-application .accent--text {\n        color: #448aff !important;\n        caret-color: #448aff !important;\n      }\n\n      .v-application .accent.lighten-5 {\n        background-color: #e8ffff !important;\n        border-color: #e8ffff !important;\n      }\n\n      .v-application .accent--text.text--lighten-5 {\n        color: #e8ffff !important;\n        caret-color: #e8ffff !important;\n      }\n\n      .v-application .accent.lighten-4 {\n        background-color: #c9f7ff !important;\n        border-color: #c9f7ff !important;\n      }\n\n      .v-application .accent--text.text--lighten-4 {\n        color: #c9f7ff !important;\n        caret-color: #c9f7ff !important;\n      }\n\n      .v-application .accent.lighten-3 {\n        background-color: #a9daff !important;\n        border-color: #a9daff !important;\n      }\n\n      .v-application .accent--text.text--lighten-3 {\n        color: #a9daff !important;\n        caret-color: #a9daff !important;\n      }\n\n      .v-application .accent.lighten-2 {\n        background-color: #8abfff !important;\n        border-color: #8abfff !important;\n      }\n\n      .v-application .accent--text.text--lighten-2 {\n        color: #8abfff !important;\n        caret-color: #8abfff !important;\n      }\n\n      .v-application .accent.lighten-1 {\n        background-color: #69a4ff !important;\n        border-color: #69a4ff !important;\n      }\n\n      .v-application .accent--text.text--lighten-1 {\n        color: #69a4ff !important;\n        caret-color: #69a4ff !important;\n      }\n\n      .v-application .accent.darken-1 {\n        background-color: #0171e2 !important;\n        border-color: #0171e2 !important;\n      }\n\n      .v-application .accent--text.text--darken-1 {\n        color: #0171e2 !important;\n        caret-color: #0171e2 !important;\n      }\n\n      .v-application .accent.darken-2 {\n        background-color: #0059c5 !important;\n        border-color: #0059c5 !important;\n      }\n\n      .v-application .accent--text.text--darken-2 {\n        color: #0059c5 !important;\n        caret-color: #0059c5 !important;\n      }\n\n      .v-application .accent.darken-3 {\n        background-color: #0042aa !important;\n        border-color: #0042aa !important;\n      }\n\n      .v-application .accent--text.text--darken-3 {\n        color: #0042aa !important;\n        caret-color: #0042aa !important;\n      }\n\n      .v-application .accent.darken-4 {\n        background-color: #002e8e !important;\n        border-color: #002e8e !important;\n      }\n\n      .v-application .accent--text.text--darken-4 {\n        color: #002e8e !important;\n        caret-color: #002e8e !important;\n      }\n\n      .v-application .error {\n        background-color: #d50000 !important;\n        border-color: #d50000 !important;\n      }\n\n      .v-application .error--text {\n        color: #d50000 !important;\n        caret-color: #d50000 !important;\n      }\n\n      .v-application .error.lighten-5 {\n        background-color: #ffb082 !important;\n        border-color: #ffb082 !important;\n      }\n\n      .v-application .error--text.text--lighten-5 {\n        color: #ffb082 !important;\n        caret-color: #ffb082 !important;\n      }\n\n      .v-application .error.lighten-4 {\n        background-color: #ff9268 !important;\n        border-color: #ff9268 !important;\n      }\n\n      .v-application .error--text.text--lighten-4 {\n        color: #ff9268 !important;\n        caret-color: #ff9268 !important;\n      }\n\n      .v-application .error.lighten-3 {\n        background-color: #ff754e !important;\n        border-color: #ff754e !important;\n      }\n\n      .v-application .error--text.text--lighten-3 {\n        color: #ff754e !important;\n        caret-color: #ff754e !important;\n      }\n\n      .v-application .error.lighten-2 {\n        background-color: #ff5736 !important;\n        border-color: #ff5736 !important;\n      }\n\n      .v-application .error--text.text--lighten-2 {\n        color: #ff5736 !important;\n        caret-color: #ff5736 !important;\n      }\n\n      .v-application .error.lighten-1 {\n        background-color: #f6361d !important;\n        border-color: #f6361d !important;\n      }\n\n      .v-application .error--text.text--lighten-1 {\n        color: #f6361d !important;\n        caret-color: #f6361d !important;\n      }\n\n      .v-application .error.darken-1 {\n        background-color: #b40000 !important;\n        border-color: #b40000 !important;\n      }\n\n      .v-application .error--text.text--darken-1 {\n        color: #b40000 !important;\n        caret-color: #b40000 !important;\n      }\n\n      .v-application .error.darken-2 {\n        background-color: #950000 !important;\n        border-color: #950000 !important;\n      }\n\n      .v-application .error--text.text--darken-2 {\n        color: #950000 !important;\n        caret-color: #950000 !important;\n      }\n\n      .v-application .error.darken-3 {\n        background-color: #770000 !important;\n        border-color: #770000 !important;\n      }\n\n      .v-application .error--text.text--darken-3 {\n        color: #770000 !important;\n        caret-color: #770000 !important;\n      }\n\n      .v-application .error.darken-4 {\n        background-color: #5c0000 !important;\n        border-color: #5c0000 !important;\n      }\n\n      .v-application .error--text.text--darken-4 {\n        color: #5c0000 !important;\n        caret-color: #5c0000 !important;\n      }\n\n      .v-application .info {\n        background-color: #42a5f5 !important;\n        border-color: #42a5f5 !important;\n      }\n\n      .v-application .info--text {\n        color: #42a5f5 !important;\n        caret-color: #42a5f5 !important;\n      }\n\n      .v-application .info.lighten-5 {\n        background-color: #e4ffff !important;\n        border-color: #e4ffff !important;\n      }\n\n      .v-application .info--text.text--lighten-5 {\n        color: #e4ffff !important;\n        caret-color: #e4ffff !important;\n      }\n\n      .v-application .info.lighten-4 {\n        background-color: #c5ffff !important;\n        border-color: #c5ffff !important;\n      }\n\n      .v-application .info--text.text--lighten-4 {\n        color: #c5ffff !important;\n        caret-color: #c5ffff !important;\n      }\n\n      .v-application .info.lighten-3 {\n        background-color: #a6f8ff !important;\n        border-color: #a6f8ff !important;\n      }\n\n      .v-application .info--text.text--lighten-3 {\n        color: #a6f8ff !important;\n        caret-color: #a6f8ff !important;\n      }\n\n      .v-application .info.lighten-2 {\n        background-color: #87dcff !important;\n        border-color: #87dcff !important;\n      }\n\n      .v-application .info--text.text--lighten-2 {\n        color: #87dcff !important;\n        caret-color: #87dcff !important;\n      }\n\n      .v-application .info.lighten-1 {\n        background-color: #66c0ff !important;\n        border-color: #66c0ff !important;\n      }\n\n      .v-application .info--text.text--lighten-1 {\n        color: #66c0ff !important;\n        caret-color: #66c0ff !important;\n      }\n\n      .v-application .info.darken-1 {\n        background-color: #018bd8 !important;\n        border-color: #018bd8 !important;\n      }\n\n      .v-application .info--text.text--darken-1 {\n        color: #018bd8 !important;\n        caret-color: #018bd8 !important;\n      }\n\n      .v-application .info.darken-2 {\n        background-color: #0072bc !important;\n        border-color: #0072bc !important;\n      }\n\n      .v-application .info--text.text--darken-2 {\n        color: #0072bc !important;\n        caret-color: #0072bc !important;\n      }\n\n      .v-application .info.darken-3 {\n        background-color: #0059a1 !important;\n        border-color: #0059a1 !important;\n      }\n\n      .v-application .info--text.text--darken-3 {\n        color: #0059a1 !important;\n        caret-color: #0059a1 !important;\n      }\n\n      .v-application .info.darken-4 {\n        background-color: #004286 !important;\n        border-color: #004286 !important;\n      }\n\n      .v-application .info--text.text--darken-4 {\n        color: #004286 !important;\n        caret-color: #004286 !important;\n      }\n\n      .v-application .success {\n        background-color: #81c784 !important;\n        border-color: #81c784 !important;\n      }\n\n      .v-application .success--text {\n        color: #81c784 !important;\n        caret-color: #81c784 !important;\n      }\n\n      .v-application .success.lighten-5 {\n        background-color: #ffffff !important;\n        border-color: #ffffff !important;\n      }\n\n      .v-application .success--text.text--lighten-5 {\n        color: #ffffff !important;\n        caret-color: #ffffff !important;\n      }\n\n      .v-application .success.lighten-4 {\n        background-color: #f1fff2 !important;\n        border-color: #f1fff2 !important;\n      }\n\n      .v-application .success--text.text--lighten-4 {\n        color: #f1fff2 !important;\n        caret-color: #f1fff2 !important;\n      }\n\n      .v-application .success.lighten-3 {\n        background-color: #d4ffd5 !important;\n        border-color: #d4ffd5 !important;\n      }\n\n      .v-application .success--text.text--lighten-3 {\n        color: #d4ffd5 !important;\n        caret-color: #d4ffd5 !important;\n      }\n\n      .v-application .success.lighten-2 {\n        background-color: #b8ffba !important;\n        border-color: #b8ffba !important;\n      }\n\n      .v-application .success--text.text--lighten-2 {\n        color: #b8ffba !important;\n        caret-color: #b8ffba !important;\n      }\n\n      .v-application .success.lighten-1 {\n        background-color: #9ce39e !important;\n        border-color: #9ce39e !important;\n      }\n\n      .v-application .success--text.text--lighten-1 {\n        color: #9ce39e !important;\n        caret-color: #9ce39e !important;\n      }\n\n      .v-application .success.darken-1 {\n        background-color: #66ab6a !important;\n        border-color: #66ab6a !important;\n      }\n\n      .v-application .success--text.text--darken-1 {\n        color: #66ab6a !important;\n        caret-color: #66ab6a !important;\n      }\n\n      .v-application .success.darken-2 {\n        background-color: #4c9152 !important;\n        border-color: #4c9152 !important;\n      }\n\n      .v-application .success--text.text--darken-2 {\n        color: #4c9152 !important;\n        caret-color: #4c9152 !important;\n      }\n\n      .v-application .success.darken-3 {\n        background-color: #31773a !important;\n        border-color: #31773a !important;\n      }\n\n      .v-application .success--text.text--darken-3 {\n        color: #31773a !important;\n        caret-color: #31773a !important;\n      }\n\n      .v-application .success.darken-4 {\n        background-color: #145d23 !important;\n        border-color: #145d23 !important;\n      }\n\n      .v-application .success--text.text--darken-4 {\n        color: #145d23 !important;\n        caret-color: #145d23 !important;\n      }\n\n      .v-application .warning {\n        background-color: #ffa000 !important;\n        border-color: #ffa000 !important;\n      }\n\n      .v-application .warning--text {\n        color: #ffa000 !important;\n        caret-color: #ffa000 !important;\n      }\n\n      .v-application .warning.lighten-5 {\n        background-color: #ffffa4 !important;\n        border-color: #ffffa4 !important;\n      }\n\n      .v-application .warning--text.text--lighten-5 {\n        color: #ffffa4 !important;\n        caret-color: #ffffa4 !important;\n      }\n\n      .v-application .warning.lighten-4 {\n        background-color: #ffff87 !important;\n        border-color: #ffff87 !important;\n      }\n\n      .v-application .warning--text.text--lighten-4 {\n        color: #ffff87 !important;\n        caret-color: #ffff87 !important;\n      }\n\n      .v-application .warning.lighten-3 {\n        background-color: #fff36b !important;\n        border-color: #fff36b !important;\n      }\n\n      .v-application .warning--text.text--lighten-3 {\n        color: #fff36b !important;\n        caret-color: #fff36b !important;\n      }\n\n      .v-application .warning.lighten-2 {\n        background-color: #ffd74e !important;\n        border-color: #ffd74e !important;\n      }\n\n      .v-application .warning--text.text--lighten-2 {\n        color: #ffd74e !important;\n        caret-color: #ffd74e !important;\n      }\n\n      .v-application .warning.lighten-1 {\n        background-color: #ffbb30 !important;\n        border-color: #ffbb30 !important;\n      }\n\n      .v-application .warning--text.text--lighten-1 {\n        color: #ffbb30 !important;\n        caret-color: #ffbb30 !important;\n      }\n\n      .v-application .warning.darken-1 {\n        background-color: #df8600 !important;\n        border-color: #df8600 !important;\n      }\n\n      .v-application .warning--text.text--darken-1 {\n        color: #df8600 !important;\n        caret-color: #df8600 !important;\n      }\n\n      .v-application .warning.darken-2 {\n        background-color: #c06c00 !important;\n        border-color: #c06c00 !important;\n      }\n\n      .v-application .warning--text.text--darken-2 {\n        color: #c06c00 !important;\n        caret-color: #c06c00 !important;\n      }\n\n      .v-application .warning.darken-3 {\n        background-color: #a15400 !important;\n        border-color: #a15400 !important;\n      }\n\n      .v-application .warning--text.text--darken-3 {\n        color: #a15400 !important;\n        caret-color: #a15400 !important;\n      }\n\n      .v-application .warning.darken-4 {\n        background-color: #843c00 !important;\n        border-color: #843c00 !important;\n      }\n\n      .v-application .warning--text.text--darken-4 {\n        color: #843c00 !important;\n        caret-color: #843c00 !important;\n      }\n    </style>\n  </head>\n\n  <body>\n    <script>\n      (window.ActiveXObject || \"ActiveXObject\" in window) && alert(\"本网站不支持IE或IE内核的浏览器，建议您使用火狐浏览器、谷歌浏览器或微软的Edge浏览器（Windows10自带）\")\n    </script>\n    <div id=\"__nuxt\"><!---->\n      <div id=\"__layout\">\n        <div data-app=\"true\" id=\"app\" class=\"v-application v-application--is-ltr theme--light\">\n          <div class=\"v-application--wrap\">\n            <nav class=\"v-navigation-drawer v-navigation-drawer--close v-navigation-drawer--fixed v-navigation-drawer--is-mobile theme--light\" style=\"height:100vh;top:0px;transform:translateX(-100%);width:256px;\">\n              <div class=\"v-navigation-drawer__content\">\n                <div class=\"v-list v-sheet theme--light\"><a href=\"/\" tabindex=\"0\" class=\"v-list-item v-list-item--link theme--light\">\n                    <div class=\"v-list-item__action\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-home theme--light\"></i></div>\n                    <div class=\"v-list-item__content\">\n                      <div class=\"v-list-item__title\">Homepage</div>\n                    </div>\n                  </a><a href=\"/statistics\" tabindex=\"0\" class=\"v-list-item v-list-item--link theme--light\">\n                    <div class=\"v-list-item__action\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-code-tags theme--light\"></i></div>\n                    <div class=\"v-list-item__content\">\n                      <div class=\"v-list-item__title\">Statistics</div>\n                    </div>\n                  </a><a href=\"/history\" tabindex=\"0\" class=\"v-list-item v-list-item--link theme--light\">\n                    <div class=\"v-list-item__action\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-history theme--light\"></i></div>\n                    <div class=\"v-list-item__content\">\n                      <div class=\"v-list-item__title\">History</div>\n                    </div>\n                  </a><a href=\"/settings\" tabindex=\"0\" class=\"v-list-item v-list-item--link theme--light\">\n                    <div class=\"v-list-item__action\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-cog theme--light\"></i></div>\n                    <div class=\"v-list-item__content\">\n                      <div class=\"v-list-item__title\">Settings</div>\n                    </div>\n                  </a><a href=\"/about\" tabindex=\"0\" class=\"v-list-item v-list-item--link theme--light\">\n                    <div class=\"v-list-item__action\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-information theme--light\"></i></div>\n                    <div class=\"v-list-item__content\">\n                      <div class=\"v-list-item__title\">About</div>\n                    </div>\n                  </a></div>\n              </div>\n              <div class=\"v-navigation-drawer__border\"></div>\n            </nav>\n            <header class=\"v-sheet theme--light v-toolbar v-toolbar--absolute v-app-bar\" style=\"height:56px;margin-top:0px;transform:translateY(0px);left:0px;right:0px;\">\n              <div class=\"v-toolbar__content\" style=\"height:56px;\"><button type=\"button\" class=\"v-app-bar__nav-icon v-btn v-btn--icon v-btn--round theme--light v-size--default\"><span class=\"v-btn__content\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-menu theme--light\"></i></span></button> <!---->\n                <div class=\"v-toolbar__title\">OJ Analyzer</div> <!----> <!---->\n                <div class=\"spacer\"></div> <!----> <!----> <span class=\"v-tooltip v-tooltip--bottom\"><!----><button type=\"button\" class=\"v-btn v-btn--text theme--light v-size--default\"><span class=\"v-btn__content\"><i aria-hidden=\"true\" class=\"v-icon notranslate v-icon--left mdi mdi-login theme--light\" style=\"display:none;\"></i> admin\n    </span></button></span> <span class=\"v-tooltip v-tooltip--left\"><!----><a href=\"https://github.com/Liu233w/acm-statistics\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"v-btn v-btn--icon v-btn--round theme--light v-size--default\"><span class=\"v-btn__content\"><i aria-hidden=\"true\" medium=\"\" class=\"v-icon notranslate mdi mdi-github theme--light\"></i></span></a></span>\n              </div>\n            </header>\n            <main class=\"v-main v-content\" style=\"padding-top:56px;padding-right:0px;padding-bottom:0px;padding-left:0px;\">\n              <div class=\"v-main__wrap v-content__wrap\">\n                <div id=\"history-summary\" class=\"container\">\n                  <div role=\"list\" class=\"v-list v-sheet theme--light\">\n                    <div tabindex=\"-1\" role=\"listitem\" class=\"v-list-item theme--light\">\n                      <div class=\"v-list-item__content\">\n                        <div class=\"v-list-item__title\"><strong>Main username:</strong> wwwlsmcom</div>\n                      </div>\n                    </div>\n                    <div tabindex=\"-1\" role=\"listitem\" class=\"v-list-item theme--light\">\n                      <div class=\"v-list-item__content\">\n                        <div class=\"v-list-item__title\"><strong>SOLVED:</strong> 193</div>\n                      </div>\n                    </div>\n                    <div tabindex=\"-1\" role=\"listitem\" class=\"v-list-item theme--light\">\n                      <div class=\"v-list-item__content\">\n                        <div class=\"v-list-item__title\"><strong>SUBMISSION:</strong> 785</div>\n                      </div>\n                    </div>\n                    <div tabindex=\"-1\" role=\"listitem\" class=\"v-list-item theme--light\">\n                      <div class=\"v-list-item__content\">\n                        <div class=\"v-list-item__title\"><strong>Generated at</strong> Sat Jul 11 2020 04:15:22 GMT+0000 (Coordinated Universal Time)</div>\n                      </div>\n                    </div>\n                  </div>\n                  <div class=\"v-data-table theme--light v-data-table--mobile\">\n                    <div class=\"v-data-table__wrapper\">\n                      <table>\n                        <colgroup>\n                          <col>\n                          <col>\n                          <col>\n                          <col>\n                        </colgroup>\n                        <thead class=\"v-data-table-header v-data-table-header-mobile\">\n                          <tr>\n                            <th>\n                              <div class=\"v-data-table-header-mobile__wrapper\">\n                                <div class=\"v-input v-input--hide-details theme--light v-text-field v-select\">\n                                  <div class=\"v-input__control\">\n                                    <div role=\"button\" aria-haspopup=\"listbox\" aria-expanded=\"false\" class=\"v-input__slot\">\n                                      <div class=\"v-select__slot\"><label class=\"v-label theme--light\" style=\"left:0px;right:auto;position:absolute;\">Sort by</label>\n                                        <div class=\"v-select__selections\"><input readonly=\"readonly\" type=\"text\" aria-readonly=\"false\" autocomplete=\"off\"></div>\n                                        <div class=\"v-input__append-inner\">\n                                          <div class=\"v-input__icon v-input__icon--append\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-menu-down theme--light\"></i></div>\n                                        </div><input type=\"hidden\">\n                                      </div>\n                                      <div class=\"v-menu\"><!----></div>\n                                    </div>\n                                  </div>\n                                </div>\n                              </div>\n                            </th>\n                          </tr>\n                        </thead>\n                        <tbody>\n                          <tr class=\"v-data-table__mobile-table-row\">\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\">Crawler</div>\n                              <div class=\"v-data-table__mobile-row__cell\">VJudge (Not Merged)</div>\n                            </td>\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\">Username</div>\n                              <div class=\"v-data-table__mobile-row__cell\">wwwlsmcom</div>\n                            </td>\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\">Solved</div>\n                              <div class=\"v-data-table__mobile-row__cell\">1</div>\n                            </td>\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\">Submission</div>\n                              <div class=\"v-data-table__mobile-row__cell\">1</div>\n                            </td>\n                          </tr>\n                          <tr class=\"v-data-table__mobile-table-row\">\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\">Crawler</div>\n                              <div class=\"v-data-table__mobile-row__cell\">CodeChef</div>\n                            </td>\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\">Username</div>\n                              <div class=\"v-data-table__mobile-row__cell\">[wwwlsmcom in VJudge]</div>\n                            </td>\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\">Solved</div>\n                              <div class=\"v-data-table__mobile-row__cell\">1</div>\n                            </td>\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\">Submission</div>\n                              <div class=\"v-data-table__mobile-row__cell\">5</div>\n                            </td>\n                          </tr>\n                          <tr class=\"v-data-table__mobile-table-row\">\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\">Crawler</div>\n                              <div class=\"v-data-table__mobile-row__cell\">LeetCode_CN</div>\n                            </td>\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\">Username</div>\n                              <div class=\"v-data-table__mobile-row__cell\">wwwlsmcom</div>\n                            </td>\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\">Solved</div>\n                              <div class=\"v-data-table__mobile-row__cell\">3</div>\n                            </td>\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\">Submission</div>\n                              <div class=\"v-data-table__mobile-row__cell\">9</div>\n                            </td>\n                          </tr>\n                          <tr class=\"v-data-table__mobile-table-row\">\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\">Crawler</div>\n                              <div class=\"v-data-table__mobile-row__cell\">Timus (URAL)</div>\n                            </td>\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\">Username</div>\n                              <div class=\"v-data-table__mobile-row__cell\">[wwwlsmcom in VJudge]</div>\n                            </td>\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\">Solved</div>\n                              <div class=\"v-data-table__mobile-row__cell\">2</div>\n                            </td>\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\">Submission</div>\n                              <div class=\"v-data-table__mobile-row__cell\">6</div>\n                            </td>\n                          </tr>\n                          <tr class=\"v-data-table__mobile-table-row\">\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\">Crawler</div>\n                              <div class=\"v-data-table__mobile-row__cell\">FZU</div>\n                            </td>\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\">Username</div>\n                              <div class=\"v-data-table__mobile-row__cell\">[wwwlsmcom in VJudge]</div>\n                            </td>\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\">Solved</div>\n                              <div class=\"v-data-table__mobile-row__cell\">1</div>\n                            </td>\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\">Submission</div>\n                              <div class=\"v-data-table__mobile-row__cell\">5</div>\n                            </td>\n                          </tr>\n                          <tr class=\"v-data-table__mobile-table-row\">\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\">Crawler</div>\n                              <div class=\"v-data-table__mobile-row__cell\">ICPC Live Archive</div>\n                            </td>\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\">Username</div>\n                              <div class=\"v-data-table__mobile-row__cell\">[wwwlsmcom in VJudge]</div>\n                            </td>\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\">Solved</div>\n                              <div class=\"v-data-table__mobile-row__cell\">1</div>\n                            </td>\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\">Submission</div>\n                              <div class=\"v-data-table__mobile-row__cell\">1</div>\n                            </td>\n                          </tr>\n                          <tr class=\"v-data-table__mobile-table-row\">\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\">Crawler</div>\n                              <div class=\"v-data-table__mobile-row__cell\">UVA</div>\n                            </td>\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\">Username</div>\n                              <div class=\"v-data-table__mobile-row__cell\">[wwwlsmcom in VJudge]</div>\n                            </td>\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\">Solved</div>\n                              <div class=\"v-data-table__mobile-row__cell\">11</div>\n                            </td>\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\">Submission</div>\n                              <div class=\"v-data-table__mobile-row__cell\">28</div>\n                            </td>\n                          </tr>\n                          <tr class=\"v-data-table__mobile-table-row\">\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\">Crawler</div>\n                              <div class=\"v-data-table__mobile-row__cell\">CodeForces</div>\n                            </td>\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\">Username</div>\n                              <div class=\"v-data-table__mobile-row__cell\">[wwwlsmcom in VJudge]</div>\n                            </td>\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\">Solved</div>\n                              <div class=\"v-data-table__mobile-row__cell\">6</div>\n                            </td>\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\">Submission</div>\n                              <div class=\"v-data-table__mobile-row__cell\">15</div>\n                            </td>\n                          </tr>\n                          <tr class=\"v-data-table__mobile-table-row\">\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\">Crawler</div>\n                              <div class=\"v-data-table__mobile-row__cell\">HYSBZ</div>\n                            </td>\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\">Username</div>\n                              <div class=\"v-data-table__mobile-row__cell\">[wwwlsmcom in VJudge]</div>\n                            </td>\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\">Solved</div>\n                              <div class=\"v-data-table__mobile-row__cell\">0</div>\n                            </td>\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\">Submission</div>\n                              <div class=\"v-data-table__mobile-row__cell\">5</div>\n                            </td>\n                          </tr>\n                          <tr class=\"v-data-table__mobile-table-row\">\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\">Crawler</div>\n                              <div class=\"v-data-table__mobile-row__cell\">HDU</div>\n                            </td>\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\">Username</div>\n                              <div class=\"v-data-table__mobile-row__cell\">[wwwlsmcom in VJudge], wwwlsmcom</div>\n                            </td>\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\">Solved</div>\n                              <div class=\"v-data-table__mobile-row__cell\">108</div>\n                            </td>\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\">Submission</div>\n                              <div class=\"v-data-table__mobile-row__cell\">385</div>\n                            </td>\n                          </tr>\n                          <tr class=\"v-data-table__mobile-table-row\">\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\">Crawler</div>\n                              <div class=\"v-data-table__mobile-row__cell\">POJ</div>\n                            </td>\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\">Username</div>\n                              <div class=\"v-data-table__mobile-row__cell\">[wwwlsmcom in VJudge]</div>\n                            </td>\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\">Solved</div>\n                              <div class=\"v-data-table__mobile-row__cell\">59</div>\n                            </td>\n                            <td class=\"v-data-table__mobile-row\">\n                              <div class=\"v-data-table__mobile-row__header\">Submission</div>\n                              <div class=\"v-data-table__mobile-row__cell\">325</div>\n                            </td>\n                          </tr>\n                        </tbody>\n                      </table>\n                    </div>\n                  </div> <bar-chart chart-data=\"[object Object]\" chart-options=\"[object Object]\" style=\"height:300px;\"></bar-chart>\n                  <div role=\"list\" class=\"v-list v-sheet theme--light v-list--dense\">\n                    <div class=\"v-subheader red--text theme--light\">\n                      WARNINGS\n                    </div>\n                    <div tabindex=\"-1\" role=\"listitem\" class=\"v-list-item theme--light\">\n                      <div class=\"v-list-item__content\">\n                        LeetCode_CN:\n                        This crawler does not have a solved list and its result will be directly added to summary.\n                      </div>\n                    </div>\n                  </div>\n                </div>\n              </div>\n            </main>\n            <footer class=\"v-footer v-sheet theme--light v-footer--absolute v-footer--inset\" style=\"left:0px;right:0px;bottom:0px;\"><span class=\"text-body-2\">© 2018 - 1970 Shumin Liu and Contributors</span></footer>\n            <div class=\"message-panel v-card v-sheet theme--light\" style=\"display:none;\"><v-list class=\"pa-0\"></v-list> <!----></div>\n          </div>\n        </div>\n      </div>\n    </div>\n    <script>\n      window.__NUXT__ = (function(a, b, c, d, e, f, g, h, i, j, k, l) {\n        return {\n          layout: \"default\",\n          data: [{}],\n          fetch: {\n            \"FETCH_KEY\": {\n              summary: {\n                queryHistoryId: e,\n                generateTime: new Date(1594440922010),\n                mainUsername: b,\n                queryCrawlerSummaries: [{\n                  crawlerName: d,\n                  submission: e,\n                  solved: e,\n                  usernames: [{\n                    fromCrawlerName: a,\n                    username: b\n                  }],\n                  isVirtualJudge: f\n                }, {\n                  crawlerName: \"codechef\",\n                  submission: i,\n                  solved: e,\n                  usernames: [{\n                    fromCrawlerName: d,\n                    username: b\n                  }],\n                  isVirtualJudge: c\n                }, {\n                  crawlerName: j,\n                  submission: 9,\n                  solved: 3,\n                  usernames: [{\n                    fromCrawlerName: a,\n                    username: b\n                  }],\n                  isVirtualJudge: c\n                }, {\n                  crawlerName: \"timus\",\n                  submission: k,\n                  solved: 2,\n                  usernames: [{\n                    fromCrawlerName: d,\n                    username: b\n                  }],\n                  isVirtualJudge: c\n                }, {\n                  crawlerName: \"fzu\",\n                  submission: i,\n                  solved: e,\n                  usernames: [{\n                    fromCrawlerName: d,\n                    username: b\n                  }],\n                  isVirtualJudge: c\n                }, {\n                  crawlerName: \"uvalive\",\n                  submission: e,\n                  solved: e,\n                  usernames: [{\n                    fromCrawlerName: d,\n                    username: b\n                  }],\n                  isVirtualJudge: c\n                }, {\n                  crawlerName: \"uva\",\n                  submission: 28,\n                  solved: 11,\n                  usernames: [{\n                    fromCrawlerName: d,\n                    username: b\n                  }],\n                  isVirtualJudge: c\n                }, {\n                  crawlerName: \"codeforces\",\n                  submission: 15,\n                  solved: k,\n                  usernames: [{\n                    fromCrawlerName: d,\n                    username: b\n                  }],\n                  isVirtualJudge: c\n                }, {\n                  crawlerName: \"dashiye\",\n                  submission: i,\n                  solved: 0,\n                  usernames: [{\n                    fromCrawlerName: d,\n                    username: b\n                  }],\n                  isVirtualJudge: c\n                }, {\n                  crawlerName: \"hdu\",\n                  submission: 385,\n                  solved: 108,\n                  usernames: [{\n                    fromCrawlerName: d,\n                    username: b\n                  }, {\n                    fromCrawlerName: a,\n                    username: b\n                  }],\n                  isVirtualJudge: c\n                }, {\n                  crawlerName: \"poj\",\n                  submission: 325,\n                  solved: 59,\n                  usernames: [{\n                    fromCrawlerName: d,\n                    username: b\n                  }],\n                  isVirtualJudge: c\n                }],\n                summaryWarnings: [{\n                  crawlerName: j,\n                  content: \"This crawler does not have a solved list and its result will be directly added to summary.\"\n                }],\n                submission: 785,\n                solved: 193\n              },\n              summaryError: a,\n              crawlers: {\n                poj: {\n                  title: \"POJ\",\n                  description: a,\n                  url: \"http:\\\\u002F\\\\u002Fpoj.org\\\\u002F\"\n                },\n                hdu: {\n                  title: \"HDU\",\n                  description: a,\n                  url: \"http:\\\\u002F\\\\u002Facm.hdu.edu.cn\\\\u002F\"\n                },\n                zoj: {\n                  title: \"ZOJ\",\n                  description: \"Only nickname is supported (Only historical data are available since crawlers are prohibited by Pintia)\",\n                  url: \"https:\\\\u002F\\\\u002Fzoj.pintia.cn\\\\u002F\"\n                },\n                dashiye: {\n                  title: \"HYSBZ\",\n                  description: a,\n                  url: \"http:\\\\u002F\\\\u002Fwww.lydsy.com\\\\u002FJudgeOnline\\\\u002F\"\n                },\n                codeforces: {\n                  title: \"CodeForces\",\n                  description: \"Including CodeForces::Gym\",\n                  url: \"http:\\\\u002F\\\\u002Fcodeforces.com\\\\u002F\"\n                },\n                uva: {\n                  title: \"UVA\",\n                  description: a,\n                  url: \"https:\\\\u002F\\\\u002Fuva.onlinejudge.org\\\\u002F\"\n                },\n                uvalive: {\n                  title: \"ICPC Live Archive\",\n                  description: a,\n                  url: \"https:\\\\u002F\\\\u002Ficpcarchive.ecs.baylor.edu\\\\u002Findex.php\"\n                },\n                fzu: {\n                  title: \"FZU\",\n                  description: a,\n                  url: \"http:\\\\u002F\\\\u002Facm.fzu.edu.cn\\\\u002Findex.php\"\n                },\n                spoj: {\n                  title: \"SPOJ\",\n                  description: a,\n                  url: \"http:\\\\u002F\\\\u002Fwww.spoj.com\\\\u002F\"\n                },\n                timus: {\n                  title: \"Timus (URAL)\",\n                  description: a,\n                  url: \"http:\\\\u002F\\\\u002Facm.timus.ru\\\\u002F\"\n                },\n                leetcode_cn: {\n                  title: \"LeetCode_CN\",\n                  description: a,\n                  url: \"https:\\\\u002F\\\\u002Fleetcode.cn\"\n                },\n                csu: {\n                  title: \"CSU\",\n                  description: a,\n                  url: \"http:\\\\u002F\\\\u002Facm.csu.edu.cn\\\\u002F\"\n                },\n                loj: {\n                  title: \"LibreOJ\",\n                  description: a,\n                  url: \"https:\\\\u002F\\\\u002Floj.ac\\\\u002F\"\n                },\n                luogu: {\n                  title: \"洛谷\",\n                  description: \"Both username and user_id are supported\",\n                  url: \"https:\\\\u002F\\\\u002Fwww.luogu.com.cn\"\n                },\n                nowcoder: {\n                  title: \"牛客OJ\",\n                  description: \"目前只支持输入用户ID（在你的AC列表的URL中）\",\n                  url: \"https:\\\\u002F\\\\u002Fac.nowcoder.com\\\\u002Facm\\\\u002Fhome\"\n                },\n                uestc: {\n                  title: \"Lutece (UESTC)\",\n                  description: a,\n                  url: \"https:\\\\u002F\\\\u002Facm.uestc.edu.cn\\\\u002Fhome\"\n                },\n                atcoder: {\n                  title: \"AtCoder\",\n                  description: \"API provided by kenkoooo (https:\\\\u002F\\\\u002Fgithub.com\\\\u002Fkenkoooo\\\\u002FAtCoderProblems).\\\\nOnly AC number is supported\\\\n\",\n                  url: \"https:\\\\u002F\\\\u002Fatcoder.jp\"\n                },\n                aizu: {\n                  title: \"AIZU\",\n                  description: a,\n                  url: \"http:\\\\u002F\\\\u002Fjudge.u-aizu.ac.jp\\\\u002Fonlinejudge\\\\u002Findex.jsp\"\n                },\n                codechef: {\n                  title: \"CodeChef\",\n                  description: a,\n                  url: \"https:\\\\u002F\\\\u002Fwww.codechef.com\\\\u002F\"\n                },\n                eljudge: {\n                  title: \"El Judge\",\n                  description: a,\n                  url: \"http:\\\\u002F\\\\u002Facm.mipt.ru\"\n                },\n                bnu: {\n                  title: \"BNUOJ\",\n                  description: a,\n                  url: \"http:\\\\u002F\\\\u002Fwww.bnuoj.com\"\n                },\n                codewars: {\n                  title: \"Codewars\",\n                  description: \"Currently it does not have submission number.\\\\nUsername is case sensitive.\\\\n\",\n                  url: \"https:\\\\u002F\\\\u002Fwww.codewars.com\"\n                },\n                uoj: {\n                  title: \"UOJ\",\n                  description: a,\n                  url: \"http:\\\\u002F\\\\u002Fuoj.ac\\\\u002F\"\n                },\n                nbut: {\n                  title: \"NBUT\",\n                  description: a,\n                  url: \"https:\\\\u002F\\\\u002Fac.2333.moe\\\\u002F\"\n                },\n                nod: {\n                  title: \"51Nod\",\n                  description: \"Please use your nickname (displayed in your home page)\",\n                  url: \"https:\\\\u002F\\\\u002Fwww.51nod.com\"\n                },\n                dmoj: {\n                  title: \"DMOJ\",\n                  description: a,\n                  url: \"https:\\\\u002F\\\\u002Fdmoj.ca\\\\u002F\"\n                },\n                sdutoj: {\n                  title: \"SDUT OJ\",\n                  description: a,\n                  url: \"https:\\\\u002F\\\\u002Foj.sdutacm.cn\\\\u002F\"\n                },\n                vjudge: {\n                  title: \"VJudge\",\n                  description: \"virtual judge，这个OJ的题量是单独计算的\",\n                  url: \"https:\\\\u002F\\\\u002Fvjudge.net\\\\u002F\",\n                  virtual_judge: f\n                }\n              },\n              tableHeaders: [{\n                text: \"Crawler\",\n                value: \"crawler\",\n                sortable: f\n              }, {\n                text: \"Username\",\n                value: \"username\",\n                sortable: c\n              }, {\n                text: \"Solved\",\n                value: \"solved\",\n                sortable: f\n              }, {\n                text: \"Submission\",\n                value: \"submissions\",\n                sortable: f\n              }]\n            }\n          },\n          error: a,\n          state: {\n            sidebar: c,\n            message: {\n              list: []\n            },\n            session: {\n              login: f,\n              username: \"admin\",\n              settings: {\n                \"Abp.Localization.DefaultLanguageName\": \"en\",\n                \"Abp.Notifications.ReceiveNotifications\": g,\n                \"Abp.Timing.TimeZone\": \"UTC\",\n                \"Abp.Zero.UserManagement.IsEmailConfirmationRequiredForLogin\": h,\n                \"Abp.Zero.OrganizationUnits.MaxUserMembershipCount\": \"2147483647\",\n                \"Abp.Zero.UserManagement.TwoFactorLogin.IsEnabled\": g,\n                \"Abp.Zero.UserManagement.TwoFactorLogin.IsRememberBrowserEnabled\": g,\n                \"Abp.Zero.UserManagement.TwoFactorLogin.IsEmailProviderEnabled\": g,\n                \"Abp.Zero.UserManagement.TwoFactorLogin.IsSmsProviderEnabled\": g,\n                \"Abp.Zero.UserManagement.UserLockOut.IsEnabled\": g,\n                \"Abp.Zero.UserManagement.UserLockOut.MaxFailedAccessAttemptsBeforeLockout\": \"5\",\n                \"Abp.Zero.UserManagement.UserLockOut.DefaultAccountLockoutSeconds\": \"300\",\n                \"Abp.Zero.UserManagement.PasswordComplexity.RequireDigit\": h,\n                \"Abp.Zero.UserManagement.PasswordComplexity.RequireLowercase\": h,\n                \"Abp.Zero.UserManagement.PasswordComplexity.RequireNonAlphanumeric\": h,\n                \"Abp.Zero.UserManagement.PasswordComplexity.RequireUppercase\": h,\n                \"Abp.Zero.UserManagement.PasswordComplexity.RequiredLength\": \"6\",\n                \"App.UiTheme\": \"red\",\n                \"App.AutoSaveHistory\": g\n              }\n            }\n          },\n          serverRendered: f,\n          routePath: \"\\\\u002Fhistory\\\\u002F1\",\n          config: {\n            _app: {\n              basePath: \"\\\\u002F\",\n              assetsPath: \"\\\\u002F_nuxt\\\\u002F\",\n              cdnURL: a\n            }\n          },\n          env: {\n            VERSION_NUM: l,\n            BUILD_TIME: l\n          }\n        }\n      }(null, \"wwwlsmcom\", false, \"vjudge\", 1, true, \"true\", \"false\", 5, \"leetcode_cn\", 6, \"0\"));\n    </script>\n\n\n  </body>\n\n</html>\n`;\n\nexports[`/login 1`] = `\n<!DOCTYPE html>\n<html data-n-head-ssr=\"\">\n\n  <head>\n    <meta data-n-head=\"ssr\" charset=\"utf-8\">\n    <meta data-n-head=\"ssr\" name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <meta data-n-head=\"ssr\" data-hid=\"description\" name=\"description\" content=\"An online tool (crawler) to analyze users performance in online judges (coding competition websites). Supported OJ: POJ, HDU, ZOJ, HYSBZ, CodeForces, UVA, ICPC Live Archive, FZU, SPOJ, Timus (URAL), LeetCode_CN, CSU, LibreOJ, 洛谷, 牛客OJ, Lutece (UESTC), AtCoder, AIZU, CodeChef, El Judge, BNUOJ, Codewars, UOJ, NBUT, 51Nod, DMOJ, SDUT OJ, VJudge\">\n    <title>OJ Analyzer</title>\n    <link data-n-head=\"ssr\" rel=\"icon\" type=\"image/x-icon\" href=\"/favicon.ico\">\n    <link data-n-head=\"ssr\" rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Noto+Serif+SC:300,400,500,700\">\n    <link data-n-head=\"ssr\" rel=\"stylesheet\" type=\"text/css\" href=\"https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900&amp;display=swap\">\n    <link data-n-head=\"ssr\" rel=\"stylesheet\" type=\"text/css\" href=\"https://cdn.jsdelivr.net/npm/@mdi/font@latest/css/materialdesignicons.min.css\">\n    <style data-n-head=\"vuetify\" type=\"text/css\" id=\"vuetify-theme-stylesheet\" nonce=\"undefined\">\n      .v-application a {\n        color: #1976d2;\n      }\n\n      .v-application .primary {\n        background-color: #1976d2 !important;\n        border-color: #1976d2 !important;\n      }\n\n      .v-application .primary--text {\n        color: #1976d2 !important;\n        caret-color: #1976d2 !important;\n      }\n\n      .v-application .primary.lighten-5 {\n        background-color: #c7fdff !important;\n        border-color: #c7fdff !important;\n      }\n\n      .v-application .primary--text.text--lighten-5 {\n        color: #c7fdff !important;\n        caret-color: #c7fdff !important;\n      }\n\n      .v-application .primary.lighten-4 {\n        background-color: #a8e0ff !important;\n        border-color: #a8e0ff !important;\n      }\n\n      .v-application .primary--text.text--lighten-4 {\n        color: #a8e0ff !important;\n        caret-color: #a8e0ff !important;\n      }\n\n      .v-application .primary.lighten-3 {\n        background-color: #8ac5ff !important;\n        border-color: #8ac5ff !important;\n      }\n\n      .v-application .primary--text.text--lighten-3 {\n        color: #8ac5ff !important;\n        caret-color: #8ac5ff !important;\n      }\n\n      .v-application .primary.lighten-2 {\n        background-color: #6aaaff !important;\n        border-color: #6aaaff !important;\n      }\n\n      .v-application .primary--text.text--lighten-2 {\n        color: #6aaaff !important;\n        caret-color: #6aaaff !important;\n      }\n\n      .v-application .primary.lighten-1 {\n        background-color: #488fef !important;\n        border-color: #488fef !important;\n      }\n\n      .v-application .primary--text.text--lighten-1 {\n        color: #488fef !important;\n        caret-color: #488fef !important;\n      }\n\n      .v-application .primary.darken-1 {\n        background-color: #005eb6 !important;\n        border-color: #005eb6 !important;\n      }\n\n      .v-application .primary--text.text--darken-1 {\n        color: #005eb6 !important;\n        caret-color: #005eb6 !important;\n      }\n\n      .v-application .primary.darken-2 {\n        background-color: #00479b !important;\n        border-color: #00479b !important;\n      }\n\n      .v-application .primary--text.text--darken-2 {\n        color: #00479b !important;\n        caret-color: #00479b !important;\n      }\n\n      .v-application .primary.darken-3 {\n        background-color: #003180 !important;\n        border-color: #003180 !important;\n      }\n\n      .v-application .primary--text.text--darken-3 {\n        color: #003180 !important;\n        caret-color: #003180 !important;\n      }\n\n      .v-application .primary.darken-4 {\n        background-color: #001e67 !important;\n        border-color: #001e67 !important;\n      }\n\n      .v-application .primary--text.text--darken-4 {\n        color: #001e67 !important;\n        caret-color: #001e67 !important;\n      }\n\n      .v-application .secondary {\n        background-color: #bdbdbd !important;\n        border-color: #bdbdbd !important;\n      }\n\n      .v-application .secondary--text {\n        color: #bdbdbd !important;\n        caret-color: #bdbdbd !important;\n      }\n\n      .v-application .secondary.lighten-5 {\n        background-color: #ffffff !important;\n        border-color: #ffffff !important;\n      }\n\n      .v-application .secondary--text.text--lighten-5 {\n        color: #ffffff !important;\n        caret-color: #ffffff !important;\n      }\n\n      .v-application .secondary.lighten-4 {\n        background-color: #ffffff !important;\n        border-color: #ffffff !important;\n      }\n\n      .v-application .secondary--text.text--lighten-4 {\n        color: #ffffff !important;\n        caret-color: #ffffff !important;\n      }\n\n      .v-application .secondary.lighten-3 {\n        background-color: #ffffff !important;\n        border-color: #ffffff !important;\n      }\n\n      .v-application .secondary--text.text--lighten-3 {\n        color: #ffffff !important;\n        caret-color: #ffffff !important;\n      }\n\n      .v-application .secondary.lighten-2 {\n        background-color: #f5f5f5 !important;\n        border-color: #f5f5f5 !important;\n      }\n\n      .v-application .secondary--text.text--lighten-2 {\n        color: #f5f5f5 !important;\n        caret-color: #f5f5f5 !important;\n      }\n\n      .v-application .secondary.lighten-1 {\n        background-color: #d9d9d9 !important;\n        border-color: #d9d9d9 !important;\n      }\n\n      .v-application .secondary--text.text--lighten-1 {\n        color: #d9d9d9 !important;\n        caret-color: #d9d9d9 !important;\n      }\n\n      .v-application .secondary.darken-1 {\n        background-color: #a2a2a2 !important;\n        border-color: #a2a2a2 !important;\n      }\n\n      .v-application .secondary--text.text--darken-1 {\n        color: #a2a2a2 !important;\n        caret-color: #a2a2a2 !important;\n      }\n\n      .v-application .secondary.darken-2 {\n        background-color: #888888 !important;\n        border-color: #888888 !important;\n      }\n\n      .v-application .secondary--text.text--darken-2 {\n        color: #888888 !important;\n        caret-color: #888888 !important;\n      }\n\n      .v-application .secondary.darken-3 {\n        background-color: #6e6e6e !important;\n        border-color: #6e6e6e !important;\n      }\n\n      .v-application .secondary--text.text--darken-3 {\n        color: #6e6e6e !important;\n        caret-color: #6e6e6e !important;\n      }\n\n      .v-application .secondary.darken-4 {\n        background-color: #565656 !important;\n        border-color: #565656 !important;\n      }\n\n      .v-application .secondary--text.text--darken-4 {\n        color: #565656 !important;\n        caret-color: #565656 !important;\n      }\n\n      .v-application .accent {\n        background-color: #448aff !important;\n        border-color: #448aff !important;\n      }\n\n      .v-application .accent--text {\n        color: #448aff !important;\n        caret-color: #448aff !important;\n      }\n\n      .v-application .accent.lighten-5 {\n        background-color: #e8ffff !important;\n        border-color: #e8ffff !important;\n      }\n\n      .v-application .accent--text.text--lighten-5 {\n        color: #e8ffff !important;\n        caret-color: #e8ffff !important;\n      }\n\n      .v-application .accent.lighten-4 {\n        background-color: #c9f7ff !important;\n        border-color: #c9f7ff !important;\n      }\n\n      .v-application .accent--text.text--lighten-4 {\n        color: #c9f7ff !important;\n        caret-color: #c9f7ff !important;\n      }\n\n      .v-application .accent.lighten-3 {\n        background-color: #a9daff !important;\n        border-color: #a9daff !important;\n      }\n\n      .v-application .accent--text.text--lighten-3 {\n        color: #a9daff !important;\n        caret-color: #a9daff !important;\n      }\n\n      .v-application .accent.lighten-2 {\n        background-color: #8abfff !important;\n        border-color: #8abfff !important;\n      }\n\n      .v-application .accent--text.text--lighten-2 {\n        color: #8abfff !important;\n        caret-color: #8abfff !important;\n      }\n\n      .v-application .accent.lighten-1 {\n        background-color: #69a4ff !important;\n        border-color: #69a4ff !important;\n      }\n\n      .v-application .accent--text.text--lighten-1 {\n        color: #69a4ff !important;\n        caret-color: #69a4ff !important;\n      }\n\n      .v-application .accent.darken-1 {\n        background-color: #0171e2 !important;\n        border-color: #0171e2 !important;\n      }\n\n      .v-application .accent--text.text--darken-1 {\n        color: #0171e2 !important;\n        caret-color: #0171e2 !important;\n      }\n\n      .v-application .accent.darken-2 {\n        background-color: #0059c5 !important;\n        border-color: #0059c5 !important;\n      }\n\n      .v-application .accent--text.text--darken-2 {\n        color: #0059c5 !important;\n        caret-color: #0059c5 !important;\n      }\n\n      .v-application .accent.darken-3 {\n        background-color: #0042aa !important;\n        border-color: #0042aa !important;\n      }\n\n      .v-application .accent--text.text--darken-3 {\n        color: #0042aa !important;\n        caret-color: #0042aa !important;\n      }\n\n      .v-application .accent.darken-4 {\n        background-color: #002e8e !important;\n        border-color: #002e8e !important;\n      }\n\n      .v-application .accent--text.text--darken-4 {\n        color: #002e8e !important;\n        caret-color: #002e8e !important;\n      }\n\n      .v-application .error {\n        background-color: #d50000 !important;\n        border-color: #d50000 !important;\n      }\n\n      .v-application .error--text {\n        color: #d50000 !important;\n        caret-color: #d50000 !important;\n      }\n\n      .v-application .error.lighten-5 {\n        background-color: #ffb082 !important;\n        border-color: #ffb082 !important;\n      }\n\n      .v-application .error--text.text--lighten-5 {\n        color: #ffb082 !important;\n        caret-color: #ffb082 !important;\n      }\n\n      .v-application .error.lighten-4 {\n        background-color: #ff9268 !important;\n        border-color: #ff9268 !important;\n      }\n\n      .v-application .error--text.text--lighten-4 {\n        color: #ff9268 !important;\n        caret-color: #ff9268 !important;\n      }\n\n      .v-application .error.lighten-3 {\n        background-color: #ff754e !important;\n        border-color: #ff754e !important;\n      }\n\n      .v-application .error--text.text--lighten-3 {\n        color: #ff754e !important;\n        caret-color: #ff754e !important;\n      }\n\n      .v-application .error.lighten-2 {\n        background-color: #ff5736 !important;\n        border-color: #ff5736 !important;\n      }\n\n      .v-application .error--text.text--lighten-2 {\n        color: #ff5736 !important;\n        caret-color: #ff5736 !important;\n      }\n\n      .v-application .error.lighten-1 {\n        background-color: #f6361d !important;\n        border-color: #f6361d !important;\n      }\n\n      .v-application .error--text.text--lighten-1 {\n        color: #f6361d !important;\n        caret-color: #f6361d !important;\n      }\n\n      .v-application .error.darken-1 {\n        background-color: #b40000 !important;\n        border-color: #b40000 !important;\n      }\n\n      .v-application .error--text.text--darken-1 {\n        color: #b40000 !important;\n        caret-color: #b40000 !important;\n      }\n\n      .v-application .error.darken-2 {\n        background-color: #950000 !important;\n        border-color: #950000 !important;\n      }\n\n      .v-application .error--text.text--darken-2 {\n        color: #950000 !important;\n        caret-color: #950000 !important;\n      }\n\n      .v-application .error.darken-3 {\n        background-color: #770000 !important;\n        border-color: #770000 !important;\n      }\n\n      .v-application .error--text.text--darken-3 {\n        color: #770000 !important;\n        caret-color: #770000 !important;\n      }\n\n      .v-application .error.darken-4 {\n        background-color: #5c0000 !important;\n        border-color: #5c0000 !important;\n      }\n\n      .v-application .error--text.text--darken-4 {\n        color: #5c0000 !important;\n        caret-color: #5c0000 !important;\n      }\n\n      .v-application .info {\n        background-color: #42a5f5 !important;\n        border-color: #42a5f5 !important;\n      }\n\n      .v-application .info--text {\n        color: #42a5f5 !important;\n        caret-color: #42a5f5 !important;\n      }\n\n      .v-application .info.lighten-5 {\n        background-color: #e4ffff !important;\n        border-color: #e4ffff !important;\n      }\n\n      .v-application .info--text.text--lighten-5 {\n        color: #e4ffff !important;\n        caret-color: #e4ffff !important;\n      }\n\n      .v-application .info.lighten-4 {\n        background-color: #c5ffff !important;\n        border-color: #c5ffff !important;\n      }\n\n      .v-application .info--text.text--lighten-4 {\n        color: #c5ffff !important;\n        caret-color: #c5ffff !important;\n      }\n\n      .v-application .info.lighten-3 {\n        background-color: #a6f8ff !important;\n        border-color: #a6f8ff !important;\n      }\n\n      .v-application .info--text.text--lighten-3 {\n        color: #a6f8ff !important;\n        caret-color: #a6f8ff !important;\n      }\n\n      .v-application .info.lighten-2 {\n        background-color: #87dcff !important;\n        border-color: #87dcff !important;\n      }\n\n      .v-application .info--text.text--lighten-2 {\n        color: #87dcff !important;\n        caret-color: #87dcff !important;\n      }\n\n      .v-application .info.lighten-1 {\n        background-color: #66c0ff !important;\n        border-color: #66c0ff !important;\n      }\n\n      .v-application .info--text.text--lighten-1 {\n        color: #66c0ff !important;\n        caret-color: #66c0ff !important;\n      }\n\n      .v-application .info.darken-1 {\n        background-color: #018bd8 !important;\n        border-color: #018bd8 !important;\n      }\n\n      .v-application .info--text.text--darken-1 {\n        color: #018bd8 !important;\n        caret-color: #018bd8 !important;\n      }\n\n      .v-application .info.darken-2 {\n        background-color: #0072bc !important;\n        border-color: #0072bc !important;\n      }\n\n      .v-application .info--text.text--darken-2 {\n        color: #0072bc !important;\n        caret-color: #0072bc !important;\n      }\n\n      .v-application .info.darken-3 {\n        background-color: #0059a1 !important;\n        border-color: #0059a1 !important;\n      }\n\n      .v-application .info--text.text--darken-3 {\n        color: #0059a1 !important;\n        caret-color: #0059a1 !important;\n      }\n\n      .v-application .info.darken-4 {\n        background-color: #004286 !important;\n        border-color: #004286 !important;\n      }\n\n      .v-application .info--text.text--darken-4 {\n        color: #004286 !important;\n        caret-color: #004286 !important;\n      }\n\n      .v-application .success {\n        background-color: #81c784 !important;\n        border-color: #81c784 !important;\n      }\n\n      .v-application .success--text {\n        color: #81c784 !important;\n        caret-color: #81c784 !important;\n      }\n\n      .v-application .success.lighten-5 {\n        background-color: #ffffff !important;\n        border-color: #ffffff !important;\n      }\n\n      .v-application .success--text.text--lighten-5 {\n        color: #ffffff !important;\n        caret-color: #ffffff !important;\n      }\n\n      .v-application .success.lighten-4 {\n        background-color: #f1fff2 !important;\n        border-color: #f1fff2 !important;\n      }\n\n      .v-application .success--text.text--lighten-4 {\n        color: #f1fff2 !important;\n        caret-color: #f1fff2 !important;\n      }\n\n      .v-application .success.lighten-3 {\n        background-color: #d4ffd5 !important;\n        border-color: #d4ffd5 !important;\n      }\n\n      .v-application .success--text.text--lighten-3 {\n        color: #d4ffd5 !important;\n        caret-color: #d4ffd5 !important;\n      }\n\n      .v-application .success.lighten-2 {\n        background-color: #b8ffba !important;\n        border-color: #b8ffba !important;\n      }\n\n      .v-application .success--text.text--lighten-2 {\n        color: #b8ffba !important;\n        caret-color: #b8ffba !important;\n      }\n\n      .v-application .success.lighten-1 {\n        background-color: #9ce39e !important;\n        border-color: #9ce39e !important;\n      }\n\n      .v-application .success--text.text--lighten-1 {\n        color: #9ce39e !important;\n        caret-color: #9ce39e !important;\n      }\n\n      .v-application .success.darken-1 {\n        background-color: #66ab6a !important;\n        border-color: #66ab6a !important;\n      }\n\n      .v-application .success--text.text--darken-1 {\n        color: #66ab6a !important;\n        caret-color: #66ab6a !important;\n      }\n\n      .v-application .success.darken-2 {\n        background-color: #4c9152 !important;\n        border-color: #4c9152 !important;\n      }\n\n      .v-application .success--text.text--darken-2 {\n        color: #4c9152 !important;\n        caret-color: #4c9152 !important;\n      }\n\n      .v-application .success.darken-3 {\n        background-color: #31773a !important;\n        border-color: #31773a !important;\n      }\n\n      .v-application .success--text.text--darken-3 {\n        color: #31773a !important;\n        caret-color: #31773a !important;\n      }\n\n      .v-application .success.darken-4 {\n        background-color: #145d23 !important;\n        border-color: #145d23 !important;\n      }\n\n      .v-application .success--text.text--darken-4 {\n        color: #145d23 !important;\n        caret-color: #145d23 !important;\n      }\n\n      .v-application .warning {\n        background-color: #ffa000 !important;\n        border-color: #ffa000 !important;\n      }\n\n      .v-application .warning--text {\n        color: #ffa000 !important;\n        caret-color: #ffa000 !important;\n      }\n\n      .v-application .warning.lighten-5 {\n        background-color: #ffffa4 !important;\n        border-color: #ffffa4 !important;\n      }\n\n      .v-application .warning--text.text--lighten-5 {\n        color: #ffffa4 !important;\n        caret-color: #ffffa4 !important;\n      }\n\n      .v-application .warning.lighten-4 {\n        background-color: #ffff87 !important;\n        border-color: #ffff87 !important;\n      }\n\n      .v-application .warning--text.text--lighten-4 {\n        color: #ffff87 !important;\n        caret-color: #ffff87 !important;\n      }\n\n      .v-application .warning.lighten-3 {\n        background-color: #fff36b !important;\n        border-color: #fff36b !important;\n      }\n\n      .v-application .warning--text.text--lighten-3 {\n        color: #fff36b !important;\n        caret-color: #fff36b !important;\n      }\n\n      .v-application .warning.lighten-2 {\n        background-color: #ffd74e !important;\n        border-color: #ffd74e !important;\n      }\n\n      .v-application .warning--text.text--lighten-2 {\n        color: #ffd74e !important;\n        caret-color: #ffd74e !important;\n      }\n\n      .v-application .warning.lighten-1 {\n        background-color: #ffbb30 !important;\n        border-color: #ffbb30 !important;\n      }\n\n      .v-application .warning--text.text--lighten-1 {\n        color: #ffbb30 !important;\n        caret-color: #ffbb30 !important;\n      }\n\n      .v-application .warning.darken-1 {\n        background-color: #df8600 !important;\n        border-color: #df8600 !important;\n      }\n\n      .v-application .warning--text.text--darken-1 {\n        color: #df8600 !important;\n        caret-color: #df8600 !important;\n      }\n\n      .v-application .warning.darken-2 {\n        background-color: #c06c00 !important;\n        border-color: #c06c00 !important;\n      }\n\n      .v-application .warning--text.text--darken-2 {\n        color: #c06c00 !important;\n        caret-color: #c06c00 !important;\n      }\n\n      .v-application .warning.darken-3 {\n        background-color: #a15400 !important;\n        border-color: #a15400 !important;\n      }\n\n      .v-application .warning--text.text--darken-3 {\n        color: #a15400 !important;\n        caret-color: #a15400 !important;\n      }\n\n      .v-application .warning.darken-4 {\n        background-color: #843c00 !important;\n        border-color: #843c00 !important;\n      }\n\n      .v-application .warning--text.text--darken-4 {\n        color: #843c00 !important;\n        caret-color: #843c00 !important;\n      }\n    </style>\n  </head>\n\n  <body>\n    <script>\n      (window.ActiveXObject || \"ActiveXObject\" in window) && alert(\"本网站不支持IE或IE内核的浏览器，建议您使用火狐浏览器、谷歌浏览器或微软的Edge浏览器（Windows10自带）\")\n    </script>\n    <div id=\"__nuxt\"><!---->\n      <div id=\"__layout\">\n        <div data-app=\"true\" id=\"app\" class=\"v-application v-application--is-ltr theme--light\">\n          <div class=\"v-application--wrap\">\n            <div class=\"container fill-height container--fluid\">\n              <div class=\"row align-center justify-center\">\n                <div class=\"spacer\"></div>\n                <div class=\"flex xs3\">\n                  <div class=\"background v-card v-sheet theme--light\" style=\"height:500px;\"></div>\n                </div>\n                <div class=\"flex grey lighten-4 lg4 md5 sm7 xs12 d-flex\">\n                  <div class=\"spacer\"></div>\n                  <div class=\"container text-center\">\n                    <div class=\"v-card v-card--flat v-sheet theme--light\">\n                      <div primary-title=\"\" class=\"v-card__title\">\n                        <div class=\"text-h5\">\n                          Login\n                        </div>\n                      </div>\n                      <div class=\"container\">\n                        <div class=\"row\">\n                          <div role=\"alert\" class=\"v-alert mb-3 v-sheet theme--dark error\" style=\"display:none;\">\n                            <div class=\"v-alert__wrapper\"><i aria-hidden=\"true\" class=\"v-icon notranslate v-alert__icon mdi mdi-alert theme--dark\"></i>\n                              <div class=\"v-alert__content\">\n\n                              </div><button type=\"button\" aria-label=\"Close\" class=\"v-alert__dismissible v-btn v-btn--icon v-btn--round theme--dark v-size--small\"><span class=\"v-btn__content\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-close-circle theme--dark\"></i></span></button>\n                            </div>\n                          </div>\n                        </div>\n                        <div class=\"layout\">\n                          <div class=\"flex\">\n                            <form novalidate=\"novalidate\" class=\"v-form\">\n                              <div class=\"v-input theme--light v-text-field\">\n                                <div class=\"v-input__prepend-outer\">\n                                  <div class=\"v-input__icon v-input__icon--prepend\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-account theme--light\"></i></div>\n                                </div>\n                                <div class=\"v-input__control\">\n                                  <div class=\"v-input__slot\">\n                                    <div class=\"v-text-field__slot\"><label class=\"v-label theme--light\" style=\"left:0px;right:auto;position:absolute;\">Username</label><input required=\"required\" type=\"text\" value=\"\"></div>\n                                  </div>\n                                  <div class=\"v-text-field__details\">\n                                    <div class=\"v-messages theme--light\">\n                                      <div class=\"v-messages__wrapper\"></div>\n                                    </div>\n                                  </div>\n                                </div>\n                              </div>\n                              <div class=\"v-input theme--light v-text-field\">\n                                <div class=\"v-input__prepend-outer\">\n                                  <div class=\"v-input__icon v-input__icon--prepend\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-lock theme--light\"></i></div>\n                                </div>\n                                <div class=\"v-input__control\">\n                                  <div class=\"v-input__slot\">\n                                    <div class=\"v-text-field__slot\"><label class=\"v-label theme--light\" style=\"left:0px;right:auto;position:absolute;\">Password</label><input required=\"required\" type=\"password\" value=\"\"></div>\n                                  </div>\n                                  <div class=\"v-text-field__details\">\n                                    <div class=\"v-messages theme--light\">\n                                      <div class=\"v-messages__wrapper\"></div>\n                                    </div>\n                                  </div>\n                                </div>\n                              </div>\n                              <div class=\"v-input theme--light v-input--selection-controls v-input--checkbox\">\n                                <div class=\"v-input__control\">\n                                  <div class=\"v-input__slot\">\n                                    <div class=\"v-input--selection-controls__input\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-checkbox-blank-outline theme--light\"></i><input aria-checked=\"false\" role=\"checkbox\" type=\"checkbox\">\n                                      <div class=\"v-input--selection-controls__ripple\"></div>\n                                    </div><label class=\"v-label theme--light\" style=\"left:0px;right:auto;position:relative;\">Remember me</label>\n                                  </div>\n                                  <div class=\"v-messages theme--light\">\n                                    <div class=\"v-messages__wrapper\"></div>\n                                  </div>\n                                </div>\n                              </div>\n                              <div class=\"row\">\n                                <div class=\"col\"><button type=\"button\" disabled=\"disabled\" class=\"v-btn v-btn--block v-btn--disabled v-btn--has-bg theme--light v-size--default\"><span class=\"v-btn__content\">\n                login\n              </span></button></div>\n                                <div class=\"col\"><button type=\"button\" class=\"v-btn v-btn--block v-btn--is-elevated v-btn--has-bg theme--light v-size--default\"><span class=\"v-btn__content\">\n                enter register page\n              </span></button></div>\n                              </div>\n                            </form>\n                          </div>\n                        </div>\n                      </div>\n                    </div>\n                  </div>\n                  <div class=\"spacer\"></div>\n                </div>\n                <div class=\"spacer\"></div>\n              </div>\n            </div>\n          </div>\n        </div>\n      </div>\n    </div>\n    <script>\n      window.__NUXT__ = (function(a, b, c) {\n        return {\n          layout: \"login\",\n          data: [{}],\n          fetch: {},\n          error: a,\n          state: {\n            sidebar: b,\n            message: {\n              list: []\n            },\n            session: {\n              login: b,\n              username: \"\",\n              settings: {}\n            }\n          },\n          serverRendered: true,\n          routePath: \"\\\\u002Flogin\",\n          config: {\n            _app: {\n              basePath: \"\\\\u002F\",\n              assetsPath: \"\\\\u002F_nuxt\\\\u002F\",\n              cdnURL: a\n            }\n          },\n          env: {\n            VERSION_NUM: c,\n            BUILD_TIME: c\n          }\n        }\n      }(null, false, \"0\"));\n    </script>\n\n\n  </body>\n\n</html>\n`;\n\nexports[`/register 1`] = `\n<!DOCTYPE html>\n<html data-n-head-ssr=\"\">\n\n  <head>\n    <meta data-n-head=\"ssr\" charset=\"utf-8\">\n    <meta data-n-head=\"ssr\" name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <meta data-n-head=\"ssr\" data-hid=\"description\" name=\"description\" content=\"An online tool (crawler) to analyze users performance in online judges (coding competition websites). Supported OJ: POJ, HDU, ZOJ, HYSBZ, CodeForces, UVA, ICPC Live Archive, FZU, SPOJ, Timus (URAL), LeetCode_CN, CSU, LibreOJ, 洛谷, 牛客OJ, Lutece (UESTC), AtCoder, AIZU, CodeChef, El Judge, BNUOJ, Codewars, UOJ, NBUT, 51Nod, DMOJ, SDUT OJ, VJudge\">\n    <title>OJ Analyzer</title>\n    <link data-n-head=\"ssr\" rel=\"icon\" type=\"image/x-icon\" href=\"/favicon.ico\">\n    <link data-n-head=\"ssr\" rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Noto+Serif+SC:300,400,500,700\">\n    <link data-n-head=\"ssr\" rel=\"stylesheet\" type=\"text/css\" href=\"https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900&amp;display=swap\">\n    <link data-n-head=\"ssr\" rel=\"stylesheet\" type=\"text/css\" href=\"https://cdn.jsdelivr.net/npm/@mdi/font@latest/css/materialdesignicons.min.css\">\n    <style data-n-head=\"vuetify\" type=\"text/css\" id=\"vuetify-theme-stylesheet\" nonce=\"undefined\">\n      .v-application a {\n        color: #1976d2;\n      }\n\n      .v-application .primary {\n        background-color: #1976d2 !important;\n        border-color: #1976d2 !important;\n      }\n\n      .v-application .primary--text {\n        color: #1976d2 !important;\n        caret-color: #1976d2 !important;\n      }\n\n      .v-application .primary.lighten-5 {\n        background-color: #c7fdff !important;\n        border-color: #c7fdff !important;\n      }\n\n      .v-application .primary--text.text--lighten-5 {\n        color: #c7fdff !important;\n        caret-color: #c7fdff !important;\n      }\n\n      .v-application .primary.lighten-4 {\n        background-color: #a8e0ff !important;\n        border-color: #a8e0ff !important;\n      }\n\n      .v-application .primary--text.text--lighten-4 {\n        color: #a8e0ff !important;\n        caret-color: #a8e0ff !important;\n      }\n\n      .v-application .primary.lighten-3 {\n        background-color: #8ac5ff !important;\n        border-color: #8ac5ff !important;\n      }\n\n      .v-application .primary--text.text--lighten-3 {\n        color: #8ac5ff !important;\n        caret-color: #8ac5ff !important;\n      }\n\n      .v-application .primary.lighten-2 {\n        background-color: #6aaaff !important;\n        border-color: #6aaaff !important;\n      }\n\n      .v-application .primary--text.text--lighten-2 {\n        color: #6aaaff !important;\n        caret-color: #6aaaff !important;\n      }\n\n      .v-application .primary.lighten-1 {\n        background-color: #488fef !important;\n        border-color: #488fef !important;\n      }\n\n      .v-application .primary--text.text--lighten-1 {\n        color: #488fef !important;\n        caret-color: #488fef !important;\n      }\n\n      .v-application .primary.darken-1 {\n        background-color: #005eb6 !important;\n        border-color: #005eb6 !important;\n      }\n\n      .v-application .primary--text.text--darken-1 {\n        color: #005eb6 !important;\n        caret-color: #005eb6 !important;\n      }\n\n      .v-application .primary.darken-2 {\n        background-color: #00479b !important;\n        border-color: #00479b !important;\n      }\n\n      .v-application .primary--text.text--darken-2 {\n        color: #00479b !important;\n        caret-color: #00479b !important;\n      }\n\n      .v-application .primary.darken-3 {\n        background-color: #003180 !important;\n        border-color: #003180 !important;\n      }\n\n      .v-application .primary--text.text--darken-3 {\n        color: #003180 !important;\n        caret-color: #003180 !important;\n      }\n\n      .v-application .primary.darken-4 {\n        background-color: #001e67 !important;\n        border-color: #001e67 !important;\n      }\n\n      .v-application .primary--text.text--darken-4 {\n        color: #001e67 !important;\n        caret-color: #001e67 !important;\n      }\n\n      .v-application .secondary {\n        background-color: #bdbdbd !important;\n        border-color: #bdbdbd !important;\n      }\n\n      .v-application .secondary--text {\n        color: #bdbdbd !important;\n        caret-color: #bdbdbd !important;\n      }\n\n      .v-application .secondary.lighten-5 {\n        background-color: #ffffff !important;\n        border-color: #ffffff !important;\n      }\n\n      .v-application .secondary--text.text--lighten-5 {\n        color: #ffffff !important;\n        caret-color: #ffffff !important;\n      }\n\n      .v-application .secondary.lighten-4 {\n        background-color: #ffffff !important;\n        border-color: #ffffff !important;\n      }\n\n      .v-application .secondary--text.text--lighten-4 {\n        color: #ffffff !important;\n        caret-color: #ffffff !important;\n      }\n\n      .v-application .secondary.lighten-3 {\n        background-color: #ffffff !important;\n        border-color: #ffffff !important;\n      }\n\n      .v-application .secondary--text.text--lighten-3 {\n        color: #ffffff !important;\n        caret-color: #ffffff !important;\n      }\n\n      .v-application .secondary.lighten-2 {\n        background-color: #f5f5f5 !important;\n        border-color: #f5f5f5 !important;\n      }\n\n      .v-application .secondary--text.text--lighten-2 {\n        color: #f5f5f5 !important;\n        caret-color: #f5f5f5 !important;\n      }\n\n      .v-application .secondary.lighten-1 {\n        background-color: #d9d9d9 !important;\n        border-color: #d9d9d9 !important;\n      }\n\n      .v-application .secondary--text.text--lighten-1 {\n        color: #d9d9d9 !important;\n        caret-color: #d9d9d9 !important;\n      }\n\n      .v-application .secondary.darken-1 {\n        background-color: #a2a2a2 !important;\n        border-color: #a2a2a2 !important;\n      }\n\n      .v-application .secondary--text.text--darken-1 {\n        color: #a2a2a2 !important;\n        caret-color: #a2a2a2 !important;\n      }\n\n      .v-application .secondary.darken-2 {\n        background-color: #888888 !important;\n        border-color: #888888 !important;\n      }\n\n      .v-application .secondary--text.text--darken-2 {\n        color: #888888 !important;\n        caret-color: #888888 !important;\n      }\n\n      .v-application .secondary.darken-3 {\n        background-color: #6e6e6e !important;\n        border-color: #6e6e6e !important;\n      }\n\n      .v-application .secondary--text.text--darken-3 {\n        color: #6e6e6e !important;\n        caret-color: #6e6e6e !important;\n      }\n\n      .v-application .secondary.darken-4 {\n        background-color: #565656 !important;\n        border-color: #565656 !important;\n      }\n\n      .v-application .secondary--text.text--darken-4 {\n        color: #565656 !important;\n        caret-color: #565656 !important;\n      }\n\n      .v-application .accent {\n        background-color: #448aff !important;\n        border-color: #448aff !important;\n      }\n\n      .v-application .accent--text {\n        color: #448aff !important;\n        caret-color: #448aff !important;\n      }\n\n      .v-application .accent.lighten-5 {\n        background-color: #e8ffff !important;\n        border-color: #e8ffff !important;\n      }\n\n      .v-application .accent--text.text--lighten-5 {\n        color: #e8ffff !important;\n        caret-color: #e8ffff !important;\n      }\n\n      .v-application .accent.lighten-4 {\n        background-color: #c9f7ff !important;\n        border-color: #c9f7ff !important;\n      }\n\n      .v-application .accent--text.text--lighten-4 {\n        color: #c9f7ff !important;\n        caret-color: #c9f7ff !important;\n      }\n\n      .v-application .accent.lighten-3 {\n        background-color: #a9daff !important;\n        border-color: #a9daff !important;\n      }\n\n      .v-application .accent--text.text--lighten-3 {\n        color: #a9daff !important;\n        caret-color: #a9daff !important;\n      }\n\n      .v-application .accent.lighten-2 {\n        background-color: #8abfff !important;\n        border-color: #8abfff !important;\n      }\n\n      .v-application .accent--text.text--lighten-2 {\n        color: #8abfff !important;\n        caret-color: #8abfff !important;\n      }\n\n      .v-application .accent.lighten-1 {\n        background-color: #69a4ff !important;\n        border-color: #69a4ff !important;\n      }\n\n      .v-application .accent--text.text--lighten-1 {\n        color: #69a4ff !important;\n        caret-color: #69a4ff !important;\n      }\n\n      .v-application .accent.darken-1 {\n        background-color: #0171e2 !important;\n        border-color: #0171e2 !important;\n      }\n\n      .v-application .accent--text.text--darken-1 {\n        color: #0171e2 !important;\n        caret-color: #0171e2 !important;\n      }\n\n      .v-application .accent.darken-2 {\n        background-color: #0059c5 !important;\n        border-color: #0059c5 !important;\n      }\n\n      .v-application .accent--text.text--darken-2 {\n        color: #0059c5 !important;\n        caret-color: #0059c5 !important;\n      }\n\n      .v-application .accent.darken-3 {\n        background-color: #0042aa !important;\n        border-color: #0042aa !important;\n      }\n\n      .v-application .accent--text.text--darken-3 {\n        color: #0042aa !important;\n        caret-color: #0042aa !important;\n      }\n\n      .v-application .accent.darken-4 {\n        background-color: #002e8e !important;\n        border-color: #002e8e !important;\n      }\n\n      .v-application .accent--text.text--darken-4 {\n        color: #002e8e !important;\n        caret-color: #002e8e !important;\n      }\n\n      .v-application .error {\n        background-color: #d50000 !important;\n        border-color: #d50000 !important;\n      }\n\n      .v-application .error--text {\n        color: #d50000 !important;\n        caret-color: #d50000 !important;\n      }\n\n      .v-application .error.lighten-5 {\n        background-color: #ffb082 !important;\n        border-color: #ffb082 !important;\n      }\n\n      .v-application .error--text.text--lighten-5 {\n        color: #ffb082 !important;\n        caret-color: #ffb082 !important;\n      }\n\n      .v-application .error.lighten-4 {\n        background-color: #ff9268 !important;\n        border-color: #ff9268 !important;\n      }\n\n      .v-application .error--text.text--lighten-4 {\n        color: #ff9268 !important;\n        caret-color: #ff9268 !important;\n      }\n\n      .v-application .error.lighten-3 {\n        background-color: #ff754e !important;\n        border-color: #ff754e !important;\n      }\n\n      .v-application .error--text.text--lighten-3 {\n        color: #ff754e !important;\n        caret-color: #ff754e !important;\n      }\n\n      .v-application .error.lighten-2 {\n        background-color: #ff5736 !important;\n        border-color: #ff5736 !important;\n      }\n\n      .v-application .error--text.text--lighten-2 {\n        color: #ff5736 !important;\n        caret-color: #ff5736 !important;\n      }\n\n      .v-application .error.lighten-1 {\n        background-color: #f6361d !important;\n        border-color: #f6361d !important;\n      }\n\n      .v-application .error--text.text--lighten-1 {\n        color: #f6361d !important;\n        caret-color: #f6361d !important;\n      }\n\n      .v-application .error.darken-1 {\n        background-color: #b40000 !important;\n        border-color: #b40000 !important;\n      }\n\n      .v-application .error--text.text--darken-1 {\n        color: #b40000 !important;\n        caret-color: #b40000 !important;\n      }\n\n      .v-application .error.darken-2 {\n        background-color: #950000 !important;\n        border-color: #950000 !important;\n      }\n\n      .v-application .error--text.text--darken-2 {\n        color: #950000 !important;\n        caret-color: #950000 !important;\n      }\n\n      .v-application .error.darken-3 {\n        background-color: #770000 !important;\n        border-color: #770000 !important;\n      }\n\n      .v-application .error--text.text--darken-3 {\n        color: #770000 !important;\n        caret-color: #770000 !important;\n      }\n\n      .v-application .error.darken-4 {\n        background-color: #5c0000 !important;\n        border-color: #5c0000 !important;\n      }\n\n      .v-application .error--text.text--darken-4 {\n        color: #5c0000 !important;\n        caret-color: #5c0000 !important;\n      }\n\n      .v-application .info {\n        background-color: #42a5f5 !important;\n        border-color: #42a5f5 !important;\n      }\n\n      .v-application .info--text {\n        color: #42a5f5 !important;\n        caret-color: #42a5f5 !important;\n      }\n\n      .v-application .info.lighten-5 {\n        background-color: #e4ffff !important;\n        border-color: #e4ffff !important;\n      }\n\n      .v-application .info--text.text--lighten-5 {\n        color: #e4ffff !important;\n        caret-color: #e4ffff !important;\n      }\n\n      .v-application .info.lighten-4 {\n        background-color: #c5ffff !important;\n        border-color: #c5ffff !important;\n      }\n\n      .v-application .info--text.text--lighten-4 {\n        color: #c5ffff !important;\n        caret-color: #c5ffff !important;\n      }\n\n      .v-application .info.lighten-3 {\n        background-color: #a6f8ff !important;\n        border-color: #a6f8ff !important;\n      }\n\n      .v-application .info--text.text--lighten-3 {\n        color: #a6f8ff !important;\n        caret-color: #a6f8ff !important;\n      }\n\n      .v-application .info.lighten-2 {\n        background-color: #87dcff !important;\n        border-color: #87dcff !important;\n      }\n\n      .v-application .info--text.text--lighten-2 {\n        color: #87dcff !important;\n        caret-color: #87dcff !important;\n      }\n\n      .v-application .info.lighten-1 {\n        background-color: #66c0ff !important;\n        border-color: #66c0ff !important;\n      }\n\n      .v-application .info--text.text--lighten-1 {\n        color: #66c0ff !important;\n        caret-color: #66c0ff !important;\n      }\n\n      .v-application .info.darken-1 {\n        background-color: #018bd8 !important;\n        border-color: #018bd8 !important;\n      }\n\n      .v-application .info--text.text--darken-1 {\n        color: #018bd8 !important;\n        caret-color: #018bd8 !important;\n      }\n\n      .v-application .info.darken-2 {\n        background-color: #0072bc !important;\n        border-color: #0072bc !important;\n      }\n\n      .v-application .info--text.text--darken-2 {\n        color: #0072bc !important;\n        caret-color: #0072bc !important;\n      }\n\n      .v-application .info.darken-3 {\n        background-color: #0059a1 !important;\n        border-color: #0059a1 !important;\n      }\n\n      .v-application .info--text.text--darken-3 {\n        color: #0059a1 !important;\n        caret-color: #0059a1 !important;\n      }\n\n      .v-application .info.darken-4 {\n        background-color: #004286 !important;\n        border-color: #004286 !important;\n      }\n\n      .v-application .info--text.text--darken-4 {\n        color: #004286 !important;\n        caret-color: #004286 !important;\n      }\n\n      .v-application .success {\n        background-color: #81c784 !important;\n        border-color: #81c784 !important;\n      }\n\n      .v-application .success--text {\n        color: #81c784 !important;\n        caret-color: #81c784 !important;\n      }\n\n      .v-application .success.lighten-5 {\n        background-color: #ffffff !important;\n        border-color: #ffffff !important;\n      }\n\n      .v-application .success--text.text--lighten-5 {\n        color: #ffffff !important;\n        caret-color: #ffffff !important;\n      }\n\n      .v-application .success.lighten-4 {\n        background-color: #f1fff2 !important;\n        border-color: #f1fff2 !important;\n      }\n\n      .v-application .success--text.text--lighten-4 {\n        color: #f1fff2 !important;\n        caret-color: #f1fff2 !important;\n      }\n\n      .v-application .success.lighten-3 {\n        background-color: #d4ffd5 !important;\n        border-color: #d4ffd5 !important;\n      }\n\n      .v-application .success--text.text--lighten-3 {\n        color: #d4ffd5 !important;\n        caret-color: #d4ffd5 !important;\n      }\n\n      .v-application .success.lighten-2 {\n        background-color: #b8ffba !important;\n        border-color: #b8ffba !important;\n      }\n\n      .v-application .success--text.text--lighten-2 {\n        color: #b8ffba !important;\n        caret-color: #b8ffba !important;\n      }\n\n      .v-application .success.lighten-1 {\n        background-color: #9ce39e !important;\n        border-color: #9ce39e !important;\n      }\n\n      .v-application .success--text.text--lighten-1 {\n        color: #9ce39e !important;\n        caret-color: #9ce39e !important;\n      }\n\n      .v-application .success.darken-1 {\n        background-color: #66ab6a !important;\n        border-color: #66ab6a !important;\n      }\n\n      .v-application .success--text.text--darken-1 {\n        color: #66ab6a !important;\n        caret-color: #66ab6a !important;\n      }\n\n      .v-application .success.darken-2 {\n        background-color: #4c9152 !important;\n        border-color: #4c9152 !important;\n      }\n\n      .v-application .success--text.text--darken-2 {\n        color: #4c9152 !important;\n        caret-color: #4c9152 !important;\n      }\n\n      .v-application .success.darken-3 {\n        background-color: #31773a !important;\n        border-color: #31773a !important;\n      }\n\n      .v-application .success--text.text--darken-3 {\n        color: #31773a !important;\n        caret-color: #31773a !important;\n      }\n\n      .v-application .success.darken-4 {\n        background-color: #145d23 !important;\n        border-color: #145d23 !important;\n      }\n\n      .v-application .success--text.text--darken-4 {\n        color: #145d23 !important;\n        caret-color: #145d23 !important;\n      }\n\n      .v-application .warning {\n        background-color: #ffa000 !important;\n        border-color: #ffa000 !important;\n      }\n\n      .v-application .warning--text {\n        color: #ffa000 !important;\n        caret-color: #ffa000 !important;\n      }\n\n      .v-application .warning.lighten-5 {\n        background-color: #ffffa4 !important;\n        border-color: #ffffa4 !important;\n      }\n\n      .v-application .warning--text.text--lighten-5 {\n        color: #ffffa4 !important;\n        caret-color: #ffffa4 !important;\n      }\n\n      .v-application .warning.lighten-4 {\n        background-color: #ffff87 !important;\n        border-color: #ffff87 !important;\n      }\n\n      .v-application .warning--text.text--lighten-4 {\n        color: #ffff87 !important;\n        caret-color: #ffff87 !important;\n      }\n\n      .v-application .warning.lighten-3 {\n        background-color: #fff36b !important;\n        border-color: #fff36b !important;\n      }\n\n      .v-application .warning--text.text--lighten-3 {\n        color: #fff36b !important;\n        caret-color: #fff36b !important;\n      }\n\n      .v-application .warning.lighten-2 {\n        background-color: #ffd74e !important;\n        border-color: #ffd74e !important;\n      }\n\n      .v-application .warning--text.text--lighten-2 {\n        color: #ffd74e !important;\n        caret-color: #ffd74e !important;\n      }\n\n      .v-application .warning.lighten-1 {\n        background-color: #ffbb30 !important;\n        border-color: #ffbb30 !important;\n      }\n\n      .v-application .warning--text.text--lighten-1 {\n        color: #ffbb30 !important;\n        caret-color: #ffbb30 !important;\n      }\n\n      .v-application .warning.darken-1 {\n        background-color: #df8600 !important;\n        border-color: #df8600 !important;\n      }\n\n      .v-application .warning--text.text--darken-1 {\n        color: #df8600 !important;\n        caret-color: #df8600 !important;\n      }\n\n      .v-application .warning.darken-2 {\n        background-color: #c06c00 !important;\n        border-color: #c06c00 !important;\n      }\n\n      .v-application .warning--text.text--darken-2 {\n        color: #c06c00 !important;\n        caret-color: #c06c00 !important;\n      }\n\n      .v-application .warning.darken-3 {\n        background-color: #a15400 !important;\n        border-color: #a15400 !important;\n      }\n\n      .v-application .warning--text.text--darken-3 {\n        color: #a15400 !important;\n        caret-color: #a15400 !important;\n      }\n\n      .v-application .warning.darken-4 {\n        background-color: #843c00 !important;\n        border-color: #843c00 !important;\n      }\n\n      .v-application .warning--text.text--darken-4 {\n        color: #843c00 !important;\n        caret-color: #843c00 !important;\n      }\n    </style>\n  </head>\n\n  <body>\n    <script>\n      (window.ActiveXObject || \"ActiveXObject\" in window) && alert(\"本网站不支持IE或IE内核的浏览器，建议您使用火狐浏览器、谷歌浏览器或微软的Edge浏览器（Windows10自带）\")\n    </script>\n    <div id=\"__nuxt\"><!---->\n      <div id=\"__layout\">\n        <div data-app=\"true\" id=\"app\" class=\"v-application v-application--is-ltr theme--light\">\n          <div class=\"v-application--wrap\">\n            <div class=\"container fill-height container--fluid\">\n              <div class=\"row align-center justify-center\">\n                <div class=\"spacer\"></div>\n                <div class=\"flex xs3\">\n                  <div class=\"background v-card v-sheet theme--light\" style=\"height:500px;\"></div>\n                </div>\n                <div class=\"flex grey lighten-4 lg4 md5 sm7 xs12 d-flex\">\n                  <div class=\"spacer\"></div>\n                  <div class=\"container text-center\">\n                    <div class=\"v-card v-card--flat v-sheet theme--light\">\n                      <div primary-title=\"\" class=\"v-card__title\">\n                        <div class=\"text-h5\">\n                          Register\n                        </div>\n                      </div>\n                      <div class=\"container\">\n                        <div class=\"row\">\n                          <div role=\"alert\" class=\"v-alert mb-3 v-sheet theme--dark error\" style=\"display:none;\">\n                            <div class=\"v-alert__wrapper\"><i aria-hidden=\"true\" class=\"v-icon notranslate v-alert__icon mdi mdi-alert theme--dark\"></i>\n                              <div class=\"v-alert__content\">\n\n                              </div><button type=\"button\" aria-label=\"Close\" class=\"v-alert__dismissible v-btn v-btn--icon v-btn--round theme--dark v-size--small\"><span class=\"v-btn__content\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-close-circle theme--dark\"></i></span></button>\n                            </div>\n                          </div>\n                        </div>\n                        <div class=\"layout\">\n                          <div class=\"flex\">\n                            <form novalidate=\"novalidate\" class=\"v-form\">\n                              <div class=\"v-input theme--light v-text-field\">\n                                <div class=\"v-input__prepend-outer\">\n                                  <div class=\"v-input__icon v-input__icon--prepend\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-account theme--light\"></i></div>\n                                </div>\n                                <div class=\"v-input__control\">\n                                  <div class=\"v-input__slot\">\n                                    <div class=\"v-text-field__slot\"><label class=\"v-label theme--light\" style=\"left:0px;right:auto;position:absolute;\">Username</label><input required=\"required\" type=\"text\" value=\"\"></div>\n                                  </div>\n                                  <div class=\"v-text-field__details\">\n                                    <div class=\"v-messages theme--light\">\n                                      <div class=\"v-messages__wrapper\"></div>\n                                    </div>\n                                  </div>\n                                </div>\n                              </div>\n                              <div class=\"v-input theme--light v-text-field\">\n                                <div class=\"v-input__prepend-outer\">\n                                  <div class=\"v-input__icon v-input__icon--prepend\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-lock theme--light\"></i></div>\n                                </div>\n                                <div class=\"v-input__control\">\n                                  <div class=\"v-input__slot\">\n                                    <div class=\"v-text-field__slot\"><label class=\"v-label theme--light\" style=\"left:0px;right:auto;position:absolute;\">Password</label><input required=\"required\" type=\"password\" value=\"\"></div>\n                                  </div>\n                                  <div class=\"v-text-field__details\">\n                                    <div class=\"v-messages theme--light\">\n                                      <div class=\"v-messages__wrapper\"></div>\n                                    </div>\n                                  </div>\n                                </div>\n                              </div>\n                              <div class=\"v-input theme--light v-text-field\">\n                                <div class=\"v-input__prepend-outer\">\n                                  <div class=\"v-input__icon v-input__icon--prepend\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-lock theme--light\"></i></div>\n                                </div>\n                                <div class=\"v-input__control\">\n                                  <div class=\"v-input__slot\">\n                                    <div class=\"v-text-field__slot\"><label class=\"v-label theme--light\" style=\"left:0px;right:auto;position:absolute;\">Confirm password</label><input required=\"required\" type=\"password\" value=\"\"></div>\n                                  </div>\n                                  <div class=\"v-text-field__details\">\n                                    <div class=\"v-messages theme--light\">\n                                      <div class=\"v-messages__wrapper\"></div>\n                                    </div>\n                                  </div>\n                                </div>\n                              </div>\n                              <div class=\"row\">\n                                <div class=\"col\"><span></span></div>\n                                <div class=\"col\">\n                                  <div class=\"v-input theme--light v-text-field\">\n                                    <div class=\"v-input__prepend-outer\">\n                                      <div class=\"v-input__icon v-input__icon--prepend\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-shield-check theme--light\"></i></div>\n                                    </div>\n                                    <div class=\"v-input__control\">\n                                      <div class=\"v-input__slot\">\n                                        <div class=\"v-text-field__slot\"><label class=\"v-label theme--light\" style=\"left:0px;right:auto;position:absolute;\">Captcha</label><input required=\"required\" type=\"text\" value=\"\"></div>\n                                        <div class=\"v-input__append-inner\"><button type=\"button\" class=\"v-btn v-btn--icon v-btn--round theme--light v-size--default\"><span class=\"v-btn__content\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-refresh theme--light\"></i></span></button></div>\n                                      </div>\n                                      <div class=\"v-text-field__details\">\n                                        <div class=\"v-messages theme--light\">\n                                          <div class=\"v-messages__wrapper\"></div>\n                                        </div>\n                                      </div>\n                                    </div>\n                                  </div>\n                                </div>\n                              </div>\n                              <div class=\"row\">\n                                <div class=\"col\"><button type=\"button\" disabled=\"disabled\" class=\"v-btn v-btn--block v-btn--disabled v-btn--has-bg theme--light v-size--default\"><span class=\"v-btn__content\">\n                register\n              </span></button></div>\n                                <div class=\"col\"><button type=\"button\" class=\"v-btn v-btn--block v-btn--is-elevated v-btn--has-bg theme--light v-size--default\"><span class=\"v-btn__content\">\n                enter login page\n              </span></button></div>\n                              </div>\n                            </form>\n                          </div>\n                        </div>\n                      </div>\n                    </div>\n                  </div>\n                  <div class=\"spacer\"></div>\n                </div>\n                <div class=\"spacer\"></div>\n              </div>\n            </div>\n          </div>\n        </div>\n      </div>\n    </div>\n    <script>\n      window.__NUXT__ = (function(a, b, c) {\n        return {\n          layout: \"login\",\n          data: [{}],\n          fetch: {},\n          error: a,\n          state: {\n            sidebar: b,\n            message: {\n              list: []\n            },\n            session: {\n              login: b,\n              username: \"\",\n              settings: {}\n            }\n          },\n          serverRendered: true,\n          routePath: \"\\\\u002Fregister\",\n          config: {\n            _app: {\n              basePath: \"\\\\u002F\",\n              assetsPath: \"\\\\u002F_nuxt\\\\u002F\",\n              cdnURL: a\n            }\n          },\n          env: {\n            VERSION_NUM: c,\n            BUILD_TIME: c\n          }\n        }\n      }(null, false, \"0\"));\n    </script>\n\n\n  </body>\n\n</html>\n`;\n\nexports[`/settings 1`] = `\n<!DOCTYPE html>\n<html data-n-head-ssr=\"\">\n\n  <head>\n    <meta data-n-head=\"ssr\" charset=\"utf-8\">\n    <meta data-n-head=\"ssr\" name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <meta data-n-head=\"ssr\" data-hid=\"description\" name=\"description\" content=\"An online tool (crawler) to analyze users performance in online judges (coding competition websites). Supported OJ: POJ, HDU, ZOJ, HYSBZ, CodeForces, UVA, ICPC Live Archive, FZU, SPOJ, Timus (URAL), LeetCode_CN, CSU, LibreOJ, 洛谷, 牛客OJ, Lutece (UESTC), AtCoder, AIZU, CodeChef, El Judge, BNUOJ, Codewars, UOJ, NBUT, 51Nod, DMOJ, SDUT OJ, VJudge\">\n    <title>Settings - OJ Analyzer</title>\n    <link data-n-head=\"ssr\" rel=\"icon\" type=\"image/x-icon\" href=\"/favicon.ico\">\n    <link data-n-head=\"ssr\" rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Noto+Serif+SC:300,400,500,700\">\n    <link data-n-head=\"ssr\" rel=\"stylesheet\" type=\"text/css\" href=\"https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900&amp;display=swap\">\n    <link data-n-head=\"ssr\" rel=\"stylesheet\" type=\"text/css\" href=\"https://cdn.jsdelivr.net/npm/@mdi/font@latest/css/materialdesignicons.min.css\">\n    <style data-n-head=\"vuetify\" type=\"text/css\" id=\"vuetify-theme-stylesheet\" nonce=\"undefined\">\n      .v-application a {\n        color: #1976d2;\n      }\n\n      .v-application .primary {\n        background-color: #1976d2 !important;\n        border-color: #1976d2 !important;\n      }\n\n      .v-application .primary--text {\n        color: #1976d2 !important;\n        caret-color: #1976d2 !important;\n      }\n\n      .v-application .primary.lighten-5 {\n        background-color: #c7fdff !important;\n        border-color: #c7fdff !important;\n      }\n\n      .v-application .primary--text.text--lighten-5 {\n        color: #c7fdff !important;\n        caret-color: #c7fdff !important;\n      }\n\n      .v-application .primary.lighten-4 {\n        background-color: #a8e0ff !important;\n        border-color: #a8e0ff !important;\n      }\n\n      .v-application .primary--text.text--lighten-4 {\n        color: #a8e0ff !important;\n        caret-color: #a8e0ff !important;\n      }\n\n      .v-application .primary.lighten-3 {\n        background-color: #8ac5ff !important;\n        border-color: #8ac5ff !important;\n      }\n\n      .v-application .primary--text.text--lighten-3 {\n        color: #8ac5ff !important;\n        caret-color: #8ac5ff !important;\n      }\n\n      .v-application .primary.lighten-2 {\n        background-color: #6aaaff !important;\n        border-color: #6aaaff !important;\n      }\n\n      .v-application .primary--text.text--lighten-2 {\n        color: #6aaaff !important;\n        caret-color: #6aaaff !important;\n      }\n\n      .v-application .primary.lighten-1 {\n        background-color: #488fef !important;\n        border-color: #488fef !important;\n      }\n\n      .v-application .primary--text.text--lighten-1 {\n        color: #488fef !important;\n        caret-color: #488fef !important;\n      }\n\n      .v-application .primary.darken-1 {\n        background-color: #005eb6 !important;\n        border-color: #005eb6 !important;\n      }\n\n      .v-application .primary--text.text--darken-1 {\n        color: #005eb6 !important;\n        caret-color: #005eb6 !important;\n      }\n\n      .v-application .primary.darken-2 {\n        background-color: #00479b !important;\n        border-color: #00479b !important;\n      }\n\n      .v-application .primary--text.text--darken-2 {\n        color: #00479b !important;\n        caret-color: #00479b !important;\n      }\n\n      .v-application .primary.darken-3 {\n        background-color: #003180 !important;\n        border-color: #003180 !important;\n      }\n\n      .v-application .primary--text.text--darken-3 {\n        color: #003180 !important;\n        caret-color: #003180 !important;\n      }\n\n      .v-application .primary.darken-4 {\n        background-color: #001e67 !important;\n        border-color: #001e67 !important;\n      }\n\n      .v-application .primary--text.text--darken-4 {\n        color: #001e67 !important;\n        caret-color: #001e67 !important;\n      }\n\n      .v-application .secondary {\n        background-color: #bdbdbd !important;\n        border-color: #bdbdbd !important;\n      }\n\n      .v-application .secondary--text {\n        color: #bdbdbd !important;\n        caret-color: #bdbdbd !important;\n      }\n\n      .v-application .secondary.lighten-5 {\n        background-color: #ffffff !important;\n        border-color: #ffffff !important;\n      }\n\n      .v-application .secondary--text.text--lighten-5 {\n        color: #ffffff !important;\n        caret-color: #ffffff !important;\n      }\n\n      .v-application .secondary.lighten-4 {\n        background-color: #ffffff !important;\n        border-color: #ffffff !important;\n      }\n\n      .v-application .secondary--text.text--lighten-4 {\n        color: #ffffff !important;\n        caret-color: #ffffff !important;\n      }\n\n      .v-application .secondary.lighten-3 {\n        background-color: #ffffff !important;\n        border-color: #ffffff !important;\n      }\n\n      .v-application .secondary--text.text--lighten-3 {\n        color: #ffffff !important;\n        caret-color: #ffffff !important;\n      }\n\n      .v-application .secondary.lighten-2 {\n        background-color: #f5f5f5 !important;\n        border-color: #f5f5f5 !important;\n      }\n\n      .v-application .secondary--text.text--lighten-2 {\n        color: #f5f5f5 !important;\n        caret-color: #f5f5f5 !important;\n      }\n\n      .v-application .secondary.lighten-1 {\n        background-color: #d9d9d9 !important;\n        border-color: #d9d9d9 !important;\n      }\n\n      .v-application .secondary--text.text--lighten-1 {\n        color: #d9d9d9 !important;\n        caret-color: #d9d9d9 !important;\n      }\n\n      .v-application .secondary.darken-1 {\n        background-color: #a2a2a2 !important;\n        border-color: #a2a2a2 !important;\n      }\n\n      .v-application .secondary--text.text--darken-1 {\n        color: #a2a2a2 !important;\n        caret-color: #a2a2a2 !important;\n      }\n\n      .v-application .secondary.darken-2 {\n        background-color: #888888 !important;\n        border-color: #888888 !important;\n      }\n\n      .v-application .secondary--text.text--darken-2 {\n        color: #888888 !important;\n        caret-color: #888888 !important;\n      }\n\n      .v-application .secondary.darken-3 {\n        background-color: #6e6e6e !important;\n        border-color: #6e6e6e !important;\n      }\n\n      .v-application .secondary--text.text--darken-3 {\n        color: #6e6e6e !important;\n        caret-color: #6e6e6e !important;\n      }\n\n      .v-application .secondary.darken-4 {\n        background-color: #565656 !important;\n        border-color: #565656 !important;\n      }\n\n      .v-application .secondary--text.text--darken-4 {\n        color: #565656 !important;\n        caret-color: #565656 !important;\n      }\n\n      .v-application .accent {\n        background-color: #448aff !important;\n        border-color: #448aff !important;\n      }\n\n      .v-application .accent--text {\n        color: #448aff !important;\n        caret-color: #448aff !important;\n      }\n\n      .v-application .accent.lighten-5 {\n        background-color: #e8ffff !important;\n        border-color: #e8ffff !important;\n      }\n\n      .v-application .accent--text.text--lighten-5 {\n        color: #e8ffff !important;\n        caret-color: #e8ffff !important;\n      }\n\n      .v-application .accent.lighten-4 {\n        background-color: #c9f7ff !important;\n        border-color: #c9f7ff !important;\n      }\n\n      .v-application .accent--text.text--lighten-4 {\n        color: #c9f7ff !important;\n        caret-color: #c9f7ff !important;\n      }\n\n      .v-application .accent.lighten-3 {\n        background-color: #a9daff !important;\n        border-color: #a9daff !important;\n      }\n\n      .v-application .accent--text.text--lighten-3 {\n        color: #a9daff !important;\n        caret-color: #a9daff !important;\n      }\n\n      .v-application .accent.lighten-2 {\n        background-color: #8abfff !important;\n        border-color: #8abfff !important;\n      }\n\n      .v-application .accent--text.text--lighten-2 {\n        color: #8abfff !important;\n        caret-color: #8abfff !important;\n      }\n\n      .v-application .accent.lighten-1 {\n        background-color: #69a4ff !important;\n        border-color: #69a4ff !important;\n      }\n\n      .v-application .accent--text.text--lighten-1 {\n        color: #69a4ff !important;\n        caret-color: #69a4ff !important;\n      }\n\n      .v-application .accent.darken-1 {\n        background-color: #0171e2 !important;\n        border-color: #0171e2 !important;\n      }\n\n      .v-application .accent--text.text--darken-1 {\n        color: #0171e2 !important;\n        caret-color: #0171e2 !important;\n      }\n\n      .v-application .accent.darken-2 {\n        background-color: #0059c5 !important;\n        border-color: #0059c5 !important;\n      }\n\n      .v-application .accent--text.text--darken-2 {\n        color: #0059c5 !important;\n        caret-color: #0059c5 !important;\n      }\n\n      .v-application .accent.darken-3 {\n        background-color: #0042aa !important;\n        border-color: #0042aa !important;\n      }\n\n      .v-application .accent--text.text--darken-3 {\n        color: #0042aa !important;\n        caret-color: #0042aa !important;\n      }\n\n      .v-application .accent.darken-4 {\n        background-color: #002e8e !important;\n        border-color: #002e8e !important;\n      }\n\n      .v-application .accent--text.text--darken-4 {\n        color: #002e8e !important;\n        caret-color: #002e8e !important;\n      }\n\n      .v-application .error {\n        background-color: #d50000 !important;\n        border-color: #d50000 !important;\n      }\n\n      .v-application .error--text {\n        color: #d50000 !important;\n        caret-color: #d50000 !important;\n      }\n\n      .v-application .error.lighten-5 {\n        background-color: #ffb082 !important;\n        border-color: #ffb082 !important;\n      }\n\n      .v-application .error--text.text--lighten-5 {\n        color: #ffb082 !important;\n        caret-color: #ffb082 !important;\n      }\n\n      .v-application .error.lighten-4 {\n        background-color: #ff9268 !important;\n        border-color: #ff9268 !important;\n      }\n\n      .v-application .error--text.text--lighten-4 {\n        color: #ff9268 !important;\n        caret-color: #ff9268 !important;\n      }\n\n      .v-application .error.lighten-3 {\n        background-color: #ff754e !important;\n        border-color: #ff754e !important;\n      }\n\n      .v-application .error--text.text--lighten-3 {\n        color: #ff754e !important;\n        caret-color: #ff754e !important;\n      }\n\n      .v-application .error.lighten-2 {\n        background-color: #ff5736 !important;\n        border-color: #ff5736 !important;\n      }\n\n      .v-application .error--text.text--lighten-2 {\n        color: #ff5736 !important;\n        caret-color: #ff5736 !important;\n      }\n\n      .v-application .error.lighten-1 {\n        background-color: #f6361d !important;\n        border-color: #f6361d !important;\n      }\n\n      .v-application .error--text.text--lighten-1 {\n        color: #f6361d !important;\n        caret-color: #f6361d !important;\n      }\n\n      .v-application .error.darken-1 {\n        background-color: #b40000 !important;\n        border-color: #b40000 !important;\n      }\n\n      .v-application .error--text.text--darken-1 {\n        color: #b40000 !important;\n        caret-color: #b40000 !important;\n      }\n\n      .v-application .error.darken-2 {\n        background-color: #950000 !important;\n        border-color: #950000 !important;\n      }\n\n      .v-application .error--text.text--darken-2 {\n        color: #950000 !important;\n        caret-color: #950000 !important;\n      }\n\n      .v-application .error.darken-3 {\n        background-color: #770000 !important;\n        border-color: #770000 !important;\n      }\n\n      .v-application .error--text.text--darken-3 {\n        color: #770000 !important;\n        caret-color: #770000 !important;\n      }\n\n      .v-application .error.darken-4 {\n        background-color: #5c0000 !important;\n        border-color: #5c0000 !important;\n      }\n\n      .v-application .error--text.text--darken-4 {\n        color: #5c0000 !important;\n        caret-color: #5c0000 !important;\n      }\n\n      .v-application .info {\n        background-color: #42a5f5 !important;\n        border-color: #42a5f5 !important;\n      }\n\n      .v-application .info--text {\n        color: #42a5f5 !important;\n        caret-color: #42a5f5 !important;\n      }\n\n      .v-application .info.lighten-5 {\n        background-color: #e4ffff !important;\n        border-color: #e4ffff !important;\n      }\n\n      .v-application .info--text.text--lighten-5 {\n        color: #e4ffff !important;\n        caret-color: #e4ffff !important;\n      }\n\n      .v-application .info.lighten-4 {\n        background-color: #c5ffff !important;\n        border-color: #c5ffff !important;\n      }\n\n      .v-application .info--text.text--lighten-4 {\n        color: #c5ffff !important;\n        caret-color: #c5ffff !important;\n      }\n\n      .v-application .info.lighten-3 {\n        background-color: #a6f8ff !important;\n        border-color: #a6f8ff !important;\n      }\n\n      .v-application .info--text.text--lighten-3 {\n        color: #a6f8ff !important;\n        caret-color: #a6f8ff !important;\n      }\n\n      .v-application .info.lighten-2 {\n        background-color: #87dcff !important;\n        border-color: #87dcff !important;\n      }\n\n      .v-application .info--text.text--lighten-2 {\n        color: #87dcff !important;\n        caret-color: #87dcff !important;\n      }\n\n      .v-application .info.lighten-1 {\n        background-color: #66c0ff !important;\n        border-color: #66c0ff !important;\n      }\n\n      .v-application .info--text.text--lighten-1 {\n        color: #66c0ff !important;\n        caret-color: #66c0ff !important;\n      }\n\n      .v-application .info.darken-1 {\n        background-color: #018bd8 !important;\n        border-color: #018bd8 !important;\n      }\n\n      .v-application .info--text.text--darken-1 {\n        color: #018bd8 !important;\n        caret-color: #018bd8 !important;\n      }\n\n      .v-application .info.darken-2 {\n        background-color: #0072bc !important;\n        border-color: #0072bc !important;\n      }\n\n      .v-application .info--text.text--darken-2 {\n        color: #0072bc !important;\n        caret-color: #0072bc !important;\n      }\n\n      .v-application .info.darken-3 {\n        background-color: #0059a1 !important;\n        border-color: #0059a1 !important;\n      }\n\n      .v-application .info--text.text--darken-3 {\n        color: #0059a1 !important;\n        caret-color: #0059a1 !important;\n      }\n\n      .v-application .info.darken-4 {\n        background-color: #004286 !important;\n        border-color: #004286 !important;\n      }\n\n      .v-application .info--text.text--darken-4 {\n        color: #004286 !important;\n        caret-color: #004286 !important;\n      }\n\n      .v-application .success {\n        background-color: #81c784 !important;\n        border-color: #81c784 !important;\n      }\n\n      .v-application .success--text {\n        color: #81c784 !important;\n        caret-color: #81c784 !important;\n      }\n\n      .v-application .success.lighten-5 {\n        background-color: #ffffff !important;\n        border-color: #ffffff !important;\n      }\n\n      .v-application .success--text.text--lighten-5 {\n        color: #ffffff !important;\n        caret-color: #ffffff !important;\n      }\n\n      .v-application .success.lighten-4 {\n        background-color: #f1fff2 !important;\n        border-color: #f1fff2 !important;\n      }\n\n      .v-application .success--text.text--lighten-4 {\n        color: #f1fff2 !important;\n        caret-color: #f1fff2 !important;\n      }\n\n      .v-application .success.lighten-3 {\n        background-color: #d4ffd5 !important;\n        border-color: #d4ffd5 !important;\n      }\n\n      .v-application .success--text.text--lighten-3 {\n        color: #d4ffd5 !important;\n        caret-color: #d4ffd5 !important;\n      }\n\n      .v-application .success.lighten-2 {\n        background-color: #b8ffba !important;\n        border-color: #b8ffba !important;\n      }\n\n      .v-application .success--text.text--lighten-2 {\n        color: #b8ffba !important;\n        caret-color: #b8ffba !important;\n      }\n\n      .v-application .success.lighten-1 {\n        background-color: #9ce39e !important;\n        border-color: #9ce39e !important;\n      }\n\n      .v-application .success--text.text--lighten-1 {\n        color: #9ce39e !important;\n        caret-color: #9ce39e !important;\n      }\n\n      .v-application .success.darken-1 {\n        background-color: #66ab6a !important;\n        border-color: #66ab6a !important;\n      }\n\n      .v-application .success--text.text--darken-1 {\n        color: #66ab6a !important;\n        caret-color: #66ab6a !important;\n      }\n\n      .v-application .success.darken-2 {\n        background-color: #4c9152 !important;\n        border-color: #4c9152 !important;\n      }\n\n      .v-application .success--text.text--darken-2 {\n        color: #4c9152 !important;\n        caret-color: #4c9152 !important;\n      }\n\n      .v-application .success.darken-3 {\n        background-color: #31773a !important;\n        border-color: #31773a !important;\n      }\n\n      .v-application .success--text.text--darken-3 {\n        color: #31773a !important;\n        caret-color: #31773a !important;\n      }\n\n      .v-application .success.darken-4 {\n        background-color: #145d23 !important;\n        border-color: #145d23 !important;\n      }\n\n      .v-application .success--text.text--darken-4 {\n        color: #145d23 !important;\n        caret-color: #145d23 !important;\n      }\n\n      .v-application .warning {\n        background-color: #ffa000 !important;\n        border-color: #ffa000 !important;\n      }\n\n      .v-application .warning--text {\n        color: #ffa000 !important;\n        caret-color: #ffa000 !important;\n      }\n\n      .v-application .warning.lighten-5 {\n        background-color: #ffffa4 !important;\n        border-color: #ffffa4 !important;\n      }\n\n      .v-application .warning--text.text--lighten-5 {\n        color: #ffffa4 !important;\n        caret-color: #ffffa4 !important;\n      }\n\n      .v-application .warning.lighten-4 {\n        background-color: #ffff87 !important;\n        border-color: #ffff87 !important;\n      }\n\n      .v-application .warning--text.text--lighten-4 {\n        color: #ffff87 !important;\n        caret-color: #ffff87 !important;\n      }\n\n      .v-application .warning.lighten-3 {\n        background-color: #fff36b !important;\n        border-color: #fff36b !important;\n      }\n\n      .v-application .warning--text.text--lighten-3 {\n        color: #fff36b !important;\n        caret-color: #fff36b !important;\n      }\n\n      .v-application .warning.lighten-2 {\n        background-color: #ffd74e !important;\n        border-color: #ffd74e !important;\n      }\n\n      .v-application .warning--text.text--lighten-2 {\n        color: #ffd74e !important;\n        caret-color: #ffd74e !important;\n      }\n\n      .v-application .warning.lighten-1 {\n        background-color: #ffbb30 !important;\n        border-color: #ffbb30 !important;\n      }\n\n      .v-application .warning--text.text--lighten-1 {\n        color: #ffbb30 !important;\n        caret-color: #ffbb30 !important;\n      }\n\n      .v-application .warning.darken-1 {\n        background-color: #df8600 !important;\n        border-color: #df8600 !important;\n      }\n\n      .v-application .warning--text.text--darken-1 {\n        color: #df8600 !important;\n        caret-color: #df8600 !important;\n      }\n\n      .v-application .warning.darken-2 {\n        background-color: #c06c00 !important;\n        border-color: #c06c00 !important;\n      }\n\n      .v-application .warning--text.text--darken-2 {\n        color: #c06c00 !important;\n        caret-color: #c06c00 !important;\n      }\n\n      .v-application .warning.darken-3 {\n        background-color: #a15400 !important;\n        border-color: #a15400 !important;\n      }\n\n      .v-application .warning--text.text--darken-3 {\n        color: #a15400 !important;\n        caret-color: #a15400 !important;\n      }\n\n      .v-application .warning.darken-4 {\n        background-color: #843c00 !important;\n        border-color: #843c00 !important;\n      }\n\n      .v-application .warning--text.text--darken-4 {\n        color: #843c00 !important;\n        caret-color: #843c00 !important;\n      }\n    </style>\n  </head>\n\n  <body>\n    <script>\n      (window.ActiveXObject || \"ActiveXObject\" in window) && alert(\"本网站不支持IE或IE内核的浏览器，建议您使用火狐浏览器、谷歌浏览器或微软的Edge浏览器（Windows10自带）\")\n    </script>\n    <div id=\"__nuxt\"><!---->\n      <div id=\"__layout\">\n        <div data-app=\"true\" id=\"app\" class=\"v-application v-application--is-ltr theme--light\">\n          <div class=\"v-application--wrap\">\n            <nav class=\"v-navigation-drawer v-navigation-drawer--close v-navigation-drawer--fixed v-navigation-drawer--is-mobile theme--light\" style=\"height:100vh;top:0px;transform:translateX(-100%);width:256px;\">\n              <div class=\"v-navigation-drawer__content\">\n                <div class=\"v-list v-sheet theme--light\"><a href=\"/\" tabindex=\"0\" class=\"v-list-item v-list-item--link theme--light\">\n                    <div class=\"v-list-item__action\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-home theme--light\"></i></div>\n                    <div class=\"v-list-item__content\">\n                      <div class=\"v-list-item__title\">Homepage</div>\n                    </div>\n                  </a><a href=\"/statistics\" tabindex=\"0\" class=\"v-list-item v-list-item--link theme--light\">\n                    <div class=\"v-list-item__action\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-code-tags theme--light\"></i></div>\n                    <div class=\"v-list-item__content\">\n                      <div class=\"v-list-item__title\">Statistics</div>\n                    </div>\n                  </a><a href=\"/history\" tabindex=\"0\" class=\"v-list-item v-list-item--link theme--light\">\n                    <div class=\"v-list-item__action\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-history theme--light\"></i></div>\n                    <div class=\"v-list-item__content\">\n                      <div class=\"v-list-item__title\">History</div>\n                    </div>\n                  </a><a href=\"/settings\" aria-current=\"page\" tabindex=\"0\" class=\"v-list-item--active v-list-item v-list-item--link theme--light\">\n                    <div class=\"v-list-item__action\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-cog theme--light\"></i></div>\n                    <div class=\"v-list-item__content\">\n                      <div class=\"v-list-item__title\">Settings</div>\n                    </div>\n                  </a><a href=\"/about\" tabindex=\"0\" class=\"v-list-item v-list-item--link theme--light\">\n                    <div class=\"v-list-item__action\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-information theme--light\"></i></div>\n                    <div class=\"v-list-item__content\">\n                      <div class=\"v-list-item__title\">About</div>\n                    </div>\n                  </a></div>\n              </div>\n              <div class=\"v-navigation-drawer__border\"></div>\n            </nav>\n            <header class=\"v-sheet theme--light v-toolbar v-toolbar--absolute v-app-bar\" style=\"height:56px;margin-top:0px;transform:translateY(0px);left:0px;right:0px;\">\n              <div class=\"v-toolbar__content\" style=\"height:56px;\"><button type=\"button\" class=\"v-app-bar__nav-icon v-btn v-btn--icon v-btn--round theme--light v-size--default\"><span class=\"v-btn__content\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-menu theme--light\"></i></span></button> <!---->\n                <div class=\"v-toolbar__title\">OJ Analyzer</div> <!----> <!---->\n                <div class=\"spacer\"></div> <!----> <!----> <span class=\"v-tooltip v-tooltip--bottom\"><!----><button type=\"button\" class=\"v-btn v-btn--text theme--light v-size--default\"><span class=\"v-btn__content\"><i aria-hidden=\"true\" class=\"v-icon notranslate v-icon--left mdi mdi-login theme--light\" style=\"display:none;\"></i> admin\n    </span></button></span> <span class=\"v-tooltip v-tooltip--left\"><!----><a href=\"https://github.com/Liu233w/acm-statistics\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"v-btn v-btn--icon v-btn--round theme--light v-size--default\"><span class=\"v-btn__content\"><i aria-hidden=\"true\" medium=\"\" class=\"v-icon notranslate mdi mdi-github theme--light\"></i></span></a></span>\n              </div>\n            </header>\n            <main class=\"v-main v-content\" style=\"padding-top:56px;padding-right:0px;padding-bottom:0px;padding-left:0px;\">\n              <div class=\"v-main__wrap v-content__wrap\">\n                <div class=\"container container--fluid\">\n                  <div class=\"row\">\n                    <div class=\"col\">\n                      <div class=\"v-card v-sheet theme--light\">\n                        <div class=\"v-card__title\">Sign out</div>\n                        <div class=\"v-card__text\">\n                          Logout from this computer.\n                        </div>\n                        <div class=\"v-card__actions\"><button type=\"button\" class=\"v-btn v-btn--text theme--light v-size--default\"><span class=\"v-btn__content\">\n            sign out\n          </span></button></div>\n                      </div>\n                    </div>\n                  </div>\n                  <div class=\"row\">\n                    <div class=\"col\">\n                      <div class=\"v-card v-sheet theme--light\">\n                        <div class=\"v-card__title\">Auto save query history</div>\n                        <div class=\"v-card__text\">\n                          <div class=\"v-input v-input--is-label-active v-input--is-dirty theme--light v-input--selection-controls v-input--radio-group v-input--radio-group--column\">\n                            <div class=\"v-input__control\">\n                              <div class=\"v-input__slot\" style=\"height:auto;\">\n                                <div role=\"radiogroup\" class=\"v-input--radio-group__input\">\n                                  <div class=\"v-radio theme--light v-item--active\">\n                                    <div class=\"v-input--selection-controls__input\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-radiobox-marked theme--light primary--text\"></i><input aria-checked=\"true\" role=\"radio\" type=\"radio\" value=\"true\" checked=\"checked\">\n                                      <div class=\"v-input--selection-controls__ripple primary--text\"></div>\n                                    </div><label class=\"v-label theme--light\" style=\"left:0px;right:auto;position:relative;\">Save history after finishing query</label>\n                                  </div>\n                                  <div class=\"v-radio theme--light\">\n                                    <div class=\"v-input--selection-controls__input\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-radiobox-blank theme--light\"></i><input aria-checked=\"false\" role=\"radio\" type=\"radio\" value=\"false\">\n                                      <div class=\"v-input--selection-controls__ripple\"></div>\n                                    </div><label class=\"v-label theme--light\" style=\"left:0px;right:auto;position:relative;\">Only save history when clicking view summary button</label>\n                                  </div>\n                                </div>\n                              </div>\n                              <div class=\"v-messages theme--light\">\n                                <div class=\"v-messages__wrapper\"></div>\n                              </div>\n                            </div>\n                          </div>\n                        </div>\n                        <div class=\"v-card__actions\"><button type=\"button\" disabled=\"disabled\" class=\"v-btn v-btn--disabled v-btn--text theme--light v-size--default\"><span class=\"v-btn__content\">\n            save\n          </span></button></div>\n                      </div>\n                    </div>\n                  </div>\n                  <div class=\"row\">\n                    <div class=\"col\">\n                      <div class=\"v-card v-sheet theme--light\">\n                        <div class=\"v-card__title\">Change time zone</div>\n                        <div class=\"v-card__text\">\n                          <p>You may change your time zone every 24 hours.</p>\n                          <div class=\"v-input v-input--is-label-active v-input--is-dirty theme--light v-text-field v-select\">\n                            <div class=\"v-input__control\">\n                              <div role=\"button\" aria-haspopup=\"listbox\" aria-expanded=\"false\" class=\"v-input__slot\">\n                                <div class=\"v-select__slot\"><label class=\"v-label v-label--active theme--light\" style=\"left:0px;right:auto;position:absolute;\">Time Zone</label>\n                                  <div class=\"v-select__selections\">\n                                    <div class=\"v-select__selection v-select__selection--comma\">(GMT) UTC</div><input readonly=\"readonly\" type=\"text\" aria-readonly=\"false\" autocomplete=\"off\">\n                                  </div>\n                                  <div class=\"v-input__append-inner\">\n                                    <div class=\"v-input__icon v-input__icon--append\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-menu-down theme--light\"></i></div>\n                                  </div><input type=\"hidden\" value=\"UTC\">\n                                </div>\n                                <div class=\"v-menu\"><!----></div>\n                              </div>\n                              <div class=\"v-text-field__details\">\n                                <div class=\"v-messages theme--light\">\n                                  <div class=\"v-messages__wrapper\"></div>\n                                </div>\n                              </div>\n                            </div>\n                          </div>\n                        </div>\n                        <div class=\"v-card__actions\"><button type=\"button\" class=\"v-btn v-btn--text theme--light v-size--default\"><span class=\"v-btn__content\">\n            save\n          </span></button></div>\n                        <div class=\"v-overlay v-overlay--absolute theme--dark\" style=\"z-index:5;\">\n                          <div class=\"v-overlay__scrim\" style=\"opacity:0;background-color:#212121;border-color:#212121;\"></div>\n                        </div>\n                      </div>\n                    </div>\n                  </div>\n                  <div class=\"row\">\n                    <div class=\"col\">\n                      <div class=\"v-card v-sheet theme--light\">\n                        <div class=\"v-card__title\">Change Password</div>\n                        <div class=\"v-card__text\">\n                          <form novalidate=\"novalidate\" class=\"v-form\">\n                            <div class=\"v-input theme--light v-text-field\">\n                              <div class=\"v-input__prepend-outer\">\n                                <div class=\"v-input__icon v-input__icon--prepend\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-lock theme--light\"></i></div>\n                              </div>\n                              <div class=\"v-input__control\">\n                                <div class=\"v-input__slot\">\n                                  <div class=\"v-text-field__slot\"><label class=\"v-label theme--light\" style=\"left:0px;right:auto;position:absolute;\">Current Password</label><input required=\"required\" type=\"password\" value=\"\"></div>\n                                </div>\n                                <div class=\"v-text-field__details\">\n                                  <div class=\"v-messages theme--light\">\n                                    <div class=\"v-messages__wrapper\"></div>\n                                  </div>\n                                </div>\n                              </div>\n                            </div>\n                            <div class=\"v-input theme--light v-text-field\">\n                              <div class=\"v-input__prepend-outer\">\n                                <div class=\"v-input__icon v-input__icon--prepend\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-lock theme--light\"></i></div>\n                              </div>\n                              <div class=\"v-input__control\">\n                                <div class=\"v-input__slot\">\n                                  <div class=\"v-text-field__slot\"><label class=\"v-label theme--light\" style=\"left:0px;right:auto;position:absolute;\">New Password</label><input required=\"required\" type=\"password\" value=\"\"></div>\n                                </div>\n                                <div class=\"v-text-field__details\">\n                                  <div class=\"v-messages theme--light\">\n                                    <div class=\"v-messages__wrapper\"></div>\n                                  </div>\n                                </div>\n                              </div>\n                            </div>\n                            <div class=\"v-input theme--light v-text-field\">\n                              <div class=\"v-input__prepend-outer\">\n                                <div class=\"v-input__icon v-input__icon--prepend\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-lock theme--light\"></i></div>\n                              </div>\n                              <div class=\"v-input__control\">\n                                <div class=\"v-input__slot\">\n                                  <div class=\"v-text-field__slot\"><label class=\"v-label theme--light\" style=\"left:0px;right:auto;position:absolute;\">Confirm Password</label><input required=\"required\" type=\"password\" value=\"\"></div>\n                                </div>\n                                <div class=\"v-text-field__details\">\n                                  <div class=\"v-messages theme--light\">\n                                    <div class=\"v-messages__wrapper\"></div>\n                                  </div>\n                                </div>\n                              </div>\n                            </div>\n                          </form>\n                        </div>\n                        <div class=\"v-card__actions\"><button type=\"button\" disabled=\"disabled\" class=\"v-btn v-btn--disabled v-btn--text theme--light v-size--default\"><span class=\"v-btn__content\">\n            submit\n          </span></button></div>\n                        <div class=\"v-overlay v-overlay--absolute theme--dark\" style=\"z-index:5;\">\n                          <div class=\"v-overlay__scrim\" style=\"opacity:0;background-color:#212121;border-color:#212121;\"></div>\n                        </div>\n                      </div>\n                    </div>\n                  </div>\n                  <div class=\"row\">\n                    <div class=\"col\">\n                      <div class=\"v-card v-sheet theme--light\">\n                        <div class=\"v-card__title red--text\">\n                          Delete Account\n                        </div>\n                        <div class=\"v-card__text\">\n                          Delete this account and all data related to it.\n                        </div>\n                        <div class=\"v-card__actions\"><button type=\"button\" class=\"v-btn v-btn--text theme--light v-size--default red--text\"><span class=\"v-btn__content\">\n            delete\n          </span></button></div>\n                      </div>\n                    </div>\n                  </div>\n                  <div class=\"v-dialog__container\"><!----></div>\n                </div>\n              </div>\n            </main>\n            <footer class=\"v-footer v-sheet theme--light v-footer--absolute v-footer--inset\" style=\"left:0px;right:0px;bottom:0px;\"><span class=\"text-body-2\">© 2018 - 1970 Shumin Liu and Contributors</span></footer>\n            <div class=\"message-panel v-card v-sheet theme--light\" style=\"display:none;\"><v-list class=\"pa-0\"></v-list> <!----></div>\n          </div>\n        </div>\n      </div>\n    </div>\n    <script>\n      window.__NUXT__ = (function(a, b, c, d, e) {\n        return {\n          layout: \"default\",\n          data: [{}],\n          fetch: {},\n          error: c,\n          state: {\n            sidebar: false,\n            message: {\n              list: []\n            },\n            session: {\n              login: d,\n              username: \"admin\",\n              settings: {\n                \"Abp.Localization.DefaultLanguageName\": \"en\",\n                \"Abp.Notifications.ReceiveNotifications\": a,\n                \"Abp.Timing.TimeZone\": \"UTC\",\n                \"Abp.Zero.UserManagement.IsEmailConfirmationRequiredForLogin\": b,\n                \"Abp.Zero.OrganizationUnits.MaxUserMembershipCount\": \"2147483647\",\n                \"Abp.Zero.UserManagement.TwoFactorLogin.IsEnabled\": a,\n                \"Abp.Zero.UserManagement.TwoFactorLogin.IsRememberBrowserEnabled\": a,\n                \"Abp.Zero.UserManagement.TwoFactorLogin.IsEmailProviderEnabled\": a,\n                \"Abp.Zero.UserManagement.TwoFactorLogin.IsSmsProviderEnabled\": a,\n                \"Abp.Zero.UserManagement.UserLockOut.IsEnabled\": a,\n                \"Abp.Zero.UserManagement.UserLockOut.MaxFailedAccessAttemptsBeforeLockout\": \"5\",\n                \"Abp.Zero.UserManagement.UserLockOut.DefaultAccountLockoutSeconds\": \"300\",\n                \"Abp.Zero.UserManagement.PasswordComplexity.RequireDigit\": b,\n                \"Abp.Zero.UserManagement.PasswordComplexity.RequireLowercase\": b,\n                \"Abp.Zero.UserManagement.PasswordComplexity.RequireNonAlphanumeric\": b,\n                \"Abp.Zero.UserManagement.PasswordComplexity.RequireUppercase\": b,\n                \"Abp.Zero.UserManagement.PasswordComplexity.RequiredLength\": \"6\",\n                \"App.UiTheme\": \"red\",\n                \"App.AutoSaveHistory\": a\n              }\n            }\n          },\n          serverRendered: d,\n          routePath: \"\\\\u002Fsettings\",\n          config: {\n            _app: {\n              basePath: \"\\\\u002F\",\n              assetsPath: \"\\\\u002F_nuxt\\\\u002F\",\n              cdnURL: c\n            }\n          },\n          env: {\n            VERSION_NUM: e,\n            BUILD_TIME: e\n          }\n        }\n      }(\"true\", \"false\", null, true, \"0\"));\n    </script>\n\n\n  </body>\n\n</html>\n`;\n\nexports[`/statistics 1`] = `\n<!DOCTYPE html>\n<html data-n-head-ssr=\"\">\n\n  <head>\n    <meta data-n-head=\"ssr\" charset=\"utf-8\">\n    <meta data-n-head=\"ssr\" name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <meta data-n-head=\"ssr\" data-hid=\"description\" name=\"description\" content=\"An online tool (crawler) to analyze users performance in online judges (coding competition websites). Supported OJ: POJ, HDU, ZOJ, HYSBZ, CodeForces, UVA, ICPC Live Archive, FZU, SPOJ, Timus (URAL), LeetCode_CN, CSU, LibreOJ, 洛谷, 牛客OJ, Lutece (UESTC), AtCoder, AIZU, CodeChef, El Judge, BNUOJ, Codewars, UOJ, NBUT, 51Nod, DMOJ, SDUT OJ, VJudge\">\n    <title>Statistics - OJ Analyzer</title>\n    <link data-n-head=\"ssr\" rel=\"icon\" type=\"image/x-icon\" href=\"/favicon.ico\">\n    <link data-n-head=\"ssr\" rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Noto+Serif+SC:300,400,500,700\">\n    <link data-n-head=\"ssr\" rel=\"stylesheet\" type=\"text/css\" href=\"https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900&amp;display=swap\">\n    <link data-n-head=\"ssr\" rel=\"stylesheet\" type=\"text/css\" href=\"https://cdn.jsdelivr.net/npm/@mdi/font@latest/css/materialdesignicons.min.css\">\n    <style data-n-head=\"vuetify\" type=\"text/css\" id=\"vuetify-theme-stylesheet\" nonce=\"undefined\">\n      .v-application a {\n        color: #1976d2;\n      }\n\n      .v-application .primary {\n        background-color: #1976d2 !important;\n        border-color: #1976d2 !important;\n      }\n\n      .v-application .primary--text {\n        color: #1976d2 !important;\n        caret-color: #1976d2 !important;\n      }\n\n      .v-application .primary.lighten-5 {\n        background-color: #c7fdff !important;\n        border-color: #c7fdff !important;\n      }\n\n      .v-application .primary--text.text--lighten-5 {\n        color: #c7fdff !important;\n        caret-color: #c7fdff !important;\n      }\n\n      .v-application .primary.lighten-4 {\n        background-color: #a8e0ff !important;\n        border-color: #a8e0ff !important;\n      }\n\n      .v-application .primary--text.text--lighten-4 {\n        color: #a8e0ff !important;\n        caret-color: #a8e0ff !important;\n      }\n\n      .v-application .primary.lighten-3 {\n        background-color: #8ac5ff !important;\n        border-color: #8ac5ff !important;\n      }\n\n      .v-application .primary--text.text--lighten-3 {\n        color: #8ac5ff !important;\n        caret-color: #8ac5ff !important;\n      }\n\n      .v-application .primary.lighten-2 {\n        background-color: #6aaaff !important;\n        border-color: #6aaaff !important;\n      }\n\n      .v-application .primary--text.text--lighten-2 {\n        color: #6aaaff !important;\n        caret-color: #6aaaff !important;\n      }\n\n      .v-application .primary.lighten-1 {\n        background-color: #488fef !important;\n        border-color: #488fef !important;\n      }\n\n      .v-application .primary--text.text--lighten-1 {\n        color: #488fef !important;\n        caret-color: #488fef !important;\n      }\n\n      .v-application .primary.darken-1 {\n        background-color: #005eb6 !important;\n        border-color: #005eb6 !important;\n      }\n\n      .v-application .primary--text.text--darken-1 {\n        color: #005eb6 !important;\n        caret-color: #005eb6 !important;\n      }\n\n      .v-application .primary.darken-2 {\n        background-color: #00479b !important;\n        border-color: #00479b !important;\n      }\n\n      .v-application .primary--text.text--darken-2 {\n        color: #00479b !important;\n        caret-color: #00479b !important;\n      }\n\n      .v-application .primary.darken-3 {\n        background-color: #003180 !important;\n        border-color: #003180 !important;\n      }\n\n      .v-application .primary--text.text--darken-3 {\n        color: #003180 !important;\n        caret-color: #003180 !important;\n      }\n\n      .v-application .primary.darken-4 {\n        background-color: #001e67 !important;\n        border-color: #001e67 !important;\n      }\n\n      .v-application .primary--text.text--darken-4 {\n        color: #001e67 !important;\n        caret-color: #001e67 !important;\n      }\n\n      .v-application .secondary {\n        background-color: #bdbdbd !important;\n        border-color: #bdbdbd !important;\n      }\n\n      .v-application .secondary--text {\n        color: #bdbdbd !important;\n        caret-color: #bdbdbd !important;\n      }\n\n      .v-application .secondary.lighten-5 {\n        background-color: #ffffff !important;\n        border-color: #ffffff !important;\n      }\n\n      .v-application .secondary--text.text--lighten-5 {\n        color: #ffffff !important;\n        caret-color: #ffffff !important;\n      }\n\n      .v-application .secondary.lighten-4 {\n        background-color: #ffffff !important;\n        border-color: #ffffff !important;\n      }\n\n      .v-application .secondary--text.text--lighten-4 {\n        color: #ffffff !important;\n        caret-color: #ffffff !important;\n      }\n\n      .v-application .secondary.lighten-3 {\n        background-color: #ffffff !important;\n        border-color: #ffffff !important;\n      }\n\n      .v-application .secondary--text.text--lighten-3 {\n        color: #ffffff !important;\n        caret-color: #ffffff !important;\n      }\n\n      .v-application .secondary.lighten-2 {\n        background-color: #f5f5f5 !important;\n        border-color: #f5f5f5 !important;\n      }\n\n      .v-application .secondary--text.text--lighten-2 {\n        color: #f5f5f5 !important;\n        caret-color: #f5f5f5 !important;\n      }\n\n      .v-application .secondary.lighten-1 {\n        background-color: #d9d9d9 !important;\n        border-color: #d9d9d9 !important;\n      }\n\n      .v-application .secondary--text.text--lighten-1 {\n        color: #d9d9d9 !important;\n        caret-color: #d9d9d9 !important;\n      }\n\n      .v-application .secondary.darken-1 {\n        background-color: #a2a2a2 !important;\n        border-color: #a2a2a2 !important;\n      }\n\n      .v-application .secondary--text.text--darken-1 {\n        color: #a2a2a2 !important;\n        caret-color: #a2a2a2 !important;\n      }\n\n      .v-application .secondary.darken-2 {\n        background-color: #888888 !important;\n        border-color: #888888 !important;\n      }\n\n      .v-application .secondary--text.text--darken-2 {\n        color: #888888 !important;\n        caret-color: #888888 !important;\n      }\n\n      .v-application .secondary.darken-3 {\n        background-color: #6e6e6e !important;\n        border-color: #6e6e6e !important;\n      }\n\n      .v-application .secondary--text.text--darken-3 {\n        color: #6e6e6e !important;\n        caret-color: #6e6e6e !important;\n      }\n\n      .v-application .secondary.darken-4 {\n        background-color: #565656 !important;\n        border-color: #565656 !important;\n      }\n\n      .v-application .secondary--text.text--darken-4 {\n        color: #565656 !important;\n        caret-color: #565656 !important;\n      }\n\n      .v-application .accent {\n        background-color: #448aff !important;\n        border-color: #448aff !important;\n      }\n\n      .v-application .accent--text {\n        color: #448aff !important;\n        caret-color: #448aff !important;\n      }\n\n      .v-application .accent.lighten-5 {\n        background-color: #e8ffff !important;\n        border-color: #e8ffff !important;\n      }\n\n      .v-application .accent--text.text--lighten-5 {\n        color: #e8ffff !important;\n        caret-color: #e8ffff !important;\n      }\n\n      .v-application .accent.lighten-4 {\n        background-color: #c9f7ff !important;\n        border-color: #c9f7ff !important;\n      }\n\n      .v-application .accent--text.text--lighten-4 {\n        color: #c9f7ff !important;\n        caret-color: #c9f7ff !important;\n      }\n\n      .v-application .accent.lighten-3 {\n        background-color: #a9daff !important;\n        border-color: #a9daff !important;\n      }\n\n      .v-application .accent--text.text--lighten-3 {\n        color: #a9daff !important;\n        caret-color: #a9daff !important;\n      }\n\n      .v-application .accent.lighten-2 {\n        background-color: #8abfff !important;\n        border-color: #8abfff !important;\n      }\n\n      .v-application .accent--text.text--lighten-2 {\n        color: #8abfff !important;\n        caret-color: #8abfff !important;\n      }\n\n      .v-application .accent.lighten-1 {\n        background-color: #69a4ff !important;\n        border-color: #69a4ff !important;\n      }\n\n      .v-application .accent--text.text--lighten-1 {\n        color: #69a4ff !important;\n        caret-color: #69a4ff !important;\n      }\n\n      .v-application .accent.darken-1 {\n        background-color: #0171e2 !important;\n        border-color: #0171e2 !important;\n      }\n\n      .v-application .accent--text.text--darken-1 {\n        color: #0171e2 !important;\n        caret-color: #0171e2 !important;\n      }\n\n      .v-application .accent.darken-2 {\n        background-color: #0059c5 !important;\n        border-color: #0059c5 !important;\n      }\n\n      .v-application .accent--text.text--darken-2 {\n        color: #0059c5 !important;\n        caret-color: #0059c5 !important;\n      }\n\n      .v-application .accent.darken-3 {\n        background-color: #0042aa !important;\n        border-color: #0042aa !important;\n      }\n\n      .v-application .accent--text.text--darken-3 {\n        color: #0042aa !important;\n        caret-color: #0042aa !important;\n      }\n\n      .v-application .accent.darken-4 {\n        background-color: #002e8e !important;\n        border-color: #002e8e !important;\n      }\n\n      .v-application .accent--text.text--darken-4 {\n        color: #002e8e !important;\n        caret-color: #002e8e !important;\n      }\n\n      .v-application .error {\n        background-color: #d50000 !important;\n        border-color: #d50000 !important;\n      }\n\n      .v-application .error--text {\n        color: #d50000 !important;\n        caret-color: #d50000 !important;\n      }\n\n      .v-application .error.lighten-5 {\n        background-color: #ffb082 !important;\n        border-color: #ffb082 !important;\n      }\n\n      .v-application .error--text.text--lighten-5 {\n        color: #ffb082 !important;\n        caret-color: #ffb082 !important;\n      }\n\n      .v-application .error.lighten-4 {\n        background-color: #ff9268 !important;\n        border-color: #ff9268 !important;\n      }\n\n      .v-application .error--text.text--lighten-4 {\n        color: #ff9268 !important;\n        caret-color: #ff9268 !important;\n      }\n\n      .v-application .error.lighten-3 {\n        background-color: #ff754e !important;\n        border-color: #ff754e !important;\n      }\n\n      .v-application .error--text.text--lighten-3 {\n        color: #ff754e !important;\n        caret-color: #ff754e !important;\n      }\n\n      .v-application .error.lighten-2 {\n        background-color: #ff5736 !important;\n        border-color: #ff5736 !important;\n      }\n\n      .v-application .error--text.text--lighten-2 {\n        color: #ff5736 !important;\n        caret-color: #ff5736 !important;\n      }\n\n      .v-application .error.lighten-1 {\n        background-color: #f6361d !important;\n        border-color: #f6361d !important;\n      }\n\n      .v-application .error--text.text--lighten-1 {\n        color: #f6361d !important;\n        caret-color: #f6361d !important;\n      }\n\n      .v-application .error.darken-1 {\n        background-color: #b40000 !important;\n        border-color: #b40000 !important;\n      }\n\n      .v-application .error--text.text--darken-1 {\n        color: #b40000 !important;\n        caret-color: #b40000 !important;\n      }\n\n      .v-application .error.darken-2 {\n        background-color: #950000 !important;\n        border-color: #950000 !important;\n      }\n\n      .v-application .error--text.text--darken-2 {\n        color: #950000 !important;\n        caret-color: #950000 !important;\n      }\n\n      .v-application .error.darken-3 {\n        background-color: #770000 !important;\n        border-color: #770000 !important;\n      }\n\n      .v-application .error--text.text--darken-3 {\n        color: #770000 !important;\n        caret-color: #770000 !important;\n      }\n\n      .v-application .error.darken-4 {\n        background-color: #5c0000 !important;\n        border-color: #5c0000 !important;\n      }\n\n      .v-application .error--text.text--darken-4 {\n        color: #5c0000 !important;\n        caret-color: #5c0000 !important;\n      }\n\n      .v-application .info {\n        background-color: #42a5f5 !important;\n        border-color: #42a5f5 !important;\n      }\n\n      .v-application .info--text {\n        color: #42a5f5 !important;\n        caret-color: #42a5f5 !important;\n      }\n\n      .v-application .info.lighten-5 {\n        background-color: #e4ffff !important;\n        border-color: #e4ffff !important;\n      }\n\n      .v-application .info--text.text--lighten-5 {\n        color: #e4ffff !important;\n        caret-color: #e4ffff !important;\n      }\n\n      .v-application .info.lighten-4 {\n        background-color: #c5ffff !important;\n        border-color: #c5ffff !important;\n      }\n\n      .v-application .info--text.text--lighten-4 {\n        color: #c5ffff !important;\n        caret-color: #c5ffff !important;\n      }\n\n      .v-application .info.lighten-3 {\n        background-color: #a6f8ff !important;\n        border-color: #a6f8ff !important;\n      }\n\n      .v-application .info--text.text--lighten-3 {\n        color: #a6f8ff !important;\n        caret-color: #a6f8ff !important;\n      }\n\n      .v-application .info.lighten-2 {\n        background-color: #87dcff !important;\n        border-color: #87dcff !important;\n      }\n\n      .v-application .info--text.text--lighten-2 {\n        color: #87dcff !important;\n        caret-color: #87dcff !important;\n      }\n\n      .v-application .info.lighten-1 {\n        background-color: #66c0ff !important;\n        border-color: #66c0ff !important;\n      }\n\n      .v-application .info--text.text--lighten-1 {\n        color: #66c0ff !important;\n        caret-color: #66c0ff !important;\n      }\n\n      .v-application .info.darken-1 {\n        background-color: #018bd8 !important;\n        border-color: #018bd8 !important;\n      }\n\n      .v-application .info--text.text--darken-1 {\n        color: #018bd8 !important;\n        caret-color: #018bd8 !important;\n      }\n\n      .v-application .info.darken-2 {\n        background-color: #0072bc !important;\n        border-color: #0072bc !important;\n      }\n\n      .v-application .info--text.text--darken-2 {\n        color: #0072bc !important;\n        caret-color: #0072bc !important;\n      }\n\n      .v-application .info.darken-3 {\n        background-color: #0059a1 !important;\n        border-color: #0059a1 !important;\n      }\n\n      .v-application .info--text.text--darken-3 {\n        color: #0059a1 !important;\n        caret-color: #0059a1 !important;\n      }\n\n      .v-application .info.darken-4 {\n        background-color: #004286 !important;\n        border-color: #004286 !important;\n      }\n\n      .v-application .info--text.text--darken-4 {\n        color: #004286 !important;\n        caret-color: #004286 !important;\n      }\n\n      .v-application .success {\n        background-color: #81c784 !important;\n        border-color: #81c784 !important;\n      }\n\n      .v-application .success--text {\n        color: #81c784 !important;\n        caret-color: #81c784 !important;\n      }\n\n      .v-application .success.lighten-5 {\n        background-color: #ffffff !important;\n        border-color: #ffffff !important;\n      }\n\n      .v-application .success--text.text--lighten-5 {\n        color: #ffffff !important;\n        caret-color: #ffffff !important;\n      }\n\n      .v-application .success.lighten-4 {\n        background-color: #f1fff2 !important;\n        border-color: #f1fff2 !important;\n      }\n\n      .v-application .success--text.text--lighten-4 {\n        color: #f1fff2 !important;\n        caret-color: #f1fff2 !important;\n      }\n\n      .v-application .success.lighten-3 {\n        background-color: #d4ffd5 !important;\n        border-color: #d4ffd5 !important;\n      }\n\n      .v-application .success--text.text--lighten-3 {\n        color: #d4ffd5 !important;\n        caret-color: #d4ffd5 !important;\n      }\n\n      .v-application .success.lighten-2 {\n        background-color: #b8ffba !important;\n        border-color: #b8ffba !important;\n      }\n\n      .v-application .success--text.text--lighten-2 {\n        color: #b8ffba !important;\n        caret-color: #b8ffba !important;\n      }\n\n      .v-application .success.lighten-1 {\n        background-color: #9ce39e !important;\n        border-color: #9ce39e !important;\n      }\n\n      .v-application .success--text.text--lighten-1 {\n        color: #9ce39e !important;\n        caret-color: #9ce39e !important;\n      }\n\n      .v-application .success.darken-1 {\n        background-color: #66ab6a !important;\n        border-color: #66ab6a !important;\n      }\n\n      .v-application .success--text.text--darken-1 {\n        color: #66ab6a !important;\n        caret-color: #66ab6a !important;\n      }\n\n      .v-application .success.darken-2 {\n        background-color: #4c9152 !important;\n        border-color: #4c9152 !important;\n      }\n\n      .v-application .success--text.text--darken-2 {\n        color: #4c9152 !important;\n        caret-color: #4c9152 !important;\n      }\n\n      .v-application .success.darken-3 {\n        background-color: #31773a !important;\n        border-color: #31773a !important;\n      }\n\n      .v-application .success--text.text--darken-3 {\n        color: #31773a !important;\n        caret-color: #31773a !important;\n      }\n\n      .v-application .success.darken-4 {\n        background-color: #145d23 !important;\n        border-color: #145d23 !important;\n      }\n\n      .v-application .success--text.text--darken-4 {\n        color: #145d23 !important;\n        caret-color: #145d23 !important;\n      }\n\n      .v-application .warning {\n        background-color: #ffa000 !important;\n        border-color: #ffa000 !important;\n      }\n\n      .v-application .warning--text {\n        color: #ffa000 !important;\n        caret-color: #ffa000 !important;\n      }\n\n      .v-application .warning.lighten-5 {\n        background-color: #ffffa4 !important;\n        border-color: #ffffa4 !important;\n      }\n\n      .v-application .warning--text.text--lighten-5 {\n        color: #ffffa4 !important;\n        caret-color: #ffffa4 !important;\n      }\n\n      .v-application .warning.lighten-4 {\n        background-color: #ffff87 !important;\n        border-color: #ffff87 !important;\n      }\n\n      .v-application .warning--text.text--lighten-4 {\n        color: #ffff87 !important;\n        caret-color: #ffff87 !important;\n      }\n\n      .v-application .warning.lighten-3 {\n        background-color: #fff36b !important;\n        border-color: #fff36b !important;\n      }\n\n      .v-application .warning--text.text--lighten-3 {\n        color: #fff36b !important;\n        caret-color: #fff36b !important;\n      }\n\n      .v-application .warning.lighten-2 {\n        background-color: #ffd74e !important;\n        border-color: #ffd74e !important;\n      }\n\n      .v-application .warning--text.text--lighten-2 {\n        color: #ffd74e !important;\n        caret-color: #ffd74e !important;\n      }\n\n      .v-application .warning.lighten-1 {\n        background-color: #ffbb30 !important;\n        border-color: #ffbb30 !important;\n      }\n\n      .v-application .warning--text.text--lighten-1 {\n        color: #ffbb30 !important;\n        caret-color: #ffbb30 !important;\n      }\n\n      .v-application .warning.darken-1 {\n        background-color: #df8600 !important;\n        border-color: #df8600 !important;\n      }\n\n      .v-application .warning--text.text--darken-1 {\n        color: #df8600 !important;\n        caret-color: #df8600 !important;\n      }\n\n      .v-application .warning.darken-2 {\n        background-color: #c06c00 !important;\n        border-color: #c06c00 !important;\n      }\n\n      .v-application .warning--text.text--darken-2 {\n        color: #c06c00 !important;\n        caret-color: #c06c00 !important;\n      }\n\n      .v-application .warning.darken-3 {\n        background-color: #a15400 !important;\n        border-color: #a15400 !important;\n      }\n\n      .v-application .warning--text.text--darken-3 {\n        color: #a15400 !important;\n        caret-color: #a15400 !important;\n      }\n\n      .v-application .warning.darken-4 {\n        background-color: #843c00 !important;\n        border-color: #843c00 !important;\n      }\n\n      .v-application .warning--text.text--darken-4 {\n        color: #843c00 !important;\n        caret-color: #843c00 !important;\n      }\n    </style>\n  </head>\n\n  <body>\n    <script>\n      (window.ActiveXObject || \"ActiveXObject\" in window) && alert(\"本网站不支持IE或IE内核的浏览器，建议您使用火狐浏览器、谷歌浏览器或微软的Edge浏览器（Windows10自带）\")\n    </script>\n    <div id=\"__nuxt\"><!---->\n      <div id=\"__layout\">\n        <div data-app=\"true\" id=\"app\" class=\"v-application v-application--is-ltr theme--light\">\n          <div class=\"v-application--wrap\">\n            <nav class=\"v-navigation-drawer v-navigation-drawer--close v-navigation-drawer--fixed v-navigation-drawer--is-mobile theme--light\" style=\"height:100vh;top:0px;transform:translateX(-100%);width:256px;\">\n              <div class=\"v-navigation-drawer__content\">\n                <div class=\"v-list v-sheet theme--light\"><a href=\"/\" tabindex=\"0\" class=\"v-list-item v-list-item--link theme--light\">\n                    <div class=\"v-list-item__action\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-home theme--light\"></i></div>\n                    <div class=\"v-list-item__content\">\n                      <div class=\"v-list-item__title\">Homepage</div>\n                    </div>\n                  </a><a href=\"/statistics\" aria-current=\"page\" tabindex=\"0\" class=\"v-list-item--active v-list-item v-list-item--link theme--light\">\n                    <div class=\"v-list-item__action\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-code-tags theme--light\"></i></div>\n                    <div class=\"v-list-item__content\">\n                      <div class=\"v-list-item__title\">Statistics</div>\n                    </div>\n                  </a><a href=\"/about\" tabindex=\"0\" class=\"v-list-item v-list-item--link theme--light\">\n                    <div class=\"v-list-item__action\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-information theme--light\"></i></div>\n                    <div class=\"v-list-item__content\">\n                      <div class=\"v-list-item__title\">About</div>\n                    </div>\n                  </a></div>\n              </div>\n              <div class=\"v-navigation-drawer__border\"></div>\n            </nav>\n            <header class=\"v-sheet theme--light v-toolbar v-toolbar--absolute v-app-bar\" style=\"height:56px;margin-top:0px;transform:translateY(0px);left:0px;right:0px;\">\n              <div class=\"v-toolbar__content\" style=\"height:56px;\"><button type=\"button\" class=\"v-app-bar__nav-icon v-btn v-btn--icon v-btn--round theme--light v-size--default\"><span class=\"v-btn__content\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-menu theme--light\"></i></span></button> <!---->\n                <div class=\"v-toolbar__title\">OJ Analyzer</div> <!----> <!---->\n                <div class=\"spacer\"></div> <!----> <!----> <span class=\"v-tooltip v-tooltip--bottom\"><!----><button type=\"button\" class=\"v-btn v-btn--text theme--light v-size--default\"><span class=\"v-btn__content\"><i aria-hidden=\"true\" class=\"v-icon notranslate v-icon--left mdi mdi-login theme--light\"></i> login\n    </span></button></span> <span class=\"v-tooltip v-tooltip--left\"><!----><a href=\"https://github.com/Liu233w/acm-statistics\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"v-btn v-btn--icon v-btn--round theme--light v-size--default\"><span class=\"v-btn__content\"><i aria-hidden=\"true\" medium=\"\" class=\"v-icon notranslate mdi mdi-github theme--light\"></i></span></a></span>\n              </div>\n            </header>\n            <main class=\"v-main v-content\" style=\"padding-top:56px;padding-right:0px;padding-bottom:0px;padding-left:0px;\">\n              <div class=\"v-main__wrap v-content__wrap\">\n                <div class=\"container grid-list-md\">\n                  <div wrap=\"\" class=\"row no-gutters\">\n                    <div class=\"pt-0 pb-0 col-md-3 col\">\n                      <div class=\"v-input theme--light v-text-field\" style=\"min-width:240px;\">\n                        <div class=\"v-input__control\">\n                          <div class=\"v-input__slot\">\n                            <div class=\"v-text-field__slot\"><label class=\"v-label theme--light\" style=\"left:0px;right:auto;position:absolute;\">Set all usernames</label><input required=\"required\" type=\"text\" value=\"\"></div>\n                          </div>\n                          <div class=\"v-text-field__details\">\n                            <div class=\"v-messages theme--light\">\n                              <div class=\"v-messages__wrapper\"></div>\n                            </div>\n                          </div>\n                        </div>\n                      </div>\n                    </div> <button type=\"button\" class=\"ma-1 primary v-btn v-btn--is-elevated v-btn--has-bg theme--light v-size--default\"><span class=\"v-btn__content\">\n      query\n    </span></button> <span class=\"v-tooltip v-tooltip--bottom\"><!----><button type=\"button\" class=\"ma-1 error v-btn v-btn--is-elevated v-btn--has-bg theme--light v-size--default\"><span class=\"v-btn__content\">\n          reset\n        </span></button></span> <span class=\"v-tooltip v-tooltip--bottom\"><!----><button type=\"button\" disabled=\"disabled\" class=\"ma-1 v-btn v-btn--disabled v-btn--has-bg theme--light v-size--default\"><span class=\"v-btn__content\">\n          reload\n        </span></button></span> <span class=\"v-tooltip v-tooltip--bottom\"><!----><button type=\"button\" class=\"v-btn v-btn--is-elevated v-btn--has-bg theme--light v-size--default ma-1\"><span class=\"v-btn__content\">\n          save username\n          </span></button></span>\n                    <div class=\"spacer\"></div> <!---->\n                  </div>\n                  <div class=\"row\">\n                    <div class=\"spacer\"></div>\n                    <div role=\"progressbar\" aria-valuemin=\"0\" aria-valuemax=\"100\" class=\"v-progress-circular mt-10 v-progress-circular--visible v-progress-circular--indeterminate primary--text\" style=\"height:100px;width:100px;\"><svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"20.833333333333336 20.833333333333336 41.66666666666667 41.66666666666667\" style=\"transform:rotate(0deg);\">\n                        <circle fill=\"transparent\" cx=\"41.66666666666667\" cy=\"41.66666666666667\" r=\"20\" stroke-width=\"1.666666666666667\" stroke-dasharray=\"125.664\" stroke-dashoffset=\"125.66370614359172px\" class=\"v-progress-circular__overlay\"></circle>\n                      </svg>\n                      <div class=\"v-progress-circular__info\"></div>\n                    </div>\n                    <div class=\"spacer\"></div>\n                  </div>\n                </div>\n              </div>\n            </main>\n            <footer class=\"v-footer v-sheet theme--light v-footer--absolute v-footer--inset\" style=\"left:0px;right:0px;bottom:0px;\"><span class=\"text-body-2\">© 2018 - 1970 Shumin Liu and Contributors</span></footer>\n            <div class=\"message-panel v-card v-sheet theme--light\" style=\"display:none;\"><v-list class=\"pa-0\"></v-list> <!----></div>\n          </div>\n        </div>\n      </div>\n    </div>\n    <script>\n      window.__NUXT__ = (function(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, A, B, C, D, E, F, G, H, I, J) {\n        return {\n          layout: \"default\",\n          data: [{}],\n          fetch: {},\n          error: c,\n          state: {\n            sidebar: f,\n            message: {\n              list: []\n            },\n            session: {\n              login: f,\n              username: a,\n              settings: {}\n            },\n            statistics: {\n              workers: [{\n                crawlerName: g,\n                username: a,\n                status: d,\n                solved: b,\n                submissions: b,\n                errorMessage: a,\n                tokenKey: c,\n                solvedList: [],\n                submissionsByCrawlerName: e\n              }, {\n                crawlerName: h,\n                username: a,\n                status: d,\n                solved: b,\n                submissions: b,\n                errorMessage: a,\n                tokenKey: c,\n                solvedList: [],\n                submissionsByCrawlerName: e\n              }, {\n                crawlerName: i,\n                username: a,\n                status: d,\n                solved: b,\n                submissions: b,\n                errorMessage: a,\n                tokenKey: c,\n                solvedList: [],\n                submissionsByCrawlerName: e\n              }, {\n                crawlerName: j,\n                username: a,\n                status: d,\n                solved: b,\n                submissions: b,\n                errorMessage: a,\n                tokenKey: c,\n                solvedList: [],\n                submissionsByCrawlerName: e\n              }, {\n                crawlerName: k,\n                username: a,\n                status: d,\n                solved: b,\n                submissions: b,\n                errorMessage: a,\n                tokenKey: c,\n                solvedList: [],\n                submissionsByCrawlerName: e\n              }, {\n                crawlerName: l,\n                username: a,\n                status: d,\n                solved: b,\n                submissions: b,\n                errorMessage: a,\n                tokenKey: c,\n                solvedList: [],\n                submissionsByCrawlerName: e\n              }, {\n                crawlerName: m,\n                username: a,\n                status: d,\n                solved: b,\n                submissions: b,\n                errorMessage: a,\n                tokenKey: c,\n                solvedList: [],\n                submissionsByCrawlerName: e\n              }, {\n                crawlerName: n,\n                username: a,\n                status: d,\n                solved: b,\n                submissions: b,\n                errorMessage: a,\n                tokenKey: c,\n                solvedList: [],\n                submissionsByCrawlerName: e\n              }, {\n                crawlerName: o,\n                username: a,\n                status: d,\n                solved: b,\n                submissions: b,\n                errorMessage: a,\n                tokenKey: c,\n                solvedList: [],\n                submissionsByCrawlerName: e\n              }, {\n                crawlerName: p,\n                username: a,\n                status: d,\n                solved: b,\n                submissions: b,\n                errorMessage: a,\n                tokenKey: c,\n                solvedList: [],\n                submissionsByCrawlerName: e\n              }, {\n                crawlerName: q,\n                username: a,\n                status: d,\n                solved: b,\n                submissions: b,\n                errorMessage: a,\n                tokenKey: c,\n                solvedList: [],\n                submissionsByCrawlerName: e\n              }, {\n                crawlerName: r,\n                username: a,\n                status: d,\n                solved: b,\n                submissions: b,\n                errorMessage: a,\n                tokenKey: c,\n                solvedList: [],\n                submissionsByCrawlerName: e\n              }, {\n                crawlerName: s,\n                username: a,\n                status: d,\n                solved: b,\n                submissions: b,\n                errorMessage: a,\n                tokenKey: c,\n                solvedList: [],\n                submissionsByCrawlerName: e\n              }, {\n                crawlerName: t,\n                username: a,\n                status: d,\n                solved: b,\n                submissions: b,\n                errorMessage: a,\n                tokenKey: c,\n                solvedList: [],\n                submissionsByCrawlerName: e\n              }, {\n                crawlerName: u,\n                username: a,\n                status: d,\n                solved: b,\n                submissions: b,\n                errorMessage: a,\n                tokenKey: c,\n                solvedList: [],\n                submissionsByCrawlerName: e\n              }, {\n                crawlerName: v,\n                username: a,\n                status: d,\n                solved: b,\n                submissions: b,\n                errorMessage: a,\n                tokenKey: c,\n                solvedList: [],\n                submissionsByCrawlerName: e\n              }, {\n                crawlerName: w,\n                username: a,\n                status: d,\n                solved: b,\n                submissions: b,\n                errorMessage: a,\n                tokenKey: c,\n                solvedList: [],\n                submissionsByCrawlerName: e\n              }, {\n                crawlerName: x,\n                username: a,\n                status: d,\n                solved: b,\n                submissions: b,\n                errorMessage: a,\n                tokenKey: c,\n                solvedList: [],\n                submissionsByCrawlerName: e\n              }, {\n                crawlerName: y,\n                username: a,\n                status: d,\n                solved: b,\n                submissions: b,\n                errorMessage: a,\n                tokenKey: c,\n                solvedList: [],\n                submissionsByCrawlerName: e\n              }, {\n                crawlerName: z,\n                username: a,\n                status: d,\n                solved: b,\n                submissions: b,\n                errorMessage: a,\n                tokenKey: c,\n                solvedList: [],\n                submissionsByCrawlerName: e\n              }, {\n                crawlerName: A,\n                username: a,\n                status: d,\n                solved: b,\n                submissions: b,\n                errorMessage: a,\n                tokenKey: c,\n                solvedList: [],\n                submissionsByCrawlerName: e\n              }, {\n                crawlerName: B,\n                username: a,\n                status: d,\n                solved: b,\n                submissions: b,\n                errorMessage: a,\n                tokenKey: c,\n                solvedList: [],\n                submissionsByCrawlerName: e\n              }, {\n                crawlerName: C,\n                username: a,\n                status: d,\n                solved: b,\n                submissions: b,\n                errorMessage: a,\n                tokenKey: c,\n                solvedList: [],\n                submissionsByCrawlerName: e\n              }, {\n                crawlerName: D,\n                username: a,\n                status: d,\n                solved: b,\n                submissions: b,\n                errorMessage: a,\n                tokenKey: c,\n                solvedList: [],\n                submissionsByCrawlerName: e\n              }, {\n                crawlerName: E,\n                username: a,\n                status: d,\n                solved: b,\n                submissions: b,\n                errorMessage: a,\n                tokenKey: c,\n                solvedList: [],\n                submissionsByCrawlerName: e\n              }, {\n                crawlerName: F,\n                username: a,\n                status: d,\n                solved: b,\n                submissions: b,\n                errorMessage: a,\n                tokenKey: c,\n                solvedList: [],\n                submissionsByCrawlerName: e\n              }, {\n                crawlerName: G,\n                username: a,\n                status: d,\n                solved: b,\n                submissions: b,\n                errorMessage: a,\n                tokenKey: c,\n                solvedList: [],\n                submissionsByCrawlerName: e\n              }, {\n                crawlerName: H,\n                username: a,\n                status: d,\n                solved: b,\n                submissions: b,\n                errorMessage: a,\n                tokenKey: c,\n                solvedList: [],\n                submissionsByCrawlerName: e\n              }],\n              crawlers: {\n                poj: {\n                  title: \"POJ\",\n                  description: c,\n                  url: \"http:\\\\u002F\\\\u002Fpoj.org\\\\u002F\",\n                  name: g\n                },\n                hdu: {\n                  title: \"HDU\",\n                  description: c,\n                  url: \"http:\\\\u002F\\\\u002Facm.hdu.edu.cn\\\\u002F\",\n                  name: h\n                },\n                zoj: {\n                  title: \"ZOJ\",\n                  description: \"Only nickname is supported (Only historical data are available since crawlers are prohibited by Pintia)\",\n                  url: \"https:\\\\u002F\\\\u002Fzoj.pintia.cn\\\\u002F\",\n                  name: i\n                },\n                dashiye: {\n                  title: \"HYSBZ\",\n                  description: c,\n                  url: \"http:\\\\u002F\\\\u002Fwww.lydsy.com\\\\u002FJudgeOnline\\\\u002F\",\n                  name: j\n                },\n                codeforces: {\n                  title: \"CodeForces\",\n                  description: \"Including CodeForces::Gym\",\n                  url: \"http:\\\\u002F\\\\u002Fcodeforces.com\\\\u002F\",\n                  name: k\n                },\n                uva: {\n                  title: \"UVA\",\n                  description: c,\n                  url: \"https:\\\\u002F\\\\u002Fuva.onlinejudge.org\\\\u002F\",\n                  name: l\n                },\n                uvalive: {\n                  title: \"ICPC Live Archive\",\n                  description: c,\n                  url: \"https:\\\\u002F\\\\u002Ficpcarchive.ecs.baylor.edu\\\\u002Findex.php\",\n                  name: m\n                },\n                fzu: {\n                  title: \"FZU\",\n                  description: c,\n                  url: \"http:\\\\u002F\\\\u002Facm.fzu.edu.cn\\\\u002Findex.php\",\n                  name: n\n                },\n                spoj: {\n                  title: \"SPOJ\",\n                  description: c,\n                  url: \"http:\\\\u002F\\\\u002Fwww.spoj.com\\\\u002F\",\n                  name: o\n                },\n                timus: {\n                  title: \"Timus (URAL)\",\n                  description: c,\n                  url: \"http:\\\\u002F\\\\u002Facm.timus.ru\\\\u002F\",\n                  name: p\n                },\n                leetcode_cn: {\n                  title: \"LeetCode_CN\",\n                  description: c,\n                  url: \"https:\\\\u002F\\\\u002Fleetcode.cn\",\n                  name: q\n                },\n                csu: {\n                  title: \"CSU\",\n                  description: c,\n                  url: \"http:\\\\u002F\\\\u002Facm.csu.edu.cn\\\\u002F\",\n                  name: r\n                },\n                loj: {\n                  title: \"LibreOJ\",\n                  description: c,\n                  url: \"https:\\\\u002F\\\\u002Floj.ac\\\\u002F\",\n                  name: s\n                },\n                luogu: {\n                  title: \"洛谷\",\n                  description: \"Both username and user_id are supported\",\n                  url: \"https:\\\\u002F\\\\u002Fwww.luogu.com.cn\",\n                  name: t\n                },\n                nowcoder: {\n                  title: \"牛客OJ\",\n                  description: \"目前只支持输入用户ID（在你的AC列表的URL中）\",\n                  url: \"https:\\\\u002F\\\\u002Fac.nowcoder.com\\\\u002Facm\\\\u002Fhome\",\n                  name: u\n                },\n                uestc: {\n                  title: \"Lutece (UESTC)\",\n                  description: c,\n                  url: \"https:\\\\u002F\\\\u002Facm.uestc.edu.cn\\\\u002Fhome\",\n                  name: v\n                },\n                atcoder: {\n                  title: \"AtCoder\",\n                  description: \"API provided by kenkoooo (https:\\\\u002F\\\\u002Fgithub.com\\\\u002Fkenkoooo\\\\u002FAtCoderProblems).\\\\nOnly AC number is supported\\\\n\",\n                  url: \"https:\\\\u002F\\\\u002Fatcoder.jp\",\n                  name: w\n                },\n                aizu: {\n                  title: \"AIZU\",\n                  description: c,\n                  url: \"http:\\\\u002F\\\\u002Fjudge.u-aizu.ac.jp\\\\u002Fonlinejudge\\\\u002Findex.jsp\",\n                  name: x\n                },\n                codechef: {\n                  title: \"CodeChef\",\n                  description: c,\n                  url: \"https:\\\\u002F\\\\u002Fwww.codechef.com\\\\u002F\",\n                  name: y\n                },\n                eljudge: {\n                  title: \"El Judge\",\n                  description: c,\n                  url: \"http:\\\\u002F\\\\u002Facm.mipt.ru\",\n                  name: z\n                },\n                bnu: {\n                  title: \"BNUOJ\",\n                  description: c,\n                  url: \"http:\\\\u002F\\\\u002Fwww.bnuoj.com\",\n                  name: A\n                },\n                codewars: {\n                  title: \"Codewars\",\n                  description: \"Currently it does not have submission number.\\\\nUsername is case sensitive.\\\\n\",\n                  url: \"https:\\\\u002F\\\\u002Fwww.codewars.com\",\n                  name: B\n                },\n                uoj: {\n                  title: \"UOJ\",\n                  description: c,\n                  url: \"http:\\\\u002F\\\\u002Fuoj.ac\\\\u002F\",\n                  name: C\n                },\n                nbut: {\n                  title: \"NBUT\",\n                  description: c,\n                  url: \"https:\\\\u002F\\\\u002Fac.2333.moe\\\\u002F\",\n                  name: D\n                },\n                nod: {\n                  title: \"51Nod\",\n                  description: \"Please use your nickname (displayed in your home page)\",\n                  url: \"https:\\\\u002F\\\\u002Fwww.51nod.com\",\n                  name: E\n                },\n                dmoj: {\n                  title: \"DMOJ\",\n                  description: c,\n                  url: \"https:\\\\u002F\\\\u002Fdmoj.ca\\\\u002F\",\n                  name: F\n                },\n                sdutoj: {\n                  title: \"SDUT OJ\",\n                  description: c,\n                  url: \"https:\\\\u002F\\\\u002Foj.sdutacm.cn\\\\u002F\",\n                  name: G\n                },\n                vjudge: {\n                  title: \"VJudge\",\n                  description: \"virtual judge，这个OJ的题量是单独计算的\",\n                  url: \"https:\\\\u002F\\\\u002Fvjudge.net\\\\u002F\",\n                  virtual_judge: I,\n                  name: H\n                }\n              },\n              mainUsername: a\n            }\n          },\n          serverRendered: I,\n          routePath: \"\\\\u002Fstatistics\",\n          config: {\n            _app: {\n              basePath: \"\\\\u002F\",\n              assetsPath: \"\\\\u002F_nuxt\\\\u002F\",\n              cdnURL: c\n            }\n          },\n          env: {\n            VERSION_NUM: J,\n            BUILD_TIME: J\n          }\n        }\n      }(\"\", 0, null, \"WAITING\", void 0, false, \"poj\", \"hdu\", \"zoj\", \"dashiye\", \"codeforces\", \"uva\", \"uvalive\", \"fzu\", \"spoj\", \"timus\", \"leetcode_cn\", \"csu\", \"loj\", \"luogu\", \"nowcoder\", \"uestc\", \"atcoder\", \"aizu\", \"codechef\", \"eljudge\", \"bnu\", \"codewars\", \"uoj\", \"nbut\", \"nod\", \"dmoj\", \"sdutoj\", \"vjudge\", true, \"0\"));\n    </script>\n\n\n  </body>\n\n</html>\n`;\n"
  },
  {
    "path": "e2e/__test__/pages/pages_snapshot.test.js",
    "content": "const _ = require('lodash')\nconst superagent = require('superagent')\nconst cheerio = require('cheerio')\nconst request = require('superagent')\n\nconst basePath = 'http://127.0.0.1:3000'\n\nasync function testPageByPath(path, authToken) {\n\n  const url = basePath + path\n  console.log(`request url at ${url}`)\n\n  let request = superagent.get(url)\n  if (authToken) {\n    request = request.set('Cookie', ['OAuthToken=' + authToken])\n  }\n\n  const res = await request\n  if (!res.ok) {\n    console.log(`path ${path} does not have a 200 response, the response: `, res)\n    throw Error(`path ${path} does not have a 200 response`)\n  }\n  const $ = cheerio.load(res.text)\n\n  $('link[href^=\"/_nuxt/\"]').remove()\n  $('script[src^=\"/_nuxt/\"]').remove()\n\n  // 移除 data-v- 开头的属性和 data-vue-ssr-id 属性\n  $('*').each((i, el) => {\n    $(el).removeAttr('data-vue-ssr-id')\n    for (let key in $(el).attr()) {\n      // eslint-disable-next-line lodash/prefer-lodash-method\n      if (key.startsWith('data-v-')) {\n        $(el).removeAttr(key)\n      }\n    }\n  })\n\n  // remove id=\"input-XXXX\" and for=\"input-XXXX\"\n  $('*').each((i, el) => {\n    for (let key in $(el).attr()) {\n      const value = $(el).attr(key)\n      if (_.startsWith(value, 'input-') && _.includes(['for', 'id'], key)) {\n        $(el).removeAttr(key)\n      }\n    }\n  })\n\n  // remove aria-owns=\"list-XXX\"\n  $('*').each((i, el) => {\n    for (let key in $(el).attr()) {\n      const value = $(el).attr(key)\n      if (_.startsWith(value, 'list-') && key === 'aria-owns') {\n        $(el).removeAttr(key)\n      }\n    }\n  })\n\n  // 将 css 中的id属性去掉\n  $('style').each((i, el) => {\n    $(el).html(_.replace($(el).html(), /\\[data-v-.*?\\]/g, ''))\n  })\n\n  // 移除随机数\n  const storeEl = $(_.filter($('script'), el => /window\\.__NUXT__/.test($(el).html())))\n  storeEl.html(_.replace(storeEl.html(), /,key:\\.\\d*/g, ''))\n\n  // remove name=\"radio-XXX\"\n  $('*').each((i, el) => {\n    for (let key in $(el).attr()) {\n      const value = $(el).attr(key)\n      if (_.startsWith(value, 'radio-') && key === 'name') {\n        $(el).removeAttr(key)\n      }\n    }\n  })\n\n  // remove aria-labelledby=\"input-XXX\"\n  $('*').each((i, el) => {\n    for (let key in $(el).attr()) {\n      const value = $(el).attr(key)\n      if (_.startsWith(value, 'input-') && key === 'aria-labelledby') {\n        $(el).removeAttr(key)\n      }\n    }\n  })\n\n  // remove data-fetch-key=\"data-v-...\" and the value\n  const dataVValues = []\n  const dataFetchKeyKey = 'data-fetch-key'\n  $('*').each((i, el) => {\n    const value = $(el).attr(dataFetchKeyKey)\n    if (value) {\n      $(el).removeAttr(dataFetchKeyKey)\n      dataVValues.push(value)\n    }\n  })\n\n  let html = $(storeEl).html()\n  dataVValues.forEach(v => {\n    html = html.replace(`\"${v}\":`, '\"FETCH_KEY\":')\n  })\n  $(storeEl).html(html)\n\n  expect($.html()).toMatchSnapshot()\n}\n\nconst testPaths = [\n  '/',\n  '/statistics',\n  '/about',\n  '/login',\n  '/register',\n]\n\nfor (let path of testPaths) {\n  test(path, async () => await testPageByPath(path))\n}\n\n\nlet authToken\n\n// eslint-disable-next-line no-undef\nbeforeAll(async () => {\n  // do login\n  const res = await superagent.post(basePath + '/api/TokenAuth/Authenticate')\n    .send({\n      userNameOrEmailAddress: 'admin',\n      password: '123qwe',\n      rememberClient: true,\n    })\n\n  authToken = res.body.result.accessToken\n})\n\nconst testPathsRequireLogin = [\n  '/settings',\n]\n\nfor (let path of testPathsRequireLogin) {\n  test(path, () => testPageByPath(path, authToken))\n}\n\ntest('/history', async () => {\n  await request.get(`${basePath}/mock-configurer/history-snapshot/history`)\n  await testPageByPath('/history/', authToken)\n})\n\ntest('/history/{historyId}', async () => {\n  await request.get(`${basePath}/mock-configurer/history-snapshot/summary`)\n  await testPageByPath('/history/1', authToken)\n})"
  },
  {
    "path": "e2e/cypress/fixtures/example.json",
    "content": "{\n  \"name\": \"Using fixtures to represent data\",\n  \"email\": \"hello@cypress.io\",\n  \"body\": \"Fixtures are a great way to mock data for responses to routes\"\n}"
  },
  {
    "path": "e2e/cypress/fixtures/history_list-max5.json",
    "content": "{\n  \"result\": {\n    \"totalCount\": 60,\n    \"items\": [{\n        \"historyId\": 10,\n        \"summaryId\": 10,\n        \"creationTime\": \"2020-04-10T08:00:00Z\",\n        \"submission\": 100,\n        \"solved\": 10\n      },\n      {\n        \"historyId\": 9,\n        \"summaryId\": 9,\n        \"creationTime\": \"2020-04-09T08:00:00Z\",\n        \"submission\": 90,\n        \"solved\": 9\n      },\n      {\n        \"historyId\": 8,\n        \"summaryId\": 8,\n        \"creationTime\": \"2020-04-08T08:00:00Z\",\n        \"submission\": 80,\n        \"solved\": 8\n      },\n      {\n        \"historyId\": 7,\n        \"summaryId\": 7,\n        \"creationTime\": \"2020-04-07T08:00:00Z\",\n        \"submission\": 70,\n        \"solved\": 7\n      },\n      {\n        \"historyId\": 6,\n        \"summaryId\": 6,\n        \"creationTime\": \"2020-04-06T08:00:00Z\",\n        \"submission\": 60,\n        \"solved\": 6\n      }\n    ]\n  },\n  \"targetUrl\": null,\n  \"success\": true,\n  \"error\": null,\n  \"unAuthorizedRequest\": false,\n  \"__abp\": true\n}"
  },
  {
    "path": "e2e/cypress/fixtures/history_list-skip10.json",
    "content": "{\n  \"result\": {\n    \"totalCount\": 60,\n    \"items\": [{\n        \"historyId\": 20,\n        \"summaryId\": 20,\n        \"creationTime\": \"2020-04-20T08:00:00Z\",\n        \"submission\": 200,\n        \"solved\": 20\n      },\n      {\n        \"historyId\": 19,\n        \"summaryId\": 19,\n        \"creationTime\": \"2020-04-19T08:00:00Z\",\n        \"submission\": 190,\n        \"solved\": 19\n      },\n      {\n        \"historyId\": 18,\n        \"summaryId\": 18,\n        \"creationTime\": \"2020-04-18T08:00:00Z\",\n        \"submission\": 180,\n        \"solved\": 18\n      },\n      {\n        \"historyId\": 17,\n        \"summaryId\": 17,\n        \"creationTime\": \"2020-04-17T08:00:00Z\",\n        \"submission\": 170,\n        \"solved\": 17\n      },\n      {\n        \"historyId\": 16,\n        \"summaryId\": 16,\n        \"creationTime\": \"2020-04-16T08:00:00Z\",\n        \"submission\": 160,\n        \"solved\": 16\n      },\n      {\n        \"historyId\": 15,\n        \"summaryId\": 15,\n        \"creationTime\": \"2020-04-15T08:00:00Z\",\n        \"submission\": 150,\n        \"solved\": 15\n      },\n      {\n        \"historyId\": 14,\n        \"summaryId\": 14,\n        \"creationTime\": \"2020-04-14T08:00:00Z\",\n        \"submission\": 140,\n        \"solved\": 14\n      },\n      {\n        \"historyId\": 13,\n        \"summaryId\": 13,\n        \"creationTime\": \"2020-04-13T08:00:00Z\",\n        \"submission\": 130,\n        \"solved\": 13\n      },\n      {\n        \"historyId\": 12,\n        \"summaryId\": 12,\n        \"creationTime\": \"2020-04-12T08:00:00Z\",\n        \"submission\": 120,\n        \"solved\": 12\n      },\n      {\n        \"historyId\": 11,\n        \"summaryId\": 11,\n        \"creationTime\": \"2020-04-11T08:00:00Z\",\n        \"submission\": 110,\n        \"solved\": 11\n      }\n    ]\n  },\n  \"targetUrl\": null,\n  \"success\": true,\n  \"error\": null,\n  \"unAuthorizedRequest\": false,\n  \"__abp\": true\n}"
  },
  {
    "path": "e2e/cypress/fixtures/history_list.json",
    "content": "{\n  \"result\": {\n    \"totalCount\": 60,\n    \"items\": [{\n        \"historyId\": 10,\n        \"summaryId\": 10,\n        \"creationTime\": \"2020-04-10T08:00:00Z\",\n        \"submission\": 100,\n        \"solved\": 10\n      },\n      {\n        \"historyId\": 9,\n        \"summaryId\": 9,\n        \"creationTime\": \"2020-04-09T08:00:00Z\",\n        \"submission\": 90,\n        \"solved\": 9\n      },\n      {\n        \"historyId\": 8,\n        \"summaryId\": 8,\n        \"creationTime\": \"2020-04-08T08:00:00Z\",\n        \"submission\": 80,\n        \"solved\": 8\n      },\n      {\n        \"historyId\": 7,\n        \"summaryId\": 7,\n        \"creationTime\": \"2020-04-07T08:00:00Z\",\n        \"submission\": 70,\n        \"solved\": 7\n      },\n      {\n        \"historyId\": 6,\n        \"summaryId\": 6,\n        \"creationTime\": \"2020-04-06T08:00:00Z\",\n        \"submission\": 60,\n        \"solved\": 6\n      },\n      {\n        \"historyId\": 5,\n        \"summaryId\": 5,\n        \"creationTime\": \"2020-04-05T08:00:00Z\",\n        \"submission\": 50,\n        \"solved\": 5\n      },\n      {\n        \"historyId\": 4,\n        \"summaryId\": 4,\n        \"creationTime\": \"2020-04-04T08:00:00Z\",\n        \"submission\": 40,\n        \"solved\": 4\n      },\n      {\n        \"historyId\": 3,\n        \"summaryId\": 3,\n        \"creationTime\": \"2020-04-03T08:00:00Z\",\n        \"submission\": 30,\n        \"solved\": 3\n      },\n      {\n        \"historyId\": 2,\n        \"summaryId\": 2,\n        \"creationTime\": \"2020-04-02T08:00:00Z\",\n        \"submission\": 20,\n        \"solved\": 2\n      },\n      {\n        \"historyId\": 1,\n        \"summaryId\": 1,\n        \"creationTime\": \"2020-04-01T08:00:00Z\",\n        \"submission\": 10,\n        \"solved\": 1\n      }\n    ]\n  },\n  \"targetUrl\": null,\n  \"success\": true,\n  \"error\": null,\n  \"unAuthorizedRequest\": false,\n  \"__abp\": true\n}"
  },
  {
    "path": "e2e/cypress/fixtures/poj_notExist.txt",
    "content": "<html><head><meta http-equiv=\"Pragma\" content=\"no-cache\"><meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\"><meta http-equiv=\"Content-Language\" content=\"en-US\"><title>Error</title><link rel=stylesheet href='poj.css' type='text/css'><link rel='shortcut icon' href='poj.ico'><link rel='icon' href='poj.gif' type='image/gif'><script type=\"text/javascript\" src=\"http://ff.kis.v2.scr.kaspersky-labs.com/62DAAFB8-F64B-A946-BB05-19E92743599A/main.js\" charset=\"UTF-8\"></script><script src='poj.js' language='javascript'></script></head><body lang=\"en-US\" leftmargin=5 link=blue alink=blue vlink=blue onkeydown=KeyDown(event)><a name=top></a><img border=\"0\" src=\"images/j0293240.wmf\" width=\"50\" height=\"36\">\n<font size=\"4\">Error Occurred</font></p>\n<ul>\n  <li>Sorry,Frkfe932fbcv09b doesn't exist</li>\n</ul>\n<p><img height=30 src=images/home.gif width=40 border=0><font size=3><a href=.>Home Page</a> </font>&nbsp;&nbsp;<img height=30 src='images/goback.gif' width=40 border=0><font size=3><a href='javascript:history.go(-1)'>Go Back</a>&nbsp;&nbsp;<img height=30 width=40 border=0 src='images/top.gif'><a href=#top>To top</a></font><br><hr><P align=center style='font-family:Arial, Helvetica, sans-serif'>All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di<br>Any problem, Please <a href=mailto:webmaster@poj.org>Contact Administrator</a></p><script type=\"text/javascript\" src=\"http://tajs.qq.com/stats?sId=66192298\" charset=\"UTF-8\"></script></body></html>\n"
  },
  {
    "path": "e2e/cypress/fixtures/poj_ok.txt",
    "content": "<html><head><meta http-equiv=\"Pragma\" content=\"no-cache\"><meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\"><meta http-equiv=\"Content-Language\" content=\"en-US\"><title>User -- vjudge5</title><link rel=stylesheet href='poj.css' type='text/css'><link rel='shortcut icon' href='poj.ico'><link rel='icon' href='poj.gif' type='image/gif'><script src='poj.js' language='javascript'></script></head><body lang=\"en-US\" leftmargin=5 link=blue alink=blue vlink=blue onkeydown=KeyDown(event)><a name=top></a><TABLE style='BORDER-COLLAPSE: collapse' borderColor=#ffffff width=100% border=1><TBODY><TR><TD align=CENTER colSpan=5><table class=h1 cellpadding=0><tr><td width=25% align=left><img src='images/logo1.jpg' height=100 border=0></td><td colspan=3 bgcolor='#EAEFFD'><table class=h2><tr><td><img border=0 src='images/logo0.gif' width=450 height=90></td><td width=95><img border=0 src='images/logo3.gif' width=95 height=95></td></tr></table></td></tr></table></TD></TR><TR vAlign=top align=CENTER bgColor=#6589d1><TH class=h>Online Judge</TH><TH class=h>Problem Set</TH><TH class=h>Authors</TH><TH class=h>Online Contests</TH><TH class=h>User</TH></TR><TR vAlign=top align=CENTER bgColor='#f1f1fd'><TD class='h' onMouseOver='scbg(this, 1)' onMouseOut='scbg(this, 0)'><A href='bbs'>Web Board</A><BR><A href='./'>Home Page</A><BR><A href='page?id=1000' target=_blank>F.A.Qs</A><BR><a href='chart'>Statistical Charts</a></TD><TD class='h' onMouseOver='scbg(this, 1)' onMouseOut='scbg(this, 0)'><FORM action=gotoproblem method=get><A href='problemlist'>Problems</A><BR><A href='submit'>Submit Problem</A><BR><A href='status'>Online Status</A><BR><font color=blue>Prob.ID:</font><input type=text name=pid size=6><input type=Submit value=Go name=pb1></form></td><TD class='h' onMouseOver='scbg(this,1)' onMouseOut='scbg(this,0)'><form method=GET action=searchuser><a href=register>Register</a><br><a href=modifyuser>Update your info</a><br><a href=userlist>Authors ranklist</a><br><input type=text name=key size=10><input type=Submit value=Search name=B1></form></TD>\n<TD class=h onMouseOver='scbg(this,1)' onMouseOut='scbg(this,0)'><font color=#1a5cc8>Current Contest</font><br><a href=pastcontests>Past Contests</a><br><a href=contests>Scheduled Contests</a><br><a href=challenge.html target=_blank><font color=red>Award Contest</font></a></td><TD align=left class=h onMouseOver='scbg(this,1)' onMouseOut='scbg(this,0)'><form method=POST action=login><table><tr><td>User ID:</td><td><input type=text name=user_id1 size=10 style='font-family:monospace'></td></tr><tr><td>Password:</td><td><input type=password name=password1 size=10 style='font-family:monospace'></td></tr></table><input type=Submit value=login name=B1>&nbsp;&nbsp;<a href=register target=_parent>Register</a><input type=hidden name=url value=/userstatus?user_id=vjudge5></form></td></TR></TABLE><center>\n<font size=5 color=blue><a href=send?to=vjudge5>vjudge5--黄汉升 @ vjudge.net  </a></font><br>\nLast Loginned Time:2019-03-31 13:43:20.0<br>\n<TABLE cellSpacing=0 cellPadding=0 width=700 border=1 background=images/table_back.jpg style=\"border-collapse: collapse\" bordercolor=#FFFFFF>\n<tr valign=bottom><td colspan=3><br><form action=usercmp method=get>Compare <input type=text size=10 name=uid1 value=vjudge5>and <input type=text size=10 name=uid2 value=><input type=submit value=GO></form></td></tr><tr><td width=15% align=left>Rank:</td>\n<td align=center width=25%><font color=red>18</font></td>\n<td width=60% align=center>Solved Problems List</td> </tr>\n<tr><td width=15% align=left>Solved:</td>\n<td align=center width=25%><a href=status?result=0&user_id=vjudge5>1968</a></td>\n<td width=60% align=center rowspan=4>\n<script type=\"text/javascript\">\nfunction p(id)\n{\ndocument.write(\"<a href=problem?id=\"+id+\">\"+id+\" </a>\")\n}\np(1000)\np(1001)\np(1002)\np(1003)\np(1004)\np(1005)\np(1006)\np(1007)\np(1008)\np(1009)\np(1010)\np(1011)\np(1012)\np(1013)\np(1014)\np(1015)\np(1016)\np(1017)\np(1018)\np(1019)\np(1020)\np(1021)\np(1022)\np(1023)\np(1024)\np(1025)\np(1026)\np(1027)\np(1028)\np(1029)\np(1031)\np(1032)\np(1033)\np(1035)\np(1036)\np(1037)\np(1038)\np(1039)\np(1040)\np(1041)\np(1042)\np(1043)\np(1044)\np(1045)\np(1046)\np(1047)\np(1048)\np(1050)\np(1051)\np(1053)\np(1054)\np(1056)\np(1057)\np(1059)\np(1060)\np(1061)\np(1062)\np(1063)\np(1064)\np(1065)\np(1066)\np(1067)\np(1068)\np(1069)\np(1073)\np(1077)\np(1080)\np(1082)\np(1083)\np(1084)\np(1085)\np(1087)\np(1088)\np(1089)\np(1091)\np(1094)\np(1095)\np(1096)\np(1099)\np(1100)\np(1101)\np(1102)\np(1103)\np(1105)\np(1106)\np(1107)\np(1111)\np(1112)\np(1113)\np(1117)\np(1118)\np(1119)\np(1120)\np(1122)\np(1125)\np(1126)\np(1127)\np(1128)\np(1129)\np(1130)\np(1131)\np(1132)\np(1133)\np(1135)\np(1137)\np(1139)\np(1140)\np(1141)\np(1142)\np(1143)\np(1144)\np(1145)\np(1146)\np(1147)\np(1149)\np(1150)\np(1151)\np(1152)\np(1154)\np(1155)\np(1156)\np(1157)\np(1159)\np(1160)\np(1161)\np(1163)\np(1164)\np(1166)\np(1167)\np(1169)\np(1170)\np(1172)\np(1173)\np(1174)\np(1175)\np(1176)\np(1177)\np(1178)\np(1179)\np(1180)\np(1182)\np(1183)\np(1184)\np(1185)\np(1186)\np(1187)\np(1189)\np(1190)\np(1191)\np(1192)\np(1195)\np(1198)\np(1200)\np(1201)\np(1202)\np(1204)\np(1205)\np(1207)\np(1208)\np(1209)\np(1217)\np(1218)\np(1220)\np(1221)\np(1222)\np(1226)\np(1228)\np(1229)\np(1230)\np(1231)\np(1234)\np(1236)\np(1237)\np(1239)\np(1240)\np(1243)\np(1244)\np(1245)\np(1247)\np(1248)\np(1250)\np(1251)\np(1252)\np(1254)\np(1256)\np(1258)\np(1259)\np(1260)\np(1263)\np(1264)\np(1265)\np(1266)\np(1269)\np(1270)\np(1271)\np(1272)\np(1273)\np(1274)\np(1275)\np(1276)\np(1277)\np(1278)\np(1279)\np(1281)\np(1283)\np(1284)\np(1285)\np(1286)\np(1287)\np(1288)\np(1289)\np(1291)\np(1292)\np(1293)\np(1295)\np(1297)\np(1298)\np(1300)\np(1302)\np(1305)\np(1306)\np(1308)\np(1312)\np(1313)\np(1315)\np(1316)\np(1317)\np(1318)\np(1319)\np(1320)\np(1321)\np(1322)\np(1323)\np(1324)\np(1325)\np(1326)\np(1328)\np(1329)\np(1330)\np(1331)\np(1336)\np(1337)\np(1338)\np(1339)\np(1348)\np(1349)\np(1350)\np(1351)\np(1352)\np(1354)\np(1355)\np(1363)\np(1364)\np(1365)\np(1375)\np(1376)\np(1379)\np(1380)\np(1383)\np(1384)\np(1385)\np(1386)\np(1389)\np(1390)\np(1392)\np(1401)\np(1403)\np(1405)\np(1407)\np(1408)\np(1409)\np(1410)\np(1411)\np(1416)\np(1417)\np(1418)\np(1419)\np(1420)\np(1422)\np(1423)\np(1426)\np(1430)\np(1432)\np(1434)\np(1436)\np(1438)\np(1440)\np(1442)\np(1446)\np(1450)\np(1451)\np(1453)\np(1455)\np(1456)\np(1458)\np(1459)\np(1460)\np(1461)\np(1463)\np(1465)\np(1466)\np(1469)\np(1470)\np(1472)\np(1473)\np(1474)\np(1475)\np(1476)\np(1477)\np(1478)\np(1481)\np(1482)\np(1484)\np(1485)\np(1486)\np(1487)\np(1488)\np(1489)\np(1493)\np(1496)\np(1502)\np(1503)\np(1504)\np(1505)\np(1507)\np(1509)\np(1511)\np(1514)\np(1515)\np(1517)\np(1519)\np(1520)\np(1521)\np(1523)\np(1524)\np(1526)\np(1528)\np(1529)\np(1539)\np(1543)\np(1546)\np(1547)\np(1548)\np(1552)\np(1555)\np(1556)\np(1560)\np(1562)\np(1563)\np(1564)\np(1565)\np(1566)\np(1568)\np(1569)\np(1573)\np(1575)\np(1577)\np(1578)\np(1579)\np(1580)\np(1581)\np(1583)\np(1584)\np(1586)\np(1589)\np(1591)\np(1592)\np(1595)\np(1597)\np(1598)\np(1601)\np(1603)\np(1604)\np(1606)\np(1607)\np(1608)\np(1609)\np(1611)\np(1612)\np(1620)\np(1621)\np(1623)\np(1625)\np(1628)\np(1631)\np(1632)\np(1634)\np(1635)\np(1636)\np(1637)\np(1639)\np(1642)\np(1644)\np(1647)\np(1650)\np(1651)\np(1654)\np(1655)\np(1656)\np(1657)\np(1658)\np(1659)\np(1661)\np(1663)\np(1664)\np(1665)\np(1666)\np(1671)\np(1673)\np(1674)\np(1676)\np(1677)\np(1678)\np(1679)\np(1681)\np(1682)\np(1683)\np(1684)\np(1686)\np(1687)\np(1688)\np(1690)\np(1691)\np(1692)\np(1693)\np(1694)\np(1695)\np(1696)\np(1697)\np(1698)\np(1699)\np(1700)\np(1701)\np(1702)\np(1703)\np(1704)\np(1706)\np(1707)\np(1710)\np(1715)\np(1716)\np(1717)\np(1719)\np(1721)\np(1722)\np(1723)\np(1724)\np(1726)\np(1729)\np(1730)\np(1731)\np(1733)\np(1734)\np(1735)\np(1737)\np(1738)\np(1739)\np(1740)\np(1741)\np(1742)\np(1743)\np(1744)\np(1745)\np(1747)\np(1749)\np(1750)\np(1751)\np(1752)\np(1753)\np(1754)\np(1755)\np(1759)\np(1760)\np(1764)\np(1765)\np(1768)\np(1769)\np(1770)\np(1775)\np(1776)\np(1777)\np(1780)\np(1781)\np(1782)\np(1784)\np(1785)\np(1786)\np(1787)\np(1788)\np(1789)\np(1791)\np(1794)\np(1795)\np(1797)\np(1799)\np(1801)\np(1804)\np(1806)\np(1808)\np(1809)\np(1811)\np(1812)\np(1813)\np(1815)\np(1816)\np(1818)\np(1819)\np(1821)\np(1822)\np(1823)\np(1827)\np(1828)\np(1830)\np(1831)\np(1832)\np(1833)\np(1835)\np(1836)\np(1837)\np(1838)\np(1840)\np(1844)\np(1845)\np(1847)\np(1848)\np(1849)\np(1850)\np(1852)\np(1853)\np(1854)\np(1855)\np(1856)\np(1860)\np(1861)\np(1862)\np(1869)\np(1870)\np(1872)\np(1873)\np(1874)\np(1877)\np(1882)\np(1887)\np(1888)\np(1890)\np(1895)\np(1896)\np(1899)\np(1901)\np(1903)\np(1904)\np(1905)\np(1909)\np(1912)\np(1915)\np(1916)\np(1917)\np(1918)\np(1920)\np(1922)\np(1923)\np(1924)\np(1925)\np(1927)\np(1928)\np(1929)\np(1930)\np(1931)\np(1932)\np(1934)\np(1935)\np(1936)\np(1941)\np(1942)\np(1943)\np(1944)\np(1945)\np(1946)\np(1947)\np(1948)\np(1949)\np(1950)\np(1951)\np(1952)\np(1953)\np(1958)\np(1959)\np(1961)\np(1962)\np(1964)\np(1966)\np(1969)\np(1970)\np(1971)\np(1972)\np(1974)\np(1975)\np(1976)\np(1977)\np(1978)\np(1979)\np(1980)\np(1981)\np(1984)\np(1985)\np(1986)\np(1987)\np(1988)\np(1989)\np(1990)\np(1991)\np(1992)\np(1993)\np(1995)\np(1996)\np(1998)\np(2000)\np(2001)\np(2002)\np(2003)\np(2004)\np(2007)\np(2008)\np(2010)\np(2011)\np(2013)\np(2014)\np(2017)\np(2018)\np(2019)\np(2020)\np(2021)\np(2023)\np(2024)\np(2027)\np(2028)\np(2029)\np(2030)\np(2031)\np(2032)\np(2033)\np(2034)\np(2036)\np(2038)\np(2039)\np(2041)\np(2042)\np(2043)\np(2044)\np(2046)\np(2047)\np(2048)\np(2049)\np(2050)\np(2051)\np(2052)\np(2053)\np(2054)\np(2055)\np(2056)\np(2057)\np(2060)\np(2062)\np(2063)\np(2065)\np(2068)\np(2069)\np(2070)\np(2074)\np(2075)\np(2078)\np(2079)\np(2080)\np(2081)\np(2082)\np(2083)\np(2084)\np(2085)\np(2088)\np(2092)\np(2096)\np(2100)\np(2101)\np(2102)\np(2104)\np(2105)\np(2106)\np(2107)\np(2109)\np(2110)\np(2111)\np(2112)\np(2114)\np(2115)\np(2116)\np(2117)\np(2118)\np(2121)\np(2125)\np(2126)\np(2127)\np(2128)\np(2129)\np(2131)\np(2132)\np(2133)\np(2135)\np(2136)\np(2137)\np(2138)\np(2139)\np(2140)\np(2141)\np(2142)\np(2146)\np(2148)\np(2149)\np(2151)\np(2152)\np(2153)\np(2154)\np(2155)\np(2156)\np(2157)\np(2159)\np(2160)\np(2162)\np(2163)\np(2164)\np(2166)\np(2167)\np(2168)\np(2169)\np(2171)\np(2172)\np(2173)\np(2174)\np(2175)\np(2176)\np(2178)\np(2181)\np(2182)\np(2183)\np(2184)\np(2185)\np(2186)\np(2187)\np(2188)\np(2189)\np(2190)\np(2191)\np(2192)\np(2193)\np(2194)\np(2195)\np(2196)\np(2199)\np(2200)\np(2201)\np(2208)\np(2209)\np(2212)\np(2215)\np(2217)\np(2218)\np(2225)\np(2226)\np(2227)\np(2228)\np(2229)\np(2230)\np(2231)\np(2232)\np(2234)\np(2236)\np(2237)\np(2238)\np(2239)\np(2240)\np(2241)\np(2242)\np(2243)\np(2244)\np(2245)\np(2246)\np(2247)\np(2248)\np(2249)\np(2250)\np(2251)\np(2252)\np(2253)\np(2255)\np(2256)\np(2257)\np(2258)\np(2259)\np(2260)\np(2261)\np(2262)\np(2263)\np(2264)\np(2265)\np(2267)\np(2269)\np(2271)\np(2272)\np(2273)\np(2274)\np(2275)\np(2276)\np(2277)\np(2279)\np(2280)\np(2281)\np(2282)\np(2283)\np(2284)\np(2286)\np(2287)\np(2288)\np(2289)\np(2290)\np(2291)\np(2296)\np(2299)\np(2301)\np(2302)\np(2304)\np(2305)\np(2308)\np(2309)\np(2311)\np(2312)\np(2313)\np(2315)\np(2317)\np(2318)\np(2325)\np(2327)\np(2328)\np(2329)\np(2330)\np(2331)\np(2334)\np(2336)\np(2337)\np(2339)\np(2342)\np(2345)\np(2346)\np(2348)\np(2349)\np(2350)\np(2351)\np(2352)\np(2353)\np(2354)\np(2355)\np(2356)\np(2358)\np(2359)\np(2361)\np(2362)\np(2363)\np(2365)\np(2366)\np(2367)\np(2368)\np(2369)\np(2370)\np(2371)\np(2373)\np(2374)\np(2375)\np(2376)\np(2377)\np(2378)\np(2379)\np(2381)\np(2382)\np(2383)\np(2384)\np(2385)\np(2386)\np(2387)\np(2388)\np(2389)\np(2390)\np(2391)\np(2392)\np(2393)\np(2394)\np(2395)\np(2396)\np(2397)\np(2398)\np(2400)\np(2402)\np(2403)\np(2404)\np(2405)\np(2406)\np(2407)\np(2408)\np(2409)\np(2410)\np(2411)\np(2413)\np(2414)\np(2415)\np(2417)\np(2418)\np(2419)\np(2420)\np(2421)\np(2424)\np(2425)\np(2426)\np(2429)\np(2430)\np(2431)\np(2433)\np(2434)\np(2435)\np(2436)\np(2437)\np(2438)\np(2440)\np(2441)\np(2442)\np(2443)\np(2444)\np(2446)\np(2447)\np(2448)\np(2449)\np(2451)\np(2452)\np(2453)\np(2454)\np(2455)\np(2456)\np(2457)\np(2458)\np(2459)\np(2460)\np(2463)\np(2464)\np(2465)\np(2467)\np(2469)\np(2470)\np(2471)\np(2472)\np(2476)\np(2478)\np(2479)\np(2480)\np(2481)\np(2482)\np(2484)\np(2485)\np(2486)\np(2487)\np(2488)\np(2490)\np(2491)\np(2492)\np(2495)\np(2497)\np(2498)\np(2499)\np(2501)\np(2502)\np(2503)\np(2504)\np(2505)\np(2506)\np(2507)\np(2509)\np(2511)\np(2512)\np(2513)\np(2514)\np(2515)\np(2516)\np(2521)\np(2524)\np(2525)\np(2526)\np(2527)\np(2528)\np(2529)\np(2530)\np(2531)\np(2533)\np(2535)\np(2536)\np(2537)\np(2538)\np(2540)\np(2541)\np(2545)\np(2546)\np(2547)\np(2549)\np(2551)\np(2553)\np(2555)\np(2556)\np(2558)\np(2559)\np(2560)\np(2562)\np(2564)\np(2565)\np(2566)\np(2567)\np(2568)\np(2569)\np(2570)\np(2572)\np(2573)\np(2575)\np(2576)\np(2578)\np(2579)\np(2583)\np(2584)\np(2585)\np(2586)\np(2588)\np(2590)\np(2591)\np(2593)\np(2594)\np(2595)\np(2598)\np(2599)\np(2601)\np(2602)\np(2603)\np(2605)\np(2606)\np(2607)\np(2608)\np(2609)\np(2612)\np(2613)\np(2615)\np(2619)\np(2620)\np(2623)\np(2624)\np(2625)\np(2626)\np(2627)\np(2628)\np(2629)\np(2631)\np(2632)\np(2635)\np(2636)\np(2637)\np(2638)\np(2639)\np(2640)\np(2641)\np(2642)\np(2643)\np(2645)\np(2646)\np(2647)\np(2649)\np(2653)\np(2654)\np(2656)\np(2657)\np(2659)\np(2661)\np(2662)\np(2663)\np(2664)\np(2665)\np(2672)\np(2673)\np(2674)\np(2675)\np(2676)\np(2677)\np(2679)\np(2680)\np(2681)\np(2685)\np(2686)\np(2688)\np(2689)\np(2691)\np(2692)\np(2693)\np(2694)\np(2695)\np(2696)\np(2697)\np(2698)\np(2699)\np(2701)\np(2703)\np(2704)\np(2705)\np(2706)\np(2707)\np(2709)\np(2710)\np(2711)\np(2712)\np(2713)\np(2714)\np(2715)\np(2718)\np(2719)\np(2720)\np(2722)\np(2723)\np(2724)\np(2726)\np(2728)\np(2729)\np(2734)\np(2737)\np(2738)\np(2739)\np(2740)\np(2741)\np(2744)\np(2749)\np(2750)\np(2751)\np(2752)\np(2754)\np(2756)\np(2758)\np(2760)\np(2761)\np(2762)\np(2763)\np(2764)\np(2765)\np(2766)\np(2767)\np(2768)\np(2769)\np(2771)\np(2772)\np(2773)\np(2774)\np(2777)\np(2778)\np(2780)\np(2782)\np(2784)\np(2785)\np(2786)\np(2789)\np(2790)\np(2792)\np(2793)\np(2794)\np(2795)\np(2796)\np(2799)\np(2800)\np(2804)\np(2805)\np(2808)\np(2817)\np(2818)\np(2821)\np(2822)\np(2823)\np(2825)\np(2826)\np(2828)\np(2831)\np(2832)\np(2833)\np(2836)\np(2837)\np(2838)\np(2840)\np(2841)\np(2845)\np(2846)\np(2847)\np(2850)\np(2853)\np(2855)\np(2856)\np(2857)\np(2860)\np(2862)\np(2864)\np(2866)\np(2867)\np(2868)\np(2870)\np(2871)\np(2876)\np(2882)\np(2883)\np(2886)\np(2887)\np(2888)\np(2891)\np(2892)\np(2893)\np(2894)\np(2895)\np(2903)\np(2904)\np(2907)\np(2908)\np(2909)\np(2912)\np(2914)\np(2917)\np(2918)\np(2922)\np(2923)\np(2924)\np(2926)\np(2928)\np(2931)\np(2932)\np(2934)\np(2935)\np(2937)\np(2938)\np(2939)\np(2940)\np(2941)\np(2942)\np(2943)\np(2944)\np(2945)\np(2946)\np(2947)\np(2948)\np(2949)\np(2951)\np(2952)\np(2954)\np(2955)\np(2956)\np(2959)\np(2960)\np(2961)\np(2964)\np(2965)\np(2966)\np(2970)\np(2974)\np(2975)\np(2976)\np(2978)\np(2983)\np(2985)\np(2986)\np(2987)\np(2989)\np(2991)\np(2992)\np(2993)\np(2996)\np(3003)\np(3004)\np(3006)\np(3007)\np(3009)\np(3012)\np(3013)\np(3014)\np(3016)\np(3017)\np(3018)\np(3020)\np(3021)\np(3026)\np(3030)\np(3032)\np(3034)\np(3036)\np(3037)\np(3038)\np(3039)\np(3040)\np(3041)\np(3042)\np(3044)\np(3045)\np(3046)\np(3047)\np(3048)\np(3049)\np(3050)\np(3051)\np(3055)\np(3056)\np(3057)\np(3061)\np(3062)\np(3066)\np(3067)\np(3068)\np(3069)\np(3070)\np(3071)\np(3072)\np(3073)\np(3074)\np(3075)\np(3076)\np(3077)\np(3078)\np(3080)\np(3083)\np(3084)\np(3085)\np(3086)\np(3087)\np(3088)\np(3090)\np(3091)\np(3092)\np(3093)\np(3094)\np(3095)\np(3096)\np(3098)\np(3099)\np(3100)\np(3101)\np(3103)\np(3104)\np(3106)\np(3107)\np(3109)\np(3110)\np(3111)\np(3112)\np(3114)\np(3115)\np(3117)\np(3121)\np(3122)\np(3123)\np(3125)\np(3126)\np(3128)\np(3129)\np(3130)\np(3131)\np(3132)\np(3133)\np(3134)\np(3138)\np(3139)\np(3140)\np(3141)\np(3142)\np(3145)\np(3146)\np(3148)\np(3149)\np(3150)\np(3154)\np(3155)\np(3156)\np(3157)\np(3158)\np(3159)\np(3160)\np(3162)\np(3164)\np(3167)\np(3168)\np(3169)\np(3170)\np(3171)\np(3172)\np(3173)\np(3174)\np(3175)\np(3176)\np(3177)\np(3179)\np(3180)\np(3181)\np(3182)\np(3183)\np(3185)\np(3186)\np(3187)\np(3189)\np(3190)\np(3191)\np(3192)\np(3193)\np(3194)\np(3195)\np(3196)\np(3199)\np(3204)\np(3207)\np(3208)\np(3210)\np(3211)\np(3213)\np(3214)\np(3215)\np(3216)\np(3218)\np(3219)\np(3221)\np(3224)\np(3225)\np(3226)\np(3227)\np(3228)\np(3229)\np(3230)\np(3233)\np(3237)\np(3239)\np(3241)\np(3242)\np(3243)\np(3244)\np(3245)\np(3246)\np(3249)\np(3250)\np(3251)\np(3252)\np(3253)\np(3254)\np(3255)\np(3256)\np(3257)\np(3258)\np(3259)\np(3260)\np(3261)\np(3262)\np(3263)\np(3264)\np(3265)\np(3266)\np(3267)\np(3268)\np(3269)\np(3270)\np(3271)\np(3272)\np(3273)\np(3274)\np(3275)\np(3276)\np(3277)\np(3278)\np(3279)\np(3280)\np(3281)\np(3282)\np(3283)\np(3285)\np(3286)\np(3287)\np(3290)\np(3292)\np(3293)\np(3294)\np(3295)\np(3296)\np(3297)\np(3298)\np(3299)\np(3301)\np(3302)\np(3304)\np(3308)\np(3310)\np(3311)\np(3312)\np(3314)\np(3316)\np(3317)\np(3318)\np(3320)\np(3321)\np(3322)\np(3325)\np(3328)\np(3331)\np(3332)\np(3333)\np(3334)\np(3335)\np(3336)\np(3337)\np(3338)\np(3340)\np(3342)\np(3343)\np(3344)\np(3345)\np(3346)\np(3347)\np(3348)\np(3349)\np(3351)\np(3352)\np(3353)\np(3356)\np(3357)\np(3358)\np(3359)\np(3360)\np(3361)\np(3363)\np(3364)\np(3366)\np(3367)\np(3368)\np(3370)\np(3371)\np(3372)\np(3373)\np(3375)\np(3376)\np(3377)\np(3378)\np(3379)\np(3380)\np(3382)\np(3384)\np(3385)\np(3386)\np(3387)\np(3388)\np(3389)\np(3390)\np(3393)\np(3397)\np(3398)\np(3399)\np(3400)\np(3406)\np(3408)\np(3409)\np(3411)\np(3414)\np(3415)\np(3416)\np(3417)\np(3419)\np(3420)\np(3421)\np(3422)\np(3423)\np(3427)\np(3428)\np(3429)\np(3432)\np(3435)\np(3436)\np(3437)\np(3438)\np(3439)\np(3440)\np(3445)\np(3449)\np(3450)\np(3456)\np(3458)\np(3459)\np(3460)\np(3461)\np(3462)\np(3463)\np(3465)\np(3467)\np(3468)\np(3469)\np(3470)\np(3471)\np(3472)\np(3475)\np(3476)\np(3480)\np(3481)\np(3483)\np(3484)\np(3485)\np(3486)\np(3487)\np(3488)\np(3489)\np(3491)\np(3492)\np(3494)\np(3497)\np(3498)\np(3499)\np(3501)\np(3503)\np(3504)\np(3505)\np(3506)\np(3507)\np(3508)\np(3509)\np(3510)\np(3511)\np(3512)\np(3513)\np(3516)\np(3517)\np(3518)\np(3519)\np(3521)\np(3522)\np(3523)\np(3524)\np(3525)\np(3526)\np(3528)\np(3532)\np(3533)\np(3534)\np(3536)\np(3537)\np(3538)\np(3539)\np(3543)\np(3544)\np(3548)\np(3550)\np(3553)\np(3554)\np(3557)\np(3561)\np(3565)\np(3566)\np(3573)\np(3576)\np(3579)\np(3580)\np(3581)\np(3585)\np(3587)\np(3588)\np(3589)\np(3590)\np(3592)\np(3593)\np(3594)\np(3597)\np(3598)\np(3599)\np(3600)\np(3601)\np(3602)\np(3604)\np(3605)\np(3608)\np(3609)\np(3612)\np(3613)\np(3614)\np(3615)\np(3616)\np(3617)\np(3618)\np(3619)\np(3620)\np(3621)\np(3622)\np(3623)\np(3624)\np(3625)\np(3626)\np(3627)\np(3628)\np(3629)\np(3630)\np(3632)\np(3633)\np(3635)\np(3636)\np(3637)\np(3638)\np(3640)\np(3641)\np(3643)\np(3646)\np(3647)\np(3648)\np(3649)\np(3650)\np(3652)\np(3653)\np(3657)\np(3658)\np(3659)\np(3660)\np(3661)\np(3662)\np(3663)\np(3664)\np(3665)\np(3666)\np(3667)\np(3668)\np(3669)\np(3670)\np(3671)\np(3672)\np(3673)\np(3675)\np(3678)\np(3680)\np(3681)\np(3682)\np(3683)\np(3684)\np(3685)\np(3686)\np(3687)\np(3688)\np(3690)\np(3691)\np(3692)\np(3693)\np(3694)\np(3695)\np(3696)\np(3697)\np(3699)\np(3700)\np(3701)\np(3705)\np(3708)\np(3709)\np(3710)\np(3711)\np(3713)\np(3714)\np(3715)\np(3716)\np(3717)\np(3718)\np(3719)\np(3720)\np(3721)\np(3723)\np(3724)\np(3725)\np(3728)\np(3729)\np(3731)\np(3732)\np(3734)\np(3735)\np(3736)\np(3737)\np(3739)\np(3740)\np(3741)\np(3742)\np(3743)\np(3744)\np(3746)\np(3747)\np(3748)\np(3749)\np(3750)\np(3751)\np(3752)\np(3753)\np(3756)\np(3757)\np(3759)\np(3760)\np(3761)\np(3762)\np(3763)\np(3764)\np(3765)\np(3766)\np(3767)\np(3768)\np(3771)\np(3772)\np(3773)\np(3774)\np(3775)\np(3776)\np(3777)\np(3778)\np(3779)\np(3781)\np(3782)\np(3783)\np(3784)\np(3785)\np(3786)\np(3787)\np(3788)\np(3789)\np(3790)\np(3797)\np(3800)\np(3801)\np(3802)\np(3805)\np(3808)\np(3809)\np(3812)\np(3813)\np(3814)\np(3815)\np(3817)\np(3820)\np(3824)\np(3831)\np(3835)\np(3836)\np(3842)\np(3843)\np(3844)\np(3845)\np(3846)\np(3847)\np(3849)\np(3850)\np(3852)\np(3853)\np(3854)\np(3855)\np(3856)\np(3858)\np(3859)\np(3860)\np(3861)\np(3862)\np(3863)\np(3865)\np(3867)\np(3869)\np(3870)\np(3873)\np(3874)\np(3876)\np(3878)\np(3882)\np(3883)\np(3886)\np(3887)\np(3889)\np(3893)\np(3894)\np(3895)\np(3896)\np(3897)\np(3898)\np(3899)\np(3900)\np(3902)\np(3903)\np(3904)\np(3905)\np(3906)\np(3907)\np(3908)\np(3910)\np(3911)\np(3913)\np(3916)\np(3917)\np(3921)\np(3922)\np(3923)\np(3925)\np(3926)\np(3927)\np(3928)\np(3934)\np(3941)\np(3943)\np(3944)\np(3954)\np(3959)\np(3960)\np(3962)\np(3963)\np(3964)\np(3967)\np(3968)\np(3969)\np(3970)\np(3971)\np(3972)\np(3973)\np(3974)\np(3975)\np(3976)\np(3977)\np(3978)\np(3979)\np(3980)\np(3981)\np(3982)\np(3983)\np(3984)\np(3985)\np(3986)\np(3987)\np(3989)\np(3990)\np(3991)\np(3992)\np(3993)\np(3994)\np(3996)\np(3997)\np(3998)\np(4000)\np(4001)\np(4002)\np(4003)\np(4006)\np(4007)\np(4008)\np(4010)\np(4011)\np(4012)\np(4014)\np(4016)\np(4018)\np(4019)\np(4020)\np(4021)\np(4022)\np(4023)\np(4025)\np(4026)\np(4028)\np(4041)\np(4044)\np(4045)\np(4046)\np(4047)\np(4048)\np(4049)\np(4050)\np(4052)\n</script>\n</td></tr>\n<tr><td width=15% align=left>Submissions:</td>\n<td align=center width=25%><a href=status?user_id=vjudge5>277562</a></td></tr>\n<tr><td width=15% align=left>School:</td>\n<td align=center width=25%> </td></tr>\n<tr><td width=15% align=left>Email:</td>\n<td align=center width=25%> </td></tr>\n</table>\n<p><img height=30 src=images/home.gif width=40 border=0><font size=3><a href=.>Home Page</a> </font>&nbsp;&nbsp;<img height=30 src='images/goback.gif' width=40 border=0><font size=3><a href='javascript:history.go(-1)'>Go Back</a>&nbsp;&nbsp;<img height=30 width=40 border=0 src='images/top.gif'><a href=#top>To top</a></font><br><hr><P align=center style='font-family:Arial, Helvetica, sans-serif'>All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di<br>Any problem, Please <a href=mailto:webmaster@poj.org>Contact Administrator</a></p><script type=\"text/javascript\" src=\"http://tajs.qq.com/stats?sId=66192298\" charset=\"UTF-8\"></script></body></html>\n"
  },
  {
    "path": "e2e/cypress/fixtures/summary_hdu.txt",
    "content": "<html><head><meta name=keywords content=\"HDOJ ACM ICPC OJ C C++ Pascal Java\"><meta http-equiv=Content-Type content=\"text/html;charset=gb2312\"><link rel=stylesheet type=text/css href=\"/images/global.css\" media=all><link rel=stylesheet type=text/css href=\"/css/diyinhead.css\" media=all><link rel=stylesheet type=text/css href=\"/css/webinhead.css\" media=all><script src=\"/js/global.js\" type=text/javascript></script><script src=\"/js/register.js\" type=text/javascript></script><script src=\"/js/MathJax/MathJax/MathJax.js?config=TeX-AMS-MML_HTMLorMML\" type=\"text/javascript\"></script><title>User Status</title></head><body >\n<a name=top></a>\n<table align=center cellSpacing=0 cellPadding=0 width=980 border=0 style=\"word-wrap:break-word\">\n<tr>\n\t<td style=\"border:#1A5CC8 1px solid\" align=center width=100%>\n\t\t<a href=\"/\">\n\t\t\t<img src=\"/images/banner.jpg\" width=\"100%\" height=116 border=0>\n\t\t</a>\n\t</td>\n</tr>\n<tr>\n\t<td style=\"border:#1A5CC8 1px solid\">\n\t<table cellSpacing=0 cellPadding=1 width=\"979px\">\n\t<tr bgcolor=#1A5CC8 align=center class=banner height=25>\n\t\t<td>Online Judge</td>\n\t\t<td>Online Exercise</td>\n\t\t<td>Online Teaching</td>\n\t\t<td>Online Contests</td>\n\t<td>Exercise Author</td>\n\t</tr>\n\t<tr style=\"font-size:16px\" align=center>\n\t\t<td width=20% valign=top>\n\t\t<a href=\"/faq.php\" style=\"text-decoration: none\">F.A.Q</a><br>\n\t\t<a href=\"/friends\" style=\"text-decoration: none\">Hand In Hand</a><br>\n\t\t<a href=\"/onlineuser.php\" style=\"text-decoration: none\">Online Acmers</a>\t<br>\n\t\t<!-- /onlineuser.php-->\n\t\t\n\t\t<a href=\"/forum\" style=\"text-decoration: none\">Forum | </a><a href=\"/discuss/public/list.php\" style=\"text-decoration: none\">Discuss</a><br>\n\t\t<a href=\"/statistic/submit_graph.php\" style=\"text-decoration: none\">Statistical Charts</a><br>\n\t\t</td>\n\t\t<td width=20% valign=top>\n\t\t<form action=\"/search.php\" method=get>\n\t\t<a href=\"/listproblem.php?vol=1\" style=\"text-decoration: none\">Problem Archive</a><br/>\n\t\t<!--<a href=\"http://feeds.feedburner.com/Hdoj-problemset\"><img src=\"/images/rss1.jpg\" alt=\"problemset\" style=\"vertical-align:text-bottom;\"width=20 height=20></a><br>-->\n\t\t<!--\n\t\t\t <a href=\"/submit.php\">Submit Solution</a><br>\n\t\t-->\t\n\t\t<a href=\"/status.php\" style=\"text-decoration: none\">Realtime Judge Status</a><br>\n\n\t\t<a href=\"/ranklist.php\" style=\"text-decoration: none\">Authors Ranklist</a><br>\n\t\t<input name=field value=author type=hidden><input class=text60 name=key>&nbsp;<input class=button40 type=submit value=Search>\n\t\t\n\t\t<!--\n\t\t\t<input name=field value=problem type=hidden><input class=text60 name=key>&nbsp;<input class=button40 type=submit value=Search>\n\t\t-->\n\t\t</form>\n\t\t</td>\n\t\t<td width=20% valign=top>\n\t\t <form action='/search.php' method=get> \n\t\t&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a style=\"text-decoration: none\" href=\"http://code.hdu.edu.cn/\">C/C++/Java Exams &nbsp;&nbsp;&nbsp;&nbsp;</a><br/>\n\t\t<a style=\"text-decoration: none\" href=\"/game\">ACM Steps</a><br/>\n\t\t<a href = \"/ITJobs/\">Go to Job</a><br/>\t\n\t\t<a href=\"/livecast\" style=\"text-decoration: none\">Contest LiveCast</a><br/>\n\t\t<a style=\"text-decoration: none\" href=\"/region\">ICPC@China</a><br/>\n\t\t<!-- <a href=\"/register.php\">Register New Author</a><br> -->\n\t\t<!-- <a href=\"/modifyuser.php\">Update Your Information</a><br> -->\n\t\t</form>\n\t\t</td>\n\t\t<td width=20% valign=top>\n\t\t<a href=\"http://bestcoder.hdu.edu.cn\" style=\"text-decoration: none; color: red; font-weight: bold;\">Best Coder <sup style=\"color: gray;\">beta</sup></a><br/><a href=\"/vip/contest_list.php\" style=\"text-decoration: none\">VIP</a> | <a href=\"/contests/contest_list.php\" style=\"text-decoration: none\">STD Contests</a><br /><a href=\"http://code.hdu.edu.cn/vcontest\" style=\"text-decoration: none\">Virtual Contests </a><br/>&nbsp;&nbsp;<a href=\"/diy/contest_list.php\" style=\"text-decoration: none\">&nbsp;&nbsp;DIY | </a><a href=\"/webcontest\" style=\"text-decoration: none\"><font color=\"\">Web-DIY</font> <font size=1 color=\"gray\"><sup>beta</sup></font></a><br/><a style=\"text-decoration: none\" href=\"/recentcontest\">Recent Contests</a><br/>\t\t</td>\n\t\t<td width=20%>\n\t\t\t\t\t<form method=post action=\"/userloginex.php?action=login\">\n\t\t\t  <table width=168 border=0 align=center cellspacing=0>\n\t\t\t  \t<tr><td align=center colspan=2><a href=\"/qqlogin/oauth/login.php\"><img src=\"/qqlogin/images/qqlogin.png\" border=\"0\" /></a></td></tr>\n\t\t\t\t<tr><td width=68>Author ID&nbsp;</td><td align=right><input name=username type=text class=text90 maxlength=20></td></tr>\n\t\t\t\t<tr><td>Password&nbsp;</td><td align=right><input name=userpass type=password class=text90 maxlength=20></td></tr>\n\t\t\t  </table>\n\t\t\t  <input name=login type=submit class=button40 value=\"Sign In\">&nbsp;<a href=\"http://bestcoder.hdu.edu.cn/register.php?url=acm.hdu.edu.cn/userloginex.php?action=login\" style=\"text-decoration: none\">Register new ID</a>\n\t\t\t</form>\n\t\t\t\t\t\t</td>\n\t</tr>\n\t</table>\n\t</td>\n</tr>\n<tr>\n\t<td>\n\t\t<div align=center id=rollword><marquee scrollamount=2 width=600 scrolldelay=30 onMouseOver=\"javascript:this.stop();\" onMouseOut=\"javascript:this.start();\"><b style=\"margin-right:20px\"></b></marquee></div>\t</td>\n</tr>\n<script language=javascript>var user=\"wwwlsmcom\"</script><script language=javascript>\nfunction p(pid,ac,sub)\n{\n\tif(ac > 0)\n\t\tdocument.write(\"<a href='status.php?user=\"+user+\"&pid=\" + pid + \"&status=5' target=_blank>\" + pid + \"</a>&nbsp;<font size=-2 color=#CC0000>\" + ac + \"/\" + sub + \"</font> \");\n\telse\n\t\tdocument.write(\"<a href='status.php?user=\"+user+\"&pid=\" + pid + \"' target=_blank>\" + pid + \"</a>&nbsp;<font size=-2 color=#CC0000>\" + ac + \"/\" + sub + \"</font> \");\n}\n</script>\n<TR>\n<TD align=center>\n\t<TABLE cellSpacing=0 cellPadding=0 width=90% border=0>\n\t<TR>\n\t<TD align=center>\n\t\t<h1 style=\"color:#1A5CC8\" align=center>wwwlsmcom</h1>\n\t\t<i style=\"color:blue\">from: 西北工业大学&nbsp;&nbsp;&nbsp;&nbsp;registered on 2015-09-30</i>\n\t\t<hr>\n\t\t<p>This fellow left nothing here.</p>\n\t\t<hr>\n\t\t<table width=400 align=center style=\"font-family:Arial;font-weight:bold;font-size:12px;color:blue\">\n\t\t\t<tr><td valign=\"bottom\">Nationality</td><td align=center><img width=\"42px\" height=\"27px\" src=\"/images/country/1.gif\"/></td></tr>\n\t\t\t<tr><td>Rank</td><td align=center>50375</td></tr>\n\t\t\t<tr><td>Problems Submitted</td><td align=center>35</td></tr>\n\t\t\t<tr><td>Problems Solved</td><td align=center>34</td></tr>\n\t\t\t<tr><td>Submissions</td><td align=center>72</td></tr>\n\t\t\t<tr><td>Accepted</td><td align=center>35</td></tr>\n\t\t</table>\n\t\t<p><a href='status.php?user=wwwlsmcom'>Last submissions</a><br>\n\t\t<a href='status.php?user=wwwlsmcom&status=5'>Last accepted submissions</a></p>\n\t\t<hr>\n\t\t<h3><font color=#1A5CC8>List of solved problems</font></h3>\n\t\t<p align=left><script language=javascript>p(1000,1,2);p(1114,1,2);p(1166,1,2);p(2000,1,4);p(2001,1,1);p(2002,1,2);p(2003,1,1);p(2004,1,1);p(2005,1,2);p(2006,1,1);p(2007,1,5);p(2008,1,3);p(2009,1,1);p(2010,1,1);p(2011,1,1);p(2012,1,12);p(2013,1,1);p(2014,1,2);p(2015,1,1);p(2016,1,1);p(2017,1,2);p(2018,1,1);p(2019,2,3);p(2020,1,1);p(2021,1,1);p(2022,1,1);p(2024,1,1);p(2025,1,1);p(2026,1,1);p(2027,1,1);p(2070,1,2);p(2191,1,4);p(2602,1,1);p(4825,1,1);</script><br></p>\n\t\t<h3><font color=#1A5CC8>List of unsolved problems</font></h3>\n\t\t<p align=left><script language=javascript>p(2023,0,5);</script><br></p>\n\t\t<hr>\n\t\t<!-- <h1>Neighbours</h1> -->\n\t\t\t</TD>\n\t</TR>\n\t</TABLE>\n</TD>\n</TR>\n<tr>\n<td>\n\t<table style=\"border:#1A5CC8 1px solid; font-size:14px\" cellSpacing=0 cellPadding=1 width=100%>\n\t<tr align=center>\n\t\t<td class=footer_link height=45><a href=\"/\">Home</a> | <a href=#top>Top</a></td>\n\t\t<td style=\"padding:6px\">\n\t\t\tHangzhou Dianzi University Online Judge 3.0<br>\n\t\t\tCopyright &copy; 2005-2020 <a href=mailto:acm@hdu.edu.cn>HDU ACM Team</a>. All Rights Reserved.<br>\n\t\t\t<a href=\"../about_us/developer.php\">Designer & Developer </a>: <a>Wang Rongtao</a>&nbsp<a>LinLe</a>&nbsp<a href=mailto:gjavac@gmail.com >GaoJie</a>&nbsp<a href=mailto:gl8997@gmail.com >GanLu</a><br>\n\t\t\t<span class=pagerunstatus>Total 0.015600(s) query 33, Server time : 2020-04-23 15:08:03, Gzip enabled</span>\t\t</td>\n\t\t<td class=footer_link>\n\t\t\t<!-- <a href=\"javascript:history.go(-1);\">Back</a> | <a href=\"javascript:history.forward();\">Forward</a>-->\n\t\t\t<a href=\"/admin\">Administration</a>\t\n\t\t</td>\n\t</tr>\n\t</table>\n</td>\n</tr>\n</table>\n</body></html>\n"
  },
  {
    "path": "e2e/cypress/fixtures/summary_leetcode.txt",
    "content": "{\"data\":{\"userProfileUserQuestionSubmitStats\":{\"acSubmissionNum\":[{\"difficulty\":\"EASY\",\"count\":1},{\"difficulty\":\"MEDIUM\",\"count\":1},{\"difficulty\":\"HARD\",\"count\":0}],\"totalSubmissionNum\":[{\"difficulty\":\"EASY\",\"count\":2},{\"difficulty\":\"MEDIUM\",\"count\":2},{\"difficulty\":\"HARD\",\"count\":0}]}}}"
  },
  {
    "path": "e2e/cypress/fixtures/summary_vjudge.txt",
    "content": "{\"error\":false,\"data\":{\"solved\":161,\"submissions\":704,\"solvedList\":[\"poj-2394\",\"poj-1011\",\"poj-2251\",\"poj-1426\",\"poj-1330\",\"hdu-4825\",\"hdu-5090\",\"hdu-5091\",\"hdu-5095\",\"hdu-5099\",\"poj-3126\",\"poj-1321\",\"hdu-1879\",\"hdu-1233\",\"uva-10034\",\"codeforces-415A\",\"codeforces-369A\",\"hdu-2222\",\"poj-3630\",\"hdu-1711\",\"poj-3461\",\"hdu-1878\",\"poj-1094\",\"uva-10033\",\"uva-10020\",\"hdu-1106\",\"hdu-1166\",\"hdu-1251\",\"hdu-1506\",\"poj-3061\",\"poj-2823\",\"hdu-2149\",\"uva-10037\",\"uva-10010\",\"hdu-1527\",\"hdu-3791\",\"hdu-2176\",\"hdu-1849\",\"hdu-2177\",\"timus-1009\",\"hdu-1847\",\"hdu-1846\",\"poj-1988\",\"poj-1611\",\"poj-2955\",\"poj-3280\",\"hdu-5115\",\"hdu-1003\",\"hdu-1421\",\"hdu-1087\",\"hdu-1159\",\"poj-2533\",\"poj-1088\",\"poj-1163\",\"uva-442\",\"hdu-2141\",\"poj-1064\",\"poj-3104\",\"poj-2456\",\"poj-2785\",\"poj-1700\",\"hdu-1114\",\"hdu-2602\",\"poj-2376\",\"poj-1328\",\"hdu-2037\",\"codeforces-330B\",\"timus-1792\",\"hdu-1198\",\"uva-10152\",\"fzu-1327\",\"poj-3009\",\"poj-1564\",\"poj-1562\",\"poj-2488\",\"poj-1111\",\"poj-3984\",\"poj-1915\",\"poj-1979\",\"poj-3278\",\"codeforces-436B\",\"codeforces-393A\",\"codeforces-387A\",\"hdu-2049\",\"hdu-2045\",\"hdu-2007\",\"hdu-2054\",\"hdu-2031\",\"LightOJ-1303\",\"hdu-1263\",\"hdu-1004\",\"hdu-1896\",\"hdu-1873\",\"poj-2259\",\"uva-10935\",\"poj-1363\",\"codechef-DRAGNXOR\",\"UVALive-4648\",\"hdu-4006\",\"uva-10305\",\"hdu-2629\",\"uva-548\",\"hdu-5670\",\"hdu-1221\",\"hdu-5533\",\"hdu-4472\",\"hdu-5612\",\"hdu-1045\",\"uva-10115\",\"hdu-1023\",\"hdu-3823\",\"hdu-2303\",\"poj-1007\",\"poj-2362\",\"hdu-1240\",\"poj-2243\",\"poj-1019\",\"hdu-1030\",\"poj-1023\",\"hdu-1015\",\"hdu-4864\",\"hdu-1016\",\"poj-2503\",\"poj-2051\",\"poj-3190\",\"poj-2782\",\"poj-2393\",\"poj-1456\",\"hdu-1515\",\"hdu-4310\",\"hdu-1789\",\"hdu-1022\",\"hdu-1018\",\"hdu-2057\",\"poj-2833\",\"hdu-2050\",\"hdu-2051\",\"hdu-1009\",\"poj-2463\",\"hdu-1075\",\"poj-2196\",\"hdu-1002\",\"poj-2242\",\"poj-3672\",\"poj-1013\",\"poj-1012\",\"poj-1001\",\"poj-2769\",\"poj-3006\",\"poj-2272\",\"hdu-1013\",\"hdu-1027\",\"hdu-1029\",\"hdu-1019\",\"hdu-1031\",\"hdu-1035\",\"hdu-1228\",\"hdu-1225\",\"hdu-1033\",\"hdu-1034\",\"hdu-1032\"],\"submissionsByCrawlerName\":{\"poj\":325,\"hdu\":313,\"uva\":28,\"codeforces\":15,\"timus\":6,\"fzu\":5,\"LightOJ\":1,\"codechef\":5,\"UVALive\":1,\"dashiye\":5}}}"
  },
  {
    "path": "e2e/cypress/integration/application/auth-redirect.spec.js",
    "content": "describe('Redirect when visiting un-permitted pages', () => {\n\n  it('can redirect to /login when visiting /settings without being logined', () => {\n    cy.visit('/settings')\n    cy.shouldHaveUri('/login')\n  })\n\n  it('can redirect to /settings when visiting /login and being logined', () => {\n    cy.login('admin')\n\n    cy.log('---- TEST ----')\n    cy.visit('/login')\n    cy.shouldHaveUri('/settings')\n  })\n})"
  },
  {
    "path": "e2e/cypress/integration/application/auto-save-history.spec.js",
    "content": "// eslint-disable-next-line\nCypress.on('uncaught:exception', (err, runnable) => {\n  // returning false here prevents Cypress from\n  // failing the test\n  // Stop the uncaught network error\n  return false\n})\n\nbeforeEach(() => {\n  cy.intercept(\n    'https://cors.ojhunt.com/http://acm.hdu.edu.cn/userstatus.php?user=wwwlsmcom',\n    { fixture: 'summary_hdu.txt' }).as('summary_hdu')\n  cy.intercept('POST', '/api/services/app/QueryHistory/SaveOrReplaceQueryHistory')\n    .as('save-history')\n})\n\nfunction specs(enterStatistics) {\n\n  describe('at default', () => {\n\n    it('saves history automatically', () => {\n      cy.registerAndGetUsername()\n      enterStatisticsAndQuery(enterStatistics)\n      cy.wait('@save-history')\n      cy.log('assert')\n      cy.visit('/history')\n      cy.get('i.mdi-delete').should('have.length', 1)\n    })\n  })\n\n  describe('set settings to not save history', () => {\n\n    let username\n\n    before(() => {\n      cy.registerAndGetUsername().then(u => username = u)\n      cy.clearCookies()\n    })\n\n    it('should change settings successfully', () => {\n      cy.login(username)\n      cy.visit('/settings')\n      cy.contains('Auto save query history').parents('.v-card').within(() => {\n        cy.get('input[value=\"false\"]').click({ force: true })\n        cy.get('button').contains('save', { matchCase: false }).click()\n        cy.matchImageSnapshot()\n      })\n    })\n\n    it('should not auto save history', () => {\n      cy.login(username)\n      enterStatisticsAndQuery(enterStatistics)\n      cy.log('assert')\n      cy.visit('/history')\n      cy.get('i.mdi-delete').should('have.length', 0)\n    })\n\n    it('should go to summary when click view summary', () => {\n      cy.login(username)\n      enterStatisticsAndQuery(enterStatistics)\n      cy.contains('/ submission', { matchCase: false }).click()\n      cy.location('pathname').should('satisfy', val => val.startsWith('/history/'))\n    })\n\n    it('should have one record in history', () => {\n      cy.login(username)\n      cy.visit('/history')\n      cy.get('i.mdi-delete').should('have.length', 1)\n    })\n  })\n\n}\n\ndescribe('when directly enter statistics page', () => specs(() => {\n  cy.visit('/statistics')\n}))\n\ndescribe('when enter statistics page from other page', () => specs(() => {\n  cy.visit('/about')\n  cy.get('i.mdi-menu').parents('button').click()\n  cy.contains('statistics', { matchCase: false }).click()\n}))\n\nfunction enterStatisticsAndQuery(enterFunc) {\n\n  cy.log('save a history')\n  enterFunc()\n\n  cy.get('div[title=\"HDU\"]').parents('.worker').within(() => {\n\n    cy.get('div:contains(\"Username\") input').type('wwwlsmcom')\n\n    // wait for debounce to be executed\n    // eslint-disable-next-line cypress/no-unnecessary-waiting\n    cy.wait(500)\n    cy.get('button i.mdi-refresh').click()\n    cy.wait('@summary_hdu')\n\n    cy.contains('34')\n    cy.contains('72')\n  })\n}"
  },
  {
    "path": "e2e/cypress/integration/application/default-query.spec.js",
    "content": "describe('Saving default query to cookie when user does not login.', () => {\n\n  it('can work correctly', () => {\n    // arrange\n    cy.visit('/statistics')\n\n    cy.get('.v-input:contains(\"Set all usernames\") input').should('have.value', '')\n    cy.get('.worker:contains(\"CodeForces\") input').should('have.value', '')\n\n    cy.get('.v-input:contains(\"Set all usernames\") input').type('main-name')\n    // wait for other workers to update\n    cy.get('.worker:contains(\"CodeForces\") input').should('have.value', 'main-name')\n    cy.get('.worker:contains(\"HDU\") input').clear()\n    cy.get('.worker:contains(\"HDU\") input').type('user1')\n    cy.get('.worker:contains(\"POJ\") input').clear()\n\n    // act\n    cy.contains('save username').click()\n    cy.contains('Success!')\n\n    cy.reload()\n    cy.get('.worker:contains(\"HDU\") input').should('have.value', 'user1')\n    cy.get('.worker:contains(\"POJ\") input').should('have.value', '')\n    cy.get('.v-input:contains(\"Set all usernames\") input').should('have.value', 'main-name')\n  })\n})\n\ndescribe('Saving usernames to server when user has logined.', () => {\n\n  let username\n  before(() => {\n    cy.registerAndGetUsername().then(u => {\n      username = u\n    })\n    cy.clearCookies()\n  })\n\n  it('can save usernames', () => {\n    cy.login(username)\n\n    cy.visit('/statistics')\n\n    cy.get('.v-input:contains(\"Set all usernames\") input').should('have.value', '')\n    cy.get('.worker:contains(\"CodeForces\") input').should('have.value', '')\n\n    cy.get('.v-input:contains(\"Set all usernames\") input').type('main-name')\n    // wait for other worker to update\n    cy.get('.worker:contains(\"CodeForces\") input').should('have.value', 'main-name')\n    cy.get('.worker:contains(\"HDU\") input').clear()\n    cy.get('.worker:contains(\"HDU\") input').type('user1')\n    cy.get('.worker:contains(\"POJ\") input').clear()\n\n    cy.contains('save username').click()\n    cy.contains('Success!')\n  })\n\n  it('can get saved usernames from server', () => {\n    cy.login(username)\n\n    cy.visit('/statistics')\n    cy.get('.worker:contains(\"HDU\") input').should('have.value', 'user1')\n    cy.get('.worker:contains(\"POJ\") input').should('have.value', '')\n    cy.get('.v-input:contains(\"Set all usernames\") input').should('have.value', 'main-name')\n\n    cy.get('.worker:contains(\"CodeForces\") input').should('have.value', 'main-name')\n  })\n})"
  },
  {
    "path": "e2e/cypress/integration/application/login-and-register.spec.js",
    "content": "describe('/login', () => {\n\n  it('can show login error', () => {\n    cy.visit('/login')\n    cy.contains('Username').parent().type('admin')\n    cy.contains('Password').parent().type('wrong-password')\n    cy.get('button').contains('login').click()\n    cy.contains('Invalid user name or password', { timeout: 60000 })\n    cy.get('.text-center').matchImageSnapshot('login-failed')\n  })\n\n  it('can successfully login', () => {\n    cy.visit('/login')\n    cy.contains('Username').parent().type('admin')\n    cy.contains('Password').parent().type('123qwe')\n    cy.get('button').contains('login').click()\n\n    cy.shouldHaveUri('/')\n  })\n\n  it('can keep user session', () => {\n    cy.visit('/login')\n    cy.contains('Username').parent().type('admin')\n    cy.contains('Password').parent().type('123qwe')\n    cy.contains('Remember me').click()\n    cy.get('button').contains('login').click()\n\n    cy.shouldHaveUri('/')\n\n    cy.log('Username still exists after refresh page')\n    cy.reload()\n    cy.contains('admin')\n  })\n\n  it('should go to previous page after login', () => {\n    cy.visit('/about')\n\n    cy.contains('login', { matchCase: false }).click()\n\n    cy.contains('Username').parent().type('admin')\n    cy.contains('Password').parent().type('123qwe')\n    cy.get('button').contains('login').click()\n\n    cy.shouldHaveUri('/about')\n  })\n})\n\ndescribe('/register', () => {\n  it('can show captcha error', () => {\n    cy.visit('/register')\n    cy.contains('Username').parent().type('user')\n    cy.contains('Password').parent().type('1234Qwer')\n    cy.contains('Confirm password').parent().type('1234Qwer')\n    cy.contains('Captcha').parent().type('wrong')\n    cy.get('button').contains('register').click()\n    cy.contains('Incorrect captcha', { timeout: 60000 })\n    cy.get('.text-center').matchImageSnapshot('register-failed')\n  })\n})\n\ndescribe('Register then login', () => {\n\n  const newUsername = 'user' + ('' + Math.random()).split('.')[1]\n\n  it('can register new user starting from homepage', () => {\n    cy.log('visit login page from homepage')\n    cy.visit('/')\n    cy.contains('login').click()\n    cy.shouldHaveUri('/login?redirect=%2F')\n\n    cy.log('visit register page')\n    cy.contains('enter register page').click()\n    cy.shouldHaveUri('/register?redirect=%2F')\n\n    cy.log('fill user information')\n    // wait dom to refresh (wait captcha)\n    cy.contains('Captcha').parent().type('validate-text')\n    cy.contains('Username').parent().type(newUsername)\n    cy.contains('Password').parent().type('1234Qwer')\n    cy.contains('Confirm password').parent().type('1234Qwer')\n    cy.get('button').contains('register').click()\n    cy.shouldHaveUri('/')\n\n    cy.log('should back to homepage')\n    cy.contains(newUsername)\n  })\n\n  it('login from homepage then logout', () => {\n    cy.log('login from homepage')\n    cy.visit('/')\n    cy.contains('login').click()\n    cy.shouldHaveUri('/login?redirect=%2F')\n\n    cy.log('enter username and password')\n    cy.contains('Username').parent().type(newUsername)\n    cy.contains('Password').parent().type('1234Qwer')\n    cy.get('button').contains('login').click()\n    cy.shouldHaveUri('/')\n\n    cy.log('logout')\n\n    cy.contains(newUsername).click()\n    cy.contains('Logout')\n    cy.shouldHaveUri('/settings')\n\n    cy.get('button:contains(\"sign out\")').click()\n\n    cy.shouldHaveUri('/')\n\n    cy.log('username does not exist after refresh page')\n    cy.reload()\n    cy.contains('login')\n  })\n})"
  },
  {
    "path": "e2e/cypress/integration/application/swagger.spec.js",
    "content": "beforeEach(() => {\n  cy.visit('/swagger')\n})\n\nit('can load swagger file of crawler-api-backend', () => {\n  cy.get('#select').select('Crawler API', {timeout: 10000})\n  cy.contains('crawler-api-backend', {timeout: 10000})\n})\n\ndescribe('can load swagger file of backend', () => {\n\n  it('can visit page', () => {\n    cy.get('#select').select('Backend API V1', {timeout: 10000})\n    cy.contains('AcmStatisticsBackend API', {timeout: 60000})\n  })\n\n  it.skip('can login correctly', () => {\n    cy.get('#select').select('Backend API V1', {timeout: 10000})\n    cy.get('#authorize', {timeout: 10000}).within(()=>{\n      cy.contains('Authorize').click()\n    })\n    cy.get('#userName').type('admin')\n    cy.get('#password').type('123qwe')\n    cy.get('.auth-btn-wrapper > .authorize').within(()=>{\n      cy.contains('Login').click()\n    })\n\n    cy.contains('Logout', {timeout: 10000})\n\n    // 等待dom刷新\n    // eslint-disable-next-line cypress/no-unnecessary-waiting\n    cy.wait(1000)\n    cy.contains('/api/services/app/Role/GetRoles').scrollIntoView()\n    cy.contains('/api/services/app/Role/GetRoles').click()\n\n    cy.contains('Try it out').click()\n    cy.contains('Execute').click()\n    cy.contains('\"result\"')\n    cy.contains('\"items\"')\n  })\n\n})\n"
  },
  {
    "path": "e2e/cypress/integration/frontend/about.spec.js",
    "content": "describe('overall', () => {\n\n  beforeEach(() => {\n    cy.visit('/about')\n  })\n\n  it('can render correctly', () => {\n    cy.viewport(1920, 1080)\n    cy.matchImageSnapshot()\n  })\n\n  it('wechat dialog can be rendered correctly', () => {\n    cy.contains('div[role=\"listitem\"]', '微信公众号').click()\n    cy.get('.v-dialog.v-dialog--active').within(() => {\n      cy.contains('微信公众号')\n      cy.matchImageSnapshot()\n    })\n  })\n})\n"
  },
  {
    "path": "e2e/cypress/integration/frontend/history.spec.js",
    "content": "let summaryUrl\nlet username\n\nbefore(() => {\n  cy.registerAndGetUsername().then(u => {\n    username = u\n  })\n\n  cy.log('save a history')\n\n  cy.intercept(\n    'https://cors.ojhunt.com/http://acm.hdu.edu.cn/userstatus.php?user=wwwlsmcom',\n    { fixture: 'summary_hdu.txt' })\n    .as('summary_hdu')\n\n  // FIXME: the two route below do not work in intercept\n  cy.server()\n  cy.route('post', 'https://cors.ojhunt.com/https://leetcode.cn/graphql/',\n    'fixture:summary_leetcode.txt')\n    .as('summary_leetcode')\n  cy.route('/api/crawlers/vjudge/wwwlsmcom',\n    'fixture:summary_vjudge.txt')\n    .as('summary_vjudge')\n\n  cy.visit('/statistics')\n\n  cy.get('div[title=\"HDU\"]').parents('.worker').within(() => {\n    queryAndWait('@summary_hdu')\n    cy.contains('34')\n    cy.contains('72')\n  })\n\n  cy.get('div[title=\"LeetCode_CN\"]').parents('.worker').within(() => {\n    queryAndWait('@summary_leetcode')\n    cy.contains('2')\n    cy.contains('4')\n  })\n\n  cy.get('div[title=\"VJudge\"]').parents('.worker').within(() => {\n    queryAndWait('@summary_vjudge')\n    cy.contains('161')\n    cy.contains('704')\n  })\n\n  cy.contains('SOLVED: 192 / SUBMISSION', { matchCase: false }).click()\n\n  cy.url().should('contain', '/history/')\n    .then(s => {\n      summaryUrl = s\n      console.log('url', s)\n    })\n\n  cy.clearCookies()\n})\n\ndescribe('summary page', () => {\n\n  it('should render correctly', () => {\n    cy.login(username)\n    cy.visit(summaryUrl)\n\n    // hide generate time\n    cy.get('strong:contains(\"Generated at\")')\n      .parent()\n      .invoke('attr', 'style', 'background-color: black')\n    cy.get('.v-toolbar__title')\n      .invoke('text', '[GENERATED DATE]')\n    // hide account username\n    cy.get(`button:contains(\"${username}\")`)\n      .invoke('attr', 'style', 'background-color: black')\n\n    cy.matchImageSnapshot()\n  })\n\n  it('should be able to sort the list', () => {\n    cy.login(username)\n    cy.visit(summaryUrl)\n\n    // hide generate time\n    cy.get('strong:contains(\"Generated at\")')\n      .parent()\n      .invoke('attr', 'style', 'background-color: black')\n    cy.get('.v-toolbar__title')\n      .invoke('text', '[GENERATED DATE]')\n    // hide account username\n    cy.get(`button:contains(\"${username}\")`)\n      .invoke('attr', 'style', 'background-color: black')\n\n    cy.contains('Solved').click()\n\n    cy.matchImageSnapshot()\n  })\n})\n\ndescribe('history page', () => {\n\n  it('should show history correctly', () => {\n    // it already has one record\n    cy.login(username)\n    cy.visit('/history')\n\n    cy.get('tbody tr').within(() => {\n      cy.contains('192')\n      cy.contains('780')\n    })\n  })\n\n  describe('when click view', () => {\n    it('should go to summary page', () => {\n\n      cy.login(username)\n      cy.visit('/history')\n\n      cy.get('i.mdi-eye').parents('a').click()\n\n      cy.url().should('eq', summaryUrl)\n    })\n  })\n\n  describe('when click delete', () => {\n\n    before(() => {\n      cy.intercept('/api/services/app/QueryHistory/GetQueryHistoriesAndSummaries?maxResultCount=10&skipCount=0')\n        .as('get-list')\n    })\n\n    it('should delete item', () => {\n\n      cy.login(username)\n      cy.visit('/history')\n\n      cy.get('i.mdi-delete').parents('button').click()\n\n      cy.wait('@get-list')\n\n      cy.contains('no data available', { matchCase: false })\n    })\n\n  })\n\n  describe('for history with multiple pages', () => {\n\n    beforeEach(() => {\n      cy.login(username)\n      // go page from other pages to prevent ssr\n      cy.visit('/about')\n\n      cy.intercept(\n        '/api/services/app/QueryHistory/GetQueryHistoriesAndSummaries?maxResultCount=10&skipCount=0',\n        { fixture: 'history_list.json' })\n        .as('get-list')\n      cy.intercept(\n        '/api/services/app/QueryHistory/GetQueryHistoriesAndSummaries?maxResultCount=10&skipCount=10',\n        { fixture: 'history_list-skip10.json' })\n        .as('get-list-2')\n      cy.intercept(\n        '/api/services/app/QueryHistory/GetQueryHistoriesAndSummaries?maxResultCount=5&skipCount=0',\n        { fixture: 'history_list-max5.json' })\n        .as('get-list-3')\n\n      cy.get('i.mdi-menu').parents('button').click()\n      cy.contains('history', { matchCase: false }).click()\n      cy.wait('@get-list')\n\n      // hide account username\n      cy.get(`button:contains(\"${username}\")`)\n        .invoke('attr', 'style', 'background-color: black')\n    })\n\n    it('should render correctly', () => {\n      historyPageSnapshot(cy)\n    })\n\n    it('can go to next page', () => {\n      cy.get('i.mdi-chevron-right').parents('button').click()\n      cy.wait('@get-list-2')\n      // cy.get('table').matchImageSnapshot()\n      historyPageSnapshot(cy.get('table'))\n    })\n\n    it('can set page size', () => {\n      cy.get('div[aria-haspopup=\"listbox\"]').click()\n      cy.get('div[role=\"listbox\"]')\n        .contains('5')\n        .parents('div[role=\"option\"]')\n        .click()\n      cy.wait('@get-list-3')\n      // cy.get('table').matchImageSnapshot()\n      historyPageSnapshot(cy.get('table'))\n    })\n\n    it('can delete multiple items correctly', () => {\n\n      for (let i = 1; i <= 4; ++i) {\n        cy.get(`tbody tr:nth-child(${i}) td:nth-child(1) > div`).click()\n      }\n\n      historyPageSnapshot(cy)\n\n      cy.intercept('POST', '/api/services/app/QueryHistory/DeleteQueryHistory',\n        req => req.reply({ success: true }))\n        .as('delete')\n\n      cy.contains('delete selected', { matchCase: false }).click()\n\n      cy.wait('@delete')\n      cy.get('@delete').its('request.body').should('deep.equal', {\n        ids: [7, 8, 9, 10],\n      })\n    })\n  })\n\n})\n\nfunction queryAndWait(waitFor) {\n  cy.get('div:contains(\"Username\") input').type('wwwlsmcom')\n\n  // wait for debounce to be executed\n  // eslint-disable-next-line cypress/no-unnecessary-waiting\n  cy.wait(500)\n  cy.get('button i.mdi-refresh').click()\n  cy.wait(waitFor)\n}\n\n// FIXME: temporary settings to make test passes, this only applies to history with\n// multiple pages\nfunction historyPageSnapshot(target = cy) {\n  target.matchImageSnapshot({\n    failureThreshold: 9000,\n    failureThresholdType: 'pixel',\n  })\n}"
  },
  {
    "path": "e2e/cypress/integration/frontend/index.spec.js",
    "content": "describe('overall', () => {\n\n  beforeEach(() => {\n    cy.visit('/')\n\n    // remove parallax for snapshot\n    cy.document().then(document => {\n      document.querySelectorAll('.v-parallax__image')\n        .forEach(item => item.setAttribute('style', null))\n    })\n  })\n\n  it('can render correctly', () => {\n    cy.viewport(1920, 1080)\n    cy.matchImageSnapshot()\n  })\n\n})\n\ndescribe('parallax test', () => {\n\n  beforeEach(() => {\n    cy.visit('/')\n  })\n\n  describe('first parallax', () => {\n    it('can render correctly', () => {\n      cy.get('.v-parallax').eq(0).matchImageSnapshot()\n    })\n  })\n\n  describe('second parallax', () => {\n    it('can render correctly', () => {\n      cy.get('.v-parallax').eq(1).matchImageSnapshot()\n    })\n  })\n})\n\ndescribe('other parts', () => {\n\n  beforeEach(() => {\n    cy.visit('/')\n  })\n\n  it('click ENTER AC STATISTICS button to enter', () => {\n    cy.contains('Enter AC Statistics').click()\n    cy.shouldHaveUri('/statistics')\n  })\n})\n"
  },
  {
    "path": "e2e/cypress/integration/frontend/login-register.spec.js",
    "content": "describe('/login', () => {\n\n  beforeEach(() => {\n    cy.visit('/login')\n  })\n\n  it('can render correctly', () => {\n    cy.viewport(1920, 1080)\n    cy.matchImageSnapshot()\n  })\n})\n\ndescribe('/register', () => {\n\n  beforeEach(() => {\n    cy.visit('/register')\n  })\n\n  it('can render correctly', () => {\n    cy.viewport(1920, 1080)\n    cy.matchImageSnapshot()\n  })\n\n})\n"
  },
  {
    "path": "e2e/cypress/integration/frontend/settings.spec.js",
    "content": "let username\n\nbeforeEach(function () {\n  cy.session('settings session', () => {\n    cy.registerAndGetUsername().then(u => username = u)\n  })\n})\n\ndescribe('overall', () => {\n\n  it('can render correctly', () => {\n\n    cy.visit('/settings')\n\n    // hide account username\n    cy.get(`button:contains(\"${username}\")`)\n      .invoke('attr', 'style', 'background-color: black')\n    cy.matchImageSnapshot()\n  })\n})\n\ndescribe('change password', () => {\n  it('can report error when password is wrong', () => {\n    cy.visit('/settings')\n    cy.contains('Change Password').parent().within(() => {\n      cy.contains('Current Password').parent().type('wrong')\n      cy.contains('New Password').parent().type('1234QWer')\n      cy.contains('Confirm Password').parent().type('1234QWer')\n      cy.contains('submit').click()\n      cy.matchImageSnapshot()\n    })\n  })\n\n  it('can work correctly', () => {\n    cy.visit('/settings')\n    cy.contains('Change Password').parent().within(() => {\n      cy.contains('Current Password').parent().type('1234Qwer')\n      cy.contains('New Password').parent().type('1234QWer')\n      cy.contains('Confirm Password').parent().type('1234QWer')\n      cy.contains('submit').click()\n      cy.contains('Success!')\n      cy.matchImageSnapshot()\n    })\n\n    cy.log('re-login to test new password')\n    cy.get('button:contains(\"sign out\")').click()\n    cy.shouldHaveUri('/')\n    cy.login(username, '1234QWer')\n  })\n})\n\ndescribe('change time zone', () => {\n  before(() => {\n    cy.intercept('POST', '/api/services/app/UserConfig/SetUserTimeZone').as('set-time-zone')\n  })\n\n  it('should work correctly', () => {\n    cy.visit('/settings')\n\n    cy.contains('Change time zone').parent().within(() => {\n      cy.get('.v-select').click()\n      cy.root().parents('html')\n        .contains('(GMT+01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna')\n        .click()\n      cy.contains('save').click()\n    })\n\n    cy.wait('@set-time-zone')\n\n    cy.reload()\n    // hide header\n    cy.get('header').invoke('hide')\n\n    cy.contains('Change time zone').parent().matchImageSnapshot()\n  })\n})\n\ndescribe('delete account', () => {\n  it('should work correctly', () => {\n    cy.visit('/settings')\n    cy.get('button:contains(\"delete\")').click()\n    cy.get('.v-dialog').within(() => {\n      cy.matchImageSnapshot()\n      cy.get('button:contains(\"Confirm\")').click()\n    })\n    cy.shouldHaveUri('/')\n  })\n})"
  },
  {
    "path": "e2e/cypress/integration/frontend/side-bar.spec.js",
    "content": "describe('when not logged in', () => {\n  it('should show side bar correctly', () => {\n\n    cy.visit('/about')\n\n    cy.get('.v-app-bar__nav-icon').click()\n    cy.get('.v-navigation-drawer__content').matchImageSnapshot()\n\n  })\n})\n\ndescribe('when logged in', () => {\n\n  let username\n\n  before(() => {\n    cy.registerAndGetUsername().then(u => {\n      username = u\n    })\n    cy.clearCookies()\n  })\n\n  beforeEach(() => {\n    cy.login(username)\n  })\n\n  it('should show side bar correctly', () => {\n\n    cy.visit('/about')\n\n    cy.get('.v-app-bar__nav-icon').click()\n    cy.get('.v-navigation-drawer__content').matchImageSnapshot()\n\n  })\n})"
  },
  {
    "path": "e2e/cypress/integration/frontend/statistics.spec.js",
    "content": "describe('overall', () => {\n\n  beforeEach(() => {\n    cy.visit('/statistics')\n  })\n\n  it('can render correctly', () => {\n    // reset workers to make heights correct\n    cy.contains('reset', { matchCase: false }).click()\n    snapshot()\n  })\n\n})\n\ndescribe('crawler test', () => {\n\n  beforeEach(() => {\n    cy.visit('/statistics')\n  })\n\n  it('can start a worker', () => {\n\n    cy.intercept(\n      'https://cors.ojhunt.com/http://poj.org/userstatus?user_id=vjudge5',\n      { fixture: 'poj_ok.txt' })\n      .as('poj_frontend')\n\n    cy.get('div[title=\"POJ\"]').parents('.worker').within(() => {\n\n      snapshot('worker-idle')\n\n      cy.get('div:contains(\"Username\") input').type('vjudge5')\n      cy.get('div:contains(\"Username\") input').blur()\n      snapshot('worker-typed')\n\n      waitAndRefresh()\n      cy.wait('@poj_frontend')\n\n      cy.contains('1968')\n      cy.contains('277562')\n      snapshot('worker-done')\n    })\n  })\n\n  it('can request crawler-api-backend when get network error', () => {\n\n    cy.intercept(\n      'https://cors.ojhunt.com/http://poj.org/userstatus?user_id=vjudge5',\n      { forceNetworkError: true }).as('poj_frontend')\n    cy.intercept('/api/crawlers/poj/vjudge5').as('poj_backend')\n\n    cy.mockServer('oj/poj/backend_ok')\n\n    cy.get('div[title=\"POJ\"]').parents('.worker').within(() => {\n      cy.get('div:contains(\"Username\") input').type('vjudge5')\n      waitAndRefresh()\n\n      cy.wait('@poj_frontend')\n      cy.wait('@poj_backend')\n        .its('response.statusCode').should('eq', 200)\n\n      cy.contains('1968')\n      cy.contains('277562')\n    })\n  })\n\n  it('can stop running query', () => {\n\n    cy.intercept(\n      'https://cors.ojhunt.com/http://poj.org/userstatus?user_id=vjudge5',\n      { body: 'lololo', delayMs: 10000 },\n    ).as('poj_frontend')\n\n    cy.get('div[title=\"POJ\"]').parents('.worker').within(() => {\n\n      cy.get('div:contains(\"Username\") input').type('vjudge5')\n      waitAndRefresh()\n\n      cy.get('.v-progress-linear')\n      snapshot('worker-working')\n\n      cy.get('button i.mdi-stop').click()\n\n      snapshot('worker-after-stop')\n    })\n  })\n\n  it('can show crawler errors', () => {\n\n    cy.intercept('https://cors.ojhunt.com/http://poj.org/userstatus?user_id=Frkfe932fbcv09b',\n      { fixture: 'poj_notExist.txt' })\n      .as('poj_frontend')\n\n    cy.get('div[title=\"POJ\"]').parents('.worker').within(() => {\n\n      cy.get('div:contains(\"Username\") input').type('Frkfe932fbcv09b')\n      waitAndRefresh()\n      cy.wait('@poj_frontend')\n\n      cy.contains('The user does not exist')\n      snapshot('worker-error')\n    })\n  })\n\n  it('can show crawler warnings', () => {\n    cy.get('div[title=\"POJ\"]').parents('.worker').within(() => {\n\n      cy.get('div:contains(\"Username\") input').type(' name with space')\n      cy.get('div:contains(\"Username\") input').blur()\n\n      cy.contains('Your username begins with a space.')\n      cy.contains('Your username includes space, which may not be supported by some crawlers.')\n      snapshot('worker-warning')\n    })\n  })\n})\n\nfunction snapshot(name) {\n  if (name) {\n    cy.matchImageSnapshot(name, {\n      capture: 'viewport',\n    })\n  } else {\n    cy.matchImageSnapshot({\n      capture: 'viewport',\n    })\n  }\n}\n\nfunction waitAndRefresh() {\n  // wait for debounce to be executed\n  // eslint-disable-next-line cypress/no-unnecessary-waiting\n  cy.wait(500)\n  cy.get('button i.mdi-refresh').click()\n}\n"
  },
  {
    "path": "e2e/cypress/support/commands.js",
    "content": "// ***********************************************\n// This example commands.js shows you how to\n// create various custom commands and overwrite\n// existing commands.\n//\n// For more comprehensive examples of custom\n// commands please read more here:\n// https://on.cypress.io/custom-commands\n// ***********************************************\n//\n//\n// -- This is a parent command --\n// Cypress.Commands.add(\"login\", (email, password) => { ... })\n//\n//\n// -- This is a child command --\n// Cypress.Commands.add(\"drag\", { prevSubject: 'element'}, (subject, options) => { ... })\n//\n//\n// -- This is a dual command --\n// Cypress.Commands.add(\"dismiss\", { prevSubject: 'optional'}, (subject, options) => { ... })\n//\n//\n// -- This is will overwrite an existing command --\n// Cypress.Commands.overwrite(\"visit\", (originalFn, url, options) => { ... })\n\n/*\n * 使用 cy.mockServer('busuanzi') 或者 cy.mockServer('oj/poj') 这样的命令来进行\n */\nCypress.Commands.add('mockServer', path => {\n  cy.request(`http://mock-configurer/${path}`)\n})\n\nCypress.Commands.overwrite('matchImageSnapshot', (originalFn, maybeName, commandOptions) => {\n  let waitTimeperiod = 1000\n  if (!maybeName) {\n    waitTimeperiod = 2000\n  }\n  // eslint-disable-next-line cypress/no-unnecessary-waiting\n  cy.wait(waitTimeperiod)\n  return originalFn(maybeName, commandOptions)\n})\n\nCypress.Commands.add('registerAndGetUsername', () => {\n\n  cy.clearCookies()\n\n  cy.log('<<<<< Start register')\n\n  const username = 'user' + ('' + Math.random()).slice(2, 8).padEnd(6, '0')\n\n  cy.visit('/register')\n  cy.contains('Captcha').parent().type('validate-text')\n  cy.contains('Username').parent().type(username)\n  cy.contains('Password').parent().type('1234Qwer')\n  cy.contains('Confirm password').parent().type('1234Qwer')\n  cy.get('button').contains('register').click()\n\n  cy.shouldHaveUri('/')\n  cy.log('>>>>> End register')\n\n  return cy.wrap(username)\n})\n\nCypress.Commands.add('login', (username, password) => {\n\n  if (!password) {\n    if (username === 'admin') {\n      password = '123qwe'\n    } else {\n      password = '1234Qwer'\n    }\n  }\n\n  cy.clearCookies()\n\n  cy.log('<<<<< Start login')\n\n  cy.visit('/login')\n  cy.contains('Username').parent().type(username)\n  cy.contains('Password').parent().type(password)\n  cy.get('button').contains('login').click()\n\n  cy.shouldHaveUri('/')\n  cy.log('>>>>> End login')\n})\n\nCypress.Commands.add('shouldHaveUri', (uri, config = {}) => {\n  const timeout = config.timeout || 30000\n\n  return cy.url({ timeout: timeout })\n    .should('eq', Cypress.config().baseUrl + uri)\n})"
  },
  {
    "path": "e2e/cypress/support/e2e.js",
    "content": "// ***********************************************************\n// This example support/e2e.js is processed and\n// loaded automatically before your test files.\n//\n// This is a great place to put global configuration and\n// behavior that modifies Cypress.\n//\n// You can change the location of this file or turn off\n// automatically serving support files with the\n// 'supportFile' configuration option.\n//\n// You can read more here:\n// https://on.cypress.io/configuration\n// ***********************************************************\n\nimport {addMatchImageSnapshotCommand} from '@simonsmith/cypress-image-snapshot/command'\n\naddMatchImageSnapshotCommand()\nrequire('cypress-terminal-report/src/installLogsCollector')()\n\nrequire('./commands')\n"
  },
  {
    "path": "e2e/cypress.config.js",
    "content": "const { defineConfig } = require('cypress')\n\nmodule.exports = defineConfig({\n  e2e: {\n    baseUrl: 'http://localhost:3000',\n    specPattern: 'cypress/integration/**/*.spec.js',\n    setupNodeEvents(on, config) {\n      require('@simonsmith/cypress-image-snapshot/plugin')\n          .addMatchImageSnapshotPlugin(on, config)\n      require('cypress-terminal-report/src/installLogsPrinter')(on)\n    },\n    experimentalSessionAndOrigin: true,\n  },\n\n  retries: {\n      runMode: 2,\n      openMode: 0,\n  },\n  projectId: '4s32o7',\n})"
  },
  {
    "path": "e2e/http-mocks/.dockerignore",
    "content": "node_modules\nDockerfile\n.gitignore\n"
  },
  {
    "path": "e2e/http-mocks/.gitignore",
    "content": "# Logs\nlogs\n*.log\nnpm-debug.log*\nyarn-debug.log*\nyarn-error.log*\n\n# Runtime data\npids\n*.pid\n*.seed\n*.pid.lock\n\n# Directory for instrumented libs generated by jscoverage/JSCover\nlib-cov\n\n# Coverage directory used by tools like istanbul\ncoverage\n\n# nyc test coverage\n.nyc_output\n\n# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)\n.grunt\n\n# Bower dependency directory (https://bower.io/)\nbower_components\n\n# node-waf configuration\n.lock-wscript\n\n# Compiled binary addons (https://nodejs.org/api/addons.html)\nbuild/Release\n\n# Dependency directories\nnode_modules/\njspm_packages/\n\n# Typescript v1 declaration files\ntypings/\n\n# Optional npm cache directory\n.npm\n\n# Optional eslint cache\n.eslintcache\n\n# Optional REPL history\n.node_repl_history\n\n# Output of 'npm pack'\n*.tgz\n\n# Yarn Integrity file\n.yarn-integrity\n\n# dotenv environment variables file\n.env\n\n# next.js build output\n.next\n"
  },
  {
    "path": "e2e/http-mocks/Dockerfile",
    "content": "ARG NODE_BASE_IMAGE\n\n\nFROM ${NODE_BASE_IMAGE}\n\nRUN apk add --update --no-cache python3 make gcc g++\n\nWORKDIR /mocks\nCOPY package.json pnpm-lock.yaml ./\nRUN pnpm install\n\nADD . /mocks\n\nCMD [\"pnpm\", \"start\"]\n"
  },
  {
    "path": "e2e/http-mocks/package.json",
    "content": "{\n  \"name\": \"http-mocks\",\n  \"scripts\": {\n    \"start\": \"nodemon --legacy-watch ./src/index.js\"\n  },\n  \"dependencies\": {\n    \"glob\": \"10.5.0\",\n    \"mockserver-client\": \"5.15.0\",\n    \"nodemon\": \"2.0.22\",\n    \"wait-on\": \"7.2.0\"\n  }\n}\n"
  },
  {
    "path": "e2e/http-mocks/src/index.js",
    "content": "const http = require('http')\nconst { join } = require('path')\nconst wait = require('wait-on')\nconst mock = require('./lib/mock')\nconst preActivation = require('./preActivation')\n\nconst mocks = {}\nrequire('fs').readdirSync(join(__dirname, 'mocks')).forEach(file => {\n  if (file.endsWith('.js')) {\n    file = file.replace(/\\.js$/, '')\n    mocks[file] = require('./mocks/' + file)\n  }\n})\n\nconsole.log('mock list', mocks)\n\nconst server = http.createServer(async (req, res) => {\n\n  try {\n    const func = findInPath(mocks, req.url)\n    if (!func) {\n      throw new Error(`mock ${req.url} is not in the list`)\n    }\n\n    const response = await mock(func)\n    console.log(response)\n\n    res.writeHead(200, { 'Content-Type': 'text/text' })\n    res.write(`mock ${req.url} successfully created`)\n    res.end()\n\n  } catch (e) {\n    console.error(e)\n\n    res.writeHead(500, { 'Content-Type': 'text/text' })\n    res.write(`mock ${req.url} yield following error message: ${e.message}`)\n    res.end()\n  }\n})\n\n/**\n * 对于 /a/c/d 这样的 path，找到 obj 中的 obj.a.c.d，否则返回 null\n * @param obj\n * @param path {string} like /a/c/d\n * @return {Object|null}\n */\nfunction findInPath(obj, path) {\n\n  const findIn = path.substr(1).split('/')\n  if (findIn[0] === 'mock-configurer') {\n    findIn.shift()\n  }\n  console.log('find in array', findIn)\n\n  let current = obj\n\n  for (let item of findIn) {\n    if (!current[item]) return null\n    current = current[item]\n  }\n\n  return current\n}\n\nconsole.log('waiting for proxy server to be available...')\n\nwait({\n  resources: [\n    'tcp:mock-proxy:1080',\n  ],\n  timeout: 60000,\n}).then(() => {\n\n  console.log('proxy server started, now starting configurer server')\n\n  mock(client => client.reset())\n    .then(() => console.log('All expectations reset'))\n    .catch(console.error)\n\n  // 激活预先的mock\n  preActivation(mocks)\n\n  server.listen(80)\n})\n"
  },
  {
    "path": "e2e/http-mocks/src/lib/mock.js",
    "content": "const mockServerClient = require('mockserver-client').mockServerClient\n\nconst client = mockServerClient('mock-proxy', 1080)\n\n/**\n * 将 client 传入 func，将结果 promise 输出\n * @param func 接收 mockServerClient, 返回运行它之后的返回值\n * @return {Promise}\n */\nmodule.exports = func => {\n  const promise = func(client)\n  if (promise instanceof Promise) {\n    return promise\n  } else {\n    return new Promise((resolve, reject) => promise.then(resolve, reject))\n  }\n}\n"
  },
  {
    "path": "e2e/http-mocks/src/lib/restClient.js",
    "content": "const http = require('http')\n\nmodule.exports = json => new Promise((resolve, reject) => {\n\n  const data = JSON.stringify(json)\n\n  const reqCfg = {\n    method: 'PUT',\n    headers: {\n      'Content-Type': 'application/json',\n      'Content-Length': Buffer.byteLength(data),\n    },\n  }\n  const req = http.request('http://mock-proxy:1080/mockserver/expectation', reqCfg, resp => {\n\n    let streamData = ''\n    // A chunk of data has been recieved.\n    resp.on('data', (chunk) => {\n      streamData += chunk\n    })\n\n    // The whole response has been received. Print out the result.\n    resp.on('end', () => {\n      resolve(streamData)\n    })\n\n  }).on('error', reject)\n\n  req.write(data)\n  req.end()\n})"
  },
  {
    "path": "e2e/http-mocks/src/mocks/busuanzi.js",
    "content": "// 让 busuanzi 每次都返回一样的数据\nmodule.exports = client =>\n  client.mockWithCallback({\n    path: '/busuanzi',\n    queryStringParameters: {\n      jsonpCallback: ['.*'],\n    },\n    headers: {\n      host: ['busuanzi\\\\.ibruce\\\\.info(:80)?'],\n    },\n  }, function (req) {\n    return {\n      statusCode: 200,\n      body: `try{${req.queryStringParameters.jsonpCallback[0]}({\"site_uv\":3492,\"page_pv\":2770,\"version\":2.4,\"site_pv\":7164});}catch(e){}`,\n    }\n  }, {\n    unlimited: true,\n  })\n"
  },
  {
    "path": "e2e/http-mocks/src/mocks/googleAds.js",
    "content": "// block google ads\nmodule.exports = client =>\n  client.mockAnyResponse({\n    httpRequest: {\n      headers: {\n        host: ['pagead2.googlesyndication.com'],\n      },\n    },\n    httpResponse: {\n      statusCode: 404,\n    },\n    timeToLive:{\n      unlimited: true,\n    },\n    times: {\n      unlimited: true,\n    },\n  })\n"
  },
  {
    "path": "e2e/http-mocks/src/mocks/googleAnalysis.js",
    "content": "// block google analysis\nmodule.exports = client =>\n  client.mockAnyResponse({\n    httpRequest: {\n      headers: {\n        host: ['www.googletagmanager.com'],\n      },\n    },\n    httpResponse: {\n      statusCode: 404,\n    },\n    timeToLive:{\n      unlimited: true,\n    },\n    times: {\n      unlimited: true,\n    },\n  })\n"
  },
  {
    "path": "e2e/http-mocks/src/mocks/history-snapshot.js",
    "content": "module.exports = {\n  history(client) {\n    return client.mockAnyResponse({\n      httpRequest: {\n        path: '/api/services/app/QueryHistory/GetQueryHistoriesAndSummaries',\n        headers: {\n          host: ['reverse-proxy'],\n        },\n      },\n      httpResponse: {\n        statusCode: 200,\n        headers: {\n          'Content-Type': ['application/json; charset=utf-8'],\n        },\n        body: JSON.stringify(historyList),\n      },\n    })\n  },\n  summary(client) {\n    return client.mockAnyResponse({\n      httpRequest: {\n        path: '/api/services/app/QueryHistory/GetQuerySummary',\n        queryStringParameters: {\n          queryHistoryId: ['1'],\n        },\n        headers: {\n          host: ['reverse-proxy'],\n        },\n      },\n      httpResponse: {\n        statusCode: 200,\n        headers: {\n          'Content-Type': ['application/json; charset=utf-8'],\n        },\n        body: JSON.stringify(summaryResponse),\n      },\n    })\n  },\n}\n\nconst historyList = {\n  'result': {\n    'totalCount': 60,\n    'items': [{\n      'historyId': 10,\n      'summaryId': 10,\n      'creationTime': '2020-04-10T08:00:00Z',\n      'submission': 100,\n      'solved': 10,\n    },\n    {\n      'historyId': 9,\n      'summaryId': 9,\n      'creationTime': '2020-04-09T08:00:00Z',\n      'submission': 90,\n      'solved': 9,\n    },\n    {\n      'historyId': 8,\n      'summaryId': 8,\n      'creationTime': '2020-04-08T08:00:00Z',\n      'submission': 80,\n      'solved': 8,\n    },\n    {\n      'historyId': 7,\n      'summaryId': 7,\n      'creationTime': '2020-04-07T08:00:00Z',\n      'submission': 70,\n      'solved': 7,\n    },\n    {\n      'historyId': 6,\n      'summaryId': 6,\n      'creationTime': '2020-04-06T08:00:00Z',\n      'submission': 60,\n      'solved': 6,\n    },\n    {\n      'historyId': 5,\n      'summaryId': 5,\n      'creationTime': '2020-04-05T08:00:00Z',\n      'submission': 50,\n      'solved': 5,\n    },\n    {\n      'historyId': 4,\n      'summaryId': 4,\n      'creationTime': '2020-04-04T08:00:00Z',\n      'submission': 40,\n      'solved': 4,\n    },\n    {\n      'historyId': 3,\n      'summaryId': 3,\n      'creationTime': '2020-04-03T08:00:00Z',\n      'submission': 30,\n      'solved': 3,\n    },\n    {\n      'historyId': 2,\n      'summaryId': 2,\n      'creationTime': '2020-04-02T08:00:00Z',\n      'submission': 20,\n      'solved': 2,\n    },\n    {\n      'historyId': 1,\n      'summaryId': 1,\n      'creationTime': '2020-04-01T08:00:00Z',\n      'submission': 10,\n      'solved': 1,\n    },\n    ],\n  },\n  'targetUrl': null,\n  'success': true,\n  'error': null,\n  'unAuthorizedRequest': false,\n  '__abp': true,\n}\n\nconst summaryResponse = {\n  'result': {\n    'queryHistoryId': 1,\n    'generateTime': '2020-07-11T04:15:22.010446Z',\n    'mainUsername': 'wwwlsmcom',\n    'queryCrawlerSummaries': [{\n      'crawlerName': 'vjudge',\n      'submission': 1,\n      'solved': 1,\n      'usernames': [{\n        'fromCrawlerName': null,\n        'username': 'wwwlsmcom',\n      }],\n      'isVirtualJudge': true,\n    }, {\n      'crawlerName': 'codechef',\n      'submission': 5,\n      'solved': 1,\n      'usernames': [{\n        'fromCrawlerName': 'vjudge',\n        'username': 'wwwlsmcom',\n      }],\n      'isVirtualJudge': false,\n    }, {\n      'crawlerName': 'leetcode_cn',\n      'submission': 9,\n      'solved': 3,\n      'usernames': [{\n        'fromCrawlerName': null,\n        'username': 'wwwlsmcom',\n      }],\n      'isVirtualJudge': false,\n    }, {\n      'crawlerName': 'timus',\n      'submission': 6,\n      'solved': 2,\n      'usernames': [{\n        'fromCrawlerName': 'vjudge',\n        'username': 'wwwlsmcom',\n      }],\n      'isVirtualJudge': false,\n    }, {\n      'crawlerName': 'fzu',\n      'submission': 5,\n      'solved': 1,\n      'usernames': [{\n        'fromCrawlerName': 'vjudge',\n        'username': 'wwwlsmcom',\n      }],\n      'isVirtualJudge': false,\n    }, {\n      'crawlerName': 'uvalive',\n      'submission': 1,\n      'solved': 1,\n      'usernames': [{\n        'fromCrawlerName': 'vjudge',\n        'username': 'wwwlsmcom',\n      }],\n      'isVirtualJudge': false,\n    }, {\n      'crawlerName': 'uva',\n      'submission': 28,\n      'solved': 11,\n      'usernames': [{\n        'fromCrawlerName': 'vjudge',\n        'username': 'wwwlsmcom',\n      }],\n      'isVirtualJudge': false,\n    }, {\n      'crawlerName': 'codeforces',\n      'submission': 15,\n      'solved': 6,\n      'usernames': [{\n        'fromCrawlerName': 'vjudge',\n        'username': 'wwwlsmcom',\n      }],\n      'isVirtualJudge': false,\n    }, {\n      'crawlerName': 'dashiye',\n      'submission': 5,\n      'solved': 0,\n      'usernames': [{\n        'fromCrawlerName': 'vjudge',\n        'username': 'wwwlsmcom',\n      }],\n      'isVirtualJudge': false,\n    }, {\n      'crawlerName': 'hdu',\n      'submission': 385,\n      'solved': 108,\n      'usernames': [{\n        'fromCrawlerName': 'vjudge',\n        'username': 'wwwlsmcom',\n      }, {\n        'fromCrawlerName': null,\n        'username': 'wwwlsmcom',\n      }],\n      'isVirtualJudge': false,\n    }, {\n      'crawlerName': 'poj',\n      'submission': 325,\n      'solved': 59,\n      'usernames': [{\n        'fromCrawlerName': 'vjudge',\n        'username': 'wwwlsmcom',\n      }],\n      'isVirtualJudge': false,\n    }],\n    'summaryWarnings': [{\n      'crawlerName': 'leetcode_cn',\n      'content': 'This crawler does not have a solved list and its result will be directly added to summary.',\n    }],\n    'submission': 785,\n    'solved': 193,\n  },\n  'targetUrl': null,\n  'success': true,\n  'error': null,\n  'unAuthorizedRequest': false,\n  '__abp': true,\n}"
  },
  {
    "path": "e2e/http-mocks/src/mocks/oj.js",
    "content": "module.exports = {\n  poj: {\n    backend_ok(client) {\n      return client.mockAnyResponse({\n        httpRequest: {\n          path: '/userstatus',\n          queryStringParameters: {\n            user_id: ['vjudge5'],\n          },\n          headers: {\n            host: ['poj.org.*'],\n          },\n        },\n        httpResponse: {\n          statusCode: 200,\n          headers: {\n            'Content-Type': ['text/html; charset=utf-8'],\n          },\n          body: pojResponse,\n        },\n      })\n    },\n  },\n}\n\n/*\nSOLVED: 1968\nSUBMISSIONS: 277562\n */\nconst pojResponse = `<html><head><meta http-equiv=\"Pragma\" content=\"no-cache\"><meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\"><meta http-equiv=\"Content-Language\" content=\"en-US\"><title>User -- vjudge5</title><link rel=stylesheet href='poj.css' type='text/css'><link rel='shortcut icon' href='poj.ico'><link rel='icon' href='poj.gif' type='image/gif'><script src='poj.js' language='javascript'></script></head><body lang=\"en-US\" leftmargin=5 link=blue alink=blue vlink=blue onkeydown=KeyDown(event)><a name=top></a><TABLE style='BORDER-COLLAPSE: collapse' borderColor=#ffffff width=100% border=1><TBODY><TR><TD align=CENTER colSpan=5><table class=h1 cellpadding=0><tr><td width=25% align=left><img src='images/logo1.jpg' height=100 border=0></td><td colspan=3 bgcolor='#EAEFFD'><table class=h2><tr><td><img border=0 src='images/logo0.gif' width=450 height=90></td><td width=95><img border=0 src='images/logo3.gif' width=95 height=95></td></tr></table></td></tr></table></TD></TR><TR vAlign=top align=CENTER bgColor=#6589d1><TH class=h>Online Judge</TH><TH class=h>Problem Set</TH><TH class=h>Authors</TH><TH class=h>Online Contests</TH><TH class=h>User</TH></TR><TR vAlign=top align=CENTER bgColor='#f1f1fd'><TD class='h' onMouseOver='scbg(this, 1)' onMouseOut='scbg(this, 0)'><A href='bbs'>Web Board</A><BR><A href='./'>Home Page</A><BR><A href='page?id=1000' target=_blank>F.A.Qs</A><BR><a href='chart'>Statistical Charts</a></TD><TD class='h' onMouseOver='scbg(this, 1)' onMouseOut='scbg(this, 0)'><FORM action=gotoproblem method=get><A href='problemlist'>Problems</A><BR><A href='submit'>Submit Problem</A><BR><A href='status'>Online Status</A><BR><font color=blue>Prob.ID:</font><input type=text name=pid size=6><input type=Submit value=Go name=pb1></form></td><TD class='h' onMouseOver='scbg(this,1)' onMouseOut='scbg(this,0)'><form method=GET action=searchuser><a href=register>Register</a><br><a href=modifyuser>Update your info</a><br><a href=userlist>Authors ranklist</a><br><input type=text name=key size=10><input type=Submit value=Search name=B1></form></TD>\n<TD class=h onMouseOver='scbg(this,1)' onMouseOut='scbg(this,0)'><font color=#1a5cc8>Current Contest</font><br><a href=pastcontests>Past Contests</a><br><a href=contests>Scheduled Contests</a><br><a href=challenge.html target=_blank><font color=red>Award Contest</font></a></td><TD align=left class=h onMouseOver='scbg(this,1)' onMouseOut='scbg(this,0)'><form method=POST action=login><table><tr><td>User ID:</td><td><input type=text name=user_id1 size=10 style='font-family:monospace'></td></tr><tr><td>Password:</td><td><input type=password name=password1 size=10 style='font-family:monospace'></td></tr></table><input type=Submit value=login name=B1>&nbsp;&nbsp;<a href=register target=_parent>Register</a><input type=hidden name=url value=/userstatus?user_id=vjudge5></form></td></TR></TABLE><center>\n<font size=5 color=blue><a href=send?to=vjudge5>vjudge5--黄汉升 @ vjudge.net  </a></font><br>\nLast Loginned Time:2019-03-31 13:43:20.0<br>\n<TABLE cellSpacing=0 cellPadding=0 width=700 border=1 background=images/table_back.jpg style=\"border-collapse: collapse\" bordercolor=#FFFFFF>\n<tr valign=bottom><td colspan=3><br><form action=usercmp method=get>Compare <input type=text size=10 name=uid1 value=vjudge5>and <input type=text size=10 name=uid2 value=><input type=submit value=GO></form></td></tr><tr><td width=15% align=left>Rank:</td>\n<td align=center width=25%><font color=red>18</font></td>\n<td width=60% align=center>Solved Problems List</td> </tr>\n<tr><td width=15% align=left>Solved:</td>\n<td align=center width=25%><a href=status?result=0&user_id=vjudge5>1968</a></td>\n<td width=60% align=center rowspan=4>\n<script type=\"text/javascript\">\nfunction p(id)\n{\ndocument.write(\"<a href=problem?id=\"+id+\">\"+id+\" </a>\")\n}\np(1000)\np(1001)\np(1002)\np(1003)\np(1004)\np(1005)\np(1006)\np(1007)\np(1008)\np(1009)\np(1010)\np(1011)\np(1012)\np(1013)\np(1014)\np(1015)\np(1016)\np(1017)\np(1018)\np(1019)\np(1020)\np(1021)\np(1022)\np(1023)\np(1024)\np(1025)\np(1026)\np(1027)\np(1028)\np(1029)\np(1031)\np(1032)\np(1033)\np(1035)\np(1036)\np(1037)\np(1038)\np(1039)\np(1040)\np(1041)\np(1042)\np(1043)\np(1044)\np(1045)\np(1046)\np(1047)\np(1048)\np(1050)\np(1051)\np(1053)\np(1054)\np(1056)\np(1057)\np(1059)\np(1060)\np(1061)\np(1062)\np(1063)\np(1064)\np(1065)\np(1066)\np(1067)\np(1068)\np(1069)\np(1073)\np(1077)\np(1080)\np(1082)\np(1083)\np(1084)\np(1085)\np(1087)\np(1088)\np(1089)\np(1091)\np(1094)\np(1095)\np(1096)\np(1099)\np(1100)\np(1101)\np(1102)\np(1103)\np(1105)\np(1106)\np(1107)\np(1111)\np(1112)\np(1113)\np(1117)\np(1118)\np(1119)\np(1120)\np(1122)\np(1125)\np(1126)\np(1127)\np(1128)\np(1129)\np(1130)\np(1131)\np(1132)\np(1133)\np(1135)\np(1137)\np(1139)\np(1140)\np(1141)\np(1142)\np(1143)\np(1144)\np(1145)\np(1146)\np(1147)\np(1149)\np(1150)\np(1151)\np(1152)\np(1154)\np(1155)\np(1156)\np(1157)\np(1159)\np(1160)\np(1161)\np(1163)\np(1164)\np(1166)\np(1167)\np(1169)\np(1170)\np(1172)\np(1173)\np(1174)\np(1175)\np(1176)\np(1177)\np(1178)\np(1179)\np(1180)\np(1182)\np(1183)\np(1184)\np(1185)\np(1186)\np(1187)\np(1189)\np(1190)\np(1191)\np(1192)\np(1195)\np(1198)\np(1200)\np(1201)\np(1202)\np(1204)\np(1205)\np(1207)\np(1208)\np(1209)\np(1217)\np(1218)\np(1220)\np(1221)\np(1222)\np(1226)\np(1228)\np(1229)\np(1230)\np(1231)\np(1234)\np(1236)\np(1237)\np(1239)\np(1240)\np(1243)\np(1244)\np(1245)\np(1247)\np(1248)\np(1250)\np(1251)\np(1252)\np(1254)\np(1256)\np(1258)\np(1259)\np(1260)\np(1263)\np(1264)\np(1265)\np(1266)\np(1269)\np(1270)\np(1271)\np(1272)\np(1273)\np(1274)\np(1275)\np(1276)\np(1277)\np(1278)\np(1279)\np(1281)\np(1283)\np(1284)\np(1285)\np(1286)\np(1287)\np(1288)\np(1289)\np(1291)\np(1292)\np(1293)\np(1295)\np(1297)\np(1298)\np(1300)\np(1302)\np(1305)\np(1306)\np(1308)\np(1312)\np(1313)\np(1315)\np(1316)\np(1317)\np(1318)\np(1319)\np(1320)\np(1321)\np(1322)\np(1323)\np(1324)\np(1325)\np(1326)\np(1328)\np(1329)\np(1330)\np(1331)\np(1336)\np(1337)\np(1338)\np(1339)\np(1348)\np(1349)\np(1350)\np(1351)\np(1352)\np(1354)\np(1355)\np(1363)\np(1364)\np(1365)\np(1375)\np(1376)\np(1379)\np(1380)\np(1383)\np(1384)\np(1385)\np(1386)\np(1389)\np(1390)\np(1392)\np(1401)\np(1403)\np(1405)\np(1407)\np(1408)\np(1409)\np(1410)\np(1411)\np(1416)\np(1417)\np(1418)\np(1419)\np(1420)\np(1422)\np(1423)\np(1426)\np(1430)\np(1432)\np(1434)\np(1436)\np(1438)\np(1440)\np(1442)\np(1446)\np(1450)\np(1451)\np(1453)\np(1455)\np(1456)\np(1458)\np(1459)\np(1460)\np(1461)\np(1463)\np(1465)\np(1466)\np(1469)\np(1470)\np(1472)\np(1473)\np(1474)\np(1475)\np(1476)\np(1477)\np(1478)\np(1481)\np(1482)\np(1484)\np(1485)\np(1486)\np(1487)\np(1488)\np(1489)\np(1493)\np(1496)\np(1502)\np(1503)\np(1504)\np(1505)\np(1507)\np(1509)\np(1511)\np(1514)\np(1515)\np(1517)\np(1519)\np(1520)\np(1521)\np(1523)\np(1524)\np(1526)\np(1528)\np(1529)\np(1539)\np(1543)\np(1546)\np(1547)\np(1548)\np(1552)\np(1555)\np(1556)\np(1560)\np(1562)\np(1563)\np(1564)\np(1565)\np(1566)\np(1568)\np(1569)\np(1573)\np(1575)\np(1577)\np(1578)\np(1579)\np(1580)\np(1581)\np(1583)\np(1584)\np(1586)\np(1589)\np(1591)\np(1592)\np(1595)\np(1597)\np(1598)\np(1601)\np(1603)\np(1604)\np(1606)\np(1607)\np(1608)\np(1609)\np(1611)\np(1612)\np(1620)\np(1621)\np(1623)\np(1625)\np(1628)\np(1631)\np(1632)\np(1634)\np(1635)\np(1636)\np(1637)\np(1639)\np(1642)\np(1644)\np(1647)\np(1650)\np(1651)\np(1654)\np(1655)\np(1656)\np(1657)\np(1658)\np(1659)\np(1661)\np(1663)\np(1664)\np(1665)\np(1666)\np(1671)\np(1673)\np(1674)\np(1676)\np(1677)\np(1678)\np(1679)\np(1681)\np(1682)\np(1683)\np(1684)\np(1686)\np(1687)\np(1688)\np(1690)\np(1691)\np(1692)\np(1693)\np(1694)\np(1695)\np(1696)\np(1697)\np(1698)\np(1699)\np(1700)\np(1701)\np(1702)\np(1703)\np(1704)\np(1706)\np(1707)\np(1710)\np(1715)\np(1716)\np(1717)\np(1719)\np(1721)\np(1722)\np(1723)\np(1724)\np(1726)\np(1729)\np(1730)\np(1731)\np(1733)\np(1734)\np(1735)\np(1737)\np(1738)\np(1739)\np(1740)\np(1741)\np(1742)\np(1743)\np(1744)\np(1745)\np(1747)\np(1749)\np(1750)\np(1751)\np(1752)\np(1753)\np(1754)\np(1755)\np(1759)\np(1760)\np(1764)\np(1765)\np(1768)\np(1769)\np(1770)\np(1775)\np(1776)\np(1777)\np(1780)\np(1781)\np(1782)\np(1784)\np(1785)\np(1786)\np(1787)\np(1788)\np(1789)\np(1791)\np(1794)\np(1795)\np(1797)\np(1799)\np(1801)\np(1804)\np(1806)\np(1808)\np(1809)\np(1811)\np(1812)\np(1813)\np(1815)\np(1816)\np(1818)\np(1819)\np(1821)\np(1822)\np(1823)\np(1827)\np(1828)\np(1830)\np(1831)\np(1832)\np(1833)\np(1835)\np(1836)\np(1837)\np(1838)\np(1840)\np(1844)\np(1845)\np(1847)\np(1848)\np(1849)\np(1850)\np(1852)\np(1853)\np(1854)\np(1855)\np(1856)\np(1860)\np(1861)\np(1862)\np(1869)\np(1870)\np(1872)\np(1873)\np(1874)\np(1877)\np(1882)\np(1887)\np(1888)\np(1890)\np(1895)\np(1896)\np(1899)\np(1901)\np(1903)\np(1904)\np(1905)\np(1909)\np(1912)\np(1915)\np(1916)\np(1917)\np(1918)\np(1920)\np(1922)\np(1923)\np(1924)\np(1925)\np(1927)\np(1928)\np(1929)\np(1930)\np(1931)\np(1932)\np(1934)\np(1935)\np(1936)\np(1941)\np(1942)\np(1943)\np(1944)\np(1945)\np(1946)\np(1947)\np(1948)\np(1949)\np(1950)\np(1951)\np(1952)\np(1953)\np(1958)\np(1959)\np(1961)\np(1962)\np(1964)\np(1966)\np(1969)\np(1970)\np(1971)\np(1972)\np(1974)\np(1975)\np(1976)\np(1977)\np(1978)\np(1979)\np(1980)\np(1981)\np(1984)\np(1985)\np(1986)\np(1987)\np(1988)\np(1989)\np(1990)\np(1991)\np(1992)\np(1993)\np(1995)\np(1996)\np(1998)\np(2000)\np(2001)\np(2002)\np(2003)\np(2004)\np(2007)\np(2008)\np(2010)\np(2011)\np(2013)\np(2014)\np(2017)\np(2018)\np(2019)\np(2020)\np(2021)\np(2023)\np(2024)\np(2027)\np(2028)\np(2029)\np(2030)\np(2031)\np(2032)\np(2033)\np(2034)\np(2036)\np(2038)\np(2039)\np(2041)\np(2042)\np(2043)\np(2044)\np(2046)\np(2047)\np(2048)\np(2049)\np(2050)\np(2051)\np(2052)\np(2053)\np(2054)\np(2055)\np(2056)\np(2057)\np(2060)\np(2062)\np(2063)\np(2065)\np(2068)\np(2069)\np(2070)\np(2074)\np(2075)\np(2078)\np(2079)\np(2080)\np(2081)\np(2082)\np(2083)\np(2084)\np(2085)\np(2088)\np(2092)\np(2096)\np(2100)\np(2101)\np(2102)\np(2104)\np(2105)\np(2106)\np(2107)\np(2109)\np(2110)\np(2111)\np(2112)\np(2114)\np(2115)\np(2116)\np(2117)\np(2118)\np(2121)\np(2125)\np(2126)\np(2127)\np(2128)\np(2129)\np(2131)\np(2132)\np(2133)\np(2135)\np(2136)\np(2137)\np(2138)\np(2139)\np(2140)\np(2141)\np(2142)\np(2146)\np(2148)\np(2149)\np(2151)\np(2152)\np(2153)\np(2154)\np(2155)\np(2156)\np(2157)\np(2159)\np(2160)\np(2162)\np(2163)\np(2164)\np(2166)\np(2167)\np(2168)\np(2169)\np(2171)\np(2172)\np(2173)\np(2174)\np(2175)\np(2176)\np(2178)\np(2181)\np(2182)\np(2183)\np(2184)\np(2185)\np(2186)\np(2187)\np(2188)\np(2189)\np(2190)\np(2191)\np(2192)\np(2193)\np(2194)\np(2195)\np(2196)\np(2199)\np(2200)\np(2201)\np(2208)\np(2209)\np(2212)\np(2215)\np(2217)\np(2218)\np(2225)\np(2226)\np(2227)\np(2228)\np(2229)\np(2230)\np(2231)\np(2232)\np(2234)\np(2236)\np(2237)\np(2238)\np(2239)\np(2240)\np(2241)\np(2242)\np(2243)\np(2244)\np(2245)\np(2246)\np(2247)\np(2248)\np(2249)\np(2250)\np(2251)\np(2252)\np(2253)\np(2255)\np(2256)\np(2257)\np(2258)\np(2259)\np(2260)\np(2261)\np(2262)\np(2263)\np(2264)\np(2265)\np(2267)\np(2269)\np(2271)\np(2272)\np(2273)\np(2274)\np(2275)\np(2276)\np(2277)\np(2279)\np(2280)\np(2281)\np(2282)\np(2283)\np(2284)\np(2286)\np(2287)\np(2288)\np(2289)\np(2290)\np(2291)\np(2296)\np(2299)\np(2301)\np(2302)\np(2304)\np(2305)\np(2308)\np(2309)\np(2311)\np(2312)\np(2313)\np(2315)\np(2317)\np(2318)\np(2325)\np(2327)\np(2328)\np(2329)\np(2330)\np(2331)\np(2334)\np(2336)\np(2337)\np(2339)\np(2342)\np(2345)\np(2346)\np(2348)\np(2349)\np(2350)\np(2351)\np(2352)\np(2353)\np(2354)\np(2355)\np(2356)\np(2358)\np(2359)\np(2361)\np(2362)\np(2363)\np(2365)\np(2366)\np(2367)\np(2368)\np(2369)\np(2370)\np(2371)\np(2373)\np(2374)\np(2375)\np(2376)\np(2377)\np(2378)\np(2379)\np(2381)\np(2382)\np(2383)\np(2384)\np(2385)\np(2386)\np(2387)\np(2388)\np(2389)\np(2390)\np(2391)\np(2392)\np(2393)\np(2394)\np(2395)\np(2396)\np(2397)\np(2398)\np(2400)\np(2402)\np(2403)\np(2404)\np(2405)\np(2406)\np(2407)\np(2408)\np(2409)\np(2410)\np(2411)\np(2413)\np(2414)\np(2415)\np(2417)\np(2418)\np(2419)\np(2420)\np(2421)\np(2424)\np(2425)\np(2426)\np(2429)\np(2430)\np(2431)\np(2433)\np(2434)\np(2435)\np(2436)\np(2437)\np(2438)\np(2440)\np(2441)\np(2442)\np(2443)\np(2444)\np(2446)\np(2447)\np(2448)\np(2449)\np(2451)\np(2452)\np(2453)\np(2454)\np(2455)\np(2456)\np(2457)\np(2458)\np(2459)\np(2460)\np(2463)\np(2464)\np(2465)\np(2467)\np(2469)\np(2470)\np(2471)\np(2472)\np(2476)\np(2478)\np(2479)\np(2480)\np(2481)\np(2482)\np(2484)\np(2485)\np(2486)\np(2487)\np(2488)\np(2490)\np(2491)\np(2492)\np(2495)\np(2497)\np(2498)\np(2499)\np(2501)\np(2502)\np(2503)\np(2504)\np(2505)\np(2506)\np(2507)\np(2509)\np(2511)\np(2512)\np(2513)\np(2514)\np(2515)\np(2516)\np(2521)\np(2524)\np(2525)\np(2526)\np(2527)\np(2528)\np(2529)\np(2530)\np(2531)\np(2533)\np(2535)\np(2536)\np(2537)\np(2538)\np(2540)\np(2541)\np(2545)\np(2546)\np(2547)\np(2549)\np(2551)\np(2553)\np(2555)\np(2556)\np(2558)\np(2559)\np(2560)\np(2562)\np(2564)\np(2565)\np(2566)\np(2567)\np(2568)\np(2569)\np(2570)\np(2572)\np(2573)\np(2575)\np(2576)\np(2578)\np(2579)\np(2583)\np(2584)\np(2585)\np(2586)\np(2588)\np(2590)\np(2591)\np(2593)\np(2594)\np(2595)\np(2598)\np(2599)\np(2601)\np(2602)\np(2603)\np(2605)\np(2606)\np(2607)\np(2608)\np(2609)\np(2612)\np(2613)\np(2615)\np(2619)\np(2620)\np(2623)\np(2624)\np(2625)\np(2626)\np(2627)\np(2628)\np(2629)\np(2631)\np(2632)\np(2635)\np(2636)\np(2637)\np(2638)\np(2639)\np(2640)\np(2641)\np(2642)\np(2643)\np(2645)\np(2646)\np(2647)\np(2649)\np(2653)\np(2654)\np(2656)\np(2657)\np(2659)\np(2661)\np(2662)\np(2663)\np(2664)\np(2665)\np(2672)\np(2673)\np(2674)\np(2675)\np(2676)\np(2677)\np(2679)\np(2680)\np(2681)\np(2685)\np(2686)\np(2688)\np(2689)\np(2691)\np(2692)\np(2693)\np(2694)\np(2695)\np(2696)\np(2697)\np(2698)\np(2699)\np(2701)\np(2703)\np(2704)\np(2705)\np(2706)\np(2707)\np(2709)\np(2710)\np(2711)\np(2712)\np(2713)\np(2714)\np(2715)\np(2718)\np(2719)\np(2720)\np(2722)\np(2723)\np(2724)\np(2726)\np(2728)\np(2729)\np(2734)\np(2737)\np(2738)\np(2739)\np(2740)\np(2741)\np(2744)\np(2749)\np(2750)\np(2751)\np(2752)\np(2754)\np(2756)\np(2758)\np(2760)\np(2761)\np(2762)\np(2763)\np(2764)\np(2765)\np(2766)\np(2767)\np(2768)\np(2769)\np(2771)\np(2772)\np(2773)\np(2774)\np(2777)\np(2778)\np(2780)\np(2782)\np(2784)\np(2785)\np(2786)\np(2789)\np(2790)\np(2792)\np(2793)\np(2794)\np(2795)\np(2796)\np(2799)\np(2800)\np(2804)\np(2805)\np(2808)\np(2817)\np(2818)\np(2821)\np(2822)\np(2823)\np(2825)\np(2826)\np(2828)\np(2831)\np(2832)\np(2833)\np(2836)\np(2837)\np(2838)\np(2840)\np(2841)\np(2845)\np(2846)\np(2847)\np(2850)\np(2853)\np(2855)\np(2856)\np(2857)\np(2860)\np(2862)\np(2864)\np(2866)\np(2867)\np(2868)\np(2870)\np(2871)\np(2876)\np(2882)\np(2883)\np(2886)\np(2887)\np(2888)\np(2891)\np(2892)\np(2893)\np(2894)\np(2895)\np(2903)\np(2904)\np(2907)\np(2908)\np(2909)\np(2912)\np(2914)\np(2917)\np(2918)\np(2922)\np(2923)\np(2924)\np(2926)\np(2928)\np(2931)\np(2932)\np(2934)\np(2935)\np(2937)\np(2938)\np(2939)\np(2940)\np(2941)\np(2942)\np(2943)\np(2944)\np(2945)\np(2946)\np(2947)\np(2948)\np(2949)\np(2951)\np(2952)\np(2954)\np(2955)\np(2956)\np(2959)\np(2960)\np(2961)\np(2964)\np(2965)\np(2966)\np(2970)\np(2974)\np(2975)\np(2976)\np(2978)\np(2983)\np(2985)\np(2986)\np(2987)\np(2989)\np(2991)\np(2992)\np(2993)\np(2996)\np(3003)\np(3004)\np(3006)\np(3007)\np(3009)\np(3012)\np(3013)\np(3014)\np(3016)\np(3017)\np(3018)\np(3020)\np(3021)\np(3026)\np(3030)\np(3032)\np(3034)\np(3036)\np(3037)\np(3038)\np(3039)\np(3040)\np(3041)\np(3042)\np(3044)\np(3045)\np(3046)\np(3047)\np(3048)\np(3049)\np(3050)\np(3051)\np(3055)\np(3056)\np(3057)\np(3061)\np(3062)\np(3066)\np(3067)\np(3068)\np(3069)\np(3070)\np(3071)\np(3072)\np(3073)\np(3074)\np(3075)\np(3076)\np(3077)\np(3078)\np(3080)\np(3083)\np(3084)\np(3085)\np(3086)\np(3087)\np(3088)\np(3090)\np(3091)\np(3092)\np(3093)\np(3094)\np(3095)\np(3096)\np(3098)\np(3099)\np(3100)\np(3101)\np(3103)\np(3104)\np(3106)\np(3107)\np(3109)\np(3110)\np(3111)\np(3112)\np(3114)\np(3115)\np(3117)\np(3121)\np(3122)\np(3123)\np(3125)\np(3126)\np(3128)\np(3129)\np(3130)\np(3131)\np(3132)\np(3133)\np(3134)\np(3138)\np(3139)\np(3140)\np(3141)\np(3142)\np(3145)\np(3146)\np(3148)\np(3149)\np(3150)\np(3154)\np(3155)\np(3156)\np(3157)\np(3158)\np(3159)\np(3160)\np(3162)\np(3164)\np(3167)\np(3168)\np(3169)\np(3170)\np(3171)\np(3172)\np(3173)\np(3174)\np(3175)\np(3176)\np(3177)\np(3179)\np(3180)\np(3181)\np(3182)\np(3183)\np(3185)\np(3186)\np(3187)\np(3189)\np(3190)\np(3191)\np(3192)\np(3193)\np(3194)\np(3195)\np(3196)\np(3199)\np(3204)\np(3207)\np(3208)\np(3210)\np(3211)\np(3213)\np(3214)\np(3215)\np(3216)\np(3218)\np(3219)\np(3221)\np(3224)\np(3225)\np(3226)\np(3227)\np(3228)\np(3229)\np(3230)\np(3233)\np(3237)\np(3239)\np(3241)\np(3242)\np(3243)\np(3244)\np(3245)\np(3246)\np(3249)\np(3250)\np(3251)\np(3252)\np(3253)\np(3254)\np(3255)\np(3256)\np(3257)\np(3258)\np(3259)\np(3260)\np(3261)\np(3262)\np(3263)\np(3264)\np(3265)\np(3266)\np(3267)\np(3268)\np(3269)\np(3270)\np(3271)\np(3272)\np(3273)\np(3274)\np(3275)\np(3276)\np(3277)\np(3278)\np(3279)\np(3280)\np(3281)\np(3282)\np(3283)\np(3285)\np(3286)\np(3287)\np(3290)\np(3292)\np(3293)\np(3294)\np(3295)\np(3296)\np(3297)\np(3298)\np(3299)\np(3301)\np(3302)\np(3304)\np(3308)\np(3310)\np(3311)\np(3312)\np(3314)\np(3316)\np(3317)\np(3318)\np(3320)\np(3321)\np(3322)\np(3325)\np(3328)\np(3331)\np(3332)\np(3333)\np(3334)\np(3335)\np(3336)\np(3337)\np(3338)\np(3340)\np(3342)\np(3343)\np(3344)\np(3345)\np(3346)\np(3347)\np(3348)\np(3349)\np(3351)\np(3352)\np(3353)\np(3356)\np(3357)\np(3358)\np(3359)\np(3360)\np(3361)\np(3363)\np(3364)\np(3366)\np(3367)\np(3368)\np(3370)\np(3371)\np(3372)\np(3373)\np(3375)\np(3376)\np(3377)\np(3378)\np(3379)\np(3380)\np(3382)\np(3384)\np(3385)\np(3386)\np(3387)\np(3388)\np(3389)\np(3390)\np(3393)\np(3397)\np(3398)\np(3399)\np(3400)\np(3406)\np(3408)\np(3409)\np(3411)\np(3414)\np(3415)\np(3416)\np(3417)\np(3419)\np(3420)\np(3421)\np(3422)\np(3423)\np(3427)\np(3428)\np(3429)\np(3432)\np(3435)\np(3436)\np(3437)\np(3438)\np(3439)\np(3440)\np(3445)\np(3449)\np(3450)\np(3456)\np(3458)\np(3459)\np(3460)\np(3461)\np(3462)\np(3463)\np(3465)\np(3467)\np(3468)\np(3469)\np(3470)\np(3471)\np(3472)\np(3475)\np(3476)\np(3480)\np(3481)\np(3483)\np(3484)\np(3485)\np(3486)\np(3487)\np(3488)\np(3489)\np(3491)\np(3492)\np(3494)\np(3497)\np(3498)\np(3499)\np(3501)\np(3503)\np(3504)\np(3505)\np(3506)\np(3507)\np(3508)\np(3509)\np(3510)\np(3511)\np(3512)\np(3513)\np(3516)\np(3517)\np(3518)\np(3519)\np(3521)\np(3522)\np(3523)\np(3524)\np(3525)\np(3526)\np(3528)\np(3532)\np(3533)\np(3534)\np(3536)\np(3537)\np(3538)\np(3539)\np(3543)\np(3544)\np(3548)\np(3550)\np(3553)\np(3554)\np(3557)\np(3561)\np(3565)\np(3566)\np(3573)\np(3576)\np(3579)\np(3580)\np(3581)\np(3585)\np(3587)\np(3588)\np(3589)\np(3590)\np(3592)\np(3593)\np(3594)\np(3597)\np(3598)\np(3599)\np(3600)\np(3601)\np(3602)\np(3604)\np(3605)\np(3608)\np(3609)\np(3612)\np(3613)\np(3614)\np(3615)\np(3616)\np(3617)\np(3618)\np(3619)\np(3620)\np(3621)\np(3622)\np(3623)\np(3624)\np(3625)\np(3626)\np(3627)\np(3628)\np(3629)\np(3630)\np(3632)\np(3633)\np(3635)\np(3636)\np(3637)\np(3638)\np(3640)\np(3641)\np(3643)\np(3646)\np(3647)\np(3648)\np(3649)\np(3650)\np(3652)\np(3653)\np(3657)\np(3658)\np(3659)\np(3660)\np(3661)\np(3662)\np(3663)\np(3664)\np(3665)\np(3666)\np(3667)\np(3668)\np(3669)\np(3670)\np(3671)\np(3672)\np(3673)\np(3675)\np(3678)\np(3680)\np(3681)\np(3682)\np(3683)\np(3684)\np(3685)\np(3686)\np(3687)\np(3688)\np(3690)\np(3691)\np(3692)\np(3693)\np(3694)\np(3695)\np(3696)\np(3697)\np(3699)\np(3700)\np(3701)\np(3705)\np(3708)\np(3709)\np(3710)\np(3711)\np(3713)\np(3714)\np(3715)\np(3716)\np(3717)\np(3718)\np(3719)\np(3720)\np(3721)\np(3723)\np(3724)\np(3725)\np(3728)\np(3729)\np(3731)\np(3732)\np(3734)\np(3735)\np(3736)\np(3737)\np(3739)\np(3740)\np(3741)\np(3742)\np(3743)\np(3744)\np(3746)\np(3747)\np(3748)\np(3749)\np(3750)\np(3751)\np(3752)\np(3753)\np(3756)\np(3757)\np(3759)\np(3760)\np(3761)\np(3762)\np(3763)\np(3764)\np(3765)\np(3766)\np(3767)\np(3768)\np(3771)\np(3772)\np(3773)\np(3774)\np(3775)\np(3776)\np(3777)\np(3778)\np(3779)\np(3781)\np(3782)\np(3783)\np(3784)\np(3785)\np(3786)\np(3787)\np(3788)\np(3789)\np(3790)\np(3797)\np(3800)\np(3801)\np(3802)\np(3805)\np(3808)\np(3809)\np(3812)\np(3813)\np(3814)\np(3815)\np(3817)\np(3820)\np(3824)\np(3831)\np(3835)\np(3836)\np(3842)\np(3843)\np(3844)\np(3845)\np(3846)\np(3847)\np(3849)\np(3850)\np(3852)\np(3853)\np(3854)\np(3855)\np(3856)\np(3858)\np(3859)\np(3860)\np(3861)\np(3862)\np(3863)\np(3865)\np(3867)\np(3869)\np(3870)\np(3873)\np(3874)\np(3876)\np(3878)\np(3882)\np(3883)\np(3886)\np(3887)\np(3889)\np(3893)\np(3894)\np(3895)\np(3896)\np(3897)\np(3898)\np(3899)\np(3900)\np(3902)\np(3903)\np(3904)\np(3905)\np(3906)\np(3907)\np(3908)\np(3910)\np(3911)\np(3913)\np(3916)\np(3917)\np(3921)\np(3922)\np(3923)\np(3925)\np(3926)\np(3927)\np(3928)\np(3934)\np(3941)\np(3943)\np(3944)\np(3954)\np(3959)\np(3960)\np(3962)\np(3963)\np(3964)\np(3967)\np(3968)\np(3969)\np(3970)\np(3971)\np(3972)\np(3973)\np(3974)\np(3975)\np(3976)\np(3977)\np(3978)\np(3979)\np(3980)\np(3981)\np(3982)\np(3983)\np(3984)\np(3985)\np(3986)\np(3987)\np(3989)\np(3990)\np(3991)\np(3992)\np(3993)\np(3994)\np(3996)\np(3997)\np(3998)\np(4000)\np(4001)\np(4002)\np(4003)\np(4006)\np(4007)\np(4008)\np(4010)\np(4011)\np(4012)\np(4014)\np(4016)\np(4018)\np(4019)\np(4020)\np(4021)\np(4022)\np(4023)\np(4025)\np(4026)\np(4028)\np(4041)\np(4044)\np(4045)\np(4046)\np(4047)\np(4048)\np(4049)\np(4050)\np(4052)\n</script>\n</td></tr>\n<tr><td width=15% align=left>Submissions:</td>\n<td align=center width=25%><a href=status?user_id=vjudge5>277562</a></td></tr>\n<tr><td width=15% align=left>School:</td>\n<td align=center width=25%> </td></tr>\n<tr><td width=15% align=left>Email:</td>\n<td align=center width=25%> </td></tr>\n</table>\n<p><img height=30 src=images/home.gif width=40 border=0><font size=3><a href=.>Home Page</a> </font>&nbsp;&nbsp;<img height=30 src='images/goback.gif' width=40 border=0><font size=3><a href='javascript:history.go(-1)'>Go Back</a>&nbsp;&nbsp;<img height=30 width=40 border=0 src='images/top.gif'><a href=#top>To top</a></font><br><hr><P align=center style='font-family:Arial, Helvetica, sans-serif'>All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di<br>Any problem, Please <a href=mailto:webmaster@poj.org>Contact Administrator</a></p><script type=\"text/javascript\" src=\"http://tajs.qq.com/stats?sId=66192298\" charset=\"UTF-8\"></script></body></html>`\n"
  },
  {
    "path": "e2e/http-mocks/src/mocks/reset.js",
    "content": "module.exports = client => client.reset()"
  },
  {
    "path": "e2e/http-mocks/src/mocks/tajs.js",
    "content": "// 屏蔽对腾讯分析的请求，防止分析不准确\nmodule.exports = client =>\n  client.mockAnyResponse({\n    httpRequest: {\n      headers: {\n        host: ['tajs.qq.com'],\n      },\n    },\n    httpResponse: {\n      statusCode: 404,\n    },\n    timeToLive:{\n      unlimited: true,\n    },\n    times: {\n      unlimited: true,\n    },\n  })\n"
  },
  {
    "path": "e2e/http-mocks/src/preActivation.js",
    "content": "const mock = require('./lib/mock')\n\nmodule.exports = async mocks => {\n  const actived = [\n    mocks.googleAnalysis,\n  ]\n\n  for (let item of actived) {\n    await mock(item)\n  }\n}"
  },
  {
    "path": "e2e/jsconfig.json",
    "content": "{\n  \"include\": [\n    \"./node_modules/cypress\",\n    \"cypress/**/*.js\"\n  ]\n}"
  },
  {
    "path": "e2e/package.json",
    "content": "{\n  \"name\": \"e2e\",\n  \"description\": \"e2e test\",\n  \"scripts\": {\n    \"lint\": \"eslint --ext .js .\",\n    \"lintfix\": \"eslint --fix --ext .js .gitignore .\",\n    \"test\": \"cypress run\",\n    \"start\": \"cypress open\",\n    \"test-html\": \"jest __test__/\",\n    \"cypress-install\": \"cypress install\"\n  },\n  \"dependencies\": {\n    \"@simonsmith/cypress-image-snapshot\": \"8.1.2\",\n    \"cheerio\": \"1.0.0-rc.10\",\n    \"cypress\": \"10.11.0\",\n    \"cypress-terminal-report\": \"5.3.12\",\n    \"eslint\": \"8.57.1\",\n    \"eslint-plugin-cypress\": \"2.15.2\",\n    \"eslint-plugin-lodash\": \"7.4.0\",\n    \"jest\": \"29.7.0\",\n    \"jest-serializer-vue\": \"3.1.0\",\n    \"lodash\": \"4.17.23\",\n    \"superagent\": \"8.1.2\"\n  },\n  \"jest\": {\n    \"snapshotSerializers\": [\n      \"jest-serializer-vue\"\n    ]\n  }\n}\n"
  },
  {
    "path": "frontend/.dockerignore",
    "content": "# dependencies\nnode_modules\n\n# logs\nnpm-debug.log\n\n# Nuxt build\n.nuxt\n\n# Nuxt generate\ndist\n\n# codecov\ncoverage\n\n# docker\n.dockerignore\nbase.Dockerfile\nrelease.Dockerfile\n\n# make\nMakefile\n"
  },
  {
    "path": "frontend/.editorconfig",
    "content": "# editorconfig.org\nroot = true\n\n[*]\nindent_size = 2\nindent_style = space\nend_of_line = lf\ncharset = utf-8\ntrim_trailing_whitespace = true\ninsert_final_newline = true\n\n[*.md]\ntrim_trailing_whitespace = false\n"
  },
  {
    "path": "frontend/.eslintignore",
    "content": "# dependencies\n/node_modules\n\n# Nuxt build\n/.nuxt\n\n# Nuxt generate\n/dist\n\n# 静态文件中可能有已经编译好的js文件\n/static\n\n# coverage\n/coverage\n"
  },
  {
    "path": "frontend/.eslintrc.js",
    "content": "module.exports = {\n  root: true,\n  env: {\n    browser: true,\n    node: true,\n    'jest/globals': true,\n  },\n  extends: [\n    'eslint:recommended',\n    // https://github.com/vuejs/eslint-plugin-vue#priority-a-essential-error-prevention\n    // consider switching to `plugin:vue/strongly-recommended` or `plugin:vue/recommended` for stricter rules.\n    'plugin:vue/strongly-recommended',\n    'plugin:lodash/recommended',\n    'plugin:jest/recommended',\n  ],\n  // required to lint *.vue files\n  plugins: [\n    'vue',\n    'lodash',\n    'jest',\n    'vuetify',\n  ],\n  // add your custom rules here\n  rules: {\n    'semi': [2, 'never'],\n    'no-console': 'off',\n    'vue/max-attributes-per-line': 'off',\n    'comma-dangle': ['error', 'always-multiline'],\n    'quotes': ['error', 'single'],\n    // we don't need to do that since we have babel lodash\n    'lodash/import-scope': 'off',\n    // low readability\n    'lodash/matches-prop-shorthand': 'off',\n    'lodash/prefer-reject': 'off',\n    // force PascalCase\n    'vue/component-name-in-template-casing': ['error', 'kebab-case', {\n      registeredComponentsOnly: false,\n    }],\n    'vue/multi-word-component-names': 'off',\n    // for vuetify migration\n    'vuetify/no-deprecated-classes': 'error',\n    'vuetify/grid-unknown-attributes': 'error',\n    'vuetify/no-legacy-grid': 'off',\n  },\n}\n"
  },
  {
    "path": "frontend/.gitignore",
    "content": "# dependencies\nnode_modules\n\n# logs\nnpm-debug.log\n\n# Nuxt build\n.nuxt\n\n# Nuxt generate\ndist\n\n# codecov\ncoverage\n\n# vscode\n.vscode\n"
  },
  {
    "path": "frontend/.npmrc",
    "content": "# for pnpm\nshamefully-hoist=true\n# disable renovate warning\nstrict-peer-dependencies=false\n"
  },
  {
    "path": "frontend/.nuxtignore",
    "content": "﻿store/-dynamic\nstore/-dynamic/*\n"
  },
  {
    "path": "frontend/Makefile",
    "content": "## makefile for frontend\n\ninclude ../build/share.mk\n\n# === targets ===\n\nhelp:\n\t@echo run \\\"make help\\\" in root directory to get help\n\n.crawler:\n\tcd ../crawler && $(MAKE) build\n.node-base:\n\tcd ../build && $(MAKE) -f node-base.mk build\n\n.base: .node-base .crawler\n\tdocker build . \\\n\t\t-t $(FrontendBaseTag) \\\n\t\t$(build-args) \\\n\t\t-f base.Dockerfile \\\n\t\t--build-arg NODE_BASE_IMAGE=$(NodeBaseTag) \\\n\t\t--build-arg CRAWLER_IMAGE=$(CrawlerTag)\n\nbuild: .base\n\tdocker build . \\\n\t\t-f release.Dockerfile \\\n\t\t-t $(FrontendTag) \\\n\t\t$(build-args) \\\n\t\t--build-arg VERSION_NUM=$(VERSION_NUM) \\\n\t\t--build-arg BUILD_TIME=$(BUILD_TIME) \\\n\t\t--build-arg NODE_BASE_IMAGE=$(NodeBaseTag) \\\n\t\t--build-arg FRONTEND_BASE_IMAGE=$(FrontendBaseTag) \\\n\t\t--build-arg CRAWLER_IMAGE=$(CrawlerTag)\n\ntest: .base\n\tdocker run --rm -t $(FrontendBaseTag) pnpm test\n\n# Update snapshot\nupdate-snapshot: .base\n\tdocker run --rm -t \\\n\t\t-v \"$(CURDIR)/__test__:/var/project/__test__\" \\\n\t\t$(FrontendBaseTag) pnpm test -- --updateSnapshot\n\n# if BUILD_FRONTEND is specified, it will compile the frontend before `run` command\nifdef BUILD_FRONTEND\nrun: build\n\tdocker run $(run-args) $(FrontendTag) $(run-cmd)\nelse\nrun: .base\n\tdocker run $(run-args) $(FrontendBaseTag) $(run-cmd)\nendif\n\nclean:\n\tdocker image rm $(FrontendBaseTag) $(FrontendTag); true\n\ntest-ci: .base\n\tdocker run --rm \\\n\t\t-v \"$(CURDIR)/coverage:/var/project/coverage\" \\\n\t\t$(FrontendBaseTag) \\\n\t\tpnpm test -- --colors --ci\n\n# Use docker to develop. It runs `pnpm run dev`\ndev:\n\tcd ../build && $(MAKE) -f docker-compose.mk dev-frontend\n"
  },
  {
    "path": "frontend/README.md",
    "content": "# acm-statistics-frontend\n\n> ACM查题网站前端\n\n## Using Docker\n\n- `make dev` 启动开发模式（需要先使用pnpm安装依赖）\n- `make update-snapshot` 更新快照\n- `make test` 或 `make test-ci` 来运行测试\n\n## Build Setup\n\n``` bash\n# install dependencies\n$ pnpm install # Or yarn install\n\n# serve with hot reload at localhost:3000\n$ pnpm run dev\n\n# build for production and launch server\n$ pnpm run build\n$ pnpm start\n```\n\n## 其他命令\n\n- `pnpm run lint` 运行代码质量检测\n- `pnpm run lintfix` 自动修复部分代码质量问题\n- `pnpm run analyze` 分析build出来的文件大小、分布，生成报告\n- `pnpm run test` 运行测试\n- `pnpm run snapshot` 交互式更新快照\n\nFor detailed explanation on how things work, check out the [Nuxt.js](https://github.com/nuxt/nuxt.js) and [Vuetify.js](https://vuetifyjs.com/) documentation.\n\n## 版权声明\n- 本产品的主页部分使用了 [vuetifyjs/parallax-starter](https://github.com/vuetifyjs/parallax-starter) 模板，根据其开源协议，本项目的[主页源代码](./pages/index.vue)中包含了其协议声明。\n"
  },
  {
    "path": "frontend/__test__/StoreContextSimulator.js",
    "content": "import _ from 'lodash'\n\nexport default class StoreContextSimulator {\n  /**\n   * 初始化\n   * @param state {Object} mocked state\n   * @param mutations {Object.<string, {Function}>} mocked mutations, 如果存在，提交一个 mutations 的时候会调用\n   * @param getters {Object.<string, {Function|*}>} 如果为函数，得到的 getter 会使用此函数和 state 来计算出结果；否则直接以这个值作为结果\n   */\n  constructor(state = null, {mutations, getters} = {}) {\n    this.commitHistory = []\n    this.state = state\n    this.mutations = mutations\n\n    this.getters = {}\n    if (getters) {\n      for (let key in getters) {\n        const val = getters[key]\n        if (_.isFunction(val)) {\n          Object.defineProperty(this.getters, key, {get: () => val(this.state)})\n        } else {\n          this.getters[key] = val\n        }\n      }\n    }\n  }\n\n  getCommitHistory() {\n    return this.commitHistory\n  }\n\n  getCommiter() {\n    return (type, payload) => {\n      this.commitHistory.push({\n        type,\n        payload: _.cloneDeep(payload),\n      })\n      if (this.state && this.mutations) {\n        this.mutations[type](this.state, payload)\n      }\n    }\n  }\n\n  getGetters() {\n    return this.getters\n  }\n}\n"
  },
  {
    "path": "frontend/__test__/components/MessagePanel.test.js",
    "content": "/**\n * @jest-environment jsdom\n */\n\nimport { createLocalVue, mount } from '@vue/test-utils'\nimport Vuex from 'vuex'\nimport Vuetify from 'vuetify'\nimport Vue from 'vue'\n\nVue.use(Vuetify)\n\nconst localVue = createLocalVue()\nlocalVue.use(Vuex)\n\nimport MessagePanel from '~/components/MessagePanel.vue'\nimport * as MessageStore from '~/store/message'\n\ndescribe('MessagePanel', () => {\n\n  let wrapper\n  let store\n\n  beforeEach(() => {\n    const vuetify = new Vuetify()\n    store = new Vuex.Store({\n      modules: {\n        message: MessageStore,\n      },\n    })\n    wrapper = mount(MessagePanel, {\n      store,\n      localVue,\n      vuetify,\n    })\n  })\n\n  it('can render correctly', async () => {\n    expect(wrapper.vm).toBeTruthy()\n    await wrapper.vm.$nextTick()\n    expect(wrapper.html()).toMatchSnapshot()\n  })\n\n  it('can render when there are 1 element', async () => {\n    store.commit('message/add', 'Info')\n    await wrapper.vm.$nextTick()\n    expect(store.state.message.list).toHaveLength(1)\n    expect(wrapper.html()).toMatchSnapshot()\n  })\n\n  it('can render when there are 2 elements', async () => {\n    store.commit('message/add', {\n      message: 'Info',\n      type: 'info',\n    })\n    store.commit('message/add', {\n      message: 'Error',\n      type: 'error',\n    })\n    await wrapper.vm.$nextTick()\n    expect(store.state.message.list).toHaveLength(2)\n    expect(wrapper.html()).toMatchSnapshot()\n  })\n})\n"
  },
  {
    "path": "frontend/__test__/components/WorkerCard.test.js",
    "content": "/**\n * @jest-environment jsdom\n */\n\nimport { shallowMount, createLocalVue, mount } from '@vue/test-utils'\nimport Vuex from 'vuex'\nimport Vuetify from 'vuetify'\nimport Vue from 'vue'\n\nVue.use(Vuetify)\n\nconst localVue = createLocalVue()\nlocalVue.use(Vuex)\n\njest.mock('~/dynamic/crawlers', () => () => ({\n  metas: {\n    testCrawler: {\n      title: 'crawler title',\n      description: 'crawler description',\n      url: 'http://crawler.url',\n    },\n  },\n  crawlers: {\n    testCrawler: () => ({ submissions: 0, pass: 0 }),\n  },\n}), { virtual: true })\n\nimport { WORKER_STATUS } from '~/components/consts'\nimport WorkerCard from '~/components/WorkerCard.vue'\nimport StatisticsStore from '~/store/-dynamic/statistics'\n\ndescribe('WorkerCard', () => {\n\n  let vuetify\n\n  beforeEach(() => {\n    vuetify = new Vuetify()\n  })\n\n  it('can be mounted correctly', () => {\n    const wrapper = shallowMount(WorkerCard, {\n      store: new Vuex.Store({\n        modules: {\n          statistics: StatisticsStore,\n        },\n      }),\n      localVue,\n      vuetify,\n      propsData: {\n        index: 0,\n      },\n    })\n    expect(wrapper.vm).toBeTruthy()\n  })\n\n  it('can be rendered correctly', () => {\n    const wrapper = mount(WorkerCard, {\n      store: new Vuex.Store({\n        modules: {\n          statistics: StatisticsStore,\n        },\n      }),\n      localVue,\n      vuetify,\n      propsData: {\n        index: 0,\n      },\n    })\n    expect(wrapper.html()).toMatchSnapshot()\n  })\n\n  it('can render username correctly', () => {\n\n    const wrapper = mount(WorkerCard, {\n      store: new Vuex.Store({\n        modules: {\n          statistics: {\n            state: {\n              workers: [{\n                crawlerName: 'testCrawler',\n                username: 'test_crawler_username',\n                status: WORKER_STATUS.WAITING,\n                solved: 0,\n                submissions: 0,\n                errorMessage: '',\n                tokenKey: null,\n              }],\n              crawlers: {\n                'testCrawler': {\n                  name: 'testCrawler',\n                  title: 'crawler title',\n                  description: 'crawler description',\n                  url: 'http://crawler.url',\n                },\n              },\n            },\n            getters: StatisticsStore.getters,\n            namespaced: true,\n          },\n        },\n      }),\n      localVue,\n      vuetify,\n      propsData: {\n        index: 0,\n      },\n    })\n\n    expect(wrapper.vm.username).toBe('test_crawler_username')\n    expect(wrapper.html()).toMatchSnapshot()\n  })\n\n  it('can render warning correctly', () => {\n\n    const wrapper = mount(WorkerCard, {\n      store: new Vuex.Store({\n        modules: {\n          statistics: {\n            state: {\n              workers: [{\n                crawlerName: 'testCrawler',\n                username: ' username with space',\n                status: WORKER_STATUS.WAITING,\n                solved: 0,\n                submissions: 0,\n                errorMessage: '',\n                tokenKey: null,\n              }],\n              crawlers: {\n                'testCrawler': {\n                  name: 'testCrawler',\n                  title: 'crawler title',\n                  description: 'crawler description',\n                  url: 'http://crawler.url',\n                },\n              },\n            },\n            getters: StatisticsStore.getters,\n            namespaced: true,\n          },\n        },\n      }),\n      localVue,\n      vuetify,\n      propsData: {\n        index: 0,\n      },\n    })\n\n    expect(wrapper.html()).toMatchSnapshot()\n  })\n\n  it('can render result correctly', () => {\n\n    const wrapper = mount(WorkerCard, {\n      store: new Vuex.Store({\n        modules: {\n          statistics: {\n            state: {\n              workers: [{\n                crawlerName: 'testCrawler',\n                username: 'test_crawler_username',\n                status: WORKER_STATUS.WAITING,\n                solved: 10,\n                submissions: 20,\n                errorMessage: '',\n                tokenKey: null,\n              }],\n              crawlers: {\n                'testCrawler': {\n                  name: 'testCrawler',\n                  title: 'crawler title',\n                  description: 'crawler description',\n                  url: 'http://crawler.url',\n                },\n              },\n            },\n            getters: StatisticsStore.getters,\n            namespaced: true,\n          },\n        },\n      }),\n      localVue,\n      vuetify,\n      propsData: {\n        index: 0,\n      },\n    })\n\n    expect(wrapper.html()).toMatchSnapshot()\n  })\n\n  it('can render error correctly', () => {\n\n    const wrapper = mount(WorkerCard, {\n      store: new Vuex.Store({\n        modules: {\n          statistics: {\n            state: {\n              workers: [{\n                crawlerName: 'testCrawler',\n                username: 'test_crawler_username',\n                status: WORKER_STATUS.WAITING,\n                solved: 0,\n                submissions: 0,\n                errorMessage: 'a error is occurred',\n                tokenKey: null,\n              }],\n              crawlers: {\n                'testCrawler': {\n                  name: 'testCrawler',\n                  title: 'crawler title',\n                  description: 'crawler description',\n                  url: 'http://crawler.url',\n                },\n              },\n            },\n            getters: StatisticsStore.getters,\n            namespaced: true,\n          },\n        },\n      }),\n      localVue,\n      vuetify,\n      propsData: {\n        index: 0,\n      },\n    })\n\n    expect(wrapper.html()).toMatchSnapshot()\n  })\n})\n"
  },
  {
    "path": "frontend/__test__/components/__snapshots__/MessagePanel.test.js.snap",
    "content": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`MessagePanel can render correctly 1`] = `\n<transition-stub name=\"expand-transition\">\n  <div class=\"message-panel v-card v-sheet theme--light\" style=\"display: none;\">\n    <transition-group-stub tag=\"v-list\" name=\"slide-y-transition\" class=\"pa-0\"></transition-group-stub>\n    <!---->\n  </div>\n</transition-stub>\n`;\n\nexports[`MessagePanel can render when there are 1 element 1`] = `\n<transition-stub name=\"expand-transition\">\n  <div class=\"message-panel v-card v-sheet theme--light\" style=\"\">\n    <transition-group-stub tag=\"v-list\" name=\"slide-y-transition\" class=\"pa-0\">\n      <div tabindex=\"-1\" class=\"pa-0 v-list-item theme--light\">\n        <div role=\"alert\" class=\"v-alert v-sheet theme--dark info mb-0\">\n          <div class=\"v-alert__wrapper\"><i aria-hidden=\"true\" class=\"v-icon notranslate v-alert__icon mdi mdi-information theme--dark\"></i>\n            <div class=\"v-alert__content\">\n              Info\n            </div><button type=\"button\" class=\"v-alert__dismissible v-btn v-btn--icon v-btn--round theme--dark v-size--small\" aria-label=\"Close\"><span class=\"v-btn__content\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-close-circle theme--dark\"></i></span></button>\n          </div>\n        </div>\n      </div>\n    </transition-group-stub>\n    <!---->\n  </div>\n</transition-stub>\n`;\n\nexports[`MessagePanel can render when there are 2 elements 1`] = `\n<transition-stub name=\"expand-transition\">\n  <div class=\"message-panel v-card v-sheet theme--light\" style=\"\">\n    <transition-group-stub tag=\"v-list\" name=\"slide-y-transition\" class=\"pa-0\">\n      <div tabindex=\"-1\" class=\"pa-0 v-list-item theme--light\">\n        <div role=\"alert\" class=\"v-alert v-sheet theme--dark v-alert--dense info mb-1\">\n          <div class=\"v-alert__wrapper\"><i aria-hidden=\"true\" class=\"v-icon notranslate v-alert__icon mdi mdi-information theme--dark\"></i>\n            <div class=\"v-alert__content\">\n              Info\n            </div><button type=\"button\" class=\"v-alert__dismissible v-btn v-btn--icon v-btn--round theme--dark v-size--small\" aria-label=\"Close\"><span class=\"v-btn__content\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-close-circle theme--dark\"></i></span></button>\n          </div>\n        </div>\n      </div>\n      <div tabindex=\"-1\" class=\"pa-0 v-list-item theme--light\">\n        <div role=\"alert\" class=\"v-alert v-sheet theme--dark v-alert--dense error mb-1\">\n          <div class=\"v-alert__wrapper\"><i aria-hidden=\"true\" class=\"v-icon notranslate v-alert__icon mdi mdi-alert theme--dark\"></i>\n            <div class=\"v-alert__content\">\n              Error\n            </div><button type=\"button\" class=\"v-alert__dismissible v-btn v-btn--icon v-btn--round theme--dark v-size--small\" aria-label=\"Close\"><span class=\"v-btn__content\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-close-circle theme--dark\"></i></span></button>\n          </div>\n        </div>\n      </div>\n    </transition-group-stub>\n    <div class=\"v-card__actions pt-0\">\n      <div class=\"spacer\"></div> <button type=\"button\" class=\"v-btn v-btn--text theme--light v-size--default primary--text\"><span class=\"v-btn__content\">\n        close\n      </span></button>\n    </div>\n  </div>\n</transition-stub>\n`;\n"
  },
  {
    "path": "frontend/__test__/components/__snapshots__/WorkerCard.test.js.snap",
    "content": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`WorkerCard can be rendered correctly 1`] = `\n<div class=\"v-card v-sheet theme--light\">\n  <header class=\"blue-grey lighten-5 v-sheet theme--light elevation-0 v-toolbar v-toolbar--dense v-toolbar--flat v-app-bar\" style=\"height: 48px; margin-top: 0px; transform: translateY(0px); left: 0px; right: 0px;\">\n    <div class=\"v-toolbar__content\" style=\"height: 48px;\">\n      <div title=\"crawler title\" class=\"v-toolbar__title\">\n        crawler title\n      </div>\n      <div class=\"spacer\"></div>\n      <div class=\"v-toolbar__items\">\n        <!----> <span class=\"v-tooltip v-tooltip--bottom\"><!----><button type=\"button\" class=\"v-btn v-btn--icon v-btn--round theme--light v-size--default\"><span class=\"v-btn__content\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-plus-circle-outline theme--light\"></i></span></button></span> <span class=\"v-tooltip v-tooltip--bottom\"><!----><button type=\"button\" class=\"v-btn v-btn--icon v-btn--round theme--light v-size--default\"><span class=\"v-btn__content\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-open-in-new theme--light\"></i></span></button></span>\n        <transition-stub name=\"fade-transition\"><span class=\"v-tooltip v-tooltip--bottom\"><!----><button type=\"button\" class=\"v-btn v-btn--icon v-btn--round theme--light v-size--default\"><span class=\"v-btn__content\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-refresh theme--light\"></i></span></button></span></transition-stub>\n      </div>\n    </div>\n  </header>\n  <div class=\"container\">\n    <div class=\"layout\">\n      <div class=\"flex xs12\"><span class=\"grey--text\">\n          crawler description\n        </span></div>\n    </div>\n    <div class=\"layout wrap\">\n      <div class=\"flex xs12\">\n        <div class=\"v-input theme--light v-text-field\">\n          <div class=\"v-input__control\">\n            <div class=\"v-input__slot\">\n              <div class=\"v-text-field__slot\"><label for=\"input-30\" class=\"v-label theme--light\" style=\"left: 0px; position: absolute;\">Username</label><input required=\"required\" id=\"input-30\" type=\"text\"></div>\n              <div class=\"v-input__append-inner\">\n                <div></div>\n              </div>\n            </div>\n            <div class=\"v-text-field__details\">\n              <div class=\"v-messages theme--light\">\n                <transition-group-stub tag=\"div\" name=\"message-transition\" class=\"v-messages__wrapper\"></transition-group-stub>\n              </div>\n            </div>\n          </div>\n        </div>\n      </div>\n    </div>\n    <!---->\n  </div>\n  <div class=\"v-dialog__container\">\n    <!---->\n  </div>\n</div>\n`;\n\nexports[`WorkerCard can render error correctly 1`] = `\n<div class=\"v-card v-sheet theme--light\">\n  <header class=\"blue-grey lighten-5 v-sheet theme--light elevation-0 v-toolbar v-toolbar--dense v-toolbar--flat v-app-bar\" style=\"height: 48px; margin-top: 0px; transform: translateY(0px); left: 0px; right: 0px;\">\n    <div class=\"v-toolbar__content\" style=\"height: 48px;\">\n      <div title=\"crawler title\" class=\"v-toolbar__title\">\n        crawler title\n      </div>\n      <div class=\"spacer\"></div>\n      <div class=\"v-toolbar__items\">\n        <!----> <span class=\"v-tooltip v-tooltip--bottom\"><!----><button type=\"button\" class=\"v-btn v-btn--icon v-btn--round theme--light v-size--default\"><span class=\"v-btn__content\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-plus-circle-outline theme--light\"></i></span></button></span> <span class=\"v-tooltip v-tooltip--bottom\"><!----><button type=\"button\" class=\"v-btn v-btn--icon v-btn--round theme--light v-size--default\"><span class=\"v-btn__content\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-open-in-new theme--light\"></i></span></button></span>\n        <transition-stub name=\"fade-transition\"><span class=\"v-tooltip v-tooltip--bottom\"><!----><button type=\"button\" class=\"v-btn v-btn--icon v-btn--round theme--light v-size--default\"><span class=\"v-btn__content\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-refresh theme--light\"></i></span></button></span></transition-stub>\n      </div>\n    </div>\n  </header>\n  <div class=\"container\">\n    <div class=\"layout\">\n      <div class=\"flex xs12\"><span class=\"grey--text\">\n          crawler description\n        </span></div>\n    </div>\n    <div class=\"layout wrap\">\n      <div class=\"flex xs12\">\n        <div class=\"v-input v-input--is-label-active v-input--is-dirty theme--light v-text-field\">\n          <div class=\"v-input__control\">\n            <div class=\"v-input__slot\">\n              <div class=\"v-text-field__slot\"><label for=\"input-115\" class=\"v-label v-label--active theme--light\" style=\"left: 0px; position: absolute;\">Username</label><input required=\"required\" id=\"input-115\" type=\"text\"></div>\n              <div class=\"v-input__append-inner\">\n                <div class=\"v-input__icon v-input__icon--clear\"><button type=\"button\" aria-label=\"clear icon\" class=\"v-icon notranslate v-icon--link mdi mdi-close theme--light\"></button></div>\n              </div>\n            </div>\n            <div class=\"v-text-field__details\">\n              <div class=\"v-messages theme--light\">\n                <transition-group-stub tag=\"div\" name=\"message-transition\" class=\"v-messages__wrapper\"></transition-group-stub>\n              </div>\n            </div>\n          </div>\n        </div>\n      </div>\n    </div>\n    <!---->\n  </div>\n  <div class=\"v-dialog__container\">\n    <!---->\n  </div>\n</div>\n`;\n\nexports[`WorkerCard can render result correctly 1`] = `\n<div class=\"v-card v-sheet theme--light\">\n  <header class=\"blue-grey lighten-5 v-sheet theme--light elevation-0 v-toolbar v-toolbar--dense v-toolbar--flat v-app-bar\" style=\"height: 48px; margin-top: 0px; transform: translateY(0px); left: 0px; right: 0px;\">\n    <div class=\"v-toolbar__content\" style=\"height: 48px;\">\n      <div title=\"crawler title\" class=\"v-toolbar__title\">\n        crawler title\n      </div>\n      <div class=\"spacer\"></div>\n      <div class=\"v-toolbar__items\">\n        <!----> <span class=\"v-tooltip v-tooltip--bottom\"><!----><button type=\"button\" class=\"v-btn v-btn--icon v-btn--round theme--light v-size--default\"><span class=\"v-btn__content\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-plus-circle-outline theme--light\"></i></span></button></span> <span class=\"v-tooltip v-tooltip--bottom\"><!----><button type=\"button\" class=\"v-btn v-btn--icon v-btn--round theme--light v-size--default\"><span class=\"v-btn__content\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-open-in-new theme--light\"></i></span></button></span>\n        <transition-stub name=\"fade-transition\"><span class=\"v-tooltip v-tooltip--bottom\"><!----><button type=\"button\" class=\"v-btn v-btn--icon v-btn--round theme--light v-size--default\"><span class=\"v-btn__content\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-refresh theme--light\"></i></span></button></span></transition-stub>\n      </div>\n    </div>\n  </header>\n  <div class=\"container\">\n    <div class=\"layout\">\n      <div class=\"flex xs12\"><span class=\"grey--text\">\n          crawler description\n        </span></div>\n    </div>\n    <div class=\"layout wrap\">\n      <div class=\"flex xs12\">\n        <div class=\"v-input v-input--is-label-active v-input--is-dirty theme--light v-text-field\">\n          <div class=\"v-input__control\">\n            <div class=\"v-input__slot\">\n              <div class=\"v-text-field__slot\"><label for=\"input-94\" class=\"v-label v-label--active theme--light\" style=\"left: 0px; position: absolute;\">Username</label><input required=\"required\" id=\"input-94\" type=\"text\"></div>\n              <div class=\"v-input__append-inner\">\n                <div class=\"v-input__icon v-input__icon--clear\"><button type=\"button\" aria-label=\"clear icon\" class=\"v-icon notranslate v-icon--link mdi mdi-close theme--light\"></button></div>\n              </div>\n            </div>\n            <div class=\"v-text-field__details\">\n              <div class=\"v-messages theme--light\">\n                <transition-group-stub tag=\"div\" name=\"message-transition\" class=\"v-messages__wrapper\"></transition-group-stub>\n              </div>\n            </div>\n          </div>\n        </div>\n      </div>\n    </div>\n    <!---->\n  </div>\n  <div class=\"v-dialog__container\">\n    <!---->\n  </div>\n</div>\n`;\n\nexports[`WorkerCard can render username correctly 1`] = `\n<div class=\"v-card v-sheet theme--light\">\n  <header class=\"blue-grey lighten-5 v-sheet theme--light elevation-0 v-toolbar v-toolbar--dense v-toolbar--flat v-app-bar\" style=\"height: 48px; margin-top: 0px; transform: translateY(0px); left: 0px; right: 0px;\">\n    <div class=\"v-toolbar__content\" style=\"height: 48px;\">\n      <div title=\"crawler title\" class=\"v-toolbar__title\">\n        crawler title\n      </div>\n      <div class=\"spacer\"></div>\n      <div class=\"v-toolbar__items\">\n        <!----> <span class=\"v-tooltip v-tooltip--bottom\"><!----><button type=\"button\" class=\"v-btn v-btn--icon v-btn--round theme--light v-size--default\"><span class=\"v-btn__content\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-plus-circle-outline theme--light\"></i></span></button></span> <span class=\"v-tooltip v-tooltip--bottom\"><!----><button type=\"button\" class=\"v-btn v-btn--icon v-btn--round theme--light v-size--default\"><span class=\"v-btn__content\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-open-in-new theme--light\"></i></span></button></span>\n        <transition-stub name=\"fade-transition\"><span class=\"v-tooltip v-tooltip--bottom\"><!----><button type=\"button\" class=\"v-btn v-btn--icon v-btn--round theme--light v-size--default\"><span class=\"v-btn__content\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-refresh theme--light\"></i></span></button></span></transition-stub>\n      </div>\n    </div>\n  </header>\n  <div class=\"container\">\n    <div class=\"layout\">\n      <div class=\"flex xs12\"><span class=\"grey--text\">\n          crawler description\n        </span></div>\n    </div>\n    <div class=\"layout wrap\">\n      <div class=\"flex xs12\">\n        <div class=\"v-input v-input--is-label-active v-input--is-dirty theme--light v-text-field\">\n          <div class=\"v-input__control\">\n            <div class=\"v-input__slot\">\n              <div class=\"v-text-field__slot\"><label for=\"input-50\" class=\"v-label v-label--active theme--light\" style=\"left: 0px; position: absolute;\">Username</label><input required=\"required\" id=\"input-50\" type=\"text\"></div>\n              <div class=\"v-input__append-inner\">\n                <div class=\"v-input__icon v-input__icon--clear\"><button type=\"button\" aria-label=\"clear icon\" class=\"v-icon notranslate v-icon--link mdi mdi-close theme--light\"></button></div>\n              </div>\n            </div>\n            <div class=\"v-text-field__details\">\n              <div class=\"v-messages theme--light\">\n                <transition-group-stub tag=\"div\" name=\"message-transition\" class=\"v-messages__wrapper\"></transition-group-stub>\n              </div>\n            </div>\n          </div>\n        </div>\n      </div>\n    </div>\n    <!---->\n  </div>\n  <div class=\"v-dialog__container\">\n    <!---->\n  </div>\n</div>\n`;\n\nexports[`WorkerCard can render warning correctly 1`] = `\n<div class=\"v-card v-sheet theme--light\">\n  <header class=\"blue-grey lighten-5 v-sheet theme--light elevation-0 v-toolbar v-toolbar--dense v-toolbar--flat v-app-bar\" style=\"height: 48px; margin-top: 0px; transform: translateY(0px); left: 0px; right: 0px;\">\n    <div class=\"v-toolbar__content\" style=\"height: 48px;\">\n      <div title=\"crawler title\" class=\"v-toolbar__title\">\n        crawler title\n      </div>\n      <div class=\"spacer\"></div>\n      <div class=\"v-toolbar__items\">\n        <!----> <span class=\"v-tooltip v-tooltip--bottom\"><!----><button type=\"button\" class=\"v-btn v-btn--icon v-btn--round theme--light v-size--default\"><span class=\"v-btn__content\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-plus-circle-outline theme--light\"></i></span></button></span> <span class=\"v-tooltip v-tooltip--bottom\"><!----><button type=\"button\" class=\"v-btn v-btn--icon v-btn--round theme--light v-size--default\"><span class=\"v-btn__content\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-open-in-new theme--light\"></i></span></button></span>\n        <transition-stub name=\"fade-transition\"><span class=\"v-tooltip v-tooltip--bottom\"><!----><button type=\"button\" class=\"v-btn v-btn--icon v-btn--round theme--light v-size--default\"><span class=\"v-btn__content\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-refresh theme--light\"></i></span></button></span></transition-stub>\n      </div>\n    </div>\n  </header>\n  <div class=\"container\">\n    <div class=\"layout\">\n      <div class=\"flex xs12\"><span class=\"grey--text\">\n          crawler description\n        </span></div>\n    </div>\n    <div class=\"layout wrap\">\n      <div class=\"flex xs12\">\n        <div class=\"v-input v-input--is-label-active v-input--is-dirty theme--light v-text-field\">\n          <div class=\"v-input__control\">\n            <div class=\"v-input__slot\">\n              <div class=\"v-text-field__slot\"><label for=\"input-71\" class=\"v-label v-label--active theme--light\" style=\"left: 0px; position: absolute;\">Username</label><input required=\"required\" id=\"input-71\" type=\"text\"></div>\n              <div class=\"v-input__append-inner\">\n                <div class=\"v-input__icon v-input__icon--clear\"><button type=\"button\" aria-label=\"clear icon\" class=\"v-icon notranslate v-icon--link mdi mdi-close theme--light\"></button></div>\n              </div>\n            </div>\n            <div class=\"v-text-field__details\">\n              <div class=\"v-messages theme--light\">\n                <transition-group-stub tag=\"div\" name=\"message-transition\" class=\"v-messages__wrapper\"></transition-group-stub>\n              </div>\n            </div>\n          </div>\n        </div>\n      </div>\n    </div>\n    <div class=\"layout xs12\">\n      <div class=\"flex align-self-start shrink\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-alert theme--light orange--text text--darken-2\"></i></div>\n      <div class=\"flex align-self-start\"><span>Your username begins with a space.</span></div>\n    </div>\n    <div class=\"layout xs12\">\n      <div class=\"flex align-self-start shrink\"><i aria-hidden=\"true\" class=\"v-icon notranslate mdi mdi-alert theme--light orange--text text--darken-2\"></i></div>\n      <div class=\"flex align-self-start\"><span>Your username includes space, which may not be supported by some crawlers.</span></div>\n    </div>\n    <!---->\n  </div>\n  <div class=\"v-dialog__container\">\n    <!---->\n  </div>\n</div>\n`;\n"
  },
  {
    "path": "frontend/__test__/components/statisticsLayoutBuilder.test.js",
    "content": "import statisticsLayoutBuilder from '~/components/statisticsLayoutBuilder'\n\ndescribe('statisticsLayoutBuilder', () => {\n  it('can get worker information 1', () => {\n    const result = statisticsLayoutBuilder([\n      { crawlerName: 'c1', key: 0.1 },\n      { crawlerName: 'c1', key: 0.2 },\n      { crawlerName: 'c2', key: 0.3 },\n      { crawlerName: 'c3', key: 0.4 },\n      { crawlerName: 'c3', key: 0.5 },\n      { crawlerName: 'c3', key: 0.6 },\n      { crawlerName: 'c4', key: 0.7 },\n      { crawlerName: 'c5', key: 0.8 },\n    ], 3)\n\n    expect(result).toMatchObject([\n      [0, 1, 2],\n      [3, 4, 5],\n      [6, 7],\n    ])\n  })\n\n  it('can get worker information 2', () => {\n    const result = statisticsLayoutBuilder([\n      { crawlerName: 'c1', key: 0.01 },\n      { crawlerName: 'c1', key: 0.02 },\n      { crawlerName: 'c2', key: 0.03 },\n      { crawlerName: 'c3', key: 0.04 },\n      { crawlerName: 'c3', key: 0.05 },\n      { crawlerName: 'c3', key: 0.06 },\n      { crawlerName: 'c4', key: 0.07 },\n      { crawlerName: 'c5', key: 0.08 },\n      { crawlerName: 'c6', key: 0.09 },\n      { crawlerName: 'c7', key: 0.10 },\n      { crawlerName: 'c8', key: 0.11 },\n      { crawlerName: 'c9', key: 0.12 },\n      { crawlerName: 'c10', key: 0.13 },\n    ], 4)\n\n    expect(result).toMatchObject([\n      [0, 1, 2, 3],\n      [4, 5, 6, 7],\n      [8, 9, 10, 11],\n      [12],\n    ])\n  })\n\n  it('can get worker information 3', () => {\n    const result = statisticsLayoutBuilder([\n      { crawlerName: 'c1', key: 0.1 },\n      { crawlerName: 'c1', key: 0.1 },\n      { crawlerName: 'c2', key: 0.1 },\n      { crawlerName: 'c3', key: 0.1 },\n      { crawlerName: 'c3', key: 0.1 },\n      { crawlerName: 'c3', key: 0.1 },\n    ], 3)\n\n    expect(result).toMatchObject([\n      [0, 1],\n      [2, 3],\n      [4, 5],\n    ])\n  })\n})\n"
  },
  {
    "path": "frontend/__test__/components/statisticsUtils.test.js",
    "content": "import {warningHelper, mapVirtualJudgeProblemTitle} from '~/components/statisticsUtils'\n\ndescribe('warningHelper', () => {\n  it('does not generate warning when it is correct', () => {\n    const worker = {\n      username: 'user1',\n      status: 'WORKING',\n      submissions: 0,\n      solved: 0,\n      errorMessage: '.....',\n      tokenKey: 0.23333,\n      crawlerName: 'cr1',\n      key: 0.66666666,\n    }\n    expect(warningHelper(worker, {}, {})).toMatchObject([])\n\n    worker.username = ''\n    expect(warningHelper(worker, {}, {})).toMatchObject([])\n  })\n\n  it('can generate warning with username that beginning with space', () => {\n    const worker = {\n      username: ' user1',\n      status: 'WORKING',\n      submissions: 0,\n      solved: 0,\n      errorMessage: '.....',\n      tokenKey: 0.23333,\n      crawlerName: 'cr1',\n      key: 0.66666666,\n    }\n\n    expect(warningHelper(worker, {}, {})).toMatchObject([\n      'Your username begins with a space.',\n      'Your username includes space, which may not be supported by some crawlers.',\n    ])\n  })\n\n  it('can generate warning that username contains space', () => {\n    const worker = {\n      username: 'user 1',\n      status: 'WORKING',\n      submissions: 0,\n      solved: 0,\n      errorMessage: '.....',\n      tokenKey: 0.23333,\n      crawlerName: 'cr1',\n      key: 0.66666666,\n    }\n\n    expect(warningHelper(worker, {}, {})).toMatchObject([\n      'Your username includes space, which may not be supported by some crawlers.',\n    ])\n  })\n\n  it('can warn that there are collapses with ac list of vjudge and other workers', () => {\n\n    const worker = {\n      solvedList: [\n        'A-001',\n        'B-001',\n        'B-002',\n        'C-001',\n      ],\n      solved: 4,\n      crawlerName: 'vjudge',\n    }\n    const crawlerMeta = {\n      virtual_judge: true,\n    }\n    const getters = {\n      nullSolvedListCrawlers: {\n        'A': 'a title',\n        'B': 'b title',\n      },\n    }\n\n    const res = warningHelper(worker, crawlerMeta, getters)\n\n    expect(res).toMatchObject([\n      'Crawler a title did not return AC problem list, its result may overlap with this crawler\\'s',\n      'Crawler b title did not return AC problem list, its result may overlap with this crawler\\'s',\n    ])\n  })\n\n  it('can warn that multiple worker crawler can have redundant problems', () => {\n\n    const worker = {\n      solvedList: null,\n      crawlerName: 'cr1',\n    }\n    const crawlerMeta = {}\n    const getters = {\n      nullSolvedListCrawlers: {\n        'cr1': 'cr1 title',\n      },\n      workerNumberOfCrawler: {\n        'cr1': 2,\n      },\n    }\n\n    const res = warningHelper(worker, crawlerMeta, getters)\n\n    expect(res).toMatchObject([\n      'This crawler did not return AC problem list, so the same problem in different OJs can be recognized as different problems.',\n    ])\n  })\n\n  it('can warn when solved and solvedList.length is not equal', () => {\n\n    const worker = {\n      solved: 2,\n      solvedList: ['1001'],\n    }\n\n    const res = warningHelper(worker, {}, {})\n\n    expect(res).toMatchObject([\n      'The solved number of this crawler is 2, however, there are 1 problems in the solved list, which can be an error of the crawler.',\n    ])\n  })\n})\n\ndescribe('mapVirtualJudgeProblemTitle', () => {\n  it('can work correctly', () => {\n\n    const solvedList = [\n      'aa-001',\n      'b-002',\n      'C-003',\n    ]\n    const crawlers = {\n      aa: {\n        title: 'AA',\n      },\n      b: {\n        title: 'B',\n      },\n    }\n\n    const res = mapVirtualJudgeProblemTitle(solvedList, crawlers)\n\n    expect(res).toMatchObject([\n      'AA-001',\n      'B-002',\n      'C-003',\n    ])\n  })\n})\n"
  },
  {
    "path": "frontend/__test__/e2eMocks/crawler.js",
    "content": "const _ = require('lodash')\n\nconst crawlerNames = _.map(_.range(5), i => `crawler${i}`)\nconst metas = _.zipObject(\n  crawlerNames,\n  _.map(crawlerNames, str => ({\n    title: str,\n  })),\n)\nmetas.withDescription = {\n  title: 'with description',\n  description: 'a description',\n}\nmetas.withUrl = {\n  title: 'with url',\n  url: 'http://test.aaa.com',\n}\nmetas.withAll = {\n  title: 'with all',\n  description: 'with all description and url',\n  url: 'http://test.aaa.com',\n}\n\nmodule.exports = {\n  readMetaConfigs: () => {\n    return Promise.resolve(metas)\n  },\n  generateBrowserCrawlerFunctions: () => {\n\n    const result = {}\n    for (let key in metas) {\n      result[key] = 'username => ({submissions: 0, solved: 0})'\n    }\n\n    return Promise.resolve(result)\n  },\n}\n"
  },
  {
    "path": "frontend/__test__/store/statistics.test.js",
    "content": "import StoreContextSimulator from '../StoreContextSimulator'\nimport { MUTATION_TYPES } from '../../store/-dynamic/statistics'\n\njest.mock('~/dynamic/crawlers', () => function () {\n  return {\n    metas: {\n      cr1: {\n        title: 'crawler 1',\n      },\n      cr2: {\n        title: 'crawler 2, should throw exception',\n      },\n      cr3: {\n        title: 'crawler 3, return at next tick',\n      },\n    },\n    crawlers: {\n      // eslint-disable-next-line no-unused-vars\n      cr1: username => Promise.resolve({ submissions: 10, solved: 5, solvedList: ['1001', '1002'] }),\n      // eslint-disable-next-line no-unused-vars\n      cr2: (username) => Promise.reject(new Error('The user does not exist')),\n      // eslint-disable-next-line no-unused-vars\n      cr3: (username) => {\n        return new Promise(resolve =>\n          setImmediate(() => resolve({\n            submissions: 10,\n            solved: 1,\n            solvedList: null,\n          })))\n      },\n    },\n  }\n}, { virtual: true })\n\nconst store = require('../../store/-dynamic/statistics')\n\ndescribe('state', () => {\n  it('can generate state correctly', () => {\n    const state = store.state()\n    expect(state).toMatchObject({\n      mainUsername: '',\n      crawlers: {\n        cr1: {\n          name: 'cr1',\n          title: 'crawler 1',\n        },\n        cr2: {\n          title: 'crawler 2, should throw exception',\n        },\n        cr3: {\n          title: 'crawler 3, return at next tick',\n        },\n      },\n      workers: [\n        {\n          crawlerName: 'cr1',\n          username: '',\n          solved: 0,\n          submissions: 0,\n          solvedList: [],\n          errorMessage: '',\n          tokenKey: null,\n          key: expect.any(Number),\n        },\n        {\n          crawlerName: 'cr2',\n          username: '',\n          solved: 0,\n          submissions: 0,\n          solvedList: [],\n          errorMessage: '',\n          tokenKey: null,\n          key: expect.any(Number),\n        },\n        {\n          crawlerName: 'cr3',\n          username: '',\n          solved: 0,\n          submissions: 0,\n          solvedList: [],\n          errorMessage: '',\n          tokenKey: null,\n          key: expect.any(Number),\n        },\n      ],\n    })\n  })\n})\n\ndescribe('mutations', () => {\n\n  describe('updateUsername', () => {\n    it('can reset data when username changed', () => {\n      const state = {\n        workers: [\n          {\n            username: 'user1',\n            status: 'DONE',\n            submissions: 33,\n            solved: 22,\n            solvedList: ['1', '2'],\n            errorMessage: '.....',\n            tokenKey: 0.23333,\n            crawlerName: 'cr1',\n            key: 0.6666666,\n          },\n        ],\n      }\n\n      store.mutations.updateUsername(state, { index: 0, username: 'user2' })\n\n      expect(state).toMatchObject({\n        workers: [\n          {\n            username: 'user2',\n            status: 'WAITING',\n            submissions: 0,\n            solved: 0,\n            solvedList: [],\n            errorMessage: '',\n            tokenKey: null,\n            crawlerName: 'cr1',\n            key: 0.6666666,\n          },\n        ],\n      })\n    })\n\n    it('can change username to empty string when it is set to null', () => {\n      const state = {\n        workers: [\n          {\n            username: 'user1',\n            status: 'DONE',\n            submissions: 33,\n            solved: 22,\n            errorMessage: '.....',\n            tokenKey: 0.23333,\n            crawlerName: 'cr1',\n            key: 0.6666666,\n          },\n        ],\n      }\n\n      store.mutations.updateUsername(state, { index: 0, username: null })\n\n      expect(state).toMatchObject({\n        workers: [\n          {\n            username: '',\n            status: 'WAITING',\n            submissions: 0,\n            solved: 0,\n            solvedList: [],\n            errorMessage: '',\n            tokenKey: null,\n            crawlerName: 'cr1',\n            key: 0.6666666,\n          },\n        ],\n      })\n    })\n  })\n\n  describe('updateMainUsername', () => {\n    it('can update every workers\\'s username', () => {\n      const state = {\n        mainUsername: 'mainUser',\n        workers: [\n          {\n            username: 'user1',\n            status: 'DONE',\n            submissions: 33,\n            solved: 22,\n            solvedList: ['1', '2'],\n            errorMessage: '.....',\n            tokenKey: 0.23333,\n            crawlerName: 'cr1',\n            key: 0.6666666,\n          },\n          {\n            username: 'user2',\n            status: 'DONE',\n            submissions: 33,\n            solved: 22,\n            errorMessage: '.....',\n            solvedList: ['1', '2'],\n            tokenKey: 0.23333,\n            crawlerName: 'cr2',\n            key: 0.7777777,\n          },\n        ],\n      }\n\n      store.mutations.updateMainUsername(state, { username: 'main2' })\n\n      expect(state).toMatchObject({\n        mainUsername: 'main2',\n        workers: [\n          {\n            username: 'main2',\n            status: 'WAITING',\n            submissions: 0,\n            solved: 0,\n            errorMessage: '',\n            solvedList: [],\n            tokenKey: null,\n            crawlerName: 'cr1',\n            key: 0.6666666,\n          },\n          {\n            username: 'main2',\n            status: 'WAITING',\n            submissions: 0,\n            solved: 0,\n            errorMessage: '',\n            solvedList: [],\n            tokenKey: null,\n            crawlerName: 'cr2',\n            key: 0.7777777,\n          },\n        ],\n      })\n    })\n  })\n\n  describe('updateUsernamesFromObject', () => {\n\n    let startState\n\n    beforeEach(() => {\n      startState = {\n        mainUsername: 'mainUser',\n        crawlers: {\n          cr1: {\n            name: 'cr1',\n          },\n          cr2: {\n            name: 'cr2',\n          },\n        },\n        workers: [\n          {\n            username: 'user1',\n            status: 'DONE',\n            submissions: 33,\n            solved: 22,\n            errorMessage: '.....',\n            solvedList: ['1', '2'],\n            tokenKey: 0.23333,\n            crawlerName: 'cr1',\n            key: 0.6666666,\n          },\n          {\n            username: 'user2',\n            status: 'DONE',\n            submissions: 33,\n            solved: 22,\n            errorMessage: '.....',\n            solvedList: ['1', '2'],\n            tokenKey: 0.23333,\n            crawlerName: 'cr1',\n            key: 0.6666666,\n          },\n          {\n            username: 'user2',\n            status: 'DONE',\n            submissions: 33,\n            solved: 22,\n            errorMessage: '.....',\n            solvedList: ['1', '2'],\n            tokenKey: 0.23333,\n            crawlerName: 'cr2',\n            key: 0.6666666,\n          },\n        ],\n      }\n    })\n\n    it('can update data correctly', () => {\n      store.mutations.updateUsernamesFromObject(startState, {\n        main: 'main2',\n        subs: {\n          cr1: ['nu1', 'nu2'],\n          cr2: ['nu3'],\n        },\n      })\n\n      expect(startState).toMatchObject({\n        mainUsername: 'main2',\n        workers: [\n          {\n            username: 'nu1',\n            status: 'WAITING',\n            submissions: 0,\n            solved: 0,\n            errorMessage: '',\n            solvedList: [],\n            tokenKey: null,\n            crawlerName: 'cr1',\n            key: expect.any(Number),\n          },\n          {\n            username: 'nu2',\n            status: 'WAITING',\n            submissions: 0,\n            solved: 0,\n            errorMessage: '',\n            solvedList: [],\n            tokenKey: null,\n            crawlerName: 'cr1',\n            key: expect.any(Number),\n          },\n          {\n            username: 'nu3',\n            status: 'WAITING',\n            submissions: 0,\n            solved: 0,\n            errorMessage: '',\n            solvedList: [],\n            tokenKey: null,\n            crawlerName: 'cr2',\n            key: expect.any(Number),\n          },\n        ],\n      })\n    })\n\n    it('can set username to mainUsername when its data do not exist', () => {\n      store.mutations.updateUsernamesFromObject(startState, {\n        main: 'main2',\n        subs: {\n          cr2: ['nu3'],\n        },\n      })\n\n      expect(startState).toMatchObject({\n        mainUsername: 'main2',\n        workers: [\n          {\n            username: 'main2',\n            status: 'WAITING',\n            submissions: 0,\n            solved: 0,\n            errorMessage: '',\n            solvedList: [],\n            tokenKey: null,\n            crawlerName: 'cr1',\n            key: expect.any(Number),\n          },\n          {\n            username: 'nu3',\n            status: 'WAITING',\n            submissions: 0,\n            solved: 0,\n            errorMessage: '',\n            solvedList: [],\n            tokenKey: null,\n            crawlerName: 'cr2',\n            key: expect.any(Number),\n          },\n        ],\n      })\n    })\n\n    it('does not add redundant worker when certain data do not exist', () => {\n      store.mutations.updateUsernamesFromObject(startState, {\n        main: 'main2',\n        subs: {\n          cr1: ['nu1'],\n          cr2: ['nu3'],\n          cr3: ['nnnn'],\n        },\n      })\n\n      expect(startState).toMatchObject({\n        mainUsername: 'main2',\n        workers: [\n          {\n            username: 'nu1',\n            status: 'WAITING',\n            submissions: 0,\n            solved: 0,\n            errorMessage: '',\n            solvedList: [],\n            tokenKey: null,\n            crawlerName: 'cr1',\n            key: expect.any(Number),\n          },\n          {\n            username: 'nu3',\n            status: 'WAITING',\n            submissions: 0,\n            solved: 0,\n            errorMessage: '',\n            solvedList: [],\n            tokenKey: null,\n            crawlerName: 'cr2',\n            key: expect.any(Number),\n          },\n        ],\n      })\n    })\n\n    it('can generate worker correctly when certain username is empty string', () => {\n      store.mutations.updateUsernamesFromObject(startState, {\n        main: 'main2',\n        subs: {\n          cr1: ['nu1', ''],\n          cr2: [''],\n        },\n      })\n\n      expect(startState).toMatchObject({\n        mainUsername: 'main2',\n        workers: [\n          {\n            username: 'nu1',\n            status: 'WAITING',\n            submissions: 0,\n            solved: 0,\n            errorMessage: '',\n            solvedList: [],\n            tokenKey: null,\n            crawlerName: 'cr1',\n            key: expect.any(Number),\n          },\n          {\n            username: '',\n            status: 'WAITING',\n            submissions: 0,\n            solved: 0,\n            errorMessage: '',\n            solvedList: [],\n            tokenKey: null,\n            crawlerName: 'cr1',\n            key: expect.any(Number),\n          },\n          {\n            username: '',\n            status: 'WAITING',\n            submissions: 0,\n            solved: 0,\n            errorMessage: '',\n            solvedList: [],\n            tokenKey: null,\n            crawlerName: 'cr2',\n            key: expect.any(Number),\n          },\n        ],\n      })\n    })\n  })\n\n  describe('stopWorker', () => {\n    it('should reset tokenKey and status', () => {\n      const state = {\n        crawlers: {\n          cr1: {\n            name: 'cr1',\n          },\n        },\n        workers: [\n          {\n            username: 'user1',\n            status: 'WORKING',\n            submissions: 0,\n            solved: 0,\n            solvedList: [],\n            errorMessage: '.....',\n            tokenKey: 0.23333,\n            crawlerName: 'cr1',\n            key: 0.66666666,\n          },\n        ],\n      }\n\n      store.mutations.stopWorker(state, { index: 0 })\n\n      expect(state).toMatchObject({\n        crawlers: {\n          cr1: {\n            name: 'cr1',\n          },\n        },\n        workers: [\n          {\n            username: 'user1',\n            status: 'WAITING',\n            submissions: 0,\n            solved: 0,\n            solvedList: [],\n            errorMessage: '.....',\n            tokenKey: null,\n            crawlerName: 'cr1',\n            key: 0.66666666,\n          },\n        ],\n      })\n    })\n  })\n\n  describe('addWorkerForCrawler', () => {\n\n    it('should add worker to the end when other worker does not exist', () => {\n      const state = {\n        crawlers: {\n          cr1: {\n            name: 'cr1',\n          },\n          cr2: {\n            name: 'cr2',\n          },\n        },\n        workers: [\n          {\n            username: 'user1',\n            status: 'DONE',\n            submissions: 33,\n            solved: 22,\n            solvedList: ['1', '2'],\n            errorMessage: '.....',\n            tokenKey: 0.23333,\n            crawlerName: 'cr2',\n            key: 0.66666666,\n          },\n        ],\n      }\n\n      store.mutations.addWorkerForCrawler(state, { crawlerName: 'cr1' })\n\n      expect(state).toMatchObject({\n        crawlers: {\n          cr1: {\n            name: 'cr1',\n          },\n          cr2: {\n            name: 'cr2',\n          },\n        },\n        workers: [\n          {\n            username: 'user1',\n            status: 'DONE',\n            submissions: 33,\n            solved: 22,\n            errorMessage: '.....',\n            solvedList: ['1', '2'],\n            tokenKey: 0.23333,\n            crawlerName: 'cr2',\n            key: 0.66666666,\n          },\n          {\n            username: '',\n            status: 'WAITING',\n            submissions: 0,\n            solved: 0,\n            solvedList: [],\n            errorMessage: '',\n            tokenKey: null,\n            crawlerName: 'cr1',\n            key: expect.any(Number),\n          },\n        ],\n      })\n    })\n\n    it('should add new worker after existing one with same crawler', () => {\n      const state = {\n        crawlers: {\n          cr1: {\n            name: 'cr1',\n          },\n          cr2: {\n            name: 'cr2',\n          },\n        },\n        workers: [\n          {\n            username: 'user0',\n            status: 'DONE',\n            submissions: 33,\n            solved: 22,\n            errorMessage: '.....',\n            solvedList: ['1', '2'],\n            tokenKey: 0.23333,\n            crawlerName: 'cr1',\n            key: 0.6666666,\n          },\n          {\n            username: 'user1',\n            status: 'DONE',\n            submissions: 33,\n            solved: 22,\n            errorMessage: '.....',\n            solvedList: ['1', '2'],\n            tokenKey: 0.23333,\n            crawlerName: 'cr2',\n            key: 0.6666666,\n          },\n        ],\n      }\n\n      store.mutations.addWorkerForCrawler(state, { crawlerName: 'cr1' })\n\n      expect(state).toMatchObject({\n        crawlers: {\n          cr1: {\n            name: 'cr1',\n          },\n          cr2: {\n            name: 'cr2',\n          },\n        },\n        workers: [\n          {\n            username: 'user0',\n            status: 'DONE',\n            submissions: 33,\n            solved: 22,\n            solvedList: ['1', '2'],\n            errorMessage: '.....',\n            tokenKey: 0.23333,\n            crawlerName: 'cr1',\n            key: 0.6666666,\n          },\n          {\n            username: '',\n            status: 'WAITING',\n            submissions: 0,\n            solved: 0,\n            errorMessage: '',\n            solvedList: [],\n            tokenKey: null,\n            crawlerName: 'cr1',\n            key: expect.any(Number),\n          },\n          {\n            username: 'user1',\n            status: 'DONE',\n            submissions: 33,\n            solved: 22,\n            errorMessage: '.....',\n            solvedList: ['1', '2'],\n            tokenKey: 0.23333,\n            crawlerName: 'cr2',\n            key: 0.6666666,\n          },\n        ],\n      })\n    })\n\n  })\n\n  describe('clearWorkers', () => {\n    it('can reset workers', () => {\n      const state = {\n        mainUsername: 'wwwwww',\n        crawlers: {\n          cr1: {\n            name: 'cr1',\n            title: 'crawler 1',\n          },\n        },\n        workers: [\n          {\n            crawlerName: 'cr1',\n            username: 'asdfg',\n            solved: 0,\n            submissions: 0,\n            errorMessage: '',\n            solvedList: [],\n            tokenKey: 0.123,\n            key: 0.23333,\n          },\n          {\n            crawlerName: 'cr1',\n            username: 'qwert',\n            solved: 0,\n            submissions: 0,\n            errorMessage: '',\n            solvedList: [],\n            tokenKey: 0.456,\n            key: 0.666,\n          },\n        ],\n      }\n\n      store.mutations[MUTATION_TYPES.clearWorkers](state)\n      expect(state).toMatchObject({\n        mainUsername: '',\n        crawlers: {\n          cr1: {\n            name: 'cr1',\n            title: 'crawler 1',\n          },\n        },\n        workers: [{\n          crawlerName: 'cr1',\n          username: '',\n          solved: 0,\n          submissions: 0,\n          solvedList: [],\n          errorMessage: '',\n          tokenKey: null,\n          key: expect.any(Number),\n        }],\n      })\n    })\n  })\n})\n\ndescribe('getters', () => {\n\n  describe('solvedNum', () => {\n\n    it('can collect data of ordinary workers', () => {\n      const state = {\n        workers: [\n          {\n            solved: 1,\n            solvedList: null,\n            crawlerName: 'cr1',\n          },\n          {\n            solved: 2,\n            solvedList: null,\n            crawlerName: 'cr1',\n          },\n          {\n            solved: 4,\n            solvedList: null,\n            crawlerName: 'cr2',\n          },\n        ],\n        crawlers: {\n          cr1: {},\n          cr2: {},\n        },\n      }\n      const nullSolvedListWorkers = store.getters.nullSolvedListWorkers(state)\n\n      const res = store.getters.solvedNum(state, { nullSolvedListWorkers })\n\n      expect(res).toBe(7)\n    })\n\n    it('can collect data of workers with list', () => {\n      const state = {\n        workers: [\n          {\n            solved: 1,\n            solvedList: ['1001'],\n            crawlerName: 'cr1',\n          },\n          {\n            solved: 2,\n            solvedList: ['1001', '1002'],\n            crawlerName: 'cr2',\n          },\n          {\n            solved: 1,\n            solvedList: ['1001'],\n            crawlerName: 'cr2',\n          },\n        ],\n        crawlers: {\n          cr1: {},\n          cr2: {},\n        },\n      }\n      const nullSolvedListWorkers = store.getters.nullSolvedListWorkers(state)\n\n      const res = store.getters.solvedNum(state, { nullSolvedListWorkers })\n\n      expect(res).toBe(3)\n    })\n\n    it('can collect data of workers with mixed type', () => {\n      const state = {\n        workers: [\n          {\n            solved: 1,\n            solvedList: ['1001'],\n            crawlerName: 'cr1',\n          },\n          {\n            solved: 4,\n            solvedList: null,\n            crawlerName: 'cr1',\n          },\n          {\n            solved: 2,\n            solvedList: ['1001', '1002'],\n            crawlerName: 'cr2',\n          },\n        ],\n        crawlers: {\n          cr1: {},\n          cr2: {},\n        },\n      }\n      const nullSolvedListWorkers = store.getters.nullSolvedListWorkers(state)\n\n      const res = store.getters.solvedNum(state, { nullSolvedListWorkers })\n\n      expect(res).toBe(7)\n    })\n\n    it('can collect data of virtual_judge workers', () => {\n      const state = {\n        workers: [\n          {\n            solved: 1,\n            solvedList: ['1001'],\n            crawlerName: 'cr1',\n          },\n          {\n            solved: 4,\n            solvedList: null,\n            crawlerName: 'cr1',\n          },\n          {\n            solved: 2,\n            solvedList: ['1001', '1002'],\n            crawlerName: 'cr2',\n          },\n          {\n            solved: 5,\n            solvedList: ['cr1-1001', 'cr1-1002', 'cr2-1002', 'cr2-1003', 'NN-1001'],\n            crawlerName: 'cr3',\n          },\n          { // redundant name\n            solved: 1,\n            solvedList: ['cr1-1001'],\n            crawlerName: 'cr4',\n          },\n        ],\n        crawlers: {\n          cr1: {},\n          cr2: {},\n          cr3: {\n            virtual_judge: true,\n          },\n          cr4: {\n            virtual_judge: true,\n          },\n        },\n      }\n      const nullSolvedListWorkers = store.getters.nullSolvedListWorkers(state)\n\n      const res = store.getters.solvedNum(state, { nullSolvedListWorkers })\n\n      expect(res).toBe(10)\n    })\n\n    it('works correctly when vj returns label with its own oj name', () => {\n      const state = {\n        workers: [\n          {\n            solved: 1,\n            solvedList: ['1001'],\n            crawlerName: 'cr1',\n          },\n          {\n            solved: 4,\n            solvedList: null,\n            crawlerName: 'cr1',\n          },\n          {\n            solved: 2,\n            solvedList: ['1001', '1002'],\n            crawlerName: 'cr2',\n          },\n          {\n            solved: 5,\n            solvedList: ['cr1-1001', 'cr1-1002', 'cr2-1002', 'cr2-1003', 'NN-1001', 'cr3-1001'],\n            crawlerName: 'cr3',\n          },\n          { // redundant name\n            solved: 1,\n            solvedList: ['cr1-1001', 'cr3-1001', 'cr4-1001'],\n            crawlerName: 'cr4',\n          },\n        ],\n        crawlers: {\n          cr1: {},\n          cr2: {},\n          cr3: {\n            virtual_judge: true,\n          },\n          cr4: {\n            virtual_judge: true,\n          },\n        },\n      }\n      const nullSolvedListWorkers = store.getters.nullSolvedListWorkers(state)\n\n      const res = store.getters.solvedNum(state, { nullSolvedListWorkers })\n\n      expect(res).toBe(12)\n    })\n  })\n\n  describe('notWorkingRate', () => {\n\n    it('can work correctly', () => {\n      const state = {\n        workers: [\n          { status: 'DONE' },\n          { status: 'WORKING' },\n          { status: 'WAITING' },\n          { status: 'DONE' },\n        ],\n      }\n\n      expect(store.getters.notWorkingRate(state)).toBe(75)\n    })\n\n    it('can get 0', () => {\n      const state = {\n        workers: [\n          { status: 'WORKING' },\n          { status: 'WORKING' },\n          { status: 'WORKING' },\n          { status: 'WORKING' },\n        ],\n      }\n\n      expect(store.getters.notWorkingRate(state)).toBe(0)\n    })\n\n    it('can get 100', () => {\n      const state = {\n        workers: [\n          { status: 'DONE' },\n          { status: 'DONE' },\n          { status: 'DONE' },\n          { status: 'DONE' },\n        ],\n      }\n\n      expect(store.getters.notWorkingRate(state)).toBe(100)\n    })\n\n  })\n\n  describe('workerNumberOfCrawler', () => {\n\n    it('can get worker count of certain crawler', () => {\n\n      const state = {\n        workers: [\n          {\n            crawlerName: 'cr1',\n          },\n          {\n            crawlerName: 'cr1',\n          },\n          {\n            crawlerName: 'cr2',\n          },\n          {\n            crawlerName: 'cr3',\n          },\n        ],\n      }\n\n      expect(store.getters.workerNumberOfCrawler(state)).toMatchObject({\n        cr1: 2,\n        cr2: 1,\n        cr3: 1,\n      })\n\n    })\n  })\n\n  describe('workerIdxOfCrawler', () => {\n    it('can get worker index', () => {\n      const state = {\n        workers: [\n          {\n            crawlerName: 'cr1',\n          },\n          {\n            crawlerName: 'cr1',\n          },\n          {\n            crawlerName: 'cr2',\n          },\n          {\n            crawlerName: 'cr3',\n          },\n        ],\n      }\n\n      expect(store.getters.workerIdxOfCrawler(state)).toMatchObject([\n        1,\n        2,\n        1,\n        1,\n      ])\n    })\n  })\n\n  describe('nullSolvedListCrawlers', () => {\n    it('can get correct result', () => {\n\n      const state = {\n        crawlers: {\n          cr1: {\n            title: 'cr1 title',\n          },\n          cr2: {\n            title: 'cr2 title',\n          },\n          cr3: {\n            title: 'cr3 title',\n          },\n        },\n        workers: [\n          {\n            solvedList: null,\n            crawlerName: 'cr1',\n          },\n          {\n            solvedList: ['1', '2'],\n            crawlerName: 'cr2',\n          },\n          {\n            solvedList: null,\n            crawlerName: 'cr3',\n          },\n        ],\n      }\n      const nullSolvedListWorkers = store.getters.nullSolvedListWorkers(state)\n\n      const res = store.getters.nullSolvedListCrawlers(state, { nullSolvedListWorkers })\n\n      expect(res).toMatchObject({\n        cr1: 'cr1 title',\n        cr3: 'cr3 title',\n      })\n    })\n  })\n})\n\ndescribe('helper functions', () => {\n\n  describe('getUsernameObjectFromState', () => {\n\n    it('can generate data correctly', () => {\n\n      const state = {\n        mainUsername: 'mainUser',\n        crawlers: {\n          cr1: {\n            name: 'cr1',\n          },\n          cr2: {\n            name: 'cr2',\n          },\n        },\n        workers: [\n          {\n            username: 'user1',\n            status: 'DONE',\n            submissions: 33,\n            solved: 22,\n            errorMessage: '.....',\n            solvedList: ['1', '2'],\n            tokenKey: 0.23333,\n            crawlerName: 'cr1',\n            key: 0.6666666,\n          },\n          {\n            username: 'user2',\n            status: 'DONE',\n            submissions: 33,\n            solved: 22,\n            errorMessage: '.....',\n            solvedList: ['1', '2'],\n            tokenKey: 0.23333,\n            crawlerName: 'cr1',\n            key: 0.6666666,\n          },\n          {\n            username: 'user2',\n            status: 'DONE',\n            submissions: 33,\n            solved: 22,\n            errorMessage: '.....',\n            solvedList: ['1', '2'],\n            tokenKey: 0.23333,\n            crawlerName: 'cr2',\n            key: 0.6666666,\n          },\n        ],\n      }\n\n      const result = store.getUsernameObjectFromState(state)\n      expect(result).toMatchObject({\n        main: 'mainUser',\n        subs: {\n          cr1: ['user1', 'user2'],\n          cr2: ['user2'],\n        },\n      })\n    })\n\n    it('can generate data correctly with empty username', () => {\n\n      const state = {\n        mainUsername: 'mainUser',\n        crawlers: {\n          cr1: {\n            name: 'cr1',\n          },\n          cr2: {\n            name: 'cr2',\n          },\n        },\n        workers: [\n          {\n            username: 'user1',\n            status: 'DONE',\n            submissions: 33,\n            solved: 22,\n            errorMessage: '.....',\n            solvedList: ['1', '2'],\n            tokenKey: 0.23333,\n            crawlerName: 'cr1',\n            key: 0.6666666,\n          },\n          {\n            username: '',\n            status: 'DONE',\n            submissions: 33,\n            solved: 22,\n            errorMessage: '.....',\n            solvedList: ['1', '2'],\n            tokenKey: 0.23333,\n            crawlerName: 'cr1',\n            key: 0.6666666,\n          },\n          {\n            username: '',\n            status: 'DONE',\n            submissions: 33,\n            solved: 22,\n            errorMessage: '.....',\n            solvedList: ['1', '2'],\n            tokenKey: 0.23333,\n            crawlerName: 'cr2',\n            key: 0.6666666,\n          },\n        ],\n      }\n\n      const result = store.getUsernameObjectFromState(state)\n      expect(result).toMatchObject({\n        main: 'mainUser',\n        subs: {\n          cr1: ['user1', ''],\n          cr2: [''],\n        },\n      })\n    })\n\n  })\n\n  describe('addProblemPrefix', () => {\n    it('can get correct result', () => {\n      const res = store.addProblemPrefix(['1001', '1002'], 'A')\n      expect(res).toMatchObject(['A-1001', 'A-1002'])\n    })\n  })\n\n  describe('pushSet', () => {\n    it('can get correct result', () => {\n      const set = new Set([1, 2])\n      store.pushSet(set, [2, 3])\n      expect(set).toMatchObject(new Set([1, 2, 3]))\n    })\n  })\n})\n\ndescribe('actions', () => {\n\n  describe('startOne', () => {\n\n    it('can be executed correctly', async () => {\n      const state = {\n        crawlers: {\n          cr1: {\n            // mock at file beginning ({submissions: 10, solved: 5, solvedList: ['1001','1002']}),\n            name: 'cr1',\n          },\n        },\n        workers: [\n          {\n            username: 'user1',\n            status: 'DONE',\n            submissions: 0,\n            solved: 0,\n            errorMessage: '.....',\n            solvedList: [],\n            tokenKey: 0.23333,\n            crawlerName: 'cr1',\n            key: 0.6666666,\n          },\n        ],\n      }\n      const actionTester = new StoreContextSimulator(state, { mutations: store.mutations })\n\n      await store.actions.startOne({ state, commit: actionTester.getCommiter() }, { index: 0 })\n\n      const history = actionTester.getCommitHistory()\n      expect(history).toHaveLength(2)\n\n      expect(state).toMatchObject({\n        crawlers: {\n          cr1: {\n            name: 'cr1',\n          },\n        },\n        workers: [\n          {\n            username: 'user1',\n            status: 'DONE',\n            submissions: 10,\n            solved: 5,\n            solvedList: ['1001', '1002'],\n            errorMessage: '',\n            tokenKey: expect.any(Number),\n            crawlerName: 'cr1',\n            key: 0.6666666,\n          },\n        ],\n      })\n    })\n\n    it('can work correctly when crawler does not return ac list', async () => {\n      const state = {\n        crawlers: {\n          cr3: {\n            name: 'cr3',\n          },\n        },\n        workers: [\n          {\n            username: 'user1',\n            status: 'DONE',\n            submissions: 0,\n            solved: 0,\n            errorMessage: '.....',\n            solvedList: [],\n            tokenKey: 0.23333,\n            crawlerName: 'cr3',\n            key: 0.6666666,\n          },\n        ],\n      }\n      const actionTester = new StoreContextSimulator(state, { mutations: store.mutations })\n\n      await store.actions.startOne({ state, commit: actionTester.getCommiter() }, { index: 0 })\n\n      const history = actionTester.getCommitHistory()\n      expect(history).toHaveLength(2)\n\n      expect(state).toMatchObject({\n        crawlers: {\n          cr3: {\n            name: 'cr3',\n          },\n        },\n        workers: [\n          {\n            username: 'user1',\n            status: 'DONE',\n            submissions: 10,\n            solved: 1,\n            solvedList: null,\n            errorMessage: '',\n            tokenKey: expect.any(Number),\n            crawlerName: 'cr3',\n            key: 0.6666666,\n          },\n        ],\n      })\n    })\n\n    it('can set status when crawler throw error', async () => {\n      const state = {\n        crawlers: {\n          cr2: {\n            name: 'cr2',\n          },\n        },\n        workers: [\n          {\n            username: 'user1',\n            status: 'DONE',\n            submissions: 0,\n            solved: 0,\n            solvedList: [],\n            errorMessage: '.....',\n            tokenKey: 0.23333,\n            crawlerName: 'cr2',\n            key: 0.6666666,\n          },\n        ],\n      }\n      const actionTester = new StoreContextSimulator(state, { mutations: store.mutations })\n\n      await store.actions.startOne({ state, commit: actionTester.getCommiter() }, { index: 0 })\n\n      const history = actionTester.getCommitHistory()\n      expect(history).toHaveLength(2)\n\n      expect(state).toMatchObject({\n        crawlers: {\n          cr2: {\n            name: 'cr2',\n          },\n        },\n        workers: [\n          {\n            username: 'user1',\n            status: 'DONE',\n            submissions: 0,\n            solved: 0,\n            solvedList: [],\n            errorMessage: 'The user does not exist',\n            tokenKey: expect.any(Number),\n            crawlerName: 'cr2',\n            key: 0.6666666,\n          },\n        ],\n      })\n    })\n\n    it('will not submit result when tokenKey has been changed', async () => {\n\n      const state = {\n        crawlers: {\n          cr3: {\n            name: 'cr3',\n          },\n        },\n        workers: [\n          {\n            username: 'user1',\n            status: 'DONE',\n            submissions: 0,\n            solved: 0,\n            solvedList: [],\n            errorMessage: '.....',\n            tokenKey: 0.23333,\n            crawlerName: 'cr3',\n            key: 0.6666666,\n          },\n        ],\n      }\n      const actionTester = new StoreContextSimulator(state, { mutations: store.mutations })\n\n      // Execute current frame\n      const promise = store.actions.startOne({ state, commit: actionTester.getCommiter() }, { index: 0 })\n\n      // tokenKey should be set before query\n      expect(state.workers[0].tokenKey).toBeTruthy()\n\n      // reset tokenKey\n      state.workers[0].tokenKey = null\n\n      // start query\n      await promise\n\n      const history = actionTester.getCommitHistory()\n      expect(history).toHaveLength(1)\n\n      expect(state).toMatchObject({\n        crawlers: {\n          cr3: {\n            name: 'cr3',\n          },\n        },\n        workers: [\n          {\n            username: 'user1',\n            // state is not updated due to query cancellation\n            status: 'WORKING',\n            submissions: 0,\n            solved: 0,\n            solvedList: [],\n            errorMessage: '',\n            tokenKey: null,\n            crawlerName: 'cr3',\n            key: 0.6666666,\n          },\n        ],\n      })\n\n    })\n\n    it('does not query when username is empty', async () => {\n\n      const state = {\n        crawlers: {\n          cr1: {\n            name: 'cr2',\n          },\n        },\n        workers: [\n          {\n            username: '',\n            status: 'DONE',\n            submissions: 0,\n            solved: 0,\n            solvedList: [],\n            errorMessage: '.....',\n            tokenKey: 0.23333,\n            crawlerName: 'cr2',\n            key: 0.6666666,\n          },\n        ],\n      }\n      const actionTester = new StoreContextSimulator(state, { mutations: store.mutations })\n\n      // Execute current frame\n      await store.actions.startOne({ state, commit: actionTester.getCommiter() }, { index: 0 })\n\n      const history = actionTester.getCommitHistory()\n      expect(history).toHaveLength(0)\n\n      expect(state).toMatchObject({\n        crawlers: {\n          cr1: {\n            name: 'cr2',\n          },\n        },\n        workers: [\n          {\n            username: '',\n            status: 'DONE',\n            submissions: 0,\n            solved: 0,\n            solvedList: [],\n            errorMessage: '.....',\n            tokenKey: 0.23333,\n            crawlerName: 'cr2',\n            key: 0.6666666,\n          },\n        ],\n      })\n    })\n  })\n\n  describe('addWorkerForCrawler', () => {\n\n    it('can add worker correctly', () => {\n      const state = {\n        crawlers: {\n          cr1: {\n            name: 'cr1',\n          },\n        },\n      }\n\n      const actionTester = new StoreContextSimulator()\n\n      store.actions.addWorkerForCrawler(\n        { state, commit: actionTester.getCommiter() },\n        { crawlerName: 'cr1' })\n\n      const history = actionTester.getCommitHistory()\n      expect(history).toHaveLength(1)\n\n      expect(history[0]).toMatchObject({\n        type: 'addWorkerForCrawler',\n        payload: { crawlerName: 'cr1' },\n      })\n    })\n\n    it('can throw when crawler does not exist', () => {\n      const state = {\n        crawlers: {},\n      }\n\n      const actionTester = new StoreContextSimulator()\n\n      const action = () => {\n        store.actions.addWorkerForCrawler(\n          { state, commit: actionTester.getCommiter() },\n          { crawlerName: 'cr1' })\n      }\n\n      expect(action).toThrow('Crawler does not exist')\n\n      const history = actionTester.getCommitHistory()\n      expect(history).toHaveLength(0)\n    })\n  })\n\n  describe('removeWorkerAtIndex', () => {\n    it('can remove worker', () => {\n      const state = {\n        workers: [\n          {\n            username: 'user1',\n            crawlerName: 'cr1',\n          },\n          {\n            username: 'user2',\n            crawlerName: 'cr1',\n          },\n        ],\n      }\n      const actionTester = new StoreContextSimulator(state, { mutations: store.mutations, getters: store.getters })\n\n      store.actions.removeWorkerAtIndex(\n        { state, commit: actionTester.getCommiter(), getters: actionTester.getGetters() },\n        { index: 0 })\n\n      expect(actionTester.getCommitHistory()).toHaveLength(1)\n      expect(state).toMatchObject({\n        workers: [\n          {\n            username: 'user2',\n            crawlerName: 'cr1',\n          },\n        ],\n      })\n    })\n  })\n\n})\n"
  },
  {
    "path": "frontend/app.html",
    "content": "<!DOCTYPE html>\n<html {{ HTML_ATTRS }}>\n<head>\n  {{ HEAD }}\n</head>\n<body {{ BODY_ATTRS }}>\n<script>\n  if (!!window.ActiveXObject || \"ActiveXObject\" in window)\n    alert('本网站不支持IE或IE内核的浏览器，建议您使用火狐浏览器、谷歌浏览器或微软的Edge浏览器（Windows10自带）');\n</script>\n{{ APP }}\n</body>\n</html>\n"
  },
  {
    "path": "frontend/assets/README.md",
    "content": "# ASSETS\n\nThis directory contains your un-compiled assets such as LESS, SASS, or JavaScript.\n\nMore information about the usage of this directory in the documentation:\nhttps://nuxtjs.org/guide/assets#webpacked\n\n**This directory is not required, you can delete it if you don't want to use it.**\n"
  },
  {
    "path": "frontend/assets/style/app.scss",
    "content": "@import \"~vuetify/src/styles/styles.sass\";\n\n// override default font\n$body-font-family: \"Noto Serif SC\", sans-serif;\n$heading-font-family: $body-font-family;\n@each $heading, $style in $headings {\n  $headings: map-merge(\n    $headings,\n    (\n      $heading:\n        map-merge(\n          $style,\n          (\n            \"font-family\": $heading-font-family\n          )\n        )\n    )\n  );\n}\n\n// page transitions\n.page-enter-active,\n.page-leave-active {\n  transition: opacity 0.2s;\n}\n.page-enter,\n.page-leave-to {\n  opacity: 0;\n}\n\n@import \"~vuetify/src/styles/main.sass\";\n"
  },
  {
    "path": "frontend/babel.config.js",
    "content": "module.exports = api => {\n  const isTest = api.env('test')\n  if (!isTest) {\n    throw new Error('the config is only for jest test')\n  }\n\n  return {\n    plugins: [\n      '@babel/plugin-transform-runtime',\n    ],\n    presets: [['@babel/preset-env', { modules: false }]],\n    env: {\n      test: {\n        presets: [['@babel/preset-env', { targets: { node: 'current' } }]],\n      },\n    },\n  }\n}\n"
  },
  {
    "path": "frontend/base.Dockerfile",
    "content": "ARG CRAWLER_IMAGE\nARG NODE_BASE_IMAGE\n\n\nFROM ${CRAWLER_IMAGE} AS crawler\n\n\nFROM ${NODE_BASE_IMAGE}\n\nWORKDIR /var/project\n\nRUN apk add --no-cache make gcc g++ python3\n\nCOPY --from=crawler /var/project ../crawler\n\nCOPY package.json pnpm-lock.yaml .npmrc ./\nRUN pnpm install\n\nCOPY . .\n\nENV VERSION_NUM=development\nENV BUILD_TIME=0\nENV NODE_OPTIONS=--openssl-legacy-provider\n"
  },
  {
    "path": "frontend/components/GithubButton.vue",
    "content": "<template>\n  <v-tooltip\n    left\n    v-resize=\"onResize\"\n  >\n    <template #activator=\"{ on }\">\n      <v-btn\n        icon\n        v-on=\"on\"\n        href=\"https://github.com/Liu233w/acm-statistics\"\n        target=\"_blank\"\n        rel=\"noopener noreferrer\"\n        v-show=\"show\"\n      >\n        <v-icon medium>\n          mdi-github\n        </v-icon>\n      </v-btn>\n    </template>\n    <span>Star me on GitHub!</span>\n  </v-tooltip>\n</template>\n\n<script>\nexport default {\n  data() {\n    return {\n      show: true,\n    }\n  },\n  mounted() {\n    this.onResize()\n  },\n  methods: {\n    onResize() {\n      const width = window.innerWidth\n      if (width < 450) {\n        this.show = false\n      } else {\n        this.show = true\n      }\n    },\n  },\n}\n</script>\n"
  },
  {
    "path": "frontend/components/MessagePanel.vue",
    "content": "<template>\n  <v-expand-transition>\n    <v-card\n      v-show=\"show\"\n      class=\"message-panel\"\n    >\n      <v-slide-y-transition\n        group\n        tag=\"v-list\"\n        class=\"pa-0\"\n      >\n        <v-list-item\n          v-for=\"(item,i) in list\"\n          :key=\"item.id\"\n          class=\"pa-0\"\n        >\n          <v-alert\n            dismissible\n            :dense=\"!oneItem\"\n            :type=\"item.type\"\n            @input=\"closeOne(i)\"\n            :class=\"{ 'mb-0': oneItem, 'mb-1': !oneItem }\"\n          >\n            {{ item.message }}\n          </v-alert>\n        </v-list-item>\n      </v-slide-y-transition>\n      <v-card-actions\n        v-if=\"!oneItem\"\n        class=\"pt-0\"\n      >\n        <v-spacer />\n        <v-btn\n          text\n          color=\"primary\"\n          @click=\"close\"\n        >\n          close\n        </v-btn>\n      </v-card-actions>\n    </v-card>\n  </v-expand-transition>\n</template>\n\n<script>\nimport { mapGetters, mapState } from 'vuex'\n\nexport default {\n\n  computed: {\n    ...mapState('message', [\n      'list',\n    ]),\n    ...mapGetters('message', [\n      'top',\n    ]),\n    show() {\n      return this.$store.getters['message/show']\n    },\n    oneItem() {\n      return this.list.length <= 1\n    },\n  },\n\n  methods: {\n    close() {\n      this.$store.commit('message/clear')\n    },\n    closeOne(i) {\n      this.$store.commit('message/remove', i)\n    },\n  },\n}\n</script>\n\n<style scoped>\n.message-panel {\n  position: fixed;\n  z-index: 1000;\n  top: 10px;\n\n  left: 50%;\n  transform: translateX(-50%);\n\n  transition: flex 0.3s ease-out;\n}\n</style>\n"
  },
  {
    "path": "frontend/components/README.md",
    "content": "# COMPONENTS\n\nThe components directory contains your Vue.js Components.\nNuxt.js doesn't supercharge these components.\n\n**This directory is not required, you can delete it if you don't want to use it.**\n"
  },
  {
    "path": "frontend/components/ResultOverlay.vue",
    "content": "<template>\n  <v-overlay\n    :absolute=\"true\"\n    :value=\"value\"\n  >\n    <v-chip\n      :color=\"value.color\"\n      v-if=\"value\"\n      @click=\"$emit('click')\"\n    >\n      {{ value.message }}\n    </v-chip>\n  </v-overlay>\n</template>\n\n<script>\nexport default {\n  props: {\n    value: {\n      // { color: String, message: String }\n      type: Object,\n      default: null,\n    },\n  },\n}\n</script>\n"
  },
  {
    "path": "frontend/components/UserStatus.vue",
    "content": "<template>\n  <v-tooltip bottom>\n    <template #activator=\"{ on }\">\n      <v-btn\n        text\n        @click=\"clicked\"\n        v-on=\"on\"\n      >\n        <v-icon\n          left\n          v-show=\"!session.login\"\n        >\n          mdi-login\n        </v-icon> {{ title }}\n      </v-btn>\n    </template>\n    {{ tooltip }}\n  </v-tooltip>\n</template>\n\n<script>\nexport default {\n  computed: {\n    session() {\n      return this.$store.state.session\n    },\n    title() {\n      if (this.session.login) {\n        return this.session.username\n      } else {\n        return 'login'\n      }\n    },\n    tooltip() {\n      if (this.session.login) {\n        return 'Enter settings'\n      } else {\n        return 'Click to login'\n      }\n    },\n  },\n  methods: {\n    async clicked() {\n      if (this.session.login) {\n        this.$router.push('/settings')\n      } else {\n        this.$router.push({\n          path: '/login',\n          query: {\n            redirect: this.$route.path,\n          },\n        })\n      }\n    },\n  },\n}\n</script>\n"
  },
  {
    "path": "frontend/components/WorkerCard.vue",
    "content": "<template>\n  <v-card>\n    <v-app-bar\n      flat\n      dense\n      elevation=\"0\"\n      class=\"blue-grey lighten-5\"\n    >\n      <v-toolbar-title :title=\"crawlerTitle\">\n        {{ crawlerTitle }}\n      </v-toolbar-title>\n      <v-spacer />\n      <v-toolbar-items>\n        <v-tooltip\n          bottom\n          v-if=\"workerNum >= 2\"\n        >\n          <template #activator=\"{ on }\">\n            <v-btn\n              icon\n              v-on=\"on\"\n              @click=\"removeWorker\"\n            >\n              <v-icon>mdi-delete-outline</v-icon>\n            </v-btn>\n          </template>\n          <span>\n            Remove this worker\n          </span>\n        </v-tooltip>\n        <v-tooltip\n          bottom\n          v-if=\"myWorkerIdxOfCrawler == workerNum\"\n        >\n          <template #activator=\"{ on }\">\n            <v-btn\n              icon\n              v-on=\"on\"\n              @click=\"addWorker\"\n            >\n              <v-icon>mdi-plus-circle-outline</v-icon>\n            </v-btn>\n          </template>\n          <span>\n            Add a new worker for the crawler\n          </span>\n        </v-tooltip>\n        <v-tooltip\n          bottom\n          v-if=\"crawlerUrl\"\n        >\n          <template #activator=\"{ on }\">\n            <v-btn\n              icon\n              v-on=\"on\"\n              @click=\"openOj\"\n            >\n              <v-icon>mdi-open-in-new</v-icon>\n            </v-btn>\n          </template>\n          <span>\n            Enter OJ website\n          </span>\n        </v-tooltip>\n        <v-fade-transition>\n          <v-tooltip\n            bottom\n            v-if=\"worker.status === WORKER_STATUS.WORKING\"\n          >\n            <template #activator=\"{ on }\">\n              <v-btn\n                icon\n                v-on=\"on\"\n                @click=\"stopWorker\"\n              >\n                <v-icon>mdi-stop</v-icon>\n              </v-btn>\n            </template>\n            <span>Cancel query</span>\n          </v-tooltip>\n          <v-tooltip\n            bottom\n            v-else\n          >\n            <template #activator=\"{ on }\">\n              <v-btn\n                icon\n                v-on=\"on\"\n                @click=\"startWorker\"\n              >\n                <v-icon>mdi-refresh</v-icon>\n              </v-btn>\n            </template>\n            <span>Re-query</span>\n          </v-tooltip>\n        </v-fade-transition>\n      </v-toolbar-items>\n    </v-app-bar>\n    <v-container>\n      <v-layout>\n        <v-flex xs12>\n          <span\n            class=\"grey--text\"\n            v-if=\"crawlerDescription\"\n          >\n            {{ crawlerDescription }}\n          </span>\n        </v-flex>\n      </v-layout>\n      <v-layout wrap>\n        <v-flex xs12>\n          <v-text-field\n            v-model=\"username\"\n            label=\"Username\"\n            :disabled=\"worker.status === WORKER_STATUS.WORKING\"\n            required\n            @keyup.enter=\"startWorker\"\n            :loading=\"worker.status === WORKER_STATUS.WORKING\"\n            clearable\n          />\n        </v-flex>\n      </v-layout>\n      <template v-if=\"warnings\">\n        <v-layout\n          xs12\n          v-for=\"item in warnings\"\n          :key=\"item\"\n        >\n          <v-flex\n            align-self-start\n            shrink\n          >\n            <v-icon color=\"orange darken-2\">\n              mdi-alert\n            </v-icon>\n          </v-flex>\n          <v-flex align-self-start>\n            <span>{{ item }}</span>\n          </v-flex>\n        </v-layout>\n      </template>\n      <template v-if=\"worker.status === WORKER_STATUS.DONE\">\n        <v-layout\n          xs12\n          v-if=\"worker.errorMessage\"\n        >\n          <v-flex\n            align-self-start\n            shrink\n          >\n            <v-icon color=\"red\">\n              mdi-alert-circle\n            </v-icon>\n          </v-flex>\n          <v-flex align-self-start>\n            <span>{{ worker.errorMessage }}</span>\n          </v-flex>\n        </v-layout>\n        <v-layout\n          column\n          xs12\n          v-else\n        >\n          <v-flex>\n            <span class=\"grey--text text-body-2\">\n              SOLVED:\n            </span>\n            <template v-if=\"solvedListStatus === 'none'\">\n              {{ worker.solved }}\n            </template>\n            <v-tooltip\n              bottom\n              v-else\n            >\n              <template #activator=\"tip\">\n                <a\n                  v-on=\"tip.on\"\n                  @click=\"solvedListDialog = true\"\n                >\n                  {{ worker.solved }}\n                </a>\n              </template>\n              <span>Open AC problem list</span>\n            </v-tooltip>\n          </v-flex>\n          <v-flex>\n            <span class=\"grey--text text-body-2\">\n              SUBMISSIONS:\n            </span>\n            {{ worker.submissions }}\n          </v-flex>\n        </v-layout>\n      </template>\n    </v-container>\n\n    <v-dialog\n      v-model=\"solvedListDialog\"\n      max-width=\"500\"\n      scrollable\n    >\n      <v-card\n        xs12\n        md8\n        lg6\n      >\n        <v-card-title>\n          <span class=\"text-h5\">\n            AC problem list of {{ worker.username }} in {{ crawler.title }}\n          </span>\n        </v-card-title>\n        <v-card-text v-if=\"solvedListStatus === 'empty'\">\n          There are no AC problems.\n        </v-card-text>\n        <v-card-text v-else-if=\"solvedListStatus === 'none'\">\n          AC problem list is not supported by the crawler.\n        </v-card-text>\n        <v-card-text v-else-if=\"solvedListDialog\">\n          <v-chip\n            v-for=\"item in prettifiedSolvedList\"\n            :key=\"item\"\n            class=\"ma-1\"\n          >\n            {{ item }}\n          </v-chip>\n        </v-card-text>\n        <v-divider />\n        <v-card-actions>\n          <v-btn\n            color=\"blue darken-1\"\n            text\n            @click=\"solvedListDialog = false\"\n          >\n            Close\n          </v-btn>\n        </v-card-actions>\n      </v-card>\n    </v-dialog>\n  </v-card>\n</template>\n\n<script>\nimport { mapGetters } from 'vuex'\nimport _ from 'lodash'\n\nimport { WORKER_STATUS } from '~/components/consts'\nimport { warningHelper, mapVirtualJudgeProblemTitle } from '~/components/statisticsUtils'\nimport { delay } from '~/components/utils'\n\nexport default {\n  name: 'CrawlerCard',\n  props: {\n    index: {\n      type: Number,\n      required: true,\n    },\n  },\n  data() {\n    return {\n      WORKER_STATUS: WORKER_STATUS,\n      solvedListDialog: false,\n      previousHeight: null,\n    }\n  },\n  async mounted() {\n    // don't know why, but when init, the offsetHeight may be larger\n    // than real height\n    do {\n      await delay(100)\n    } while (this.$el.offsetHeight >= 500)\n    this.updateHeight()\n\n    // force update height to report the real height\n    await delay(1000)\n    this.updateHeight()\n  },\n  destroyed() {\n    this.$emit('update-height', 0)\n  },\n  methods: {\n    openOj() {\n      window.open(this.crawlerUrl)\n    },\n    startWorker() {\n      this.$store.dispatch('statistics/startOne', { index: this.index })\n    },\n    stopWorker() {\n      this.$store.dispatch('statistics/stopOne', { index: this.index })\n    },\n    addWorker() {\n      this.$store.dispatch('statistics/addWorkerForCrawler', { crawlerName: this.crawlerName })\n    },\n    removeWorker() {\n      this.$store.dispatch('statistics/removeWorkerAtIndex', { index: this.index })\n    },\n    async updateHeight() {\n      await this.$nextTick()\n      const currentHeight = this.$el.offsetHeight\n      if (currentHeight !== this.previousHeight) {\n        this.$emit('update-height', currentHeight)\n        this.previousHeight = currentHeight\n      }\n    },\n  },\n  watch: {\n    warnings() {\n      this.updateHeight()\n    },\n    workerStatus() {\n      this.updateHeight()\n    },\n  },\n  computed: {\n    ...mapGetters('statistics', [\n      'workerNumberOfCrawler',\n      'workerIdxOfCrawler',\n      'nullSolvedListCrawlers',\n    ]),\n    worker() {\n      return this.$store.state.statistics.workers[this.index]\n    },\n    crawlerName() {\n      return this.worker.crawlerName\n    },\n    crawler() {\n      return this.$store.state.statistics.crawlers[this.crawlerName]\n    },\n    crawlerTitle() {\n      return this.crawler.title\n    },\n    crawlerDescription() {\n      return this.crawler.description\n    },\n    crawlerUrl() {\n      return this.crawler.url\n    },\n    username: {\n      get() {\n        return this.worker.username\n      },\n      set: _.debounce(function(username) {\n        this.$store.dispatch('statistics/updateUsername', {\n          index: this.index,\n          username,\n        })\n      }, 300),\n    },\n    workerNum() {\n      return this.workerNumberOfCrawler[this.crawlerName]\n    },\n    myWorkerIdxOfCrawler() {\n      return this.workerIdxOfCrawler[this.index]\n    },\n    warnings() {\n      return warningHelper(this.worker, this.crawler, {\n        nullSolvedListCrawlers: this.nullSolvedListCrawlers,\n        workerNumberOfCrawler: this.workerNumberOfCrawler,\n      })\n    },\n    solvedListStatus() {\n      if (_.isArray(this.worker.solvedList)) {\n        if (this.worker.solvedList.length > 0) {\n          return 'list'\n        } else {\n          return 'empty'\n        }\n      } else {\n        return 'none'\n      }\n    },\n    prettifiedSolvedList() {\n\n      if (this.worker.solvedList == null) {\n        return null\n      }\n\n      let res\n      if (this.crawler.virtual_judge) {\n        res = mapVirtualJudgeProblemTitle(\n          this.worker.solvedList,\n          this.$store.state.statistics.crawlers)\n      } else {\n        res = _.map(this.worker.solvedList, item => `${this.crawler.title}-${item}`)\n      }\n\n      // Freeze the list to improve performance, because vue will not create proxy\n      // for each element\n      // see https://vuejs.org/v2/guide/instance.html#Data-and-Methods\n      // and https://vuedose.tips/tips/improve-performance-on-large-lists-in-vue-js/\n      return Object.freeze(res)\n    },\n    // only used in watch\n    workerStatus() {\n      return this.worker.status\n    },\n  },\n}\n</script>\n"
  },
  {
    "path": "frontend/components/consts.js",
    "content": "export const WORKER_STATUS = {\n  WAITING: 'WAITING',\n  WORKING: 'WORKING',\n  DONE: 'DONE',\n}\n\nexport const PROJECT_TITLE = 'OJ Analyzer'\n\nexport const TIMEZONE_LIST = [\n  { value: 'UTC', text: '(GMT) UTC' },\n  { value: 'Morocco Standard Time', text: '(GMT) Casablanca' },\n  { value: 'GMT Standard Time', text: '(GMT) Greenwich Mean Time : Dublin, Edinburgh, Lisbon, London' },\n  { value: 'Greenwich Standard Time', text: '(GMT) Monrovia, Reykjavik' },\n  { value: 'W. Europe Standard Time', text: '(GMT+01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna' },\n  { value: 'Central Europe Standard Time', text: '(GMT+01:00) Belgrade, Bratislava, Budapest, Ljubljana, Prague' },\n  { value: 'Romance Standard Time', text: '(GMT+01:00) Brussels, Copenhagen, Madrid, Paris' },\n  { value: 'Central European Standard Time', text: '(GMT+01:00) Sarajevo, Skopje, Warsaw, Zagreb' },\n  { value: 'W. Central Africa Standard Time', text: '(GMT+01:00) West Central Africa' },\n  { value: 'Jordan Standard Time', text: '(GMT+02:00) Amman' },\n  { value: 'GTB Standard Time', text: '(GMT+02:00) Athens, Bucharest, Istanbul' },\n  { value: 'Middle East Standard Time', text: '(GMT+02:00) Beirut' },\n  { value: 'Egypt Standard Time', text: '(GMT+02:00) Cairo' },\n  { value: 'South Africa Standard Time', text: '(GMT+02:00) Harare, Pretoria' },\n  { value: 'FLE Standard Time', text: '(GMT+02:00) Helsinki, Kyiv, Riga, Sofia, Tallinn, Vilnius' },\n  { value: 'Israel Standard Time', text: '(GMT+02:00) Jerusalem' },\n  { value: 'E. Europe Standard Time', text: '(GMT+02:00) Minsk' },\n  { value: 'Namibia Standard Time', text: '(GMT+02:00) Windhoek' },\n  { value: 'Arabic Standard Time', text: '(GMT+03:00) Baghdad' },\n  { value: 'Arab Standard Time', text: '(GMT+03:00) Kuwait, Riyadh' },\n  { value: 'Russian Standard Time', text: '(GMT+03:00) Moscow, St. Petersburg, Volgograd' },\n  { value: 'E. Africa Standard Time', text: '(GMT+03:00) Nairobi' },\n  { value: 'Georgian Standard Time', text: '(GMT+03:00) Tbilisi' },\n  { value: 'Iran Standard Time', text: '(GMT+03:30) Tehran' },\n  { value: 'Arabian Standard Time', text: '(GMT+04:00) Abu Dhabi, Muscat' },\n  { value: 'Azerbaijan Standard Time', text: '(GMT+04:00) Baku' },\n  { value: 'Mauritius Standard Time', text: '(GMT+04:00) Port Louis' },\n  { value: 'Caucasus Standard Time', text: '(GMT+04:00) Yerevan' },\n  { value: 'Afghanistan Standard Time', text: '(GMT+04:30) Kabul' },\n  { value: 'Ekaterinburg Standard Time', text: '(GMT+05:00) Ekaterinburg' },\n  { value: 'Pakistan Standard Time', text: '(GMT+05:00) Islamabad, Karachi' },\n  { value: 'West Asia Standard Time', text: '(GMT+05:00) Tashkent' },\n  { value: 'India Standard Time', text: '(GMT+05:30) Chennai, Kolkata, Mumbai, New Delhi' },\n  { value: 'Sri Lanka Standard Time', text: '(GMT+05:30) Sri Jayawardenepura' },\n  { value: 'Nepal Standard Time', text: '(GMT+05:45) Kathmandu' },\n  { value: 'N. Central Asia Standard Time', text: '(GMT+06:00) Almaty, Novosibirsk' },\n  { value: 'Central Asia Standard Time', text: '(GMT+06:00) Astana, Dhaka' },\n  { value: 'Myanmar Standard Time', text: '(GMT+06:30) Yangon (Rangoon)' },\n  { value: 'SE Asia Standard Time', text: '(GMT+07:00) Bangkok, Hanoi, Jakarta' },\n  { value: 'North Asia Standard Time', text: '(GMT+07:00) Krasnoyarsk' },\n  { value: 'China Standard Time', text: '(GMT+08:00) Beijing, Chongqing, Hong Kong, Urumqi' },\n  { value: 'North Asia East Standard Time', text: '(GMT+08:00) Irkutsk, Ulaan Bataar' },\n  { value: 'Singapore Standard Time', text: '(GMT+08:00) Kuala Lumpur, Singapore' },\n  { value: 'W. Australia Standard Time', text: '(GMT+08:00) Perth' },\n  { value: 'Taipei Standard Time', text: '(GMT+08:00) Taipei' },\n  { value: 'Tokyo Standard Time', text: '(GMT+09:00) Osaka, Sapporo, Tokyo' },\n  { value: 'Korea Standard Time', text: '(GMT+09:00) Seoul' },\n  { value: 'Yakutsk Standard Time', text: '(GMT+09:00) Yakutsk' },\n  { value: 'Cen. Australia Standard Time', text: '(GMT+09:30) Adelaide' },\n  { value: 'AUS Central Standard Time', text: '(GMT+09:30) Darwin' },\n  { value: 'E. Australia Standard Time', text: '(GMT+10:00) Brisbane' },\n  { value: 'AUS Eastern Standard Time', text: '(GMT+10:00) Canberra, Melbourne, Sydney' },\n  { value: 'West Pacific Standard Time', text: '(GMT+10:00) Guam, Port Moresby' },\n  { value: 'Tasmania Standard Time', text: '(GMT+10:00) Hobart' },\n  { value: 'Vladivostok Standard Time', text: '(GMT+10:00) Vladivostok' },\n  { value: 'Central Pacific Standard Time', text: '(GMT+11:00) Magadan, Solomon Is., New Caledonia' },\n  { value: 'New Zealand Standard Time', text: '(GMT+12:00) Auckland, Wellington' },\n  { value: 'Fiji Standard Time', text: '(GMT+12:00) Fiji, Kamchatka, Marshall Is.' },\n  { value: 'Tonga Standard Time', text: '(GMT+13:00) Nuku\\'alofa' },\n  { value: 'Azores Standard Time', text: '(GMT-01:00) Azores' },\n  { value: 'Cape Verde Standard Time', text: '(GMT-01:00) Cape Verde Is.' },\n  { value: 'Mid-Atlantic Standard Time', text: '(GMT-02:00) Mid-Atlantic' },\n  { value: 'E. South America Standard Time', text: '(GMT-03:00) Brasilia' },\n  { value: 'Argentina Standard Time', text: '(GMT-03:00) Buenos Aires' },\n  { value: 'SA Eastern Standard Time', text: '(GMT-03:00) Georgetown' },\n  { value: 'Greenland Standard Time', text: '(GMT-03:00) Greenland' },\n  { value: 'Montevideo Standard Time', text: '(GMT-03:00) Montevideo' },\n  { value: 'Newfoundland Standard Time', text: '(GMT-03:30) Newfoundland' },\n  { value: 'Atlantic Standard Time', text: '(GMT-04:00) Atlantic Time (Canada)' },\n  { value: 'SA Western Standard Time', text: '(GMT-04:00) La Paz' },\n  { value: 'Central Brazilian Standard Time', text: '(GMT-04:00) Manaus' },\n  { value: 'Pacific SA Standard Time', text: '(GMT-04:00) Santiago' },\n  { value: 'Venezuela Standard Time', text: '(GMT-04:30) Caracas' },\n  { value: 'SA Pacific Standard Time', text: '(GMT-05:00) Bogota, Lima, Quito, Rio Branco' },\n  { value: 'Eastern Standard Time', text: '(GMT-05:00) Eastern Time (US & Canada)' },\n  { value: 'US Eastern Standard Time', text: '(GMT-05:00) Indiana (East)' },\n  { value: 'Central America Standard Time', text: '(GMT-06:00) Central America' },\n  { value: 'Central Standard Time', text: '(GMT-06:00) Central Time (US & Canada)' },\n  { value: 'Central Standard Time (Mexico)', text: '(GMT-06:00) Guadalajara, Mexico City, Monterrey' },\n  { value: 'Canada Central Standard Time', text: '(GMT-06:00) Saskatchewan' },\n  { value: 'US Mountain Standard Time', text: '(GMT-07:00) Arizona' },\n  { value: 'Mountain Standard Time (Mexico)', text: '(GMT-07:00) Chihuahua, La Paz, Mazatlan' },\n  { value: 'Mountain Standard Time', text: '(GMT-07:00) Mountain Time (US & Canada)' },\n  { value: 'Pacific Standard Time', text: '(GMT-08:00) Pacific Time (US & Canada)' },\n  { value: 'Pacific Standard Time (Mexico)', text: '(GMT-08:00) Tijuana, Baja California' },\n  { value: 'Alaskan Standard Time', text: '(GMT-09:00) Alaska' },\n  { value: 'Hawaiian Standard Time', text: '(GMT-10:00) Hawaii' },\n  { value: 'Samoa Standard Time', text: '(GMT-11:00) Midway Island, Samoa' },\n  { value: 'Dateline Standard Time', text: '(GMT-12:00) International Date Line West' },\n]\n"
  },
  {
    "path": "frontend/components/rulesMixin.js",
    "content": "export default {\n  data() {\n    return {\n      rules: {\n        required: value => !!value || 'Required',\n        email: value => /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/\n          .test(value) || 'Please enter a valid email address.',\n        // from http://regexlib.com/REDetails.aspx?regexp_id=1923\n        password: value => /(?=^.{8,}$)(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])(?!.*\\s)[0-9a-zA-Z!@#$%^&*()]*$/\n          .test(value) || 'Passwords must be at least 8 characters, contain a lowercase, uppercase, and number.',\n      },\n    }\n  },\n}\n"
  },
  {
    "path": "frontend/components/statisticsLayoutBuilder.js",
    "content": "/**\n * 确定查题页面中 worker 的排列方式。使用竖向排列：\n * 1 5 9\n * 2 6 10\n * 3 7\n * 4 8\n *\n * 多余的会从第一列向后补充\n * @param workers {Array<{Object}>}\n * @param columnNum {number}\n */\nexport default function (workers, columnNum) {\n  const length = workers.length\n  const maxItemNumberInColumn = Math.ceil(length / columnNum)\n\n  const layout = new Array(columnNum)\n\n  let i = 0\n\n  // 填充除了最后一列之外的其他列\n  for (let column = 0; column < columnNum - 1; ++column) {\n\n    // 填充一列（这时候即使遍历完所有除了最后一列之外的列，也不可能用完 worker）\n    layout[column] = new Array(maxItemNumberInColumn)\n    for (let j = 0; j < maxItemNumberInColumn; ++j) {\n      layout[column][j] = i\n      ++i\n    }\n  }\n\n  // 填充剩余的 worker （此时worker数量一定小于总体的列数）\n  layout[columnNum - 1] = []\n  for (; i < length; ++i) {\n    layout[columnNum - 1].push(i)\n  }\n\n  return layout\n}\n"
  },
  {
    "path": "frontend/components/statisticsUtils.js",
    "content": "import _ from 'lodash'\n\n/**\n * 根据 worker 信息生成对应的警告\n * @param worker\n * @param crawlerMeta\n * @param nullSolvedListCrawlers\n * @param workerNumberOfCrawler\n * @return {Array<string>}\n */\nexport function warningHelper(worker, crawlerMeta, {nullSolvedListCrawlers, workerNumberOfCrawler}) {\n  const warnings = []\n\n  if (_.startsWith(worker.username, ' ')) {\n    warnings.push('Your username begins with a space.')\n  }\n\n  if (_.includes(worker.username, ' ')) {\n    warnings.push('Your username includes space, which may not be supported by some crawlers.')\n  }\n\n  if (crawlerMeta.virtual_judge && worker.solvedList) {\n\n    const allCrawlerNames = new Set(_.map(\n      worker.solvedList,\n      item => _.split(item, '-', 2)[0]))\n\n    for (let item of allCrawlerNames) {\n      if (item in nullSolvedListCrawlers) {\n        warnings.push(`Crawler ${nullSolvedListCrawlers[item]} did not return AC problem list, its result may overlap with this crawler's`)\n      }\n    }\n  }\n\n  if (!crawlerMeta.virtual_judge\n    && worker.solvedList === null\n    && workerNumberOfCrawler[worker.crawlerName] >= 2) {\n\n    warnings.push('This crawler did not return AC problem list, so the same problem in different OJs can be recognized as different problems.')\n  }\n\n  if (!_.isNil(worker.solvedList)\n    && worker.solvedList.length !== worker.solved) {\n    warnings.push(`The solved number of this crawler is ${worker.solved}, however, there are ${worker.solvedList.length}` +\n      ' problems in the solved list, which can be an error of the crawler.')\n  }\n\n  return warnings\n}\n\n/**\n * 在 vjudge 中，如果返回的 ac 题目列表包含了支持的爬虫，将其名称换成 爬虫的 title，否则保留原来的名称\n * @param {String[]} solvedList\n * @param {{title: String}} crawlers\n * @return {String[]}\n */\nexport function mapVirtualJudgeProblemTitle(solvedList, crawlers) {\n\n  return _.map(solvedList, item => {\n    const [oj, problem] = _.split(item, '-', 2)\n    if (oj in crawlers) {\n      return `${crawlers[oj].title}-${problem}`\n    } else {\n      return item\n    }\n  })\n}\n"
  },
  {
    "path": "frontend/components/utils.js",
    "content": "import _ from 'lodash'\n\n/**\n * 从 linux 格式的 timestamp（精确到秒）生成 javascript 的 Date 格式的对象\n * @param {string} timestamp\n * @return {Date}\n */\nexport function getDateFromTimestamp(timestamp) {\n  return new Date(parseInt(timestamp) * 1000)\n}\n\n/**\n * 从axios访问abp的异常中找出错误信息\n * @param {Error} err axios抛出的异常\n */\nexport function getAbpErrorMessage(err) {\n  console.error(err)\n  return _.get(err, 'response.data.error.message', 'Network Error')\n}\n\n// from https://stackoverflow.com/a/39538518\nexport function delay(t, v) {\n  return new Promise(function (resolve) {\n    setTimeout(resolve.bind(null, v), t)\n  })\n}\n\n"
  },
  {
    "path": "frontend/configs/sensitive-url-router.js",
    "content": "const { sortRoutes } = require('@nuxt/utils')\n\nconst sensitiveRoutes = [\n  '/index.html',\n  '/index.php',\n  '/index.jsp',\n  '/admin/',\n  '/wp-login.php',\n  '/readme.html',\n  '/license.txt',\n  '/wp-includes/js/wplink.js',\n  '/wp-admin/js/customize-controls.js',\n  '/wp-admin/js/nav-menu.js',\n  '/wp-includes/js/plupload',\n  '/wp-includes/js/tinymce/',\n  '/README',\n  '/phpMyAdmin/',\n  '/phpmyadmin/',\n  '/pma/',\n  '/solr/',\n  '/wcm/',\n  '/swagger/elpsycongroo',\n  '/ZeroClipboard.swf',\n  '/js/ZeroClipboard.swf',\n  '/script/ZeroClipboard.swf',\n  '/lib/ZeroClipboard.swf',\n  '/api.php',\n  '/checktable.php',\n  '/theme/default/images/kindeditor/save.gif',\n  '/js/kindeditor/Makefile',\n  '/theme/default/images/treeview/file.gif',\n  '/js/jquery/treeview/min.js',\n  '/theme/default/images/main/logo.png',\n  '/js/jquery/syntaxhighlighter/scripts/shBrushPlain.js',\n  '/theme/default/style.css',\n  '/js/my.full.js',\n  '/theme/zui/fonts/zenicon.eot',\n  '/README.md',\n]\n\nmodule.exports = function (routes, resolve) {\n  for (let route of sensitiveRoutes) {\n    routes.push({\n      path: route,\n      component: resolve(__dirname, '../pages/jojo.vue'),\n    })\n  }\n\n  sortRoutes(routes)\n}\n"
  },
  {
    "path": "frontend/layouts/README.md",
    "content": "# LAYOUTS\n\nThis directory contains your Application Layouts.\n\nMore information about the usage of this directory in the documentation:\nhttps://nuxtjs.org/guide/views#layouts\n\n**This directory is not required, you can delete it if you don't want to use it.**\n"
  },
  {
    "path": "frontend/layouts/default.vue",
    "content": "<template>\n  <v-app>\n    <v-navigation-drawer\n      v-model=\"drawer\"\n      fixed\n      app\n    >\n      <v-list>\n        <v-list-item\n          nuxt\n          :to=\"item.to\"\n          :key=\"i\"\n          v-for=\"(item, i) in items\"\n          exact\n        >\n          <v-list-item-action>\n            <v-icon>{{ item.icon }}</v-icon>\n          </v-list-item-action>\n          <v-list-item-content>\n            <v-list-item-title>{{ item.title }}</v-list-item-title>\n          </v-list-item-content>\n        </v-list-item>\n      </v-list>\n    </v-navigation-drawer>\n    <v-app-bar\n      app\n      absolute\n    >\n      <v-app-bar-nav-icon @click=\"drawer = !drawer\" />\n      <v-slide-x-transition>\n        <div v-if=\"topBarBeforeTitle\">\n          <component :is=\"topBarBeforeTitle\" />\n        </div>\n      </v-slide-x-transition>\n      <v-toolbar-title>{{ title }}</v-toolbar-title>\n      <v-slide-x-transition>\n        <v-divider\n          v-if=\"topBarAfterTitle\"\n          inset\n          vertical\n        />\n      </v-slide-x-transition>\n      <v-slide-x-transition>\n        <div v-if=\"topBarAfterTitle\">\n          <component :is=\"topBarAfterTitle\" />\n        </div>\n      </v-slide-x-transition>\n      <v-spacer />\n      <v-slide-x-transition>\n        <div v-if=\"topBarBeforeUserName\">\n          <component :is=\"topBarBeforeUserName\" />\n        </div>\n      </v-slide-x-transition>\n      <v-slide-x-transition>\n        <v-divider\n          v-if=\"topBarBeforeUserName\"\n          inset\n          vertical\n        />\n      </v-slide-x-transition>\n      <user-status />\n      <github-button />\n    </v-app-bar>\n    <v-content>\n      <nuxt />\n    </v-content>\n    <v-footer\n      app\n      inset\n      absolute\n    >\n      <span class=\"text-body-2\">&copy; 2018 - {{ buildYear }} Shumin Liu and Contributors</span>\n    </v-footer>\n    <message-panel />\n  </v-app>\n</template>\n\n<script>\nimport _ from 'lodash'\n\nimport { getDateFromTimestamp } from '~/components/utils'\nimport UserStatus from '~/components/UserStatus'\nimport GithubButton from '~/components/GithubButton'\nimport { PROJECT_TITLE } from '~/components/consts'\nimport MessagePanel from '~/components/MessagePanel'\n\nexport default {\n  components: {\n    UserStatus,\n    GithubButton,\n    MessagePanel,\n  },\n  provide() {\n    return {\n      changeLayoutConfig: this.changeLayoutConfig,\n    }\n  },\n  data() {\n    return {\n      drawer: null,\n      title: PROJECT_TITLE,\n      buildYear: getDateFromTimestamp(this.$env.BUILD_TIME).getFullYear(),\n      topBarBeforeTitle: null,\n      topBarAfterTitle: null,\n      topBarBeforeUserName: null,\n    }\n  },\n  watch: {\n    $route() {\n      this.changeLayoutConfig()\n    },\n  },\n  computed: {\n    items() {\n      const logined = this.$store.state.session.login\n      return _.filter(\n        [\n          { icon: 'mdi-home', title: 'Homepage', to: '/' },\n          { icon: 'mdi-code-tags', title: 'Statistics', to: '/statistics' },\n          { icon: 'mdi-history', title: 'History', to: '/history', needLogin: true },\n          { icon: 'mdi-cog', title: 'Settings', to: '/settings', needLogin: true },\n          { icon: 'mdi-information', title: 'About', to: '/about' },\n        ],\n        item => !item.needLogin || logined,\n      )\n    },\n  },\n  methods: {\n    changeLayoutConfig(config = {}) {\n      this.title = config.title || PROJECT_TITLE\n      this.topBarBeforeTitle = config.topBarBeforeTitle || null\n      this.topBarAfterTitle = config.topBarAfterTitle || null\n      this.topBarBeforeUserName = config.topBarBeforeUserName || null\n    },\n  },\n}\n</script>\n"
  },
  {
    "path": "frontend/layouts/error.vue",
    "content": "<template>\n  <v-app light>\n    <v-container class=\"fill-height\">\n      <v-row\n        class=\"mt-n12\"\n        justify=\"center\"\n      >\n        <v-col\n          class=\"text-center\"\n          cols=\"auto\"\n        >\n          <v-img\n            class=\"mb-12\"\n            contain\n            height=\"256\"\n            :src=\"randomMeme()\"\n          />\n          <h1 class=\"text-h1 font-weight-bold mb-6\">\n            ???\n          </h1>\n\n          <p class=\"mb-12 text-h4 grey--text text--darken-2\">\n            {{ message }}\n          </p>\n\n          <v-btn\n            color=\"primary\"\n            x-large\n            to=\"/\"\n          >\n            Go to home page\n\n            <v-icon right>\n              mdi-open-in-new\n            </v-icon>\n          </v-btn>\n        </v-col>\n      </v-row>\n    </v-container>\n  </v-app>\n</template>\n\n<script>\nimport _ from 'lodash'\n\nconst memes = [\n  '/img/error/cat.jpg',\n  '/img/error/metro.jpg',\n  '/img/error/man.jpg',\n]\n\nexport default {\n   props: {\n    error: {\n      type: Object,\n      default: null,\n    },\n  },\n  computed: {\n    message () {\n      return this.error.message || '????????'\n    },\n  },\n  layout: 'none',\n  methods: {\n    randomMeme() {\n      return memes[_.random(memes.length-1)]\n    },\n  },\n}\n</script>\n"
  },
  {
    "path": "frontend/layouts/login.vue",
    "content": "<template>\n  <v-app light>\n    <v-container class=\"fill-height\" fluid v-resize=\"onResize\">\n      <v-row align=\"center\" justify=\"center\">\n        <v-spacer />\n        <v-flex xs3 v-show=\"showBackground\">\n          <v-card height=\"500px\" class=\"background\" />\n        </v-flex>\n        <v-flex lg4 md5 sm7 xs12 d-flex class=\"grey lighten-4\">\n          <v-spacer />\n          <v-container class=\"text-center\">\n            <nuxt />\n          </v-container>\n          <v-spacer />\n        </v-flex>\n        <v-spacer />\n      </v-row>\n    </v-container>\n  </v-app>\n</template>\n\n<style scoped>\n.background {\n  background-image: url(\"~assets/img/login/background.jpg\");\n}\n</style>\n\n<script>\nexport default {\n  data() {\n    return {\n      showBackground: true,\n    }\n  },\n  mounted() {\n    this.onResize()\n  },\n  methods: {\n    onResize() {\n      const width = window.innerWidth\n      if (width < 900) {\n        this.showBackground = false // sm\n      } else {\n        this.showBackground = true // xl\n      }\n    },\n  },\n}\n</script>\n"
  },
  {
    "path": "frontend/layouts/none.vue",
    "content": "<template>\n  <nuxt />\n</template>\n"
  },
  {
    "path": "frontend/middleware/README.md",
    "content": "# MIDDLEWARE\n\nThis directory contains your Application Middleware.\nThe middleware lets you define custom function to be ran before rendering a page or a group of pages (layouts).\n\nMore information about the usage of this directory in the documentation:\nhttps://nuxtjs.org/guide/routing#middleware\n\n**This directory is not required, you can delete it if you don't want to use it.**\n"
  },
  {
    "path": "frontend/middleware/auth.js",
    "content": "/**\n * 用来管理页面访问的中间件\n * @param {Context} param0 nuxt context\n */\nexport default function ({ route, redirect, store }) {\n\n  switch (route.path) {\n\n    case '/login':\n    case '/register':\n      if (store.state.session.login) {\n        redirect('/settings')\n      }\n      break\n\n    case '/settings':\n      if (!store.state.session.login) {\n        redirect('/login')\n      }\n      break\n  }\n\n}\n"
  },
  {
    "path": "frontend/modules/crawlerLoader/README.md",
    "content": "crawlerLoader\n============================\n\n专门用来引入爬虫的库。\n\n## 引入原因\n\n由于需要让爬虫同时在前端和后端工作，且使用同一套源代码，\n本项目采用的方式是将爬虫的源代码在编译期间进行处理，然后作为 Plugin\n引入页面中。loader 对爬虫的源代码进行了特殊的处理，server_only\n的爬虫会被转换成一个对服务端的 ajax 请求，使用 axios 发送；其他爬虫使用\nsuperagent 直接在浏览器端发起爬取请求。\n\n本项目同时使用了两套 request 库（axios, superagent），axios专门用来向\n服务端发送 ajax 请求，superagent 只用在爬虫中。\n\n## 关于 `cors.js`\n\n由于浏览器端的爬虫需要绕过“跨域请求限制”，我对 superagent 进行了一些魔改，\n因此在前端的 superagent 只能用在爬虫上。 参见 [cors.js](./cors.js)\n\n我采用前端爬虫的原因就是为了减轻服务器的负担，使用 cors-proxy 把请求操作转移\n到别人的服务器上也不失为一种好办法_(:3」∠)_\n"
  },
  {
    "path": "frontend/modules/crawlerLoader/cors.js",
    "content": "/**\n * 魔改 superagent 以解决同源问题——使用 cors proxy\n */\n\nimport superagent from 'superagent'\n\nconst corsProxyUrl = 'https://cors.ojhunt.com/'\n\nconst getFunc = superagent.get\nconst postFunc = superagent.post\n\nsuperagent.get = function (url) {\n  // eslint-disable-next-line lodash/prefer-lodash-method\n  if (url.startsWith('/')) {\n    // 调用爬虫API\n    return getFunc(url)\n  } else {\n    return getFunc(corsProxyUrl + url)\n  }\n}\n\nsuperagent.post = function (url) {\n  // eslint-disable-next-line lodash/prefer-lodash-method\n  if (url.startsWith('/')) {\n    // 调用爬虫API\n    return postFunc(url)\n  } else {\n    return postFunc(corsProxyUrl + url)\n  }\n}\n"
  },
  {
    "path": "frontend/modules/crawlerLoader/index.js",
    "content": "const {readMetaConfigs, generateBrowserCrawlerFunctions} = require('crawler')\nconst path = require('path')\nconst fs = require('fs-extra')\nconst VirtualModulePlugin = require('webpack-virtual-modules')\n\nasync function buildSources() {\n  const corsModule = await fs.readFile(path.join(__dirname, 'cors.js'), 'utf-8')\n  let crawlersModule = `\n  /* eslint-disable */\n  ${corsModule}\n  export default () => {\n    const metas = ${JSON.stringify(await readMetaConfigs())};\n    const crawlers = {\n  `\n  const functions = await generateBrowserCrawlerFunctions()\n  for (let key in functions) {\n    crawlersModule += `${key}: ${functions[key]},\\n`\n  }\n  crawlersModule += `\n    }\n    return {\n      metas,\n      crawlers,\n    }\n  }`\n\n  return crawlersModule\n}\n\nmodule.exports = async function () {\n  this.options.build.plugins.push(new VirtualModulePlugin({\n    'dynamic/crawlers.js': await buildSources(),\n  }))\n}\n"
  },
  {
    "path": "frontend/nuxt.config.js",
    "content": "// eslint-disable-next-line no-unused-vars\nconst resolve = (dir) => require('path').join(__dirname, dir)\nconst _ = require('lodash')\n\nconst sensitiveRouter = require('./configs/sensitive-url-router')\n\nconst { readMetaConfigs } = require('crawler')\n\nmodule.exports = async () => ({\n  /*\n  ** Headers of the page\n  */\n  head: {\n    title: 'OJ Analyzer',\n    meta: [\n      { charset: 'utf-8' },\n      { name: 'viewport', content: 'width=device-width, initial-scale=1' },\n      {\n        hid: 'description', name: 'description', content: 'An online tool (crawler) to analyze users performance in online judges (coding competition websites). '\n          + 'Supported OJ: ' + _.map(await readMetaConfigs(), 'title').join(', '),\n      },\n    ],\n    link: [\n      { rel: 'icon', type: 'image/x-icon', href: '/favicon.ico' },\n      { rel: 'stylesheet', href: 'https://fonts.googleapis.com/css?family=Noto+Serif+SC:300,400,500,700' },\n    ],\n  },\n  plugins: [\n    '~/plugins/debug.js',\n    '~/plugins/font.js',\n    { src: '~/plugins/chartjs.js', mode: 'client' },\n  ],\n  css: [\n    '~/assets/style/app.scss',\n  ],\n  /*\n  ** Customize the progress bar color\n  */\n  loading: { color: '#3B8070' },\n  /*\n  ** Build configuration\n  */\n  build: {\n    babel: {\n      plugins: [\n        'lodash',\n      ],\n    },\n    extractCSS: true,\n    terser: {\n      terserOptions: {\n        compress: {\n          drop_console: true,\n        },\n      },\n    },\n  },\n  modules: [\n    '~/modules/crawlerLoader',\n    '@nuxtjs/component-cache',\n    ['nuxt-env', {\n      keys: ['VERSION_NUM', 'BUILD_TIME'],\n    }],\n    ['@nuxtjs/axios', {\n      baseURL: 'http://reverse-proxy',\n      browserBaseURL: '/',\n      debug: true,\n    }],\n  ],\n  buildModules: [\n    '@nuxtjs/eslint-module',\n    '@nuxtjs/vuetify',\n  ],\n  vuetify: {\n    optionsPath: './vuetify.options.js',\n  },\n  watchers: {\n    // 尽管这是文档里的默认值，但是不设置它的话并不会生效。估计这是一个bug\n    webpack: {\n      aggregateTimeout: 300,\n      poll: 1000,\n    },\n  },\n  router: {\n    extendRoutes: sensitiveRouter,\n    middleware: [\n      'auth',\n    ],\n  },\n})\n"
  },
  {
    "path": "frontend/package.json",
    "content": "{\n  \"name\": \"acm-statistics-frontend\",\n  \"version\": \"1.0.0\",\n  \"description\": \"ACM查题网站前端\",\n  \"author\": \"Liu233w <gh@liu233w.com>\",\n  \"private\": true,\n  \"scripts\": {\n    \"dev\": \"nuxt\",\n    \"build\": \"nuxt build\",\n    \"start\": \"nuxt start\",\n    \"generate\": \"nuxt generate\",\n    \"lint\": \"eslint --ext .js,.vue .\",\n    \"lintfix\": \"eslint --fix --ext .js,.vue .\",\n    \"analyze\": \"nuxt build --analyze\",\n    \"test\": \"jest __test__/\",\n    \"snapshot\": \"jest __test__/ --watch\"\n  },\n  \"dependencies\": {\n    \"@fortawesome/fontawesome-free\": \"6.7.2\",\n    \"@nuxtjs/axios\": \"5.13.6\",\n    \"@nuxtjs/component-cache\": \"1.1.6\",\n    \"@nuxtjs/vuetify\": \"1.12.3\",\n    \"chart.js\": \"3.9.1\",\n    \"cheerio\": \"1.0.0-rc.10\",\n    \"crawler\": \"link:../crawler\",\n    \"html2canvas\": \"1.4.1\",\n    \"js-cookie\": \"3.0.5\",\n    \"lodash\": \"4.17.23\",\n    \"nuxt\": \"2.16.3\",\n    \"nuxt-env\": \"0.1.0\",\n    \"stylus\": \"0.64.0\",\n    \"superagent\": \"8.1.2\",\n    \"vue-chartjs\": \"4.1.2\",\n    \"webpack-virtual-modules\": \"0.6.2\"\n  },\n  \"devDependencies\": {\n    \"@babel/core\": \"7.22.1\",\n    \"@babel/preset-env\": \"7.22.2\",\n    \"@mdi/font\": \"7.4.47\",\n    \"@nuxtjs/eslint-module\": \"4.1.0\",\n    \"@vue/test-utils\": \"1.3.6\",\n    \"@vue/vue2-jest\": \"29.2.6\",\n    \"babel-jest\": \"29.7.0\",\n    \"babel-plugin-lodash\": \"3.3.4\",\n    \"eslint\": \"8.57.1\",\n    \"eslint-plugin-jest\": \"27.9.0\",\n    \"eslint-plugin-lodash\": \"7.4.0\",\n    \"eslint-plugin-vue\": \"9.33.0\",\n    \"eslint-plugin-vuetify\": \"1.1.0\",\n    \"jest\": \"29.7.0\",\n    \"jest-environment-jsdom\": \"29.7.0\",\n    \"jest-serializer-vue\": \"3.1.0\",\n    \"stylus-loader\": \"7.1.3\",\n    \"typescript\": \"5.9.3\"\n  },\n  \"jest\": {\n    \"moduleFileExtensions\": [\n      \"js\",\n      \"json\",\n      \"vue\"\n    ],\n    \"snapshotSerializers\": [\n      \"jest-serializer-vue\"\n    ],\n    \"transform\": {\n      \"^.+\\\\.js$\": \"<rootDir>/node_modules/babel-jest\",\n      \".*\\\\.(vue)$\": \"@vue/vue2-jest\"\n    },\n    \"transformIgnorePatterns\": [\n      \"/node_modules/\"\n    ],\n    \"moduleNameMapper\": {\n      \"~(?!/dynamic)(.*)$\": \"<rootDir>/$1\"\n    },\n    \"coverageDirectory\": \"./coverage/\",\n    \"collectCoverage\": true\n  }\n}\n"
  },
  {
    "path": "frontend/pages/README.md",
    "content": "# PAGES\n\nThis directory contains your Application Views and Routes.\nThe framework reads all the .vue files inside this directory and creates the router of your application.\n\nMore information about the usage of this directory in the documentation:\nhttps://nuxtjs.org/guide/routing\n"
  },
  {
    "path": "frontend/pages/about.vue",
    "content": "<template>\n  <v-container>\n    <v-layout>\n      <v-flex\n        xs12\n        sm6\n        offset-sm3\n      >\n        <v-card class=\"my-2\">\n          <v-app-bar\n            color=\"light-blue\"\n            dark\n          >\n            <v-toolbar-title>About Us</v-toolbar-title>\n            <v-spacer />\n          </v-app-bar>\n          <v-list>\n            <v-list-item\n              href=\"https://github.com/Liu233w/acm-statistics/blob/master/README.md#contributors-\"\n              target=\"_blank\"\n              rel=\"noopener noreferrer\"\n            >\n              <v-list-item-content>\n                <v-list-item-title>Developed By</v-list-item-title>\n                <v-list-item-subtitle>Shumin Liu and Contributors</v-list-item-subtitle>\n              </v-list-item-content>\n              <v-list-item-action>\n                <v-icon class=\"grey--text\">\n                  mdi-open-in-new\n                </v-icon>\n              </v-list-item-action>\n            </v-list-item>\n            <v-list-item href=\"mailto:support@ojhunt.com\">\n              <v-list-item-action>\n                <v-icon class=\"blue--text text--lighten-2\">\n                  mdi-email\n                </v-icon>\n              </v-list-item-action>\n              <v-list-item-content>\n                <v-list-item-subtitle>support@ojhunt.com</v-list-item-subtitle>\n              </v-list-item-content>\n            </v-list-item>\n            <v-list-item\n              href=\"https://github.com/Liu233w/acm-statistics\"\n              target=\"_blank\"\n              rel=\"noopener noreferrer\"\n            >\n              <v-list-item-action>\n                <v-icon class=\"blue--text text--lighten-2\">\n                  mdi-github\n                </v-icon>\n              </v-list-item-action>\n              <v-list-item-content>\n                <v-list-item-subtitle>https://github.com/Liu233w/acm-statistics</v-list-item-subtitle>\n              </v-list-item-content>\n              <v-list-item-action>\n                <v-icon class=\"grey--text\">\n                  mdi-open-in-new\n                </v-icon>\n              </v-list-item-action>\n            </v-list-item>\n            <v-list-item\n              href=\"https://t.me/ojhunt\"\n              target=\"_blank\"\n              rel=\"noopener noreferrer\"\n            >\n              <v-list-item-action>\n                <v-icon class=\"blue--text text--lighten-2\">\n                  fab fa-telegram\n                </v-icon>\n              </v-list-item-action>\n              <v-list-item-content>\n                <v-list-item-subtitle>Telegram: https://t.me/ojhunt</v-list-item-subtitle>\n              </v-list-item-content>\n              <v-list-item-action>\n                <v-icon class=\"grey--text\">\n                  mdi-open-in-new\n                </v-icon>\n              </v-list-item-action>\n            </v-list-item>\n            <v-list-item\n              href=\"https://discord.gg/cQemBNNr\"\n              target=\"_blank\"\n              rel=\"noopener noreferrer\"\n            >\n              <v-list-item-action>\n                <v-icon class=\"blue--text text--lighten-2\">\n                  fab fa-discord\n                </v-icon>\n              </v-list-item-action>\n              <v-list-item-content>\n                <v-list-item-subtitle>Discord: OJ Analyzer Development</v-list-item-subtitle>\n              </v-list-item-content>\n              <v-list-item-action>\n                <v-icon class=\"grey--text\">\n                  mdi-open-in-new\n                </v-icon>\n              </v-list-item-action>\n            </v-list-item>\n          </v-list>\n        </v-card>\n        <v-card class=\"my-2\">\n          <v-app-bar\n            color=\"light-blue\"\n            dark\n          >\n            <v-toolbar-title>Development</v-toolbar-title>\n            <v-spacer />\n          </v-app-bar>\n          <v-list>\n            <v-list-item\n              href=\"/swagger\"\n              target=\"_blank\"\n              rel=\"noopener noreferrer\"\n            >\n              <v-list-item-action>\n                <v-icon class=\"blue--text text--lighten-2\">\n                  mdi-api\n                </v-icon>\n              </v-list-item-action>\n              <v-list-item-content>\n                <v-list-item-subtitle>API Document</v-list-item-subtitle>\n              </v-list-item-content>\n              <v-list-item-action>\n                <v-icon class=\"grey--text\">\n                  mdi-open-in-new\n                </v-icon>\n              </v-list-item-action>\n            </v-list-item>\n          </v-list>\n        </v-card>\n        <v-card class=\"my-2\">\n          <v-app-bar\n            color=\"light-blue\"\n            dark\n          >\n            <v-toolbar-title>Special Thanks To</v-toolbar-title>\n            <v-spacer />\n          </v-app-bar>\n          <v-list>\n            <v-list-item>\n              <v-list-item-content>\n                <v-list-item-title>西北工业大学ACM协会技术组</v-list-item-title>\n              </v-list-item-content>\n            </v-list-item>\n            <v-list-item>\n              <v-list-item-action>\n                <v-icon class=\"blue--text text--lighten-2\">\n                  mdi-map-marker\n                </v-icon>\n              </v-list-item-action>\n              <v-list-item-content>\n                <v-list-item-subtitle>陕西省西安市长安区西北工业大学长安校区计算机学院110室</v-list-item-subtitle>\n              </v-list-item-content>\n            </v-list-item>\n            <v-list-item\n              href=\"https://jq.qq.com/?_wv=1027&k=5qgzfQc\"\n              target=\"_blank\"\n              rel=\"noopener noreferrer\"\n            >\n              <v-list-item-action>\n                <v-icon class=\"blue--text text--lighten-2\">\n                  mdi-qqchat\n                </v-icon>\n              </v-list-item-action>\n              <v-list-item-content>\n                <v-list-item-subtitle>198820787</v-list-item-subtitle>\n              </v-list-item-content>\n            </v-list-item>\n            <v-list-item @click=\"dialog = !dialog\">\n              <v-list-item-action>\n                <v-icon class=\"blue--text text--lighten-2\">\n                  mdi-wechat\n                </v-icon>\n              </v-list-item-action>\n              <v-list-item-content>\n                <v-list-item-subtitle>微信公众号</v-list-item-subtitle>\n              </v-list-item-content>\n            </v-list-item>\n          </v-list>\n        </v-card>\n        <v-card class=\"my-2\">\n          <v-app-bar\n            color=\"light-blue\"\n            dark\n          >\n            <v-toolbar-title>System Info</v-toolbar-title>\n            <v-spacer />\n          </v-app-bar>\n          <v-list>\n            <v-list-item>\n              <v-list-item-content>\n                <v-list-item-title>Version</v-list-item-title>\n                <v-list-item-subtitle>{{ $env.VERSION_NUM }}</v-list-item-subtitle>\n              </v-list-item-content>\n            </v-list-item>\n\n            <v-list-item>\n              <v-list-item-content>\n                <v-list-item-title>Build time</v-list-item-title>\n                <v-list-item-subtitle>{{ buildTime }}</v-list-item-subtitle>\n              </v-list-item-content>\n            </v-list-item>\n\n            <v-list-item :href=\"`https://github.com/Liu233w/acm-statistics/tree/${$env.VERSION_NUM}`\">\n              <v-list-item-content>\n                <v-list-item-title>Source code of current version</v-list-item-title>\n                <v-list-item-subtitle>\n                  https://github.com/Liu233w/acm-statistics/tree/{{ $env.VERSION_NUM }}\n                </v-list-item-subtitle>\n              </v-list-item-content>\n              <v-list-item-action>\n                <v-icon class=\"grey--text\">\n                  mdi-open-in-new\n                </v-icon>\n              </v-list-item-action>\n            </v-list-item>\n\n            <v-list-item :href=\"`https://github.com/Liu233w/acm-statistics/commits/${$env.VERSION_NUM}`\">\n              <v-list-item-content>\n                <v-list-item-title>Recent updates</v-list-item-title>\n                <v-list-item-subtitle>\n                  https://github.com/Liu233w/acm-statistics/commits/{{ $env.VERSION_NUM }}\n                </v-list-item-subtitle>\n              </v-list-item-content>\n              <v-list-item-action>\n                <v-icon class=\"grey--text\">\n                  mdi-open-in-new\n                </v-icon>\n              </v-list-item-action>\n            </v-list-item>\n          </v-list>\n        </v-card>\n      </v-flex>\n    </v-layout>\n    <v-dialog\n      v-model=\"dialog\"\n      max-width=\"500px\"\n    >\n      <v-card>\n        <v-card-title>\n          <span>微信公众号</span>\n        </v-card-title>\n        <v-card-text>\n          <img\n            :src=\"require('~/assets/img/wechat.jpg')\"\n            alt=\"公众号二维码\"\n            style=\"height: 300px\"\n          >\n        </v-card-text>\n        <v-card-actions>\n          <v-btn\n            color=\"primary\"\n            text\n            @click.stop=\"dialog=false\"\n          >\n            close\n          </v-btn>\n        </v-card-actions>\n      </v-card>\n    </v-dialog>\n  </v-container>\n</template>\n\n<script>\nimport { PROJECT_TITLE } from '~/components/consts'\nimport { getDateFromTimestamp } from '../components/utils'\n\nexport default {\n  inject: ['changeLayoutConfig'],\n  data() {\n    return {\n      buildTime: getDateFromTimestamp(this.$env.BUILD_TIME).toLocaleString(),\n      dialog: false,\n    }\n  },\n  head: {\n    title: `About - ${PROJECT_TITLE}`,\n  },\n  mounted() {\n    this.changeLayoutConfig({\n      title: 'About',\n    })\n  },\n}\n</script>\n"
  },
  {
    "path": "frontend/pages/history/_id/-GoHistoryPage.vue",
    "content": "<template>\n  <v-btn\n    class=\"mr-2\"\n    icon\n    @click=\"back\"\n  >\n    <v-icon>\n      mdi-arrow-left-circle\n    </v-icon>\n  </v-btn>\n</template>\n\n<script>\nexport default {\n  methods: {\n    back() {\n      this.$router.push('/history')\n    },\n  },\n}\n</script>\n"
  },
  {
    "path": "frontend/pages/history/_id/-HistoryToolbar.vue",
    "content": "<template>\n  <v-tooltip bottom>\n    <template #activator=\"{ on }\">\n      <v-btn\n        text\n        v-on=\"on\"\n        @click=\"printPage\"\n        :loading=\"loading\"\n      >\n        Export image\n      </v-btn>\n    </template>\n    Export the summary report as an image\n  </v-tooltip>\n</template>\n\n<script>\nimport html2canvas from 'html2canvas'\n\nexport default {\n  data() {\n    return {\n      loading: false,\n    }\n  },\n  methods: {\n    async printPage() {\n      this.loading = true\n      try {\n        const summary = document.getElementById('history-summary')\n        const canvas = await html2canvas(summary)\n\n        const link = document.createElement('a')\n        link.download = 'summary.png'\n        link.href = canvas.toDataURL('image/png')\n        link.click()\n\n      } catch (err) {\n        this.$store.commit('message/addError', err.message)\n      }\n      this.loading = false\n    },\n  },\n}\n</script>\n"
  },
  {
    "path": "frontend/pages/history/_id/index.vue",
    "content": "<template>\n  <v-alert\n    v-if=\"summaryError\"\n    type=\"error\"\n  >\n    {{ summaryError }}\n  </v-alert>\n  <v-card-text\n    v-else-if=\"summary === null\"\n    class=\"text-center\"\n  >\n    <v-progress-circular\n      :size=\"100\"\n      color=\"primary\"\n      indeterminate\n      class=\"mt-10\"\n    />\n  </v-card-text>\n  <v-container\n    v-else\n    id=\"history-summary\"\n  >\n    <v-list>\n      <v-list-item v-if=\"summary.mainUsername\">\n        <v-list-item-content>\n          <v-list-item-title><strong>Main username:</strong> {{ summary.mainUsername }}</v-list-item-title>\n        </v-list-item-content>\n      </v-list-item>\n      <v-list-item>\n        <v-list-item-content>\n          <v-list-item-title><strong>SOLVED:</strong> {{ summary.solved }}</v-list-item-title>\n        </v-list-item-content>\n      </v-list-item>\n      <v-list-item>\n        <v-list-item-content>\n          <v-list-item-title><strong>SUBMISSION:</strong> {{ summary.submission }}</v-list-item-title>\n        </v-list-item-content>\n      </v-list-item>\n      <v-list-item>\n        <v-list-item-content>\n          <v-list-item-title><strong>Generated at</strong> {{ summary.generateTime }}</v-list-item-title>\n        </v-list-item-content>\n      </v-list-item>\n    </v-list>\n    <v-data-table\n      :headers=\"tableHeaders\"\n      :items=\"workerSummaryList\"\n      :disable-pagination=\"true\"\n      :hide-default-footer=\"true\"\n    />\n    <bar-chart\n      :chart-data=\"chartData\"\n      :chart-options=\"{responsive: true, maintainAspectRatio: false}\"\n      style=\"height: 300px\"\n    />\n    <v-list dense>\n      <v-subheader\n        v-if=\"summary.summaryWarnings.length > 0\"\n        class=\"red--text\"\n      >\n        WARNINGS\n      </v-subheader>\n      <v-list-item\n        v-for=\"item in summary.summaryWarnings\"\n        :key=\"item\"\n      >\n        <v-list-item-content>\n          {{ crawlers[item.crawlerName].title }}:\n          {{ item.content }}\n        </v-list-item-content>\n      </v-list-item>\n    </v-list>\n  </v-container>\n</template>\n\n<script>\nimport _ from 'lodash'\n\nimport { getAbpErrorMessage } from '~/components/utils'\nimport { PROJECT_TITLE } from '~/components/consts'\n\nimport HistoryToolbar from './-HistoryToolbar'\nimport GoHistoryPage from './-GoHistoryPage'\n\nexport default {\n  head: {\n    title: `History - ${PROJECT_TITLE}`,\n  },\n  inject: ['changeLayoutConfig'],\n  mounted() {\n    this.changeLayoutConfig({\n      title: 'Summary - Loading...',\n    })\n  },\n  data() {\n    return {\n      summary: null,\n      summaryError: null,\n      crawlers: {},\n      tableHeaders: [\n        {\n          text: 'Crawler',\n          value: 'crawler',\n          sortable: true,\n        },\n        {\n          text: 'Username',\n          value: 'username',\n          sortable: false,\n        },\n        {\n          text: 'Solved',\n          value: 'solved',\n          sortable: true,\n        },\n        {\n          text: 'Submission',\n          value: 'submissions',\n          sortable: true,\n        },\n      ],\n    }\n  },\n  watch: {\n    summary() {\n      const dateFormatter = new Intl.DateTimeFormat()\n      this.changeLayoutConfig({\n        title: `Summary - ${dateFormatter.format(this.summary.generateTime)}`,\n        topBarBeforeUserName: HistoryToolbar,\n        topBarBeforeTitle: GoHistoryPage,\n      })\n    },\n  },\n  computed: {\n    workerSummaryList() {\n      // module not loaded\n      if (!this.summary) {\n        return []\n      }\n\n      const res = []\n      for (const summary of this.summary.queryCrawlerSummaries) {\n        const usernames = _.map(summary.usernames, (item) => {\n          if (item.fromCrawlerName) {\n            return `[${item.username} in ${\n              this.crawlers[item.fromCrawlerName].title\n            }]`\n          } else {\n            return item.username\n          }\n        })\n        const isVirtualJudge = this.crawlers[summary.crawlerName].virtual_judge\n        res.push({\n          crawler:\n            this.crawlers[summary.crawlerName].title +\n            (isVirtualJudge ? ' (Not Merged)' : ''),\n          username: usernames.join(', '),\n          solved: summary.solved,\n          submissions: summary.submission,\n        })\n      }\n      return res\n    },\n    chartData() {\n      const solvedList = _.map(this.workerSummaryList, 'solved')\n      const submissionsList = _.map(this.workerSummaryList, 'submissions')\n      return {\n        labels: _.map(this.workerSummaryList, 'crawler'),\n        datasets: [\n          {\n            label: 'solved',\n            data: solvedList,\n            backgroundColor: '#6699ff',\n          },\n          {\n            label: 'submissions',\n            data: submissionsList,\n            backgroundColor: '#3d3d5c',\n          },\n        ],\n      }\n    },\n  },\n  async fetch() {\n    try {\n      const crawlersTask = this.$axios.$get('/api/crawlers')\n      const summaryResult = await this.$axios.$get(\n        '/api/services/app/QueryHistory/GetQuerySummary',\n        {\n          params: {\n            queryHistoryId: this.$route.params.id,\n          },\n        },\n      )\n\n      this.crawlers = (await crawlersTask).data\n      this.summary = summaryResult.result\n\n      this.summary.generateTime = new Date(this.summary.generateTime)\n    } catch (err) {\n      this.summaryError = getAbpErrorMessage(err)\n    }\n  },\n}\n</script>\n"
  },
  {
    "path": "frontend/pages/history/index.vue",
    "content": "<template>\n  <v-container fluid>\n    <v-banner\n      v-if=\"errorMessage !== null\"\n      color=\"error\"\n    >\n      {{ errorMessage }}\n    </v-banner>\n    <template v-else>\n      <v-banner>\n        Only the latest history per day is saved. You may change your time zone in settings.\n        <v-btn\n          text\n          color=\"primary\"\n          to=\"/settings\"\n        >\n          go to settings\n        </v-btn>\n      </v-banner>\n      <v-data-table\n        class=\"mt-4\"\n        disable-filtering\n        disable-sort\n        v-model=\"selected\"\n        :headers=\"headers\"\n        :items=\"listItems\"\n        :loading=\"loading\"\n        show-select\n        :items-per-page.sync=\"itemsPerPage\"\n        :server-items-length=\"serverItemsLength\"\n        :page.sync=\"page\"\n        item-key=\"historyId\"\n        :footer-props=\"footerProps\"\n      >\n        <template #top>\n          <v-btn\n            color=\"error\"\n            :disabled=\"selected.length === 0\"\n            @click=\"deleteSelected\"\n          >\n            delete selected\n          </v-btn>\n        </template>\n        <!-- item.actions is a name -->\n        <!-- eslint-disable-next-line -->\n        <template #item.actions=\"{ item }\">\n          <v-btn\n            icon\n            :to=\"'/history/'+item.historyId\"\n          >\n            <v-icon>\n              mdi-eye\n            </v-icon>\n          </v-btn>\n          <v-btn\n            icon\n            @click=\"deleteOne(item.historyId)\"\n          >\n            <v-icon>\n              mdi-delete\n            </v-icon>\n          </v-btn>\n        </template>\n      </v-data-table>\n      <line-chart\n        :chart-data=\"chartData\"\n        :chart-options=\"chartOptions\"\n        style=\"height: 300px\"\n      />\n    </template>\n  </v-container>\n</template>\n\n<script>\nimport _ from 'lodash'\n\nimport { getAbpErrorMessage } from '~/components/utils'\nimport { PROJECT_TITLE } from '~/components/consts'\n\nexport default {\n  inject: ['changeLayoutConfig'],\n  head: {\n    title: `History - ${PROJECT_TITLE}`,\n  },\n  mounted() {\n    this.changeLayoutConfig({\n      title: 'History',\n    })\n  },\n  data() {\n    return {\n      data: [],\n      loading: true,\n      headers: [\n        { text: 'Id', value: 'historyId', align: 'start' },\n        { text: 'Query time', value: 'creationTime' },\n        { text: 'Solved', value: 'solved' },\n        { text: 'Submissions', value: 'submission' },\n        { text: 'Actions', value: 'actions' },\n      ],\n      selected: [],\n      itemsPerPage: 10,\n      serverItemsLength: null,\n      page: 1,\n      errorMessage: null,\n      chartOptions: {\n        responsive: true,\n        maintainAspectRatio: false,\n        hover: {\n          mode: 'nearest',\n          intersect: true,\n        },\n        fill: true,\n        plugins: {\n          tooltip: {\n            mode: 'index',\n            intersect: false,\n          },\n        },\n      },\n    }\n  },\n  computed: {\n    listItems() {\n      return _.map(this.data, item => {\n        return {\n          ...item,\n          creationTime: item.creationTime.toLocaleString(),\n        }\n      })\n    },\n    chartData() {\n      const dateFormatter = new Intl.DateTimeFormat()\n      const dates = _.map(this.data, (a) =>\n        dateFormatter.format(a.creationTime),\n      )\n      const solved = _.map(this.data, 'solved')\n      const submissions = _.map(this.data, 'submission')\n      return {\n        labels: _.reverse(dates),\n        datasets: [\n          {\n            label: 'Solved',\n            backgroundColor: '#6699ff',\n            data: _.reverse(solved),\n            filled: '-1',\n          },\n          {\n            label: 'Submissions',\n            backgroundColor: '#3d3d5c',\n            data: _.reverse(submissions),\n            filled: '-1',\n          },\n        ],\n      }\n    },\n    footerProps() {\n      if (this.loading) {\n        return { disablePagination: true, disableItemsPerPage: true }\n      } else {\n        return undefined\n      }\n    },\n  },\n  fetch() {\n    return this.loadPage()\n  },\n  watch: {\n    itemsPerPage() {\n      return this.loadPage()\n    },\n    page() {\n      return this.loadPage()\n    },\n  },\n  methods: {\n    async loadPage() {\n      this.loading = true\n      try {\n        const res = await this.$axios.$get(\n          '/api/services/app/QueryHistory/GetQueryHistoriesAndSummaries',\n          {\n            params: {\n              maxResultCount: this.itemsPerPage,\n              skipCount: (this.page - 1) * this.itemsPerPage,\n            },\n          },\n        )\n        this.serverItemsLength = res.result.totalCount\n        this.data = res.result.items\n        _.forEach(this.data, (item) => {\n          item.creationTime = new Date(item.creationTime)\n        })\n        this.errorMessage = null\n        this.loading = false\n      } catch (err) {\n        this.errorMessage = getAbpErrorMessage(err)\n      }\n    },\n    async deleteOne(id) {\n      try {\n        await this.$axios.$post(\n          '/api/services/app/QueryHistory/DeleteQueryHistory',\n          {\n            id,\n          },\n        )\n        await this.loadPage()\n      } catch (err) {\n        this.$store.commit('message/addError', getAbpErrorMessage(err))\n      }\n    },\n    async deleteSelected() {\n      try {\n        await this.$axios.$post(\n          '/api/services/app/QueryHistory/DeleteQueryHistory',\n          {\n            ids: _.map(this.selected, 'historyId'),\n          },\n        )\n        await this.loadPage()\n      } catch (err) {\n        this.$store.commit('message/addError', getAbpErrorMessage(err))\n      }\n    },\n  },\n}\n</script>\n"
  },
  {
    "path": "frontend/pages/index.vue",
    "content": "<template>\n  <div>\n    <section>\n      <v-parallax\n        :src=\"require('~/assets/img/frontpage/back7-brighten.jpg')\"\n        height=\"600\"\n      >\n        <v-layout\n          column\n          align-center\n          justify-center\n          class=\"white--text\"\n        >\n          <img\n            :src=\"require('~/assets/img/logo.png')\"\n            alt=\"Vuetify.js\"\n            height=\"190\"\n            class=\"mb-4\"\n          >\n          <h2 class=\"black--text text-h5 text-center font-weight-light\">\n            ACM-ICPC 协会\n          </h2>\n          <div style=\"height: 50px\" />\n          <h1 class=\"black--text mb-2 text-h4 text-center index-title font-weight-bold\">\n            Welcome to {{ projectTitle }}\n          </h1>\n          <div class=\"black--text subheading mb-4 text-center index-title\">\n            An online tool to analyze users performance in online judges (coding competition websites)\n          </div>\n          <v-btn\n            class=\"blue lighten-2 black--text mt-12\"\n            dark\n            large\n            nuxt\n            to=\"/statistics\"\n          >\n            Enter AC Statistics\n          </v-btn>\n        </v-layout>\n      </v-parallax>\n    </section>\n\n    <section>\n      <v-layout\n        column\n        wrap\n        class=\"my-12\"\n        align-center\n      >\n        <v-flex\n          xs12\n          sm4\n          class=\"my-4\"\n        >\n          <div class=\"text-center\">\n            <h2 class=\"text-h5\">\n              Guide\n            </h2>\n            <span class=\"subheading\">\n              of the query tool.\n            </span>\n          </div>\n        </v-flex>\n        <v-flex xs12>\n          <v-container grid-list-xl>\n            <v-layout wrap>\n              <v-flex\n                xs12\n                md4\n              >\n                <v-card\n                  class=\"elevation-0 transparent\"\n                  :flat=\"true\"\n                >\n                  <v-img\n                    :src=\"require('~/assets/img/frontpage/guide1.jpg')\"\n                    height=\"100px\"\n                    class=\"elevation-1\"\n                  />\n                  <v-card-title\n                    primary-title\n                    class=\"layout justify-center\"\n                  >\n                    <div class=\"text-h5 text-center\">\n                      Query\n                    </div>\n                  </v-card-title>\n                  <v-card-text class=\"text-center\">\n                    Enter your username and click QUERY. You can save your usernames and use them later.\n                  </v-card-text>\n                </v-card>\n              </v-flex>\n              <v-flex\n                xs12\n                md4\n              >\n                <v-card\n                  class=\"elevation-0 transparent\"\n                  :flat=\"true\"\n                >\n                  <v-img\n                    :src=\"require('~/assets/img/frontpage/guide2.jpg')\"\n                    height=\"100px\"\n                    class=\"elevation-1\"\n                  />\n                  <v-card-title\n                    primary-title\n                    class=\"layout justify-center\"\n                  >\n                    <div class=\"text-h5 text-center\">\n                      Worker Panel\n                    </div>\n                  </v-card-title>\n                  <v-card-text class=\"text-center\">\n                    Use different usernames in different OJs, or multiple usernames in the same OJ.\n                  </v-card-text>\n                </v-card>\n              </v-flex>\n              <v-flex\n                xs12\n                md4\n              >\n                <v-card\n                  class=\"elevation-0 transparent\"\n                  :flat=\"true\"\n                >\n                  <v-img\n                    :src=\"require('~/assets/img/frontpage/guide3.jpg')\"\n                    height=\"100px\"\n                    class=\"elevation-1\"\n                  />\n                  <v-card-title\n                    primary-title\n                    class=\"layout justify-center\"\n                  >\n                    <div class=\"text-h5 text-center\">\n                      Summary\n                    </div>\n                  </v-card-title>\n                  <v-card-text class=\"text-center\">\n                    Click the result badge to view summary.\n                    (Login required)\n                  </v-card-text>\n                </v-card>\n              </v-flex>\n            </v-layout>\n          </v-container>\n        </v-flex>\n      </v-layout>\n    </section>\n\n    <section>\n      <v-parallax\n        :src=\"require('~/assets/img/frontpage/back4.jpg')\"\n        height=\"380\"\n      >\n        <v-layout\n          column\n          align-center\n          justify-center\n        >\n          <div class=\"text-h5 white--text mb-4 text-center response-title\">\n            If you have any questions,\n          </div>\n          <em class=\"white--text response-title\">feel free to discuss on GitHub</em>\n          <v-btn\n            class=\"blue lighten-2 mt-12\"\n            dark\n            large\n            href=\"https://github.com/Liu233w/acm-statistics/discussions/new\"\n            target=\"_blank\"\n            rel=\"noopener noreferrer\"\n          >\n            Start Discussion\n          </v-btn>\n        </v-layout>\n      </v-parallax>\n    </section>\n\n    <section>\n      <v-container grid-list-xl>\n        <v-layout\n          wrap\n          justify-center\n          class=\"my-12\"\n        >\n          <v-flex\n            xs12\n            sm4\n          >\n            <v-card\n              flat\n              class=\"transparent\"\n            >\n              <v-card-title\n                primary-title\n                class=\"layout justify-center\"\n              >\n                <div class=\"text-h5\">\n                  About the website\n                </div>\n              </v-card-title>\n              <v-card-text>\n                This project is the remake of <span class=\"font-italic\">\n                  西北工业大学ACM查询系统 (npuacm.info)\n                </span>. The original version and idea are from <a\n                  href=\"https://kidozh.com/en/\"\n                  target=\"_blank\"\n                  rel=\"noopener noreferrer\"\n                >Jiduo Zhang</a>.\n              </v-card-text>\n            </v-card>\n          </v-flex>\n          <v-flex\n            xs12\n            sm4\n            offset-sm1\n          >\n            <v-card\n              flat\n              class=\"transparent\"\n            >\n              <v-card-title\n                primary-title\n                class=\"layout justify-center\"\n              >\n                <div class=\"text-h5\">\n                  About us\n                </div>\n              </v-card-title>\n              <v-card-text>\n                This project is developed and maintained by Shumin Liu and Contributors with ❤.\n                Please check <span class=\"font-italic\">about</span> page for contact information.\n              </v-card-text>\n            </v-card>\n          </v-flex>\n        </v-layout>\n      </v-container>\n    </section>\n  </div>\n</template>\n\n<script>\nimport { PROJECT_TITLE } from '~/components/consts'\n\nexport default {\n  data() {\n    return {\n      projectTitle: PROJECT_TITLE,\n    }\n  },\n}\n/*!\nPortions of this source file taken from vuetifyjs/parallax-starter <https://github.com/vuetifyjs/parallax-starter>\n\nThe MIT License (MIT)\n\nCopyright (c) 2016 John Jeremy Leider\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n  */\n</script>\n\n<style scoped>\n.index-title {\n  text-shadow: 1px 0 #ecf5ff, 0 1px #ecf5ff, 0 -1px #ecf5ff, -1px 0 #ecf5ff;\n}\n\n.response-title {\n  text-shadow: 1px 0 #000000, 0 1px #000000, 0 -1px #000000, -1px 0 #000000;\n}\n</style>\n"
  },
  {
    "path": "frontend/pages/jojo.vue",
    "content": "<template>\n  <v-app light>\n    <v-container class=\"fill-height\">\n      <v-row\n        class=\"mt-n12\"\n        justify=\"center\"\n      >\n        <v-col\n          class=\"text-center\"\n          cols=\"auto\"\n        >\n          <v-img\n            class=\"mb-12\"\n            contain\n            height=\"256\"\n            :src=\"require('~/assets/img/dio.jpg')\"\n          />\n          <h1 class=\"text-h3 font-weight-bold mb-6\">\n            你访问的不是 {{ url }}，是我DIO哒!!\n          </h1>\n        </v-col>\n      </v-row>\n    </v-container>\n  </v-app>\n</template>\n\n<script>\nexport default {\n  computed: {\n    url() {\n      return this.$nuxt.$route.path\n    },\n  },\n  layout: 'none',\n}\n</script>\n"
  },
  {
    "path": "frontend/pages/login.vue",
    "content": "<template>\n  <v-card flat>\n    <v-card-title primary-title>\n      <div class=\"text-h5\">\n        Login\n      </div>\n    </v-card-title>\n    <v-container>\n      <v-row>\n        <v-alert\n          type=\"error\"\n          v-model=\"showError\"\n          dismissible\n          transition=\"fade-transition\"\n          class=\"mb-3\"\n        >\n          {{ errorMessage }}\n        </v-alert>\n      </v-row>\n      <v-layout>\n        <v-flex>\n          <v-form v-model=\"valid\">\n            <v-text-field\n              prepend-icon=\"mdi-account\"\n              label=\"Username\"\n              required\n              v-model=\"username\"\n              :rules=\"[rules.required]\"\n            />\n            <v-text-field\n              prepend-icon=\"mdi-lock\"\n              label=\"Password\"\n              required\n              type=\"password\"\n              v-model=\"password\"\n              :rules=\"[rules.required]\"\n            />\n            <v-checkbox\n              v-model=\"remember\"\n              label=\"Remember me\"\n            />\n            <v-row>\n              <v-col>\n                <v-btn\n                  color=\"info\"\n                  block\n                  :disabled=\"!valid\"\n                  @click=\"login\"\n                  :loading=\"loading\"\n                >\n                  login\n                </v-btn>\n              </v-col>\n              <v-col>\n                <v-btn\n                  block\n                  @click=\"goRegister\"\n                >\n                  enter register page\n                </v-btn>\n              </v-col>\n            </v-row>\n          </v-form>\n        </v-flex>\n      </v-layout>\n    </v-container>\n  </v-card>\n</template>\n\n<script>\nimport rulesMixin from '~/components/rulesMixin'\nimport { getAbpErrorMessage } from '~/components/utils'\n\nexport default {\n  layout: 'login',\n  mixins: [rulesMixin],\n  data() {\n    return {\n      username: '',\n      password: '',\n      remember: false,\n      valid: false,\n      errorMessage: '',\n      showError: false,\n      loading: false,\n    }\n  },\n  methods: {\n    async login() {\n      this.loading = true\n      try {\n        await this.$store.dispatch('session/login', {\n          username: this.username,\n          password: this.password,\n          remember: this.remember,\n        })\n\n        const redirect = this.$route.query.redirect\n        if (redirect) {\n          this.$router.push(redirect)\n        } else {\n          this.$router.push('/')\n        }\n      } catch (err) {\n        this.errorMessage = getAbpErrorMessage(err)\n        this.showError = true\n      }\n      this.loading = false\n    },\n    goRegister() {\n      this.$router.push({\n        path: '/register',\n        query: {\n          redirect: this.$route.query.redirect,\n        },\n      })\n    },\n  },\n}\n</script>\n"
  },
  {
    "path": "frontend/pages/register.vue",
    "content": "<template>\n  <v-card flat>\n    <v-card-title primary-title>\n      <div class=\"text-h5\">\n        Register\n      </div>\n    </v-card-title>\n    <v-container>\n      <v-row>\n        <v-alert\n          type=\"error\"\n          v-model=\"showError\"\n          dismissible\n          transition=\"fade-transition\"\n          class=\"mb-3\"\n        >\n          {{ errorMessage }}\n        </v-alert>\n      </v-row>\n      <v-layout>\n        <v-flex>\n          <v-form v-model=\"valid\" ref=\"form\">\n            <v-text-field\n              prepend-icon=\"mdi-account\"\n              label=\"Username\"\n              v-model=\"username\"\n              required\n              :rules=\"[rules.required]\"\n            />\n            <v-text-field\n              prepend-icon=\"mdi-lock\"\n              label=\"Password\"\n              type=\"password\"\n              v-model=\"password\"\n              required\n              :rules=\"[rules.required, rules.password]\"\n            />\n            <v-text-field\n              prepend-icon=\"mdi-lock\"\n              label=\"Confirm password\"\n              type=\"password\"\n              v-model=\"pwdRepeat\"\n              required\n              :rules=\"[rules.required, (pwdRepeat) => password === pwdRepeat || 'Password must match']\"\n            />\n            <v-row>\n              <v-col>\n                <span v-html=\"captchaSvg\" />\n              </v-col>\n              <v-col>\n                <v-text-field\n                  prepend-icon=\"mdi-shield-check\"\n                  label=\"Captcha\"\n                  v-model=\"captchaText\"\n                  required\n                  :rules=\"[rules.required]\"\n                >\n                  <template #append>\n                    <v-btn\n                      icon\n                      @click=\"refreshCaptcha\"\n                    >\n                      <v-icon>mdi-refresh</v-icon>\n                    </v-btn>\n                  </template>\n                </v-text-field>\n              </v-col>\n            </v-row>\n            <v-row>\n              <v-col>\n                <v-btn\n                  color=\"info\"\n                  block\n                  :disabled=\"!valid\"\n                  @click=\"register\"\n                  :loading=\"loading\"\n                >\n                  register\n                </v-btn>\n              </v-col>\n              <v-col>\n                <v-btn\n                  block\n                  @click=\"goLogin\"\n                >\n                  enter login page\n                </v-btn>\n              </v-col>\n            </v-row>\n          </v-form>\n        </v-flex>\n      </v-layout>\n    </v-container>\n  </v-card>\n</template>\n\n<script>\nimport rulesMixin from '~/components/rulesMixin'\nimport { getAbpErrorMessage } from '~/components/utils'\n\nexport default {\n  layout: 'login',\n  mixins: [rulesMixin],\n  data() {\n    return {\n      username: '',\n      email: '',\n      password: '',\n      pwdRepeat: '',\n      valid: false,\n      captchaId: '',\n      captchaSvg: '',\n      captchaText: '',\n      errorMessage: '',\n      showError: false,\n      loading: false,\n    }\n  },\n  watch: {\n    async password() {\n      // when password is changed, re-validate the repeatPwd field\n      await this.$nextTick()\n      this.$refs.form.validate()\n    },\n  },\n  methods: {\n    async register() {\n      this.loading = true\n      try {\n        await this.$axios.$post('/api/services/app/Account/Register', {\n          username: this.username,\n          password: this.password,\n          captchaText: this.captchaText,\n          captchaId: this.captchaId,\n        })\n\n        await this.$store.dispatch('session/login', {\n          username: this.username,\n          password: this.password,\n          remember: false,\n        })\n\n        const redirect = this.$route.query.redirect\n        if (redirect) {\n          this.$router.push(redirect)\n        } else {\n          this.$router.push('/')\n        }\n\n      } catch (err) {\n        this.errorMessage = getAbpErrorMessage(err)\n        this.showError = true\n      }\n      this.loading = false\n    },\n    async refreshCaptcha() {\n      this.captchaText = ''\n      try {\n        const res = await this.$axios.$post('/api/captcha-service/generate')\n        this.captchaId = res.data.id\n        this.captchaSvg = res.data.captcha\n      } catch (error) {\n        this.errorMessage = error.message\n        this.showError = true\n      }\n    },\n    goLogin() {\n      this.$router.push({\n        path: '/login',\n        query: {\n          redirect: this.$route.query.redirect,\n        },\n      })\n    },\n  },\n  async mounted() {\n    await this.refreshCaptcha()\n  },\n}\n</script>\n"
  },
  {
    "path": "frontend/pages/settings.vue",
    "content": "<template>\n  <v-container fluid>\n    <v-row>\n      <v-col>\n        <v-card>\n          <v-card-title>Sign out</v-card-title>\n          <v-card-text>\n            Logout from this computer.\n          </v-card-text>\n          <v-card-actions>\n            <v-btn\n              @click=\"logout\"\n              text\n            >\n              sign out\n            </v-btn>\n          </v-card-actions>\n        </v-card>\n      </v-col>\n    </v-row>\n    <v-row>\n      <v-col>\n        <v-card>\n          <v-card-title>Auto save query history</v-card-title>\n          <v-card-text>\n            <v-radio-group v-model=\"autoSaveHistory\">\n              <v-radio\n                value=\"true\"\n                label=\"Save history after finishing query\"\n              />\n              <v-radio\n                value=\"false\"\n                label=\"Only save history when clicking view summary button\"\n              />\n            </v-radio-group>\n          </v-card-text>\n          <v-card-actions>\n            <v-btn\n              @click=\"updateAutoSaveHistoryConfig\"\n              :loading=\"autoSaveHistory === null\"\n              :disabled=\"autoSaveHistory === settings['App.AutoSaveHistory']\"\n              text\n            >\n              save\n            </v-btn>\n          </v-card-actions>\n        </v-card>\n      </v-col>\n    </v-row>\n    <v-row>\n      <v-col>\n        <v-card>\n          <v-card-title>Change time zone</v-card-title>\n          <v-card-text>\n            <p>You may change your time zone every 24 hours.</p>\n            <v-select\n              v-model=\"timeZone\"\n              :items=\"timeZoneList\"\n              label=\"Time Zone\"\n            />\n          </v-card-text>\n          <v-card-actions>\n            <v-btn\n              @click=\"saveTimeZone\"\n              text\n            >\n              save\n            </v-btn>\n          </v-card-actions>\n          <result-overlay\n            :value=\"timeZoneMessage\"\n            @click=\"timeZoneMessage = null\"\n          />\n        </v-card>\n      </v-col>\n    </v-row>\n    <v-row>\n      <v-col>\n        <v-card>\n          <v-card-title>Change Password</v-card-title>\n          <v-card-text>\n            <v-form v-model=\"valid\">\n              <v-text-field\n                prepend-icon=\"mdi-lock\"\n                label=\"Current Password\"\n                type=\"password\"\n                v-model=\"currentPwd\"\n                required\n                :rules=\"[rules.required]\"\n              />\n              <v-text-field\n                prepend-icon=\"mdi-lock\"\n                label=\"New Password\"\n                type=\"password\"\n                v-model=\"newPwd\"\n                required\n                :rules=\"[rules.required, rules.password]\"\n              />\n              <v-text-field\n                prepend-icon=\"mdi-lock\"\n                label=\"Confirm Password\"\n                type=\"password\"\n                v-model=\"pwdRepeat\"\n                required\n                :rules=\"[rules.required, () => newPwd === pwdRepeat || 'Password must match']\"\n              />\n            </v-form>\n          </v-card-text>\n          <v-card-actions>\n            <v-btn\n              color=\"info\"\n              text\n              :disabled=\"!valid\"\n              @click=\"changePassword\"\n              :loading=\"loading\"\n            >\n              submit\n            </v-btn>\n          </v-card-actions>\n          <result-overlay\n            :value=\"changePwdMessage\"\n            @click=\"changePwdMessage = null\"\n          />\n        </v-card>\n      </v-col>\n    </v-row>\n    <v-row>\n      <v-col>\n        <v-card>\n          <v-card-title class=\"red--text\">\n            Delete Account\n          </v-card-title>\n          <v-card-text>\n            Delete this account and all data related to it.\n          </v-card-text>\n          <v-card-actions>\n            <v-btn\n              @click=\"deleteDialog = true\"\n              text\n              color=\"red\"\n            >\n              delete\n            </v-btn>\n          </v-card-actions>\n        </v-card>\n      </v-col>\n    </v-row>\n    <v-dialog\n      v-model=\"deleteDialog\"\n      persistent\n      max-width=\"400\"\n    >\n      <v-card>\n        <v-card-title class=\"text-h5\">\n          Are you sure you want to delete this account?\n        </v-card-title>\n        <v-card-text>\n          After deletion, all data related to it (including query history and analyzes) will be lost.\n        </v-card-text>\n        <v-card-actions>\n          <v-spacer />\n          <v-btn\n            color=\"darken-1\"\n            text\n            @click=\"deleteDialog = false\"\n          >\n            Cancel\n          </v-btn>\n          <v-btn\n            color=\"red darken-1\"\n            text\n            @click=\"deleteAccount\"\n          >\n            Confirm\n          </v-btn>\n        </v-card-actions>\n      </v-card>\n    </v-dialog>\n  </v-container>\n</template>\n\n<script>\nimport { mapState } from 'vuex'\n\nimport rulesMixin from '~/components/rulesMixin'\nimport { getAbpErrorMessage } from '~/components/utils'\nimport { TIMEZONE_LIST, PROJECT_TITLE } from '~/components/consts'\nimport ResultOverlay from '~/components/ResultOverlay'\n\nexport default {\n  mixins: [rulesMixin],\n  components: { ResultOverlay },\n  inject: ['changeLayoutConfig'],\n  mounted() {\n    this.changeLayoutConfig({\n      title: 'Settings',\n    })\n  },\n  head: {\n    title: `Settings - ${PROJECT_TITLE}`,\n  },\n  computed: {\n    ...mapState('session', [\n      'settings',\n    ]),\n  },\n  data() {\n    return {\n      deleteDialog: false,\n      currentPwd: '',\n      newPwd: '',\n      pwdRepeat: '',\n      valid: false,\n      loading: false,\n      changePwdMessage: null,\n      timeZoneList: TIMEZONE_LIST,\n      timeZone: null,\n      timeZoneMessage: null,\n      autoSaveHistory: null,\n    }\n  },\n  created() {\n    this.timeZone = this.settings['Abp.Timing.TimeZone']\n    this.autoSaveHistory = this.settings['App.AutoSaveHistory']\n  },\n  methods: {\n    async logout() {\n      this.$store.dispatch('session/logout')\n      await this.$store.dispatch('session/refreshUser')\n      this.$router.push('/')\n    },\n    async deleteAccount() {\n      await this.$axios.$post('/api/services/app/Account/SelfDelete')\n      this.$store.dispatch('session/logout')\n      this.$router.push('/')\n    },\n    async changePassword() {\n      this.changePwdMessage = null\n      try {\n        await this.$axios.$post('/api/services/app/Account/ChangePassword', {\n          currentPassword: this.currentPwd,\n          newPassword: this.newPwd,\n        })\n        this.changePwdMessage = {\n          color: 'success',\n          message: 'Success!',\n        }\n      } catch (err) {\n\n        this.changePwdMessage = {\n          color: 'error',\n          message: getAbpErrorMessage(err),\n        }\n      }\n    },\n    async saveTimeZone() {\n      this.timeZoneMessage = null\n      try {\n        await this.$axios.$post('/api/services/app/UserConfig/SetUserTimeZone', {\n          timeZone: this.timeZone,\n        })\n        await this.$store.dispatch('/session/refreshSettings')\n        this.timeZoneMessage = {\n          color: 'success',\n          message: 'Success!',\n        }\n      } catch (err) {\n        this.timeZoneMessage = {\n          color: 'error',\n          message: getAbpErrorMessage(err),\n        }\n      }\n    },\n    async updateAutoSaveHistoryConfig() {\n      const config = this.autoSaveHistory\n      this.autoSaveHistory = null\n      try {\n        await this.$axios.put('/api/services/app/UserConfig/UpdateAutoSaveHistory', {\n          autoSaveHistory: config === 'true',\n        })\n        await this.$store.dispatch('session/refreshSettings')\n        this.autoSaveHistory = this.settings['App.AutoSaveHistory']\n      } catch (err) {\n        this.$store.commit('message/addError', getAbpErrorMessage(err))\n      }\n    },\n  },\n}\n</script>\n"
  },
  {
    "path": "frontend/pages/statistics.vue",
    "content": "<template>\n  <v-container\n    grid-list-md\n    v-resize=\"onResize\"\n  >\n    <v-row\n      wrap\n      no-gutters\n    >\n      <v-col\n        :md=\"3\"\n        class=\"pt-0 pb-0\"\n      >\n        <v-text-field\n          v-model=\"username\"\n          label=\"Set all usernames\"\n          :disabled=\"isWorking\"\n          required\n          @keyup.enter=\"runWorker\"\n          :loading=\"isWorking\"\n          style=\"min-width: 240px\"\n        >\n          <template #progress>\n            <v-progress-linear\n              color=\"primary\"\n              :value=\"notWorkingRate\"\n              :height=\"3\"\n              absolute\n            />\n          </template>\n        </v-text-field>\n      </v-col>\n      <v-btn\n        class=\"ma-1 primary\"\n        @click=\"runWorker\"\n        :disabled=\"isWorking\"\n      >\n        query\n      </v-btn>\n      <v-tooltip bottom>\n        <template #activator=\"{ on }\">\n          <v-btn\n            class=\"ma-1 error\"\n            v-on=\"on\"\n            @click=\"clearWorkers\"\n          >\n            reset\n          </v-btn>\n        </template>\n        Clear usernames and reset all worker status\n      </v-tooltip>\n      <v-tooltip bottom>\n        <template #activator=\"{ on }\">\n          <v-btn\n            class=\"ma-1\"\n            v-on=\"on\"\n            @click=\"loadUsername\"\n            :disabled=\"loading\"\n          >\n            reload\n          </v-btn>\n        </template>\n        Load saved usernames from {{ login ? 'server' : 'your browser' }}\n      </v-tooltip>\n      <v-tooltip bottom>\n        <template #activator=\"{ on }\">\n          <v-btn\n            @click=\"saveUsername\"\n            v-on=\"on\"\n            :loading=\"savingUsername\"\n            :disable=\"savingUsername\"\n            :class=\"{ green: savingUsername, 'ma-1': true }\"\n          >\n            save username\n            <template #loader>\n              <span>\n                Success!\n              </span>\n            </template>\n          </v-btn>\n        </template>\n        Save usernames to {{ login ? 'server' : 'your browser' }} to restore them when opening the page.\n        <br>\n        (Using QUERY button can also save usernames.)\n      </v-tooltip>\n      <v-spacer />\n      <v-tooltip\n        v-if=\"submissionsNum\"\n        buttom\n      >\n        <template #activator=\"{ on }\">\n          <v-chip\n            label\n            color=\"grey lighten-3\"\n            class=\"ma-1 elevation-2\"\n            v-on=\"on\"\n            @click.stop=\"openSummary\"\n          >\n            <v-icon\n              v-if=\"notWorkingRate >= 100\"\n              class=\"mr-1\"\n            >\n              mdi-file-chart\n            </v-icon>\n            <span class=\"text-h6\">\n              SOLVED: {{ solvedNum }} / SUBMISSION: {{ submissionsNum }}\n            </span>\n          </v-chip>\n        </template>\n        <template v-if=\"login\">\n          Click to view summary after query finishing.\n        </template>\n        <template v-else>\n          Login to view summary.\n        </template>\n      </v-tooltip>\n    </v-row>\n    <v-row v-if=\"loading\">\n      <v-spacer />\n      <v-progress-circular\n        :size=\"100\"\n        color=\"primary\"\n        indeterminate\n        class=\"mt-10\"\n      />\n      <v-spacer />\n    </v-row>\n    <v-row\n      v-else\n      ref=\"layout\"\n      :style=\"{height: layoutHeight+'px'}\"\n    >\n      <div\n        v-for=\"(item,i) in workers\"\n        :key=\"item.key\"\n        :style=\"{\n          width: columnWidth+'px',\n          transform: workerTransform[item.key] || '',\n        }\"\n        class=\"worker\"\n      >\n        <worker-card\n          :index=\"i\"\n          :ref=\"'worker-'+item.key\"\n          @update-height=\"height=>onResizeWorker(height,item)\"\n        />\n      </div>\n    </v-row>\n  </v-container>\n</template>\n\n<script>\nimport { mapGetters, mapState } from 'vuex'\nimport _ from 'lodash'\n\nimport WorkerCard from '~/components/WorkerCard'\nimport statisticsLayoutBuilder from '~/components/statisticsLayoutBuilder'\nimport Store from '~/store/-dynamic/statistics'\nimport { PROJECT_TITLE, WORKER_STATUS } from '~/components/consts'\nimport { getAbpErrorMessage, delay } from '~/components/utils'\n\n// keep it when url change\nlet globalLastSavedQueryId = null\n\nexport default {\n  components: {\n    WorkerCard,\n  },\n  inject: ['changeLayoutConfig'],\n  head: {\n    title: `Statistics - ${PROJECT_TITLE}`,\n  },\n  async created() {\n    if (!this.$store.hasModule('statistics')) {\n      this.$store.registerModule('statistics', Store, { preserveState: false })\n      await this.loadUsername()\n    } else {\n      this.loading = false\n    }\n\n    if (globalLastSavedQueryId) {\n      this.lastSavedQueryId = globalLastSavedQueryId\n    }\n\n    // registered module should not use watch in component\n    // use the watch method below instead\n    this.watchFunc = this.$store.watch(\n      () => _.map(this.$store.state.statistics.workers, 'status'),\n      async () => {\n        if (\n          this.$store.state.session.settings['App.AutoSaveHistory'] === 'true'\n        ) {\n          if (this.isWorking) {\n            this.lastSavedQueryId = null\n          } else {\n            this.lastSavedQueryId = await this.saveHistory()\n          }\n        }\n      },\n    )\n  },\n  destroyed() {\n    if (this.watchFunc) {\n      this.watchFunc()\n    }\n  },\n  async mounted() {\n    this.changeLayoutConfig({\n      title: 'Statistics',\n    })\n\n    this.onResize()\n  },\n  data() {\n    return {\n      // 一共有几列\n      columnCount: 3,\n      columnWidth: 0,\n      // 管理保存用户名按钮的动画\n      savingUsername: false,\n      loading: true,\n      layoutHeight: 0,\n      workerTransform: {},\n      workerHeight: {},\n      lastSavedQueryId: null,\n      watchFunc: null,\n    }\n  },\n  computed: {\n    ...mapGetters('statistics', [\n      'solvedNum',\n      'submissionsNum',\n      'isWorking',\n      'notWorkingRate',\n      'workerIdxOfCrawler',\n    ]),\n    ...mapState('session', ['login']),\n    username: {\n      get() {\n        return this.$store.state.statistics.mainUsername\n      },\n      set: _.debounce(function (username) {\n        this.$store.dispatch('statistics/updateMainUsername', { username })\n      }, 300),\n    },\n    workers() {\n      return this.$store.state.statistics.workers\n    },\n  },\n  watch: {\n    workerHeight: {\n      handler() {\n        this.repositionWorkers()\n      },\n      deep: true,\n    },\n    lastSavedQueryId(val) {\n      globalLastSavedQueryId = val\n    },\n  },\n  methods: {\n    async updateLayoutSize() {\n      while (!this.$refs.layout) {\n        await delay(50)\n      }\n      this.columnWidth = this.$refs.layout.clientWidth / this.columnCount\n    },\n    onResizeWorker(height, worker) {\n      this.$set(this.workerHeight, worker.key, height)\n    },\n    async repositionWorkers() {\n      await this.$nextTick()\n\n      let maxHeight = 0\n      const layout = statisticsLayoutBuilder(this.workers, this.columnCount)\n\n      for (const colIdx in layout) {\n        const col = layout[colIdx]\n        let offset = 0\n        for (const workerIdx of col) {\n          const key = this.workers[workerIdx].key\n\n          const x = colIdx * this.columnWidth\n          const y = offset\n          this.$set(this.workerTransform, key, `translate(${x}px,${y}px)`)\n\n          offset += (this.workerHeight[key] || 0) + 8\n        }\n        maxHeight = Math.max(maxHeight, offset)\n      }\n\n      this.layoutHeight = maxHeight\n    },\n    runWorker() {\n      this.saveUsername()\n\n      this.$store.dispatch('statistics/startAll')\n    },\n    async onResize() {\n      const width = window.innerWidth\n      if (width < 600) {\n        this.columnCount = 1 // xs\n      } else if (width < 960) {\n        this.columnCount = 2 // sm\n      } else if (width < 1264) {\n        this.columnCount = 2 // md\n      } else if (width < 1904) {\n        this.columnCount = 3 // lg\n      } else {\n        this.columnCount = 4 // xl\n      }\n      await this.$nextTick()\n      this.updateLayoutSize()\n      this.repositionWorkers()\n    },\n    /**\n     * 将用户名的情况存储进 localStorage 里面\n     */\n    async saveUsername() {\n      this.savingUsername = true\n      // 至少等待2秒\n      await Promise.all([\n        this.$store.dispatch('statistics/saveUsernames'),\n        new Promise((resolve) => setTimeout(resolve, 2000)),\n      ])\n      // 至少等待2秒\n      this.savingUsername = false\n    },\n    /**\n     * 从 localStorage 读取用户名情况，输入进 worker 中\n     */\n    async loadUsername() {\n      this.loading = true\n      await this.$store.dispatch('statistics/loadUsernames')\n      this.loading = false\n    },\n    clearWorkers() {\n      this.$store.dispatch('statistics/clearWorkers')\n    },\n    async saveHistory() {\n      const doneWorkers = _.filter(\n        this.workers,\n        (worker) => worker.status === WORKER_STATUS.DONE,\n      )\n      if (doneWorkers.length === 0) {\n        return null\n      }\n\n      try {\n        const saveResult = await this.$axios.$post(\n          '/api/services/app/QueryHistory/SaveOrReplaceQueryHistory',\n          {\n            mainUsername: this.username,\n            queryWorkerHistories: _.map(doneWorkers, (worker) => {\n              const crawler = this.$store.state.statistics.crawlers[\n                worker.crawlerName\n              ]\n              const hasErrorMessage =\n                !_.isNil(worker.errorMessage) && worker.errorMessage !== ''\n              const history = {\n                crawlerName: worker.crawlerName,\n                username: worker.username,\n                errorMessage: hasErrorMessage ? worker.errorMessage : null,\n                submission: worker.submissions,\n                solved: worker.solved,\n                solvedList: hasErrorMessage ? null : worker.solvedList,\n                submissionsByCrawlerName: worker.submissionsByCrawlerName,\n                isVirtualJudge: crawler.virtual_judge || false,\n              }\n              return history\n            }),\n          },\n        )\n        return saveResult.result.queryHistoryId\n      } catch (err) {\n        this.$store.commit('message/addError', getAbpErrorMessage(err))\n      }\n    },\n    async openSummary() {\n      if (this.notWorkingRate < 100 || !this.login) {\n        return\n      }\n\n      if (!this.lastSavedQueryId) {\n        this.lastSavedQueryId = await this.saveHistory()\n      }\n      this.$router.push('/history/' + this.lastSavedQueryId)\n    },\n  },\n}\n</script>\n\n<style scoped>\n.worker {\n  position: absolute;\n  transition: ease-in-out 300ms;\n  padding-left: 4px;\n  padding-right: 4px;\n}\n</style>\n"
  },
  {
    "path": "frontend/plugins/README.md",
    "content": "# PLUGINS\n\nThis directory contains your Javascript plugins that you want to run before instantiating the root vue.js application.\n\nMore information about the usage of this directory in the documentation:\nhttps://nuxtjs.org/guide/plugins\n\n**This directory is not required, you can delete it if you don't want to use it.**\n"
  },
  {
    "path": "frontend/plugins/chartjs.js",
    "content": "import 'chart.js/auto'\nimport { Line, Bar } from 'vue-chartjs/legacy'\nimport Vue from 'vue'\n\nVue.component('LineChart', Line)\nVue.component('BarChart', Bar)\n"
  },
  {
    "path": "frontend/plugins/debug.js",
    "content": "import axios from 'axios'\nimport Vue from 'vue'\n\n// eslint-disable-next-line no-unused-vars\nexport default ({app}, inject) => {\n  if (app.context.isDev && process.client) {\n    window.$app = app\n    window.$axios = axios\n\n    // 打开性能分析\n    Vue.config.performance = true\n  }\n}\n"
  },
  {
    "path": "frontend/plugins/font.js",
    "content": "import '@fortawesome/fontawesome-free/css/all.css'\nimport '@mdi/font/css/materialdesignicons.css'\n"
  },
  {
    "path": "frontend/release.Dockerfile",
    "content": "ARG FRONTEND_BASE_IMAGE\nARG NODE_BASE_IMAGE\nARG CRAWLER_IMAGE\n\n\nFROM ${CRAWLER_IMAGE} AS crawler\n\n\nFROM ${FRONTEND_BASE_IMAGE} AS base\nRUN pnpm run build\nRUN rm -rf node_modules\n\n\nFROM ${NODE_BASE_IMAGE}\nARG VERSION_NUM\nARG BUILD_TIME\n\nWORKDIR /var/project\n\nCOPY --from=crawler /var/project ../crawler\n\nCOPY package.json pnpm-lock.yaml .npmrc ./\nRUN pnpm install --only=production\n\nCOPY --from=base /var/project .\n\nENV \\\n    HOST=0.0.0.0 \\\n    NODE_ENV=production \\\n    PORT=3000 \\\n    VERSION_NUM=\"${VERSION_NUM}\" \\\n    BUILD_TIME=\"${BUILD_TIME}\" \\\n    ;=;\n\nEXPOSE 3000\n\nCMD [\"pnpm\", \"start\"]\n"
  },
  {
    "path": "frontend/static/google90cac42981c276fb.html",
    "content": "google-site-verification: google90cac42981c276fb.html"
  },
  {
    "path": "frontend/static/swagger/abp.js",
    "content": "var abp = abp || {};\n(function () {\n\n    /* Application paths *****************************************/\n\n    // Current application root path (including virtual directory if exists).\n    abp.appPath = abp.appPath || '/';\n\n    /* AUTHORIZATION **********************************************/\n    // Implements Authorization API that simplifies usage of authorization scripts generated by Abp.\n\n    abp.auth = abp.auth || {};\n\n    abp.auth.tokenCookieName = 'Abp.AuthToken';\n    abp.auth.tokenHeaderName = 'Authorization';\n\n    abp.auth.setToken = function (authToken, expireDate) {\n        abp.utils.setCookieValue(abp.auth.tokenCookieName, authToken, expireDate, abp.appPath);\n    };\n\n    abp.auth.getToken = function () {\n        return abp.utils.getCookieValue(abp.auth.tokenCookieName);\n    }\n\n    abp.auth.clearToken = function () {\n        abp.auth.setToken();\n    }\n\n    /* UTILS ***************************************************/\n\n    abp.utils = abp.utils || {};\n\n    /**\n         * Sets a cookie value for given key.\n         * This is a simple implementation created to be used by ABP.\n         * Please use a complete cookie library if you need.\n         * @param {string} key\n         * @param {string} value\n         * @param {Date} expireDate (optional). If not specified the cookie will expire at the end of session.\n         * @param {string} path (optional)\n         */\n    abp.utils.setCookieValue = function (key, value, expireDate, path) {\n        var cookieValue = encodeURIComponent(key) + '=';\n\n        if (value) {\n            cookieValue = cookieValue + encodeURIComponent(value);\n        }\n\n        if (expireDate) {\n            cookieValue = cookieValue + \"; expires=\" + expireDate.toUTCString();\n        }\n\n        if (path) {\n            cookieValue = cookieValue + \"; path=\" + path;\n        }\n\n        document.cookie = cookieValue;\n    };\n\n    /**\n     * Gets a cookie with given key.\n     * This is a simple implementation created to be used by ABP.\n     * Please use a complete cookie library if you need.\n     * @param {string} key\n     * @returns {string} Cookie value or null\n     */\n    abp.utils.getCookieValue = function (key) {\n        var equalities = document.cookie.split('; ');\n        for (var i = 0; i < equalities.length; i++) {\n            if (!equalities[i]) {\n                continue;\n            }\n\n            var splitted = equalities[i].split('=');\n            if (splitted.length != 2) {\n                continue;\n            }\n\n            if (decodeURIComponent(splitted[0]) === key) {\n                return decodeURIComponent(splitted[1] || '');\n            }\n        }\n\n        return null;\n    };\n\n    /**\n     * Deletes cookie for given key.\n     * This is a simple implementation created to be used by ABP.\n     * Please use a complete cookie library if you need.\n     * @param {string} key\n     * @param {string} path (optional)\n     */\n    abp.utils.deleteCookie = function (key, path) {\n        var cookieValue = encodeURIComponent(key) + '=';\n\n        cookieValue = cookieValue + \"; expires=\" + (new Date(new Date().getTime() - 86400000)).toUTCString();\n\n        if (path) {\n            cookieValue = cookieValue + \"; path=\" + path;\n        }\n\n        document.cookie = cookieValue;\n    }\n\n    /* SECURITY ***************************************/\n    abp.security = abp.security || {};\n    abp.security.antiForgery = abp.security.antiForgery || {};\n\n    abp.security.antiForgery.tokenCookieName = 'XSRF-TOKEN';\n    abp.security.antiForgery.tokenHeaderName = 'X-XSRF-TOKEN';\n\n    abp.security.antiForgery.getToken = function () {\n        return abp.utils.getCookieValue(abp.security.antiForgery.tokenCookieName);\n    };\n\n})();\n"
  },
  {
    "path": "frontend/static/swagger/abp.swagger.js",
    "content": "var abp = abp || {};\n(function () {\n\n    /* Swagger */\n\n    abp.swagger = abp.swagger || {};\n\n    abp.swagger.addAuthToken = function () {\n        var authToken = abp.auth.getToken();\n        if (!authToken) {\n            return false;\n        }\n\n        var cookieAuth = new SwaggerClient.ApiKeyAuthorization(abp.auth.tokenHeaderName, 'Bearer ' + authToken, 'header');\n        swaggerUi.api.clientAuthorizations.add('bearerAuth', cookieAuth);\n        return true;\n    }\n\n    abp.swagger.addCsrfToken = function () {\n        var csrfToken = abp.security.antiForgery.getToken();\n        if (!csrfToken) {\n            return false;\n        }\n        var csrfCookieAuth = new SwaggerClient.ApiKeyAuthorization(abp.security.antiForgery.tokenHeaderName, csrfToken, 'header');\n        swaggerUi.api.clientAuthorizations.add(abp.security.antiForgery.tokenHeaderName, csrfCookieAuth);\n        return true;\n    }\n\n    function addAntiForgeryTokenToXhr(xhr) {\n        var antiForgeryToken = abp.security.antiForgery.getToken();\n        if (antiForgeryToken) {\n            xhr.setRequestHeader(abp.security.antiForgery.tokenHeaderName, antiForgeryToken);\n        }\n    }\n\n    function loginUserInternal(tenantId, callback) {\n        var usernameOrEmailAddress = document.getElementById('userName').value;\n        if (!usernameOrEmailAddress) {\n            alert('Username or Email Address is required, please try with a valid value !');\n            return false;\n        }\n\n        var password = document.getElementById('password').value;\n        if (!password) {\n            alert('Password is required, please try with a valid value !');\n            return false;\n        }\n\n        var xhr = new XMLHttpRequest();\n\n        xhr.onreadystatechange = function () {\n            if (xhr.readyState === XMLHttpRequest.DONE) {\n                if (xhr.status === 200) {\n                    var responseJSON = JSON.parse(xhr.responseText);\n                    var result = responseJSON.result;\n                    var expireDate = new Date(Date.now() + (result.expireInSeconds * 1000));\n                    abp.auth.setToken(result.accessToken, expireDate);\n                    callback();\n                } else {\n                    alert('Login failed !');\n                }\n            }\n        };\n\n        xhr.open('POST', '/api/TokenAuth/Authenticate', true);\n        xhr.setRequestHeader('Abp.TenantId', tenantId);\n        xhr.setRequestHeader('Content-type', 'application/json');\n        addAntiForgeryTokenToXhr(xhr);\n        xhr.send(\n            JSON.stringify(\n                { usernameOrEmailAddress: usernameOrEmailAddress, password: password }\n            )\n        );\n    }\n\n    abp.swagger.login = function (callback) {\n        //Get TenantId first\n        var tenancyName = document.getElementById('tenancyName').value;\n\n        if (tenancyName) {\n            var xhrTenancyName = new XMLHttpRequest();\n            xhrTenancyName.onreadystatechange = function () {\n                if (xhrTenancyName.readyState === XMLHttpRequest.DONE && xhrTenancyName.status === 200) {\n                    var responseJSON = JSON.parse(xhrTenancyName.responseText);\n                    var result = responseJSON.result;\n                    if (result.state === 1) { // Tenant exists and active.\n                        loginUserInternal(result.tenantId, callback); // Login for tenant\n                    } else {\n                        alert('There is no such tenant or tenant is not active !');\n                    }\n                }\n            };\n\n            xhrTenancyName.open('POST', '/api/services/app/Account/IsTenantAvailable', true);\n            xhrTenancyName.setRequestHeader('Content-type', 'application/json');\n            addAntiForgeryTokenToXhr(xhrTenancyName);\n            xhrTenancyName.send(\n                JSON.stringify({ tenancyName: tenancyName })\n            );\n        } else {\n            loginUserInternal(null, callback); // Login for host\n        }\n    };\n\n    abp.swagger.logout = function () {\n        abp.auth.clearToken();\n    }\n\n    abp.swagger.closeAuthDialog = function () {\n        if (document.getElementById('abp-auth-dialog')) {\n            document.getElementsByClassName(\"swagger-ui\")[1].removeChild(document.getElementById('abp-auth-dialog'));\n        }\n    }\n\n    abp.swagger.openAuthDialog = function (loginCallback) {\n        abp.swagger.closeAuthDialog();\n\n        var abpAuthDialog = document.createElement('div');\n        abpAuthDialog.className = 'dialog-ux';\n        abpAuthDialog.id = 'abp-auth-dialog';\n\n        document.getElementsByClassName(\"swagger-ui\")[1].appendChild(abpAuthDialog);\n\n        // -- backdrop-ux\n        var backdropUx = document.createElement('div');\n        backdropUx.className = 'backdrop-ux';\n        abpAuthDialog.appendChild(backdropUx);\n\n        // -- modal-ux\n        var modalUx = document.createElement('div');\n        modalUx.className = 'modal-ux';\n        abpAuthDialog.appendChild(modalUx);\n\n        // -- -- modal-dialog-ux\n        var modalDialogUx = document.createElement('div');\n        modalDialogUx.className = 'modal-dialog-ux';\n        modalUx.appendChild(modalDialogUx);\n\n        // -- -- -- modal-ux-inner\n        var modalUxInner = document.createElement('div');\n        modalUxInner.className = 'modal-ux-inner';\n        modalDialogUx.appendChild(modalUxInner);\n\n        // -- -- -- -- modal-ux-header\n        var modalUxHeader = document.createElement('div');\n        modalUxHeader.className = 'modal-ux-header';\n        modalUxInner.appendChild(modalUxHeader);\n\n        var modalHeader = document.createElement('h3');\n        modalHeader.innerText = 'Authorize';\n        modalUxHeader.appendChild(modalHeader);\n\n        // -- -- -- -- modal-ux-content\n        var modalUxContent = document.createElement('div');\n        modalUxContent.className = 'modal-ux-content';\n        modalUxInner.appendChild(modalUxContent);\n\n        modalUxContent.onkeydown = function (e) {\n            if (e.keyCode === 13) {\n                //try to login when user presses enter on authorize modal\n                abp.swagger.login(loginCallback);\n            }\n        };\n\n        //Inputs\n        createInput(modalUxContent, 'tenancyName', 'Tenancy Name (Leave empty for Host)');\n        createInput(modalUxContent, 'userName', 'Username or email address');\n        createInput(modalUxContent, 'password', 'Password', 'password');\n\n        //Buttons\n        var authBtnWrapper = document.createElement('div');\n        authBtnWrapper.className = 'auth-btn-wrapper';\n        modalUxContent.appendChild(authBtnWrapper);\n\n        //Close button\n        var closeButton = document.createElement('button');\n        closeButton.className = 'btn modal-btn auth btn-done button';\n        closeButton.innerText = 'Close';\n        closeButton.style.marginRight = '5px';\n        closeButton.onclick = abp.swagger.closeAuthDialog;\n        authBtnWrapper.appendChild(closeButton);\n\n        //Authorize button\n        var authorizeButton = document.createElement('button');\n        authorizeButton.className = 'btn modal-btn auth authorize button';\n        authorizeButton.innerText = 'Login';\n        authorizeButton.onclick = function() {\n            abp.swagger.login(loginCallback);\n        };\n        authBtnWrapper.appendChild(authorizeButton);\n    }\n\n    function createInput(container, id, title, type) {\n        var wrapper = document.createElement('div');\n        wrapper.className = 'wrapper';\n        container.appendChild(wrapper);\n\n        var label = document.createElement('label');\n        label.innerText = title;\n        wrapper.appendChild(label);\n\n        var section = document.createElement('section');\n        section.className = 'block-tablet col-10-tablet block-desktop col-10-desktop';\n        wrapper.appendChild(section);\n\n        var input = document.createElement('input');\n        input.id = id;\n        input.type = type ? type : 'text';\n        input.style.width = '100%';\n\n        section.appendChild(input);\n    }\n\n})();\n"
  },
  {
    "path": "frontend/static/swagger/index.html",
    "content": "<!-- HTML for static distribution bundle build -->\n<!DOCTYPE html>\n<html lang=\"en\">\n\n<head>\n  <meta charset=\"UTF-8\">\n  <title>Swagger UI</title>\n  <link href=\"https://fonts.loli.net/css?family=Open+Sans:400,700|Source+Code+Pro:300,600|Titillium+Web:400,600,700\"\n    rel=\"stylesheet\">\n  <link rel=\"stylesheet\" type=\"text/css\" href=\"./swagger-ui.css\">\n  <link rel=\"icon\" type=\"image/png\" href=\"./favicon-32x32.png\" sizes=\"32x32\" />\n  <link rel=\"icon\" type=\"image/png\" href=\"./favicon-16x16.png\" sizes=\"16x16\" />\n  <style>\n    html {\n      box-sizing: border-box;\n      overflow: -moz-scrollbars-vertical;\n      overflow-y: scroll;\n    }\n\n    *,\n    *:before,\n    *:after {\n      box-sizing: inherit;\n    }\n\n    body {\n      margin: 0;\n      background: #fafafa;\n    }\n  </style>\n</head>\n\n<body>\n\n  <svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n    style=\"position:absolute;width:0;height:0\">\n    <defs>\n      <symbol viewBox=\"0 0 20 20\" id=\"unlocked\">\n        <path\n          d=\"M15.8 8H14V5.6C14 2.703 12.665 1 10 1 7.334 1 6 2.703 6 5.6V6h2v-.801C8 3.754 8.797 3 10 3c1.203 0 2 .754 2 2.199V8H4c-.553 0-1 .646-1 1.199V17c0 .549.428 1.139.951 1.307l1.197.387C5.672 18.861 6.55 19 7.1 19h5.8c.549 0 1.428-.139 1.951-.307l1.196-.387c.524-.167.953-.757.953-1.306V9.199C17 8.646 16.352 8 15.8 8z\">\n        </path>\n      </symbol>\n\n      <symbol viewBox=\"0 0 20 20\" id=\"locked\">\n        <path\n          d=\"M15.8 8H14V5.6C14 2.703 12.665 1 10 1 7.334 1 6 2.703 6 5.6V8H4c-.553 0-1 .646-1 1.199V17c0 .549.428 1.139.951 1.307l1.197.387C5.672 18.861 6.55 19 7.1 19h5.8c.549 0 1.428-.139 1.951-.307l1.196-.387c.524-.167.953-.757.953-1.306V9.199C17 8.646 16.352 8 15.8 8zM12 8H8V5.199C8 3.754 8.797 3 10 3c1.203 0 2 .754 2 2.199V8z\" />\n      </symbol>\n\n      <symbol viewBox=\"0 0 20 20\" id=\"close\">\n        <path\n          d=\"M14.348 14.849c-.469.469-1.229.469-1.697 0L10 11.819l-2.651 3.029c-.469.469-1.229.469-1.697 0-.469-.469-.469-1.229 0-1.697l2.758-3.15-2.759-3.152c-.469-.469-.469-1.228 0-1.697.469-.469 1.228-.469 1.697 0L10 8.183l2.651-3.031c.469-.469 1.228-.469 1.697 0 .469.469.469 1.229 0 1.697l-2.758 3.152 2.758 3.15c.469.469.469 1.229 0 1.698z\" />\n      </symbol>\n\n      <symbol viewBox=\"0 0 20 20\" id=\"large-arrow\">\n        <path\n          d=\"M13.25 10L6.109 2.58c-.268-.27-.268-.707 0-.979.268-.27.701-.27.969 0l7.83 7.908c.268.271.268.709 0 .979l-7.83 7.908c-.268.271-.701.27-.969 0-.268-.269-.268-.707 0-.979L13.25 10z\" />\n      </symbol>\n\n      <symbol viewBox=\"0 0 20 20\" id=\"large-arrow-down\">\n        <path\n          d=\"M17.418 6.109c.272-.268.709-.268.979 0s.271.701 0 .969l-7.908 7.83c-.27.268-.707.268-.979 0l-7.908-7.83c-.27-.268-.27-.701 0-.969.271-.268.709-.268.979 0L10 13.25l7.418-7.141z\" />\n      </symbol>\n\n\n      <symbol viewBox=\"0 0 24 24\" id=\"jump-to\">\n        <path d=\"M19 7v4H5.83l3.58-3.59L8 6l-6 6 6 6 1.41-1.41L5.83 13H21V7z\" />\n      </symbol>\n\n      <symbol viewBox=\"0 0 24 24\" id=\"expand\">\n        <path d=\"M10 18h4v-2h-4v2zM3 6v2h18V6H3zm3 7h12v-2H6v2z\" />\n      </symbol>\n\n    </defs>\n  </svg>\n\n  <div id=\"swagger-ui\"></div>\n\n  <script src=\"./swagger-ui-bundle.js\"> </script>\n  <script src=\"./swagger-ui-standalone-preset.js\"> </script>\n  <script src=\"./abp.js\"></script>\n  <script src=\"./abp.swagger.js\"></script>\n  <script>\n    window.onload = function () {\n\n      var authToken = abp.auth.getToken();\n      if (authToken) {\n        fetch(\"/AntiForgery/SetCookie\",\n          {\n            headers: {\n              \"Authorization\": 'Bearer ' + authToken\n            }\n          });\n      } else {\n        fetch(\"/AntiForgery/SetCookie\");\n      }\n\n      function getAuthorizeButtonText() {\n        return abp.auth.getToken() ? 'Logout' : 'Authorize';\n      }\n      function getAuthorizeButtonCssClass() {\n        return abp.auth.getToken() ? 'cancel' : 'authorize';\n      }\n\n      // Build a system\n      const ui = SwaggerUIBundle({\n        urls: [\n          { url: \"/api/crawlers/swagger.json\", name: 'Crawler API' },\n          { url: \"/api/backend/v1/swagger.json\", name: 'Backend API V1' },\n          { url: \"/api/ohunt/v1/swagger.json\", name: 'OHunt API V1' },\n        ],\n        dom_id: '#swagger-ui',\n        deepLinking: true,\n        presets: [\n          SwaggerUIBundle.presets.apis,\n          SwaggerUIStandalonePreset\n        ],\n        plugins: [\n          SwaggerUIBundle.plugins.DownloadUrl,\n          SwaggerUIBundle.plugins.TopBar,\n          function (system) {\n            return {\n              components: {\n                authorizeBtn: function () {\n                  return system.React.createElement(\"button\",\n                    {\n                      id: \"authorize\",\n                      className: \"btn \" + getAuthorizeButtonCssClass(),\n                      style: {\n                        lineHeight: \"normal\"\n                      },\n                      onClick: function () {\n                        if (abp.auth.getToken()) {\n                          abp.swagger.logout();\n                          location.reload();\n                        } else {\n                          abp.swagger.openAuthDialog(function () {\n                            location.reload();\n                          });\n                        }\n                      }\n                    }, getAuthorizeButtonText());\n                }\n              }\n            }\n          }\n        ],\n        layout: \"StandaloneLayout\",\n        requestInterceptor(request) {\n          var token = abp.auth.getToken();\n          if (token) {\n            request.headers.Authorization = \"Bearer \" + token;\n          }\n          var antiForgeryToken = abp.security.antiForgery.getToken();\n          if (antiForgeryToken) {\n            request.headers[abp.security.antiForgery.tokenHeaderName] = antiForgeryToken;\n          }\n          return request;\n        }\n      })\n\n      window.ui = ui\n    }\n  </script>\n</body>\n\n</html>\n"
  },
  {
    "path": "frontend/static/swagger/oauth2-redirect.html",
    "content": "<!doctype html>\n<html lang=\"en-US\">\n<body onload=\"run()\">\n</body>\n</html>\n<script>\n    'use strict';\n    function run () {\n        var oauth2 = window.opener.swaggerUIRedirectOauth2;\n        var sentState = oauth2.state;\n        var redirectUrl = oauth2.redirectUrl;\n        var isValid, qp, arr;\n\n        if (/code|token|error/.test(window.location.hash)) {\n            qp = window.location.hash.substring(1);\n        } else {\n            qp = location.search.substring(1);\n        }\n\n        arr = qp.split(\"&\")\n        arr.forEach(function (v,i,_arr) { _arr[i] = '\"' + v.replace('=', '\":\"') + '\"';})\n        qp = qp ? JSON.parse('{' + arr.join() + '}',\n                function (key, value) {\n                    return key === \"\" ? value : decodeURIComponent(value)\n                }\n        ) : {}\n\n        isValid = qp.state === sentState\n\n        if ((\n          oauth2.auth.schema.get(\"flow\") === \"accessCode\"||\n          oauth2.auth.schema.get(\"flow\") === \"authorizationCode\"\n        ) && !oauth2.auth.code) {\n            if (!isValid) {\n                oauth2.errCb({\n                    authId: oauth2.auth.name,\n                    source: \"auth\",\n                    level: \"warning\",\n                    message: \"Authorization may be unsafe, passed state was changed in server Passed state wasn't returned from auth server\"\n                });\n            }\n\n            if (qp.code) {\n                delete oauth2.state;\n                oauth2.auth.code = qp.code;\n                oauth2.callback({auth: oauth2.auth, redirectUrl: redirectUrl});\n            } else {\n                let oauthErrorMsg\n                if (qp.error) {\n                    oauthErrorMsg = \"[\"+qp.error+\"]: \" +\n                        (qp.error_description ? qp.error_description+ \". \" : \"no accessCode received from the server. \") +\n                        (qp.error_uri ? \"More info: \"+qp.error_uri : \"\");\n                }\n\n                oauth2.errCb({\n                    authId: oauth2.auth.name,\n                    source: \"auth\",\n                    level: \"error\",\n                    message: oauthErrorMsg || \"[Authorization failed]: no accessCode received from the server\"\n                });\n            }\n        } else {\n            oauth2.callback({auth: oauth2.auth, token: qp, isValid: isValid, redirectUrl: redirectUrl});\n        }\n        window.close();\n    }\n</script>\n"
  },
  {
    "path": "frontend/static/swagger/swagger-ui-bundle.js",
    "content": "!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define([],t):\"object\"==typeof exports?exports.SwaggerUIBundle=t():e.SwaggerUIBundle=t()}(this,function(){return function(e){function t(r){if(n[r])return n[r].exports;var i=n[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,t),i.l=!0,i.exports}var n={};return t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,\"a\",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p=\"/dist\",t(t.s=1229)}([function(e,t,n){\"use strict\";e.exports=n(92)},function(e,t,n){e.exports=n(1009)()},function(e,t,n){\"use strict\";t.__esModule=!0,t.default=function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}},function(e,t,n){\"use strict\";t.__esModule=!0;var r=n(337),i=function(e){return e&&e.__esModule?e:{default:e}}(r);t.default=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),(0,i.default)(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}()},function(e,t,n){e.exports={default:n(605),__esModule:!0}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var i=n(579),o=r(i),a=n(336),s=r(a),u=n(48),l=r(u);t.default=function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+(void 0===t?\"undefined\":(0,l.default)(t)));e.prototype=(0,s.default)(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(o.default?(0,o.default)(e,t):e.__proto__=t)}},function(e,t,n){\"use strict\";t.__esModule=!0;var r=n(48),i=function(e){return e&&e.__esModule?e:{default:e}}(r);t.default=function(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!==(void 0===t?\"undefined\":(0,i.default)(t))&&\"function\"!=typeof t?e:t}},function(e,t,n){!function(t,n){e.exports=n()}(0,function(){\"use strict\";function e(e,t){t&&(e.prototype=Object.create(t.prototype)),e.prototype.constructor=e}function t(e){return o(e)?e:O(e)}function n(e){return a(e)?e:M(e)}function r(e){return s(e)?e:T(e)}function i(e){return o(e)&&!u(e)?e:P(e)}function o(e){return!(!e||!e[ln])}function a(e){return!(!e||!e[cn])}function s(e){return!(!e||!e[pn])}function u(e){return a(e)||s(e)}function l(e){return!(!e||!e[fn])}function c(e){return e.value=!1,e}function p(e){e&&(e.value=!0)}function f(){}function h(e,t){t=t||0;for(var n=Math.max(0,e.length-t),r=new Array(n),i=0;i<n;i++)r[i]=e[i+t];return r}function d(e){return void 0===e.size&&(e.size=e.__iterate(v)),e.size}function m(e,t){if(\"number\"!=typeof t){var n=t>>>0;if(\"\"+n!==t||4294967295===n)return NaN;t=n}return t<0?d(e)+t:t}function v(){return!0}function g(e,t,n){return(0===e||void 0!==n&&e<=-n)&&(void 0===t||void 0!==n&&t>=n)}function y(e,t){return b(e,t,0)}function _(e,t){return b(e,t,t)}function b(e,t,n){return void 0===e?n:e<0?Math.max(0,t+e):void 0===t?e:Math.min(t,e)}function x(e){this.next=e}function w(e,t,n,r){var i=0===e?t:1===e?n:[t,n];return r?r.value=i:r={value:i,done:!1},r}function k(){return{value:void 0,done:!0}}function E(e){return!!A(e)}function S(e){return e&&\"function\"==typeof e.next}function C(e){var t=A(e);return t&&t.call(e)}function A(e){var t=e&&(wn&&e[wn]||e[kn]);if(\"function\"==typeof t)return t}function D(e){return e&&\"number\"==typeof e.length}function O(e){return null===e||void 0===e?B():o(e)?e.toSeq():z(e)}function M(e){return null===e||void 0===e?B().toKeyedSeq():o(e)?a(e)?e.toSeq():e.fromEntrySeq():L(e)}function T(e){return null===e||void 0===e?B():o(e)?a(e)?e.entrySeq():e.toIndexedSeq():q(e)}function P(e){return(null===e||void 0===e?B():o(e)?a(e)?e.entrySeq():e:q(e)).toSetSeq()}function I(e){this._array=e,this.size=e.length}function R(e){var t=Object.keys(e);this._object=e,this._keys=t,this.size=t.length}function j(e){this._iterable=e,this.size=e.length||e.size}function N(e){this._iterator=e,this._iteratorCache=[]}function F(e){return!(!e||!e[Sn])}function B(){return Cn||(Cn=new I([]))}function L(e){var t=Array.isArray(e)?new I(e).fromEntrySeq():S(e)?new N(e).fromEntrySeq():E(e)?new j(e).fromEntrySeq():\"object\"==typeof e?new R(e):void 0;if(!t)throw new TypeError(\"Expected Array or iterable object of [k, v] entries, or keyed object: \"+e);return t}function q(e){var t=U(e);if(!t)throw new TypeError(\"Expected Array or iterable object of values: \"+e);return t}function z(e){var t=U(e)||\"object\"==typeof e&&new R(e);if(!t)throw new TypeError(\"Expected Array or iterable object of values, or keyed object: \"+e);return t}function U(e){return D(e)?new I(e):S(e)?new N(e):E(e)?new j(e):void 0}function W(e,t,n,r){var i=e._cache;if(i){for(var o=i.length-1,a=0;a<=o;a++){var s=i[n?o-a:a];if(!1===t(s[1],r?s[0]:a,e))return a+1}return a}return e.__iterateUncached(t,n)}function V(e,t,n,r){var i=e._cache;if(i){var o=i.length-1,a=0;return new x(function(){var e=i[n?o-a:a];return a++>o?k():w(t,r?e[0]:a-1,e[1])})}return e.__iteratorUncached(t,n)}function H(e,t){return t?J(t,e,\"\",{\"\":e}):G(e)}function J(e,t,n,r){return Array.isArray(t)?e.call(r,n,T(t).map(function(n,r){return J(e,n,r,t)})):X(t)?e.call(r,n,M(t).map(function(n,r){return J(e,n,r,t)})):t}function G(e){return Array.isArray(e)?T(e).map(G).toList():X(e)?M(e).map(G).toMap():e}function X(e){return e&&(e.constructor===Object||void 0===e.constructor)}function Y(e,t){if(e===t||e!==e&&t!==t)return!0;if(!e||!t)return!1;if(\"function\"==typeof e.valueOf&&\"function\"==typeof t.valueOf){if(e=e.valueOf(),t=t.valueOf(),e===t||e!==e&&t!==t)return!0;if(!e||!t)return!1}return!(\"function\"!=typeof e.equals||\"function\"!=typeof t.equals||!e.equals(t))}function K(e,t){if(e===t)return!0;if(!o(t)||void 0!==e.size&&void 0!==t.size&&e.size!==t.size||void 0!==e.__hash&&void 0!==t.__hash&&e.__hash!==t.__hash||a(e)!==a(t)||s(e)!==s(t)||l(e)!==l(t))return!1;if(0===e.size&&0===t.size)return!0;var n=!u(e);if(l(e)){var r=e.entries();return t.every(function(e,t){var i=r.next().value;return i&&Y(i[1],e)&&(n||Y(i[0],t))})&&r.next().done}var i=!1;if(void 0===e.size)if(void 0===t.size)\"function\"==typeof e.cacheResult&&e.cacheResult();else{i=!0;var c=e;e=t,t=c}var p=!0,f=t.__iterate(function(t,r){if(n?!e.has(t):i?!Y(t,e.get(r,vn)):!Y(e.get(r,vn),t))return p=!1,!1});return p&&e.size===f}function $(e,t){if(!(this instanceof $))return new $(e,t);if(this._value=e,this.size=void 0===t?1/0:Math.max(0,t),0===this.size){if(An)return An;An=this}}function Z(e,t){if(!e)throw new Error(t)}function Q(e,t,n){if(!(this instanceof Q))return new Q(e,t,n);if(Z(0!==n,\"Cannot step a Range by 0\"),e=e||0,void 0===t&&(t=1/0),n=void 0===n?1:Math.abs(n),t<e&&(n=-n),this._start=e,this._end=t,this._step=n,this.size=Math.max(0,Math.ceil((t-e)/n-1)+1),0===this.size){if(Dn)return Dn;Dn=this}}function ee(){throw TypeError(\"Abstract\")}function te(){}function ne(){}function re(){}function ie(e){return e>>>1&1073741824|3221225471&e}function oe(e){if(!1===e||null===e||void 0===e)return 0;if(\"function\"==typeof e.valueOf&&(!1===(e=e.valueOf())||null===e||void 0===e))return 0;if(!0===e)return 1;var t=typeof e;if(\"number\"===t){if(e!==e||e===1/0)return 0;var n=0|e;for(n!==e&&(n^=4294967295*e);e>4294967295;)e/=4294967295,n^=e;return ie(n)}if(\"string\"===t)return e.length>Nn?ae(e):se(e);if(\"function\"==typeof e.hashCode)return e.hashCode();if(\"object\"===t)return ue(e);if(\"function\"==typeof e.toString)return se(e.toString());throw new Error(\"Value type \"+t+\" cannot be hashed.\")}function ae(e){var t=Ln[e];return void 0===t&&(t=se(e),Bn===Fn&&(Bn=0,Ln={}),Bn++,Ln[e]=t),t}function se(e){for(var t=0,n=0;n<e.length;n++)t=31*t+e.charCodeAt(n)|0;return ie(t)}function ue(e){var t;if(In&&void 0!==(t=On.get(e)))return t;if(void 0!==(t=e[jn]))return t;if(!Pn){if(void 0!==(t=e.propertyIsEnumerable&&e.propertyIsEnumerable[jn]))return t;if(void 0!==(t=le(e)))return t}if(t=++Rn,1073741824&Rn&&(Rn=0),In)On.set(e,t);else{if(void 0!==Tn&&!1===Tn(e))throw new Error(\"Non-extensible objects are not allowed as keys.\");if(Pn)Object.defineProperty(e,jn,{enumerable:!1,configurable:!1,writable:!1,value:t});else if(void 0!==e.propertyIsEnumerable&&e.propertyIsEnumerable===e.constructor.prototype.propertyIsEnumerable)e.propertyIsEnumerable=function(){return this.constructor.prototype.propertyIsEnumerable.apply(this,arguments)},e.propertyIsEnumerable[jn]=t;else{if(void 0===e.nodeType)throw new Error(\"Unable to set a non-enumerable property on object.\");e[jn]=t}}return t}function le(e){if(e&&e.nodeType>0)switch(e.nodeType){case 1:return e.uniqueID;case 9:return e.documentElement&&e.documentElement.uniqueID}}function ce(e){Z(e!==1/0,\"Cannot perform this action with an infinite size.\")}function pe(e){return null===e||void 0===e?we():fe(e)&&!l(e)?e:we().withMutations(function(t){var r=n(e);ce(r.size),r.forEach(function(e,n){return t.set(n,e)})})}function fe(e){return!(!e||!e[qn])}function he(e,t){this.ownerID=e,this.entries=t}function de(e,t,n){this.ownerID=e,this.bitmap=t,this.nodes=n}function me(e,t,n){this.ownerID=e,this.count=t,this.nodes=n}function ve(e,t,n){this.ownerID=e,this.keyHash=t,this.entries=n}function ge(e,t,n){this.ownerID=e,this.keyHash=t,this.entry=n}function ye(e,t,n){this._type=t,this._reverse=n,this._stack=e._root&&be(e._root)}function _e(e,t){return w(e,t[0],t[1])}function be(e,t){return{node:e,index:0,__prev:t}}function xe(e,t,n,r){var i=Object.create(zn);return i.size=e,i._root=t,i.__ownerID=n,i.__hash=r,i.__altered=!1,i}function we(){return Un||(Un=xe(0))}function ke(e,t,n){var r,i;if(e._root){var o=c(gn),a=c(yn);if(r=Ee(e._root,e.__ownerID,0,void 0,t,n,o,a),!a.value)return e;i=e.size+(o.value?n===vn?-1:1:0)}else{if(n===vn)return e;i=1,r=new he(e.__ownerID,[[t,n]])}return e.__ownerID?(e.size=i,e._root=r,e.__hash=void 0,e.__altered=!0,e):r?xe(i,r):we()}function Ee(e,t,n,r,i,o,a,s){return e?e.update(t,n,r,i,o,a,s):o===vn?e:(p(s),p(a),new ge(t,r,[i,o]))}function Se(e){return e.constructor===ge||e.constructor===ve}function Ce(e,t,n,r,i){if(e.keyHash===r)return new ve(t,r,[e.entry,i]);var o,a=(0===n?e.keyHash:e.keyHash>>>n)&mn,s=(0===n?r:r>>>n)&mn;return new de(t,1<<a|1<<s,a===s?[Ce(e,t,n+hn,r,i)]:(o=new ge(t,r,i),a<s?[e,o]:[o,e]))}function Ae(e,t,n,r){e||(e=new f);for(var i=new ge(e,oe(n),[n,r]),o=0;o<t.length;o++){var a=t[o];i=i.update(e,0,void 0,a[0],a[1])}return i}function De(e,t,n,r){for(var i=0,o=0,a=new Array(n),s=0,u=1,l=t.length;s<l;s++,u<<=1){var c=t[s];void 0!==c&&s!==r&&(i|=u,a[o++]=c)}return new de(e,i,a)}function Oe(e,t,n,r,i){for(var o=0,a=new Array(dn),s=0;0!==n;s++,n>>>=1)a[s]=1&n?t[o++]:void 0;return a[r]=i,new me(e,o+1,a)}function Me(e,t,r){for(var i=[],a=0;a<r.length;a++){var s=r[a],u=n(s);o(s)||(u=u.map(function(e){return H(e)})),i.push(u)}return Ie(e,t,i)}function Te(e,t,n){return e&&e.mergeDeep&&o(t)?e.mergeDeep(t):Y(e,t)?e:t}function Pe(e){return function(t,n,r){if(t&&t.mergeDeepWith&&o(n))return t.mergeDeepWith(e,n);var i=e(t,n,r);return Y(t,i)?t:i}}function Ie(e,t,n){return n=n.filter(function(e){return 0!==e.size}),0===n.length?e:0!==e.size||e.__ownerID||1!==n.length?e.withMutations(function(e){for(var r=t?function(n,r){e.update(r,vn,function(e){return e===vn?n:t(e,n,r)})}:function(t,n){e.set(n,t)},i=0;i<n.length;i++)n[i].forEach(r)}):e.constructor(n[0])}function Re(e,t,n,r){var i=e===vn,o=t.next();if(o.done){var a=i?n:e,s=r(a);return s===a?e:s}Z(i||e&&e.set,\"invalid keyPath\");var u=o.value,l=i?vn:e.get(u,vn),c=Re(l,t,n,r);return c===l?e:c===vn?e.remove(u):(i?we():e).set(u,c)}function je(e){return e-=e>>1&1431655765,e=(858993459&e)+(e>>2&858993459),e=e+(e>>4)&252645135,e+=e>>8,127&(e+=e>>16)}function Ne(e,t,n,r){var i=r?e:h(e);return i[t]=n,i}function Fe(e,t,n,r){var i=e.length+1;if(r&&t+1===i)return e[t]=n,e;for(var o=new Array(i),a=0,s=0;s<i;s++)s===t?(o[s]=n,a=-1):o[s]=e[s+a];return o}function Be(e,t,n){var r=e.length-1;if(n&&t===r)return e.pop(),e;for(var i=new Array(r),o=0,a=0;a<r;a++)a===t&&(o=1),i[a]=e[a+o];return i}function Le(e){var t=Ve();if(null===e||void 0===e)return t;if(qe(e))return e;var n=r(e),i=n.size;return 0===i?t:(ce(i),i>0&&i<dn?We(0,i,hn,null,new ze(n.toArray())):t.withMutations(function(e){e.setSize(i),n.forEach(function(t,n){return e.set(n,t)})}))}function qe(e){return!(!e||!e[Jn])}function ze(e,t){this.array=e,this.ownerID=t}function Ue(e,t){function n(e,t,n){return 0===t?r(e,n):i(e,t,n)}function r(e,n){var r=n===s?u&&u.array:e&&e.array,i=n>o?0:o-n,l=a-n;return l>dn&&(l=dn),function(){if(i===l)return Yn;var e=t?--l:i++;return r&&r[e]}}function i(e,r,i){var s,u=e&&e.array,l=i>o?0:o-i>>r,c=1+(a-i>>r);return c>dn&&(c=dn),function(){for(;;){if(s){var e=s();if(e!==Yn)return e;s=null}if(l===c)return Yn;var o=t?--c:l++;s=n(u&&u[o],r-hn,i+(o<<r))}}}var o=e._origin,a=e._capacity,s=$e(a),u=e._tail;return n(e._root,e._level,0)}function We(e,t,n,r,i,o,a){var s=Object.create(Gn);return s.size=t-e,s._origin=e,s._capacity=t,s._level=n,s._root=r,s._tail=i,s.__ownerID=o,s.__hash=a,s.__altered=!1,s}function Ve(){return Xn||(Xn=We(0,0,hn))}function He(e,t,n){if((t=m(e,t))!==t)return e;if(t>=e.size||t<0)return e.withMutations(function(e){t<0?Ye(e,t).set(0,n):Ye(e,0,t+1).set(t,n)});t+=e._origin;var r=e._tail,i=e._root,o=c(yn);return t>=$e(e._capacity)?r=Je(r,e.__ownerID,0,t,n,o):i=Je(i,e.__ownerID,e._level,t,n,o),o.value?e.__ownerID?(e._root=i,e._tail=r,e.__hash=void 0,e.__altered=!0,e):We(e._origin,e._capacity,e._level,i,r):e}function Je(e,t,n,r,i,o){var a=r>>>n&mn,s=e&&a<e.array.length;if(!s&&void 0===i)return e;var u;if(n>0){var l=e&&e.array[a],c=Je(l,t,n-hn,r,i,o);return c===l?e:(u=Ge(e,t),u.array[a]=c,u)}return s&&e.array[a]===i?e:(p(o),u=Ge(e,t),void 0===i&&a===u.array.length-1?u.array.pop():u.array[a]=i,u)}function Ge(e,t){return t&&e&&t===e.ownerID?e:new ze(e?e.array.slice():[],t)}function Xe(e,t){if(t>=$e(e._capacity))return e._tail;if(t<1<<e._level+hn){for(var n=e._root,r=e._level;n&&r>0;)n=n.array[t>>>r&mn],r-=hn;return n}}function Ye(e,t,n){void 0!==t&&(t|=0),void 0!==n&&(n|=0);var r=e.__ownerID||new f,i=e._origin,o=e._capacity,a=i+t,s=void 0===n?o:n<0?o+n:i+n;if(a===i&&s===o)return e;if(a>=s)return e.clear();for(var u=e._level,l=e._root,c=0;a+c<0;)l=new ze(l&&l.array.length?[void 0,l]:[],r),u+=hn,c+=1<<u;c&&(a+=c,i+=c,s+=c,o+=c);for(var p=$e(o),h=$e(s);h>=1<<u+hn;)l=new ze(l&&l.array.length?[l]:[],r),u+=hn;var d=e._tail,m=h<p?Xe(e,s-1):h>p?new ze([],r):d;if(d&&h>p&&a<o&&d.array.length){l=Ge(l,r);for(var v=l,g=u;g>hn;g-=hn){var y=p>>>g&mn;v=v.array[y]=Ge(v.array[y],r)}v.array[p>>>hn&mn]=d}if(s<o&&(m=m&&m.removeAfter(r,0,s)),a>=h)a-=h,s-=h,u=hn,l=null,m=m&&m.removeBefore(r,0,a);else if(a>i||h<p){for(c=0;l;){var _=a>>>u&mn;if(_!==h>>>u&mn)break;_&&(c+=(1<<u)*_),u-=hn,l=l.array[_]}l&&a>i&&(l=l.removeBefore(r,u,a-c)),l&&h<p&&(l=l.removeAfter(r,u,h-c)),c&&(a-=c,s-=c)}return e.__ownerID?(e.size=s-a,e._origin=a,e._capacity=s,e._level=u,e._root=l,e._tail=m,e.__hash=void 0,e.__altered=!0,e):We(a,s,u,l,m)}function Ke(e,t,n){for(var i=[],a=0,s=0;s<n.length;s++){var u=n[s],l=r(u);l.size>a&&(a=l.size),o(u)||(l=l.map(function(e){return H(e)})),i.push(l)}return a>e.size&&(e=e.setSize(a)),Ie(e,t,i)}function $e(e){return e<dn?0:e-1>>>hn<<hn}function Ze(e){return null===e||void 0===e?tt():Qe(e)?e:tt().withMutations(function(t){var r=n(e);ce(r.size),r.forEach(function(e,n){return t.set(n,e)})})}function Qe(e){return fe(e)&&l(e)}function et(e,t,n,r){var i=Object.create(Ze.prototype);return i.size=e?e.size:0,i._map=e,i._list=t,i.__ownerID=n,i.__hash=r,i}function tt(){return Kn||(Kn=et(we(),Ve()))}function nt(e,t,n){var r,i,o=e._map,a=e._list,s=o.get(t),u=void 0!==s;if(n===vn){if(!u)return e;a.size>=dn&&a.size>=2*o.size?(i=a.filter(function(e,t){return void 0!==e&&s!==t}),r=i.toKeyedSeq().map(function(e){return e[0]}).flip().toMap(),e.__ownerID&&(r.__ownerID=i.__ownerID=e.__ownerID)):(r=o.remove(t),i=s===a.size-1?a.pop():a.set(s,void 0))}else if(u){if(n===a.get(s)[1])return e;r=o,i=a.set(s,[t,n])}else r=o.set(t,a.size),i=a.set(a.size,[t,n]);return e.__ownerID?(e.size=r.size,e._map=r,e._list=i,e.__hash=void 0,e):et(r,i)}function rt(e,t){this._iter=e,this._useKeys=t,this.size=e.size}function it(e){this._iter=e,this.size=e.size}function ot(e){this._iter=e,this.size=e.size}function at(e){this._iter=e,this.size=e.size}function st(e){var t=Dt(e);return t._iter=e,t.size=e.size,t.flip=function(){return e},t.reverse=function(){var t=e.reverse.apply(this);return t.flip=function(){return e.reverse()},t},t.has=function(t){return e.includes(t)},t.includes=function(t){return e.has(t)},t.cacheResult=Ot,t.__iterateUncached=function(t,n){var r=this;return e.__iterate(function(e,n){return!1!==t(n,e,r)},n)},t.__iteratorUncached=function(t,n){if(t===xn){var r=e.__iterator(t,n);return new x(function(){var e=r.next();if(!e.done){var t=e.value[0];e.value[0]=e.value[1],e.value[1]=t}return e})}return e.__iterator(t===bn?_n:bn,n)},t}function ut(e,t,n){var r=Dt(e);return r.size=e.size,r.has=function(t){return e.has(t)},r.get=function(r,i){var o=e.get(r,vn);return o===vn?i:t.call(n,o,r,e)},r.__iterateUncached=function(r,i){var o=this;return e.__iterate(function(e,i,a){return!1!==r(t.call(n,e,i,a),i,o)},i)},r.__iteratorUncached=function(r,i){var o=e.__iterator(xn,i);return new x(function(){var i=o.next();if(i.done)return i;var a=i.value,s=a[0];return w(r,s,t.call(n,a[1],s,e),i)})},r}function lt(e,t){var n=Dt(e);return n._iter=e,n.size=e.size,n.reverse=function(){return e},e.flip&&(n.flip=function(){var t=st(e);return t.reverse=function(){return e.flip()},t}),n.get=function(n,r){return e.get(t?n:-1-n,r)},n.has=function(n){return e.has(t?n:-1-n)},n.includes=function(t){return e.includes(t)},n.cacheResult=Ot,n.__iterate=function(t,n){var r=this;return e.__iterate(function(e,n){return t(e,n,r)},!n)},n.__iterator=function(t,n){return e.__iterator(t,!n)},n}function ct(e,t,n,r){var i=Dt(e);return r&&(i.has=function(r){var i=e.get(r,vn);return i!==vn&&!!t.call(n,i,r,e)},i.get=function(r,i){var o=e.get(r,vn);return o!==vn&&t.call(n,o,r,e)?o:i}),i.__iterateUncached=function(i,o){var a=this,s=0;return e.__iterate(function(e,o,u){if(t.call(n,e,o,u))return s++,i(e,r?o:s-1,a)},o),s},i.__iteratorUncached=function(i,o){var a=e.__iterator(xn,o),s=0;return new x(function(){for(;;){var o=a.next();if(o.done)return o;var u=o.value,l=u[0],c=u[1];if(t.call(n,c,l,e))return w(i,r?l:s++,c,o)}})},i}function pt(e,t,n){var r=pe().asMutable();return e.__iterate(function(i,o){r.update(t.call(n,i,o,e),0,function(e){return e+1})}),r.asImmutable()}function ft(e,t,n){var r=a(e),i=(l(e)?Ze():pe()).asMutable();e.__iterate(function(o,a){i.update(t.call(n,o,a,e),function(e){return e=e||[],e.push(r?[a,o]:o),e})});var o=At(e);return i.map(function(t){return Et(e,o(t))})}function ht(e,t,n,r){var i=e.size;if(void 0!==t&&(t|=0),void 0!==n&&(n===1/0?n=i:n|=0),g(t,n,i))return e;var o=y(t,i),a=_(n,i);if(o!==o||a!==a)return ht(e.toSeq().cacheResult(),t,n,r);var s,u=a-o;u===u&&(s=u<0?0:u);var l=Dt(e);return l.size=0===s?s:e.size&&s||void 0,!r&&F(e)&&s>=0&&(l.get=function(t,n){return t=m(this,t),t>=0&&t<s?e.get(t+o,n):n}),l.__iterateUncached=function(t,n){var i=this;if(0===s)return 0;if(n)return this.cacheResult().__iterate(t,n);var a=0,u=!0,l=0;return e.__iterate(function(e,n){if(!u||!(u=a++<o))return l++,!1!==t(e,r?n:l-1,i)&&l!==s}),l},l.__iteratorUncached=function(t,n){if(0!==s&&n)return this.cacheResult().__iterator(t,n);var i=0!==s&&e.__iterator(t,n),a=0,u=0;return new x(function(){for(;a++<o;)i.next();if(++u>s)return k();var e=i.next();return r||t===bn?e:t===_n?w(t,u-1,void 0,e):w(t,u-1,e.value[1],e)})},l}function dt(e,t,n){var r=Dt(e);return r.__iterateUncached=function(r,i){var o=this;if(i)return this.cacheResult().__iterate(r,i);var a=0;return e.__iterate(function(e,i,s){return t.call(n,e,i,s)&&++a&&r(e,i,o)}),a},r.__iteratorUncached=function(r,i){var o=this;if(i)return this.cacheResult().__iterator(r,i);var a=e.__iterator(xn,i),s=!0;return new x(function(){if(!s)return k();var e=a.next();if(e.done)return e;var i=e.value,u=i[0],l=i[1];return t.call(n,l,u,o)?r===xn?e:w(r,u,l,e):(s=!1,k())})},r}function mt(e,t,n,r){var i=Dt(e);return i.__iterateUncached=function(i,o){var a=this;if(o)return this.cacheResult().__iterate(i,o);var s=!0,u=0;return e.__iterate(function(e,o,l){if(!s||!(s=t.call(n,e,o,l)))return u++,i(e,r?o:u-1,a)}),u},i.__iteratorUncached=function(i,o){var a=this;if(o)return this.cacheResult().__iterator(i,o);var s=e.__iterator(xn,o),u=!0,l=0;return new x(function(){var e,o,c;do{if(e=s.next(),e.done)return r||i===bn?e:i===_n?w(i,l++,void 0,e):w(i,l++,e.value[1],e);var p=e.value;o=p[0],c=p[1],u&&(u=t.call(n,c,o,a))}while(u);return i===xn?e:w(i,o,c,e)})},i}function vt(e,t){var r=a(e),i=[e].concat(t).map(function(e){return o(e)?r&&(e=n(e)):e=r?L(e):q(Array.isArray(e)?e:[e]),e}).filter(function(e){return 0!==e.size});if(0===i.length)return e;if(1===i.length){var u=i[0];if(u===e||r&&a(u)||s(e)&&s(u))return u}var l=new I(i);return r?l=l.toKeyedSeq():s(e)||(l=l.toSetSeq()),l=l.flatten(!0),l.size=i.reduce(function(e,t){if(void 0!==e){var n=t.size;if(void 0!==n)return e+n}},0),l}function gt(e,t,n){var r=Dt(e);return r.__iterateUncached=function(r,i){function a(e,l){var c=this;e.__iterate(function(e,i){return(!t||l<t)&&o(e)?a(e,l+1):!1===r(e,n?i:s++,c)&&(u=!0),!u},i)}var s=0,u=!1;return a(e,0),s},r.__iteratorUncached=function(r,i){var a=e.__iterator(r,i),s=[],u=0;return new x(function(){for(;a;){var e=a.next();if(!1===e.done){var l=e.value;if(r===xn&&(l=l[1]),t&&!(s.length<t)||!o(l))return n?e:w(r,u++,l,e);s.push(a),a=l.__iterator(r,i)}else a=s.pop()}return k()})},r}function yt(e,t,n){var r=At(e);return e.toSeq().map(function(i,o){return r(t.call(n,i,o,e))}).flatten(!0)}function _t(e,t){var n=Dt(e);return n.size=e.size&&2*e.size-1,n.__iterateUncached=function(n,r){var i=this,o=0;return e.__iterate(function(e,r){return(!o||!1!==n(t,o++,i))&&!1!==n(e,o++,i)},r),o},n.__iteratorUncached=function(n,r){var i,o=e.__iterator(bn,r),a=0;return new x(function(){return(!i||a%2)&&(i=o.next(),i.done)?i:a%2?w(n,a++,t):w(n,a++,i.value,i)})},n}function bt(e,t,n){t||(t=Mt);var r=a(e),i=0,o=e.toSeq().map(function(t,r){return[r,t,i++,n?n(t,r,e):t]}).toArray();return o.sort(function(e,n){return t(e[3],n[3])||e[2]-n[2]}).forEach(r?function(e,t){o[t].length=2}:function(e,t){o[t]=e[1]}),r?M(o):s(e)?T(o):P(o)}function xt(e,t,n){if(t||(t=Mt),n){var r=e.toSeq().map(function(t,r){return[t,n(t,r,e)]}).reduce(function(e,n){return wt(t,e[1],n[1])?n:e});return r&&r[0]}return e.reduce(function(e,n){return wt(t,e,n)?n:e})}function wt(e,t,n){var r=e(n,t);return 0===r&&n!==t&&(void 0===n||null===n||n!==n)||r>0}function kt(e,n,r){var i=Dt(e);return i.size=new I(r).map(function(e){return e.size}).min(),i.__iterate=function(e,t){for(var n,r=this.__iterator(bn,t),i=0;!(n=r.next()).done&&!1!==e(n.value,i++,this););return i},i.__iteratorUncached=function(e,i){var o=r.map(function(e){return e=t(e),C(i?e.reverse():e)}),a=0,s=!1;return new x(function(){var t;return s||(t=o.map(function(e){return e.next()}),s=t.some(function(e){return e.done})),s?k():w(e,a++,n.apply(null,t.map(function(e){return e.value})))})},i}function Et(e,t){return F(e)?t:e.constructor(t)}function St(e){if(e!==Object(e))throw new TypeError(\"Expected [K, V] tuple: \"+e)}function Ct(e){return ce(e.size),d(e)}function At(e){return a(e)?n:s(e)?r:i}function Dt(e){return Object.create((a(e)?M:s(e)?T:P).prototype)}function Ot(){return this._iter.cacheResult?(this._iter.cacheResult(),this.size=this._iter.size,this):O.prototype.cacheResult.call(this)}function Mt(e,t){return e>t?1:e<t?-1:0}function Tt(e){var n=C(e);if(!n){if(!D(e))throw new TypeError(\"Expected iterable or array-like: \"+e);n=C(t(e))}return n}function Pt(e,t){var n,r=function(o){if(o instanceof r)return o;if(!(this instanceof r))return new r(o);if(!n){n=!0;var a=Object.keys(e);jt(i,a),i.size=a.length,i._name=t,i._keys=a,i._defaultValues=e}this._map=pe(o)},i=r.prototype=Object.create($n);return i.constructor=r,r}function It(e,t,n){var r=Object.create(Object.getPrototypeOf(e));return r._map=t,r.__ownerID=n,r}function Rt(e){return e._name||e.constructor.name||\"Record\"}function jt(e,t){try{t.forEach(Nt.bind(void 0,e))}catch(e){}}function Nt(e,t){Object.defineProperty(e,t,{get:function(){return this.get(t)},set:function(e){Z(this.__ownerID,\"Cannot set on an immutable record.\"),this.set(t,e)}})}function Ft(e){return null===e||void 0===e?zt():Bt(e)&&!l(e)?e:zt().withMutations(function(t){var n=i(e);ce(n.size),n.forEach(function(e){return t.add(e)})})}function Bt(e){return!(!e||!e[Zn])}function Lt(e,t){return e.__ownerID?(e.size=t.size,e._map=t,e):t===e._map?e:0===t.size?e.__empty():e.__make(t)}function qt(e,t){var n=Object.create(Qn);return n.size=e?e.size:0,n._map=e,n.__ownerID=t,n}function zt(){return er||(er=qt(we()))}function Ut(e){return null===e||void 0===e?Ht():Wt(e)?e:Ht().withMutations(function(t){var n=i(e);ce(n.size),n.forEach(function(e){return t.add(e)})})}function Wt(e){return Bt(e)&&l(e)}function Vt(e,t){var n=Object.create(tr);return n.size=e?e.size:0,n._map=e,n.__ownerID=t,n}function Ht(){return nr||(nr=Vt(tt()))}function Jt(e){return null===e||void 0===e?Yt():Gt(e)?e:Yt().unshiftAll(e)}function Gt(e){return!(!e||!e[rr])}function Xt(e,t,n,r){var i=Object.create(ir);return i.size=e,i._head=t,i.__ownerID=n,i.__hash=r,i.__altered=!1,i}function Yt(){return or||(or=Xt(0))}function Kt(e,t){var n=function(n){e.prototype[n]=t[n]};return Object.keys(t).forEach(n),Object.getOwnPropertySymbols&&Object.getOwnPropertySymbols(t).forEach(n),e}function $t(e,t){return t}function Zt(e,t){return[t,e]}function Qt(e){return function(){return!e.apply(this,arguments)}}function en(e){return function(){return-e.apply(this,arguments)}}function tn(e){return\"string\"==typeof e?JSON.stringify(e):String(e)}function nn(){return h(arguments)}function rn(e,t){return e<t?1:e>t?-1:0}function on(e){if(e.size===1/0)return 0;var t=l(e),n=a(e),r=t?1:0;return an(e.__iterate(n?t?function(e,t){r=31*r+sn(oe(e),oe(t))|0}:function(e,t){r=r+sn(oe(e),oe(t))|0}:t?function(e){r=31*r+oe(e)|0}:function(e){r=r+oe(e)|0}),r)}function an(e,t){return t=Mn(t,3432918353),t=Mn(t<<15|t>>>-15,461845907),t=Mn(t<<13|t>>>-13,5),t=(t+3864292196|0)^e,t=Mn(t^t>>>16,2246822507),t=Mn(t^t>>>13,3266489909),t=ie(t^t>>>16)}function sn(e,t){return e^t+2654435769+(e<<6)+(e>>2)|0}var un=Array.prototype.slice;e(n,t),e(r,t),e(i,t),t.isIterable=o,t.isKeyed=a,t.isIndexed=s,t.isAssociative=u,t.isOrdered=l,t.Keyed=n,t.Indexed=r,t.Set=i;var ln=\"@@__IMMUTABLE_ITERABLE__@@\",cn=\"@@__IMMUTABLE_KEYED__@@\",pn=\"@@__IMMUTABLE_INDEXED__@@\",fn=\"@@__IMMUTABLE_ORDERED__@@\",hn=5,dn=1<<hn,mn=dn-1,vn={},gn={value:!1},yn={value:!1},_n=0,bn=1,xn=2,wn=\"function\"==typeof Symbol&&Symbol.iterator,kn=\"@@iterator\",En=wn||kn;x.prototype.toString=function(){return\"[Iterator]\"},x.KEYS=_n,x.VALUES=bn,x.ENTRIES=xn,x.prototype.inspect=x.prototype.toSource=function(){return this.toString()},x.prototype[En]=function(){return this},e(O,t),O.of=function(){return O(arguments)},O.prototype.toSeq=function(){return this},O.prototype.toString=function(){return this.__toString(\"Seq {\",\"}\")},O.prototype.cacheResult=function(){return!this._cache&&this.__iterateUncached&&(this._cache=this.entrySeq().toArray(),this.size=this._cache.length),this},O.prototype.__iterate=function(e,t){return W(this,e,t,!0)},O.prototype.__iterator=function(e,t){return V(this,e,t,!0)},e(M,O),M.prototype.toKeyedSeq=function(){return this},e(T,O),T.of=function(){return T(arguments)},T.prototype.toIndexedSeq=function(){return this},T.prototype.toString=function(){return this.__toString(\"Seq [\",\"]\")},T.prototype.__iterate=function(e,t){return W(this,e,t,!1)},T.prototype.__iterator=function(e,t){return V(this,e,t,!1)},e(P,O),P.of=function(){return P(arguments)},P.prototype.toSetSeq=function(){return this},O.isSeq=F,O.Keyed=M,O.Set=P,O.Indexed=T;var Sn=\"@@__IMMUTABLE_SEQ__@@\";O.prototype[Sn]=!0,e(I,T),I.prototype.get=function(e,t){return this.has(e)?this._array[m(this,e)]:t},I.prototype.__iterate=function(e,t){for(var n=this._array,r=n.length-1,i=0;i<=r;i++)if(!1===e(n[t?r-i:i],i,this))return i+1;return i},I.prototype.__iterator=function(e,t){var n=this._array,r=n.length-1,i=0;return new x(function(){return i>r?k():w(e,i,n[t?r-i++:i++])})},e(R,M),R.prototype.get=function(e,t){return void 0===t||this.has(e)?this._object[e]:t},R.prototype.has=function(e){return this._object.hasOwnProperty(e)},R.prototype.__iterate=function(e,t){for(var n=this._object,r=this._keys,i=r.length-1,o=0;o<=i;o++){var a=r[t?i-o:o];if(!1===e(n[a],a,this))return o+1}return o},R.prototype.__iterator=function(e,t){var n=this._object,r=this._keys,i=r.length-1,o=0;return new x(function(){var a=r[t?i-o:o];return o++>i?k():w(e,a,n[a])})},R.prototype[fn]=!0,e(j,T),j.prototype.__iterateUncached=function(e,t){if(t)return this.cacheResult().__iterate(e,t);var n=this._iterable,r=C(n),i=0;if(S(r))for(var o;!(o=r.next()).done&&!1!==e(o.value,i++,this););return i},j.prototype.__iteratorUncached=function(e,t){if(t)return this.cacheResult().__iterator(e,t);var n=this._iterable,r=C(n);if(!S(r))return new x(k);var i=0;return new x(function(){var t=r.next();return t.done?t:w(e,i++,t.value)})},e(N,T),N.prototype.__iterateUncached=function(e,t){if(t)return this.cacheResult().__iterate(e,t);for(var n=this._iterator,r=this._iteratorCache,i=0;i<r.length;)if(!1===e(r[i],i++,this))return i;for(var o;!(o=n.next()).done;){var a=o.value;if(r[i]=a,!1===e(a,i++,this))break}return i},N.prototype.__iteratorUncached=function(e,t){if(t)return this.cacheResult().__iterator(e,t);var n=this._iterator,r=this._iteratorCache,i=0;return new x(function(){if(i>=r.length){var t=n.next();if(t.done)return t;r[i]=t.value}return w(e,i,r[i++])})};var Cn;e($,T),$.prototype.toString=function(){return 0===this.size?\"Repeat []\":\"Repeat [ \"+this._value+\" \"+this.size+\" times ]\"},$.prototype.get=function(e,t){return this.has(e)?this._value:t},$.prototype.includes=function(e){return Y(this._value,e)},$.prototype.slice=function(e,t){var n=this.size;return g(e,t,n)?this:new $(this._value,_(t,n)-y(e,n))},$.prototype.reverse=function(){return this},$.prototype.indexOf=function(e){return Y(this._value,e)?0:-1},$.prototype.lastIndexOf=function(e){return Y(this._value,e)?this.size:-1},$.prototype.__iterate=function(e,t){for(var n=0;n<this.size;n++)if(!1===e(this._value,n,this))return n+1;return n},$.prototype.__iterator=function(e,t){var n=this,r=0;return new x(function(){return r<n.size?w(e,r++,n._value):k()})},$.prototype.equals=function(e){return e instanceof $?Y(this._value,e._value):K(e)};var An;e(Q,T),Q.prototype.toString=function(){return 0===this.size?\"Range []\":\"Range [ \"+this._start+\"...\"+this._end+(1!==this._step?\" by \"+this._step:\"\")+\" ]\"},Q.prototype.get=function(e,t){return this.has(e)?this._start+m(this,e)*this._step:t},Q.prototype.includes=function(e){var t=(e-this._start)/this._step;return t>=0&&t<this.size&&t===Math.floor(t)},Q.prototype.slice=function(e,t){return g(e,t,this.size)?this:(e=y(e,this.size),t=_(t,this.size),t<=e?new Q(0,0):new Q(this.get(e,this._end),this.get(t,this._end),this._step))},Q.prototype.indexOf=function(e){var t=e-this._start;if(t%this._step==0){var n=t/this._step;if(n>=0&&n<this.size)return n}return-1},Q.prototype.lastIndexOf=function(e){return this.indexOf(e)},Q.prototype.__iterate=function(e,t){for(var n=this.size-1,r=this._step,i=t?this._start+n*r:this._start,o=0;o<=n;o++){if(!1===e(i,o,this))return o+1;i+=t?-r:r}return o},Q.prototype.__iterator=function(e,t){var n=this.size-1,r=this._step,i=t?this._start+n*r:this._start,o=0;return new x(function(){var a=i;return i+=t?-r:r,o>n?k():w(e,o++,a)})},Q.prototype.equals=function(e){return e instanceof Q?this._start===e._start&&this._end===e._end&&this._step===e._step:K(this,e)};var Dn;e(ee,t),e(te,ee),e(ne,ee),e(re,ee),ee.Keyed=te,ee.Indexed=ne,ee.Set=re;var On,Mn=\"function\"==typeof Math.imul&&-2===Math.imul(4294967295,2)?Math.imul:function(e,t){e|=0,t|=0;var n=65535&e,r=65535&t;return n*r+((e>>>16)*r+n*(t>>>16)<<16>>>0)|0},Tn=Object.isExtensible,Pn=function(){try{return Object.defineProperty({},\"@\",{}),!0}catch(e){return!1}}(),In=\"function\"==typeof WeakMap;In&&(On=new WeakMap);var Rn=0,jn=\"__immutablehash__\";\"function\"==typeof Symbol&&(jn=Symbol(jn));var Nn=16,Fn=255,Bn=0,Ln={};e(pe,te),pe.of=function(){var e=un.call(arguments,0);return we().withMutations(function(t){for(var n=0;n<e.length;n+=2){if(n+1>=e.length)throw new Error(\"Missing value for key: \"+e[n]);t.set(e[n],e[n+1])}})},pe.prototype.toString=function(){return this.__toString(\"Map {\",\"}\")},pe.prototype.get=function(e,t){return this._root?this._root.get(0,void 0,e,t):t},pe.prototype.set=function(e,t){return ke(this,e,t)},pe.prototype.setIn=function(e,t){return this.updateIn(e,vn,function(){return t})},pe.prototype.remove=function(e){return ke(this,e,vn)},pe.prototype.deleteIn=function(e){return this.updateIn(e,function(){return vn})},pe.prototype.update=function(e,t,n){return 1===arguments.length?e(this):this.updateIn([e],t,n)},pe.prototype.updateIn=function(e,t,n){n||(n=t,t=void 0);var r=Re(this,Tt(e),t,n);return r===vn?void 0:r},pe.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=0,this._root=null,this.__hash=void 0,this.__altered=!0,this):we()},pe.prototype.merge=function(){return Me(this,void 0,arguments)},pe.prototype.mergeWith=function(e){return Me(this,e,un.call(arguments,1))},pe.prototype.mergeIn=function(e){var t=un.call(arguments,1);return this.updateIn(e,we(),function(e){return\"function\"==typeof e.merge?e.merge.apply(e,t):t[t.length-1]})},pe.prototype.mergeDeep=function(){return Me(this,Te,arguments)},pe.prototype.mergeDeepWith=function(e){var t=un.call(arguments,1);return Me(this,Pe(e),t)},pe.prototype.mergeDeepIn=function(e){var t=un.call(arguments,1);return this.updateIn(e,we(),function(e){return\"function\"==typeof e.mergeDeep?e.mergeDeep.apply(e,t):t[t.length-1]})},pe.prototype.sort=function(e){return Ze(bt(this,e))},pe.prototype.sortBy=function(e,t){return Ze(bt(this,t,e))},pe.prototype.withMutations=function(e){var t=this.asMutable();return e(t),t.wasAltered()?t.__ensureOwner(this.__ownerID):this},pe.prototype.asMutable=function(){return this.__ownerID?this:this.__ensureOwner(new f)},pe.prototype.asImmutable=function(){return this.__ensureOwner()},pe.prototype.wasAltered=function(){return this.__altered},pe.prototype.__iterator=function(e,t){return new ye(this,e,t)},pe.prototype.__iterate=function(e,t){var n=this,r=0;return this._root&&this._root.iterate(function(t){return r++,e(t[1],t[0],n)},t),r},pe.prototype.__ensureOwner=function(e){return e===this.__ownerID?this:e?xe(this.size,this._root,e,this.__hash):(this.__ownerID=e,this.__altered=!1,this)},pe.isMap=fe;var qn=\"@@__IMMUTABLE_MAP__@@\",zn=pe.prototype;zn[qn]=!0,zn.delete=zn.remove,zn.removeIn=zn.deleteIn,he.prototype.get=function(e,t,n,r){for(var i=this.entries,o=0,a=i.length;o<a;o++)if(Y(n,i[o][0]))return i[o][1];return r},he.prototype.update=function(e,t,n,r,i,o,a){for(var s=i===vn,u=this.entries,l=0,c=u.length;l<c&&!Y(r,u[l][0]);l++);var f=l<c;if(f?u[l][1]===i:s)return this;if(p(a),(s||!f)&&p(o),!s||1!==u.length){if(!f&&!s&&u.length>=Wn)return Ae(e,u,r,i);var d=e&&e===this.ownerID,m=d?u:h(u);return f?s?l===c-1?m.pop():m[l]=m.pop():m[l]=[r,i]:m.push([r,i]),d?(this.entries=m,this):new he(e,m)}},de.prototype.get=function(e,t,n,r){void 0===t&&(t=oe(n));var i=1<<((0===e?t:t>>>e)&mn),o=this.bitmap;return 0==(o&i)?r:this.nodes[je(o&i-1)].get(e+hn,t,n,r)},de.prototype.update=function(e,t,n,r,i,o,a){void 0===n&&(n=oe(r));var s=(0===t?n:n>>>t)&mn,u=1<<s,l=this.bitmap,c=0!=(l&u);if(!c&&i===vn)return this;var p=je(l&u-1),f=this.nodes,h=c?f[p]:void 0,d=Ee(h,e,t+hn,n,r,i,o,a);if(d===h)return this;if(!c&&d&&f.length>=Vn)return Oe(e,f,l,s,d);if(c&&!d&&2===f.length&&Se(f[1^p]))return f[1^p];if(c&&d&&1===f.length&&Se(d))return d;var m=e&&e===this.ownerID,v=c?d?l:l^u:l|u,g=c?d?Ne(f,p,d,m):Be(f,p,m):Fe(f,p,d,m);return m?(this.bitmap=v,this.nodes=g,this):new de(e,v,g)},me.prototype.get=function(e,t,n,r){void 0===t&&(t=oe(n));var i=(0===e?t:t>>>e)&mn,o=this.nodes[i];return o?o.get(e+hn,t,n,r):r},me.prototype.update=function(e,t,n,r,i,o,a){void 0===n&&(n=oe(r));var s=(0===t?n:n>>>t)&mn,u=i===vn,l=this.nodes,c=l[s];if(u&&!c)return this;var p=Ee(c,e,t+hn,n,r,i,o,a);if(p===c)return this;var f=this.count;if(c){if(!p&&--f<Hn)return De(e,l,f,s)}else f++;var h=e&&e===this.ownerID,d=Ne(l,s,p,h);return h?(this.count=f,this.nodes=d,this):new me(e,f,d)},ve.prototype.get=function(e,t,n,r){for(var i=this.entries,o=0,a=i.length;o<a;o++)if(Y(n,i[o][0]))return i[o][1];return r},ve.prototype.update=function(e,t,n,r,i,o,a){void 0===n&&(n=oe(r));var s=i===vn;if(n!==this.keyHash)return s?this:(p(a),p(o),Ce(this,e,t,n,[r,i]));for(var u=this.entries,l=0,c=u.length;l<c&&!Y(r,u[l][0]);l++);var f=l<c;if(f?u[l][1]===i:s)return this;if(p(a),(s||!f)&&p(o),s&&2===c)return new ge(e,this.keyHash,u[1^l]);var d=e&&e===this.ownerID,m=d?u:h(u);return f?s?l===c-1?m.pop():m[l]=m.pop():m[l]=[r,i]:m.push([r,i]),d?(this.entries=m,this):new ve(e,this.keyHash,m)},ge.prototype.get=function(e,t,n,r){return Y(n,this.entry[0])?this.entry[1]:r},ge.prototype.update=function(e,t,n,r,i,o,a){var s=i===vn,u=Y(r,this.entry[0]);return(u?i===this.entry[1]:s)?this:(p(a),s?void p(o):u?e&&e===this.ownerID?(this.entry[1]=i,this):new ge(e,this.keyHash,[r,i]):(p(o),Ce(this,e,t,oe(r),[r,i])))},he.prototype.iterate=ve.prototype.iterate=function(e,t){for(var n=this.entries,r=0,i=n.length-1;r<=i;r++)if(!1===e(n[t?i-r:r]))return!1},de.prototype.iterate=me.prototype.iterate=function(e,t){for(var n=this.nodes,r=0,i=n.length-1;r<=i;r++){var o=n[t?i-r:r];if(o&&!1===o.iterate(e,t))return!1}},ge.prototype.iterate=function(e,t){return e(this.entry)},e(ye,x),ye.prototype.next=function(){for(var e=this._type,t=this._stack;t;){var n,r=t.node,i=t.index++;if(r.entry){if(0===i)return _e(e,r.entry)}else if(r.entries){if(n=r.entries.length-1,i<=n)return _e(e,r.entries[this._reverse?n-i:i])}else if(n=r.nodes.length-1,i<=n){var o=r.nodes[this._reverse?n-i:i];if(o){if(o.entry)return _e(e,o.entry);t=this._stack=be(o,t)}continue}t=this._stack=this._stack.__prev}return k()};var Un,Wn=dn/4,Vn=dn/2,Hn=dn/4;e(Le,ne),Le.of=function(){return this(arguments)},Le.prototype.toString=function(){return this.__toString(\"List [\",\"]\")},Le.prototype.get=function(e,t){if((e=m(this,e))>=0&&e<this.size){e+=this._origin;var n=Xe(this,e);return n&&n.array[e&mn]}return t},Le.prototype.set=function(e,t){return He(this,e,t)},Le.prototype.remove=function(e){return this.has(e)?0===e?this.shift():e===this.size-1?this.pop():this.splice(e,1):this},Le.prototype.insert=function(e,t){return this.splice(e,0,t)},Le.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=this._origin=this._capacity=0,this._level=hn,this._root=this._tail=null,this.__hash=void 0,this.__altered=!0,this):Ve()},Le.prototype.push=function(){var e=arguments,t=this.size;return this.withMutations(function(n){Ye(n,0,t+e.length);for(var r=0;r<e.length;r++)n.set(t+r,e[r])})},Le.prototype.pop=function(){return Ye(this,0,-1)},Le.prototype.unshift=function(){var e=arguments;return this.withMutations(function(t){Ye(t,-e.length);for(var n=0;n<e.length;n++)t.set(n,e[n])})},Le.prototype.shift=function(){return Ye(this,1)},Le.prototype.merge=function(){return Ke(this,void 0,arguments)},Le.prototype.mergeWith=function(e){return Ke(this,e,un.call(arguments,1))},Le.prototype.mergeDeep=function(){return Ke(this,Te,arguments)},Le.prototype.mergeDeepWith=function(e){var t=un.call(arguments,1);return Ke(this,Pe(e),t)},Le.prototype.setSize=function(e){return Ye(this,0,e)},Le.prototype.slice=function(e,t){var n=this.size;return g(e,t,n)?this:Ye(this,y(e,n),_(t,n))},Le.prototype.__iterator=function(e,t){var n=0,r=Ue(this,t);return new x(function(){var t=r();return t===Yn?k():w(e,n++,t)})},Le.prototype.__iterate=function(e,t){for(var n,r=0,i=Ue(this,t);(n=i())!==Yn&&!1!==e(n,r++,this););return r},Le.prototype.__ensureOwner=function(e){return e===this.__ownerID?this:e?We(this._origin,this._capacity,this._level,this._root,this._tail,e,this.__hash):(this.__ownerID=e,this)},Le.isList=qe;var Jn=\"@@__IMMUTABLE_LIST__@@\",Gn=Le.prototype;Gn[Jn]=!0,Gn.delete=Gn.remove,Gn.setIn=zn.setIn,Gn.deleteIn=Gn.removeIn=zn.removeIn,Gn.update=zn.update,Gn.updateIn=zn.updateIn,Gn.mergeIn=zn.mergeIn,Gn.mergeDeepIn=zn.mergeDeepIn,Gn.withMutations=zn.withMutations,Gn.asMutable=zn.asMutable,Gn.asImmutable=zn.asImmutable,Gn.wasAltered=zn.wasAltered,ze.prototype.removeBefore=function(e,t,n){if(n===t?1<<t:0===this.array.length)return this;var r=n>>>t&mn;if(r>=this.array.length)return new ze([],e);var i,o=0===r;if(t>0){var a=this.array[r];if((i=a&&a.removeBefore(e,t-hn,n))===a&&o)return this}if(o&&!i)return this;var s=Ge(this,e);if(!o)for(var u=0;u<r;u++)s.array[u]=void 0;return i&&(s.array[r]=i),s},ze.prototype.removeAfter=function(e,t,n){if(n===(t?1<<t:0)||0===this.array.length)return this;var r=n-1>>>t&mn;if(r>=this.array.length)return this;var i;if(t>0){var o=this.array[r];if((i=o&&o.removeAfter(e,t-hn,n))===o&&r===this.array.length-1)return this}var a=Ge(this,e);return a.array.splice(r+1),i&&(a.array[r]=i),a};var Xn,Yn={};e(Ze,pe),Ze.of=function(){return this(arguments)},Ze.prototype.toString=function(){return this.__toString(\"OrderedMap {\",\"}\")},Ze.prototype.get=function(e,t){var n=this._map.get(e);return void 0!==n?this._list.get(n)[1]:t},Ze.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=0,this._map.clear(),this._list.clear(),this):tt()},Ze.prototype.set=function(e,t){return nt(this,e,t)},Ze.prototype.remove=function(e){return nt(this,e,vn)},Ze.prototype.wasAltered=function(){return this._map.wasAltered()||this._list.wasAltered()},Ze.prototype.__iterate=function(e,t){var n=this;return this._list.__iterate(function(t){return t&&e(t[1],t[0],n)},t)},Ze.prototype.__iterator=function(e,t){return this._list.fromEntrySeq().__iterator(e,t)},Ze.prototype.__ensureOwner=function(e){if(e===this.__ownerID)return this;var t=this._map.__ensureOwner(e),n=this._list.__ensureOwner(e);return e?et(t,n,e,this.__hash):(this.__ownerID=e,this._map=t,this._list=n,this)},Ze.isOrderedMap=Qe,Ze.prototype[fn]=!0,Ze.prototype.delete=Ze.prototype.remove;var Kn;e(rt,M),rt.prototype.get=function(e,t){return this._iter.get(e,t)},rt.prototype.has=function(e){return this._iter.has(e)},rt.prototype.valueSeq=function(){return this._iter.valueSeq()},rt.prototype.reverse=function(){var e=this,t=lt(this,!0);return this._useKeys||(t.valueSeq=function(){return e._iter.toSeq().reverse()}),t},rt.prototype.map=function(e,t){var n=this,r=ut(this,e,t);return this._useKeys||(r.valueSeq=function(){return n._iter.toSeq().map(e,t)}),r},rt.prototype.__iterate=function(e,t){var n,r=this;return this._iter.__iterate(this._useKeys?function(t,n){return e(t,n,r)}:(n=t?Ct(this):0,function(i){return e(i,t?--n:n++,r)}),t)},rt.prototype.__iterator=function(e,t){if(this._useKeys)return this._iter.__iterator(e,t);var n=this._iter.__iterator(bn,t),r=t?Ct(this):0;return new x(function(){var i=n.next();return i.done?i:w(e,t?--r:r++,i.value,i)})},rt.prototype[fn]=!0,e(it,T),it.prototype.includes=function(e){return this._iter.includes(e)},it.prototype.__iterate=function(e,t){var n=this,r=0;return this._iter.__iterate(function(t){return e(t,r++,n)},t)},it.prototype.__iterator=function(e,t){var n=this._iter.__iterator(bn,t),r=0;return new x(function(){var t=n.next();return t.done?t:w(e,r++,t.value,t)})},e(ot,P),ot.prototype.has=function(e){return this._iter.includes(e)},ot.prototype.__iterate=function(e,t){var n=this;return this._iter.__iterate(function(t){return e(t,t,n)},t)},ot.prototype.__iterator=function(e,t){var n=this._iter.__iterator(bn,t);return new x(function(){var t=n.next();return t.done?t:w(e,t.value,t.value,t)})},e(at,M),at.prototype.entrySeq=function(){return this._iter.toSeq()},at.prototype.__iterate=function(e,t){var n=this;return this._iter.__iterate(function(t){if(t){St(t);var r=o(t);return e(r?t.get(1):t[1],r?t.get(0):t[0],n)}},t)},at.prototype.__iterator=function(e,t){var n=this._iter.__iterator(bn,t);return new x(function(){for(;;){var t=n.next();if(t.done)return t;var r=t.value;if(r){St(r);var i=o(r);return w(e,i?r.get(0):r[0],i?r.get(1):r[1],t)}}})},it.prototype.cacheResult=rt.prototype.cacheResult=ot.prototype.cacheResult=at.prototype.cacheResult=Ot,e(Pt,te),Pt.prototype.toString=function(){return this.__toString(Rt(this)+\" {\",\"}\")},Pt.prototype.has=function(e){return this._defaultValues.hasOwnProperty(e)},Pt.prototype.get=function(e,t){if(!this.has(e))return t;var n=this._defaultValues[e];return this._map?this._map.get(e,n):n},Pt.prototype.clear=function(){if(this.__ownerID)return this._map&&this._map.clear(),this;var e=this.constructor;return e._empty||(e._empty=It(this,we()))},Pt.prototype.set=function(e,t){if(!this.has(e))throw new Error('Cannot set unknown key \"'+e+'\" on '+Rt(this));if(this._map&&!this._map.has(e)){if(t===this._defaultValues[e])return this}var n=this._map&&this._map.set(e,t);return this.__ownerID||n===this._map?this:It(this,n)},Pt.prototype.remove=function(e){if(!this.has(e))return this;var t=this._map&&this._map.remove(e);return this.__ownerID||t===this._map?this:It(this,t)},Pt.prototype.wasAltered=function(){return this._map.wasAltered()},Pt.prototype.__iterator=function(e,t){var r=this;return n(this._defaultValues).map(function(e,t){return r.get(t)}).__iterator(e,t)},Pt.prototype.__iterate=function(e,t){var r=this;return n(this._defaultValues).map(function(e,t){return r.get(t)}).__iterate(e,t)},Pt.prototype.__ensureOwner=function(e){if(e===this.__ownerID)return this;var t=this._map&&this._map.__ensureOwner(e);return e?It(this,t,e):(this.__ownerID=e,this._map=t,this)};var $n=Pt.prototype;$n.delete=$n.remove,$n.deleteIn=$n.removeIn=zn.removeIn,$n.merge=zn.merge,$n.mergeWith=zn.mergeWith,$n.mergeIn=zn.mergeIn,$n.mergeDeep=zn.mergeDeep,$n.mergeDeepWith=zn.mergeDeepWith,$n.mergeDeepIn=zn.mergeDeepIn,$n.setIn=zn.setIn,$n.update=zn.update,$n.updateIn=zn.updateIn,$n.withMutations=zn.withMutations,$n.asMutable=zn.asMutable,$n.asImmutable=zn.asImmutable,e(Ft,re),Ft.of=function(){return this(arguments)},Ft.fromKeys=function(e){return this(n(e).keySeq())},Ft.prototype.toString=function(){return this.__toString(\"Set {\",\"}\")},Ft.prototype.has=function(e){return this._map.has(e)},Ft.prototype.add=function(e){return Lt(this,this._map.set(e,!0))},Ft.prototype.remove=function(e){return Lt(this,this._map.remove(e))},Ft.prototype.clear=function(){return Lt(this,this._map.clear())},Ft.prototype.union=function(){var e=un.call(arguments,0);return e=e.filter(function(e){return 0!==e.size}),0===e.length?this:0!==this.size||this.__ownerID||1!==e.length?this.withMutations(function(t){for(var n=0;n<e.length;n++)i(e[n]).forEach(function(e){return t.add(e)})}):this.constructor(e[0])},Ft.prototype.intersect=function(){var e=un.call(arguments,0);if(0===e.length)return this;e=e.map(function(e){return i(e)});var t=this;return this.withMutations(function(n){t.forEach(function(t){e.every(function(e){return e.includes(t)})||n.remove(t)})})},Ft.prototype.subtract=function(){var e=un.call(arguments,0);if(0===e.length)return this;e=e.map(function(e){return i(e)});var t=this;return this.withMutations(function(n){t.forEach(function(t){e.some(function(e){return e.includes(t)})&&n.remove(t)})})},Ft.prototype.merge=function(){return this.union.apply(this,arguments)},Ft.prototype.mergeWith=function(e){var t=un.call(arguments,1);return this.union.apply(this,t)},Ft.prototype.sort=function(e){return Ut(bt(this,e))},Ft.prototype.sortBy=function(e,t){return Ut(bt(this,t,e))},Ft.prototype.wasAltered=function(){return this._map.wasAltered()},Ft.prototype.__iterate=function(e,t){var n=this;return this._map.__iterate(function(t,r){return e(r,r,n)},t)},Ft.prototype.__iterator=function(e,t){return this._map.map(function(e,t){return t}).__iterator(e,t)},Ft.prototype.__ensureOwner=function(e){if(e===this.__ownerID)return this;var t=this._map.__ensureOwner(e);return e?this.__make(t,e):(this.__ownerID=e,this._map=t,this)},Ft.isSet=Bt;var Zn=\"@@__IMMUTABLE_SET__@@\",Qn=Ft.prototype;Qn[Zn]=!0,Qn.delete=Qn.remove,Qn.mergeDeep=Qn.merge,Qn.mergeDeepWith=Qn.mergeWith,Qn.withMutations=zn.withMutations,Qn.asMutable=zn.asMutable,Qn.asImmutable=zn.asImmutable,Qn.__empty=zt,Qn.__make=qt;var er;e(Ut,Ft),Ut.of=function(){return this(arguments)},Ut.fromKeys=function(e){return this(n(e).keySeq())},Ut.prototype.toString=function(){return this.__toString(\"OrderedSet {\",\"}\")},Ut.isOrderedSet=Wt;var tr=Ut.prototype;tr[fn]=!0,tr.__empty=Ht,tr.__make=Vt;var nr;e(Jt,ne),Jt.of=function(){return this(arguments)},Jt.prototype.toString=function(){return this.__toString(\"Stack [\",\"]\")},Jt.prototype.get=function(e,t){var n=this._head;for(e=m(this,e);n&&e--;)n=n.next;return n?n.value:t},Jt.prototype.peek=function(){return this._head&&this._head.value},Jt.prototype.push=function(){if(0===arguments.length)return this;for(var e=this.size+arguments.length,t=this._head,n=arguments.length-1;n>=0;n--)t={value:arguments[n],next:t};return this.__ownerID?(this.size=e,this._head=t,this.__hash=void 0,this.__altered=!0,this):Xt(e,t)},Jt.prototype.pushAll=function(e){if(e=r(e),0===e.size)return this;ce(e.size);var t=this.size,n=this._head;return e.reverse().forEach(function(e){t++,n={value:e,next:n}}),this.__ownerID?(this.size=t,this._head=n,this.__hash=void 0,this.__altered=!0,this):Xt(t,n)},Jt.prototype.pop=function(){return this.slice(1)},Jt.prototype.unshift=function(){return this.push.apply(this,arguments)},Jt.prototype.unshiftAll=function(e){return this.pushAll(e)},Jt.prototype.shift=function(){return this.pop.apply(this,arguments)},Jt.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=0,this._head=void 0,this.__hash=void 0,this.__altered=!0,this):Yt()},Jt.prototype.slice=function(e,t){if(g(e,t,this.size))return this;var n=y(e,this.size);if(_(t,this.size)!==this.size)return ne.prototype.slice.call(this,e,t);for(var r=this.size-n,i=this._head;n--;)i=i.next;return this.__ownerID?(this.size=r,this._head=i,this.__hash=void 0,this.__altered=!0,this):Xt(r,i)},Jt.prototype.__ensureOwner=function(e){return e===this.__ownerID?this:e?Xt(this.size,this._head,e,this.__hash):(this.__ownerID=e,this.__altered=!1,this)},Jt.prototype.__iterate=function(e,t){if(t)return this.reverse().__iterate(e);for(var n=0,r=this._head;r&&!1!==e(r.value,n++,this);)r=r.next;return n},Jt.prototype.__iterator=function(e,t){if(t)return this.reverse().__iterator(e);var n=0,r=this._head;return new x(function(){if(r){var t=r.value;return r=r.next,w(e,n++,t)}return k()})},Jt.isStack=Gt;var rr=\"@@__IMMUTABLE_STACK__@@\",ir=Jt.prototype;ir[rr]=!0,ir.withMutations=zn.withMutations,ir.asMutable=zn.asMutable,ir.asImmutable=zn.asImmutable,ir.wasAltered=zn.wasAltered;var or;t.Iterator=x,Kt(t,{toArray:function(){ce(this.size);var e=new Array(this.size||0);return this.valueSeq().__iterate(function(t,n){e[n]=t}),e},toIndexedSeq:function(){return new it(this)},toJS:function(){return this.toSeq().map(function(e){return e&&\"function\"==typeof e.toJS?e.toJS():e}).__toJS()},toJSON:function(){return this.toSeq().map(function(e){return e&&\"function\"==typeof e.toJSON?e.toJSON():e}).__toJS()},toKeyedSeq:function(){return new rt(this,!0)},toMap:function(){return pe(this.toKeyedSeq())},toObject:function(){ce(this.size);var e={};return this.__iterate(function(t,n){e[n]=t}),e},toOrderedMap:function(){return Ze(this.toKeyedSeq())},toOrderedSet:function(){return Ut(a(this)?this.valueSeq():this)},toSet:function(){return Ft(a(this)?this.valueSeq():this)},toSetSeq:function(){return new ot(this)},toSeq:function(){return s(this)?this.toIndexedSeq():a(this)?this.toKeyedSeq():this.toSetSeq()},toStack:function(){return Jt(a(this)?this.valueSeq():this)},toList:function(){return Le(a(this)?this.valueSeq():this)},toString:function(){return\"[Iterable]\"},__toString:function(e,t){return 0===this.size?e+t:e+\" \"+this.toSeq().map(this.__toStringMapper).join(\", \")+\" \"+t},concat:function(){return Et(this,vt(this,un.call(arguments,0)))},includes:function(e){return this.some(function(t){return Y(t,e)})},entries:function(){return this.__iterator(xn)},every:function(e,t){ce(this.size);var n=!0;return this.__iterate(function(r,i,o){if(!e.call(t,r,i,o))return n=!1,!1}),n},filter:function(e,t){return Et(this,ct(this,e,t,!0))},find:function(e,t,n){var r=this.findEntry(e,t);return r?r[1]:n},forEach:function(e,t){return ce(this.size),this.__iterate(t?e.bind(t):e)},join:function(e){ce(this.size),e=void 0!==e?\"\"+e:\",\";var t=\"\",n=!0;return this.__iterate(function(r){n?n=!1:t+=e,t+=null!==r&&void 0!==r?r.toString():\"\"}),t},keys:function(){return this.__iterator(_n)},map:function(e,t){return Et(this,ut(this,e,t))},reduce:function(e,t,n){ce(this.size);var r,i;return arguments.length<2?i=!0:r=t,this.__iterate(function(t,o,a){i?(i=!1,r=t):r=e.call(n,r,t,o,a)}),r},reduceRight:function(e,t,n){var r=this.toKeyedSeq().reverse();return r.reduce.apply(r,arguments)},reverse:function(){return Et(this,lt(this,!0))},slice:function(e,t){return Et(this,ht(this,e,t,!0))},some:function(e,t){return!this.every(Qt(e),t)},sort:function(e){return Et(this,bt(this,e))},values:function(){return this.__iterator(bn)},butLast:function(){return this.slice(0,-1)},isEmpty:function(){return void 0!==this.size?0===this.size:!this.some(function(){return!0})},count:function(e,t){return d(e?this.toSeq().filter(e,t):this)},countBy:function(e,t){return pt(this,e,t)},equals:function(e){return K(this,e)},entrySeq:function(){var e=this;if(e._cache)return new I(e._cache);var t=e.toSeq().map(Zt).toIndexedSeq();return t.fromEntrySeq=function(){return e.toSeq()},t},filterNot:function(e,t){return this.filter(Qt(e),t)},findEntry:function(e,t,n){var r=n;return this.__iterate(function(n,i,o){if(e.call(t,n,i,o))return r=[i,n],!1}),r},findKey:function(e,t){var n=this.findEntry(e,t);return n&&n[0]},findLast:function(e,t,n){return this.toKeyedSeq().reverse().find(e,t,n)},findLastEntry:function(e,t,n){return this.toKeyedSeq().reverse().findEntry(e,t,n)},findLastKey:function(e,t){return this.toKeyedSeq().reverse().findKey(e,t)},first:function(){return this.find(v)},flatMap:function(e,t){return Et(this,yt(this,e,t))},flatten:function(e){return Et(this,gt(this,e,!0))},fromEntrySeq:function(){return new at(this)},get:function(e,t){return this.find(function(t,n){return Y(n,e)},void 0,t)},getIn:function(e,t){for(var n,r=this,i=Tt(e);!(n=i.next()).done;){var o=n.value;if((r=r&&r.get?r.get(o,vn):vn)===vn)return t}return r},groupBy:function(e,t){return ft(this,e,t)},has:function(e){return this.get(e,vn)!==vn},hasIn:function(e){return this.getIn(e,vn)!==vn},isSubset:function(e){return e=\"function\"==typeof e.includes?e:t(e),this.every(function(t){return e.includes(t)})},isSuperset:function(e){return e=\"function\"==typeof e.isSubset?e:t(e),e.isSubset(this)},keyOf:function(e){return this.findKey(function(t){return Y(t,e)})},keySeq:function(){return this.toSeq().map($t).toIndexedSeq()},last:function(){return this.toSeq().reverse().first()},lastKeyOf:function(e){return this.toKeyedSeq().reverse().keyOf(e)},max:function(e){return xt(this,e)},maxBy:function(e,t){return xt(this,t,e)},min:function(e){return xt(this,e?en(e):rn)},minBy:function(e,t){return xt(this,t?en(t):rn,e)},rest:function(){return this.slice(1)},skip:function(e){return this.slice(Math.max(0,e))},skipLast:function(e){return Et(this,this.toSeq().reverse().skip(e).reverse())},skipWhile:function(e,t){return Et(this,mt(this,e,t,!0))},skipUntil:function(e,t){return this.skipWhile(Qt(e),t)},sortBy:function(e,t){return Et(this,bt(this,t,e))},take:function(e){return this.slice(0,Math.max(0,e))},takeLast:function(e){return Et(this,this.toSeq().reverse().take(e).reverse())},takeWhile:function(e,t){return Et(this,dt(this,e,t))},takeUntil:function(e,t){return this.takeWhile(Qt(e),t)},valueSeq:function(){return this.toIndexedSeq()},hashCode:function(){return this.__hash||(this.__hash=on(this))}});var ar=t.prototype;ar[ln]=!0,ar[En]=ar.values,ar.__toJS=ar.toArray,ar.__toStringMapper=tn,ar.inspect=ar.toSource=function(){return this.toString()},ar.chain=ar.flatMap,ar.contains=ar.includes,Kt(n,{flip:function(){return Et(this,st(this))},mapEntries:function(e,t){var n=this,r=0;return Et(this,this.toSeq().map(function(i,o){return e.call(t,[o,i],r++,n)}).fromEntrySeq())},mapKeys:function(e,t){var n=this;return Et(this,this.toSeq().flip().map(function(r,i){return e.call(t,r,i,n)}).flip())}});var sr=n.prototype;return sr[cn]=!0,sr[En]=ar.entries,sr.__toJS=ar.toObject,sr.__toStringMapper=function(e,t){return JSON.stringify(t)+\": \"+tn(e)},Kt(r,{toKeyedSeq:function(){return new rt(this,!1)},filter:function(e,t){return Et(this,ct(this,e,t,!1))},findIndex:function(e,t){var n=this.findEntry(e,t);return n?n[0]:-1},indexOf:function(e){var t=this.keyOf(e);return void 0===t?-1:t},lastIndexOf:function(e){var t=this.lastKeyOf(e);return void 0===t?-1:t},reverse:function(){return Et(this,lt(this,!1))},slice:function(e,t){return Et(this,ht(this,e,t,!1))},splice:function(e,t){var n=arguments.length;if(t=Math.max(0|t,0),0===n||2===n&&!t)return this;e=y(e,e<0?this.count():this.size);var r=this.slice(0,e);return Et(this,1===n?r:r.concat(h(arguments,2),this.slice(e+t)))},findLastIndex:function(e,t){var n=this.findLastEntry(e,t);return n?n[0]:-1},first:function(){return this.get(0)},flatten:function(e){return Et(this,gt(this,e,!1))},get:function(e,t){return e=m(this,e),e<0||this.size===1/0||void 0!==this.size&&e>this.size?t:this.find(function(t,n){return n===e},void 0,t)},has:function(e){return(e=m(this,e))>=0&&(void 0!==this.size?this.size===1/0||e<this.size:-1!==this.indexOf(e))},interpose:function(e){return Et(this,_t(this,e))},interleave:function(){var e=[this].concat(h(arguments)),t=kt(this.toSeq(),T.of,e),n=t.flatten(!0);return t.size&&(n.size=t.size*e.length),Et(this,n)},keySeq:function(){return Q(0,this.size)},last:function(){return this.get(-1)},skipWhile:function(e,t){return Et(this,mt(this,e,t,!1))},zip:function(){return Et(this,kt(this,nn,[this].concat(h(arguments))))},zipWith:function(e){var t=h(arguments);return t[0]=this,Et(this,kt(this,e,t))}}),r.prototype[pn]=!0,r.prototype[fn]=!0,Kt(i,{get:function(e,t){return this.has(e)?e:t},includes:function(e){return this.has(e)},keySeq:function(){return this.valueSeq()}}),i.prototype.has=ar.includes,i.prototype.contains=i.prototype.includes,Kt(M,n.prototype),Kt(T,r.prototype),Kt(P,i.prototype),Kt(te,n.prototype),Kt(ne,r.prototype),Kt(re,i.prototype),{Iterable:t,Seq:O,Collection:ee,Map:pe,OrderedMap:Ze,List:Le,Stack:Jt,Set:Ft,OrderedSet:Ut,Record:Pt,Range:Q,Repeat:$,is:Y,fromJS:H}})},function(e,t,n){\"use strict\";function r(e,t,n,r,o,a,s,u){if(i(t),!e){var l;if(void 0===t)l=new Error(\"Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.\");else{var c=[n,r,o,a,s,u],p=0;l=new Error(t.replace(/%s/g,function(){return c[p++]})),l.name=\"Invariant Violation\"}throw l.framesToPop=1,l}}var i=function(e){};e.exports=r},function(e,t,n){\"use strict\";(function(e){function r(e){return e&&e.__esModule?e:{default:e}}function i(e){try{var t=JSON.parse(e);if(t&&\"object\"===(void 0===t?\"undefined\":(0,F.default)(t)))return t}catch(e){}return!1}function o(e){return p(e)?oe(e)?e.toObject():e:{}}function a(e){return e?e.toArray?e.toArray():l(e):[]}function s(e){return oe(e)?e:e instanceof te.default.File?e:p(e)?Array.isArray(e)?L.default.Seq(e).map(s).toList():L.default.OrderedMap(e).map(s):e}function u(e,t){var n={};return(0,j.default)(e).filter(function(t){return\"function\"==typeof e[t]}).forEach(function(r){return n[r]=e[r].bind(null,t)}),n}function l(e){return Array.isArray(e)?e:[e]}function c(e){return\"function\"==typeof e}function p(e){return!!e&&\"object\"===(void 0===e?\"undefined\":(0,F.default)(e))}function f(e){return\"function\"==typeof e}function h(e){return Array.isArray(e)}function d(e,t){return(0,j.default)(e).reduce(function(n,r){return n[r]=t(e[r],r),n},{})}function m(e,t){return(0,j.default)(e).reduce(function(n,r){var i=t(e[r],r);return i&&\"object\"===(void 0===i?\"undefined\":(0,F.default)(i))&&(0,I.default)(n,i),n},{})}function v(e){return function(t){t.dispatch,t.getState;return function(t){return function(n){return\"function\"==typeof n?n(e()):t(n)}}}}function g(e){var t=e.keySeq();return t.contains(ie)?ie:t.filter(function(e){return\"2\"===(e+\"\")[0]}).sort().first()}function y(e,t){if(!L.default.Iterable.isIterable(e))return L.default.List();var n=e.getIn(Array.isArray(t)?t:[t]);return L.default.List.isList(n)?n:L.default.List()}function _(e){var t=document;if(!e)return\"\";if(e.textContent.length>5e3)return e.textContent;return function(e){for(var n,r,i,o,a,s=e.textContent,u=0,l=s[0],c=1,p=e.innerHTML=\"\",f=0;r=n,n=f<7&&\"\\\\\"==n?1:c;){if(c=l,l=s[++u],o=p.length>1,!c||f>8&&\"\\n\"==c||[/\\S/.test(c),1,1,!/[$\\w]/.test(c),(\"/\"==n||\"\\n\"==n)&&o,'\"'==n&&o,\"'\"==n&&o,s[u-4]+r+n==\"--\\x3e\",r+n==\"*/\"][f])for(p&&(e.appendChild(a=t.createElement(\"span\")).setAttribute(\"style\",[\"color: #555; font-weight: bold;\",\"\",\"\",\"color: #555;\",\"\"][f?f<3?2:f>6?4:f>3?3:+/^(a(bstract|lias|nd|rguments|rray|s(m|sert)?|uto)|b(ase|egin|ool(ean)?|reak|yte)|c(ase|atch|har|hecked|lass|lone|ompl|onst|ontinue)|de(bugger|cimal|clare|f(ault|er)?|init|l(egate|ete)?)|do|double|e(cho|ls?if|lse(if)?|nd|nsure|num|vent|x(cept|ec|p(licit|ort)|te(nds|nsion|rn)))|f(allthrough|alse|inal(ly)?|ixed|loat|or(each)?|riend|rom|unc(tion)?)|global|goto|guard|i(f|mp(lements|licit|ort)|n(it|clude(_once)?|line|out|stanceof|t(erface|ernal)?)?|s)|l(ambda|et|ock|ong)|m(icrolight|odule|utable)|NaN|n(amespace|ative|ext|ew|il|ot|ull)|o(bject|perator|r|ut|verride)|p(ackage|arams|rivate|rotected|rotocol|ublic)|r(aise|e(adonly|do|f|gister|peat|quire(_once)?|scue|strict|try|turn))|s(byte|ealed|elf|hort|igned|izeof|tatic|tring|truct|ubscript|uper|ynchronized|witch)|t(emplate|hen|his|hrows?|ransient|rue|ry|ype(alias|def|id|name|of))|u(n(checked|def(ined)?|ion|less|signed|til)|se|sing)|v(ar|irtual|oid|olatile)|w(char_t|hen|here|hile|ith)|xor|yield)$/.test(p):0]),a.appendChild(t.createTextNode(p))),i=f&&f<7?f:i,p=\"\",f=11;![1,/[\\/{}[(\\-+*=<>:;|\\\\.,?!&@~]/.test(c),/[\\])]/.test(c),/[$\\w]/.test(c),\"/\"==c&&i<2&&\"<\"!=n,'\"'==c,\"'\"==c,c+l+s[u+1]+s[u+2]==\"\\x3c!--\",c+l==\"/*\",c+l==\"//\",\"#\"==c][--f];);p+=c}}(e)}function b(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"key\",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:L.default.Map();if(!L.default.Map.isMap(e)||!e.size)return L.default.List();if(Array.isArray(t)||(t=[t]),t.length<1)return e.merge(n);var r=L.default.List(),i=t[0],o=!0,a=!1,s=void 0;try{for(var u,l=(0,T.default)(e.entries());!(o=(u=l.next()).done);o=!0){var c=u.value,p=(0,O.default)(c,2),f=p[0],h=p[1],d=b(h,t.slice(1),n.set(i,f));r=L.default.List.isList(d)?r.concat(d):r.push(d)}}catch(e){a=!0,s=e}finally{try{!o&&l.return&&l.return()}finally{if(a)throw s}}return r}function x(e){var t=/filename=\"([^;]*);?\"/i.exec(e);return null===t&&(t=/filename=([^;]*);?/i.exec(e)),null!==t&&t.length>1?t[1]:null}function w(e){return(0,V.default)((0,U.default)(e))}function k(e){return w(e.replace(/\\.[^.\\/]*$/,\"\"))}function E(e){return\"string\"!=typeof e||\"\"===e?\"\":(0,q.sanitizeUrl)(e)}function S(e){if(!L.default.OrderedMap.isOrderedMap(e))return null;if(!e.size)return null;var t=e.find(function(e,t){return t.startsWith(\"2\")&&(0,j.default)(e.get(\"content\")||{}).length>0}),n=e.get(\"default\")||L.default.OrderedMap(),r=(n.get(\"content\")||L.default.OrderedMap()).keySeq().toJS(),i=r.length?n:null;return t||i}Object.defineProperty(t,\"__esModule\",{value:!0}),t.getExtensions=t.escapeDeepLinkPath=t.createDeepLinkPath=t.shallowEqualKeys=t.buildFormData=t.sorters=t.btoa=t.serializeSearch=t.parseSearch=t.getSampleSchema=t.validateParam=t.validatePattern=t.validateMinLength=t.validateMaxLength=t.validateGuid=t.validateDateTime=t.validateString=t.validateBoolean=t.validateFile=t.validateInteger=t.validateNumber=t.validateMinimum=t.validateMaximum=t.propChecker=t.memoize=t.isImmutable=void 0;var C=n(37),A=r(C),D=n(18),O=r(D),M=n(96),T=r(M),P=n(27),I=r(P),R=n(47),j=r(R),N=n(48),F=r(N);t.isJSONObject=i,t.objectify=o,t.arrayify=a,t.fromJSOrdered=s,t.bindToState=u,t.normalizeArray=l,t.isFn=c,t.isObject=p,t.isFunc=f,t.isArray=h,t.objMap=d,t.objReduce=m,t.systemThunkMiddleware=v,t.defaultStatusCode=g,t.getList=y,t.highlight=_,t.mapToList=b,t.extractFileNameFromContentDispositionHeader=x,t.pascalCase=w,t.pascalCaseFilename=k,t.sanitizeUrl=E,t.getAcceptControllingResponse=S;var B=n(7),L=r(B),q=n(520),z=n(952),U=r(z),W=n(440),V=r(W),H=n(436),J=r(H),G=n(226),X=r(G),Y=n(970),K=r(Y),$=n(119),Z=r($),Q=n(173),ee=n(36),te=r(ee),ne=n(710),re=r(ne),ie=\"default\",oe=t.isImmutable=function(e){return L.default.Iterable.isIterable(e)},ae=(t.memoize=J.default,t.propChecker=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[];return(0,j.default)(e).length!==(0,j.default)(t).length||((0,K.default)(e,function(e,n){if(r.includes(n))return!1;var i=t[n];return L.default.Iterable.isIterable(e)?!L.default.is(e,i):(\"object\"!==(void 0===e?\"undefined\":(0,F.default)(e))||\"object\"!==(void 0===i?\"undefined\":(0,F.default)(i)))&&e!==i})||n.some(function(n){return!(0,Z.default)(e[n],t[n])}))},t.validateMaximum=function(e,t){if(e>t)return\"Value must be less than Maximum\"}),se=t.validateMinimum=function(e,t){if(e<t)return\"Value must be greater than Minimum\"},ue=t.validateNumber=function(e){if(!/^-?\\d+(\\.?\\d+)?$/.test(e))return\"Value must be a number\"},le=t.validateInteger=function(e){if(!/^-?\\d+$/.test(e))return\"Value must be an integer\"},ce=t.validateFile=function(e){if(e&&!(e instanceof te.default.File))return\"Value must be a file\"},pe=t.validateBoolean=function(e){if(\"true\"!==e&&\"false\"!==e&&!0!==e&&!1!==e)return\"Value must be a boolean\"},fe=t.validateString=function(e){if(e&&\"string\"!=typeof e)return\"Value must be a string\"},he=t.validateDateTime=function(e){if(isNaN(Date.parse(e)))return\"Value must be a DateTime\"},de=t.validateGuid=function(e){if(e=e.toString().toLowerCase(),!/^[{(]?[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}[)}]?$/.test(e))return\"Value must be a Guid\"},me=t.validateMaxLength=function(e,t){if(e.length>t)return\"Value must be less than MaxLength\"},ve=t.validateMinLength=function(e,t){if(e.length<t)return\"Value must be greater than MinLength\"},ge=t.validatePattern=function(e,t){if(!new RegExp(t).test(e))return\"Value must follow pattern \"+t},ye=(t.validateParam=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=[],i=t&&\"body\"===e.get(\"in\")?e.get(\"value_xml\"):e.get(\"value\"),o=e.get(\"required\"),a=n?e.get(\"schema\"):e;if(!a)return r;var s=a.get(\"maximum\"),u=a.get(\"minimum\"),l=a.get(\"type\"),c=a.get(\"format\"),p=a.get(\"maxLength\"),f=a.get(\"minLength\"),h=a.get(\"pattern\");if(l&&(o||i)){var d=\"string\"===l&&i,m=\"array\"===l&&Array.isArray(i)&&i.length,v=\"array\"===l&&L.default.List.isList(i)&&i.count(),g=\"file\"===l&&i instanceof te.default.File,y=\"boolean\"===l&&(i||!1===i),_=\"number\"===l&&(i||0===i),b=\"integer\"===l&&(i||0===i);if(o&&!(d||m||v||g||y||_||b))return r.push(\"Required field is not provided\"),r;if(h){var x=ge(i,h);x&&r.push(x)}if(p||0===p){var w=me(i,p);w&&r.push(w)}if(f){var k=ve(i,f);k&&r.push(k)}if(s||0===s){var E=ae(i,s);E&&r.push(E)}if(u||0===u){var S=se(i,u);S&&r.push(S)}if(\"string\"===l){var C=void 0;if(!(C=\"date-time\"===c?he(i):\"uuid\"===c?de(i):fe(i)))return r;r.push(C)}else if(\"boolean\"===l){var A=pe(i);if(!A)return r;r.push(A)}else if(\"number\"===l){var D=ue(i);if(!D)return r;r.push(D)}else if(\"integer\"===l){var O=le(i);if(!O)return r;r.push(O)}else if(\"array\"===l){var M=void 0;if(!v||!i.count())return r;M=a.getIn([\"items\",\"type\"]),i.forEach(function(e,t){var n=void 0;\"number\"===M?n=ue(e):\"integer\"===M?n=le(e):\"string\"===M&&(n=fe(e)),n&&r.push({index:t,error:n})})}else if(\"file\"===l){var T=ce(i);if(!T)return r;r.push(T)}}return r},t.getSampleSchema=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"\",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(/xml/.test(t)){if(!e.xml||!e.xml.name){if(e.xml=e.xml||{},!e.$$ref)return e.type||e.items||e.properties||e.additionalProperties?'<?xml version=\"1.0\" encoding=\"UTF-8\"?>\\n\\x3c!-- XML example cannot be generated --\\x3e':null;var r=e.$$ref.match(/\\S*\\/(\\S+)$/);e.xml.name=r[1]}return(0,Q.memoizedCreateXMLExample)(e,n)}return(0,A.default)((0,Q.memoizedSampleFromSchema)(e,n),null,2)},t.parseSearch=function(){var e={},t=te.default.location.search;if(!t)return{};if(\"\"!=t){var n=t.substr(1).split(\"&\");for(var r in n)n.hasOwnProperty(r)&&(r=n[r].split(\"=\"),e[decodeURIComponent(r[0])]=r[1]&&decodeURIComponent(r[1])||\"\")}return e},t.serializeSearch=function(e){return(0,j.default)(e).map(function(t){return encodeURIComponent(t)+\"=\"+encodeURIComponent(e[t])}).join(\"&\")},t.btoa=function(t){var n=void 0;return n=t instanceof e?t:new e(t.toString(),\"utf-8\"),n.toString(\"base64\")},t.sorters={operationsSorter:{alpha:function(e,t){return e.get(\"path\").localeCompare(t.get(\"path\"))},method:function(e,t){return e.get(\"method\").localeCompare(t.get(\"method\"))}},tagsSorter:{alpha:function(e,t){return e.localeCompare(t)}}},t.buildFormData=function(e){var t=[];for(var n in e){var r=e[n];void 0!==r&&\"\"!==r&&t.push([n,\"=\",encodeURIComponent(r).replace(/%20/g,\"+\")].join(\"\"))}return t.join(\"&\")},t.shallowEqualKeys=function(e,t,n){return!!(0,X.default)(n,function(n){return(0,Z.default)(e[n],t[n])})},t.createDeepLinkPath=function(e){return\"string\"==typeof e||e instanceof String?e.trim().replace(/\\s/g,\"_\"):\"\"});t.escapeDeepLinkPath=function(e){return(0,re.default)(ye(e))},t.getExtensions=function(e){return e.filter(function(e,t){return/^x-/.test(t)})}}).call(t,n(42).Buffer)},function(e,t,n){\"use strict\";var r=n(33),i=r;e.exports=i},function(e,t,n){\"use strict\";function r(e){for(var t=arguments.length-1,n=\"Minified React error #\"+e+\"; visit http://facebook.github.io/react/docs/error-decoder.html?invariant=\"+e,r=0;r<t;r++)n+=\"&args[]=\"+encodeURIComponent(arguments[r+1]);n+=\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\";var i=new Error(n);throw i.name=\"Invariant Violation\",i.framesToPop=1,i}e.exports=r},function(e,t,n){\"use strict\";function r(e){var t=typeof e;return Array.isArray(e)?\"array\":e instanceof RegExp?\"object\":e instanceof b.Iterable?\"Immutable.\"+e.toSource().split(\" \")[0]:t}function i(e){function t(t,n,r,i,o,a){for(var s=arguments.length,u=Array(s>6?s-6:0),l=6;l<s;l++)u[l-6]=arguments[l];if(a=a||r,i=i||x,null!=n[r])return e.apply(void 0,[n,r,i,o,a].concat(u));var c=o;return t?new Error(\"Required \"+c+\" `\"+a+\"` was not specified in `\"+i+\"`.\"):void 0}var n=t.bind(null,!1);return n.isRequired=t.bind(null,!0),n}function o(e,t){function n(n,i,o,a,s){var u=n[i];if(!t(u)){var l=r(u);return new Error(\"Invalid \"+a+\" `\"+s+\"` of type `\"+l+\"` supplied to `\"+o+\"`, expected `\"+e+\"`.\")}return null}return i(n)}function a(e,t,n){function o(i,o,a,s,u){for(var l=arguments.length,c=Array(l>5?l-5:0),p=5;p<l;p++)c[p-5]=arguments[p];var f=i[o];if(!n(f)){var h=s,d=r(f);return new Error(\"Invalid \"+h+\" `\"+u+\"` of type `\"+d+\"` supplied to `\"+a+\"`, expected an Immutable.js \"+t+\".\")}if(\"function\"!=typeof e)return new Error(\"Invalid typeChecker supplied to `\"+a+\"` for propType `\"+u+\"`, expected a function.\");for(var m=f.toArray(),v=0,g=m.length;v<g;v++){var y=e.apply(void 0,[m,v,a,s,u+\"[\"+v+\"]\"].concat(c));if(y instanceof Error)return y}}return i(o)}function s(e){function t(t,n,r,i,o){for(var a=arguments.length,s=Array(a>5?a-5:0),u=5;u<a;u++)s[u-5]=arguments[u];var l=t[n];if(\"function\"!=typeof e)return new Error(\"Invalid keysTypeChecker (optional second argument) supplied to `\"+r+\"` for propType `\"+o+\"`, expected a function.\");for(var c=l.keySeq().toArray(),p=0,f=c.length;p<f;p++){var h=e.apply(void 0,[c,p,r,i,o+\" -> key(\"+c[p]+\")\"].concat(s));if(h instanceof Error)return h}}return i(t)}function u(e){return a(e,\"List\",b.List.isList)}function l(e,t,n,r){function o(){for(var i=arguments.length,o=Array(i),u=0;u<i;u++)o[u]=arguments[u];return a(e,n,r).apply(void 0,o)||t&&s(t).apply(void 0,o)}return i(o)}function c(e,t){return l(e,t,\"Map\",b.Map.isMap)}function p(e,t){return l(e,t,\"OrderedMap\",b.OrderedMap.isOrderedMap)}function f(e){return a(e,\"Set\",b.Set.isSet)}function h(e){return a(e,\"OrderedSet\",b.OrderedSet.isOrderedSet)}function d(e){return a(e,\"Stack\",b.Stack.isStack)}function m(e){return a(e,\"Iterable\",b.Iterable.isIterable)}function v(e){function t(t,n,i,o,a){for(var s=arguments.length,u=Array(s>5?s-5:0),l=5;l<s;l++)u[l-5]=arguments[l];var c=t[n];if(!(c instanceof b.Record)){var p=r(c),f=o;return new Error(\"Invalid \"+f+\" `\"+a+\"` of type `\"+p+\"` supplied to `\"+i+\"`, expected an Immutable.js Record.\")}for(var h in e){var d=e[h];if(d){var m=c.toObject(),v=d.apply(void 0,[m,h,i,o,a+\".\"+h].concat(u));if(v)return v}}}return i(t)}function g(e){function t(t,i,a,s,u){for(var l=arguments.length,c=Array(l>5?l-5:0),p=5;p<l;p++)c[p-5]=arguments[p];var f=t[i];if(!o(f)){var h=r(f),d=s;return new Error(\"Invalid \"+d+\" `\"+u+\"` of type `\"+h+\"` supplied to `\"+a+\"`, expected an Immutable.js \"+n+\".\")}var m=f.toObject();for(var v in e){var g=e[v];if(g){var y=g.apply(void 0,[m,v,a,s,u+\".\"+v].concat(c));if(y)return y}}}var n=void 0===arguments[1]?\"Iterable\":arguments[1],o=void 0===arguments[2]?b.Iterable.isIterable:arguments[2];return i(t)}function y(e){return g(e)}function _(e){return g(e,\"Map\",b.Map.isMap)}var b=n(7),x=\"<<anonymous>>\",w={listOf:u,mapOf:c,orderedMapOf:p,setOf:f,orderedSetOf:h,stackOf:d,iterableOf:m,recordOf:v,shape:y,contains:y,mapContains:_,list:o(\"List\",b.List.isList),map:o(\"Map\",b.Map.isMap),orderedMap:o(\"OrderedMap\",b.OrderedMap.isOrderedMap),set:o(\"Set\",b.Set.isSet),orderedSet:o(\"OrderedSet\",b.OrderedSet.isOrderedSet),stack:o(\"Stack\",b.Stack.isStack),seq:o(\"Seq\",b.Seq.isSeq),record:o(\"Record\",function(e){return e instanceof b.Record}),iterable:o(\"Iterable\",b.Iterable.isIterable)};e.exports=w},function(e,t,n){\"use strict\";function r(e){if(null===e||void 0===e)throw new TypeError(\"Object.assign cannot be called with null or undefined\");return Object(e)}/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\nvar i=Object.getOwnPropertySymbols,o=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String(\"abc\");if(e[5]=\"de\",\"5\"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t[\"_\"+String.fromCharCode(n)]=n;if(\"0123456789\"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(\"\"))return!1;var r={};return\"abcdefghijklmnopqrst\".split(\"\").forEach(function(e){r[e]=e}),\"abcdefghijklmnopqrst\"===Object.keys(Object.assign({},r)).join(\"\")}catch(e){return!1}}()?Object.assign:function(e,t){for(var n,s,u=r(e),l=1;l<arguments.length;l++){n=Object(arguments[l]);for(var c in n)o.call(n,c)&&(u[c]=n[c]);if(i){s=i(n);for(var p=0;p<s.length;p++)a.call(n,s[p])&&(u[s[p]]=n[s[p]])}}return u}},function(e,t,n){\"use strict\";function r(e,t){return 1===e.nodeType&&e.getAttribute(d)===String(t)||8===e.nodeType&&e.nodeValue===\" react-text: \"+t+\" \"||8===e.nodeType&&e.nodeValue===\" react-empty: \"+t+\" \"}function i(e){for(var t;t=e._renderedComponent;)e=t;return e}function o(e,t){var n=i(e);n._hostNode=t,t[v]=n}function a(e){var t=e._hostNode;t&&(delete t[v],e._hostNode=null)}function s(e,t){if(!(e._flags&m.hasCachedChildNodes)){var n=e._renderedChildren,a=t.firstChild;e:for(var s in n)if(n.hasOwnProperty(s)){var u=n[s],l=i(u)._domID;if(0!==l){for(;null!==a;a=a.nextSibling)if(r(a,l)){o(u,a);continue e}p(\"32\",l)}}e._flags|=m.hasCachedChildNodes}}function u(e){if(e[v])return e[v];for(var t=[];!e[v];){if(t.push(e),!e.parentNode)return null;e=e.parentNode}for(var n,r;e&&(r=e[v]);e=t.pop())n=r,t.length&&s(r,e);return n}function l(e){var t=u(e);return null!=t&&t._hostNode===e?t:null}function c(e){if(void 0===e._hostNode&&p(\"33\"),e._hostNode)return e._hostNode;for(var t=[];!e._hostNode;)t.push(e),e._hostParent||p(\"34\"),e=e._hostParent;for(;t.length;e=t.pop())s(e,e._hostNode);return e._hostNode}var p=n(11),f=n(89),h=n(466),d=(n(8),f.ID_ATTRIBUTE_NAME),m=h,v=\"__reactInternalInstance$\"+Math.random().toString(36).slice(2),g={getClosestInstanceFromNode:u,getInstanceFromNode:l,getNodeFromInstance:c,precacheChildNodes:s,precacheNode:o,uncacheNode:a};e.exports=g},function(e,t){var n=e.exports={version:\"2.5.3\"};\"number\"==typeof __e&&(__e=n)},function(e,t){var n;n=function(){return this}();try{n=n||Function(\"return this\")()||(0,eval)(\"this\")}catch(e){\"object\"==typeof window&&(n=window)}e.exports=n},function(e,t,n){\"use strict\";function r(e){var t={};return null!==e&&Object.keys(e).forEach(function(n){e[n].forEach(function(e){t[String(e)]=n})}),t}function i(e,t){if(t=t||{},Object.keys(t).forEach(function(t){if(-1===a.indexOf(t))throw new o('Unknown option \"'+t+'\" is met in definition of \"'+e+'\" YAML type.')}),this.tag=e,this.kind=t.kind||null,this.resolve=t.resolve||function(){return!0},this.construct=t.construct||function(e){return e},this.instanceOf=t.instanceOf||null,this.predicate=t.predicate||null,this.represent=t.represent||null,this.defaultStyle=t.defaultStyle||null,this.styleAliases=r(t.styleAliases||null),-1===s.indexOf(this.kind))throw new o('Unknown kind \"'+this.kind+'\" is specified for \"'+e+'\" YAML type.')}var o=n(117),a=[\"kind\",\"resolve\",\"construct\",\"instanceOf\",\"predicate\",\"represent\",\"defaultStyle\",\"styleAliases\"],s=[\"scalar\",\"sequence\",\"mapping\"];e.exports=i},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var i=n(578),o=r(i),a=n(96),s=r(a);t.default=function(){function e(e,t){var n=[],r=!0,i=!1,o=void 0;try{for(var a,u=(0,s.default)(e);!(r=(a=u.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){i=!0,o=e}finally{try{!r&&u.return&&u.return()}finally{if(i)throw o}}return n}return function(t,n){if(Array.isArray(t))return t;if((0,o.default)(Object(t)))return e(t,n);throw new TypeError(\"Invalid attempt to destructure non-iterable instance\")}}()},function(e,t,n){var r=n(368)(\"wks\"),i=n(204),o=n(32).Symbol,a=\"function\"==typeof o;(e.exports=function(e){return r[e]||(r[e]=a&&o[e]||(a?o:i)(\"Symbol.\"+e))}).store=r},function(e,t,n){\"use strict\";t.__esModule=!0;var r=n(27),i=function(e){return e&&e.__esModule?e:{default:e}}(r);t.default=i.default||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}},function(e,t,n){var r=n(190)(\"wks\"),i=n(134),o=n(24).Symbol,a=\"function\"==typeof o;(e.exports=function(e){return r[e]||(r[e]=a&&o[e]||(a?o:i)(\"Symbol.\"+e))}).store=r},function(e,t){var n=Array.isArray;e.exports=n},function(e,t,n){var r=n(24),i=n(15),o=n(54),a=n(57),s=function(e,t,n){var u,l,c,p=e&s.F,f=e&s.G,h=e&s.S,d=e&s.P,m=e&s.B,v=e&s.W,g=f?i:i[t]||(i[t]={}),y=g.prototype,_=f?r:h?r[t]:(r[t]||{}).prototype;f&&(n=t);for(u in n)(l=!p&&_&&void 0!==_[u])&&u in g||(c=l?_[u]:n[u],g[u]=f&&\"function\"!=typeof _[u]?n[u]:m&&l?o(c,r):v&&_[u]==c?function(e){var t=function(t,n,r){if(this instanceof e){switch(arguments.length){case 0:return new e;case 1:return new e(t);case 2:return new e(t,n)}return new e(t,n,r)}return e.apply(this,arguments)};return t.prototype=e.prototype,t}(c):d&&\"function\"==typeof c?o(Function.call,c):c,d&&((g.virtual||(g.virtual={}))[u]=c,e&s.R&&y&&!y[u]&&a(y,u,c)))};s.F=1,s.G=2,s.S=4,s.P=8,s.B=16,s.W=32,s.U=64,s.R=128,e.exports=s},function(e,t){var n=e.exports=\"undefined\"!=typeof window&&window.Math==Math?window:\"undefined\"!=typeof self&&self.Math==Math?self:Function(\"return this\")();\"number\"==typeof __g&&(__g=n)},function(e,t,n){\"use strict\";var r=!(\"undefined\"==typeof window||!window.document||!window.document.createElement),i={canUseDOM:r,canUseWorkers:\"undefined\"!=typeof Worker,canUseEventListeners:r&&!(!window.addEventListener&&!window.attachEvent),canUseViewport:r&&!!window.screen,isInWorker:!r};e.exports=i},function(e,t,n){\"use strict\";function r(e){return Object.prototype.toString.call(e)}function i(e){return\"[object String]\"===r(e)}function o(e,t){return!!e&&d.call(e,t)}function a(e){return[].slice.call(arguments,1).forEach(function(t){if(t){if(\"object\"!=typeof t)throw new TypeError(t+\"must be object\");Object.keys(t).forEach(function(n){e[n]=t[n]})}}),e}function s(e){return e.indexOf(\"\\\\\")<0?e:e.replace(m,\"$1\")}function u(e){return!(e>=55296&&e<=57343)&&(!(e>=64976&&e<=65007)&&(65535!=(65535&e)&&65534!=(65535&e)&&(!(e>=0&&e<=8)&&(11!==e&&(!(e>=14&&e<=31)&&(!(e>=127&&e<=159)&&!(e>1114111)))))))}function l(e){if(e>65535){e-=65536;var t=55296+(e>>10),n=56320+(1023&e);return String.fromCharCode(t,n)}return String.fromCharCode(e)}function c(e,t){var n=0;return o(y,t)?y[t]:35===t.charCodeAt(0)&&g.test(t)&&(n=\"x\"===t[1].toLowerCase()?parseInt(t.slice(2),16):parseInt(t.slice(1),10),u(n))?l(n):e}function p(e){return e.indexOf(\"&\")<0?e:e.replace(v,c)}function f(e){return x[e]}function h(e){return _.test(e)?e.replace(b,f):e}var d=Object.prototype.hasOwnProperty,m=/\\\\([\\\\!\"#$%&'()*+,.\\/:;<=>?@[\\]^_`{|}~-])/g,v=/&([a-z#][a-z0-9]{1,31});/gi,g=/^#((?:x[a-f0-9]{1,8}|[0-9]{1,8}))/i,y=n(501),_=/[&<>\"]/,b=/[&<>\"]/g,x={\"&\":\"&amp;\",\"<\":\"&lt;\",\">\":\"&gt;\",'\"':\"&quot;\"};t.assign=a,t.isString=i,t.has=o,t.unescapeMd=s,t.isValidEntityCode=u,t.fromCodePoint=l,t.replaceEntities=p,t.escapeHtml=h},function(e,t,n){e.exports={default:n(602),__esModule:!0}},function(e,t,n){\"use strict\";t.__esModule=!0;var r=n(337),i=function(e){return e&&e.__esModule?e:{default:e}}(r);t.default=function(e,t,n){return t in e?(0,i.default)(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}},function(e,t){e.exports=function(e){return\"object\"==typeof e?null!==e:\"function\"==typeof e}},function(e,t,n){var r=n(32),i=n(63),o=n(64),a=n(78),s=n(136),u=function(e,t,n){var l,c,p,f,h=e&u.F,d=e&u.G,m=e&u.S,v=e&u.P,g=e&u.B,y=d?r:m?r[t]||(r[t]={}):(r[t]||{}).prototype,_=d?i:i[t]||(i[t]={}),b=_.prototype||(_.prototype={});d&&(n=t);for(l in n)c=!h&&y&&void 0!==y[l],p=(c?y:n)[l],f=g&&c?s(p,r):v&&\"function\"==typeof p?s(Function.call,p):p,y&&a(y,l,p,e&u.U),_[l]!=p&&o(_,l,f),v&&b[l]!=p&&(b[l]=p)};r.core=i,u.F=1,u.G=2,u.S=4,u.P=8,u.B=16,u.W=32,u.U=64,u.R=128,e.exports=u},function(e,t,n){var r=n(30),i=n(107),o=n(58),a=/\"/g,s=function(e,t,n,r){var i=String(o(e)),s=\"<\"+t;return\"\"!==n&&(s+=\" \"+n+'=\"'+String(r).replace(a,\"&quot;\")+'\"'),s+\">\"+i+\"</\"+t+\">\"};e.exports=function(e,t){var n={};n[e]=t(s),r(r.P+r.F*i(function(){var t=\"\"[e]('\"');return t!==t.toLowerCase()||t.split('\"').length>3}),\"String\",n)}},function(e,t){var n=e.exports=\"undefined\"!=typeof window&&window.Math==Math?window:\"undefined\"!=typeof self&&self.Math==Math?self:Function(\"return this\")();\"number\"==typeof __g&&(__g=n)},function(e,t,n){\"use strict\";function r(e){return function(){return e}}var i=function(){};i.thatReturns=r,i.thatReturnsFalse=r(!1),i.thatReturnsTrue=r(!0),i.thatReturnsNull=r(null),i.thatReturnsThis=function(){return this},i.thatReturnsArgument=function(e){return e},e.exports=i},function(e,t){function n(){throw new Error(\"setTimeout has not been defined\")}function r(){throw new Error(\"clearTimeout has not been defined\")}function i(e){if(c===setTimeout)return setTimeout(e,0);if((c===n||!c)&&setTimeout)return c=setTimeout,setTimeout(e,0);try{return c(e,0)}catch(t){try{return c.call(null,e,0)}catch(t){return c.call(this,e,0)}}}function o(e){if(p===clearTimeout)return clearTimeout(e);if((p===r||!p)&&clearTimeout)return p=clearTimeout,clearTimeout(e);try{return p(e)}catch(t){try{return p.call(null,e)}catch(t){return p.call(this,e)}}}function a(){m&&h&&(m=!1,h.length?d=h.concat(d):v=-1,d.length&&s())}function s(){if(!m){var e=i(a);m=!0;for(var t=d.length;t;){for(h=d,d=[];++v<t;)h&&h[v].run();v=-1,t=d.length}h=null,m=!1,o(e)}}function u(e,t){this.fun=e,this.array=t}function l(){}var c,p,f=e.exports={};!function(){try{c=\"function\"==typeof setTimeout?setTimeout:n}catch(e){c=n}try{p=\"function\"==typeof clearTimeout?clearTimeout:r}catch(e){p=r}}();var h,d=[],m=!1,v=-1;f.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];d.push(new u(e,t)),1!==d.length||m||i(s)},u.prototype.run=function(){this.fun.apply(null,this.array)},f.title=\"browser\",f.browser=!0,f.env={},f.argv=[],f.version=\"\",f.versions={},f.on=l,f.addListener=l,f.once=l,f.off=l,f.removeListener=l,f.removeAllListeners=l,f.emit=l,f.prependListener=l,f.prependOnceListener=l,f.listeners=function(e){return[]},f.binding=function(e){throw new Error(\"process.binding is not supported\")},f.cwd=function(){return\"/\"},f.chdir=function(e){throw new Error(\"process.chdir is not supported\")},f.umask=function(){return 0}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function i(e){var t=e.get(\"openapi\");return!!t&&t.startsWith(\"3\")}function o(e){var t=e.get(\"swagger\");return!!t&&t.startsWith(\"2\")}function a(e){return function(t,n){return function(r){if(n&&n.specSelectors&&n.specSelectors.specJson){return i(n.specSelectors.specJson())?c.default.createElement(e,(0,u.default)({},r,n,{Ori:t})):c.default.createElement(t,r)}return console.warn(\"OAS3 wrapper: couldn't get spec\"),null}}}Object.defineProperty(t,\"__esModule\",{value:!0});var s=n(20),u=r(s);t.isOAS3=i,t.isSwagger2=o,t.OAS3ComponentWrapFactory=a;var l=n(0),c=r(l)},function(e,t,n){\"use strict\";var r=n(96),i=function(e){return e&&e.__esModule?e:{default:e}}(r);e.exports=function(){var e={location:{},history:{},open:function(){},close:function(){},File:function(){}};if(\"undefined\"==typeof window)return e;try{e=window;var t=[\"File\",\"Blob\",\"FormData\"],n=!0,r=!1,o=void 0;try{for(var a,s=(0,i.default)(t);!(n=(a=s.next()).done);n=!0){var u=a.value;u in window&&(e[u]=window[u])}}catch(e){r=!0,o=e}finally{try{!n&&s.return&&s.return()}finally{if(r)throw o}}}catch(e){console.error(e)}return e}()},function(e,t,n){e.exports={default:n(601),__esModule:!0}},function(e,t,n){var r=n(29);e.exports=function(e){if(!r(e))throw TypeError(e+\" is not an object!\");return e}},function(e,t,n){var r=n(419),i=\"object\"==typeof self&&self&&self.Object===Object&&self,o=r||i||Function(\"return this\")();e.exports=o},function(e,t){function n(e){var t=typeof e;return null!=e&&(\"object\"==t||\"function\"==t)}e.exports=n},function(e,t,n){\"use strict\";var r=null;e.exports={debugTool:r}},function(e,t,n){\"use strict\";(function(e){function r(){return o.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function i(e,t){if(r()<t)throw new RangeError(\"Invalid typed array length\");return o.TYPED_ARRAY_SUPPORT?(e=new Uint8Array(t),e.__proto__=o.prototype):(null===e&&(e=new o(t)),e.length=t),e}function o(e,t,n){if(!(o.TYPED_ARRAY_SUPPORT||this instanceof o))return new o(e,t,n);if(\"number\"==typeof e){if(\"string\"==typeof t)throw new Error(\"If encoding is specified then the first argument must be a string\");return l(this,e)}return a(this,e,t,n)}function a(e,t,n,r){if(\"number\"==typeof t)throw new TypeError('\"value\" argument must not be a number');return\"undefined\"!=typeof ArrayBuffer&&t instanceof ArrayBuffer?f(e,t,n,r):\"string\"==typeof t?c(e,t,n):h(e,t)}function s(e){if(\"number\"!=typeof e)throw new TypeError('\"size\" argument must be a number');if(e<0)throw new RangeError('\"size\" argument must not be negative')}function u(e,t,n,r){return s(t),t<=0?i(e,t):void 0!==n?\"string\"==typeof r?i(e,t).fill(n,r):i(e,t).fill(n):i(e,t)}function l(e,t){if(s(t),e=i(e,t<0?0:0|d(t)),!o.TYPED_ARRAY_SUPPORT)for(var n=0;n<t;++n)e[n]=0;return e}function c(e,t,n){if(\"string\"==typeof n&&\"\"!==n||(n=\"utf8\"),!o.isEncoding(n))throw new TypeError('\"encoding\" must be a valid string encoding');var r=0|v(t,n);e=i(e,r);var a=e.write(t,n);return a!==r&&(e=e.slice(0,a)),e}function p(e,t){var n=t.length<0?0:0|d(t.length);e=i(e,n);for(var r=0;r<n;r+=1)e[r]=255&t[r];return e}function f(e,t,n,r){if(t.byteLength,n<0||t.byteLength<n)throw new RangeError(\"'offset' is out of bounds\");if(t.byteLength<n+(r||0))throw new RangeError(\"'length' is out of bounds\");return t=void 0===n&&void 0===r?new Uint8Array(t):void 0===r?new Uint8Array(t,n):new Uint8Array(t,n,r),o.TYPED_ARRAY_SUPPORT?(e=t,e.__proto__=o.prototype):e=p(e,t),e}function h(e,t){if(o.isBuffer(t)){var n=0|d(t.length);return e=i(e,n),0===e.length?e:(t.copy(e,0,0,n),e)}if(t){if(\"undefined\"!=typeof ArrayBuffer&&t.buffer instanceof ArrayBuffer||\"length\"in t)return\"number\"!=typeof t.length||Y(t.length)?i(e,0):p(e,t);if(\"Buffer\"===t.type&&Z(t.data))return p(e,t.data)}throw new TypeError(\"First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.\")}function d(e){if(e>=r())throw new RangeError(\"Attempt to allocate Buffer larger than maximum size: 0x\"+r().toString(16)+\" bytes\");return 0|e}function m(e){return+e!=e&&(e=0),o.alloc(+e)}function v(e,t){if(o.isBuffer(e))return e.length;if(\"undefined\"!=typeof ArrayBuffer&&\"function\"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;\"string\"!=typeof e&&(e=\"\"+e);var n=e.length;if(0===n)return 0;for(var r=!1;;)switch(t){case\"ascii\":case\"latin1\":case\"binary\":return n;case\"utf8\":case\"utf-8\":case void 0:return V(e).length;case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return 2*n;case\"hex\":return n>>>1;case\"base64\":return G(e).length;default:if(r)return V(e).length;t=(\"\"+t).toLowerCase(),r=!0}}function g(e,t,n){var r=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return\"\";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return\"\";if(n>>>=0,t>>>=0,n<=t)return\"\";for(e||(e=\"utf8\");;)switch(e){case\"hex\":return P(this,t,n);case\"utf8\":case\"utf-8\":return D(this,t,n);case\"ascii\":return M(this,t,n);case\"latin1\":case\"binary\":return T(this,t,n);case\"base64\":return A(this,t,n);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return I(this,t,n);default:if(r)throw new TypeError(\"Unknown encoding: \"+e);e=(e+\"\").toLowerCase(),r=!0}}function y(e,t,n){var r=e[t];e[t]=e[n],e[n]=r}function _(e,t,n,r,i){if(0===e.length)return-1;if(\"string\"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=i?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(i)return-1;n=e.length-1}else if(n<0){if(!i)return-1;n=0}if(\"string\"==typeof t&&(t=o.from(t,r)),o.isBuffer(t))return 0===t.length?-1:b(e,t,n,r,i);if(\"number\"==typeof t)return t&=255,o.TYPED_ARRAY_SUPPORT&&\"function\"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):b(e,[t],n,r,i);throw new TypeError(\"val must be string, number or Buffer\")}function b(e,t,n,r,i){function o(e,t){return 1===a?e[t]:e.readUInt16BE(t*a)}var a=1,s=e.length,u=t.length;if(void 0!==r&&(\"ucs2\"===(r=String(r).toLowerCase())||\"ucs-2\"===r||\"utf16le\"===r||\"utf-16le\"===r)){if(e.length<2||t.length<2)return-1;a=2,s/=2,u/=2,n/=2}var l;if(i){var c=-1;for(l=n;l<s;l++)if(o(e,l)===o(t,-1===c?0:l-c)){if(-1===c&&(c=l),l-c+1===u)return c*a}else-1!==c&&(l-=l-c),c=-1}else for(n+u>s&&(n=s-u),l=n;l>=0;l--){for(var p=!0,f=0;f<u;f++)if(o(e,l+f)!==o(t,f)){p=!1;break}if(p)return l}return-1}function x(e,t,n,r){n=Number(n)||0;var i=e.length-n;r?(r=Number(r))>i&&(r=i):r=i;var o=t.length;if(o%2!=0)throw new TypeError(\"Invalid hex string\");r>o/2&&(r=o/2);for(var a=0;a<r;++a){var s=parseInt(t.substr(2*a,2),16);if(isNaN(s))return a;e[n+a]=s}return a}function w(e,t,n,r){return X(V(t,e.length-n),e,n,r)}function k(e,t,n,r){return X(H(t),e,n,r)}function E(e,t,n,r){return k(e,t,n,r)}function S(e,t,n,r){return X(G(t),e,n,r)}function C(e,t,n,r){return X(J(t,e.length-n),e,n,r)}function A(e,t,n){return 0===t&&n===e.length?K.fromByteArray(e):K.fromByteArray(e.slice(t,n))}function D(e,t,n){n=Math.min(e.length,n);for(var r=[],i=t;i<n;){var o=e[i],a=null,s=o>239?4:o>223?3:o>191?2:1;if(i+s<=n){var u,l,c,p;switch(s){case 1:o<128&&(a=o);break;case 2:u=e[i+1],128==(192&u)&&(p=(31&o)<<6|63&u)>127&&(a=p);break;case 3:u=e[i+1],l=e[i+2],128==(192&u)&&128==(192&l)&&(p=(15&o)<<12|(63&u)<<6|63&l)>2047&&(p<55296||p>57343)&&(a=p);break;case 4:u=e[i+1],l=e[i+2],c=e[i+3],128==(192&u)&&128==(192&l)&&128==(192&c)&&(p=(15&o)<<18|(63&u)<<12|(63&l)<<6|63&c)>65535&&p<1114112&&(a=p)}}null===a?(a=65533,s=1):a>65535&&(a-=65536,r.push(a>>>10&1023|55296),a=56320|1023&a),r.push(a),i+=s}return O(r)}function O(e){var t=e.length;if(t<=Q)return String.fromCharCode.apply(String,e);for(var n=\"\",r=0;r<t;)n+=String.fromCharCode.apply(String,e.slice(r,r+=Q));return n}function M(e,t,n){var r=\"\";n=Math.min(e.length,n);for(var i=t;i<n;++i)r+=String.fromCharCode(127&e[i]);return r}function T(e,t,n){var r=\"\";n=Math.min(e.length,n);for(var i=t;i<n;++i)r+=String.fromCharCode(e[i]);return r}function P(e,t,n){var r=e.length;(!t||t<0)&&(t=0),(!n||n<0||n>r)&&(n=r);for(var i=\"\",o=t;o<n;++o)i+=W(e[o]);return i}function I(e,t,n){for(var r=e.slice(t,n),i=\"\",o=0;o<r.length;o+=2)i+=String.fromCharCode(r[o]+256*r[o+1]);return i}function R(e,t,n){if(e%1!=0||e<0)throw new RangeError(\"offset is not uint\");if(e+t>n)throw new RangeError(\"Trying to access beyond buffer length\")}function j(e,t,n,r,i,a){if(!o.isBuffer(e))throw new TypeError('\"buffer\" argument must be a Buffer instance');if(t>i||t<a)throw new RangeError('\"value\" argument is out of bounds');if(n+r>e.length)throw new RangeError(\"Index out of range\")}function N(e,t,n,r){t<0&&(t=65535+t+1);for(var i=0,o=Math.min(e.length-n,2);i<o;++i)e[n+i]=(t&255<<8*(r?i:1-i))>>>8*(r?i:1-i)}function F(e,t,n,r){t<0&&(t=4294967295+t+1);for(var i=0,o=Math.min(e.length-n,4);i<o;++i)e[n+i]=t>>>8*(r?i:3-i)&255}function B(e,t,n,r,i,o){if(n+r>e.length)throw new RangeError(\"Index out of range\");if(n<0)throw new RangeError(\"Index out of range\")}function L(e,t,n,r,i){return i||B(e,t,n,4,3.4028234663852886e38,-3.4028234663852886e38),$.write(e,t,n,r,23,4),n+4}function q(e,t,n,r,i){return i||B(e,t,n,8,1.7976931348623157e308,-1.7976931348623157e308),$.write(e,t,n,r,52,8),n+8}function z(e){if(e=U(e).replace(ee,\"\"),e.length<2)return\"\";for(;e.length%4!=0;)e+=\"=\";return e}function U(e){return e.trim?e.trim():e.replace(/^\\s+|\\s+$/g,\"\")}function W(e){return e<16?\"0\"+e.toString(16):e.toString(16)}function V(e,t){t=t||1/0;for(var n,r=e.length,i=null,o=[],a=0;a<r;++a){if((n=e.charCodeAt(a))>55295&&n<57344){if(!i){if(n>56319){(t-=3)>-1&&o.push(239,191,189);continue}if(a+1===r){(t-=3)>-1&&o.push(239,191,189);continue}i=n;continue}if(n<56320){(t-=3)>-1&&o.push(239,191,189),i=n;continue}n=65536+(i-55296<<10|n-56320)}else i&&(t-=3)>-1&&o.push(239,191,189);if(i=null,n<128){if((t-=1)<0)break;o.push(n)}else if(n<2048){if((t-=2)<0)break;o.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;o.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error(\"Invalid code point\");if((t-=4)<0)break;o.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return o}function H(e){for(var t=[],n=0;n<e.length;++n)t.push(255&e.charCodeAt(n));return t}function J(e,t){for(var n,r,i,o=[],a=0;a<e.length&&!((t-=2)<0);++a)n=e.charCodeAt(a),r=n>>8,i=n%256,o.push(i),o.push(r);return o}function G(e){return K.toByteArray(z(e))}function X(e,t,n,r){for(var i=0;i<r&&!(i+n>=t.length||i>=e.length);++i)t[i+n]=e[i];return i}function Y(e){return e!==e}/*!\n * The buffer module from node.js, for the browser.\n *\n * @author   Feross Aboukhadijeh <feross@feross.org> <http://feross.org>\n * @license  MIT\n */\nvar K=n(583),$=n(779),Z=n(396);t.Buffer=o,t.SlowBuffer=m,t.INSPECT_MAX_BYTES=50,o.TYPED_ARRAY_SUPPORT=void 0!==e.TYPED_ARRAY_SUPPORT?e.TYPED_ARRAY_SUPPORT:function(){try{var e=new Uint8Array(1);return e.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===e.foo()&&\"function\"==typeof e.subarray&&0===e.subarray(1,1).byteLength}catch(e){return!1}}(),t.kMaxLength=r(),o.poolSize=8192,o._augment=function(e){return e.__proto__=o.prototype,e},o.from=function(e,t,n){return a(null,e,t,n)},o.TYPED_ARRAY_SUPPORT&&(o.prototype.__proto__=Uint8Array.prototype,o.__proto__=Uint8Array,\"undefined\"!=typeof Symbol&&Symbol.species&&o[Symbol.species]===o&&Object.defineProperty(o,Symbol.species,{value:null,configurable:!0})),o.alloc=function(e,t,n){return u(null,e,t,n)},o.allocUnsafe=function(e){return l(null,e)},o.allocUnsafeSlow=function(e){return l(null,e)},o.isBuffer=function(e){return!(null==e||!e._isBuffer)},o.compare=function(e,t){if(!o.isBuffer(e)||!o.isBuffer(t))throw new TypeError(\"Arguments must be Buffers\");if(e===t)return 0;for(var n=e.length,r=t.length,i=0,a=Math.min(n,r);i<a;++i)if(e[i]!==t[i]){n=e[i],r=t[i];break}return n<r?-1:r<n?1:0},o.isEncoding=function(e){switch(String(e).toLowerCase()){case\"hex\":case\"utf8\":case\"utf-8\":case\"ascii\":case\"latin1\":case\"binary\":case\"base64\":case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return!0;default:return!1}},o.concat=function(e,t){if(!Z(e))throw new TypeError('\"list\" argument must be an Array of Buffers');if(0===e.length)return o.alloc(0);var n;if(void 0===t)for(t=0,n=0;n<e.length;++n)t+=e[n].length;var r=o.allocUnsafe(t),i=0;for(n=0;n<e.length;++n){var a=e[n];if(!o.isBuffer(a))throw new TypeError('\"list\" argument must be an Array of Buffers');a.copy(r,i),i+=a.length}return r},o.byteLength=v,o.prototype._isBuffer=!0,o.prototype.swap16=function(){var e=this.length;if(e%2!=0)throw new RangeError(\"Buffer size must be a multiple of 16-bits\");for(var t=0;t<e;t+=2)y(this,t,t+1);return this},o.prototype.swap32=function(){var e=this.length;if(e%4!=0)throw new RangeError(\"Buffer size must be a multiple of 32-bits\");for(var t=0;t<e;t+=4)y(this,t,t+3),y(this,t+1,t+2);return this},o.prototype.swap64=function(){var e=this.length;if(e%8!=0)throw new RangeError(\"Buffer size must be a multiple of 64-bits\");for(var t=0;t<e;t+=8)y(this,t,t+7),y(this,t+1,t+6),y(this,t+2,t+5),y(this,t+3,t+4);return this},o.prototype.toString=function(){var e=0|this.length;return 0===e?\"\":0===arguments.length?D(this,0,e):g.apply(this,arguments)},o.prototype.equals=function(e){if(!o.isBuffer(e))throw new TypeError(\"Argument must be a Buffer\");return this===e||0===o.compare(this,e)},o.prototype.inspect=function(){var e=\"\",n=t.INSPECT_MAX_BYTES;return this.length>0&&(e=this.toString(\"hex\",0,n).match(/.{2}/g).join(\" \"),this.length>n&&(e+=\" ... \")),\"<Buffer \"+e+\">\"},o.prototype.compare=function(e,t,n,r,i){if(!o.isBuffer(e))throw new TypeError(\"Argument must be a Buffer\");if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===r&&(r=0),void 0===i&&(i=this.length),t<0||n>e.length||r<0||i>this.length)throw new RangeError(\"out of range index\");if(r>=i&&t>=n)return 0;if(r>=i)return-1;if(t>=n)return 1;if(t>>>=0,n>>>=0,r>>>=0,i>>>=0,this===e)return 0;for(var a=i-r,s=n-t,u=Math.min(a,s),l=this.slice(r,i),c=e.slice(t,n),p=0;p<u;++p)if(l[p]!==c[p]){a=l[p],s=c[p];break}return a<s?-1:s<a?1:0},o.prototype.includes=function(e,t,n){return-1!==this.indexOf(e,t,n)},o.prototype.indexOf=function(e,t,n){return _(this,e,t,n,!0)},o.prototype.lastIndexOf=function(e,t,n){return _(this,e,t,n,!1)},o.prototype.write=function(e,t,n,r){if(void 0===t)r=\"utf8\",n=this.length,t=0;else if(void 0===n&&\"string\"==typeof t)r=t,n=this.length,t=0;else{if(!isFinite(t))throw new Error(\"Buffer.write(string, encoding, offset[, length]) is no longer supported\");t|=0,isFinite(n)?(n|=0,void 0===r&&(r=\"utf8\")):(r=n,n=void 0)}var i=this.length-t;if((void 0===n||n>i)&&(n=i),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError(\"Attempt to write outside buffer bounds\");r||(r=\"utf8\");for(var o=!1;;)switch(r){case\"hex\":return x(this,e,t,n);case\"utf8\":case\"utf-8\":return w(this,e,t,n);case\"ascii\":return k(this,e,t,n);case\"latin1\":case\"binary\":return E(this,e,t,n);case\"base64\":return S(this,e,t,n);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return C(this,e,t,n);default:if(o)throw new TypeError(\"Unknown encoding: \"+r);r=(\"\"+r).toLowerCase(),o=!0}},o.prototype.toJSON=function(){return{type:\"Buffer\",data:Array.prototype.slice.call(this._arr||this,0)}};var Q=4096;o.prototype.slice=function(e,t){var n=this.length;e=~~e,t=void 0===t?n:~~t,e<0?(e+=n)<0&&(e=0):e>n&&(e=n),t<0?(t+=n)<0&&(t=0):t>n&&(t=n),t<e&&(t=e);var r;if(o.TYPED_ARRAY_SUPPORT)r=this.subarray(e,t),r.__proto__=o.prototype;else{var i=t-e;r=new o(i,void 0);for(var a=0;a<i;++a)r[a]=this[a+e]}return r},o.prototype.readUIntLE=function(e,t,n){e|=0,t|=0,n||R(e,t,this.length);for(var r=this[e],i=1,o=0;++o<t&&(i*=256);)r+=this[e+o]*i;return r},o.prototype.readUIntBE=function(e,t,n){e|=0,t|=0,n||R(e,t,this.length);for(var r=this[e+--t],i=1;t>0&&(i*=256);)r+=this[e+--t]*i;return r},o.prototype.readUInt8=function(e,t){return t||R(e,1,this.length),this[e]},o.prototype.readUInt16LE=function(e,t){return t||R(e,2,this.length),this[e]|this[e+1]<<8},o.prototype.readUInt16BE=function(e,t){return t||R(e,2,this.length),this[e]<<8|this[e+1]},o.prototype.readUInt32LE=function(e,t){return t||R(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},o.prototype.readUInt32BE=function(e,t){return t||R(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},o.prototype.readIntLE=function(e,t,n){e|=0,t|=0,n||R(e,t,this.length);for(var r=this[e],i=1,o=0;++o<t&&(i*=256);)r+=this[e+o]*i;return i*=128,r>=i&&(r-=Math.pow(2,8*t)),r},o.prototype.readIntBE=function(e,t,n){e|=0,t|=0,n||R(e,t,this.length);for(var r=t,i=1,o=this[e+--r];r>0&&(i*=256);)o+=this[e+--r]*i;return i*=128,o>=i&&(o-=Math.pow(2,8*t)),o},o.prototype.readInt8=function(e,t){return t||R(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},o.prototype.readInt16LE=function(e,t){t||R(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},o.prototype.readInt16BE=function(e,t){t||R(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},o.prototype.readInt32LE=function(e,t){return t||R(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},o.prototype.readInt32BE=function(e,t){return t||R(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},o.prototype.readFloatLE=function(e,t){return t||R(e,4,this.length),$.read(this,e,!0,23,4)},o.prototype.readFloatBE=function(e,t){return t||R(e,4,this.length),$.read(this,e,!1,23,4)},o.prototype.readDoubleLE=function(e,t){return t||R(e,8,this.length),$.read(this,e,!0,52,8)},o.prototype.readDoubleBE=function(e,t){return t||R(e,8,this.length),$.read(this,e,!1,52,8)},o.prototype.writeUIntLE=function(e,t,n,r){if(e=+e,t|=0,n|=0,!r){j(this,e,t,n,Math.pow(2,8*n)-1,0)}var i=1,o=0;for(this[t]=255&e;++o<n&&(i*=256);)this[t+o]=e/i&255;return t+n},o.prototype.writeUIntBE=function(e,t,n,r){if(e=+e,t|=0,n|=0,!r){j(this,e,t,n,Math.pow(2,8*n)-1,0)}var i=n-1,o=1;for(this[t+i]=255&e;--i>=0&&(o*=256);)this[t+i]=e/o&255;return t+n},o.prototype.writeUInt8=function(e,t,n){return e=+e,t|=0,n||j(this,e,t,1,255,0),o.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},o.prototype.writeUInt16LE=function(e,t,n){return e=+e,t|=0,n||j(this,e,t,2,65535,0),o.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):N(this,e,t,!0),t+2},o.prototype.writeUInt16BE=function(e,t,n){return e=+e,t|=0,n||j(this,e,t,2,65535,0),o.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):N(this,e,t,!1),t+2},o.prototype.writeUInt32LE=function(e,t,n){return e=+e,t|=0,n||j(this,e,t,4,4294967295,0),o.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):F(this,e,t,!0),t+4},o.prototype.writeUInt32BE=function(e,t,n){return e=+e,t|=0,n||j(this,e,t,4,4294967295,0),o.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):F(this,e,t,!1),t+4},o.prototype.writeIntLE=function(e,t,n,r){if(e=+e,t|=0,!r){var i=Math.pow(2,8*n-1);j(this,e,t,n,i-1,-i)}var o=0,a=1,s=0;for(this[t]=255&e;++o<n&&(a*=256);)e<0&&0===s&&0!==this[t+o-1]&&(s=1),this[t+o]=(e/a>>0)-s&255;return t+n},o.prototype.writeIntBE=function(e,t,n,r){if(e=+e,t|=0,!r){var i=Math.pow(2,8*n-1);j(this,e,t,n,i-1,-i)}var o=n-1,a=1,s=0;for(this[t+o]=255&e;--o>=0&&(a*=256);)e<0&&0===s&&0!==this[t+o+1]&&(s=1),this[t+o]=(e/a>>0)-s&255;return t+n},o.prototype.writeInt8=function(e,t,n){return e=+e,t|=0,n||j(this,e,t,1,127,-128),o.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},o.prototype.writeInt16LE=function(e,t,n){return e=+e,t|=0,n||j(this,e,t,2,32767,-32768),o.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):N(this,e,t,!0),t+2},o.prototype.writeInt16BE=function(e,t,n){return e=+e,t|=0,n||j(this,e,t,2,32767,-32768),o.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):N(this,e,t,!1),t+2},o.prototype.writeInt32LE=function(e,t,n){return e=+e,t|=0,n||j(this,e,t,4,2147483647,-2147483648),o.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):F(this,e,t,!0),t+4},o.prototype.writeInt32BE=function(e,t,n){return e=+e,t|=0,n||j(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),o.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):F(this,e,t,!1),t+4},o.prototype.writeFloatLE=function(e,t,n){return L(this,e,t,!0,n)},o.prototype.writeFloatBE=function(e,t,n){return L(this,e,t,!1,n)},o.prototype.writeDoubleLE=function(e,t,n){return q(this,e,t,!0,n)},o.prototype.writeDoubleBE=function(e,t,n){return q(this,e,t,!1,n)},o.prototype.copy=function(e,t,n,r){if(n||(n=0),r||0===r||(r=this.length),t>=e.length&&(t=e.length),t||(t=0),r>0&&r<n&&(r=n),r===n)return 0;if(0===e.length||0===this.length)return 0;if(t<0)throw new RangeError(\"targetStart out of bounds\");if(n<0||n>=this.length)throw new RangeError(\"sourceStart out of bounds\");if(r<0)throw new RangeError(\"sourceEnd out of bounds\");r>this.length&&(r=this.length),e.length-t<r-n&&(r=e.length-t+n);var i,a=r-n;if(this===e&&n<t&&t<r)for(i=a-1;i>=0;--i)e[i+t]=this[i+n];else if(a<1e3||!o.TYPED_ARRAY_SUPPORT)for(i=0;i<a;++i)e[i+t]=this[i+n];else Uint8Array.prototype.set.call(e,this.subarray(n,n+a),t);return a},o.prototype.fill=function(e,t,n,r){if(\"string\"==typeof e){if(\"string\"==typeof t?(r=t,t=0,n=this.length):\"string\"==typeof n&&(r=n,n=this.length),1===e.length){var i=e.charCodeAt(0);i<256&&(e=i)}if(void 0!==r&&\"string\"!=typeof r)throw new TypeError(\"encoding must be a string\");if(\"string\"==typeof r&&!o.isEncoding(r))throw new TypeError(\"Unknown encoding: \"+r)}else\"number\"==typeof e&&(e&=255);if(t<0||this.length<t||this.length<n)throw new RangeError(\"Out of range index\");if(n<=t)return this;t>>>=0,n=void 0===n?this.length:n>>>0,e||(e=0);var a;if(\"number\"==typeof e)for(a=t;a<n;++a)this[a]=e;else{var s=o.isBuffer(e)?e:V(new o(e,r).toString()),u=s.length;for(a=0;a<n-t;++a)this[a+t]=s[a%u]}return this};var ee=/[^+\\/0-9A-Za-z-_]/g}).call(t,n(16))},function(e,t,n){var r=n(38),i=n(342),o=n(192),a=Object.defineProperty;t.f=n(49)?Object.defineProperty:function(e,t,n){if(r(e),t=o(t,!0),r(n),i)try{return a(e,t,n)}catch(e){}if(\"get\"in n||\"set\"in n)throw TypeError(\"Accessors not supported!\");return\"value\"in n&&(e[t]=n.value),e}},function(e,t){\"function\"==typeof Object.create?e.exports=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:e.exports=function(e,t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}},function(e,t,n){\"use strict\";function r(){D.ReactReconcileTransaction&&w||c(\"123\")}function i(){this.reinitializeTransaction(),this.dirtyComponentsLength=null,this.callbackQueue=f.getPooled(),this.reconcileTransaction=D.ReactReconcileTransaction.getPooled(!0)}function o(e,t,n,i,o,a){return r(),w.batchedUpdates(e,t,n,i,o,a)}function a(e,t){return e._mountOrder-t._mountOrder}function s(e){var t=e.dirtyComponentsLength;t!==y.length&&c(\"124\",t,y.length),y.sort(a),_++;for(var n=0;n<t;n++){var r=y[n],i=r._pendingCallbacks;r._pendingCallbacks=null;var o;if(d.logTopLevelRenders){var s=r;r._currentElement.type.isReactTopLevelWrapper&&(s=r._renderedComponent),o=\"React update: \"+s.getName(),console.time(o)}if(m.performUpdateIfNecessary(r,e.reconcileTransaction,_),o&&console.timeEnd(o),i)for(var u=0;u<i.length;u++)e.callbackQueue.enqueue(i[u],r.getPublicInstance())}}function u(e){if(r(),!w.isBatchingUpdates)return void w.batchedUpdates(u,e);y.push(e),null==e._updateBatchNumber&&(e._updateBatchNumber=_+1)}function l(e,t){g(w.isBatchingUpdates,\"ReactUpdates.asap: Can't enqueue an asap callback in a context whereupdates are not being batched.\"),b.enqueue(e,t),x=!0}var c=n(11),p=n(13),f=n(464),h=n(70),d=n(469),m=n(90),v=n(162),g=n(8),y=[],_=0,b=f.getPooled(),x=!1,w=null,k={initialize:function(){this.dirtyComponentsLength=y.length},close:function(){this.dirtyComponentsLength!==y.length?(y.splice(0,this.dirtyComponentsLength),C()):y.length=0}},E={initialize:function(){this.callbackQueue.reset()},close:function(){this.callbackQueue.notifyAll()}},S=[k,E];p(i.prototype,v,{getTransactionWrappers:function(){return S},destructor:function(){this.dirtyComponentsLength=null,f.release(this.callbackQueue),this.callbackQueue=null,D.ReactReconcileTransaction.release(this.reconcileTransaction),this.reconcileTransaction=null},perform:function(e,t,n){return v.perform.call(this,this.reconcileTransaction.perform,this.reconcileTransaction,e,t,n)}}),h.addPoolingTo(i);var C=function(){for(;y.length||x;){if(y.length){var e=i.getPooled();e.perform(s,null,e),i.release(e)}if(x){x=!1;var t=b;b=f.getPooled(),t.notifyAll(),f.release(t)}}},A={injectReconcileTransaction:function(e){e||c(\"126\"),D.ReactReconcileTransaction=e},injectBatchingStrategy:function(e){e||c(\"127\"),\"function\"!=typeof e.batchedUpdates&&c(\"128\"),\"boolean\"!=typeof e.isBatchingUpdates&&c(\"129\"),w=e}},D={ReactReconcileTransaction:null,batchedUpdates:o,enqueueUpdate:u,flushBatchedUpdates:C,injection:A,asap:l};e.exports=D},function(e,t){(function(){var e=[].indexOf||function(e){for(var t=0,n=this.length;t<n;t++)if(t in this&&this[t]===e)return t;return-1},t=function(e,t){function r(){this.constructor=e}for(var i in t)n.call(t,i)&&(e[i]=t[i]);return r.prototype=t.prototype,e.prototype=new r,e.__super__=t.prototype,e},n={}.hasOwnProperty;this.Mark=function(){function t(e,t,n,r){this.line=e,this.column=t,this.buffer=n,this.pointer=r}return t.prototype.get_snippet=function(t,n){var r,i,o,a,s,u,l;if(null==t&&(t=4),null==n&&(n=75),null==this.buffer)return null;for(r=\"\\0\\r\\n\\u2028\\u2029\",o=\"\",u=this.pointer;u>0&&(a=this.buffer[u-1],e.call(r,a)<0);)if(u--,this.pointer-u>n/2-1){o=\" ... \",u+=5;break}for(l=\"\",i=this.pointer;i<this.buffer.length&&(s=this.buffer[i],e.call(r,s)<0);)if(++i-this.pointer>n/2-1){l=\" ... \",i-=5;break}return\"\"+new Array(t).join(\" \")+o+this.buffer.slice(u,i)+l+\"\\n\"+new Array(t+this.pointer-u+o.length).join(\" \")+\"^\"},t.prototype.toString=function(){var e,t;return e=this.get_snippet(),t=\"  on line \"+(this.line+1)+\", column \"+(this.column+1),e?t:t+\":\\n\"+e},t}(),this.YAMLError=function(e){function n(e){this.message=e,n.__super__.constructor.call(this),this.stack=this.toString()+\"\\n\"+(new Error).stack.split(\"\\n\").slice(1).join(\"\\n\")}return t(n,e),n.prototype.toString=function(){return this.message},n}(Error),this.MarkedYAMLError=function(e){function n(e,t,r,i,o){this.context=e,this.context_mark=t,this.problem=r,this.problem_mark=i,this.note=o,n.__super__.constructor.call(this)}return t(n,e),n.prototype.toString=function(){var e;return e=[],null!=this.context&&e.push(this.context),null==this.context_mark||null!=this.problem&&null!=this.problem_mark&&this.context_mark.line===this.problem_mark.line&&this.context_mark.column===this.problem_mark.column||e.push(this.context_mark.toString()),null!=this.problem&&e.push(this.problem),null!=this.problem_mark&&e.push(this.problem_mark.toString()),null!=this.note&&e.push(this.note),e.join(\"\\n\")},n}(this.YAMLError)}).call(this)},function(e,t,n){e.exports={default:n(606),__esModule:!0}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var i=n(581),o=r(i),a=n(580),s=r(a),u=\"function\"==typeof s.default&&\"symbol\"==typeof o.default?function(e){return typeof e}:function(e){return e&&\"function\"==typeof s.default&&e.constructor===s.default&&e!==s.default.prototype?\"symbol\":typeof e};t.default=\"function\"==typeof s.default&&\"symbol\"===u(o.default)?function(e){return void 0===e?\"undefined\":u(e)}:function(e){return e&&\"function\"==typeof s.default&&e.constructor===s.default&&e!==s.default.prototype?\"symbol\":void 0===e?\"undefined\":u(e)}},function(e,t,n){e.exports=!n(55)(function(){return 7!=Object.defineProperty({},\"a\",{get:function(){return 7}}).a})},function(e,t,n){\"use strict\";function r(e,t,n){return n?[e,t]:e}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=r,e.exports=t.default},function(e,t){function n(e){return null!=e&&\"object\"==typeof e}e.exports=n},function(e,t,n){\"use strict\";function r(e,t,n,r){this.dispatchConfig=e,this._targetInst=t,this.nativeEvent=n;var i=this.constructor.Interface;for(var o in i)if(i.hasOwnProperty(o)){var s=i[o];s?this[o]=s(n):\"target\"===o?this.target=r:this[o]=n[o]}var u=null!=n.defaultPrevented?n.defaultPrevented:!1===n.returnValue;return this.isDefaultPrevented=u?a.thatReturnsTrue:a.thatReturnsFalse,this.isPropagationStopped=a.thatReturnsFalse,this}var i=n(13),o=n(70),a=n(33),s=(n(10),[\"dispatchConfig\",\"_targetInst\",\"nativeEvent\",\"isDefaultPrevented\",\"isPropagationStopped\",\"_dispatchListeners\",\"_dispatchInstances\"]),u={type:null,target:null,currentTarget:a.thatReturnsNull,eventPhase:null,bubbles:null,cancelable:null,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:null,isTrusted:null};i(r.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():\"unknown\"!=typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=a.thatReturnsTrue)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():\"unknown\"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=a.thatReturnsTrue)},persist:function(){this.isPersistent=a.thatReturnsTrue},isPersistent:a.thatReturnsFalse,destructor:function(){var e=this.constructor.Interface;for(var t in e)this[t]=null;for(var n=0;n<s.length;n++)this[s[n]]=null}}),r.Interface=u,r.augmentClass=function(e,t){var n=this,r=function(){};r.prototype=n.prototype;var a=new r;i(a,e.prototype),e.prototype=a,e.prototype.constructor=e,e.Interface=i({},n.Interface,t),e.augmentClass=n.augmentClass,o.addPoolingTo(e,o.fourArgumentPooler)},o.addPoolingTo(r,o.fourArgumentPooler),e.exports=r},function(e,t,n){\"use strict\";var r={current:null};e.exports=r},function(e,t,n){var r=n(98);e.exports=function(e,t,n){if(r(e),void 0===t)return e;switch(n){case 1:return function(n){return e.call(t,n)};case 2:return function(n,r){return e.call(t,n,r)};case 3:return function(n,r,i){return e.call(t,n,r,i)}}return function(){return e.apply(t,arguments)}}},function(e,t){e.exports=function(e){try{return!!e()}catch(e){return!0}}},function(e,t){var n={}.hasOwnProperty;e.exports=function(e,t){return n.call(e,t)}},function(e,t,n){var r=n(43),i=n(101);e.exports=n(49)?function(e,t,n){return r.f(e,t,i(1,n))}:function(e,t,n){return e[t]=n,e}},function(e,t){e.exports=function(e){if(void 0==e)throw TypeError(\"Can't call method on  \"+e);return e}},function(e,t,n){\"use strict\";e.exports=function(e){if(\"function\"!=typeof e)throw new TypeError(e+\" is not a function\");return e}},function(e,t,n){\"use strict\";function r(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}function i(e,t){return e===t}function o(e){var t=arguments.length<=1||void 0===arguments[1]?i:arguments[1],n=null,r=null;return function(){for(var i=arguments.length,o=Array(i),a=0;a<i;a++)o[a]=arguments[a];return null!==n&&n.length===o.length&&o.every(function(e,r){return t(e,n[r])})?r:(r=e.apply(void 0,o),n=o,r)}}function a(e){var t=Array.isArray(e[0])?e[0]:e;if(!t.every(function(e){return\"function\"==typeof e})){var n=t.map(function(e){return typeof e}).join(\", \");throw new Error(\"Selector creators expect all input-selectors to be functions, instead received the following types: [\"+n+\"]\")}return t}function s(e){for(var t=arguments.length,n=Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];return function(){for(var t=arguments.length,i=Array(t),o=0;o<t;o++)i[o]=arguments[o];var s=0,u=i.pop(),l=a(i),c=e.apply(void 0,[function(){return s++,u.apply(void 0,arguments)}].concat(n)),p=function(e,t){for(var n=arguments.length,i=Array(n>2?n-2:0),o=2;o<n;o++)i[o-2]=arguments[o];var a=l.map(function(n){return n.apply(void 0,[e,t].concat(i))});return c.apply(void 0,r(a))};return p.resultFunc=u,p.recomputations=function(){return s},p.resetRecomputations=function(){return s=0},p}}function u(){return s(o).apply(void 0,arguments)}function l(e){var t=arguments.length<=1||void 0===arguments[1]?u:arguments[1];if(\"object\"!=typeof e)throw new Error(\"createStructuredSelector expects first argument to be an object where each property is a selector, instead received a \"+typeof e);var n=Object.keys(e);return t(n.map(function(t){return e[t]}),function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return t.reduce(function(e,t,r){return e[n[r]]=t,e},{})})}t.__esModule=!0,t.defaultMemoize=o,t.createSelectorCreator=s,t.createSelector=u,t.createStructuredSelector=l},function(e,t,n){(function(e){(function(){var t,r,i,o=[].slice,a={}.hasOwnProperty;this.StringStream=function(){function e(){this.string=\"\"}return e.prototype.write=function(e){return this.string+=e},e}(),this.clone=function(e){return function(t){return e.extend({},t)}}(this),this.extend=function(){var e,t,n,r,i,a,s;for(e=arguments[0],a=2<=arguments.length?o.call(arguments,1):[],t=0,r=a.length;t<r;t++){i=a[t];for(n in i)s=i[n],e[n]=s}return e},this.is_empty=function(e){var t;if(Array.isArray(e)||\"string\"==typeof e)return 0===e.length;for(t in e)if(a.call(e,t))return!1;return!0},this.inspect=null!=(t=null!=(r=null!=(i=n(1208))?i.inspect:void 0)?r:e.inspect)?t:function(e){return\"\"+e},this.pad_left=function(e,t,n){return e=String(e),e.length>=n?e:e.length+1===n?\"\"+t+e:\"\"+new Array(n-e.length+1).join(t)+e},this.to_hex=function(e){return\"string\"==typeof e&&(e=e.charCodeAt(0)),e.toString(16)}}).call(this)}).call(t,n(16))},function(e,t,n){var r=n(77);e.exports=function(e){if(!r(e))throw TypeError(e+\" is not an object!\");return e}},function(e,t){var n=e.exports={version:\"2.5.3\"};\"number\"==typeof __e&&(__e=n)},function(e,t,n){var r=n(138),i=n(367);e.exports=n(106)?function(e,t,n){return r.f(e,t,i(1,n))}:function(e,t,n){return e[t]=n,e}},function(e,t,n){\"use strict\";var r=n(740),i=Math.max;e.exports=function(e){return i(0,r(e))}},function(e,t,n){function r(e){return null==e?void 0===e?u:s:l&&l in Object(e)?o(e):a(e)}var i=n(82),o=n(907),a=n(936),s=\"[object Null]\",u=\"[object Undefined]\",l=i?i.toStringTag:void 0;e.exports=r},function(e,t,n){function r(e,t){var n=o(e,t);return i(n)?n:void 0}var i=n(868),o=n(908);e.exports=r},function(e,t,n){function r(e){return a(e)?i(e):o(e)}var i=n(403),o=n(871),a=n(86);e.exports=r},function(e,t,n){\"use strict\"},function(e,t,n){\"use strict\";var r=n(11),i=(n(8),function(e){var t=this;if(t.instancePool.length){var n=t.instancePool.pop();return t.call(n,e),n}return new t(e)}),o=function(e,t){var n=this;if(n.instancePool.length){var r=n.instancePool.pop();return n.call(r,e,t),r}return new n(e,t)},a=function(e,t,n){var r=this;if(r.instancePool.length){var i=r.instancePool.pop();return r.call(i,e,t,n),i}return new r(e,t,n)},s=function(e,t,n,r){var i=this;if(i.instancePool.length){var o=i.instancePool.pop();return i.call(o,e,t,n,r),o}return new i(e,t,n,r)},u=function(e){var t=this;e instanceof t||r(\"25\"),e.destructor(),t.instancePool.length<t.poolSize&&t.instancePool.push(e)},l=i,c=function(e,t){var n=e;return n.instancePool=[],n.getPooled=t||l,n.poolSize||(n.poolSize=10),n.release=u,n},p={addPoolingTo:c,oneArgumentPooler:i,twoArgumentPooler:o,threeArgumentPooler:a,fourArgumentPooler:s};e.exports=p},function(e,t,n){\"use strict\";function r(e){if(!(this instanceof r))return new r(e);l.call(this,e),c.call(this,e),e&&!1===e.readable&&(this.readable=!1),e&&!1===e.writable&&(this.writable=!1),this.allowHalfOpen=!0,e&&!1===e.allowHalfOpen&&(this.allowHalfOpen=!1),this.once(\"end\",i)}function i(){this.allowHalfOpen||this._writableState.ended||a.nextTick(o,this)}function o(e){e.end()}var a=n(159),s=Object.keys||function(e){var t=[];for(var n in e)t.push(n);return t};e.exports=r;var u=n(111);u.inherits=n(44);var l=n(492),c=n(265);u.inherits(r,l);for(var p=s(c.prototype),f=0;f<p.length;f++){var h=p[f];r.prototype[h]||(r.prototype[h]=c.prototype[h])}Object.defineProperty(r.prototype,\"destroyed\",{get:function(){return void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed&&this._writableState.destroyed)},set:function(e){void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed=e,this._writableState.destroyed=e)}}),r.prototype._destroy=function(e,t){this.push(null),this.end(),a.nextTick(t,e)}},function(e,t,n){\"use strict\";t.__esModule=!0;var r=n(577),i=function(e){return e&&e.__esModule?e:{default:e}}(r);t.default=function(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return(0,i.default)(e)}},function(e,t,n){\"use strict\";var r=n(442),i=n(441),o=n(114).decodeHTML,a=\"&(?:#x[a-f0-9]{1,8}|#[0-9]{1,8}|[a-z][a-z0-9]{1,31});\",s=\"<[A-Za-z][A-Za-z0-9-]*(?:\\\\s+[a-zA-Z_:][a-zA-Z0-9:._-]*(?:\\\\s*=\\\\s*(?:[^\\\"'=<>`\\\\x00-\\\\x20]+|'[^']*'|\\\"[^\\\"]*\\\"))?)*\\\\s*/?>\",u=\"</[A-Za-z][A-Za-z0-9-]*\\\\s*[>]\",l=new RegExp(\"^(?:<[A-Za-z][A-Za-z0-9-]*(?:\\\\s+[a-zA-Z_:][a-zA-Z0-9:._-]*(?:\\\\s*=\\\\s*(?:[^\\\"'=<>`\\\\x00-\\\\x20]+|'[^']*'|\\\"[^\\\"]*\\\"))?)*\\\\s*/?>|</[A-Za-z][A-Za-z0-9-]*\\\\s*[>]|\\x3c!----\\x3e|\\x3c!--(?:-?[^>-])(?:-?[^-])*--\\x3e|[<][?].*?[?][>]|<![A-Z]+\\\\s+[^>]*>|<!\\\\[CDATA\\\\[[\\\\s\\\\S]*?\\\\]\\\\]>)\",\"i\"),c=/[\\\\&]/,p=\"[!\\\"#$%&'()*+,./:;<=>?@[\\\\\\\\\\\\]^_`{|}~-]\",f=new RegExp(\"\\\\\\\\\"+p+\"|\"+a,\"gi\"),h=new RegExp('[&<>\"]',\"g\"),d=new RegExp(a+'|[&<>\"]',\"gi\"),m=function(e){return 92===e.charCodeAt(0)?e.charAt(1):o(e)},v=function(e){return c.test(e)?e.replace(f,m):e},g=function(e){try{return r(i(e))}catch(t){return e}},y=function(e){switch(e){case\"&\":return\"&amp;\";case\"<\":return\"&lt;\";case\">\":return\"&gt;\";case'\"':return\"&quot;\";default:return e}},_=function(e,t){return h.test(e)?t?e.replace(d,y):e.replace(h,y):e};e.exports={unescapeString:v,normalizeURI:g,escapeXml:_,reHtmlTag:l,OPENTAG:s,CLOSETAG:u,ENTITY:a,ESCAPABLE:p}},function(e,t){e.exports={}},function(e,t,n){var r=n(183),i=n(180);e.exports=function(e){return r(i(e))}},function(e,t,n){var r=n(180);e.exports=function(e){return Object(r(e))}},function(e,t){e.exports=function(e){return\"object\"==typeof e?null!==e:\"function\"==typeof e}},function(e,t,n){var r=n(32),i=n(64),o=n(108),a=n(204)(\"src\"),s=Function.toString,u=(\"\"+s).split(\"toString\");n(63).inspectSource=function(e){return s.call(e)},(e.exports=function(e,t,n,s){var l=\"function\"==typeof n;l&&(o(n,\"name\")||i(n,\"name\",t)),e[t]!==n&&(l&&(o(n,a)||i(n,a,e[t]?\"\"+e[t]:u.join(String(t)))),e===r?e[t]=n:s?e[t]?e[t]=n:i(e,t,n):(delete e[t],i(e,t,n)))})(Function.prototype,\"toString\",function(){return\"function\"==typeof this&&this[a]||s.call(this)})},function(e,t,n){\"use strict\";var r=n(380)();e.exports=function(e){return e!==r&&null!==e}},function(e,t,n){\"use strict\";function r(e){return void 0===e||null===e}function i(e){return\"object\"==typeof e&&null!==e}function o(e){return Array.isArray(e)?e:r(e)?[]:[e]}function a(e,t){var n,r,i,o;if(t)for(o=Object.keys(t),n=0,r=o.length;n<r;n+=1)i=o[n],e[i]=t[i];return e}function s(e,t){var n,r=\"\";for(n=0;n<t;n+=1)r+=e;return r}function u(e){return 0===e&&Number.NEGATIVE_INFINITY===1/e}e.exports.isNothing=r,e.exports.isObject=i,e.exports.toArray=o,e.exports.repeat=s,e.exports.isNegativeZero=u,e.exports.extend=a},function(e,t,n){\"use strict\";function r(e,t,n){var i=[];return e.include.forEach(function(e){n=r(e,t,n)}),e[t].forEach(function(e){n.forEach(function(t,n){t.tag===e.tag&&t.kind===e.kind&&i.push(n)}),n.push(e)}),n.filter(function(e,t){return-1===i.indexOf(t)})}function i(){function e(e){r[e.kind][e.tag]=r.fallback[e.tag]=e}var t,n,r={scalar:{},sequence:{},mapping:{},fallback:{}};for(t=0,n=arguments.length;t<n;t+=1)arguments[t].forEach(e);return r}function o(e){this.include=e.include||[],this.implicit=e.implicit||[],this.explicit=e.explicit||[],this.implicit.forEach(function(e){if(e.loadKind&&\"scalar\"!==e.loadKind)throw new s(\"There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.\")}),this.compiledImplicit=r(this,\"implicit\",[]),this.compiledExplicit=r(this,\"explicit\",[]),this.compiledTypeMap=i(this.compiledImplicit,this.compiledExplicit)}var a=n(80),s=n(117),u=n(17);o.DEFAULT=null,o.create=function(){var e,t;switch(arguments.length){case 1:e=o.DEFAULT,t=arguments[0];break;case 2:e=arguments[0],t=arguments[1];break;default:throw new s(\"Wrong number of arguments for Schema.create function\")}if(e=a.toArray(e),t=a.toArray(t),!e.every(function(e){return e instanceof o}))throw new s(\"Specified list of super schemas (or a single Schema object) contains a non-Schema object.\");if(!t.every(function(e){return e instanceof u}))throw new s(\"Specified list of YAML types (or a single Type object) contains a non-Type object.\");return new o({include:e,explicit:t})},e.exports=o},function(e,t,n){var r=n(39),i=r.Symbol;e.exports=i},function(e,t,n){function r(e,t){return i(e)?e:o(e,t)?[e]:a(s(e))}var i=n(22),o=n(224),a=n(948),s=n(87);e.exports=r},function(e,t,n){function r(e,t,n,r){var a=!n;n||(n={});for(var s=-1,u=t.length;++s<u;){var l=t[s],c=r?r(n[l],e[l],l,n,e):void 0;void 0===c&&(c=e[l]),a?o(n,l,c):i(n,l,c)}return n}var i=n(147),o=n(407);e.exports=r},function(e,t,n){function r(e){if(\"string\"==typeof e||i(e))return e;var t=e+\"\";return\"0\"==t&&1/e==-o?\"-0\":t}var i=n(156),o=1/0;e.exports=r},function(e,t,n){function r(e){return null!=e&&o(e.length)&&!i(e)}var i=n(432),o=n(231);e.exports=r},function(e,t,n){function r(e){return null==e?\"\":i(e)}var i=n(414);e.exports=r},function(e,t,n){\"use strict\";function r(e){if(d){var t=e.node,n=e.children;if(n.length)for(var r=0;r<n.length;r++)m(t,n[r],null);else null!=e.html?p(t,e.html):null!=e.text&&h(t,e.text)}}function i(e,t){e.parentNode.replaceChild(t.node,e),r(t)}function o(e,t){d?e.children.push(t):e.node.appendChild(t.node)}function a(e,t){d?e.html=t:p(e.node,t)}function s(e,t){d?e.text=t:h(e.node,t)}function u(){return this.node.nodeName}function l(e){return{node:e,children:[],html:null,text:null,toString:u}}var c=n(245),p=n(164),f=n(253),h=n(482),d=\"undefined\"!=typeof document&&\"number\"==typeof document.documentMode||\"undefined\"!=typeof navigator&&\"string\"==typeof navigator.userAgent&&/\\bEdge\\/\\d/.test(navigator.userAgent),m=f(function(e,t,n){11===t.node.nodeType||1===t.node.nodeType&&\"object\"===t.node.nodeName.toLowerCase()&&(null==t.node.namespaceURI||t.node.namespaceURI===c.html)?(r(t),e.insertBefore(t.node,n)):(e.insertBefore(t.node,n),r(t))});l.insertTreeBefore=m,l.replaceChildWithTree=i,l.queueChild=o,l.queueHTML=a,l.queueText=s,e.exports=l},function(e,t,n){\"use strict\";function r(e,t){return(e&t)===t}var i=n(11),o=(n(8),{MUST_USE_PROPERTY:1,HAS_BOOLEAN_VALUE:4,HAS_NUMERIC_VALUE:8,HAS_POSITIVE_NUMERIC_VALUE:24,HAS_OVERLOADED_BOOLEAN_VALUE:32,injectDOMPropertyConfig:function(e){var t=o,n=e.Properties||{},a=e.DOMAttributeNamespaces||{},u=e.DOMAttributeNames||{},l=e.DOMPropertyNames||{},c=e.DOMMutationMethods||{};e.isCustomAttribute&&s._isCustomAttributeFunctions.push(e.isCustomAttribute);for(var p in n){s.properties.hasOwnProperty(p)&&i(\"48\",p);var f=p.toLowerCase(),h=n[p],d={attributeName:f,attributeNamespace:null,propertyName:p,mutationMethod:null,mustUseProperty:r(h,t.MUST_USE_PROPERTY),hasBooleanValue:r(h,t.HAS_BOOLEAN_VALUE),hasNumericValue:r(h,t.HAS_NUMERIC_VALUE),hasPositiveNumericValue:r(h,t.HAS_POSITIVE_NUMERIC_VALUE),hasOverloadedBooleanValue:r(h,t.HAS_OVERLOADED_BOOLEAN_VALUE)};if(d.hasBooleanValue+d.hasNumericValue+d.hasOverloadedBooleanValue<=1||i(\"50\",p),u.hasOwnProperty(p)){var m=u[p];d.attributeName=m}a.hasOwnProperty(p)&&(d.attributeNamespace=a[p]),l.hasOwnProperty(p)&&(d.propertyName=l[p]),c.hasOwnProperty(p)&&(d.mutationMethod=c[p]),s.properties[p]=d}}}),a=\":A-Z_a-z\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD\",s={ID_ATTRIBUTE_NAME:\"data-reactid\",ROOT_ATTRIBUTE_NAME:\"data-reactroot\",ATTRIBUTE_NAME_START_CHAR:a,ATTRIBUTE_NAME_CHAR:a+\"\\\\-.0-9\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040\",properties:{},getPossibleStandardName:null,_isCustomAttributeFunctions:[],isCustomAttribute:function(e){for(var t=0;t<s._isCustomAttributeFunctions.length;t++){if((0,s._isCustomAttributeFunctions[t])(e))return!0}return!1},injection:o};e.exports=s},function(e,t,n){\"use strict\";function r(){i.attachRefs(this,this._currentElement)}var i=n(1060),o=(n(41),n(10),{mountComponent:function(e,t,n,i,o,a){var s=e.mountComponent(t,n,i,o,a);return e._currentElement&&null!=e._currentElement.ref&&t.getReactMountReady().enqueue(r,e),s},getHostNode:function(e){return e.getHostNode()},unmountComponent:function(e,t){i.detachRefs(e,e._currentElement),e.unmountComponent(t)},receiveComponent:function(e,t,n,o){var a=e._currentElement;if(t!==a||o!==e._context){var s=i.shouldUpdateRefs(a,t);s&&i.detachRefs(e,a),e.receiveComponent(t,n,o),s&&e._currentElement&&null!=e._currentElement.ref&&n.getReactMountReady().enqueue(r,e)}},performUpdateIfNecessary:function(e,t,n){e._updateBatchNumber===n&&e.performUpdateIfNecessary(t)}});e.exports=o},function(e,t,n){\"use strict\";var r=n(442),i=n(441),o=n(114).decodeHTML,a=\"&(?:#x[a-f0-9]{1,8}|#[0-9]{1,8}|[a-z][a-z0-9]{1,31});\",s=\"<[A-Za-z][A-Za-z0-9-]*(?:\\\\s+[a-zA-Z_:][a-zA-Z0-9:._-]*(?:\\\\s*=\\\\s*(?:[^\\\"'=<>`\\\\x00-\\\\x20]+|'[^']*'|\\\"[^\\\"]*\\\"))?)*\\\\s*/?>\",u=\"</[A-Za-z][A-Za-z0-9-]*\\\\s*[>]\",l=new RegExp(\"^(?:<[A-Za-z][A-Za-z0-9-]*(?:\\\\s+[a-zA-Z_:][a-zA-Z0-9:._-]*(?:\\\\s*=\\\\s*(?:[^\\\"'=<>`\\\\x00-\\\\x20]+|'[^']*'|\\\"[^\\\"]*\\\"))?)*\\\\s*/?>|</[A-Za-z][A-Za-z0-9-]*\\\\s*[>]|\\x3c!----\\x3e|\\x3c!--(?:-?[^>-])(?:-?[^-])*--\\x3e|[<][?].*?[?][>]|<![A-Z]+\\\\s+[^>]*>|<!\\\\[CDATA\\\\[[\\\\s\\\\S]*?\\\\]\\\\]>)\",\"i\"),c=/[\\\\&]/,p=\"[!\\\"#$%&'()*+,./:;<=>?@[\\\\\\\\\\\\]^_`{|}~-]\",f=new RegExp(\"\\\\\\\\\"+p+\"|\"+a,\"gi\"),h=new RegExp('[&<>\"]',\"g\"),d=new RegExp(a+'|[&<>\"]',\"gi\"),m=function(e){return 92===e.charCodeAt(0)?e.charAt(1):o(e)},v=function(e){return c.test(e)?e.replace(f,m):e},g=function(e){try{return r(i(e))}catch(t){return e}},y=function(e){switch(e){case\"&\":return\"&amp;\";case\"<\":return\"&lt;\";case\">\":return\"&gt;\";case'\"':return\"&quot;\";default:return e}},_=function(e,t){return h.test(e)?t?e.replace(d,y):e.replace(h,y):e};e.exports={unescapeString:v,normalizeURI:g,escapeXml:_,reHtmlTag:l,OPENTAG:s,CLOSETAG:u,ENTITY:a,ESCAPABLE:p}},function(e,t,n){\"use strict\";var r=n(13),i=n(487),o=n(1115),a=n(1116),s=n(93),u=n(1117),l=n(1118),c=n(1119),p=n(1123),f=s.createElement,h=s.createFactory,d=s.cloneElement,m=r,v=function(e){return e},g={Children:{map:o.map,forEach:o.forEach,count:o.count,toArray:o.toArray,only:p},Component:i.Component,PureComponent:i.PureComponent,createElement:f,cloneElement:d,isValidElement:s.isValidElement,PropTypes:u,createClass:c,createFactory:h,createMixin:v,DOM:a,version:l,__spread:m};e.exports=g},function(e,t,n){\"use strict\";function r(e){return void 0!==e.ref}function i(e){return void 0!==e.key}var o=n(13),a=n(53),s=(n(10),n(491),Object.prototype.hasOwnProperty),u=n(489),l={key:!0,ref:!0,__self:!0,__source:!0},c=function(e,t,n,r,i,o,a){var s={$$typeof:u,type:e,key:t,ref:n,props:a,_owner:o};return s};c.createElement=function(e,t,n){var o,u={},p=null,f=null;if(null!=t){r(t)&&(f=t.ref),i(t)&&(p=\"\"+t.key),void 0===t.__self?null:t.__self,void 0===t.__source?null:t.__source;for(o in t)s.call(t,o)&&!l.hasOwnProperty(o)&&(u[o]=t[o])}var h=arguments.length-2;if(1===h)u.children=n;else if(h>1){for(var d=Array(h),m=0;m<h;m++)d[m]=arguments[m+2];u.children=d}if(e&&e.defaultProps){var v=e.defaultProps;for(o in v)void 0===u[o]&&(u[o]=v[o])}return c(e,p,f,0,0,a.current,u)},c.createFactory=function(e){var t=c.createElement.bind(null,e);return t.type=e,t},c.cloneAndReplaceKey=function(e,t){return c(e.type,t,e.ref,e._self,e._source,e._owner,e.props)},c.cloneElement=function(e,t,n){var u,p=o({},e.props),f=e.key,h=e.ref,d=(e._self,e._source,e._owner);if(null!=t){r(t)&&(h=t.ref,d=a.current),i(t)&&(f=\"\"+t.key);var m;e.type&&e.type.defaultProps&&(m=e.type.defaultProps);for(u in t)s.call(t,u)&&!l.hasOwnProperty(u)&&(void 0===t[u]&&void 0!==m?p[u]=m[u]:p[u]=t[u])}var v=arguments.length-2;if(1===v)p.children=n;else if(v>1){for(var g=Array(v),y=0;y<v;y++)g[y]=arguments[y+2];p.children=g}return c(e.type,f,h,0,0,d,p)},c.isValidElement=function(e){return\"object\"==typeof e&&null!==e&&e.$$typeof===u},e.exports=c},function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,\"loaded\",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,\"id\",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},function(e,t){(function(){var e,t=function(e,t){function r(){this.constructor=e}for(var i in t)n.call(t,i)&&(e[i]=t[i]);return r.prototype=t.prototype,e.prototype=new r,e.__super__=t.prototype,e},n={}.hasOwnProperty;e=0,this.Node=function(){function t(t,n,r,i){this.tag=t,this.value=n,this.start_mark=r,this.end_mark=i,this.unique_id=\"node_\"+e++}return t}(),this.ScalarNode=function(e){function n(e,t,r,i,o){this.tag=e,this.value=t,this.start_mark=r,this.end_mark=i,this.style=o,n.__super__.constructor.apply(this,arguments)}return t(n,e),n.prototype.id=\"scalar\",n}(this.Node),this.CollectionNode=function(e){function n(e,t,r,i,o){this.tag=e,this.value=t,this.start_mark=r,this.end_mark=i,this.flow_style=o,n.__super__.constructor.apply(this,arguments)}return t(n,e),n}(this.Node),this.SequenceNode=function(e){function n(){return n.__super__.constructor.apply(this,arguments)}return t(n,e),n.prototype.id=\"sequence\",n}(this.CollectionNode),this.MappingNode=function(e){function n(){return n.__super__.constructor.apply(this,arguments)}return t(n,e),n.prototype.id=\"mapping\",n}(this.CollectionNode)}).call(this)},function(e,t,n){e.exports={default:n(599),__esModule:!0}},function(e,t,n){\"use strict\";t.__esModule=!0,t.default=function(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}},function(e,t){e.exports=function(e){if(\"function\"!=typeof e)throw TypeError(e+\" is not a function!\");return e}},function(e,t){var n={}.toString;e.exports=function(e){return n.call(e).slice(8,-1)}},function(e,t,n){var r=n(352),i=n(182);e.exports=Object.keys||function(e){return r(e,i)}},function(e,t){e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},function(e,t,n){var r=n(43).f,i=n(56),o=n(21)(\"toStringTag\");e.exports=function(e,t,n){e&&!i(e=n?e:e.prototype,o)&&r(e,o,{configurable:!0,value:t})}},function(e,t,n){\"use strict\";var r=n(630)(!0);n(346)(String,\"String\",function(e){this._t=String(e),this._i=0},function(){var e,t=this._t,n=this._i;return n>=t.length?{value:void 0,done:!0}:(e=r(t,n),this._i+=e.length,{value:e,done:!1})})},function(e,t,n){n(635);for(var r=n(24),i=n(57),o=n(74),a=n(21)(\"toStringTag\"),s=\"CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,TextTrackList,TouchList\".split(\",\"),u=0;u<s.length;u++){var l=s[u],c=r[l],p=c&&c.prototype;p&&!p[a]&&i(p,a,l),o[l]=o.Array}},function(e,t){var n={}.toString;e.exports=function(e){return n.call(e).slice(8,-1)}},function(e,t,n){e.exports=!n(107)(function(){return 7!=Object.defineProperty({},\"a\",{get:function(){return 7}}).a})},function(e,t){e.exports=function(e){try{return!!e()}catch(e){return!0}}},function(e,t){var n={}.hasOwnProperty;e.exports=function(e,t){return n.call(e,t)}},function(e,t){e.exports={}},function(e,t,n){var r=n(139),i=Math.min;e.exports=function(e){return e>0?i(r(e),9007199254740991):0}},function(e,t,n){(function(e){function n(e){return Array.isArray?Array.isArray(e):\"[object Array]\"===v(e)}function r(e){return\"boolean\"==typeof e}function i(e){return null===e}function o(e){return null==e}function a(e){return\"number\"==typeof e}function s(e){return\"string\"==typeof e}function u(e){return\"symbol\"==typeof e}function l(e){return void 0===e}function c(e){return\"[object RegExp]\"===v(e)}function p(e){return\"object\"==typeof e&&null!==e}function f(e){return\"[object Date]\"===v(e)}function h(e){return\"[object Error]\"===v(e)||e instanceof Error}function d(e){return\"function\"==typeof e}function m(e){return null===e||\"boolean\"==typeof e||\"number\"==typeof e||\"string\"==typeof e||\"symbol\"==typeof e||void 0===e}function v(e){return Object.prototype.toString.call(e)}t.isArray=n,t.isBoolean=r,t.isNull=i,t.isNullOrUndefined=o,t.isNumber=a,t.isString=s,t.isSymbol=u,t.isUndefined=l,t.isRegExp=c,t.isObject=p,t.isDate=f,t.isError=h,t.isFunction=d,t.isPrimitive=m,t.isBuffer=e.isBuffer}).call(t,n(42).Buffer)},function(e,t,n){\"use strict\";function r(e){return\"string\"==typeof e&&i.test(e)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=r;var i=/-webkit-|-moz-|-ms-/;e.exports=t.default},function(e,t){e.exports={Text:\"text\",Directive:\"directive\",Comment:\"comment\",Script:\"script\",Style:\"style\",Tag:\"tag\",CDATA:\"cdata\",Doctype:\"doctype\",isTag:function(e){return\"tag\"===e.type||\"script\"===e.type||\"style\"===e.type}}},function(e,t,n){var r=n(726),i=n(725);t.decode=function(e,t){return(!t||t<=0?i.XML:i.HTML)(e)},t.decodeStrict=function(e,t){return(!t||t<=0?i.XML:i.HTMLStrict)(e)},t.encode=function(e,t){return(!t||t<=0?r.XML:r.HTML)(e)},t.encodeXML=r.XML,t.encodeHTML4=t.encodeHTML5=t.encodeHTML=r.HTML,t.decodeXML=t.decodeXMLStrict=i.XML,t.decodeHTML4=t.decodeHTML5=t.decodeHTML=i.HTML,t.decodeHTML4Strict=t.decodeHTML5Strict=t.decodeHTMLStrict=i.HTMLStrict,t.escape=r.escape},function(e,t,n){\"use strict\";var r=n(79);e.exports=function(e){if(!r(e))throw new TypeError(\"Cannot use null or undefined\");return e}},function(e,t,n){function r(t,n){return delete e.exports[t],e.exports[t]=n,n}var i=n(389),o=n(715);e.exports={Parser:i,Tokenizer:n(390),ElementType:n(113),DomHandler:o,get FeedHandler(){return r(\"FeedHandler\",n(775))},get Stream(){return r(\"Stream\",n(777))},get WritableStream(){return r(\"WritableStream\",n(391))},get ProxyHandler(){return r(\"ProxyHandler\",n(776))},get DomUtils(){return r(\"DomUtils\",n(717))},get CollectingHandler(){return r(\"CollectingHandler\",n(774))},DefaultHandler:o,get RssHandler(){return r(\"RssHandler\",this.FeedHandler)},parseDOM:function(e,t){var n=new o(t);return new i(n,t).end(e),n.dom},parseFeed:function(t,n){var r=new e.exports.FeedHandler(n);return new i(r,n).end(t),r.dom},createDomStream:function(e,t,n){var r=new o(e,t,n);return new i(r,t)},EVENTS:{attribute:2,cdatastart:0,cdataend:0,text:1,processinginstruction:2,comment:1,commentend:0,closetag:1,opentag:2,opentagname:1,error:1,end:0}}},function(e,t,n){\"use strict\";function r(e,t){Error.call(this),this.name=\"YAMLException\",this.reason=e,this.mark=t,this.message=(this.reason||\"(unknown reason)\")+(this.mark?\" \"+this.mark.toString():\"\"),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack||\"\"}r.prototype=Object.create(Error.prototype),r.prototype.constructor=r,r.prototype.toString=function(e){var t=this.name+\": \";return t+=this.reason||\"(unknown reason)\",!e&&this.mark&&(t+=\" \"+this.mark.toString()),t},e.exports=r},function(e,t,n){\"use strict\";var r=n(81);e.exports=new r({include:[n(397)],implicit:[n(829),n(822)],explicit:[n(814),n(824),n(825),n(827)]})},function(e,t){function n(e,t){return e===t||e!==e&&t!==t}e.exports=n},function(e,t){function n(e,t,n){if(t in e)return e[t];if(3===arguments.length)return n;throw new Error('\"'+t+'\" is a required argument.')}function r(e){var t=e.match(y);return t?{scheme:t[1],auth:t[2],host:t[3],port:t[4],path:t[5]}:null}function i(e){var t=\"\";return e.scheme&&(t+=e.scheme+\":\"),t+=\"//\",e.auth&&(t+=e.auth+\"@\"),e.host&&(t+=e.host),e.port&&(t+=\":\"+e.port),e.path&&(t+=e.path),t}function o(e){var n=e,o=r(e);if(o){if(!o.path)return e;n=o.path}for(var a,s=t.isAbsolute(n),u=n.split(/\\/+/),l=0,c=u.length-1;c>=0;c--)a=u[c],\".\"===a?u.splice(c,1):\"..\"===a?l++:l>0&&(\"\"===a?(u.splice(c+1,l),l=0):(u.splice(c,2),l--));return n=u.join(\"/\"),\"\"===n&&(n=s?\"/\":\".\"),o?(o.path=n,i(o)):n}function a(e,t){\"\"===e&&(e=\".\"),\"\"===t&&(t=\".\");var n=r(t),a=r(e);if(a&&(e=a.path||\"/\"),n&&!n.scheme)return a&&(n.scheme=a.scheme),i(n);if(n||t.match(_))return t;if(a&&!a.host&&!a.path)return a.host=t,i(a);var s=\"/\"===t.charAt(0)?t:o(e.replace(/\\/+$/,\"\")+\"/\"+t);return a?(a.path=s,i(a)):s}function s(e,t){\"\"===e&&(e=\".\"),e=e.replace(/\\/$/,\"\");for(var n=0;0!==t.indexOf(e+\"/\");){var r=e.lastIndexOf(\"/\");if(r<0)return t;if(e=e.slice(0,r),e.match(/^([^\\/]+:\\/)?\\/*$/))return t;++n}return Array(n+1).join(\"../\")+t.substr(e.length+1)}function u(e){return e}function l(e){return p(e)?\"$\"+e:e}function c(e){return p(e)?e.slice(1):e}function p(e){if(!e)return!1;var t=e.length;if(t<9)return!1;if(95!==e.charCodeAt(t-1)||95!==e.charCodeAt(t-2)||111!==e.charCodeAt(t-3)||116!==e.charCodeAt(t-4)||111!==e.charCodeAt(t-5)||114!==e.charCodeAt(t-6)||112!==e.charCodeAt(t-7)||95!==e.charCodeAt(t-8)||95!==e.charCodeAt(t-9))return!1;for(var n=t-10;n>=0;n--)if(36!==e.charCodeAt(n))return!1;return!0}function f(e,t,n){var r=d(e.source,t.source);return 0!==r?r:0!==(r=e.originalLine-t.originalLine)?r:0!==(r=e.originalColumn-t.originalColumn)||n?r:0!==(r=e.generatedColumn-t.generatedColumn)?r:(r=e.generatedLine-t.generatedLine,0!==r?r:d(e.name,t.name))}function h(e,t,n){var r=e.generatedLine-t.generatedLine;return 0!==r?r:0!==(r=e.generatedColumn-t.generatedColumn)||n?r:0!==(r=d(e.source,t.source))?r:0!==(r=e.originalLine-t.originalLine)?r:(r=e.originalColumn-t.originalColumn,0!==r?r:d(e.name,t.name))}function d(e,t){return e===t?0:null===e?1:null===t?-1:e>t?1:-1}function m(e,t){var n=e.generatedLine-t.generatedLine;return 0!==n?n:0!==(n=e.generatedColumn-t.generatedColumn)?n:0!==(n=d(e.source,t.source))?n:0!==(n=e.originalLine-t.originalLine)?n:(n=e.originalColumn-t.originalColumn,0!==n?n:d(e.name,t.name))}function v(e){return JSON.parse(e.replace(/^\\)]}'[^\\n]*\\n/,\"\"))}function g(e,t,n){if(t=t||\"\",e&&(\"/\"!==e[e.length-1]&&\"/\"!==t[0]&&(e+=\"/\"),t=e+t),n){var s=r(n);if(!s)throw new Error(\"sourceMapURL could not be parsed\");if(s.path){var u=s.path.lastIndexOf(\"/\");u>=0&&(s.path=s.path.substring(0,u+1))}t=a(i(s),t)}return o(t)}t.getArg=n;var y=/^(?:([\\w+\\-.]+):)?\\/\\/(?:(\\w+:\\w+)@)?([\\w.-]*)(?::(\\d+))?(.*)$/,_=/^data:.+\\,.+$/;t.urlParse=r,t.urlGenerate=i,t.normalize=o,t.join=a,t.isAbsolute=function(e){return\"/\"===e.charAt(0)||y.test(e)},t.relative=s;var b=function(){return!(\"__proto__\"in Object.create(null))}();t.toSetString=b?u:l,t.fromSetString=b?u:c,t.compareByOriginalPositions=f,t.compareByGeneratedPositionsDeflated=h,t.compareByGeneratedPositionsInflated=m,t.parseSourceMapInput=v,t.computeSourceURL=g},function(e,t,n){\"use strict\";function r(e){return\"button\"===e||\"input\"===e||\"select\"===e||\"textarea\"===e}function i(e,t,n){switch(e){case\"onClick\":case\"onClickCapture\":case\"onDoubleClick\":case\"onDoubleClickCapture\":case\"onMouseDown\":case\"onMouseDownCapture\":case\"onMouseMove\":case\"onMouseMoveCapture\":case\"onMouseUp\":case\"onMouseUpCapture\":return!(!n.disabled||!r(t));default:return!1}}var o=n(11),a=n(246),s=n(247),u=n(251),l=n(475),c=n(476),p=(n(8),{}),f=null,h=function(e,t){e&&(s.executeDispatchesInOrder(e,t),e.isPersistent()||e.constructor.release(e))},d=function(e){return h(e,!0)},m=function(e){return h(e,!1)},v=function(e){return\".\"+e._rootNodeID},g={injection:{injectEventPluginOrder:a.injectEventPluginOrder,injectEventPluginsByName:a.injectEventPluginsByName},putListener:function(e,t,n){\"function\"!=typeof n&&o(\"94\",t,typeof n);var r=v(e);(p[t]||(p[t]={}))[r]=n;var i=a.registrationNameModules[t];i&&i.didPutListener&&i.didPutListener(e,t,n)},getListener:function(e,t){var n=p[t];if(i(t,e._currentElement.type,e._currentElement.props))return null;var r=v(e);return n&&n[r]},deleteListener:function(e,t){var n=a.registrationNameModules[t];n&&n.willDeleteListener&&n.willDeleteListener(e,t);var r=p[t];if(r){delete r[v(e)]}},deleteAllListeners:function(e){var t=v(e);for(var n in p)if(p.hasOwnProperty(n)&&p[n][t]){var r=a.registrationNameModules[n];r&&r.willDeleteListener&&r.willDeleteListener(e,n),delete p[n][t]}},extractEvents:function(e,t,n,r){for(var i,o=a.plugins,s=0;s<o.length;s++){var u=o[s];if(u){var c=u.extractEvents(e,t,n,r);c&&(i=l(i,c))}}return i},enqueueEvents:function(e){e&&(f=l(f,e))},processEventQueue:function(e){var t=f;f=null,e?c(t,d):c(t,m),f&&o(\"95\"),u.rethrowCaughtError()},__purge:function(){p={}},__getListenerBank:function(){return p}};e.exports=g},function(e,t,n){\"use strict\";function r(e,t,n){var r=t.dispatchConfig.phasedRegistrationNames[n];return g(e,r)}function i(e,t,n){var i=r(e,n,t);i&&(n._dispatchListeners=m(n._dispatchListeners,i),n._dispatchInstances=m(n._dispatchInstances,e))}function o(e){e&&e.dispatchConfig.phasedRegistrationNames&&d.traverseTwoPhase(e._targetInst,i,e)}function a(e){if(e&&e.dispatchConfig.phasedRegistrationNames){var t=e._targetInst,n=t?d.getParentInstance(t):null;d.traverseTwoPhase(n,i,e)}}function s(e,t,n){if(n&&n.dispatchConfig.registrationName){var r=n.dispatchConfig.registrationName,i=g(e,r);i&&(n._dispatchListeners=m(n._dispatchListeners,i),n._dispatchInstances=m(n._dispatchInstances,e))}}function u(e){e&&e.dispatchConfig.registrationName&&s(e._targetInst,null,e)}function l(e){v(e,o)}function c(e){v(e,a)}function p(e,t,n,r){d.traverseEnterLeave(n,r,s,e,t)}function f(e){v(e,u)}var h=n(121),d=n(247),m=n(475),v=n(476),g=(n(10),h.getListener),y={accumulateTwoPhaseDispatches:l,accumulateTwoPhaseDispatchesSkipTarget:c,accumulateDirectDispatches:f,accumulateEnterLeaveDispatches:p};e.exports=y},function(e,t,n){\"use strict\";var r={remove:function(e){e._reactInternalInstance=void 0},get:function(e){return e._reactInternalInstance},has:function(e){return void 0!==e._reactInternalInstance},set:function(e,t){e._reactInternalInstance=t}};e.exports=r},function(e,t,n){\"use strict\";function r(e,t,n,r){return i.call(this,e,t,n,r)}var i=n(52),o=n(256),a={view:function(e){if(e.view)return e.view;var t=o(e);if(t.window===t)return t;var n=t.ownerDocument;return n?n.defaultView||n.parentWindow:window},detail:function(e){return e.detail||0}};i.augmentClass(r,a),e.exports=r},function(e,t,n){\"use strict\";function r(e){for(var t=arguments.length-1,n=\"Minified React error #\"+e+\"; visit http://facebook.github.io/react/docs/error-decoder.html?invariant=\"+e,r=0;r<t;r++)n+=\"&args[]=\"+encodeURIComponent(arguments[r+1]);n+=\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\";var i=new Error(n);throw i.name=\"Invariant Violation\",i.framesToPop=1,i}e.exports=r},function(e,t){(function(){var e=function(e,n){function r(){this.constructor=e}for(var i in n)t.call(n,i)&&(e[i]=n[i]);return r.prototype=n.prototype,e.prototype=new r,e.__super__=n.prototype,e},t={}.hasOwnProperty;this.Event=function(){function e(e,t){this.start_mark=e,this.end_mark=t}return e}(),this.NodeEvent=function(t){function n(e,t,n){this.anchor=e,this.start_mark=t,this.end_mark=n}return e(n,t),n}(this.Event),this.CollectionStartEvent=function(t){function n(e,t,n,r,i,o){this.anchor=e,this.tag=t,this.implicit=n,this.start_mark=r,this.end_mark=i,this.flow_style=o}return e(n,t),n}(this.NodeEvent),this.CollectionEndEvent=function(t){function n(){return n.__super__.constructor.apply(this,arguments)}return e(n,t),n}(this.Event),this.StreamStartEvent=function(t){function n(e,t,n){this.start_mark=e,this.end_mark=t,this.encoding=n}return e(n,t),n}(this.Event),this.StreamEndEvent=function(t){function n(){return n.__super__.constructor.apply(this,arguments)}return e(n,t),n}(this.Event),this.DocumentStartEvent=function(t){function n(e,t,n,r,i){this.start_mark=e,this.end_mark=t,this.explicit=n,this.version=r,this.tags=i}return e(n,t),n}(this.Event),this.DocumentEndEvent=function(t){function n(e,t,n){this.start_mark=e,this.end_mark=t,this.explicit=n}return e(n,t),n}(this.Event),this.AliasEvent=function(t){function n(){return n.__super__.constructor.apply(this,arguments)}return e(n,t),n}(this.NodeEvent),this.ScalarEvent=function(t){function n(e,t,n,r,i,o,a){this.anchor=e,this.tag=t,this.implicit=n,this.value=r,this.start_mark=i,this.end_mark=o,this.style=a}return e(n,t),n}(this.NodeEvent),this.SequenceStartEvent=function(t){function n(){return n.__super__.constructor.apply(this,arguments)}return e(n,t),n}(this.CollectionStartEvent),this.SequenceEndEvent=function(t){function n(){return n.__super__.constructor.apply(this,arguments)}return e(n,t),n}(this.CollectionEndEvent),this.MappingStartEvent=function(t){function n(){return n.__super__.constructor.apply(this,arguments)}return e(n,t),n}(this.CollectionStartEvent),this.MappingEndEvent=function(t){function n(){return n.__super__.constructor.apply(this,arguments)}return e(n,t),n}(this.CollectionEndEvent)}).call(this)},function(e,t,n){\"use strict\";function r(e){return{type:f,payload:(0,p.default)(e)}}function i(e){return{type:h,payload:e}}function o(e){return{type:d,payload:e}}function a(e){return{type:m,payload:e}}function s(e){return{type:v,payload:e}}function u(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{type:g,payload:e}}function l(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:function(){return!0};return{type:y,payload:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.CLEAR_BY=t.CLEAR=t.NEW_AUTH_ERR=t.NEW_SPEC_ERR_BATCH=t.NEW_SPEC_ERR=t.NEW_THROWN_ERR_BATCH=t.NEW_THROWN_ERR=void 0,t.newThrownErr=r,t.newThrownErrBatch=i,t.newSpecErr=o,t.newSpecErrBatch=a,t.newAuthErr=s,t.clear=u,t.clearBy=l;var c=n(268),p=function(e){return e&&e.__esModule?e:{default:e}}(c),f=t.NEW_THROWN_ERR=\"err_new_thrown_err\",h=t.NEW_THROWN_ERR_BATCH=\"err_new_thrown_err_batch\",d=t.NEW_SPEC_ERR=\"err_new_spec_err\",m=t.NEW_SPEC_ERR_BATCH=\"err_new_spec_err_batch\",v=t.NEW_AUTH_ERR=\"err_new_auth_err\",g=t.CLEAR=\"err_clear\",y=t.CLEAR_BY=\"err_clear_by\"},function(e,t,n){e.exports={default:n(608),__esModule:!0}},function(e,t,n){var r=n(54),i=n(345),o=n(343),a=n(38),s=n(133),u=n(195),l={},c={},t=e.exports=function(e,t,n,p,f){var h,d,m,v,g=f?function(){return e}:u(e),y=r(n,p,t?2:1),_=0;if(\"function\"!=typeof g)throw TypeError(e+\" is not iterable!\");if(o(g)){for(h=s(e.length);h>_;_++)if((v=t?y(a(d=e[_])[0],d[1]):y(e[_]))===l||v===c)return v}else for(m=g.call(e);!(d=m.next()).done;)if((v=i(m,y,d.value,t))===l||v===c)return v};t.BREAK=l,t.RETURN=c},function(e,t){e.exports=!0},function(e,t,n){var r=n(134)(\"meta\"),i=n(29),o=n(56),a=n(43).f,s=0,u=Object.isExtensible||function(){return!0},l=!n(55)(function(){return u(Object.preventExtensions({}))}),c=function(e){a(e,r,{value:{i:\"O\"+ ++s,w:{}}})},p=function(e,t){if(!i(e))return\"symbol\"==typeof e?e:(\"string\"==typeof e?\"S\":\"P\")+e;if(!o(e,r)){if(!u(e))return\"F\";if(!t)return\"E\";c(e)}return e[r].i},f=function(e,t){if(!o(e,r)){if(!u(e))return!0;if(!t)return!1;c(e)}return e[r].w},h=function(e){return l&&d.NEED&&u(e)&&!o(e,r)&&c(e),e},d=e.exports={KEY:r,NEED:!1,fastKey:p,getWeak:f,onFreeze:h}},function(e,t){t.f={}.propertyIsEnumerable},function(e,t,n){var r=n(191),i=Math.min;e.exports=function(e){return e>0?i(r(e),9007199254740991):0}},function(e,t){var n=0,r=Math.random();e.exports=function(e){return\"Symbol(\".concat(void 0===e?\"\":e,\")_\",(++n+r).toString(36))}},function(e,t){e.exports=function(e){if(\"function\"!=typeof e)throw TypeError(e+\" is not a function!\");return e}},function(e,t,n){var r=n(135);e.exports=function(e,t,n){if(r(e),void 0===t)return e;switch(n){case 1:return function(n){return e.call(t,n)};case 2:return function(n,r){return e.call(t,n,r)};case 3:return function(n,r,i){return e.call(t,n,r,i)}}return function(){return e.apply(t,arguments)}}},function(e,t,n){\"use strict\";var r=n(64),i=n(78),o=n(107),a=n(58),s=n(19);e.exports=function(e,t,n){var u=s(e),l=n(a,u,\"\"[e]),c=l[0],p=l[1];o(function(){var t={};return t[u]=function(){return 7},7!=\"\"[e](t)})&&(i(String.prototype,e,c),r(RegExp.prototype,u,2==t?function(e,t){return p.call(e,this,t)}:function(e){return p.call(e,this)}))}},function(e,t,n){var r=n(62),i=n(655),o=n(674),a=Object.defineProperty;t.f=n(106)?Object.defineProperty:function(e,t,n){if(r(e),t=o(t,!0),r(n),i)try{return a(e,t,n)}catch(e){}if(\"get\"in n||\"set\"in n)throw TypeError(\"Accessors not supported!\");return\"value\"in n&&(e[t]=n.value),e}},function(e,t){var n=Math.ceil,r=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?r:n)(e)}},function(e,t,n){var r=n(657),i=n(58);e.exports=function(e){return r(i(e))}},function(e,t,n){\"use strict\";var r,i=n(381),o=n(384),a=n(744),s=n(749);r=e.exports=function(e,t){var n,r,a,u,l;return arguments.length<2||\"string\"!=typeof e?(u=t,t=e,e=null):u=arguments[2],null==e?(n=a=!0,r=!1):(n=s.call(e,\"c\"),r=s.call(e,\"e\"),a=s.call(e,\"w\")),l={value:t,configurable:n,enumerable:r,writable:a},u?i(o(u),l):l},r.gs=function(e,t,n){var r,u,l,c;return\"string\"!=typeof e?(l=n,n=t,t=e,e=null):l=arguments[3],null==t?t=void 0:a(t)?null==n?n=void 0:a(n)||(l=n,n=void 0):(l=t,t=n=void 0),null==e?(r=!0,u=!1):(r=s.call(e,\"c\"),u=s.call(e,\"e\")),c={get:t,set:n,configurable:r,enumerable:u},l?i(o(l),c):c}},function(e,t,n){\"use strict\";e.exports=n(741)(\"forEach\")},function(e,t){function n(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function r(e){return\"function\"==typeof e}function i(e){return\"number\"==typeof e}function o(e){return\"object\"==typeof e&&null!==e}function a(e){return void 0===e}e.exports=n,n.EventEmitter=n,n.prototype._events=void 0,n.prototype._maxListeners=void 0,n.defaultMaxListeners=10,n.prototype.setMaxListeners=function(e){if(!i(e)||e<0||isNaN(e))throw TypeError(\"n must be a positive number\");return this._maxListeners=e,this},n.prototype.emit=function(e){var t,n,i,s,u,l;if(this._events||(this._events={}),\"error\"===e&&(!this._events.error||o(this._events.error)&&!this._events.error.length)){if((t=arguments[1])instanceof Error)throw t;var c=new Error('Uncaught, unspecified \"error\" event. ('+t+\")\");throw c.context=t,c}if(n=this._events[e],a(n))return!1;if(r(n))switch(arguments.length){case 1:n.call(this);break;case 2:n.call(this,arguments[1]);break;case 3:n.call(this,arguments[1],arguments[2]);break;default:s=Array.prototype.slice.call(arguments,1),n.apply(this,s)}else if(o(n))for(s=Array.prototype.slice.call(arguments,1),l=n.slice(),i=l.length,u=0;u<i;u++)l[u].apply(this,s);return!0},n.prototype.addListener=function(e,t){var i;if(!r(t))throw TypeError(\"listener must be a function\");return this._events||(this._events={}),this._events.newListener&&this.emit(\"newListener\",e,r(t.listener)?t.listener:t),this._events[e]?o(this._events[e])?this._events[e].push(t):this._events[e]=[this._events[e],t]:this._events[e]=t,o(this._events[e])&&!this._events[e].warned&&(i=a(this._maxListeners)?n.defaultMaxListeners:this._maxListeners)&&i>0&&this._events[e].length>i&&(this._events[e].warned=!0,console.error(\"(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.\",this._events[e].length),\"function\"==typeof console.trace&&console.trace()),this},n.prototype.on=n.prototype.addListener,n.prototype.once=function(e,t){function n(){this.removeListener(e,n),i||(i=!0,t.apply(this,arguments))}if(!r(t))throw TypeError(\"listener must be a function\");var i=!1;return n.listener=t,this.on(e,n),this},n.prototype.removeListener=function(e,t){var n,i,a,s;if(!r(t))throw TypeError(\"listener must be a function\");if(!this._events||!this._events[e])return this;if(n=this._events[e],a=n.length,i=-1,n===t||r(n.listener)&&n.listener===t)delete this._events[e],this._events.removeListener&&this.emit(\"removeListener\",e,t);else if(o(n)){for(s=a;s-- >0;)if(n[s]===t||n[s].listener&&n[s].listener===t){i=s;break}if(i<0)return this;1===n.length?(n.length=0,delete this._events[e]):n.splice(i,1),this._events.removeListener&&this.emit(\"removeListener\",e,t)}return this},n.prototype.removeAllListeners=function(e){var t,n;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[e]&&delete this._events[e],this;if(0===arguments.length){for(t in this._events)\"removeListener\"!==t&&this.removeAllListeners(t);return this.removeAllListeners(\"removeListener\"),this._events={},this}if(n=this._events[e],r(n))this.removeListener(e,n);else if(n)for(;n.length;)this.removeListener(e,n[n.length-1]);return delete this._events[e],this},n.prototype.listeners=function(e){return this._events&&this._events[e]?r(this._events[e])?[this._events[e]]:this._events[e].slice():[]},n.prototype.listenerCount=function(e){if(this._events){var t=this._events[e];if(r(t))return 1;if(t)return t.length}return 0},n.listenerCount=function(e,t){return e.listenerCount(t)}},function(e,t,n){\"use strict\";var r={};e.exports=r},function(e,t,n){\"use strict\";var r=n(81);e.exports=r.DEFAULT=new r({include:[n(118)],explicit:[n(820),n(819),n(818)]})},function(e,t,n){function r(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}var i=n(922),o=n(923),a=n(924),s=n(925),u=n(926);r.prototype.clear=i,r.prototype.delete=o,r.prototype.get=a,r.prototype.has=s,r.prototype.set=u,e.exports=r},function(e,t,n){function r(e,t,n){var r=e[t];s.call(e,t)&&o(r,n)&&(void 0!==n||t in e)||i(e,t,n)}var i=n(407),o=n(119),a=Object.prototype,s=a.hasOwnProperty;e.exports=r},function(e,t,n){function r(e,t){for(var n=e.length;n--;)if(i(e[n][0],t))return n;return-1}var i=n(119);e.exports=r},function(e,t,n){function r(e,t){t=i(t,e);for(var n=0,r=t.length;null!=e&&n<r;)e=e[o(t[n++])];return n&&n==r?e:void 0}var i=n(83),o=n(85);e.exports=r},function(e,t,n){function r(e){return\"function\"==typeof e?e:null==e?a:\"object\"==typeof e?s(e)?o(e[0],e[1]):i(e):u(e)}var i=n(873),o=n(874),a=n(228),s=n(22),u=n(967);e.exports=r},function(e,t,n){function r(e,t){var n=e.__data__;return i(t)?n[\"string\"==typeof t?\"string\":\"hash\"]:n.map}var i=n(920);e.exports=r},function(e,t,n){var r=n(844),i=n(216),o=n(846),a=n(847),s=n(849),u=n(66),l=n(430),c=l(r),p=l(i),f=l(o),h=l(a),d=l(s),m=u;(r&&\"[object DataView]\"!=m(new r(new ArrayBuffer(1)))||i&&\"[object Map]\"!=m(new i)||o&&\"[object Promise]\"!=m(o.resolve())||a&&\"[object Set]\"!=m(new a)||s&&\"[object WeakMap]\"!=m(new s))&&(m=function(e){var t=u(e),n=\"[object Object]\"==t?e.constructor:void 0,r=n?l(n):\"\";if(r)switch(r){case c:return\"[object DataView]\";case p:return\"[object Map]\";case f:return\"[object Promise]\";case h:return\"[object Set]\";case d:return\"[object WeakMap]\"}return t}),e.exports=m},function(e,t){function n(e,t){var n=typeof e;return!!(t=null==t?r:t)&&(\"number\"==n||\"symbol\"!=n&&i.test(e))&&e>-1&&e%1==0&&e<t}var r=9007199254740991,i=/^(?:0|[1-9]\\d*)$/;e.exports=n},function(e,t){function n(e){var t=e&&e.constructor;return e===(\"function\"==typeof t&&t.prototype||r)}var r=Object.prototype;e.exports=n},function(e,t,n){var r=n(67),i=r(Object,\"create\");e.exports=i},function(e,t,n){function r(e){return\"symbol\"==typeof e||o(e)&&i(e)==a}var i=n(66),o=n(51),a=\"[object Symbol]\";e.exports=r},function(e,t,n){\"use strict\";function r(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function o(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}t.__esModule=!0;var a=n(237),s=function(e){return e&&e.__esModule?e:{default:e}}(a),u=function(e){function t(n){r(this,t);var o=i(this,e.call(this,n));return o.type=\"atrule\",o}return o(t,e),t.prototype.append=function(){var t;this.nodes||(this.nodes=[]);for(var n=arguments.length,r=Array(n),i=0;i<n;i++)r[i]=arguments[i];return(t=e.prototype.append).call.apply(t,[this].concat(r))},t.prototype.prepend=function(){var t;this.nodes||(this.nodes=[]);for(var n=arguments.length,r=Array(n),i=0;i<n;i++)r[i]=arguments[i];return(t=e.prototype.prepend).call.apply(t,[this].concat(r))},t}(s.default);t.default=u,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function o(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}t.__esModule=!0;var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(237),l=r(u),c=n(447),p=r(c),f=function(e){function t(n){i(this,t);var r=o(this,e.call(this,n));return r.type=\"rule\",r.nodes||(r.nodes=[]),r}return a(t,e),s(t,[{key:\"selectors\",get:function(){return p.default.comma(this.selector)},set:function(e){var t=this.selector?this.selector.match(/,\\s*/):null,n=t?t[0]:\",\"+this.raw(\"between\",\"beforeOpen\");this.selector=e.join(n)}}]),t}(l.default);t.default=f,e.exports=t.default},function(e,t,n){\"use strict\";(function(t){function n(e,n,r,i){if(\"function\"!=typeof e)throw new TypeError('\"callback\" argument must be a function');var o,a,s=arguments.length;switch(s){case 0:case 1:return t.nextTick(e);case 2:return t.nextTick(function(){e.call(null,n)});case 3:return t.nextTick(function(){e.call(null,n,r)});case 4:return t.nextTick(function(){e.call(null,n,r,i)});default:for(o=new Array(s-1),a=0;a<o.length;)o[a++]=arguments[a];return t.nextTick(function(){e.apply(null,o)})}}!t.version||0===t.version.indexOf(\"v0.\")||0===t.version.indexOf(\"v1.\")&&0!==t.version.indexOf(\"v1.8.\")?e.exports={nextTick:n}:e.exports=t}).call(t,n(34))},function(e,t,n){\"use strict\";function r(e){return Object.prototype.hasOwnProperty.call(e,m)||(e[m]=h++,p[e[m]]={}),p[e[m]]}var i,o=n(13),a=n(246),s=n(1052),u=n(474),l=n(1084),c=n(257),p={},f=!1,h=0,d={topAbort:\"abort\",topAnimationEnd:l(\"animationend\")||\"animationend\",topAnimationIteration:l(\"animationiteration\")||\"animationiteration\",topAnimationStart:l(\"animationstart\")||\"animationstart\",topBlur:\"blur\",topCanPlay:\"canplay\",topCanPlayThrough:\"canplaythrough\",topChange:\"change\",topClick:\"click\",topCompositionEnd:\"compositionend\",topCompositionStart:\"compositionstart\",topCompositionUpdate:\"compositionupdate\",topContextMenu:\"contextmenu\",topCopy:\"copy\",topCut:\"cut\",topDoubleClick:\"dblclick\",topDrag:\"drag\",topDragEnd:\"dragend\",topDragEnter:\"dragenter\",topDragExit:\"dragexit\",topDragLeave:\"dragleave\",topDragOver:\"dragover\",topDragStart:\"dragstart\",topDrop:\"drop\",topDurationChange:\"durationchange\",topEmptied:\"emptied\",topEncrypted:\"encrypted\",topEnded:\"ended\",topError:\"error\",topFocus:\"focus\",topInput:\"input\",topKeyDown:\"keydown\",topKeyPress:\"keypress\",topKeyUp:\"keyup\",topLoadedData:\"loadeddata\",topLoadedMetadata:\"loadedmetadata\",topLoadStart:\"loadstart\",topMouseDown:\"mousedown\",topMouseMove:\"mousemove\",topMouseOut:\"mouseout\",topMouseOver:\"mouseover\",topMouseUp:\"mouseup\",topPaste:\"paste\",topPause:\"pause\",topPlay:\"play\",topPlaying:\"playing\",topProgress:\"progress\",topRateChange:\"ratechange\",topScroll:\"scroll\",topSeeked:\"seeked\",topSeeking:\"seeking\",topSelectionChange:\"selectionchange\",topStalled:\"stalled\",topSuspend:\"suspend\",topTextInput:\"textInput\",topTimeUpdate:\"timeupdate\",topTouchCancel:\"touchcancel\",topTouchEnd:\"touchend\",topTouchMove:\"touchmove\",topTouchStart:\"touchstart\",topTransitionEnd:l(\"transitionend\")||\"transitionend\",topVolumeChange:\"volumechange\",topWaiting:\"waiting\",topWheel:\"wheel\"},m=\"_reactListenersID\"+String(Math.random()).slice(2),v=o({},s,{ReactEventListener:null,injection:{injectReactEventListener:function(e){e.setHandleTopLevel(v.handleTopLevel),v.ReactEventListener=e}},setEnabled:function(e){v.ReactEventListener&&v.ReactEventListener.setEnabled(e)},isEnabled:function(){return!(!v.ReactEventListener||!v.ReactEventListener.isEnabled())},listenTo:function(e,t){for(var n=t,i=r(n),o=a.registrationNameDependencies[e],s=0;s<o.length;s++){var u=o[s];i.hasOwnProperty(u)&&i[u]||(\"topWheel\"===u?c(\"wheel\")?v.ReactEventListener.trapBubbledEvent(\"topWheel\",\"wheel\",n):c(\"mousewheel\")?v.ReactEventListener.trapBubbledEvent(\"topWheel\",\"mousewheel\",n):v.ReactEventListener.trapBubbledEvent(\"topWheel\",\"DOMMouseScroll\",n):\"topScroll\"===u?c(\"scroll\",!0)?v.ReactEventListener.trapCapturedEvent(\"topScroll\",\"scroll\",n):v.ReactEventListener.trapBubbledEvent(\"topScroll\",\"scroll\",v.ReactEventListener.WINDOW_HANDLE):\"topFocus\"===u||\"topBlur\"===u?(c(\"focus\",!0)?(v.ReactEventListener.trapCapturedEvent(\"topFocus\",\"focus\",n),v.ReactEventListener.trapCapturedEvent(\"topBlur\",\"blur\",n)):c(\"focusin\")&&(v.ReactEventListener.trapBubbledEvent(\"topFocus\",\"focusin\",n),v.ReactEventListener.trapBubbledEvent(\"topBlur\",\"focusout\",n)),i.topBlur=!0,i.topFocus=!0):d.hasOwnProperty(u)&&v.ReactEventListener.trapBubbledEvent(u,d[u],n),i[u]=!0)}},trapBubbledEvent:function(e,t,n){return v.ReactEventListener.trapBubbledEvent(e,t,n)},trapCapturedEvent:function(e,t,n){return v.ReactEventListener.trapCapturedEvent(e,t,n)},supportsEventPageXY:function(){if(!document.createEvent)return!1;var e=document.createEvent(\"MouseEvent\");return null!=e&&\"pageX\"in e},ensureScrollValueMonitoring:function(){if(void 0===i&&(i=v.supportsEventPageXY()),!i&&!f){var e=u.refreshScrollValues;v.ReactEventListener.monitorScrollValue(e),f=!0}}});e.exports=v},function(e,t,n){\"use strict\";function r(e,t,n,r){return i.call(this,e,t,n,r)}var i=n(124),o=n(474),a=n(255),s={screenX:null,screenY:null,clientX:null,clientY:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,getModifierState:a,button:function(e){var t=e.button;return\"which\"in e?t:2===t?2:4===t?1:0},buttons:null,relatedTarget:function(e){return e.relatedTarget||(e.fromElement===e.srcElement?e.toElement:e.fromElement)},pageX:function(e){return\"pageX\"in e?e.pageX:e.clientX+o.currentScrollLeft},pageY:function(e){return\"pageY\"in e?e.pageY:e.clientY+o.currentScrollTop}};i.augmentClass(r,s),e.exports=r},function(e,t,n){\"use strict\";var r=n(11),i=(n(8),{}),o={reinitializeTransaction:function(){this.transactionWrappers=this.getTransactionWrappers(),this.wrapperInitData?this.wrapperInitData.length=0:this.wrapperInitData=[],this._isInTransaction=!1},_isInTransaction:!1,getTransactionWrappers:null,isInTransaction:function(){return!!this._isInTransaction},perform:function(e,t,n,i,o,a,s,u){this.isInTransaction()&&r(\"27\");var l,c;try{this._isInTransaction=!0,l=!0,this.initializeAll(0),c=e.call(t,n,i,o,a,s,u),l=!1}finally{try{if(l)try{this.closeAll(0)}catch(e){}else this.closeAll(0)}finally{this._isInTransaction=!1}}return c},initializeAll:function(e){for(var t=this.transactionWrappers,n=e;n<t.length;n++){var r=t[n];try{this.wrapperInitData[n]=i,this.wrapperInitData[n]=r.initialize?r.initialize.call(this):null}finally{if(this.wrapperInitData[n]===i)try{this.initializeAll(n+1)}catch(e){}}}},closeAll:function(e){this.isInTransaction()||r(\"28\");for(var t=this.transactionWrappers,n=e;n<t.length;n++){var o,a=t[n],s=this.wrapperInitData[n];try{o=!0,s!==i&&a.close&&a.close.call(this,s),o=!1}finally{if(o)try{this.closeAll(n+1)}catch(e){}}}this.wrapperInitData.length=0}};e.exports=o},function(e,t,n){\"use strict\";function r(e){var t=\"\"+e,n=o.exec(t);if(!n)return t;var r,i=\"\",a=0,s=0;for(a=n.index;a<t.length;a++){switch(t.charCodeAt(a)){case 34:r=\"&quot;\";break;case 38:r=\"&amp;\";break;case 39:r=\"&#x27;\";break;case 60:r=\"&lt;\";break;case 62:r=\"&gt;\";break;default:continue}s!==a&&(i+=t.substring(s,a)),s=a+1,i+=r}return s!==a?i+t.substring(s,a):i}function i(e){return\"boolean\"==typeof e||\"number\"==typeof e?\"\"+e:r(e)}var o=/[\"'&<>]/;e.exports=i},function(e,t,n){\"use strict\";var r,i=n(25),o=n(245),a=/^[ \\r\\n\\t\\f]/,s=/<(!--|link|noscript|meta|script|style)[ \\r\\n\\t\\f\\/>]/,u=n(253),l=u(function(e,t){if(e.namespaceURI!==o.svg||\"innerHTML\"in e)e.innerHTML=t;else{r=r||document.createElement(\"div\"),r.innerHTML=\"<svg>\"+t+\"</svg>\";for(var n=r.firstChild;n.firstChild;)e.appendChild(n.firstChild)}});if(i.canUseDOM){var c=document.createElement(\"div\");c.innerHTML=\" \",\"\"===c.innerHTML&&(l=function(e,t){if(e.parentNode&&e.parentNode.replaceChild(e,e),a.test(t)||\"<\"===t[0]&&s.test(t)){e.innerHTML=String.fromCharCode(65279)+t;var n=e.firstChild;1===n.data.length?e.removeChild(n):n.deleteData(0,1)}else e.innerHTML=t}),c=null}e.exports=l},function(e,t,n){\"use strict\";function r(e){var t={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=\"number\"==typeof e[n]?e[n]:e[n].val);return t}t.__esModule=!0,t.default=r,e.exports=t.default},function(e,t,n){\"use strict\";e.exports=function(e,t){var n,r,i,o=-1,a=e.posMax,s=e.pos,u=e.isInLabel;if(e.isInLabel)return-1;if(e.labelUnmatchedScopes)return e.labelUnmatchedScopes--,-1;for(e.pos=t+1,e.isInLabel=!0,n=1;e.pos<a;){if(91===(i=e.src.charCodeAt(e.pos)))n++;else if(93===i&&0===--n){r=!0;break}e.parser.skipToken(e)}return r?(o=e.pos,e.labelUnmatchedScopes=0):e.labelUnmatchedScopes=n-1,e.pos=s,e.isInLabel=u,o}},function(e,t,n){\"use strict\";function r(){this.__rules__=[],this.__cache__=null}r.prototype.__find__=function(e){for(var t=this.__rules__.length,n=-1;t--;)if(this.__rules__[++n].name===e)return n;return-1},r.prototype.__compile__=function(){var e=this,t=[\"\"];e.__rules__.forEach(function(e){e.enabled&&e.alt.forEach(function(e){t.indexOf(e)<0&&t.push(e)})}),e.__cache__={},t.forEach(function(t){e.__cache__[t]=[],e.__rules__.forEach(function(n){n.enabled&&(t&&n.alt.indexOf(t)<0||e.__cache__[t].push(n.fn))})})},r.prototype.at=function(e,t,n){var r=this.__find__(e),i=n||{};if(-1===r)throw new Error(\"Parser rule not found: \"+e);this.__rules__[r].fn=t,this.__rules__[r].alt=i.alt||[],this.__cache__=null},r.prototype.before=function(e,t,n,r){var i=this.__find__(e),o=r||{};if(-1===i)throw new Error(\"Parser rule not found: \"+e);this.__rules__.splice(i,0,{name:t,enabled:!0,fn:n,alt:o.alt||[]}),this.__cache__=null},r.prototype.after=function(e,t,n,r){var i=this.__find__(e),o=r||{};if(-1===i)throw new Error(\"Parser rule not found: \"+e);this.__rules__.splice(i+1,0,{name:t,enabled:!0,fn:n,alt:o.alt||[]}),this.__cache__=null},r.prototype.push=function(e,t,n){var r=n||{};this.__rules__.push({name:e,enabled:!0,fn:t,alt:r.alt||[]}),this.__cache__=null},r.prototype.enable=function(e,t){e=Array.isArray(e)?e:[e],t&&this.__rules__.forEach(function(e){e.enabled=!1}),e.forEach(function(e){var t=this.__find__(e);if(t<0)throw new Error(\"Rules manager: invalid rule name \"+e);this.__rules__[t].enabled=!0},this),this.__cache__=null},r.prototype.disable=function(e){e=Array.isArray(e)?e:[e],e.forEach(function(e){var t=this.__find__(e);if(t<0)throw new Error(\"Rules manager: invalid rule name \"+e);this.__rules__[t].enabled=!1},this),this.__cache__=null},r.prototype.getRules=function(e){return null===this.__cache__&&this.__compile__(),this.__cache__[e]||[]},e.exports=r},function(e,t,n){function r(e,t){for(var n in e)t[n]=e[n]}function i(e,t,n){return a(e,t,n)}var o=n(42),a=o.Buffer;a.from&&a.alloc&&a.allocUnsafe&&a.allocUnsafeSlow?e.exports=o:(r(o,t),t.Buffer=i),r(a,i),i.from=function(e,t,n){if(\"number\"==typeof e)throw new TypeError(\"Argument must not be a number\");return a(e,t,n)},i.alloc=function(e,t,n){if(\"number\"!=typeof e)throw new TypeError(\"Argument must be a number\");var r=a(e);return void 0!==t?\"string\"==typeof n?r.fill(t,n):r.fill(t):r.fill(0),r},i.allocUnsafe=function(e){if(\"number\"!=typeof e)throw new TypeError(\"Argument must be a number\");return a(e)},i.allocUnsafeSlow=function(e){if(\"number\"!=typeof e)throw new TypeError(\"Argument must be a number\");return o.SlowBuffer(e)}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function i(e){return{type:v,payload:e}}function o(e){return{type:g,payload:e}}function a(e){return{type:y,payload:e}}function s(e){return{type:_,payload:e}}function u(e){return{type:b,payload:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.authorizeRequest=t.authorizeAccessCodeWithBasicAuthentication=t.authorizeAccessCodeWithFormParams=t.authorizeApplication=t.authorizePassword=t.preAuthorizeImplicit=t.CONFIGURE_AUTH=t.VALIDATE=t.AUTHORIZE_OAUTH2=t.PRE_AUTHORIZE_OAUTH2=t.LOGOUT=t.AUTHORIZE=t.SHOW_AUTH_POPUP=void 0;var l=n(27),c=r(l),p=n(37),f=r(p);t.showDefinitions=i,t.authorize=o,t.logout=a,t.authorizeOauth2=s,t.configureAuth=u;var h=n(36),d=r(h),m=n(9),v=t.SHOW_AUTH_POPUP=\"show_popup\",g=t.AUTHORIZE=\"authorize\",y=t.LOGOUT=\"logout\",_=(t.PRE_AUTHORIZE_OAUTH2=\"pre_authorize_oauth2\",t.AUTHORIZE_OAUTH2=\"authorize_oauth2\"),b=(t.VALIDATE=\"validate\",t.CONFIGURE_AUTH=\"configure_auth\");t.preAuthorizeImplicit=function(e){return function(t){var n=t.authActions,r=t.errActions,i=e.auth,o=e.token,a=e.isValid,s=i.schema,u=i.name,l=s.get(\"flow\");if(delete d.default.swaggerUIRedirectOauth2,\"accessCode\"===l||a||r.newAuthErr({authId:u,source:\"auth\",level:\"warning\",message:\"Authorization may be unsafe, passed state was changed in server Passed state wasn't returned from auth server\"}),o.error)return void r.newAuthErr({authId:u,source:\"auth\",level:\"error\",message:(0,f.default)(o)});n.authorizeOauth2({auth:i,token:o})}},t.authorizePassword=function(e){return function(t){var n=t.authActions,r=e.schema,i=e.name,o=e.username,a=e.password,s=e.passwordType,u=e.clientId,l=e.clientSecret,p={grant_type:\"password\",scope:e.scopes.join(\" \")},f={},h={};return\"basic\"===s?h.Authorization=\"Basic \"+(0,m.btoa)(o+\":\"+a):((0,c.default)(p,{username:o},{password:a}),\"query\"===s?(u&&(f.client_id=u),l&&(f.client_secret=l)):h.Authorization=\"Basic \"+(0,m.btoa)(u+\":\"+l)),n.authorizeRequest({body:(0,m.buildFormData)(p),url:r.get(\"tokenUrl\"),name:i,headers:h,query:f,auth:e})}},t.authorizeApplication=function(e){return function(t){var n=t.authActions,r=e.schema,i=e.scopes,o=e.name,a=e.clientId,s=e.clientSecret,u={Authorization:\"Basic \"+(0,m.btoa)(a+\":\"+s)},l={grant_type:\"client_credentials\",scope:i.join(\" \")};return n.authorizeRequest({body:(0,m.buildFormData)(l),name:o,url:r.get(\"tokenUrl\"),auth:e,headers:u})}},t.authorizeAccessCodeWithFormParams=function(e){var t=e.auth,n=e.redirectUrl;return function(e){var r=e.authActions,i=t.schema,o=t.name,a=t.clientId,s=t.clientSecret,u={grant_type:\"authorization_code\",code:t.code,client_id:a,client_secret:s,redirect_uri:n};return r.authorizeRequest({body:(0,m.buildFormData)(u),name:o,url:i.get(\"tokenUrl\"),auth:t})}},t.authorizeAccessCodeWithBasicAuthentication=function(e){var t=e.auth,n=e.redirectUrl;return function(e){var r=e.authActions,i=t.schema,o=t.name,a=t.clientId,s=t.clientSecret,u={Authorization:\"Basic \"+(0,m.btoa)(a+\":\"+s)},l={grant_type:\"authorization_code\",code:t.code,client_id:a,redirect_uri:n};return r.authorizeRequest({body:(0,m.buildFormData)(l),name:o,url:i.get(\"tokenUrl\"),auth:t,headers:u})}},t.authorizeRequest=function(e){return function(t){var n=t.fn,r=t.getConfigs,i=t.authActions,o=t.errActions,a=t.authSelectors,s=e.body,u=e.query,l=void 0===u?{}:u,p=e.headers,h=void 0===p?{}:p,d=e.name,m=e.url,v=e.auth,g=a.getConfigs()||{},y=g.additionalQueryStringParams,_=m;for(var b in y)m+=\"&\"+b+\"=\"+encodeURIComponent(y[b]);var x=(0,c.default)({Accept:\"application/json, text/plain, */*\",\"Content-Type\":\"application/x-www-form-urlencoded\"},h);n.fetch({url:_,method:\"post\",headers:x,query:l,body:s,requestInterceptor:r().requestInterceptor,responseInterceptor:r().responseInterceptor}).then(function(e){var t=JSON.parse(e.data),n=t&&(t.error||\"\"),r=t&&(t.parseError||\"\");return e.ok?n||r?void o.newAuthErr({authId:d,level:\"error\",source:\"auth\",message:(0,f.default)(t)}):void i.authorizeOauth2({auth:v,token:t}):void o.newAuthErr({authId:d,level:\"error\",source:\"auth\",message:e.statusText})}).catch(function(e){var t=new Error(e);o.newAuthErr({authId:d,level:\"error\",source:\"auth\",message:t.message})})}}},function(e,t,n){\"use strict\";function r(e,t){return{type:s,payload:(0,a.default)({},e,t)}}function i(e){return{type:u,payload:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.TOGGLE_CONFIGS=t.UPDATE_CONFIGS=void 0;var o=n(28),a=function(e){return e&&e.__esModule?e:{default:e}}(o);t.update=r,t.toggle=i;var s=t.UPDATE_CONFIGS=\"configs_update\",u=t.TOGGLE_CONFIGS=\"configs_toggle\"},function(e,t,n){\"use strict\";function r(e){return{type:u,payload:e}}function i(e){return{type:l,payload:e}}function o(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return e=(0,s.normalizeArray)(e),{type:p,payload:{thing:e,shown:t}}}function a(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"\";return e=(0,s.normalizeArray)(e),{type:c,payload:{thing:e,mode:t}}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.SHOW=t.UPDATE_MODE=t.UPDATE_FILTER=t.UPDATE_LAYOUT=void 0,t.updateLayout=r,t.updateFilter=i,t.show=o,t.changeMode=a;var s=n(9),u=t.UPDATE_LAYOUT=\"layout_update_layout\",l=t.UPDATE_FILTER=\"layout_update_filter\",c=t.UPDATE_MODE=\"layout_update_mode\",p=t.SHOW=\"layout_show\"},function(e,t,n){\"use strict\";function r(e,t){return{type:u,payload:{selectedServerUrl:e,namespace:t}}}function i(e){var t=e.value,n=e.pathMethod;return{type:l,payload:{value:t,pathMethod:n}}}function o(e){var t=e.value,n=e.pathMethod;return{type:c,payload:{value:t,pathMethod:n}}}function a(e){var t=e.value,n=e.path,r=e.method;return{type:p,payload:{value:t,path:n,method:r}}}function s(e){var t=e.server,n=e.namespace,r=e.key,i=e.val;return{type:f,payload:{server:t,namespace:n,key:r,val:i}}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.setSelectedServer=r,t.setRequestBodyValue=i,t.setRequestContentType=o,t.setResponseContentType=a,t.setServerVariableValue=s;var u=t.UPDATE_SELECTED_SERVER=\"oas3_set_servers\",l=t.UPDATE_REQUEST_BODY_VALUE=\"oas3_set_request_body_value\",c=t.UPDATE_REQUEST_CONTENT_TYPE=\"oas3_set_request_content_type\",p=t.UPDATE_RESPONSE_CONTENT_TYPE=\"oas3_set_response_content_type\",f=t.UPDATE_SERVER_VARIABLE_VALUE=\"oas3_set_server_variable_value\"},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){var n=h(e,t);if(n)return(0,s.default)(n,{declaration:!0,indent:\"\\t\"})}Object.defineProperty(t,\"__esModule\",{value:!0}),t.memoizedSampleFromSchema=t.memoizedCreateXMLExample=t.sampleXmlFromSchema=t.inferSchema=t.sampleFromSchema=void 0,t.createXMLExample=i;var o=n(9),a=n(1213),s=r(a),u=n(982),l=r(u),c={string:function(){return\"string\"},string_email:function(){return\"user@example.com\"},\"string_date-time\":function(){return(new Date).toISOString()},number:function(){return 0},number_float:function(){return 0},integer:function(){return 0},boolean:function(e){return\"boolean\"!=typeof e.default||e.default}},p=function(e){e=(0,o.objectify)(e);var t=e,n=t.type,r=t.format,i=c[n+\"_\"+r]||c[n];return(0,o.isFunc)(i)?i(e):\"Unknown Type: \"+e.type},f=t.sampleFromSchema=function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=(0,o.objectify)(t),i=r.type,a=r.example,s=r.properties,u=r.additionalProperties,l=r.items,c=n.includeReadOnly,f=n.includeWriteOnly;if(a&&a.$$ref&&delete a.$$ref,void 0!==a)return a;if(!i)if(s)i=\"object\";else{if(!l)return;i=\"array\"}if(\"object\"===i){var h=(0,o.objectify)(s),d={};for(var m in h)h[m].readOnly&&!c||h[m].writeOnly&&!f||(d[m]=e(h[m],n));if(!0===u)d.additionalProp1={};else if(u)for(var v=(0,o.objectify)(u),g=e(v,n),y=1;y<4;y++)d[\"additionalProp\"+y]=g;return d}return\"array\"===i?Array.isArray(l.anyOf)?l.anyOf.map(function(t){return e(t,n)}):Array.isArray(l.oneOf)?l.oneOf.map(function(t){return e(t,n)}):[e(l,n)]:t.enum?t.default?t.default:(0,o.normalizeArray)(t.enum)[0]:\"file\"!==i?p(t):void 0},h=(t.inferSchema=function(e){return e.schema&&(e=e.schema),e.properties&&(e.type=\"object\"),e},t.sampleXmlFromSchema=function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=(0,o.objectify)(t),i=r.type,a=r.properties,s=r.additionalProperties,u=r.items,l=r.example,c=n.includeReadOnly,f=n.includeWriteOnly,h=r.default,d={},m={},v=t.xml,g=v.name,y=v.prefix,_=v.namespace,b=r.enum,x=void 0,w=void 0;if(!i)if(a||s)i=\"object\";else{if(!u)return;i=\"array\"}if(g=g||\"notagname\",x=(y?y+\":\":\"\")+g,_){m[y?\"xmlns:\"+y:\"xmlns\"]=_}if(\"array\"===i&&u){if(u.xml=u.xml||v||{},u.xml.name=u.xml.name||v.name,v.wrapped)return d[x]=[],Array.isArray(l)?l.forEach(function(t){u.example=t,d[x].push(e(u,n))}):Array.isArray(h)?h.forEach(function(t){u.default=t,d[x].push(e(u,n))}):d[x]=[e(u,n)],m&&d[x].push({_attr:m}),d;var k=[];return Array.isArray(l)?(l.forEach(function(t){u.example=t,k.push(e(u,n))}),k):Array.isArray(h)?(h.forEach(function(t){u.default=t,k.push(e(u,n))}),k):e(u,n)}if(\"object\"===i){var E=(0,o.objectify)(a);d[x]=[],l=l||{};for(var S in E)if(E.hasOwnProperty(S)&&(!E[S].readOnly||c)&&(!E[S].writeOnly||f))if(E[S].xml=E[S].xml||{},E[S].xml.attribute){var C=Array.isArray(E[S].enum)&&E[S].enum[0],A=E[S].example,D=E[S].default;m[E[S].xml.name||S]=void 0!==A&&A||void 0!==l[S]&&l[S]||void 0!==D&&D||C||p(E[S])}else{E[S].xml.name=E[S].xml.name||S,E[S].example=void 0!==E[S].example?E[S].example:l[S];var O=e(E[S]);Array.isArray(O)?d[x]=d[x].concat(O):d[x].push(O)}return!0===s?d[x].push({additionalProp:\"Anything can be here\"}):s&&d[x].push({additionalProp:p(s)}),m&&d[x].push({_attr:m}),d}return w=void 0!==l?l:void 0!==h?h:Array.isArray(b)?b[0]:p(t),d[x]=m?[{_attr:m},w]:w,d});t.memoizedCreateXMLExample=(0,l.default)(i),t.memoizedSampleFromSchema=(0,l.default)(f)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function i(e){var t=se(e).replace(/\\t/g,\"  \");if(\"string\"==typeof e)return{type:H,payload:t}}function o(e){return{type:ie,payload:e}}function a(e){return{type:J,payload:e}}function s(e){return{type:G,payload:e}}function u(e,t,n,r,i){return{type:X,payload:{path:e,value:r,paramName:t,paramIn:n,isXml:i}}}function l(e){return{type:ne,payload:{pathMethod:e}}}function c(e,t){return{type:re,payload:{path:e,value:t,key:\"consumes_value\"}}}function p(e,t){return{type:re,payload:{path:e,value:t,key:\"produces_value\"}}}function f(e,t){return{type:ee,payload:{path:e,method:t}}}function h(e,t){return{type:te,payload:{path:e,method:t}}}function d(e,t,n){return{type:ae,payload:{scheme:e,path:t,method:n}}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.execute=t.executeRequest=t.logRequest=t.setMutatedRequest=t.setRequest=t.setResponse=t.validateParams=t.invalidateResolvedSubtreeCache=t.updateResolvedSubtree=t.requestResolvedSubtree=t.resolveSpec=t.parseToJson=t.SET_SCHEME=t.UPDATE_RESOLVED_SUBTREE=t.UPDATE_RESOLVED=t.UPDATE_OPERATION_META_VALUE=t.CLEAR_VALIDATE_PARAMS=t.CLEAR_REQUEST=t.CLEAR_RESPONSE=t.LOG_REQUEST=t.SET_MUTATED_REQUEST=t.SET_REQUEST=t.SET_RESPONSE=t.VALIDATE_PARAMS=t.UPDATE_PARAM=t.UPDATE_JSON=t.UPDATE_URL=t.UPDATE_SPEC=void 0;var m=n(20),v=r(m),g=n(97),y=r(g),_=n(27),b=r(_),x=n(47),w=r(x),k=n(128),E=r(k),S=n(339),C=r(S),A=n(338),D=r(A),O=n(48),M=r(O);t.updateSpec=i,t.updateResolved=o,t.updateUrl=a,t.updateJsonSpec=s,t.changeParam=u,t.clearValidateParams=l,t.changeConsumesValue=c,t.changeProducesValue=p,t.clearResponse=f,t.clearRequest=h,t.setScheme=d;var T=n(214),P=r(T),I=n(7),R=n(1201),j=r(R),N=n(268),F=r(N),B=n(433),L=r(B),q=n(956),z=r(q),U=n(969),W=r(U),V=n(9),H=t.UPDATE_SPEC=\"spec_update_spec\",J=t.UPDATE_URL=\"spec_update_url\",G=t.UPDATE_JSON=\"spec_update_json\",X=t.UPDATE_PARAM=\"spec_update_param\",Y=t.VALIDATE_PARAMS=\"spec_validate_param\",K=t.SET_RESPONSE=\"spec_set_response\",$=t.SET_REQUEST=\"spec_set_request\",Z=t.SET_MUTATED_REQUEST=\"spec_set_mutated_request\",Q=t.LOG_REQUEST=\"spec_log_request\",ee=t.CLEAR_RESPONSE=\"spec_clear_response\",te=t.CLEAR_REQUEST=\"spec_clear_request\",ne=t.CLEAR_VALIDATE_PARAMS=\"spec_clear_validate_param\",re=t.UPDATE_OPERATION_META_VALUE=\"spec_update_operation_meta_value\",ie=t.UPDATE_RESOLVED=\"spec_update_resolved\",oe=t.UPDATE_RESOLVED_SUBTREE=\"spec_update_resolved_subtree\",ae=t.SET_SCHEME=\"set_scheme\",se=function(e){return(0,L.default)(e)?e:\"\"},ue=(t.parseToJson=function(e){return function(t){var n=t.specActions,r=t.specSelectors,i=t.errActions,o=r.specStr,a=null;try{e=e||o(),i.clear({source:\"parser\"}),a=P.default.safeLoad(e)}catch(e){return console.error(e),i.newSpecErr({source:\"parser\",level:\"error\",message:e.reason,line:e.mark&&e.mark.line?e.mark.line+1:void 0})}return a&&\"object\"===(void 0===a?\"undefined\":(0,M.default)(a))?n.updateJsonSpec(a):{}}},!1),le=(t.resolveSpec=function(e,t){return function(n){var r=n.specActions,i=n.specSelectors,o=n.errActions,a=n.fn,s=a.fetch,u=a.resolve,l=a.AST,c=n.getConfigs;ue||(console.warn(\"specActions.resolveSpec is deprecated since v3.10.0 and will be removed in v4.0.0; use requestResolvedSubtree instead!\"),ue=!0);var p=c(),f=p.modelPropertyMacro,h=p.parameterMacro,d=p.requestInterceptor,m=p.responseInterceptor;void 0===e&&(e=i.specJson()),void 0===t&&(t=i.url());var v=l.getLineNumberForPath,g=i.specStr();return u({fetch:s,spec:e,baseDoc:t,modelPropertyMacro:f,parameterMacro:h,requestInterceptor:d,responseInterceptor:m}).then(function(e){var t=e.spec,n=e.errors;if(o.clear({type:\"thrown\"}),Array.isArray(n)&&n.length>0){var i=n.map(function(e){return console.error(e),e.line=e.fullPath?v(g,e.fullPath):null,e.path=e.fullPath?e.fullPath.join(\".\"):null,e.level=\"error\",e.type=\"thrown\",e.source=\"resolver\",Object.defineProperty(e,\"message\",{enumerable:!0,value:e.message}),e});o.newThrownErrBatch(i)}return r.updateResolved(t)})}},[]),ce=(0,z.default)((0,D.default)(C.default.mark(function e(){var t,n,r,i,o,a,s,u,l,c,p,f,h,d,m;return C.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(t=le.system){e.next=4;break}return console.error(\"debResolveSubtrees: don't have a system to operate on, aborting.\"),e.abrupt(\"return\");case 4:if(n=t.errActions,r=t.errSelectors,i=t.fn,o=i.resolveSubtree,a=i.AST.getLineNumberForPath,s=t.specSelectors,u=t.specActions,o){e.next=8;break}return console.error(\"Error: Swagger-Client did not provide a `resolveSubtree` method, doing nothing.\"),e.abrupt(\"return\");case 8:return l=s.specStr(),c=t.getConfigs(),p=c.modelPropertyMacro,f=c.parameterMacro,h=c.requestInterceptor,d=c.responseInterceptor,e.prev=10,e.next=13,le.reduce(function(){var e=(0,D.default)(C.default.mark(function e(t,i){var u,c,m,v,g,y,_;return C.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t;case 2:return u=e.sent,c=u.resultMap,m=u.specWithCurrentSubtrees,e.next=7,o(m,i,{baseDoc:s.url(),modelPropertyMacro:p,parameterMacro:f,requestInterceptor:h,responseInterceptor:d});case 7:return v=e.sent,g=v.errors,y=v.spec,r.allErrors().size&&n.clear({type:\"thrown\"}),Array.isArray(g)&&g.length>0&&(_=g.map(function(e){return e.line=e.fullPath?a(l,e.fullPath):null,e.path=e.fullPath?e.fullPath.join(\".\"):null,e.level=\"error\",e.type=\"thrown\",e.source=\"resolver\",Object.defineProperty(e,\"message\",{enumerable:!0,value:e.message}),e}),n.newThrownErrBatch(_)),(0,W.default)(c,i,y),(0,W.default)(m,i,y),e.abrupt(\"return\",{resultMap:c,specWithCurrentSubtrees:m});case 15:case\"end\":return e.stop()}},e,void 0)}));return function(t,n){return e.apply(this,arguments)}}(),E.default.resolve({resultMap:(s.specResolvedSubtree([])||(0,I.Map)()).toJS(),specWithCurrentSubtrees:s.specJson().toJS()}));case 13:m=e.sent,delete le.system,le=[],e.next=21;break;case 18:e.prev=18,e.t0=e.catch(10),console.error(e.t0);case 21:u.updateResolvedSubtree([],m.resultMap);case 22:case\"end\":return e.stop()}},e,void 0,[[10,18]])})),35),pe=(t.requestResolvedSubtree=function(e){return function(t){le.push(e),le.system=t,ce()}},t.updateResolvedSubtree=function(e,t){return{type:oe,payload:{path:e,value:t}}},t.invalidateResolvedSubtreeCache=function(){return{type:oe,payload:{path:[],value:(0,I.Map)()}}},t.validateParams=function(e,t){return{type:Y,payload:{pathMethod:e,isOAS3:t}}},t.setResponse=function(e,t,n){return{payload:{path:e,method:t,res:n},type:K}},t.setRequest=function(e,t,n){return{payload:{path:e,method:t,req:n},type:$}},t.setMutatedRequest=function(e,t,n){return{payload:{path:e,method:t,req:n},type:Z}},t.logRequest=function(e){return{payload:e,type:Q}},t.executeRequest=function(e){return function(t){var n=t.fn,r=t.specActions,i=t.specSelectors,o=t.getConfigs,a=t.oas3Selectors,s=e.pathName,u=e.method,l=e.operation,c=o(),p=c.requestInterceptor,f=c.responseInterceptor,h=l.toJS();if(e.contextUrl=(0,j.default)(i.url()).toString(),h&&h.operationId?e.operationId=h.operationId:h&&s&&u&&(e.operationId=n.opId(h,s,u)),i.isOAS3()){var d=s+\":\"+u;e.server=a.selectedServer(d)||a.selectedServer();var m=a.serverVariables({server:e.server,namespace:d}).toJS(),v=a.serverVariables({server:e.server}).toJS();e.serverVariables=(0,w.default)(m).length?m:v,e.requestContentType=a.requestContentType(s,u),e.responseContentType=a.responseContentType(s,u)||\"*/*\";var g=a.requestBodyValue(s,u);(0,V.isJSONObject)(g)?e.requestBody=JSON.parse(g):e.requestBody=g}var y=(0,b.default)({},e);y=n.buildRequest(y),r.setRequest(e.pathName,e.method,y);var _=function(t){var n=p.apply(this,[t]),i=(0,b.default)({},n);return r.setMutatedRequest(e.pathName,e.method,i),n};e.requestInterceptor=_,e.responseInterceptor=f;var x=Date.now();return n.execute(e).then(function(t){t.duration=Date.now()-x,r.setResponse(e.pathName,e.method,t)}).catch(function(t){return r.setResponse(e.pathName,e.method,{error:!0,err:(0,F.default)(t)})})}},function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.path,n=e.method,r=(0,y.default)(e,[\"path\",\"method\"]);return function(e){var i=e.fn.fetch,o=e.specSelectors,a=e.specActions,s=o.specJsonWithResolvedSubtrees().toJS(),u=o.operationScheme(t,n),l=o.contentTypeValues([t,n]).toJS(),c=l.requestContentType,p=l.responseContentType,f=/xml/i.test(c),h=o.parameterValues([t,n],f).toJS();return a.executeRequest((0,v.default)({},r,{fetch:i,spec:s,pathName:t,method:n,parameters:h,requestContentType:c,scheme:u,responseContentType:p}))}});t.execute=pe},function(e,t,n){\"use strict\";function r(e,t,n,r){return t=t||[],e.getIn([\"meta\",\"paths\"].concat((0,f.default)(t),[\"parameters\"]),(0,m.fromJS)([])).find(function(e){return m.Map.isMap(e)&&e.get(\"name\")===n&&e.get(\"in\")===r})||(0,m.Map)()}function i(e,t,n){return t=t||[],j.apply(void 0,[e].concat((0,f.default)(t))).get(\"parameters\",(0,m.List)()).reduce(function(e,t){var r=n&&\"body\"===t.get(\"in\")?t.get(\"value_xml\"):t.get(\"value\");return e.set(t.get(\"in\")+\".\"+t.get(\"name\"),r)},(0,m.fromJS)({}))}function o(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"\";if(m.List.isList(e))return e.some(function(e){return m.Map.isMap(e)&&e.get(\"in\")===t})}function a(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"\";if(m.List.isList(e))return e.some(function(e){return m.Map.isMap(e)&&e.get(\"type\")===t})}function s(e,t){t=t||[];var n=b(e).getIn([\"paths\"].concat((0,f.default)(t)),(0,m.fromJS)({})),r=e.getIn([\"meta\",\"paths\"].concat((0,f.default)(t)),(0,m.fromJS)({})),i=l(e,t),o=n.get(\"parameters\")||new m.List,s=r.get(\"consumes_value\")?r.get(\"consumes_value\"):a(o,\"file\")?\"multipart/form-data\":a(o,\"formData\")?\"application/x-www-form-urlencoded\":void 0;return(0,m.fromJS)({requestContentType:s,responseContentType:i})}function u(e,t){return t=t||[],b(e).getIn([\"paths\"].concat((0,f.default)(t),[\"consumes\"]),(0,m.fromJS)({}))}function l(e,t){t=t||[];var n=b(e).getIn([\"paths\"].concat((0,f.default)(t)),null);if(null!==n){var r=e.getIn([\"meta\",\"paths\"].concat((0,f.default)(t),[\"produces_value\"]),null),i=n.getIn([\"produces\",0],null);return r||i||\"application/json\"}}function c(e){return m.Map.isMap(e)?e:new m.Map}Object.defineProperty(t,\"__esModule\",{value:!0}),t.validateBeforeExecute=t.canExecuteScheme=t.operationScheme=t.hasHost=t.parameterWithMeta=t.operationWithMeta=t.allowTryItOutFor=t.mutatedRequestFor=t.requestFor=t.responseFor=t.mutatedRequests=t.requests=t.responses=t.taggedOperations=t.operationsWithTags=t.tagDetails=t.tags=t.operationsWithRootInherited=t.schemes=t.host=t.basePath=t.definitions=t.findDefinition=t.securityDefinitions=t.security=t.produces=t.consumes=t.operations=t.paths=t.semver=t.version=t.externalDocs=t.info=t.isOAS3=t.spec=t.specJsonWithResolvedSubtrees=t.specResolvedSubtree=t.specResolved=t.specJson=t.specSource=t.specStr=t.url=t.lastError=void 0;var p=n(72),f=function(e){return e&&e.__esModule?e:{default:e}}(p);t.getParameter=r,t.parameterValues=i,t.parametersIncludeIn=o,t.parametersIncludeType=a,t.contentTypeValues=s,t.operationConsumes=u,t.currentProducesFor=l;var h=n(60),d=n(9),m=n(7),v=[\"get\",\"put\",\"post\",\"delete\",\"options\",\"head\",\"patch\",\"trace\"],g=function(e){return e||(0,m.Map)()},y=(t.lastError=(0,h.createSelector)(g,function(e){return e.get(\"lastError\")}),t.url=(0,h.createSelector)(g,function(e){return e.get(\"url\")}),t.specStr=(0,h.createSelector)(g,function(e){return e.get(\"spec\")||\"\"}),t.specSource=(0,h.createSelector)(g,function(e){return e.get(\"specSource\")||\"not-editor\"}),t.specJson=(0,h.createSelector)(g,function(e){return e.get(\"json\",(0,m.Map)())})),_=(t.specResolved=(0,h.createSelector)(g,function(e){return e.get(\"resolved\",(0,m.Map)())}),t.specResolvedSubtree=function(e,t){return e.getIn([\"resolvedSubtrees\"].concat((0,f.default)(t)),void 0)},function e(t,n){return m.Map.isMap(t)&&m.Map.isMap(n)?n.get(\"$$ref\")?n:(0,m.Map)().mergeWith(e,t,n):n}),b=t.specJsonWithResolvedSubtrees=(0,h.createSelector)(g,function(e){return(0,m.Map)().mergeWith(_,e.get(\"json\"),e.get(\"resolvedSubtrees\"))}),x=t.spec=function(e){return y(e)},w=(t.isOAS3=(0,h.createSelector)(x,function(){return!1}),t.info=(0,h.createSelector)(x,function(e){return c(e&&e.get(\"info\"))})),k=(t.externalDocs=(0,h.createSelector)(x,function(e){return c(e&&e.get(\"externalDocs\"))}),t.version=(0,h.createSelector)(w,function(e){return e&&e.get(\"version\")})),E=(t.semver=(0,h.createSelector)(k,function(e){return/v?([0-9]*)\\.([0-9]*)\\.([0-9]*)/i.exec(e).slice(1)}),t.paths=(0,h.createSelector)(x,function(e){return e.get(\"paths\")})),S=t.operations=(0,h.createSelector)(E,function(e){if(!e||e.size<1)return(0,m.List)();var t=(0,m.List)();return e&&e.forEach?(e.forEach(function(e,n){if(!e||!e.forEach)return{};e.forEach(function(e,r){v.indexOf(r)<0||(t=t.push((0,m.fromJS)({path:n,method:r,operation:e,id:r+\"-\"+n})))})}),t):(0,m.List)()}),C=t.consumes=(0,h.createSelector)(x,function(e){return(0,m.Set)(e.get(\"consumes\"))}),A=t.produces=(0,h.createSelector)(x,function(e){return(0,m.Set)(e.get(\"produces\"))}),D=(t.security=(0,h.createSelector)(x,function(e){return e.get(\"security\",(0,m.List)())}),t.securityDefinitions=(0,h.createSelector)(x,function(e){return e.get(\"securityDefinitions\")}),t.findDefinition=function(e,t){var n=e.getIn([\"resolvedSubtrees\",\"definitions\",t],null),r=e.getIn([\"json\",\"definitions\",t],null);return n||r||null},t.definitions=(0,h.createSelector)(x,function(e){return e.get(\"definitions\")||(0,m.Map)()}),t.basePath=(0,h.createSelector)(x,function(e){return e.get(\"basePath\")}),t.host=(0,h.createSelector)(x,function(e){return e.get(\"host\")}),t.schemes=(0,h.createSelector)(x,function(e){return e.get(\"schemes\",(0,m.Map)())}),t.operationsWithRootInherited=(0,h.createSelector)(S,C,A,function(e,t,n){return e.map(function(e){return e.update(\"operation\",function(e){if(e){if(!m.Map.isMap(e))return;return e.withMutations(function(e){return e.get(\"consumes\")||e.update(\"consumes\",function(e){return(0,m.Set)(e).merge(t)}),e.get(\"produces\")||e.update(\"produces\",function(e){return(0,m.Set)(e).merge(n)}),e})}return(0,m.Map)()})})})),O=t.tags=(0,h.createSelector)(x,function(e){return e.get(\"tags\",(0,m.List)())}),M=t.tagDetails=function(e,t){return(O(e)||(0,m.List)()).filter(m.Map.isMap).find(function(e){return e.get(\"name\")===t},(0,m.Map)())},T=t.operationsWithTags=(0,h.createSelector)(D,O,function(e,t){return e.reduce(function(e,t){var n=(0,m.Set)(t.getIn([\"operation\",\"tags\"]));return n.count()<1?e.update(\"default\",(0,m.List)(),function(e){return e.push(t)}):n.reduce(function(e,n){return e.update(n,(0,m.List)(),function(e){return e.push(t)})},e)},t.reduce(function(e,t){return e.set(t.get(\"name\"),(0,m.List)())},(0,m.OrderedMap)()))}),P=(t.taggedOperations=function(e){return function(t){var n=t.getConfigs,r=n(),i=r.tagsSorter,o=r.operationsSorter;return T(e).sortBy(function(e,t){return t},function(e,t){var n=\"function\"==typeof i?i:d.sorters.tagsSorter[i];return n?n(e,t):null}).map(function(t,n){var r=\"function\"==typeof o?o:d.sorters.operationsSorter[o],i=r?t.sort(r):t;return(0,m.Map)({tagDetails:M(e,n),operations:i})})}},t.responses=(0,h.createSelector)(g,function(e){return e.get(\"responses\",(0,m.Map)())})),I=t.requests=(0,h.createSelector)(g,function(e){return e.get(\"requests\",(0,m.Map)())}),R=t.mutatedRequests=(0,h.createSelector)(g,function(e){return e.get(\"mutatedRequests\",(0,m.Map)())}),j=(t.responseFor=function(e,t,n){return P(e).getIn([t,n],null)},t.requestFor=function(e,t,n){return I(e).getIn([t,n],null)},t.mutatedRequestFor=function(e,t,n){return R(e).getIn([t,n],null)},t.allowTryItOutFor=function(){return!0},t.operationWithMeta=function(e,t,n){var r=b(e).getIn([\"paths\",t,n],(0,m.Map)()),i=e.getIn([\"meta\",\"paths\",t,n],(0,m.Map)()),o=r.get(\"parameters\",(0,m.List)()).map(function(e){return(0,m.Map)().merge(e,i.getIn([\"parameters\",e.get(\"name\")+\".\"+e.get(\"in\")]))});return(0,m.Map)().merge(r,i).set(\"parameters\",o)}),N=(t.parameterWithMeta=function(e,t,n,r){var i=b(e).getIn([\"paths\"].concat((0,f.default)(t),[\"parameters\"]),(0,m.Map)()),o=e.getIn([\"meta\",\"paths\"].concat((0,f.default)(t),[\"parameters\"]),(0,m.Map)());return i.map(function(e){return(0,m.Map)().merge(e,o.get(e.get(\"name\")+\".\"+e.get(\"in\")))}).find(function(e){return e.get(\"in\")===r&&e.get(\"name\")===n},(0,m.Map)())},t.hasHost=(0,h.createSelector)(x,function(e){var t=e.get(\"host\");return\"string\"==typeof t&&t.length>0&&\"/\"!==t[0]}),t.operationScheme=function(e,t,n){var r=e.get(\"url\"),i=r.match(/^([a-z][a-z0-9+\\-.]*):/),o=Array.isArray(i)?i[1]:null;return e.getIn([\"scheme\",t,n])||e.getIn([\"scheme\",\"_defaultScheme\"])||o||\"\"});t.canExecuteScheme=function(e,t,n){return[\"http\",\"https\"].indexOf(N(e,t,n))>-1},t.validateBeforeExecute=function(e,t){t=t||[];var n=e.getIn([\"meta\",\"paths\"].concat((0,f.default)(t),[\"parameters\"]),(0,m.fromJS)([])),r=!0;return n.forEach(function(e){var t=e.get(\"errors\");t&&t.count()&&(r=!1)}),r}},function(e,t,n){\"use strict\";function r(e){switch(e._type){case\"document\":case\"block_quote\":case\"list\":case\"item\":case\"paragraph\":case\"heading\":case\"emph\":case\"strong\":case\"link\":case\"image\":case\"custom_inline\":case\"custom_block\":return!0;default:return!1}}var i=function(e,t){this.current=e,this.entering=!0===t},o=function(){var e=this.current,t=this.entering;if(null===e)return null;var n=r(e);return t&&n?e._firstChild?(this.current=e._firstChild,this.entering=!0):this.entering=!1:e===this.root?this.current=null:null===e._next?(this.current=e._parent,this.entering=!1):(this.current=e._next,this.entering=!0),{entering:t,node:e}},a=function(e){return{current:e,root:e,entering:!0,next:o,resumeAt:i}},s=function(e,t){this._type=e,this._parent=null,this._firstChild=null,this._lastChild=null,this._prev=null,this._next=null,this._sourcepos=t,this._lastLineBlank=!1,this._open=!0,this._string_content=null,this._literal=null,this._listData={},this._info=null,this._destination=null,this._title=null,this._isFenced=!1,this._fenceChar=null,this._fenceLength=0,this._fenceOffset=null,this._level=null,this._onEnter=null,this._onExit=null},u=s.prototype;Object.defineProperty(u,\"isContainer\",{get:function(){return r(this)}}),Object.defineProperty(u,\"type\",{get:function(){return this._type}}),Object.defineProperty(u,\"firstChild\",{get:function(){return this._firstChild}}),Object.defineProperty(u,\"lastChild\",{get:function(){return this._lastChild}}),Object.defineProperty(u,\"next\",{get:function(){return this._next}}),Object.defineProperty(u,\"prev\",{get:function(){return this._prev}}),Object.defineProperty(u,\"parent\",{get:function(){return this._parent}}),Object.defineProperty(u,\"sourcepos\",{get:function(){return this._sourcepos}}),Object.defineProperty(u,\"literal\",{get:function(){return this._literal},set:function(e){this._literal=e}}),Object.defineProperty(u,\"destination\",{get:function(){return this._destination},set:function(e){this._destination=e}}),Object.defineProperty(u,\"title\",{get:function(){return this._title},set:function(e){this._title=e}}),Object.defineProperty(u,\"info\",{get:function(){return this._info},set:function(e){this._info=e}}),Object.defineProperty(u,\"level\",{get:function(){return this._level},set:function(e){this._level=e}}),Object.defineProperty(u,\"listType\",{get:function(){return this._listData.type},set:function(e){this._listData.type=e}}),Object.defineProperty(u,\"listTight\",{get:function(){return this._listData.tight},set:function(e){this._listData.tight=e}}),Object.defineProperty(u,\"listStart\",{get:function(){return this._listData.start},set:function(e){this._listData.start=e}}),Object.defineProperty(u,\"listDelimiter\",{get:function(){return this._listData.delimiter},set:function(e){this._listData.delimiter=e}}),Object.defineProperty(u,\"onEnter\",{get:function(){return this._onEnter},set:function(e){this._onEnter=e}}),Object.defineProperty(u,\"onExit\",{get:function(){return this._onExit},set:function(e){this._onExit=e}}),s.prototype.appendChild=function(e){e.unlink(),e._parent=this,this._lastChild?(this._lastChild._next=e,e._prev=this._lastChild,this._lastChild=e):(this._firstChild=e,this._lastChild=e)},s.prototype.prependChild=function(e){e.unlink(),e._parent=this,this._firstChild?(this._firstChild._prev=e,e._next=this._firstChild,this._firstChild=e):(this._firstChild=e,this._lastChild=e)},s.prototype.unlink=function(){this._prev?this._prev._next=this._next:this._parent&&(this._parent._firstChild=this._next),this._next?this._next._prev=this._prev:this._parent&&(this._parent._lastChild=this._prev),this._parent=null,this._next=null,this._prev=null},s.prototype.insertAfter=function(e){e.unlink(),e._next=this._next,e._next&&(e._next._prev=e),e._prev=this,this._next=e,e._parent=this._parent,e._next||(e._parent._lastChild=e)},s.prototype.insertBefore=function(e){e.unlink(),e._prev=this._prev,e._prev&&(e._prev._next=e),e._next=this,this._prev=e,e._parent=this._parent,e._prev||(e._parent._firstChild=e)},s.prototype.walker=function(){return new a(this)},e.exports=s},function(e,t){e.exports=function(e,t,n,r){if(!(e instanceof t)||void 0!==r&&r in e)throw TypeError(n+\": incorrect invocation!\");return e}},function(e,t,n){var r=n(54),i=n(183),o=n(76),a=n(133),s=n(615);e.exports=function(e,t){var n=1==e,u=2==e,l=3==e,c=4==e,p=6==e,f=5==e||p,h=t||s;return function(t,s,d){for(var m,v,g=o(t),y=i(g),_=r(s,d,3),b=a(y.length),x=0,w=n?h(t,b):u?h(t,0):void 0;b>x;x++)if((f||x in y)&&(m=y[x],v=_(m,x,g),e))if(n)w[x]=v;else if(v)switch(e){case 3:return!0;case 5:return m;case 6:return x;case 2:w.push(m)}else if(c)return!1;return p?-1:l||c?c:w}}},function(e,t,n){var r=n(99),i=n(21)(\"toStringTag\"),o=\"Arguments\"==r(function(){return arguments}()),a=function(e,t){try{return e[t]}catch(e){}};e.exports=function(e){var t,n,s;return void 0===e?\"Undefined\":null===e?\"Null\":\"string\"==typeof(n=a(t=Object(e),i))?n:o?r(t):\"Object\"==(s=r(t))&&\"function\"==typeof t.callee?\"Arguments\":s}},function(e,t){e.exports=function(e){if(void 0==e)throw TypeError(\"Can't call method on  \"+e);return e}},function(e,t,n){var r=n(29),i=n(24).document,o=r(i)&&r(i.createElement);e.exports=function(e){return o?i.createElement(e):{}}},function(e,t){e.exports=\"constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf\".split(\",\")},function(e,t,n){var r=n(99);e.exports=Object(\"z\").propertyIsEnumerable(0)?Object:function(e){return\"String\"==r(e)?e.split(\"\"):Object(e)}},function(e,t,n){\"use strict\";function r(e){var t,n;this.promise=new e(function(e,r){if(void 0!==t||void 0!==n)throw TypeError(\"Bad Promise constructor\");t=e,n=r}),this.resolve=i(t),this.reject=i(n)}var i=n(98);e.exports.f=function(e){return new r(e)}},function(e,t,n){var r=n(38),i=n(624),o=n(182),a=n(189)(\"IE_PROTO\"),s=function(){},u=function(){var e,t=n(181)(\"iframe\"),r=o.length;for(t.style.display=\"none\",n(341).appendChild(t),t.src=\"javascript:\",e=t.contentWindow.document,e.open(),e.write(\"<script>document.F=Object<\\/script>\"),e.close(),u=e.F;r--;)delete u.prototype[o[r]];return u()};e.exports=Object.create||function(e,t){var n;return null!==e?(s.prototype=r(e),n=new s,s.prototype=null,n[a]=e):n=u(),void 0===t?n:i(n,t)}},function(e,t){t.f=Object.getOwnPropertySymbols},function(e,t,n){var r=n(57);e.exports=function(e,t,n){for(var i in t)n&&e[i]?e[i]=t[i]:r(e,i,t[i]);return e}},function(e,t,n){e.exports=n(57)},function(e,t,n){var r=n(190)(\"keys\"),i=n(134);e.exports=function(e){return r[e]||(r[e]=i(e))}},function(e,t,n){var r=n(24),i=r[\"__core-js_shared__\"]||(r[\"__core-js_shared__\"]={});e.exports=function(e){return i[e]||(i[e]={})}},function(e,t){var n=Math.ceil,r=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?r:n)(e)}},function(e,t,n){var r=n(29);e.exports=function(e,t){if(!r(e))return e;var n,i;if(t&&\"function\"==typeof(n=e.toString)&&!r(i=n.call(e)))return i;if(\"function\"==typeof(n=e.valueOf)&&!r(i=n.call(e)))return i;if(!t&&\"function\"==typeof(n=e.toString)&&!r(i=n.call(e)))return i;throw TypeError(\"Can't convert object to primitive value\")}},function(e,t,n){var r=n(24),i=n(15),o=n(130),a=n(194),s=n(43).f;e.exports=function(e){var t=i.Symbol||(i.Symbol=o?{}:r.Symbol||{});\"_\"==e.charAt(0)||e in t||s(t,e,{value:a.f(e)})}},function(e,t,n){t.f=n(21)},function(e,t,n){var r=n(179),i=n(21)(\"iterator\"),o=n(74);e.exports=n(15).getIteratorMethod=function(e){if(void 0!=e)return e[i]||e[\"@@iterator\"]||o[r(e)]}},function(e,t){},function(e,t,n){var r=n(105),i=n(19)(\"toStringTag\"),o=\"Arguments\"==r(function(){return arguments}()),a=function(e,t){try{return e[t]}catch(e){}};e.exports=function(e){var t,n,s;return void 0===e?\"Undefined\":null===e?\"Null\":\"string\"==typeof(n=a(t=Object(e),i))?n:o?r(t):\"Object\"==(s=r(t))&&\"function\"==typeof t.callee?\"Arguments\":s}},function(e,t,n){var r=n(77),i=n(32).document,o=r(i)&&r(i.createElement);e.exports=function(e){return o?i.createElement(e):{}}},function(e,t,n){var r=n(19)(\"match\");e.exports=function(e){var t=/./;try{\"/./\"[e](t)}catch(n){try{return t[r]=!1,!\"/./\"[e](t)}catch(e){}}return!0}},function(e,t,n){\"use strict\";function r(e){var t,n;this.promise=new e(function(e,r){if(void 0!==t||void 0!==n)throw TypeError(\"Bad Promise constructor\");t=e,n=r}),this.resolve=i(t),this.reject=i(n)}var i=n(135);e.exports.f=function(e){return new r(e)}},function(e,t,n){var r=n(138).f,i=n(108),o=n(19)(\"toStringTag\");e.exports=function(e,t,n){e&&!i(e=n?e:e.prototype,o)&&r(e,o,{configurable:!0,value:t})}},function(e,t,n){var r=n(368)(\"keys\"),i=n(204);e.exports=function(e){return r[e]||(r[e]=i(e))}},function(e,t,n){var r=n(361),i=n(58);e.exports=function(e,t,n){if(r(t))throw TypeError(\"String#\"+n+\" doesn't accept regex!\");return String(i(e))}},function(e,t){var n=0,r=Math.random();e.exports=function(e){return\"Symbol(\".concat(void 0===e?\"\":e,\")_\",(++n+r).toString(36))}},function(e,t,n){\"use strict\";(function(t){/*!\n * @description Recursive object extending\n * @author Viacheslav Lotsmanov <lotsmanov89@gmail.com>\n * @license MIT\n *\n * The MIT License (MIT)\n *\n * Copyright (c) 2013-2015 Viacheslav Lotsmanov\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\n * this software and associated documentation files (the \"Software\"), to deal in\n * the Software without restriction, including without limitation the rights to\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\n * the Software, and to permit persons to whom the Software is furnished to do so,\n * subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nfunction n(e){return e instanceof t||e instanceof Date||e instanceof RegExp}function r(e){if(e instanceof t){var n=new t(e.length);return e.copy(n),n}if(e instanceof Date)return new Date(e.getTime());if(e instanceof RegExp)return new RegExp(e);throw new Error(\"Unexpected situation\")}function i(e){var t=[];return e.forEach(function(e,a){\"object\"==typeof e&&null!==e?Array.isArray(e)?t[a]=i(e):n(e)?t[a]=r(e):t[a]=o({},e):t[a]=e}),t}var o=e.exports=function(){if(arguments.length<1||\"object\"!=typeof arguments[0])return!1;if(arguments.length<2)return arguments[0];var e,t,a=arguments[0],s=Array.prototype.slice.call(arguments,1);return s.forEach(function(s){\"object\"!=typeof s||Array.isArray(s)||Object.keys(s).forEach(function(u){return t=a[u],e=s[u],e===a?void 0:\"object\"!=typeof e||null===e?void(a[u]=e):Array.isArray(e)?void(a[u]=i(e)):n(e)?void(a[u]=r(e)):\"object\"!=typeof t||null===t||Array.isArray(t)?void(a[u]=o({},e)):void(a[u]=o(t,e))})}),a}}).call(t,n(42).Buffer)},function(e,t){e.exports={Aacute:\"Á\",aacute:\"á\",Abreve:\"Ă\",abreve:\"ă\",ac:\"∾\",acd:\"∿\",acE:\"∾̳\",Acirc:\"Â\",acirc:\"â\",acute:\"´\",Acy:\"А\",acy:\"а\",AElig:\"Æ\",aelig:\"æ\",af:\"⁡\",Afr:\"𝔄\",afr:\"𝔞\",Agrave:\"À\",agrave:\"à\",alefsym:\"ℵ\",aleph:\"ℵ\",Alpha:\"Α\",alpha:\"α\",Amacr:\"Ā\",amacr:\"ā\",amalg:\"⨿\",amp:\"&\",AMP:\"&\",andand:\"⩕\",And:\"⩓\",and:\"∧\",andd:\"⩜\",andslope:\"⩘\",andv:\"⩚\",ang:\"∠\",ange:\"⦤\",angle:\"∠\",angmsdaa:\"⦨\",angmsdab:\"⦩\",angmsdac:\"⦪\",angmsdad:\"⦫\",angmsdae:\"⦬\",angmsdaf:\"⦭\",angmsdag:\"⦮\",angmsdah:\"⦯\",angmsd:\"∡\",angrt:\"∟\",angrtvb:\"⊾\",angrtvbd:\"⦝\",angsph:\"∢\",angst:\"Å\",angzarr:\"⍼\",Aogon:\"Ą\",aogon:\"ą\",Aopf:\"𝔸\",aopf:\"𝕒\",apacir:\"⩯\",ap:\"≈\",apE:\"⩰\",ape:\"≊\",apid:\"≋\",apos:\"'\",ApplyFunction:\"⁡\",approx:\"≈\",approxeq:\"≊\",Aring:\"Å\",aring:\"å\",Ascr:\"𝒜\",ascr:\"𝒶\",Assign:\"≔\",ast:\"*\",asymp:\"≈\",asympeq:\"≍\",Atilde:\"Ã\",atilde:\"ã\",Auml:\"Ä\",auml:\"ä\",awconint:\"∳\",awint:\"⨑\",backcong:\"≌\",backepsilon:\"϶\",backprime:\"‵\",backsim:\"∽\",backsimeq:\"⋍\",Backslash:\"∖\",Barv:\"⫧\",barvee:\"⊽\",barwed:\"⌅\",Barwed:\"⌆\",barwedge:\"⌅\",bbrk:\"⎵\",bbrktbrk:\"⎶\",bcong:\"≌\",Bcy:\"Б\",bcy:\"б\",bdquo:\"„\",becaus:\"∵\",because:\"∵\",Because:\"∵\",bemptyv:\"⦰\",bepsi:\"϶\",bernou:\"ℬ\",Bernoullis:\"ℬ\",Beta:\"Β\",beta:\"β\",beth:\"ℶ\",between:\"≬\",Bfr:\"𝔅\",bfr:\"𝔟\",bigcap:\"⋂\",bigcirc:\"◯\",bigcup:\"⋃\",bigodot:\"⨀\",bigoplus:\"⨁\",bigotimes:\"⨂\",bigsqcup:\"⨆\",bigstar:\"★\",bigtriangledown:\"▽\",bigtriangleup:\"△\",biguplus:\"⨄\",bigvee:\"⋁\",bigwedge:\"⋀\",bkarow:\"⤍\",blacklozenge:\"⧫\",blacksquare:\"▪\",blacktriangle:\"▴\",blacktriangledown:\"▾\",blacktriangleleft:\"◂\",blacktriangleright:\"▸\",blank:\"␣\",blk12:\"▒\",blk14:\"░\",blk34:\"▓\",block:\"█\",bne:\"=⃥\",bnequiv:\"≡⃥\",bNot:\"⫭\",bnot:\"⌐\",Bopf:\"𝔹\",bopf:\"𝕓\",bot:\"⊥\",bottom:\"⊥\",bowtie:\"⋈\",boxbox:\"⧉\",boxdl:\"┐\",boxdL:\"╕\",boxDl:\"╖\",boxDL:\"╗\",boxdr:\"┌\",boxdR:\"╒\",boxDr:\"╓\",boxDR:\"╔\",boxh:\"─\",boxH:\"═\",boxhd:\"┬\",boxHd:\"╤\",boxhD:\"╥\",boxHD:\"╦\",boxhu:\"┴\",boxHu:\"╧\",boxhU:\"╨\",boxHU:\"╩\",boxminus:\"⊟\",boxplus:\"⊞\",boxtimes:\"⊠\",boxul:\"┘\",boxuL:\"╛\",boxUl:\"╜\",boxUL:\"╝\",boxur:\"└\",boxuR:\"╘\",boxUr:\"╙\",boxUR:\"╚\",boxv:\"│\",boxV:\"║\",boxvh:\"┼\",boxvH:\"╪\",boxVh:\"╫\",boxVH:\"╬\",boxvl:\"┤\",boxvL:\"╡\",boxVl:\"╢\",boxVL:\"╣\",boxvr:\"├\",boxvR:\"╞\",boxVr:\"╟\",boxVR:\"╠\",bprime:\"‵\",breve:\"˘\",Breve:\"˘\",brvbar:\"¦\",bscr:\"𝒷\",Bscr:\"ℬ\",bsemi:\"⁏\",bsim:\"∽\",bsime:\"⋍\",bsolb:\"⧅\",bsol:\"\\\\\",bsolhsub:\"⟈\",bull:\"•\",bullet:\"•\",bump:\"≎\",bumpE:\"⪮\",bumpe:\"≏\",Bumpeq:\"≎\",bumpeq:\"≏\",Cacute:\"Ć\",cacute:\"ć\",capand:\"⩄\",capbrcup:\"⩉\",capcap:\"⩋\",cap:\"∩\",Cap:\"⋒\",capcup:\"⩇\",capdot:\"⩀\",CapitalDifferentialD:\"ⅅ\",caps:\"∩︀\",caret:\"⁁\",caron:\"ˇ\",Cayleys:\"ℭ\",ccaps:\"⩍\",Ccaron:\"Č\",ccaron:\"č\",Ccedil:\"Ç\",ccedil:\"ç\",Ccirc:\"Ĉ\",ccirc:\"ĉ\",Cconint:\"∰\",ccups:\"⩌\",ccupssm:\"⩐\",Cdot:\"Ċ\",cdot:\"ċ\",cedil:\"¸\",Cedilla:\"¸\",cemptyv:\"⦲\",cent:\"¢\",centerdot:\"·\",CenterDot:\"·\",cfr:\"𝔠\",Cfr:\"ℭ\",CHcy:\"Ч\",chcy:\"ч\",check:\"✓\",checkmark:\"✓\",Chi:\"Χ\",chi:\"χ\",circ:\"ˆ\",circeq:\"≗\",circlearrowleft:\"↺\",circlearrowright:\"↻\",circledast:\"⊛\",circledcirc:\"⊚\",circleddash:\"⊝\",CircleDot:\"⊙\",circledR:\"®\",circledS:\"Ⓢ\",CircleMinus:\"⊖\",CirclePlus:\"⊕\",CircleTimes:\"⊗\",cir:\"○\",cirE:\"⧃\",cire:\"≗\",cirfnint:\"⨐\",cirmid:\"⫯\",cirscir:\"⧂\",ClockwiseContourIntegral:\"∲\",CloseCurlyDoubleQuote:\"”\",CloseCurlyQuote:\"’\",clubs:\"♣\",clubsuit:\"♣\",colon:\":\",Colon:\"∷\",Colone:\"⩴\",colone:\"≔\",coloneq:\"≔\",comma:\",\",commat:\"@\",comp:\"∁\",compfn:\"∘\",complement:\"∁\",complexes:\"ℂ\",cong:\"≅\",congdot:\"⩭\",Congruent:\"≡\",conint:\"∮\",Conint:\"∯\",ContourIntegral:\"∮\",copf:\"𝕔\",Copf:\"ℂ\",coprod:\"∐\",Coproduct:\"∐\",copy:\"©\",COPY:\"©\",copysr:\"℗\",CounterClockwiseContourIntegral:\"∳\",crarr:\"↵\",cross:\"✗\",Cross:\"⨯\",Cscr:\"𝒞\",cscr:\"𝒸\",csub:\"⫏\",csube:\"⫑\",csup:\"⫐\",csupe:\"⫒\",ctdot:\"⋯\",cudarrl:\"⤸\",cudarrr:\"⤵\",cuepr:\"⋞\",cuesc:\"⋟\",cularr:\"↶\",cularrp:\"⤽\",cupbrcap:\"⩈\",cupcap:\"⩆\",CupCap:\"≍\",cup:\"∪\",Cup:\"⋓\",cupcup:\"⩊\",cupdot:\"⊍\",cupor:\"⩅\",cups:\"∪︀\",curarr:\"↷\",curarrm:\"⤼\",curlyeqprec:\"⋞\",curlyeqsucc:\"⋟\",curlyvee:\"⋎\",curlywedge:\"⋏\",curren:\"¤\",curvearrowleft:\"↶\",curvearrowright:\"↷\",cuvee:\"⋎\",cuwed:\"⋏\",cwconint:\"∲\",cwint:\"∱\",cylcty:\"⌭\",dagger:\"†\",Dagger:\"‡\",daleth:\"ℸ\",darr:\"↓\",Darr:\"↡\",dArr:\"⇓\",dash:\"‐\",Dashv:\"⫤\",dashv:\"⊣\",dbkarow:\"⤏\",dblac:\"˝\",Dcaron:\"Ď\",dcaron:\"ď\",Dcy:\"Д\",dcy:\"д\",ddagger:\"‡\",ddarr:\"⇊\",DD:\"ⅅ\",dd:\"ⅆ\",DDotrahd:\"⤑\",ddotseq:\"⩷\",deg:\"°\",Del:\"∇\",Delta:\"Δ\",delta:\"δ\",demptyv:\"⦱\",dfisht:\"⥿\",Dfr:\"𝔇\",dfr:\"𝔡\",dHar:\"⥥\",dharl:\"⇃\",dharr:\"⇂\",DiacriticalAcute:\"´\",DiacriticalDot:\"˙\",DiacriticalDoubleAcute:\"˝\",DiacriticalGrave:\"`\",DiacriticalTilde:\"˜\",diam:\"⋄\",diamond:\"⋄\",Diamond:\"⋄\",diamondsuit:\"♦\",diams:\"♦\",die:\"¨\",DifferentialD:\"ⅆ\",digamma:\"ϝ\",disin:\"⋲\",div:\"÷\",divide:\"÷\",divideontimes:\"⋇\",divonx:\"⋇\",DJcy:\"Ђ\",djcy:\"ђ\",dlcorn:\"⌞\",dlcrop:\"⌍\",dollar:\"$\",Dopf:\"𝔻\",dopf:\"𝕕\",Dot:\"¨\",dot:\"˙\",DotDot:\"⃜\",doteq:\"≐\",doteqdot:\"≑\",DotEqual:\"≐\",dotminus:\"∸\",dotplus:\"∔\",dotsquare:\"⊡\",doublebarwedge:\"⌆\",DoubleContourIntegral:\"∯\",DoubleDot:\"¨\",DoubleDownArrow:\"⇓\",DoubleLeftArrow:\"⇐\",DoubleLeftRightArrow:\"⇔\",DoubleLeftTee:\"⫤\",DoubleLongLeftArrow:\"⟸\",DoubleLongLeftRightArrow:\"⟺\",DoubleLongRightArrow:\"⟹\",DoubleRightArrow:\"⇒\",DoubleRightTee:\"⊨\",DoubleUpArrow:\"⇑\",DoubleUpDownArrow:\"⇕\",DoubleVerticalBar:\"∥\",DownArrowBar:\"⤓\",downarrow:\"↓\",DownArrow:\"↓\",Downarrow:\"⇓\",DownArrowUpArrow:\"⇵\",DownBreve:\"̑\",downdownarrows:\"⇊\",downharpoonleft:\"⇃\",downharpoonright:\"⇂\",DownLeftRightVector:\"⥐\",DownLeftTeeVector:\"⥞\",DownLeftVectorBar:\"⥖\",DownLeftVector:\"↽\",DownRightTeeVector:\"⥟\",DownRightVectorBar:\"⥗\",DownRightVector:\"⇁\",DownTeeArrow:\"↧\",DownTee:\"⊤\",drbkarow:\"⤐\",drcorn:\"⌟\",drcrop:\"⌌\",Dscr:\"𝒟\",dscr:\"𝒹\",DScy:\"Ѕ\",dscy:\"ѕ\",dsol:\"⧶\",Dstrok:\"Đ\",dstrok:\"đ\",dtdot:\"⋱\",dtri:\"▿\",dtrif:\"▾\",duarr:\"⇵\",duhar:\"⥯\",dwangle:\"⦦\",DZcy:\"Џ\",dzcy:\"џ\",dzigrarr:\"⟿\",Eacute:\"É\",eacute:\"é\",easter:\"⩮\",Ecaron:\"Ě\",ecaron:\"ě\",Ecirc:\"Ê\",ecirc:\"ê\",ecir:\"≖\",ecolon:\"≕\",Ecy:\"Э\",ecy:\"э\",eDDot:\"⩷\",Edot:\"Ė\",edot:\"ė\",eDot:\"≑\",ee:\"ⅇ\",efDot:\"≒\",Efr:\"𝔈\",efr:\"𝔢\",eg:\"⪚\",Egrave:\"È\",egrave:\"è\",egs:\"⪖\",egsdot:\"⪘\",el:\"⪙\",Element:\"∈\",elinters:\"⏧\",ell:\"ℓ\",els:\"⪕\",elsdot:\"⪗\",Emacr:\"Ē\",emacr:\"ē\",empty:\"∅\",emptyset:\"∅\",EmptySmallSquare:\"◻\",emptyv:\"∅\",EmptyVerySmallSquare:\"▫\",emsp13:\" \",emsp14:\" \",emsp:\" \",ENG:\"Ŋ\",eng:\"ŋ\",ensp:\" \",Eogon:\"Ę\",eogon:\"ę\",Eopf:\"𝔼\",eopf:\"𝕖\",epar:\"⋕\",eparsl:\"⧣\",eplus:\"⩱\",epsi:\"ε\",Epsilon:\"Ε\",epsilon:\"ε\",epsiv:\"ϵ\",eqcirc:\"≖\",eqcolon:\"≕\",eqsim:\"≂\",eqslantgtr:\"⪖\",eqslantless:\"⪕\",Equal:\"⩵\",equals:\"=\",EqualTilde:\"≂\",equest:\"≟\",Equilibrium:\"⇌\",equiv:\"≡\",equivDD:\"⩸\",eqvparsl:\"⧥\",erarr:\"⥱\",erDot:\"≓\",escr:\"ℯ\",Escr:\"ℰ\",esdot:\"≐\",Esim:\"⩳\",esim:\"≂\",Eta:\"Η\",eta:\"η\",ETH:\"Ð\",eth:\"ð\",Euml:\"Ë\",euml:\"ë\",euro:\"€\",excl:\"!\",exist:\"∃\",Exists:\"∃\",expectation:\"ℰ\",exponentiale:\"ⅇ\",ExponentialE:\"ⅇ\",fallingdotseq:\"≒\",Fcy:\"Ф\",fcy:\"ф\",female:\"♀\",ffilig:\"ﬃ\",fflig:\"ﬀ\",ffllig:\"ﬄ\",Ffr:\"𝔉\",ffr:\"𝔣\",filig:\"ﬁ\",FilledSmallSquare:\"◼\",FilledVerySmallSquare:\"▪\",fjlig:\"fj\",flat:\"♭\",fllig:\"ﬂ\",fltns:\"▱\",fnof:\"ƒ\",Fopf:\"𝔽\",fopf:\"𝕗\",forall:\"∀\",ForAll:\"∀\",fork:\"⋔\",forkv:\"⫙\",Fouriertrf:\"ℱ\",fpartint:\"⨍\",frac12:\"½\",frac13:\"⅓\",frac14:\"¼\",frac15:\"⅕\",frac16:\"⅙\",frac18:\"⅛\",frac23:\"⅔\",frac25:\"⅖\",frac34:\"¾\",frac35:\"⅗\",frac38:\"⅜\",frac45:\"⅘\",frac56:\"⅚\",frac58:\"⅝\",frac78:\"⅞\",frasl:\"⁄\",frown:\"⌢\",fscr:\"𝒻\",Fscr:\"ℱ\",gacute:\"ǵ\",Gamma:\"Γ\",gamma:\"γ\",Gammad:\"Ϝ\",gammad:\"ϝ\",gap:\"⪆\",Gbreve:\"Ğ\",gbreve:\"ğ\",Gcedil:\"Ģ\",Gcirc:\"Ĝ\",gcirc:\"ĝ\",Gcy:\"Г\",gcy:\"г\",Gdot:\"Ġ\",gdot:\"ġ\",ge:\"≥\",gE:\"≧\",gEl:\"⪌\",gel:\"⋛\",geq:\"≥\",geqq:\"≧\",geqslant:\"⩾\",gescc:\"⪩\",ges:\"⩾\",gesdot:\"⪀\",gesdoto:\"⪂\",gesdotol:\"⪄\",gesl:\"⋛︀\",gesles:\"⪔\",Gfr:\"𝔊\",gfr:\"𝔤\",gg:\"≫\",Gg:\"⋙\",ggg:\"⋙\",gimel:\"ℷ\",GJcy:\"Ѓ\",gjcy:\"ѓ\",gla:\"⪥\",gl:\"≷\",glE:\"⪒\",glj:\"⪤\",gnap:\"⪊\",gnapprox:\"⪊\",gne:\"⪈\",gnE:\"≩\",gneq:\"⪈\",gneqq:\"≩\",gnsim:\"⋧\",Gopf:\"𝔾\",gopf:\"𝕘\",grave:\"`\",GreaterEqual:\"≥\",GreaterEqualLess:\"⋛\",GreaterFullEqual:\"≧\",GreaterGreater:\"⪢\",GreaterLess:\"≷\",GreaterSlantEqual:\"⩾\",GreaterTilde:\"≳\",Gscr:\"𝒢\",gscr:\"ℊ\",gsim:\"≳\",gsime:\"⪎\",gsiml:\"⪐\",gtcc:\"⪧\",gtcir:\"⩺\",gt:\">\",GT:\">\",Gt:\"≫\",gtdot:\"⋗\",gtlPar:\"⦕\",gtquest:\"⩼\",gtrapprox:\"⪆\",gtrarr:\"⥸\",gtrdot:\"⋗\",gtreqless:\"⋛\",gtreqqless:\"⪌\",gtrless:\"≷\",gtrsim:\"≳\",gvertneqq:\"≩︀\",gvnE:\"≩︀\",Hacek:\"ˇ\",hairsp:\" \",half:\"½\",hamilt:\"ℋ\",HARDcy:\"Ъ\",hardcy:\"ъ\",harrcir:\"⥈\",harr:\"↔\",hArr:\"⇔\",harrw:\"↭\",Hat:\"^\",hbar:\"ℏ\",Hcirc:\"Ĥ\",hcirc:\"ĥ\",hearts:\"♥\",heartsuit:\"♥\",hellip:\"…\",hercon:\"⊹\",hfr:\"𝔥\",Hfr:\"ℌ\",HilbertSpace:\"ℋ\",hksearow:\"⤥\",hkswarow:\"⤦\",hoarr:\"⇿\",homtht:\"∻\",hookleftarrow:\"↩\",hookrightarrow:\"↪\",hopf:\"𝕙\",Hopf:\"ℍ\",horbar:\"―\",HorizontalLine:\"─\",hscr:\"𝒽\",Hscr:\"ℋ\",hslash:\"ℏ\",Hstrok:\"Ħ\",hstrok:\"ħ\",HumpDownHump:\"≎\",HumpEqual:\"≏\",hybull:\"⁃\",hyphen:\"‐\",Iacute:\"Í\",iacute:\"í\",ic:\"⁣\",Icirc:\"Î\",icirc:\"î\",Icy:\"И\",icy:\"и\",Idot:\"İ\",IEcy:\"Е\",iecy:\"е\",iexcl:\"¡\",iff:\"⇔\",ifr:\"𝔦\",Ifr:\"ℑ\",Igrave:\"Ì\",igrave:\"ì\",ii:\"ⅈ\",iiiint:\"⨌\",iiint:\"∭\",iinfin:\"⧜\",iiota:\"℩\",IJlig:\"Ĳ\",ijlig:\"ĳ\",Imacr:\"Ī\",imacr:\"ī\",image:\"ℑ\",ImaginaryI:\"ⅈ\",imagline:\"ℐ\",imagpart:\"ℑ\",imath:\"ı\",Im:\"ℑ\",imof:\"⊷\",imped:\"Ƶ\",Implies:\"⇒\",incare:\"℅\",in:\"∈\",infin:\"∞\",infintie:\"⧝\",inodot:\"ı\",intcal:\"⊺\",int:\"∫\",Int:\"∬\",integers:\"ℤ\",Integral:\"∫\",intercal:\"⊺\",Intersection:\"⋂\",intlarhk:\"⨗\",intprod:\"⨼\",InvisibleComma:\"⁣\",InvisibleTimes:\"⁢\",IOcy:\"Ё\",iocy:\"ё\",Iogon:\"Į\",iogon:\"į\",Iopf:\"𝕀\",iopf:\"𝕚\",Iota:\"Ι\",iota:\"ι\",iprod:\"⨼\",iquest:\"¿\",iscr:\"𝒾\",Iscr:\"ℐ\",isin:\"∈\",isindot:\"⋵\",isinE:\"⋹\",isins:\"⋴\",isinsv:\"⋳\",isinv:\"∈\",it:\"⁢\",Itilde:\"Ĩ\",itilde:\"ĩ\",Iukcy:\"І\",iukcy:\"і\",Iuml:\"Ï\",iuml:\"ï\",Jcirc:\"Ĵ\",jcirc:\"ĵ\",Jcy:\"Й\",jcy:\"й\",Jfr:\"𝔍\",jfr:\"𝔧\",jmath:\"ȷ\",Jopf:\"𝕁\",jopf:\"𝕛\",Jscr:\"𝒥\",jscr:\"𝒿\",Jsercy:\"Ј\",jsercy:\"ј\",Jukcy:\"Є\",jukcy:\"є\",Kappa:\"Κ\",kappa:\"κ\",kappav:\"ϰ\",Kcedil:\"Ķ\",kcedil:\"ķ\",Kcy:\"К\",kcy:\"к\",Kfr:\"𝔎\",kfr:\"𝔨\",kgreen:\"ĸ\",KHcy:\"Х\",khcy:\"х\",KJcy:\"Ќ\",kjcy:\"ќ\",Kopf:\"𝕂\",kopf:\"𝕜\",Kscr:\"𝒦\",kscr:\"𝓀\",lAarr:\"⇚\",Lacute:\"Ĺ\",lacute:\"ĺ\",laemptyv:\"⦴\",lagran:\"ℒ\",Lambda:\"Λ\",lambda:\"λ\",lang:\"⟨\",Lang:\"⟪\",langd:\"⦑\",langle:\"⟨\",lap:\"⪅\",Laplacetrf:\"ℒ\",laquo:\"«\",larrb:\"⇤\",larrbfs:\"⤟\",larr:\"←\",Larr:\"↞\",lArr:\"⇐\",larrfs:\"⤝\",larrhk:\"↩\",larrlp:\"↫\",larrpl:\"⤹\",larrsim:\"⥳\",larrtl:\"↢\",latail:\"⤙\",lAtail:\"⤛\",lat:\"⪫\",late:\"⪭\",lates:\"⪭︀\",lbarr:\"⤌\",lBarr:\"⤎\",lbbrk:\"❲\",lbrace:\"{\",lbrack:\"[\",lbrke:\"⦋\",lbrksld:\"⦏\",lbrkslu:\"⦍\",Lcaron:\"Ľ\",lcaron:\"ľ\",Lcedil:\"Ļ\",lcedil:\"ļ\",lceil:\"⌈\",lcub:\"{\",Lcy:\"Л\",lcy:\"л\",ldca:\"⤶\",ldquo:\"“\",ldquor:\"„\",ldrdhar:\"⥧\",ldrushar:\"⥋\",ldsh:\"↲\",le:\"≤\",lE:\"≦\",LeftAngleBracket:\"⟨\",LeftArrowBar:\"⇤\",leftarrow:\"←\",LeftArrow:\"←\",Leftarrow:\"⇐\",LeftArrowRightArrow:\"⇆\",leftarrowtail:\"↢\",LeftCeiling:\"⌈\",LeftDoubleBracket:\"⟦\",LeftDownTeeVector:\"⥡\",LeftDownVectorBar:\"⥙\",LeftDownVector:\"⇃\",LeftFloor:\"⌊\",leftharpoondown:\"↽\",leftharpoonup:\"↼\",leftleftarrows:\"⇇\",leftrightarrow:\"↔\",LeftRightArrow:\"↔\",Leftrightarrow:\"⇔\",leftrightarrows:\"⇆\",leftrightharpoons:\"⇋\",leftrightsquigarrow:\"↭\",LeftRightVector:\"⥎\",LeftTeeArrow:\"↤\",LeftTee:\"⊣\",LeftTeeVector:\"⥚\",leftthreetimes:\"⋋\",LeftTriangleBar:\"⧏\",LeftTriangle:\"⊲\",LeftTriangleEqual:\"⊴\",LeftUpDownVector:\"⥑\",LeftUpTeeVector:\"⥠\",LeftUpVectorBar:\"⥘\",LeftUpVector:\"↿\",LeftVectorBar:\"⥒\",LeftVector:\"↼\",lEg:\"⪋\",leg:\"⋚\",leq:\"≤\",leqq:\"≦\",leqslant:\"⩽\",lescc:\"⪨\",les:\"⩽\",lesdot:\"⩿\",lesdoto:\"⪁\",lesdotor:\"⪃\",lesg:\"⋚︀\",lesges:\"⪓\",lessapprox:\"⪅\",lessdot:\"⋖\",lesseqgtr:\"⋚\",lesseqqgtr:\"⪋\",LessEqualGreater:\"⋚\",LessFullEqual:\"≦\",LessGreater:\"≶\",lessgtr:\"≶\",LessLess:\"⪡\",lesssim:\"≲\",LessSlantEqual:\"⩽\",LessTilde:\"≲\",lfisht:\"⥼\",lfloor:\"⌊\",Lfr:\"𝔏\",lfr:\"𝔩\",lg:\"≶\",lgE:\"⪑\",lHar:\"⥢\",lhard:\"↽\",lharu:\"↼\",lharul:\"⥪\",lhblk:\"▄\",LJcy:\"Љ\",ljcy:\"љ\",llarr:\"⇇\",ll:\"≪\",Ll:\"⋘\",llcorner:\"⌞\",Lleftarrow:\"⇚\",llhard:\"⥫\",lltri:\"◺\",Lmidot:\"Ŀ\",lmidot:\"ŀ\",lmoustache:\"⎰\",lmoust:\"⎰\",lnap:\"⪉\",lnapprox:\"⪉\",lne:\"⪇\",lnE:\"≨\",lneq:\"⪇\",lneqq:\"≨\",lnsim:\"⋦\",loang:\"⟬\",loarr:\"⇽\",lobrk:\"⟦\",longleftarrow:\"⟵\",LongLeftArrow:\"⟵\",Longleftarrow:\"⟸\",longleftrightarrow:\"⟷\",LongLeftRightArrow:\"⟷\",Longleftrightarrow:\"⟺\",longmapsto:\"⟼\",longrightarrow:\"⟶\",LongRightArrow:\"⟶\",Longrightarrow:\"⟹\",looparrowleft:\"↫\",looparrowright:\"↬\",lopar:\"⦅\",Lopf:\"𝕃\",lopf:\"𝕝\",loplus:\"⨭\",lotimes:\"⨴\",lowast:\"∗\",lowbar:\"_\",LowerLeftArrow:\"↙\",LowerRightArrow:\"↘\",loz:\"◊\",lozenge:\"◊\",lozf:\"⧫\",lpar:\"(\",lparlt:\"⦓\",lrarr:\"⇆\",lrcorner:\"⌟\",lrhar:\"⇋\",lrhard:\"⥭\",lrm:\"‎\",lrtri:\"⊿\",lsaquo:\"‹\",lscr:\"𝓁\",Lscr:\"ℒ\",lsh:\"↰\",Lsh:\"↰\",lsim:\"≲\",lsime:\"⪍\",lsimg:\"⪏\",lsqb:\"[\",lsquo:\"‘\",lsquor:\"‚\",Lstrok:\"Ł\",lstrok:\"ł\",ltcc:\"⪦\",ltcir:\"⩹\",lt:\"<\",LT:\"<\",Lt:\"≪\",ltdot:\"⋖\",lthree:\"⋋\",ltimes:\"⋉\",ltlarr:\"⥶\",ltquest:\"⩻\",ltri:\"◃\",ltrie:\"⊴\",ltrif:\"◂\",ltrPar:\"⦖\",lurdshar:\"⥊\",luruhar:\"⥦\",lvertneqq:\"≨︀\",lvnE:\"≨︀\",macr:\"¯\",male:\"♂\",malt:\"✠\",maltese:\"✠\",Map:\"⤅\",map:\"↦\",mapsto:\"↦\",mapstodown:\"↧\",mapstoleft:\"↤\",mapstoup:\"↥\",marker:\"▮\",mcomma:\"⨩\",Mcy:\"М\",mcy:\"м\",mdash:\"—\",mDDot:\"∺\",measuredangle:\"∡\",MediumSpace:\" \",Mellintrf:\"ℳ\",Mfr:\"𝔐\",mfr:\"𝔪\",mho:\"℧\",micro:\"µ\",midast:\"*\",midcir:\"⫰\",mid:\"∣\",middot:\"·\",minusb:\"⊟\",minus:\"−\",minusd:\"∸\",minusdu:\"⨪\",MinusPlus:\"∓\",mlcp:\"⫛\",mldr:\"…\",mnplus:\"∓\",models:\"⊧\",Mopf:\"𝕄\",mopf:\"𝕞\",mp:\"∓\",mscr:\"𝓂\",Mscr:\"ℳ\",mstpos:\"∾\",Mu:\"Μ\",mu:\"μ\",multimap:\"⊸\",mumap:\"⊸\",nabla:\"∇\",Nacute:\"Ń\",nacute:\"ń\",nang:\"∠⃒\",nap:\"≉\",napE:\"⩰̸\",napid:\"≋̸\",napos:\"ŉ\",napprox:\"≉\",natural:\"♮\",naturals:\"ℕ\",natur:\"♮\",nbsp:\" \",nbump:\"≎̸\",nbumpe:\"≏̸\",ncap:\"⩃\",Ncaron:\"Ň\",ncaron:\"ň\",Ncedil:\"Ņ\",ncedil:\"ņ\",ncong:\"≇\",ncongdot:\"⩭̸\",ncup:\"⩂\",Ncy:\"Н\",ncy:\"н\",ndash:\"–\",nearhk:\"⤤\",nearr:\"↗\",neArr:\"⇗\",nearrow:\"↗\",ne:\"≠\",nedot:\"≐̸\",NegativeMediumSpace:\"​\",NegativeThickSpace:\"​\",NegativeThinSpace:\"​\",NegativeVeryThinSpace:\"​\",nequiv:\"≢\",nesear:\"⤨\",nesim:\"≂̸\",NestedGreaterGreater:\"≫\",NestedLessLess:\"≪\",NewLine:\"\\n\",nexist:\"∄\",nexists:\"∄\",Nfr:\"𝔑\",nfr:\"𝔫\",ngE:\"≧̸\",nge:\"≱\",ngeq:\"≱\",ngeqq:\"≧̸\",ngeqslant:\"⩾̸\",nges:\"⩾̸\",nGg:\"⋙̸\",ngsim:\"≵\",nGt:\"≫⃒\",ngt:\"≯\",ngtr:\"≯\",nGtv:\"≫̸\",nharr:\"↮\",nhArr:\"⇎\",nhpar:\"⫲\",ni:\"∋\",nis:\"⋼\",nisd:\"⋺\",niv:\"∋\",NJcy:\"Њ\",njcy:\"њ\",nlarr:\"↚\",nlArr:\"⇍\",nldr:\"‥\",nlE:\"≦̸\",nle:\"≰\",nleftarrow:\"↚\",nLeftarrow:\"⇍\",nleftrightarrow:\"↮\",nLeftrightarrow:\"⇎\",nleq:\"≰\",nleqq:\"≦̸\",nleqslant:\"⩽̸\",nles:\"⩽̸\",nless:\"≮\",nLl:\"⋘̸\",nlsim:\"≴\",nLt:\"≪⃒\",nlt:\"≮\",nltri:\"⋪\",nltrie:\"⋬\",nLtv:\"≪̸\",nmid:\"∤\",NoBreak:\"⁠\",NonBreakingSpace:\" \",nopf:\"𝕟\",Nopf:\"ℕ\",Not:\"⫬\",not:\"¬\",NotCongruent:\"≢\",NotCupCap:\"≭\",NotDoubleVerticalBar:\"∦\",NotElement:\"∉\",NotEqual:\"≠\",NotEqualTilde:\"≂̸\",NotExists:\"∄\",NotGreater:\"≯\",NotGreaterEqual:\"≱\",NotGreaterFullEqual:\"≧̸\",NotGreaterGreater:\"≫̸\",NotGreaterLess:\"≹\",NotGreaterSlantEqual:\"⩾̸\",NotGreaterTilde:\"≵\",NotHumpDownHump:\"≎̸\",NotHumpEqual:\"≏̸\",notin:\"∉\",notindot:\"⋵̸\",notinE:\"⋹̸\",notinva:\"∉\",notinvb:\"⋷\",notinvc:\"⋶\",NotLeftTriangleBar:\"⧏̸\",NotLeftTriangle:\"⋪\",NotLeftTriangleEqual:\"⋬\",NotLess:\"≮\",NotLessEqual:\"≰\",NotLessGreater:\"≸\",NotLessLess:\"≪̸\",NotLessSlantEqual:\"⩽̸\",NotLessTilde:\"≴\",NotNestedGreaterGreater:\"⪢̸\",NotNestedLessLess:\"⪡̸\",notni:\"∌\",notniva:\"∌\",notnivb:\"⋾\",notnivc:\"⋽\",NotPrecedes:\"⊀\",NotPrecedesEqual:\"⪯̸\",NotPrecedesSlantEqual:\"⋠\",NotReverseElement:\"∌\",NotRightTriangleBar:\"⧐̸\",NotRightTriangle:\"⋫\",NotRightTriangleEqual:\"⋭\",NotSquareSubset:\"⊏̸\",NotSquareSubsetEqual:\"⋢\",NotSquareSuperset:\"⊐̸\",NotSquareSupersetEqual:\"⋣\",NotSubset:\"⊂⃒\",NotSubsetEqual:\"⊈\",NotSucceeds:\"⊁\",NotSucceedsEqual:\"⪰̸\",NotSucceedsSlantEqual:\"⋡\",NotSucceedsTilde:\"≿̸\",NotSuperset:\"⊃⃒\",NotSupersetEqual:\"⊉\",NotTilde:\"≁\",NotTildeEqual:\"≄\",NotTildeFullEqual:\"≇\",NotTildeTilde:\"≉\",NotVerticalBar:\"∤\",nparallel:\"∦\",npar:\"∦\",nparsl:\"⫽⃥\",npart:\"∂̸\",npolint:\"⨔\",npr:\"⊀\",nprcue:\"⋠\",nprec:\"⊀\",npreceq:\"⪯̸\",npre:\"⪯̸\",nrarrc:\"⤳̸\",nrarr:\"↛\",nrArr:\"⇏\",nrarrw:\"↝̸\",nrightarrow:\"↛\",nRightarrow:\"⇏\",nrtri:\"⋫\",nrtrie:\"⋭\",nsc:\"⊁\",nsccue:\"⋡\",nsce:\"⪰̸\",Nscr:\"𝒩\",nscr:\"𝓃\",nshortmid:\"∤\",nshortparallel:\"∦\",nsim:\"≁\",nsime:\"≄\",nsimeq:\"≄\",nsmid:\"∤\",nspar:\"∦\",nsqsube:\"⋢\",nsqsupe:\"⋣\",nsub:\"⊄\",nsubE:\"⫅̸\",nsube:\"⊈\",nsubset:\"⊂⃒\",nsubseteq:\"⊈\",nsubseteqq:\"⫅̸\",nsucc:\"⊁\",nsucceq:\"⪰̸\",nsup:\"⊅\",nsupE:\"⫆̸\",nsupe:\"⊉\",nsupset:\"⊃⃒\",nsupseteq:\"⊉\",nsupseteqq:\"⫆̸\",ntgl:\"≹\",Ntilde:\"Ñ\",ntilde:\"ñ\",ntlg:\"≸\",ntriangleleft:\"⋪\",ntrianglelefteq:\"⋬\",ntriangleright:\"⋫\",ntrianglerighteq:\"⋭\",Nu:\"Ν\",nu:\"ν\",num:\"#\",numero:\"№\",numsp:\" \",nvap:\"≍⃒\",nvdash:\"⊬\",nvDash:\"⊭\",nVdash:\"⊮\",nVDash:\"⊯\",nvge:\"≥⃒\",nvgt:\">⃒\",nvHarr:\"⤄\",nvinfin:\"⧞\",nvlArr:\"⤂\",nvle:\"≤⃒\",nvlt:\"<⃒\",nvltrie:\"⊴⃒\",nvrArr:\"⤃\",nvrtrie:\"⊵⃒\",nvsim:\"∼⃒\",nwarhk:\"⤣\",nwarr:\"↖\",nwArr:\"⇖\",nwarrow:\"↖\",nwnear:\"⤧\",Oacute:\"Ó\",oacute:\"ó\",oast:\"⊛\",Ocirc:\"Ô\",ocirc:\"ô\",ocir:\"⊚\",Ocy:\"О\",ocy:\"о\",odash:\"⊝\",Odblac:\"Ő\",odblac:\"ő\",odiv:\"⨸\",odot:\"⊙\",odsold:\"⦼\",OElig:\"Œ\",oelig:\"œ\",ofcir:\"⦿\",Ofr:\"𝔒\",ofr:\"𝔬\",ogon:\"˛\",Ograve:\"Ò\",ograve:\"ò\",ogt:\"⧁\",ohbar:\"⦵\",ohm:\"Ω\",oint:\"∮\",olarr:\"↺\",olcir:\"⦾\",olcross:\"⦻\",oline:\"‾\",olt:\"⧀\",Omacr:\"Ō\",omacr:\"ō\",Omega:\"Ω\",omega:\"ω\",Omicron:\"Ο\",omicron:\"ο\",omid:\"⦶\",ominus:\"⊖\",Oopf:\"𝕆\",oopf:\"𝕠\",opar:\"⦷\",OpenCurlyDoubleQuote:\"“\",OpenCurlyQuote:\"‘\",operp:\"⦹\",oplus:\"⊕\",orarr:\"↻\",Or:\"⩔\",or:\"∨\",ord:\"⩝\",order:\"ℴ\",orderof:\"ℴ\",ordf:\"ª\",ordm:\"º\",origof:\"⊶\",oror:\"⩖\",orslope:\"⩗\",orv:\"⩛\",oS:\"Ⓢ\",Oscr:\"𝒪\",oscr:\"ℴ\",Oslash:\"Ø\",oslash:\"ø\",osol:\"⊘\",Otilde:\"Õ\",otilde:\"õ\",otimesas:\"⨶\",Otimes:\"⨷\",otimes:\"⊗\",Ouml:\"Ö\",ouml:\"ö\",ovbar:\"⌽\",OverBar:\"‾\",OverBrace:\"⏞\",OverBracket:\"⎴\",OverParenthesis:\"⏜\",para:\"¶\",parallel:\"∥\",par:\"∥\",parsim:\"⫳\",parsl:\"⫽\",part:\"∂\",PartialD:\"∂\",Pcy:\"П\",pcy:\"п\",percnt:\"%\",period:\".\",permil:\"‰\",perp:\"⊥\",pertenk:\"‱\",Pfr:\"𝔓\",pfr:\"𝔭\",Phi:\"Φ\",phi:\"φ\",phiv:\"ϕ\",phmmat:\"ℳ\",phone:\"☎\",Pi:\"Π\",pi:\"π\",pitchfork:\"⋔\",piv:\"ϖ\",planck:\"ℏ\",planckh:\"ℎ\",plankv:\"ℏ\",plusacir:\"⨣\",plusb:\"⊞\",pluscir:\"⨢\",plus:\"+\",plusdo:\"∔\",plusdu:\"⨥\",pluse:\"⩲\",PlusMinus:\"±\",plusmn:\"±\",plussim:\"⨦\",plustwo:\"⨧\",pm:\"±\",Poincareplane:\"ℌ\",pointint:\"⨕\",popf:\"𝕡\",Popf:\"ℙ\",pound:\"£\",prap:\"⪷\",Pr:\"⪻\",pr:\"≺\",prcue:\"≼\",precapprox:\"⪷\",prec:\"≺\",preccurlyeq:\"≼\",Precedes:\"≺\",PrecedesEqual:\"⪯\",PrecedesSlantEqual:\"≼\",PrecedesTilde:\"≾\",preceq:\"⪯\",precnapprox:\"⪹\",precneqq:\"⪵\",precnsim:\"⋨\",pre:\"⪯\",prE:\"⪳\",precsim:\"≾\",prime:\"′\",Prime:\"″\",primes:\"ℙ\",prnap:\"⪹\",prnE:\"⪵\",prnsim:\"⋨\",prod:\"∏\",Product:\"∏\",profalar:\"⌮\",profline:\"⌒\",profsurf:\"⌓\",prop:\"∝\",Proportional:\"∝\",Proportion:\"∷\",propto:\"∝\",prsim:\"≾\",prurel:\"⊰\",Pscr:\"𝒫\",pscr:\"𝓅\",Psi:\"Ψ\",psi:\"ψ\",puncsp:\" \",Qfr:\"𝔔\",qfr:\"𝔮\",qint:\"⨌\",qopf:\"𝕢\",Qopf:\"ℚ\",qprime:\"⁗\",Qscr:\"𝒬\",qscr:\"𝓆\",quaternions:\"ℍ\",quatint:\"⨖\",quest:\"?\",questeq:\"≟\",quot:'\"',QUOT:'\"',rAarr:\"⇛\",race:\"∽̱\",Racute:\"Ŕ\",racute:\"ŕ\",radic:\"√\",raemptyv:\"⦳\",rang:\"⟩\",Rang:\"⟫\",rangd:\"⦒\",range:\"⦥\",rangle:\"⟩\",raquo:\"»\",rarrap:\"⥵\",rarrb:\"⇥\",rarrbfs:\"⤠\",rarrc:\"⤳\",rarr:\"→\",Rarr:\"↠\",rArr:\"⇒\",rarrfs:\"⤞\",rarrhk:\"↪\",rarrlp:\"↬\",rarrpl:\"⥅\",rarrsim:\"⥴\",Rarrtl:\"⤖\",rarrtl:\"↣\",rarrw:\"↝\",ratail:\"⤚\",rAtail:\"⤜\",ratio:\"∶\",rationals:\"ℚ\",rbarr:\"⤍\",rBarr:\"⤏\",RBarr:\"⤐\",rbbrk:\"❳\",rbrace:\"}\",rbrack:\"]\",rbrke:\"⦌\",rbrksld:\"⦎\",rbrkslu:\"⦐\",Rcaron:\"Ř\",rcaron:\"ř\",Rcedil:\"Ŗ\",rcedil:\"ŗ\",rceil:\"⌉\",rcub:\"}\",Rcy:\"Р\",rcy:\"р\",rdca:\"⤷\",rdldhar:\"⥩\",rdquo:\"”\",rdquor:\"”\",rdsh:\"↳\",real:\"ℜ\",realine:\"ℛ\",realpart:\"ℜ\",reals:\"ℝ\",Re:\"ℜ\",rect:\"▭\",reg:\"®\",REG:\"®\",ReverseElement:\"∋\",ReverseEquilibrium:\"⇋\",ReverseUpEquilibrium:\"⥯\",rfisht:\"⥽\",rfloor:\"⌋\",rfr:\"𝔯\",Rfr:\"ℜ\",rHar:\"⥤\",rhard:\"⇁\",rharu:\"⇀\",rharul:\"⥬\",Rho:\"Ρ\",rho:\"ρ\",rhov:\"ϱ\",RightAngleBracket:\"⟩\",RightArrowBar:\"⇥\",rightarrow:\"→\",RightArrow:\"→\",Rightarrow:\"⇒\",RightArrowLeftArrow:\"⇄\",rightarrowtail:\"↣\",RightCeiling:\"⌉\",RightDoubleBracket:\"⟧\",RightDownTeeVector:\"⥝\",RightDownVectorBar:\"⥕\",RightDownVector:\"⇂\",RightFloor:\"⌋\",rightharpoondown:\"⇁\",rightharpoonup:\"⇀\",rightleftarrows:\"⇄\",rightleftharpoons:\"⇌\",rightrightarrows:\"⇉\",rightsquigarrow:\"↝\",RightTeeArrow:\"↦\",RightTee:\"⊢\",RightTeeVector:\"⥛\",rightthreetimes:\"⋌\",RightTriangleBar:\"⧐\",RightTriangle:\"⊳\",RightTriangleEqual:\"⊵\",RightUpDownVector:\"⥏\",RightUpTeeVector:\"⥜\",RightUpVectorBar:\"⥔\",RightUpVector:\"↾\",RightVectorBar:\"⥓\",RightVector:\"⇀\",ring:\"˚\",risingdotseq:\"≓\",rlarr:\"⇄\",rlhar:\"⇌\",rlm:\"‏\",rmoustache:\"⎱\",rmoust:\"⎱\",rnmid:\"⫮\",roang:\"⟭\",roarr:\"⇾\",robrk:\"⟧\",ropar:\"⦆\",ropf:\"𝕣\",Ropf:\"ℝ\",roplus:\"⨮\",rotimes:\"⨵\",RoundImplies:\"⥰\",rpar:\")\",rpargt:\"⦔\",rppolint:\"⨒\",rrarr:\"⇉\",Rrightarrow:\"⇛\",rsaquo:\"›\",rscr:\"𝓇\",Rscr:\"ℛ\",rsh:\"↱\",Rsh:\"↱\",rsqb:\"]\",rsquo:\"’\",rsquor:\"’\",rthree:\"⋌\",rtimes:\"⋊\",rtri:\"▹\",rtrie:\"⊵\",rtrif:\"▸\",rtriltri:\"⧎\",RuleDelayed:\"⧴\",ruluhar:\"⥨\",rx:\"℞\",Sacute:\"Ś\",sacute:\"ś\",sbquo:\"‚\",scap:\"⪸\",Scaron:\"Š\",scaron:\"š\",Sc:\"⪼\",sc:\"≻\",sccue:\"≽\",sce:\"⪰\",scE:\"⪴\",Scedil:\"Ş\",scedil:\"ş\",Scirc:\"Ŝ\",scirc:\"ŝ\",scnap:\"⪺\",scnE:\"⪶\",scnsim:\"⋩\",scpolint:\"⨓\",scsim:\"≿\",Scy:\"С\",scy:\"с\",sdotb:\"⊡\",sdot:\"⋅\",sdote:\"⩦\",searhk:\"⤥\",searr:\"↘\",seArr:\"⇘\",searrow:\"↘\",sect:\"§\",semi:\";\",seswar:\"⤩\",setminus:\"∖\",setmn:\"∖\",sext:\"✶\",Sfr:\"𝔖\",sfr:\"𝔰\",sfrown:\"⌢\",sharp:\"♯\",SHCHcy:\"Щ\",shchcy:\"щ\",SHcy:\"Ш\",shcy:\"ш\",ShortDownArrow:\"↓\",ShortLeftArrow:\"←\",shortmid:\"∣\",shortparallel:\"∥\",ShortRightArrow:\"→\",ShortUpArrow:\"↑\",shy:\"­\",Sigma:\"Σ\",sigma:\"σ\",sigmaf:\"ς\",sigmav:\"ς\",sim:\"∼\",simdot:\"⩪\",sime:\"≃\",simeq:\"≃\",simg:\"⪞\",simgE:\"⪠\",siml:\"⪝\",simlE:\"⪟\",simne:\"≆\",simplus:\"⨤\",simrarr:\"⥲\",slarr:\"←\",SmallCircle:\"∘\",smallsetminus:\"∖\",smashp:\"⨳\",smeparsl:\"⧤\",smid:\"∣\",smile:\"⌣\",smt:\"⪪\",smte:\"⪬\",smtes:\"⪬︀\",SOFTcy:\"Ь\",softcy:\"ь\",solbar:\"⌿\",solb:\"⧄\",sol:\"/\",Sopf:\"𝕊\",sopf:\"𝕤\",spades:\"♠\",spadesuit:\"♠\",spar:\"∥\",sqcap:\"⊓\",sqcaps:\"⊓︀\",sqcup:\"⊔\",sqcups:\"⊔︀\",Sqrt:\"√\",sqsub:\"⊏\",sqsube:\"⊑\",sqsubset:\"⊏\",sqsubseteq:\"⊑\",sqsup:\"⊐\",sqsupe:\"⊒\",sqsupset:\"⊐\",sqsupseteq:\"⊒\",square:\"□\",Square:\"□\",SquareIntersection:\"⊓\",SquareSubset:\"⊏\",SquareSubsetEqual:\"⊑\",SquareSuperset:\"⊐\",SquareSupersetEqual:\"⊒\",SquareUnion:\"⊔\",squarf:\"▪\",squ:\"□\",squf:\"▪\",srarr:\"→\",Sscr:\"𝒮\",sscr:\"𝓈\",ssetmn:\"∖\",ssmile:\"⌣\",sstarf:\"⋆\",Star:\"⋆\",star:\"☆\",starf:\"★\",straightepsilon:\"ϵ\",straightphi:\"ϕ\",strns:\"¯\",sub:\"⊂\",Sub:\"⋐\",subdot:\"⪽\",subE:\"⫅\",sube:\"⊆\",subedot:\"⫃\",submult:\"⫁\",subnE:\"⫋\",subne:\"⊊\",subplus:\"⪿\",subrarr:\"⥹\",subset:\"⊂\",Subset:\"⋐\",subseteq:\"⊆\",subseteqq:\"⫅\",SubsetEqual:\"⊆\",subsetneq:\"⊊\",subsetneqq:\"⫋\",subsim:\"⫇\",subsub:\"⫕\",subsup:\"⫓\",succapprox:\"⪸\",succ:\"≻\",succcurlyeq:\"≽\",Succeeds:\"≻\",SucceedsEqual:\"⪰\",SucceedsSlantEqual:\"≽\",SucceedsTilde:\"≿\",succeq:\"⪰\",succnapprox:\"⪺\",succneqq:\"⪶\",succnsim:\"⋩\",succsim:\"≿\",SuchThat:\"∋\",sum:\"∑\",Sum:\"∑\",sung:\"♪\",sup1:\"¹\",sup2:\"²\",sup3:\"³\",sup:\"⊃\",Sup:\"⋑\",supdot:\"⪾\",supdsub:\"⫘\",supE:\"⫆\",supe:\"⊇\",supedot:\"⫄\",Superset:\"⊃\",SupersetEqual:\"⊇\",suphsol:\"⟉\",suphsub:\"⫗\",suplarr:\"⥻\",supmult:\"⫂\",supnE:\"⫌\",supne:\"⊋\",supplus:\"⫀\",supset:\"⊃\",Supset:\"⋑\",supseteq:\"⊇\",supseteqq:\"⫆\",supsetneq:\"⊋\",supsetneqq:\"⫌\",supsim:\"⫈\",supsub:\"⫔\",supsup:\"⫖\",swarhk:\"⤦\",swarr:\"↙\",swArr:\"⇙\",swarrow:\"↙\",swnwar:\"⤪\",szlig:\"ß\",Tab:\"\\t\",target:\"⌖\",Tau:\"Τ\",tau:\"τ\",tbrk:\"⎴\",Tcaron:\"Ť\",tcaron:\"ť\",Tcedil:\"Ţ\",tcedil:\"ţ\",Tcy:\"Т\",tcy:\"т\",tdot:\"⃛\",telrec:\"⌕\",Tfr:\"𝔗\",tfr:\"𝔱\",there4:\"∴\",therefore:\"∴\",Therefore:\"∴\",Theta:\"Θ\",theta:\"θ\",thetasym:\"ϑ\",thetav:\"ϑ\",thickapprox:\"≈\",thicksim:\"∼\",ThickSpace:\"  \",ThinSpace:\" \",thinsp:\" \",thkap:\"≈\",thksim:\"∼\",THORN:\"Þ\",thorn:\"þ\",tilde:\"˜\",Tilde:\"∼\",TildeEqual:\"≃\",TildeFullEqual:\"≅\",TildeTilde:\"≈\",timesbar:\"⨱\",timesb:\"⊠\",times:\"×\",timesd:\"⨰\",tint:\"∭\",toea:\"⤨\",topbot:\"⌶\",topcir:\"⫱\",top:\"⊤\",Topf:\"𝕋\",topf:\"𝕥\",topfork:\"⫚\",tosa:\"⤩\",tprime:\"‴\",trade:\"™\",TRADE:\"™\",triangle:\"▵\",triangledown:\"▿\",triangleleft:\"◃\",trianglelefteq:\"⊴\",triangleq:\"≜\",triangleright:\"▹\",trianglerighteq:\"⊵\",tridot:\"◬\",trie:\"≜\",triminus:\"⨺\",TripleDot:\"⃛\",triplus:\"⨹\",trisb:\"⧍\",tritime:\"⨻\",trpezium:\"⏢\",Tscr:\"𝒯\",tscr:\"𝓉\",TScy:\"Ц\",tscy:\"ц\",TSHcy:\"Ћ\",tshcy:\"ћ\",Tstrok:\"Ŧ\",tstrok:\"ŧ\",twixt:\"≬\",twoheadleftarrow:\"↞\",twoheadrightarrow:\"↠\",Uacute:\"Ú\",uacute:\"ú\",uarr:\"↑\",Uarr:\"↟\",uArr:\"⇑\",Uarrocir:\"⥉\",Ubrcy:\"Ў\",ubrcy:\"ў\",Ubreve:\"Ŭ\",ubreve:\"ŭ\",Ucirc:\"Û\",ucirc:\"û\",Ucy:\"У\",ucy:\"у\",udarr:\"⇅\",Udblac:\"Ű\",udblac:\"ű\",udhar:\"⥮\",ufisht:\"⥾\",Ufr:\"𝔘\",ufr:\"𝔲\",Ugrave:\"Ù\",ugrave:\"ù\",uHar:\"⥣\",uharl:\"↿\",uharr:\"↾\",uhblk:\"▀\",ulcorn:\"⌜\",ulcorner:\"⌜\",ulcrop:\"⌏\",ultri:\"◸\",Umacr:\"Ū\",umacr:\"ū\",uml:\"¨\",UnderBar:\"_\",UnderBrace:\"⏟\",UnderBracket:\"⎵\",UnderParenthesis:\"⏝\",Union:\"⋃\",UnionPlus:\"⊎\",Uogon:\"Ų\",uogon:\"ų\",Uopf:\"𝕌\",uopf:\"𝕦\",UpArrowBar:\"⤒\",uparrow:\"↑\",UpArrow:\"↑\",Uparrow:\"⇑\",UpArrowDownArrow:\"⇅\",updownarrow:\"↕\",UpDownArrow:\"↕\",Updownarrow:\"⇕\",UpEquilibrium:\"⥮\",upharpoonleft:\"↿\",upharpoonright:\"↾\",uplus:\"⊎\",UpperLeftArrow:\"↖\",UpperRightArrow:\"↗\",upsi:\"υ\",Upsi:\"ϒ\",upsih:\"ϒ\",Upsilon:\"Υ\",upsilon:\"υ\",UpTeeArrow:\"↥\",UpTee:\"⊥\",upuparrows:\"⇈\",urcorn:\"⌝\",urcorner:\"⌝\",urcrop:\"⌎\",Uring:\"Ů\",uring:\"ů\",urtri:\"◹\",Uscr:\"𝒰\",uscr:\"𝓊\",utdot:\"⋰\",Utilde:\"Ũ\",utilde:\"ũ\",utri:\"▵\",utrif:\"▴\",uuarr:\"⇈\",Uuml:\"Ü\",uuml:\"ü\",uwangle:\"⦧\",vangrt:\"⦜\",varepsilon:\"ϵ\",varkappa:\"ϰ\",varnothing:\"∅\",varphi:\"ϕ\",varpi:\"ϖ\",varpropto:\"∝\",varr:\"↕\",vArr:\"⇕\",varrho:\"ϱ\",varsigma:\"ς\",varsubsetneq:\"⊊︀\",varsubsetneqq:\"⫋︀\",varsupsetneq:\"⊋︀\",varsupsetneqq:\"⫌︀\",vartheta:\"ϑ\",vartriangleleft:\"⊲\",vartriangleright:\"⊳\",vBar:\"⫨\",Vbar:\"⫫\",vBarv:\"⫩\",Vcy:\"В\",vcy:\"в\",vdash:\"⊢\",vDash:\"⊨\",Vdash:\"⊩\",VDash:\"⊫\",Vdashl:\"⫦\",veebar:\"⊻\",vee:\"∨\",Vee:\"⋁\",veeeq:\"≚\",vellip:\"⋮\",verbar:\"|\",Verbar:\"‖\",vert:\"|\",Vert:\"‖\",VerticalBar:\"∣\",VerticalLine:\"|\",VerticalSeparator:\"❘\",VerticalTilde:\"≀\",VeryThinSpace:\" \",Vfr:\"𝔙\",vfr:\"𝔳\",vltri:\"⊲\",vnsub:\"⊂⃒\",vnsup:\"⊃⃒\",Vopf:\"𝕍\",vopf:\"𝕧\",vprop:\"∝\",vrtri:\"⊳\",Vscr:\"𝒱\",vscr:\"𝓋\",vsubnE:\"⫋︀\",vsubne:\"⊊︀\",vsupnE:\"⫌︀\",vsupne:\"⊋︀\",Vvdash:\"⊪\",vzigzag:\"⦚\",Wcirc:\"Ŵ\",wcirc:\"ŵ\",wedbar:\"⩟\",wedge:\"∧\",Wedge:\"⋀\",wedgeq:\"≙\",weierp:\"℘\",Wfr:\"𝔚\",wfr:\"𝔴\",Wopf:\"𝕎\",wopf:\"𝕨\",wp:\"℘\",wr:\"≀\",wreath:\"≀\",Wscr:\"𝒲\",wscr:\"𝓌\",xcap:\"⋂\",xcirc:\"◯\",xcup:\"⋃\",xdtri:\"▽\",Xfr:\"𝔛\",xfr:\"𝔵\",xharr:\"⟷\",xhArr:\"⟺\",Xi:\"Ξ\",xi:\"ξ\",xlarr:\"⟵\",xlArr:\"⟸\",xmap:\"⟼\",xnis:\"⋻\",xodot:\"⨀\",Xopf:\"𝕏\",xopf:\"𝕩\",xoplus:\"⨁\",xotime:\"⨂\",xrarr:\"⟶\",xrArr:\"⟹\",Xscr:\"𝒳\",xscr:\"𝓍\",xsqcup:\"⨆\",xuplus:\"⨄\",xutri:\"△\",xvee:\"⋁\",xwedge:\"⋀\",Yacute:\"Ý\",yacute:\"ý\",YAcy:\"Я\",yacy:\"я\",Ycirc:\"Ŷ\",ycirc:\"ŷ\",Ycy:\"Ы\",ycy:\"ы\",yen:\"¥\",Yfr:\"𝔜\",yfr:\"𝔶\",YIcy:\"Ї\",yicy:\"ї\",Yopf:\"𝕐\",yopf:\"𝕪\",Yscr:\"𝒴\",yscr:\"𝓎\",YUcy:\"Ю\",yucy:\"ю\",yuml:\"ÿ\",Yuml:\"Ÿ\",Zacute:\"Ź\",zacute:\"ź\",Zcaron:\"Ž\",zcaron:\"ž\",Zcy:\"З\",zcy:\"з\",Zdot:\"Ż\",zdot:\"ż\",zeetrf:\"ℨ\",ZeroWidthSpace:\"​\",Zeta:\"Ζ\",zeta:\"ζ\",zfr:\"𝔷\",Zfr:\"ℨ\",ZHcy:\"Ж\",zhcy:\"ж\",zigrarr:\"⇝\",zopf:\"𝕫\",Zopf:\"ℤ\",Zscr:\"𝒵\",zscr:\"𝓏\",zwj:\"‍\",zwnj:\"‌\"}},function(e,t){e.exports={amp:\"&\",apos:\"'\",gt:\">\",lt:\"<\",quot:'\"'}},function(e,t,n){\"use strict\";var r=n(737),i=n(65),o=n(115),a=Array.prototype.indexOf,s=Object.prototype.hasOwnProperty,u=Math.abs,l=Math.floor;e.exports=function(e){var t,n,c,p;if(!r(e))return a.apply(this,arguments);for(n=i(o(this).length),c=arguments[1],c=isNaN(c)?0:c>=0?l(c):i(this.length)-l(u(c)),t=c;t<n;++t)if(s.call(this,t)&&(p=this[t],r(p)))return t;return-1}},function(e,t,n){\"use strict\";e.exports=n(728)()?Array.from:n(729)},function(e,t){function n(e,t){return f.call(e,t)}function r(e){if(Array.isArray(e)){for(var t=new Array(e.length),r=0;r<t.length;r++)t[r]=\"\"+r;return t}if(Object.keys)return Object.keys(e);var t=[];for(var i in e)n(e,i)&&t.push(i);return t}function i(e){switch(typeof e){case\"object\":return JSON.parse(JSON.stringify(e));case\"undefined\":return null;default:return e}}function o(e){for(var t,n=0,r=e.length;n<r;){t=e.charCodeAt(n);{if(!(t>=48&&t<=57))return!1;n++}}return!0}function a(e){return-1===e.indexOf(\"/\")&&-1===e.indexOf(\"~\")?e:e.replace(/~/g,\"~0\").replace(/\\//g,\"~1\")}function s(e){return e.replace(/~1/g,\"/\").replace(/~0/g,\"~\")}function u(e,t){var r;for(var i in e)if(n(e,i)){if(e[i]===t)return a(i)+\"/\";if(\"object\"==typeof e[i]&&\"\"!=(r=u(e[i],t)))return a(i)+\"/\"+r}return\"\"}function l(e,t){if(e===t)return\"/\";var n=u(e,t);if(\"\"===n)throw new Error(\"Object not found in root\");return\"/\"+n}function c(e){if(void 0===e)return!0;if(e)if(Array.isArray(e)){for(var t=0,n=e.length;t<n;t++)if(c(e[t]))return!0}else if(\"object\"==typeof e)for(var i=r(e),o=i.length,t=0;t<o;t++)if(c(e[i[t]]))return!0;return!1}var p=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)},f=Object.prototype.hasOwnProperty;t.hasOwnProperty=n,t._objectKeys=r,t._deepClone=i,t.isInteger=o,t.escapePathComponent=a,t.unescapePathComponent=s,t._getPathRecursive=u,t.getPath=l,t.hasUndefined=c;var h=function(e){function t(t,n,r,i,o){e.call(this,t),this.message=t,this.name=n,this.index=r,this.operation=i,this.tree=o}return p(t,e),t}(Error);t.PatchError=h},function(e,t,n){\"use strict\";function r(e,t){return e===t?0!==e||0!==t||1/e==1/t:e!==e&&t!==t}function i(e,t){if(r(e,t))return!0;if(\"object\"!=typeof e||null===e||\"object\"!=typeof t||null===t)return!1;var n=Object.keys(e),i=Object.keys(t);if(n.length!==i.length)return!1;for(var a=0;a<n.length;a++)if(!o.call(t,n[a])||!r(e[n[a]],t[n[a]]))return!1;return!0}var o=Object.prototype.hasOwnProperty;e.exports=i},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(780),o=r(i),a=n(783),s=r(a),u=n(782),l=r(u),c=n(784),p=r(c),f=n(785),h=r(f),d=n(786),m=r(d),v=n(787),g=r(v),y=n(788),_=r(y),b=n(789),x=r(b),w=n(790),k=r(w),E=n(791),S=r(E),C=n(793),A=r(C),D=n(781),O=r(D),M=[l.default,s.default,p.default,m.default,g.default,_.default,x.default,k.default,S.default,h.default],T=(0,o.default)({prefixMap:O.default.prefixMap,plugins:M},A.default);t.default=T,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e.charAt(0).toUpperCase()+e.slice(1)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=r,e.exports=t.default},function(e,t,n){\"use strict\";var r=n(810);e.exports=r},function(e,t,n){\"use strict\";var r=n(81);e.exports=new r({explicit:[n(828),n(826),n(821)]})},function(e,t,n){var r=n(67),i=n(39),o=r(i,\"Map\");e.exports=o},function(e,t,n){function r(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}var i=n(927),o=n(928),a=n(929),s=n(930),u=n(931);r.prototype.clear=i,r.prototype.delete=o,r.prototype.get=a,r.prototype.has=s,r.prototype.set=u,e.exports=r},function(e,t,n){function r(e){var t=this.__data__=new i(e);this.size=t.size}var i=n(146),o=n(942),a=n(943),s=n(944),u=n(945),l=n(946);r.prototype.clear=o,r.prototype.delete=a,r.prototype.get=s,r.prototype.has=u,r.prototype.set=l,e.exports=r},function(e,t){function n(e,t){for(var n=-1,r=t.length,i=e.length;++n<r;)e[i+n]=t[n];return e}e.exports=n},function(e,t){function n(e){return function(t){return e(t)}}e.exports=n},function(e,t,n){function r(e){var t=new e.constructor(e.byteLength);return new i(t).set(new i(e)),t}var i=n(402);e.exports=r},function(e,t,n){var r=n(427),i=r(Object.getPrototypeOf,Object);e.exports=i},function(e,t,n){var r=n(852),i=n(437),o=Object.prototype,a=o.propertyIsEnumerable,s=Object.getOwnPropertySymbols,u=s?function(e){return null==e?[]:(e=Object(e),r(s(e),function(t){return a.call(e,t)}))}:i;e.exports=u},function(e,t,n){function r(e,t){if(i(e))return!1;var n=typeof e;return!(\"number\"!=n&&\"symbol\"!=n&&\"boolean\"!=n&&null!=e&&!o(e))||(s.test(e)||!a.test(e)||null!=t&&e in Object(t))}var i=n(22),o=n(156),a=/\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,s=/^\\w*$/;e.exports=r},function(e,t,n){(function(e){var r=n(419),i=\"object\"==typeof t&&t&&!t.nodeType&&t,o=i&&\"object\"==typeof e&&e&&!e.nodeType&&e,a=o&&o.exports===i,s=a&&r.process,u=function(){try{return s&&s.binding&&s.binding(\"util\")}catch(e){}}();e.exports=u}).call(t,n(94)(e))},function(e,t,n){var r=n(901),i=n(958),o=r(i);e.exports=o},function(e,t,n){function r(e,t,n){var r=null==e?void 0:i(e,t);return void 0===r?n:r}var i=n(149);e.exports=r},function(e,t){function n(e){return e}e.exports=n},function(e,t,n){var r=n(864),i=n(51),o=Object.prototype,a=o.hasOwnProperty,s=o.propertyIsEnumerable,u=r(function(){return arguments}())?r:function(e){return i(e)&&a.call(e,\"callee\")&&!s.call(e,\"callee\")};e.exports=u},function(e,t,n){(function(e){var r=n(39),i=n(972),o=\"object\"==typeof t&&t&&!t.nodeType&&t,a=o&&\"object\"==typeof e&&e&&!e.nodeType&&e,s=a&&a.exports===o,u=s?r.Buffer:void 0,l=u?u.isBuffer:void 0,c=l||i;e.exports=c}).call(t,n(94)(e))},function(e,t){function n(e){return\"number\"==typeof e&&e>-1&&e%1==0&&e<=r}var r=9007199254740991;e.exports=n},function(e,t,n){function r(e){if(!a(e)||i(e)!=s)return!1;var t=o(e);if(null===t)return!0;var n=p.call(t,\"constructor\")&&t.constructor;return\"function\"==typeof n&&n instanceof n&&c.call(n)==f}var i=n(66),o=n(222),a=n(51),s=\"[object Object]\",u=Function.prototype,l=Object.prototype,c=u.toString,p=l.hasOwnProperty,f=c.call(Object);e.exports=r},function(e,t,n){\"use strict\";(function(t,n){var r,i;r=function(e){if(\"function\"!=typeof e)throw new TypeError(e+\" is not a function\");return e},i=function(e){var t,n,i=document.createTextNode(\"\"),o=0;return new e(function(){var e;if(t)n&&(t=n.concat(t));else{if(!n)return;t=n}if(n=t,t=null,\"function\"==typeof n)return e=n,n=null,void e();for(i.data=o=++o%2;n;)e=n.shift(),n.length||(n=null),e()}).observe(i,{characterData:!0}),function(e){if(r(e),t)return void(\"function\"==typeof t?t=[t,e]:t.push(e));t=e,i.data=o=++o%2}},e.exports=function(){if(\"object\"==typeof t&&t&&\"function\"==typeof t.nextTick)return t.nextTick;if(\"object\"==typeof document&&document){if(\"function\"==typeof MutationObserver)return i(MutationObserver);if(\"function\"==typeof WebKitMutationObserver)return i(WebKitMutationObserver)}return\"function\"==typeof n?function(e){n(r(e))}:\"function\"==typeof setTimeout||\"object\"==typeof setTimeout?function(e){setTimeout(r(e),0)}:null}()}).call(t,n(34),n(509).setImmediate)},function(e,t,n){(function(e){function n(e,t){for(var n=0,r=e.length-1;r>=0;r--){var i=e[r];\".\"===i?e.splice(r,1):\"..\"===i?(e.splice(r,1),n++):n&&(e.splice(r,1),n--)}if(t)for(;n--;n)e.unshift(\"..\");return e}function r(e,t){if(e.filter)return e.filter(t);for(var n=[],r=0;r<e.length;r++)t(e[r],r,e)&&n.push(e[r]);return n}var i=/^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)$/,o=function(e){return i.exec(e).slice(1)};t.resolve=function(){for(var t=\"\",i=!1,o=arguments.length-1;o>=-1&&!i;o--){var a=o>=0?arguments[o]:e.cwd();if(\"string\"!=typeof a)throw new TypeError(\"Arguments to path.resolve must be strings\");a&&(t=a+\"/\"+t,i=\"/\"===a.charAt(0))}return t=n(r(t.split(\"/\"),function(e){return!!e}),!i).join(\"/\"),(i?\"/\":\"\")+t||\".\"},t.normalize=function(e){var i=t.isAbsolute(e),o=\"/\"===a(e,-1);return e=n(r(e.split(\"/\"),function(e){return!!e}),!i).join(\"/\"),e||i||(e=\".\"),e&&o&&(e+=\"/\"),(i?\"/\":\"\")+e},t.isAbsolute=function(e){return\"/\"===e.charAt(0)},t.join=function(){var e=Array.prototype.slice.call(arguments,0);return t.normalize(r(e,function(e,t){if(\"string\"!=typeof e)throw new TypeError(\"Arguments to path.join must be strings\");return e}).join(\"/\"))},t.relative=function(e,n){function r(e){for(var t=0;t<e.length&&\"\"===e[t];t++);for(var n=e.length-1;n>=0&&\"\"===e[n];n--);return t>n?[]:e.slice(t,n-t+1)}e=t.resolve(e).substr(1),n=t.resolve(n).substr(1);for(var i=r(e.split(\"/\")),o=r(n.split(\"/\")),a=Math.min(i.length,o.length),s=a,u=0;u<a;u++)if(i[u]!==o[u]){s=u;break}for(var l=[],u=s;u<i.length;u++)l.push(\"..\");return l=l.concat(o.slice(s)),l.join(\"/\")},t.sep=\"/\",t.delimiter=\":\",t.dirname=function(e){var t=o(e),n=t[0],r=t[1];return n||r?(r&&(r=r.substr(0,r.length-1)),n+r):\".\"},t.basename=function(e,t){var n=o(e)[2];return t&&n.substr(-1*t.length)===t&&(n=n.substr(0,n.length-t.length)),n},t.extname=function(e){return o(e)[3]};var a=\"b\"===\"ab\".substr(-1)?function(e,t,n){return e.substr(t,n)}:function(e,t,n){return t<0&&(t=e.length+t),e.substr(t,n)}}).call(t,n(34))},function(e,t,n){(function(t){(function(){var n,r,i;\"undefined\"!=typeof performance&&null!==performance&&performance.now?e.exports=function(){return performance.now()}:void 0!==t&&null!==t&&t.hrtime?(e.exports=function(){return(n()-i)/1e6},r=t.hrtime,n=function(){var e;return e=r(),1e9*e[0]+e[1]},i=n()):Date.now?(e.exports=function(){return Date.now()-i},i=Date.now()):(e.exports=function(){return(new Date).getTime()-i},i=(new Date).getTime())}).call(this)}).call(t,n(34))},function(e,t,n){\"use strict\";function r(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function o(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}t.__esModule=!0;var a=n(239),s=function(e){return e&&e.__esModule?e:{default:e}}(a),u=function(e){function t(n){r(this,t);var o=i(this,e.call(this,n));return o.type=\"comment\",o}return o(t,e),t}(s.default);t.default=u,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function o(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function s(e){return e.map(function(e){return e.nodes&&(e.nodes=s(e.nodes)),delete e.source,e})}t.__esModule=!0;var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=n(238),c=r(l),p=n(236),f=r(p),h=n(239),d=r(h),m=function(e){function t(){return i(this,t),o(this,e.apply(this,arguments))}return a(t,e),t.prototype.push=function(e){return e.parent=this,this.nodes.push(e),this},t.prototype.each=function(e){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach+=1;var t=this.lastEach;if(this.indexes[t]=0,this.nodes){for(var n=void 0,r=void 0;this.indexes[t]<this.nodes.length&&(n=this.indexes[t],!1!==(r=e(this.nodes[n],n)));)this.indexes[t]+=1;return delete this.indexes[t],r}},t.prototype.walk=function(e){return this.each(function(t,n){var r=e(t,n);return!1!==r&&t.walk&&(r=t.walk(e)),r})},t.prototype.walkDecls=function(e,t){return t?e instanceof RegExp?this.walk(function(n,r){if(\"decl\"===n.type&&e.test(n.prop))return t(n,r)}):this.walk(function(n,r){if(\"decl\"===n.type&&n.prop===e)return t(n,r)}):(t=e,this.walk(function(e,n){if(\"decl\"===e.type)return t(e,n)}))},t.prototype.walkRules=function(e,t){return t?e instanceof RegExp?this.walk(function(n,r){if(\"rule\"===n.type&&e.test(n.selector))return t(n,r)}):this.walk(function(n,r){if(\"rule\"===n.type&&n.selector===e)return t(n,r)}):(t=e,this.walk(function(e,n){if(\"rule\"===e.type)return t(e,n)}))},t.prototype.walkAtRules=function(e,t){return t?e instanceof RegExp?this.walk(function(n,r){if(\"atrule\"===n.type&&e.test(n.name))return t(n,r)}):this.walk(function(n,r){if(\"atrule\"===n.type&&n.name===e)return t(n,r)}):(t=e,this.walk(function(e,n){if(\"atrule\"===e.type)return t(e,n)}))},t.prototype.walkComments=function(e){return this.walk(function(t,n){if(\"comment\"===t.type)return e(t,n)})},t.prototype.append=function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];for(var r=t,i=Array.isArray(r),o=0,r=i?r:r[Symbol.iterator]();;){var a;if(i){if(o>=r.length)break;a=r[o++]}else{if(o=r.next(),o.done)break;a=o.value}for(var s=a,u=this.normalize(s,this.last),l=u,c=Array.isArray(l),p=0,l=c?l:l[Symbol.iterator]();;){var f;if(c){if(p>=l.length)break;f=l[p++]}else{if(p=l.next(),p.done)break;f=p.value}var h=f;this.nodes.push(h)}}return this},t.prototype.prepend=function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];t=t.reverse();for(var r=t,i=Array.isArray(r),o=0,r=i?r:r[Symbol.iterator]();;){var a;if(i){if(o>=r.length)break;a=r[o++]}else{if(o=r.next(),o.done)break;a=o.value}for(var s=a,u=this.normalize(s,this.first,\"prepend\").reverse(),l=u,c=Array.isArray(l),p=0,l=c?l:l[Symbol.iterator]();;){var f;if(c){if(p>=l.length)break;f=l[p++]}else{if(p=l.next(),p.done)break;f=p.value}var h=f;this.nodes.unshift(h)}for(var d in this.indexes)this.indexes[d]=this.indexes[d]+u.length}return this},t.prototype.cleanRaws=function(t){if(e.prototype.cleanRaws.call(this,t),this.nodes)for(var n=this.nodes,r=Array.isArray(n),i=0,n=r?n:n[Symbol.iterator]();;){var o;if(r){if(i>=n.length)break;o=n[i++]}else{if(i=n.next(),i.done)break;o=i.value}var a=o;a.cleanRaws(t)}},t.prototype.insertBefore=function(e,t){e=this.index(e);for(var n=0===e&&\"prepend\",r=this.normalize(t,this.nodes[e],n).reverse(),i=r,o=Array.isArray(i),a=0,i=o?i:i[Symbol.iterator]();;){var s;if(o){if(a>=i.length)break;s=i[a++]}else{if(a=i.next(),a.done)break;s=a.value}var u=s;this.nodes.splice(e,0,u)}var l=void 0;for(var c in this.indexes)l=this.indexes[c],e<=l&&(this.indexes[c]=l+r.length);return this},t.prototype.insertAfter=function(e,t){e=this.index(e);for(var n=this.normalize(t,this.nodes[e]).reverse(),r=n,i=Array.isArray(r),o=0,r=i?r:r[Symbol.iterator]();;){var a;if(i){if(o>=r.length)break;a=r[o++]}else{if(o=r.next(),o.done)break;a=o.value}var s=a;this.nodes.splice(e+1,0,s)}var u=void 0;for(var l in this.indexes)u=this.indexes[l],e<u&&(this.indexes[l]=u+n.length);return this},t.prototype.removeChild=function(e){e=this.index(e),this.nodes[e].parent=void 0,this.nodes.splice(e,1);var t=void 0;for(var n in this.indexes)(t=this.indexes[n])>=e&&(this.indexes[n]=t-1);return this},t.prototype.removeAll=function(){for(var e=this.nodes,t=Array.isArray(e),n=0,e=t?e:e[Symbol.iterator]();;){var r;if(t){if(n>=e.length)break;r=e[n++]}else{if(n=e.next(),n.done)break;r=n.value}r.parent=void 0}return this.nodes=[],this},t.prototype.replaceValues=function(e,t,n){return n||(n=t,t={}),this.walkDecls(function(r){t.props&&-1===t.props.indexOf(r.prop)||t.fast&&-1===r.value.indexOf(t.fast)||(r.value=r.value.replace(e,n))}),this},t.prototype.every=function(e){return this.nodes.every(e)},t.prototype.some=function(e){return this.nodes.some(e)},t.prototype.index=function(e){return\"number\"==typeof e?e:this.nodes.indexOf(e)},t.prototype.normalize=function(e,t){var r=this;if(\"string\"==typeof e){e=s(n(240)(e).nodes)}else if(Array.isArray(e)){e=e.slice(0);for(var i=e,o=Array.isArray(i),a=0,i=o?i:i[Symbol.iterator]();;){var u;if(o){if(a>=i.length)break;u=i[a++]}else{if(a=i.next(),a.done)break;u=a.value}var l=u;l.parent&&l.parent.removeChild(l,\"ignore\")}}else if(\"root\"===e.type){e=e.nodes.slice(0);for(var p=e,h=Array.isArray(p),d=0,p=h?p:p[Symbol.iterator]();;){var m;if(h){if(d>=p.length)break;m=p[d++]}else{if(d=p.next(),d.done)break;m=d.value}var v=m;v.parent&&v.parent.removeChild(v,\"ignore\")}}else if(e.type)e=[e];else if(e.prop){if(void 0===e.value)throw new Error(\"Value field is missed in node creation\");\"string\"!=typeof e.value&&(e.value=String(e.value)),e=[new c.default(e)]}else if(e.selector){var g=n(158);e=[new g(e)]}else if(e.name){var y=n(157);e=[new y(e)]}else{if(!e.text)throw new Error(\"Unknown node type in node creation\");e=[new f.default(e)]}return e.map(function(e){return\"function\"!=typeof e.before&&(e=r.rebuild(e)),e.parent&&e.parent.removeChild(e),void 0===e.raws.before&&t&&void 0!==t.raws.before&&(e.raws.before=t.raws.before.replace(/[^\\s]/g,\"\")),e.parent=r,e})},t.prototype.rebuild=function(e,t){var r=this,i=void 0;if(\"root\"===e.type){var o=n(241);i=new o}else if(\"atrule\"===e.type){var a=n(157);i=new a}else if(\"rule\"===e.type){var s=n(158);i=new s}else\"decl\"===e.type?i=new c.default:\"comment\"===e.type&&(i=new f.default);for(var u in e)\"nodes\"===u?i.nodes=e.nodes.map(function(e){return r.rebuild(e,i)}):\"parent\"===u&&t?i.parent=t:e.hasOwnProperty(u)&&(i[u]=e[u]);return i},u(t,[{key:\"first\",get:function(){if(this.nodes)return this.nodes[0]}},{key:\"last\",get:function(){if(this.nodes)return this.nodes[this.nodes.length-1]}}]),t}(d.default);t.default=m,e.exports=t.default},function(e,t,n){\"use strict\";function r(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function o(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}t.__esModule=!0;var a=n(239),s=function(e){return e&&e.__esModule?e:{default:e}}(a),u=function(e){function t(n){r(this,t);var o=i(this,e.call(this,n));return o.type=\"decl\",o}return o(t,e),t}(s.default);t.default=u,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}t.__esModule=!0;var o=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},a=n(444),s=r(a),u=n(449),l=r(u),c=n(242),p=r(c),f=n(451),h=r(f),d=function e(t,n){var r=new t.constructor;for(var i in t)if(t.hasOwnProperty(i)){var a=t[i],s=void 0===a?\"undefined\":o(a);\"parent\"===i&&\"object\"===s?n&&(r[i]=n):\"source\"===i?r[i]=a:a instanceof Array?r[i]=a.map(function(t){return e(t,r)}):(\"object\"===s&&null!==a&&(a=e(a)),r[i]=a)}return r},m=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(i(this,e),this.raws={},\"object\"!==(void 0===t?\"undefined\":o(t))&&void 0!==t)throw new Error(\"PostCSS nodes constructor accepts object, not \"+JSON.stringify(t));for(var n in t)this[n]=t[n]}return e.prototype.error=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(this.source){var n=this.positionBy(t);return this.source.input.error(e,n.line,n.column,t)}return new s.default(e)},e.prototype.warn=function(e,t,n){var r={node:this};for(var i in n)r[i]=n[i];return e.warn(t,r)},e.prototype.remove=function(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this},e.prototype.toString=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:p.default;e.stringify&&(e=e.stringify);var t=\"\";return e(this,function(e){t+=e}),t},e.prototype.clone=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=d(this);for(var n in e)t[n]=e[n];return t},e.prototype.cloneBefore=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=this.clone(e);return this.parent.insertBefore(this,t),t},e.prototype.cloneAfter=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=this.clone(e);return this.parent.insertAfter(this,t),t},e.prototype.replaceWith=function(){if(this.parent){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];for(var r=t,i=Array.isArray(r),o=0,r=i?r:r[Symbol.iterator]();;){var a;if(i){if(o>=r.length)break;a=r[o++]}else{if(o=r.next(),o.done)break;a=o.value}var s=a;this.parent.insertBefore(this,s)}this.remove()}return this},e.prototype.moveTo=function(e){return(0,h.default)(\"Node#moveTo was deprecated. Use Container#append.\"),this.cleanRaws(this.root()===e.root()),this.remove(),e.append(this),this},e.prototype.moveBefore=function(e){return(0,h.default)(\"Node#moveBefore was deprecated. Use Node#before.\"),this.cleanRaws(this.root()===e.root()),this.remove(),e.parent.insertBefore(e,this),this},e.prototype.moveAfter=function(e){return(0,h.default)(\"Node#moveAfter was deprecated. Use Node#after.\"),this.cleanRaws(this.root()===e.root()),this.remove(),e.parent.insertAfter(e,this),this},e.prototype.next=function(){var e=this.parent.index(this);return this.parent.nodes[e+1]},e.prototype.prev=function(){var e=this.parent.index(this);return this.parent.nodes[e-1]},e.prototype.before=function(e){return this.parent.insertBefore(this,e),this},e.prototype.after=function(e){return this.parent.insertAfter(this,e),this},e.prototype.toJSON=function(){var e={};for(var t in this)if(this.hasOwnProperty(t)&&\"parent\"!==t){var n=this[t];n instanceof Array?e[t]=n.map(function(e){return\"object\"===(void 0===e?\"undefined\":o(e))&&e.toJSON?e.toJSON():e}):\"object\"===(void 0===n?\"undefined\":o(n))&&n.toJSON?e[t]=n.toJSON():e[t]=n}return e},e.prototype.raw=function(e,t){return(new l.default).raw(this,e,t)},e.prototype.root=function(){for(var e=this;e.parent;)e=e.parent;return e},e.prototype.cleanRaws=function(e){delete this.raws.before,delete this.raws.after,e||delete this.raws.between},e.prototype.positionInside=function(e){for(var t=this.toString(),n=this.source.start.column,r=this.source.start.line,i=0;i<e;i++)\"\\n\"===t[i]?(n=1,r+=1):n+=1;return{line:r,column:n}},e.prototype.positionBy=function(e){var t=this.source.start;if(e.index)t=this.positionInside(e.index);else if(e.word){var n=this.toString().indexOf(e.word);-1!==n&&(t=this.positionInside(n))}return t},e}();t.default=m,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(t&&t.safe)throw new Error('Option safe was removed. Use parser: require(\"postcss-safe-parser\")');var n=new u.default(e,t),r=new a.default(n);try{r.parse()}catch(e){throw\"CssSyntaxError\"===e.name&&t&&t.from&&(/\\.scss$/i.test(t.from)?e.message+=\"\\nYou tried to parse SCSS with the standard CSS parser; try again with the postcss-scss parser\":/\\.sass/i.test(t.from)?e.message+=\"\\nYou tried to parse Sass with the standard CSS parser; try again with the postcss-sass parser\":/\\.less$/i.test(t.from)&&(e.message+=\"\\nYou tried to parse Less with the standard CSS parser; try again with the postcss-less parser\")),e}return r.root}t.__esModule=!0,t.default=i;var o=n(995),a=r(o),s=n(445),u=r(s);e.exports=t.default},function(e,t,n){\"use strict\";function r(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function o(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}t.__esModule=!0;var a=n(237),s=function(e){return e&&e.__esModule?e:{default:e}}(a),u=function(e){function t(n){r(this,t);var o=i(this,e.call(this,n));return o.type=\"root\",o.nodes||(o.nodes=[]),o}return o(t,e),t.prototype.removeChild=function(t,n){var r=this.index(t);return!n&&0===r&&this.nodes.length>1&&(this.nodes[1].raws.before=this.nodes[r].raws.before),e.prototype.removeChild.call(this,t)},t.prototype.normalize=function(t,n,r){var i=e.prototype.normalize.call(this,t);if(n)if(\"prepend\"===r)this.nodes.length>1?n.raws.before=this.nodes[1].raws.before:delete n.raws.before;else if(this.first!==n)for(var o=i,a=Array.isArray(o),s=0,o=a?o:o[Symbol.iterator]();;){var u;if(a){if(s>=o.length)break;u=o[s++]}else{if(s=o.next(),s.done)break;u=s.value}var l=u;l.raws.before=n.raws.before}return i},t.prototype.toResult=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return new(n(446))(new(n(448)),this,e).stringify()},t}(s.default);t.default=u,e.exports=t.default},function(e,t,n){\"use strict\";function r(e,t){new o.default(t).stringify(e)}t.__esModule=!0,t.default=r;var i=n(449),o=function(e){return e&&e.__esModule?e:{default:e}}(i);e.exports=t.default},function(e,t,n){(function(t){for(var r=n(1019),i=\"undefined\"==typeof window?t:window,o=[\"moz\",\"webkit\"],a=\"AnimationFrame\",s=i[\"request\"+a],u=i[\"cancel\"+a]||i[\"cancelRequest\"+a],l=0;!s&&l<o.length;l++)s=i[o[l]+\"Request\"+a],u=i[o[l]+\"Cancel\"+a]||i[o[l]+\"CancelRequest\"+a];if(!s||!u){var c=0,p=0,f=[];s=function(e){if(0===f.length){var t=r(),n=Math.max(0,1e3/60-(t-c));c=n+t,setTimeout(function(){var e=f.slice(0);f.length=0;for(var t=0;t<e.length;t++)if(!e[t].cancelled)try{e[t].callback(c)}catch(e){setTimeout(function(){throw e},0)}},Math.round(n))}return f.push({handle:++p,callback:e,cancelled:!1}),p},u=function(e){for(var t=0;t<f.length;t++)f[t].handle===e&&(f[t].cancelled=!0)}}e.exports=function(e){return s.call(i,e)},e.exports.cancel=function(){u.apply(i,arguments)},e.exports.polyfill=function(e){e||(e=i),e.requestAnimationFrame=s,e.cancelAnimationFrame=u}}).call(t,n(16))},function(e,t,n){\"use strict\";function r(e,t){return Array.isArray(t)&&(t=t[1]),t?t.nextSibling:e.firstChild}function i(e,t,n){c.insertTreeBefore(e,t,n)}function o(e,t,n){Array.isArray(t)?s(e,t[0],t[1],n):m(e,t,n)}function a(e,t){if(Array.isArray(t)){var n=t[1];t=t[0],u(e,t,n),e.removeChild(n)}e.removeChild(t)}function s(e,t,n,r){for(var i=t;;){var o=i.nextSibling;if(m(e,i,r),i===n)break;i=o}}function u(e,t,n){for(;;){var r=t.nextSibling;if(r===n)break;e.removeChild(r)}}function l(e,t,n){var r=e.parentNode,i=e.nextSibling;i===t?n&&m(r,document.createTextNode(n),i):n?(d(i,n),u(r,i,t)):u(r,e,t)}var c=n(88),p=n(1029),f=(n(14),n(41),n(253)),h=n(164),d=n(482),m=f(function(e,t,n){e.insertBefore(t,n)}),v=p.dangerouslyReplaceNodeWithMarkup,g={dangerouslyReplaceNodeWithMarkup:v,replaceDelimitedText:l,processUpdates:function(e,t){for(var n=0;n<t.length;n++){var s=t[n];switch(s.type){case\"INSERT_MARKUP\":i(e,s.content,r(e,s.afterNode));break;case\"MOVE_EXISTING\":o(e,s.fromNode,r(e,s.afterNode));break;case\"SET_MARKUP\":h(e,s.content);break;case\"TEXT_CONTENT\":d(e,s.content);break;case\"REMOVE_NODE\":a(e,s.fromNode)}}}};e.exports=g},function(e,t,n){\"use strict\";var r={html:\"http://www.w3.org/1999/xhtml\",mathml:\"http://www.w3.org/1998/Math/MathML\",svg:\"http://www.w3.org/2000/svg\"};e.exports=r},function(e,t,n){\"use strict\";function r(){if(s)for(var e in u){var t=u[e],n=s.indexOf(e);if(n>-1||a(\"96\",e),!l.plugins[n]){t.extractEvents||a(\"97\",e),l.plugins[n]=t;var r=t.eventTypes;for(var o in r)i(r[o],t,o)||a(\"98\",o,e)}}}function i(e,t,n){l.eventNameDispatchConfigs.hasOwnProperty(n)&&a(\"99\",n),l.eventNameDispatchConfigs[n]=e;var r=e.phasedRegistrationNames;if(r){for(var i in r)if(r.hasOwnProperty(i)){var s=r[i];o(s,t,n)}return!0}return!!e.registrationName&&(o(e.registrationName,t,n),!0)}function o(e,t,n){l.registrationNameModules[e]&&a(\"100\",e),l.registrationNameModules[e]=t,l.registrationNameDependencies[e]=t.eventTypes[n].dependencies}var a=n(11),s=(n(8),null),u={},l={plugins:[],eventNameDispatchConfigs:{},registrationNameModules:{},registrationNameDependencies:{},possibleRegistrationNames:null,injectEventPluginOrder:function(e){s&&a(\"101\"),s=Array.prototype.slice.call(e),r()},injectEventPluginsByName:function(e){var t=!1;for(var n in e)if(e.hasOwnProperty(n)){var i=e[n];u.hasOwnProperty(n)&&u[n]===i||(u[n]&&a(\"102\",n),u[n]=i,t=!0)}t&&r()},getPluginModuleForEvent:function(e){var t=e.dispatchConfig;if(t.registrationName)return l.registrationNameModules[t.registrationName]||null;if(void 0!==t.phasedRegistrationNames){var n=t.phasedRegistrationNames;for(var r in n)if(n.hasOwnProperty(r)){var i=l.registrationNameModules[n[r]];if(i)return i}}return null},_resetEventPlugins:function(){s=null;for(var e in u)u.hasOwnProperty(e)&&delete u[e];l.plugins.length=0;var t=l.eventNameDispatchConfigs;for(var n in t)t.hasOwnProperty(n)&&delete t[n];var r=l.registrationNameModules;for(var i in r)r.hasOwnProperty(i)&&delete r[i]}};e.exports=l},function(e,t,n){\"use strict\";function r(e){return\"topMouseUp\"===e||\"topTouchEnd\"===e||\"topTouchCancel\"===e}function i(e){return\"topMouseMove\"===e||\"topTouchMove\"===e}function o(e){return\"topMouseDown\"===e||\"topTouchStart\"===e}function a(e,t,n,r){var i=e.type||\"unknown-event\";e.currentTarget=g.getNodeFromInstance(r),t?m.invokeGuardedCallbackWithCatch(i,n,e):m.invokeGuardedCallback(i,n,e),e.currentTarget=null}function s(e,t){var n=e._dispatchListeners,r=e._dispatchInstances;if(Array.isArray(n))for(var i=0;i<n.length&&!e.isPropagationStopped();i++)a(e,t,n[i],r[i]);else n&&a(e,t,n,r);e._dispatchListeners=null,e._dispatchInstances=null}function u(e){var t=e._dispatchListeners,n=e._dispatchInstances;if(Array.isArray(t)){for(var r=0;r<t.length&&!e.isPropagationStopped();r++)if(t[r](e,n[r]))return n[r]}else if(t&&t(e,n))return n;return null}function l(e){var t=u(e);return e._dispatchInstances=null,e._dispatchListeners=null,t}function c(e){var t=e._dispatchListeners,n=e._dispatchInstances;Array.isArray(t)&&d(\"103\"),e.currentTarget=t?g.getNodeFromInstance(n):null;var r=t?t(e):null;return e.currentTarget=null,e._dispatchListeners=null,e._dispatchInstances=null,r}function p(e){return!!e._dispatchListeners}var f,h,d=n(11),m=n(251),v=(n(8),n(10),{injectComponentTree:function(e){f=e},injectTreeTraversal:function(e){h=e}}),g={isEndish:r,isMoveish:i,isStartish:o,executeDirectDispatch:c,executeDispatchesInOrder:s,executeDispatchesInOrderStopAtTrue:l,hasDispatches:p,getInstanceFromNode:function(e){return f.getInstanceFromNode(e)},getNodeFromInstance:function(e){return f.getNodeFromInstance(e)},isAncestor:function(e,t){return h.isAncestor(e,t)},getLowestCommonAncestor:function(e,t){return h.getLowestCommonAncestor(e,t)},getParentInstance:function(e){return h.getParentInstance(e)},traverseTwoPhase:function(e,t,n){return h.traverseTwoPhase(e,t,n)},traverseEnterLeave:function(e,t,n,r,i){return h.traverseEnterLeave(e,t,n,r,i)},injection:v};e.exports=g},function(e,t,n){\"use strict\";function r(e){var t={\"=\":\"=0\",\":\":\"=2\"};return\"$\"+(\"\"+e).replace(/[=:]/g,function(e){return t[e]})}function i(e){var t=/(=0|=2)/g,n={\"=0\":\"=\",\"=2\":\":\"};return(\"\"+(\".\"===e[0]&&\"$\"===e[1]?e.substring(2):e.substring(1))).replace(t,function(e){return n[e]})}var o={escape:r,unescape:i};e.exports=o},function(e,t,n){\"use strict\";function r(e){null!=e.checkedLink&&null!=e.valueLink&&s(\"87\")}function i(e){r(e),(null!=e.value||null!=e.onChange)&&s(\"88\")}function o(e){r(e),(null!=e.checked||null!=e.onChange)&&s(\"89\")}function a(e){if(e){var t=e.getName();if(t)return\" Check the render method of `\"+t+\"`.\"}return\"\"}var s=n(11),u=n(1058),l=n(456),c=n(92),p=l(c.isValidElement),f=(n(8),n(10),{button:!0,checkbox:!0,image:!0,hidden:!0,radio:!0,reset:!0,submit:!0}),h={value:function(e,t,n){return!e[t]||f[e.type]||e.onChange||e.readOnly||e.disabled?null:new Error(\"You provided a `value` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultValue`. Otherwise, set either `onChange` or `readOnly`.\")},checked:function(e,t,n){return!e[t]||e.onChange||e.readOnly||e.disabled?null:new Error(\"You provided a `checked` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultChecked`. Otherwise, set either `onChange` or `readOnly`.\")},onChange:p.func},d={},m={checkPropTypes:function(e,t,n){for(var r in h){if(h.hasOwnProperty(r))var i=h[r](t,r,e,\"prop\",null,u);if(i instanceof Error&&!(i.message in d)){d[i.message]=!0;a(n)}}},getValue:function(e){return e.valueLink?(i(e),e.valueLink.value):e.value},getChecked:function(e){return e.checkedLink?(o(e),e.checkedLink.value):e.checked},executeOnChange:function(e,t){return e.valueLink?(i(e),e.valueLink.requestChange(t.target.value)):e.checkedLink?(o(e),e.checkedLink.requestChange(t.target.checked)):e.onChange?e.onChange.call(void 0,t):void 0}};e.exports=m},function(e,t,n){\"use strict\";var r=n(11),i=(n(8),!1),o={replaceNodeWithMarkup:null,processChildrenUpdates:null,injection:{injectEnvironment:function(e){i&&r(\"104\"),o.replaceNodeWithMarkup=e.replaceNodeWithMarkup,o.processChildrenUpdates=e.processChildrenUpdates,i=!0}}};e.exports=o},function(e,t,n){\"use strict\";function r(e,t,n){try{t(n)}catch(e){null===i&&(i=e)}}var i=null,o={invokeGuardedCallback:r,invokeGuardedCallbackWithCatch:r,rethrowCaughtError:function(){if(i){var e=i;throw i=null,e}}};e.exports=o},function(e,t,n){\"use strict\";function r(e){u.enqueueUpdate(e)}function i(e){var t=typeof e;if(\"object\"!==t)return t;var n=e.constructor&&e.constructor.name||t,r=Object.keys(e);return r.length>0&&r.length<20?n+\" (keys: \"+r.join(\", \")+\")\":n}function o(e,t){var n=s.get(e);if(!n){return null}return n}var a=n(11),s=(n(53),n(123)),u=(n(41),n(45)),l=(n(8),n(10),{isMounted:function(e){var t=s.get(e);return!!t&&!!t._renderedComponent},enqueueCallback:function(e,t,n){l.validateCallback(t,n);var i=o(e);if(!i)return null;i._pendingCallbacks?i._pendingCallbacks.push(t):i._pendingCallbacks=[t],r(i)},enqueueCallbackInternal:function(e,t){e._pendingCallbacks?e._pendingCallbacks.push(t):e._pendingCallbacks=[t],r(e)},enqueueForceUpdate:function(e){var t=o(e,\"forceUpdate\");t&&(t._pendingForceUpdate=!0,r(t))},enqueueReplaceState:function(e,t,n){var i=o(e,\"replaceState\");i&&(i._pendingStateQueue=[t],i._pendingReplaceState=!0,void 0!==n&&null!==n&&(l.validateCallback(n,\"replaceState\"),i._pendingCallbacks?i._pendingCallbacks.push(n):i._pendingCallbacks=[n]),r(i))},enqueueSetState:function(e,t){var n=o(e,\"setState\");if(n){(n._pendingStateQueue||(n._pendingStateQueue=[])).push(t),r(n)}},enqueueElementInternal:function(e,t,n){e._pendingElement=t,e._context=n,r(e)},validateCallback:function(e,t){e&&\"function\"!=typeof e&&a(\"122\",t,i(e))}});e.exports=l},function(e,t,n){\"use strict\";var r=function(e){return\"undefined\"!=typeof MSApp&&MSApp.execUnsafeLocalFunction?function(t,n,r,i){MSApp.execUnsafeLocalFunction(function(){return e(t,n,r,i)})}:e};e.exports=r},function(e,t,n){\"use strict\";function r(e){var t,n=e.keyCode;return\"charCode\"in e?0===(t=e.charCode)&&13===n&&(t=13):t=n,t>=32||13===t?t:0}e.exports=r},function(e,t,n){\"use strict\";function r(e){var t=this,n=t.nativeEvent;if(n.getModifierState)return n.getModifierState(e);var r=o[e];return!!r&&!!n[r]}function i(e){return r}var o={Alt:\"altKey\",Control:\"ctrlKey\",Meta:\"metaKey\",Shift:\"shiftKey\"};e.exports=i},function(e,t,n){\"use strict\";function r(e){var t=e.target||e.srcElement||window;return t.correspondingUseElement&&(t=t.correspondingUseElement),3===t.nodeType?t.parentNode:t}e.exports=r},function(e,t,n){\"use strict\";/**\n * Checks if an event is supported in the current execution environment.\n *\n * NOTE: This will not work correctly for non-generic events such as `change`,\n * `reset`, `load`, `error`, and `select`.\n *\n * Borrows from Modernizr.\n *\n * @param {string} eventNameSuffix Event name, e.g. \"click\".\n * @param {?boolean} capture Check if the capture phase is supported.\n * @return {boolean} True if the event is supported.\n * @internal\n * @license Modernizr 3.0.0pre (Custom Build) | MIT\n */\nfunction r(e,t){if(!o.canUseDOM||t&&!(\"addEventListener\"in document))return!1;var n=\"on\"+e,r=n in document;if(!r){var a=document.createElement(\"div\");a.setAttribute(n,\"return;\"),r=\"function\"==typeof a[n]}return!r&&i&&\"wheel\"===e&&(r=document.implementation.hasFeature(\"Events.wheel\",\"3.0\")),r}var i,o=n(25);o.canUseDOM&&(i=document.implementation&&document.implementation.hasFeature&&!0!==document.implementation.hasFeature(\"\",\"\")),e.exports=r},function(e,t,n){\"use strict\";function r(e,t){var n=null===e||!1===e,r=null===t||!1===t;if(n||r)return n===r;var i=typeof e,o=typeof t;return\"string\"===i||\"number\"===i?\"string\"===o||\"number\"===o:\"object\"===o&&e.type===t.type&&e.key===t.key}e.exports=r},function(e,t,n){\"use strict\";var r=(n(13),n(33)),i=(n(10),r);e.exports=i},function(e,t,n){\"use strict\";function r(e){switch(e._type){case\"Document\":case\"BlockQuote\":case\"List\":case\"Item\":case\"Paragraph\":case\"Heading\":case\"Emph\":case\"Strong\":case\"Link\":case\"Image\":case\"CustomInline\":case\"CustomBlock\":return!0;default:return!1}}var i=function(e,t){this.current=e,this.entering=!0===t},o=function(){var e=this.current,t=this.entering;if(null===e)return null;var n=r(e);return t&&n?e._firstChild?(this.current=e._firstChild,this.entering=!0):this.entering=!1:e===this.root?this.current=null:null===e._next?(this.current=e._parent,this.entering=!1):(this.current=e._next,this.entering=!0),{entering:t,node:e}},a=function(e){return{current:e,root:e,entering:!0,next:o,resumeAt:i}},s=function(e,t){this._type=e,this._parent=null,this._firstChild=null,this._lastChild=null,this._prev=null,this._next=null,this._sourcepos=t,this._lastLineBlank=!1,this._open=!0,this._string_content=null,this._literal=null,this._listData={},this._info=null,this._destination=null,this._title=null,this._isFenced=!1,this._fenceChar=null,this._fenceLength=0,this._fenceOffset=null,this._level=null,this._onEnter=null,this._onExit=null},u=s.prototype;Object.defineProperty(u,\"isContainer\",{get:function(){return r(this)}}),Object.defineProperty(u,\"type\",{get:function(){return this._type}}),Object.defineProperty(u,\"firstChild\",{get:function(){return this._firstChild}}),Object.defineProperty(u,\"lastChild\",{get:function(){return this._lastChild}}),Object.defineProperty(u,\"next\",{get:function(){return this._next}}),Object.defineProperty(u,\"prev\",{get:function(){return this._prev}}),Object.defineProperty(u,\"parent\",{get:function(){return this._parent}}),Object.defineProperty(u,\"sourcepos\",{get:function(){return this._sourcepos}}),Object.defineProperty(u,\"literal\",{get:function(){return this._literal},set:function(e){this._literal=e}}),Object.defineProperty(u,\"destination\",{get:function(){return this._destination},set:function(e){this._destination=e}}),Object.defineProperty(u,\"title\",{get:function(){return this._title},set:function(e){this._title=e}}),Object.defineProperty(u,\"info\",{get:function(){return this._info},set:function(e){this._info=e}}),Object.defineProperty(u,\"level\",{get:function(){return this._level},set:function(e){this._level=e}}),Object.defineProperty(u,\"listType\",{get:function(){return this._listData.type},set:function(e){this._listData.type=e}}),Object.defineProperty(u,\"listTight\",{get:function(){return this._listData.tight},set:function(e){this._listData.tight=e}}),Object.defineProperty(u,\"listStart\",{get:function(){return this._listData.start},set:function(e){this._listData.start=e}}),Object.defineProperty(u,\"listDelimiter\",{get:function(){return this._listData.delimiter},set:function(e){this._listData.delimiter=e}}),Object.defineProperty(u,\"onEnter\",{get:function(){return this._onEnter},set:function(e){this._onEnter=e}}),Object.defineProperty(u,\"onExit\",{get:function(){return this._onExit},set:function(e){this._onExit=e}}),s.prototype.appendChild=function(e){e.unlink(),e._parent=this,this._lastChild?(this._lastChild._next=e,e._prev=this._lastChild,this._lastChild=e):(this._firstChild=e,this._lastChild=e)},s.prototype.prependChild=function(e){e.unlink(),e._parent=this,this._firstChild?(this._firstChild._prev=e,e._next=this._firstChild,this._firstChild=e):(this._firstChild=e,this._lastChild=e)},s.prototype.unlink=function(){this._prev?this._prev._next=this._next:this._parent&&(this._parent._firstChild=this._next),this._next?this._next._prev=this._prev:this._parent&&(this._parent._lastChild=this._prev),this._parent=null,this._next=null,this._prev=null},s.prototype.insertAfter=function(e){e.unlink(),e._next=this._next,e._next&&(e._next._prev=e),e._prev=this,this._next=e,e._parent=this._parent,e._next||(e._parent._lastChild=e)},s.prototype.insertBefore=function(e){e.unlink(),e._prev=this._prev,e._prev&&(e._prev._next=e),e._next=this,this._prev=e,e._parent=this._parent,e._prev||(e._parent._firstChild=e)},s.prototype.walker=function(){return new a(this)},e.exports=s},function(e,t,n){\"use strict\";function r(e){var t={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=0);return t}t.__esModule=!0,t.default=r,e.exports=t.default},function(e,t,n){\"use strict\";function r(e,t,n){for(var r in t)if(Object.prototype.hasOwnProperty.call(t,r)){if(0!==n[r])return!1;var i=\"number\"==typeof t[r]?t[r]:t[r].val;if(e[r]!==i)return!1}return!0}t.__esModule=!0,t.default=r,e.exports=t.default},function(e,t,n){\"use strict\";function r(e,t,n,r,o,a,s){var u=-o*(t-r),l=-a*n,c=u+l,p=n+c*e,f=t+p*e;return Math.abs(p)<s&&Math.abs(f-r)<s?(i[0]=r,i[1]=0,i):(i[0]=f,i[1]=p,i)}t.__esModule=!0,t.default=r;var i=[0,0];e.exports=t.default},function(e,t,n){var r=n(1112),i=n(1);e.exports=function(e,t,n){var i=e[t];if(i){var o=[];if(Object.keys(i).forEach(function(e){-1===r.indexOf(e)&&o.push(e)}),o.length)throw new Error(\"Prop \"+t+\" passed to \"+n+\". Has invalid keys \"+o.join(\", \"))}},e.exports.isRequired=function(t,n,r){if(!t[n])throw new Error(\"Prop \"+n+\" passed to \"+r+\" is required\");return e.exports(t,n,r)},e.exports.supportingArrays=i.oneOfType([i.arrayOf(e.exports),e.exports])},function(e,t,n){\"use strict\";(function(t,r,i){function o(e){var t=this;this.next=null,this.entry=null,this.finish=function(){A(t,e)}}function a(e){return R.from(e)}function s(e){return R.isBuffer(e)||e instanceof j}function u(){}function l(e,t){O=O||n(71),e=e||{};var r=t instanceof O;this.objectMode=!!e.objectMode,r&&(this.objectMode=this.objectMode||!!e.writableObjectMode);var i=e.highWaterMark,a=e.writableHighWaterMark,s=this.objectMode?16:16384;this.highWaterMark=i||0===i?i:r&&(a||0===a)?a:s,this.highWaterMark=Math.floor(this.highWaterMark),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var u=!1===e.decodeStrings;this.decodeStrings=!u,this.defaultEncoding=e.defaultEncoding||\"utf8\",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){y(t,e)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new o(this)}function c(e){if(O=O||n(71),!(F.call(c,this)||this instanceof O))return new c(e);this._writableState=new l(e,this),this.writable=!0,e&&(\"function\"==typeof e.write&&(this._write=e.write),\"function\"==typeof e.writev&&(this._writev=e.writev),\"function\"==typeof e.destroy&&(this._destroy=e.destroy),\"function\"==typeof e.final&&(this._final=e.final)),I.call(this)}function p(e,t){var n=new Error(\"write after end\");e.emit(\"error\",n),D.nextTick(t,n)}function f(e,t,n,r){var i=!0,o=!1;return null===n?o=new TypeError(\"May not write null values to stream\"):\"string\"==typeof n||void 0===n||t.objectMode||(o=new TypeError(\"Invalid non-string/buffer chunk\")),o&&(e.emit(\"error\",o),D.nextTick(r,o),i=!1),i}function h(e,t,n){return e.objectMode||!1===e.decodeStrings||\"string\"!=typeof t||(t=R.from(t,n)),t}function d(e,t,n,r,i,o){if(!n){var a=h(t,r,i);r!==a&&(n=!0,i=\"buffer\",r=a)}var s=t.objectMode?1:r.length;t.length+=s;var u=t.length<t.highWaterMark;if(u||(t.needDrain=!0),t.writing||t.corked){var l=t.lastBufferedRequest;t.lastBufferedRequest={chunk:r,encoding:i,isBuf:n,callback:o,next:null},l?l.next=t.lastBufferedRequest:t.bufferedRequest=t.lastBufferedRequest,t.bufferedRequestCount+=1}else m(e,t,!1,s,r,i,o);return u}function m(e,t,n,r,i,o,a){t.writelen=r,t.writecb=a,t.writing=!0,t.sync=!0,n?e._writev(i,t.onwrite):e._write(i,o,t.onwrite),t.sync=!1}function v(e,t,n,r,i){--t.pendingcb,n?(D.nextTick(i,r),D.nextTick(S,e,t),e._writableState.errorEmitted=!0,e.emit(\"error\",r)):(i(r),e._writableState.errorEmitted=!0,e.emit(\"error\",r),S(e,t))}function g(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}function y(e,t){var n=e._writableState,r=n.sync,i=n.writecb;if(g(n),t)v(e,n,r,t,i);else{var o=w(n);o||n.corked||n.bufferProcessing||!n.bufferedRequest||x(e,n),r?M(_,e,n,o,i):_(e,n,o,i)}}function _(e,t,n,r){n||b(e,t),t.pendingcb--,r(),S(e,t)}function b(e,t){0===t.length&&t.needDrain&&(t.needDrain=!1,e.emit(\"drain\"))}function x(e,t){t.bufferProcessing=!0;var n=t.bufferedRequest;if(e._writev&&n&&n.next){var r=t.bufferedRequestCount,i=new Array(r),a=t.corkedRequestsFree;a.entry=n;for(var s=0,u=!0;n;)i[s]=n,n.isBuf||(u=!1),n=n.next,s+=1;i.allBuffers=u,m(e,t,!0,t.length,i,\"\",a.finish),t.pendingcb++,t.lastBufferedRequest=null,a.next?(t.corkedRequestsFree=a.next,a.next=null):t.corkedRequestsFree=new o(t),t.bufferedRequestCount=0}else{for(;n;){var l=n.chunk,c=n.encoding,p=n.callback;if(m(e,t,!1,t.objectMode?1:l.length,l,c,p),n=n.next,t.bufferedRequestCount--,t.writing)break}null===n&&(t.lastBufferedRequest=null)}t.bufferedRequest=n,t.bufferProcessing=!1}function w(e){return e.ending&&0===e.length&&null===e.bufferedRequest&&!e.finished&&!e.writing}function k(e,t){e._final(function(n){t.pendingcb--,n&&e.emit(\"error\",n),t.prefinished=!0,e.emit(\"prefinish\"),S(e,t)})}function E(e,t){t.prefinished||t.finalCalled||(\"function\"==typeof e._final?(t.pendingcb++,t.finalCalled=!0,D.nextTick(k,e,t)):(t.prefinished=!0,e.emit(\"prefinish\")))}function S(e,t){var n=w(t);return n&&(E(e,t),0===t.pendingcb&&(t.finished=!0,e.emit(\"finish\"))),n}function C(e,t,n){t.ending=!0,S(e,t),n&&(t.finished?D.nextTick(n):e.once(\"finish\",n)),t.ended=!0,e.writable=!1}function A(e,t,n){var r=e.entry;for(e.entry=null;r;){var i=r.callback;t.pendingcb--,i(n),r=r.next}t.corkedRequestsFree?t.corkedRequestsFree.next=e:t.corkedRequestsFree=e}var D=n(159);e.exports=c;var O,M=!t.browser&&[\"v0.10\",\"v0.9.\"].indexOf(t.version.slice(0,5))>-1?r:D.nextTick;c.WritableState=l;var T=n(111);T.inherits=n(44);var P={deprecate:n(1205)},I=n(495),R=n(168).Buffer,j=i.Uint8Array||function(){},N=n(494);T.inherits(c,I),l.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t},function(){try{Object.defineProperty(l.prototype,\"buffer\",{get:P.deprecate(function(){return this.getBuffer()},\"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.\",\"DEP0003\")})}catch(e){}}();var F;\"function\"==typeof Symbol&&Symbol.hasInstance&&\"function\"==typeof Function.prototype[Symbol.hasInstance]?(F=Function.prototype[Symbol.hasInstance],Object.defineProperty(c,Symbol.hasInstance,{value:function(e){return!!F.call(this,e)||this===c&&(e&&e._writableState instanceof l)}})):F=function(e){return e instanceof this},c.prototype.pipe=function(){this.emit(\"error\",new Error(\"Cannot pipe, not readable\"))},c.prototype.write=function(e,t,n){var r=this._writableState,i=!1,o=!r.objectMode&&s(e);return o&&!R.isBuffer(e)&&(e=a(e)),\"function\"==typeof t&&(n=t,t=null),o?t=\"buffer\":t||(t=r.defaultEncoding),\"function\"!=typeof n&&(n=u),r.ended?p(this,n):(o||f(this,r,e,n))&&(r.pendingcb++,i=d(this,r,o,e,t,n)),i},c.prototype.cork=function(){this._writableState.corked++},c.prototype.uncork=function(){var e=this._writableState;e.corked&&(e.corked--,e.writing||e.corked||e.finished||e.bufferProcessing||!e.bufferedRequest||x(this,e))},c.prototype.setDefaultEncoding=function(e){if(\"string\"==typeof e&&(e=e.toLowerCase()),!([\"hex\",\"utf8\",\"utf-8\",\"ascii\",\"binary\",\"base64\",\"ucs2\",\"ucs-2\",\"utf16le\",\"utf-16le\",\"raw\"].indexOf((e+\"\").toLowerCase())>-1))throw new TypeError(\"Unknown encoding: \"+e);return this._writableState.defaultEncoding=e,this},c.prototype._write=function(e,t,n){n(new Error(\"_write() is not implemented\"))},c.prototype._writev=null,c.prototype.end=function(e,t,n){var r=this._writableState;\"function\"==typeof e?(n=e,e=null,t=null):\"function\"==typeof t&&(n=t,t=null),null!==e&&void 0!==e&&this.write(e,t),r.corked&&(r.corked=1,this.uncork()),r.ending||r.finished||C(this,r,n)},Object.defineProperty(c.prototype,\"destroyed\",{get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(e){this._writableState&&(this._writableState.destroyed=e)}}),c.prototype.destroy=N.destroy,c.prototype._undestroy=N.undestroy,c.prototype._destroy=function(e,t){this.end(),t(e)}}).call(t,n(34),n(509).setImmediate,n(16))},function(e,t,n){t=e.exports=n(492),t.Stream=t,t.Readable=t,t.Writable=n(265),t.Duplex=n(71),t.Transform=n(493),t.PassThrough=n(1126)},function(e,t,n){\"use strict\";function r(e,t,n,r,i){this.src=e,this.env=r,this.options=n,this.parser=t,this.tokens=i,this.pos=0,this.posMax=this.src.length,this.level=0,this.pending=\"\",this.pendingLevel=0,this.cache=[],this.isInLabel=!1,this.linkLevel=0,this.linkContent=\"\",this.labelUnmatchedScopes=0}r.prototype.pushPending=function(){this.tokens.push({type:\"text\",content:this.pending,level:this.pendingLevel}),this.pending=\"\"},r.prototype.push=function(e){this.pending&&this.pushPending(),this.tokens.push(e),this.pendingLevel=this.level},r.prototype.cacheSet=function(e,t){for(var n=this.cache.length;n<=e;n++)this.cache.push(0);this.cache[e]=t},r.prototype.cacheGet=function(e){return e<this.cache.length?this.cache[e]:0},e.exports=r},function(e,t,n){\"use strict\";function r(e,t){var n;return n=Array.isArray(e)?[]:{},t.push(e),Object.keys(e).forEach(function(i){var o=e[i];if(\"function\"!=typeof o)return o&&\"object\"==typeof o?-1===t.indexOf(e[i])?void(n[i]=r(e[i],t.slice(0))):void(n[i]=\"[Circular]\"):void(n[i]=o)}),n}e.exports=function(e){if(\"object\"==typeof e){var t=r(e,[]);return\"string\"==typeof e.name&&(t.name=e.name),\"string\"==typeof e.message&&(t.message=e.message),\"string\"==typeof e.stack&&(t.stack=e.stack),t}return\"function\"==typeof e?\"[Function: \"+(e.name||\"anonymous\")+\"]\":e}},function(e,t,n){\"use strict\";function r(e){if(!e)return\"utf8\";for(var t;;)switch(e){case\"utf8\":case\"utf-8\":return\"utf8\";case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return\"utf16le\";case\"latin1\":case\"binary\":return\"latin1\";case\"base64\":case\"ascii\":case\"hex\":return e;default:if(t)return;e=(\"\"+e).toLowerCase(),t=!0}}function i(e){var t=r(e);if(\"string\"!=typeof t&&(y.isEncoding===_||!_(e)))throw new Error(\"Unknown encoding: \"+e);return t||e}function o(e){this.encoding=i(e);var t;switch(this.encoding){case\"utf16le\":this.text=f,this.end=h,t=4;break;case\"utf8\":this.fillLast=l,t=4;break;case\"base64\":this.text=d,this.end=m,t=3;break;default:return this.write=v,void(this.end=g)}this.lastNeed=0,this.lastTotal=0,this.lastChar=y.allocUnsafe(t)}function a(e){return e<=127?0:e>>5==6?2:e>>4==14?3:e>>3==30?4:-1}function s(e,t,n){var r=t.length-1;if(r<n)return 0;var i=a(t[r]);return i>=0?(i>0&&(e.lastNeed=i-1),i):--r<n?0:(i=a(t[r]))>=0?(i>0&&(e.lastNeed=i-2),i):--r<n?0:(i=a(t[r]),i>=0?(i>0&&(2===i?i=0:e.lastNeed=i-3),i):0)}function u(e,t,n){if(128!=(192&t[0]))return e.lastNeed=0,\"�\".repeat(n);if(e.lastNeed>1&&t.length>1){if(128!=(192&t[1]))return e.lastNeed=1,\"�\".repeat(n+1);if(e.lastNeed>2&&t.length>2&&128!=(192&t[2]))return e.lastNeed=2,\"�\".repeat(n+2)}}function l(e){var t=this.lastTotal-this.lastNeed,n=u(this,e,t);return void 0!==n?n:this.lastNeed<=e.length?(e.copy(this.lastChar,t,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(e.copy(this.lastChar,t,0,e.length),void(this.lastNeed-=e.length))}function c(e,t){var n=s(this,e,t);if(!this.lastNeed)return e.toString(\"utf8\",t);this.lastTotal=n;var r=e.length-(n-this.lastNeed);return e.copy(this.lastChar,0,r),e.toString(\"utf8\",t,r)}function p(e){var t=e&&e.length?this.write(e):\"\";return this.lastNeed?t+\"�\".repeat(this.lastTotal-this.lastNeed):t}function f(e,t){if((e.length-t)%2==0){var n=e.toString(\"utf16le\",t);if(n){var r=n.charCodeAt(n.length-1);if(r>=55296&&r<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],n.slice(0,-1)}return n}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString(\"utf16le\",t,e.length-1)}function h(e){var t=e&&e.length?this.write(e):\"\";if(this.lastNeed){var n=this.lastTotal-this.lastNeed;return t+this.lastChar.toString(\"utf16le\",0,n)}return t}function d(e,t){var n=(e.length-t)%3;return 0===n?e.toString(\"base64\",t):(this.lastNeed=3-n,this.lastTotal=3,1===n?this.lastChar[0]=e[e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString(\"base64\",t,e.length-n))}function m(e){var t=e&&e.length?this.write(e):\"\";return this.lastNeed?t+this.lastChar.toString(\"base64\",0,3-this.lastNeed):t}function v(e){return e.toString(this.encoding)}function g(e){return e&&e.length?this.write(e):\"\"}var y=n(168).Buffer,_=y.isEncoding||function(e){switch((e=\"\"+e)&&e.toLowerCase()){case\"hex\":case\"utf8\":case\"utf-8\":case\"ascii\":case\"binary\":case\"base64\":case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":case\"raw\":return!0;default:return!1}};t.StringDecoder=o,o.prototype.write=function(e){if(0===e.length)return\"\";var t,n;if(this.lastNeed){if(void 0===(t=this.fillLast(e)))return\"\";n=this.lastNeed,this.lastNeed=0}else n=0;return n<e.length?t?t+this.text(e,n):this.text(e,n):t||\"\"},o.prototype.end=p,o.prototype.text=c,o.prototype.fillLast=function(e){if(this.lastNeed<=e.length)return e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,e.length),this.lastNeed-=e.length}},function(e,t,n){(function(){var e,t,r,i=function(e,t){function n(){this.constructor=e}for(var r in t)o.call(t,r)&&(e[r]=t[r]);return n.prototype=t.prototype,e.prototype=new n,e.__super__=t.prototype,e},o={}.hasOwnProperty,a=[].indexOf||function(e){for(var t=0,n=this.length;t<n;t++)if(t in this&&this[t]===e)return t;return-1};t=n(95),r=n(61),e=n(46).YAMLError,this.ResolverError=function(e){function t(){return t.__super__.constructor.apply(this,arguments)}return i(t,e),t}(e),this.BaseResolver=function(){function e(){this.resolver_exact_paths=[],this.resolver_prefix_paths=[]}var n,i,o;return i=\"tag:yaml.org,2002:str\",o=\"tag:yaml.org,2002:seq\",n=\"tag:yaml.org,2002:map\",e.prototype.yaml_implicit_resolvers={},e.prototype.yaml_path_resolvers={},e.add_implicit_resolver=function(e,t,n){var i,o,a,s,u;for(null==n&&(n=[null]),this.prototype.hasOwnProperty(\"yaml_implicit_resolvers\")||(this.prototype.yaml_implicit_resolvers=r.extend({},this.prototype.yaml_implicit_resolvers)),u=[],a=0,s=n.length;a<s;a++)o=n[a],u.push((null!=(i=this.prototype.yaml_implicit_resolvers)[o]?i[o]:i[o]=[]).push([e,t]));return u},e.prototype.descend_resolver=function(e,t){var n,i,o,a,s,u,l,c,p,f,h,d,m;if(!r.is_empty(this.yaml_path_resolvers)){if(i={},p=[],e)for(n=this.resolver_prefix_paths.length,f=this.resolver_prefix_paths.slice(-1)[0],o=0,u=f.length;o<u;o++)h=f[o],c=h[0],s=h[1],this.check_resolver_prefix(n,c,s,e,t)&&(c.length>n?p.push([c,s]):i[s]=this.yaml_path_resolvers[c][s]);else for(d=this.yaml_path_resolvers,a=0,l=d.length;a<l;a++)m=d[a],c=m[0],s=m[1],c?p.push([c,s]):i[s]=this.yaml_path_resolvers[c][s];return this.resolver_exact_paths.push(i),this.resolver_prefix_paths.push(p)}},e.prototype.ascend_resolver=function(){if(!r.is_empty(this.yaml_path_resolvers))return this.resolver_exact_paths.pop(),this.resolver_prefix_paths.pop()},e.prototype.check_resolver_prefix=function(e,n,r,i,o){var a,s,u;if(u=n[e-1],s=u[0],a=u[1],\"string\"==typeof s){if(i.tag!==s)return}else if(null!==s&&!(i instanceof s))return;if((!0!==a||null===o)&&(!1!==a&&null!==a||null!==o)){if(\"string\"==typeof a){if(!(o instanceof t.ScalarNode)&&a===o.value)return}else if(\"number\"==typeof a&&a!==o)return;return!0}},e.prototype.resolve=function(e,r,s){var u,l,c,p,f,h,d,m,v,g,y,_;if(e===t.ScalarNode&&s[0]){for(y=\"\"===r?null!=(h=this.yaml_implicit_resolvers[\"\"])?h:[]:null!=(d=this.yaml_implicit_resolvers[r[0]])?d:[],y=y.concat(null!=(m=this.yaml_implicit_resolvers[null])?m:[]),c=0,f=y.length;c<f;c++)if(v=y[c],_=v[0],g=v[1],r.match(g))return _;s=s[1]}u=!0;for(p in this.yaml_path_resolvers)null=={}[p]&&(u=!1);if(!u){if(l=this.resolver_exact_paths.slice(-1)[0],a.call(l,e)>=0)return l[e];if(a.call(l,null)>=0)return l[null]}return e===t.ScalarNode?i:e===t.SequenceNode?o:e===t.MappingNode?n:void 0},e}(),this.Resolver=function(e){function t(){return t.__super__.constructor.apply(this,arguments)}return i(t,e),t}(this.BaseResolver),this.Resolver.add_implicit_resolver(\"tag:yaml.org,2002:bool\",/^(?:yes|Yes|YES|true|True|TRUE|on|On|ON|no|No|NO|false|False|FALSE|off|Off|OFF)$/,\"yYnNtTfFoO\"),this.Resolver.add_implicit_resolver(\"tag:yaml.org,2002:float\",/^(?:[-+]?(?:[0-9][0-9_]*)\\.[0-9_]*(?:[eE][-+][0-9]+)?|\\.[0-9_]+(?:[eE][-+][0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$/,\"-+0123456789.\"),this.Resolver.add_implicit_resolver(\"tag:yaml.org,2002:int\",/^(?:[-+]?0b[01_]+|[-+]?0[0-7_]+|[-+]?(?:0|[1-9][0-9_]*)|[-+]?0x[0-9a-fA-F_]+|[-+]?0o[0-7_]+|[-+]?[1-9][0-9_]*(?::[0-5]?[0-9])+)$/,\"-+0123456789\"),this.Resolver.add_implicit_resolver(\"tag:yaml.org,2002:merge\",/^(?:<<)$/,\"<\"),this.Resolver.add_implicit_resolver(\"tag:yaml.org,2002:null\",/^(?:~|null|Null|NULL|)$/,[\"~\",\"n\",\"N\",\"\"]),this.Resolver.add_implicit_resolver(\"tag:yaml.org,2002:timestamp\",/^(?:[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]|[0-9][0-9][0-9][0-9]-[0-9][0-9]?-[0-9][0-9]?(?:[Tt]|[\\x20\\t]+)[0-9][0-9]?:[0-9][0-9]:[0-9][0-9](?:\\.[0-9]*)?(?:[\\x20\\t]*(?:Z|[-+][0-9][0-9]?(?::[0-9][0-9])?))?)$/,\"0123456789\"),this.Resolver.add_implicit_resolver(\"tag:yaml.org,2002:value\",/^(?:=)$/,\"=\"),this.Resolver.add_implicit_resolver(\"tag:yaml.org,2002:yaml\",/^(?:!|&|\\*)$/,\"!&*\")}).call(this)},function(e,t){(function(){var e=function(e,n){function r(){this.constructor=e}for(var i in n)t.call(n,i)&&(e[i]=n[i]);return r.prototype=n.prototype,e.prototype=new r,e.__super__=n.prototype,e},t={}.hasOwnProperty;this.Token=function(){function e(e,t){this.start_mark=e,this.end_mark=t}return e}(),this.DirectiveToken=function(t){function n(e,t,n,r){this.name=e,this.value=t,this.start_mark=n,this.end_mark=r}return e(n,t),n.prototype.id=\"<directive>\",n}(this.Token),this.DocumentStartToken=function(t){function n(){return n.__super__.constructor.apply(this,arguments)}return e(n,t),n.prototype.id=\"<document start>\",n}(this.Token),this.DocumentEndToken=function(t){function n(){return n.__super__.constructor.apply(this,arguments)}return e(n,t),n.prototype.id=\"<document end>\",n}(this.Token),this.StreamStartToken=function(t){function n(e,t,n){this.start_mark=e,this.end_mark=t,this.encoding=n}return e(n,t),n.prototype.id=\"<stream start>\",n}(this.Token),this.StreamEndToken=function(t){function n(){return n.__super__.constructor.apply(this,arguments)}return e(n,t),n.prototype.id=\"<stream end>\",n}(this.Token),this.BlockSequenceStartToken=function(t){function n(){return n.__super__.constructor.apply(this,arguments)}return e(n,t),n.prototype.id=\"<block sequence start>\",n}(this.Token),this.BlockMappingStartToken=function(t){function n(){return n.__super__.constructor.apply(this,arguments)}return e(n,t),n.prototype.id=\"<block mapping end>\",n}(this.Token),this.BlockEndToken=function(t){function n(){return n.__super__.constructor.apply(this,arguments)}return e(n,t),n.prototype.id=\"<block end>\",n}(this.Token),this.FlowSequenceStartToken=function(t){function n(){return n.__super__.constructor.apply(this,arguments)}return e(n,t),n.prototype.id=\"[\",n}(this.Token),this.FlowMappingStartToken=function(t){function n(){return n.__super__.constructor.apply(this,arguments)}return e(n,t),n.prototype.id=\"{\",n}(this.Token),this.FlowSequenceEndToken=function(t){function n(){return n.__super__.constructor.apply(this,arguments)}return e(n,t),n.prototype.id=\"]\",n}(this.Token),this.FlowMappingEndToken=function(t){function n(){return n.__super__.constructor.apply(this,arguments)}return e(n,t),n.prototype.id=\"}\",n}(this.Token),this.KeyToken=function(t){function n(){return n.__super__.constructor.apply(this,arguments)}return e(n,t),n.prototype.id=\"?\",n}(this.Token),this.ValueToken=function(t){function n(){return n.__super__.constructor.apply(this,arguments)}return e(n,t),n.prototype.id=\":\",n}(this.Token),this.BlockEntryToken=function(t){function n(){return n.__super__.constructor.apply(this,arguments)}return e(n,t),n.prototype.id=\"-\",n}(this.Token),this.FlowEntryToken=function(t){function n(){return n.__super__.constructor.apply(this,arguments)}return e(n,t),n.prototype.id=\",\",n}(this.Token),this.AliasToken=function(t){function n(e,t,n){this.value=e,this.start_mark=t,this.end_mark=n}return e(n,t),n.prototype.id=\"<alias>\",n}(this.Token),this.AnchorToken=function(t){function n(e,t,n){this.value=e,this.start_mark=t,this.end_mark=n}return e(n,t),n.prototype.id=\"<anchor>\",n}(this.Token),this.TagToken=function(t){function n(e,t,n){this.value=e,this.start_mark=t,this.end_mark=n}return e(n,t),n.prototype.id=\"<tag>\",n}(this.Token),this.ScalarToken=function(t){function n(e,t,n,r,i){this.value=e,this.plain=t,this.start_mark=n,this.end_mark=r,this.style=i}return e(n,t),n.prototype.id=\"<scalar>\",n}(this.Token)}).call(this)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function i(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return t.filter(function(e){return!!e}).join(\" \").trim()}Object.defineProperty(t,\"__esModule\",{value:!0}),t.Collapse=t.Link=t.Select=t.Input=t.TextArea=t.Button=t.Row=t.Col=t.Container=void 0;var o=n(20),a=r(o),s=n(97),u=r(s),l=n(4),c=r(l),p=n(2),f=r(p),h=n(3),d=r(h),m=n(6),v=r(m),g=n(5),y=r(g),_=n(0),b=r(_),x=n(1),w=r(x),k=n(461);(t.Container=function(e){function t(){return(0,f.default)(this,t),(0,v.default)(this,(t.__proto__||(0,c.default)(t)).apply(this,arguments))}return(0,y.default)(t,e),(0,d.default)(t,[{key:\"render\",value:function(){var e=this.props,t=e.fullscreen,n=e.full,r=(0,u.default)(e,[\"fullscreen\",\"full\"]);if(t)return b.default.createElement(\"section\",r);var o=\"swagger-container\"+(n?\"-full\":\"\");return b.default.createElement(\"section\",(0,a.default)({},r,{className:i(r.className,o)}))}}]),t}(b.default.Component)).propTypes={fullscreen:w.default.bool,full:w.default.bool,className:w.default.string};var E={mobile:\"\",tablet:\"-tablet\",desktop:\"-desktop\",large:\"-hd\"};(t.Col=function(e){function t(){return(0,f.default)(this,t),(0,v.default)(this,(t.__proto__||(0,c.default)(t)).apply(this,arguments))}return(0,y.default)(t,e),(0,d.default)(t,[{key:\"render\",value:function(){var e=this.props,t=e.hide,n=e.keepContents,r=(e.mobile,e.tablet,e.desktop,e.large,(0,u.default)(e,[\"hide\",\"keepContents\",\"mobile\",\"tablet\",\"desktop\",\"large\"]));if(t&&!n)return b.default.createElement(\"span\",null);var o=[];for(var s in E)if(E.hasOwnProperty(s)){var l=E[s];if(s in this.props){var c=this.props[s];if(c<1){o.push(\"none\"+l);continue}o.push(\"block\"+l),o.push(\"col-\"+c+l)}}var p=i.apply(void 0,[r.className].concat(o));return b.default.createElement(\"section\",(0,a.default)({},r,{style:{display:t?\"none\":null},className:p}))}}]),t}(b.default.Component)).propTypes={hide:w.default.bool,keepContents:w.default.bool,mobile:w.default.number,tablet:w.default.number,desktop:w.default.number,large:w.default.number,className:w.default.string},(t.Row=function(e){function t(){return(0,f.default)(this,t),(0,v.default)(this,(t.__proto__||(0,c.default)(t)).apply(this,arguments))}return(0,y.default)(t,e),(0,d.default)(t,[{key:\"render\",value:function(){return b.default.createElement(\"div\",(0,a.default)({},this.props,{className:i(this.props.className,\"wrapper\")}))}}]),t}(b.default.Component)).propTypes={className:w.default.string};var S=t.Button=function(e){function t(){return(0,f.default)(this,t),(0,v.default)(this,(t.__proto__||(0,c.default)(t)).apply(this,arguments))}return(0,y.default)(t,e),(0,d.default)(t,[{key:\"render\",value:function(){return b.default.createElement(\"button\",(0,a.default)({},this.props,{className:i(this.props.className,\"button\")}))}}]),t}(b.default.Component);S.propTypes={className:w.default.string},S.defaultProps={className:\"\"};var C=(t.TextArea=function(e){return b.default.createElement(\"textarea\",e)},t.Input=function(e){return b.default.createElement(\"input\",e)},t.Select=function(e){function t(e,n){(0,f.default)(this,t);var r=(0,v.default)(this,(t.__proto__||(0,c.default)(t)).call(this,e,n));A.call(r);var i=void 0;return i=e.value?e.value:e.multiple?[\"\"]:\"\",r.state={value:i},r}return(0,y.default)(t,e),(0,d.default)(t,[{key:\"render\",value:function(){var e=this.props,t=e.allowedValues,n=e.multiple,r=e.allowEmptyValue,i=this.state.value.toJS?this.state.value.toJS():this.state.value;return b.default.createElement(\"select\",{className:this.props.className,multiple:n,value:i,onChange:this.onChange},r?b.default.createElement(\"option\",{value:\"\"},\"--\"):null,t.map(function(e,t){return b.default.createElement(\"option\",{key:t,value:String(e)},String(e))}))}}]),t}(b.default.Component));C.propTypes={allowedValues:w.default.array,value:w.default.any,onChange:w.default.func,multiple:w.default.bool,allowEmptyValue:w.default.bool,className:w.default.string},C.defaultProps={multiple:!1,allowEmptyValue:!0};var A=function(){var e=this;this.onChange=function(t){var n=e.props,r=n.onChange,i=n.multiple,o=[].slice.call(t.target.options),a=void 0;a=i?o.filter(function(e){return e.selected}).map(function(e){return e.value}):t.target.value,e.setState({value:a}),r&&r(a)}};(t.Link=function(e){function t(){return(0,f.default)(this,t),(0,v.default)(this,(t.__proto__||(0,c.default)(t)).apply(this,arguments))}return(0,y.default)(t,e),(0,d.default)(t,[{key:\"render\",value:function(){return b.default.createElement(\"a\",(0,a.default)({},this.props,{className:i(this.props.className,\"link\")}))}}]),t}(b.default.Component)).propTypes={className:w.default.string};var D=function(e){var t=e.children;return b.default.createElement(\"div\",{style:{height:\"auto\",border:\"none\",margin:0,padding:0}},\" \",t,\" \")};D.propTypes={children:w.default.node};var O=t.Collapse=function(e){function t(){return(0,f.default)(this,t),(0,v.default)(this,(t.__proto__||(0,c.default)(t)).apply(this,arguments))}return(0,y.default)(t,e),(0,d.default)(t,[{key:\"renderNotAnimated\",value:function(){return this.props.isOpened?b.default.createElement(D,null,this.props.children):b.default.createElement(\"noscript\",null)}},{key:\"render\",value:function(){var e=this.props,t=e.animated,n=e.isOpened,r=e.children;return t?(r=n?r:null,b.default.createElement(k.Collapse,{isOpened:n},b.default.createElement(D,null,r))):this.renderNotAnimated()}}]),t}(b.default.Component);O.propTypes={isOpened:w.default.bool,children:w.default.node.isRequired,animated:w.default.bool},O.defaultProps={isOpened:!1,animated:!1}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(20),o=r(i),a=n(4),s=r(a),u=n(2),l=r(u),c=n(3),p=r(c),f=n(6),h=r(f),d=n(5),m=r(d),v=n(0),g=r(v),y=n(1087),_=r(y),b=n(12),x=r(b),w=n(1),k=r(w),E=function(e){function t(){var e,n,r,i;(0,l.default)(this,t);for(var o=arguments.length,a=Array(o),u=0;u<o;u++)a[u]=arguments[u];return n=r=(0,h.default)(this,(e=t.__proto__||(0,s.default)(t)).call.apply(e,[this].concat(a))),r.getModelName=function(e){return-1!==e.indexOf(\"#/definitions/\")?e.replace(/^.*#\\/definitions\\//,\"\"):-1!==e.indexOf(\"#/components/schemas/\")?e.replace(\"#/components/schemas/\",\"\"):void 0},r.getRefSchema=function(e){return r.props.specSelectors.findDefinition(e)},i=n,(0,h.default)(r,i)}return(0,m.default)(t,e),(0,p.default)(t,[{key:\"render\",value:function(){var e=this.props,t=e.getComponent,r=e.getConfigs,i=e.specSelectors,a=e.schema,s=e.required,u=e.name,l=e.isRef,c=e.specPath,p=t(\"ObjectModel\"),f=t(\"ArrayModel\"),h=t(\"PrimitiveModel\"),d=\"object\",m=a&&a.get(\"$$ref\");if(!u&&m&&(u=this.getModelName(m)),!a&&m&&(a=this.getRefSchema(u)),!a)return g.default.createElement(\"span\",{className:\"model model-title\"},g.default.createElement(\"span\",{className:\"model-title__text\"},u),g.default.createElement(\"img\",{src:n(510),height:\"20px\",width:\"20px\",style:{marginLeft:\"1em\",position:\"relative\",bottom:\"0px\"}}));var v=i.isOAS3()&&a.get(\"deprecated\");switch(l=void 0!==l?l:!!m,d=a&&a.get(\"type\")||d){case\"object\":return g.default.createElement(p,(0,o.default)({className:\"object\"},this.props,{specPath:c,getConfigs:r,schema:a,name:u,deprecated:v,isRef:l}));case\"array\":return g.default.createElement(f,(0,o.default)({className:\"array\"},this.props,{getConfigs:r,schema:a,name:u,deprecated:v,required:s}));case\"string\":case\"number\":case\"integer\":case\"boolean\":default:return g.default.createElement(h,(0,o.default)({},this.props,{getComponent:t,getConfigs:r,schema:a,name:u,deprecated:v,required:s}))}}}]),t}(_.default);E.propTypes={schema:x.default.orderedMap.isRequired,getComponent:k.default.func.isRequired,getConfigs:k.default.func.isRequired,specSelectors:k.default.object.isRequired,name:k.default.string,isRef:k.default.bool,required:k.default.bool,expandDepth:k.default.number,depth:k.default.number,specPath:x.default.list.isRequired},t.default=E},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function i(e){var t=e.source;if(v(t))return l.default.createElement(\"div\",{className:\"markdown\"},t);var n=new h.default({html:!0,typographer:!0,breaks:!0,linkify:!0,linkTarget:\"_blank\"}).render(t),r=o(n);return t&&n&&r?l.default.createElement(\"div\",{className:\"markdown\",dangerouslySetInnerHTML:{__html:r}}):null}function o(e){return(0,m.default)(e,g)}Object.defineProperty(t,\"__esModule\",{value:!0});var a=n(20),s=r(a);t.sanitizer=o;var u=n(0),l=r(u),c=n(1),p=r(c),f=n(1141),h=r(f),d=n(1194),m=r(d),v=function(e){return/^[A-Z\\s0-9!?\\.]+$/gi.test(e)};i.propTypes={source:p.default.string.isRequired},t.default=i;var g={allowedTags:m.default.defaults.allowedTags.concat([\"h1\",\"h2\",\"img\",\"span\"]),allowedAttributes:(0,s.default)({},m.default.defaults.allowedAttributes,{img:m.default.defaults.allowedAttributes.img.concat([\"title\"]),td:[\"colspan\"],\"*\":[\"class\"]}),allowedSchemesByTag:{img:[\"http\",\"https\",\"data\"]},textFilter:function(e){return e.replace(/&quot;/g,'\"')}}},function(e,t,n){\"use strict\";var r=n(9),i=n(1223);i.keys().forEach(function(t){if(\"./index.js\"!==t){var n=i(t);e.exports[(0,r.pascalCaseFilename)(t)]=n.default?n.default:n}})},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){function n(e,t,i){if(!e)return i&&i.start_mark?i.start_mark.line:0;if(t.length&&e.tag===b)for(r=0;r<e.value.length;r++){var o=e.value[r],a=o[0],s=o[1];if(a.value===t[0])return n(s,t.slice(1),e);if(a.value===t[0].replace(/\\[.*/,\"\")){var u=parseInt(t[0].match(/\\[(.*)\\]/)[1]);if(1===s.value.length&&0!==u&&u)var l=(0,g.default)(s.value[0],{value:u.toString()});else var l=s.value[u];return n(l,t.slice(1),s.value)}}if(t.length&&e.tag===x){var c=e.value[t[0]];if(c&&c.tag)return n(c,t.slice(1),e.value)}return e.tag!==b||Array.isArray(i)?e.start_mark.line+1:e.start_mark.line}if(\"string\"!=typeof e)throw new TypeError(\"yaml should be a string\");if(!(0,m.default)(t))throw new TypeError(\"path should be an array of strings\");var r=0;return n(_(e),t)}function o(e,t){function n(e,o){if(e.tag===b)for(i=0;i<e.value.length;i++){var a=e.value[i],s=a[0],u=a[1];if(s.value===t[0])return t.shift(),n(u,s)}if(e.tag===x){var l=e.value[t[0]];if(l&&l.tag)return t.shift(),n(l,o)}if(t.length)return r;var c={start:{line:e.start_mark.line,column:e.start_mark.column,pointer:e.start_mark.pointer},end:{line:e.end_mark.line,column:e.end_mark.column,pointer:e.end_mark.pointer}};return o&&(c.key_start={line:o.start_mark.line,column:o.start_mark.column,pointer:o.start_mark.pointer},c.key_end={line:o.end_mark.line,column:o.end_mark.column,pointer:o.end_mark.pointer}),c}if(\"string\"!=typeof e)throw new TypeError(\"yaml should be a string\");if(!(0,m.default)(t))throw new TypeError(\"path should be an array of strings\");var r={start:{line:-1,column:-1},end:{line:-1,column:-1}},i=0;return n(_(e))}function a(e,t){function n(e){function r(e){return e.start_mark.line===e.end_mark.line?t.line===e.start_mark.line&&e.start_mark.column<=t.column&&e.end_mark.column>=t.column:t.line===e.start_mark.line?t.column>=e.start_mark.column:t.line===e.end_mark.line?t.column<=e.end_mark.column:e.start_mark.line<t.line&&e.end_mark.line>t.line}var o=0;if(!e||-1===[b,x].indexOf(e.tag))return i;if(e.tag===b)for(o=0;o<e.value.length;o++){var a=e.value[o],s=a[0],u=a[1];if(r(s))return i;if(r(u))return i.push(s.value),n(u)}if(e.tag===x)for(o=0;o<e.value.length;o++){var l=e.value[o];if(r(l))return i.push(o.toString()),n(l)}return i}if(\"string\"!=typeof e)throw new TypeError(\"yaml should be a string\");if(\"object\"!==(void 0===t?\"undefined\":(0,p.default)(t))||\"number\"!=typeof t.line||\"number\"!=typeof t.column)throw new TypeError(\"position should be an object with line and column properties\");try{var r=_(e)}catch(n){return console.error(\"Error composing AST\",n),console.error(\"Problem area:\\n\",e.split(\"\\n\").slice(t.line-5,t.line+5).join(\"\\n\")),null}var i=[];return n(r)}function s(e){return function(){for(var t=arguments.length,n=Array(t),r=0;r<t;r++)n[r]=arguments[r];return new l.default(function(t){return t(e.apply(void 0,n))})}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.getLineNumberForPathAsync=t.positionRangeForPathAsync=t.pathForPositionAsync=void 0;var u=n(128),l=r(u),c=n(48),p=r(c);t.getLineNumberForPath=i,t.positionRangeForPath=o,t.pathForPosition=a;var f=n(1221),h=r(f),d=n(22),m=r(d),v=n(226),g=r(v),y=n(9),_=(0,y.memoize)(h.default.compose),b=\"tag:yaml.org,2002:map\",x=\"tag:yaml.org,2002:seq\";t.pathForPositionAsync=s(a),t.positionRangeForPathAsync=s(o),t.getLineNumberForPathAsync=s(i)},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(){return{fn:{AST:i},components:{JumpToPath:a.default}}};var r=n(276),i=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(r),o=n(278),a=function(e){return e&&e.__esModule?e:{default:e}}(o)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(4),o=r(i),a=n(2),s=r(a),u=n(3),l=r(u),c=n(6),p=r(c),f=n(5),h=r(f),d=n(0),m=r(d),v=function(e){function t(){return(0,s.default)(this,t),(0,p.default)(this,(t.__proto__||(0,o.default)(t)).apply(this,arguments))}return(0,h.default)(t,e),(0,l.default)(t,[{key:\"render\",value:function(){return null}}]),t}(m.default.Component);t.default=v},function(e,t,n){\"use strict\";function r(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function i(e){return e&&e.__esModule?e:{default:e}}function o(e,t,n,r){var i=e.authActions.authorize,o=e.specSelectors,a=o.specJson,s=o.isOAS3,l=s()?[\"components\",\"securitySchemes\"]:[\"securityDefinitions\"],c=a().getIn([].concat(l,[t]));return c?i((0,u.default)({},t,{value:{username:n,password:r},schema:c.toJS()})):null}function a(e,t,n){var r=e.authActions.authorize,i=e.specSelectors,o=i.specJson,a=i.isOAS3,s=a()?[\"components\",\"securitySchemes\"]:[\"securityDefinitions\"],l=o().getIn([].concat(s,[t]));return l?r((0,u.default)({},t,{value:n,schema:l.toJS()})):null}Object.defineProperty(t,\"__esModule\",{value:!0});var s=n(28),u=i(s);t.default=function(){return{afterLoad:function(e){this.rootInjects=this.rootInjects||{},this.rootInjects.initOAuth=e.authActions.configureAuth,this.rootInjects.preauthorizeApiKey=a.bind(null,e),this.rootInjects.preauthorizeBasic=o.bind(null,e)},statePlugins:{auth:{reducers:c.default,actions:f,selectors:d},spec:{wrapActions:v}}}},t.preauthorizeBasic=o,t.preauthorizeApiKey=a;var l=n(280),c=i(l),p=n(169),f=r(p),h=n(281),d=r(h),m=n(282),v=r(m)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var i,o=n(28),a=r(o),s=n(27),u=r(s),l=n(18),c=r(l),p=n(7),f=n(9),h=n(169);t.default=(i={},(0,a.default)(i,h.SHOW_AUTH_POPUP,function(e,t){var n=t.payload;return e.set(\"showDefinitions\",n)}),(0,a.default)(i,h.AUTHORIZE,function(e,t){var n=t.payload,r=(0,p.fromJS)(n),i=e.get(\"authorized\")||(0,p.Map)();return r.entrySeq().forEach(function(e){var t=(0,c.default)(e,2),n=t[0],r=t[1],o=r.getIn([\"schema\",\"type\"]);if(\"apiKey\"===o||\"http\"===o)i=i.set(n,r);else if(\"basic\"===o){var a=r.getIn([\"value\",\"username\"]),s=r.getIn([\"value\",\"password\"]);i=i.setIn([n,\"value\"],{username:a,header:\"Basic \"+(0,f.btoa)(a+\":\"+s)}),i=i.setIn([n,\"schema\"],r.get(\"schema\"))}}),e.set(\"authorized\",i)}),(0,a.default)(i,h.AUTHORIZE_OAUTH2,function(e,t){var n=t.payload,r=n.auth,i=n.token,o=void 0;return r.token=(0,u.default)({},i),o=(0,p.fromJS)(r),e.setIn([\"authorized\",o.get(\"name\")],o)}),(0,a.default)(i,h.LOGOUT,function(e,t){var n=t.payload,r=e.get(\"authorized\").withMutations(function(e){n.forEach(function(t){e.delete(t)})});return e.set(\"authorized\",r)}),(0,a.default)(i,h.CONFIGURE_AUTH,function(e,t){var n=t.payload;return e.set(\"configs\",n)}),i)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.getConfigs=t.isAuthorized=t.authorized=t.definitionsForRequirements=t.getDefinitionsByNames=t.definitionsToAuthorize=t.shownDefinitions=void 0;var i=n(47),o=r(i),a=n(18),s=r(a),u=n(60),l=n(7),c=function(e){return e};t.shownDefinitions=(0,u.createSelector)(c,function(e){return e.get(\"showDefinitions\")}),t.definitionsToAuthorize=(0,u.createSelector)(c,function(){return function(e){var t=e.specSelectors,n=t.securityDefinitions()||(0,l.Map)({}),r=(0,l.List)();return n.entrySeq().forEach(function(e){var t=(0,s.default)(e,2),n=t[0],i=t[1],o=(0,l.Map)();o=o.set(n,i),r=r.push(o)}),r}}),t.getDefinitionsByNames=function(e,t){return function(e){var n=e.specSelectors;console.warn(\"WARNING: getDefinitionsByNames is deprecated and will be removed in the next major version.\");var r=n.securityDefinitions(),i=(0,l.List)();return t.valueSeq().forEach(function(e){var t=(0,l.Map)();e.entrySeq().forEach(function(e){var n=(0,s.default)(e,2),i=n[0],o=n[1],a=r.get(i),u=void 0;\"oauth2\"===a.get(\"type\")&&o.size&&(u=a.get(\"scopes\"),u.keySeq().forEach(function(e){o.contains(e)||(u=u.delete(e))}),a=a.set(\"allowedScopes\",u)),t=t.set(i,a)}),i=i.push(t)}),i}},t.definitionsForRequirements=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:(0,l.List)();return function(e){return(e.authSelectors.definitionsToAuthorize()||(0,l.List)()).filter(function(e){return t.some(function(t){return t.get(e.keySeq().first())})})}},t.authorized=(0,u.createSelector)(c,function(e){return e.get(\"authorized\")||(0,l.Map)()}),t.isAuthorized=function(e,t){return function(e){var n=e.authSelectors,r=n.authorized();return l.List.isList(t)?!!t.toJS().filter(function(e){return-1===(0,o.default)(e).map(function(e){return!!r.get(e)}).indexOf(!1)}).length:null}},t.getConfigs=(0,u.createSelector)(c,function(e){return e.get(\"configs\")})},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.execute=void 0;var r=n(20),i=function(e){return e&&e.__esModule?e:{default:e}}(r);t.execute=function(e,t){var n=t.authSelectors,r=t.specSelectors;return function(t){var o=t.path,a=t.method,s=t.operation,u=t.extras,l={authorized:n.authorized()&&n.authorized().toJS(),definitions:r.securityDefinitions()&&r.securityDefinitions().toJS(),specSecurity:r.security()&&r.security().toJS()};return e((0,i.default)({path:o,method:a,operation:s,securities:l},u))}}},function(e,t,n){\"use strict\";function r(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function i(e){return e&&e.__esModule?e:{default:e}}function o(){return{statePlugins:{spec:{actions:g,selectors:y},configs:{reducers:m.default,actions:p,selectors:h}}}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=o;var a=n(214),s=i(a),u=n(1020),l=i(u),c=n(170),p=r(c),f=n(285),h=r(f),d=n(284),m=i(d),v=function(e,t){try{return s.default.safeLoad(e)}catch(e){return t&&t.errActions.newThrownErr(new Error(e)),{}}},g={downloadConfig:function(e){return function(t){return(0,t.fn.fetch)(e)}},getConfigByUrl:function(e,t){return function(n){function r(n){n instanceof Error||n.status>=400?(i.updateLoadingStatus(\"failedConfig\"),i.updateLoadingStatus(\"failedConfig\"),i.updateUrl(\"\"),console.error(n.statusText+\" \"+e),t(null)):t(v(n.text))}var i=n.specActions;if(e)return i.downloadConfig(e).then(r,r)}}},y={getLocalConfig:function(){return v(l.default)}}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r,i=n(28),o=function(e){return e&&e.__esModule?e:{default:e}}(i),a=n(7),s=n(170);t.default=(r={},(0,o.default)(r,s.UPDATE_CONFIGS,function(e,t){return e.merge((0,a.fromJS)(t.payload))}),(0,o.default)(r,s.TOGGLE_CONFIGS,function(e,t){var n=t.payload,r=e.get(n);return e.set(n,!r)}),r)},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});t.get=function(e,t){return e.getIn(Array.isArray(t)?t:[t])}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});t.setHash=function(e){return e?history.pushState(null,null,\"#\"+e):window.location.hash=\"\"}},function(e,t,n){\"use strict\";function r(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(){return{statePlugins:{spec:{wrapActions:o},layout:{wrapActions:s}}}};var i=n(289),o=r(i),a=n(288),s=r(a)},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.show=void 0;var r=n(18),i=function(e){return e&&e.__esModule?e:{default:e}}(r),o=n(286),a=n(9);t.show=function(e,t){var n=t.getConfigs;return function(){for(var t=arguments.length,r=Array(t),s=0;s<t;s++)r[s]=arguments[s];e.apply(void 0,r);var u=n().deepLinking;if(u&&\"false\"!==u)try{var l=r[0],c=r[1],p=(0,i.default)(l,1),f=p[0];if(\"operations-tag\"===f||\"operations\"===f){if(!c)return(0,o.setHash)(\"/\");if(\"operations\"===f){var h=(0,i.default)(l,3),d=h[1],m=h[2];(0,o.setHash)(\"/\"+(0,a.createDeepLinkPath)(d)+\"/\"+(0,a.createDeepLinkPath)(m))}if(\"operations-tag\"===f){var v=(0,i.default)(l,2),g=v[1];(0,o.setHash)(\"/\"+(0,a.createDeepLinkPath)(g))}}}catch(e){console.error(e)}}}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.updateJsonSpec=void 0;var i=n(18),o=r(i),a=n(1222),s=r(a),u=n(9),l=!1;t.updateJsonSpec=function(e,t){var n=t.layoutActions,r=t.getConfigs;return function(){e.apply(void 0,arguments);var t=r().deepLinking;if(t&&\"false\"!==t){if(window.location.hash&&!l){var i=window.location.hash.slice(1);\"!\"===i[0]&&(i=i.slice(1)),\"/\"===i[0]&&(i=i.slice(1));var a=i.split(\"/\"),c=(0,o.default)(a,2),p=c[0],f=c[1],h=document.querySelector(\".swagger-ui\"),d=s.default.createScroller(h),m=void 0;p&&f?(n.show([\"operations-tag\",p],!0),n.show([\"operations\",p,f],!0),m=document.getElementById(\"operations-\"+(0,u.escapeDeepLinkPath)(p)+\"-\"+(0,u.escapeDeepLinkPath)(f))):p&&(n.show([\"operations-tag\",p],!0),m=document.getElementById(\"operations-tag-\"+(0,u.escapeDeepLinkPath)(p))),m&&(d.to(m),setTimeout(function(){0===s.default.getY()&&s.default.to(m)},50))}l=!0}}}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function i(e){var t=e.fn;return{statePlugins:{spec:{actions:{download:function(e){return function(n){function r(t){if(t instanceof Error||t.status>=400)return s.updateLoadingStatus(\"failed\"),o.newThrownErr((0,u.default)(new Error((t.message||t.statusText)+\" \"+e),{source:\"fetch\"})),void(!t.status&&t instanceof Error&&i());s.updateLoadingStatus(\"success\"),s.updateSpec(t.text),a.url()!==e&&s.updateUrl(e)}function i(){try{var t=void 0;if(\"URL\"in f.default?t=new URL(e):(t=document.createElement(\"a\"),t.href=e),\"https:\"!==t.protocol&&\"https:\"===f.default.location.protocol){var n=(0,u.default)(new Error(\"Possible mixed-content issue? The page was loaded over https:// but a \"+t.protocol+\"// URL was specified. Check that you are not attempting to load mixed content.\"),{source:\"fetch\"});return void o.newThrownErr(n)}if(t.origin!==f.default.location.origin){var r=(0,u.default)(new Error(\"Possible cross-origin (CORS) issue? The URL origin (\"+t.origin+\") does not match the page (\"+f.default.location.origin+\"). Check the server returns the correct 'Access-Control-Allow-*' headers.\"),{source:\"fetch\"});o.newThrownErr(r)}}catch(e){return}}var o=n.errActions,a=n.specSelectors,s=n.specActions,l=n.getConfigs,c=t.fetch,p=l();e=e||a.url(),s.updateLoadingStatus(\"loading\"),o.clear({source:\"fetch\"}),c({url:e,loadSpec:!0,requestInterceptor:p.requestInterceptor||function(e){return e},responseInterceptor:p.responseInterceptor||function(e){return e},credentials:\"same-origin\",headers:{Accept:\"application/json,*/*\"}}).then(r,r)}},updateLoadingStatus:function(e){var t=[null,\"loading\",\"failed\",\"success\",\"failedConfig\"];return-1===t.indexOf(e)&&console.error(\"Error: \"+e+\" is not one of \"+(0,a.default)(t)),{type:\"spec_update_loading_status\",payload:e}}},reducers:{spec_update_loading_status:function(e,t){return\"string\"==typeof t.payload?e.set(\"loadingStatus\",t.payload):e}},selectors:{loadingStatus:(0,l.createSelector)(function(e){return e||(0,c.Map)()},function(e){return e.get(\"loadingStatus\")||null})}}}}}Object.defineProperty(t,\"__esModule\",{value:!0});var o=n(37),a=r(o),s=n(27),u=r(s);t.default=i;var l=n(60),c=n(7),p=n(36),f=r(p)},function(e,t,n){\"use strict\";function r(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function i(e,t){var n={jsSpec:t.specSelectors.specJson().toJS()};return(0,a.default)(h,function(e,t){try{return t.transform(e,n).filter(function(e){return!!e})}catch(t){return console.error(\"Transformer error:\",t),e}},e).filter(function(e){return!!e}).map(function(e){return!e.get(\"line\")&&e.get(\"path\"),e})}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=i;var o=n(968),a=function(e){return e&&e.__esModule?e:{default:e}}(o),s=n(292),u=r(s),l=n(293),c=r(l),p=n(294),f=r(p),h=[u,c,f]},function(e,t,n){\"use strict\";function r(e){return e.map(function(e){var t=e.get(\"message\").indexOf(\"is not of a type(s)\");if(t>-1){var n=e.get(\"message\").slice(t+\"is not of a type(s)\".length).split(\",\");return e.set(\"message\",e.get(\"message\").slice(0,t)+i(n))}return e})}function i(e){return e.reduce(function(e,t,n,r){return n===r.length-1&&r.length>1?e+\"or \"+t:r[n+1]&&r.length>2?e+t+\", \":r[n+1]?e+t+\" \":e+t},\"should be a\")}Object.defineProperty(t,\"__esModule\",{value:!0}),t.transform=r},function(e,t,n){\"use strict\";function r(e,t){t.jsSpec;return e}Object.defineProperty(t,\"__esModule\",{value:!0}),t.transform=r;var i=n(227);(function(e){e&&e.__esModule})(i),n(7)},function(e,t,n){\"use strict\";function r(e){return e.map(function(e){return e.set(\"message\",i(e.get(\"message\"),\"instance.\"))})}function i(e,t){return e.replace(new RegExp(t,\"g\"),\"\")}Object.defineProperty(t,\"__esModule\",{value:!0}),t.transform=r},function(e,t,n){\"use strict\";function r(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e){return{statePlugins:{err:{reducers:(0,o.default)(e),actions:s,selectors:l}}}};var i=n(296),o=function(e){return e&&e.__esModule?e:{default:e}}(i),a=n(127),s=r(a),u=n(297),l=r(u)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(28),o=r(i),a=n(27),s=r(a);t.default=function(e){var t;return t={},(0,o.default)(t,u.NEW_THROWN_ERR,function(t,n){var r=n.payload,i=(0,s.default)(f,r,{type:\"thrown\"});return t.update(\"errors\",function(e){return(e||(0,l.List)()).push((0,l.fromJS)(i))}).update(\"errors\",function(t){return(0,p.default)(t,e.getSystem())})}),(0,o.default)(t,u.NEW_THROWN_ERR_BATCH,function(t,n){var r=n.payload;return r=r.map(function(e){return(0,l.fromJS)((0,s.default)(f,e,{type:\"thrown\"}))}),t.update(\"errors\",function(e){return(e||(0,l.List)()).concat((0,l.fromJS)(r))}).update(\"errors\",function(t){return(0,p.default)(t,e.getSystem())})}),(0,o.default)(t,u.NEW_SPEC_ERR,function(t,n){var r=n.payload,i=(0,l.fromJS)(r);return i=i.set(\"type\",\"spec\"),t.update(\"errors\",function(e){return(e||(0,l.List)()).push((0,l.fromJS)(i)).sortBy(function(e){return e.get(\"line\")})}).update(\"errors\",function(t){return(0,p.default)(t,e.getSystem())})}),(0,o.default)(t,u.NEW_SPEC_ERR_BATCH,function(t,n){var r=n.payload;return r=r.map(function(e){return(0,l.fromJS)((0,s.default)(f,e,{type:\"spec\"}))}),t.update(\"errors\",function(e){return(e||(0,l.List)()).concat((0,l.fromJS)(r))}).update(\"errors\",function(t){return(0,p.default)(t,e.getSystem())})}),(0,o.default)(t,u.NEW_AUTH_ERR,function(t,n){var r=n.payload,i=(0,l.fromJS)((0,s.default)({},r));return i=i.set(\"type\",\"auth\"),t.update(\"errors\",function(e){return(e||(0,l.List)()).push((0,l.fromJS)(i))}).update(\"errors\",function(t){return(0,p.default)(t,e.getSystem())})}),(0,o.default)(t,u.CLEAR,function(e,t){var n=t.payload;if(!n||!e.get(\"errors\"))return e;var r=e.get(\"errors\").filter(function(e){return e.keySeq().every(function(t){var r=e.get(t),i=n[t];return!i||r!==i})});return e.merge({errors:r})}),(0,o.default)(t,u.CLEAR_BY,function(e,t){var n=t.payload;if(!n||\"function\"!=typeof n)return e;var r=e.get(\"errors\").filter(function(e){return n(e)});return e.merge({errors:r})}),t};var u=n(127),l=n(7),c=n(291),p=r(c),f={line:0,level:\"error\",message:\"Unknown error\"}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.lastError=t.allErrors=void 0;var r=n(7),i=n(60),o=function(e){return e},a=t.allErrors=(0,i.createSelector)(o,function(e){return e.get(\"errors\",(0,r.List)())});t.lastError=(0,i.createSelector)(a,function(e){return e.last()})},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(){return{fn:{opsFilter:i.default}}};var r=n(299),i=function(e){return e&&e.__esModule?e:{default:e}}(r)},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e,t){return e.filter(function(e,n){return-1!==n.indexOf(t)})}},function(e,t,n){\"use strict\";function r(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(){return{statePlugins:{layout:{reducers:o.default,actions:s,selectors:l}}}};var i=n(301),o=function(e){return e&&e.__esModule?e:{default:e}}(i),a=n(171),s=r(a),u=n(302),l=r(u)},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r,i=n(28),o=function(e){return e&&e.__esModule?e:{default:e}}(i),a=n(7),s=n(171);t.default=(r={},(0,o.default)(r,s.UPDATE_LAYOUT,function(e,t){return e.set(\"layout\",t.payload)}),(0,o.default)(r,s.UPDATE_FILTER,function(e,t){return e.set(\"filter\",t.payload)}),(0,o.default)(r,s.SHOW,function(e,t){var n=t.payload.shown,r=(0,a.fromJS)(t.payload.thing);return e.update(\"shown\",(0,a.fromJS)({}),function(e){return e.set(r,n)})}),(0,o.default)(r,s.UPDATE_MODE,function(e,t){var n=t.payload.thing,r=t.payload.mode;return e.setIn([\"modes\"].concat(n),(r||\"\")+\"\")}),r)},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.showSummary=t.whatMode=t.isShown=t.currentFilter=t.current=void 0;var r=n(72),i=function(e){return e&&e.__esModule?e:{default:e}}(r),o=n(60),a=n(9),s=n(7),u=function(e){return e},l=(t.current=function(e){return e.get(\"layout\")},t.currentFilter=function(e){return e.get(\"filter\")},t.isShown=function(e,t,n){return t=(0,a.normalizeArray)(t),e.get(\"shown\",(0,s.fromJS)({})).get((0,s.fromJS)(t),n)});t.whatMode=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:\"\";return t=(0,a.normalizeArray)(t),e.getIn([\"modes\"].concat((0,i.default)(t)),n)},t.showSummary=(0,o.createSelector)(u,function(e){return!l(e,\"editor\")})},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e){function t(e){for(var t,n=arguments.length,r=Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];i(e)>=a&&(t=console)[e].apply(t,r)}var n=e.configs,r={debug:0,info:1,log:2,warn:3,error:4},i=function(e){return r[e]||-1},o=n.logLevel,a=i(o);return t.warn=t.bind(null,\"warn\"),t.error=t.bind(null,\"error\"),t.info=t.bind(null,\"info\"),t.debug=t.bind(null,\"debug\"),{rootInjects:{log:t}}}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.definitionsToAuthorize=void 0;var i=n(28),o=r(i),a=n(18),s=r(a),u=n(60),l=n(7),c=n(35),p=function(e){return e};t.definitionsToAuthorize=function(e){return function(t,n){return function(r){for(var i=arguments.length,o=Array(i>1?i-1:0),a=1;a<i;a++)o[a-1]=arguments[a];var s=n.getSystem().specSelectors.specJson();return(0,c.isOAS3)(s)?e.apply(void 0,[n].concat(o)):t.apply(void 0,o)}}}((0,u.createSelector)(p,function(e){return e.specSelectors.securityDefinitions()},function(e,t){var n=(0,l.List)();return t.entrySeq().forEach(function(e){var t=(0,s.default)(e,2),r=t[0],i=t[1],a=i.get(\"type\");\"oauth2\"===a&&i.get(\"flows\").entrySeq().forEach(function(e){var t=(0,s.default)(e,2),a=t[0],u=t[1],c=(0,l.fromJS)({flow:a,authorizationUrl:u.get(\"authorizationUrl\"),tokenUrl:u.get(\"tokenUrl\"),scopes:u.get(\"scopes\"),type:i.get(\"type\")});n=n.push(new l.Map((0,o.default)({},r,c.filter(function(e){return void 0!==e}))))}),\"http\"!==a&&\"apiKey\"!==a||(n=n.push(new l.Map((0,o.default)({},r,i))))}),n}))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(20),o=r(i),a=n(0),s=r(a),u=n(1),l=r(u),c=n(12),p=r(c),f=n(7),h=function(e){var t=e.callbacks,n=e.getComponent,r=e.specPath,i=n(\"OperationContainer\",!0);if(!t)return s.default.createElement(\"span\",null,\"No callbacks\");var a=t.map(function(t,n){return s.default.createElement(\"div\",{key:n},s.default.createElement(\"h2\",null,n),t.map(function(t,a){return s.default.createElement(\"div\",{key:a},t.map(function(t,u){var l=(0,f.fromJS)({operation:t});return s.default.createElement(i,(0,o.default)({},e,{op:l,key:u,tag:\"\",method:u,path:a,specPath:r.push(n,a,u),allowTryItOut:!1}))}))}))});return s.default.createElement(\"div\",null,a)};h.propTypes={getComponent:l.default.func.isRequired,callbacks:p.default.iterable.isRequired,specPath:p.default.list.isRequired},t.default=h},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(4),o=r(i),a=n(2),s=r(a),u=n(3),l=r(u),c=n(6),p=r(c),f=n(5),h=r(f),d=n(0),m=r(d),v=n(1),g=r(v),y=function(e){function t(e,n){(0,s.default)(this,t);var r=(0,p.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,n));_.call(r);var i=r.props,a=i.name,u=i.schema,l=r.getValue();return r.state={name:a,schema:u,value:l},r}return(0,h.default)(t,e),(0,l.default)(t,[{key:\"getValue\",value:function(){var e=this.props,t=e.name,n=e.authorized;return n&&n.getIn([t,\"value\"])}},{key:\"render\",value:function(){var e=this.props,t=e.schema,n=e.getComponent,r=e.errSelectors,i=e.name,o=n(\"Input\"),a=n(\"Row\"),s=n(\"Col\"),u=n(\"authError\"),l=n(\"Markdown\"),c=n(\"JumpToPath\",!0),p=t.get(\"scheme\"),f=this.getValue(),h=r.allErrors().filter(function(e){return e.get(\"authId\")===i});if(\"basic\"===p){var d=f?f.get(\"username\"):null;return m.default.createElement(\"div\",null,m.default.createElement(\"h4\",null,m.default.createElement(\"code\",null,i||t.get(\"name\")),\"  (http, Basic)\",m.default.createElement(c,{path:[\"securityDefinitions\",i]})),d&&m.default.createElement(\"h6\",null,\"Authorized\"),m.default.createElement(a,null,m.default.createElement(l,{source:t.get(\"description\")})),m.default.createElement(a,null,m.default.createElement(\"label\",null,\"Username:\"),d?m.default.createElement(\"code\",null,\" \",d,\" \"):m.default.createElement(s,null,m.default.createElement(o,{type:\"text\",required:\"required\",name:\"username\",onChange:this.onChange}))),m.default.createElement(a,null,m.default.createElement(\"label\",null,\"Password:\"),d?m.default.createElement(\"code\",null,\" ****** \"):m.default.createElement(s,null,m.default.createElement(o,{required:\"required\",autoComplete:\"new-password\",name:\"password\",type:\"password\",onChange:this.onChange}))),h.valueSeq().map(function(e,t){return m.default.createElement(u,{error:e,key:t})}))}return\"bearer\"===p?m.default.createElement(\"div\",null,m.default.createElement(\"h4\",null,m.default.createElement(\"code\",null,i||t.get(\"name\")),\"  (http, Bearer)\",m.default.createElement(c,{path:[\"securityDefinitions\",i]})),f&&m.default.createElement(\"h6\",null,\"Authorized\"),m.default.createElement(a,null,m.default.createElement(l,{source:t.get(\"description\")})),m.default.createElement(a,null,m.default.createElement(\"label\",null,\"Value:\"),f?m.default.createElement(\"code\",null,\" ****** \"):m.default.createElement(s,null,m.default.createElement(o,{type:\"text\",onChange:this.onChange}))),h.valueSeq().map(function(e,t){return m.default.createElement(u,{error:e,key:t})})):m.default.createElement(\"div\",null,m.default.createElement(\"em\",null,m.default.createElement(\"b\",null,i),\" HTTP authentication: unsupported or missing scheme\"))}}]),t}(m.default.Component);y.propTypes={authorized:g.default.object,getComponent:g.default.func.isRequired,errSelectors:g.default.object.isRequired,schema:g.default.object.isRequired,name:g.default.string.isRequired,onChange:g.default.func};var _=function(){var e=this;this.onChange=function(t){var n=e.props.onChange,r=t.target,i=r.value,o=r.name,a=e.state.value||{};o?a[o]=i:a=i,e.setState({value:a},function(){return n(e.state)})}};t.default=y},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(305),o=r(i),a=n(311),s=r(a),u=n(308),l=r(u),c=n(312),p=r(c),f=n(310),h=r(f),d=n(306),m=r(d),v=n(309),g=r(v);t.default={Callbacks:o.default,HttpAuth:m.default,RequestBody:s.default,Servers:p.default,RequestBodyEditor:h.default,OperationServers:g.default,operationLink:l.default}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){return\"string\"!=typeof t?\"\":t.split(\"\\n\").map(function(t,n){return n>0?Array(e+1).join(\" \")+t:t}).join(\"\\n\")}Object.defineProperty(t,\"__esModule\",{value:!0});var o=n(37),a=r(o),s=n(4),u=r(s),l=n(2),c=r(l),p=n(3),f=r(p),h=n(6),d=r(h),m=n(5),v=r(m),g=n(0),y=r(g),_=n(1),b=r(_),x=n(12),w=r(x),k=function(e){function t(){return(0,c.default)(this,t),(0,d.default)(this,(t.__proto__||(0,u.default)(t)).apply(this,arguments))}return(0,v.default)(t,e),(0,f.default)(t,[{key:\"render\",value:function(){var e=this.props,t=e.link,n=e.name,r=e.getComponent,o=r(\"Markdown\"),s=t.get(\"operationId\")||t.get(\"operationRef\"),u=t.get(\"parameters\")&&t.get(\"parameters\").toJS(),l=t.get(\"description\");return y.default.createElement(\"div\",{style:{marginBottom:\"1.5em\"}},y.default.createElement(\"div\",{style:{marginBottom:\".5em\"}},y.default.createElement(\"b\",null,y.default.createElement(\"code\",null,n)),l?y.default.createElement(o,{source:l}):null),y.default.createElement(\"pre\",null,\"Operation `\",s,\"`\",y.default.createElement(\"br\",null),y.default.createElement(\"br\",null),\"Parameters \",i(0,(0,a.default)(u,null,2))||\"{}\",y.default.createElement(\"br\",null)))}}]),t}(g.Component);k.propTypes={getComponent:b.default.func.isRequired,link:w.default.orderedMap.isRequired,name:b.default.String},t.default=k},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(20),o=r(i),a=n(4),s=r(a),u=n(2),l=r(u),c=n(3),p=r(c),f=n(6),h=r(f),d=n(5),m=r(d),v=n(0),g=r(v),y=n(1),_=r(y),b=n(12),x=r(b),w=function(e){function t(){var e,n,r,i;(0,l.default)(this,t);for(var a=arguments.length,u=Array(a),c=0;c<a;c++)u[c]=arguments[c];return n=r=(0,h.default)(this,(e=t.__proto__||(0,s.default)(t)).call.apply(e,[this].concat(u))),r.setSelectedServer=function(e){var t=r.props,n=t.path,i=t.method;return r.forceUpdate(),r.props.setSelectedServer(e,n+\":\"+i)},r.setServerVariableValue=function(e){var t=r.props,n=t.path,i=t.method;return r.forceUpdate(),r.props.setServerVariableValue((0,o.default)({},e,{namespace:n+\":\"+i}))},r.getSelectedServer=function(){var e=r.props,t=e.path,n=e.method;return r.props.getSelectedServer(t+\":\"+n)},r.getServerVariable=function(e,t){var n=r.props,i=n.path,o=n.method;return r.props.getServerVariable({namespace:i+\":\"+o,server:e},t)},r.getEffectiveServerValue=function(e){var t=r.props,n=t.path,i=t.method;return r.props.getEffectiveServerValue({server:e,namespace:n+\":\"+i})},i=n,(0,h.default)(r,i)}return(0,m.default)(t,e),(0,p.default)(t,[{key:\"render\",value:function(){var e=this.props,t=e.operationServers,n=e.pathServers,r=e.getComponent;if(!t&&!n)return null;var i=r(\"Servers\"),o=t||n,a=t?\"operation\":\"path\";return g.default.createElement(\"div\",{className:\"opblock-section operation-servers\"},g.default.createElement(\"div\",{className:\"opblock-section-header\"},g.default.createElement(\"div\",{className:\"tab-header\"},g.default.createElement(\"h4\",{className:\"opblock-title\"},\"Servers\"))),g.default.createElement(\"div\",{className:\"opblock-description-wrapper\"},g.default.createElement(\"h4\",{className:\"message\"},\"These \",a,\"-level options override the global server options.\"),g.default.createElement(i,{servers:o,currentServer:this.getSelectedServer(),setSelectedServer:this.setSelectedServer,setServerVariableValue:this.setServerVariableValue,getServerVariable:this.getServerVariable,getEffectiveServerValue:this.getEffectiveServerValue})))}}]),t}(g.default.Component);w.propTypes={path:_.default.string.isRequired,method:_.default.string.isRequired,operationServers:x.default.list,pathServers:x.default.list,setSelectedServer:_.default.func.isRequired,setServerVariableValue:_.default.func.isRequired,getSelectedServer:_.default.func.isRequired,getServerVariable:_.default.func.isRequired,getEffectiveServerValue:_.default.func.isRequired,getComponent:_.default.func.isRequired},t.default=w},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(4),o=r(i),a=n(2),s=r(a),u=n(3),l=r(u),c=n(6),p=r(c),f=n(5),h=r(f),d=n(0),m=r(d),v=n(1),g=r(v),y=n(7),_=n(9),b=Function.prototype,x=function(e){function t(e,n){(0,s.default)(this,t);var r=(0,p.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,n));return r.setValueToSample=function(e){r.onChange(r.sample(e))},r.resetValueToSample=function(e){r.setState({userDidModify:!1}),r.setValueToSample(e)},r.sample=function(e){var t=r.props,n=t.requestBody,i=t.mediaType,o=n.getIn([\"content\",e||i,\"schema\"]).toJS();return(0,_.getSampleSchema)(o,e||i,{includeWriteOnly:!0})},r.onChange=function(e){r.setState({value:e}),r.props.onChange(e)},r.handleOnChange=function(e){var t=r.props.mediaType,n=/json/i.test(t),i=n?e.target.value.trim():e.target.value;r.setState({userDidModify:!0}),r.onChange(i)},r.toggleIsEditBox=function(){return r.setState(function(e){return{isEditBox:!e.isEditBox}})},r.state={isEditBox:!1,userDidModify:!1,value:\"\"},r}return(0,h.default)(t,e),(0,l.default)(t,[{key:\"componentDidMount\",value:function(){this.setValueToSample.call(this)}},{key:\"componentWillReceiveProps\",value:function(e){this.props.mediaType!==e.mediaType&&this.setValueToSample(e.mediaType),!this.props.isExecute&&e.isExecute&&this.setState({isEditBox:!0})}},{key:\"componentDidUpdate\",value:function(e){this.props.requestBody!==e.requestBody&&this.setValueToSample(this.props.mediaType)}},{key:\"render\",value:function(){var e=this,t=this.props,n=t.isExecute,r=t.getComponent,i=t.mediaType,o=r(\"Button\"),a=r(\"TextArea\"),s=r(\"highlightCode\"),u=this.state,l=u.value,c=u.isEditBox,p=u.userDidModify;return m.default.createElement(\"div\",{className:\"body-param\"},c&&n?m.default.createElement(a,{className:\"body-param__text\",value:l,onChange:this.handleOnChange}):l&&m.default.createElement(s,{className:\"body-param__example\",value:l}),m.default.createElement(\"div\",{className:\"body-param-options\"},m.default.createElement(\"div\",{className:\"body-param-edit\"},n?m.default.createElement(o,{className:c?\"btn cancel body-param__example-edit\":\"btn edit body-param__example-edit\",onClick:this.toggleIsEditBox},c?\"Cancel\":\"Edit\"):null,p&&m.default.createElement(o,{className:\"btn ml3\",onClick:function(){e.resetValueToSample(i)}},\"Reset\"))))}}]),t}(d.PureComponent);x.propTypes={requestBody:g.default.object.isRequired,mediaType:g.default.string.isRequired,onChange:g.default.func,getComponent:g.default.func.isRequired,isExecute:g.default.bool,specSelectors:g.default.object.isRequired},x.defaultProps={mediaType:\"application/json\",requestBody:(0,y.fromJS)({}),onChange:b},t.default=x},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(0),o=r(i),a=n(1),s=r(a),u=n(12),l=r(u),c=n(7),p=function(e){var t=e.requestBody,n=e.getComponent,r=e.getConfigs,i=e.specSelectors,a=e.contentType,s=e.isExecute,u=e.specPath,l=e.onChange,p=n(\"Markdown\"),f=n(\"modelExample\"),h=n(\"RequestBodyEditor\"),d=t&&t.get(\"description\")||null,m=t&&t.get(\"content\")||new c.OrderedMap;a=a||m.keySeq().first();var v=m.get(a);return v?o.default.createElement(\"div\",null,d&&o.default.createElement(p,{source:d}),o.default.createElement(f,{getComponent:n,getConfigs:r,specSelectors:i,expandDepth:1,isExecute:s,schema:v.get(\"schema\"),specPath:u.push(\"content\",a),example:o.default.createElement(h,{requestBody:t,onChange:l,mediaType:a,getComponent:n,isExecute:s,specSelectors:i})})):null};p.propTypes={requestBody:l.default.orderedMap.isRequired,getComponent:s.default.func.isRequired,getConfigs:s.default.func.isRequired,specSelectors:s.default.object.isRequired,contentType:s.default.string,isExecute:s.default.bool.isRequired,onChange:s.default.func.isRequired,specPath:s.default.array.isRequired},t.default=p},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(4),o=r(i),a=n(2),s=r(a),u=n(3),l=r(u),c=n(6),p=r(c),f=n(5),h=r(f),d=n(0),m=r(d),v=n(7),g=n(1),y=r(g),_=n(12),b=r(_),x=function(e){function t(){var e,n,r,i;(0,s.default)(this,t);for(var a=arguments.length,u=Array(a),l=0;l<a;l++)u[l]=arguments[l];return n=r=(0,p.default)(this,(e=t.__proto__||(0,o.default)(t)).call.apply(e,[this].concat(u))),r.onServerChange=function(e){r.setServer(e.target.value)},r.onServerVariableValueChange=function(e){var t=r.props,n=t.setServerVariableValue,i=t.currentServer,o=e.target.getAttribute(\"data-variable\"),a=e.target.value;\"function\"==typeof n&&n({server:i,key:o,val:a})},r.setServer=function(e){(0,r.props.setSelectedServer)(e)},i=n,(0,p.default)(r,i)}return(0,h.default)(t,e),(0,l.default)(t,[{key:\"componentDidMount\",value:function(){var e=this.props,t=e.servers;e.currentServer||this.setServer(t.first().get(\"url\"))}},{key:\"componentWillReceiveProps\",value:function(e){var t=this.props,n=t.servers,r=t.setServerVariableValue,i=t.getServerVariable;if(this.props.currentServer!==e.currentServer){var o=n.find(function(t){return t.get(\"url\")===e.currentServer});if(!o)return this.setServer(n.first().get(\"url\"));(o.get(\"variables\")||(0,v.OrderedMap)()).map(function(t,n){i(e.currentServer,n)||r({server:e.currentServer,key:n,val:t.get(\"default\")||\"\"})})}}},{key:\"render\",value:function(){var e=this,t=this.props,n=t.servers,r=t.currentServer,i=t.getServerVariable,o=t.getEffectiveServerValue,a=n.find(function(e){return e.get(\"url\")===r})||(0,v.OrderedMap)(),s=a.get(\"variables\")||(0,v.OrderedMap)(),u=0!==s.size;return m.default.createElement(\"div\",{className:\"servers\"},m.default.createElement(\"label\",{htmlFor:\"servers\"},m.default.createElement(\"select\",{onChange:this.onServerChange},n.valueSeq().map(function(e){return m.default.createElement(\"option\",{value:e.get(\"url\"),key:e.get(\"url\")},e.get(\"url\"))}).toArray())),u?m.default.createElement(\"div\",null,m.default.createElement(\"div\",{className:\"computed-url\"},\"Computed URL:\",m.default.createElement(\"code\",null,o(r))),m.default.createElement(\"h4\",null,\"Server variables\"),m.default.createElement(\"table\",null,m.default.createElement(\"tbody\",null,s.map(function(t,n){return m.default.createElement(\"tr\",{key:n},m.default.createElement(\"td\",null,n),m.default.createElement(\"td\",null,t.get(\"enum\")?m.default.createElement(\"select\",{\"data-variable\":n,onChange:e.onServerVariableValueChange},t.get(\"enum\").map(function(e){return m.default.createElement(\"option\",{selected:e===i(r,n),key:e,value:e},e)})):m.default.createElement(\"input\",{type:\"text\",value:i(r,n)||\"\",onChange:e.onServerVariableValueChange,\"data-variable\":n})))})))):null)}}]),t}(m.default.Component);x.propTypes={servers:b.default.list.isRequired,currentServer:y.default.string.isRequired,setSelectedServer:y.default.func.isRequired,setServerVariableValue:y.default.func.isRequired,getServerVariable:y.default.func.isRequired,getEffectiveServerValue:y.default.func.isRequired},t.default=x},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function i(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(){return{components:f.default,wrapComponents:d.default,statePlugins:{spec:{wrapSelectors:a,selectors:c},auth:{wrapSelectors:u},oas3:{actions:v,reducers:b.default,selectors:y}}}};var o=n(317),a=i(o),s=n(304),u=i(s),l=n(316),c=i(l),p=n(307),f=r(p),h=n(319),d=r(h),m=n(172),v=i(m),g=n(315),y=i(g),_=n(314),b=r(_)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var i,o=n(28),a=r(o),s=n(18),u=r(s),l=n(172);t.default=(i={},(0,a.default)(i,l.UPDATE_SELECTED_SERVER,function(e,t){var n=t.payload,r=n.selectedServerUrl,i=n.namespace,o=i?[i,\"selectedServer\"]:[\"selectedServer\"];return e.setIn(o,r)}),(0,a.default)(i,l.UPDATE_REQUEST_BODY_VALUE,function(e,t){var n=t.payload,r=n.value,i=n.pathMethod,o=(0,u.default)(i,2),a=o[0],s=o[1];return e.setIn([\"requestData\",a,s,\"bodyValue\"],r)}),(0,a.default)(i,l.UPDATE_REQUEST_CONTENT_TYPE,function(e,t){var n=t.payload,r=n.value,i=n.pathMethod,o=(0,u.default)(i,2),a=o[0],s=o[1];return e.setIn([\"requestData\",a,s,\"requestContentType\"],r)}),(0,a.default)(i,l.UPDATE_RESPONSE_CONTENT_TYPE,function(e,t){var n=t.payload,r=n.value,i=n.path,o=n.method;return e.setIn([\"requestData\",i,o,\"responseContentType\"],r)}),(0,a.default)(i,l.UPDATE_SERVER_VARIABLE_VALUE,function(e,t){var n=t.payload,r=n.server,i=n.namespace,o=n.key,a=n.val,s=i?[i,\"serverVariableValues\",r,o]:[\"serverVariableValues\",r,o];return e.setIn(s,a)}),i)},function(e,t,n){\"use strict\";function r(e){return function(){for(var t=arguments.length,n=Array(t),r=0;r<t;r++)n[r]=arguments[r];return function(t){var r=t.getSystem().specSelectors.specJson();return(0,o.isOAS3)(r)?e.apply(void 0,n):null}}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.serverEffectiveValue=t.serverVariables=t.serverVariableValue=t.responseContentType=t.requestContentType=t.requestBodyValue=t.selectedServer=void 0;var i=n(7),o=n(35);t.selectedServer=r(function(e,t){var n=t?[t,\"selectedServer\"]:[\"selectedServer\"];return e.getIn(n)||\"\"}),t.requestBodyValue=r(function(e,t,n){return e.getIn([\"requestData\",t,n,\"bodyValue\"])||null}),t.requestContentType=r(function(e,t,n){return e.getIn([\"requestData\",t,n,\"requestContentType\"])||null}),t.responseContentType=r(function(e,t,n){return e.getIn([\"requestData\",t,n,\"responseContentType\"])||null}),t.serverVariableValue=r(function(e,t,n){var r=void 0;if(\"string\"!=typeof t){var i=t.server,o=t.namespace;r=o?[o,\"serverVariableValues\",i,n]:[\"serverVariableValues\",i,n]}else{r=[\"serverVariableValues\",t,n]}return e.getIn(r)||null}),t.serverVariables=r(function(e,t){var n=void 0;if(\"string\"!=typeof t){var r=t.server,o=t.namespace;n=o?[o,\"serverVariableValues\",r]:[\"serverVariableValues\",r]}else{n=[\"serverVariableValues\",t]}return e.getIn(n)||(0,i.OrderedMap)()}),t.serverEffectiveValue=r(function(e,t){var n,r;if(\"string\"!=typeof t){var o=t.server,a=t.namespace;r=o,n=a?e.getIn([a,\"serverVariableValues\",r]):e.getIn([\"serverVariableValues\",r])}else r=t,n=e.getIn([\"serverVariableValues\",r]);n=n||(0,i.OrderedMap)();var s=r;return n.map(function(e,t){s=s.replace(new RegExp(\"{\"+t+\"}\",\"g\"),e)}),s})},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.isSwagger2=t.servers=void 0;var r=n(60),i=n(7),o=n(35),a=function(e){return e||(0,i.Map)()},s=(0,r.createSelector)(a,function(e){return e.get(\"json\",(0,i.Map)())}),u=(0,r.createSelector)(a,function(e){return e.get(\"resolved\",(0,i.Map)())}),l=function(e){var t=u(e);return t.count()<1&&(t=s(e)),t};t.servers=function(e){return function(){return function(t){for(var n=arguments.length,r=Array(n>1?n-1:0),i=1;i<n;i++)r[i-1]=arguments[i];var a=t.getSystem().specSelectors.specJson();return(0,o.isOAS3)(a)?e.apply(void 0,r):null}}}((0,r.createSelector)(l,function(e){return e.getIn([\"servers\"])||(0,i.Map)()})),t.isSwagger2=function(e,t){return function(){var e=t.getSystem().specSelectors.specJson();return(0,o.isSwagger2)(e)}}},function(e,t,n){\"use strict\";function r(e){return function(t,n){return function(){var r=n.getSystem().specSelectors.specJson();return(0,a.isOAS3)(r)?e.apply(void 0,arguments):t.apply(void 0,arguments)}}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.isSwagger2=t.isOAS3=t.servers=t.schemes=t.produces=t.consumes=t.basePath=t.host=t.securityDefinitions=t.hasHost=t.definitions=void 0;var i=n(60),o=n(7),a=n(35),s=function(e){return e||(0,o.Map)()},u=(0,i.createSelector)(function(){return null}),l=r(u),c=(0,i.createSelector)(s,function(e){return e.get(\"json\",(0,o.Map)())}),p=(0,i.createSelector)(s,function(e){return e.get(\"resolved\",(0,o.Map)())}),f=function(e){var t=p(e);return t.count()<1&&(t=c(e)),t};t.definitions=r((0,i.createSelector)(f,function(e){return e.getIn([\"components\",\"schemas\"])||(0,o.Map)()})),t.hasHost=r(function(e){return f(e).hasIn([\"servers\",0])}),t.securityDefinitions=r((0,i.createSelector)(f,function(e){return e.getIn([\"components\",\"securitySchemes\"])||null})),t.host=l,t.basePath=l,t.consumes=l,t.produces=l,t.schemes=l,t.servers=r((0,i.createSelector)(f,function(e){return e.getIn([\"servers\"])||(0,o.Map)()})),t.isOAS3=function(e,t){return function(){var e=t.getSystem().specSelectors.specJson();return(0,a.isOAS3)(o.Map.isMap(e)?e:(0,o.Map)())}},t.isSwagger2=function(e,t){return function(){var e=t.getSystem().specSelectors.specJson();return(0,a.isSwagger2)(o.Map.isMap(e)?e:(0,o.Map)())}}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(97),o=r(i),a=n(0),s=r(a),u=n(35);t.default=(0,u.OAS3ComponentWrapFactory)(function(e){var t=e.Ori,n=(0,o.default)(e,[\"Ori\"]),r=n.schema,i=n.getComponent,a=n.errSelectors,u=n.authorized,l=n.onAuthChange,c=n.name,p=i(\"HttpAuth\");return\"http\"===r.get(\"type\")?s.default.createElement(p,{key:c,schema:r,name:c,errSelectors:a,authorized:u,getComponent:i,onChange:l}):s.default.createElement(t,n)})},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(320),o=r(i),a=n(318),s=r(a),u=n(323),l=r(u),c=n(324),p=r(c),f=n(322),h=r(f),d=n(321),m=r(d);t.default={Markdown:o.default,AuthItem:s.default,parameters:l.default,VersionStamp:p.default,model:m.default,onlineValidatorBadge:h.default}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.Markdown=void 0;var i=n(0),o=r(i),a=n(1),s=r(a),u=n(1095),l=r(u),c=n(590),p=n(35),f=n(274),h=t.Markdown=function(e){var t=e.source;if(t){var n=new c.Parser,r=new c.HtmlRenderer,i=r.render(n.parse(t||\"\")),a=(0,f.sanitizer)(i);return t&&i&&a?o.default.createElement(l.default,{source:a,className:\"renderedMarkdown\"}):null}return null};h.propTypes={source:s.default.string},t.default=(0,p.OAS3ComponentWrapFactory)(h)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(20),o=r(i),a=n(4),s=r(a),u=n(2),l=r(u),c=n(3),p=r(c),f=n(6),h=r(f),d=n(5),m=r(d),v=n(0),g=r(v),y=n(1),_=r(y),b=n(35),x=n(273),w=function(e){function t(){return(0,l.default)(this,t),(0,h.default)(this,(t.__proto__||(0,s.default)(t)).apply(this,arguments))}return(0,m.default)(t,e),(0,p.default)(t,[{key:\"render\",value:function(){var e=this.props,t=e.getConfigs,n=e.schema,r=[\"model-box\"],i=!0===n.get(\"deprecated\"),a=null;return i&&(r.push(\"deprecated\"),a=g.default.createElement(\"span\",{className:\"model-deprecated-warning\"},\"Deprecated:\")),g.default.createElement(\"div\",{className:r.join(\" \")},a,g.default.createElement(x.Model,(0,o.default)({},this.props,{getConfigs:t,depth:1,expandDepth:this.props.expandDepth||0})))}}]),t}(v.Component);w.propTypes={schema:_.default.object.isRequired,name:_.default.string,getComponent:_.default.func.isRequired,getConfigs:_.default.func.isRequired,specSelectors:_.default.object.isRequired,expandDepth:_.default.number},t.default=(0,b.OAS3ComponentWrapFactory)(w)},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(35);t.default=(0,r.OAS3ComponentWrapFactory)(function(){return null})},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(72),o=r(i),a=n(4),s=r(a),u=n(2),l=r(u),c=n(3),p=r(c),f=n(6),h=r(f),d=n(5),m=r(d),v=n(0),g=r(v),y=n(1),_=r(y),b=n(7),x=r(b),w=n(12),k=r(w),E=n(35),S=function(e,t){return e.valueSeq().filter(x.default.Map.isMap).map(t)},C=function(e){function t(e){(0,l.default)(this,t);var n=(0,h.default)(this,(t.__proto__||(0,s.default)(t)).call(this,e));return n.onChange=function(e,t,r){var i=n.props;(0,i.specActions.changeParam)(i.onChangeKey,e.get(\"name\"),e.get(\"in\"),t,r)},n.onChangeConsumesWrapper=function(e){var t=n.props;(0,t.specActions.changeConsumesValue)(t.onChangeKey,e)},n.toggleTab=function(e){return\"parameters\"===e?n.setState({parametersVisible:!0,callbackVisible:!1}):\"callbacks\"===e?n.setState({callbackVisible:!0,parametersVisible:!1}):void 0},n.state={callbackVisible:!1,parametersVisible:!0},n}return(0,m.default)(t,e),(0,p.default)(t,[{key:\"render\",value:function(){var e=this,t=this.props,n=t.onTryoutClick,r=t.onCancelClick,i=t.parameters,a=t.allowTryItOut,s=t.tryItOutEnabled,u=t.fn,l=t.getComponent,c=t.getConfigs,p=t.specSelectors,f=t.oas3Actions,h=t.oas3Selectors,d=t.pathMethod,m=t.specPath,v=t.operation,y=l(\"parameterRow\"),_=l(\"TryItOutButton\"),x=l(\"contentType\"),w=l(\"Callbacks\",!0),k=l(\"RequestBody\",!0),E=s&&a,C=p.isOAS3,A=v.get(\"requestBody\"),D=m.slice(0,-1).push(\"requestBody\");return g.default.createElement(\"div\",{className:\"opblock-section\"},g.default.createElement(\"div\",{className:\"opblock-section-header\"},g.default.createElement(\"div\",{className:\"tab-header\"},g.default.createElement(\"div\",{onClick:function(){return e.toggleTab(\"parameters\")},className:\"tab-item \"+(this.state.parametersVisible&&\"active\")},g.default.createElement(\"h4\",{className:\"opblock-title\"},g.default.createElement(\"span\",null,\"Parameters\"))),v.get(\"callbacks\")?g.default.createElement(\"div\",{onClick:function(){return e.toggleTab(\"callbacks\")},className:\"tab-item \"+(this.state.callbackVisible&&\"active\")},g.default.createElement(\"h4\",{className:\"opblock-title\"},g.default.createElement(\"span\",null,\"Callbacks\"))):null),a?g.default.createElement(_,{enabled:s,onCancelClick:r,onTryoutClick:n}):null),this.state.parametersVisible?g.default.createElement(\"div\",{className:\"parameters-container\"},i.count()?g.default.createElement(\"div\",{className:\"table-container\"},g.default.createElement(\"table\",{className:\"parameters\"},g.default.createElement(\"thead\",null,g.default.createElement(\"tr\",null,g.default.createElement(\"th\",{className:\"col col_header parameters-col_name\"},\"Name\"),g.default.createElement(\"th\",{className:\"col col_header parameters-col_description\"},\"Description\"))),g.default.createElement(\"tbody\",null,S(i,function(t,n){return g.default.createElement(y,{fn:u,getComponent:l,specPath:m.push(n),getConfigs:c,param:t,key:t.get(\"name\"),onChange:e.onChange,onChangeConsumes:e.onChangeConsumesWrapper,specSelectors:p,pathMethod:d,isExecute:E})}).toArray()))):g.default.createElement(\"div\",{className:\"opblock-description-wrapper\"},g.default.createElement(\"p\",null,\"No parameters\"))):\"\",this.state.callbackVisible?g.default.createElement(\"div\",{className:\"callbacks-container opblock-description-wrapper\"},g.default.createElement(w,{callbacks:(0,b.Map)(v.get(\"callbacks\")),specPath:m.slice(0,-1).push(\"callbacks\")})):\"\",C()&&A&&this.state.parametersVisible&&g.default.createElement(\"div\",{className:\"opblock-section\"},g.default.createElement(\"div\",{className:\"opblock-section-header\"},g.default.createElement(\"h4\",{className:\"opblock-title parameter__name \"+(A.get(\"required\")&&\"required\")},\"Request body\"),g.default.createElement(\"label\",null,g.default.createElement(x,{value:h.requestContentType.apply(h,(0,o.default)(d)),contentTypes:A.get(\"content\").keySeq(),onChange:function(e){f.setRequestContentType({value:e,pathMethod:d})},className:\"body-param-content-type\"}))),g.default.createElement(\"div\",{className:\"opblock-description-wrapper\"},g.default.createElement(k,{specPath:D,requestBody:A,isExecute:E,onChange:function(e){f.setRequestBodyValue({value:e,pathMethod:d})},contentType:h.requestContentType.apply(h,(0,o.default)(d))}))))}}]),t}(v.Component);C.propTypes={parameters:k.default.list.isRequired,specActions:_.default.object.isRequired,operation:_.default.object.isRequired,getComponent:_.default.func.isRequired,getConfigs:_.default.func.isRequired,specSelectors:_.default.object.isRequired,oas3Actions:_.default.object.isRequired,oas3Selectors:_.default.object.isRequired,fn:_.default.object.isRequired,tryItOutEnabled:_.default.bool,allowTryItOut:_.default.bool,specPath:k.default.list.isRequired,onTryoutClick:_.default.func,onCancelClick:_.default.func,onChangeKey:_.default.array,pathMethod:_.default.array.isRequired},C.defaultProps={onTryoutClick:Function.prototype,onCancelClick:Function.prototype,tryItOutEnabled:!1,allowTryItOut:!0,onChangeKey:[]},t.default=(0,E.OAS3ComponentWrapFactory)(C)},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(0),i=function(e){return e&&e.__esModule?e:{default:e}}(r),o=n(35);t.default=(0,o.OAS3ComponentWrapFactory)(function(e){var t=e.Ori;return i.default.createElement(\"span\",null,i.default.createElement(t,e),i.default.createElement(\"small\",{style:{backgroundColor:\"#89bf04\"}},i.default.createElement(\"pre\",{className:\"version\"},\"OAS3\")))})},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(){return{statePlugins:{spec:{wrapActions:{updateSpec:function(e){return function(){return r=!0,e.apply(void 0,arguments)}},updateJsonSpec:function(e,t){return function(){var n=t.getConfigs().onComplete;return r&&\"function\"==typeof n&&(setTimeout(n,0),r=!1),e.apply(void 0,arguments)}}}}}}};var r=!1},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(){return{fn:i}};var r=n(173),i=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(r)},function(e,t,n){\"use strict\";function r(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(){return{statePlugins:{spec:{wrapActions:p,reducers:o.default,actions:s,selectors:l}}}};var i=n(328),o=function(e){return e&&e.__esModule?e:{default:e}}(i),a=n(174),s=r(a),u=n(175),l=r(u),c=n(329),p=r(c)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var i,o=n(28),a=r(o),s=n(27),u=r(s),l=n(72),c=r(l),p=n(7),f=n(9),h=n(36),d=r(h),m=n(175),v=n(174);t.default=(i={},(0,a.default)(i,v.UPDATE_SPEC,function(e,t){return\"string\"==typeof t.payload?e.set(\"spec\",t.payload):e}),(0,a.default)(i,v.UPDATE_URL,function(e,t){return e.set(\"url\",t.payload+\"\")}),(0,a.default)(i,v.UPDATE_JSON,function(e,t){return e.set(\"json\",(0,f.fromJSOrdered)(t.payload))}),(0,a.default)(i,v.UPDATE_RESOLVED,function(e,t){return e.setIn([\"resolved\"],(0,f.fromJSOrdered)(t.payload))}),(0,a.default)(i,v.UPDATE_RESOLVED_SUBTREE,function(e,t){var n=t.payload,r=n.value,i=n.path;return e.setIn([\"resolvedSubtrees\"].concat((0,c.default)(i)),(0,f.fromJSOrdered)(r))}),(0,a.default)(i,v.UPDATE_PARAM,function(e,t){var n=t.payload,r=n.path,i=n.paramName,o=n.paramIn,a=n.value,s=n.isXml,u=s?\"value_xml\":\"value\";return e.setIn([\"meta\",\"paths\"].concat((0,c.default)(r),[\"parameters\",i+\".\"+o,u]),a)}),(0,a.default)(i,v.VALIDATE_PARAMS,function(e,t){var n=t.payload,r=n.pathMethod,i=n.isOAS3,o=e.getIn([\"meta\",\"paths\"].concat((0,c.default)(r)),(0,p.fromJS)({})),a=/xml/i.test(o.get(\"consumes_value\")),s=m.operationWithMeta.apply(void 0,[e].concat((0,c.default)(r)));return e.updateIn([\"meta\",\"paths\"].concat((0,c.default)(r),[\"parameters\"]),(0,p.fromJS)({}),function(e){return s.get(\"parameters\",(0,p.List)()).reduce(function(e,t){var n=(0,f.validateParam)(t,a,i);return e.setIn([t.get(\"name\")+\".\"+t.get(\"in\"),\"errors\"],(0,p.fromJS)(n))},e)})}),(0,a.default)(i,v.CLEAR_VALIDATE_PARAMS,function(e,t){var n=t.payload.pathMethod;return e.updateIn([\"meta\",\"paths\"].concat((0,c.default)(n),[\"parameters\"]),(0,p.fromJS)([]),function(e){return e.map(function(e){return e.set(\"errors\",(0,p.fromJS)([]))})})}),(0,a.default)(i,v.SET_RESPONSE,function(e,t){var n=t.payload,r=n.res,i=n.path,o=n.method,a=void 0;a=r.error?(0,u.default)({error:!0,name:r.err.name,message:r.err.message,statusCode:r.err.statusCode},r.err.response):r,a.headers=a.headers||{};var s=e.setIn([\"responses\",i,o],(0,f.fromJSOrdered)(a));return d.default.Blob&&r.data instanceof d.default.Blob&&(s=s.setIn([\"responses\",i,o,\"text\"],r.data)),s}),(0,a.default)(i,v.SET_REQUEST,function(e,t){var n=t.payload,r=n.req,i=n.path,o=n.method;return e.setIn([\"requests\",i,o],(0,f.fromJSOrdered)(r))}),(0,a.default)(i,v.SET_MUTATED_REQUEST,function(e,t){var n=t.payload,r=n.req,i=n.path,o=n.method;return e.setIn([\"mutatedRequests\",i,o],(0,f.fromJSOrdered)(r))}),(0,a.default)(i,v.UPDATE_OPERATION_META_VALUE,function(e,t){var n=t.payload,r=n.path,i=n.value,o=n.key,a=[\"paths\"].concat((0,c.default)(r)),s=[\"meta\",\"paths\"].concat((0,c.default)(r));return e.getIn([\"json\"].concat((0,c.default)(a)))||e.getIn([\"resolved\"].concat((0,c.default)(a)))?e.setIn([].concat((0,c.default)(s),[o]),(0,p.fromJS)(i)):e}),(0,a.default)(i,v.CLEAR_RESPONSE,function(e,t){var n=t.payload,r=n.path,i=n.method;return e.deleteIn([\"responses\",r,i])}),(0,a.default)(i,v.CLEAR_REQUEST,function(e,t){var n=t.payload,r=n.path,i=n.method;return e.deleteIn([\"requests\",r,i])}),(0,a.default)(i,v.SET_SCHEME,function(e,t){var n=t.payload,r=n.scheme,i=n.path,o=n.method;return i&&o?e.setIn([\"scheme\",i,o],r):i||o?void 0:e.setIn([\"scheme\",\"_defaultScheme\"],r)}),i)},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});t.updateSpec=function(e,t){var n=t.specActions;return function(){e.apply(void 0,arguments),n.parseToJson.apply(n,arguments)}},t.updateJsonSpec=function(e,t){var n=t.specActions;return function(){e.apply(void 0,arguments),n.invalidateResolvedSubtreeCache()}},t.executeRequest=function(e,t){var n=t.specActions;return function(t){return n.logRequest(t),e(t)}},t.validateParams=function(e,t){var n=t.specSelectors;return function(t){return e(t,n.isOAS3())}}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(4),o=r(i),a=n(2),s=r(a),u=n(3),l=r(u),c=n(6),p=r(c),f=n(5),h=r(f),d=n(0),m=r(d),v=n(1),g=r(v),y=n(1108),_=r(y),b=[\"split-pane-mode\"],x=\"left\",w=\"right\",k=\"both\",E=function(e){function t(){var e,n,r,i;(0,s.default)(this,t);for(var a=arguments.length,u=Array(a),l=0;l<a;l++)u[l]=arguments[l];return n=r=(0,p.default)(this,(e=t.__proto__||(0,o.default)(t)).call.apply(e,[this].concat(u))),r.initializeComponent=function(e){r.splitPane=e},r.onDragFinished=function(){var e=r.props,t=e.threshold,n=e.layoutActions,i=r.splitPane.state,o=i.position,a=i.draggedSize;r.draggedSize=a;var s=o<=t,u=a<=t;n.changeMode(b,s?w:u?x:k)},r.sizeFromMode=function(e,t){return e===x?(r.draggedSize=null,\"0px\"):e===w?(r.draggedSize=null,\"100%\"):r.draggedSize||t},i=n,(0,p.default)(r,i)}return(0,h.default)(t,e),(0,l.default)(t,[{key:\"render\",value:function(){var e=this.props,t=e.children,n=e.layoutSelectors,r=n.whatMode(b),i=r===w?m.default.createElement(\"noscript\",null):t[0],o=r===x?m.default.createElement(\"noscript\",null):t[1],a=this.sizeFromMode(r,\"50%\");return m.default.createElement(_.default,{disabledClass:\"\",ref:this.initializeComponent,split:\"vertical\",defaultSize:\"50%\",primary:\"second\",minSize:0,size:a,onDragFinished:this.onDragFinished,allowResize:r!==x&&r!==w,resizerStyle:{flex:\"0 0 auto\",position:\"relative\"}},i,o)}}]),t}(m.default.Component);E.propTypes={threshold:g.default.number,children:g.default.array,layoutSelectors:g.default.object.isRequired,layoutActions:g.default.object.isRequired},E.defaultProps={threshold:100,children:[]},t.default=E},function(e,t,n){\"use strict\";function r(){return{components:{SplitPaneMode:o.default}}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=r;var i=n(330),o=function(e){return e&&e.__esModule?e:{default:e}}(i)},function(e,t,n){\"use strict\";var r=n(508),i=function(e){return e&&e.__esModule?e:{default:e}}(r);e.exports=function(e){var t=e.configs;return{fn:{fetch:i.default.makeHttp(t.preFetch,t.postFetch),buildRequest:i.default.buildRequest,execute:i.default.execute,resolve:i.default.resolve,resolveSubtree:i.default.resolveSubtree,serializeRes:i.default.serializeRes,opId:i.default.helpers.opId}}}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(){return{fn:{shallowEqualKeys:r.shallowEqualKeys}}};var r=n(9)},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e){var t=e.getComponents,n=e.getStore,r=e.getSystem,a=i.getComponent,s=i.render,u=i.makeMappedContainer,l=(0,o.memoize)(a.bind(null,r,n,t));return{rootInjects:{getComponent:l,makeMappedContainer:(0,o.memoize)(u.bind(null,r,n,l,t)),render:s.bind(null,r,n,a,t)}}};var r=n(335),i=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(r),o=n(9)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.getComponent=t.render=t.makeMappedContainer=void 0;var i=n(48),o=r(i),a=n(47),s=r(a),u=n(27),l=r(u),c=n(20),p=r(c),f=n(4),h=r(f),d=n(2),m=r(d),v=n(3),g=r(v),y=n(6),_=r(y),b=n(5),x=r(b),w=n(0),k=r(w),E=n(462),S=r(E),C=n(1105),A=n(965),D=r(A),O=function(e,t){return function(n){function r(){return(0,m.default)(this,r),(0,_.default)(this,(r.__proto__||(0,h.default)(r)).apply(this,arguments))}return(0,x.default)(r,n),(0,g.default)(r,[{key:\"render\",value:function(){return k.default.createElement(t,(0,p.default)({},e(),this.props,this.context))}}]),r}(w.Component)},M=function(e,t){return function(n){function r(){return(0,m.default)(this,r),(0,_.default)(this,(r.__proto__||(0,h.default)(r)).apply(this,arguments))}return(0,x.default)(r,n),(0,g.default)(r,[{key:\"render\",value:function(){return k.default.createElement(C.Provider,{store:e},k.default.createElement(t,(0,p.default)({},this.props,this.context)))}}]),r}(w.Component)},T=function(e,t,n){var r=function(n,r){var i=(0,l.default)({},r,e());return(t.prototype.mapStateToProps||function(e){return{state:e}})(n,i)},i=O(e,t),o=(0,C.connect)(r)(i);return n?M(n,o):o},P=function(e,t,n,r){for(var i in t){var o=t[i];\"function\"==typeof o&&o(n[i],r[i],e())}},I=(t.makeMappedContainer=function(e,t,n,r,i,o){return function(t){function r(t,n){(0,m.default)(this,r);var i=(0,_.default)(this,(r.__proto__||(0,h.default)(r)).call(this,t,n));return P(e,o,t,{}),i}return(0,x.default)(r,t),(0,g.default)(r,[{key:\"componentWillReceiveProps\",value:function(t){P(e,o,t,this.props)}},{key:\"render\",value:function(){var e=(0,D.default)(this.props,o?(0,s.default)(o):[]),t=n(i,\"root\");return k.default.createElement(t,e)}}]),r}(w.Component)},t.render=function(e,t,n,r,i){var o=n(e,t,r,\"App\",\"root\");S.default.render(k.default.createElement(o,null),i)},function(e){return function(t){function n(){return(0,m.default)(this,n),(0,_.default)(this,(n.__proto__||(0,h.default)(n)).apply(this,arguments))}return(0,x.default)(n,t),(0,g.default)(n,[{key:\"render\",value:function(){return e(this.props)}}]),n}(w.Component)}),R=function(e){var t=e.name;return k.default.createElement(\"div\",{style:{padding:\"1em\",color:\"#aaa\"}},\"😱 \",k.default.createElement(\"i\",null,\"Could not render \",\"t\"===t?\"this component\":t,\", see the console.\"))},j=function(e){var t=function(e){return!(e.prototype&&e.prototype.isReactComponent)}(e)?I(e):e,n=t.prototype.render;return t.prototype.render=function(){try{for(var e=arguments.length,r=Array(e),i=0;i<e;i++)r[i]=arguments[i];return n.apply(this,r)}catch(e){return console.error(e),k.default.createElement(R,{error:e,name:t.name})}},t};t.getComponent=function(e,t,n,r,i){if(\"string\"!=typeof r)throw new TypeError(\"Need a string, to fetch a component. Was given a \"+(void 0===r?\"undefined\":(0,o.default)(r)));var a=n(r);return a?i?\"root\"===i?T(e,a,t()):T(e,j(a)):j(a):(e().log.warn(\"Could not find component\",r),null)}},function(e,t,n){e.exports={default:n(603),__esModule:!0}},function(e,t,n){e.exports={default:n(604),__esModule:!0}},function(e,t,n){\"use strict\";t.__esModule=!0;var r=n(128),i=function(e){return e&&e.__esModule?e:{default:e}}(r);t.default=function(e){return function(){var t=e.apply(this,arguments);return new i.default(function(e,n){function r(o,a){try{var s=t[o](a),u=s.value}catch(e){return void n(e)}if(!s.done)return i.default.resolve(u).then(function(e){r(\"next\",e)},function(e){r(\"throw\",e)});e(u)}return r(\"next\")})}}},function(e,t,n){e.exports=n(1139)},function(e,t,n){\"use strict\";function r(){}function i(e){var t,n,r=e.walker();for(this.buffer=\"\",this.lastOut=\"\\n\";t=r.next();)n=t.node.type,this[n]&&this[n](t.node,t.entering);return this.buffer}function o(e){this.buffer+=e,this.lastOut=e}function a(){\"\\n\"!==this.lastOut&&this.lit(\"\\n\")}function s(e){this.lit(e)}function u(e){return e}r.prototype.render=i,r.prototype.out=s,r.prototype.lit=o,r.prototype.cr=a,r.prototype.esc=u,e.exports=r},function(e,t,n){var r=n(24).document;e.exports=r&&r.documentElement},function(e,t,n){e.exports=!n(49)&&!n(55)(function(){return 7!=Object.defineProperty(n(181)(\"div\"),\"a\",{get:function(){return 7}}).a})},function(e,t,n){var r=n(74),i=n(21)(\"iterator\"),o=Array.prototype;e.exports=function(e){return void 0!==e&&(r.Array===e||o[i]===e)}},function(e,t,n){var r=n(99);e.exports=Array.isArray||function(e){return\"Array\"==r(e)}},function(e,t,n){var r=n(38);e.exports=function(e,t,n,i){try{return i?t(r(n)[0],n[1]):t(n)}catch(t){var o=e.return;throw void 0!==o&&r(o.call(e)),t}}},function(e,t,n){\"use strict\";var r=n(130),i=n(23),o=n(188),a=n(57),s=n(56),u=n(74),l=n(621),c=n(102),p=n(351),f=n(21)(\"iterator\"),h=!([].keys&&\"next\"in[].keys()),d=function(){return this};e.exports=function(e,t,n,m,v,g,y){l(n,t,m);var _,b,x,w=function(e){if(!h&&e in C)return C[e];switch(e){case\"keys\":case\"values\":return function(){return new n(this,e)}}return function(){return new n(this,e)}},k=t+\" Iterator\",E=\"values\"==v,S=!1,C=e.prototype,A=C[f]||C[\"@@iterator\"]||v&&C[v],D=!h&&A||w(v),O=v?E?w(\"entries\"):D:void 0,M=\"Array\"==t?C.entries||A:A;if(M&&(x=p(M.call(new e)))!==Object.prototype&&x.next&&(c(x,k,!0),r||s(x,f)||a(x,f,d)),E&&A&&\"values\"!==A.name&&(S=!0,D=function(){return A.call(this)}),r&&!y||!h&&!S&&C[f]||a(C,f,D),u[t]=D,u[k]=d,v)if(_={values:E?D:w(\"values\"),keys:g?D:w(\"keys\"),entries:O},y)for(b in _)b in C||o(C,b,_[b]);else i(i.P+i.F*(h||S),t,_);return _}},function(e,t,n){var r=n(21)(\"iterator\"),i=!1;try{var o=[7][r]();o.return=function(){i=!0},Array.from(o,function(){throw 2})}catch(e){}e.exports=function(e,t){if(!t&&!i)return!1;var n=!1;try{var o=[7],a=o[r]();a.next=function(){return{done:n=!0}},o[r]=function(){return a},e(o)}catch(e){}return n}},function(e,t,n){\"use strict\";var r=n(100),i=n(186),o=n(132),a=n(76),s=n(183),u=Object.assign;e.exports=!u||n(55)(function(){var e={},t={},n=Symbol(),r=\"abcdefghijklmnopqrst\";return e[n]=7,r.split(\"\").forEach(function(e){t[e]=e}),7!=u({},e)[n]||Object.keys(u({},t)).join(\"\")!=r})?function(e,t){for(var n=a(e),u=arguments.length,l=1,c=i.f,p=o.f;u>l;)for(var f,h=s(arguments[l++]),d=c?r(h).concat(c(h)):r(h),m=d.length,v=0;m>v;)p.call(h,f=d[v++])&&(n[f]=h[f]);return n}:u},function(e,t,n){var r=n(132),i=n(101),o=n(75),a=n(192),s=n(56),u=n(342),l=Object.getOwnPropertyDescriptor;t.f=n(49)?l:function(e,t){if(e=o(e),t=a(t,!0),u)try{return l(e,t)}catch(e){}if(s(e,t))return i(!r.f.call(e,t),e[t])}},function(e,t,n){var r=n(352),i=n(182).concat(\"length\",\"prototype\");t.f=Object.getOwnPropertyNames||function(e){return r(e,i)}},function(e,t,n){var r=n(56),i=n(76),o=n(189)(\"IE_PROTO\"),a=Object.prototype;e.exports=Object.getPrototypeOf||function(e){return e=i(e),r(e,o)?e[o]:\"function\"==typeof e.constructor&&e instanceof e.constructor?e.constructor.prototype:e instanceof Object?a:null}},function(e,t,n){var r=n(56),i=n(75),o=n(613)(!1),a=n(189)(\"IE_PROTO\");e.exports=function(e,t){var n,s=i(e),u=0,l=[];for(n in s)n!=a&&r(s,n)&&l.push(n);for(;t.length>u;)r(s,n=t[u++])&&(~o(l,n)||l.push(n));return l}},function(e,t,n){var r=n(23),i=n(15),o=n(55);e.exports=function(e,t){var n=(i.Object||{})[e]||Object[e],a={};a[e]=t(n),r(r.S+r.F*o(function(){n(1)}),\"Object\",a)}},function(e,t){e.exports=function(e){try{return{e:!1,v:e()}}catch(e){return{e:!0,v:e}}}},function(e,t,n){var r=n(38),i=n(29),o=n(184);e.exports=function(e,t){if(r(e),i(t)&&t.constructor===e)return t;var n=o.f(e);return(0,n.resolve)(t),n.promise}},function(e,t,n){var r=n(38),i=n(98),o=n(21)(\"species\");e.exports=function(e,t){var n,a=r(e).constructor;return void 0===a||void 0==(n=r(a)[o])?t:i(n)}},function(e,t,n){var r,i,o,a=n(54),s=n(620),u=n(341),l=n(181),c=n(24),p=c.process,f=c.setImmediate,h=c.clearImmediate,d=c.MessageChannel,m=c.Dispatch,v=0,g={},y=function(){var e=+this;if(g.hasOwnProperty(e)){var t=g[e];delete g[e],t()}},_=function(e){y.call(e.data)};f&&h||(f=function(e){for(var t=[],n=1;arguments.length>n;)t.push(arguments[n++]);return g[++v]=function(){s(\"function\"==typeof e?e:Function(e),t)},r(v),v},h=function(e){delete g[e]},\"process\"==n(99)(p)?r=function(e){p.nextTick(a(y,e,1))}:m&&m.now?r=function(e){m.now(a(y,e,1))}:d?(i=new d,o=i.port2,i.port1.onmessage=_,r=a(o.postMessage,o,1)):c.addEventListener&&\"function\"==typeof postMessage&&!c.importScripts?(r=function(e){c.postMessage(e+\"\",\"*\")},c.addEventListener(\"message\",_,!1)):r=\"onreadystatechange\"in l(\"script\")?function(e){u.appendChild(l(\"script\")).onreadystatechange=function(){u.removeChild(this),y.call(e)}}:function(e){setTimeout(a(y,e,1),0)}),e.exports={set:f,clear:h}},function(e,t,n){var r=n(29);e.exports=function(e,t){if(!r(e)||e._t!==t)throw TypeError(\"Incompatible receiver, \"+t+\" required!\");return e}},function(e,t){e.exports=\"constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf\".split(\",\")},function(e,t,n){var r=n(32).document;e.exports=r&&r.documentElement},function(e,t,n){var r=n(77),i=n(105),o=n(19)(\"match\");e.exports=function(e){var t;return r(e)&&(void 0!==(t=e[o])?!!t:\"RegExp\"==i(e))}},function(e,t,n){\"use strict\";var r=n(363),i=n(30),o=n(78),a=n(64),s=n(108),u=n(109),l=n(660),c=n(201),p=n(666),f=n(19)(\"iterator\"),h=!([].keys&&\"next\"in[].keys()),d=function(){return this};e.exports=function(e,t,n,m,v,g,y){l(n,t,m);var _,b,x,w=function(e){if(!h&&e in C)return C[e];switch(e){case\"keys\":case\"values\":return function(){return new n(this,e)}}return function(){return new n(this,e)}},k=t+\" Iterator\",E=\"values\"==v,S=!1,C=e.prototype,A=C[f]||C[\"@@iterator\"]||v&&C[v],D=!h&&A||w(v),O=v?E?w(\"entries\"):D:void 0,M=\"Array\"==t?C.entries||A:A;if(M&&(x=p(M.call(new e)))!==Object.prototype&&x.next&&(c(x,k,!0),r||s(x,f)||a(x,f,d)),E&&A&&\"values\"!==A.name&&(S=!0,D=function(){return A.call(this)}),r&&!y||!h&&!S&&C[f]||a(C,f,D),u[t]=D,u[k]=d,v)if(_={values:E?D:w(\"values\"),keys:g?D:w(\"keys\"),entries:O},y)for(b in _)b in C||o(C,b,_[b]);else i(i.P+i.F*(h||S),t,_);return _}},function(e,t){e.exports=!1},function(e,t,n){var r=n(667),i=n(359);e.exports=Object.keys||function(e){return r(e,i)}},function(e,t){e.exports=function(e){try{return{e:!1,v:e()}}catch(e){return{e:!0,v:e}}}},function(e,t,n){var r=n(62),i=n(77),o=n(200);e.exports=function(e,t){if(r(e),i(t)&&t.constructor===e)return t;var n=o.f(e);return(0,n.resolve)(t),n.promise}},function(e,t){e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},function(e,t,n){var r=n(32),i=r[\"__core-js_shared__\"]||(r[\"__core-js_shared__\"]={});e.exports=function(e){return i[e]||(i[e]={})}},function(e,t,n){var r=n(62),i=n(135),o=n(19)(\"species\");e.exports=function(e,t){var n,a=r(e).constructor;return void 0===a||void 0==(n=r(a)[o])?t:i(n)}},function(e,t,n){var r=n(139),i=n(58);e.exports=function(e){return function(t,n){var o,a,s=String(i(t)),u=r(n),l=s.length;return u<0||u>=l?e?\"\":void 0:(o=s.charCodeAt(u),o<55296||o>56319||u+1===l||(a=s.charCodeAt(u+1))<56320||a>57343?e?s.charAt(u):o:e?s.slice(u,u+2):a-56320+(o-55296<<10)+65536)}}},function(e,t,n){var r,i,o,a=n(136),s=n(656),u=n(360),l=n(198),c=n(32),p=c.process,f=c.setImmediate,h=c.clearImmediate,d=c.MessageChannel,m=c.Dispatch,v=0,g={},y=function(){var e=+this;if(g.hasOwnProperty(e)){var t=g[e];delete g[e],t()}},_=function(e){y.call(e.data)};f&&h||(f=function(e){for(var t=[],n=1;arguments.length>n;)t.push(arguments[n++]);return g[++v]=function(){s(\"function\"==typeof e?e:Function(e),t)},r(v),v},h=function(e){delete g[e]},\"process\"==n(105)(p)?r=function(e){p.nextTick(a(y,e,1))}:m&&m.now?r=function(e){m.now(a(y,e,1))}:d?(i=new d,o=i.port2,i.port1.onmessage=_,r=a(o.postMessage,o,1)):c.addEventListener&&\"function\"==typeof postMessage&&!c.importScripts?(r=function(e){c.postMessage(e+\"\",\"*\")},c.addEventListener(\"message\",_,!1)):r=\"onreadystatechange\"in l(\"script\")?function(e){u.appendChild(l(\"script\")).onreadystatechange=function(){u.removeChild(this),y.call(e)}}:function(e){setTimeout(a(y,e,1),0)}),e.exports={set:f,clear:h}},function(e,t,n){var r=n(139),i=Math.max,o=Math.min;e.exports=function(e,t){return e=r(e),e<0?i(e+t,0):o(e,t)}},function(e,t,n){\"use strict\";var r=n(370)(!0);n(362)(String,\"String\",function(e){this._t=String(e),this._i=0},function(){var e,t=this._t,n=this._i;return n>=t.length?{value:void 0,done:!0}:(e=r(t,n),this._i+=e.length,{value:e,done:!1})})},function(e,t,n){\"use strict\";function r(e){return(0,o.default)(e)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=r;var i=n(778),o=function(e){return e&&e.__esModule?e:{default:e}}(i);e.exports=t.default},function(e,t,n){function r(e){return null===e||void 0===e}function i(e){return!(!e||\"object\"!=typeof e||\"number\"!=typeof e.length)&&(\"function\"==typeof e.copy&&\"function\"==typeof e.slice&&!(e.length>0&&\"number\"!=typeof e[0]))}function o(e,t,n){var o,c;if(r(e)||r(t))return!1;if(e.prototype!==t.prototype)return!1;if(u(e))return!!u(t)&&(e=a.call(e),t=a.call(t),l(e,t,n));if(i(e)){if(!i(t))return!1;if(e.length!==t.length)return!1;for(o=0;o<e.length;o++)if(e[o]!==t[o])return!1;return!0}try{var p=s(e),f=s(t)}catch(e){return!1}if(p.length!=f.length)return!1;for(p.sort(),f.sort(),o=p.length-1;o>=0;o--)if(p[o]!=f[o])return!1;for(o=p.length-1;o>=0;o--)if(c=p[o],!l(e[c],t[c],n))return!1;return typeof e==typeof t}var a=Array.prototype.slice,s=n(712),u=n(711),l=e.exports=function(e,t,n){return n||(n={}),e===t||(e instanceof Date&&t instanceof Date?e.getTime()===t.getTime():!e||!t||\"object\"!=typeof e&&\"object\"!=typeof t?n.strict?e===t:e==t:o(e,t,n))}},function(e,t){var n=e.exports={get firstChild(){var e=this.children;return e&&e[0]||null},get lastChild(){var e=this.children;return e&&e[e.length-1]||null},get nodeType(){return i[this.type]||i.element}},r={tagName:\"name\",childNodes:\"children\",parentNode:\"parent\",previousSibling:\"prev\",nextSibling:\"next\",nodeValue:\"data\"},i={element:1,text:3,cdata:4,comment:8};Object.keys(r).forEach(function(e){var t=r[e];Object.defineProperty(n,e,{get:function(){return this[t]||null},set:function(e){return this[t]=e,e}})})},function(e,t,n){function r(e){if(e>=55296&&e<=57343||e>1114111)return\"�\";e in i&&(e=i[e]);var t=\"\";return e>65535&&(e-=65536,t+=String.fromCharCode(e>>>10&1023|55296),e=56320|1023&e),t+=String.fromCharCode(e)}var i=n(727);e.exports=r},function(e,t){e.exports={Aacute:\"Á\",aacute:\"á\",Acirc:\"Â\",acirc:\"â\",acute:\"´\",AElig:\"Æ\",aelig:\"æ\",Agrave:\"À\",agrave:\"à\",amp:\"&\",AMP:\"&\",Aring:\"Å\",aring:\"å\",Atilde:\"Ã\",atilde:\"ã\",Auml:\"Ä\",auml:\"ä\",brvbar:\"¦\",Ccedil:\"Ç\",ccedil:\"ç\",cedil:\"¸\",cent:\"¢\",copy:\"©\",COPY:\"©\",curren:\"¤\",deg:\"°\",divide:\"÷\",Eacute:\"É\",eacute:\"é\",Ecirc:\"Ê\",ecirc:\"ê\",Egrave:\"È\",egrave:\"è\",ETH:\"Ð\",eth:\"ð\",Euml:\"Ë\",euml:\"ë\",frac12:\"½\",frac14:\"¼\",frac34:\"¾\",gt:\">\",GT:\">\",Iacute:\"Í\",iacute:\"í\",Icirc:\"Î\",icirc:\"î\",iexcl:\"¡\",Igrave:\"Ì\",igrave:\"ì\",iquest:\"¿\",Iuml:\"Ï\",iuml:\"ï\",laquo:\"«\",lt:\"<\",LT:\"<\",macr:\"¯\",micro:\"µ\",middot:\"·\",nbsp:\" \",not:\"¬\",Ntilde:\"Ñ\",ntilde:\"ñ\",Oacute:\"Ó\",oacute:\"ó\",Ocirc:\"Ô\",ocirc:\"ô\",Ograve:\"Ò\",ograve:\"ò\",ordf:\"ª\",ordm:\"º\",Oslash:\"Ø\",oslash:\"ø\",Otilde:\"Õ\",otilde:\"õ\",Ouml:\"Ö\",ouml:\"ö\",para:\"¶\",plusmn:\"±\",pound:\"£\",quot:'\"',QUOT:'\"',raquo:\"»\",reg:\"®\",REG:\"®\",sect:\"§\",shy:\"­\",sup1:\"¹\",sup2:\"²\",sup3:\"³\",szlig:\"ß\",THORN:\"Þ\",thorn:\"þ\",times:\"×\",Uacute:\"Ú\",uacute:\"ú\",Ucirc:\"Û\",ucirc:\"û\",Ugrave:\"Ù\",ugrave:\"ù\",uml:\"¨\",Uuml:\"Ü\",uuml:\"ü\",Yacute:\"Ý\",yacute:\"ý\",yen:\"¥\",yuml:\"ÿ\"}},function(e,t,n){\"use strict\";var r,i,o,a,s=n(65),u=function(e,t){return t};try{Object.defineProperty(u,\"length\",{configurable:!0,writable:!1,enumerable:!1,value:1})}catch(e){}1===u.length?(r={configurable:!0,writable:!1,enumerable:!1},i=Object.defineProperty,e.exports=function(e,t){return t=s(t),e.length===t?e:(r.value=t,i(e,\"length\",r))}):(a=n(383),o=function(){var e=[];return function(t){var n,r=0;if(e[t])return e[t];for(n=[];t--;)n.push(\"a\"+(++r).toString(36));return new Function(\"fn\",\"return function (\"+n.join(\", \")+\") { return fn.apply(this, arguments); };\")}}(),e.exports=function(e,t){var n;if(t=s(t),e.length===t)return e;n=o(t)(e);try{a(n,e)}catch(e){}return n})},function(e,t,n){\"use strict\";e.exports=function(){}},function(e,t,n){\"use strict\";e.exports=n(742)()?Object.assign:n(743)},function(e,t,n){\"use strict\";var r=n(59),i=n(142),o=Function.prototype.call;e.exports=function(e,t){var n={},a=arguments[2];return r(t),i(e,function(e,r,i,s){n[r]=o.call(t,a,e,r,i,s)}),n}},function(e,t,n){\"use strict\";var r=n(115),i=Object.defineProperty,o=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,s=Object.getOwnPropertySymbols;e.exports=function(e,t){var n,u=Object(r(t));if(e=Object(r(e)),a(u).forEach(function(r){try{i(e,r,o(t,r))}catch(e){n=e}}),\"function\"==typeof s&&s(u).forEach(function(r){try{i(e,r,o(t,r))}catch(e){n=e}}),void 0!==n)throw n;return e}},function(e,t,n){\"use strict\";var r=n(79),i=Array.prototype.forEach,o=Object.create,a=function(e,t){var n;for(n in e)t[n]=e[n]};e.exports=function(e){var t=o(null);return i.call(arguments,function(e){r(e)&&a(Object(e),t)}),t}},function(e,t,n){function r(e,t){if(\"\"==t)return e;var n={op:\"_get\",path:t};return i(e,n),n.value}function i(e,n,i,o){if(void 0===i&&(i=!1),void 0===o&&(o=!0),i&&(\"function\"==typeof i?i(n,0,e,n.path):s(n,0)),\"\"===n.path){var a={newDocument:e};if(\"add\"===n.op)return a.newDocument=n.value,a;if(\"replace\"===n.op)return a.newDocument=n.value,a.removed=e,a;if(\"move\"===n.op||\"copy\"===n.op)return a.newDocument=r(e,n.from),\"move\"===n.op&&(a.removed=e),a;if(\"test\"===n.op){if(a.test=p(e,n.value),!1===a.test)throw new t.JsonPatchError(\"Test operation failed\",\"TEST_OPERATION_FAILED\",0,n,e);return a.newDocument=e,a}if(\"remove\"===n.op)return a.removed=e,a.newDocument=null,a;if(\"_get\"===n.op)return n.value=e,a;if(i)throw new t.JsonPatchError(\"Operation `op` property is not one of operations defined in RFC-6902\",\"OPERATION_OP_INVALID\",0,n,e);return a}o||(e=f._deepClone(e));var u=n.path||\"\",l=u.split(\"/\"),c=e,m=1,v=l.length,g=void 0,y=void 0,_=void 0;for(_=\"function\"==typeof i?i:s;;){if(y=l[m],i&&void 0===g&&(void 0===c[y]?g=l.slice(0,m).join(\"/\"):m==v-1&&(g=n.path),void 0!==g&&_(n,0,e,g)),m++,Array.isArray(c)){if(\"-\"===y)y=c.length;else{if(i&&!f.isInteger(y))throw new t.JsonPatchError(\"Expected an unsigned base-10 integer value, making the new referenced value the array element with the zero-based index\",\"OPERATION_PATH_ILLEGAL_ARRAY_INDEX\",0,n.path,n);f.isInteger(y)&&(y=~~y)}if(m>=v){if(i&&\"add\"===n.op&&y>c.length)throw new t.JsonPatchError(\"The specified index MUST NOT be greater than the number of elements in the array\",\"OPERATION_VALUE_OUT_OF_BOUNDS\",0,n.path,n);var a=d[n.op].call(n,c,y,e);if(!1===a.test)throw new t.JsonPatchError(\"Test operation failed\",\"TEST_OPERATION_FAILED\",0,n,e);return a}}else if(y&&-1!=y.indexOf(\"~\")&&(y=f.unescapePathComponent(y)),m>=v){var a=h[n.op].call(n,c,y,e);if(!1===a.test)throw new t.JsonPatchError(\"Test operation failed\",\"TEST_OPERATION_FAILED\",0,n,e);return a}c=c[y]}}function o(e,n,r,o){if(void 0===o&&(o=!0),r&&!Array.isArray(n))throw new t.JsonPatchError(\"Patch sequence must be an array\",\"SEQUENCE_NOT_AN_ARRAY\");o||(e=f._deepClone(e));for(var a=new Array(n.length),s=0,u=n.length;s<u;s++)a[s]=i(e,n[s],r),e=a[s].newDocument;return a.newDocument=e,a}function a(e,n){var r=i(e,n);if(!1===r.test)throw new t.JsonPatchError(\"Test operation failed\",\"TEST_OPERATION_FAILED\",0,n,e);return r.newDocument}function s(e,n,r,i){if(\"object\"!=typeof e||null===e||Array.isArray(e))throw new t.JsonPatchError(\"Operation is not an object\",\"OPERATION_NOT_AN_OBJECT\",n,e,r);if(!h[e.op])throw new t.JsonPatchError(\"Operation `op` property is not one of operations defined in RFC-6902\",\"OPERATION_OP_INVALID\",n,e,r);if(\"string\"!=typeof e.path)throw new t.JsonPatchError(\"Operation `path` property is not a string\",\"OPERATION_PATH_INVALID\",n,e,r);if(0!==e.path.indexOf(\"/\")&&e.path.length>0)throw new t.JsonPatchError('Operation `path` property must start with \"/\"',\"OPERATION_PATH_INVALID\",n,e,r);if((\"move\"===e.op||\"copy\"===e.op)&&\"string\"!=typeof e.from)throw new t.JsonPatchError(\"Operation `from` property is not present (applicable in `move` and `copy` operations)\",\"OPERATION_FROM_REQUIRED\",n,e,r);if((\"add\"===e.op||\"replace\"===e.op||\"test\"===e.op)&&void 0===e.value)throw new t.JsonPatchError(\"Operation `value` property is not present (applicable in `add`, `replace` and `test` operations)\",\"OPERATION_VALUE_REQUIRED\",n,e,r);if((\"add\"===e.op||\"replace\"===e.op||\"test\"===e.op)&&f.hasUndefined(e.value))throw new t.JsonPatchError(\"Operation `value` property is not present (applicable in `add`, `replace` and `test` operations)\",\"OPERATION_VALUE_CANNOT_CONTAIN_UNDEFINED\",n,e,r);if(r)if(\"add\"==e.op){var o=e.path.split(\"/\").length,a=i.split(\"/\").length;if(o!==a+1&&o!==a)throw new t.JsonPatchError(\"Cannot perform an `add` operation at the desired path\",\"OPERATION_PATH_CANNOT_ADD\",n,e,r)}else if(\"replace\"===e.op||\"remove\"===e.op||\"_get\"===e.op){if(e.path!==i)throw new t.JsonPatchError(\"Cannot perform the operation at a path that does not exist\",\"OPERATION_PATH_UNRESOLVABLE\",n,e,r)}else if(\"move\"===e.op||\"copy\"===e.op){var s={op:\"_get\",path:e.from,value:void 0},l=u([s],r);if(l&&\"OPERATION_PATH_UNRESOLVABLE\"===l.name)throw new t.JsonPatchError(\"Cannot perform the operation from a path that does not exist\",\"OPERATION_FROM_UNRESOLVABLE\",n,e,r)}}function u(e,n,r){try{if(!Array.isArray(e))throw new t.JsonPatchError(\"Patch sequence must be an array\",\"SEQUENCE_NOT_AN_ARRAY\");if(n)o(f._deepClone(n),f._deepClone(e),r||!0);else{r=r||s;for(var i=0;i<e.length;i++)r(e[i],i,n,void 0)}}catch(e){if(e instanceof t.JsonPatchError)return e;throw e}}var l={strict:!0},c=n(375),p=function(e,t){return c(e,t,l)},f=n(210);t.JsonPatchError=f.PatchError,t.deepClone=f._deepClone;var h={add:function(e,t,n){return e[t]=this.value,{newDocument:n}},remove:function(e,t,n){var r=e[t];return delete e[t],{newDocument:n,removed:r}},replace:function(e,t,n){var r=e[t];return e[t]=this.value,{newDocument:n,removed:r}},move:function(e,t,n){var o=r(n,this.path);o&&(o=f._deepClone(o));var a=i(n,{op:\"remove\",path:this.from}).removed;return i(n,{op:\"add\",path:this.path,value:a}),{newDocument:n,removed:o}},copy:function(e,t,n){var o=r(n,this.from);return i(n,{op:\"add\",path:this.path,value:f._deepClone(o)}),{newDocument:n}},test:function(e,t,n){return{newDocument:n,test:p(e[t],this.value)}},_get:function(e,t,n){return this.value=e[t],{newDocument:n}}},d={add:function(e,t,n){return f.isInteger(t)?e.splice(t,0,this.value):e[t]=this.value,{newDocument:n,index:t}},remove:function(e,t,n){return{newDocument:n,removed:e.splice(t,1)[0]}},replace:function(e,t,n){var r=e[t];return e[t]=this.value,{newDocument:n,removed:r}},move:h.move,copy:h.copy,test:h.test,_get:h._get};t.getValueByPointer=r,t.applyOperation=i,t.applyPatch=o,t.applyReducer=a,t.validator=s,t.validate=u},function(e,t,n){\"use strict\";var r=n(33),i={listen:function(e,t,n){return e.addEventListener?(e.addEventListener(t,n,!1),{remove:function(){e.removeEventListener(t,n,!1)}}):e.attachEvent?(e.attachEvent(\"on\"+t,n),{remove:function(){e.detachEvent(\"on\"+t,n)}}):void 0},capture:function(e,t,n){return e.addEventListener?(e.addEventListener(t,n,!0),{remove:function(){e.removeEventListener(t,n,!0)}}):{remove:r}},registerDefault:function(){}};e.exports=i},function(e,t,n){\"use strict\";function r(e){try{e.focus()}catch(e){}}e.exports=r},function(e,t,n){\"use strict\";function r(e){if(void 0===(e=e||(\"undefined\"!=typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(t){return e.body}}e.exports=r},function(e,t,n){function r(e,t){this._options=t||{},this._cbs=e||{},this._tagname=\"\",this._attribname=\"\",this._attribvalue=\"\",this._attribs=null,this._stack=[],this.startIndex=0,this.endIndex=null,this._lowerCaseTagNames=\"lowerCaseTags\"in this._options?!!this._options.lowerCaseTags:!this._options.xmlMode,this._lowerCaseAttributeNames=\"lowerCaseAttributeNames\"in this._options?!!this._options.lowerCaseAttributeNames:!this._options.xmlMode,this._options.Tokenizer&&(i=this._options.Tokenizer),this._tokenizer=new i(this._options,this),this._cbs.onparserinit&&this._cbs.onparserinit(this)}var i=n(390),o={input:!0,option:!0,optgroup:!0,select:!0,button:!0,datalist:!0,textarea:!0},a={tr:{tr:!0,th:!0,td:!0},th:{th:!0},td:{thead:!0,th:!0,td:!0},body:{head:!0,link:!0,script:!0},li:{li:!0},p:{p:!0},h1:{p:!0},h2:{p:!0},h3:{p:!0},h4:{p:!0},h5:{p:!0},h6:{p:!0},select:o,input:o,output:o,button:o,datalist:o,textarea:o,option:{option:!0},optgroup:{optgroup:!0}},s={__proto__:null,area:!0,base:!0,basefont:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,isindex:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0,path:!0,circle:!0,ellipse:!0,line:!0,rect:!0,use:!0,stop:!0,polyline:!0,polygon:!0},u=/\\s|\\//;n(44)(r,n(143).EventEmitter),r.prototype._updatePosition=function(e){null===this.endIndex?this._tokenizer._sectionStart<=e?this.startIndex=0:this.startIndex=this._tokenizer._sectionStart-e:this.startIndex=this.endIndex+1,this.endIndex=this._tokenizer.getAbsoluteIndex()},r.prototype.ontext=function(e){this._updatePosition(1),this.endIndex--,this._cbs.ontext&&this._cbs.ontext(e)},r.prototype.onopentagname=function(e){if(this._lowerCaseTagNames&&(e=e.toLowerCase()),this._tagname=e,!this._options.xmlMode&&e in a)for(var t;(t=this._stack[this._stack.length-1])in a[e];this.onclosetag(t));!this._options.xmlMode&&e in s||this._stack.push(e),this._cbs.onopentagname&&this._cbs.onopentagname(e),this._cbs.onopentag&&(this._attribs={})},r.prototype.onopentagend=function(){this._updatePosition(1),this._attribs&&(this._cbs.onopentag&&this._cbs.onopentag(this._tagname,this._attribs),this._attribs=null),!this._options.xmlMode&&this._cbs.onclosetag&&this._tagname in s&&this._cbs.onclosetag(this._tagname),this._tagname=\"\"},r.prototype.onclosetag=function(e){if(this._updatePosition(1),this._lowerCaseTagNames&&(e=e.toLowerCase()),!this._stack.length||e in s&&!this._options.xmlMode)this._options.xmlMode||\"br\"!==e&&\"p\"!==e||(this.onopentagname(e),this._closeCurrentTag());else{var t=this._stack.lastIndexOf(e);if(-1!==t)if(this._cbs.onclosetag)for(t=this._stack.length-t;t--;)this._cbs.onclosetag(this._stack.pop());else this._stack.length=t;else\"p\"!==e||this._options.xmlMode||(this.onopentagname(e),this._closeCurrentTag())}},r.prototype.onselfclosingtag=function(){this._options.xmlMode||this._options.recognizeSelfClosing?this._closeCurrentTag():this.onopentagend()},r.prototype._closeCurrentTag=function(){var e=this._tagname;this.onopentagend(),this._stack[this._stack.length-1]===e&&(this._cbs.onclosetag&&this._cbs.onclosetag(e),this._stack.pop())},r.prototype.onattribname=function(e){this._lowerCaseAttributeNames&&(e=e.toLowerCase()),this._attribname=e},r.prototype.onattribdata=function(e){this._attribvalue+=e},r.prototype.onattribend=function(){this._cbs.onattribute&&this._cbs.onattribute(this._attribname,this._attribvalue),this._attribs&&!Object.prototype.hasOwnProperty.call(this._attribs,this._attribname)&&(this._attribs[this._attribname]=this._attribvalue),this._attribname=\"\",this._attribvalue=\"\"},r.prototype._getInstructionName=function(e){var t=e.search(u),n=t<0?e:e.substr(0,t);return this._lowerCaseTagNames&&(n=n.toLowerCase()),n},r.prototype.ondeclaration=function(e){if(this._cbs.onprocessinginstruction){var t=this._getInstructionName(e);this._cbs.onprocessinginstruction(\"!\"+t,\"!\"+e)}},r.prototype.onprocessinginstruction=function(e){if(this._cbs.onprocessinginstruction){var t=this._getInstructionName(e);this._cbs.onprocessinginstruction(\"?\"+t,\"?\"+e)}},r.prototype.oncomment=function(e){this._updatePosition(4),this._cbs.oncomment&&this._cbs.oncomment(e),this._cbs.oncommentend&&this._cbs.oncommentend()},r.prototype.oncdata=function(e){this._updatePosition(1),this._options.xmlMode||this._options.recognizeCDATA?(this._cbs.oncdatastart&&this._cbs.oncdatastart(),this._cbs.ontext&&this._cbs.ontext(e),this._cbs.oncdataend&&this._cbs.oncdataend()):this.oncomment(\"[CDATA[\"+e+\"]]\")},r.prototype.onerror=function(e){this._cbs.onerror&&this._cbs.onerror(e)},r.prototype.onend=function(){if(this._cbs.onclosetag)for(var e=this._stack.length;e>0;this._cbs.onclosetag(this._stack[--e]));this._cbs.onend&&this._cbs.onend()},r.prototype.reset=function(){this._cbs.onreset&&this._cbs.onreset(),this._tokenizer.reset(),this._tagname=\"\",this._attribname=\"\",this._attribs=null,this._stack=[],this._cbs.onparserinit&&this._cbs.onparserinit(this)},r.prototype.parseComplete=function(e){this.reset(),this.end(e)},r.prototype.write=function(e){this._tokenizer.write(e)},r.prototype.end=function(e){this._tokenizer.end(e)},r.prototype.pause=function(){this._tokenizer.pause()},r.prototype.resume=function(){this._tokenizer.resume()},r.prototype.parseChunk=r.prototype.write,r.prototype.done=r.prototype.end,e.exports=r},function(e,t,n){function r(e){return\" \"===e||\"\\n\"===e||\"\\t\"===e||\"\\f\"===e||\"\\r\"===e}function i(e,t,n){var r=e.toLowerCase();return e===r?function(e){e===r?this._state=t:(this._state=n,this._index--)}:function(i){i===r||i===e?this._state=t:(this._state=n,this._index--)}}function o(e,t){var n=e.toLowerCase();return function(r){r===n||r===e?this._state=t:(this._state=d,this._index--)}}function a(e,t){this._state=f,this._buffer=\"\",this._sectionStart=0,this._index=0,this._bufferOffset=0,this._baseState=f,this._special=de,this._cbs=t,this._running=!0,this._ended=!1,this._xmlMode=!(!e||!e.xmlMode),this._decodeEntities=!(!e||!e.decodeEntities)}e.exports=a;var s=n(377),u=n(206),l=n(378),c=n(207),p=0,f=p++,h=p++,d=p++,m=p++,v=p++,g=p++,y=p++,_=p++,b=p++,x=p++,w=p++,k=p++,E=p++,S=p++,C=p++,A=p++,D=p++,O=p++,M=p++,T=p++,P=p++,I=p++,R=p++,j=p++,N=p++,F=p++,B=p++,L=p++,q=p++,z=p++,U=p++,W=p++,V=p++,H=p++,J=p++,G=p++,X=p++,Y=p++,K=p++,$=p++,Z=p++,Q=p++,ee=p++,te=p++,ne=p++,re=p++,ie=p++,oe=p++,ae=p++,se=p++,ue=p++,le=p++,ce=p++,pe=p++,fe=p++,he=0,de=he++,me=he++,ve=he++;a.prototype._stateText=function(e){\"<\"===e?(this._index>this._sectionStart&&this._cbs.ontext(this._getSection()),this._state=h,this._sectionStart=this._index):this._decodeEntities&&this._special===de&&\"&\"===e&&(this._index>this._sectionStart&&this._cbs.ontext(this._getSection()),this._baseState=f,this._state=ue,this._sectionStart=this._index)},a.prototype._stateBeforeTagName=function(e){\"/\"===e?this._state=v:\"<\"===e?(this._cbs.ontext(this._getSection()),this._sectionStart=this._index):\">\"===e||this._special!==de||r(e)?this._state=f:\"!\"===e?(this._state=C,this._sectionStart=this._index+1):\"?\"===e?(this._state=D,this._sectionStart=this._index+1):(this._state=this._xmlMode||\"s\"!==e&&\"S\"!==e?d:U,this._sectionStart=this._index)},a.prototype._stateInTagName=function(e){(\"/\"===e||\">\"===e||r(e))&&(this._emitToken(\"onopentagname\"),this._state=_,this._index--)},a.prototype._stateBeforeCloseingTagName=function(e){r(e)||(\">\"===e?this._state=f:this._special!==de?\"s\"===e||\"S\"===e?this._state=W:(this._state=f,this._index--):(this._state=g,this._sectionStart=this._index))},a.prototype._stateInCloseingTagName=function(e){(\">\"===e||r(e))&&(this._emitToken(\"onclosetag\"),this._state=y,this._index--)},a.prototype._stateAfterCloseingTagName=function(e){\">\"===e&&(this._state=f,this._sectionStart=this._index+1)},a.prototype._stateBeforeAttributeName=function(e){\">\"===e?(this._cbs.onopentagend(),this._state=f,this._sectionStart=this._index+1):\"/\"===e?this._state=m:r(e)||(this._state=b,this._sectionStart=this._index)},a.prototype._stateInSelfClosingTag=function(e){\">\"===e?(this._cbs.onselfclosingtag(),this._state=f,this._sectionStart=this._index+1):r(e)||(this._state=_,this._index--)},a.prototype._stateInAttributeName=function(e){(\"=\"===e||\"/\"===e||\">\"===e||r(e))&&(this._cbs.onattribname(this._getSection()),this._sectionStart=-1,this._state=x,this._index--)},a.prototype._stateAfterAttributeName=function(e){\"=\"===e?this._state=w:\"/\"===e||\">\"===e?(this._cbs.onattribend(),this._state=_,this._index--):r(e)||(this._cbs.onattribend(),this._state=b,this._sectionStart=this._index)},a.prototype._stateBeforeAttributeValue=function(e){'\"'===e?(this._state=k,this._sectionStart=this._index+1):\"'\"===e?(this._state=E,this._sectionStart=this._index+1):r(e)||(this._state=S,this._sectionStart=this._index,this._index--)},a.prototype._stateInAttributeValueDoubleQuotes=function(e){'\"'===e?(this._emitToken(\"onattribdata\"),this._cbs.onattribend(),this._state=_):this._decodeEntities&&\"&\"===e&&(this._emitToken(\"onattribdata\"),this._baseState=this._state,this._state=ue,this._sectionStart=this._index)},a.prototype._stateInAttributeValueSingleQuotes=function(e){\"'\"===e?(this._emitToken(\"onattribdata\"),this._cbs.onattribend(),this._state=_):this._decodeEntities&&\"&\"===e&&(this._emitToken(\"onattribdata\"),this._baseState=this._state,this._state=ue,this._sectionStart=this._index)},a.prototype._stateInAttributeValueNoQuotes=function(e){r(e)||\">\"===e?(this._emitToken(\"onattribdata\"),this._cbs.onattribend(),this._state=_,this._index--):this._decodeEntities&&\"&\"===e&&(this._emitToken(\"onattribdata\"),this._baseState=this._state,this._state=ue,this._sectionStart=this._index)},a.prototype._stateBeforeDeclaration=function(e){this._state=\"[\"===e?I:\"-\"===e?O:A},a.prototype._stateInDeclaration=function(e){\">\"===e&&(this._cbs.ondeclaration(this._getSection()),this._state=f,this._sectionStart=this._index+1)},a.prototype._stateInProcessingInstruction=function(e){\">\"===e&&(this._cbs.onprocessinginstruction(this._getSection()),this._state=f,this._sectionStart=this._index+1)},a.prototype._stateBeforeComment=function(e){\"-\"===e?(this._state=M,this._sectionStart=this._index+1):this._state=A},a.prototype._stateInComment=function(e){\"-\"===e&&(this._state=T)},a.prototype._stateAfterComment1=function(e){this._state=\"-\"===e?P:M},a.prototype._stateAfterComment2=function(e){\">\"===e?(this._cbs.oncomment(this._buffer.substring(this._sectionStart,this._index-2)),this._state=f,this._sectionStart=this._index+1):\"-\"!==e&&(this._state=M)},a.prototype._stateBeforeCdata1=i(\"C\",R,A),a.prototype._stateBeforeCdata2=i(\"D\",j,A),a.prototype._stateBeforeCdata3=i(\"A\",N,A),a.prototype._stateBeforeCdata4=i(\"T\",F,A),a.prototype._stateBeforeCdata5=i(\"A\",B,A),a.prototype._stateBeforeCdata6=function(e){\"[\"===e?(this._state=L,this._sectionStart=this._index+1):(this._state=A,this._index--)},a.prototype._stateInCdata=function(e){\"]\"===e&&(this._state=q)},a.prototype._stateAfterCdata1=function(e,t){return function(n){n===e&&(this._state=t)}}(\"]\",z),a.prototype._stateAfterCdata2=function(e){\">\"===e?(this._cbs.oncdata(this._buffer.substring(this._sectionStart,this._index-2)),this._state=f,this._sectionStart=this._index+1):\"]\"!==e&&(this._state=L)},a.prototype._stateBeforeSpecial=function(e){\"c\"===e||\"C\"===e?this._state=V:\"t\"===e||\"T\"===e?this._state=ee:(this._state=d,this._index--)},a.prototype._stateBeforeSpecialEnd=function(e){this._special!==me||\"c\"!==e&&\"C\"!==e?this._special!==ve||\"t\"!==e&&\"T\"!==e?this._state=f:this._state=ie:this._state=Y},a.prototype._stateBeforeScript1=o(\"R\",H),a.prototype._stateBeforeScript2=o(\"I\",J),a.prototype._stateBeforeScript3=o(\"P\",G),a.prototype._stateBeforeScript4=o(\"T\",X),a.prototype._stateBeforeScript5=function(e){(\"/\"===e||\">\"===e||r(e))&&(this._special=me),this._state=d,this._index--},a.prototype._stateAfterScript1=i(\"R\",K,f),a.prototype._stateAfterScript2=i(\"I\",$,f),a.prototype._stateAfterScript3=i(\"P\",Z,f),a.prototype._stateAfterScript4=i(\"T\",Q,f),a.prototype._stateAfterScript5=function(e){\">\"===e||r(e)?(this._special=de,this._state=g,this._sectionStart=this._index-6,this._index--):this._state=f},a.prototype._stateBeforeStyle1=o(\"Y\",te),a.prototype._stateBeforeStyle2=o(\"L\",ne),a.prototype._stateBeforeStyle3=o(\"E\",re),a.prototype._stateBeforeStyle4=function(e){(\"/\"===e||\">\"===e||r(e))&&(this._special=ve),this._state=d,this._index--},a.prototype._stateAfterStyle1=i(\"Y\",oe,f),a.prototype._stateAfterStyle2=i(\"L\",ae,f),a.prototype._stateAfterStyle3=i(\"E\",se,f),a.prototype._stateAfterStyle4=function(e){\">\"===e||r(e)?(this._special=de,this._state=g,this._sectionStart=this._index-5,this._index--):this._state=f},a.prototype._stateBeforeEntity=i(\"#\",le,ce),a.prototype._stateBeforeNumericEntity=i(\"X\",fe,pe),a.prototype._parseNamedEntityStrict=function(){if(this._sectionStart+1<this._index){var e=this._buffer.substring(this._sectionStart+1,this._index),t=this._xmlMode?c:u;t.hasOwnProperty(e)&&(this._emitPartial(t[e]),this._sectionStart=this._index+1)}},a.prototype._parseLegacyEntity=function(){var e=this._sectionStart+1,t=this._index-e;for(t>6&&(t=6);t>=2;){var n=this._buffer.substr(e,t);if(l.hasOwnProperty(n))return this._emitPartial(l[n]),void(this._sectionStart+=t+1);t--}},a.prototype._stateInNamedEntity=function(e){\";\"===e?(this._parseNamedEntityStrict(),this._sectionStart+1<this._index&&!this._xmlMode&&this._parseLegacyEntity(),this._state=this._baseState):(e<\"a\"||e>\"z\")&&(e<\"A\"||e>\"Z\")&&(e<\"0\"||e>\"9\")&&(this._xmlMode||this._sectionStart+1===this._index||(this._baseState!==f?\"=\"!==e&&this._parseNamedEntityStrict():this._parseLegacyEntity()),this._state=this._baseState,this._index--)},a.prototype._decodeNumericEntity=function(e,t){var n=this._sectionStart+e;if(n!==this._index){var r=this._buffer.substring(n,this._index),i=parseInt(r,t);this._emitPartial(s(i)),this._sectionStart=this._index}else this._sectionStart--;this._state=this._baseState},a.prototype._stateInNumericEntity=function(e){\";\"===e?(this._decodeNumericEntity(2,10),this._sectionStart++):(e<\"0\"||e>\"9\")&&(this._xmlMode?this._state=this._baseState:this._decodeNumericEntity(2,10),this._index--)},a.prototype._stateInHexEntity=function(e){\";\"===e?(this._decodeNumericEntity(3,16),this._sectionStart++):(e<\"a\"||e>\"f\")&&(e<\"A\"||e>\"F\")&&(e<\"0\"||e>\"9\")&&(this._xmlMode?this._state=this._baseState:this._decodeNumericEntity(3,16),this._index--)},a.prototype._cleanup=function(){this._sectionStart<0?(this._buffer=\"\",this._bufferOffset+=this._index,this._index=0):this._running&&(this._state===f?(this._sectionStart!==this._index&&this._cbs.ontext(this._buffer.substr(this._sectionStart)),this._buffer=\"\",this._bufferOffset+=this._index,this._index=0):this._sectionStart===this._index?(this._buffer=\"\",this._bufferOffset+=this._index,this._index=0):(this._buffer=this._buffer.substr(this._sectionStart),this._index-=this._sectionStart,this._bufferOffset+=this._sectionStart),this._sectionStart=0)},a.prototype.write=function(e){this._ended&&this._cbs.onerror(Error(\".write() after done!\")),this._buffer+=e,this._parse()},a.prototype._parse=function(){for(;this._index<this._buffer.length&&this._running;){var e=this._buffer.charAt(this._index);this._state===f?this._stateText(e):this._state===h?this._stateBeforeTagName(e):this._state===d?this._stateInTagName(e):this._state===v?this._stateBeforeCloseingTagName(e):this._state===g?this._stateInCloseingTagName(e):this._state===y?this._stateAfterCloseingTagName(e):this._state===m?this._stateInSelfClosingTag(e):this._state===_?this._stateBeforeAttributeName(e):this._state===b?this._stateInAttributeName(e):this._state===x?this._stateAfterAttributeName(e):this._state===w?this._stateBeforeAttributeValue(e):this._state===k?this._stateInAttributeValueDoubleQuotes(e):this._state===E?this._stateInAttributeValueSingleQuotes(e):this._state===S?this._stateInAttributeValueNoQuotes(e):this._state===C?this._stateBeforeDeclaration(e):this._state===A?this._stateInDeclaration(e):this._state===D?this._stateInProcessingInstruction(e):this._state===O?this._stateBeforeComment(e):this._state===M?this._stateInComment(e):this._state===T?this._stateAfterComment1(e):this._state===P?this._stateAfterComment2(e):this._state===I?this._stateBeforeCdata1(e):this._state===R?this._stateBeforeCdata2(e):this._state===j?this._stateBeforeCdata3(e):this._state===N?this._stateBeforeCdata4(e):this._state===F?this._stateBeforeCdata5(e):this._state===B?this._stateBeforeCdata6(e):this._state===L?this._stateInCdata(e):this._state===q?this._stateAfterCdata1(e):this._state===z?this._stateAfterCdata2(e):this._state===U?this._stateBeforeSpecial(e):this._state===W?this._stateBeforeSpecialEnd(e):this._state===V?this._stateBeforeScript1(e):this._state===H?this._stateBeforeScript2(e):this._state===J?this._stateBeforeScript3(e):this._state===G?this._stateBeforeScript4(e):this._state===X?this._stateBeforeScript5(e):this._state===Y?this._stateAfterScript1(e):this._state===K?this._stateAfterScript2(e):this._state===$?this._stateAfterScript3(e):this._state===Z?this._stateAfterScript4(e):this._state===Q?this._stateAfterScript5(e):this._state===ee?this._stateBeforeStyle1(e):this._state===te?this._stateBeforeStyle2(e):this._state===ne?this._stateBeforeStyle3(e):this._state===re?this._stateBeforeStyle4(e):this._state===ie?this._stateAfterStyle1(e):this._state===oe?this._stateAfterStyle2(e):this._state===ae?this._stateAfterStyle3(e):this._state===se?this._stateAfterStyle4(e):this._state===ue?this._stateBeforeEntity(e):this._state===le?this._stateBeforeNumericEntity(e):this._state===ce?this._stateInNamedEntity(e):this._state===pe?this._stateInNumericEntity(e):this._state===fe?this._stateInHexEntity(e):this._cbs.onerror(Error(\"unknown _state\"),this._state),this._index++}this._cleanup()},a.prototype.pause=function(){this._running=!1},a.prototype.resume=function(){this._running=!0,this._index<this._buffer.length&&this._parse(),this._ended&&this._finish()},a.prototype.end=function(e){this._ended&&this._cbs.onerror(Error(\".end() after done!\")),e&&this.write(e),this._ended=!0,this._running&&this._finish()},a.prototype._finish=function(){this._sectionStart<this._index&&this._handleTrailingData(),this._cbs.onend()},a.prototype._handleTrailingData=function(){var e=this._buffer.substr(this._sectionStart);this._state===L||this._state===q||this._state===z?this._cbs.oncdata(e):this._state===M||this._state===T||this._state===P?this._cbs.oncomment(e):this._state!==ce||this._xmlMode?this._state!==pe||this._xmlMode?this._state!==fe||this._xmlMode?this._state!==d&&this._state!==_&&this._state!==w&&this._state!==x&&this._state!==b&&this._state!==E&&this._state!==k&&this._state!==S&&this._state!==g&&this._cbs.ontext(e):(this._decodeNumericEntity(3,16),this._sectionStart<this._index&&(this._state=this._baseState,this._handleTrailingData())):(this._decodeNumericEntity(2,10),this._sectionStart<this._index&&(this._state=this._baseState,this._handleTrailingData())):(this._parseLegacyEntity(),this._sectionStart<this._index&&(this._state=this._baseState,this._handleTrailingData()))},a.prototype.reset=function(){a.call(this,{xmlMode:this._xmlMode,decodeEntities:this._decodeEntities},this._cbs)},a.prototype.getAbsoluteIndex=function(){return this._bufferOffset+this._index},a.prototype._getSection=function(){return this._buffer.substring(this._sectionStart,this._index)},a.prototype._emitToken=function(e){this._cbs[e](this._getSection()),this._sectionStart=-1},a.prototype._emitPartial=function(e){this._baseState!==f?this._cbs.onattribdata(e):this._cbs.ontext(e)}},function(e,t,n){function r(e,t){var n=this._parser=new i(e,t),r=this._decoder=new a;o.call(this,{decodeStrings:!1}),this.once(\"finish\",function(){n.end(r.end())})}e.exports=r;var i=n(389),o=n(506).Writable||n(1224).Writable,a=n(269).StringDecoder,s=n(42).Buffer;n(44)(r,o),o.prototype._write=function(e,t,n){e instanceof s&&(e=this._decoder.write(e)),this._parser.write(e),n()}},function(e,t,n){\"use strict\";function r(e,t){-1===e.indexOf(t)&&e.push(t)}function i(e,t){if(Array.isArray(t))for(var n=0,i=t.length;n<i;++n)r(e,t[n]);else r(e,t)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=i,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e instanceof Object&&!Array.isArray(e)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=r,e.exports=t.default},function(e,t,n){\"use strict\";function r(e,t,n,r,i){for(var o=0,a=e.length;o<a;++o){var s=e[o](t,n,r,i);if(s)return s}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=r,e.exports=t.default},function(e,t){function n(e){return!!e&&(\"object\"==typeof e||\"function\"==typeof e)&&\"function\"==typeof e.then}e.exports=n},function(e,t){var n={}.toString;e.exports=Array.isArray||function(e){return\"[object Array]\"==n.call(e)}},function(e,t,n){\"use strict\";var r=n(81);e.exports=new r({include:[n(398)]})},function(e,t,n){\"use strict\";var r=n(81);e.exports=new r({include:[n(215)],implicit:[n(823),n(815),n(817),n(816)]})},function(e,t,n){\"use strict\";var r=n(836),i=r.a.Symbol;t.a=i},function(e,t,n){\"use strict\";function r(e){if(!n.i(a.a)(e)||n.i(i.a)(e)!=s)return!1;var t=n.i(o.a)(e);if(null===t)return!0;var r=p.call(t,\"constructor\")&&t.constructor;return\"function\"==typeof r&&r instanceof r&&c.call(r)==f}var i=n(830),o=n(832),a=n(837),s=\"[object Object]\",u=Function.prototype,l=Object.prototype,c=u.toString,p=l.hasOwnProperty,f=c.call(Object);t.a=r},function(e,t){function n(e){var t=!1;if(null!=e&&\"function\"!=typeof e.toString)try{t=!!(e+\"\")}catch(e){}return t}function r(e){return!!e&&\"object\"==typeof e}function i(e){if(!r(e)||p.call(e)!=o||n(e))return!1;var t=f(e);if(null===t)return!0;var i=l.call(t,\"constructor\")&&t.constructor;return\"function\"==typeof i&&i instanceof i&&u.call(i)==c}var o=\"[object Object]\",a=Function.prototype,s=Object.prototype,u=a.toString,l=s.hasOwnProperty,c=u.call(Object),p=s.toString,f=function(e,t){return function(n){return e(t(n))}}(Object.getPrototypeOf,Object);e.exports=i},function(e,t,n){var r=n(39),i=r.Uint8Array;e.exports=i},function(e,t,n){function r(e,t){var n=a(e),r=!n&&o(e),c=!n&&!r&&s(e),f=!n&&!r&&!c&&l(e),h=n||r||c||f,d=h?i(e.length,String):[],m=d.length;for(var v in e)!t&&!p.call(e,v)||h&&(\"length\"==v||c&&(\"offset\"==v||\"parent\"==v)||f&&(\"buffer\"==v||\"byteLength\"==v||\"byteOffset\"==v)||u(v,m))||d.push(v);return d}var i=n(884),o=n(229),a=n(22),s=n(230),u=n(153),l=n(434),c=Object.prototype,p=c.hasOwnProperty;e.exports=r},function(e,t){function n(e,t){for(var n=-1,r=null==e?0:e.length,i=Array(r);++n<r;)i[n]=t(e[n],n,e);return i}e.exports=n},function(e,t){function n(e,t,n,r){var i=-1,o=null==e?0:e.length;for(r&&o&&(n=e[++i]);++i<o;)n=t(n,e[i],i,e);return n}e.exports=n},function(e,t){function n(e,t){for(var n=-1,r=null==e?0:e.length;++n<r;)if(t(e[n],n,e))return!0;return!1}e.exports=n},function(e,t,n){function r(e,t,n){\"__proto__\"==t&&i?i(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n}var i=n(416);e.exports=r},function(e,t,n){function r(e,t,n,I,R,j){var N,F=t&S,B=t&C,L=t&A;if(n&&(N=R?n(e,I,R,j):n(e)),void 0!==N)return N;if(!w(e))return e;var q=_(e);if(q){if(N=v(e),!F)return c(e,N)}else{var z=m(e),U=z==O||z==M;if(b(e))return l(e,F);if(z==T||z==D||U&&!R){if(N=B||U?{}:y(e),!F)return B?f(e,u(N,e)):p(e,s(N,e))}else{if(!P[z])return R?e:{};N=g(e,z,F)}}j||(j=new i);var W=j.get(e);if(W)return W;if(j.set(e,N),k(e))return e.forEach(function(i){N.add(r(i,t,n,i,e,j))}),N;if(x(e))return e.forEach(function(i,o){N.set(o,r(i,t,n,o,e,j))}),N;var V=L?B?d:h:B?keysIn:E,H=q?void 0:V(e);return o(H||e,function(i,o){H&&(o=i,i=e[o]),a(N,o,r(i,t,n,o,e,j))}),N}var i=n(218),o=n(851),a=n(147),s=n(855),u=n(856),l=n(888),c=n(893),p=n(894),f=n(895),h=n(420),d=n(421),m=n(152),v=n(916),g=n(917),y=n(918),_=n(22),b=n(230),x=n(960),w=n(40),k=n(961),E=n(68),S=1,C=2,A=4,D=\"[object Arguments]\",O=\"[object Function]\",M=\"[object GeneratorFunction]\",T=\"[object Object]\",P={};P[D]=P[\"[object Array]\"]=P[\"[object ArrayBuffer]\"]=P[\"[object DataView]\"]=P[\"[object Boolean]\"]=P[\"[object Date]\"]=P[\"[object Float32Array]\"]=P[\"[object Float64Array]\"]=P[\"[object Int8Array]\"]=P[\"[object Int16Array]\"]=P[\"[object Int32Array]\"]=P[\"[object Map]\"]=P[\"[object Number]\"]=P[T]=P[\"[object RegExp]\"]=P[\"[object Set]\"]=P[\"[object String]\"]=P[\"[object Symbol]\"]=P[\"[object Uint8Array]\"]=P[\"[object Uint8ClampedArray]\"]=P[\"[object Uint16Array]\"]=P[\"[object Uint32Array]\"]=!0,P[\"[object Error]\"]=P[O]=P[\"[object WeakMap]\"]=!1,e.exports=r},function(e,t,n){var r=n(862),i=n(898),o=i(r);e.exports=o},function(e,t,n){function r(e,t,n){var r=t(e);return o(e)?r:i(r,n(e))}var i=n(219),o=n(22);e.exports=r},function(e,t,n){function r(e,t,n,a,s){return e===t||(null==e||null==t||!o(e)&&!o(t)?e!==e&&t!==t:i(e,t,n,a,r,s))}var i=n(865),o=n(51);e.exports=r},function(e,t,n){function r(e,t,n,r){if(!s(e))return e;t=o(t,e);for(var l=-1,c=t.length,p=c-1,f=e;null!=f&&++l<c;){var h=u(t[l]),d=n;if(l!=p){var m=f[h];d=r?r(m,h,f):void 0,void 0===d&&(d=s(m)?m:a(t[l+1])?[]:{})}i(f,h,d),f=f[h]}return e}var i=n(147),o=n(83),a=n(153),s=n(40),u=n(85);e.exports=r},function(e,t){function n(e,t,n){var r=-1,i=e.length;t<0&&(t=-t>i?0:i+t),n=n>i?i:n,n<0&&(n+=i),i=t>n?0:n-t>>>0,t>>>=0;for(var o=Array(i);++r<i;)o[r]=e[r+t];return o}e.exports=n},function(e,t,n){function r(e){if(\"string\"==typeof e)return e;if(a(e))return o(e,r)+\"\";if(s(e))return c?c.call(e):\"\";var t=e+\"\";return\"0\"==t&&1/e==-u?\"-0\":t}var i=n(82),o=n(404),a=n(22),s=n(156),u=1/0,l=i?i.prototype:void 0,c=l?l.toString:void 0;e.exports=r},function(e,t,n){function r(e){return function(t){return i(a(o(t).replace(s,\"\")),e,\"\")}}var i=n(405),o=n(957),a=n(974),s=RegExp(\"['’]\",\"g\");e.exports=r},function(e,t,n){var r=n(67),i=function(){try{var e=r(Object,\"defineProperty\");return e({},\"\",{}),e}catch(e){}}();e.exports=i},function(e,t,n){function r(e,t,n,r,l,c){var p=n&s,f=e.length,h=t.length;if(f!=h&&!(p&&h>f))return!1;var d=c.get(e);if(d&&c.get(t))return d==t;var m=-1,v=!0,g=n&u?new i:void 0;for(c.set(e,t),c.set(t,e);++m<f;){var y=e[m],_=t[m];if(r)var b=p?r(_,y,m,t,e,c):r(y,_,m,e,t,c);if(void 0!==b){if(b)continue;v=!1;break}if(g){if(!o(t,function(e,t){if(!a(g,t)&&(y===e||l(y,e,n,r,c)))return g.push(t)})){v=!1;break}}else if(y!==_&&!l(y,_,n,r,c)){v=!1;break}}return c.delete(e),c.delete(t),v}var i=n(848),o=n(406),a=n(886),s=1,u=2;e.exports=r},function(e,t,n){function r(e){return a(o(e,void 0,i),e+\"\")}var i=n(959),o=n(428),a=n(429);e.exports=r},function(e,t,n){(function(t){var n=\"object\"==typeof t&&t&&t.Object===Object&&t;e.exports=n}).call(t,n(16))},function(e,t,n){function r(e){return i(e,a,o)}var i=n(410),o=n(223),a=n(68);e.exports=r},function(e,t,n){function r(e){return i(e,a,o)}var i=n(410),o=n(422),a=n(435);e.exports=r},function(e,t,n){var r=n(219),i=n(222),o=n(223),a=n(437),s=Object.getOwnPropertySymbols,u=s?function(e){for(var t=[];e;)r(t,o(e)),e=i(e);return t}:a;e.exports=u},function(e,t){function n(e){return r.test(e)}var r=RegExp(\"[\\\\u200d\\\\ud800-\\\\udfff\\\\u0300-\\\\u036f\\\\ufe20-\\\\ufe2f\\\\u20d0-\\\\u20ff\\\\ufe0e\\\\ufe0f]\");e.exports=n},function(e,t,n){function r(e,t,n){if(!s(n))return!1;var r=typeof t;return!!(\"number\"==r?o(n)&&a(t,n.length):\"string\"==r&&t in n)&&i(n[t],e)}var i=n(119),o=n(86),a=n(153),s=n(40);e.exports=r},function(e,t,n){function r(e){return e===e&&!i(e)}var i=n(40);e.exports=r},function(e,t){function n(e,t){return function(n){return null!=n&&(n[e]===t&&(void 0!==t||e in Object(n)))}}e.exports=n},function(e,t){function n(e,t){return function(n){return e(t(n))}}e.exports=n},function(e,t,n){function r(e,t,n){return t=o(void 0===t?e.length-1:t,0),function(){for(var r=arguments,a=-1,s=o(r.length-t,0),u=Array(s);++a<s;)u[a]=r[t+a];a=-1;for(var l=Array(t+1);++a<t;)l[a]=r[a];return l[t]=n(u),i(e,this,l)}}var i=n(850),o=Math.max;e.exports=r},function(e,t,n){var r=n(882),i=n(941),o=i(r);e.exports=o},function(e,t){function n(e){if(null!=e){try{return i.call(e)}catch(e){}try{return e+\"\"}catch(e){}}return\"\"}var r=Function.prototype,i=r.toString;e.exports=n},function(e,t,n){function r(e,t){return null!=e&&o(e,t,i)}var i=n(863),o=n(909);e.exports=r},function(e,t,n){function r(e){if(!o(e))return!1;var t=i(e);return t==s||t==u||t==a||t==l}var i=n(66),o=n(40),a=\"[object AsyncFunction]\",s=\"[object Function]\",u=\"[object GeneratorFunction]\",l=\"[object Proxy]\";e.exports=r},function(e,t,n){function r(e){return\"string\"==typeof e||!o(e)&&a(e)&&i(e)==s}var i=n(66),o=n(22),a=n(51),s=\"[object String]\";e.exports=r},function(e,t,n){var r=n(870),i=n(220),o=n(225),a=o&&o.isTypedArray,s=a?i(a):r;e.exports=s},function(e,t,n){function r(e){return a(e)?i(e,!0):o(e)}var i=n(403),o=n(872),a=n(86);e.exports=r},function(e,t,n){function r(e,t){if(\"function\"!=typeof e||null!=t&&\"function\"!=typeof t)throw new TypeError(o);var n=function(){var r=arguments,i=t?t.apply(this,r):r[0],o=n.cache;if(o.has(i))return o.get(i);var a=e.apply(this,r);return n.cache=o.set(i,a)||o,a};return n.cache=new(r.Cache||i),n}var i=n(217),o=\"Expected a function\";r.Cache=i,e.exports=r},function(e,t){function n(){return[]}e.exports=n},function(e,t,n){function r(e){var t=i(e),n=t%1;return t===t?n?t-n:t:0}var i=n(973);e.exports=r},function(e,t,n){function r(e){if(\"number\"==typeof e)return e;if(o(e))return a;if(i(e)){var t=\"function\"==typeof e.valueOf?e.valueOf():e;e=i(t)?t+\"\":t}if(\"string\"!=typeof e)return 0===e?e:+e;e=e.replace(s,\"\");var n=l.test(e);return n||c.test(e)?p(e.slice(2),n?2:8):u.test(e)?a:+e}var i=n(40),o=n(156),a=NaN,s=/^\\s+|\\s+$/g,u=/^[-+]0x[0-9a-f]+$/i,l=/^0b[01]+$/i,c=/^0o[0-7]+$/i,p=parseInt;e.exports=r},function(e,t,n){var r=n(900),i=r(\"toUpperCase\");e.exports=i},function(e,t,n){\"use strict\";function r(e){var t,n,r=o[e];if(r)return r;for(r=o[e]=[],t=0;t<128;t++)n=String.fromCharCode(t),r.push(n);for(t=0;t<e.length;t++)n=e.charCodeAt(t),r[n]=\"%\"+(\"0\"+n.toString(16).toUpperCase()).slice(-2);return r}function i(e,t){var n;return\"string\"!=typeof t&&(t=i.defaultChars),n=r(t),e.replace(/(%[a-f0-9]{2})+/gi,function(e){var t,r,i,o,a,s,u,l=\"\";for(t=0,r=e.length;t<r;t+=3)i=parseInt(e.slice(t+1,t+3),16),i<128?l+=n[i]:192==(224&i)&&t+3<r&&128==(192&(o=parseInt(e.slice(t+4,t+6),16)))?(u=i<<6&1984|63&o,l+=u<128?\"��\":String.fromCharCode(u),t+=3):224==(240&i)&&t+6<r&&(o=parseInt(e.slice(t+4,t+6),16),a=parseInt(e.slice(t+7,t+9),16),128==(192&o)&&128==(192&a))?(u=i<<12&61440|o<<6&4032|63&a,l+=u<2048||u>=55296&&u<=57343?\"���\":String.fromCharCode(u),t+=6):240==(248&i)&&t+9<r&&(o=parseInt(e.slice(t+4,t+6),16),a=parseInt(e.slice(t+7,t+9),16),s=parseInt(e.slice(t+10,t+12),16),128==(192&o)&&128==(192&a)&&128==(192&s))?(u=i<<18&1835008|o<<12&258048|a<<6&4032|63&s,u<65536||u>1114111?l+=\"����\":(u-=65536,l+=String.fromCharCode(55296+(u>>10),56320+(1023&u))),t+=9):l+=\"�\";return l})}var o={};i.defaultChars=\";/?:@&=+$,#\",i.componentChars=\"\",e.exports=i},function(e,t,n){\"use strict\";function r(e){var t,n,r=o[e];if(r)return r;for(r=o[e]=[],t=0;t<128;t++)n=String.fromCharCode(t),/^[0-9a-z]$/i.test(n)?r.push(n):r.push(\"%\"+(\"0\"+t.toString(16).toUpperCase()).slice(-2));for(t=0;t<e.length;t++)r[e.charCodeAt(t)]=e[t];return r}function i(e,t,n){var o,a,s,u,l,c=\"\";for(\"string\"!=typeof t&&(n=t,t=i.defaultChars),void 0===n&&(n=!0),l=r(t),o=0,a=e.length;o<a;o++)if(s=e.charCodeAt(o),n&&37===s&&o+2<a&&/^[0-9a-f]{2}$/i.test(e.slice(o+1,o+3)))c+=e.slice(o,o+3),o+=2;else if(s<128)c+=l[s];else if(s>=55296&&s<=57343){if(s>=55296&&s<=56319&&o+1<a&&(u=e.charCodeAt(o+1))>=56320&&u<=57343){c+=encodeURIComponent(e[o]+e[o+1]),o++;continue}c+=\"%EF%BF%BD\"}else c+=encodeURIComponent(e[o]);return c}var o={};i.defaultChars=\";/?:@&=+$,-_.!~*'()#\",i.componentChars=\"-_.!~*'()\",e.exports=i},function(e,t,n){\"use strict\";var r=n(65);e.exports=function(e,t,n){var i;return isNaN(e)?(i=t,i>=0?n&&i?i-1:i:1):!1!==e&&r(e)}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}t.__esModule=!0;var o=n(1226),a=r(o),s=n(517),u=r(s),l=n(999),c=r(l),p=function(){function e(t,n,r,o,a,s){i(this,e),this.name=\"CssSyntaxError\",this.reason=t,a&&(this.file=a),o&&(this.source=o),s&&(this.plugin=s),void 0!==n&&void 0!==r&&(this.line=n,this.column=r),this.setMessage(),Error.captureStackTrace&&Error.captureStackTrace(this,e)}return e.prototype.setMessage=function(){this.message=this.plugin?this.plugin+\": \":\"\",this.message+=this.file?this.file:\"<css input>\",void 0!==this.line&&(this.message+=\":\"+this.line+\":\"+this.column),this.message+=\": \"+this.reason},e.prototype.showSourceCode=function(e){function t(t){return e&&u.default.red?u.default.red.bold(t):t}function n(t){return e&&u.default.gray?u.default.gray(t):t}var r=this;if(!this.source)return\"\";var i=this.source;void 0===e&&(e=a.default.stdout),e&&(i=(0,c.default)(i));var o=i.split(/\\r?\\n/),s=Math.max(this.line-3,0),l=Math.min(this.line+2,o.length),p=String(l).length;return o.slice(s,l).map(function(e,i){var o=s+1+i,a=\" \"+(\" \"+o).slice(-p)+\" | \";if(o===r.line){var u=n(a.replace(/\\d/g,\" \"))+e.slice(0,r.column-1).replace(/[^\\t]/g,\" \");return t(\">\")+n(a)+e+\"\\n \"+u+t(\"^\")}return\" \"+n(a)+e}).join(\"\\n\")},e.prototype.toString=function(){var e=this.showSourceCode();return e&&(e=\"\\n\\n\"+e+\"\\n\"),this.name+\": \"+this.message+e},e}();t.default=p,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}t.__esModule=!0;var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(444),s=r(a),u=n(997),l=r(u),c=n(234),p=r(c),f=0,h=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};i(this,e),this.css=t.toString(),\"\\ufeff\"!==this.css[0]&&\"￾\"!==this.css[0]||(this.css=this.css.slice(1)),n.from&&(/^\\w+:\\/\\//.test(n.from)?this.file=n.from:this.file=p.default.resolve(n.from));var r=new l.default(this.css,n);if(r.text){this.map=r;var o=r.consumer().file;!this.file&&o&&(this.file=this.mapResolve(o))}this.file||(f+=1,this.id=\"<input css \"+f+\">\"),this.map&&(this.map.file=this.from)}return e.prototype.error=function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},i=void 0,o=this.origin(t,n);return i=o?new s.default(e,o.line,o.column,o.source,o.file,r.plugin):new s.default(e,t,n,this.css,this.file,r.plugin),i.input={line:t,column:n,source:this.css},this.file&&(i.input.file=this.file),i},e.prototype.origin=function(e,t){if(!this.map)return!1;var n=this.map.consumer(),r=n.originalPositionFor({line:e,column:t});if(!r.source)return!1;var i={file:this.mapResolve(r.source),line:r.line,column:r.column},o=n.sourceContentFor(r.source);return o&&(i.source=o),i},e.prototype.mapResolve=function(e){return/^\\w+:\\/\\//.test(e)?e:p.default.resolve(this.map.consumer().sourceRoot||\".\",e)},o(e,[{key:\"from\",get:function(){return this.file||this.id}}]),e}();t.default=h,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function o(e){return\"object\"===(void 0===e?\"undefined\":s(e))&&\"function\"==typeof e.then}t.__esModule=!0;var a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),s=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},u=n(994),l=r(u),c=n(242),p=r(c),f=n(451),h=r(f),d=n(998),m=r(d),v=n(240),g=r(v),y=function(){function e(t,n,r){i(this,e),this.stringified=!1,this.processed=!1;var o=void 0;if(\"object\"===(void 0===n?\"undefined\":s(n))&&\"root\"===n.type)o=n;else if(n instanceof e||n instanceof m.default)o=n.root,n.map&&(void 0===r.map&&(r.map={}),r.map.inline||(r.map.inline=!1),r.map.prev=n.map);else{var a=g.default;r.syntax&&(a=r.syntax.parse),r.parser&&(a=r.parser),a.parse&&(a=a.parse);try{o=a(n,r)}catch(e){this.error=e}}this.result=new m.default(t,o,r)}return e.prototype.warnings=function(){return this.sync().warnings()},e.prototype.toString=function(){return this.css},e.prototype.then=function(e,t){return\"from\"in this.opts||(0,h.default)(\"Without `from` option PostCSS could generate wrong source map and will not find Browserslist config. Set it to CSS file path or to `undefined` to prevent this warning.\"),this.async().then(e,t)},e.prototype.catch=function(e){return this.async().catch(e)},e.prototype.handleError=function(e,t){try{if(this.error=e,\"CssSyntaxError\"!==e.name||e.plugin){if(t.postcssVersion){var n=t.postcssPlugin,r=t.postcssVersion,i=this.result.processor.version,o=r.split(\".\"),a=i.split(\".\");(o[0]!==a[0]||parseInt(o[1])>parseInt(a[1]))&&console.error(\"Unknown error from PostCSS plugin. Your current PostCSS version is \"+i+\", but \"+n+\" uses \"+r+\". Perhaps this is the source of the error below.\")}}else e.plugin=t.postcssPlugin,e.setMessage()}catch(e){console&&console.error&&console.error(e)}},e.prototype.asyncTick=function(e,t){var n=this;if(this.plugin>=this.processor.plugins.length)return this.processed=!0,e();try{var r=this.processor.plugins[this.plugin],i=this.run(r);this.plugin+=1,o(i)?i.then(function(){n.asyncTick(e,t)}).catch(function(e){n.handleError(e,r),n.processed=!0,t(e)}):this.asyncTick(e,t)}catch(e){this.processed=!0,t(e)}},e.prototype.async=function(){var e=this;return this.processed?new Promise(function(t,n){e.error?n(e.error):t(e.stringify())}):this.processing?this.processing:(this.processing=new Promise(function(t,n){if(e.error)return n(e.error);e.plugin=0,e.asyncTick(t,n)}).then(function(){return e.processed=!0,e.stringify()}),this.processing)},e.prototype.sync=function(){if(this.processed)return this.result;if(this.processed=!0,this.processing)throw new Error(\"Use process(css).then(cb) to work with async plugins\");if(this.error)throw this.error;for(var e=this.result.processor.plugins,t=Array.isArray(e),n=0,e=t?e:e[Symbol.iterator]();;){var r;if(t){if(n>=e.length)break;r=e[n++]}else{if(n=e.next(),n.done)break;r=n.value}var i=r;if(o(this.run(i)))throw new Error(\"Use process(css).then(cb) to work with async plugins\")}return this.result},e.prototype.run=function(e){this.result.lastPlugin=e;try{return e(this.result.root,this.result)}catch(t){throw this.handleError(t,e),t}},e.prototype.stringify=function(){if(this.stringified)return this.result;this.stringified=!0,this.sync();var e=this.result.opts,t=p.default;e.syntax&&(t=e.syntax.stringify),e.stringifier&&(t=e.stringifier),t.stringify&&(t=t.stringify);var n=new l.default(t,this.result.root,this.result.opts),r=n.generate();return this.result.css=r[0],this.result.map=r[1],this.result},a(e,[{key:\"processor\",get:function(){return this.result.processor}},{key:\"opts\",get:function(){return this.result.opts}},{key:\"css\",get:function(){return this.stringify().css}},{key:\"content\",get:function(){return this.stringify().content}},{key:\"map\",get:function(){return this.stringify().map}},{key:\"root\",get:function(){return this.sync().root}},{key:\"messages\",get:function(){return this.sync().messages}}]),e}();t.default=y,e.exports=t.default},function(e,t,n){\"use strict\";t.__esModule=!0;var r={split:function(e,t,n){for(var r=[],i=\"\",o=!1,a=0,s=!1,u=!1,l=0;l<e.length;l++){var c=e[l];s?u?u=!1:\"\\\\\"===c?u=!0:c===s&&(s=!1):'\"'===c||\"'\"===c?s=c:\"(\"===c?a+=1:\")\"===c?a>0&&(a-=1):0===a&&-1!==t.indexOf(c)&&(o=!0),o?(\"\"!==i&&r.push(i.trim()),i=\"\",o=!1):i+=c}return(n||\"\"!==i)&&r.push(i.trim()),r},space:function(e){var t=[\" \",\"\\n\",\"\\t\"];return r.split(e,t)},comma:function(e){return r.split(e,[\",\"],!0)}};t.default=r,e.exports=t.default},function(e,t,n){\"use strict\";function r(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}t.__esModule=!0;var i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},o=n(446),a=function(e){return e&&e.__esModule?e:{default:e}}(o),s=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];r(this,e),this.version=\"6.0.19\",this.plugins=this.normalize(t)}return e.prototype.use=function(e){return this.plugins=this.plugins.concat(this.normalize([e])),this},e.prototype.process=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new a.default(this,e,t)},e.prototype.normalize=function(e){for(var t=[],n=e,r=Array.isArray(n),o=0,n=r?n:n[Symbol.iterator]();;){var a;if(r){if(o>=n.length)break;a=n[o++]}else{if(o=n.next(),o.done)break;a=o.value}var s=a;if(s.postcss&&(s=s.postcss),\"object\"===(void 0===s?\"undefined\":i(s))&&Array.isArray(s.plugins))t=t.concat(s.plugins);else{if(\"function\"!=typeof s)throw\"object\"===(void 0===s?\"undefined\":i(s))&&(s.parse||s.stringify)?new Error(\"PostCSS syntaxes cannot be used as plugins. Instead, please use one of the syntax/parser/stringifier options as outlined in your PostCSS runner documentation.\"):new Error(s+\" is not a PostCSS plugin\");t.push(s)}}return t},e}();t.default=s,e.exports=t.default},function(e,t,n){\"use strict\";function r(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e){return e[0].toUpperCase()+e.slice(1)}t.__esModule=!0;var o={colon:\": \",indent:\"    \",beforeDecl:\"\\n\",beforeRule:\"\\n\",beforeOpen:\" \",beforeClose:\"\\n\",beforeComment:\"\\n\",after:\"\\n\",emptyBody:\"\",commentLeft:\" \",commentRight:\" \"},a=function(){function e(t){r(this,e),this.builder=t}return e.prototype.stringify=function(e,t){this[e.type](e,t)},e.prototype.root=function(e){this.body(e),e.raws.after&&this.builder(e.raws.after)},e.prototype.comment=function(e){var t=this.raw(e,\"left\",\"commentLeft\"),n=this.raw(e,\"right\",\"commentRight\");this.builder(\"/*\"+t+e.text+n+\"*/\",e)},e.prototype.decl=function(e,t){var n=this.raw(e,\"between\",\"colon\"),r=e.prop+n+this.rawValue(e,\"value\");e.important&&(r+=e.raws.important||\" !important\"),t&&(r+=\";\"),this.builder(r,e)},e.prototype.rule=function(e){this.block(e,this.rawValue(e,\"selector\")),e.raws.ownSemicolon&&this.builder(e.raws.ownSemicolon,e,\"end\")},e.prototype.atrule=function(e,t){var n=\"@\"+e.name,r=e.params?this.rawValue(e,\"params\"):\"\";if(void 0!==e.raws.afterName?n+=e.raws.afterName:r&&(n+=\" \"),e.nodes)this.block(e,n+r);else{var i=(e.raws.between||\"\")+(t?\";\":\"\");this.builder(n+r+i,e)}},e.prototype.body=function(e){for(var t=e.nodes.length-1;t>0&&\"comment\"===e.nodes[t].type;)t-=1;for(var n=this.raw(e,\"semicolon\"),r=0;r<e.nodes.length;r++){var i=e.nodes[r],o=this.raw(i,\"before\");o&&this.builder(o),this.stringify(i,t!==r||n)}},e.prototype.block=function(e,t){var n=this.raw(e,\"between\",\"beforeOpen\");this.builder(t+n+\"{\",e,\"start\");var r=void 0;e.nodes&&e.nodes.length?(this.body(e),r=this.raw(e,\"after\")):r=this.raw(e,\"after\",\"emptyBody\"),r&&this.builder(r),this.builder(\"}\",e,\"end\")},e.prototype.raw=function(e,t,n){var r=void 0;if(n||(n=t),t&&void 0!==(r=e.raws[t]))return r;var a=e.parent;if(\"before\"===n&&(!a||\"root\"===a.type&&a.first===e))return\"\";if(!a)return o[n];var s=e.root();if(s.rawCache||(s.rawCache={}),void 0!==s.rawCache[n])return s.rawCache[n];if(\"before\"===n||\"after\"===n)return this.beforeAfter(e,n);var u=\"raw\"+i(n);return this[u]?r=this[u](s,e):s.walk(function(e){if(void 0!==(r=e.raws[t]))return!1}),void 0===r&&(r=o[n]),s.rawCache[n]=r,r},e.prototype.rawSemicolon=function(e){var t=void 0;return e.walk(function(e){if(e.nodes&&e.nodes.length&&\"decl\"===e.last.type&&void 0!==(t=e.raws.semicolon))return!1}),t},e.prototype.rawEmptyBody=function(e){var t=void 0;return e.walk(function(e){if(e.nodes&&0===e.nodes.length&&void 0!==(t=e.raws.after))return!1}),t},e.prototype.rawIndent=function(e){if(e.raws.indent)return e.raws.indent;var t=void 0;return e.walk(function(n){var r=n.parent;if(r&&r!==e&&r.parent&&r.parent===e&&void 0!==n.raws.before){var i=n.raws.before.split(\"\\n\");return t=i[i.length-1],t=t.replace(/[^\\s]/g,\"\"),!1}}),t},e.prototype.rawBeforeComment=function(e,t){var n=void 0;return e.walkComments(function(e){if(void 0!==e.raws.before)return n=e.raws.before,-1!==n.indexOf(\"\\n\")&&(n=n.replace(/[^\\n]+$/,\"\")),!1}),void 0===n?n=this.raw(t,null,\"beforeDecl\"):n&&(n=n.replace(/[^\\s]/g,\"\")),n},e.prototype.rawBeforeDecl=function(e,t){var n=void 0;return e.walkDecls(function(e){if(void 0!==e.raws.before)return n=e.raws.before,-1!==n.indexOf(\"\\n\")&&(n=n.replace(/[^\\n]+$/,\"\")),!1}),void 0===n?n=this.raw(t,null,\"beforeRule\"):n&&(n=n.replace(/[^\\s]/g,\"\")),n},e.prototype.rawBeforeRule=function(e){var t=void 0;return e.walk(function(n){if(n.nodes&&(n.parent!==e||e.first!==n)&&void 0!==n.raws.before)return t=n.raws.before,-1!==t.indexOf(\"\\n\")&&(t=t.replace(/[^\\n]+$/,\"\")),!1}),t&&(t=t.replace(/[^\\s]/g,\"\")),t},e.prototype.rawBeforeClose=function(e){var t=void 0;return e.walk(function(e){if(e.nodes&&e.nodes.length>0&&void 0!==e.raws.after)return t=e.raws.after,-1!==t.indexOf(\"\\n\")&&(t=t.replace(/[^\\n]+$/,\"\")),!1}),t&&(t=t.replace(/[^\\s]/g,\"\")),t},e.prototype.rawBeforeOpen=function(e){var t=void 0;return e.walk(function(e){if(\"decl\"!==e.type&&void 0!==(t=e.raws.between))return!1}),t},e.prototype.rawColon=function(e){var t=void 0;return e.walkDecls(function(e){if(void 0!==e.raws.between)return t=e.raws.between.replace(/[^\\s:]/g,\"\"),!1}),t},e.prototype.beforeAfter=function(e,t){var n=void 0;n=\"decl\"===e.type?this.raw(e,null,\"beforeDecl\"):\"comment\"===e.type?this.raw(e,null,\"beforeComment\"):\"before\"===t?this.raw(e,null,\"beforeRule\"):this.raw(e,null,\"beforeClose\");for(var r=e.parent,i=0;r&&\"root\"!==r.type;)i+=1,r=r.parent;if(-1!==n.indexOf(\"\\n\")){var o=this.raw(e,null,\"indent\");if(o.length)for(var a=0;a<i;a++)n+=o}return n},e.prototype.rawValue=function(e,t){var n=e[t],r=e.raws[t];return r&&r.value===n?r.raw:n},e}();t.default=a,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){function t(t){throw e.error(\"Unclosed \"+t,G,X-J)}function n(){return 0===K.length&&X>=H}function r(){if(K.length)return K.pop();if(!(X>=H)){switch(T=O.charCodeAt(X),(T===u||T===c||T===f&&O.charCodeAt(X+1)!==u)&&(J=X,G+=1),T){case u:case l:case p:case f:case c:P=X;do{P+=1,(T=O.charCodeAt(P))===u&&(J=P,G+=1)}while(T===l||T===u||T===p||T===f||T===c);V=[\"space\",O.slice(X,P)],X=P-1;break;case h:V=[\"[\",\"[\",G,X-J];break;case d:V=[\"]\",\"]\",G,X-J];break;case g:V=[\"{\",\"{\",G,X-J];break;case y:V=[\"}\",\"}\",G,X-J];break;case x:V=[\":\",\":\",G,X-J];break;case _:V=[\";\",\";\",G,X-J];break;case m:if(U=Y.length?Y.pop()[1]:\"\",W=O.charCodeAt(X+1),\"url\"===U&&W!==i&&W!==o&&W!==l&&W!==u&&W!==p&&W!==c&&W!==f){P=X;do{if(q=!1,-1===(P=O.indexOf(\")\",P+1))){if(M){P=X;break}t(\"bracket\")}for(z=P;O.charCodeAt(z-1)===a;)z-=1,q=!q}while(q);V=[\"brackets\",O.slice(X,P+1),G,X-J,G,P-J],X=P}else P=O.indexOf(\")\",X+1),N=O.slice(X,P+1),-1===P||S.test(N)?V=[\"(\",\"(\",G,X-J]:(V=[\"brackets\",N,G,X-J,G,P-J],X=P);break;case v:V=[\")\",\")\",G,X-J];break;case i:case o:I=T===i?\"'\":'\"',P=X;do{if(q=!1,-1===(P=O.indexOf(I,P+1))){if(M){P=X+1;break}t(\"string\")}for(z=P;O.charCodeAt(z-1)===a;)z-=1,q=!q}while(q);N=O.slice(X,P+1),R=N.split(\"\\n\"),j=R.length-1,j>0?(B=G+j,L=P-R[j].length):(B=G,L=J),V=[\"string\",O.slice(X,P+1),G,X-J,B,P-L],J=L,G=B,X=P;break;case w:k.lastIndex=X+1,k.test(O),P=0===k.lastIndex?O.length-1:k.lastIndex-2,V=[\"at-word\",O.slice(X,P+1),G,X-J,G,P-J],X=P;break;case a:for(P=X,F=!0;O.charCodeAt(P+1)===a;)P+=1,F=!F;if(T=O.charCodeAt(P+1),F&&T!==s&&T!==l&&T!==u&&T!==p&&T!==f&&T!==c&&(P+=1,C.test(O.charAt(P)))){for(;C.test(O.charAt(P+1));)P+=1;O.charCodeAt(P+1)===l&&(P+=1)}V=[\"word\",O.slice(X,P+1),G,X-J,G,P-J],X=P;break;default:T===s&&O.charCodeAt(X+1)===b?(P=O.indexOf(\"*/\",X+2)+1,0===P&&(M?P=O.length:t(\"comment\")),N=O.slice(X,P+1),R=N.split(\"\\n\"),j=R.length-1,j>0?(B=G+j,L=P-R[j].length):(B=G,L=J),V=[\"comment\",N,G,X-J,B,P-L],J=L,G=B,X=P):(E.lastIndex=X+1,E.test(O),P=0===E.lastIndex?O.length-1:E.lastIndex-2,V=[\"word\",O.slice(X,P+1),G,X-J,G,P-J],Y.push(V),X=P)}return X++,V}}function A(e){K.push(e)}var D=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},O=e.css.valueOf(),M=D.ignoreErrors,T=void 0,P=void 0,I=void 0,R=void 0,j=void 0,N=void 0,F=void 0,B=void 0,L=void 0,q=void 0,z=void 0,U=void 0,W=void 0,V=void 0,H=O.length,J=-1,G=1,X=0,Y=[],K=[];return{back:A,nextToken:r,endOfFile:n}}t.__esModule=!0,t.default=r;var i=39,o=34,a=92,s=47,u=10,l=32,c=12,p=9,f=13,h=91,d=93,m=40,v=41,g=123,y=125,_=59,b=42,x=58,w=64,k=/[ \\n\\t\\r\\f\\{\\(\\)'\"\\\\;\\/\\[\\]#]/g,E=/[ \\n\\t\\r\\f\\(\\)\\{\\}:;@!'\"\\\\\\]\\[#]|\\/(?=\\*)/g,S=/.[\\\\\\/\\(\"'\\n]/,C=/[a-f0-9]/i;e.exports=t.default},function(e,t,n){\"use strict\";function r(e){i[e]||(i[e]=!0,\"undefined\"!=typeof console&&console.warn&&console.warn(e))}t.__esModule=!0,t.default=r;var i={};e.exports=t.default},function(e,t,n){function r(){this._array=[],this._set=a?new Map:Object.create(null)}var i=n(120),o=Object.prototype.hasOwnProperty,a=\"undefined\"!=typeof Map;r.fromArray=function(e,t){for(var n=new r,i=0,o=e.length;i<o;i++)n.add(e[i],t);return n},r.prototype.size=function(){return a?this._set.size:Object.getOwnPropertyNames(this._set).length},r.prototype.add=function(e,t){var n=a?e:i.toSetString(e),r=a?this.has(e):o.call(this._set,n),s=this._array.length;r&&!t||this._array.push(e),r||(a?this._set.set(e,s):this._set[n]=s)},r.prototype.has=function(e){if(a)return this._set.has(e);var t=i.toSetString(e);return o.call(this._set,t)},r.prototype.indexOf=function(e){if(a){var t=this._set.get(e);if(t>=0)return t}else{var n=i.toSetString(e);if(o.call(this._set,n))return this._set[n]}throw new Error('\"'+e+'\" is not in the set.')},r.prototype.at=function(e){if(e>=0&&e<this._array.length)return this._array[e];throw new Error(\"No element indexed by \"+e)},r.prototype.toArray=function(){return this._array.slice()},t.ArraySet=r},function(e,t,n){function r(e){return e<0?1+(-e<<1):0+(e<<1)}function i(e){var t=1==(1&e),n=e>>1;return t?-n:n}var o=n(1002);t.encode=function(e){var t,n=\"\",i=r(e);do{t=31&i,i>>>=5,i>0&&(t|=32),n+=o.encode(t)}while(i>0);return n},t.decode=function(e,t,n){var r,a,s=e.length,u=0,l=0;do{if(t>=s)throw new Error(\"Expected more digits in base 64 VLQ value.\");if(-1===(a=o.decode(e.charCodeAt(t++))))throw new Error(\"Invalid base64 digit: \"+e.charAt(t-1));r=!!(32&a),a&=31,u+=a<<l,l+=5}while(r);n.value=i(u),n.rest=t}},function(e,t,n){function r(e){e||(e={}),this._file=o.getArg(e,\"file\",null),this._sourceRoot=o.getArg(e,\"sourceRoot\",null),this._skipValidation=o.getArg(e,\"skipValidation\",!1),this._sources=new a,this._names=new a,this._mappings=new s,this._sourcesContents=null}var i=n(453),o=n(120),a=n(452).ArraySet,s=n(1004).MappingList;r.prototype._version=3,r.fromSourceMap=function(e){var t=e.sourceRoot,n=new r({file:e.file,sourceRoot:t});return e.eachMapping(function(e){var r={generated:{line:e.generatedLine,column:e.generatedColumn}};null!=e.source&&(r.source=e.source,null!=t&&(r.source=o.relative(t,r.source)),r.original={line:e.originalLine,column:e.originalColumn},null!=e.name&&(r.name=e.name)),n.addMapping(r)}),e.sources.forEach(function(r){var i=r;null!==t&&(i=o.relative(t,r)),n._sources.has(i)||n._sources.add(i);var a=e.sourceContentFor(r);null!=a&&n.setSourceContent(r,a)}),n},r.prototype.addMapping=function(e){var t=o.getArg(e,\"generated\"),n=o.getArg(e,\"original\",null),r=o.getArg(e,\"source\",null),i=o.getArg(e,\"name\",null);this._skipValidation||this._validateMapping(t,n,r,i),null!=r&&(r=String(r),this._sources.has(r)||this._sources.add(r)),null!=i&&(i=String(i),this._names.has(i)||this._names.add(i)),this._mappings.add({generatedLine:t.line,generatedColumn:t.column,originalLine:null!=n&&n.line,originalColumn:null!=n&&n.column,source:r,name:i})},r.prototype.setSourceContent=function(e,t){var n=e;null!=this._sourceRoot&&(n=o.relative(this._sourceRoot,n)),null!=t?(this._sourcesContents||(this._sourcesContents=Object.create(null)),this._sourcesContents[o.toSetString(n)]=t):this._sourcesContents&&(delete this._sourcesContents[o.toSetString(n)],0===Object.keys(this._sourcesContents).length&&(this._sourcesContents=null))},r.prototype.applySourceMap=function(e,t,n){var r=t;if(null==t){if(null==e.file)throw new Error('SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map\\'s \"file\" property. Both were omitted.');r=e.file}var i=this._sourceRoot;null!=i&&(r=o.relative(i,r));var s=new a,u=new a;this._mappings.unsortedForEach(function(t){if(t.source===r&&null!=t.originalLine){var a=e.originalPositionFor({line:t.originalLine,column:t.originalColumn});null!=a.source&&(t.source=a.source,null!=n&&(t.source=o.join(n,t.source)),null!=i&&(t.source=o.relative(i,t.source)),t.originalLine=a.line,t.originalColumn=a.column,null!=a.name&&(t.name=a.name))}var l=t.source;null==l||s.has(l)||s.add(l);var c=t.name;null==c||u.has(c)||u.add(c)},this),this._sources=s,this._names=u,e.sources.forEach(function(t){var r=e.sourceContentFor(t);null!=r&&(null!=n&&(t=o.join(n,t)),null!=i&&(t=o.relative(i,t)),this.setSourceContent(t,r))},this)},r.prototype._validateMapping=function(e,t,n,r){if(t&&\"number\"!=typeof t.line&&\"number\"!=typeof t.column)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)||t||n||r)&&!(e&&\"line\"in e&&\"column\"in e&&t&&\"line\"in t&&\"column\"in t&&e.line>0&&e.column>=0&&t.line>0&&t.column>=0&&n))throw new Error(\"Invalid mapping: \"+JSON.stringify({generated:e,source:n,original:t,name:r}))},r.prototype._serializeMappings=function(){for(var e,t,n,r,a=0,s=1,u=0,l=0,c=0,p=0,f=\"\",h=this._mappings.toArray(),d=0,m=h.length;d<m;d++){if(t=h[d],e=\"\",t.generatedLine!==s)for(a=0;t.generatedLine!==s;)e+=\";\",s++;else if(d>0){if(!o.compareByGeneratedPositionsInflated(t,h[d-1]))continue;e+=\",\"}e+=i.encode(t.generatedColumn-a),a=t.generatedColumn,null!=t.source&&(r=this._sources.indexOf(t.source),e+=i.encode(r-p),p=r,e+=i.encode(t.originalLine-1-l),l=t.originalLine-1,e+=i.encode(t.originalColumn-u),u=t.originalColumn,null!=t.name&&(n=this._names.indexOf(t.name),e+=i.encode(n-c),c=n)),f+=e}return f},r.prototype._generateSourcesContent=function(e,t){return e.map(function(e){if(!this._sourcesContents)return null;null!=t&&(e=o.relative(t,e));var n=o.toSetString(e);return Object.prototype.hasOwnProperty.call(this._sourcesContents,n)?this._sourcesContents[n]:null},this)},r.prototype.toJSON=function(){var e={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};return null!=this._file&&(e.file=this._file),null!=this._sourceRoot&&(e.sourceRoot=this._sourceRoot),this._sourcesContents&&(e.sourcesContent=this._generateSourcesContent(e.sources,e.sourceRoot)),e},r.prototype.toString=function(){return JSON.stringify(this.toJSON())},t.SourceMapGenerator=r},function(e,t,n){t.SourceMapGenerator=n(454).SourceMapGenerator,t.SourceMapConsumer=n(1006).SourceMapConsumer,t.SourceNode=n(1007).SourceNode},function(e,t,n){\"use strict\";var r=n(1010);e.exports=function(e){return r(e,!1)}},function(e,t,n){\"use strict\";e.exports=\"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\"},function(e,t,n){\"use strict\";var r=String.prototype.replace,i=/%20/g;e.exports={default:\"RFC3986\",formatters:{RFC1738:function(e){return r.call(e,i,\"+\")},RFC3986:function(e){return e}},RFC1738:\"RFC1738\",RFC3986:\"RFC3986\"}},function(e,t,n){\"use strict\";var r=Object.prototype.hasOwnProperty,i=function(){for(var e=[],t=0;t<256;++t)e.push(\"%\"+((t<16?\"0\":\"\")+t.toString(16)).toUpperCase());return e}(),o=function(e){for(var t;e.length;){var n=e.pop();if(t=n.obj[n.prop],Array.isArray(t)){for(var r=[],i=0;i<t.length;++i)void 0!==t[i]&&r.push(t[i]);n.obj[n.prop]=r}}return t};t.arrayToObject=function(e,t){for(var n=t&&t.plainObjects?Object.create(null):{},r=0;r<e.length;++r)void 0!==e[r]&&(n[r]=e[r]);return n},t.merge=function(e,n,i){if(!n)return e;if(\"object\"!=typeof n){if(Array.isArray(e))e.push(n);else{if(\"object\"!=typeof e)return[e,n];(i.plainObjects||i.allowPrototypes||!r.call(Object.prototype,n))&&(e[n]=!0)}return e}if(\"object\"!=typeof e)return[e].concat(n);var o=e;return Array.isArray(e)&&!Array.isArray(n)&&(o=t.arrayToObject(e,i)),Array.isArray(e)&&Array.isArray(n)?(n.forEach(function(n,o){r.call(e,o)?e[o]&&\"object\"==typeof e[o]?e[o]=t.merge(e[o],n,i):e.push(n):e[o]=n}),e):Object.keys(n).reduce(function(e,o){var a=n[o];return r.call(e,o)?e[o]=t.merge(e[o],a,i):e[o]=a,e},o)},t.assign=function(e,t){return Object.keys(t).reduce(function(e,n){return e[n]=t[n],e},e)},t.decode=function(e){try{return decodeURIComponent(e.replace(/\\+/g,\" \"))}catch(t){return e}},t.encode=function(e){if(0===e.length)return e;for(var t=\"string\"==typeof e?e:String(e),n=\"\",r=0;r<t.length;++r){var o=t.charCodeAt(r);45===o||46===o||95===o||126===o||o>=48&&o<=57||o>=65&&o<=90||o>=97&&o<=122?n+=t.charAt(r):o<128?n+=i[o]:o<2048?n+=i[192|o>>6]+i[128|63&o]:o<55296||o>=57344?n+=i[224|o>>12]+i[128|o>>6&63]+i[128|63&o]:(r+=1,o=65536+((1023&o)<<10|1023&t.charCodeAt(r)),n+=i[240|o>>18]+i[128|o>>12&63]+i[128|o>>6&63]+i[128|63&o])}return n},t.compact=function(e){for(var t=[{obj:{o:e},prop:\"o\"}],n=[],r=0;r<t.length;++r)for(var i=t[r],a=i.obj[i.prop],s=Object.keys(a),u=0;u<s.length;++u){var l=s[u],c=a[l];\"object\"==typeof c&&null!==c&&-1===n.indexOf(c)&&(t.push({obj:a,prop:l}),n.push(c))}return o(t)},t.isRegExp=function(e){return\"[object RegExp]\"===Object.prototype.toString.call(e)},t.isBuffer=function(e){return null!==e&&void 0!==e&&!!(e.constructor&&e.constructor.isBuffer&&e.constructor.isBuffer(e))}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function a(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function s(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.Collapse=void 0;var u=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},l=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),c=n(0),p=r(c),f=n(1),h=r(f),d=n(1100),m=\"IDLING\",v=function(){return null},g={collapse:\"ReactCollapse--collapse\",content:\"ReactCollapse--content\"},y=t.Collapse=function(e){function t(e){o(this,t);var n=a(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return _.call(n),n.state={currentState:m,from:0,to:0},n}return s(t,e),l(t,[{key:\"componentDidMount\",value:function(){var e=this.props,t=e.isOpened,n=e.forceInitialAnimation,r=e.onRest;if(t){var i=this.getTo();if(n){var o=this.wrapper.clientHeight;this.setState({currentState:\"RESIZING\",from:o,to:i})}else this.setState({currentState:m,from:i,to:i})}r()}},{key:\"componentWillReceiveProps\",value:function(e){e.hasNestedCollapse?e.isOpened!==this.props.isOpened&&this.setState({currentState:\"WAITING\"}):this.state.currentState===m&&(e.isOpened||this.props.isOpened)&&this.setState({currentState:\"WAITING\"})}},{key:\"componentDidUpdate\",value:function(e,t){var n=this.props,r=n.isOpened,i=n.onRest,o=n.onMeasure;if(this.state.currentState===m)return void i();t.to!==this.state.to&&o({height:this.state.to,width:this.content.clientWidth});var a=this.wrapper.clientHeight,s=r?this.getTo():0;if(a!==s)return void this.setState({currentState:\"RESIZING\",from:a,to:s});\"RESTING\"!==this.state.currentState&&\"WAITING\"!==this.state.currentState||this.setState({currentState:m,from:a,to:s})}},{key:\"componentWillUnmount\",value:function(){cancelAnimationFrame(this.raf)}},{key:\"render\",value:function(){return p.default.createElement(d.Motion,u({},this.getMotionProps(),{onRest:this.onRest,children:this.renderContent}))}}]),t}(p.default.PureComponent);y.propTypes={isOpened:h.default.bool.isRequired,springConfig:h.default.objectOf(h.default.number),forceInitialAnimation:h.default.bool,hasNestedCollapse:h.default.bool,fixedHeight:h.default.number,theme:h.default.objectOf(h.default.string),style:h.default.object,onRender:h.default.func,onRest:h.default.func,onMeasure:h.default.func,children:h.default.node.isRequired},y.defaultProps={forceInitialAnimation:!1,hasNestedCollapse:!1,fixedHeight:-1,style:{},theme:g,onRender:v,onRest:v,onMeasure:v};var _=function(){var e=this;this.onContentRef=function(t){e.content=t},this.onWrapperRef=function(t){e.wrapper=t},this.onRest=function(){e.raf=requestAnimationFrame(e.setResting)},this.setResting=function(){e.setState({currentState:\"RESTING\"})},this.getTo=function(){var t=e.props.fixedHeight;return t>-1?t:e.content.clientHeight},this.getWrapperStyle=function(t){if(e.state.currentState===m&&e.state.to){var n=e.props.fixedHeight;return n>-1?{overflow:\"hidden\",height:n}:{height:\"auto\"}}return\"WAITING\"!==e.state.currentState||e.state.to?{overflow:\"hidden\",height:Math.max(0,t)}:{overflow:\"hidden\",height:0}},this.getMotionProps=function(){var t=e.props.springConfig;return e.state.currentState===m?{defaultStyle:{height:e.state.to},style:{height:e.state.to}}:{defaultStyle:{height:e.state.from},style:{height:(0,d.spring)(e.state.to,u({precision:1},t))}}},this.renderContent=function(t){var n=t.height,r=e.props,o=(r.isOpened,r.springConfig,r.forceInitialAnimation,r.hasNestedCollapse,r.fixedHeight,r.theme),a=r.style,s=r.onRender,l=(r.onRest,r.onMeasure,r.children),c=i(r,[\"isOpened\",\"springConfig\",\"forceInitialAnimation\",\"hasNestedCollapse\",\"fixedHeight\",\"theme\",\"style\",\"onRender\",\"onRest\",\"onMeasure\",\"children\"]),f=e.state;return s({current:n,from:f.from,to:f.to}),p.default.createElement(\"div\",u({ref:e.onWrapperRef,className:o.collapse,style:u({},e.getWrapperStyle(Math.max(0,n)),a)},c),p.default.createElement(\"div\",{ref:e.onContentRef,className:o.content},l))}}},function(e,t,n){\"use strict\";var r=n(460),i=r.Collapse,o=n(1021),a=o.UnmountClosed;a.Collapse=i,a.UnmountClosed=a,e.exports=a},function(e,t,n){\"use strict\";e.exports=n(1037)},function(e,t,n){\"use strict\";function r(e,t){return e+t.charAt(0).toUpperCase()+t.substring(1)}var i={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},o=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(i).forEach(function(e){o.forEach(function(t){i[r(t,e)]=i[e]})});var a={background:{backgroundAttachment:!0,backgroundColor:!0,backgroundImage:!0,backgroundPositionX:!0,backgroundPositionY:!0,backgroundRepeat:!0},backgroundPosition:{backgroundPositionX:!0,backgroundPositionY:!0},border:{borderWidth:!0,borderStyle:!0,borderColor:!0},borderBottom:{borderBottomWidth:!0,borderBottomStyle:!0,borderBottomColor:!0},borderLeft:{borderLeftWidth:!0,borderLeftStyle:!0,borderLeftColor:!0},borderRight:{borderRightWidth:!0,borderRightStyle:!0,borderRightColor:!0},borderTop:{borderTopWidth:!0,borderTopStyle:!0,borderTopColor:!0},font:{fontStyle:!0,fontVariant:!0,fontWeight:!0,fontSize:!0,lineHeight:!0,fontFamily:!0},outline:{outlineWidth:!0,outlineStyle:!0,outlineColor:!0}},s={isUnitlessNumber:i,shorthandPropertyExpansions:a};e.exports=s},function(e,t,n){\"use strict\";function r(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}var i=n(11),o=n(70),a=(n(8),function(){function e(t){r(this,e),this._callbacks=null,this._contexts=null,this._arg=t}return e.prototype.enqueue=function(e,t){this._callbacks=this._callbacks||[],this._callbacks.push(e),this._contexts=this._contexts||[],this._contexts.push(t)},e.prototype.notifyAll=function(){var e=this._callbacks,t=this._contexts,n=this._arg;if(e&&t){e.length!==t.length&&i(\"24\"),this._callbacks=null,this._contexts=null;for(var r=0;r<e.length;r++)e[r].call(t[r],n);e.length=0,t.length=0}},e.prototype.checkpoint=function(){return this._callbacks?this._callbacks.length:0},e.prototype.rollback=function(e){this._callbacks&&this._contexts&&(this._callbacks.length=e,this._contexts.length=e)},e.prototype.reset=function(){this._callbacks=null,this._contexts=null},e.prototype.destructor=function(){this.reset()},e}());e.exports=o.addPoolingTo(a)},function(e,t,n){\"use strict\";function r(e){return!!l.hasOwnProperty(e)||!u.hasOwnProperty(e)&&(s.test(e)?(l[e]=!0,!0):(u[e]=!0,!1))}function i(e,t){return null==t||e.hasBooleanValue&&!t||e.hasNumericValue&&isNaN(t)||e.hasPositiveNumericValue&&t<1||e.hasOverloadedBooleanValue&&!1===t}var o=n(89),a=(n(14),n(41),n(1085)),s=(n(10),new RegExp(\"^[\"+o.ATTRIBUTE_NAME_START_CHAR+\"][\"+o.ATTRIBUTE_NAME_CHAR+\"]*$\")),u={},l={},c={createMarkupForID:function(e){return o.ID_ATTRIBUTE_NAME+\"=\"+a(e)},setAttributeForID:function(e,t){e.setAttribute(o.ID_ATTRIBUTE_NAME,t)},createMarkupForRoot:function(){return o.ROOT_ATTRIBUTE_NAME+'=\"\"'},setAttributeForRoot:function(e){e.setAttribute(o.ROOT_ATTRIBUTE_NAME,\"\")},createMarkupForProperty:function(e,t){var n=o.properties.hasOwnProperty(e)?o.properties[e]:null;if(n){if(i(n,t))return\"\";var r=n.attributeName;return n.hasBooleanValue||n.hasOverloadedBooleanValue&&!0===t?r+'=\"\"':r+\"=\"+a(t)}return o.isCustomAttribute(e)?null==t?\"\":e+\"=\"+a(t):null},createMarkupForCustomAttribute:function(e,t){return r(e)&&null!=t?e+\"=\"+a(t):\"\"},setValueForProperty:function(e,t,n){var r=o.properties.hasOwnProperty(t)?o.properties[t]:null;if(r){var a=r.mutationMethod;if(a)a(e,n);else{if(i(r,n))return void this.deleteValueForProperty(e,t);if(r.mustUseProperty)e[r.propertyName]=n;else{var s=r.attributeName,u=r.attributeNamespace;u?e.setAttributeNS(u,s,\"\"+n):r.hasBooleanValue||r.hasOverloadedBooleanValue&&!0===n?e.setAttribute(s,\"\"):e.setAttribute(s,\"\"+n)}}}else if(o.isCustomAttribute(t))return void c.setValueForAttribute(e,t,n)},setValueForAttribute:function(e,t,n){if(r(t)){null==n?e.removeAttribute(t):e.setAttribute(t,\"\"+n)}},deleteValueForAttribute:function(e,t){e.removeAttribute(t)},deleteValueForProperty:function(e,t){var n=o.properties.hasOwnProperty(t)?o.properties[t]:null;if(n){var r=n.mutationMethod;if(r)r(e,void 0);else if(n.mustUseProperty){var i=n.propertyName;n.hasBooleanValue?e[i]=!1:e[i]=\"\"}else e.removeAttribute(n.attributeName)}else o.isCustomAttribute(t)&&e.removeAttribute(t)}};e.exports=c},function(e,t,n){\"use strict\";var r={hasCachedChildNodes:1};e.exports=r},function(e,t,n){\"use strict\";function r(){if(this._rootNodeID&&this._wrapperState.pendingUpdate){this._wrapperState.pendingUpdate=!1;var e=this._currentElement.props,t=s.getValue(e);null!=t&&i(this,Boolean(e.multiple),t)}}function i(e,t,n){var r,i,o=u.getNodeFromInstance(e).options;if(t){for(r={},i=0;i<n.length;i++)r[\"\"+n[i]]=!0;for(i=0;i<o.length;i++){var a=r.hasOwnProperty(o[i].value);o[i].selected!==a&&(o[i].selected=a)}}else{for(r=\"\"+n,i=0;i<o.length;i++)if(o[i].value===r)return void(o[i].selected=!0);o.length&&(o[0].selected=!0)}}function o(e){var t=this._currentElement.props,n=s.executeOnChange(t,e);return this._rootNodeID&&(this._wrapperState.pendingUpdate=!0),l.asap(r,this),n}var a=n(13),s=n(249),u=n(14),l=n(45),c=(n(10),!1),p={getHostProps:function(e,t){return a({},t,{onChange:e._wrapperState.onChange,value:void 0})},mountWrapper:function(e,t){var n=s.getValue(t);e._wrapperState={pendingUpdate:!1,initialValue:null!=n?n:t.defaultValue,listeners:null,onChange:o.bind(e),wasMultiple:Boolean(t.multiple)},void 0===t.value||void 0===t.defaultValue||c||(c=!0)},getSelectValueContext:function(e){return e._wrapperState.initialValue},postUpdateWrapper:function(e){var t=e._currentElement.props;e._wrapperState.initialValue=void 0;var n=e._wrapperState.wasMultiple;e._wrapperState.wasMultiple=Boolean(t.multiple);var r=s.getValue(t);null!=r?(e._wrapperState.pendingUpdate=!1,i(e,Boolean(t.multiple),r)):n!==Boolean(t.multiple)&&(null!=t.defaultValue?i(e,Boolean(t.multiple),t.defaultValue):i(e,Boolean(t.multiple),t.multiple?[]:\"\"))}};e.exports=p},function(e,t,n){\"use strict\";var r,i={injectEmptyComponentFactory:function(e){r=e}},o={create:function(e){return r(e)}};o.injection=i,e.exports=o},function(e,t,n){\"use strict\";var r={logTopLevelRenders:!1};e.exports=r},function(e,t,n){\"use strict\";function r(e){return s||a(\"111\",e.type),new s(e)}function i(e){return new u(e)}function o(e){return e instanceof u}var a=n(11),s=(n(8),null),u=null,l={injectGenericComponentClass:function(e){s=e},injectTextComponentClass:function(e){u=e}},c={createInternalComponent:r,createInstanceForText:i,isTextComponent:o,injection:l};e.exports=c},function(e,t,n){\"use strict\";function r(e){return o(document.documentElement,e)}var i=n(1045),o=n(763),a=n(387),s=n(388),u={hasSelectionCapabilities:function(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(\"input\"===t&&\"text\"===e.type||\"textarea\"===t||\"true\"===e.contentEditable)},getSelectionInformation:function(){var e=s();return{focusedElem:e,selectionRange:u.hasSelectionCapabilities(e)?u.getSelection(e):null}},restoreSelection:function(e){var t=s(),n=e.focusedElem,i=e.selectionRange;t!==n&&r(n)&&(u.hasSelectionCapabilities(n)&&u.setSelection(n,i),a(n))},getSelection:function(e){var t;if(\"selectionStart\"in e)t={start:e.selectionStart,end:e.selectionEnd};else if(document.selection&&e.nodeName&&\"input\"===e.nodeName.toLowerCase()){var n=document.selection.createRange();n.parentElement()===e&&(t={start:-n.moveStart(\"character\",-e.value.length),end:-n.moveEnd(\"character\",-e.value.length)})}else t=i.getOffsets(e);return t||{start:0,end:0}},setSelection:function(e,t){var n=t.start,r=t.end;if(void 0===r&&(r=n),\"selectionStart\"in e)e.selectionStart=n,e.selectionEnd=Math.min(r,e.value.length);else if(document.selection&&e.nodeName&&\"input\"===e.nodeName.toLowerCase()){var o=e.createTextRange();o.collapse(!0),o.moveStart(\"character\",n),o.moveEnd(\"character\",r-n),o.select()}else i.setOffsets(e,t)}};e.exports=u},function(e,t,n){\"use strict\";function r(e,t){for(var n=Math.min(e.length,t.length),r=0;r<n;r++)if(e.charAt(r)!==t.charAt(r))return r;return e.length===t.length?-1:n}function i(e){return e?e.nodeType===R?e.documentElement:e.firstChild:null}function o(e){return e.getAttribute&&e.getAttribute(T)||\"\"}function a(e,t,n,r,i){var o;if(x.logTopLevelRenders){var a=e._currentElement.props.child,s=a.type;o=\"React mount: \"+(\"string\"==typeof s?s:s.displayName||s.name),console.time(o)}var u=E.mountComponent(e,n,null,_(e,t),i,0);o&&console.timeEnd(o),e._renderedComponent._topLevelWrapper=e,L._mountImageIntoNode(u,t,e,r,n)}function s(e,t,n,r){var i=C.ReactReconcileTransaction.getPooled(!n&&b.useCreateElement);i.perform(a,null,e,t,i,n,r),C.ReactReconcileTransaction.release(i)}function u(e,t,n){for(E.unmountComponent(e,n),t.nodeType===R&&(t=t.documentElement);t.lastChild;)t.removeChild(t.lastChild)}function l(e){var t=i(e);if(t){var n=y.getInstanceFromNode(t);return!(!n||!n._hostParent)}}function c(e){return!(!e||e.nodeType!==I&&e.nodeType!==R&&e.nodeType!==j)}function p(e){var t=i(e),n=t&&y.getInstanceFromNode(t);return n&&!n._hostParent?n:null}function f(e){var t=p(e);return t?t._hostContainerInfo._topLevelWrapper:null}var h=n(11),d=n(88),m=n(89),v=n(92),g=n(160),y=(n(53),n(14)),_=n(1039),b=n(1041),x=n(469),w=n(123),k=(n(41),n(1055)),E=n(90),S=n(252),C=n(45),A=n(144),D=n(480),O=(n(8),n(164)),M=n(258),T=(n(10),m.ID_ATTRIBUTE_NAME),P=m.ROOT_ATTRIBUTE_NAME,I=1,R=9,j=11,N={},F=1,B=function(){this.rootID=F++};B.prototype.isReactComponent={},B.prototype.render=function(){return this.props.child},B.isReactTopLevelWrapper=!0;var L={TopLevelWrapper:B,_instancesByReactRootID:N,scrollMonitor:function(e,t){t()},_updateRootComponent:function(e,t,n,r,i){return L.scrollMonitor(r,function(){S.enqueueElementInternal(e,t,n),i&&S.enqueueCallbackInternal(e,i)}),e},_renderNewRootComponent:function(e,t,n,r){c(t)||h(\"37\"),g.ensureScrollValueMonitoring();var i=D(e,!1);C.batchedUpdates(s,i,t,n,r);var o=i._instance.rootID;return N[o]=i,i},renderSubtreeIntoContainer:function(e,t,n,r){return null!=e&&w.has(e)||h(\"38\"),L._renderSubtreeIntoContainer(e,t,n,r)},_renderSubtreeIntoContainer:function(e,t,n,r){S.validateCallback(r,\"ReactDOM.render\"),v.isValidElement(t)||h(\"39\",\"string\"==typeof t?\" Instead of passing a string like 'div', pass React.createElement('div') or <div />.\":\"function\"==typeof t?\" Instead of passing a class like Foo, pass React.createElement(Foo) or <Foo />.\":null!=t&&void 0!==t.props?\" This may be caused by unintentionally loading two independent copies of React.\":\"\");var a,s=v.createElement(B,{child:t});if(e){var u=w.get(e);a=u._processChildContext(u._context)}else a=A;var c=f(n);if(c){var p=c._currentElement,d=p.props.child;if(M(d,t)){var m=c._renderedComponent.getPublicInstance(),g=r&&function(){r.call(m)};return L._updateRootComponent(c,s,a,n,g),m}L.unmountComponentAtNode(n)}var y=i(n),_=y&&!!o(y),b=l(n),x=_&&!c&&!b,k=L._renderNewRootComponent(s,n,x,a)._renderedComponent.getPublicInstance();return r&&r.call(k),k},render:function(e,t,n){return L._renderSubtreeIntoContainer(null,e,t,n)},unmountComponentAtNode:function(e){c(e)||h(\"40\");var t=f(e);if(!t){l(e),1===e.nodeType&&e.hasAttribute(P);return!1}return delete N[t._instance.rootID],C.batchedUpdates(u,t,e,!1),!0},_mountImageIntoNode:function(e,t,n,o,a){if(c(t)||h(\"41\"),o){var s=i(t);if(k.canReuseMarkup(e,s))return void y.precacheNode(n,s);var u=s.getAttribute(k.CHECKSUM_ATTR_NAME);s.removeAttribute(k.CHECKSUM_ATTR_NAME);var l=s.outerHTML;s.setAttribute(k.CHECKSUM_ATTR_NAME,u);var p=e,f=r(p,l),m=\" (client) \"+p.substring(f-20,f+20)+\"\\n (server) \"+l.substring(f-20,f+20);t.nodeType===R&&h(\"42\",m)}if(t.nodeType===R&&h(\"43\"),a.useCreateElement){for(;t.lastChild;)t.removeChild(t.lastChild);d.insertTreeBefore(t,e,null)}else O(t,e),y.precacheNode(n,t.firstChild)}};e.exports=L},function(e,t,n){\"use strict\";var r=n(11),i=n(92),o=(n(8),{HOST:0,COMPOSITE:1,EMPTY:2,getType:function(e){return null===e||!1===e?o.EMPTY:i.isValidElement(e)?\"function\"==typeof e.type?o.COMPOSITE:o.HOST:void r(\"26\",e)}});e.exports=o},function(e,t,n){\"use strict\";var r={currentScrollLeft:0,currentScrollTop:0,refreshScrollValues:function(e){r.currentScrollLeft=e.x,r.currentScrollTop=e.y}};e.exports=r},function(e,t,n){\"use strict\";function r(e,t){return null==t&&i(\"30\"),null==e?t:Array.isArray(e)?Array.isArray(t)?(e.push.apply(e,t),e):(e.push(t),e):Array.isArray(t)?[e].concat(t):[e,t]}var i=n(11);n(8);e.exports=r},function(e,t,n){\"use strict\";function r(e,t,n){Array.isArray(e)?e.forEach(t,n):e&&t.call(n,e)}e.exports=r},function(e,t,n){\"use strict\";function r(e){for(var t;(t=e._renderedNodeType)===i.COMPOSITE;)e=e._renderedComponent;return t===i.HOST?e._renderedComponent:t===i.EMPTY?null:void 0}var i=n(473);e.exports=r},function(e,t,n){\"use strict\";function r(){return!o&&i.canUseDOM&&(o=\"textContent\"in document.documentElement?\"textContent\":\"innerText\"),o}var i=n(25),o=null;e.exports=r},function(e,t,n){\"use strict\";function r(e){var t=e.type,n=e.nodeName;return n&&\"input\"===n.toLowerCase()&&(\"checkbox\"===t||\"radio\"===t)}function i(e){return e._wrapperState.valueTracker}function o(e,t){e._wrapperState.valueTracker=t}function a(e){e._wrapperState.valueTracker=null}function s(e){var t;return e&&(t=r(e)?\"\"+e.checked:e.value),t}var u=n(14),l={_getTrackerFromNode:function(e){return i(u.getInstanceFromNode(e))},track:function(e){if(!i(e)){var t=u.getNodeFromInstance(e),n=r(t)?\"checked\":\"value\",s=Object.getOwnPropertyDescriptor(t.constructor.prototype,n),l=\"\"+t[n];t.hasOwnProperty(n)||\"function\"!=typeof s.get||\"function\"!=typeof s.set||(Object.defineProperty(t,n,{enumerable:s.enumerable,configurable:!0,get:function(){return s.get.call(this)},set:function(e){l=\"\"+e,s.set.call(this,e)}}),o(e,{getValue:function(){return l},setValue:function(e){l=\"\"+e},stopTracking:function(){a(e),delete t[n]}}))}},updateValueIfChanged:function(e){if(!e)return!1;var t=i(e);if(!t)return l.track(e),!0;var n=t.getValue(),r=s(u.getNodeFromInstance(e));return r!==n&&(t.setValue(r),!0)},stopTracking:function(e){var t=i(e);t&&t.stopTracking()}};e.exports=l},function(e,t,n){\"use strict\";function r(e){if(e){var t=e.getName();if(t)return\" Check the render method of `\"+t+\"`.\"}return\"\"}function i(e){return\"function\"==typeof e&&void 0!==e.prototype&&\"function\"==typeof e.prototype.mountComponent&&\"function\"==typeof e.prototype.receiveComponent}function o(e,t){var n;if(null===e||!1===e)n=l.create(o);else if(\"object\"==typeof e){var s=e,u=s.type;if(\"function\"!=typeof u&&\"string\"!=typeof u){var f=\"\";f+=r(s._owner),a(\"130\",null==u?u:typeof u,f)}\"string\"==typeof s.type?n=c.createInternalComponent(s):i(s.type)?(n=new s.type(s),n.getHostNode||(n.getHostNode=n.getNativeNode)):n=new p(s)}else\"string\"==typeof e||\"number\"==typeof e?n=c.createInstanceForText(e):a(\"131\",typeof e);return n._mountIndex=0,n._mountImage=null,n}var a=n(11),s=n(13),u=n(1036),l=n(468),c=n(470),p=(n(1121),n(8),n(10),function(e){this.construct(e)});s(p.prototype,u,{_instantiateReactComponent:o}),e.exports=o},function(e,t,n){\"use strict\";function r(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return\"input\"===t?!!i[e.type]:\"textarea\"===t}var i={color:!0,date:!0,datetime:!0,\"datetime-local\":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};e.exports=r},function(e,t,n){\"use strict\";var r=n(25),i=n(163),o=n(164),a=function(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType)return void(n.nodeValue=t)}e.textContent=t};r.canUseDOM&&(\"textContent\"in document.documentElement||(a=function(e,t){if(3===e.nodeType)return void(e.nodeValue=t);o(e,i(t))})),e.exports=a},function(e,t,n){\"use strict\";function r(e,t){return e&&\"object\"==typeof e&&null!=e.key?l.escape(e.key):t.toString(36)}function i(e,t,n,o){var f=typeof e;if(\"undefined\"!==f&&\"boolean\"!==f||(e=null),null===e||\"string\"===f||\"number\"===f||\"object\"===f&&e.$$typeof===s)return n(o,e,\"\"===t?c+r(e,0):t),1;var h,d,m=0,v=\"\"===t?c:t+p;if(Array.isArray(e))for(var g=0;g<e.length;g++)h=e[g],d=v+r(h,g),m+=i(h,d,n,o);else{var y=u(e);if(y){var _,b=y.call(e);if(y!==e.entries)for(var x=0;!(_=b.next()).done;)h=_.value,d=v+r(h,x++),m+=i(h,d,n,o);else for(;!(_=b.next()).done;){var w=_.value;w&&(h=w[1],d=v+l.escape(w[0])+p+r(h,0),m+=i(h,d,n,o))}}else if(\"object\"===f){var k=\"\",E=String(e);a(\"31\",\"[object Object]\"===E?\"object with keys {\"+Object.keys(e).join(\", \")+\"}\":E,k)}}return m}function o(e,t,n){return null==e?0:i(e,\"\",t,n)}var a=n(11),s=(n(53),n(1051)),u=n(1082),l=(n(8),n(248)),c=(n(10),\".\"),p=\":\";e.exports=o},function(e,t,n){\"use strict\";t.__esModule=!0,t.default={noWobble:{stiffness:170,damping:26},gentle:{stiffness:120,damping:14},wobbly:{stiffness:180,damping:12},stiff:{stiffness:210,damping:20}},e.exports=t.default},function(e,t,n){\"use strict\";t.__esModule=!0;var r=n(1),i=function(e){return e&&e.__esModule?e:{default:e}}(r);t.default=i.default.shape({subscribe:i.default.func.isRequired,dispatch:i.default.func.isRequired,getState:i.default.func.isRequired})},function(e,t,n){\"use strict\";function r(e){\"undefined\"!=typeof console&&\"function\"==typeof console.error&&console.error(e);try{throw new Error(e)}catch(e){}}t.__esModule=!0,t.default=r},function(e,t,n){\"use strict\";function r(e,t,n){this.props=e,this.context=t,this.refs=l,this.updater=n||u}function i(e,t,n){this.props=e,this.context=t,this.refs=l,this.updater=n||u}function o(){}var a=n(125),s=n(13),u=n(490),l=(n(491),n(144));n(8),n(1122);r.prototype.isReactComponent={},r.prototype.setState=function(e,t){\"object\"!=typeof e&&\"function\"!=typeof e&&null!=e&&a(\"85\"),this.updater.enqueueSetState(this,e),t&&this.updater.enqueueCallback(this,t,\"setState\")},r.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this),e&&this.updater.enqueueCallback(this,e,\"forceUpdate\")};o.prototype=r.prototype,i.prototype=new o,i.prototype.constructor=i,s(i.prototype,r.prototype),i.prototype.isPureReactComponent=!0,e.exports={Component:r,PureComponent:i}},function(e,t,n){\"use strict\";function r(e){var t=Function.prototype.toString,n=Object.prototype.hasOwnProperty,r=RegExp(\"^\"+t.call(n).replace(/[\\\\^$.*+?()[\\]{}|]/g,\"\\\\$&\").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g,\"$1.*?\")+\"$\");try{var i=t.call(e);return r.test(i)}catch(e){return!1}}function i(e){var t=l(e);if(t){var n=t.childIDs;c(e),n.forEach(i)}}function o(e,t,n){return\"\\n    in \"+(e||\"Unknown\")+(t?\" (at \"+t.fileName.replace(/^.*[\\\\\\/]/,\"\")+\":\"+t.lineNumber+\")\":n?\" (created by \"+n+\")\":\"\")}function a(e){return null==e?\"#empty\":\"string\"==typeof e||\"number\"==typeof e?\"#text\":\"string\"==typeof e.type?e.type:e.type.displayName||e.type.name||\"Unknown\"}function s(e){var t,n=S.getDisplayName(e),r=S.getElement(e),i=S.getOwnerID(e);return i&&(t=S.getDisplayName(i)),o(n,r&&r._source,t)}var u,l,c,p,f,h,d,m=n(125),v=n(53),g=(n(8),n(10),\"function\"==typeof Array.from&&\"function\"==typeof Map&&r(Map)&&null!=Map.prototype&&\"function\"==typeof Map.prototype.keys&&r(Map.prototype.keys)&&\"function\"==typeof Set&&r(Set)&&null!=Set.prototype&&\"function\"==typeof Set.prototype.keys&&r(Set.prototype.keys));if(g){var y=new Map,_=new Set;u=function(e,t){y.set(e,t)},l=function(e){return y.get(e)},c=function(e){y.delete(e)},p=function(){return Array.from(y.keys())},f=function(e){_.add(e)},h=function(e){_.delete(e)},d=function(){return Array.from(_.keys())}}else{var b={},x={},w=function(e){return\".\"+e},k=function(e){return parseInt(e.substr(1),10)};u=function(e,t){var n=w(e);b[n]=t},l=function(e){var t=w(e);return b[t]},c=function(e){var t=w(e);delete b[t]},p=function(){return Object.keys(b).map(k)},f=function(e){var t=w(e);x[t]=!0},h=function(e){var t=w(e);delete x[t]},d=function(){return Object.keys(x).map(k)}}var E=[],S={onSetChildren:function(e,t){var n=l(e);n||m(\"144\"),n.childIDs=t;for(var r=0;r<t.length;r++){var i=t[r],o=l(i);o||m(\"140\"),null==o.childIDs&&\"object\"==typeof o.element&&null!=o.element&&m(\"141\"),o.isMounted||m(\"71\"),null==o.parentID&&(o.parentID=e),o.parentID!==e&&m(\"142\",i,o.parentID,e)}},onBeforeMountComponent:function(e,t,n){u(e,{element:t,parentID:n,text:null,childIDs:[],isMounted:!1,updateCount:0})},onBeforeUpdateComponent:function(e,t){var n=l(e);n&&n.isMounted&&(n.element=t)},onMountComponent:function(e){var t=l(e);t||m(\"144\"),t.isMounted=!0,0===t.parentID&&f(e)},onUpdateComponent:function(e){var t=l(e);t&&t.isMounted&&t.updateCount++},onUnmountComponent:function(e){var t=l(e);if(t){t.isMounted=!1;0===t.parentID&&h(e)}E.push(e)},purgeUnmountedComponents:function(){if(!S._preventPurging){for(var e=0;e<E.length;e++){i(E[e])}E.length=0}},isMounted:function(e){var t=l(e);return!!t&&t.isMounted},getCurrentStackAddendum:function(e){var t=\"\";if(e){var n=a(e),r=e._owner;t+=o(n,e._source,r&&r.getName())}var i=v.current,s=i&&i._debugID;return t+=S.getStackAddendumByID(s)},getStackAddendumByID:function(e){for(var t=\"\";e;)t+=s(e),e=S.getParentID(e);return t},getChildIDs:function(e){var t=l(e);return t?t.childIDs:[]},getDisplayName:function(e){var t=S.getElement(e);return t?a(t):null},getElement:function(e){var t=l(e);return t?t.element:null},getOwnerID:function(e){var t=S.getElement(e);return t&&t._owner?t._owner._debugID:null},getParentID:function(e){var t=l(e);return t?t.parentID:null},getSource:function(e){var t=l(e),n=t?t.element:null;return null!=n?n._source:null},getText:function(e){var t=S.getElement(e);return\"string\"==typeof t?t:\"number\"==typeof t?\"\"+t:null},getUpdateCount:function(e){var t=l(e);return t?t.updateCount:0},getRootIDs:d,getRegisteredIDs:p,pushNonStandardWarningStack:function(e,t){if(\"function\"==typeof console.reactStack){var n=[],r=v.current,i=r&&r._debugID;try{for(e&&n.push({name:i?S.getDisplayName(i):null,fileName:t?t.fileName:null,lineNumber:t?t.lineNumber:null});i;){var o=S.getElement(i),a=S.getParentID(i),s=S.getOwnerID(i),u=s?S.getDisplayName(s):null,l=o&&o._source;n.push({name:u,fileName:l?l.fileName:null,lineNumber:l?l.lineNumber:null}),i=a}}catch(e){}console.reactStack(n)}},popNonStandardWarningStack:function(){\"function\"==typeof console.reactStackEnd&&console.reactStackEnd()}};e.exports=S},function(e,t,n){\"use strict\";var r=\"function\"==typeof Symbol&&Symbol.for&&Symbol.for(\"react.element\")||60103;e.exports=r},function(e,t,n){\"use strict\";var r=(n(10),{isMounted:function(e){return!1},enqueueCallback:function(e,t){},enqueueForceUpdate:function(e){},enqueueReplaceState:function(e,t){},enqueueSetState:function(e,t){}});e.exports=r},function(e,t,n){\"use strict\";var r=!1;e.exports=r},function(e,t,n){\"use strict\";(function(t,r){function i(e){return F.from(e)}function o(e){return F.isBuffer(e)||e instanceof B}function a(e,t,n){if(\"function\"==typeof e.prependListener)return e.prependListener(t,n);e._events&&e._events[t]?R(e._events[t])?e._events[t].unshift(n):e._events[t]=[n,e._events[t]]:e.on(t,n)}function s(e,t){I=I||n(71),e=e||{};var r=t instanceof I;this.objectMode=!!e.objectMode,r&&(this.objectMode=this.objectMode||!!e.readableObjectMode);var i=e.highWaterMark,o=e.readableHighWaterMark,a=this.objectMode?16:16384;this.highWaterMark=i||0===i?i:r&&(o||0===o)?o:a,this.highWaterMark=Math.floor(this.highWaterMark),this.buffer=new W,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.destroyed=!1,this.defaultEncoding=e.defaultEncoding||\"utf8\",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(U||(U=n(269).StringDecoder),this.decoder=new U(e.encoding),this.encoding=e.encoding)}function u(e){if(I=I||n(71),!(this instanceof u))return new u(e);this._readableState=new s(e,this),this.readable=!0,e&&(\"function\"==typeof e.read&&(this._read=e.read),\"function\"==typeof e.destroy&&(this._destroy=e.destroy)),N.call(this)}function l(e,t,n,r,o){var a=e._readableState;if(null===t)a.reading=!1,m(e,a);else{var s;o||(s=p(a,t)),s?e.emit(\"error\",s):a.objectMode||t&&t.length>0?(\"string\"==typeof t||a.objectMode||Object.getPrototypeOf(t)===F.prototype||(t=i(t)),r?a.endEmitted?e.emit(\"error\",new Error(\"stream.unshift() after end event\")):c(e,a,t,!0):a.ended?e.emit(\"error\",new Error(\"stream.push() after EOF\")):(a.reading=!1,a.decoder&&!n?(t=a.decoder.write(t),a.objectMode||0!==t.length?c(e,a,t,!1):y(e,a)):c(e,a,t,!1))):r||(a.reading=!1)}return f(a)}function c(e,t,n,r){t.flowing&&0===t.length&&!t.sync?(e.emit(\"data\",n),e.read(0)):(t.length+=t.objectMode?1:n.length,r?t.buffer.unshift(n):t.buffer.push(n),t.needReadable&&v(e)),y(e,t)}function p(e,t){var n;return o(t)||\"string\"==typeof t||void 0===t||e.objectMode||(n=new TypeError(\"Invalid non-string/buffer chunk\")),n}function f(e){return!e.ended&&(e.needReadable||e.length<e.highWaterMark||0===e.length)}function h(e){return e>=J?e=J:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}function d(e,t){return e<=0||0===t.length&&t.ended?0:t.objectMode?1:e!==e?t.flowing&&t.length?t.buffer.head.data.length:t.length:(e>t.highWaterMark&&(t.highWaterMark=h(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function m(e,t){if(!t.ended){if(t.decoder){var n=t.decoder.end();n&&n.length&&(t.buffer.push(n),t.length+=t.objectMode?1:n.length)}t.ended=!0,v(e)}}function v(e){var t=e._readableState;t.needReadable=!1,t.emittedReadable||(z(\"emitReadable\",t.flowing),t.emittedReadable=!0,t.sync?P.nextTick(g,e):g(e))}function g(e){z(\"emit readable\"),e.emit(\"readable\"),E(e)}function y(e,t){t.readingMore||(t.readingMore=!0,P.nextTick(_,e,t))}function _(e,t){for(var n=t.length;!t.reading&&!t.flowing&&!t.ended&&t.length<t.highWaterMark&&(z(\"maybeReadMore read 0\"),e.read(0),n!==t.length);)n=t.length;t.readingMore=!1}function b(e){return function(){var t=e._readableState;z(\"pipeOnDrain\",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,0===t.awaitDrain&&j(e,\"data\")&&(t.flowing=!0,E(e))}}function x(e){z(\"readable nexttick read 0\"),e.read(0)}function w(e,t){t.resumeScheduled||(t.resumeScheduled=!0,P.nextTick(k,e,t))}function k(e,t){t.reading||(z(\"resume read 0\"),e.read(0)),t.resumeScheduled=!1,t.awaitDrain=0,e.emit(\"resume\"),E(e),t.flowing&&!t.reading&&e.read(0)}function E(e){var t=e._readableState;for(z(\"flow\",t.flowing);t.flowing&&null!==e.read(););}function S(e,t){if(0===t.length)return null;var n;return t.objectMode?n=t.buffer.shift():!e||e>=t.length?(n=t.decoder?t.buffer.join(\"\"):1===t.buffer.length?t.buffer.head.data:t.buffer.concat(t.length),t.buffer.clear()):n=C(e,t.buffer,t.decoder),n}function C(e,t,n){var r;return e<t.head.data.length?(r=t.head.data.slice(0,e),t.head.data=t.head.data.slice(e)):r=e===t.head.data.length?t.shift():n?A(e,t):D(e,t),r}function A(e,t){var n=t.head,r=1,i=n.data;for(e-=i.length;n=n.next;){var o=n.data,a=e>o.length?o.length:e;if(a===o.length?i+=o:i+=o.slice(0,e),0===(e-=a)){a===o.length?(++r,n.next?t.head=n.next:t.head=t.tail=null):(t.head=n,n.data=o.slice(a));break}++r}return t.length-=r,i}function D(e,t){var n=F.allocUnsafe(e),r=t.head,i=1;for(r.data.copy(n),e-=r.data.length;r=r.next;){var o=r.data,a=e>o.length?o.length:e;if(o.copy(n,n.length-e,0,a),0===(e-=a)){a===o.length?(++i,r.next?t.head=r.next:t.head=t.tail=null):(t.head=r,r.data=o.slice(a));break}++i}return t.length-=i,n}function O(e){var t=e._readableState;if(t.length>0)throw new Error('\"endReadable()\" called on non-empty stream');t.endEmitted||(t.ended=!0,P.nextTick(M,t,e))}function M(e,t){e.endEmitted||0!==e.length||(e.endEmitted=!0,t.readable=!1,t.emit(\"end\"))}function T(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1}var P=n(159);e.exports=u;var I,R=n(396);u.ReadableState=s;var j=(n(143).EventEmitter,function(e,t){return e.listeners(t).length}),N=n(495),F=n(168).Buffer,B=t.Uint8Array||function(){},L=n(111);L.inherits=n(44);var q=n(1227),z=void 0;z=q&&q.debuglog?q.debuglog(\"stream\"):function(){};var U,W=n(1127),V=n(494);L.inherits(u,N);var H=[\"error\",\"close\",\"destroy\",\"pause\",\"resume\"];Object.defineProperty(u.prototype,\"destroyed\",{get:function(){return void 0!==this._readableState&&this._readableState.destroyed},set:function(e){this._readableState&&(this._readableState.destroyed=e)}}),u.prototype.destroy=V.destroy,u.prototype._undestroy=V.undestroy,u.prototype._destroy=function(e,t){this.push(null),t(e)},u.prototype.push=function(e,t){var n,r=this._readableState;return r.objectMode?n=!0:\"string\"==typeof e&&(t=t||r.defaultEncoding,t!==r.encoding&&(e=F.from(e,t),t=\"\"),n=!0),l(this,e,t,!1,n)},u.prototype.unshift=function(e){return l(this,e,null,!0,!1)},u.prototype.isPaused=function(){return!1===this._readableState.flowing},u.prototype.setEncoding=function(e){return U||(U=n(269).StringDecoder),this._readableState.decoder=new U(e),this._readableState.encoding=e,this};var J=8388608;u.prototype.read=function(e){z(\"read\",e),e=parseInt(e,10);var t=this._readableState,n=e;if(0!==e&&(t.emittedReadable=!1),0===e&&t.needReadable&&(t.length>=t.highWaterMark||t.ended))return z(\"read: emitReadable\",t.length,t.ended),0===t.length&&t.ended?O(this):v(this),null;if(0===(e=d(e,t))&&t.ended)return 0===t.length&&O(this),null;var r=t.needReadable;z(\"need readable\",r),(0===t.length||t.length-e<t.highWaterMark)&&(r=!0,z(\"length less than watermark\",r)),t.ended||t.reading?(r=!1,z(\"reading or ended\",r)):r&&(z(\"do read\"),t.reading=!0,t.sync=!0,0===t.length&&(t.needReadable=!0),this._read(t.highWaterMark),t.sync=!1,t.reading||(e=d(n,t)));var i;return i=e>0?S(e,t):null,null===i?(t.needReadable=!0,e=0):t.length-=e,0===t.length&&(t.ended||(t.needReadable=!0),n!==e&&t.ended&&O(this)),null!==i&&this.emit(\"data\",i),i},u.prototype._read=function(e){this.emit(\"error\",new Error(\"_read() is not implemented\"))},u.prototype.pipe=function(e,t){function n(e,t){z(\"onunpipe\"),e===f&&t&&!1===t.hasUnpiped&&(t.hasUnpiped=!0,o())}function i(){z(\"onend\"),e.end()}function o(){z(\"cleanup\"),e.removeListener(\"close\",l),e.removeListener(\"finish\",c),e.removeListener(\"drain\",v),e.removeListener(\"error\",u),e.removeListener(\"unpipe\",n),f.removeListener(\"end\",i),f.removeListener(\"end\",p),f.removeListener(\"data\",s),g=!0,!h.awaitDrain||e._writableState&&!e._writableState.needDrain||v()}function s(t){z(\"ondata\"),y=!1,!1!==e.write(t)||y||((1===h.pipesCount&&h.pipes===e||h.pipesCount>1&&-1!==T(h.pipes,e))&&!g&&(z(\"false write response, pause\",f._readableState.awaitDrain),f._readableState.awaitDrain++,y=!0),f.pause())}function u(t){z(\"onerror\",t),p(),e.removeListener(\"error\",u),0===j(e,\"error\")&&e.emit(\"error\",t)}function l(){e.removeListener(\"finish\",c),p()}function c(){z(\"onfinish\"),e.removeListener(\"close\",l),p()}function p(){z(\"unpipe\"),f.unpipe(e)}var f=this,h=this._readableState;switch(h.pipesCount){case 0:h.pipes=e;break;case 1:h.pipes=[h.pipes,e];break;default:h.pipes.push(e)}h.pipesCount+=1,z(\"pipe count=%d opts=%j\",h.pipesCount,t);var d=(!t||!1!==t.end)&&e!==r.stdout&&e!==r.stderr,m=d?i:p;h.endEmitted?P.nextTick(m):f.once(\"end\",m),e.on(\"unpipe\",n);var v=b(f);e.on(\"drain\",v);var g=!1,y=!1;return f.on(\"data\",s),a(e,\"error\",u),e.once(\"close\",l),e.once(\"finish\",c),e.emit(\"pipe\",f),h.flowing||(z(\"pipe resume\"),f.resume()),e},u.prototype.unpipe=function(e){var t=this._readableState,n={hasUnpiped:!1};if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes?this:(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit(\"unpipe\",this,n),this);if(!e){var r=t.pipes,i=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var o=0;o<i;o++)r[o].emit(\"unpipe\",this,n);return this}var a=T(t.pipes,e);return-1===a?this:(t.pipes.splice(a,1),t.pipesCount-=1,1===t.pipesCount&&(t.pipes=t.pipes[0]),e.emit(\"unpipe\",this,n),this)},u.prototype.on=function(e,t){var n=N.prototype.on.call(this,e,t);if(\"data\"===e)!1!==this._readableState.flowing&&this.resume();else if(\"readable\"===e){var r=this._readableState;r.endEmitted||r.readableListening||(r.readableListening=r.needReadable=!0,r.emittedReadable=!1,r.reading?r.length&&v(this):P.nextTick(x,this))}return n},u.prototype.addListener=u.prototype.on,u.prototype.resume=function(){var e=this._readableState;return e.flowing||(z(\"resume\"),e.flowing=!0,w(this,e)),this},u.prototype.pause=function(){return z(\"call pause flowing=%j\",this._readableState.flowing),!1!==this._readableState.flowing&&(z(\"pause\"),this._readableState.flowing=!1,this.emit(\"pause\")),this},u.prototype.wrap=function(e){var t=this,n=this._readableState,r=!1;e.on(\"end\",function(){if(z(\"wrapped end\"),n.decoder&&!n.ended){var e=n.decoder.end();e&&e.length&&t.push(e)}t.push(null)}),e.on(\"data\",function(i){if(z(\"wrapped data\"),n.decoder&&(i=n.decoder.write(i)),(!n.objectMode||null!==i&&void 0!==i)&&(n.objectMode||i&&i.length)){t.push(i)||(r=!0,e.pause())}});for(var i in e)void 0===this[i]&&\"function\"==typeof e[i]&&(this[i]=function(t){return function(){return e[t].apply(e,arguments)}}(i));for(var o=0;o<H.length;o++)e.on(H[o],this.emit.bind(this,H[o]));return this._read=function(t){z(\"wrapped _read\",t),r&&(r=!1,e.resume())},this},u._fromList=S}).call(t,n(16),n(34))},function(e,t,n){\"use strict\";function r(e,t){var n=this._transformState;n.transforming=!1;var r=n.writecb;if(!r)return this.emit(\"error\",new Error(\"write callback called multiple times\"));n.writechunk=null,n.writecb=null,null!=t&&this.push(t),r(e);var i=this._readableState;i.reading=!1,(i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}function i(e){if(!(this instanceof i))return new i(e);s.call(this,e),this._transformState={afterTransform:r.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,e&&(\"function\"==typeof e.transform&&(this._transform=e.transform),\"function\"==typeof e.flush&&(this._flush=e.flush)),this.on(\"prefinish\",o)}function o(){var e=this;\"function\"==typeof this._flush?this._flush(function(t,n){a(e,t,n)}):a(this,null,null)}function a(e,t,n){if(t)return e.emit(\"error\",t);if(null!=n&&e.push(n),e._writableState.length)throw new Error(\"Calling transform done when ws.length != 0\");if(e._transformState.transforming)throw new Error(\"Calling transform done when still transforming\");return e.push(null)}e.exports=i;var s=n(71),u=n(111);u.inherits=n(44),u.inherits(i,s),i.prototype.push=function(e,t){return this._transformState.needTransform=!1,s.prototype.push.call(this,e,t)},i.prototype._transform=function(e,t,n){throw new Error(\"_transform() is not implemented\")},i.prototype._write=function(e,t,n){var r=this._transformState;if(r.writecb=n,r.writechunk=e,r.writeencoding=t,!r.transforming){var i=this._readableState;(r.needTransform||i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}},i.prototype._read=function(e){var t=this._transformState;null!==t.writechunk&&t.writecb&&!t.transforming?(t.transforming=!0,this._transform(t.writechunk,t.writeencoding,t.afterTransform)):t.needTransform=!0},i.prototype._destroy=function(e,t){var n=this;s.prototype._destroy.call(this,e,function(e){t(e),n.emit(\"close\")})}},function(e,t,n){\"use strict\";function r(e,t){var n=this,r=this._readableState&&this._readableState.destroyed,i=this._writableState&&this._writableState.destroyed;return r||i?(t?t(e):!e||this._writableState&&this._writableState.errorEmitted||a.nextTick(o,this,e),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(e||null,function(e){!t&&e?(a.nextTick(o,n,e),n._writableState&&(n._writableState.errorEmitted=!0)):t&&t(e)}),this)}function i(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}function o(e,t){e.emit(\"error\",t)}var a=n(159);e.exports={destroy:r,undestroy:i}},function(e,t,n){e.exports=n(143).EventEmitter},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e){return e&&\"@@redux/INIT\"===e.type?\"initialState argument passed to createStore\":\"previous state received by the reducer\"},e.exports=t.default},function(e,t,n){\"use strict\";function r(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return 0===t.length?function(e){return e}:1===t.length?t[0]:t.reduce(function(e,t){return function(){return e(t.apply(void 0,arguments))}})}t.a=r},function(e,t,n){\"use strict\";function r(e,t,s){function u(){y===g&&(y=g.slice())}function l(){return v}function c(e){if(\"function\"!=typeof e)throw new Error(\"Expected listener to be a function.\");var t=!0;return u(),y.push(e),function(){if(t){t=!1,u();var n=y.indexOf(e);y.splice(n,1)}}}function p(e){if(!n.i(i.a)(e))throw new Error(\"Actions must be plain objects. Use custom middleware for async actions.\");if(void 0===e.type)throw new Error('Actions may not have an undefined \"type\" property. Have you misspelled a constant?');if(_)throw new Error(\"Reducers may not dispatch actions.\");try{_=!0,v=m(v,e)}finally{_=!1}for(var t=g=y,r=0;r<t.length;r++){(0,t[r])()}return e}function f(e){if(\"function\"!=typeof e)throw new Error(\"Expected the nextReducer to be a function.\");m=e,p({type:a.INIT})}function h(){var e,t=c;return e={subscribe:function(e){function n(){e.next&&e.next(l())}if(\"object\"!=typeof e)throw new TypeError(\"Expected the observer to be an object.\");return n(),{unsubscribe:t(n)}}},e[o.a]=function(){return this},e}var d;if(\"function\"==typeof t&&void 0===s&&(s=t,t=void 0),void 0!==s){if(\"function\"!=typeof s)throw new Error(\"Expected the enhancer to be a function.\");return s(r)(e,t)}if(\"function\"!=typeof e)throw new Error(\"Expected the reducer to be a function.\");var m=e,v=t,g=[],y=g,_=!1;return p({type:a.INIT}),d={dispatch:p,subscribe:c,getState:l,replaceReducer:f},d[o.a]=h,d}n.d(t,\"b\",function(){return a}),t.a=r;var i=n(400),o=n(1197),a={INIT:\"@@redux/INIT\"}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(498),i=n(1138),o=n(1137),a=n(1136),s=n(497);n(500);n.d(t,\"createStore\",function(){return r.a}),n.d(t,\"combineReducers\",function(){return i.a}),n.d(t,\"bindActionCreators\",function(){return o.a}),n.d(t,\"applyMiddleware\",function(){return a.a}),n.d(t,\"compose\",function(){return s.a})},function(e,t,n){\"use strict\"},function(e,t,n){\"use strict\";e.exports={Aacute:\"Á\",aacute:\"á\",Abreve:\"Ă\",abreve:\"ă\",ac:\"∾\",acd:\"∿\",acE:\"∾̳\",Acirc:\"Â\",acirc:\"â\",acute:\"´\",Acy:\"А\",acy:\"а\",AElig:\"Æ\",aelig:\"æ\",af:\"⁡\",Afr:\"𝔄\",afr:\"𝔞\",Agrave:\"À\",agrave:\"à\",alefsym:\"ℵ\",aleph:\"ℵ\",Alpha:\"Α\",alpha:\"α\",Amacr:\"Ā\",amacr:\"ā\",amalg:\"⨿\",AMP:\"&\",amp:\"&\",And:\"⩓\",and:\"∧\",andand:\"⩕\",andd:\"⩜\",andslope:\"⩘\",andv:\"⩚\",ang:\"∠\",ange:\"⦤\",angle:\"∠\",angmsd:\"∡\",angmsdaa:\"⦨\",angmsdab:\"⦩\",angmsdac:\"⦪\",angmsdad:\"⦫\",angmsdae:\"⦬\",angmsdaf:\"⦭\",angmsdag:\"⦮\",angmsdah:\"⦯\",angrt:\"∟\",angrtvb:\"⊾\",angrtvbd:\"⦝\",angsph:\"∢\",angst:\"Å\",angzarr:\"⍼\",Aogon:\"Ą\",aogon:\"ą\",Aopf:\"𝔸\",aopf:\"𝕒\",ap:\"≈\",apacir:\"⩯\",apE:\"⩰\",ape:\"≊\",apid:\"≋\",apos:\"'\",ApplyFunction:\"⁡\",approx:\"≈\",approxeq:\"≊\",Aring:\"Å\",aring:\"å\",Ascr:\"𝒜\",ascr:\"𝒶\",Assign:\"≔\",ast:\"*\",asymp:\"≈\",asympeq:\"≍\",Atilde:\"Ã\",atilde:\"ã\",Auml:\"Ä\",auml:\"ä\",awconint:\"∳\",awint:\"⨑\",backcong:\"≌\",backepsilon:\"϶\",backprime:\"‵\",backsim:\"∽\",backsimeq:\"⋍\",Backslash:\"∖\",Barv:\"⫧\",barvee:\"⊽\",Barwed:\"⌆\",barwed:\"⌅\",barwedge:\"⌅\",bbrk:\"⎵\",bbrktbrk:\"⎶\",bcong:\"≌\",Bcy:\"Б\",bcy:\"б\",bdquo:\"„\",becaus:\"∵\",Because:\"∵\",because:\"∵\",bemptyv:\"⦰\",bepsi:\"϶\",bernou:\"ℬ\",Bernoullis:\"ℬ\",Beta:\"Β\",beta:\"β\",beth:\"ℶ\",between:\"≬\",Bfr:\"𝔅\",bfr:\"𝔟\",bigcap:\"⋂\",bigcirc:\"◯\",bigcup:\"⋃\",bigodot:\"⨀\",bigoplus:\"⨁\",bigotimes:\"⨂\",bigsqcup:\"⨆\",bigstar:\"★\",bigtriangledown:\"▽\",bigtriangleup:\"△\",biguplus:\"⨄\",bigvee:\"⋁\",bigwedge:\"⋀\",bkarow:\"⤍\",blacklozenge:\"⧫\",blacksquare:\"▪\",blacktriangle:\"▴\",blacktriangledown:\"▾\",blacktriangleleft:\"◂\",blacktriangleright:\"▸\",blank:\"␣\",blk12:\"▒\",blk14:\"░\",blk34:\"▓\",block:\"█\",bne:\"=⃥\",bnequiv:\"≡⃥\",bNot:\"⫭\",bnot:\"⌐\",Bopf:\"𝔹\",bopf:\"𝕓\",bot:\"⊥\",bottom:\"⊥\",bowtie:\"⋈\",boxbox:\"⧉\",boxDL:\"╗\",boxDl:\"╖\",boxdL:\"╕\",boxdl:\"┐\",boxDR:\"╔\",boxDr:\"╓\",boxdR:\"╒\",boxdr:\"┌\",boxH:\"═\",boxh:\"─\",boxHD:\"╦\",boxHd:\"╤\",boxhD:\"╥\",boxhd:\"┬\",boxHU:\"╩\",boxHu:\"╧\",boxhU:\"╨\",boxhu:\"┴\",boxminus:\"⊟\",boxplus:\"⊞\",boxtimes:\"⊠\",boxUL:\"╝\",boxUl:\"╜\",boxuL:\"╛\",boxul:\"┘\",boxUR:\"╚\",boxUr:\"╙\",boxuR:\"╘\",boxur:\"└\",boxV:\"║\",boxv:\"│\",boxVH:\"╬\",boxVh:\"╫\",boxvH:\"╪\",boxvh:\"┼\",boxVL:\"╣\",boxVl:\"╢\",boxvL:\"╡\",boxvl:\"┤\",boxVR:\"╠\",boxVr:\"╟\",boxvR:\"╞\",boxvr:\"├\",bprime:\"‵\",Breve:\"˘\",breve:\"˘\",brvbar:\"¦\",Bscr:\"ℬ\",bscr:\"𝒷\",bsemi:\"⁏\",bsim:\"∽\",bsime:\"⋍\",bsol:\"\\\\\",bsolb:\"⧅\",bsolhsub:\"⟈\",bull:\"•\",bullet:\"•\",bump:\"≎\",bumpE:\"⪮\",bumpe:\"≏\",Bumpeq:\"≎\",bumpeq:\"≏\",Cacute:\"Ć\",cacute:\"ć\",Cap:\"⋒\",cap:\"∩\",capand:\"⩄\",capbrcup:\"⩉\",capcap:\"⩋\",capcup:\"⩇\",capdot:\"⩀\",CapitalDifferentialD:\"ⅅ\",caps:\"∩︀\",caret:\"⁁\",caron:\"ˇ\",Cayleys:\"ℭ\",ccaps:\"⩍\",Ccaron:\"Č\",ccaron:\"č\",Ccedil:\"Ç\",ccedil:\"ç\",Ccirc:\"Ĉ\",ccirc:\"ĉ\",Cconint:\"∰\",ccups:\"⩌\",ccupssm:\"⩐\",Cdot:\"Ċ\",cdot:\"ċ\",cedil:\"¸\",Cedilla:\"¸\",cemptyv:\"⦲\",cent:\"¢\",CenterDot:\"·\",centerdot:\"·\",Cfr:\"ℭ\",cfr:\"𝔠\",CHcy:\"Ч\",chcy:\"ч\",check:\"✓\",checkmark:\"✓\",Chi:\"Χ\",chi:\"χ\",cir:\"○\",circ:\"ˆ\",circeq:\"≗\",circlearrowleft:\"↺\",circlearrowright:\"↻\",circledast:\"⊛\",circledcirc:\"⊚\",circleddash:\"⊝\",CircleDot:\"⊙\",circledR:\"®\",circledS:\"Ⓢ\",CircleMinus:\"⊖\",CirclePlus:\"⊕\",CircleTimes:\"⊗\",cirE:\"⧃\",cire:\"≗\",cirfnint:\"⨐\",cirmid:\"⫯\",cirscir:\"⧂\",ClockwiseContourIntegral:\"∲\",CloseCurlyDoubleQuote:\"”\",CloseCurlyQuote:\"’\",clubs:\"♣\",clubsuit:\"♣\",Colon:\"∷\",colon:\":\",Colone:\"⩴\",colone:\"≔\",coloneq:\"≔\",comma:\",\",commat:\"@\",comp:\"∁\",compfn:\"∘\",complement:\"∁\",complexes:\"ℂ\",cong:\"≅\",congdot:\"⩭\",Congruent:\"≡\",Conint:\"∯\",conint:\"∮\",ContourIntegral:\"∮\",Copf:\"ℂ\",copf:\"𝕔\",coprod:\"∐\",Coproduct:\"∐\",COPY:\"©\",copy:\"©\",copysr:\"℗\",CounterClockwiseContourIntegral:\"∳\",crarr:\"↵\",Cross:\"⨯\",cross:\"✗\",Cscr:\"𝒞\",cscr:\"𝒸\",csub:\"⫏\",csube:\"⫑\",csup:\"⫐\",csupe:\"⫒\",ctdot:\"⋯\",cudarrl:\"⤸\",cudarrr:\"⤵\",cuepr:\"⋞\",cuesc:\"⋟\",cularr:\"↶\",cularrp:\"⤽\",Cup:\"⋓\",cup:\"∪\",cupbrcap:\"⩈\",CupCap:\"≍\",cupcap:\"⩆\",cupcup:\"⩊\",cupdot:\"⊍\",cupor:\"⩅\",cups:\"∪︀\",curarr:\"↷\",curarrm:\"⤼\",curlyeqprec:\"⋞\",curlyeqsucc:\"⋟\",curlyvee:\"⋎\",curlywedge:\"⋏\",curren:\"¤\",curvearrowleft:\"↶\",curvearrowright:\"↷\",cuvee:\"⋎\",cuwed:\"⋏\",cwconint:\"∲\",cwint:\"∱\",cylcty:\"⌭\",Dagger:\"‡\",dagger:\"†\",daleth:\"ℸ\",Darr:\"↡\",dArr:\"⇓\",darr:\"↓\",dash:\"‐\",Dashv:\"⫤\",dashv:\"⊣\",dbkarow:\"⤏\",dblac:\"˝\",Dcaron:\"Ď\",dcaron:\"ď\",Dcy:\"Д\",dcy:\"д\",DD:\"ⅅ\",dd:\"ⅆ\",ddagger:\"‡\",ddarr:\"⇊\",DDotrahd:\"⤑\",ddotseq:\"⩷\",deg:\"°\",Del:\"∇\",Delta:\"Δ\",delta:\"δ\",demptyv:\"⦱\",dfisht:\"⥿\",Dfr:\"𝔇\",dfr:\"𝔡\",dHar:\"⥥\",dharl:\"⇃\",dharr:\"⇂\",DiacriticalAcute:\"´\",DiacriticalDot:\"˙\",DiacriticalDoubleAcute:\"˝\",DiacriticalGrave:\"`\",DiacriticalTilde:\"˜\",diam:\"⋄\",Diamond:\"⋄\",diamond:\"⋄\",diamondsuit:\"♦\",diams:\"♦\",die:\"¨\",DifferentialD:\"ⅆ\",digamma:\"ϝ\",disin:\"⋲\",div:\"÷\",divide:\"÷\",divideontimes:\"⋇\",divonx:\"⋇\",DJcy:\"Ђ\",djcy:\"ђ\",dlcorn:\"⌞\",dlcrop:\"⌍\",dollar:\"$\",Dopf:\"𝔻\",dopf:\"𝕕\",Dot:\"¨\",dot:\"˙\",DotDot:\"⃜\",doteq:\"≐\",doteqdot:\"≑\",DotEqual:\"≐\",dotminus:\"∸\",dotplus:\"∔\",dotsquare:\"⊡\",doublebarwedge:\"⌆\",DoubleContourIntegral:\"∯\",DoubleDot:\"¨\",DoubleDownArrow:\"⇓\",DoubleLeftArrow:\"⇐\",DoubleLeftRightArrow:\"⇔\",DoubleLeftTee:\"⫤\",DoubleLongLeftArrow:\"⟸\",DoubleLongLeftRightArrow:\"⟺\",DoubleLongRightArrow:\"⟹\",DoubleRightArrow:\"⇒\",DoubleRightTee:\"⊨\",DoubleUpArrow:\"⇑\",DoubleUpDownArrow:\"⇕\",DoubleVerticalBar:\"∥\",DownArrow:\"↓\",Downarrow:\"⇓\",downarrow:\"↓\",DownArrowBar:\"⤓\",DownArrowUpArrow:\"⇵\",DownBreve:\"̑\",downdownarrows:\"⇊\",downharpoonleft:\"⇃\",downharpoonright:\"⇂\",DownLeftRightVector:\"⥐\",DownLeftTeeVector:\"⥞\",DownLeftVector:\"↽\",DownLeftVectorBar:\"⥖\",DownRightTeeVector:\"⥟\",DownRightVector:\"⇁\",DownRightVectorBar:\"⥗\",DownTee:\"⊤\",DownTeeArrow:\"↧\",drbkarow:\"⤐\",drcorn:\"⌟\",drcrop:\"⌌\",Dscr:\"𝒟\",dscr:\"𝒹\",DScy:\"Ѕ\",dscy:\"ѕ\",dsol:\"⧶\",Dstrok:\"Đ\",dstrok:\"đ\",dtdot:\"⋱\",dtri:\"▿\",dtrif:\"▾\",duarr:\"⇵\",duhar:\"⥯\",dwangle:\"⦦\",DZcy:\"Џ\",dzcy:\"џ\",dzigrarr:\"⟿\",Eacute:\"É\",eacute:\"é\",easter:\"⩮\",Ecaron:\"Ě\",ecaron:\"ě\",ecir:\"≖\",Ecirc:\"Ê\",ecirc:\"ê\",ecolon:\"≕\",Ecy:\"Э\",ecy:\"э\",eDDot:\"⩷\",Edot:\"Ė\",eDot:\"≑\",edot:\"ė\",ee:\"ⅇ\",efDot:\"≒\",Efr:\"𝔈\",efr:\"𝔢\",eg:\"⪚\",Egrave:\"È\",egrave:\"è\",egs:\"⪖\",egsdot:\"⪘\",el:\"⪙\",Element:\"∈\",elinters:\"⏧\",ell:\"ℓ\",els:\"⪕\",elsdot:\"⪗\",Emacr:\"Ē\",emacr:\"ē\",empty:\"∅\",emptyset:\"∅\",EmptySmallSquare:\"◻\",emptyv:\"∅\",EmptyVerySmallSquare:\"▫\",emsp:\" \",emsp13:\" \",emsp14:\" \",ENG:\"Ŋ\",eng:\"ŋ\",ensp:\" \",Eogon:\"Ę\",eogon:\"ę\",Eopf:\"𝔼\",eopf:\"𝕖\",epar:\"⋕\",eparsl:\"⧣\",eplus:\"⩱\",epsi:\"ε\",Epsilon:\"Ε\",epsilon:\"ε\",epsiv:\"ϵ\",eqcirc:\"≖\",eqcolon:\"≕\",eqsim:\"≂\",eqslantgtr:\"⪖\",eqslantless:\"⪕\",Equal:\"⩵\",equals:\"=\",EqualTilde:\"≂\",equest:\"≟\",Equilibrium:\"⇌\",equiv:\"≡\",equivDD:\"⩸\",eqvparsl:\"⧥\",erarr:\"⥱\",erDot:\"≓\",Escr:\"ℰ\",escr:\"ℯ\",esdot:\"≐\",Esim:\"⩳\",esim:\"≂\",Eta:\"Η\",eta:\"η\",ETH:\"Ð\",eth:\"ð\",Euml:\"Ë\",euml:\"ë\",euro:\"€\",excl:\"!\",exist:\"∃\",Exists:\"∃\",expectation:\"ℰ\",ExponentialE:\"ⅇ\",exponentiale:\"ⅇ\",fallingdotseq:\"≒\",Fcy:\"Ф\",fcy:\"ф\",female:\"♀\",ffilig:\"ﬃ\",fflig:\"ﬀ\",ffllig:\"ﬄ\",Ffr:\"𝔉\",ffr:\"𝔣\",filig:\"ﬁ\",FilledSmallSquare:\"◼\",FilledVerySmallSquare:\"▪\",fjlig:\"fj\",flat:\"♭\",fllig:\"ﬂ\",fltns:\"▱\",fnof:\"ƒ\",Fopf:\"𝔽\",fopf:\"𝕗\",ForAll:\"∀\",forall:\"∀\",fork:\"⋔\",forkv:\"⫙\",Fouriertrf:\"ℱ\",fpartint:\"⨍\",frac12:\"½\",frac13:\"⅓\",frac14:\"¼\",frac15:\"⅕\",frac16:\"⅙\",frac18:\"⅛\",frac23:\"⅔\",frac25:\"⅖\",frac34:\"¾\",frac35:\"⅗\",frac38:\"⅜\",frac45:\"⅘\",frac56:\"⅚\",frac58:\"⅝\",frac78:\"⅞\",frasl:\"⁄\",frown:\"⌢\",Fscr:\"ℱ\",fscr:\"𝒻\",gacute:\"ǵ\",Gamma:\"Γ\",gamma:\"γ\",Gammad:\"Ϝ\",gammad:\"ϝ\",gap:\"⪆\",Gbreve:\"Ğ\",gbreve:\"ğ\",Gcedil:\"Ģ\",Gcirc:\"Ĝ\",gcirc:\"ĝ\",Gcy:\"Г\",gcy:\"г\",Gdot:\"Ġ\",gdot:\"ġ\",gE:\"≧\",ge:\"≥\",gEl:\"⪌\",gel:\"⋛\",geq:\"≥\",geqq:\"≧\",geqslant:\"⩾\",ges:\"⩾\",gescc:\"⪩\",gesdot:\"⪀\",gesdoto:\"⪂\",gesdotol:\"⪄\",gesl:\"⋛︀\",gesles:\"⪔\",Gfr:\"𝔊\",gfr:\"𝔤\",Gg:\"⋙\",gg:\"≫\",ggg:\"⋙\",gimel:\"ℷ\",GJcy:\"Ѓ\",gjcy:\"ѓ\",gl:\"≷\",gla:\"⪥\",glE:\"⪒\",glj:\"⪤\",gnap:\"⪊\",gnapprox:\"⪊\",gnE:\"≩\",gne:\"⪈\",gneq:\"⪈\",gneqq:\"≩\",gnsim:\"⋧\",Gopf:\"𝔾\",gopf:\"𝕘\",grave:\"`\",GreaterEqual:\"≥\",GreaterEqualLess:\"⋛\",GreaterFullEqual:\"≧\",GreaterGreater:\"⪢\",GreaterLess:\"≷\",GreaterSlantEqual:\"⩾\",GreaterTilde:\"≳\",Gscr:\"𝒢\",gscr:\"ℊ\",gsim:\"≳\",gsime:\"⪎\",gsiml:\"⪐\",GT:\">\",Gt:\"≫\",gt:\">\",gtcc:\"⪧\",gtcir:\"⩺\",gtdot:\"⋗\",gtlPar:\"⦕\",gtquest:\"⩼\",gtrapprox:\"⪆\",gtrarr:\"⥸\",gtrdot:\"⋗\",gtreqless:\"⋛\",gtreqqless:\"⪌\",gtrless:\"≷\",gtrsim:\"≳\",gvertneqq:\"≩︀\",gvnE:\"≩︀\",Hacek:\"ˇ\",hairsp:\" \",half:\"½\",hamilt:\"ℋ\",HARDcy:\"Ъ\",hardcy:\"ъ\",hArr:\"⇔\",harr:\"↔\",harrcir:\"⥈\",harrw:\"↭\",Hat:\"^\",hbar:\"ℏ\",Hcirc:\"Ĥ\",hcirc:\"ĥ\",hearts:\"♥\",heartsuit:\"♥\",hellip:\"…\",hercon:\"⊹\",Hfr:\"ℌ\",hfr:\"𝔥\",HilbertSpace:\"ℋ\",hksearow:\"⤥\",hkswarow:\"⤦\",hoarr:\"⇿\",homtht:\"∻\",hookleftarrow:\"↩\",hookrightarrow:\"↪\",Hopf:\"ℍ\",hopf:\"𝕙\",horbar:\"―\",HorizontalLine:\"─\",Hscr:\"ℋ\",hscr:\"𝒽\",hslash:\"ℏ\",Hstrok:\"Ħ\",hstrok:\"ħ\",HumpDownHump:\"≎\",HumpEqual:\"≏\",hybull:\"⁃\",hyphen:\"‐\",Iacute:\"Í\",iacute:\"í\",ic:\"⁣\",Icirc:\"Î\",icirc:\"î\",Icy:\"И\",icy:\"и\",Idot:\"İ\",IEcy:\"Е\",iecy:\"е\",iexcl:\"¡\",iff:\"⇔\",Ifr:\"ℑ\",ifr:\"𝔦\",Igrave:\"Ì\",igrave:\"ì\",ii:\"ⅈ\",iiiint:\"⨌\",iiint:\"∭\",iinfin:\"⧜\",iiota:\"℩\",IJlig:\"Ĳ\",ijlig:\"ĳ\",Im:\"ℑ\",Imacr:\"Ī\",imacr:\"ī\",image:\"ℑ\",ImaginaryI:\"ⅈ\",imagline:\"ℐ\",imagpart:\"ℑ\",imath:\"ı\",imof:\"⊷\",imped:\"Ƶ\",Implies:\"⇒\",in:\"∈\",incare:\"℅\",infin:\"∞\",infintie:\"⧝\",inodot:\"ı\",Int:\"∬\",int:\"∫\",intcal:\"⊺\",integers:\"ℤ\",Integral:\"∫\",intercal:\"⊺\",Intersection:\"⋂\",intlarhk:\"⨗\",intprod:\"⨼\",InvisibleComma:\"⁣\",InvisibleTimes:\"⁢\",IOcy:\"Ё\",iocy:\"ё\",Iogon:\"Į\",iogon:\"į\",Iopf:\"𝕀\",iopf:\"𝕚\",Iota:\"Ι\",iota:\"ι\",iprod:\"⨼\",iquest:\"¿\",Iscr:\"ℐ\",iscr:\"𝒾\",isin:\"∈\",isindot:\"⋵\",isinE:\"⋹\",isins:\"⋴\",isinsv:\"⋳\",isinv:\"∈\",it:\"⁢\",Itilde:\"Ĩ\",itilde:\"ĩ\",Iukcy:\"І\",iukcy:\"і\",Iuml:\"Ï\",iuml:\"ï\",Jcirc:\"Ĵ\",jcirc:\"ĵ\",Jcy:\"Й\",jcy:\"й\",Jfr:\"𝔍\",jfr:\"𝔧\",jmath:\"ȷ\",Jopf:\"𝕁\",jopf:\"𝕛\",Jscr:\"𝒥\",jscr:\"𝒿\",Jsercy:\"Ј\",jsercy:\"ј\",Jukcy:\"Є\",jukcy:\"є\",Kappa:\"Κ\",kappa:\"κ\",kappav:\"ϰ\",Kcedil:\"Ķ\",kcedil:\"ķ\",Kcy:\"К\",kcy:\"к\",Kfr:\"𝔎\",kfr:\"𝔨\",kgreen:\"ĸ\",KHcy:\"Х\",khcy:\"х\",KJcy:\"Ќ\",kjcy:\"ќ\",Kopf:\"𝕂\",kopf:\"𝕜\",Kscr:\"𝒦\",kscr:\"𝓀\",lAarr:\"⇚\",Lacute:\"Ĺ\",lacute:\"ĺ\",laemptyv:\"⦴\",lagran:\"ℒ\",Lambda:\"Λ\",lambda:\"λ\",Lang:\"⟪\",lang:\"⟨\",langd:\"⦑\",langle:\"⟨\",lap:\"⪅\",Laplacetrf:\"ℒ\",laquo:\"«\",Larr:\"↞\",lArr:\"⇐\",larr:\"←\",larrb:\"⇤\",larrbfs:\"⤟\",larrfs:\"⤝\",larrhk:\"↩\",larrlp:\"↫\",larrpl:\"⤹\",larrsim:\"⥳\",larrtl:\"↢\",lat:\"⪫\",lAtail:\"⤛\",latail:\"⤙\",late:\"⪭\",lates:\"⪭︀\",lBarr:\"⤎\",lbarr:\"⤌\",lbbrk:\"❲\",lbrace:\"{\",lbrack:\"[\",lbrke:\"⦋\",lbrksld:\"⦏\",lbrkslu:\"⦍\",Lcaron:\"Ľ\",lcaron:\"ľ\",Lcedil:\"Ļ\",lcedil:\"ļ\",lceil:\"⌈\",lcub:\"{\",Lcy:\"Л\",lcy:\"л\",ldca:\"⤶\",ldquo:\"“\",ldquor:\"„\",ldrdhar:\"⥧\",ldrushar:\"⥋\",ldsh:\"↲\",lE:\"≦\",le:\"≤\",LeftAngleBracket:\"⟨\",LeftArrow:\"←\",Leftarrow:\"⇐\",leftarrow:\"←\",LeftArrowBar:\"⇤\",LeftArrowRightArrow:\"⇆\",leftarrowtail:\"↢\",LeftCeiling:\"⌈\",LeftDoubleBracket:\"⟦\",LeftDownTeeVector:\"⥡\",LeftDownVector:\"⇃\",LeftDownVectorBar:\"⥙\",LeftFloor:\"⌊\",leftharpoondown:\"↽\",leftharpoonup:\"↼\",leftleftarrows:\"⇇\",LeftRightArrow:\"↔\",Leftrightarrow:\"⇔\",leftrightarrow:\"↔\",leftrightarrows:\"⇆\",leftrightharpoons:\"⇋\",leftrightsquigarrow:\"↭\",LeftRightVector:\"⥎\",LeftTee:\"⊣\",LeftTeeArrow:\"↤\",LeftTeeVector:\"⥚\",leftthreetimes:\"⋋\",LeftTriangle:\"⊲\",LeftTriangleBar:\"⧏\",LeftTriangleEqual:\"⊴\",LeftUpDownVector:\"⥑\",LeftUpTeeVector:\"⥠\",LeftUpVector:\"↿\",LeftUpVectorBar:\"⥘\",LeftVector:\"↼\",LeftVectorBar:\"⥒\",lEg:\"⪋\",leg:\"⋚\",leq:\"≤\",leqq:\"≦\",leqslant:\"⩽\",les:\"⩽\",lescc:\"⪨\",lesdot:\"⩿\",lesdoto:\"⪁\",lesdotor:\"⪃\",lesg:\"⋚︀\",lesges:\"⪓\",lessapprox:\"⪅\",lessdot:\"⋖\",lesseqgtr:\"⋚\",lesseqqgtr:\"⪋\",LessEqualGreater:\"⋚\",LessFullEqual:\"≦\",LessGreater:\"≶\",lessgtr:\"≶\",LessLess:\"⪡\",lesssim:\"≲\",LessSlantEqual:\"⩽\",LessTilde:\"≲\",lfisht:\"⥼\",lfloor:\"⌊\",Lfr:\"𝔏\",lfr:\"𝔩\",lg:\"≶\",lgE:\"⪑\",lHar:\"⥢\",lhard:\"↽\",lharu:\"↼\",lharul:\"⥪\",lhblk:\"▄\",LJcy:\"Љ\",ljcy:\"љ\",Ll:\"⋘\",ll:\"≪\",llarr:\"⇇\",llcorner:\"⌞\",Lleftarrow:\"⇚\",llhard:\"⥫\",lltri:\"◺\",Lmidot:\"Ŀ\",lmidot:\"ŀ\",lmoust:\"⎰\",lmoustache:\"⎰\",lnap:\"⪉\",lnapprox:\"⪉\",lnE:\"≨\",lne:\"⪇\",lneq:\"⪇\",lneqq:\"≨\",lnsim:\"⋦\",loang:\"⟬\",loarr:\"⇽\",lobrk:\"⟦\",LongLeftArrow:\"⟵\",Longleftarrow:\"⟸\",longleftarrow:\"⟵\",LongLeftRightArrow:\"⟷\",Longleftrightarrow:\"⟺\",longleftrightarrow:\"⟷\",longmapsto:\"⟼\",LongRightArrow:\"⟶\",Longrightarrow:\"⟹\",longrightarrow:\"⟶\",looparrowleft:\"↫\",looparrowright:\"↬\",lopar:\"⦅\",Lopf:\"𝕃\",lopf:\"𝕝\",loplus:\"⨭\",lotimes:\"⨴\",lowast:\"∗\",lowbar:\"_\",LowerLeftArrow:\"↙\",LowerRightArrow:\"↘\",loz:\"◊\",lozenge:\"◊\",lozf:\"⧫\",lpar:\"(\",lparlt:\"⦓\",lrarr:\"⇆\",lrcorner:\"⌟\",lrhar:\"⇋\",lrhard:\"⥭\",lrm:\"‎\",lrtri:\"⊿\",lsaquo:\"‹\",Lscr:\"ℒ\",lscr:\"𝓁\",Lsh:\"↰\",lsh:\"↰\",lsim:\"≲\",lsime:\"⪍\",lsimg:\"⪏\",lsqb:\"[\",lsquo:\"‘\",lsquor:\"‚\",Lstrok:\"Ł\",lstrok:\"ł\",LT:\"<\",Lt:\"≪\",lt:\"<\",ltcc:\"⪦\",ltcir:\"⩹\",ltdot:\"⋖\",lthree:\"⋋\",ltimes:\"⋉\",ltlarr:\"⥶\",ltquest:\"⩻\",ltri:\"◃\",ltrie:\"⊴\",ltrif:\"◂\",ltrPar:\"⦖\",lurdshar:\"⥊\",luruhar:\"⥦\",lvertneqq:\"≨︀\",lvnE:\"≨︀\",macr:\"¯\",male:\"♂\",malt:\"✠\",maltese:\"✠\",Map:\"⤅\",map:\"↦\",mapsto:\"↦\",mapstodown:\"↧\",mapstoleft:\"↤\",mapstoup:\"↥\",marker:\"▮\",mcomma:\"⨩\",Mcy:\"М\",mcy:\"м\",mdash:\"—\",mDDot:\"∺\",measuredangle:\"∡\",MediumSpace:\" \",Mellintrf:\"ℳ\",Mfr:\"𝔐\",mfr:\"𝔪\",mho:\"℧\",micro:\"µ\",mid:\"∣\",midast:\"*\",midcir:\"⫰\",middot:\"·\",minus:\"−\",minusb:\"⊟\",minusd:\"∸\",minusdu:\"⨪\",MinusPlus:\"∓\",mlcp:\"⫛\",mldr:\"…\",mnplus:\"∓\",models:\"⊧\",Mopf:\"𝕄\",mopf:\"𝕞\",mp:\"∓\",Mscr:\"ℳ\",mscr:\"𝓂\",mstpos:\"∾\",Mu:\"Μ\",mu:\"μ\",multimap:\"⊸\",mumap:\"⊸\",nabla:\"∇\",Nacute:\"Ń\",nacute:\"ń\",nang:\"∠⃒\",nap:\"≉\",napE:\"⩰̸\",napid:\"≋̸\",napos:\"ŉ\",napprox:\"≉\",natur:\"♮\",natural:\"♮\",naturals:\"ℕ\",nbsp:\" \",nbump:\"≎̸\",nbumpe:\"≏̸\",ncap:\"⩃\",Ncaron:\"Ň\",ncaron:\"ň\",Ncedil:\"Ņ\",ncedil:\"ņ\",ncong:\"≇\",ncongdot:\"⩭̸\",ncup:\"⩂\",Ncy:\"Н\",ncy:\"н\",ndash:\"–\",ne:\"≠\",nearhk:\"⤤\",neArr:\"⇗\",nearr:\"↗\",nearrow:\"↗\",nedot:\"≐̸\",NegativeMediumSpace:\"​\",NegativeThickSpace:\"​\",NegativeThinSpace:\"​\",NegativeVeryThinSpace:\"​\",nequiv:\"≢\",nesear:\"⤨\",nesim:\"≂̸\",NestedGreaterGreater:\"≫\",NestedLessLess:\"≪\",NewLine:\"\\n\",nexist:\"∄\",nexists:\"∄\",Nfr:\"𝔑\",nfr:\"𝔫\",ngE:\"≧̸\",nge:\"≱\",ngeq:\"≱\",ngeqq:\"≧̸\",ngeqslant:\"⩾̸\",nges:\"⩾̸\",nGg:\"⋙̸\",ngsim:\"≵\",nGt:\"≫⃒\",ngt:\"≯\",ngtr:\"≯\",nGtv:\"≫̸\",nhArr:\"⇎\",nharr:\"↮\",nhpar:\"⫲\",ni:\"∋\",nis:\"⋼\",nisd:\"⋺\",niv:\"∋\",NJcy:\"Њ\",njcy:\"њ\",nlArr:\"⇍\",nlarr:\"↚\",nldr:\"‥\",nlE:\"≦̸\",nle:\"≰\",nLeftarrow:\"⇍\",nleftarrow:\"↚\",nLeftrightarrow:\"⇎\",nleftrightarrow:\"↮\",nleq:\"≰\",nleqq:\"≦̸\",nleqslant:\"⩽̸\",nles:\"⩽̸\",nless:\"≮\",nLl:\"⋘̸\",nlsim:\"≴\",nLt:\"≪⃒\",nlt:\"≮\",nltri:\"⋪\",nltrie:\"⋬\",nLtv:\"≪̸\",nmid:\"∤\",NoBreak:\"⁠\",NonBreakingSpace:\" \",Nopf:\"ℕ\",nopf:\"𝕟\",Not:\"⫬\",not:\"¬\",NotCongruent:\"≢\",NotCupCap:\"≭\",NotDoubleVerticalBar:\"∦\",NotElement:\"∉\",NotEqual:\"≠\",NotEqualTilde:\"≂̸\",NotExists:\"∄\",NotGreater:\"≯\",NotGreaterEqual:\"≱\",NotGreaterFullEqual:\"≧̸\",NotGreaterGreater:\"≫̸\",NotGreaterLess:\"≹\",NotGreaterSlantEqual:\"⩾̸\",NotGreaterTilde:\"≵\",NotHumpDownHump:\"≎̸\",NotHumpEqual:\"≏̸\",notin:\"∉\",notindot:\"⋵̸\",notinE:\"⋹̸\",notinva:\"∉\",notinvb:\"⋷\",notinvc:\"⋶\",NotLeftTriangle:\"⋪\",NotLeftTriangleBar:\"⧏̸\",NotLeftTriangleEqual:\"⋬\",NotLess:\"≮\",NotLessEqual:\"≰\",NotLessGreater:\"≸\",NotLessLess:\"≪̸\",NotLessSlantEqual:\"⩽̸\",NotLessTilde:\"≴\",NotNestedGreaterGreater:\"⪢̸\",NotNestedLessLess:\"⪡̸\",notni:\"∌\",notniva:\"∌\",notnivb:\"⋾\",notnivc:\"⋽\",NotPrecedes:\"⊀\",NotPrecedesEqual:\"⪯̸\",NotPrecedesSlantEqual:\"⋠\",NotReverseElement:\"∌\",NotRightTriangle:\"⋫\",NotRightTriangleBar:\"⧐̸\",NotRightTriangleEqual:\"⋭\",NotSquareSubset:\"⊏̸\",NotSquareSubsetEqual:\"⋢\",NotSquareSuperset:\"⊐̸\",NotSquareSupersetEqual:\"⋣\",NotSubset:\"⊂⃒\",NotSubsetEqual:\"⊈\",NotSucceeds:\"⊁\",NotSucceedsEqual:\"⪰̸\",NotSucceedsSlantEqual:\"⋡\",NotSucceedsTilde:\"≿̸\",NotSuperset:\"⊃⃒\",NotSupersetEqual:\"⊉\",NotTilde:\"≁\",NotTildeEqual:\"≄\",NotTildeFullEqual:\"≇\",NotTildeTilde:\"≉\",NotVerticalBar:\"∤\",npar:\"∦\",nparallel:\"∦\",nparsl:\"⫽⃥\",npart:\"∂̸\",npolint:\"⨔\",npr:\"⊀\",nprcue:\"⋠\",npre:\"⪯̸\",nprec:\"⊀\",npreceq:\"⪯̸\",nrArr:\"⇏\",nrarr:\"↛\",nrarrc:\"⤳̸\",nrarrw:\"↝̸\",nRightarrow:\"⇏\",nrightarrow:\"↛\",nrtri:\"⋫\",nrtrie:\"⋭\",nsc:\"⊁\",nsccue:\"⋡\",nsce:\"⪰̸\",Nscr:\"𝒩\",nscr:\"𝓃\",nshortmid:\"∤\",nshortparallel:\"∦\",nsim:\"≁\",nsime:\"≄\",nsimeq:\"≄\",nsmid:\"∤\",nspar:\"∦\",nsqsube:\"⋢\",nsqsupe:\"⋣\",nsub:\"⊄\",nsubE:\"⫅̸\",nsube:\"⊈\",nsubset:\"⊂⃒\",nsubseteq:\"⊈\",nsubseteqq:\"⫅̸\",nsucc:\"⊁\",nsucceq:\"⪰̸\",nsup:\"⊅\",nsupE:\"⫆̸\",nsupe:\"⊉\",nsupset:\"⊃⃒\",nsupseteq:\"⊉\",nsupseteqq:\"⫆̸\",ntgl:\"≹\",Ntilde:\"Ñ\",ntilde:\"ñ\",ntlg:\"≸\",ntriangleleft:\"⋪\",ntrianglelefteq:\"⋬\",ntriangleright:\"⋫\",ntrianglerighteq:\"⋭\",Nu:\"Ν\",nu:\"ν\",num:\"#\",numero:\"№\",numsp:\" \",nvap:\"≍⃒\",nVDash:\"⊯\",nVdash:\"⊮\",nvDash:\"⊭\",nvdash:\"⊬\",nvge:\"≥⃒\",nvgt:\">⃒\",nvHarr:\"⤄\",nvinfin:\"⧞\",nvlArr:\"⤂\",nvle:\"≤⃒\",nvlt:\"<⃒\",nvltrie:\"⊴⃒\",nvrArr:\"⤃\",nvrtrie:\"⊵⃒\",nvsim:\"∼⃒\",nwarhk:\"⤣\",nwArr:\"⇖\",nwarr:\"↖\",nwarrow:\"↖\",nwnear:\"⤧\",Oacute:\"Ó\",oacute:\"ó\",oast:\"⊛\",ocir:\"⊚\",Ocirc:\"Ô\",ocirc:\"ô\",Ocy:\"О\",ocy:\"о\",odash:\"⊝\",Odblac:\"Ő\",odblac:\"ő\",odiv:\"⨸\",odot:\"⊙\",odsold:\"⦼\",OElig:\"Œ\",oelig:\"œ\",ofcir:\"⦿\",Ofr:\"𝔒\",ofr:\"𝔬\",ogon:\"˛\",Ograve:\"Ò\",ograve:\"ò\",ogt:\"⧁\",ohbar:\"⦵\",ohm:\"Ω\",oint:\"∮\",olarr:\"↺\",olcir:\"⦾\",olcross:\"⦻\",oline:\"‾\",olt:\"⧀\",Omacr:\"Ō\",omacr:\"ō\",Omega:\"Ω\",omega:\"ω\",Omicron:\"Ο\",omicron:\"ο\",omid:\"⦶\",ominus:\"⊖\",Oopf:\"𝕆\",oopf:\"𝕠\",opar:\"⦷\",OpenCurlyDoubleQuote:\"“\",OpenCurlyQuote:\"‘\",operp:\"⦹\",oplus:\"⊕\",Or:\"⩔\",or:\"∨\",orarr:\"↻\",ord:\"⩝\",order:\"ℴ\",orderof:\"ℴ\",ordf:\"ª\",ordm:\"º\",origof:\"⊶\",oror:\"⩖\",orslope:\"⩗\",orv:\"⩛\",oS:\"Ⓢ\",Oscr:\"𝒪\",oscr:\"ℴ\",Oslash:\"Ø\",oslash:\"ø\",osol:\"⊘\",Otilde:\"Õ\",otilde:\"õ\",Otimes:\"⨷\",otimes:\"⊗\",otimesas:\"⨶\",Ouml:\"Ö\",ouml:\"ö\",ovbar:\"⌽\",OverBar:\"‾\",OverBrace:\"⏞\",OverBracket:\"⎴\",OverParenthesis:\"⏜\",par:\"∥\",para:\"¶\",parallel:\"∥\",parsim:\"⫳\",parsl:\"⫽\",part:\"∂\",PartialD:\"∂\",Pcy:\"П\",pcy:\"п\",percnt:\"%\",period:\".\",permil:\"‰\",perp:\"⊥\",pertenk:\"‱\",Pfr:\"𝔓\",pfr:\"𝔭\",Phi:\"Φ\",phi:\"φ\",phiv:\"ϕ\",phmmat:\"ℳ\",phone:\"☎\",Pi:\"Π\",pi:\"π\",pitchfork:\"⋔\",piv:\"ϖ\",planck:\"ℏ\",planckh:\"ℎ\",plankv:\"ℏ\",plus:\"+\",plusacir:\"⨣\",plusb:\"⊞\",pluscir:\"⨢\",plusdo:\"∔\",plusdu:\"⨥\",pluse:\"⩲\",PlusMinus:\"±\",plusmn:\"±\",plussim:\"⨦\",plustwo:\"⨧\",pm:\"±\",Poincareplane:\"ℌ\",pointint:\"⨕\",Popf:\"ℙ\",popf:\"𝕡\",pound:\"£\",Pr:\"⪻\",pr:\"≺\",prap:\"⪷\",prcue:\"≼\",prE:\"⪳\",pre:\"⪯\",prec:\"≺\",precapprox:\"⪷\",preccurlyeq:\"≼\",Precedes:\"≺\",PrecedesEqual:\"⪯\",PrecedesSlantEqual:\"≼\",PrecedesTilde:\"≾\",preceq:\"⪯\",precnapprox:\"⪹\",precneqq:\"⪵\",precnsim:\"⋨\",precsim:\"≾\",Prime:\"″\",prime:\"′\",primes:\"ℙ\",prnap:\"⪹\",prnE:\"⪵\",prnsim:\"⋨\",prod:\"∏\",Product:\"∏\",profalar:\"⌮\",profline:\"⌒\",profsurf:\"⌓\",prop:\"∝\",Proportion:\"∷\",Proportional:\"∝\",propto:\"∝\",prsim:\"≾\",prurel:\"⊰\",Pscr:\"𝒫\",pscr:\"𝓅\",Psi:\"Ψ\",psi:\"ψ\",puncsp:\" \",Qfr:\"𝔔\",qfr:\"𝔮\",qint:\"⨌\",Qopf:\"ℚ\",qopf:\"𝕢\",qprime:\"⁗\",Qscr:\"𝒬\",qscr:\"𝓆\",quaternions:\"ℍ\",quatint:\"⨖\",quest:\"?\",questeq:\"≟\",QUOT:'\"',quot:'\"',rAarr:\"⇛\",race:\"∽̱\",Racute:\"Ŕ\",racute:\"ŕ\",radic:\"√\",raemptyv:\"⦳\",Rang:\"⟫\",rang:\"⟩\",rangd:\"⦒\",range:\"⦥\",rangle:\"⟩\",raquo:\"»\",Rarr:\"↠\",rArr:\"⇒\",rarr:\"→\",rarrap:\"⥵\",rarrb:\"⇥\",rarrbfs:\"⤠\",rarrc:\"⤳\",rarrfs:\"⤞\",rarrhk:\"↪\",rarrlp:\"↬\",rarrpl:\"⥅\",rarrsim:\"⥴\",Rarrtl:\"⤖\",rarrtl:\"↣\",rarrw:\"↝\",rAtail:\"⤜\",ratail:\"⤚\",ratio:\"∶\",rationals:\"ℚ\",RBarr:\"⤐\",rBarr:\"⤏\",rbarr:\"⤍\",rbbrk:\"❳\",rbrace:\"}\",rbrack:\"]\",rbrke:\"⦌\",rbrksld:\"⦎\",rbrkslu:\"⦐\",Rcaron:\"Ř\",rcaron:\"ř\",Rcedil:\"Ŗ\",rcedil:\"ŗ\",rceil:\"⌉\",rcub:\"}\",Rcy:\"Р\",rcy:\"р\",rdca:\"⤷\",rdldhar:\"⥩\",rdquo:\"”\",rdquor:\"”\",rdsh:\"↳\",Re:\"ℜ\",real:\"ℜ\",realine:\"ℛ\",realpart:\"ℜ\",reals:\"ℝ\",rect:\"▭\",REG:\"®\",reg:\"®\",ReverseElement:\"∋\",ReverseEquilibrium:\"⇋\",ReverseUpEquilibrium:\"⥯\",rfisht:\"⥽\",rfloor:\"⌋\",Rfr:\"ℜ\",rfr:\"𝔯\",rHar:\"⥤\",rhard:\"⇁\",rharu:\"⇀\",rharul:\"⥬\",Rho:\"Ρ\",rho:\"ρ\",rhov:\"ϱ\",RightAngleBracket:\"⟩\",RightArrow:\"→\",Rightarrow:\"⇒\",rightarrow:\"→\",RightArrowBar:\"⇥\",RightArrowLeftArrow:\"⇄\",rightarrowtail:\"↣\",RightCeiling:\"⌉\",RightDoubleBracket:\"⟧\",RightDownTeeVector:\"⥝\",RightDownVector:\"⇂\",RightDownVectorBar:\"⥕\",RightFloor:\"⌋\",rightharpoondown:\"⇁\",rightharpoonup:\"⇀\",rightleftarrows:\"⇄\",rightleftharpoons:\"⇌\",rightrightarrows:\"⇉\",rightsquigarrow:\"↝\",RightTee:\"⊢\",RightTeeArrow:\"↦\",RightTeeVector:\"⥛\",rightthreetimes:\"⋌\",RightTriangle:\"⊳\",RightTriangleBar:\"⧐\",RightTriangleEqual:\"⊵\",RightUpDownVector:\"⥏\",RightUpTeeVector:\"⥜\",RightUpVector:\"↾\",RightUpVectorBar:\"⥔\",RightVector:\"⇀\",RightVectorBar:\"⥓\",ring:\"˚\",risingdotseq:\"≓\",rlarr:\"⇄\",rlhar:\"⇌\",rlm:\"‏\",rmoust:\"⎱\",rmoustache:\"⎱\",rnmid:\"⫮\",roang:\"⟭\",roarr:\"⇾\",robrk:\"⟧\",ropar:\"⦆\",Ropf:\"ℝ\",ropf:\"𝕣\",roplus:\"⨮\",rotimes:\"⨵\",RoundImplies:\"⥰\",rpar:\")\",rpargt:\"⦔\",rppolint:\"⨒\",rrarr:\"⇉\",Rrightarrow:\"⇛\",rsaquo:\"›\",Rscr:\"ℛ\",rscr:\"𝓇\",Rsh:\"↱\",rsh:\"↱\",rsqb:\"]\",rsquo:\"’\",rsquor:\"’\",rthree:\"⋌\",rtimes:\"⋊\",rtri:\"▹\",rtrie:\"⊵\",rtrif:\"▸\",rtriltri:\"⧎\",RuleDelayed:\"⧴\",ruluhar:\"⥨\",rx:\"℞\",Sacute:\"Ś\",sacute:\"ś\",sbquo:\"‚\",Sc:\"⪼\",sc:\"≻\",scap:\"⪸\",Scaron:\"Š\",scaron:\"š\",sccue:\"≽\",scE:\"⪴\",sce:\"⪰\",Scedil:\"Ş\",scedil:\"ş\",Scirc:\"Ŝ\",scirc:\"ŝ\",scnap:\"⪺\",scnE:\"⪶\",scnsim:\"⋩\",scpolint:\"⨓\",scsim:\"≿\",Scy:\"С\",scy:\"с\",sdot:\"⋅\",sdotb:\"⊡\",sdote:\"⩦\",searhk:\"⤥\",seArr:\"⇘\",searr:\"↘\",searrow:\"↘\",sect:\"§\",semi:\";\",seswar:\"⤩\",setminus:\"∖\",setmn:\"∖\",sext:\"✶\",Sfr:\"𝔖\",sfr:\"𝔰\",sfrown:\"⌢\",sharp:\"♯\",SHCHcy:\"Щ\",shchcy:\"щ\",SHcy:\"Ш\",shcy:\"ш\",ShortDownArrow:\"↓\",ShortLeftArrow:\"←\",shortmid:\"∣\",shortparallel:\"∥\",ShortRightArrow:\"→\",ShortUpArrow:\"↑\",shy:\"­\",Sigma:\"Σ\",sigma:\"σ\",sigmaf:\"ς\",sigmav:\"ς\",sim:\"∼\",simdot:\"⩪\",sime:\"≃\",simeq:\"≃\",simg:\"⪞\",simgE:\"⪠\",siml:\"⪝\",simlE:\"⪟\",simne:\"≆\",simplus:\"⨤\",simrarr:\"⥲\",slarr:\"←\",SmallCircle:\"∘\",smallsetminus:\"∖\",smashp:\"⨳\",smeparsl:\"⧤\",smid:\"∣\",smile:\"⌣\",smt:\"⪪\",smte:\"⪬\",smtes:\"⪬︀\",SOFTcy:\"Ь\",softcy:\"ь\",sol:\"/\",solb:\"⧄\",solbar:\"⌿\",Sopf:\"𝕊\",sopf:\"𝕤\",spades:\"♠\",spadesuit:\"♠\",spar:\"∥\",sqcap:\"⊓\",sqcaps:\"⊓︀\",sqcup:\"⊔\",sqcups:\"⊔︀\",Sqrt:\"√\",sqsub:\"⊏\",sqsube:\"⊑\",sqsubset:\"⊏\",sqsubseteq:\"⊑\",sqsup:\"⊐\",sqsupe:\"⊒\",sqsupset:\"⊐\",sqsupseteq:\"⊒\",squ:\"□\",Square:\"□\",square:\"□\",SquareIntersection:\"⊓\",SquareSubset:\"⊏\",SquareSubsetEqual:\"⊑\",SquareSuperset:\"⊐\",SquareSupersetEqual:\"⊒\",SquareUnion:\"⊔\",squarf:\"▪\",squf:\"▪\",srarr:\"→\",Sscr:\"𝒮\",sscr:\"𝓈\",ssetmn:\"∖\",ssmile:\"⌣\",sstarf:\"⋆\",Star:\"⋆\",star:\"☆\",starf:\"★\",straightepsilon:\"ϵ\",straightphi:\"ϕ\",strns:\"¯\",Sub:\"⋐\",sub:\"⊂\",subdot:\"⪽\",subE:\"⫅\",sube:\"⊆\",subedot:\"⫃\",submult:\"⫁\",subnE:\"⫋\",subne:\"⊊\",subplus:\"⪿\",subrarr:\"⥹\",Subset:\"⋐\",subset:\"⊂\",subseteq:\"⊆\",subseteqq:\"⫅\",SubsetEqual:\"⊆\",subsetneq:\"⊊\",subsetneqq:\"⫋\",subsim:\"⫇\",subsub:\"⫕\",subsup:\"⫓\",succ:\"≻\",succapprox:\"⪸\",succcurlyeq:\"≽\",Succeeds:\"≻\",SucceedsEqual:\"⪰\",SucceedsSlantEqual:\"≽\",SucceedsTilde:\"≿\",succeq:\"⪰\",succnapprox:\"⪺\",succneqq:\"⪶\",succnsim:\"⋩\",succsim:\"≿\",SuchThat:\"∋\",Sum:\"∑\",sum:\"∑\",sung:\"♪\",Sup:\"⋑\",sup:\"⊃\",sup1:\"¹\",sup2:\"²\",sup3:\"³\",supdot:\"⪾\",supdsub:\"⫘\",supE:\"⫆\",supe:\"⊇\",supedot:\"⫄\",Superset:\"⊃\",SupersetEqual:\"⊇\",suphsol:\"⟉\",suphsub:\"⫗\",suplarr:\"⥻\",supmult:\"⫂\",supnE:\"⫌\",supne:\"⊋\",supplus:\"⫀\",Supset:\"⋑\",supset:\"⊃\",supseteq:\"⊇\",supseteqq:\"⫆\",supsetneq:\"⊋\",supsetneqq:\"⫌\",supsim:\"⫈\",supsub:\"⫔\",supsup:\"⫖\",swarhk:\"⤦\",swArr:\"⇙\",swarr:\"↙\",swarrow:\"↙\",swnwar:\"⤪\",szlig:\"ß\",Tab:\"\\t\",target:\"⌖\",Tau:\"Τ\",tau:\"τ\",tbrk:\"⎴\",Tcaron:\"Ť\",tcaron:\"ť\",Tcedil:\"Ţ\",tcedil:\"ţ\",Tcy:\"Т\",tcy:\"т\",tdot:\"⃛\",telrec:\"⌕\",Tfr:\"𝔗\",tfr:\"𝔱\",there4:\"∴\",Therefore:\"∴\",therefore:\"∴\",Theta:\"Θ\",theta:\"θ\",thetasym:\"ϑ\",thetav:\"ϑ\",thickapprox:\"≈\",thicksim:\"∼\",ThickSpace:\"  \",thinsp:\" \",ThinSpace:\" \",thkap:\"≈\",thksim:\"∼\",THORN:\"Þ\",thorn:\"þ\",Tilde:\"∼\",tilde:\"˜\",TildeEqual:\"≃\",TildeFullEqual:\"≅\",TildeTilde:\"≈\",times:\"×\",timesb:\"⊠\",timesbar:\"⨱\",timesd:\"⨰\",tint:\"∭\",toea:\"⤨\",top:\"⊤\",topbot:\"⌶\",topcir:\"⫱\",Topf:\"𝕋\",topf:\"𝕥\",topfork:\"⫚\",tosa:\"⤩\",tprime:\"‴\",TRADE:\"™\",trade:\"™\",triangle:\"▵\",triangledown:\"▿\",triangleleft:\"◃\",trianglelefteq:\"⊴\",triangleq:\"≜\",triangleright:\"▹\",trianglerighteq:\"⊵\",tridot:\"◬\",trie:\"≜\",triminus:\"⨺\",TripleDot:\"⃛\",triplus:\"⨹\",trisb:\"⧍\",tritime:\"⨻\",trpezium:\"⏢\",Tscr:\"𝒯\",tscr:\"𝓉\",TScy:\"Ц\",tscy:\"ц\",TSHcy:\"Ћ\",tshcy:\"ћ\",Tstrok:\"Ŧ\",tstrok:\"ŧ\",twixt:\"≬\",twoheadleftarrow:\"↞\",twoheadrightarrow:\"↠\",Uacute:\"Ú\",uacute:\"ú\",Uarr:\"↟\",uArr:\"⇑\",uarr:\"↑\",Uarrocir:\"⥉\",Ubrcy:\"Ў\",ubrcy:\"ў\",Ubreve:\"Ŭ\",ubreve:\"ŭ\",Ucirc:\"Û\",ucirc:\"û\",Ucy:\"У\",ucy:\"у\",udarr:\"⇅\",Udblac:\"Ű\",udblac:\"ű\",udhar:\"⥮\",ufisht:\"⥾\",Ufr:\"𝔘\",ufr:\"𝔲\",Ugrave:\"Ù\",ugrave:\"ù\",uHar:\"⥣\",uharl:\"↿\",uharr:\"↾\",uhblk:\"▀\",ulcorn:\"⌜\",ulcorner:\"⌜\",ulcrop:\"⌏\",ultri:\"◸\",Umacr:\"Ū\",umacr:\"ū\",uml:\"¨\",UnderBar:\"_\",UnderBrace:\"⏟\",UnderBracket:\"⎵\",UnderParenthesis:\"⏝\",Union:\"⋃\",UnionPlus:\"⊎\",Uogon:\"Ų\",uogon:\"ų\",Uopf:\"𝕌\",uopf:\"𝕦\",UpArrow:\"↑\",Uparrow:\"⇑\",uparrow:\"↑\",UpArrowBar:\"⤒\",UpArrowDownArrow:\"⇅\",UpDownArrow:\"↕\",Updownarrow:\"⇕\",updownarrow:\"↕\",UpEquilibrium:\"⥮\",upharpoonleft:\"↿\",upharpoonright:\"↾\",uplus:\"⊎\",UpperLeftArrow:\"↖\",UpperRightArrow:\"↗\",Upsi:\"ϒ\",upsi:\"υ\",upsih:\"ϒ\",Upsilon:\"Υ\",upsilon:\"υ\",UpTee:\"⊥\",UpTeeArrow:\"↥\",upuparrows:\"⇈\",urcorn:\"⌝\",urcorner:\"⌝\",urcrop:\"⌎\",Uring:\"Ů\",uring:\"ů\",urtri:\"◹\",Uscr:\"𝒰\",uscr:\"𝓊\",utdot:\"⋰\",Utilde:\"Ũ\",utilde:\"ũ\",utri:\"▵\",utrif:\"▴\",uuarr:\"⇈\",Uuml:\"Ü\",uuml:\"ü\",uwangle:\"⦧\",vangrt:\"⦜\",varepsilon:\"ϵ\",varkappa:\"ϰ\",varnothing:\"∅\",varphi:\"ϕ\",varpi:\"ϖ\",varpropto:\"∝\",vArr:\"⇕\",varr:\"↕\",varrho:\"ϱ\",varsigma:\"ς\",varsubsetneq:\"⊊︀\",varsubsetneqq:\"⫋︀\",varsupsetneq:\"⊋︀\",varsupsetneqq:\"⫌︀\",vartheta:\"ϑ\",vartriangleleft:\"⊲\",vartriangleright:\"⊳\",Vbar:\"⫫\",vBar:\"⫨\",vBarv:\"⫩\",Vcy:\"В\",vcy:\"в\",VDash:\"⊫\",Vdash:\"⊩\",vDash:\"⊨\",vdash:\"⊢\",Vdashl:\"⫦\",Vee:\"⋁\",vee:\"∨\",veebar:\"⊻\",veeeq:\"≚\",vellip:\"⋮\",Verbar:\"‖\",verbar:\"|\",Vert:\"‖\",vert:\"|\",VerticalBar:\"∣\",VerticalLine:\"|\",VerticalSeparator:\"❘\",VerticalTilde:\"≀\",VeryThinSpace:\" \",Vfr:\"𝔙\",vfr:\"𝔳\",vltri:\"⊲\",vnsub:\"⊂⃒\",vnsup:\"⊃⃒\",Vopf:\"𝕍\",vopf:\"𝕧\",vprop:\"∝\",vrtri:\"⊳\",Vscr:\"𝒱\",vscr:\"𝓋\",vsubnE:\"⫋︀\",vsubne:\"⊊︀\",vsupnE:\"⫌︀\",vsupne:\"⊋︀\",Vvdash:\"⊪\",vzigzag:\"⦚\",Wcirc:\"Ŵ\",wcirc:\"ŵ\",wedbar:\"⩟\",Wedge:\"⋀\",wedge:\"∧\",wedgeq:\"≙\",weierp:\"℘\",Wfr:\"𝔚\",wfr:\"𝔴\",Wopf:\"𝕎\",wopf:\"𝕨\",wp:\"℘\",wr:\"≀\",wreath:\"≀\",Wscr:\"𝒲\",wscr:\"𝓌\",xcap:\"⋂\",xcirc:\"◯\",xcup:\"⋃\",xdtri:\"▽\",Xfr:\"𝔛\",xfr:\"𝔵\",xhArr:\"⟺\",xharr:\"⟷\",Xi:\"Ξ\",xi:\"ξ\",xlArr:\"⟸\",xlarr:\"⟵\",xmap:\"⟼\",xnis:\"⋻\",xodot:\"⨀\",Xopf:\"𝕏\",xopf:\"𝕩\",xoplus:\"⨁\",xotime:\"⨂\",xrArr:\"⟹\",xrarr:\"⟶\",Xscr:\"𝒳\",xscr:\"𝓍\",xsqcup:\"⨆\",xuplus:\"⨄\",xutri:\"△\",xvee:\"⋁\",xwedge:\"⋀\",Yacute:\"Ý\",yacute:\"ý\",YAcy:\"Я\",yacy:\"я\",Ycirc:\"Ŷ\",ycirc:\"ŷ\",Ycy:\"Ы\",ycy:\"ы\",yen:\"¥\",Yfr:\"𝔜\",yfr:\"𝔶\",YIcy:\"Ї\",yicy:\"ї\",Yopf:\"𝕐\",yopf:\"𝕪\",Yscr:\"𝒴\",yscr:\"𝓎\",YUcy:\"Ю\",yucy:\"ю\",Yuml:\"Ÿ\",yuml:\"ÿ\",Zacute:\"Ź\",zacute:\"ź\",Zcaron:\"Ž\",zcaron:\"ž\",Zcy:\"З\",zcy:\"з\",Zdot:\"Ż\",zdot:\"ż\",zeetrf:\"ℨ\",ZeroWidthSpace:\"​\",Zeta:\"Ζ\",zeta:\"ζ\",Zfr:\"ℨ\",zfr:\"𝔷\",ZHcy:\"Ж\",zhcy:\"ж\",zigrarr:\"⇝\",Zopf:\"ℤ\",zopf:\"𝕫\",Zscr:\"𝒵\",zscr:\"𝓏\",zwj:\"‍\",zwnj:\"‌\"}},function(e,t,n){\"use strict\";var r=n(26).replaceEntities;e.exports=function(e){var t=r(e);try{t=decodeURI(t)}catch(e){}return encodeURI(t)}},function(e,t,n){\"use strict\";e.exports=function(e){return e.trim().replace(/\\s+/g,\" \").toUpperCase()}},function(e,t,n){\"use strict\";var r=n(502),i=n(26).unescapeMd;e.exports=function(e,t){var n,o,a,s=t,u=e.posMax;if(60===e.src.charCodeAt(t)){for(t++;t<u;){if(10===(n=e.src.charCodeAt(t)))return!1;if(62===n)return a=r(i(e.src.slice(s+1,t))),!!e.parser.validateLink(a)&&(e.pos=t+1,e.linkContent=a,!0);92===n&&t+1<u?t+=2:t++}return!1}for(o=0;t<u&&32!==(n=e.src.charCodeAt(t))&&!(n>8&&n<14);)if(92===n&&t+1<u)t+=2;else{if(40===n&&++o>1)break;if(41===n&&--o<0)break;t++}return s!==t&&(a=i(e.src.slice(s,t)),!!e.parser.validateLink(a)&&(e.linkContent=a,e.pos=t,!0))}},function(e,t,n){\"use strict\";var r=n(26).unescapeMd;e.exports=function(e,t){var n,i=t,o=e.posMax,a=e.src.charCodeAt(t);if(34!==a&&39!==a&&40!==a)return!1;for(t++,40===a&&(a=41);t<o;){if((n=e.src.charCodeAt(t))===a)return e.pos=t+1,e.linkContent=r(e.src.slice(i+1,t)),!0;92===n&&t+1<o?t+=2:t++}return!1}},function(e,t,n){function r(){i.call(this)}e.exports=r;var i=n(143).EventEmitter;n(44)(r,i),r.Readable=n(266),r.Writable=n(1130),r.Duplex=n(1125),r.Transform=n(1129),r.PassThrough=n(1128),r.Stream=r,r.prototype.pipe=function(e,t){function n(t){e.writable&&!1===e.write(t)&&l.pause&&l.pause()}function r(){l.readable&&l.resume&&l.resume()}function o(){c||(c=!0,e.end())}function a(){c||(c=!0,\"function\"==typeof e.destroy&&e.destroy())}function s(e){if(u(),0===i.listenerCount(this,\"error\"))throw e}function u(){l.removeListener(\"data\",n),e.removeListener(\"drain\",r),l.removeListener(\"end\",o),l.removeListener(\"close\",a),l.removeListener(\"error\",s),e.removeListener(\"error\",s),l.removeListener(\"end\",u),l.removeListener(\"close\",u),e.removeListener(\"close\",u)}var l=this;l.on(\"data\",n),e.on(\"drain\",r),e._isStdio||t&&!1===t.end||(l.on(\"end\",o),l.on(\"close\",a));var c=!1;return l.on(\"error\",s),e.on(\"error\",s),l.on(\"end\",u),l.on(\"close\",u),e.on(\"close\",u),e.emit(\"pipe\",l),e}},function(e,t){/*! http://mths.be/repeat v0.2.0 by @mathias */\nString.prototype.repeat||function(){\"use strict\";var e=function(){try{var e={},t=Object.defineProperty,n=t(e,e,e)&&t}catch(e){}return n}(),t=function(e){if(null==this)throw TypeError();var t=String(this),n=e?Number(e):0;if(n!=n&&(n=0),n<0||n==1/0)throw RangeError();for(var r=\"\";n;)n%2==1&&(r+=t),n>1&&(t+=t),n>>=1;return r};e?e(String.prototype,\"repeat\",{value:t,configurable:!0,writable:!0}):String.prototype.repeat=t}()},function(e,t,n){e.exports=function(e){function t(r){if(n[r])return n[r].exports;var i=n[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,t),i.l=!0,i.exports}var n={};return t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,\"a\",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p=\"\",t(t.s=61)}([function(e,t){e.exports=n(47)},function(e,t){e.exports=n(27)},function(e,t){e.exports=n(48)},function(e,t){e.exports=n(20)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function i(e){var t=e.openapi;return!!t&&(0,b.default)(t,\"3\")}function o(e){var t=e.swagger;return!!t&&(0,b.default)(t,\"2\")}function a(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:\"\";return e&&\"object\"===(void 0===e?\"undefined\":(0,v.default)(e))?(e.operationId||\"\").replace(/\\s/g,\"\").length?w(e.operationId):s(t,n):null}function s(e,t){return\"\"+x(t)+w(e)}function u(e,t){return x(t)+\"-\"+e}function l(e,t){return e&&e.paths?c(e,function(e){var n=e.pathName,r=e.method,i=e.operation;if(!i||\"object\"!==(void 0===i?\"undefined\":(0,v.default)(i)))return!1;var o=i.operationId;return[a(i,n,r),u(n,r),o].some(function(e){return e&&e===t})}):null}function c(e,t){return p(e,t,!0)||null}function p(e,t,n){if(!e||\"object\"!==(void 0===e?\"undefined\":(0,v.default)(e))||!e.paths||\"object\"!==(0,v.default)(e.paths))return null;var r=e.paths;for(var i in r)for(var o in r[i])if(\"PARAMETERS\"!==o.toUpperCase()){var a=r[i][o];if(a&&\"object\"===(void 0===a?\"undefined\":(0,v.default)(a))){var s={spec:e,pathName:i,method:o.toUpperCase(),operation:a},u=t(s);if(n&&u)return s}}}function f(e){var t=e.spec,n=t.paths,r={};if(!n)return e;for(var i in n){var o=n[i];if((0,y.default)(o)){var s=o.parameters;for(var u in o)!function(e){var n=o[e];if(!(0,y.default)(n))return\"continue\";var u=a(n,i,e);if(u){r[u]?r[u].push(n):r[u]=[n];var l=r[u];if(l.length>1)l.forEach(function(e,t){e.__originalOperationId=e.__originalOperationId||e.operationId,e.operationId=\"\"+u+(t+1)});else if(void 0!==n.operationId){var c=l[0];c.__originalOperationId=c.__originalOperationId||n.operationId,c.operationId=u}}if(\"parameters\"!==e){var p=[],f={};for(var h in t)\"produces\"!==h&&\"consumes\"!==h&&\"security\"!==h||(f[h]=t[h],p.push(f));if(s&&(f.parameters=s,p.push(f)),p.length){var m=!0,v=!1,g=void 0;try{for(var _,b=(0,d.default)(p);!(m=(_=b.next()).done);m=!0){var x=_.value;for(var w in x)if(n[w]){if(\"parameters\"===w){var k=!0,E=!1,S=void 0;try{for(var C,A=(0,d.default)(x[w]);!(k=(C=A.next()).done);k=!0)!function(){var e=C.value;n[w].some(function(t){return t.name===e.name})||n[w].push(e)}()}catch(e){E=!0,S=e}finally{try{!k&&A.return&&A.return()}finally{if(E)throw S}}}}else n[w]=x[w]}}catch(e){v=!0,g=e}finally{try{!m&&b.return&&b.return()}finally{if(v)throw g}}}}}(u)}}return e}Object.defineProperty(t,\"__esModule\",{value:!0});var h=n(16),d=r(h),m=n(2),v=r(m);t.isOAS3=i,t.isSwagger2=o,t.opId=a,t.idFromPathMethod=s,t.legacyIdFromPathMethod=u,t.getOperationRaw=l,t.findOperation=c,t.eachOperation=p,t.normalizeSwagger=f;var g=n(54),y=r(g),_=n(21),b=r(_),x=function(e){return String.prototype.toLowerCase.call(e)},w=function(e){return e.replace(/[^\\w]/gi,\"_\")}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function i(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return\"object\"===(void 0===e?\"undefined\":(0,b.default)(e))&&(t=e,e=t.url),t.headers=t.headers||{},A.mergeInQueryOrForm(t),t.requestInterceptor&&(t=t.requestInterceptor(t)||t),/multipart\\/form-data/i.test(t.headers[\"content-type\"]||t.headers[\"Content-Type\"])&&(delete t.headers[\"content-type\"],delete t.headers[\"Content-Type\"]),(t.userFetch||fetch)(t.url,t).then(function(n){var r=A.serializeRes(n,e,t).then(function(e){return t.responseInterceptor&&(e=t.responseInterceptor(e)||e),e});if(!n.ok){var i=new Error(n.statusText);return i.statusCode=i.status=n.status,r.then(function(e){throw i.response=e,i},function(e){throw i.responseError=e,i})}return r})}function o(e,t){return\"application/json\"===t?JSON.parse(e):E.default.safeLoad(e)}function a(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=n.loadSpec,i=void 0!==r&&r,a={ok:e.ok,url:e.url||t,status:e.status,statusText:e.statusText,headers:s(e.headers)},u=a.headers[\"content-type\"],l=i||D(u);return(l?e.text:e.blob||e.buffer).call(e).then(function(e){if(a.text=e,a.data=e,l)try{var t=o(e,u);a.body=t,a.obj=t}catch(e){a.parseError=e}return a})}function s(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t={};return\"function\"==typeof e.forEach?(e.forEach(function(e,n){void 0!==t[n]?(t[n]=Array.isArray(t[n])?t[n]:[t[n]],t[n].push(e)):t[n]=e}),t):t}function u(e){return\"undefined\"!=typeof File?e instanceof File:null!==e&&\"object\"===(void 0===e?\"undefined\":(0,b.default)(e))&&\"function\"==typeof e.pipe}function l(e,t){var n=e.collectionFormat,r=e.allowEmptyValue,i=\"object\"===(void 0===e?\"undefined\":(0,b.default)(e))?e.value:e,o={csv:\",\",ssv:\"%20\",tsv:\"%09\",pipes:\"|\"};if(void 0===i&&r)return\"\";if(u(i)||\"boolean\"==typeof i)return i;var a=encodeURIComponent;return t&&(a=(0,C.default)(i)?function(e){return e}:function(e){return(0,y.default)(e)}),\"object\"!==(void 0===i?\"undefined\":(0,b.default)(i))||Array.isArray(i)?Array.isArray(i)?Array.isArray(i)&&!n?i.map(a).join(\",\"):\"multi\"===n?i.map(a):i.map(a).join(o[n]):a(i):\"\"}function c(e){var t=(0,v.default)(e).reduce(function(t,n){var r=e[n],i=!!r.skipEncoding,o=i?n:encodeURIComponent(n),a=function(e){return e&&\"object\"===(void 0===e?\"undefined\":(0,b.default)(e))}(r)&&!Array.isArray(r);return t[o]=l(a?r:{value:r},i),t},{});return w.default.stringify(t,{encode:!1,indices:!1})||\"\"}function p(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.url,r=void 0===t?\"\":t,i=e.query,o=e.form;if(o){var a=(0,v.default)(o).some(function(e){return u(o[e].value)}),s=e.headers[\"content-type\"]||e.headers[\"Content-Type\"];if(a||/multipart\\/form-data/i.test(s)){var p=n(49);e.body=new p,(0,v.default)(o).forEach(function(t){e.body.append(t,l(o[t],!0))})}else e.body=c(o);delete e.form}if(i){var f=r.split(\"?\"),h=(0,d.default)(f,2),m=h[0],g=h[1],y=\"\";if(g){var _=w.default.parse(g);(0,v.default)(i).forEach(function(e){return delete _[e]}),y=w.default.stringify(_,{encode:!0})}var b=function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];var r=t.filter(function(e){return e}).join(\"&\");return r?\"?\"+r:\"\"}(y,c(i));e.url=m+b,delete e.query}return e}function f(e,t,n){return n=n||function(e){return e},t=t||function(e){return e},function(r){return\"string\"==typeof r&&(r={url:r}),A.mergeInQueryOrForm(r),r=t(r),n(e(r))}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.shouldDownloadAsText=t.self=void 0;var h=n(41),d=r(h),m=n(0),v=r(m),g=n(7),y=r(g),_=n(2),b=r(_);t.default=i,t.serializeRes=a,t.serializeHeaders=s,t.encodeFormOrQuery=c,t.mergeInQueryOrForm=p,t.makeHttp=f,n(45);var x=n(58),w=r(x),k=n(50),E=r(k),S=n(56),C=r(S),A=t.self={serializeRes:a,mergeInQueryOrForm:p},D=t.shouldDownloadAsText=function(){return/(json|xml|yaml|text)\\b/.test(arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"\")}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t,n){if(n=n||{},t=(0,W.default)({},t,{path:t.path&&o(t.path)}),\"merge\"===t.op){var r=I(e,t.path);(0,W.default)(r,t.value),H.default.applyPatch(e,[s(t.path,r)])}else if(\"mergeDeep\"===t.op){var i=I(e,t.path);for(var a in t.value){var u=t.value[a],l=Array.isArray(u);if(l){var c=i[a]||[];i[a]=c.concat(u)}else if(k(u)&&!l){var p=i[a]||{};for(var f in u){if(Object.prototype.hasOwnProperty.call(p,f)){(0,Y.default)(p,u);break}(0,W.default)(p,(0,z.default)({},f,u[f]))}i[a]=p}else i[a]=u}}else if(\"add\"===t.op&&\"\"===t.path&&k(t.value)){var h=(0,L.default)(t.value).reduce(function(e,n){return e.push({op:\"add\",path:\"/\"+o(n),value:t.value[n]}),e},[]);H.default.applyPatch(e,h)}else if(\"replace\"===t.op&&\"\"===t.path){var d=t.value;n.allowMetaPatches&&t.meta&&M(t)&&(Array.isArray(t.value)||k(t.value))&&(d=(0,W.default)({},d,t.meta)),e=d}else if(H.default.applyPatch(e,[t]),n.allowMetaPatches&&t.meta&&M(t)&&(Array.isArray(t.value)||k(t.value))){var m=I(e,t.path),v=(0,W.default)({},m,t.meta);H.default.applyPatch(e,[s(t.path,v)])}return e}function o(e){return Array.isArray(e)?e.length<1?\"\":\"/\"+e.map(function(e){return(e+\"\").replace(/~/g,\"~0\").replace(/\\//g,\"~1\")}).join(\"/\"):e}function a(e,t){return{op:\"add\",path:e,value:t}}function s(e,t,n){return{op:\"replace\",path:e,value:t,meta:n}}function u(e,t){return{op:\"remove\",path:e}}function l(e,t){return{type:\"mutation\",op:\"merge\",path:e,value:t}}function c(e,t){return{type:\"mutation\",op:\"mergeDeep\",path:e,value:t}}function p(e,t){return{type:\"context\",path:e,value:t}}function f(e,t){try{return d(e,v,t)}catch(e){return e}}function h(e,t){try{return d(e,m,t)}catch(e){return e}}function d(e,t,n){return w(x(e.filter(M).map(function(e){return t(e.value,n,e.path)})||[]))}function m(e,t,n){return n=n||[],Array.isArray(e)?e.map(function(e,r){return m(e,t,n.concat(r))}):k(e)?(0,L.default)(e).map(function(r){return m(e[r],t,n.concat(r))}):t(e,n[n.length-1],n)}function v(e,t,n){n=n||[];var r=[];if(n.length>0){var i=t(e,n[n.length-1],n);i&&(r=r.concat(i))}if(Array.isArray(e)){var o=e.map(function(e,r){return v(e,t,n.concat(r))});o&&(r=r.concat(o))}else if(k(e)){var a=(0,L.default)(e).map(function(r){return v(e[r],t,n.concat(r))});a&&(r=r.concat(a))}return r=x(r)}function g(e,t){if(!Array.isArray(t))return!1;for(var n=0,r=t.length;n<r;n++)if(t[n]!==e[n])return!1;return!0}function y(e,t){return t.reduce(function(e,t){return void 0!==t&&e?e[t]:e},e)}function _(e){return w(x(b(e)))}function b(e){return Array.isArray(e)?e:[e]}function x(e){var t;return(t=[]).concat.apply(t,(0,F.default)(e.map(function(e){return Array.isArray(e)?x(e):e})))}function w(e){return e.filter(function(e){return void 0!==e})}function k(e){return e&&\"object\"===(void 0===e?\"undefined\":(0,j.default)(e))}function E(e){return k(e)&&S(e.then)}function S(e){return e&&\"function\"==typeof e}function C(e){return e instanceof Error}function A(e){if(P(e)){var t=e.op;return\"add\"===t||\"remove\"===t||\"replace\"===t}return!1}function D(e){return G.default.isGeneratorFunction(e)}function O(e){return A(e)||P(e)&&\"mutation\"===e.type}function M(e){return O(e)&&(\"add\"===e.op||\"replace\"===e.op||\"merge\"===e.op||\"mergeDeep\"===e.op)}function T(e){return P(e)&&\"context\"===e.type}function P(e){return e&&\"object\"===(void 0===e?\"undefined\":(0,j.default)(e))}function I(e,t){try{return H.default.getValueByPointer(e,t)}catch(e){return console.error(e),{}}}Object.defineProperty(t,\"__esModule\",{value:!0});var R=n(2),j=r(R),N=n(42),F=r(N),B=n(0),L=r(B),q=n(39),z=r(q),U=n(1),W=r(U),V=n(48),H=r(V),J=n(8),G=r(J),X=n(46),Y=r(X);t.default={add:a,replace:s,remove:u,merge:l,mergeDeep:c,context:p,getIn:y,applyPatch:i,parentPathMatch:g,flatten:x,fullyNormalizeArray:_,normalizeArray:b,isPromise:E,forEachNew:f,forEachNewPrimitive:h,isJsonPatch:A,isContextPatch:T,isPatch:P,isMutation:O,isAdditiveMutation:M,isGenerator:D,isFunction:S,isObject:k,isError:C}},function(e,t){e.exports=n(37)},function(e,t){e.exports=n(339)},function(e,t){e.exports=n(951)},function(e,t){e.exports=n(585)},function(e,t){e.exports=n(227)},function(e,t){e.exports=n(511)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function i(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.requestInterceptor,r=t.responseInterceptor,i=e.withCredentials?\"include\":\"same-origin\";return function(t){return e({url:t,loadSpec:!0,requestInterceptor:n,responseInterceptor:r,headers:{Accept:\"application/json\"},credentials:i}).then(function(e){return e.body})}}function o(){h.plugins.refs.clearCache()}function a(e){function t(e){var t=this;w&&(h.plugins.refs.docCache[w]=e),h.plugins.refs.fetchJSON=i(x,{requestInterceptor:y,responseInterceptor:_});var n=[h.plugins.refs];return\"function\"==typeof g&&n.push(h.plugins.parameters),\"function\"==typeof v&&n.push(h.plugins.properties),\"strict\"!==a&&n.push(h.plugins.allOf),(0,d.default)({spec:e,context:{baseDoc:w},plugins:n,allowMetaPatches:l,pathDiscriminator:p,parameterMacro:g,modelPropertyMacro:v}).then(b?function(){var e=(0,c.default)(u.default.mark(function e(n){return u.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt(\"return\",n);case 1:case\"end\":return e.stop()}},e,t)}));return function(t){return e.apply(this,arguments)}}():m.normalizeSwagger)}var n=e.fetch,r=e.spec,o=e.url,a=e.mode,s=e.allowMetaPatches,l=void 0===s||s,p=e.pathDiscriminator,v=e.modelPropertyMacro,g=e.parameterMacro,y=e.requestInterceptor,_=e.responseInterceptor,b=e.skipNormalization,x=e.http,w=e.baseDoc;return w=w||o,x=n||x||f.default,r?t(r):i(x,{requestInterceptor:y,responseInterceptor:_})(w).then(t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=n(8),u=r(s),l=n(18),c=r(l);t.makeFetchJSON=i,t.clearCache=o,t.default=a;var p=n(5),f=r(p),h=n(30),d=r(h),m=n(4)},function(e,t,n){\"use strict\";function r(e){var t=e[e.length-1],n=e.join(\"/\");return i.indexOf(t)>-1||o.indexOf(n)>-1}Object.defineProperty(t,\"__esModule\",{value:!0}),t.isFreelyNamed=r;var i=[\"properties\"],o=[\"definitions\",\"parameters\",\"responses\",\"securityDefinitions\",\"components/schemas\",\"components/responses\",\"components/parameters\",\"components/securitySchemes\"]},function(e,t,n){\"use strict\";function r(e,t){function n(){Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack;for(var e=arguments.length,n=Array(e),r=0;r<e;r++)n[r]=arguments[r];this.message=n[0],t&&t.apply(this,n)}return n.prototype=new Error,n.prototype.name=e,n.prototype.constructor=n,n}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=r},function(e,t){e.exports=n(96)},function(e,t){e.exports=n(128)},function(e,t){e.exports=n(338)},function(e,t){e.exports=n(2)},function(e,t){e.exports=n(3)},function(e,t){e.exports=n(971)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function i(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(\"string\"==typeof e?n.url=e:n=e,!(this instanceof i))return new i(n);(0,l.default)(this,n);var r=this.resolve().then(function(){return t.disableInterfaces||(0,l.default)(t,i.makeApisTagOperation(t)),t});return r.client=this,r}var o=n(3),a=r(o),s=n(51),u=(r(s),n(9)),l=r(u),c=n(21),p=r(c),f=n(12),h=r(f),d=n(5),m=r(d),v=n(13),g=r(v),y=n(36),_=r(y),b=n(29),x=n(23),w=n(4);i.http=m.default,i.makeHttp=d.makeHttp.bind(null,i.http),i.resolve=g.default,i.resolveSubtree=_.default,i.execute=x.execute,i.serializeRes=d.serializeRes,i.serializeHeaders=d.serializeHeaders,i.clearCache=v.clearCache,i.parameterBuilders=x.PARAMETER_BUILDERS,i.makeApisTagOperation=b.makeApisTagOperation,i.buildRequest=x.buildRequest,i.helpers={opId:w.opId},e.exports=i,i.prototype={http:m.default,execute:function(e){return this.applyDefaults(),i.execute((0,a.default)({spec:this.spec,http:this.http,securities:{authorized:this.authorizations}},e))},resolve:function(){var e=this;return i.resolve({spec:this.spec,url:this.url,allowMetaPatches:this.allowMetaPatches,requestInterceptor:this.requestInterceptor||null,responseInterceptor:this.responseInterceptor||null}).then(function(t){return e.originalSpec=e.spec,e.spec=t.spec,e.errors=t.errors,e})}},i.prototype.applyDefaults=function(){var e=this.spec,t=this.url;if(t&&(0,p.default)(t,\"http\")){var n=h.default.parse(t);e.host||(e.host=n.host),e.schemes||(e.schemes=[n.protocol.replace(\":\",\"\")]),e.basePath||(e.basePath=\"/\")}}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function i(e){var t=e.http,n=e.fetch,r=e.spec,i=e.operationId,o=e.pathName,a=e.method,s=e.parameters,u=e.securities,l=(0,v.default)(e,[\"http\",\"fetch\",\"spec\",\"operationId\",\"pathName\",\"method\",\"parameters\",\"securities\"]),c=t||n||R.default;o&&a&&!i&&(i=(0,H.legacyIdFromPathMethod)(o,a));var p=K.buildRequest((0,d.default)({spec:r,operationId:i,parameters:s,securities:u,http:c},l));return p.body&&((0,S.default)(p.body)||(0,A.default)(p.body))&&(p.body=(0,f.default)(p.body)),c(p)}function o(e){var t=e.spec,n=e.operationId,r=(e.securities,e.requestContentType,e.responseContentType),i=e.scheme,o=e.requestInterceptor,s=e.responseInterceptor,u=e.contextUrl,l=e.userFetch,c=(e.requestBody,e.server),p=e.serverVariables,f=e.http,h=e.parameters,m=e.parameterBuilders,v=(0,H.isOAS3)(t);m||(m=v?q.default:B.default);var g=f&&f.withCredentials?\"include\":\"same-origin\",_={url:\"\",credentials:g,headers:{},cookies:{}};o&&(_.requestInterceptor=o),s&&(_.responseInterceptor=s),l&&(_.userFetch=l);var b=(0,H.getOperationRaw)(t,n);if(!b)throw new G(\"Operation \"+n+\" not found\");var x=b.operation,w=void 0===x?{}:x,k=b.method,E=b.pathName;if(_.url+=a({spec:t,scheme:i,contextUrl:u,server:c,serverVariables:p,pathName:E,method:k}),!n)return delete _.cookies,_;_.url+=E,_.method=(\"\"+k).toUpperCase(),h=h||{};var S=t.paths[E]||{};r&&(_.headers.accept=r);var C=Y([].concat(J(w.parameters)).concat(J(S.parameters)));C.forEach(function(e){var n=m[e.in],r=void 0;if(\"body\"===e.in&&e.schema&&e.schema.properties&&(r=h),r=e&&e.name&&h[e.name],void 0===r?r=e&&e.name&&h[e.in+\".\"+e.name]:X(e.name,C).length>1&&console.warn(\"Parameter '\"+e.name+\"' is ambiguous because the defined spec has more than one parameter with the name: '\"+e.name+\"' and the passed-in parameter values did not define an 'in' value.\"),void 0!==e.default&&void 0===r&&(r=e.default),void 0===r&&e.required&&!e.allowEmptyValue)throw new Error(\"Required parameter \"+e.name+\" is not provided\");n&&n({req:_,parameter:e,value:r,operation:w,spec:t})});var A=(0,d.default)({},e,{operation:w});if(_=v?(0,U.default)(A,_):(0,V.default)(A,_),_.cookies&&(0,y.default)(_.cookies).length){var D=(0,y.default)(_.cookies).reduce(function(e,t){var n=_.cookies[t];return e+(e?\"&\":\"\")+P.default.serialize(t,n)},\"\");_.headers.Cookie=D}return _.cookies&&delete _.cookies,(0,I.mergeInQueryOrForm)(_),_}function a(e){return(0,H.isOAS3)(e.spec)?s(e):c(e)}function s(e){var t=e.spec,n=e.pathName,r=e.method,i=e.server,o=e.contextUrl,a=e.serverVariables,s=void 0===a?{}:a,c=(0,k.default)(t,[\"paths\",n,(r||\"\").toLowerCase(),\"servers\"])||(0,k.default)(t,[\"paths\",n,\"servers\"])||(0,k.default)(t,[\"servers\"]),p=\"\",f=null;if(i&&c){var h=c.map(function(e){return e.url});h.indexOf(i)>-1&&(p=i,f=c[h.indexOf(i)])}return!p&&c&&(p=c[0].url,f=c[0]),p.indexOf(\"{\")>-1&&l(p).forEach(function(e){if(f.variables&&f.variables[e]){var t=f.variables[e],n=s[e]||t.default,r=new RegExp(\"{\"+e+\"}\",\"g\");p=p.replace(r,n)}}),u(p,o)}function u(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"\",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"\",n=M.default.parse(e),r=M.default.parse(t),i=$(n.protocol)||$(r.protocol)||\"\",o=n.host||r.host,a=n.pathname||\"\",s=void 0;return s=i&&o?i+\"://\"+(o+a):a,\"/\"===s[s.length-1]?s.slice(0,-1):s}function l(e){for(var t=[],n=/{([^}]+)}/g,r=void 0;r=n.exec(e);)t.push(r[1]);return t}function c(e){var t=e.spec,n=e.scheme,r=e.contextUrl,i=void 0===r?\"\":r,o=M.default.parse(i),a=Array.isArray(t.schemes)?t.schemes[0]:null,s=n||a||$(o.protocol)||\"http\",u=t.host||o.host||\"\",l=t.basePath||\"\",c=void 0;return c=s&&u?s+\"://\"+(u+l):l,\"/\"===c[c.length-1]?c.slice(0,-1):c}Object.defineProperty(t,\"__esModule\",{value:!0}),t.self=void 0;var p=n(7),f=r(p),h=n(3),d=r(h),m=n(40),v=r(m),g=n(0),y=r(g),_=n(1),b=r(_);t.execute=i,t.buildRequest=o,t.baseUrl=a;var x=n(9),w=(r(x),n(11)),k=r(w),E=n(55),S=r(E),C=n(53),A=r(C),D=n(10),O=(r(D),n(12)),M=r(O),T=n(43),P=r(T),I=n(5),R=r(I),j=n(15),N=r(j),F=n(28),B=r(F),L=n(25),q=r(L),z=n(24),U=r(z),W=n(27),V=r(W),H=n(4),J=function(e){return Array.isArray(e)?e:[]},G=(0,N.default)(\"OperationNotFoundError\",function(e,t,n){this.originalError=n,(0,b.default)(this,t||{})}),X=function(e,t){return t.filter(function(t){return t.name===e})},Y=function(e){var t={};e.forEach(function(e){t[e.in]||(t[e.in]={}),t[e.in][e.name]=e});var n=[];return(0,y.default)(t).forEach(function(e){(0,y.default)(t[e]).forEach(function(r){n.push(t[e][r])})}),n},K=t.self={buildRequest:o},$=function(e){return e?e.replace(/\\W/g,\"\"):null}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function i(e){var t=e.request,n=e.securities,r=void 0===n?{}:n,i=e.operation,o=void 0===i?{}:i,a=e.spec,s=(0,f.default)({},t),u=r.authorized,l=void 0===u?{}:u,p=o.security||a.security||[],h=l&&!!(0,c.default)(l).length,m=(0,d.default)(a,[\"components\",\"securitySchemes\"])||{};return s.headers=s.headers||{},s.query=s.query||{},(0,c.default)(r).length&&h&&p&&(!Array.isArray(o.security)||o.security.length)?(p.forEach(function(e,t){for(var n in e){var r=l[n],i=m[n];if(r){var o=r.value||r,a=i.type;if(r)if(\"apiKey\"===a)\"query\"===i.in&&(s.query[i.name]=o),\"header\"===i.in&&(s.headers[i.name]=o),\"cookie\"===i.in&&(s.cookies[i.name]=o);else if(\"http\"===a){if(\"basic\"===i.scheme){var u=o.username,c=o.password,p=(0,v.default)(u+\":\"+c);s.headers.Authorization=\"Basic \"+p}\"bearer\"===i.scheme&&(s.headers.Authorization=\"Bearer \"+o)}else if(\"oauth2\"===a){var f=r.token||{},h=f.access_token,d=f.token_type;d&&\"bearer\"!==d.toLowerCase()||(d=\"Bearer\"),s.headers.Authorization=d+\" \"+h}}}}),s):t}Object.defineProperty(t,\"__esModule\",{value:!0});var o=n(7),a=r(o),s=n(2),u=r(s),l=n(0),c=r(l);t.default=function(e,t){var n=e.operation,r=e.requestBody,o=e.securities,s=e.spec,l=e.requestContentType;t=i({request:t,securities:o,operation:n,spec:s});var p=n.requestBody||{},f=(0,c.default)(p.content||{});if(r){var h=l&&f.indexOf(l)>-1;if(l&&h)t.headers[\"Content-Type\"]=l;else if(!l){var d=f[0];d&&(t.headers[\"Content-Type\"]=d,l=d)}}return r&&(l?f.indexOf(l)>-1&&(\"application/x-www-form-urlencoded\"===l?\"object\"===(void 0===r?\"undefined\":(0,u.default)(r))?(t.form={},(0,c.default)(r).forEach(function(e){var n=r[e],i=void 0;i=\"object\"===(void 0===n?\"undefined\":(0,u.default)(n))?Array.isArray(n)?n.toString():(0,a.default)(n):n,t.form[e]={value:i}})):t.form=r:t.body=r):t.body=r),t},t.applySecurities=i;var p=n(9),f=r(p),h=n(11),d=r(h),m=n(10),v=r(m)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function i(e){var t=e.req,n=e.value,r=e.parameter,i=r.name,o=r.style,a=r.explode,s=(0,h.default)({key:r.name,value:n,style:o||\"simple\",explode:a||!1,escape:!1});t.url=t.url.replace(\"{\"+i+\"}\",s)}function o(e){var t=e.req,n=e.value,r=e.parameter;if(t.query=t.query||{},!1===n&&(n=\"false\"),0===n&&(n=\"0\"),n){var i=void 0===n?\"undefined\":(0,p.default)(n);if(\"deepObject\"===r.style)(0,l.default)(n).forEach(function(e){var i=n[e];t.query[r.name+\"[\"+e+\"]\"]={value:(0,h.default)({key:e,value:i,style:\"deepObject\",escape:r.allowReserved?\"unsafe\":\"reserved\"}),skipEncoding:!0}});else if(\"object\"!==i||Array.isArray(n)||\"form\"!==r.style&&r.style||!r.explode&&void 0!==r.explode)t.query[r.name]={value:(0,h.default)({key:r.name,value:n,style:r.style||\"form\",explode:void 0===r.explode||r.explode,escape:r.allowReserved?\"unsafe\":\"reserved\"}),skipEncoding:!0};else{var o=(0,l.default)(n);o.forEach(function(e){var i=n[e];t.query[e]={value:(0,h.default)({key:e,value:i,style:r.style||\"form\",escape:r.allowReserved?\"unsafe\":\"reserved\"}),skipEncoding:!0}})}}else if(r.allowEmptyValue){var a=r.name;t.query[a]=t.query[a]||{},t.query[a].allowEmptyValue=!0}}function a(e){var t=e.req,n=e.parameter,r=e.value;t.headers=t.headers||{},d.indexOf(n.name.toLowerCase())>-1||void 0!==r&&(t.headers[n.name]=(0,h.default)({key:n.name,value:r,style:n.style||\"simple\",explode:void 0!==n.explode&&n.explode,escape:!1}))}function s(e){var t=e.req,n=e.parameter,r=e.value;t.headers=t.headers||{};var i=void 0===r?\"undefined\":(0,p.default)(r);if(\"undefined\"!==i){var o=\"object\"===i&&!Array.isArray(r)&&n.explode?\"\":n.name+\"=\";t.headers.Cookie=o+(0,h.default)({key:n.name,value:r,escape:!1,style:n.style||\"form\",explode:void 0!==n.explode&&n.explode})}}Object.defineProperty(t,\"__esModule\",{value:!0});var u=n(0),l=r(u),c=n(2),p=r(c),f=n(26),h=r(f);t.default={path:i,query:o,header:a,cookie:s};var d=[\"accept\",\"authorization\",\"content-type\"]},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function i(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.escape,r=arguments[2];return\"number\"==typeof e&&(e=e.toString()),\"string\"==typeof e&&e.length&&n?r?JSON.parse(e):(0,m.stringToCharArray)(e).map(function(e){return g(e)?e:v(e)&&\"unsafe\"===n?e:((0,d.default)(e)||[]).map(function(e){return e.toString(16).toUpperCase()}).map(function(e){return\"%\"+e}).join(\"\")}).join(\"\"):e}function o(e){var t=e.key,n=e.value,r=e.style,o=e.explode,a=e.escape,s=function(e){return i(e,{escape:a})};if(\"simple\"===r)return n.map(function(e){return s(e)}).join(\",\");if(\"label\"===r)return\".\"+n.map(function(e){return s(e)}).join(\".\");if(\"matrix\"===r)return n.map(function(e){return s(e)}).reduce(function(e,n){return!e||o?(e||\"\")+\";\"+t+\"=\"+n:e+\",\"+n},\"\");if(\"form\"===r){var u=o?\"&\"+t+\"=\":\",\";return n.map(function(e){return s(e)}).join(u)}if(\"spaceDelimited\"===r){var l=o?t+\"=\":\"\";return n.map(function(e){return s(e)}).join(\" \"+l)}if(\"pipeDelimited\"===r){var c=o?t+\"=\":\"\";return n.map(function(e){return s(e)}).join(\"|\"+c)}}function a(e){var t=e.key,n=e.value,r=e.style,o=e.explode,a=e.escape,s=function(e){return i(e,{escape:a})},u=(0,l.default)(n);return\"simple\"===r?u.reduce(function(e,t){var r=s(n[t]),i=o?\"=\":\",\";return(e?e+\",\":\"\")+t+i+r},\"\"):\"label\"===r?u.reduce(function(e,t){var r=s(n[t]),i=o?\"=\":\".\";return(e?e+\".\":\".\")+t+i+r},\"\"):\"matrix\"===r&&o?u.reduce(function(e,t){var r=s(n[t]);return(e?e+\";\":\";\")+t+\"=\"+r},\"\"):\"matrix\"===r?u.reduce(function(e,r){var i=s(n[r]);return(e?e+\",\":\";\"+t+\"=\")+r+\",\"+i},\"\"):\"form\"===r?u.reduce(function(e,t){var r=s(n[t]);return(e?e+(o?\"&\":\",\"):\"\")+t+(o?\"=\":\",\")+r},\"\"):void 0}function s(e){var t=e.key,n=e.value,r=e.style,o=e.escape,a=function(e){return i(e,{escape:o})};return\"simple\"===r?a(n):\"label\"===r?\".\"+a(n):\"matrix\"===r?\";\"+t+\"=\"+a(n):\"form\"===r?a(n):\"deepObject\"===r?a(n):void 0}Object.defineProperty(t,\"__esModule\",{value:!0});var u=n(0),l=r(u),c=n(2),p=r(c);t.encodeDisallowedCharacters=i,t.default=function(e){var t=e.value;return Array.isArray(t)?o(e):\"object\"===(void 0===t?\"undefined\":(0,p.default)(t))?a(e):s(e)};var f=n(47),h=(r(f),n(59)),d=r(h),m=n(60),v=function(e){return\":/?#[]@!$&'()*+,;=\".indexOf(e)>-1},g=function(e){return/^[a-z0-9\\-._~]+$/i.test(e)}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function i(e){var t=e.request,n=e.securities,r=void 0===n?{}:n,i=e.operation,o=void 0===i?{}:i,s=e.spec,l=(0,c.default)({},t),p=r.authorized,f=void 0===p?{}:p,h=r.specSecurity,d=void 0===h?[]:h,m=o.security||d,v=f&&!!(0,a.default)(f).length,g=s.securityDefinitions;return l.headers=l.headers||{},l.query=l.query||{},(0,a.default)(r).length&&v&&m&&(!Array.isArray(o.security)||o.security.length)?(m.forEach(function(e,t){for(var n in e){var r=f[n];if(r){var i=r.token,o=r.value||r,a=g[n],s=a.type,c=i&&i.access_token,p=i&&i.token_type;if(r)if(\"apiKey\"===s){var h=\"query\"===a.in?\"query\":\"headers\";l[h]=l[h]||{},l[h][a.name]=o}else\"basic\"===s?o.header?l.headers.authorization=o.header:(o.base64=(0,u.default)(o.username+\":\"+o.password),l.headers.authorization=\"Basic \"+o.base64):\"oauth2\"===s&&c&&(p=p&&\"bearer\"!==p.toLowerCase()?p:\"Bearer\",l.headers.authorization=p+\" \"+c)}}}),l):t}Object.defineProperty(t,\"__esModule\",{value:!0});var o=n(0),a=r(o);t.default=function(e,t){var n=e.spec,r=e.operation,o=e.securities,a=e.requestContentType;return t=i({request:t,securities:o,operation:r,spec:n}),(t.body||t.form)&&(a?t.headers[\"Content-Type\"]=a:Array.isArray(r.consumes)?t.headers[\"Content-Type\"]=r.consumes[0]:Array.isArray(n.consumes)?t.headers[\"Content-Type\"]=n.consumes[0]:r.parameters&&r.parameters.filter(function(e){return\"file\"===e.type}).length?t.headers[\"Content-Type\"]=\"multipart/form-data\":r.parameters&&r.parameters.filter(function(e){return\"formData\"===e.in}).length&&(t.headers[\"Content-Type\"]=\"application/x-www-form-urlencoded\")),t},t.applySecurities=i;var s=n(10),u=r(s),l=n(9),c=r(l);r(n(5))},function(e,t,n){\"use strict\";function r(e){var t=e.req,n=e.value;t.body=n}function i(e){var t=e.req,n=e.value,r=e.parameter;t.form=t.form||{},(n||r.allowEmptyValue)&&(t.form[r.name]={value:n,allowEmptyValue:r.allowEmptyValue,collectionFormat:r.collectionFormat})}function o(e){var t=e.req,n=e.parameter,r=e.value;t.headers=t.headers||{},void 0!==r&&(t.headers[n.name]=r)}function a(e){var t=e.req,n=e.value,r=e.parameter;t.url=t.url.replace(\"{\"+r.name+\"}\",encodeURIComponent(n))}function s(e){var t=e.req,n=e.value,r=e.parameter;if(t.query=t.query||{},!1===n&&\"boolean\"===r.type&&(n=\"false\"),0===n&&[\"number\",\"integer\"].indexOf(r.type)>-1&&(n=\"0\"),n)t.query[r.name]={collectionFormat:r.collectionFormat,value:n};else if(r.allowEmptyValue){var i=r.name;t.query[i]=t.query[i]||{},t.query[i].allowEmptyValue=!0}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default={body:r,header:o,query:s,path:a,formData:i}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function i(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return function(t){var n=t.pathName,r=t.method,i=t.operationId;return function(t){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.execute((0,l.default)({spec:e.spec},(0,p.default)(e,\"requestInterceptor\",\"responseInterceptor\",\"userFetch\"),{pathName:n,method:r,parameters:t,operationId:i},o))}}}function o(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=m.makeExecute(e),n=m.mapTagOperations({spec:e.spec,cb:t}),r={};for(var i in n){r[i]={operations:{}};for(var o in n[i])r[i].operations[o]={execute:n[i][o]}}return{apis:r}}function a(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=m.makeExecute(e);return{apis:m.mapTagOperations({spec:e.spec,cb:t})}}function s(e){var t=e.spec,n=e.cb,r=void 0===n?h:n,i=e.defaultTag,o=void 0===i?\"default\":i,a={},s={};return(0,f.eachOperation)(t,function(e){var n=e.pathName,i=e.method,u=e.operation;(u.tags?d(u.tags):[o]).forEach(function(e){if(\"string\"==typeof e){var o=s[e]=s[e]||{},l=(0,f.opId)(u,n,i),c=r({spec:t,pathName:n,method:i,operation:u,operationId:l});if(a[l])a[l]++,o[\"\"+l+a[l]]=c;else if(void 0!==o[l]){var p=a[l]||1;a[l]=p+1,o[\"\"+l+a[l]]=c;var h=o[l];delete o[l],o[\"\"+l+p]=h}else o[l]=c}})}),s}Object.defineProperty(t,\"__esModule\",{value:!0}),t.self=void 0;var u=n(3),l=r(u);t.makeExecute=i,t.makeApisTagOperationsOperationExecute=o,t.makeApisTagOperation=a,t.mapTagOperations=s;var c=n(57),p=r(c),f=n(4),h=function(){return null},d=function(e){return Array.isArray(e)?e:[e]},m=t.self={mapTagOperations:s,makeExecute:i}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function i(e){return new F(e).dispatch()}Object.defineProperty(t,\"__esModule\",{value:!0}),t.plugins=t.SpecMap=void 0;var o=n(7),a=r(o),s=n(17),u=r(s),l=n(8),c=r(l),p=n(0),f=r(p),h=n(16),d=r(h),m=n(37),v=r(m),g=n(1),y=r(g),_=n(19),b=r(_),x=n(20),w=r(x);t.default=i;var k=n(52),E=r(k),S=n(6),C=r(S),A=n(35),D=r(A),O=n(31),M=r(O),T=n(33),P=r(T),I=n(34),R=r(I),j=n(32),N=r(j),F=function(){function e(t){(0,b.default)(this,e),(0,y.default)(this,{spec:\"\",debugLevel:\"info\",plugins:[],pluginHistory:{},errors:[],mutations:[],promisedPatches:[],state:{},patches:[],context:{},contextTree:new N.default,showDebug:!1,allPatches:[],pluginProp:\"specMap\",libMethods:(0,y.default)((0,v.default)(this),C.default),allowMetaPatches:!1},t),this.get=this._get.bind(this),this.getContext=this._getContext.bind(this),this.hasRun=this._hasRun.bind(this),this.wrappedPlugins=this.plugins.map(this.wrapPlugin.bind(this)).filter(C.default.isFunction),this.patches.push(C.default.add([],this.spec)),this.patches.push(C.default.context([],this.context)),this.updatePatches(this.patches)}return(0,w.default)(e,[{key:\"debug\",value:function(e){if(this.debugLevel===e){for(var t,n=arguments.length,r=Array(n>1?n-1:0),i=1;i<n;i++)r[i-1]=arguments[i];(t=console).log.apply(t,r)}}},{key:\"verbose\",value:function(e){if(\"verbose\"===this.debugLevel){for(var t,n=arguments.length,r=Array(n>1?n-1:0),i=1;i<n;i++)r[i-1]=arguments[i];(t=console).log.apply(t,[\"[\"+e+\"]   \"].concat(r))}}},{key:\"wrapPlugin\",value:function(e,t){var n=this.pathDiscriminator,r=null,i=void 0;return e[this.pluginProp]?(r=e,i=e[this.pluginProp]):C.default.isFunction(e)?i=e:C.default.isObject(e)&&(i=function(e){var t=function(e,t){return!Array.isArray(e)||e.every(function(e,n){return e===t[n]})};return c.default.mark(function r(i,o){var a,s,u,l,p,h,m,v,g;return c.default.wrap(function(r){for(;;)switch(r.prev=r.next){case 0:g=function r(i,u,l){var p,h,m,v,g,y,_,b,x,w,k,E,S,A,D,O;return c.default.wrap(function(a){for(;;)switch(a.prev=a.next){case 0:if(C.default.isObject(i)){a.next=6;break}if(e.key!==u[u.length-1]){a.next=4;break}return a.next=4,e.plugin(i,e.key,u,o);case 4:a.next=48;break;case 6:p=u.length-1,h=u[p],m=u.indexOf(\"properties\"),v=\"properties\"===h&&p===m,g=o.allowMetaPatches&&s[i.$$ref],y=!0,_=!1,b=void 0,a.prev=14,x=(0,d.default)((0,f.default)(i));case 16:if(y=(w=x.next()).done){a.next=34;break}if(k=w.value,E=i[k],S=u.concat(k),A=C.default.isObject(E),D=i.$$ref,g){a.next=26;break}if(!A){a.next=26;break}return o.allowMetaPatches&&D&&(s[D]=!0),a.delegateYield(r(E,S,l),\"t0\",26);case 26:if(v||k!==e.key){a.next=31;break}if(O=t(n,u),n&&!O){a.next=31;break}return a.next=31,e.plugin(E,k,S,o,l);case 31:y=!0,a.next=16;break;case 34:a.next=40;break;case 36:a.prev=36,a.t1=a.catch(14),_=!0,b=a.t1;case 40:a.prev=40,a.prev=41,!y&&x.return&&x.return();case 43:if(a.prev=43,!_){a.next=46;break}throw b;case 46:return a.finish(43);case 47:return a.finish(40);case 48:case\"end\":return a.stop()}},a,this,[[14,36,40,48],[41,,43,47]])},a=c.default.mark(g),s={},u=!0,l=!1,p=void 0,r.prev=6,h=(0,d.default)(i.filter(C.default.isAdditiveMutation));case 8:if(u=(m=h.next()).done){r.next=14;break}return v=m.value,r.delegateYield(g(v.value,v.path,v),\"t0\",11);case 11:u=!0,r.next=8;break;case 14:r.next=20;break;case 16:r.prev=16,r.t1=r.catch(6),l=!0,p=r.t1;case 20:r.prev=20,r.prev=21,!u&&h.return&&h.return();case 23:if(r.prev=23,!l){r.next=26;break}throw p;case 26:return r.finish(23);case 27:return r.finish(20);case 28:case\"end\":return r.stop()}},r,this,[[6,16,20,28],[21,,23,27]])})}(e)),(0,y.default)(i.bind(r),{pluginName:e.name||t,isGenerator:C.default.isGenerator(i)})}},{key:\"nextPlugin\",value:function(){var e=this;return(0,E.default)(this.wrappedPlugins,function(t){return e.getMutationsForPlugin(t).length>0})}},{key:\"nextPromisedPatch\",value:function(){if(this.promisedPatches.length>0)return u.default.race(this.promisedPatches.map(function(e){return e.value}))}},{key:\"getPluginHistory\",value:function(e){var t=this.getPluginName(e);return this.pluginHistory[t]||[]}},{key:\"getPluginRunCount\",value:function(e){return this.getPluginHistory(e).length}},{key:\"getPluginHistoryTip\",value:function(e){var t=this.getPluginHistory(e);return t&&t[t.length-1]||{}}},{key:\"getPluginMutationIndex\",value:function(e){var t=this.getPluginHistoryTip(e).mutationIndex;return\"number\"!=typeof t?-1:t}},{key:\"getPluginName\",value:function(e){return e.pluginName}},{key:\"updatePluginHistory\",value:function(e,t){var n=this.getPluginName(e);(this.pluginHistory[n]=this.pluginHistory[n]||[]).push(t)}},{key:\"updatePatches\",value:function(e,t){var n=this;C.default.normalizeArray(e).forEach(function(e){if(e instanceof Error)return void n.errors.push(e);try{if(!C.default.isObject(e))return void n.debug(\"updatePatches\",\"Got a non-object patch\",e);if(n.showDebug&&n.allPatches.push(e),C.default.isPromise(e.value))return n.promisedPatches.push(e),void n.promisedPatchThen(e);if(C.default.isContextPatch(e))return void n.setContext(e.path,e.value);if(C.default.isMutation(e))return void n.updateMutations(e)}catch(e){n.errors.push(e)}})}},{key:\"updateMutations\",value:function(e){var t=C.default.applyPatch(this.state,e,{allowMetaPatches:this.allowMetaPatches});t&&(this.mutations.push(e),this.state=t)}},{key:\"removePromisedPatch\",value:function(e){var t=this.promisedPatches.indexOf(e);if(t<0)return void this.debug(\"Tried to remove a promisedPatch that isn't there!\");this.promisedPatches.splice(t,1)}},{key:\"promisedPatchThen\",value:function(e){var t=this;return e.value=e.value.then(function(n){var r=(0,y.default)({},e,{value:n});t.removePromisedPatch(e),t.updatePatches(r)}).catch(function(n){t.removePromisedPatch(e),t.updatePatches(n)})}},{key:\"getMutations\",value:function(e,t){return e=e||0,\"number\"!=typeof t&&(t=this.mutations.length),this.mutations.slice(e,t)}},{key:\"getCurrentMutations\",value:function(){return this.getMutationsForPlugin(this.getCurrentPlugin())}},{key:\"getMutationsForPlugin\",value:function(e){var t=this.getPluginMutationIndex(e);return this.getMutations(t+1)}},{key:\"getCurrentPlugin\",value:function(){return this.currentPlugin}},{key:\"getPatchesOfType\",value:function(e,t){return e.filter(t)}},{key:\"getLib\",value:function(){return this.libMethods}},{key:\"_get\",value:function(e){return C.default.getIn(this.state,e)}},{key:\"_getContext\",value:function(e){return this.contextTree.get(e)}},{key:\"setContext\",value:function(e,t){return this.contextTree.set(e,t)}},{key:\"_hasRun\",value:function(e){return this.getPluginRunCount(this.getCurrentPlugin())>(e||0)}},{key:\"_clone\",value:function(e){return JSON.parse((0,a.default)(e))}},{key:\"dispatch\",value:function(){function e(e){e&&(e=C.default.fullyNormalizeArray(e),n.updatePatches(e,r))}var t=this,n=this,r=this.nextPlugin();if(!r){var i=this.nextPromisedPatch();if(i)return i.then(function(){return t.dispatch()}).catch(function(){return t.dispatch()});var o={spec:this.state,errors:this.errors};return this.showDebug&&(o.patches=this.allPatches),u.default.resolve(o)}if(n.pluginCount=n.pluginCount||{},n.pluginCount[r]=(n.pluginCount[r]||0)+1,n.pluginCount[r]>100)return u.default.resolve({spec:n.state,errors:n.errors.concat(new Error(\"We've reached a hard limit of 100 plugin runs\"))});if(r!==this.currentPlugin&&this.promisedPatches.length){var a=this.promisedPatches.map(function(e){return e.value});return u.default.all(a.map(function(e){return e.then(Function,Function)})).then(function(){return t.dispatch()})}return function(){n.currentPlugin=r;var t=n.getCurrentMutations(),i=n.mutations.length-1;try{if(r.isGenerator){var o=!0,a=!1,s=void 0;try{for(var u,l=(0,d.default)(r(t,n.getLib()));!(o=(u=l.next()).done);o=!0)e(u.value)}catch(e){a=!0,s=e}finally{try{!o&&l.return&&l.return()}finally{if(a)throw s}}}else e(r(t,n.getLib()))}catch(t){e([(0,y.default)((0,v.default)(t),{plugin:r})])}finally{n.updatePluginHistory(r,{mutationIndex:i})}return n.dispatch()}()}}]),e}(),B={refs:D.default,allOf:M.default,parameters:P.default,properties:R.default};t.SpecMap=F,t.plugins=B},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(1),i=function(e){return e&&e.__esModule?e:{default:e}}(r),o=n(14);t.default={key:\"allOf\",plugin:function(e,t,n,r,a){if(!a.meta||!a.meta.$$ref){var s=n.slice(0,-1);if(!(0,o.isFreelyNamed)(s)){if(!Array.isArray(e)){var u=new TypeError(\"allOf must be an array\");return u.fullPath=n,u}var l=!1,c=a.value;s.forEach(function(e){c=c[e]}),c=(0,i.default)({},c),delete c.allOf;var p=[r.replace(s,{})].concat(e.map(function(e,t){if(!r.isObject(e)){if(l)return null;l=!0;var i=new TypeError(\"Elements in allOf must be objects\");return i.fullPath=n,i}return r.mergeDeep(s,e)}));return p.push(r.mergeDeep(s,c)),c.$$ref||p.push(r.remove([].concat(s,\"$$ref\"))),p}}}}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){return o({children:{}},e,t)}function o(e,t,n){return e.value=t||{},e.protoValue=n?(0,l.default)({},n.protoValue,e.value):e.value,(0,s.default)(e.children).forEach(function(t){var n=e.children[t];e.children[t]=o(n,n.value,e)}),e}Object.defineProperty(t,\"__esModule\",{value:!0});var a=n(0),s=r(a),u=n(3),l=r(u),c=n(19),p=r(c),f=n(20),h=r(f),d=function(){function e(t){(0,p.default)(this,e),this.root=i(t||{})}return(0,h.default)(e,[{key:\"set\",value:function(e,t){var n=this.getParent(e,!0);if(!n)return void o(this.root,t,null);var r=e[e.length-1],a=n.children;if(a[r])return void o(a[r],t,n);a[r]=i(t,n)}},{key:\"get\",value:function(e){if(e=e||[],e.length<1)return this.root.value;for(var t=this.root,n=void 0,r=void 0,i=0;i<e.length&&(r=e[i],n=t.children,n[r]);i++)t=n[r];return t&&t.protoValue}},{key:\"getParent\",value:function(e,t){return!e||e.length<1?null:e.length<2?this.root:e.slice(0,-1).reduce(function(e,n){if(!e)return e;var r=e.children;return!r[n]&&t&&(r[n]=i(null,e)),r[n]},this.root)}}]),e}();t.default=d},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(1),o=r(i),a=n(6),s=r(a);t.default={key:\"parameters\",plugin:function(e,t,n,r,i){if(Array.isArray(e)&&e.length){var a=(0,o.default)([],e),u=n.slice(0,-1),l=(0,o.default)({},s.default.getIn(r.spec,u));return e.forEach(function(e,t){try{a[t].default=r.parameterMacro(l,e)}catch(e){var i=new Error(e);return i.fullPath=n,i}}),s.default.replace(n,a)}return s.default.replace(n,e)}}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(1),o=r(i),a=n(6),s=r(a);t.default={key:\"properties\",plugin:function(e,t,n,r){var i=(0,o.default)({},e);for(var a in e)try{i[a].default=r.modelPropertyMacro(i[a])}catch(e){var u=new Error(e);return u.fullPath=n,u}return s.default.replace(n,i)}}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!F.test(e)){if(!t)throw new B(\"Tried to resolve a relative URL, without having a basePath. path: '\"+e+\"' basePath: '\"+t+\"'\");return T.default.resolve(t,e)}return e}function o(e,t){return new B(\"Could not resolve reference because of: \"+e.message,t,e)}function a(e){return(e+\"\").split(\"#\")}function s(e,t){var n=L[e];if(n&&!I.default.isPromise(n))try{var r=p(t,n);return(0,D.default)(E.default.resolve(r),{__value:r})}catch(e){return E.default.reject(e)}return l(e).then(function(e){return p(t,e)})}function u(e){void 0!==e?delete L[e]:(0,w.default)(L).forEach(function(e){delete L[e]})}function l(e){var t=L[e];return t?I.default.isPromise(t)?t:E.default.resolve(t):(L[e]=U.fetchJSON(e).then(function(t){return L[e]=t,t}),L[e])}function c(e){return(0,O.fetch)(e,{headers:{Accept:\"application/json, application/yaml\"},loadSpec:!0}).then(function(e){return e.json()})}function p(e,t){var n=f(e);if(n.length<1)return t;var r=I.default.getIn(t,n);if(void 0===r)throw new B(\"Could not resolve pointer: \"+e+\" does not exist in document\",{pointer:e});return r}function f(e){if(\"string\"!=typeof e)throw new TypeError(\"Expected a string, got a \"+(void 0===e?\"undefined\":(0,b.default)(e)));return\"/\"===e[0]&&(e=e.substr(1)),\"\"===e?[]:e.split(\"/\").map(h)}function h(e){return\"string\"!=typeof e?e:e.replace(/~1/g,\"/\").replace(/~0/g,\"~\")}function d(e){return e.replace(/~/g,\"~0\").replace(/\\//g,\"~1\")}function m(e){return 0===e.length?\"\":\"/\"+e.map(d).join(\"/\")}function v(e,t){if(W(t))return!0;var n=e.charAt(t.length);return 0===e.indexOf(t)&&(!n||\"/\"===n||\"#\"===n)}function g(e,t,n,r){var i=q.get(r);i||(i={},q.set(r,i));var o=m(n),a=(t||\"<specmap-base>\")+\"#\"+e;if(t==r.contextTree.get([]).baseDoc&&v(o,e))return!0;var s=\"\";if(n.some(function(e){return s=s+\"/\"+d(e),i[s]&&i[s].some(function(e){return v(e,a)||v(a,e)})}))return!0;i[o]=(i[o]||[]).concat(a)}function y(e,t){function n(e){return I.default.isObject(e)&&(r.indexOf(e)>=0||(0,w.default)(e).some(function(t){return n(e[t])}))}var r=[e];return t.path.reduce(function(e,t){return r.push(e[t]),e[t]},e),n(t.value)}Object.defineProperty(t,\"__esModule\",{value:!0});var _=n(2),b=r(_),x=n(0),w=r(x),k=n(17),E=r(k),S=n(38),C=r(S),A=n(1),D=r(A),O=n(44),M=n(12),T=r(M),P=n(6),I=r(P),R=n(15),j=r(R),N=n(14),F=new RegExp(\"^([a-z]+://|//)\",\"i\"),B=(0,j.default)(\"JSONRefError\",function(e,t,n){this.originalError=n,(0,D.default)(this,t||{})}),L={},q=new C.default,z={key:\"$ref\",plugin:function(e,t,n,r){var u=n.slice(0,-1);if(!(0,N.isFreelyNamed)(u)){var l=r.getContext(n).baseDoc;if(\"string\"!=typeof e)return new B(\"$ref: must be a string (JSON-Ref)\",{$ref:e,baseDoc:l,fullPath:n});var c=a(e),p=c[0],h=c[1]||\"\",d=void 0;try{d=l||p?i(p,l):null}catch(t){return o(t,{pointer:h,$ref:e,basePath:d,fullPath:n})}var m=void 0,v=void 0;if(!g(h,d,u,r)){if(null==d?(v=f(h),void 0===(m=r.get(v))&&(m=new B(\"Could not resolve reference: \"+e,{pointer:h,$ref:e,baseDoc:l,fullPath:n}))):(m=s(d,h),m=null!=m.__value?m.__value:m.catch(function(t){throw o(t,{pointer:h,$ref:e,baseDoc:l,fullPath:n})})),m instanceof Error)return[I.default.remove(n),m];var _=I.default.replace(u,m,{$$ref:e});return d&&d!==l?[_,I.default.context(u,{baseDoc:d})]:y(r.state,_)?void 0:_}}}},U=(0,D.default)(z,{docCache:L,absoluteify:i,clearCache:u,JSONRefError:B,wrapError:o,getDoc:l,split:a,extractFromDoc:s,fetchJSON:c,extract:p,jsonPointerToArray:f,unescapeJsonPointerToken:h});t.default=U;var W=function(e){return!e||\"/\"===e||\"#\"===e}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(8),o=r(i),a=n(3),s=r(a),u=n(18),l=r(u),c=n(11),p=r(c),f=n(13),h=r(f);t.default=function(){function e(e,n){return t.apply(this,arguments)}var t=(0,l.default)(o.default.mark(function e(t,n){var r,i,a,u,l,c,f,d,m=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return o.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return r=m.returnEntireTree,i=m.baseDoc,a=m.requestInterceptor,u=m.responseInterceptor,l=m.parameterMacro,c=m.modelPropertyMacro,f={pathDiscriminator:n,baseDoc:i,requestInterceptor:a,responseInterceptor:u,parameterMacro:l,modelPropertyMacro:c},e.next=4,(0,h.default)((0,s.default)({},f,{spec:t,allowMetaPatches:!0}));case 4:return d=e.sent,!r&&Array.isArray(n)&&n.length&&(d.spec=(0,p.default)(d.spec,n)||null),e.abrupt(\"return\",d);case 7:case\"end\":return e.stop()}},e,this)}));return e}()},function(e,t){e.exports=n(336)},function(e,t){e.exports=n(582)},function(e,t){e.exports=n(28)},function(e,t){e.exports=n(97)},function(e,t){e.exports=n(18)},function(e,t){e.exports=n(72)},function(e,t){e.exports=n(595)},function(e,t){e.exports=n(709)},function(e,t){e.exports=n(708)},function(e,t){e.exports=n(205)},function(e,t){e.exports=n(724)},function(e,t){e.exports=n(760)},function(e,t){e.exports=n(809)},function(e,t){e.exports=n(214)},function(e,t){e.exports=n(954)},function(e,t){e.exports=n(226)},function(e,t){e.exports=n(22)},function(e,t){e.exports=n(40)},function(e,t){e.exports=n(232)},function(e,t){e.exports=n(433)},function(e,t){e.exports=n(966)},function(e,t){e.exports=n(1012)},function(e,t){e.exports=n(1203)},function(e,t){e.exports=n(1204)},function(e,t,n){e.exports=n(22)}])},function(e,t,n){(function(e){function r(e,t){this._id=e,this._clearFn=t}var i=Function.prototype.apply;t.setTimeout=function(){return new r(i.call(setTimeout,window,arguments),clearTimeout)},t.setInterval=function(){return new r(i.call(setInterval,window,arguments),clearInterval)},t.clearTimeout=t.clearInterval=function(e){e&&e.close()},r.prototype.unref=r.prototype.ref=function(){},r.prototype.close=function(){this._clearFn.call(window,this._id)},t.enroll=function(e,t){clearTimeout(e._idleTimeoutId),e._idleTimeout=t},t.unenroll=function(e){clearTimeout(e._idleTimeoutId),e._idleTimeout=-1},t._unrefActive=t.active=function(e){clearTimeout(e._idleTimeoutId);var t=e._idleTimeout;t>=0&&(e._idleTimeoutId=setTimeout(function(){e._onTimeout&&e._onTimeout()},t))},n(1195),t.setImmediate=\"undefined\"!=typeof self&&self.setImmediate||void 0!==e&&e.setImmediate||this&&this.setImmediate,t.clearImmediate=\"undefined\"!=typeof self&&self.clearImmediate||void 0!==e&&e.clearImmediate||this&&this.clearImmediate}).call(t,n(16))},function(e,t){e.exports=\"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAwcHgiICBoZWlnaHQ9IjIwMHB4IiAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTAwIDEwMCIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQiIGNsYXNzPSJsZHMtcm9sbGluZyIgc3R5bGU9ImJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IGJhY2tncm91bmQtcG9zaXRpb246IGluaXRpYWwgaW5pdGlhbDsgYmFja2dyb3VuZC1yZXBlYXQ6IGluaXRpYWwgaW5pdGlhbDsiPjxjaXJjbGUgY3g9IjUwIiBjeT0iNTAiIGZpbGw9Im5vbmUiIG5nLWF0dHItc3Ryb2tlPSJ7e2NvbmZpZy5jb2xvcn19IiBuZy1hdHRyLXN0cm9rZS13aWR0aD0ie3tjb25maWcud2lkdGh9fSIgbmctYXR0ci1yPSJ7e2NvbmZpZy5yYWRpdXN9fSIgbmctYXR0ci1zdHJva2UtZGFzaGFycmF5PSJ7e2NvbmZpZy5kYXNoYXJyYXl9fSIgc3Ryb2tlPSIjNTU1NTU1IiBzdHJva2Utd2lkdGg9IjEwIiByPSIzNSIgc3Ryb2tlLWRhc2hhcnJheT0iMTY0LjkzMzYxNDMxMzQ2NDE1IDU2Ljk3Nzg3MTQzNzgyMTM4Ij48YW5pbWF0ZVRyYW5zZm9ybSBhdHRyaWJ1dGVOYW1lPSJ0cmFuc2Zvcm0iIHR5cGU9InJvdGF0ZSIgY2FsY01vZGU9ImxpbmVhciIgdmFsdWVzPSIwIDUwIDUwOzM2MCA1MCA1MCIga2V5VGltZXM9IjA7MSIgZHVyPSIxcyIgYmVnaW49IjBzIiByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSI+PC9hbmltYXRlVHJhbnNmb3JtPjwvY2lyY2xlPjwvc3ZnPgo=\"},function(e,t,n){\"use strict\";function r(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}function i(e,t,n){if(e&&l.isObject(e)&&e instanceof r)return e;var i=new r;return i.parse(e,t,n),i}function o(e){return l.isString(e)&&(e=i(e)),e instanceof r?e.format():r.prototype.format.call(e)}function a(e,t){return i(e,!1,!0).resolve(t)}function s(e,t){return e?i(e,!1,!0).resolveObject(t):t}var u=n(1011),l=n(1202);t.parse=i,t.resolve=a,t.resolveObject=s,t.format=o,t.Url=r;var c=/^([a-z0-9.+-]+:)/i,p=/:[0-9]*$/,f=/^(\\/\\/?(?!\\/)[^\\?\\s]*)(\\?[^\\s]*)?$/,h=[\"<\",\">\",'\"',\"`\",\" \",\"\\r\",\"\\n\",\"\\t\"],d=[\"{\",\"}\",\"|\",\"\\\\\",\"^\",\"`\"].concat(h),m=[\"'\"].concat(d),v=[\"%\",\"/\",\"?\",\";\",\"#\"].concat(m),g=[\"/\",\"?\",\"#\"],y=/^[+a-z0-9A-Z_-]{0,63}$/,_=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,b={javascript:!0,\"javascript:\":!0},x={javascript:!0,\"javascript:\":!0},w={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,\"http:\":!0,\"https:\":!0,\"ftp:\":!0,\"gopher:\":!0,\"file:\":!0},k=n(1017);r.prototype.parse=function(e,t,n){if(!l.isString(e))throw new TypeError(\"Parameter 'url' must be a string, not \"+typeof e);var r=e.indexOf(\"?\"),i=-1!==r&&r<e.indexOf(\"#\")?\"?\":\"#\",o=e.split(i),a=/\\\\/g;o[0]=o[0].replace(a,\"/\"),e=o.join(i);var s=e;if(s=s.trim(),!n&&1===e.split(\"#\").length){var p=f.exec(s);if(p)return this.path=s,this.href=s,this.pathname=p[1],p[2]?(this.search=p[2],this.query=t?k.parse(this.search.substr(1)):this.search.substr(1)):t&&(this.search=\"\",this.query={}),this}var h=c.exec(s);if(h){h=h[0];var d=h.toLowerCase();this.protocol=d,s=s.substr(h.length)}if(n||h||s.match(/^\\/\\/[^@\\/]+@[^@\\/]+/)){var E=\"//\"===s.substr(0,2);!E||h&&x[h]||(s=s.substr(2),this.slashes=!0)}if(!x[h]&&(E||h&&!w[h])){for(var S=-1,C=0;C<g.length;C++){var A=s.indexOf(g[C]);-1!==A&&(-1===S||A<S)&&(S=A)}var D,O;O=-1===S?s.lastIndexOf(\"@\"):s.lastIndexOf(\"@\",S),-1!==O&&(D=s.slice(0,O),s=s.slice(O+1),this.auth=decodeURIComponent(D)),S=-1;for(var C=0;C<v.length;C++){var A=s.indexOf(v[C]);-1!==A&&(-1===S||A<S)&&(S=A)}-1===S&&(S=s.length),this.host=s.slice(0,S),s=s.slice(S),this.parseHost(),this.hostname=this.hostname||\"\";var M=\"[\"===this.hostname[0]&&\"]\"===this.hostname[this.hostname.length-1];if(!M)for(var T=this.hostname.split(/\\./),C=0,P=T.length;C<P;C++){var I=T[C];if(I&&!I.match(y)){for(var R=\"\",j=0,N=I.length;j<N;j++)I.charCodeAt(j)>127?R+=\"x\":R+=I[j];if(!R.match(y)){var F=T.slice(0,C),B=T.slice(C+1),L=I.match(_);L&&(F.push(L[1]),B.unshift(L[2])),B.length&&(s=\"/\"+B.join(\".\")+s),this.hostname=F.join(\".\");break}}}this.hostname.length>255?this.hostname=\"\":this.hostname=this.hostname.toLowerCase(),M||(this.hostname=u.toASCII(this.hostname));var q=this.port?\":\"+this.port:\"\",z=this.hostname||\"\";this.host=z+q,this.href+=this.host,M&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),\"/\"!==s[0]&&(s=\"/\"+s))}if(!b[d])for(var C=0,P=m.length;C<P;C++){var U=m[C];if(-1!==s.indexOf(U)){var W=encodeURIComponent(U);W===U&&(W=escape(U)),s=s.split(U).join(W)}}var V=s.indexOf(\"#\");-1!==V&&(this.hash=s.substr(V),s=s.slice(0,V));var H=s.indexOf(\"?\");if(-1!==H?(this.search=s.substr(H),this.query=s.substr(H+1),t&&(this.query=k.parse(this.query)),s=s.slice(0,H)):t&&(this.search=\"\",this.query={}),s&&(this.pathname=s),w[d]&&this.hostname&&!this.pathname&&(this.pathname=\"/\"),this.pathname||this.search){var q=this.pathname||\"\",J=this.search||\"\";this.path=q+J}return this.href=this.format(),this},r.prototype.format=function(){var e=this.auth||\"\";e&&(e=encodeURIComponent(e),e=e.replace(/%3A/i,\":\"),e+=\"@\");var t=this.protocol||\"\",n=this.pathname||\"\",r=this.hash||\"\",i=!1,o=\"\";this.host?i=e+this.host:this.hostname&&(i=e+(-1===this.hostname.indexOf(\":\")?this.hostname:\"[\"+this.hostname+\"]\"),this.port&&(i+=\":\"+this.port)),this.query&&l.isObject(this.query)&&Object.keys(this.query).length&&(o=k.stringify(this.query));var a=this.search||o&&\"?\"+o||\"\";return t&&\":\"!==t.substr(-1)&&(t+=\":\"),this.slashes||(!t||w[t])&&!1!==i?(i=\"//\"+(i||\"\"),n&&\"/\"!==n.charAt(0)&&(n=\"/\"+n)):i||(i=\"\"),r&&\"#\"!==r.charAt(0)&&(r=\"#\"+r),a&&\"?\"!==a.charAt(0)&&(a=\"?\"+a),n=n.replace(/[?#]/g,function(e){return encodeURIComponent(e)}),a=a.replace(\"#\",\"%23\"),t+i+n+a+r},r.prototype.resolve=function(e){return this.resolveObject(i(e,!1,!0)).format()},r.prototype.resolveObject=function(e){if(l.isString(e)){var t=new r;t.parse(e,!1,!0),e=t}for(var n=new r,i=Object.keys(this),o=0;o<i.length;o++){var a=i[o];n[a]=this[a]}if(n.hash=e.hash,\"\"===e.href)return n.href=n.format(),n;if(e.slashes&&!e.protocol){for(var s=Object.keys(e),u=0;u<s.length;u++){var c=s[u];\"protocol\"!==c&&(n[c]=e[c])}return w[n.protocol]&&n.hostname&&!n.pathname&&(n.path=n.pathname=\"/\"),n.href=n.format(),n}if(e.protocol&&e.protocol!==n.protocol){if(!w[e.protocol]){for(var p=Object.keys(e),f=0;f<p.length;f++){var h=p[f];n[h]=e[h]}return n.href=n.format(),n}if(n.protocol=e.protocol,e.host||x[e.protocol])n.pathname=e.pathname;else{for(var d=(e.pathname||\"\").split(\"/\");d.length&&!(e.host=d.shift()););e.host||(e.host=\"\"),e.hostname||(e.hostname=\"\"),\"\"!==d[0]&&d.unshift(\"\"),d.length<2&&d.unshift(\"\"),n.pathname=d.join(\"/\")}if(n.search=e.search,n.query=e.query,n.host=e.host||\"\",n.auth=e.auth,n.hostname=e.hostname||e.host,n.port=e.port,n.pathname||n.search){var m=n.pathname||\"\",v=n.search||\"\";n.path=m+v}return n.slashes=n.slashes||e.slashes,n.href=n.format(),n}var g=n.pathname&&\"/\"===n.pathname.charAt(0),y=e.host||e.pathname&&\"/\"===e.pathname.charAt(0),_=y||g||n.host&&e.pathname,b=_,k=n.pathname&&n.pathname.split(\"/\")||[],d=e.pathname&&e.pathname.split(\"/\")||[],E=n.protocol&&!w[n.protocol];if(E&&(n.hostname=\"\",n.port=null,n.host&&(\"\"===k[0]?k[0]=n.host:k.unshift(n.host)),n.host=\"\",e.protocol&&(e.hostname=null,e.port=null,e.host&&(\"\"===d[0]?d[0]=e.host:d.unshift(e.host)),e.host=null),_=_&&(\"\"===d[0]||\"\"===k[0])),y)n.host=e.host||\"\"===e.host?e.host:n.host,n.hostname=e.hostname||\"\"===e.hostname?e.hostname:n.hostname,n.search=e.search,n.query=e.query,k=d;else if(d.length)k||(k=[]),k.pop(),k=k.concat(d),n.search=e.search,n.query=e.query;else if(!l.isNullOrUndefined(e.search)){if(E){n.hostname=n.host=k.shift();var S=!!(n.host&&n.host.indexOf(\"@\")>0)&&n.host.split(\"@\");S&&(n.auth=S.shift(),n.host=n.hostname=S.shift())}return n.search=e.search,n.query=e.query,l.isNull(n.pathname)&&l.isNull(n.search)||(n.path=(n.pathname?n.pathname:\"\")+(n.search?n.search:\"\")),n.href=n.format(),n}if(!k.length)return n.pathname=null,n.search?n.path=\"/\"+n.search:n.path=null,n.href=n.format(),n;for(var C=k.slice(-1)[0],A=(n.host||e.host||k.length>1)&&(\".\"===C||\"..\"===C)||\"\"===C,D=0,O=k.length;O>=0;O--)C=k[O],\".\"===C?k.splice(O,1):\"..\"===C?(k.splice(O,1),D++):D&&(k.splice(O,1),D--);if(!_&&!b)for(;D--;D)k.unshift(\"..\");!_||\"\"===k[0]||k[0]&&\"/\"===k[0].charAt(0)||k.unshift(\"\"),A&&\"/\"!==k.join(\"/\").substr(-1)&&k.push(\"\");var M=\"\"===k[0]||k[0]&&\"/\"===k[0].charAt(0);if(E){n.hostname=n.host=M?\"\":k.length?k.shift():\"\";var S=!!(n.host&&n.host.indexOf(\"@\")>0)&&n.host.split(\"@\");S&&(n.auth=S.shift(),n.host=n.hostname=S.shift())}return _=_||n.host&&k.length,_&&!M&&k.unshift(\"\"),k.length?n.pathname=k.join(\"/\"):(n.pathname=null,n.path=null),l.isNull(n.pathname)&&l.isNull(n.search)||(n.path=(n.pathname?n.pathname:\"\")+(n.search?n.search:\"\")),n.auth=e.auth||n.auth,n.slashes=n.slashes||e.slashes,n.href=n.format(),n},r.prototype.parseHost=function(){var e=this.host,t=p.exec(e);t&&(t=t[0],\":\"!==t&&(this.port=t.substr(1)),e=e.substr(0,e.length-t.length)),e&&(this.hostname=e)}},function(e,t,n){(function(){var e,r,i,o=function(e,t){function n(){this.constructor=e}for(var r in t)a.call(t,r)&&(e[r]=t[r]);return n.prototype=t.prototype,e.prototype=new n,e.__super__=t.prototype,e},a={}.hasOwnProperty;r=n(126),e=n(46).MarkedYAMLError,i=n(95),this.ComposerError=function(e){function t(){return t.__super__.constructor.apply(this,arguments)}return o(t,e),t}(e),this.Composer=function(){function e(){this.anchors={}}return e.prototype.check_node=function(){return this.check_event(r.StreamStartEvent)&&this.get_event(),!this.check_event(r.StreamEndEvent)},e.prototype.get_node=function(){if(!this.check_event(r.StreamEndEvent))return this.compose_document()},e.prototype.get_single_node=function(){var e,n;if(this.get_event(),e=null,this.check_event(r.StreamEndEvent)||(e=this.compose_document()),!this.check_event(r.StreamEndEvent))throw n=this.get_event(),new t.ComposerError(\"expected a single document in the stream\",e.start_mark,\"but found another document\",n.start_mark);return this.get_event(),e},e.prototype.compose_document=function(){var e;return this.get_event(),e=this.compose_node(),this.get_event(),this.anchors={},e},e.prototype.compose_node=function(e,n){var i,o,a;if(this.check_event(r.AliasEvent)){if(o=this.get_event(),!((i=o.anchor)in this.anchors))throw new t.ComposerError(null,null,\"found undefined alias \"+i,o.start_mark);return this.anchors[i]}if(o=this.peek_event(),null!==(i=o.anchor)&&i in this.anchors)throw new t.ComposerError(\"found duplicate anchor \"+i+\"; first occurence\",this.anchors[i].start_mark,\"second occurrence\",o.start_mark);return this.descend_resolver(e,n),this.check_event(r.ScalarEvent)?a=this.compose_scalar_node(i):this.check_event(r.SequenceStartEvent)?a=this.compose_sequence_node(i):this.check_event(r.MappingStartEvent)&&(a=this.compose_mapping_node(i)),this.ascend_resolver(),a},e.prototype.compose_scalar_node=function(e){var t,n,r;return t=this.get_event(),r=t.tag,null!==r&&\"!\"!==r||(r=this.resolve(i.ScalarNode,t.value,t.implicit)),n=new i.ScalarNode(r,t.value,t.start_mark,t.end_mark,t.style),null!==e&&(this.anchors[e]=n),n},e.prototype.compose_sequence_node=function(e){var t,n,o,a,s;for(a=this.get_event(),s=a.tag,null!==s&&\"!\"!==s||(s=this.resolve(i.SequenceNode,null,a.implicit)),o=new i.SequenceNode(s,[],a.start_mark,null,a.flow_style),null!==e&&(this.anchors[e]=o),n=0;!this.check_event(r.SequenceEndEvent);)o.value.push(this.compose_node(o,n)),n++;return t=this.get_event(),o.end_mark=t.end_mark,o},e.prototype.compose_mapping_node=function(e){var t,n,o,a,s,u;for(s=this.get_event(),u=s.tag,null!==u&&\"!\"!==u||(u=this.resolve(i.MappingNode,null,s.implicit)),a=new i.MappingNode(u,[],s.start_mark,null,s.flow_style),null!==e&&(this.anchors[e]=a);!this.check_event(r.MappingEndEvent);)n=this.compose_node(a),o=this.compose_node(a,n),a.value.push([n,o]);return t=this.get_event(),a.end_mark=t.end_mark,a},e}()}).call(this)},function(e,t,n){(function(e){(function(){var r,i,o,a=function(e,t){function n(){this.constructor=e}for(var r in t)s.call(t,r)&&(e[r]=t[r]);return n.prototype=t.prototype,e.prototype=new n,e.__super__=t.prototype,e},s={}.hasOwnProperty,u=[].indexOf||function(e){for(var t=0,n=this.length;t<n;t++)if(t in this&&this[t]===e)return t;return-1};r=n(46).MarkedYAMLError,i=n(95),o=n(61),this.ConstructorError=function(e){function t(){return t.__super__.constructor.apply(this,arguments)}return a(t,e),t}(r),this.BaseConstructor=function(){function e(){this.constructed_objects={},this.constructing_nodes=[],this.deferred_constructors=[]}return e.prototype.yaml_constructors={},e.prototype.yaml_multi_constructors={},e.add_constructor=function(e,t){return this.prototype.hasOwnProperty(\"yaml_constructors\")||(this.prototype.yaml_constructors=o.extend({},this.prototype.yaml_constructors)),this.prototype.yaml_constructors[e]=t},e.add_multi_constructor=function(e,t){return this.prototype.hasOwnProperty(\"yaml_multi_constructors\")||(this.prototype.yaml_multi_constructors=o.extend({},this.prototype.yaml_multi_constructors)),this.prototype.yaml_multi_constructors[e]=t},e.prototype.check_data=function(){return this.check_node()},e.prototype.get_data=function(){if(this.check_node())return this.construct_document(this.get_node())},e.prototype.get_single_data=function(){var e;return e=this.get_single_node(),null!=e?this.construct_document(e):null},e.prototype.construct_document=function(e){var t;for(t=this.construct_object(e);!o.is_empty(this.deferred_constructors);)this.deferred_constructors.pop()();return t},e.prototype.defer=function(e){return this.deferred_constructors.push(e)},e.prototype.construct_object=function(e){var n,r,o,a,s;if(e.unique_id in this.constructed_objects)return this.constructed_objects[e.unique_id];if(o=e.unique_id,u.call(this.constructing_nodes,o)>=0)throw new t.ConstructorError(null,null,\"found unconstructable recursive node\",e.start_mark);if(this.constructing_nodes.push(e.unique_id),n=null,s=null,e.tag in this.yaml_constructors)n=this.yaml_constructors[e.tag];else{for(a in this.yaml_multi_constructors)if(e.tag.indexOf(0===a)){s=e.tag.slice(a.length),n=this.yaml_multi_constructors[a];break}null==n&&(null in this.yaml_multi_constructors?(s=e.tag,n=this.yaml_multi_constructors[null]):null in this.yaml_constructors?n=this.yaml_constructors[null]:e instanceof i.ScalarNode?n=this.construct_scalar:e instanceof i.SequenceNode?n=this.construct_sequence:e instanceof i.MappingNode&&(n=this.construct_mapping))}return r=n.call(this,null!=s?s:e,e),this.constructed_objects[e.unique_id]=r,this.constructing_nodes.pop(),r},e.prototype.construct_scalar=function(e){if(!(e instanceof i.ScalarNode))throw new t.ConstructorError(null,null,\"expected a scalar node but found \"+e.id,e.start_mark);return e.value},e.prototype.construct_sequence=function(e){var n,r,o,a,s;if(!(e instanceof i.SequenceNode))throw new t.ConstructorError(null,null,\"expected a sequence node but found \"+e.id,e.start_mark);for(a=e.value,s=[],r=0,o=a.length;r<o;r++)n=a[r],s.push(this.construct_object(n));return s},e.prototype.construct_mapping=function(e){var n,r,o,a,s,u,l,c,p;if(!(e instanceof i.MappingNode))throw new ConstructorError(null,null,\"expected a mapping node but found \"+e.id,e.start_mark);for(s={},u=e.value,n=0,a=u.length;n<a;n++){if(l=u[n],o=l[0],p=l[1],\"object\"==typeof(r=this.construct_object(o)))throw new t.ConstructorError(\"while constructing a mapping\",e.start_mark,\"found unhashable key\",o.start_mark);c=this.construct_object(p),s[r]=c}return s},e.prototype.construct_pairs=function(e){var n,r,o,a,s,u,l,c,p;if(!(e instanceof i.MappingNode))throw new t.ConstructorError(null,null,\"expected a mapping node but found \"+e.id,e.start_mark);for(s=[],u=e.value,n=0,a=u.length;n<a;n++)l=u[n],o=l[0],p=l[1],r=this.construct_object(o),c=this.construct_object(p),s.push([r,c]);return s},e}(),this.Constructor=function(n){function r(){return r.__super__.constructor.apply(this,arguments)}var o,s,l;return a(r,n),o={on:!0,off:!1,true:!0,false:!1,yes:!0,no:!1},l=/^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:(?:[Tt]|[\\x20\\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[\\x20\\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?)?$/,s={year:1,month:2,day:3,hour:4,minute:5,second:6,fraction:7,tz:8,tz_sign:9,tz_hour:10,tz_minute:11},r.prototype.construct_scalar=function(e){var t,n,o,a,s,u;if(e instanceof i.MappingNode)for(a=e.value,t=0,o=a.length;t<o;t++)if(s=a[t],n=s[0],u=s[1],\"tag:yaml.org,2002:value\"===n.tag)return this.construct_scalar(u);return r.__super__.construct_scalar.call(this,e)},r.prototype.flatten_mapping=function(e){var n,r,o,a,s,u,l,c,p,f,h,d,m;for(l=[],r=0;r<e.value.length;)if(c=e.value[r],a=c[0],m=c[1],\"tag:yaml.org,2002:merge\"===a.tag)if(e.value.splice(r,1),m instanceof i.MappingNode)this.flatten_mapping(m),l=l.concat(m.value);else{if(!(m instanceof i.SequenceNode))throw new t.ConstructorError(\"while constructing a mapping\",e.start_mark,\"expected a mapping or list of mappings for merging but found \"+m.id,m.start_mark);for(f=[],p=m.value,n=0,s=p.length;n<s;n++){if(!((h=p[n])instanceof i.MappingNode))throw new t.ConstructorError(\"while constructing a mapping\",e.start_mark,\"expected a mapping for merging, but found \"+h.id,h.start_mark);this.flatten_mapping(h),f.push(h.value)}for(f.reverse(),o=0,u=f.length;o<u;o++)d=f[o],l=l.concat(d)}else\"tag:yaml.org,2002:value\"===a.tag?(a.tag=\"tag:yaml.org,2002:str\",r++):r++;if(l.length)return e.value=l.concat(e.value)},r.prototype.construct_mapping=function(e){return e instanceof i.MappingNode&&this.flatten_mapping(e),r.__super__.construct_mapping.call(this,e)},r.prototype.construct_yaml_null=function(e){return this.construct_scalar(e),null},r.prototype.construct_yaml_bool=function(e){var t;return t=this.construct_scalar(e),o[t.toLowerCase()]},r.prototype.construct_yaml_int=function(e){var t,n,r,i,o,a,s,l,c;if(c=this.construct_scalar(e),c=c.replace(/_/g,\"\"),l=\"-\"===c[0]?-1:1,s=c[0],u.call(\"+-\",s)>=0&&(c=c.slice(1)),\"0\"===c)return 0;if(0===c.indexOf(\"0b\"))return l*parseInt(c.slice(2),2);if(0===c.indexOf(\"0x\"))return l*parseInt(c.slice(2),16);if(0===c.indexOf(\"0o\"))return l*parseInt(c.slice(2),8);if(\"0\"===c[0])return l*parseInt(c,8);if(u.call(c,\":\")>=0){for(r=function(){var e,t,n,r;for(n=c.split(/:/g),r=[],e=0,t=n.length;e<t;e++)a=n[e],r.push(parseInt(a));return r}(),r.reverse(),t=1,c=0,i=0,o=r.length;i<o;i++)n=r[i],c+=n*t,t*=60;return l*c}return l*parseInt(c)},r.prototype.construct_yaml_float=function(e){var t,n,r,i,o,a,s,l,c;if(c=this.construct_scalar(e),c=c.replace(/_/g,\"\").toLowerCase(),l=\"-\"===c[0]?-1:1,s=c[0],u.call(\"+-\",s)>=0&&(c=c.slice(1)),\".inf\"===c)return Infinity*l;if(\".nan\"===c)return NaN;if(u.call(c,\":\")>=0){for(r=function(){var e,t,n,r;for(n=c.split(/:/g),r=[],e=0,t=n.length;e<t;e++)a=n[e],r.push(parseFloat(a));return r}(),r.reverse(),t=1,c=0,i=0,o=r.length;i<o;i++)n=r[i],c+=n*t,t*=60;return l*c}return l*parseFloat(c)},r.prototype.construct_yaml_binary=function(n){var r,i;i=this.construct_scalar(n);try{return\"undefined\"!=typeof window&&null!==window?atob(i):new e(i,\"base64\").toString(\"ascii\")}catch(e){throw r=e,new t.ConstructorError(null,null,\"failed to decode base64 data: \"+r,n.start_mark)}},r.prototype.construct_yaml_timestamp=function(e){var t,n,r,i,o,a,u,c,p,f,h,d,m,v,g;this.construct_scalar(e),a=e.value.match(l),v={};for(o in s)i=s[o],v[o]=a[i];if(g=parseInt(v.year),p=parseInt(v.month)-1,t=parseInt(v.day),!v.hour)return new Date(Date.UTC(g,p,t));if(r=parseInt(v.hour),c=parseInt(v.minute),f=parseInt(v.second),u=0,v.fraction){for(n=v.fraction.slice(0,6);n.length<6;)n+=\"0\";n=parseInt(n),u=Math.round(n/1e3)}return v.tz_sign&&(m=\"-\"===v.tz_sign?1:-1,(h=parseInt(v.tz_hour))&&(r+=m*h),(d=parseInt(v.tz_minute))&&(c+=m*d)),new Date(Date.UTC(g,p,t,r,c,f,u))},r.prototype.construct_yaml_pair_list=function(e,n){var r;if(r=[],!(n instanceof i.SequenceNode))throw new t.ConstructorError(\"while constructing \"+e,n.start_mark,\"expected a sequence but found \"+n.id,n.start_mark);return this.defer(function(o){return function(){var a,s,u,l,c,p,f,h,d,m;for(c=n.value,f=[],a=0,l=c.length;a<l;a++){if(!((h=c[a])instanceof i.MappingNode))throw new t.ConstructorError(\"while constructing \"+e,n.start_mark,\"expected a mapping of length 1 but found \"+h.id,h.start_mark);if(1!==h.value.length)throw new t.ConstructorError(\"while constructing \"+e,n.start_mark,\"expected a mapping of length 1 but found \"+h.id,h.start_mark);p=h.value[0],u=p[0],m=p[1],s=o.construct_object(u),d=o.construct_object(m),f.push(r.push([s,d]))}return f}}(this)),r},r.prototype.construct_yaml_omap=function(e){return this.construct_yaml_pair_list(\"an ordered map\",e)},r.prototype.construct_yaml_pairs=function(e){return this.construct_yaml_pair_list(\"pairs\",e)},r.prototype.construct_yaml_set=function(e){var t;return t=[],this.defer(function(n){return function(){var r,i;i=[];for(r in n.construct_mapping(e))i.push(t.push(r));return i}}(this)),t},r.prototype.construct_yaml_str=function(e){return this.construct_scalar(e)},r.prototype.construct_yaml_seq=function(e){var t;return t=[],this.defer(function(n){return function(){var r,i,o,a,s;for(a=n.construct_sequence(e),s=[],r=0,o=a.length;r<o;r++)i=a[r],s.push(t.push(i));return s}}(this)),t},r.prototype.construct_yaml_map=function(e){var t;return t={},this.defer(function(n){return function(){var r,i,o,a;i=n.construct_mapping(e),o=[];for(r in i)a=i[r],o.push(t[r]=a);return o}}(this)),t},r.prototype.construct_yaml_object=function(e,t){var n;return n=new t,this.defer(function(t){return function(){var r,i,o,a;i=t.construct_mapping(e,!0),o=[];for(r in i)a=i[r],o.push(n[r]=a);return o}}(this)),n},r.prototype.construct_undefined=function(e){throw new t.ConstructorError(null,null,\"could not determine a constructor for the tag \"+e.tag,e.start_mark)},r}(this.BaseConstructor),this.Constructor.add_constructor(\"tag:yaml.org,2002:null\",this.Constructor.prototype.construct_yaml_null),this.Constructor.add_constructor(\"tag:yaml.org,2002:bool\",this.Constructor.prototype.construct_yaml_bool),this.Constructor.add_constructor(\"tag:yaml.org,2002:int\",this.Constructor.prototype.construct_yaml_int),this.Constructor.add_constructor(\"tag:yaml.org,2002:float\",this.Constructor.prototype.construct_yaml_float),this.Constructor.add_constructor(\"tag:yaml.org,2002:binary\",this.Constructor.prototype.construct_yaml_binary),this.Constructor.add_constructor(\"tag:yaml.org,2002:timestamp\",this.Constructor.prototype.construct_yaml_timestamp),this.Constructor.add_constructor(\"tag:yaml.org,2002:omap\",this.Constructor.prototype.construct_yaml_omap),this.Constructor.add_constructor(\"tag:yaml.org,2002:pairs\",this.Constructor.prototype.construct_yaml_pairs),this.Constructor.add_constructor(\"tag:yaml.org,2002:set\",this.Constructor.prototype.construct_yaml_set),this.Constructor.add_constructor(\"tag:yaml.org,2002:str\",this.Constructor.prototype.construct_yaml_str),this.Constructor.add_constructor(\"tag:yaml.org,2002:seq\",this.Constructor.prototype.construct_yaml_seq),this.Constructor.add_constructor(\"tag:yaml.org,2002:map\",this.Constructor.prototype.construct_yaml_map),this.Constructor.add_constructor(null,this.Constructor.prototype.construct_undefined)}).call(this)}).call(t,n(42).Buffer)},function(e,t,n){(function(){var e,r,i,o=function(e,t){function n(){this.constructor=e}for(var r in t)a.call(t,r)&&(e[r]=t[r]);return n.prototype=t.prototype,e.prototype=new n,e.__super__=t.prototype,e},a={}.hasOwnProperty,s=[].slice;r=n(126),e=n(46).MarkedYAMLError,i=n(271),this.ParserError=function(e){function t(){return t.__super__.constructor.apply(this,arguments)}return o(t,e),t}(e),this.Parser=function(){function e(){this.current_event=null,this.yaml_version=null,this.tag_handles={},this.states=[],this.marks=[],this.state=\"parse_stream_start\"}var n;return n={\"!\":\"!\",\"!!\":\"tag:yaml.org,2002:\"},e.prototype.dispose=function(){return this.states=[],this.state=null},e.prototype.check_event=function(){var e,t,n,r;if(t=1<=arguments.length?s.call(arguments,0):[],null===this.current_event&&null!=this.state&&(this.current_event=this[this.state]()),null!==this.current_event){if(0===t.length)return!0;for(n=0,r=t.length;n<r;n++)if(e=t[n],this.current_event instanceof e)return!0}return!1},e.prototype.peek_event=function(){return null===this.current_event&&null!=this.state&&(this.current_event=this[this.state]()),this.current_event},e.prototype.get_event=function(){var e;return null===this.current_event&&null!=this.state&&(this.current_event=this[this.state]()),e=this.current_event,this.current_event=null,e},e.prototype.parse_stream_start=function(){var e,t;return t=this.get_token(),e=new r.StreamStartEvent(t.start_mark,t.end_mark),this.state=\"parse_implicit_document_start\",e},e.prototype.parse_implicit_document_start=function(){var e,t,o,a;return this.check_token(i.DirectiveToken,i.DocumentStartToken,i.StreamEndToken)?this.parse_document_start():(this.tag_handles=n,a=this.peek_token(),o=e=a.start_mark,t=new r.DocumentStartEvent(o,e,!1),this.states.push(\"parse_document_end\"),this.state=\"parse_block_node\",t)},e.prototype.parse_document_start=function(){for(var e,n,o,a,s,u,l;this.check_token(i.DocumentEndToken);)this.get_token();if(this.check_token(i.StreamEndToken)){if(u=this.get_token(),n=new r.StreamEndEvent(u.start_mark,u.end_mark),0!==this.states.length)throw new Error(\"assertion error, states should be empty\");if(0!==this.marks.length)throw new Error(\"assertion error, marks should be empty\");this.state=null}else{if(a=this.peek_token().start_mark,o=this.process_directives(),l=o[0],s=o[1],!this.check_token(i.DocumentStartToken))throw new t.ParserError(\"expected '<document start>', but found \"+this.peek_token().id,this.peek_token().start_mark);u=this.get_token(),e=u.end_mark,n=new r.DocumentStartEvent(a,e,!0,l,s),this.states.push(\"parse_document_end\"),this.state=\"parse_document_content\"}return n},e.prototype.parse_document_end=function(){var e,t,n,o,a;return a=this.peek_token(),o=e=a.start_mark,n=!1,this.check_token(i.DocumentEndToken)&&(a=this.get_token(),e=a.end_mark,n=!0),t=new r.DocumentEndEvent(o,e,n),this.state=\"parse_document_start\",t},e.prototype.parse_document_content=function(){var e;return this.check_token(i.DirectiveToken,i.DocumentStartToken,i.DocumentEndToken,i.StreamEndToken)?(e=this.process_empty_scalar(this.peek_token().start_mark),this.state=this.states.pop(),e):this.parse_block_node()},e.prototype.process_directives=function(){var e,r,o,s,u,l,c,p,f;for(this.yaml_version=null,this.tag_handles={};this.check_token(i.DirectiveToken);)if(p=this.get_token(),\"YAML\"===p.name){if(null!==this.yaml_version)throw new t.ParserError(null,null,\"found duplicate YAML directive\",p.start_mark);if(s=p.value,r=s[0],s[1],1!==r)throw new t.ParserError(null,null,\"found incompatible YAML document (version 1.* is required)\",p.start_mark);this.yaml_version=p.value}else if(\"TAG\"===p.name){if(u=p.value,e=u[0],o=u[1],e in this.tag_handles)throw new t.ParserError(null,null,\"duplicate tag handle \"+e,p.start_mark);this.tag_handles[e]=o}c=null,l=this.tag_handles;for(e in l)a.call(l,e)&&(o=l[e],null==c&&(c={}),c[e]=o);f=[this.yaml_version,c];for(e in n)a.call(n,e)&&((o=n[e])in this.tag_handles||(this.tag_handles[e]=o));return f},e.prototype.parse_block_node=function(){return this.parse_node(!0)},e.prototype.parse_flow_node=function(){return this.parse_node()},e.prototype.parse_block_node_or_indentless_sequence=function(){return this.parse_node(!0,!0)},e.prototype.parse_node=function(e,n){var o,a,s,u,l,c,p,f,h,d,m;if(null==e&&(e=!1),null==n&&(n=!1),this.check_token(i.AliasToken))m=this.get_token(),s=new r.AliasEvent(m.value,m.start_mark,m.end_mark),this.state=this.states.pop();else{if(o=null,h=null,p=a=d=null,this.check_token(i.AnchorToken)?(m=this.get_token(),p=m.start_mark,a=m.end_mark,o=m.value,this.check_token(i.TagToken)&&(m=this.get_token(),d=m.start_mark,a=m.end_mark,h=m.value)):this.check_token(i.TagToken)&&(m=this.get_token(),p=d=m.start_mark,a=m.end_mark,h=m.value,this.check_token(i.AnchorToken)&&(m=this.get_token(),a=m.end_mark,o=m.value)),null!==h)if(u=h[0],f=h[1],null!==u){if(!(u in this.tag_handles))throw new t.ParserError(\"while parsing a node\",p,\"found undefined tag handle \"+u,d);h=this.tag_handles[u]+f}else h=f;if(null===p&&(p=a=this.peek_token().start_mark),s=null,l=null===h||\"!\"===h,n&&this.check_token(i.BlockEntryToken))a=this.peek_token().end_mark,s=new r.SequenceStartEvent(o,h,l,p,a),this.state=\"parse_indentless_sequence_entry\";else if(this.check_token(i.ScalarToken))m=this.get_token(),a=m.end_mark,l=m.plain&&null===h||\"!\"===h?[!0,!1]:null===h?[!1,!0]:[!1,!1],s=new r.ScalarEvent(o,h,l,m.value,p,a,m.style),this.state=this.states.pop();else if(this.check_token(i.FlowSequenceStartToken))a=this.peek_token().end_mark,s=new r.SequenceStartEvent(o,h,l,p,a,!0),this.state=\"parse_flow_sequence_first_entry\";else if(this.check_token(i.FlowMappingStartToken))a=this.peek_token().end_mark,s=new r.MappingStartEvent(o,h,l,p,a,!0),this.state=\"parse_flow_mapping_first_key\";else if(e&&this.check_token(i.BlockSequenceStartToken))a=this.peek_token().end_mark,s=new r.SequenceStartEvent(o,h,l,p,a,!1),this.state=\"parse_block_sequence_first_entry\";else if(e&&this.check_token(i.BlockMappingStartToken))a=this.peek_token().end_mark,s=new r.MappingStartEvent(o,h,l,p,a,!1),this.state=\"parse_block_mapping_first_key\";else{if(null===o&&null===h)throw c=e?\"block\":\"flow\",m=this.peek_token(),new t.ParserError(\"while parsing a \"+c+\" node\",p,\"expected the node content, but found \"+m.id,m.start_mark);s=new r.ScalarEvent(o,h,[l,!1],\"\",p,a),this.state=this.states.pop()}}return s},e.prototype.parse_block_sequence_first_entry=function(){var e;return e=this.get_token(),this.marks.push(e.start_mark),this.parse_block_sequence_entry()},e.prototype.parse_block_sequence_entry=function(){var e,n;if(this.check_token(i.BlockEntryToken))return n=this.get_token(),this.check_token(i.BlockEntryToken,i.BlockEndToken)?(this.state=\"parse_block_sequence_entry\",this.process_empty_scalar(n.end_mark)):(this.states.push(\"parse_block_sequence_entry\"),this.parse_block_node());if(!this.check_token(i.BlockEndToken))throw n=this.peek_token(),new t.ParserError(\"while parsing a block collection\",this.marks.slice(-1)[0],\"expected <block end>, but found \"+n.id,n.start_mark);return n=this.get_token(),e=new r.SequenceEndEvent(n.start_mark,n.end_mark),this.state=this.states.pop(),this.marks.pop(),e},e.prototype.parse_indentless_sequence_entry=function(){var e,t;return this.check_token(i.BlockEntryToken)?(t=this.get_token(),this.check_token(i.BlockEntryToken,i.KeyToken,i.ValueToken,i.BlockEndToken)?(this.state=\"parse_indentless_sequence_entry\",this.process_empty_scalar(t.end_mark)):(this.states.push(\"parse_indentless_sequence_entry\"),this.parse_block_node())):(t=this.peek_token(),e=new r.SequenceEndEvent(t.start_mark,t.start_mark),this.state=this.states.pop(),e)},e.prototype.parse_block_mapping_first_key=function(){var e;return e=this.get_token(),this.marks.push(e.start_mark),this.parse_block_mapping_key()},e.prototype.parse_block_mapping_key=function(){var e,n;if(this.check_token(i.KeyToken))return n=this.get_token(),this.check_token(i.KeyToken,i.ValueToken,i.BlockEndToken)?(this.state=\"parse_block_mapping_value\",this.process_empty_scalar(n.end_mark)):(this.states.push(\"parse_block_mapping_value\"),this.parse_block_node_or_indentless_sequence());if(!this.check_token(i.BlockEndToken))throw n=this.peek_token(),new t.ParserError(\"while parsing a block mapping\",this.marks.slice(-1)[0],\"expected <block end>, but found \"+n.id,n.start_mark);return n=this.get_token(),e=new r.MappingEndEvent(n.start_mark,n.end_mark),this.state=this.states.pop(),this.marks.pop(),e},e.prototype.parse_block_mapping_value=function(){var e;return this.check_token(i.ValueToken)?(e=this.get_token(),this.check_token(i.KeyToken,i.ValueToken,i.BlockEndToken)?(this.state=\"parse_block_mapping_key\",this.process_empty_scalar(e.end_mark)):(this.states.push(\"parse_block_mapping_key\"),this.parse_block_node_or_indentless_sequence())):(this.state=\"parse_block_mapping_key\",e=this.peek_token(),this.process_empty_scalar(e.start_mark))},e.prototype.parse_flow_sequence_first_entry=function(){var e;return e=this.get_token(),this.marks.push(e.start_mark),this.parse_flow_sequence_entry(!0)},e.prototype.parse_flow_sequence_entry=function(e){var n,o;if(null==e&&(e=!1),!this.check_token(i.FlowSequenceEndToken)){if(!e){if(!this.check_token(i.FlowEntryToken))throw o=this.peek_token(),new t.ParserError(\"while parsing a flow sequence\",this.marks.slice(-1)[0],\"expected ',' or ']', but got \"+o.id,o.start_mark);this.get_token()}if(this.check_token(i.KeyToken))return o=this.peek_token(),n=new r.MappingStartEvent(null,null,!0,o.start_mark,o.end_mark,!0),this.state=\"parse_flow_sequence_entry_mapping_key\",n;if(!this.check_token(i.FlowSequenceEndToken))return this.states.push(\"parse_flow_sequence_entry\"),this.parse_flow_node()}return o=this.get_token(),n=new r.SequenceEndEvent(o.start_mark,o.end_mark),this.state=this.states.pop(),this.marks.pop(),n},e.prototype.parse_flow_sequence_entry_mapping_key=function(){var e;return e=this.get_token(),this.check_token(i.ValueToken,i.FlowEntryToken,i.FlowSequenceEndToken)?(this.state=\"parse_flow_sequence_entry_mapping_value\",this.process_empty_scalar(e.end_mark)):(this.states.push(\"parse_flow_sequence_entry_mapping_value\"),this.parse_flow_node())},e.prototype.parse_flow_sequence_entry_mapping_value=function(){var e;return this.check_token(i.ValueToken)?(e=this.get_token(),this.check_token(i.FlowEntryToken,i.FlowSequenceEndToken)?(this.state=\"parse_flow_sequence_entry_mapping_end\",this.process_empty_scalar(e.end_mark)):(this.states.push(\"parse_flow_sequence_entry_mapping_end\"),this.parse_flow_node())):(this.state=\"parse_flow_sequence_entry_mapping_end\",e=this.peek_token(),this.process_empty_scalar(e.start_mark))},e.prototype.parse_flow_sequence_entry_mapping_end=function(){var e;return this.state=\"parse_flow_sequence_entry\",e=this.peek_token(),new r.MappingEndEvent(e.start_mark,e.start_mark)},e.prototype.parse_flow_mapping_first_key=function(){var e;return e=this.get_token(),this.marks.push(e.start_mark),this.parse_flow_mapping_key(!0)},e.prototype.parse_flow_mapping_key=function(e){var n,o;if(null==e&&(e=!1),!this.check_token(i.FlowMappingEndToken)){if(!e){if(!this.check_token(i.FlowEntryToken))throw o=this.peek_token(),new t.ParserError(\"while parsing a flow mapping\",this.marks.slice(-1)[0],\"expected ',' or '}', but got \"+o.id,o.start_mark);this.get_token()}if(this.check_token(i.KeyToken))return o=this.get_token(),this.check_token(i.ValueToken,i.FlowEntryToken,i.FlowMappingEndToken)?(this.state=\"parse_flow_mapping_value\",this.process_empty_scalar(o.end_mark)):(this.states.push(\"parse_flow_mapping_value\"),this.parse_flow_node());if(!this.check_token(i.FlowMappingEndToken))return this.states.push(\"parse_flow_mapping_empty_value\"),this.parse_flow_node()}return o=this.get_token(),n=new r.MappingEndEvent(o.start_mark,o.end_mark),this.state=this.states.pop(),this.marks.pop(),n},e.prototype.parse_flow_mapping_value=function(){var e;return this.check_token(i.ValueToken)?(e=this.get_token(),this.check_token(i.FlowEntryToken,i.FlowMappingEndToken)?(this.state=\"parse_flow_mapping_key\",this.process_empty_scalar(e.end_mark)):(this.states.push(\"parse_flow_mapping_key\"),this.parse_flow_node())):(this.state=\"parse_flow_mapping_key\",e=this.peek_token(),this.process_empty_scalar(e.start_mark))},e.prototype.parse_flow_mapping_empty_value=function(){return this.state=\"parse_flow_mapping_key\",this.process_empty_scalar(this.peek_token().start_mark)},e.prototype.process_empty_scalar=function(e){return new r.ScalarEvent(null,null,[!0,!1],\"\",e,e)},e}()}).call(this)},function(e,t,n){(function(){var e,r,i,o=function(e,t){function n(){this.constructor=e}for(var r in t)a.call(t,r)&&(e[r]=t[r]);return n.prototype=t.prototype,e.prototype=new n,e.__super__=t.prototype,e},a={}.hasOwnProperty,s=[].indexOf||function(e){for(var t=0,n=this.length;t<n;t++)if(t in this&&this[t]===e)return t;return-1};i=n(46),e=i.Mark,r=i.YAMLError,this.ReaderError=function(e){function t(e,n,r){this.position=e,this.character=n,this.reason=r,t.__super__.constructor.call(this)}return o(t,e),t.prototype.toString=function(){return\"unacceptable character #\"+this.character.charCodeAt(0).toString(16)+\": \"+this.reason+\"\\n  position \"+this.position},t}(r),this.Reader=function(){function n(e){this.string=e,this.line=0,this.column=0,this.index=0,this.check_printable(),this.string+=\"\\0\"}var r;return r=/[^\\x09\\x0A\\x0D\\x20-\\x7E\\x85\\xA0-\\uFFFD]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF]/,n.prototype.peek=function(e){return null==e&&(e=0),this.string[this.index+e]},n.prototype.prefix=function(e){return null==e&&(e=1),this.string.slice(this.index,this.index+e)},n.prototype.forward=function(e){var t,n;for(null==e&&(e=1),n=[];e;)t=this.string[this.index],this.index++,s.call(\"\\n₂\\u2029\",t)>=0||\"\\r\"===t&&\"\\n\"!==this.string[this.index]?(this.line++,this.column=0):this.column++,n.push(e--);return n},n.prototype.get_mark=function(){return new e(this.line,this.column,this.string,this.index)},n.prototype.check_printable=function(){var e,n,i;if(n=r.exec(this.string))throw e=n[0],i=this.string.length-this.index+n.index,new t.ReaderError(i,e,\"special characters are not allowed\")},n}()}).call(this)},function(e,t,n){(function(){var e,r,i,o,a=function(e,t){function n(){this.constructor=e}for(var r in t)s.call(t,r)&&(e[r]=t[r]);return n.prototype=t.prototype,e.prototype=new n,e.__super__=t.prototype,e},s={}.hasOwnProperty,u=[].slice,l=[].indexOf||function(e){for(var t=0,n=this.length;t<n;t++)if(t in this&&this[t]===e)return t;return-1};e=n(46).MarkedYAMLError,i=n(271),o=n(61),this.ScannerError=function(e){function t(){return t.__super__.constructor.apply(this,arguments)}return a(t,e),t}(e),r=function(){function e(e,t,n,r,i,o){this.token_number=e,this.required=t,this.index=n,this.line=r,this.column=i,this.mark=o}return e}(),this.Scanner=function(){function e(){this.done=!1,this.flow_level=0,this.tokens=[],this.fetch_stream_start(),this.tokens_taken=0,this.indent=-1,this.indents=[],this.allow_simple_key=!0,this.possible_simple_keys={}}var n,a,c,p,f;return n=\"\\r\\n\\u2028\\u2029\",c=\"\\t \",a=\"0123456789\",f={0:\"\\0\",a:\"\u0007\",b:\"\\b\",t:\"\\t\",\"\\t\":\"\\t\",n:\"\\n\",v:\"\\v\",f:\"\\f\",r:\"\\r\",e:\"\u001b\",\" \":\" \",'\"':'\"',\"\\\\\":\"\\\\\",N:\"\",_:\" \",L:\"\\u2028\",P:\"\\u2029\"},p={x:2,u:4,U:8},e.prototype.check_token=function(){var e,t,n,r;for(t=1<=arguments.length?u.call(arguments,0):[];this.need_more_tokens();)this.fetch_more_tokens();if(0!==this.tokens.length){if(0===t.length)return!0;for(n=0,r=t.length;n<r;n++)if(e=t[n],this.tokens[0]instanceof e)return!0}return!1},e.prototype.peek_token=function(){for(;this.need_more_tokens();)this.fetch_more_tokens();if(0!==this.tokens.length)return this.tokens[0]},e.prototype.get_token=function(){for(;this.need_more_tokens();)this.fetch_more_tokens();if(0!==this.tokens.length)return this.tokens_taken++,this.tokens.shift()},e.prototype.need_more_tokens=function(){return!this.done&&(0===this.tokens.length||(this.stale_possible_simple_keys(),this.next_possible_simple_key()===this.tokens_taken))},e.prototype.fetch_more_tokens=function(){var e;if(this.scan_to_next_token(),this.stale_possible_simple_keys(),this.unwind_indent(this.column),\"\\0\"===(e=this.peek()))return this.fetch_stream_end();if(\"%\"===e&&this.check_directive())return this.fetch_directive();if(\"-\"===e&&this.check_document_start())return this.fetch_document_start();if(\".\"===e&&this.check_document_end())return this.fetch_document_end();if(\"[\"===e)return this.fetch_flow_sequence_start();if(\"{\"===e)return this.fetch_flow_mapping_start();if(\"]\"===e)return this.fetch_flow_sequence_end();if(\"}\"===e)return this.fetch_flow_mapping_end();if(\",\"===e)return this.fetch_flow_entry();if(\"-\"===e&&this.check_block_entry())return this.fetch_block_entry();if(\"?\"===e&&this.check_key())return this.fetch_key();if(\":\"===e&&this.check_value())return this.fetch_value();if(\"*\"===e)return this.fetch_alias();if(\"&\"===e)return this.fetch_anchor();if(\"!\"===e)return this.fetch_tag();if(\"|\"===e&&0===this.flow_level)return this.fetch_literal();if(\">\"===e&&0===this.flow_level)return this.fetch_folded();if(\"'\"===e)return this.fetch_single();if('\"'===e)return this.fetch_double();if(this.check_plain())return this.fetch_plain();throw new t.ScannerError(\"while scanning for the next token\",null,\"found character \"+e+\" that cannot start any token\",this.get_mark())},e.prototype.next_possible_simple_key=function(){var e,t,n,r;n=null,r=this.possible_simple_keys;for(t in r)s.call(r,t)&&(e=r[t],(null===n||e.token_number<n)&&(n=e.token_number));return n},e.prototype.stale_possible_simple_keys=function(){var e,n,r,i;r=this.possible_simple_keys,i=[];for(n in r)if(s.call(r,n)&&(e=r[n],!(e.line===this.line&&this.index-e.index<=1024))){if(e.required)throw new t.ScannerError(\"while scanning a simple key\",e.mark,\"could not find expected ':'\",this.get_mark());i.push(delete this.possible_simple_keys[n])}return i},e.prototype.save_possible_simple_key=function(){var e,t;if((e=0===this.flow_level&&this.indent===this.column)&&!this.allow_simple_key)throw new Error(\"logic failure\");if(this.allow_simple_key)return this.remove_possible_simple_key(),t=this.tokens_taken+this.tokens.length,this.possible_simple_keys[this.flow_level]=new r(t,e,this.index,this.line,this.column,this.get_mark())},e.prototype.remove_possible_simple_key=function(){var e;if(e=this.possible_simple_keys[this.flow_level]){if(e.required)throw new t.ScannerError(\"while scanning a simple key\",e.mark,\"could not find expected ':'\",this.get_mark());return delete this.possible_simple_keys[this.flow_level]}},e.prototype.unwind_indent=function(e){var t,n;if(0===this.flow_level){for(n=[];this.indent>e;)t=this.get_mark(),this.indent=this.indents.pop(),n.push(this.tokens.push(new i.BlockEndToken(t,t)));return n}},e.prototype.add_indent=function(e){return e>this.indent&&(this.indents.push(this.indent),this.indent=e,!0)},e.prototype.fetch_stream_start=function(){var e;return e=this.get_mark(),this.tokens.push(new i.StreamStartToken(e,e,this.encoding))},e.prototype.fetch_stream_end=function(){var e;return this.unwind_indent(-1),this.remove_possible_simple_key(),this.allow_possible_simple_key=!1,this.possible_simple_keys={},e=this.get_mark(),this.tokens.push(new i.StreamEndToken(e,e)),this.done=!0},e.prototype.fetch_directive=function(){return this.unwind_indent(-1),this.remove_possible_simple_key(),this.allow_simple_key=!1,this.tokens.push(this.scan_directive())},e.prototype.fetch_document_start=function(){return this.fetch_document_indicator(i.DocumentStartToken)},e.prototype.fetch_document_end=function(){return this.fetch_document_indicator(i.DocumentEndToken)},e.prototype.fetch_document_indicator=function(e){var t;return this.unwind_indent(-1),this.remove_possible_simple_key(),this.allow_simple_key=!1,t=this.get_mark(),this.forward(3),this.tokens.push(new e(t,this.get_mark()))},e.prototype.fetch_flow_sequence_start=function(){return this.fetch_flow_collection_start(i.FlowSequenceStartToken)},e.prototype.fetch_flow_mapping_start=function(){return this.fetch_flow_collection_start(i.FlowMappingStartToken)},e.prototype.fetch_flow_collection_start=function(e){var t;return this.save_possible_simple_key(),this.flow_level++,this.allow_simple_key=!0,t=this.get_mark(),this.forward(),this.tokens.push(new e(t,this.get_mark()))},e.prototype.fetch_flow_sequence_end=function(){return this.fetch_flow_collection_end(i.FlowSequenceEndToken)},e.prototype.fetch_flow_mapping_end=function(){return this.fetch_flow_collection_end(i.FlowMappingEndToken)},e.prototype.fetch_flow_collection_end=function(e){var t;return this.remove_possible_simple_key(),this.flow_level--,this.allow_simple_key=!1,t=this.get_mark(),this.forward(),this.tokens.push(new e(t,this.get_mark()))},e.prototype.fetch_flow_entry=function(){var e;return this.allow_simple_key=!0,this.remove_possible_simple_key(),e=this.get_mark(),this.forward(),this.tokens.push(new i.FlowEntryToken(e,this.get_mark()))},e.prototype.fetch_block_entry=function(){var e,n;if(0===this.flow_level){if(!this.allow_simple_key)throw new t.ScannerError(null,null,\"sequence entries are not allowed here\",this.get_mark());this.add_indent(this.column)&&(e=this.get_mark(),this.tokens.push(new i.BlockSequenceStartToken(e,e)))}return this.allow_simple_key=!0,this.remove_possible_simple_key(),n=this.get_mark(),this.forward(),this.tokens.push(new i.BlockEntryToken(n,this.get_mark()))},e.prototype.fetch_key=function(){var e,n;if(0===this.flow_level){if(!this.allow_simple_key)throw new t.ScannerError(null,null,\"mapping keys are not allowed here\",this.get_mark());this.add_indent(this.column)&&(e=this.get_mark(),this.tokens.push(new i.BlockMappingStartToken(e,e)))}return this.allow_simple_key=!this.flow_level,this.remove_possible_simple_key(),n=this.get_mark(),this.forward(),this.tokens.push(new i.KeyToken(n,this.get_mark()))},e.prototype.fetch_value=function(){var e,n,r;if(e=this.possible_simple_keys[this.flow_level])delete this.possible_simple_keys[this.flow_level],this.tokens.splice(e.token_number-this.tokens_taken,0,new i.KeyToken(e.mark,e.mark)),0===this.flow_level&&this.add_indent(e.column)&&this.tokens.splice(e.token_number-this.tokens_taken,0,new i.BlockMappingStartToken(e.mark,e.mark)),this.allow_simple_key=!1;else{if(0===this.flow_level){if(!this.allow_simple_key)throw new t.ScannerError(null,null,\"mapping values are not allowed here\",this.get_mark());this.add_indent(this.column)&&(n=this.get_mark(),this.tokens.push(new i.BlockMappingStartToken(n,n)))}this.allow_simple_key=!this.flow_level,this.remove_possible_simple_key()}return r=this.get_mark(),this.forward(),this.tokens.push(new i.ValueToken(r,this.get_mark()))},e.prototype.fetch_alias=function(){return this.save_possible_simple_key(),this.allow_simple_key=!1,this.tokens.push(this.scan_anchor(i.AliasToken))},e.prototype.fetch_anchor=function(){return this.save_possible_simple_key(),this.allow_simple_key=!1,this.tokens.push(this.scan_anchor(i.AnchorToken))},e.prototype.fetch_tag=function(){return this.save_possible_simple_key(),this.allow_simple_key=!1,this.tokens.push(this.scan_tag())},e.prototype.fetch_literal=function(){return this.fetch_block_scalar(\"|\")},e.prototype.fetch_folded=function(){return this.fetch_block_scalar(\">\")},e.prototype.fetch_block_scalar=function(e){return this.allow_simple_key=!0,this.remove_possible_simple_key(),this.tokens.push(this.scan_block_scalar(e))},e.prototype.fetch_single=function(){return this.fetch_flow_scalar(\"'\")},e.prototype.fetch_double=function(){return this.fetch_flow_scalar('\"')},e.prototype.fetch_flow_scalar=function(e){return this.save_possible_simple_key(),this.allow_simple_key=!1,this.tokens.push(this.scan_flow_scalar(e))},e.prototype.fetch_plain=function(){return this.save_possible_simple_key(),this.allow_simple_key=!1,this.tokens.push(this.scan_plain())},e.prototype.check_directive=function(){return 0===this.column},e.prototype.check_document_start=function(){var e;return 0===this.column&&\"---\"===this.prefix(3)&&(e=this.peek(3),l.call(n+c+\"\\0\",e)>=0)},e.prototype.check_document_end=function(){var e;return 0===this.column&&\"...\"===this.prefix(3)&&(e=this.peek(3),l.call(n+c+\"\\0\",e)>=0)},e.prototype.check_block_entry=function(){var e;return e=this.peek(1),l.call(n+c+\"\\0\",e)>=0},e.prototype.check_key=function(){var e;return 0!==this.flow_level||(e=this.peek(1),l.call(n+c+\"\\0\",e)>=0)},e.prototype.check_value=function(){var e;return 0!==this.flow_level||(e=this.peek(1),l.call(n+c+\"\\0\",e)>=0)},e.prototype.check_plain=function(){var e,t;return e=this.peek(),l.call(n+c+\"\\0-?:,[]{}#&*!|>'\\\"%@`\",e)<0||(t=this.peek(1),l.call(n+c+\"\\0\",t)<0&&(\"-\"===e||0===this.flow_level&&l.call(\"?:\",e)>=0))},e.prototype.scan_to_next_token=function(){var e,t,r;for(0===this.index&&\"\\ufeff\"===this.peek()&&this.forward(),e=!1,r=[];!e;){for(;\" \"===this.peek();)this.forward();if(\"#\"===this.peek())for(;t=this.peek(),l.call(n+\"\\0\",t)<0;)this.forward();this.scan_line_break()?0===this.flow_level?r.push(this.allow_simple_key=!0):r.push(void 0):r.push(e=!0)}return r},e.prototype.scan_directive=function(){var e,t,r,o,a;if(o=this.get_mark(),this.forward(),t=this.scan_directive_name(o),a=null,\"YAML\"===t)a=this.scan_yaml_directive_value(o),e=this.get_mark();else if(\"TAG\"===t)a=this.scan_tag_directive_value(o),e=this.get_mark();else for(e=this.get_mark();r=this.peek(),l.call(n+\"\\0\",r)<0;)this.forward();return this.scan_directive_ignored_line(o),new i.DirectiveToken(t,a,o,e)},e.prototype.scan_directive_name=function(e){var r,i,o;for(i=0,r=this.peek(i);\"0\"<=r&&r<=\"9\"||\"A\"<=r&&r<=\"Z\"||\"a\"<=r&&r<=\"z\"||l.call(\"-_\",r)>=0;)i++,r=this.peek(i);if(0===i)throw new t.ScannerError(\"while scanning a directive\",e,\"expected alphanumeric or numeric character but found \"+r,this.get_mark());if(o=this.prefix(i),this.forward(i),r=this.peek(),l.call(n+\"\\0 \",r)<0)throw new t.ScannerError(\"while scanning a directive\",e,\"expected alphanumeric or numeric character but found \"+r,this.get_mark());return o},e.prototype.scan_yaml_directive_value=function(e){for(var r,i,o;\" \"===this.peek();)this.forward();if(r=this.scan_yaml_directive_number(e),\".\"!==this.peek())throw new t.ScannerError(\"while scanning a directive\",e,\"expected a digit or '.' but found \"+this.peek(),this.get_mark());if(this.forward(),i=this.scan_yaml_directive_number(e),o=this.peek(),l.call(n+\"\\0 \",o)<0)throw new t.ScannerError(\"while scanning a directive\",e,\"expected a digit or ' ' but found \"+this.peek(),this.get_mark());return[r,i]},e.prototype.scan_yaml_directive_number=function(e){var n,r,i,o;if(!(\"0\"<=(n=this.peek())&&n<=\"9\"))throw new t.ScannerError(\"while scanning a directive\",e,\"expected a digit but found \"+n,this.get_mark());for(r=0;\"0\"<=(i=this.peek(r))&&i<=\"9\";)r++;return o=parseInt(this.prefix(r)),this.forward(r),o},e.prototype.scan_tag_directive_value=function(e){for(var t,n;\" \"===this.peek();)this.forward();for(t=this.scan_tag_directive_handle(e);\" \"===this.peek();)this.forward();return n=this.scan_tag_directive_prefix(e),[t,n]},e.prototype.scan_tag_directive_handle=function(e){var n,r;if(r=this.scan_tag_handle(\"directive\",e),\" \"!==(n=this.peek()))throw new t.ScannerError(\"while scanning a directive\",e,\"expected ' ' but found \"+n,this.get_mark());return r},e.prototype.scan_tag_directive_prefix=function(e){var r,i;if(i=this.scan_tag_uri(\"directive\",e),r=this.peek(),l.call(n+\"\\0 \",r)<0)throw new t.ScannerError(\"while scanning a directive\",e,\"expected ' ' but found \"+r,this.get_mark());return i},e.prototype.scan_directive_ignored_line=function(e){for(var r,i;\" \"===this.peek();)this.forward();if(\"#\"===this.peek())for(;i=this.peek(),l.call(n+\"\\0\",i)<0;)this.forward();if(r=this.peek(),l.call(n+\"\\0\",r)<0)throw new t.ScannerError(\"while scanning a directive\",e,\"expected a comment or a line break but found \"+r,this.get_mark());return this.scan_line_break()},e.prototype.scan_anchor=function(e){var r,i,o,a,s,u;for(s=this.get_mark(),i=this.peek(),a=\"*\"===i?\"alias\":\"anchor\",this.forward(),o=0,r=this.peek(o);\"0\"<=r&&r<=\"9\"||\"A\"<=r&&r<=\"Z\"||\"a\"<=r&&r<=\"z\"||l.call(\"-_\",r)>=0;)o++,r=this.peek(o);if(0===o)throw new t.ScannerError(\"while scanning an \"+a,s,\"expected alphabetic or numeric character but found '\"+r+\"'\",this.get_mark());if(u=this.prefix(o),this.forward(o),r=this.peek(),l.call(n+c+\"\\0?:,]}%@`\",r)<0)throw new t.ScannerError(\"while scanning an \"+a,s,\"expected alphabetic or numeric character but found '\"+r+\"'\",this.get_mark());return new e(u,s,this.get_mark())},e.prototype.scan_tag=function(){var e,r,o,a,s,u;if(a=this.get_mark(),\"<\"===(e=this.peek(1))){if(r=null,this.forward(2),s=this.scan_tag_uri(\"tag\",a),\">\"!==this.peek())throw new t.ScannerError(\"while parsing a tag\",a,\"expected '>' but found \"+this.peek(),this.get_mark());this.forward()}else if(l.call(n+c+\"\\0\",e)>=0)r=null,s=\"!\",this.forward();else{for(o=1,u=!1;l.call(n+\"\\0 \",e)<0;){if(\"!\"===e){u=!0;break}o++,e=this.peek(o)}u?r=this.scan_tag_handle(\"tag\",a):(r=\"!\",this.forward()),s=this.scan_tag_uri(\"tag\",a)}if(e=this.peek(),l.call(n+\"\\0 \",e)<0)throw new t.ScannerError(\"while scanning a tag\",a,\"expected ' ' but found \"+e,this.get_mark());return new i.TagToken([r,s],a,this.get_mark())},e.prototype.scan_block_scalar=function(e){var t,r,a,s,u,c,p,f,h,d,m,v,g,y,_,b,x,w,k,E;for(u=\">\"===e,a=[],E=this.get_mark(),this.forward(),g=this.scan_block_scalar_indicators(E),r=g[0],c=g[1],this.scan_block_scalar_ignored_line(E),v=this.indent+1,v<1&&(v=1),null==c?(y=this.scan_block_scalar_indentation(),t=y[0],m=y[1],s=y[2],p=Math.max(v,m)):(p=v+c-1,_=this.scan_block_scalar_breaks(p),t=_[0],s=_[1]),d=\"\";this.column===p&&\"\\0\"!==this.peek();){for(a=a.concat(t),b=this.peek(),f=l.call(\" \\t\",b)<0,h=0;x=this.peek(h),l.call(n+\"\\0\",x)<0;)h++;if(a.push(this.prefix(h)),this.forward(h),d=this.scan_line_break(),w=this.scan_block_scalar_breaks(p),t=w[0],s=w[1],this.column!==p||\"\\0\"===this.peek())break;u&&\"\\n\"===d&&f&&(k=this.peek(),l.call(\" \\t\",k)<0)?o.is_empty(t)&&a.push(\" \"):a.push(d)}return!1!==r&&a.push(d),!0===r&&(a=a.concat(t)),new i.ScalarToken(a.join(\"\"),!1,E,s,e)},e.prototype.scan_block_scalar_indicators=function(e){var r,i,o;if(i=null,o=null,r=this.peek(),l.call(\"+-\",r)>=0){if(i=\"+\"===r,this.forward(),r=this.peek(),l.call(a,r)>=0){if(0===(o=parseInt(r)))throw new t.ScannerError(\"while scanning a block scalar\",e,\"expected indentation indicator in the range 1-9 but found 0\",this.get_mark());this.forward()}}else if(l.call(a,r)>=0){if(0===(o=parseInt(r)))throw new t.ScannerError(\"while scanning a block scalar\",e,\"expected indentation indicator in the range 1-9 but found 0\",this.get_mark());this.forward(),r=this.peek(),l.call(\"+-\",r)>=0&&(i=\"+\"===r,this.forward())}if(r=this.peek(),l.call(n+\"\\0 \",r)<0)throw new t.ScannerError(\"while scanning a block scalar\",e,\"expected chomping or indentation indicators, but found \"+r,this.get_mark());return[i,o]},e.prototype.scan_block_scalar_ignored_line=function(e){for(var r,i;\" \"===this.peek();)this.forward();if(\"#\"===this.peek())for(;i=this.peek(),l.call(n+\"\\0\",i)<0;)this.forward();if(r=this.peek(),l.call(n+\"\\0\",r)<0)throw new t.ScannerError(\"while scanning a block scalar\",e,\"expected a comment or a line break but found \"+r,this.get_mark());return this.scan_line_break()},e.prototype.scan_block_scalar_indentation=function(){var e,t,r,i;for(e=[],r=0,t=this.get_mark();i=this.peek(),l.call(n+\" \",i)>=0;)\" \"!==this.peek()?(e.push(this.scan_line_break()),t=this.get_mark()):(this.forward(),this.column>r&&(r=this.column));return[e,r,t]},e.prototype.scan_block_scalar_breaks=function(e){var t,r,i;for(t=[],r=this.get_mark();this.column<e&&\" \"===this.peek();)this.forward();for(;i=this.peek(),l.call(n,i)>=0;)for(t.push(this.scan_line_break()),r=this.get_mark();this.column<e&&\" \"===this.peek();)this.forward();return[t,r]},e.prototype.scan_flow_scalar=function(e){var t,n,r,o;for(n='\"'===e,t=[],o=this.get_mark(),r=this.peek(),this.forward(),t=t.concat(this.scan_flow_scalar_non_spaces(n,o));this.peek()!==r;)t=t.concat(this.scan_flow_scalar_spaces(n,o)),t=t.concat(this.scan_flow_scalar_non_spaces(n,o));return this.forward(),new i.ScalarToken(t.join(\"\"),!1,o,this.get_mark(),e)},e.prototype.scan_flow_scalar_non_spaces=function(e,r){var i,o,s,u,h,d,m,v,g;for(o=[];;){for(d=0;m=this.peek(d),l.call(n+c+\"'\\\"\\\\\\0\",m)<0;)d++;if(0!==d&&(o.push(this.prefix(d)),this.forward(d)),i=this.peek(),e||\"'\"!==i||\"'\"!==this.peek(1))if(e&&\"'\"===i||!e&&l.call('\"\\\\',i)>=0)o.push(i),this.forward();else{if(!e||\"\\\\\"!==i)return o;if(this.forward(),(i=this.peek())in f)o.push(f[i]),this.forward();else if(i in p){for(d=p[i],this.forward(),h=u=0,v=d;0<=v?u<v:u>v;h=0<=v?++u:--u)if(g=this.peek(h),l.call(a+\"ABCDEFabcdef\",g)<0)throw new t.ScannerError(\"while scanning a double-quoted scalar\",r,\"expected escape sequence of \"+d+\" hexadecimal numbers, but found \"+this.peek(h),this.get_mark());s=parseInt(this.prefix(d),16),o.push(String.fromCharCode(s)),this.forward(d)}else{if(!(l.call(n,i)>=0))throw new t.ScannerError(\"while scanning a double-quoted scalar\",r,\"found unknown escape character \"+i,this.get_mark());this.scan_line_break(),o=o.concat(this.scan_flow_scalar_breaks(e,r))}}else o.push(\"'\"),this.forward(2)}},e.prototype.scan_flow_scalar_spaces=function(e,r){var i,o,a,s,u,p,f;for(a=[],s=0;p=this.peek(s),l.call(c,p)>=0;)s++;if(f=this.prefix(s),this.forward(s),\"\\0\"===(o=this.peek()))throw new t.ScannerError(\"while scanning a quoted scalar\",r,\"found unexpected end of stream\",this.get_mark());return l.call(n,o)>=0?(u=this.scan_line_break(),i=this.scan_flow_scalar_breaks(e,r),\"\\n\"!==u?a.push(u):0===i.length&&a.push(\" \"),a=a.concat(i)):a.push(f),a},e.prototype.scan_flow_scalar_breaks=function(e,r){var i,o,a,s,u;for(i=[];;){if(\"---\"===(o=this.prefix(3))||\"...\"===o&&(a=this.peek(3),l.call(n+c+\"\\0\",a)>=0))throw new t.ScannerError(\"while scanning a quoted scalar\",r,\"found unexpected document separator\",this.get_mark());for(;s=this.peek(),l.call(c,s)>=0;)this.forward();if(u=this.peek(),!(l.call(n,u)>=0))return i;i.push(this.scan_line_break())}},e.prototype.scan_plain=function(){var e,r,o,a,s,u,p,f,h;for(r=[],h=o=this.get_mark(),a=this.indent+1,f=[];;){if(s=0,\"#\"===this.peek())break;for(;;){if(e=this.peek(s),l.call(n+c+\"\\0\",e)>=0||0===this.flow_level&&\":\"===e&&(u=this.peek(s+1),l.call(n+c+\"\\0\",u)>=0)||0!==this.flow_level&&l.call(\",:?[]{}\",e)>=0)break;s++}if(0!==this.flow_level&&\":\"===e&&(p=this.peek(s+1),l.call(n+c+\"\\0,[]{}\",p)<0))throw this.forward(s),new t.ScannerError(\"while scanning a plain scalar\",h,\"found unexpected ':'\",this.get_mark(),\"Please check http://pyyaml.org/wiki/YAMLColonInFlowContext\");if(0===s)break;if(this.allow_simple_key=!1,r=r.concat(f),r.push(this.prefix(s)),this.forward(s),o=this.get_mark(),null==(f=this.scan_plain_spaces(a,h))||0===f.length||\"#\"===this.peek()||0===this.flow_level&&this.column<a)break}return new i.ScalarToken(r.join(\"\"),!0,h,o)},e.prototype.scan_plain_spaces=function(e,t){var r,i,o,a,s,u,p,f,h,d,m;for(o=[],a=0;p=this.peek(a),l.call(\" \",p)>=0;)a++;if(m=this.prefix(a),this.forward(a),i=this.peek(),l.call(n,i)>=0){if(s=this.scan_line_break(),this.allow_simple_key=!0,\"---\"===(u=this.prefix(3))||\"...\"===u&&(f=this.peek(3),l.call(n+c+\"\\0\",f)>=0))return;for(r=[];d=this.peek(),l.call(n+\" \",d)>=0;)if(\" \"===this.peek())this.forward();else if(r.push(this.scan_line_break()),\"---\"===(u=this.prefix(3))||\"...\"===u&&(h=this.peek(3),l.call(n+c+\"\\0\",h)>=0))return;\"\\n\"!==s?o.push(s):0===r.length&&o.push(\" \"),o=o.concat(r)}else m&&o.push(m);return o},e.prototype.scan_tag_handle=function(e,n){var r,i,o;if(\"!\"!==(r=this.peek()))throw new t.ScannerError(\"while scanning a \"+e,n,\"expected '!' but found \"+r,this.get_mark());if(i=1,\" \"!==(r=this.peek(i))){for(;\"0\"<=r&&r<=\"9\"||\"A\"<=r&&r<=\"Z\"||\"a\"<=r&&r<=\"z\"||l.call(\"-_\",r)>=0;)i++,r=this.peek(i);if(\"!\"!==r)throw this.forward(i),new t.ScannerError(\"while scanning a \"+e,n,\"expected '!' but found \"+r,this.get_mark());i++}return o=this.prefix(i),this.forward(i),o},e.prototype.scan_tag_uri=function(e,n){var r,i,o;for(i=[],o=0,r=this.peek(o);\"0\"<=r&&r<=\"9\"||\"A\"<=r&&r<=\"Z\"||\"a\"<=r&&r<=\"z\"||l.call(\"-;/?:@&=+$,_.!~*'()[]%\",r)>=0;)\"%\"===r?(i.push(this.prefix(o)),this.forward(o),o=0,i.push(this.scan_uri_escapes(e,n))):o++,r=this.peek(o);if(0!==o&&(i.push(this.prefix(o)),this.forward(o),o=0),0===i.length)throw new t.ScannerError(\"while parsing a \"+e,n,\"expected URI but found \"+r,this.get_mark());return i.join(\"\")},e.prototype.scan_uri_escapes=function(e,n){var r,i,o;for(r=[],this.get_mark();\"%\"===this.peek();){for(this.forward(),o=i=0;i<=2;o=++i)throw new t.ScannerError(\"while scanning a \"+e,n,\"expected URI escape sequence of 2 hexadecimal numbers but found \"+this.peek(o),this.get_mark());r.push(String.fromCharCode(parseInt(this.prefix(2),16))),this.forward(2)}return r.join(\"\")},e.prototype.scan_line_break=function(){var e;return e=this.peek(),l.call(\"\\r\\n\",e)>=0?(\"\\r\\n\"===this.prefix(2)?this.forward(2):this.forward(),\"\\n\"):l.call(\"\\u2028\\u2029\",e)>=0?(this.forward(),e):\"\"},e}()}).call(this)},function(e,t){},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}var i=n(37),o=r(i),a=n(47),s=r(a),u=n(48),l=r(u),c=n(205),p=r(c),f=n(576),h=r(f),d=n(36),m=r(d),v=n(574),g=r(v),y=n(275),_=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(y),b=n(9),x={PACKAGE_VERSION:\"3.13.0\",GIT_COMMIT:\"g2273c9df\",GIT_DIRTY:!0,HOSTNAME:\"banjo\",BUILD_TIME:\"Sat, 17 Mar 2018 07:12:12 GMT\"},w=x.GIT_DIRTY,k=x.GIT_COMMIT,E=x.PACKAGE_VERSION,S=x.HOSTNAME,C=x.BUILD_TIME;e.exports=function(e){m.default.versions=m.default.versions||{},m.default.versions.swaggerUi={version:E,gitRevision:k,gitDirty:w,buildTimestamp:C,machine:S};var t={dom_id:null,domNode:null,spec:{},url:\"\",urls:null,layout:\"BaseLayout\",docExpansion:\"list\",maxDisplayedTags:null,filter:null,validatorUrl:\"https://online.swagger.io/validator\",configs:{},custom:{},displayOperationId:!1,displayRequestDuration:!1,deepLinking:!1,requestInterceptor:function(e){return e},responseInterceptor:function(e){return e},showMutatedRequest:!0,defaultModelRendering:\"example\",defaultModelExpandDepth:1,defaultModelsExpandDepth:1,showExtensions:!1,supportedSubmitMethods:[\"get\",\"put\",\"post\",\"delete\",\"options\",\"head\",\"patch\",\"trace\"],presets:[g.default],plugins:[],initialState:{},fn:{},components:{}},n=(0,b.parseSearch)(),r=e.domNode;delete e.domNode;var i=(0,p.default)({},t,e,n),a={system:{configs:i.configs},plugins:i.presets,state:(0,p.default)({layout:{layout:i.layout,filter:i.filter},spec:{spec:\"\",url:i.url}},i.initialState)};if(i.initialState)for(var u in i.initialState)i.initialState.hasOwnProperty(u)&&void 0===i.initialState[u]&&delete a.state[u];var c=function(){return{fn:i.fn,components:i.components,state:i.state}},f=new h.default(a);f.register([i.plugins,c]);var d=f.getSystem(),v=function(e){if(\"object\"!==(void 0===i?\"undefined\":(0,l.default)(i)))return d;var t=d.specSelectors.getLocalConfig?d.specSelectors.getLocalConfig():{},a=(0,p.default)({},t,i,e||{},n);if(r&&(a.domNode=r),f.setConfigs(a),null!==e&&(!n.url&&\"object\"===(0,l.default)(a.spec)&&(0,s.default)(a.spec).length?(d.specActions.updateUrl(\"\"),d.specActions.updateLoadingStatus(\"success\"),d.specActions.updateSpec((0,o.default)(a.spec))):d.specActions.download&&a.url&&(d.specActions.updateUrl(a.url),d.specActions.download(a.url))),a.domNode)d.render(a.domNode,\"App\");else if(a.dom_id){var u=document.querySelector(a.dom_id);d.render(u,\"App\")}else null===a.dom_id||null===a.domNode||console.error(\"Skipped rendering: no `dom_id` or `domNode` was specified\");return d},y=n.config||i.configUrl;return!y||!d.specActions.getConfigByUrl||d.specActions.getConfigByUrl&&!d.specActions.getConfigByUrl(y,v)?v():d},e.exports.presets={apis:g.default},e.exports.plugins=_},function(e,t,n){\"use strict\";var r=n(36);void 0===function(e){return e&&e.__esModule?e:{default:e}}(r).default.Promise&&n(597),String.prototype.startsWith||n(596)},function(e,t,n){\"use strict\";function r(e){return u.indexOf(e[0])>-1}function i(e){var t,n,i=e.replace(a,\"\");return r(i)?i:(n=i.match(s))?(t=n[0],o.test(t)?\"about:blank\":i):\"about:blank\"}var o=/^(%20|\\s)*(javascript|data)/im,a=/[^\\x20-\\x7E]/gim,s=/^([^:]+):/gm,u=[\".\",\"/\"];e.exports={sanitizeUrl:i}},function(e,t,n){\"use strict\";(function(t){function n(e){for(var t=[],n=0;n<e.length;n++)-1===t.indexOf(e[n])&&t.push(e[n]);return t}function r(e){var t=new Set;return e.filter(function(e){return!t.has(e)&&(t.add(e),!0)})}function i(e){var t=[];return new Set(e).forEach(function(e){t.push(e)}),t}\"Set\"in t?\"function\"==typeof Set.prototype.forEach&&function(){var e=!1;return new Set([!0]).forEach(function(t){e=t}),!0===e}()?e.exports=i:e.exports=r:e.exports=n}).call(t,n(16))},function(e,t,n){var r,i;!function(n,o){r=[],void 0!==(i=function(){return n.Autolinker=o()}.apply(t,r))&&(e.exports=i)}(this,function(){/*!\n * Autolinker.js\n * 0.15.3\n *\n * Copyright(c) 2015 Gregory Jacobs <greg@greg-jacobs.com>\n * MIT Licensed. http://www.opensource.org/licenses/mit-license.php\n *\n * https://github.com/gregjacobs/Autolinker.js\n */\nvar e=function(t){e.Util.assign(this,t)};return e.prototype={constructor:e,urls:!0,email:!0,twitter:!0,newWindow:!0,stripPrefix:!0,truncate:void 0,className:\"\",htmlParser:void 0,matchParser:void 0,tagBuilder:void 0,link:function(e){for(var t=this.getHtmlParser(),n=t.parse(e),r=0,i=[],o=0,a=n.length;o<a;o++){var s=n[o],u=s.getType(),l=s.getText();if(\"element\"===u)\"a\"===s.getTagName()&&(s.isClosing()?r=Math.max(r-1,0):r++),i.push(l);else if(\"entity\"===u)i.push(l);else if(0===r){var c=this.linkifyStr(l);i.push(c)}else i.push(l)}return i.join(\"\")},linkifyStr:function(e){return this.getMatchParser().replace(e,this.createMatchReturnVal,this)},createMatchReturnVal:function(t){var n;return this.replaceFn&&(n=this.replaceFn.call(this,this,t)),\"string\"==typeof n?n:!1===n?t.getMatchedText():n instanceof e.HtmlTag?n.toString():this.getTagBuilder().build(t).toString()},getHtmlParser:function(){var t=this.htmlParser;return t||(t=this.htmlParser=new e.htmlParser.HtmlParser),t},getMatchParser:function(){var t=this.matchParser;return t||(t=this.matchParser=new e.matchParser.MatchParser({urls:this.urls,email:this.email,twitter:this.twitter,stripPrefix:this.stripPrefix})),t},getTagBuilder:function(){var t=this.tagBuilder;return t||(t=this.tagBuilder=new e.AnchorTagBuilder({newWindow:this.newWindow,truncate:this.truncate,className:this.className})),t}},e.link=function(t,n){return new e(n).link(t)},e.match={},e.htmlParser={},e.matchParser={},e.Util={abstractMethod:function(){throw\"abstract\"},assign:function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);return e},extend:function(t,n){var r=t.prototype,i=function(){};i.prototype=r;var o;o=n.hasOwnProperty(\"constructor\")?n.constructor:function(){r.constructor.apply(this,arguments)};var a=o.prototype=new i;return a.constructor=o,a.superclass=r,delete n.constructor,e.Util.assign(a,n),o},ellipsis:function(e,t,n){return e.length>t&&(n=null==n?\"..\":n,e=e.substring(0,t-n.length)+n),e},indexOf:function(e,t){if(Array.prototype.indexOf)return e.indexOf(t);for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},splitAndCapture:function(e,t){if(!t.global)throw new Error(\"`splitRegex` must have the 'g' flag set\");for(var n,r=[],i=0;n=t.exec(e);)r.push(e.substring(i,n.index)),r.push(n[0]),i=n.index+n[0].length;return r.push(e.substring(i)),r}},e.HtmlTag=e.Util.extend(Object,{whitespaceRegex:/\\s+/,constructor:function(t){e.Util.assign(this,t),this.innerHtml=this.innerHtml||this.innerHTML},setTagName:function(e){return this.tagName=e,this},getTagName:function(){return this.tagName||\"\"},setAttr:function(e,t){return this.getAttrs()[e]=t,this},getAttr:function(e){return this.getAttrs()[e]},setAttrs:function(t){var n=this.getAttrs();return e.Util.assign(n,t),this},getAttrs:function(){return this.attrs||(this.attrs={})},setClass:function(e){return this.setAttr(\"class\",e)},addClass:function(t){for(var n,r=this.getClass(),i=this.whitespaceRegex,o=e.Util.indexOf,a=r?r.split(i):[],s=t.split(i);n=s.shift();)-1===o(a,n)&&a.push(n);return this.getAttrs().class=a.join(\" \"),this},removeClass:function(t){for(var n,r=this.getClass(),i=this.whitespaceRegex,o=e.Util.indexOf,a=r?r.split(i):[],s=t.split(i);a.length&&(n=s.shift());){var u=o(a,n);-1!==u&&a.splice(u,1)}return this.getAttrs().class=a.join(\" \"),this},getClass:function(){return this.getAttrs().class||\"\"},hasClass:function(e){return-1!==(\" \"+this.getClass()+\" \").indexOf(\" \"+e+\" \")},setInnerHtml:function(e){return this.innerHtml=e,this},getInnerHtml:function(){return this.innerHtml||\"\"},toString:function(){var e=this.getTagName(),t=this.buildAttrsStr();return t=t?\" \"+t:\"\",[\"<\",e,t,\">\",this.getInnerHtml(),\"</\",e,\">\"].join(\"\")},buildAttrsStr:function(){if(!this.attrs)return\"\";var e=this.getAttrs(),t=[];for(var n in e)e.hasOwnProperty(n)&&t.push(n+'=\"'+e[n]+'\"');return t.join(\" \")}}),e.AnchorTagBuilder=e.Util.extend(Object,{constructor:function(t){e.Util.assign(this,t)},build:function(t){return new e.HtmlTag({tagName:\"a\",attrs:this.createAttrs(t.getType(),t.getAnchorHref()),innerHtml:this.processAnchorText(t.getAnchorText())})},createAttrs:function(e,t){var n={href:t},r=this.createCssClass(e);return r&&(n.class=r),this.newWindow&&(n.target=\"_blank\"),n},createCssClass:function(e){var t=this.className;return t?t+\" \"+t+\"-\"+e:\"\"},processAnchorText:function(e){return e=this.doTruncate(e)},doTruncate:function(t){return e.Util.ellipsis(t,this.truncate||Number.POSITIVE_INFINITY)}}),e.htmlParser.HtmlParser=e.Util.extend(Object,{htmlRegex:function(){var e=/[0-9a-zA-Z][0-9a-zA-Z:]*/,t=/[^\\s\\0\"'>\\/=\\x01-\\x1F\\x7F]+/,n=/(?:\"[^\"]*?\"|'[^']*?'|[^'\"=<>`\\s]+)/,r=t.source+\"(?:\\\\s*=\\\\s*\"+n.source+\")?\";return new RegExp([\"(?:\",\"<(!DOCTYPE)\",\"(?:\",\"\\\\s+\",\"(?:\",r,\"|\",n.source+\")\",\")*\",\">\",\")\",\"|\",\"(?:\",\"<(/)?\",\"(\"+e.source+\")\",\"(?:\",\"\\\\s+\",r,\")*\",\"\\\\s*/?\",\">\",\")\"].join(\"\"),\"gi\")}(),htmlCharacterEntitiesRegex:/(&nbsp;|&#160;|&lt;|&#60;|&gt;|&#62;|&quot;|&#34;|&#39;)/gi,parse:function(e){for(var t,n,r=this.htmlRegex,i=0,o=[];null!==(t=r.exec(e));){var a=t[0],s=t[1]||t[3],u=!!t[2],l=e.substring(i,t.index);l&&(n=this.parseTextAndEntityNodes(l),o.push.apply(o,n)),o.push(this.createElementNode(a,s,u)),i=t.index+a.length}if(i<e.length){var c=e.substring(i);c&&(n=this.parseTextAndEntityNodes(c),o.push.apply(o,n))}return o},parseTextAndEntityNodes:function(t){for(var n=[],r=e.Util.splitAndCapture(t,this.htmlCharacterEntitiesRegex),i=0,o=r.length;i<o;i+=2){var a=r[i],s=r[i+1];a&&n.push(this.createTextNode(a)),s&&n.push(this.createEntityNode(s))}return n},createElementNode:function(t,n,r){return new e.htmlParser.ElementNode({text:t,tagName:n.toLowerCase(),closing:r})},createEntityNode:function(t){return new e.htmlParser.EntityNode({text:t})},createTextNode:function(t){return new e.htmlParser.TextNode({text:t})}}),e.htmlParser.HtmlNode=e.Util.extend(Object,{text:\"\",constructor:function(t){e.Util.assign(this,t)},getType:e.Util.abstractMethod,getText:function(){return this.text}}),e.htmlParser.ElementNode=e.Util.extend(e.htmlParser.HtmlNode,{tagName:\"\",closing:!1,getType:function(){return\"element\"},getTagName:function(){return this.tagName},isClosing:function(){return this.closing}}),e.htmlParser.EntityNode=e.Util.extend(e.htmlParser.HtmlNode,{getType:function(){return\"entity\"}}),e.htmlParser.TextNode=e.Util.extend(e.htmlParser.HtmlNode,{getType:function(){return\"text\"}}),e.matchParser.MatchParser=e.Util.extend(Object,{urls:!0,email:!0,twitter:!0,stripPrefix:!0,matcherRegex:function(){var e=/(^|[^\\w])@(\\w{1,15})/,t=/(?:[\\-;:&=\\+\\$,\\w\\.]+@)/,n=/(?:[A-Za-z][-.+A-Za-z0-9]+:(?![A-Za-z][-.+A-Za-z0-9]+:\\/\\/)(?!\\d+\\/?)(?:\\/\\/)?)/,r=/(?:www\\.)/,i=/[A-Za-z0-9\\.\\-]*[A-Za-z0-9\\-]/,o=/\\.(?:international|construction|contractors|enterprises|photography|productions|foundation|immobilien|industries|management|properties|technology|christmas|community|directory|education|equipment|institute|marketing|solutions|vacations|bargains|boutique|builders|catering|cleaning|clothing|computer|democrat|diamonds|graphics|holdings|lighting|partners|plumbing|supplies|training|ventures|academy|careers|company|cruises|domains|exposed|flights|florist|gallery|guitars|holiday|kitchen|neustar|okinawa|recipes|rentals|reviews|shiksha|singles|support|systems|agency|berlin|camera|center|coffee|condos|dating|estate|events|expert|futbol|kaufen|luxury|maison|monash|museum|nagoya|photos|repair|report|social|supply|tattoo|tienda|travel|viajes|villas|vision|voting|voyage|actor|build|cards|cheap|codes|dance|email|glass|house|mango|ninja|parts|photo|shoes|solar|today|tokyo|tools|watch|works|aero|arpa|asia|best|bike|blue|buzz|camp|club|cool|coop|farm|fish|gift|guru|info|jobs|kiwi|kred|land|limo|link|menu|mobi|moda|name|pics|pink|post|qpon|rich|ruhr|sexy|tips|vote|voto|wang|wien|wiki|zone|bar|bid|biz|cab|cat|ceo|com|edu|gov|int|kim|mil|net|onl|org|pro|pub|red|tel|uno|wed|xxx|xyz|ac|ad|ae|af|ag|ai|al|am|an|ao|aq|ar|as|at|au|aw|ax|az|ba|bb|bd|be|bf|bg|bh|bi|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|cr|cu|cv|cw|cx|cy|cz|de|dj|dk|dm|do|dz|ec|ee|eg|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gg|gh|gi|gl|gm|gn|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|im|in|io|iq|ir|is|it|je|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|me|mg|mh|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|mv|mw|mx|my|mz|na|nc|ne|nf|ng|ni|nl|no|np|nr|nu|nz|om|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|ps|pt|pw|py|qa|re|ro|rs|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|st|su|sv|sx|sy|sz|tc|td|tf|tg|th|tj|tk|tl|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|za|zm|zw)\\b/,a=/[\\-A-Za-z0-9+&@#\\/%=~_()|'$*\\[\\]?!:,.;]*[\\-A-Za-z0-9+&@#\\/%=~_()|'$*\\[\\]]/;return new RegExp([\"(\",e.source,\")\",\"|\",\"(\",t.source,i.source,o.source,\")\",\"|\",\"(\",\"(?:\",\"(\",n.source,i.source,\")\",\"|\",\"(?:\",\"(.?//)?\",r.source,i.source,\")\",\"|\",\"(?:\",\"(.?//)?\",i.source,o.source,\")\",\")\",\"(?:\"+a.source+\")?\",\")\"].join(\"\"),\"gi\")}(),charBeforeProtocolRelMatchRegex:/^(.)?\\/\\//,constructor:function(t){e.Util.assign(this,t),this.matchValidator=new e.MatchValidator},replace:function(e,t,n){var r=this;return e.replace(this.matcherRegex,function(e,i,o,a,s,u,l,c,p){var f=r.processCandidateMatch(e,i,o,a,s,u,l,c,p);if(f){var h=t.call(n,f.match);return f.prefixStr+h+f.suffixStr}return e})},processCandidateMatch:function(t,n,r,i,o,a,s,u,l){var c,p=u||l,f=\"\",h=\"\";if(n&&!this.twitter||o&&!this.email||a&&!this.urls||!this.matchValidator.isValidMatch(a,s,p))return null;if(this.matchHasUnbalancedClosingParen(t)&&(t=t.substr(0,t.length-1),h=\")\"),o)c=new e.match.Email({matchedText:t,email:o});else if(n)r&&(f=r,t=t.slice(1)),c=new e.match.Twitter({matchedText:t,twitterHandle:i});else{if(p){var d=p.match(this.charBeforeProtocolRelMatchRegex)[1]||\"\";d&&(f=d,t=t.slice(1))}c=new e.match.Url({matchedText:t,url:t,protocolUrlMatch:!!s,protocolRelativeMatch:!!p,stripPrefix:this.stripPrefix})}return{prefixStr:f,suffixStr:h,match:c}},matchHasUnbalancedClosingParen:function(e){if(\")\"===e.charAt(e.length-1)){var t=e.match(/\\(/g),n=e.match(/\\)/g);if((t&&t.length||0)<(n&&n.length||0))return!0}return!1}}),e.MatchValidator=e.Util.extend(Object,{invalidProtocolRelMatchRegex:/^[\\w]\\/\\//,hasFullProtocolRegex:/^[A-Za-z][-.+A-Za-z0-9]+:\\/\\//,uriSchemeRegex:/^[A-Za-z][-.+A-Za-z0-9]+:/,hasWordCharAfterProtocolRegex:/:[^\\s]*?[A-Za-z]/,isValidMatch:function(e,t,n){return!(t&&!this.isValidUriScheme(t)||this.urlMatchDoesNotHaveProtocolOrDot(e,t)||this.urlMatchDoesNotHaveAtLeastOneWordChar(e,t)||this.isInvalidProtocolRelativeMatch(n))},isValidUriScheme:function(e){var t=e.match(this.uriSchemeRegex)[0].toLowerCase();return\"javascript:\"!==t&&\"vbscript:\"!==t},urlMatchDoesNotHaveProtocolOrDot:function(e,t){return!(!e||t&&this.hasFullProtocolRegex.test(t)||-1!==e.indexOf(\".\"))},urlMatchDoesNotHaveAtLeastOneWordChar:function(e,t){return!(!e||!t)&&!this.hasWordCharAfterProtocolRegex.test(e)},isInvalidProtocolRelativeMatch:function(e){return!!e&&this.invalidProtocolRelMatchRegex.test(e)}}),e.match.Match=e.Util.extend(Object,{constructor:function(t){e.Util.assign(this,t)},getType:e.Util.abstractMethod,getMatchedText:function(){return this.matchedText},getAnchorHref:e.Util.abstractMethod,getAnchorText:e.Util.abstractMethod}),e.match.Email=e.Util.extend(e.match.Match,{getType:function(){return\"email\"},getEmail:function(){return this.email},getAnchorHref:function(){return\"mailto:\"+this.email},getAnchorText:function(){return this.email}}),e.match.Twitter=e.Util.extend(e.match.Match,{getType:function(){return\"twitter\"},getTwitterHandle:function(){return this.twitterHandle},getAnchorHref:function(){return\"https://twitter.com/\"+this.twitterHandle},getAnchorText:function(){return\"@\"+this.twitterHandle}}),e.match.Url=e.Util.extend(e.match.Match,{urlPrefixRegex:/^(https?:\\/\\/)?(www\\.)?/i,protocolRelativeRegex:/^\\/\\//,protocolPrepended:!1,getType:function(){return\"url\"},getUrl:function(){var e=this.url;return this.protocolRelativeMatch||this.protocolUrlMatch||this.protocolPrepended||(e=this.url=\"http://\"+e,this.protocolPrepended=!0),e},getAnchorHref:function(){return this.getUrl().replace(/&amp;/g,\"&\")},getAnchorText:function(){var e=this.getUrl();return this.protocolRelativeMatch&&(e=this.stripProtocolRelativePrefix(e)),this.stripPrefix&&(e=this.stripUrlPrefix(e)),e=this.removeTrailingSlash(e)},stripUrlPrefix:function(e){return e.replace(this.urlPrefixRegex,\"\")},stripProtocolRelativePrefix:function(e){return e.replace(this.protocolRelativeRegex,\"\")},removeTrailingSlash:function(e){return\"/\"===e.charAt(e.length-1)&&(e=e.slice(0,-1)),e}}),e})},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(4),o=r(i),a=n(2),s=r(a),u=n(3),l=r(u),c=n(6),p=r(c),f=n(5),h=r(f),d=n(0),m=r(d),v=n(1),g=r(v),y=function(e){function t(){return(0,s.default)(this,t),(0,p.default)(this,(t.__proto__||(0,o.default)(t)).apply(this,arguments))}return(0,h.default)(t,e),(0,l.default)(t,[{key:\"getLayout\",value:function(){var e=this.props,t=e.getComponent,n=e.layoutSelectors,r=n.current(),i=t(r,!0);return i||function(){return m.default.createElement(\"h1\",null,' No layout defined for \"',r,'\" ')}}},{key:\"render\",value:function(){var e=this.getLayout();return m.default.createElement(e,null)}}]),t}(m.default.Component);t.default=y,y.propTypes={getComponent:g.default.func.isRequired,layoutSelectors:g.default.object.isRequired},y.defaultProps={}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(20),o=r(i),a=n(18),s=r(a),u=n(4),l=r(u),c=n(2),p=r(c),f=n(3),h=r(f),d=n(6),m=r(d),v=n(5),g=r(v),y=n(0),_=r(y),b=n(1),x=r(b),w=n(12),k=r(w),E={color:\"#999\",fontStyle:\"italic\"},S=function(e){function t(){return(0,p.default)(this,t),(0,m.default)(this,(t.__proto__||(0,l.default)(t)).apply(this,arguments))}return(0,g.default)(t,e),(0,h.default)(t,[{key:\"render\",value:function(){var e=this.props,t=e.getComponent,n=e.getConfigs,r=e.schema,i=e.depth,a=e.expandDepth,u=e.name,l=e.specPath,c=r.get(\"description\"),p=r.get(\"items\"),f=r.get(\"title\")||u,h=r.filter(function(e,t){return-1===[\"type\",\"items\",\"description\",\"$$ref\"].indexOf(t)}),d=t(\"Markdown\"),m=t(\"ModelCollapse\"),v=t(\"Model\"),g=t(\"Property\"),y=f&&_.default.createElement(\"span\",{className:\"model-title\"},_.default.createElement(\"span\",{className:\"model-title__text\"},f));return _.default.createElement(\"span\",{className:\"model\"},_.default.createElement(m,{title:y,expanded:i<=a,collapsedContent:\"[...]\"},\"[\",h.size?h.entrySeq().map(function(e){var t=(0,s.default)(e,2),n=t[0],r=t[1];return _.default.createElement(g,{key:n+\"-\"+r,propKey:n,propVal:r,propStyle:E})}):null,c?_.default.createElement(d,{source:c}):h.size?_.default.createElement(\"div\",{className:\"markdown\"}):null,_.default.createElement(\"span\",null,_.default.createElement(v,(0,o.default)({},this.props,{getConfigs:n,specPath:l.push(\"items\"),name:null,schema:p,required:!1,depth:i+1}))),\"]\"))}}]),t}(y.Component);S.propTypes={schema:x.default.object.isRequired,getComponent:x.default.func.isRequired,getConfigs:x.default.func.isRequired,specSelectors:x.default.object.isRequired,name:x.default.string,required:x.default.bool,expandDepth:x.default.number,specPath:k.default.list.isRequired,depth:x.default.number},t.default=S},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(27),o=r(i),a=n(4),s=r(a),u=n(2),l=r(u),c=n(3),p=r(c),f=n(6),h=r(f),d=n(5),m=r(d),v=n(0),g=r(v),y=n(1),_=r(y),b=function(e){function t(e,n){(0,l.default)(this,t);var r=(0,h.default)(this,(t.__proto__||(0,s.default)(t)).call(this,e,n));x.call(r);var i=r.props,o=i.name,a=i.schema,u=r.getValue();return r.state={name:o,schema:a,value:u},r}return(0,m.default)(t,e),(0,p.default)(t,[{key:\"getValue\",value:function(){var e=this.props,t=e.name,n=e.authorized;return n&&n.getIn([t,\"value\"])}},{key:\"render\",value:function(){var e=this.props,t=e.schema,n=e.getComponent,r=e.errSelectors,i=e.name,o=n(\"Input\"),a=n(\"Row\"),s=n(\"Col\"),u=n(\"authError\"),l=n(\"Markdown\"),c=n(\"JumpToPath\",!0),p=this.getValue(),f=r.allErrors().filter(function(e){return e.get(\"authId\")===i});return g.default.createElement(\"div\",null,g.default.createElement(\"h4\",null,g.default.createElement(\"code\",null,i||t.get(\"name\")),\"  (apiKey)\",g.default.createElement(c,{path:[\"securityDefinitions\",i]})),p&&g.default.createElement(\"h6\",null,\"Authorized\"),g.default.createElement(a,null,g.default.createElement(l,{source:t.get(\"description\")})),g.default.createElement(a,null,g.default.createElement(\"p\",null,\"Name: \",g.default.createElement(\"code\",null,t.get(\"name\")))),g.default.createElement(a,null,g.default.createElement(\"p\",null,\"In: \",g.default.createElement(\"code\",null,t.get(\"in\")))),g.default.createElement(a,null,g.default.createElement(\"label\",null,\"Value:\"),p?g.default.createElement(\"code\",null,\" ****** \"):g.default.createElement(s,null,g.default.createElement(o,{type:\"text\",onChange:this.onChange}))),f.valueSeq().map(function(e,t){return g.default.createElement(u,{error:e,key:t})}))}}]),t}(g.default.Component);b.propTypes={authorized:_.default.object,getComponent:_.default.func.isRequired,errSelectors:_.default.object.isRequired,schema:_.default.object.isRequired,name:_.default.string.isRequired,onChange:_.default.func};var x=function(){var e=this;this.onChange=function(t){var n=e.props.onChange,r=t.target.value,i=(0,o.default)({},e.state,{value:r});e.setState(i),n(i)}};t.default=b},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(4),o=r(i),a=n(2),s=r(a),u=n(3),l=r(u),c=n(6),p=r(c),f=n(5),h=r(f),d=n(0),m=r(d),v=n(1),g=r(v),y=n(12),_=r(y),b=function(e){function t(){return(0,s.default)(this,t),(0,p.default)(this,(t.__proto__||(0,o.default)(t)).apply(this,arguments))}return(0,h.default)(t,e),(0,l.default)(t,[{key:\"render\",value:function(){var e=this.props,t=e.schema,n=e.name,r=e.getComponent,i=e.onAuthChange,o=e.authorized,a=e.errSelectors,s=r(\"apiKeyAuth\"),u=r(\"basicAuth\"),l=void 0,c=t.get(\"type\");switch(c){case\"apiKey\":l=m.default.createElement(s,{key:n,schema:t,name:n,errSelectors:a,authorized:o,getComponent:r,onChange:i});break;case\"basic\":l=m.default.createElement(u,{key:n,schema:t,name:n,errSelectors:a,authorized:o,getComponent:r,onChange:i});break;default:l=m.default.createElement(\"div\",{key:n},\"Unknown security definition type \",c)}return m.default.createElement(\"div\",{key:n+\"-jump\"},l)}}]),t}(m.default.Component);b.propTypes={schema:_.default.orderedMap.isRequired,name:g.default.string.isRequired,onAuthChange:g.default.func.isRequired,authorized:_.default.orderedMap.isRequired},b.propTypes={errSelectors:g.default.object.isRequired,getComponent:g.default.func.isRequired,authSelectors:g.default.object.isRequired,specSelectors:g.default.object.isRequired,authActions:g.default.object.isRequired,definitions:_.default.iterable.isRequired},t.default=b},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(4),o=r(i),a=n(2),s=r(a),u=n(3),l=r(u),c=n(6),p=r(c),f=n(5),h=r(f),d=n(0),m=r(d),v=n(1),g=r(v),y=function(e){function t(){var e,n,r,i;(0,s.default)(this,t);for(var a=arguments.length,u=Array(a),l=0;l<a;l++)u[l]=arguments[l];return n=r=(0,p.default)(this,(e=t.__proto__||(0,o.default)(t)).call.apply(e,[this].concat(u))),r.close=function(){r.props.authActions.showDefinitions(!1)},i=n,(0,p.default)(r,i)}return(0,h.default)(t,e),(0,l.default)(t,[{key:\"render\",value:function(){var e=this.props,t=e.authSelectors,n=e.authActions,r=e.getComponent,i=e.errSelectors,o=e.specSelectors,a=e.fn.AST,s=t.shownDefinitions(),u=r(\"auths\");return m.default.createElement(\"div\",{className:\"dialog-ux\"},m.default.createElement(\"div\",{className:\"backdrop-ux\"}),m.default.createElement(\"div\",{className:\"modal-ux\"},m.default.createElement(\"div\",{className:\"modal-dialog-ux\"},m.default.createElement(\"div\",{className:\"modal-ux-inner\"},m.default.createElement(\"div\",{className:\"modal-ux-header\"},m.default.createElement(\"h3\",null,\"Available authorizations\"),m.default.createElement(\"button\",{type:\"button\",className:\"close-modal\",onClick:this.close},m.default.createElement(\"svg\",{width:\"20\",height:\"20\"},m.default.createElement(\"use\",{href:\"#close\",xlinkHref:\"#close\"})))),m.default.createElement(\"div\",{className:\"modal-ux-content\"},s.valueSeq().map(function(e,s){return m.default.createElement(u,{key:s,AST:a,definitions:e,getComponent:r,errSelectors:i,authSelectors:t,authActions:n,specSelectors:o})}))))))}}]),t}(m.default.Component);y.propTypes={fn:g.default.object.isRequired,getComponent:g.default.func.isRequired,authSelectors:g.default.object.isRequired,specSelectors:g.default.object.isRequired,errSelectors:g.default.object.isRequired,authActions:g.default.object.isRequired},t.default=y},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(4),o=r(i),a=n(2),s=r(a),u=n(3),l=r(u),c=n(6),p=r(c),f=n(5),h=r(f),d=n(0),m=r(d),v=n(1),g=r(v),y=function(e){function t(){var e,n,r,i;(0,s.default)(this,t);for(var a=arguments.length,u=Array(a),l=0;l<a;l++)u[l]=arguments[l];return n=r=(0,p.default)(this,(e=t.__proto__||(0,o.default)(t)).call.apply(e,[this].concat(u))),r.onClick=function(){var e=r.props,t=e.authActions,n=e.authSelectors,i=n.definitionsToAuthorize();t.showDefinitions(i)},i=n,(0,p.default)(r,i)}return(0,h.default)(t,e),(0,l.default)(t,[{key:\"render\",value:function(){var e=this.props,t=e.authSelectors,n=e.getComponent,r=n(\"authorizationPopup\",!0),i=!!t.shownDefinitions(),o=!!t.authorized().size;return m.default.createElement(\"div\",{className:\"auth-wrapper\"},m.default.createElement(\"button\",{className:o?\"btn authorize locked\":\"btn authorize unlocked\",onClick:this.onClick},m.default.createElement(\"span\",null,\"Authorize\"),m.default.createElement(\"svg\",{width:\"20\",height:\"20\"},m.default.createElement(\"use\",{href:o?\"#locked\":\"#unlocked\",xlinkHref:o?\"#locked\":\"#unlocked\"}))),i&&m.default.createElement(r,null))}}]),t}(m.default.Component);y.propTypes={className:g.default.string},y.propTypes={getComponent:g.default.func.isRequired,authSelectors:g.default.object.isRequired,errActions:g.default.object.isRequired,authActions:g.default.object.isRequired},t.default=y},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(4),o=r(i),a=n(2),s=r(a),u=n(3),l=r(u),c=n(6),p=r(c),f=n(5),h=r(f),d=n(0),m=r(d),v=n(1),g=r(v),y=function(e){function t(){var e,n,r,i;(0,s.default)(this,t);for(var a=arguments.length,u=Array(a),l=0;l<a;l++)u[l]=arguments[l];return n=r=(0,p.default)(this,(e=t.__proto__||(0,o.default)(t)).call.apply(e,[this].concat(u))),r.onClick=function(e){e.stopPropagation();var t=r.props.onClick;t&&t()},i=n,(0,p.default)(r,i)}return(0,h.default)(t,e),(0,l.default)(t,[{key:\"render\",value:function(){var e=this.props.isAuthorized;return m.default.createElement(\"button\",{className:e?\"authorization__btn locked\":\"authorization__btn unlocked\",\"aria-label\":e?\"authorization button locked\":\"authorization button unlocked\",onClick:this.onClick},m.default.createElement(\"svg\",{width:\"20\",height:\"20\"},m.default.createElement(\"use\",{href:e?\"#locked\":\"#unlocked\",xlinkHref:e?\"#locked\":\"#unlocked\"})))}}]),t}(m.default.Component);y.propTypes={isAuthorized:g.default.bool.isRequired,onClick:g.default.func},t.default=y},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(28),o=r(i),a=n(4),s=r(a),u=n(2),l=r(u),c=n(3),p=r(c),f=n(6),h=r(f),d=n(5),m=r(d),v=n(0),g=r(v),y=n(1),_=r(y),b=n(12),x=r(b),w=function(e){function t(e,n){(0,l.default)(this,t);var r=(0,h.default)(this,(t.__proto__||(0,s.default)(t)).call(this,e,n));return r.onAuthChange=function(e){var t=e.name;r.setState((0,o.default)({},t,e))},r.submitAuth=function(e){e.preventDefault(),r.props.authActions.authorize(r.state)},r.logoutClick=function(e){e.preventDefault();var t=r.props,n=t.authActions,i=t.definitions,o=i.map(function(e,t){return t}).toArray();n.logout(o)},r.close=function(e){e.preventDefault(),r.props.authActions.showDefinitions(!1)},r.state={},r}return(0,m.default)(t,e),(0,p.default)(t,[{key:\"render\",value:function(){var e=this,t=this.props,n=t.definitions,r=t.getComponent,i=t.authSelectors,o=t.errSelectors,a=r(\"AuthItem\"),s=r(\"oauth2\",!0),u=r(\"Button\"),l=i.authorized(),c=n.filter(function(e,t){return!!l.get(t)}),p=n.filter(function(e){return\"oauth2\"!==e.get(\"type\")}),f=n.filter(function(e){return\"oauth2\"===e.get(\"type\")});return g.default.createElement(\"div\",{className:\"auth-container\"},!!p.size&&g.default.createElement(\"form\",{onSubmit:this.submitAuth},p.map(function(t,n){return g.default.createElement(a,{key:n,schema:t,name:n,getComponent:r,onAuthChange:e.onAuthChange,authorized:l,errSelectors:o})}).toArray(),g.default.createElement(\"div\",{className:\"auth-btn-wrapper\"},p.size===c.size?g.default.createElement(u,{className:\"btn modal-btn auth\",onClick:this.logoutClick},\"Logout\"):g.default.createElement(u,{type:\"submit\",className:\"btn modal-btn auth authorize\"},\"Authorize\"),g.default.createElement(u,{className:\"btn modal-btn auth btn-done\",onClick:this.close},\"Close\"))),f&&f.size?g.default.createElement(\"div\",null,g.default.createElement(\"div\",{className:\"scope-def\"},g.default.createElement(\"p\",null,\"Scopes are used to grant an application different levels of access to data on behalf of the end user. Each API may declare one or more scopes.\"),g.default.createElement(\"p\",null,\"API requires the following scopes. Select which ones you want to grant to Swagger UI.\")),n.filter(function(e){return\"oauth2\"===e.get(\"type\")}).map(function(e,t){return g.default.createElement(\"div\",{key:t},g.default.createElement(s,{authorized:l,schema:e,name:t}))}).toArray()):null)}}]),t}(g.default.Component);w.propTypes={definitions:_.default.object.isRequired,getComponent:_.default.func.isRequired,authSelectors:_.default.object.isRequired,authActions:_.default.object.isRequired,specSelectors:_.default.object.isRequired},w.propTypes={errSelectors:_.default.object.isRequired,getComponent:_.default.func.isRequired,authSelectors:_.default.object.isRequired,specSelectors:_.default.object.isRequired,authActions:_.default.object.isRequired,definitions:x.default.iterable.isRequired},t.default=w},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(4),o=r(i),a=n(2),s=r(a),u=n(3),l=r(u),c=n(6),p=r(c),f=n(5),h=r(f),d=n(0),m=r(d),v=n(1),g=r(v),y=n(12),_=r(y),b=function(e){function t(e,n){(0,s.default)(this,t);var r=(0,p.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,n));x.call(r);var i=r.props,a=i.schema,u=i.name,l=r.getValue(),c=l.username;return r.state={name:u,schema:a,value:c?{username:c}:{}},r}return(0,h.default)(t,e),(0,l.default)(t,[{key:\"getValue\",value:function(){var e=this.props,t=e.authorized,n=e.name;return t&&t.getIn([n,\"value\"])||{}}},{key:\"render\",value:function(){var e=this.props,t=e.schema,n=e.getComponent,r=e.name,i=e.errSelectors,o=n(\"Input\"),a=n(\"Row\"),s=n(\"Col\"),u=n(\"authError\"),l=n(\"JumpToPath\",!0),c=n(\"Markdown\"),p=this.getValue().username,f=i.allErrors().filter(function(e){return e.get(\"authId\")===r});return m.default.createElement(\"div\",null,m.default.createElement(\"h4\",null,\"Basic authorization\",m.default.createElement(l,{path:[\"securityDefinitions\",r]})),p&&m.default.createElement(\"h6\",null,\"Authorized\"),m.default.createElement(a,null,m.default.createElement(c,{source:t.get(\"description\")})),m.default.createElement(a,null,m.default.createElement(\"label\",null,\"Username:\"),p?m.default.createElement(\"code\",null,\" \",p,\" \"):m.default.createElement(s,null,m.default.createElement(o,{type:\"text\",required:\"required\",name:\"username\",onChange:this.onChange}))),m.default.createElement(a,null,m.default.createElement(\"label\",null,\"Password:\"),p?m.default.createElement(\"code\",null,\" ****** \"):m.default.createElement(s,null,m.default.createElement(o,{required:\"required\",autoComplete:\"new-password\",name:\"password\",type:\"password\",onChange:this.onChange}))),f.valueSeq().map(function(e,t){return m.default.createElement(u,{error:e,key:t})}))}}]),t}(m.default.Component);b.propTypes={authorized:g.default.object,getComponent:g.default.func.isRequired,schema:g.default.object.isRequired,onChange:g.default.func.isRequired},b.propTypes={name:g.default.string.isRequired,errSelectors:g.default.object.isRequired,getComponent:g.default.func.isRequired,onChange:g.default.func,schema:_.default.map,authorized:_.default.map};var x=function(){var e=this;this.onChange=function(t){var n=e.props.onChange,r=t.target,i=r.value,o=r.name,a=e.state.value;a[o]=i,e.setState({value:a}),n(e.state)}};t.default=b},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(4),o=r(i),a=n(2),s=r(a),u=n(3),l=r(u),c=n(6),p=r(c),f=n(5),h=r(f),d=n(0),m=r(d),v=n(1),g=r(v),y=function(e){function t(){return(0,s.default)(this,t),(0,p.default)(this,(t.__proto__||(0,o.default)(t)).apply(this,arguments))}return(0,h.default)(t,e),(0,l.default)(t,[{key:\"render\",value:function(){var e=this.props.error,t=e.get(\"level\"),n=e.get(\"message\"),r=e.get(\"source\");return m.default.createElement(\"div\",{className:\"errors\",style:{backgroundColor:\"#ffeeee\",color:\"red\",margin:\"1em\"}},m.default.createElement(\"b\",{style:{textTransform:\"capitalize\",marginRight:\"1em\"}},r,\" \",t),m.default.createElement(\"span\",null,n))}}]),t}(m.default.Component);y.propTypes={error:g.default.object.isRequired},t.default=y},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(28),o=r(i),a=n(4),s=r(a),u=n(2),l=r(u),c=n(3),p=r(c),f=n(6),h=r(f),d=n(5),m=r(d),v=n(0),g=r(v),y=n(1),_=r(y),b=n(573),x=r(b),w=function(e){function t(e,n){(0,l.default)(this,t);var r=(0,h.default)(this,(t.__proto__||(0,s.default)(t)).call(this,e,n));k.call(r);var i=r.props,o=i.name,a=i.schema,u=i.authorized,c=i.authSelectors,p=u&&u.get(o),f=c.getConfigs()||{},d=p&&p.get(\"username\")||\"\",m=p&&p.get(\"clientId\")||f.clientId||\"\",v=p&&p.get(\"clientSecret\")||f.clientSecret||\"\",g=p&&p.get(\"passwordType\")||\"request-body\";return r.state={appName:f.appName,name:o,schema:a,scopes:[],clientId:m,clientSecret:v,username:d,password:\"\",passwordType:g},r}return(0,m.default)(t,e),(0,p.default)(t,[{key:\"render\",value:function(){var e=this,t=this.props,n=t.schema,r=t.getComponent,i=t.authSelectors,o=t.errSelectors,a=t.name,s=t.specSelectors,u=r(\"Input\"),l=r(\"Row\"),c=r(\"Col\"),p=r(\"Button\"),f=r(\"authError\"),h=r(\"JumpToPath\",!0),d=r(\"Markdown\"),m=s.isOAS3,v=m()?\"authorizationCode\":\"accessCode\",y=m()?\"clientCredentials\":\"application\",_=n.get(\"flow\"),b=n.get(\"allowedScopes\")||n.get(\"scopes\"),x=i.authorized().get(a),w=!!x,k=o.allErrors().filter(function(e){return e.get(\"authId\")===a}),E=!k.filter(function(e){return\"validation\"===e.get(\"source\")}).size,S=n.get(\"description\");return g.default.createElement(\"div\",null,g.default.createElement(\"h4\",null,a,\" (OAuth2, \",n.get(\"flow\"),\") \",g.default.createElement(h,{path:[\"securityDefinitions\",a]})),this.state.appName?g.default.createElement(\"h5\",null,\"Application: \",this.state.appName,\" \"):null,S&&g.default.createElement(d,{source:n.get(\"description\")}),w&&g.default.createElement(\"h6\",null,\"Authorized\"),(\"implicit\"===_||_===v)&&g.default.createElement(\"p\",null,\"Authorization URL: \",g.default.createElement(\"code\",null,n.get(\"authorizationUrl\"))),(\"password\"===_||_===v||_===y)&&g.default.createElement(\"p\",null,\"Token URL:\",g.default.createElement(\"code\",null,\" \",n.get(\"tokenUrl\"))),g.default.createElement(\"p\",{className:\"flow\"},\"Flow: \",g.default.createElement(\"code\",null,n.get(\"flow\"))),\"password\"!==_?null:g.default.createElement(l,null,g.default.createElement(l,null,g.default.createElement(\"label\",{htmlFor:\"oauth_username\"},\"username:\"),w?g.default.createElement(\"code\",null,\" \",this.state.username,\" \"):g.default.createElement(c,{tablet:10,desktop:10},g.default.createElement(\"input\",{id:\"oauth_username\",type:\"text\",\"data-name\":\"username\",onChange:this.onInputChange}))),g.default.createElement(l,null,g.default.createElement(\"label\",{htmlFor:\"oauth_password\"},\"password:\"),w?g.default.createElement(\"code\",null,\" ****** \"):g.default.createElement(c,{tablet:10,desktop:10},g.default.createElement(\"input\",{id:\"oauth_password\",type:\"password\",\"data-name\":\"password\",onChange:this.onInputChange}))),g.default.createElement(l,null,g.default.createElement(\"label\",{htmlFor:\"password_type\"},\"type:\"),w?g.default.createElement(\"code\",null,\" \",this.state.passwordType,\" \"):g.default.createElement(c,{tablet:10,desktop:10},g.default.createElement(\"select\",{id:\"password_type\",\"data-name\":\"passwordType\",onChange:this.onInputChange},g.default.createElement(\"option\",{value:\"request-body\"},\"Request body\"),g.default.createElement(\"option\",{value:\"basic\"},\"Basic auth\"),g.default.createElement(\"option\",{value:\"query\"},\"Query parameters\"))))),(_===y||\"implicit\"===_||_===v||\"password\"===_&&\"basic\"!==this.state.passwordType)&&(!w||w&&this.state.clientId)&&g.default.createElement(l,null,g.default.createElement(\"label\",{htmlFor:\"client_id\"},\"client_id:\"),w?g.default.createElement(\"code\",null,\" ****** \"):g.default.createElement(c,{tablet:10,desktop:10},g.default.createElement(\"input\",{id:\"client_id\",type:\"text\",required:\"password\"===_,value:this.state.clientId,\"data-name\":\"clientId\",onChange:this.onInputChange}))),(_===y||_===v||\"password\"===_&&\"basic\"!==this.state.passwordType)&&g.default.createElement(l,null,g.default.createElement(\"label\",{htmlFor:\"client_secret\"},\"client_secret:\"),w?g.default.createElement(\"code\",null,\" ****** \"):g.default.createElement(c,{tablet:10,desktop:10},g.default.createElement(\"input\",{id:\"client_secret\",value:this.state.clientSecret,type:\"text\",\"data-name\":\"clientSecret\",onChange:this.onInputChange}))),!w&&b&&b.size?g.default.createElement(\"div\",{className:\"scopes\"},g.default.createElement(\"h2\",null,\"Scopes:\"),b.map(function(t,n){return g.default.createElement(l,{key:n},g.default.createElement(\"div\",{className:\"checkbox\"},g.default.createElement(u,{\"data-value\":n,id:n+\"-\"+_+\"-checkbox-\"+e.state.name,disabled:w,type:\"checkbox\",onChange:e.onScopeChange}),g.default.createElement(\"label\",{htmlFor:n+\"-\"+_+\"-checkbox-\"+e.state.name},g.default.createElement(\"span\",{className:\"item\"}),g.default.createElement(\"div\",{className:\"text\"},g.default.createElement(\"p\",{className:\"name\"},n),g.default.createElement(\"p\",{className:\"description\"},t)))))}).toArray()):null,k.valueSeq().map(function(e,t){return g.default.createElement(f,{error:e,key:t})}),g.default.createElement(\"div\",{className:\"auth-btn-wrapper\"},E&&(w?g.default.createElement(p,{className:\"btn modal-btn auth authorize\",onClick:this.logout},\"Logout\"):g.default.createElement(p,{className:\"btn modal-btn auth authorize\",onClick:this.authorize},\"Authorize\")),g.default.createElement(p,{className:\"btn modal-btn auth btn-done\",onClick:this.close},\"Close\")))}}]),t}(g.default.Component);w.propTypes={name:_.default.string,authorized:_.default.object,getComponent:_.default.func.isRequired,schema:_.default.object.isRequired,authSelectors:_.default.object.isRequired,authActions:_.default.object.isRequired,errSelectors:_.default.object.isRequired,specSelectors:_.default.object.isRequired,errActions:_.default.object.isRequired,getConfigs:_.default.any};var k=function(){var e=this;this.close=function(t){t.preventDefault(),e.props.authActions.showDefinitions(!1)},this.authorize=function(){var t=e.props,n=t.authActions,r=t.errActions,i=t.getConfigs,o=t.authSelectors,a=i(),s=o.getConfigs();r.clear({authId:name,type:\"auth\",source:\"auth\"}),(0,x.default)({auth:e.state,authActions:n,errActions:r,configs:a,authConfigs:s})},this.onScopeChange=function(t){var n=t.target,r=n.checked,i=n.dataset.value;if(r&&-1===e.state.scopes.indexOf(i)){var o=e.state.scopes.concat([i]);e.setState({scopes:o})}else!r&&e.state.scopes.indexOf(i)>-1&&e.setState({scopes:e.state.scopes.filter(function(e){return e!==i})})},this.onInputChange=function(t){var n=t.target,r=n.dataset.name,i=n.value,a=(0,o.default)({},r,i);e.setState(a)},this.logout=function(t){t.preventDefault();var n=e.props,r=n.authActions,i=n.errActions,o=n.name;i.clear({authId:o,type:\"auth\",source:\"auth\"}),r.logout([o])}};t.default=w},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(4),o=r(i),a=n(2),s=r(a),u=n(3),l=r(u),c=n(6),p=r(c),f=n(5),h=r(f),d=n(0),m=r(d),v=n(1),g=r(v),y=function(e){function t(){var e,n,r,i;(0,s.default)(this,t);for(var a=arguments.length,u=Array(a),l=0;l<a;l++)u[l]=arguments[l];return n=r=(0,p.default)(this,(e=t.__proto__||(0,o.default)(t)).call.apply(e,[this].concat(u))),r.onClick=function(){var e=r.props,t=e.specActions,n=e.path,i=e.method;t.clearResponse(n,i),t.clearRequest(n,i)},i=n,(0,p.default)(r,i)}return(0,h.default)(t,e),(0,l.default)(t,[{key:\"render\",value:function(){return m.default.createElement(\"button\",{className:\"btn btn-clear opblock-control__btn\",onClick:this.onClick},\"Clear\")}}]),t}(d.Component);y.propTypes={specActions:g.default.object.isRequired,path:g.default.string.isRequired,method:g.default.string.isRequired},t.default=y},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(4),o=r(i),a=n(2),s=r(a),u=n(3),l=r(u),c=n(6),p=r(c),f=n(5),h=r(f),d=n(0),m=r(d),v=n(1),g=r(v),y=n(12),_=r(y),b=n(7),x=function(){},w=function(e){function t(){var e,n,r,i;(0,s.default)(this,t);for(var a=arguments.length,u=Array(a),l=0;l<a;l++)u[l]=arguments[l];return n=r=(0,p.default)(this,(e=t.__proto__||(0,o.default)(t)).call.apply(e,[this].concat(u))),r.onChangeWrapper=function(e){return r.props.onChange(e.target.value)},i=n,(0,p.default)(r,i)}return(0,h.default)(t,e),(0,l.default)(t,[{key:\"componentDidMount\",value:function(){this.props.contentTypes&&this.props.onChange(this.props.contentTypes.first())}},{key:\"componentWillReceiveProps\",value:function(e){e.contentTypes&&e.contentTypes.size&&(e.contentTypes.includes(e.value)||e.onChange(e.contentTypes.first()))}},{key:\"render\",value:function(){var e=this.props,t=e.contentTypes,n=e.className,r=e.value;return t&&t.size?m.default.createElement(\"div\",{className:\"content-type-wrapper \"+(n||\"\")},m.default.createElement(\"select\",{className:\"content-type\",value:r||\"\",onChange:this.onChangeWrapper},t.map(function(e){return m.default.createElement(\"option\",{key:e,value:e},e)}).toArray())):null}}]),t}(m.default.Component);w.propTypes={contentTypes:g.default.oneOfType([_.default.list,_.default.set,_.default.seq]),value:g.default.string,onChange:g.default.func,className:g.default.string},w.defaultProps={onChange:x,value:null,contentTypes:(0,b.fromJS)([\"application/json\"])},t.default=w},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(4),o=r(i),a=n(2),s=r(a),u=n(3),l=r(u),c=n(6),p=r(c),f=n(5),h=r(f),d=n(0),m=r(d),v=n(1),g=r(v),y=n(571),_=r(y),b=function(e){function t(){return(0,s.default)(this,t),(0,p.default)(this,(t.__proto__||(0,o.default)(t)).apply(this,arguments))}return(0,h.default)(t,e),(0,l.default)(t,[{key:\"handleFocus\",value:function(e){e.target.select(),document.execCommand(\"copy\")}},{key:\"render\",value:function(){var e=this.props.request,t=(0,_.default)(e);return m.default.createElement(\"div\",null,m.default.createElement(\"h4\",null,\"Curl\"),m.default.createElement(\"div\",{className:\"copy-paste\"},m.default.createElement(\"textarea\",{onFocus:this.handleFocus,readOnly:\"true\",className:\"curl\",style:{whiteSpace:\"normal\"},value:t})))}}]),t}(m.default.Component);b.propTypes={request:g.default.object.isRequired},t.default=b},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.DeepLink=void 0;var i=n(0),o=r(i),a=n(1),s=r(a),u=t.DeepLink=function(e){var t=e.enabled,n=e.path,r=e.text;return o.default.createElement(\"a\",{className:\"nostyle\",onClick:t?function(e){return e.preventDefault()}:null,href:t?\"#/\"+n:null},o.default.createElement(\"span\",null,r))};u.propTypes={enabled:s.default.bool,isShown:s.default.bool,path:s.default.string,text:s.default.string},t.default=u},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(0),o=r(i),a=n(12),s=r(a),u=function(e){var t=e.value,n=e.getComponent,r=n(\"ModelCollapse\"),i=o.default.createElement(\"span\",null,\"Array [ \",t.count(),\" ]\");return o.default.createElement(\"span\",{className:\"prop-enum\"},\"Enum:\",o.default.createElement(\"br\",null),o.default.createElement(r,{collapsedContent:i},\"[ \",t.join(\", \"),\" ]\"))};u.propTypes={value:s.default.iterable,getComponent:s.default.func},t.default=u},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function i(e){return(e||\"\").split(\" \").map(function(e){return e[0].toUpperCase()+e.slice(1)}).join(\" \")}Object.defineProperty(t,\"__esModule\",{value:!0});var o=n(4),a=r(o),s=n(2),u=r(s),l=n(3),c=r(l),p=n(6),f=r(p),h=n(5),d=r(h),m=n(0),v=r(m),g=n(1),y=r(g),_=n(7),b=n(461),x=function(e){function t(){return(0,u.default)(this,t),(0,f.default)(this,(t.__proto__||(0,a.default)(t)).apply(this,arguments))}return(0,d.default)(t,e),(0,c.default)(t,[{key:\"render\",value:function(){var e=this.props,t=e.editorActions,n=e.errSelectors,r=e.layoutSelectors,i=e.layoutActions;if(t&&t.jumpToLine)var o=t.jumpToLine;var a=n.allErrors(),s=a.filter(function(e){return\"thrown\"===e.get(\"type\")||\"error\"===e.get(\"level\")});if(!s||s.count()<1)return null;var u=r.isShown([\"errorPane\"],!0),l=function(){return i.show([\"errorPane\"],!u)},c=s.sortBy(function(e){return e.get(\"line\")});return v.default.createElement(\"pre\",{className:\"errors-wrapper\"},v.default.createElement(\"hgroup\",{className:\"error\"},v.default.createElement(\"h4\",{className:\"errors__title\"},\"Errors\"),v.default.createElement(\"button\",{className:\"btn errors__clear-btn\",onClick:l},u?\"Hide\":\"Show\")),v.default.createElement(b.Collapse,{isOpened:u,animated:!0},v.default.createElement(\"div\",{className:\"errors\"},c.map(function(e,t){var n=e.get(\"type\");return\"thrown\"===n||\"auth\"===n?v.default.createElement(w,{key:t,error:e.get(\"error\")||e,jumpToLine:o}):\"spec\"===n?v.default.createElement(k,{key:t,error:e,jumpToLine:o}):void 0}))))}}]),t}(v.default.Component);x.propTypes={editorActions:y.default.object,errSelectors:y.default.object.isRequired,layoutSelectors:y.default.object.isRequired,layoutActions:y.default.object.isRequired},t.default=x;var w=function(e){var t=e.error,n=e.jumpToLine;if(!t)return null;var r=t.get(\"line\");return v.default.createElement(\"div\",{className:\"error-wrapper\"},t?v.default.createElement(\"div\",null,v.default.createElement(\"h4\",null,t.get(\"source\")&&t.get(\"level\")?i(t.get(\"source\"))+\" \"+t.get(\"level\"):\"\",t.get(\"path\")?v.default.createElement(\"small\",null,\" at \",t.get(\"path\")):null),v.default.createElement(\"span\",{style:{whiteSpace:\"pre-line\",maxWidth:\"100%\"}},t.get(\"message\")),v.default.createElement(\"div\",{style:{\"text-decoration\":\"underline\",cursor:\"pointer\"}},r&&n?v.default.createElement(\"a\",{onClick:n.bind(null,r)},\"Jump to line \",r):null)):null)},k=function(e){var t=e.error,n=e.jumpToLine,r=null;return t.get(\"path\")?r=_.List.isList(t.get(\"path\"))?v.default.createElement(\"small\",null,\"at \",t.get(\"path\").join(\".\")):v.default.createElement(\"small\",null,\"at \",t.get(\"path\")):t.get(\"line\")&&!n&&(r=v.default.createElement(\"small\",null,\"on line \",t.get(\"line\"))),v.default.createElement(\"div\",{className:\"error-wrapper\"},t?v.default.createElement(\"div\",null,v.default.createElement(\"h4\",null,i(t.get(\"source\"))+\" \"+t.get(\"level\"),\" \",r),v.default.createElement(\"span\",{style:{whiteSpace:\"pre-line\"}},t.get(\"message\")),v.default.createElement(\"div\",{style:{\"text-decoration\":\"underline\",cursor:\"pointer\"}},n?v.default.createElement(\"a\",{onClick:n.bind(null,t.get(\"line\"))},\"Jump to line \",t.get(\"line\")):null)):null)};w.propTypes={error:y.default.object.isRequired,jumpToLine:y.default.func},w.defaultProps={jumpToLine:null},k.propTypes={error:y.default.object.isRequired,jumpToLine:y.default.func}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(4),o=r(i),a=n(2),s=r(a),u=n(3),l=r(u),c=n(6),p=r(c),f=n(5),h=r(f),d=n(0),m=r(d),v=n(1),g=r(v),y=function(e){function t(){var e,n,r,i;(0,s.default)(this,t);for(var a=arguments.length,u=Array(a),l=0;l<a;l++)u[l]=arguments[l];return n=r=(0,p.default)(this,(e=t.__proto__||(0,o.default)(t)).call.apply(e,[this].concat(u))),r.onClick=function(){var e=r.props,t=e.specSelectors,n=e.specActions,i=e.operation,o=e.path,a=e.method;n.validateParams([o,a]),t.validateBeforeExecute([o,a])&&(r.props.onExecute&&r.props.onExecute(),n.execute({operation:i,path:o,method:a}))},r.onChangeProducesWrapper=function(e){return r.props.specActions.changeProducesValue([r.props.path,r.props.method],e)},i=n,(0,p.default)(r,i)}return(0,h.default)(t,e),(0,l.default)(t,[{key:\"render\",value:function(){return m.default.createElement(\"button\",{className:\"btn execute opblock-control__btn\",onClick:this.onClick},\"Execute\")}}]),t}(d.Component);y.propTypes={specSelectors:g.default.object.isRequired,specActions:g.default.object.isRequired,operation:g.default.object.isRequired,path:g.default.string.isRequired,method:g.default.string.isRequired,onExecute:g.default.func},t.default=y},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(4),o=r(i),a=n(2),s=r(a),u=n(3),l=r(u),c=n(6),p=r(c),f=n(5),h=r(f),d=n(0),m=r(d),v=function(e){function t(){return(0,s.default)(this,t),(0,p.default)(this,(t.__proto__||(0,o.default)(t)).apply(this,arguments))}return(0,h.default)(t,e),(0,l.default)(t,[{key:\"render\",value:function(){return m.default.createElement(\"div\",{className:\"footer\"})}}]),t}(m.default.Component);t.default=v},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(18),o=r(i),a=n(4),s=r(a),u=n(2),l=r(u),c=n(3),p=r(c),f=n(6),h=r(f),d=n(5),m=r(d),v=n(0),g=r(v),y=n(1),_=r(y),b=n(7),x=r(b),w={color:\"#999\",fontStyle:\"italic\"},k=function(e){function t(){return(0,l.default)(this,t),(0,h.default)(this,(t.__proto__||(0,s.default)(t)).apply(this,arguments))}return(0,m.default)(t,e),(0,p.default)(t,[{key:\"render\",value:function(){var e=this.props,t=e.headers,n=e.getComponent,r=n(\"Property\");return t&&t.size?g.default.createElement(\"div\",{className:\"headers-wrapper\"},g.default.createElement(\"h4\",{className:\"headers__title\"},\"Headers:\"),g.default.createElement(\"table\",{className:\"headers\"},g.default.createElement(\"thead\",null,g.default.createElement(\"tr\",{className:\"header-row\"},g.default.createElement(\"th\",{className:\"header-col\"},\"Name\"),g.default.createElement(\"th\",{className:\"header-col\"},\"Description\"),g.default.createElement(\"th\",{className:\"header-col\"},\"Type\"))),g.default.createElement(\"tbody\",null,t.entrySeq().map(function(e){var t=(0,o.default)(e,2),n=t[0],i=t[1];if(!x.default.Map.isMap(i))return null;var a=i.getIn([\"schema\"])?i.getIn([\"schema\",\"type\"]):i.getIn([\"type\"]),s=i.getIn([\"schema\",\"example\"]);return g.default.createElement(\"tr\",{key:n},g.default.createElement(\"td\",{className:\"header-col\"},n),g.default.createElement(\"td\",{className:\"header-col\"},i.get(\"description\")),g.default.createElement(\"td\",{className:\"header-col\"},a,\" \",s?g.default.createElement(r,{propKey:\"Example\",propVal:s,propStyle:w}):null))}).toArray()))):null}}]),t}(g.default.Component);k.propTypes={headers:_.default.object.isRequired,getComponent:_.default.func.isRequired},t.default=k},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(4),o=r(i),a=n(2),s=r(a),u=n(3),l=r(u),c=n(6),p=r(c),f=n(5),h=r(f),d=n(0),m=r(d),v=n(1),g=r(v),y=n(9),_=function(e){function t(){var e,n,r,i;(0,s.default)(this,t);for(var a=arguments.length,u=Array(a),l=0;l<a;l++)u[l]=arguments[l];return n=r=(0,p.default)(this,(e=t.__proto__||(0,o.default)(t)).call.apply(e,[this].concat(u))),r.initializeComponent=function(e){r.el=e},i=n,(0,p.default)(r,i)}return(0,h.default)(t,e),(0,l.default)(t,[{key:\"componentDidMount\",value:function(){(0,y.highlight)(this.el)}},{key:\"componentDidUpdate\",value:function(){(0,y.highlight)(this.el)}},{key:\"render\",value:function(){var e=this.props,t=e.value,n=e.className;return n=n||\"\",m.default.createElement(\"pre\",{ref:this.initializeComponent,className:n+\" microlight\"},t)}}]),t}(d.Component);_.propTypes={value:g.default.string.isRequired,className:g.default.string},t.default=_},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.InfoUrl=t.InfoBasePath=void 0;var i=n(4),o=r(i),a=n(2),s=r(a),u=n(3),l=r(u),c=n(6),p=r(c),f=n(5),h=r(f),d=n(0),m=r(d),v=n(1),g=r(v),y=n(7),_=n(12),b=r(_),x=n(9);(t.InfoBasePath=function(e){function t(){return(0,s.default)(this,t),(0,p.default)(this,(t.__proto__||(0,o.default)(t)).apply(this,arguments))}return(0,h.default)(t,e),(0,l.default)(t,[{key:\"render\",value:function(){var e=this.props,t=e.host,n=e.basePath;return m.default.createElement(\"pre\",{className:\"base-url\"},\"[ Base URL: \",t,n,\" ]\")}}]),t}(m.default.Component)).propTypes={host:g.default.string,basePath:g.default.string};var w=function(e){function t(){return(0,s.default)(this,t),(0,p.default)(this,(t.__proto__||(0,o.default)(t)).apply(this,arguments))}return(0,h.default)(t,e),(0,l.default)(t,[{key:\"render\",value:function(){var e=this.props.data,t=e.get(\"name\")||\"the developer\",n=e.get(\"url\"),r=e.get(\"email\");return m.default.createElement(\"div\",null,n&&m.default.createElement(\"div\",null,m.default.createElement(\"a\",{href:(0,x.sanitizeUrl)(n),target:\"_blank\"},t,\" - Website\")),r&&m.default.createElement(\"a\",{href:(0,x.sanitizeUrl)(\"mailto:\"+r)},n?\"Send email to \"+t:\"Contact \"+t))}}]),t}(m.default.Component);w.propTypes={data:g.default.object};var k=function(e){function t(){return(0,s.default)(this,t),(0,p.default)(this,(t.__proto__||(0,o.default)(t)).apply(this,arguments))}return(0,h.default)(t,e),(0,l.default)(t,[{key:\"render\",value:function(){var e=this.props.license,t=e.get(\"name\")||\"License\",n=e.get(\"url\");return m.default.createElement(\"div\",null,n?m.default.createElement(\"a\",{target:\"_blank\",href:(0,x.sanitizeUrl)(n)},t):m.default.createElement(\"span\",null,t))}}]),t}(m.default.Component);k.propTypes={license:g.default.object},(t.InfoUrl=function(e){function t(){return(0,s.default)(this,t),(0,p.default)(this,(t.__proto__||(0,o.default)(t)).apply(this,arguments))}return(0,h.default)(t,e),(0,l.default)(t,[{key:\"render\",value:function(){var e=this.props.url;return m.default.createElement(\"a\",{target:\"_blank\",href:(0,x.sanitizeUrl)(e)},m.default.createElement(\"span\",{className:\"url\"},\" \",e,\" \"))}}]),t}(m.default.PureComponent)).propTypes={url:g.default.string.isRequired};var E=function(e){function t(){return(0,s.default)(this,t),(0,p.default)(this,(t.__proto__||(0,o.default)(t)).apply(this,arguments))}return(0,h.default)(t,e),(0,l.default)(t,[{key:\"render\",value:function(){var e=this.props,t=e.info,n=e.url,r=e.host,i=e.basePath,o=e.getComponent,a=e.externalDocs,s=t.get(\"version\"),u=t.get(\"description\"),l=t.get(\"title\"),c=t.get(\"termsOfService\"),p=t.get(\"contact\"),f=t.get(\"license\"),h=(a||(0,y.fromJS)({})).toJS(),d=h.url,v=h.description,g=o(\"Markdown\"),_=o(\"VersionStamp\"),b=o(\"InfoUrl\"),E=o(\"InfoBasePath\");return m.default.createElement(\"div\",{className:\"info\"},m.default.createElement(\"hgroup\",{className:\"main\"},m.default.createElement(\"h2\",{className:\"title\"},l,s&&m.default.createElement(_,{version:s})),r||i?m.default.createElement(E,{host:r,basePath:i}):null,n&&m.default.createElement(b,{url:n})),m.default.createElement(\"div\",{className:\"description\"},m.default.createElement(g,{source:u})),c&&m.default.createElement(\"div\",null,m.default.createElement(\"a\",{target:\"_blank\",href:(0,x.sanitizeUrl)(c)},\"Terms of service\")),p&&p.size?m.default.createElement(w,{data:p}):null,f&&f.size?m.default.createElement(k,{license:f}):null,d?m.default.createElement(\"a\",{target:\"_blank\",href:(0,x.sanitizeUrl)(d)},v||d):null)}}]),t}(m.default.Component);E.propTypes={info:g.default.object,url:g.default.string,host:g.default.string,basePath:g.default.string,externalDocs:b.default.map,getComponent:g.default.func.isRequired},t.default=E,E.propTypes={title:g.default.any,description:g.default.any,version:g.default.any,url:g.default.string}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(4),o=r(i),a=n(2),s=r(a),u=n(3),l=r(u),c=n(6),p=r(c),f=n(5),h=r(f),d=n(0),m=r(d),v=n(1),g=r(v),y=function(e){function t(){var e,n,r,i;(0,s.default)(this,t);for(var a=arguments.length,u=Array(a),l=0;l<a;l++)u[l]=arguments[l];return n=r=(0,p.default)(this,(e=t.__proto__||(0,o.default)(t)).call.apply(e,[this].concat(u))),r.onFilterChange=function(e){var t=e.target.value;r.props.layoutActions.updateFilter(t)},i=n,(0,p.default)(r,i)}return(0,h.default)(t,e),(0,l.default)(t,[{key:\"render\",value:function(){var e=this.props,t=e.specSelectors,n=e.specActions,r=e.getComponent,i=e.layoutSelectors,o=e.oas3Selectors,a=e.oas3Actions,s=t.info(),u=t.url(),l=t.basePath(),c=t.host(),p=t.securityDefinitions(),f=t.externalDocs(),h=t.schemes(),d=t.servers(),v=r(\"info\"),g=r(\"operations\",!0),y=r(\"Models\",!0),_=r(\"authorizeBtn\",!0),b=r(\"Row\"),x=r(\"Col\"),w=r(\"Servers\"),k=r(\"errors\",!0),E=\"loading\"===t.loadingStatus(),S=\"failed\"===t.loadingStatus(),C=i.currentFilter(),A={};S&&(A.color=\"red\"),E&&(A.color=\"#aaa\");var D=r(\"schemes\");if(!t.specStr()){var O=void 0;return O=E?m.default.createElement(\"div\",{className:\"loading\"}):m.default.createElement(\"h4\",null,\"No API definition provided.\"),m.default.createElement(\"div\",{className:\"swagger-ui\"},m.default.createElement(\"div\",{className:\"loading-container\"},O))}return m.default.createElement(\"div\",{className:\"swagger-ui\"},m.default.createElement(\"div\",null,m.default.createElement(k,null),m.default.createElement(b,{className:\"information-container\"},m.default.createElement(x,{mobile:12},s.count()?m.default.createElement(v,{info:s,url:u,host:c,basePath:l,externalDocs:f,getComponent:r}):null)),h&&h.size||p?m.default.createElement(\"div\",{className:\"scheme-container\"},m.default.createElement(x,{className:\"schemes wrapper\",mobile:12},h&&h.size?m.default.createElement(D,{currentScheme:t.operationScheme(),schemes:h,specActions:n}):null,p?m.default.createElement(_,null):null)):null,d&&d.size?m.default.createElement(\"div\",{className:\"global-server-container\"},m.default.createElement(x,{className:\"servers wrapper\",mobile:12},m.default.createElement(\"span\",{className:\"servers-title\"},\"Server\"),m.default.createElement(w,{servers:d,currentServer:o.selectedServer(),setSelectedServer:a.setSelectedServer,setServerVariableValue:a.setServerVariableValue,getServerVariable:o.serverVariableValue,getEffectiveServerValue:o.serverEffectiveValue}))):null,null===C||!1===C?null:m.default.createElement(\"div\",{className:\"filter-container\"},m.default.createElement(x,{className:\"filter wrapper\",mobile:12},m.default.createElement(\"input\",{className:\"operation-filter-input\",placeholder:\"Filter by tag\",type:\"text\",onChange:this.onFilterChange,value:!0===C||\"true\"===C?\"\":C,disabled:E,style:A}))),m.default.createElement(b,null,m.default.createElement(x,{mobile:12,desktop:12},m.default.createElement(g,null))),m.default.createElement(b,null,m.default.createElement(x,{mobile:12,desktop:12},m.default.createElement(y,null)))))}}]),t}(m.default.Component);y.propTypes={errSelectors:g.default.object.isRequired,errActions:g.default.object.isRequired,specActions:g.default.object.isRequired,specSelectors:g.default.object.isRequired,oas3Selectors:g.default.object.isRequired,oas3Actions:g.default.object.isRequired,layoutSelectors:g.default.object.isRequired,layoutActions:g.default.object.isRequired,getComponent:g.default.func.isRequired},t.default=y},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(47),o=r(i),a=n(4),s=r(a),u=n(2),l=r(u),c=n(3),p=r(c),f=n(6),h=r(f),d=n(5),m=r(d),v=n(0),g=r(v),y=n(1),_=r(y),b=n(12),x=r(b),w=n(7),k=function(e){var t=e.headers;return g.default.createElement(\"div\",null,g.default.createElement(\"h5\",null,\"Response headers\"),g.default.createElement(\"pre\",null,t))};k.propTypes={headers:_.default.array.isRequired};var E=function(e){var t=e.duration;return g.default.createElement(\"div\",null,g.default.createElement(\"h5\",null,\"Request duration\"),g.default.createElement(\"pre\",null,t,\" ms\"))};E.propTypes={duration:_.default.number.isRequired};var S=function(e){function t(){return(0,l.default)(this,t),(0,h.default)(this,(t.__proto__||(0,s.default)(t)).apply(this,arguments))}return(0,m.default)(t,e),(0,p.default)(t,[{key:\"shouldComponentUpdate\",value:function(e){return this.props.response!==e.response||this.props.path!==e.path||this.props.method!==e.method||this.props.displayRequestDuration!==e.displayRequestDuration}},{key:\"render\",value:function(){var e=this.props,t=e.response,n=e.getComponent,r=e.getConfigs,i=e.displayRequestDuration,a=e.specSelectors,s=e.path,u=e.method,l=r(),c=l.showMutatedRequest,p=c?a.mutatedRequestFor(s,u):a.requestFor(s,u),f=t.get(\"status\"),h=p.get(\"url\"),d=t.get(\"headers\").toJS(),m=t.get(\"notDocumented\"),v=t.get(\"error\"),y=t.get(\"text\"),_=t.get(\"duration\"),b=(0,o.default)(d),x=d[\"content-type\"],w=n(\"curl\"),S=n(\"responseBody\"),C=b.map(function(e){return g.default.createElement(\"span\",{className:\"headerline\",key:e},\" \",e,\": \",d[e],\" \")}),A=0!==C.length;return g.default.createElement(\"div\",null,p&&g.default.createElement(w,{request:p}),h&&g.default.createElement(\"div\",null,g.default.createElement(\"h4\",null,\"Request URL\"),g.default.createElement(\"div\",{className:\"request-url\"},g.default.createElement(\"pre\",null,h))),g.default.createElement(\"h4\",null,\"Server response\"),g.default.createElement(\"table\",{className:\"responses-table\"},g.default.createElement(\"thead\",null,g.default.createElement(\"tr\",{className:\"responses-header\"},g.default.createElement(\"td\",{className:\"col col_header response-col_status\"},\"Code\"),g.default.createElement(\"td\",{className:\"col col_header response-col_description\"},\"Details\"))),g.default.createElement(\"tbody\",null,g.default.createElement(\"tr\",{className:\"response\"},g.default.createElement(\"td\",{className:\"col response-col_status\"},f,m?g.default.createElement(\"div\",{className:\"response-undocumented\"},g.default.createElement(\"i\",null,\" Undocumented \")):null),g.default.createElement(\"td\",{className:\"col response-col_description\"},v?g.default.createElement(\"span\",null,t.get(\"name\")+\": \"+t.get(\"message\")):null,y?g.default.createElement(S,{content:y,contentType:x,url:h,headers:d,getComponent:n}):null,A?g.default.createElement(k,{headers:C}):null,i&&_?g.default.createElement(E,{duration:_}):null)))))}}]),t}(g.default.Component);S.propTypes={response:_.default.instanceOf(w.Iterable).isRequired,path:_.default.string.isRequired,method:_.default.string.isRequired,displayRequestDuration:_.default.bool.isRequired,specSelectors:_.default.object.isRequired,getComponent:_.default.func.isRequired,getConfigs:_.default.func.isRequired},S.propTypes={getComponent:_.default.func.isRequired,response:x.default.map},t.default=S},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(4),o=r(i),a=n(2),s=r(a),u=n(3),l=r(u),c=n(6),p=r(c),f=n(5),h=r(f),d=n(0),m=r(d),v=n(1),g=r(v),y=function(e){function t(e,n){(0,s.default)(this,t);var r=(0,p.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,n));r.toggleCollapsed=function(){r.props.onToggle&&r.props.onToggle(r.props.modelName,!r.state.expanded),r.setState({expanded:!r.state.expanded})};var i=r.props,a=i.expanded,u=i.collapsedContent;return r.state={expanded:a,collapsedContent:u||t.defaultProps.collapsedContent},r}return(0,h.default)(t,e),(0,l.default)(t,[{key:\"componentDidMount\",value:function(){var e=this.props,t=e.hideSelfOnExpand,n=e.expanded,r=e.modelName;t&&n&&this.props.onToggle(r,n)}},{key:\"componentWillReceiveProps\",value:function(e){this.props.expanded!==e.expanded&&this.setState({expanded:e.expanded})}},{key:\"render\",value:function(){var e=this.props,t=e.title,n=e.classes;return this.state.expanded&&this.props.hideSelfOnExpand?m.default.createElement(\"span\",{className:n||\"\"},this.props.children):m.default.createElement(\"span\",{className:n||\"\"},t&&m.default.createElement(\"span\",{onClick:this.toggleCollapsed,style:{cursor:\"pointer\"}},t),m.default.createElement(\"span\",{onClick:this.toggleCollapsed,style:{cursor:\"pointer\"}},m.default.createElement(\"span\",{className:\"model-toggle\"+(this.state.expanded?\"\":\" collapsed\")})),this.state.expanded?this.props.children:this.state.collapsedContent)}}]),t}(d.Component);y.propTypes={collapsedContent:g.default.any,expanded:g.default.bool,children:g.default.any,title:g.default.element,modelName:g.default.string,classes:g.default.string,onToggle:g.default.func,hideSelfOnExpand:g.default.bool},y.defaultProps={collapsedContent:\"{...}\",expanded:!1,title:null,onToggle:function(){},hideSelfOnExpand:!1},t.default=y},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(4),o=r(i),a=n(2),s=r(a),u=n(3),l=r(u),c=n(6),p=r(c),f=n(5),h=r(f),d=n(0),m=r(d),v=n(1),g=r(v),y=n(12),_=r(y),b=function(e){function t(e,n){(0,s.default)(this,t);var r=(0,p.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,n));r.activeTab=function(e){var t=e.target.dataset.name;r.setState({activeTab:t})};var i=r.props.getConfigs,a=i(),u=a.defaultModelRendering;return\"example\"!==u&&\"model\"!==u&&(u=\"example\"),r.state={activeTab:u},r}return(0,h.default)(t,e),(0,l.default)(t,[{key:\"render\",value:function(){var e=this.props,t=e.getComponent,n=e.specSelectors,r=e.schema,i=e.example,o=e.isExecute,a=e.getConfigs,s=e.specPath,u=a(),l=u.defaultModelExpandDepth,c=t(\"ModelWrapper\");return m.default.createElement(\"div\",null,m.default.createElement(\"ul\",{className:\"tab\"},m.default.createElement(\"li\",{className:\"tabitem\"+(o||\"example\"===this.state.activeTab?\" active\":\"\")},m.default.createElement(\"a\",{className:\"tablinks\",\"data-name\":\"example\",onClick:this.activeTab},\"Example Value\")),r?m.default.createElement(\"li\",{className:\"tabitem\"+(o||\"model\"!==this.state.activeTab?\"\":\" active\")},m.default.createElement(\"a\",{className:\"tablinks\"+(o?\" inactive\":\"\"),\"data-name\":\"model\",onClick:this.activeTab},\"Model\")):null),m.default.createElement(\"div\",null,(o||\"example\"===this.state.activeTab)&&i,!o&&\"model\"===this.state.activeTab&&m.default.createElement(c,{schema:r,getComponent:t,getConfigs:a,specSelectors:n,expandDepth:l,specPath:s})))}}]),t}(m.default.Component);b.propTypes={getComponent:g.default.func.isRequired,specSelectors:g.default.object.isRequired,schema:g.default.object.isRequired,example:g.default.any.isRequired,isExecute:g.default.bool,getConfigs:g.default.func.isRequired,specPath:_.default.list.isRequired},t.default=b},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(20),o=r(i),a=n(4),s=r(a),u=n(2),l=r(u),c=n(3),p=r(c),f=n(6),h=r(f),d=n(5),m=r(d),v=n(0),g=r(v),y=n(1),_=r(y),b=function(e){function t(){var e,n,r,i;(0,l.default)(this,t);for(var o=arguments.length,a=Array(o),u=0;u<o;u++)a[u]=arguments[u];return n=r=(0,h.default)(this,(e=t.__proto__||(0,s.default)(t)).call.apply(e,[this].concat(a))),r.onToggle=function(e,t){r.props.layoutActions&&r.props.layoutActions.show([\"models\",e],t)},i=n,(0,h.default)(r,i)}return(0,m.default)(t,e),(0,p.default)(t,[{key:\"render\",value:function(){var e=this.props,t=e.getComponent,n=e.getConfigs,r=t(\"Model\"),i=void 0;return this.props.layoutSelectors&&(i=this.props.layoutSelectors.isShown([\"models\",this.props.name])),g.default.createElement(\"div\",{className:\"model-box\"},g.default.createElement(r,(0,o.default)({},this.props,{getConfigs:n,expanded:i,depth:1,onToggle:this.onToggle,expandDepth:this.props.expandDepth||0})))}}]),t}(v.Component);b.propTypes={schema:_.default.object.isRequired,name:_.default.string,getComponent:_.default.func.isRequired,getConfigs:_.default.func.isRequired,specSelectors:_.default.object.isRequired,expandDepth:_.default.number,layoutActions:_.default.object,layoutSelectors:_.default.object.isRequired},t.default=b},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(18),o=r(i),a=n(72),s=r(a),u=n(4),l=r(u),c=n(2),p=r(c),f=n(3),h=r(f),d=n(6),m=r(d),v=n(5),g=r(v),y=n(0),_=r(y),b=n(7),x=r(b),w=n(1),k=r(w),E=function(e){function t(){var e,n,r,i;(0,p.default)(this,t);for(var o=arguments.length,a=Array(o),u=0;u<o;u++)a[u]=arguments[u];return n=r=(0,m.default)(this,(e=t.__proto__||(0,l.default)(t)).call.apply(e,[this].concat(a))),r.getSchemaBasePath=function(){return r.props.specSelectors.isOAS3()?[\"components\",\"schemas\"]:[\"definitions\"]},r.getCollapsedContent=function(){return\" \"},r.handleToggle=function(e,t){r.props.layoutActions.show([\"models\",e],t),t&&r.props.specActions.requestResolvedSubtree([].concat((0,s.default)(r.getSchemaBasePath()),[e]))},i=n,(0,m.default)(r,i)}return(0,g.default)(t,e),(0,h.default)(t,[{key:\"render\",value:function(){var e=this,t=this.props,n=t.specSelectors,r=t.getComponent,i=t.layoutSelectors,a=t.layoutActions,u=t.getConfigs,l=n.definitions(),c=u(),p=c.docExpansion,f=c.defaultModelsExpandDepth;if(!l.size||f<0)return null;var h=i.isShown(\"models\",f>0&&\"none\"!==p),d=this.getSchemaBasePath(),m=r(\"ModelWrapper\"),v=r(\"Collapse\"),g=r(\"ModelCollapse\");return _.default.createElement(\"section\",{className:h?\"models is-open\":\"models\"},_.default.createElement(\"h4\",{onClick:function(){return a.show(\"models\",!h)}},_.default.createElement(\"span\",null,\"Models\"),_.default.createElement(\"svg\",{width:\"20\",height:\"20\"},_.default.createElement(\"use\",{xlinkHref:h?\"#large-arrow-down\":\"#large-arrow\"}))),_.default.createElement(v,{isOpened:h},l.entrySeq().map(function(t){var l=(0,o.default)(t,1),c=l[0],p=n.specResolvedSubtree([].concat((0,s.default)(d),[c]));i.isShown([\"models\",c],!1)&&void 0===p&&e.props.specActions.requestResolvedSubtree([].concat((0,s.default)(e.getSchemaBasePath()),[c]));var h=_.default.createElement(m,{name:c,expandDepth:f,schema:p||x.default.Map(),specPath:x.default.List([].concat((0,s.default)(d),[c])),getComponent:r,specSelectors:n,getConfigs:u,layoutSelectors:i,layoutActions:a}),v=_.default.createElement(\"span\",{className:\"model-box\"},_.default.createElement(\"span\",{className:\"model model-title\"},c));return _.default.createElement(\"div\",{id:\"model-\"+c,className:\"model-container\",key:\"models-section-\"+c},_.default.createElement(g,{classes:\"model-box\",collapsedContent:e.getCollapsedContent(c),onToggle:e.handleToggle,title:v,modelName:c,hideSelfOnExpand:!0,expanded:f>1},h))}).toArray()))}}]),t}(y.Component);E.propTypes={getComponent:k.default.func,specSelectors:k.default.object,specActions:k.default.object.isRequired,layoutSelectors:k.default.object,layoutActions:k.default.object,getConfigs:k.default.func.isRequired},t.default=E},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(37),o=r(i),a=n(20),s=r(a),u=n(18),l=r(u),c=n(97),p=r(c),f=n(4),h=r(f),d=n(2),m=r(d),v=n(3),g=r(v),y=n(6),_=r(y),b=n(5),x=r(b),w=n(0),k=r(w),E=n(1),S=r(E),C=n(7),A=n(12),D=r(A),O=function(e){function t(){return(0,m.default)(this,t),(0,_.default)(this,(t.__proto__||(0,h.default)(t)).apply(this,arguments))}return(0,x.default)(t,e),(0,g.default)(t,[{key:\"render\",value:function(){var e=this.props,t=e.schema,n=e.name,r=e.isRef,i=e.getComponent,a=e.getConfigs,u=e.depth,c=e.onToggle,f=e.expanded,h=e.specPath,d=(0,p.default)(e,[\"schema\",\"name\",\"isRef\",\"getComponent\",\"getConfigs\",\"depth\",\"onToggle\",\"expanded\",\"specPath\"]),m=d.specSelectors,v=d.expandDepth,g=m.isOAS3;if(!t)return null;var y=a(),_=y.showExtensions,b=t.get(\"description\"),x=t.get(\"properties\"),w=t.get(\"additionalProperties\"),E=t.get(\"title\")||n,S=t.get(\"required\"),A=i(\"JumpToPath\",!0),D=i(\"Markdown\"),O=i(\"Model\"),M=i(\"ModelCollapse\"),T=function(){return k.default.createElement(\"span\",{className:\"model-jump-to-path\"},k.default.createElement(A,{specPath:h}))},P=k.default.createElement(\"span\",null,k.default.createElement(\"span\",null,\"{\"),\"...\",k.default.createElement(\"span\",null,\"}\"),r?k.default.createElement(T,null):\"\"),I=m.isOAS3()?t.get(\"anyOf\"):null,R=m.isOAS3()?t.get(\"oneOf\"):null,j=m.isOAS3()?t.get(\"not\"):null,N=E&&k.default.createElement(\"span\",{className:\"model-title\"},r&&t.get(\"$$ref\")&&k.default.createElement(\"span\",{className:\"model-hint\"},t.get(\"$$ref\")),k.default.createElement(\"span\",{className:\"model-title__text\"},E));return k.default.createElement(\"span\",{className:\"model\"},k.default.createElement(M,{modelName:n,title:N,onToggle:c,expanded:!!f||u<=v,collapsedContent:P},k.default.createElement(\"span\",{className:\"brace-open object\"},\"{\"),r?k.default.createElement(T,null):null,k.default.createElement(\"span\",{className:\"inner-object\"},k.default.createElement(\"table\",{className:\"model\"},k.default.createElement(\"tbody\",null,b?k.default.createElement(\"tr\",{style:{color:\"#999\",fontStyle:\"italic\"}},k.default.createElement(\"td\",null,\"description:\"),k.default.createElement(\"td\",null,k.default.createElement(D,{source:b}))):null,x&&x.size?x.entrySeq().map(function(e){var t=(0,l.default)(e,2),r=t[0],o=t[1],c=g()&&o.get(\"deprecated\"),p=C.List.isList(S)&&S.contains(r),f={verticalAlign:\"top\",paddingRight:\"0.2em\"};return p&&(f.fontWeight=\"bold\"),k.default.createElement(\"tr\",{key:r,className:c&&\"deprecated\"},k.default.createElement(\"td\",{style:f},r,p&&k.default.createElement(\"span\",{style:{color:\"red\"}},\"*\")),k.default.createElement(\"td\",{style:{verticalAlign:\"top\"}},k.default.createElement(O,(0,s.default)({key:\"object-\"+n+\"-\"+r+\"_\"+o},d,{required:p,getComponent:i,specPath:h.push(\"properties\",r),getConfigs:a,schema:o,depth:u+1}))))}).toArray():null,_?k.default.createElement(\"tr\",null,\" \"):null,_?t.entrySeq().map(function(e){var t=(0,l.default)(e,2),n=t[0],r=t[1];if(\"x-\"===n.slice(0,2)){var i=r?r.toJS?r.toJS():r:null;return k.default.createElement(\"tr\",{key:n,style:{color:\"#777\"}},k.default.createElement(\"td\",null,n),k.default.createElement(\"td\",{style:{verticalAlign:\"top\"}},(0,o.default)(i)))}}).toArray():null,w&&w.size?k.default.createElement(\"tr\",null,k.default.createElement(\"td\",null,\"< * >:\"),k.default.createElement(\"td\",null,k.default.createElement(O,(0,s.default)({},d,{required:!1,getComponent:i,specPath:h.push(\"additionalProperties\"),getConfigs:a,schema:w,depth:u+1})))):null,I?k.default.createElement(\"tr\",null,k.default.createElement(\"td\",null,\"anyOf ->\"),k.default.createElement(\"td\",null,I.map(function(e,t){return k.default.createElement(\"div\",{key:t},k.default.createElement(O,(0,s.default)({},d,{required:!1,getComponent:i,specPath:h.push(\"anyOf\",t),getConfigs:a,schema:e,depth:u+1})))}))):null,R?k.default.createElement(\"tr\",null,k.default.createElement(\"td\",null,\"oneOf ->\"),k.default.createElement(\"td\",null,R.map(function(e,t){return k.default.createElement(\"div\",{key:t},k.default.createElement(O,(0,s.default)({},d,{required:!1,getComponent:i,specPath:h.push(\"oneOf\",t),getConfigs:a,schema:e,depth:u+1})))}))):null,j?k.default.createElement(\"tr\",null,k.default.createElement(\"td\",null,\"not ->\"),k.default.createElement(\"td\",null,k.default.createElement(\"div\",null,k.default.createElement(O,(0,s.default)({},d,{required:!1,getComponent:i,specPath:h.push(\"not\"),getConfigs:a,schema:j,depth:u+1}))))):null))),k.default.createElement(\"span\",{className:\"brace-close\"},\"}\")))}}]),t}(w.Component);O.propTypes={schema:S.default.object.isRequired,getComponent:S.default.func.isRequired,getConfigs:S.default.func.isRequired,expanded:S.default.bool,onToggle:S.default.func,specSelectors:S.default.object.isRequired,name:S.default.string,isRef:S.default.bool,expandDepth:S.default.number,depth:S.default.number,specPath:D.default.list.isRequired},t.default=O},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(47),o=r(i),a=n(48),s=r(a),u=n(4),l=r(u),c=n(2),p=r(c),f=n(3),h=r(f),d=n(6),m=r(d),v=n(5),g=r(v),y=n(0),_=r(y),b=n(1),x=r(b),w=n(9),k=function(e){function t(e,n){(0,p.default)(this,t);var r=(0,m.default)(this,(t.__proto__||(0,l.default)(t)).call(this,e,n)),i=e.specSelectors,o=e.getConfigs,a=o(),s=a.validatorUrl;return r.state={url:i.url(),validatorUrl:void 0===s?\"https://online.swagger.io/validator\":s},r}return(0,g.default)(t,e),(0,h.default)(t,[{key:\"componentWillReceiveProps\",value:function(e){var t=e.specSelectors,n=e.getConfigs,r=n(),i=r.validatorUrl;this.setState({url:t.url(),validatorUrl:void 0===i?\"https://online.swagger.io/validator\":i})}},{key:\"render\",value:function(){var e=this.props.getConfigs,t=e(),n=t.spec,r=(0,w.sanitizeUrl)(this.state.validatorUrl);return\"object\"===(void 0===n?\"undefined\":(0,s.default)(n))&&(0,o.default)(n).length?null:!this.state.url||!this.state.validatorUrl||this.state.url.indexOf(\"localhost\")>=0||this.state.url.indexOf(\"127.0.0.1\")>=0?null:_.default.createElement(\"span\",{style:{float:\"right\"}},_.default.createElement(\"a\",{target:\"_blank\",href:r+\"/debug?url=\"+this.state.url},_.default.createElement(E,{src:r+\"?url=\"+this.state.url,alt:\"Online validator badge\"})))}}]),t}(_.default.Component);k.propTypes={getComponent:x.default.func.isRequired,getConfigs:x.default.func.isRequired,specSelectors:x.default.object.isRequired},t.default=k;var E=function(e){function t(e){(0,p.default)(this,t);var n=(0,m.default)(this,(t.__proto__||(0,l.default)(t)).call(this,e));return n.state={loaded:!1,error:!1},n}return(0,g.default)(t,e),(0,h.default)(t,[{key:\"componentDidMount\",value:function(){var e=this,t=new Image;t.onload=function(){e.setState({loaded:!0})},t.onerror=function(){e.setState({error:!0})},t.src=this.props.src}},{key:\"componentWillReceiveProps\",value:function(e){var t=this;if(e.src!==this.props.src){var n=new Image;n.onload=function(){t.setState({loaded:!0})},n.onerror=function(){t.setState({error:!0})},n.src=e.src}}},{key:\"render\",value:function(){return this.state.error?_.default.createElement(\"img\",{alt:\"Error\"}):this.state.loaded?_.default.createElement(\"img\",{src:this.props.src,alt:this.props.alt}):null}}]),t}(_.default.Component);E.propTypes={src:x.default.string,alt:x.default.string}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.OperationExtRow=void 0;var i=n(37),o=r(i),a=n(0),s=r(a),u=n(1),l=r(u),c=t.OperationExtRow=function(e){var t=e.xKey,n=e.xVal,r=n?n.toJS?n.toJS():n:null;return s.default.createElement(\"tr\",null,s.default.createElement(\"td\",null,t),s.default.createElement(\"td\",null,(0,o.default)(r)))};c.propTypes={xKey:l.default.string,xVal:l.default.any},t.default=c},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.OperationExt=void 0;var i=n(18),o=r(i),a=n(0),s=r(a),u=n(1),l=r(u),c=t.OperationExt=function(e){var t=e.extensions,n=e.getComponent,r=n(\"OperationExtRow\");return s.default.createElement(\"div\",{className:\"opblock-section\"},s.default.createElement(\"div\",{className:\"opblock-section-header\"},s.default.createElement(\"h4\",null,\"Extensions\")),s.default.createElement(\"div\",{className:\"table-container\"},s.default.createElement(\"table\",null,s.default.createElement(\"thead\",null,s.default.createElement(\"tr\",null,s.default.createElement(\"td\",{className:\"col col_header\"},\"Field\"),s.default.createElement(\"td\",{className:\"col col_header\"},\"Value\"))),s.default.createElement(\"tbody\",null,t.entrySeq().map(function(e){var t=(0,o.default)(e,2),n=t[0],i=t[1];return s.default.createElement(r,{key:n+\"-\"+i,xKey:n,xVal:i})})))))};c.propTypes={extensions:l.default.object.isRequired,getComponent:l.default.func.isRequired},t.default=c},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(4),o=r(i),a=n(2),s=r(a),u=n(3),l=r(u),c=n(6),p=r(c),f=n(5),h=r(f),d=n(0),m=r(d),v=n(1),g=r(v),y=n(9),_=n(7),b=n(12),x=r(b),w=function(e){function t(){return(0,s.default)(this,t),(0,p.default)(this,(t.__proto__||(0,o.default)(t)).apply(this,arguments))}return(0,h.default)(t,e),(0,l.default)(t,[{key:\"render\",value:function(){var e=this.props,t=e.specPath,r=e.response,i=e.request,o=e.toggleShown,a=e.onTryoutClick,s=e.onCancelClick,u=e.onExecute,l=e.fn,c=e.getComponent,p=e.getConfigs,f=e.specActions,h=e.specSelectors,d=e.authActions,v=e.authSelectors,g=e.oas3Actions,_=e.oas3Selectors,b=this.props.operation,x=b.toJS(),w=x.summary,k=x.deprecated,E=x.isShown,S=x.isAuthorized,C=x.path,A=x.method,D=x.op,O=x.tag,M=x.showSummary,T=x.operationId,P=x.allowTryItOut,I=x.displayOperationId,R=x.displayRequestDuration,j=x.isDeepLinkingEnabled,N=x.tryItOutEnabled,F=x.executeInProgress,B=D.summary,L=D.description,q=D.externalDocs,z=D.schemes,U=b.getIn([\"op\"]),W=b.get(\"security\"),V=U.get(\"responses\"),H=U.get(\"produces\"),J=(0,y.getList)(U,[\"parameters\"]),G=h.operationScheme(C,A),X=[\"operations\",O,T],Y=(0,y.getExtensions)(U),K=c(\"responses\"),$=c(\"parameters\"),Z=c(\"execute\"),Q=c(\"clear\"),ee=c(\"authorizeOperationBtn\"),te=c(\"JumpToPath\",!0),ne=c(\"Collapse\"),re=c(\"Markdown\"),ie=c(\"schemes\"),oe=c(\"OperationServers\"),ae=c(\"OperationExt\"),se=c(\"DeepLink\"),ue=p(),le=ue.showExtensions;if(V&&r&&r.size>0){var ce=!V.get(String(r.get(\"status\")))&&!V.get(\"default\");r=r.set(\"notDocumented\",ce)}var pe=[C,A];return m.default.createElement(\"div\",{className:k?\"opblock opblock-deprecated\":E?\"opblock opblock-\"+A+\" is-open\":\"opblock opblock-\"+A,id:X.join(\"-\")},m.default.createElement(\"div\",{className:\"opblock-summary opblock-summary-\"+A,onClick:o},m.default.createElement(\"span\",{className:\"opblock-summary-method\"},A.toUpperCase()),m.default.createElement(\"span\",{className:k?\"opblock-summary-path__deprecated\":\"opblock-summary-path\"},m.default.createElement(se,{enabled:j,isShown:E,path:\"\"+X.join(\"/\"),text:C}),m.default.createElement(te,{path:t}),\" \"),M?m.default.createElement(\"div\",{className:\"opblock-summary-description\"},B||w):null,I&&T?m.default.createElement(\"span\",{className:\"opblock-summary-operation-id\"},T):null,W&&W.count()?m.default.createElement(ee,{isAuthorized:S,onClick:function(){var e=v.definitionsForRequirements(W);d.showDefinitions(e)}}):null),m.default.createElement(ne,{isOpened:E},m.default.createElement(\"div\",{className:\"opblock-body\"},U&&U.size||null===U?null:m.default.createElement(\"img\",{height:\"32px\",width:\"32px\",src:n(510),className:\"opblock-loading-animation\"}),k&&m.default.createElement(\"h4\",{className:\"opblock-title_normal\"},\" Warning: Deprecated\"),L&&m.default.createElement(\"div\",{className:\"opblock-description-wrapper\"},m.default.createElement(\"div\",{className:\"opblock-description\"},m.default.createElement(re,{source:L}))),q&&q.url?m.default.createElement(\"div\",{className:\"opblock-external-docs-wrapper\"},m.default.createElement(\"h4\",{className:\"opblock-title_normal\"},\"Find more details\"),m.default.createElement(\"div\",{className:\"opblock-external-docs\"},m.default.createElement(\"span\",{className:\"opblock-external-docs__description\"},m.default.createElement(re,{source:q.description})),m.default.createElement(\"a\",{target:\"_blank\",className:\"opblock-external-docs__link\",href:(0,y.sanitizeUrl)(q.url)},q.url))):null,U&&U.size?m.default.createElement($,{parameters:J,specPath:t.push(\"parameters\"),operation:U,onChangeKey:pe,onTryoutClick:a,onCancelClick:s,tryItOutEnabled:N,allowTryItOut:P,fn:l,getComponent:c,specActions:f,specSelectors:h,pathMethod:[C,A],getConfigs:p}):null,N?m.default.createElement(oe,{getComponent:c,path:C,method:A,operationServers:U.get(\"servers\"),pathServers:h.paths().getIn([C,\"servers\"]),getSelectedServer:_.selectedServer,setSelectedServer:g.setSelectedServer,setServerVariableValue:g.setServerVariableValue,getServerVariable:_.serverVariableValue,getEffectiveServerValue:_.serverEffectiveValue}):null,N&&P&&z&&z.size?m.default.createElement(\"div\",{className:\"opblock-schemes\"},m.default.createElement(ie,{schemes:z,path:C,method:A,specActions:f,currentScheme:G})):null,m.default.createElement(\"div\",{className:N&&r&&P?\"btn-group\":\"execute-wrapper\"},N&&P?m.default.createElement(Z,{operation:U,specActions:f,specSelectors:h,path:C,method:A,onExecute:u}):null,N&&r&&P?m.default.createElement(Q,{specActions:f,path:C,method:A}):null),F?m.default.createElement(\"div\",{className:\"loading-container\"},m.default.createElement(\"div\",{className:\"loading\"})):null,V?m.default.createElement(K,{responses:V,request:i,tryItOutResponse:r,getComponent:c,getConfigs:p,specSelectors:h,oas3Actions:g,specActions:f,produces:H,producesValue:h.currentProducesFor([C,A]),specPath:t.push(\"responses\"),path:C,method:A,displayRequestDuration:R,fn:l}):null,le&&Y.size?m.default.createElement(ae,{extensions:Y,getComponent:c}):null)))}}]),t}(d.PureComponent);w.propTypes={specPath:x.default.list.isRequired,operation:g.default.instanceOf(_.Iterable).isRequired,summary:g.default.string,response:g.default.instanceOf(_.Iterable),request:g.default.instanceOf(_.Iterable),toggleShown:g.default.func.isRequired,onTryoutClick:g.default.func.isRequired,onCancelClick:g.default.func.isRequired,onExecute:g.default.func.isRequired,getComponent:g.default.func.isRequired,getConfigs:g.default.func.isRequired,authActions:g.default.object,authSelectors:g.default.object,specActions:g.default.object.isRequired,specSelectors:g.default.object.isRequired,oas3Actions:g.default.object.isRequired,oas3Selectors:g.default.object.isRequired,layoutActions:g.default.object.isRequired,layoutSelectors:g.default.object.isRequired,fn:g.default.object.isRequired},w.defaultProps={operation:null,response:null,request:null,specPath:(0,_.List)(),summary:\"\"},t.default=w},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(4),o=r(i),a=n(2),s=r(a),u=n(3),l=r(u),c=n(6),p=r(c),f=n(5),h=r(f),d=n(0),m=r(d),v=n(1),g=r(v),y=n(7),_=r(y),b=n(9),x=[\"get\",\"put\",\"post\",\"delete\",\"options\",\"head\",\"patch\"],w=x.concat([\"trace\"]),k=function(e){function t(){return(0,s.default)(this,t),(0,p.default)(this,(t.__proto__||(0,o.default)(t)).apply(this,arguments))}return(0,h.default)(t,e),(0,l.default)(t,[{key:\"render\",value:function(){var e=this.props,t=e.specSelectors,n=e.getComponent,r=e.layoutSelectors,i=e.layoutActions,o=e.getConfigs,a=e.fn,s=t.taggedOperations(),u=n(\"OperationContainer\",!0),l=n(\"Collapse\"),c=n(\"Markdown\"),p=n(\"DeepLink\"),f=o(),h=f.docExpansion,d=f.maxDisplayedTags,v=f.deepLinking,g=v&&\"false\"!==v,y=r.currentFilter();return y&&!0!==y&&(s=a.opsFilter(s,y)),d&&!isNaN(d)&&d>=0&&(s=s.slice(0,d)),m.default.createElement(\"div\",null,s.map(function(e,n){var o=e.get(\"operations\"),a=e.getIn([\"tagDetails\",\"description\"],null),s=e.getIn([\"tagDetails\",\"externalDocs\",\"description\"]),f=e.getIn([\"tagDetails\",\"externalDocs\",\"url\"]),d=[\"operations-tag\",(0,b.createDeepLinkPath)(n)],v=r.isShown(d,\"full\"===h||\"list\"===h);return m.default.createElement(\"div\",{className:v?\"opblock-tag-section is-open\":\"opblock-tag-section\",key:\"operation-\"+n},m.default.createElement(\"h4\",{onClick:function(){return i.show(d,!v)},className:a?\"opblock-tag\":\"opblock-tag no-desc\",id:d.join(\"-\")},m.default.createElement(p,{enabled:g,isShown:v,path:n,text:n}),a?m.default.createElement(\"small\",null,m.default.createElement(c,{source:a})):m.default.createElement(\"small\",null),m.default.createElement(\"div\",null,s?m.default.createElement(\"small\",null,s,f?\": \":null,f?m.default.createElement(\"a\",{href:(0,b.sanitizeUrl)(f),onClick:function(e){return e.stopPropagation()},target:\"_blank\"},f):null):null),m.default.createElement(\"button\",{className:\"expand-operation\",title:v?\"Collapse operation\":\"Expand operation\",onClick:function(){return i.show(d,!v)}},m.default.createElement(\"svg\",{className:\"arrow\",width:\"20\",height:\"20\"},m.default.createElement(\"use\",{href:v?\"#large-arrow-down\":\"#large-arrow\",xlinkHref:v?\"#large-arrow-down\":\"#large-arrow\"})))),m.default.createElement(l,{isOpened:v},o.map(function(e){var r=e.get(\"path\"),i=e.get(\"method\"),o=_.default.List([\"paths\",r,i]);return-1===(t.isOAS3()?w:x).indexOf(i)?null:m.default.createElement(u,{key:r+\"-\"+i,specPath:o,op:e,path:r,method:i,tag:n})}).toArray()))}).toArray(),s.size<1?m.default.createElement(\"h3\",null,\" No operations defined in spec! \"):null)}}]),t}(m.default.Component);k.propTypes={specSelectors:g.default.object.isRequired,specActions:g.default.object.isRequired,oas3Actions:g.default.object.isRequired,getComponent:g.default.func.isRequired,layoutSelectors:g.default.object.isRequired,layoutActions:g.default.object.isRequired,authActions:g.default.object.isRequired,authSelectors:g.default.object.isRequired,getConfigs:g.default.func.isRequired,fn:g.default.func.isRequired},t.default=k,k.propTypes={layoutActions:g.default.object.isRequired,specSelectors:g.default.object.isRequired,specActions:g.default.object.isRequired,layoutSelectors:g.default.object.isRequired,getComponent:g.default.func.isRequired,fn:g.default.object.isRequired}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.OperationLink=void 0;var i=n(4),o=r(i),a=n(2),s=r(a),u=n(3),l=r(u),c=n(6),p=r(c),f=n(5),h=r(f),d=n(0),m=r(d),v=n(1),g=r(v),y=n(272),_=function(e){function t(){var e;(0,s.default)(this,t);for(var n=arguments.length,r=Array(n),i=0;i<n;i++)r[i]=arguments[i];var a=(0,p.default)(this,(e=t.__proto__||(0,o.default)(t)).call.apply(e,[this].concat(r)));return a.setTagShown=a._setTagShown.bind(a),a}return(0,h.default)(t,e),(0,l.default)(t,[{key:\"_setTagShown\",value:function(e,t){this.props.layoutActions.show(e,t)}},{key:\"showOp\",value:function(e,t){this.props.layoutActions.show(e,t)}},{key:\"render\",value:function(){var e=this.props,t=e.specSelectors,n=e.layoutSelectors,r=e.layoutActions,i=e.getComponent,o=t.taggedOperations(),a=i(\"Collapse\");return m.default.createElement(\"div\",null,m.default.createElement(\"h4\",{className:\"overview-title\"},\"Overview\"),o.map(function(e,t){var i=e.get(\"operations\"),o=[\"overview-tags\",t],s=n.isShown(o,!0),u=function(){return r.show(o,!s)};return m.default.createElement(\"div\",{key:\"overview-\"+t},m.default.createElement(\"h4\",{onClick:u,className:\"link overview-tag\"},\" \",s?\"-\":\"+\",t),m.default.createElement(a,{isOpened:s,animated:!0},i.map(function(e){var t=e.toObject(),i=t.path,o=t.method,a=t.id,s=a,u=n.isShown([\"operations\",s]);return m.default.createElement(b,{key:a,path:i,method:o,id:i+\"-\"+o,shown:u,showOpId:s,showOpIdPrefix:\"operations\",href:\"#operation-\"+s,onClick:r.show})}).toArray()))}).toArray(),o.size<1&&m.default.createElement(\"h3\",null,\" No operations defined in spec! \"))}}]),t}(m.default.Component);t.default=_,_.propTypes={layoutSelectors:g.default.object.isRequired,specSelectors:g.default.object.isRequired,layoutActions:g.default.object.isRequired,getComponent:g.default.func.isRequired};var b=t.OperationLink=function(e){function t(e){(0,s.default)(this,t);var n=(0,p.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e));return n.onClick=n._onClick.bind(n),n}return(0,h.default)(t,e),(0,l.default)(t,[{key:\"_onClick\",value:function(){var e=this.props,t=e.showOpId,n=e.showOpIdPrefix;(0,e.onClick)([n,t],!e.shown)}},{key:\"render\",value:function(){var e=this.props,t=e.id,n=e.method,r=e.shown,i=e.href;return m.default.createElement(y.Link,{href:i,style:{fontWeight:r?\"bold\":\"normal\"},onClick:this.onClick,className:\"block opblock-link\"},m.default.createElement(\"div\",null,m.default.createElement(\"small\",{className:\"bold-label-\"+n},n.toUpperCase()),m.default.createElement(\"span\",{className:\"bold-label\"},t)))}}]),t}(m.default.Component);b.propTypes={href:g.default.string,onClick:g.default.func,id:g.default.string.isRequired,method:g.default.string.isRequired,shown:g.default.bool.isRequired,showOpId:g.default.string.isRequired,showOpIdPrefix:g.default.string.isRequired}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(4),o=r(i),a=n(2),s=r(a),u=n(3),l=r(u),c=n(6),p=r(c),f=n(5),h=r(f),d=n(0),m=r(d),v=n(1),g=r(v),y=n(7),_=n(9),b=Function.prototype,x=function(e){function t(e,n){(0,s.default)(this,t);var r=(0,p.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,n));return w.call(r),r.state={isEditBox:!1,value:\"\"},r}return(0,h.default)(t,e),(0,l.default)(t,[{key:\"componentDidMount\",value:function(){this.updateValues.call(this,this.props)}},{key:\"componentWillReceiveProps\",value:function(e){this.updateValues.call(this,e)}},{key:\"render\",value:function(){var e=this.props,n=e.onChangeConsumes,r=e.param,i=e.isExecute,o=e.specSelectors,a=e.pathMethod,s=e.getComponent,u=s(\"Button\"),l=s(\"TextArea\"),c=s(\"highlightCode\"),p=s(\"contentType\"),f=o?o.parameterWithMeta(a,r.get(\"name\"),r.get(\"in\")):r,h=f.get(\"errors\",(0,y.List)()),d=o.contentTypeValues(a).get(\"requestContentType\"),v=this.props.consumes&&this.props.consumes.size?this.props.consumes:t.defaultProp.consumes,g=this.state,_=g.value,b=g.isEditBox;return m.default.createElement(\"div\",{className:\"body-param\"},b&&i?m.default.createElement(l,{className:\"body-param__text\"+(h.count()?\" invalid\":\"\"),value:_,onChange:this.handleOnChange}):_&&m.default.createElement(c,{className:\"body-param__example\",value:_}),m.default.createElement(\"div\",{className:\"body-param-options\"},i?m.default.createElement(\"div\",{className:\"body-param-edit\"},m.default.createElement(u,{className:b?\"btn cancel body-param__example-edit\":\"btn edit body-param__example-edit\",onClick:this.toggleIsEditBox},b?\"Cancel\":\"Edit\")):null,m.default.createElement(\"label\",{htmlFor:\"\"},m.default.createElement(\"span\",null,\"Parameter content type\"),m.default.createElement(p,{value:d,contentTypes:v,onChange:n,className:\"body-param-content-type\"}))))}}]),t}(d.PureComponent);x.propTypes={param:g.default.object,onChange:g.default.func,onChangeConsumes:g.default.func,consumes:g.default.object,consumesValue:g.default.string,fn:g.default.object.isRequired,getComponent:g.default.func.isRequired,isExecute:g.default.bool,specSelectors:g.default.object.isRequired,pathMethod:g.default.array.isRequired},x.defaultProp={consumes:(0,y.fromJS)([\"application/json\"]),param:(0,y.fromJS)({}),onChange:b,onChangeConsumes:b};var w=function(){var e=this;this.updateValues=function(t){var n=t.specSelectors,r=t.pathMethod,i=t.param,o=t.isExecute,a=t.consumesValue,s=void 0===a?\"\":a,u=n?n.parameterWithMeta(r,i.get(\"name\"),i.get(\"in\")):(0,y.fromJS)({}),l=/xml/i.test(s),c=/json/i.test(s),p=l?u.get(\"value_xml\"):u.get(\"value\");if(void 0!==p){var f=!p&&c?\"{}\":p;e.setState({value:f}),e.onChange(f,{isXml:l,isEditBox:o})}else l?e.onChange(e.sample(\"xml\"),{isXml:l,isEditBox:o}):e.onChange(e.sample(),{isEditBox:o})},this.sample=function(t){var n=e.props,r=n.param,i=n.fn.inferSchema,o=i(r.toJS());return(0,_.getSampleSchema)(o,t,{includeWriteOnly:!0})},this.onChange=function(t,n){var r=n.isEditBox,i=n.isXml;e.setState({value:t,isEditBox:r}),e._onChange(t,i)},this._onChange=function(t,n){(e.props.onChange||b)(e.props.param,t,n)},this.handleOnChange=function(t){var n=e.props.consumesValue,r=/json/i.test(n),i=/xml/i.test(n),o=r?t.target.value.trim():t.target.value;e.onChange(o,{isXml:i})},this.toggleIsEditBox=function(){return e.setState(function(e){return{isEditBox:!e.isEditBox}})}};t.default=x},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.ParameterExt=void 0;var i=n(0),o=r(i),a=n(1),s=r(a),u=t.ParameterExt=function(e){var t=e.xKey,n=e.xVal;return o.default.createElement(\"div\",{className:\"parameter__extension\"},t,\": \",String(n))};u.propTypes={xKey:s.default.string,xVal:s.default.any},t.default=u},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(4),o=r(i),a=n(2),s=r(a),u=n(3),l=r(u),c=n(6),p=r(c),f=n(5),h=r(f),d=n(0),m=r(d),v=n(7),g=n(1),y=r(g),_=n(12),b=r(_),x=n(36),w=r(x),k=n(9),E=function(e){function t(e,n){(0,s.default)(this,t);var r=(0,p.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,n));S.call(r);var i=e.specSelectors,a=e.pathMethod,u=e.param,l=u.get(\"default\"),c=u.get(\"x-example\"),f=i.parameterWithMeta(a,u.get(\"name\"),u.get(\"in\")),h=f?f.get(\"value\"):\"\";return\"body\"!==u.get(\"in\")&&(void 0!==c&&void 0===h&&i.isSwagger2()?r.onChangeWrapper(c):void 0!==l&&void 0===h&&r.onChangeWrapper(l)),r}return(0,h.default)(t,e),(0,l.default)(t,[{key:\"componentWillReceiveProps\",value:function(e){var t=e.specSelectors,n=e.pathMethod,r=e.param,i=t.isOAS3,o=r.get(\"example\"),a=r.get(\"default\"),s=t.parameterWithMeta(n,r.get(\"name\"),r.get(\"in\")),u=void 0;if(i()){u=(r.get(\"schema\")||(0,v.Map)()).get(\"enum\")}else u=s?s.get(\"enum\"):void 0;var l=s?s.get(\"value\"):void 0,c=void 0;void 0!==l?c=l:void 0!==o?c=o:void 0!==a?c=a:r.get(\"required\")&&u&&u.size&&(c=u.first()),void 0!==c&&this.onChangeWrapper(c)}},{key:\"render\",value:function(){var e=this.props,t=e.param,n=e.onChange,r=e.getComponent,i=e.getConfigs,o=e.isExecute,a=e.fn,s=e.onChangeConsumes,u=e.specSelectors,l=e.pathMethod,c=e.specPath,p=u.isOAS3,f=i(),h=f.showExtensions,d=r(\"JsonSchemaForm\"),v=r(\"ParamBody\"),g=t.get(\"in\"),y=\"body\"!==g?null:m.default.createElement(v,{getComponent:r,fn:a,param:t,consumes:u.operationConsumes(l),consumesValue:u.contentTypeValues(l).get(\"requestContentType\"),onChange:n,onChangeConsumes:s,isExecute:o,specSelectors:u,pathMethod:l}),_=r(\"modelExample\"),b=r(\"Markdown\"),x=r(\"ParameterExt\"),E=u.parameterWithMeta(l,t.get(\"name\"),t.get(\"in\")),S=t.get(\"schema\"),C=p&&p()?t.getIn([\"schema\",\"type\"]):t.get(\"type\"),A=\"formData\"===g,D=\"FormData\"in w.default,O=t.get(\"required\"),M=t.getIn(p&&p()?[\"schema\",\"items\",\"type\"]:[\"items\",\"type\"]),T=E?E.get(\"value\"):\"\",P=(0,k.getExtensions)(t),I=void 0,R=void 0,j=!1;void 0!==t&&(I=t.get(\"items\")),void 0!==I&&(R=t.get(\"items\").get(\"enum\")),void 0!==R&&R.size>0&&(j=!0);var N=void 0,F=void 0;return void 0!==t&&(N=t.get(\"default\"),F=t.get(\"example\")),j&&(N=I.get(\"default\")),m.default.createElement(\"tr\",null,m.default.createElement(\"td\",{className:\"col parameters-col_name\"},m.default.createElement(\"div\",{className:O?\"parameter__name required\":\"parameter__name\"},t.get(\"name\"),O?m.default.createElement(\"span\",{style:{color:\"red\"}},\" *\"):null),m.default.createElement(\"div\",{className:\"parameter__type\"},C,\" \",M&&\"[\"+M+\"]\"),m.default.createElement(\"div\",{className:\"parameter__deprecated\"},p&&p()&&t.get(\"deprecated\")?\"deprecated\":null),m.default.createElement(\"div\",{className:\"parameter__in\"},\"(\",t.get(\"in\"),\")\"),h&&P.size?P.map(function(e,t){return m.default.createElement(x,{key:t+\"-\"+e,xKey:t,xVal:e})}):null),m.default.createElement(\"td\",{className:\"col parameters-col_description\"},m.default.createElement(b,{source:t.get(\"description\")}),!y&&o||!j?null:m.default.createElement(b,{source:\"<i>Available values</i>: \"+R.map(function(e){return e}).toArray().join(\", \")}),!y&&o||void 0===N?null:m.default.createElement(b,{source:\"<i>Default value</i>: \"+N}),!y&&o||void 0===F?null:m.default.createElement(b,{source:\"<i>Example</i>: \"+F}),A&&!D&&m.default.createElement(\"div\",null,\"Error: your browser does not support FormData\"),y||!o?null:m.default.createElement(d,{fn:a,getComponent:r,value:T,required:O,description:t.get(\"description\")?t.get(\"name\")+\" - \"+t.get(\"description\"):\"\"+t.get(\"name\"),onChange:this.onChangeWrapper,errors:t.get(\"errors\"),schema:p&&p()?t.get(\"schema\"):t}),y&&S?m.default.createElement(_,{getComponent:r,specPath:c.push(\"schema\"),getConfigs:i,isExecute:o,specSelectors:u,schema:S,example:y}):null))}}]),t}(d.Component);E.propTypes={onChange:y.default.func.isRequired,param:y.default.object.isRequired,getComponent:y.default.func.isRequired,fn:y.default.object.isRequired,isExecute:y.default.bool,onChangeConsumes:y.default.func.isRequired,specSelectors:y.default.object.isRequired,pathMethod:y.default.array.isRequired,getConfigs:y.default.func.isRequired,specPath:b.default.list.isRequired};var S=function(){var e=this;this.onChangeWrapper=function(t){var n=e.props;return(0,n.onChange)(n.param,t)}};t.default=E},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(4),o=r(i),a=n(2),s=r(a),u=n(3),l=r(u),c=n(6),p=r(c),f=n(5),h=r(f),d=n(0),m=r(d),v=n(1),g=r(v),y=n(12),_=r(y),b=n(7),x=r(b),w=function(e,t){return e.valueSeq().filter(x.default.Map.isMap).map(t)},k=function(e){function t(){var e,n,r,i;(0,s.default)(this,t);for(var a=arguments.length,u=Array(a),l=0;l<a;l++)u[l]=arguments[l];return n=r=(0,p.default)(this,(e=t.__proto__||(0,o.default)(t)).call.apply(e,[this].concat(u))),r.onChange=function(e,t,n){var i=r.props;(0,i.specActions.changeParam)(i.onChangeKey,e.get(\"name\"),e.get(\"in\"),t,n)},r.onChangeConsumesWrapper=function(e){var t=r.props;(0,t.specActions.changeConsumesValue)(t.onChangeKey,e)},i=n,(0,p.default)(r,i)}return(0,h.default)(t,e),(0,l.default)(t,[{key:\"render\",value:function(){var e=this,t=this.props,n=t.onTryoutClick,r=t.onCancelClick,i=t.parameters,o=t.allowTryItOut,a=t.tryItOutEnabled,s=t.specPath,u=t.fn,l=t.getComponent,c=t.getConfigs,p=t.specSelectors,f=t.pathMethod,h=l(\"parameterRow\"),d=l(\"TryItOutButton\"),v=a&&o;return m.default.createElement(\"div\",{className:\"opblock-section\"},m.default.createElement(\"div\",{className:\"opblock-section-header\"},m.default.createElement(\"div\",{className:\"tab-header\"},m.default.createElement(\"h4\",{className:\"opblock-title\"},\"Parameters\")),o?m.default.createElement(d,{enabled:a,onCancelClick:r,onTryoutClick:n}):null),i.count()?m.default.createElement(\"div\",{className:\"table-container\"},m.default.createElement(\"table\",{className:\"parameters\"},m.default.createElement(\"thead\",null,m.default.createElement(\"tr\",null,m.default.createElement(\"th\",{className:\"col col_header parameters-col_name\"},\"Name\"),m.default.createElement(\"th\",{className:\"col col_header parameters-col_description\"},\"Description\"))),m.default.createElement(\"tbody\",null,w(i,function(t,n){return m.default.createElement(h,{fn:u,specPath:s.push(n.toString()),getComponent:l,getConfigs:c,param:p.parameterWithMeta(f,t.get(\"name\"),t.get(\"in\")),key:t.get(\"in\")+\".\"+t.get(\"name\"),onChange:e.onChange,onChangeConsumes:e.onChangeConsumesWrapper,specSelectors:p,pathMethod:f,isExecute:v})}).toArray()))):m.default.createElement(\"div\",{className:\"opblock-description-wrapper\"},m.default.createElement(\"p\",null,\"No parameters\")))}}]),t}(d.Component);k.propTypes={parameters:_.default.list.isRequired,specActions:g.default.object.isRequired,getComponent:g.default.func.isRequired,specSelectors:g.default.object.isRequired,fn:g.default.object.isRequired,tryItOutEnabled:g.default.bool,allowTryItOut:g.default.bool,onTryoutClick:g.default.func,onCancelClick:g.default.func,onChangeKey:g.default.array,pathMethod:g.default.array.isRequired,getConfigs:g.default.func.isRequired,specPath:_.default.list.isRequired},k.defaultProps={onTryoutClick:Function.prototype,onCancelClick:Function.prototype,tryItOutEnabled:!1,allowTryItOut:!0,onChangeKey:[],specPath:[]},t.default=k},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(18),o=r(i),a=n(4),s=r(a),u=n(2),l=r(u),c=n(3),p=r(c),f=n(6),h=r(f),d=n(5),m=r(d),v=n(0),g=r(v),y=n(1),_=r(y),b=n(9),x={color:\"#6b6b6b\",fontStyle:\"italic\"},w=function(e){function t(){return(0,l.default)(this,t),(0,h.default)(this,(t.__proto__||(0,s.default)(t)).apply(this,arguments))}return(0,m.default)(t,e),(0,p.default)(t,[{key:\"render\",value:function(){var e=this.props,t=e.schema,n=e.getComponent,r=e.getConfigs,i=e.name,a=e.depth,s=r(),u=s.showExtensions;if(!t||!t.get)return g.default.createElement(\"div\",null);var l=t.get(\"type\"),c=t.get(\"format\"),p=t.get(\"xml\"),f=t.get(\"enum\"),h=t.get(\"title\")||i,d=t.get(\"description\"),m=(0,b.getExtensions)(t),v=t.filter(function(e,t){return-1===[\"enum\",\"type\",\"format\",\"description\",\"$$ref\"].indexOf(t)}).filterNot(function(e,t){return m.has(t)}),y=n(\"Markdown\"),_=n(\"EnumModel\"),w=n(\"Property\");return g.default.createElement(\"span\",{className:\"model\"},g.default.createElement(\"span\",{className:\"prop\"},i&&g.default.createElement(\"span\",{className:(1===a&&\"model-title\")+\" prop-name\"},h),g.default.createElement(\"span\",{className:\"prop-type\"},l),c&&g.default.createElement(\"span\",{className:\"prop-format\"},\"($\",c,\")\"),v.size?v.entrySeq().map(function(e){var t=(0,o.default)(e,2),n=t[0],r=t[1];return g.default.createElement(w,{key:n+\"-\"+r,propKey:n,propVal:r,propStyle:x})}):null,u&&m.size?m.entrySeq().map(function(e){var t=(0,o.default)(e,2),n=t[0],r=t[1];return g.default.createElement(w,{key:n+\"-\"+r,propKey:n,propVal:r,propStyle:x})}):null,d?g.default.createElement(y,{source:d}):null,p&&p.size?g.default.createElement(\"span\",null,g.default.createElement(\"br\",null),g.default.createElement(\"span\",{style:x},\"xml:\"),p.entrySeq().map(function(e){var t=(0,o.default)(e,2),n=t[0],r=t[1];return g.default.createElement(\"span\",{key:n+\"-\"+r,style:x},g.default.createElement(\"br\",null),\"   \",n,\": \",String(r))}).toArray()):null,f&&g.default.createElement(_,{value:f,getComponent:n})))}}]),t}(v.Component);w.propTypes={schema:_.default.object.isRequired,getComponent:_.default.func.isRequired,getConfigs:_.default.func.isRequired,name:_.default.string,depth:_.default.number},t.default=w},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.Property=void 0;var i=n(0),o=r(i),a=n(1),s=r(a),u=t.Property=function(e){var t=e.propKey,n=e.propVal,r=e.propStyle;return o.default.createElement(\"span\",{style:r},o.default.createElement(\"br\",null),t,\": \",String(n))};u.propTypes={propKey:s.default.string,propVal:s.default.any,propStyle:s.default.object},t.default=u},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(37),o=r(i),a=n(4),s=r(a),u=n(2),l=r(u),c=n(3),p=r(c),f=n(6),h=r(f),d=n(5),m=r(d),v=n(0),g=r(v),y=n(1),_=r(y),b=n(1211),x=r(b),w=n(963),k=r(w),E=n(9),S=n(36),C=r(S),A=function(e){function t(){return(0,l.default)(this,t),(0,h.default)(this,(t.__proto__||(0,s.default)(t)).apply(this,arguments))}return(0,m.default)(t,e),(0,p.default)(t,[{key:\"render\",value:function(){var e=this.props,t=e.content,n=e.contentType,r=e.url,i=e.headers,a=void 0===i?{}:i,s=e.getComponent,u=s(\"highlightCode\"),l=void 0,c=void 0;if(r=r||\"\",/^application\\/octet-stream/i.test(n)||a[\"Content-Disposition\"]&&/attachment/i.test(a[\"Content-Disposition\"])||a[\"content-disposition\"]&&/attachment/i.test(a[\"content-disposition\"])||a[\"Content-Description\"]&&/File Transfer/i.test(a[\"Content-Description\"])||a[\"content-description\"]&&/File Transfer/i.test(a[\"content-description\"])){if(!/^((?!chrome|android).)*safari/i.test(navigator.userAgent)&&\"Blob\"in window){var p=n||\"text/html\",f=t instanceof Blob?t:new Blob([t],{type:p}),h=window.URL.createObjectURL(f),d=r.substr(r.lastIndexOf(\"/\")+1),m=[p,d,h].join(\":\"),v=a[\"content-disposition\"]||a[\"Content-Disposition\"];if(void 0!==v){var y=(0,E.extractFileNameFromContentDispositionHeader)(v);null!==y&&(m=y)}c=C.default.navigator&&C.default.navigator.msSaveOrOpenBlob?g.default.createElement(\"div\",null,g.default.createElement(\"a\",{href:h,onClick:function(){return C.default.navigator.msSaveOrOpenBlob(f,m)}},\"Download file\")):g.default.createElement(\"div\",null,g.default.createElement(\"a\",{href:h,download:m},\"Download file\"))}else c=g.default.createElement(\"pre\",null,\"Download headers detected but your browser does not support downloading binary via XHR (Blob).\")}else if(/json/i.test(n)){try{l=(0,o.default)(JSON.parse(t),null,\"  \")}catch(e){l=\"can't parse JSON.  Raw result:\\n\\n\"+t}c=g.default.createElement(u,{value:l})}else/xml/i.test(n)?(l=(0,x.default)(t,{textNodesOnSameLine:!0,indentor:\"  \"}),c=g.default.createElement(u,{value:l})):c=\"text/html\"===(0,k.default)(n)||/text\\/plain/.test(n)?g.default.createElement(u,{value:t}):/^image\\//i.test(n)?n.includes(\"svg\")?g.default.createElement(\"div\",null,\" \",t,\" \"):g.default.createElement(\"img\",{style:{maxWidth:\"100%\"},src:window.URL.createObjectURL(t)}):/^audio\\//i.test(n)?g.default.createElement(\"pre\",null,g.default.createElement(\"audio\",{controls:!0},g.default.createElement(\"source\",{src:r,type:n}))):\"string\"==typeof t?g.default.createElement(u,{value:t}):t.size>0?g.default.createElement(\"div\",null,\"Unknown response type\"):null;return c?g.default.createElement(\"div\",null,g.default.createElement(\"h5\",null,\"Response body\"),c):null}}]),t}(g.default.Component);A.propTypes={content:_.default.any.isRequired,contentType:_.default.string,getComponent:_.default.func.isRequired,headers:_.default.object,url:_.default.string},t.default=A},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(4),o=r(i),a=n(2),s=r(a),u=n(3),l=r(u),c=n(6),p=r(c),f=n(5),h=r(f),d=n(37),m=r(d),v=n(18),g=r(v),y=n(0),_=r(y),b=n(1),x=r(b),w=n(12),k=r(w),E=n(586),S=r(E),C=n(7),A=n(9),D=function(e,t,n){return t&&t.size?t.entrySeq().map(function(e){var t=(0,g.default)(e,2),r=t[0],i=t[1],o=i;if(i.toJS)try{o=(0,m.default)(i.toJS(),null,2)}catch(e){o=String(i)}return _.default.createElement(\"div\",{key:r},_.default.createElement(\"h5\",null,r),_.default.createElement(n,{className:\"example\",value:o}))}).toArray():e?_.default.createElement(\"div\",null,_.default.createElement(n,{className:\"example\",value:e})):null},O=function(e){function t(e,n){(0,s.default)(this,t);var r=(0,p.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,n));return r._onContentTypeChange=function(e){var t=r.props,n=t.onContentTypeChange,i=t.controlsAcceptHeader;r.setState({responseContentType:e}),n({value:e,controlsAcceptHeader:i})},r.state={responseContentType:\"\"},r}return(0,h.default)(t,e),(0,l.default)(t,[{key:\"render\",value:function(){var e,t,n,r=this.props,i=r.code,o=r.response,a=r.className,s=r.specPath,u=r.fn,l=r.getComponent,c=r.getConfigs,p=r.specSelectors,f=r.contentType,h=r.controlsAcceptHeader,d=u.inferSchema,m=p.isOAS3,v=o.get(\"headers\"),g=o.get(\"examples\"),y=o.get(\"links\"),b=l(\"headers\"),x=l(\"highlightCode\"),w=l(\"modelExample\"),k=l(\"Markdown\"),E=l(\"operationLink\"),O=l(\"contentType\");if(m()){var M=(0,C.List)([\"content\",this.state.responseContentType,\"schema\"]),T=o.getIn(M);e=T?(0,A.getSampleSchema)(T.toJS(),this.state.responseContentType,{includeReadOnly:!0}):null,t=T?d(T.toJS()):null,n=T?M:s}else t=d(o.toJS()),n=o.has(\"schema\")?s.push(\"schema\"):s,e=t?(0,A.getSampleSchema)(t,f,{includeReadOnly:!0,includeWriteOnly:!0}):null;g&&(g=g.map(function(e){return e.set?e.set(\"$$ref\",void 0):e}));var P=D(e,g,x);return _.default.createElement(\"tr\",{className:\"response \"+(a||\"\")},_.default.createElement(\"td\",{className:\"col response-col_status\"},i),_.default.createElement(\"td\",{className:\"col response-col_description\"},_.default.createElement(\"div\",{className:\"response-col_description__inner\"},_.default.createElement(k,{source:o.get(\"description\")})),m?_.default.createElement(\"div\",{className:(0,S.default)(\"response-content-type\",{\"controls-accept-header\":h})},_.default.createElement(O,{value:this.state.responseContentType,contentTypes:o.get(\"content\")?o.get(\"content\").keySeq():(0,C.Seq)(),onChange:this._onContentTypeChange}),h?_.default.createElement(\"small\",null,\"Controls \",_.default.createElement(\"code\",null,\"Accept\"),\" header.\"):null):null,P?_.default.createElement(w,{specPath:n,getComponent:l,getConfigs:c,specSelectors:p,schema:(0,A.fromJSOrdered)(t),example:P}):null,v?_.default.createElement(b,{headers:v,getComponent:l}):null),p.isOAS3()?_.default.createElement(\"td\",{className:\"col response-col_links\"},y?y.toSeq().map(function(e,t){return _.default.createElement(E,{key:t,name:t,link:e,getComponent:l})}):_.default.createElement(\"i\",null,\"No links\")):null)}}]),t}(_.default.Component);O.propTypes={code:x.default.string.isRequired,response:x.default.instanceOf(C.Iterable),className:x.default.string,getComponent:x.default.func.isRequired,getConfigs:x.default.func.isRequired,specSelectors:x.default.object.isRequired,specPath:k.default.list.isRequired,fn:x.default.object.isRequired,contentType:x.default.string,controlsAcceptHeader:x.default.bool,onContentTypeChange:x.default.func},O.defaultProps={response:(0,C.fromJS)({}),onContentTypeChange:function(){}},t.default=O},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(18),o=r(i),a=n(4),s=r(a),u=n(2),l=r(u),c=n(3),p=r(c),f=n(6),h=r(f),d=n(5),m=r(d),v=n(0),g=r(v),y=n(7),_=n(1),b=r(_),x=n(12),w=r(x),k=n(9),E=function(e){function t(){var e,n,r,i;(0,l.default)(this,t);for(var o=arguments.length,a=Array(o),u=0;u<o;u++)a[u]=arguments[u];return n=r=(0,h.default)(this,(e=t.__proto__||(0,s.default)(t)).call.apply(e,[this].concat(a))),r.onChangeProducesWrapper=function(e){return r.props.specActions.changeProducesValue([r.props.path,r.props.method],e)},r.onResponseContentTypeChange=function(e){var t=e.controlsAcceptHeader,n=e.value,i=r.props,o=i.oas3Actions,a=i.path,s=i.method;t&&o.setResponseContentType({value:n,path:a,method:s})},i=n,(0,h.default)(r,i)}return(0,m.default)(t,e),(0,p.default)(t,[{key:\"shouldComponentUpdate\",value:function(e){return this.props.tryItOutResponse!==e.tryItOutResponse||this.props.responses!==e.responses||this.props.produces!==e.produces||this.props.producesValue!==e.producesValue||this.props.displayRequestDuration!==e.displayRequestDuration||this.props.path!==e.path||this.props.method!==e.method}},{key:\"render\",value:function(){var e=this,n=this.props,r=n.responses,i=n.tryItOutResponse,a=n.getComponent,s=n.getConfigs,u=n.specSelectors,l=n.fn,c=n.producesValue,p=n.displayRequestDuration,f=n.specPath,h=(0,k.defaultStatusCode)(r),d=a(\"contentType\"),m=a(\"liveResponse\"),v=a(\"response\"),y=this.props.produces&&this.props.produces.size?this.props.produces:t.defaultProps.produces,_=u.isOAS3(),b=_?(0,k.getAcceptControllingResponse)(r):null;return g.default.createElement(\"div\",{className:\"responses-wrapper\"},g.default.createElement(\"div\",{className:\"opblock-section-header\"},g.default.createElement(\"h4\",null,\"Responses\"),u.isOAS3()?null:g.default.createElement(\"label\",null,g.default.createElement(\"span\",null,\"Response content type\"),g.default.createElement(d,{value:c,onChange:this.onChangeProducesWrapper,contentTypes:y,className:\"execute-content-type\"}))),g.default.createElement(\"div\",{className:\"responses-inner\"},i?g.default.createElement(\"div\",null,g.default.createElement(m,{response:i,getComponent:a,getConfigs:s,specSelectors:u,path:this.props.path,method:this.props.method,displayRequestDuration:p}),g.default.createElement(\"h4\",null,\"Responses\")):null,g.default.createElement(\"table\",{className:\"responses-table\"},g.default.createElement(\"thead\",null,g.default.createElement(\"tr\",{className:\"responses-header\"},g.default.createElement(\"td\",{className:\"col col_header response-col_status\"},\"Code\"),g.default.createElement(\"td\",{className:\"col col_header response-col_description\"},\"Description\"),u.isOAS3()?g.default.createElement(\"td\",{className:\"col col_header response-col_links\"},\"Links\"):null)),g.default.createElement(\"tbody\",null,r.entrySeq().map(function(t){var n=(0,o.default)(t,2),r=n[0],p=n[1],d=i&&i.get(\"status\")==r?\"response_current\":\"\";return g.default.createElement(v,{key:r,specPath:f.push(r),isDefault:h===r,fn:l,className:d,code:r,response:p,specSelectors:u,controlsAcceptHeader:p===b,onContentTypeChange:e.onResponseContentTypeChange,contentType:c,getConfigs:s,getComponent:a})}).toArray()))))}}]),t}(g.default.Component);E.propTypes={tryItOutResponse:b.default.instanceOf(y.Iterable),responses:b.default.instanceOf(y.Iterable).isRequired,produces:b.default.instanceOf(y.Iterable),producesValue:b.default.any,displayRequestDuration:b.default.bool.isRequired,path:b.default.string.isRequired,method:b.default.string.isRequired,getComponent:b.default.func.isRequired,getConfigs:b.default.func.isRequired,specSelectors:b.default.object.isRequired,specActions:b.default.object.isRequired,oas3Actions:b.default.object.isRequired,specPath:w.default.list.isRequired,fn:b.default.object.isRequired},E.defaultProps={tryItOutResponse:null,produces:(0,y.fromJS)([\"application/json\"]),displayRequestDuration:!1},t.default=E},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(4),o=r(i),a=n(2),s=r(a),u=n(3),l=r(u),c=n(6),p=r(c),f=n(5),h=r(f),d=n(0),m=r(d),v=n(1),g=r(v),y=function(e){function t(){var e,n,r,i;(0,s.default)(this,t);for(var a=arguments.length,u=Array(a),l=0;l<a;l++)u[l]=arguments[l];return n=r=(0,p.default)(this,(e=t.__proto__||(0,o.default)(t)).call.apply(e,[this].concat(u))),r.onChange=function(e){r.setScheme(e.target.value)},r.setScheme=function(e){var t=r.props,n=t.path,i=t.method;t.specActions.setScheme(e,n,i)},i=n,(0,p.default)(r,i)}return(0,h.default)(t,e),(0,l.default)(t,[{key:\"componentWillMount\",value:function(){var e=this.props.schemes;this.setScheme(e.first())}},{key:\"componentWillReceiveProps\",value:function(e){this.props.currentScheme&&e.schemes.includes(this.props.currentScheme)||this.setScheme(e.schemes.first())}},{key:\"render\",value:function(){var e=this.props.schemes;return m.default.createElement(\"label\",{htmlFor:\"schemes\"},m.default.createElement(\"span\",{className:\"schemes-title\"},\"Schemes\"),m.default.createElement(\"select\",{onChange:this.onChange},e.valueSeq().map(function(e){return m.default.createElement(\"option\",{value:e,key:e},e)}).toArray()))}}]),t}(m.default.Component);y.propTypes={specActions:g.default.object.isRequired,schemes:g.default.object.isRequired,currentScheme:g.default.string.isRequired,path:g.default.string,method:g.default.string},t.default=y},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(4),o=r(i),a=n(2),s=r(a),u=n(3),l=r(u),c=n(6),p=r(c),f=n(5),h=r(f),d=n(0),m=r(d),v=n(1),g=r(v),y=function(e){function t(){return(0,s.default)(this,t),(0,p.default)(this,(t.__proto__||(0,o.default)(t)).apply(this,arguments))}return(0,h.default)(t,e),(0,l.default)(t,[{key:\"render\",value:function(){var e=this.props,t=e.onTryoutClick,n=e.onCancelClick,r=e.enabled;return m.default.createElement(\"div\",{className:\"try-out\"},r?m.default.createElement(\"button\",{className:\"btn try-out__btn cancel\",onClick:t},\"Cancel\"):m.default.createElement(\"button\",{className:\"btn try-out__btn\",onClick:n},\"Try it out \"))}}]),t}(m.default.Component);y.propTypes={onTryoutClick:g.default.func,onCancelClick:g.default.func,enabled:g.default.bool},y.defaultProps={onTryoutClick:Function.prototype,onCancelClick:Function.prototype,enabled:!1},t.default=y},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(0),o=r(i),a=n(1),s=r(a),u=function(e){var t=e.version;return o.default.createElement(\"small\",null,o.default.createElement(\"pre\",{className:\"version\"},\" \",t,\" \"))};u.propTypes={version:s.default.string.isRequired},t.default=u},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(4),o=r(i),a=n(2),s=r(a),u=n(3),l=r(u),c=n(6),p=r(c),f=n(5),h=r(f),d=n(0),m=r(d),v=n(1),g=r(v),y=n(12),_=r(y),b=n(508),x=n(7),w=b.helpers.opId,k=function(e){function t(e,n){(0,s.default)(this,t);var r=(0,p.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,n));return r.toggleShown=function(){var e=r.props,t=e.layoutActions,n=e.tag,i=e.operationId,o=e.isShown;o||r.requestResolvedSubtree(),t.show([\"operations\",n,i],!o)},r.onTryoutClick=function(){r.setState({tryItOutEnabled:!r.state.tryItOutEnabled})},r.onCancelClick=function(){var e=r.props,t=e.specActions,n=e.path,i=e.method;r.setState({tryItOutEnabled:!r.state.tryItOutEnabled}),t.clearValidateParams([n,i])},r.onExecute=function(){r.setState({executeInProgress:!0})},r.getResolvedSubtree=function(){var e=r.props,t=e.specSelectors,n=e.path,i=e.method,o=e.specPath;return o?t.specResolvedSubtree(o.toJS()):t.specResolvedSubtree([\"paths\",n,i])},r.requestResolvedSubtree=function(){var e=r.props,t=e.specActions,n=e.path,i=e.method,o=e.specPath;return o?t.requestResolvedSubtree(o.toJS()):t.requestResolvedSubtree([\"paths\",n,i])},r.state={tryItOutEnabled:!1,executeInProgress:!1},r}return(0,h.default)(t,e),(0,l.default)(t,[{key:\"mapStateToProps\",value:function(e,t){var n=t.op,r=t.layoutSelectors,i=t.getConfigs,o=i(),a=o.docExpansion,s=o.deepLinking,u=o.displayOperationId,l=o.displayRequestDuration,c=o.supportedSubmitMethods,p=r.showSummary(),f=n.getIn([\"operation\",\"operationId\"])||n.getIn([\"operation\",\"__originalOperationId\"])||w(n.get(\"operation\"),t.path,t.method)||n.get(\"id\"),h=[\"operations\",t.tag,f],d=s&&\"false\"!==s,m=c.indexOf(t.method)>=0&&(void 0===t.allowTryItOut?t.specSelectors.allowTryItOutFor(t.path,t.method):t.allowTryItOut),v=n.getIn([\"operation\",\"security\"])||t.specSelectors.security();return{operationId:f,isDeepLinkingEnabled:d,showSummary:p,displayOperationId:u,displayRequestDuration:l,allowTryItOut:m,security:v,isAuthorized:t.authSelectors.isAuthorized(v),isShown:r.isShown(h,\"full\"===a),jumpToKey:\"paths.\"+t.path+\".\"+t.method,response:t.specSelectors.responseFor(t.path,t.method),request:t.specSelectors.requestFor(t.path,t.method)}}},{key:\"componentWillReceiveProps\",value:function(e){var t=e.response,n=e.isShown,r=this.getResolvedSubtree();t!==this.props.response&&this.setState({executeInProgress:!1}),n&&void 0===r&&this.requestResolvedSubtree()}},{key:\"render\",value:function(){var e=this.props,t=e.op,n=e.tag,r=e.path,i=e.method,o=e.security,a=e.isAuthorized,s=e.operationId,u=e.showSummary,l=e.isShown,c=e.jumpToKey,p=e.allowTryItOut,f=e.response,h=e.request,d=e.displayOperationId,v=e.displayRequestDuration,g=e.isDeepLinkingEnabled,y=e.specPath,_=e.specSelectors,b=e.specActions,w=e.getComponent,k=e.getConfigs,E=e.layoutSelectors,S=e.layoutActions,C=e.authActions,A=e.authSelectors,D=e.oas3Actions,O=e.oas3Selectors,M=e.fn,T=w(\"operation\"),P=this.getResolvedSubtree()||(0,x.Map)(),I=(0,x.fromJS)({op:P,tag:n,path:r,summary:t.getIn([\"operation\",\"summary\"])||\"\",deprecated:P.get(\"deprecated\")||t.getIn([\"operation\",\"deprecated\"])||!1,method:i,security:o,isAuthorized:a,operationId:s,showSummary:u,isShown:l,jumpToKey:c,allowTryItOut:p,request:h,displayOperationId:d,displayRequestDuration:v,isDeepLinkingEnabled:g,executeInProgress:this.state.executeInProgress,tryItOutEnabled:this.state.tryItOutEnabled});return m.default.createElement(T,{operation:I,response:f,request:h,isShown:l,toggleShown:this.toggleShown,onTryoutClick:this.onTryoutClick,onCancelClick:this.onCancelClick,onExecute:this.onExecute,specPath:y,specActions:b,specSelectors:_,oas3Actions:D,oas3Selectors:O,layoutActions:S,layoutSelectors:E,authActions:C,authSelectors:A,getComponent:w,getConfigs:k,fn:M})}}]),t}(d.PureComponent);k.propTypes={op:g.default.instanceOf(x.Iterable).isRequired,tag:g.default.string.isRequired,path:g.default.string.isRequired,method:g.default.string.isRequired,operationId:g.default.string.isRequired,showSummary:g.default.bool.isRequired,isShown:g.default.bool.isRequired,jumpToKey:g.default.string.isRequired,allowTryItOut:g.default.bool,displayOperationId:g.default.bool,isAuthorized:g.default.bool,displayRequestDuration:g.default.bool,response:g.default.instanceOf(x.Iterable),request:g.default.instanceOf(x.Iterable),security:g.default.instanceOf(x.Iterable),isDeepLinkingEnabled:g.default.bool.isRequired,specPath:_.default.list.isRequired,getComponent:g.default.func.isRequired,authActions:g.default.object,oas3Actions:g.default.object,oas3Selectors:g.default.object,authSelectors:g.default.object,specActions:g.default.object.isRequired,specSelectors:g.default.object.isRequired,layoutActions:g.default.object.isRequired,layoutSelectors:g.default.object.isRequired,fn:g.default.object.isRequired,getConfigs:g.default.func.isRequired},k.defaultProps={showSummary:!0,response:null,allowTryItOut:!0,displayOperationId:!1,displayRequestDuration:!1},t.default=k},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function i(e){var t=[],n=\"\",r=e.get(\"headers\");if(t.push(\"curl\"),t.push(\"-X\",e.get(\"method\")),t.push('\"'+e.get(\"url\")+'\"'),r&&r.size){var i=!0,o=!1,s=void 0;try{for(var l,p=(0,c.default)(e.get(\"headers\").entries());!(i=(l=p.next()).done);i=!0){var h=l.value,d=(0,u.default)(h,2),m=d[0],v=d[1];n=v,t.push(\"-H \"),t.push('\"'+m+\": \"+v+'\"')}}catch(e){o=!0,s=e}finally{try{!i&&p.return&&p.return()}finally{if(o)throw s}}}if(e.get(\"body\"))if(\"multipart/form-data\"===n&&\"POST\"===e.get(\"method\")){var g=!0,y=!1,_=void 0;try{for(var b,x=(0,c.default)(e.get(\"body\").entrySeq());!(g=(b=x.next()).done);g=!0){var w=(0,u.default)(b.value,2),k=w[0],v=w[1];t.push(\"-F\"),v instanceof f.default.File?t.push('\"'+k+\"=@\"+v.name+\";type=\"+v.type+'\"'):t.push('\"'+k+\"=\"+v+'\"')}}catch(e){y=!0,_=e}finally{try{!g&&x.return&&x.return()}finally{if(y)throw _}}}else t.push(\"-d\"),t.push((0,a.default)(e.get(\"body\")).replace(/\\\\n/g,\"\"));return t.join(\" \")}Object.defineProperty(t,\"__esModule\",{value:!0});var o=n(37),a=r(o),s=n(18),u=r(s),l=n(96),c=r(l);t.default=i;var p=n(36),f=r(p)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.JsonSchema_boolean=t.JsonSchema_array=t.JsonSchema_string=t.JsonSchemaForm=void 0;var i=n(27),o=r(i),a=n(20),s=r(a),u=n(4),l=r(u),c=n(2),p=r(c),f=n(3),h=r(f),d=n(6),m=r(d),v=n(5),g=r(v),y=n(0),_=r(y),b=n(1),x=r(b),w=n(7),k=n(12),E=r(k),S=n(1023),C=r(S),A=function(){},D={getComponent:x.default.func.isRequired,value:x.default.any,onChange:x.default.func,keyName:x.default.any,fn:x.default.object.isRequired,schema:x.default.object,errors:E.default.list,required:x.default.bool,description:x.default.any},O={value:\"\",onChange:A,schema:{},keyName:\"\",required:!1,errors:(0,w.List)()},M=t.JsonSchemaForm=function(e){function t(){return(0,p.default)(this,t),(0,m.default)(this,(t.__proto__||(0,l.default)(t)).apply(this,arguments))}return(0,g.default)(t,e),(0,h.default)(t,[{key:\"render\",value:function(){var e=this.props,t=e.schema,n=e.errors,r=e.value,i=e.onChange,o=e.getComponent,a=e.fn;t.toJS&&(t=t.toJS());var u=t,l=u.type,c=u.format,p=void 0===c?\"\":c,f=o(p?\"JsonSchema_\"+l+\"_\"+p:\"JsonSchema_\"+l)||o(\"JsonSchema_string\");return _.default.createElement(f,(0,s.default)({},this.props,{errors:n,fn:a,getComponent:o,value:r,onChange:i,schema:t}))}}]),t}(y.Component);M.propTypes=D,M.defaultProps=O;var T=t.JsonSchema_string=function(e){function t(){var e,n,r,i;(0,p.default)(this,t);for(var o=arguments.length,a=Array(o),s=0;s<o;s++)a[s]=arguments[s];return n=r=(0,m.default)(this,(e=t.__proto__||(0,l.default)(t)).call.apply(e,[this].concat(a))),r.onChange=function(e){var t=\"file\"===r.props.schema.type?e.target.files[0]:e.target.value;r.props.onChange(t,r.props.keyName)},r.onEnumChange=function(e){return r.props.onChange(e)},i=n,(0,m.default)(r,i)}return(0,g.default)(t,e),(0,h.default)(t,[{key:\"render\",value:function(){var e=this.props,t=e.getComponent,n=e.value,r=e.schema,i=e.errors,o=e.required,a=e.description,s=r.enum;if(i=i.toJS?i.toJS():[],s){var u=t(\"Select\");return _.default.createElement(u,{className:i.length?\"invalid\":\"\",title:i.length?i:\"\",allowedValues:s,value:n,allowEmptyValue:!o,onChange:this.onEnumChange})}var l=\"formData\"===r.in&&!(\"FormData\"in window),c=t(\"Input\");return\"file\"===r.type?_.default.createElement(c,{type:\"file\",className:i.length?\"invalid\":\"\",title:i.length?i:\"\",onChange:this.onChange,disabled:l}):_.default.createElement(C.default,{type:\"password\"===r.format?\"password\":\"text\",className:i.length?\"invalid\":\"\",title:i.length?i:\"\",value:n,minLength:0,debounceTimeout:350,placeholder:a,onChange:this.onChange,disabled:l})}}]),t}(y.Component);T.propTypes=D,T.defaultProps=O;var P=t.JsonSchema_array=function(e){function t(e,n){(0,p.default)(this,t);var r=(0,m.default)(this,(t.__proto__||(0,l.default)(t)).call(this,e,n));return r.onChange=function(){return r.props.onChange(r.state.value)},r.onItemChange=function(e,t){r.setState(function(n){return{value:n.value.set(t,e)}},r.onChange)},r.removeItem=function(e){r.setState(function(t){return{value:t.value.remove(e)}},r.onChange)},r.addItem=function(){r.setState(function(e){return e.value=e.value||(0,w.List)(),{value:e.value.push(\"\")}},r.onChange)},r.onEnumChange=function(e){r.setState(function(){return{value:e}},r.onChange)},r.state={value:e.value},r}return(0,g.default)(t,e),(0,h.default)(t,[{key:\"componentWillReceiveProps\",value:function(e){e.value!==this.state.value&&this.setState({value:e.value})}},{key:\"render\",value:function(){var e=this,t=this.props,n=t.getComponent,r=t.required,i=t.schema,a=t.errors,s=t.fn;a=a.toJS?a.toJS():[];var u=s.inferSchema(i.items),l=n(\"JsonSchemaForm\"),c=n(\"Button\"),p=u.enum,f=this.state.value;if(p){var h=n(\"Select\");return _.default.createElement(h,{className:a.length?\"invalid\":\"\",title:a.length?a:\"\",multiple:!0,value:f,allowedValues:p,allowEmptyValue:!r,onChange:this.onEnumChange})}return _.default.createElement(\"div\",null,!f||f.count()<1?null:f.map(function(t,r){var i=(0,o.default)({},u);if(a.length){var p=a.filter(function(e){return e.index===r});p.length&&(a=[p[0].error+r])}return _.default.createElement(\"div\",{key:r,className:\"json-schema-form-item\"},_.default.createElement(l,{fn:s,getComponent:n,value:t,onChange:function(t){return e.onItemChange(t,r)},schema:i}),_.default.createElement(c,{className:\"btn btn-sm json-schema-form-item-remove\",onClick:function(){return e.removeItem(r)}},\" - \"))}).toArray(),_.default.createElement(c,{className:\"btn btn-sm json-schema-form-item-add \"+(a.length?\"invalid\":null),onClick:this.addItem},\" Add item \"))}}]),t}(y.PureComponent);P.propTypes=D,P.defaultProps=O;var I=t.JsonSchema_boolean=function(e){function t(){var e,n,r,i;(0,p.default)(this,t);for(var o=arguments.length,a=Array(o),s=0;s<o;s++)a[s]=arguments[s];return n=r=(0,m.default)(this,(e=t.__proto__||(0,l.default)(t)).call.apply(e,[this].concat(a))),r.onEnumChange=function(e){return r.props.onChange(e)},i=n,(0,m.default)(r,i)}return(0,g.default)(t,e),(0,h.default)(t,[{key:\"render\",value:function(){var e=this.props,t=e.getComponent,n=e.value,r=e.errors,i=e.schema;r=r.toJS?r.toJS():[];var o=t(\"Select\");return _.default.createElement(o,{className:r.length?\"invalid\":\"\",title:r.length?r:\"\",value:String(n),allowedValues:(0,w.fromJS)(i.enum||[\"true\",\"false\"]),allowEmptyValue:!this.props.required,onChange:this.onEnumChange})}}]),t}(y.Component);I.propTypes=D,I.defaultProps=O},function(e,t,n){\"use strict\";function r(e){var t=e.auth,n=e.authActions,r=e.errActions,i=e.configs,s=e.authConfigs,u=void 0===s?{}:s,l=t.schema,c=t.scopes,p=t.name,f=t.clientId,h=l.get(\"flow\"),d=[];switch(h){case\"password\":return void n.authorizePassword(t);case\"application\":return void n.authorizeApplication(t);case\"accessCode\":d.push(\"response_type=code\");break;case\"implicit\":d.push(\"response_type=token\");break;case\"clientCredentials\":return void n.authorizeApplication(t);case\"authorizationCode\":d.push(\"response_type=code\")}\"string\"==typeof f&&d.push(\"client_id=\"+encodeURIComponent(f));var m=i.oauth2RedirectUrl;if(void 0===m)return void r.newAuthErr({authId:p,source:\"validation\",level:\"error\",message:\"oauth2RedirectUrl configuration is not passed. Oauth2 authorization cannot be performed.\"});if(d.push(\"redirect_uri=\"+encodeURIComponent(m)),Array.isArray(c)&&0<c.length){var v=u.scopeSeparator||\" \";d.push(\"scope=\"+encodeURIComponent(c.join(v)))}var g=(0,a.btoa)(new Date);d.push(\"state=\"+encodeURIComponent(g)),void 0!==u.realm&&d.push(\"realm=\"+encodeURIComponent(u.realm));var y=u.additionalQueryStringParams;for(var _ in y)void 0!==y[_]&&d.push([_,y[_]].map(encodeURIComponent).join(\"=\"));var b=l.get(\"authorizationUrl\"),x=[b,d.join(\"&\")].join(-1===b.indexOf(\"?\")?\"?\":\"&\"),w=void 0;w=\"implicit\"===h?n.preAuthorizeImplicit:u.useBasicAuthenticationWithAccessCodeGrant?n.authorizeAccessCodeWithBasicAuthentication:n.authorizeAccessCodeWithFormParams,o.default.swaggerUIRedirectOauth2={auth:t,state:g,redirectUrl:m,callback:w,errCb:r.newAuthErr},o.default.open(x)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=r;var i=n(36),o=function(e){return e&&e.__esModule?e:{default:e}}(i),a=n(9)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function i(){return[a.default,u.default]}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=i;var o=n(575),a=r(o),s=n(313),u=r(s)},function(e,t,n){\"use strict\";function r(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(){var e={components:{App:q.default,authorizationPopup:U.default,authorizeBtn:V.default,authorizeOperationBtn:J.default,auths:X.default,AuthItem:K.default,authError:Z.default,oauth2:ie.default,apiKeyAuth:ee.default,basicAuth:ne.default,clear:ae.default,liveResponse:ue.default,info:Ve.default,onlineValidatorBadge:ce.default,operations:fe.default,operation:de.default,highlightCode:be.default,responses:we.default,response:Ee.default,responseBody:Ce.default,parameters:De.default,parameterRow:Pe.default,execute:Re.default,headers:Ne.default,errors:Be.default,contentType:qe.default,overview:Ue.default,footer:Je.default,ParamBody:Xe.default,curl:Ke.default,schemes:Ze.default,modelExample:nt.default,ModelWrapper:it.default,ModelCollapse:et.default,Model:at.default,Models:ut.default,EnumModel:ct.default,ObjectModel:ft.default,ArrayModel:dt.default,PrimitiveModel:vt.default,Property:yt.default,TryItOutButton:bt.default,Markdown:Ct.default,BaseLayout:Dt.default,VersionStamp:wt.default,OperationExt:ve.default,OperationExtRow:ye.default,ParameterExt:Me.default,OperationContainer:B.default,DeepLink:Et.default,InfoUrl:We.InfoUrl,InfoBasePath:We.InfoBasePath}},t={components:Mt},n={components:Pt};return[M.default,E.default,v.default,f.default,c.default,a.default,u.default,d.default,e,t,b.default,n,w.default,y.default,C.default,D.default,P.default,R.default,N.default]};var o=n(295),a=i(o),s=n(300),u=i(s),l=n(327),c=i(l),p=n(334),f=i(p),h=n(326),d=i(h),m=n(303),v=i(m),g=n(277),y=i(g),_=n(332),b=i(_),x=n(279),w=i(x),k=n(333),E=i(k),S=n(331),C=i(S),A=n(290),D=i(A),O=n(283),M=i(O),T=n(287),P=i(T),I=n(298),R=i(I),j=n(325),N=i(j),F=n(570),B=i(F),L=n(523),q=i(L),z=n(527),U=i(z),W=n(528),V=i(W),H=n(529),J=i(H),G=n(530),X=i(G),Y=n(526),K=i(Y),$=n(532),Z=i($),Q=n(525),ee=i(Q),te=n(531),ne=i(te),re=n(533),ie=i(re),oe=n(534),ae=i(oe),se=n(546),ue=i(se),le=n(552),ce=i(le),pe=n(556),fe=i(pe),he=n(555),de=i(he),me=n(554),ve=i(me),ge=n(553),ye=i(ge),_e=n(543),be=i(_e),xe=n(566),we=i(xe),ke=n(565),Ee=i(ke),Se=n(564),Ce=i(Se),Ae=n(561),De=i(Ae),Oe=n(559),Me=i(Oe),Te=n(560),Pe=i(Te),Ie=n(540),Re=i(Ie),je=n(542),Ne=i(je),Fe=n(539),Be=i(Fe),Le=n(535),qe=i(Le),ze=n(557),Ue=i(ze),We=n(544),Ve=i(We),He=n(541),Je=i(He),Ge=n(558),Xe=i(Ge),Ye=n(536),Ke=i(Ye),$e=n(567),Ze=i($e),Qe=n(547),et=i(Qe),tt=n(548),nt=i(tt),rt=n(549),it=i(rt),ot=n(273),at=i(ot),st=n(550),ut=i(st),lt=n(538),ct=i(lt),pt=n(551),ft=i(pt),ht=n(524),dt=i(ht),mt=n(562),vt=i(mt),gt=n(563),yt=i(gt),_t=n(568),bt=i(_t),xt=n(569),wt=i(xt),kt=n(537),Et=i(kt),St=n(274),Ct=i(St),At=n(545),Dt=i(At),Ot=n(272),Mt=r(Ot),Tt=n(572),Pt=r(Tt)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t,n){var r=[(0,N.systemThunkMiddleware)(n)],i=j.default.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__||S.compose;return(0,S.createStore)(e,t,i(S.applyMiddleware.apply(void 0,r)))}function o(e,t){return(0,N.isObject)(e)&&!(0,N.isArray)(e)?e:(0,N.isFunc)(e)?o(e(t),t):(0,N.isArray)(e)?e.map(function(e){return o(e,t)}).reduce(s,{}):{}}function a(e,t){var n=this,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=r.hasLoaded,o=i;return(0,N.isObject)(e)&&!(0,N.isArray)(e)&&\"function\"==typeof e.afterLoad&&(o=!0,p(e.afterLoad).call(this,t)),(0,N.isFunc)(e)?a.call(this,e(t),t,{hasLoaded:o}):(0,N.isArray)(e)?e.map(function(e){return a.call(n,e,t,{hasLoaded:o})}):o}function s(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!(0,N.isObject)(e))return{};if(!(0,N.isObject)(t))return e;t.wrapComponents&&((0,N.objMap)(t.wrapComponents,function(n,r){var i=e.components&&e.components[r];i&&Array.isArray(i)?(e.components[r]=i.concat([n]),delete t.wrapComponents[r]):i&&(e.components[r]=[i,n],delete t.wrapComponents[r])}),(0,d.default)(t.wrapComponents).length||delete t.wrapComponents);var n=e.statePlugins;if((0,N.isObject)(n))for(var r in n){var i=n[r];if((0,N.isObject)(i)&&(0,N.isObject)(i.wrapActions)){var o=i.wrapActions;for(var a in o){var s=o[a];Array.isArray(s)||(s=[s],o[a]=s),t&&t.statePlugins&&t.statePlugins[r]&&t.statePlugins[r].wrapActions&&t.statePlugins[r].wrapActions[a]&&(t.statePlugins[r].wrapActions[a]=o[a].concat(t.statePlugins[r].wrapActions[a]))}}}return(0,O.default)(e,t)}function u(e){return l((0,N.objMap)(e,function(e){return e.reducers}))}function l(e){var t=(0,d.default)(e).reduce(function(t,n){return t[n]=c(e[n]),t},{});return(0,d.default)(t).length?(0,M.combineReducers)(t):F}function c(e){return function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new C.Map,n=arguments[1];if(!e)return t;var r=e[n.type];if(r){var i=p(r)(t,n);return null===i?t:i}return t}}function p(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.logErrors,r=void 0===n||n;return\"function\"!=typeof e?e:function(){try{for(var t=arguments.length,n=Array(t),i=0;i<t;i++)n[i]=arguments[i];return e.call.apply(e,[this].concat(n))}catch(e){return r&&console.error(e),null}}}function f(e,t,n){return i(e,t,n)}Object.defineProperty(t,\"__esModule\",{value:!0});var h=n(47),d=r(h),m=n(28),v=r(m),g=n(27),y=r(g),_=n(2),b=r(_),x=n(3),w=r(x),k=n(0),E=r(k),S=n(499),C=n(7),A=r(C),D=n(205),O=r(D),M=n(1132),T=n(268),P=r(T),I=n(127),R=n(36),j=r(R),N=n(9),F=function(e){return e},B=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(0,b.default)(this,e),(0,O.default)(this,{state:{},plugins:[],system:{configs:{},fn:{},components:{},rootInjects:{},statePlugins:{}},boundSystem:{},toolbox:{}},t),this.getSystem=this._getSystem.bind(this),this.store=f(F,(0,C.fromJS)(this.state),this.getSystem),this.buildSystem(!1),this.register(this.plugins)}return(0,w.default)(e,[{key:\"getStore\",value:function(){return this.store}},{key:\"register\",value:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=o(e,this.getSystem());s(this.system,n),t&&this.buildSystem(),a.call(this.system,e,this.getSystem())&&this.buildSystem()}},{key:\"buildSystem\",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],t=this.getStore().dispatch,n=this.getStore().getState;this.boundSystem=(0,y.default)({},this.getRootInjects(),this.getWrappedAndBoundActions(t),this.getWrappedAndBoundSelectors(n,this.getSystem),this.getStateThunks(n),this.getFn(),this.getConfigs()),e&&this.rebuildReducer()}},{key:\"_getSystem\",value:function(){return this.boundSystem}},{key:\"getRootInjects\",value:function(){return(0,y.default)({getSystem:this.getSystem,getStore:this.getStore.bind(this),getComponents:this.getComponents.bind(this),getState:this.getStore().getState,getConfigs:this._getConfigs.bind(this),Im:A.default,React:E.default},this.system.rootInjects||{})}},{key:\"_getConfigs\",value:function(){return this.system.configs}},{key:\"getConfigs\",value:function(){return{configs:this.system.configs}}},{key:\"setConfigs\",value:function(e){this.system.configs=e}},{key:\"rebuildReducer\",value:function(){this.store.replaceReducer(u(this.system.statePlugins))}},{key:\"getType\",value:function(e){var t=e[0].toUpperCase()+e.slice(1);return(0,N.objReduce)(this.system.statePlugins,function(n,r){var i=n[e];if(i)return(0,v.default)({},r+t,i)})}},{key:\"getSelectors\",value:function(){return this.getType(\"selectors\")}},{key:\"getActions\",value:function(){var e=this.getType(\"actions\");return(0,N.objMap)(e,function(e){return(0,N.objReduce)(e,function(e,t){if((0,N.isFn)(e))return(0,v.default)({},t,e)})})}},{key:\"getWrappedAndBoundActions\",value:function(e){var t=this,n=this.getBoundActions(e);return(0,N.objMap)(n,function(e,n){var r=t.system.statePlugins[n.slice(0,-7)].wrapActions;return r?(0,N.objMap)(e,function(e,n){var i=r[n];return i?(Array.isArray(i)||(i=[i]),i.reduce(function(e,n){var r=function(){return n(e,t.getSystem()).apply(void 0,arguments)};if(!(0,N.isFn)(r))throw new TypeError(\"wrapActions needs to return a function that returns a new function (ie the wrapped action)\");return p(r)},e||Function.prototype)):e}):e})}},{key:\"getWrappedAndBoundSelectors\",value:function(e,t){var n=this,r=this.getBoundSelectors(e,t);return(0,N.objMap)(r,function(t,r){var i=[r.slice(0,-9)],o=n.system.statePlugins[i].wrapSelectors;return o?(0,N.objMap)(t,function(t,r){var a=o[r];return a?(Array.isArray(a)||(a=[a]),a.reduce(function(t,r){var o=function(){for(var o=arguments.length,a=Array(o),s=0;s<o;s++)a[s]=arguments[s];return r(t,n.getSystem()).apply(void 0,[e().getIn(i)].concat(a))};if(!(0,N.isFn)(o))throw new TypeError(\"wrapSelector needs to return a function that returns a new function (ie the wrapped action)\");return o},t||Function.prototype)):t}):t})}},{key:\"getStates\",value:function(e){return(0,d.default)(this.system.statePlugins).reduce(function(t,n){return t[n]=e.get(n),t},{})}},{key:\"getStateThunks\",value:function(e){return(0,d.default)(this.system.statePlugins).reduce(function(t,n){return t[n]=function(){return e().get(n)},t},{})}},{key:\"getFn\",value:function(){return{fn:this.system.fn}}},{key:\"getComponents\",value:function(e){var t=this,n=this.system.components[e];return Array.isArray(n)?n.reduce(function(e,n){return n(e,t.getSystem())}):void 0!==e?this.system.components[e]:this.system.components}},{key:\"getBoundSelectors\",value:function(e,t){return(0,N.objMap)(this.getSelectors(),function(n,r){var i=[r.slice(0,-9)],o=function(){return e().getIn(i)};return(0,N.objMap)(n,function(e){return function(){for(var n=arguments.length,r=Array(n),i=0;i<n;i++)r[i]=arguments[i];var a=p(e).apply(null,[o()].concat(r));return\"function\"==typeof a&&(a=p(a)(t())),a}})})}},{key:\"getBoundActions\",value:function(e){e=e||this.getStore().dispatch;var t=this.getActions(),n=function e(t){return\"function\"!=typeof t?(0,N.objMap)(t,function(t){return e(t)}):function(){var e=null;try{e=t.apply(void 0,arguments)}catch(t){e={type:I.NEW_THROWN_ERR,error:!0,payload:(0,P.default)(t)}}finally{return e}}};return(0,N.objMap)(t,function(t){return(0,S.bindActionCreators)(n(t),e)})}},{key:\"getMapStateToProps\",value:function(){var e=this;return function(){return(0,y.default)({},e.getSystem())}}},{key:\"getMapDispatchToProps\",value:function(e){var t=this;return function(n){return(0,O.default)({},t.getWrappedAndBoundActions(n),t.getFn(),e)}}}]),e}();t.default=B},function(e,t,n){e.exports={default:n(598),__esModule:!0}},function(e,t,n){e.exports={default:n(600),__esModule:!0}},function(e,t,n){e.exports={default:n(607),__esModule:!0}},function(e,t,n){e.exports={default:n(609),__esModule:!0}},function(e,t,n){e.exports={default:n(610),__esModule:!0}},function(e,t,n){e.exports={default:n(611),__esModule:!0}},function(e,t,n){\"use strict\";function r(e){var t=e.length;if(t%4>0)throw new Error(\"Invalid string. Length must be a multiple of 4\");return\"=\"===e[t-2]?2:\"=\"===e[t-1]?1:0}function i(e){return 3*e.length/4-r(e)}function o(e){var t,n,i,o,a,s=e.length;o=r(e),a=new p(3*s/4-o),n=o>0?s-4:s;var u=0;for(t=0;t<n;t+=4)i=c[e.charCodeAt(t)]<<18|c[e.charCodeAt(t+1)]<<12|c[e.charCodeAt(t+2)]<<6|c[e.charCodeAt(t+3)],a[u++]=i>>16&255,a[u++]=i>>8&255,a[u++]=255&i;return 2===o?(i=c[e.charCodeAt(t)]<<2|c[e.charCodeAt(t+1)]>>4,a[u++]=255&i):1===o&&(i=c[e.charCodeAt(t)]<<10|c[e.charCodeAt(t+1)]<<4|c[e.charCodeAt(t+2)]>>2,a[u++]=i>>8&255,a[u++]=255&i),a}function a(e){return l[e>>18&63]+l[e>>12&63]+l[e>>6&63]+l[63&e]}function s(e,t,n){for(var r,i=[],o=t;o<n;o+=3)r=(e[o]<<16&16711680)+(e[o+1]<<8&65280)+(255&e[o+2]),i.push(a(r));return i.join(\"\")}function u(e){for(var t,n=e.length,r=n%3,i=\"\",o=[],a=0,u=n-r;a<u;a+=16383)o.push(s(e,a,a+16383>u?u:a+16383));return 1===r?(t=e[n-1],i+=l[t>>2],i+=l[t<<4&63],i+=\"==\"):2===r&&(t=(e[n-2]<<8)+e[n-1],i+=l[t>>10],i+=l[t>>4&63],i+=l[t<<2&63],i+=\"=\"),o.push(i),o.join(\"\")}t.byteLength=i,t.toByteArray=o,t.fromByteArray=u;for(var l=[],c=[],p=\"undefined\"!=typeof Uint8Array?Uint8Array:Array,f=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",h=0,d=f.length;h<d;++h)l[h]=f[h],c[f.charCodeAt(h)]=h;c[\"-\".charCodeAt(0)]=62,c[\"_\".charCodeAt(0)]=63},function(e,t,n){/*!\n * Bowser - a browser detector\n * https://github.com/ded/bowser\n * MIT License | (c) Dustin Diaz 2015\n */\n!function(t,r,i){void 0!==e&&e.exports?e.exports=i():n(1209)(\"bowser\",i)}(0,0,function(){function e(e){function t(t){var n=e.match(t);return n&&n.length>1&&n[1]||\"\"}function n(t){var n=e.match(t);return n&&n.length>1&&n[2]||\"\"}var r,i=t(/(ipod|iphone|ipad)/i).toLowerCase(),o=/like android/i.test(e),s=!o&&/android/i.test(e),u=/nexus\\s*[0-6]\\s*/i.test(e),l=!u&&/nexus\\s*[0-9]+/i.test(e),c=/CrOS/.test(e),p=/silk/i.test(e),f=/sailfish/i.test(e),h=/tizen/i.test(e),d=/(web|hpw)os/i.test(e),m=/windows phone/i.test(e),v=(/SamsungBrowser/i.test(e),!m&&/windows/i.test(e)),g=!i&&!p&&/macintosh/i.test(e),y=!s&&!f&&!h&&!d&&/linux/i.test(e),_=n(/edg([ea]|ios)\\/(\\d+(\\.\\d+)?)/i),b=t(/version\\/(\\d+(\\.\\d+)?)/i),x=/tablet/i.test(e)&&!/tablet pc/i.test(e),w=!x&&/[^-]mobi/i.test(e),k=/xbox/i.test(e);/opera/i.test(e)?r={name:\"Opera\",opera:a,version:b||t(/(?:opera|opr|opios)[\\s\\/](\\d+(\\.\\d+)?)/i)}:/opr\\/|opios/i.test(e)?r={name:\"Opera\",opera:a,version:t(/(?:opr|opios)[\\s\\/](\\d+(\\.\\d+)?)/i)||b}:/SamsungBrowser/i.test(e)?r={name:\"Samsung Internet for Android\",samsungBrowser:a,version:b||t(/(?:SamsungBrowser)[\\s\\/](\\d+(\\.\\d+)?)/i)}:/coast/i.test(e)?r={name:\"Opera Coast\",coast:a,version:b||t(/(?:coast)[\\s\\/](\\d+(\\.\\d+)?)/i)}:/yabrowser/i.test(e)?r={name:\"Yandex Browser\",yandexbrowser:a,version:b||t(/(?:yabrowser)[\\s\\/](\\d+(\\.\\d+)?)/i)}:/ucbrowser/i.test(e)?r={name:\"UC Browser\",ucbrowser:a,version:t(/(?:ucbrowser)[\\s\\/](\\d+(?:\\.\\d+)+)/i)}:/mxios/i.test(e)?r={name:\"Maxthon\",maxthon:a,version:t(/(?:mxios)[\\s\\/](\\d+(?:\\.\\d+)+)/i)}:/epiphany/i.test(e)?r={name:\"Epiphany\",epiphany:a,version:t(/(?:epiphany)[\\s\\/](\\d+(?:\\.\\d+)+)/i)}:/puffin/i.test(e)?r={name:\"Puffin\",puffin:a,version:t(/(?:puffin)[\\s\\/](\\d+(?:\\.\\d+)?)/i)}:/sleipnir/i.test(e)?r={name:\"Sleipnir\",sleipnir:a,version:t(/(?:sleipnir)[\\s\\/](\\d+(?:\\.\\d+)+)/i)}:/k-meleon/i.test(e)?r={name:\"K-Meleon\",kMeleon:a,version:t(/(?:k-meleon)[\\s\\/](\\d+(?:\\.\\d+)+)/i)}:m?(r={name:\"Windows Phone\",osname:\"Windows Phone\",windowsphone:a},_?(r.msedge=a,r.version=_):(r.msie=a,r.version=t(/iemobile\\/(\\d+(\\.\\d+)?)/i))):/msie|trident/i.test(e)?r={name:\"Internet Explorer\",msie:a,version:t(/(?:msie |rv:)(\\d+(\\.\\d+)?)/i)}:c?r={name:\"Chrome\",osname:\"Chrome OS\",chromeos:a,chromeBook:a,chrome:a,version:t(/(?:chrome|crios|crmo)\\/(\\d+(\\.\\d+)?)/i)}:/edg([ea]|ios)/i.test(e)?r={name:\"Microsoft Edge\",msedge:a,version:_}:/vivaldi/i.test(e)?r={name:\"Vivaldi\",vivaldi:a,version:t(/vivaldi\\/(\\d+(\\.\\d+)?)/i)||b}:f?r={name:\"Sailfish\",osname:\"Sailfish OS\",sailfish:a,version:t(/sailfish\\s?browser\\/(\\d+(\\.\\d+)?)/i)}:/seamonkey\\//i.test(e)?r={name:\"SeaMonkey\",seamonkey:a,version:t(/seamonkey\\/(\\d+(\\.\\d+)?)/i)}:/firefox|iceweasel|fxios/i.test(e)?(r={name:\"Firefox\",firefox:a,version:t(/(?:firefox|iceweasel|fxios)[ \\/](\\d+(\\.\\d+)?)/i)},/\\((mobile|tablet);[^\\)]*rv:[\\d\\.]+\\)/i.test(e)&&(r.firefoxos=a,r.osname=\"Firefox OS\")):p?r={name:\"Amazon Silk\",silk:a,version:t(/silk\\/(\\d+(\\.\\d+)?)/i)}:/phantom/i.test(e)?r={name:\"PhantomJS\",phantom:a,version:t(/phantomjs\\/(\\d+(\\.\\d+)?)/i)}:/slimerjs/i.test(e)?r={name:\"SlimerJS\",slimer:a,version:t(/slimerjs\\/(\\d+(\\.\\d+)?)/i)}:/blackberry|\\bbb\\d+/i.test(e)||/rim\\stablet/i.test(e)?r={name:\"BlackBerry\",osname:\"BlackBerry OS\",blackberry:a,version:b||t(/blackberry[\\d]+\\/(\\d+(\\.\\d+)?)/i)}:d?(r={name:\"WebOS\",osname:\"WebOS\",webos:a,version:b||t(/w(?:eb)?osbrowser\\/(\\d+(\\.\\d+)?)/i)},/touchpad\\//i.test(e)&&(r.touchpad=a)):/bada/i.test(e)?r={name:\"Bada\",osname:\"Bada\",bada:a,version:t(/dolfin\\/(\\d+(\\.\\d+)?)/i)}:h?r={name:\"Tizen\",osname:\"Tizen\",tizen:a,version:t(/(?:tizen\\s?)?browser\\/(\\d+(\\.\\d+)?)/i)||b}:/qupzilla/i.test(e)?r={name:\"QupZilla\",qupzilla:a,version:t(/(?:qupzilla)[\\s\\/](\\d+(?:\\.\\d+)+)/i)||b}:/chromium/i.test(e)?r={name:\"Chromium\",chromium:a,version:t(/(?:chromium)[\\s\\/](\\d+(?:\\.\\d+)?)/i)||b}:/chrome|crios|crmo/i.test(e)?r={name:\"Chrome\",chrome:a,version:t(/(?:chrome|crios|crmo)\\/(\\d+(\\.\\d+)?)/i)}:s?r={name:\"Android\",version:b}:/safari|applewebkit/i.test(e)?(r={name:\"Safari\",safari:a},b&&(r.version=b)):i?(r={name:\"iphone\"==i?\"iPhone\":\"ipad\"==i?\"iPad\":\"iPod\"},b&&(r.version=b)):r=/googlebot/i.test(e)?{name:\"Googlebot\",googlebot:a,version:t(/googlebot\\/(\\d+(\\.\\d+))/i)||b}:{name:t(/^(.*)\\/(.*) /),version:n(/^(.*)\\/(.*) /)},!r.msedge&&/(apple)?webkit/i.test(e)?(/(apple)?webkit\\/537\\.36/i.test(e)?(r.name=r.name||\"Blink\",r.blink=a):(r.name=r.name||\"Webkit\",r.webkit=a),!r.version&&b&&(r.version=b)):!r.opera&&/gecko\\//i.test(e)&&(r.name=r.name||\"Gecko\",r.gecko=a,r.version=r.version||t(/gecko\\/(\\d+(\\.\\d+)?)/i)),r.windowsphone||!s&&!r.silk?!r.windowsphone&&i?(r[i]=a,r.ios=a,r.osname=\"iOS\"):g?(r.mac=a,r.osname=\"macOS\"):k?(r.xbox=a,r.osname=\"Xbox\"):v?(r.windows=a,r.osname=\"Windows\"):y&&(r.linux=a,r.osname=\"Linux\"):(r.android=a,r.osname=\"Android\");var E=\"\";r.windows?E=function(e){switch(e){case\"NT\":return\"NT\";case\"XP\":return\"XP\";case\"NT 5.0\":return\"2000\";case\"NT 5.1\":return\"XP\";case\"NT 5.2\":return\"2003\";case\"NT 6.0\":return\"Vista\";case\"NT 6.1\":return\"7\";case\"NT 6.2\":return\"8\";case\"NT 6.3\":return\"8.1\";case\"NT 10.0\":return\"10\";default:return}}(t(/Windows ((NT|XP)( \\d\\d?.\\d)?)/i)):r.windowsphone?E=t(/windows phone (?:os)?\\s?(\\d+(\\.\\d+)*)/i):r.mac?(E=t(/Mac OS X (\\d+([_\\.\\s]\\d+)*)/i),E=E.replace(/[_\\s]/g,\".\")):i?(E=t(/os (\\d+([_\\s]\\d+)*) like mac os x/i),E=E.replace(/[_\\s]/g,\".\")):s?E=t(/android[ \\/-](\\d+(\\.\\d+)*)/i):r.webos?E=t(/(?:web|hpw)os\\/(\\d+(\\.\\d+)*)/i):r.blackberry?E=t(/rim\\stablet\\sos\\s(\\d+(\\.\\d+)*)/i):r.bada?E=t(/bada\\/(\\d+(\\.\\d+)*)/i):r.tizen&&(E=t(/tizen[\\/\\s](\\d+(\\.\\d+)*)/i)),E&&(r.osversion=E);var S=!r.windows&&E.split(\".\")[0];return x||l||\"ipad\"==i||s&&(3==S||S>=4&&!w)||r.silk?r.tablet=a:(w||\"iphone\"==i||\"ipod\"==i||s||u||r.blackberry||r.webos||r.bada)&&(r.mobile=a),r.msedge||r.msie&&r.version>=10||r.yandexbrowser&&r.version>=15||r.vivaldi&&r.version>=1||r.chrome&&r.version>=20||r.samsungBrowser&&r.version>=4||r.firefox&&r.version>=20||r.safari&&r.version>=6||r.opera&&r.version>=10||r.ios&&r.osversion&&r.osversion.split(\".\")[0]>=6||r.blackberry&&r.version>=10.1||r.chromium&&r.version>=20?r.a=a:r.msie&&r.version<10||r.chrome&&r.version<20||r.firefox&&r.version<20||r.safari&&r.version<6||r.opera&&r.version<10||r.ios&&r.osversion&&r.osversion.split(\".\")[0]<6||r.chromium&&r.version<20?r.c=a:r.x=a,r}function t(e){return e.split(\".\").length}function n(e,t){var n,r=[];if(Array.prototype.map)return Array.prototype.map.call(e,t);for(n=0;n<e.length;n++)r.push(t(e[n]));return r}function r(e){for(var r=Math.max(t(e[0]),t(e[1])),i=n(e,function(e){var i=r-t(e);return e+=new Array(i+1).join(\".0\"),n(e.split(\".\"),function(e){return new Array(20-e.length).join(\"0\")+e}).reverse()});--r>=0;){if(i[0][r]>i[1][r])return 1;if(i[0][r]!==i[1][r])return-1;if(0===r)return 0}}function i(t,n,i){var o=s;\"string\"==typeof n&&(i=n,n=void 0),void 0===n&&(n=!1),i&&(o=e(i));var a=\"\"+o.version;for(var u in t)if(t.hasOwnProperty(u)&&o[u]){if(\"string\"!=typeof t[u])throw new Error(\"Browser version in the minVersion map should be a string: \"+u+\": \"+String(t));return r([a,t[u]])<0}return n}function o(e,t,n){return!i(e,t,n)}var a=!0,s=e(\"undefined\"!=typeof navigator?navigator.userAgent||\"\":\"\");return s.test=function(e){for(var t=0;t<e.length;++t){var n=e[t];if(\"string\"==typeof n&&n in s)return!0}return!1},s.isUnsupportedBrowser=i,s.compareVersions=r,s.check=o,s._detect=e,s.detect=e,s})},function(e,t,n){(function(t){!function(){\"use strict\";function n(e){var n;return n=e instanceof t?e:new t(e.toString(),\"binary\"),n.toString(\"base64\")}e.exports=n}()}).call(t,n(42).Buffer)},function(e,t,n){var r,i;/*!\n  Copyright (c) 2016 Jed Watson.\n  Licensed under the MIT License (MIT), see\n  http://jedwatson.github.io/classnames\n*/\n!function(){\"use strict\";function n(){for(var e=[],t=0;t<arguments.length;t++){var r=arguments[t];if(r){var i=typeof r;if(\"string\"===i||\"number\"===i)e.push(r);else if(Array.isArray(r))e.push(n.apply(null,r));else if(\"object\"===i)for(var a in r)o.call(r,a)&&r[a]&&e.push(a)}}return e.join(\" \")}var o={}.hasOwnProperty;void 0!==e&&e.exports?e.exports=n:(r=[],void 0!==(i=function(){return n}.apply(t,r))&&(e.exports=i))}()},function(e,t,n){\"use strict\";function r(e){return{key:e.nodeKey,className:e.className,\"data-sourcepos\":e[\"data-sourcepos\"]}}function i(e){var t=e.toLowerCase(),n=w[t]||t;return void 0!==k[n]?n:e}function o(e){return Object.keys(e||{}).reduce(function(t,n){return t[i(n)]=e[n],t},{})}function a(e){var t=r(e),n=e.escapeHtml?{}:{dangerouslySetInnerHTML:{__html:e.literal}},i=e.escapeHtml?[e.literal]:null;if(e.escapeHtml||!e.skipHtml){var o=y(t,n);return l(e.isBlock?\"div\":\"span\",o,i)}}function s(e){var t=e.parent.parent;return t&&\"list\"===t.type.toLowerCase()&&t.listTight}function u(e,t){var n=e;do{n=n.parent}while(!n.react);n.react.children.push(t)}function l(e,t,n){var r=Array.isArray(n)&&n.reduce(c,[]),i=[e,t].concat(r||n);return g.createElement.apply(g,i)}function c(e,t){var n=e.length-1;return\"string\"==typeof t&&\"string\"==typeof e[n]?e[n]+=t:e.push(t),e}function p(e){return[e[0][0],\":\",e[0][1],\"-\",e[1][0],\":\",e[1][1]].map(String).join(\"\")}function f(e,t,n,r){var o={key:t};n.sourcePos&&e.sourcepos&&(o[\"data-sourcepos\"]=p(e.sourcepos));var a=i(e.type);switch(a){case\"html_inline\":case\"html_block\":o.isBlock=\"html_block\"===a,o.escapeHtml=n.escapeHtml,o.skipHtml=n.skipHtml;break;case\"code_block\":var s=e.info?e.info.split(/ +/):[];s.length>0&&s[0].length>0&&(o.language=s[0],o.codeinfo=s);break;case\"code\":o.children=e.literal,o.inline=!0;break;case\"heading\":o.level=e.level;break;case\"softbreak\":o.softBreak=n.softBreak;break;case\"link\":o.href=n.transformLinkUri?n.transformLinkUri(e.destination):e.destination,o.title=e.title||void 0,n.linkTarget&&(o.target=n.linkTarget);break;case\"image\":o.src=n.transformImageUri?n.transformImageUri(e.destination):e.destination,o.title=e.title||void 0,o.alt=e.react.children.join(\"\"),e.react.children=void 0;break;case\"list\":o.start=e.listStart,o.type=e.listType,o.tight=e.listTight}\"string\"!=typeof r&&(o.literal=e.literal);var u=o.children||e.react&&e.react.children;return Array.isArray(u)&&(o.children=u.reduce(c,[])||null),o}function h(e){return e?e.sourcepos?p(e.sourcepos):h(e.parent):null}function d(e){for(var t,n,r,o,a,l,c,p,d,m=e.walker(),v={sourcePos:this.sourcePos,escapeHtml:this.escapeHtml,skipHtml:this.skipHtml,transformLinkUri:this.transformLinkUri,transformImageUri:this.transformImageUri,softBreak:this.softBreak,linkTarget:this.linkTarget},_=0;t=m.next();){var b=h(t.node.sourcepos?t.node:t.node.parent);if(d===b?(c=b+_,_++):(c=b,_=0),d=b,r=t.entering,o=!r,n=t.node,a=i(n.type),p=null,l){if(n!==l&&!(\"paragraph\"===a&&s(n)||this.skipHtml&&(\"html_block\"===a||\"html_inline\"===a))){var w=n===l,k=-1===this.allowedTypes.indexOf(a),E=!1,S=n.isContainer&&o,C=this.renderers[a];if(this.allowNode&&(S||!n.isContainer)){var A=S?n.react.children:[];p=f(n,c,v,C),E=!this.allowNode({type:x(a),renderer:this.renderers[a],props:p,children:A})}if(w||!E&&!k){var D=\"text\"===a||\"softbreak\"===a;if(\"function\"!=typeof C&&!D&&\"string\"!=typeof C)throw new Error(\"Renderer for type `\"+x(n.type)+\"` not defined or is not renderable\");if(n.isContainer&&r)n.react={component:C,props:{},children:[]};else{var O=p||f(n,c,v,C);if(C)O=\"string\"==typeof C?O:y(O,{nodeKey:O.key}),u(n,g.createElement(C,O));else if(\"text\"===a)u(n,n.literal);else if(\"softbreak\"===a){var M=\"br\"===this.softBreak?g.createElement(\"br\",{key:c}):this.softBreak;u(n,M)}}}else!this.unwrapDisallowed&&r&&n.isContainer&&m.resumeAt(n,!1)}}else l=n,n.react={children:[]}}return l.react.children}function m(e){var t=e.replace(/file:\\/\\//g,\"x-file://\");return decodeURI(b.uriInDoubleQuotedAttr(t))}function v(e){var t=e||{};if(t.allowedTypes&&t.disallowedTypes)throw new Error(\"Only one of `allowedTypes` and `disallowedTypes` should be defined\");if(t.allowedTypes&&!Array.isArray(t.allowedTypes))throw new Error(\"`allowedTypes` must be an array\");if(t.disallowedTypes&&!Array.isArray(t.disallowedTypes))throw new Error(\"`disallowedTypes` must be an array\");if(t.allowNode&&\"function\"!=typeof t.allowNode)throw new Error(\"`allowNode` must be a function\");var n=t.transformLinkUri;if(void 0===n)n=m;else if(n&&\"function\"!=typeof n)throw new Error(\"`transformLinkUri` must either be a function, or `null` to disable\");var r=t.transformImageUri;if(void 0!==r&&\"function\"!=typeof r)throw new Error(\"`transformImageUri` must be a function\");if(t.renderers&&!_(t.renderers))throw new Error(\"`renderers` must be a plain object of `Type`: `Renderer` pairs\");var a=t.allowedTypes&&t.allowedTypes.map(i)||E;if(t.disallowedTypes){var s=t.disallowedTypes.map(i);a=a.filter(function(e){return-1===s.indexOf(e)})}return{sourcePos:Boolean(t.sourcePos),softBreak:t.softBreak||\"\\n\",renderers:y({},k,o(t.renderers)),escapeHtml:Boolean(t.escapeHtml),skipHtml:Boolean(t.skipHtml),transformLinkUri:n,transformImageUri:r,allowNode:t.allowNode,allowedTypes:a,unwrapDisallowed:Boolean(t.unwrapDisallowed),render:d,linkTarget:t.linkTarget||!1}}var g=n(0),y=n(838),_=n(401),b=n(1214),x=n(993),w={blockquote:\"block_quote\",thematicbreak:\"thematic_break\",htmlblock:\"html_block\",htmlinline:\"html_inline\",codeblock:\"code_block\",hardbreak:\"linebreak\"},k={block_quote:\"blockquote\",emph:\"em\",linebreak:\"br\",image:\"img\",item:\"li\",link:\"a\",paragraph:\"p\",strong:\"strong\",thematic_break:\"hr\",html_block:a,html_inline:a,list:function(e){var t=\"bullet\"===e.type.toLowerCase()?\"ul\":\"ol\",n=r(e);return null!==e.start&&1!==e.start&&(n.start=e.start.toString()),l(t,n,e.children)},code_block:function(e){var t=e.language&&\"language-\"+e.language,n=l(\"code\",{className:t},e.literal);return l(\"pre\",r(e),n)},code:function(e){return l(\"code\",r(e),e.children)},heading:function(e){return l(\"h\"+e.level,r(e),e.children)},text:null,softbreak:null},E=Object.keys(k);v.uriTransformer=m,v.types=E.map(x),v.renderers=E.reduce(function(e,t){return e[x(t)]=k[t],e},{}),e.exports=v},function(e,t,n){\"use strict\";function r(e){return{doc:new B,blocks:M,blockStarts:T,tip:this.doc,oldtip:this.doc,currentLine:\"\",lineNumber:0,offset:0,column:0,nextNonspace:0,nextNonspaceColumn:0,indent:0,indented:!1,blank:!1,partiallyConsumedTab:!1,allClosed:!0,lastMatchedContainer:this.doc,refmap:{},lastLineLength:0,inlineParser:new u(e),findNextNonspace:R,advanceOffset:P,advanceNextNonspace:I,addLine:S,addChild:C,incorporateLine:j,finalize:N,processInlines:F,closeUnmatchedBlocks:O,parse:L,options:e||{}}}var i=n(176),o=n(73).unescapeString,a=n(73).OPENTAG,s=n(73).CLOSETAG,u=n(591),l=[/./,/^<(?:script|pre|style)(?:\\s|>|$)/i,/^<!--/,/^<[?]/,/^<![A-Z]/,/^<!\\[CDATA\\[/,/^<[\\/]?(?:address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[123456]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|title|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul)(?:\\s|[\\/]?[>]|$)/i,new RegExp(\"^(?:\"+a+\"|\"+s+\")\\\\s*$\",\"i\")],c=[/./,/<\\/(?:script|pre|style)>/i,/-->/,/\\?>/,/>/,/\\]\\]>/],p=/^(?:(?:\\*[ \\t]*){3,}|(?:_[ \\t]*){3,}|(?:-[ \\t]*){3,})[ \\t]*$/,f=/^[#`~*+_=<>0-9-]/,h=/[^ \\t\\f\\v\\r\\n]/,d=/^[*+-]/,m=/^(\\d{1,9})([.)])/,v=/^#{1,6}(?:[ \\t]+|$)/,g=/^`{3,}(?!.*`)|^~{3,}(?!.*~)/,y=/^(?:`{3,}|~{3,})(?= *$)/,_=/^(?:=+|-+)[ \\t]*$/,b=/\\r\\n|\\n|\\r/,x=function(e){return!h.test(e)},w=function(e){return 32===e||9===e},k=function(e,t){return t<e.length?e.charCodeAt(t):-1},E=function(e){for(;e;){if(e._lastLineBlank)return!0;var t=e.type;if(\"list\"!==t&&\"item\"!==t)break;e=e._lastChild}return!1},S=function(){if(this.partiallyConsumedTab){this.offset+=1;var e=4-this.column%4;this.tip._string_content+=\" \".repeat(e)}this.tip._string_content+=this.currentLine.slice(this.offset)+\"\\n\"},C=function(e,t){for(;!this.blocks[this.tip.type].canContain(e);)this.finalize(this.tip,this.lineNumber-1);var n=t+1,r=new i(e,[[this.lineNumber,n],[0,0]]);return r._string_content=\"\",this.tip.appendChild(r),this.tip=r,r},A=function(e,t){var n,r,i,o,a=e.currentLine.slice(e.nextNonspace),s={type:null,tight:!0,bulletChar:null,start:null,delimiter:null,padding:null,markerOffset:e.indent};if(n=a.match(d))s.type=\"bullet\",s.bulletChar=n[0][0];else{if(!(n=a.match(m))||\"paragraph\"===t.type&&\"1\"!==n[1])return null;s.type=\"ordered\",s.start=parseInt(n[1]),s.delimiter=n[2]}if(-1!==(r=k(e.currentLine,e.nextNonspace+n[0].length))&&9!==r&&32!==r)return null;if(\"paragraph\"===t.type&&!e.currentLine.slice(e.nextNonspace+n[0].length).match(h))return null;e.advanceNextNonspace(),e.advanceOffset(n[0].length,!0),i=e.column,o=e.offset;do{e.advanceOffset(1,!0),r=k(e.currentLine,e.offset)}while(e.column-i<5&&w(r));var u=-1===k(e.currentLine,e.offset),l=e.column-i;return l>=5||l<1||u?(s.padding=n[0].length+1,e.column=i,e.offset=o,w(k(e.currentLine,e.offset))&&e.advanceOffset(1,!0)):s.padding=n[0].length+l,s},D=function(e,t){return e.type===t.type&&e.delimiter===t.delimiter&&e.bulletChar===t.bulletChar},O=function(){if(!this.allClosed){for(;this.oldtip!==this.lastMatchedContainer;){var e=this.oldtip._parent;this.finalize(this.oldtip,this.lineNumber-1),this.oldtip=e}this.allClosed=!0}},M={document:{continue:function(){return 0},finalize:function(){},canContain:function(e){return\"item\"!==e},acceptsLines:!1},list:{continue:function(){return 0},finalize:function(e,t){for(var n=t._firstChild;n;){if(E(n)&&n._next){t._listData.tight=!1;break}for(var r=n._firstChild;r;){if(E(r)&&(n._next||r._next)){t._listData.tight=!1;break}r=r._next}n=n._next}},canContain:function(e){return\"item\"===e},acceptsLines:!1},block_quote:{continue:function(e){var t=e.currentLine;return e.indented||62!==k(t,e.nextNonspace)?1:(e.advanceNextNonspace(),e.advanceOffset(1,!1),w(k(t,e.offset))&&e.advanceOffset(1,!0),0)},finalize:function(){},canContain:function(e){return\"item\"!==e},acceptsLines:!1},item:{continue:function(e,t){if(e.blank){if(null==t._firstChild)return 1;e.advanceNextNonspace()}else{if(!(e.indent>=t._listData.markerOffset+t._listData.padding))return 1;e.advanceOffset(t._listData.markerOffset+t._listData.padding,!0)}return 0},finalize:function(){},canContain:function(e){return\"item\"!==e},acceptsLines:!1},heading:{continue:function(){return 1},finalize:function(){},canContain:function(){return!1},acceptsLines:!1},thematic_break:{continue:function(){return 1},finalize:function(){},canContain:function(){return!1},acceptsLines:!1},code_block:{continue:function(e,t){var n=e.currentLine,r=e.indent;if(t._isFenced){var i=r<=3&&n.charAt(e.nextNonspace)===t._fenceChar&&n.slice(e.nextNonspace).match(y);if(i&&i[0].length>=t._fenceLength)return e.finalize(t,e.lineNumber),2;for(var o=t._fenceOffset;o>0&&w(k(n,e.offset));)e.advanceOffset(1,!0),o--}else if(r>=4)e.advanceOffset(4,!0);else{if(!e.blank)return 1;e.advanceNextNonspace()}return 0},finalize:function(e,t){if(t._isFenced){var n=t._string_content,r=n.indexOf(\"\\n\"),i=n.slice(0,r),a=n.slice(r+1);t.info=o(i.trim()),t._literal=a}else t._literal=t._string_content.replace(/(\\n *)+$/,\"\\n\");t._string_content=null},canContain:function(){return!1},acceptsLines:!0},html_block:{continue:function(e,t){return!e.blank||6!==t._htmlBlockType&&7!==t._htmlBlockType?0:1},finalize:function(e,t){t._literal=t._string_content.replace(/(\\n *)+$/,\"\"),t._string_content=null},canContain:function(){return!1},acceptsLines:!0},paragraph:{continue:function(e){return e.blank?1:0},finalize:function(e,t){for(var n,r=!1;91===k(t._string_content,0)&&(n=e.inlineParser.parseReference(t._string_content,e.refmap));)t._string_content=t._string_content.slice(n),r=!0;r&&x(t._string_content)&&t.unlink()},canContain:function(){return!1},acceptsLines:!0}},T=[function(e){return e.indented||62!==k(e.currentLine,e.nextNonspace)?0:(e.advanceNextNonspace(),e.advanceOffset(1,!1),w(k(e.currentLine,e.offset))&&e.advanceOffset(1,!0),e.closeUnmatchedBlocks(),e.addChild(\"block_quote\",e.nextNonspace),1)},function(e){var t;if(!e.indented&&(t=e.currentLine.slice(e.nextNonspace).match(v))){e.advanceNextNonspace(),e.advanceOffset(t[0].length,!1),e.closeUnmatchedBlocks();var n=e.addChild(\"heading\",e.nextNonspace);return n.level=t[0].trim().length,n._string_content=e.currentLine.slice(e.offset).replace(/^[ \\t]*#+[ \\t]*$/,\"\").replace(/[ \\t]+#+[ \\t]*$/,\"\"),e.advanceOffset(e.currentLine.length-e.offset),2}return 0},function(e){var t;if(!e.indented&&(t=e.currentLine.slice(e.nextNonspace).match(g))){var n=t[0].length;e.closeUnmatchedBlocks();var r=e.addChild(\"code_block\",e.nextNonspace);return r._isFenced=!0,r._fenceLength=n,r._fenceChar=t[0][0],r._fenceOffset=e.indent,e.advanceNextNonspace(),e.advanceOffset(n,!1),2}return 0},function(e,t){if(!e.indented&&60===k(e.currentLine,e.nextNonspace)){var n,r=e.currentLine.slice(e.nextNonspace);for(n=1;n<=7;n++)if(l[n].test(r)&&(n<7||\"paragraph\"!==t.type)){e.closeUnmatchedBlocks();var i=e.addChild(\"html_block\",e.offset);return i._htmlBlockType=n,2}}return 0},function(e,t){var n;if(!e.indented&&\"paragraph\"===t.type&&(n=e.currentLine.slice(e.nextNonspace).match(_))){e.closeUnmatchedBlocks();var r=new i(\"heading\",t.sourcepos);return r.level=\"=\"===n[0][0]?1:2,r._string_content=t._string_content,t.insertAfter(r),t.unlink(),e.tip=r,e.advanceOffset(e.currentLine.length-e.offset,!1),2}return 0},function(e){return!e.indented&&p.test(e.currentLine.slice(e.nextNonspace))?(e.closeUnmatchedBlocks(),e.addChild(\"thematic_break\",e.nextNonspace),e.advanceOffset(e.currentLine.length-e.offset,!1),2):0},function(e,t){var n;return e.indented&&\"list\"!==t.type||!(n=A(e,t))?0:(e.closeUnmatchedBlocks(),\"list\"===e.tip.type&&D(t._listData,n)||(t=e.addChild(\"list\",e.nextNonspace),t._listData=n),t=e.addChild(\"item\",e.nextNonspace),t._listData=n,1)},function(e){return e.indented&&\"paragraph\"!==e.tip.type&&!e.blank?(e.advanceOffset(4,!0),e.closeUnmatchedBlocks(),e.addChild(\"code_block\",e.offset),2):0}],P=function(e,t){for(var n,r,i,o=this.currentLine;e>0&&(i=o[this.offset]);)\"\\t\"===i?(n=4-this.column%4,t?(this.partiallyConsumedTab=n>e,r=n>e?e:n,this.column+=r,this.offset+=this.partiallyConsumedTab?0:1,e-=r):(this.partiallyConsumedTab=!1,this.column+=n,this.offset+=1,e-=1)):(this.partiallyConsumedTab=!1,this.offset+=1,this.column+=1,e-=1)},I=function(){this.offset=this.nextNonspace,this.column=this.nextNonspaceColumn,this.partiallyConsumedTab=!1},R=function(){for(var e,t=this.currentLine,n=this.offset,r=this.column;\"\"!==(e=t.charAt(n));)if(\" \"===e)n++,r++;else{if(\"\\t\"!==e)break;n++,r+=4-r%4}this.blank=\"\\n\"===e||\"\\r\"===e||\"\"===e,this.nextNonspace=n,this.nextNonspaceColumn=r,this.indent=this.nextNonspaceColumn-this.column,this.indented=this.indent>=4},j=function(e){var t,n=!0,r=this.doc;this.oldtip=this.tip,this.offset=0,this.column=0,this.blank=!1,this.partiallyConsumedTab=!1,this.lineNumber+=1,-1!==e.indexOf(\"\\0\")&&(e=e.replace(/\\0/g,\"�\")),this.currentLine=e;for(var i;(i=r._lastChild)&&i._open;){switch(r=i,this.findNextNonspace(),this.blocks[r.type].continue(this,r)){case 0:break;case 1:n=!1;break;case 2:return void(this.lastLineLength=e.length);default:throw\"continue returned illegal value, must be 0, 1, or 2\"}if(!n){r=r._parent;break}}this.allClosed=r===this.oldtip,this.lastMatchedContainer=r;for(var o=\"paragraph\"!==r.type&&M[r.type].acceptsLines,a=this.blockStarts,s=a.length;!o;){if(this.findNextNonspace(),!this.indented&&!f.test(e.slice(this.nextNonspace))){this.advanceNextNonspace();break}for(var u=0;u<s;){var l=a[u](this,r);if(1===l){r=this.tip;break}if(2===l){r=this.tip,o=!0;break}u++}if(u===s){this.advanceNextNonspace();break}}if(this.allClosed||this.blank||\"paragraph\"!==this.tip.type){this.closeUnmatchedBlocks(),this.blank&&r.lastChild&&(r.lastChild._lastLineBlank=!0),t=r.type;for(var p=this.blank&&!(\"block_quote\"===t||\"code_block\"===t&&r._isFenced||\"item\"===t&&!r._firstChild&&r.sourcepos[0][0]===this.lineNumber),h=r;h;)h._lastLineBlank=p,h=h._parent;this.blocks[t].acceptsLines?(this.addLine(),\"html_block\"===t&&r._htmlBlockType>=1&&r._htmlBlockType<=5&&c[r._htmlBlockType].test(this.currentLine.slice(this.offset))&&this.finalize(r,this.lineNumber)):this.offset<e.length&&!this.blank&&(r=this.addChild(\"paragraph\",this.offset),this.advanceNextNonspace(),this.addLine())}else this.addLine();this.lastLineLength=e.length},N=function(e,t){var n=e._parent;e._open=!1,e.sourcepos[1]=[t,this.lastLineLength],this.blocks[e.type].finalize(this,e),this.tip=n},F=function(e){var t,n,r,i=e.walker();for(this.inlineParser.refmap=this.refmap,this.inlineParser.options=this.options;n=i.next();)t=n.node,r=t.type,n.entering||\"paragraph\"!==r&&\"heading\"!==r||this.inlineParser.parse(t)},B=function(){return new i(\"document\",[[1,1],[0,0]])},L=function(e){this.doc=new B,this.tip=this.doc,this.refmap={},this.lineNumber=0,this.lastLineLength=0,this.offset=0,this.column=0,this.lastMatchedContainer=this.doc,this.currentLine=\"\",this.options.time&&console.time(\"preparing input\");var t=e.split(b),n=t.length;10===e.charCodeAt(e.length-1)&&(n-=1),this.options.time&&console.timeEnd(\"preparing input\"),this.options.time&&console.time(\"block parsing\");for(var r=0;r<n;r++)this.incorporateLine(t[r]);for(;this.tip;)this.finalize(this.tip,n);return this.options.time&&console.timeEnd(\"block parsing\"),this.options.time&&console.time(\"inline parsing\"),this.processInlines(this.doc),this.options.time&&console.timeEnd(\"inline parsing\"),this.doc};e.exports=r},function(e,t,n){\"use strict\";/*! http://mths.be/fromcodepoint v0.2.1 by @mathias */\nif(String.fromCodePoint)e.exports=function(e){try{return String.fromCodePoint(e)}catch(e){if(e instanceof RangeError)return String.fromCharCode(65533);throw e}};else{var r=String.fromCharCode,i=Math.floor,o=function(){var e,t,n=[],o=-1,a=arguments.length;if(!a)return\"\";for(var s=\"\";++o<a;){var u=Number(arguments[o]);if(!isFinite(u)||u<0||u>1114111||i(u)!==u)return String.fromCharCode(65533);u<=65535?n.push(u):(u-=65536,e=55296+(u>>10),t=u%1024+56320,n.push(e,t)),(o+1===a||n.length>16384)&&(s+=r.apply(null,n),n.length=0)}return s};e.exports=o}},function(e,t,n){\"use strict\";e.exports.Node=n(176),e.exports.Parser=n(588),e.exports.HtmlRenderer=n(593),e.exports.XmlRenderer=n(594)},function(e,t,n){\"use strict\";function r(e){return{subject:\"\",delimiters:null,brackets:null,pos:0,refmap:{},match:N,peek:F,spnl:B,parseBackticks:L,parseBackslash:q,parseAutolink:z,parseHtmlTag:U,scanDelims:W,handleDelim:V,parseLinkTitle:X,parseLinkDestination:Y,parseLinkLabel:K,parseOpenBracket:$,parseBang:Z,parseCloseBracket:Q,addBracket:ee,removeBracket:te,parseEntity:ne,parseString:re,parseNewline:ie,parseReference:oe,parseInline:ae,processEmphasis:G,removeDelimiter:H,options:e||{},parse:se}}var i=n(176),o=n(73),a=n(592),s=o.normalizeURI,u=o.unescapeString,l=n(589),c=n(114).decodeHTML;n(507);var p=o.ESCAPABLE,f=\"\\\\\\\\\"+p,h=o.ENTITY,d=o.reHtmlTag,m=new RegExp(/[!\"#$%&'()*+,\\-.\\/:;<=>?@\\[\\]^_`{|}~\\xA1\\xA7\\xAB\\xB6\\xB7\\xBB\\xBF\\u037E\\u0387\\u055A-\\u055F\\u0589\\u058A\\u05BE\\u05C0\\u05C3\\u05C6\\u05F3\\u05F4\\u0609\\u060A\\u060C\\u060D\\u061B\\u061E\\u061F\\u066A-\\u066D\\u06D4\\u0700-\\u070D\\u07F7-\\u07F9\\u0830-\\u083E\\u085E\\u0964\\u0965\\u0970\\u0AF0\\u0DF4\\u0E4F\\u0E5A\\u0E5B\\u0F04-\\u0F12\\u0F14\\u0F3A-\\u0F3D\\u0F85\\u0FD0-\\u0FD4\\u0FD9\\u0FDA\\u104A-\\u104F\\u10FB\\u1360-\\u1368\\u1400\\u166D\\u166E\\u169B\\u169C\\u16EB-\\u16ED\\u1735\\u1736\\u17D4-\\u17D6\\u17D8-\\u17DA\\u1800-\\u180A\\u1944\\u1945\\u1A1E\\u1A1F\\u1AA0-\\u1AA6\\u1AA8-\\u1AAD\\u1B5A-\\u1B60\\u1BFC-\\u1BFF\\u1C3B-\\u1C3F\\u1C7E\\u1C7F\\u1CC0-\\u1CC7\\u1CD3\\u2010-\\u2027\\u2030-\\u2043\\u2045-\\u2051\\u2053-\\u205E\\u207D\\u207E\\u208D\\u208E\\u2308-\\u230B\\u2329\\u232A\\u2768-\\u2775\\u27C5\\u27C6\\u27E6-\\u27EF\\u2983-\\u2998\\u29D8-\\u29DB\\u29FC\\u29FD\\u2CF9-\\u2CFC\\u2CFE\\u2CFF\\u2D70\\u2E00-\\u2E2E\\u2E30-\\u2E42\\u3001-\\u3003\\u3008-\\u3011\\u3014-\\u301F\\u3030\\u303D\\u30A0\\u30FB\\uA4FE\\uA4FF\\uA60D-\\uA60F\\uA673\\uA67E\\uA6F2-\\uA6F7\\uA874-\\uA877\\uA8CE\\uA8CF\\uA8F8-\\uA8FA\\uA8FC\\uA92E\\uA92F\\uA95F\\uA9C1-\\uA9CD\\uA9DE\\uA9DF\\uAA5C-\\uAA5F\\uAADE\\uAADF\\uAAF0\\uAAF1\\uABEB\\uFD3E\\uFD3F\\uFE10-\\uFE19\\uFE30-\\uFE52\\uFE54-\\uFE61\\uFE63\\uFE68\\uFE6A\\uFE6B\\uFF01-\\uFF03\\uFF05-\\uFF0A\\uFF0C-\\uFF0F\\uFF1A\\uFF1B\\uFF1F\\uFF20\\uFF3B-\\uFF3D\\uFF3F\\uFF5B\\uFF5D\\uFF5F-\\uFF65]|\\uD800[\\uDD00-\\uDD02\\uDF9F\\uDFD0]|\\uD801\\uDD6F|\\uD802[\\uDC57\\uDD1F\\uDD3F\\uDE50-\\uDE58\\uDE7F\\uDEF0-\\uDEF6\\uDF39-\\uDF3F\\uDF99-\\uDF9C]|\\uD804[\\uDC47-\\uDC4D\\uDCBB\\uDCBC\\uDCBE-\\uDCC1\\uDD40-\\uDD43\\uDD74\\uDD75\\uDDC5-\\uDDC9\\uDDCD\\uDDDB\\uDDDD-\\uDDDF\\uDE38-\\uDE3D\\uDEA9]|\\uD805[\\uDCC6\\uDDC1-\\uDDD7\\uDE41-\\uDE43\\uDF3C-\\uDF3E]|\\uD809[\\uDC70-\\uDC74]|\\uD81A[\\uDE6E\\uDE6F\\uDEF5\\uDF37-\\uDF3B\\uDF44]|\\uD82F\\uDC9F|\\uD836[\\uDE87-\\uDE8B]/),v=new RegExp('^(?:\"('+f+'|[^\"\\\\x00])*\"|\\'('+f+\"|[^'\\\\x00])*'|\\\\((\"+f+\"|[^)\\\\x00])*\\\\))\"),g=new RegExp(\"^(?:[<](?:[^ <>\\\\t\\\\n\\\\\\\\\\\\x00]|\"+f+\"|\\\\\\\\)*[>])\"),y=new RegExp(\"^\"+p),_=new RegExp(\"^\"+h,\"i\"),b=/`+/,x=/^`+/,w=/\\.\\.\\./g,k=/--+/g,E=/^<([a-zA-Z0-9.!#$%&'*+\\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)>/,S=/^<[A-Za-z][A-Za-z0-9.+-]{1,31}:[^<>\\x00-\\x20]*>/i,C=/^ *(?:\\n *)?/,A=/^[ \\t\\n\\x0b\\x0c\\x0d]/,D=/[ \\t\\n\\x0b\\x0c\\x0d]+/g,O=/^\\s/,M=/ *$/,T=/^ */,P=/^ *(?:\\n|$)/,I=new RegExp(\"^\\\\[(?:[^\\\\\\\\\\\\[\\\\]]|\"+f+\"|\\\\\\\\){0,1000}\\\\]\"),R=/^[^\\n`\\[\\]\\\\!<&*_'\"]+/m,j=function(e){var t=new i(\"text\");return t._literal=e,t},N=function(e){var t=e.exec(this.subject.slice(this.pos));return null===t?null:(this.pos+=t.index+t[0].length,t[0])},F=function(){return this.pos<this.subject.length?this.subject.charCodeAt(this.pos):-1},B=function(){return this.match(C),!0},L=function(e){var t=this.match(x);if(null===t)return!1;for(var n,r,o=this.pos;null!==(n=this.match(b));)if(n===t)return r=new i(\"code\"),r._literal=this.subject.slice(o,this.pos-t.length).trim().replace(D,\" \"),e.appendChild(r),!0;return this.pos=o,e.appendChild(j(t)),!0},q=function(e){var t,n=this.subject;return this.pos+=1,10===this.peek()?(this.pos+=1,t=new i(\"linebreak\"),e.appendChild(t)):y.test(n.charAt(this.pos))?(e.appendChild(j(n.charAt(this.pos))),this.pos+=1):e.appendChild(j(\"\\\\\")),!0},z=function(e){var t,n,r;return(t=this.match(E))?(n=t.slice(1,t.length-1),r=new i(\"link\"),r._destination=s(\"mailto:\"+n),r._title=\"\",r.appendChild(j(n)),e.appendChild(r),!0):!!(t=this.match(S))&&(n=t.slice(1,t.length-1),r=new i(\"link\"),r._destination=s(n),r._title=\"\",r.appendChild(j(n)),e.appendChild(r),!0)},U=function(e){var t=this.match(d);if(null===t)return!1;var n=new i(\"html_inline\");return n._literal=t,e.appendChild(n),!0},W=function(e){var t,n,r,i,o,a,s,u,c,p,f,h=0,d=this.pos;if(39===e||34===e)h++,this.pos++;else for(;this.peek()===e;)h++,this.pos++;return 0===h?null:(t=0===d?\"\\n\":this.subject.charAt(d-1),r=this.peek(),n=-1===r?\"\\n\":l(r),u=O.test(n),c=m.test(n),p=O.test(t),f=m.test(t),i=!u&&(!c||p||f),o=!p&&(!f||u||c),95===e?(a=i&&(!o||f),s=o&&(!i||c)):39===e||34===e?(a=i&&!o,s=o):(a=i,s=o),this.pos=d,{numdelims:h,can_open:a,can_close:s})},V=function(e,t){var n=this.scanDelims(e);if(!n)return!1;var r,i=n.numdelims,o=this.pos;this.pos+=i,r=39===e?\"’\":34===e?\"“\":this.subject.slice(o,this.pos);var a=j(r);return t.appendChild(a),this.delimiters={cc:e,numdelims:i,origdelims:i,node:a,previous:this.delimiters,next:null,can_open:n.can_open,can_close:n.can_close},null!==this.delimiters.previous&&(this.delimiters.previous.next=this.delimiters),!0},H=function(e){null!==e.previous&&(e.previous.next=e.next),null===e.next?this.delimiters=e.previous:e.next.previous=e.previous},J=function(e,t){e.next!==t&&(e.next=t,t.previous=e)},G=function(e){var t,n,r,o,a,s,u,l,c,p,f=[],h=!1;for(f[95]=e,f[42]=e,f[39]=e,f[34]=e,n=this.delimiters;null!==n&&n.previous!==e;)n=n.previous;for(;null!==n;){var d=n.cc;if(n.can_close){for(t=n.previous,p=!1;null!==t&&t!==e&&t!==f[d];){if(h=(n.can_open||t.can_close)&&(t.origdelims+n.origdelims)%3==0,t.cc===n.cc&&t.can_open&&!h){p=!0;break}t=t.previous}if(r=n,42===d||95===d)if(p){u=n.numdelims>=2&&t.numdelims>=2?2:1,o=t.node,a=n.node,t.numdelims-=u,n.numdelims-=u,o._literal=o._literal.slice(0,o._literal.length-u),a._literal=a._literal.slice(0,a._literal.length-u);var m=new i(1===u?\"emph\":\"strong\");for(l=o._next;l&&l!==a;)c=l._next,l.unlink(),m.appendChild(l),l=c;o.insertAfter(m),J(t,n),0===t.numdelims&&(o.unlink(),this.removeDelimiter(t)),0===n.numdelims&&(a.unlink(),s=n.next,this.removeDelimiter(n),n=s)}else n=n.next;else 39===d?(n.node._literal=\"’\",p&&(t.node._literal=\"‘\"),n=n.next):34===d&&(n.node._literal=\"”\",p&&(t.node.literal=\"“\"),n=n.next);p||h||(f[d]=r.previous,r.can_open||this.removeDelimiter(r))}else n=n.next}for(;null!==this.delimiters&&this.delimiters!==e;)this.removeDelimiter(this.delimiters)},X=function(){var e=this.match(v);return null===e?null:u(e.substr(1,e.length-2))},Y=function(){var e=this.match(g);if(null===e){for(var t,n=this.pos,r=0;-1!==(t=this.peek());)if(92===t)this.pos+=1,-1!==this.peek()&&(this.pos+=1);else if(40===t)this.pos+=1,r+=1;else if(41===t){if(r<1)break;this.pos+=1,r-=1}else{if(null!==A.exec(l(t)))break;this.pos+=1}return e=this.subject.substr(n,this.pos-n),s(u(e))}return s(u(e.substr(1,e.length-2)))},K=function(){var e=this.match(I);return null===e||e.length>1001||/[^\\\\]\\\\\\]$/.exec(e)?0:e.length},$=function(e){var t=this.pos;this.pos+=1;var n=j(\"[\");return e.appendChild(n),this.addBracket(n,t,!1),!0},Z=function(e){var t=this.pos;if(this.pos+=1,91===this.peek()){this.pos+=1;var n=j(\"![\");e.appendChild(n),this.addBracket(n,t+1,!0)}else e.appendChild(j(\"!\"));return!0},Q=function(e){var t,n,r,o,s,u,l=!1;if(this.pos+=1,t=this.pos,null===(u=this.brackets))return e.appendChild(j(\"]\")),!0;if(!u.active)return e.appendChild(j(\"]\")),this.removeBracket(),!0;n=u.image;var c=this.pos;if(40===this.peek()&&(this.pos++,this.spnl()&&null!==(r=this.parseLinkDestination())&&this.spnl()&&(A.test(this.subject.charAt(this.pos-1))&&(o=this.parseLinkTitle()),!0)&&this.spnl()&&41===this.peek()?(this.pos+=1,l=!0):this.pos=c),!l){var p=this.pos,f=this.parseLinkLabel();if(f>2?s=this.subject.slice(p,p+f):u.bracketAfter||(s=this.subject.slice(u.index,t)),0===f&&(this.pos=c),s){var h=this.refmap[a(s)];h&&(r=h.destination,o=h.title,l=!0)}}if(l){var d=new i(n?\"image\":\"link\");d._destination=r,d._title=o||\"\";var m,v;for(m=u.node._next;m;)v=m._next,m.unlink(),d.appendChild(m),m=v;if(e.appendChild(d),this.processEmphasis(u.previousDelimiter),this.removeBracket(),u.node.unlink(),!n)for(u=this.brackets;null!==u;)u.image||(u.active=!1),u=u.previous;return!0}return this.removeBracket(),this.pos=t,e.appendChild(j(\"]\")),!0},ee=function(e,t,n){null!==this.brackets&&(this.brackets.bracketAfter=!0),this.brackets={node:e,previous:this.brackets,previousDelimiter:this.delimiters,index:t,image:n,active:!0}},te=function(){this.brackets=this.brackets.previous},ne=function(e){var t;return!!(t=this.match(_))&&(e.appendChild(j(c(t))),!0)},re=function(e){var t;return!!(t=this.match(R))&&(this.options.smart?e.appendChild(j(t.replace(w,\"…\").replace(k,function(e){var t=0,n=0;return e.length%3==0?n=e.length/3:e.length%2==0?t=e.length/2:e.length%3==2?(t=1,n=(e.length-2)/3):(t=2,n=(e.length-4)/3),\"—\".repeat(n)+\"–\".repeat(t)}))):e.appendChild(j(t)),!0)},ie=function(e){this.pos+=1;var t=e._lastChild;if(t&&\"text\"===t.type&&\" \"===t._literal[t._literal.length-1]){var n=\" \"===t._literal[t._literal.length-2];t._literal=t._literal.replace(M,\"\"),e.appendChild(new i(n?\"linebreak\":\"softbreak\"))}else e.appendChild(new i(\"softbreak\"));return this.match(T),!0},oe=function(e,t){this.subject=e,this.pos=0;var n,r,i,o,s=this.pos;if(0===(o=this.parseLinkLabel()))return 0;if(n=this.subject.substr(0,o),58!==this.peek())return this.pos=s,0;if(this.pos++,this.spnl(),null===(r=this.parseLinkDestination())||0===r.length)return this.pos=s,0;var u=this.pos;this.spnl(),null===(i=this.parseLinkTitle())&&(i=\"\",this.pos=u);var l=!0;if(null===this.match(P)&&(\"\"===i?l=!1:(i=\"\",this.pos=u,l=null!==this.match(P))),!l)return this.pos=s,0;var c=a(n);return\"\"===c?(this.pos=s,0):(t[c]||(t[c]={destination:r,title:i}),this.pos-s)},ae=function(e){var t=!1,n=this.peek();if(-1===n)return!1;switch(n){case 10:t=this.parseNewline(e);break;case 92:t=this.parseBackslash(e);break;case 96:t=this.parseBackticks(e);break;case 42:case 95:t=this.handleDelim(n,e);break;case 39:case 34:t=this.options.smart&&this.handleDelim(n,e);break;case 91:t=this.parseOpenBracket(e);break;case 33:t=this.parseBang(e);break;case 93:t=this.parseCloseBracket(e);break;case 60:t=this.parseAutolink(e)||this.parseHtmlTag(e);break;case 38:t=this.parseEntity(e);break;default:t=this.parseString(e)}return t||(this.pos+=1,e.appendChild(j(l(n)))),!0},se=function(e){for(this.subject=e._string_content.trim(),this.pos=0,this.delimiters=null,this.brackets=null;this.parseInline(e););e._string_content=null,this.processEmphasis(null)};e.exports=r},function(e,t,n){\"use strict\";var r=/[ \\t\\r\\n]+|[A-Z\\xB5\\xC0-\\xD6\\xD8-\\xDF\\u0100\\u0102\\u0104\\u0106\\u0108\\u010A\\u010C\\u010E\\u0110\\u0112\\u0114\\u0116\\u0118\\u011A\\u011C\\u011E\\u0120\\u0122\\u0124\\u0126\\u0128\\u012A\\u012C\\u012E\\u0130\\u0132\\u0134\\u0136\\u0139\\u013B\\u013D\\u013F\\u0141\\u0143\\u0145\\u0147\\u0149\\u014A\\u014C\\u014E\\u0150\\u0152\\u0154\\u0156\\u0158\\u015A\\u015C\\u015E\\u0160\\u0162\\u0164\\u0166\\u0168\\u016A\\u016C\\u016E\\u0170\\u0172\\u0174\\u0176\\u0178\\u0179\\u017B\\u017D\\u017F\\u0181\\u0182\\u0184\\u0186\\u0187\\u0189-\\u018B\\u018E-\\u0191\\u0193\\u0194\\u0196-\\u0198\\u019C\\u019D\\u019F\\u01A0\\u01A2\\u01A4\\u01A6\\u01A7\\u01A9\\u01AC\\u01AE\\u01AF\\u01B1-\\u01B3\\u01B5\\u01B7\\u01B8\\u01BC\\u01C4\\u01C5\\u01C7\\u01C8\\u01CA\\u01CB\\u01CD\\u01CF\\u01D1\\u01D3\\u01D5\\u01D7\\u01D9\\u01DB\\u01DE\\u01E0\\u01E2\\u01E4\\u01E6\\u01E8\\u01EA\\u01EC\\u01EE\\u01F0-\\u01F2\\u01F4\\u01F6-\\u01F8\\u01FA\\u01FC\\u01FE\\u0200\\u0202\\u0204\\u0206\\u0208\\u020A\\u020C\\u020E\\u0210\\u0212\\u0214\\u0216\\u0218\\u021A\\u021C\\u021E\\u0220\\u0222\\u0224\\u0226\\u0228\\u022A\\u022C\\u022E\\u0230\\u0232\\u023A\\u023B\\u023D\\u023E\\u0241\\u0243-\\u0246\\u0248\\u024A\\u024C\\u024E\\u0345\\u0370\\u0372\\u0376\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03AB\\u03B0\\u03C2\\u03CF-\\u03D1\\u03D5\\u03D6\\u03D8\\u03DA\\u03DC\\u03DE\\u03E0\\u03E2\\u03E4\\u03E6\\u03E8\\u03EA\\u03EC\\u03EE\\u03F0\\u03F1\\u03F4\\u03F5\\u03F7\\u03F9\\u03FA\\u03FD-\\u042F\\u0460\\u0462\\u0464\\u0466\\u0468\\u046A\\u046C\\u046E\\u0470\\u0472\\u0474\\u0476\\u0478\\u047A\\u047C\\u047E\\u0480\\u048A\\u048C\\u048E\\u0490\\u0492\\u0494\\u0496\\u0498\\u049A\\u049C\\u049E\\u04A0\\u04A2\\u04A4\\u04A6\\u04A8\\u04AA\\u04AC\\u04AE\\u04B0\\u04B2\\u04B4\\u04B6\\u04B8\\u04BA\\u04BC\\u04BE\\u04C0\\u04C1\\u04C3\\u04C5\\u04C7\\u04C9\\u04CB\\u04CD\\u04D0\\u04D2\\u04D4\\u04D6\\u04D8\\u04DA\\u04DC\\u04DE\\u04E0\\u04E2\\u04E4\\u04E6\\u04E8\\u04EA\\u04EC\\u04EE\\u04F0\\u04F2\\u04F4\\u04F6\\u04F8\\u04FA\\u04FC\\u04FE\\u0500\\u0502\\u0504\\u0506\\u0508\\u050A\\u050C\\u050E\\u0510\\u0512\\u0514\\u0516\\u0518\\u051A\\u051C\\u051E\\u0520\\u0522\\u0524\\u0526\\u0528\\u052A\\u052C\\u052E\\u0531-\\u0556\\u0587\\u10A0-\\u10C5\\u10C7\\u10CD\\u1E00\\u1E02\\u1E04\\u1E06\\u1E08\\u1E0A\\u1E0C\\u1E0E\\u1E10\\u1E12\\u1E14\\u1E16\\u1E18\\u1E1A\\u1E1C\\u1E1E\\u1E20\\u1E22\\u1E24\\u1E26\\u1E28\\u1E2A\\u1E2C\\u1E2E\\u1E30\\u1E32\\u1E34\\u1E36\\u1E38\\u1E3A\\u1E3C\\u1E3E\\u1E40\\u1E42\\u1E44\\u1E46\\u1E48\\u1E4A\\u1E4C\\u1E4E\\u1E50\\u1E52\\u1E54\\u1E56\\u1E58\\u1E5A\\u1E5C\\u1E5E\\u1E60\\u1E62\\u1E64\\u1E66\\u1E68\\u1E6A\\u1E6C\\u1E6E\\u1E70\\u1E72\\u1E74\\u1E76\\u1E78\\u1E7A\\u1E7C\\u1E7E\\u1E80\\u1E82\\u1E84\\u1E86\\u1E88\\u1E8A\\u1E8C\\u1E8E\\u1E90\\u1E92\\u1E94\\u1E96-\\u1E9B\\u1E9E\\u1EA0\\u1EA2\\u1EA4\\u1EA6\\u1EA8\\u1EAA\\u1EAC\\u1EAE\\u1EB0\\u1EB2\\u1EB4\\u1EB6\\u1EB8\\u1EBA\\u1EBC\\u1EBE\\u1EC0\\u1EC2\\u1EC4\\u1EC6\\u1EC8\\u1ECA\\u1ECC\\u1ECE\\u1ED0\\u1ED2\\u1ED4\\u1ED6\\u1ED8\\u1EDA\\u1EDC\\u1EDE\\u1EE0\\u1EE2\\u1EE4\\u1EE6\\u1EE8\\u1EEA\\u1EEC\\u1EEE\\u1EF0\\u1EF2\\u1EF4\\u1EF6\\u1EF8\\u1EFA\\u1EFC\\u1EFE\\u1F08-\\u1F0F\\u1F18-\\u1F1D\\u1F28-\\u1F2F\\u1F38-\\u1F3F\\u1F48-\\u1F4D\\u1F50\\u1F52\\u1F54\\u1F56\\u1F59\\u1F5B\\u1F5D\\u1F5F\\u1F68-\\u1F6F\\u1F80-\\u1FAF\\u1FB2-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD2\\u1FD3\\u1FD6-\\u1FDB\\u1FE2-\\u1FE4\\u1FE6-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2126\\u212A\\u212B\\u2132\\u2160-\\u216F\\u2183\\u24B6-\\u24CF\\u2C00-\\u2C2E\\u2C60\\u2C62-\\u2C64\\u2C67\\u2C69\\u2C6B\\u2C6D-\\u2C70\\u2C72\\u2C75\\u2C7E-\\u2C80\\u2C82\\u2C84\\u2C86\\u2C88\\u2C8A\\u2C8C\\u2C8E\\u2C90\\u2C92\\u2C94\\u2C96\\u2C98\\u2C9A\\u2C9C\\u2C9E\\u2CA0\\u2CA2\\u2CA4\\u2CA6\\u2CA8\\u2CAA\\u2CAC\\u2CAE\\u2CB0\\u2CB2\\u2CB4\\u2CB6\\u2CB8\\u2CBA\\u2CBC\\u2CBE\\u2CC0\\u2CC2\\u2CC4\\u2CC6\\u2CC8\\u2CCA\\u2CCC\\u2CCE\\u2CD0\\u2CD2\\u2CD4\\u2CD6\\u2CD8\\u2CDA\\u2CDC\\u2CDE\\u2CE0\\u2CE2\\u2CEB\\u2CED\\u2CF2\\uA640\\uA642\\uA644\\uA646\\uA648\\uA64A\\uA64C\\uA64E\\uA650\\uA652\\uA654\\uA656\\uA658\\uA65A\\uA65C\\uA65E\\uA660\\uA662\\uA664\\uA666\\uA668\\uA66A\\uA66C\\uA680\\uA682\\uA684\\uA686\\uA688\\uA68A\\uA68C\\uA68E\\uA690\\uA692\\uA694\\uA696\\uA698\\uA69A\\uA722\\uA724\\uA726\\uA728\\uA72A\\uA72C\\uA72E\\uA732\\uA734\\uA736\\uA738\\uA73A\\uA73C\\uA73E\\uA740\\uA742\\uA744\\uA746\\uA748\\uA74A\\uA74C\\uA74E\\uA750\\uA752\\uA754\\uA756\\uA758\\uA75A\\uA75C\\uA75E\\uA760\\uA762\\uA764\\uA766\\uA768\\uA76A\\uA76C\\uA76E\\uA779\\uA77B\\uA77D\\uA77E\\uA780\\uA782\\uA784\\uA786\\uA78B\\uA78D\\uA790\\uA792\\uA796\\uA798\\uA79A\\uA79C\\uA79E\\uA7A0\\uA7A2\\uA7A4\\uA7A6\\uA7A8\\uA7AA-\\uA7AD\\uA7B0\\uA7B1\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFF21-\\uFF3A]|\\uD801[\\uDC00-\\uDC27]|\\uD806[\\uDCA0-\\uDCBF]/g,i={A:\"a\",B:\"b\",C:\"c\",D:\"d\",E:\"e\",F:\"f\",G:\"g\",H:\"h\",I:\"i\",J:\"j\",K:\"k\",L:\"l\",M:\"m\",N:\"n\",O:\"o\",P:\"p\",Q:\"q\",R:\"r\",S:\"s\",T:\"t\",U:\"u\",V:\"v\",W:\"w\",X:\"x\",Y:\"y\",Z:\"z\",\"µ\":\"μ\",\"À\":\"à\",\"Á\":\"á\",\"Â\":\"â\",\"Ã\":\"ã\",\"Ä\":\"ä\",\"Å\":\"å\",\"Æ\":\"æ\",\"Ç\":\"ç\",\"È\":\"è\",\"É\":\"é\",\"Ê\":\"ê\",\"Ë\":\"ë\",\"Ì\":\"ì\",\"Í\":\"í\",\"Î\":\"î\",\"Ï\":\"ï\",\"Ð\":\"ð\",\"Ñ\":\"ñ\",\"Ò\":\"ò\",\"Ó\":\"ó\",\"Ô\":\"ô\",\"Õ\":\"õ\",\"Ö\":\"ö\",\"Ø\":\"ø\",\"Ù\":\"ù\",\"Ú\":\"ú\",\"Û\":\"û\",\"Ü\":\"ü\",\"Ý\":\"ý\",\"Þ\":\"þ\",\"Ā\":\"ā\",\"Ă\":\"ă\",\"Ą\":\"ą\",\"Ć\":\"ć\",\"Ĉ\":\"ĉ\",\"Ċ\":\"ċ\",\"Č\":\"č\",\"Ď\":\"ď\",\"Đ\":\"đ\",\"Ē\":\"ē\",\"Ĕ\":\"ĕ\",\"Ė\":\"ė\",\"Ę\":\"ę\",\"Ě\":\"ě\",\"Ĝ\":\"ĝ\",\"Ğ\":\"ğ\",\"Ġ\":\"ġ\",\"Ģ\":\"ģ\",\"Ĥ\":\"ĥ\",\"Ħ\":\"ħ\",\"Ĩ\":\"ĩ\",\"Ī\":\"ī\",\"Ĭ\":\"ĭ\",\"Į\":\"į\",\"Ĳ\":\"ĳ\",\"Ĵ\":\"ĵ\",\"Ķ\":\"ķ\",\"Ĺ\":\"ĺ\",\"Ļ\":\"ļ\",\"Ľ\":\"ľ\",\"Ŀ\":\"ŀ\",\"Ł\":\"ł\",\"Ń\":\"ń\",\"Ņ\":\"ņ\",\"Ň\":\"ň\",\"Ŋ\":\"ŋ\",\"Ō\":\"ō\",\"Ŏ\":\"ŏ\",\"Ő\":\"ő\",\"Œ\":\"œ\",\"Ŕ\":\"ŕ\",\"Ŗ\":\"ŗ\",\"Ř\":\"ř\",\"Ś\":\"ś\",\"Ŝ\":\"ŝ\",\"Ş\":\"ş\",\"Š\":\"š\",\"Ţ\":\"ţ\",\"Ť\":\"ť\",\"Ŧ\":\"ŧ\",\"Ũ\":\"ũ\",\"Ū\":\"ū\",\"Ŭ\":\"ŭ\",\"Ů\":\"ů\",\"Ű\":\"ű\",\"Ų\":\"ų\",\"Ŵ\":\"ŵ\",\"Ŷ\":\"ŷ\",\"Ÿ\":\"ÿ\",\"Ź\":\"ź\",\"Ż\":\"ż\",\"Ž\":\"ž\",\"ſ\":\"s\",\"Ɓ\":\"ɓ\",\"Ƃ\":\"ƃ\",\"Ƅ\":\"ƅ\",\"Ɔ\":\"ɔ\",\"Ƈ\":\"ƈ\",\"Ɖ\":\"ɖ\",\"Ɗ\":\"ɗ\",\"Ƌ\":\"ƌ\",\"Ǝ\":\"ǝ\",\"Ə\":\"ə\",\"Ɛ\":\"ɛ\",\"Ƒ\":\"ƒ\",\"Ɠ\":\"ɠ\",\"Ɣ\":\"ɣ\",\"Ɩ\":\"ɩ\",\"Ɨ\":\"ɨ\",\"Ƙ\":\"ƙ\",\"Ɯ\":\"ɯ\",\"Ɲ\":\"ɲ\",\"Ɵ\":\"ɵ\",\"Ơ\":\"ơ\",\"Ƣ\":\"ƣ\",\"Ƥ\":\"ƥ\",\"Ʀ\":\"ʀ\",\"Ƨ\":\"ƨ\",\"Ʃ\":\"ʃ\",\"Ƭ\":\"ƭ\",\"Ʈ\":\"ʈ\",\"Ư\":\"ư\",\"Ʊ\":\"ʊ\",\"Ʋ\":\"ʋ\",\"Ƴ\":\"ƴ\",\"Ƶ\":\"ƶ\",\"Ʒ\":\"ʒ\",\"Ƹ\":\"ƹ\",\"Ƽ\":\"ƽ\",\"Ǆ\":\"ǆ\",\"ǅ\":\"ǆ\",\"Ǉ\":\"ǉ\",\"ǈ\":\"ǉ\",\"Ǌ\":\"ǌ\",\"ǋ\":\"ǌ\",\"Ǎ\":\"ǎ\",\"Ǐ\":\"ǐ\",\"Ǒ\":\"ǒ\",\"Ǔ\":\"ǔ\",\"Ǖ\":\"ǖ\",\"Ǘ\":\"ǘ\",\"Ǚ\":\"ǚ\",\"Ǜ\":\"ǜ\",\"Ǟ\":\"ǟ\",\"Ǡ\":\"ǡ\",\"Ǣ\":\"ǣ\",\"Ǥ\":\"ǥ\",\"Ǧ\":\"ǧ\",\"Ǩ\":\"ǩ\",\"Ǫ\":\"ǫ\",\"Ǭ\":\"ǭ\",\"Ǯ\":\"ǯ\",\"Ǳ\":\"ǳ\",\"ǲ\":\"ǳ\",\"Ǵ\":\"ǵ\",\"Ƕ\":\"ƕ\",\"Ƿ\":\"ƿ\",\"Ǹ\":\"ǹ\",\"Ǻ\":\"ǻ\",\"Ǽ\":\"ǽ\",\"Ǿ\":\"ǿ\",\"Ȁ\":\"ȁ\",\"Ȃ\":\"ȃ\",\"Ȅ\":\"ȅ\",\"Ȇ\":\"ȇ\",\"Ȉ\":\"ȉ\",\"Ȋ\":\"ȋ\",\"Ȍ\":\"ȍ\",\"Ȏ\":\"ȏ\",\"Ȑ\":\"ȑ\",\"Ȓ\":\"ȓ\",\"Ȕ\":\"ȕ\",\"Ȗ\":\"ȗ\",\"Ș\":\"ș\",\"Ț\":\"ț\",\"Ȝ\":\"ȝ\",\"Ȟ\":\"ȟ\",\"Ƞ\":\"ƞ\",\"Ȣ\":\"ȣ\",\"Ȥ\":\"ȥ\",\"Ȧ\":\"ȧ\",\"Ȩ\":\"ȩ\",\"Ȫ\":\"ȫ\",\"Ȭ\":\"ȭ\",\"Ȯ\":\"ȯ\",\"Ȱ\":\"ȱ\",\"Ȳ\":\"ȳ\",\"Ⱥ\":\"ⱥ\",\"Ȼ\":\"ȼ\",\"Ƚ\":\"ƚ\",\"Ⱦ\":\"ⱦ\",\"Ɂ\":\"ɂ\",\"Ƀ\":\"ƀ\",\"Ʉ\":\"ʉ\",\"Ʌ\":\"ʌ\",\"Ɇ\":\"ɇ\",\"Ɉ\":\"ɉ\",\"Ɋ\":\"ɋ\",\"Ɍ\":\"ɍ\",\"Ɏ\":\"ɏ\",\"ͅ\":\"ι\",\"Ͱ\":\"ͱ\",\"Ͳ\":\"ͳ\",\"Ͷ\":\"ͷ\",\"Ϳ\":\"ϳ\",\"Ά\":\"ά\",\"Έ\":\"έ\",\"Ή\":\"ή\",\"Ί\":\"ί\",\"Ό\":\"ό\",\"Ύ\":\"ύ\",\"Ώ\":\"ώ\",\"Α\":\"α\",\"Β\":\"β\",\"Γ\":\"γ\",\"Δ\":\"δ\",\"Ε\":\"ε\",\"Ζ\":\"ζ\",\"Η\":\"η\",\"Θ\":\"θ\",\"Ι\":\"ι\",\"Κ\":\"κ\",\"Λ\":\"λ\",\"Μ\":\"μ\",\"Ν\":\"ν\",\"Ξ\":\"ξ\",\"Ο\":\"ο\",\"Π\":\"π\",\"Ρ\":\"ρ\",\"Σ\":\"σ\",\"Τ\":\"τ\",\"Υ\":\"υ\",\"Φ\":\"φ\",\"Χ\":\"χ\",\"Ψ\":\"ψ\",\"Ω\":\"ω\",\"Ϊ\":\"ϊ\",\"Ϋ\":\"ϋ\",\"ς\":\"σ\",\"Ϗ\":\"ϗ\",\"ϐ\":\"β\",\"ϑ\":\"θ\",\"ϕ\":\"φ\",\"ϖ\":\"π\",\"Ϙ\":\"ϙ\",\"Ϛ\":\"ϛ\",\"Ϝ\":\"ϝ\",\"Ϟ\":\"ϟ\",\"Ϡ\":\"ϡ\",\"Ϣ\":\"ϣ\",\"Ϥ\":\"ϥ\",\"Ϧ\":\"ϧ\",\"Ϩ\":\"ϩ\",\"Ϫ\":\"ϫ\",\"Ϭ\":\"ϭ\",\"Ϯ\":\"ϯ\",\"ϰ\":\"κ\",\"ϱ\":\"ρ\",\"ϴ\":\"θ\",\"ϵ\":\"ε\",\"Ϸ\":\"ϸ\",\"Ϲ\":\"ϲ\",\"Ϻ\":\"ϻ\",\"Ͻ\":\"ͻ\",\"Ͼ\":\"ͼ\",\"Ͽ\":\"ͽ\",\"Ѐ\":\"ѐ\",\"Ё\":\"ё\",\"Ђ\":\"ђ\",\"Ѓ\":\"ѓ\",\"Є\":\"є\",\"Ѕ\":\"ѕ\",\"І\":\"і\",\"Ї\":\"ї\",\"Ј\":\"ј\",\"Љ\":\"љ\",\"Њ\":\"њ\",\"Ћ\":\"ћ\",\"Ќ\":\"ќ\",\"Ѝ\":\"ѝ\",\"Ў\":\"ў\",\"Џ\":\"џ\",\"А\":\"а\",\"Б\":\"б\",\"В\":\"в\",\"Г\":\"г\",\"Д\":\"д\",\"Е\":\"е\",\"Ж\":\"ж\",\"З\":\"з\",\"И\":\"и\",\"Й\":\"й\",\"К\":\"к\",\"Л\":\"л\",\"М\":\"м\",\"Н\":\"н\",\"О\":\"о\",\"П\":\"п\",\"Р\":\"р\",\"С\":\"с\",\"Т\":\"т\",\"У\":\"у\",\"Ф\":\"ф\",\"Х\":\"х\",\"Ц\":\"ц\",\"Ч\":\"ч\",\"Ш\":\"ш\",\"Щ\":\"щ\",\"Ъ\":\"ъ\",\"Ы\":\"ы\",\"Ь\":\"ь\",\"Э\":\"э\",\"Ю\":\"ю\",\"Я\":\"я\",\"Ѡ\":\"ѡ\",\"Ѣ\":\"ѣ\",\"Ѥ\":\"ѥ\",\"Ѧ\":\"ѧ\",\"Ѩ\":\"ѩ\",\"Ѫ\":\"ѫ\",\"Ѭ\":\"ѭ\",\"Ѯ\":\"ѯ\",\"Ѱ\":\"ѱ\",\"Ѳ\":\"ѳ\",\"Ѵ\":\"ѵ\",\"Ѷ\":\"ѷ\",\"Ѹ\":\"ѹ\",\"Ѻ\":\"ѻ\",\"Ѽ\":\"ѽ\",\"Ѿ\":\"ѿ\",\"Ҁ\":\"ҁ\",\"Ҋ\":\"ҋ\",\"Ҍ\":\"ҍ\",\"Ҏ\":\"ҏ\",\"Ґ\":\"ґ\",\"Ғ\":\"ғ\",\"Ҕ\":\"ҕ\",\"Җ\":\"җ\",\"Ҙ\":\"ҙ\",\"Қ\":\"қ\",\"Ҝ\":\"ҝ\",\"Ҟ\":\"ҟ\",\"Ҡ\":\"ҡ\",\"Ң\":\"ң\",\"Ҥ\":\"ҥ\",\"Ҧ\":\"ҧ\",\"Ҩ\":\"ҩ\",\"Ҫ\":\"ҫ\",\"Ҭ\":\"ҭ\",\"Ү\":\"ү\",\"Ұ\":\"ұ\",\"Ҳ\":\"ҳ\",\"Ҵ\":\"ҵ\",\"Ҷ\":\"ҷ\",\"Ҹ\":\"ҹ\",\"Һ\":\"һ\",\"Ҽ\":\"ҽ\",\"Ҿ\":\"ҿ\",\"Ӏ\":\"ӏ\",\"Ӂ\":\"ӂ\",\"Ӄ\":\"ӄ\",\"Ӆ\":\"ӆ\",\"Ӈ\":\"ӈ\",\"Ӊ\":\"ӊ\",\"Ӌ\":\"ӌ\",\"Ӎ\":\"ӎ\",\"Ӑ\":\"ӑ\",\"Ӓ\":\"ӓ\",\"Ӕ\":\"ӕ\",\"Ӗ\":\"ӗ\",\"Ә\":\"ә\",\"Ӛ\":\"ӛ\",\"Ӝ\":\"ӝ\",\"Ӟ\":\"ӟ\",\"Ӡ\":\"ӡ\",\"Ӣ\":\"ӣ\",\"Ӥ\":\"ӥ\",\"Ӧ\":\"ӧ\",\"Ө\":\"ө\",\"Ӫ\":\"ӫ\",\"Ӭ\":\"ӭ\",\"Ӯ\":\"ӯ\",\"Ӱ\":\"ӱ\",\"Ӳ\":\"ӳ\",\"Ӵ\":\"ӵ\",\"Ӷ\":\"ӷ\",\"Ӹ\":\"ӹ\",\"Ӻ\":\"ӻ\",\"Ӽ\":\"ӽ\",\"Ӿ\":\"ӿ\",\"Ԁ\":\"ԁ\",\"Ԃ\":\"ԃ\",\"Ԅ\":\"ԅ\",\"Ԇ\":\"ԇ\",\"Ԉ\":\"ԉ\",\"Ԋ\":\"ԋ\",\"Ԍ\":\"ԍ\",\"Ԏ\":\"ԏ\",\"Ԑ\":\"ԑ\",\"Ԓ\":\"ԓ\",\"Ԕ\":\"ԕ\",\"Ԗ\":\"ԗ\",\"Ԙ\":\"ԙ\",\"Ԛ\":\"ԛ\",\"Ԝ\":\"ԝ\",\"Ԟ\":\"ԟ\",\"Ԡ\":\"ԡ\",\"Ԣ\":\"ԣ\",\"Ԥ\":\"ԥ\",\"Ԧ\":\"ԧ\",\"Ԩ\":\"ԩ\",\"Ԫ\":\"ԫ\",\"Ԭ\":\"ԭ\",\"Ԯ\":\"ԯ\",\"Ա\":\"ա\",\"Բ\":\"բ\",\"Գ\":\"գ\",\"Դ\":\"դ\",\"Ե\":\"ե\",\"Զ\":\"զ\",\"Է\":\"է\",\"Ը\":\"ը\",\"Թ\":\"թ\",\"Ժ\":\"ժ\",\"Ի\":\"ի\",\"Լ\":\"լ\",\"Խ\":\"խ\",\"Ծ\":\"ծ\",\"Կ\":\"կ\",\"Հ\":\"հ\",\"Ձ\":\"ձ\",\"Ղ\":\"ղ\",\"Ճ\":\"ճ\",\"Մ\":\"մ\",\"Յ\":\"յ\",\"Ն\":\"ն\",\"Շ\":\"շ\",\"Ո\":\"ո\",\"Չ\":\"չ\",\"Պ\":\"պ\",\"Ջ\":\"ջ\",\"Ռ\":\"ռ\",\"Ս\":\"ս\",\"Վ\":\"վ\",\"Տ\":\"տ\",\"Ր\":\"ր\",\"Ց\":\"ց\",\"Ւ\":\"ւ\",\"Փ\":\"փ\",\"Ք\":\"ք\",\"Օ\":\"օ\",\"Ֆ\":\"ֆ\",\"Ⴀ\":\"ⴀ\",\"Ⴁ\":\"ⴁ\",\"Ⴂ\":\"ⴂ\",\"Ⴃ\":\"ⴃ\",\"Ⴄ\":\"ⴄ\",\"Ⴅ\":\"ⴅ\",\"Ⴆ\":\"ⴆ\",\"Ⴇ\":\"ⴇ\",\"Ⴈ\":\"ⴈ\",\"Ⴉ\":\"ⴉ\",\"Ⴊ\":\"ⴊ\",\"Ⴋ\":\"ⴋ\",\"Ⴌ\":\"ⴌ\",\"Ⴍ\":\"ⴍ\",\"Ⴎ\":\"ⴎ\",\"Ⴏ\":\"ⴏ\",\"Ⴐ\":\"ⴐ\",\"Ⴑ\":\"ⴑ\",\"Ⴒ\":\"ⴒ\",\"Ⴓ\":\"ⴓ\",\"Ⴔ\":\"ⴔ\",\"Ⴕ\":\"ⴕ\",\"Ⴖ\":\"ⴖ\",\"Ⴗ\":\"ⴗ\",\"Ⴘ\":\"ⴘ\",\"Ⴙ\":\"ⴙ\",\"Ⴚ\":\"ⴚ\",\"Ⴛ\":\"ⴛ\",\"Ⴜ\":\"ⴜ\",\"Ⴝ\":\"ⴝ\",\"Ⴞ\":\"ⴞ\",\"Ⴟ\":\"ⴟ\",\"Ⴠ\":\"ⴠ\",\"Ⴡ\":\"ⴡ\",\"Ⴢ\":\"ⴢ\",\"Ⴣ\":\"ⴣ\",\"Ⴤ\":\"ⴤ\",\"Ⴥ\":\"ⴥ\",\"Ⴧ\":\"ⴧ\",\"Ⴭ\":\"ⴭ\",\"Ḁ\":\"ḁ\",\"Ḃ\":\"ḃ\",\"Ḅ\":\"ḅ\",\"Ḇ\":\"ḇ\",\"Ḉ\":\"ḉ\",\"Ḋ\":\"ḋ\",\"Ḍ\":\"ḍ\",\"Ḏ\":\"ḏ\",\"Ḑ\":\"ḑ\",\"Ḓ\":\"ḓ\",\"Ḕ\":\"ḕ\",\"Ḗ\":\"ḗ\",\"Ḙ\":\"ḙ\",\"Ḛ\":\"ḛ\",\"Ḝ\":\"ḝ\",\"Ḟ\":\"ḟ\",\"Ḡ\":\"ḡ\",\"Ḣ\":\"ḣ\",\"Ḥ\":\"ḥ\",\"Ḧ\":\"ḧ\",\"Ḩ\":\"ḩ\",\"Ḫ\":\"ḫ\",\"Ḭ\":\"ḭ\",\"Ḯ\":\"ḯ\",\"Ḱ\":\"ḱ\",\"Ḳ\":\"ḳ\",\"Ḵ\":\"ḵ\",\"Ḷ\":\"ḷ\",\"Ḹ\":\"ḹ\",\"Ḻ\":\"ḻ\",\"Ḽ\":\"ḽ\",\"Ḿ\":\"ḿ\",\"Ṁ\":\"ṁ\",\"Ṃ\":\"ṃ\",\"Ṅ\":\"ṅ\",\"Ṇ\":\"ṇ\",\"Ṉ\":\"ṉ\",\"Ṋ\":\"ṋ\",\"Ṍ\":\"ṍ\",\"Ṏ\":\"ṏ\",\"Ṑ\":\"ṑ\",\"Ṓ\":\"ṓ\",\"Ṕ\":\"ṕ\",\"Ṗ\":\"ṗ\",\"Ṙ\":\"ṙ\",\"Ṛ\":\"ṛ\",\"Ṝ\":\"ṝ\",\"Ṟ\":\"ṟ\",\"Ṡ\":\"ṡ\",\"Ṣ\":\"ṣ\",\"Ṥ\":\"ṥ\",\"Ṧ\":\"ṧ\",\"Ṩ\":\"ṩ\",\"Ṫ\":\"ṫ\",\"Ṭ\":\"ṭ\",\"Ṯ\":\"ṯ\",\"Ṱ\":\"ṱ\",\"Ṳ\":\"ṳ\",\"Ṵ\":\"ṵ\",\"Ṷ\":\"ṷ\",\"Ṹ\":\"ṹ\",\"Ṻ\":\"ṻ\",\"Ṽ\":\"ṽ\",\"Ṿ\":\"ṿ\",\"Ẁ\":\"ẁ\",\"Ẃ\":\"ẃ\",\"Ẅ\":\"ẅ\",\"Ẇ\":\"ẇ\",\"Ẉ\":\"ẉ\",\"Ẋ\":\"ẋ\",\"Ẍ\":\"ẍ\",\"Ẏ\":\"ẏ\",\"Ẑ\":\"ẑ\",\"Ẓ\":\"ẓ\",\"Ẕ\":\"ẕ\",\"ẛ\":\"ṡ\",\"Ạ\":\"ạ\",\"Ả\":\"ả\",\"Ấ\":\"ấ\",\"Ầ\":\"ầ\",\"Ẩ\":\"ẩ\",\"Ẫ\":\"ẫ\",\"Ậ\":\"ậ\",\"Ắ\":\"ắ\",\"Ằ\":\"ằ\",\"Ẳ\":\"ẳ\",\"Ẵ\":\"ẵ\",\"Ặ\":\"ặ\",\"Ẹ\":\"ẹ\",\"Ẻ\":\"ẻ\",\"Ẽ\":\"ẽ\",\"Ế\":\"ế\",\"Ề\":\"ề\",\"Ể\":\"ể\",\"Ễ\":\"ễ\",\"Ệ\":\"ệ\",\"Ỉ\":\"ỉ\",\"Ị\":\"ị\",\"Ọ\":\"ọ\",\"Ỏ\":\"ỏ\",\"Ố\":\"ố\",\"Ồ\":\"ồ\",\"Ổ\":\"ổ\",\"Ỗ\":\"ỗ\",\"Ộ\":\"ộ\",\"Ớ\":\"ớ\",\"Ờ\":\"ờ\",\"Ở\":\"ở\",\"Ỡ\":\"ỡ\",\"Ợ\":\"ợ\",\"Ụ\":\"ụ\",\"Ủ\":\"ủ\",\"Ứ\":\"ứ\",\"Ừ\":\"ừ\",\"Ử\":\"ử\",\"Ữ\":\"ữ\",\"Ự\":\"ự\",\"Ỳ\":\"ỳ\",\"Ỵ\":\"ỵ\",\"Ỷ\":\"ỷ\",\"Ỹ\":\"ỹ\",\"Ỻ\":\"ỻ\",\"Ỽ\":\"ỽ\",\"Ỿ\":\"ỿ\",\"Ἀ\":\"ἀ\",\"Ἁ\":\"ἁ\",\"Ἂ\":\"ἂ\",\"Ἃ\":\"ἃ\",\"Ἄ\":\"ἄ\",\"Ἅ\":\"ἅ\",\"Ἆ\":\"ἆ\",\"Ἇ\":\"ἇ\",\"Ἐ\":\"ἐ\",\"Ἑ\":\"ἑ\",\"Ἒ\":\"ἒ\",\"Ἓ\":\"ἓ\",\"Ἔ\":\"ἔ\",\"Ἕ\":\"ἕ\",\"Ἠ\":\"ἠ\",\"Ἡ\":\"ἡ\",\"Ἢ\":\"ἢ\",\"Ἣ\":\"ἣ\",\"Ἤ\":\"ἤ\",\"Ἥ\":\"ἥ\",\"Ἦ\":\"ἦ\",\"Ἧ\":\"ἧ\",\"Ἰ\":\"ἰ\",\"Ἱ\":\"ἱ\",\"Ἲ\":\"ἲ\",\"Ἳ\":\"ἳ\",\"Ἴ\":\"ἴ\",\"Ἵ\":\"ἵ\",\"Ἶ\":\"ἶ\",\"Ἷ\":\"ἷ\",\"Ὀ\":\"ὀ\",\"Ὁ\":\"ὁ\",\"Ὂ\":\"ὂ\",\"Ὃ\":\"ὃ\",\"Ὄ\":\"ὄ\",\"Ὅ\":\"ὅ\",\"Ὑ\":\"ὑ\",\"Ὓ\":\"ὓ\",\"Ὕ\":\"ὕ\",\"Ὗ\":\"ὗ\",\"Ὠ\":\"ὠ\",\"Ὡ\":\"ὡ\",\"Ὢ\":\"ὢ\",\"Ὣ\":\"ὣ\",\"Ὤ\":\"ὤ\",\"Ὥ\":\"ὥ\",\"Ὦ\":\"ὦ\",\"Ὧ\":\"ὧ\",\"Ᾰ\":\"ᾰ\",\"Ᾱ\":\"ᾱ\",\"Ὰ\":\"ὰ\",\"Ά\":\"ά\",\"ι\":\"ι\",\"Ὲ\":\"ὲ\",\"Έ\":\"έ\",\"Ὴ\":\"ὴ\",\"Ή\":\"ή\",\"Ῐ\":\"ῐ\",\"Ῑ\":\"ῑ\",\"Ὶ\":\"ὶ\",\"Ί\":\"ί\",\"Ῠ\":\"ῠ\",\"Ῡ\":\"ῡ\",\"Ὺ\":\"ὺ\",\"Ύ\":\"ύ\",\"Ῥ\":\"ῥ\",\"Ὸ\":\"ὸ\",\"Ό\":\"ό\",\"Ὼ\":\"ὼ\",\"Ώ\":\"ώ\",\"Ω\":\"ω\",\"K\":\"k\",\"Å\":\"å\",\"Ⅎ\":\"ⅎ\",\"Ⅰ\":\"ⅰ\",\"Ⅱ\":\"ⅱ\",\"Ⅲ\":\"ⅲ\",\"Ⅳ\":\"ⅳ\",\"Ⅴ\":\"ⅴ\",\"Ⅵ\":\"ⅵ\",\"Ⅶ\":\"ⅶ\",\"Ⅷ\":\"ⅷ\",\"Ⅸ\":\"ⅸ\",\"Ⅹ\":\"ⅹ\",\"Ⅺ\":\"ⅺ\",\"Ⅻ\":\"ⅻ\",\"Ⅼ\":\"ⅼ\",\"Ⅽ\":\"ⅽ\",\"Ⅾ\":\"ⅾ\",\"Ⅿ\":\"ⅿ\",\"Ↄ\":\"ↄ\",\"Ⓐ\":\"ⓐ\",\"Ⓑ\":\"ⓑ\",\"Ⓒ\":\"ⓒ\",\"Ⓓ\":\"ⓓ\",\"Ⓔ\":\"ⓔ\",\"Ⓕ\":\"ⓕ\",\"Ⓖ\":\"ⓖ\",\"Ⓗ\":\"ⓗ\",\"Ⓘ\":\"ⓘ\",\"Ⓙ\":\"ⓙ\",\"Ⓚ\":\"ⓚ\",\"Ⓛ\":\"ⓛ\",\"Ⓜ\":\"ⓜ\",\"Ⓝ\":\"ⓝ\",\"Ⓞ\":\"ⓞ\",\"Ⓟ\":\"ⓟ\",\"Ⓠ\":\"ⓠ\",\"Ⓡ\":\"ⓡ\",\"Ⓢ\":\"ⓢ\",\"Ⓣ\":\"ⓣ\",\"Ⓤ\":\"ⓤ\",\"Ⓥ\":\"ⓥ\",\"Ⓦ\":\"ⓦ\",\"Ⓧ\":\"ⓧ\",\"Ⓨ\":\"ⓨ\",\"Ⓩ\":\"ⓩ\",\"Ⰰ\":\"ⰰ\",\"Ⰱ\":\"ⰱ\",\"Ⰲ\":\"ⰲ\",\"Ⰳ\":\"ⰳ\",\"Ⰴ\":\"ⰴ\",\"Ⰵ\":\"ⰵ\",\"Ⰶ\":\"ⰶ\",\"Ⰷ\":\"ⰷ\",\"Ⰸ\":\"ⰸ\",\"Ⰹ\":\"ⰹ\",\"Ⰺ\":\"ⰺ\",\"Ⰻ\":\"ⰻ\",\"Ⰼ\":\"ⰼ\",\"Ⰽ\":\"ⰽ\",\"Ⰾ\":\"ⰾ\",\"Ⰿ\":\"ⰿ\",\"Ⱀ\":\"ⱀ\",\"Ⱁ\":\"ⱁ\",\"Ⱂ\":\"ⱂ\",\"Ⱃ\":\"ⱃ\",\"Ⱄ\":\"ⱄ\",\"Ⱅ\":\"ⱅ\",\"Ⱆ\":\"ⱆ\",\"Ⱇ\":\"ⱇ\",\"Ⱈ\":\"ⱈ\",\"Ⱉ\":\"ⱉ\",\"Ⱊ\":\"ⱊ\",\"Ⱋ\":\"ⱋ\",\"Ⱌ\":\"ⱌ\",\"Ⱍ\":\"ⱍ\",\"Ⱎ\":\"ⱎ\",\"Ⱏ\":\"ⱏ\",\"Ⱐ\":\"ⱐ\",\"Ⱑ\":\"ⱑ\",\"Ⱒ\":\"ⱒ\",\"Ⱓ\":\"ⱓ\",\"Ⱔ\":\"ⱔ\",\"Ⱕ\":\"ⱕ\",\"Ⱖ\":\"ⱖ\",\"Ⱗ\":\"ⱗ\",\"Ⱘ\":\"ⱘ\",\"Ⱙ\":\"ⱙ\",\"Ⱚ\":\"ⱚ\",\"Ⱛ\":\"ⱛ\",\"Ⱜ\":\"ⱜ\",\"Ⱝ\":\"ⱝ\",\"Ⱞ\":\"ⱞ\",\"Ⱡ\":\"ⱡ\",\"Ɫ\":\"ɫ\",\"Ᵽ\":\"ᵽ\",\"Ɽ\":\"ɽ\",\"Ⱨ\":\"ⱨ\",\"Ⱪ\":\"ⱪ\",\"Ⱬ\":\"ⱬ\",\"Ɑ\":\"ɑ\",\"Ɱ\":\"ɱ\",\"Ɐ\":\"ɐ\",\"Ɒ\":\"ɒ\",\"Ⱳ\":\"ⱳ\",\"Ⱶ\":\"ⱶ\",\"Ȿ\":\"ȿ\",\"Ɀ\":\"ɀ\",\"Ⲁ\":\"ⲁ\",\"Ⲃ\":\"ⲃ\",\"Ⲅ\":\"ⲅ\",\"Ⲇ\":\"ⲇ\",\"Ⲉ\":\"ⲉ\",\"Ⲋ\":\"ⲋ\",\"Ⲍ\":\"ⲍ\",\"Ⲏ\":\"ⲏ\",\"Ⲑ\":\"ⲑ\",\"Ⲓ\":\"ⲓ\",\"Ⲕ\":\"ⲕ\",\"Ⲗ\":\"ⲗ\",\"Ⲙ\":\"ⲙ\",\"Ⲛ\":\"ⲛ\",\"Ⲝ\":\"ⲝ\",\"Ⲟ\":\"ⲟ\",\"Ⲡ\":\"ⲡ\",\"Ⲣ\":\"ⲣ\",\"Ⲥ\":\"ⲥ\",\"Ⲧ\":\"ⲧ\",\"Ⲩ\":\"ⲩ\",\"Ⲫ\":\"ⲫ\",\"Ⲭ\":\"ⲭ\",\"Ⲯ\":\"ⲯ\",\"Ⲱ\":\"ⲱ\",\"Ⲳ\":\"ⲳ\",\"Ⲵ\":\"ⲵ\",\"Ⲷ\":\"ⲷ\",\"Ⲹ\":\"ⲹ\",\"Ⲻ\":\"ⲻ\",\"Ⲽ\":\"ⲽ\",\"Ⲿ\":\"ⲿ\",\"Ⳁ\":\"ⳁ\",\"Ⳃ\":\"ⳃ\",\"Ⳅ\":\"ⳅ\",\"Ⳇ\":\"ⳇ\",\"Ⳉ\":\"ⳉ\",\"Ⳋ\":\"ⳋ\",\"Ⳍ\":\"ⳍ\",\"Ⳏ\":\"ⳏ\",\"Ⳑ\":\"ⳑ\",\"Ⳓ\":\"ⳓ\",\"Ⳕ\":\"ⳕ\",\"Ⳗ\":\"ⳗ\",\"Ⳙ\":\"ⳙ\",\"Ⳛ\":\"ⳛ\",\"Ⳝ\":\"ⳝ\",\"Ⳟ\":\"ⳟ\",\"Ⳡ\":\"ⳡ\",\"Ⳣ\":\"ⳣ\",\"Ⳬ\":\"ⳬ\",\"Ⳮ\":\"ⳮ\",\"Ⳳ\":\"ⳳ\",\"Ꙁ\":\"ꙁ\",\"Ꙃ\":\"ꙃ\",\"Ꙅ\":\"ꙅ\",\"Ꙇ\":\"ꙇ\",\"Ꙉ\":\"ꙉ\",\"Ꙋ\":\"ꙋ\",\"Ꙍ\":\"ꙍ\",\"Ꙏ\":\"ꙏ\",\"Ꙑ\":\"ꙑ\",\"Ꙓ\":\"ꙓ\",\"Ꙕ\":\"ꙕ\",\"Ꙗ\":\"ꙗ\",\"Ꙙ\":\"ꙙ\",\"Ꙛ\":\"ꙛ\",\"Ꙝ\":\"ꙝ\",\"Ꙟ\":\"ꙟ\",\"Ꙡ\":\"ꙡ\",\"Ꙣ\":\"ꙣ\",\"Ꙥ\":\"ꙥ\",\"Ꙧ\":\"ꙧ\",\"Ꙩ\":\"ꙩ\",\"Ꙫ\":\"ꙫ\",\"Ꙭ\":\"ꙭ\",\"Ꚁ\":\"ꚁ\",\"Ꚃ\":\"ꚃ\",\"Ꚅ\":\"ꚅ\",\"Ꚇ\":\"ꚇ\",\"Ꚉ\":\"ꚉ\",\"Ꚋ\":\"ꚋ\",\"Ꚍ\":\"ꚍ\",\"Ꚏ\":\"ꚏ\",\"Ꚑ\":\"ꚑ\",\"Ꚓ\":\"ꚓ\",\"Ꚕ\":\"ꚕ\",\"Ꚗ\":\"ꚗ\",\"Ꚙ\":\"ꚙ\",\"Ꚛ\":\"ꚛ\",\"Ꜣ\":\"ꜣ\",\"Ꜥ\":\"ꜥ\",\"Ꜧ\":\"ꜧ\",\"Ꜩ\":\"ꜩ\",\"Ꜫ\":\"ꜫ\",\"Ꜭ\":\"ꜭ\",\"Ꜯ\":\"ꜯ\",\"Ꜳ\":\"ꜳ\",\"Ꜵ\":\"ꜵ\",\"Ꜷ\":\"ꜷ\",\"Ꜹ\":\"ꜹ\",\"Ꜻ\":\"ꜻ\",\"Ꜽ\":\"ꜽ\",\"Ꜿ\":\"ꜿ\",\"Ꝁ\":\"ꝁ\",\"Ꝃ\":\"ꝃ\",\"Ꝅ\":\"ꝅ\",\"Ꝇ\":\"ꝇ\",\"Ꝉ\":\"ꝉ\",\"Ꝋ\":\"ꝋ\",\"Ꝍ\":\"ꝍ\",\"Ꝏ\":\"ꝏ\",\"Ꝑ\":\"ꝑ\",\"Ꝓ\":\"ꝓ\",\"Ꝕ\":\"ꝕ\",\"Ꝗ\":\"ꝗ\",\"Ꝙ\":\"ꝙ\",\"Ꝛ\":\"ꝛ\",\"Ꝝ\":\"ꝝ\",\"Ꝟ\":\"ꝟ\",\"Ꝡ\":\"ꝡ\",\"Ꝣ\":\"ꝣ\",\"Ꝥ\":\"ꝥ\",\"Ꝧ\":\"ꝧ\",\"Ꝩ\":\"ꝩ\",\"Ꝫ\":\"ꝫ\",\"Ꝭ\":\"ꝭ\",\"Ꝯ\":\"ꝯ\",\"Ꝺ\":\"ꝺ\",\"Ꝼ\":\"ꝼ\",\"Ᵹ\":\"ᵹ\",\"Ꝿ\":\"ꝿ\",\"Ꞁ\":\"ꞁ\",\"Ꞃ\":\"ꞃ\",\"Ꞅ\":\"ꞅ\",\"Ꞇ\":\"ꞇ\",\"Ꞌ\":\"ꞌ\",\"Ɥ\":\"ɥ\",\"Ꞑ\":\"ꞑ\",\"Ꞓ\":\"ꞓ\",\"Ꞗ\":\"ꞗ\",\"Ꞙ\":\"ꞙ\",\"Ꞛ\":\"ꞛ\",\"Ꞝ\":\"ꞝ\",\"Ꞟ\":\"ꞟ\",\"Ꞡ\":\"ꞡ\",\"Ꞣ\":\"ꞣ\",\"Ꞥ\":\"ꞥ\",\"Ꞧ\":\"ꞧ\",\"Ꞩ\":\"ꞩ\",\"Ɦ\":\"ɦ\",\"Ɜ\":\"ɜ\",\"Ɡ\":\"ɡ\",\"Ɬ\":\"ɬ\",\"Ʞ\":\"ʞ\",\"Ʇ\":\"ʇ\",\"Ａ\":\"ａ\",\"Ｂ\":\"ｂ\",\"Ｃ\":\"ｃ\",\"Ｄ\":\"ｄ\",\"Ｅ\":\"ｅ\",\"Ｆ\":\"ｆ\",\"Ｇ\":\"ｇ\",\"Ｈ\":\"ｈ\",\"Ｉ\":\"ｉ\",\"Ｊ\":\"ｊ\",\"Ｋ\":\"ｋ\",\"Ｌ\":\"ｌ\",\"Ｍ\":\"ｍ\",\"Ｎ\":\"ｎ\",\"Ｏ\":\"ｏ\",\"Ｐ\":\"ｐ\",\"Ｑ\":\"ｑ\",\"Ｒ\":\"ｒ\",\"Ｓ\":\"ｓ\",\"Ｔ\":\"ｔ\",\"Ｕ\":\"ｕ\",\"Ｖ\":\"ｖ\",\"Ｗ\":\"ｗ\",\"Ｘ\":\"ｘ\",\"Ｙ\":\"ｙ\",\"Ｚ\":\"ｚ\",\"𐐀\":\"𐐨\",\"𐐁\":\"𐐩\",\"𐐂\":\"𐐪\",\"𐐃\":\"𐐫\",\"𐐄\":\"𐐬\",\"𐐅\":\"𐐭\",\"𐐆\":\"𐐮\",\"𐐇\":\"𐐯\",\"𐐈\":\"𐐰\",\"𐐉\":\"𐐱\",\"𐐊\":\"𐐲\",\"𐐋\":\"𐐳\",\"𐐌\":\"𐐴\",\"𐐍\":\"𐐵\",\"𐐎\":\"𐐶\",\"𐐏\":\"𐐷\",\"𐐐\":\"𐐸\",\"𐐑\":\"𐐹\",\"𐐒\":\"𐐺\",\"𐐓\":\"𐐻\",\"𐐔\":\"𐐼\",\"𐐕\":\"𐐽\",\"𐐖\":\"𐐾\",\"𐐗\":\"𐐿\",\"𐐘\":\"𐑀\",\"𐐙\":\"𐑁\",\"𐐚\":\"𐑂\",\"𐐛\":\"𐑃\",\"𐐜\":\"𐑄\",\"𐐝\":\"𐑅\",\"𐐞\":\"𐑆\",\"𐐟\":\"𐑇\",\"𐐠\":\"𐑈\",\"𐐡\":\"𐑉\",\"𐐢\":\"𐑊\",\"𐐣\":\"𐑋\",\"𐐤\":\"𐑌\",\"𐐥\":\"𐑍\",\"𐐦\":\"𐑎\",\"𐐧\":\"𐑏\",\"𑢠\":\"𑣀\",\"𑢡\":\"𑣁\",\"𑢢\":\"𑣂\",\"𑢣\":\"𑣃\",\"𑢤\":\"𑣄\",\"𑢥\":\"𑣅\",\"𑢦\":\"𑣆\",\"𑢧\":\"𑣇\",\"𑢨\":\"𑣈\",\"𑢩\":\"𑣉\",\"𑢪\":\"𑣊\",\"𑢫\":\"𑣋\",\"𑢬\":\"𑣌\",\"𑢭\":\"𑣍\",\"𑢮\":\"𑣎\",\"𑢯\":\"𑣏\",\"𑢰\":\"𑣐\",\"𑢱\":\"𑣑\",\"𑢲\":\"𑣒\",\"𑢳\":\"𑣓\",\"𑢴\":\"𑣔\",\"𑢵\":\"𑣕\",\"𑢶\":\"𑣖\",\"𑢷\":\"𑣗\",\"𑢸\":\"𑣘\",\"𑢹\":\"𑣙\",\"𑢺\":\"𑣚\",\"𑢻\":\"𑣛\",\"𑢼\":\"𑣜\",\"𑢽\":\"𑣝\",\"𑢾\":\"𑣞\",\"𑢿\":\"𑣟\",\"ß\":\"ss\",\"İ\":\"i̇\",\"ŉ\":\"ʼn\",\"ǰ\":\"ǰ\",\"ΐ\":\"ΐ\",\"ΰ\":\"ΰ\",\"և\":\"եւ\",\"ẖ\":\"ẖ\",\"ẗ\":\"ẗ\",\"ẘ\":\"ẘ\",\"ẙ\":\"ẙ\",\"ẚ\":\"aʾ\",\"ẞ\":\"ss\",\"ὐ\":\"ὐ\",\"ὒ\":\"ὒ\",\"ὔ\":\"ὔ\",\"ὖ\":\"ὖ\",\"ᾀ\":\"ἀι\",\"ᾁ\":\"ἁι\",\"ᾂ\":\"ἂι\",\"ᾃ\":\"ἃι\",\"ᾄ\":\"ἄι\",\"ᾅ\":\"ἅι\",\"ᾆ\":\"ἆι\",\"ᾇ\":\"ἇι\",\"ᾈ\":\"ἀι\",\"ᾉ\":\"ἁι\",\"ᾊ\":\"ἂι\",\"ᾋ\":\"ἃι\",\"ᾌ\":\"ἄι\",\"ᾍ\":\"ἅι\",\"ᾎ\":\"ἆι\",\"ᾏ\":\"ἇι\",\"ᾐ\":\"ἠι\",\"ᾑ\":\"ἡι\",\"ᾒ\":\"ἢι\",\"ᾓ\":\"ἣι\",\"ᾔ\":\"ἤι\",\"ᾕ\":\"ἥι\",\"ᾖ\":\"ἦι\",\"ᾗ\":\"ἧι\",\"ᾘ\":\"ἠι\",\"ᾙ\":\"ἡι\",\"ᾚ\":\"ἢι\",\"ᾛ\":\"ἣι\",\"ᾜ\":\"ἤι\",\"ᾝ\":\"ἥι\",\"ᾞ\":\"ἦι\",\"ᾟ\":\"ἧι\",\"ᾠ\":\"ὠι\",\"ᾡ\":\"ὡι\",\"ᾢ\":\"ὢι\",\"ᾣ\":\"ὣι\",\"ᾤ\":\"ὤι\",\"ᾥ\":\"ὥι\",\"ᾦ\":\"ὦι\",\"ᾧ\":\"ὧι\",\"ᾨ\":\"ὠι\",\"ᾩ\":\"ὡι\",\"ᾪ\":\"ὢι\",\"ᾫ\":\"ὣι\",\"ᾬ\":\"ὤι\",\"ᾭ\":\"ὥι\",\"ᾮ\":\"ὦι\",\"ᾯ\":\"ὧι\",\"ᾲ\":\"ὰι\",\"ᾳ\":\"αι\",\"ᾴ\":\"άι\",\"ᾶ\":\"ᾶ\",\"ᾷ\":\"ᾶι\",\"ᾼ\":\"αι\",\"ῂ\":\"ὴι\",\"ῃ\":\"ηι\",\"ῄ\":\"ήι\",\"ῆ\":\"ῆ\",\"ῇ\":\"ῆι\",\"ῌ\":\"ηι\",\"ῒ\":\"ῒ\",\"ΐ\":\"ΐ\",\"ῖ\":\"ῖ\",\"ῗ\":\"ῗ\",\"ῢ\":\"ῢ\",\"ΰ\":\"ΰ\",\"ῤ\":\"ῤ\",\"ῦ\":\"ῦ\",\"ῧ\":\"ῧ\",\"ῲ\":\"ὼι\",\"ῳ\":\"ωι\",\"ῴ\":\"ώι\",\"ῶ\":\"ῶ\",\"ῷ\":\"ῶι\",\"ῼ\":\"ωι\",\"ﬀ\":\"ff\",\"ﬁ\":\"fi\",\"ﬂ\":\"fl\",\"ﬃ\":\"ffi\",\"ﬄ\":\"ffl\",\"ﬅ\":\"st\",\"ﬆ\":\"st\",\"ﬓ\":\"մն\",\"ﬔ\":\"մե\",\"ﬕ\":\"մի\",\"ﬖ\":\"վն\",\"ﬗ\":\"մխ\"};e.exports=function(e){return e.slice(1,e.length-1).trim().replace(r,function(e){return i[e]||\" \"})}},function(e,t,n){\"use strict\";function r(e,t,n){if(!(this.disableTags>0)){if(this.buffer+=\"<\"+e,t&&t.length>0)for(var r,i=0;void 0!==(r=t[i]);)this.buffer+=\" \"+r[0]+'=\"'+r[1]+'\"',i++;n&&(this.buffer+=\" /\"),this.buffer+=\">\",this.lastOut=\">\"}}function i(e){e=e||{},e.softbreak=e.softbreak||\"\\n\",this.disableTags=0,this.lastOut=\"\\n\",this.options=e}function o(e){this.out(e.literal)}function a(){this.lit(this.options.softbreak)}function s(){this.tag(\"br\",[],!0),this.cr()}function u(e,t){var n=this.attrs(e);t?(this.options.safe&&O(e.destination)||n.push([\"href\",this.esc(e.destination,!0)]),e.title&&n.push([\"title\",this.esc(e.title,!0)]),this.tag(\"a\",n)):this.tag(\"/a\")}function l(e,t){t?(0===this.disableTags&&(this.options.safe&&O(e.destination)?this.lit('<img src=\"\" alt=\"'):this.lit('<img src=\"'+this.esc(e.destination,!0)+'\" alt=\"')),this.disableTags+=1):(this.disableTags-=1,0===this.disableTags&&(e.title&&this.lit('\" title=\"'+this.esc(e.title,!0)),this.lit('\" />')))}function c(e,t){this.tag(t?\"em\":\"/em\")}function p(e,t){this.tag(t?\"strong\":\"/strong\")}function f(e,t){var n=e.parent.parent,r=this.attrs(e);null!==n&&\"list\"===n.type&&n.listTight||(t?(this.cr(),this.tag(\"p\",r)):(this.tag(\"/p\"),this.cr()))}function h(e,t){var n=\"h\"+e.level,r=this.attrs(e);t?(this.cr(),this.tag(n,r)):(this.tag(\"/\"+n),this.cr())}function d(e){this.tag(\"code\"),this.out(e.literal),this.tag(\"/code\")}function m(e){var t=e.info?e.info.split(/\\s+/):[],n=this.attrs(e);t.length>0&&t[0].length>0&&n.push([\"class\",\"language-\"+this.esc(t[0],!0)]),this.cr(),this.tag(\"pre\"),this.tag(\"code\",n),this.out(e.literal),this.tag(\"/code\"),this.tag(\"/pre\"),this.cr()}function v(e){var t=this.attrs(e);this.cr(),this.tag(\"hr\",t,!0),this.cr()}function g(e,t){var n=this.attrs(e);t?(this.cr(),this.tag(\"blockquote\",n),this.cr()):(this.cr(),this.tag(\"/blockquote\"),this.cr())}function y(e,t){var n=\"bullet\"===e.listType?\"ul\":\"ol\",r=this.attrs(e);if(t){var i=e.listStart;null!==i&&1!==i&&r.push([\"start\",i.toString()]),this.cr(),this.tag(n,r),this.cr()}else this.cr(),this.tag(\"/\"+n),this.cr()}function _(e,t){var n=this.attrs(e);t?this.tag(\"li\",n):(this.tag(\"/li\"),this.cr())}function b(e){this.options.safe?this.lit(\"\\x3c!-- raw HTML omitted --\\x3e\"):this.lit(e.literal)}function x(e){this.cr(),this.options.safe?this.lit(\"\\x3c!-- raw HTML omitted --\\x3e\"):this.lit(e.literal),this.cr()}function w(e,t){t&&e.onEnter?this.lit(e.onEnter):!t&&e.onExit&&this.lit(e.onExit)}function k(e,t){this.cr(),t&&e.onEnter?this.lit(e.onEnter):!t&&e.onExit&&this.lit(e.onExit),this.cr()}function E(e){this.lit(this.esc(e,!1))}function S(e){var t=[];if(this.options.sourcepos){var n=e.sourcepos;n&&t.push([\"data-sourcepos\",String(n[0][0])+\":\"+String(n[0][1])+\"-\"+String(n[1][0])+\":\"+String(n[1][1])])}return t}var C=n(340),A=/^javascript:|vbscript:|file:|data:/i,D=/^data:image\\/(?:png|gif|jpeg|webp)/i,O=function(e){return A.test(e)&&!D.test(e)};i.prototype=Object.create(C.prototype),i.prototype.text=o,i.prototype.html_inline=b,i.prototype.html_block=x,i.prototype.softbreak=a,i.prototype.linebreak=s,i.prototype.link=u,i.prototype.image=l,i.prototype.emph=c,i.prototype.strong=p,i.prototype.paragraph=f,i.prototype.heading=h,i.prototype.code=d,i.prototype.code_block=m,i.prototype.thematic_break=v,i.prototype.block_quote=g,i.prototype.list=y,i.prototype.item=_,i.prototype.custom_inline=w,i.prototype.custom_block=k,i.prototype.esc=n(73).escapeXml,i.prototype.out=E,i.prototype.tag=r,i.prototype.attrs=S,e.exports=i},function(e,t,n){\"use strict\";function r(e){return e.replace(/([a-z])([A-Z])/g,\"$1_$2\").toLowerCase()}function i(e){e=e||{},this.disableTags=0,this.lastOut=\"\\n\",this.indentLevel=0,this.indent=\"  \",this.options=e}function o(e){this.buffer=\"\";var t,n,i,o,a,s,u,l,c=e.walker(),p=this.options;for(p.time&&console.time(\"rendering\"),this.buffer+='<?xml version=\"1.0\" encoding=\"UTF-8\"?>\\n',this.buffer+='<!DOCTYPE document SYSTEM \"CommonMark.dtd\">\\n';i=c.next();)if(a=i.entering,o=i.node,l=o.type,s=o.isContainer,u=\"thematic_break\"===l||\"linebreak\"===l||\"softbreak\"===l,n=r(l),a){switch(t=[],l){case\"document\":t.push([\"xmlns\",\"http://commonmark.org/xml/1.0\"]);break;case\"list\":null!==o.listType&&t.push([\"type\",o.listType.toLowerCase()]),null!==o.listStart&&t.push([\"start\",String(o.listStart)]),null!==o.listTight&&t.push([\"tight\",o.listTight?\"true\":\"false\"]);var f=o.listDelimiter;if(null!==f){var h=\"\";h=\".\"===f?\"period\":\"paren\",t.push([\"delimiter\",h])}break;case\"code_block\":o.info&&t.push([\"info\",o.info]);break;case\"heading\":t.push([\"level\",String(o.level)]);break;case\"link\":case\"image\":t.push([\"destination\",o.destination]),t.push([\"title\",o.title]);break;case\"custom_inline\":case\"custom_block\":t.push([\"on_enter\",o.onEnter]),t.push([\"on_exit\",o.onExit])}if(p.sourcepos){var d=o.sourcepos;d&&t.push([\"sourcepos\",String(d[0][0])+\":\"+String(d[0][1])+\"-\"+String(d[1][0])+\":\"+String(d[1][1])])}if(this.cr(),this.out(this.tag(n,t,u)),s)this.indentLevel+=1;else if(!s&&!u){var m=o.literal;m&&this.out(this.esc(m)),this.out(this.tag(\"/\"+n))}}else this.indentLevel-=1,this.cr(),this.out(this.tag(\"/\"+n));return p.time&&console.timeEnd(\"rendering\"),this.buffer+=\"\\n\",this.buffer}function a(e){this.disableTags>0?this.buffer+=e.replace(c,\"\"):this.buffer+=e,this.lastOut=e}function s(){if(\"\\n\"!==this.lastOut){this.buffer+=\"\\n\",this.lastOut=\"\\n\";for(var e=this.indentLevel;e>0;e--)this.buffer+=this.indent}}function u(e,t,n){var r=\"<\"+e;if(t&&t.length>0)for(var i,o=0;void 0!==(i=t[o]);)r+=\" \"+i[0]+'=\"'+this.esc(i[1])+'\"',o++;return n&&(r+=\" /\"),r+=\">\"}var l=n(340),c=/\\<[^>]*\\>/;i.prototype=Object.create(l.prototype),i.prototype.render=o,i.prototype.out=a,i.prototype.cr=s,i.prototype.tag=u,i.prototype.esc=n(73).escapeXml,e.exports=i},function(e,t,n){\"use strict\";function r(e,t){if(\"string\"!=typeof e)throw new TypeError(\"argument str must be a string\");for(var n={},r=t||{},i=e.split(u),s=r.decode||a,l=0;l<i.length;l++){var c=i[l],p=c.indexOf(\"=\");if(!(p<0)){var f=c.substr(0,p).trim(),h=c.substr(++p,c.length).trim();'\"'==h[0]&&(h=h.slice(1,-1)),void 0==n[f]&&(n[f]=o(h,s))}}return n}function i(e,t,n){var r=n||{},i=r.encode||s;if(\"function\"!=typeof i)throw new TypeError(\"option encode is invalid\");if(!l.test(e))throw new TypeError(\"argument name is invalid\");var o=i(t);if(o&&!l.test(o))throw new TypeError(\"argument val is invalid\");var a=e+\"=\"+o;if(null!=r.maxAge){var u=r.maxAge-0;if(isNaN(u))throw new Error(\"maxAge should be a Number\");a+=\"; Max-Age=\"+Math.floor(u)}if(r.domain){if(!l.test(r.domain))throw new TypeError(\"option domain is invalid\");a+=\"; Domain=\"+r.domain}if(r.path){if(!l.test(r.path))throw new TypeError(\"option path is invalid\");a+=\"; Path=\"+r.path}if(r.expires){if(\"function\"!=typeof r.expires.toUTCString)throw new TypeError(\"option expires is invalid\");a+=\"; Expires=\"+r.expires.toUTCString()}if(r.httpOnly&&(a+=\"; HttpOnly\"),r.secure&&(a+=\"; Secure\"),r.sameSite){switch(\"string\"==typeof r.sameSite?r.sameSite.toLowerCase():r.sameSite){case!0:a+=\"; SameSite=Strict\";break;case\"lax\":a+=\"; SameSite=Lax\";break;case\"strict\":a+=\"; SameSite=Strict\";break;default:throw new TypeError(\"option sameSite is invalid\")}}return a}function o(e,t){try{return t(e)}catch(t){return e}}/*!\n * cookie\n * Copyright(c) 2012-2014 Roman Shtylman\n * Copyright(c) 2015 Douglas Christopher Wilson\n * MIT Licensed\n */\nt.parse=r,t.serialize=i;var a=decodeURIComponent,s=encodeURIComponent,u=/; */,l=/^[\\u0009\\u0020-\\u007e\\u0080-\\u00ff]+$/},function(e,t,n){n(692),n(696),n(703),n(373),n(687),n(688),n(693),n(697),n(699),n(683),n(684),n(685),n(686),n(689),n(690),n(691),n(694),n(695),n(698),n(700),n(701),n(702),n(679),n(680),n(681),n(682),e.exports=n(63).String},function(e,t,n){n(677),n(373),n(706),n(678),n(704),n(705),e.exports=n(63).Promise},function(e,t,n){n(103),n(634),e.exports=n(15).Array.from},function(e,t,n){n(104),n(103),e.exports=n(632)},function(e,t,n){n(104),n(103),e.exports=n(633)},function(e,t,n){var r=n(15),i=r.JSON||(r.JSON={stringify:JSON.stringify});e.exports=function(e){return i.stringify.apply(i,arguments)}},function(e,t,n){n(636),e.exports=n(15).Object.assign},function(e,t,n){n(637);var r=n(15).Object;e.exports=function(e,t){return r.create(e,t)}},function(e,t,n){n(638);var r=n(15).Object;e.exports=function(e,t,n){return r.defineProperty(e,t,n)}},function(e,t,n){n(639),e.exports=n(15).Object.getPrototypeOf},function(e,t,n){n(640),e.exports=n(15).Object.keys},function(e,t,n){n(641),e.exports=n(15).Object.setPrototypeOf},function(e,t,n){n(196),n(103),n(104),n(642),n(645),n(646),e.exports=n(15).Promise},function(e,t,n){n(643),n(196),n(647),n(648),e.exports=n(15).Symbol},function(e,t,n){n(103),n(104),e.exports=n(194).f(\"iterator\")},function(e,t,n){n(196),n(104),n(644),n(650),n(649),e.exports=n(15).WeakMap},function(e,t){e.exports=function(){}},function(e,t,n){var r=n(75),i=n(133),o=n(631);e.exports=function(e){return function(t,n,a){var s,u=r(t),l=i(u.length),c=o(a,l);if(e&&n!=n){for(;l>c;)if((s=u[c++])!=s)return!0}else for(;l>c;c++)if((e||c in u)&&u[c]===n)return e||c||0;return!e&&-1}}},function(e,t,n){var r=n(29),i=n(344),o=n(21)(\"species\");e.exports=function(e){var t;return i(e)&&(t=e.constructor,\"function\"!=typeof t||t!==Array&&!i(t.prototype)||(t=void 0),r(t)&&null===(t=t[o])&&(t=void 0)),void 0===t?Array:t}},function(e,t,n){var r=n(614);e.exports=function(e,t){return new(r(e))(t)}},function(e,t,n){\"use strict\";var r=n(187),i=n(131).getWeak,o=n(38),a=n(29),s=n(177),u=n(129),l=n(178),c=n(56),p=n(358),f=l(5),h=l(6),d=0,m=function(e){return e._l||(e._l=new v)},v=function(){this.a=[]},g=function(e,t){return f(e.a,function(e){return e[0]===t})};v.prototype={get:function(e){var t=g(this,e);if(t)return t[1]},has:function(e){return!!g(this,e)},set:function(e,t){var n=g(this,e);n?n[1]=t:this.a.push([e,t])},delete:function(e){var t=h(this.a,function(t){return t[0]===e});return~t&&this.a.splice(t,1),!!~t}},e.exports={getConstructor:function(e,t,n,o){var l=e(function(e,r){s(e,l,t,\"_i\"),e._t=t,e._i=d++,e._l=void 0,void 0!=r&&u(r,n,e[o],e)});return r(l.prototype,{delete:function(e){if(!a(e))return!1;var n=i(e);return!0===n?m(p(this,t)).delete(e):n&&c(n,this._i)&&delete n[this._i]},has:function(e){if(!a(e))return!1;var n=i(e);return!0===n?m(p(this,t)).has(e):n&&c(n,this._i)}}),l},def:function(e,t,n){var r=i(o(t),!0);return!0===r?m(e).set(t,n):r[e._i]=n,e},ufstore:m}},function(e,t,n){\"use strict\";var r=n(24),i=n(23),o=n(131),a=n(55),s=n(57),u=n(187),l=n(129),c=n(177),p=n(29),f=n(102),h=n(43).f,d=n(178)(0),m=n(49);e.exports=function(e,t,n,v,g,y){var _=r[e],b=_,x=g?\"set\":\"add\",w=b&&b.prototype,k={};return m&&\"function\"==typeof b&&(y||w.forEach&&!a(function(){(new b).entries().next()}))?(b=t(function(t,n){c(t,b,e,\"_c\"),t._c=new _,void 0!=n&&l(n,g,t[x],t)}),d(\"add,clear,delete,forEach,get,has,set,keys,values,entries,toJSON\".split(\",\"),function(e){var t=\"add\"==e||\"set\"==e;e in w&&(!y||\"clear\"!=e)&&s(b.prototype,e,function(n,r){if(c(this,b,e),!t&&y&&!p(n))return\"get\"==e&&void 0;var i=this._c[e](0===n?0:n,r);return t?this:i})}),y||h(b.prototype,\"size\",{get:function(){return this._c.size}})):(b=v.getConstructor(t,e,g,x),u(b.prototype,n),o.NEED=!0),f(b,e),k[e]=b,i(i.G+i.W+i.F,k),y||v.setStrong(b,e,g),b}},function(e,t,n){\"use strict\";var r=n(43),i=n(101);e.exports=function(e,t,n){t in e?r.f(e,t,i(0,n)):e[t]=n}},function(e,t,n){var r=n(100),i=n(186),o=n(132);e.exports=function(e){var t=r(e),n=i.f;if(n)for(var a,s=n(e),u=o.f,l=0;s.length>l;)u.call(e,a=s[l++])&&t.push(a);return t}},function(e,t){e.exports=function(e,t,n){var r=void 0===n;switch(t.length){case 0:return r?e():e.call(n);case 1:return r?e(t[0]):e.call(n,t[0]);case 2:return r?e(t[0],t[1]):e.call(n,t[0],t[1]);case 3:return r?e(t[0],t[1],t[2]):e.call(n,t[0],t[1],t[2]);case 4:return r?e(t[0],t[1],t[2],t[3]):e.call(n,t[0],t[1],t[2],t[3])}return e.apply(n,t)}},function(e,t,n){\"use strict\";var r=n(185),i=n(101),o=n(102),a={};n(57)(a,n(21)(\"iterator\"),function(){return this}),e.exports=function(e,t,n){e.prototype=r(a,{next:i(1,n)}),o(e,t+\" Iterator\")}},function(e,t){e.exports=function(e,t){return{value:t,done:!!e}}},function(e,t,n){var r=n(24),i=n(357).set,o=r.MutationObserver||r.WebKitMutationObserver,a=r.process,s=r.Promise,u=\"process\"==n(99)(a);e.exports=function(){var e,t,n,l=function(){var r,i;for(u&&(r=a.domain)&&r.exit();e;){i=e.fn,e=e.next;try{i()}catch(r){throw e?n():t=void 0,r}}t=void 0,r&&r.enter()};if(u)n=function(){a.nextTick(l)};else if(!o||r.navigator&&r.navigator.standalone)if(s&&s.resolve){var c=s.resolve();n=function(){c.then(l)}}else n=function(){i.call(r,l)};else{var p=!0,f=document.createTextNode(\"\");new o(l).observe(f,{characterData:!0}),n=function(){f.data=p=!p}}return function(r){var i={fn:r,next:void 0};t&&(t.next=i),e||(e=i,n()),t=i}}},function(e,t,n){var r=n(43),i=n(38),o=n(100);e.exports=n(49)?Object.defineProperties:function(e,t){i(e);for(var n,a=o(t),s=a.length,u=0;s>u;)r.f(e,n=a[u++],t[n]);return e}},function(e,t,n){var r=n(75),i=n(350).f,o={}.toString,a=\"object\"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],s=function(e){try{return i(e)}catch(e){return a.slice()}};e.exports.f=function(e){return a&&\"[object Window]\"==o.call(e)?s(e):i(r(e))}},function(e,t,n){\"use strict\";var r=n(23),i=n(98),o=n(54),a=n(129);e.exports=function(e){r(r.S,e,{from:function(e){var t,n,r,s,u=arguments[1];return i(this),t=void 0!==u,t&&i(u),void 0==e?new this:(n=[],t?(r=0,s=o(u,arguments[2],2),a(e,!1,function(e){n.push(s(e,r++))})):a(e,!1,n.push,n),new this(n))}})}},function(e,t,n){\"use strict\";var r=n(23);e.exports=function(e){r(r.S,e,{of:function(){for(var e=arguments.length,t=new Array(e);e--;)t[e]=arguments[e];return new this(t)}})}},function(e,t,n){var r=n(29),i=n(38),o=function(e,t){if(i(e),!r(t)&&null!==t)throw TypeError(t+\": can't set as prototype!\")};e.exports={set:Object.setPrototypeOf||(\"__proto__\"in{}?function(e,t,r){try{r=n(54)(Function.call,n(349).f(Object.prototype,\"__proto__\").set,2),r(e,[]),t=!(e instanceof Array)}catch(e){t=!0}return function(e,n){return o(e,n),t?e.__proto__=n:r(e,n),e}}({},!1):void 0),check:o}},function(e,t,n){\"use strict\";var r=n(24),i=n(15),o=n(43),a=n(49),s=n(21)(\"species\");e.exports=function(e){var t=\"function\"==typeof i[e]?i[e]:r[e];a&&t&&!t[s]&&o.f(t,s,{configurable:!0,get:function(){return this}})}},function(e,t,n){var r=n(191),i=n(180);e.exports=function(e){return function(t,n){var o,a,s=String(i(t)),u=r(n),l=s.length;return u<0||u>=l?e?\"\":void 0:(o=s.charCodeAt(u),o<55296||o>56319||u+1===l||(a=s.charCodeAt(u+1))<56320||a>57343?e?s.charAt(u):o:e?s.slice(u,u+2):a-56320+(o-55296<<10)+65536)}}},function(e,t,n){var r=n(191),i=Math.max,o=Math.min;e.exports=function(e,t){return e=r(e),e<0?i(e+t,0):o(e,t)}},function(e,t,n){var r=n(38),i=n(195);e.exports=n(15).getIterator=function(e){var t=i(e);if(\"function\"!=typeof t)throw TypeError(e+\" is not iterable!\");return r(t.call(e))}},function(e,t,n){var r=n(179),i=n(21)(\"iterator\"),o=n(74);e.exports=n(15).isIterable=function(e){var t=Object(e);return void 0!==t[i]||\"@@iterator\"in t||o.hasOwnProperty(r(t))}},function(e,t,n){\"use strict\";var r=n(54),i=n(23),o=n(76),a=n(345),s=n(343),u=n(133),l=n(618),c=n(195);i(i.S+i.F*!n(347)(function(e){Array.from(e)}),\"Array\",{from:function(e){var t,n,i,p,f=o(e),h=\"function\"==typeof this?this:Array,d=arguments.length,m=d>1?arguments[1]:void 0,v=void 0!==m,g=0,y=c(f);if(v&&(m=r(m,d>2?arguments[2]:void 0,2)),void 0==y||h==Array&&s(y))for(t=u(f.length),n=new h(t);t>g;g++)l(n,g,v?m(f[g],g):f[g]);else for(p=y.call(f),n=new h;!(i=p.next()).done;g++)l(n,g,v?a(p,m,[i.value,g],!0):i.value);return n.length=g,n}})},function(e,t,n){\"use strict\";var r=n(612),i=n(622),o=n(74),a=n(75);e.exports=n(346)(Array,\"Array\",function(e,t){this._t=a(e),this._i=0,this._k=t},function(){var e=this._t,t=this._k,n=this._i++;return!e||n>=e.length?(this._t=void 0,i(1)):\"keys\"==t?i(0,n):\"values\"==t?i(0,e[n]):i(0,[n,e[n]])},\"values\"),o.Arguments=o.Array,r(\"keys\"),r(\"values\"),r(\"entries\")},function(e,t,n){var r=n(23);r(r.S+r.F,\"Object\",{assign:n(348)})},function(e,t,n){var r=n(23);r(r.S,\"Object\",{create:n(185)})},function(e,t,n){var r=n(23);r(r.S+r.F*!n(49),\"Object\",{defineProperty:n(43).f})},function(e,t,n){var r=n(76),i=n(351);n(353)(\"getPrototypeOf\",function(){return function(e){return i(r(e))}})},function(e,t,n){var r=n(76),i=n(100);n(353)(\"keys\",function(){return function(e){return i(r(e))}})},function(e,t,n){var r=n(23);r(r.S,\"Object\",{setPrototypeOf:n(628).set})},function(e,t,n){\"use strict\";var r,i,o,a,s=n(130),u=n(24),l=n(54),c=n(179),p=n(23),f=n(29),h=n(98),d=n(177),m=n(129),v=n(356),g=n(357).set,y=n(623)(),_=n(184),b=n(354),x=n(355),w=u.TypeError,k=u.process,E=u.Promise,S=\"process\"==c(k),C=function(){},A=i=_.f,D=!!function(){try{var e=E.resolve(1),t=(e.constructor={})[n(21)(\"species\")]=function(e){e(C,C)};return(S||\"function\"==typeof PromiseRejectionEvent)&&e.then(C)instanceof t}catch(e){}}(),O=function(e){var t;return!(!f(e)||\"function\"!=typeof(t=e.then))&&t},M=function(e,t){if(!e._n){e._n=!0;var n=e._c;y(function(){for(var r=e._v,i=1==e._s,o=0;n.length>o;)!function(t){var n,o,a=i?t.ok:t.fail,s=t.resolve,u=t.reject,l=t.domain;try{a?(i||(2==e._h&&I(e),e._h=1),!0===a?n=r:(l&&l.enter(),n=a(r),l&&l.exit()),n===t.promise?u(w(\"Promise-chain cycle\")):(o=O(n))?o.call(n,s,u):s(n)):u(r)}catch(e){u(e)}}(n[o++]);e._c=[],e._n=!1,t&&!e._h&&T(e)})}},T=function(e){g.call(u,function(){var t,n,r,i=e._v,o=P(e);if(o&&(t=b(function(){S?k.emit(\"unhandledRejection\",i,e):(n=u.onunhandledrejection)?n({promise:e,reason:i}):(r=u.console)&&r.error&&r.error(\"Unhandled promise rejection\",i)}),e._h=S||P(e)?2:1),e._a=void 0,o&&t.e)throw t.v})},P=function(e){return 1!==e._h&&0===(e._a||e._c).length},I=function(e){g.call(u,function(){var t;S?k.emit(\"rejectionHandled\",e):(t=u.onrejectionhandled)&&t({promise:e,reason:e._v})})},R=function(e){var t=this;t._d||(t._d=!0,t=t._w||t,t._v=e,t._s=2,t._a||(t._a=t._c.slice()),M(t,!0))},j=function(e){var t,n=this;if(!n._d){n._d=!0,n=n._w||n;try{if(n===e)throw w(\"Promise can't be resolved itself\");(t=O(e))?y(function(){var r={_w:n,_d:!1};try{t.call(e,l(j,r,1),l(R,r,1))}catch(e){R.call(r,e)}}):(n._v=e,n._s=1,M(n,!1))}catch(e){R.call({_w:n,_d:!1},e)}}};D||(E=function(e){d(this,E,\"Promise\",\"_h\"),h(e),r.call(this);try{e(l(j,this,1),l(R,this,1))}catch(e){R.call(this,e)}},r=function(e){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1},r.prototype=n(187)(E.prototype,{then:function(e,t){var n=A(v(this,E));return n.ok=\"function\"!=typeof e||e,n.fail=\"function\"==typeof t&&t,n.domain=S?k.domain:void 0,this._c.push(n),this._a&&this._a.push(n),this._s&&M(this,!1),n.promise},catch:function(e){return this.then(void 0,e)}}),o=function(){var e=new r;this.promise=e,this.resolve=l(j,e,1),this.reject=l(R,e,1)},_.f=A=function(e){return e===E||e===a?new o(e):i(e)}),p(p.G+p.W+p.F*!D,{Promise:E}),n(102)(E,\"Promise\"),n(629)(\"Promise\"),a=n(15).Promise,p(p.S+p.F*!D,\"Promise\",{reject:function(e){var t=A(this);return(0,t.reject)(e),t.promise}}),p(p.S+p.F*(s||!D),\"Promise\",{resolve:function(e){return x(s&&this===a?E:this,e)}}),p(p.S+p.F*!(D&&n(347)(function(e){E.all(e).catch(C)})),\"Promise\",{all:function(e){var t=this,n=A(t),r=n.resolve,i=n.reject,o=b(function(){var n=[],o=0,a=1;m(e,!1,function(e){var s=o++,u=!1;n.push(void 0),a++,t.resolve(e).then(function(e){u||(u=!0,n[s]=e,--a||r(n))},i)}),--a||r(n)});return o.e&&i(o.v),n.promise},race:function(e){var t=this,n=A(t),r=n.reject,i=b(function(){m(e,!1,function(e){t.resolve(e).then(n.resolve,r)})});return i.e&&r(i.v),n.promise}})},function(e,t,n){\"use strict\";var r=n(24),i=n(56),o=n(49),a=n(23),s=n(188),u=n(131).KEY,l=n(55),c=n(190),p=n(102),f=n(134),h=n(21),d=n(194),m=n(193),v=n(619),g=n(344),y=n(38),_=n(29),b=n(75),x=n(192),w=n(101),k=n(185),E=n(625),S=n(349),C=n(43),A=n(100),D=S.f,O=C.f,M=E.f,T=r.Symbol,P=r.JSON,I=P&&P.stringify,R=h(\"_hidden\"),j=h(\"toPrimitive\"),N={}.propertyIsEnumerable,F=c(\"symbol-registry\"),B=c(\"symbols\"),L=c(\"op-symbols\"),q=Object.prototype,z=\"function\"==typeof T,U=r.QObject,W=!U||!U.prototype||!U.prototype.findChild,V=o&&l(function(){return 7!=k(O({},\"a\",{get:function(){return O(this,\"a\",{value:7}).a}})).a})?function(e,t,n){var r=D(q,t);r&&delete q[t],O(e,t,n),r&&e!==q&&O(q,t,r)}:O,H=function(e){var t=B[e]=k(T.prototype);return t._k=e,t},J=z&&\"symbol\"==typeof T.iterator?function(e){return\"symbol\"==typeof e}:function(e){return e instanceof T},G=function(e,t,n){return e===q&&G(L,t,n),y(e),t=x(t,!0),y(n),i(B,t)?(n.enumerable?(i(e,R)&&e[R][t]&&(e[R][t]=!1),n=k(n,{enumerable:w(0,!1)})):(i(e,R)||O(e,R,w(1,{})),e[R][t]=!0),V(e,t,n)):O(e,t,n)},X=function(e,t){y(e);for(var n,r=v(t=b(t)),i=0,o=r.length;o>i;)G(e,n=r[i++],t[n]);return e},Y=function(e,t){return void 0===t?k(e):X(k(e),t)},K=function(e){var t=N.call(this,e=x(e,!0));return!(this===q&&i(B,e)&&!i(L,e))&&(!(t||!i(this,e)||!i(B,e)||i(this,R)&&this[R][e])||t)},$=function(e,t){if(e=b(e),t=x(t,!0),e!==q||!i(B,t)||i(L,t)){var n=D(e,t);return!n||!i(B,t)||i(e,R)&&e[R][t]||(n.enumerable=!0),n}},Z=function(e){for(var t,n=M(b(e)),r=[],o=0;n.length>o;)i(B,t=n[o++])||t==R||t==u||r.push(t);return r},Q=function(e){for(var t,n=e===q,r=M(n?L:b(e)),o=[],a=0;r.length>a;)!i(B,t=r[a++])||n&&!i(q,t)||o.push(B[t]);return o};z||(T=function(){if(this instanceof T)throw TypeError(\"Symbol is not a constructor!\");var e=f(arguments.length>0?arguments[0]:void 0),t=function(n){this===q&&t.call(L,n),i(this,R)&&i(this[R],e)&&(this[R][e]=!1),V(this,e,w(1,n))};return o&&W&&V(q,e,{configurable:!0,set:t}),H(e)},s(T.prototype,\"toString\",function(){return this._k}),S.f=$,C.f=G,n(350).f=E.f=Z,n(132).f=K,n(186).f=Q,o&&!n(130)&&s(q,\"propertyIsEnumerable\",K,!0),d.f=function(e){return H(h(e))}),a(a.G+a.W+a.F*!z,{Symbol:T});for(var ee=\"hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables\".split(\",\"),te=0;ee.length>te;)h(ee[te++]);for(var ne=A(h.store),re=0;ne.length>re;)m(ne[re++]);a(a.S+a.F*!z,\"Symbol\",{for:function(e){return i(F,e+=\"\")?F[e]:F[e]=T(e)},keyFor:function(e){if(!J(e))throw TypeError(e+\" is not a symbol!\");for(var t in F)if(F[t]===e)return t},useSetter:function(){W=!0},useSimple:function(){W=!1}}),a(a.S+a.F*!z,\"Object\",{create:Y,defineProperty:G,defineProperties:X,getOwnPropertyDescriptor:$,getOwnPropertyNames:Z,getOwnPropertySymbols:Q}),P&&a(a.S+a.F*(!z||l(function(){var e=T();return\"[null]\"!=I([e])||\"{}\"!=I({a:e})||\"{}\"!=I(Object(e))})),\"JSON\",{stringify:function(e){for(var t,n,r=[e],i=1;arguments.length>i;)r.push(arguments[i++]);if(n=t=r[1],(_(t)||void 0!==e)&&!J(e))return g(t)||(t=function(e,t){if(\"function\"==typeof n&&(t=n.call(this,e,t)),!J(t))return t}),r[1]=t,I.apply(P,r)}}),T.prototype[j]||n(57)(T.prototype,j,T.prototype.valueOf),p(T,\"Symbol\"),p(Math,\"Math\",!0),p(r.JSON,\"JSON\",!0)},function(e,t,n){\"use strict\";var r,i=n(178)(0),o=n(188),a=n(131),s=n(348),u=n(616),l=n(29),c=n(55),p=n(358),f=a.getWeak,h=Object.isExtensible,d=u.ufstore,m={},v=function(e){return function(){return e(this,arguments.length>0?arguments[0]:void 0)}},g={get:function(e){if(l(e)){var t=f(e);return!0===t?d(p(this,\"WeakMap\")).get(e):t?t[this._i]:void 0}},set:function(e,t){return u.def(p(this,\"WeakMap\"),e,t)}},y=e.exports=n(617)(\"WeakMap\",v,g,u,!0,!0);c(function(){return 7!=(new y).set((Object.freeze||Object)(m),7).get(m)})&&(r=u.getConstructor(v,\"WeakMap\"),s(r.prototype,g),a.NEED=!0,i([\"delete\",\"has\",\"get\",\"set\"],function(e){var t=y.prototype,n=t[e];o(t,e,function(t,i){if(l(t)&&!h(t)){this._f||(this._f=new r);var o=this._f[e](t,i);return\"set\"==e?this:o}return n.call(this,t,i)})}))},function(e,t,n){\"use strict\";var r=n(23),i=n(15),o=n(24),a=n(356),s=n(355);r(r.P+r.R,\"Promise\",{finally:function(e){var t=a(this,i.Promise||o.Promise),n=\"function\"==typeof e;return this.then(n?function(n){return s(t,e()).then(function(){return n})}:e,n?function(n){return s(t,e()).then(function(){throw n})}:e)}})},function(e,t,n){\"use strict\";var r=n(23),i=n(184),o=n(354);r(r.S,\"Promise\",{try:function(e){var t=i.f(this),n=o(e);return(n.e?t.reject:t.resolve)(n.v),t.promise}})},function(e,t,n){n(193)(\"asyncIterator\")},function(e,t,n){n(193)(\"observable\")},function(e,t,n){n(626)(\"WeakMap\")},function(e,t,n){n(627)(\"WeakMap\")},function(e,t,n){var r=n(19)(\"unscopables\"),i=Array.prototype;void 0==i[r]&&n(64)(i,r,{}),e.exports=function(e){i[r][e]=!0}},function(e,t){e.exports=function(e,t,n,r){if(!(e instanceof t)||void 0!==r&&r in e)throw TypeError(n+\": incorrect invocation!\");return e}},function(e,t,n){var r=n(140),i=n(110),o=n(372);e.exports=function(e){return function(t,n,a){var s,u=r(t),l=i(u.length),c=o(a,l);if(e&&n!=n){for(;l>c;)if((s=u[c++])!=s)return!0}else for(;l>c;c++)if((e||c in u)&&u[c]===n)return e||c||0;return!e&&-1}}},function(e,t,n){var r=n(136),i=n(659),o=n(658),a=n(62),s=n(110),u=n(675),l={},c={},t=e.exports=function(e,t,n,p,f){var h,d,m,v,g=f?function(){return e}:u(e),y=r(n,p,t?2:1),_=0;if(\"function\"!=typeof g)throw TypeError(e+\" is not iterable!\");if(o(g)){for(h=s(e.length);h>_;_++)if((v=t?y(a(d=e[_])[0],d[1]):y(e[_]))===l||v===c)return v}else for(m=g.call(e);!(d=m.next()).done;)if((v=i(m,y,d.value,t))===l||v===c)return v};t.BREAK=l,t.RETURN=c},function(e,t,n){e.exports=!n(106)&&!n(107)(function(){return 7!=Object.defineProperty(n(198)(\"div\"),\"a\",{get:function(){return 7}}).a})},function(e,t){e.exports=function(e,t,n){var r=void 0===n;switch(t.length){case 0:return r?e():e.call(n);case 1:return r?e(t[0]):e.call(n,t[0]);case 2:return r?e(t[0],t[1]):e.call(n,t[0],t[1]);case 3:return r?e(t[0],t[1],t[2]):e.call(n,t[0],t[1],t[2]);case 4:return r?e(t[0],t[1],t[2],t[3]):e.call(n,t[0],t[1],t[2],t[3])}return e.apply(n,t)}},function(e,t,n){var r=n(105);e.exports=Object(\"z\").propertyIsEnumerable(0)?Object:function(e){return\"String\"==r(e)?e.split(\"\"):Object(e)}},function(e,t,n){var r=n(109),i=n(19)(\"iterator\"),o=Array.prototype;e.exports=function(e){return void 0!==e&&(r.Array===e||o[i]===e)}},function(e,t,n){var r=n(62);e.exports=function(e,t,n,i){try{return i?t(r(n)[0],n[1]):t(n)}catch(t){var o=e.return;throw void 0!==o&&r(o.call(e)),t}}},function(e,t,n){\"use strict\";var r=n(664),i=n(367),o=n(201),a={};n(64)(a,n(19)(\"iterator\"),function(){return this}),e.exports=function(e,t,n){e.prototype=r(a,{next:i(1,n)}),o(e,t+\" Iterator\")}},function(e,t,n){var r=n(19)(\"iterator\"),i=!1;try{var o=[7][r]();o.return=function(){i=!0},Array.from(o,function(){throw 2})}catch(e){}e.exports=function(e,t){if(!t&&!i)return!1;var n=!1;try{var o=[7],a=o[r]();a.next=function(){return{done:n=!0}},o[r]=function(){return a},e(o)}catch(e){}return n}},function(e,t){e.exports=function(e,t){return{value:t,done:!!e}}},function(e,t,n){var r=n(32),i=n(371).set,o=r.MutationObserver||r.WebKitMutationObserver,a=r.process,s=r.Promise,u=\"process\"==n(105)(a);e.exports=function(){var e,t,n,l=function(){var r,i;for(u&&(r=a.domain)&&r.exit();e;){i=e.fn,e=e.next;try{i()}catch(r){throw e?n():t=void 0,r}}t=void 0,r&&r.enter()};if(u)n=function(){a.nextTick(l)};else if(!o||r.navigator&&r.navigator.standalone)if(s&&s.resolve){var c=s.resolve();n=function(){c.then(l)}}else n=function(){i.call(r,l)};else{var p=!0,f=document.createTextNode(\"\");new o(l).observe(f,{characterData:!0}),n=function(){f.data=p=!p}}return function(r){var i={fn:r,next:void 0};t&&(t.next=i),e||(e=i,n()),t=i}}},function(e,t,n){var r=n(62),i=n(665),o=n(359),a=n(202)(\"IE_PROTO\"),s=function(){},u=function(){var e,t=n(198)(\"iframe\"),r=o.length;for(t.style.display=\"none\",n(360).appendChild(t),t.src=\"javascript:\",e=t.contentWindow.document,e.open(),e.write(\"<script>document.F=Object<\\/script>\"),e.close(),u=e.F;r--;)delete u.prototype[o[r]];return u()};e.exports=Object.create||function(e,t){var n;return null!==e?(s.prototype=r(e),n=new s,s.prototype=null,n[a]=e):n=u(),void 0===t?n:i(n,t)}},function(e,t,n){var r=n(138),i=n(62),o=n(364);e.exports=n(106)?Object.defineProperties:function(e,t){i(e);for(var n,a=o(t),s=a.length,u=0;s>u;)r.f(e,n=a[u++],t[n]);return e}},function(e,t,n){var r=n(108),i=n(673),o=n(202)(\"IE_PROTO\"),a=Object.prototype;e.exports=Object.getPrototypeOf||function(e){return e=i(e),r(e,o)?e[o]:\"function\"==typeof e.constructor&&e instanceof e.constructor?e.constructor.prototype:e instanceof Object?a:null}},function(e,t,n){var r=n(108),i=n(140),o=n(653)(!1),a=n(202)(\"IE_PROTO\");e.exports=function(e,t){var n,s=i(e),u=0,l=[];for(n in s)n!=a&&r(s,n)&&l.push(n);for(;t.length>u;)r(s,n=t[u++])&&(~o(l,n)||l.push(n));return l}},function(e,t,n){var r=n(78);e.exports=function(e,t,n){for(var i in t)r(e,i,t[i],n);return e}},function(e,t,n){\"use strict\";var r=n(32),i=n(138),o=n(106),a=n(19)(\"species\");e.exports=function(e){var t=r[e];o&&t&&!t[a]&&i.f(t,a,{configurable:!0,get:function(){return this}})}},function(e,t,n){\"use strict\";var r=n(139),i=n(58);e.exports=function(e){var t=String(i(this)),n=\"\",o=r(e);if(o<0||o==1/0)throw RangeError(\"Count can't be negative\");for(;o>0;(o>>>=1)&&(t+=t))1&o&&(n+=t);return n}},function(e,t,n){var r=n(30),i=n(58),o=n(107),a=n(672),s=\"[\"+a+\"]\",u=\"​\",l=RegExp(\"^\"+s+s+\"*\"),c=RegExp(s+s+\"*$\"),p=function(e,t,n){var i={},s=o(function(){return!!a[e]()||u[e]()!=u}),l=i[e]=s?t(f):a[e];n&&(i[n]=l),r(r.P+r.F*s,\"String\",i)},f=p.trim=function(e,t){return e=String(i(e)),1&t&&(e=e.replace(l,\"\")),2&t&&(e=e.replace(c,\"\")),e};e.exports=p},function(e,t){e.exports=\"\\t\\n\\v\\f\\r   ᠎             　\\u2028\\u2029\\ufeff\"},function(e,t,n){var r=n(58);e.exports=function(e){return Object(r(e))}},function(e,t,n){var r=n(77);e.exports=function(e,t){if(!r(e))return e;var n,i;if(t&&\"function\"==typeof(n=e.toString)&&!r(i=n.call(e)))return i;if(\"function\"==typeof(n=e.valueOf)&&!r(i=n.call(e)))return i;if(!t&&\"function\"==typeof(n=e.toString)&&!r(i=n.call(e)))return i;throw TypeError(\"Can't convert object to primitive value\")}},function(e,t,n){var r=n(197),i=n(19)(\"iterator\"),o=n(109);e.exports=n(63).getIteratorMethod=function(e){if(void 0!=e)return e[i]||e[\"@@iterator\"]||o[r(e)]}},function(e,t,n){\"use strict\";var r=n(651),i=n(662),o=n(109),a=n(140);e.exports=n(362)(Array,\"Array\",function(e,t){this._t=a(e),this._i=0,this._k=t},function(){var e=this._t,t=this._k,n=this._i++;return!e||n>=e.length?(this._t=void 0,i(1)):\"keys\"==t?i(0,n):\"values\"==t?i(0,e[n]):i(0,[n,e[n]])},\"values\"),o.Arguments=o.Array,r(\"keys\"),r(\"values\"),r(\"entries\")},function(e,t,n){\"use strict\";var r=n(197),i={};i[n(19)(\"toStringTag\")]=\"z\",i+\"\"!=\"[object z]\"&&n(78)(Object.prototype,\"toString\",function(){return\"[object \"+r(this)+\"]\"},!0)},function(e,t,n){\"use strict\";var r,i,o,a,s=n(363),u=n(32),l=n(136),c=n(197),p=n(30),f=n(77),h=n(135),d=n(652),m=n(654),v=n(369),g=n(371).set,y=n(663)(),_=n(200),b=n(365),x=n(366),w=u.TypeError,k=u.process,E=u.Promise,S=\"process\"==c(k),C=function(){},A=i=_.f,D=!!function(){try{var e=E.resolve(1),t=(e.constructor={})[n(19)(\"species\")]=function(e){e(C,C)};return(S||\"function\"==typeof PromiseRejectionEvent)&&e.then(C)instanceof t}catch(e){}}(),O=function(e){var t;return!(!f(e)||\"function\"!=typeof(t=e.then))&&t},M=function(e,t){if(!e._n){e._n=!0;var n=e._c;y(function(){for(var r=e._v,i=1==e._s,o=0;n.length>o;)!function(t){var n,o,a=i?t.ok:t.fail,s=t.resolve,u=t.reject,l=t.domain;try{a?(i||(2==e._h&&I(e),e._h=1),!0===a?n=r:(l&&l.enter(),n=a(r),l&&l.exit()),n===t.promise?u(w(\"Promise-chain cycle\")):(o=O(n))?o.call(n,s,u):s(n)):u(r)}catch(e){u(e)}}(n[o++]);e._c=[],e._n=!1,t&&!e._h&&T(e)})}},T=function(e){g.call(u,function(){var t,n,r,i=e._v,o=P(e);if(o&&(t=b(function(){S?k.emit(\"unhandledRejection\",i,e):(n=u.onunhandledrejection)?n({promise:e,reason:i}):(r=u.console)&&r.error&&r.error(\"Unhandled promise rejection\",i)}),e._h=S||P(e)?2:1),e._a=void 0,o&&t.e)throw t.v})},P=function(e){return 1!==e._h&&0===(e._a||e._c).length},I=function(e){g.call(u,function(){var t;S?k.emit(\"rejectionHandled\",e):(t=u.onrejectionhandled)&&t({promise:e,reason:e._v})})},R=function(e){var t=this;t._d||(t._d=!0,t=t._w||t,t._v=e,t._s=2,t._a||(t._a=t._c.slice()),M(t,!0))},j=function(e){var t,n=this;if(!n._d){n._d=!0,n=n._w||n;try{if(n===e)throw w(\"Promise can't be resolved itself\");(t=O(e))?y(function(){var r={_w:n,_d:!1};try{t.call(e,l(j,r,1),l(R,r,1))}catch(e){R.call(r,e)}}):(n._v=e,n._s=1,M(n,!1))}catch(e){R.call({_w:n,_d:!1},e)}}};D||(E=function(e){d(this,E,\"Promise\",\"_h\"),h(e),r.call(this);try{e(l(j,this,1),l(R,this,1))}catch(e){R.call(this,e)}},r=function(e){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1},r.prototype=n(668)(E.prototype,{then:function(e,t){var n=A(v(this,E));return n.ok=\"function\"!=typeof e||e,n.fail=\"function\"==typeof t&&t,n.domain=S?k.domain:void 0,this._c.push(n),this._a&&this._a.push(n),this._s&&M(this,!1),n.promise},catch:function(e){return this.then(void 0,e)}}),o=function(){var e=new r;this.promise=e,this.resolve=l(j,e,1),this.reject=l(R,e,1)},_.f=A=function(e){return e===E||e===a?new o(e):i(e)}),p(p.G+p.W+p.F*!D,{Promise:E}),n(201)(E,\"Promise\"),n(669)(\"Promise\"),a=n(63).Promise,p(p.S+p.F*!D,\"Promise\",{reject:function(e){var t=A(this);return(0,t.reject)(e),t.promise}}),p(p.S+p.F*(s||!D),\"Promise\",{resolve:function(e){return x(s&&this===a?E:this,e)}}),p(p.S+p.F*!(D&&n(661)(function(e){E.all(e).catch(C)})),\"Promise\",{all:function(e){var t=this,n=A(t),r=n.resolve,i=n.reject,o=b(function(){var n=[],o=0,a=1;m(e,!1,function(e){var s=o++,u=!1;n.push(void 0),a++,t.resolve(e).then(function(e){u||(u=!0,n[s]=e,--a||r(n))},i)}),--a||r(n)});return o.e&&i(o.v),n.promise},race:function(e){var t=this,n=A(t),r=n.reject,i=b(function(){m(e,!1,function(e){t.resolve(e).then(n.resolve,r)})});return i.e&&r(i.v),n.promise}})},function(e,t,n){n(137)(\"match\",1,function(e,t,n){return[function(n){\"use strict\";var r=e(this),i=void 0==n?void 0:n[t];return void 0!==i?i.call(n,r):new RegExp(n)[t](String(r))},n]})},function(e,t,n){n(137)(\"replace\",2,function(e,t,n){return[function(r,i){\"use strict\";var o=e(this),a=void 0==r?void 0:r[t];return void 0!==a?a.call(r,o,i):n.call(String(o),r,i)},n]})},function(e,t,n){n(137)(\"search\",1,function(e,t,n){return[function(n){\"use strict\";var r=e(this),i=void 0==n?void 0:n[t];return void 0!==i?i.call(n,r):new RegExp(n)[t](String(r))},n]})},function(e,t,n){n(137)(\"split\",2,function(e,t,r){\"use strict\";var i=n(361),o=r,a=[].push,s=\"length\";if(\"c\"==\"abbc\".split(/(b)*/)[1]||4!=\"test\".split(/(?:)/,-1)[s]||2!=\"ab\".split(/(?:ab)*/)[s]||4!=\".\".split(/(.?)(.?)/)[s]||\".\".split(/()()/)[s]>1||\"\".split(/.?/)[s]){var u=void 0===/()??/.exec(\"\")[1];r=function(e,t){var n=String(this);if(void 0===e&&0===t)return[];if(!i(e))return o.call(n,e,t);var r,l,c,p,f,h=[],d=(e.ignoreCase?\"i\":\"\")+(e.multiline?\"m\":\"\")+(e.unicode?\"u\":\"\")+(e.sticky?\"y\":\"\"),m=0,v=void 0===t?4294967295:t>>>0,g=new RegExp(e.source,d+\"g\");for(u||(r=new RegExp(\"^\"+g.source+\"$(?!\\\\s)\",d));(l=g.exec(n))&&!((c=l.index+l[0][s])>m&&(h.push(n.slice(m,l.index)),!u&&l[s]>1&&l[0].replace(r,function(){for(f=1;f<arguments[s]-2;f++)void 0===arguments[f]&&(l[f]=void 0)}),l[s]>1&&l.index<n[s]&&a.apply(h,l.slice(1)),p=l[0][s],m=c,h[s]>=v));)g.lastIndex===l.index&&g.lastIndex++;return m===n[s]?!p&&g.test(\"\")||h.push(\"\"):h.push(n.slice(m)),h[s]>v?h.slice(0,v):h}}else\"0\".split(void 0,0)[s]&&(r=function(e,t){return void 0===e&&0===t?[]:o.call(this,e,t)});return[function(n,i){var o=e(this),a=void 0==n?void 0:n[t];return void 0!==a?a.call(n,o,i):r.call(String(o),n,i)},r]})},function(e,t,n){\"use strict\";n(31)(\"anchor\",function(e){return function(t){return e(this,\"a\",\"name\",t)}})},function(e,t,n){\"use strict\";n(31)(\"big\",function(e){return function(){return e(this,\"big\",\"\",\"\")}})},function(e,t,n){\"use strict\";n(31)(\"blink\",function(e){return function(){return e(this,\"blink\",\"\",\"\")}})},function(e,t,n){\"use strict\";n(31)(\"bold\",function(e){return function(){return e(this,\"b\",\"\",\"\")}})},function(e,t,n){\"use strict\";var r=n(30),i=n(370)(!1);r(r.P,\"String\",{codePointAt:function(e){return i(this,e)}})},function(e,t,n){\"use strict\";var r=n(30),i=n(110),o=n(203),a=\"\".endsWith;r(r.P+r.F*n(199)(\"endsWith\"),\"String\",{endsWith:function(e){var t=o(this,e,\"endsWith\"),n=arguments.length>1?arguments[1]:void 0,r=i(t.length),s=void 0===n?r:Math.min(i(n),r),u=String(e);return a?a.call(t,u,s):t.slice(s-u.length,s)===u}})},function(e,t,n){\"use strict\";n(31)(\"fixed\",function(e){return function(){return e(this,\"tt\",\"\",\"\")}})},function(e,t,n){\"use strict\";n(31)(\"fontcolor\",function(e){return function(t){return e(this,\"font\",\"color\",t)}})},function(e,t,n){\"use strict\";n(31)(\"fontsize\",function(e){return function(t){return e(this,\"font\",\"size\",t)}})},function(e,t,n){var r=n(30),i=n(372),o=String.fromCharCode,a=String.fromCodePoint;r(r.S+r.F*(!!a&&1!=a.length),\"String\",{fromCodePoint:function(e){for(var t,n=[],r=arguments.length,a=0;r>a;){if(t=+arguments[a++],i(t,1114111)!==t)throw RangeError(t+\" is not a valid code point\");n.push(t<65536?o(t):o(55296+((t-=65536)>>10),t%1024+56320))}return n.join(\"\")}})},function(e,t,n){\"use strict\";var r=n(30),i=n(203);r(r.P+r.F*n(199)(\"includes\"),\"String\",{includes:function(e){return!!~i(this,e,\"includes\").indexOf(e,arguments.length>1?arguments[1]:void 0)}})},function(e,t,n){\"use strict\";n(31)(\"italics\",function(e){return function(){return e(this,\"i\",\"\",\"\")}})},function(e,t,n){\"use strict\";n(31)(\"link\",function(e){return function(t){return e(this,\"a\",\"href\",t)}})},function(e,t,n){var r=n(30),i=n(140),o=n(110);r(r.S,\"String\",{raw:function(e){for(var t=i(e.raw),n=o(t.length),r=arguments.length,a=[],s=0;n>s;)a.push(String(t[s++])),s<r&&a.push(String(arguments[s]));return a.join(\"\")}})},function(e,t,n){var r=n(30);r(r.P,\"String\",{repeat:n(670)})},function(e,t,n){\"use strict\";n(31)(\"small\",function(e){return function(){return e(this,\"small\",\"\",\"\")}})},function(e,t,n){\"use strict\";var r=n(30),i=n(110),o=n(203),a=\"\".startsWith;r(r.P+r.F*n(199)(\"startsWith\"),\"String\",{startsWith:function(e){var t=o(this,e,\"startsWith\"),n=i(Math.min(arguments.length>1?arguments[1]:void 0,t.length)),r=String(e);return a?a.call(t,r,n):t.slice(n,n+r.length)===r}})},function(e,t,n){\"use strict\";n(31)(\"strike\",function(e){return function(){return e(this,\"strike\",\"\",\"\")}})},function(e,t,n){\"use strict\";n(31)(\"sub\",function(e){return function(){return e(this,\"sub\",\"\",\"\")}})},function(e,t,n){\"use strict\";n(31)(\"sup\",function(e){return function(){return e(this,\"sup\",\"\",\"\")}})},function(e,t,n){\"use strict\";n(671)(\"trim\",function(e){return function(){return e(this,3)}})},function(e,t,n){\"use strict\";var r=n(30),i=n(63),o=n(32),a=n(369),s=n(366);r(r.P+r.R,\"Promise\",{finally:function(e){var t=a(this,i.Promise||o.Promise),n=\"function\"==typeof e;return this.then(n?function(n){return s(t,e()).then(function(){return n})}:e,n?function(n){return s(t,e()).then(function(){throw n})}:e)}})},function(e,t,n){\"use strict\";var r=n(30),i=n(200),o=n(365);r(r.S,\"Promise\",{try:function(e){var t=i.f(this),n=o(e);return(n.e?t.reject:t.resolve)(n.v),t.promise}})},function(e,t,n){for(var r=n(676),i=n(364),o=n(78),a=n(32),s=n(64),u=n(109),l=n(19),c=l(\"iterator\"),p=l(\"toStringTag\"),f=u.Array,h={CSSRuleList:!0,CSSStyleDeclaration:!1,CSSValueList:!1,ClientRectList:!1,DOMRectList:!1,DOMStringList:!1,DOMTokenList:!0,DataTransferItemList:!1,FileList:!1,HTMLAllCollection:!1,HTMLCollection:!1,HTMLFormElement:!1,HTMLSelectElement:!1,MediaList:!0,MimeTypeArray:!1,NamedNodeMap:!1,NodeList:!0,PaintRequestList:!1,Plugin:!1,PluginArray:!1,SVGLengthList:!1,SVGNumberList:!1,SVGPathSegList:!1,SVGPointList:!1,SVGStringList:!1,SVGTransformList:!1,SourceBufferList:!1,StyleSheetList:!0,TextTrackCueList:!1,TextTrackList:!1,TouchList:!1},d=i(h),m=0;m<d.length;m++){var v,g=d[m],y=h[g],_=a[g],b=_&&_.prototype;if(b&&(b[c]||s(b,c,f),b[p]||s(b,p,g),u[g]=f,y))for(v in r)b[v]||o(b,v,r[v],!0)}},function(e,t,n){\"use strict\";function r(e){return e}function i(e,t,n){function i(e,t){var n=y.hasOwnProperty(t)?y[t]:null;k.hasOwnProperty(t)&&s(\"OVERRIDE_BASE\"===n,\"ReactClassInterface: You are attempting to override `%s` from your class specification. Ensure that your method names do not overlap with React methods.\",t),e&&s(\"DEFINE_MANY\"===n||\"DEFINE_MANY_MERGED\"===n,\"ReactClassInterface: You are attempting to define `%s` on your component more than once. This conflict may be due to a mixin.\",t)}function l(e,n){if(n){s(\"function\"!=typeof n,\"ReactClass: You're attempting to use a component class or function as a mixin. Instead, just use a regular object.\"),s(!t(n),\"ReactClass: You're attempting to use a component as a mixin. Instead, just use a regular object.\");var r=e.prototype,o=r.__reactAutoBindPairs;n.hasOwnProperty(u)&&b.mixins(e,n.mixins);for(var a in n)if(n.hasOwnProperty(a)&&a!==u){var l=n[a],c=r.hasOwnProperty(a);if(i(c,a),b.hasOwnProperty(a))b[a](e,l);else{var p=y.hasOwnProperty(a),d=\"function\"==typeof l,m=d&&!p&&!c&&!1!==n.autobind;if(m)o.push(a,l),r[a]=l;else if(c){var v=y[a];s(p&&(\"DEFINE_MANY_MERGED\"===v||\"DEFINE_MANY\"===v),\"ReactClass: Unexpected spec policy %s for key %s when mixing in component specs.\",v,a),\"DEFINE_MANY_MERGED\"===v?r[a]=f(r[a],l):\"DEFINE_MANY\"===v&&(r[a]=h(r[a],l))}else r[a]=l}}}else;}function c(e,t){if(t)for(var n in t){var r=t[n];if(t.hasOwnProperty(n)){var i=n in b;s(!i,'ReactClass: You are attempting to define a reserved property, `%s`, that shouldn\\'t be on the \"statics\" key. Define it as an instance property instead; it will still be accessible on the constructor.',n);var o=n in e;if(o){var a=_.hasOwnProperty(n)?_[n]:null;return s(\"DEFINE_MANY_MERGED\"===a,\"ReactClass: You are attempting to define `%s` on your component more than once. This conflict may be due to a mixin.\",n),void(e[n]=f(e[n],r))}e[n]=r}}}function p(e,t){s(e&&t&&\"object\"==typeof e&&\"object\"==typeof t,\"mergeIntoWithNoDuplicateKeys(): Cannot merge non-objects.\");for(var n in t)t.hasOwnProperty(n)&&(s(void 0===e[n],\"mergeIntoWithNoDuplicateKeys(): Tried to merge two objects with the same key: `%s`. This conflict may be due to a mixin; in particular, this may be caused by two getInitialState() or getDefaultProps() methods returning objects with clashing keys.\",n),e[n]=t[n]);return e}function f(e,t){return function(){var n=e.apply(this,arguments),r=t.apply(this,arguments);if(null==n)return r;if(null==r)return n;var i={};return p(i,n),p(i,r),i}}function h(e,t){return function(){e.apply(this,arguments),t.apply(this,arguments)}}function d(e,t){var n=t.bind(e);return n}function m(e){for(var t=e.__reactAutoBindPairs,n=0;n<t.length;n+=2){var r=t[n],i=t[n+1];e[r]=d(e,i)}}function v(e){var t=r(function(e,r,i){this.__reactAutoBindPairs.length&&m(this),this.props=e,this.context=r,this.refs=a,this.updater=i||n,this.state=null;var o=this.getInitialState?this.getInitialState():null;s(\"object\"==typeof o&&!Array.isArray(o),\"%s.getInitialState(): must return an object or null\",t.displayName||\"ReactCompositeComponent\"),this.state=o});t.prototype=new E,t.prototype.constructor=t,t.prototype.__reactAutoBindPairs=[],g.forEach(l.bind(null,t)),l(t,x),l(t,e),l(t,w),t.getDefaultProps&&(t.defaultProps=t.getDefaultProps()),s(t.prototype.render,\"createClass(...): Class specification must implement a `render` method.\");for(var i in y)t.prototype[i]||(t.prototype[i]=null);return t}var g=[],y={mixins:\"DEFINE_MANY\",statics:\"DEFINE_MANY\",propTypes:\"DEFINE_MANY\",contextTypes:\"DEFINE_MANY\",childContextTypes:\"DEFINE_MANY\",getDefaultProps:\"DEFINE_MANY_MERGED\",getInitialState:\"DEFINE_MANY_MERGED\",getChildContext:\"DEFINE_MANY_MERGED\",render:\"DEFINE_ONCE\",componentWillMount:\"DEFINE_MANY\",componentDidMount:\"DEFINE_MANY\",componentWillReceiveProps:\"DEFINE_MANY\",shouldComponentUpdate:\"DEFINE_ONCE\",componentWillUpdate:\"DEFINE_MANY\",componentDidUpdate:\"DEFINE_MANY\",componentWillUnmount:\"DEFINE_MANY\",UNSAFE_componentWillMount:\"DEFINE_MANY\",UNSAFE_componentWillReceiveProps:\"DEFINE_MANY\",UNSAFE_componentWillUpdate:\"DEFINE_MANY\",updateComponent:\"OVERRIDE_BASE\"},_={getDerivedStateFromProps:\"DEFINE_MANY_MERGED\"},b={displayName:function(e,t){e.displayName=t},mixins:function(e,t){if(t)for(var n=0;n<t.length;n++)l(e,t[n])},childContextTypes:function(e,t){e.childContextTypes=o({},e.childContextTypes,t)},contextTypes:function(e,t){e.contextTypes=o({},e.contextTypes,t)},getDefaultProps:function(e,t){e.getDefaultProps?e.getDefaultProps=f(e.getDefaultProps,t):e.getDefaultProps=t},propTypes:function(e,t){e.propTypes=o({},e.propTypes,t)},statics:function(e,t){c(e,t)},autobind:function(){}},x={componentDidMount:function(){this.__isMounted=!0}},w={componentWillUnmount:function(){this.__isMounted=!1}},k={replaceState:function(e,t){this.updater.enqueueReplaceState(this,e,t)},isMounted:function(){return!!this.__isMounted}},E=function(){};return o(E.prototype,e.prototype,k),v}var o=n(13),a=n(144),s=n(8),u=\"mixins\";e.exports=i},function(e,t){!function(e){\"use strict\";function t(e){if(\"string\"!=typeof e&&(e=String(e)),/[^a-z0-9\\-#$%&'*+.\\^_`|~]/i.test(e))throw new TypeError(\"Invalid character in header field name\");return e.toLowerCase()}function n(e){return\"string\"!=typeof e&&(e=String(e)),e}function r(e){var t={next:function(){var t=e.shift();return{done:void 0===t,value:t}}};return g.iterable&&(t[Symbol.iterator]=function(){return t}),t}function i(e){this.map={},e instanceof i?e.forEach(function(e,t){this.append(t,e)},this):Array.isArray(e)?e.forEach(function(e){this.append(e[0],e[1])},this):e&&Object.getOwnPropertyNames(e).forEach(function(t){this.append(t,e[t])},this)}function o(e){if(e.bodyUsed)return Promise.reject(new TypeError(\"Already read\"));e.bodyUsed=!0}function a(e){return new Promise(function(t,n){e.onload=function(){t(e.result)},e.onerror=function(){n(e.error)}})}function s(e){var t=new FileReader,n=a(t);return t.readAsArrayBuffer(e),n}function u(e){var t=new FileReader,n=a(t);return t.readAsText(e),n}function l(e){for(var t=new Uint8Array(e),n=new Array(t.length),r=0;r<t.length;r++)n[r]=String.fromCharCode(t[r]);return n.join(\"\")}function c(e){if(e.slice)return e.slice(0);var t=new Uint8Array(e.byteLength);return t.set(new Uint8Array(e)),t.buffer}function p(){return this.bodyUsed=!1,this._initBody=function(e){if(this._bodyInit=e,e)if(\"string\"==typeof e)this._bodyText=e;else if(g.blob&&Blob.prototype.isPrototypeOf(e))this._bodyBlob=e;else if(g.formData&&FormData.prototype.isPrototypeOf(e))this._bodyFormData=e;else if(g.searchParams&&URLSearchParams.prototype.isPrototypeOf(e))this._bodyText=e.toString();else if(g.arrayBuffer&&g.blob&&_(e))this._bodyArrayBuffer=c(e.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer]);else{if(!g.arrayBuffer||!ArrayBuffer.prototype.isPrototypeOf(e)&&!b(e))throw new Error(\"unsupported BodyInit type\");this._bodyArrayBuffer=c(e)}else this._bodyText=\"\";this.headers.get(\"content-type\")||(\"string\"==typeof e?this.headers.set(\"content-type\",\"text/plain;charset=UTF-8\"):this._bodyBlob&&this._bodyBlob.type?this.headers.set(\"content-type\",this._bodyBlob.type):g.searchParams&&URLSearchParams.prototype.isPrototypeOf(e)&&this.headers.set(\"content-type\",\"application/x-www-form-urlencoded;charset=UTF-8\"))},g.blob&&(this.blob=function(){var e=o(this);if(e)return e;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error(\"could not read FormData body as blob\");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?o(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(s)}),this.text=function(){var e=o(this);if(e)return e;if(this._bodyBlob)return u(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(l(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error(\"could not read FormData body as text\");return Promise.resolve(this._bodyText)},g.formData&&(this.formData=function(){return this.text().then(d)}),this.json=function(){return this.text().then(JSON.parse)},this}function f(e){var t=e.toUpperCase();return x.indexOf(t)>-1?t:e}function h(e,t){var n=(t=t||{}).body;if(e instanceof h){if(e.bodyUsed)throw new TypeError(\"Already read\");this.url=e.url,this.credentials=e.credentials,t.headers||(this.headers=new i(e.headers)),this.method=e.method,this.mode=e.mode,n||null==e._bodyInit||(n=e._bodyInit,e.bodyUsed=!0)}else this.url=String(e);if(this.credentials=t.credentials||this.credentials||\"omit\",!t.headers&&this.headers||(this.headers=new i(t.headers)),this.method=f(t.method||this.method||\"GET\"),this.mode=t.mode||this.mode||null,this.referrer=null,(\"GET\"===this.method||\"HEAD\"===this.method)&&n)throw new TypeError(\"Body not allowed for GET or HEAD requests\");this._initBody(n)}function d(e){var t=new FormData;return e.trim().split(\"&\").forEach(function(e){if(e){var n=e.split(\"=\"),r=n.shift().replace(/\\+/g,\" \"),i=n.join(\"=\").replace(/\\+/g,\" \");t.append(decodeURIComponent(r),decodeURIComponent(i))}}),t}function m(e){var t=new i;return e.split(/\\r?\\n/).forEach(function(e){var n=e.split(\":\"),r=n.shift().trim();if(r){var i=n.join(\":\").trim();t.append(r,i)}}),t}function v(e,t){t||(t={}),this.type=\"default\",this.status=\"status\"in t?t.status:200,this.ok=this.status>=200&&this.status<300,this.statusText=\"statusText\"in t?t.statusText:\"OK\",this.headers=new i(t.headers),this.url=t.url||\"\",this._initBody(e)}if(!e.fetch){var g={searchParams:\"URLSearchParams\"in e,iterable:\"Symbol\"in e&&\"iterator\"in Symbol,blob:\"FileReader\"in e&&\"Blob\"in e&&function(){try{return new Blob,!0}catch(e){return!1}}(),formData:\"FormData\"in e,arrayBuffer:\"ArrayBuffer\"in e};if(g.arrayBuffer)var y=[\"[object Int8Array]\",\"[object Uint8Array]\",\"[object Uint8ClampedArray]\",\"[object Int16Array]\",\"[object Uint16Array]\",\"[object Int32Array]\",\"[object Uint32Array]\",\"[object Float32Array]\",\"[object Float64Array]\"],_=function(e){return e&&DataView.prototype.isPrototypeOf(e)},b=ArrayBuffer.isView||function(e){return e&&y.indexOf(Object.prototype.toString.call(e))>-1};i.prototype.append=function(e,r){e=t(e),r=n(r);var i=this.map[e];this.map[e]=i?i+\",\"+r:r},i.prototype.delete=function(e){delete this.map[t(e)]},i.prototype.get=function(e){return e=t(e),this.has(e)?this.map[e]:null},i.prototype.has=function(e){return this.map.hasOwnProperty(t(e))},i.prototype.set=function(e,r){this.map[t(e)]=n(r)},i.prototype.forEach=function(e,t){for(var n in this.map)this.map.hasOwnProperty(n)&&e.call(t,this.map[n],n,this)},i.prototype.keys=function(){var e=[];return this.forEach(function(t,n){e.push(n)}),r(e)},i.prototype.values=function(){var e=[];return this.forEach(function(t){e.push(t)}),r(e)},i.prototype.entries=function(){var e=[];return this.forEach(function(t,n){e.push([n,t])}),r(e)},g.iterable&&(i.prototype[Symbol.iterator]=i.prototype.entries);var x=[\"DELETE\",\"GET\",\"HEAD\",\"OPTIONS\",\"POST\",\"PUT\"];h.prototype.clone=function(){return new h(this,{body:this._bodyInit})},p.call(h.prototype),p.call(v.prototype),v.prototype.clone=function(){return new v(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new i(this.headers),url:this.url})},v.error=function(){var e=new v(null,{status:0,statusText:\"\"});return e.type=\"error\",e};var w=[301,302,303,307,308];v.redirect=function(e,t){if(-1===w.indexOf(t))throw new RangeError(\"Invalid status code\");return new v(null,{status:t,headers:{location:e}})},e.Headers=i,e.Request=h,e.Response=v,e.fetch=function(e,t){return new Promise(function(n,r){var i=new h(e,t),o=new XMLHttpRequest;o.onload=function(){var e={status:o.status,statusText:o.statusText,headers:m(o.getAllResponseHeaders()||\"\")};e.url=\"responseURL\"in o?o.responseURL:e.headers.get(\"X-Request-URL\");var t=\"response\"in o?o.response:o.responseText;n(new v(t,e))},o.onerror=function(){r(new TypeError(\"Network request failed\"))},o.ontimeout=function(){r(new TypeError(\"Network request failed\"))},o.open(i.method,i.url,!0),\"include\"===i.credentials&&(o.withCredentials=!0),\"responseType\"in o&&g.blob&&(o.responseType=\"blob\"),i.headers.forEach(function(e,t){o.setRequestHeader(t,e)}),o.send(void 0===i._bodyInit?null:i._bodyInit)})},e.fetch.polyfill=!0}}(\"undefined\"!=typeof self?self:this)},function(e,t){var n={};!function(e){\"use strict\";function t(e){if(\"string\"!=typeof e&&(e=String(e)),/[^a-z0-9\\-#$%&'*+.\\^_`|~]/i.test(e))throw new TypeError(\"Invalid character in header field name\");return e.toLowerCase()}function n(e){return\"string\"!=typeof e&&(e=String(e)),e}function r(e){var t={next:function(){var t=e.shift();return{done:void 0===t,value:t}}};return g.iterable&&(t[Symbol.iterator]=function(){return t}),t}function i(e){this.map={},e instanceof i?e.forEach(function(e,t){this.append(t,e)},this):Array.isArray(e)?e.forEach(function(e){this.append(e[0],e[1])},this):e&&Object.getOwnPropertyNames(e).forEach(function(t){this.append(t,e[t])},this)}function o(e){if(e.bodyUsed)return Promise.reject(new TypeError(\"Already read\"));e.bodyUsed=!0}function a(e){return new Promise(function(t,n){e.onload=function(){t(e.result)},e.onerror=function(){n(e.error)}})}function s(e){var t=new FileReader,n=a(t);return t.readAsArrayBuffer(e),n}function u(e){var t=new FileReader,n=a(t);return t.readAsText(e),n}function l(e){for(var t=new Uint8Array(e),n=new Array(t.length),r=0;r<t.length;r++)n[r]=String.fromCharCode(t[r]);return n.join(\"\")}function c(e){if(e.slice)return e.slice(0);var t=new Uint8Array(e.byteLength);return t.set(new Uint8Array(e)),t.buffer}function p(){return this.bodyUsed=!1,this._initBody=function(e){if(this._bodyInit=e,e)if(\"string\"==typeof e)this._bodyText=e;else if(g.blob&&Blob.prototype.isPrototypeOf(e))this._bodyBlob=e;else if(g.formData&&FormData.prototype.isPrototypeOf(e))this._bodyFormData=e;else if(g.searchParams&&URLSearchParams.prototype.isPrototypeOf(e))this._bodyText=e.toString();else if(g.arrayBuffer&&g.blob&&_(e))this._bodyArrayBuffer=c(e.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer]);else{if(!g.arrayBuffer||!ArrayBuffer.prototype.isPrototypeOf(e)&&!b(e))throw new Error(\"unsupported BodyInit type\");this._bodyArrayBuffer=c(e)}else this._bodyText=\"\";this.headers.get(\"content-type\")||(\"string\"==typeof e?this.headers.set(\"content-type\",\"text/plain;charset=UTF-8\"):this._bodyBlob&&this._bodyBlob.type?this.headers.set(\"content-type\",this._bodyBlob.type):g.searchParams&&URLSearchParams.prototype.isPrototypeOf(e)&&this.headers.set(\"content-type\",\"application/x-www-form-urlencoded;charset=UTF-8\"))},g.blob&&(this.blob=function(){var e=o(this);if(e)return e;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error(\"could not read FormData body as blob\");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?o(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(s)}),this.text=function(){var e=o(this);if(e)return e;if(this._bodyBlob)return u(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(l(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error(\"could not read FormData body as text\");return Promise.resolve(this._bodyText)},g.formData&&(this.formData=function(){return this.text().then(d)}),this.json=function(){return this.text().then(JSON.parse)},this}function f(e){var t=e.toUpperCase();return x.indexOf(t)>-1?t:e}function h(e,t){var n=(t=t||{}).body;if(e instanceof h){if(e.bodyUsed)throw new TypeError(\"Already read\");this.url=e.url,this.credentials=e.credentials,t.headers||(this.headers=new i(e.headers)),this.method=e.method,this.mode=e.mode,n||null==e._bodyInit||(n=e._bodyInit,e.bodyUsed=!0)}else this.url=String(e);if(this.credentials=t.credentials||this.credentials||\"omit\",!t.headers&&this.headers||(this.headers=new i(t.headers)),this.method=f(t.method||this.method||\"GET\"),this.mode=t.mode||this.mode||null,this.referrer=null,(\"GET\"===this.method||\"HEAD\"===this.method)&&n)throw new TypeError(\"Body not allowed for GET or HEAD requests\");this._initBody(n)}function d(e){var t=new FormData;return e.trim().split(\"&\").forEach(function(e){if(e){var n=e.split(\"=\"),r=n.shift().replace(/\\+/g,\" \"),i=n.join(\"=\").replace(/\\+/g,\" \");t.append(decodeURIComponent(r),decodeURIComponent(i))}}),t}function m(e){var t=new i;return e.split(/\\r?\\n/).forEach(function(e){var n=e.split(\":\"),r=n.shift().trim();if(r){var i=n.join(\":\").trim();t.append(r,i)}}),t}function v(e,t){t||(t={}),this.type=\"default\",this.status=\"status\"in t?t.status:200,this.ok=this.status>=200&&this.status<300,this.statusText=\"statusText\"in t?t.statusText:\"OK\",this.headers=new i(t.headers),this.url=t.url||\"\",this._initBody(e)}if(!e.fetch){var g={searchParams:\"URLSearchParams\"in e,iterable:\"Symbol\"in e&&\"iterator\"in Symbol,blob:\"FileReader\"in e&&\"Blob\"in e&&function(){try{return new Blob,!0}catch(e){return!1}}(),formData:\"FormData\"in e,arrayBuffer:\"ArrayBuffer\"in e};if(g.arrayBuffer)var y=[\"[object Int8Array]\",\"[object Uint8Array]\",\"[object Uint8ClampedArray]\",\"[object Int16Array]\",\"[object Uint16Array]\",\"[object Int32Array]\",\"[object Uint32Array]\",\"[object Float32Array]\",\"[object Float64Array]\"],_=function(e){return e&&DataView.prototype.isPrototypeOf(e)},b=ArrayBuffer.isView||function(e){return e&&y.indexOf(Object.prototype.toString.call(e))>-1};i.prototype.append=function(e,r){e=t(e),r=n(r);var i=this.map[e];this.map[e]=i?i+\",\"+r:r},i.prototype.delete=function(e){delete this.map[t(e)]},i.prototype.get=function(e){return e=t(e),this.has(e)?this.map[e]:null},i.prototype.has=function(e){return this.map.hasOwnProperty(t(e))},i.prototype.set=function(e,r){this.map[t(e)]=n(r)},i.prototype.forEach=function(e,t){for(var n in this.map)this.map.hasOwnProperty(n)&&e.call(t,this.map[n],n,this)},i.prototype.keys=function(){var e=[];return this.forEach(function(t,n){e.push(n)}),r(e)},i.prototype.values=function(){var e=[];return this.forEach(function(t){e.push(t)}),r(e)},i.prototype.entries=function(){var e=[];return this.forEach(function(t,n){e.push([n,t])}),r(e)},g.iterable&&(i.prototype[Symbol.iterator]=i.prototype.entries);var x=[\"DELETE\",\"GET\",\"HEAD\",\"OPTIONS\",\"POST\",\"PUT\"];h.prototype.clone=function(){return new h(this,{body:this._bodyInit})},p.call(h.prototype),p.call(v.prototype),v.prototype.clone=function(){return new v(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new i(this.headers),url:this.url})},v.error=function(){var e=new v(null,{status:0,statusText:\"\"});return e.type=\"error\",e};var w=[301,302,303,307,308];v.redirect=function(e,t){if(-1===w.indexOf(t))throw new RangeError(\"Invalid status code\");return new v(null,{status:t,headers:{location:e}})},e.Headers=i,e.Request=h,e.Response=v,e.fetch=function(e,t){return new Promise(function(n,r){var i=new h(e,t),o=new XMLHttpRequest;o.onload=function(){var e={status:o.status,statusText:o.statusText,headers:m(o.getAllResponseHeaders()||\"\")};e.url=\"responseURL\"in o?o.responseURL:e.headers.get(\"X-Request-URL\");var t=\"response\"in o?o.response:o.responseText;n(new v(t,e))},o.onerror=function(){r(new TypeError(\"Network request failed\"))},o.ontimeout=function(){r(new TypeError(\"Network request failed\"))},o.open(i.method,i.url,!0),\"include\"===i.credentials&&(o.withCredentials=!0),\"responseType\"in o&&g.blob&&(o.responseType=\"blob\"),i.headers.forEach(function(e,t){o.setRequestHeader(t,e)}),o.send(void 0===i._bodyInit?null:i._bodyInit)})},e.fetch.polyfill=!0}}(void 0!==n?n:this),e.exports=n},function(e,t,n){(function(t){!function(t,n){e.exports=n(t)}(void 0!==t?t:this,function(e){if(e.CSS&&e.CSS.escape)return e.CSS.escape;var t=function(e){if(0==arguments.length)throw new TypeError(\"`CSS.escape` requires an argument.\");for(var t,n=String(e),r=n.length,i=-1,o=\"\",a=n.charCodeAt(0);++i<r;)t=n.charCodeAt(i),o+=0!=t?t>=1&&t<=31||127==t||0==i&&t>=48&&t<=57||1==i&&t>=48&&t<=57&&45==a?\"\\\\\"+t.toString(16)+\" \":(0!=i||1!=r||45!=t)&&(t>=128||45==t||95==t||t>=48&&t<=57||t>=65&&t<=90||t>=97&&t<=122)?n.charAt(i):\"\\\\\"+n.charAt(i):\"�\";return o};return e.CSS||(e.CSS={}),e.CSS.escape=t,t})}).call(t,n(16))},function(e,t){function n(e){return\"[object Arguments]\"==Object.prototype.toString.call(e)}function r(e){return e&&\"object\"==typeof e&&\"number\"==typeof e.length&&Object.prototype.hasOwnProperty.call(e,\"callee\")&&!Object.prototype.propertyIsEnumerable.call(e,\"callee\")||!1}var i=\"[object Arguments]\"==function(){return Object.prototype.toString.call(arguments)}();t=e.exports=i?n:r,t.supported=n,t.unsupported=r},function(e,t){function n(e){var t=[];for(var n in e)t.push(n);return t}t=e.exports=\"function\"==typeof Object.keys?Object.keys:n,t.shim=n},function(e,t,n){function r(e,t){if(e){var n,r=\"\";for(var i in e)n=e[i],r&&(r+=\" \"),!n&&p[i]?r+=i:r+=i+'=\"'+(t.decodeEntities?c.encodeXML(n):n)+'\"';return r}}function i(e,t){\"svg\"===e.name&&(t={decodeEntities:t.decodeEntities,xmlMode:!0});var n=\"<\"+e.name,i=r(e.attribs,t);return i&&(n+=\" \"+i),!t.xmlMode||e.children&&0!==e.children.length?(n+=\">\",e.children&&(n+=d(e.children,t)),h[e.name]&&!t.xmlMode||(n+=\"</\"+e.name+\">\")):n+=\"/>\",n}function o(e){return\"<\"+e.data+\">\"}function a(e,t){var n=e.data||\"\";return!t.decodeEntities||e.parent&&e.parent.name in f||(n=c.encodeXML(n)),n}function s(e){return\"<![CDATA[\"+e.children[0].data+\"]]>\"}function u(e){return\"\\x3c!--\"+e.data+\"--\\x3e\"}var l=n(714),c=n(114),p={__proto__:null,allowfullscreen:!0,async:!0,autofocus:!0,autoplay:!0,checked:!0,controls:!0,default:!0,defer:!0,disabled:!0,hidden:!0,ismap:!0,loop:!0,multiple:!0,muted:!0,open:!0,readonly:!0,required:!0,reversed:!0,scoped:!0,seamless:!0,selected:!0,typemustmatch:!0},f={__proto__:null,style:!0,script:!0,xmp:!0,iframe:!0,noembed:!0,noframes:!0,plaintext:!0,noscript:!0},h={__proto__:null,area:!0,base:!0,basefont:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,isindex:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0},d=e.exports=function(e,t){Array.isArray(e)||e.cheerio||(e=[e]),t=t||{};for(var n=\"\",r=0;r<e.length;r++){var c=e[r];\"root\"===c.type?n+=d(c.children,t):l.isTag(c)?n+=i(c,t):c.type===l.Directive?n+=o(c):c.type===l.Comment?n+=u(c):c.type===l.CDATA?n+=s(c):n+=a(c,t)}return n}},function(e,t){e.exports={Text:\"text\",Directive:\"directive\",Comment:\"comment\",Script:\"script\",Style:\"style\",Tag:\"tag\",CDATA:\"cdata\",isTag:function(e){return\"tag\"===e.type||\"script\"===e.type||\"style\"===e.type}}},function(e,t,n){function r(e,t,n){\"object\"==typeof e?(n=t,t=e,e=null):\"function\"==typeof t&&(n=t,t=u),this._callback=e,this._options=t||u,this._elementCB=n,this.dom=[],this._done=!1,this._tagStack=[],this._parser=this._parser||null}var i=n(113),o=/\\s+/g,a=n(376),s=n(716),u={normalizeWhitespace:!1,withStartIndices:!1,withEndIndices:!1};r.prototype.onparserinit=function(e){this._parser=e},r.prototype.onreset=function(){r.call(this,this._callback,this._options,this._elementCB)},r.prototype.onend=function(){this._done||(this._done=!0,this._parser=null,this._handleCallback(null))},r.prototype._handleCallback=r.prototype.onerror=function(e){if(\"function\"==typeof this._callback)this._callback(e,this.dom);else if(e)throw e},r.prototype.onclosetag=function(){var e=this._tagStack.pop();this._options.withEndIndices&&(e.endIndex=this._parser.endIndex),this._elementCB&&this._elementCB(e)},r.prototype._createDomElement=function(e){if(!this._options.withDomLvl1)return e;var t;t=\"tag\"===e.type?Object.create(s):Object.create(a);for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);return t},r.prototype._addDomElement=function(e){var t=this._tagStack[this._tagStack.length-1],n=t?t.children:this.dom,r=n[n.length-1];e.next=null,this._options.withStartIndices&&(e.startIndex=this._parser.startIndex),this._options.withEndIndices&&(e.endIndex=this._parser.endIndex),r?(e.prev=r,r.next=e):e.prev=null,n.push(e),e.parent=t||null},r.prototype.onopentag=function(e,t){var n={type:\"script\"===e?i.Script:\"style\"===e?i.Style:i.Tag,name:e,attribs:t,children:[]},r=this._createDomElement(n);this._addDomElement(r),this._tagStack.push(r)},r.prototype.ontext=function(e){var t,n=this._options.normalizeWhitespace||this._options.ignoreWhitespace;if(!this._tagStack.length&&this.dom.length&&(t=this.dom[this.dom.length-1]).type===i.Text)n?t.data=(t.data+e).replace(o,\" \"):t.data+=e;else if(this._tagStack.length&&(t=this._tagStack[this._tagStack.length-1])&&(t=t.children[t.children.length-1])&&t.type===i.Text)n?t.data=(t.data+e).replace(o,\" \"):t.data+=e;else{n&&(e=e.replace(o,\" \"));var r=this._createDomElement({data:e,type:i.Text});this._addDomElement(r)}},r.prototype.oncomment=function(e){var t=this._tagStack[this._tagStack.length-1];if(t&&t.type===i.Comment)return void(t.data+=e);var n={data:e,type:i.Comment},r=this._createDomElement(n);this._addDomElement(r),this._tagStack.push(r)},r.prototype.oncdatastart=function(){var e={children:[{data:\"\",type:i.Text}],type:i.CDATA},t=this._createDomElement(e);this._addDomElement(t),this._tagStack.push(t)},r.prototype.oncommentend=r.prototype.oncdataend=function(){this._tagStack.pop()},r.prototype.onprocessinginstruction=function(e,t){var n=this._createDomElement({name:e,data:t,type:i.Directive});this._addDomElement(n)},e.exports=r},function(e,t,n){var r=n(376),i=e.exports=Object.create(r),o={tagName:\"name\"};Object.keys(o).forEach(function(e){var t=o[e];Object.defineProperty(i,e,{get:function(){return this[t]||null},set:function(e){return this[t]=e,e}})})},function(e,t,n){var r=e.exports;[n(722),n(723),n(720),n(721),n(719),n(718)].forEach(function(e){Object.keys(e).forEach(function(t){r[t]=e[t].bind(r)})})},function(e,t){t.removeSubsets=function(e){for(var t,n,r,i=e.length;--i>-1;){for(t=n=e[i],e[i]=null,r=!0;n;){if(e.indexOf(n)>-1){r=!1,e.splice(i,1);break}n=n.parent}r&&(e[i]=t)}return e};var n={DISCONNECTED:1,PRECEDING:2,FOLLOWING:4,CONTAINS:8,CONTAINED_BY:16},r=t.compareDocumentPosition=function(e,t){var r,i,o,a,s,u,l=[],c=[];if(e===t)return 0;for(r=e;r;)l.unshift(r),r=r.parent;for(r=t;r;)c.unshift(r),r=r.parent;for(u=0;l[u]===c[u];)u++;return 0===u?n.DISCONNECTED:(i=l[u-1],o=i.children,a=l[u],s=c[u],o.indexOf(a)>o.indexOf(s)?i===t?n.FOLLOWING|n.CONTAINED_BY:n.FOLLOWING:i===e?n.PRECEDING|n.CONTAINS:n.PRECEDING)};t.uniqueSort=function(e){var t,i,o=e.length;for(e=e.slice();--o>-1;)t=e[o],(i=e.indexOf(t))>-1&&i<o&&e.splice(o,1);return e.sort(function(e,t){var i=r(e,t);return i&n.PRECEDING?-1:i&n.FOLLOWING?1:0}),e}},function(e,t,n){function r(e,t){return\"function\"==typeof t?function(n){return n.attribs&&t(n.attribs[e])}:function(n){return n.attribs&&n.attribs[e]===t}}function i(e,t){return function(n){return e(n)||t(n)}}var o=n(113),a=t.isTag=o.isTag;t.testElement=function(e,t){for(var n in e)if(e.hasOwnProperty(n)){if(\"tag_name\"===n){if(!a(t)||!e.tag_name(t.name))return!1}else if(\"tag_type\"===n){if(!e.tag_type(t.type))return!1}else if(\"tag_contains\"===n){if(a(t)||!e.tag_contains(t.data))return!1}else if(!t.attribs||!e[n](t.attribs[n]))return!1}else;return!0};var s={tag_name:function(e){return\"function\"==typeof e?function(t){return a(t)&&e(t.name)}:\"*\"===e?a:function(t){return a(t)&&t.name===e}},tag_type:function(e){return\"function\"==typeof e?function(t){return e(t.type)}:function(t){return t.type===e}},tag_contains:function(e){return\"function\"==typeof e?function(t){return!a(t)&&e(t.data)}:function(t){return!a(t)&&t.data===e}}};t.getElements=function(e,t,n,o){var a=Object.keys(e).map(function(t){var n=e[t];return t in s?s[t](n):r(t,n)});return 0===a.length?[]:this.filter(a.reduce(i),t,n,o)},t.getElementById=function(e,t,n){return Array.isArray(t)||(t=[t]),this.findOne(r(\"id\",e),t,!1!==n)},t.getElementsByTagName=function(e,t,n,r){return this.filter(s.tag_name(e),t,n,r)},t.getElementsByTagType=function(e,t,n,r){return this.filter(s.tag_type(e),t,n,r)}},function(e,t){t.removeElement=function(e){if(e.prev&&(e.prev.next=e.next),e.next&&(e.next.prev=e.prev),e.parent){var t=e.parent.children;t.splice(t.lastIndexOf(e),1)}},t.replaceElement=function(e,t){var n=t.prev=e.prev;n&&(n.next=t);var r=t.next=e.next;r&&(r.prev=t);var i=t.parent=e.parent;if(i){var o=i.children;o[o.lastIndexOf(e)]=t}},t.appendChild=function(e,t){if(t.parent=e,1!==e.children.push(t)){var n=e.children[e.children.length-2];n.next=t,t.prev=n,t.next=null}},t.append=function(e,t){var n=e.parent,r=e.next;if(t.next=r,t.prev=e,e.next=t,t.parent=n,r){if(r.prev=t,n){var i=n.children;i.splice(i.lastIndexOf(r),0,t)}}else n&&n.children.push(t)},t.prepend=function(e,t){var n=e.parent;if(n){var r=n.children;r.splice(r.lastIndexOf(e),0,t)}e.prev&&(e.prev.next=t),t.parent=n,t.prev=e.prev,t.next=e,e.prev=t}},function(e,t,n){function r(e,t,n,r){return Array.isArray(t)||(t=[t]),\"number\"==typeof r&&isFinite(r)||(r=1/0),i(e,t,!1!==n,r)}function i(e,t,n,r){for(var o,a=[],s=0,u=t.length;s<u&&!(e(t[s])&&(a.push(t[s]),--r<=0))&&(o=t[s].children,!(n&&o&&o.length>0&&(o=i(e,o,n,r),a=a.concat(o),(r-=o.length)<=0)));s++);return a}function o(e,t){for(var n=0,r=t.length;n<r;n++)if(e(t[n]))return t[n];return null}function a(e,t){for(var n=null,r=0,i=t.length;r<i&&!n;r++)l(t[r])&&(e(t[r])?n=t[r]:t[r].children.length>0&&(n=a(e,t[r].children)));return n}function s(e,t){for(var n=0,r=t.length;n<r;n++)if(l(t[n])&&(e(t[n])||t[n].children.length>0&&s(e,t[n].children)))return!0;return!1}function u(e,t){for(var n=[],r=t.slice();r.length;){var i=r.shift();l(i)&&(i.children&&i.children.length>0&&r.unshift.apply(r,i.children),e(i)&&n.push(i))}return n}var l=n(113).isTag;e.exports={filter:r,find:i,findOneChild:o,findOne:a,existsOne:s,findAll:u}},function(e,t,n){function r(e,t){return e.children?e.children.map(function(e){return a(e,t)}).join(\"\"):\"\"}function i(e){return Array.isArray(e)?e.map(i).join(\"\"):s(e)?\"br\"===e.name?\"\\n\":i(e.children):e.type===o.CDATA?i(e.children):e.type===o.Text?e.data:\"\"}var o=n(113),a=n(713),s=o.isTag;e.exports={getInnerHTML:r,getOuterHTML:a,getText:i}},function(e,t){var n=t.getChildren=function(e){return e.children},r=t.getParent=function(e){return e.parent};t.getSiblings=function(e){var t=r(e);return t?n(t):[e]},t.getAttributeValue=function(e,t){return e.attribs&&e.attribs[t]},t.hasAttrib=function(e,t){return!!e.attribs&&hasOwnProperty.call(e.attribs,t)},t.getName=function(e){return e.name}},function(e,t,n){\"use strict\";var r=function(e){return encodeURIComponent(e).replace(/[!'()*]/g,function(e){return\"%\"+e.charCodeAt(0).toString(16).toUpperCase()})};e.exports=r},function(e,t,n){function r(e){var t=Object.keys(e).join(\"|\"),n=o(e);t+=\"|#[xX][\\\\da-fA-F]+|#\\\\d+\";var r=new RegExp(\"&(?:\"+t+\");\",\"g\");return function(e){return String(e).replace(r,n)}}function i(e,t){return e<t?1:-1}function o(e){return function(t){return\"#\"===t.charAt(1)?l(\"X\"===t.charAt(2)||\"x\"===t.charAt(2)?parseInt(t.substr(3),16):parseInt(t.substr(2),10)):e[t.slice(1,-1)]}}var a=n(206),s=n(378),u=n(207),l=n(377),c=r(u),p=r(a),f=function(){function e(e){return\";\"!==e.substr(-1)&&(e+=\";\"),c(e)}for(var t=Object.keys(s).sort(i),n=Object.keys(a).sort(i),r=0,u=0;r<n.length;r++)t[u]===n[r]?(n[r]+=\";?\",u++):n[r]+=\";\";var l=new RegExp(\"&(?:\"+n.join(\"|\")+\"|#[xX][\\\\da-fA-F]+;?|#\\\\d+;?)\",\"g\"),c=o(a);return function(t){return String(t).replace(l,e)}}();e.exports={XML:c,HTML:f,HTMLStrict:p}},function(e,t,n){function r(e){return Object.keys(e).sort().reduce(function(t,n){return t[e[n]]=\"&\"+n+\";\",t},{})}function i(e){var t=[],n=[];return Object.keys(e).forEach(function(e){1===e.length?t.push(\"\\\\\"+e):n.push(e)}),n.unshift(\"[\"+t.join(\"\")+\"]\"),new RegExp(n.join(\"|\"),\"g\")}function o(e){return\"&#x\"+e.charCodeAt(0).toString(16).toUpperCase()+\";\"}function a(e){return\"&#x\"+(1024*(e.charCodeAt(0)-55296)+e.charCodeAt(1)-56320+65536).toString(16).toUpperCase()+\";\"}function s(e,t){function n(t){return e[t]}return function(e){return e.replace(t,n).replace(d,a).replace(h,o)}}function u(e){return e.replace(m,o).replace(d,a).replace(h,o)}var l=r(n(207)),c=i(l);t.XML=s(l,c);var p=r(n(206)),f=i(p);t.HTML=s(p,f);var h=/[^\\0-\\x7F]/g,d=/[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g,m=i(l);t.escape=u},function(e,t){e.exports={0:65533,128:8364,130:8218,131:402,132:8222,133:8230,134:8224,135:8225,136:710,137:8240,138:352,139:8249,140:338,142:381,145:8216,146:8217,147:8220,148:8221,149:8226,150:8211,151:8212,152:732,153:8482,154:353,155:8250,156:339,158:382,159:376}},function(e,t,n){\"use strict\";e.exports=function(){var e,t,n=Array.from;return\"function\"==typeof n&&(e=[\"raz\",\"dwa\"],t=n(e),Boolean(t&&t!==e&&\"dwa\"===t[1]))}},function(e,t,n){\"use strict\";var r=n(753).iterator,i=n(732),o=n(733),a=n(65),s=n(59),u=n(115),l=n(79),c=n(752),p=Array.isArray,f=Function.prototype.call,h={configurable:!0,enumerable:!0,writable:!0,value:null},d=Object.defineProperty;e.exports=function(e){var t,n,m,v,g,y,_,b,x,w,k=arguments[1],E=arguments[2];if(e=Object(u(e)),l(k)&&s(k),this&&this!==Array&&o(this))t=this;else{if(!k){if(i(e))return 1!==(g=e.length)?Array.apply(null,e):(v=new Array(1),v[0]=e[0],v);if(p(e)){for(v=new Array(g=e.length),n=0;n<g;++n)v[n]=e[n];return v}}v=[]}if(!p(e))if(void 0!==(x=e[r])){for(_=s(x).call(e),t&&(v=new t),b=_.next(),n=0;!b.done;)w=k?f.call(k,E,b.value,n):b.value,t?(h.value=w,d(v,n,h)):v[n]=w,b=_.next(),++n;g=n}else if(c(e)){for(g=e.length,t&&(v=new t),n=0,m=0;n<g;++n)w=e[n],n+1<g&&(y=w.charCodeAt(0))>=55296&&y<=56319&&(w+=e[++n]),w=k?f.call(k,E,w,m):w,t?(h.value=w,d(v,m,h)):v[m]=w,++m;g=m}if(void 0===g)for(g=a(e.length),t&&(v=new t(g)),n=0;n<g;++n)w=k?f.call(k,E,e[n],n):e[n],t?(h.value=w,d(v,n,h)):v[n]=w;return t&&(h.value=null,v.length=g),v}},function(e,t,n){\"use strict\";var r=n(209),i=Array.isArray;e.exports=function(e){return i(e)?e:r(e)}},function(e,t,n){\"use strict\";var r=n(381),i=n(745),o=n(79),a=Error.captureStackTrace;t=e.exports=function(e){var n=new Error(e),s=arguments[1],u=arguments[2];return o(u)||i(s)&&(u=s,s=null),o(u)&&r(n,u),o(s)&&(n.code=s),a&&a(n,t),n}},function(e,t,n){\"use strict\";var r=Object.prototype.toString,i=r.call(function(){return arguments}());e.exports=function(e){return r.call(e)===i}},function(e,t,n){\"use strict\";var r=Object.prototype.toString,i=r.call(n(380));e.exports=function(e){return\"function\"==typeof e&&r.call(e)===i}},function(e,t,n){\"use strict\";e.exports=n(735)()?Math.sign:n(736)},function(e,t,n){\"use strict\";e.exports=function(){var e=Math.sign;return\"function\"==typeof e&&(1===e(10)&&-1===e(-20))}},function(e,t,n){\"use strict\";e.exports=function(e){return e=Number(e),isNaN(e)||0===e?e:e>0?1:-1}},function(e,t,n){\"use strict\";e.exports=n(738)()?Number.isNaN:n(739)},function(e,t,n){\"use strict\";e.exports=function(){var e=Number.isNaN;return\"function\"==typeof e&&(!e({})&&e(NaN)&&!e(34))}},function(e,t,n){\"use strict\";e.exports=function(e){return e!==e}},function(e,t,n){\"use strict\";var r=n(734),i=Math.abs,o=Math.floor;e.exports=function(e){return isNaN(e)?0:(e=Number(e),0!==e&&isFinite(e)?r(e)*o(i(e)):e)}},function(e,t,n){\"use strict\";var r=n(59),i=n(115),o=Function.prototype.bind,a=Function.prototype.call,s=Object.keys,u=Object.prototype.propertyIsEnumerable;e.exports=function(e,t){return function(n,l){var c,p=arguments[2],f=arguments[3];return n=Object(i(n)),r(l),c=s(n),f&&c.sort(\"function\"==typeof f?o.call(f,n):void 0),\"function\"!=typeof e&&(e=c[e]),a.call(e,c,function(e,r){return u.call(n,e)?a.call(l,p,n[e],e,n,r):t})}}},function(e,t,n){\"use strict\";e.exports=function(){var e,t=Object.assign;return\"function\"==typeof t&&(e={foo:\"raz\"},t(e,{bar:\"dwa\"},{trzy:\"trzy\"}),e.foo+e.bar+e.trzy===\"razdwatrzy\")}},function(e,t,n){\"use strict\";var r=n(746),i=n(115),o=Math.max;e.exports=function(e,t){var n,a,s,u=o(arguments.length,2);for(e=Object(i(e)),s=function(r){try{e[r]=t[r]}catch(e){n||(n=e)}},a=1;a<u;++a)t=arguments[a],r(t).forEach(s);if(void 0!==n)throw n;return e}},function(e,t,n){\"use strict\";e.exports=function(e){return\"function\"==typeof e}},function(e,t,n){\"use strict\";var r=n(79),i={function:!0,object:!0};e.exports=function(e){return r(e)&&i[typeof e]||!1}},function(e,t,n){\"use strict\";e.exports=n(747)()?Object.keys:n(748)},function(e,t,n){\"use strict\";e.exports=function(){try{return Object.keys(\"primitive\"),!0}catch(e){return!1}}},function(e,t,n){\"use strict\";var r=n(79),i=Object.keys;e.exports=function(e){return i(r(e)?Object(e):e)}},function(e,t,n){\"use strict\";e.exports=n(750)()?String.prototype.contains:n(751)},function(e,t,n){\"use strict\";var r=\"razdwatrzy\";e.exports=function(){return\"function\"==typeof r.contains&&(!0===r.contains(\"dwa\")&&!1===r.contains(\"foo\"))}},function(e,t,n){\"use strict\";var r=String.prototype.indexOf;e.exports=function(e){return r.call(this,e,arguments[1])>-1}},function(e,t,n){\"use strict\";var r=Object.prototype.toString,i=r.call(\"\");e.exports=function(e){return\"string\"==typeof e||e&&\"object\"==typeof e&&(e instanceof String||r.call(e)===i)||!1}},function(e,t,n){\"use strict\";e.exports=n(754)()?Symbol:n(756)},function(e,t,n){\"use strict\";var r={object:!0,symbol:!0};e.exports=function(){var e;if(\"function\"!=typeof Symbol)return!1;e=Symbol(\"test symbol\");try{String(e)}catch(e){return!1}return!!r[typeof Symbol.iterator]&&(!!r[typeof Symbol.toPrimitive]&&!!r[typeof Symbol.toStringTag])}},function(e,t,n){\"use strict\";e.exports=function(e){return!!e&&(\"symbol\"==typeof e||!!e.constructor&&(\"Symbol\"===e.constructor.name&&\"Symbol\"===e[e.constructor.toStringTag]))}},function(e,t,n){\"use strict\";var r,i,o,a,s=n(141),u=n(757),l=Object.create,c=Object.defineProperties,p=Object.defineProperty,f=Object.prototype,h=l(null);if(\"function\"==typeof Symbol){r=Symbol;try{String(r()),a=!0}catch(e){}}var d=function(){var e=l(null);return function(t){for(var n,r,i=0;e[t+(i||\"\")];)++i;return t+=i||\"\",e[t]=!0,n=\"@@\"+t,p(f,n,s.gs(null,function(e){r||(r=!0,p(this,n,s(e)),r=!1)})),n}}();o=function(e){if(this instanceof o)throw new TypeError(\"Symbol is not a constructor\");return i(e)},e.exports=i=function e(t){var n;if(this instanceof e)throw new TypeError(\"Symbol is not a constructor\");return a?r(t):(n=l(o.prototype),t=void 0===t?\"\":String(t),c(n,{__description__:s(\"\",t),__name__:s(\"\",d(t))}))},c(i,{for:s(function(e){return h[e]?h[e]:h[e]=i(String(e))}),keyFor:s(function(e){var t;u(e);for(t in h)if(h[t]===e)return t}),hasInstance:s(\"\",r&&r.hasInstance||i(\"hasInstance\")),isConcatSpreadable:s(\"\",r&&r.isConcatSpreadable||i(\"isConcatSpreadable\")),iterator:s(\"\",r&&r.iterator||i(\"iterator\")),match:s(\"\",r&&r.match||i(\"match\")),replace:s(\"\",r&&r.replace||i(\"replace\")),search:s(\"\",r&&r.search||i(\"search\")),species:s(\"\",r&&r.species||i(\"species\")),split:s(\"\",r&&r.split||i(\"split\")),toPrimitive:s(\"\",r&&r.toPrimitive||i(\"toPrimitive\")),toStringTag:s(\"\",r&&r.toStringTag||i(\"toStringTag\")),unscopables:s(\"\",r&&r.unscopables||i(\"unscopables\"))}),c(o.prototype,{constructor:s(i),toString:s(\"\",function(){return this.__name__})}),c(i.prototype,{toString:s(function(){return\"Symbol (\"+u(this).__description__+\")\"}),valueOf:s(function(){return u(this)})}),p(i.prototype,i.toPrimitive,s(\"\",function(){var e=u(this);return\"symbol\"==typeof e?e:e.toString()})),p(i.prototype,i.toStringTag,s(\"c\",\"Symbol\")),p(o.prototype,i.toStringTag,s(\"c\",i.prototype[i.toStringTag])),p(o.prototype,i.toPrimitive,s(\"c\",i.prototype[i.toPrimitive]))},function(e,t,n){\"use strict\";var r=n(755);e.exports=function(e){if(!r(e))throw new TypeError(e+\" is not a symbol\");return e}},function(e,t,n){!function(t,n){e.exports=n()}(0,function(){return function(e){function t(r){if(n[r])return n[r].exports;var i=n[r]={exports:{},id:r,loaded:!1};return e[r].call(i.exports,i,i.exports,t),i.loaded=!0,i.exports}var n={};return t.m=e,t.c=n,t.p=\"\",t(0)}([function(e,t,n){\"use strict\";function r(e,t,n){var r=null,i=function(e,t){n&&n(e,t),r&&r.visit(e,t)},o=\"function\"==typeof n?i:null,a=!1;if(t){a=\"boolean\"==typeof t.comment&&t.comment;var c=\"boolean\"==typeof t.attachComment&&t.attachComment;(a||c)&&(r=new s.CommentHandler,r.attach=c,t.comment=!0,o=i)}var p=!1;t&&\"string\"==typeof t.sourceType&&(p=\"module\"===t.sourceType);var f;f=t&&\"boolean\"==typeof t.jsx&&t.jsx?new u.JSXParser(e,t,o):new l.Parser(e,t,o);var h=p?f.parseModule():f.parseScript(),d=h;return a&&r&&(d.comments=r.comments),f.config.tokens&&(d.tokens=f.tokens),f.config.tolerant&&(d.errors=f.errorHandler.errors),d}function i(e,t,n){var i=t||{};return i.sourceType=\"module\",r(e,i,n)}function o(e,t,n){var i=t||{};return i.sourceType=\"script\",r(e,i,n)}function a(e,t,n){var r,i=new c.Tokenizer(e,t);r=[];try{for(;;){var o=i.getNextToken();if(!o)break;n&&(o=n(o)),r.push(o)}}catch(e){i.errorHandler.tolerate(e)}return i.errorHandler.tolerant&&(r.errors=i.errors()),r}Object.defineProperty(t,\"__esModule\",{value:!0});var s=n(1),u=n(3),l=n(8),c=n(15);t.parse=r,t.parseModule=i,t.parseScript=o,t.tokenize=a;var p=n(2);t.Syntax=p.Syntax,t.version=\"4.0.0\"},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(2),i=function(){function e(){this.attach=!1,this.comments=[],this.stack=[],this.leading=[],this.trailing=[]}return e.prototype.insertInnerComments=function(e,t){if(e.type===r.Syntax.BlockStatement&&0===e.body.length){for(var n=[],i=this.leading.length-1;i>=0;--i){var o=this.leading[i];t.end.offset>=o.start&&(n.unshift(o.comment),this.leading.splice(i,1),this.trailing.splice(i,1))}n.length&&(e.innerComments=n)}},e.prototype.findTrailingComments=function(e){var t=[];if(this.trailing.length>0){for(var n=this.trailing.length-1;n>=0;--n){var r=this.trailing[n];r.start>=e.end.offset&&t.unshift(r.comment)}return this.trailing.length=0,t}var i=this.stack[this.stack.length-1];if(i&&i.node.trailingComments){var o=i.node.trailingComments[0];o&&o.range[0]>=e.end.offset&&(t=i.node.trailingComments,delete i.node.trailingComments)}return t},e.prototype.findLeadingComments=function(e){for(var t,n=[];this.stack.length>0;){var r=this.stack[this.stack.length-1];if(!(r&&r.start>=e.start.offset))break;t=r.node,this.stack.pop()}if(t){for(var i=t.leadingComments?t.leadingComments.length:0,o=i-1;o>=0;--o){var a=t.leadingComments[o];a.range[1]<=e.start.offset&&(n.unshift(a),t.leadingComments.splice(o,1))}return t.leadingComments&&0===t.leadingComments.length&&delete t.leadingComments,n}for(var o=this.leading.length-1;o>=0;--o){var r=this.leading[o];r.start<=e.start.offset&&(n.unshift(r.comment),this.leading.splice(o,1))}return n},e.prototype.visitNode=function(e,t){if(!(e.type===r.Syntax.Program&&e.body.length>0)){this.insertInnerComments(e,t);var n=this.findTrailingComments(t),i=this.findLeadingComments(t);i.length>0&&(e.leadingComments=i),n.length>0&&(e.trailingComments=n),this.stack.push({node:e,start:t.start.offset})}},e.prototype.visitComment=function(e,t){var n=\"L\"===e.type[0]?\"Line\":\"Block\",r={type:n,value:e.value};if(e.range&&(r.range=e.range),e.loc&&(r.loc=e.loc),this.comments.push(r),this.attach){var i={comment:{type:n,value:e.value,range:[t.start.offset,t.end.offset]},start:t.start.offset};e.loc&&(i.comment.loc=e.loc),e.type=n,this.leading.push(i),this.trailing.push(i)}},e.prototype.visit=function(e,t){\"LineComment\"===e.type?this.visitComment(e,t):\"BlockComment\"===e.type?this.visitComment(e,t):this.attach&&this.visitNode(e,t)},e}();t.CommentHandler=i},function(e,t){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.Syntax={AssignmentExpression:\"AssignmentExpression\",AssignmentPattern:\"AssignmentPattern\",ArrayExpression:\"ArrayExpression\",ArrayPattern:\"ArrayPattern\",ArrowFunctionExpression:\"ArrowFunctionExpression\",AwaitExpression:\"AwaitExpression\",BlockStatement:\"BlockStatement\",BinaryExpression:\"BinaryExpression\",BreakStatement:\"BreakStatement\",CallExpression:\"CallExpression\",CatchClause:\"CatchClause\",ClassBody:\"ClassBody\",ClassDeclaration:\"ClassDeclaration\",ClassExpression:\"ClassExpression\",ConditionalExpression:\"ConditionalExpression\",ContinueStatement:\"ContinueStatement\",DoWhileStatement:\"DoWhileStatement\",DebuggerStatement:\"DebuggerStatement\",EmptyStatement:\"EmptyStatement\",ExportAllDeclaration:\"ExportAllDeclaration\",ExportDefaultDeclaration:\"ExportDefaultDeclaration\",ExportNamedDeclaration:\"ExportNamedDeclaration\",ExportSpecifier:\"ExportSpecifier\",ExpressionStatement:\"ExpressionStatement\",ForStatement:\"ForStatement\",ForOfStatement:\"ForOfStatement\",ForInStatement:\"ForInStatement\",FunctionDeclaration:\"FunctionDeclaration\",FunctionExpression:\"FunctionExpression\",Identifier:\"Identifier\",IfStatement:\"IfStatement\",ImportDeclaration:\"ImportDeclaration\",ImportDefaultSpecifier:\"ImportDefaultSpecifier\",ImportNamespaceSpecifier:\"ImportNamespaceSpecifier\",ImportSpecifier:\"ImportSpecifier\",Literal:\"Literal\",LabeledStatement:\"LabeledStatement\",LogicalExpression:\"LogicalExpression\",MemberExpression:\"MemberExpression\",MetaProperty:\"MetaProperty\",MethodDefinition:\"MethodDefinition\",NewExpression:\"NewExpression\",ObjectExpression:\"ObjectExpression\",ObjectPattern:\"ObjectPattern\",Program:\"Program\",Property:\"Property\",RestElement:\"RestElement\",ReturnStatement:\"ReturnStatement\",SequenceExpression:\"SequenceExpression\",SpreadElement:\"SpreadElement\",Super:\"Super\",SwitchCase:\"SwitchCase\",SwitchStatement:\"SwitchStatement\",TaggedTemplateExpression:\"TaggedTemplateExpression\",TemplateElement:\"TemplateElement\",TemplateLiteral:\"TemplateLiteral\",ThisExpression:\"ThisExpression\",ThrowStatement:\"ThrowStatement\",TryStatement:\"TryStatement\",UnaryExpression:\"UnaryExpression\",UpdateExpression:\"UpdateExpression\",VariableDeclaration:\"VariableDeclaration\",VariableDeclarator:\"VariableDeclarator\",WhileStatement:\"WhileStatement\",WithStatement:\"WithStatement\",YieldExpression:\"YieldExpression\"}},function(e,t,n){\"use strict\";function r(e){var t;switch(e.type){case s.JSXSyntax.JSXIdentifier:t=e.name;break;case s.JSXSyntax.JSXNamespacedName:var n=e;t=r(n.namespace)+\":\"+r(n.name);break;case s.JSXSyntax.JSXMemberExpression:var i=e;t=r(i.object)+\".\"+r(i.property)}return t}var i=this&&this.__extends||function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();Object.defineProperty(t,\"__esModule\",{value:!0});var o=n(4),a=n(5),s=n(6),u=n(7),l=n(8),c=n(13),p=n(14);c.TokenName[100]=\"JSXIdentifier\",c.TokenName[101]=\"JSXText\";var f=function(e){function t(t,n,r){return e.call(this,t,n,r)||this}return i(t,e),t.prototype.parsePrimaryExpression=function(){return this.match(\"<\")?this.parseJSXRoot():e.prototype.parsePrimaryExpression.call(this)},t.prototype.startJSX=function(){this.scanner.index=this.startMarker.index,this.scanner.lineNumber=this.startMarker.line,this.scanner.lineStart=this.startMarker.index-this.startMarker.column},t.prototype.finishJSX=function(){this.nextToken()},t.prototype.reenterJSX=function(){this.startJSX(),this.expectJSX(\"}\"),this.config.tokens&&this.tokens.pop()},t.prototype.createJSXNode=function(){return this.collectComments(),{index:this.scanner.index,line:this.scanner.lineNumber,column:this.scanner.index-this.scanner.lineStart}},t.prototype.createJSXChildNode=function(){return{index:this.scanner.index,line:this.scanner.lineNumber,column:this.scanner.index-this.scanner.lineStart}},t.prototype.scanXHTMLEntity=function(e){for(var t=\"&\",n=!0,r=!1,i=!1,a=!1;!this.scanner.eof()&&n&&!r;){var s=this.scanner.source[this.scanner.index];if(s===e)break;if(r=\";\"===s,t+=s,++this.scanner.index,!r)switch(t.length){case 2:i=\"#\"===s;break;case 3:i&&(a=\"x\"===s,n=a||o.Character.isDecimalDigit(s.charCodeAt(0)),i=i&&!a);break;default:n=n&&!(i&&!o.Character.isDecimalDigit(s.charCodeAt(0))),n=n&&!(a&&!o.Character.isHexDigit(s.charCodeAt(0)))}}if(n&&r&&t.length>2){var u=t.substr(1,t.length-2);i&&u.length>1?t=String.fromCharCode(parseInt(u.substr(1),10)):a&&u.length>2?t=String.fromCharCode(parseInt(\"0\"+u.substr(1),16)):i||a||!p.XHTMLEntities[u]||(t=p.XHTMLEntities[u])}return t},t.prototype.lexJSX=function(){var e=this.scanner.source.charCodeAt(this.scanner.index);if(60===e||62===e||47===e||58===e||61===e||123===e||125===e){var t=this.scanner.source[this.scanner.index++];return{type:7,value:t,lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:this.scanner.index-1,end:this.scanner.index}}if(34===e||39===e){for(var n=this.scanner.index,r=this.scanner.source[this.scanner.index++],i=\"\";!this.scanner.eof();){var a=this.scanner.source[this.scanner.index++];if(a===r)break;i+=\"&\"===a?this.scanXHTMLEntity(r):a}return{type:8,value:i,lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:n,end:this.scanner.index}}if(46===e){var s=this.scanner.source.charCodeAt(this.scanner.index+1),u=this.scanner.source.charCodeAt(this.scanner.index+2),t=46===s&&46===u?\"...\":\".\",n=this.scanner.index;return this.scanner.index+=t.length,{type:7,value:t,lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:n,end:this.scanner.index}}if(96===e)return{type:10,value:\"\",lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:this.scanner.index,end:this.scanner.index};if(o.Character.isIdentifierStart(e)&&92!==e){var n=this.scanner.index;for(++this.scanner.index;!this.scanner.eof();){var a=this.scanner.source.charCodeAt(this.scanner.index);if(o.Character.isIdentifierPart(a)&&92!==a)++this.scanner.index;else{if(45!==a)break;++this.scanner.index}}return{type:100,value:this.scanner.source.slice(n,this.scanner.index),lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:n,end:this.scanner.index}}return this.scanner.lex()},t.prototype.nextJSXToken=function(){this.collectComments(),this.startMarker.index=this.scanner.index,this.startMarker.line=this.scanner.lineNumber,this.startMarker.column=this.scanner.index-this.scanner.lineStart;var e=this.lexJSX();return this.lastMarker.index=this.scanner.index,this.lastMarker.line=this.scanner.lineNumber,this.lastMarker.column=this.scanner.index-this.scanner.lineStart,this.config.tokens&&this.tokens.push(this.convertToken(e)),e},t.prototype.nextJSXText=function(){this.startMarker.index=this.scanner.index,this.startMarker.line=this.scanner.lineNumber,this.startMarker.column=this.scanner.index-this.scanner.lineStart;for(var e=this.scanner.index,t=\"\";!this.scanner.eof();){var n=this.scanner.source[this.scanner.index];if(\"{\"===n||\"<\"===n)break;++this.scanner.index,t+=n,o.Character.isLineTerminator(n.charCodeAt(0))&&(++this.scanner.lineNumber,\"\\r\"===n&&\"\\n\"===this.scanner.source[this.scanner.index]&&++this.scanner.index,this.scanner.lineStart=this.scanner.index)}this.lastMarker.index=this.scanner.index,this.lastMarker.line=this.scanner.lineNumber,this.lastMarker.column=this.scanner.index-this.scanner.lineStart;var r={type:101,value:t,lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:e,end:this.scanner.index};return t.length>0&&this.config.tokens&&this.tokens.push(this.convertToken(r)),r},t.prototype.peekJSXToken=function(){var e=this.scanner.saveState();this.scanner.scanComments();var t=this.lexJSX();return this.scanner.restoreState(e),t},t.prototype.expectJSX=function(e){var t=this.nextJSXToken();7===t.type&&t.value===e||this.throwUnexpectedToken(t)},t.prototype.matchJSX=function(e){var t=this.peekJSXToken();return 7===t.type&&t.value===e},t.prototype.parseJSXIdentifier=function(){var e=this.createJSXNode(),t=this.nextJSXToken();return 100!==t.type&&this.throwUnexpectedToken(t),this.finalize(e,new a.JSXIdentifier(t.value))},t.prototype.parseJSXElementName=function(){var e=this.createJSXNode(),t=this.parseJSXIdentifier();if(this.matchJSX(\":\")){var n=t;this.expectJSX(\":\");var r=this.parseJSXIdentifier();t=this.finalize(e,new a.JSXNamespacedName(n,r))}else if(this.matchJSX(\".\"))for(;this.matchJSX(\".\");){var i=t;this.expectJSX(\".\");var o=this.parseJSXIdentifier();t=this.finalize(e,new a.JSXMemberExpression(i,o))}return t},t.prototype.parseJSXAttributeName=function(){var e,t=this.createJSXNode(),n=this.parseJSXIdentifier();if(this.matchJSX(\":\")){var r=n;this.expectJSX(\":\");var i=this.parseJSXIdentifier();e=this.finalize(t,new a.JSXNamespacedName(r,i))}else e=n;return e},t.prototype.parseJSXStringLiteralAttribute=function(){var e=this.createJSXNode(),t=this.nextJSXToken();8!==t.type&&this.throwUnexpectedToken(t);var n=this.getTokenRaw(t);return this.finalize(e,new u.Literal(t.value,n))},t.prototype.parseJSXExpressionAttribute=function(){var e=this.createJSXNode();this.expectJSX(\"{\"),this.finishJSX(),this.match(\"}\")&&this.tolerateError(\"JSX attributes must only be assigned a non-empty expression\");var t=this.parseAssignmentExpression();return this.reenterJSX(),this.finalize(e,new a.JSXExpressionContainer(t))},t.prototype.parseJSXAttributeValue=function(){return this.matchJSX(\"{\")?this.parseJSXExpressionAttribute():this.matchJSX(\"<\")?this.parseJSXElement():this.parseJSXStringLiteralAttribute()},t.prototype.parseJSXNameValueAttribute=function(){var e=this.createJSXNode(),t=this.parseJSXAttributeName(),n=null;return this.matchJSX(\"=\")&&(this.expectJSX(\"=\"),n=this.parseJSXAttributeValue()),this.finalize(e,new a.JSXAttribute(t,n))},t.prototype.parseJSXSpreadAttribute=function(){var e=this.createJSXNode();this.expectJSX(\"{\"),this.expectJSX(\"...\"),this.finishJSX();var t=this.parseAssignmentExpression();return this.reenterJSX(),this.finalize(e,new a.JSXSpreadAttribute(t))},t.prototype.parseJSXAttributes=function(){for(var e=[];!this.matchJSX(\"/\")&&!this.matchJSX(\">\");){var t=this.matchJSX(\"{\")?this.parseJSXSpreadAttribute():this.parseJSXNameValueAttribute();e.push(t)}return e},t.prototype.parseJSXOpeningElement=function(){var e=this.createJSXNode();this.expectJSX(\"<\");var t=this.parseJSXElementName(),n=this.parseJSXAttributes(),r=this.matchJSX(\"/\");return r&&this.expectJSX(\"/\"),this.expectJSX(\">\"),this.finalize(e,new a.JSXOpeningElement(t,r,n))},t.prototype.parseJSXBoundaryElement=function(){var e=this.createJSXNode();if(this.expectJSX(\"<\"),this.matchJSX(\"/\")){this.expectJSX(\"/\");var t=this.parseJSXElementName();return this.expectJSX(\">\"),this.finalize(e,new a.JSXClosingElement(t))}var n=this.parseJSXElementName(),r=this.parseJSXAttributes(),i=this.matchJSX(\"/\");return i&&this.expectJSX(\"/\"),this.expectJSX(\">\"),this.finalize(e,new a.JSXOpeningElement(n,i,r))},t.prototype.parseJSXEmptyExpression=function(){var e=this.createJSXChildNode();return this.collectComments(),this.lastMarker.index=this.scanner.index,this.lastMarker.line=this.scanner.lineNumber,this.lastMarker.column=this.scanner.index-this.scanner.lineStart,this.finalize(e,new a.JSXEmptyExpression)},t.prototype.parseJSXExpressionContainer=function(){var e=this.createJSXNode();this.expectJSX(\"{\");var t;return this.matchJSX(\"}\")?(t=this.parseJSXEmptyExpression(),this.expectJSX(\"}\")):(this.finishJSX(),t=this.parseAssignmentExpression(),this.reenterJSX()),this.finalize(e,new a.JSXExpressionContainer(t))},t.prototype.parseJSXChildren=function(){for(var e=[];!this.scanner.eof();){var t=this.createJSXChildNode(),n=this.nextJSXText();if(n.start<n.end){var r=this.getTokenRaw(n),i=this.finalize(t,new a.JSXText(n.value,r));e.push(i)}if(\"{\"!==this.scanner.source[this.scanner.index])break;var o=this.parseJSXExpressionContainer();e.push(o)}return e},t.prototype.parseComplexJSXElement=function(e){for(var t=[];!this.scanner.eof();){e.children=e.children.concat(this.parseJSXChildren());var n=this.createJSXChildNode(),i=this.parseJSXBoundaryElement();if(i.type===s.JSXSyntax.JSXOpeningElement){var o=i;if(o.selfClosing){var u=this.finalize(n,new a.JSXElement(o,[],null));e.children.push(u)}else t.push(e),e={node:n,opening:o,closing:null,children:[]}}if(i.type===s.JSXSyntax.JSXClosingElement){e.closing=i;var l=r(e.opening.name);if(l!==r(e.closing.name)&&this.tolerateError(\"Expected corresponding JSX closing tag for %0\",l),!(t.length>0))break;var u=this.finalize(e.node,new a.JSXElement(e.opening,e.children,e.closing));e=t[t.length-1],e.children.push(u),t.pop()}}return e},t.prototype.parseJSXElement=function(){var e=this.createJSXNode(),t=this.parseJSXOpeningElement(),n=[],r=null;if(!t.selfClosing){var i=this.parseComplexJSXElement({node:e,opening:t,closing:r,children:n});n=i.children,r=i.closing}return this.finalize(e,new a.JSXElement(t,n,r))},t.prototype.parseJSXRoot=function(){this.config.tokens&&this.tokens.pop(),this.startJSX();var e=this.parseJSXElement();return this.finishJSX(),e},t.prototype.isStartOfExpression=function(){return e.prototype.isStartOfExpression.call(this)||this.match(\"<\")},t}(l.Parser);t.JSXParser=f},function(e,t){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var n={NonAsciiIdentifierStart:/[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u08A0-\\u08B4\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0AF9\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C60\\u0C61\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D5F-\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2118-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309B-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AD\\uA7B0-\\uA7B7\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD40-\\uDD74\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDF00-\\uDF1F\\uDF30-\\uDF4A\\uDF50-\\uDF75\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00\\uDE10-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE33\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE4\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2]|\\uD804[\\uDC03-\\uDC37\\uDC83-\\uDCAF\\uDCD0-\\uDCE8\\uDD03-\\uDD26\\uDD50-\\uDD72\\uDD76\\uDD83-\\uDDB2\\uDDC1-\\uDDC4\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE2B\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEDE\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3D\\uDF50\\uDF5D-\\uDF61]|\\uD805[\\uDC80-\\uDCAF\\uDCC4\\uDCC5\\uDCC7\\uDD80-\\uDDAE\\uDDD8-\\uDDDB\\uDE00-\\uDE2F\\uDE44\\uDE80-\\uDEAA\\uDF00-\\uDF19]|\\uD806[\\uDCA0-\\uDCDF\\uDCFF\\uDEC0-\\uDEF8]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|[\\uD80C\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDED0-\\uDEED\\uDF00-\\uDF2F\\uDF40-\\uDF43\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDF00-\\uDF44\\uDF50\\uDF93-\\uDF9F]|\\uD82C[\\uDC00\\uDC01]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB]|\\uD83A[\\uDC00-\\uDCC4]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDED6\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1]|\\uD87E[\\uDC00-\\uDE1D]/,NonAsciiIdentifierPart:/[\\xAA\\xB5\\xB7\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0300-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u0483-\\u0487\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0610-\\u061A\\u0620-\\u0669\\u066E-\\u06D3\\u06D5-\\u06DC\\u06DF-\\u06E8\\u06EA-\\u06FC\\u06FF\\u0710-\\u074A\\u074D-\\u07B1\\u07C0-\\u07F5\\u07FA\\u0800-\\u082D\\u0840-\\u085B\\u08A0-\\u08B4\\u08E3-\\u0963\\u0966-\\u096F\\u0971-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09F1\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A75\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AEF\\u0AF9\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B6F\\u0B71\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C03\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C58-\\u0C5A\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C81-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D01-\\u0D03\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4E\\u0D57\\u0D5F-\\u0D63\\u0D66-\\u0D6F\\u0D7A-\\u0D7F\\u0D82\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E01-\\u0E3A\\u0E40-\\u0E4E\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB9\\u0EBB-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F84\\u0F86-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u1000-\\u1049\\u1050-\\u109D\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u135D-\\u135F\\u1369-\\u1371\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1714\\u1720-\\u1734\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17D3\\u17D7\\u17DC\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u1810-\\u1819\\u1820-\\u1877\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19DA\\u1A00-\\u1A1B\\u1A20-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1AB0-\\u1ABD\\u1B00-\\u1B4B\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1BF3\\u1C00-\\u1C37\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1CD0-\\u1CD2\\u1CD4-\\u1CF6\\u1CF8\\u1CF9\\u1D00-\\u1DF5\\u1DFC-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u200C\\u200D\\u203F\\u2040\\u2054\\u2071\\u207F\\u2090-\\u209C\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2118-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D7F-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2DFF\\u3005-\\u3007\\u3021-\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u3099-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66F\\uA674-\\uA67D\\uA67F-\\uA6F1\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AD\\uA7B0-\\uA7B7\\uA7F7-\\uA827\\uA840-\\uA873\\uA880-\\uA8C4\\uA8D0-\\uA8D9\\uA8E0-\\uA8F7\\uA8FB\\uA8FD\\uA900-\\uA92D\\uA930-\\uA953\\uA960-\\uA97C\\uA980-\\uA9C0\\uA9CF-\\uA9D9\\uA9E0-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A-\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEF\\uAAF2-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE00-\\uFE0F\\uFE20-\\uFE2F\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF3F\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD40-\\uDD74\\uDDFD\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDEE0\\uDF00-\\uDF1F\\uDF30-\\uDF4A\\uDF50-\\uDF7A\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDCA0-\\uDCA9\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00-\\uDE03\\uDE05\\uDE06\\uDE0C-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE33\\uDE38-\\uDE3A\\uDE3F\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE6\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2]|\\uD804[\\uDC00-\\uDC46\\uDC66-\\uDC6F\\uDC7F-\\uDCBA\\uDCD0-\\uDCE8\\uDCF0-\\uDCF9\\uDD00-\\uDD34\\uDD36-\\uDD3F\\uDD50-\\uDD73\\uDD76\\uDD80-\\uDDC4\\uDDCA-\\uDDCC\\uDDD0-\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE37\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEEA\\uDEF0-\\uDEF9\\uDF00-\\uDF03\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3C-\\uDF44\\uDF47\\uDF48\\uDF4B-\\uDF4D\\uDF50\\uDF57\\uDF5D-\\uDF63\\uDF66-\\uDF6C\\uDF70-\\uDF74]|\\uD805[\\uDC80-\\uDCC5\\uDCC7\\uDCD0-\\uDCD9\\uDD80-\\uDDB5\\uDDB8-\\uDDC0\\uDDD8-\\uDDDD\\uDE00-\\uDE40\\uDE44\\uDE50-\\uDE59\\uDE80-\\uDEB7\\uDEC0-\\uDEC9\\uDF00-\\uDF19\\uDF1D-\\uDF2B\\uDF30-\\uDF39]|\\uD806[\\uDCA0-\\uDCE9\\uDCFF\\uDEC0-\\uDEF8]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|[\\uD80C\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDE60-\\uDE69\\uDED0-\\uDEED\\uDEF0-\\uDEF4\\uDF00-\\uDF36\\uDF40-\\uDF43\\uDF50-\\uDF59\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDF00-\\uDF44\\uDF50-\\uDF7E\\uDF8F-\\uDF9F]|\\uD82C[\\uDC00\\uDC01]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99\\uDC9D\\uDC9E]|\\uD834[\\uDD65-\\uDD69\\uDD6D-\\uDD72\\uDD7B-\\uDD82\\uDD85-\\uDD8B\\uDDAA-\\uDDAD\\uDE42-\\uDE44]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB\\uDFCE-\\uDFFF]|\\uD836[\\uDE00-\\uDE36\\uDE3B-\\uDE6C\\uDE75\\uDE84\\uDE9B-\\uDE9F\\uDEA1-\\uDEAF]|\\uD83A[\\uDC00-\\uDCC4\\uDCD0-\\uDCD6]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDED6\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1]|\\uD87E[\\uDC00-\\uDE1D]|\\uDB40[\\uDD00-\\uDDEF]/};t.Character={fromCodePoint:function(e){return e<65536?String.fromCharCode(e):String.fromCharCode(55296+(e-65536>>10))+String.fromCharCode(56320+(e-65536&1023))},isWhiteSpace:function(e){return 32===e||9===e||11===e||12===e||160===e||e>=5760&&[5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279].indexOf(e)>=0},isLineTerminator:function(e){return 10===e||13===e||8232===e||8233===e},isIdentifierStart:function(e){return 36===e||95===e||e>=65&&e<=90||e>=97&&e<=122||92===e||e>=128&&n.NonAsciiIdentifierStart.test(t.Character.fromCodePoint(e))},isIdentifierPart:function(e){return 36===e||95===e||e>=65&&e<=90||e>=97&&e<=122||e>=48&&e<=57||92===e||e>=128&&n.NonAsciiIdentifierPart.test(t.Character.fromCodePoint(e))},isDecimalDigit:function(e){return e>=48&&e<=57},isHexDigit:function(e){return e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102},isOctalDigit:function(e){return e>=48&&e<=55}}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(6),i=function(){function e(e){this.type=r.JSXSyntax.JSXClosingElement,this.name=e}return e}();t.JSXClosingElement=i;var o=function(){function e(e,t,n){this.type=r.JSXSyntax.JSXElement,this.openingElement=e,this.children=t,this.closingElement=n}return e}();t.JSXElement=o;var a=function(){function e(){this.type=r.JSXSyntax.JSXEmptyExpression}return e}();t.JSXEmptyExpression=a;var s=function(){function e(e){this.type=r.JSXSyntax.JSXExpressionContainer,this.expression=e}return e}();t.JSXExpressionContainer=s;var u=function(){function e(e){this.type=r.JSXSyntax.JSXIdentifier,this.name=e}return e}();t.JSXIdentifier=u;var l=function(){function e(e,t){this.type=r.JSXSyntax.JSXMemberExpression,this.object=e,this.property=t}return e}();t.JSXMemberExpression=l;var c=function(){function e(e,t){this.type=r.JSXSyntax.JSXAttribute,this.name=e,this.value=t}return e}();t.JSXAttribute=c;var p=function(){function e(e,t){this.type=r.JSXSyntax.JSXNamespacedName,this.namespace=e,this.name=t}return e}();t.JSXNamespacedName=p;var f=function(){function e(e,t,n){this.type=r.JSXSyntax.JSXOpeningElement,this.name=e,this.selfClosing=t,this.attributes=n}return e}();t.JSXOpeningElement=f;var h=function(){function e(e){this.type=r.JSXSyntax.JSXSpreadAttribute,this.argument=e}return e}();t.JSXSpreadAttribute=h;var d=function(){function e(e,t){this.type=r.JSXSyntax.JSXText,this.value=e,this.raw=t}return e}();t.JSXText=d},function(e,t){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.JSXSyntax={JSXAttribute:\"JSXAttribute\",JSXClosingElement:\"JSXClosingElement\",JSXElement:\"JSXElement\",JSXEmptyExpression:\"JSXEmptyExpression\",JSXExpressionContainer:\"JSXExpressionContainer\",JSXIdentifier:\"JSXIdentifier\",JSXMemberExpression:\"JSXMemberExpression\",JSXNamespacedName:\"JSXNamespacedName\",JSXOpeningElement:\"JSXOpeningElement\",JSXSpreadAttribute:\"JSXSpreadAttribute\",JSXText:\"JSXText\"}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(2),i=function(){function e(e){this.type=r.Syntax.ArrayExpression,this.elements=e}return e}();t.ArrayExpression=i;var o=function(){function e(e){this.type=r.Syntax.ArrayPattern,this.elements=e}return e}();t.ArrayPattern=o;var a=function(){function e(e,t,n){this.type=r.Syntax.ArrowFunctionExpression,this.id=null,this.params=e,this.body=t,this.generator=!1,this.expression=n,this.async=!1}return e}();t.ArrowFunctionExpression=a;var s=function(){function e(e,t,n){this.type=r.Syntax.AssignmentExpression,this.operator=e,this.left=t,this.right=n}return e}();t.AssignmentExpression=s;var u=function(){function e(e,t){this.type=r.Syntax.AssignmentPattern,this.left=e,this.right=t}return e}();t.AssignmentPattern=u;var l=function(){function e(e,t,n){this.type=r.Syntax.ArrowFunctionExpression,this.id=null,this.params=e,this.body=t,this.generator=!1,this.expression=n,this.async=!0}return e}();t.AsyncArrowFunctionExpression=l;var c=function(){function e(e,t,n){this.type=r.Syntax.FunctionDeclaration,this.id=e,this.params=t,this.body=n,this.generator=!1,this.expression=!1,this.async=!0}return e}();t.AsyncFunctionDeclaration=c;var p=function(){function e(e,t,n){this.type=r.Syntax.FunctionExpression,this.id=e,this.params=t,this.body=n,this.generator=!1,this.expression=!1,this.async=!0}return e}();t.AsyncFunctionExpression=p;var f=function(){function e(e){this.type=r.Syntax.AwaitExpression,this.argument=e}return e}();t.AwaitExpression=f;var h=function(){function e(e,t,n){var i=\"||\"===e||\"&&\"===e;this.type=i?r.Syntax.LogicalExpression:r.Syntax.BinaryExpression,this.operator=e,this.left=t,this.right=n}return e}();t.BinaryExpression=h;var d=function(){function e(e){this.type=r.Syntax.BlockStatement,this.body=e}return e}();t.BlockStatement=d;var m=function(){function e(e){this.type=r.Syntax.BreakStatement,this.label=e}return e}();t.BreakStatement=m;var v=function(){function e(e,t){this.type=r.Syntax.CallExpression,this.callee=e,this.arguments=t}return e}();t.CallExpression=v;var g=function(){function e(e,t){this.type=r.Syntax.CatchClause,this.param=e,this.body=t}return e}();t.CatchClause=g;var y=function(){function e(e){this.type=r.Syntax.ClassBody,this.body=e}return e}();t.ClassBody=y;var _=function(){function e(e,t,n){this.type=r.Syntax.ClassDeclaration,this.id=e,this.superClass=t,this.body=n}return e}();t.ClassDeclaration=_;var b=function(){function e(e,t,n){this.type=r.Syntax.ClassExpression,this.id=e,this.superClass=t,this.body=n}return e}();t.ClassExpression=b;var x=function(){function e(e,t){this.type=r.Syntax.MemberExpression,this.computed=!0,this.object=e,this.property=t}return e}();t.ComputedMemberExpression=x;var w=function(){function e(e,t,n){this.type=r.Syntax.ConditionalExpression,this.test=e,this.consequent=t,this.alternate=n}return e}();t.ConditionalExpression=w;var k=function(){function e(e){this.type=r.Syntax.ContinueStatement,this.label=e}return e}();t.ContinueStatement=k;var E=function(){function e(){this.type=r.Syntax.DebuggerStatement}return e}();t.DebuggerStatement=E;var S=function(){function e(e,t){this.type=r.Syntax.ExpressionStatement,this.expression=e,this.directive=t}return e}();t.Directive=S;var C=function(){function e(e,t){this.type=r.Syntax.DoWhileStatement,this.body=e,this.test=t}return e}();t.DoWhileStatement=C;var A=function(){function e(){this.type=r.Syntax.EmptyStatement}return e}();t.EmptyStatement=A;var D=function(){function e(e){this.type=r.Syntax.ExportAllDeclaration,this.source=e}return e}();t.ExportAllDeclaration=D;var O=function(){function e(e){this.type=r.Syntax.ExportDefaultDeclaration,this.declaration=e}return e}();t.ExportDefaultDeclaration=O;var M=function(){function e(e,t,n){this.type=r.Syntax.ExportNamedDeclaration,this.declaration=e,this.specifiers=t,this.source=n}return e}();t.ExportNamedDeclaration=M;var T=function(){function e(e,t){this.type=r.Syntax.ExportSpecifier,this.exported=t,this.local=e}return e}();t.ExportSpecifier=T;var P=function(){function e(e){this.type=r.Syntax.ExpressionStatement,this.expression=e}return e}();t.ExpressionStatement=P;var I=function(){function e(e,t,n){this.type=r.Syntax.ForInStatement,this.left=e,this.right=t,this.body=n,this.each=!1}return e}();t.ForInStatement=I;var R=function(){function e(e,t,n){this.type=r.Syntax.ForOfStatement,this.left=e,this.right=t,this.body=n}return e}();t.ForOfStatement=R;var j=function(){function e(e,t,n,i){this.type=r.Syntax.ForStatement,this.init=e,this.test=t,this.update=n,this.body=i}return e}();t.ForStatement=j;var N=function(){function e(e,t,n,i){this.type=r.Syntax.FunctionDeclaration,this.id=e,this.params=t,this.body=n,this.generator=i,this.expression=!1,this.async=!1}return e}();t.FunctionDeclaration=N;var F=function(){function e(e,t,n,i){this.type=r.Syntax.FunctionExpression,this.id=e,this.params=t,this.body=n,this.generator=i,this.expression=!1,this.async=!1}return e}();t.FunctionExpression=F;var B=function(){function e(e){this.type=r.Syntax.Identifier,this.name=e}return e}();t.Identifier=B;var L=function(){function e(e,t,n){this.type=r.Syntax.IfStatement,this.test=e,this.consequent=t,this.alternate=n}return e}();t.IfStatement=L;var q=function(){function e(e,t){this.type=r.Syntax.ImportDeclaration,this.specifiers=e,this.source=t}return e}();t.ImportDeclaration=q;var z=function(){function e(e){this.type=r.Syntax.ImportDefaultSpecifier,this.local=e}return e}();t.ImportDefaultSpecifier=z;var U=function(){function e(e){this.type=r.Syntax.ImportNamespaceSpecifier,this.local=e}return e}();t.ImportNamespaceSpecifier=U;var W=function(){function e(e,t){this.type=r.Syntax.ImportSpecifier,this.local=e,this.imported=t}return e}();t.ImportSpecifier=W;var V=function(){function e(e,t){this.type=r.Syntax.LabeledStatement,this.label=e,this.body=t}return e}();t.LabeledStatement=V;var H=function(){function e(e,t){this.type=r.Syntax.Literal,this.value=e,this.raw=t}return e}();t.Literal=H;var J=function(){function e(e,t){this.type=r.Syntax.MetaProperty,this.meta=e,this.property=t}return e}();t.MetaProperty=J;var G=function(){function e(e,t,n,i,o){this.type=r.Syntax.MethodDefinition,this.key=e,this.computed=t,this.value=n,this.kind=i,this.static=o}return e}();t.MethodDefinition=G;var X=function(){function e(e){this.type=r.Syntax.Program,this.body=e,this.sourceType=\"module\"}return e}();t.Module=X;var Y=function(){function e(e,t){this.type=r.Syntax.NewExpression,this.callee=e,this.arguments=t}return e}();t.NewExpression=Y;var K=function(){function e(e){this.type=r.Syntax.ObjectExpression,this.properties=e}return e}();t.ObjectExpression=K;var $=function(){function e(e){this.type=r.Syntax.ObjectPattern,this.properties=e}return e}();t.ObjectPattern=$;var Z=function(){function e(e,t,n,i,o,a){this.type=r.Syntax.Property,this.key=t,this.computed=n,this.value=i,this.kind=e,this.method=o,this.shorthand=a}return e}();t.Property=Z;var Q=function(){function e(e,t,n,i){this.type=r.Syntax.Literal,this.value=e,this.raw=t,this.regex={pattern:n,flags:i}}return e}();t.RegexLiteral=Q;var ee=function(){function e(e){this.type=r.Syntax.RestElement,this.argument=e}return e}();t.RestElement=ee;var te=function(){function e(e){this.type=r.Syntax.ReturnStatement,this.argument=e}return e}();t.ReturnStatement=te;var ne=function(){function e(e){this.type=r.Syntax.Program,this.body=e,this.sourceType=\"script\"}return e}();t.Script=ne;var re=function(){function e(e){this.type=r.Syntax.SequenceExpression,this.expressions=e}return e}();t.SequenceExpression=re;var ie=function(){function e(e){this.type=r.Syntax.SpreadElement,this.argument=e}return e}();t.SpreadElement=ie;var oe=function(){function e(e,t){this.type=r.Syntax.MemberExpression,this.computed=!1,this.object=e,this.property=t}return e}();t.StaticMemberExpression=oe;var ae=function(){function e(){this.type=r.Syntax.Super}return e}();t.Super=ae;var se=function(){function e(e,t){this.type=r.Syntax.SwitchCase,this.test=e,this.consequent=t}return e}();t.SwitchCase=se;var ue=function(){function e(e,t){this.type=r.Syntax.SwitchStatement,this.discriminant=e,this.cases=t}return e}();t.SwitchStatement=ue;var le=function(){function e(e,t){this.type=r.Syntax.TaggedTemplateExpression,this.tag=e,this.quasi=t}return e}();t.TaggedTemplateExpression=le;var ce=function(){function e(e,t){this.type=r.Syntax.TemplateElement,this.value=e,this.tail=t}return e}();t.TemplateElement=ce;var pe=function(){function e(e,t){this.type=r.Syntax.TemplateLiteral,this.quasis=e,this.expressions=t}return e}();t.TemplateLiteral=pe;var fe=function(){function e(){this.type=r.Syntax.ThisExpression}return e}();t.ThisExpression=fe;var he=function(){function e(e){this.type=r.Syntax.ThrowStatement,this.argument=e}return e}();t.ThrowStatement=he;var de=function(){function e(e,t,n){this.type=r.Syntax.TryStatement,this.block=e,this.handler=t,this.finalizer=n}return e}();t.TryStatement=de;var me=function(){function e(e,t){this.type=r.Syntax.UnaryExpression,this.operator=e,this.argument=t,this.prefix=!0}return e}();t.UnaryExpression=me;var ve=function(){function e(e,t,n){this.type=r.Syntax.UpdateExpression,this.operator=e,this.argument=t,this.prefix=n}return e}();t.UpdateExpression=ve;var ge=function(){function e(e,t){this.type=r.Syntax.VariableDeclaration,this.declarations=e,this.kind=t}return e}();t.VariableDeclaration=ge;var ye=function(){function e(e,t){this.type=r.Syntax.VariableDeclarator,this.id=e,this.init=t}return e}();t.VariableDeclarator=ye;var _e=function(){function e(e,t){this.type=r.Syntax.WhileStatement,this.test=e,this.body=t}return e}();t.WhileStatement=_e;var be=function(){function e(e,t){this.type=r.Syntax.WithStatement,this.object=e,this.body=t}return e}();t.WithStatement=be;var xe=function(){function e(e,t){this.type=r.Syntax.YieldExpression,this.argument=e,this.delegate=t}return e}();t.YieldExpression=xe},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(9),i=n(10),o=n(11),a=n(7),s=n(12),u=n(2),l=n(13),c=function(){function e(e,t,n){void 0===t&&(t={}),this.config={range:\"boolean\"==typeof t.range&&t.range,loc:\"boolean\"==typeof t.loc&&t.loc,source:null,tokens:\"boolean\"==typeof t.tokens&&t.tokens,comment:\"boolean\"==typeof t.comment&&t.comment,tolerant:\"boolean\"==typeof t.tolerant&&t.tolerant},this.config.loc&&t.source&&null!==t.source&&(this.config.source=String(t.source)),this.delegate=n,this.errorHandler=new i.ErrorHandler,this.errorHandler.tolerant=this.config.tolerant,this.scanner=new s.Scanner(e,this.errorHandler),this.scanner.trackComment=this.config.comment,this.operatorPrecedence={\")\":0,\";\":0,\",\":0,\"=\":0,\"]\":0,\"||\":1,\"&&\":2,\"|\":3,\"^\":4,\"&\":5,\"==\":6,\"!=\":6,\"===\":6,\"!==\":6,\"<\":7,\">\":7,\"<=\":7,\">=\":7,\"<<\":8,\">>\":8,\">>>\":8,\"+\":9,\"-\":9,\"*\":11,\"/\":11,\"%\":11},this.lookahead={type:2,value:\"\",lineNumber:this.scanner.lineNumber,lineStart:0,start:0,end:0},this.hasLineTerminator=!1,this.context={isModule:!1,await:!1,allowIn:!0,allowStrictDirective:!0,allowYield:!0,firstCoverInitializedNameError:null,isAssignmentTarget:!1,isBindingElement:!1,inFunctionBody:!1,inIteration:!1,inSwitch:!1,labelSet:{},strict:!1},this.tokens=[],this.startMarker={index:0,line:this.scanner.lineNumber,column:0},this.lastMarker={index:0,line:this.scanner.lineNumber,column:0},this.nextToken(),this.lastMarker={index:this.scanner.index,line:this.scanner.lineNumber,column:this.scanner.index-this.scanner.lineStart}}return e.prototype.throwError=function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];var i=Array.prototype.slice.call(arguments,1),o=e.replace(/%(\\d)/g,function(e,t){return r.assert(t<i.length,\"Message reference must be in range\"),i[t]}),a=this.lastMarker.index,s=this.lastMarker.line,u=this.lastMarker.column+1;throw this.errorHandler.createError(a,s,u,o)},e.prototype.tolerateError=function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];var i=Array.prototype.slice.call(arguments,1),o=e.replace(/%(\\d)/g,function(e,t){return r.assert(t<i.length,\"Message reference must be in range\"),i[t]}),a=this.lastMarker.index,s=this.scanner.lineNumber,u=this.lastMarker.column+1;this.errorHandler.tolerateError(a,s,u,o)},e.prototype.unexpectedTokenError=function(e,t){var n,r=t||o.Messages.UnexpectedToken;if(e?(t||(r=2===e.type?o.Messages.UnexpectedEOS:3===e.type?o.Messages.UnexpectedIdentifier:6===e.type?o.Messages.UnexpectedNumber:8===e.type?o.Messages.UnexpectedString:10===e.type?o.Messages.UnexpectedTemplate:o.Messages.UnexpectedToken,4===e.type&&(this.scanner.isFutureReservedWord(e.value)?r=o.Messages.UnexpectedReserved:this.context.strict&&this.scanner.isStrictModeReservedWord(e.value)&&(r=o.Messages.StrictReservedWord))),n=e.value):n=\"ILLEGAL\",r=r.replace(\"%0\",n),e&&\"number\"==typeof e.lineNumber){var i=e.start,a=e.lineNumber,s=this.lastMarker.index-this.lastMarker.column,u=e.start-s+1;return this.errorHandler.createError(i,a,u,r)}var i=this.lastMarker.index,a=this.lastMarker.line,u=this.lastMarker.column+1;return this.errorHandler.createError(i,a,u,r)},e.prototype.throwUnexpectedToken=function(e,t){throw this.unexpectedTokenError(e,t)},e.prototype.tolerateUnexpectedToken=function(e,t){this.errorHandler.tolerate(this.unexpectedTokenError(e,t))},e.prototype.collectComments=function(){if(this.config.comment){var e=this.scanner.scanComments();if(e.length>0&&this.delegate)for(var t=0;t<e.length;++t){var n=e[t],r=void 0;r={type:n.multiLine?\"BlockComment\":\"LineComment\",value:this.scanner.source.slice(n.slice[0],n.slice[1])},this.config.range&&(r.range=n.range),this.config.loc&&(r.loc=n.loc);var i={start:{line:n.loc.start.line,column:n.loc.start.column,offset:n.range[0]},end:{line:n.loc.end.line,column:n.loc.end.column,offset:n.range[1]}};this.delegate(r,i)}}else this.scanner.scanComments()},e.prototype.getTokenRaw=function(e){return this.scanner.source.slice(e.start,e.end)},e.prototype.convertToken=function(e){var t={type:l.TokenName[e.type],value:this.getTokenRaw(e)};if(this.config.range&&(t.range=[e.start,e.end]),this.config.loc&&(t.loc={start:{line:this.startMarker.line,column:this.startMarker.column},end:{line:this.scanner.lineNumber,column:this.scanner.index-this.scanner.lineStart}}),9===e.type){var n=e.pattern,r=e.flags;t.regex={pattern:n,flags:r}}return t},e.prototype.nextToken=function(){var e=this.lookahead;this.lastMarker.index=this.scanner.index,this.lastMarker.line=this.scanner.lineNumber,this.lastMarker.column=this.scanner.index-this.scanner.lineStart,this.collectComments(),this.scanner.index!==this.startMarker.index&&(this.startMarker.index=this.scanner.index,this.startMarker.line=this.scanner.lineNumber,this.startMarker.column=this.scanner.index-this.scanner.lineStart);var t=this.scanner.lex();return this.hasLineTerminator=e.lineNumber!==t.lineNumber,t&&this.context.strict&&3===t.type&&this.scanner.isStrictModeReservedWord(t.value)&&(t.type=4),this.lookahead=t,this.config.tokens&&2!==t.type&&this.tokens.push(this.convertToken(t)),e},e.prototype.nextRegexToken=function(){this.collectComments();var e=this.scanner.scanRegExp();return this.config.tokens&&(this.tokens.pop(),this.tokens.push(this.convertToken(e))),this.lookahead=e,this.nextToken(),e},e.prototype.createNode=function(){return{index:this.startMarker.index,line:this.startMarker.line,column:this.startMarker.column}},e.prototype.startNode=function(e){return{index:e.start,line:e.lineNumber,column:e.start-e.lineStart}},e.prototype.finalize=function(e,t){if(this.config.range&&(t.range=[e.index,this.lastMarker.index]),this.config.loc&&(t.loc={start:{line:e.line,column:e.column},end:{line:this.lastMarker.line,column:this.lastMarker.column}},this.config.source&&(t.loc.source=this.config.source)),this.delegate){var n={start:{line:e.line,column:e.column,offset:e.index},end:{line:this.lastMarker.line,column:this.lastMarker.column,offset:this.lastMarker.index}};this.delegate(t,n)}return t},e.prototype.expect=function(e){var t=this.nextToken();7===t.type&&t.value===e||this.throwUnexpectedToken(t)},e.prototype.expectCommaSeparator=function(){if(this.config.tolerant){var e=this.lookahead;7===e.type&&\",\"===e.value?this.nextToken():7===e.type&&\";\"===e.value?(this.nextToken(),this.tolerateUnexpectedToken(e)):this.tolerateUnexpectedToken(e,o.Messages.UnexpectedToken)}else this.expect(\",\")},e.prototype.expectKeyword=function(e){var t=this.nextToken();4===t.type&&t.value===e||this.throwUnexpectedToken(t)},e.prototype.match=function(e){return 7===this.lookahead.type&&this.lookahead.value===e},e.prototype.matchKeyword=function(e){return 4===this.lookahead.type&&this.lookahead.value===e},e.prototype.matchContextualKeyword=function(e){return 3===this.lookahead.type&&this.lookahead.value===e},e.prototype.matchAssign=function(){if(7!==this.lookahead.type)return!1;var e=this.lookahead.value;return\"=\"===e||\"*=\"===e||\"**=\"===e||\"/=\"===e||\"%=\"===e||\"+=\"===e||\"-=\"===e||\"<<=\"===e||\">>=\"===e||\">>>=\"===e||\"&=\"===e||\"^=\"===e||\"|=\"===e},e.prototype.isolateCoverGrammar=function(e){var t=this.context.isBindingElement,n=this.context.isAssignmentTarget,r=this.context.firstCoverInitializedNameError;this.context.isBindingElement=!0,this.context.isAssignmentTarget=!0,this.context.firstCoverInitializedNameError=null;var i=e.call(this);return null!==this.context.firstCoverInitializedNameError&&this.throwUnexpectedToken(this.context.firstCoverInitializedNameError),this.context.isBindingElement=t,this.context.isAssignmentTarget=n,this.context.firstCoverInitializedNameError=r,i},e.prototype.inheritCoverGrammar=function(e){var t=this.context.isBindingElement,n=this.context.isAssignmentTarget,r=this.context.firstCoverInitializedNameError;this.context.isBindingElement=!0,this.context.isAssignmentTarget=!0,this.context.firstCoverInitializedNameError=null;var i=e.call(this);return this.context.isBindingElement=this.context.isBindingElement&&t,this.context.isAssignmentTarget=this.context.isAssignmentTarget&&n,this.context.firstCoverInitializedNameError=r||this.context.firstCoverInitializedNameError,i},e.prototype.consumeSemicolon=function(){this.match(\";\")?this.nextToken():this.hasLineTerminator||(2===this.lookahead.type||this.match(\"}\")||this.throwUnexpectedToken(this.lookahead),this.lastMarker.index=this.startMarker.index,this.lastMarker.line=this.startMarker.line,this.lastMarker.column=this.startMarker.column)},e.prototype.parsePrimaryExpression=function(){var e,t,n,r=this.createNode();switch(this.lookahead.type){case 3:(this.context.isModule||this.context.await)&&\"await\"===this.lookahead.value&&this.tolerateUnexpectedToken(this.lookahead),e=this.matchAsyncFunction()?this.parseFunctionExpression():this.finalize(r,new a.Identifier(this.nextToken().value));break;case 6:case 8:this.context.strict&&this.lookahead.octal&&this.tolerateUnexpectedToken(this.lookahead,o.Messages.StrictOctalLiteral),this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1,t=this.nextToken(),n=this.getTokenRaw(t),e=this.finalize(r,new a.Literal(t.value,n));break;case 1:this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1,t=this.nextToken(),n=this.getTokenRaw(t),e=this.finalize(r,new a.Literal(\"true\"===t.value,n));break;case 5:this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1,t=this.nextToken(),n=this.getTokenRaw(t),e=this.finalize(r,new a.Literal(null,n));break;case 10:e=this.parseTemplateLiteral();break;case 7:switch(this.lookahead.value){case\"(\":this.context.isBindingElement=!1,e=this.inheritCoverGrammar(this.parseGroupExpression);break;case\"[\":e=this.inheritCoverGrammar(this.parseArrayInitializer);break;case\"{\":e=this.inheritCoverGrammar(this.parseObjectInitializer);break;case\"/\":case\"/=\":this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1,this.scanner.index=this.startMarker.index,t=this.nextRegexToken(),n=this.getTokenRaw(t),e=this.finalize(r,new a.RegexLiteral(t.regex,n,t.pattern,t.flags));break;default:e=this.throwUnexpectedToken(this.nextToken())}break;case 4:!this.context.strict&&this.context.allowYield&&this.matchKeyword(\"yield\")?e=this.parseIdentifierName():!this.context.strict&&this.matchKeyword(\"let\")?e=this.finalize(r,new a.Identifier(this.nextToken().value)):(this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1,this.matchKeyword(\"function\")?e=this.parseFunctionExpression():this.matchKeyword(\"this\")?(this.nextToken(),e=this.finalize(r,new a.ThisExpression)):e=this.matchKeyword(\"class\")?this.parseClassExpression():this.throwUnexpectedToken(this.nextToken()));break;default:e=this.throwUnexpectedToken(this.nextToken())}return e},e.prototype.parseSpreadElement=function(){var e=this.createNode();this.expect(\"...\");var t=this.inheritCoverGrammar(this.parseAssignmentExpression);return this.finalize(e,new a.SpreadElement(t))},e.prototype.parseArrayInitializer=function(){var e=this.createNode(),t=[];for(this.expect(\"[\");!this.match(\"]\");)if(this.match(\",\"))this.nextToken(),t.push(null);else if(this.match(\"...\")){var n=this.parseSpreadElement();this.match(\"]\")||(this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1,this.expect(\",\")),t.push(n)}else t.push(this.inheritCoverGrammar(this.parseAssignmentExpression)),this.match(\"]\")||this.expect(\",\");return this.expect(\"]\"),this.finalize(e,new a.ArrayExpression(t))},e.prototype.parsePropertyMethod=function(e){this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1;var t=this.context.strict,n=this.context.allowStrictDirective;this.context.allowStrictDirective=e.simple;var r=this.isolateCoverGrammar(this.parseFunctionSourceElements);return this.context.strict&&e.firstRestricted&&this.tolerateUnexpectedToken(e.firstRestricted,e.message),this.context.strict&&e.stricted&&this.tolerateUnexpectedToken(e.stricted,e.message),this.context.strict=t,this.context.allowStrictDirective=n,r},e.prototype.parsePropertyMethodFunction=function(){var e=this.createNode(),t=this.context.allowYield;this.context.allowYield=!1;var n=this.parseFormalParameters(),r=this.parsePropertyMethod(n);return this.context.allowYield=t,this.finalize(e,new a.FunctionExpression(null,n.params,r,!1))},e.prototype.parsePropertyMethodAsyncFunction=function(){var e=this.createNode(),t=this.context.allowYield,n=this.context.await;this.context.allowYield=!1,this.context.await=!0;var r=this.parseFormalParameters(),i=this.parsePropertyMethod(r);return this.context.allowYield=t,this.context.await=n,this.finalize(e,new a.AsyncFunctionExpression(null,r.params,i))},e.prototype.parseObjectPropertyKey=function(){var e,t=this.createNode(),n=this.nextToken();switch(n.type){case 8:case 6:this.context.strict&&n.octal&&this.tolerateUnexpectedToken(n,o.Messages.StrictOctalLiteral);var r=this.getTokenRaw(n);e=this.finalize(t,new a.Literal(n.value,r));break;case 3:case 1:case 5:case 4:e=this.finalize(t,new a.Identifier(n.value));break;case 7:\"[\"===n.value?(e=this.isolateCoverGrammar(this.parseAssignmentExpression),this.expect(\"]\")):e=this.throwUnexpectedToken(n);break;default:e=this.throwUnexpectedToken(n)}return e},e.prototype.isPropertyKey=function(e,t){return e.type===u.Syntax.Identifier&&e.name===t||e.type===u.Syntax.Literal&&e.value===t},e.prototype.parseObjectProperty=function(e){var t,n=this.createNode(),r=this.lookahead,i=null,s=null,u=!1,l=!1,c=!1,p=!1;if(3===r.type){var f=r.value;this.nextToken(),u=this.match(\"[\"),p=!(this.hasLineTerminator||\"async\"!==f||this.match(\":\")||this.match(\"(\")||this.match(\"*\")),i=p?this.parseObjectPropertyKey():this.finalize(n,new a.Identifier(f))}else this.match(\"*\")?this.nextToken():(u=this.match(\"[\"),i=this.parseObjectPropertyKey());var h=this.qualifiedPropertyName(this.lookahead);if(3===r.type&&!p&&\"get\"===r.value&&h)t=\"get\",u=this.match(\"[\"),i=this.parseObjectPropertyKey(),this.context.allowYield=!1,s=this.parseGetterMethod();else if(3===r.type&&!p&&\"set\"===r.value&&h)t=\"set\",u=this.match(\"[\"),i=this.parseObjectPropertyKey(),s=this.parseSetterMethod();else if(7===r.type&&\"*\"===r.value&&h)t=\"init\",u=this.match(\"[\"),i=this.parseObjectPropertyKey(),s=this.parseGeneratorMethod(),l=!0;else if(i||this.throwUnexpectedToken(this.lookahead),t=\"init\",this.match(\":\")&&!p)!u&&this.isPropertyKey(i,\"__proto__\")&&(e.value&&this.tolerateError(o.Messages.DuplicateProtoProperty),e.value=!0),this.nextToken(),s=this.inheritCoverGrammar(this.parseAssignmentExpression);else if(this.match(\"(\"))s=p?this.parsePropertyMethodAsyncFunction():this.parsePropertyMethodFunction(),l=!0;else if(3===r.type){var f=this.finalize(n,new a.Identifier(r.value));if(this.match(\"=\")){this.context.firstCoverInitializedNameError=this.lookahead,this.nextToken(),c=!0;var d=this.isolateCoverGrammar(this.parseAssignmentExpression);s=this.finalize(n,new a.AssignmentPattern(f,d))}else c=!0,s=f}else this.throwUnexpectedToken(this.nextToken());return this.finalize(n,new a.Property(t,i,u,s,l,c))},e.prototype.parseObjectInitializer=function(){var e=this.createNode();this.expect(\"{\");for(var t=[],n={value:!1};!this.match(\"}\");)t.push(this.parseObjectProperty(n)),this.match(\"}\")||this.expectCommaSeparator();return this.expect(\"}\"),this.finalize(e,new a.ObjectExpression(t))},e.prototype.parseTemplateHead=function(){r.assert(this.lookahead.head,\"Template literal must start with a template head\");var e=this.createNode(),t=this.nextToken(),n=t.value,i=t.cooked;return this.finalize(e,new a.TemplateElement({raw:n,cooked:i},t.tail))},e.prototype.parseTemplateElement=function(){10!==this.lookahead.type&&this.throwUnexpectedToken();var e=this.createNode(),t=this.nextToken(),n=t.value,r=t.cooked;return this.finalize(e,new a.TemplateElement({raw:n,cooked:r},t.tail))},e.prototype.parseTemplateLiteral=function(){var e=this.createNode(),t=[],n=[],r=this.parseTemplateHead();for(n.push(r);!r.tail;)t.push(this.parseExpression()),r=this.parseTemplateElement(),n.push(r);return this.finalize(e,new a.TemplateLiteral(n,t))},e.prototype.reinterpretExpressionAsPattern=function(e){switch(e.type){case u.Syntax.Identifier:case u.Syntax.MemberExpression:case u.Syntax.RestElement:case u.Syntax.AssignmentPattern:break;case u.Syntax.SpreadElement:e.type=u.Syntax.RestElement,this.reinterpretExpressionAsPattern(e.argument);break;case u.Syntax.ArrayExpression:e.type=u.Syntax.ArrayPattern;for(var t=0;t<e.elements.length;t++)null!==e.elements[t]&&this.reinterpretExpressionAsPattern(e.elements[t]);break;case u.Syntax.ObjectExpression:e.type=u.Syntax.ObjectPattern;for(var t=0;t<e.properties.length;t++)this.reinterpretExpressionAsPattern(e.properties[t].value);break;case u.Syntax.AssignmentExpression:e.type=u.Syntax.AssignmentPattern,delete e.operator,this.reinterpretExpressionAsPattern(e.left)}},e.prototype.parseGroupExpression=function(){var e;if(this.expect(\"(\"),this.match(\")\"))this.nextToken(),this.match(\"=>\")||this.expect(\"=>\"),e={type:\"ArrowParameterPlaceHolder\",params:[],async:!1};else{var t=this.lookahead,n=[];if(this.match(\"...\"))e=this.parseRestElement(n),this.expect(\")\"),this.match(\"=>\")||this.expect(\"=>\"),e={type:\"ArrowParameterPlaceHolder\",params:[e],async:!1};else{var r=!1;if(this.context.isBindingElement=!0,e=this.inheritCoverGrammar(this.parseAssignmentExpression),this.match(\",\")){var i=[];for(this.context.isAssignmentTarget=!1,i.push(e);2!==this.lookahead.type&&this.match(\",\");){if(this.nextToken(),this.match(\")\")){this.nextToken();for(var o=0;o<i.length;o++)this.reinterpretExpressionAsPattern(i[o]);r=!0,e={type:\"ArrowParameterPlaceHolder\",params:i,async:!1}}else if(this.match(\"...\")){this.context.isBindingElement||this.throwUnexpectedToken(this.lookahead),i.push(this.parseRestElement(n)),this.expect(\")\"),this.match(\"=>\")||this.expect(\"=>\"),this.context.isBindingElement=!1;for(var o=0;o<i.length;o++)this.reinterpretExpressionAsPattern(i[o]);r=!0,e={type:\"ArrowParameterPlaceHolder\",params:i,async:!1}}else i.push(this.inheritCoverGrammar(this.parseAssignmentExpression));if(r)break}r||(e=this.finalize(this.startNode(t),new a.SequenceExpression(i)))}if(!r){if(this.expect(\")\"),this.match(\"=>\")&&(e.type===u.Syntax.Identifier&&\"yield\"===e.name&&(r=!0,e={type:\"ArrowParameterPlaceHolder\",params:[e],async:!1}),!r)){if(this.context.isBindingElement||this.throwUnexpectedToken(this.lookahead),e.type===u.Syntax.SequenceExpression)for(var o=0;o<e.expressions.length;o++)this.reinterpretExpressionAsPattern(e.expressions[o]);else this.reinterpretExpressionAsPattern(e);e={type:\"ArrowParameterPlaceHolder\",params:e.type===u.Syntax.SequenceExpression?e.expressions:[e],async:!1}}this.context.isBindingElement=!1}}}return e},e.prototype.parseArguments=function(){this.expect(\"(\");var e=[];if(!this.match(\")\"))for(;;){var t=this.match(\"...\")?this.parseSpreadElement():this.isolateCoverGrammar(this.parseAssignmentExpression);if(e.push(t),this.match(\")\"))break;if(this.expectCommaSeparator(),this.match(\")\"))break}return this.expect(\")\"),e},e.prototype.isIdentifierName=function(e){return 3===e.type||4===e.type||1===e.type||5===e.type},e.prototype.parseIdentifierName=function(){var e=this.createNode(),t=this.nextToken();return this.isIdentifierName(t)||this.throwUnexpectedToken(t),this.finalize(e,new a.Identifier(t.value))},e.prototype.parseNewExpression=function(){var e=this.createNode(),t=this.parseIdentifierName();r.assert(\"new\"===t.name,\"New expression must start with `new`\");var n;if(this.match(\".\"))if(this.nextToken(),3===this.lookahead.type&&this.context.inFunctionBody&&\"target\"===this.lookahead.value){var i=this.parseIdentifierName();n=new a.MetaProperty(t,i)}else this.throwUnexpectedToken(this.lookahead);else{var o=this.isolateCoverGrammar(this.parseLeftHandSideExpression),s=this.match(\"(\")?this.parseArguments():[];n=new a.NewExpression(o,s),this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1}return this.finalize(e,n)},e.prototype.parseAsyncArgument=function(){var e=this.parseAssignmentExpression();return this.context.firstCoverInitializedNameError=null,e},e.prototype.parseAsyncArguments=function(){this.expect(\"(\");var e=[];if(!this.match(\")\"))for(;;){var t=this.match(\"...\")?this.parseSpreadElement():this.isolateCoverGrammar(this.parseAsyncArgument);if(e.push(t),this.match(\")\"))break;if(this.expectCommaSeparator(),this.match(\")\"))break}return this.expect(\")\"),e},e.prototype.parseLeftHandSideExpressionAllowCall=function(){var e=this.lookahead,t=this.matchContextualKeyword(\"async\"),n=this.context.allowIn;this.context.allowIn=!0;var r;for(this.matchKeyword(\"super\")&&this.context.inFunctionBody?(r=this.createNode(),this.nextToken(),r=this.finalize(r,new a.Super),this.match(\"(\")||this.match(\".\")||this.match(\"[\")||this.throwUnexpectedToken(this.lookahead)):r=this.inheritCoverGrammar(this.matchKeyword(\"new\")?this.parseNewExpression:this.parsePrimaryExpression);;)if(this.match(\".\")){this.context.isBindingElement=!1,this.context.isAssignmentTarget=!0,this.expect(\".\");var i=this.parseIdentifierName();r=this.finalize(this.startNode(e),new a.StaticMemberExpression(r,i))}else if(this.match(\"(\")){var o=t&&e.lineNumber===this.lookahead.lineNumber;this.context.isBindingElement=!1,this.context.isAssignmentTarget=!1;var s=o?this.parseAsyncArguments():this.parseArguments();if(r=this.finalize(this.startNode(e),new a.CallExpression(r,s)),o&&this.match(\"=>\")){for(var u=0;u<s.length;++u)this.reinterpretExpressionAsPattern(s[u]);r={type:\"ArrowParameterPlaceHolder\",params:s,async:!0}}}else if(this.match(\"[\")){this.context.isBindingElement=!1,this.context.isAssignmentTarget=!0,this.expect(\"[\");var i=this.isolateCoverGrammar(this.parseExpression);this.expect(\"]\"),r=this.finalize(this.startNode(e),new a.ComputedMemberExpression(r,i))}else{if(10!==this.lookahead.type||!this.lookahead.head)break;var l=this.parseTemplateLiteral();r=this.finalize(this.startNode(e),new a.TaggedTemplateExpression(r,l))}return this.context.allowIn=n,r},e.prototype.parseSuper=function(){var e=this.createNode();return this.expectKeyword(\"super\"),this.match(\"[\")||this.match(\".\")||this.throwUnexpectedToken(this.lookahead),this.finalize(e,new a.Super)},e.prototype.parseLeftHandSideExpression=function(){r.assert(this.context.allowIn,\"callee of new expression always allow in keyword.\");for(var e=this.startNode(this.lookahead),t=this.matchKeyword(\"super\")&&this.context.inFunctionBody?this.parseSuper():this.inheritCoverGrammar(this.matchKeyword(\"new\")?this.parseNewExpression:this.parsePrimaryExpression);;)if(this.match(\"[\")){this.context.isBindingElement=!1,this.context.isAssignmentTarget=!0,this.expect(\"[\");var n=this.isolateCoverGrammar(this.parseExpression);this.expect(\"]\"),t=this.finalize(e,new a.ComputedMemberExpression(t,n))}else if(this.match(\".\")){this.context.isBindingElement=!1,this.context.isAssignmentTarget=!0,this.expect(\".\");var n=this.parseIdentifierName();t=this.finalize(e,new a.StaticMemberExpression(t,n))}else{if(10!==this.lookahead.type||!this.lookahead.head)break;var i=this.parseTemplateLiteral();t=this.finalize(e,new a.TaggedTemplateExpression(t,i))}return t},e.prototype.parseUpdateExpression=function(){var e,t=this.lookahead;if(this.match(\"++\")||this.match(\"--\")){var n=this.startNode(t),r=this.nextToken();e=this.inheritCoverGrammar(this.parseUnaryExpression),this.context.strict&&e.type===u.Syntax.Identifier&&this.scanner.isRestrictedWord(e.name)&&this.tolerateError(o.Messages.StrictLHSPrefix),this.context.isAssignmentTarget||this.tolerateError(o.Messages.InvalidLHSInAssignment);var i=!0;e=this.finalize(n,new a.UpdateExpression(r.value,e,i)),this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1}else if(e=this.inheritCoverGrammar(this.parseLeftHandSideExpressionAllowCall),!this.hasLineTerminator&&7===this.lookahead.type&&(this.match(\"++\")||this.match(\"--\"))){this.context.strict&&e.type===u.Syntax.Identifier&&this.scanner.isRestrictedWord(e.name)&&this.tolerateError(o.Messages.StrictLHSPostfix),this.context.isAssignmentTarget||this.tolerateError(o.Messages.InvalidLHSInAssignment),this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1;var s=this.nextToken().value,i=!1;e=this.finalize(this.startNode(t),new a.UpdateExpression(s,e,i))}return e},e.prototype.parseAwaitExpression=function(){var e=this.createNode();this.nextToken();var t=this.parseUnaryExpression();return this.finalize(e,new a.AwaitExpression(t))},e.prototype.parseUnaryExpression=function(){var e;if(this.match(\"+\")||this.match(\"-\")||this.match(\"~\")||this.match(\"!\")||this.matchKeyword(\"delete\")||this.matchKeyword(\"void\")||this.matchKeyword(\"typeof\")){var t=this.startNode(this.lookahead),n=this.nextToken();e=this.inheritCoverGrammar(this.parseUnaryExpression),e=this.finalize(t,new a.UnaryExpression(n.value,e)),this.context.strict&&\"delete\"===e.operator&&e.argument.type===u.Syntax.Identifier&&this.tolerateError(o.Messages.StrictDelete),this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1}else e=this.context.await&&this.matchContextualKeyword(\"await\")?this.parseAwaitExpression():this.parseUpdateExpression();return e},e.prototype.parseExponentiationExpression=function(){var e=this.lookahead,t=this.inheritCoverGrammar(this.parseUnaryExpression);if(t.type!==u.Syntax.UnaryExpression&&this.match(\"**\")){this.nextToken(),this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1;var n=t,r=this.isolateCoverGrammar(this.parseExponentiationExpression);t=this.finalize(this.startNode(e),new a.BinaryExpression(\"**\",n,r))}return t},e.prototype.binaryPrecedence=function(e){var t=e.value;return 7===e.type?this.operatorPrecedence[t]||0:4===e.type&&(\"instanceof\"===t||this.context.allowIn&&\"in\"===t)?7:0},e.prototype.parseBinaryExpression=function(){var e=this.lookahead,t=this.inheritCoverGrammar(this.parseExponentiationExpression),n=this.lookahead,r=this.binaryPrecedence(n);if(r>0){this.nextToken(),this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1;for(var i=[e,this.lookahead],o=t,s=this.isolateCoverGrammar(this.parseExponentiationExpression),u=[o,n.value,s],l=[r];;){if((r=this.binaryPrecedence(this.lookahead))<=0)break;for(;u.length>2&&r<=l[l.length-1];){s=u.pop();var c=u.pop();l.pop(),o=u.pop(),i.pop();var p=this.startNode(i[i.length-1]);u.push(this.finalize(p,new a.BinaryExpression(c,o,s)))}u.push(this.nextToken().value),l.push(r),i.push(this.lookahead),u.push(this.isolateCoverGrammar(this.parseExponentiationExpression))}var f=u.length-1;for(t=u[f],i.pop();f>1;){var p=this.startNode(i.pop()),c=u[f-1];t=this.finalize(p,new a.BinaryExpression(c,u[f-2],t)),f-=2}}return t},e.prototype.parseConditionalExpression=function(){var e=this.lookahead,t=this.inheritCoverGrammar(this.parseBinaryExpression);if(this.match(\"?\")){this.nextToken();var n=this.context.allowIn;this.context.allowIn=!0;var r=this.isolateCoverGrammar(this.parseAssignmentExpression);this.context.allowIn=n,this.expect(\":\");var i=this.isolateCoverGrammar(this.parseAssignmentExpression);t=this.finalize(this.startNode(e),new a.ConditionalExpression(t,r,i)),this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1}return t},e.prototype.checkPatternParam=function(e,t){switch(t.type){case u.Syntax.Identifier:this.validateParam(e,t,t.name);break;case u.Syntax.RestElement:this.checkPatternParam(e,t.argument);break;case u.Syntax.AssignmentPattern:this.checkPatternParam(e,t.left);break;case u.Syntax.ArrayPattern:for(var n=0;n<t.elements.length;n++)null!==t.elements[n]&&this.checkPatternParam(e,t.elements[n]);break;case u.Syntax.ObjectPattern:for(var n=0;n<t.properties.length;n++)this.checkPatternParam(e,t.properties[n].value)}e.simple=e.simple&&t instanceof a.Identifier},e.prototype.reinterpretAsCoverFormalsList=function(e){var t,n=[e],r=!1;switch(e.type){case u.Syntax.Identifier:break;case\"ArrowParameterPlaceHolder\":n=e.params,r=e.async;break;default:return null}t={simple:!0,paramSet:{}};for(var i=0;i<n.length;++i){var a=n[i];a.type===u.Syntax.AssignmentPattern?a.right.type===u.Syntax.YieldExpression&&(a.right.argument&&this.throwUnexpectedToken(this.lookahead),a.right.type=u.Syntax.Identifier,a.right.name=\"yield\",delete a.right.argument,delete a.right.delegate):r&&a.type===u.Syntax.Identifier&&\"await\"===a.name&&this.throwUnexpectedToken(this.lookahead),this.checkPatternParam(t,a),n[i]=a}if(this.context.strict||!this.context.allowYield)for(var i=0;i<n.length;++i){var a=n[i];a.type===u.Syntax.YieldExpression&&this.throwUnexpectedToken(this.lookahead)}if(t.message===o.Messages.StrictParamDupe){var s=this.context.strict?t.stricted:t.firstRestricted;this.throwUnexpectedToken(s,t.message)}return{simple:t.simple,params:n,stricted:t.stricted,firstRestricted:t.firstRestricted,message:t.message}},e.prototype.parseAssignmentExpression=function(){var e;if(!this.context.allowYield&&this.matchKeyword(\"yield\"))e=this.parseYieldExpression();else{var t=this.lookahead,n=t;if(e=this.parseConditionalExpression(),3===n.type&&n.lineNumber===this.lookahead.lineNumber&&\"async\"===n.value&&(3===this.lookahead.type||this.matchKeyword(\"yield\"))){var r=this.parsePrimaryExpression();this.reinterpretExpressionAsPattern(r),e={type:\"ArrowParameterPlaceHolder\",params:[r],async:!0}}if(\"ArrowParameterPlaceHolder\"===e.type||this.match(\"=>\")){this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1;var i=e.async,s=this.reinterpretAsCoverFormalsList(e);if(s){this.hasLineTerminator&&this.tolerateUnexpectedToken(this.lookahead),this.context.firstCoverInitializedNameError=null;var l=this.context.strict,c=this.context.allowStrictDirective;this.context.allowStrictDirective=s.simple;var p=this.context.allowYield,f=this.context.await;this.context.allowYield=!0,this.context.await=i;var h=this.startNode(t);this.expect(\"=>\");var d=void 0;if(this.match(\"{\")){var m=this.context.allowIn;this.context.allowIn=!0,d=this.parseFunctionSourceElements(),this.context.allowIn=m}else d=this.isolateCoverGrammar(this.parseAssignmentExpression);var v=d.type!==u.Syntax.BlockStatement;this.context.strict&&s.firstRestricted&&this.throwUnexpectedToken(s.firstRestricted,s.message),this.context.strict&&s.stricted&&this.tolerateUnexpectedToken(s.stricted,s.message),e=i?this.finalize(h,new a.AsyncArrowFunctionExpression(s.params,d,v)):this.finalize(h,new a.ArrowFunctionExpression(s.params,d,v)),this.context.strict=l,this.context.allowStrictDirective=c,this.context.allowYield=p,this.context.await=f}}else if(this.matchAssign()){if(this.context.isAssignmentTarget||this.tolerateError(o.Messages.InvalidLHSInAssignment),this.context.strict&&e.type===u.Syntax.Identifier){var g=e;this.scanner.isRestrictedWord(g.name)&&this.tolerateUnexpectedToken(n,o.Messages.StrictLHSAssignment),this.scanner.isStrictModeReservedWord(g.name)&&this.tolerateUnexpectedToken(n,o.Messages.StrictReservedWord)}this.match(\"=\")?this.reinterpretExpressionAsPattern(e):(this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1),n=this.nextToken();var y=n.value,_=this.isolateCoverGrammar(this.parseAssignmentExpression);e=this.finalize(this.startNode(t),new a.AssignmentExpression(y,e,_)),this.context.firstCoverInitializedNameError=null}}return e},e.prototype.parseExpression=function(){var e=this.lookahead,t=this.isolateCoverGrammar(this.parseAssignmentExpression);if(this.match(\",\")){var n=[];for(n.push(t);2!==this.lookahead.type&&this.match(\",\");)this.nextToken(),n.push(this.isolateCoverGrammar(this.parseAssignmentExpression));t=this.finalize(this.startNode(e),new a.SequenceExpression(n))}return t},e.prototype.parseStatementListItem=function(){var e;if(this.context.isAssignmentTarget=!0,this.context.isBindingElement=!0,4===this.lookahead.type)switch(this.lookahead.value){case\"export\":this.context.isModule||this.tolerateUnexpectedToken(this.lookahead,o.Messages.IllegalExportDeclaration),e=this.parseExportDeclaration();break;case\"import\":this.context.isModule||this.tolerateUnexpectedToken(this.lookahead,o.Messages.IllegalImportDeclaration),e=this.parseImportDeclaration();break;case\"const\":e=this.parseLexicalDeclaration({inFor:!1});break;case\"function\":e=this.parseFunctionDeclaration();break;case\"class\":e=this.parseClassDeclaration();break;case\"let\":e=this.isLexicalDeclaration()?this.parseLexicalDeclaration({inFor:!1}):this.parseStatement();break;default:e=this.parseStatement()}else e=this.parseStatement();return e},e.prototype.parseBlock=function(){var e=this.createNode();this.expect(\"{\");for(var t=[];;){if(this.match(\"}\"))break;t.push(this.parseStatementListItem())}return this.expect(\"}\"),this.finalize(e,new a.BlockStatement(t))},e.prototype.parseLexicalBinding=function(e,t){var n=this.createNode(),r=[],i=this.parsePattern(r,e);this.context.strict&&i.type===u.Syntax.Identifier&&this.scanner.isRestrictedWord(i.name)&&this.tolerateError(o.Messages.StrictVarName);var s=null;return\"const\"===e?this.matchKeyword(\"in\")||this.matchContextualKeyword(\"of\")||(this.match(\"=\")?(this.nextToken(),s=this.isolateCoverGrammar(this.parseAssignmentExpression)):this.throwError(o.Messages.DeclarationMissingInitializer,\"const\")):(!t.inFor&&i.type!==u.Syntax.Identifier||this.match(\"=\"))&&(this.expect(\"=\"),s=this.isolateCoverGrammar(this.parseAssignmentExpression)),this.finalize(n,new a.VariableDeclarator(i,s))},e.prototype.parseBindingList=function(e,t){for(var n=[this.parseLexicalBinding(e,t)];this.match(\",\");)this.nextToken(),n.push(this.parseLexicalBinding(e,t));return n},e.prototype.isLexicalDeclaration=function(){var e=this.scanner.saveState();this.scanner.scanComments();var t=this.scanner.lex();return this.scanner.restoreState(e),3===t.type||7===t.type&&\"[\"===t.value||7===t.type&&\"{\"===t.value||4===t.type&&\"let\"===t.value||4===t.type&&\"yield\"===t.value},e.prototype.parseLexicalDeclaration=function(e){var t=this.createNode(),n=this.nextToken().value;r.assert(\"let\"===n||\"const\"===n,\"Lexical declaration must be either let or const\");var i=this.parseBindingList(n,e);return this.consumeSemicolon(),this.finalize(t,new a.VariableDeclaration(i,n))},e.prototype.parseBindingRestElement=function(e,t){var n=this.createNode();this.expect(\"...\");var r=this.parsePattern(e,t);return this.finalize(n,new a.RestElement(r))},e.prototype.parseArrayPattern=function(e,t){var n=this.createNode();this.expect(\"[\");for(var r=[];!this.match(\"]\");)if(this.match(\",\"))this.nextToken(),r.push(null);else{if(this.match(\"...\")){r.push(this.parseBindingRestElement(e,t));break}r.push(this.parsePatternWithDefault(e,t)),this.match(\"]\")||this.expect(\",\")}return this.expect(\"]\"),this.finalize(n,new a.ArrayPattern(r))},e.prototype.parsePropertyPattern=function(e,t){var n,r,i=this.createNode(),o=!1,s=!1;if(3===this.lookahead.type){var u=this.lookahead;n=this.parseVariableIdentifier();var l=this.finalize(i,new a.Identifier(u.value));if(this.match(\"=\")){e.push(u),s=!0,this.nextToken();var c=this.parseAssignmentExpression();r=this.finalize(this.startNode(u),new a.AssignmentPattern(l,c))}else this.match(\":\")?(this.expect(\":\"),r=this.parsePatternWithDefault(e,t)):(e.push(u),s=!0,r=l)}else o=this.match(\"[\"),n=this.parseObjectPropertyKey(),this.expect(\":\"),r=this.parsePatternWithDefault(e,t);return this.finalize(i,new a.Property(\"init\",n,o,r,!1,s))},e.prototype.parseObjectPattern=function(e,t){var n=this.createNode(),r=[];for(this.expect(\"{\");!this.match(\"}\");)r.push(this.parsePropertyPattern(e,t)),this.match(\"}\")||this.expect(\",\");return this.expect(\"}\"),this.finalize(n,new a.ObjectPattern(r))},e.prototype.parsePattern=function(e,t){var n;return this.match(\"[\")?n=this.parseArrayPattern(e,t):this.match(\"{\")?n=this.parseObjectPattern(e,t):(!this.matchKeyword(\"let\")||\"const\"!==t&&\"let\"!==t||this.tolerateUnexpectedToken(this.lookahead,o.Messages.LetInLexicalBinding),e.push(this.lookahead),n=this.parseVariableIdentifier(t)),n},e.prototype.parsePatternWithDefault=function(e,t){var n=this.lookahead,r=this.parsePattern(e,t);if(this.match(\"=\")){this.nextToken();var i=this.context.allowYield;this.context.allowYield=!0;var o=this.isolateCoverGrammar(this.parseAssignmentExpression);this.context.allowYield=i,r=this.finalize(this.startNode(n),new a.AssignmentPattern(r,o))}return r},e.prototype.parseVariableIdentifier=function(e){var t=this.createNode(),n=this.nextToken();return 4===n.type&&\"yield\"===n.value?this.context.strict?this.tolerateUnexpectedToken(n,o.Messages.StrictReservedWord):this.context.allowYield||this.throwUnexpectedToken(n):3!==n.type?this.context.strict&&4===n.type&&this.scanner.isStrictModeReservedWord(n.value)?this.tolerateUnexpectedToken(n,o.Messages.StrictReservedWord):(this.context.strict||\"let\"!==n.value||\"var\"!==e)&&this.throwUnexpectedToken(n):(this.context.isModule||this.context.await)&&3===n.type&&\"await\"===n.value&&this.tolerateUnexpectedToken(n),this.finalize(t,new a.Identifier(n.value))},e.prototype.parseVariableDeclaration=function(e){var t=this.createNode(),n=[],r=this.parsePattern(n,\"var\");this.context.strict&&r.type===u.Syntax.Identifier&&this.scanner.isRestrictedWord(r.name)&&this.tolerateError(o.Messages.StrictVarName);var i=null;return this.match(\"=\")?(this.nextToken(),i=this.isolateCoverGrammar(this.parseAssignmentExpression)):r.type===u.Syntax.Identifier||e.inFor||this.expect(\"=\"),this.finalize(t,new a.VariableDeclarator(r,i))},e.prototype.parseVariableDeclarationList=function(e){var t={inFor:e.inFor},n=[];for(n.push(this.parseVariableDeclaration(t));this.match(\",\");)this.nextToken(),n.push(this.parseVariableDeclaration(t));return n},e.prototype.parseVariableStatement=function(){var e=this.createNode();this.expectKeyword(\"var\");var t=this.parseVariableDeclarationList({inFor:!1});return this.consumeSemicolon(),this.finalize(e,new a.VariableDeclaration(t,\"var\"))},e.prototype.parseEmptyStatement=function(){var e=this.createNode();return this.expect(\";\"),this.finalize(e,new a.EmptyStatement)},e.prototype.parseExpressionStatement=function(){var e=this.createNode(),t=this.parseExpression();return this.consumeSemicolon(),this.finalize(e,new a.ExpressionStatement(t))},e.prototype.parseIfClause=function(){return this.context.strict&&this.matchKeyword(\"function\")&&this.tolerateError(o.Messages.StrictFunction),this.parseStatement()},e.prototype.parseIfStatement=function(){var e,t=this.createNode(),n=null;this.expectKeyword(\"if\"),this.expect(\"(\");var r=this.parseExpression();return!this.match(\")\")&&this.config.tolerant?(this.tolerateUnexpectedToken(this.nextToken()),e=this.finalize(this.createNode(),new a.EmptyStatement)):(this.expect(\")\"),e=this.parseIfClause(),this.matchKeyword(\"else\")&&(this.nextToken(),n=this.parseIfClause())),this.finalize(t,new a.IfStatement(r,e,n))},e.prototype.parseDoWhileStatement=function(){var e=this.createNode();this.expectKeyword(\"do\");var t=this.context.inIteration;this.context.inIteration=!0;var n=this.parseStatement();this.context.inIteration=t,this.expectKeyword(\"while\"),this.expect(\"(\");var r=this.parseExpression();return!this.match(\")\")&&this.config.tolerant?this.tolerateUnexpectedToken(this.nextToken()):(this.expect(\")\"),this.match(\";\")&&this.nextToken()),this.finalize(e,new a.DoWhileStatement(n,r))},e.prototype.parseWhileStatement=function(){var e,t=this.createNode();this.expectKeyword(\"while\"),this.expect(\"(\");var n=this.parseExpression();if(!this.match(\")\")&&this.config.tolerant)this.tolerateUnexpectedToken(this.nextToken()),e=this.finalize(this.createNode(),new a.EmptyStatement);else{this.expect(\")\");var r=this.context.inIteration;this.context.inIteration=!0,e=this.parseStatement(),this.context.inIteration=r}return this.finalize(t,new a.WhileStatement(n,e))},e.prototype.parseForStatement=function(){var e,t,n=null,r=null,i=null,s=!0,l=this.createNode();if(this.expectKeyword(\"for\"),this.expect(\"(\"),this.match(\";\"))this.nextToken();else if(this.matchKeyword(\"var\")){n=this.createNode(),this.nextToken();var c=this.context.allowIn;this.context.allowIn=!1;var p=this.parseVariableDeclarationList({inFor:!0});if(this.context.allowIn=c,1===p.length&&this.matchKeyword(\"in\")){var f=p[0];f.init&&(f.id.type===u.Syntax.ArrayPattern||f.id.type===u.Syntax.ObjectPattern||this.context.strict)&&this.tolerateError(o.Messages.ForInOfLoopInitializer,\"for-in\"),n=this.finalize(n,new a.VariableDeclaration(p,\"var\")),this.nextToken(),e=n,t=this.parseExpression(),n=null}else 1===p.length&&null===p[0].init&&this.matchContextualKeyword(\"of\")?(n=this.finalize(n,new a.VariableDeclaration(p,\"var\")),this.nextToken(),e=n,t=this.parseAssignmentExpression(),n=null,s=!1):(n=this.finalize(n,new a.VariableDeclaration(p,\"var\")),this.expect(\";\"))}else if(this.matchKeyword(\"const\")||this.matchKeyword(\"let\")){n=this.createNode();var h=this.nextToken().value;if(this.context.strict||\"in\"!==this.lookahead.value){var c=this.context.allowIn;this.context.allowIn=!1;var p=this.parseBindingList(h,{inFor:!0});this.context.allowIn=c,1===p.length&&null===p[0].init&&this.matchKeyword(\"in\")?(n=this.finalize(n,new a.VariableDeclaration(p,h)),this.nextToken(),e=n,t=this.parseExpression(),n=null):1===p.length&&null===p[0].init&&this.matchContextualKeyword(\"of\")?(n=this.finalize(n,new a.VariableDeclaration(p,h)),this.nextToken(),e=n,t=this.parseAssignmentExpression(),n=null,s=!1):(this.consumeSemicolon(),n=this.finalize(n,new a.VariableDeclaration(p,h)))}else n=this.finalize(n,new a.Identifier(h)),this.nextToken(),e=n,t=this.parseExpression(),n=null}else{var d=this.lookahead,c=this.context.allowIn;if(this.context.allowIn=!1,n=this.inheritCoverGrammar(this.parseAssignmentExpression),this.context.allowIn=c,this.matchKeyword(\"in\"))this.context.isAssignmentTarget&&n.type!==u.Syntax.AssignmentExpression||this.tolerateError(o.Messages.InvalidLHSInForIn),this.nextToken(),this.reinterpretExpressionAsPattern(n),e=n,t=this.parseExpression(),n=null;else if(this.matchContextualKeyword(\"of\"))this.context.isAssignmentTarget&&n.type!==u.Syntax.AssignmentExpression||this.tolerateError(o.Messages.InvalidLHSInForLoop),this.nextToken(),this.reinterpretExpressionAsPattern(n),e=n,t=this.parseAssignmentExpression(),n=null,s=!1;else{if(this.match(\",\")){for(var m=[n];this.match(\",\");)this.nextToken(),m.push(this.isolateCoverGrammar(this.parseAssignmentExpression));n=this.finalize(this.startNode(d),new a.SequenceExpression(m))}this.expect(\";\")}}void 0===e&&(this.match(\";\")||(r=this.parseExpression()),this.expect(\";\"),this.match(\")\")||(i=this.parseExpression()));var v;if(!this.match(\")\")&&this.config.tolerant)this.tolerateUnexpectedToken(this.nextToken()),v=this.finalize(this.createNode(),new a.EmptyStatement);else{this.expect(\")\");var g=this.context.inIteration;this.context.inIteration=!0,v=this.isolateCoverGrammar(this.parseStatement),this.context.inIteration=g}return void 0===e?this.finalize(l,new a.ForStatement(n,r,i,v)):s?this.finalize(l,new a.ForInStatement(e,t,v)):this.finalize(l,new a.ForOfStatement(e,t,v))},e.prototype.parseContinueStatement=function(){var e=this.createNode();this.expectKeyword(\"continue\");var t=null;if(3===this.lookahead.type&&!this.hasLineTerminator){var n=this.parseVariableIdentifier();t=n;var r=\"$\"+n.name;Object.prototype.hasOwnProperty.call(this.context.labelSet,r)||this.throwError(o.Messages.UnknownLabel,n.name)}return this.consumeSemicolon(),null!==t||this.context.inIteration||this.throwError(o.Messages.IllegalContinue),this.finalize(e,new a.ContinueStatement(t))},e.prototype.parseBreakStatement=function(){var e=this.createNode();this.expectKeyword(\"break\");var t=null;if(3===this.lookahead.type&&!this.hasLineTerminator){var n=this.parseVariableIdentifier(),r=\"$\"+n.name;Object.prototype.hasOwnProperty.call(this.context.labelSet,r)||this.throwError(o.Messages.UnknownLabel,n.name),t=n}return this.consumeSemicolon(),null!==t||this.context.inIteration||this.context.inSwitch||this.throwError(o.Messages.IllegalBreak),this.finalize(e,new a.BreakStatement(t))},e.prototype.parseReturnStatement=function(){this.context.inFunctionBody||this.tolerateError(o.Messages.IllegalReturn);var e=this.createNode();this.expectKeyword(\"return\");var t=!this.match(\";\")&&!this.match(\"}\")&&!this.hasLineTerminator&&2!==this.lookahead.type,n=t?this.parseExpression():null;return this.consumeSemicolon(),this.finalize(e,new a.ReturnStatement(n))},e.prototype.parseWithStatement=function(){this.context.strict&&this.tolerateError(o.Messages.StrictModeWith);var e,t=this.createNode();this.expectKeyword(\"with\"),this.expect(\"(\");var n=this.parseExpression();return!this.match(\")\")&&this.config.tolerant?(this.tolerateUnexpectedToken(this.nextToken()),e=this.finalize(this.createNode(),new a.EmptyStatement)):(this.expect(\")\"),e=this.parseStatement()),this.finalize(t,new a.WithStatement(n,e))},e.prototype.parseSwitchCase=function(){var e,t=this.createNode();this.matchKeyword(\"default\")?(this.nextToken(),e=null):(this.expectKeyword(\"case\"),e=this.parseExpression()),this.expect(\":\");for(var n=[];;){if(this.match(\"}\")||this.matchKeyword(\"default\")||this.matchKeyword(\"case\"))break;n.push(this.parseStatementListItem())}return this.finalize(t,new a.SwitchCase(e,n))},e.prototype.parseSwitchStatement=function(){var e=this.createNode();this.expectKeyword(\"switch\"),this.expect(\"(\");var t=this.parseExpression();this.expect(\")\");var n=this.context.inSwitch;this.context.inSwitch=!0;var r=[],i=!1;for(this.expect(\"{\");;){if(this.match(\"}\"))break;var s=this.parseSwitchCase();null===s.test&&(i&&this.throwError(o.Messages.MultipleDefaultsInSwitch),i=!0),r.push(s)}return this.expect(\"}\"),this.context.inSwitch=n,this.finalize(e,new a.SwitchStatement(t,r))},e.prototype.parseLabelledStatement=function(){var e,t=this.createNode(),n=this.parseExpression();if(n.type===u.Syntax.Identifier&&this.match(\":\")){this.nextToken();var r=n,i=\"$\"+r.name;Object.prototype.hasOwnProperty.call(this.context.labelSet,i)&&this.throwError(o.Messages.Redeclaration,\"Label\",r.name),this.context.labelSet[i]=!0;var s=void 0;if(this.matchKeyword(\"class\"))this.tolerateUnexpectedToken(this.lookahead),s=this.parseClassDeclaration();else if(this.matchKeyword(\"function\")){var l=this.lookahead,c=this.parseFunctionDeclaration();this.context.strict?this.tolerateUnexpectedToken(l,o.Messages.StrictFunction):c.generator&&this.tolerateUnexpectedToken(l,o.Messages.GeneratorInLegacyContext),s=c}else s=this.parseStatement();delete this.context.labelSet[i],e=new a.LabeledStatement(r,s)}else this.consumeSemicolon(),e=new a.ExpressionStatement(n);return this.finalize(t,e)},e.prototype.parseThrowStatement=function(){var e=this.createNode();this.expectKeyword(\"throw\"),this.hasLineTerminator&&this.throwError(o.Messages.NewlineAfterThrow);var t=this.parseExpression();return this.consumeSemicolon(),this.finalize(e,new a.ThrowStatement(t))},e.prototype.parseCatchClause=function(){var e=this.createNode();this.expectKeyword(\"catch\"),this.expect(\"(\"),this.match(\")\")&&this.throwUnexpectedToken(this.lookahead);for(var t=[],n=this.parsePattern(t),r={},i=0;i<t.length;i++){var s=\"$\"+t[i].value;Object.prototype.hasOwnProperty.call(r,s)&&this.tolerateError(o.Messages.DuplicateBinding,t[i].value),r[s]=!0}this.context.strict&&n.type===u.Syntax.Identifier&&this.scanner.isRestrictedWord(n.name)&&this.tolerateError(o.Messages.StrictCatchVariable),this.expect(\")\");var l=this.parseBlock();return this.finalize(e,new a.CatchClause(n,l))},e.prototype.parseFinallyClause=function(){return this.expectKeyword(\"finally\"),this.parseBlock()},e.prototype.parseTryStatement=function(){var e=this.createNode();this.expectKeyword(\"try\");var t=this.parseBlock(),n=this.matchKeyword(\"catch\")?this.parseCatchClause():null,r=this.matchKeyword(\"finally\")?this.parseFinallyClause():null;return n||r||this.throwError(o.Messages.NoCatchOrFinally),this.finalize(e,new a.TryStatement(t,n,r))},e.prototype.parseDebuggerStatement=function(){var e=this.createNode();return this.expectKeyword(\"debugger\"),this.consumeSemicolon(),this.finalize(e,new a.DebuggerStatement)},e.prototype.parseStatement=function(){var e;switch(this.lookahead.type){case 1:case 5:case 6:case 8:case 10:case 9:e=this.parseExpressionStatement();break;case 7:var t=this.lookahead.value;e=\"{\"===t?this.parseBlock():\"(\"===t?this.parseExpressionStatement():\";\"===t?this.parseEmptyStatement():this.parseExpressionStatement();break;case 3:e=this.matchAsyncFunction()?this.parseFunctionDeclaration():this.parseLabelledStatement();break;case 4:switch(this.lookahead.value){case\"break\":e=this.parseBreakStatement();break;case\"continue\":e=this.parseContinueStatement();break;case\"debugger\":e=this.parseDebuggerStatement();break;case\"do\":e=this.parseDoWhileStatement();break;case\"for\":e=this.parseForStatement();break;case\"function\":e=this.parseFunctionDeclaration();break;case\"if\":e=this.parseIfStatement();break;case\"return\":e=this.parseReturnStatement();break;case\"switch\":e=this.parseSwitchStatement();break;case\"throw\":e=this.parseThrowStatement();break;case\"try\":e=this.parseTryStatement();break;case\"var\":e=this.parseVariableStatement();break;case\"while\":e=this.parseWhileStatement();break;case\"with\":e=this.parseWithStatement();break;default:e=this.parseExpressionStatement()}break;default:e=this.throwUnexpectedToken(this.lookahead)}return e},e.prototype.parseFunctionSourceElements=function(){var e=this.createNode();this.expect(\"{\");var t=this.parseDirectivePrologues(),n=this.context.labelSet,r=this.context.inIteration,i=this.context.inSwitch,o=this.context.inFunctionBody;for(this.context.labelSet={},this.context.inIteration=!1,this.context.inSwitch=!1,this.context.inFunctionBody=!0;2!==this.lookahead.type&&!this.match(\"}\");)t.push(this.parseStatementListItem());return this.expect(\"}\"),this.context.labelSet=n,this.context.inIteration=r,this.context.inSwitch=i,this.context.inFunctionBody=o,this.finalize(e,new a.BlockStatement(t))},e.prototype.validateParam=function(e,t,n){var r=\"$\"+n;this.context.strict?(this.scanner.isRestrictedWord(n)&&(e.stricted=t,e.message=o.Messages.StrictParamName),Object.prototype.hasOwnProperty.call(e.paramSet,r)&&(e.stricted=t,e.message=o.Messages.StrictParamDupe)):e.firstRestricted||(this.scanner.isRestrictedWord(n)?(e.firstRestricted=t,e.message=o.Messages.StrictParamName):this.scanner.isStrictModeReservedWord(n)?(e.firstRestricted=t,e.message=o.Messages.StrictReservedWord):Object.prototype.hasOwnProperty.call(e.paramSet,r)&&(e.stricted=t,e.message=o.Messages.StrictParamDupe)),\"function\"==typeof Object.defineProperty?Object.defineProperty(e.paramSet,r,{value:!0,enumerable:!0,writable:!0,configurable:!0}):e.paramSet[r]=!0},e.prototype.parseRestElement=function(e){var t=this.createNode();this.expect(\"...\");var n=this.parsePattern(e);return this.match(\"=\")&&this.throwError(o.Messages.DefaultRestParameter),this.match(\")\")||this.throwError(o.Messages.ParameterAfterRestParameter),this.finalize(t,new a.RestElement(n))},e.prototype.parseFormalParameter=function(e){for(var t=[],n=this.match(\"...\")?this.parseRestElement(t):this.parsePatternWithDefault(t),r=0;r<t.length;r++)this.validateParam(e,t[r],t[r].value);e.simple=e.simple&&n instanceof a.Identifier,e.params.push(n)},e.prototype.parseFormalParameters=function(e){var t;if(t={simple:!0,params:[],firstRestricted:e},this.expect(\"(\"),!this.match(\")\"))for(t.paramSet={};2!==this.lookahead.type&&(this.parseFormalParameter(t),!this.match(\")\"))&&(this.expect(\",\"),!this.match(\")\")););return this.expect(\")\"),{simple:t.simple,params:t.params,stricted:t.stricted,firstRestricted:t.firstRestricted,message:t.message}},e.prototype.matchAsyncFunction=function(){var e=this.matchContextualKeyword(\"async\");if(e){var t=this.scanner.saveState();this.scanner.scanComments();var n=this.scanner.lex();this.scanner.restoreState(t),e=t.lineNumber===n.lineNumber&&4===n.type&&\"function\"===n.value}return e},e.prototype.parseFunctionDeclaration=function(e){var t=this.createNode(),n=this.matchContextualKeyword(\"async\");n&&this.nextToken(),this.expectKeyword(\"function\");var r=!n&&this.match(\"*\");r&&this.nextToken();var i,s=null,u=null;if(!e||!this.match(\"(\")){var l=this.lookahead;s=this.parseVariableIdentifier(),this.context.strict?this.scanner.isRestrictedWord(l.value)&&this.tolerateUnexpectedToken(l,o.Messages.StrictFunctionName):this.scanner.isRestrictedWord(l.value)?(u=l,i=o.Messages.StrictFunctionName):this.scanner.isStrictModeReservedWord(l.value)&&(u=l,i=o.Messages.StrictReservedWord)}var c=this.context.await,p=this.context.allowYield;this.context.await=n,this.context.allowYield=!r;var f=this.parseFormalParameters(u),h=f.params,d=f.stricted;u=f.firstRestricted,f.message&&(i=f.message);var m=this.context.strict,v=this.context.allowStrictDirective;this.context.allowStrictDirective=f.simple;var g=this.parseFunctionSourceElements();return this.context.strict&&u&&this.throwUnexpectedToken(u,i),this.context.strict&&d&&this.tolerateUnexpectedToken(d,i),this.context.strict=m,this.context.allowStrictDirective=v,this.context.await=c,this.context.allowYield=p,n?this.finalize(t,new a.AsyncFunctionDeclaration(s,h,g)):this.finalize(t,new a.FunctionDeclaration(s,h,g,r))},e.prototype.parseFunctionExpression=function(){var e=this.createNode(),t=this.matchContextualKeyword(\"async\");t&&this.nextToken(),this.expectKeyword(\"function\");var n=!t&&this.match(\"*\");n&&this.nextToken();var r,i,s=null,u=this.context.await,l=this.context.allowYield;if(this.context.await=t,this.context.allowYield=!n,!this.match(\"(\")){var c=this.lookahead;s=this.context.strict||n||!this.matchKeyword(\"yield\")?this.parseVariableIdentifier():this.parseIdentifierName(),this.context.strict?this.scanner.isRestrictedWord(c.value)&&this.tolerateUnexpectedToken(c,o.Messages.StrictFunctionName):this.scanner.isRestrictedWord(c.value)?(i=c,r=o.Messages.StrictFunctionName):this.scanner.isStrictModeReservedWord(c.value)&&(i=c,r=o.Messages.StrictReservedWord)}var p=this.parseFormalParameters(i),f=p.params,h=p.stricted;i=p.firstRestricted,p.message&&(r=p.message);var d=this.context.strict,m=this.context.allowStrictDirective;this.context.allowStrictDirective=p.simple;var v=this.parseFunctionSourceElements();return this.context.strict&&i&&this.throwUnexpectedToken(i,r),this.context.strict&&h&&this.tolerateUnexpectedToken(h,r),this.context.strict=d,this.context.allowStrictDirective=m,this.context.await=u,this.context.allowYield=l,t?this.finalize(e,new a.AsyncFunctionExpression(s,f,v)):this.finalize(e,new a.FunctionExpression(s,f,v,n))},e.prototype.parseDirective=function(){var e=this.lookahead,t=this.createNode(),n=this.parseExpression(),r=n.type===u.Syntax.Literal?this.getTokenRaw(e).slice(1,-1):null;return this.consumeSemicolon(),this.finalize(t,r?new a.Directive(n,r):new a.ExpressionStatement(n))},e.prototype.parseDirectivePrologues=function(){for(var e=null,t=[];;){var n=this.lookahead;if(8!==n.type)break;var r=this.parseDirective();t.push(r);var i=r.directive;if(\"string\"!=typeof i)break;\"use strict\"===i?(this.context.strict=!0,e&&this.tolerateUnexpectedToken(e,o.Messages.StrictOctalLiteral),this.context.allowStrictDirective||this.tolerateUnexpectedToken(n,o.Messages.IllegalLanguageModeDirective)):!e&&n.octal&&(e=n)}return t},e.prototype.qualifiedPropertyName=function(e){switch(e.type){case 3:case 8:case 1:case 5:case 6:case 4:return!0;case 7:return\"[\"===e.value}return!1},e.prototype.parseGetterMethod=function(){var e=this.createNode(),t=this.context.allowYield;this.context.allowYield=!1;var n=this.parseFormalParameters();n.params.length>0&&this.tolerateError(o.Messages.BadGetterArity);var r=this.parsePropertyMethod(n);return this.context.allowYield=t,this.finalize(e,new a.FunctionExpression(null,n.params,r,!1))},e.prototype.parseSetterMethod=function(){var e=this.createNode(),t=this.context.allowYield;this.context.allowYield=!1;var n=this.parseFormalParameters();1!==n.params.length?this.tolerateError(o.Messages.BadSetterArity):n.params[0]instanceof a.RestElement&&this.tolerateError(o.Messages.BadSetterRestParameter);var r=this.parsePropertyMethod(n);return this.context.allowYield=t,this.finalize(e,new a.FunctionExpression(null,n.params,r,!1))},e.prototype.parseGeneratorMethod=function(){var e=this.createNode(),t=this.context.allowYield;this.context.allowYield=!0;var n=this.parseFormalParameters();this.context.allowYield=!1;var r=this.parsePropertyMethod(n);return this.context.allowYield=t,this.finalize(e,new a.FunctionExpression(null,n.params,r,!0))},e.prototype.isStartOfExpression=function(){var e=!0,t=this.lookahead.value;switch(this.lookahead.type){case 7:e=\"[\"===t||\"(\"===t||\"{\"===t||\"+\"===t||\"-\"===t||\"!\"===t||\"~\"===t||\"++\"===t||\"--\"===t||\"/\"===t||\"/=\"===t;break;case 4:e=\"class\"===t||\"delete\"===t||\"function\"===t||\"let\"===t||\"new\"===t||\"super\"===t||\"this\"===t||\"typeof\"===t||\"void\"===t||\"yield\"===t}return e},e.prototype.parseYieldExpression=function(){var e=this.createNode();this.expectKeyword(\"yield\");var t=null,n=!1;if(!this.hasLineTerminator){var r=this.context.allowYield;this.context.allowYield=!1,n=this.match(\"*\"),n?(this.nextToken(),t=this.parseAssignmentExpression()):this.isStartOfExpression()&&(t=this.parseAssignmentExpression()),this.context.allowYield=r}return this.finalize(e,new a.YieldExpression(t,n))},e.prototype.parseClassElement=function(e){var t=this.lookahead,n=this.createNode(),r=\"\",i=null,s=null,u=!1,l=!1,c=!1,p=!1;if(this.match(\"*\"))this.nextToken();else{u=this.match(\"[\"),i=this.parseObjectPropertyKey();if(\"static\"===i.name&&(this.qualifiedPropertyName(this.lookahead)||this.match(\"*\"))&&(t=this.lookahead,c=!0,u=this.match(\"[\"),this.match(\"*\")?this.nextToken():i=this.parseObjectPropertyKey()),3===t.type&&!this.hasLineTerminator&&\"async\"===t.value){var f=this.lookahead.value;\":\"!==f&&\"(\"!==f&&\"*\"!==f&&(p=!0,t=this.lookahead,i=this.parseObjectPropertyKey(),3===t.type&&(\"get\"===t.value||\"set\"===t.value?this.tolerateUnexpectedToken(t):\"constructor\"===t.value&&this.tolerateUnexpectedToken(t,o.Messages.ConstructorIsAsync)))}}var h=this.qualifiedPropertyName(this.lookahead);return 3===t.type?\"get\"===t.value&&h?(r=\"get\",u=this.match(\"[\"),i=this.parseObjectPropertyKey(),this.context.allowYield=!1,s=this.parseGetterMethod()):\"set\"===t.value&&h&&(r=\"set\",u=this.match(\"[\"),i=this.parseObjectPropertyKey(),s=this.parseSetterMethod()):7===t.type&&\"*\"===t.value&&h&&(r=\"init\",u=this.match(\"[\"),i=this.parseObjectPropertyKey(),s=this.parseGeneratorMethod(),l=!0),!r&&i&&this.match(\"(\")&&(r=\"init\",s=p?this.parsePropertyMethodAsyncFunction():this.parsePropertyMethodFunction(),l=!0),r||this.throwUnexpectedToken(this.lookahead),\"init\"===r&&(r=\"method\"),u||(c&&this.isPropertyKey(i,\"prototype\")&&this.throwUnexpectedToken(t,o.Messages.StaticPrototype),!c&&this.isPropertyKey(i,\"constructor\")&&((\"method\"!==r||!l||s&&s.generator)&&this.throwUnexpectedToken(t,o.Messages.ConstructorSpecialMethod),e.value?this.throwUnexpectedToken(t,o.Messages.DuplicateConstructor):e.value=!0,r=\"constructor\")),this.finalize(n,new a.MethodDefinition(i,u,s,r,c))},e.prototype.parseClassElementList=function(){var e=[],t={value:!1};for(this.expect(\"{\");!this.match(\"}\");)this.match(\";\")?this.nextToken():e.push(this.parseClassElement(t));return this.expect(\"}\"),e},e.prototype.parseClassBody=function(){var e=this.createNode(),t=this.parseClassElementList();return this.finalize(e,new a.ClassBody(t))},e.prototype.parseClassDeclaration=function(e){var t=this.createNode(),n=this.context.strict;this.context.strict=!0,this.expectKeyword(\"class\");var r=e&&3!==this.lookahead.type?null:this.parseVariableIdentifier(),i=null;this.matchKeyword(\"extends\")&&(this.nextToken(),i=this.isolateCoverGrammar(this.parseLeftHandSideExpressionAllowCall));var o=this.parseClassBody();return this.context.strict=n,this.finalize(t,new a.ClassDeclaration(r,i,o))},e.prototype.parseClassExpression=function(){var e=this.createNode(),t=this.context.strict;this.context.strict=!0,this.expectKeyword(\"class\");var n=3===this.lookahead.type?this.parseVariableIdentifier():null,r=null;this.matchKeyword(\"extends\")&&(this.nextToken(),r=this.isolateCoverGrammar(this.parseLeftHandSideExpressionAllowCall));var i=this.parseClassBody();return this.context.strict=t,this.finalize(e,new a.ClassExpression(n,r,i))},e.prototype.parseModule=function(){this.context.strict=!0,this.context.isModule=!0;for(var e=this.createNode(),t=this.parseDirectivePrologues();2!==this.lookahead.type;)t.push(this.parseStatementListItem());return this.finalize(e,new a.Module(t))},e.prototype.parseScript=function(){for(var e=this.createNode(),t=this.parseDirectivePrologues();2!==this.lookahead.type;)t.push(this.parseStatementListItem());return this.finalize(e,new a.Script(t))},e.prototype.parseModuleSpecifier=function(){var e=this.createNode();8!==this.lookahead.type&&this.throwError(o.Messages.InvalidModuleSpecifier);var t=this.nextToken(),n=this.getTokenRaw(t);return this.finalize(e,new a.Literal(t.value,n))},e.prototype.parseImportSpecifier=function(){var e,t,n=this.createNode();return 3===this.lookahead.type?(e=this.parseVariableIdentifier(),t=e,this.matchContextualKeyword(\"as\")&&(this.nextToken(),t=this.parseVariableIdentifier())):(e=this.parseIdentifierName(),t=e,this.matchContextualKeyword(\"as\")?(this.nextToken(),t=this.parseVariableIdentifier()):this.throwUnexpectedToken(this.nextToken())),this.finalize(n,new a.ImportSpecifier(t,e))},e.prototype.parseNamedImports=function(){this.expect(\"{\");for(var e=[];!this.match(\"}\");)e.push(this.parseImportSpecifier()),this.match(\"}\")||this.expect(\",\");return this.expect(\"}\"),e},e.prototype.parseImportDefaultSpecifier=function(){var e=this.createNode(),t=this.parseIdentifierName();return this.finalize(e,new a.ImportDefaultSpecifier(t))},e.prototype.parseImportNamespaceSpecifier=function(){var e=this.createNode();this.expect(\"*\"),this.matchContextualKeyword(\"as\")||this.throwError(o.Messages.NoAsAfterImportNamespace),this.nextToken();var t=this.parseIdentifierName();return this.finalize(e,new a.ImportNamespaceSpecifier(t))},e.prototype.parseImportDeclaration=function(){this.context.inFunctionBody&&this.throwError(o.Messages.IllegalImportDeclaration);var e=this.createNode();this.expectKeyword(\"import\");var t,n=[];if(8===this.lookahead.type)t=this.parseModuleSpecifier();else{if(this.match(\"{\")?n=n.concat(this.parseNamedImports()):this.match(\"*\")?n.push(this.parseImportNamespaceSpecifier()):this.isIdentifierName(this.lookahead)&&!this.matchKeyword(\"default\")?(n.push(this.parseImportDefaultSpecifier()),this.match(\",\")&&(this.nextToken(),this.match(\"*\")?n.push(this.parseImportNamespaceSpecifier()):this.match(\"{\")?n=n.concat(this.parseNamedImports()):this.throwUnexpectedToken(this.lookahead))):this.throwUnexpectedToken(this.nextToken()),!this.matchContextualKeyword(\"from\")){var r=this.lookahead.value?o.Messages.UnexpectedToken:o.Messages.MissingFromClause;this.throwError(r,this.lookahead.value)}this.nextToken(),t=this.parseModuleSpecifier()}return this.consumeSemicolon(),this.finalize(e,new a.ImportDeclaration(n,t))},e.prototype.parseExportSpecifier=function(){var e=this.createNode(),t=this.parseIdentifierName(),n=t;return this.matchContextualKeyword(\"as\")&&(this.nextToken(),n=this.parseIdentifierName()),this.finalize(e,new a.ExportSpecifier(t,n))},e.prototype.parseExportDeclaration=function(){this.context.inFunctionBody&&this.throwError(o.Messages.IllegalExportDeclaration);var e=this.createNode();this.expectKeyword(\"export\");var t;if(this.matchKeyword(\"default\"))if(this.nextToken(),this.matchKeyword(\"function\")){var n=this.parseFunctionDeclaration(!0);t=this.finalize(e,new a.ExportDefaultDeclaration(n))}else if(this.matchKeyword(\"class\")){var n=this.parseClassDeclaration(!0);t=this.finalize(e,new a.ExportDefaultDeclaration(n))}else if(this.matchContextualKeyword(\"async\")){var n=this.matchAsyncFunction()?this.parseFunctionDeclaration(!0):this.parseAssignmentExpression();t=this.finalize(e,new a.ExportDefaultDeclaration(n))}else{this.matchContextualKeyword(\"from\")&&this.throwError(o.Messages.UnexpectedToken,this.lookahead.value);var n=this.match(\"{\")?this.parseObjectInitializer():this.match(\"[\")?this.parseArrayInitializer():this.parseAssignmentExpression();this.consumeSemicolon(),t=this.finalize(e,new a.ExportDefaultDeclaration(n))}else if(this.match(\"*\")){if(this.nextToken(),!this.matchContextualKeyword(\"from\")){var r=this.lookahead.value?o.Messages.UnexpectedToken:o.Messages.MissingFromClause;this.throwError(r,this.lookahead.value)}this.nextToken();var i=this.parseModuleSpecifier();this.consumeSemicolon(),t=this.finalize(e,new a.ExportAllDeclaration(i))}else if(4===this.lookahead.type){var n=void 0;switch(this.lookahead.value){case\"let\":case\"const\":n=this.parseLexicalDeclaration({inFor:!1});break;case\"var\":case\"class\":case\"function\":n=this.parseStatementListItem();break;default:this.throwUnexpectedToken(this.lookahead)}t=this.finalize(e,new a.ExportNamedDeclaration(n,[],null))}else if(this.matchAsyncFunction()){var n=this.parseFunctionDeclaration();t=this.finalize(e,new a.ExportNamedDeclaration(n,[],null))}else{var s=[],u=null,l=!1;for(this.expect(\"{\");!this.match(\"}\");)l=l||this.matchKeyword(\"default\"),s.push(this.parseExportSpecifier()),this.match(\"}\")||this.expect(\",\");if(this.expect(\"}\"),this.matchContextualKeyword(\"from\"))this.nextToken(),u=this.parseModuleSpecifier(),this.consumeSemicolon();else if(l){var r=this.lookahead.value?o.Messages.UnexpectedToken:o.Messages.MissingFromClause;this.throwError(r,this.lookahead.value)}else this.consumeSemicolon();t=this.finalize(e,new a.ExportNamedDeclaration(null,s,u))}return t},e}();t.Parser=c},function(e,t){\"use strict\";function n(e,t){if(!e)throw new Error(\"ASSERT: \"+t)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.assert=n},function(e,t){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var n=function(){function e(){this.errors=[],this.tolerant=!1}return e.prototype.recordError=function(e){this.errors.push(e)},e.prototype.tolerate=function(e){if(!this.tolerant)throw e;this.recordError(e)},e.prototype.constructError=function(e,t){var n=new Error(e);try{throw n}catch(e){Object.create&&Object.defineProperty&&(n=Object.create(e),Object.defineProperty(n,\"column\",{value:t}))}return n},e.prototype.createError=function(e,t,n,r){var i=\"Line \"+t+\": \"+r,o=this.constructError(i,n);return o.index=e,o.lineNumber=t,o.description=r,o},e.prototype.throwError=function(e,t,n,r){throw this.createError(e,t,n,r)},e.prototype.tolerateError=function(e,t,n,r){var i=this.createError(e,t,n,r);if(!this.tolerant)throw i;this.recordError(i)},e}();t.ErrorHandler=n},function(e,t){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.Messages={BadGetterArity:\"Getter must not have any formal parameters\",BadSetterArity:\"Setter must have exactly one formal parameter\",BadSetterRestParameter:\"Setter function argument must not be a rest parameter\",ConstructorIsAsync:\"Class constructor may not be an async method\",ConstructorSpecialMethod:\"Class constructor may not be an accessor\",DeclarationMissingInitializer:\"Missing initializer in %0 declaration\",DefaultRestParameter:\"Unexpected token =\",DuplicateBinding:\"Duplicate binding %0\",DuplicateConstructor:\"A class may only have one constructor\",DuplicateProtoProperty:\"Duplicate __proto__ fields are not allowed in object literals\",ForInOfLoopInitializer:\"%0 loop variable declaration may not have an initializer\",GeneratorInLegacyContext:\"Generator declarations are not allowed in legacy contexts\",IllegalBreak:\"Illegal break statement\",IllegalContinue:\"Illegal continue statement\",IllegalExportDeclaration:\"Unexpected token\",IllegalImportDeclaration:\"Unexpected token\",IllegalLanguageModeDirective:\"Illegal 'use strict' directive in function with non-simple parameter list\",IllegalReturn:\"Illegal return statement\",InvalidEscapedReservedWord:\"Keyword must not contain escaped characters\",InvalidHexEscapeSequence:\"Invalid hexadecimal escape sequence\",InvalidLHSInAssignment:\"Invalid left-hand side in assignment\",InvalidLHSInForIn:\"Invalid left-hand side in for-in\",InvalidLHSInForLoop:\"Invalid left-hand side in for-loop\",InvalidModuleSpecifier:\"Unexpected token\",InvalidRegExp:\"Invalid regular expression\",LetInLexicalBinding:\"let is disallowed as a lexically bound name\",MissingFromClause:\"Unexpected token\",MultipleDefaultsInSwitch:\"More than one default clause in switch statement\",NewlineAfterThrow:\"Illegal newline after throw\",NoAsAfterImportNamespace:\"Unexpected token\",NoCatchOrFinally:\"Missing catch or finally after try\",ParameterAfterRestParameter:\"Rest parameter must be last formal parameter\",Redeclaration:\"%0 '%1' has already been declared\",StaticPrototype:\"Classes may not have static property named prototype\",StrictCatchVariable:\"Catch variable may not be eval or arguments in strict mode\",StrictDelete:\"Delete of an unqualified identifier in strict mode.\",StrictFunction:\"In strict mode code, functions can only be declared at top level or inside a block\",StrictFunctionName:\"Function name may not be eval or arguments in strict mode\",StrictLHSAssignment:\"Assignment to eval or arguments is not allowed in strict mode\",StrictLHSPostfix:\"Postfix increment/decrement may not have eval or arguments operand in strict mode\",StrictLHSPrefix:\"Prefix increment/decrement may not have eval or arguments operand in strict mode\",StrictModeWith:\"Strict mode code may not include a with statement\",StrictOctalLiteral:\"Octal literals are not allowed in strict mode.\",StrictParamDupe:\"Strict mode function may not have duplicate parameter names\",StrictParamName:\"Parameter name eval or arguments is not allowed in strict mode\",StrictReservedWord:\"Use of future reserved word in strict mode\",StrictVarName:\"Variable name may not be eval or arguments in strict mode\",TemplateOctalLiteral:\"Octal literals are not allowed in template strings.\",UnexpectedEOS:\"Unexpected end of input\",UnexpectedIdentifier:\"Unexpected identifier\",UnexpectedNumber:\"Unexpected number\",UnexpectedReserved:\"Unexpected reserved word\",UnexpectedString:\"Unexpected string\",UnexpectedTemplate:\"Unexpected quasi %0\",UnexpectedToken:\"Unexpected token %0\",UnexpectedTokenIllegal:\"Unexpected token ILLEGAL\",UnknownLabel:\"Undefined label '%0'\",UnterminatedRegExp:\"Invalid regular expression: missing /\"}},function(e,t,n){\"use strict\";function r(e){return\"0123456789abcdef\".indexOf(e.toLowerCase())}function i(e){return\"01234567\".indexOf(e)}Object.defineProperty(t,\"__esModule\",{value:!0});var o=n(9),a=n(4),s=n(11),u=function(){function e(e,t){this.source=e,this.errorHandler=t,this.trackComment=!1,this.length=e.length,this.index=0,this.lineNumber=e.length>0?1:0,this.lineStart=0,this.curlyStack=[]}return e.prototype.saveState=function(){return{index:this.index,lineNumber:this.lineNumber,lineStart:this.lineStart}},e.prototype.restoreState=function(e){this.index=e.index,this.lineNumber=e.lineNumber,this.lineStart=e.lineStart},e.prototype.eof=function(){return this.index>=this.length},e.prototype.throwUnexpectedToken=function(e){return void 0===e&&(e=s.Messages.UnexpectedTokenIllegal),this.errorHandler.throwError(this.index,this.lineNumber,this.index-this.lineStart+1,e)},e.prototype.tolerateUnexpectedToken=function(e){void 0===e&&(e=s.Messages.UnexpectedTokenIllegal),this.errorHandler.tolerateError(this.index,this.lineNumber,this.index-this.lineStart+1,e)},e.prototype.skipSingleLineComment=function(e){var t,n,r=[];for(this.trackComment&&(r=[],t=this.index-e,n={start:{line:this.lineNumber,column:this.index-this.lineStart-e},end:{}});!this.eof();){var i=this.source.charCodeAt(this.index);if(++this.index,a.Character.isLineTerminator(i)){if(this.trackComment){n.end={line:this.lineNumber,column:this.index-this.lineStart-1};var o={multiLine:!1,slice:[t+e,this.index-1],range:[t,this.index-1],loc:n};r.push(o)}return 13===i&&10===this.source.charCodeAt(this.index)&&++this.index,++this.lineNumber,this.lineStart=this.index,r}}if(this.trackComment){n.end={line:this.lineNumber,column:this.index-this.lineStart};var o={multiLine:!1,slice:[t+e,this.index],range:[t,this.index],loc:n};r.push(o)}return r},e.prototype.skipMultiLineComment=function(){var e,t,n=[];for(this.trackComment&&(n=[],e=this.index-2,t={start:{line:this.lineNumber,column:this.index-this.lineStart-2},end:{}});!this.eof();){var r=this.source.charCodeAt(this.index);if(a.Character.isLineTerminator(r))13===r&&10===this.source.charCodeAt(this.index+1)&&++this.index,++this.lineNumber,++this.index,this.lineStart=this.index;else if(42===r){if(47===this.source.charCodeAt(this.index+1)){if(this.index+=2,this.trackComment){t.end={line:this.lineNumber,column:this.index-this.lineStart};var i={multiLine:!0,slice:[e+2,this.index-2],range:[e,this.index],loc:t};n.push(i)}return n}++this.index}else++this.index}if(this.trackComment){t.end={line:this.lineNumber,column:this.index-this.lineStart};var i={multiLine:!0,slice:[e+2,this.index],range:[e,this.index],loc:t};n.push(i)}return this.tolerateUnexpectedToken(),n},e.prototype.scanComments=function(){var e;this.trackComment&&(e=[]);for(var t=0===this.index;!this.eof();){var n=this.source.charCodeAt(this.index);if(a.Character.isWhiteSpace(n))++this.index;else if(a.Character.isLineTerminator(n))++this.index,13===n&&10===this.source.charCodeAt(this.index)&&++this.index,++this.lineNumber,this.lineStart=this.index,t=!0;else if(47===n)if(47===(n=this.source.charCodeAt(this.index+1))){this.index+=2;var r=this.skipSingleLineComment(2);this.trackComment&&(e=e.concat(r)),t=!0}else{if(42!==n)break;this.index+=2;var r=this.skipMultiLineComment();this.trackComment&&(e=e.concat(r))}else if(t&&45===n){if(45!==this.source.charCodeAt(this.index+1)||62!==this.source.charCodeAt(this.index+2))break;this.index+=3;var r=this.skipSingleLineComment(3);this.trackComment&&(e=e.concat(r))}else{if(60!==n)break;if(\"!--\"!==this.source.slice(this.index+1,this.index+4))break;this.index+=4;var r=this.skipSingleLineComment(4);this.trackComment&&(e=e.concat(r))}}return e},e.prototype.isFutureReservedWord=function(e){switch(e){case\"enum\":case\"export\":case\"import\":case\"super\":return!0;default:return!1}},e.prototype.isStrictModeReservedWord=function(e){switch(e){case\"implements\":case\"interface\":case\"package\":case\"private\":case\"protected\":case\"public\":case\"static\":case\"yield\":case\"let\":return!0;default:return!1}},e.prototype.isRestrictedWord=function(e){return\"eval\"===e||\"arguments\"===e},e.prototype.isKeyword=function(e){switch(e.length){case 2:return\"if\"===e||\"in\"===e||\"do\"===e;case 3:return\"var\"===e||\"for\"===e||\"new\"===e||\"try\"===e||\"let\"===e;case 4:return\"this\"===e||\"else\"===e||\"case\"===e||\"void\"===e||\"with\"===e||\"enum\"===e;case 5:return\"while\"===e||\"break\"===e||\"catch\"===e||\"throw\"===e||\"const\"===e||\"yield\"===e||\"class\"===e||\"super\"===e;case 6:return\"return\"===e||\"typeof\"===e||\"delete\"===e||\"switch\"===e||\"export\"===e||\"import\"===e;case 7:return\"default\"===e||\"finally\"===e||\"extends\"===e;case 8:return\"function\"===e||\"continue\"===e||\"debugger\"===e;case 10:return\"instanceof\"===e;default:return!1}},e.prototype.codePointAt=function(e){var t=this.source.charCodeAt(e);if(t>=55296&&t<=56319){var n=this.source.charCodeAt(e+1);if(n>=56320&&n<=57343){t=1024*(t-55296)+n-56320+65536}}return t},e.prototype.scanHexEscape=function(e){for(var t=\"u\"===e?4:2,n=0,i=0;i<t;++i){if(this.eof()||!a.Character.isHexDigit(this.source.charCodeAt(this.index)))return null;n=16*n+r(this.source[this.index++])}return String.fromCharCode(n)},e.prototype.scanUnicodeCodePointEscape=function(){var e=this.source[this.index],t=0;for(\"}\"===e&&this.throwUnexpectedToken();!this.eof()&&(e=this.source[this.index++],a.Character.isHexDigit(e.charCodeAt(0)));)t=16*t+r(e);return(t>1114111||\"}\"!==e)&&this.throwUnexpectedToken(),a.Character.fromCodePoint(t)},e.prototype.getIdentifier=function(){for(var e=this.index++;!this.eof();){var t=this.source.charCodeAt(this.index);if(92===t)return this.index=e,this.getComplexIdentifier();if(t>=55296&&t<57343)return this.index=e,this.getComplexIdentifier();if(!a.Character.isIdentifierPart(t))break;++this.index}return this.source.slice(e,this.index)},e.prototype.getComplexIdentifier=function(){var e=this.codePointAt(this.index),t=a.Character.fromCodePoint(e);this.index+=t.length;var n;for(92===e&&(117!==this.source.charCodeAt(this.index)&&this.throwUnexpectedToken(),++this.index,\"{\"===this.source[this.index]?(++this.index,n=this.scanUnicodeCodePointEscape()):null!==(n=this.scanHexEscape(\"u\"))&&\"\\\\\"!==n&&a.Character.isIdentifierStart(n.charCodeAt(0))||this.throwUnexpectedToken(),t=n);!this.eof()&&(e=this.codePointAt(this.index),a.Character.isIdentifierPart(e));)n=a.Character.fromCodePoint(e),t+=n,this.index+=n.length,92===e&&(t=t.substr(0,t.length-1),117!==this.source.charCodeAt(this.index)&&this.throwUnexpectedToken(),++this.index,\"{\"===this.source[this.index]?(++this.index,n=this.scanUnicodeCodePointEscape()):null!==(n=this.scanHexEscape(\"u\"))&&\"\\\\\"!==n&&a.Character.isIdentifierPart(n.charCodeAt(0))||this.throwUnexpectedToken(),t+=n);return t},e.prototype.octalToDecimal=function(e){var t=\"0\"!==e,n=i(e);return!this.eof()&&a.Character.isOctalDigit(this.source.charCodeAt(this.index))&&(t=!0,n=8*n+i(this.source[this.index++]),\"0123\".indexOf(e)>=0&&!this.eof()&&a.Character.isOctalDigit(this.source.charCodeAt(this.index))&&(n=8*n+i(this.source[this.index++]))),{code:n,octal:t}},e.prototype.scanIdentifier=function(){var e,t=this.index,n=92===this.source.charCodeAt(t)?this.getComplexIdentifier():this.getIdentifier();if(3!==(e=1===n.length?3:this.isKeyword(n)?4:\"null\"===n?5:\"true\"===n||\"false\"===n?1:3)&&t+n.length!==this.index){var r=this.index;this.index=t,this.tolerateUnexpectedToken(s.Messages.InvalidEscapedReservedWord),this.index=r}return{type:e,value:n,lineNumber:this.lineNumber,lineStart:this.lineStart,start:t,end:this.index}},e.prototype.scanPunctuator=function(){var e=this.index,t=this.source[this.index];switch(t){case\"(\":case\"{\":\"{\"===t&&this.curlyStack.push(\"{\"),++this.index;break;case\".\":++this.index,\".\"===this.source[this.index]&&\".\"===this.source[this.index+1]&&(this.index+=2,t=\"...\");break;case\"}\":++this.index,this.curlyStack.pop();break;case\")\":case\";\":case\",\":case\"[\":case\"]\":case\":\":case\"?\":case\"~\":++this.index;break;default:t=this.source.substr(this.index,4),\">>>=\"===t?this.index+=4:(t=t.substr(0,3),\"===\"===t||\"!==\"===t||\">>>\"===t||\"<<=\"===t||\">>=\"===t||\"**=\"===t?this.index+=3:(t=t.substr(0,2),\"&&\"===t||\"||\"===t||\"==\"===t||\"!=\"===t||\"+=\"===t||\"-=\"===t||\"*=\"===t||\"/=\"===t||\"++\"===t||\"--\"===t||\"<<\"===t||\">>\"===t||\"&=\"===t||\"|=\"===t||\"^=\"===t||\"%=\"===t||\"<=\"===t||\">=\"===t||\"=>\"===t||\"**\"===t?this.index+=2:(t=this.source[this.index],\"<>=!+-*%&|^/\".indexOf(t)>=0&&++this.index)))}return this.index===e&&this.throwUnexpectedToken(),{type:7,value:t,lineNumber:this.lineNumber,lineStart:this.lineStart,start:e,end:this.index}},e.prototype.scanHexLiteral=function(e){for(var t=\"\";!this.eof()&&a.Character.isHexDigit(this.source.charCodeAt(this.index));)t+=this.source[this.index++];return 0===t.length&&this.throwUnexpectedToken(),a.Character.isIdentifierStart(this.source.charCodeAt(this.index))&&this.throwUnexpectedToken(),{type:6,value:parseInt(\"0x\"+t,16),lineNumber:this.lineNumber,lineStart:this.lineStart,start:e,end:this.index}},e.prototype.scanBinaryLiteral=function(e){for(var t,n=\"\";!this.eof()&&(\"0\"===(t=this.source[this.index])||\"1\"===t);)n+=this.source[this.index++];return 0===n.length&&this.throwUnexpectedToken(),this.eof()||(t=this.source.charCodeAt(this.index),(a.Character.isIdentifierStart(t)||a.Character.isDecimalDigit(t))&&this.throwUnexpectedToken()),{type:6,value:parseInt(n,2),lineNumber:this.lineNumber,lineStart:this.lineStart,start:e,end:this.index}},e.prototype.scanOctalLiteral=function(e,t){var n=\"\",r=!1;for(a.Character.isOctalDigit(e.charCodeAt(0))?(r=!0,n=\"0\"+this.source[this.index++]):++this.index;!this.eof()&&a.Character.isOctalDigit(this.source.charCodeAt(this.index));)n+=this.source[this.index++];return r||0!==n.length||this.throwUnexpectedToken(),(a.Character.isIdentifierStart(this.source.charCodeAt(this.index))||a.Character.isDecimalDigit(this.source.charCodeAt(this.index)))&&this.throwUnexpectedToken(),{type:6,value:parseInt(n,8),octal:r,lineNumber:this.lineNumber,lineStart:this.lineStart,start:t,end:this.index}},e.prototype.isImplicitOctalLiteral=function(){for(var e=this.index+1;e<this.length;++e){var t=this.source[e];if(\"8\"===t||\"9\"===t)return!1;if(!a.Character.isOctalDigit(t.charCodeAt(0)))return!0}return!0},e.prototype.scanNumericLiteral=function(){var e=this.index,t=this.source[e];o.assert(a.Character.isDecimalDigit(t.charCodeAt(0))||\".\"===t,\"Numeric literal must start with a decimal digit or a decimal point\");var n=\"\";if(\".\"!==t){if(n=this.source[this.index++],t=this.source[this.index],\"0\"===n){if(\"x\"===t||\"X\"===t)return++this.index,this.scanHexLiteral(e);if(\"b\"===t||\"B\"===t)return++this.index,this.scanBinaryLiteral(e);if(\"o\"===t||\"O\"===t)return this.scanOctalLiteral(t,e);if(t&&a.Character.isOctalDigit(t.charCodeAt(0))&&this.isImplicitOctalLiteral())return this.scanOctalLiteral(t,e)}for(;a.Character.isDecimalDigit(this.source.charCodeAt(this.index));)n+=this.source[this.index++];t=this.source[this.index]}if(\".\"===t){for(n+=this.source[this.index++];a.Character.isDecimalDigit(this.source.charCodeAt(this.index));)n+=this.source[this.index++];t=this.source[this.index]}if(\"e\"===t||\"E\"===t)if(n+=this.source[this.index++],t=this.source[this.index],\"+\"!==t&&\"-\"!==t||(n+=this.source[this.index++]),a.Character.isDecimalDigit(this.source.charCodeAt(this.index)))for(;a.Character.isDecimalDigit(this.source.charCodeAt(this.index));)n+=this.source[this.index++];else this.throwUnexpectedToken();return a.Character.isIdentifierStart(this.source.charCodeAt(this.index))&&this.throwUnexpectedToken(),{type:6,value:parseFloat(n),lineNumber:this.lineNumber,lineStart:this.lineStart,start:e,end:this.index}},e.prototype.scanStringLiteral=function(){var e=this.index,t=this.source[e];o.assert(\"'\"===t||'\"'===t,\"String literal must starts with a quote\"),++this.index;for(var n=!1,r=\"\";!this.eof();){var i=this.source[this.index++];if(i===t){t=\"\";break}if(\"\\\\\"===i)if((i=this.source[this.index++])&&a.Character.isLineTerminator(i.charCodeAt(0)))++this.lineNumber,\"\\r\"===i&&\"\\n\"===this.source[this.index]&&++this.index,this.lineStart=this.index;else switch(i){case\"u\":if(\"{\"===this.source[this.index])++this.index,r+=this.scanUnicodeCodePointEscape();else{var u=this.scanHexEscape(i);null===u&&this.throwUnexpectedToken(),r+=u}break;case\"x\":var l=this.scanHexEscape(i);null===l&&this.throwUnexpectedToken(s.Messages.InvalidHexEscapeSequence),r+=l;break;case\"n\":r+=\"\\n\";break;case\"r\":r+=\"\\r\";break;case\"t\":r+=\"\\t\";break;case\"b\":r+=\"\\b\";break;case\"f\":r+=\"\\f\";break;case\"v\":r+=\"\\v\";break;case\"8\":case\"9\":r+=i,this.tolerateUnexpectedToken();break;default:if(i&&a.Character.isOctalDigit(i.charCodeAt(0))){var c=this.octalToDecimal(i);n=c.octal||n,r+=String.fromCharCode(c.code)}else r+=i}else{if(a.Character.isLineTerminator(i.charCodeAt(0)))break;r+=i}}return\"\"!==t&&(this.index=e,this.throwUnexpectedToken()),{type:8,value:r,octal:n,lineNumber:this.lineNumber,lineStart:this.lineStart,start:e,end:this.index}},e.prototype.scanTemplate=function(){var e=\"\",t=!1,n=this.index,r=\"`\"===this.source[n],i=!1,o=2;for(++this.index;!this.eof();){var u=this.source[this.index++];if(\"`\"===u){o=1,i=!0,t=!0;break}if(\"$\"===u){if(\"{\"===this.source[this.index]){this.curlyStack.push(\"${\"),++this.index,t=!0;break}e+=u}else if(\"\\\\\"===u)if(u=this.source[this.index++],a.Character.isLineTerminator(u.charCodeAt(0)))++this.lineNumber,\"\\r\"===u&&\"\\n\"===this.source[this.index]&&++this.index,this.lineStart=this.index;else switch(u){case\"n\":e+=\"\\n\";break;case\"r\":e+=\"\\r\";break;case\"t\":e+=\"\\t\";break;case\"u\":if(\"{\"===this.source[this.index])++this.index,e+=this.scanUnicodeCodePointEscape();else{var l=this.index,c=this.scanHexEscape(u);null!==c?e+=c:(this.index=l,e+=u)}break;case\"x\":var p=this.scanHexEscape(u);null===p&&this.throwUnexpectedToken(s.Messages.InvalidHexEscapeSequence),e+=p;break;case\"b\":e+=\"\\b\";break;case\"f\":e+=\"\\f\";break;case\"v\":e+=\"\\v\";break;default:\"0\"===u?(a.Character.isDecimalDigit(this.source.charCodeAt(this.index))&&this.throwUnexpectedToken(s.Messages.TemplateOctalLiteral),e+=\"\\0\"):a.Character.isOctalDigit(u.charCodeAt(0))?this.throwUnexpectedToken(s.Messages.TemplateOctalLiteral):e+=u}else a.Character.isLineTerminator(u.charCodeAt(0))?(++this.lineNumber,\"\\r\"===u&&\"\\n\"===this.source[this.index]&&++this.index,this.lineStart=this.index,e+=\"\\n\"):e+=u}return t||this.throwUnexpectedToken(),r||this.curlyStack.pop(),{type:10,value:this.source.slice(n+1,this.index-o),cooked:e,head:r,tail:i,lineNumber:this.lineNumber,lineStart:this.lineStart,start:n,end:this.index}},e.prototype.testRegExp=function(e,t){var n=e,r=this;t.indexOf(\"u\")>=0&&(n=n.replace(/\\\\u\\{([0-9a-fA-F]+)\\}|\\\\u([a-fA-F0-9]{4})/g,function(e,t,n){var i=parseInt(t||n,16);return i>1114111&&r.throwUnexpectedToken(s.Messages.InvalidRegExp),i<=65535?String.fromCharCode(i):\"￿\"}).replace(/[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g,\"￿\"));try{RegExp(n)}catch(e){this.throwUnexpectedToken(s.Messages.InvalidRegExp)}try{return new RegExp(e,t)}catch(e){return null}},e.prototype.scanRegExpBody=function(){var e=this.source[this.index];o.assert(\"/\"===e,\"Regular expression literal must start with a slash\");for(var t=this.source[this.index++],n=!1,r=!1;!this.eof();)if(e=this.source[this.index++],t+=e,\"\\\\\"===e)e=this.source[this.index++],a.Character.isLineTerminator(e.charCodeAt(0))&&this.throwUnexpectedToken(s.Messages.UnterminatedRegExp),t+=e;else if(a.Character.isLineTerminator(e.charCodeAt(0)))this.throwUnexpectedToken(s.Messages.UnterminatedRegExp);else if(n)\"]\"===e&&(n=!1);else{if(\"/\"===e){r=!0;break}\"[\"===e&&(n=!0)}return r||this.throwUnexpectedToken(s.Messages.UnterminatedRegExp),t.substr(1,t.length-2)},e.prototype.scanRegExpFlags=function(){for(var e=\"\",t=\"\";!this.eof();){var n=this.source[this.index];if(!a.Character.isIdentifierPart(n.charCodeAt(0)))break;if(++this.index,\"\\\\\"!==n||this.eof())t+=n,e+=n;else if(\"u\"===(n=this.source[this.index])){++this.index;var r=this.index,i=this.scanHexEscape(\"u\");if(null!==i)for(t+=i,e+=\"\\\\u\";r<this.index;++r)e+=this.source[r];else this.index=r,t+=\"u\",e+=\"\\\\u\";this.tolerateUnexpectedToken()}else e+=\"\\\\\",this.tolerateUnexpectedToken()}return t},e.prototype.scanRegExp=function(){var e=this.index,t=this.scanRegExpBody(),n=this.scanRegExpFlags();return{type:9,value:\"\",pattern:t,flags:n,regex:this.testRegExp(t,n),lineNumber:this.lineNumber,lineStart:this.lineStart,start:e,end:this.index}},e.prototype.lex=function(){if(this.eof())return{type:2,value:\"\",lineNumber:this.lineNumber,lineStart:this.lineStart,start:this.index,end:this.index};var e=this.source.charCodeAt(this.index);return a.Character.isIdentifierStart(e)?this.scanIdentifier():40===e||41===e||59===e?this.scanPunctuator():39===e||34===e?this.scanStringLiteral():46===e?a.Character.isDecimalDigit(this.source.charCodeAt(this.index+1))?this.scanNumericLiteral():this.scanPunctuator():a.Character.isDecimalDigit(e)?this.scanNumericLiteral():96===e||125===e&&\"${\"===this.curlyStack[this.curlyStack.length-1]?this.scanTemplate():e>=55296&&e<57343&&a.Character.isIdentifierStart(this.codePointAt(this.index))?this.scanIdentifier():this.scanPunctuator()},e}();t.Scanner=u},function(e,t){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.TokenName={},t.TokenName[1]=\"Boolean\",t.TokenName[2]=\"<end>\",t.TokenName[3]=\"Identifier\",t.TokenName[4]=\"Keyword\",t.TokenName[5]=\"Null\",t.TokenName[6]=\"Numeric\",t.TokenName[7]=\"Punctuator\",t.TokenName[8]=\"String\",t.TokenName[9]=\"RegularExpression\",t.TokenName[10]=\"Template\"},function(e,t){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.XHTMLEntities={quot:'\"',amp:\"&\",apos:\"'\",gt:\">\",nbsp:\" \",iexcl:\"¡\",cent:\"¢\",pound:\"£\",curren:\"¤\",yen:\"¥\",brvbar:\"¦\",sect:\"§\",uml:\"¨\",copy:\"©\",ordf:\"ª\",laquo:\"«\",not:\"¬\",shy:\"­\",reg:\"®\",macr:\"¯\",deg:\"°\",plusmn:\"±\",sup2:\"²\",sup3:\"³\",acute:\"´\",micro:\"µ\",para:\"¶\",middot:\"·\",cedil:\"¸\",sup1:\"¹\",ordm:\"º\",raquo:\"»\",frac14:\"¼\",frac12:\"½\",frac34:\"¾\",iquest:\"¿\",Agrave:\"À\",Aacute:\"Á\",Acirc:\"Â\",Atilde:\"Ã\",Auml:\"Ä\",Aring:\"Å\",AElig:\"Æ\",Ccedil:\"Ç\",Egrave:\"È\",Eacute:\"É\",Ecirc:\"Ê\",Euml:\"Ë\",Igrave:\"Ì\",Iacute:\"Í\",Icirc:\"Î\",Iuml:\"Ï\",ETH:\"Ð\",Ntilde:\"Ñ\",Ograve:\"Ò\",Oacute:\"Ó\",Ocirc:\"Ô\",Otilde:\"Õ\",Ouml:\"Ö\",times:\"×\",Oslash:\"Ø\",Ugrave:\"Ù\",Uacute:\"Ú\",Ucirc:\"Û\",Uuml:\"Ü\",Yacute:\"Ý\",THORN:\"Þ\",szlig:\"ß\",agrave:\"à\",aacute:\"á\",acirc:\"â\",atilde:\"ã\",auml:\"ä\",aring:\"å\",aelig:\"æ\",ccedil:\"ç\",egrave:\"è\",eacute:\"é\",ecirc:\"ê\",euml:\"ë\",igrave:\"ì\",iacute:\"í\",icirc:\"î\",iuml:\"ï\",eth:\"ð\",ntilde:\"ñ\",ograve:\"ò\",oacute:\"ó\",ocirc:\"ô\",otilde:\"õ\",ouml:\"ö\",divide:\"÷\",oslash:\"ø\",ugrave:\"ù\",uacute:\"ú\",ucirc:\"û\",uuml:\"ü\",yacute:\"ý\",thorn:\"þ\",yuml:\"ÿ\",OElig:\"Œ\",oelig:\"œ\",Scaron:\"Š\",scaron:\"š\",Yuml:\"Ÿ\",fnof:\"ƒ\",circ:\"ˆ\",tilde:\"˜\",Alpha:\"Α\",Beta:\"Β\",Gamma:\"Γ\",Delta:\"Δ\",Epsilon:\"Ε\",Zeta:\"Ζ\",Eta:\"Η\",Theta:\"Θ\",Iota:\"Ι\",Kappa:\"Κ\",Lambda:\"Λ\",Mu:\"Μ\",Nu:\"Ν\",Xi:\"Ξ\",Omicron:\"Ο\",Pi:\"Π\",Rho:\"Ρ\",Sigma:\"Σ\",Tau:\"Τ\",Upsilon:\"Υ\",Phi:\"Φ\",Chi:\"Χ\",Psi:\"Ψ\",Omega:\"Ω\",alpha:\"α\",beta:\"β\",gamma:\"γ\",delta:\"δ\",epsilon:\"ε\",zeta:\"ζ\",eta:\"η\",theta:\"θ\",iota:\"ι\",kappa:\"κ\",lambda:\"λ\",mu:\"μ\",nu:\"ν\",xi:\"ξ\",omicron:\"ο\",pi:\"π\",rho:\"ρ\",sigmaf:\"ς\",sigma:\"σ\",tau:\"τ\",upsilon:\"υ\",phi:\"φ\",chi:\"χ\",psi:\"ψ\",omega:\"ω\",thetasym:\"ϑ\",upsih:\"ϒ\",piv:\"ϖ\",ensp:\" \",emsp:\" \",thinsp:\" \",zwnj:\"‌\",zwj:\"‍\",lrm:\"‎\",rlm:\"‏\",ndash:\"–\",mdash:\"—\",lsquo:\"‘\",rsquo:\"’\",sbquo:\"‚\",ldquo:\"“\",rdquo:\"”\",bdquo:\"„\",dagger:\"†\",Dagger:\"‡\",bull:\"•\",hellip:\"…\",permil:\"‰\",prime:\"′\",Prime:\"″\",lsaquo:\"‹\",rsaquo:\"›\",oline:\"‾\",frasl:\"⁄\",euro:\"€\",image:\"ℑ\",weierp:\"℘\",real:\"ℜ\",trade:\"™\",alefsym:\"ℵ\",larr:\"←\",uarr:\"↑\",rarr:\"→\",darr:\"↓\",harr:\"↔\",crarr:\"↵\",lArr:\"⇐\",uArr:\"⇑\",rArr:\"⇒\",dArr:\"⇓\",hArr:\"⇔\",forall:\"∀\",part:\"∂\",exist:\"∃\",empty:\"∅\",nabla:\"∇\",isin:\"∈\",notin:\"∉\",ni:\"∋\",prod:\"∏\",sum:\"∑\",minus:\"−\",lowast:\"∗\",radic:\"√\",prop:\"∝\",infin:\"∞\",ang:\"∠\",and:\"∧\",or:\"∨\",cap:\"∩\",cup:\"∪\",int:\"∫\",there4:\"∴\",sim:\"∼\",cong:\"≅\",asymp:\"≈\",ne:\"≠\",equiv:\"≡\",le:\"≤\",ge:\"≥\",sub:\"⊂\",sup:\"⊃\",nsub:\"⊄\",sube:\"⊆\",supe:\"⊇\",oplus:\"⊕\",otimes:\"⊗\",perp:\"⊥\",sdot:\"⋅\",lceil:\"⌈\",rceil:\"⌉\",lfloor:\"⌊\",rfloor:\"⌋\",loz:\"◊\",spades:\"♠\",clubs:\"♣\",hearts:\"♥\",diams:\"♦\",lang:\"⟨\",rang:\"⟩\"}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(10),i=n(12),o=n(13),a=function(){function e(){this.values=[],this.curly=this.paren=-1}return e.prototype.beforeFunctionExpression=function(e){return[\"(\",\"{\",\"[\",\"in\",\"typeof\",\"instanceof\",\"new\",\"return\",\"case\",\"delete\",\"throw\",\"void\",\"=\",\"+=\",\"-=\",\"*=\",\"**=\",\"/=\",\"%=\",\"<<=\",\">>=\",\">>>=\",\"&=\",\"|=\",\"^=\",\",\",\"+\",\"-\",\"*\",\"**\",\"/\",\"%\",\"++\",\"--\",\"<<\",\">>\",\">>>\",\"&\",\"|\",\"^\",\"!\",\"~\",\"&&\",\"||\",\"?\",\":\",\"===\",\"==\",\">=\",\"<=\",\"<\",\">\",\"!=\",\"!==\"].indexOf(e)>=0},e.prototype.isRegexStart=function(){var e=this.values[this.values.length-1],t=null!==e;switch(e){case\"this\":case\"]\":t=!1;break;case\")\":var n=this.values[this.paren-1];t=\"if\"===n||\"while\"===n||\"for\"===n||\"with\"===n;break;case\"}\":if(t=!1,\"function\"===this.values[this.curly-3]){var r=this.values[this.curly-4];t=!!r&&!this.beforeFunctionExpression(r)}else if(\"function\"===this.values[this.curly-4]){var r=this.values[this.curly-5];t=!r||!this.beforeFunctionExpression(r)}}return t},e.prototype.push=function(e){7===e.type||4===e.type?(\"{\"===e.value?this.curly=this.values.length:\"(\"===e.value&&(this.paren=this.values.length),this.values.push(e.value)):this.values.push(null)},e}(),s=function(){function e(e,t){this.errorHandler=new r.ErrorHandler,this.errorHandler.tolerant=!!t&&(\"boolean\"==typeof t.tolerant&&t.tolerant),this.scanner=new i.Scanner(e,this.errorHandler),this.scanner.trackComment=!!t&&(\"boolean\"==typeof t.comment&&t.comment),this.trackRange=!!t&&(\"boolean\"==typeof t.range&&t.range),this.trackLoc=!!t&&(\"boolean\"==typeof t.loc&&t.loc),this.buffer=[],this.reader=new a}return e.prototype.errors=function(){return this.errorHandler.errors},e.prototype.getNextToken=function(){if(0===this.buffer.length){var e=this.scanner.scanComments();if(this.scanner.trackComment)for(var t=0;t<e.length;++t){var n=e[t],r=this.scanner.source.slice(n.slice[0],n.slice[1]),i={type:n.multiLine?\"BlockComment\":\"LineComment\",value:r};this.trackRange&&(i.range=n.range),this.trackLoc&&(i.loc=n.loc),this.buffer.push(i)}if(!this.scanner.eof()){var a=void 0;this.trackLoc&&(a={start:{line:this.scanner.lineNumber,column:this.scanner.index-this.scanner.lineStart},end:{}});var s=\"/\"===this.scanner.source[this.scanner.index]&&this.reader.isRegexStart(),u=s?this.scanner.scanRegExp():this.scanner.lex();this.reader.push(u);var l={type:o.TokenName[u.type],value:this.scanner.source.slice(u.start,u.end)};if(this.trackRange&&(l.range=[u.start,u.end]),this.trackLoc&&(a.end={line:this.scanner.lineNumber,column:this.scanner.index-this.scanner.lineStart},l.loc=a),9===u.type){var c=u.pattern,p=u.flags;l.regex={pattern:c,flags:p}}this.buffer.push(l)}}return this.buffer.shift()},e}();t.Tokenizer=s}])})},function(e,t,n){\"use strict\";var r,i,o,a,s,u,l,c=n(141),p=n(59),f=Function.prototype.apply,h=Function.prototype.call,d=Object.create,m=Object.defineProperty,v=Object.defineProperties,g=Object.prototype.hasOwnProperty,y={configurable:!0,enumerable:!1,writable:!0};r=function(e,t){var n;return p(t),g.call(this,\"__ee__\")?n=this.__ee__:(n=y.value=d(null),m(this,\"__ee__\",y),y.value=null),n[e]?\"object\"==typeof n[e]?n[e].push(t):n[e]=[n[e],t]:n[e]=t,this},i=function(e,t){var n,i;return p(t),i=this,r.call(this,e,n=function(){o.call(i,e,n),f.call(t,this,arguments)}),n.__eeOnceListener__=t,this},o=function(e,t){var n,r,i,o;if(p(t),!g.call(this,\"__ee__\"))return this;if(n=this.__ee__,!n[e])return this;if(\"object\"==typeof(r=n[e]))for(o=0;i=r[o];++o)i!==t&&i.__eeOnceListener__!==t||(2===r.length?n[e]=r[o?0:1]:r.splice(o,1));else r!==t&&r.__eeOnceListener__!==t||delete n[e];return this},a=function(e){var t,n,r,i,o;if(g.call(this,\"__ee__\")&&(i=this.__ee__[e]))if(\"object\"==typeof i){for(n=arguments.length,o=new Array(n-1),t=1;t<n;++t)o[t-1]=arguments[t];for(i=i.slice(),t=0;r=i[t];++t)f.call(r,this,o)}else switch(arguments.length){case 1:h.call(i,this);break;case 2:h.call(i,this,arguments[1]);break;case 3:h.call(i,this,arguments[1],arguments[2]);break;default:for(n=arguments.length,o=new Array(n-1),t=1;t<n;++t)o[t-1]=arguments[t];f.call(i,this,o)}},s={on:r,once:i,off:o,emit:a},u={on:c(r),once:c(i),off:c(o),emit:c(a)},l=v({},u),e.exports=t=function(e){return null==e?d(l):v(Object(e),u)},t.methods=s},function(e,t,n){function r(e){for(var t=0,n=m.length;t<n;t++)if(m[t].obj===e)return m[t]}function i(e,t){for(var n=0,r=e.observers.length;n<r;n++)if(e.observers[n].callback===t)return e.observers[n].observer}function o(e,t){for(var n=0,r=e.observers.length;n<r;n++)if(e.observers[n].observer===t)return void e.observers.splice(n,1)}function a(e,t){t.unobserve()}function s(e,t){var n,a=[],s=r(e);if(s?n=i(s,t):(s=new v(e),m.push(s)),n)return n;if(n={},s.value=p._deepClone(e),t){n.callback=t,n.next=null;var l=function(){u(n)},c=function(){clearTimeout(n.next),n.next=setTimeout(l)};\"undefined\"!=typeof window&&(window.addEventListener?(window.addEventListener(\"mouseup\",c),window.addEventListener(\"keyup\",c),window.addEventListener(\"mousedown\",c),window.addEventListener(\"keydown\",c),window.addEventListener(\"change\",c)):(document.documentElement.attachEvent(\"onmouseup\",c),document.documentElement.attachEvent(\"onkeyup\",c),document.documentElement.attachEvent(\"onmousedown\",c),document.documentElement.attachEvent(\"onkeydown\",c),document.documentElement.attachEvent(\"onchange\",c)))}return n.patches=a,n.object=e,n.unobserve=function(){u(n),clearTimeout(n.next),o(s,n),\"undefined\"!=typeof window&&(window.removeEventListener?(window.removeEventListener(\"mouseup\",c),window.removeEventListener(\"keyup\",c),window.removeEventListener(\"mousedown\",c),window.removeEventListener(\"keydown\",c)):(document.documentElement.detachEvent(\"onmouseup\",c),document.documentElement.detachEvent(\"onkeyup\",c),document.documentElement.detachEvent(\"onmousedown\",c),document.documentElement.detachEvent(\"onkeydown\",c)))},s.observers.push(new g(t,n)),n}function u(e){for(var t,n=0,r=m.length;n<r;n++)if(m[n].obj===e.object){t=m[n];break}l(t.value,e.object,e.patches,\"\"),e.patches.length&&f.applyPatch(t.value,e.patches);var i=e.patches;return i.length>0&&(e.patches=[],e.callback&&e.callback(i)),i}function l(e,t,n,r){if(t!==e){\"function\"==typeof t.toJSON&&(t=t.toJSON());for(var i=p._objectKeys(t),o=p._objectKeys(e),a=!1,s=o.length-1;s>=0;s--){var u=o[s],c=e[u];if(!p.hasOwnProperty(t,u)||void 0===t[u]&&void 0!==c&&!1===Array.isArray(t))n.push({op:\"remove\",path:r+\"/\"+p.escapePathComponent(u)}),a=!0;else{var f=t[u];\"object\"==typeof c&&null!=c&&\"object\"==typeof f&&null!=f?l(c,f,n,r+\"/\"+p.escapePathComponent(u)):c!==f&&(!0,n.push({op:\"replace\",path:r+\"/\"+p.escapePathComponent(u),value:p._deepClone(f)}))}}if(a||i.length!=o.length)for(var s=0;s<i.length;s++){var u=i[s];p.hasOwnProperty(e,u)||void 0===t[u]||n.push({op:\"add\",path:r+\"/\"+p.escapePathComponent(u),value:p._deepClone(t[u])})}}}function c(e,t){var n=[];return l(e,t,n,\"\"),n}var p=(n(375),n(210)),f=n(385),h=n(385);t.applyOperation=h.applyOperation,t.applyPatch=h.applyPatch,t.applyReducer=h.applyReducer,t.getValueByPointer=h.getValueByPointer,t.validate=h.validate,t.validator=h.validator;var d=n(210);t.JsonPatchError=d.PatchError,t.deepClone=d._deepClone,t.escapePathComponent=d.escapePathComponent,t.unescapePathComponent=d.unescapePathComponent;var m=[],v=function(){function e(e){this.observers=[],this.obj=e}return e}(),g=function(){function e(e,t){this.callback=e,this.observer=t}return e}();t.unobserve=a,t.observe=s,t.generate=u,t.compare=c},function(e,t,n){\"use strict\";function r(e){return e.replace(i,function(e,t){return t.toUpperCase()})}var i=/-(.)/g;e.exports=r},function(e,t,n){\"use strict\";function r(e){return i(e.replace(o,\"ms-\"))}var i=n(761),o=/^-ms-/;e.exports=r},function(e,t,n){\"use strict\";function r(e,t){return!(!e||!t)&&(e===t||!i(e)&&(i(t)?r(e,t.parentNode):\"contains\"in e?e.contains(t):!!e.compareDocumentPosition&&!!(16&e.compareDocumentPosition(t))))}var i=n(771);e.exports=r},function(e,t,n){\"use strict\";function r(e){var t=e.length;if((Array.isArray(e)||\"object\"!=typeof e&&\"function\"!=typeof e)&&a(!1),\"number\"!=typeof t&&a(!1),0===t||t-1 in e||a(!1),\"function\"==typeof e.callee&&a(!1),e.hasOwnProperty)try{return Array.prototype.slice.call(e)}catch(e){}for(var n=Array(t),r=0;r<t;r++)n[r]=e[r];return n}function i(e){return!!e&&(\"object\"==typeof e||\"function\"==typeof e)&&\"length\"in e&&!(\"setInterval\"in e)&&\"number\"!=typeof e.nodeType&&(Array.isArray(e)||\"callee\"in e||\"item\"in e)}function o(e){return i(e)?Array.isArray(e)?e.slice():r(e):[e]}var a=n(8);e.exports=o},function(e,t,n){\"use strict\";function r(e){var t=e.match(c);return t&&t[1].toLowerCase()}function i(e,t){var n=l;l||u(!1);var i=r(e),o=i&&s(i);if(o){n.innerHTML=o[1]+e+o[2];for(var c=o[0];c--;)n=n.lastChild}else n.innerHTML=e;var p=n.getElementsByTagName(\"script\");p.length&&(t||u(!1),a(p).forEach(t));for(var f=Array.from(n.childNodes);n.lastChild;)n.removeChild(n.lastChild);return f}var o=n(25),a=n(764),s=n(766),u=n(8),l=o.canUseDOM?document.createElement(\"div\"):null,c=/^\\s*<(\\w+)/;e.exports=i},function(e,t,n){\"use strict\";function r(e){return a||o(!1),f.hasOwnProperty(e)||(e=\"*\"),s.hasOwnProperty(e)||(a.innerHTML=\"*\"===e?\"<link />\":\"<\"+e+\"></\"+e+\">\",s[e]=!a.firstChild),s[e]?f[e]:null}var i=n(25),o=n(8),a=i.canUseDOM?document.createElement(\"div\"):null,s={},u=[1,'<select multiple=\"true\">',\"</select>\"],l=[1,\"<table>\",\"</table>\"],c=[3,\"<table><tbody><tr>\",\"</tr></tbody></table>\"],p=[1,'<svg xmlns=\"http://www.w3.org/2000/svg\">',\"</svg>\"],f={\"*\":[1,\"?<div>\",\"</div>\"],area:[1,\"<map>\",\"</map>\"],col:[2,\"<table><tbody></tbody><colgroup>\",\"</colgroup></table>\"],legend:[1,\"<fieldset>\",\"</fieldset>\"],param:[1,\"<object>\",\"</object>\"],tr:[2,\"<table><tbody>\",\"</tbody></table>\"],optgroup:u,option:u,caption:l,colgroup:l,tbody:l,tfoot:l,thead:l,td:c,th:c};[\"circle\",\"clipPath\",\"defs\",\"ellipse\",\"g\",\"image\",\"line\",\"linearGradient\",\"mask\",\"path\",\"pattern\",\"polygon\",\"polyline\",\"radialGradient\",\"rect\",\"stop\",\"text\",\"tspan\"].forEach(function(e){f[e]=p,s[e]=!0}),e.exports=r},function(e,t,n){\"use strict\";function r(e){return e.Window&&e instanceof e.Window?{x:e.pageXOffset||e.document.documentElement.scrollLeft,y:e.pageYOffset||e.document.documentElement.scrollTop}:{x:e.scrollLeft,y:e.scrollTop}}e.exports=r},function(e,t,n){\"use strict\";function r(e){return e.replace(i,\"-$1\").toLowerCase()}var i=/([A-Z])/g;e.exports=r},function(e,t,n){\"use strict\";function r(e){return i(e).replace(o,\"-ms-\")}var i=n(768),o=/^ms-/;e.exports=r},function(e,t,n){\"use strict\";function r(e){var t=e?e.ownerDocument||e:document,n=t.defaultView||window;return!(!e||!(\"function\"==typeof n.Node?e instanceof n.Node:\"object\"==typeof e&&\"number\"==typeof e.nodeType&&\"string\"==typeof e.nodeName))}e.exports=r},function(e,t,n){\"use strict\";function r(e){return i(e)&&3==e.nodeType}var i=n(770);e.exports=r},function(e,t,n){\"use strict\";function r(e){var t={};return function(n){return t.hasOwnProperty(n)||(t[n]=e.call(this,n)),t[n]}}e.exports=r},function(e,t,n){\"use strict\";var r={childContextTypes:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,mixins:!0,propTypes:!0,type:!0},i={name:!0,length:!0,prototype:!0,caller:!0,arguments:!0,arity:!0},o=\"function\"==typeof Object.getOwnPropertySymbols;e.exports=function(e,t,n){if(\"string\"!=typeof t){var a=Object.getOwnPropertyNames(t);o&&(a=a.concat(Object.getOwnPropertySymbols(t)));for(var s=0;s<a.length;++s)if(!(r[a[s]]||i[a[s]]||n&&n[a[s]]))try{e[a[s]]=t[a[s]]}catch(e){}}return e}},function(e,t,n){function r(e){this._cbs=e||{},this.events=[]}e.exports=r;var i=n(116).EVENTS;Object.keys(i).forEach(function(e){if(0===i[e])e=\"on\"+e,r.prototype[e]=function(){this.events.push([e]),this._cbs[e]&&this._cbs[e]()};else if(1===i[e])e=\"on\"+e,r.prototype[e]=function(t){this.events.push([e,t]),this._cbs[e]&&this._cbs[e](t)};else{if(2!==i[e])throw Error(\"wrong number of arguments\");e=\"on\"+e,r.prototype[e]=function(t,n){this.events.push([e,t,n]),this._cbs[e]&&this._cbs[e](t,n)}}}),r.prototype.onreset=function(){this.events=[],this._cbs.onreset&&this._cbs.onreset()},r.prototype.restart=function(){this._cbs.onreset&&this._cbs.onreset();for(var e=0,t=this.events.length;e<t;e++)if(this._cbs[this.events[e][0]]){var n=this.events[e].length;1===n?this._cbs[this.events[e][0]]():2===n?this._cbs[this.events[e][0]](this.events[e][1]):this._cbs[this.events[e][0]](this.events[e][1],this.events[e][2])}}},function(e,t,n){function r(e,t){this.init(e,t)}function i(e,t){return c.getElementsByTagName(e,t,!0)}function o(e,t){return c.getElementsByTagName(e,t,!0,1)[0]}function a(e,t,n){return c.getText(c.getElementsByTagName(e,t,n,1)).trim()}function s(e,t,n,r,i){var o=a(n,r,i);o&&(e[t]=o)}var u=n(116),l=u.DomHandler,c=u.DomUtils;n(44)(r,l),r.prototype.init=l;var p=function(e){return\"rss\"===e||\"feed\"===e||\"rdf:RDF\"===e};r.prototype.onend=function(){var e,t,n={},r=o(p,this.dom);r&&(\"feed\"===r.name?(t=r.children,n.type=\"atom\",s(n,\"id\",\"id\",t),s(n,\"title\",\"title\",t),(e=o(\"link\",t))&&(e=e.attribs)&&(e=e.href)&&(n.link=e),s(n,\"description\",\"subtitle\",t),(e=a(\"updated\",t))&&(n.updated=new Date(e)),s(n,\"author\",\"email\",t,!0),n.items=i(\"entry\",t).map(function(e){var t,n={};return e=e.children,s(n,\"id\",\"id\",e),s(n,\"title\",\"title\",e),(t=o(\"link\",e))&&(t=t.attribs)&&(t=t.href)&&(n.link=t),(t=a(\"summary\",e)||a(\"content\",e))&&(n.description=t),(t=a(\"updated\",e))&&(n.pubDate=new Date(t)),n})):(t=o(\"channel\",r.children).children,n.type=r.name.substr(0,3),n.id=\"\",s(n,\"title\",\"title\",t),s(n,\"link\",\"link\",t),s(n,\"description\",\"description\",t),(e=a(\"lastBuildDate\",t))&&(n.updated=new Date(e)),s(n,\"author\",\"managingEditor\",t,!0),n.items=i(\"item\",r.children).map(function(e){var t,n={};return e=e.children,s(n,\"id\",\"guid\",e),s(n,\"title\",\"title\",e),s(n,\"link\",\"link\",e),s(n,\"description\",\"description\",e),(t=a(\"pubDate\",e))&&(n.pubDate=new Date(t)),n}))),this.dom=n,l.prototype._handleCallback.call(this,r?null:Error(\"couldn't find root of feed\"))},e.exports=r},function(e,t,n){function r(e){this._cbs=e||{}}e.exports=r;var i=n(116).EVENTS;Object.keys(i).forEach(function(e){if(0===i[e])e=\"on\"+e,r.prototype[e]=function(){this._cbs[e]&&this._cbs[e]()};else if(1===i[e])e=\"on\"+e,r.prototype[e]=function(t){this._cbs[e]&&this._cbs[e](t)};else{if(2!==i[e])throw Error(\"wrong number of arguments\");e=\"on\"+e,r.prototype[e]=function(t,n){this._cbs[e]&&this._cbs[e](t,n)}}})},function(e,t,n){function r(e){o.call(this,new i(this),e)}function i(e){this.scope=e}e.exports=r;var o=n(391);n(44)(r,o),r.prototype.readable=!0;var a=n(116).EVENTS;Object.keys(a).forEach(function(e){if(0===a[e])i.prototype[\"on\"+e]=function(){this.scope.emit(e)};else if(1===a[e])i.prototype[\"on\"+e]=function(t){this.scope.emit(e,t)};else{if(2!==a[e])throw Error(\"wrong number of arguments!\");i.prototype[\"on\"+e]=function(t,n){this.scope.emit(e,t,n)}}})},function(e,t,n){\"use strict\";function r(e){return e in a?a[e]:a[e]=e.replace(i,\"-$&\").toLowerCase().replace(o,\"-ms-\")}var i=/[A-Z]/g,o=/^ms-/,a={};e.exports=r},function(e,t){t.read=function(e,t,n,r,i){var o,a,s=8*i-r-1,u=(1<<s)-1,l=u>>1,c=-7,p=n?i-1:0,f=n?-1:1,h=e[t+p];for(p+=f,o=h&(1<<-c)-1,h>>=-c,c+=s;c>0;o=256*o+e[t+p],p+=f,c-=8);for(a=o&(1<<-c)-1,o>>=-c,c+=r;c>0;a=256*a+e[t+p],p+=f,c-=8);if(0===o)o=1-l;else{if(o===u)return a?NaN:1/0*(h?-1:1);a+=Math.pow(2,r),o-=l}return(h?-1:1)*a*Math.pow(2,o-r)},t.write=function(e,t,n,r,i,o){var a,s,u,l=8*o-i-1,c=(1<<l)-1,p=c>>1,f=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,h=r?0:o-1,d=r?1:-1,m=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,a=c):(a=Math.floor(Math.log(t)/Math.LN2),t*(u=Math.pow(2,-a))<1&&(a--,u*=2),t+=a+p>=1?f/u:f*Math.pow(2,1-p),t*u>=2&&(a++,u/=2),a+p>=c?(s=0,a=c):a+p>=1?(s=(t*u-1)*Math.pow(2,i),a+=p):(s=t*Math.pow(2,p-1)*Math.pow(2,i),a=0));i>=8;e[n+h]=255&s,h+=d,s/=256,i-=8);for(a=a<<i|s,l+=i;l>0;e[n+h]=255&a,h+=d,a/=256,l-=8);e[n+h-d]|=128*m}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function o(e){var t=e.prefixMap,n=e.plugins,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(e){return e};return function(){function e(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};i(this,e);var r=\"undefined\"!=typeof navigator?navigator.userAgent:void 0;if(this._userAgent=n.userAgent||r,this._keepUnprefixed=n.keepUnprefixed||!1,this._userAgent&&(this._browserInfo=(0,u.default)(this._userAgent)),!this._browserInfo||!this._browserInfo.cssPrefix)return this._useFallback=!0,!1;this.prefixedKeyframes=(0,c.default)(this._browserInfo.browserName,this._browserInfo.browserVersion,this._browserInfo.cssPrefix);var o=this._browserInfo.browserName&&t[this._browserInfo.browserName];if(o){this._requiresPrefix={};for(var a in o)o[a]>=this._browserInfo.browserVersion&&(this._requiresPrefix[a]=!0);this._hasPropsRequiringPrefix=Object.keys(this._requiresPrefix).length>0}else this._useFallback=!0;this._metaData={browserVersion:this._browserInfo.browserVersion,browserName:this._browserInfo.browserName,cssPrefix:this._browserInfo.cssPrefix,jsPrefix:this._browserInfo.jsPrefix,keepUnprefixed:this._keepUnprefixed,requiresPrefix:this._requiresPrefix}}return a(e,[{key:\"prefix\",value:function(e){return this._useFallback?r(e):this._hasPropsRequiringPrefix?this._prefixStyle(e):e}},{key:\"_prefixStyle\",value:function(e){for(var t in e){var r=e[t];if((0,v.default)(r))e[t]=this.prefix(r);else if(Array.isArray(r)){for(var i=[],o=0,a=r.length;o<a;++o){var s=(0,y.default)(n,t,r[o],e,this._metaData);(0,d.default)(i,s||r[o])}i.length>0&&(e[t]=i)}else{var u=(0,y.default)(n,t,r,e,this._metaData);u&&(e[t]=u),this._requiresPrefix.hasOwnProperty(t)&&(e[this._browserInfo.jsPrefix+(0,f.default)(t)]=r,this._keepUnprefixed||delete e[t])}}return e}}],[{key:\"prefixAll\",value:function(e){return r(e)}}]),e}()}Object.defineProperty(t,\"__esModule\",{value:!0});var a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();t.default=o;var s=n(805),u=r(s),l=n(806),c=r(l),p=n(213),f=r(p),h=n(392),d=r(h),m=n(393),v=r(m),g=n(394),y=r(g);e.exports=t.default},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default={plugins:[],prefixMap:{chrome:{appearance:64,userSelect:53,textEmphasisPosition:64,textEmphasis:64,textEmphasisStyle:64,textEmphasisColor:64,boxDecorationBreak:64,clipPath:54,maskImage:64,maskMode:64,maskRepeat:64,maskPosition:64,maskClip:64,maskOrigin:64,maskSize:64,maskComposite:64,mask:64,maskBorderSource:64,maskBorderMode:64,maskBorderSlice:64,maskBorderWidth:64,maskBorderOutset:64,maskBorderRepeat:64,maskBorder:64,maskType:64,textDecorationStyle:56,textDecorationSkip:56,textDecorationLine:56,textDecorationColor:56,filter:52,fontFeatureSettings:47,breakAfter:49,breakBefore:49,breakInside:49,columnCount:49,columnFill:49,columnGap:49,columnRule:49,columnRuleColor:49,columnRuleStyle:49,columnRuleWidth:49,columns:49,columnSpan:49,columnWidth:49,writingMode:47},safari:{flex:8,flexBasis:8,flexDirection:8,flexGrow:8,flexFlow:8,flexShrink:8,flexWrap:8,alignContent:8,alignItems:8,alignSelf:8,justifyContent:8,order:8,transform:8,transformOrigin:8,transformOriginX:8,transformOriginY:8,backfaceVisibility:8,perspective:8,perspectiveOrigin:8,transformStyle:8,transformOriginZ:8,animation:8,animationDelay:8,animationDirection:8,animationFillMode:8,animationDuration:8,animationIterationCount:8,animationName:8,animationPlayState:8,animationTimingFunction:8,appearance:11,userSelect:11,backdropFilter:11,fontKerning:9,scrollSnapType:10.1,scrollSnapPointsX:10.1,scrollSnapPointsY:10.1,scrollSnapDestination:10.1,scrollSnapCoordinate:10.1,boxDecorationBreak:11,clipPath:11,maskImage:11,maskMode:11,maskRepeat:11,maskPosition:11,maskClip:11,maskOrigin:11,maskSize:11,maskComposite:11,mask:11,maskBorderSource:11,maskBorderMode:11,maskBorderSlice:11,maskBorderWidth:11,maskBorderOutset:11,maskBorderRepeat:11,maskBorder:11,maskType:11,textDecorationStyle:11,textDecorationSkip:11,textDecorationLine:11,textDecorationColor:11,shapeImageThreshold:10,shapeImageMargin:10,shapeImageOutside:10,filter:9,hyphens:11,flowInto:11,flowFrom:11,breakBefore:8,breakAfter:8,breakInside:8,regionFragment:11,columnCount:8,columnFill:8,columnGap:8,columnRule:8,columnRuleColor:8,columnRuleStyle:8,columnRuleWidth:8,columns:8,columnSpan:8,columnWidth:8,writingMode:11},firefox:{appearance:58,userSelect:58,textAlignLast:48,tabSize:58,hyphens:42,breakAfter:51,breakBefore:51,breakInside:51,columnCount:51,columnFill:51,columnGap:51,columnRule:51,columnRuleColor:51,columnRuleStyle:51,columnRuleWidth:51,columns:51,columnSpan:51,columnWidth:51},opera:{flex:16,flexBasis:16,flexDirection:16,flexGrow:16,flexFlow:16,flexShrink:16,flexWrap:16,alignContent:16,alignItems:16,alignSelf:16,justifyContent:16,order:16,transform:22,transformOrigin:22,transformOriginX:22,transformOriginY:22,backfaceVisibility:22,perspective:22,perspectiveOrigin:22,transformStyle:22,transformOriginZ:22,animation:29,animationDelay:29,animationDirection:29,animationFillMode:29,animationDuration:29,animationIterationCount:29,animationName:29,animationPlayState:29,animationTimingFunction:29,appearance:49,userSelect:40,fontKerning:19,textEmphasisPosition:49,textEmphasis:49,textEmphasisStyle:49,textEmphasisColor:49,boxDecorationBreak:49,clipPath:41,maskImage:49,maskMode:49,maskRepeat:49,maskPosition:49,maskClip:49,maskOrigin:49,maskSize:49,maskComposite:49,mask:49,maskBorderSource:49,maskBorderMode:49,maskBorderSlice:49,maskBorderWidth:49,maskBorderOutset:49,maskBorderRepeat:49,maskBorder:49,maskType:49,textDecorationStyle:43,textDecorationSkip:43,textDecorationLine:43,textDecorationColor:43,filter:39,fontFeatureSettings:34,breakAfter:36,breakBefore:36,breakInside:36,columnCount:36,columnFill:36,columnGap:36,columnRule:36,columnRuleColor:36,columnRuleStyle:36,columnRuleWidth:36,columns:36,columnSpan:36,columnWidth:36,writingMode:34},ie:{userSelect:11,wrapFlow:11,wrapThrough:11,wrapMargin:11,scrollSnapType:11,scrollSnapPointsX:11,scrollSnapPointsY:11,scrollSnapDestination:11,scrollSnapCoordinate:11,hyphens:11,flowInto:11,flowFrom:11,breakBefore:11,breakAfter:11,breakInside:11,regionFragment:11,gridTemplateColumns:11,gridTemplateRows:11,gridTemplateAreas:11,gridTemplate:11,gridAutoColumns:11,gridAutoRows:11,gridAutoFlow:11,grid:11,gridRowStart:11,gridColumnStart:11,gridRowEnd:11,gridRow:11,gridColumn:11,gridColumnEnd:11,gridColumnGap:11,gridRowGap:11,gridArea:11,gridGap:11,textSizeAdjust:11,writingMode:11},edge:{userSelect:16,wrapFlow:16,wrapThrough:16,wrapMargin:16,scrollSnapType:16,scrollSnapPointsX:16,scrollSnapPointsY:16,scrollSnapDestination:16,scrollSnapCoordinate:16,hyphens:16,flowInto:16,flowFrom:16,breakBefore:16,breakAfter:16,breakInside:16,regionFragment:16,gridTemplateColumns:15,gridTemplateRows:15,gridTemplateAreas:15,gridTemplate:15,gridAutoColumns:15,gridAutoRows:15,gridAutoFlow:15,grid:15,gridRowStart:15,gridColumnStart:15,gridRowEnd:15,gridRow:15,gridColumn:15,gridColumnEnd:15,gridColumnGap:15,gridRowGap:15,gridArea:15,gridGap:15},ios_saf:{flex:8.1,flexBasis:8.1,flexDirection:8.1,flexGrow:8.1,flexFlow:8.1,flexShrink:8.1,flexWrap:8.1,alignContent:8.1,alignItems:8.1,alignSelf:8.1,justifyContent:8.1,order:8.1,transform:8.1,transformOrigin:8.1,transformOriginX:8.1,transformOriginY:8.1,backfaceVisibility:8.1,perspective:8.1,perspectiveOrigin:8.1,transformStyle:8.1,transformOriginZ:8.1,animation:8.1,animationDelay:8.1,animationDirection:8.1,animationFillMode:8.1,animationDuration:8.1,animationIterationCount:8.1,animationName:8.1,animationPlayState:8.1,animationTimingFunction:8.1,appearance:11,userSelect:11,backdropFilter:11,fontKerning:11,scrollSnapType:11,scrollSnapPointsX:11,scrollSnapPointsY:11,scrollSnapDestination:11,scrollSnapCoordinate:11,boxDecorationBreak:11,clipPath:11,maskImage:11,maskMode:11,maskRepeat:11,maskPosition:11,maskClip:11,maskOrigin:11,maskSize:11,maskComposite:11,mask:11,maskBorderSource:11,maskBorderMode:11,maskBorderSlice:11,maskBorderWidth:11,maskBorderOutset:11,maskBorderRepeat:11,maskBorder:11,maskType:11,textSizeAdjust:11,textDecorationStyle:11,textDecorationSkip:11,textDecorationLine:11,textDecorationColor:11,shapeImageThreshold:10,shapeImageMargin:10,shapeImageOutside:10,filter:9,hyphens:11,flowInto:11,flowFrom:11,breakBefore:8.1,breakAfter:8.1,breakInside:8.1,regionFragment:11,columnCount:8.1,columnFill:8.1,columnGap:8.1,columnRule:8.1,columnRuleColor:8.1,columnRuleStyle:8.1,columnRuleWidth:8.1,columns:8.1,columnSpan:8.1,columnWidth:8.1,writingMode:11},android:{borderImage:4.2,borderImageOutset:4.2,borderImageRepeat:4.2,borderImageSlice:4.2,borderImageSource:4.2,borderImageWidth:4.2,flex:4.2,flexBasis:4.2,flexDirection:4.2,flexGrow:4.2,flexFlow:4.2,flexShrink:4.2,flexWrap:4.2,alignContent:4.2,alignItems:4.2,alignSelf:4.2,justifyContent:4.2,order:4.2,transition:4.2,transitionDelay:4.2,transitionDuration:4.2,transitionProperty:4.2,transitionTimingFunction:4.2,transform:4.4,transformOrigin:4.4,transformOriginX:4.4,transformOriginY:4.4,backfaceVisibility:4.4,perspective:4.4,perspectiveOrigin:4.4,transformStyle:4.4,transformOriginZ:4.4,animation:4.4,animationDelay:4.4,animationDirection:4.4,animationFillMode:4.4,animationDuration:4.4,animationIterationCount:4.4,animationName:4.4,animationPlayState:4.4,animationTimingFunction:4.4,appearance:56,userSelect:4.4,fontKerning:4.4,textEmphasisPosition:56,textEmphasis:56,textEmphasisStyle:56,textEmphasisColor:56,boxDecorationBreak:56,clipPath:4.4,maskImage:56,maskMode:56,maskRepeat:56,maskPosition:56,maskClip:56,maskOrigin:56,maskSize:56,maskComposite:56,mask:56,maskBorderSource:56,maskBorderMode:56,maskBorderSlice:56,maskBorderWidth:56,maskBorderOutset:56,maskBorderRepeat:56,maskBorder:56,maskType:56,filter:4.4,fontFeatureSettings:4.4,breakAfter:4.4,breakBefore:4.4,breakInside:4.4,columnCount:4.4,columnFill:4.4,columnGap:4.4,columnRule:4.4,columnRuleColor:4.4,columnRuleStyle:4.4,columnRuleWidth:4.4,columns:4.4,columnSpan:4.4,columnWidth:4.4,writingMode:4.4},and_chr:{appearance:61,textEmphasisPosition:61,textEmphasis:61,textEmphasisStyle:61,textEmphasisColor:61,boxDecorationBreak:61,maskImage:61,maskMode:61,maskRepeat:61,maskPosition:61,maskClip:61,maskOrigin:61,maskSize:61,maskComposite:61,mask:61,maskBorderSource:61,maskBorderMode:61,maskBorderSlice:61,maskBorderWidth:61,maskBorderOutset:61,maskBorderRepeat:61,maskBorder:61,maskType:61},and_uc:{flex:11.4,flexBasis:11.4,flexDirection:11.4,flexGrow:11.4,flexFlow:11.4,flexShrink:11.4,flexWrap:11.4,alignContent:11.4,alignItems:11.4,alignSelf:11.4,justifyContent:11.4,order:11.4,transform:11.4,transformOrigin:11.4,transformOriginX:11.4,transformOriginY:11.4,backfaceVisibility:11.4,perspective:11.4,perspectiveOrigin:11.4,transformStyle:11.4,transformOriginZ:11.4,animation:11.4,animationDelay:11.4,animationDirection:11.4,animationFillMode:11.4,animationDuration:11.4,animationIterationCount:11.4,animationName:11.4,animationPlayState:11.4,animationTimingFunction:11.4,appearance:11.4,userSelect:11.4,textEmphasisPosition:11.4,textEmphasis:11.4,textEmphasisStyle:11.4,textEmphasisColor:11.4,clipPath:11.4,maskImage:11.4,maskMode:11.4,maskRepeat:11.4,maskPosition:11.4,maskClip:11.4,maskOrigin:11.4,maskSize:11.4,maskComposite:11.4,mask:11.4,maskBorderSource:11.4,maskBorderMode:11.4,maskBorderSlice:11.4,maskBorderWidth:11.4,maskBorderOutset:11.4,maskBorderRepeat:11.4,maskBorder:11.4,maskType:11.4,textSizeAdjust:11.4,filter:11.4,hyphens:11.4,fontFeatureSettings:11.4,breakAfter:11.4,breakBefore:11.4,breakInside:11.4,columnCount:11.4,columnFill:11.4,columnGap:11.4,columnRule:11.4,columnRuleColor:11.4,columnRuleStyle:11.4,columnRuleWidth:11.4,columns:11.4,columnSpan:11.4,columnWidth:11.4,writingMode:11.4},op_mini:{}}},e.exports=t.default},function(e,t,n){\"use strict\";function r(e,t,n,r){var i=r.browserName,a=r.browserVersion,s=r.cssPrefix,u=r.keepUnprefixed;if(\"string\"==typeof t&&t.indexOf(\"cross-fade(\")>-1&&(\"chrome\"===i||\"opera\"===i||\"and_chr\"===i||(\"ios_saf\"===i||\"safari\"===i)&&a<10))return(0,o.default)(t.replace(/cross-fade\\(/g,s+\"cross-fade(\"),t,u)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=r;var i=n(50),o=function(e){return e&&e.__esModule?e:{default:e}}(i);e.exports=t.default},function(e,t,n){\"use strict\";function r(e,t,n,r){var i=r.browserName,u=r.browserVersion,l=r.cssPrefix,c=r.keepUnprefixed;return\"cursor\"!==e||!a[t]||\"firefox\"!==i&&\"chrome\"!==i&&\"safari\"!==i&&\"opera\"!==i?\"cursor\"===e&&s[t]&&(\"firefox\"===i&&u<24||\"chrome\"===i&&u<37||\"safari\"===i&&u<9||\"opera\"===i&&u<24)?(0,o.default)(l+t,t,c):void 0:(0,o.default)(l+t,t,c)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=r;var i=n(50),o=function(e){return e&&e.__esModule?e:{default:e}}(i),a={grab:!0,grabbing:!0},s={\"zoom-in\":!0,\"zoom-out\":!0};e.exports=t.default},function(e,t,n){\"use strict\";function r(e,t,n,r){var i=r.browserName,a=r.browserVersion,s=r.cssPrefix,u=r.keepUnprefixed;if(\"string\"==typeof t&&t.indexOf(\"filter(\")>-1&&(\"ios_saf\"===i||\"safari\"===i&&a<9.1))return(0,o.default)(t.replace(/filter\\(/g,s+\"filter(\"),t,u)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=r;var i=n(50),o=function(e){return e&&e.__esModule?e:{default:e}}(i);e.exports=t.default},function(e,t,n){\"use strict\";function r(e,t,n,r){var i=r.browserName,s=r.browserVersion,u=r.cssPrefix,l=r.keepUnprefixed;if(\"display\"===e&&a[t]&&(\"chrome\"===i&&s<29&&s>20||(\"safari\"===i||\"ios_saf\"===i)&&s<9&&s>6||\"opera\"===i&&(15===s||16===s)))return(0,o.default)(u+t,t,l)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=r;var i=n(50),o=function(e){return e&&e.__esModule?e:{default:e}}(i),a={flex:!0,\"inline-flex\":!0};e.exports=t.default},function(e,t,n){\"use strict\";function r(e,t,n,r){var i=r.browserName,u=r.browserVersion,c=r.cssPrefix,p=r.keepUnprefixed,f=r.requiresPrefix;if((l.indexOf(e)>-1||\"display\"===e&&\"string\"==typeof t&&t.indexOf(\"flex\")>-1)&&(\"firefox\"===i&&u<22||\"chrome\"===i&&u<21||(\"safari\"===i||\"ios_saf\"===i)&&u<=6.1||\"android\"===i&&u<4.4||\"and_uc\"===i)){if(delete f[e],p||Array.isArray(n[e])||delete n[e],\"flexDirection\"===e&&\"string\"==typeof t&&(t.indexOf(\"column\")>-1?n.WebkitBoxOrient=\"vertical\":n.WebkitBoxOrient=\"horizontal\",t.indexOf(\"reverse\")>-1?n.WebkitBoxDirection=\"reverse\":n.WebkitBoxDirection=\"normal\"),\"display\"===e&&a.hasOwnProperty(t))return(0,o.default)(c+a[t],t,p);s.hasOwnProperty(e)&&(n[s[e]]=a[t]||t)}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=r;var i=n(50),o=function(e){return e&&e.__esModule?e:{default:e}}(i),a={\"space-around\":\"justify\",\"space-between\":\"justify\",\"flex-start\":\"start\",\"flex-end\":\"end\",\"wrap-reverse\":\"multiple\",wrap:\"multiple\",flex:\"box\",\"inline-flex\":\"inline-box\"},s={alignItems:\"WebkitBoxAlign\",justifyContent:\"WebkitBoxPack\",flexWrap:\"WebkitBoxLines\"},u=[\"alignContent\",\"alignSelf\",\"order\",\"flexGrow\",\"flexShrink\",\"flexBasis\",\"flexDirection\"],l=Object.keys(s).concat(u);e.exports=t.default},function(e,t,n){\"use strict\";function r(e,t,n,r){var i=r.browserName,s=r.browserVersion,u=r.cssPrefix,l=r.keepUnprefixed;if(\"string\"==typeof t&&a.test(t)&&(\"firefox\"===i&&s<16||\"chrome\"===i&&s<26||(\"safari\"===i||\"ios_saf\"===i)&&s<7||(\"opera\"===i||\"op_mini\"===i)&&s<12.1||\"android\"===i&&s<4.4||\"and_uc\"===i))return(0,o.default)(u+t,t,l)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=r;var i=n(50),o=function(e){return e&&e.__esModule?e:{default:e}}(i),a=/linear-gradient|radial-gradient|repeating-linear-gradient|repeating-radial-gradient/;e.exports=t.default},function(e,t,n){\"use strict\";function r(e,t,n,r){var i=r.browserName,a=r.cssPrefix,s=r.keepUnprefixed;if(\"string\"==typeof t&&t.indexOf(\"image-set(\")>-1&&(\"chrome\"===i||\"opera\"===i||\"and_chr\"===i||\"and_uc\"===i||\"ios_saf\"===i||\"safari\"===i))return(0,o.default)(t.replace(/image-set\\(/g,a+\"image-set(\"),t,s)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=r;var i=n(50),o=function(e){return e&&e.__esModule?e:{default:e}}(i);e.exports=t.default},function(e,t,n){\"use strict\";function r(e,t,n,r){var i=r.browserName,a=r.cssPrefix,s=r.keepUnprefixed;if(\"position\"===e&&\"sticky\"===t&&(\"safari\"===i||\"ios_saf\"===i))return(0,o.default)(a+t,t,s)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=r;var i=n(50),o=function(e){return e&&e.__esModule?e:{default:e}}(i);e.exports=t.default},function(e,t,n){\"use strict\";function r(e,t,n,r){var i=r.cssPrefix,u=r.keepUnprefixed;if(a.hasOwnProperty(e)&&s.hasOwnProperty(t))return(0,o.default)(i+t,t,u)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=r;var i=n(50),o=function(e){return e&&e.__esModule?e:{default:e}}(i),a={maxHeight:!0,maxWidth:!0,width:!0,height:!0,columnWidth:!0,minWidth:!0,minHeight:!0},s={\"min-content\":!0,\"max-content\":!0,\"fill-available\":!0,\"fit-content\":!0,\"contain-floats\":!0};e.exports=t.default},function(e,t,n){\"use strict\";function r(e,t,n,r){var i=r.cssPrefix,u=r.keepUnprefixed,l=r.requiresPrefix;if(\"string\"==typeof t&&a.hasOwnProperty(e)){s||(s=Object.keys(l).map(function(e){return(0,o.default)(e)}));var c=t.split(/,(?![^()]*(?:\\([^()]*\\))?\\))/g);return s.forEach(function(e){c.forEach(function(t,n){t.indexOf(e)>-1&&\"order\"!==e&&(c[n]=t.replace(e,i+e)+(u?\",\"+t:\"\"))})}),c.join(\",\")}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=r;var i=n(374),o=function(e){return e&&e.__esModule?e:{default:e}}(i),a={transition:!0,transitionProperty:!0,WebkitTransition:!0,WebkitTransitionProperty:!0,MozTransition:!0,MozTransitionProperty:!0},s=void 0;e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function i(e){function t(e){for(var i in e){var o=e[i];if((0,f.default)(o))e[i]=t(o);else if(Array.isArray(o)){for(var s=[],l=0,p=o.length;l<p;++l){var h=(0,u.default)(r,i,o[l],e,n);(0,c.default)(s,h||o[l])}s.length>0&&(e[i]=s)}else{var d=(0,u.default)(r,i,o,e,n);d&&(e[i]=d),(0,a.default)(n,i,e)}}return e}var n=e.prefixMap,r=e.plugins;return t}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=i;var o=n(807),a=r(o),s=n(394),u=r(s),l=n(392),c=r(l),p=n(393),f=r(p);e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(792),o=r(i),a=n(804),s=r(a),u=n(795),l=r(u),c=n(794),p=r(c),f=n(796),h=r(f),d=n(797),m=r(d),v=n(798),g=r(v),y=n(799),_=r(y),b=n(800),x=r(b),w=n(801),k=r(w),E=n(802),S=r(E),C=n(803),A=r(C),D=[p.default,l.default,h.default,g.default,_.default,x.default,k.default,S.default,A.default,m.default];t.default=(0,o.default)({prefixMap:s.default.prefixMap,plugins:D}),e.exports=t.default},function(e,t,n){\"use strict\";function r(e,t){if(\"string\"==typeof t&&!(0,o.default)(t)&&t.indexOf(\"cross-fade(\")>-1)return a.map(function(e){return t.replace(/cross-fade\\(/g,e+\"cross-fade(\")})}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=r;var i=n(112),o=function(e){return e&&e.__esModule?e:{default:e}}(i),a=[\"-webkit-\",\"\"];e.exports=t.default},function(e,t,n){\"use strict\";function r(e,t){if(\"cursor\"===e&&o.hasOwnProperty(t))return i.map(function(e){return e+t})}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=r;var i=[\"-webkit-\",\"-moz-\",\"\"],o={\"zoom-in\":!0,\"zoom-out\":!0,grab:!0,grabbing:!0};e.exports=t.default},function(e,t,n){\"use strict\";function r(e,t){if(\"string\"==typeof t&&!(0,o.default)(t)&&t.indexOf(\"filter(\")>-1)return a.map(function(e){return t.replace(/filter\\(/g,e+\"filter(\")})}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=r;var i=n(112),o=function(e){return e&&e.__esModule?e:{default:e}}(i),a=[\"-webkit-\",\"\"];e.exports=t.default},function(e,t,n){\"use strict\";function r(e,t){if(\"display\"===e&&i.hasOwnProperty(t))return i[t]}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=r;var i={flex:[\"-webkit-box\",\"-moz-box\",\"-ms-flexbox\",\"-webkit-flex\",\"flex\"],\"inline-flex\":[\"-webkit-inline-box\",\"-moz-inline-box\",\"-ms-inline-flexbox\",\"-webkit-inline-flex\",\"inline-flex\"]};e.exports=t.default},function(e,t,n){\"use strict\";function r(e,t,n){\"flexDirection\"===e&&\"string\"==typeof t&&(t.indexOf(\"column\")>-1?n.WebkitBoxOrient=\"vertical\":n.WebkitBoxOrient=\"horizontal\",t.indexOf(\"reverse\")>-1?n.WebkitBoxDirection=\"reverse\":n.WebkitBoxDirection=\"normal\"),o.hasOwnProperty(e)&&(n[o[e]]=i[t]||t)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=r;var i={\"space-around\":\"justify\",\"space-between\":\"justify\",\"flex-start\":\"start\",\"flex-end\":\"end\",\"wrap-reverse\":\"multiple\",wrap:\"multiple\"},o={alignItems:\"WebkitBoxAlign\",justifyContent:\"WebkitBoxPack\",flexWrap:\"WebkitBoxLines\"};e.exports=t.default},function(e,t,n){\"use strict\";function r(e,t){if(\"string\"==typeof t&&!(0,o.default)(t)&&s.test(t))return a.map(function(e){return e+t})}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=r;var i=n(112),o=function(e){return e&&e.__esModule?e:{default:e}}(i),a=[\"-webkit-\",\"-moz-\",\"\"],s=/linear-gradient|radial-gradient|repeating-linear-gradient|repeating-radial-gradient/;e.exports=t.default},function(e,t,n){\"use strict\";function r(e,t){if(\"string\"==typeof t&&!(0,o.default)(t)&&t.indexOf(\"image-set(\")>-1)return a.map(function(e){return t.replace(/image-set\\(/g,e+\"image-set(\")})}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=r;var i=n(112),o=function(e){return e&&e.__esModule?e:{default:e}}(i),a=[\"-webkit-\",\"\"];e.exports=t.default},function(e,t,n){\"use strict\";function r(e,t){if(\"position\"===e&&\"sticky\"===t)return[\"-webkit-sticky\",\"sticky\"]}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=r,e.exports=t.default},function(e,t,n){\"use strict\";function r(e,t){if(o.hasOwnProperty(e)&&a.hasOwnProperty(t))return i.map(function(e){return e+t})}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=r;var i=[\"-webkit-\",\"-moz-\",\"\"],o={maxHeight:!0,maxWidth:!0,width:!0,height:!0,columnWidth:!0,minWidth:!0,minHeight:!0},a={\"min-content\":!0,\"max-content\":!0,\"fill-available\":!0,\"fit-content\":!0,\"contain-floats\":!0};e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if((0,l.default)(e))return e;for(var n=e.split(/,(?![^()]*(?:\\([^()]*\\))?\\))/g),r=0,i=n.length;r<i;++r){var o=n[r],a=[o];for(var u in t){var c=(0,s.default)(u);if(o.indexOf(c)>-1&&\"order\"!==c)for(var p=t[u],f=0,d=p.length;f<d;++f)a.unshift(o.replace(c,h[p[f]]+c))}n[r]=a.join(\",\")}return n.join(\",\")}function o(e,t,n,r){if(\"string\"==typeof t&&f.hasOwnProperty(e)){var o=i(t,r),a=o.split(/,(?![^()]*(?:\\([^()]*\\))?\\))/g).filter(function(e){return!/-moz-|-ms-/.test(e)}).join(\",\");if(e.indexOf(\"Webkit\")>-1)return a;var s=o.split(/,(?![^()]*(?:\\([^()]*\\))?\\))/g).filter(function(e){return!/-webkit-|-ms-/.test(e)}).join(\",\");return e.indexOf(\"Moz\")>-1?s:(n[\"Webkit\"+(0,p.default)(e)]=a,n[\"Moz\"+(0,p.default)(e)]=s,o)}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=o;var a=n(374),s=r(a),u=n(112),l=r(u),c=n(213),p=r(c),f={transition:!0,transitionProperty:!0,WebkitTransition:!0,WebkitTransitionProperty:!0,MozTransition:!0,MozTransitionProperty:!0},h={Webkit:\"-webkit-\",Moz:\"-moz-\",ms:\"-ms-\"};e.exports=t.default},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=[\"Webkit\"],i=[\"Moz\"],o=[\"ms\"],a=[\"Webkit\",\"Moz\"],s=[\"Webkit\",\"ms\"],u=[\"Webkit\",\"Moz\",\"ms\"];t.default={plugins:[],prefixMap:{appearance:a,userSelect:u,textEmphasisPosition:r,textEmphasis:r,textEmphasisStyle:r,textEmphasisColor:r,boxDecorationBreak:r,clipPath:r,maskImage:r,maskMode:r,maskRepeat:r,maskPosition:r,maskClip:r,maskOrigin:r,maskSize:r,maskComposite:r,mask:r,maskBorderSource:r,maskBorderMode:r,maskBorderSlice:r,maskBorderWidth:r,maskBorderOutset:r,maskBorderRepeat:r,maskBorder:r,maskType:r,textDecorationStyle:r,textDecorationSkip:r,textDecorationLine:r,textDecorationColor:r,filter:r,fontFeatureSettings:r,breakAfter:u,breakBefore:u,breakInside:u,columnCount:a,columnFill:a,columnGap:a,columnRule:a,columnRuleColor:a,columnRuleStyle:a,columnRuleWidth:a,columns:a,columnSpan:a,columnWidth:a,writingMode:s,flex:r,flexBasis:r,flexDirection:r,flexGrow:r,flexFlow:r,flexShrink:r,flexWrap:r,alignContent:r,alignItems:r,alignSelf:r,justifyContent:r,order:r,transform:r,transformOrigin:r,transformOriginX:r,transformOriginY:r,backfaceVisibility:r,perspective:r,perspectiveOrigin:r,transformStyle:r,transformOriginZ:r,animation:r,animationDelay:r,animationDirection:r,animationFillMode:r,animationDuration:r,animationIterationCount:r,animationName:r,animationPlayState:r,animationTimingFunction:r,backdropFilter:r,fontKerning:r,scrollSnapType:s,scrollSnapPointsX:s,scrollSnapPointsY:s,scrollSnapDestination:s,scrollSnapCoordinate:s,shapeImageThreshold:r,shapeImageMargin:r,shapeImageOutside:r,hyphens:u,flowInto:s,flowFrom:s,regionFragment:s,textAlignLast:i,tabSize:i,wrapFlow:o,wrapThrough:o,wrapMargin:o,gridTemplateColumns:o,gridTemplateRows:o,gridTemplateAreas:o,gridTemplate:o,gridAutoColumns:o,gridAutoRows:o,gridAutoFlow:o,grid:o,gridRowStart:o,gridColumnStart:o,gridRowEnd:o,gridRow:o,gridColumn:o,gridColumnEnd:o,gridColumnGap:o,gridRowGap:o,gridArea:o,gridGap:o,textSizeAdjust:s,borderImage:r,borderImageOutset:r,borderImageRepeat:r,borderImageSlice:r,borderImageSource:r,borderImageWidth:r,transitionDelay:r,transitionDuration:r,transitionProperty:r,transitionTimingFunction:r}},e.exports=t.default},function(e,t,n){\"use strict\";function r(e){if(e.firefox)return\"firefox\";if(e.mobile||e.tablet){if(e.ios)return\"ios_saf\";if(e.android)return\"android\";if(e.opera)return\"op_mini\"}for(var t in u)if(e.hasOwnProperty(t))return u[t]}function i(e){var t=a.default._detect(e);t.yandexbrowser&&(t=a.default._detect(e.replace(/YaBrowser\\/[0-9.]*/,\"\")));for(var n in s)if(t.hasOwnProperty(n)){var i=s[n];t.jsPrefix=i,t.cssPrefix=\"-\"+i.toLowerCase()+\"-\";break}return t.browserName=r(t),t.version?t.browserVersion=parseFloat(t.version):t.browserVersion=parseInt(parseFloat(t.osversion),10),t.osVersion=parseFloat(t.osversion),\"ios_saf\"===t.browserName&&t.browserVersion>t.osVersion&&(t.browserVersion=t.osVersion),\"android\"===t.browserName&&t.chrome&&t.browserVersion>37&&(t.browserName=\"and_chr\"),\"android\"===t.browserName&&t.osVersion<5&&(t.browserVersion=t.osVersion),\"android\"===t.browserName&&t.samsungBrowser&&(t.browserName=\"and_chr\",t.browserVersion=44),t}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=i;var o=n(584),a=function(e){return e&&e.__esModule?e:{default:e}}(o),s={chrome:\"Webkit\",safari:\"Webkit\",ios:\"Webkit\",android:\"Webkit\",phantom:\"Webkit\",opera:\"Webkit\",webos:\"Webkit\",blackberry:\"Webkit\",bada:\"Webkit\",tizen:\"Webkit\",chromium:\"Webkit\",vivaldi:\"Webkit\",firefox:\"Moz\",seamoney:\"Moz\",sailfish:\"Moz\",msie:\"ms\",msedge:\"ms\"},u={chrome:\"chrome\",chromium:\"chrome\",safari:\"safari\",firfox:\"firefox\",msedge:\"edge\",opera:\"opera\",vivaldi:\"opera\",msie:\"ie\"};e.exports=t.default},function(e,t,n){\"use strict\";function r(e,t,n){return\"chrome\"===e&&t<43||(\"safari\"===e||\"ios_saf\"===e)&&t<9||\"opera\"===e&&t<30||\"android\"===e&&t<=4.4||\"and_uc\"===e?n+\"keyframes\":\"keyframes\"}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=r,e.exports=t.default},function(e,t,n){\"use strict\";function r(e,t,n){if(e.hasOwnProperty(t))for(var r=e[t],i=0,a=r.length;i<a;++i)n[r[i]+(0,o.default)(t)]=n[t]}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=r;var i=n(213),o=function(e){return e&&e.__esModule?e:{default:e}}(i);e.exports=t.default},function(e,t,n){\"use strict\";var r=function(e,t,n,r,i,o,a,s){if(!e){var u;if(void 0===t)u=new Error(\"Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.\");else{var l=[n,r,i,o,a,s],c=0;u=new Error(t.replace(/%s/g,function(){return l[c++]})),u.name=\"Invariant Violation\"}throw u.framesToPop=1,u}};e.exports=r},function(e,t){e.exports=FormData},function(e,t,n){\"use strict\";function r(e){return function(){throw new Error(\"Function \"+e+\" is deprecated and cannot be used.\")}}var i=n(812),o=n(811);e.exports.Type=n(17),e.exports.Schema=n(81),e.exports.FAILSAFE_SCHEMA=n(215),e.exports.JSON_SCHEMA=n(398),e.exports.CORE_SCHEMA=n(397),e.exports.DEFAULT_SAFE_SCHEMA=n(118),e.exports.DEFAULT_FULL_SCHEMA=n(145),e.exports.load=i.load,e.exports.loadAll=i.loadAll,e.exports.safeLoad=i.safeLoad,e.exports.safeLoadAll=i.safeLoadAll,e.exports.dump=o.dump,e.exports.safeDump=o.safeDump,e.exports.YAMLException=n(117),e.exports.MINIMAL_SCHEMA=n(215),e.exports.SAFE_SCHEMA=n(118),e.exports.DEFAULT_SCHEMA=n(145),e.exports.scan=r(\"scan\"),e.exports.parse=r(\"parse\"),e.exports.compose=r(\"compose\"),e.exports.addConstructor=r(\"addConstructor\")},function(e,t,n){\"use strict\";function r(e,t){var n,r,i,o,a,s,u;if(null===t)return{};for(n={},r=Object.keys(t),i=0,o=r.length;i<o;i+=1)a=r[i],s=String(t[a]),\"!!\"===a.slice(0,2)&&(a=\"tag:yaml.org,2002:\"+a.slice(2)),u=e.compiledTypeMap.fallback[a],u&&j.call(u.styleAliases,s)&&(s=u.styleAliases[s]),n[a]=s;return n}function i(e){var t,n,r;if(t=e.toString(16).toUpperCase(),e<=255)n=\"x\",r=2;else if(e<=65535)n=\"u\",r=4;else{if(!(e<=4294967295))throw new T(\"code point within a string may not be greater than 0xFFFFFFFF\");n=\"U\",r=8}return\"\\\\\"+n+M.repeat(\"0\",r-t.length)+t}function o(e){this.schema=e.schema||P,this.indent=Math.max(1,e.indent||2),this.skipInvalid=e.skipInvalid||!1,this.flowLevel=M.isNothing(e.flowLevel)?-1:e.flowLevel,this.styleMap=r(this.schema,e.styles||null),this.sortKeys=e.sortKeys||!1,this.lineWidth=e.lineWidth||80,this.noRefs=e.noRefs||!1,this.noCompatMode=e.noCompatMode||!1,this.condenseFlow=e.condenseFlow||!1,this.implicitTypes=this.schema.compiledImplicit,this.explicitTypes=this.schema.compiledExplicit,this.tag=null,this.result=\"\",this.duplicates=[],this.usedDuplicates=null}function a(e,t){for(var n,r=M.repeat(\" \",t),i=0,o=-1,a=\"\",s=e.length;i<s;)o=e.indexOf(\"\\n\",i),-1===o?(n=e.slice(i),i=s):(n=e.slice(i,o+1),i=o+1),n.length&&\"\\n\"!==n&&(a+=r),a+=n;return a}function s(e,t){return\"\\n\"+M.repeat(\" \",e.indent*t)}function u(e,t){var n,r,i;for(n=0,r=e.implicitTypes.length;n<r;n+=1)if(i=e.implicitTypes[n],i.resolve(t))return!0;return!1}function l(e){return e===B||e===N}function c(e){return 32<=e&&e<=126||161<=e&&e<=55295&&8232!==e&&8233!==e||57344<=e&&e<=65533&&65279!==e||65536<=e&&e<=1114111}function p(e){return c(e)&&65279!==e&&e!==J&&e!==Z&&e!==Q&&e!==te&&e!==re&&e!==X&&e!==z}function f(e){return c(e)&&65279!==e&&!l(e)&&e!==G&&e!==K&&e!==X&&e!==J&&e!==Z&&e!==Q&&e!==te&&e!==re&&e!==z&&e!==W&&e!==H&&e!==L&&e!==ne&&e!==Y&&e!==V&&e!==q&&e!==U&&e!==$&&e!==ee}function h(e,t,n,r,i){var o,a,s=!1,u=!1,h=-1!==r,d=-1,m=f(e.charCodeAt(0))&&!l(e.charCodeAt(e.length-1));if(t)for(o=0;o<e.length;o++){if(a=e.charCodeAt(o),!c(a))return ce;m=m&&p(a)}else{for(o=0;o<e.length;o++){if((a=e.charCodeAt(o))===F)s=!0,h&&(u=u||o-d-1>r&&\" \"!==e[d+1],d=o);else if(!c(a))return ce;m=m&&p(a)}u=u||h&&o-d-1>r&&\" \"!==e[d+1]}return s||u?\" \"===e[0]&&n>9?ce:u?le:ue:m&&!i(e)?ae:se}function d(e,t,n,r){e.dump=function(){function i(t){return u(e,t)}if(0===t.length)return\"''\";if(!e.noCompatMode&&-1!==oe.indexOf(t))return\"'\"+t+\"'\";var o=e.indent*Math.max(1,n),s=-1===e.lineWidth?-1:Math.max(Math.min(e.lineWidth,40),e.lineWidth-o),l=r||e.flowLevel>-1&&n>=e.flowLevel;switch(h(t,l,e.indent,s,i)){case ae:return t;case se:return\"'\"+t.replace(/'/g,\"''\")+\"'\";case ue:return\"|\"+m(t,e.indent)+v(a(t,o));case le:return\">\"+m(t,e.indent)+v(a(g(t,s),o));case ce:return'\"'+_(t)+'\"';default:throw new T(\"impossible error: invalid scalar style\")}}()}function m(e,t){var n=\" \"===e[0]?String(t):\"\",r=\"\\n\"===e[e.length-1];return n+(!r||\"\\n\"!==e[e.length-2]&&\"\\n\"!==e?r?\"\":\"-\":\"+\")+\"\\n\"}function v(e){return\"\\n\"===e[e.length-1]?e.slice(0,-1):e}function g(e,t){for(var n,r,i=/(\\n+)([^\\n]*)/g,o=function(){var n=e.indexOf(\"\\n\");return n=-1!==n?n:e.length,i.lastIndex=n,y(e.slice(0,n),t)}(),a=\"\\n\"===e[0]||\" \"===e[0];r=i.exec(e);){var s=r[1],u=r[2];n=\" \"===u[0],o+=s+(a||n||\"\"===u?\"\":\"\\n\")+y(u,t),a=n}return o}function y(e,t){if(\"\"===e||\" \"===e[0])return e;for(var n,r,i=/ [^ ]/g,o=0,a=0,s=0,u=\"\";n=i.exec(e);)s=n.index,s-o>t&&(r=a>o?a:s,u+=\"\\n\"+e.slice(o,r),o=r+1),a=s;return u+=\"\\n\",e.length-o>t&&a>o?u+=e.slice(o,a)+\"\\n\"+e.slice(a+1):u+=e.slice(o),u.slice(1)}function _(e){for(var t,n,r,o=\"\",a=0;a<e.length;a++)t=e.charCodeAt(a),t>=55296&&t<=56319&&(n=e.charCodeAt(a+1))>=56320&&n<=57343?(o+=i(1024*(t-55296)+n-56320+65536),a++):(r=ie[t],o+=!r&&c(t)?e[a]:r||i(t));return o}function b(e,t,n){var r,i,o=\"\",a=e.tag;for(r=0,i=n.length;r<i;r+=1)S(e,t,n[r],!1,!1)&&(0!==r&&(o+=\",\"+(e.condenseFlow?\"\":\" \")),o+=e.dump);e.tag=a,e.dump=\"[\"+o+\"]\"}function x(e,t,n,r){var i,o,a=\"\",u=e.tag;for(i=0,o=n.length;i<o;i+=1)S(e,t+1,n[i],!0,!0)&&(r&&0===i||(a+=s(e,t)),e.dump&&F===e.dump.charCodeAt(0)?a+=\"-\":a+=\"- \",a+=e.dump);e.tag=u,e.dump=a||\"[]\"}function w(e,t,n){var r,i,o,a,s,u=\"\",l=e.tag,c=Object.keys(n);for(r=0,i=c.length;r<i;r+=1)s=e.condenseFlow?'\"':\"\",0!==r&&(s+=\", \"),o=c[r],a=n[o],S(e,t,o,!1,!1)&&(e.dump.length>1024&&(s+=\"? \"),s+=e.dump+(e.condenseFlow?'\"':\"\")+\":\"+(e.condenseFlow?\"\":\" \"),S(e,t,a,!1,!1)&&(s+=e.dump,u+=s));e.tag=l,e.dump=\"{\"+u+\"}\"}function k(e,t,n,r){var i,o,a,u,l,c,p=\"\",f=e.tag,h=Object.keys(n);if(!0===e.sortKeys)h.sort();else if(\"function\"==typeof e.sortKeys)h.sort(e.sortKeys);else if(e.sortKeys)throw new T(\"sortKeys must be a boolean or a function\");for(i=0,o=h.length;i<o;i+=1)c=\"\",r&&0===i||(c+=s(e,t)),a=h[i],u=n[a],S(e,t+1,a,!0,!0,!0)&&(l=null!==e.tag&&\"?\"!==e.tag||e.dump&&e.dump.length>1024,l&&(e.dump&&F===e.dump.charCodeAt(0)?c+=\"?\":c+=\"? \"),c+=e.dump,l&&(c+=s(e,t)),S(e,t+1,u,!0,l)&&(e.dump&&F===e.dump.charCodeAt(0)?c+=\":\":c+=\": \",c+=e.dump,p+=c));e.tag=f,e.dump=p||\"{}\"}function E(e,t,n){var r,i,o,a,s,u;for(i=n?e.explicitTypes:e.implicitTypes,o=0,a=i.length;o<a;o+=1)if(s=i[o],(s.instanceOf||s.predicate)&&(!s.instanceOf||\"object\"==typeof t&&t instanceof s.instanceOf)&&(!s.predicate||s.predicate(t))){if(e.tag=n?s.tag:\"?\",s.represent){if(u=e.styleMap[s.tag]||s.defaultStyle,\"[object Function]\"===R.call(s.represent))r=s.represent(t,u);else{if(!j.call(s.represent,u))throw new T(\"!<\"+s.tag+'> tag resolver accepts not \"'+u+'\" style');r=s.represent[u](t,u)}e.dump=r}return!0}return!1}function S(e,t,n,r,i,o){e.tag=null,e.dump=n,E(e,n,!1)||E(e,n,!0);var a=R.call(e.dump);r&&(r=e.flowLevel<0||e.flowLevel>t);var s,u,l=\"[object Object]\"===a||\"[object Array]\"===a;if(l&&(s=e.duplicates.indexOf(n),u=-1!==s),(null!==e.tag&&\"?\"!==e.tag||u||2!==e.indent&&t>0)&&(i=!1),u&&e.usedDuplicates[s])e.dump=\"*ref_\"+s;else{if(l&&u&&!e.usedDuplicates[s]&&(e.usedDuplicates[s]=!0),\"[object Object]\"===a)r&&0!==Object.keys(e.dump).length?(k(e,t,e.dump,i),u&&(e.dump=\"&ref_\"+s+e.dump)):(w(e,t,e.dump),u&&(e.dump=\"&ref_\"+s+\" \"+e.dump));else if(\"[object Array]\"===a)r&&0!==e.dump.length?(x(e,t,e.dump,i),u&&(e.dump=\"&ref_\"+s+e.dump)):(b(e,t,e.dump),u&&(e.dump=\"&ref_\"+s+\" \"+e.dump));else{if(\"[object String]\"!==a){if(e.skipInvalid)return!1;throw new T(\"unacceptable kind of an object to dump \"+a)}\"?\"!==e.tag&&d(e,e.dump,t,o)}null!==e.tag&&\"?\"!==e.tag&&(e.dump=\"!<\"+e.tag+\"> \"+e.dump)}return!0}function C(e,t){var n,r,i=[],o=[];for(A(e,i,o),n=0,r=o.length;n<r;n+=1)t.duplicates.push(i[o[n]]);t.usedDuplicates=new Array(r)}function A(e,t,n){var r,i,o;if(null!==e&&\"object\"==typeof e)if(-1!==(i=t.indexOf(e)))-1===n.indexOf(i)&&n.push(i);else if(t.push(e),Array.isArray(e))for(i=0,o=e.length;i<o;i+=1)A(e[i],t,n);else for(r=Object.keys(e),i=0,o=r.length;i<o;i+=1)A(e[r[i]],t,n)}function D(e,t){t=t||{};var n=new o(t);return n.noRefs||C(e,n),S(n,0,e,!0,!0)?n.dump+\"\\n\":\"\"}function O(e,t){return D(e,M.extend({schema:I},t))}var M=n(80),T=n(117),P=n(145),I=n(118),R=Object.prototype.toString,j=Object.prototype.hasOwnProperty,N=9,F=10,B=32,L=33,q=34,z=35,U=37,W=38,V=39,H=42,J=44,G=45,X=58,Y=62,K=63,$=64,Z=91,Q=93,ee=96,te=123,ne=124,re=125,ie={};ie[0]=\"\\\\0\",ie[7]=\"\\\\a\",ie[8]=\"\\\\b\",ie[9]=\"\\\\t\",ie[10]=\"\\\\n\",ie[11]=\"\\\\v\",ie[12]=\"\\\\f\",ie[13]=\"\\\\r\",ie[27]=\"\\\\e\",ie[34]='\\\\\"',ie[92]=\"\\\\\\\\\",ie[133]=\"\\\\N\",ie[160]=\"\\\\_\",ie[8232]=\"\\\\L\",ie[8233]=\"\\\\P\";var oe=[\"y\",\"Y\",\"yes\",\"Yes\",\"YES\",\"on\",\"On\",\"ON\",\"n\",\"N\",\"no\",\"No\",\"NO\",\"off\",\"Off\",\"OFF\"],ae=1,se=2,ue=3,le=4,ce=5;e.exports.dump=D,e.exports.safeDump=O},function(e,t,n){\"use strict\";function r(e){return 10===e||13===e}function i(e){return 9===e||32===e}function o(e){return 9===e||32===e||10===e||13===e}function a(e){return 44===e||91===e||93===e||123===e||125===e}function s(e){var t;return 48<=e&&e<=57?e-48:(t=32|e,97<=t&&t<=102?t-97+10:-1)}function u(e){return 120===e?2:117===e?4:85===e?8:0}function l(e){return 48<=e&&e<=57?e-48:-1}function c(e){return 48===e?\"\\0\":97===e?\"\u0007\":98===e?\"\\b\":116===e?\"\\t\":9===e?\"\\t\":110===e?\"\\n\":118===e?\"\\v\":102===e?\"\\f\":114===e?\"\\r\":101===e?\"\u001b\":32===e?\" \":34===e?'\"':47===e?\"/\":92===e?\"\\\\\":78===e?\"\":95===e?\" \":76===e?\"\\u2028\":80===e?\"\\u2029\":\"\"}function p(e){return e<=65535?String.fromCharCode(e):String.fromCharCode(55296+(e-65536>>10),56320+(e-65536&1023))}function f(e,t){this.input=e,this.filename=t.filename||null,this.schema=t.schema||V,this.onWarning=t.onWarning||null,this.legacy=t.legacy||!1,this.json=t.json||!1,this.listener=t.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=e.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.documents=[]}function h(e,t){return new z(t,new U(e.filename,e.input,e.position,e.line,e.position-e.lineStart))}function d(e,t){throw h(e,t)}function m(e,t){e.onWarning&&e.onWarning.call(null,h(e,t))}function v(e,t,n,r){var i,o,a,s;if(t<n){if(s=e.input.slice(t,n),r)for(i=0,o=s.length;i<o;i+=1)9===(a=s.charCodeAt(i))||32<=a&&a<=1114111||d(e,\"expected valid JSON character\");else Q.test(s)&&d(e,\"the stream contains non-printable characters\");e.result+=s}}function g(e,t,n,r){var i,o,a,s;for(q.isObject(n)||d(e,\"cannot merge mappings; the provided source object is unacceptable\"),i=Object.keys(n),a=0,s=i.length;a<s;a+=1)o=i[a],H.call(t,o)||(t[o]=n[o],r[o]=!0)}function y(e,t,n,r,i,o,a,s){var u,l;if(i=String(i),null===t&&(t={}),\"tag:yaml.org,2002:merge\"===r)if(Array.isArray(o))for(u=0,l=o.length;u<l;u+=1)g(e,t,o[u],n);else g(e,t,o,n);else e.json||H.call(n,i)||!H.call(t,i)||(e.line=a||e.line,e.position=s||e.position,d(e,\"duplicated mapping key\")),t[i]=o,delete n[i];return t}function _(e){var t;t=e.input.charCodeAt(e.position),10===t?e.position++:13===t?(e.position++,10===e.input.charCodeAt(e.position)&&e.position++):d(e,\"a line break is expected\"),e.line+=1,e.lineStart=e.position}function b(e,t,n){for(var o=0,a=e.input.charCodeAt(e.position);0!==a;){for(;i(a);)a=e.input.charCodeAt(++e.position);if(t&&35===a)do{a=e.input.charCodeAt(++e.position)}while(10!==a&&13!==a&&0!==a);if(!r(a))break;for(_(e),a=e.input.charCodeAt(e.position),o++,e.lineIndent=0;32===a;)e.lineIndent++,a=e.input.charCodeAt(++e.position)}return-1!==n&&0!==o&&e.lineIndent<n&&m(e,\"deficient indentation\"),o}function x(e){var t,n=e.position;return!(45!==(t=e.input.charCodeAt(n))&&46!==t||t!==e.input.charCodeAt(n+1)||t!==e.input.charCodeAt(n+2)||(n+=3,0!==(t=e.input.charCodeAt(n))&&!o(t)))}function w(e,t){1===t?e.result+=\" \":t>1&&(e.result+=q.repeat(\"\\n\",t-1))}function k(e,t,n){var s,u,l,c,p,f,h,d,m,g=e.kind,y=e.result;if(m=e.input.charCodeAt(e.position),o(m)||a(m)||35===m||38===m||42===m||33===m||124===m||62===m||39===m||34===m||37===m||64===m||96===m)return!1;if((63===m||45===m)&&(u=e.input.charCodeAt(e.position+1),o(u)||n&&a(u)))return!1;for(e.kind=\"scalar\",e.result=\"\",l=c=e.position,p=!1;0!==m;){if(58===m){if(u=e.input.charCodeAt(e.position+1),o(u)||n&&a(u))break}else if(35===m){if(s=e.input.charCodeAt(e.position-1),o(s))break}else{if(e.position===e.lineStart&&x(e)||n&&a(m))break;if(r(m)){if(f=e.line,h=e.lineStart,d=e.lineIndent,b(e,!1,-1),e.lineIndent>=t){p=!0,m=e.input.charCodeAt(e.position);continue}e.position=c,e.line=f,e.lineStart=h,e.lineIndent=d;break}}p&&(v(e,l,c,!1),w(e,e.line-f),l=c=e.position,p=!1),i(m)||(c=e.position+1),m=e.input.charCodeAt(++e.position)}return v(e,l,c,!1),!!e.result||(e.kind=g,e.result=y,!1)}function E(e,t){var n,i,o;if(39!==(n=e.input.charCodeAt(e.position)))return!1;for(e.kind=\"scalar\",e.result=\"\",e.position++,i=o=e.position;0!==(n=e.input.charCodeAt(e.position));)if(39===n){if(v(e,i,e.position,!0),39!==(n=e.input.charCodeAt(++e.position)))return!0;i=e.position,e.position++,o=e.position}else r(n)?(v(e,i,o,!0),w(e,b(e,!1,t)),i=o=e.position):e.position===e.lineStart&&x(e)?d(e,\"unexpected end of the document within a single quoted scalar\"):(e.position++,o=e.position);d(e,\"unexpected end of the stream within a single quoted scalar\")}function S(e,t){var n,i,o,a,l,c;if(34!==(c=e.input.charCodeAt(e.position)))return!1;for(e.kind=\"scalar\",e.result=\"\",e.position++,n=i=e.position;0!==(c=e.input.charCodeAt(e.position));){if(34===c)return v(e,n,e.position,!0),e.position++,!0;if(92===c){if(v(e,n,e.position,!0),c=e.input.charCodeAt(++e.position),r(c))b(e,!1,t);else if(c<256&&ie[c])e.result+=oe[c],e.position++;else if((l=u(c))>0){for(o=l,a=0;o>0;o--)c=e.input.charCodeAt(++e.position),(l=s(c))>=0?a=(a<<4)+l:d(e,\"expected hexadecimal character\");e.result+=p(a),e.position++}else d(e,\"unknown escape sequence\");n=i=e.position}else r(c)?(v(e,n,i,!0),w(e,b(e,!1,t)),n=i=e.position):e.position===e.lineStart&&x(e)?d(e,\"unexpected end of the document within a double quoted scalar\"):(e.position++,i=e.position)}d(e,\"unexpected end of the stream within a double quoted scalar\")}function C(e,t){var n,r,i,a,s,u,l,c,p,f,h,m=!0,v=e.tag,g=e.anchor,_={};if(91===(h=e.input.charCodeAt(e.position)))a=93,l=!1,r=[];else{if(123!==h)return!1;a=125,l=!0,r={}}for(null!==e.anchor&&(e.anchorMap[e.anchor]=r),h=e.input.charCodeAt(++e.position);0!==h;){if(b(e,!0,t),(h=e.input.charCodeAt(e.position))===a)return e.position++,e.tag=v,e.anchor=g,e.kind=l?\"mapping\":\"sequence\",e.result=r,!0;m||d(e,\"missed comma between flow collection entries\"),p=c=f=null,s=u=!1,63===h&&(i=e.input.charCodeAt(e.position+1),o(i)&&(s=u=!0,e.position++,b(e,!0,t))),n=e.line,I(e,t,J,!1,!0),p=e.tag,c=e.result,b(e,!0,t),h=e.input.charCodeAt(e.position),!u&&e.line!==n||58!==h||(s=!0,h=e.input.charCodeAt(++e.position),b(e,!0,t),I(e,t,J,!1,!0),f=e.result),l?y(e,r,_,p,c,f):s?r.push(y(e,null,_,p,c,f)):r.push(c),b(e,!0,t),h=e.input.charCodeAt(e.position),44===h?(m=!0,h=e.input.charCodeAt(++e.position)):m=!1}d(e,\"unexpected end of the stream within a flow collection\")}function A(e,t){var n,o,a,s,u=K,c=!1,p=!1,f=t,h=0,m=!1;if(124===(s=e.input.charCodeAt(e.position)))o=!1;else{if(62!==s)return!1;o=!0}for(e.kind=\"scalar\",e.result=\"\";0!==s;)if(43===(s=e.input.charCodeAt(++e.position))||45===s)K===u?u=43===s?Z:$:d(e,\"repeat of a chomping mode identifier\");else{if(!((a=l(s))>=0))break;0===a?d(e,\"bad explicit indentation width of a block scalar; it cannot be less than one\"):p?d(e,\"repeat of an indentation width identifier\"):(f=t+a-1,p=!0)}if(i(s)){do{s=e.input.charCodeAt(++e.position)}while(i(s));if(35===s)do{s=e.input.charCodeAt(++e.position)}while(!r(s)&&0!==s)}for(;0!==s;){for(_(e),e.lineIndent=0,s=e.input.charCodeAt(e.position);(!p||e.lineIndent<f)&&32===s;)e.lineIndent++,s=e.input.charCodeAt(++e.position);if(!p&&e.lineIndent>f&&(f=e.lineIndent),r(s))h++;else{if(e.lineIndent<f){u===Z?e.result+=q.repeat(\"\\n\",c?1+h:h):u===K&&c&&(e.result+=\"\\n\");break}for(o?i(s)?(m=!0,e.result+=q.repeat(\"\\n\",c?1+h:h)):m?(m=!1,e.result+=q.repeat(\"\\n\",h+1)):0===h?c&&(e.result+=\" \"):e.result+=q.repeat(\"\\n\",h):e.result+=q.repeat(\"\\n\",c?1+h:h),c=!0,p=!0,h=0,n=e.position;!r(s)&&0!==s;)s=e.input.charCodeAt(++e.position);v(e,n,e.position,!1)}}return!0}function D(e,t){var n,r,i,a=e.tag,s=e.anchor,u=[],l=!1;for(null!==e.anchor&&(e.anchorMap[e.anchor]=u),i=e.input.charCodeAt(e.position);0!==i&&45===i&&(r=e.input.charCodeAt(e.position+1),o(r));)if(l=!0,e.position++,b(e,!0,-1)&&e.lineIndent<=t)u.push(null),i=e.input.charCodeAt(e.position);else if(n=e.line,I(e,t,X,!1,!0),u.push(e.result),b(e,!0,-1),i=e.input.charCodeAt(e.position),(e.line===n||e.lineIndent>t)&&0!==i)d(e,\"bad indentation of a sequence entry\");else if(e.lineIndent<t)break;return!!l&&(e.tag=a,e.anchor=s,e.kind=\"sequence\",e.result=u,!0)}function O(e,t,n){var r,a,s,u,l,c=e.tag,p=e.anchor,f={},h={},m=null,v=null,g=null,_=!1,x=!1;for(null!==e.anchor&&(e.anchorMap[e.anchor]=f),l=e.input.charCodeAt(e.position);0!==l;){if(r=e.input.charCodeAt(e.position+1),s=e.line,u=e.position,63!==l&&58!==l||!o(r)){if(!I(e,n,G,!1,!0))break;if(e.line===s){for(l=e.input.charCodeAt(e.position);i(l);)l=e.input.charCodeAt(++e.position);if(58===l)l=e.input.charCodeAt(++e.position),o(l)||d(e,\"a whitespace character is expected after the key-value separator within a block mapping\"),_&&(y(e,f,h,m,v,null),m=v=g=null),x=!0,_=!1,a=!1,m=e.tag,v=e.result;else{if(!x)return e.tag=c,e.anchor=p,!0;d(e,\"can not read an implicit mapping pair; a colon is missed\")}}else{if(!x)return e.tag=c,e.anchor=p,!0;d(e,\"can not read a block mapping entry; a multiline key may not be an implicit key\")}}else 63===l?(_&&(y(e,f,h,m,v,null),m=v=g=null),x=!0,_=!0,a=!0):_?(_=!1,a=!0):d(e,\"incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line\"),e.position+=1,l=r;if((e.line===s||e.lineIndent>t)&&(I(e,t,Y,!0,a)&&(_?v=e.result:g=e.result),_||(y(e,f,h,m,v,g,s,u),m=v=g=null),b(e,!0,-1),l=e.input.charCodeAt(e.position)),e.lineIndent>t&&0!==l)d(e,\"bad indentation of a mapping entry\");else if(e.lineIndent<t)break}return _&&y(e,f,h,m,v,null),x&&(e.tag=c,e.anchor=p,e.kind=\"mapping\",e.result=f),x}function M(e){var t,n,r,i,a=!1,s=!1;if(33!==(i=e.input.charCodeAt(e.position)))return!1;if(null!==e.tag&&d(e,\"duplication of a tag property\"),i=e.input.charCodeAt(++e.position),60===i?(a=!0,i=e.input.charCodeAt(++e.position)):33===i?(s=!0,n=\"!!\",i=e.input.charCodeAt(++e.position)):n=\"!\",t=e.position,a){do{i=e.input.charCodeAt(++e.position)}while(0!==i&&62!==i);e.position<e.length?(r=e.input.slice(t,e.position),i=e.input.charCodeAt(++e.position)):d(e,\"unexpected end of the stream within a verbatim tag\")}else{for(;0!==i&&!o(i);)33===i&&(s?d(e,\"tag suffix cannot contain exclamation marks\"):(n=e.input.slice(t-1,e.position+1),ne.test(n)||d(e,\"named tag handle cannot contain such characters\"),s=!0,t=e.position+1)),i=e.input.charCodeAt(++e.position);r=e.input.slice(t,e.position),te.test(r)&&d(e,\"tag suffix cannot contain flow indicator characters\")}return r&&!re.test(r)&&d(e,\"tag name cannot contain such characters: \"+r),a?e.tag=r:H.call(e.tagMap,n)?e.tag=e.tagMap[n]+r:\"!\"===n?e.tag=\"!\"+r:\"!!\"===n?e.tag=\"tag:yaml.org,2002:\"+r:d(e,'undeclared tag handle \"'+n+'\"'),!0}function T(e){var t,n;if(38!==(n=e.input.charCodeAt(e.position)))return!1;for(null!==e.anchor&&d(e,\"duplication of an anchor property\"),n=e.input.charCodeAt(++e.position),t=e.position;0!==n&&!o(n)&&!a(n);)n=e.input.charCodeAt(++e.position);return e.position===t&&d(e,\"name of an anchor node must contain at least one character\"),e.anchor=e.input.slice(t,e.position),!0}function P(e){var t,n,r;if(42!==(r=e.input.charCodeAt(e.position)))return!1;for(r=e.input.charCodeAt(++e.position),t=e.position;0!==r&&!o(r)&&!a(r);)r=e.input.charCodeAt(++e.position);return e.position===t&&d(e,\"name of an alias node must contain at least one character\"),n=e.input.slice(t,e.position),e.anchorMap.hasOwnProperty(n)||d(e,'unidentified alias \"'+n+'\"'),e.result=e.anchorMap[n],b(e,!0,-1),!0}function I(e,t,n,r,i){var o,a,s,u,l,c,p,f,h=1,m=!1,v=!1;if(null!==e.listener&&e.listener(\"open\",e),e.tag=null,e.anchor=null,e.kind=null,e.result=null,o=a=s=Y===n||X===n,r&&b(e,!0,-1)&&(m=!0,e.lineIndent>t?h=1:e.lineIndent===t?h=0:e.lineIndent<t&&(h=-1)),1===h)for(;M(e)||T(e);)b(e,!0,-1)?(m=!0,s=o,e.lineIndent>t?h=1:e.lineIndent===t?h=0:e.lineIndent<t&&(h=-1)):s=!1;if(s&&(s=m||i),1!==h&&Y!==n||(p=J===n||G===n?t:t+1,f=e.position-e.lineStart,1===h?s&&(D(e,f)||O(e,f,p))||C(e,p)?v=!0:(a&&A(e,p)||E(e,p)||S(e,p)?v=!0:P(e)?(v=!0,null===e.tag&&null===e.anchor||d(e,\"alias node should not have any properties\")):k(e,p,J===n)&&(v=!0,null===e.tag&&(e.tag=\"?\")),null!==e.anchor&&(e.anchorMap[e.anchor]=e.result)):0===h&&(v=s&&D(e,f))),null!==e.tag&&\"!\"!==e.tag)if(\"?\"===e.tag){for(u=0,l=e.implicitTypes.length;u<l;u+=1)if(c=e.implicitTypes[u],c.resolve(e.result)){e.result=c.construct(e.result),e.tag=c.tag,null!==e.anchor&&(e.anchorMap[e.anchor]=e.result);break}}else H.call(e.typeMap[e.kind||\"fallback\"],e.tag)?(c=e.typeMap[e.kind||\"fallback\"][e.tag],null!==e.result&&c.kind!==e.kind&&d(e,\"unacceptable node kind for !<\"+e.tag+'> tag; it should be \"'+c.kind+'\", not \"'+e.kind+'\"'),c.resolve(e.result)?(e.result=c.construct(e.result),null!==e.anchor&&(e.anchorMap[e.anchor]=e.result)):d(e,\"cannot resolve a node with !<\"+e.tag+\"> explicit tag\")):d(e,\"unknown tag !<\"+e.tag+\">\");return null!==e.listener&&e.listener(\"close\",e),null!==e.tag||null!==e.anchor||v}function R(e){var t,n,a,s,u=e.position,l=!1;for(e.version=null,e.checkLineBreaks=e.legacy,e.tagMap={},e.anchorMap={};0!==(s=e.input.charCodeAt(e.position))&&(b(e,!0,-1),s=e.input.charCodeAt(e.position),!(e.lineIndent>0||37!==s));){for(l=!0,s=e.input.charCodeAt(++e.position),t=e.position;0!==s&&!o(s);)s=e.input.charCodeAt(++e.position);for(n=e.input.slice(t,e.position),a=[],n.length<1&&d(e,\"directive name must not be less than one character in length\");0!==s;){for(;i(s);)s=e.input.charCodeAt(++e.position);if(35===s){do{s=e.input.charCodeAt(++e.position)}while(0!==s&&!r(s));break}if(r(s))break;for(t=e.position;0!==s&&!o(s);)s=e.input.charCodeAt(++e.position);a.push(e.input.slice(t,e.position))}0!==s&&_(e),H.call(se,n)?se[n](e,n,a):m(e,'unknown document directive \"'+n+'\"')}if(b(e,!0,-1),0===e.lineIndent&&45===e.input.charCodeAt(e.position)&&45===e.input.charCodeAt(e.position+1)&&45===e.input.charCodeAt(e.position+2)?(e.position+=3,b(e,!0,-1)):l&&d(e,\"directives end mark is expected\"),I(e,e.lineIndent-1,Y,!1,!0),b(e,!0,-1),e.checkLineBreaks&&ee.test(e.input.slice(u,e.position))&&m(e,\"non-ASCII line breaks are interpreted as content\"),e.documents.push(e.result),e.position===e.lineStart&&x(e))return void(46===e.input.charCodeAt(e.position)&&(e.position+=3,b(e,!0,-1)));e.position<e.length-1&&d(e,\"end of the stream or a document separator is expected\")}function j(e,t){e=String(e),t=t||{},0!==e.length&&(10!==e.charCodeAt(e.length-1)&&13!==e.charCodeAt(e.length-1)&&(e+=\"\\n\"),65279===e.charCodeAt(0)&&(e=e.slice(1)));var n=new f(e,t);for(n.input+=\"\\0\";32===n.input.charCodeAt(n.position);)n.lineIndent+=1,n.position+=1;for(;n.position<n.length-1;)R(n);return n.documents}function N(e,t,n){var r,i,o=j(e,n);if(\"function\"!=typeof t)return o;for(r=0,i=o.length;r<i;r+=1)t(o[r])}function F(e,t){var n=j(e,t);if(0!==n.length){if(1===n.length)return n[0];throw new z(\"expected a single document in the stream, but found more\")}}function B(e,t,n){if(\"function\"!=typeof t)return N(e,q.extend({schema:W},n));N(e,t,q.extend({schema:W},n))}function L(e,t){return F(e,q.extend({schema:W},t))}for(var q=n(80),z=n(117),U=n(813),W=n(118),V=n(145),H=Object.prototype.hasOwnProperty,J=1,G=2,X=3,Y=4,K=1,$=2,Z=3,Q=/[\\x00-\\x08\\x0B\\x0C\\x0E-\\x1F\\x7F-\\x84\\x86-\\x9F\\uFFFE\\uFFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF]/,ee=/[\\x85\\u2028\\u2029]/,te=/[,\\[\\]\\{\\}]/,ne=/^(?:!|!!|![a-z\\-]+!)$/i,re=/^(?:!|[^,\\[\\]\\{\\}])(?:%[0-9a-f]{2}|[0-9a-z\\-#;\\/\\?:@&=\\+\\$,_\\.!~\\*'\\(\\)\\[\\]])*$/i,ie=new Array(256),oe=new Array(256),ae=0;ae<256;ae++)ie[ae]=c(ae)?1:0,oe[ae]=c(ae);var se={YAML:function(e,t,n){var r,i,o;null!==e.version&&d(e,\"duplication of %YAML directive\"),1!==n.length&&d(e,\"YAML directive accepts exactly one argument\"),r=/^([0-9]+)\\.([0-9]+)$/.exec(n[0]),null===r&&d(e,\"ill-formed argument of the YAML directive\"),i=parseInt(r[1],10),o=parseInt(r[2],10),1!==i&&d(e,\"unacceptable YAML version of the document\"),e.version=n[0],e.checkLineBreaks=o<2,1!==o&&2!==o&&m(e,\"unsupported YAML version of the document\")},TAG:function(e,t,n){var r,i;2!==n.length&&d(e,\"TAG directive accepts exactly two arguments\"),r=n[0],i=n[1],ne.test(r)||d(e,\"ill-formed tag handle (first argument) of the TAG directive\"),H.call(e.tagMap,r)&&d(e,'there is a previously declared suffix for \"'+r+'\" tag handle'),re.test(i)||d(e,\"ill-formed tag prefix (second argument) of the TAG directive\"),e.tagMap[r]=i}};e.exports.loadAll=N,e.exports.load=F,e.exports.safeLoadAll=B,e.exports.safeLoad=L},function(e,t,n){\"use strict\";function r(e,t,n,r,i){this.name=e,this.buffer=t,this.position=n,this.line=r,this.column=i}var i=n(80);r.prototype.getSnippet=function(e,t){var n,r,o,a,s;if(!this.buffer)return null;for(e=e||4,t=t||75,n=\"\",r=this.position;r>0&&-1===\"\\0\\r\\n\\u2028\\u2029\".indexOf(this.buffer.charAt(r-1));)if(r-=1,this.position-r>t/2-1){n=\" ... \",r+=5;break}for(o=\"\",a=this.position;a<this.buffer.length&&-1===\"\\0\\r\\n\\u2028\\u2029\".indexOf(this.buffer.charAt(a));)if((a+=1)-this.position>t/2-1){o=\" ... \",a-=5;break}return s=this.buffer.slice(r,a),i.repeat(\" \",e)+n+s+o+\"\\n\"+i.repeat(\" \",e+this.position-r+n.length)+\"^\"},r.prototype.toString=function(e){var t,n=\"\";return this.name&&(n+='in \"'+this.name+'\" '),n+=\"at line \"+(this.line+1)+\", column \"+(this.column+1),e||(t=this.getSnippet())&&(n+=\":\\n\"+t),n},e.exports=r},function(e,t,n){\"use strict\";function r(e){if(null===e)return!1;var t,n,r=0,i=e.length,o=l;for(n=0;n<i;n++)if(!((t=o.indexOf(e.charAt(n)))>64)){if(t<0)return!1;r+=6}return r%8==0}function i(e){var t,n,r=e.replace(/[\\r\\n=]/g,\"\"),i=r.length,o=l,a=0,u=[];for(t=0;t<i;t++)t%4==0&&t&&(u.push(a>>16&255),u.push(a>>8&255),u.push(255&a)),a=a<<6|o.indexOf(r.charAt(t));return n=i%4*6,0===n?(u.push(a>>16&255),u.push(a>>8&255),u.push(255&a)):18===n?(u.push(a>>10&255),u.push(a>>2&255)):12===n&&u.push(a>>4&255),s?s.from?s.from(u):new s(u):u}function o(e){var t,n,r=\"\",i=0,o=e.length,a=l;for(t=0;t<o;t++)t%3==0&&t&&(r+=a[i>>18&63],r+=a[i>>12&63],r+=a[i>>6&63],r+=a[63&i]),i=(i<<8)+e[t];return n=o%3,0===n?(r+=a[i>>18&63],r+=a[i>>12&63],r+=a[i>>6&63],r+=a[63&i]):2===n?(r+=a[i>>10&63],r+=a[i>>4&63],r+=a[i<<2&63],r+=a[64]):1===n&&(r+=a[i>>2&63],r+=a[i<<4&63],r+=a[64],r+=a[64]),r}function a(e){return s&&s.isBuffer(e)}var s;try{s=n(42).Buffer}catch(e){}var u=n(17),l=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\\n\\r\";e.exports=new u(\"tag:yaml.org,2002:binary\",{kind:\"scalar\",resolve:r,construct:i,predicate:a,represent:o})},function(e,t,n){\"use strict\";function r(e){if(null===e)return!1;var t=e.length;return 4===t&&(\"true\"===e||\"True\"===e||\"TRUE\"===e)||5===t&&(\"false\"===e||\"False\"===e||\"FALSE\"===e)}function i(e){return\"true\"===e||\"True\"===e||\"TRUE\"===e}function o(e){return\"[object Boolean]\"===Object.prototype.toString.call(e)}var a=n(17);e.exports=new a(\"tag:yaml.org,2002:bool\",{kind:\"scalar\",resolve:r,construct:i,predicate:o,represent:{lowercase:function(e){return e?\"true\":\"false\"},uppercase:function(e){return e?\"TRUE\":\"FALSE\"},camelcase:function(e){return e?\"True\":\"False\"}},defaultStyle:\"lowercase\"})},function(e,t,n){\"use strict\";function r(e){return null!==e&&!(!l.test(e)||\"_\"===e[e.length-1])}function i(e){var t,n,r,i;return t=e.replace(/_/g,\"\").toLowerCase(),n=\"-\"===t[0]?-1:1,i=[],\"+-\".indexOf(t[0])>=0&&(t=t.slice(1)),\".inf\"===t?1===n?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:\".nan\"===t?NaN:t.indexOf(\":\")>=0?(t.split(\":\").forEach(function(e){i.unshift(parseFloat(e,10))}),t=0,r=1,i.forEach(function(e){t+=e*r,r*=60}),n*t):n*parseFloat(t,10)}function o(e,t){var n;if(isNaN(e))switch(t){case\"lowercase\":return\".nan\";case\"uppercase\":return\".NAN\";case\"camelcase\":return\".NaN\"}else if(Number.POSITIVE_INFINITY===e)switch(t){case\"lowercase\":return\".inf\";case\"uppercase\":return\".INF\";case\"camelcase\":return\".Inf\"}else if(Number.NEGATIVE_INFINITY===e)switch(t){case\"lowercase\":return\"-.inf\";case\"uppercase\":return\"-.INF\";case\"camelcase\":return\"-.Inf\"}else if(s.isNegativeZero(e))return\"-0.0\";return n=e.toString(10),c.test(n)?n.replace(\"e\",\".e\"):n}function a(e){return\"[object Number]\"===Object.prototype.toString.call(e)&&(e%1!=0||s.isNegativeZero(e))}var s=n(80),u=n(17),l=new RegExp(\"^(?:[-+]?(?:0|[1-9][0-9_]*)(?:\\\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\\\.[0-9_]*|[-+]?\\\\.(?:inf|Inf|INF)|\\\\.(?:nan|NaN|NAN))$\"),c=/^[-+]?[0-9]+e/;e.exports=new u(\"tag:yaml.org,2002:float\",{kind:\"scalar\",resolve:r,construct:i,predicate:a,represent:o,defaultStyle:\"lowercase\"})},function(e,t,n){\"use strict\";function r(e){return 48<=e&&e<=57||65<=e&&e<=70||97<=e&&e<=102}function i(e){return 48<=e&&e<=55}function o(e){return 48<=e&&e<=57}function a(e){if(null===e)return!1;var t,n=e.length,a=0,s=!1;if(!n)return!1;if(t=e[a],\"-\"!==t&&\"+\"!==t||(t=e[++a]),\"0\"===t){if(a+1===n)return!0;if(\"b\"===(t=e[++a])){for(a++;a<n;a++)if(\"_\"!==(t=e[a])){if(\"0\"!==t&&\"1\"!==t)return!1;s=!0}return s&&\"_\"!==t}if(\"x\"===t){for(a++;a<n;a++)if(\"_\"!==(t=e[a])){if(!r(e.charCodeAt(a)))return!1;s=!0}return s&&\"_\"!==t}for(;a<n;a++)if(\"_\"!==(t=e[a])){if(!i(e.charCodeAt(a)))return!1;s=!0}return s&&\"_\"!==t}if(\"_\"===t)return!1;for(;a<n;a++)if(\"_\"!==(t=e[a])){if(\":\"===t)break;if(!o(e.charCodeAt(a)))return!1;s=!0}return!(!s||\"_\"===t)&&(\":\"!==t||/^(:[0-5]?[0-9])+$/.test(e.slice(a)))}function s(e){var t,n,r=e,i=1,o=[];return-1!==r.indexOf(\"_\")&&(r=r.replace(/_/g,\"\")),t=r[0],\"-\"!==t&&\"+\"!==t||(\"-\"===t&&(i=-1),r=r.slice(1),t=r[0]),\"0\"===r?0:\"0\"===t?\"b\"===r[1]?i*parseInt(r.slice(2),2):\"x\"===r[1]?i*parseInt(r,16):i*parseInt(r,8):-1!==r.indexOf(\":\")?(r.split(\":\").forEach(function(e){o.unshift(parseInt(e,10))}),r=0,n=1,o.forEach(function(e){r+=e*n,n*=60}),i*r):i*parseInt(r,10)}function u(e){return\"[object Number]\"===Object.prototype.toString.call(e)&&e%1==0&&!l.isNegativeZero(e)}var l=n(80),c=n(17);e.exports=new c(\"tag:yaml.org,2002:int\",{kind:\"scalar\",resolve:a,construct:s,predicate:u,represent:{binary:function(e){return e>=0?\"0b\"+e.toString(2):\"-0b\"+e.toString(2).slice(1)},octal:function(e){return e>=0?\"0\"+e.toString(8):\"-0\"+e.toString(8).slice(1)},decimal:function(e){return e.toString(10)},hexadecimal:function(e){return e>=0?\"0x\"+e.toString(16).toUpperCase():\"-0x\"+e.toString(16).toUpperCase().slice(1)}},defaultStyle:\"decimal\",styleAliases:{binary:[2,\"bin\"],octal:[8,\"oct\"],decimal:[10,\"dec\"],hexadecimal:[16,\"hex\"]}})},function(e,t,n){\"use strict\";function r(e){if(null===e)return!1;try{var t=\"(\"+e+\")\",n=s.parse(t,{range:!0});return\"Program\"===n.type&&1===n.body.length&&\"ExpressionStatement\"===n.body[0].type&&(\"ArrowFunctionExpression\"===n.body[0].expression.type||\"FunctionExpression\"===n.body[0].expression.type)}catch(e){return!1}}function i(e){var t,n=\"(\"+e+\")\",r=s.parse(n,{range:!0}),i=[];if(\"Program\"!==r.type||1!==r.body.length||\"ExpressionStatement\"!==r.body[0].type||\"ArrowFunctionExpression\"!==r.body[0].expression.type&&\"FunctionExpression\"!==r.body[0].expression.type)throw new Error(\"Failed to resolve function\");return r.body[0].expression.params.forEach(function(e){i.push(e.name)}),t=r.body[0].expression.body.range,new Function(i,n.slice(t[0]+1,t[1]-1))}function o(e){return e.toString()}function a(e){return\"[object Function]\"===Object.prototype.toString.call(e)}var s;try{s=n(758)}catch(e){\"undefined\"!=typeof window&&(s=window.esprima)}var u=n(17);e.exports=new u(\"tag:yaml.org,2002:js/function\",{kind:\"scalar\",resolve:r,construct:i,predicate:a,represent:o})},function(e,t,n){\"use strict\";function r(e){if(null===e)return!1;if(0===e.length)return!1;var t=e,n=/\\/([gim]*)$/.exec(e),r=\"\";if(\"/\"===t[0]){if(n&&(r=n[1]),r.length>3)return!1;if(\"/\"!==t[t.length-r.length-1])return!1}return!0}function i(e){var t=e,n=/\\/([gim]*)$/.exec(e),r=\"\";return\"/\"===t[0]&&(n&&(r=n[1]),t=t.slice(1,t.length-r.length-1)),new RegExp(t,r)}function o(e){var t=\"/\"+e.source+\"/\";return e.global&&(t+=\"g\"),e.multiline&&(t+=\"m\"),e.ignoreCase&&(t+=\"i\"),t}function a(e){return\"[object RegExp]\"===Object.prototype.toString.call(e)}var s=n(17);e.exports=new s(\"tag:yaml.org,2002:js/regexp\",{kind:\"scalar\",resolve:r,construct:i,predicate:a,represent:o})},function(e,t,n){\"use strict\";function r(){return!0}function i(){}function o(){return\"\"}function a(e){return void 0===e}var s=n(17);e.exports=new s(\"tag:yaml.org,2002:js/undefined\",{kind:\"scalar\",resolve:r,construct:i,predicate:a,represent:o})},function(e,t,n){\"use strict\";var r=n(17);e.exports=new r(\"tag:yaml.org,2002:map\",{kind:\"mapping\",construct:function(e){return null!==e?e:{}}})},function(e,t,n){\"use strict\";function r(e){return\"<<\"===e||null===e}var i=n(17);e.exports=new i(\"tag:yaml.org,2002:merge\",{kind:\"scalar\",resolve:r})},function(e,t,n){\"use strict\";function r(e){if(null===e)return!0;var t=e.length;return 1===t&&\"~\"===e||4===t&&(\"null\"===e||\"Null\"===e||\"NULL\"===e)}function i(){return null}function o(e){return null===e}var a=n(17);e.exports=new a(\"tag:yaml.org,2002:null\",{kind:\"scalar\",resolve:r,construct:i,predicate:o,represent:{canonical:function(){return\"~\"},lowercase:function(){return\"null\"},uppercase:function(){return\"NULL\"},camelcase:function(){return\"Null\"}},defaultStyle:\"lowercase\"})},function(e,t,n){\"use strict\";function r(e){if(null===e)return!0;var t,n,r,i,o,u=[],l=e;for(t=0,n=l.length;t<n;t+=1){if(r=l[t],o=!1,\"[object Object]\"!==s.call(r))return!1;for(i in r)if(a.call(r,i)){if(o)return!1;o=!0}if(!o)return!1;if(-1!==u.indexOf(i))return!1;u.push(i)}return!0}function i(e){return null!==e?e:[]}var o=n(17),a=Object.prototype.hasOwnProperty,s=Object.prototype.toString;e.exports=new o(\"tag:yaml.org,2002:omap\",{kind:\"sequence\",resolve:r,construct:i})},function(e,t,n){\"use strict\";function r(e){if(null===e)return!0;var t,n,r,i,o,s=e;for(o=new Array(s.length),t=0,n=s.length;t<n;t+=1){if(r=s[t],\"[object Object]\"!==a.call(r))return!1;if(i=Object.keys(r),1!==i.length)return!1;o[t]=[i[0],r[i[0]]]}return!0}function i(e){if(null===e)return[];var t,n,r,i,o,a=e;for(o=new Array(a.length),t=0,n=a.length;t<n;t+=1)r=a[t],i=Object.keys(r),o[t]=[i[0],r[i[0]]];return o}var o=n(17),a=Object.prototype.toString;e.exports=new o(\"tag:yaml.org,2002:pairs\",{kind:\"sequence\",resolve:r,construct:i})},function(e,t,n){\"use strict\";var r=n(17);e.exports=new r(\"tag:yaml.org,2002:seq\",{kind:\"sequence\",construct:function(e){return null!==e?e:[]}})},function(e,t,n){\"use strict\";function r(e){if(null===e)return!0;var t,n=e;for(t in n)if(a.call(n,t)&&null!==n[t])return!1;return!0}function i(e){return null!==e?e:{}}var o=n(17),a=Object.prototype.hasOwnProperty;e.exports=new o(\"tag:yaml.org,2002:set\",{kind:\"mapping\",resolve:r,construct:i})},function(e,t,n){\"use strict\";var r=n(17);e.exports=new r(\"tag:yaml.org,2002:str\",{kind:\"scalar\",construct:function(e){return null!==e?e:\"\"}})},function(e,t,n){\"use strict\";function r(e){return null!==e&&(null!==s.exec(e)||null!==u.exec(e))}function i(e){var t,n,r,i,o,a,l,c,p,f,h=0,d=null;if(t=s.exec(e),null===t&&(t=u.exec(e)),null===t)throw new Error(\"Date resolve error\");if(n=+t[1],r=+t[2]-1,i=+t[3],!t[4])return new Date(Date.UTC(n,r,i));if(o=+t[4],a=+t[5],l=+t[6],t[7]){for(h=t[7].slice(0,3);h.length<3;)h+=\"0\";h=+h}return t[9]&&(c=+t[10],p=+(t[11]||0),d=6e4*(60*c+p),\"-\"===t[9]&&(d=-d)),f=new Date(Date.UTC(n,r,i,o,a,l,h)),d&&f.setTime(f.getTime()-d),f}function o(e){return e.toISOString()}var a=n(17),s=new RegExp(\"^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$\"),u=new RegExp(\"^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\\\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\\\.([0-9]*))?(?:[ \\\\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$\");e.exports=new a(\"tag:yaml.org,2002:timestamp\",{kind:\"scalar\",resolve:r,construct:i,instanceOf:Date,represent:o})},function(e,t,n){\"use strict\";function r(e){return null==e?void 0===e?u:s:l&&l in Object(e)?n.i(o.a)(e):n.i(a.a)(e)}var i=n(399),o=n(833),a=n(834),s=\"[object Null]\",u=\"[object Undefined]\",l=i.a?i.a.toStringTag:void 0;t.a=r},function(e,t,n){\"use strict\";(function(e){var n=\"object\"==typeof e&&e&&e.Object===Object&&e;t.a=n}).call(t,n(16))},function(e,t,n){\"use strict\";var r=n(835),i=n.i(r.a)(Object.getPrototypeOf,Object);t.a=i},function(e,t,n){\"use strict\";function r(e){var t=a.call(e,u),n=e[u];try{e[u]=void 0;var r=!0}catch(e){}var i=s.call(e);return r&&(t?e[u]=n:delete e[u]),i}var i=n(399),o=Object.prototype,a=o.hasOwnProperty,s=o.toString,u=i.a?i.a.toStringTag:void 0;t.a=r},function(e,t,n){\"use strict\";function r(e){return o.call(e)}var i=Object.prototype,o=i.toString;t.a=r},function(e,t,n){\"use strict\";function r(e,t){return function(n){return e(t(n))}}t.a=r},function(e,t,n){\"use strict\";var r=n(831),i=\"object\"==typeof self&&self&&self.Object===Object&&self,o=r.a||i||Function(\"return this\")();t.a=o},function(e,t,n){\"use strict\";function r(e){return null!=e&&\"object\"==typeof e}t.a=r},function(e,t){function n(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}function r(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}function i(e,t){var n=I(e)||h(e)?r(e.length,String):[],i=n.length,o=!!i;for(var a in e)!t&&!A.call(e,a)||o&&(\"length\"==a||l(a,i))||n.push(a);return n}function o(e,t,n){var r=e[t];A.call(e,t)&&f(r,n)&&(void 0!==n||t in e)||(e[t]=n)}function a(e){if(!p(e))return M(e);var t=[];for(var n in Object(e))A.call(e,n)&&\"constructor\"!=n&&t.push(n);return t}function s(e,t){return t=T(void 0===t?e.length-1:t,0),function(){for(var r=arguments,i=-1,o=T(r.length-t,0),a=Array(o);++i<o;)a[i]=r[t+i];i=-1;for(var s=Array(t+1);++i<t;)s[i]=r[i];return s[t]=a,n(e,this,s)}}function u(e,t,n,r){n||(n={});for(var i=-1,a=t.length;++i<a;){var s=t[i],u=r?r(n[s],e[s],s,n,e):void 0;o(n,s,void 0===u?e[s]:u)}return n}function l(e,t){return!!(t=null==t?x:t)&&(\"number\"==typeof e||S.test(e))&&e>-1&&e%1==0&&e<t}function c(e,t,n){if(!y(n))return!1;var r=typeof t;return!!(\"number\"==r?d(n)&&l(t,n.length):\"string\"==r&&t in n)&&f(n[t],e)}function p(e){var t=e&&e.constructor;return e===(\"function\"==typeof t&&t.prototype||C)}function f(e,t){return e===t||e!==e&&t!==t}function h(e){return m(e)&&A.call(e,\"callee\")&&(!O.call(e,\"callee\")||D.call(e)==w)}function d(e){return null!=e&&g(e.length)&&!v(e)}function m(e){return _(e)&&d(e)}function v(e){var t=y(e)?D.call(e):\"\";return t==k||t==E}function g(e){return\"number\"==typeof e&&e>-1&&e%1==0&&e<=x}function y(e){var t=typeof e;return!!e&&(\"object\"==t||\"function\"==t)}function _(e){return!!e&&\"object\"==typeof e}function b(e){return d(e)?i(e):a(e)}var x=9007199254740991,w=\"[object Arguments]\",k=\"[object Function]\",E=\"[object GeneratorFunction]\",S=/^(?:0|[1-9]\\d*)$/,C=Object.prototype,A=C.hasOwnProperty,D=C.toString,O=C.propertyIsEnumerable,M=function(e,t){return function(n){return e(t(n))}}(Object.keys,Object),T=Math.max,P=!O.call({valueOf:1},\"valueOf\"),I=Array.isArray,R=function(e){return s(function(t,n){var r=-1,i=n.length,o=i>1?n[i-1]:void 0,a=i>2?n[2]:void 0;for(o=e.length>3&&\"function\"==typeof o?(i--,o):void 0,a&&c(n[0],n[1],a)&&(o=i<3?void 0:o,i=1),t=Object(t);++r<i;){var s=n[r];s&&e(t,s,r,o)}return t})}(function(e,t){if(P||p(t)||d(t))return void u(t,b(t),e);for(var n in t)A.call(t,n)&&o(e,n,t[n])});e.exports=R},function(e,t,n){(function(e,n){function r(e,t){return e.set(t[0],t[1]),e}function i(e,t){return e.add(t),e}function o(e,t){for(var n=-1,r=e?e.length:0;++n<r&&!1!==t(e[n],n,e););return e}function a(e,t){for(var n=-1,r=t.length,i=e.length;++n<r;)e[i+n]=t[n];return e}function s(e,t,n,r){var i=-1,o=e?e.length:0;for(r&&o&&(n=e[++i]);++i<o;)n=t(n,e[i],i,e);return n}function u(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}function l(e,t){return null==e?void 0:e[t]}function c(e){var t=!1;if(null!=e&&\"function\"!=typeof e.toString)try{t=!!(e+\"\")}catch(e){}return t}function p(e){var t=-1,n=Array(e.size);return e.forEach(function(e,r){n[++t]=[r,e]}),n}function f(e,t){return function(n){return e(t(n))}}function h(e){var t=-1,n=Array(e.size);return e.forEach(function(e){n[++t]=e}),n}function d(e){var t=-1,n=e?e.length:0;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function m(){this.__data__=jt?jt(null):{}}function v(e){return this.has(e)&&delete this.__data__[e]}function g(e){var t=this.__data__;if(jt){var n=t[e];return n===Oe?void 0:n}return gt.call(t,e)?t[e]:void 0}function y(e){var t=this.__data__;return jt?void 0!==t[e]:gt.call(t,e)}function _(e,t){return this.__data__[e]=jt&&void 0===t?Oe:t,this}function b(e){var t=-1,n=e?e.length:0;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function x(){this.__data__=[]}function w(e){var t=this.__data__,n=q(t,e);return!(n<0)&&(n==t.length-1?t.pop():Ct.call(t,n,1),!0)}function k(e){var t=this.__data__,n=q(t,e);return n<0?void 0:t[n][1]}function E(e){return q(this.__data__,e)>-1}function S(e,t){var n=this.__data__,r=q(n,e);return r<0?n.push([e,t]):n[r][1]=t,this}function C(e){var t=-1,n=e?e.length:0;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function A(){this.__data__={hash:new d,map:new(Tt||b),string:new d}}function D(e){return ae(this,e).delete(e)}function O(e){return ae(this,e).get(e)}function M(e){return ae(this,e).has(e)}function T(e,t){return ae(this,e).set(e,t),this}function P(e){this.__data__=new b(e)}function I(){this.__data__=new b}function R(e){return this.__data__.delete(e)}function j(e){return this.__data__.get(e)}function N(e){return this.__data__.has(e)}function F(e,t){var n=this.__data__;if(n instanceof b){var r=n.__data__;if(!Tt||r.length<De-1)return r.push([e,t]),this;n=this.__data__=new C(r)}return n.set(e,t),this}function B(e,t){var n=Ht(e)||ye(e)?u(e.length,String):[],r=n.length,i=!!r;for(var o in e)!t&&!gt.call(e,o)||i&&(\"length\"==o||pe(o,r))||n.push(o);return n}function L(e,t,n){var r=e[t];gt.call(e,t)&&ge(r,n)&&(void 0!==n||t in e)||(e[t]=n)}function q(e,t){for(var n=e.length;n--;)if(ge(e[n][0],t))return n;return-1}function z(e,t){return e&&re(t,Se(t),e)}function U(e,t,n,r,i,a,s){var u;if(r&&(u=a?r(e,i,a,s):r(e)),void 0!==u)return u;if(!ke(e))return e;var l=Ht(e);if(l){if(u=ue(e),!t)return ne(e,u)}else{var p=Vt(e),f=p==Re||p==je;if(Jt(e))return X(e,t);if(p==Be||p==Te||f&&!a){if(c(e))return a?e:{};if(u=le(f?{}:e),!t)return ie(e,z(u,e))}else{if(!it[p])return a?e:{};u=ce(e,p,U,t)}}s||(s=new P);var h=s.get(e);if(h)return h;if(s.set(e,u),!l)var d=n?oe(e):Se(e);return o(d||e,function(i,o){d&&(o=i,i=e[o]),L(u,o,U(i,t,n,r,o,e,s))}),u}function W(e){return ke(e)?Et(e):{}}function V(e,t,n){var r=t(e);return Ht(e)?r:a(r,n(e))}function H(e){return yt.call(e)}function J(e){return!(!ke(e)||he(e))&&(xe(e)||c(e)?_t:nt).test(me(e))}function G(e){if(!de(e))return Ot(e);var t=[];for(var n in Object(e))gt.call(e,n)&&\"constructor\"!=n&&t.push(n);return t}function X(e,t){if(t)return e.slice();var n=new e.constructor(e.length);return e.copy(n),n}function Y(e){var t=new e.constructor(e.byteLength);return new wt(t).set(new wt(e)),t}function K(e,t){var n=t?Y(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}function $(e,t,n){return s(t?n(p(e),!0):p(e),r,new e.constructor)}function Z(e){var t=new e.constructor(e.source,tt.exec(e));return t.lastIndex=e.lastIndex,t}function Q(e,t,n){return s(t?n(h(e),!0):h(e),i,new e.constructor)}function ee(e){return Ut?Object(Ut.call(e)):{}}function te(e,t){var n=t?Y(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}function ne(e,t){var n=-1,r=e.length;for(t||(t=Array(r));++n<r;)t[n]=e[n];return t}function re(e,t,n,r){n||(n={});for(var i=-1,o=t.length;++i<o;){var a=t[i],s=r?r(n[a],e[a],a,n,e):void 0;L(n,a,void 0===s?e[a]:s)}return n}function ie(e,t){return re(e,Wt(e),t)}function oe(e){return V(e,Se,Wt)}function ae(e,t){var n=e.__data__;return fe(t)?n[\"string\"==typeof t?\"string\":\"hash\"]:n.map}function se(e,t){var n=l(e,t);return J(n)?n:void 0}function ue(e){var t=e.length,n=e.constructor(t);return t&&\"string\"==typeof e[0]&&gt.call(e,\"index\")&&(n.index=e.index,n.input=e.input),n}function le(e){return\"function\"!=typeof e.constructor||de(e)?{}:W(kt(e))}function ce(e,t,n,r){var i=e.constructor;switch(t){case We:return Y(e);case Pe:case Ie:return new i(+e);case Ve:return K(e,r);case He:case Je:case Ge:case Xe:case Ye:case Ke:case $e:case Ze:case Qe:return te(e,r);case Ne:return $(e,r,n);case Fe:case ze:return new i(e);case Le:return Z(e);case qe:return Q(e,r,n);case Ue:return ee(e)}}function pe(e,t){return!!(t=null==t?Me:t)&&(\"number\"==typeof e||rt.test(e))&&e>-1&&e%1==0&&e<t}function fe(e){var t=typeof e;return\"string\"==t||\"number\"==t||\"symbol\"==t||\"boolean\"==t?\"__proto__\"!==e:null===e}function he(e){return!!mt&&mt in e}function de(e){var t=e&&e.constructor;return e===(\"function\"==typeof t&&t.prototype||ht)}function me(e){if(null!=e){try{return vt.call(e)}catch(e){}try{return e+\"\"}catch(e){}}return\"\"}function ve(e){return U(e,!0,!0)}function ge(e,t){return e===t||e!==e&&t!==t}function ye(e){return be(e)&&gt.call(e,\"callee\")&&(!St.call(e,\"callee\")||yt.call(e)==Te)}function _e(e){return null!=e&&we(e.length)&&!xe(e)}function be(e){return Ee(e)&&_e(e)}function xe(e){var t=ke(e)?yt.call(e):\"\";return t==Re||t==je}function we(e){return\"number\"==typeof e&&e>-1&&e%1==0&&e<=Me}function ke(e){var t=typeof e;return!!e&&(\"object\"==t||\"function\"==t)}function Ee(e){return!!e&&\"object\"==typeof e}function Se(e){return _e(e)?B(e):G(e)}function Ce(){return[]}function Ae(){return!1}var De=200,Oe=\"__lodash_hash_undefined__\",Me=9007199254740991,Te=\"[object Arguments]\",Pe=\"[object Boolean]\",Ie=\"[object Date]\",Re=\"[object Function]\",je=\"[object GeneratorFunction]\",Ne=\"[object Map]\",Fe=\"[object Number]\",Be=\"[object Object]\",Le=\"[object RegExp]\",qe=\"[object Set]\",ze=\"[object String]\",Ue=\"[object Symbol]\",We=\"[object ArrayBuffer]\",Ve=\"[object DataView]\",He=\"[object Float32Array]\",Je=\"[object Float64Array]\",Ge=\"[object Int8Array]\",Xe=\"[object Int16Array]\",Ye=\"[object Int32Array]\",Ke=\"[object Uint8Array]\",$e=\"[object Uint8ClampedArray]\",Ze=\"[object Uint16Array]\",Qe=\"[object Uint32Array]\",et=/[\\\\^$.*+?()[\\]{}|]/g,tt=/\\w*$/,nt=/^\\[object .+?Constructor\\]$/,rt=/^(?:0|[1-9]\\d*)$/,it={};it[Te]=it[\"[object Array]\"]=it[We]=it[Ve]=it[Pe]=it[Ie]=it[He]=it[Je]=it[Ge]=it[Xe]=it[Ye]=it[Ne]=it[Fe]=it[Be]=it[Le]=it[qe]=it[ze]=it[Ue]=it[Ke]=it[$e]=it[Ze]=it[Qe]=!0,it[\"[object Error]\"]=it[Re]=it[\"[object WeakMap]\"]=!1;var ot=\"object\"==typeof e&&e&&e.Object===Object&&e,at=\"object\"==typeof self&&self&&self.Object===Object&&self,st=ot||at||Function(\"return this\")(),ut=\"object\"==typeof t&&t&&!t.nodeType&&t,lt=ut&&\"object\"==typeof n&&n&&!n.nodeType&&n,ct=lt&&lt.exports===ut,pt=Array.prototype,ft=Function.prototype,ht=Object.prototype,dt=st[\"__core-js_shared__\"],mt=function(){var e=/[^.]+$/.exec(dt&&dt.keys&&dt.keys.IE_PROTO||\"\");return e?\"Symbol(src)_1.\"+e:\"\"}(),vt=ft.toString,gt=ht.hasOwnProperty,yt=ht.toString,_t=RegExp(\"^\"+vt.call(gt).replace(et,\"\\\\$&\").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g,\"$1.*?\")+\"$\"),bt=ct?st.Buffer:void 0,xt=st.Symbol,wt=st.Uint8Array,kt=f(Object.getPrototypeOf,Object),Et=Object.create,St=ht.propertyIsEnumerable,Ct=pt.splice,At=Object.getOwnPropertySymbols,Dt=bt?bt.isBuffer:void 0,Ot=f(Object.keys,Object),Mt=se(st,\"DataView\"),Tt=se(st,\"Map\"),Pt=se(st,\"Promise\"),It=se(st,\"Set\"),Rt=se(st,\"WeakMap\"),jt=se(Object,\"create\"),Nt=me(Mt),Ft=me(Tt),Bt=me(Pt),Lt=me(It),qt=me(Rt),zt=xt?xt.prototype:void 0,Ut=zt?zt.valueOf:void 0;d.prototype.clear=m,d.prototype.delete=v,d.prototype.get=g,d.prototype.has=y,d.prototype.set=_,b.prototype.clear=x,b.prototype.delete=w,b.prototype.get=k,b.prototype.has=E,b.prototype.set=S,C.prototype.clear=A,C.prototype.delete=D,C.prototype.get=O,C.prototype.has=M,C.prototype.set=T,P.prototype.clear=I,P.prototype.delete=R,P.prototype.get=j,P.prototype.has=N,P.prototype.set=F;var Wt=At?f(At,Object):Ce,Vt=H;(Mt&&Vt(new Mt(new ArrayBuffer(1)))!=Ve||Tt&&Vt(new Tt)!=Ne||Pt&&\"[object Promise]\"!=Vt(Pt.resolve())||It&&Vt(new It)!=qe||Rt&&\"[object WeakMap]\"!=Vt(new Rt))&&(Vt=function(e){var t=yt.call(e),n=t==Be?e.constructor:void 0,r=n?me(n):void 0;if(r)switch(r){case Nt:return Ve;case Ft:return Ne;case Bt:return\"[object Promise]\";case Lt:return qe;case qt:return\"[object WeakMap]\"}return t});var Ht=Array.isArray,Jt=Dt||Ae;n.exports=ve}).call(t,n(16),n(94)(e))},function(e,t,n){(function(t){function n(e,t,n){function i(t){var n=m,r=v;return m=v=void 0,E=t,y=e.apply(r,n)}function o(e){return E=e,_=setTimeout(c,t),S?i(e):y}function u(e){var n=e-k,r=e-E,i=t-n;return C?x(i,g-r):i}function l(e){var n=e-k,r=e-E;return void 0===k||n>=t||n<0||C&&r>=g}function c(){var e=w();if(l(e))return p(e);_=setTimeout(c,u(e))}function p(e){return _=void 0,A&&m?i(e):(m=v=void 0,y)}function f(){void 0!==_&&clearTimeout(_),E=0,m=k=v=_=void 0}function h(){return void 0===_?y:p(w())}function d(){var e=w(),n=l(e);if(m=arguments,v=this,k=e,n){if(void 0===_)return o(k);if(C)return _=setTimeout(c,t),i(k)}return void 0===_&&(_=setTimeout(c,t)),y}var m,v,g,y,_,k,E=0,S=!1,C=!1,A=!0;if(\"function\"!=typeof e)throw new TypeError(s);return t=a(t)||0,r(n)&&(S=!!n.leading,C=\"maxWait\"in n,g=C?b(a(n.maxWait)||0,t):g,A=\"trailing\"in n?!!n.trailing:A),d.cancel=f,d.flush=h,d}function r(e){var t=typeof e;return!!e&&(\"object\"==t||\"function\"==t)}function i(e){return!!e&&\"object\"==typeof e}function o(e){return\"symbol\"==typeof e||i(e)&&_.call(e)==l}function a(e){if(\"number\"==typeof e)return e;if(o(e))return u;if(r(e)){var t=\"function\"==typeof e.valueOf?e.valueOf():e;e=r(t)?t+\"\":t}if(\"string\"!=typeof e)return 0===e?e:+e;e=e.replace(c,\"\");var n=f.test(e);return n||h.test(e)?d(e.slice(2),n?2:8):p.test(e)?u:+e}var s=\"Expected a function\",u=NaN,l=\"[object Symbol]\",c=/^\\s+|\\s+$/g,p=/^[-+]0x[0-9a-f]+$/i,f=/^0b[01]+$/i,h=/^0o[0-7]+$/i,d=parseInt,m=\"object\"==typeof t&&t&&t.Object===Object&&t,v=\"object\"==typeof self&&self&&self.Object===Object&&self,g=m||v||Function(\"return this\")(),y=Object.prototype,_=y.toString,b=Math.max,x=Math.min,w=function(){return g.Date.now()};e.exports=n}).call(t,n(16))},function(e,t,n){(function(t){function n(e){if(\"string\"==typeof e)return e;if(i(e))return y?y.call(e):\"\";var t=e+\"\";return\"0\"==t&&1/e==-s?\"-0\":t}function r(e){return!!e&&\"object\"==typeof e}function i(e){return\"symbol\"==typeof e||r(e)&&m.call(e)==u}function o(e){return null==e?\"\":n(e)}function a(e){return e=o(e),e&&c.test(e)?e.replace(l,\"\\\\$&\"):e}var s=1/0,u=\"[object Symbol]\",l=/[\\\\^$.*+?()[\\]{}|]/g,c=RegExp(l.source),p=\"object\"==typeof t&&t&&t.Object===Object&&t,f=\"object\"==typeof self&&self&&self.Object===Object&&self,h=p||f||Function(\"return this\")(),d=Object.prototype,m=d.toString,v=h.Symbol,g=v?v.prototype:void 0,y=g?g.toString:void 0;e.exports=a}).call(t,n(16))},function(e,t){function n(e){return!!e&&\"object\"==typeof e}function r(e){return\"string\"==typeof e||!s(e)&&n(e)&&a.call(e)==i}var i=\"[object String]\",o=Object.prototype,a=o.toString,s=Array.isArray;e.exports=r},function(e,t,n){(function(e,n){function r(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}function i(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}function o(e,t){return null==e?void 0:e[t]}function a(e,t){return\"__proto__\"==t?void 0:e[t]}function s(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function u(){this.__data__=gt?gt(null):{},this.size=0}function l(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}function c(e){var t=this.__data__;if(gt){var n=t[e];return n===we?void 0:n}return Ze.call(t,e)?t[e]:void 0}function p(e){var t=this.__data__;return gt?void 0!==t[e]:Ze.call(t,e)}function f(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=gt&&void 0===t?we:t,this}function h(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function d(){this.__data__=[],this.size=0}function m(e){var t=this.__data__,n=R(t,e);return!(n<0)&&(n==t.length-1?t.pop():ct.call(t,n,1),--this.size,!0)}function v(e){var t=this.__data__,n=R(t,e);return n<0?void 0:t[n][1]}function g(e){return R(this.__data__,e)>-1}function y(e,t){var n=this.__data__,r=R(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this}function _(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function b(){this.size=0,this.__data__={hash:new s,map:new(vt||h),string:new s}}function x(e){var t=Y(this,e).delete(e);return this.size-=t?1:0,t}function w(e){return Y(this,e).get(e)}function k(e){return Y(this,e).has(e)}function E(e,t){var n=Y(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this}function S(e){var t=this.__data__=new h(e);this.size=t.size}function C(){this.__data__=new h,this.size=0}function A(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}function D(e){return this.__data__.get(e)}function O(e){return this.__data__.has(e)}function M(e,t){var n=this.__data__;if(n instanceof h){var r=n.__data__;if(!vt||r.length<xe-1)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new _(r)}return n.set(e,t),this.size=n.size,this}function T(e,t){var n=kt(e),r=!n&&wt(e),o=!n&&!r&&Et(e),a=!n&&!r&&!o&&St(e),s=n||r||o||a,u=s?i(e.length,String):[],l=u.length;for(var c in e)!t&&!Ze.call(e,c)||s&&(\"length\"==c||o&&(\"offset\"==c||\"parent\"==c)||a&&(\"buffer\"==c||\"byteLength\"==c||\"byteOffset\"==c)||Q(c,l))||u.push(c);return u}function P(e,t,n){(void 0===n||ue(e[t],n))&&(void 0!==n||t in e)||j(e,t,n)}function I(e,t,n){var r=e[t];Ze.call(e,t)&&ue(r,n)&&(void 0!==n||t in e)||j(e,t,n)}function R(e,t){for(var n=e.length;n--;)if(ue(e[n][0],t))return n;return-1}function j(e,t,n){\"__proto__\"==t&&ft?ft(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n}function N(e){return null==e?void 0===e?Ie:Me:pt&&pt in Object(e)?$(e):oe(e)}function F(e){return de(e)&&N(e)==Ce}function B(e){return!(!he(e)||ne(e))&&(pe(e)?nt:je).test(se(e))}function L(e){return de(e)&&fe(e.length)&&!!Fe[N(e)]}function q(e){if(!he(e))return ie(e);var t=re(e),n=[];for(var r in e)(\"constructor\"!=r||!t&&Ze.call(e,r))&&n.push(r);return n}function z(e,t,n,r,i){e!==t&&_t(t,function(o,s){if(he(o))i||(i=new S),U(e,t,s,n,z,r,i);else{var u=r?r(a(e,s),o,s+\"\",e,t,i):void 0;void 0===u&&(u=o),P(e,s,u)}},ge)}function U(e,t,n,r,i,o,s){var u=a(e,n),l=a(t,n),c=s.get(l);if(c)return void P(e,n,c);var p=o?o(u,l,n+\"\",e,t,s):void 0,f=void 0===p;if(f){var h=kt(l),d=!h&&Et(l),m=!h&&!d&&St(l);p=l,h||d||m?kt(u)?p=u:ce(u)?p=G(u):d?(f=!1,p=V(l,!0)):m?(f=!1,p=J(l,!0)):p=[]:me(l)||wt(l)?(p=u,wt(u)?p=ve(u):(!he(u)||r&&pe(u))&&(p=Z(l))):f=!1}f&&(s.set(l,p),i(p,l,r,o,s),s.delete(l)),P(e,n,p)}function W(e,t){return xt(ae(e,t,_e),e+\"\")}function V(e,t){if(t)return e.slice();var n=e.length,r=at?at(n):new e.constructor(n);return e.copy(r),r}function H(e){var t=new e.constructor(e.byteLength);return new ot(t).set(new ot(e)),t}function J(e,t){var n=t?H(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}function G(e,t){var n=-1,r=e.length;for(t||(t=Array(r));++n<r;)t[n]=e[n];return t}function X(e,t,n,r){var i=!n;n||(n={});for(var o=-1,a=t.length;++o<a;){var s=t[o],u=r?r(n[s],e[s],s,n,e):void 0;void 0===u&&(u=e[s]),i?j(n,s,u):I(n,s,u)}return n}function Y(e,t){var n=e.__data__;return te(t)?n[\"string\"==typeof t?\"string\":\"hash\"]:n.map}function K(e,t){var n=o(e,t);return B(n)?n:void 0}function $(e){var t=Ze.call(e,pt),n=e[pt];try{e[pt]=void 0;var r=!0}catch(e){}var i=et.call(e);return r&&(t?e[pt]=n:delete e[pt]),i}function Z(e){return\"function\"!=typeof e.constructor||re(e)?{}:yt(st(e))}function Q(e,t){var n=typeof e;return!!(t=null==t?Se:t)&&(\"number\"==n||\"symbol\"!=n&&Ne.test(e))&&e>-1&&e%1==0&&e<t}function ee(e,t,n){if(!he(n))return!1;var r=typeof t;return!!(\"number\"==r?le(n)&&Q(t,n.length):\"string\"==r&&t in n)&&ue(n[t],e)}function te(e){var t=typeof e;return\"string\"==t||\"number\"==t||\"symbol\"==t||\"boolean\"==t?\"__proto__\"!==e:null===e}function ne(e){return!!Qe&&Qe in e}function re(e){var t=e&&e.constructor;return e===(\"function\"==typeof t&&t.prototype||Ye)}function ie(e){var t=[];if(null!=e)for(var n in Object(e))t.push(n);return t}function oe(e){return et.call(e)}function ae(e,t,n){return t=dt(void 0===t?e.length-1:t,0),function(){for(var i=arguments,o=-1,a=dt(i.length-t,0),s=Array(a);++o<a;)s[o]=i[t+o];o=-1;for(var u=Array(t+1);++o<t;)u[o]=i[o];return u[t]=n(s),r(e,this,u)}}function se(e){if(null!=e){try{return $e.call(e)}catch(e){}try{return e+\"\"}catch(e){}}return\"\"}function ue(e,t){return e===t||e!==e&&t!==t}function le(e){return null!=e&&fe(e.length)&&!pe(e)}function ce(e){return de(e)&&le(e)}function pe(e){if(!he(e))return!1;var t=N(e);return t==De||t==Oe||t==Ae||t==Pe}function fe(e){return\"number\"==typeof e&&e>-1&&e%1==0&&e<=Se}function he(e){var t=typeof e;return null!=e&&(\"object\"==t||\"function\"==t)}function de(e){return null!=e&&\"object\"==typeof e}function me(e){if(!de(e)||N(e)!=Te)return!1;var t=st(e);if(null===t)return!0;var n=Ze.call(t,\"constructor\")&&t.constructor;return\"function\"==typeof n&&n instanceof n&&$e.call(n)==tt}function ve(e){return X(e,ge(e))}function ge(e){return le(e)?T(e,!0):q(e)}function ye(e){return function(){return e}}function _e(e){return e}function be(){return!1}var xe=200,we=\"__lodash_hash_undefined__\",ke=800,Ee=16,Se=9007199254740991,Ce=\"[object Arguments]\",Ae=\"[object AsyncFunction]\",De=\"[object Function]\",Oe=\"[object GeneratorFunction]\",Me=\"[object Null]\",Te=\"[object Object]\",Pe=\"[object Proxy]\",Ie=\"[object Undefined]\",Re=/[\\\\^$.*+?()[\\]{}|]/g,je=/^\\[object .+?Constructor\\]$/,Ne=/^(?:0|[1-9]\\d*)$/,Fe={};Fe[\"[object Float32Array]\"]=Fe[\"[object Float64Array]\"]=Fe[\"[object Int8Array]\"]=Fe[\"[object Int16Array]\"]=Fe[\"[object Int32Array]\"]=Fe[\"[object Uint8Array]\"]=Fe[\"[object Uint8ClampedArray]\"]=Fe[\"[object Uint16Array]\"]=Fe[\"[object Uint32Array]\"]=!0,Fe[Ce]=Fe[\"[object Array]\"]=Fe[\"[object ArrayBuffer]\"]=Fe[\"[object Boolean]\"]=Fe[\"[object DataView]\"]=Fe[\"[object Date]\"]=Fe[\"[object Error]\"]=Fe[De]=Fe[\"[object Map]\"]=Fe[\"[object Number]\"]=Fe[Te]=Fe[\"[object RegExp]\"]=Fe[\"[object Set]\"]=Fe[\"[object String]\"]=Fe[\"[object WeakMap]\"]=!1;var Be=\"object\"==typeof e&&e&&e.Object===Object&&e,Le=\"object\"==typeof self&&self&&self.Object===Object&&self,qe=Be||Le||Function(\"return this\")(),ze=\"object\"==typeof t&&t&&!t.nodeType&&t,Ue=ze&&\"object\"==typeof n&&n&&!n.nodeType&&n,We=Ue&&Ue.exports===ze,Ve=We&&Be.process,He=function(){try{return Ve&&Ve.binding&&Ve.binding(\"util\")}catch(e){}}(),Je=He&&He.isTypedArray,Ge=Array.prototype,Xe=Function.prototype,Ye=Object.prototype,Ke=qe[\"__core-js_shared__\"],$e=Xe.toString,Ze=Ye.hasOwnProperty,Qe=function(){var e=/[^.]+$/.exec(Ke&&Ke.keys&&Ke.keys.IE_PROTO||\"\");return e?\"Symbol(src)_1.\"+e:\"\"}(),et=Ye.toString,tt=$e.call(Object),nt=RegExp(\"^\"+$e.call(Ze).replace(Re,\"\\\\$&\").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g,\"$1.*?\")+\"$\"),rt=We?qe.Buffer:void 0,it=qe.Symbol,ot=qe.Uint8Array,at=rt?rt.allocUnsafe:void 0,st=function(e,t){return function(n){return e(t(n))}}(Object.getPrototypeOf,Object),ut=Object.create,lt=Ye.propertyIsEnumerable,ct=Ge.splice,pt=it?it.toStringTag:void 0,ft=function(){try{var e=K(Object,\"defineProperty\");return e({},\"\",{}),e}catch(e){}}(),ht=rt?rt.isBuffer:void 0,dt=Math.max,mt=Date.now,vt=K(qe,\"Map\"),gt=K(Object,\"create\"),yt=function(){function e(){}return function(t){if(!he(t))return{};if(ut)return ut(t);e.prototype=t;var n=new e;return e.prototype=void 0,n}}();s.prototype.clear=u,s.prototype.delete=l,s.prototype.get=c,s.prototype.has=p,s.prototype.set=f,h.prototype.clear=d,h.prototype.delete=m,h.prototype.get=v,h.prototype.has=g,h.prototype.set=y,_.prototype.clear=b,_.prototype.delete=x,_.prototype.get=w,_.prototype.has=k,_.prototype.set=E,S.prototype.clear=C,S.prototype.delete=A,S.prototype.get=D,S.prototype.has=O,S.prototype.set=M;var _t=function(e){return function(t,n,r){for(var i=-1,o=Object(t),a=r(t),s=a.length;s--;){var u=a[e?s:++i];if(!1===n(o[u],u,o))break}return t}}(),bt=ft?function(e,t){return ft(e,\"toString\",{configurable:!0,enumerable:!1,value:ye(t),writable:!0})}:_e,xt=function(e){var t=0,n=0;return function(){var r=mt(),i=Ee-(r-n);if(n=r,i>0){if(++t>=ke)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}(bt),wt=F(function(){return arguments}())?F:function(e){return de(e)&&Ze.call(e,\"callee\")&&!lt.call(e,\"callee\")},kt=Array.isArray,Et=ht||be,St=Je?function(e){return function(t){return e(t)}}(Je):L,Ct=function(e){return W(function(t,n){var r=-1,i=n.length,o=i>1?n[i-1]:void 0,a=i>2?n[2]:void 0;for(o=e.length>3&&\"function\"==typeof o?(i--,o):void 0,a&&ee(n[0],n[1],a)&&(o=i<3?void 0:o,i=1),t=Object(t);++r<i;){var s=n[r];s&&e(t,s,r,o)}return t})}(function(e,t,n,r){z(e,t,n,r)});n.exports=Ct}).call(t,n(16),n(94)(e))},function(e,t,n){var r=n(67),i=n(39),o=r(i,\"DataView\");e.exports=o},function(e,t,n){function r(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}var i=n(911),o=n(912),a=n(913),s=n(914),u=n(915);r.prototype.clear=i,r.prototype.delete=o,r.prototype.get=a,r.prototype.has=s,r.prototype.set=u,e.exports=r},function(e,t,n){var r=n(67),i=n(39),o=r(i,\"Promise\");e.exports=o},function(e,t,n){var r=n(67),i=n(39),o=r(i,\"Set\");e.exports=o},function(e,t,n){function r(e){var t=-1,n=null==e?0:e.length;for(this.__data__=new i;++t<n;)this.add(e[t])}var i=n(217),o=n(938),a=n(939);r.prototype.add=r.prototype.push=o,r.prototype.has=a,e.exports=r},function(e,t,n){var r=n(67),i=n(39),o=r(i,\"WeakMap\");e.exports=o},function(e,t){function n(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}e.exports=n},function(e,t){function n(e,t){for(var n=-1,r=null==e?0:e.length;++n<r&&!1!==t(e[n],n,e););return e}e.exports=n},function(e,t){function n(e,t){for(var n=-1,r=null==e?0:e.length,i=0,o=[];++n<r;){var a=e[n];t(a,n,e)&&(o[i++]=a)}return o}e.exports=n},function(e,t){function n(e){return e.split(\"\")}e.exports=n},function(e,t){function n(e){return e.match(r)||[]}var r=/[^\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\x7f]+/g;e.exports=n},function(e,t,n){function r(e,t){return e&&i(t,o(t),e)}var i=n(84),o=n(68);e.exports=r},function(e,t,n){function r(e,t){return e&&i(t,o(t),e)}var i=n(84),o=n(435);e.exports=r},function(e,t){function n(e,t,n){return e===e&&(void 0!==n&&(e=e<=n?e:n),void 0!==t&&(e=e>=t?e:t)),e}e.exports=n},function(e,t,n){var r=n(40),i=Object.create,o=function(){function e(){}return function(t){if(!r(t))return{};if(i)return i(t);e.prototype=t;var n=new e;return e.prototype=void 0,n}}();e.exports=o},function(e,t){function n(e,t,n,r){for(var i=e.length,o=n+(r?1:-1);r?o--:++o<i;)if(t(e[o],o,e))return o;return-1}e.exports=n},function(e,t,n){function r(e,t,n,a,s){var u=-1,l=e.length;for(n||(n=o),s||(s=[]);++u<l;){var c=e[u];t>0&&n(c)?t>1?r(c,t-1,n,a,s):i(s,c):a||(s[s.length]=c)}return s}var i=n(219),o=n(919);e.exports=r},function(e,t,n){var r=n(899),i=r();e.exports=i},function(e,t,n){function r(e,t){return e&&i(e,t,o)}var i=n(861),o=n(68);e.exports=r},function(e,t){function n(e,t){return null!=e&&t in Object(e)}e.exports=n},function(e,t,n){function r(e){return o(e)&&i(e)==a}var i=n(66),o=n(51),a=\"[object Arguments]\";e.exports=r},function(e,t,n){function r(e,t,n,r,v,y){var _=l(e),b=l(t),x=_?d:u(e),w=b?d:u(t);x=x==h?m:x,w=w==h?m:w;var k=x==m,E=w==m,S=x==w;if(S&&c(e)){if(!c(t))return!1;_=!0,k=!1}if(S&&!k)return y||(y=new i),_||p(e)?o(e,t,n,r,v,y):a(e,t,x,n,r,v,y);if(!(n&f)){var C=k&&g.call(e,\"__wrapped__\"),A=E&&g.call(t,\"__wrapped__\");if(C||A){var D=C?e.value():e,O=A?t.value():t;return y||(y=new i),v(D,O,n,r,y)}}return!!S&&(y||(y=new i),s(e,t,n,r,v,y))}var i=n(218),o=n(417),a=n(904),s=n(905),u=n(152),l=n(22),c=n(230),p=n(434),f=1,h=\"[object Arguments]\",d=\"[object Array]\",m=\"[object Object]\",v=Object.prototype,g=v.hasOwnProperty;e.exports=r},function(e,t,n){function r(e){return o(e)&&i(e)==a}var i=n(152),o=n(51),a=\"[object Map]\";e.exports=r},function(e,t,n){function r(e,t,n,r){var u=n.length,l=u,c=!r;if(null==e)return!l;for(e=Object(e);u--;){var p=n[u];if(c&&p[2]?p[1]!==e[p[0]]:!(p[0]in e))return!1}for(;++u<l;){p=n[u];var f=p[0],h=e[f],d=p[1];if(c&&p[2]){if(void 0===h&&!(f in e))return!1}else{var m=new i;if(r)var v=r(h,d,f,e,t,m);if(!(void 0===v?o(d,h,a|s,r,m):v))return!1}}return!0}var i=n(218),o=n(411),a=1,s=2;e.exports=r},function(e,t,n){function r(e){return!(!a(e)||o(e))&&(i(e)?d:l).test(s(e))}var i=n(432),o=n(921),a=n(40),s=n(430),u=/[\\\\^$.*+?()[\\]{}|]/g,l=/^\\[object .+?Constructor\\]$/,c=Function.prototype,p=Object.prototype,f=c.toString,h=p.hasOwnProperty,d=RegExp(\"^\"+f.call(h).replace(u,\"\\\\$&\").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g,\"$1.*?\")+\"$\");e.exports=r},function(e,t,n){function r(e){return o(e)&&i(e)==a}var i=n(152),o=n(51),a=\"[object Set]\";e.exports=r},function(e,t,n){function r(e){return a(e)&&o(e.length)&&!!s[i(e)]}var i=n(66),o=n(231),a=n(51),s={};s[\"[object Float32Array]\"]=s[\"[object Float64Array]\"]=s[\"[object Int8Array]\"]=s[\"[object Int16Array]\"]=s[\"[object Int32Array]\"]=s[\"[object Uint8Array]\"]=s[\"[object Uint8ClampedArray]\"]=s[\"[object Uint16Array]\"]=s[\"[object Uint32Array]\"]=!0,s[\"[object Arguments]\"]=s[\"[object Array]\"]=s[\"[object ArrayBuffer]\"]=s[\"[object Boolean]\"]=s[\"[object DataView]\"]=s[\"[object Date]\"]=s[\"[object Error]\"]=s[\"[object Function]\"]=s[\"[object Map]\"]=s[\"[object Number]\"]=s[\"[object Object]\"]=s[\"[object RegExp]\"]=s[\"[object Set]\"]=s[\"[object String]\"]=s[\"[object WeakMap]\"]=!1,e.exports=r},function(e,t,n){function r(e){if(!i(e))return o(e);var t=[];for(var n in Object(e))s.call(e,n)&&\"constructor\"!=n&&t.push(n);return t}var i=n(154),o=n(934),a=Object.prototype,s=a.hasOwnProperty;e.exports=r},function(e,t,n){function r(e){if(!i(e))return a(e);var t=o(e),n=[];for(var r in e)(\"constructor\"!=r||!t&&u.call(e,r))&&n.push(r);return n}var i=n(40),o=n(154),a=n(935),s=Object.prototype,u=s.hasOwnProperty;e.exports=r},function(e,t,n){function r(e){var t=o(e);return 1==t.length&&t[0][2]?a(t[0][0],t[0][1]):function(n){return n===e||i(n,e,t)}}var i=n(867),o=n(906),a=n(426);e.exports=r},function(e,t,n){function r(e,t){return s(e)&&u(t)?l(c(e),t):function(n){var r=o(n,e);return void 0===r&&r===t?a(n,e):i(t,r,p|f)}}var i=n(411),o=n(227),a=n(431),s=n(224),u=n(425),l=n(426),c=n(85),p=1,f=2;e.exports=r},function(e,t,n){function r(e,t){return i(e,t,function(t,n){return o(e,n)})}var i=n(876),o=n(431);e.exports=r},function(e,t,n){function r(e,t,n){for(var r=-1,s=t.length,u={};++r<s;){var l=t[r],c=i(e,l);n(c,l)&&o(u,a(l,e),c)}return u}var i=n(149),o=n(412),a=n(83);e.exports=r},function(e,t){function n(e){return function(t){return null==t?void 0:t[e]}}e.exports=n},function(e,t,n){function r(e){return function(t){return i(t,e)}}var i=n(149);e.exports=r},function(e,t){function n(e){return function(t){return null==e?void 0:e[t]}}e.exports=n},function(e,t){function n(e,t,n,r,i){return i(e,function(e,i,o){n=r?(r=!1,e):t(n,e,i,o)}),n}e.exports=n},function(e,t,n){function r(e,t){return a(o(e,t,i),e+\"\")}var i=n(228),o=n(428),a=n(429);e.exports=r},function(e,t,n){var r=n(955),i=n(416),o=n(228),a=i?function(e,t){return i(e,\"toString\",{configurable:!0,enumerable:!1,value:r(t),writable:!0})}:o;e.exports=a},function(e,t,n){function r(e,t){var n;return i(e,function(e,r,i){return!(n=t(e,r,i))}),!!n}var i=n(409);e.exports=r},function(e,t){function n(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}e.exports=n},function(e,t,n){function r(e,t){return t=i(t,e),null==(e=a(e,t))||delete e[s(o(t))]}var i=n(83),o=n(962),a=n(937),s=n(85);e.exports=r},function(e,t){function n(e,t){return e.has(t)}e.exports=n},function(e,t,n){function r(e,t,n){var r=e.length;return n=void 0===n?r:n,!t&&n>=r?e:i(e,t,n)}var i=n(413);e.exports=r},function(e,t,n){(function(e){function r(e,t){if(t)return e.slice();var n=e.length,r=l?l(n):new e.constructor(n);return e.copy(r),r}var i=n(39),o=\"object\"==typeof t&&t&&!t.nodeType&&t,a=o&&\"object\"==typeof e&&e&&!e.nodeType&&e,s=a&&a.exports===o,u=s?i.Buffer:void 0,l=u?u.allocUnsafe:void 0;e.exports=r}).call(t,n(94)(e))},function(e,t,n){function r(e,t){var n=t?i(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}var i=n(221);e.exports=r},function(e,t){function n(e){var t=new e.constructor(e.source,r.exec(e));return t.lastIndex=e.lastIndex,t}var r=/\\w*$/;e.exports=n},function(e,t,n){function r(e){return a?Object(a.call(e)):{}}var i=n(82),o=i?i.prototype:void 0,a=o?o.valueOf:void 0;e.exports=r},function(e,t,n){function r(e,t){var n=t?i(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}var i=n(221);e.exports=r},function(e,t){function n(e,t){var n=-1,r=e.length;for(t||(t=Array(r));++n<r;)t[n]=e[n];return t}e.exports=n},function(e,t,n){function r(e,t){return i(e,o(e),t)}var i=n(84),o=n(223);e.exports=r},function(e,t,n){function r(e,t){return i(e,o(e),t)}var i=n(84),o=n(422);e.exports=r},function(e,t,n){var r=n(39),i=r[\"__core-js_shared__\"];e.exports=i},function(e,t,n){function r(e){return i(function(t,n){var r=-1,i=n.length,a=i>1?n[i-1]:void 0,s=i>2?n[2]:void 0;for(a=e.length>3&&\"function\"==typeof a?(i--,a):void 0,s&&o(n[0],n[1],s)&&(a=i<3?void 0:a,i=1),t=Object(t);++r<i;){var u=n[r];u&&e(t,u,r,a)}return t})}var i=n(881),o=n(424);e.exports=r},function(e,t,n){function r(e,t){return function(n,r){if(null==n)return n;if(!i(n))return e(n,r);for(var o=n.length,a=t?o:-1,s=Object(n);(t?a--:++a<o)&&!1!==r(s[a],a,s););return n}}var i=n(86);e.exports=r},function(e,t){function n(e){return function(t,n,r){for(var i=-1,o=Object(t),a=r(t),s=a.length;s--;){var u=a[e?s:++i];if(!1===n(o[u],u,o))break}return t}}e.exports=n},function(e,t,n){function r(e){return function(t){t=s(t);var n=o(t)?a(t):void 0,r=n?n[0]:t.charAt(0),u=n?i(n,1).join(\"\"):t.slice(1);return r[e]()+u}}var i=n(887),o=n(423),a=n(947),s=n(87);e.exports=r},function(e,t,n){function r(e){return function(t,n,r){var s=Object(t);if(!o(t)){var u=i(n,3);t=a(t),n=function(e){return u(s[e],e,s)}}var l=e(t,n,r);return l>-1?s[u?t[l]:l]:void 0}}var i=n(150),o=n(86),a=n(68);e.exports=r},function(e,t,n){function r(e){return i(e)?void 0:e}var i=n(232);e.exports=r},function(e,t,n){var r=n(879),i={\"À\":\"A\",\"Á\":\"A\",\"Â\":\"A\",\"Ã\":\"A\",\"Ä\":\"A\",\"Å\":\"A\",\"à\":\"a\",\"á\":\"a\",\"â\":\"a\",\"ã\":\"a\",\"ä\":\"a\",\"å\":\"a\",\"Ç\":\"C\",\"ç\":\"c\",\"Ð\":\"D\",\"ð\":\"d\",\"È\":\"E\",\"É\":\"E\",\"Ê\":\"E\",\"Ë\":\"E\",\"è\":\"e\",\"é\":\"e\",\"ê\":\"e\",\"ë\":\"e\",\"Ì\":\"I\",\"Í\":\"I\",\"Î\":\"I\",\"Ï\":\"I\",\"ì\":\"i\",\"í\":\"i\",\"î\":\"i\",\"ï\":\"i\",\"Ñ\":\"N\",\"ñ\":\"n\",\"Ò\":\"O\",\"Ó\":\"O\",\"Ô\":\"O\",\"Õ\":\"O\",\"Ö\":\"O\",\"Ø\":\"O\",\"ò\":\"o\",\"ó\":\"o\",\"ô\":\"o\",\"õ\":\"o\",\"ö\":\"o\",\"ø\":\"o\",\"Ù\":\"U\",\"Ú\":\"U\",\"Û\":\"U\",\"Ü\":\"U\",\"ù\":\"u\",\"ú\":\"u\",\"û\":\"u\",\"ü\":\"u\",\"Ý\":\"Y\",\"ý\":\"y\",\"ÿ\":\"y\",\"Æ\":\"Ae\",\"æ\":\"ae\",\"Þ\":\"Th\",\"þ\":\"th\",\"ß\":\"ss\",\"Ā\":\"A\",\"Ă\":\"A\",\"Ą\":\"A\",\"ā\":\"a\",\"ă\":\"a\",\"ą\":\"a\",\"Ć\":\"C\",\"Ĉ\":\"C\",\"Ċ\":\"C\",\"Č\":\"C\",\"ć\":\"c\",\"ĉ\":\"c\",\"ċ\":\"c\",\"č\":\"c\",\"Ď\":\"D\",\"Đ\":\"D\",\"ď\":\"d\",\"đ\":\"d\",\"Ē\":\"E\",\"Ĕ\":\"E\",\"Ė\":\"E\",\"Ę\":\"E\",\"Ě\":\"E\",\"ē\":\"e\",\"ĕ\":\"e\",\"ė\":\"e\",\"ę\":\"e\",\"ě\":\"e\",\"Ĝ\":\"G\",\"Ğ\":\"G\",\"Ġ\":\"G\",\"Ģ\":\"G\",\"ĝ\":\"g\",\"ğ\":\"g\",\"ġ\":\"g\",\"ģ\":\"g\",\"Ĥ\":\"H\",\"Ħ\":\"H\",\"ĥ\":\"h\",\"ħ\":\"h\",\"Ĩ\":\"I\",\"Ī\":\"I\",\"Ĭ\":\"I\",\"Į\":\"I\",\"İ\":\"I\",\"ĩ\":\"i\",\"ī\":\"i\",\"ĭ\":\"i\",\"į\":\"i\",\"ı\":\"i\",\"Ĵ\":\"J\",\"ĵ\":\"j\",\"Ķ\":\"K\",\"ķ\":\"k\",\"ĸ\":\"k\",\"Ĺ\":\"L\",\"Ļ\":\"L\",\"Ľ\":\"L\",\"Ŀ\":\"L\",\"Ł\":\"L\",\"ĺ\":\"l\",\"ļ\":\"l\",\"ľ\":\"l\",\"ŀ\":\"l\",\"ł\":\"l\",\"Ń\":\"N\",\"Ņ\":\"N\",\"Ň\":\"N\",\"Ŋ\":\"N\",\"ń\":\"n\",\"ņ\":\"n\",\"ň\":\"n\",\"ŋ\":\"n\",\"Ō\":\"O\",\"Ŏ\":\"O\",\"Ő\":\"O\",\"ō\":\"o\",\"ŏ\":\"o\",\"ő\":\"o\",\"Ŕ\":\"R\",\"Ŗ\":\"R\",\"Ř\":\"R\",\"ŕ\":\"r\",\"ŗ\":\"r\",\"ř\":\"r\",\"Ś\":\"S\",\"Ŝ\":\"S\",\"Ş\":\"S\",\"Š\":\"S\",\"ś\":\"s\",\"ŝ\":\"s\",\"ş\":\"s\",\"š\":\"s\",\"Ţ\":\"T\",\"Ť\":\"T\",\"Ŧ\":\"T\",\"ţ\":\"t\",\"ť\":\"t\",\"ŧ\":\"t\",\"Ũ\":\"U\",\"Ū\":\"U\",\"Ŭ\":\"U\",\"Ů\":\"U\",\"Ű\":\"U\",\"Ų\":\"U\",\"ũ\":\"u\",\"ū\":\"u\",\"ŭ\":\"u\",\"ů\":\"u\",\"ű\":\"u\",\"ų\":\"u\",\"Ŵ\":\"W\",\"ŵ\":\"w\",\"Ŷ\":\"Y\",\"ŷ\":\"y\",\"Ÿ\":\"Y\",\"Ź\":\"Z\",\"Ż\":\"Z\",\"Ž\":\"Z\",\"ź\":\"z\",\"ż\":\"z\",\"ž\":\"z\",\"Ĳ\":\"IJ\",\"ĳ\":\"ij\",\"Œ\":\"Oe\",\"œ\":\"oe\",\"ŉ\":\"'n\",\"ſ\":\"s\"},o=r(i);e.exports=o},function(e,t,n){function r(e,t,n,r,i,k,S){switch(n){case w:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case x:return!(e.byteLength!=t.byteLength||!k(new o(e),new o(t)));case f:case h:case v:return a(+e,+t);case d:return e.name==t.name&&e.message==t.message;case g:case _:return e==t+\"\";case m:var C=u;case y:var A=r&c;if(C||(C=l),e.size!=t.size&&!A)return!1;var D=S.get(e);if(D)return D==t;r|=p,S.set(e,t);var O=s(C(e),C(t),r,i,k,S);return S.delete(e),O;case b:if(E)return E.call(e)==E.call(t)}return!1}var i=n(82),o=n(402),a=n(119),s=n(417),u=n(932),l=n(940),c=1,p=2,f=\"[object Boolean]\",h=\"[object Date]\",d=\"[object Error]\",m=\"[object Map]\",v=\"[object Number]\",g=\"[object RegExp]\",y=\"[object Set]\",_=\"[object String]\",b=\"[object Symbol]\",x=\"[object ArrayBuffer]\",w=\"[object DataView]\",k=i?i.prototype:void 0,E=k?k.valueOf:void 0;e.exports=r},function(e,t,n){function r(e,t,n,r,a,u){var l=n&o,c=i(e),p=c.length;if(p!=i(t).length&&!l)return!1;for(var f=p;f--;){var h=c[f];if(!(l?h in t:s.call(t,h)))return!1}var d=u.get(e);if(d&&u.get(t))return d==t;var m=!0;u.set(e,t),u.set(t,e);for(var v=l;++f<p;){h=c[f];var g=e[h],y=t[h];if(r)var _=l?r(y,g,h,t,e,u):r(g,y,h,e,t,u);if(!(void 0===_?g===y||a(g,y,n,r,u):_)){m=!1;break}v||(v=\"constructor\"==h)}if(m&&!v){var b=e.constructor,x=t.constructor;b!=x&&\"constructor\"in e&&\"constructor\"in t&&!(\"function\"==typeof b&&b instanceof b&&\"function\"==typeof x&&x instanceof x)&&(m=!1)}return u.delete(e),u.delete(t),m}var i=n(420),o=1,a=Object.prototype,s=a.hasOwnProperty;e.exports=r},function(e,t,n){function r(e){for(var t=o(e),n=t.length;n--;){var r=t[n],a=e[r];t[n]=[r,a,i(a)]}return t}var i=n(425),o=n(68);e.exports=r},function(e,t,n){function r(e){var t=a.call(e,u),n=e[u];try{e[u]=void 0;var r=!0}catch(e){}var i=s.call(e);return r&&(t?e[u]=n:delete e[u]),i}var i=n(82),o=Object.prototype,a=o.hasOwnProperty,s=o.toString,u=i?i.toStringTag:void 0;e.exports=r},function(e,t){function n(e,t){return null==e?void 0:e[t]}e.exports=n},function(e,t,n){function r(e,t,n){t=i(t,e);for(var r=-1,c=t.length,p=!1;++r<c;){var f=l(t[r]);if(!(p=null!=e&&n(e,f)))break;e=e[f]}return p||++r!=c?p:!!(c=null==e?0:e.length)&&u(c)&&s(f,c)&&(a(e)||o(e))}var i=n(83),o=n(229),a=n(22),s=n(153),u=n(231),l=n(85);e.exports=r},function(e,t){function n(e){return r.test(e)}var r=/[a-z][A-Z]|[A-Z]{2,}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;e.exports=n},function(e,t,n){function r(){this.__data__=i?i(null):{},this.size=0}var i=n(155);e.exports=r},function(e,t){function n(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}e.exports=n},function(e,t,n){function r(e){var t=this.__data__;if(i){var n=t[e];return n===o?void 0:n}return s.call(t,e)?t[e]:void 0}var i=n(155),o=\"__lodash_hash_undefined__\",a=Object.prototype,s=a.hasOwnProperty;e.exports=r},function(e,t,n){function r(e){var t=this.__data__;return i?void 0!==t[e]:a.call(t,e)}var i=n(155),o=Object.prototype,a=o.hasOwnProperty;e.exports=r},function(e,t,n){function r(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=i&&void 0===t?o:t,this}var i=n(155),o=\"__lodash_hash_undefined__\";e.exports=r},function(e,t){function n(e){var t=e.length,n=new e.constructor(t);return t&&\"string\"==typeof e[0]&&i.call(e,\"index\")&&(n.index=e.index,n.input=e.input),n}var r=Object.prototype,i=r.hasOwnProperty;e.exports=n},function(e,t,n){function r(e,t,n){var r=e.constructor;switch(t){case g:return i(e);case l:case c:return new r(+e);case y:return o(e,n);case _:case b:case x:case w:case k:case E:case S:case C:case A:return u(e,n);case p:return new r;case f:case m:return new r(e);case h:return a(e);case d:return new r;case v:return s(e)}}var i=n(221),o=n(889),a=n(890),s=n(891),u=n(892),l=\"[object Boolean]\",c=\"[object Date]\",p=\"[object Map]\",f=\"[object Number]\",h=\"[object RegExp]\",d=\"[object Set]\",m=\"[object String]\",v=\"[object Symbol]\",g=\"[object ArrayBuffer]\",y=\"[object DataView]\",_=\"[object Float32Array]\",b=\"[object Float64Array]\",x=\"[object Int8Array]\",w=\"[object Int16Array]\",k=\"[object Int32Array]\",E=\"[object Uint8Array]\",S=\"[object Uint8ClampedArray]\",C=\"[object Uint16Array]\",A=\"[object Uint32Array]\";e.exports=r},function(e,t,n){function r(e){return\"function\"!=typeof e.constructor||a(e)?{}:i(o(e))}var i=n(858),o=n(222),a=n(154);e.exports=r},function(e,t,n){function r(e){return a(e)||o(e)||!!(s&&e&&e[s])}var i=n(82),o=n(229),a=n(22),s=i?i.isConcatSpreadable:void 0;e.exports=r},function(e,t){function n(e){var t=typeof e;return\"string\"==t||\"number\"==t||\"symbol\"==t||\"boolean\"==t?\"__proto__\"!==e:null===e}e.exports=n},function(e,t,n){function r(e){return!!o&&o in e}var i=n(896),o=function(){var e=/[^.]+$/.exec(i&&i.keys&&i.keys.IE_PROTO||\"\");return e?\"Symbol(src)_1.\"+e:\"\"}();e.exports=r},function(e,t){function n(){this.__data__=[],this.size=0}e.exports=n},function(e,t,n){function r(e){var t=this.__data__,n=i(t,e);return!(n<0)&&(n==t.length-1?t.pop():a.call(t,n,1),--this.size,!0)}var i=n(148),o=Array.prototype,a=o.splice;e.exports=r},function(e,t,n){function r(e){var t=this.__data__,n=i(t,e);return n<0?void 0:t[n][1]}var i=n(148);e.exports=r},function(e,t,n){function r(e){return i(this.__data__,e)>-1}var i=n(148);e.exports=r},function(e,t,n){function r(e,t){var n=this.__data__,r=i(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this}var i=n(148);e.exports=r},function(e,t,n){function r(){this.size=0,this.__data__={hash:new i,map:new(a||o),string:new i}}var i=n(845),o=n(146),a=n(216);e.exports=r},function(e,t,n){function r(e){var t=i(this,e).delete(e);return this.size-=t?1:0,t}var i=n(151);e.exports=r},function(e,t,n){function r(e){return i(this,e).get(e)}var i=n(151);e.exports=r},function(e,t,n){function r(e){return i(this,e).has(e)}var i=n(151);e.exports=r},function(e,t,n){function r(e,t){var n=i(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this}var i=n(151);e.exports=r},function(e,t){function n(e){var t=-1,n=Array(e.size);return e.forEach(function(e,r){n[++t]=[r,e]}),n}e.exports=n},function(e,t,n){function r(e){var t=i(e,function(e){return n.size===o&&n.clear(),e}),n=t.cache;return t}var i=n(436),o=500;e.exports=r},function(e,t,n){var r=n(427),i=r(Object.keys,Object);e.exports=i},function(e,t){function n(e){var t=[];if(null!=e)for(var n in Object(e))t.push(n);return t}e.exports=n},function(e,t){function n(e){return i.call(e)}var r=Object.prototype,i=r.toString;e.exports=n},function(e,t,n){function r(e,t){return t.length<2?e:i(e,o(t,0,-1))}var i=n(149),o=n(413);e.exports=r},function(e,t){function n(e){return this.__data__.set(e,r),this}var r=\"__lodash_hash_undefined__\";e.exports=n},function(e,t){function n(e){return this.__data__.has(e)}e.exports=n},function(e,t){function n(e){var t=-1,n=Array(e.size);return e.forEach(function(e){n[++t]=e}),n}e.exports=n},function(e,t){function n(e){var t=0,n=0;return function(){var a=o(),s=i-(a-n);if(n=a,s>0){if(++t>=r)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}var r=800,i=16,o=Date.now;e.exports=n},function(e,t,n){function r(){this.__data__=new i,this.size=0}var i=n(146);e.exports=r},function(e,t){function n(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}e.exports=n},function(e,t){function n(e){return this.__data__.get(e)}e.exports=n},function(e,t){function n(e){return this.__data__.has(e)}e.exports=n},function(e,t,n){function r(e,t){var n=this.__data__;if(n instanceof i){var r=n.__data__;if(!o||r.length<s-1)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new a(r)}return n.set(e,t),this.size=n.size,this}var i=n(146),o=n(216),a=n(217),s=200;e.exports=r},function(e,t,n){function r(e){return o(e)?a(e):i(e)}var i=n(853),o=n(423),a=n(949);e.exports=r},function(e,t,n){var r=n(933),i=/[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g,o=/\\\\(\\\\)?/g,a=r(function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(\"\"),e.replace(i,function(e,n,r,i){t.push(r?i.replace(o,\"$1\"):n||e)}),t});e.exports=a},function(e,t){function n(e){return e.match(p)||[]}var r=\"[\\\\u0300-\\\\u036f\\\\ufe20-\\\\ufe2f\\\\u20d0-\\\\u20ff]\",i=\"\\\\ud83c[\\\\udffb-\\\\udfff]\",o=\"(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}\",a=\"[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]\",s=\"(?:[\\\\u0300-\\\\u036f\\\\ufe20-\\\\ufe2f\\\\u20d0-\\\\u20ff]|\\\\ud83c[\\\\udffb-\\\\udfff])?\",u=\"(?:\\\\u200d(?:\"+[\"[^\\\\ud800-\\\\udfff]\",o,a].join(\"|\")+\")[\\\\ufe0e\\\\ufe0f]?\"+s+\")*\",l=\"[\\\\ufe0e\\\\ufe0f]?\"+s+u,c=\"(?:\"+[\"[^\\\\ud800-\\\\udfff]\"+r+\"?\",r,o,a,\"[\\\\ud800-\\\\udfff]\"].join(\"|\")+\")\",p=RegExp(i+\"(?=\"+i+\")|\"+c+l,\"g\");e.exports=n},function(e,t){function n(e){return e.match(m)||[]}var r=\"\\\\xac\\\\xb1\\\\xd7\\\\xf7\\\\x00-\\\\x2f\\\\x3a-\\\\x40\\\\x5b-\\\\x60\\\\x7b-\\\\xbf\\\\u2000-\\\\u206f \\\\t\\\\x0b\\\\f\\\\xa0\\\\ufeff\\\\n\\\\r\\\\u2028\\\\u2029\\\\u1680\\\\u180e\\\\u2000\\\\u2001\\\\u2002\\\\u2003\\\\u2004\\\\u2005\\\\u2006\\\\u2007\\\\u2008\\\\u2009\\\\u200a\\\\u202f\\\\u205f\\\\u3000\",i=\"[\"+r+\"]\",o=\"[a-z\\\\xdf-\\\\xf6\\\\xf8-\\\\xff]\",a=\"[^\\\\ud800-\\\\udfff\"+r+\"\\\\d+\\\\u2700-\\\\u27bfa-z\\\\xdf-\\\\xf6\\\\xf8-\\\\xffA-Z\\\\xc0-\\\\xd6\\\\xd8-\\\\xde]\",s=\"(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}\",u=\"[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]\",l=\"[A-Z\\\\xc0-\\\\xd6\\\\xd8-\\\\xde]\",c=\"(?:\"+o+\"|\"+a+\")\",p=\"(?:[\\\\u0300-\\\\u036f\\\\ufe20-\\\\ufe2f\\\\u20d0-\\\\u20ff]|\\\\ud83c[\\\\udffb-\\\\udfff])?\",f=\"(?:\\\\u200d(?:\"+[\"[^\\\\ud800-\\\\udfff]\",s,u].join(\"|\")+\")[\\\\ufe0e\\\\ufe0f]?\"+p+\")*\",h=\"[\\\\ufe0e\\\\ufe0f]?\"+p+f,d=\"(?:\"+[\"[\\\\u2700-\\\\u27bf]\",s,u].join(\"|\")+\")\"+h,m=RegExp([l+\"?\"+o+\"+(?:['’](?:d|ll|m|re|s|t|ve))?(?=\"+[i,l,\"$\"].join(\"|\")+\")\",\"(?:[A-Z\\\\xc0-\\\\xd6\\\\xd8-\\\\xde]|[^\\\\ud800-\\\\udfff\\\\xac\\\\xb1\\\\xd7\\\\xf7\\\\x00-\\\\x2f\\\\x3a-\\\\x40\\\\x5b-\\\\x60\\\\x7b-\\\\xbf\\\\u2000-\\\\u206f \\\\t\\\\x0b\\\\f\\\\xa0\\\\ufeff\\\\n\\\\r\\\\u2028\\\\u2029\\\\u1680\\\\u180e\\\\u2000\\\\u2001\\\\u2002\\\\u2003\\\\u2004\\\\u2005\\\\u2006\\\\u2007\\\\u2008\\\\u2009\\\\u200a\\\\u202f\\\\u205f\\\\u3000\\\\d+\\\\u2700-\\\\u27bfa-z\\\\xdf-\\\\xf6\\\\xf8-\\\\xffA-Z\\\\xc0-\\\\xd6\\\\xd8-\\\\xde])+(?:['’](?:D|LL|M|RE|S|T|VE))?(?=\"+[i,l+c,\"$\"].join(\"|\")+\")\",l+\"?\"+c+\"+(?:['’](?:d|ll|m|re|s|t|ve))?\",l+\"+(?:['’](?:D|LL|M|RE|S|T|VE))?\",\"\\\\d*(?:1ST|2ND|3RD|(?![123])\\\\dTH)(?=\\\\b|[a-z_])\",\"\\\\d*(?:1st|2nd|3rd|(?![123])\\\\dth)(?=\\\\b|[A-Z_])\",\"\\\\d+\",d].join(\"|\"),\"g\");e.exports=n},function(e,t,n){var r=n(147),i=n(84),o=n(897),a=n(86),s=n(154),u=n(68),l=Object.prototype,c=l.hasOwnProperty,p=o(function(e,t){if(s(t)||a(t))return void i(t,u(t),e);for(var n in t)c.call(t,n)&&r(e,n,t[n])});e.exports=p},function(e,t,n){var r=n(953),i=n(415),o=i(function(e,t,n){return t=t.toLowerCase(),e+(n?r(t):t)});e.exports=o},function(e,t,n){function r(e){return o(i(e).toLowerCase())}var i=n(87),o=n(440);e.exports=r},function(e,t,n){function r(e){return i(e,o|a)}var i=n(408),o=1,a=4;e.exports=r},function(e,t){function n(e){return function(){return e}}e.exports=n},function(e,t,n){function r(e,t,n){function r(t){var n=y,r=_;return y=_=void 0,E=t,x=e.apply(r,n)}function c(e){return E=e,w=setTimeout(h,t),S?r(e):x}function p(e){var n=e-k,r=e-E,i=t-n;return C?l(i,b-r):i}function f(e){var n=e-k,r=e-E;return void 0===k||n>=t||n<0||C&&r>=b}function h(){var e=o();if(f(e))return d(e);w=setTimeout(h,p(e))}function d(e){return w=void 0,A&&y?r(e):(y=_=void 0,x)}function m(){void 0!==w&&clearTimeout(w),E=0,y=k=_=w=void 0}function v(){return void 0===w?x:d(o())}function g(){var e=o(),n=f(e);if(y=arguments,_=this,k=e,n){if(void 0===w)return c(k);if(C)return w=setTimeout(h,t),r(k)}return void 0===w&&(w=setTimeout(h,t)),x}var y,_,b,x,w,k,E=0,S=!1,C=!1,A=!0;if(\"function\"!=typeof e)throw new TypeError(s);return t=a(t)||0,i(n)&&(S=!!n.leading,C=\"maxWait\"in n,b=C?u(a(n.maxWait)||0,t):b,A=\"trailing\"in n?!!n.trailing:A),g.cancel=m,g.flush=v,g}var i=n(40),o=n(964),a=n(439),s=\"Expected a function\",u=Math.max,l=Math.min;e.exports=r},function(e,t,n){function r(e){return(e=o(e))&&e.replace(a,i).replace(s,\"\")}var i=n(903),o=n(87),a=/[\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\xff\\u0100-\\u017f]/g,s=RegExp(\"[\\\\u0300-\\\\u036f\\\\ufe20-\\\\ufe2f\\\\u20d0-\\\\u20ff]\",\"g\");e.exports=r},function(e,t,n){function r(e,t,n){var r=null==e?0:e.length;if(!r)return-1;var u=null==n?0:a(n);return u<0&&(u=s(r+u,0)),i(e,o(t,3),u)}var i=n(859),o=n(150),a=n(438),s=Math.max;e.exports=r},function(e,t,n){function r(e){return(null==e?0:e.length)?i(e,1):[]}var i=n(860);e.exports=r},function(e,t,n){var r=n(866),i=n(220),o=n(225),a=o&&o.isMap,s=a?i(a):r;e.exports=s},function(e,t,n){var r=n(869),i=n(220),o=n(225),a=o&&o.isSet,s=a?i(a):r;e.exports=s},function(e,t){function n(e){var t=null==e?0:e.length;return t?e[t-1]:void 0}e.exports=n},function(e,t,n){var r=n(415),i=r(function(e,t,n){return e+(n?\" \":\"\")+t.toLowerCase()});e.exports=i},function(e,t,n){var r=n(39),i=function(){return r.Date.now()};e.exports=i},function(e,t,n){var r=n(404),i=n(408),o=n(885),a=n(83),s=n(84),u=n(902),l=n(418),c=n(421),p=l(function(e,t){var n={};if(null==e)return n;var l=!1;t=r(t,function(t){return t=a(t,e),l||(l=t.length>1),t}),s(e,c(e),n),l&&(n=i(n,7,u));for(var p=t.length;p--;)o(n,t[p]);return n});e.exports=p},function(e,t,n){var r=n(875),i=n(418),o=i(function(e,t){return null==e?{}:r(e,t)});e.exports=o},function(e,t,n){function r(e){return a(e)?i(s(e)):o(e)}var i=n(877),o=n(878),a=n(224),s=n(85);e.exports=r},function(e,t,n){function r(e,t,n){var r=u(e)?i:s,l=arguments.length<3;return r(e,a(t,4),n,l,o)}var i=n(405),o=n(409),a=n(150),s=n(880),u=n(22);e.exports=r},function(e,t,n){function r(e,t,n){return null==e?e:i(e,t,n)}var i=n(412);e.exports=r},function(e,t,n){function r(e,t,n){var r=s(e)?i:a;return n&&u(e,t,n)&&(t=void 0),r(e,o(t,3))}var i=n(406),o=n(150),a=n(883),s=n(22),u=n(424);e.exports=r},function(e,t,n){function r(e,t,n){return e=s(e),n=null==n?0:i(a(n),0,e.length),t=o(t),e.slice(n,n+t.length)==t}var i=n(857),o=n(414),a=n(438),s=n(87);e.exports=r},function(e,t){function n(){return!1}e.exports=n},function(e,t,n){function r(e){if(!e)return 0===e?e:0;if((e=i(e))===o||e===-o){return(e<0?-1:1)*a}return e===e?e:0}var i=n(439),o=1/0,a=1.7976931348623157e308;e.exports=r},function(e,t,n){function r(e,t,n){return e=a(e),t=n?void 0:t,void 0===t?o(e)?s(e):i(e):e.match(t)||[]}var i=n(854),o=n(910),a=n(87),s=n(950);e.exports=r},function(e,t,n){\"use strict\";var r=n(65),i=Object.create,o=Object.prototype.hasOwnProperty;e.exports=function(e){var t,n=0,a=1,s=i(null),u=i(null),l=0;return e=r(e),{hit:function(r){var i=u[r],c=++l;if(s[c]=r,u[r]=c,!i){if(++n<=e)return;return r=s[a],t(r),r}if(delete s[i],a===i)for(;!o.call(s,++a);)continue},delete:t=function(e){var t=u[e];if(t&&(delete s[t],delete u[e],--n,a===t)){if(!n)return l=0,void(a=1);for(;!o.call(s,++a);)continue}},clear:function(){n=0,a=1,s=i(null),u=i(null),l=0}}}},function(e,t,n){\"use strict\";var r=n(209),i=n(382),o=n(383),a=n(379),s=n(233),u=Array.prototype.slice,l=Function.prototype.apply,c=Object.create,p=Object.prototype.hasOwnProperty;n(69).async=function(e,t){var n,f,h,d=c(null),m=c(null),v=t.memoized,g=t.original;t.memoized=a(function(e){var t=arguments,r=t[t.length-1];return\"function\"==typeof r&&(n=r,t=u.call(t,0,-1)),v.apply(f=this,h=t)},v);try{o(t.memoized,v)}catch(e){}t.on(\"get\",function(e){var r,i,o;if(n){if(d[e])return\"function\"==typeof d[e]?d[e]=[d[e],n]:d[e].push(n),void(n=null);r=n,i=f,o=h,n=f=h=null,s(function(){var a;p.call(m,e)?(a=m[e],t.emit(\"getasync\",e,o,i),l.call(r,a.context,a.args)):(n=r,f=i,h=o,v.apply(i,o))})}}),t.original=function(){var e,i,o,a;return n?(e=r(arguments),i=function e(n){var i,o,u=e.id;return null==u?void s(l.bind(e,this,arguments)):(delete e.id,i=d[u],delete d[u],i?(o=r(arguments),t.has(u)&&(n?t.delete(u):(m[u]={context:this,args:o},t.emit(\"setasync\",u,\"function\"==typeof i?1:i.length))),\"function\"==typeof i?a=l.call(i,this,o):i.forEach(function(e){a=l.call(e,this,o)},this),a):void 0)},o=n,n=f=h=null,e.push(i),a=l.call(g,this,e),i.cb=o,n=i,a):l.call(g,this,arguments)},t.on(\"set\",function(e){if(!n)return void t.delete(e);d[e]?\"function\"==typeof d[e]?d[e]=[d[e],n.cb]:d[e].push(n.cb):d[e]=n.cb,delete n.cb,n.id=e,n=null}),t.on(\"delete\",function(e){var n;p.call(d,e)||m[e]&&(n=m[e],delete m[e],t.emit(\"deleteasync\",e,u.call(n.args,1)))}),t.on(\"clear\",function(){var e=m;m=c(null),t.emit(\"clearasync\",i(e,function(e){return u.call(e.args,1)}))})}},function(e,t,n){\"use strict\";var r=n(59),i=n(142),o=n(69),a=Function.prototype.apply;o.dispose=function(e,t,n){var s;if(r(e),n.async&&o.async||n.promise&&o.promise)return t.on(\"deleteasync\",s=function(t,n){a.call(e,null,n)}),void t.on(\"clearasync\",function(e){i(e,function(e,t){s(t,e)})});t.on(\"delete\",s=function(t,n){e(n)}),t.on(\"clear\",function(e){i(e,function(e,t){s(t,e)})})}},function(e,t,n){\"use strict\";var r=n(209),i=n(142),o=n(233),a=n(395),s=n(1200),u=n(69),l=Function.prototype,c=Math.max,p=Math.min,f=Object.create;u.maxAge=function(e,t,n){var h,d,m,v;(e=s(e))&&(h=f(null),d=n.async&&u.async||n.promise&&u.promise?\"async\":\"\",t.on(\"set\"+d,function(n){h[n]=setTimeout(function(){t.delete(n)},e),v&&(v[n]&&\"nextTick\"!==v[n]&&clearTimeout(v[n]),v[n]=setTimeout(function(){delete v[n]},m))}),t.on(\"delete\"+d,function(e){clearTimeout(h[e]),delete h[e],v&&(\"nextTick\"!==v[e]&&clearTimeout(v[e]),delete v[e])}),n.preFetch&&(m=!0===n.preFetch||isNaN(n.preFetch)?.333:c(p(Number(n.preFetch),1),0))&&(v={},m=(1-m)*e,t.on(\"get\"+d,function(e,i,s){v[e]||(v[e]=\"nextTick\",o(function(){var o;\"nextTick\"===v[e]&&(delete v[e],t.delete(e),n.async&&(i=r(i),i.push(l)),o=t.memoized.apply(s,i),n.promise&&a(o)&&(\"function\"==typeof o.done?o.done(l,l):o.then(l,l)))}))})),t.on(\"clear\"+d,function(){i(h,function(e){clearTimeout(e)}),h={},v&&(i(v,function(e){\"nextTick\"!==e&&clearTimeout(e)}),v={})}))}},function(e,t,n){\"use strict\";var r=n(65),i=n(975),o=n(69);o.max=function(e,t,n){var a,s,u;(e=r(e))&&(s=i(e),a=n.async&&o.async||n.promise&&o.promise?\"async\":\"\",t.on(\"set\"+a,u=function(e){void 0!==(e=s.hit(e))&&t.delete(e)}),t.on(\"get\"+a,u),t.on(\"delete\"+a,s.delete),t.on(\"clear\"+a,s.clear))}},function(e,t,n){\"use strict\";var r=n(382),i=n(395),o=n(233),a=Object.create,s=Object.prototype.hasOwnProperty;n(69).promise=function(e,t){var n=a(null),u=a(null),l=a(null);t.on(\"set\",function(r,a,s){if(!i(s))return u[r]=s,void t.emit(\"setasync\",r,1);n[r]=1,l[r]=s;var c=function(e){var i=n[r];i&&(delete n[r],u[r]=e,t.emit(\"setasync\",r,i))},p=function(){n[r]&&(delete n[r],delete l[r],t.delete(r))};\"then\"!==e&&\"function\"==typeof s.done?\"done\"!==e&&\"function\"==typeof s.finally?(s.done(c),s.finally(p)):s.done(c,p):s.then(function(e){o(c.bind(this,e))},function(){o(p)})}),t.on(\"get\",function(e,r,a){var s;if(n[e])return void++n[e];s=l[e];var u=function(){t.emit(\"getasync\",e,r,a)};i(s)?\"function\"==typeof s.done?s.done(u):s.then(function(){o(u)}):u()}),t.on(\"delete\",function(e){if(delete l[e],n[e])return void delete n[e];if(s.call(u,e)){var r=u[e];delete u[e],t.emit(\"deleteasync\",e,[r])}}),t.on(\"clear\",function(){var e=u;u=a(null),n=a(null),l=a(null),t.emit(\"clearasync\",r(e,function(e){return[e]}))})}},function(e,t,n){\"use strict\";var r=n(141),i=n(69),o=Object.create,a=Object.defineProperties;i.refCounter=function(e,t,n){var s,u;s=o(null),u=n.async&&i.async||n.promise&&i.promise?\"async\":\"\",t.on(\"set\"+u,function(e,t){s[e]=t||1}),t.on(\"get\"+u,function(e){++s[e]}),t.on(\"delete\"+u,function(e){delete s[e]}),t.on(\"clear\"+u,function(){s={}}),a(t.memoized,{deleteRef:r(function(){var e=t.get(arguments);return null===e?null:s[e]?!--s[e]&&(t.delete(e),!0):null}),getRefCount:r(function(){var e=t.get(arguments);return null===e?0:s[e]?s[e]:0})})}},function(e,t,n){\"use strict\";var r=n(384),i=n(443),o=n(991);e.exports=function(e){var t,a=r(arguments[1]);return a.normalizer||0!==(t=a.length=i(a.length,e.length,a.async))&&(a.primitive?!1===t?a.normalizer=n(990):t>1&&(a.normalizer=n(988)(t)):a.normalizer=!1===t?n(989)():1===t?n(986)():n(987)(t)),a.async&&n(976),a.promise&&n(980),a.dispose&&n(977),a.maxAge&&n(978),a.max&&n(979),a.refCounter&&n(981),o(e,a)}},function(e,t,n){\"use strict\";var r=n(731),i=n(379),o=n(141),a=n(759).methods,s=n(985),u=n(984),l=Function.prototype.apply,c=Function.prototype.call,p=Object.create,f=Object.prototype.hasOwnProperty,h=Object.defineProperties,d=a.on,m=a.emit;e.exports=function(e,t,n){var a,v,g,y,_,b,x,w,k,E,S,C,A,D=p(null);return v=!1!==t?t:isNaN(e.length)?1:e.length,n.normalizer&&(w=u(n.normalizer),g=w.get,y=w.set,_=w.delete,b=w.clear),null!=n.resolvers&&(A=s(n.resolvers)),C=g?i(function(t){var n,i,o=arguments;if(A&&(o=A(o)),null!==(n=g(o))&&f.call(D,n))return k&&a.emit(\"get\",n,o,this),D[n];if(i=1===o.length?c.call(e,this,o[0]):l.call(e,this,o),null===n){if(null!==(n=g(o)))throw r(\"Circular invocation\",\"CIRCULAR_INVOCATION\");n=y(o)}else if(f.call(D,n))throw r(\"Circular invocation\",\"CIRCULAR_INVOCATION\");return D[n]=i,E&&a.emit(\"set\",n,null,i),i},v):0===t?function(){var t;if(f.call(D,\"data\"))return k&&a.emit(\"get\",\"data\",arguments,this),D.data;if(t=arguments.length?l.call(e,this,arguments):c.call(e,this),f.call(D,\"data\"))throw r(\"Circular invocation\",\"CIRCULAR_INVOCATION\");return D.data=t,E&&a.emit(\"set\",\"data\",null,t),t}:function(t){var n,i,o=arguments;if(A&&(o=A(arguments)),i=String(o[0]),f.call(D,i))return k&&a.emit(\"get\",i,o,this),D[i];if(n=1===o.length?c.call(e,this,o[0]):l.call(e,this,o),f.call(D,i))throw r(\"Circular invocation\",\"CIRCULAR_INVOCATION\");return D[i]=n,E&&a.emit(\"set\",i,null,n),n},a={original:e,memoized:C,get:function(e){return A&&(e=A(e)),g?g(e):String(e[0])},has:function(e){return f.call(D,e)},delete:function(e){var t;f.call(D,e)&&(_&&_(e),t=D[e],delete D[e],S&&a.emit(\"delete\",e,t))},clear:function(){var e=D;b&&b(),D=p(null),a.emit(\"clear\",e)},on:function(e,t){return\"get\"===e?k=!0:\"set\"===e?E=!0:\"delete\"===e&&(S=!0),d.call(this,e,t)},emit:m,updateEnv:function(){e=a.original}},x=g?i(function(e){var t,n=arguments;A&&(n=A(n)),null!==(t=g(n))&&a.delete(t)},v):0===t?function(){return a.delete(\"data\")}:function(e){return A&&(e=A(arguments)[0]),a.delete(e)},h(C,{__memoized__:o(!0),delete:o(x),clear:o(a.clear)}),a}},function(e,t,n){\"use strict\";var r=n(59);e.exports=function(e){var t;return\"function\"==typeof e?{set:e,get:e}:(t={get:r(e.get)},void 0!==e.set?(t.set=r(e.set),t.delete=r(e.delete),t.clear=r(e.clear),t):(t.set=t.get,t))}},function(e,t,n){\"use strict\";var r,i=n(730),o=n(59),a=Array.prototype.slice;r=function(e){return this.map(function(t,n){return t?t(e[n]):e[n]}).concat(a.call(e,this.length))},e.exports=function(e){return e=i(e),e.forEach(function(e){null!=e&&o(e)}),r.bind(e)}},function(e,t,n){\"use strict\";var r=n(208);e.exports=function(){var e=0,t=[],n=[];return{get:function(e){var i=r.call(t,e[0]);return-1===i?null:n[i]},set:function(r){return t.push(r[0]),n.push(++e),e},delete:function(e){var i=r.call(n,e);-1!==i&&(t.splice(i,1),n.splice(i,1))},clear:function(){t=[],n=[]}}}},function(e,t,n){\"use strict\";var r=n(208),i=Object.create;e.exports=function(e){var t=0,n=[[],[]],o=i(null);return{get:function(t){for(var i,o=0,a=n;o<e-1;){if(-1===(i=r.call(a[0],t[o])))return null;a=a[1][i],++o}return i=r.call(a[0],t[o]),-1===i?null:a[1][i]||null},set:function(i){for(var a,s=0,u=n;s<e-1;)a=r.call(u[0],i[s]),-1===a&&(a=u[0].push(i[s])-1,u[1].push([[],[]])),u=u[1][a],++s;return a=r.call(u[0],i[s]),-1===a&&(a=u[0].push(i[s])-1),u[1][a]=++t,o[t]=i,t},delete:function(t){for(var i,a=0,s=n,u=[],l=o[t];a<e-1;){if(-1===(i=r.call(s[0],l[a])))return;u.push(s,i),s=s[1][i],++a}if(-1!==(i=r.call(s[0],l[a]))){for(t=s[1][i],s[0].splice(i,1),s[1].splice(i,1);!s[0].length&&u.length;)i=u.pop(),s=u.pop(),s[0].splice(i,1),s[1].splice(i,1);delete o[t]}},clear:function(){n=[[],[]],o=i(null)}}}},function(e,t,n){\"use strict\";e.exports=function(e){return e?function(t){for(var n=String(t[0]),r=0,i=e;--i;)n+=\"\u0001\"+t[++r];return n}:function(){return\"\"}}},function(e,t,n){\"use strict\";var r=n(208),i=Object.create;e.exports=function(){var e=0,t=[],n=i(null);return{get:function(e){var n,i=0,o=t,a=e.length;if(0===a)return o[a]||null;if(o=o[a]){for(;i<a-1;){if(-1===(n=r.call(o[0],e[i])))return null;o=o[1][n],++i}return n=r.call(o[0],e[i]),-1===n?null:o[1][n]||null}return null},set:function(i){var o,a=0,s=t,u=i.length;if(0===u)s[u]=++e;else{for(s[u]||(s[u]=[[],[]]),s=s[u];a<u-1;)o=r.call(s[0],i[a]),-1===o&&(o=s[0].push(i[a])-1,s[1].push([[],[]])),s=s[1][o],++a;o=r.call(s[0],i[a]),-1===o&&(o=s[0].push(i[a])-1),s[1][o]=++e}return n[e]=i,e},delete:function(e){var i,o=0,a=t,s=n[e],u=s.length,l=[];if(0===u)delete a[u];else if(a=a[u]){for(;o<u-1;){if(-1===(i=r.call(a[0],s[o])))return;l.push(a,i),a=a[1][i],++o}if(-1===(i=r.call(a[0],s[o])))return;for(e=a[1][i],a[0].splice(i,1),a[1].splice(i,1);!a[0].length&&l.length;)i=l.pop(),a=l.pop(),a[0].splice(i,1),a[1].splice(i,1)}delete n[e]},clear:function(){t=[],n=i(null)}}}},function(e,t,n){\"use strict\";e.exports=function(e){var t,n,r=e.length;if(!r)return\"\u0002\";for(t=String(e[n=0]);--r;)t+=\"\u0001\"+e[++n];return t}},function(e,t,n){\"use strict\";var r=n(59),i=n(142),o=n(69),a=n(983),s=n(443),u=Object.prototype.hasOwnProperty;e.exports=function e(t){var n,l,c;if(r(t),n=Object(arguments[1]),n.async&&n.promise)throw new Error(\"Options 'async' and 'promise' cannot be used together\");return u.call(t,\"__memoized__\")&&!n.force?t:(l=s(n.length,t.length,n.async&&o.async),c=a(t,l,n),i(o,function(e,t){n[t]&&e(n[t],c,n)}),e.__profiler__&&e.__profiler__(c),c.updateEnv(),c.memoized)}},function(e,t,n){\"use strict\";e.exports=Number.isNaN||function(e){return e!==e}},function(e,t){/*!\n * pascalcase <https://github.com/jonschlinkert/pascalcase>\n *\n * Copyright (c) 2015, Jon Schlinkert.\n * Licensed under the MIT License.\n */\nfunction n(e){if(\"string\"!=typeof e)throw new TypeError(\"expected a string.\");return e=e.replace(/([A-Z])/g,\" $1\"),1===e.length?e.toUpperCase():(e=e.replace(/^[\\W_]+|[\\W_]+$/g,\"\").toLowerCase(),e=e.charAt(0).toUpperCase()+e.slice(1),e.replace(/[\\W_]+(\\w|$)/g,function(e,t){return t.toUpperCase()}))}e.exports=n},function(e,t,n){\"use strict\";(function(r){function i(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}t.__esModule=!0;var a=n(455),s=i(a),u=n(234),l=i(u),c=function(){function e(t,n,r){o(this,e),this.stringify=t,this.mapOpts=r.map||{},this.root=n,this.opts=r}return e.prototype.isMap=function(){return void 0!==this.opts.map?!!this.opts.map:this.previous().length>0},e.prototype.previous=function(){var e=this;return this.previousMaps||(this.previousMaps=[],this.root.walk(function(t){if(t.source&&t.source.input.map){var n=t.source.input.map;-1===e.previousMaps.indexOf(n)&&e.previousMaps.push(n)}})),this.previousMaps},e.prototype.isInline=function(){if(void 0!==this.mapOpts.inline)return this.mapOpts.inline;var e=this.mapOpts.annotation;return(void 0===e||!0===e)&&(!this.previous().length||this.previous().some(function(e){return e.inline}))},e.prototype.isSourcesContent=function(){return void 0!==this.mapOpts.sourcesContent?this.mapOpts.sourcesContent:!this.previous().length||this.previous().some(function(e){return e.withContent()})},e.prototype.clearAnnotation=function(){if(!1!==this.mapOpts.annotation)for(var e=void 0,t=this.root.nodes.length-1;t>=0;t--)e=this.root.nodes[t],\"comment\"===e.type&&0===e.text.indexOf(\"# sourceMappingURL=\")&&this.root.removeChild(t)},e.prototype.setSourcesContent=function(){var e=this,t={};this.root.walk(function(n){if(n.source){var r=n.source.input.from;if(r&&!t[r]){t[r]=!0;var i=e.relative(r);e.map.setSourceContent(i,n.source.input.css)}}})},e.prototype.applyPrevMaps=function(){for(var e=this.previous(),t=Array.isArray(e),n=0,e=t?e:e[Symbol.iterator]();;){var r;if(t){if(n>=e.length)break;r=e[n++]}else{if(n=e.next(),n.done)break;r=n.value}var i=r,o=this.relative(i.file),a=i.root||l.default.dirname(i.file),u=void 0;!1===this.mapOpts.sourcesContent?(u=new s.default.SourceMapConsumer(i.text),u.sourcesContent&&(u.sourcesContent=u.sourcesContent.map(function(){return null}))):u=i.consumer(),this.map.applySourceMap(u,o,this.relative(a))}},e.prototype.isAnnotation=function(){return!!this.isInline()||(void 0!==this.mapOpts.annotation?this.mapOpts.annotation:!this.previous().length||this.previous().some(function(e){return e.annotation}))},e.prototype.toBase64=function(e){return r?r.from&&r.from!==Uint8Array.from?r.from(e).toString(\"base64\"):new r(e).toString(\"base64\"):window.btoa(unescape(encodeURIComponent(e)))},e.prototype.addAnnotation=function(){var e=void 0;e=this.isInline()?\"data:application/json;base64,\"+this.toBase64(this.map.toString()):\"string\"==typeof this.mapOpts.annotation?this.mapOpts.annotation:this.outputFile()+\".map\";var t=\"\\n\";-1!==this.css.indexOf(\"\\r\\n\")&&(t=\"\\r\\n\"),this.css+=t+\"/*# sourceMappingURL=\"+e+\" */\"},e.prototype.outputFile=function(){return this.opts.to?this.relative(this.opts.to):this.opts.from?this.relative(this.opts.from):\"to.css\"},e.prototype.generateMap=function(){return this.generateString(),this.isSourcesContent()&&this.setSourcesContent(),this.previous().length>0&&this.applyPrevMaps(),this.isAnnotation()&&this.addAnnotation(),this.isInline()?[this.css]:[this.css,this.map]},e.prototype.relative=function(e){if(0===e.indexOf(\"<\"))return e;if(/^\\w+:\\/\\//.test(e))return e;var t=this.opts.to?l.default.dirname(this.opts.to):\".\";return\"string\"==typeof this.mapOpts.annotation&&(t=l.default.dirname(l.default.resolve(t,this.mapOpts.annotation))),e=l.default.relative(t,e),\"\\\\\"===l.default.sep?e.replace(/\\\\/g,\"/\"):e},e.prototype.sourcePath=function(e){return this.mapOpts.from?this.mapOpts.from:this.relative(e.source.input.from)},e.prototype.generateString=function(){var e=this;this.css=\"\",this.map=new s.default.SourceMapGenerator({file:this.outputFile()});var t=1,n=1,r=void 0,i=void 0;this.stringify(this.root,function(o,a,s){e.css+=o,a&&\"end\"!==s&&(a.source&&a.source.start?e.map.addMapping({source:e.sourcePath(a),generated:{line:t,column:n-1},original:{line:a.source.start.line,column:a.source.start.column-1}}):e.map.addMapping({source:\"<no source>\",original:{line:1,column:0},generated:{line:t,column:n-1}})),r=o.match(/\\n/g),r?(t+=r.length,i=o.lastIndexOf(\"\\n\"),n=o.length-i):n+=o.length,a&&\"start\"!==s&&(a.source&&a.source.end?e.map.addMapping({source:e.sourcePath(a),generated:{line:t,column:n-1},original:{line:a.source.end.line,column:a.source.end.column}}):e.map.addMapping({source:\"<no source>\",original:{line:1,column:0},generated:{line:t,column:n-1}}))})},e.prototype.generate=function(){if(this.clearAnnotation(),this.isMap())return this.generateMap();var e=\"\";return this.stringify(this.root,function(t){e+=t}),[e]},e}();t.default=c,e.exports=t.default}).call(t,n(42).Buffer)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}t.__esModule=!0;var o=n(238),a=r(o),s=n(450),u=r(s),l=n(236),c=r(l),p=n(157),f=r(p),h=n(241),d=r(h),m=n(158),v=r(m),g=function(){function e(t){i(this,e),this.input=t,this.root=new d.default,this.current=this.root,this.spaces=\"\",this.semicolon=!1,this.createTokenizer(),this.root.source={input:t,start:{line:1,column:1}}}return e.prototype.createTokenizer=function(){this.tokenizer=(0,u.default)(this.input)},e.prototype.parse=function(){for(var e=void 0;!this.tokenizer.endOfFile();)switch(e=this.tokenizer.nextToken(),e[0]){case\"space\":this.spaces+=e[1];break;case\";\":this.freeSemicolon(e);break;case\"}\":this.end(e);break;case\"comment\":this.comment(e);break;case\"at-word\":this.atrule(e);break;case\"{\":this.emptyRule(e);break;default:this.other(e)}this.endFile()},e.prototype.comment=function(e){var t=new c.default;this.init(t,e[2],e[3]),t.source.end={line:e[4],column:e[5]};var n=e[1].slice(2,-2);if(/^\\s*$/.test(n))t.text=\"\",t.raws.left=n,t.raws.right=\"\";else{var r=n.match(/^(\\s*)([^]*[^\\s])(\\s*)$/);t.text=r[2],t.raws.left=r[1],t.raws.right=r[3]}},e.prototype.emptyRule=function(e){var t=new v.default;this.init(t,e[2],e[3]),t.selector=\"\",t.raws.between=\"\",this.current=t},e.prototype.other=function(e){for(var t=!1,n=null,r=!1,i=null,o=[],a=[],s=e;s;){if(n=s[0],a.push(s),\"(\"===n||\"[\"===n)i||(i=s),o.push(\"(\"===n?\")\":\"]\");else if(0===o.length){if(\";\"===n){if(r)return void this.decl(a);break}if(\"{\"===n)return void this.rule(a);if(\"}\"===n){this.tokenizer.back(a.pop()),t=!0;break}\":\"===n&&(r=!0)}else n===o[o.length-1]&&(o.pop(),0===o.length&&(i=null));s=this.tokenizer.nextToken()}if(this.tokenizer.endOfFile()&&(t=!0),o.length>0&&this.unclosedBracket(i),t&&r){for(;a.length&&(\"space\"===(s=a[a.length-1][0])||\"comment\"===s);)this.tokenizer.back(a.pop());return void this.decl(a)}this.unknownWord(a)},e.prototype.rule=function(e){e.pop();var t=new v.default;this.init(t,e[0][2],e[0][3]),t.raws.between=this.spacesAndCommentsFromEnd(e),this.raw(t,\"selector\",e),this.current=t},e.prototype.decl=function(e){var t=new a.default;this.init(t);var n=e[e.length-1];for(\";\"===n[0]&&(this.semicolon=!0,e.pop()),n[4]?t.source.end={line:n[4],column:n[5]}:t.source.end={line:n[2],column:n[3]};\"word\"!==e[0][0];)1===e.length&&this.unknownWord(e),t.raws.before+=e.shift()[1];for(t.source.start={line:e[0][2],column:e[0][3]},t.prop=\"\";e.length;){var r=e[0][0];if(\":\"===r||\"space\"===r||\"comment\"===r)break;t.prop+=e.shift()[1]}t.raws.between=\"\";for(var i=void 0;e.length;){if(i=e.shift(),\":\"===i[0]){t.raws.between+=i[1];break}t.raws.between+=i[1]}\"_\"!==t.prop[0]&&\"*\"!==t.prop[0]||(t.raws.before+=t.prop[0],t.prop=t.prop.slice(1)),t.raws.between+=this.spacesAndCommentsFromStart(e),this.precheckMissedSemicolon(e);for(var o=e.length-1;o>0;o--){if(i=e[o],\"!important\"===i[1].toLowerCase()){t.important=!0;var s=this.stringFrom(e,o);s=this.spacesFromEnd(e)+s,\" !important\"!==s&&(t.raws.important=s);break}if(\"important\"===i[1].toLowerCase()){for(var u=e.slice(0),l=\"\",c=o;c>0;c--){var p=u[c][0];if(0===l.trim().indexOf(\"!\")&&\"space\"!==p)break;l=u.pop()[1]+l}0===l.trim().indexOf(\"!\")&&(t.important=!0,t.raws.important=l,e=u)}if(\"space\"!==i[0]&&\"comment\"!==i[0])break}this.raw(t,\"value\",e),-1!==t.value.indexOf(\":\")&&this.checkMissedSemicolon(e)},e.prototype.atrule=function(e){var t=new f.default;t.name=e[1].slice(1),\"\"===t.name&&this.unnamedAtrule(t,e),this.init(t,e[2],e[3]);for(var n=void 0,r=void 0,i=!1,o=!1,a=[];!this.tokenizer.endOfFile();){if(e=this.tokenizer.nextToken(),\";\"===e[0]){t.source.end={line:e[2],column:e[3]},this.semicolon=!0;break}if(\"{\"===e[0]){o=!0;break}if(\"}\"===e[0]){if(a.length>0){for(r=a.length-1,n=a[r];n&&\"space\"===n[0];)n=a[--r];n&&(t.source.end={line:n[4],column:n[5]})}this.end(e);break}if(a.push(e),this.tokenizer.endOfFile()){i=!0;break}}t.raws.between=this.spacesAndCommentsFromEnd(a),a.length?(t.raws.afterName=this.spacesAndCommentsFromStart(a),this.raw(t,\"params\",a),i&&(e=a[a.length-1],t.source.end={line:e[4],column:e[5]},this.spaces=t.raws.between,t.raws.between=\"\")):(t.raws.afterName=\"\",t.params=\"\"),o&&(t.nodes=[],this.current=t)},e.prototype.end=function(e){this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.semicolon=!1,this.current.raws.after=(this.current.raws.after||\"\")+this.spaces,this.spaces=\"\",this.current.parent?(this.current.source.end={line:e[2],column:e[3]},this.current=this.current.parent):this.unexpectedClose(e)},e.prototype.endFile=function(){this.current.parent&&this.unclosedBlock(),this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.current.raws.after=(this.current.raws.after||\"\")+this.spaces},e.prototype.freeSemicolon=function(e){if(this.spaces+=e[1],this.current.nodes){var t=this.current.nodes[this.current.nodes.length-1];t&&\"rule\"===t.type&&!t.raws.ownSemicolon&&(t.raws.ownSemicolon=this.spaces,this.spaces=\"\")}},e.prototype.init=function(e,t,n){this.current.push(e),e.source={start:{line:t,column:n},input:this.input},e.raws.before=this.spaces,this.spaces=\"\",\"comment\"!==e.type&&(this.semicolon=!1)},e.prototype.raw=function(e,t,n){for(var r=void 0,i=void 0,o=n.length,a=\"\",s=!0,u=void 0,l=void 0,c=/^([.|#])?([\\w])+/i,p=0;p<o;p+=1)r=n[p],i=r[0],\"comment\"!==i||\"rule\"!==e.type?\"comment\"===i||\"space\"===i&&p===o-1?s=!1:a+=r[1]:(l=n[p-1],u=n[p+1],\"space\"!==l[0]&&\"space\"!==u[0]&&c.test(l[1])&&c.test(u[1])?a+=r[1]:s=!1);if(!s){var f=n.reduce(function(e,t){return e+t[1]},\"\");e.raws[t]={value:a,raw:f}}e[t]=a},e.prototype.spacesAndCommentsFromEnd=function(e){for(var t=void 0,n=\"\";e.length&&(\"space\"===(t=e[e.length-1][0])||\"comment\"===t);)n=e.pop()[1]+n;return n},e.prototype.spacesAndCommentsFromStart=function(e){for(var t=void 0,n=\"\";e.length&&(\"space\"===(t=e[0][0])||\"comment\"===t);)n+=e.shift()[1];return n},e.prototype.spacesFromEnd=function(e){for(var t=\"\";e.length&&\"space\"===e[e.length-1][0];)t=e.pop()[1]+t;return t},e.prototype.stringFrom=function(e,t){for(var n=\"\",r=t;r<e.length;r++)n+=e[r][1];return e.splice(t,e.length-t),n},e.prototype.colon=function(e){for(var t=0,n=void 0,r=void 0,i=void 0,o=0;o<e.length;o++){if(n=e[o],\"(\"===(r=n[0]))t+=1;else if(\")\"===r)t-=1;else if(0===t&&\":\"===r){if(i){if(\"word\"===i[0]&&\"progid\"===i[1])continue;return o}this.doubleColon(n)}i=n}return!1},e.prototype.unclosedBracket=function(e){throw this.input.error(\"Unclosed bracket\",e[2],e[3])},e.prototype.unknownWord=function(e){throw this.input.error(\"Unknown word\",e[0][2],e[0][3])},e.prototype.unexpectedClose=function(e){throw this.input.error(\"Unexpected }\",e[2],e[3])},e.prototype.unclosedBlock=function(){var e=this.current.source.start;throw this.input.error(\"Unclosed block\",e.line,e.column)},e.prototype.doubleColon=function(e){throw this.input.error(\"Double colon\",e[2],e[3])},e.prototype.unnamedAtrule=function(e,t){throw this.input.error(\"At-rule without name\",t[2],t[3])},e.prototype.precheckMissedSemicolon=function(e){},e.prototype.checkMissedSemicolon=function(e){var t=this.colon(e);if(!1!==t){for(var n=0,r=void 0,i=t-1;i>=0&&(r=e[i],\"space\"===r[0]||2!==(n+=1));i--);throw this.input.error(\"Missed semicolon\",r[2],r[3])}},e}();t.default=g,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function i(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return 1===t.length&&Array.isArray(t[0])&&(t=t[0]),new u.default(t)}t.__esModule=!0;var o=n(238),a=r(o),s=n(448),u=r(s),l=n(242),c=r(l),p=n(236),f=r(p),h=n(157),d=r(h),m=n(1e3),v=r(m),g=n(240),y=r(g),_=n(447),b=r(_),x=n(158),w=r(x),k=n(241),E=r(k);i.plugin=function(e,t){var n=function(){var n=t.apply(void 0,arguments);return n.postcssPlugin=e,n.postcssVersion=(new u.default).version,n},r=void 0;return Object.defineProperty(n,\"postcss\",{get:function(){return r||(r=n()),r}}),n.process=function(e,t,r){return i([n(r)]).process(e,t)},n},i.stringify=c.default,i.parse=y.default,i.vendor=v.default,i.list=b.default,i.comment=function(e){return new f.default(e)},i.atRule=function(e){return new d.default(e)},i.decl=function(e){return new a.default(e)},i.rule=function(e){return new w.default(e)},i.root=function(e){return new E.default(e)},t.default=i,e.exports=t.default},function(e,t,n){\"use strict\";(function(r){function i(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function a(e){return r?r.from&&r.from!==Uint8Array.from?r.from(e,\"base64\").toString():new r(e,\"base64\").toString():window.atob(e)}t.__esModule=!0;var s=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},u=n(455),l=i(u),c=n(234),p=i(c),f=n(1225),h=i(f),d=function(){function e(t,n){o(this,e),this.loadAnnotation(t),this.inline=this.startWith(this.annotation,\"data:\");var r=n.map?n.map.prev:void 0,i=this.loadMap(n.from,r);i&&(this.text=i)}return e.prototype.consumer=function(){return this.consumerCache||(this.consumerCache=new l.default.SourceMapConsumer(this.text)),this.consumerCache},e.prototype.withContent=function(){return!!(this.consumer().sourcesContent&&this.consumer().sourcesContent.length>0)},e.prototype.startWith=function(e,t){return!!e&&e.substr(0,t.length)===t},e.prototype.loadAnnotation=function(e){var t=e.match(/\\/\\*\\s*# sourceMappingURL=(.*)\\s*\\*\\//);t&&(this.annotation=t[1].trim())},e.prototype.decodeInline=function(e){var t=/^data:application\\/json;(?:charset=utf-?8;)?base64,/,n=\"data:application/json,\";if(this.startWith(e,n))return decodeURIComponent(e.substr(n.length));if(t.test(e))return a(e.substr(RegExp.lastMatch.length));var r=e.match(/data:application\\/json;([^,]+),/)[1];throw new Error(\"Unsupported source map encoding \"+r)},e.prototype.loadMap=function(e,t){if(!1===t)return!1;if(t){if(\"string\"==typeof t)return t;if(\"function\"==typeof t){var n=t(e);if(n&&h.default.existsSync&&h.default.existsSync(n))return h.default.readFileSync(n,\"utf-8\").toString().trim();throw new Error(\"Unable to load previous source map: \"+n.toString())}if(t instanceof l.default.SourceMapConsumer)return l.default.SourceMapGenerator.fromSourceMap(t).toString();if(t instanceof l.default.SourceMapGenerator)return t.toString();if(this.isMap(t))return JSON.stringify(t);throw new Error(\"Unsupported previous source map format: \"+t.toString())}if(this.inline)return this.decodeInline(this.annotation);if(this.annotation){var r=this.annotation;return e&&(r=p.default.join(p.default.dirname(e),r)),this.root=p.default.dirname(r),!(!h.default.existsSync||!h.default.existsSync(r))&&h.default.readFileSync(r,\"utf-8\").toString().trim()}},e.prototype.isMap=function(e){return\"object\"===(void 0===e?\"undefined\":s(e))&&(\"string\"==typeof e.mappings||\"string\"==typeof e._mappings)},e}();t.default=d,e.exports=t.default}).call(t,n(42).Buffer)},function(e,t,n){\"use strict\";function r(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}t.__esModule=!0;var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),o=n(1001),a=function(e){return e&&e.__esModule?e:{default:e}}(o),s=function(){function e(t,n,i){r(this,e),this.processor=t,this.messages=[],this.root=n,this.opts=i,this.css=void 0,this.map=void 0}return e.prototype.toString=function(){return this.css},e.prototype.warn=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};t.plugin||this.lastPlugin&&this.lastPlugin.postcssPlugin&&(t.plugin=this.lastPlugin.postcssPlugin);var n=new a.default(e,t);return this.messages.push(n),n},e.prototype.warnings=function(){return this.messages.filter(function(e){return\"warning\"===e.type})},i(e,[{key:\"content\",get:function(){return this.css}}]),e}();t.default=s,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){var n=e[0],r=e[1];if(\"word\"===n){if(\".\"===r[0])return\"class\";if(\"#\"===r[0])return\"hash\"}if(!t.endOfFile()){var i=t.nextToken();if(t.back(i),\"brackets\"===i[0]||\"(\"===i[0])return\"call\"}return n}function o(e){for(var t=(0,l.default)(new p.default(e),{ignoreErrors:!0}),n=\"\";!t.endOfFile();)!function(){var e=t.nextToken(),r=f[i(e,t)];n+=r?e[1].split(/\\r?\\n/).map(function(e){return r(e)}).join(\"\\n\"):e[1]}();return n}t.__esModule=!0;var a=n(517),s=r(a),u=n(450),l=r(u),c=n(445),p=r(c),f={brackets:s.default.cyan,\"at-word\":s.default.cyan,call:s.default.cyan,comment:s.default.gray,string:s.default.green,class:s.default.yellow,hash:s.default.magenta,\"(\":s.default.cyan,\")\":s.default.cyan,\"{\":s.default.yellow,\"}\":s.default.yellow,\"[\":s.default.yellow,\"]\":s.default.yellow,\":\":s.default.yellow,\";\":s.default.yellow};t.default=o,e.exports=t.default},function(e,t,n){\"use strict\";t.__esModule=!0;var r={prefix:function(e){var t=e.match(/^(-\\w+-)/);return t?t[0]:\"\"},unprefixed:function(e){return e.replace(/^-\\w+-/,\"\")}};t.default=r,e.exports=t.default},function(e,t,n){\"use strict\";function r(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}t.__esModule=!0;var i=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(r(this,e),this.type=\"warning\",this.text=t,n.node&&n.node.source){var i=n.node.positionBy(n);this.line=i.line,this.column=i.column}for(var o in n)this[o]=n[o]}return e.prototype.toString=function(){return this.node?this.node.error(this.text,{plugin:this.plugin,index:this.index,word:this.word}).message:this.plugin?this.plugin+\": \"+this.text:this.text},e}();t.default=i,e.exports=t.default},function(e,t){var n=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\".split(\"\");t.encode=function(e){if(0<=e&&e<n.length)return n[e];throw new TypeError(\"Must be between 0 and 63: \"+e)},t.decode=function(e){return 65<=e&&e<=90?e-65:97<=e&&e<=122?e-97+26:48<=e&&e<=57?e-48+52:43==e?62:47==e?63:-1}},function(e,t){function n(e,r,i,o,a,s){var u=Math.floor((r-e)/2)+e,l=a(i,o[u],!0);return 0===l?u:l>0?r-u>1?n(u,r,i,o,a,s):s==t.LEAST_UPPER_BOUND?r<o.length?r:-1:u:u-e>1?n(e,u,i,o,a,s):s==t.LEAST_UPPER_BOUND?u:e<0?-1:e}t.GREATEST_LOWER_BOUND=1,t.LEAST_UPPER_BOUND=2,t.search=function(e,r,i,o){if(0===r.length)return-1;var a=n(-1,r.length,e,r,i,o||t.GREATEST_LOWER_BOUND);if(a<0)return-1;for(;a-1>=0&&0===i(r[a],r[a-1],!0);)--a;return a}},function(e,t,n){function r(e,t){var n=e.generatedLine,r=t.generatedLine,i=e.generatedColumn,a=t.generatedColumn;return r>n||r==n&&a>=i||o.compareByGeneratedPositionsInflated(e,t)<=0}function i(){this._array=[],this._sorted=!0,this._last={generatedLine:-1,generatedColumn:0}}var o=n(120);i.prototype.unsortedForEach=function(e,t){this._array.forEach(e,t)},i.prototype.add=function(e){r(this._last,e)?(this._last=e,this._array.push(e)):(this._sorted=!1,this._array.push(e))},i.prototype.toArray=function(){return this._sorted||(this._array.sort(o.compareByGeneratedPositionsInflated),this._sorted=!0),this._array},t.MappingList=i},function(e,t){function n(e,t,n){var r=e[t];e[t]=e[n],e[n]=r}function r(e,t){return Math.round(e+Math.random()*(t-e))}function i(e,t,o,a){if(o<a){var s=r(o,a),u=o-1;n(e,s,a);for(var l=e[a],c=o;c<a;c++)t(e[c],l)<=0&&(u+=1,n(e,u,c));n(e,u+1,c);var p=u+1;i(e,t,o,p-1),i(e,t,p+1,a)}}t.quickSort=function(e,t){i(e,t,0,e.length-1)}},function(e,t,n){function r(e,t){var n=e;return\"string\"==typeof e&&(n=s.parseSourceMapInput(e)),null!=n.sections?new a(n,t):new i(n,t)}function i(e,t){var n=e;\"string\"==typeof e&&(n=s.parseSourceMapInput(e));var r=s.getArg(n,\"version\"),i=s.getArg(n,\"sources\"),o=s.getArg(n,\"names\",[]),a=s.getArg(n,\"sourceRoot\",null),u=s.getArg(n,\"sourcesContent\",null),c=s.getArg(n,\"mappings\"),p=s.getArg(n,\"file\",null);if(r!=this._version)throw new Error(\"Unsupported version: \"+r);a&&(a=s.normalize(a)),i=i.map(String).map(s.normalize).map(function(e){return a&&s.isAbsolute(a)&&s.isAbsolute(e)?s.relative(a,e):e}),this._names=l.fromArray(o.map(String),!0),this._sources=l.fromArray(i,!0),this._absoluteSources=this._sources.toArray().map(function(e){return s.computeSourceURL(a,e,t)}),this.sourceRoot=a,this.sourcesContent=u,this._mappings=c,this._sourceMapURL=t,this.file=p}function o(){this.generatedLine=0,this.generatedColumn=0,this.source=null,this.originalLine=null,this.originalColumn=null,this.name=null}function a(e,t){var n=e;\"string\"==typeof e&&(n=s.parseSourceMapInput(e));var i=s.getArg(n,\"version\"),o=s.getArg(n,\"sections\");if(i!=this._version)throw new Error(\"Unsupported version: \"+i);this._sources=new l,this._names=new l;var a={line:-1,column:0};this._sections=o.map(function(e){if(e.url)throw new Error(\"Support for url field in sections not implemented.\");var n=s.getArg(e,\"offset\"),i=s.getArg(n,\"line\"),o=s.getArg(n,\"column\");if(i<a.line||i===a.line&&o<a.column)throw new Error(\"Section offsets must be ordered and non-overlapping.\");return a=n,{generatedOffset:{generatedLine:i+1,generatedColumn:o+1},consumer:new r(s.getArg(e,\"map\"),t)}})}var s=n(120),u=n(1003),l=n(452).ArraySet,c=n(453),p=n(1005).quickSort;r.fromSourceMap=function(e,t){return i.fromSourceMap(e,t)},r.prototype._version=3,r.prototype.__generatedMappings=null,Object.defineProperty(r.prototype,\"_generatedMappings\",{configurable:!0,enumerable:!0,get:function(){return this.__generatedMappings||this._parseMappings(this._mappings,this.sourceRoot),this.__generatedMappings}}),r.prototype.__originalMappings=null,Object.defineProperty(r.prototype,\"_originalMappings\",{configurable:!0,enumerable:!0,get:function(){return this.__originalMappings||this._parseMappings(this._mappings,this.sourceRoot),this.__originalMappings}}),r.prototype._charIsMappingSeparator=function(e,t){var n=e.charAt(t);return\";\"===n||\",\"===n},r.prototype._parseMappings=function(e,t){throw new Error(\"Subclasses must implement _parseMappings\")},r.GENERATED_ORDER=1,r.ORIGINAL_ORDER=2,r.GREATEST_LOWER_BOUND=1,r.LEAST_UPPER_BOUND=2,r.prototype.eachMapping=function(e,t,n){var i,o=t||null,a=n||r.GENERATED_ORDER;switch(a){case r.GENERATED_ORDER:i=this._generatedMappings;break;case r.ORIGINAL_ORDER:i=this._originalMappings;break;default:throw new Error(\"Unknown order of iteration.\")}var u=this.sourceRoot;i.map(function(e){var t=null===e.source?null:this._sources.at(e.source);return t=s.computeSourceURL(u,t,this._sourceMapURL),{source:t,generatedLine:e.generatedLine,generatedColumn:e.generatedColumn,originalLine:e.originalLine,originalColumn:e.originalColumn,name:null===e.name?null:this._names.at(e.name)}},this).forEach(e,o)},r.prototype.allGeneratedPositionsFor=function(e){var t=s.getArg(e,\"line\"),n={source:s.getArg(e,\"source\"),originalLine:t,originalColumn:s.getArg(e,\"column\",0)};if(n.source=this._findSourceIndex(n.source),n.source<0)return[];var r=[],i=this._findMapping(n,this._originalMappings,\"originalLine\",\"originalColumn\",s.compareByOriginalPositions,u.LEAST_UPPER_BOUND);if(i>=0){var o=this._originalMappings[i];if(void 0===e.column)for(var a=o.originalLine;o&&o.originalLine===a;)r.push({line:s.getArg(o,\"generatedLine\",null),column:s.getArg(o,\"generatedColumn\",null),lastColumn:s.getArg(o,\"lastGeneratedColumn\",null)}),o=this._originalMappings[++i];else for(var l=o.originalColumn;o&&o.originalLine===t&&o.originalColumn==l;)r.push({line:s.getArg(o,\"generatedLine\",null),column:s.getArg(o,\"generatedColumn\",null),lastColumn:s.getArg(o,\"lastGeneratedColumn\",null)}),o=this._originalMappings[++i]}return r},t.SourceMapConsumer=r,i.prototype=Object.create(r.prototype),i.prototype.consumer=r,i.prototype._findSourceIndex=function(e){var t=e;if(null!=this.sourceRoot&&(t=s.relative(this.sourceRoot,t)),this._sources.has(t))return this._sources.indexOf(t);var n;for(n=0;n<this._absoluteSources.length;++n)if(this._absoluteSources[n]==e)return n;return-1},i.fromSourceMap=function(e,t){var n=Object.create(i.prototype),r=n._names=l.fromArray(e._names.toArray(),!0),a=n._sources=l.fromArray(e._sources.toArray(),!0);n.sourceRoot=e._sourceRoot,n.sourcesContent=e._generateSourcesContent(n._sources.toArray(),n.sourceRoot),n.file=e._file,n._sourceMapURL=t,n._absoluteSources=n._sources.toArray().map(function(e){return s.computeSourceURL(n.sourceRoot,e,t)});for(var u=e._mappings.toArray().slice(),c=n.__generatedMappings=[],f=n.__originalMappings=[],h=0,d=u.length;h<d;h++){var m=u[h],v=new o;v.generatedLine=m.generatedLine,v.generatedColumn=m.generatedColumn,m.source&&(v.source=a.indexOf(m.source),v.originalLine=m.originalLine,v.originalColumn=m.originalColumn,m.name&&(v.name=r.indexOf(m.name)),f.push(v)),c.push(v)}return p(n.__originalMappings,s.compareByOriginalPositions),n},i.prototype._version=3,Object.defineProperty(i.prototype,\"sources\",{get:function(){return this._absoluteSources.slice()}}),i.prototype._parseMappings=function(e,t){for(var n,r,i,a,u,l=1,f=0,h=0,d=0,m=0,v=0,g=e.length,y=0,_={},b={},x=[],w=[];y<g;)if(\";\"===e.charAt(y))l++,y++,f=0;else if(\",\"===e.charAt(y))y++;else{for(n=new o,n.generatedLine=l,a=y;a<g&&!this._charIsMappingSeparator(e,a);a++);if(r=e.slice(y,a),i=_[r])y+=r.length;else{for(i=[];y<a;)c.decode(e,y,b),u=b.value,y=b.rest,i.push(u);if(2===i.length)throw new Error(\"Found a source, but no line and column\");if(3===i.length)throw new Error(\"Found a source and line, but no column\");_[r]=i}n.generatedColumn=f+i[0],f=n.generatedColumn,i.length>1&&(n.source=m+i[1],m+=i[1],n.originalLine=h+i[2],h=n.originalLine,n.originalLine+=1,n.originalColumn=d+i[3],d=n.originalColumn,i.length>4&&(n.name=v+i[4],v+=i[4])),w.push(n),\"number\"==typeof n.originalLine&&x.push(n)}p(w,s.compareByGeneratedPositionsDeflated),this.__generatedMappings=w,p(x,s.compareByOriginalPositions),this.__originalMappings=x},i.prototype._findMapping=function(e,t,n,r,i,o){if(e[n]<=0)throw new TypeError(\"Line must be greater than or equal to 1, got \"+e[n]);if(e[r]<0)throw new TypeError(\"Column must be greater than or equal to 0, got \"+e[r]);return u.search(e,t,i,o)},i.prototype.computeColumnSpans=function(){for(var e=0;e<this._generatedMappings.length;++e){var t=this._generatedMappings[e];if(e+1<this._generatedMappings.length){var n=this._generatedMappings[e+1];if(t.generatedLine===n.generatedLine){t.lastGeneratedColumn=n.generatedColumn-1;continue}}t.lastGeneratedColumn=1/0}},i.prototype.originalPositionFor=function(e){var t={generatedLine:s.getArg(e,\"line\"),generatedColumn:s.getArg(e,\"column\")},n=this._findMapping(t,this._generatedMappings,\"generatedLine\",\"generatedColumn\",s.compareByGeneratedPositionsDeflated,s.getArg(e,\"bias\",r.GREATEST_LOWER_BOUND));if(n>=0){var i=this._generatedMappings[n];if(i.generatedLine===t.generatedLine){var o=s.getArg(i,\"source\",null);null!==o&&(o=this._sources.at(o),o=s.computeSourceURL(this.sourceRoot,o,this._sourceMapURL));var a=s.getArg(i,\"name\",null);return null!==a&&(a=this._names.at(a)),{source:o,line:s.getArg(i,\"originalLine\",null),column:s.getArg(i,\"originalColumn\",null),name:a}}}return{source:null,line:null,column:null,name:null}},i.prototype.hasContentsOfAllSources=function(){return!!this.sourcesContent&&(this.sourcesContent.length>=this._sources.size()&&!this.sourcesContent.some(function(e){return null==e}))},i.prototype.sourceContentFor=function(e,t){if(!this.sourcesContent)return null;var n=this._findSourceIndex(e);if(n>=0)return this.sourcesContent[n];var r=e;null!=this.sourceRoot&&(r=s.relative(this.sourceRoot,r));var i;if(null!=this.sourceRoot&&(i=s.urlParse(this.sourceRoot))){var o=r.replace(/^file:\\/\\//,\"\");if(\"file\"==i.scheme&&this._sources.has(o))return this.sourcesContent[this._sources.indexOf(o)];if((!i.path||\"/\"==i.path)&&this._sources.has(\"/\"+r))return this.sourcesContent[this._sources.indexOf(\"/\"+r)]}if(t)return null;throw new Error('\"'+r+'\" is not in the SourceMap.')},i.prototype.generatedPositionFor=function(e){var t=s.getArg(e,\"source\");if((t=this._findSourceIndex(t))<0)return{line:null,column:null,lastColumn:null};var n={source:t,originalLine:s.getArg(e,\"line\"),originalColumn:s.getArg(e,\"column\")},i=this._findMapping(n,this._originalMappings,\"originalLine\",\"originalColumn\",s.compareByOriginalPositions,s.getArg(e,\"bias\",r.GREATEST_LOWER_BOUND));if(i>=0){var o=this._originalMappings[i];if(o.source===n.source)return{line:s.getArg(o,\"generatedLine\",null),column:s.getArg(o,\"generatedColumn\",null),lastColumn:s.getArg(o,\"lastGeneratedColumn\",null)}}return{line:null,column:null,lastColumn:null}},t.BasicSourceMapConsumer=i,a.prototype=Object.create(r.prototype),a.prototype.constructor=r,a.prototype._version=3,Object.defineProperty(a.prototype,\"sources\",{get:function(){for(var e=[],t=0;t<this._sections.length;t++)for(var n=0;n<this._sections[t].consumer.sources.length;n++)e.push(this._sections[t].consumer.sources[n]);return e}}),a.prototype.originalPositionFor=function(e){var t={generatedLine:s.getArg(e,\"line\"),generatedColumn:s.getArg(e,\"column\")},n=u.search(t,this._sections,function(e,t){var n=e.generatedLine-t.generatedOffset.generatedLine;return n||e.generatedColumn-t.generatedOffset.generatedColumn}),r=this._sections[n];return r?r.consumer.originalPositionFor({line:t.generatedLine-(r.generatedOffset.generatedLine-1),column:t.generatedColumn-(r.generatedOffset.generatedLine===t.generatedLine?r.generatedOffset.generatedColumn-1:0),bias:e.bias}):{source:null,line:null,column:null,name:null}},a.prototype.hasContentsOfAllSources=function(){return this._sections.every(function(e){return e.consumer.hasContentsOfAllSources()})},a.prototype.sourceContentFor=function(e,t){for(var n=0;n<this._sections.length;n++){var r=this._sections[n],i=r.consumer.sourceContentFor(e,!0);if(i)return i}if(t)return null;throw new Error('\"'+e+'\" is not in the SourceMap.')},a.prototype.generatedPositionFor=function(e){for(var t=0;t<this._sections.length;t++){var n=this._sections[t];if(-1!==n.consumer._findSourceIndex(s.getArg(e,\"source\"))){var r=n.consumer.generatedPositionFor(e);if(r){return{line:r.line+(n.generatedOffset.generatedLine-1),column:r.column+(n.generatedOffset.generatedLine===r.line?n.generatedOffset.generatedColumn-1:0)}}}}return{line:null,column:null}},a.prototype._parseMappings=function(e,t){this.__generatedMappings=[],this.__originalMappings=[];for(var n=0;n<this._sections.length;n++)for(var r=this._sections[n],i=r.consumer._generatedMappings,o=0;o<i.length;o++){var a=i[o],u=r.consumer._sources.at(a.source);u=s.computeSourceURL(r.consumer.sourceRoot,u,this._sourceMapURL),this._sources.add(u),u=this._sources.indexOf(u);var l=null;a.name&&(l=r.consumer._names.at(a.name),this._names.add(l),l=this._names.indexOf(l));var c={source:u,generatedLine:a.generatedLine+(r.generatedOffset.generatedLine-1),generatedColumn:a.generatedColumn+(r.generatedOffset.generatedLine===a.generatedLine?r.generatedOffset.generatedColumn-1:0),originalLine:a.originalLine,originalColumn:a.originalColumn,name:l};this.__generatedMappings.push(c),\"number\"==typeof c.originalLine&&this.__originalMappings.push(c)}p(this.__generatedMappings,s.compareByGeneratedPositionsDeflated),p(this.__originalMappings,s.compareByOriginalPositions)},t.IndexedSourceMapConsumer=a},function(e,t,n){function r(e,t,n,r,i){this.children=[],this.sourceContents={},this.line=null==e?null:e,this.column=null==t?null:t,this.source=null==n?null:n,this.name=null==i?null:i,this[s]=!0,null!=r&&this.add(r)}var i=n(454).SourceMapGenerator,o=n(120),a=/(\\r?\\n)/,s=\"$$$isSourceNode$$$\";r.fromStringWithSourceMap=function(e,t,n){function i(e,t){if(null===e||void 0===e.source)s.add(t);else{var i=n?o.join(n,e.source):e.source;s.add(new r(e.originalLine,e.originalColumn,i,t,e.name))}}var s=new r,u=e.split(a),l=0,c=function(){function e(){return l<u.length?u[l++]:void 0}return e()+(e()||\"\")},p=1,f=0,h=null;return t.eachMapping(function(e){if(null!==h){if(!(p<e.generatedLine)){var t=u[l]||\"\",n=t.substr(0,e.generatedColumn-f);return u[l]=t.substr(e.generatedColumn-f),f=e.generatedColumn,i(h,n),void(h=e)}i(h,c()),p++,f=0}for(;p<e.generatedLine;)s.add(c()),p++;if(f<e.generatedColumn){var t=u[l]||\"\";s.add(t.substr(0,e.generatedColumn)),u[l]=t.substr(e.generatedColumn),f=e.generatedColumn}h=e},this),l<u.length&&(h&&i(h,c()),s.add(u.splice(l).join(\"\"))),t.sources.forEach(function(e){var r=t.sourceContentFor(e);null!=r&&(null!=n&&(e=o.join(n,e)),s.setSourceContent(e,r))}),s},r.prototype.add=function(e){if(Array.isArray(e))e.forEach(function(e){this.add(e)},this);else{if(!e[s]&&\"string\"!=typeof e)throw new TypeError(\"Expected a SourceNode, string, or an array of SourceNodes and strings. Got \"+e);e&&this.children.push(e)}return this},r.prototype.prepend=function(e){if(Array.isArray(e))for(var t=e.length-1;t>=0;t--)this.prepend(e[t]);else{if(!e[s]&&\"string\"!=typeof e)throw new TypeError(\"Expected a SourceNode, string, or an array of SourceNodes and strings. Got \"+e);this.children.unshift(e)}return this},r.prototype.walk=function(e){for(var t,n=0,r=this.children.length;n<r;n++)t=this.children[n],t[s]?t.walk(e):\"\"!==t&&e(t,{source:this.source,line:this.line,column:this.column,name:this.name})},r.prototype.join=function(e){var t,n,r=this.children.length;if(r>0){for(t=[],n=0;n<r-1;n++)t.push(this.children[n]),t.push(e);t.push(this.children[n]),this.children=t}return this},r.prototype.replaceRight=function(e,t){var n=this.children[this.children.length-1];return n[s]?n.replaceRight(e,t):\"string\"==typeof n?this.children[this.children.length-1]=n.replace(e,t):this.children.push(\"\".replace(e,t)),this},r.prototype.setSourceContent=function(e,t){this.sourceContents[o.toSetString(e)]=t},r.prototype.walkSourceContents=function(e){for(var t=0,n=this.children.length;t<n;t++)this.children[t][s]&&this.children[t].walkSourceContents(e);for(var r=Object.keys(this.sourceContents),t=0,n=r.length;t<n;t++)e(o.fromSetString(r[t]),this.sourceContents[r[t]])},r.prototype.toString=function(){var e=\"\";return this.walk(function(t){e+=t}),e},r.prototype.toStringWithSourceMap=function(e){var t={code:\"\",line:1,column:0},n=new i(e),r=!1,o=null,a=null,s=null,u=null;return this.walk(function(e,i){t.code+=e,null!==i.source&&null!==i.line&&null!==i.column?(o===i.source&&a===i.line&&s===i.column&&u===i.name||n.addMapping({source:i.source,original:{line:i.line,column:i.column},generated:{line:t.line,column:t.column},name:i.name}),o=i.source,a=i.line,s=i.column,u=i.name,r=!0):r&&(n.addMapping({generated:{line:t.line,column:t.column}}),o=null,r=!1);for(var l=0,c=e.length;l<c;l++)10===e.charCodeAt(l)?(t.line++,t.column=0,l+1===c?(o=null,r=!1):r&&n.addMapping({source:i.source,original:{line:i.line,column:i.column},generated:{line:t.line,column:t.column},name:i.name})):t.column++}),this.walkSourceContents(function(e,t){n.setSourceContent(e,t)}),{code:t.code,map:n}},t.SourceNode=r},function(e,t,n){\"use strict\";function r(e,t,n,r,i){}e.exports=r},function(e,t,n){\"use strict\";var r=n(33),i=n(8),o=n(457);e.exports=function(){function e(e,t,n,r,a,s){s!==o&&i(!1,\"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types\")}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t};return n.checkPropTypes=r,n.PropTypes=n,n}},function(e,t,n){\"use strict\";var r=n(33),i=n(8),o=n(10),a=n(13),s=n(457),u=n(1008);e.exports=function(e,t){function n(e){var t=e&&(C&&e[C]||e[A]);if(\"function\"==typeof t)return t}function l(e,t){return e===t?0!==e||1/e==1/t:e!==e&&t!==t}function c(e){this.message=e,this.stack=\"\"}function p(e){function n(n,r,o,a,u,l,p){if(a=a||D,l=l||o,p!==s)if(t)i(!1,\"Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types\");else;return null==r[o]?n?new c(null===r[o]?\"The \"+u+\" `\"+l+\"` is marked as required in `\"+a+\"`, but its value is `null`.\":\"The \"+u+\" `\"+l+\"` is marked as required in `\"+a+\"`, but its value is `undefined`.\"):null:e(r,o,a,u,l)}var r=n.bind(null,!1);return r.isRequired=n.bind(null,!0),r}function f(e){function t(t,n,r,i,o,a){var s=t[n];if(w(s)!==e)return new c(\"Invalid \"+i+\" `\"+o+\"` of type `\"+k(s)+\"` supplied to `\"+r+\"`, expected `\"+e+\"`.\");return null}return p(t)}function h(e){function t(t,n,r,i,o){if(\"function\"!=typeof e)return new c(\"Property `\"+o+\"` of component `\"+r+\"` has invalid PropType notation inside arrayOf.\");var a=t[n];if(!Array.isArray(a)){return new c(\"Invalid \"+i+\" `\"+o+\"` of type `\"+w(a)+\"` supplied to `\"+r+\"`, expected an array.\")}for(var u=0;u<a.length;u++){var l=e(a,u,r,i,o+\"[\"+u+\"]\",s);if(l instanceof Error)return l}return null}return p(t)}function d(e){function t(t,n,r,i,o){if(!(t[n]instanceof e)){var a=e.name||D;return new c(\"Invalid \"+i+\" `\"+o+\"` of type `\"+S(t[n])+\"` supplied to `\"+r+\"`, expected instance of `\"+a+\"`.\")}return null}return p(t)}function m(e){function t(t,n,r,i,o){for(var a=t[n],s=0;s<e.length;s++)if(l(a,e[s]))return null;return new c(\"Invalid \"+i+\" `\"+o+\"` of value `\"+a+\"` supplied to `\"+r+\"`, expected one of \"+JSON.stringify(e)+\".\")}return Array.isArray(e)?p(t):r.thatReturnsNull}function v(e){function t(t,n,r,i,o){if(\"function\"!=typeof e)return new c(\"Property `\"+o+\"` of component `\"+r+\"` has invalid PropType notation inside objectOf.\");var a=t[n],u=w(a);if(\"object\"!==u)return new c(\"Invalid \"+i+\" `\"+o+\"` of type `\"+u+\"` supplied to `\"+r+\"`, expected an object.\");for(var l in a)if(a.hasOwnProperty(l)){var p=e(a,l,r,i,o+\".\"+l,s);if(p instanceof Error)return p}return null}return p(t)}function g(e){function t(t,n,r,i,o){for(var a=0;a<e.length;a++){if(null==(0,e[a])(t,n,r,i,o,s))return null}return new c(\"Invalid \"+i+\" `\"+o+\"` supplied to `\"+r+\"`.\")}if(!Array.isArray(e))return r.thatReturnsNull;for(var n=0;n<e.length;n++){var i=e[n];if(\"function\"!=typeof i)return o(!1,\"Invalid argument supplied to oneOfType. Expected an array of check functions, but received %s at index %s.\",E(i),n),r.thatReturnsNull}return p(t)}function y(e){function t(t,n,r,i,o){var a=t[n],u=w(a);if(\"object\"!==u)return new c(\"Invalid \"+i+\" `\"+o+\"` of type `\"+u+\"` supplied to `\"+r+\"`, expected `object`.\");for(var l in e){var p=e[l];if(p){var f=p(a,l,r,i,o+\".\"+l,s);if(f)return f}}return null}return p(t)}function _(e){function t(t,n,r,i,o){var u=t[n],l=w(u);if(\"object\"!==l)return new c(\"Invalid \"+i+\" `\"+o+\"` of type `\"+l+\"` supplied to `\"+r+\"`, expected `object`.\");var p=a({},t[n],e);for(var f in p){var h=e[f];if(!h)return new c(\"Invalid \"+i+\" `\"+o+\"` key `\"+f+\"` supplied to `\"+r+\"`.\\nBad object: \"+JSON.stringify(t[n],null,\"  \")+\"\\nValid keys: \"+JSON.stringify(Object.keys(e),null,\"  \"));var d=h(u,f,r,i,o+\".\"+f,s);if(d)return d}return null}return p(t)}function b(t){switch(typeof t){case\"number\":case\"string\":case\"undefined\":return!0;case\"boolean\":return!t;case\"object\":if(Array.isArray(t))return t.every(b);if(null===t||e(t))return!0;var r=n(t);if(!r)return!1;var i,o=r.call(t);if(r!==t.entries){for(;!(i=o.next()).done;)if(!b(i.value))return!1}else for(;!(i=o.next()).done;){var a=i.value;if(a&&!b(a[1]))return!1}return!0;default:return!1}}function x(e,t){return\"symbol\"===e||(\"Symbol\"===t[\"@@toStringTag\"]||\"function\"==typeof Symbol&&t instanceof Symbol)}function w(e){var t=typeof e;return Array.isArray(e)?\"array\":e instanceof RegExp?\"object\":x(t,e)?\"symbol\":t}function k(e){if(void 0===e||null===e)return\"\"+e;var t=w(e);if(\"object\"===t){if(e instanceof Date)return\"date\";if(e instanceof RegExp)return\"regexp\"}return t}function E(e){var t=k(e);switch(t){case\"array\":case\"object\":return\"an \"+t;case\"boolean\":case\"date\":case\"regexp\":return\"a \"+t;default:return t}}function S(e){return e.constructor&&e.constructor.name?e.constructor.name:D}var C=\"function\"==typeof Symbol&&Symbol.iterator,A=\"@@iterator\",D=\"<<anonymous>>\",O={array:f(\"array\"),bool:f(\"boolean\"),func:f(\"function\"),number:f(\"number\"),object:f(\"object\"),string:f(\"string\"),symbol:f(\"symbol\"),any:function(){return p(r.thatReturnsNull)}(),arrayOf:h,element:function(){function t(t,n,r,i,o){var a=t[n];if(!e(a)){return new c(\"Invalid \"+i+\" `\"+o+\"` of type `\"+w(a)+\"` supplied to `\"+r+\"`, expected a single ReactElement.\")}return null}return p(t)}(),instanceOf:d,node:function(){function e(e,t,n,r,i){return b(e[t])?null:new c(\"Invalid \"+r+\" `\"+i+\"` supplied to `\"+n+\"`, expected a ReactNode.\")}return p(e)}(),objectOf:v,oneOf:m,oneOfType:g,shape:y,exact:_};return c.prototype=Error.prototype,O.checkPropTypes=u,O.PropTypes=O,O}},function(e,t,n){(function(e,r){var i;!function(o){function a(e){throw RangeError(P[e])}function s(e,t){for(var n=e.length,r=[];n--;)r[n]=t(e[n]);return r}function u(e,t){var n=e.split(\"@\"),r=\"\";return n.length>1&&(r=n[0]+\"@\",e=n[1]),e=e.replace(T,\".\"),r+s(e.split(\".\"),t).join(\".\")}function l(e){for(var t,n,r=[],i=0,o=e.length;i<o;)t=e.charCodeAt(i++),t>=55296&&t<=56319&&i<o?(n=e.charCodeAt(i++),56320==(64512&n)?r.push(((1023&t)<<10)+(1023&n)+65536):(r.push(t),i--)):r.push(t);return r}function c(e){return s(e,function(e){var t=\"\";return e>65535&&(e-=65536,t+=j(e>>>10&1023|55296),e=56320|1023&e),t+=j(e)}).join(\"\")}function p(e){return e-48<10?e-22:e-65<26?e-65:e-97<26?e-97:x}function f(e,t){return e+22+75*(e<26)-((0!=t)<<5)}function h(e,t,n){var r=0;for(e=n?R(e/S):e>>1,e+=R(e/t);e>I*k>>1;r+=x)e=R(e/I);return R(r+(I+1)*e/(e+E))}function d(e){var t,n,r,i,o,s,u,l,f,d,m=[],v=e.length,g=0,y=A,_=C;for(n=e.lastIndexOf(D),n<0&&(n=0),r=0;r<n;++r)e.charCodeAt(r)>=128&&a(\"not-basic\"),m.push(e.charCodeAt(r));for(i=n>0?n+1:0;i<v;){for(o=g,s=1,u=x;i>=v&&a(\"invalid-input\"),l=p(e.charCodeAt(i++)),(l>=x||l>R((b-g)/s))&&a(\"overflow\"),g+=l*s,f=u<=_?w:u>=_+k?k:u-_,!(l<f);u+=x)d=x-f,s>R(b/d)&&a(\"overflow\"),s*=d;t=m.length+1,_=h(g-o,t,0==o),R(g/t)>b-y&&a(\"overflow\"),y+=R(g/t),g%=t,m.splice(g++,0,y)}return c(m)}function m(e){var t,n,r,i,o,s,u,c,p,d,m,v,g,y,_,E=[];for(e=l(e),v=e.length,t=A,n=0,o=C,s=0;s<v;++s)(m=e[s])<128&&E.push(j(m));for(r=i=E.length,i&&E.push(D);r<v;){for(u=b,s=0;s<v;++s)(m=e[s])>=t&&m<u&&(u=m);for(g=r+1,u-t>R((b-n)/g)&&a(\"overflow\"),n+=(u-t)*g,t=u,s=0;s<v;++s)if(m=e[s],m<t&&++n>b&&a(\"overflow\"),m==t){for(c=n,p=x;d=p<=o?w:p>=o+k?k:p-o,!(c<d);p+=x)_=c-d,y=x-d,E.push(j(f(d+_%y,0))),c=R(_/y);E.push(j(f(c,0))),o=h(n,g,r==i),n=0,++r}++n,++t}return E.join(\"\")}function v(e){return u(e,function(e){return O.test(e)?d(e.slice(4).toLowerCase()):e})}function g(e){return u(e,function(e){return M.test(e)?\"xn--\"+m(e):e})}var y=(\"object\"==typeof t&&t&&t.nodeType,\"object\"==typeof e&&e&&e.nodeType,\"object\"==typeof r&&r);var _,b=2147483647,x=36,w=1,k=26,E=38,S=700,C=72,A=128,D=\"-\",O=/^xn--/,M=/[^\\x20-\\x7E]/,T=/[\\x2E\\u3002\\uFF0E\\uFF61]/g,P={overflow:\"Overflow: input needs wider integers to process\",\"not-basic\":\"Illegal input >= 0x80 (not a basic code point)\",\"invalid-input\":\"Invalid input\"},I=x-w,R=Math.floor,j=String.fromCharCode;_={version:\"1.3.2\",ucs2:{decode:l,encode:c},decode:d,encode:m,toASCII:g,toUnicode:v},void 0!==(i=function(){return _}.call(t,n,t,e))&&(e.exports=i)}()}).call(t,n(94)(e),n(16))},function(e,t,n){\"use strict\";var r=n(1014),i=n(1013),o=n(458);e.exports={formats:o,parse:i,stringify:r}},function(e,t,n){\"use strict\";var r=n(459),i=Object.prototype.hasOwnProperty,o={allowDots:!1,allowPrototypes:!1,arrayLimit:20,decoder:r.decode,delimiter:\"&\",depth:5,parameterLimit:1e3,plainObjects:!1,strictNullHandling:!1},a=function(e,t){for(var n={},r=t.ignoreQueryPrefix?e.replace(/^\\?/,\"\"):e,a=t.parameterLimit===1/0?void 0:t.parameterLimit,s=r.split(t.delimiter,a),u=0;u<s.length;++u){var l,c,p=s[u],f=p.indexOf(\"]=\"),h=-1===f?p.indexOf(\"=\"):f+1;-1===h?(l=t.decoder(p,o.decoder),c=t.strictNullHandling?null:\"\"):(l=t.decoder(p.slice(0,h),o.decoder),c=t.decoder(p.slice(h+1),o.decoder)),i.call(n,l)?n[l]=[].concat(n[l]).concat(c):n[l]=c}return n},s=function(e,t,n){for(var r=t,i=e.length-1;i>=0;--i){var o,a=e[i];if(\"[]\"===a)o=[],o=o.concat(r);else{o=n.plainObjects?Object.create(null):{};var s=\"[\"===a.charAt(0)&&\"]\"===a.charAt(a.length-1)?a.slice(1,-1):a,u=parseInt(s,10);!isNaN(u)&&a!==s&&String(u)===s&&u>=0&&n.parseArrays&&u<=n.arrayLimit?(o=[],o[u]=r):o[s]=r}r=o}return r},u=function(e,t,n){if(e){var r=n.allowDots?e.replace(/\\.([^.[]+)/g,\"[$1]\"):e,o=/(\\[[^[\\]]*])/,a=/(\\[[^[\\]]*])/g,u=o.exec(r),l=u?r.slice(0,u.index):r,c=[];if(l){if(!n.plainObjects&&i.call(Object.prototype,l)&&!n.allowPrototypes)return;c.push(l)}for(var p=0;null!==(u=a.exec(r))&&p<n.depth;){if(p+=1,!n.plainObjects&&i.call(Object.prototype,u[1].slice(1,-1))&&!n.allowPrototypes)return;c.push(u[1])}return u&&c.push(\"[\"+r.slice(u.index)+\"]\"),s(c,t,n)}};e.exports=function(e,t){var n=t?r.assign({},t):{};if(null!==n.decoder&&void 0!==n.decoder&&\"function\"!=typeof n.decoder)throw new TypeError(\"Decoder has to be a function.\");if(n.ignoreQueryPrefix=!0===n.ignoreQueryPrefix,n.delimiter=\"string\"==typeof n.delimiter||r.isRegExp(n.delimiter)?n.delimiter:o.delimiter,n.depth=\"number\"==typeof n.depth?n.depth:o.depth,n.arrayLimit=\"number\"==typeof n.arrayLimit?n.arrayLimit:o.arrayLimit,n.parseArrays=!1!==n.parseArrays,n.decoder=\"function\"==typeof n.decoder?n.decoder:o.decoder,n.allowDots=\"boolean\"==typeof n.allowDots?n.allowDots:o.allowDots,n.plainObjects=\"boolean\"==typeof n.plainObjects?n.plainObjects:o.plainObjects,n.allowPrototypes=\"boolean\"==typeof n.allowPrototypes?n.allowPrototypes:o.allowPrototypes,n.parameterLimit=\"number\"==typeof n.parameterLimit?n.parameterLimit:o.parameterLimit,n.strictNullHandling=\"boolean\"==typeof n.strictNullHandling?n.strictNullHandling:o.strictNullHandling,\"\"===e||null===e||void 0===e)return n.plainObjects?Object.create(null):{};for(var i=\"string\"==typeof e?a(e,n):e,s=n.plainObjects?Object.create(null):{},l=Object.keys(i),c=0;c<l.length;++c){var p=l[c],f=u(p,i[p],n);s=r.merge(s,f,n)}return r.compact(s)}},function(e,t,n){\"use strict\";var r=n(459),i=n(458),o={brackets:function(e){return e+\"[]\"},indices:function(e,t){return e+\"[\"+t+\"]\"},repeat:function(e){return e}},a=Date.prototype.toISOString,s={delimiter:\"&\",encode:!0,encoder:r.encode,encodeValuesOnly:!1,serializeDate:function(e){return a.call(e)},skipNulls:!1,strictNullHandling:!1},u=function e(t,n,i,o,a,u,l,c,p,f,h,d){var m=t;if(\"function\"==typeof l)m=l(n,m);else if(m instanceof Date)m=f(m);else if(null===m){if(o)return u&&!d?u(n,s.encoder):n;m=\"\"}if(\"string\"==typeof m||\"number\"==typeof m||\"boolean\"==typeof m||r.isBuffer(m)){if(u){return[h(d?n:u(n,s.encoder))+\"=\"+h(u(m,s.encoder))]}return[h(n)+\"=\"+h(String(m))]}var v=[];if(void 0===m)return v;var g;if(Array.isArray(l))g=l;else{var y=Object.keys(m);g=c?y.sort(c):y}for(var _=0;_<g.length;++_){var b=g[_];a&&null===m[b]||(v=Array.isArray(m)?v.concat(e(m[b],i(n,b),i,o,a,u,l,c,p,f,h,d)):v.concat(e(m[b],n+(p?\".\"+b:\"[\"+b+\"]\"),i,o,a,u,l,c,p,f,h,d)))}return v};e.exports=function(e,t){var n=e,a=t?r.assign({},t):{};if(null!==a.encoder&&void 0!==a.encoder&&\"function\"!=typeof a.encoder)throw new TypeError(\"Encoder has to be a function.\");var l=void 0===a.delimiter?s.delimiter:a.delimiter,c=\"boolean\"==typeof a.strictNullHandling?a.strictNullHandling:s.strictNullHandling,p=\"boolean\"==typeof a.skipNulls?a.skipNulls:s.skipNulls,f=\"boolean\"==typeof a.encode?a.encode:s.encode,h=\"function\"==typeof a.encoder?a.encoder:s.encoder,d=\"function\"==typeof a.sort?a.sort:null,m=void 0!==a.allowDots&&a.allowDots,v=\"function\"==typeof a.serializeDate?a.serializeDate:s.serializeDate,g=\"boolean\"==typeof a.encodeValuesOnly?a.encodeValuesOnly:s.encodeValuesOnly;if(void 0===a.format)a.format=i.default;else if(!Object.prototype.hasOwnProperty.call(i.formatters,a.format))throw new TypeError(\"Unknown format option provided.\");var y,_,b=i.formatters[a.format];\"function\"==typeof a.filter?(_=a.filter,n=_(\"\",n)):Array.isArray(a.filter)&&(_=a.filter,y=_);var x=[];if(\"object\"!=typeof n||null===n)return\"\";var w;w=a.arrayFormat in o?a.arrayFormat:\"indices\"in a?a.indices?\"indices\":\"repeat\":\"indices\";var k=o[w];y||(y=Object.keys(n)),d&&y.sort(d);for(var E=0;E<y.length;++E){var S=y[E];p&&null===n[S]||(x=x.concat(u(n[S],S,k,c,p,f?h:null,_,d,m,v,b,g)))}var C=x.join(l),A=!0===a.addQueryPrefix?\"?\":\"\";return C.length>0?A+C:\"\"}},function(e,t,n){\"use strict\";function r(e,t){return Object.prototype.hasOwnProperty.call(e,t)}e.exports=function(e,t,n,o){t=t||\"&\",n=n||\"=\";var a={};if(\"string\"!=typeof e||0===e.length)return a;var s=/\\+/g;e=e.split(t);var u=1e3;o&&\"number\"==typeof o.maxKeys&&(u=o.maxKeys);var l=e.length;u>0&&l>u&&(l=u);for(var c=0;c<l;++c){var p,f,h,d,m=e[c].replace(s,\"%20\"),v=m.indexOf(n);v>=0?(p=m.substr(0,v),f=m.substr(v+1)):(p=m,f=\"\"),h=decodeURIComponent(p),d=decodeURIComponent(f),r(a,h)?i(a[h])?a[h].push(d):a[h]=[a[h],d]:a[h]=d}return a};var i=Array.isArray||function(e){return\"[object Array]\"===Object.prototype.toString.call(e)}},function(e,t,n){\"use strict\";function r(e,t){if(e.map)return e.map(t);for(var n=[],r=0;r<e.length;r++)n.push(t(e[r],r));return n}var i=function(e){switch(typeof e){case\"string\":return e;case\"boolean\":return e?\"true\":\"false\";case\"number\":return isFinite(e)?e:\"\";default:return\"\"}};e.exports=function(e,t,n,s){return t=t||\"&\",n=n||\"=\",null===e&&(e=void 0),\"object\"==typeof e?r(a(e),function(a){var s=encodeURIComponent(i(a))+n;return o(e[a])?r(e[a],function(e){return s+encodeURIComponent(i(e))}).join(t):s+encodeURIComponent(i(e[a]))}).join(t):s?encodeURIComponent(i(s))+n+encodeURIComponent(i(e)):\"\"};var o=Array.isArray||function(e){return\"[object Array]\"===Object.prototype.toString.call(e)},a=Object.keys||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.push(n);return t}},function(e,t,n){\"use strict\";t.decode=t.parse=n(1015),t.encode=t.stringify=n(1016)},function(e,t,n){\"use strict\";function r(e){return decodeURIComponent(e.replace(/\\+/g,\" \"))}function i(e){for(var t,n=/([^=?&]+)=?([^&]*)/g,i={};t=n.exec(e);i[r(t[1])]=r(t[2]));return i}function o(e,t){t=t||\"\";var n=[];\"string\"!=typeof t&&(t=\"?\");for(var r in e)a.call(e,r)&&n.push(encodeURIComponent(r)+\"=\"+encodeURIComponent(e[r]));return n.length?t+n.join(\"&\"):\"\"}var a=Object.prototype.hasOwnProperty;t.stringify=o,t.parse=i},function(e,t,n){(function(t){(function(){var n,r,i,o,a,s;\"undefined\"!=typeof performance&&null!==performance&&performance.now?e.exports=function(){return performance.now()}:void 0!==t&&null!==t&&t.hrtime?(e.exports=function(){return(n()-a)/1e6},r=t.hrtime,n=function(){var e;return e=r(),1e9*e[0]+e[1]},o=n(),s=1e9*t.uptime(),a=o-s):Date.now?(e.exports=function(){return Date.now()-i},i=Date.now()):(e.exports=function(){return(new Date).getTime()-i},i=(new Date).getTime())}).call(this)}).call(t,n(34))},function(e,t){e.exports='---\\nurl: \"http://petstore.swagger.io/v2/swagger.json\"\\ndom_id: \"#swagger-ui\"\\nvalidatorUrl: \"https://online.swagger.io/validator\"\\noauth2RedirectUrl: \"http://localhost:3200/oauth2-redirect.html\"\\n'},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function a(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function s(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.UnmountClosed=void 0;var u=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},l=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),c=n(0),p=r(c),f=n(1),h=r(f),d=n(460);(t.UnmountClosed=function(e){function t(e){o(this,t);var n=a(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.componentWillReceiveProps=function(e){var t=e.isOpened;!n.props.isOpened&&t&&n.setState({forceInitialAnimation:!0,shouldUnmount:!1})},n.onRest=function(){var e=n.props,t=e.isOpened,r=e.onRest;t||n.setState({shouldUnmount:!0}),r&&r.apply(void 0,arguments)},n.state={shouldUnmount:!n.props.isOpened,forceInitialAnimation:!n.props.isOpened},n}return s(t,e),l(t,[{key:\"render\",value:function(){var e=this.props,t=e.isOpened,n=(e.onRest,i(e,[\"isOpened\",\"onRest\"])),r=this.state,o=r.forceInitialAnimation;return r.shouldUnmount?null:p.default.createElement(d.Collapse,u({forceInitialAnimation:o,isOpened:t,onRest:this.onRest},n))}}]),t}(p.default.PureComponent)).propTypes={isOpened:h.default.bool.isRequired,onRest:h.default.func}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function a(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function s(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.DebounceInput=void 0;var u=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},l=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),c=n(0),p=r(c),f=n(840),h=r(f);(t.DebounceInput=function(e){function t(e){o(this,t);var n=a(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.onChange=function(e){e.persist();var t=n.state.value;n.setState({value:e.target.value},function(){var r=n.state.value;if(r.length>=n.props.minLength)return void n.notify(e);t.length>r.length&&n.notify(u({},e,{target:u({},e.target,{value:\"\"})}))})},n.onKeyDown=function(e){var t=n.props.onKeyDown;\"Enter\"===e.key&&n.forceNotify(e),t&&t(e)},n.onBlur=function(e){var t=n.props.onBlur;n.forceNotify(e),t&&t(e)},n.createNotifier=function(e){if(e<0)n.notify=function(){return null};else if(0===e)n.notify=n.doNotify;else{var t=(0,h.default)(function(e){n.isDebouncing=!1,n.doNotify(e)},e);n.notify=function(e){n.isDebouncing=!0,t(e)},n.flush=function(){return t.flush()},n.cancel=function(){n.isDebouncing=!1,t.cancel()}}},n.doNotify=function(){n.props.onChange.apply(void 0,arguments)},n.forceNotify=function(e){if(n.isDebouncing){n.cancel&&n.cancel();var t=n.state.value,r=n.props.minLength;t.length>=r?n.doNotify(e):n.doNotify(u({},e,{target:u({},e.target,{value:t})}))}},n.state={value:e.value||\"\"},n.isDebouncing=!1,n}return s(t,e),l(t,[{key:\"componentWillMount\",value:function(){this.createNotifier(this.props.debounceTimeout)}},{key:\"componentWillReceiveProps\",value:function(e){var t=e.value,n=e.debounceTimeout;this.isDebouncing||(void 0!==t&&this.state.value!==t&&this.setState({value:t}),n!==this.props.debounceTimeout&&this.createNotifier(n))}},{key:\"componentWillUnmount\",value:function(){this.flush&&this.flush()}},{key:\"render\",value:function(){var e=this.props,t=e.element,n=(e.onChange,e.value,e.minLength,e.debounceTimeout,e.forceNotifyByEnter),r=e.forceNotifyOnBlur,o=e.onKeyDown,a=e.onBlur,s=e.inputRef,l=i(e,[\"element\",\"onChange\",\"value\",\"minLength\",\"debounceTimeout\",\"forceNotifyByEnter\",\"forceNotifyOnBlur\",\"onKeyDown\",\"onBlur\",\"inputRef\"]),c=void 0;c=n?{onKeyDown:this.onKeyDown}:o?{onKeyDown:o}:{};var f=void 0;f=r?{onBlur:this.onBlur}:a?{onBlur:a}:{};var h=s?{ref:s}:{};return p.default.createElement(t,u({},l,{onChange:this.onChange,value:this.state.value},c,f,h))}}]),t}(p.default.PureComponent)).defaultProps={element:\"input\",type:\"text\",onKeyDown:void 0,onBlur:void 0,value:void 0,minLength:0,debounceTimeout:100,forceNotifyByEnter:!0,forceNotifyOnBlur:!0,inputRef:void 0}},function(e,t,n){\"use strict\";var r=n(1022),i=r.DebounceInput;i.DebounceInput=i,e.exports=i},function(e,t,n){\"use strict\";var r={Properties:{\"aria-current\":0,\"aria-details\":0,\"aria-disabled\":0,\"aria-hidden\":0,\"aria-invalid\":0,\"aria-keyshortcuts\":0,\"aria-label\":0,\"aria-roledescription\":0,\"aria-autocomplete\":0,\"aria-checked\":0,\"aria-expanded\":0,\"aria-haspopup\":0,\"aria-level\":0,\"aria-modal\":0,\"aria-multiline\":0,\"aria-multiselectable\":0,\"aria-orientation\":0,\"aria-placeholder\":0,\"aria-pressed\":0,\"aria-readonly\":0,\"aria-required\":0,\"aria-selected\":0,\"aria-sort\":0,\"aria-valuemax\":0,\"aria-valuemin\":0,\"aria-valuenow\":0,\"aria-valuetext\":0,\"aria-atomic\":0,\"aria-busy\":0,\"aria-live\":0,\"aria-relevant\":0,\"aria-dropeffect\":0,\"aria-grabbed\":0,\"aria-activedescendant\":0,\"aria-colcount\":0,\"aria-colindex\":0,\"aria-colspan\":0,\"aria-controls\":0,\"aria-describedby\":0,\"aria-errormessage\":0,\"aria-flowto\":0,\"aria-labelledby\":0,\"aria-owns\":0,\"aria-posinset\":0,\"aria-rowcount\":0,\"aria-rowindex\":0,\"aria-rowspan\":0,\"aria-setsize\":0},DOMAttributeNames:{},DOMPropertyNames:{}};e.exports=r},function(e,t,n){\"use strict\";var r=n(14),i=n(387),o={focusDOMComponent:function(){i(r.getNodeFromInstance(this))}};e.exports=o},function(e,t,n){\"use strict\";function r(e){return(e.ctrlKey||e.altKey||e.metaKey)&&!(e.ctrlKey&&e.altKey)}function i(e){switch(e){case\"topCompositionStart\":return S.compositionStart;case\"topCompositionEnd\":return S.compositionEnd;case\"topCompositionUpdate\":return S.compositionUpdate}}function o(e,t){return\"topKeyDown\"===e&&t.keyCode===y}function a(e,t){switch(e){case\"topKeyUp\":return-1!==g.indexOf(t.keyCode);case\"topKeyDown\":return t.keyCode!==y;case\"topKeyPress\":case\"topMouseDown\":case\"topBlur\":return!0;default:return!1}}function s(e){var t=e.detail;return\"object\"==typeof t&&\"data\"in t?t.data:null}function u(e,t,n,r){var u,l;if(_?u=i(e):A?a(e,n)&&(u=S.compositionEnd):o(e,n)&&(u=S.compositionStart),!u)return null;w&&(A||u!==S.compositionStart?u===S.compositionEnd&&A&&(l=A.getData()):A=d.getPooled(r));var c=m.getPooled(u,t,n,r);if(l)c.data=l;else{var p=s(n);null!==p&&(c.data=p)}return f.accumulateTwoPhaseDispatches(c),c}function l(e,t){switch(e){case\"topCompositionEnd\":return s(t);case\"topKeyPress\":return t.which!==k?null:(C=!0,E);case\"topTextInput\":var n=t.data;return n===E&&C?null:n;default:return null}}function c(e,t){if(A){if(\"topCompositionEnd\"===e||!_&&a(e,t)){var n=A.getData();return d.release(A),A=null,n}return null}switch(e){case\"topPaste\":return null;case\"topKeyPress\":return t.which&&!r(t)?String.fromCharCode(t.which):null;case\"topCompositionEnd\":return w?null:t.data;default:return null}}function p(e,t,n,r){var i;if(!(i=x?l(e,n):c(e,n)))return null;var o=v.getPooled(S.beforeInput,t,n,r);return o.data=i,f.accumulateTwoPhaseDispatches(o),o}var f=n(122),h=n(25),d=n(1032),m=n(1069),v=n(1072),g=[9,13,27,32],y=229,_=h.canUseDOM&&\"CompositionEvent\"in window,b=null;h.canUseDOM&&\"documentMode\"in document&&(b=document.documentMode);var x=h.canUseDOM&&\"TextEvent\"in window&&!b&&!function(){var e=window.opera;return\"object\"==typeof e&&\"function\"==typeof e.version&&parseInt(e.version(),10)<=12}(),w=h.canUseDOM&&(!_||b&&b>8&&b<=11),k=32,E=String.fromCharCode(k),S={beforeInput:{phasedRegistrationNames:{bubbled:\"onBeforeInput\",captured:\"onBeforeInputCapture\"},dependencies:[\"topCompositionEnd\",\"topKeyPress\",\"topTextInput\",\"topPaste\"]},compositionEnd:{phasedRegistrationNames:{bubbled:\"onCompositionEnd\",captured:\"onCompositionEndCapture\"},dependencies:[\"topBlur\",\"topCompositionEnd\",\"topKeyDown\",\"topKeyPress\",\"topKeyUp\",\"topMouseDown\"]},compositionStart:{phasedRegistrationNames:{bubbled:\"onCompositionStart\",captured:\"onCompositionStartCapture\"},dependencies:[\"topBlur\",\"topCompositionStart\",\"topKeyDown\",\"topKeyPress\",\"topKeyUp\",\"topMouseDown\"]},compositionUpdate:{phasedRegistrationNames:{bubbled:\"onCompositionUpdate\",captured:\"onCompositionUpdateCapture\"},dependencies:[\"topBlur\",\"topCompositionUpdate\",\"topKeyDown\",\"topKeyPress\",\"topKeyUp\",\"topMouseDown\"]}},C=!1,A=null,D={eventTypes:S,extractEvents:function(e,t,n,r){return[u(e,t,n,r),p(e,t,n,r)]}};e.exports=D},function(e,t,n){\"use strict\";var r=n(463),i=n(25),o=(n(41),n(762),n(1078)),a=n(769),s=n(772),u=(n(10),s(function(e){return a(e)})),l=!1,c=\"cssFloat\";if(i.canUseDOM){var p=document.createElement(\"div\").style;try{p.font=\"\"}catch(e){l=!0}void 0===document.documentElement.style.cssFloat&&(c=\"styleFloat\")}var f={createMarkupForStyles:function(e,t){var n=\"\";for(var r in e)if(e.hasOwnProperty(r)){var i=0===r.indexOf(\"--\"),a=e[r];null!=a&&(n+=u(r)+\":\",n+=o(r,a,t,i)+\";\")}return n||null},setValueForStyles:function(e,t,n){var i=e.style;for(var a in t)if(t.hasOwnProperty(a)){var s=0===a.indexOf(\"--\"),u=o(a,t[a],n,s);if(\"float\"!==a&&\"cssFloat\"!==a||(a=c),s)i.setProperty(a,u);else if(u)i[a]=u;else{var p=l&&r.shorthandPropertyExpansions[a];if(p)for(var f in p)i[f]=\"\";else i[a]=\"\"}}}};e.exports=f},function(e,t,n){\"use strict\";function r(e,t,n){var r=C.getPooled(T.change,e,t,n);return r.type=\"change\",w.accumulateTwoPhaseDispatches(r),r}function i(e){var t=e.nodeName&&e.nodeName.toLowerCase();return\"select\"===t||\"input\"===t&&\"file\"===e.type}function o(e){var t=r(I,e,D(e));S.batchedUpdates(a,t)}function a(e){x.enqueueEvents(e),x.processEventQueue(!1)}function s(e,t){P=e,I=t,P.attachEvent(\"onchange\",o)}function u(){P&&(P.detachEvent(\"onchange\",o),P=null,I=null)}function l(e,t){var n=A.updateValueIfChanged(e),r=!0===t.simulated&&N._allowSimulatedPassThrough;if(n||r)return e}function c(e,t){if(\"topChange\"===e)return t}function p(e,t,n){\"topFocus\"===e?(u(),s(t,n)):\"topBlur\"===e&&u()}function f(e,t){P=e,I=t,P.attachEvent(\"onpropertychange\",d)}function h(){P&&(P.detachEvent(\"onpropertychange\",d),P=null,I=null)}function d(e){\"value\"===e.propertyName&&l(I,e)&&o(e)}function m(e,t,n){\"topFocus\"===e?(h(),f(t,n)):\"topBlur\"===e&&h()}function v(e,t,n){if(\"topSelectionChange\"===e||\"topKeyUp\"===e||\"topKeyDown\"===e)return l(I,n)}function g(e){var t=e.nodeName;return t&&\"input\"===t.toLowerCase()&&(\"checkbox\"===e.type||\"radio\"===e.type)}function y(e,t,n){if(\"topClick\"===e)return l(t,n)}function _(e,t,n){if(\"topInput\"===e||\"topChange\"===e)return l(t,n)}function b(e,t){if(null!=e){var n=e._wrapperState||t._wrapperState;if(n&&n.controlled&&\"number\"===t.type){var r=\"\"+t.value;t.getAttribute(\"value\")!==r&&t.setAttribute(\"value\",r)}}}var x=n(121),w=n(122),k=n(25),E=n(14),S=n(45),C=n(52),A=n(479),D=n(256),O=n(257),M=n(481),T={change:{phasedRegistrationNames:{bubbled:\"onChange\",captured:\"onChangeCapture\"},dependencies:[\"topBlur\",\"topChange\",\"topClick\",\"topFocus\",\"topInput\",\"topKeyDown\",\"topKeyUp\",\"topSelectionChange\"]}},P=null,I=null,R=!1;k.canUseDOM&&(R=O(\"change\")&&(!document.documentMode||document.documentMode>8));var j=!1;k.canUseDOM&&(j=O(\"input\")&&(!document.documentMode||document.documentMode>9));var N={eventTypes:T,_allowSimulatedPassThrough:!0,_isInputEventSupported:j,extractEvents:function(e,t,n,o){var a,s,u=t?E.getNodeFromInstance(t):window;if(i(u)?R?a=c:s=p:M(u)?j?a=_:(a=v,s=m):g(u)&&(a=y),a){var l=a(e,t,n);if(l){return r(l,n,o)}}s&&s(e,u,t),\"topBlur\"===e&&b(t,u)}};e.exports=N},function(e,t,n){\"use strict\";var r=n(11),i=n(88),o=n(25),a=n(765),s=n(33),u=(n(8),{dangerouslyReplaceNodeWithMarkup:function(e,t){if(o.canUseDOM||r(\"56\"),t||r(\"57\"),\"HTML\"===e.nodeName&&r(\"58\"),\"string\"==typeof t){var n=a(t,s)[0];e.parentNode.replaceChild(n,e)}else i.replaceChildWithTree(e,t)}});e.exports=u},function(e,t,n){\"use strict\";var r=[\"ResponderEventPlugin\",\"SimpleEventPlugin\",\"TapEventPlugin\",\"EnterLeaveEventPlugin\",\"ChangeEventPlugin\",\"SelectEventPlugin\",\"BeforeInputEventPlugin\"];e.exports=r},function(e,t,n){\"use strict\";var r=n(122),i=n(14),o=n(161),a={mouseEnter:{registrationName:\"onMouseEnter\",dependencies:[\"topMouseOut\",\"topMouseOver\"]},mouseLeave:{registrationName:\"onMouseLeave\",dependencies:[\"topMouseOut\",\"topMouseOver\"]}},s={eventTypes:a,extractEvents:function(e,t,n,s){if(\"topMouseOver\"===e&&(n.relatedTarget||n.fromElement))return null;if(\"topMouseOut\"!==e&&\"topMouseOver\"!==e)return null;var u;if(s.window===s)u=s;else{var l=s.ownerDocument;u=l?l.defaultView||l.parentWindow:window}var c,p;if(\"topMouseOut\"===e){c=t;var f=n.relatedTarget||n.toElement;p=f?i.getClosestInstanceFromNode(f):null}else c=null,p=t;if(c===p)return null;var h=null==c?u:i.getNodeFromInstance(c),d=null==p?u:i.getNodeFromInstance(p),m=o.getPooled(a.mouseLeave,c,n,s);m.type=\"mouseleave\",m.target=h,m.relatedTarget=d;var v=o.getPooled(a.mouseEnter,p,n,s);return v.type=\"mouseenter\",v.target=d,v.relatedTarget=h,r.accumulateEnterLeaveDispatches(m,v,c,p),[m,v]}};e.exports=s},function(e,t,n){\"use strict\";function r(e){this._root=e,this._startText=this.getText(),this._fallbackText=null}var i=n(13),o=n(70),a=n(478);i(r.prototype,{destructor:function(){this._root=null,this._startText=null,this._fallbackText=null},getText:function(){return\"value\"in this._root?this._root.value:this._root[a()]},getData:function(){if(this._fallbackText)return this._fallbackText;var e,t,n=this._startText,r=n.length,i=this.getText(),o=i.length;for(e=0;e<r&&n[e]===i[e];e++);var a=r-e;for(t=1;t<=a&&n[r-t]===i[o-t];t++);var s=t>1?1-t:void 0;return this._fallbackText=i.slice(e,s),this._fallbackText}}),o.addPoolingTo(r),e.exports=r},function(e,t,n){\"use strict\";var r=n(89),i=r.injection.MUST_USE_PROPERTY,o=r.injection.HAS_BOOLEAN_VALUE,a=r.injection.HAS_NUMERIC_VALUE,s=r.injection.HAS_POSITIVE_NUMERIC_VALUE,u=r.injection.HAS_OVERLOADED_BOOLEAN_VALUE,l={isCustomAttribute:RegExp.prototype.test.bind(new RegExp(\"^(data|aria)-[\"+r.ATTRIBUTE_NAME_CHAR+\"]*$\")),Properties:{accept:0,acceptCharset:0,accessKey:0,action:0,allowFullScreen:o,allowTransparency:0,alt:0,as:0,async:o,autoComplete:0,autoPlay:o,capture:o,cellPadding:0,cellSpacing:0,charSet:0,challenge:0,checked:i|o,cite:0,classID:0,className:0,cols:s,colSpan:0,content:0,contentEditable:0,contextMenu:0,controls:o,controlsList:0,coords:0,crossOrigin:0,data:0,dateTime:0,default:o,defer:o,dir:0,disabled:o,download:u,draggable:0,encType:0,form:0,formAction:0,formEncType:0,formMethod:0,formNoValidate:o,formTarget:0,frameBorder:0,headers:0,height:0,hidden:o,high:0,href:0,hrefLang:0,htmlFor:0,httpEquiv:0,icon:0,id:0,inputMode:0,integrity:0,is:0,keyParams:0,keyType:0,kind:0,label:0,lang:0,list:0,loop:o,low:0,manifest:0,marginHeight:0,marginWidth:0,max:0,maxLength:0,media:0,mediaGroup:0,method:0,min:0,minLength:0,multiple:i|o,muted:i|o,name:0,nonce:0,noValidate:o,open:o,optimum:0,pattern:0,placeholder:0,playsInline:o,poster:0,preload:0,profile:0,radioGroup:0,readOnly:o,referrerPolicy:0,rel:0,required:o,reversed:o,role:0,rows:s,rowSpan:a,sandbox:0,scope:0,scoped:o,scrolling:0,seamless:o,selected:i|o,shape:0,size:s,sizes:0,span:s,spellCheck:0,src:0,srcDoc:0,srcLang:0,srcSet:0,start:a,step:0,style:0,summary:0,tabIndex:0,target:0,title:0,type:0,useMap:0,value:0,width:0,wmode:0,wrap:0,about:0,datatype:0,inlist:0,prefix:0,property:0,resource:0,typeof:0,vocab:0,autoCapitalize:0,autoCorrect:0,autoSave:0,color:0,itemProp:0,itemScope:o,itemType:0,itemID:0,itemRef:0,results:0,security:0,unselectable:0},DOMAttributeNames:{acceptCharset:\"accept-charset\",className:\"class\",htmlFor:\"for\",httpEquiv:\"http-equiv\"},DOMPropertyNames:{},DOMMutationMethods:{value:function(e,t){if(null==t)return e.removeAttribute(\"value\");\"number\"!==e.type||!1===e.hasAttribute(\"value\")?e.setAttribute(\"value\",\"\"+t):e.validity&&!e.validity.badInput&&e.ownerDocument.activeElement!==e&&e.setAttribute(\"value\",\"\"+t)}}};e.exports=l},function(e,t,n){\"use strict\";(function(t){function r(e,t,n,r){var i=void 0===e[n];null!=t&&i&&(e[n]=o(t,!0))}var i=n(90),o=n(480),a=(n(248),n(258)),s=n(483);n(10);void 0!==t&&n.i({NODE_ENV:\"production\",WEBPACK_INLINE_STYLES:!1});var u={instantiateChildren:function(e,t,n,i){if(null==e)return null;var o={};return s(e,r,o),o},updateChildren:function(e,t,n,r,s,u,l,c,p){if(t||e){var f,h;for(f in t)if(t.hasOwnProperty(f)){h=e&&e[f];var d=h&&h._currentElement,m=t[f];if(null!=h&&a(d,m))i.receiveComponent(h,m,s,c),t[f]=h;else{h&&(r[f]=i.getHostNode(h),i.unmountComponent(h,!1));var v=o(m,!0);t[f]=v;var g=i.mountComponent(v,s,u,l,c,p);n.push(g)}}for(f in e)!e.hasOwnProperty(f)||t&&t.hasOwnProperty(f)||(h=e[f],r[f]=i.getHostNode(h),i.unmountComponent(h,!1))}},unmountChildren:function(e,t){for(var n in e)if(e.hasOwnProperty(n)){var r=e[n];i.unmountComponent(r,t)}}};e.exports=u}).call(t,n(34))},function(e,t,n){\"use strict\";var r=n(244),i=n(1042),o={processChildrenUpdates:i.dangerouslyProcessChildrenUpdates,replaceNodeWithMarkup:r.dangerouslyReplaceNodeWithMarkup};e.exports=o},function(e,t,n){\"use strict\";function r(e){}function i(e){return!(!e.prototype||!e.prototype.isReactComponent)}function o(e){return!(!e.prototype||!e.prototype.isPureReactComponent)}var a=n(11),s=n(13),u=n(92),l=n(250),c=n(53),p=n(251),f=n(123),h=(n(41),n(473)),d=n(90),m=n(144),v=(n(8),n(211)),g=n(258),y=(n(10),{ImpureClass:0,PureClass:1,StatelessFunctional:2});r.prototype.render=function(){var e=f.get(this)._currentElement.type,t=e(this.props,this.context,this.updater);return t};var _=1,b={construct:function(e){this._currentElement=e,this._rootNodeID=0,this._compositeType=null,this._instance=null,this._hostParent=null,this._hostContainerInfo=null,this._updateBatchNumber=null,this._pendingElement=null,this._pendingStateQueue=null,this._pendingReplaceState=!1,this._pendingForceUpdate=!1,this._renderedNodeType=null,this._renderedComponent=null,this._context=null,this._mountOrder=0,this._topLevelWrapper=null,this._pendingCallbacks=null,this._calledComponentWillUnmount=!1},mountComponent:function(e,t,n,s){this._context=s,this._mountOrder=_++,this._hostParent=t,this._hostContainerInfo=n;var l,c=this._currentElement.props,p=this._processContext(s),h=this._currentElement.type,d=e.getUpdateQueue(),v=i(h),g=this._constructComponent(v,c,p,d);v||null!=g&&null!=g.render?o(h)?this._compositeType=y.PureClass:this._compositeType=y.ImpureClass:(l=g,null===g||!1===g||u.isValidElement(g)||a(\"105\",h.displayName||h.name||\"Component\"),g=new r(h),this._compositeType=y.StatelessFunctional);g.props=c,g.context=p,g.refs=m,g.updater=d,this._instance=g,f.set(g,this);var b=g.state;void 0===b&&(g.state=b=null),(\"object\"!=typeof b||Array.isArray(b))&&a(\"106\",this.getName()||\"ReactCompositeComponent\"),this._pendingStateQueue=null,this._pendingReplaceState=!1,this._pendingForceUpdate=!1;var x;return x=g.unstable_handleError?this.performInitialMountWithErrorHandling(l,t,n,e,s):this.performInitialMount(l,t,n,e,s),g.componentDidMount&&e.getReactMountReady().enqueue(g.componentDidMount,g),x},_constructComponent:function(e,t,n,r){return this._constructComponentWithoutOwner(e,t,n,r)},_constructComponentWithoutOwner:function(e,t,n,r){var i=this._currentElement.type;return e?new i(t,n,r):i(t,n,r)},performInitialMountWithErrorHandling:function(e,t,n,r,i){var o,a=r.checkpoint();try{o=this.performInitialMount(e,t,n,r,i)}catch(s){r.rollback(a),this._instance.unstable_handleError(s),this._pendingStateQueue&&(this._instance.state=this._processPendingState(this._instance.props,this._instance.context)),a=r.checkpoint(),this._renderedComponent.unmountComponent(!0),r.rollback(a),o=this.performInitialMount(e,t,n,r,i)}return o},performInitialMount:function(e,t,n,r,i){var o=this._instance,a=0;o.componentWillMount&&(o.componentWillMount(),this._pendingStateQueue&&(o.state=this._processPendingState(o.props,o.context))),void 0===e&&(e=this._renderValidatedComponent());var s=h.getType(e);this._renderedNodeType=s;var u=this._instantiateReactComponent(e,s!==h.EMPTY);this._renderedComponent=u;var l=d.mountComponent(u,r,t,n,this._processChildContext(i),a);return l},getHostNode:function(){return d.getHostNode(this._renderedComponent)},unmountComponent:function(e){if(this._renderedComponent){var t=this._instance;if(t.componentWillUnmount&&!t._calledComponentWillUnmount)if(t._calledComponentWillUnmount=!0,e){var n=this.getName()+\".componentWillUnmount()\";p.invokeGuardedCallback(n,t.componentWillUnmount.bind(t))}else t.componentWillUnmount();this._renderedComponent&&(d.unmountComponent(this._renderedComponent,e),this._renderedNodeType=null,this._renderedComponent=null,this._instance=null),this._pendingStateQueue=null,this._pendingReplaceState=!1,this._pendingForceUpdate=!1,this._pendingCallbacks=null,this._pendingElement=null,this._context=null,this._rootNodeID=0,this._topLevelWrapper=null,f.remove(t)}},_maskContext:function(e){var t=this._currentElement.type,n=t.contextTypes;if(!n)return m;var r={};for(var i in n)r[i]=e[i];return r},_processContext:function(e){var t=this._maskContext(e);return t},_processChildContext:function(e){var t,n=this._currentElement.type,r=this._instance;if(r.getChildContext&&(t=r.getChildContext()),t){\"object\"!=typeof n.childContextTypes&&a(\"107\",this.getName()||\"ReactCompositeComponent\");for(var i in t)i in n.childContextTypes||a(\"108\",this.getName()||\"ReactCompositeComponent\",i);return s({},e,t)}return e},_checkContextTypes:function(e,t,n){},receiveComponent:function(e,t,n){var r=this._currentElement,i=this._context;this._pendingElement=null,this.updateComponent(t,r,e,i,n)},performUpdateIfNecessary:function(e){null!=this._pendingElement?d.receiveComponent(this,this._pendingElement,e,this._context):null!==this._pendingStateQueue||this._pendingForceUpdate?this.updateComponent(e,this._currentElement,this._currentElement,this._context,this._context):this._updateBatchNumber=null},updateComponent:function(e,t,n,r,i){var o=this._instance;null==o&&a(\"136\",this.getName()||\"ReactCompositeComponent\");var s,u=!1;this._context===i?s=o.context:(s=this._processContext(i),u=!0);var l=t.props,c=n.props;t!==n&&(u=!0),u&&o.componentWillReceiveProps&&o.componentWillReceiveProps(c,s);var p=this._processPendingState(c,s),f=!0;this._pendingForceUpdate||(o.shouldComponentUpdate?f=o.shouldComponentUpdate(c,p,s):this._compositeType===y.PureClass&&(f=!v(l,c)||!v(o.state,p))),this._updateBatchNumber=null,f?(this._pendingForceUpdate=!1,this._performComponentUpdate(n,c,p,s,e,i)):(this._currentElement=n,this._context=i,o.props=c,o.state=p,o.context=s)},_processPendingState:function(e,t){var n=this._instance,r=this._pendingStateQueue,i=this._pendingReplaceState;if(this._pendingReplaceState=!1,this._pendingStateQueue=null,!r)return n.state;if(i&&1===r.length)return r[0];for(var o=s({},i?r[0]:n.state),a=i?1:0;a<r.length;a++){var u=r[a];s(o,\"function\"==typeof u?u.call(n,o,e,t):u)}return o},_performComponentUpdate:function(e,t,n,r,i,o){var a,s,u,l=this._instance,c=Boolean(l.componentDidUpdate);c&&(a=l.props,s=l.state,u=l.context),l.componentWillUpdate&&l.componentWillUpdate(t,n,r),this._currentElement=e,this._context=o,l.props=t,l.state=n,l.context=r,this._updateRenderedComponent(i,o),c&&i.getReactMountReady().enqueue(l.componentDidUpdate.bind(l,a,s,u),l)},_updateRenderedComponent:function(e,t){var n=this._renderedComponent,r=n._currentElement,i=this._renderValidatedComponent(),o=0;if(g(r,i))d.receiveComponent(n,i,e,this._processChildContext(t));else{var a=d.getHostNode(n);d.unmountComponent(n,!1);var s=h.getType(i);this._renderedNodeType=s;var u=this._instantiateReactComponent(i,s!==h.EMPTY);this._renderedComponent=u;var l=d.mountComponent(u,e,this._hostParent,this._hostContainerInfo,this._processChildContext(t),o);this._replaceNodeWithMarkup(a,l,n)}},_replaceNodeWithMarkup:function(e,t,n){l.replaceNodeWithMarkup(e,t,n)},_renderValidatedComponentWithoutOwnerOrContext:function(){var e=this._instance;return e.render()},_renderValidatedComponent:function(){var e;if(this._compositeType!==y.StatelessFunctional){c.current=this;try{e=this._renderValidatedComponentWithoutOwnerOrContext()}finally{c.current=null}}else e=this._renderValidatedComponentWithoutOwnerOrContext();return null===e||!1===e||u.isValidElement(e)||a(\"109\",this.getName()||\"ReactCompositeComponent\"),e},attachRef:function(e,t){var n=this.getPublicInstance();null==n&&a(\"110\");var r=t.getPublicInstance();(n.refs===m?n.refs={}:n.refs)[e]=r},detachRef:function(e){delete this.getPublicInstance().refs[e]},getName:function(){var e=this._currentElement.type,t=this._instance&&this._instance.constructor;return e.displayName||t&&t.displayName||e.name||t&&t.name||null},getPublicInstance:function(){var e=this._instance;return this._compositeType===y.StatelessFunctional?null:e},_instantiateReactComponent:null};e.exports=b},function(e,t,n){\"use strict\";var r=n(14),i=n(1050),o=n(472),a=n(90),s=n(45),u=n(1063),l=n(1079),c=n(477),p=n(1086);n(10);i.inject();var f={findDOMNode:l,render:o.render,unmountComponentAtNode:o.unmountComponentAtNode,version:u,unstable_batchedUpdates:s.batchedUpdates,unstable_renderSubtreeIntoContainer:p};\"undefined\"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&\"function\"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.inject&&__REACT_DEVTOOLS_GLOBAL_HOOK__.inject({ComponentTree:{getClosestInstanceFromNode:r.getClosestInstanceFromNode,getNodeFromInstance:function(e){return e._renderedComponent&&(e=c(e)),e?r.getNodeFromInstance(e):null}},Mount:o,Reconciler:a});e.exports=f},function(e,t,n){\"use strict\";function r(e){if(e){var t=e._currentElement._owner||null;if(t){var n=t.getName();if(n)return\" This DOM node was rendered by `\"+n+\"`.\"}}return\"\"}function i(e,t){t&&(Y[e._tag]&&(null!=t.children||null!=t.dangerouslySetInnerHTML)&&v(\"137\",e._tag,e._currentElement._owner?\" Check the render method of \"+e._currentElement._owner.getName()+\".\":\"\"),null!=t.dangerouslySetInnerHTML&&(null!=t.children&&v(\"60\"),\"object\"==typeof t.dangerouslySetInnerHTML&&W in t.dangerouslySetInnerHTML||v(\"61\")),null!=t.style&&\"object\"!=typeof t.style&&v(\"62\",r(e)))}function o(e,t,n,r){if(!(r instanceof R)){var i=e._hostContainerInfo,o=i._node&&i._node.nodeType===H,s=o?i._node:i._ownerDocument;q(t,s),r.getReactMountReady().enqueue(a,{inst:e,registrationName:t,listener:n})}}function a(){var e=this;E.putListener(e.inst,e.registrationName,e.listener)}function s(){var e=this;O.postMountWrapper(e)}function u(){var e=this;P.postMountWrapper(e)}function l(){var e=this;M.postMountWrapper(e)}function c(){N.track(this)}function p(){var e=this;e._rootNodeID||v(\"63\");var t=L(e);switch(t||v(\"64\"),e._tag){case\"iframe\":case\"object\":e._wrapperState.listeners=[C.trapBubbledEvent(\"topLoad\",\"load\",t)];break;case\"video\":case\"audio\":e._wrapperState.listeners=[];for(var n in J)J.hasOwnProperty(n)&&e._wrapperState.listeners.push(C.trapBubbledEvent(n,J[n],t));break;case\"source\":e._wrapperState.listeners=[C.trapBubbledEvent(\"topError\",\"error\",t)];break;case\"img\":e._wrapperState.listeners=[C.trapBubbledEvent(\"topError\",\"error\",t),C.trapBubbledEvent(\"topLoad\",\"load\",t)];break;case\"form\":e._wrapperState.listeners=[C.trapBubbledEvent(\"topReset\",\"reset\",t),C.trapBubbledEvent(\"topSubmit\",\"submit\",t)];break;case\"input\":case\"select\":case\"textarea\":e._wrapperState.listeners=[C.trapBubbledEvent(\"topInvalid\",\"invalid\",t)]}}function f(){T.postUpdateWrapper(this)}function h(e){Z.call($,e)||(K.test(e)||v(\"65\",e),$[e]=!0)}function d(e,t){return e.indexOf(\"-\")>=0||null!=t.is}function m(e){var t=e.type;h(t),this._currentElement=e,this._tag=t.toLowerCase(),this._namespaceURI=null,this._renderedChildren=null,this._previousStyle=null,this._previousStyleCopy=null,this._hostNode=null,this._hostParent=null,this._rootNodeID=0,this._domID=0,this._hostContainerInfo=null,this._wrapperState=null,this._topLevelWrapper=null,this._flags=0}var v=n(11),g=n(13),y=n(1025),_=n(1027),b=n(88),x=n(245),w=n(89),k=n(465),E=n(121),S=n(246),C=n(160),A=n(466),D=n(14),O=n(1043),M=n(1044),T=n(467),P=n(1047),I=(n(41),n(1056)),R=n(1061),j=(n(33),n(163)),N=(n(8),n(257),n(211),n(479)),F=(n(259),n(10),A),B=E.deleteListener,L=D.getNodeFromInstance,q=C.listenTo,z=S.registrationNameModules,U={string:!0,number:!0},W=\"__html\",V={children:null,dangerouslySetInnerHTML:null,suppressContentEditableWarning:null},H=11,J={topAbort:\"abort\",topCanPlay:\"canplay\",topCanPlayThrough:\"canplaythrough\",topDurationChange:\"durationchange\",topEmptied:\"emptied\",topEncrypted:\"encrypted\",topEnded:\"ended\",topError:\"error\",topLoadedData:\"loadeddata\",topLoadedMetadata:\"loadedmetadata\",topLoadStart:\"loadstart\",topPause:\"pause\",topPlay:\"play\",topPlaying:\"playing\",topProgress:\"progress\",topRateChange:\"ratechange\",topSeeked:\"seeked\",topSeeking:\"seeking\",topStalled:\"stalled\",topSuspend:\"suspend\",topTimeUpdate:\"timeupdate\",topVolumeChange:\"volumechange\",topWaiting:\"waiting\"},G={area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0},X={listing:!0,pre:!0,textarea:!0},Y=g({menuitem:!0},G),K=/^[a-zA-Z][a-zA-Z:_\\.\\-\\d]*$/,$={},Z={}.hasOwnProperty,Q=1;m.displayName=\"ReactDOMComponent\",m.Mixin={mountComponent:function(e,t,n,r){this._rootNodeID=Q++,this._domID=n._idCounter++,this._hostParent=t,this._hostContainerInfo=n;var o=this._currentElement.props;switch(this._tag){case\"audio\":case\"form\":case\"iframe\":case\"img\":case\"link\":case\"object\":case\"source\":case\"video\":this._wrapperState={listeners:null},e.getReactMountReady().enqueue(p,this);break;case\"input\":O.mountWrapper(this,o,t),o=O.getHostProps(this,o),e.getReactMountReady().enqueue(c,this),e.getReactMountReady().enqueue(p,this);break;case\"option\":M.mountWrapper(this,o,t),o=M.getHostProps(this,o);break;case\"select\":T.mountWrapper(this,o,t),o=T.getHostProps(this,o),e.getReactMountReady().enqueue(p,this);break;case\"textarea\":P.mountWrapper(this,o,t),o=P.getHostProps(this,o),e.getReactMountReady().enqueue(c,this),e.getReactMountReady().enqueue(p,this)}i(this,o);var a,f;null!=t?(a=t._namespaceURI,f=t._tag):n._tag&&(a=n._namespaceURI,f=n._tag),(null==a||a===x.svg&&\"foreignobject\"===f)&&(a=x.html),a===x.html&&(\"svg\"===this._tag?a=x.svg:\"math\"===this._tag&&(a=x.mathml)),this._namespaceURI=a;var h;if(e.useCreateElement){var d,m=n._ownerDocument;if(a===x.html)if(\"script\"===this._tag){var v=m.createElement(\"div\"),g=this._currentElement.type;v.innerHTML=\"<\"+g+\"></\"+g+\">\",d=v.removeChild(v.firstChild)}else d=o.is?m.createElement(this._currentElement.type,o.is):m.createElement(this._currentElement.type);else d=m.createElementNS(a,this._currentElement.type);D.precacheNode(this,d),this._flags|=F.hasCachedChildNodes,this._hostParent||k.setAttributeForRoot(d),this._updateDOMProperties(null,o,e);var _=b(d);this._createInitialChildren(e,o,r,_),h=_}else{var w=this._createOpenTagMarkupAndPutListeners(e,o),E=this._createContentMarkup(e,o,r);h=!E&&G[this._tag]?w+\"/>\":w+\">\"+E+\"</\"+this._currentElement.type+\">\"}switch(this._tag){case\"input\":e.getReactMountReady().enqueue(s,this),o.autoFocus&&e.getReactMountReady().enqueue(y.focusDOMComponent,this);break;case\"textarea\":e.getReactMountReady().enqueue(u,this),o.autoFocus&&e.getReactMountReady().enqueue(y.focusDOMComponent,this);break;case\"select\":case\"button\":o.autoFocus&&e.getReactMountReady().enqueue(y.focusDOMComponent,this);break;case\"option\":e.getReactMountReady().enqueue(l,this)}return h},_createOpenTagMarkupAndPutListeners:function(e,t){var n=\"<\"+this._currentElement.type;for(var r in t)if(t.hasOwnProperty(r)){var i=t[r];if(null!=i)if(z.hasOwnProperty(r))i&&o(this,r,i,e);else{\"style\"===r&&(i&&(i=this._previousStyleCopy=g({},t.style)),i=_.createMarkupForStyles(i,this));var a=null;null!=this._tag&&d(this._tag,t)?V.hasOwnProperty(r)||(a=k.createMarkupForCustomAttribute(r,i)):a=k.createMarkupForProperty(r,i),a&&(n+=\" \"+a)}}return e.renderToStaticMarkup?n:(this._hostParent||(n+=\" \"+k.createMarkupForRoot()),n+=\" \"+k.createMarkupForID(this._domID))},_createContentMarkup:function(e,t,n){var r=\"\",i=t.dangerouslySetInnerHTML;if(null!=i)null!=i.__html&&(r=i.__html);else{var o=U[typeof t.children]?t.children:null,a=null!=o?null:t.children;if(null!=o)r=j(o);else if(null!=a){var s=this.mountChildren(a,e,n);r=s.join(\"\")}}return X[this._tag]&&\"\\n\"===r.charAt(0)?\"\\n\"+r:r},_createInitialChildren:function(e,t,n,r){var i=t.dangerouslySetInnerHTML;if(null!=i)null!=i.__html&&b.queueHTML(r,i.__html);else{var o=U[typeof t.children]?t.children:null,a=null!=o?null:t.children;if(null!=o)\"\"!==o&&b.queueText(r,o);else if(null!=a)for(var s=this.mountChildren(a,e,n),u=0;u<s.length;u++)b.queueChild(r,s[u])}},receiveComponent:function(e,t,n){var r=this._currentElement;this._currentElement=e,this.updateComponent(t,r,e,n)},updateComponent:function(e,t,n,r){var o=t.props,a=this._currentElement.props;switch(this._tag){case\"input\":o=O.getHostProps(this,o),a=O.getHostProps(this,a);break;case\"option\":o=M.getHostProps(this,o),a=M.getHostProps(this,a);break;case\"select\":o=T.getHostProps(this,o),a=T.getHostProps(this,a);break;case\"textarea\":o=P.getHostProps(this,o),a=P.getHostProps(this,a)}switch(i(this,a),this._updateDOMProperties(o,a,e),this._updateDOMChildren(o,a,e,r),this._tag){case\"input\":O.updateWrapper(this),N.updateValueIfChanged(this);break;case\"textarea\":P.updateWrapper(this);break;case\"select\":e.getReactMountReady().enqueue(f,this)}},_updateDOMProperties:function(e,t,n){var r,i,a;for(r in e)if(!t.hasOwnProperty(r)&&e.hasOwnProperty(r)&&null!=e[r])if(\"style\"===r){var s=this._previousStyleCopy;for(i in s)s.hasOwnProperty(i)&&(a=a||{},a[i]=\"\");this._previousStyleCopy=null}else z.hasOwnProperty(r)?e[r]&&B(this,r):d(this._tag,e)?V.hasOwnProperty(r)||k.deleteValueForAttribute(L(this),r):(w.properties[r]||w.isCustomAttribute(r))&&k.deleteValueForProperty(L(this),r);for(r in t){var u=t[r],l=\"style\"===r?this._previousStyleCopy:null!=e?e[r]:void 0;if(t.hasOwnProperty(r)&&u!==l&&(null!=u||null!=l))if(\"style\"===r)if(u?u=this._previousStyleCopy=g({},u):this._previousStyleCopy=null,l){for(i in l)!l.hasOwnProperty(i)||u&&u.hasOwnProperty(i)||(a=a||{},a[i]=\"\");for(i in u)u.hasOwnProperty(i)&&l[i]!==u[i]&&(a=a||{},a[i]=u[i])}else a=u;else if(z.hasOwnProperty(r))u?o(this,r,u,n):l&&B(this,r);else if(d(this._tag,t))V.hasOwnProperty(r)||k.setValueForAttribute(L(this),r,u);else if(w.properties[r]||w.isCustomAttribute(r)){var c=L(this);null!=u?k.setValueForProperty(c,r,u):k.deleteValueForProperty(c,r)}}a&&_.setValueForStyles(L(this),a,this)},_updateDOMChildren:function(e,t,n,r){var i=U[typeof e.children]?e.children:null,o=U[typeof t.children]?t.children:null,a=e.dangerouslySetInnerHTML&&e.dangerouslySetInnerHTML.__html,s=t.dangerouslySetInnerHTML&&t.dangerouslySetInnerHTML.__html,u=null!=i?null:e.children,l=null!=o?null:t.children,c=null!=i||null!=a,p=null!=o||null!=s;null!=u&&null==l?this.updateChildren(null,n,r):c&&!p&&this.updateTextContent(\"\"),null!=o?i!==o&&this.updateTextContent(\"\"+o):null!=s?a!==s&&this.updateMarkup(\"\"+s):null!=l&&this.updateChildren(l,n,r)},getHostNode:function(){return L(this)},unmountComponent:function(e){switch(this._tag){case\"audio\":case\"form\":case\"iframe\":case\"img\":case\"link\":case\"object\":case\"source\":case\"video\":var t=this._wrapperState.listeners;if(t)for(var n=0;n<t.length;n++)t[n].remove();break;case\"input\":case\"textarea\":N.stopTracking(this);break;case\"html\":case\"head\":case\"body\":v(\"66\",this._tag)}this.unmountChildren(e),D.uncacheNode(this),E.deleteAllListeners(this),this._rootNodeID=0,this._domID=0,this._wrapperState=null},getPublicInstance:function(){return L(this)}},g(m.prototype,m.Mixin,I.Mixin),e.exports=m},function(e,t,n){\"use strict\";function r(e,t){var n={_topLevelWrapper:e,_idCounter:1,_ownerDocument:t?t.nodeType===i?t:t.ownerDocument:null,_node:t,_tag:t?t.nodeName.toLowerCase():null,_namespaceURI:t?t.namespaceURI:null};return n}var i=(n(259),9);e.exports=r},function(e,t,n){\"use strict\";var r=n(13),i=n(88),o=n(14),a=function(e){this._currentElement=null,this._hostNode=null,this._hostParent=null,this._hostContainerInfo=null,this._domID=0};r(a.prototype,{mountComponent:function(e,t,n,r){var a=n._idCounter++;this._domID=a,this._hostParent=t,this._hostContainerInfo=n;var s=\" react-empty: \"+this._domID+\" \";if(e.useCreateElement){var u=n._ownerDocument,l=u.createComment(s);return o.precacheNode(this,l),i(l)}return e.renderToStaticMarkup?\"\":\"\\x3c!--\"+s+\"--\\x3e\"},receiveComponent:function(){},getHostNode:function(){return o.getNodeFromInstance(this)},unmountComponent:function(){o.uncacheNode(this)}}),e.exports=a},function(e,t,n){\"use strict\";var r={useCreateElement:!0,useFiber:!1};e.exports=r},function(e,t,n){\"use strict\";var r=n(244),i=n(14),o={dangerouslyProcessChildrenUpdates:function(e,t){var n=i.getNodeFromInstance(e);r.processUpdates(n,t)}};e.exports=o},function(e,t,n){\"use strict\";function r(){this._rootNodeID&&f.updateWrapper(this)}function i(e){return\"checkbox\"===e.type||\"radio\"===e.type?null!=e.checked:null!=e.value}function o(e){var t=this._currentElement.props,n=l.executeOnChange(t,e);p.asap(r,this);var i=t.name;if(\"radio\"===t.type&&null!=i){for(var o=c.getNodeFromInstance(this),s=o;s.parentNode;)s=s.parentNode;for(var u=s.querySelectorAll(\"input[name=\"+JSON.stringify(\"\"+i)+'][type=\"radio\"]'),f=0;f<u.length;f++){var h=u[f];if(h!==o&&h.form===o.form){var d=c.getInstanceFromNode(h);d||a(\"90\"),p.asap(r,d)}}}return n}var a=n(11),s=n(13),u=n(465),l=n(249),c=n(14),p=n(45),f=(n(8),n(10),{getHostProps:function(e,t){var n=l.getValue(t),r=l.getChecked(t);return s({type:void 0,step:void 0,min:void 0,max:void 0},t,{defaultChecked:void 0,defaultValue:void 0,value:null!=n?n:e._wrapperState.initialValue,checked:null!=r?r:e._wrapperState.initialChecked,onChange:e._wrapperState.onChange})},mountWrapper:function(e,t){var n=t.defaultValue;e._wrapperState={initialChecked:null!=t.checked?t.checked:t.defaultChecked,initialValue:null!=t.value?t.value:n,listeners:null,onChange:o.bind(e),controlled:i(t)}},updateWrapper:function(e){var t=e._currentElement.props,n=t.checked;null!=n&&u.setValueForProperty(c.getNodeFromInstance(e),\"checked\",n||!1);var r=c.getNodeFromInstance(e),i=l.getValue(t);if(null!=i)if(0===i&&\"\"===r.value)r.value=\"0\";else if(\"number\"===t.type){var o=parseFloat(r.value,10)||0;(i!=o||i==o&&r.value!=i)&&(r.value=\"\"+i)}else r.value!==\"\"+i&&(r.value=\"\"+i);else null==t.value&&null!=t.defaultValue&&r.defaultValue!==\"\"+t.defaultValue&&(r.defaultValue=\"\"+t.defaultValue),null==t.checked&&null!=t.defaultChecked&&(r.defaultChecked=!!t.defaultChecked)},postMountWrapper:function(e){var t=e._currentElement.props,n=c.getNodeFromInstance(e);switch(t.type){case\"submit\":case\"reset\":break;case\"color\":case\"date\":case\"datetime\":case\"datetime-local\":case\"month\":case\"time\":case\"week\":n.value=\"\",n.value=n.defaultValue;break;default:n.value=n.value}var r=n.name;\"\"!==r&&(n.name=\"\"),n.defaultChecked=!n.defaultChecked,n.defaultChecked=!n.defaultChecked,\"\"!==r&&(n.name=r)}});e.exports=f},function(e,t,n){\"use strict\";function r(e){var t=\"\";return o.Children.forEach(e,function(e){null!=e&&(\"string\"==typeof e||\"number\"==typeof e?t+=e:u||(u=!0))}),t}var i=n(13),o=n(92),a=n(14),s=n(467),u=(n(10),!1),l={mountWrapper:function(e,t,n){var i=null;if(null!=n){var o=n;\"optgroup\"===o._tag&&(o=o._hostParent),null!=o&&\"select\"===o._tag&&(i=s.getSelectValueContext(o))}var a=null;if(null!=i){var u;if(u=null!=t.value?t.value+\"\":r(t.children),a=!1,Array.isArray(i)){for(var l=0;l<i.length;l++)if(\"\"+i[l]===u){a=!0;break}}else a=\"\"+i===u}e._wrapperState={selected:a}},postMountWrapper:function(e){var t=e._currentElement.props;if(null!=t.value){a.getNodeFromInstance(e).setAttribute(\"value\",t.value)}},getHostProps:function(e,t){var n=i({selected:void 0,children:void 0},t);null!=e._wrapperState.selected&&(n.selected=e._wrapperState.selected);var o=r(t.children);return o&&(n.children=o),n}};e.exports=l},function(e,t,n){\"use strict\";function r(e,t,n,r){return e===n&&t===r}function i(e){var t=document.selection,n=t.createRange(),r=n.text.length,i=n.duplicate();i.moveToElementText(e),i.setEndPoint(\"EndToStart\",n);var o=i.text.length;return{start:o,end:o+r}}function o(e){var t=window.getSelection&&window.getSelection();if(!t||0===t.rangeCount)return null;var n=t.anchorNode,i=t.anchorOffset,o=t.focusNode,a=t.focusOffset,s=t.getRangeAt(0);try{s.startContainer.nodeType,s.endContainer.nodeType}catch(e){return null}var u=r(t.anchorNode,t.anchorOffset,t.focusNode,t.focusOffset),l=u?0:s.toString().length,c=s.cloneRange();c.selectNodeContents(e),c.setEnd(s.startContainer,s.startOffset);var p=r(c.startContainer,c.startOffset,c.endContainer,c.endOffset),f=p?0:c.toString().length,h=f+l,d=document.createRange();d.setStart(n,i),d.setEnd(o,a);var m=d.collapsed;return{start:m?h:f,end:m?f:h}}function a(e,t){var n,r,i=document.selection.createRange().duplicate();void 0===t.end?(n=t.start,r=n):t.start>t.end?(n=t.end,r=t.start):(n=t.start,r=t.end),i.moveToElementText(e),i.moveStart(\"character\",n),i.setEndPoint(\"EndToStart\",i),i.moveEnd(\"character\",r-n),i.select()}function s(e,t){if(window.getSelection){var n=window.getSelection(),r=e[c()].length,i=Math.min(t.start,r),o=void 0===t.end?i:Math.min(t.end,r);if(!n.extend&&i>o){var a=o;o=i,i=a}var s=l(e,i),u=l(e,o);if(s&&u){var p=document.createRange();p.setStart(s.node,s.offset),n.removeAllRanges(),i>o?(n.addRange(p),n.extend(u.node,u.offset)):(p.setEnd(u.node,u.offset),n.addRange(p))}}}var u=n(25),l=n(1083),c=n(478),p=u.canUseDOM&&\"selection\"in document&&!(\"getSelection\"in window),f={getOffsets:p?i:o,setOffsets:p?a:s};e.exports=f},function(e,t,n){\"use strict\";var r=n(11),i=n(13),o=n(244),a=n(88),s=n(14),u=n(163),l=(n(8),n(259),function(e){this._currentElement=e,this._stringText=\"\"+e,this._hostNode=null,this._hostParent=null,this._domID=0,this._mountIndex=0,this._closingComment=null,this._commentNodes=null});i(l.prototype,{mountComponent:function(e,t,n,r){var i=n._idCounter++,o=\" react-text: \"+i+\" \";if(this._domID=i,this._hostParent=t,e.useCreateElement){var l=n._ownerDocument,c=l.createComment(o),p=l.createComment(\" /react-text \"),f=a(l.createDocumentFragment());return a.queueChild(f,a(c)),this._stringText&&a.queueChild(f,a(l.createTextNode(this._stringText))),a.queueChild(f,a(p)),s.precacheNode(this,c),this._closingComment=p,f}var h=u(this._stringText);return e.renderToStaticMarkup?h:\"\\x3c!--\"+o+\"--\\x3e\"+h+\"\\x3c!-- /react-text --\\x3e\"},receiveComponent:function(e,t){if(e!==this._currentElement){this._currentElement=e;var n=\"\"+e;if(n!==this._stringText){this._stringText=n;var r=this.getHostNode();o.replaceDelimitedText(r[0],r[1],n)}}},getHostNode:function(){var e=this._commentNodes;if(e)return e;if(!this._closingComment)for(var t=s.getNodeFromInstance(this),n=t.nextSibling;;){if(null==n&&r(\"67\",this._domID),8===n.nodeType&&\" /react-text \"===n.nodeValue){this._closingComment=n;break}n=n.nextSibling}return e=[this._hostNode,this._closingComment],this._commentNodes=e,e},unmountComponent:function(){this._closingComment=null,this._commentNodes=null,s.uncacheNode(this)}}),e.exports=l},function(e,t,n){\"use strict\";function r(){this._rootNodeID&&c.updateWrapper(this)}function i(e){var t=this._currentElement.props,n=s.executeOnChange(t,e);return l.asap(r,this),n}var o=n(11),a=n(13),s=n(249),u=n(14),l=n(45),c=(n(8),n(10),{getHostProps:function(e,t){return null!=t.dangerouslySetInnerHTML&&o(\"91\"),a({},t,{value:void 0,defaultValue:void 0,children:\"\"+e._wrapperState.initialValue,onChange:e._wrapperState.onChange})},mountWrapper:function(e,t){var n=s.getValue(t),r=n;if(null==n){var a=t.defaultValue,u=t.children;null!=u&&(null!=a&&o(\"92\"),Array.isArray(u)&&(u.length<=1||o(\"93\"),u=u[0]),a=\"\"+u),null==a&&(a=\"\"),r=a}e._wrapperState={initialValue:\"\"+r,listeners:null,onChange:i.bind(e)}},updateWrapper:function(e){var t=e._currentElement.props,n=u.getNodeFromInstance(e),r=s.getValue(t);if(null!=r){var i=\"\"+r;i!==n.value&&(n.value=i),null==t.defaultValue&&(n.defaultValue=i)}null!=t.defaultValue&&(n.defaultValue=t.defaultValue)},postMountWrapper:function(e){var t=u.getNodeFromInstance(e),n=t.textContent;n===e._wrapperState.initialValue&&(t.value=n)}});e.exports=c},function(e,t,n){\"use strict\";function r(e,t){\"_hostNode\"in e||u(\"33\"),\"_hostNode\"in t||u(\"33\");for(var n=0,r=e;r;r=r._hostParent)n++;for(var i=0,o=t;o;o=o._hostParent)i++;for(;n-i>0;)e=e._hostParent,n--;for(;i-n>0;)t=t._hostParent,i--;for(var a=n;a--;){if(e===t)return e;e=e._hostParent,t=t._hostParent}return null}function i(e,t){\"_hostNode\"in e||u(\"35\"),\"_hostNode\"in t||u(\"35\");for(;t;){if(t===e)return!0;t=t._hostParent}return!1}function o(e){return\"_hostNode\"in e||u(\"36\"),e._hostParent}function a(e,t,n){for(var r=[];e;)r.push(e),e=e._hostParent;var i;for(i=r.length;i-- >0;)t(r[i],\"captured\",n);for(i=0;i<r.length;i++)t(r[i],\"bubbled\",n)}function s(e,t,n,i,o){for(var a=e&&t?r(e,t):null,s=[];e&&e!==a;)s.push(e),e=e._hostParent;for(var u=[];t&&t!==a;)u.push(t),t=t._hostParent;var l;for(l=0;l<s.length;l++)n(s[l],\"bubbled\",i);for(l=u.length;l-- >0;)n(u[l],\"captured\",o)}var u=n(11);n(8);e.exports={isAncestor:i,getLowestCommonAncestor:r,getParentInstance:o,traverseTwoPhase:a,traverseEnterLeave:s}},function(e,t,n){\"use strict\";function r(){this.reinitializeTransaction()}var i=n(13),o=n(45),a=n(162),s=n(33),u={initialize:s,close:function(){f.isBatchingUpdates=!1}},l={initialize:s,close:o.flushBatchedUpdates.bind(o)},c=[l,u];i(r.prototype,a,{getTransactionWrappers:function(){return c}});var p=new r,f={isBatchingUpdates:!1,batchedUpdates:function(e,t,n,r,i,o){var a=f.isBatchingUpdates;return f.isBatchingUpdates=!0,a?e(t,n,r,i,o):p.perform(e,null,t,n,r,i,o)}};e.exports=f},function(e,t,n){\"use strict\";function r(){k||(k=!0,y.EventEmitter.injectReactEventListener(g),y.EventPluginHub.injectEventPluginOrder(s),y.EventPluginUtils.injectComponentTree(f),y.EventPluginUtils.injectTreeTraversal(d),y.EventPluginHub.injectEventPluginsByName({SimpleEventPlugin:w,EnterLeaveEventPlugin:u,ChangeEventPlugin:a,SelectEventPlugin:x,BeforeInputEventPlugin:o}),y.HostComponent.injectGenericComponentClass(p),y.HostComponent.injectTextComponentClass(m),y.DOMProperty.injectDOMPropertyConfig(i),y.DOMProperty.injectDOMPropertyConfig(l),y.DOMProperty.injectDOMPropertyConfig(b),y.EmptyComponent.injectEmptyComponentFactory(function(e){return new h(e)}),y.Updates.injectReconcileTransaction(_),y.Updates.injectBatchingStrategy(v),y.Component.injectEnvironment(c))}var i=n(1024),o=n(1026),a=n(1028),s=n(1030),u=n(1031),l=n(1033),c=n(1035),p=n(1038),f=n(14),h=n(1040),d=n(1048),m=n(1046),v=n(1049),g=n(1053),y=n(1054),_=n(1059),b=n(1064),x=n(1065),w=n(1066),k=!1;e.exports={inject:r}},function(e,t,n){\"use strict\";var r=\"function\"==typeof Symbol&&Symbol.for&&Symbol.for(\"react.element\")||60103;e.exports=r},function(e,t,n){\"use strict\";function r(e){i.enqueueEvents(e),i.processEventQueue(!1)}var i=n(121),o={handleTopLevel:function(e,t,n,o){r(i.extractEvents(e,t,n,o))}};e.exports=o},function(e,t,n){\"use strict\";function r(e){for(;e._hostParent;)e=e._hostParent;var t=p.getNodeFromInstance(e),n=t.parentNode;return p.getClosestInstanceFromNode(n)}function i(e,t){this.topLevelType=e,this.nativeEvent=t,this.ancestors=[]}function o(e){var t=h(e.nativeEvent),n=p.getClosestInstanceFromNode(t),i=n;do{e.ancestors.push(i),i=i&&r(i)}while(i);for(var o=0;o<e.ancestors.length;o++)n=e.ancestors[o],m._handleTopLevel(e.topLevelType,n,e.nativeEvent,h(e.nativeEvent))}function a(e){e(d(window))}var s=n(13),u=n(386),l=n(25),c=n(70),p=n(14),f=n(45),h=n(256),d=n(767);s(i.prototype,{destructor:function(){this.topLevelType=null,this.nativeEvent=null,this.ancestors.length=0}}),c.addPoolingTo(i,c.twoArgumentPooler);var m={_enabled:!0,_handleTopLevel:null,WINDOW_HANDLE:l.canUseDOM?window:null,setHandleTopLevel:function(e){m._handleTopLevel=e},setEnabled:function(e){m._enabled=!!e},isEnabled:function(){return m._enabled},trapBubbledEvent:function(e,t,n){return n?u.listen(n,t,m.dispatchEvent.bind(null,e)):null},trapCapturedEvent:function(e,t,n){return n?u.capture(n,t,m.dispatchEvent.bind(null,e)):null},monitorScrollValue:function(e){var t=a.bind(null,e);u.listen(window,\"scroll\",t)},dispatchEvent:function(e,t){if(m._enabled){var n=i.getPooled(e,t);try{f.batchedUpdates(o,n)}finally{i.release(n)}}}};e.exports=m},function(e,t,n){\"use strict\";var r=n(89),i=n(121),o=n(247),a=n(250),s=n(468),u=n(160),l=n(470),c=n(45),p={Component:a.injection,DOMProperty:r.injection,EmptyComponent:s.injection,EventPluginHub:i.injection,EventPluginUtils:o.injection,EventEmitter:u.injection,HostComponent:l.injection,Updates:c.injection};e.exports=p},function(e,t,n){\"use strict\";var r=n(1077),i=/\\/?>/,o=/^<\\!\\-\\-/,a={CHECKSUM_ATTR_NAME:\"data-react-checksum\",addChecksumToMarkup:function(e){var t=r(e);return o.test(e)?e:e.replace(i,\" \"+a.CHECKSUM_ATTR_NAME+'=\"'+t+'\"$&')},canReuseMarkup:function(e,t){var n=t.getAttribute(a.CHECKSUM_ATTR_NAME);return n=n&&parseInt(n,10),r(e)===n}};e.exports=a},function(e,t,n){\"use strict\";function r(e,t,n){return{type:\"INSERT_MARKUP\",content:e,fromIndex:null,fromNode:null,toIndex:n,afterNode:t}}function i(e,t,n){return{type:\"MOVE_EXISTING\",content:null,fromIndex:e._mountIndex,fromNode:f.getHostNode(e),toIndex:n,afterNode:t}}function o(e,t){return{type:\"REMOVE_NODE\",content:null,fromIndex:e._mountIndex,fromNode:t,toIndex:null,afterNode:null}}function a(e){return{type:\"SET_MARKUP\",content:e,fromIndex:null,fromNode:null,toIndex:null,afterNode:null}}function s(e){return{type:\"TEXT_CONTENT\",content:e,fromIndex:null,fromNode:null,toIndex:null,afterNode:null}}function u(e,t){return t&&(e=e||[],e.push(t)),e}function l(e,t){p.processChildrenUpdates(e,t)}var c=n(11),p=n(250),f=(n(123),n(41),n(53),n(90)),h=n(1034),d=(n(33),n(1080)),m=(n(8),{Mixin:{_reconcilerInstantiateChildren:function(e,t,n){return h.instantiateChildren(e,t,n)},_reconcilerUpdateChildren:function(e,t,n,r,i,o){var a,s=0;return a=d(t,s),h.updateChildren(e,a,n,r,i,this,this._hostContainerInfo,o,s),a},mountChildren:function(e,t,n){var r=this._reconcilerInstantiateChildren(e,t,n);this._renderedChildren=r;var i=[],o=0;for(var a in r)if(r.hasOwnProperty(a)){var s=r[a],u=0,l=f.mountComponent(s,t,this,this._hostContainerInfo,n,u);s._mountIndex=o++,i.push(l)}return i},updateTextContent:function(e){var t=this._renderedChildren;h.unmountChildren(t,!1);for(var n in t)t.hasOwnProperty(n)&&c(\"118\");l(this,[s(e)])},updateMarkup:function(e){var t=this._renderedChildren;h.unmountChildren(t,!1);for(var n in t)t.hasOwnProperty(n)&&c(\"118\");l(this,[a(e)])},updateChildren:function(e,t,n){this._updateChildren(e,t,n)},_updateChildren:function(e,t,n){var r=this._renderedChildren,i={},o=[],a=this._reconcilerUpdateChildren(r,e,o,i,t,n);if(a||r){var s,c=null,p=0,h=0,d=0,m=null;for(s in a)if(a.hasOwnProperty(s)){var v=r&&r[s],g=a[s];v===g?(c=u(c,this.moveChild(v,m,p,h)),h=Math.max(v._mountIndex,h),v._mountIndex=p):(v&&(h=Math.max(v._mountIndex,h)),c=u(c,this._mountChildAtIndex(g,o[d],m,p,t,n)),d++),p++,m=f.getHostNode(g)}for(s in i)i.hasOwnProperty(s)&&(c=u(c,this._unmountChild(r[s],i[s])));c&&l(this,c),this._renderedChildren=a}},unmountChildren:function(e){var t=this._renderedChildren;h.unmountChildren(t,e),this._renderedChildren=null},moveChild:function(e,t,n,r){if(e._mountIndex<r)return i(e,t,n)},createChild:function(e,t,n){return r(n,t,e._mountIndex)},removeChild:function(e,t){return o(e,t)},_mountChildAtIndex:function(e,t,n,r,i,o){return e._mountIndex=r,this.createChild(e,n,t)},_unmountChild:function(e,t){var n=this.removeChild(e,t);return e._mountIndex=null,n}}});e.exports=m},function(e,t,n){\"use strict\";function r(e){return!(!e||\"function\"!=typeof e.attachRef||\"function\"!=typeof e.detachRef)}var i=n(11),o=(n(8),{addComponentAsRefTo:function(e,t,n){r(n)||i(\"119\"),n.attachRef(t,e)},removeComponentAsRefFrom:function(e,t,n){r(n)||i(\"120\");var o=n.getPublicInstance();o&&o.refs[t]===e.getPublicInstance()&&n.detachRef(t)}});e.exports=o},function(e,t,n){\"use strict\";e.exports=\"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\"},function(e,t,n){\"use strict\";function r(e){this.reinitializeTransaction(),this.renderToStaticMarkup=!1,this.reactMountReady=o.getPooled(null),this.useCreateElement=e}var i=n(13),o=n(464),a=n(70),s=n(160),u=n(471),l=(n(41),n(162)),c=n(252),p={initialize:u.getSelectionInformation,close:u.restoreSelection},f={initialize:function(){var e=s.isEnabled();return s.setEnabled(!1),e},close:function(e){s.setEnabled(e)}},h={initialize:function(){this.reactMountReady.reset()},close:function(){this.reactMountReady.notifyAll()}},d=[p,f,h],m={getTransactionWrappers:function(){return d},getReactMountReady:function(){return this.reactMountReady},getUpdateQueue:function(){return c},checkpoint:function(){return this.reactMountReady.checkpoint()},rollback:function(e){this.reactMountReady.rollback(e)},destructor:function(){o.release(this.reactMountReady),this.reactMountReady=null}};i(r.prototype,l,m),a.addPoolingTo(r),e.exports=r},function(e,t,n){\"use strict\";function r(e,t,n){\"function\"==typeof e?e(t.getPublicInstance()):o.addComponentAsRefTo(t,e,n)}function i(e,t,n){\"function\"==typeof e?e(null):o.removeComponentAsRefFrom(t,e,n)}var o=n(1057),a={};a.attachRefs=function(e,t){if(null!==t&&\"object\"==typeof t){var n=t.ref;null!=n&&r(n,e,t._owner)}},a.shouldUpdateRefs=function(e,t){var n=null,r=null;null!==e&&\"object\"==typeof e&&(n=e.ref,r=e._owner);var i=null,o=null;return null!==t&&\"object\"==typeof t&&(i=t.ref,o=t._owner),n!==i||\"string\"==typeof i&&o!==r},a.detachRefs=function(e,t){if(null!==t&&\"object\"==typeof t){var n=t.ref;null!=n&&i(n,e,t._owner)}},e.exports=a},function(e,t,n){\"use strict\";function r(e){this.reinitializeTransaction(),this.renderToStaticMarkup=e,this.useCreateElement=!1,this.updateQueue=new s(this)}var i=n(13),o=n(70),a=n(162),s=(n(41),n(1062)),u=[],l={enqueue:function(){}},c={getTransactionWrappers:function(){return u},getReactMountReady:function(){return l},getUpdateQueue:function(){return this.updateQueue},destructor:function(){},checkpoint:function(){},rollback:function(){}};i(r.prototype,a,c),o.addPoolingTo(r),e.exports=r},function(e,t,n){\"use strict\";function r(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}var i=n(252),o=(n(10),function(){function e(t){r(this,e),this.transaction=t}return e.prototype.isMounted=function(e){return!1},e.prototype.enqueueCallback=function(e,t,n){this.transaction.isInTransaction()&&i.enqueueCallback(e,t,n)},e.prototype.enqueueForceUpdate=function(e){this.transaction.isInTransaction()&&i.enqueueForceUpdate(e)},e.prototype.enqueueReplaceState=function(e,t){this.transaction.isInTransaction()&&i.enqueueReplaceState(e,t)},e.prototype.enqueueSetState=function(e,t){this.transaction.isInTransaction()&&i.enqueueSetState(e,t)},e}());e.exports=o},function(e,t,n){\"use strict\";e.exports=\"15.6.2\"},function(e,t,n){\"use strict\";var r={xlink:\"http://www.w3.org/1999/xlink\",xml:\"http://www.w3.org/XML/1998/namespace\"},i={accentHeight:\"accent-height\",accumulate:0,additive:0,alignmentBaseline:\"alignment-baseline\",allowReorder:\"allowReorder\",alphabetic:0,amplitude:0,arabicForm:\"arabic-form\",ascent:0,attributeName:\"attributeName\",attributeType:\"attributeType\",autoReverse:\"autoReverse\",azimuth:0,baseFrequency:\"baseFrequency\",baseProfile:\"baseProfile\",baselineShift:\"baseline-shift\",bbox:0,begin:0,bias:0,by:0,calcMode:\"calcMode\",capHeight:\"cap-height\",clip:0,clipPath:\"clip-path\",clipRule:\"clip-rule\",clipPathUnits:\"clipPathUnits\",colorInterpolation:\"color-interpolation\",colorInterpolationFilters:\"color-interpolation-filters\",colorProfile:\"color-profile\",colorRendering:\"color-rendering\",contentScriptType:\"contentScriptType\",contentStyleType:\"contentStyleType\",cursor:0,cx:0,cy:0,d:0,decelerate:0,descent:0,diffuseConstant:\"diffuseConstant\",direction:0,display:0,divisor:0,dominantBaseline:\"dominant-baseline\",dur:0,dx:0,dy:0,edgeMode:\"edgeMode\",elevation:0,enableBackground:\"enable-background\",end:0,exponent:0,externalResourcesRequired:\"externalResourcesRequired\",fill:0,fillOpacity:\"fill-opacity\",fillRule:\"fill-rule\",filter:0,filterRes:\"filterRes\",filterUnits:\"filterUnits\",floodColor:\"flood-color\",floodOpacity:\"flood-opacity\",focusable:0,fontFamily:\"font-family\",fontSize:\"font-size\",fontSizeAdjust:\"font-size-adjust\",fontStretch:\"font-stretch\",fontStyle:\"font-style\",fontVariant:\"font-variant\",fontWeight:\"font-weight\",format:0,from:0,fx:0,fy:0,g1:0,g2:0,glyphName:\"glyph-name\",glyphOrientationHorizontal:\"glyph-orientation-horizontal\",glyphOrientationVertical:\"glyph-orientation-vertical\",glyphRef:\"glyphRef\",gradientTransform:\"gradientTransform\",gradientUnits:\"gradientUnits\",hanging:0,horizAdvX:\"horiz-adv-x\",horizOriginX:\"horiz-origin-x\",ideographic:0,imageRendering:\"image-rendering\",in:0,in2:0,intercept:0,k:0,k1:0,k2:0,k3:0,k4:0,kernelMatrix:\"kernelMatrix\",kernelUnitLength:\"kernelUnitLength\",kerning:0,keyPoints:\"keyPoints\",keySplines:\"keySplines\",keyTimes:\"keyTimes\",lengthAdjust:\"lengthAdjust\",letterSpacing:\"letter-spacing\",lightingColor:\"lighting-color\",limitingConeAngle:\"limitingConeAngle\",local:0,markerEnd:\"marker-end\",markerMid:\"marker-mid\",markerStart:\"marker-start\",markerHeight:\"markerHeight\",markerUnits:\"markerUnits\",markerWidth:\"markerWidth\",mask:0,maskContentUnits:\"maskContentUnits\",maskUnits:\"maskUnits\",mathematical:0,mode:0,numOctaves:\"numOctaves\",offset:0,opacity:0,operator:0,order:0,orient:0,orientation:0,origin:0,overflow:0,overlinePosition:\"overline-position\",overlineThickness:\"overline-thickness\",paintOrder:\"paint-order\",panose1:\"panose-1\",pathLength:\"pathLength\",patternContentUnits:\"patternContentUnits\",patternTransform:\"patternTransform\",patternUnits:\"patternUnits\",pointerEvents:\"pointer-events\",points:0,pointsAtX:\"pointsAtX\",pointsAtY:\"pointsAtY\",pointsAtZ:\"pointsAtZ\",preserveAlpha:\"preserveAlpha\",preserveAspectRatio:\"preserveAspectRatio\",primitiveUnits:\"primitiveUnits\",r:0,radius:0,refX:\"refX\",refY:\"refY\",renderingIntent:\"rendering-intent\",repeatCount:\"repeatCount\",repeatDur:\"repeatDur\",requiredExtensions:\"requiredExtensions\",requiredFeatures:\"requiredFeatures\",restart:0,result:0,rotate:0,rx:0,ry:0,scale:0,seed:0,shapeRendering:\"shape-rendering\",slope:0,spacing:0,specularConstant:\"specularConstant\",specularExponent:\"specularExponent\",speed:0,spreadMethod:\"spreadMethod\",startOffset:\"startOffset\",stdDeviation:\"stdDeviation\",stemh:0,stemv:0,stitchTiles:\"stitchTiles\",stopColor:\"stop-color\",stopOpacity:\"stop-opacity\",strikethroughPosition:\"strikethrough-position\",strikethroughThickness:\"strikethrough-thickness\",string:0,stroke:0,strokeDasharray:\"stroke-dasharray\",strokeDashoffset:\"stroke-dashoffset\",strokeLinecap:\"stroke-linecap\",strokeLinejoin:\"stroke-linejoin\",strokeMiterlimit:\"stroke-miterlimit\",strokeOpacity:\"stroke-opacity\",strokeWidth:\"stroke-width\",surfaceScale:\"surfaceScale\",systemLanguage:\"systemLanguage\",tableValues:\"tableValues\",targetX:\"targetX\",targetY:\"targetY\",textAnchor:\"text-anchor\",textDecoration:\"text-decoration\",textRendering:\"text-rendering\",textLength:\"textLength\",to:0,transform:0,u1:0,u2:0,underlinePosition:\"underline-position\",underlineThickness:\"underline-thickness\",unicode:0,unicodeBidi:\"unicode-bidi\",unicodeRange:\"unicode-range\",unitsPerEm:\"units-per-em\",vAlphabetic:\"v-alphabetic\",vHanging:\"v-hanging\",vIdeographic:\"v-ideographic\",vMathematical:\"v-mathematical\",values:0,vectorEffect:\"vector-effect\",version:0,vertAdvY:\"vert-adv-y\",vertOriginX:\"vert-origin-x\",vertOriginY:\"vert-origin-y\",viewBox:\"viewBox\",viewTarget:\"viewTarget\",visibility:0,widths:0,wordSpacing:\"word-spacing\",writingMode:\"writing-mode\",x:0,xHeight:\"x-height\",x1:0,x2:0,xChannelSelector:\"xChannelSelector\",xlinkActuate:\"xlink:actuate\",xlinkArcrole:\"xlink:arcrole\",xlinkHref:\"xlink:href\",xlinkRole:\"xlink:role\",xlinkShow:\"xlink:show\",xlinkTitle:\"xlink:title\",xlinkType:\"xlink:type\",xmlBase:\"xml:base\",xmlns:0,xmlnsXlink:\"xmlns:xlink\",xmlLang:\"xml:lang\",xmlSpace:\"xml:space\",y:0,y1:0,y2:0,yChannelSelector:\"yChannelSelector\",z:0,zoomAndPan:\"zoomAndPan\"},o={Properties:{},DOMAttributeNamespaces:{xlinkActuate:r.xlink,xlinkArcrole:r.xlink,xlinkHref:r.xlink,xlinkRole:r.xlink,xlinkShow:r.xlink,xlinkTitle:r.xlink,xlinkType:r.xlink,xmlBase:r.xml,xmlLang:r.xml,xmlSpace:r.xml},DOMAttributeNames:{}};Object.keys(i).forEach(function(e){o.Properties[e]=0,i[e]&&(o.DOMAttributeNames[e]=i[e])}),e.exports=o},function(e,t,n){\"use strict\";function r(e){if(\"selectionStart\"in e&&u.hasSelectionCapabilities(e))return{start:e.selectionStart,end:e.selectionEnd};if(window.getSelection){var t=window.getSelection();return{anchorNode:t.anchorNode,anchorOffset:t.anchorOffset,focusNode:t.focusNode,focusOffset:t.focusOffset}}if(document.selection){var n=document.selection.createRange();return{parentElement:n.parentElement(),text:n.text,top:n.boundingTop,left:n.boundingLeft}}}function i(e,t){if(y||null==m||m!==c())return null;var n=r(m);if(!g||!f(g,n)){g=n;var i=l.getPooled(d.select,v,e,t);return i.type=\"select\",i.target=m,o.accumulateTwoPhaseDispatches(i),i}return null}var o=n(122),a=n(25),s=n(14),u=n(471),l=n(52),c=n(388),p=n(481),f=n(211),h=a.canUseDOM&&\"documentMode\"in document&&document.documentMode<=11,d={select:{phasedRegistrationNames:{bubbled:\"onSelect\",captured:\"onSelectCapture\"},dependencies:[\"topBlur\",\"topContextMenu\",\"topFocus\",\"topKeyDown\",\"topKeyUp\",\"topMouseDown\",\"topMouseUp\",\"topSelectionChange\"]}},m=null,v=null,g=null,y=!1,_=!1,b={eventTypes:d,extractEvents:function(e,t,n,r){if(!_)return null;var o=t?s.getNodeFromInstance(t):window;switch(e){case\"topFocus\":(p(o)||\"true\"===o.contentEditable)&&(m=o,v=t,g=null);break;case\"topBlur\":m=null,v=null,g=null;break;case\"topMouseDown\":y=!0;break;case\"topContextMenu\":case\"topMouseUp\":return y=!1,i(n,r);case\"topSelectionChange\":if(h)break;case\"topKeyDown\":case\"topKeyUp\":return i(n,r)}return null},didPutListener:function(e,t,n){\"onSelect\"===t&&(_=!0)}};e.exports=b},function(e,t,n){\"use strict\";function r(e){return\".\"+e._rootNodeID}function i(e){return\"button\"===e||\"input\"===e||\"select\"===e||\"textarea\"===e}var o=n(11),a=n(386),s=n(122),u=n(14),l=n(1067),c=n(1068),p=n(52),f=n(1071),h=n(1073),d=n(161),m=n(1070),v=n(1074),g=n(1075),y=n(124),_=n(1076),b=n(33),x=n(254),w=(n(8),{}),k={};[\"abort\",\"animationEnd\",\"animationIteration\",\"animationStart\",\"blur\",\"canPlay\",\"canPlayThrough\",\"click\",\"contextMenu\",\"copy\",\"cut\",\"doubleClick\",\"drag\",\"dragEnd\",\"dragEnter\",\"dragExit\",\"dragLeave\",\"dragOver\",\"dragStart\",\"drop\",\"durationChange\",\"emptied\",\"encrypted\",\"ended\",\"error\",\"focus\",\"input\",\"invalid\",\"keyDown\",\"keyPress\",\"keyUp\",\"load\",\"loadedData\",\"loadedMetadata\",\"loadStart\",\"mouseDown\",\"mouseMove\",\"mouseOut\",\"mouseOver\",\"mouseUp\",\"paste\",\"pause\",\"play\",\"playing\",\"progress\",\"rateChange\",\"reset\",\"scroll\",\"seeked\",\"seeking\",\"stalled\",\"submit\",\"suspend\",\"timeUpdate\",\"touchCancel\",\"touchEnd\",\"touchMove\",\"touchStart\",\"transitionEnd\",\"volumeChange\",\"waiting\",\"wheel\"].forEach(function(e){var t=e[0].toUpperCase()+e.slice(1),n=\"on\"+t,r=\"top\"+t,i={phasedRegistrationNames:{bubbled:n,captured:n+\"Capture\"},dependencies:[r]};w[e]=i,k[r]=i});var E={},S={eventTypes:w,extractEvents:function(e,t,n,r){var i=k[e];if(!i)return null;var a;switch(e){case\"topAbort\":case\"topCanPlay\":case\"topCanPlayThrough\":case\"topDurationChange\":case\"topEmptied\":case\"topEncrypted\":case\"topEnded\":case\"topError\":case\"topInput\":case\"topInvalid\":case\"topLoad\":case\"topLoadedData\":case\"topLoadedMetadata\":case\"topLoadStart\":case\"topPause\":case\"topPlay\":case\"topPlaying\":case\"topProgress\":case\"topRateChange\":case\"topReset\":case\"topSeeked\":case\"topSeeking\":case\"topStalled\":case\"topSubmit\":case\"topSuspend\":case\"topTimeUpdate\":case\"topVolumeChange\":case\"topWaiting\":a=p;break;case\"topKeyPress\":if(0===x(n))return null;case\"topKeyDown\":case\"topKeyUp\":a=h;break;case\"topBlur\":case\"topFocus\":a=f;break;case\"topClick\":if(2===n.button)return null;case\"topDoubleClick\":case\"topMouseDown\":case\"topMouseMove\":case\"topMouseUp\":case\"topMouseOut\":case\"topMouseOver\":case\"topContextMenu\":a=d;break;case\"topDrag\":case\"topDragEnd\":case\"topDragEnter\":case\"topDragExit\":case\"topDragLeave\":case\"topDragOver\":case\"topDragStart\":case\"topDrop\":a=m;break;case\"topTouchCancel\":case\"topTouchEnd\":case\"topTouchMove\":case\"topTouchStart\":a=v;break;case\"topAnimationEnd\":case\"topAnimationIteration\":case\"topAnimationStart\":a=l;break;case\"topTransitionEnd\":a=g;break;case\"topScroll\":a=y;break;case\"topWheel\":a=_;break;case\"topCopy\":case\"topCut\":case\"topPaste\":a=c}a||o(\"86\",e);var u=a.getPooled(i,t,n,r);return s.accumulateTwoPhaseDispatches(u),u},didPutListener:function(e,t,n){if(\"onClick\"===t&&!i(e._tag)){var o=r(e),s=u.getNodeFromInstance(e);E[o]||(E[o]=a.listen(s,\"click\",b))}},willDeleteListener:function(e,t){if(\"onClick\"===t&&!i(e._tag)){var n=r(e);E[n].remove(),delete E[n]}}};e.exports=S},function(e,t,n){\"use strict\";function r(e,t,n,r){return i.call(this,e,t,n,r)}var i=n(52),o={animationName:null,elapsedTime:null,pseudoElement:null};i.augmentClass(r,o),e.exports=r},function(e,t,n){\"use strict\";function r(e,t,n,r){return i.call(this,e,t,n,r)}var i=n(52),o={clipboardData:function(e){return\"clipboardData\"in e?e.clipboardData:window.clipboardData}};i.augmentClass(r,o),e.exports=r},function(e,t,n){\"use strict\";function r(e,t,n,r){return i.call(this,e,t,n,r)}var i=n(52),o={data:null};i.augmentClass(r,o),e.exports=r},function(e,t,n){\"use strict\";function r(e,t,n,r){return i.call(this,e,t,n,r)}var i=n(161),o={dataTransfer:null};i.augmentClass(r,o),e.exports=r},function(e,t,n){\"use strict\";function r(e,t,n,r){return i.call(this,e,t,n,r)}var i=n(124),o={relatedTarget:null};i.augmentClass(r,o),e.exports=r},function(e,t,n){\"use strict\";function r(e,t,n,r){return i.call(this,e,t,n,r)}var i=n(52),o={data:null};i.augmentClass(r,o),e.exports=r},function(e,t,n){\"use strict\";function r(e,t,n,r){return i.call(this,e,t,n,r)}var i=n(124),o=n(254),a=n(1081),s=n(255),u={key:a,location:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,repeat:null,locale:null,getModifierState:s,charCode:function(e){return\"keypress\"===e.type?o(e):0},keyCode:function(e){return\"keydown\"===e.type||\"keyup\"===e.type?e.keyCode:0},which:function(e){return\"keypress\"===e.type?o(e):\"keydown\"===e.type||\"keyup\"===e.type?e.keyCode:0}};i.augmentClass(r,u),e.exports=r},function(e,t,n){\"use strict\";function r(e,t,n,r){return i.call(this,e,t,n,r)}var i=n(124),o=n(255),a={touches:null,targetTouches:null,changedTouches:null,altKey:null,metaKey:null,ctrlKey:null,shiftKey:null,getModifierState:o};i.augmentClass(r,a),e.exports=r},function(e,t,n){\"use strict\";function r(e,t,n,r){return i.call(this,e,t,n,r)}var i=n(52),o={propertyName:null,elapsedTime:null,pseudoElement:null};i.augmentClass(r,o),e.exports=r},function(e,t,n){\"use strict\";function r(e,t,n,r){return i.call(this,e,t,n,r)}var i=n(161),o={deltaX:function(e){return\"deltaX\"in e?e.deltaX:\"wheelDeltaX\"in e?-e.wheelDeltaX:0},deltaY:function(e){return\"deltaY\"in e?e.deltaY:\"wheelDeltaY\"in e?-e.wheelDeltaY:\"wheelDelta\"in e?-e.wheelDelta:0},deltaZ:null,deltaMode:null};i.augmentClass(r,o),e.exports=r},function(e,t,n){\"use strict\";function r(e){for(var t=1,n=0,r=0,o=e.length,a=-4&o;r<a;){for(var s=Math.min(r+4096,a);r<s;r+=4)n+=(t+=e.charCodeAt(r))+(t+=e.charCodeAt(r+1))+(t+=e.charCodeAt(r+2))+(t+=e.charCodeAt(r+3));t%=i,n%=i}for(;r<o;r++)n+=t+=e.charCodeAt(r);return t%=i,n%=i,t|n<<16}var i=65521;e.exports=r},function(e,t,n){\"use strict\";function r(e,t,n,r){if(null==t||\"boolean\"==typeof t||\"\"===t)return\"\";var i=isNaN(t);if(r||i||0===t||o.hasOwnProperty(e)&&o[e])return\"\"+t;if(\"string\"==typeof t){t=t.trim()}return t+\"px\"}var i=n(463),o=(n(10),i.isUnitlessNumber);e.exports=r},function(e,t,n){\"use strict\";function r(e){if(null==e)return null;if(1===e.nodeType)return e;var t=a.get(e);if(t)return t=s(t),t?o.getNodeFromInstance(t):null;\"function\"==typeof e.render?i(\"44\"):i(\"45\",Object.keys(e))}var i=n(11),o=(n(53),n(14)),a=n(123),s=n(477);n(8),n(10);e.exports=r},function(e,t,n){\"use strict\";(function(t){function r(e,t,n,r){if(e&&\"object\"==typeof e){var i=e,o=void 0===i[n];o&&null!=t&&(i[n]=t)}}function i(e,t){if(null==e)return e;var n={};return o(e,r,n),n}var o=(n(248),n(483));n(10);void 0!==t&&n.i({NODE_ENV:\"production\",WEBPACK_INLINE_STYLES:!1}),e.exports=i}).call(t,n(34))},function(e,t,n){\"use strict\";function r(e){if(e.key){var t=o[e.key]||e.key;if(\"Unidentified\"!==t)return t}if(\"keypress\"===e.type){var n=i(e);return 13===n?\"Enter\":String.fromCharCode(n)}return\"keydown\"===e.type||\"keyup\"===e.type?a[e.keyCode]||\"Unidentified\":\"\"}var i=n(254),o={Esc:\"Escape\",Spacebar:\" \",Left:\"ArrowLeft\",Up:\"ArrowUp\",Right:\"ArrowRight\",Down:\"ArrowDown\",Del:\"Delete\",Win:\"OS\",Menu:\"ContextMenu\",Apps:\"ContextMenu\",Scroll:\"ScrollLock\",MozPrintableKey:\"Unidentified\"},a={8:\"Backspace\",9:\"Tab\",12:\"Clear\",13:\"Enter\",16:\"Shift\",17:\"Control\",18:\"Alt\",19:\"Pause\",20:\"CapsLock\",27:\"Escape\",32:\" \",33:\"PageUp\",34:\"PageDown\",35:\"End\",36:\"Home\",37:\"ArrowLeft\",38:\"ArrowUp\",39:\"ArrowRight\",40:\"ArrowDown\",45:\"Insert\",46:\"Delete\",112:\"F1\",113:\"F2\",114:\"F3\",115:\"F4\",116:\"F5\",117:\"F6\",118:\"F7\",119:\"F8\",120:\"F9\",121:\"F10\",122:\"F11\",123:\"F12\",144:\"NumLock\",145:\"ScrollLock\",224:\"Meta\"};e.exports=r},function(e,t,n){\"use strict\";function r(e){var t=e&&(i&&e[i]||e[o]);if(\"function\"==typeof t)return t}var i=\"function\"==typeof Symbol&&Symbol.iterator,o=\"@@iterator\";e.exports=r},function(e,t,n){\"use strict\";function r(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function i(e){for(;e;){if(e.nextSibling)return e.nextSibling;e=e.parentNode}}function o(e,t){for(var n=r(e),o=0,a=0;n;){if(3===n.nodeType){if(a=o+n.textContent.length,o<=t&&a>=t)return{node:n,offset:t-o};o=a}n=r(i(n))}}e.exports=o},function(e,t,n){\"use strict\";function r(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n[\"Webkit\"+e]=\"webkit\"+t,n[\"Moz\"+e]=\"moz\"+t,n[\"ms\"+e]=\"MS\"+t,n[\"O\"+e]=\"o\"+t.toLowerCase(),n}function i(e){if(s[e])return s[e];if(!a[e])return e;var t=a[e];for(var n in t)if(t.hasOwnProperty(n)&&n in u)return s[e]=t[n];return\"\"}var o=n(25),a={animationend:r(\"Animation\",\"AnimationEnd\"),animationiteration:r(\"Animation\",\"AnimationIteration\"),animationstart:r(\"Animation\",\"AnimationStart\"),transitionend:r(\"Transition\",\"TransitionEnd\")},s={},u={};o.canUseDOM&&(u=document.createElement(\"div\").style,\"AnimationEvent\"in window||(delete a.animationend.animation,delete a.animationiteration.animation,delete a.animationstart.animation),\"TransitionEvent\"in window||delete a.transitionend.transition),e.exports=i},function(e,t,n){\"use strict\";function r(e){return'\"'+i(e)+'\"'}var i=n(163);e.exports=r},function(e,t,n){\"use strict\";var r=n(472);e.exports=r.renderSubtreeIntoContainer},function(e,t,n){!function(e,r){r(t,n(0),n(7))}(0,function(e,t,n){\"use strict\";function r(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function o(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}t=t&&\"default\"in t?t.default:t;var a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=function(e){function t(){return r(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return o(t,e),s(t,[{key:\"shouldComponentUpdate\",value:function(e){var t=this,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=this.state||{};return!(this.updateOnProps||Object.keys(a({},e,this.props))).every(function(r){return n.is(e[r],t.props[r])})||!(this.updateOnStates||Object.keys(a({},r,i))).every(function(e){return n.is(r[e],i[e])})}}]),t}(t.Component);e.ImmutablePureComponent=u,e.default=u,Object.defineProperty(e,\"__esModule\",{value:!0})})},function(e,t,n){\"use strict\";function r(e){return{doc:new B,blocks:M,blockStarts:T,tip:this.doc,oldtip:this.doc,currentLine:\"\",lineNumber:0,offset:0,column:0,nextNonspace:0,nextNonspaceColumn:0,indent:0,indented:!1,blank:!1,allClosed:!0,lastMatchedContainer:this.doc,refmap:{},lastLineLength:0,inlineParser:new u(e),findNextNonspace:R,advanceOffset:P,advanceNextNonspace:I,breakOutOfLists:E,addLine:S,addChild:C,incorporateLine:j,finalize:N,processInlines:F,closeUnmatchedBlocks:O,parse:L,options:e||{}}}var i=n(260),o=n(91).unescapeString,a=n(91).OPENTAG,s=n(91).CLOSETAG,u=n(1092),l=[/./,/^<(?:script|pre|style)(?:\\s|>|$)/i,/^<!--/,/^<[?]/,/^<![A-Z]/,/^<!\\[CDATA\\[/,/^<[\\/]?(?:address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h1|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|title|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul)(?:\\s|[\\/]?[>]|$)/i,new RegExp(\"^(?:\"+a+\"|\"+s+\")s*$\",\"i\")],c=[/./,/<\\/(?:script|pre|style)>/i,/-->/,/\\?>/,/>/,/\\]\\]>/],p=/^(?:(?:\\* *){3,}|(?:_ *){3,}|(?:- *){3,}) *$/,f=/^[#`~*+_=<>0-9-]/,h=/[^ \\t\\f\\v\\r\\n]/,d=/^[*+-]/,m=/^(\\d{1,9})([.)])/,v=/^#{1,6}(?: +|$)/,g=/^`{3,}(?!.*`)|^~{3,}(?!.*~)/,y=/^(?:`{3,}|~{3,})(?= *$)/,_=/^(?:=+|-+) *$/,b=/\\r\\n|\\n|\\r/,x=function(e){return!h.test(e)},w=function(e,t){return t<e.length?e.charCodeAt(t):-1},k=function(e){for(;e;){if(e._lastLineBlank)return!0;var t=e.type;if(\"List\"!==t&&\"Item\"!==t)break;e=e._lastChild}return!1},E=function(e){var t=e,n=null;do{\"List\"===t.type&&(n=t),t=t._parent}while(t);if(n){for(;e!==n;)this.finalize(e,this.lineNumber),e=e._parent;this.finalize(n,this.lineNumber),this.tip=n._parent}},S=function(){this.tip._string_content+=this.currentLine.slice(this.offset)+\"\\n\"},C=function(e,t){for(;!this.blocks[this.tip.type].canContain(e);)this.finalize(this.tip,this.lineNumber-1);var n=t+1,r=new i(e,[[this.lineNumber,n],[0,0]]);return r._string_content=\"\",this.tip.appendChild(r),this.tip=r,r},A=function(e){var t,n,r,i,o=e.currentLine.slice(e.nextNonspace),a={type:null,tight:!0,bulletChar:null,start:null,delimiter:null,padding:null,markerOffset:e.indent};if(t=o.match(d))a.type=\"Bullet\",a.bulletChar=t[0][0];else{if(!(t=o.match(m)))return null;a.type=\"Ordered\",a.start=parseInt(t[1]),a.delimiter=t[2]}if(-1!==(n=w(e.currentLine,e.nextNonspace+t[0].length))&&9!==n&&32!==n)return null;e.advanceNextNonspace(),e.advanceOffset(t[0].length,!0),r=e.column,i=e.offset;do{e.advanceOffset(1,!0),n=w(e.currentLine,e.offset)}while(e.column-r<5&&(32===n||9===n));var s=-1===w(e.currentLine,e.offset),u=e.column-r;return u>=5||u<1||s?(a.padding=t[0].length+1,e.column=r,e.offset=i,32===w(e.currentLine,e.offset)&&e.advanceOffset(1,!0)):a.padding=t[0].length+u,a},D=function(e,t){return e.type===t.type&&e.delimiter===t.delimiter&&e.bulletChar===t.bulletChar},O=function(){if(!this.allClosed){for(;this.oldtip!==this.lastMatchedContainer;){var e=this.oldtip._parent;this.finalize(this.oldtip,this.lineNumber-1),this.oldtip=e}this.allClosed=!0}},M={Document:{continue:function(){return 0},finalize:function(){},canContain:function(e){return\"Item\"!==e},acceptsLines:!1},List:{continue:function(){return 0},finalize:function(e,t){for(var n=t._firstChild;n;){if(k(n)&&n._next){t._listData.tight=!1;break}for(var r=n._firstChild;r;){if(k(r)&&(n._next||r._next)){t._listData.tight=!1;break}r=r._next}n=n._next}},canContain:function(e){return\"Item\"===e},acceptsLines:!1},BlockQuote:{continue:function(e){var t=e.currentLine;return e.indented||62!==w(t,e.nextNonspace)?1:(e.advanceNextNonspace(),e.advanceOffset(1,!1),32===w(t,e.offset)&&e.offset++,0)},finalize:function(){},canContain:function(e){return\"Item\"!==e},acceptsLines:!1},Item:{continue:function(e,t){if(e.blank&&null!==t._firstChild)e.advanceNextNonspace();else{if(!(e.indent>=t._listData.markerOffset+t._listData.padding))return 1;e.advanceOffset(t._listData.markerOffset+t._listData.padding,!0)}return 0},finalize:function(){},canContain:function(e){return\"Item\"!==e},acceptsLines:!1},Heading:{continue:function(){return 1},finalize:function(){},canContain:function(){return!1},acceptsLines:!1},ThematicBreak:{continue:function(){return 1},finalize:function(){},canContain:function(){return!1},acceptsLines:!1},CodeBlock:{continue:function(e,t){var n=e.currentLine,r=e.indent;if(t._isFenced){var i=r<=3&&n.charAt(e.nextNonspace)===t._fenceChar&&n.slice(e.nextNonspace).match(y);if(i&&i[0].length>=t._fenceLength)return e.finalize(t,e.lineNumber),2;for(var o=t._fenceOffset;o>0&&32===w(n,e.offset);)e.advanceOffset(1,!1),o--}else if(r>=4)e.advanceOffset(4,!0);else{if(!e.blank)return 1;e.advanceNextNonspace()}return 0},finalize:function(e,t){if(t._isFenced){var n=t._string_content,r=n.indexOf(\"\\n\"),i=n.slice(0,r),a=n.slice(r+1);t.info=o(i.trim()),t._literal=a}else t._literal=t._string_content.replace(/(\\n *)+$/,\"\\n\");t._string_content=null},canContain:function(){return!1},acceptsLines:!0},HtmlBlock:{continue:function(e,t){return!e.blank||6!==t._htmlBlockType&&7!==t._htmlBlockType?0:1},finalize:function(e,t){t._literal=t._string_content.replace(/(\\n *)+$/,\"\"),t._string_content=null},canContain:function(){return!1},acceptsLines:!0},Paragraph:{continue:function(e){return e.blank?1:0},finalize:function(e,t){for(var n,r=!1;91===w(t._string_content,0)&&(n=e.inlineParser.parseReference(t._string_content,e.refmap));)t._string_content=t._string_content.slice(n),r=!0;r&&x(t._string_content)&&t.unlink()},canContain:function(){return!1},acceptsLines:!0}},T=[function(e){return e.indented||62!==w(e.currentLine,e.nextNonspace)?0:(e.advanceNextNonspace(),e.advanceOffset(1,!1),32===w(e.currentLine,e.offset)&&e.advanceOffset(1,!1),e.closeUnmatchedBlocks(),e.addChild(\"BlockQuote\",e.nextNonspace),1)},function(e){var t;if(!e.indented&&(t=e.currentLine.slice(e.nextNonspace).match(v))){e.advanceNextNonspace(),e.advanceOffset(t[0].length,!1),e.closeUnmatchedBlocks();var n=e.addChild(\"Heading\",e.nextNonspace);return n.level=t[0].trim().length,n._string_content=e.currentLine.slice(e.offset).replace(/^ *#+ *$/,\"\").replace(/ +#+ *$/,\"\"),e.advanceOffset(e.currentLine.length-e.offset),2}return 0},function(e){var t;if(!e.indented&&(t=e.currentLine.slice(e.nextNonspace).match(g))){var n=t[0].length;e.closeUnmatchedBlocks();var r=e.addChild(\"CodeBlock\",e.nextNonspace);return r._isFenced=!0,r._fenceLength=n,r._fenceChar=t[0][0],r._fenceOffset=e.indent,e.advanceNextNonspace(),e.advanceOffset(n,!1),2}return 0},function(e,t){if(!e.indented&&60===w(e.currentLine,e.nextNonspace)){var n,r=e.currentLine.slice(e.nextNonspace);for(n=1;n<=7;n++)if(l[n].test(r)&&(n<7||\"Paragraph\"!==t.type)){e.closeUnmatchedBlocks();var i=e.addChild(\"HtmlBlock\",e.offset);return i._htmlBlockType=n,2}}return 0},function(e,t){var n;if(!e.indented&&\"Paragraph\"===t.type&&(n=e.currentLine.slice(e.nextNonspace).match(_))){e.closeUnmatchedBlocks();var r=new i(\"Heading\",t.sourcepos);return r.level=\"=\"===n[0][0]?1:2,r._string_content=t._string_content,t.insertAfter(r),t.unlink(),e.tip=r,e.advanceOffset(e.currentLine.length-e.offset,!1),2}return 0},function(e){return!e.indented&&p.test(e.currentLine.slice(e.nextNonspace))?(e.closeUnmatchedBlocks(),e.addChild(\"ThematicBreak\",e.nextNonspace),e.advanceOffset(e.currentLine.length-e.offset,!1),2):0},function(e,t){var n;return e.indented&&\"List\"!==t.type||!(n=A(e))?0:(e.closeUnmatchedBlocks(),\"List\"===e.tip.type&&D(t._listData,n)||(t=e.addChild(\"List\",e.nextNonspace),t._listData=n),t=e.addChild(\"Item\",e.nextNonspace),t._listData=n,1)},function(e){return e.indented&&\"Paragraph\"!==e.tip.type&&!e.blank?(e.advanceOffset(4,!0),e.closeUnmatchedBlocks(),e.addChild(\"CodeBlock\",e.offset),2):0}],P=function(e,t){for(var n,r,i=0,o=this.currentLine;e>0&&(r=o[this.offset]);)\"\\t\"===r?(n=4-this.column%4,this.column+=n,this.offset+=1,e-=t?n:1):(i+=1,this.offset+=1,this.column+=1,e-=1)},I=function(){this.offset=this.nextNonspace,this.column=this.nextNonspaceColumn},R=function(){for(var e,t=this.currentLine,n=this.offset,r=this.column;\"\"!==(e=t.charAt(n));)if(\" \"===e)n++,r++;else{if(\"\\t\"!==e)break;n++,r+=4-r%4}this.blank=\"\\n\"===e||\"\\r\"===e||\"\"===e,this.nextNonspace=n,this.nextNonspaceColumn=r,this.indent=this.nextNonspaceColumn-this.column,this.indented=this.indent>=4},j=function(e){var t,n=!0,r=this.doc;this.oldtip=this.tip,this.offset=0,this.column=0,this.lineNumber+=1,-1!==e.indexOf(\"\\0\")&&(e=e.replace(/\\0/g,\"�\")),this.currentLine=e;for(var i;(i=r._lastChild)&&i._open;){switch(r=i,this.findNextNonspace(),this.blocks[r.type].continue(this,r)){case 0:break;case 1:n=!1;break;case 2:return void(this.lastLineLength=e.length);default:throw\"continue returned illegal value, must be 0, 1, or 2\"}if(!n){r=r._parent;break}}this.allClosed=r===this.oldtip,this.lastMatchedContainer=r,this.blank&&r._lastLineBlank&&(this.breakOutOfLists(r),r=this.tip);for(var o=\"Paragraph\"!==r.type&&M[r.type].acceptsLines,a=this.blockStarts,s=a.length;!o;){if(this.findNextNonspace(),!this.indented&&!f.test(e.slice(this.nextNonspace))){this.advanceNextNonspace();break}for(var u=0;u<s;){var l=a[u](this,r);if(1===l){r=this.tip;break}if(2===l){r=this.tip,o=!0;break}u++}if(u===s){this.advanceNextNonspace();break}}if(this.allClosed||this.blank||\"Paragraph\"!==this.tip.type){this.closeUnmatchedBlocks(),this.blank&&r.lastChild&&(r.lastChild._lastLineBlank=!0),t=r.type;for(var p=this.blank&&!(\"BlockQuote\"===t||\"CodeBlock\"===t&&r._isFenced||\"Item\"===t&&!r._firstChild&&r.sourcepos[0][0]===this.lineNumber),h=r;h;)h._lastLineBlank=p,h=h._parent;this.blocks[t].acceptsLines?(this.addLine(),\"HtmlBlock\"===t&&r._htmlBlockType>=1&&r._htmlBlockType<=5&&c[r._htmlBlockType].test(this.currentLine.slice(this.offset))&&this.finalize(r,this.lineNumber)):this.offset<e.length&&!this.blank&&(r=this.addChild(\"Paragraph\",this.offset),this.advanceNextNonspace(),this.addLine())}else this.addLine();this.lastLineLength=e.length},N=function(e,t){var n=e._parent;e._open=!1,e.sourcepos[1]=[t,this.lastLineLength],this.blocks[e.type].finalize(this,e),this.tip=n},F=function(e){var t,n,r,i=e.walker();for(this.inlineParser.refmap=this.refmap,this.inlineParser.options=this.options;n=i.next();)t=n.node,r=t.type,n.entering||\"Paragraph\"!==r&&\"Heading\"!==r||this.inlineParser.parse(t)},B=function(){return new i(\"Document\",[[1,1],[0,0]])},L=function(e){this.doc=new B,this.tip=this.doc,this.refmap={},this.lineNumber=0,this.lastLineLength=0,this.offset=0,this.column=0,this.lastMatchedContainer=this.doc,this.currentLine=\"\",this.options.time&&console.time(\"preparing input\");var t=e.split(b),n=t.length;10===e.charCodeAt(e.length-1)&&(n-=1),this.options.time&&console.timeEnd(\"preparing input\"),this.options.time&&console.time(\"block parsing\");for(var r=0;r<n;r++)this.incorporateLine(t[r]);for(;this.tip;)this.finalize(this.tip,n);return this.options.time&&console.timeEnd(\"block parsing\"),this.options.time&&console.time(\"inline parsing\"),this.processInlines(this.doc),this.options.time&&console.timeEnd(\"inline parsing\"),this.doc};e.exports=r},function(e,t,n){\"use strict\";/*! http://mths.be/fromcodepoint v0.2.1 by @mathias */\nif(String.fromCodePoint)e.exports=function(e){try{return String.fromCodePoint(e)}catch(e){if(e instanceof RangeError)return String.fromCharCode(65533);throw e}};else{var r=String.fromCharCode,i=Math.floor,o=function(){var e,t,n=[],o=-1,a=arguments.length;if(!a)return\"\";for(var s=\"\";++o<a;){var u=Number(arguments[o]);if(!isFinite(u)||u<0||u>1114111||i(u)!==u)return String.fromCharCode(65533);u<=65535?n.push(u):(u-=65536,e=55296+(u>>10),t=u%1024+56320,n.push(e,t)),(o+1===a||n.length>16384)&&(s+=r.apply(null,n),n.length=0)}return s};e.exports=o}},function(e,t,n){\"use strict\";function r(e){return{softbreak:\"\\n\",escape:i,options:e||{},render:c}}var i=n(91).escapeXml,o=function(e,t,n){var r=\"<\"+e;if(t&&t.length>0)for(var i,o=0;void 0!==(i=t[o]);)r+=\" \"+i[0]+'=\"'+i[1]+'\"',o++;return n&&(r+=\" /\"),r+=\">\"},a=/\\<[^>]*\\>/,s=/^javascript:|vbscript:|file:|data:/i,u=/^data:image\\/(?:png|gif|jpeg|webp)/i,l=function(e){return s.test(e)&&!u.test(e)},c=function(e){var t,n,r,i,s,u,c,p=e.walker(),f=\"\",h=\"\\n\",d=0,m=function(e){f+=d>0?e.replace(a,\"\"):e,h=e},v=this.escape,g=function(){\"\\n\"!==h&&(f+=\"\\n\",h=\"\\n\")},y=this.options;for(y.time&&console.time(\"rendering\");i=p.next();){if(u=i.entering,s=i.node,t=[],y.sourcepos){var _=s.sourcepos;_&&t.push([\"data-sourcepos\",String(_[0][0])+\":\"+String(_[0][1])+\"-\"+String(_[1][0])+\":\"+String(_[1][1])])}switch(s.type){case\"Text\":m(v(s.literal,!1));break;case\"Softbreak\":m(this.softbreak);break;case\"Hardbreak\":m(o(\"br\",[],!0)),g();break;case\"Emph\":m(o(u?\"em\":\"/em\"));break;case\"Strong\":m(o(u?\"strong\":\"/strong\"));break;case\"HtmlInline\":m(y.safe?\"\\x3c!-- raw HTML omitted --\\x3e\":s.literal);break;case\"CustomInline\":u&&s.onEnter?m(s.onEnter):!u&&s.onExit&&m(s.onExit);break;case\"Link\":u?(y.safe&&l(s.destination)||t.push([\"href\",v(s.destination,!0)]),s.title&&t.push([\"title\",v(s.title,!0)]),m(o(\"a\",t))):m(o(\"/a\"));break;case\"Image\":u?(0===d&&m(y.safe&&l(s.destination)?'<img src=\"\" alt=\"':'<img src=\"'+v(s.destination,!0)+'\" alt=\"'),d+=1):0===(d-=1)&&(s.title&&m('\" title=\"'+v(s.title,!0)),m('\" />'));break;case\"Code\":m(o(\"code\")+v(s.literal,!1)+o(\"/code\"));break;case\"Document\":break;case\"Paragraph\":if(null!==(c=s.parent.parent)&&\"List\"===c.type&&c.listTight)break;u?(g(),m(o(\"p\",t))):(m(o(\"/p\")),g());break;case\"BlockQuote\":u?(g(),m(o(\"blockquote\",t)),g()):(g(),m(o(\"/blockquote\")),g());break;case\"Item\":u?m(o(\"li\",t)):(m(o(\"/li\")),g());break;case\"List\":if(r=\"Bullet\"===s.listType?\"ul\":\"ol\",u){var b=s.listStart;null!==b&&1!==b&&t.push([\"start\",b.toString()]),g(),m(o(r,t)),g()}else g(),m(o(\"/\"+r)),g();break;case\"Heading\":r=\"h\"+s.level,u?(g(),m(o(r,t))):(m(o(\"/\"+r)),g());break;case\"CodeBlock\":n=s.info?s.info.split(/\\s+/):[],n.length>0&&n[0].length>0&&t.push([\"class\",\"language-\"+v(n[0],!0)]),g(),m(o(\"pre\")+o(\"code\",t)),m(v(s.literal,!1)),m(o(\"/code\")+o(\"/pre\")),g();break;case\"HtmlBlock\":g(),m(y.safe?\"\\x3c!-- raw HTML omitted --\\x3e\":s.literal),g();break;case\"CustomBlock\":g(),u&&s.onEnter?m(s.onEnter):!u&&s.onExit&&m(s.onExit),g();break;case\"ThematicBreak\":g(),m(o(\"hr\",t,!0)),g();break;default:throw\"Unknown node type \"+s.type}}return y.time&&console.timeEnd(\"rendering\"),f};e.exports=r},function(e,t,n){\"use strict\";e.exports.version=\"0.24.0\",e.exports.Node=n(260),e.exports.Parser=n(1088),e.exports.HtmlRenderer=n(1090),e.exports.XmlRenderer=n(1094)},function(e,t,n){\"use strict\";function r(e){return{subject:\"\",delimiters:null,pos:0,refmap:{},match:F,peek:B,spnl:L,parseBackticks:q,parseBackslash:z,parseAutolink:U,parseHtmlTag:W,scanDelims:V,handleDelim:H,parseLinkTitle:Y,parseLinkDestination:K,parseLinkLabel:$,parseOpenBracket:Z,parseCloseBracket:ee,parseBang:Q,parseEntity:te,parseString:ne,parseNewline:re,parseReference:ie,parseInline:oe,processEmphasis:X,removeDelimiter:J,options:e||{},parse:ae}}var i=n(260),o=n(91),a=n(1093),s=o.normalizeURI,u=o.unescapeString,l=n(1089),c=n(114).decodeHTML;n(507);var p=o.ESCAPABLE,f=\"\\\\\\\\\"+p,h=\"\\\\(([^\\\\\\\\()\\\\x00-\\\\x20]|\"+f+\"|\\\\\\\\)*\\\\)\",d=o.ENTITY,m=o.reHtmlTag,v=new RegExp(/^[\\u2000-\\u206F\\u2E00-\\u2E7F\\\\'!\"#\\$%&\\(\\)\\*\\+,\\-\\.\\/:;<=>\\?@\\[\\]\\^_`\\{\\|\\}~]/),g=new RegExp('^(?:\"('+f+'|[^\"\\\\x00])*\"|\\'('+f+\"|[^'\\\\x00])*'|\\\\((\"+f+\"|[^)\\\\x00])*\\\\))\"),y=new RegExp(\"^(?:[<](?:[^ <>\\\\t\\\\n\\\\\\\\\\\\x00]|\"+f+\"|\\\\\\\\)*[>])\"),_=new RegExp(\"^(?:[^\\\\\\\\()\\\\x00-\\\\x20]+|\"+f+\"|\\\\\\\\|\"+h+\")*\"),b=new RegExp(\"^\"+p),x=new RegExp(\"^\"+d,\"i\"),w=/`+/,k=/^`+/,E=/\\.\\.\\./g,S=/--+/g,C=/^<([a-zA-Z0-9.!#$%&'*+\\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)>/,A=/^<[A-Za-z][A-Za-z0-9.+-]{1,31}:[^<>\\x00-\\x20]*>/i,D=/^ *(?:\\n *)?/,O=/^\\s/,M=/\\s+/g,T=/ *$/,P=/^ */,I=/^ *(?:\\n|$)/,R=new RegExp(\"^\\\\[(?:[^\\\\\\\\\\\\[\\\\]]|\"+f+\"|\\\\\\\\){0,1000}\\\\]\"),j=/^[^\\n`\\[\\]\\\\!<&*_'\"]+/m,N=function(e){var t=new i(\"Text\");return t._literal=e,t},F=function(e){var t=e.exec(this.subject.slice(this.pos));return null===t?null:(this.pos+=t.index+t[0].length,t[0])},B=function(){return this.pos<this.subject.length?this.subject.charCodeAt(this.pos):-1},L=function(){return this.match(D),!0},q=function(e){var t=this.match(k);if(null===t)return!1;for(var n,r,o=this.pos;null!==(n=this.match(w));)if(n===t)return r=new i(\"Code\"),r._literal=this.subject.slice(o,this.pos-t.length).trim().replace(M,\" \"),e.appendChild(r),!0;return this.pos=o,e.appendChild(N(t)),!0},z=function(e){var t,n=this.subject;return this.pos+=1,10===this.peek()?(this.pos+=1,t=new i(\"Hardbreak\"),e.appendChild(t)):b.test(n.charAt(this.pos))?(e.appendChild(N(n.charAt(this.pos))),this.pos+=1):e.appendChild(N(\"\\\\\")),!0},U=function(e){var t,n,r;return(t=this.match(C))?(n=t.slice(1,t.length-1),r=new i(\"Link\"),r._destination=s(\"mailto:\"+n),r._title=\"\",r.appendChild(N(n)),e.appendChild(r),!0):!!(t=this.match(A))&&(n=t.slice(1,t.length-1),r=new i(\"Link\"),r._destination=s(n),r._title=\"\",r.appendChild(N(n)),e.appendChild(r),!0)},W=function(e){var t=this.match(m);if(null===t)return!1;var n=new i(\"HtmlInline\");return n._literal=t,e.appendChild(n),!0},V=function(e){var t,n,r,i,o,a,s,u,c,p,f,h=0,d=this.pos;if(39===e||34===e)h++,this.pos++;else for(;this.peek()===e;)h++,this.pos++;return 0===h?null:(t=0===d?\"\\n\":this.subject.charAt(d-1),r=this.peek(),n=-1===r?\"\\n\":l(r),u=O.test(n),c=v.test(n),p=O.test(t),f=v.test(t),i=!(u||c&&!p&&!f),o=!(p||f&&!u&&!c),95===e?(a=i&&(!o||f),s=o&&(!i||c)):39===e||34===e?(a=i&&!o,s=o):(a=i,s=o),this.pos=d,{numdelims:h,can_open:a,can_close:s})},H=function(e,t){var n=this.scanDelims(e);if(!n)return!1;var r,i=n.numdelims,o=this.pos;this.pos+=i,r=39===e?\"’\":34===e?\"“\":this.subject.slice(o,this.pos);var a=N(r);return t.appendChild(a),this.delimiters={cc:e,numdelims:i,node:a,previous:this.delimiters,next:null,can_open:n.can_open,can_close:n.can_close,active:!0},null!==this.delimiters.previous&&(this.delimiters.previous.next=this.delimiters),!0},J=function(e){null!==e.previous&&(e.previous.next=e.next),null===e.next?this.delimiters=e.previous:e.next.previous=e.previous},G=function(e,t){e.next!==t&&(e.next=t,t.previous=e)},X=function(e){var t,n,r,o,a,s,u,l,c,p,f=[];for(f[95]=e,f[42]=e,f[39]=e,f[34]=e,n=this.delimiters;null!==n&&n.previous!==e;)n=n.previous;for(;null!==n;){var h=n.cc;if(!n.can_close||95!==h&&42!==h&&39!==h&&34!==h)n=n.next;else{for(t=n.previous,p=!1;null!==t&&t!==e&&t!==f[h];){if(t.cc===n.cc&&t.can_open){p=!0;break}t=t.previous}if(r=n,42===h||95===h)if(p){u=n.numdelims<3||t.numdelims<3?n.numdelims<=t.numdelims?n.numdelims:t.numdelims:n.numdelims%2==0?2:1,o=t.node,a=n.node,t.numdelims-=u,n.numdelims-=u,o._literal=o._literal.slice(0,o._literal.length-u),a._literal=a._literal.slice(0,a._literal.length-u);var d=new i(1===u?\"Emph\":\"Strong\");for(l=o._next;l&&l!==a;)c=l._next,l.unlink(),d.appendChild(l),l=c;o.insertAfter(d),G(t,n),0===t.numdelims&&(o.unlink(),this.removeDelimiter(t)),0===n.numdelims&&(a.unlink(),s=n.next,this.removeDelimiter(n),n=s)}else n=n.next;else 39===h?(n.node._literal=\"’\",p&&(t.node._literal=\"‘\"),n=n.next):34===h&&(n.node._literal=\"”\",p&&(t.node.literal=\"“\"),n=n.next);p||(f[h]=r.previous,r.can_open||this.removeDelimiter(r))}}for(;null!==this.delimiters&&this.delimiters!==e;)this.removeDelimiter(this.delimiters)},Y=function(){var e=this.match(g);return null===e?null:u(e.substr(1,e.length-2))},K=function(){var e=this.match(y);return null===e?(e=this.match(_),null===e?null:s(u(e))):s(u(e.substr(1,e.length-2)))},$=function(){var e=this.match(R);return null===e||e.length>1001?0:e.length},Z=function(e){var t=this.pos;this.pos+=1;var n=N(\"[\");return e.appendChild(n),this.delimiters={cc:91,numdelims:1,node:n,previous:this.delimiters,next:null,can_open:!0,can_close:!1,index:t,active:!0},null!==this.delimiters.previous&&(this.delimiters.previous.next=this.delimiters),!0},Q=function(e){var t=this.pos;if(this.pos+=1,91===this.peek()){this.pos+=1;var n=N(\"![\");e.appendChild(n),this.delimiters={cc:33,numdelims:1,node:n,previous:this.delimiters,next:null,can_open:!0,can_close:!1,index:t+1,active:!0},null!==this.delimiters.previous&&(this.delimiters.previous.next=this.delimiters)}else e.appendChild(N(\"!\"));return!0},ee=function(e){var t,n,r,o,s,u,l=!1;for(this.pos+=1,t=this.pos,u=this.delimiters;null!==u&&91!==u.cc&&33!==u.cc;)u=u.previous;if(null===u)return e.appendChild(N(\"]\")),!0;if(!u.active)return e.appendChild(N(\"]\")),this.removeDelimiter(u),!0;if(n=33===u.cc,40===this.peek())this.pos++,this.spnl()&&null!==(r=this.parseLinkDestination())&&this.spnl()&&(O.test(this.subject.charAt(this.pos-1))&&(o=this.parseLinkTitle()),!0)&&this.spnl()&&41===this.peek()&&(this.pos+=1,l=!0);else{var c=this.pos,p=this.pos,f=this.parseLinkLabel();s=0===f||2===f?this.subject.slice(u.index,t):this.subject.slice(p,p+f),0===f&&(this.pos=c);var h=this.refmap[a(s)];h&&(r=h.destination,o=h.title,l=!0)}if(l){var d=new i(n?\"Image\":\"Link\");d._destination=r,d._title=o||\"\";var m,v;for(m=u.node._next;m;)v=m._next,m.unlink(),d.appendChild(m),m=v;if(e.appendChild(d),this.processEmphasis(u.previous),u.node.unlink(),!n)for(u=this.delimiters;null!==u;)91===u.cc&&(u.active=!1),u=u.previous;return!0}return this.removeDelimiter(u),this.pos=t,e.appendChild(N(\"]\")),!0},te=function(e){var t;return!!(t=this.match(x))&&(e.appendChild(N(c(t))),!0)},ne=function(e){var t;return!!(t=this.match(j))&&(this.options.smart?e.appendChild(N(t.replace(E,\"…\").replace(S,function(e){var t=0,n=0;return e.length%3==0?n=e.length/3:e.length%2==0?t=e.length/2:e.length%3==2?(t=1,n=(e.length-2)/3):(t=2,n=(e.length-4)/3),\"—\".repeat(n)+\"–\".repeat(t)}))):e.appendChild(N(t)),!0)},re=function(e){this.pos+=1;var t=e._lastChild;if(t&&\"Text\"===t.type&&\" \"===t._literal[t._literal.length-1]){var n=\" \"===t._literal[t._literal.length-2];t._literal=t._literal.replace(T,\"\"),e.appendChild(new i(n?\"Hardbreak\":\"Softbreak\"))}else e.appendChild(new i(\"Softbreak\"));return this.match(P),!0},ie=function(e,t){this.subject=e,this.pos=0;var n,r,i,o,s=this.pos;if(0===(o=this.parseLinkLabel()))return 0;if(n=this.subject.substr(0,o),58!==this.peek())return this.pos=s,0;if(this.pos++,this.spnl(),null===(r=this.parseLinkDestination())||0===r.length)return this.pos=s,0;var u=this.pos;this.spnl(),null===(i=this.parseLinkTitle())&&(i=\"\",this.pos=u);var l=!0;if(null===this.match(I)&&(\"\"===i?l=!1:(i=\"\",this.pos=u,l=null!==this.match(I))),!l)return this.pos=s,0;var c=a(n);return\"\"===c?(this.pos=s,0):(t[c]||(t[c]={destination:r,title:i}),this.pos-s)},oe=function(e){var t=!1,n=this.peek();if(-1===n)return!1;switch(n){case 10:t=this.parseNewline(e);break;case 92:t=this.parseBackslash(e);break;case 96:t=this.parseBackticks(e);break;case 42:case 95:t=this.handleDelim(n,e);break;case 39:case 34:t=this.options.smart&&this.handleDelim(n,e);break;case 91:t=this.parseOpenBracket(e);break;case 33:t=this.parseBang(e);break;case 93:t=this.parseCloseBracket(e);break;case 60:t=this.parseAutolink(e)||this.parseHtmlTag(e);break;case 38:t=this.parseEntity(e);break;default:t=this.parseString(e)}return t||(this.pos+=1,e.appendChild(N(l(n)))),!0},ae=function(e){for(this.subject=e._string_content.trim(),this.pos=0,this.delimiters=null;this.parseInline(e););e._string_content=null,this.processEmphasis(null)};e.exports=r},function(e,t,n){\"use strict\";var r=/[ \\t\\r\\n]+|[A-Z\\xB5\\xC0-\\xD6\\xD8-\\xDF\\u0100\\u0102\\u0104\\u0106\\u0108\\u010A\\u010C\\u010E\\u0110\\u0112\\u0114\\u0116\\u0118\\u011A\\u011C\\u011E\\u0120\\u0122\\u0124\\u0126\\u0128\\u012A\\u012C\\u012E\\u0130\\u0132\\u0134\\u0136\\u0139\\u013B\\u013D\\u013F\\u0141\\u0143\\u0145\\u0147\\u0149\\u014A\\u014C\\u014E\\u0150\\u0152\\u0154\\u0156\\u0158\\u015A\\u015C\\u015E\\u0160\\u0162\\u0164\\u0166\\u0168\\u016A\\u016C\\u016E\\u0170\\u0172\\u0174\\u0176\\u0178\\u0179\\u017B\\u017D\\u017F\\u0181\\u0182\\u0184\\u0186\\u0187\\u0189-\\u018B\\u018E-\\u0191\\u0193\\u0194\\u0196-\\u0198\\u019C\\u019D\\u019F\\u01A0\\u01A2\\u01A4\\u01A6\\u01A7\\u01A9\\u01AC\\u01AE\\u01AF\\u01B1-\\u01B3\\u01B5\\u01B7\\u01B8\\u01BC\\u01C4\\u01C5\\u01C7\\u01C8\\u01CA\\u01CB\\u01CD\\u01CF\\u01D1\\u01D3\\u01D5\\u01D7\\u01D9\\u01DB\\u01DE\\u01E0\\u01E2\\u01E4\\u01E6\\u01E8\\u01EA\\u01EC\\u01EE\\u01F0-\\u01F2\\u01F4\\u01F6-\\u01F8\\u01FA\\u01FC\\u01FE\\u0200\\u0202\\u0204\\u0206\\u0208\\u020A\\u020C\\u020E\\u0210\\u0212\\u0214\\u0216\\u0218\\u021A\\u021C\\u021E\\u0220\\u0222\\u0224\\u0226\\u0228\\u022A\\u022C\\u022E\\u0230\\u0232\\u023A\\u023B\\u023D\\u023E\\u0241\\u0243-\\u0246\\u0248\\u024A\\u024C\\u024E\\u0345\\u0370\\u0372\\u0376\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03AB\\u03B0\\u03C2\\u03CF-\\u03D1\\u03D5\\u03D6\\u03D8\\u03DA\\u03DC\\u03DE\\u03E0\\u03E2\\u03E4\\u03E6\\u03E8\\u03EA\\u03EC\\u03EE\\u03F0\\u03F1\\u03F4\\u03F5\\u03F7\\u03F9\\u03FA\\u03FD-\\u042F\\u0460\\u0462\\u0464\\u0466\\u0468\\u046A\\u046C\\u046E\\u0470\\u0472\\u0474\\u0476\\u0478\\u047A\\u047C\\u047E\\u0480\\u048A\\u048C\\u048E\\u0490\\u0492\\u0494\\u0496\\u0498\\u049A\\u049C\\u049E\\u04A0\\u04A2\\u04A4\\u04A6\\u04A8\\u04AA\\u04AC\\u04AE\\u04B0\\u04B2\\u04B4\\u04B6\\u04B8\\u04BA\\u04BC\\u04BE\\u04C0\\u04C1\\u04C3\\u04C5\\u04C7\\u04C9\\u04CB\\u04CD\\u04D0\\u04D2\\u04D4\\u04D6\\u04D8\\u04DA\\u04DC\\u04DE\\u04E0\\u04E2\\u04E4\\u04E6\\u04E8\\u04EA\\u04EC\\u04EE\\u04F0\\u04F2\\u04F4\\u04F6\\u04F8\\u04FA\\u04FC\\u04FE\\u0500\\u0502\\u0504\\u0506\\u0508\\u050A\\u050C\\u050E\\u0510\\u0512\\u0514\\u0516\\u0518\\u051A\\u051C\\u051E\\u0520\\u0522\\u0524\\u0526\\u0528\\u052A\\u052C\\u052E\\u0531-\\u0556\\u0587\\u10A0-\\u10C5\\u10C7\\u10CD\\u1E00\\u1E02\\u1E04\\u1E06\\u1E08\\u1E0A\\u1E0C\\u1E0E\\u1E10\\u1E12\\u1E14\\u1E16\\u1E18\\u1E1A\\u1E1C\\u1E1E\\u1E20\\u1E22\\u1E24\\u1E26\\u1E28\\u1E2A\\u1E2C\\u1E2E\\u1E30\\u1E32\\u1E34\\u1E36\\u1E38\\u1E3A\\u1E3C\\u1E3E\\u1E40\\u1E42\\u1E44\\u1E46\\u1E48\\u1E4A\\u1E4C\\u1E4E\\u1E50\\u1E52\\u1E54\\u1E56\\u1E58\\u1E5A\\u1E5C\\u1E5E\\u1E60\\u1E62\\u1E64\\u1E66\\u1E68\\u1E6A\\u1E6C\\u1E6E\\u1E70\\u1E72\\u1E74\\u1E76\\u1E78\\u1E7A\\u1E7C\\u1E7E\\u1E80\\u1E82\\u1E84\\u1E86\\u1E88\\u1E8A\\u1E8C\\u1E8E\\u1E90\\u1E92\\u1E94\\u1E96-\\u1E9B\\u1E9E\\u1EA0\\u1EA2\\u1EA4\\u1EA6\\u1EA8\\u1EAA\\u1EAC\\u1EAE\\u1EB0\\u1EB2\\u1EB4\\u1EB6\\u1EB8\\u1EBA\\u1EBC\\u1EBE\\u1EC0\\u1EC2\\u1EC4\\u1EC6\\u1EC8\\u1ECA\\u1ECC\\u1ECE\\u1ED0\\u1ED2\\u1ED4\\u1ED6\\u1ED8\\u1EDA\\u1EDC\\u1EDE\\u1EE0\\u1EE2\\u1EE4\\u1EE6\\u1EE8\\u1EEA\\u1EEC\\u1EEE\\u1EF0\\u1EF2\\u1EF4\\u1EF6\\u1EF8\\u1EFA\\u1EFC\\u1EFE\\u1F08-\\u1F0F\\u1F18-\\u1F1D\\u1F28-\\u1F2F\\u1F38-\\u1F3F\\u1F48-\\u1F4D\\u1F50\\u1F52\\u1F54\\u1F56\\u1F59\\u1F5B\\u1F5D\\u1F5F\\u1F68-\\u1F6F\\u1F80-\\u1FAF\\u1FB2-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD2\\u1FD3\\u1FD6-\\u1FDB\\u1FE2-\\u1FE4\\u1FE6-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2126\\u212A\\u212B\\u2132\\u2160-\\u216F\\u2183\\u24B6-\\u24CF\\u2C00-\\u2C2E\\u2C60\\u2C62-\\u2C64\\u2C67\\u2C69\\u2C6B\\u2C6D-\\u2C70\\u2C72\\u2C75\\u2C7E-\\u2C80\\u2C82\\u2C84\\u2C86\\u2C88\\u2C8A\\u2C8C\\u2C8E\\u2C90\\u2C92\\u2C94\\u2C96\\u2C98\\u2C9A\\u2C9C\\u2C9E\\u2CA0\\u2CA2\\u2CA4\\u2CA6\\u2CA8\\u2CAA\\u2CAC\\u2CAE\\u2CB0\\u2CB2\\u2CB4\\u2CB6\\u2CB8\\u2CBA\\u2CBC\\u2CBE\\u2CC0\\u2CC2\\u2CC4\\u2CC6\\u2CC8\\u2CCA\\u2CCC\\u2CCE\\u2CD0\\u2CD2\\u2CD4\\u2CD6\\u2CD8\\u2CDA\\u2CDC\\u2CDE\\u2CE0\\u2CE2\\u2CEB\\u2CED\\u2CF2\\uA640\\uA642\\uA644\\uA646\\uA648\\uA64A\\uA64C\\uA64E\\uA650\\uA652\\uA654\\uA656\\uA658\\uA65A\\uA65C\\uA65E\\uA660\\uA662\\uA664\\uA666\\uA668\\uA66A\\uA66C\\uA680\\uA682\\uA684\\uA686\\uA688\\uA68A\\uA68C\\uA68E\\uA690\\uA692\\uA694\\uA696\\uA698\\uA69A\\uA722\\uA724\\uA726\\uA728\\uA72A\\uA72C\\uA72E\\uA732\\uA734\\uA736\\uA738\\uA73A\\uA73C\\uA73E\\uA740\\uA742\\uA744\\uA746\\uA748\\uA74A\\uA74C\\uA74E\\uA750\\uA752\\uA754\\uA756\\uA758\\uA75A\\uA75C\\uA75E\\uA760\\uA762\\uA764\\uA766\\uA768\\uA76A\\uA76C\\uA76E\\uA779\\uA77B\\uA77D\\uA77E\\uA780\\uA782\\uA784\\uA786\\uA78B\\uA78D\\uA790\\uA792\\uA796\\uA798\\uA79A\\uA79C\\uA79E\\uA7A0\\uA7A2\\uA7A4\\uA7A6\\uA7A8\\uA7AA-\\uA7AD\\uA7B0\\uA7B1\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFF21-\\uFF3A]|\\uD801[\\uDC00-\\uDC27]|\\uD806[\\uDCA0-\\uDCBF]/g,i={A:\"a\",B:\"b\",C:\"c\",D:\"d\",E:\"e\",F:\"f\",G:\"g\",H:\"h\",I:\"i\",J:\"j\",K:\"k\",L:\"l\",M:\"m\",N:\"n\",O:\"o\",P:\"p\",Q:\"q\",R:\"r\",S:\"s\",T:\"t\",U:\"u\",V:\"v\",W:\"w\",X:\"x\",Y:\"y\",Z:\"z\",\"µ\":\"μ\",\"À\":\"à\",\"Á\":\"á\",\"Â\":\"â\",\"Ã\":\"ã\",\"Ä\":\"ä\",\"Å\":\"å\",\"Æ\":\"æ\",\"Ç\":\"ç\",\"È\":\"è\",\"É\":\"é\",\"Ê\":\"ê\",\"Ë\":\"ë\",\"Ì\":\"ì\",\"Í\":\"í\",\"Î\":\"î\",\"Ï\":\"ï\",\"Ð\":\"ð\",\"Ñ\":\"ñ\",\"Ò\":\"ò\",\"Ó\":\"ó\",\"Ô\":\"ô\",\"Õ\":\"õ\",\"Ö\":\"ö\",\"Ø\":\"ø\",\"Ù\":\"ù\",\"Ú\":\"ú\",\"Û\":\"û\",\"Ü\":\"ü\",\"Ý\":\"ý\",\"Þ\":\"þ\",\"Ā\":\"ā\",\"Ă\":\"ă\",\"Ą\":\"ą\",\"Ć\":\"ć\",\"Ĉ\":\"ĉ\",\"Ċ\":\"ċ\",\"Č\":\"č\",\"Ď\":\"ď\",\"Đ\":\"đ\",\"Ē\":\"ē\",\"Ĕ\":\"ĕ\",\"Ė\":\"ė\",\"Ę\":\"ę\",\"Ě\":\"ě\",\"Ĝ\":\"ĝ\",\"Ğ\":\"ğ\",\"Ġ\":\"ġ\",\"Ģ\":\"ģ\",\"Ĥ\":\"ĥ\",\"Ħ\":\"ħ\",\"Ĩ\":\"ĩ\",\"Ī\":\"ī\",\"Ĭ\":\"ĭ\",\"Į\":\"į\",\"Ĳ\":\"ĳ\",\"Ĵ\":\"ĵ\",\"Ķ\":\"ķ\",\"Ĺ\":\"ĺ\",\"Ļ\":\"ļ\",\"Ľ\":\"ľ\",\"Ŀ\":\"ŀ\",\"Ł\":\"ł\",\"Ń\":\"ń\",\"Ņ\":\"ņ\",\"Ň\":\"ň\",\"Ŋ\":\"ŋ\",\"Ō\":\"ō\",\"Ŏ\":\"ŏ\",\"Ő\":\"ő\",\"Œ\":\"œ\",\"Ŕ\":\"ŕ\",\"Ŗ\":\"ŗ\",\"Ř\":\"ř\",\"Ś\":\"ś\",\"Ŝ\":\"ŝ\",\"Ş\":\"ş\",\"Š\":\"š\",\"Ţ\":\"ţ\",\"Ť\":\"ť\",\"Ŧ\":\"ŧ\",\"Ũ\":\"ũ\",\"Ū\":\"ū\",\"Ŭ\":\"ŭ\",\"Ů\":\"ů\",\"Ű\":\"ű\",\"Ų\":\"ų\",\"Ŵ\":\"ŵ\",\"Ŷ\":\"ŷ\",\"Ÿ\":\"ÿ\",\"Ź\":\"ź\",\"Ż\":\"ż\",\"Ž\":\"ž\",\"ſ\":\"s\",\"Ɓ\":\"ɓ\",\"Ƃ\":\"ƃ\",\"Ƅ\":\"ƅ\",\"Ɔ\":\"ɔ\",\"Ƈ\":\"ƈ\",\"Ɖ\":\"ɖ\",\"Ɗ\":\"ɗ\",\"Ƌ\":\"ƌ\",\"Ǝ\":\"ǝ\",\"Ə\":\"ə\",\"Ɛ\":\"ɛ\",\"Ƒ\":\"ƒ\",\"Ɠ\":\"ɠ\",\"Ɣ\":\"ɣ\",\"Ɩ\":\"ɩ\",\"Ɨ\":\"ɨ\",\"Ƙ\":\"ƙ\",\"Ɯ\":\"ɯ\",\"Ɲ\":\"ɲ\",\"Ɵ\":\"ɵ\",\"Ơ\":\"ơ\",\"Ƣ\":\"ƣ\",\"Ƥ\":\"ƥ\",\"Ʀ\":\"ʀ\",\"Ƨ\":\"ƨ\",\"Ʃ\":\"ʃ\",\"Ƭ\":\"ƭ\",\"Ʈ\":\"ʈ\",\"Ư\":\"ư\",\"Ʊ\":\"ʊ\",\"Ʋ\":\"ʋ\",\"Ƴ\":\"ƴ\",\"Ƶ\":\"ƶ\",\"Ʒ\":\"ʒ\",\"Ƹ\":\"ƹ\",\"Ƽ\":\"ƽ\",\"Ǆ\":\"ǆ\",\"ǅ\":\"ǆ\",\"Ǉ\":\"ǉ\",\"ǈ\":\"ǉ\",\"Ǌ\":\"ǌ\",\"ǋ\":\"ǌ\",\"Ǎ\":\"ǎ\",\"Ǐ\":\"ǐ\",\"Ǒ\":\"ǒ\",\"Ǔ\":\"ǔ\",\"Ǖ\":\"ǖ\",\"Ǘ\":\"ǘ\",\"Ǚ\":\"ǚ\",\"Ǜ\":\"ǜ\",\"Ǟ\":\"ǟ\",\"Ǡ\":\"ǡ\",\"Ǣ\":\"ǣ\",\"Ǥ\":\"ǥ\",\"Ǧ\":\"ǧ\",\"Ǩ\":\"ǩ\",\"Ǫ\":\"ǫ\",\"Ǭ\":\"ǭ\",\"Ǯ\":\"ǯ\",\"Ǳ\":\"ǳ\",\"ǲ\":\"ǳ\",\"Ǵ\":\"ǵ\",\"Ƕ\":\"ƕ\",\"Ƿ\":\"ƿ\",\"Ǹ\":\"ǹ\",\"Ǻ\":\"ǻ\",\"Ǽ\":\"ǽ\",\"Ǿ\":\"ǿ\",\"Ȁ\":\"ȁ\",\"Ȃ\":\"ȃ\",\"Ȅ\":\"ȅ\",\"Ȇ\":\"ȇ\",\"Ȉ\":\"ȉ\",\"Ȋ\":\"ȋ\",\"Ȍ\":\"ȍ\",\"Ȏ\":\"ȏ\",\"Ȑ\":\"ȑ\",\"Ȓ\":\"ȓ\",\"Ȕ\":\"ȕ\",\"Ȗ\":\"ȗ\",\"Ș\":\"ș\",\"Ț\":\"ț\",\"Ȝ\":\"ȝ\",\"Ȟ\":\"ȟ\",\"Ƞ\":\"ƞ\",\"Ȣ\":\"ȣ\",\"Ȥ\":\"ȥ\",\"Ȧ\":\"ȧ\",\"Ȩ\":\"ȩ\",\"Ȫ\":\"ȫ\",\"Ȭ\":\"ȭ\",\"Ȯ\":\"ȯ\",\"Ȱ\":\"ȱ\",\"Ȳ\":\"ȳ\",\"Ⱥ\":\"ⱥ\",\"Ȼ\":\"ȼ\",\"Ƚ\":\"ƚ\",\"Ⱦ\":\"ⱦ\",\"Ɂ\":\"ɂ\",\"Ƀ\":\"ƀ\",\"Ʉ\":\"ʉ\",\"Ʌ\":\"ʌ\",\"Ɇ\":\"ɇ\",\"Ɉ\":\"ɉ\",\"Ɋ\":\"ɋ\",\"Ɍ\":\"ɍ\",\"Ɏ\":\"ɏ\",\"ͅ\":\"ι\",\"Ͱ\":\"ͱ\",\"Ͳ\":\"ͳ\",\"Ͷ\":\"ͷ\",\"Ϳ\":\"ϳ\",\"Ά\":\"ά\",\"Έ\":\"έ\",\"Ή\":\"ή\",\"Ί\":\"ί\",\"Ό\":\"ό\",\"Ύ\":\"ύ\",\"Ώ\":\"ώ\",\"Α\":\"α\",\"Β\":\"β\",\"Γ\":\"γ\",\"Δ\":\"δ\",\"Ε\":\"ε\",\"Ζ\":\"ζ\",\"Η\":\"η\",\"Θ\":\"θ\",\"Ι\":\"ι\",\"Κ\":\"κ\",\"Λ\":\"λ\",\"Μ\":\"μ\",\"Ν\":\"ν\",\"Ξ\":\"ξ\",\"Ο\":\"ο\",\"Π\":\"π\",\"Ρ\":\"ρ\",\"Σ\":\"σ\",\"Τ\":\"τ\",\"Υ\":\"υ\",\"Φ\":\"φ\",\"Χ\":\"χ\",\"Ψ\":\"ψ\",\"Ω\":\"ω\",\"Ϊ\":\"ϊ\",\"Ϋ\":\"ϋ\",\"ς\":\"σ\",\"Ϗ\":\"ϗ\",\"ϐ\":\"β\",\"ϑ\":\"θ\",\"ϕ\":\"φ\",\"ϖ\":\"π\",\"Ϙ\":\"ϙ\",\"Ϛ\":\"ϛ\",\"Ϝ\":\"ϝ\",\"Ϟ\":\"ϟ\",\"Ϡ\":\"ϡ\",\"Ϣ\":\"ϣ\",\"Ϥ\":\"ϥ\",\"Ϧ\":\"ϧ\",\"Ϩ\":\"ϩ\",\"Ϫ\":\"ϫ\",\"Ϭ\":\"ϭ\",\"Ϯ\":\"ϯ\",\"ϰ\":\"κ\",\"ϱ\":\"ρ\",\"ϴ\":\"θ\",\"ϵ\":\"ε\",\"Ϸ\":\"ϸ\",\"Ϲ\":\"ϲ\",\"Ϻ\":\"ϻ\",\"Ͻ\":\"ͻ\",\"Ͼ\":\"ͼ\",\"Ͽ\":\"ͽ\",\"Ѐ\":\"ѐ\",\"Ё\":\"ё\",\"Ђ\":\"ђ\",\"Ѓ\":\"ѓ\",\"Є\":\"є\",\"Ѕ\":\"ѕ\",\"І\":\"і\",\"Ї\":\"ї\",\"Ј\":\"ј\",\"Љ\":\"љ\",\"Њ\":\"њ\",\"Ћ\":\"ћ\",\"Ќ\":\"ќ\",\"Ѝ\":\"ѝ\",\"Ў\":\"ў\",\"Џ\":\"џ\",\"А\":\"а\",\"Б\":\"б\",\"В\":\"в\",\"Г\":\"г\",\"Д\":\"д\",\"Е\":\"е\",\"Ж\":\"ж\",\"З\":\"з\",\"И\":\"и\",\"Й\":\"й\",\"К\":\"к\",\"Л\":\"л\",\"М\":\"м\",\"Н\":\"н\",\"О\":\"о\",\"П\":\"п\",\"Р\":\"р\",\"С\":\"с\",\"Т\":\"т\",\"У\":\"у\",\"Ф\":\"ф\",\"Х\":\"х\",\"Ц\":\"ц\",\"Ч\":\"ч\",\"Ш\":\"ш\",\"Щ\":\"щ\",\"Ъ\":\"ъ\",\"Ы\":\"ы\",\"Ь\":\"ь\",\"Э\":\"э\",\"Ю\":\"ю\",\"Я\":\"я\",\"Ѡ\":\"ѡ\",\"Ѣ\":\"ѣ\",\"Ѥ\":\"ѥ\",\"Ѧ\":\"ѧ\",\"Ѩ\":\"ѩ\",\"Ѫ\":\"ѫ\",\"Ѭ\":\"ѭ\",\"Ѯ\":\"ѯ\",\"Ѱ\":\"ѱ\",\"Ѳ\":\"ѳ\",\"Ѵ\":\"ѵ\",\"Ѷ\":\"ѷ\",\"Ѹ\":\"ѹ\",\"Ѻ\":\"ѻ\",\"Ѽ\":\"ѽ\",\"Ѿ\":\"ѿ\",\"Ҁ\":\"ҁ\",\"Ҋ\":\"ҋ\",\"Ҍ\":\"ҍ\",\"Ҏ\":\"ҏ\",\"Ґ\":\"ґ\",\"Ғ\":\"ғ\",\"Ҕ\":\"ҕ\",\"Җ\":\"җ\",\"Ҙ\":\"ҙ\",\"Қ\":\"қ\",\"Ҝ\":\"ҝ\",\"Ҟ\":\"ҟ\",\"Ҡ\":\"ҡ\",\"Ң\":\"ң\",\"Ҥ\":\"ҥ\",\"Ҧ\":\"ҧ\",\"Ҩ\":\"ҩ\",\"Ҫ\":\"ҫ\",\"Ҭ\":\"ҭ\",\"Ү\":\"ү\",\"Ұ\":\"ұ\",\"Ҳ\":\"ҳ\",\"Ҵ\":\"ҵ\",\"Ҷ\":\"ҷ\",\"Ҹ\":\"ҹ\",\"Һ\":\"һ\",\"Ҽ\":\"ҽ\",\"Ҿ\":\"ҿ\",\"Ӏ\":\"ӏ\",\"Ӂ\":\"ӂ\",\"Ӄ\":\"ӄ\",\"Ӆ\":\"ӆ\",\"Ӈ\":\"ӈ\",\"Ӊ\":\"ӊ\",\"Ӌ\":\"ӌ\",\"Ӎ\":\"ӎ\",\"Ӑ\":\"ӑ\",\"Ӓ\":\"ӓ\",\"Ӕ\":\"ӕ\",\"Ӗ\":\"ӗ\",\"Ә\":\"ә\",\"Ӛ\":\"ӛ\",\"Ӝ\":\"ӝ\",\"Ӟ\":\"ӟ\",\"Ӡ\":\"ӡ\",\"Ӣ\":\"ӣ\",\"Ӥ\":\"ӥ\",\"Ӧ\":\"ӧ\",\"Ө\":\"ө\",\"Ӫ\":\"ӫ\",\"Ӭ\":\"ӭ\",\"Ӯ\":\"ӯ\",\"Ӱ\":\"ӱ\",\"Ӳ\":\"ӳ\",\"Ӵ\":\"ӵ\",\"Ӷ\":\"ӷ\",\"Ӹ\":\"ӹ\",\"Ӻ\":\"ӻ\",\"Ӽ\":\"ӽ\",\"Ӿ\":\"ӿ\",\"Ԁ\":\"ԁ\",\"Ԃ\":\"ԃ\",\"Ԅ\":\"ԅ\",\"Ԇ\":\"ԇ\",\"Ԉ\":\"ԉ\",\"Ԋ\":\"ԋ\",\"Ԍ\":\"ԍ\",\"Ԏ\":\"ԏ\",\"Ԑ\":\"ԑ\",\"Ԓ\":\"ԓ\",\"Ԕ\":\"ԕ\",\"Ԗ\":\"ԗ\",\"Ԙ\":\"ԙ\",\"Ԛ\":\"ԛ\",\"Ԝ\":\"ԝ\",\"Ԟ\":\"ԟ\",\"Ԡ\":\"ԡ\",\"Ԣ\":\"ԣ\",\"Ԥ\":\"ԥ\",\"Ԧ\":\"ԧ\",\"Ԩ\":\"ԩ\",\"Ԫ\":\"ԫ\",\"Ԭ\":\"ԭ\",\"Ԯ\":\"ԯ\",\"Ա\":\"ա\",\"Բ\":\"բ\",\"Գ\":\"գ\",\"Դ\":\"դ\",\"Ե\":\"ե\",\"Զ\":\"զ\",\"Է\":\"է\",\"Ը\":\"ը\",\"Թ\":\"թ\",\"Ժ\":\"ժ\",\"Ի\":\"ի\",\"Լ\":\"լ\",\"Խ\":\"խ\",\"Ծ\":\"ծ\",\"Կ\":\"կ\",\"Հ\":\"հ\",\"Ձ\":\"ձ\",\"Ղ\":\"ղ\",\"Ճ\":\"ճ\",\"Մ\":\"մ\",\"Յ\":\"յ\",\"Ն\":\"ն\",\"Շ\":\"շ\",\"Ո\":\"ո\",\"Չ\":\"չ\",\"Պ\":\"պ\",\"Ջ\":\"ջ\",\"Ռ\":\"ռ\",\"Ս\":\"ս\",\"Վ\":\"վ\",\"Տ\":\"տ\",\"Ր\":\"ր\",\"Ց\":\"ց\",\"Ւ\":\"ւ\",\"Փ\":\"փ\",\"Ք\":\"ք\",\"Օ\":\"օ\",\"Ֆ\":\"ֆ\",\"Ⴀ\":\"ⴀ\",\"Ⴁ\":\"ⴁ\",\"Ⴂ\":\"ⴂ\",\"Ⴃ\":\"ⴃ\",\"Ⴄ\":\"ⴄ\",\"Ⴅ\":\"ⴅ\",\"Ⴆ\":\"ⴆ\",\"Ⴇ\":\"ⴇ\",\"Ⴈ\":\"ⴈ\",\"Ⴉ\":\"ⴉ\",\"Ⴊ\":\"ⴊ\",\"Ⴋ\":\"ⴋ\",\"Ⴌ\":\"ⴌ\",\"Ⴍ\":\"ⴍ\",\"Ⴎ\":\"ⴎ\",\"Ⴏ\":\"ⴏ\",\"Ⴐ\":\"ⴐ\",\"Ⴑ\":\"ⴑ\",\"Ⴒ\":\"ⴒ\",\"Ⴓ\":\"ⴓ\",\"Ⴔ\":\"ⴔ\",\"Ⴕ\":\"ⴕ\",\"Ⴖ\":\"ⴖ\",\"Ⴗ\":\"ⴗ\",\"Ⴘ\":\"ⴘ\",\"Ⴙ\":\"ⴙ\",\"Ⴚ\":\"ⴚ\",\"Ⴛ\":\"ⴛ\",\"Ⴜ\":\"ⴜ\",\"Ⴝ\":\"ⴝ\",\"Ⴞ\":\"ⴞ\",\"Ⴟ\":\"ⴟ\",\"Ⴠ\":\"ⴠ\",\"Ⴡ\":\"ⴡ\",\"Ⴢ\":\"ⴢ\",\"Ⴣ\":\"ⴣ\",\"Ⴤ\":\"ⴤ\",\"Ⴥ\":\"ⴥ\",\"Ⴧ\":\"ⴧ\",\"Ⴭ\":\"ⴭ\",\"Ḁ\":\"ḁ\",\"Ḃ\":\"ḃ\",\"Ḅ\":\"ḅ\",\"Ḇ\":\"ḇ\",\"Ḉ\":\"ḉ\",\"Ḋ\":\"ḋ\",\"Ḍ\":\"ḍ\",\"Ḏ\":\"ḏ\",\"Ḑ\":\"ḑ\",\"Ḓ\":\"ḓ\",\"Ḕ\":\"ḕ\",\"Ḗ\":\"ḗ\",\"Ḙ\":\"ḙ\",\"Ḛ\":\"ḛ\",\"Ḝ\":\"ḝ\",\"Ḟ\":\"ḟ\",\"Ḡ\":\"ḡ\",\"Ḣ\":\"ḣ\",\"Ḥ\":\"ḥ\",\"Ḧ\":\"ḧ\",\"Ḩ\":\"ḩ\",\"Ḫ\":\"ḫ\",\"Ḭ\":\"ḭ\",\"Ḯ\":\"ḯ\",\"Ḱ\":\"ḱ\",\"Ḳ\":\"ḳ\",\"Ḵ\":\"ḵ\",\"Ḷ\":\"ḷ\",\"Ḹ\":\"ḹ\",\"Ḻ\":\"ḻ\",\"Ḽ\":\"ḽ\",\"Ḿ\":\"ḿ\",\"Ṁ\":\"ṁ\",\"Ṃ\":\"ṃ\",\"Ṅ\":\"ṅ\",\"Ṇ\":\"ṇ\",\"Ṉ\":\"ṉ\",\"Ṋ\":\"ṋ\",\"Ṍ\":\"ṍ\",\"Ṏ\":\"ṏ\",\"Ṑ\":\"ṑ\",\"Ṓ\":\"ṓ\",\"Ṕ\":\"ṕ\",\"Ṗ\":\"ṗ\",\"Ṙ\":\"ṙ\",\"Ṛ\":\"ṛ\",\"Ṝ\":\"ṝ\",\"Ṟ\":\"ṟ\",\"Ṡ\":\"ṡ\",\"Ṣ\":\"ṣ\",\"Ṥ\":\"ṥ\",\"Ṧ\":\"ṧ\",\"Ṩ\":\"ṩ\",\"Ṫ\":\"ṫ\",\"Ṭ\":\"ṭ\",\"Ṯ\":\"ṯ\",\"Ṱ\":\"ṱ\",\"Ṳ\":\"ṳ\",\"Ṵ\":\"ṵ\",\"Ṷ\":\"ṷ\",\"Ṹ\":\"ṹ\",\"Ṻ\":\"ṻ\",\"Ṽ\":\"ṽ\",\"Ṿ\":\"ṿ\",\"Ẁ\":\"ẁ\",\"Ẃ\":\"ẃ\",\"Ẅ\":\"ẅ\",\"Ẇ\":\"ẇ\",\"Ẉ\":\"ẉ\",\"Ẋ\":\"ẋ\",\"Ẍ\":\"ẍ\",\"Ẏ\":\"ẏ\",\"Ẑ\":\"ẑ\",\"Ẓ\":\"ẓ\",\"Ẕ\":\"ẕ\",\"ẛ\":\"ṡ\",\"Ạ\":\"ạ\",\"Ả\":\"ả\",\"Ấ\":\"ấ\",\"Ầ\":\"ầ\",\"Ẩ\":\"ẩ\",\"Ẫ\":\"ẫ\",\"Ậ\":\"ậ\",\"Ắ\":\"ắ\",\"Ằ\":\"ằ\",\"Ẳ\":\"ẳ\",\"Ẵ\":\"ẵ\",\"Ặ\":\"ặ\",\"Ẹ\":\"ẹ\",\"Ẻ\":\"ẻ\",\"Ẽ\":\"ẽ\",\"Ế\":\"ế\",\"Ề\":\"ề\",\"Ể\":\"ể\",\"Ễ\":\"ễ\",\"Ệ\":\"ệ\",\"Ỉ\":\"ỉ\",\"Ị\":\"ị\",\"Ọ\":\"ọ\",\"Ỏ\":\"ỏ\",\"Ố\":\"ố\",\"Ồ\":\"ồ\",\"Ổ\":\"ổ\",\"Ỗ\":\"ỗ\",\"Ộ\":\"ộ\",\"Ớ\":\"ớ\",\"Ờ\":\"ờ\",\"Ở\":\"ở\",\"Ỡ\":\"ỡ\",\"Ợ\":\"ợ\",\"Ụ\":\"ụ\",\"Ủ\":\"ủ\",\"Ứ\":\"ứ\",\"Ừ\":\"ừ\",\"Ử\":\"ử\",\"Ữ\":\"ữ\",\"Ự\":\"ự\",\"Ỳ\":\"ỳ\",\"Ỵ\":\"ỵ\",\"Ỷ\":\"ỷ\",\"Ỹ\":\"ỹ\",\"Ỻ\":\"ỻ\",\"Ỽ\":\"ỽ\",\"Ỿ\":\"ỿ\",\"Ἀ\":\"ἀ\",\"Ἁ\":\"ἁ\",\"Ἂ\":\"ἂ\",\"Ἃ\":\"ἃ\",\"Ἄ\":\"ἄ\",\"Ἅ\":\"ἅ\",\"Ἆ\":\"ἆ\",\"Ἇ\":\"ἇ\",\"Ἐ\":\"ἐ\",\"Ἑ\":\"ἑ\",\"Ἒ\":\"ἒ\",\"Ἓ\":\"ἓ\",\"Ἔ\":\"ἔ\",\"Ἕ\":\"ἕ\",\"Ἠ\":\"ἠ\",\"Ἡ\":\"ἡ\",\"Ἢ\":\"ἢ\",\"Ἣ\":\"ἣ\",\"Ἤ\":\"ἤ\",\"Ἥ\":\"ἥ\",\"Ἦ\":\"ἦ\",\"Ἧ\":\"ἧ\",\"Ἰ\":\"ἰ\",\"Ἱ\":\"ἱ\",\"Ἲ\":\"ἲ\",\"Ἳ\":\"ἳ\",\"Ἴ\":\"ἴ\",\"Ἵ\":\"ἵ\",\"Ἶ\":\"ἶ\",\"Ἷ\":\"ἷ\",\"Ὀ\":\"ὀ\",\"Ὁ\":\"ὁ\",\"Ὂ\":\"ὂ\",\"Ὃ\":\"ὃ\",\"Ὄ\":\"ὄ\",\"Ὅ\":\"ὅ\",\"Ὑ\":\"ὑ\",\"Ὓ\":\"ὓ\",\"Ὕ\":\"ὕ\",\"Ὗ\":\"ὗ\",\"Ὠ\":\"ὠ\",\"Ὡ\":\"ὡ\",\"Ὢ\":\"ὢ\",\"Ὣ\":\"ὣ\",\"Ὤ\":\"ὤ\",\"Ὥ\":\"ὥ\",\"Ὦ\":\"ὦ\",\"Ὧ\":\"ὧ\",\"Ᾰ\":\"ᾰ\",\"Ᾱ\":\"ᾱ\",\"Ὰ\":\"ὰ\",\"Ά\":\"ά\",\"ι\":\"ι\",\"Ὲ\":\"ὲ\",\"Έ\":\"έ\",\"Ὴ\":\"ὴ\",\"Ή\":\"ή\",\"Ῐ\":\"ῐ\",\"Ῑ\":\"ῑ\",\"Ὶ\":\"ὶ\",\"Ί\":\"ί\",\"Ῠ\":\"ῠ\",\"Ῡ\":\"ῡ\",\"Ὺ\":\"ὺ\",\"Ύ\":\"ύ\",\"Ῥ\":\"ῥ\",\"Ὸ\":\"ὸ\",\"Ό\":\"ό\",\"Ὼ\":\"ὼ\",\"Ώ\":\"ώ\",\"Ω\":\"ω\",\"K\":\"k\",\"Å\":\"å\",\"Ⅎ\":\"ⅎ\",\"Ⅰ\":\"ⅰ\",\"Ⅱ\":\"ⅱ\",\"Ⅲ\":\"ⅲ\",\"Ⅳ\":\"ⅳ\",\"Ⅴ\":\"ⅴ\",\"Ⅵ\":\"ⅵ\",\"Ⅶ\":\"ⅶ\",\"Ⅷ\":\"ⅷ\",\"Ⅸ\":\"ⅸ\",\"Ⅹ\":\"ⅹ\",\"Ⅺ\":\"ⅺ\",\"Ⅻ\":\"ⅻ\",\"Ⅼ\":\"ⅼ\",\"Ⅽ\":\"ⅽ\",\"Ⅾ\":\"ⅾ\",\"Ⅿ\":\"ⅿ\",\"Ↄ\":\"ↄ\",\"Ⓐ\":\"ⓐ\",\"Ⓑ\":\"ⓑ\",\"Ⓒ\":\"ⓒ\",\"Ⓓ\":\"ⓓ\",\"Ⓔ\":\"ⓔ\",\"Ⓕ\":\"ⓕ\",\"Ⓖ\":\"ⓖ\",\"Ⓗ\":\"ⓗ\",\"Ⓘ\":\"ⓘ\",\"Ⓙ\":\"ⓙ\",\"Ⓚ\":\"ⓚ\",\"Ⓛ\":\"ⓛ\",\"Ⓜ\":\"ⓜ\",\"Ⓝ\":\"ⓝ\",\"Ⓞ\":\"ⓞ\",\"Ⓟ\":\"ⓟ\",\"Ⓠ\":\"ⓠ\",\"Ⓡ\":\"ⓡ\",\"Ⓢ\":\"ⓢ\",\"Ⓣ\":\"ⓣ\",\"Ⓤ\":\"ⓤ\",\"Ⓥ\":\"ⓥ\",\"Ⓦ\":\"ⓦ\",\"Ⓧ\":\"ⓧ\",\"Ⓨ\":\"ⓨ\",\"Ⓩ\":\"ⓩ\",\"Ⰰ\":\"ⰰ\",\"Ⰱ\":\"ⰱ\",\"Ⰲ\":\"ⰲ\",\"Ⰳ\":\"ⰳ\",\"Ⰴ\":\"ⰴ\",\"Ⰵ\":\"ⰵ\",\"Ⰶ\":\"ⰶ\",\"Ⰷ\":\"ⰷ\",\"Ⰸ\":\"ⰸ\",\"Ⰹ\":\"ⰹ\",\"Ⰺ\":\"ⰺ\",\"Ⰻ\":\"ⰻ\",\"Ⰼ\":\"ⰼ\",\"Ⰽ\":\"ⰽ\",\"Ⰾ\":\"ⰾ\",\"Ⰿ\":\"ⰿ\",\"Ⱀ\":\"ⱀ\",\"Ⱁ\":\"ⱁ\",\"Ⱂ\":\"ⱂ\",\"Ⱃ\":\"ⱃ\",\"Ⱄ\":\"ⱄ\",\"Ⱅ\":\"ⱅ\",\"Ⱆ\":\"ⱆ\",\"Ⱇ\":\"ⱇ\",\"Ⱈ\":\"ⱈ\",\"Ⱉ\":\"ⱉ\",\"Ⱊ\":\"ⱊ\",\"Ⱋ\":\"ⱋ\",\"Ⱌ\":\"ⱌ\",\"Ⱍ\":\"ⱍ\",\"Ⱎ\":\"ⱎ\",\"Ⱏ\":\"ⱏ\",\"Ⱐ\":\"ⱐ\",\"Ⱑ\":\"ⱑ\",\"Ⱒ\":\"ⱒ\",\"Ⱓ\":\"ⱓ\",\"Ⱔ\":\"ⱔ\",\"Ⱕ\":\"ⱕ\",\"Ⱖ\":\"ⱖ\",\"Ⱗ\":\"ⱗ\",\"Ⱘ\":\"ⱘ\",\"Ⱙ\":\"ⱙ\",\"Ⱚ\":\"ⱚ\",\"Ⱛ\":\"ⱛ\",\"Ⱜ\":\"ⱜ\",\"Ⱝ\":\"ⱝ\",\"Ⱞ\":\"ⱞ\",\"Ⱡ\":\"ⱡ\",\"Ɫ\":\"ɫ\",\"Ᵽ\":\"ᵽ\",\"Ɽ\":\"ɽ\",\"Ⱨ\":\"ⱨ\",\"Ⱪ\":\"ⱪ\",\"Ⱬ\":\"ⱬ\",\"Ɑ\":\"ɑ\",\"Ɱ\":\"ɱ\",\"Ɐ\":\"ɐ\",\"Ɒ\":\"ɒ\",\"Ⱳ\":\"ⱳ\",\"Ⱶ\":\"ⱶ\",\"Ȿ\":\"ȿ\",\"Ɀ\":\"ɀ\",\"Ⲁ\":\"ⲁ\",\"Ⲃ\":\"ⲃ\",\"Ⲅ\":\"ⲅ\",\"Ⲇ\":\"ⲇ\",\"Ⲉ\":\"ⲉ\",\"Ⲋ\":\"ⲋ\",\"Ⲍ\":\"ⲍ\",\"Ⲏ\":\"ⲏ\",\"Ⲑ\":\"ⲑ\",\"Ⲓ\":\"ⲓ\",\"Ⲕ\":\"ⲕ\",\"Ⲗ\":\"ⲗ\",\"Ⲙ\":\"ⲙ\",\"Ⲛ\":\"ⲛ\",\"Ⲝ\":\"ⲝ\",\"Ⲟ\":\"ⲟ\",\"Ⲡ\":\"ⲡ\",\"Ⲣ\":\"ⲣ\",\"Ⲥ\":\"ⲥ\",\"Ⲧ\":\"ⲧ\",\"Ⲩ\":\"ⲩ\",\"Ⲫ\":\"ⲫ\",\"Ⲭ\":\"ⲭ\",\"Ⲯ\":\"ⲯ\",\"Ⲱ\":\"ⲱ\",\"Ⲳ\":\"ⲳ\",\"Ⲵ\":\"ⲵ\",\"Ⲷ\":\"ⲷ\",\"Ⲹ\":\"ⲹ\",\"Ⲻ\":\"ⲻ\",\"Ⲽ\":\"ⲽ\",\"Ⲿ\":\"ⲿ\",\"Ⳁ\":\"ⳁ\",\"Ⳃ\":\"ⳃ\",\"Ⳅ\":\"ⳅ\",\"Ⳇ\":\"ⳇ\",\"Ⳉ\":\"ⳉ\",\"Ⳋ\":\"ⳋ\",\"Ⳍ\":\"ⳍ\",\"Ⳏ\":\"ⳏ\",\"Ⳑ\":\"ⳑ\",\"Ⳓ\":\"ⳓ\",\"Ⳕ\":\"ⳕ\",\"Ⳗ\":\"ⳗ\",\"Ⳙ\":\"ⳙ\",\"Ⳛ\":\"ⳛ\",\"Ⳝ\":\"ⳝ\",\"Ⳟ\":\"ⳟ\",\"Ⳡ\":\"ⳡ\",\"Ⳣ\":\"ⳣ\",\"Ⳬ\":\"ⳬ\",\"Ⳮ\":\"ⳮ\",\"Ⳳ\":\"ⳳ\",\"Ꙁ\":\"ꙁ\",\"Ꙃ\":\"ꙃ\",\"Ꙅ\":\"ꙅ\",\"Ꙇ\":\"ꙇ\",\"Ꙉ\":\"ꙉ\",\"Ꙋ\":\"ꙋ\",\"Ꙍ\":\"ꙍ\",\"Ꙏ\":\"ꙏ\",\"Ꙑ\":\"ꙑ\",\"Ꙓ\":\"ꙓ\",\"Ꙕ\":\"ꙕ\",\"Ꙗ\":\"ꙗ\",\"Ꙙ\":\"ꙙ\",\"Ꙛ\":\"ꙛ\",\"Ꙝ\":\"ꙝ\",\"Ꙟ\":\"ꙟ\",\"Ꙡ\":\"ꙡ\",\"Ꙣ\":\"ꙣ\",\"Ꙥ\":\"ꙥ\",\"Ꙧ\":\"ꙧ\",\"Ꙩ\":\"ꙩ\",\"Ꙫ\":\"ꙫ\",\"Ꙭ\":\"ꙭ\",\"Ꚁ\":\"ꚁ\",\"Ꚃ\":\"ꚃ\",\"Ꚅ\":\"ꚅ\",\"Ꚇ\":\"ꚇ\",\"Ꚉ\":\"ꚉ\",\"Ꚋ\":\"ꚋ\",\"Ꚍ\":\"ꚍ\",\"Ꚏ\":\"ꚏ\",\"Ꚑ\":\"ꚑ\",\"Ꚓ\":\"ꚓ\",\"Ꚕ\":\"ꚕ\",\"Ꚗ\":\"ꚗ\",\"Ꚙ\":\"ꚙ\",\"Ꚛ\":\"ꚛ\",\"Ꜣ\":\"ꜣ\",\"Ꜥ\":\"ꜥ\",\"Ꜧ\":\"ꜧ\",\"Ꜩ\":\"ꜩ\",\"Ꜫ\":\"ꜫ\",\"Ꜭ\":\"ꜭ\",\"Ꜯ\":\"ꜯ\",\"Ꜳ\":\"ꜳ\",\"Ꜵ\":\"ꜵ\",\"Ꜷ\":\"ꜷ\",\"Ꜹ\":\"ꜹ\",\"Ꜻ\":\"ꜻ\",\"Ꜽ\":\"ꜽ\",\"Ꜿ\":\"ꜿ\",\"Ꝁ\":\"ꝁ\",\"Ꝃ\":\"ꝃ\",\"Ꝅ\":\"ꝅ\",\"Ꝇ\":\"ꝇ\",\"Ꝉ\":\"ꝉ\",\"Ꝋ\":\"ꝋ\",\"Ꝍ\":\"ꝍ\",\"Ꝏ\":\"ꝏ\",\"Ꝑ\":\"ꝑ\",\"Ꝓ\":\"ꝓ\",\"Ꝕ\":\"ꝕ\",\"Ꝗ\":\"ꝗ\",\"Ꝙ\":\"ꝙ\",\"Ꝛ\":\"ꝛ\",\"Ꝝ\":\"ꝝ\",\"Ꝟ\":\"ꝟ\",\"Ꝡ\":\"ꝡ\",\"Ꝣ\":\"ꝣ\",\"Ꝥ\":\"ꝥ\",\"Ꝧ\":\"ꝧ\",\"Ꝩ\":\"ꝩ\",\"Ꝫ\":\"ꝫ\",\"Ꝭ\":\"ꝭ\",\"Ꝯ\":\"ꝯ\",\"Ꝺ\":\"ꝺ\",\"Ꝼ\":\"ꝼ\",\"Ᵹ\":\"ᵹ\",\"Ꝿ\":\"ꝿ\",\"Ꞁ\":\"ꞁ\",\"Ꞃ\":\"ꞃ\",\"Ꞅ\":\"ꞅ\",\"Ꞇ\":\"ꞇ\",\"Ꞌ\":\"ꞌ\",\"Ɥ\":\"ɥ\",\"Ꞑ\":\"ꞑ\",\"Ꞓ\":\"ꞓ\",\"Ꞗ\":\"ꞗ\",\"Ꞙ\":\"ꞙ\",\"Ꞛ\":\"ꞛ\",\"Ꞝ\":\"ꞝ\",\"Ꞟ\":\"ꞟ\",\"Ꞡ\":\"ꞡ\",\"Ꞣ\":\"ꞣ\",\"Ꞥ\":\"ꞥ\",\"Ꞧ\":\"ꞧ\",\"Ꞩ\":\"ꞩ\",\"Ɦ\":\"ɦ\",\"Ɜ\":\"ɜ\",\"Ɡ\":\"ɡ\",\"Ɬ\":\"ɬ\",\"Ʞ\":\"ʞ\",\"Ʇ\":\"ʇ\",\"Ａ\":\"ａ\",\"Ｂ\":\"ｂ\",\"Ｃ\":\"ｃ\",\"Ｄ\":\"ｄ\",\"Ｅ\":\"ｅ\",\"Ｆ\":\"ｆ\",\"Ｇ\":\"ｇ\",\"Ｈ\":\"ｈ\",\"Ｉ\":\"ｉ\",\"Ｊ\":\"ｊ\",\"Ｋ\":\"ｋ\",\"Ｌ\":\"ｌ\",\"Ｍ\":\"ｍ\",\"Ｎ\":\"ｎ\",\"Ｏ\":\"ｏ\",\"Ｐ\":\"ｐ\",\"Ｑ\":\"ｑ\",\"Ｒ\":\"ｒ\",\"Ｓ\":\"ｓ\",\"Ｔ\":\"ｔ\",\"Ｕ\":\"ｕ\",\"Ｖ\":\"ｖ\",\"Ｗ\":\"ｗ\",\"Ｘ\":\"ｘ\",\"Ｙ\":\"ｙ\",\"Ｚ\":\"ｚ\",\"𐐀\":\"𐐨\",\"𐐁\":\"𐐩\",\"𐐂\":\"𐐪\",\"𐐃\":\"𐐫\",\"𐐄\":\"𐐬\",\"𐐅\":\"𐐭\",\"𐐆\":\"𐐮\",\"𐐇\":\"𐐯\",\"𐐈\":\"𐐰\",\"𐐉\":\"𐐱\",\"𐐊\":\"𐐲\",\"𐐋\":\"𐐳\",\"𐐌\":\"𐐴\",\"𐐍\":\"𐐵\",\"𐐎\":\"𐐶\",\"𐐏\":\"𐐷\",\"𐐐\":\"𐐸\",\"𐐑\":\"𐐹\",\"𐐒\":\"𐐺\",\"𐐓\":\"𐐻\",\"𐐔\":\"𐐼\",\"𐐕\":\"𐐽\",\"𐐖\":\"𐐾\",\"𐐗\":\"𐐿\",\"𐐘\":\"𐑀\",\"𐐙\":\"𐑁\",\"𐐚\":\"𐑂\",\"𐐛\":\"𐑃\",\"𐐜\":\"𐑄\",\"𐐝\":\"𐑅\",\"𐐞\":\"𐑆\",\"𐐟\":\"𐑇\",\"𐐠\":\"𐑈\",\"𐐡\":\"𐑉\",\"𐐢\":\"𐑊\",\"𐐣\":\"𐑋\",\"𐐤\":\"𐑌\",\"𐐥\":\"𐑍\",\"𐐦\":\"𐑎\",\"𐐧\":\"𐑏\",\"𑢠\":\"𑣀\",\"𑢡\":\"𑣁\",\"𑢢\":\"𑣂\",\"𑢣\":\"𑣃\",\"𑢤\":\"𑣄\",\"𑢥\":\"𑣅\",\"𑢦\":\"𑣆\",\"𑢧\":\"𑣇\",\"𑢨\":\"𑣈\",\"𑢩\":\"𑣉\",\"𑢪\":\"𑣊\",\"𑢫\":\"𑣋\",\"𑢬\":\"𑣌\",\"𑢭\":\"𑣍\",\"𑢮\":\"𑣎\",\"𑢯\":\"𑣏\",\"𑢰\":\"𑣐\",\"𑢱\":\"𑣑\",\"𑢲\":\"𑣒\",\"𑢳\":\"𑣓\",\"𑢴\":\"𑣔\",\"𑢵\":\"𑣕\",\"𑢶\":\"𑣖\",\"𑢷\":\"𑣗\",\"𑢸\":\"𑣘\",\"𑢹\":\"𑣙\",\"𑢺\":\"𑣚\",\"𑢻\":\"𑣛\",\"𑢼\":\"𑣜\",\"𑢽\":\"𑣝\",\"𑢾\":\"𑣞\",\"𑢿\":\"𑣟\",\"ß\":\"ss\",\"İ\":\"i̇\",\"ŉ\":\"ʼn\",\"ǰ\":\"ǰ\",\"ΐ\":\"ΐ\",\"ΰ\":\"ΰ\",\"և\":\"եւ\",\"ẖ\":\"ẖ\",\"ẗ\":\"ẗ\",\"ẘ\":\"ẘ\",\"ẙ\":\"ẙ\",\"ẚ\":\"aʾ\",\"ẞ\":\"ss\",\"ὐ\":\"ὐ\",\"ὒ\":\"ὒ\",\"ὔ\":\"ὔ\",\"ὖ\":\"ὖ\",\"ᾀ\":\"ἀι\",\"ᾁ\":\"ἁι\",\"ᾂ\":\"ἂι\",\"ᾃ\":\"ἃι\",\"ᾄ\":\"ἄι\",\"ᾅ\":\"ἅι\",\"ᾆ\":\"ἆι\",\"ᾇ\":\"ἇι\",\"ᾈ\":\"ἀι\",\"ᾉ\":\"ἁι\",\"ᾊ\":\"ἂι\",\"ᾋ\":\"ἃι\",\"ᾌ\":\"ἄι\",\"ᾍ\":\"ἅι\",\"ᾎ\":\"ἆι\",\"ᾏ\":\"ἇι\",\"ᾐ\":\"ἠι\",\"ᾑ\":\"ἡι\",\"ᾒ\":\"ἢι\",\"ᾓ\":\"ἣι\",\"ᾔ\":\"ἤι\",\"ᾕ\":\"ἥι\",\"ᾖ\":\"ἦι\",\"ᾗ\":\"ἧι\",\"ᾘ\":\"ἠι\",\"ᾙ\":\"ἡι\",\"ᾚ\":\"ἢι\",\"ᾛ\":\"ἣι\",\"ᾜ\":\"ἤι\",\"ᾝ\":\"ἥι\",\"ᾞ\":\"ἦι\",\"ᾟ\":\"ἧι\",\"ᾠ\":\"ὠι\",\"ᾡ\":\"ὡι\",\"ᾢ\":\"ὢι\",\"ᾣ\":\"ὣι\",\"ᾤ\":\"ὤι\",\"ᾥ\":\"ὥι\",\"ᾦ\":\"ὦι\",\"ᾧ\":\"ὧι\",\"ᾨ\":\"ὠι\",\"ᾩ\":\"ὡι\",\"ᾪ\":\"ὢι\",\"ᾫ\":\"ὣι\",\"ᾬ\":\"ὤι\",\"ᾭ\":\"ὥι\",\"ᾮ\":\"ὦι\",\"ᾯ\":\"ὧι\",\"ᾲ\":\"ὰι\",\"ᾳ\":\"αι\",\"ᾴ\":\"άι\",\"ᾶ\":\"ᾶ\",\"ᾷ\":\"ᾶι\",\"ᾼ\":\"αι\",\"ῂ\":\"ὴι\",\"ῃ\":\"ηι\",\"ῄ\":\"ήι\",\"ῆ\":\"ῆ\",\"ῇ\":\"ῆι\",\"ῌ\":\"ηι\",\"ῒ\":\"ῒ\",\"ΐ\":\"ΐ\",\"ῖ\":\"ῖ\",\"ῗ\":\"ῗ\",\"ῢ\":\"ῢ\",\"ΰ\":\"ΰ\",\"ῤ\":\"ῤ\",\"ῦ\":\"ῦ\",\"ῧ\":\"ῧ\",\"ῲ\":\"ὼι\",\"ῳ\":\"ωι\",\"ῴ\":\"ώι\",\"ῶ\":\"ῶ\",\"ῷ\":\"ῶι\",\"ῼ\":\"ωι\",\"ﬀ\":\"ff\",\"ﬁ\":\"fi\",\"ﬂ\":\"fl\",\"ﬃ\":\"ffi\",\"ﬄ\":\"ffl\",\"ﬅ\":\"st\",\"ﬆ\":\"st\",\"ﬓ\":\"մն\",\"ﬔ\":\"մե\",\"ﬕ\":\"մի\",\"ﬖ\":\"վն\",\"ﬗ\":\"մխ\"};e.exports=function(e){return e.slice(1,e.length-1).trim().replace(r,function(e){return i[e]||\" \"})}},function(e,t,n){\"use strict\";function r(e){return{softbreak:\"\\n\",escape:i,options:e||{},render:s}}var i=n(91).escapeXml,o=function(e,t,n){var r=\"<\"+e;if(t&&t.length>0)for(var i,o=0;void 0!==(i=t[o]);)r+=\" \"+i[0]+'=\"'+i[1]+'\"',o++;return n&&(r+=\" /\"),r+=\">\"},a=function(e){return e.replace(/([a-z])([A-Z])/g,\"$1_$2\").toLowerCase()},s=function(e){var t,n,r,i,s,u,l,c,p=e.walker(),f=\"\",h=\"\\n\",d=0,m=function(e){f+=e,h=e},v=this.escape,g=function(){if(\"\\n\"!==h){f+=\"\\n\",h=\"\\n\";for(var e=d;e>0;e--)f+=\"  \"}},y=this.options;for(y.time&&console.time(\"rendering\"),f+='<?xml version=\"1.0\" encoding=\"UTF-8\"?>\\n',f+='<!DOCTYPE CommonMark SYSTEM \"CommonMark.dtd\">\\n';r=p.next();)if(s=r.entering,i=r.node,c=i.type,u=i.isContainer,l=\"ThematicBreak\"===c||\"Hardbreak\"===c||\"Softbreak\"===c,n=a(c),s){switch(t=[],c){case\"Document\":t.push([\"xmlns\",\"http://commonmark.org/xml/1.0\"]);break;case\"List\":null!==i.listType&&t.push([\"type\",i.listType.toLowerCase()]),null!==i.listStart&&t.push([\"start\",String(i.listStart)]),null!==i.listTight&&t.push([\"tight\",i.listTight?\"true\":\"false\"]);var _=i.listDelimiter;if(null!==_){var b=\"\";b=\".\"===_?\"period\":\"paren\",t.push([\"delimiter\",b])}break;case\"CodeBlock\":i.info&&t.push([\"info\",i.info]);break;case\"Heading\":t.push([\"level\",String(i.level)]);break;case\"Link\":case\"Image\":t.push([\"destination\",i.destination]),t.push([\"title\",i.title]);break;case\"CustomInline\":case\"CustomBlock\":t.push([\"on_enter\",i.onEnter]),t.push([\"on_exit\",i.onExit])}if(y.sourcepos){var x=i.sourcepos;x&&t.push([\"sourcepos\",String(x[0][0])+\":\"+String(x[0][1])+\"-\"+String(x[1][0])+\":\"+String(x[1][1])])}if(g(),m(o(n,t,l)),u)d+=1;else if(!u&&!l){var w=i.literal;w&&m(v(w)),m(o(\"/\"+n))}}else d-=1,g(),m(o(\"/\"+n));return y.time&&console.timeEnd(\"rendering\"),f+=\"\\n\"};e.exports=r},function(e,t,n){\"use strict\";function r(e){i.Component.call(this,e)}var i=n(0),o=n(1091).Parser,a=n(587),s=n(1);r.prototype=Object.create(i.Component.prototype),r.prototype.constructor=r,r.prototype.render=function(){var e=this.props.containerProps||{},t=new a(this.props),n=new o(this.props.parserOptions),r=n.parse(this.props.source||\"\");if(this.props.walker)for(var s,u=r.walker();s=u.next();)this.props.walker.call(this,s,u);return this.props.className&&(e.className=this.props.className),i.createElement.apply(i,[this.props.containerTagName,e,this.props.childBefore].concat(t.render(r).concat([this.props.childAfter])))},r.propTypes={className:s.string,containerProps:s.object,source:s.string.isRequired,containerTagName:s.string,childBefore:s.object,childAfter:s.object,sourcePos:s.bool,escapeHtml:s.bool,skipHtml:s.bool,softBreak:s.string,allowNode:s.func,allowedTypes:s.array,disallowedTypes:s.array,transformLinkUri:s.func,transformImageUri:s.func,unwrapDisallowed:s.bool,renderers:s.object,walker:s.func,parserOptions:s.object},r.defaultProps={containerTagName:\"div\",parserOptions:{}},r.types=a.types,r.renderers=a.renderers,r.uriTransformer=a.uriTransformer,e.exports=r},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function o(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}t.__esModule=!0;var a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(261),l=r(u),c=n(165),p=r(c),f=n(263),h=r(f),d=n(235),m=r(d),v=n(243),g=r(v),y=n(262),_=r(y),b=n(0),x=r(b),w=n(1),k=r(w),E=1e3/60,S=function(e){function t(n){var r=this;i(this,t),e.call(this,n),this.wasAnimating=!1,this.animationID=null,this.prevTime=0,this.accumulatedTime=0,this.unreadPropStyle=null,this.clearUnreadPropStyle=function(e){var t=!1,n=r.state,i=n.currentStyle,o=n.currentVelocity,s=n.lastIdealStyle,u=n.lastIdealVelocity;for(var l in e)if(Object.prototype.hasOwnProperty.call(e,l)){var c=e[l];\"number\"==typeof c&&(t||(t=!0,i=a({},i),o=a({},o),s=a({},s),u=a({},u)),i[l]=c,o[l]=0,s[l]=c,u[l]=0)}t&&r.setState({currentStyle:i,currentVelocity:o,lastIdealStyle:s,lastIdealVelocity:u})},this.startAnimationIfNecessary=function(){r.animationID=g.default(function(e){var t=r.props.style;if(_.default(r.state.currentStyle,t,r.state.currentVelocity))return r.wasAnimating&&r.props.onRest&&r.props.onRest(),r.animationID=null,r.wasAnimating=!1,void(r.accumulatedTime=0);r.wasAnimating=!0;var n=e||m.default(),i=n-r.prevTime;if(r.prevTime=n,r.accumulatedTime=r.accumulatedTime+i,r.accumulatedTime>10*E&&(r.accumulatedTime=0),0===r.accumulatedTime)return r.animationID=null,void r.startAnimationIfNecessary();var o=(r.accumulatedTime-Math.floor(r.accumulatedTime/E)*E)/E,a=Math.floor(r.accumulatedTime/E),s={},u={},l={},c={};for(var p in t)if(Object.prototype.hasOwnProperty.call(t,p)){var f=t[p];if(\"number\"==typeof f)l[p]=f,c[p]=0,s[p]=f,u[p]=0;else{for(var d=r.state.lastIdealStyle[p],v=r.state.lastIdealVelocity[p],g=0;g<a;g++){var y=h.default(E/1e3,d,v,f.val,f.stiffness,f.damping,f.precision);d=y[0],v=y[1]}var b=h.default(E/1e3,d,v,f.val,f.stiffness,f.damping,f.precision),x=b[0],w=b[1];l[p]=d+(x-d)*o,c[p]=v+(w-v)*o,s[p]=d,u[p]=v}}r.animationID=null,r.accumulatedTime-=a*E,r.setState({currentStyle:l,currentVelocity:c,lastIdealStyle:s,lastIdealVelocity:u}),r.unreadPropStyle=null,r.startAnimationIfNecessary()})},this.state=this.defaultState()}return o(t,e),s(t,null,[{key:\"propTypes\",value:{defaultStyle:k.default.objectOf(k.default.number),style:k.default.objectOf(k.default.oneOfType([k.default.number,k.default.object])).isRequired,children:k.default.func.isRequired,onRest:k.default.func},enumerable:!0}]),t.prototype.defaultState=function(){var e=this.props,t=e.defaultStyle,n=e.style,r=t||p.default(n),i=l.default(r);return{currentStyle:r,currentVelocity:i,lastIdealStyle:r,lastIdealVelocity:i}},t.prototype.componentDidMount=function(){this.prevTime=m.default(),this.startAnimationIfNecessary()},t.prototype.componentWillReceiveProps=function(e){null!=this.unreadPropStyle&&this.clearUnreadPropStyle(this.unreadPropStyle),this.unreadPropStyle=e.style,null==this.animationID&&(this.prevTime=m.default(),this.startAnimationIfNecessary())},t.prototype.componentWillUnmount=function(){null!=this.animationID&&(g.default.cancel(this.animationID),this.animationID=null)},t.prototype.render=function(){var e=this.props.children(this.state.currentStyle);return e&&x.default.Children.only(e)},t}(x.default.Component);t.default=S,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function o(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function a(e,t,n){for(var r=0;r<e.length;r++)if(!b.default(e[r],t[r],n[r]))return!1;return!0}t.__esModule=!0;var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=n(261),c=r(l),p=n(165),f=r(p),h=n(263),d=r(h),m=n(235),v=r(m),g=n(243),y=r(g),_=n(262),b=r(_),x=n(0),w=r(x),k=n(1),E=r(k),S=1e3/60,C=function(e){function t(n){var r=this;i(this,t),e.call(this,n),this.animationID=null,this.prevTime=0,this.accumulatedTime=0,this.unreadPropStyles=null,this.clearUnreadPropStyle=function(e){for(var t=r.state,n=t.currentStyles,i=t.currentVelocities,o=t.lastIdealStyles,a=t.lastIdealVelocities,u=!1,l=0;l<e.length;l++){var c=e[l],p=!1;for(var f in c)if(Object.prototype.hasOwnProperty.call(c,f)){var h=c[f];\"number\"==typeof h&&(p||(p=!0,u=!0,n[l]=s({},n[l]),i[l]=s({},i[l]),o[l]=s({},o[l]),a[l]=s({},a[l])),n[l][f]=h,i[l][f]=0,o[l][f]=h,a[l][f]=0)}}u&&r.setState({currentStyles:n,currentVelocities:i,lastIdealStyles:o,lastIdealVelocities:a})},this.startAnimationIfNecessary=function(){r.animationID=y.default(function(e){var t=r.props.styles(r.state.lastIdealStyles);if(a(r.state.currentStyles,t,r.state.currentVelocities))return r.animationID=null,void(r.accumulatedTime=0);var n=e||v.default(),i=n-r.prevTime;if(r.prevTime=n,r.accumulatedTime=r.accumulatedTime+i,r.accumulatedTime>10*S&&(r.accumulatedTime=0),0===r.accumulatedTime)return r.animationID=null,void r.startAnimationIfNecessary();for(var o=(r.accumulatedTime-Math.floor(r.accumulatedTime/S)*S)/S,s=Math.floor(r.accumulatedTime/S),u=[],l=[],c=[],p=[],f=0;f<t.length;f++){var h=t[f],m={},g={},y={},_={};for(var b in h)if(Object.prototype.hasOwnProperty.call(h,b)){var x=h[b];if(\"number\"==typeof x)m[b]=x,g[b]=0,y[b]=x,_[b]=0;else{for(var w=r.state.lastIdealStyles[f][b],k=r.state.lastIdealVelocities[f][b],E=0;E<s;E++){var C=d.default(S/1e3,w,k,x.val,x.stiffness,x.damping,x.precision);w=C[0],k=C[1]}var A=d.default(S/1e3,w,k,x.val,x.stiffness,x.damping,x.precision),D=A[0],O=A[1];m[b]=w+(D-w)*o,g[b]=k+(O-k)*o,y[b]=w,_[b]=k}}c[f]=m,p[f]=g,u[f]=y,l[f]=_}r.animationID=null,r.accumulatedTime-=s*S,r.setState({currentStyles:c,currentVelocities:p,lastIdealStyles:u,lastIdealVelocities:l}),r.unreadPropStyles=null,r.startAnimationIfNecessary()})},this.state=this.defaultState()}return o(t,e),u(t,null,[{key:\"propTypes\",value:{defaultStyles:E.default.arrayOf(E.default.objectOf(E.default.number)),styles:E.default.func.isRequired,children:E.default.func.isRequired},enumerable:!0}]),t.prototype.defaultState=function(){var e=this.props,t=e.defaultStyles,n=e.styles,r=t||n().map(f.default),i=r.map(function(e){return c.default(e)});return{currentStyles:r,currentVelocities:i,lastIdealStyles:r,lastIdealVelocities:i}},t.prototype.componentDidMount=function(){this.prevTime=v.default(),this.startAnimationIfNecessary()},t.prototype.componentWillReceiveProps=function(e){null!=this.unreadPropStyles&&this.clearUnreadPropStyle(this.unreadPropStyles),this.unreadPropStyles=e.styles(this.state.lastIdealStyles),null==this.animationID&&(this.prevTime=v.default(),this.startAnimationIfNecessary())},t.prototype.componentWillUnmount=function(){null!=this.animationID&&(y.default.cancel(this.animationID),this.animationID=null)},t.prototype.render=function(){var e=this.props.children(this.state.currentStyles);return e&&w.default.Children.only(e)},t}(w.default.Component);t.default=C,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function o(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function a(e,t,n){var r=t;return null==r?e.map(function(e,t){return{key:e.key,data:e.data,style:n[t]}}):e.map(function(e,t){for(var i=0;i<r.length;i++)if(r[i].key===e.key)return{key:r[i].key,data:r[i].data,style:n[t]};return{key:e.key,data:e.data,style:n[t]}})}function s(e,t,n,r){if(r.length!==t.length)return!1;for(var i=0;i<r.length;i++)if(r[i].key!==t[i].key)return!1;for(var i=0;i<r.length;i++)if(!E.default(e[i],t[i].style,n[i]))return!1;return!0}function u(e,t,n,r,i,o,a,s,u){for(var l=y.default(r,i,function(e,r){var i=t(r);return null==i?(n({key:r.key,data:r.data}),null):E.default(o[e],i,a[e])?(n({key:r.key,data:r.data}),null):{key:r.key,data:r.data,style:i}}),c=[],p=[],h=[],d=[],m=0;m<l.length;m++){for(var v=l[m],g=null,_=0;_<r.length;_++)if(r[_].key===v.key){g=_;break}if(null==g){var b=e(v);c[m]=b,h[m]=b;var x=f.default(v.style);p[m]=x,d[m]=x}else c[m]=o[g],h[m]=s[g],p[m]=a[g],d[m]=u[g]}return[l,c,p,h,d]}t.__esModule=!0;var l=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},c=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),p=n(261),f=r(p),h=n(165),d=r(h),m=n(263),v=r(m),g=n(1099),y=r(g),_=n(235),b=r(_),x=n(243),w=r(x),k=n(262),E=r(k),S=n(0),C=r(S),A=n(1),D=r(A),O=1e3/60,M=function(e){function t(n){var r=this;i(this,t),e.call(this,n),this.unmounting=!1,this.animationID=null,this.prevTime=0,this.accumulatedTime=0,this.unreadPropStyles=null,this.clearUnreadPropStyle=function(e){for(var t=u(r.props.willEnter,r.props.willLeave,r.props.didLeave,r.state.mergedPropsStyles,e,r.state.currentStyles,r.state.currentVelocities,r.state.lastIdealStyles,r.state.lastIdealVelocities),n=t[0],i=t[1],o=t[2],a=t[3],s=t[4],c=0;c<e.length;c++){var p=e[c].style,f=!1;for(var h in p)if(Object.prototype.hasOwnProperty.call(p,h)){var d=p[h];\"number\"==typeof d&&(f||(f=!0,i[c]=l({},i[c]),o[c]=l({},o[c]),a[c]=l({},a[c]),s[c]=l({},s[c]),n[c]={key:n[c].key,data:n[c].data,style:l({},n[c].style)}),i[c][h]=d,o[c][h]=0,a[c][h]=d,s[c][h]=0,n[c].style[h]=d)}}r.setState({currentStyles:i,currentVelocities:o,mergedPropsStyles:n,lastIdealStyles:a,lastIdealVelocities:s})},this.startAnimationIfNecessary=function(){r.unmounting||(r.animationID=w.default(function(e){if(!r.unmounting){var t=r.props.styles,n=\"function\"==typeof t?t(a(r.state.mergedPropsStyles,r.unreadPropStyles,r.state.lastIdealStyles)):t;if(s(r.state.currentStyles,n,r.state.currentVelocities,r.state.mergedPropsStyles))return r.animationID=null,void(r.accumulatedTime=0);var i=e||b.default(),o=i-r.prevTime;if(r.prevTime=i,r.accumulatedTime=r.accumulatedTime+o,r.accumulatedTime>10*O&&(r.accumulatedTime=0),0===r.accumulatedTime)return r.animationID=null,void r.startAnimationIfNecessary();for(var l=(r.accumulatedTime-Math.floor(r.accumulatedTime/O)*O)/O,c=Math.floor(r.accumulatedTime/O),p=u(r.props.willEnter,r.props.willLeave,r.props.didLeave,r.state.mergedPropsStyles,n,r.state.currentStyles,r.state.currentVelocities,r.state.lastIdealStyles,r.state.lastIdealVelocities),f=p[0],h=p[1],d=p[2],m=p[3],g=p[4],y=0;y<f.length;y++){var _=f[y].style,x={},w={},k={},E={};for(var S in _)if(Object.prototype.hasOwnProperty.call(_,S)){var C=_[S];if(\"number\"==typeof C)x[S]=C,w[S]=0,k[S]=C,E[S]=0;else{for(var A=m[y][S],D=g[y][S],M=0;M<c;M++){var T=v.default(O/1e3,A,D,C.val,C.stiffness,C.damping,C.precision);A=T[0],D=T[1]}var P=v.default(O/1e3,A,D,C.val,C.stiffness,C.damping,C.precision),I=P[0],R=P[1];x[S]=A+(I-A)*l,w[S]=D+(R-D)*l,k[S]=A,E[S]=D}}m[y]=k,g[y]=E,h[y]=x,d[y]=w}r.animationID=null,r.accumulatedTime-=c*O,r.setState({currentStyles:h,currentVelocities:d,lastIdealStyles:m,lastIdealVelocities:g,mergedPropsStyles:f}),r.unreadPropStyles=null,r.startAnimationIfNecessary()}}))},this.state=this.defaultState()}return o(t,e),c(t,null,[{key:\"propTypes\",value:{defaultStyles:D.default.arrayOf(D.default.shape({key:D.default.string.isRequired,data:D.default.any,style:D.default.objectOf(D.default.number).isRequired})),styles:D.default.oneOfType([D.default.func,D.default.arrayOf(D.default.shape({key:D.default.string.isRequired,data:D.default.any,style:D.default.objectOf(D.default.oneOfType([D.default.number,D.default.object])).isRequired}))]).isRequired,children:D.default.func.isRequired,willEnter:D.default.func,willLeave:D.default.func,didLeave:D.default.func},enumerable:!0},{key:\"defaultProps\",value:{willEnter:function(e){return d.default(e.style)},willLeave:function(){return null},didLeave:function(){}},enumerable:!0}]),t.prototype.defaultState=function(){var e=this.props,t=e.defaultStyles,n=e.styles,r=e.willEnter,i=e.willLeave,o=e.didLeave,a=\"function\"==typeof n?n(t):n,s=void 0;s=null==t?a:t.map(function(e){for(var t=0;t<a.length;t++)if(a[t].key===e.key)return a[t];return e});var l=null==t?a.map(function(e){return d.default(e.style)}):t.map(function(e){return d.default(e.style)}),c=null==t?a.map(function(e){return f.default(e.style)}):t.map(function(e){return f.default(e.style)}),p=u(r,i,o,s,a,l,c,l,c),h=p[0];return{currentStyles:p[1],currentVelocities:p[2],lastIdealStyles:p[3],lastIdealVelocities:p[4],mergedPropsStyles:h}},t.prototype.componentDidMount=function(){this.prevTime=b.default(),this.startAnimationIfNecessary()},t.prototype.componentWillReceiveProps=function(e){this.unreadPropStyles&&this.clearUnreadPropStyle(this.unreadPropStyles);var t=e.styles;this.unreadPropStyles=\"function\"==typeof t?t(a(this.state.mergedPropsStyles,this.unreadPropStyles,this.state.lastIdealStyles)):t,null==this.animationID&&(this.prevTime=b.default(),this.startAnimationIfNecessary())},t.prototype.componentWillUnmount=function(){this.unmounting=!0,null!=this.animationID&&(w.default.cancel(this.animationID),this.animationID=null)},t.prototype.render=function(){var e=a(this.state.mergedPropsStyles,this.unreadPropStyles,this.state.currentStyles),t=this.props.children(e);return t&&C.default.Children.only(t)},t}(C.default.Component);t.default=M,e.exports=t.default},function(e,t,n){\"use strict\";function r(e,t,n){for(var r={},i=0;i<e.length;i++)r[e[i].key]=i;for(var o={},i=0;i<t.length;i++)o[t[i].key]=i;for(var a=[],i=0;i<t.length;i++)a[i]=t[i];for(var i=0;i<e.length;i++)if(!Object.prototype.hasOwnProperty.call(o,e[i].key)){var s=n(i,e[i]);null!=s&&a.push(s)}return a.sort(function(e,n){var i=o[e.key],a=o[n.key],s=r[e.key],u=r[n.key];if(null!=i&&null!=a)return o[e.key]-o[n.key];if(null!=s&&null!=u)return r[e.key]-r[n.key];if(null!=i){for(var l=0;l<t.length;l++){var c=t[l].key;if(Object.prototype.hasOwnProperty.call(r,c)){if(i<o[c]&&u>r[c])return-1;if(i>o[c]&&u<r[c])return 1}}return 1}for(var l=0;l<t.length;l++){var c=t[l].key;if(Object.prototype.hasOwnProperty.call(r,c)){if(a<o[c]&&s>r[c])return 1;if(a>o[c]&&s<r[c])return-1}}return-1})}t.__esModule=!0,t.default=r,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e.default:e}t.__esModule=!0;var i=n(1096);t.Motion=r(i);var o=n(1097);t.StaggeredMotion=r(o);var a=n(1098);t.TransitionMotion=r(a);var s=n(1102);t.spring=r(s);var u=n(484);t.presets=r(u);var l=n(165);t.stripStyle=r(l);var c=n(1101);t.reorderKeys=r(c)},function(e,t,n){\"use strict\";function r(){}t.__esModule=!0,t.default=r;e.exports=t.default},function(e,t,n){\"use strict\";function r(e,t){return i({},s,t,{val:e})}t.__esModule=!0;var i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};t.default=r;var o=n(484),a=function(e){return e&&e.__esModule?e:{default:e}}(o),s=i({},a.default.noWobble,{precision:.01});e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function o(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}t.__esModule=!0,t.default=void 0;var s=n(0),u=n(1),l=r(u),c=n(485),p=r(c),f=n(486),h=(r(f),function(e){function t(n,r){i(this,t);var a=o(this,e.call(this,n,r));return a.store=n.store,a}return a(t,e),t.prototype.getChildContext=function(){return{store:this.store}},t.prototype.render=function(){return s.Children.only(this.props.children)},t}(s.Component));t.default=h,h.propTypes={store:p.default.isRequired,children:l.default.element.isRequired},h.childContextTypes={store:p.default.isRequired}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function o(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function s(e){return e.displayName||e.name||\"Component\"}function u(e,t){try{return e.apply(t)}catch(e){return A.value=e,A}}function l(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},l=Boolean(e),f=e||E,d=void 0;d=\"function\"==typeof t?t:t?(0,g.default)(t):S;var v=n||C,y=r.pure,_=void 0===y||y,b=r.withRef,w=void 0!==b&&b,O=_&&v!==C,M=D++;return function(e){function t(e,t,n){var r=v(e,t,n);return r}var n=\"Connect(\"+s(e)+\")\",r=function(r){function s(e,t){i(this,s);var a=o(this,r.call(this,e,t));a.version=M,a.store=e.store||t.store,(0,k.default)(a.store,'Could not find \"store\" in either the context or props of \"'+n+'\". Either wrap the root component in a <Provider>, or explicitly pass \"store\" as a prop to \"'+n+'\".');var u=a.store.getState();return a.state={storeState:u},a.clearCache(),a}return a(s,r),s.prototype.shouldComponentUpdate=function(){return!_||this.haveOwnPropsChanged||this.hasStoreStateChanged},s.prototype.computeStateProps=function(e,t){if(!this.finalMapStateToProps)return this.configureFinalMapState(e,t);var n=e.getState(),r=this.doStatePropsDependOnOwnProps?this.finalMapStateToProps(n,t):this.finalMapStateToProps(n);return r},s.prototype.configureFinalMapState=function(e,t){var n=f(e.getState(),t),r=\"function\"==typeof n;return this.finalMapStateToProps=r?n:f,this.doStatePropsDependOnOwnProps=1!==this.finalMapStateToProps.length,r?this.computeStateProps(e,t):n},s.prototype.computeDispatchProps=function(e,t){if(!this.finalMapDispatchToProps)return this.configureFinalMapDispatch(e,t);var n=e.dispatch,r=this.doDispatchPropsDependOnOwnProps?this.finalMapDispatchToProps(n,t):this.finalMapDispatchToProps(n);return r},s.prototype.configureFinalMapDispatch=function(e,t){var n=d(e.dispatch,t),r=\"function\"==typeof n;return this.finalMapDispatchToProps=r?n:d,this.doDispatchPropsDependOnOwnProps=1!==this.finalMapDispatchToProps.length,r?this.computeDispatchProps(e,t):n},s.prototype.updateStatePropsIfNeeded=function(){var e=this.computeStateProps(this.store,this.props);return(!this.stateProps||!(0,m.default)(e,this.stateProps))&&(this.stateProps=e,!0)},s.prototype.updateDispatchPropsIfNeeded=function(){var e=this.computeDispatchProps(this.store,this.props);return(!this.dispatchProps||!(0,m.default)(e,this.dispatchProps))&&(this.dispatchProps=e,!0)},s.prototype.updateMergedPropsIfNeeded=function(){var e=t(this.stateProps,this.dispatchProps,this.props);return!(this.mergedProps&&O&&(0,m.default)(e,this.mergedProps))&&(this.mergedProps=e,!0)},s.prototype.isSubscribed=function(){return\"function\"==typeof this.unsubscribe},s.prototype.trySubscribe=function(){l&&!this.unsubscribe&&(this.unsubscribe=this.store.subscribe(this.handleChange.bind(this)),this.handleChange())},s.prototype.tryUnsubscribe=function(){this.unsubscribe&&(this.unsubscribe(),this.unsubscribe=null)},s.prototype.componentDidMount=function(){this.trySubscribe()},s.prototype.componentWillReceiveProps=function(e){_&&(0,m.default)(e,this.props)||(this.haveOwnPropsChanged=!0)},s.prototype.componentWillUnmount=function(){this.tryUnsubscribe(),this.clearCache()},s.prototype.clearCache=function(){this.dispatchProps=null,this.stateProps=null,this.mergedProps=null,this.haveOwnPropsChanged=!0,this.hasStoreStateChanged=!0,this.haveStatePropsBeenPrecalculated=!1,this.statePropsPrecalculationError=null,this.renderedElement=null,this.finalMapDispatchToProps=null,this.finalMapStateToProps=null},s.prototype.handleChange=function(){if(this.unsubscribe){var e=this.store.getState(),t=this.state.storeState;if(!_||t!==e){if(_&&!this.doStatePropsDependOnOwnProps){var n=u(this.updateStatePropsIfNeeded,this);if(!n)return;n===A&&(this.statePropsPrecalculationError=A.value),this.haveStatePropsBeenPrecalculated=!0}this.hasStoreStateChanged=!0,this.setState({storeState:e})}}},s.prototype.getWrappedInstance=function(){return(0,k.default)(w,\"To access the wrapped instance, you need to specify { withRef: true } as the fourth argument of the connect() call.\"),this.refs.wrappedInstance},s.prototype.render=function(){var t=this.haveOwnPropsChanged,n=this.hasStoreStateChanged,r=this.haveStatePropsBeenPrecalculated,i=this.statePropsPrecalculationError,o=this.renderedElement;if(this.haveOwnPropsChanged=!1,this.hasStoreStateChanged=!1,this.haveStatePropsBeenPrecalculated=!1,this.statePropsPrecalculationError=null,i)throw i;var a=!0,s=!0;_&&o&&(a=n||t&&this.doStatePropsDependOnOwnProps,s=t&&this.doDispatchPropsDependOnOwnProps);var u=!1,l=!1;r?u=!0:a&&(u=this.updateStatePropsIfNeeded()),s&&(l=this.updateDispatchPropsIfNeeded());return!(!!(u||l||t)&&this.updateMergedPropsIfNeeded())&&o?o:(this.renderedElement=w?(0,p.createElement)(e,c({},this.mergedProps,{ref:\"wrappedInstance\"})):(0,p.createElement)(e,this.mergedProps),this.renderedElement)},s}(p.Component);return r.displayName=n,r.WrappedComponent=e,r.contextTypes={store:h.default},r.propTypes={store:h.default},(0,x.default)(r,e)}}t.__esModule=!0;var c=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};t.default=l;var p=n(0),f=n(485),h=r(f),d=n(1106),m=r(d),v=n(1107),g=r(v),y=n(486),_=(r(y),n(232)),b=(r(_),n(773)),x=r(b),w=n(808),k=r(w),E=function(e){return{}},S=function(e){return{dispatch:e}},C=function(e,t,n){return c({},n,e,t)},A={value:null},D=0},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0,t.connect=t.Provider=void 0;var i=n(1103),o=r(i),a=n(1104),s=r(a);t.Provider=o.default,t.connect=s.default},function(e,t,n){\"use strict\";function r(e,t){if(e===t)return!0;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(var i=Object.prototype.hasOwnProperty,o=0;o<n.length;o++)if(!i.call(t,n[o])||e[n[o]]!==t[n[o]])return!1;return!0}t.__esModule=!0,t.default=r},function(e,t,n){\"use strict\";function r(e){return function(t){return(0,i.bindActionCreators)(e,t)}}t.__esModule=!0,t.default=r;var i=n(499)},function(e,t,n){var r=n(1111);e.exports=r},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function o(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=n(0),c=r(l),p=n(1),f=r(p),h=n(212),d=r(h),m=n(264),v=r(m),g=\"undefined\"!=typeof navigator?navigator.userAgent:\"Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.2 (KHTML, like Gecko) Safari/537.2\",y=function(e){function t(e){i(this,t);var n=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.state={size:n.props.size},n}return a(t,e),u(t,[{key:\"render\",value:function(){var e=this.props,t=e.children,n=e.className,r=e.prefixer,i=e.split,o=e.style,a=this.state.size,u=[\"Pane\",i,n],l=s({},o||{},{flex:1,position:\"relative\",outline:\"none\"});return void 0!==a&&(\"vertical\"===i?l.width=a:(l.height=a,l.display=\"flex\"),l.flex=\"none\"),c.default.createElement(\"div\",{className:u.join(\" \"),style:r.prefix(l)},t)}}]),t}(c.default.Component);y.propTypes={className:f.default.string.isRequired,children:f.default.node.isRequired,prefixer:f.default.instanceOf(d.default).isRequired,size:f.default.oneOfType([f.default.string,f.default.number]),split:f.default.oneOf([\"vertical\",\"horizontal\"]),style:v.default},y.defaultProps={prefixer:new d.default({userAgent:g})},t.default=y,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function o(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.RESIZER_DEFAULT_CLASSNAME=void 0;var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(0),l=r(u),c=n(1),p=r(c),f=n(212),h=r(f),d=n(264),m=r(d),v=\"undefined\"!=typeof navigator?navigator.userAgent:\"Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.2 (KHTML, like Gecko) Safari/537.2\",g=t.RESIZER_DEFAULT_CLASSNAME=\"Resizer\",y=function(e){function t(){return i(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),s(t,[{key:\"render\",value:function(){var e=this.props,t=e.className,n=e.onClick,r=e.onDoubleClick,i=e.onMouseDown,o=e.onTouchEnd,a=e.onTouchStart,s=e.prefixer,u=e.resizerClassName,c=e.split,p=e.style,f=[u,c,t];return l.default.createElement(\"span\",{className:f.join(\" \"),style:s.prefix(p)||{},onMouseDown:function(e){return i(e)},onTouchStart:function(e){e.preventDefault(),a(e)},onTouchEnd:function(e){e.preventDefault(),o(e)},onClick:function(e){n&&(e.preventDefault(),n(e))},onDoubleClick:function(e){r&&(e.preventDefault(),r(e))}})}}]),t}(l.default.Component);y.propTypes={className:p.default.string.isRequired,onClick:p.default.func,onDoubleClick:p.default.func,onMouseDown:p.default.func.isRequired,onTouchStart:p.default.func.isRequired,onTouchEnd:p.default.func.isRequired,prefixer:p.default.instanceOf(h.default).isRequired,split:p.default.oneOf([\"vertical\",\"horizontal\"]),style:m.default,resizerClassName:p.default.string.isRequired},y.defaultProps={prefixer:new h.default({userAgent:v}),resizerClassName:g},t.default=y},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function o(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function s(e,t){if(e.selection)e.selection.empty();else try{t.getSelection().removeAllRanges()}catch(e){}}Object.defineProperty(t,\"__esModule\",{value:!0});var u=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},l=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),c=n(0),p=r(c),f=n(1),h=r(f),d=n(462),m=r(d),v=n(212),g=r(v),y=n(264),_=r(y),b=n(1109),x=r(b),w=n(1110),k=r(w),E=\"undefined\"!=typeof navigator?navigator.userAgent:\"Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.2 (KHTML, like Gecko) Safari/537.2\",S=function(e){function t(){i(this,t);var e=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return e.onMouseDown=e.onMouseDown.bind(e),e.onTouchStart=e.onTouchStart.bind(e),e.onMouseMove=e.onMouseMove.bind(e),e.onTouchMove=e.onTouchMove.bind(e),e.onMouseUp=e.onMouseUp.bind(e),e.state={active:!1,resized:!1},e}return a(t,e),l(t,[{key:\"componentDidMount\",value:function(){this.setSize(this.props,this.state),document.addEventListener(\"mouseup\",this.onMouseUp),document.addEventListener(\"mousemove\",this.onMouseMove),document.addEventListener(\"touchmove\",this.onTouchMove)}},{key:\"componentWillReceiveProps\",value:function(e){this.setSize(e,this.state)}},{key:\"componentWillUnmount\",value:function(){document.removeEventListener(\"mouseup\",this.onMouseUp),document.removeEventListener(\"mousemove\",this.onMouseMove),document.removeEventListener(\"touchmove\",this.onTouchMove)}},{key:\"onMouseDown\",value:function(e){var t=u({},e,{touches:[{clientX:e.clientX,clientY:e.clientY}]});this.onTouchStart(t)}},{key:\"onTouchStart\",value:function(e){var t=this.props,n=t.allowResize,r=t.onDragStarted,i=t.split;if(n){s(document,window);var o=\"vertical\"===i?e.touches[0].clientX:e.touches[0].clientY;\"function\"==typeof r&&r(),this.setState({active:!0,position:o})}}},{key:\"onMouseMove\",value:function(e){var t=u({},e,{touches:[{clientX:e.clientX,clientY:e.clientY}]});this.onTouchMove(t)}},{key:\"onTouchMove\",value:function(e){var t=this.props,n=t.allowResize,r=t.maxSize,i=t.minSize,o=t.onChange,a=t.split,u=t.step,l=this.state,c=l.active,p=l.position;if(n&&c){s(document,window);var f=\"first\"===this.props.primary,h=f?this.pane1:this.pane2;if(h){var d=m.default.findDOMNode(h);if(d.getBoundingClientRect){var v=d.getBoundingClientRect().width,g=d.getBoundingClientRect().height,y=\"vertical\"===a?e.touches[0].clientX:e.touches[0].clientY,_=\"vertical\"===a?v:g,b=p-y;if(u){if(Math.abs(b)<u)return;b=~~(b/u)*u}var x=f?b:-b,w=r;if(void 0!==r&&r<=0){var k=this.splitPane;w=\"vertical\"===a?k.getBoundingClientRect().width+r:k.getBoundingClientRect().height+r}var E=_-x,S=p-b;E<i?E=i:void 0!==r&&E>w?E=w:this.setState({position:S,resized:!0}),o&&o(E),this.setState({draggedSize:E}),h.setState({size:E})}}}}},{key:\"onMouseUp\",value:function(){var e=this.props,t=e.allowResize,n=e.onDragFinished,r=this.state,i=r.active,o=r.draggedSize;t&&i&&(\"function\"==typeof n&&n(o),this.setState({active:!1}))}},{key:\"setSize\",value:function(e,t){var n=this.props.primary,r=\"first\"===n?this.pane1:this.pane2,i=void 0;r&&(i=e.size||t&&t.draggedSize||e.defaultSize||e.minSize,r.setState({size:i}),e.size!==t.draggedSize&&this.setState({draggedSize:i}))}},{key:\"render\",value:function(){var e=this,t=this.props,n=t.allowResize,r=t.children,i=t.className,o=t.defaultSize,a=t.minSize,s=t.onResizerClick,l=t.onResizerDoubleClick,c=t.paneClassName,f=t.pane1ClassName,h=t.pane2ClassName,d=t.paneStyle,m=t.pane1Style,v=t.pane2Style,g=t.primary,y=t.prefixer,_=t.resizerClassName,b=t.resizerStyle,E=t.size,S=t.split,C=t.style,A=n?\"\":\"disabled\",D=_?_+\" \"+w.RESIZER_DEFAULT_CLASSNAME:_,O=u({},{display:\"flex\",flex:1,height:\"100%\",position:\"absolute\",outline:\"none\",overflow:\"hidden\",MozUserSelect:\"text\",WebkitUserSelect:\"text\",msUserSelect:\"text\",userSelect:\"text\"},C||{});\"vertical\"===S?u(O,{flexDirection:\"row\",left:0,right:0}):u(O,{bottom:0,flexDirection:\"column\",minHeight:\"100%\",top:0,width:\"100%\"});var M=[\"SplitPane\",i,S,A],T=y.prefix(u({},d||{},m||{})),P=y.prefix(u({},d||{},v||{})),I=[\"Pane1\",c,f].join(\" \"),R=[\"Pane2\",c,h].join(\" \");return p.default.createElement(\"div\",{className:M.join(\" \"),ref:function(t){e.splitPane=t},style:y.prefix(O)},p.default.createElement(x.default,{className:I,key:\"pane1\",ref:function(t){e.pane1=t},size:\"first\"===g?E||o||a:void 0,split:S,style:T},r[0]),p.default.createElement(k.default,{className:A,onClick:s,onDoubleClick:l,onMouseDown:this.onMouseDown,onTouchStart:this.onTouchStart,onTouchEnd:this.onMouseUp,key:\"resizer\",ref:function(t){e.resizer=t},resizerClassName:D,split:S,style:b||{}}),p.default.createElement(x.default,{className:R,key:\"pane2\",ref:function(t){e.pane2=t},size:\"second\"===g?E||o||a:void 0,split:S,style:P},r[1]))}}]),t}(p.default.Component);S.propTypes={allowResize:h.default.bool,children:h.default.arrayOf(h.default.node).isRequired,className:h.default.string,primary:h.default.oneOf([\"first\",\"second\"]),minSize:h.default.oneOfType([h.default.string,h.default.number]),maxSize:h.default.oneOfType([h.default.string,h.default.number]),defaultSize:h.default.oneOfType([h.default.string,h.default.number]),size:h.default.oneOfType([h.default.string,h.default.number]),split:h.default.oneOf([\"vertical\",\"horizontal\"]),onDragStarted:h.default.func,onDragFinished:h.default.func,onChange:h.default.func,onResizerClick:h.default.func,onResizerDoubleClick:h.default.func,prefixer:h.default.instanceOf(g.default).isRequired,style:_.default,resizerStyle:_.default,paneClassName:h.default.string,pane1ClassName:h.default.string,pane2ClassName:h.default.string,paneStyle:_.default,pane1Style:_.default,pane2Style:_.default,resizerClassName:h.default.string,step:h.default.number},S.defaultProps={allowResize:!0,minSize:50,prefixer:new g.default({userAgent:E}),primary:\"first\",split:\"vertical\",paneClassName:\"\",pane1ClassName:\"\",pane2ClassName:\"\"},t.default=S,e.exports=t.default},function(e,t){e.exports=[\"alignContent\",\"MozAlignContent\",\"WebkitAlignContent\",\"MSAlignContent\",\"OAlignContent\",\"alignItems\",\"MozAlignItems\",\"WebkitAlignItems\",\"MSAlignItems\",\"OAlignItems\",\"alignSelf\",\"MozAlignSelf\",\"WebkitAlignSelf\",\"MSAlignSelf\",\"OAlignSelf\",\"all\",\"MozAll\",\"WebkitAll\",\"MSAll\",\"OAll\",\"animation\",\"MozAnimation\",\"WebkitAnimation\",\"MSAnimation\",\"OAnimation\",\"animationDelay\",\"MozAnimationDelay\",\"WebkitAnimationDelay\",\"MSAnimationDelay\",\"OAnimationDelay\",\"animationDirection\",\"MozAnimationDirection\",\"WebkitAnimationDirection\",\"MSAnimationDirection\",\"OAnimationDirection\",\"animationDuration\",\"MozAnimationDuration\",\"WebkitAnimationDuration\",\"MSAnimationDuration\",\"OAnimationDuration\",\"animationFillMode\",\"MozAnimationFillMode\",\"WebkitAnimationFillMode\",\"MSAnimationFillMode\",\"OAnimationFillMode\",\"animationIterationCount\",\"MozAnimationIterationCount\",\"WebkitAnimationIterationCount\",\"MSAnimationIterationCount\",\"OAnimationIterationCount\",\"animationName\",\"MozAnimationName\",\"WebkitAnimationName\",\"MSAnimationName\",\"OAnimationName\",\"animationPlayState\",\"MozAnimationPlayState\",\"WebkitAnimationPlayState\",\"MSAnimationPlayState\",\"OAnimationPlayState\",\"animationTimingFunction\",\"MozAnimationTimingFunction\",\"WebkitAnimationTimingFunction\",\"MSAnimationTimingFunction\",\"OAnimationTimingFunction\",\"backfaceVisibility\",\"MozBackfaceVisibility\",\"WebkitBackfaceVisibility\",\"MSBackfaceVisibility\",\"OBackfaceVisibility\",\"background\",\"MozBackground\",\"WebkitBackground\",\"MSBackground\",\"OBackground\",\"backgroundAttachment\",\"MozBackgroundAttachment\",\"WebkitBackgroundAttachment\",\"MSBackgroundAttachment\",\"OBackgroundAttachment\",\"backgroundBlendMode\",\"MozBackgroundBlendMode\",\"WebkitBackgroundBlendMode\",\"MSBackgroundBlendMode\",\"OBackgroundBlendMode\",\"backgroundClip\",\"MozBackgroundClip\",\"WebkitBackgroundClip\",\"MSBackgroundClip\",\"OBackgroundClip\",\"backgroundColor\",\"MozBackgroundColor\",\"WebkitBackgroundColor\",\"MSBackgroundColor\",\"OBackgroundColor\",\"backgroundImage\",\"MozBackgroundImage\",\"WebkitBackgroundImage\",\"MSBackgroundImage\",\"OBackgroundImage\",\"backgroundOrigin\",\"MozBackgroundOrigin\",\"WebkitBackgroundOrigin\",\"MSBackgroundOrigin\",\"OBackgroundOrigin\",\"backgroundPosition\",\"MozBackgroundPosition\",\"WebkitBackgroundPosition\",\"MSBackgroundPosition\",\"OBackgroundPosition\",\"backgroundRepeat\",\"MozBackgroundRepeat\",\"WebkitBackgroundRepeat\",\"MSBackgroundRepeat\",\"OBackgroundRepeat\",\"backgroundSize\",\"MozBackgroundSize\",\"WebkitBackgroundSize\",\"MSBackgroundSize\",\"OBackgroundSize\",\"blockSize\",\"MozBlockSize\",\"WebkitBlockSize\",\"MSBlockSize\",\"OBlockSize\",\"border\",\"MozBorder\",\"WebkitBorder\",\"MSBorder\",\"OBorder\",\"borderBlockEnd\",\"MozBorderBlockEnd\",\"WebkitBorderBlockEnd\",\"MSBorderBlockEnd\",\"OBorderBlockEnd\",\"borderBlockEndColor\",\"MozBorderBlockEndColor\",\"WebkitBorderBlockEndColor\",\"MSBorderBlockEndColor\",\"OBorderBlockEndColor\",\"borderBlockEndStyle\",\"MozBorderBlockEndStyle\",\"WebkitBorderBlockEndStyle\",\"MSBorderBlockEndStyle\",\"OBorderBlockEndStyle\",\"borderBlockEndWidth\",\"MozBorderBlockEndWidth\",\"WebkitBorderBlockEndWidth\",\"MSBorderBlockEndWidth\",\"OBorderBlockEndWidth\",\"borderBlockStart\",\"MozBorderBlockStart\",\"WebkitBorderBlockStart\",\"MSBorderBlockStart\",\"OBorderBlockStart\",\"borderBlockStartColor\",\"MozBorderBlockStartColor\",\"WebkitBorderBlockStartColor\",\"MSBorderBlockStartColor\",\"OBorderBlockStartColor\",\"borderBlockStartStyle\",\"MozBorderBlockStartStyle\",\"WebkitBorderBlockStartStyle\",\"MSBorderBlockStartStyle\",\"OBorderBlockStartStyle\",\"borderBlockStartWidth\",\"MozBorderBlockStartWidth\",\"WebkitBorderBlockStartWidth\",\"MSBorderBlockStartWidth\",\"OBorderBlockStartWidth\",\"borderBottom\",\"MozBorderBottom\",\"WebkitBorderBottom\",\"MSBorderBottom\",\"OBorderBottom\",\"borderBottomColor\",\"MozBorderBottomColor\",\"WebkitBorderBottomColor\",\"MSBorderBottomColor\",\"OBorderBottomColor\",\"borderBottomLeftRadius\",\"MozBorderBottomLeftRadius\",\"WebkitBorderBottomLeftRadius\",\"MSBorderBottomLeftRadius\",\"OBorderBottomLeftRadius\",\"borderBottomRightRadius\",\"MozBorderBottomRightRadius\",\"WebkitBorderBottomRightRadius\",\"MSBorderBottomRightRadius\",\"OBorderBottomRightRadius\",\"borderBottomStyle\",\"MozBorderBottomStyle\",\"WebkitBorderBottomStyle\",\"MSBorderBottomStyle\",\"OBorderBottomStyle\",\"borderBottomWidth\",\"MozBorderBottomWidth\",\"WebkitBorderBottomWidth\",\"MSBorderBottomWidth\",\"OBorderBottomWidth\",\"borderCollapse\",\"MozBorderCollapse\",\"WebkitBorderCollapse\",\"MSBorderCollapse\",\"OBorderCollapse\",\"borderColor\",\"MozBorderColor\",\"WebkitBorderColor\",\"MSBorderColor\",\"OBorderColor\",\"borderImage\",\"MozBorderImage\",\"WebkitBorderImage\",\"MSBorderImage\",\"OBorderImage\",\"borderImageOutset\",\"MozBorderImageOutset\",\"WebkitBorderImageOutset\",\"MSBorderImageOutset\",\"OBorderImageOutset\",\"borderImageRepeat\",\"MozBorderImageRepeat\",\"WebkitBorderImageRepeat\",\"MSBorderImageRepeat\",\"OBorderImageRepeat\",\"borderImageSlice\",\"MozBorderImageSlice\",\"WebkitBorderImageSlice\",\"MSBorderImageSlice\",\"OBorderImageSlice\",\"borderImageSource\",\"MozBorderImageSource\",\"WebkitBorderImageSource\",\"MSBorderImageSource\",\"OBorderImageSource\",\"borderImageWidth\",\"MozBorderImageWidth\",\"WebkitBorderImageWidth\",\"MSBorderImageWidth\",\"OBorderImageWidth\",\"borderInlineEnd\",\"MozBorderInlineEnd\",\"WebkitBorderInlineEnd\",\"MSBorderInlineEnd\",\"OBorderInlineEnd\",\"borderInlineEndColor\",\"MozBorderInlineEndColor\",\"WebkitBorderInlineEndColor\",\"MSBorderInlineEndColor\",\"OBorderInlineEndColor\",\"borderInlineEndStyle\",\"MozBorderInlineEndStyle\",\"WebkitBorderInlineEndStyle\",\"MSBorderInlineEndStyle\",\"OBorderInlineEndStyle\",\"borderInlineEndWidth\",\"MozBorderInlineEndWidth\",\"WebkitBorderInlineEndWidth\",\"MSBorderInlineEndWidth\",\"OBorderInlineEndWidth\",\"borderInlineStart\",\"MozBorderInlineStart\",\"WebkitBorderInlineStart\",\"MSBorderInlineStart\",\"OBorderInlineStart\",\"borderInlineStartColor\",\"MozBorderInlineStartColor\",\"WebkitBorderInlineStartColor\",\"MSBorderInlineStartColor\",\"OBorderInlineStartColor\",\"borderInlineStartStyle\",\"MozBorderInlineStartStyle\",\"WebkitBorderInlineStartStyle\",\"MSBorderInlineStartStyle\",\"OBorderInlineStartStyle\",\"borderInlineStartWidth\",\"MozBorderInlineStartWidth\",\"WebkitBorderInlineStartWidth\",\"MSBorderInlineStartWidth\",\"OBorderInlineStartWidth\",\"borderLeft\",\"MozBorderLeft\",\"WebkitBorderLeft\",\"MSBorderLeft\",\"OBorderLeft\",\"borderLeftColor\",\"MozBorderLeftColor\",\"WebkitBorderLeftColor\",\"MSBorderLeftColor\",\"OBorderLeftColor\",\"borderLeftStyle\",\"MozBorderLeftStyle\",\"WebkitBorderLeftStyle\",\"MSBorderLeftStyle\",\"OBorderLeftStyle\",\"borderLeftWidth\",\"MozBorderLeftWidth\",\"WebkitBorderLeftWidth\",\"MSBorderLeftWidth\",\"OBorderLeftWidth\",\"borderRadius\",\"MozBorderRadius\",\"WebkitBorderRadius\",\"MSBorderRadius\",\"OBorderRadius\",\"borderRight\",\"MozBorderRight\",\"WebkitBorderRight\",\"MSBorderRight\",\"OBorderRight\",\"borderRightColor\",\"MozBorderRightColor\",\"WebkitBorderRightColor\",\"MSBorderRightColor\",\"OBorderRightColor\",\"borderRightStyle\",\"MozBorderRightStyle\",\"WebkitBorderRightStyle\",\"MSBorderRightStyle\",\"OBorderRightStyle\",\"borderRightWidth\",\"MozBorderRightWidth\",\"WebkitBorderRightWidth\",\"MSBorderRightWidth\",\"OBorderRightWidth\",\"borderSpacing\",\"MozBorderSpacing\",\"WebkitBorderSpacing\",\"MSBorderSpacing\",\"OBorderSpacing\",\"borderStyle\",\"MozBorderStyle\",\"WebkitBorderStyle\",\"MSBorderStyle\",\"OBorderStyle\",\"borderTop\",\"MozBorderTop\",\"WebkitBorderTop\",\"MSBorderTop\",\"OBorderTop\",\"borderTopColor\",\"MozBorderTopColor\",\"WebkitBorderTopColor\",\"MSBorderTopColor\",\"OBorderTopColor\",\"borderTopLeftRadius\",\"MozBorderTopLeftRadius\",\"WebkitBorderTopLeftRadius\",\"MSBorderTopLeftRadius\",\"OBorderTopLeftRadius\",\"borderTopRightRadius\",\"MozBorderTopRightRadius\",\"WebkitBorderTopRightRadius\",\"MSBorderTopRightRadius\",\"OBorderTopRightRadius\",\"borderTopStyle\",\"MozBorderTopStyle\",\"WebkitBorderTopStyle\",\"MSBorderTopStyle\",\"OBorderTopStyle\",\"borderTopWidth\",\"MozBorderTopWidth\",\"WebkitBorderTopWidth\",\"MSBorderTopWidth\",\"OBorderTopWidth\",\"borderWidth\",\"MozBorderWidth\",\"WebkitBorderWidth\",\"MSBorderWidth\",\"OBorderWidth\",\"bottom\",\"MozBottom\",\"WebkitBottom\",\"MSBottom\",\"OBottom\",\"boxDecorationBreak\",\"MozBoxDecorationBreak\",\"WebkitBoxDecorationBreak\",\"MSBoxDecorationBreak\",\"OBoxDecorationBreak\",\"boxShadow\",\"MozBoxShadow\",\"WebkitBoxShadow\",\"MSBoxShadow\",\"OBoxShadow\",\"boxSizing\",\"MozBoxSizing\",\"WebkitBoxSizing\",\"MSBoxSizing\",\"OBoxSizing\",\"breakAfter\",\"MozBreakAfter\",\"WebkitBreakAfter\",\"MSBreakAfter\",\"OBreakAfter\",\"breakBefore\",\"MozBreakBefore\",\"WebkitBreakBefore\",\"MSBreakBefore\",\"OBreakBefore\",\"breakInside\",\"MozBreakInside\",\"WebkitBreakInside\",\"MSBreakInside\",\"OBreakInside\",\"captionSide\",\"MozCaptionSide\",\"WebkitCaptionSide\",\"MSCaptionSide\",\"OCaptionSide\",\"caretColor\",\"MozCaretColor\",\"WebkitCaretColor\",\"MSCaretColor\",\"OCaretColor\",\"ch\",\"MozCh\",\"WebkitCh\",\"MSCh\",\"OCh\",\"clear\",\"MozClear\",\"WebkitClear\",\"MSClear\",\"OClear\",\"clip\",\"MozClip\",\"WebkitClip\",\"MSClip\",\"OClip\",\"clipPath\",\"MozClipPath\",\"WebkitClipPath\",\"MSClipPath\",\"OClipPath\",\"cm\",\"MozCm\",\"WebkitCm\",\"MSCm\",\"OCm\",\"color\",\"MozColor\",\"WebkitColor\",\"MSColor\",\"OColor\",\"columnCount\",\"MozColumnCount\",\"WebkitColumnCount\",\"MSColumnCount\",\"OColumnCount\",\"columnFill\",\"MozColumnFill\",\"WebkitColumnFill\",\"MSColumnFill\",\"OColumnFill\",\"columnGap\",\"MozColumnGap\",\"WebkitColumnGap\",\"MSColumnGap\",\"OColumnGap\",\"columnRule\",\"MozColumnRule\",\"WebkitColumnRule\",\"MSColumnRule\",\"OColumnRule\",\"columnRuleColor\",\"MozColumnRuleColor\",\"WebkitColumnRuleColor\",\"MSColumnRuleColor\",\"OColumnRuleColor\",\"columnRuleStyle\",\"MozColumnRuleStyle\",\"WebkitColumnRuleStyle\",\"MSColumnRuleStyle\",\"OColumnRuleStyle\",\"columnRuleWidth\",\"MozColumnRuleWidth\",\"WebkitColumnRuleWidth\",\"MSColumnRuleWidth\",\"OColumnRuleWidth\",\"columnSpan\",\"MozColumnSpan\",\"WebkitColumnSpan\",\"MSColumnSpan\",\"OColumnSpan\",\"columnWidth\",\"MozColumnWidth\",\"WebkitColumnWidth\",\"MSColumnWidth\",\"OColumnWidth\",\"columns\",\"MozColumns\",\"WebkitColumns\",\"MSColumns\",\"OColumns\",\"content\",\"MozContent\",\"WebkitContent\",\"MSContent\",\"OContent\",\"counterIncrement\",\"MozCounterIncrement\",\"WebkitCounterIncrement\",\"MSCounterIncrement\",\"OCounterIncrement\",\"counterReset\",\"MozCounterReset\",\"WebkitCounterReset\",\"MSCounterReset\",\"OCounterReset\",\"cursor\",\"MozCursor\",\"WebkitCursor\",\"MSCursor\",\"OCursor\",\"deg\",\"MozDeg\",\"WebkitDeg\",\"MSDeg\",\"ODeg\",\"direction\",\"MozDirection\",\"WebkitDirection\",\"MSDirection\",\"ODirection\",\"display\",\"MozDisplay\",\"WebkitDisplay\",\"MSDisplay\",\"ODisplay\",\"dpcm\",\"MozDpcm\",\"WebkitDpcm\",\"MSDpcm\",\"ODpcm\",\"dpi\",\"MozDpi\",\"WebkitDpi\",\"MSDpi\",\"ODpi\",\"dppx\",\"MozDppx\",\"WebkitDppx\",\"MSDppx\",\"ODppx\",\"em\",\"MozEm\",\"WebkitEm\",\"MSEm\",\"OEm\",\"emptyCells\",\"MozEmptyCells\",\"WebkitEmptyCells\",\"MSEmptyCells\",\"OEmptyCells\",\"ex\",\"MozEx\",\"WebkitEx\",\"MSEx\",\"OEx\",\"filter\",\"MozFilter\",\"WebkitFilter\",\"MSFilter\",\"OFilter\",\"flexBasis\",\"MozFlexBasis\",\"WebkitFlexBasis\",\"MSFlexBasis\",\"OFlexBasis\",\"flexDirection\",\"MozFlexDirection\",\"WebkitFlexDirection\",\"MSFlexDirection\",\"OFlexDirection\",\"flexFlow\",\"MozFlexFlow\",\"WebkitFlexFlow\",\"MSFlexFlow\",\"OFlexFlow\",\"flexGrow\",\"MozFlexGrow\",\"WebkitFlexGrow\",\"MSFlexGrow\",\"OFlexGrow\",\"flexShrink\",\"MozFlexShrink\",\"WebkitFlexShrink\",\"MSFlexShrink\",\"OFlexShrink\",\"flexWrap\",\"MozFlexWrap\",\"WebkitFlexWrap\",\"MSFlexWrap\",\"OFlexWrap\",\"float\",\"MozFloat\",\"WebkitFloat\",\"MSFloat\",\"OFloat\",\"font\",\"MozFont\",\"WebkitFont\",\"MSFont\",\"OFont\",\"fontFamily\",\"MozFontFamily\",\"WebkitFontFamily\",\"MSFontFamily\",\"OFontFamily\",\"fontFeatureSettings\",\"MozFontFeatureSettings\",\"WebkitFontFeatureSettings\",\"MSFontFeatureSettings\",\"OFontFeatureSettings\",\"fontKerning\",\"MozFontKerning\",\"WebkitFontKerning\",\"MSFontKerning\",\"OFontKerning\",\"fontLanguageOverride\",\"MozFontLanguageOverride\",\"WebkitFontLanguageOverride\",\"MSFontLanguageOverride\",\"OFontLanguageOverride\",\"fontSize\",\"MozFontSize\",\"WebkitFontSize\",\"MSFontSize\",\"OFontSize\",\"fontSizeAdjust\",\"MozFontSizeAdjust\",\"WebkitFontSizeAdjust\",\"MSFontSizeAdjust\",\"OFontSizeAdjust\",\"fontStretch\",\"MozFontStretch\",\"WebkitFontStretch\",\"MSFontStretch\",\"OFontStretch\",\"fontStyle\",\"MozFontStyle\",\"WebkitFontStyle\",\"MSFontStyle\",\"OFontStyle\",\"fontSynthesis\",\"MozFontSynthesis\",\"WebkitFontSynthesis\",\"MSFontSynthesis\",\"OFontSynthesis\",\"fontVariant\",\"MozFontVariant\",\"WebkitFontVariant\",\"MSFontVariant\",\"OFontVariant\",\"fontVariantAlternates\",\"MozFontVariantAlternates\",\"WebkitFontVariantAlternates\",\"MSFontVariantAlternates\",\"OFontVariantAlternates\",\"fontVariantCaps\",\"MozFontVariantCaps\",\"WebkitFontVariantCaps\",\"MSFontVariantCaps\",\"OFontVariantCaps\",\"fontVariantEastAsian\",\"MozFontVariantEastAsian\",\"WebkitFontVariantEastAsian\",\"MSFontVariantEastAsian\",\"OFontVariantEastAsian\",\"fontVariantLigatures\",\"MozFontVariantLigatures\",\"WebkitFontVariantLigatures\",\"MSFontVariantLigatures\",\"OFontVariantLigatures\",\"fontVariantNumeric\",\"MozFontVariantNumeric\",\"WebkitFontVariantNumeric\",\"MSFontVariantNumeric\",\"OFontVariantNumeric\",\"fontVariantPosition\",\"MozFontVariantPosition\",\"WebkitFontVariantPosition\",\"MSFontVariantPosition\",\"OFontVariantPosition\",\"fontWeight\",\"MozFontWeight\",\"WebkitFontWeight\",\"MSFontWeight\",\"OFontWeight\",\"fr\",\"MozFr\",\"WebkitFr\",\"MSFr\",\"OFr\",\"grad\",\"MozGrad\",\"WebkitGrad\",\"MSGrad\",\"OGrad\",\"grid\",\"MozGrid\",\"WebkitGrid\",\"MSGrid\",\"OGrid\",\"gridArea\",\"MozGridArea\",\"WebkitGridArea\",\"MSGridArea\",\"OGridArea\",\"gridAutoColumns\",\"MozGridAutoColumns\",\"WebkitGridAutoColumns\",\"MSGridAutoColumns\",\"OGridAutoColumns\",\"gridAutoFlow\",\"MozGridAutoFlow\",\"WebkitGridAutoFlow\",\"MSGridAutoFlow\",\"OGridAutoFlow\",\"gridAutoRows\",\"MozGridAutoRows\",\"WebkitGridAutoRows\",\"MSGridAutoRows\",\"OGridAutoRows\",\"gridColumn\",\"MozGridColumn\",\"WebkitGridColumn\",\"MSGridColumn\",\"OGridColumn\",\"gridColumnEnd\",\"MozGridColumnEnd\",\"WebkitGridColumnEnd\",\"MSGridColumnEnd\",\"OGridColumnEnd\",\"gridColumnGap\",\"MozGridColumnGap\",\"WebkitGridColumnGap\",\"MSGridColumnGap\",\"OGridColumnGap\",\"gridColumnStart\",\"MozGridColumnStart\",\"WebkitGridColumnStart\",\"MSGridColumnStart\",\"OGridColumnStart\",\"gridGap\",\"MozGridGap\",\"WebkitGridGap\",\"MSGridGap\",\"OGridGap\",\"gridRow\",\"MozGridRow\",\"WebkitGridRow\",\"MSGridRow\",\"OGridRow\",\"gridRowEnd\",\"MozGridRowEnd\",\"WebkitGridRowEnd\",\"MSGridRowEnd\",\"OGridRowEnd\",\"gridRowGap\",\"MozGridRowGap\",\"WebkitGridRowGap\",\"MSGridRowGap\",\"OGridRowGap\",\"gridRowStart\",\"MozGridRowStart\",\"WebkitGridRowStart\",\"MSGridRowStart\",\"OGridRowStart\",\"gridTemplate\",\"MozGridTemplate\",\"WebkitGridTemplate\",\"MSGridTemplate\",\"OGridTemplate\",\"gridTemplateAreas\",\"MozGridTemplateAreas\",\"WebkitGridTemplateAreas\",\"MSGridTemplateAreas\",\"OGridTemplateAreas\",\"gridTemplateColumns\",\"MozGridTemplateColumns\",\"WebkitGridTemplateColumns\",\"MSGridTemplateColumns\",\"OGridTemplateColumns\",\"gridTemplateRows\",\"MozGridTemplateRows\",\"WebkitGridTemplateRows\",\"MSGridTemplateRows\",\"OGridTemplateRows\",\"height\",\"MozHeight\",\"WebkitHeight\",\"MSHeight\",\"OHeight\",\"hyphens\",\"MozHyphens\",\"WebkitHyphens\",\"MSHyphens\",\"OHyphens\",\"hz\",\"MozHz\",\"WebkitHz\",\"MSHz\",\"OHz\",\"imageOrientation\",\"MozImageOrientation\",\"WebkitImageOrientation\",\"MSImageOrientation\",\"OImageOrientation\",\"imageRendering\",\"MozImageRendering\",\"WebkitImageRendering\",\"MSImageRendering\",\"OImageRendering\",\"imageResolution\",\"MozImageResolution\",\"WebkitImageResolution\",\"MSImageResolution\",\"OImageResolution\",\"imeMode\",\"MozImeMode\",\"WebkitImeMode\",\"MSImeMode\",\"OImeMode\",\"in\",\"MozIn\",\"WebkitIn\",\"MSIn\",\"OIn\",\"inherit\",\"MozInherit\",\"WebkitInherit\",\"MSInherit\",\"OInherit\",\"initial\",\"MozInitial\",\"WebkitInitial\",\"MSInitial\",\"OInitial\",\"inlineSize\",\"MozInlineSize\",\"WebkitInlineSize\",\"MSInlineSize\",\"OInlineSize\",\"isolation\",\"MozIsolation\",\"WebkitIsolation\",\"MSIsolation\",\"OIsolation\",\"justifyContent\",\"MozJustifyContent\",\"WebkitJustifyContent\",\"MSJustifyContent\",\"OJustifyContent\",\"khz\",\"MozKhz\",\"WebkitKhz\",\"MSKhz\",\"OKhz\",\"left\",\"MozLeft\",\"WebkitLeft\",\"MSLeft\",\"OLeft\",\"letterSpacing\",\"MozLetterSpacing\",\"WebkitLetterSpacing\",\"MSLetterSpacing\",\"OLetterSpacing\",\"lineBreak\",\"MozLineBreak\",\"WebkitLineBreak\",\"MSLineBreak\",\"OLineBreak\",\"lineHeight\",\"MozLineHeight\",\"WebkitLineHeight\",\"MSLineHeight\",\"OLineHeight\",\"listStyle\",\"MozListStyle\",\"WebkitListStyle\",\"MSListStyle\",\"OListStyle\",\"listStyleImage\",\"MozListStyleImage\",\"WebkitListStyleImage\",\"MSListStyleImage\",\"OListStyleImage\",\"listStylePosition\",\"MozListStylePosition\",\"WebkitListStylePosition\",\"MSListStylePosition\",\"OListStylePosition\",\"listStyleType\",\"MozListStyleType\",\"WebkitListStyleType\",\"MSListStyleType\",\"OListStyleType\",\"margin\",\"MozMargin\",\"WebkitMargin\",\"MSMargin\",\"OMargin\",\"marginBlockEnd\",\"MozMarginBlockEnd\",\"WebkitMarginBlockEnd\",\"MSMarginBlockEnd\",\"OMarginBlockEnd\",\"marginBlockStart\",\"MozMarginBlockStart\",\"WebkitMarginBlockStart\",\"MSMarginBlockStart\",\"OMarginBlockStart\",\"marginBottom\",\"MozMarginBottom\",\"WebkitMarginBottom\",\"MSMarginBottom\",\"OMarginBottom\",\"marginInlineEnd\",\"MozMarginInlineEnd\",\"WebkitMarginInlineEnd\",\"MSMarginInlineEnd\",\"OMarginInlineEnd\",\"marginInlineStart\",\"MozMarginInlineStart\",\"WebkitMarginInlineStart\",\"MSMarginInlineStart\",\"OMarginInlineStart\",\"marginLeft\",\"MozMarginLeft\",\"WebkitMarginLeft\",\"MSMarginLeft\",\"OMarginLeft\",\"marginRight\",\"MozMarginRight\",\"WebkitMarginRight\",\"MSMarginRight\",\"OMarginRight\",\"marginTop\",\"MozMarginTop\",\"WebkitMarginTop\",\"MSMarginTop\",\"OMarginTop\",\"mask\",\"MozMask\",\"WebkitMask\",\"MSMask\",\"OMask\",\"maskClip\",\"MozMaskClip\",\"WebkitMaskClip\",\"MSMaskClip\",\"OMaskClip\",\"maskComposite\",\"MozMaskComposite\",\"WebkitMaskComposite\",\"MSMaskComposite\",\"OMaskComposite\",\"maskImage\",\"MozMaskImage\",\"WebkitMaskImage\",\"MSMaskImage\",\"OMaskImage\",\"maskMode\",\"MozMaskMode\",\"WebkitMaskMode\",\"MSMaskMode\",\"OMaskMode\",\"maskOrigin\",\"MozMaskOrigin\",\"WebkitMaskOrigin\",\"MSMaskOrigin\",\"OMaskOrigin\",\"maskPosition\",\"MozMaskPosition\",\"WebkitMaskPosition\",\"MSMaskPosition\",\"OMaskPosition\",\"maskRepeat\",\"MozMaskRepeat\",\"WebkitMaskRepeat\",\"MSMaskRepeat\",\"OMaskRepeat\",\"maskSize\",\"MozMaskSize\",\"WebkitMaskSize\",\"MSMaskSize\",\"OMaskSize\",\"maskType\",\"MozMaskType\",\"WebkitMaskType\",\"MSMaskType\",\"OMaskType\",\"maxHeight\",\"MozMaxHeight\",\"WebkitMaxHeight\",\"MSMaxHeight\",\"OMaxHeight\",\"maxWidth\",\"MozMaxWidth\",\"WebkitMaxWidth\",\"MSMaxWidth\",\"OMaxWidth\",\"minBlockSize\",\"MozMinBlockSize\",\"WebkitMinBlockSize\",\"MSMinBlockSize\",\"OMinBlockSize\",\"minHeight\",\"MozMinHeight\",\"WebkitMinHeight\",\"MSMinHeight\",\"OMinHeight\",\"minInlineSize\",\"MozMinInlineSize\",\"WebkitMinInlineSize\",\"MSMinInlineSize\",\"OMinInlineSize\",\"minWidth\",\"MozMinWidth\",\"WebkitMinWidth\",\"MSMinWidth\",\"OMinWidth\",\"mixBlendMode\",\"MozMixBlendMode\",\"WebkitMixBlendMode\",\"MSMixBlendMode\",\"OMixBlendMode\",\"mm\",\"MozMm\",\"WebkitMm\",\"MSMm\",\"OMm\",\"ms\",\"MozMs\",\"WebkitMs\",\"MSMs\",\"OMs\",\"objectFit\",\"MozObjectFit\",\"WebkitObjectFit\",\"MSObjectFit\",\"OObjectFit\",\"objectPosition\",\"MozObjectPosition\",\"WebkitObjectPosition\",\"MSObjectPosition\",\"OObjectPosition\",\"offsetBlockEnd\",\"MozOffsetBlockEnd\",\"WebkitOffsetBlockEnd\",\"MSOffsetBlockEnd\",\"OOffsetBlockEnd\",\"offsetBlockStart\",\"MozOffsetBlockStart\",\"WebkitOffsetBlockStart\",\"MSOffsetBlockStart\",\"OOffsetBlockStart\",\"offsetInlineEnd\",\"MozOffsetInlineEnd\",\"WebkitOffsetInlineEnd\",\"MSOffsetInlineEnd\",\"OOffsetInlineEnd\",\"offsetInlineStart\",\"MozOffsetInlineStart\",\"WebkitOffsetInlineStart\",\"MSOffsetInlineStart\",\"OOffsetInlineStart\",\"opacity\",\"MozOpacity\",\"WebkitOpacity\",\"MSOpacity\",\"OOpacity\",\"order\",\"MozOrder\",\"WebkitOrder\",\"MSOrder\",\"OOrder\",\"orphans\",\"MozOrphans\",\"WebkitOrphans\",\"MSOrphans\",\"OOrphans\",\"outline\",\"MozOutline\",\"WebkitOutline\",\"MSOutline\",\"OOutline\",\"outlineColor\",\"MozOutlineColor\",\"WebkitOutlineColor\",\"MSOutlineColor\",\"OOutlineColor\",\"outlineOffset\",\"MozOutlineOffset\",\"WebkitOutlineOffset\",\"MSOutlineOffset\",\"OOutlineOffset\",\"outlineStyle\",\"MozOutlineStyle\",\"WebkitOutlineStyle\",\"MSOutlineStyle\",\"OOutlineStyle\",\"outlineWidth\",\"MozOutlineWidth\",\"WebkitOutlineWidth\",\"MSOutlineWidth\",\"OOutlineWidth\",\"overflow\",\"MozOverflow\",\"WebkitOverflow\",\"MSOverflow\",\"OOverflow\",\"overflowWrap\",\"MozOverflowWrap\",\"WebkitOverflowWrap\",\"MSOverflowWrap\",\"OOverflowWrap\",\"overflowX\",\"MozOverflowX\",\"WebkitOverflowX\",\"MSOverflowX\",\"OOverflowX\",\"overflowY\",\"MozOverflowY\",\"WebkitOverflowY\",\"MSOverflowY\",\"OOverflowY\",\"padding\",\"MozPadding\",\"WebkitPadding\",\"MSPadding\",\"OPadding\",\"paddingBlockEnd\",\"MozPaddingBlockEnd\",\"WebkitPaddingBlockEnd\",\"MSPaddingBlockEnd\",\"OPaddingBlockEnd\",\"paddingBlockStart\",\"MozPaddingBlockStart\",\"WebkitPaddingBlockStart\",\"MSPaddingBlockStart\",\"OPaddingBlockStart\",\"paddingBottom\",\"MozPaddingBottom\",\"WebkitPaddingBottom\",\"MSPaddingBottom\",\"OPaddingBottom\",\"paddingInlineEnd\",\"MozPaddingInlineEnd\",\"WebkitPaddingInlineEnd\",\"MSPaddingInlineEnd\",\"OPaddingInlineEnd\",\"paddingInlineStart\",\"MozPaddingInlineStart\",\"WebkitPaddingInlineStart\",\"MSPaddingInlineStart\",\"OPaddingInlineStart\",\"paddingLeft\",\"MozPaddingLeft\",\"WebkitPaddingLeft\",\"MSPaddingLeft\",\"OPaddingLeft\",\"paddingRight\",\"MozPaddingRight\",\"WebkitPaddingRight\",\"MSPaddingRight\",\"OPaddingRight\",\"paddingTop\",\"MozPaddingTop\",\"WebkitPaddingTop\",\"MSPaddingTop\",\"OPaddingTop\",\"pageBreakAfter\",\"MozPageBreakAfter\",\"WebkitPageBreakAfter\",\"MSPageBreakAfter\",\"OPageBreakAfter\",\"pageBreakBefore\",\"MozPageBreakBefore\",\"WebkitPageBreakBefore\",\"MSPageBreakBefore\",\"OPageBreakBefore\",\"pageBreakInside\",\"MozPageBreakInside\",\"WebkitPageBreakInside\",\"MSPageBreakInside\",\"OPageBreakInside\",\"pc\",\"MozPc\",\"WebkitPc\",\"MSPc\",\"OPc\",\"perspective\",\"MozPerspective\",\"WebkitPerspective\",\"MSPerspective\",\"OPerspective\",\"perspectiveOrigin\",\"MozPerspectiveOrigin\",\"WebkitPerspectiveOrigin\",\"MSPerspectiveOrigin\",\"OPerspectiveOrigin\",\"pointerEvents\",\"MozPointerEvents\",\"WebkitPointerEvents\",\"MSPointerEvents\",\"OPointerEvents\",\"position\",\"MozPosition\",\"WebkitPosition\",\"MSPosition\",\"OPosition\",\"pt\",\"MozPt\",\"WebkitPt\",\"MSPt\",\"OPt\",\"px\",\"MozPx\",\"WebkitPx\",\"MSPx\",\"OPx\",\"q\",\"MozQ\",\"WebkitQ\",\"MSQ\",\"OQ\",\"quotes\",\"MozQuotes\",\"WebkitQuotes\",\"MSQuotes\",\"OQuotes\",\"rad\",\"MozRad\",\"WebkitRad\",\"MSRad\",\"ORad\",\"rem\",\"MozRem\",\"WebkitRem\",\"MSRem\",\"ORem\",\"resize\",\"MozResize\",\"WebkitResize\",\"MSResize\",\"OResize\",\"revert\",\"MozRevert\",\"WebkitRevert\",\"MSRevert\",\"ORevert\",\"right\",\"MozRight\",\"WebkitRight\",\"MSRight\",\"ORight\",\"rubyAlign\",\"MozRubyAlign\",\"WebkitRubyAlign\",\"MSRubyAlign\",\"ORubyAlign\",\"rubyMerge\",\"MozRubyMerge\",\"WebkitRubyMerge\",\"MSRubyMerge\",\"ORubyMerge\",\"rubyPosition\",\"MozRubyPosition\",\"WebkitRubyPosition\",\"MSRubyPosition\",\"ORubyPosition\",\"s\",\"MozS\",\"WebkitS\",\"MSS\",\"OS\",\"scrollBehavior\",\"MozScrollBehavior\",\"WebkitScrollBehavior\",\"MSScrollBehavior\",\"OScrollBehavior\",\"scrollSnapCoordinate\",\"MozScrollSnapCoordinate\",\"WebkitScrollSnapCoordinate\",\"MSScrollSnapCoordinate\",\"OScrollSnapCoordinate\",\"scrollSnapDestination\",\"MozScrollSnapDestination\",\"WebkitScrollSnapDestination\",\"MSScrollSnapDestination\",\"OScrollSnapDestination\",\"scrollSnapType\",\"MozScrollSnapType\",\"WebkitScrollSnapType\",\"MSScrollSnapType\",\"OScrollSnapType\",\"shapeImageThreshold\",\"MozShapeImageThreshold\",\"WebkitShapeImageThreshold\",\"MSShapeImageThreshold\",\"OShapeImageThreshold\",\"shapeMargin\",\"MozShapeMargin\",\"WebkitShapeMargin\",\"MSShapeMargin\",\"OShapeMargin\",\"shapeOutside\",\"MozShapeOutside\",\"WebkitShapeOutside\",\"MSShapeOutside\",\"OShapeOutside\",\"tabSize\",\"MozTabSize\",\"WebkitTabSize\",\"MSTabSize\",\"OTabSize\",\"tableLayout\",\"MozTableLayout\",\"WebkitTableLayout\",\"MSTableLayout\",\"OTableLayout\",\"textAlign\",\"MozTextAlign\",\"WebkitTextAlign\",\"MSTextAlign\",\"OTextAlign\",\"textAlignLast\",\"MozTextAlignLast\",\"WebkitTextAlignLast\",\"MSTextAlignLast\",\"OTextAlignLast\",\"textCombineUpright\",\"MozTextCombineUpright\",\"WebkitTextCombineUpright\",\"MSTextCombineUpright\",\"OTextCombineUpright\",\"textDecoration\",\"MozTextDecoration\",\"WebkitTextDecoration\",\"MSTextDecoration\",\"OTextDecoration\",\"textDecorationColor\",\"MozTextDecorationColor\",\"WebkitTextDecorationColor\",\"MSTextDecorationColor\",\"OTextDecorationColor\",\"textDecorationLine\",\"MozTextDecorationLine\",\"WebkitTextDecorationLine\",\"MSTextDecorationLine\",\"OTextDecorationLine\",\"textDecorationStyle\",\"MozTextDecorationStyle\",\"WebkitTextDecorationStyle\",\"MSTextDecorationStyle\",\"OTextDecorationStyle\",\"textEmphasis\",\"MozTextEmphasis\",\"WebkitTextEmphasis\",\"MSTextEmphasis\",\"OTextEmphasis\",\"textEmphasisColor\",\"MozTextEmphasisColor\",\"WebkitTextEmphasisColor\",\"MSTextEmphasisColor\",\"OTextEmphasisColor\",\"textEmphasisPosition\",\"MozTextEmphasisPosition\",\"WebkitTextEmphasisPosition\",\"MSTextEmphasisPosition\",\"OTextEmphasisPosition\",\"textEmphasisStyle\",\"MozTextEmphasisStyle\",\"WebkitTextEmphasisStyle\",\"MSTextEmphasisStyle\",\"OTextEmphasisStyle\",\"textIndent\",\"MozTextIndent\",\"WebkitTextIndent\",\"MSTextIndent\",\"OTextIndent\",\"textOrientation\",\"MozTextOrientation\",\"WebkitTextOrientation\",\"MSTextOrientation\",\"OTextOrientation\",\"textOverflow\",\"MozTextOverflow\",\"WebkitTextOverflow\",\"MSTextOverflow\",\"OTextOverflow\",\"textRendering\",\"MozTextRendering\",\"WebkitTextRendering\",\"MSTextRendering\",\"OTextRendering\",\"textShadow\",\"MozTextShadow\",\"WebkitTextShadow\",\"MSTextShadow\",\"OTextShadow\",\"textTransform\",\"MozTextTransform\",\"WebkitTextTransform\",\"MSTextTransform\",\"OTextTransform\",\"textUnderlinePosition\",\"MozTextUnderlinePosition\",\"WebkitTextUnderlinePosition\",\"MSTextUnderlinePosition\",\"OTextUnderlinePosition\",\"top\",\"MozTop\",\"WebkitTop\",\"MSTop\",\"OTop\",\"touchAction\",\"MozTouchAction\",\"WebkitTouchAction\",\"MSTouchAction\",\"OTouchAction\",\"transform\",\"MozTransform\",\"WebkitTransform\",\"msTransform\",\"OTransform\",\"transformBox\",\"MozTransformBox\",\"WebkitTransformBox\",\"MSTransformBox\",\"OTransformBox\",\"transformOrigin\",\"MozTransformOrigin\",\"WebkitTransformOrigin\",\"MSTransformOrigin\",\"OTransformOrigin\",\"transformStyle\",\"MozTransformStyle\",\"WebkitTransformStyle\",\"MSTransformStyle\",\"OTransformStyle\",\"transition\",\"MozTransition\",\"WebkitTransition\",\"MSTransition\",\"OTransition\",\"transitionDelay\",\"MozTransitionDelay\",\"WebkitTransitionDelay\",\"MSTransitionDelay\",\"OTransitionDelay\",\"transitionDuration\",\"MozTransitionDuration\",\"WebkitTransitionDuration\",\"MSTransitionDuration\",\"OTransitionDuration\",\"transitionProperty\",\"MozTransitionProperty\",\"WebkitTransitionProperty\",\"MSTransitionProperty\",\"OTransitionProperty\",\"transitionTimingFunction\",\"MozTransitionTimingFunction\",\"WebkitTransitionTimingFunction\",\"MSTransitionTimingFunction\",\"OTransitionTimingFunction\",\"turn\",\"MozTurn\",\"WebkitTurn\",\"MSTurn\",\"OTurn\",\"unicodeBidi\",\"MozUnicodeBidi\",\"WebkitUnicodeBidi\",\"MSUnicodeBidi\",\"OUnicodeBidi\",\"unset\",\"MozUnset\",\"WebkitUnset\",\"MSUnset\",\"OUnset\",\"verticalAlign\",\"MozVerticalAlign\",\"WebkitVerticalAlign\",\"MSVerticalAlign\",\"OVerticalAlign\",\"vh\",\"MozVh\",\"WebkitVh\",\"MSVh\",\"OVh\",\"visibility\",\"MozVisibility\",\"WebkitVisibility\",\"MSVisibility\",\"OVisibility\",\"vmax\",\"MozVmax\",\"WebkitVmax\",\"MSVmax\",\"OVmax\",\"vmin\",\"MozVmin\",\"WebkitVmin\",\"MSVmin\",\"OVmin\",\"vw\",\"MozVw\",\"WebkitVw\",\"MSVw\",\"OVw\",\"whiteSpace\",\"MozWhiteSpace\",\"WebkitWhiteSpace\",\"MSWhiteSpace\",\"OWhiteSpace\",\"widows\",\"MozWidows\",\"WebkitWidows\",\"MSWidows\",\"OWidows\",\"width\",\"MozWidth\",\"WebkitWidth\",\"MSWidth\",\"OWidth\",\"willChange\",\"MozWillChange\",\"WebkitWillChange\",\"MSWillChange\",\"OWillChange\",\"wordBreak\",\"MozWordBreak\",\"WebkitWordBreak\",\"MSWordBreak\",\"OWordBreak\",\"wordSpacing\",\"MozWordSpacing\",\"WebkitWordSpacing\",\"MSWordSpacing\",\"OWordSpacing\",\"wordWrap\",\"MozWordWrap\",\"WebkitWordWrap\",\"MSWordWrap\",\"OWordWrap\",\"writingMode\",\"MozWritingMode\",\"WebkitWritingMode\",\"MSWritingMode\",\"OWritingMode\",\"zIndex\",\"MozZIndex\",\"WebkitZIndex\",\"MSZIndex\",\"OZIndex\",\"fontSize\",\"MozFontSize\",\"WebkitFontSize\",\"MSFontSize\",\"OFontSize\",\"flex\",\"MozFlex\",\"WebkitFlex\",\"MSFlex\",\"OFlex\",\"fr\",\"MozFr\",\"WebkitFr\",\"MSFr\",\"OFr\",\"overflowScrolling\",\"MozOverflowScrolling\",\"WebkitOverflowScrolling\",\"MSOverflowScrolling\",\"OOverflowScrolling\",\"userSelect\",\"MozUserSelect\",\"WebkitUserSelect\",\"MSUserSelect\",\"OUserSelect\"]},function(e,t,n){\"use strict\";function r(e){var t={\"=\":\"=0\",\":\":\"=2\"};return\"$\"+(\"\"+e).replace(/[=:]/g,function(e){return t[e]})}function i(e){var t=/(=0|=2)/g,n={\"=0\":\"=\",\"=2\":\":\"};return(\"\"+(\".\"===e[0]&&\"$\"===e[1]?e.substring(2):e.substring(1))).replace(t,function(e){return n[e]})}var o={escape:r,unescape:i};e.exports=o},function(e,t,n){\"use strict\";var r=n(125),i=(n(8),function(e){var t=this;if(t.instancePool.length){var n=t.instancePool.pop();return t.call(n,e),n}return new t(e)}),o=function(e,t){var n=this;if(n.instancePool.length){var r=n.instancePool.pop();return n.call(r,e,t),r}return new n(e,t)},a=function(e,t,n){var r=this;if(r.instancePool.length){var i=r.instancePool.pop();return r.call(i,e,t,n),i}return new r(e,t,n)},s=function(e,t,n,r){var i=this;if(i.instancePool.length){var o=i.instancePool.pop();return i.call(o,e,t,n,r),o}return new i(e,t,n,r)},u=function(e){var t=this;e instanceof t||r(\"25\"),e.destructor(),t.instancePool.length<t.poolSize&&t.instancePool.push(e)},l=i,c=function(e,t){var n=e;return n.instancePool=[],n.getPooled=t||l,n.poolSize||(n.poolSize=10),n.release=u,n},p={addPoolingTo:c,oneArgumentPooler:i,twoArgumentPooler:o,threeArgumentPooler:a,fourArgumentPooler:s};e.exports=p},function(e,t,n){\"use strict\";function r(e){return(\"\"+e).replace(b,\"$&/\")}function i(e,t){this.func=e,this.context=t,this.count=0}function o(e,t,n){var r=e.func,i=e.context;r.call(i,t,e.count++)}function a(e,t,n){if(null==e)return e;var r=i.getPooled(t,n);g(e,o,r),i.release(r)}function s(e,t,n,r){this.result=e,this.keyPrefix=t,this.func=n,this.context=r,this.count=0}function u(e,t,n){var i=e.result,o=e.keyPrefix,a=e.func,s=e.context,u=a.call(s,t,e.count++);Array.isArray(u)?l(u,i,n,v.thatReturnsArgument):null!=u&&(m.isValidElement(u)&&(u=m.cloneAndReplaceKey(u,o+(!u.key||t&&t.key===u.key?\"\":r(u.key)+\"/\")+n)),i.push(u))}function l(e,t,n,i,o){var a=\"\";null!=n&&(a=r(n)+\"/\");var l=s.getPooled(t,a,i,o);g(e,u,l),s.release(l)}function c(e,t,n){if(null==e)return e;var r=[];return l(e,r,null,t,n),r}function p(e,t,n){return null}function f(e,t){return g(e,p,null)}function h(e){var t=[];return l(e,t,null,v.thatReturnsArgument),t}var d=n(1114),m=n(93),v=n(33),g=n(1124),y=d.twoArgumentPooler,_=d.fourArgumentPooler,b=/\\/+/g;i.prototype.destructor=function(){this.func=null,this.context=null,this.count=0},d.addPoolingTo(i,y),s.prototype.destructor=function(){this.result=null,this.keyPrefix=null,this.func=null,this.context=null,this.count=0},d.addPoolingTo(s,_);var x={forEach:a,map:c,mapIntoWithKeyPrefixInternal:l,count:f,toArray:h};e.exports=x},function(e,t,n){\"use strict\";var r=n(93),i=r.createFactory,o={a:i(\"a\"),abbr:i(\"abbr\"),address:i(\"address\"),area:i(\"area\"),article:i(\"article\"),aside:i(\"aside\"),audio:i(\"audio\"),b:i(\"b\"),base:i(\"base\"),bdi:i(\"bdi\"),bdo:i(\"bdo\"),big:i(\"big\"),blockquote:i(\"blockquote\"),body:i(\"body\"),br:i(\"br\"),button:i(\"button\"),canvas:i(\"canvas\"),caption:i(\"caption\"),cite:i(\"cite\"),code:i(\"code\"),col:i(\"col\"),colgroup:i(\"colgroup\"),data:i(\"data\"),datalist:i(\"datalist\"),dd:i(\"dd\"),del:i(\"del\"),details:i(\"details\"),dfn:i(\"dfn\"),dialog:i(\"dialog\"),div:i(\"div\"),dl:i(\"dl\"),dt:i(\"dt\"),em:i(\"em\"),embed:i(\"embed\"),fieldset:i(\"fieldset\"),figcaption:i(\"figcaption\"),figure:i(\"figure\"),footer:i(\"footer\"),form:i(\"form\"),h1:i(\"h1\"),h2:i(\"h2\"),h3:i(\"h3\"),h4:i(\"h4\"),h5:i(\"h5\"),h6:i(\"h6\"),head:i(\"head\"),header:i(\"header\"),hgroup:i(\"hgroup\"),hr:i(\"hr\"),html:i(\"html\"),i:i(\"i\"),iframe:i(\"iframe\"),img:i(\"img\"),input:i(\"input\"),ins:i(\"ins\"),kbd:i(\"kbd\"),keygen:i(\"keygen\"),label:i(\"label\"),legend:i(\"legend\"),li:i(\"li\"),link:i(\"link\"),main:i(\"main\"),map:i(\"map\"),mark:i(\"mark\"),menu:i(\"menu\"),menuitem:i(\"menuitem\"),meta:i(\"meta\"),meter:i(\"meter\"),nav:i(\"nav\"),noscript:i(\"noscript\"),object:i(\"object\"),ol:i(\"ol\"),optgroup:i(\"optgroup\"),option:i(\"option\"),output:i(\"output\"),p:i(\"p\"),param:i(\"param\"),picture:i(\"picture\"),pre:i(\"pre\"),progress:i(\"progress\"),q:i(\"q\"),rp:i(\"rp\"),rt:i(\"rt\"),ruby:i(\"ruby\"),s:i(\"s\"),samp:i(\"samp\"),script:i(\"script\"),section:i(\"section\"),select:i(\"select\"),small:i(\"small\"),source:i(\"source\"),span:i(\"span\"),strong:i(\"strong\"),style:i(\"style\"),sub:i(\"sub\"),summary:i(\"summary\"),sup:i(\"sup\"),table:i(\"table\"),tbody:i(\"tbody\"),td:i(\"td\"),textarea:i(\"textarea\"),tfoot:i(\"tfoot\"),th:i(\"th\"),thead:i(\"thead\"),time:i(\"time\"),title:i(\"title\"),tr:i(\"tr\"),track:i(\"track\"),u:i(\"u\"),ul:i(\"ul\"),var:i(\"var\"),video:i(\"video\"),wbr:i(\"wbr\"),circle:i(\"circle\"),clipPath:i(\"clipPath\"),defs:i(\"defs\"),ellipse:i(\"ellipse\"),g:i(\"g\"),image:i(\"image\"),line:i(\"line\"),linearGradient:i(\"linearGradient\"),mask:i(\"mask\"),path:i(\"path\"),pattern:i(\"pattern\"),polygon:i(\"polygon\"),polyline:i(\"polyline\"),radialGradient:i(\"radialGradient\"),rect:i(\"rect\"),stop:i(\"stop\"),svg:i(\"svg\"),text:i(\"text\"),tspan:i(\"tspan\")};e.exports=o},function(e,t,n){\"use strict\";var r=n(93),i=r.isValidElement,o=n(456);e.exports=o(i)},function(e,t,n){\"use strict\";e.exports=\"15.6.2\"},function(e,t,n){\"use strict\";var r=n(487),i=r.Component,o=n(93),a=o.isValidElement,s=n(490),u=n(707);e.exports=u(i,a,s)},function(e,t,n){\"use strict\";function r(e){var t=e&&(i&&e[i]||e[o]);if(\"function\"==typeof t)return t}var i=\"function\"==typeof Symbol&&Symbol.iterator,o=\"@@iterator\";e.exports=r},function(e,t,n){\"use strict\";function r(){return i++}var i=1;e.exports=r},function(e,t,n){\"use strict\";var r=function(){};e.exports=r},function(e,t,n){\"use strict\";function r(e){return o.isValidElement(e)||i(\"143\"),e}var i=n(125),o=n(93);n(8);e.exports=r},function(e,t,n){\"use strict\";function r(e,t){return e&&\"object\"==typeof e&&null!=e.key?l.escape(e.key):t.toString(36)}function i(e,t,n,o){var f=typeof e;if(\"undefined\"!==f&&\"boolean\"!==f||(e=null),null===e||\"string\"===f||\"number\"===f||\"object\"===f&&e.$$typeof===s)return n(o,e,\"\"===t?c+r(e,0):t),1;var h,d,m=0,v=\"\"===t?c:t+p;if(Array.isArray(e))for(var g=0;g<e.length;g++)h=e[g],d=v+r(h,g),m+=i(h,d,n,o);else{var y=u(e);if(y){var _,b=y.call(e);if(y!==e.entries)for(var x=0;!(_=b.next()).done;)h=_.value,d=v+r(h,x++),m+=i(h,d,n,o);else for(;!(_=b.next()).done;){var w=_.value;w&&(h=w[1],d=v+l.escape(w[0])+p+r(h,0),m+=i(h,d,n,o))}}else if(\"object\"===f){var k=\"\",E=String(e);a(\"31\",\"[object Object]\"===E?\"object with keys {\"+Object.keys(e).join(\", \")+\"}\":E,k)}}return m}function o(e,t,n){return null==e?0:i(e,\"\",t,n)}var a=n(125),s=(n(53),n(489)),u=n(1120),l=(n(8),n(1113)),c=(n(10),\".\"),p=\":\";e.exports=o},function(e,t,n){e.exports=n(71)},function(e,t,n){\"use strict\";function r(e){if(!(this instanceof r))return new r(e);i.call(this,e)}e.exports=r;var i=n(493),o=n(111);o.inherits=n(44),o.inherits(r,i),r.prototype._transform=function(e,t,n){n(null,e)}},function(e,t,n){\"use strict\";function r(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t,n){e.copy(t,n)}var o=n(168).Buffer,a=n(1228);e.exports=function(){function e(){r(this,e),this.head=null,this.tail=null,this.length=0}return e.prototype.push=function(e){var t={data:e,next:null};this.length>0?this.tail.next=t:this.head=t,this.tail=t,++this.length},e.prototype.unshift=function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length},e.prototype.shift=function(){if(0!==this.length){var e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}},e.prototype.clear=function(){this.head=this.tail=null,this.length=0},e.prototype.join=function(e){if(0===this.length)return\"\";for(var t=this.head,n=\"\"+t.data;t=t.next;)n+=e+t.data;return n},e.prototype.concat=function(e){if(0===this.length)return o.alloc(0);if(1===this.length)return this.head.data;for(var t=o.allocUnsafe(e>>>0),n=this.head,r=0;n;)i(n.data,t,r),r+=n.data.length,n=n.next;return t},e}(),a&&a.inspect&&a.inspect.custom&&(e.exports.prototype[a.inspect.custom]=function(){var e=a.inspect({length:this.length});return this.constructor.name+\" \"+e})},function(e,t,n){e.exports=n(266).PassThrough},function(e,t,n){e.exports=n(266).Transform},function(e,t,n){e.exports=n(265)},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(7),i=function(e){return e&&e.__esModule?e:{default:e}}(r),o=n(1134);t.default=function(e){var t=Object.keys(e);return function(){var n=arguments.length<=0||void 0===arguments[0]?i.default.Map():arguments[0],r=arguments[1];return n.withMutations(function(n){t.forEach(function(t){var i=e[t],a=n.get(t),s=i(a,r);(0,o.validateNextState)(s,t,r),n.set(t,s)})})}},e.exports=t.default},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.combineReducers=void 0;var r=n(1131),i=function(e){return e&&e.__esModule?e:{default:e}}(r);t.combineReducers=i.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(7),o=r(i),a=n(496),s=r(a);t.default=function(e,t,n){var r=Object.keys(t);if(!r.length)return\"Store does not have a valid reducer. Make sure the argument passed to combineReducers is an object whose values are reducers.\";var i=(0,s.default)(n);if(!o.default.Iterable.isIterable(e))return\"The \"+i+' is of unexpected type. Expected argument to be an instance of Immutable.Iterable with the following properties: \"'+r.join('\", \"')+'\".';var a=e.keySeq().toArray().filter(function(e){return!t.hasOwnProperty(e)});return a.length>0?\"Unexpected \"+(1===a.length?\"property\":\"properties\")+' \"'+a.join('\", \"')+'\" found in '+i+'. Expected to find one of the known reducer property names instead: \"'+r.join('\", \"')+'\". Unexpected properties will be ignored.':null},e.exports=t.default},function(e,t,n){\"use strict\";\"create index\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.validateNextState=t.getUnexpectedInvocationParameterMessage=t.getStateName=void 0;var i=n(496),o=r(i),a=n(1133),s=r(a),u=n(1135),l=r(u);t.getStateName=o.default,t.getUnexpectedInvocationParameterMessage=s.default,t.validateNextState=l.default},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e,t,n){if(void 0===e)throw new Error('Reducer \"'+t+'\" returned undefined when handling \"'+n.type+'\" action. To ignore an action, you must explicitly return the previous state.');return null},e.exports=t.default},function(e,t,n){\"use strict\";function r(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return function(e){return function(n,r,a){var s=e(n,r,a),u=s.dispatch,l=[],c={getState:s.getState,dispatch:function(e){return u(e)}};return l=t.map(function(e){return e(c)}),u=i.a.apply(void 0,l)(s.dispatch),o({},s,{dispatch:u})}}}t.a=r;var i=n(497),o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}},function(e,t,n){\"use strict\";function r(e,t){return function(){return t(e.apply(void 0,arguments))}}function i(e,t){if(\"function\"==typeof e)return r(e,t);if(\"object\"!=typeof e||null===e)throw new Error(\"bindActionCreators expected an object or a function, instead received \"+(null===e?\"null\":typeof e)+'. Did you write \"import ActionCreators from\" instead of \"import * as ActionCreators from\"?');for(var n=Object.keys(e),i={},o=0;o<n.length;o++){var a=n[o],s=e[a];\"function\"==typeof s&&(i[a]=r(s,t))}return i}t.a=i},function(e,t,n){\"use strict\";function r(e,t){var n=t&&t.type;return\"Given action \"+(n&&'\"'+n.toString()+'\"'||\"an action\")+', reducer \"'+e+'\" returned undefined. To ignore an action, you must explicitly return the previous state. If you want this reducer to hold no value, you can return null instead of undefined.'}function i(e){Object.keys(e).forEach(function(t){var n=e[t];if(void 0===n(void 0,{type:a.b.INIT}))throw new Error('Reducer \"'+t+\"\\\" returned undefined during initialization. If the state passed to the reducer is undefined, you must explicitly return the initial state. The initial state may not be undefined. If you don't want to set a value for this reducer, you can use null instead of undefined.\");if(void 0===n(void 0,{type:\"@@redux/PROBE_UNKNOWN_ACTION_\"+Math.random().toString(36).substring(7).split(\"\").join(\".\")}))throw new Error('Reducer \"'+t+\"\\\" returned undefined when probed with a random type. Don't try to handle \"+a.b.INIT+' or other actions in \"redux/*\" namespace. They are considered private. Instead, you must return the current state for any unknown actions, unless it is undefined, in which case you must return the initial state, regardless of the action type. The initial state may not be undefined, but can be null.')})}function o(e){for(var t=Object.keys(e),n={},o=0;o<t.length;o++){var a=t[o];\"function\"==typeof e[a]&&(n[a]=e[a])}var s=Object.keys(n),u=void 0;try{i(n)}catch(e){u=e}return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments[1];if(u)throw u;for(var i=!1,o={},a=0;a<s.length;a++){var l=s[a],c=n[l],p=e[l],f=c(p,t);if(void 0===f){var h=r(l,t);throw new Error(h)}o[l]=f,i=i||f!==p}return i?o:e}}t.a=o;var a=n(498);n(400),n(500)},function(e,t,n){var r=function(){return this}()||Function(\"return this\")(),i=r.regeneratorRuntime&&Object.getOwnPropertyNames(r).indexOf(\"regeneratorRuntime\")>=0,o=i&&r.regeneratorRuntime;if(r.regeneratorRuntime=void 0,e.exports=n(1140),i)r.regeneratorRuntime=o;else try{delete r.regeneratorRuntime}catch(e){r.regeneratorRuntime=void 0}},function(e,t){!function(t){\"use strict\";function n(e,t,n,r){var o=t&&t.prototype instanceof i?t:i,a=Object.create(o.prototype),s=new h(r||[]);return a._invoke=l(e,n,s),a}function r(e,t,n){try{return{type:\"normal\",arg:e.call(t,n)}}catch(e){return{type:\"throw\",arg:e}}}function i(){}function o(){}function a(){}function s(e){[\"next\",\"throw\",\"return\"].forEach(function(t){e[t]=function(e){return this._invoke(t,e)}})}function u(e){function t(n,i,o,a){var s=r(e[n],e,i);if(\"throw\"!==s.type){var u=s.arg,l=u.value;return l&&\"object\"==typeof l&&y.call(l,\"__await\")?Promise.resolve(l.__await).then(function(e){t(\"next\",e,o,a)},function(e){t(\"throw\",e,o,a)}):Promise.resolve(l).then(function(e){u.value=e,o(u)},a)}a(s.arg)}function n(e,n){function r(){return new Promise(function(r,i){t(e,n,r,i)})}return i=i?i.then(r,r):r()}var i;this._invoke=n}function l(e,t,n){var i=S;return function(o,a){if(i===A)throw new Error(\"Generator is already running\");if(i===D){if(\"throw\"===o)throw a;return m()}for(n.method=o,n.arg=a;;){var s=n.delegate;if(s){var u=c(s,n);if(u){if(u===O)continue;return u}}if(\"next\"===n.method)n.sent=n._sent=n.arg;else if(\"throw\"===n.method){if(i===S)throw i=D,n.arg;n.dispatchException(n.arg)}else\"return\"===n.method&&n.abrupt(\"return\",n.arg);i=A;var l=r(e,t,n);if(\"normal\"===l.type){if(i=n.done?D:C,l.arg===O)continue;return{value:l.arg,done:n.done}}\"throw\"===l.type&&(i=D,n.method=\"throw\",n.arg=l.arg)}}}function c(e,t){var n=e.iterator[t.method];if(n===v){if(t.delegate=null,\"throw\"===t.method){if(e.iterator.return&&(t.method=\"return\",t.arg=v,c(e,t),\"throw\"===t.method))return O;t.method=\"throw\",t.arg=new TypeError(\"The iterator does not provide a 'throw' method\")}return O}var i=r(n,e.iterator,t.arg);if(\"throw\"===i.type)return t.method=\"throw\",t.arg=i.arg,t.delegate=null,O;var o=i.arg;return o?o.done?(t[e.resultName]=o.value,t.next=e.nextLoc,\"return\"!==t.method&&(t.method=\"next\",t.arg=v),t.delegate=null,O):o:(t.method=\"throw\",t.arg=new TypeError(\"iterator result is not an object\"),t.delegate=null,O)}function p(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function f(e){var t=e.completion||{};t.type=\"normal\",delete t.arg,e.completion=t}function h(e){this.tryEntries=[{tryLoc:\"root\"}],e.forEach(p,this),this.reset(!0)}function d(e){if(e){var t=e[b];if(t)return t.call(e);if(\"function\"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,r=function t(){for(;++n<e.length;)if(y.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=v,t.done=!0,t};return r.next=r}}return{next:m}}function m(){return{value:v,done:!0}}var v,g=Object.prototype,y=g.hasOwnProperty,_=\"function\"==typeof Symbol?Symbol:{},b=_.iterator||\"@@iterator\",x=_.asyncIterator||\"@@asyncIterator\",w=_.toStringTag||\"@@toStringTag\",k=\"object\"==typeof e,E=t.regeneratorRuntime;if(E)return void(k&&(e.exports=E));E=t.regeneratorRuntime=k?e.exports:{},E.wrap=n;var S=\"suspendedStart\",C=\"suspendedYield\",A=\"executing\",D=\"completed\",O={},M={};M[b]=function(){return this};var T=Object.getPrototypeOf,P=T&&T(T(d([])));P&&P!==g&&y.call(P,b)&&(M=P);var I=a.prototype=i.prototype=Object.create(M);o.prototype=I.constructor=a,a.constructor=o,a[w]=o.displayName=\"GeneratorFunction\",E.isGeneratorFunction=function(e){var t=\"function\"==typeof e&&e.constructor;return!!t&&(t===o||\"GeneratorFunction\"===(t.displayName||t.name))},E.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,a):(e.__proto__=a,w in e||(e[w]=\"GeneratorFunction\")),e.prototype=Object.create(I),e},E.awrap=function(e){return{__await:e}},s(u.prototype),u.prototype[x]=function(){return this},E.AsyncIterator=u,E.async=function(e,t,r,i){var o=new u(n(e,t,r,i));return E.isGeneratorFunction(t)?o:o.next().then(function(e){return e.done?e.value:o.next()})},s(I),I[w]=\"Generator\",I[b]=function(){return this},I.toString=function(){return\"[object Generator]\"},E.keys=function(e){var t=[];for(var n in e)t.push(n);return t.reverse(),function n(){for(;t.length;){var r=t.pop();if(r in e)return n.value=r,n.done=!1,n}return n.done=!0,n}},E.values=d,h.prototype={constructor:h,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=v,this.done=!1,this.delegate=null,this.method=\"next\",this.arg=v,this.tryEntries.forEach(f),!e)for(var t in this)\"t\"===t.charAt(0)&&y.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=v)},stop:function(){this.done=!0;var e=this.tryEntries[0],t=e.completion;if(\"throw\"===t.type)throw t.arg;return this.rval},dispatchException:function(e){function t(t,r){return o.type=\"throw\",o.arg=e,n.next=t,r&&(n.method=\"next\",n.arg=v),!!r}if(this.done)throw e;for(var n=this,r=this.tryEntries.length-1;r>=0;--r){var i=this.tryEntries[r],o=i.completion;if(\"root\"===i.tryLoc)return t(\"end\");if(i.tryLoc<=this.prev){var a=y.call(i,\"catchLoc\"),s=y.call(i,\"finallyLoc\");if(a&&s){if(this.prev<i.catchLoc)return t(i.catchLoc,!0);if(this.prev<i.finallyLoc)return t(i.finallyLoc)}else if(a){if(this.prev<i.catchLoc)return t(i.catchLoc,!0)}else{if(!s)throw new Error(\"try statement without catch or finally\");if(this.prev<i.finallyLoc)return t(i.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var r=this.tryEntries[n];if(r.tryLoc<=this.prev&&y.call(r,\"finallyLoc\")&&this.prev<r.finallyLoc){var i=r;break}}i&&(\"break\"===e||\"continue\"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var o=i?i.completion:{};return o.type=e,o.arg=t,i?(this.method=\"next\",this.next=i.finallyLoc,O):this.complete(o)},complete:function(e,t){if(\"throw\"===e.type)throw e.arg;return\"break\"===e.type||\"continue\"===e.type?this.next=e.arg:\"return\"===e.type?(this.rval=this.arg=e.arg,this.method=\"return\",this.next=\"end\"):\"normal\"===e.type&&t&&(this.next=t),O},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),f(n),O}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if(\"throw\"===r.type){var i=r.arg;f(n)}return i}}throw new Error(\"illegal catch attempt\")},delegateYield:function(e,t,n){return this.delegate={iterator:d(e),resultName:t,nextLoc:n},\"next\"===this.method&&(this.arg=v),O}}}(function(){return this}()||Function(\"return this\")())},function(e,t,n){\"use strict\";e.exports=n(1148)},function(e,t,n){\"use strict\";var r={};[\"article\",\"aside\",\"button\",\"blockquote\",\"body\",\"canvas\",\"caption\",\"col\",\"colgroup\",\"dd\",\"div\",\"dl\",\"dt\",\"embed\",\"fieldset\",\"figcaption\",\"figure\",\"footer\",\"form\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"header\",\"hgroup\",\"hr\",\"iframe\",\"li\",\"map\",\"object\",\"ol\",\"output\",\"p\",\"pre\",\"progress\",\"script\",\"section\",\"style\",\"table\",\"tbody\",\"td\",\"textarea\",\"tfoot\",\"th\",\"tr\",\"thead\",\"ul\",\"video\"].forEach(function(e){r[e]=!0}),e.exports=r},function(e,t,n){\"use strict\";function r(e,t){return e=e.source,t=t||\"\",function n(r,i){return r?(i=i.source||i,e=e.replace(r,i),n):new RegExp(e,t)}}var i=/[a-zA-Z_:][a-zA-Z0-9:._-]*/,o=/[^\"'=<>`\\x00-\\x20]+/,a=/'[^']*'/,s=/\"[^\"]*\"/,u=r(/(?:unquoted|single_quoted|double_quoted)/)(\"unquoted\",o)(\"single_quoted\",a)(\"double_quoted\",s)(),l=r(/(?:\\s+attr_name(?:\\s*=\\s*attr_value)?)/)(\"attr_name\",i)(\"attr_value\",u)(),c=r(/<[A-Za-z][A-Za-z0-9]*attribute*\\s*\\/?>/)(\"attribute\",l)(),p=/<\\/[A-Za-z][A-Za-z0-9]*\\s*>/,f=/<!--([^-]+|[-][^-]+)*-->/,h=/<[?].*?[?]>/,d=/<![A-Z]+\\s+[^>]*>/,m=/<!\\[CDATA\\[([^\\]]+|\\][^\\]]|\\]\\][^>])*\\]\\]>/,v=r(/^(?:open_tag|close_tag|comment|processing|declaration|cdata)/)(\"open_tag\",c)(\"close_tag\",p)(\"comment\",f)(\"processing\",h)(\"declaration\",d)(\"cdata\",m)();e.exports.HTML_TAG_RE=v},function(e,t,n){\"use strict\";e.exports=[\"coap\",\"doi\",\"javascript\",\"aaa\",\"aaas\",\"about\",\"acap\",\"cap\",\"cid\",\"crid\",\"data\",\"dav\",\"dict\",\"dns\",\"file\",\"ftp\",\"geo\",\"go\",\"gopher\",\"h323\",\"http\",\"https\",\"iax\",\"icap\",\"im\",\"imap\",\"info\",\"ipp\",\"iris\",\"iris.beep\",\"iris.xpc\",\"iris.xpcs\",\"iris.lwz\",\"ldap\",\"mailto\",\"mid\",\"msrp\",\"msrps\",\"mtqp\",\"mupdate\",\"news\",\"nfs\",\"ni\",\"nih\",\"nntp\",\"opaquelocktoken\",\"pop\",\"pres\",\"rtsp\",\"service\",\"session\",\"shttp\",\"sieve\",\"sip\",\"sips\",\"sms\",\"snmp\",\"soap.beep\",\"soap.beeps\",\"tag\",\"tel\",\"telnet\",\"tftp\",\"thismessage\",\"tn3270\",\"tip\",\"tv\",\"urn\",\"vemmi\",\"ws\",\"wss\",\"xcon\",\"xcon-userid\",\"xmlrpc.beep\",\"xmlrpc.beeps\",\"xmpp\",\"z39.50r\",\"z39.50s\",\"adiumxtra\",\"afp\",\"afs\",\"aim\",\"apt\",\"attachment\",\"aw\",\"beshare\",\"bitcoin\",\"bolo\",\"callto\",\"chrome\",\"chrome-extension\",\"com-eventbrite-attendee\",\"content\",\"cvs\",\"dlna-playsingle\",\"dlna-playcontainer\",\"dtn\",\"dvb\",\"ed2k\",\"facetime\",\"feed\",\"finger\",\"fish\",\"gg\",\"git\",\"gizmoproject\",\"gtalk\",\"hcp\",\"icon\",\"ipn\",\"irc\",\"irc6\",\"ircs\",\"itms\",\"jar\",\"jms\",\"keyparc\",\"lastfm\",\"ldaps\",\"magnet\",\"maps\",\"market\",\"message\",\"mms\",\"ms-help\",\"msnim\",\"mumble\",\"mvn\",\"notes\",\"oid\",\"palm\",\"paparazzi\",\"platform\",\"proxy\",\"psyc\",\"query\",\"res\",\"resource\",\"rmi\",\"rsync\",\"rtmp\",\"secondlife\",\"sftp\",\"sgn\",\"skype\",\"smb\",\"soldat\",\"spotify\",\"ssh\",\"steam\",\"svn\",\"teamspeak\",\"things\",\"udp\",\"unreal\",\"ut2004\",\"ventrilo\",\"view-source\",\"webcal\",\"wtai\",\"wyciwyg\",\"xfire\",\"xri\",\"ymsgr\"]},function(e,t,n){\"use strict\";e.exports={options:{html:!0,xhtmlOut:!0,breaks:!1,langPrefix:\"language-\",linkify:!1,linkTarget:\"\",typographer:!1,quotes:\"“”‘’\",highlight:null,maxNesting:20},components:{core:{rules:[\"block\",\"inline\",\"references\",\"abbr2\"]},block:{rules:[\"blockquote\",\"code\",\"fences\",\"heading\",\"hr\",\"htmlblock\",\"lheading\",\"list\",\"paragraph\"]},inline:{rules:[\"autolink\",\"backticks\",\"emphasis\",\"entity\",\"escape\",\"htmltag\",\"links\",\"newline\",\"text\"]}}}},function(e,t,n){\"use strict\";e.exports={options:{html:!1,xhtmlOut:!1,breaks:!1,langPrefix:\"language-\",linkify:!1,linkTarget:\"\",typographer:!1,quotes:\"“”‘’\",highlight:null,maxNesting:20},components:{core:{rules:[\"block\",\"inline\",\"references\",\"replacements\",\"linkify\",\"smartquotes\",\"references\",\"abbr2\",\"footnote_tail\"]},block:{rules:[\"blockquote\",\"code\",\"fences\",\"footnote\",\"heading\",\"hr\",\"htmlblock\",\"lheading\",\"list\",\"paragraph\",\"table\"]},inline:{rules:[\"autolink\",\"backticks\",\"del\",\"emphasis\",\"entity\",\"escape\",\"footnote_ref\",\"htmltag\",\"links\",\"newline\",\"text\"]}}}},function(e,t,n){\"use strict\";e.exports={options:{html:!1,xhtmlOut:!1,breaks:!1,langPrefix:\"language-\",linkify:!1,linkTarget:\"\",typographer:!1,quotes:\"“”‘’\",highlight:null,maxNesting:20},components:{core:{},block:{},inline:{}}}},function(e,t,n){\"use strict\";function r(e,t,n){this.src=t,this.env=n,this.options=e.options,this.tokens=[],this.inlineMode=!1,this.inline=e.inline,this.block=e.block,this.renderer=e.renderer,this.typographer=e.typographer}function i(e,t){\"string\"!=typeof e&&(t=e,e=\"default\"),this.inline=new l,this.block=new u,this.core=new s,this.renderer=new a,this.ruler=new c,this.options={},this.configure(p[e]),this.set(t||{})}var o=n(26).assign,a=n(1152),s=n(1150),u=n(1149),l=n(1151),c=n(167),p={default:n(1146),full:n(1147),commonmark:n(1145)};i.prototype.set=function(e){o(this.options,e)},i.prototype.configure=function(e){var t=this;if(!e)throw new Error(\"Wrong `remarkable` preset, check name/content\");e.options&&t.set(e.options),e.components&&Object.keys(e.components).forEach(function(n){e.components[n].rules&&t[n].ruler.enable(e.components[n].rules,!0)})},i.prototype.use=function(e,t){return e(this,t),this},i.prototype.parse=function(e,t){var n=new r(this,e,t);return this.core.process(n),n.tokens},i.prototype.render=function(e,t){return t=t||{},this.renderer.render(this.parse(e,t),this.options,t)},i.prototype.parseInline=function(e,t){var n=new r(this,e,t);return n.inlineMode=!0,this.core.process(n),n.tokens},i.prototype.renderInline=function(e,t){return t=t||{},this.renderer.render(this.parseInline(e,t),this.options,t)},e.exports=i,e.exports.utils=n(26)},function(e,t,n){\"use strict\";function r(){this.ruler=new i;for(var e=0;e<a.length;e++)this.ruler.push(a[e][0],a[e][1],{alt:(a[e][2]||[]).slice()})}var i=n(167),o=n(1165),a=[[\"code\",n(1155)],[\"fences\",n(1157),[\"paragraph\",\"blockquote\",\"list\"]],[\"blockquote\",n(1154),[\"paragraph\",\"blockquote\",\"list\"]],[\"hr\",n(1160),[\"paragraph\",\"blockquote\",\"list\"]],[\"list\",n(1163),[\"paragraph\",\"blockquote\"]],[\"footnote\",n(1158),[\"paragraph\"]],[\"heading\",n(1159),[\"paragraph\",\"blockquote\"]],[\"lheading\",n(1162)],[\"htmlblock\",n(1161),[\"paragraph\",\"blockquote\"]],[\"table\",n(1166),[\"paragraph\"]],[\"deflist\",n(1156),[\"paragraph\"]],[\"paragraph\",n(1164)]];r.prototype.tokenize=function(e,t,n){for(var r,i=this.ruler.getRules(\"\"),o=i.length,a=t,s=!1;a<n&&(e.line=a=e.skipEmptyLines(a),!(a>=n))&&!(e.tShift[a]<e.blkIndent);){for(r=0;r<o&&!i[r](e,a,n,!1);r++);if(e.tight=!s,e.isEmpty(e.line-1)&&(s=!0),(a=e.line)<n&&e.isEmpty(a)){if(s=!0,++a<n&&\"list\"===e.parentType&&e.isEmpty(a))break;e.line=a}}};var s=/[\\n\\t]/g,u=/\\r[\\n\\u0085]|[\\u2424\\u2028\\u0085]/g,l=/\\u00a0/g;r.prototype.parse=function(e,t,n,r){var i,a=0,c=0;if(!e)return[];e=e.replace(l,\" \"),e=e.replace(u,\"\\n\"),e.indexOf(\"\\t\")>=0&&(e=e.replace(s,function(t,n){var r;return 10===e.charCodeAt(n)?(a=n+1,c=0,t):(r=\"    \".slice((n-a-c)%4),c=n-a+1,r)})),i=new o(e,this,t,n,r),this.tokenize(i,i.line,i.lineMax)},e.exports=r},function(e,t,n){\"use strict\";function r(){this.options={},this.ruler=new i;for(var e=0;e<o.length;e++)this.ruler.push(o[e][0],o[e][1])}var i=n(167),o=[[\"block\",n(1169)],[\"abbr\",n(1167)],[\"references\",n(1173)],[\"inline\",n(1171)],[\"footnote_tail\",n(1170)],[\"abbr2\",n(1168)],[\"replacements\",n(1174)],[\"smartquotes\",n(1175)],[\"linkify\",n(1172)]];r.prototype.process=function(e){var t,n,r;for(r=this.ruler.getRules(\"\"),t=0,n=r.length;t<n;t++)r[t](e)},e.exports=r},function(e,t,n){\"use strict\";function r(){this.ruler=new o;for(var e=0;e<u.length;e++)this.ruler.push(u[e][0],u[e][1]);this.validateLink=i}function i(e){var t=[\"vbscript\",\"javascript\",\"file\",\"data\"],n=e.trim().toLowerCase();return n=s.replaceEntities(n),-1===n.indexOf(\":\")||-1===t.indexOf(n.split(\":\")[0])}var o=n(167),a=n(267),s=n(26),u=[[\"text\",n(1191)],[\"newline\",n(1188)],[\"escape\",n(1181)],[\"backticks\",n(1177)],[\"del\",n(1178)],[\"ins\",n(1185)],[\"mark\",n(1187)],[\"emphasis\",n(1179)],[\"sub\",n(1189)],[\"sup\",n(1190)],[\"links\",n(1186)],[\"footnote_inline\",n(1182)],[\"footnote_ref\",n(1183)],[\"autolink\",n(1176)],[\"htmltag\",n(1184)],[\"entity\",n(1180)]];r.prototype.skipToken=function(e){var t,n,r=this.ruler.getRules(\"\"),i=r.length,o=e.pos;if((n=e.cacheGet(o))>0)return void(e.pos=n);for(t=0;t<i;t++)if(r[t](e,!0))return void e.cacheSet(o,e.pos);e.pos++,e.cacheSet(o,e.pos)},r.prototype.tokenize=function(e){for(var t,n,r=this.ruler.getRules(\"\"),i=r.length,o=e.posMax;e.pos<o;){for(n=0;n<i&&!(t=r[n](e,!1));n++);if(t){if(e.pos>=o)break}else e.pending+=e.src[e.pos++]}e.pending&&e.pushPending()},r.prototype.parse=function(e,t,n,r){var i=new a(e,this,t,n,r);this.tokenize(i)},e.exports=r},function(e,t,n){\"use strict\";function r(){this.rules=i.assign({},o),this.getBreak=o.getBreak}var i=n(26),o=n(1153);e.exports=r,r.prototype.renderInline=function(e,t,n){for(var r=this.rules,i=e.length,o=0,a=\"\";i--;)a+=r[e[o].type](e,o++,t,n,this);return a},r.prototype.render=function(e,t,n){for(var r=this.rules,i=e.length,o=-1,a=\"\";++o<i;)\"inline\"===e[o].type?a+=this.renderInline(e[o].children,t,n):a+=r[e[o].type](e,o,t,n,this);return a}},function(e,t,n){\"use strict\";function r(e,t){return++t>=e.length-2?t:\"paragraph_open\"===e[t].type&&e[t].tight&&\"inline\"===e[t+1].type&&0===e[t+1].content.length&&\"paragraph_close\"===e[t+2].type&&e[t+2].tight?r(e,t+2):t}var i=n(26).has,o=n(26).unescapeMd,a=n(26).replaceEntities,s=n(26).escapeHtml,u={};u.blockquote_open=function(){return\"<blockquote>\\n\"},u.blockquote_close=function(e,t){return\"</blockquote>\"+l(e,t)},u.code=function(e,t){return e[t].block?\"<pre><code>\"+s(e[t].content)+\"</code></pre>\"+l(e,t):\"<code>\"+s(e[t].content)+\"</code>\"},u.fence=function(e,t,n,r,u){var c,p,f,h=e[t],d=\"\",m=n.langPrefix,v=\"\";if(h.params){if(c=h.params.split(/\\s+/g),p=c.join(\" \"),i(u.rules.fence_custom,c[0]))return u.rules.fence_custom[c[0]](e,t,n,r,u);v=s(a(o(p))),d=' class=\"'+m+v+'\"'}return f=n.highlight?n.highlight.apply(n.highlight,[h.content].concat(c))||s(h.content):s(h.content),\"<pre><code\"+d+\">\"+f+\"</code></pre>\"+l(e,t)},u.fence_custom={},u.heading_open=function(e,t){return\"<h\"+e[t].hLevel+\">\"},u.heading_close=function(e,t){return\"</h\"+e[t].hLevel+\">\\n\"},u.hr=function(e,t,n){return(n.xhtmlOut?\"<hr />\":\"<hr>\")+l(e,t)},u.bullet_list_open=function(){return\"<ul>\\n\"},u.bullet_list_close=function(e,t){return\"</ul>\"+l(e,t)},u.list_item_open=function(){return\"<li>\"},u.list_item_close=function(){return\"</li>\\n\"},u.ordered_list_open=function(e,t){var n=e[t];return\"<ol\"+(n.order>1?' start=\"'+n.order+'\"':\"\")+\">\\n\"},u.ordered_list_close=function(e,t){return\"</ol>\"+l(e,t)},u.paragraph_open=function(e,t){return e[t].tight?\"\":\"<p>\"},u.paragraph_close=function(e,t){var n=!(e[t].tight&&t&&\"inline\"===e[t-1].type&&!e[t-1].content);return(e[t].tight?\"\":\"</p>\")+(n?l(e,t):\"\")},u.link_open=function(e,t,n){var r=e[t].title?' title=\"'+s(a(e[t].title))+'\"':\"\",i=n.linkTarget?' target=\"'+n.linkTarget+'\"':\"\";return'<a href=\"'+s(e[t].href)+'\"'+r+i+\">\"},u.link_close=function(){return\"</a>\"},u.image=function(e,t,n){var r=' src=\"'+s(e[t].src)+'\"',i=e[t].title?' title=\"'+s(a(e[t].title))+'\"':\"\";return\"<img\"+r+' alt=\"'+(e[t].alt?s(a(o(e[t].alt))):\"\")+'\"'+i+(n.xhtmlOut?\" /\":\"\")+\">\"},u.table_open=function(){return\"<table>\\n\"},u.table_close=function(){return\"</table>\\n\"},u.thead_open=function(){return\"<thead>\\n\"},u.thead_close=function(){return\"</thead>\\n\"},u.tbody_open=function(){return\"<tbody>\\n\"},u.tbody_close=function(){return\"</tbody>\\n\"},u.tr_open=function(){return\"<tr>\"},u.tr_close=function(){return\"</tr>\\n\"},u.th_open=function(e,t){var n=e[t];return\"<th\"+(n.align?' style=\"text-align:'+n.align+'\"':\"\")+\">\"},u.th_close=function(){return\"</th>\"},u.td_open=function(e,t){var n=e[t];return\"<td\"+(n.align?' style=\"text-align:'+n.align+'\"':\"\")+\">\"},u.td_close=function(){return\"</td>\"},u.strong_open=function(){return\"<strong>\"},u.strong_close=function(){return\"</strong>\"},u.em_open=function(){return\"<em>\"},u.em_close=function(){return\"</em>\"},u.del_open=function(){return\"<del>\"},u.del_close=function(){return\"</del>\"},u.ins_open=function(){return\"<ins>\"},u.ins_close=function(){return\"</ins>\"},u.mark_open=function(){return\"<mark>\"},u.mark_close=function(){return\"</mark>\"},u.sub=function(e,t){return\"<sub>\"+s(e[t].content)+\"</sub>\"},u.sup=function(e,t){return\"<sup>\"+s(e[t].content)+\"</sup>\"},u.hardbreak=function(e,t,n){return n.xhtmlOut?\"<br />\\n\":\"<br>\\n\"},u.softbreak=function(e,t,n){return n.breaks?n.xhtmlOut?\"<br />\\n\":\"<br>\\n\":\"\\n\"},u.text=function(e,t){return s(e[t].content)},u.htmlblock=function(e,t){return e[t].content},u.htmltag=function(e,t){return e[t].content},u.abbr_open=function(e,t){return'<abbr title=\"'+s(a(e[t].title))+'\">'},u.abbr_close=function(){return\"</abbr>\"},u.footnote_ref=function(e,t){var n=Number(e[t].id+1).toString(),r=\"fnref\"+n;return e[t].subId>0&&(r+=\":\"+e[t].subId),'<sup class=\"footnote-ref\"><a href=\"#fn'+n+'\" id=\"'+r+'\">['+n+\"]</a></sup>\"},u.footnote_block_open=function(e,t,n){return(n.xhtmlOut?'<hr class=\"footnotes-sep\" />\\n':'<hr class=\"footnotes-sep\">\\n')+'<section class=\"footnotes\">\\n<ol class=\"footnotes-list\">\\n'},u.footnote_block_close=function(){return\"</ol>\\n</section>\\n\"},u.footnote_open=function(e,t){return'<li id=\"fn'+Number(e[t].id+1).toString()+'\"  class=\"footnote-item\">'},u.footnote_close=function(){return\"</li>\\n\"},u.footnote_anchor=function(e,t){var n=Number(e[t].id+1).toString(),r=\"fnref\"+n;return e[t].subId>0&&(r+=\":\"+e[t].subId),' <a href=\"#'+r+'\" class=\"footnote-backref\">↩</a>'},u.dl_open=function(){return\"<dl>\\n\"},u.dt_open=function(){return\"<dt>\"},u.dd_open=function(){return\"<dd>\"},u.dl_close=function(){return\"</dl>\\n\"},u.dt_close=function(){return\"</dt>\\n\"},u.dd_close=function(){return\"</dd>\\n\"};var l=u.getBreak=function(e,t){return t=r(e,t),t<e.length&&\"list_item_close\"===e[t].type?\"\":\"\\n\"};e.exports=u},function(e,t,n){\"use strict\";e.exports=function(e,t,n,r){var i,o,a,s,u,l,c,p,f,h,d,m=e.bMarks[t]+e.tShift[t],v=e.eMarks[t];if(m>v)return!1;if(62!==e.src.charCodeAt(m++))return!1;if(e.level>=e.options.maxNesting)return!1;if(r)return!0;for(32===e.src.charCodeAt(m)&&m++,u=e.blkIndent,e.blkIndent=0,s=[e.bMarks[t]],e.bMarks[t]=m,m=m<v?e.skipSpaces(m):m,o=m>=v,a=[e.tShift[t]],e.tShift[t]=m-e.bMarks[t],p=e.parser.ruler.getRules(\"blockquote\"),i=t+1;i<n&&(m=e.bMarks[i]+e.tShift[i],v=e.eMarks[i],!(m>=v));i++)if(62!==e.src.charCodeAt(m++)){if(o)break;for(d=!1,f=0,h=p.length;f<h;f++)if(p[f](e,i,n,!0)){d=!0;break}if(d)break;s.push(e.bMarks[i]),a.push(e.tShift[i]),e.tShift[i]=-1337}else 32===e.src.charCodeAt(m)&&m++,s.push(e.bMarks[i]),e.bMarks[i]=m,m=m<v?e.skipSpaces(m):m,o=m>=v,a.push(e.tShift[i]),e.tShift[i]=m-e.bMarks[i];for(l=e.parentType,e.parentType=\"blockquote\",e.tokens.push({type:\"blockquote_open\",lines:c=[t,0],level:e.level++}),e.parser.tokenize(e,t,i),e.tokens.push({type:\"blockquote_close\",level:--e.level}),e.parentType=l,c[1]=e.line,f=0;f<a.length;f++)e.bMarks[f+t]=s[f],e.tShift[f+t]=a[f];return e.blkIndent=u,!0}},function(e,t,n){\"use strict\";e.exports=function(e,t,n){var r,i;if(e.tShift[t]-e.blkIndent<4)return!1;for(i=r=t+1;r<n;)if(e.isEmpty(r))r++;else{if(!(e.tShift[r]-e.blkIndent>=4))break;r++,i=r}return e.line=r,e.tokens.push({type:\"code\",content:e.getLines(t,i,4+e.blkIndent,!0),block:!0,lines:[t,e.line],level:e.level}),!0}},function(e,t,n){\"use strict\";function r(e,t){var n,r,i=e.bMarks[t]+e.tShift[t],o=e.eMarks[t];return i>=o?-1:126!==(r=e.src.charCodeAt(i++))&&58!==r?-1:(n=e.skipSpaces(i),i===n?-1:n>=o?-1:n)}function i(e,t){var n,r,i=e.level+2;for(n=t+2,r=e.tokens.length-2;n<r;n++)e.tokens[n].level===i&&\"paragraph_open\"===e.tokens[n].type&&(e.tokens[n+2].tight=!0,e.tokens[n].tight=!0,n+=2)}e.exports=function(e,t,n,o){var a,s,u,l,c,p,f,h,d,m,v,g,y,_;if(o)return!(e.ddIndent<0)&&r(e,t)>=0;if(f=t+1,e.isEmpty(f)&&++f>n)return!1;if(e.tShift[f]<e.blkIndent)return!1;if((a=r(e,f))<0)return!1;if(e.level>=e.options.maxNesting)return!1;p=e.tokens.length,e.tokens.push({type:\"dl_open\",lines:c=[t,0],level:e.level++}),u=t,s=f;e:for(;;){for(_=!0,y=!1,e.tokens.push({type:\"dt_open\",lines:[u,u],level:e.level++}),e.tokens.push({type:\"inline\",content:e.getLines(u,u+1,e.blkIndent,!1).trim(),level:e.level+1,lines:[u,u],children:[]}),e.tokens.push({type:\"dt_close\",level:--e.level});;){if(e.tokens.push({type:\"dd_open\",lines:l=[f,0],level:e.level++}),g=e.tight,d=e.ddIndent,h=e.blkIndent,v=e.tShift[s],m=e.parentType,e.blkIndent=e.ddIndent=e.tShift[s]+2,e.tShift[s]=a-e.bMarks[s],e.tight=!0,e.parentType=\"deflist\",e.parser.tokenize(e,s,n,!0),e.tight&&!y||(_=!1),y=e.line-s>1&&e.isEmpty(e.line-1),e.tShift[s]=v,e.tight=g,e.parentType=m,e.blkIndent=h,e.ddIndent=d,e.tokens.push({type:\"dd_close\",level:--e.level}),l[1]=f=e.line,f>=n)break e;if(e.tShift[f]<e.blkIndent)break e;if((a=r(e,f))<0)break;s=f}if(f>=n)break;if(u=f,e.isEmpty(u))break;if(e.tShift[u]<e.blkIndent)break;if((s=u+1)>=n)break;if(e.isEmpty(s)&&s++,s>=n)break;if(e.tShift[s]<e.blkIndent)break;if((a=r(e,s))<0)break}return e.tokens.push({type:\"dl_close\",level:--e.level}),c[1]=f,e.line=f,_&&i(e,p),!0}},function(e,t,n){\"use strict\";e.exports=function(e,t,n,r){var i,o,a,s,u,l=!1,c=e.bMarks[t]+e.tShift[t],p=e.eMarks[t];if(c+3>p)return!1;if(126!==(i=e.src.charCodeAt(c))&&96!==i)return!1;if(u=c,c=e.skipChars(c,i),(o=c-u)<3)return!1;if(a=e.src.slice(c,p).trim(),a.indexOf(\"`\")>=0)return!1;if(r)return!0;for(s=t;!(++s>=n)&&(c=u=e.bMarks[s]+e.tShift[s],p=e.eMarks[s],!(c<p&&e.tShift[s]<e.blkIndent));)if(e.src.charCodeAt(c)===i&&!(e.tShift[s]-e.blkIndent>=4||(c=e.skipChars(c,i))-u<o||(c=e.skipSpaces(c))<p)){l=!0;break}return o=e.tShift[t],e.line=s+(l?1:0),e.tokens.push({type:\"fence\",params:a,content:e.getLines(t+1,s,o,!0),lines:[t,e.line],level:e.level}),!0}},function(e,t,n){\"use strict\";e.exports=function(e,t,n,r){var i,o,a,s,u,l=e.bMarks[t]+e.tShift[t],c=e.eMarks[t];if(l+4>c)return!1;if(91!==e.src.charCodeAt(l))return!1;if(94!==e.src.charCodeAt(l+1))return!1;if(e.level>=e.options.maxNesting)return!1;for(s=l+2;s<c;s++){if(32===e.src.charCodeAt(s))return!1;if(93===e.src.charCodeAt(s))break}return s!==l+2&&(!(s+1>=c||58!==e.src.charCodeAt(++s))&&(!!r||(s++,e.env.footnotes||(e.env.footnotes={}),e.env.footnotes.refs||(e.env.footnotes.refs={}),u=e.src.slice(l+2,s-2),e.env.footnotes.refs[\":\"+u]=-1,e.tokens.push({type:\"footnote_reference_open\",label:u,level:e.level++}),i=e.bMarks[t],o=e.tShift[t],a=e.parentType,e.tShift[t]=e.skipSpaces(s)-s,e.bMarks[t]=s,e.blkIndent+=4,e.parentType=\"footnote\",e.tShift[t]<e.blkIndent&&(e.tShift[t]+=e.blkIndent,e.bMarks[t]-=e.blkIndent),e.parser.tokenize(e,t,n,!0),e.parentType=a,e.blkIndent-=4,e.tShift[t]=o,e.bMarks[t]=i,e.tokens.push({type:\"footnote_reference_close\",level:--e.level}),!0)))}},function(e,t,n){\"use strict\";e.exports=function(e,t,n,r){var i,o,a,s=e.bMarks[t]+e.tShift[t],u=e.eMarks[t];if(s>=u)return!1;if(35!==(i=e.src.charCodeAt(s))||s>=u)return!1;for(o=1,i=e.src.charCodeAt(++s);35===i&&s<u&&o<=6;)o++,i=e.src.charCodeAt(++s);return!(o>6||s<u&&32!==i)&&(!!r||(u=e.skipCharsBack(u,32,s),a=e.skipCharsBack(u,35,s),a>s&&32===e.src.charCodeAt(a-1)&&(u=a),e.line=t+1,e.tokens.push({type:\"heading_open\",hLevel:o,lines:[t,e.line],level:e.level}),s<u&&e.tokens.push({type:\"inline\",content:e.src.slice(s,u).trim(),level:e.level+1,lines:[t,e.line],children:[]}),e.tokens.push({type:\"heading_close\",hLevel:o,level:e.level}),!0))}},function(e,t,n){\"use strict\";e.exports=function(e,t,n,r){var i,o,a,s=e.bMarks[t],u=e.eMarks[t];if((s+=e.tShift[t])>u)return!1;if(42!==(i=e.src.charCodeAt(s++))&&45!==i&&95!==i)return!1;for(o=1;s<u;){if((a=e.src.charCodeAt(s++))!==i&&32!==a)return!1;a===i&&o++}return!(o<3)&&(!!r||(e.line=t+1,e.tokens.push({type:\"hr\",lines:[t,e.line],level:e.level}),!0))}},function(e,t,n){\"use strict\";function r(e){var t=32|e;return t>=97&&t<=122}var i=n(1142),o=/^<([a-zA-Z]{1,15})[\\s\\/>]/,a=/^<\\/([a-zA-Z]{1,15})[\\s>]/;e.exports=function(e,t,n,s){var u,l,c,p=e.bMarks[t],f=e.eMarks[t],h=e.tShift[t];if(p+=h,!e.options.html)return!1;if(h>3||p+2>=f)return!1;if(60!==e.src.charCodeAt(p))return!1;if(33===(u=e.src.charCodeAt(p+1))||63===u){if(s)return!0}else{if(47!==u&&!r(u))return!1;if(47===u){if(!(l=e.src.slice(p,f).match(a)))return!1}else if(!(l=e.src.slice(p,f).match(o)))return!1;if(!0!==i[l[1].toLowerCase()])return!1;if(s)return!0}for(c=t+1;c<e.lineMax&&!e.isEmpty(c);)c++;return e.line=c,e.tokens.push({type:\"htmlblock\",level:e.level,lines:[t,e.line],content:e.getLines(t,c,0,!0)}),!0}},function(e,t,n){\"use strict\";e.exports=function(e,t,n){var r,i,o,a=t+1;return!(a>=n)&&(!(e.tShift[a]<e.blkIndent)&&(!(e.tShift[a]-e.blkIndent>3)&&(i=e.bMarks[a]+e.tShift[a],o=e.eMarks[a],!(i>=o)&&((45===(r=e.src.charCodeAt(i))||61===r)&&(i=e.skipChars(i,r),!((i=e.skipSpaces(i))<o)&&(i=e.bMarks[t]+e.tShift[t],e.line=a+1,e.tokens.push({type:\"heading_open\",hLevel:61===r?1:2,lines:[t,e.line],level:e.level}),e.tokens.push({type:\"inline\",content:e.src.slice(i,e.eMarks[t]).trim(),level:e.level+1,lines:[t,e.line-1],children:[]}),e.tokens.push({type:\"heading_close\",hLevel:61===r?1:2,level:e.level}),!0))))))}},function(e,t,n){\"use strict\";function r(e,t){var n,r,i;return r=e.bMarks[t]+e.tShift[t],i=e.eMarks[t],r>=i?-1:(n=e.src.charCodeAt(r++),42!==n&&45!==n&&43!==n?-1:r<i&&32!==e.src.charCodeAt(r)?-1:r)}function i(e,t){var n,r=e.bMarks[t]+e.tShift[t],i=e.eMarks[t];if(r+1>=i)return-1;if((n=e.src.charCodeAt(r++))<48||n>57)return-1;for(;;){if(r>=i)return-1;if(!((n=e.src.charCodeAt(r++))>=48&&n<=57)){if(41===n||46===n)break;return-1}}return r<i&&32!==e.src.charCodeAt(r)?-1:r}function o(e,t){var n,r,i=e.level+2;for(n=t+2,r=e.tokens.length-2;n<r;n++)e.tokens[n].level===i&&\"paragraph_open\"===e.tokens[n].type&&(e.tokens[n+2].tight=!0,e.tokens[n].tight=!0,n+=2)}e.exports=function(e,t,n,a){var s,u,l,c,p,f,h,d,m,v,g,y,_,b,x,w,k,E,S,C,A,D,O=!0;if((d=i(e,t))>=0)_=!0;else{if(!((d=r(e,t))>=0))return!1;_=!1}if(e.level>=e.options.maxNesting)return!1;if(y=e.src.charCodeAt(d-1),a)return!0;for(x=e.tokens.length,_?(h=e.bMarks[t]+e.tShift[t],g=Number(e.src.substr(h,d-h-1)),e.tokens.push({type:\"ordered_list_open\",order:g,lines:k=[t,0],level:e.level++})):e.tokens.push({type:\"bullet_list_open\",lines:k=[t,0],level:e.level++}),s=t,w=!1,S=e.parser.ruler.getRules(\"list\");!(!(s<n)||(b=e.skipSpaces(d),m=e.eMarks[s],v=b>=m?1:b-d,v>4&&(v=1),v<1&&(v=1),u=d-e.bMarks[s]+v,e.tokens.push({type:\"list_item_open\",lines:E=[t,0],level:e.level++}),c=e.blkIndent,p=e.tight,l=e.tShift[t],f=e.parentType,e.tShift[t]=b-e.bMarks[t],e.blkIndent=u,e.tight=!0,e.parentType=\"list\",e.parser.tokenize(e,t,n,!0),e.tight&&!w||(O=!1),w=e.line-t>1&&e.isEmpty(e.line-1),e.blkIndent=c,e.tShift[t]=l,e.tight=p,e.parentType=f,e.tokens.push({type:\"list_item_close\",level:--e.level}),s=t=e.line,E[1]=s,b=e.bMarks[t],s>=n)||e.isEmpty(s)||e.tShift[s]<e.blkIndent);){for(D=!1,C=0,A=S.length;C<A;C++)if(S[C](e,s,n,!0)){D=!0;break}if(D)break;if(_){if((d=i(e,s))<0)break}else if((d=r(e,s))<0)break;if(y!==e.src.charCodeAt(d-1))break}return e.tokens.push({type:_?\"ordered_list_close\":\"bullet_list_close\",level:--e.level}),k[1]=s,e.line=s,O&&o(e,x),!0}},function(e,t,n){\"use strict\";e.exports=function(e,t){var n,r,i,o,a,s,u=t+1;if(n=e.lineMax,u<n&&!e.isEmpty(u))for(s=e.parser.ruler.getRules(\"paragraph\");u<n&&!e.isEmpty(u);u++)if(!(e.tShift[u]-e.blkIndent>3)){for(i=!1,o=0,a=s.length;o<a;o++)if(s[o](e,u,n,!0)){i=!0;break}if(i)break}return r=e.getLines(t,u,e.blkIndent,!1).trim(),e.line=u,r.length&&(e.tokens.push({type:\"paragraph_open\",tight:!1,lines:[t,e.line],level:e.level}),e.tokens.push({type:\"inline\",content:r,level:e.level+1,lines:[t,e.line],children:[]}),e.tokens.push({type:\"paragraph_close\",tight:!1,level:e.level})),!0}},function(e,t,n){\"use strict\";function r(e,t,n,r,i){var o,a,s,u,l,c,p;for(this.src=e,this.parser=t,this.options=n,this.env=r,this.tokens=i,this.bMarks=[],this.eMarks=[],this.tShift=[],this.blkIndent=0,this.line=0,this.lineMax=0,this.tight=!1,this.parentType=\"root\",this.ddIndent=-1,this.level=0,this.result=\"\",a=this.src,c=0,p=!1,s=u=c=0,l=a.length;u<l;u++){if(o=a.charCodeAt(u),!p){if(32===o){c++;continue}p=!0}10!==o&&u!==l-1||(10!==o&&u++,this.bMarks.push(s),this.eMarks.push(u),this.tShift.push(c),p=!1,c=0,s=u+1)}this.bMarks.push(a.length),this.eMarks.push(a.length),this.tShift.push(0),this.lineMax=this.bMarks.length-1}r.prototype.isEmpty=function(e){return this.bMarks[e]+this.tShift[e]>=this.eMarks[e]},r.prototype.skipEmptyLines=function(e){for(var t=this.lineMax;e<t&&!(this.bMarks[e]+this.tShift[e]<this.eMarks[e]);e++);return e},r.prototype.skipSpaces=function(e){for(var t=this.src.length;e<t&&32===this.src.charCodeAt(e);e++);return e},r.prototype.skipChars=function(e,t){for(var n=this.src.length;e<n&&this.src.charCodeAt(e)===t;e++);return e},r.prototype.skipCharsBack=function(e,t,n){if(e<=n)return e;for(;e>n;)if(t!==this.src.charCodeAt(--e))return e+1;return e},r.prototype.getLines=function(e,t,n,r){var i,o,a,s,u,l=e;if(e>=t)return\"\";if(l+1===t)return o=this.bMarks[l]+Math.min(this.tShift[l],n),a=r?this.eMarks[l]+1:this.eMarks[l],this.src.slice(o,a);for(s=new Array(t-e),i=0;l<t;l++,i++)u=this.tShift[l],u>n&&(u=n),u<0&&(u=0),o=this.bMarks[l]+u,a=l+1<t||r?this.eMarks[l]+1:this.eMarks[l],s[i]=this.src.slice(o,a);return s.join(\"\")},e.exports=r},function(e,t,n){\"use strict\";function r(e,t){var n=e.bMarks[t]+e.blkIndent,r=e.eMarks[t];return e.src.substr(n,r-n)}e.exports=function(e,t,n,i){var o,a,s,u,l,c,p,f,h,d,m;if(t+2>n)return!1;if(l=t+1,e.tShift[l]<e.blkIndent)return!1;if((s=e.bMarks[l]+e.tShift[l])>=e.eMarks[l])return!1;if(124!==(o=e.src.charCodeAt(s))&&45!==o&&58!==o)return!1;if(a=r(e,t+1),!/^[-:| ]+$/.test(a))return!1;if((c=a.split(\"|\"))<=2)return!1;for(f=[],u=0;u<c.length;u++){if(!(h=c[u].trim())){if(0===u||u===c.length-1)continue;return!1}if(!/^:?-+:?$/.test(h))return!1;58===h.charCodeAt(h.length-1)?f.push(58===h.charCodeAt(0)?\"center\":\"right\"):58===h.charCodeAt(0)?f.push(\"left\"):f.push(\"\")}if(a=r(e,t).trim(),-1===a.indexOf(\"|\"))return!1;if(c=a.replace(/^\\||\\|$/g,\"\").split(\"|\"),f.length!==c.length)return!1;if(i)return!0;for(e.tokens.push({type:\"table_open\",lines:d=[t,0],level:e.level++}),e.tokens.push({type:\"thead_open\",lines:[t,t+1],level:e.level++}),e.tokens.push({type:\"tr_open\",lines:[t,t+1],level:e.level++}),u=0;u<c.length;u++)e.tokens.push({type:\"th_open\",align:f[u],lines:[t,t+1],level:e.level++}),e.tokens.push({type:\"inline\",content:c[u].trim(),lines:[t,t+1],level:e.level,children:[]}),e.tokens.push({type:\"th_close\",level:--e.level});for(e.tokens.push({type:\"tr_close\",level:--e.level}),e.tokens.push({type:\"thead_close\",level:--e.level}),e.tokens.push({type:\"tbody_open\",lines:m=[t+2,0],level:e.level++}),l=t+2;l<n&&!(e.tShift[l]<e.blkIndent)&&(a=r(e,l).trim(),-1!==a.indexOf(\"|\"));l++){for(c=a.replace(/^\\||\\|$/g,\"\").split(\"|\"),e.tokens.push({type:\"tr_open\",level:e.level++}),u=0;u<c.length;u++)e.tokens.push({type:\"td_open\",align:f[u],level:e.level++}),p=c[u].substring(124===c[u].charCodeAt(0)?1:0,124===c[u].charCodeAt(c[u].length-1)?c[u].length-1:c[u].length).trim(),e.tokens.push({type:\"inline\",content:p,level:e.level,children:[]}),e.tokens.push({type:\"td_close\",level:--e.level});e.tokens.push({type:\"tr_close\",level:--e.level})}return e.tokens.push({type:\"tbody_close\",level:--e.level}),e.tokens.push({type:\"table_close\",level:--e.level}),d[1]=m[1]=l,e.line=l,!0}},function(e,t,n){\"use strict\";function r(e,t,n,r){var a,s,u,l,c,p;if(42!==e.charCodeAt(0))return-1;if(91!==e.charCodeAt(1))return-1;if(-1===e.indexOf(\"]:\"))return-1;if(a=new i(e,t,n,r,[]),(s=o(a,1))<0||58!==e.charCodeAt(s+1))return-1;for(l=a.posMax,u=s+2;u<l&&10!==a.src.charCodeAt(u);u++);return c=e.slice(2,s),p=e.slice(s+2,u).trim(),0===p.length?-1:(r.abbreviations||(r.abbreviations={}),void 0===r.abbreviations[\":\"+c]&&(r.abbreviations[\":\"+c]=p),u)}var i=n(267),o=n(166);e.exports=function(e){var t,n,i,o,a=e.tokens;if(!e.inlineMode)for(t=1,n=a.length-1;t<n;t++)if(\"paragraph_open\"===a[t-1].type&&\"inline\"===a[t].type&&\"paragraph_close\"===a[t+1].type){for(i=a[t].content;i.length&&!((o=r(i,e.inline,e.options,e.env))<0);)i=i.slice(o).trim();a[t].content=i,i.length||(a[t-1].tight=!0,a[t+1].tight=!0)}}},function(e,t,n){\"use strict\";function r(e){return e.replace(/([-()\\[\\]{}+?*.$\\^|,:#<!\\\\])/g,\"\\\\$1\")}var i=\" \\n()[]'\\\".,!?-\";e.exports=function(e){var t,n,o,a,s,u,l,c,p,f,h,d,m=e.tokens;if(e.env.abbreviations)for(e.env.abbrRegExp||(d=\"(^|[\"+i.split(\"\").map(r).join(\"\")+\"])(\"+Object.keys(e.env.abbreviations).map(function(e){return e.substr(1)}).sort(function(e,t){return t.length-e.length}).map(r).join(\"|\")+\")($|[\"+i.split(\"\").map(r).join(\"\")+\"])\",e.env.abbrRegExp=new RegExp(d,\"g\")),f=e.env.abbrRegExp,n=0,o=m.length;n<o;n++)if(\"inline\"===m[n].type)for(a=m[n].children,t=a.length-1;t>=0;t--)if(s=a[t],\"text\"===s.type){for(c=0,u=s.content,f.lastIndex=0,p=s.level,l=[];h=f.exec(u);)f.lastIndex>c&&l.push({type:\"text\",content:u.slice(c,h.index+h[1].length),level:p}),l.push({type:\"abbr_open\",title:e.env.abbreviations[\":\"+h[2]],level:p++}),l.push({type:\"text\",content:h[2],level:p}),l.push({type:\"abbr_close\",level:--p}),c=f.lastIndex-h[3].length;l.length&&(c<u.length&&l.push({type:\"text\",content:u.slice(c),level:p}),m[n].children=a=[].concat(a.slice(0,t),l,a.slice(t+1)))}}},function(e,t,n){\"use strict\";e.exports=function(e){e.inlineMode?e.tokens.push({type:\"inline\",content:e.src.replace(/\\n/g,\" \").trim(),level:0,lines:[0,1],children:[]}):e.block.parse(e.src,e.options,e.env,e.tokens)}},function(e,t,n){\"use strict\";e.exports=function(e){var t,n,r,i,o,a,s,u,l,c=0,p=!1,f={};if(e.env.footnotes&&(e.tokens=e.tokens.filter(function(e){return\"footnote_reference_open\"===e.type?(p=!0,u=[],l=e.label,!1):\"footnote_reference_close\"===e.type?(p=!1,f[\":\"+l]=u,!1):(p&&u.push(e),!p)}),e.env.footnotes.list)){for(a=e.env.footnotes.list,e.tokens.push({type:\"footnote_block_open\",level:c++}),t=0,n=a.length;t<n;t++){for(e.tokens.push({type:\"footnote_open\",id:t,level:c++}),a[t].tokens?(s=[],s.push({type:\"paragraph_open\",tight:!1,level:c++}),s.push({type:\"inline\",content:\"\",level:c,children:a[t].tokens}),s.push({type:\"paragraph_close\",tight:!1,level:--c})):a[t].label&&(s=f[\":\"+a[t].label]),e.tokens=e.tokens.concat(s),o=\"paragraph_close\"===e.tokens[e.tokens.length-1].type?e.tokens.pop():null,i=a[t].count>0?a[t].count:1,r=0;r<i;r++)e.tokens.push({type:\"footnote_anchor\",id:t,subId:r,level:c});o&&e.tokens.push(o),e.tokens.push({type:\"footnote_close\",level:--c})}e.tokens.push({type:\"footnote_block_close\",level:--c})}}},function(e,t,n){\"use strict\";e.exports=function(e){var t,n,r,i=e.tokens;for(n=0,r=i.length;n<r;n++)t=i[n],\"inline\"===t.type&&e.inline.parse(t.content,e.options,e.env,t.children)}},function(e,t,n){\"use strict\";function r(e){return/^<a[>\\s]/i.test(e)}function i(e){return/^<\\/a\\s*>/i.test(e)}function o(){var e=[],t=new a({stripPrefix:!1,url:!0,email:!0,twitter:!1,replaceFn:function(t,n){switch(n.getType()){case\"url\":e.push({text:n.matchedText,url:n.getUrl()});break;case\"email\":e.push({text:n.matchedText,url:\"mailto:\"+n.getEmail().replace(/^mailto:/i,\"\")})}return!1}});return{links:e,autolinker:t}}var a=n(522),s=/www|@|\\:\\/\\//;e.exports=function(e){var t,n,a,u,l,c,p,f,h,d,m,v,g,y=e.tokens,_=null;if(e.options.linkify)for(n=0,a=y.length;n<a;n++)if(\"inline\"===y[n].type)for(u=y[n].children,m=0,t=u.length-1;t>=0;t--)if(l=u[t],\"link_close\"!==l.type){if(\"htmltag\"===l.type&&(r(l.content)&&m>0&&m--,i(l.content)&&m++),!(m>0)&&\"text\"===l.type&&s.test(l.content)){if(_||(_=o(),v=_.links,g=_.autolinker),c=l.content,v.length=0,g.link(c),!v.length)continue;for(p=[],d=l.level,f=0;f<v.length;f++)e.inline.validateLink(v[f].url)&&(h=c.indexOf(v[f].text),h&&(d=d,p.push({type:\"text\",content:c.slice(0,h),level:d})),p.push({type:\"link_open\",href:v[f].url,title:\"\",level:d++}),p.push({type:\"text\",content:v[f].text,level:d}),p.push({type:\"link_close\",level:--d}),c=c.slice(h+v[f].text.length));c.length&&p.push({type:\"text\",content:c,level:d}),y[n].children=u=[].concat(u.slice(0,t),p,u.slice(t+1))}}else for(t--;u[t].level!==l.level&&\"link_open\"!==u[t].type;)t--}},function(e,t,n){\"use strict\";function r(e,t,n,r){var l,c,p,f,h,d,m,v,g;if(91!==e.charCodeAt(0))return-1;if(-1===e.indexOf(\"]:\"))return-1;if(l=new i(e,t,n,r,[]),(c=o(l,0))<0||58!==e.charCodeAt(c+1))return-1;for(f=l.posMax,p=c+2;p<f&&(32===(h=l.src.charCodeAt(p))||10===h);p++);if(!a(l,p))return-1;for(m=l.linkContent,p=l.pos,d=p,p+=1;p<f&&(32===(h=l.src.charCodeAt(p))||10===h);p++);for(p<f&&d!==p&&s(l,p)?(v=l.linkContent,p=l.pos):(v=\"\",p=d);p<f&&32===l.src.charCodeAt(p);)p++;return p<f&&10!==l.src.charCodeAt(p)?-1:(g=u(e.slice(1,c)),void 0===r.references[g]&&(r.references[g]={title:v,href:m}),p)}var i=n(267),o=n(166),a=n(504),s=n(505),u=n(503);e.exports=function(e){var t,n,i,o,a=e.tokens;if(e.env.references=e.env.references||{},!e.inlineMode)for(t=1,n=a.length-1;t<n;t++)if(\"inline\"===a[t].type&&\"paragraph_open\"===a[t-1].type&&\"paragraph_close\"===a[t+1].type){for(i=a[t].content;i.length&&!((o=r(i,e.inline,e.options,e.env))<0);)i=i.slice(o).trim();a[t].content=i,i.length||(a[t-1].tight=!0,a[t+1].tight=!0)}}},function(e,t,n){\"use strict\";function r(e){return e.indexOf(\"(\")<0?e:e.replace(o,function(e,t){return a[t.toLowerCase()]})}var i=/\\+-|\\.\\.|\\?\\?\\?\\?|!!!!|,,|--/,o=/\\((c|tm|r|p)\\)/gi,a={c:\"©\",r:\"®\",p:\"§\",tm:\"™\"};e.exports=function(e){var t,n,o,a,s;if(e.options.typographer)for(s=e.tokens.length-1;s>=0;s--)if(\"inline\"===e.tokens[s].type)for(a=e.tokens[s].children,t=a.length-1;t>=0;t--)n=a[t],\"text\"===n.type&&(o=n.content,o=r(o),i.test(o)&&(o=o.replace(/\\+-/g,\"±\").replace(/\\.{2,}/g,\"…\").replace(/([?!])…/g,\"$1..\").replace(/([?!]){4,}/g,\"$1$1$1\").replace(/,{2,}/g,\",\").replace(/(^|[^-])---([^-]|$)/gm,\"$1—$2\").replace(/(^|\\s)--(\\s|$)/gm,\"$1–$2\").replace(/(^|[^-\\s])--([^-\\s]|$)/gm,\"$1–$2\")),n.content=o)}},function(e,t,n){\"use strict\";function r(e,t){return!(t<0||t>=e.length)&&!s.test(e[t])}function i(e,t,n){return e.substr(0,t)+n+e.substr(t+1)}var o=/['\"]/,a=/['\"]/g,s=/[-\\s()\\[\\]]/;e.exports=function(e){var t,n,s,u,l,c,p,f,h,d,m,v,g,y,_,b,x;if(e.options.typographer)for(x=[],_=e.tokens.length-1;_>=0;_--)if(\"inline\"===e.tokens[_].type)for(b=e.tokens[_].children,x.length=0,t=0;t<b.length;t++)if(n=b[t],\"text\"===n.type&&!o.test(n.text)){for(p=b[t].level,g=x.length-1;g>=0&&!(x[g].level<=p);g--);x.length=g+1,s=n.content,l=0,c=s.length;e:for(;l<c&&(a.lastIndex=l,u=a.exec(s));)if(f=!r(s,u.index-1),l=u.index+1,y=\"'\"===u[0],(h=!r(s,l))||f){if(m=!h,v=!f)for(g=x.length-1;g>=0&&(d=x[g],!(x[g].level<p));g--)if(d.single===y&&x[g].level===p){d=x[g],y?(b[d.token].content=i(b[d.token].content,d.pos,e.options.quotes[2]),n.content=i(n.content,u.index,e.options.quotes[3])):(b[d.token].content=i(b[d.token].content,d.pos,e.options.quotes[0]),n.content=i(n.content,u.index,e.options.quotes[1])),x.length=g;continue e}m?x.push({token:t,pos:u.index,single:y,level:p}):v&&y&&(n.content=i(n.content,u.index,\"’\"))}else y&&(n.content=i(n.content,u.index,\"’\"))}}},function(e,t,n){\"use strict\";var r=n(1144),i=n(502),o=/^<([a-zA-Z0-9.!#$%&'*+\\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)>/,a=/^<([a-zA-Z.\\-]{1,25}):([^<>\\x00-\\x20]*)>/;e.exports=function(e,t){var n,s,u,l,c,p=e.pos;return 60===e.src.charCodeAt(p)&&(n=e.src.slice(p),!(n.indexOf(\">\")<0)&&((s=n.match(a))?!(r.indexOf(s[1].toLowerCase())<0)&&(l=s[0].slice(1,-1),c=i(l),!!e.parser.validateLink(l)&&(t||(e.push({type:\"link_open\",href:c,level:e.level}),e.push({type:\"text\",content:l,level:e.level+1}),e.push({type:\"link_close\",level:e.level})),e.pos+=s[0].length,!0)):!!(u=n.match(o))&&(l=u[0].slice(1,-1),c=i(\"mailto:\"+l),!!e.parser.validateLink(c)&&(t||(e.push({type:\"link_open\",href:c,level:e.level}),e.push({type:\"text\",content:l,level:e.level+1}),e.push({type:\"link_close\",level:e.level})),e.pos+=u[0].length,!0))))}},function(e,t,n){\"use strict\";e.exports=function(e,t){var n,r,i,o,a,s=e.pos;if(96!==e.src.charCodeAt(s))return!1;for(n=s,s++,r=e.posMax;s<r&&96===e.src.charCodeAt(s);)s++;for(i=e.src.slice(n,s),o=a=s;-1!==(o=e.src.indexOf(\"`\",a));){for(a=o+1;a<r&&96===e.src.charCodeAt(a);)a++;if(a-o===i.length)return t||e.push({type:\"code\",content:e.src.slice(s,o).replace(/[ \\n]+/g,\" \").trim(),block:!1,level:e.level}),e.pos=a,!0}return t||(e.pending+=i),e.pos+=i.length,!0}},function(e,t,n){\"use strict\";e.exports=function(e,t){var n,r,i,o,a,s=e.posMax,u=e.pos;if(126!==e.src.charCodeAt(u))return!1;if(t)return!1;if(u+4>=s)return!1;if(126!==e.src.charCodeAt(u+1))return!1;if(e.level>=e.options.maxNesting)return!1;if(o=u>0?e.src.charCodeAt(u-1):-1,a=e.src.charCodeAt(u+2),126===o)return!1;if(126===a)return!1;if(32===a||10===a)return!1;for(r=u+2;r<s&&126===e.src.charCodeAt(r);)r++;if(r>u+3)return e.pos+=r-u,t||(e.pending+=e.src.slice(u,r)),!0;for(e.pos=u+2,i=1;e.pos+1<s;){if(126===e.src.charCodeAt(e.pos)&&126===e.src.charCodeAt(e.pos+1)&&(o=e.src.charCodeAt(e.pos-1),126!==(a=e.pos+2<s?e.src.charCodeAt(e.pos+2):-1)&&126!==o&&(32!==o&&10!==o?i--:32!==a&&10!==a&&i++,i<=0))){n=!0;break}e.parser.skipToken(e)}return n?(e.posMax=e.pos,e.pos=u+2,t||(e.push({type:\"del_open\",level:e.level++}),e.parser.tokenize(e),e.push({type:\"del_close\",level:--e.level})),e.pos=e.posMax+2,e.posMax=s,!0):(e.pos=u,!1)}},function(e,t,n){\"use strict\";function r(e){return e>=48&&e<=57||e>=65&&e<=90||e>=97&&e<=122}function i(e,t){var n,i,o,a=t,s=!0,u=!0,l=e.posMax,c=e.src.charCodeAt(t);for(n=t>0?e.src.charCodeAt(t-1):-1;a<l&&e.src.charCodeAt(a)===c;)a++;return a>=l&&(s=!1),o=a-t,o>=4?s=u=!1:(i=a<l?e.src.charCodeAt(a):-1,32!==i&&10!==i||(s=!1),32!==n&&10!==n||(u=!1),95===c&&(r(n)&&(s=!1),r(i)&&(u=!1))),{can_open:s,can_close:u,delims:o}}e.exports=function(e,t){var n,r,o,a,s,u,l,c=e.posMax,p=e.pos,f=e.src.charCodeAt(p);if(95!==f&&42!==f)return!1;if(t)return!1;if(l=i(e,p),n=l.delims,!l.can_open)return e.pos+=n,t||(e.pending+=e.src.slice(p,e.pos)),!0;if(e.level>=e.options.maxNesting)return!1;for(e.pos=p+n,u=[n];e.pos<c;)if(e.src.charCodeAt(e.pos)!==f)e.parser.skipToken(e);else{if(l=i(e,e.pos),r=l.delims,l.can_close){for(a=u.pop(),s=r;a!==s;){if(s<a){u.push(a-s);break}if(s-=a,0===u.length)break;e.pos+=a,a=u.pop()}if(0===u.length){n=a,o=!0;break}e.pos+=r;continue}l.can_open&&u.push(r),e.pos+=r}return o?(e.posMax=e.pos,e.pos=p+n,t||(2!==n&&3!==n||e.push({type:\"strong_open\",level:e.level++}),1!==n&&3!==n||e.push({type:\"em_open\",level:e.level++}),e.parser.tokenize(e),1!==n&&3!==n||e.push({type:\"em_close\",level:--e.level}),2!==n&&3!==n||e.push({type:\"strong_close\",level:--e.level})),e.pos=e.posMax+n,e.posMax=c,!0):(e.pos=p,!1)}},function(e,t,n){\"use strict\";var r=n(501),i=n(26).has,o=n(26).isValidEntityCode,a=n(26).fromCodePoint,s=/^&#((?:x[a-f0-9]{1,8}|[0-9]{1,8}));/i,u=/^&([a-z][a-z0-9]{1,31});/i;e.exports=function(e,t){var n,l,c=e.pos,p=e.posMax;if(38!==e.src.charCodeAt(c))return!1;if(c+1<p)if(35===e.src.charCodeAt(c+1)){if(l=e.src.slice(c).match(s))return t||(n=\"x\"===l[1][0].toLowerCase()?parseInt(l[1].slice(1),16):parseInt(l[1],10),e.pending+=a(o(n)?n:65533)),e.pos+=l[0].length,!0}else if((l=e.src.slice(c).match(u))&&i(r,l[1]))return t||(e.pending+=r[l[1]]),e.pos+=l[0].length,!0;return t||(e.pending+=\"&\"),e.pos++,!0}},function(e,t,n){\"use strict\";for(var r=[],i=0;i<256;i++)r.push(0);\"\\\\!\\\"#$%&'()*+,./:;<=>?@[]^_`{|}~-\".split(\"\").forEach(function(e){r[e.charCodeAt(0)]=1}),e.exports=function(e,t){var n,i=e.pos,o=e.posMax;if(92!==e.src.charCodeAt(i))return!1;if(++i<o){if((n=e.src.charCodeAt(i))<256&&0!==r[n])return t||(e.pending+=e.src[i]),e.pos+=2,!0;if(10===n){for(t||e.push({type:\"hardbreak\",level:e.level}),i++;i<o&&32===e.src.charCodeAt(i);)i++;return e.pos=i,!0}}return t||(e.pending+=\"\\\\\"),e.pos++,!0}},function(e,t,n){\"use strict\";var r=n(166);e.exports=function(e,t){var n,i,o,a,s=e.posMax,u=e.pos;return!(u+2>=s)&&(94===e.src.charCodeAt(u)&&(91===e.src.charCodeAt(u+1)&&(!(e.level>=e.options.maxNesting)&&(n=u+2,!((i=r(e,u+1))<0)&&(t||(e.env.footnotes||(e.env.footnotes={}),e.env.footnotes.list||(e.env.footnotes.list=[]),o=e.env.footnotes.list.length,e.pos=n,e.posMax=i,e.push({type:\"footnote_ref\",id:o,level:e.level}),e.linkLevel++,a=e.tokens.length,e.parser.tokenize(e),e.env.footnotes.list[o]={tokens:e.tokens.splice(a)},e.linkLevel--),e.pos=i+1,e.posMax=s,!0)))))}},function(e,t,n){\"use strict\";e.exports=function(e,t){var n,r,i,o,a=e.posMax,s=e.pos;if(s+3>a)return!1;if(!e.env.footnotes||!e.env.footnotes.refs)return!1;if(91!==e.src.charCodeAt(s))return!1;if(94!==e.src.charCodeAt(s+1))return!1;if(e.level>=e.options.maxNesting)return!1;for(r=s+2;r<a;r++){if(32===e.src.charCodeAt(r))return!1;if(10===e.src.charCodeAt(r))return!1;if(93===e.src.charCodeAt(r))break}return r!==s+2&&(!(r>=a)&&(r++,n=e.src.slice(s+2,r-1),void 0!==e.env.footnotes.refs[\":\"+n]&&(t||(e.env.footnotes.list||(e.env.footnotes.list=[]),e.env.footnotes.refs[\":\"+n]<0?(i=e.env.footnotes.list.length,e.env.footnotes.list[i]={label:n,count:0},e.env.footnotes.refs[\":\"+n]=i):i=e.env.footnotes.refs[\":\"+n],o=e.env.footnotes.list[i].count,e.env.footnotes.list[i].count++,e.push({type:\"footnote_ref\",id:i,subId:o,level:e.level})),e.pos=r,e.posMax=a,!0)))}},function(e,t,n){\"use strict\";function r(e){var t=32|e;return t>=97&&t<=122}var i=n(1143).HTML_TAG_RE;e.exports=function(e,t){var n,o,a,s=e.pos;return!!e.options.html&&(a=e.posMax,!(60!==e.src.charCodeAt(s)||s+2>=a)&&(!(33!==(n=e.src.charCodeAt(s+1))&&63!==n&&47!==n&&!r(n))&&(!!(o=e.src.slice(s).match(i))&&(t||e.push({type:\"htmltag\",content:e.src.slice(s,s+o[0].length),level:e.level}),e.pos+=o[0].length,!0))))}},function(e,t,n){\"use strict\";e.exports=function(e,t){var n,r,i,o,a,s=e.posMax,u=e.pos;if(43!==e.src.charCodeAt(u))return!1;if(t)return!1;if(u+4>=s)return!1;if(43!==e.src.charCodeAt(u+1))return!1;if(e.level>=e.options.maxNesting)return!1;if(o=u>0?e.src.charCodeAt(u-1):-1,a=e.src.charCodeAt(u+2),43===o)return!1;if(43===a)return!1;if(32===a||10===a)return!1;for(r=u+2;r<s&&43===e.src.charCodeAt(r);)r++;if(r!==u+2)return e.pos+=r-u,t||(e.pending+=e.src.slice(u,r)),!0;for(e.pos=u+2,i=1;e.pos+1<s;){if(43===e.src.charCodeAt(e.pos)&&43===e.src.charCodeAt(e.pos+1)&&(o=e.src.charCodeAt(e.pos-1),43!==(a=e.pos+2<s?e.src.charCodeAt(e.pos+2):-1)&&43!==o&&(32!==o&&10!==o?i--:32!==a&&10!==a&&i++,i<=0))){n=!0;break}e.parser.skipToken(e)}return n?(e.posMax=e.pos,e.pos=u+2,t||(e.push({type:\"ins_open\",level:e.level++}),e.parser.tokenize(e),e.push({type:\"ins_close\",level:--e.level})),e.pos=e.posMax+2,e.posMax=s,!0):(e.pos=u,!1)}},function(e,t,n){\"use strict\";var r=n(166),i=n(504),o=n(505),a=n(503);e.exports=function(e,t){var n,s,u,l,c,p,f,h,d=!1,m=e.pos,v=e.posMax,g=e.pos,y=e.src.charCodeAt(g);if(33===y&&(d=!0,y=e.src.charCodeAt(++g)),91!==y)return!1;if(e.level>=e.options.maxNesting)return!1;if(n=g+1,(s=r(e,g))<0)return!1;if((p=s+1)<v&&40===e.src.charCodeAt(p)){for(p++;p<v&&(32===(h=e.src.charCodeAt(p))||10===h);p++);if(p>=v)return!1;for(g=p,i(e,p)?(l=e.linkContent,p=e.pos):l=\"\",g=p;p<v&&(32===(h=e.src.charCodeAt(p))||10===h);p++);if(p<v&&g!==p&&o(e,p))for(c=e.linkContent,p=e.pos;p<v&&(32===(h=e.src.charCodeAt(p))||10===h);p++);else c=\"\";if(p>=v||41!==e.src.charCodeAt(p))return e.pos=m,!1;p++}else{if(e.linkLevel>0)return!1;for(;p<v&&(32===(h=e.src.charCodeAt(p))||10===h);p++);if(p<v&&91===e.src.charCodeAt(p)&&(g=p+1,p=r(e,p),p>=0?u=e.src.slice(g,p++):p=g-1),u||(void 0===u&&(p=s+1),u=e.src.slice(n,s)),!(f=e.env.references[a(u)]))return e.pos=m,!1;l=f.href,c=f.title}return t||(e.pos=n,e.posMax=s,d?e.push({type:\"image\",src:l,title:c,alt:e.src.substr(n,s-n),level:e.level}):(e.push({type:\"link_open\",href:l,title:c,level:e.level++}),e.linkLevel++,e.parser.tokenize(e),e.linkLevel--,e.push({type:\"link_close\",level:--e.level}))),e.pos=p,e.posMax=v,!0}},function(e,t,n){\"use strict\";e.exports=function(e,t){var n,r,i,o,a,s=e.posMax,u=e.pos;if(61!==e.src.charCodeAt(u))return!1;if(t)return!1;if(u+4>=s)return!1;if(61!==e.src.charCodeAt(u+1))return!1;if(e.level>=e.options.maxNesting)return!1;if(o=u>0?e.src.charCodeAt(u-1):-1,a=e.src.charCodeAt(u+2),61===o)return!1;if(61===a)return!1;if(32===a||10===a)return!1;for(r=u+2;r<s&&61===e.src.charCodeAt(r);)r++;if(r!==u+2)return e.pos+=r-u,t||(e.pending+=e.src.slice(u,r)),!0;for(e.pos=u+2,i=1;e.pos+1<s;){if(61===e.src.charCodeAt(e.pos)&&61===e.src.charCodeAt(e.pos+1)&&(o=e.src.charCodeAt(e.pos-1),61!==(a=e.pos+2<s?e.src.charCodeAt(e.pos+2):-1)&&61!==o&&(32!==o&&10!==o?i--:32!==a&&10!==a&&i++,i<=0))){n=!0;break}e.parser.skipToken(e)}return n?(e.posMax=e.pos,e.pos=u+2,t||(e.push({type:\"mark_open\",level:e.level++}),e.parser.tokenize(e),e.push({type:\"mark_close\",level:--e.level})),e.pos=e.posMax+2,e.posMax=s,!0):(e.pos=u,!1)}},function(e,t,n){\"use strict\";e.exports=function(e,t){var n,r,i=e.pos;if(10!==e.src.charCodeAt(i))return!1;if(n=e.pending.length-1,r=e.posMax,!t)if(n>=0&&32===e.pending.charCodeAt(n))if(n>=1&&32===e.pending.charCodeAt(n-1)){for(var o=n-2;o>=0;o--)if(32!==e.pending.charCodeAt(o)){e.pending=e.pending.substring(0,o+1);break}e.push({type:\"hardbreak\",level:e.level})}else e.pending=e.pending.slice(0,-1),e.push({type:\"softbreak\",level:e.level});else e.push({type:\"softbreak\",level:e.level});for(i++;i<r&&32===e.src.charCodeAt(i);)i++;return e.pos=i,!0}},function(e,t,n){\"use strict\";var r=/\\\\([ \\\\!\"#$%&'()*+,.\\/:;<=>?@[\\]^_`{|}~-])/g;e.exports=function(e,t){var n,i,o=e.posMax,a=e.pos;if(126!==e.src.charCodeAt(a))return!1;if(t)return!1;if(a+2>=o)return!1;if(e.level>=e.options.maxNesting)return!1;for(e.pos=a+1;e.pos<o;){if(126===e.src.charCodeAt(e.pos)){n=!0;break}e.parser.skipToken(e)}return n&&a+1!==e.pos?(i=e.src.slice(a+1,e.pos),i.match(/(^|[^\\\\])(\\\\\\\\)*\\s/)?(e.pos=a,!1):(e.posMax=e.pos,e.pos=a+1,t||e.push({type:\"sub\",level:e.level,content:i.replace(r,\"$1\")}),e.pos=e.posMax+1,e.posMax=o,!0)):(e.pos=a,!1)}},function(e,t,n){\"use strict\";var r=/\\\\([ \\\\!\"#$%&'()*+,.\\/:;<=>?@[\\]^_`{|}~-])/g;e.exports=function(e,t){var n,i,o=e.posMax,a=e.pos;if(94!==e.src.charCodeAt(a))return!1;if(t)return!1;if(a+2>=o)return!1;if(e.level>=e.options.maxNesting)return!1;for(e.pos=a+1;e.pos<o;){if(94===e.src.charCodeAt(e.pos)){n=!0;break}e.parser.skipToken(e)}return n&&a+1!==e.pos?(i=e.src.slice(a+1,e.pos),i.match(/(^|[^\\\\])(\\\\\\\\)*\\s/)?(e.pos=a,!1):(e.posMax=e.pos,e.pos=a+1,t||e.push({type:\"sup\",level:e.level,content:i.replace(r,\"$1\")}),e.pos=e.posMax+1,e.posMax=o,!0)):(e.pos=a,!1)}},function(e,t,n){\"use strict\";function r(e){switch(e){case 10:case 92:case 96:case 42:case 95:case 94:case 91:case 93:case 33:case 38:case 60:case 62:case 123:case 125:case 36:case 37:case 64:case 126:case 43:case 61:case 58:return!0;default:return!1}}e.exports=function(e,t){for(var n=e.pos;n<e.posMax&&!r(e.src.charCodeAt(n));)n++;return n!==e.pos&&(t||(e.pending+=e.src.slice(e.pos,n)),e.pos=n,!0)}},function(e,t,n){\"use strict\";function r(e,t){if(\"string\"!=typeof e)throw new TypeError(\"expected a string\");if(1===t)return e;if(2===t)return e+e;var n=e.length*t;if(i!==e||void 0===i)i=e,o=\"\";else if(o.length>=n)return o.substr(0,n);for(;n>o.length&&t>1;)1&t&&(o+=e),t>>=1,e+=e;return o+=e,o=o.substr(0,n)}/*!\n * repeat-string <https://github.com/jonschlinkert/repeat-string>\n *\n * Copyright (c) 2014-2015, Jon Schlinkert.\n * Licensed under the MIT License.\n */\nvar i,o=\"\";e.exports=r},function(e,t,n){\"use strict\";e.exports=function(e,t){if(t=t.split(\":\")[0],!(e=+e))return!1;switch(t){case\"http\":case\"ws\":return 80!==e;case\"https\":case\"wss\":return 443!==e;case\"ftp\":return 21!==e;case\"gopher\":return 70!==e;case\"file\":return!1}return 0!==e}},function(e,t,n){\"use strict\";function r(e,t){e&&Object.keys(e).forEach(function(n){t(e[n],n)})}function i(e,t){return{}.hasOwnProperty.call(e,t)}function o(e,t){var n=[];return r(e,function(e){t(e)&&n.push(e)}),n}function a(e,t,n){function _(e,t){var n=this;this.tag=e,this.attribs=t||{},this.tagPosition=C.length,this.text=\"\",this.updateParentNodeText=function(){if(R.length){R[R.length-1].text+=n.text}}}function b(e){return\"string\"!=typeof e&&(e+=\"\"),e.replace(/\\&/g,\"&amp;\").replace(/</g,\"&lt;\").replace(/\\>/g,\"&gt;\").replace(/\\\"/g,\"&quot;\")}function x(e,n){n=n.replace(/[\\x00-\\x20]+/g,\"\"),n=n.replace(/<\\!\\-\\-.*?\\-\\-\\>/g,\"\");var r=n.match(/^([a-zA-Z]+)\\:/);if(!r)return!!n.match(/^[\\/\\\\]{2}/)&&!t.allowProtocolRelative;var o=r[1].toLowerCase();return i(t.allowedSchemesByTag,e)?-1===t.allowedSchemesByTag[e].indexOf(o):!t.allowedSchemes||-1===t.allowedSchemes.indexOf(o)}function w(e,t){if(!t)return e;var n,r=c(e),i=e.nodes[0];return n=t[i.selector]&&t[\"*\"]?p(c(t[i.selector]),t[\"*\"],function(e,t){if(Array.isArray(e))return e.concat(t)}):t[i.selector]||t[\"*\"],n&&(r.nodes[0].nodes=i.nodes.reduce(E(n),[])),r}function k(e){return e.nodes[0].nodes.reduce(function(e,t){return e.push(t.prop+\":\"+t.value+\";\"),e},[]).join(\"\")}function E(e){return function(t,n){if(e.hasOwnProperty(n.prop)){e[n.prop].some(function(e){return e.test(n.value)})&&t.push(n)}return t}}function S(e,t){return t?(e=e.split(/\\s+/),e.filter(function(e){return-1!==t.indexOf(e)}).join(\" \")):e}var C=\"\";t?(t=u(a.defaults,t),t.parser?t.parser=u(y,t.parser):t.parser=y):(t=a.defaults,t.parser=y);var A,D,O=t.nonTextTags||[\"script\",\"style\",\"textarea\"];t.allowedAttributes&&(A={},D={},r(t.allowedAttributes,function(e,t){A[t]=[];var n=[];e.forEach(function(e){f(e)&&e.indexOf(\"*\")>=0?n.push(l(e).replace(/\\\\\\*/g,\".*\")):A[t].push(e)}),D[t]=new RegExp(\"^(\"+n.join(\"|\")+\")$\")}));var M={};r(t.allowedClasses,function(e,t){A&&(i(A,t)||(A[t]=[]),A[t].push(\"class\")),M[t]=e});var T,P={};r(t.transformTags,function(e,t){var n;\"function\"==typeof e?n=e:\"string\"==typeof e&&(n=a.simpleTransform(e)),\"*\"===t?T=n:P[t]=n});var I=0,R=[],j={},N={},F=!1,B=0,L=new s.Parser({onopentag:function(e,n){if(F)return void B++;var a=new _(e,n);R.push(a);var s,u=!1,l=!!a.text;i(P,e)&&(s=P[e](e,n),a.attribs=n=s.attribs,void 0!==s.text&&(a.innerText=s.text),e!==s.tagName&&(a.name=e=s.tagName,N[I]=s.tagName)),T&&(s=T(e,n),a.attribs=n=s.attribs,e!==s.tagName&&(a.name=e=s.tagName,N[I]=s.tagName)),t.allowedTags&&-1===t.allowedTags.indexOf(e)&&(u=!0,-1!==O.indexOf(e)&&(F=!0,B=1),j[I]=!0),I++,u||(C+=\"<\"+e,(!A||i(A,e)||A[\"*\"])&&r(n,function(n,s){if(!g.test(s))return void delete a.attribs[s];var u,l=!1;if(!A||i(A,e)&&-1!==A[e].indexOf(s)||A[\"*\"]&&-1!==A[\"*\"].indexOf(s)||i(D,e)&&D[e].test(s)||D[\"*\"]&&D[\"*\"].test(s))l=!0;else if(A&&A[e]){var c=!0,p=!1,f=void 0;try{for(var y,_=A[e][Symbol.iterator]();!(c=(y=_.next()).done);c=!0){var E=y.value;if(h(E)&&E.name&&E.name===s){l=!0;var O=\"\";if(!0===E.multiple){var T=n.split(\" \"),P=!0,I=!1,R=void 0;try{for(var j,N=T[Symbol.iterator]();!(P=(j=N.next()).done);P=!0){var F=j.value;-1!==E.values.indexOf(F)&&(\"\"===O?O=F:O+=\" \"+F)}}catch(e){I=!0,R=e}finally{try{!P&&N.return&&N.return()}finally{if(I)throw R}}}else E.values.indexOf(n)>=0&&(O=n);n=O}}}catch(e){p=!0,f=e}finally{try{!c&&_.return&&_.return()}finally{if(p)throw f}}}if(l){if(-1!==t.allowedSchemesAppliedToAttributes.indexOf(s)&&x(e,n))return void delete a.attribs[s];if(\"iframe\"===e&&\"src\"===s){if(\"//\"===n.substring(0,2)){n=\"https:\".concat(n)}try{if(u=v.parse(n),t.allowedIframeHostnames){if(!t.allowedIframeHostnames.find(function(e){return e===u.hostname}))return void delete a.attribs[s]}}catch(e){return void delete a.attribs[s]}}if(\"srcset\"===s)try{if(u=d.parse(n),r(u,function(e){x(\"srcset\",e.url)&&(e.evil=!0)}),u=o(u,function(e){return!e.evil}),!u.length)return void delete a.attribs[s];n=d.stringify(o(u,function(e){return!e.evil})),a.attribs[s]=n}catch(e){return void delete a.attribs[s]}if(\"class\"===s&&(n=S(n,M[e]),!n.length))return void delete a.attribs[s];if(\"style\"===s)try{if(n=k(w(m.parse(e+\" {\"+n+\"}\"),t.allowedStyles)),0===n.length)return void delete a.attribs[s]}catch(e){return void delete a.attribs[s]}C+=\" \"+s,n.length&&(C+='=\"'+b(n)+'\"')}else delete a.attribs[s]}),-1!==t.selfClosing.indexOf(e)?C+=\" />\":(C+=\">\",!a.innerText||l||t.textFilter||(C+=a.innerText)))},ontext:function(e){if(!F){var n,r=R[R.length-1];if(r&&(n=r.tag,e=void 0!==r.innerText?r.innerText:e),\"script\"===n||\"style\"===n)C+=e;else{var i=b(e);t.textFilter?C+=t.textFilter(i):C+=i}if(R.length){R[R.length-1].text+=e}}},onclosetag:function(e){if(F){if(--B)return;F=!1}var n=R.pop();if(n){if(F=!1,I--,j[I])return delete j[I],void n.updateParentNodeText();if(N[I]&&(e=N[I],delete N[I]),t.exclusiveFilter&&t.exclusiveFilter(n))return void(C=C.substr(0,n.tagPosition));n.updateParentNodeText(),-1===t.selfClosing.indexOf(e)&&(C+=\"</\"+e+\">\")}}},t.parser);return L.write(e),L.end(),C}var s=n(116),u=n(1215),l=n(841),c=n(839),p=n(843),f=n(842),h=n(401),d=n(1196),m=n(996),v=n(511);e.exports=a;var g=/^[^\\0\\t\\n\\f\\r \\/<=>]+$/,y={decodeEntities:!0};a.defaults={allowedTags:[\"h3\",\"h4\",\"h5\",\"h6\",\"blockquote\",\"p\",\"a\",\"ul\",\"ol\",\"nl\",\"li\",\"b\",\"i\",\"strong\",\"em\",\"strike\",\"code\",\"hr\",\"br\",\"div\",\"table\",\"thead\",\"caption\",\"tbody\",\"tr\",\"th\",\"td\",\"pre\",\"iframe\"],allowedAttributes:{a:[\"href\",\"name\",\"target\"],img:[\"src\"]},selfClosing:[\"img\",\"br\",\"hr\",\"area\",\"base\",\"basefont\",\"input\",\"link\",\"meta\"],allowedSchemes:[\"http\",\"https\",\"ftp\",\"mailto\"],allowedSchemesByTag:{},allowedSchemesAppliedToAttributes:[\"href\",\"src\",\"cite\"],allowProtocolRelative:!0},a.simpleTransform=function(e,t,n){return n=void 0===n||n,t=t||{},function(r,i){var o;if(n)for(o in t)i[o]=t[o];else i=t;return{tagName:e,attribs:i}}}},function(e,t,n){(function(e,t){!function(e,n){\"use strict\";function r(e){\"function\"!=typeof e&&(e=new Function(\"\"+e));for(var t=new Array(arguments.length-1),n=0;n<t.length;n++)t[n]=arguments[n+1];var r={callback:e,args:t};return l[u]=r,s(u),u++}function i(e){delete l[e]}function o(e){var t=e.callback,r=e.args;switch(r.length){case 0:t();break;case 1:t(r[0]);break;case 2:t(r[0],r[1]);break;case 3:t(r[0],r[1],r[2]);break;default:t.apply(n,r)}}function a(e){if(c)setTimeout(a,0,e);else{var t=l[e];if(t){c=!0;try{o(t)}finally{i(e),c=!1}}}}if(!e.setImmediate){var s,u=1,l={},c=!1,p=e.document,f=Object.getPrototypeOf&&Object.getPrototypeOf(e);f=f&&f.setTimeout?f:e,\"[object process]\"==={}.toString.call(e.process)?function(){s=function(e){t.nextTick(function(){a(e)})}}():function(){if(e.postMessage&&!e.importScripts){var t=!0,n=e.onmessage;return e.onmessage=function(){t=!1},e.postMessage(\"\",\"*\"),e.onmessage=n,t}}()?function(){var t=\"setImmediate$\"+Math.random()+\"$\",n=function(n){n.source===e&&\"string\"==typeof n.data&&0===n.data.indexOf(t)&&a(+n.data.slice(t.length))};e.addEventListener?e.addEventListener(\"message\",n,!1):e.attachEvent(\"onmessage\",n),s=function(n){e.postMessage(t+n,\"*\")}}():e.MessageChannel?function(){var e=new MessageChannel;e.port1.onmessage=function(e){a(e.data)},s=function(t){e.port2.postMessage(t)}}():p&&\"onreadystatechange\"in p.createElement(\"script\")?function(){var e=p.documentElement;s=function(t){var n=p.createElement(\"script\");n.onreadystatechange=function(){a(t),n.onreadystatechange=null,e.removeChild(n),n=null},e.appendChild(n)}}():function(){s=function(e){setTimeout(a,0,e)}}(),f.setImmediate=r,f.clearImmediate=i}}(\"undefined\"==typeof self?void 0===e?this:e:self)}).call(t,n(16),n(34))},function(e,t,n){\"use strict\";function r(e){return e.sort().filter(function(t,n){return JSON.stringify(t)!==JSON.stringify(e[n-1])})}var i=n(992),o=n(521),a=/^\\d+$/;t.parse=function(e){return r(e.split(\",\").map(function(e){var t={};return e.trim().split(/\\s+/).forEach(function(e,n){if(0===n)return t.url=e;var r=e.substring(0,e.length-1),o=e[e.length-1],s=parseInt(r,10),u=parseFloat(r);if(\"w\"===o&&a.test(r))t.width=s;else if(\"h\"===o&&a.test(r))t.height=s;else{if(\"x\"!==o||i(u))throw new Error(\"Invalid srcset descriptor: \"+e+\".\");t.density=u}}),t}))},t.stringify=function(e){return o(e.map(function(e){if(!e.url)throw new Error(\"URL is required.\");var t=[e.url];return e.width&&t.push(e.width+\"w\"),e.height&&t.push(e.height+\"h\"),e.density&&t.push(e.density+\"x\"),t.join(\" \")})).join(\", \")}},function(e,t,n){\"use strict\";(function(e,r){var i,o=n(1198);i=\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:void 0!==e?e:r;var a=n.i(o.a)(i);t.a=a}).call(t,n(16),n(1210)(e))},function(e,t,n){\"use strict\";function r(e){var t,n=e.Symbol;return\"function\"==typeof n?n.observable?t=n.observable:(t=n(\"observable\"),n.observable=t):t=\"@@observable\",t}t.a=r},function(e,t,n){\"use strict\";e.exports=2147483647},function(e,t,n){\"use strict\";var r=n(65),i=n(1199);e.exports=function(e){if((e=r(e))>i)throw new TypeError(e+\" exceeds maximum possible timeout\");return e}},function(e,t,n){\"use strict\";(function(t){function r(e){e=e||t.location||{};var n,r={},i=typeof e;if(\"blob:\"===e.protocol)r=new a(unescape(e.pathname),{});else if(\"string\"===i){r=new a(e,{});for(n in d)delete r[n]}else if(\"object\"===i){for(n in e)n in d||(r[n]=e[n]);void 0===r.slashes&&(r.slashes=f.test(e.href))}return r}function i(e){var t=p.exec(e);return{protocol:t[1]?t[1].toLowerCase():\"\",slashes:!!t[2],rest:t[3]}}function o(e,t){for(var n=(t||\"/\").split(\"/\").slice(0,-1).concat(e.split(\"/\")),r=n.length,i=n[r-1],o=!1,a=0;r--;)\".\"===n[r]?n.splice(r,1):\"..\"===n[r]?(n.splice(r,1),a++):a&&(0===r&&(o=!0),n.splice(r,1),a--);return o&&n.unshift(\"\"),\".\"!==i&&\"..\"!==i||n.push(\"\"),n.join(\"/\")}function a(e,t,n){if(!(this instanceof a))return new a(e,t,n);var s,u,p,f,d,m,v=h.slice(),g=typeof t,y=this,_=0;for(\"object\"!==g&&\"string\"!==g&&(n=t,t=null),n&&\"function\"!=typeof n&&(n=c.parse),t=r(t),u=i(e||\"\"),s=!u.protocol&&!u.slashes,y.slashes=u.slashes||s&&t.slashes,y.protocol=u.protocol||t.protocol||\"\",e=u.rest,u.slashes||(v[2]=[/(.*)/,\"pathname\"]);_<v.length;_++)f=v[_],p=f[0],m=f[1],p!==p?y[m]=e:\"string\"==typeof p?~(d=e.indexOf(p))&&(\"number\"==typeof f[2]?(y[m]=e.slice(0,d),e=e.slice(d+f[2])):(y[m]=e.slice(d),e=e.slice(0,d))):(d=p.exec(e))&&(y[m]=d[1],e=e.slice(0,d.index)),y[m]=y[m]||(s&&f[3]?t[m]||\"\":\"\"),f[4]&&(y[m]=y[m].toLowerCase());n&&(y.query=n(y.query)),s&&t.slashes&&\"/\"!==y.pathname.charAt(0)&&(\"\"!==y.pathname||\"\"!==t.pathname)&&(y.pathname=o(y.pathname,t.pathname)),l(y.port,y.protocol)||(y.host=y.hostname,y.port=\"\"),y.username=y.password=\"\",y.auth&&(f=y.auth.split(\":\"),y.username=f[0]||\"\",y.password=f[1]||\"\"),y.origin=y.protocol&&y.host&&\"file:\"!==y.protocol?y.protocol+\"//\"+y.host:\"null\",y.href=y.toString()}function s(e,t,n){var r=this;switch(e){case\"query\":\"string\"==typeof t&&t.length&&(t=(n||c.parse)(t)),r[e]=t;break;case\"port\":r[e]=t,l(t,r.protocol)?t&&(r.host=r.hostname+\":\"+t):(r.host=r.hostname,r[e]=\"\");break;case\"hostname\":r[e]=t,r.port&&(t+=\":\"+r.port),r.host=t;break;case\"host\":r[e]=t,/:\\d+$/.test(t)?(t=t.split(\":\"),r.port=t.pop(),r.hostname=t.join(\":\")):(r.hostname=t,r.port=\"\");break;case\"protocol\":r.protocol=t.toLowerCase(),r.slashes=!n;break;case\"pathname\":case\"hash\":if(t){var i=\"pathname\"===e?\"/\":\"#\";r[e]=t.charAt(0)!==i?i+t:t}else r[e]=t;break;default:r[e]=t}for(var o=0;o<h.length;o++){var a=h[o];a[4]&&(r[a[1]]=r[a[1]].toLowerCase())}return r.origin=r.protocol&&r.host&&\"file:\"!==r.protocol?r.protocol+\"//\"+r.host:\"null\",r.href=r.toString(),r}function u(e){e&&\"function\"==typeof e||(e=c.stringify);var t,n=this,r=n.protocol;r&&\":\"!==r.charAt(r.length-1)&&(r+=\":\");var i=r+(n.slashes?\"//\":\"\");return n.username&&(i+=n.username,n.password&&(i+=\":\"+n.password),i+=\"@\"),i+=n.host+n.pathname,t=\"object\"==typeof n.query?e(n.query):n.query,t&&(i+=\"?\"!==t.charAt(0)?\"?\"+t:t),n.hash&&(i+=n.hash),i}var l=n(1193),c=n(1018),p=/^([a-z][a-z0-9.+-]*:)?(\\/\\/)?([\\S\\s]*)/i,f=/^[A-Za-z][A-Za-z0-9+-.]*:\\/\\//,h=[[\"#\",\"hash\"],[\"?\",\"query\"],[\"/\",\"pathname\"],[\"@\",\"auth\",1],[NaN,\"host\",void 0,1,1],[/:(\\d+)$/,\"port\",void 0,1],[NaN,\"hostname\",void 0,1,1]],d={hash:1,query:1};a.prototype={set:s,toString:u},a.extractProtocol=i,a.location=r,a.qs=c,e.exports=a}).call(t,n(16))},function(e,t,n){\"use strict\";e.exports={isString:function(e){return\"string\"==typeof e},isObject:function(e){return\"object\"==typeof e&&null!==e},isNull:function(e){return null===e},isNullOrUndefined:function(e){return null==e}}},function(e,t){e.exports=function(e){for(var t=[],n=0;n<e.length;n++){var r=e.charCodeAt(n);if(r>=55296&&r<=56319&&n+1<e.length){var i=e.charCodeAt(n+1);if(i>=56320&&i<=57343){var o=1024*(r-55296)+i-56320+65536;t.push(240+Math.floor(o/64/64/64),128+Math.floor(o/64/64)%64,128+Math.floor(o/64)%64,128+o%64),n+=1;continue}}r>=2048?t.push(224+Math.floor(r/64/64),128+Math.floor(r/64)%64,128+r%64):r>=128?t.push(192+Math.floor(r/64),128+r%64):t.push(r)}return t}},function(e,t){!function(){function e(e,t){function n(e,t){return r(e,new RegExp(a.source,\"g\"),t)}function r(e,t,n){if(!i(e))return n;var r=0,o=0;do{var a=t.exec(e);if(null===a)break;if(!(o<n))break;r+=a[0].length,o++}while(null!==a);return r>=e.length?-1:r}function i(e){return s.test(e)}function o(e,n){void 0==e&&(e=[\"[^]\"]),void 0==n&&(n=\"g\");var r=[];return t.forEach(function(e){r.push(e.source)}),r.push(a.source),r=r.concat(e),new RegExp(r.join(\"|\"),n)}e.findCharIndex=function(e,t){if(t>=e.length)return-1;if(!i(e))return t;for(var n=o(),r=0;null!==n.exec(e)&&!(n.lastIndex>t);)r++;return r},e.findByteIndex=function(e,t){return t>=this.length(e)?-1:r(e,o(),t)},e.charAt=function(e,t){var n=this.findByteIndex(e,t);if(n<0||n>=e.length)return\"\";var r=e.slice(n,n+8),i=s.exec(r);return null===i?r[0]:i[0]},e.charCodeAt=function(e,t){var r=n(e,t);if(r<0)return NaN;var i=e.charCodeAt(r);if(55296<=i&&i<=56319){return 1024*(i-55296)+(e.charCodeAt(r+1)-56320)+65536}return i},e.fromCharCode=function(e){return e>65535?(e-=65536,String.fromCharCode(55296+(e>>10),56320+(1023&e))):String.fromCharCode(e)},e.indexOf=function(e,t,n){void 0!==n&&null!==n||(n=0);var r=this.findByteIndex(e,n),i=e.indexOf(t,r);return i<0?-1:this.findCharIndex(e,i)},e.lastIndexOf=function(e,t,n){var r;if(void 0===n||null===n)r=e.lastIndexOf(t);else{var i=this.findByteIndex(e,n);r=e.lastIndexOf(t,i)}return r<0?-1:this.findCharIndex(e,r)},e.slice=function(e,t,n){var r,i=this.findByteIndex(e,t);return i<0&&(i=e.length),void 0===n||null===n?r=e.length:(r=this.findByteIndex(e,n))<0&&(r=e.length),e.slice(i,r)},e.substr=function(e,t,n){return t<0&&(t=this.length(e)+t),void 0===n||null===n?this.slice(e,t):this.slice(e,t,t+n)},e.substring=e.slice,e.length=function(e){return this.findCharIndex(e,e.length-1)+1},e.stringToCodePoints=function(e){for(var t=[],n=0;n<e.length&&(codePoint=this.charCodeAt(e,n),codePoint);n++)t.push(codePoint);return t},e.codePointsToString=function(e){for(var t=[],n=0;n<e.length;n++)t.push(this.fromCharCode(e[n]));return t.join(\"\")},e.stringToBytes=function(e){for(var t=[],n=0;n<e.length;n++){for(var r=e.charCodeAt(n),i=[];r>0;)i.push(255&r),r>>=8;1==i.length&&i.push(0),t=t.concat(i.reverse())}return t},e.bytesToString=function(e){for(var t=[],n=0;n<e.length;n+=2){var r=e[n],i=e[n+1],o=r<<8|i;t.push(String.fromCharCode(o))}return t.join(\"\")},e.stringToCharArray=function(e){var t=[],n=o();do{var r=n.exec(e);if(null===r)break;t.push(r[0])}while(null!==r);return t};var a=/[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/,s=o([],\"\")}var n;void 0!==t&&null!==t?n=t:\"undefined\"!=typeof window&&null!==window&&(void 0!==window.UtfString&&null!==window.UtfString||(window.UtfString={}),n=window.UtfString);var r=/\\uD83C[\\uDDE6-\\uDDFF]\\uD83C[\\uDDE6-\\uDDFF]/;n.visual={},e(n,[]),e(n.visual,[r])}()},function(e,t,n){(function(t){function n(e,t){function n(){if(!i){if(r(\"throwDeprecation\"))throw new Error(t);r(\"traceDeprecation\")?console.trace(t):console.warn(t),i=!0}return e.apply(this,arguments)}if(r(\"noDeprecation\"))return e;var i=!1;return n}function r(e){try{if(!t.localStorage)return!1}catch(e){return!1}var n=t.localStorage[e];return null!=n&&\"true\"===String(n).toLowerCase()}e.exports=n}).call(t,n(16))},function(e,t){\"function\"==typeof Object.create?e.exports=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:e.exports=function(e,t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}},function(e,t){e.exports=function(e){return e&&\"object\"==typeof e&&\"function\"==typeof e.copy&&\"function\"==typeof e.fill&&\"function\"==typeof e.readUInt8}},function(e,t,n){(function(e,r){function i(e,n){var r={seen:[],stylize:a};return arguments.length>=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),m(n)?r.showHidden=n:n&&t._extend(r,n),x(r.showHidden)&&(r.showHidden=!1),x(r.depth)&&(r.depth=2),x(r.colors)&&(r.colors=!1),x(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=o),u(r,e,r.depth)}function o(e,t){var n=i.styles[t];return n?\"\u001b[\"+i.colors[n][0]+\"m\"+e+\"\u001b[\"+i.colors[n][1]+\"m\":e}function a(e,t){return e}function s(e){var t={};return e.forEach(function(e,n){t[e]=!0}),t}function u(e,n,r){if(e.customInspect&&n&&C(n.inspect)&&n.inspect!==t.inspect&&(!n.constructor||n.constructor.prototype!==n)){var i=n.inspect(r,e);return _(i)||(i=u(e,i,r)),i}var o=l(e,n);if(o)return o;var a=Object.keys(n),m=s(a);if(e.showHidden&&(a=Object.getOwnPropertyNames(n)),S(n)&&(a.indexOf(\"message\")>=0||a.indexOf(\"description\")>=0))return c(n);if(0===a.length){if(C(n)){var v=n.name?\": \"+n.name:\"\";return e.stylize(\"[Function\"+v+\"]\",\"special\")}if(w(n))return e.stylize(RegExp.prototype.toString.call(n),\"regexp\");if(E(n))return e.stylize(Date.prototype.toString.call(n),\"date\");if(S(n))return c(n)}var g=\"\",y=!1,b=[\"{\",\"}\"];if(d(n)&&(y=!0,b=[\"[\",\"]\"]),C(n)){g=\" [Function\"+(n.name?\": \"+n.name:\"\")+\"]\"}if(w(n)&&(g=\" \"+RegExp.prototype.toString.call(n)),E(n)&&(g=\" \"+Date.prototype.toUTCString.call(n)),S(n)&&(g=\" \"+c(n)),0===a.length&&(!y||0==n.length))return b[0]+g+b[1];if(r<0)return w(n)?e.stylize(RegExp.prototype.toString.call(n),\"regexp\"):e.stylize(\"[Object]\",\"special\");e.seen.push(n);var x;return x=y?p(e,n,r,m,a):a.map(function(t){return f(e,n,r,m,t,y)}),e.seen.pop(),h(x,g,b)}function l(e,t){if(x(t))return e.stylize(\"undefined\",\"undefined\");if(_(t)){var n=\"'\"+JSON.stringify(t).replace(/^\"|\"$/g,\"\").replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"')+\"'\";return e.stylize(n,\"string\")}return y(t)?e.stylize(\"\"+t,\"number\"):m(t)?e.stylize(\"\"+t,\"boolean\"):v(t)?e.stylize(\"null\",\"null\"):void 0}function c(e){return\"[\"+Error.prototype.toString.call(e)+\"]\"}function p(e,t,n,r,i){for(var o=[],a=0,s=t.length;a<s;++a)T(t,String(a))?o.push(f(e,t,n,r,String(a),!0)):o.push(\"\");return i.forEach(function(i){i.match(/^\\d+$/)||o.push(f(e,t,n,r,i,!0))}),o}function f(e,t,n,r,i,o){var a,s,l;if(l=Object.getOwnPropertyDescriptor(t,i)||{value:t[i]},l.get?s=l.set?e.stylize(\"[Getter/Setter]\",\"special\"):e.stylize(\"[Getter]\",\"special\"):l.set&&(s=e.stylize(\"[Setter]\",\"special\")),T(r,i)||(a=\"[\"+i+\"]\"),s||(e.seen.indexOf(l.value)<0?(s=v(n)?u(e,l.value,null):u(e,l.value,n-1),s.indexOf(\"\\n\")>-1&&(s=o?s.split(\"\\n\").map(function(e){return\"  \"+e}).join(\"\\n\").substr(2):\"\\n\"+s.split(\"\\n\").map(function(e){return\"   \"+e}).join(\"\\n\"))):s=e.stylize(\"[Circular]\",\"special\")),x(a)){if(o&&i.match(/^\\d+$/))return s;a=JSON.stringify(\"\"+i),a.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)?(a=a.substr(1,a.length-2),a=e.stylize(a,\"name\")):(a=a.replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"').replace(/(^\"|\"$)/g,\"'\"),a=e.stylize(a,\"string\"))}return a+\": \"+s}function h(e,t,n){var r=0;return e.reduce(function(e,t){return r++,t.indexOf(\"\\n\")>=0&&r++,e+t.replace(/\\u001b\\[\\d\\d?m/g,\"\").length+1},0)>60?n[0]+(\"\"===t?\"\":t+\"\\n \")+\" \"+e.join(\",\\n  \")+\" \"+n[1]:n[0]+t+\" \"+e.join(\", \")+\" \"+n[1]}function d(e){return Array.isArray(e)}function m(e){return\"boolean\"==typeof e}function v(e){return null===e}function g(e){return null==e}function y(e){return\"number\"==typeof e}function _(e){return\"string\"==typeof e}function b(e){return\"symbol\"==typeof e}function x(e){return void 0===e}function w(e){return k(e)&&\"[object RegExp]\"===D(e)}function k(e){return\"object\"==typeof e&&null!==e}function E(e){return k(e)&&\"[object Date]\"===D(e)}function S(e){return k(e)&&(\"[object Error]\"===D(e)||e instanceof Error)}function C(e){return\"function\"==typeof e}function A(e){return null===e||\"boolean\"==typeof e||\"number\"==typeof e||\"string\"==typeof e||\"symbol\"==typeof e||void 0===e}function D(e){return Object.prototype.toString.call(e)}function O(e){return e<10?\"0\"+e.toString(10):e.toString(10)}function M(){var e=new Date,t=[O(e.getHours()),O(e.getMinutes()),O(e.getSeconds())].join(\":\");return[e.getDate(),j[e.getMonth()],t].join(\" \")}function T(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var P=/%[sdj%]/g;t.format=function(e){if(!_(e)){for(var t=[],n=0;n<arguments.length;n++)t.push(i(arguments[n]));return t.join(\" \")}for(var n=1,r=arguments,o=r.length,a=String(e).replace(P,function(e){if(\"%%\"===e)return\"%\";if(n>=o)return e;switch(e){case\"%s\":return String(r[n++]);case\"%d\":return Number(r[n++]);case\"%j\":try{return JSON.stringify(r[n++])}catch(e){return\"[Circular]\"}default:return e}}),s=r[n];n<o;s=r[++n])v(s)||!k(s)?a+=\" \"+s:a+=\" \"+i(s);return a},t.deprecate=function(n,i){function o(){if(!a){if(r.throwDeprecation)throw new Error(i);r.traceDeprecation?console.trace(i):console.error(i),a=!0}return n.apply(this,arguments)}if(x(e.process))return function(){return t.deprecate(n,i).apply(this,arguments)};if(!0===r.noDeprecation)return n;var a=!1;return o};var I,R={};t.debuglog=function(e){if(x(I)&&(I=n.i({NODE_ENV:\"production\",WEBPACK_INLINE_STYLES:!1}).NODE_DEBUG||\"\"),e=e.toUpperCase(),!R[e])if(new RegExp(\"\\\\b\"+e+\"\\\\b\",\"i\").test(I)){var i=r.pid;R[e]=function(){var n=t.format.apply(t,arguments);console.error(\"%s %d: %s\",e,i,n)}}else R[e]=function(){};return R[e]},t.inspect=i,i.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},i.styles={special:\"cyan\",number:\"yellow\",boolean:\"yellow\",undefined:\"grey\",null:\"bold\",string:\"green\",date:\"magenta\",regexp:\"red\"},t.isArray=d,t.isBoolean=m,t.isNull=v,t.isNullOrUndefined=g,t.isNumber=y,t.isString=_,t.isSymbol=b,t.isUndefined=x,t.isRegExp=w,t.isObject=k,t.isDate=E,t.isError=S,t.isFunction=C,t.isPrimitive=A,t.isBuffer=n(1207);var j=[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"];t.log=function(){console.log(\"%s - %s\",M(),t.format.apply(t,arguments))},t.inherits=n(1206),t._extend=function(e,t){if(!t||!k(t))return e;for(var n=Object.keys(t),r=n.length;r--;)e[n[r]]=t[n[r]];return e}}).call(t,n(16),n(34))},function(e,t){e.exports=function(){throw new Error(\"define cannot be used indirect\")}},function(e,t){e.exports=function(e){if(!e.webpackPolyfill){var t=Object.create(e);t.children||(t.children=[]),Object.defineProperty(t,\"loaded\",{enumerable:!0,get:function(){return t.l}}),Object.defineProperty(t,\"id\",{enumerable:!0,get:function(){return t.i}}),Object.defineProperty(t,\"exports\",{enumerable:!0}),t.webpackPolyfill=1}return t}},function(e,t,n){\"use strict\";function r(e){return a(e).map(function(e){return{value:e,type:i(e)}})}function i(e){return u(e)?\"ClosingTag\":c(e)?\"OpeningTag\":l(e)?\"SelfClosingTag\":\"Text\"}var o=n(1192),a=function(e){return e.split(/(<\\/?[^>]+>)/g).filter(function(e){return\"\"!==e.trim()})},s=function(e){return/<[^>!]+>/.test(e)},u=function(e){return/<\\/+[^>]+>/.test(e)},l=function(e){return/<[^>]+\\/>/.test(e)},c=function(e){return s(e)&&!u(e)&&!l(e)};e.exports=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.indentor,i=t.textNodesOnSameLine,a=0,s=[];n=n||\"    \";var u=r(e).map(function(e,t,r){var u=e.value,l=e.type;\"ClosingTag\"===l&&a--;var c=o(n,a),p=c+u;if(\"OpeningTag\"===l&&a++,i){var f=r[t-1],h=r[t-2];\"ClosingTag\"===l&&\"Text\"===f.type&&\"OpeningTag\"===h.type&&(p=\"\"+c+h.value+f.value+u,s.push(t-2,t-1))}return p});return s.forEach(function(e){return u[e]=null}),u.filter(function(e){return!!e}).join(\"\\n\")}},function(e,t){function n(e){return e&&e.replace?e.replace(/([&\"<>'])/g,function(e,t){return r[t]}):e}var r={\"&\":\"&amp;\",'\"':\"&quot;\",\"'\":\"&apos;\",\"<\":\"&lt;\",\">\":\"&gt;\"};e.exports=n},function(e,t,n){(function(t){function r(e,n){function r(e){m?t.nextTick(e):e()}function i(e,t){if(void 0!==t&&(f+=t),e&&!h&&(l=l||new c,h=!0),e&&h){var n=f;r(function(){l.emit(\"data\",n)}),f=\"\"}}function o(e,t){s(i,a(e,d,d?1:0),t)}function u(){if(l){var e=f;r(function(){l.emit(\"data\",e),l.emit(\"end\"),l.readable=!1,l.emit(\"close\")})}}\"object\"!=typeof n&&(n={indent:n});var l=n.stream?new c:null,f=\"\",h=!1,d=n.indent?!0===n.indent?p:n.indent:\"\",m=!0;return r(function(){m=!1}),n.declaration&&function(e){var t=e.encoding||\"UTF-8\",n={version:\"1.0\",encoding:t};e.standalone&&(n.standalone=e.standalone),o({\"?xml\":{_attr:n}}),f=f.replace(\"/>\",\"?>\")}(n.declaration),e&&e.forEach?e.forEach(function(t,n){var r;n+1===e.length&&(r=u),o(t,r)}):o(e,u),l?(l.readable=!0,l):f}function i(){var e=Array.prototype.slice.call(arguments),t={_elem:a(e)};return t.push=function(e){if(!this.append)throw new Error(\"not assigned to a parent!\");var t=this,n=this._elem.indent;s(this.append,a(e,n,this._elem.icount+(n?1:0)),function(){t.append(!0)})},t.close=function(e){void 0!==e&&this.push(e),this.end&&this.end()},t}function o(e,t){return new Array(t||0).join(e||\"\")}function a(e,t,n){function r(e){Object.keys(e).forEach(function(t){f.push(u(t,e[t]))})}n=n||0;var i,s=o(t,n),c=e;if(\"object\"==typeof e){if(i=Object.keys(e)[0],(c=e[i])&&c._elem)return c._elem.name=i,c._elem.icount=n,c._elem.indent=t,c._elem.indents=s,c._elem.interrupt=c,c._elem}var p,f=[],h=[];switch(typeof c){case\"object\":if(null===c)break;c._attr&&r(c._attr),c._cdata&&h.push((\"<![CDATA[\"+c._cdata).replace(/\\]\\]>/g,\"]]]]><![CDATA[>\")+\"]]>\"),c.forEach&&(p=!1,h.push(\"\"),c.forEach(function(e){if(\"object\"==typeof e){\"_attr\"==Object.keys(e)[0]?r(e._attr):h.push(a(e,t,n+1))}else h.pop(),p=!0,h.push(l(e))}),p||h.push(\"\"));break;default:h.push(l(c))}return{name:i,interrupt:!1,attributes:f,content:h,icount:n,indents:s,indent:t}}function s(e,t,n){function r(){for(;t.content.length;){var r=t.content.shift();if(void 0!==r){if(i(r))return;s(e,r)}}e(!1,(o>1?t.indents:\"\")+(t.name?\"</\"+t.name+\">\":\"\")+(t.indent&&!n?\"\\n\":\"\")),n&&n()}function i(t){return!!t.interrupt&&(t.interrupt.append=e,t.interrupt.end=r,t.interrupt=!1,e(!0),!0)}if(\"object\"!=typeof t)return e(!1,t);var o=t.interrupt?1:t.content.length;if(e(!1,t.indents+(t.name?\"<\"+t.name:\"\")+(t.attributes.length?\" \"+t.attributes.join(\" \"):\"\")+(o?t.name?\">\":\"\":t.name?\"/>\":\"\")+(t.indent&&o>1?\"\\n\":\"\")),!o)return e(!1,t.indent?\"\\n\":\"\");i(t)||r()}function u(e,t){return e+'=\"'+l(t)+'\"'}var l=n(1212),c=n(506).Stream,p=\"    \";e.exports=r,e.exports.element=e.exports.Element=i}).call(t,n(34))},function(e,t){function n(e,t,n){return r.yubl(t((n||r.yufull)(e)))}t._getPrivFilters=function(){function e(e){var t=e.split(k,2);return!t[0]||2!==t.length&&e.length===t[0].length?null:t[0]}function t(e,t,n,r){function i(e,n,i,a){return n?(n=Number(n[0]<=\"9\"?n:\"0\"+n),r?A(n):128===n?\"€\":130===n?\"‚\":131===n?\"ƒ\":132===n?\"„\":133===n?\"…\":134===n?\"†\":135===n?\"‡\":136===n?\"ˆ\":137===n?\"‰\":138===n?\"Š\":139===n?\"‹\":140===n?\"Œ\":142===n?\"Ž\":145===n?\"‘\":146===n?\"’\":147===n?\"“\":148===n?\"”\":149===n?\"•\":150===n?\"–\":151===n?\"—\":152===n?\"˜\":153===n?\"™\":154===n?\"š\":155===n?\"›\":156===n?\"œ\":158===n?\"ž\":159===n?\"Ÿ\":n>=55296&&n<=57343||13===n?\"�\":o.frCoPt(n)):t[i||a]||e}return t=t||m,n=n||d,void 0===e?\"undefined\":null===e?\"null\":e.toString().replace(c,\"�\").replace(n,i)}function n(e){return\"\\\\\"+e.charCodeAt(0).toString(16).toLowerCase()+\" \"}function r(e){return e.replace(_,function(e){return\"-x-\"+e})}function i(n){n=o.yufull(t(n));var r=e(n);return r&&w[r.toLowerCase()]?\"##\"+n:n}var o,a=/</g,s=/\"/g,u=/'/g,l=/&/g,c=/\\x00/g,p=/(?:^$|[\\x00\\x09-\\x0D \"'`=<>])/g,f=/[&<>\"'`]/g,h=/(?:\\x00|^-*!?>|--!?>|--?!?$|\\]>|\\]$)/g,d=/&(?:#([xX][0-9A-Fa-f]+|\\d+);?|(Tab|NewLine|colon|semi|lpar|rpar|apos|sol|comma|excl|ast|midast|ensp|emsp|thinsp);|(nbsp|amp|AMP|lt|LT|gt|GT|quot|QUOT);?)/g,m={Tab:\"\\t\",NewLine:\"\\n\",colon:\":\",semi:\";\",lpar:\"(\",rpar:\")\",apos:\"'\",sol:\"/\",comma:\",\",excl:\"!\",ast:\"*\",midast:\"*\",ensp:\" \",emsp:\" \",thinsp:\" \",nbsp:\" \",amp:\"&\",lt:\"<\",gt:\">\",quot:'\"',QUOT:'\"'},v=/^(?:(?!-*expression)#?[-\\w]+|[+-]?(?:\\d+|\\d*\\.\\d+)(?:r?em|ex|ch|cm|mm|in|px|pt|pc|%|vh|vw|vmin|vmax)?|!important|)$/i,g=/[\\x00-\\x1F\\x7F\\[\\]{}\\\\\"]/g,y=/[\\x00-\\x1F\\x7F\\[\\]{}\\\\']/g,_=/url[\\(\\u207D\\u208D]+/g,b=/['\\(\\)]/g,x=/\\/\\/%5[Bb]([A-Fa-f0-9:]+)%5[Dd]/,w={javascript:1,data:1,vbscript:1,mhtml:1,\"x-schema\":1},k=/(?::|&#[xX]0*3[aA];?|&#0*58;?|&colon;)/,E=/(?:^[\\x00-\\x20]+|[\\t\\n\\r\\x00]+)/g,S={Tab:\"\\t\",NewLine:\"\\n\"},C=function(e,t,n){return void 0===e?\"undefined\":null===e?\"null\":e.toString().replace(t,n)},A=String.fromCodePoint||function(e){return 0===arguments.length?\"\":e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode(55296+(e>>10),e%1024+56320))};return o={frCoPt:function(e){return void 0===e||null===e?\"\":!isFinite(e=Number(e))||e<=0||e>1114111||e>=1&&e<=8||e>=14&&e<=31||e>=127&&e<=159||e>=64976&&e<=65007||11===e||65535==(65535&e)||65534==(65535&e)?\"�\":A(e)},d:t,yup:function(n){return n=e(n.replace(c,\"\")),n?t(n,S,null,!0).replace(E,\"\").toLowerCase():null},y:function(e){return C(e,f,function(e){return\"&\"===e?\"&amp;\":\"<\"===e?\"&lt;\":\">\"===e?\"&gt;\":'\"'===e?\"&quot;\":\"'\"===e?\"&#39;\":\"&#96;\"})},ya:function(e){return C(e,l,\"&amp;\")},yd:function(e){return C(e,a,\"&lt;\")},yc:function(e){return C(e,h,function(e){return\"\\0\"===e?\"�\":\"--!\"===e||\"--\"===e||\"-\"===e||\"]\"===e?e+\" \":e.slice(0,-1)+\" >\"})},yavd:function(e){return C(e,s,\"&quot;\")},yavs:function(e){return C(e,u,\"&#39;\")},yavu:function(e){return C(e,p,function(e){return\"\\t\"===e?\"&#9;\":\"\\n\"===e?\"&#10;\":\"\\v\"===e?\"&#11;\":\"\\f\"===e?\"&#12;\":\"\\r\"===e?\"&#13;\":\" \"===e?\"&#32;\":\"=\"===e?\"&#61;\":\"<\"===e?\"&lt;\":\">\"===e?\"&gt;\":'\"'===e?\"&quot;\":\"'\"===e?\"&#39;\":\"`\"===e?\"&#96;\":\"�\"})},yu:encodeURI,yuc:encodeURIComponent,yubl:function(e){return w[o.yup(e)]?\"x-\"+e:e},yufull:function(e){return o.yu(e).replace(x,function(e,t){return\"//[\"+t+\"]\"})},yublf:function(e){return o.yubl(o.yufull(e))},yceu:function(e){return e=t(e),v.test(e)?e:\";-x:'\"+r(e.replace(y,n))+\"';-v:\"},yced:function(e){return r(t(e).replace(g,n))},yces:function(e){return r(t(e).replace(y,n))},yceuu:function(e){return i(e).replace(b,function(e){return\"'\"===e?\"\\\\27 \":\"(\"===e?\"%28\":\"%29\"})},yceud:function(e){return i(e)},yceus:function(e){return i(e).replace(u,\"\\\\27 \")}}};var r=t._privFilters=t._getPrivFilters();t.inHTMLData=r.yd,t.inHTMLComment=r.yc,t.inSingleQuotedAttr=r.yavs,t.inDoubleQuotedAttr=r.yavd,t.inUnQuotedAttr=r.yavu,t.uriInSingleQuotedAttr=function(e){return n(e,r.yavs)},t.uriInDoubleQuotedAttr=function(e){return n(e,r.yavd)},t.uriInUnQuotedAttr=function(e){return n(e,r.yavu)},t.uriInHTMLData=r.yufull,t.uriInHTMLComment=function(e){return r.yc(r.yufull(e))},t.uriPathInSingleQuotedAttr=function(e){return n(e,r.yavs,r.yu)},t.uriPathInDoubleQuotedAttr=function(e){return n(e,r.yavd,r.yu)},t.uriPathInUnQuotedAttr=function(e){return n(e,r.yavu,r.yu)},t.uriPathInHTMLData=r.yu,t.uriPathInHTMLComment=function(e){return r.yc(r.yu(e))},t.uriQueryInSingleQuotedAttr=t.uriPathInSingleQuotedAttr,t.uriQueryInDoubleQuotedAttr=t.uriPathInDoubleQuotedAttr,t.uriQueryInUnQuotedAttr=t.uriPathInUnQuotedAttr,t.uriQueryInHTMLData=t.uriPathInHTMLData,t.uriQueryInHTMLComment=t.uriPathInHTMLComment,t.uriComponentInSingleQuotedAttr=function(e){return r.yavs(r.yuc(e))},t.uriComponentInDoubleQuotedAttr=function(e){return r.yavd(r.yuc(e))},t.uriComponentInUnQuotedAttr=function(e){return r.yavu(r.yuc(e))},t.uriComponentInHTMLData=r.yuc,t.uriComponentInHTMLComment=function(e){return r.yc(r.yuc(e))},t.uriFragmentInSingleQuotedAttr=function(e){return r.yubl(r.yavs(r.yuc(e)))},t.uriFragmentInDoubleQuotedAttr=function(e){return r.yubl(r.yavd(r.yuc(e)))},t.uriFragmentInUnQuotedAttr=function(e){return r.yubl(r.yavu(r.yuc(e)))},t.uriFragmentInHTMLData=t.uriComponentInHTMLData,t.uriFragmentInHTMLComment=t.uriComponentInHTMLComment},function(e,t){function n(){for(var e={},t=0;t<arguments.length;t++){var n=arguments[t];for(var i in n)r.call(n,i)&&(e[i]=n[i])}return e}e.exports=n;var r=Object.prototype.hasOwnProperty},function(e,t,n){(function(){var e,t,r,i,o,a=[].slice;o=n(61),e=n(1217),i=n(1220),t=n(1219),r=n(270),this.make_dumper=function(n,s,u,l){var c;return null==n&&(n=e.Emitter),null==s&&(s=i.Serializer),null==u&&(u=t.Representer),null==l&&(l=r.Resolver),c=[n,s,u,l],function(){function e(e,n){var r,i,o;for(null==n&&(n={}),c[0].call(this,e,n),o=c.slice(1),r=0,i=o.length;r<i;r++)t=o[r],t.call(this,n)}var t;return o.extend.apply(o,[e.prototype].concat(a.call(function(){var e,n,r;for(r=[],e=0,n=c.length;e<n;e++)t=c[e],r.push(t.prototype);return r}()))),e}()},this.Dumper=this.make_dumper()}).call(this)},function(e,t,n){(function(){var e,r,i,o,a=function(e,t){function n(){this.constructor=e}for(var r in t)s.call(t,r)&&(e[r]=t[r]);return n.prototype=t.prototype,e.prototype=new n,e.__super__=t.prototype,e},s={}.hasOwnProperty,u=[].indexOf||function(e){for(var t=0,n=this.length;t<n;t++)if(t in this&&this[t]===e)return t;return-1};i=n(126),o=n(61),r=n(46).YAMLError,this.EmitterError=function(e){function t(){return t.__super__.constructor.apply(this,arguments)}return a(t,e),t}(r),this.Emitter=function(){function n(e,t){var n;this.stream=e,this.encoding=null,this.states=[],this.state=this.expect_stream_start,this.events=[],this.event=null,this.indents=[],this.indent=null,this.flow_level=0,this.root_context=!1,this.sequence_context=!1,this.mapping_context=!1,this.simple_key_context=!1,this.line=0,this.column=0,this.whitespace=!0,this.indentation=!0,this.open_ended=!1,this.canonical=t.canonical,this.allow_unicode=t.allow_unicode,null==this.canonical&&(this.canonical=!1),null==this.allow_unicode&&(this.allow_unicode=!0),this.best_indent=1<t.indent&&t.indent<10?t.indent:2,this.best_width=t.width>2*this.indent?t.width:80,this.best_line_break=\"\\r\"===(n=t.line_break)||\"\\n\"===n||\"\\r\\n\"===n?t.line_break:\"\\n\",this.tag_prefixes=null,this.prepared_anchor=null,this.prepared_tag=null,this.analysis=null,this.style=null}var r,a,l;return r=\"\\0 \\t\\r\\n\\u2028\\u2029\",a={\"!\":\"!\",\"tag:yaml.org,2002:\":\"!!\"},l={\"\\0\":\"0\",\"\u0007\":\"a\",\"\\b\":\"b\",\"\\t\":\"t\",\"\\n\":\"n\",\"\\v\":\"v\",\"\\f\":\"f\",\"\\r\":\"r\",\"\u001b\":\"e\",'\"':'\"',\"\\\\\":\"\\\\\",\"\":\"N\",\" \":\"_\",\"\\u2028\":\"L\",\"\\u2029\":\"P\"},n.prototype.dispose=function(){return this.states=[],this.state=null},n.prototype.emit=function(e){var t;for(this.events.push(e),t=[];!this.need_more_events();)this.event=this.events.shift(),this.state(),t.push(this.event=null);return t},n.prototype.need_more_events=function(){var e;return 0===this.events.length||(e=this.events[0],e instanceof i.DocumentStartEvent?this.need_events(1):e instanceof i.SequenceStartEvent?this.need_events(2):e instanceof i.MappingStartEvent&&this.need_events(3))},n.prototype.need_events=function(e){var t,n,r,o,a;for(o=0,a=this.events.slice(1),n=0,r=a.length;n<r;n++)if(t=a[n],t instanceof i.DocumentStartEvent||t instanceof i.CollectionStartEvent?o++:t instanceof i.DocumentEndEvent||t instanceof i.CollectionEndEvent?o--:t instanceof i.StreamEndEvent&&(o=-1),o<0)return!1;return this.events.length<e+1},n.prototype.increase_indent=function(e){return null==e&&(e={}),this.indents.push(this.indent),null==this.indent?this.indent=e.flow?this.best_indent:0:e.indentless?void 0:this.indent+=this.best_indent},n.prototype.expect_stream_start=function(){return this.event instanceof i.StreamStartEvent?(!this.event.encoding||\"encoding\"in this.stream||(this.encoding=this.event.encoding),this.write_stream_start(),this.state=this.expect_first_document_start):this.error(\"expected StreamStartEvent, but got\",this.event)},n.prototype.expect_nothing=function(){return this.error(\"expected nothing, but got\",this.event)},n.prototype.expect_first_document_start=function(){return this.expect_document_start(!0)},n.prototype.expect_document_start=function(e){var t,n,r,u,l,c,p;if(null==e&&(e=!1),this.event instanceof i.DocumentStartEvent){if((this.event.version||this.event.tags)&&this.open_ended&&(this.write_indicator(\"...\",!0),this.write_indent()),this.event.version&&this.write_version_directive(this.prepare_version(this.event.version)),this.tag_prefixes=o.clone(a),this.event.tags)for(p=function(){var e,t;e=this.event.tags,t=[];for(u in e)s.call(e,u)&&t.push(u);return t}.call(this).sort(),r=0,l=p.length;r<l;r++)n=p[r],c=this.event.tags[n],this.tag_prefixes[c]=n,this.write_tag_directive(this.prepare_tag_handle(n),this.prepare_tag_prefix(c));return t=!e||this.event.explicit||this.canonical||this.event.version||this.event.tags||this.check_empty_document(),t&&(this.write_indent(),this.write_indicator(\"---\",!0),this.canonical&&this.write_indent()),this.state=this.expect_document_root}return this.event instanceof i.StreamEndEvent?(this.open_ended&&(this.write_indicator(\"...\",!0),this.write_indent()),this.write_stream_end(),this.state=this.expect_nothing):this.error(\"expected DocumentStartEvent, but got\",this.event)},n.prototype.expect_document_end=function(){return this.event instanceof i.DocumentEndEvent?(this.write_indent(),this.event.explicit&&(this.write_indicator(\"...\",!0),this.write_indent()),this.flush_stream(),this.state=this.expect_document_start):this.error(\"expected DocumentEndEvent, but got\",this.event)},n.prototype.expect_document_root=function(){return this.states.push(this.expect_document_end),this.expect_node({root:!0})},n.prototype.expect_node=function(e){return null==e&&(e={}),this.root_context=!!e.root,this.sequence_context=!!e.sequence,this.mapping_context=!!e.mapping,this.simple_key_context=!!e.simple_key,this.event instanceof i.AliasEvent?this.expect_alias():this.event instanceof i.ScalarEvent||this.event instanceof i.CollectionStartEvent?(this.process_anchor(\"&\"),this.process_tag(),this.event instanceof i.ScalarEvent?this.expect_scalar():this.event instanceof i.SequenceStartEvent?this.flow_level||this.canonical||this.event.flow_style||this.check_empty_sequence()?this.expect_flow_sequence():this.expect_block_sequence():this.event instanceof i.MappingStartEvent?this.flow_level||this.canonical||this.event.flow_style||this.check_empty_mapping()?this.expect_flow_mapping():this.expect_block_mapping():void 0):this.error(\"expected NodeEvent, but got\",this.event)},n.prototype.expect_alias=function(){return this.event.anchor||this.error(\"anchor is not specified for alias\"),this.process_anchor(\"*\"),this.state=this.states.pop()},n.prototype.expect_scalar=function(){return this.increase_indent({flow:!0}),this.process_scalar(),this.indent=this.indents.pop(),this.state=this.states.pop()},n.prototype.expect_flow_sequence=function(){return this.write_indicator(\"[\",!0,{whitespace:!0}),this.flow_level++,this.increase_indent({flow:!0}),this.state=this.expect_first_flow_sequence_item},n.prototype.expect_first_flow_sequence_item=function(){return this.event instanceof i.SequenceEndEvent?(this.indent=this.indents.pop(),this.flow_level--,this.write_indicator(\"]\",!1),this.state=this.states.pop()):((this.canonical||this.column>this.best_width)&&this.write_indent(),this.states.push(this.expect_flow_sequence_item),this.expect_node({sequence:!0}))},n.prototype.expect_flow_sequence_item=function(){return this.event instanceof i.SequenceEndEvent?(this.indent=this.indents.pop(),this.flow_level--,this.canonical&&(this.write_indicator(\",\",!1),this.write_indent()),this.write_indicator(\"]\",!1),this.state=this.states.pop()):(this.write_indicator(\",\",!1),(this.canonical||this.column>this.best_width)&&this.write_indent(),this.states.push(this.expect_flow_sequence_item),this.expect_node({sequence:!0}))},n.prototype.expect_flow_mapping=function(){return this.write_indicator(\"{\",!0,{whitespace:!0}),this.flow_level++,this.increase_indent({flow:!0}),this.state=this.expect_first_flow_mapping_key},n.prototype.expect_first_flow_mapping_key=function(){return this.event instanceof i.MappingEndEvent?(this.indent=this.indents.pop(),this.flow_level--,this.write_indicator(\"}\",!1),this.state=this.states.pop()):((this.canonical||this.column>this.best_width)&&this.write_indent(),!this.canonical&&this.check_simple_key()?(this.states.push(this.expect_flow_mapping_simple_value),this.expect_node({mapping:!0,simple_key:!0})):(this.write_indicator(\"?\",!0),this.states.push(this.expect_flow_mapping_value),this.expect_node({mapping:!0})))},n.prototype.expect_flow_mapping_key=function(){return this.event instanceof i.MappingEndEvent?(this.indent=this.indents.pop(),this.flow_level--,this.canonical&&(this.write_indicator(\",\",!1),this.write_indent()),this.write_indicator(\"}\",!1),this.state=this.states.pop()):(this.write_indicator(\",\",!1),(this.canonical||this.column>this.best_width)&&this.write_indent(),!this.canonical&&this.check_simple_key()?(this.states.push(this.expect_flow_mapping_simple_value),this.expect_node({mapping:!0,simple_key:!0})):(this.write_indicator(\"?\",!0),this.states.push(this.expect_flow_mapping_value),this.expect_node({mapping:!0})))},n.prototype.expect_flow_mapping_simple_value=function(){return this.write_indicator(\":\",!1),this.states.push(this.expect_flow_mapping_key),this.expect_node({mapping:!0})},n.prototype.expect_flow_mapping_value=function(){return(this.canonical||this.column>this.best_width)&&this.write_indent(),this.write_indicator(\":\",!0),this.states.push(this.expect_flow_mapping_key),this.expect_node({mapping:!0})},n.prototype.expect_block_sequence=function(){var e;return e=this.mapping_context&&!this.indentation,this.increase_indent({indentless:e}),this.state=this.expect_first_block_sequence_item},n.prototype.expect_first_block_sequence_item=function(){return this.expect_block_sequence_item(!0)},n.prototype.expect_block_sequence_item=function(e){return null==e&&(e=!1),!e&&this.event instanceof i.SequenceEndEvent?(this.indent=this.indents.pop(),this.state=this.states.pop()):(this.write_indent(),this.write_indicator(\"-\",!0,{indentation:!0}),this.states.push(this.expect_block_sequence_item),this.expect_node({sequence:!0}))},n.prototype.expect_block_mapping=function(){return this.increase_indent(),this.state=this.expect_first_block_mapping_key},n.prototype.expect_first_block_mapping_key=function(){return this.expect_block_mapping_key(!0)},n.prototype.expect_block_mapping_key=function(e){return null==e&&(e=!1),!e&&this.event instanceof i.MappingEndEvent?(this.indent=this.indents.pop(),this.state=this.states.pop()):(this.write_indent(),this.check_simple_key()?(this.states.push(this.expect_block_mapping_simple_value),this.expect_node({mapping:!0,simple_key:!0})):(this.write_indicator(\"?\",!0,{indentation:!0}),this.states.push(this.expect_block_mapping_value),this.expect_node({mapping:!0})))},n.prototype.expect_block_mapping_simple_value=function(){return this.write_indicator(\":\",!1),this.states.push(this.expect_block_mapping_key),this.expect_node({mapping:!0})},n.prototype.expect_block_mapping_value=function(){return this.write_indent(),this.write_indicator(\":\",!0,{indentation:!0}),this.states.push(this.expect_block_mapping_key),this.expect_node({mapping:!0})},n.prototype.check_empty_document=function(){var e;return this.event instanceof i.DocumentStartEvent&&0!==this.events.length&&((e=this.events[0])instanceof i.ScalarEvent&&null==e.anchor&&null==e.tag&&e.implicit&&\"\"===e.value)},n.prototype.check_empty_sequence=function(){return this.event instanceof i.SequenceStartEvent&&this.events[0]instanceof i.SequenceEndEvent},n.prototype.check_empty_mapping=function(){return this.event instanceof i.MappingStartEvent&&this.events[0]instanceof i.MappingEndEvent},n.prototype.check_simple_key=function(){var e;return e=0,this.event instanceof i.NodeEvent&&null!=this.event.anchor&&(null==this.prepared_anchor&&(this.prepared_anchor=this.prepare_anchor(this.event.anchor)),e+=this.prepared_anchor.length),null!=this.event.tag&&(this.event instanceof i.ScalarEvent||this.event instanceof i.CollectionStartEvent)&&(null==this.prepared_tag&&(this.prepared_tag=this.prepare_tag(this.event.tag)),e+=this.prepared_tag.length),this.event instanceof i.ScalarEvent&&(null==this.analysis&&(this.analysis=this.analyze_scalar(this.event.value)),e+=this.analysis.scalar.length),e<128&&(this.event instanceof i.AliasEvent||this.event instanceof i.ScalarEvent&&!this.analysis.empty&&!this.analysis.multiline||this.check_empty_sequence()||this.check_empty_mapping())},n.prototype.process_anchor=function(e){return null==this.event.anchor?void(this.prepared_anchor=null):(null==this.prepared_anchor&&(this.prepared_anchor=this.prepare_anchor(this.event.anchor)),this.prepared_anchor&&this.write_indicator(\"\"+e+this.prepared_anchor,!0),this.prepared_anchor=null)},n.prototype.process_tag=function(){var e;if(e=this.event.tag,this.event instanceof i.ScalarEvent){if(null==this.style&&(this.style=this.choose_scalar_style()),(!this.canonical||null==e)&&(\"\"===this.style&&this.event.implicit[0]||\"\"!==this.style&&this.event.implicit[1]))return void(this.prepared_tag=null);this.event.implicit[0]&&null==e&&(e=\"!\",this.prepared_tag=null)}else if((!this.canonical||null==e)&&this.event.implicit)return void(this.prepared_tag=null);return null==e&&this.error(\"tag is not specified\"),null==this.prepared_tag&&(this.prepared_tag=this.prepare_tag(e)),this.write_indicator(this.prepared_tag,!0),this.prepared_tag=null},n.prototype.process_scalar=function(){var e;switch(null==this.analysis&&(this.analysis=this.analyze_scalar(this.event.value)),null==this.style&&(this.style=this.choose_scalar_style()),e=!this.simple_key_context,this.style){case'\"':this.write_double_quoted(this.analysis.scalar,e);break;case\"'\":this.write_single_quoted(this.analysis.scalar,e);break;case\">\":this.write_folded(this.analysis.scalar);break;case\"|\":this.write_literal(this.analysis.scalar);break;default:this.write_plain(this.analysis.scalar,e)}return this.analysis=null,this.style=null},n.prototype.choose_scalar_style=function(){var e;return null==this.analysis&&(this.analysis=this.analyze_scalar(this.event.value)),'\"'===this.event.style||this.canonical?'\"':this.event.style||!this.event.implicit[0]||this.simple_key_context&&(this.analysis.empty||this.analysis.multiline)||!(this.flow_level&&this.analysis.allow_flow_plain||!this.flow_level&&this.analysis.allow_block_plain)?this.event.style&&(e=this.event.style,u.call(\"|>\",e)>=0)&&!this.flow_level&&!this.simple_key_context&&this.analysis.allow_block?this.event.style:this.event.style&&\"'\"!==this.event.style||!this.analysis.allow_single_quoted||this.simple_key_context&&this.analysis.multiline?'\"':\"'\":\"\"},n.prototype.prepare_version=function(e){var t,n,r;return t=e[0],n=e[1],r=t+\".\"+n,1===t?r:this.error(\"unsupported YAML version\",r)},n.prototype.prepare_tag_handle=function(e){var t,n,r,i;for(e||this.error(\"tag handle must not be empty\"),\"!\"===e[0]&&\"!\"===e.slice(-1)||this.error(\"tag handle must start and end with '!':\",e),i=e.slice(1,-1),n=0,r=i.length;n<r;n++)\"0\"<=(t=i[n])&&t<=\"9\"||\"A\"<=t&&t<=\"Z\"||\"a\"<=t&&t<=\"z\"||u.call(\"-_\",t)>=0||this.error(\"invalid character '\"+t+\"' in the tag handle:\",e);return e},n.prototype.prepare_tag_prefix=function(e){var t,n,r,i;for(e||this.error(\"tag prefix must not be empty\"),n=[],i=0,r=+(\"!\"===e[0]);r<e.length;)t=e[r],\"0\"<=t&&t<=\"9\"||\"A\"<=t&&t<=\"Z\"||\"a\"<=t&&t<=\"z\"||u.call(\"-;/?!:@&=+$,_.~*'()[]\",t)>=0?r++:(i<r&&n.push(e.slice(i,r)),i=r+=1,n.push(t));return i<r&&n.push(e.slice(i,r)),n.join(\"\")},n.prototype.prepare_tag=function(e){var t,n,r,i,o,a,l,c,p,f,h,d;if(e||this.error(\"tag must not be empty\"),\"!\"===e)return e;for(i=null,h=e,p=function(){var e,t;e=this.tag_prefixes,t=[];for(a in e)s.call(e,a)&&t.push(a);return t}.call(this).sort(),o=0,l=p.length;o<l;o++)c=p[o],0===e.indexOf(c)&&(\"!\"===c||c.length<e.length)&&(i=this.tag_prefixes[c],h=e.slice(c.length));for(n=[],f=r=0;r<h.length;)t=h[r],\"0\"<=t&&t<=\"9\"||\"A\"<=t&&t<=\"Z\"||\"a\"<=t&&t<=\"z\"||u.call(\"-;/?!:@&=+$,_.~*'()[]\",t)>=0||\"!\"===t&&\"!\"!==i?r++:(f<r&&n.push(h.slice(f,r)),f=r+=1,n.push(t));return f<r&&n.push(h.slice(f,r)),d=n.join(\"\"),i?\"\"+i+d:\"!<\"+d+\">\"},n.prototype.prepare_anchor=function(e){var t,n,r;for(e||this.error(\"anchor must not be empty\"),n=0,r=e.length;n<r;n++)\"0\"<=(t=e[n])&&t<=\"9\"||\"A\"<=t&&t<=\"Z\"||\"a\"<=t&&t<=\"z\"||u.call(\"-_\",t)>=0||this.error(\"invalid character '\"+t+\"' in the anchor:\",e);return e},n.prototype.analyze_scalar=function(t){var n,i,o,a,s,l,c,p,f,h,d,m,v,g,y,_,b,x,w,k,E,S,C,A,D;for(t||new e(t,!0,!1,!1,!0,!0,!0,!1),l=!1,f=!1,_=!1,C=!1,!1,g=!1,v=!1,D=!1,A=!1,c=!1,S=!1,0!==t.indexOf(\"---\")&&0!==t.indexOf(\"...\")||(l=!0,f=!0),b=!0,h=1===t.length||(k=t[1],u.call(\"\\0 \\t\\r\\n\\u2028\\u2029\",k)>=0),w=!1,x=!1,m=0,m=d=0,y=t.length;d<y;m=++d)p=t[m],0===m?u.call(\"#,[]{}&*!|>'\\\"%@`\",p)>=0||\"-\"===p&&h?(f=!0,l=!0):u.call(\"?:\",p)>=0&&(f=!0,h&&(l=!0)):u.call(\",?[]{}\",p)>=0?f=!0:\":\"===p?(f=!0,h&&(l=!0)):\"#\"===p&&b&&(f=!0,l=!0),u.call(\"\\n\\u2028\\u2029\",p)>=0&&(_=!0),\"\\n\"===p||\" \"<=p&&p<=\"~\"||(\"\\ufeff\"!==p&&(\"\"===p||\" \"<=p&&p<=\"퟿\"||\"\"<=p&&p<=\"�\")?(!0,this.allow_unicode||(C=!0)):C=!0),\" \"===p?(0===m&&(g=!0),m===t.length-1&&(D=!0),x&&(c=!0),x=!1,w=!0):u.call(\"\\n\\u2028\\u2029\",p)>=0?(0===m&&(v=!0),m===t.length-1&&(A=!0),w&&(S=!0),x=!0,w=!1):(x=!1,w=!1),b=u.call(r,p)>=0,h=m+2>=t.length||(E=t[m+2],u.call(r,E)>=0);return a=!0,i=!0,s=!0,o=!0,n=!0,(g||v||D||A)&&(a=i=!1),D&&(n=!1),c&&(a=i=s=!1),(S||C)&&(a=i=s=n=!1),_&&(a=i=!1),f&&(a=!1),l&&(i=!1),new e(t,!1,_,a,i,s,o,n)},n.prototype.write_stream_start=function(){if(this.encoding&&0===this.encoding.indexOf(\"utf-16\"))return this.stream.write(\"\\ufeff\",this.encoding)},n.prototype.write_stream_end=function(){return this.flush_stream()},n.prototype.write_indicator=function(e,t,n){var r;return null==n&&(n={}),r=this.whitespace||!t?e:\" \"+e,this.whitespace=!!n.whitespace,this.indentation&&(this.indentation=!!n.indentation),this.column+=r.length,this.open_ended=!1,this.stream.write(r,this.encoding)},n.prototype.write_indent=function(){var e,t,n;if(t=null!=(n=this.indent)?n:0,(!this.indentation||this.column>t||this.column===t&&!this.whitespace)&&this.write_line_break(),this.column<t)return this.whitespace=!0,e=new Array(t-this.column+1).join(\" \"),this.column=t,this.stream.write(e,this.encoding)},n.prototype.write_line_break=function(e){return this.whitespace=!0,this.indentation=!0,this.line+=1,this.column=0,this.stream.write(null!=e?e:this.best_line_break,this.encoding)},n.prototype.write_version_directive=function(e){return this.stream.write(\"%YAML \"+e,this.encoding),this.write_line_break()},n.prototype.write_tag_directive=function(e,t){return this.stream.write(\"%TAG \"+e+\" \"+t,this.encoding),this.write_line_break()},n.prototype.write_single_quoted=function(e,t){var n,r,i,o,a,s,l,c,p,f;for(null==t&&(t=!0),this.write_indicator(\"'\",!0),p=!1,r=!1,f=a=0;a<=e.length;){if(i=e[a],p)null!=i&&\" \"===i||(f+1===a&&this.column>this.best_width&&t&&0!==f&&a!==e.length?this.write_indent():(o=e.slice(f,a),this.column+=o.length,this.stream.write(o,this.encoding)),f=a);else if(r){if(null==i||u.call(\"\\n\\u2028\\u2029\",i)<0){for(\"\\n\"===e[f]&&this.write_line_break(),c=e.slice(f,a),s=0,l=c.length;s<l;s++)n=c[s],\"\\n\"===n?this.write_line_break():this.write_line_break(n);this.write_indent(),f=a}}else(null==i||u.call(\" \\n\\u2028\\u2029\",i)>=0||\"'\"===i)&&f<a&&(o=e.slice(f,a),this.column+=o.length,this.stream.write(o,this.encoding),f=a);\"'\"===i&&(this.column+=2,this.stream.write(\"''\",this.encoding),f=a+1),null!=i&&(p=\" \"===i,r=u.call(\"\\n\\u2028\\u2029\",i)>=0),a++}return this.write_indicator(\"'\",!1)},n.prototype.write_double_quoted=function(e,t){var n,r,i,a;for(null==t&&(t=!0),this.write_indicator('\"',!0),a=i=0;i<=e.length;)n=e[i],(null==n||u.call('\"\\\\\\u2028\\u2029\\ufeff',n)>=0||!(\" \"<=n&&n<=\"~\"||this.allow_unicode&&(\" \"<=n&&n<=\"퟿\"||\"\"<=n&&n<=\"�\")))&&(a<i&&(r=e.slice(a,i),this.column+=r.length,this.stream.write(r,this.encoding),a=i),null!=n&&(r=n in l?\"\\\\\"+l[n]:n<=\"ÿ\"?\"\\\\x\"+o.pad_left(o.to_hex(n),\"0\",2):n<=\"￿\"?\"\\\\u\"+o.pad_left(o.to_hex(n),\"0\",4):\"\\\\U\"+o.pad_left(o.to_hex(n),\"0\",16),this.column+=r.length,this.stream.write(r,this.encoding),a=i+1)),t&&0<i&&i<e.length-1&&(\" \"===n||a>=i)&&this.column+(i-a)>this.best_width&&(r=e.slice(a,i)+\"\\\\\",a<i&&(a=i),this.column+=r.length,this.stream.write(r,this.encoding),this.write_indent(),this.whitespace=!1,this.indentation=!1,\" \"===e[a]&&(r=\"\\\\\",this.column+=r.length,this.stream.write(r,this.encoding))),i++;return this.write_indicator('\"',!1)},n.prototype.write_folded=function(e){var t,n,r,i,o,a,s,l,c,p,f,h,d;for(a=this.determine_block_hints(e),this.write_indicator(\">\"+a,!0),\"+\"===a.slice(-1)&&(this.open_ended=!0),this.write_line_break(),l=!0,n=!0,h=!1,d=o=0,f=[];o<=e.length;){if(r=e[o],n){if(null==r||u.call(\"\\n\\u2028\\u2029\",r)<0){for(l||null==r||\" \"===r||\"\\n\"!==e[d]||this.write_line_break(),l=\" \"===r,p=e.slice(d,o),s=0,c=p.length;s<c;s++)t=p[s],\"\\n\"===t?this.write_line_break():this.write_line_break(t);null!=r&&this.write_indent(),d=o}}else h?\" \"!==r&&(d+1===o&&this.column>this.best_width?this.write_indent():(i=e.slice(d,o),this.column+=i.length,this.stream.write(i,this.encoding)),d=o):(null==r||u.call(\" \\n\\u2028\\u2029\",r)>=0)&&(i=e.slice(d,o),this.column+=i.length,this.stream.write(i,this.encoding),null==r&&this.write_line_break(),d=o);null!=r&&(n=u.call(\"\\n\\u2028\\u2029\",r)>=0,h=\" \"===r),f.push(o++)}return f},n.prototype.write_literal=function(e){var t,n,r,i,o,a,s,l,c,p,f;for(a=this.determine_block_hints(e),this.write_indicator(\"|\"+a,!0),\"+\"===a.slice(-1)&&(this.open_ended=!0),this.write_line_break(),n=!0,f=o=0,p=[];o<=e.length;){if(r=e[o],n){if(null==r||u.call(\"\\n\\u2028\\u2029\",r)<0){for(c=e.slice(f,o),s=0,l=c.length;s<l;s++)t=c[s],\"\\n\"===t?this.write_line_break():this.write_line_break(t);null!=r&&this.write_indent(),f=o}}else(null==r||u.call(\"\\n\\u2028\\u2029\",r)>=0)&&(i=e.slice(f,o),this.stream.write(i,this.encoding),null==r&&this.write_line_break(),f=o);null!=r&&(n=u.call(\"\\n\\u2028\\u2029\",r)>=0),p.push(o++)}return p},n.prototype.write_plain=function(e,t){var n,r,i,o,a,s,l,c,p,f,h;if(null==t&&(t=!0),e){for(this.root_context&&(this.open_ended=!0),this.whitespace||(o=\" \",this.column+=o.length,this.stream.write(o,this.encoding)),this.whitespace=!1,this.indentation=!1,f=!1,r=!1,h=a=0,p=[];a<=e.length;){if(i=e[a],f)\" \"!==i&&(h+1===a&&this.column>this.best_width&&t?(this.write_indent(),this.whitespace=!1,this.indentation=!1):(o=e.slice(h,a),this.column+=o.length,this.stream.write(o,this.encoding)),h=a);else if(r){if(u.call(\"\\n\\u2028\\u2029\",i)<0){for(\"\\n\"===e[h]&&this.write_line_break(),c=e.slice(h,a),s=0,l=c.length;s<l;s++)n=c[s],\"\\n\"===n?this.write_line_break():this.write_line_break(n);this.write_indent(),this.whitespace=!1,this.indentation=!1,h=a}}else(null==i||u.call(\" \\n\\u2028\\u2029\",i)>=0)&&(o=e.slice(h,a),this.column+=o.length,this.stream.write(o,this.encoding),h=a);null!=i&&(f=\" \"===i,r=u.call(\"\\n\\u2028\\u2029\",i)>=0),p.push(a++)}return p}},n.prototype.determine_block_hints=function(e){var t,n,r,i,o;return n=\"\",t=e[0],r=e.length-2,o=e[r++],i=e[r++],u.call(\" \\n\\u2028\\u2029\",t)>=0&&(n+=this.best_indent),u.call(\"\\n\\u2028\\u2029\",i)<0?n+=\"-\":(1===e.length||u.call(\"\\n\\u2028\\u2029\",o)>=0)&&(n+=\"+\"),n},n.prototype.flush_stream=function(){var e;return\"function\"==typeof(e=this.stream).flush?e.flush():void 0},n.prototype.error=function(e,n){var r,i;throw n&&(n=null!=(r=null!=n&&null!=(i=n.constructor)?i.name:void 0)?r:o.inspect(n)),new t.EmitterError(e+(n?\" \"+n:\"\"))},n}(),e=function(){function e(e,t,n,r,i,o,a,s){this.scalar=e,this.empty=t,this.multiline=n,this.allow_flow_plain=r,this.allow_block_plain=i,this.allow_single_quoted=o,this.allow_double_quoted=a,this.allow_block=s}return e}()}).call(this)},function(e,t,n){(function(){var e,t,r,i,o,a,s,u=[].slice;s=n(61),i=n(515),a=n(516),r=n(514),e=n(512),o=n(270),t=n(513),this.make_loader=function(n,l,c,p,f,h){var d;return null==n&&(n=i.Reader),null==l&&(l=a.Scanner),null==c&&(c=r.Parser),null==p&&(p=e.Composer),null==f&&(f=o.Resolver),null==h&&(h=t.Constructor),d=[n,l,c,p,f,h],function(){function e(e){var n,r,i;for(d[0].call(this,e),i=d.slice(1),n=0,r=i.length;n<r;n++)t=i[n],t.call(this)}var t;return s.extend.apply(s,[e.prototype].concat(u.call(function(){var e,n,r;for(r=[],e=0,n=d.length;e<n;e++)t=d[e],r.push(t.prototype);return r}()))),e}()},this.Loader=this.make_loader()}).call(this)},function(e,t,n){(function(){var e,r,i=function(e,t){function n(){this.constructor=e}for(var r in t)o.call(t,r)&&(e[r]=t[r]);return n.prototype=t.prototype,e.prototype=new n,e.__super__=t.prototype,e},o={}.hasOwnProperty;r=n(95),e=n(46).YAMLError,this.RepresenterError=function(e){function t(){return t.__super__.constructor.apply(this,arguments)}return i(t,e),t}(e),this.BaseRepresenter=function(){function e(e){var t;t=null!=e?e:{},this.default_style=t.default_style,this.default_flow_style=t.default_flow_style,this.represented_objects={},this.object_keeper=[],this.alias_key=null}return e.prototype.yaml_representers_types=[],e.prototype.yaml_representers_handlers=[],e.prototype.yaml_multi_representers_types=[],e.prototype.yaml_multi_representers_handlers=[],e.add_representer=function(e,t){return this.prototype.hasOwnProperty(\"yaml_representers_types\")||(this.prototype.yaml_representers_types=[].concat(this.prototype.yaml_representers_types)),this.prototype.hasOwnProperty(\"yaml_representers_handlers\")||(this.prototype.yaml_representers_handlers=[].concat(this.prototype.yaml_representers_handlers)),this.prototype.yaml_representers_types.push(e),this.prototype.yaml_representers_handlers.push(t)},e.add_multi_representer=function(e,t){return this.prototype.hasOwnProperty(\"yaml_multi_representers_types\")||(this.prototype.yaml_multi_representers_types=[].concat(this.prototype.yaml_multi_representers_types)),this.prototype.hasOwnProperty(\"yaml_multi_representers_handlers\")||(this.prototype.yaml_multi_representers_handlers=[].concat(this.prototype.yaml_multi_representers_handlers)),this.prototype.yaml_multi_representers_types.push(e),this.prototype.yaml_multi_representers_handlers.push(t)},e.prototype.represent=function(e){var t;return t=this.represent_data(e),this.serialize(t),this.represented_objects={},this.object_keeper=[],this.alias_key=null},e.prototype.represent_data=function(e){var t,n,i,o,a,s,u;if(this.ignore_aliases(e))this.alias_key=null;else if(-1!==(n=this.object_keeper.indexOf(e))){if(this.alias_key=n,this.alias_key in this.represented_objects)return this.represented_objects[this.alias_key]}else this.alias_key=this.object_keeper.length,this.object_keeper.push(e);if(s=null,t=null===e?\"null\":typeof e,\"object\"===t&&(t=e.constructor),-1!==(n=this.yaml_representers_types.lastIndexOf(t))&&(s=this.yaml_representers_handlers[n]),null==s)for(a=this.yaml_multi_representers_types,n=i=0,o=a.length;i<o;n=++i)if(u=a[n],e instanceof u){s=this.yaml_multi_representers_handlers[n];break}return null==s&&(-1!==(n=this.yaml_multi_representers_types.lastIndexOf(void 0))?s=this.yaml_multi_representers_handlers[n]:-1!==(n=this.yaml_representers_types.lastIndexOf(void 0))&&(s=this.yaml_representers_handlers[n])),null!=s?s.call(this,e):new r.ScalarNode(null,\"\"+e)},e.prototype.represent_scalar=function(e,t,n){var i;return null==n&&(n=this.default_style),i=new r.ScalarNode(e,t,null,null,n),null!=this.alias_key&&(this.represented_objects[this.alias_key]=i),i},e.prototype.represent_sequence=function(e,t,n){var i,o,a,s,u,l,c,p;for(p=[],u=new r.SequenceNode(e,p,null,null,n),null!=this.alias_key&&(this.represented_objects[this.alias_key]=u),i=!0,a=0,s=t.length;a<s;a++)o=t[a],l=this.represent_data(o),l instanceof r.ScalarNode||l.style||(i=!1),p.push(l);return null==n&&(u.flow_style=null!=(c=this.default_flow_style)?c:i),u},e.prototype.represent_mapping=function(e,t,n){var i,a,s,u,l,c,p,f;f=[],u=new r.MappingNode(e,f,n),this.alias_key&&(this.represented_objects[this.alias_key]=u),i=!0;for(a in t)o.call(t,a)&&(s=t[a],l=this.represent_data(a),c=this.represent_data(s),l instanceof r.ScalarNode||l.style||(i=!1),c instanceof r.ScalarNode||c.style||(i=!1),f.push([l,c]));return n||(u.flow_style=null!=(p=this.default_flow_style)?p:i),u},e.prototype.ignore_aliases=function(e){return!1},e}(),this.Representer=function(e){function n(){return n.__super__.constructor.apply(this,arguments)}return i(n,e),n.prototype.represent_boolean=function(e){return this.represent_scalar(\"tag:yaml.org,2002:bool\",e?\"true\":\"false\")},n.prototype.represent_null=function(e){return this.represent_scalar(\"tag:yaml.org,2002:null\",\"null\")},n.prototype.represent_number=function(e){var t,n;return t=\"tag:yaml.org,2002:\"+(e%1==0?\"int\":\"float\"),n=e!==e?\".nan\":Infinity===e?\".inf\":-Infinity===e?\"-.inf\":e.toString(),this.represent_scalar(t,n)},n.prototype.represent_string=function(e){return this.represent_scalar(\"tag:yaml.org,2002:str\",e)},n.prototype.represent_array=function(e){return this.represent_sequence(\"tag:yaml.org,2002:seq\",e)},n.prototype.represent_date=function(e){return this.represent_scalar(\"tag:yaml.org,2002:timestamp\",e.toISOString())},n.prototype.represent_object=function(e){return this.represent_mapping(\"tag:yaml.org,2002:map\",e)},n.prototype.represent_undefined=function(e){throw new t.RepresenterError(\"cannot represent an onbject: \"+e)},n.prototype.ignore_aliases=function(e){var t;return null==e||(\"boolean\"==(t=typeof e)||\"number\"===t||\"string\"===t)},n}(this.BaseRepresenter),this.Representer.add_representer(\"boolean\",this.Representer.prototype.represent_boolean),this.Representer.add_representer(\"null\",this.Representer.prototype.represent_null),this.Representer.add_representer(\"number\",this.Representer.prototype.represent_number),this.Representer.add_representer(\"string\",this.Representer.prototype.represent_string),this.Representer.add_representer(Array,this.Representer.prototype.represent_array),this.Representer.add_representer(Date,this.Representer.prototype.represent_date),this.Representer.add_representer(Object,this.Representer.prototype.represent_object),this.Representer.add_representer(null,this.Representer.prototype.represent_undefined)}).call(this)},function(e,t,n){(function(){var e,t,r,i,o=function(e,t){function n(){this.constructor=e}for(var r in t)a.call(t,r)&&(e[r]=t[r]);return n.prototype=t.prototype,e.prototype=new n,e.__super__=t.prototype,e},a={}.hasOwnProperty;t=n(126),r=n(95),i=n(61),e=n(46).YAMLError,this.SerializerError=function(e){function t(){return t.__super__.constructor.apply(this,arguments)}return o(t,e),t}(e),this.Serializer=function(){function e(e){var t;t=null!=e?e:{},this.encoding=t.encoding,this.explicit_start=t.explicit_start,this.explicit_end=t.explicit_end,this.version=t.version,this.tags=t.tags,this.serialized_nodes={},this.anchors={},this.last_anchor_id=0,this.closed=null}return e.prototype.open=function(){if(null===this.closed)return this.emit(new t.StreamStartEvent(this.encoding)),this.closed=!1;throw this.closed?new SerializerError(\"serializer is closed\"):new SerializerError(\"serializer is already open\")},e.prototype.close=function(){if(null===this.closed)throw new SerializerError(\"serializer is not opened\");if(!this.closed)return this.emit(new t.StreamEndEvent),this.closed=!0},e.prototype.serialize=function(e){if(null===this.closed)throw new SerializerError(\"serializer is not opened\");if(this.closed)throw new SerializerError(\"serializer is closed\");return null!=e&&(this.emit(new t.DocumentStartEvent(void 0,void 0,this.explicit_start,this.version,this.tags)),this.anchor_node(e),this.serialize_node(e),this.emit(new t.DocumentEndEvent(void 0,void 0,this.explicit_end))),this.serialized_nodes={},this.anchors={},this.last_anchor_id=0},e.prototype.anchor_node=function(e){var t,n,i,o,a,s,u,l,c,p,f,h,d,m;if(e.unique_id in this.anchors)return null!=(t=this.anchors)[l=e.unique_id]?t[l]:t[l]=this.generate_anchor(e);if(this.anchors[e.unique_id]=null,e instanceof r.SequenceNode){for(c=e.value,h=[],n=0,s=c.length;n<s;n++)i=c[n],h.push(this.anchor_node(i));return h}if(e instanceof r.MappingNode){for(p=e.value,d=[],o=0,u=p.length;o<u;o++)f=p[o],a=f[0],m=f[1],this.anchor_node(a),d.push(this.anchor_node(m));return d}},e.prototype.generate_anchor=function(e){return\"id\"+i.pad_left(++this.last_anchor_id,\"0\",4)},e.prototype.serialize_node=function(e,n,i){var o,a,s,u,l,c,p,f,h,d,m,v,g,y;if(o=this.anchors[e.unique_id],e.unique_id in this.serialized_nodes)return this.emit(new t.AliasEvent(o));if(this.serialized_nodes[e.unique_id]=!0,this.descend_resolver(n,i),e instanceof r.ScalarNode)s=this.resolve(r.ScalarNode,e.value,[!0,!1]),a=this.resolve(r.ScalarNode,e.value,[!1,!0]),l=[e.tag===s,e.tag===a],this.emit(new t.ScalarEvent(o,e.tag,l,e.value,void 0,void 0,e.style));else if(e instanceof r.SequenceNode){for(l=e.tag===this.resolve(r.SequenceNode,e.value,!0),this.emit(new t.SequenceStartEvent(o,e.tag,l,void 0,void 0,e.flow_style)),m=e.value,i=u=0,h=m.length;u<h;i=++u)c=m[i],this.serialize_node(c,e,i);this.emit(new t.SequenceEndEvent)}else if(e instanceof r.MappingNode){for(l=e.tag===this.resolve(r.MappingNode,e.value,!0),this.emit(new t.MappingStartEvent(o,e.tag,l,void 0,void 0,e.flow_style)),v=e.value,p=0,d=v.length;p<d;p++)g=v[p],f=g[0],y=g[1],this.serialize_node(f,e,null),this.serialize_node(y,e,f);this.emit(new t.MappingEndEvent)}return this.ascend_resolver()},e}()}).call(this)},function(e,t,n){(function(){var e,r,i;this.composer=n(512),this.constructor=n(513),e=this.dumper=n(1216),this.errors=n(46),this.events=n(126),r=this.loader=n(1218),this.nodes=n(95),this.parser=n(514),this.reader=n(515),this.resolver=n(270),this.scanner=n(516),this.tokens=n(271),i=n(61),this.scan=function(e,t){var n,i;for(null==t&&(t=r.Loader),n=new t(e),i=[];n.check_token();)i.push(n.get_token());return i},this.parse=function(e,t){var n,i;for(null==t&&(t=r.Loader),n=new t(e),i=[];n.check_event();)i.push(n.get_event());return i},this.compose=function(e,t){var n;return null==t&&(t=r.Loader),n=new t(e),n.get_single_node()},this.compose_all=function(e,t){var n,i;for(null==t&&(t=r.Loader),n=new t(e),i=[];n.check_node();)i.push(n.get_node());return i},this.load=function(e,t){var n;return null==t&&(t=r.Loader),n=new t(e),n.get_single_data()},this.load_all=function(e,t){var n,i;for(null==t&&(t=r.Loader),n=new t(e),i=[];n.check_data();)i.push(n.get_data());return i},this.emit=function(t,n,r,o){var a,s,u,l,c;null==r&&(r=e.Dumper),null==o&&(o={}),s=n||new i.StringStream,a=new r(s,o);try{for(l=0,c=t.length;l<c;l++)u=t[l],a.emit(u)}finally{a.dispose()}return n||s.string},this.serialize=function(n,r,i,o){return null==i&&(i=e.Dumper),null==o&&(o={}),t.serialize_all([n],r,i,o)},this.serialize_all=function(t,n,r,o){var a,s,u,l,c;null==r&&(r=e.Dumper),null==o&&(o={}),s=n||new i.StringStream,a=new r(s,o);try{for(a.open(),u=0,l=t.length;u<l;u++)c=t[u],a.serialize(c);a.close()}finally{a.dispose()}return n||s.string},this.dump=function(n,r,i,o){return null==i&&(i=e.Dumper),null==o&&(o={}),t.dump_all([n],r,i,o)},this.dump_all=function(t,n,r,o){var a,s,u,l,c;null==r&&(r=e.Dumper),null==o&&(o={}),s=n||new i.StringStream,a=new r(s,o);try{for(a.open(),l=0,c=t.length;l<c;l++)u=t[l],a.represent(u);a.close()}finally{a.dispose()}return n||s.string}}).call(this)},function(e,t,n){var r,i,o;!function(n,a){i=[],r=a(),void 0!==(o=\"function\"==typeof r?r.apply(t,i):r)&&(e.exports=o)}(0,function(){\"use strict\";var e=function(e){return e&&\"getComputedStyle\"in window&&\"smooth\"===window.getComputedStyle(e)[\"scroll-behavior\"]};if(\"undefined\"==typeof window||!(\"document\"in window))return{};var t=function(t,n,r){n=n||999,r||0===r||(r=9);var i,o=function(e){i=e},a=function(){clearTimeout(i),o(0)},s=function(e){return Math.max(0,t.getTopOf(e)-r)},u=function(r,i,s){if(a(),0===i||i&&i<0||e(t.body))t.toY(r),s&&s();else{var u=t.getY(),l=Math.max(0,r)-u,c=(new Date).getTime();i=i||Math.min(Math.abs(l),n),function e(){o(setTimeout(function(){var n=Math.min(1,((new Date).getTime()-c)/i),r=Math.max(0,Math.floor(u+l*(n<.5?2*n*n:n*(4-2*n)-1)));t.toY(r),n<1&&t.getHeight()+r<t.body.scrollHeight?e():(setTimeout(a,99),s&&s())},9))}()}},l=function(e,t,n){u(s(e),t,n)},c=function(e,n,i){var o=e.getBoundingClientRect().height,a=t.getTopOf(e)+o,c=t.getHeight(),p=t.getY(),f=p+c;s(e)<p||o+r>c?l(e,n,i):a+r>f?u(a-c+r,n,i):i&&i()},p=function(e,n,r,i){u(Math.max(0,t.getTopOf(e)-t.getHeight()/2+(r||e.getBoundingClientRect().height/2)),n,i)};return{setup:function(e,t){return(0===e||e)&&(n=e),(0===t||t)&&(r=t),{defaultDuration:n,edgeOffset:r}},to:l,toY:u,intoView:c,center:p,stop:a,moving:function(){return!!i},getY:t.getY,getTopOf:t.getTopOf}},n=document.documentElement,r=function(){return window.scrollY||n.scrollTop},i=t({body:document.scrollingElement||document.body,toY:function(e){window.scrollTo(0,e)},getY:r,getHeight:function(){return window.innerHeight||n.clientHeight},getTopOf:function(e){return e.getBoundingClientRect().top+r()-n.offsetTop}});if(i.createScroller=function(e,r,i){return t({body:e,toY:function(t){e.scrollTop=t},getY:function(){return e.scrollTop},getHeight:function(){return Math.min(e.clientHeight,window.innerHeight||n.clientHeight)},getTopOf:function(e){return e.offsetTop}},r,i)},\"addEventListener\"in window&&!window.noZensmooth&&!e(document.body)){var o=\"scrollRestoration\"in history;o&&(history.scrollRestoration=\"auto\"),window.addEventListener(\"load\",function(){o&&(setTimeout(function(){history.scrollRestoration=\"manual\"},9),window.addEventListener(\"popstate\",function(e){e.state&&\"zenscrollY\"in e.state&&i.toY(e.state.zenscrollY)},!1)),window.location.hash&&setTimeout(function(){var e=i.setup().edgeOffset;if(e){var t=document.getElementById(window.location.href.split(\"#\")[1]);if(t){var n=Math.max(0,i.getTopOf(t)-e),r=i.getY()-n;0<=r&&r<9&&window.scrollTo(0,n)}}},9)},!1);var a=new RegExp(\"(^|\\\\s)noZensmooth(\\\\s|$)\");window.addEventListener(\"click\",function(e){for(var t=e.target;t&&\"A\"!==t.tagName;)t=t.parentNode;if(!(!t||1!==e.which||e.shiftKey||e.metaKey||e.ctrlKey||e.altKey)){if(o)try{history.replaceState({zenscrollY:i.getY()},\"\")}catch(e){}var n=t.getAttribute(\"href\")||\"\";if(0===n.indexOf(\"#\")&&!a.test(t.className)){var r=0,s=document.getElementById(n.substring(1));if(\"#\"!==n){if(!s)return;r=i.getTopOf(s)}e.preventDefault();var u=function(){window.location=n},l=i.setup().edgeOffset;l&&(r=Math.max(0,r-l),u=function(){history.pushState(null,\"\",n)}),i.toY(r,null,u)}}},!1)}return i})},function(e,t,n){function r(e){return n(i(e))}function i(e){var t=o[e];if(!(t+1))throw new Error(\"Cannot find module '\"+e+\"'.\");return t}var o={\"./all.js\":275,\"./ast/ast.js\":276,\"./ast/index.js\":277,\"./ast/jump-to-path.jsx\":278,\"./auth/actions.js\":169,\"./auth/index.js\":279,\"./auth/reducers.js\":280,\"./auth/selectors.js\":281,\"./auth/spec-wrap-actions.js\":282,\"./configs/actions.js\":170,\"./configs/index.js\":283,\"./configs/reducers.js\":284,\"./configs/selectors.js\":285,\"./deep-linking/helpers.js\":286,\"./deep-linking/index.js\":287,\"./deep-linking/layout-wrap-actions.js\":288,\"./deep-linking/spec-wrap-actions.js\":289,\"./download-url.js\":290,\"./err/actions.js\":127,\"./err/error-transformers/hook.js\":291,\"./err/error-transformers/transformers/not-of-type.js\":292,\"./err/error-transformers/transformers/parameter-oneof.js\":293,\"./err/error-transformers/transformers/strip-instance.js\":294,\"./err/index.js\":295,\"./err/reducers.js\":296,\"./err/selectors.js\":297,\"./filter/index.js\":298,\"./filter/opsFilter.js\":299,\"./layout/actions.js\":171,\"./layout/index.js\":300,\"./layout/reducers.js\":301,\"./layout/selectors.js\":302,\"./logs/index.js\":303,\"./oas3/actions.js\":172,\"./oas3/auth-extensions/wrap-selectors.js\":304,\"./oas3/components/callbacks.jsx\":305,\"./oas3/components/http-auth.jsx\":306,\"./oas3/components/index.js\":307,\"./oas3/components/operation-link.jsx\":308,\"./oas3/components/operation-servers.jsx\":309,\"./oas3/components/request-body-editor.jsx\":310,\"./oas3/components/request-body.jsx\":311,\"./oas3/components/servers.jsx\":312,\"./oas3/helpers.js\":35,\"./oas3/index.js\":313,\"./oas3/reducers.js\":314,\"./oas3/selectors.js\":315,\"./oas3/spec-extensions/selectors.js\":316,\"./oas3/spec-extensions/wrap-selectors.js\":317,\"./oas3/wrap-components/auth-item.jsx\":318,\"./oas3/wrap-components/index.js\":319,\"./oas3/wrap-components/markdown.js\":320,\"./oas3/wrap-components/model.jsx\":321,\"./oas3/wrap-components/online-validator-badge.js\":322,\"./oas3/wrap-components/parameters.jsx\":323,\"./oas3/wrap-components/version-stamp.jsx\":324,\"./on-complete/index.js\":325,\"./samples/fn.js\":173,\"./samples/index.js\":326,\"./spec/actions.js\":174,\"./spec/index.js\":327,\"./spec/reducers.js\":328,\"./spec/selectors.js\":175,\"./spec/wrap-actions.js\":329,\"./split-pane-mode/components/split-pane-mode.jsx\":330,\"./split-pane-mode/index.js\":331,\"./swagger-js/index.js\":332,\"./util/index.js\":333,\"./view/index.js\":334,\"./view/root-injects.js\":335};r.keys=function(){return Object.keys(o)},r.resolve=i,e.exports=r,r.id=1223},function(e,t){},function(e,t){},function(e,t){},function(e,t){},function(e,t){},function(e,t,n){n(519),e.exports=n(518)}])});\n//# sourceMappingURL=swagger-ui-bundle.js.map"
  },
  {
    "path": "frontend/static/swagger/swagger-ui-standalone-preset.js",
    "content": "!function(t,e){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define([],e):\"object\"==typeof exports?exports.SwaggerUIStandalonePreset=e():t.SwaggerUIStandalonePreset=e()}(this,function(){return function(t){function e(r){if(n[r])return n[r].exports;var i=n[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,e),i.l=!0,i.exports}var n={};return e.m=t,e.c=n,e.i=function(t){return t},e.d=function(t,n,r){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:r})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,\"a\",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p=\"/dist\",e(e.s=537)}([function(t,e,n){\"use strict\";function r(t){var e={};return null!==t&&Object.keys(t).forEach(function(n){t[n].forEach(function(t){e[String(t)]=n})}),e}function i(t,e){if(e=e||{},Object.keys(e).forEach(function(e){if(-1===s.indexOf(e))throw new o('Unknown option \"'+e+'\" is met in definition of \"'+t+'\" YAML type.')}),this.tag=t,this.kind=e.kind||null,this.resolve=e.resolve||function(){return!0},this.construct=e.construct||function(t){return t},this.instanceOf=e.instanceOf||null,this.predicate=e.predicate||null,this.represent=e.represent||null,this.defaultStyle=e.defaultStyle||null,this.styleAliases=r(e.styleAliases||null),-1===a.indexOf(this.kind))throw new o('Unknown kind \"'+this.kind+'\" is specified for \"'+t+'\" YAML type.')}var o=n(48),s=[\"kind\",\"resolve\",\"construct\",\"instanceOf\",\"predicate\",\"represent\",\"defaultStyle\",\"styleAliases\"],a=[\"scalar\",\"sequence\",\"mapping\"];t.exports=i},function(t,e,n){var r=n(153)(\"wks\"),i=n(108),o=n(5).Symbol,s=\"function\"==typeof o;(t.exports=function(t){return r[t]||(r[t]=s&&o[t]||(s?o:i)(\"Symbol.\"+t))}).store=r},function(t,e){var n=t.exports={version:\"2.5.3\"};\"number\"==typeof __e&&(__e=n)},function(t,e,n){var r=n(5),i=n(18),o=n(19),s=n(30),a=n(61),u=function(t,e,n){var c,l,h,f,p=t&u.F,d=t&u.G,m=t&u.S,v=t&u.P,y=t&u.B,g=d?r:m?r[e]||(r[e]={}):(r[e]||{}).prototype,x=d?i:i[e]||(i[e]={}),b=x.prototype||(x.prototype={});d&&(n=e);for(c in n)l=!p&&g&&void 0!==g[c],h=(l?g:n)[c],f=y&&l?a(h,r):v&&\"function\"==typeof h?a(Function.call,h):h,g&&s(g,c,h,t&u.U),x[c]!=h&&o(x,c,f),v&&b[c]!=h&&(b[c]=h)};r.core=i,u.F=1,u.G=2,u.S=4,u.P=8,u.B=16,u.W=32,u.U=64,u.R=128,t.exports=u},function(t,e,n){var r=n(3),i=n(42),o=n(10),s=/\"/g,a=function(t,e,n,r){var i=String(o(t)),a=\"<\"+e;return\"\"!==n&&(a+=\" \"+n+'=\"'+String(r).replace(s,\"&quot;\")+'\"'),a+\">\"+i+\"</\"+e+\">\"};t.exports=function(t,e){var n={};n[t]=e(a),r(r.P+r.F*i(function(){var e=\"\"[t]('\"');return e!==e.toLowerCase()||e.split('\"').length>3}),\"String\",n)}},function(t,e){var n=t.exports=\"undefined\"!=typeof window&&window.Math==Math?window:\"undefined\"!=typeof self&&self.Math==Math?self:Function(\"return this\")();\"number\"==typeof __g&&(__g=n)},function(t,e,n){var r=n(94)(\"wks\"),i=n(59),o=n(9).Symbol,s=\"function\"==typeof o;(t.exports=function(t){return r[t]||(r[t]=s&&o[t]||(s?o:i)(\"Symbol.\"+t))}).store=r},function(t,e,n){var r=n(177),i=\"object\"==typeof self&&self&&self.Object===Object&&self,o=r||i||Function(\"return this\")();t.exports=o},function(t,e){var n=Array.isArray;t.exports=n},function(t,e){var n=t.exports=\"undefined\"!=typeof window&&window.Math==Math?window:\"undefined\"!=typeof self&&self.Math==Math?self:Function(\"return this\")();\"number\"==typeof __g&&(__g=n)},function(t,e){t.exports=function(t){if(void 0==t)throw TypeError(\"Can't call method on  \"+t);return t}},function(t,e,n){\"use strict\";t.exports=function(t){if(\"function\"!=typeof t)throw new TypeError(t+\" is not a function\");return t}},function(t,e){var n;n=function(){return this}();try{n=n||Function(\"return this\")()||(0,eval)(\"this\")}catch(t){\"object\"==typeof window&&(n=window)}t.exports=n},function(t,e,n){t.exports=!n(25)(function(){return 7!=Object.defineProperty({},\"a\",{get:function(){return 7}}).a})},function(t,e,n){var r=n(9),i=n(2),o=n(133),s=n(26),a=function(t,e,n){var u,c,l,h=t&a.F,f=t&a.G,p=t&a.S,d=t&a.P,m=t&a.B,v=t&a.W,y=f?i:i[e]||(i[e]={}),g=y.prototype,x=f?r:p?r[e]:(r[e]||{}).prototype;f&&(n=e);for(u in n)(c=!h&&x&&void 0!==x[u])&&u in y||(l=c?x[u]:n[u],y[u]=f&&\"function\"!=typeof x[u]?n[u]:m&&c?o(l,r):v&&x[u]==l?function(t){var e=function(e,n,r){if(this instanceof t){switch(arguments.length){case 0:return new t;case 1:return new t(e);case 2:return new t(e,n)}return new t(e,n,r)}return t.apply(this,arguments)};return e.prototype=t.prototype,e}(l):d&&\"function\"==typeof l?o(Function.call,l):l,d&&((y.virtual||(y.virtual={}))[u]=l,t&a.R&&g&&!g[u]&&s(g,u,l)))};a.F=1,a.G=2,a.S=4,a.P=8,a.B=16,a.W=32,a.U=64,a.R=128,t.exports=a},function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},function(t,e,n){var r=n(24),i=n(135),o=n(96),s=Object.defineProperty;e.f=n(13)?Object.defineProperty:function(t,e,n){if(r(t),e=o(e,!0),r(n),i)try{return s(t,e,n)}catch(t){}if(\"get\"in n||\"set\"in n)throw TypeError(\"Accessors not supported!\");return\"value\"in n&&(t[e]=n.value),t}},function(t,e,n){var r=n(29);t.exports=function(t){if(!r(t))throw TypeError(t+\" is not an object!\");return t}},function(t,e){var n=t.exports={version:\"2.5.3\"};\"number\"==typeof __e&&(__e=n)},function(t,e,n){var r=n(63),i=n(152);t.exports=n(41)?function(t,e,n){return r.f(t,e,i(1,n))}:function(t,e,n){return t[e]=n,t}},function(t,e,n){\"use strict\";var r=n(337),i=Math.max;t.exports=function(t){return i(0,r(t))}},function(t,e,n){\"use strict\";function r(t,e,n,r,o,s,a,u){if(i(e),!t){var c;if(void 0===e)c=new Error(\"Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.\");else{var l=[n,r,o,s,a,u],h=0;c=new Error(e.replace(/%s/g,function(){return l[h++]})),c.name=\"Invariant Violation\"}throw c.framesToPop=1,c}}var i=function(t){};t.exports=r},function(t,e,n){\"use strict\"},function(t,e,n){\"use strict\";function r(t){if(!(this instanceof r))return new r(t);c.call(this,t),l.call(this,t),t&&!1===t.readable&&(this.readable=!1),t&&!1===t.writable&&(this.writable=!1),this.allowHalfOpen=!0,t&&!1===t.allowHalfOpen&&(this.allowHalfOpen=!1),this.once(\"end\",i)}function i(){this.allowHalfOpen||this._writableState.ended||s.nextTick(o,this)}function o(t){t.end()}var s=n(81),a=Object.keys||function(t){var e=[];for(var n in t)e.push(n);return e};t.exports=r;var u=n(46);u.inherits=n(32);var c=n(197),l=n(120);u.inherits(r,c);for(var h=a(l.prototype),f=0;f<h.length;f++){var p=h[f];r.prototype[p]||(r.prototype[p]=l.prototype[p])}Object.defineProperty(r.prototype,\"destroyed\",{get:function(){return void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed&&this._writableState.destroyed)},set:function(t){void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed=t,this._writableState.destroyed=t)}}),r.prototype._destroy=function(t,e){this.push(null),this.end(),s.nextTick(e,t)}},function(t,e,n){var r=n(27);t.exports=function(t){if(!r(t))throw TypeError(t+\" is not an object!\");return t}},function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e,n){var r=n(16),i=n(57);t.exports=n(13)?function(t,e,n){return r.f(t,e,i(1,n))}:function(t,e,n){return t[e]=n,t}},function(t,e){t.exports=function(t){return\"object\"==typeof t?null!==t:\"function\"==typeof t}},function(t,e,n){var r=n(136),i=n(87);t.exports=function(t){return r(i(t))}},function(t,e){t.exports=function(t){return\"object\"==typeof t?null!==t:\"function\"==typeof t}},function(t,e,n){var r=n(5),i=n(19),o=n(43),s=n(108)(\"src\"),a=Function.toString,u=(\"\"+a).split(\"toString\");n(18).inspectSource=function(t){return a.call(t)},(t.exports=function(t,e,n,a){var c=\"function\"==typeof n;c&&(o(n,\"name\")||i(n,\"name\",e)),t[e]!==n&&(c&&(o(n,s)||i(n,s,t[e]?\"\"+t[e]:u.join(String(e)))),t===r?t[e]=n:a?t[e]?t[e]=n:i(t,e,n):(delete t[e],i(t,e,n)))})(Function.prototype,\"toString\",function(){return\"function\"==typeof this&&this[s]||a.call(this)})},function(t,e,n){\"use strict\";var r=n(160)();t.exports=function(t){return t!==r&&null!==t}},function(t,e){\"function\"==typeof Object.create?t.exports=function(t,e){t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}})}:t.exports=function(t,e){t.super_=e;var n=function(){};n.prototype=e.prototype,t.prototype=new n,t.prototype.constructor=t}},function(t,e,n){\"use strict\";function r(t){return void 0===t||null===t}function i(t){return\"object\"==typeof t&&null!==t}function o(t){return Array.isArray(t)?t:r(t)?[]:[t]}function s(t,e){var n,r,i,o;if(e)for(o=Object.keys(e),n=0,r=o.length;n<r;n+=1)i=o[n],t[i]=e[i];return t}function a(t,e){var n,r=\"\";for(n=0;n<e;n+=1)r+=t;return r}function u(t){return 0===t&&Number.NEGATIVE_INFINITY===1/t}t.exports.isNothing=r,t.exports.isObject=i,t.exports.toArray=o,t.exports.repeat=a,t.exports.isNegativeZero=u,t.exports.extend=s},function(t,e,n){\"use strict\";function r(t,e,n){var i=[];return t.include.forEach(function(t){n=r(t,e,n)}),t[e].forEach(function(t){n.forEach(function(e,n){e.tag===t.tag&&e.kind===t.kind&&i.push(n)}),n.push(t)}),n.filter(function(t,e){return-1===i.indexOf(e)})}function i(){function t(t){r[t.kind][t.tag]=r.fallback[t.tag]=t}var e,n,r={scalar:{},sequence:{},mapping:{},fallback:{}};for(e=0,n=arguments.length;e<n;e+=1)arguments[e].forEach(t);return r}function o(t){this.include=t.include||[],this.implicit=t.implicit||[],this.explicit=t.explicit||[],this.implicit.forEach(function(t){if(t.loadKind&&\"scalar\"!==t.loadKind)throw new a(\"There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.\")}),this.compiledImplicit=r(this,\"implicit\",[]),this.compiledExplicit=r(this,\"explicit\",[]),this.compiledTypeMap=i(this.compiledImplicit,this.compiledExplicit)}var s=n(33),a=n(48),u=n(0);o.DEFAULT=null,o.create=function(){var t,e;switch(arguments.length){case 1:t=o.DEFAULT,e=arguments[0];break;case 2:t=arguments[0],e=arguments[1];break;default:throw new a(\"Wrong number of arguments for Schema.create function\")}if(t=s.toArray(t),e=s.toArray(e),!t.every(function(t){return t instanceof o}))throw new a(\"Specified list of super schemas (or a single Schema object) contains a non-Schema object.\");if(!e.every(function(t){return t instanceof u}))throw new a(\"Specified list of YAML types (or a single Type object) contains a non-Type object.\");return new o({include:t,explicit:e})},t.exports=o},function(t,e,n){function r(t,e){var n=o(t,e);return i(n)?n:void 0}var i=n(402),o=n(431);t.exports=r},function(t,e){function n(){throw new Error(\"setTimeout has not been defined\")}function r(){throw new Error(\"clearTimeout has not been defined\")}function i(t){if(l===setTimeout)return setTimeout(t,0);if((l===n||!l)&&setTimeout)return l=setTimeout,setTimeout(t,0);try{return l(t,0)}catch(e){try{return l.call(null,t,0)}catch(e){return l.call(this,t,0)}}}function o(t){if(h===clearTimeout)return clearTimeout(t);if((h===r||!h)&&clearTimeout)return h=clearTimeout,clearTimeout(t);try{return h(t)}catch(e){try{return h.call(null,t)}catch(e){return h.call(this,t)}}}function s(){m&&p&&(m=!1,p.length?d=p.concat(d):v=-1,d.length&&a())}function a(){if(!m){var t=i(s);m=!0;for(var e=d.length;e;){for(p=d,d=[];++v<e;)p&&p[v].run();v=-1,e=d.length}p=null,m=!1,o(t)}}function u(t,e){this.fun=t,this.array=e}function c(){}var l,h,f=t.exports={};!function(){try{l=\"function\"==typeof setTimeout?setTimeout:n}catch(t){l=n}try{h=\"function\"==typeof clearTimeout?clearTimeout:r}catch(t){h=r}}();var p,d=[],m=!1,v=-1;f.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)e[n-1]=arguments[n];d.push(new u(t,e)),1!==d.length||m||i(a)},u.prototype.run=function(){this.fun.apply(null,this.array)},f.title=\"browser\",f.browser=!0,f.env={},f.argv=[],f.version=\"\",f.versions={},f.on=c,f.addListener=c,f.once=c,f.off=c,f.removeListener=c,f.removeAllListeners=c,f.emit=c,f.prependListener=c,f.prependOnceListener=c,f.listeners=function(t){return[]},f.binding=function(t){throw new Error(\"process.binding is not supported\")},f.cwd=function(){return\"/\"},f.chdir=function(t){throw new Error(\"process.chdir is not supported\")},f.umask=function(){return 0}},function(t,e,n){\"use strict\";function r(t){return void 0!==t.ref}function i(t){return void 0!==t.key}var o=n(54),s=n(192),a=(n(69),n(195),Object.prototype.hasOwnProperty),u=n(193),c={key:!0,ref:!0,__self:!0,__source:!0},l=function(t,e,n,r,i,o,s){var a={$$typeof:u,type:t,key:e,ref:n,props:s,_owner:o};return a};l.createElement=function(t,e,n){var o,u={},h=null,f=null;if(null!=e){r(e)&&(f=e.ref),i(e)&&(h=\"\"+e.key),void 0===e.__self?null:e.__self,void 0===e.__source?null:e.__source;for(o in e)a.call(e,o)&&!c.hasOwnProperty(o)&&(u[o]=e[o])}var p=arguments.length-2;if(1===p)u.children=n;else if(p>1){for(var d=Array(p),m=0;m<p;m++)d[m]=arguments[m+2];u.children=d}if(t&&t.defaultProps){var v=t.defaultProps;for(o in v)void 0===u[o]&&(u[o]=v[o])}return l(t,h,f,0,0,s.current,u)},l.createFactory=function(t){var e=l.createElement.bind(null,t);return e.type=t,e},l.cloneAndReplaceKey=function(t,e){return l(t.type,e,t.ref,t._self,t._source,t._owner,t.props)},l.cloneElement=function(t,e,n){var u,h=o({},t.props),f=t.key,p=t.ref,d=(t._self,t._source,t._owner);if(null!=e){r(e)&&(p=e.ref,d=s.current),i(e)&&(f=\"\"+e.key);var m;t.type&&t.type.defaultProps&&(m=t.type.defaultProps);for(u in e)a.call(e,u)&&!c.hasOwnProperty(u)&&(void 0===e[u]&&void 0!==m?h[u]=m[u]:h[u]=e[u])}var v=arguments.length-2;if(1===v)h.children=n;else if(v>1){for(var y=Array(v),g=0;g<v;g++)y[g]=arguments[g+2];h.children=y}return l(t.type,f,p,0,0,d,h)},l.isValidElement=function(t){return\"object\"==typeof t&&null!==t&&t.$$typeof===u},t.exports=l},function(t,e){t.exports={}},function(t,e,n){var r=n(141),i=n(88);t.exports=Object.keys||function(t){return r(t,i)}},function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},function(t,e,n){t.exports=!n(42)(function(){return 7!=Object.defineProperty({},\"a\",{get:function(){return 7}}).a})},function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},function(t,e){t.exports={}},function(t,e,n){var r=n(64),i=Math.min;t.exports=function(t){return t>0?i(r(t),9007199254740991):0}},function(t,e,n){(function(t){function n(t){return Array.isArray?Array.isArray(t):\"[object Array]\"===v(t)}function r(t){return\"boolean\"==typeof t}function i(t){return null===t}function o(t){return null==t}function s(t){return\"number\"==typeof t}function a(t){return\"string\"==typeof t}function u(t){return\"symbol\"==typeof t}function c(t){return void 0===t}function l(t){return\"[object RegExp]\"===v(t)}function h(t){return\"object\"==typeof t&&null!==t}function f(t){return\"[object Date]\"===v(t)}function p(t){return\"[object Error]\"===v(t)||t instanceof Error}function d(t){return\"function\"==typeof t}function m(t){return null===t||\"boolean\"==typeof t||\"number\"==typeof t||\"string\"==typeof t||\"symbol\"==typeof t||void 0===t}function v(t){return Object.prototype.toString.call(t)}e.isArray=n,e.isBoolean=r,e.isNull=i,e.isNullOrUndefined=o,e.isNumber=s,e.isString=a,e.isSymbol=u,e.isUndefined=c,e.isRegExp=l,e.isObject=h,e.isDate=f,e.isError=p,e.isFunction=d,e.isPrimitive=m,e.isBuffer=t.isBuffer}).call(e,n(55).Buffer)},function(t,e,n){\"use strict\";var r=n(31);t.exports=function(t){if(!r(t))throw new TypeError(\"Cannot use null or undefined\");return t}},function(t,e,n){\"use strict\";function r(t,e){Error.call(this),this.name=\"YAMLException\",this.reason=t,this.mark=e,this.message=(this.reason||\"(unknown reason)\")+(this.mark?\" \"+this.mark.toString():\"\"),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack||\"\"}r.prototype=Object.create(Error.prototype),r.prototype.constructor=r,r.prototype.toString=function(t){var e=this.name+\": \";return e+=this.reason||\"(unknown reason)\",!t&&this.mark&&(e+=\" \"+this.mark.toString()),e},t.exports=r},function(t,e,n){\"use strict\";var r=n(34);t.exports=new r({include:[n(169)],implicit:[n(378),n(371)],explicit:[n(363),n(373),n(374),n(376)]})},function(t,e,n){function r(t){return null==t?void 0===t?u:a:c&&c in Object(t)?o(t):s(t)}var i=n(72),o=n(428),s=n(457),a=\"[object Null]\",u=\"[object Undefined]\",c=i?i.toStringTag:void 0;t.exports=r},function(t,e){function n(t){var e=typeof t;return null!=t&&(\"object\"==e||\"function\"==e)}t.exports=n},function(t,e){function n(t){return null!=t&&\"object\"==typeof t}t.exports=n},function(t,e,n){function r(t){return null==t?\"\":i(t)}var i=n(413);t.exports=r},function(t,e,n){\"use strict\";function r(t){if(null===t||void 0===t)throw new TypeError(\"Object.assign cannot be called with null or undefined\");return Object(t)}/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\nvar i=Object.getOwnPropertySymbols,o=Object.prototype.hasOwnProperty,s=Object.prototype.propertyIsEnumerable;t.exports=function(){try{if(!Object.assign)return!1;var t=new String(\"abc\");if(t[5]=\"de\",\"5\"===Object.getOwnPropertyNames(t)[0])return!1;for(var e={},n=0;n<10;n++)e[\"_\"+String.fromCharCode(n)]=n;if(\"0123456789\"!==Object.getOwnPropertyNames(e).map(function(t){return e[t]}).join(\"\"))return!1;var r={};return\"abcdefghijklmnopqrst\".split(\"\").forEach(function(t){r[t]=t}),\"abcdefghijklmnopqrst\"===Object.keys(Object.assign({},r)).join(\"\")}catch(t){return!1}}()?Object.assign:function(t,e){for(var n,a,u=r(t),c=1;c<arguments.length;c++){n=Object(arguments[c]);for(var l in n)o.call(n,l)&&(u[l]=n[l]);if(i){a=i(n);for(var h=0;h<a.length;h++)s.call(n,a[h])&&(u[a[h]]=n[a[h]])}}return u}},function(t,e,n){\"use strict\";(function(t){function r(){return o.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function i(t,e){if(r()<e)throw new RangeError(\"Invalid typed array length\");return o.TYPED_ARRAY_SUPPORT?(t=new Uint8Array(e),t.__proto__=o.prototype):(null===t&&(t=new o(e)),t.length=e),t}function o(t,e,n){if(!(o.TYPED_ARRAY_SUPPORT||this instanceof o))return new o(t,e,n);if(\"number\"==typeof t){if(\"string\"==typeof e)throw new Error(\"If encoding is specified then the first argument must be a string\");return c(this,t)}return s(this,t,e,n)}function s(t,e,n,r){if(\"number\"==typeof e)throw new TypeError('\"value\" argument must not be a number');return\"undefined\"!=typeof ArrayBuffer&&e instanceof ArrayBuffer?f(t,e,n,r):\"string\"==typeof e?l(t,e,n):p(t,e)}function a(t){if(\"number\"!=typeof t)throw new TypeError('\"size\" argument must be a number');if(t<0)throw new RangeError('\"size\" argument must not be negative')}function u(t,e,n,r){return a(e),e<=0?i(t,e):void 0!==n?\"string\"==typeof r?i(t,e).fill(n,r):i(t,e).fill(n):i(t,e)}function c(t,e){if(a(e),t=i(t,e<0?0:0|d(e)),!o.TYPED_ARRAY_SUPPORT)for(var n=0;n<e;++n)t[n]=0;return t}function l(t,e,n){if(\"string\"==typeof n&&\"\"!==n||(n=\"utf8\"),!o.isEncoding(n))throw new TypeError('\"encoding\" must be a valid string encoding');var r=0|v(e,n);t=i(t,r);var s=t.write(e,n);return s!==r&&(t=t.slice(0,s)),t}function h(t,e){var n=e.length<0?0:0|d(e.length);t=i(t,n);for(var r=0;r<n;r+=1)t[r]=255&e[r];return t}function f(t,e,n,r){if(e.byteLength,n<0||e.byteLength<n)throw new RangeError(\"'offset' is out of bounds\");if(e.byteLength<n+(r||0))throw new RangeError(\"'length' is out of bounds\");return e=void 0===n&&void 0===r?new Uint8Array(e):void 0===r?new Uint8Array(e,n):new Uint8Array(e,n,r),o.TYPED_ARRAY_SUPPORT?(t=e,t.__proto__=o.prototype):t=h(t,e),t}function p(t,e){if(o.isBuffer(e)){var n=0|d(e.length);return t=i(t,n),0===t.length?t:(e.copy(t,0,0,n),t)}if(e){if(\"undefined\"!=typeof ArrayBuffer&&e.buffer instanceof ArrayBuffer||\"length\"in e)return\"number\"!=typeof e.length||H(e.length)?i(t,0):h(t,e);if(\"Buffer\"===e.type&&Z(e.data))return h(t,e.data)}throw new TypeError(\"First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.\")}function d(t){if(t>=r())throw new RangeError(\"Attempt to allocate Buffer larger than maximum size: 0x\"+r().toString(16)+\" bytes\");return 0|t}function m(t){return+t!=t&&(t=0),o.alloc(+t)}function v(t,e){if(o.isBuffer(t))return t.length;if(\"undefined\"!=typeof ArrayBuffer&&\"function\"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(t)||t instanceof ArrayBuffer))return t.byteLength;\"string\"!=typeof t&&(t=\"\"+t);var n=t.length;if(0===n)return 0;for(var r=!1;;)switch(e){case\"ascii\":case\"latin1\":case\"binary\":return n;case\"utf8\":case\"utf-8\":case void 0:return q(t).length;case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return 2*n;case\"hex\":return n>>>1;case\"base64\":return Y(t).length;default:if(r)return q(t).length;e=(\"\"+e).toLowerCase(),r=!0}}function y(t,e,n){var r=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return\"\";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return\"\";if(n>>>=0,e>>>=0,n<=e)return\"\";for(t||(t=\"utf8\");;)switch(t){case\"hex\":return O(this,e,n);case\"utf8\":case\"utf-8\":return k(this,e,n);case\"ascii\":return T(this,e,n);case\"latin1\":case\"binary\":return I(this,e,n);case\"base64\":return C(this,e,n);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return M(this,e,n);default:if(r)throw new TypeError(\"Unknown encoding: \"+t);t=(t+\"\").toLowerCase(),r=!0}}function g(t,e,n){var r=t[e];t[e]=t[n],t[n]=r}function x(t,e,n,r,i){if(0===t.length)return-1;if(\"string\"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=i?0:t.length-1),n<0&&(n=t.length+n),n>=t.length){if(i)return-1;n=t.length-1}else if(n<0){if(!i)return-1;n=0}if(\"string\"==typeof e&&(e=o.from(e,r)),o.isBuffer(e))return 0===e.length?-1:b(t,e,n,r,i);if(\"number\"==typeof e)return e&=255,o.TYPED_ARRAY_SUPPORT&&\"function\"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,n):Uint8Array.prototype.lastIndexOf.call(t,e,n):b(t,[e],n,r,i);throw new TypeError(\"val must be string, number or Buffer\")}function b(t,e,n,r,i){function o(t,e){return 1===s?t[e]:t.readUInt16BE(e*s)}var s=1,a=t.length,u=e.length;if(void 0!==r&&(\"ucs2\"===(r=String(r).toLowerCase())||\"ucs-2\"===r||\"utf16le\"===r||\"utf-16le\"===r)){if(t.length<2||e.length<2)return-1;s=2,a/=2,u/=2,n/=2}var c;if(i){var l=-1;for(c=n;c<a;c++)if(o(t,c)===o(e,-1===l?0:c-l)){if(-1===l&&(l=c),c-l+1===u)return l*s}else-1!==l&&(c-=c-l),l=-1}else for(n+u>a&&(n=a-u),c=n;c>=0;c--){for(var h=!0,f=0;f<u;f++)if(o(t,c+f)!==o(e,f)){h=!1;break}if(h)return c}return-1}function D(t,e,n,r){n=Number(n)||0;var i=t.length-n;r?(r=Number(r))>i&&(r=i):r=i;var o=e.length;if(o%2!=0)throw new TypeError(\"Invalid hex string\");r>o/2&&(r=o/2);for(var s=0;s<r;++s){var a=parseInt(e.substr(2*s,2),16);if(isNaN(a))return s;t[n+s]=a}return s}function E(t,e,n,r){return V(q(e,t.length-n),t,n,r)}function w(t,e,n,r){return V(K(e),t,n,r)}function _(t,e,n,r){return w(t,e,n,r)}function S(t,e,n,r){return V(Y(e),t,n,r)}function A(t,e,n,r){return V(W(e,t.length-n),t,n,r)}function C(t,e,n){return 0===e&&n===t.length?G.fromByteArray(t):G.fromByteArray(t.slice(e,n))}function k(t,e,n){n=Math.min(t.length,n);for(var r=[],i=e;i<n;){var o=t[i],s=null,a=o>239?4:o>223?3:o>191?2:1;if(i+a<=n){var u,c,l,h;switch(a){case 1:o<128&&(s=o);break;case 2:u=t[i+1],128==(192&u)&&(h=(31&o)<<6|63&u)>127&&(s=h);break;case 3:u=t[i+1],c=t[i+2],128==(192&u)&&128==(192&c)&&(h=(15&o)<<12|(63&u)<<6|63&c)>2047&&(h<55296||h>57343)&&(s=h);break;case 4:u=t[i+1],c=t[i+2],l=t[i+3],128==(192&u)&&128==(192&c)&&128==(192&l)&&(h=(15&o)<<18|(63&u)<<12|(63&c)<<6|63&l)>65535&&h<1114112&&(s=h)}}null===s?(s=65533,a=1):s>65535&&(s-=65536,r.push(s>>>10&1023|55296),s=56320|1023&s),r.push(s),i+=a}return F(r)}function F(t){var e=t.length;if(e<=Q)return String.fromCharCode.apply(String,t);for(var n=\"\",r=0;r<e;)n+=String.fromCharCode.apply(String,t.slice(r,r+=Q));return n}function T(t,e,n){var r=\"\";n=Math.min(t.length,n);for(var i=e;i<n;++i)r+=String.fromCharCode(127&t[i]);return r}function I(t,e,n){var r=\"\";n=Math.min(t.length,n);for(var i=e;i<n;++i)r+=String.fromCharCode(t[i]);return r}function O(t,e,n){var r=t.length;(!e||e<0)&&(e=0),(!n||n<0||n>r)&&(n=r);for(var i=\"\",o=e;o<n;++o)i+=X(t[o]);return i}function M(t,e,n){for(var r=t.slice(e,n),i=\"\",o=0;o<r.length;o+=2)i+=String.fromCharCode(r[o]+256*r[o+1]);return i}function B(t,e,n){if(t%1!=0||t<0)throw new RangeError(\"offset is not uint\");if(t+e>n)throw new RangeError(\"Trying to access beyond buffer length\")}function P(t,e,n,r,i,s){if(!o.isBuffer(t))throw new TypeError('\"buffer\" argument must be a Buffer instance');if(e>i||e<s)throw new RangeError('\"value\" argument is out of bounds');if(n+r>t.length)throw new RangeError(\"Index out of range\")}function j(t,e,n,r){e<0&&(e=65535+e+1);for(var i=0,o=Math.min(t.length-n,2);i<o;++i)t[n+i]=(e&255<<8*(r?i:1-i))>>>8*(r?i:1-i)}function N(t,e,n,r){e<0&&(e=4294967295+e+1);for(var i=0,o=Math.min(t.length-n,4);i<o;++i)t[n+i]=e>>>8*(r?i:3-i)&255}function L(t,e,n,r,i,o){if(n+r>t.length)throw new RangeError(\"Index out of range\");if(n<0)throw new RangeError(\"Index out of range\")}function R(t,e,n,r,i){return i||L(t,e,n,4,3.4028234663852886e38,-3.4028234663852886e38),$.write(t,e,n,r,23,4),n+4}function z(t,e,n,r,i){return i||L(t,e,n,8,1.7976931348623157e308,-1.7976931348623157e308),$.write(t,e,n,r,52,8),n+8}function U(t){if(t=J(t).replace(tt,\"\"),t.length<2)return\"\";for(;t.length%4!=0;)t+=\"=\";return t}function J(t){return t.trim?t.trim():t.replace(/^\\s+|\\s+$/g,\"\")}function X(t){return t<16?\"0\"+t.toString(16):t.toString(16)}function q(t,e){e=e||1/0;for(var n,r=t.length,i=null,o=[],s=0;s<r;++s){if((n=t.charCodeAt(s))>55295&&n<57344){if(!i){if(n>56319){(e-=3)>-1&&o.push(239,191,189);continue}if(s+1===r){(e-=3)>-1&&o.push(239,191,189);continue}i=n;continue}if(n<56320){(e-=3)>-1&&o.push(239,191,189),i=n;continue}n=65536+(i-55296<<10|n-56320)}else i&&(e-=3)>-1&&o.push(239,191,189);if(i=null,n<128){if((e-=1)<0)break;o.push(n)}else if(n<2048){if((e-=2)<0)break;o.push(n>>6|192,63&n|128)}else if(n<65536){if((e-=3)<0)break;o.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error(\"Invalid code point\");if((e-=4)<0)break;o.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return o}function K(t){for(var e=[],n=0;n<t.length;++n)e.push(255&t.charCodeAt(n));return e}function W(t,e){for(var n,r,i,o=[],s=0;s<t.length&&!((e-=2)<0);++s)n=t.charCodeAt(s),r=n>>8,i=n%256,o.push(i),o.push(r);return o}function Y(t){return G.toByteArray(U(t))}function V(t,e,n,r){for(var i=0;i<r&&!(i+n>=e.length||i>=t.length);++i)e[i+n]=t[i];return i}function H(t){return t!==t}/*!\n * The buffer module from node.js, for the browser.\n *\n * @author   Feross Aboukhadijeh <feross@feross.org> <http://feross.org>\n * @license  MIT\n */\nvar G=n(223),$=n(357),Z=n(168);e.Buffer=o,e.SlowBuffer=m,e.INSPECT_MAX_BYTES=50,o.TYPED_ARRAY_SUPPORT=void 0!==t.TYPED_ARRAY_SUPPORT?t.TYPED_ARRAY_SUPPORT:function(){try{var t=new Uint8Array(1);return t.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===t.foo()&&\"function\"==typeof t.subarray&&0===t.subarray(1,1).byteLength}catch(t){return!1}}(),e.kMaxLength=r(),o.poolSize=8192,o._augment=function(t){return t.__proto__=o.prototype,t},o.from=function(t,e,n){return s(null,t,e,n)},o.TYPED_ARRAY_SUPPORT&&(o.prototype.__proto__=Uint8Array.prototype,o.__proto__=Uint8Array,\"undefined\"!=typeof Symbol&&Symbol.species&&o[Symbol.species]===o&&Object.defineProperty(o,Symbol.species,{value:null,configurable:!0})),o.alloc=function(t,e,n){return u(null,t,e,n)},o.allocUnsafe=function(t){return c(null,t)},o.allocUnsafeSlow=function(t){return c(null,t)},o.isBuffer=function(t){return!(null==t||!t._isBuffer)},o.compare=function(t,e){if(!o.isBuffer(t)||!o.isBuffer(e))throw new TypeError(\"Arguments must be Buffers\");if(t===e)return 0;for(var n=t.length,r=e.length,i=0,s=Math.min(n,r);i<s;++i)if(t[i]!==e[i]){n=t[i],r=e[i];break}return n<r?-1:r<n?1:0},o.isEncoding=function(t){switch(String(t).toLowerCase()){case\"hex\":case\"utf8\":case\"utf-8\":case\"ascii\":case\"latin1\":case\"binary\":case\"base64\":case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return!0;default:return!1}},o.concat=function(t,e){if(!Z(t))throw new TypeError('\"list\" argument must be an Array of Buffers');if(0===t.length)return o.alloc(0);var n;if(void 0===e)for(e=0,n=0;n<t.length;++n)e+=t[n].length;var r=o.allocUnsafe(e),i=0;for(n=0;n<t.length;++n){var s=t[n];if(!o.isBuffer(s))throw new TypeError('\"list\" argument must be an Array of Buffers');s.copy(r,i),i+=s.length}return r},o.byteLength=v,o.prototype._isBuffer=!0,o.prototype.swap16=function(){var t=this.length;if(t%2!=0)throw new RangeError(\"Buffer size must be a multiple of 16-bits\");for(var e=0;e<t;e+=2)g(this,e,e+1);return this},o.prototype.swap32=function(){var t=this.length;if(t%4!=0)throw new RangeError(\"Buffer size must be a multiple of 32-bits\");for(var e=0;e<t;e+=4)g(this,e,e+3),g(this,e+1,e+2);return this},o.prototype.swap64=function(){var t=this.length;if(t%8!=0)throw new RangeError(\"Buffer size must be a multiple of 64-bits\");for(var e=0;e<t;e+=8)g(this,e,e+7),g(this,e+1,e+6),g(this,e+2,e+5),g(this,e+3,e+4);return this},o.prototype.toString=function(){var t=0|this.length;return 0===t?\"\":0===arguments.length?k(this,0,t):y.apply(this,arguments)},o.prototype.equals=function(t){if(!o.isBuffer(t))throw new TypeError(\"Argument must be a Buffer\");return this===t||0===o.compare(this,t)},o.prototype.inspect=function(){var t=\"\",n=e.INSPECT_MAX_BYTES;return this.length>0&&(t=this.toString(\"hex\",0,n).match(/.{2}/g).join(\" \"),this.length>n&&(t+=\" ... \")),\"<Buffer \"+t+\">\"},o.prototype.compare=function(t,e,n,r,i){if(!o.isBuffer(t))throw new TypeError(\"Argument must be a Buffer\");if(void 0===e&&(e=0),void 0===n&&(n=t?t.length:0),void 0===r&&(r=0),void 0===i&&(i=this.length),e<0||n>t.length||r<0||i>this.length)throw new RangeError(\"out of range index\");if(r>=i&&e>=n)return 0;if(r>=i)return-1;if(e>=n)return 1;if(e>>>=0,n>>>=0,r>>>=0,i>>>=0,this===t)return 0;for(var s=i-r,a=n-e,u=Math.min(s,a),c=this.slice(r,i),l=t.slice(e,n),h=0;h<u;++h)if(c[h]!==l[h]){s=c[h],a=l[h];break}return s<a?-1:a<s?1:0},o.prototype.includes=function(t,e,n){return-1!==this.indexOf(t,e,n)},o.prototype.indexOf=function(t,e,n){return x(this,t,e,n,!0)},o.prototype.lastIndexOf=function(t,e,n){return x(this,t,e,n,!1)},o.prototype.write=function(t,e,n,r){if(void 0===e)r=\"utf8\",n=this.length,e=0;else if(void 0===n&&\"string\"==typeof e)r=e,n=this.length,e=0;else{if(!isFinite(e))throw new Error(\"Buffer.write(string, encoding, offset[, length]) is no longer supported\");e|=0,isFinite(n)?(n|=0,void 0===r&&(r=\"utf8\")):(r=n,n=void 0)}var i=this.length-e;if((void 0===n||n>i)&&(n=i),t.length>0&&(n<0||e<0)||e>this.length)throw new RangeError(\"Attempt to write outside buffer bounds\");r||(r=\"utf8\");for(var o=!1;;)switch(r){case\"hex\":return D(this,t,e,n);case\"utf8\":case\"utf-8\":return E(this,t,e,n);case\"ascii\":return w(this,t,e,n);case\"latin1\":case\"binary\":return _(this,t,e,n);case\"base64\":return S(this,t,e,n);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return A(this,t,e,n);default:if(o)throw new TypeError(\"Unknown encoding: \"+r);r=(\"\"+r).toLowerCase(),o=!0}},o.prototype.toJSON=function(){return{type:\"Buffer\",data:Array.prototype.slice.call(this._arr||this,0)}};var Q=4096;o.prototype.slice=function(t,e){var n=this.length;t=~~t,e=void 0===e?n:~~e,t<0?(t+=n)<0&&(t=0):t>n&&(t=n),e<0?(e+=n)<0&&(e=0):e>n&&(e=n),e<t&&(e=t);var r;if(o.TYPED_ARRAY_SUPPORT)r=this.subarray(t,e),r.__proto__=o.prototype;else{var i=e-t;r=new o(i,void 0);for(var s=0;s<i;++s)r[s]=this[s+t]}return r},o.prototype.readUIntLE=function(t,e,n){t|=0,e|=0,n||B(t,e,this.length);for(var r=this[t],i=1,o=0;++o<e&&(i*=256);)r+=this[t+o]*i;return r},o.prototype.readUIntBE=function(t,e,n){t|=0,e|=0,n||B(t,e,this.length);for(var r=this[t+--e],i=1;e>0&&(i*=256);)r+=this[t+--e]*i;return r},o.prototype.readUInt8=function(t,e){return e||B(t,1,this.length),this[t]},o.prototype.readUInt16LE=function(t,e){return e||B(t,2,this.length),this[t]|this[t+1]<<8},o.prototype.readUInt16BE=function(t,e){return e||B(t,2,this.length),this[t]<<8|this[t+1]},o.prototype.readUInt32LE=function(t,e){return e||B(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},o.prototype.readUInt32BE=function(t,e){return e||B(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},o.prototype.readIntLE=function(t,e,n){t|=0,e|=0,n||B(t,e,this.length);for(var r=this[t],i=1,o=0;++o<e&&(i*=256);)r+=this[t+o]*i;return i*=128,r>=i&&(r-=Math.pow(2,8*e)),r},o.prototype.readIntBE=function(t,e,n){t|=0,e|=0,n||B(t,e,this.length);for(var r=e,i=1,o=this[t+--r];r>0&&(i*=256);)o+=this[t+--r]*i;return i*=128,o>=i&&(o-=Math.pow(2,8*e)),o},o.prototype.readInt8=function(t,e){return e||B(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},o.prototype.readInt16LE=function(t,e){e||B(t,2,this.length);var n=this[t]|this[t+1]<<8;return 32768&n?4294901760|n:n},o.prototype.readInt16BE=function(t,e){e||B(t,2,this.length);var n=this[t+1]|this[t]<<8;return 32768&n?4294901760|n:n},o.prototype.readInt32LE=function(t,e){return e||B(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},o.prototype.readInt32BE=function(t,e){return e||B(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},o.prototype.readFloatLE=function(t,e){return e||B(t,4,this.length),$.read(this,t,!0,23,4)},o.prototype.readFloatBE=function(t,e){return e||B(t,4,this.length),$.read(this,t,!1,23,4)},o.prototype.readDoubleLE=function(t,e){return e||B(t,8,this.length),$.read(this,t,!0,52,8)},o.prototype.readDoubleBE=function(t,e){return e||B(t,8,this.length),$.read(this,t,!1,52,8)},o.prototype.writeUIntLE=function(t,e,n,r){if(t=+t,e|=0,n|=0,!r){P(this,t,e,n,Math.pow(2,8*n)-1,0)}var i=1,o=0;for(this[e]=255&t;++o<n&&(i*=256);)this[e+o]=t/i&255;return e+n},o.prototype.writeUIntBE=function(t,e,n,r){if(t=+t,e|=0,n|=0,!r){P(this,t,e,n,Math.pow(2,8*n)-1,0)}var i=n-1,o=1;for(this[e+i]=255&t;--i>=0&&(o*=256);)this[e+i]=t/o&255;return e+n},o.prototype.writeUInt8=function(t,e,n){return t=+t,e|=0,n||P(this,t,e,1,255,0),o.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),this[e]=255&t,e+1},o.prototype.writeUInt16LE=function(t,e,n){return t=+t,e|=0,n||P(this,t,e,2,65535,0),o.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):j(this,t,e,!0),e+2},o.prototype.writeUInt16BE=function(t,e,n){return t=+t,e|=0,n||P(this,t,e,2,65535,0),o.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):j(this,t,e,!1),e+2},o.prototype.writeUInt32LE=function(t,e,n){return t=+t,e|=0,n||P(this,t,e,4,4294967295,0),o.TYPED_ARRAY_SUPPORT?(this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t):N(this,t,e,!0),e+4},o.prototype.writeUInt32BE=function(t,e,n){return t=+t,e|=0,n||P(this,t,e,4,4294967295,0),o.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):N(this,t,e,!1),e+4},o.prototype.writeIntLE=function(t,e,n,r){if(t=+t,e|=0,!r){var i=Math.pow(2,8*n-1);P(this,t,e,n,i-1,-i)}var o=0,s=1,a=0;for(this[e]=255&t;++o<n&&(s*=256);)t<0&&0===a&&0!==this[e+o-1]&&(a=1),this[e+o]=(t/s>>0)-a&255;return e+n},o.prototype.writeIntBE=function(t,e,n,r){if(t=+t,e|=0,!r){var i=Math.pow(2,8*n-1);P(this,t,e,n,i-1,-i)}var o=n-1,s=1,a=0;for(this[e+o]=255&t;--o>=0&&(s*=256);)t<0&&0===a&&0!==this[e+o+1]&&(a=1),this[e+o]=(t/s>>0)-a&255;return e+n},o.prototype.writeInt8=function(t,e,n){return t=+t,e|=0,n||P(this,t,e,1,127,-128),o.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),t<0&&(t=255+t+1),this[e]=255&t,e+1},o.prototype.writeInt16LE=function(t,e,n){return t=+t,e|=0,n||P(this,t,e,2,32767,-32768),o.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):j(this,t,e,!0),e+2},o.prototype.writeInt16BE=function(t,e,n){return t=+t,e|=0,n||P(this,t,e,2,32767,-32768),o.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):j(this,t,e,!1),e+2},o.prototype.writeInt32LE=function(t,e,n){return t=+t,e|=0,n||P(this,t,e,4,2147483647,-2147483648),o.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24):N(this,t,e,!0),e+4},o.prototype.writeInt32BE=function(t,e,n){return t=+t,e|=0,n||P(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),o.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):N(this,t,e,!1),e+4},o.prototype.writeFloatLE=function(t,e,n){return R(this,t,e,!0,n)},o.prototype.writeFloatBE=function(t,e,n){return R(this,t,e,!1,n)},o.prototype.writeDoubleLE=function(t,e,n){return z(this,t,e,!0,n)},o.prototype.writeDoubleBE=function(t,e,n){return z(this,t,e,!1,n)},o.prototype.copy=function(t,e,n,r){if(n||(n=0),r||0===r||(r=this.length),e>=t.length&&(e=t.length),e||(e=0),r>0&&r<n&&(r=n),r===n)return 0;if(0===t.length||0===this.length)return 0;if(e<0)throw new RangeError(\"targetStart out of bounds\");if(n<0||n>=this.length)throw new RangeError(\"sourceStart out of bounds\");if(r<0)throw new RangeError(\"sourceEnd out of bounds\");r>this.length&&(r=this.length),t.length-e<r-n&&(r=t.length-e+n);var i,s=r-n;if(this===t&&n<e&&e<r)for(i=s-1;i>=0;--i)t[i+e]=this[i+n];else if(s<1e3||!o.TYPED_ARRAY_SUPPORT)for(i=0;i<s;++i)t[i+e]=this[i+n];else Uint8Array.prototype.set.call(t,this.subarray(n,n+s),e);return s},o.prototype.fill=function(t,e,n,r){if(\"string\"==typeof t){if(\"string\"==typeof e?(r=e,e=0,n=this.length):\"string\"==typeof n&&(r=n,n=this.length),1===t.length){var i=t.charCodeAt(0);i<256&&(t=i)}if(void 0!==r&&\"string\"!=typeof r)throw new TypeError(\"encoding must be a string\");if(\"string\"==typeof r&&!o.isEncoding(r))throw new TypeError(\"Unknown encoding: \"+r)}else\"number\"==typeof t&&(t&=255);if(e<0||this.length<e||this.length<n)throw new RangeError(\"Out of range index\");if(n<=e)return this;e>>>=0,n=void 0===n?this.length:n>>>0,t||(t=0);var s;if(\"number\"==typeof t)for(s=e;s<n;++s)this[s]=t;else{var a=o.isBuffer(t)?t:q(new o(t,r).toString()),u=a.length;for(s=0;s<n-e;++s)this[s+e]=a[s%u]}return this};var tt=/[^+\\/0-9A-Za-z-_]/g}).call(e,n(12))},function(t,e){e.f={}.propertyIsEnumerable},function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e,n){var r=n(87);t.exports=function(t){return Object(r(t))}},function(t,e){var n=0,r=Math.random();t.exports=function(t){return\"Symbol(\".concat(void 0===t?\"\":t,\")_\",(++n+r).toString(36))}},function(t,e){t.exports=function(t){if(\"function\"!=typeof t)throw TypeError(t+\" is not a function!\");return t}},function(t,e,n){var r=n(60);t.exports=function(t,e,n){if(r(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,i){return t.call(e,n,r,i)}}return function(){return t.apply(e,arguments)}}},function(t,e,n){\"use strict\";var r=n(19),i=n(30),o=n(42),s=n(10),a=n(1);t.exports=function(t,e,n){var u=a(t),c=n(s,u,\"\"[t]),l=c[0],h=c[1];o(function(){var e={};return e[u]=function(){return 7},7!=\"\"[t](e)})&&(i(String.prototype,t,l),r(RegExp.prototype,u,2==e?function(t,e){return h.call(t,this,e)}:function(t){return h.call(t,this)}))}},function(t,e,n){var r=n(17),i=n(271),o=n(290),s=Object.defineProperty;e.f=n(41)?Object.defineProperty:function(t,e,n){if(r(t),e=o(e,!0),r(n),i)try{return s(t,e,n)}catch(t){}if(\"get\"in n||\"set\"in n)throw TypeError(\"Accessors not supported!\");return\"value\"in n&&(t[e]=n.value),t}},function(t,e){var n=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:n)(t)}},function(t,e,n){var r=n(273),i=n(10);t.exports=function(t){return r(i(t))}},function(t,e,n){\"use strict\";var r,i=n(161),o=n(164),s=n(341),a=n(346);r=t.exports=function(t,e){var n,r,s,u,c;return arguments.length<2||\"string\"!=typeof t?(u=e,e=t,t=null):u=arguments[2],null==t?(n=s=!0,r=!1):(n=a.call(t,\"c\"),r=a.call(t,\"e\"),s=a.call(t,\"w\")),c={value:e,configurable:n,enumerable:r,writable:s},u?i(o(u),c):c},r.gs=function(t,e,n){var r,u,c,l;return\"string\"!=typeof t?(c=n,n=e,e=t,t=null):c=arguments[3],null==e?e=void 0:s(e)?null==n?n=void 0:s(n)||(c=n,n=void 0):(c=e,e=n=void 0),null==t?(r=!0,u=!1):(r=a.call(t,\"c\"),u=a.call(t,\"e\")),l={get:e,set:n,configurable:r,enumerable:u},c?i(o(c),l):l}},function(t,e,n){\"use strict\";t.exports=n(338)(\"forEach\")},function(t,e,n){\"use strict\";function r(t){return function(){return t}}var i=function(){};i.thatReturns=r,i.thatReturnsFalse=r(!1),i.thatReturnsTrue=r(!0),i.thatReturnsNull=r(null),i.thatReturnsThis=function(){return this},i.thatReturnsArgument=function(t){return t},t.exports=i},function(t,e,n){\"use strict\";var r=n(68),i=r;t.exports=i},function(t,e,n){\"use strict\";var r=n(34);t.exports=r.DEFAULT=new r({include:[n(49)],explicit:[n(369),n(368),n(367)]})},function(t,e,n){function r(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}var i=n(443),o=n(444),s=n(445),a=n(446),u=n(447);r.prototype.clear=i,r.prototype.delete=o,r.prototype.get=s,r.prototype.has=a,r.prototype.set=u,t.exports=r},function(t,e,n){var r=n(7),i=r.Symbol;t.exports=i},function(t,e,n){function r(t,e){for(var n=t.length;n--;)if(i(t[n][0],e))return n;return-1}var i=n(77);t.exports=r},function(t,e,n){function r(t,e){var n=t.__data__;return i(e)?n[\"string\"==typeof e?\"string\":\"hash\"]:n.map}var i=n(440);t.exports=r},function(t,e,n){var r=n(35),i=r(Object,\"create\");t.exports=i},function(t,e,n){function r(t){if(\"string\"==typeof t||i(t))return t;var e=t+\"\";return\"0\"==e&&1/t==-o?\"-0\":e}var i=n(79),o=1/0;t.exports=r},function(t,e){function n(t,e){return t===e||t!==t&&e!==e}t.exports=n},function(t,e,n){function r(t){return null!=t&&o(t.length)&&!i(t)}var i=n(184),o=n(118);t.exports=r},function(t,e,n){function r(t){return\"symbol\"==typeof t||o(t)&&i(t)==s}var i=n(50),o=n(52),s=\"[object Symbol]\";t.exports=r},function(t,e,n){function r(t){return s(t)?i(t):o(t)}var i=n(387),o=n(404),s=n(78);t.exports=r},function(t,e,n){\"use strict\";(function(e){function n(t,n,r,i){if(\"function\"!=typeof t)throw new TypeError('\"callback\" argument must be a function');var o,s,a=arguments.length;switch(a){case 0:case 1:return e.nextTick(t);case 2:return e.nextTick(function(){t.call(null,n)});case 3:return e.nextTick(function(){t.call(null,n,r)});case 4:return e.nextTick(function(){t.call(null,n,r,i)});default:for(o=new Array(a-1),s=0;s<o.length;)o[s++]=arguments[s];return e.nextTick(function(){t.apply(null,o)})}}!e.version||0===e.version.indexOf(\"v0.\")||0===e.version.indexOf(\"v1.\")&&0!==e.version.indexOf(\"v1.8.\")?t.exports={nextTick:n}:t.exports=e}).call(e,n(36))},function(t,e,n){\"use strict\";function r(t){for(var e=arguments.length-1,n=\"Minified React error #\"+t+\"; visit http://facebook.github.io/react/docs/error-decoder.html?invariant=\"+t,r=0;r<e;r++)n+=\"&args[]=\"+encodeURIComponent(arguments[r+1]);n+=\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\";var i=new Error(n);throw i.name=\"Invariant Violation\",i.framesToPop=1,i}t.exports=r},function(t,e,n){function r(t,e){for(var n in t)e[n]=t[n]}function i(t,e,n){return s(t,e,n)}var o=n(55),s=o.Buffer;s.from&&s.alloc&&s.allocUnsafe&&s.allocUnsafeSlow?t.exports=o:(r(o,e),e.Buffer=i),r(s,i),i.from=function(t,e,n){if(\"number\"==typeof t)throw new TypeError(\"Argument must not be a number\");return s(t,e,n)},i.alloc=function(t,e,n){if(\"number\"!=typeof t)throw new TypeError(\"Argument must be a number\");var r=s(t);return void 0!==e?\"string\"==typeof n?r.fill(e,n):r.fill(e):r.fill(0),r},i.allocUnsafe=function(t){if(\"number\"!=typeof t)throw new TypeError(\"Argument must be a number\");return s(t)},i.allocUnsafeSlow=function(t){if(\"number\"!=typeof t)throw new TypeError(\"Argument must be a number\");return o.SlowBuffer(t)}},function(t,e,n){t.exports={default:n(226),__esModule:!0}},function(t,e,n){\"use strict\";function r(t){return t&&t.__esModule?t:{default:t}}e.__esModule=!0;var i=n(221),o=r(i),s=n(220),a=r(s),u=\"function\"==typeof a.default&&\"symbol\"==typeof o.default?function(t){return typeof t}:function(t){return t&&\"function\"==typeof a.default&&t.constructor===a.default&&t!==a.default.prototype?\"symbol\":typeof t};e.default=\"function\"==typeof a.default&&\"symbol\"===u(o.default)?function(t){return void 0===t?\"undefined\":u(t)}:function(t){return t&&\"function\"==typeof a.default&&t.constructor===a.default&&t!==a.default.prototype?\"symbol\":void 0===t?\"undefined\":u(t)}},function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},function(t,e){t.exports=function(t){if(void 0==t)throw TypeError(\"Can't call method on  \"+t);return t}},function(t,e){t.exports=\"constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf\".split(\",\")},function(t,e){t.exports=!0},function(t,e,n){var r=n(24),i=n(247),o=n(88),s=n(93)(\"IE_PROTO\"),a=function(){},u=function(){var t,e=n(134)(\"iframe\"),r=o.length;for(e.style.display=\"none\",n(241).appendChild(e),e.src=\"javascript:\",t=e.contentWindow.document,t.open(),t.write(\"<script>document.F=Object<\\/script>\"),t.close(),u=t.F;r--;)delete u.prototype[o[r]];return u()};t.exports=Object.create||function(t,e){var n;return null!==t?(a.prototype=r(t),n=new a,a.prototype=null,n[s]=t):n=u(),void 0===e?n:i(n,e)}},function(t,e){e.f=Object.getOwnPropertySymbols},function(t,e,n){var r=n(16).f,i=n(15),o=n(6)(\"toStringTag\");t.exports=function(t,e,n){t&&!i(t=n?t:t.prototype,o)&&r(t,o,{configurable:!0,value:e})}},function(t,e,n){var r=n(94)(\"keys\"),i=n(59);t.exports=function(t){return r[t]||(r[t]=i(t))}},function(t,e,n){var r=n(9),i=r[\"__core-js_shared__\"]||(r[\"__core-js_shared__\"]={});t.exports=function(t){return i[t]||(i[t]={})}},function(t,e){var n=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:n)(t)}},function(t,e,n){var r=n(27);t.exports=function(t,e){if(!r(t))return t;var n,i;if(e&&\"function\"==typeof(n=t.toString)&&!r(i=n.call(t)))return i;if(\"function\"==typeof(n=t.valueOf)&&!r(i=n.call(t)))return i;if(!e&&\"function\"==typeof(n=t.toString)&&!r(i=n.call(t)))return i;throw TypeError(\"Can't convert object to primitive value\")}},function(t,e,n){var r=n(9),i=n(2),o=n(89),s=n(98),a=n(16).f;t.exports=function(t){var e=i.Symbol||(i.Symbol=o?{}:r.Symbol||{});\"_\"==t.charAt(0)||t in e||a(e,t,{value:s.f(t)})}},function(t,e,n){e.f=n(6)},function(t,e,n){\"use strict\";var r=n(250)(!0);n(137)(String,\"String\",function(t){this._t=String(t),this._i=0},function(){var t,e=this._t,n=this._i;return n>=e.length?{value:void 0,done:!0}:(t=r(e,n),this._i+=t.length,{value:t,done:!1})})},function(t,e,n){n(256);for(var r=n(9),i=n(26),o=n(38),s=n(6)(\"toStringTag\"),a=\"CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,TextTrackList,TouchList\".split(\",\"),u=0;u<a.length;u++){var c=a[u],l=r[c],h=l&&l.prototype;h&&!h[s]&&i(h,s,c),o[c]=o.Array}},function(t,e,n){var r=n(40),i=n(1)(\"toStringTag\"),o=\"Arguments\"==r(function(){return arguments}()),s=function(t,e){try{return t[e]}catch(t){}};t.exports=function(t){var e,n,a;return void 0===t?\"Undefined\":null===t?\"Null\":\"string\"==typeof(n=s(e=Object(t),i))?n:o?r(e):\"Object\"==(a=r(e))&&\"function\"==typeof e.callee?\"Arguments\":a}},function(t,e,n){var r=n(29),i=n(5).document,o=r(i)&&r(i.createElement);t.exports=function(t){return o?i.createElement(t):{}}},function(t,e,n){var r=n(1)(\"match\");t.exports=function(t){var e=/./;try{\"/./\"[t](e)}catch(n){try{return e[r]=!1,!\"/./\"[t](e)}catch(t){}}return!0}},function(t,e,n){\"use strict\";function r(t){var e,n;this.promise=new t(function(t,r){if(void 0!==e||void 0!==n)throw TypeError(\"Bad Promise constructor\");e=t,n=r}),this.resolve=i(e),this.reject=i(n)}var i=n(60);t.exports.f=function(t){return new r(t)}},function(t,e,n){var r=n(63).f,i=n(43),o=n(1)(\"toStringTag\");t.exports=function(t,e,n){t&&!i(t=n?t:t.prototype,o)&&r(t,o,{configurable:!0,value:e})}},function(t,e,n){var r=n(153)(\"keys\"),i=n(108);t.exports=function(t){return r[t]||(r[t]=i(t))}},function(t,e,n){var r=n(146),i=n(10);t.exports=function(t,e,n){if(r(e))throw TypeError(\"String#\"+n+\" doesn't accept regex!\");return String(i(t))}},function(t,e){var n=0,r=Math.random();t.exports=function(t){return\"Symbol(\".concat(void 0===t?\"\":t,\")_\",(++n+r).toString(36))}},function(t,e,n){\"use strict\";var r=n(334),i=n(20),o=n(47),s=Array.prototype.indexOf,a=Object.prototype.hasOwnProperty,u=Math.abs,c=Math.floor;t.exports=function(t){var e,n,l,h;if(!r(t))return s.apply(this,arguments);for(n=i(o(this).length),l=arguments[1],l=isNaN(l)?0:l>=0?c(l):i(this.length)-c(u(l)),e=l;e<n;++e)if(a.call(this,e)&&(h=this[e],r(h)))return e;return-1}},function(t,e,n){\"use strict\";t.exports=n(325)()?Array.from:n(326)},function(t,e){function n(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function r(t){return\"function\"==typeof t}function i(t){return\"number\"==typeof t}function o(t){return\"object\"==typeof t&&null!==t}function s(t){return void 0===t}t.exports=n,n.EventEmitter=n,n.prototype._events=void 0,n.prototype._maxListeners=void 0,n.defaultMaxListeners=10,n.prototype.setMaxListeners=function(t){if(!i(t)||t<0||isNaN(t))throw TypeError(\"n must be a positive number\");return this._maxListeners=t,this},n.prototype.emit=function(t){var e,n,i,a,u,c;if(this._events||(this._events={}),\"error\"===t&&(!this._events.error||o(this._events.error)&&!this._events.error.length)){if((e=arguments[1])instanceof Error)throw e;var l=new Error('Uncaught, unspecified \"error\" event. ('+e+\")\");throw l.context=e,l}if(n=this._events[t],s(n))return!1;if(r(n))switch(arguments.length){case 1:n.call(this);break;case 2:n.call(this,arguments[1]);break;case 3:n.call(this,arguments[1],arguments[2]);break;default:a=Array.prototype.slice.call(arguments,1),n.apply(this,a)}else if(o(n))for(a=Array.prototype.slice.call(arguments,1),c=n.slice(),i=c.length,u=0;u<i;u++)c[u].apply(this,a);return!0},n.prototype.addListener=function(t,e){var i;if(!r(e))throw TypeError(\"listener must be a function\");return this._events||(this._events={}),this._events.newListener&&this.emit(\"newListener\",t,r(e.listener)?e.listener:e),this._events[t]?o(this._events[t])?this._events[t].push(e):this._events[t]=[this._events[t],e]:this._events[t]=e,o(this._events[t])&&!this._events[t].warned&&(i=s(this._maxListeners)?n.defaultMaxListeners:this._maxListeners)&&i>0&&this._events[t].length>i&&(this._events[t].warned=!0,console.error(\"(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.\",this._events[t].length),\"function\"==typeof console.trace&&console.trace()),this},n.prototype.on=n.prototype.addListener,n.prototype.once=function(t,e){function n(){this.removeListener(t,n),i||(i=!0,e.apply(this,arguments))}if(!r(e))throw TypeError(\"listener must be a function\");var i=!1;return n.listener=e,this.on(t,n),this},n.prototype.removeListener=function(t,e){var n,i,s,a;if(!r(e))throw TypeError(\"listener must be a function\");if(!this._events||!this._events[t])return this;if(n=this._events[t],s=n.length,i=-1,n===e||r(n.listener)&&n.listener===e)delete this._events[t],this._events.removeListener&&this.emit(\"removeListener\",t,e);else if(o(n)){for(a=s;a-- >0;)if(n[a]===e||n[a].listener&&n[a].listener===e){i=a;break}if(i<0)return this;1===n.length?(n.length=0,delete this._events[t]):n.splice(i,1),this._events.removeListener&&this.emit(\"removeListener\",t,e)}return this},n.prototype.removeAllListeners=function(t){var e,n;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[t]&&delete this._events[t],this;if(0===arguments.length){for(e in this._events)\"removeListener\"!==e&&this.removeAllListeners(e);return this.removeAllListeners(\"removeListener\"),this._events={},this}if(n=this._events[t],r(n))this.removeListener(t,n);else if(n)for(;n.length;)this.removeListener(t,n[n.length-1]);return delete this._events[t],this},n.prototype.listeners=function(t){return this._events&&this._events[t]?r(this._events[t])?[this._events[t]]:this._events[t].slice():[]},n.prototype.listenerCount=function(t){if(this._events){var e=this._events[t];if(r(e))return 1;if(e)return e.length}return 0},n.listenerCount=function(t,e){return t.listenerCount(e)}},function(t,e,n){\"use strict\";var r=n(34);t.exports=new r({explicit:[n(377),n(375),n(370)]})},function(t,e,n){var r=n(35),i=n(7),o=r(i,\"Map\");t.exports=o},function(t,e,n){function r(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}var i=n(448),o=n(449),s=n(450),a=n(451),u=n(452);r.prototype.clear=i,r.prototype.delete=o,r.prototype.get=s,r.prototype.has=a,r.prototype.set=u,t.exports=r},function(t,e,n){function r(t){return\"function\"==typeof t?t:null==t?s:\"object\"==typeof t?a(t)?o(t[0],t[1]):i(t):u(t)}var i=n(405),o=n(406),s=n(478),a=n(8),u=n(479);t.exports=r},function(t,e){function n(t,e){var n=typeof t;return!!(e=null==e?r:e)&&(\"number\"==n||\"symbol\"!=n&&i.test(t))&&t>-1&&t%1==0&&t<e}var r=9007199254740991,i=/^(?:0|[1-9]\\d*)$/;t.exports=n},function(t,e,n){function r(t,e){if(i(t))return!1;var n=typeof t;return!(\"number\"!=n&&\"symbol\"!=n&&\"boolean\"!=n&&null!=t&&!o(t))||(a.test(t)||!s.test(t)||null!=e&&t in Object(e))}var i=n(8),o=n(79),s=/\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,a=/^\\w*$/;t.exports=r},function(t,e){function n(t){return\"number\"==typeof t&&t>-1&&t%1==0&&t<=r}var r=9007199254740991;t.exports=n},function(t,e,n){\"use strict\";(function(e,n){var r,i;r=function(t){if(\"function\"!=typeof t)throw new TypeError(t+\" is not a function\");return t},i=function(t){var e,n,i=document.createTextNode(\"\"),o=0;return new t(function(){var t;if(e)n&&(e=n.concat(e));else{if(!n)return;e=n}if(n=e,e=null,\"function\"==typeof n)return t=n,n=null,void t();for(i.data=o=++o%2;n;)t=n.shift(),n.length||(n=null),t()}).observe(i,{characterData:!0}),function(t){if(r(t),e)return void(\"function\"==typeof e?e=[e,t]:e.push(t));e=t,i.data=o=++o%2}},t.exports=function(){if(\"object\"==typeof e&&e&&\"function\"==typeof e.nextTick)return e.nextTick;if(\"object\"==typeof document&&document){if(\"function\"==typeof MutationObserver)return i(MutationObserver);if(\"function\"==typeof WebKitMutationObserver)return i(WebKitMutationObserver)}return\"function\"==typeof n?function(t){n(r(t))}:\"function\"==typeof setTimeout||\"object\"==typeof setTimeout?function(t){setTimeout(r(t),0)}:null}()}).call(e,n(36),n(202).setImmediate)},function(t,e,n){\"use strict\";(function(e,r,i){function o(t){var e=this;this.next=null,this.entry=null,this.finish=function(){C(e,t)}}function s(t){return B.from(t)}function a(t){return B.isBuffer(t)||t instanceof P}function u(){}function c(t,e){F=F||n(23),t=t||{};var r=e instanceof F;this.objectMode=!!t.objectMode,r&&(this.objectMode=this.objectMode||!!t.writableObjectMode);var i=t.highWaterMark,s=t.writableHighWaterMark,a=this.objectMode?16:16384;this.highWaterMark=i||0===i?i:r&&(s||0===s)?s:a,this.highWaterMark=Math.floor(this.highWaterMark),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var u=!1===t.decodeStrings;this.decodeStrings=!u,this.defaultEncoding=t.defaultEncoding||\"utf8\",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(t){g(e,t)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new o(this)}function l(t){if(F=F||n(23),!(N.call(l,this)||this instanceof F))return new l(t);this._writableState=new c(t,this),this.writable=!0,t&&(\"function\"==typeof t.write&&(this._write=t.write),\"function\"==typeof t.writev&&(this._writev=t.writev),\"function\"==typeof t.destroy&&(this._destroy=t.destroy),\"function\"==typeof t.final&&(this._final=t.final)),M.call(this)}function h(t,e){var n=new Error(\"write after end\");t.emit(\"error\",n),k.nextTick(e,n)}function f(t,e,n,r){var i=!0,o=!1;return null===n?o=new TypeError(\"May not write null values to stream\"):\"string\"==typeof n||void 0===n||e.objectMode||(o=new TypeError(\"Invalid non-string/buffer chunk\")),o&&(t.emit(\"error\",o),k.nextTick(r,o),i=!1),i}function p(t,e,n){return t.objectMode||!1===t.decodeStrings||\"string\"!=typeof e||(e=B.from(e,n)),e}function d(t,e,n,r,i,o){if(!n){var s=p(e,r,i);r!==s&&(n=!0,i=\"buffer\",r=s)}var a=e.objectMode?1:r.length;e.length+=a;var u=e.length<e.highWaterMark;if(u||(e.needDrain=!0),e.writing||e.corked){var c=e.lastBufferedRequest;e.lastBufferedRequest={chunk:r,encoding:i,isBuf:n,callback:o,next:null},c?c.next=e.lastBufferedRequest:e.bufferedRequest=e.lastBufferedRequest,e.bufferedRequestCount+=1}else m(t,e,!1,a,r,i,o);return u}function m(t,e,n,r,i,o,s){e.writelen=r,e.writecb=s,e.writing=!0,e.sync=!0,n?t._writev(i,e.onwrite):t._write(i,o,e.onwrite),e.sync=!1}function v(t,e,n,r,i){--e.pendingcb,n?(k.nextTick(i,r),k.nextTick(S,t,e),t._writableState.errorEmitted=!0,t.emit(\"error\",r)):(i(r),t._writableState.errorEmitted=!0,t.emit(\"error\",r),S(t,e))}function y(t){t.writing=!1,t.writecb=null,t.length-=t.writelen,t.writelen=0}function g(t,e){var n=t._writableState,r=n.sync,i=n.writecb;if(y(n),e)v(t,n,r,e,i);else{var o=E(n);o||n.corked||n.bufferProcessing||!n.bufferedRequest||D(t,n),r?T(x,t,n,o,i):x(t,n,o,i)}}function x(t,e,n,r){n||b(t,e),e.pendingcb--,r(),S(t,e)}function b(t,e){0===e.length&&e.needDrain&&(e.needDrain=!1,t.emit(\"drain\"))}function D(t,e){e.bufferProcessing=!0;var n=e.bufferedRequest;if(t._writev&&n&&n.next){var r=e.bufferedRequestCount,i=new Array(r),s=e.corkedRequestsFree;s.entry=n;for(var a=0,u=!0;n;)i[a]=n,n.isBuf||(u=!1),n=n.next,a+=1;i.allBuffers=u,m(t,e,!0,e.length,i,\"\",s.finish),e.pendingcb++,e.lastBufferedRequest=null,s.next?(e.corkedRequestsFree=s.next,s.next=null):e.corkedRequestsFree=new o(e),e.bufferedRequestCount=0}else{for(;n;){var c=n.chunk,l=n.encoding,h=n.callback;if(m(t,e,!1,e.objectMode?1:c.length,c,l,h),n=n.next,e.bufferedRequestCount--,e.writing)break}null===n&&(e.lastBufferedRequest=null)}e.bufferedRequest=n,e.bufferProcessing=!1}function E(t){return t.ending&&0===t.length&&null===t.bufferedRequest&&!t.finished&&!t.writing}function w(t,e){t._final(function(n){e.pendingcb--,n&&t.emit(\"error\",n),e.prefinished=!0,t.emit(\"prefinish\"),S(t,e)})}function _(t,e){e.prefinished||e.finalCalled||(\"function\"==typeof t._final?(e.pendingcb++,e.finalCalled=!0,k.nextTick(w,t,e)):(e.prefinished=!0,t.emit(\"prefinish\")))}function S(t,e){var n=E(e);return n&&(_(t,e),0===e.pendingcb&&(e.finished=!0,t.emit(\"finish\"))),n}function A(t,e,n){e.ending=!0,S(t,e),n&&(e.finished?k.nextTick(n):t.once(\"finish\",n)),e.ended=!0,t.writable=!1}function C(t,e,n){var r=t.entry;for(t.entry=null;r;){var i=r.callback;e.pendingcb--,i(n),r=r.next}e.corkedRequestsFree?e.corkedRequestsFree.next=t:e.corkedRequestsFree=t}var k=n(81);t.exports=l;var F,T=!e.browser&&[\"v0.10\",\"v0.9.\"].indexOf(e.version.slice(0,5))>-1?r:k.nextTick;l.WritableState=c;var I=n(46);I.inherits=n(32);var O={deprecate:n(532)},M=n(200),B=n(83).Buffer,P=i.Uint8Array||function(){},j=n(199);I.inherits(l,M),c.prototype.getBuffer=function(){for(var t=this.bufferedRequest,e=[];t;)e.push(t),t=t.next;return e},function(){try{Object.defineProperty(c.prototype,\"buffer\",{get:O.deprecate(function(){return this.getBuffer()},\"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.\",\"DEP0003\")})}catch(t){}}();var N;\"function\"==typeof Symbol&&Symbol.hasInstance&&\"function\"==typeof Function.prototype[Symbol.hasInstance]?(N=Function.prototype[Symbol.hasInstance],Object.defineProperty(l,Symbol.hasInstance,{value:function(t){return!!N.call(this,t)||this===l&&(t&&t._writableState instanceof c)}})):N=function(t){return t instanceof this},l.prototype.pipe=function(){this.emit(\"error\",new Error(\"Cannot pipe, not readable\"))},l.prototype.write=function(t,e,n){var r=this._writableState,i=!1,o=!r.objectMode&&a(t);return o&&!B.isBuffer(t)&&(t=s(t)),\"function\"==typeof e&&(n=e,e=null),o?e=\"buffer\":e||(e=r.defaultEncoding),\"function\"!=typeof n&&(n=u),r.ended?h(this,n):(o||f(this,r,t,n))&&(r.pendingcb++,i=d(this,r,o,t,e,n)),i},l.prototype.cork=function(){this._writableState.corked++},l.prototype.uncork=function(){var t=this._writableState;t.corked&&(t.corked--,t.writing||t.corked||t.finished||t.bufferProcessing||!t.bufferedRequest||D(this,t))},l.prototype.setDefaultEncoding=function(t){if(\"string\"==typeof t&&(t=t.toLowerCase()),!([\"hex\",\"utf8\",\"utf-8\",\"ascii\",\"binary\",\"base64\",\"ucs2\",\"ucs-2\",\"utf16le\",\"utf-16le\",\"raw\"].indexOf((t+\"\").toLowerCase())>-1))throw new TypeError(\"Unknown encoding: \"+t);return this._writableState.defaultEncoding=t,this},l.prototype._write=function(t,e,n){n(new Error(\"_write() is not implemented\"))},l.prototype._writev=null,l.prototype.end=function(t,e,n){var r=this._writableState;\"function\"==typeof t?(n=t,t=null,e=null):\"function\"==typeof e&&(n=e,e=null),null!==t&&void 0!==t&&this.write(t,e),r.corked&&(r.corked=1,this.uncork()),r.ending||r.finished||A(this,r,n)},Object.defineProperty(l.prototype,\"destroyed\",{get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(t){this._writableState&&(this._writableState.destroyed=t)}}),l.prototype.destroy=j.destroy,l.prototype._undestroy=j.undestroy,l.prototype._destroy=function(t,e){this.end(),e(t)}}).call(e,n(36),n(202).setImmediate,n(12))},function(t,e,n){e=t.exports=n(197),e.Stream=e,e.Readable=e,e.Writable=n(120),e.Duplex=n(23),e.Transform=n(198),e.PassThrough=n(522)},function(t,e,n){\"use strict\";function r(t,e){return{type:a,payload:(0,s.default)({},t,e)}}function i(t){return{type:u,payload:t}}Object.defineProperty(e,\"__esModule\",{value:!0}),e.TOGGLE_CONFIGS=e.UPDATE_CONFIGS=void 0;var o=n(129),s=function(t){return t&&t.__esModule?t:{default:t}}(o);e.update=r,e.toggle=i;var a=e.UPDATE_CONFIGS=\"configs_update\",u=e.TOGGLE_CONFIGS=\"configs_toggle\"},function(t,e,n){\"use strict\";(function(t){function r(t){return t&&t.__esModule?t:{default:t}}function i(t){try{var e=JSON.parse(t);if(e&&\"object\"===(void 0===e?\"undefined\":(0,N.default)(e)))return e}catch(t){}return!1}function o(t){return h(t)?ot(t)?t.toObject():t:{}}function s(t){return t?t.toArray?t.toArray():c(t):[]}function a(t){return ot(t)?t:t instanceof et.default.File?t:h(t)?Array.isArray(t)?R.default.Seq(t).map(a).toList():R.default.OrderedMap(t).map(a):t}function u(t,e){var n={};return(0,P.default)(t).filter(function(e){return\"function\"==typeof t[e]}).forEach(function(r){return n[r]=t[r].bind(null,e)}),n}function c(t){return Array.isArray(t)?t:[t]}function l(t){return\"function\"==typeof t}function h(t){return!!t&&\"object\"===(void 0===t?\"undefined\":(0,N.default)(t))}function f(t){return\"function\"==typeof t}function p(t){return Array.isArray(t)}function d(t,e){return(0,P.default)(t).reduce(function(n,r){return n[r]=e(t[r],r),n},{})}function m(t,e){return(0,P.default)(t).reduce(function(n,r){var i=e(t[r],r);return i&&\"object\"===(void 0===i?\"undefined\":(0,N.default)(i))&&(0,M.default)(n,i),n},{})}function v(t){return function(e){e.dispatch,e.getState;return function(e){return function(n){return\"function\"==typeof n?n(t()):e(n)}}}}function y(t){var e=t.keySeq();return e.contains(it)?it:e.filter(function(t){return\"2\"===(t+\"\")[0]}).sort().first()}function g(t,e){if(!R.default.Iterable.isIterable(t))return R.default.List();var n=t.getIn(Array.isArray(e)?e:[e]);return R.default.List.isList(n)?n:R.default.List()}function x(t){var e=document;if(!t)return\"\";if(t.textContent.length>5e3)return t.textContent;return function(t){for(var n,r,i,o,s,a=t.textContent,u=0,c=a[0],l=1,h=t.innerHTML=\"\",f=0;r=n,n=f<7&&\"\\\\\"==n?1:l;){if(l=c,c=a[++u],o=h.length>1,!l||f>8&&\"\\n\"==l||[/\\S/.test(l),1,1,!/[$\\w]/.test(l),(\"/\"==n||\"\\n\"==n)&&o,'\"'==n&&o,\"'\"==n&&o,a[u-4]+r+n==\"--\\x3e\",r+n==\"*/\"][f])for(h&&(t.appendChild(s=e.createElement(\"span\")).setAttribute(\"style\",[\"color: #555; font-weight: bold;\",\"\",\"\",\"color: #555;\",\"\"][f?f<3?2:f>6?4:f>3?3:+/^(a(bstract|lias|nd|rguments|rray|s(m|sert)?|uto)|b(ase|egin|ool(ean)?|reak|yte)|c(ase|atch|har|hecked|lass|lone|ompl|onst|ontinue)|de(bugger|cimal|clare|f(ault|er)?|init|l(egate|ete)?)|do|double|e(cho|ls?if|lse(if)?|nd|nsure|num|vent|x(cept|ec|p(licit|ort)|te(nds|nsion|rn)))|f(allthrough|alse|inal(ly)?|ixed|loat|or(each)?|riend|rom|unc(tion)?)|global|goto|guard|i(f|mp(lements|licit|ort)|n(it|clude(_once)?|line|out|stanceof|t(erface|ernal)?)?|s)|l(ambda|et|ock|ong)|m(icrolight|odule|utable)|NaN|n(amespace|ative|ext|ew|il|ot|ull)|o(bject|perator|r|ut|verride)|p(ackage|arams|rivate|rotected|rotocol|ublic)|r(aise|e(adonly|do|f|gister|peat|quire(_once)?|scue|strict|try|turn))|s(byte|ealed|elf|hort|igned|izeof|tatic|tring|truct|ubscript|uper|ynchronized|witch)|t(emplate|hen|his|hrows?|ransient|rue|ry|ype(alias|def|id|name|of))|u(n(checked|def(ined)?|ion|less|signed|til)|se|sing)|v(ar|irtual|oid|olatile)|w(char_t|hen|here|hile|ith)|xor|yield)$/.test(h):0]),s.appendChild(e.createTextNode(h))),i=f&&f<7?f:i,h=\"\",f=11;![1,/[\\/{}[(\\-+*=<>:;|\\\\.,?!&@~]/.test(l),/[\\])]/.test(l),/[$\\w]/.test(l),\"/\"==l&&i<2&&\"<\"!=n,'\"'==l,\"'\"==l,l+c+a[u+1]+a[u+2]==\"\\x3c!--\",l+c==\"/*\",l+c==\"//\",\"#\"==l][--f];);h+=l}}(t)}function b(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"key\",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:R.default.Map();if(!R.default.Map.isMap(t)||!t.size)return R.default.List();if(Array.isArray(e)||(e=[e]),e.length<1)return t.merge(n);var r=R.default.List(),i=e[0],o=!0,s=!1,a=void 0;try{for(var u,c=(0,I.default)(t.entries());!(o=(u=c.next()).done);o=!0){var l=u.value,h=(0,F.default)(l,2),f=h[0],p=h[1],d=b(p,e.slice(1),n.set(i,f));r=R.default.List.isList(d)?r.concat(d):r.push(d)}}catch(t){s=!0,a=t}finally{try{!o&&c.return&&c.return()}finally{if(s)throw a}}return r}function D(t){var e=/filename=\"([^;]*);?\"/i.exec(t);return null===e&&(e=/filename=([^;]*);?/i.exec(t)),null!==e&&e.length>1?e[1]:null}function E(t){return(0,q.default)((0,J.default)(t))}function w(t){return E(t.replace(/\\.[^.\\/]*$/,\"\"))}function _(t){return\"string\"!=typeof t||\"\"===t?\"\":(0,z.sanitizeUrl)(t)}function S(t){if(!R.default.OrderedMap.isOrderedMap(t))return null;if(!t.size)return null;var e=t.find(function(t,e){return e.startsWith(\"2\")&&(0,P.default)(t.get(\"content\")||{}).length>0}),n=t.get(\"default\")||R.default.OrderedMap(),r=(n.get(\"content\")||R.default.OrderedMap()).keySeq().toJS(),i=r.length?n:null;return e||i}Object.defineProperty(e,\"__esModule\",{value:!0}),e.getExtensions=e.escapeDeepLinkPath=e.createDeepLinkPath=e.shallowEqualKeys=e.buildFormData=e.sorters=e.btoa=e.serializeSearch=e.parseSearch=e.getSampleSchema=e.validateParam=e.validatePattern=e.validateMinLength=e.validateMaxLength=e.validateGuid=e.validateDateTime=e.validateString=e.validateBoolean=e.validateFile=e.validateInteger=e.validateNumber=e.validateMinimum=e.validateMaximum=e.propChecker=e.memoize=e.isImmutable=void 0;var A=n(215),C=r(A),k=n(222),F=r(k),T=n(84),I=r(T),O=n(216),M=r(O),B=n(218),P=r(B),j=n(85),N=r(j);e.isJSONObject=i,e.objectify=o,e.arrayify=s,e.fromJSOrdered=a,e.bindToState=u,e.normalizeArray=c,e.isFn=l,e.isObject=h,e.isFunc=f,e.isArray=p,e.objMap=d,e.objReduce=m,e.systemThunkMiddleware=v,e.defaultStatusCode=y,e.getList=g,e.highlight=x,e.mapToList=b,e.extractFileNameFromContentDispositionHeader=D,e.pascalCase=E,e.pascalCaseFilename=w,e.sanitizeUrl=_,e.getAcceptControllingResponse=S;var L=n(166),R=r(L),z=n(206),U=n(471),J=r(U),X=n(187),q=r(X),K=n(186),W=r(K),Y=n(474),V=r(Y),H=n(480),G=r(H),$=n(77),Z=r($),Q=n(210),tt=n(124),et=r(tt),nt=n(324),rt=r(nt),it=\"default\",ot=e.isImmutable=function(t){return R.default.Iterable.isIterable(t)},st=(e.memoize=W.default,e.propChecker=function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[];return(0,P.default)(t).length!==(0,P.default)(e).length||((0,G.default)(t,function(t,n){if(r.includes(n))return!1;var i=e[n];return R.default.Iterable.isIterable(t)?!R.default.is(t,i):(\"object\"!==(void 0===t?\"undefined\":(0,N.default)(t))||\"object\"!==(void 0===i?\"undefined\":(0,N.default)(i)))&&t!==i})||n.some(function(n){return!(0,Z.default)(t[n],e[n])}))},e.validateMaximum=function(t,e){if(t>e)return\"Value must be less than Maximum\"}),at=e.validateMinimum=function(t,e){if(t<e)return\"Value must be greater than Minimum\"},ut=e.validateNumber=function(t){if(!/^-?\\d+(\\.?\\d+)?$/.test(t))return\"Value must be a number\"},ct=e.validateInteger=function(t){if(!/^-?\\d+$/.test(t))return\"Value must be an integer\"},lt=e.validateFile=function(t){if(t&&!(t instanceof et.default.File))return\"Value must be a file\"},ht=e.validateBoolean=function(t){if(\"true\"!==t&&\"false\"!==t&&!0!==t&&!1!==t)return\"Value must be a boolean\"},ft=e.validateString=function(t){if(t&&\"string\"!=typeof t)return\"Value must be a string\"},pt=e.validateDateTime=function(t){if(isNaN(Date.parse(t)))return\"Value must be a DateTime\"},dt=e.validateGuid=function(t){if(t=t.toString().toLowerCase(),!/^[{(]?[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}[)}]?$/.test(t))return\"Value must be a Guid\"},mt=e.validateMaxLength=function(t,e){if(t.length>e)return\"Value must be less than MaxLength\"},vt=e.validateMinLength=function(t,e){if(t.length<e)return\"Value must be greater than MinLength\"},yt=e.validatePattern=function(t,e){if(!new RegExp(e).test(t))return\"Value must follow pattern \"+e},gt=(e.validateParam=function(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=[],i=e&&\"body\"===t.get(\"in\")?t.get(\"value_xml\"):t.get(\"value\"),o=t.get(\"required\"),s=n?t.get(\"schema\"):t;if(!s)return r;var a=s.get(\"maximum\"),u=s.get(\"minimum\"),c=s.get(\"type\"),l=s.get(\"format\"),h=s.get(\"maxLength\"),f=s.get(\"minLength\"),p=s.get(\"pattern\");if(c&&(o||i)){var d=\"string\"===c&&i,m=\"array\"===c&&Array.isArray(i)&&i.length,v=\"array\"===c&&R.default.List.isList(i)&&i.count(),y=\"file\"===c&&i instanceof et.default.File,g=\"boolean\"===c&&(i||!1===i),x=\"number\"===c&&(i||0===i),b=\"integer\"===c&&(i||0===i);if(o&&!(d||m||v||y||g||x||b))return r.push(\"Required field is not provided\"),r;if(p){var D=yt(i,p);D&&r.push(D)}if(h||0===h){var E=mt(i,h);E&&r.push(E)}if(f){var w=vt(i,f);w&&r.push(w)}if(a||0===a){var _=st(i,a);_&&r.push(_)}if(u||0===u){var S=at(i,u);S&&r.push(S)}if(\"string\"===c){var A=void 0;if(!(A=\"date-time\"===l?pt(i):\"uuid\"===l?dt(i):ft(i)))return r;r.push(A)}else if(\"boolean\"===c){var C=ht(i);if(!C)return r;r.push(C)}else if(\"number\"===c){var k=ut(i);if(!k)return r;r.push(k)}else if(\"integer\"===c){var F=ct(i);if(!F)return r;r.push(F)}else if(\"array\"===c){var T=void 0;if(!v||!i.count())return r;T=s.getIn([\"items\",\"type\"]),i.forEach(function(t,e){var n=void 0;\"number\"===T?n=ut(t):\"integer\"===T?n=ct(t):\"string\"===T&&(n=ft(t)),n&&r.push({index:e,error:n})})}else if(\"file\"===c){var I=lt(i);if(!I)return r;r.push(I)}}return r},e.getSampleSchema=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"\",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(/xml/.test(e)){if(!t.xml||!t.xml.name){if(t.xml=t.xml||{},!t.$$ref)return t.type||t.items||t.properties||t.additionalProperties?'<?xml version=\"1.0\" encoding=\"UTF-8\"?>\\n\\x3c!-- XML example cannot be generated --\\x3e':null;var r=t.$$ref.match(/\\S*\\/(\\S+)$/);t.xml.name=r[1]}return(0,Q.memoizedCreateXMLExample)(t,n)}return(0,C.default)((0,Q.memoizedSampleFromSchema)(t,n),null,2)},e.parseSearch=function(){var t={},e=et.default.location.search;if(!e)return{};if(\"\"!=e){var n=e.substr(1).split(\"&\");for(var r in n)n.hasOwnProperty(r)&&(r=n[r].split(\"=\"),t[decodeURIComponent(r[0])]=r[1]&&decodeURIComponent(r[1])||\"\")}return t},e.serializeSearch=function(t){return(0,P.default)(t).map(function(e){return encodeURIComponent(e)+\"=\"+encodeURIComponent(t[e])}).join(\"&\")},e.btoa=function(e){var n=void 0;return n=e instanceof t?e:new t(e.toString(),\"utf-8\"),n.toString(\"base64\")},e.sorters={operationsSorter:{alpha:function(t,e){return t.get(\"path\").localeCompare(e.get(\"path\"))},method:function(t,e){return t.get(\"method\").localeCompare(e.get(\"method\"))}},tagsSorter:{alpha:function(t,e){return t.localeCompare(e)}}},e.buildFormData=function(t){var e=[];for(var n in t){var r=t[n];void 0!==r&&\"\"!==r&&e.push([n,\"=\",encodeURIComponent(r).replace(/%20/g,\"+\")].join(\"\"))}return e.join(\"&\")},e.shallowEqualKeys=function(t,e,n){return!!(0,V.default)(n,function(n){return(0,Z.default)(t[n],e[n])})},e.createDeepLinkPath=function(t){return\"string\"==typeof t||t instanceof String?t.trim().replace(/\\s/g,\"_\"):\"\"});e.escapeDeepLinkPath=function(t){return(0,rt.default)(gt(t))},e.getExtensions=function(t){return t.filter(function(t,e){return/^x-/.test(e)})}}).call(e,n(55).Buffer)},function(t,e,n){\"use strict\";var r=n(84),i=function(t){return t&&t.__esModule?t:{default:t}}(r);t.exports=function(){var t={location:{},history:{},open:function(){},close:function(){},File:function(){}};if(\"undefined\"==typeof window)return t;try{t=window;var e=[\"File\",\"Blob\",\"FormData\"],n=!0,r=!1,o=void 0;try{for(var s,a=(0,i.default)(e);!(n=(s=a.next()).done);n=!0){var u=s.value;u in window&&(t[u]=window[u])}}catch(t){r=!0,o=t}finally{try{!n&&a.return&&a.return()}finally{if(r)throw o}}}catch(t){console.error(t)}return t}()},function(t,e,n){t.exports={default:n(231),__esModule:!0}},function(t,e,n){t.exports={default:n(232),__esModule:!0}},function(t,e,n){\"use strict\";e.__esModule=!0,e.default=function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}},function(t,e,n){\"use strict\";e.__esModule=!0;var r=n(125),i=function(t){return t&&t.__esModule?t:{default:t}}(r);e.default=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),(0,i.default)(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}()},function(t,e,n){\"use strict\";e.__esModule=!0;var r=n(125),i=function(t){return t&&t.__esModule?t:{default:t}}(r);e.default=function(t,e,n){return e in t?(0,i.default)(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}},function(t,e,n){\"use strict\";function r(t){return t&&t.__esModule?t:{default:t}}e.__esModule=!0;var i=n(219),o=r(i),s=n(217),a=r(s),u=n(85),c=r(u);e.default=function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function, not \"+(void 0===e?\"undefined\":(0,c.default)(e)));t.prototype=(0,a.default)(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(o.default?(0,o.default)(t,e):t.__proto__=e)}},function(t,e,n){\"use strict\";e.__esModule=!0;var r=n(85),i=function(t){return t&&t.__esModule?t:{default:t}}(r);e.default=function(t,e){if(!t)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!e||\"object\"!==(void 0===e?\"undefined\":(0,i.default)(e))&&\"function\"!=typeof e?t:e}},function(t,e,n){var r=n(86),i=n(6)(\"toStringTag\"),o=\"Arguments\"==r(function(){return arguments}()),s=function(t,e){try{return t[e]}catch(t){}};t.exports=function(t){var e,n,a;return void 0===t?\"Undefined\":null===t?\"Null\":\"string\"==typeof(n=s(e=Object(t),i))?n:o?r(e):\"Object\"==(a=r(e))&&\"function\"==typeof e.callee?\"Arguments\":a}},function(t,e,n){var r=n(237);t.exports=function(t,e,n){if(r(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,i){return t.call(e,n,r,i)}}return function(){return t.apply(e,arguments)}}},function(t,e,n){var r=n(27),i=n(9).document,o=r(i)&&r(i.createElement);t.exports=function(t){return o?i.createElement(t):{}}},function(t,e,n){t.exports=!n(13)&&!n(25)(function(){return 7!=Object.defineProperty(n(134)(\"div\"),\"a\",{get:function(){return 7}}).a})},function(t,e,n){var r=n(86);t.exports=Object(\"z\").propertyIsEnumerable(0)?Object:function(t){return\"String\"==r(t)?t.split(\"\"):Object(t)}},function(t,e,n){\"use strict\";var r=n(89),i=n(14),o=n(143),s=n(26),a=n(15),u=n(38),c=n(243),l=n(92),h=n(140),f=n(6)(\"iterator\"),p=!([].keys&&\"next\"in[].keys()),d=function(){return this};t.exports=function(t,e,n,m,v,y,g){c(n,e,m);var x,b,D,E=function(t){if(!p&&t in A)return A[t];switch(t){case\"keys\":case\"values\":return function(){return new n(this,t)}}return function(){return new n(this,t)}},w=e+\" Iterator\",_=\"values\"==v,S=!1,A=t.prototype,C=A[f]||A[\"@@iterator\"]||v&&A[v],k=!p&&C||E(v),F=v?_?E(\"entries\"):k:void 0,T=\"Array\"==e?A.entries||C:C;if(T&&(D=h(T.call(new t)))!==Object.prototype&&D.next&&(l(D,w,!0),r||a(D,f)||s(D,f,d)),_&&C&&\"values\"!==C.name&&(S=!0,k=function(){return C.call(this)}),r&&!g||!p&&!S&&A[f]||s(A,f,k),u[e]=k,u[w]=d,v)if(x={values:_?k:E(\"values\"),keys:y?k:E(\"keys\"),entries:F},g)for(b in x)b in A||o(A,b,x[b]);else i(i.P+i.F*(p||S),e,x);return x}},function(t,e,n){var r=n(56),i=n(57),o=n(28),s=n(96),a=n(15),u=n(135),c=Object.getOwnPropertyDescriptor;e.f=n(13)?c:function(t,e){if(t=o(t),e=s(e,!0),u)try{return c(t,e)}catch(t){}if(a(t,e))return i(!r.f.call(t,e),t[e])}},function(t,e,n){var r=n(141),i=n(88).concat(\"length\",\"prototype\");e.f=Object.getOwnPropertyNames||function(t){return r(t,i)}},function(t,e,n){var r=n(15),i=n(58),o=n(93)(\"IE_PROTO\"),s=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=i(t),r(t,o)?t[o]:\"function\"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?s:null}},function(t,e,n){var r=n(15),i=n(28),o=n(239)(!1),s=n(93)(\"IE_PROTO\");t.exports=function(t,e){var n,a=i(t),u=0,c=[];for(n in a)n!=s&&r(a,n)&&c.push(n);for(;e.length>u;)r(a,n=e[u++])&&(~o(c,n)||c.push(n));return c}},function(t,e,n){var r=n(14),i=n(2),o=n(25);t.exports=function(t,e){var n=(i.Object||{})[t]||Object[t],s={};s[t]=e(n),r(r.S+r.F*o(function(){n(1)}),\"Object\",s)}},function(t,e,n){t.exports=n(26)},function(t,e){t.exports=\"constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf\".split(\",\")},function(t,e,n){var r=n(5).document;t.exports=r&&r.documentElement},function(t,e,n){var r=n(29),i=n(40),o=n(1)(\"match\");t.exports=function(t){var e;return r(t)&&(void 0!==(e=t[o])?!!e:\"RegExp\"==i(t))}},function(t,e,n){\"use strict\";var r=n(148),i=n(3),o=n(30),s=n(19),a=n(43),u=n(44),c=n(276),l=n(105),h=n(282),f=n(1)(\"iterator\"),p=!([].keys&&\"next\"in[].keys()),d=function(){return this};t.exports=function(t,e,n,m,v,y,g){c(n,e,m);var x,b,D,E=function(t){if(!p&&t in A)return A[t];switch(t){case\"keys\":case\"values\":return function(){return new n(this,t)}}return function(){return new n(this,t)}},w=e+\" Iterator\",_=\"values\"==v,S=!1,A=t.prototype,C=A[f]||A[\"@@iterator\"]||v&&A[v],k=!p&&C||E(v),F=v?_?E(\"entries\"):k:void 0,T=\"Array\"==e?A.entries||C:C;if(T&&(D=h(T.call(new t)))!==Object.prototype&&D.next&&(l(D,w,!0),r||a(D,f)||s(D,f,d)),_&&C&&\"values\"!==C.name&&(S=!0,k=function(){return C.call(this)}),r&&!g||!p&&!S&&A[f]||s(A,f,k),u[e]=k,u[w]=d,v)if(x={values:_?k:E(\"values\"),keys:y?k:E(\"keys\"),entries:F},g)for(b in x)b in A||o(A,b,x[b]);else i(i.P+i.F*(p||S),e,x);return x}},function(t,e){t.exports=!1},function(t,e,n){var r=n(283),i=n(144);t.exports=Object.keys||function(t){return r(t,i)}},function(t,e){t.exports=function(t){try{return{e:!1,v:t()}}catch(t){return{e:!0,v:t}}}},function(t,e,n){var r=n(17),i=n(29),o=n(104);t.exports=function(t,e){if(r(t),i(e)&&e.constructor===t)return e;var n=o.f(t);return(0,n.resolve)(e),n.promise}},function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e,n){var r=n(5),i=r[\"__core-js_shared__\"]||(r[\"__core-js_shared__\"]={});t.exports=function(t){return i[t]||(i[t]={})}},function(t,e,n){var r=n(17),i=n(60),o=n(1)(\"species\");t.exports=function(t,e){var n,s=r(t).constructor;return void 0===s||void 0==(n=r(s)[o])?e:i(n)}},function(t,e,n){var r=n(64),i=n(10);t.exports=function(t){return function(e,n){var o,s,a=String(i(e)),u=r(n),c=a.length;return u<0||u>=c?t?\"\":void 0:(o=a.charCodeAt(u),o<55296||o>56319||u+1===c||(s=a.charCodeAt(u+1))<56320||s>57343?t?a.charAt(u):o:t?a.slice(u,u+2):s-56320+(o-55296<<10)+65536)}}},function(t,e,n){var r,i,o,s=n(61),a=n(272),u=n(145),c=n(102),l=n(5),h=l.process,f=l.setImmediate,p=l.clearImmediate,d=l.MessageChannel,m=l.Dispatch,v=0,y={},g=function(){var t=+this;if(y.hasOwnProperty(t)){var e=y[t];delete y[t],e()}},x=function(t){g.call(t.data)};f&&p||(f=function(t){for(var e=[],n=1;arguments.length>n;)e.push(arguments[n++]);return y[++v]=function(){a(\"function\"==typeof t?t:Function(t),e)},r(v),v},p=function(t){delete y[t]},\"process\"==n(40)(h)?r=function(t){h.nextTick(s(g,t,1))}:m&&m.now?r=function(t){m.now(s(g,t,1))}:d?(i=new d,o=i.port2,i.port1.onmessage=x,r=s(o.postMessage,o,1)):l.addEventListener&&\"function\"==typeof postMessage&&!l.importScripts?(r=function(t){l.postMessage(t+\"\",\"*\")},l.addEventListener(\"message\",x,!1)):r=\"onreadystatechange\"in c(\"script\")?function(t){u.appendChild(c(\"script\")).onreadystatechange=function(){u.removeChild(this),g.call(t)}}:function(t){setTimeout(s(g,t,1),0)}),t.exports={set:f,clear:p}},function(t,e,n){var r=n(64),i=Math.max,o=Math.min;t.exports=function(t,e){return t=r(t),t<0?i(t+e,0):o(t,e)}},function(t,e,n){\"use strict\";var r=n(155)(!0);n(147)(String,\"String\",function(t){this._t=String(t),this._i=0},function(){var t,e=this._t,n=this._i;return n>=e.length?{value:void 0,done:!0}:(t=r(e,n),this._i+=t.length,{value:t,done:!1})})},function(t,e,n){\"use strict\";var r,i,o,s,a=n(20),u=function(t,e){return e};try{Object.defineProperty(u,\"length\",{configurable:!0,writable:!1,enumerable:!1,value:1})}catch(t){}1===u.length?(r={configurable:!0,writable:!1,enumerable:!1},i=Object.defineProperty,t.exports=function(t,e){return e=a(e),t.length===e?t:(r.value=e,i(t,\"length\",r))}):(s=n(163),o=function(){var t=[];return function(e){var n,r=0;if(t[e])return t[e];for(n=[];e--;)n.push(\"a\"+(++r).toString(36));return new Function(\"fn\",\"return function (\"+n.join(\", \")+\") { return fn.apply(this, arguments); };\")}}(),t.exports=function(t,e){var n;if(e=a(e),t.length===e)return t;n=o(e)(t);try{s(n,t)}catch(t){}return n})},function(t,e,n){\"use strict\";t.exports=function(){}},function(t,e,n){\"use strict\";t.exports=n(339)()?Object.assign:n(340)},function(t,e,n){\"use strict\";var r=n(11),i=n(67),o=Function.prototype.call;t.exports=function(t,e){var n={},s=arguments[2];return r(e),i(t,function(t,r,i,a){n[r]=o.call(e,s,t,r,i,a)}),n}},function(t,e,n){\"use strict\";var r=n(47),i=Object.defineProperty,o=Object.getOwnPropertyDescriptor,s=Object.getOwnPropertyNames,a=Object.getOwnPropertySymbols;t.exports=function(t,e){var n,u=Object(r(e));if(t=Object(r(t)),s(u).forEach(function(r){try{i(t,r,o(e,r))}catch(t){n=t}}),\"function\"==typeof a&&a(u).forEach(function(r){try{i(t,r,o(e,r))}catch(t){n=t}}),void 0!==n)throw n;return t}},function(t,e,n){\"use strict\";var r=n(31),i=Array.prototype.forEach,o=Object.create,s=function(t,e){var n;for(n in t)e[n]=t[n]};t.exports=function(t){var e=o(null);return i.call(arguments,function(t){r(t)&&s(Object(t),e)}),e}},function(t,e,n){\"use strict\";var r={};t.exports=r},function(t,e,n){!function(e,n){t.exports=n()}(0,function(){\"use strict\";function t(t,e){e&&(t.prototype=Object.create(e.prototype)),t.prototype.constructor=t}function e(t){return o(t)?t:F(t)}function n(t){return s(t)?t:T(t)}function r(t){return a(t)?t:I(t)}function i(t){return o(t)&&!u(t)?t:O(t)}function o(t){return!(!t||!t[cn])}function s(t){return!(!t||!t[ln])}function a(t){return!(!t||!t[hn])}function u(t){return s(t)||a(t)}function c(t){return!(!t||!t[fn])}function l(t){return t.value=!1,t}function h(t){t&&(t.value=!0)}function f(){}function p(t,e){e=e||0;for(var n=Math.max(0,t.length-e),r=new Array(n),i=0;i<n;i++)r[i]=t[i+e];return r}function d(t){return void 0===t.size&&(t.size=t.__iterate(v)),t.size}function m(t,e){if(\"number\"!=typeof e){var n=e>>>0;if(\"\"+n!==e||4294967295===n)return NaN;e=n}return e<0?d(t)+e:e}function v(){return!0}function y(t,e,n){return(0===t||void 0!==n&&t<=-n)&&(void 0===e||void 0!==n&&e>=n)}function g(t,e){return b(t,e,0)}function x(t,e){return b(t,e,e)}function b(t,e,n){return void 0===t?n:t<0?Math.max(0,e+t):void 0===e?t:Math.min(e,t)}function D(t){this.next=t}function E(t,e,n,r){var i=0===t?e:1===t?n:[e,n];return r?r.value=i:r={value:i,done:!1},r}function w(){return{value:void 0,done:!0}}function _(t){return!!C(t)}function S(t){return t&&\"function\"==typeof t.next}function A(t){var e=C(t);return e&&e.call(t)}function C(t){var e=t&&(En&&t[En]||t[wn]);if(\"function\"==typeof e)return e}function k(t){return t&&\"number\"==typeof t.length}function F(t){return null===t||void 0===t?L():o(t)?t.toSeq():U(t)}function T(t){return null===t||void 0===t?L().toKeyedSeq():o(t)?s(t)?t.toSeq():t.fromEntrySeq():R(t)}function I(t){return null===t||void 0===t?L():o(t)?s(t)?t.entrySeq():t.toIndexedSeq():z(t)}function O(t){return(null===t||void 0===t?L():o(t)?s(t)?t.entrySeq():t:z(t)).toSetSeq()}function M(t){this._array=t,this.size=t.length}function B(t){var e=Object.keys(t);this._object=t,this._keys=e,this.size=e.length}function P(t){this._iterable=t,this.size=t.length||t.size}function j(t){this._iterator=t,this._iteratorCache=[]}function N(t){return!(!t||!t[Sn])}function L(){return An||(An=new M([]))}function R(t){var e=Array.isArray(t)?new M(t).fromEntrySeq():S(t)?new j(t).fromEntrySeq():_(t)?new P(t).fromEntrySeq():\"object\"==typeof t?new B(t):void 0;if(!e)throw new TypeError(\"Expected Array or iterable object of [k, v] entries, or keyed object: \"+t);return e}function z(t){var e=J(t);if(!e)throw new TypeError(\"Expected Array or iterable object of values: \"+t);return e}function U(t){var e=J(t)||\"object\"==typeof t&&new B(t);if(!e)throw new TypeError(\"Expected Array or iterable object of values, or keyed object: \"+t);return e}function J(t){return k(t)?new M(t):S(t)?new j(t):_(t)?new P(t):void 0}function X(t,e,n,r){var i=t._cache;if(i){for(var o=i.length-1,s=0;s<=o;s++){var a=i[n?o-s:s];if(!1===e(a[1],r?a[0]:s,t))return s+1}return s}return t.__iterateUncached(e,n)}function q(t,e,n,r){var i=t._cache;if(i){var o=i.length-1,s=0;return new D(function(){var t=i[n?o-s:s];return s++>o?w():E(e,r?t[0]:s-1,t[1])})}return t.__iteratorUncached(e,n)}function K(t,e){return e?W(e,t,\"\",{\"\":t}):Y(t)}function W(t,e,n,r){return Array.isArray(e)?t.call(r,n,I(e).map(function(n,r){return W(t,n,r,e)})):V(e)?t.call(r,n,T(e).map(function(n,r){return W(t,n,r,e)})):e}function Y(t){return Array.isArray(t)?I(t).map(Y).toList():V(t)?T(t).map(Y).toMap():t}function V(t){return t&&(t.constructor===Object||void 0===t.constructor)}function H(t,e){if(t===e||t!==t&&e!==e)return!0;if(!t||!e)return!1;if(\"function\"==typeof t.valueOf&&\"function\"==typeof e.valueOf){if(t=t.valueOf(),e=e.valueOf(),t===e||t!==t&&e!==e)return!0;if(!t||!e)return!1}return!(\"function\"!=typeof t.equals||\"function\"!=typeof e.equals||!t.equals(e))}function G(t,e){if(t===e)return!0;if(!o(e)||void 0!==t.size&&void 0!==e.size&&t.size!==e.size||void 0!==t.__hash&&void 0!==e.__hash&&t.__hash!==e.__hash||s(t)!==s(e)||a(t)!==a(e)||c(t)!==c(e))return!1;if(0===t.size&&0===e.size)return!0;var n=!u(t);if(c(t)){var r=t.entries();return e.every(function(t,e){var i=r.next().value;return i&&H(i[1],t)&&(n||H(i[0],e))})&&r.next().done}var i=!1;if(void 0===t.size)if(void 0===e.size)\"function\"==typeof t.cacheResult&&t.cacheResult();else{i=!0;var l=t;t=e,e=l}var h=!0,f=e.__iterate(function(e,r){if(n?!t.has(e):i?!H(e,t.get(r,vn)):!H(t.get(r,vn),e))return h=!1,!1});return h&&t.size===f}function $(t,e){if(!(this instanceof $))return new $(t,e);if(this._value=t,this.size=void 0===e?1/0:Math.max(0,e),0===this.size){if(Cn)return Cn;Cn=this}}function Z(t,e){if(!t)throw new Error(e)}function Q(t,e,n){if(!(this instanceof Q))return new Q(t,e,n);if(Z(0!==n,\"Cannot step a Range by 0\"),t=t||0,void 0===e&&(e=1/0),n=void 0===n?1:Math.abs(n),e<t&&(n=-n),this._start=t,this._end=e,this._step=n,this.size=Math.max(0,Math.ceil((e-t)/n-1)+1),0===this.size){if(kn)return kn;kn=this}}function tt(){throw TypeError(\"Abstract\")}function et(){}function nt(){}function rt(){}function it(t){return t>>>1&1073741824|3221225471&t}function ot(t){if(!1===t||null===t||void 0===t)return 0;if(\"function\"==typeof t.valueOf&&(!1===(t=t.valueOf())||null===t||void 0===t))return 0;if(!0===t)return 1;var e=typeof t;if(\"number\"===e){if(t!==t||t===1/0)return 0;var n=0|t;for(n!==t&&(n^=4294967295*t);t>4294967295;)t/=4294967295,n^=t;return it(n)}if(\"string\"===e)return t.length>jn?st(t):at(t);if(\"function\"==typeof t.hashCode)return t.hashCode();if(\"object\"===e)return ut(t);if(\"function\"==typeof t.toString)return at(t.toString());throw new Error(\"Value type \"+e+\" cannot be hashed.\")}function st(t){var e=Rn[t];return void 0===e&&(e=at(t),Ln===Nn&&(Ln=0,Rn={}),Ln++,Rn[t]=e),e}function at(t){for(var e=0,n=0;n<t.length;n++)e=31*e+t.charCodeAt(n)|0;return it(e)}function ut(t){var e;if(Mn&&void 0!==(e=Fn.get(t)))return e;if(void 0!==(e=t[Pn]))return e;if(!On){if(void 0!==(e=t.propertyIsEnumerable&&t.propertyIsEnumerable[Pn]))return e;if(void 0!==(e=ct(t)))return e}if(e=++Bn,1073741824&Bn&&(Bn=0),Mn)Fn.set(t,e);else{if(void 0!==In&&!1===In(t))throw new Error(\"Non-extensible objects are not allowed as keys.\");if(On)Object.defineProperty(t,Pn,{enumerable:!1,configurable:!1,writable:!1,value:e});else if(void 0!==t.propertyIsEnumerable&&t.propertyIsEnumerable===t.constructor.prototype.propertyIsEnumerable)t.propertyIsEnumerable=function(){return this.constructor.prototype.propertyIsEnumerable.apply(this,arguments)},t.propertyIsEnumerable[Pn]=e;else{if(void 0===t.nodeType)throw new Error(\"Unable to set a non-enumerable property on object.\");t[Pn]=e}}return e}function ct(t){if(t&&t.nodeType>0)switch(t.nodeType){case 1:return t.uniqueID;case 9:return t.documentElement&&t.documentElement.uniqueID}}function lt(t){Z(t!==1/0,\"Cannot perform this action with an infinite size.\")}function ht(t){return null===t||void 0===t?Et():ft(t)&&!c(t)?t:Et().withMutations(function(e){var r=n(t);lt(r.size),r.forEach(function(t,n){return e.set(n,t)})})}function ft(t){return!(!t||!t[zn])}function pt(t,e){this.ownerID=t,this.entries=e}function dt(t,e,n){this.ownerID=t,this.bitmap=e,this.nodes=n}function mt(t,e,n){this.ownerID=t,this.count=e,this.nodes=n}function vt(t,e,n){this.ownerID=t,this.keyHash=e,this.entries=n}function yt(t,e,n){this.ownerID=t,this.keyHash=e,this.entry=n}function gt(t,e,n){this._type=e,this._reverse=n,this._stack=t._root&&bt(t._root)}function xt(t,e){return E(t,e[0],e[1])}function bt(t,e){return{node:t,index:0,__prev:e}}function Dt(t,e,n,r){var i=Object.create(Un);return i.size=t,i._root=e,i.__ownerID=n,i.__hash=r,i.__altered=!1,i}function Et(){return Jn||(Jn=Dt(0))}function wt(t,e,n){var r,i;if(t._root){var o=l(yn),s=l(gn);if(r=_t(t._root,t.__ownerID,0,void 0,e,n,o,s),!s.value)return t;i=t.size+(o.value?n===vn?-1:1:0)}else{if(n===vn)return t;i=1,r=new pt(t.__ownerID,[[e,n]])}return t.__ownerID?(t.size=i,t._root=r,t.__hash=void 0,t.__altered=!0,t):r?Dt(i,r):Et()}function _t(t,e,n,r,i,o,s,a){return t?t.update(e,n,r,i,o,s,a):o===vn?t:(h(a),h(s),new yt(e,r,[i,o]))}function St(t){return t.constructor===yt||t.constructor===vt}function At(t,e,n,r,i){if(t.keyHash===r)return new vt(e,r,[t.entry,i]);var o,s=(0===n?t.keyHash:t.keyHash>>>n)&mn,a=(0===n?r:r>>>n)&mn;return new dt(e,1<<s|1<<a,s===a?[At(t,e,n+pn,r,i)]:(o=new yt(e,r,i),s<a?[t,o]:[o,t]))}function Ct(t,e,n,r){t||(t=new f);for(var i=new yt(t,ot(n),[n,r]),o=0;o<e.length;o++){var s=e[o];i=i.update(t,0,void 0,s[0],s[1])}return i}function kt(t,e,n,r){for(var i=0,o=0,s=new Array(n),a=0,u=1,c=e.length;a<c;a++,u<<=1){var l=e[a];void 0!==l&&a!==r&&(i|=u,s[o++]=l)}return new dt(t,i,s)}function Ft(t,e,n,r,i){for(var o=0,s=new Array(dn),a=0;0!==n;a++,n>>>=1)s[a]=1&n?e[o++]:void 0;return s[r]=i,new mt(t,o+1,s)}function Tt(t,e,r){for(var i=[],s=0;s<r.length;s++){var a=r[s],u=n(a);o(a)||(u=u.map(function(t){return K(t)})),i.push(u)}return Mt(t,e,i)}function It(t,e,n){return t&&t.mergeDeep&&o(e)?t.mergeDeep(e):H(t,e)?t:e}function Ot(t){return function(e,n,r){if(e&&e.mergeDeepWith&&o(n))return e.mergeDeepWith(t,n);var i=t(e,n,r);return H(e,i)?e:i}}function Mt(t,e,n){return n=n.filter(function(t){return 0!==t.size}),0===n.length?t:0!==t.size||t.__ownerID||1!==n.length?t.withMutations(function(t){for(var r=e?function(n,r){t.update(r,vn,function(t){return t===vn?n:e(t,n,r)})}:function(e,n){t.set(n,e)},i=0;i<n.length;i++)n[i].forEach(r)}):t.constructor(n[0])}function Bt(t,e,n,r){var i=t===vn,o=e.next();if(o.done){var s=i?n:t,a=r(s);return a===s?t:a}Z(i||t&&t.set,\"invalid keyPath\");var u=o.value,c=i?vn:t.get(u,vn),l=Bt(c,e,n,r);return l===c?t:l===vn?t.remove(u):(i?Et():t).set(u,l)}function Pt(t){return t-=t>>1&1431655765,t=(858993459&t)+(t>>2&858993459),t=t+(t>>4)&252645135,t+=t>>8,127&(t+=t>>16)}function jt(t,e,n,r){var i=r?t:p(t);return i[e]=n,i}function Nt(t,e,n,r){var i=t.length+1;if(r&&e+1===i)return t[e]=n,t;for(var o=new Array(i),s=0,a=0;a<i;a++)a===e?(o[a]=n,s=-1):o[a]=t[a+s];return o}function Lt(t,e,n){var r=t.length-1;if(n&&e===r)return t.pop(),t;for(var i=new Array(r),o=0,s=0;s<r;s++)s===e&&(o=1),i[s]=t[s+o];return i}function Rt(t){var e=qt();if(null===t||void 0===t)return e;if(zt(t))return t;var n=r(t),i=n.size;return 0===i?e:(lt(i),i>0&&i<dn?Xt(0,i,pn,null,new Ut(n.toArray())):e.withMutations(function(t){t.setSize(i),n.forEach(function(e,n){return t.set(n,e)})}))}function zt(t){return!(!t||!t[Wn])}function Ut(t,e){this.array=t,this.ownerID=e}function Jt(t,e){function n(t,e,n){return 0===e?r(t,n):i(t,e,n)}function r(t,n){var r=n===a?u&&u.array:t&&t.array,i=n>o?0:o-n,c=s-n;return c>dn&&(c=dn),function(){if(i===c)return Hn;var t=e?--c:i++;return r&&r[t]}}function i(t,r,i){var a,u=t&&t.array,c=i>o?0:o-i>>r,l=1+(s-i>>r);return l>dn&&(l=dn),function(){for(;;){if(a){var t=a();if(t!==Hn)return t;a=null}if(c===l)return Hn;var o=e?--l:c++;a=n(u&&u[o],r-pn,i+(o<<r))}}}var o=t._origin,s=t._capacity,a=$t(s),u=t._tail;return n(t._root,t._level,0)}function Xt(t,e,n,r,i,o,s){var a=Object.create(Yn);return a.size=e-t,a._origin=t,a._capacity=e,a._level=n,a._root=r,a._tail=i,a.__ownerID=o,a.__hash=s,a.__altered=!1,a}function qt(){return Vn||(Vn=Xt(0,0,pn))}function Kt(t,e,n){if((e=m(t,e))!==e)return t;if(e>=t.size||e<0)return t.withMutations(function(t){e<0?Ht(t,e).set(0,n):Ht(t,0,e+1).set(e,n)});e+=t._origin;var r=t._tail,i=t._root,o=l(gn);return e>=$t(t._capacity)?r=Wt(r,t.__ownerID,0,e,n,o):i=Wt(i,t.__ownerID,t._level,e,n,o),o.value?t.__ownerID?(t._root=i,t._tail=r,t.__hash=void 0,t.__altered=!0,t):Xt(t._origin,t._capacity,t._level,i,r):t}function Wt(t,e,n,r,i,o){var s=r>>>n&mn,a=t&&s<t.array.length;if(!a&&void 0===i)return t;var u;if(n>0){var c=t&&t.array[s],l=Wt(c,e,n-pn,r,i,o);return l===c?t:(u=Yt(t,e),u.array[s]=l,u)}return a&&t.array[s]===i?t:(h(o),u=Yt(t,e),void 0===i&&s===u.array.length-1?u.array.pop():u.array[s]=i,u)}function Yt(t,e){return e&&t&&e===t.ownerID?t:new Ut(t?t.array.slice():[],e)}function Vt(t,e){if(e>=$t(t._capacity))return t._tail;if(e<1<<t._level+pn){for(var n=t._root,r=t._level;n&&r>0;)n=n.array[e>>>r&mn],r-=pn;return n}}function Ht(t,e,n){void 0!==e&&(e|=0),void 0!==n&&(n|=0);var r=t.__ownerID||new f,i=t._origin,o=t._capacity,s=i+e,a=void 0===n?o:n<0?o+n:i+n;if(s===i&&a===o)return t;if(s>=a)return t.clear();for(var u=t._level,c=t._root,l=0;s+l<0;)c=new Ut(c&&c.array.length?[void 0,c]:[],r),u+=pn,l+=1<<u;l&&(s+=l,i+=l,a+=l,o+=l);for(var h=$t(o),p=$t(a);p>=1<<u+pn;)c=new Ut(c&&c.array.length?[c]:[],r),u+=pn;var d=t._tail,m=p<h?Vt(t,a-1):p>h?new Ut([],r):d;if(d&&p>h&&s<o&&d.array.length){c=Yt(c,r);for(var v=c,y=u;y>pn;y-=pn){var g=h>>>y&mn;v=v.array[g]=Yt(v.array[g],r)}v.array[h>>>pn&mn]=d}if(a<o&&(m=m&&m.removeAfter(r,0,a)),s>=p)s-=p,a-=p,u=pn,c=null,m=m&&m.removeBefore(r,0,s);else if(s>i||p<h){for(l=0;c;){var x=s>>>u&mn;if(x!==p>>>u&mn)break;x&&(l+=(1<<u)*x),u-=pn,c=c.array[x]}c&&s>i&&(c=c.removeBefore(r,u,s-l)),c&&p<h&&(c=c.removeAfter(r,u,p-l)),l&&(s-=l,a-=l)}return t.__ownerID?(t.size=a-s,t._origin=s,t._capacity=a,t._level=u,t._root=c,t._tail=m,t.__hash=void 0,t.__altered=!0,t):Xt(s,a,u,c,m)}function Gt(t,e,n){for(var i=[],s=0,a=0;a<n.length;a++){var u=n[a],c=r(u);c.size>s&&(s=c.size),o(u)||(c=c.map(function(t){return K(t)})),i.push(c)}return s>t.size&&(t=t.setSize(s)),Mt(t,e,i)}function $t(t){return t<dn?0:t-1>>>pn<<pn}function Zt(t){return null===t||void 0===t?ee():Qt(t)?t:ee().withMutations(function(e){var r=n(t);lt(r.size),r.forEach(function(t,n){return e.set(n,t)})})}function Qt(t){return ft(t)&&c(t)}function te(t,e,n,r){var i=Object.create(Zt.prototype);return i.size=t?t.size:0,i._map=t,i._list=e,i.__ownerID=n,i.__hash=r,i}function ee(){return Gn||(Gn=te(Et(),qt()))}function ne(t,e,n){var r,i,o=t._map,s=t._list,a=o.get(e),u=void 0!==a;if(n===vn){if(!u)return t;s.size>=dn&&s.size>=2*o.size?(i=s.filter(function(t,e){return void 0!==t&&a!==e}),r=i.toKeyedSeq().map(function(t){return t[0]}).flip().toMap(),t.__ownerID&&(r.__ownerID=i.__ownerID=t.__ownerID)):(r=o.remove(e),i=a===s.size-1?s.pop():s.set(a,void 0))}else if(u){if(n===s.get(a)[1])return t;r=o,i=s.set(a,[e,n])}else r=o.set(e,s.size),i=s.set(s.size,[e,n]);return t.__ownerID?(t.size=r.size,t._map=r,t._list=i,t.__hash=void 0,t):te(r,i)}function re(t,e){this._iter=t,this._useKeys=e,this.size=t.size}function ie(t){this._iter=t,this.size=t.size}function oe(t){this._iter=t,this.size=t.size}function se(t){this._iter=t,this.size=t.size}function ae(t){var e=ke(t);return e._iter=t,e.size=t.size,e.flip=function(){return t},e.reverse=function(){var e=t.reverse.apply(this);return e.flip=function(){return t.reverse()},e},e.has=function(e){return t.includes(e)},e.includes=function(e){return t.has(e)},e.cacheResult=Fe,e.__iterateUncached=function(e,n){var r=this;return t.__iterate(function(t,n){return!1!==e(n,t,r)},n)},e.__iteratorUncached=function(e,n){if(e===Dn){var r=t.__iterator(e,n);return new D(function(){var t=r.next();if(!t.done){var e=t.value[0];t.value[0]=t.value[1],t.value[1]=e}return t})}return t.__iterator(e===bn?xn:bn,n)},e}function ue(t,e,n){var r=ke(t);return r.size=t.size,r.has=function(e){return t.has(e)},r.get=function(r,i){var o=t.get(r,vn);return o===vn?i:e.call(n,o,r,t)},r.__iterateUncached=function(r,i){var o=this;return t.__iterate(function(t,i,s){return!1!==r(e.call(n,t,i,s),i,o)},i)},r.__iteratorUncached=function(r,i){var o=t.__iterator(Dn,i);return new D(function(){var i=o.next();if(i.done)return i;var s=i.value,a=s[0];return E(r,a,e.call(n,s[1],a,t),i)})},r}function ce(t,e){var n=ke(t);return n._iter=t,n.size=t.size,n.reverse=function(){return t},t.flip&&(n.flip=function(){var e=ae(t);return e.reverse=function(){return t.flip()},e}),n.get=function(n,r){return t.get(e?n:-1-n,r)},n.has=function(n){return t.has(e?n:-1-n)},n.includes=function(e){return t.includes(e)},n.cacheResult=Fe,n.__iterate=function(e,n){var r=this;return t.__iterate(function(t,n){return e(t,n,r)},!n)},n.__iterator=function(e,n){return t.__iterator(e,!n)},n}function le(t,e,n,r){var i=ke(t);return r&&(i.has=function(r){var i=t.get(r,vn);return i!==vn&&!!e.call(n,i,r,t)},i.get=function(r,i){var o=t.get(r,vn);return o!==vn&&e.call(n,o,r,t)?o:i}),i.__iterateUncached=function(i,o){var s=this,a=0;return t.__iterate(function(t,o,u){if(e.call(n,t,o,u))return a++,i(t,r?o:a-1,s)},o),a},i.__iteratorUncached=function(i,o){var s=t.__iterator(Dn,o),a=0;return new D(function(){for(;;){var o=s.next();if(o.done)return o;var u=o.value,c=u[0],l=u[1];if(e.call(n,l,c,t))return E(i,r?c:a++,l,o)}})},i}function he(t,e,n){var r=ht().asMutable();return t.__iterate(function(i,o){r.update(e.call(n,i,o,t),0,function(t){return t+1})}),r.asImmutable()}function fe(t,e,n){var r=s(t),i=(c(t)?Zt():ht()).asMutable();t.__iterate(function(o,s){i.update(e.call(n,o,s,t),function(t){return t=t||[],t.push(r?[s,o]:o),t})});var o=Ce(t);return i.map(function(e){return _e(t,o(e))})}function pe(t,e,n,r){var i=t.size;if(void 0!==e&&(e|=0),void 0!==n&&(n===1/0?n=i:n|=0),y(e,n,i))return t;var o=g(e,i),s=x(n,i);if(o!==o||s!==s)return pe(t.toSeq().cacheResult(),e,n,r);var a,u=s-o;u===u&&(a=u<0?0:u);var c=ke(t);return c.size=0===a?a:t.size&&a||void 0,!r&&N(t)&&a>=0&&(c.get=function(e,n){return e=m(this,e),e>=0&&e<a?t.get(e+o,n):n}),c.__iterateUncached=function(e,n){var i=this;if(0===a)return 0;if(n)return this.cacheResult().__iterate(e,n);var s=0,u=!0,c=0;return t.__iterate(function(t,n){if(!u||!(u=s++<o))return c++,!1!==e(t,r?n:c-1,i)&&c!==a}),c},c.__iteratorUncached=function(e,n){if(0!==a&&n)return this.cacheResult().__iterator(e,n);var i=0!==a&&t.__iterator(e,n),s=0,u=0;return new D(function(){for(;s++<o;)i.next();if(++u>a)return w();var t=i.next();return r||e===bn?t:e===xn?E(e,u-1,void 0,t):E(e,u-1,t.value[1],t)})},c}function de(t,e,n){var r=ke(t);return r.__iterateUncached=function(r,i){var o=this;if(i)return this.cacheResult().__iterate(r,i);var s=0;return t.__iterate(function(t,i,a){return e.call(n,t,i,a)&&++s&&r(t,i,o)}),s},r.__iteratorUncached=function(r,i){var o=this;if(i)return this.cacheResult().__iterator(r,i);var s=t.__iterator(Dn,i),a=!0;return new D(function(){if(!a)return w();var t=s.next();if(t.done)return t;var i=t.value,u=i[0],c=i[1];return e.call(n,c,u,o)?r===Dn?t:E(r,u,c,t):(a=!1,w())})},r}function me(t,e,n,r){var i=ke(t);return i.__iterateUncached=function(i,o){var s=this;if(o)return this.cacheResult().__iterate(i,o);var a=!0,u=0;return t.__iterate(function(t,o,c){if(!a||!(a=e.call(n,t,o,c)))return u++,i(t,r?o:u-1,s)}),u},i.__iteratorUncached=function(i,o){var s=this;if(o)return this.cacheResult().__iterator(i,o);var a=t.__iterator(Dn,o),u=!0,c=0;return new D(function(){var t,o,l;do{if(t=a.next(),t.done)return r||i===bn?t:i===xn?E(i,c++,void 0,t):E(i,c++,t.value[1],t);var h=t.value;o=h[0],l=h[1],u&&(u=e.call(n,l,o,s))}while(u);return i===Dn?t:E(i,o,l,t)})},i}function ve(t,e){var r=s(t),i=[t].concat(e).map(function(t){return o(t)?r&&(t=n(t)):t=r?R(t):z(Array.isArray(t)?t:[t]),t}).filter(function(t){return 0!==t.size});if(0===i.length)return t;if(1===i.length){var u=i[0];if(u===t||r&&s(u)||a(t)&&a(u))return u}var c=new M(i);return r?c=c.toKeyedSeq():a(t)||(c=c.toSetSeq()),c=c.flatten(!0),c.size=i.reduce(function(t,e){if(void 0!==t){var n=e.size;if(void 0!==n)return t+n}},0),c}function ye(t,e,n){var r=ke(t);return r.__iterateUncached=function(r,i){function s(t,c){var l=this;t.__iterate(function(t,i){return(!e||c<e)&&o(t)?s(t,c+1):!1===r(t,n?i:a++,l)&&(u=!0),!u},i)}var a=0,u=!1;return s(t,0),a},r.__iteratorUncached=function(r,i){var s=t.__iterator(r,i),a=[],u=0;return new D(function(){for(;s;){var t=s.next();if(!1===t.done){var c=t.value;if(r===Dn&&(c=c[1]),e&&!(a.length<e)||!o(c))return n?t:E(r,u++,c,t);a.push(s),s=c.__iterator(r,i)}else s=a.pop()}return w()})},r}function ge(t,e,n){var r=Ce(t);return t.toSeq().map(function(i,o){return r(e.call(n,i,o,t))}).flatten(!0)}function xe(t,e){var n=ke(t);return n.size=t.size&&2*t.size-1,n.__iterateUncached=function(n,r){var i=this,o=0;return t.__iterate(function(t,r){return(!o||!1!==n(e,o++,i))&&!1!==n(t,o++,i)},r),o},n.__iteratorUncached=function(n,r){var i,o=t.__iterator(bn,r),s=0;return new D(function(){return(!i||s%2)&&(i=o.next(),i.done)?i:s%2?E(n,s++,e):E(n,s++,i.value,i)})},n}function be(t,e,n){e||(e=Te);var r=s(t),i=0,o=t.toSeq().map(function(e,r){return[r,e,i++,n?n(e,r,t):e]}).toArray();return o.sort(function(t,n){return e(t[3],n[3])||t[2]-n[2]}).forEach(r?function(t,e){o[e].length=2}:function(t,e){o[e]=t[1]}),r?T(o):a(t)?I(o):O(o)}function De(t,e,n){if(e||(e=Te),n){var r=t.toSeq().map(function(e,r){return[e,n(e,r,t)]}).reduce(function(t,n){return Ee(e,t[1],n[1])?n:t});return r&&r[0]}return t.reduce(function(t,n){return Ee(e,t,n)?n:t})}function Ee(t,e,n){var r=t(n,e);return 0===r&&n!==e&&(void 0===n||null===n||n!==n)||r>0}function we(t,n,r){var i=ke(t);return i.size=new M(r).map(function(t){return t.size}).min(),i.__iterate=function(t,e){for(var n,r=this.__iterator(bn,e),i=0;!(n=r.next()).done&&!1!==t(n.value,i++,this););return i},i.__iteratorUncached=function(t,i){var o=r.map(function(t){return t=e(t),A(i?t.reverse():t)}),s=0,a=!1;return new D(function(){var e;return a||(e=o.map(function(t){return t.next()}),a=e.some(function(t){return t.done})),a?w():E(t,s++,n.apply(null,e.map(function(t){return t.value})))})},i}function _e(t,e){return N(t)?e:t.constructor(e)}function Se(t){if(t!==Object(t))throw new TypeError(\"Expected [K, V] tuple: \"+t)}function Ae(t){return lt(t.size),d(t)}function Ce(t){return s(t)?n:a(t)?r:i}function ke(t){return Object.create((s(t)?T:a(t)?I:O).prototype)}function Fe(){return this._iter.cacheResult?(this._iter.cacheResult(),this.size=this._iter.size,this):F.prototype.cacheResult.call(this)}function Te(t,e){return t>e?1:t<e?-1:0}function Ie(t){var n=A(t);if(!n){if(!k(t))throw new TypeError(\"Expected iterable or array-like: \"+t);n=A(e(t))}return n}function Oe(t,e){var n,r=function(o){if(o instanceof r)return o;if(!(this instanceof r))return new r(o);if(!n){n=!0;var s=Object.keys(t);Pe(i,s),i.size=s.length,i._name=e,i._keys=s,i._defaultValues=t}this._map=ht(o)},i=r.prototype=Object.create($n);return i.constructor=r,r}function Me(t,e,n){var r=Object.create(Object.getPrototypeOf(t));return r._map=e,r.__ownerID=n,r}function Be(t){return t._name||t.constructor.name||\"Record\"}function Pe(t,e){try{e.forEach(je.bind(void 0,t))}catch(t){}}function je(t,e){Object.defineProperty(t,e,{get:function(){return this.get(e)},set:function(t){Z(this.__ownerID,\"Cannot set on an immutable record.\"),this.set(e,t)}})}function Ne(t){return null===t||void 0===t?Ue():Le(t)&&!c(t)?t:Ue().withMutations(function(e){var n=i(t);lt(n.size),n.forEach(function(t){return e.add(t)})})}function Le(t){return!(!t||!t[Zn])}function Re(t,e){return t.__ownerID?(t.size=e.size,t._map=e,t):e===t._map?t:0===e.size?t.__empty():t.__make(e)}function ze(t,e){var n=Object.create(Qn);return n.size=t?t.size:0,n._map=t,n.__ownerID=e,n}function Ue(){return tr||(tr=ze(Et()))}function Je(t){return null===t||void 0===t?Ke():Xe(t)?t:Ke().withMutations(function(e){var n=i(t);lt(n.size),n.forEach(function(t){return e.add(t)})})}function Xe(t){return Le(t)&&c(t)}function qe(t,e){var n=Object.create(er);return n.size=t?t.size:0,n._map=t,n.__ownerID=e,n}function Ke(){return nr||(nr=qe(ee()))}function We(t){return null===t||void 0===t?He():Ye(t)?t:He().unshiftAll(t)}function Ye(t){return!(!t||!t[rr])}function Ve(t,e,n,r){var i=Object.create(ir);return i.size=t,i._head=e,i.__ownerID=n,i.__hash=r,i.__altered=!1,i}function He(){return or||(or=Ve(0))}function Ge(t,e){var n=function(n){t.prototype[n]=e[n]};return Object.keys(e).forEach(n),Object.getOwnPropertySymbols&&Object.getOwnPropertySymbols(e).forEach(n),t}function $e(t,e){return e}function Ze(t,e){return[e,t]}function Qe(t){return function(){return!t.apply(this,arguments)}}function tn(t){return function(){return-t.apply(this,arguments)}}function en(t){return\"string\"==typeof t?JSON.stringify(t):String(t)}function nn(){return p(arguments)}function rn(t,e){return t<e?1:t>e?-1:0}function on(t){if(t.size===1/0)return 0;var e=c(t),n=s(t),r=e?1:0;return sn(t.__iterate(n?e?function(t,e){r=31*r+an(ot(t),ot(e))|0}:function(t,e){r=r+an(ot(t),ot(e))|0}:e?function(t){r=31*r+ot(t)|0}:function(t){r=r+ot(t)|0}),r)}function sn(t,e){return e=Tn(e,3432918353),e=Tn(e<<15|e>>>-15,461845907),e=Tn(e<<13|e>>>-13,5),e=(e+3864292196|0)^t,e=Tn(e^e>>>16,2246822507),e=Tn(e^e>>>13,3266489909),e=it(e^e>>>16)}function an(t,e){return t^e+2654435769+(t<<6)+(t>>2)|0}var un=Array.prototype.slice;t(n,e),t(r,e),t(i,e),e.isIterable=o,e.isKeyed=s,e.isIndexed=a,e.isAssociative=u,e.isOrdered=c,e.Keyed=n,e.Indexed=r,e.Set=i;var cn=\"@@__IMMUTABLE_ITERABLE__@@\",ln=\"@@__IMMUTABLE_KEYED__@@\",hn=\"@@__IMMUTABLE_INDEXED__@@\",fn=\"@@__IMMUTABLE_ORDERED__@@\",pn=5,dn=1<<pn,mn=dn-1,vn={},yn={value:!1},gn={value:!1},xn=0,bn=1,Dn=2,En=\"function\"==typeof Symbol&&Symbol.iterator,wn=\"@@iterator\",_n=En||wn;D.prototype.toString=function(){return\"[Iterator]\"},D.KEYS=xn,D.VALUES=bn,D.ENTRIES=Dn,D.prototype.inspect=D.prototype.toSource=function(){return this.toString()},D.prototype[_n]=function(){return this},t(F,e),F.of=function(){return F(arguments)},F.prototype.toSeq=function(){return this},F.prototype.toString=function(){return this.__toString(\"Seq {\",\"}\")},F.prototype.cacheResult=function(){return!this._cache&&this.__iterateUncached&&(this._cache=this.entrySeq().toArray(),this.size=this._cache.length),this},F.prototype.__iterate=function(t,e){return X(this,t,e,!0)},F.prototype.__iterator=function(t,e){return q(this,t,e,!0)},t(T,F),T.prototype.toKeyedSeq=function(){return this},t(I,F),I.of=function(){return I(arguments)},I.prototype.toIndexedSeq=function(){return this},I.prototype.toString=function(){return this.__toString(\"Seq [\",\"]\")},I.prototype.__iterate=function(t,e){return X(this,t,e,!1)},I.prototype.__iterator=function(t,e){return q(this,t,e,!1)},t(O,F),O.of=function(){return O(arguments)},O.prototype.toSetSeq=function(){return this},F.isSeq=N,F.Keyed=T,F.Set=O,F.Indexed=I;var Sn=\"@@__IMMUTABLE_SEQ__@@\";F.prototype[Sn]=!0,t(M,I),M.prototype.get=function(t,e){return this.has(t)?this._array[m(this,t)]:e},M.prototype.__iterate=function(t,e){for(var n=this._array,r=n.length-1,i=0;i<=r;i++)if(!1===t(n[e?r-i:i],i,this))return i+1;return i},M.prototype.__iterator=function(t,e){var n=this._array,r=n.length-1,i=0;return new D(function(){return i>r?w():E(t,i,n[e?r-i++:i++])})},t(B,T),B.prototype.get=function(t,e){return void 0===e||this.has(t)?this._object[t]:e},B.prototype.has=function(t){return this._object.hasOwnProperty(t)},B.prototype.__iterate=function(t,e){for(var n=this._object,r=this._keys,i=r.length-1,o=0;o<=i;o++){var s=r[e?i-o:o];if(!1===t(n[s],s,this))return o+1}return o},B.prototype.__iterator=function(t,e){var n=this._object,r=this._keys,i=r.length-1,o=0;return new D(function(){var s=r[e?i-o:o];return o++>i?w():E(t,s,n[s])})},B.prototype[fn]=!0,t(P,I),P.prototype.__iterateUncached=function(t,e){if(e)return this.cacheResult().__iterate(t,e);var n=this._iterable,r=A(n),i=0;if(S(r))for(var o;!(o=r.next()).done&&!1!==t(o.value,i++,this););return i},P.prototype.__iteratorUncached=function(t,e){if(e)return this.cacheResult().__iterator(t,e);var n=this._iterable,r=A(n);if(!S(r))return new D(w);var i=0;return new D(function(){var e=r.next();return e.done?e:E(t,i++,e.value)})},t(j,I),j.prototype.__iterateUncached=function(t,e){if(e)return this.cacheResult().__iterate(t,e);for(var n=this._iterator,r=this._iteratorCache,i=0;i<r.length;)if(!1===t(r[i],i++,this))return i;for(var o;!(o=n.next()).done;){var s=o.value;if(r[i]=s,!1===t(s,i++,this))break}return i},j.prototype.__iteratorUncached=function(t,e){if(e)return this.cacheResult().__iterator(t,e);var n=this._iterator,r=this._iteratorCache,i=0;return new D(function(){if(i>=r.length){var e=n.next();if(e.done)return e;r[i]=e.value}return E(t,i,r[i++])})};var An;t($,I),$.prototype.toString=function(){return 0===this.size?\"Repeat []\":\"Repeat [ \"+this._value+\" \"+this.size+\" times ]\"},$.prototype.get=function(t,e){return this.has(t)?this._value:e},$.prototype.includes=function(t){return H(this._value,t)},$.prototype.slice=function(t,e){var n=this.size;return y(t,e,n)?this:new $(this._value,x(e,n)-g(t,n))},$.prototype.reverse=function(){return this},$.prototype.indexOf=function(t){return H(this._value,t)?0:-1},$.prototype.lastIndexOf=function(t){return H(this._value,t)?this.size:-1},$.prototype.__iterate=function(t,e){for(var n=0;n<this.size;n++)if(!1===t(this._value,n,this))return n+1;return n},$.prototype.__iterator=function(t,e){var n=this,r=0;return new D(function(){return r<n.size?E(t,r++,n._value):w()})},$.prototype.equals=function(t){return t instanceof $?H(this._value,t._value):G(t)};var Cn;t(Q,I),Q.prototype.toString=function(){return 0===this.size?\"Range []\":\"Range [ \"+this._start+\"...\"+this._end+(1!==this._step?\" by \"+this._step:\"\")+\" ]\"},Q.prototype.get=function(t,e){return this.has(t)?this._start+m(this,t)*this._step:e},Q.prototype.includes=function(t){var e=(t-this._start)/this._step;return e>=0&&e<this.size&&e===Math.floor(e)},Q.prototype.slice=function(t,e){return y(t,e,this.size)?this:(t=g(t,this.size),e=x(e,this.size),e<=t?new Q(0,0):new Q(this.get(t,this._end),this.get(e,this._end),this._step))},Q.prototype.indexOf=function(t){var e=t-this._start;if(e%this._step==0){var n=e/this._step;if(n>=0&&n<this.size)return n}return-1},Q.prototype.lastIndexOf=function(t){return this.indexOf(t)},Q.prototype.__iterate=function(t,e){for(var n=this.size-1,r=this._step,i=e?this._start+n*r:this._start,o=0;o<=n;o++){if(!1===t(i,o,this))return o+1;i+=e?-r:r}return o},Q.prototype.__iterator=function(t,e){var n=this.size-1,r=this._step,i=e?this._start+n*r:this._start,o=0;return new D(function(){var s=i;return i+=e?-r:r,o>n?w():E(t,o++,s)})},Q.prototype.equals=function(t){return t instanceof Q?this._start===t._start&&this._end===t._end&&this._step===t._step:G(this,t)};var kn;t(tt,e),t(et,tt),t(nt,tt),t(rt,tt),tt.Keyed=et,tt.Indexed=nt,tt.Set=rt;var Fn,Tn=\"function\"==typeof Math.imul&&-2===Math.imul(4294967295,2)?Math.imul:function(t,e){t|=0,e|=0;var n=65535&t,r=65535&e;return n*r+((t>>>16)*r+n*(e>>>16)<<16>>>0)|0},In=Object.isExtensible,On=function(){try{return Object.defineProperty({},\"@\",{}),!0}catch(t){return!1}}(),Mn=\"function\"==typeof WeakMap;Mn&&(Fn=new WeakMap);var Bn=0,Pn=\"__immutablehash__\";\"function\"==typeof Symbol&&(Pn=Symbol(Pn));var jn=16,Nn=255,Ln=0,Rn={};t(ht,et),ht.of=function(){var t=un.call(arguments,0);return Et().withMutations(function(e){for(var n=0;n<t.length;n+=2){if(n+1>=t.length)throw new Error(\"Missing value for key: \"+t[n]);e.set(t[n],t[n+1])}})},ht.prototype.toString=function(){return this.__toString(\"Map {\",\"}\")},ht.prototype.get=function(t,e){return this._root?this._root.get(0,void 0,t,e):e},ht.prototype.set=function(t,e){return wt(this,t,e)},ht.prototype.setIn=function(t,e){return this.updateIn(t,vn,function(){return e})},ht.prototype.remove=function(t){return wt(this,t,vn)},ht.prototype.deleteIn=function(t){return this.updateIn(t,function(){return vn})},ht.prototype.update=function(t,e,n){return 1===arguments.length?t(this):this.updateIn([t],e,n)},ht.prototype.updateIn=function(t,e,n){n||(n=e,e=void 0);var r=Bt(this,Ie(t),e,n);return r===vn?void 0:r},ht.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=0,this._root=null,this.__hash=void 0,this.__altered=!0,this):Et()},ht.prototype.merge=function(){return Tt(this,void 0,arguments)},ht.prototype.mergeWith=function(t){return Tt(this,t,un.call(arguments,1))},ht.prototype.mergeIn=function(t){var e=un.call(arguments,1);return this.updateIn(t,Et(),function(t){return\"function\"==typeof t.merge?t.merge.apply(t,e):e[e.length-1]})},ht.prototype.mergeDeep=function(){return Tt(this,It,arguments)},ht.prototype.mergeDeepWith=function(t){var e=un.call(arguments,1);return Tt(this,Ot(t),e)},ht.prototype.mergeDeepIn=function(t){var e=un.call(arguments,1);return this.updateIn(t,Et(),function(t){return\"function\"==typeof t.mergeDeep?t.mergeDeep.apply(t,e):e[e.length-1]})},ht.prototype.sort=function(t){return Zt(be(this,t))},ht.prototype.sortBy=function(t,e){return Zt(be(this,e,t))},ht.prototype.withMutations=function(t){var e=this.asMutable();return t(e),e.wasAltered()?e.__ensureOwner(this.__ownerID):this},ht.prototype.asMutable=function(){return this.__ownerID?this:this.__ensureOwner(new f)},ht.prototype.asImmutable=function(){return this.__ensureOwner()},ht.prototype.wasAltered=function(){return this.__altered},ht.prototype.__iterator=function(t,e){return new gt(this,t,e)},ht.prototype.__iterate=function(t,e){var n=this,r=0;return this._root&&this._root.iterate(function(e){return r++,t(e[1],e[0],n)},e),r},ht.prototype.__ensureOwner=function(t){return t===this.__ownerID?this:t?Dt(this.size,this._root,t,this.__hash):(this.__ownerID=t,this.__altered=!1,this)},ht.isMap=ft;var zn=\"@@__IMMUTABLE_MAP__@@\",Un=ht.prototype;Un[zn]=!0,Un.delete=Un.remove,Un.removeIn=Un.deleteIn,pt.prototype.get=function(t,e,n,r){for(var i=this.entries,o=0,s=i.length;o<s;o++)if(H(n,i[o][0]))return i[o][1];return r},pt.prototype.update=function(t,e,n,r,i,o,s){for(var a=i===vn,u=this.entries,c=0,l=u.length;c<l&&!H(r,u[c][0]);c++);var f=c<l;if(f?u[c][1]===i:a)return this;if(h(s),(a||!f)&&h(o),!a||1!==u.length){if(!f&&!a&&u.length>=Xn)return Ct(t,u,r,i);var d=t&&t===this.ownerID,m=d?u:p(u);return f?a?c===l-1?m.pop():m[c]=m.pop():m[c]=[r,i]:m.push([r,i]),d?(this.entries=m,this):new pt(t,m)}},dt.prototype.get=function(t,e,n,r){void 0===e&&(e=ot(n));var i=1<<((0===t?e:e>>>t)&mn),o=this.bitmap;return 0==(o&i)?r:this.nodes[Pt(o&i-1)].get(t+pn,e,n,r)},dt.prototype.update=function(t,e,n,r,i,o,s){void 0===n&&(n=ot(r));var a=(0===e?n:n>>>e)&mn,u=1<<a,c=this.bitmap,l=0!=(c&u);if(!l&&i===vn)return this;var h=Pt(c&u-1),f=this.nodes,p=l?f[h]:void 0,d=_t(p,t,e+pn,n,r,i,o,s);if(d===p)return this;if(!l&&d&&f.length>=qn)return Ft(t,f,c,a,d);if(l&&!d&&2===f.length&&St(f[1^h]))return f[1^h];if(l&&d&&1===f.length&&St(d))return d;var m=t&&t===this.ownerID,v=l?d?c:c^u:c|u,y=l?d?jt(f,h,d,m):Lt(f,h,m):Nt(f,h,d,m);return m?(this.bitmap=v,this.nodes=y,this):new dt(t,v,y)},mt.prototype.get=function(t,e,n,r){void 0===e&&(e=ot(n));var i=(0===t?e:e>>>t)&mn,o=this.nodes[i];return o?o.get(t+pn,e,n,r):r},mt.prototype.update=function(t,e,n,r,i,o,s){void 0===n&&(n=ot(r));var a=(0===e?n:n>>>e)&mn,u=i===vn,c=this.nodes,l=c[a];if(u&&!l)return this;var h=_t(l,t,e+pn,n,r,i,o,s);if(h===l)return this;var f=this.count;if(l){if(!h&&--f<Kn)return kt(t,c,f,a)}else f++;var p=t&&t===this.ownerID,d=jt(c,a,h,p);return p?(this.count=f,this.nodes=d,this):new mt(t,f,d)},vt.prototype.get=function(t,e,n,r){for(var i=this.entries,o=0,s=i.length;o<s;o++)if(H(n,i[o][0]))return i[o][1];return r},vt.prototype.update=function(t,e,n,r,i,o,s){void 0===n&&(n=ot(r));var a=i===vn;if(n!==this.keyHash)return a?this:(h(s),h(o),At(this,t,e,n,[r,i]));for(var u=this.entries,c=0,l=u.length;c<l&&!H(r,u[c][0]);c++);var f=c<l;if(f?u[c][1]===i:a)return this;if(h(s),(a||!f)&&h(o),a&&2===l)return new yt(t,this.keyHash,u[1^c]);var d=t&&t===this.ownerID,m=d?u:p(u);return f?a?c===l-1?m.pop():m[c]=m.pop():m[c]=[r,i]:m.push([r,i]),d?(this.entries=m,this):new vt(t,this.keyHash,m)},yt.prototype.get=function(t,e,n,r){return H(n,this.entry[0])?this.entry[1]:r},yt.prototype.update=function(t,e,n,r,i,o,s){var a=i===vn,u=H(r,this.entry[0]);return(u?i===this.entry[1]:a)?this:(h(s),a?void h(o):u?t&&t===this.ownerID?(this.entry[1]=i,this):new yt(t,this.keyHash,[r,i]):(h(o),At(this,t,e,ot(r),[r,i])))},pt.prototype.iterate=vt.prototype.iterate=function(t,e){for(var n=this.entries,r=0,i=n.length-1;r<=i;r++)if(!1===t(n[e?i-r:r]))return!1},dt.prototype.iterate=mt.prototype.iterate=function(t,e){for(var n=this.nodes,r=0,i=n.length-1;r<=i;r++){var o=n[e?i-r:r];if(o&&!1===o.iterate(t,e))return!1}},yt.prototype.iterate=function(t,e){return t(this.entry)},t(gt,D),gt.prototype.next=function(){for(var t=this._type,e=this._stack;e;){var n,r=e.node,i=e.index++;if(r.entry){if(0===i)return xt(t,r.entry)}else if(r.entries){if(n=r.entries.length-1,i<=n)return xt(t,r.entries[this._reverse?n-i:i])}else if(n=r.nodes.length-1,i<=n){var o=r.nodes[this._reverse?n-i:i];if(o){if(o.entry)return xt(t,o.entry);e=this._stack=bt(o,e)}continue}e=this._stack=this._stack.__prev}return w()};var Jn,Xn=dn/4,qn=dn/2,Kn=dn/4;t(Rt,nt),Rt.of=function(){return this(arguments)},Rt.prototype.toString=function(){return this.__toString(\"List [\",\"]\")},Rt.prototype.get=function(t,e){if((t=m(this,t))>=0&&t<this.size){t+=this._origin;var n=Vt(this,t);return n&&n.array[t&mn]}return e},Rt.prototype.set=function(t,e){return Kt(this,t,e)},Rt.prototype.remove=function(t){return this.has(t)?0===t?this.shift():t===this.size-1?this.pop():this.splice(t,1):this},Rt.prototype.insert=function(t,e){return this.splice(t,0,e)},Rt.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=this._origin=this._capacity=0,this._level=pn,this._root=this._tail=null,this.__hash=void 0,this.__altered=!0,this):qt()},Rt.prototype.push=function(){var t=arguments,e=this.size;return this.withMutations(function(n){Ht(n,0,e+t.length);for(var r=0;r<t.length;r++)n.set(e+r,t[r])})},Rt.prototype.pop=function(){return Ht(this,0,-1)},Rt.prototype.unshift=function(){var t=arguments;return this.withMutations(function(e){Ht(e,-t.length);for(var n=0;n<t.length;n++)e.set(n,t[n])})},Rt.prototype.shift=function(){return Ht(this,1)},Rt.prototype.merge=function(){return Gt(this,void 0,arguments)},Rt.prototype.mergeWith=function(t){return Gt(this,t,un.call(arguments,1))},Rt.prototype.mergeDeep=function(){return Gt(this,It,arguments)},Rt.prototype.mergeDeepWith=function(t){var e=un.call(arguments,1);return Gt(this,Ot(t),e)},Rt.prototype.setSize=function(t){return Ht(this,0,t)},Rt.prototype.slice=function(t,e){var n=this.size;return y(t,e,n)?this:Ht(this,g(t,n),x(e,n))},Rt.prototype.__iterator=function(t,e){var n=0,r=Jt(this,e);return new D(function(){var e=r();return e===Hn?w():E(t,n++,e)})},Rt.prototype.__iterate=function(t,e){for(var n,r=0,i=Jt(this,e);(n=i())!==Hn&&!1!==t(n,r++,this););return r},Rt.prototype.__ensureOwner=function(t){return t===this.__ownerID?this:t?Xt(this._origin,this._capacity,this._level,this._root,this._tail,t,this.__hash):(this.__ownerID=t,this)},Rt.isList=zt;var Wn=\"@@__IMMUTABLE_LIST__@@\",Yn=Rt.prototype;Yn[Wn]=!0,Yn.delete=Yn.remove,Yn.setIn=Un.setIn,Yn.deleteIn=Yn.removeIn=Un.removeIn,Yn.update=Un.update,Yn.updateIn=Un.updateIn,Yn.mergeIn=Un.mergeIn,Yn.mergeDeepIn=Un.mergeDeepIn,Yn.withMutations=Un.withMutations,Yn.asMutable=Un.asMutable,Yn.asImmutable=Un.asImmutable,Yn.wasAltered=Un.wasAltered,Ut.prototype.removeBefore=function(t,e,n){if(n===e?1<<e:0===this.array.length)return this;var r=n>>>e&mn;if(r>=this.array.length)return new Ut([],t);var i,o=0===r;if(e>0){var s=this.array[r];if((i=s&&s.removeBefore(t,e-pn,n))===s&&o)return this}if(o&&!i)return this;var a=Yt(this,t);if(!o)for(var u=0;u<r;u++)a.array[u]=void 0;return i&&(a.array[r]=i),a},Ut.prototype.removeAfter=function(t,e,n){if(n===(e?1<<e:0)||0===this.array.length)return this;var r=n-1>>>e&mn;if(r>=this.array.length)return this;var i;if(e>0){var o=this.array[r];if((i=o&&o.removeAfter(t,e-pn,n))===o&&r===this.array.length-1)return this}var s=Yt(this,t);return s.array.splice(r+1),i&&(s.array[r]=i),s};var Vn,Hn={};t(Zt,ht),Zt.of=function(){return this(arguments)},Zt.prototype.toString=function(){return this.__toString(\"OrderedMap {\",\"}\")},Zt.prototype.get=function(t,e){var n=this._map.get(t);return void 0!==n?this._list.get(n)[1]:e},Zt.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=0,this._map.clear(),this._list.clear(),this):ee()},Zt.prototype.set=function(t,e){return ne(this,t,e)},Zt.prototype.remove=function(t){return ne(this,t,vn)},Zt.prototype.wasAltered=function(){return this._map.wasAltered()||this._list.wasAltered()},Zt.prototype.__iterate=function(t,e){var n=this;return this._list.__iterate(function(e){return e&&t(e[1],e[0],n)},e)},Zt.prototype.__iterator=function(t,e){return this._list.fromEntrySeq().__iterator(t,e)},Zt.prototype.__ensureOwner=function(t){if(t===this.__ownerID)return this;var e=this._map.__ensureOwner(t),n=this._list.__ensureOwner(t);return t?te(e,n,t,this.__hash):(this.__ownerID=t,this._map=e,this._list=n,this)},Zt.isOrderedMap=Qt,Zt.prototype[fn]=!0,Zt.prototype.delete=Zt.prototype.remove;var Gn;t(re,T),re.prototype.get=function(t,e){return this._iter.get(t,e)},re.prototype.has=function(t){return this._iter.has(t)},re.prototype.valueSeq=function(){return this._iter.valueSeq()},re.prototype.reverse=function(){var t=this,e=ce(this,!0);return this._useKeys||(e.valueSeq=function(){return t._iter.toSeq().reverse()}),e},re.prototype.map=function(t,e){var n=this,r=ue(this,t,e);return this._useKeys||(r.valueSeq=function(){return n._iter.toSeq().map(t,e)}),r},re.prototype.__iterate=function(t,e){var n,r=this;return this._iter.__iterate(this._useKeys?function(e,n){return t(e,n,r)}:(n=e?Ae(this):0,function(i){return t(i,e?--n:n++,r)}),e)},re.prototype.__iterator=function(t,e){if(this._useKeys)return this._iter.__iterator(t,e);var n=this._iter.__iterator(bn,e),r=e?Ae(this):0;return new D(function(){var i=n.next();return i.done?i:E(t,e?--r:r++,i.value,i)})},re.prototype[fn]=!0,t(ie,I),ie.prototype.includes=function(t){return this._iter.includes(t)},ie.prototype.__iterate=function(t,e){var n=this,r=0;return this._iter.__iterate(function(e){return t(e,r++,n)},e)},ie.prototype.__iterator=function(t,e){var n=this._iter.__iterator(bn,e),r=0;return new D(function(){var e=n.next();return e.done?e:E(t,r++,e.value,e)})},t(oe,O),oe.prototype.has=function(t){return this._iter.includes(t)},oe.prototype.__iterate=function(t,e){var n=this;return this._iter.__iterate(function(e){return t(e,e,n)},e)},oe.prototype.__iterator=function(t,e){var n=this._iter.__iterator(bn,e);return new D(function(){var e=n.next();return e.done?e:E(t,e.value,e.value,e)})},t(se,T),se.prototype.entrySeq=function(){return this._iter.toSeq()},se.prototype.__iterate=function(t,e){var n=this;return this._iter.__iterate(function(e){if(e){Se(e);var r=o(e);return t(r?e.get(1):e[1],r?e.get(0):e[0],n)}},e)},se.prototype.__iterator=function(t,e){var n=this._iter.__iterator(bn,e);return new D(function(){for(;;){var e=n.next();if(e.done)return e;var r=e.value;if(r){Se(r);var i=o(r);return E(t,i?r.get(0):r[0],i?r.get(1):r[1],e)}}})},ie.prototype.cacheResult=re.prototype.cacheResult=oe.prototype.cacheResult=se.prototype.cacheResult=Fe,t(Oe,et),Oe.prototype.toString=function(){return this.__toString(Be(this)+\" {\",\"}\")},Oe.prototype.has=function(t){return this._defaultValues.hasOwnProperty(t)},Oe.prototype.get=function(t,e){if(!this.has(t))return e;var n=this._defaultValues[t];return this._map?this._map.get(t,n):n},Oe.prototype.clear=function(){if(this.__ownerID)return this._map&&this._map.clear(),this;var t=this.constructor;return t._empty||(t._empty=Me(this,Et()))},Oe.prototype.set=function(t,e){if(!this.has(t))throw new Error('Cannot set unknown key \"'+t+'\" on '+Be(this));if(this._map&&!this._map.has(t)){if(e===this._defaultValues[t])return this}var n=this._map&&this._map.set(t,e);return this.__ownerID||n===this._map?this:Me(this,n)},Oe.prototype.remove=function(t){if(!this.has(t))return this;var e=this._map&&this._map.remove(t);return this.__ownerID||e===this._map?this:Me(this,e)},Oe.prototype.wasAltered=function(){return this._map.wasAltered()},Oe.prototype.__iterator=function(t,e){var r=this;return n(this._defaultValues).map(function(t,e){return r.get(e)}).__iterator(t,e)},Oe.prototype.__iterate=function(t,e){var r=this;return n(this._defaultValues).map(function(t,e){return r.get(e)}).__iterate(t,e)},Oe.prototype.__ensureOwner=function(t){if(t===this.__ownerID)return this;var e=this._map&&this._map.__ensureOwner(t);return t?Me(this,e,t):(this.__ownerID=t,this._map=e,this)};var $n=Oe.prototype;$n.delete=$n.remove,$n.deleteIn=$n.removeIn=Un.removeIn,$n.merge=Un.merge,$n.mergeWith=Un.mergeWith,$n.mergeIn=Un.mergeIn,$n.mergeDeep=Un.mergeDeep,$n.mergeDeepWith=Un.mergeDeepWith,$n.mergeDeepIn=Un.mergeDeepIn,$n.setIn=Un.setIn,$n.update=Un.update,$n.updateIn=Un.updateIn,$n.withMutations=Un.withMutations,$n.asMutable=Un.asMutable,$n.asImmutable=Un.asImmutable,t(Ne,rt),Ne.of=function(){return this(arguments)},Ne.fromKeys=function(t){return this(n(t).keySeq())},Ne.prototype.toString=function(){return this.__toString(\"Set {\",\"}\")},Ne.prototype.has=function(t){return this._map.has(t)},Ne.prototype.add=function(t){return Re(this,this._map.set(t,!0))},Ne.prototype.remove=function(t){return Re(this,this._map.remove(t))},Ne.prototype.clear=function(){return Re(this,this._map.clear())},Ne.prototype.union=function(){var t=un.call(arguments,0);return t=t.filter(function(t){return 0!==t.size}),0===t.length?this:0!==this.size||this.__ownerID||1!==t.length?this.withMutations(function(e){for(var n=0;n<t.length;n++)i(t[n]).forEach(function(t){return e.add(t)})}):this.constructor(t[0])},Ne.prototype.intersect=function(){var t=un.call(arguments,0);if(0===t.length)return this;t=t.map(function(t){return i(t)});var e=this;return this.withMutations(function(n){e.forEach(function(e){t.every(function(t){return t.includes(e)})||n.remove(e)})})},Ne.prototype.subtract=function(){var t=un.call(arguments,0);if(0===t.length)return this;t=t.map(function(t){return i(t)});var e=this;return this.withMutations(function(n){e.forEach(function(e){t.some(function(t){return t.includes(e)})&&n.remove(e)})})},Ne.prototype.merge=function(){return this.union.apply(this,arguments)},Ne.prototype.mergeWith=function(t){var e=un.call(arguments,1);return this.union.apply(this,e)},Ne.prototype.sort=function(t){return Je(be(this,t))},Ne.prototype.sortBy=function(t,e){return Je(be(this,e,t))},Ne.prototype.wasAltered=function(){return this._map.wasAltered()},Ne.prototype.__iterate=function(t,e){var n=this;return this._map.__iterate(function(e,r){return t(r,r,n)},e)},Ne.prototype.__iterator=function(t,e){return this._map.map(function(t,e){return e}).__iterator(t,e)},Ne.prototype.__ensureOwner=function(t){if(t===this.__ownerID)return this;var e=this._map.__ensureOwner(t);return t?this.__make(e,t):(this.__ownerID=t,this._map=e,this)},Ne.isSet=Le;var Zn=\"@@__IMMUTABLE_SET__@@\",Qn=Ne.prototype;Qn[Zn]=!0,Qn.delete=Qn.remove,Qn.mergeDeep=Qn.merge,Qn.mergeDeepWith=Qn.mergeWith,Qn.withMutations=Un.withMutations,Qn.asMutable=Un.asMutable,Qn.asImmutable=Un.asImmutable,Qn.__empty=Ue,Qn.__make=ze;var tr;t(Je,Ne),Je.of=function(){return this(arguments)},Je.fromKeys=function(t){return this(n(t).keySeq())},Je.prototype.toString=function(){return this.__toString(\"OrderedSet {\",\"}\")},Je.isOrderedSet=Xe;var er=Je.prototype;er[fn]=!0,er.__empty=Ke,er.__make=qe;var nr;t(We,nt),We.of=function(){return this(arguments)},We.prototype.toString=function(){return this.__toString(\"Stack [\",\"]\")},We.prototype.get=function(t,e){var n=this._head;for(t=m(this,t);n&&t--;)n=n.next;return n?n.value:e},We.prototype.peek=function(){return this._head&&this._head.value},We.prototype.push=function(){if(0===arguments.length)return this;for(var t=this.size+arguments.length,e=this._head,n=arguments.length-1;n>=0;n--)e={value:arguments[n],next:e};return this.__ownerID?(this.size=t,this._head=e,this.__hash=void 0,this.__altered=!0,this):Ve(t,e)},We.prototype.pushAll=function(t){if(t=r(t),0===t.size)return this;lt(t.size);var e=this.size,n=this._head;return t.reverse().forEach(function(t){e++,n={value:t,next:n}}),this.__ownerID?(this.size=e,this._head=n,this.__hash=void 0,this.__altered=!0,this):Ve(e,n)},We.prototype.pop=function(){return this.slice(1)},We.prototype.unshift=function(){return this.push.apply(this,arguments)},We.prototype.unshiftAll=function(t){return this.pushAll(t)},We.prototype.shift=function(){return this.pop.apply(this,arguments)},We.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=0,this._head=void 0,this.__hash=void 0,this.__altered=!0,this):He()},We.prototype.slice=function(t,e){if(y(t,e,this.size))return this;var n=g(t,this.size);if(x(e,this.size)!==this.size)return nt.prototype.slice.call(this,t,e);for(var r=this.size-n,i=this._head;n--;)i=i.next;return this.__ownerID?(this.size=r,this._head=i,this.__hash=void 0,this.__altered=!0,this):Ve(r,i)},We.prototype.__ensureOwner=function(t){return t===this.__ownerID?this:t?Ve(this.size,this._head,t,this.__hash):(this.__ownerID=t,this.__altered=!1,this)},We.prototype.__iterate=function(t,e){if(e)return this.reverse().__iterate(t);for(var n=0,r=this._head;r&&!1!==t(r.value,n++,this);)r=r.next;return n},We.prototype.__iterator=function(t,e){if(e)return this.reverse().__iterator(t);var n=0,r=this._head;return new D(function(){if(r){var e=r.value;return r=r.next,E(t,n++,e)}return w()})},We.isStack=Ye;var rr=\"@@__IMMUTABLE_STACK__@@\",ir=We.prototype;ir[rr]=!0,ir.withMutations=Un.withMutations,ir.asMutable=Un.asMutable,ir.asImmutable=Un.asImmutable,ir.wasAltered=Un.wasAltered;var or;e.Iterator=D,Ge(e,{toArray:function(){lt(this.size);var t=new Array(this.size||0);return this.valueSeq().__iterate(function(e,n){t[n]=e}),t},toIndexedSeq:function(){return new ie(this)},toJS:function(){return this.toSeq().map(function(t){return t&&\"function\"==typeof t.toJS?t.toJS():t}).__toJS()},toJSON:function(){return this.toSeq().map(function(t){return t&&\"function\"==typeof t.toJSON?t.toJSON():t}).__toJS()},toKeyedSeq:function(){return new re(this,!0)},toMap:function(){return ht(this.toKeyedSeq())},toObject:function(){lt(this.size);var t={};return this.__iterate(function(e,n){t[n]=e}),t},toOrderedMap:function(){return Zt(this.toKeyedSeq())},toOrderedSet:function(){return Je(s(this)?this.valueSeq():this)},toSet:function(){return Ne(s(this)?this.valueSeq():this)},toSetSeq:function(){return new oe(this)},toSeq:function(){return a(this)?this.toIndexedSeq():s(this)?this.toKeyedSeq():this.toSetSeq()},toStack:function(){return We(s(this)?this.valueSeq():this)},toList:function(){return Rt(s(this)?this.valueSeq():this)},toString:function(){return\"[Iterable]\"},__toString:function(t,e){return 0===this.size?t+e:t+\" \"+this.toSeq().map(this.__toStringMapper).join(\", \")+\" \"+e},concat:function(){return _e(this,ve(this,un.call(arguments,0)))},includes:function(t){return this.some(function(e){return H(e,t)})},entries:function(){return this.__iterator(Dn)},every:function(t,e){lt(this.size);var n=!0;return this.__iterate(function(r,i,o){if(!t.call(e,r,i,o))return n=!1,!1}),n},filter:function(t,e){return _e(this,le(this,t,e,!0))},find:function(t,e,n){var r=this.findEntry(t,e);return r?r[1]:n},forEach:function(t,e){return lt(this.size),this.__iterate(e?t.bind(e):t)},join:function(t){lt(this.size),t=void 0!==t?\"\"+t:\",\";var e=\"\",n=!0;return this.__iterate(function(r){n?n=!1:e+=t,e+=null!==r&&void 0!==r?r.toString():\"\"}),e},keys:function(){return this.__iterator(xn)},map:function(t,e){return _e(this,ue(this,t,e))},reduce:function(t,e,n){lt(this.size);var r,i;return arguments.length<2?i=!0:r=e,this.__iterate(function(e,o,s){i?(i=!1,r=e):r=t.call(n,r,e,o,s)}),r},reduceRight:function(t,e,n){var r=this.toKeyedSeq().reverse();return r.reduce.apply(r,arguments)},reverse:function(){return _e(this,ce(this,!0))},slice:function(t,e){return _e(this,pe(this,t,e,!0))},some:function(t,e){return!this.every(Qe(t),e)},sort:function(t){return _e(this,be(this,t))},values:function(){return this.__iterator(bn)},butLast:function(){return this.slice(0,-1)},isEmpty:function(){return void 0!==this.size?0===this.size:!this.some(function(){return!0})},count:function(t,e){return d(t?this.toSeq().filter(t,e):this)},countBy:function(t,e){return he(this,t,e)},equals:function(t){return G(this,t)},entrySeq:function(){var t=this;if(t._cache)return new M(t._cache);var e=t.toSeq().map(Ze).toIndexedSeq();return e.fromEntrySeq=function(){return t.toSeq()},e},filterNot:function(t,e){return this.filter(Qe(t),e)},findEntry:function(t,e,n){var r=n;return this.__iterate(function(n,i,o){if(t.call(e,n,i,o))return r=[i,n],!1}),r},findKey:function(t,e){var n=this.findEntry(t,e);return n&&n[0]},findLast:function(t,e,n){return this.toKeyedSeq().reverse().find(t,e,n)},findLastEntry:function(t,e,n){return this.toKeyedSeq().reverse().findEntry(t,e,n)},findLastKey:function(t,e){return this.toKeyedSeq().reverse().findKey(t,e)},first:function(){return this.find(v)},flatMap:function(t,e){return _e(this,ge(this,t,e))},flatten:function(t){return _e(this,ye(this,t,!0))},fromEntrySeq:function(){return new se(this)},get:function(t,e){return this.find(function(e,n){return H(n,t)},void 0,e)},getIn:function(t,e){for(var n,r=this,i=Ie(t);!(n=i.next()).done;){var o=n.value;if((r=r&&r.get?r.get(o,vn):vn)===vn)return e}return r},groupBy:function(t,e){return fe(this,t,e)},has:function(t){return this.get(t,vn)!==vn},hasIn:function(t){return this.getIn(t,vn)!==vn},isSubset:function(t){return t=\"function\"==typeof t.includes?t:e(t),this.every(function(e){return t.includes(e)})},isSuperset:function(t){return t=\"function\"==typeof t.isSubset?t:e(t),t.isSubset(this)},keyOf:function(t){return this.findKey(function(e){return H(e,t)})},keySeq:function(){return this.toSeq().map($e).toIndexedSeq()},last:function(){return this.toSeq().reverse().first()},lastKeyOf:function(t){return this.toKeyedSeq().reverse().keyOf(t)},max:function(t){return De(this,t)},maxBy:function(t,e){return De(this,e,t)},min:function(t){return De(this,t?tn(t):rn)},minBy:function(t,e){return De(this,e?tn(e):rn,t)},rest:function(){return this.slice(1)},skip:function(t){return this.slice(Math.max(0,t))},skipLast:function(t){return _e(this,this.toSeq().reverse().skip(t).reverse())},skipWhile:function(t,e){return _e(this,me(this,t,e,!0))},skipUntil:function(t,e){return this.skipWhile(Qe(t),e)},sortBy:function(t,e){return _e(this,be(this,e,t))},take:function(t){return this.slice(0,Math.max(0,t))},takeLast:function(t){return _e(this,this.toSeq().reverse().take(t).reverse())},takeWhile:function(t,e){return _e(this,de(this,t,e))},takeUntil:function(t,e){return this.takeWhile(Qe(t),e)},valueSeq:function(){return this.toIndexedSeq()},hashCode:function(){return this.__hash||(this.__hash=on(this))}});var sr=e.prototype;sr[cn]=!0,sr[_n]=sr.values,sr.__toJS=sr.toArray,sr.__toStringMapper=en,sr.inspect=sr.toSource=function(){return this.toString()},sr.chain=sr.flatMap,sr.contains=sr.includes,Ge(n,{flip:function(){return _e(this,ae(this))},mapEntries:function(t,e){var n=this,r=0;return _e(this,this.toSeq().map(function(i,o){return t.call(e,[o,i],r++,n)}).fromEntrySeq())},mapKeys:function(t,e){var n=this;return _e(this,this.toSeq().flip().map(function(r,i){return t.call(e,r,i,n)}).flip())}});var ar=n.prototype;return ar[ln]=!0,ar[_n]=sr.entries,ar.__toJS=sr.toObject,ar.__toStringMapper=function(t,e){return JSON.stringify(e)+\": \"+en(t)},Ge(r,{toKeyedSeq:function(){return new re(this,!1)},filter:function(t,e){return _e(this,le(this,t,e,!1))},findIndex:function(t,e){var n=this.findEntry(t,e);return n?n[0]:-1},indexOf:function(t){var e=this.keyOf(t);return void 0===e?-1:e},lastIndexOf:function(t){var e=this.lastKeyOf(t);return void 0===e?-1:e},reverse:function(){return _e(this,ce(this,!1))},slice:function(t,e){return _e(this,pe(this,t,e,!1))},splice:function(t,e){var n=arguments.length;if(e=Math.max(0|e,0),0===n||2===n&&!e)return this;t=g(t,t<0?this.count():this.size);var r=this.slice(0,t);return _e(this,1===n?r:r.concat(p(arguments,2),this.slice(t+e)))},findLastIndex:function(t,e){var n=this.findLastEntry(t,e);return n?n[0]:-1},first:function(){return this.get(0)},flatten:function(t){return _e(this,ye(this,t,!1))},get:function(t,e){return t=m(this,t),t<0||this.size===1/0||void 0!==this.size&&t>this.size?e:this.find(function(e,n){return n===t},void 0,e)},has:function(t){return(t=m(this,t))>=0&&(void 0!==this.size?this.size===1/0||t<this.size:-1!==this.indexOf(t))},interpose:function(t){return _e(this,xe(this,t))},interleave:function(){var t=[this].concat(p(arguments)),e=we(this.toSeq(),I.of,t),n=e.flatten(!0);return e.size&&(n.size=e.size*t.length),_e(this,n)},keySeq:function(){return Q(0,this.size)},last:function(){return this.get(-1)},skipWhile:function(t,e){return _e(this,me(this,t,e,!1))},zip:function(){return _e(this,we(this,nn,[this].concat(p(arguments))))},zipWith:function(t){var e=p(arguments);return e[0]=this,_e(this,we(this,t,e))}}),r.prototype[hn]=!0,r.prototype[fn]=!0,Ge(i,{get:function(t,e){return this.has(t)?t:e},includes:function(t){return this.has(t)},keySeq:function(){return this.valueSeq()}}),i.prototype.has=sr.includes,i.prototype.contains=i.prototype.includes,Ge(T,n.prototype),Ge(I,r.prototype),Ge(O,i.prototype),Ge(et,n.prototype),Ge(nt,r.prototype),Ge(rt,i.prototype),{Iterable:e,Seq:F,Collection:tt,Map:ht,OrderedMap:Zt,List:Rt,Stack:We,Set:Ne,OrderedSet:Je,Record:Oe,Range:Q,Repeat:$,is:H,fromJS:K}})},function(t,e){function n(t){return!!t&&(\"object\"==typeof t||\"function\"==typeof t)&&\"function\"==typeof t.then}t.exports=n},function(t,e){var n={}.toString;t.exports=Array.isArray||function(t){return\"[object Array]\"==n.call(t)}},function(t,e,n){\"use strict\";var r=n(34);t.exports=new r({include:[n(170)]})},function(t,e,n){\"use strict\";var r=n(34);t.exports=new r({include:[n(112)],implicit:[n(372),n(364),n(366),n(365)]})},function(t,e,n){function r(t){var e=this.__data__=new i(t);this.size=e.size}var i=n(71),o=n(462),s=n(463),a=n(464),u=n(465),c=n(466);r.prototype.clear=o,r.prototype.delete=s,r.prototype.get=a,r.prototype.has=u,r.prototype.set=c,t.exports=r},function(t,e){function n(t,e){for(var n=-1,r=null==t?0:t.length;++n<r;)if(e(t[n],n,t))return!0;return!1}t.exports=n},function(t,e,n){function r(t,e){e=i(e,t);for(var n=0,r=e.length;null!=t&&n<r;)t=t[o(e[n++])];return n&&n==r?t:void 0}var i=n(175),o=n(76);t.exports=r},function(t,e,n){function r(t,e,n,s,a){return t===e||(null==t||null==e||!o(t)&&!o(e)?t!==t&&e!==e:i(t,e,n,s,r,a))}var i=n(400),o=n(52);t.exports=r},function(t,e,n){function r(t,e){return i(t)?t:o(t,e)?[t]:s(a(t))}var i=n(8),o=n(117),s=n(468),a=n(53);t.exports=r},function(t,e,n){function r(t,e,n,r,c,l){var h=n&a,f=t.length,p=e.length;if(f!=p&&!(h&&p>f))return!1;var d=l.get(t);if(d&&l.get(e))return d==e;var m=-1,v=!0,y=n&u?new i:void 0;for(l.set(t,e),l.set(e,t);++m<f;){var g=t[m],x=e[m];if(r)var b=h?r(x,g,m,e,t,l):r(g,x,m,t,e,l);if(void 0!==b){if(b)continue;v=!1;break}if(y){if(!o(e,function(t,e){if(!s(y,e)&&(g===t||c(g,t,n,r,l)))return y.push(e)})){v=!1;break}}else if(g!==x&&!c(g,x,n,r,l)){v=!1;break}}return l.delete(t),l.delete(e),v}var i=n(383),o=n(172),s=n(415),a=1,u=2;t.exports=r},function(t,e,n){(function(e){var n=\"object\"==typeof e&&e&&e.Object===Object&&e;t.exports=n}).call(e,n(12))},function(t,e){function n(t){return r.test(t)}var r=RegExp(\"[\\\\u200d\\\\ud800-\\\\udfff\\\\u0300-\\\\u036f\\\\ufe20-\\\\ufe2f\\\\u20d0-\\\\u20ff\\\\ufe0e\\\\ufe0f]\");t.exports=n},function(t,e,n){function r(t){return t===t&&!i(t)}var i=n(51);t.exports=r},function(t,e){function n(t,e){return function(n){return null!=n&&(n[t]===e&&(void 0!==e||t in Object(n)))}}t.exports=n},function(t,e){function n(t){if(null!=t){try{return i.call(t)}catch(t){}try{return t+\"\"}catch(t){}}return\"\"}var r=Function.prototype,i=r.toString;t.exports=n},function(t,e,n){var r=n(399),i=n(52),o=Object.prototype,s=o.hasOwnProperty,a=o.propertyIsEnumerable,u=r(function(){return arguments}())?r:function(t){return i(t)&&s.call(t,\"callee\")&&!a.call(t,\"callee\")};t.exports=u},function(t,e,n){(function(t){var r=n(7),i=n(482),o=\"object\"==typeof e&&e&&!e.nodeType&&e,s=o&&\"object\"==typeof t&&t&&!t.nodeType&&t,a=s&&s.exports===o,u=a?r.Buffer:void 0,c=u?u.isBuffer:void 0,l=c||i;t.exports=l}).call(e,n(203)(t))},function(t,e,n){function r(t){if(!o(t))return!1;var e=i(t);return e==a||e==u||e==s||e==c}var i=n(50),o=n(51),s=\"[object AsyncFunction]\",a=\"[object Function]\",u=\"[object GeneratorFunction]\",c=\"[object Proxy]\";t.exports=r},function(t,e,n){var r=n(403),i=n(414),o=n(456),s=o&&o.isTypedArray,a=s?i(s):r;t.exports=a},function(t,e,n){function r(t,e){if(\"function\"!=typeof t||null!=e&&\"function\"!=typeof e)throw new TypeError(o);var n=function(){var r=arguments,i=e?e.apply(this,r):r[0],o=n.cache;if(o.has(i))return o.get(i);var s=t.apply(this,r);return n.cache=o.set(i,s)||o,s};return n.cache=new(r.Cache||i),n}var i=n(114),o=\"Expected a function\";r.Cache=i,t.exports=r},function(t,e,n){var r=n(420),i=r(\"toUpperCase\");t.exports=i},function(t,e,n){\"use strict\";var r=n(20);t.exports=function(t,e,n){var i;return isNaN(t)?(i=e,i>=0?n&&i?i-1:i:1):!1!==t&&r(t)}},function(t,e,n){t.exports=n(506)()},function(t,e,n){\"use strict\";t.exports=\"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\"},function(t,e,n){\"use strict\";function r(t,e,n){this.props=t,this.context=e,this.refs=c,this.updater=n||u}function i(t,e,n){this.props=t,this.context=e,this.refs=c,this.updater=n||u}function o(){}var s=n(82),a=n(54),u=n(194),c=(n(195),n(165));n(21),n(518);r.prototype.isReactComponent={},r.prototype.setState=function(t,e){\"object\"!=typeof t&&\"function\"!=typeof t&&null!=t&&s(\"85\"),this.updater.enqueueSetState(this,t),e&&this.updater.enqueueCallback(this,e,\"setState\")},r.prototype.forceUpdate=function(t){this.updater.enqueueForceUpdate(this),t&&this.updater.enqueueCallback(this,t,\"forceUpdate\")};o.prototype=r.prototype,i.prototype=new o,i.prototype.constructor=i,a(i.prototype,r.prototype),i.prototype.isPureReactComponent=!0,t.exports={Component:r,PureComponent:i}},function(t,e,n){\"use strict\";var r={current:null};t.exports=r},function(t,e,n){\"use strict\";var r=\"function\"==typeof Symbol&&Symbol.for&&Symbol.for(\"react.element\")||60103;t.exports=r},function(t,e,n){\"use strict\";var r=(n(69),{isMounted:function(t){return!1},enqueueCallback:function(t,e){},enqueueForceUpdate:function(t){},enqueueReplaceState:function(t,e){},enqueueSetState:function(t,e){}});t.exports=r},function(t,e,n){\"use strict\";var r=!1;t.exports=r},function(t,e,n){\"use strict\";t.exports=n(511)},function(t,e,n){\"use strict\";(function(e,r){function i(t){return N.from(t)}function o(t){return N.isBuffer(t)||t instanceof L}function s(t,e,n){if(\"function\"==typeof t.prependListener)return t.prependListener(e,n);t._events&&t._events[e]?B(t._events[e])?t._events[e].unshift(n):t._events[e]=[n,t._events[e]]:t.on(e,n)}function a(t,e){M=M||n(23),t=t||{};var r=e instanceof M;this.objectMode=!!t.objectMode,r&&(this.objectMode=this.objectMode||!!t.readableObjectMode);var i=t.highWaterMark,o=t.readableHighWaterMark,s=this.objectMode?16:16384;this.highWaterMark=i||0===i?i:r&&(o||0===o)?o:s,this.highWaterMark=Math.floor(this.highWaterMark),this.buffer=new X,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.destroyed=!1,this.defaultEncoding=t.defaultEncoding||\"utf8\",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,t.encoding&&(J||(J=n(201).StringDecoder),this.decoder=new J(t.encoding),this.encoding=t.encoding)}function u(t){if(M=M||n(23),!(this instanceof u))return new u(t);this._readableState=new a(t,this),this.readable=!0,t&&(\"function\"==typeof t.read&&(this._read=t.read),\"function\"==typeof t.destroy&&(this._destroy=t.destroy)),j.call(this)}function c(t,e,n,r,o){var s=t._readableState;if(null===e)s.reading=!1,m(t,s);else{var a;o||(a=h(s,e)),a?t.emit(\"error\",a):s.objectMode||e&&e.length>0?(\"string\"==typeof e||s.objectMode||Object.getPrototypeOf(e)===N.prototype||(e=i(e)),r?s.endEmitted?t.emit(\"error\",new Error(\"stream.unshift() after end event\")):l(t,s,e,!0):s.ended?t.emit(\"error\",new Error(\"stream.push() after EOF\")):(s.reading=!1,s.decoder&&!n?(e=s.decoder.write(e),s.objectMode||0!==e.length?l(t,s,e,!1):g(t,s)):l(t,s,e,!1))):r||(s.reading=!1)}return f(s)}function l(t,e,n,r){e.flowing&&0===e.length&&!e.sync?(t.emit(\"data\",n),t.read(0)):(e.length+=e.objectMode?1:n.length,r?e.buffer.unshift(n):e.buffer.push(n),e.needReadable&&v(t)),g(t,e)}function h(t,e){var n;return o(e)||\"string\"==typeof e||void 0===e||t.objectMode||(n=new TypeError(\"Invalid non-string/buffer chunk\")),n}function f(t){return!t.ended&&(t.needReadable||t.length<t.highWaterMark||0===t.length)}function p(t){return t>=W?t=W:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}function d(t,e){return t<=0||0===e.length&&e.ended?0:e.objectMode?1:t!==t?e.flowing&&e.length?e.buffer.head.data.length:e.length:(t>e.highWaterMark&&(e.highWaterMark=p(t)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0))}function m(t,e){if(!e.ended){if(e.decoder){var n=e.decoder.end();n&&n.length&&(e.buffer.push(n),e.length+=e.objectMode?1:n.length)}e.ended=!0,v(t)}}function v(t){var e=t._readableState;e.needReadable=!1,e.emittedReadable||(U(\"emitReadable\",e.flowing),e.emittedReadable=!0,e.sync?O.nextTick(y,t):y(t))}function y(t){U(\"emit readable\"),t.emit(\"readable\"),_(t)}function g(t,e){e.readingMore||(e.readingMore=!0,O.nextTick(x,t,e))}function x(t,e){for(var n=e.length;!e.reading&&!e.flowing&&!e.ended&&e.length<e.highWaterMark&&(U(\"maybeReadMore read 0\"),t.read(0),n!==e.length);)n=e.length;e.readingMore=!1}function b(t){return function(){var e=t._readableState;U(\"pipeOnDrain\",e.awaitDrain),e.awaitDrain&&e.awaitDrain--,0===e.awaitDrain&&P(t,\"data\")&&(e.flowing=!0,_(t))}}function D(t){U(\"readable nexttick read 0\"),t.read(0)}function E(t,e){e.resumeScheduled||(e.resumeScheduled=!0,O.nextTick(w,t,e))}function w(t,e){e.reading||(U(\"resume read 0\"),t.read(0)),e.resumeScheduled=!1,e.awaitDrain=0,t.emit(\"resume\"),_(t),e.flowing&&!e.reading&&t.read(0)}function _(t){var e=t._readableState;for(U(\"flow\",e.flowing);e.flowing&&null!==t.read(););}function S(t,e){if(0===e.length)return null;var n;return e.objectMode?n=e.buffer.shift():!t||t>=e.length?(n=e.decoder?e.buffer.join(\"\"):1===e.buffer.length?e.buffer.head.data:e.buffer.concat(e.length),e.buffer.clear()):n=A(t,e.buffer,e.decoder),n}function A(t,e,n){var r;return t<e.head.data.length?(r=e.head.data.slice(0,t),e.head.data=e.head.data.slice(t)):r=t===e.head.data.length?e.shift():n?C(t,e):k(t,e),r}function C(t,e){var n=e.head,r=1,i=n.data;for(t-=i.length;n=n.next;){var o=n.data,s=t>o.length?o.length:t;if(s===o.length?i+=o:i+=o.slice(0,t),0===(t-=s)){s===o.length?(++r,n.next?e.head=n.next:e.head=e.tail=null):(e.head=n,n.data=o.slice(s));break}++r}return e.length-=r,i}function k(t,e){var n=N.allocUnsafe(t),r=e.head,i=1;for(r.data.copy(n),t-=r.data.length;r=r.next;){var o=r.data,s=t>o.length?o.length:t;if(o.copy(n,n.length-t,0,s),0===(t-=s)){s===o.length?(++i,r.next?e.head=r.next:e.head=e.tail=null):(e.head=r,r.data=o.slice(s));break}++i}return e.length-=i,n}function F(t){var e=t._readableState;if(e.length>0)throw new Error('\"endReadable()\" called on non-empty stream');e.endEmitted||(e.ended=!0,O.nextTick(T,e,t))}function T(t,e){t.endEmitted||0!==t.length||(t.endEmitted=!0,e.readable=!1,e.emit(\"end\"))}function I(t,e){for(var n=0,r=t.length;n<r;n++)if(t[n]===e)return n;return-1}var O=n(81);t.exports=u;var M,B=n(168);u.ReadableState=a;var P=(n(111).EventEmitter,function(t,e){return t.listeners(e).length}),j=n(200),N=n(83).Buffer,L=e.Uint8Array||function(){},R=n(46);R.inherits=n(32);var z=n(535),U=void 0;U=z&&z.debuglog?z.debuglog(\"stream\"):function(){};var J,X=n(523),q=n(199);R.inherits(u,j);var K=[\"error\",\"close\",\"destroy\",\"pause\",\"resume\"];Object.defineProperty(u.prototype,\"destroyed\",{get:function(){return void 0!==this._readableState&&this._readableState.destroyed},set:function(t){this._readableState&&(this._readableState.destroyed=t)}}),u.prototype.destroy=q.destroy,u.prototype._undestroy=q.undestroy,u.prototype._destroy=function(t,e){this.push(null),e(t)},u.prototype.push=function(t,e){var n,r=this._readableState;return r.objectMode?n=!0:\"string\"==typeof t&&(e=e||r.defaultEncoding,e!==r.encoding&&(t=N.from(t,e),e=\"\"),n=!0),c(this,t,e,!1,n)},u.prototype.unshift=function(t){return c(this,t,null,!0,!1)},u.prototype.isPaused=function(){return!1===this._readableState.flowing},u.prototype.setEncoding=function(t){return J||(J=n(201).StringDecoder),this._readableState.decoder=new J(t),this._readableState.encoding=t,this};var W=8388608;u.prototype.read=function(t){U(\"read\",t),t=parseInt(t,10);var e=this._readableState,n=t;if(0!==t&&(e.emittedReadable=!1),0===t&&e.needReadable&&(e.length>=e.highWaterMark||e.ended))return U(\"read: emitReadable\",e.length,e.ended),0===e.length&&e.ended?F(this):v(this),null;if(0===(t=d(t,e))&&e.ended)return 0===e.length&&F(this),null;var r=e.needReadable;U(\"need readable\",r),(0===e.length||e.length-t<e.highWaterMark)&&(r=!0,U(\"length less than watermark\",r)),e.ended||e.reading?(r=!1,U(\"reading or ended\",r)):r&&(U(\"do read\"),e.reading=!0,e.sync=!0,0===e.length&&(e.needReadable=!0),this._read(e.highWaterMark),e.sync=!1,e.reading||(t=d(n,e)));var i;return i=t>0?S(t,e):null,null===i?(e.needReadable=!0,t=0):e.length-=t,0===e.length&&(e.ended||(e.needReadable=!0),n!==t&&e.ended&&F(this)),null!==i&&this.emit(\"data\",i),i},u.prototype._read=function(t){this.emit(\"error\",new Error(\"_read() is not implemented\"))},u.prototype.pipe=function(t,e){function n(t,e){U(\"onunpipe\"),t===f&&e&&!1===e.hasUnpiped&&(e.hasUnpiped=!0,o())}function i(){U(\"onend\"),t.end()}function o(){U(\"cleanup\"),t.removeListener(\"close\",c),t.removeListener(\"finish\",l),t.removeListener(\"drain\",v),t.removeListener(\"error\",u),t.removeListener(\"unpipe\",n),f.removeListener(\"end\",i),f.removeListener(\"end\",h),f.removeListener(\"data\",a),y=!0,!p.awaitDrain||t._writableState&&!t._writableState.needDrain||v()}function a(e){U(\"ondata\"),g=!1,!1!==t.write(e)||g||((1===p.pipesCount&&p.pipes===t||p.pipesCount>1&&-1!==I(p.pipes,t))&&!y&&(U(\"false write response, pause\",f._readableState.awaitDrain),f._readableState.awaitDrain++,g=!0),f.pause())}function u(e){U(\"onerror\",e),h(),t.removeListener(\"error\",u),0===P(t,\"error\")&&t.emit(\"error\",e)}function c(){t.removeListener(\"finish\",l),h()}function l(){U(\"onfinish\"),t.removeListener(\"close\",c),h()}function h(){U(\"unpipe\"),f.unpipe(t)}var f=this,p=this._readableState;switch(p.pipesCount){case 0:p.pipes=t;break;case 1:p.pipes=[p.pipes,t];break;default:p.pipes.push(t)}p.pipesCount+=1,U(\"pipe count=%d opts=%j\",p.pipesCount,e);var d=(!e||!1!==e.end)&&t!==r.stdout&&t!==r.stderr,m=d?i:h;p.endEmitted?O.nextTick(m):f.once(\"end\",m),t.on(\"unpipe\",n);var v=b(f);t.on(\"drain\",v);var y=!1,g=!1;return f.on(\"data\",a),s(t,\"error\",u),t.once(\"close\",c),t.once(\"finish\",l),t.emit(\"pipe\",f),p.flowing||(U(\"pipe resume\"),f.resume()),t},u.prototype.unpipe=function(t){var e=this._readableState,n={hasUnpiped:!1};if(0===e.pipesCount)return this;if(1===e.pipesCount)return t&&t!==e.pipes?this:(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit(\"unpipe\",this,n),this);if(!t){var r=e.pipes,i=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var o=0;o<i;o++)r[o].emit(\"unpipe\",this,n);return this}var s=I(e.pipes,t);return-1===s?this:(e.pipes.splice(s,1),e.pipesCount-=1,1===e.pipesCount&&(e.pipes=e.pipes[0]),t.emit(\"unpipe\",this,n),this)},u.prototype.on=function(t,e){var n=j.prototype.on.call(this,t,e);if(\"data\"===t)!1!==this._readableState.flowing&&this.resume();else if(\"readable\"===t){var r=this._readableState;r.endEmitted||r.readableListening||(r.readableListening=r.needReadable=!0,r.emittedReadable=!1,r.reading?r.length&&v(this):O.nextTick(D,this))}return n},u.prototype.addListener=u.prototype.on,u.prototype.resume=function(){var t=this._readableState;return t.flowing||(U(\"resume\"),t.flowing=!0,E(this,t)),this},u.prototype.pause=function(){return U(\"call pause flowing=%j\",this._readableState.flowing),!1!==this._readableState.flowing&&(U(\"pause\"),this._readableState.flowing=!1,this.emit(\"pause\")),this},u.prototype.wrap=function(t){var e=this,n=this._readableState,r=!1;t.on(\"end\",function(){if(U(\"wrapped end\"),n.decoder&&!n.ended){var t=n.decoder.end();t&&t.length&&e.push(t)}e.push(null)}),t.on(\"data\",function(i){if(U(\"wrapped data\"),n.decoder&&(i=n.decoder.write(i)),(!n.objectMode||null!==i&&void 0!==i)&&(n.objectMode||i&&i.length)){e.push(i)||(r=!0,t.pause())}});for(var i in t)void 0===this[i]&&\"function\"==typeof t[i]&&(this[i]=function(e){return function(){return t[e].apply(t,arguments)}}(i));for(var o=0;o<K.length;o++)t.on(K[o],this.emit.bind(this,K[o]));return this._read=function(e){U(\"wrapped _read\",e),r&&(r=!1,t.resume())},this},u._fromList=S}).call(e,n(12),n(36))},function(t,e,n){\"use strict\";function r(t,e){var n=this._transformState;n.transforming=!1;var r=n.writecb;if(!r)return this.emit(\"error\",new Error(\"write callback called multiple times\"));n.writechunk=null,n.writecb=null,null!=e&&this.push(e),r(t);var i=this._readableState;i.reading=!1,(i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}function i(t){if(!(this instanceof i))return new i(t);a.call(this,t),this._transformState={afterTransform:r.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,t&&(\"function\"==typeof t.transform&&(this._transform=t.transform),\"function\"==typeof t.flush&&(this._flush=t.flush)),this.on(\"prefinish\",o)}function o(){var t=this;\"function\"==typeof this._flush?this._flush(function(e,n){s(t,e,n)}):s(this,null,null)}function s(t,e,n){if(e)return t.emit(\"error\",e);if(null!=n&&t.push(n),t._writableState.length)throw new Error(\"Calling transform done when ws.length != 0\");if(t._transformState.transforming)throw new Error(\"Calling transform done when still transforming\");return t.push(null)}t.exports=i;var a=n(23),u=n(46);u.inherits=n(32),u.inherits(i,a),i.prototype.push=function(t,e){return this._transformState.needTransform=!1,a.prototype.push.call(this,t,e)},i.prototype._transform=function(t,e,n){throw new Error(\"_transform() is not implemented\")},i.prototype._write=function(t,e,n){var r=this._transformState;if(r.writecb=n,r.writechunk=t,r.writeencoding=e,!r.transforming){var i=this._readableState;(r.needTransform||i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}},i.prototype._read=function(t){var e=this._transformState;null!==e.writechunk&&e.writecb&&!e.transforming?(e.transforming=!0,this._transform(e.writechunk,e.writeencoding,e.afterTransform)):e.needTransform=!0},i.prototype._destroy=function(t,e){var n=this;a.prototype._destroy.call(this,t,function(t){e(t),n.emit(\"close\")})}},function(t,e,n){\"use strict\";function r(t,e){var n=this,r=this._readableState&&this._readableState.destroyed,i=this._writableState&&this._writableState.destroyed;return r||i?(e?e(t):!t||this._writableState&&this._writableState.errorEmitted||s.nextTick(o,this,t),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(t||null,function(t){!e&&t?(s.nextTick(o,n,t),n._writableState&&(n._writableState.errorEmitted=!0)):e&&e(t)}),this)}function i(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}function o(t,e){t.emit(\"error\",e)}var s=n(81);t.exports={destroy:r,undestroy:i}},function(t,e,n){t.exports=n(111).EventEmitter},function(t,e,n){\"use strict\";function r(t){if(!t)return\"utf8\";for(var e;;)switch(t){case\"utf8\":case\"utf-8\":return\"utf8\";case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return\"utf16le\";case\"latin1\":case\"binary\":return\"latin1\";case\"base64\":case\"ascii\":case\"hex\":return t;default:if(e)return;t=(\"\"+t).toLowerCase(),e=!0}}function i(t){var e=r(t);if(\"string\"!=typeof e&&(g.isEncoding===x||!x(t)))throw new Error(\"Unknown encoding: \"+t);return e||t}function o(t){this.encoding=i(t);var e;switch(this.encoding){case\"utf16le\":this.text=f,this.end=p,e=4;break;case\"utf8\":this.fillLast=c,e=4;break;case\"base64\":this.text=d,this.end=m,e=3;break;default:return this.write=v,void(this.end=y)}this.lastNeed=0,this.lastTotal=0,this.lastChar=g.allocUnsafe(e)}function s(t){return t<=127?0:t>>5==6?2:t>>4==14?3:t>>3==30?4:-1}function a(t,e,n){var r=e.length-1;if(r<n)return 0;var i=s(e[r]);return i>=0?(i>0&&(t.lastNeed=i-1),i):--r<n?0:(i=s(e[r]))>=0?(i>0&&(t.lastNeed=i-2),i):--r<n?0:(i=s(e[r]),i>=0?(i>0&&(2===i?i=0:t.lastNeed=i-3),i):0)}function u(t,e,n){if(128!=(192&e[0]))return t.lastNeed=0,\"�\".repeat(n);if(t.lastNeed>1&&e.length>1){if(128!=(192&e[1]))return t.lastNeed=1,\"�\".repeat(n+1);if(t.lastNeed>2&&e.length>2&&128!=(192&e[2]))return t.lastNeed=2,\"�\".repeat(n+2)}}function c(t){var e=this.lastTotal-this.lastNeed,n=u(this,t,e);return void 0!==n?n:this.lastNeed<=t.length?(t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(t.copy(this.lastChar,e,0,t.length),void(this.lastNeed-=t.length))}function l(t,e){var n=a(this,t,e);if(!this.lastNeed)return t.toString(\"utf8\",e);this.lastTotal=n;var r=t.length-(n-this.lastNeed);return t.copy(this.lastChar,0,r),t.toString(\"utf8\",e,r)}function h(t){var e=t&&t.length?this.write(t):\"\";return this.lastNeed?e+\"�\".repeat(this.lastTotal-this.lastNeed):e}function f(t,e){if((t.length-e)%2==0){var n=t.toString(\"utf16le\",e);if(n){var r=n.charCodeAt(n.length-1);if(r>=55296&&r<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],n.slice(0,-1)}return n}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString(\"utf16le\",e,t.length-1)}function p(t){var e=t&&t.length?this.write(t):\"\";if(this.lastNeed){var n=this.lastTotal-this.lastNeed;return e+this.lastChar.toString(\"utf16le\",0,n)}return e}function d(t,e){var n=(t.length-e)%3;return 0===n?t.toString(\"base64\",e):(this.lastNeed=3-n,this.lastTotal=3,1===n?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString(\"base64\",e,t.length-n))}function m(t){var e=t&&t.length?this.write(t):\"\";return this.lastNeed?e+this.lastChar.toString(\"base64\",0,3-this.lastNeed):e}function v(t){return t.toString(this.encoding)}function y(t){return t&&t.length?this.write(t):\"\"}var g=n(83).Buffer,x=g.isEncoding||function(t){switch((t=\"\"+t)&&t.toLowerCase()){case\"hex\":case\"utf8\":case\"utf-8\":case\"ascii\":case\"binary\":case\"base64\":case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":case\"raw\":return!0;default:return!1}};e.StringDecoder=o,o.prototype.write=function(t){if(0===t.length)return\"\";var e,n;if(this.lastNeed){if(void 0===(e=this.fillLast(t)))return\"\";n=this.lastNeed,this.lastNeed=0}else n=0;return n<t.length?e?e+this.text(t,n):this.text(t,n):e||\"\"},o.prototype.end=h,o.prototype.text=l,o.prototype.fillLast=function(t){if(this.lastNeed<=t.length)return t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,t.length),this.lastNeed-=t.length}},function(t,e,n){(function(t){function r(t,e){this._id=t,this._clearFn=e}var i=Function.prototype.apply;e.setTimeout=function(){return new r(i.call(setTimeout,window,arguments),clearTimeout)},e.setInterval=function(){return new r(i.call(setInterval,window,arguments),clearInterval)},e.clearTimeout=e.clearInterval=function(t){t&&t.close()},r.prototype.unref=r.prototype.ref=function(){},r.prototype.close=function(){this._clearFn.call(window,this._id)},e.enroll=function(t,e){clearTimeout(t._idleTimeoutId),t._idleTimeout=e},e.unenroll=function(t){clearTimeout(t._idleTimeoutId),t._idleTimeout=-1},e._unrefActive=e.active=function(t){clearTimeout(t._idleTimeoutId);var e=t._idleTimeout;e>=0&&(t._idleTimeoutId=setTimeout(function(){t._onTimeout&&t._onTimeout()},e))},n(527),e.setImmediate=\"undefined\"!=typeof self&&self.setImmediate||void 0!==t&&t.setImmediate||this&&this.setImmediate,e.clearImmediate=\"undefined\"!=typeof self&&self.clearImmediate||void 0!==t&&t.clearImmediate||this&&this.clearImmediate}).call(e,n(12))},function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children||(t.children=[]),Object.defineProperty(t,\"loaded\",{enumerable:!0,get:function(){return t.l}}),Object.defineProperty(t,\"id\",{enumerable:!0,get:function(){return t.i}}),t.webpackPolyfill=1),t}},function(t,e,n){\"use strict\";var r=n(124);void 0===function(t){return t&&t.__esModule?t:{default:t}}(r).default.Promise&&n(225),String.prototype.startsWith||n(224)},function(t,e,n){\"use strict\";function r(t){return t&&t.__esModule?t:{default:t}}var i=n(213),o=r(i),s=n(211),a=r(s),u=n(207),c=r(u),l=[a.default,c.default,function(){return{components:{StandaloneLayout:o.default}}}];t.exports=l},function(t,e,n){\"use strict\";function r(t){return u.indexOf(t[0])>-1}function i(t){var e,n,i=t.replace(s,\"\");return r(i)?i:(n=i.match(a))?(e=n[0],o.test(e)?\"about:blank\":i):\"about:blank\"}var o=/^(%20|\\s)*(javascript|data)/im,s=/[^\\x20-\\x7E]/gim,a=/^([^:]+):/gm,u=[\".\",\"/\"];t.exports={sanitizeUrl:i}},function(t,e,n){\"use strict\";function r(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e}function i(t){return t&&t.__esModule?t:{default:t}}function o(){return{statePlugins:{spec:{actions:y,selectors:g},configs:{reducers:m.default,actions:h,selectors:p}}}}Object.defineProperty(e,\"__esModule\",{value:!0}),e.default=o;var s=n(358),a=i(s),u=n(508),c=i(u),l=n(122),h=r(l),f=n(209),p=r(f),d=n(208),m=i(d),v=function(t,e){try{return a.default.safeLoad(t)}catch(t){return e&&e.errActions.newThrownErr(new Error(t)),{}}},y={downloadConfig:function(t){return function(e){return(0,e.fn.fetch)(t)}},getConfigByUrl:function(t,e){return function(n){function r(n){n instanceof Error||n.status>=400?(i.updateLoadingStatus(\"failedConfig\"),i.updateLoadingStatus(\"failedConfig\"),i.updateUrl(\"\"),console.error(n.statusText+\" \"+t),e(null)):e(v(n.text))}var i=n.specActions;if(t)return i.downloadConfig(t).then(r,r)}}},g={getLocalConfig:function(){return v(c.default)}}},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var r,i=n(129),o=function(t){return t&&t.__esModule?t:{default:t}}(i),s=n(166),a=n(122);e.default=(r={},(0,o.default)(r,a.UPDATE_CONFIGS,function(t,e){return t.merge((0,s.fromJS)(e.payload))}),(0,o.default)(r,a.TOGGLE_CONFIGS,function(t,e){var n=e.payload,r=t.get(n);return t.set(n,!r)}),r)},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});e.get=function(t,e){return t.getIn(Array.isArray(e)?e:[e])}},function(t,e,n){\"use strict\";function r(t){return t&&t.__esModule?t:{default:t}}function i(t,e){var n=p(t,e);if(n)return(0,a.default)(n,{declaration:!0,indent:\"\\t\"})}Object.defineProperty(e,\"__esModule\",{value:!0}),e.memoizedSampleFromSchema=e.memoizedCreateXMLExample=e.sampleXmlFromSchema=e.inferSchema=e.sampleFromSchema=void 0,e.createXMLExample=i;var o=n(123),s=n(534),a=r(s),u=n(494),c=r(u),l={string:function(){return\"string\"},string_email:function(){return\"user@example.com\"},\"string_date-time\":function(){return(new Date).toISOString()},number:function(){return 0},number_float:function(){return 0},integer:function(){return 0},boolean:function(t){return\"boolean\"!=typeof t.default||t.default}},h=function(t){t=(0,o.objectify)(t);var e=t,n=e.type,r=e.format,i=l[n+\"_\"+r]||l[n];return(0,o.isFunc)(i)?i(t):\"Unknown Type: \"+t.type},f=e.sampleFromSchema=function t(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=(0,o.objectify)(e),i=r.type,s=r.example,a=r.properties,u=r.additionalProperties,c=r.items,l=n.includeReadOnly,f=n.includeWriteOnly;if(s&&s.$$ref&&delete s.$$ref,void 0!==s)return s;if(!i)if(a)i=\"object\";else{if(!c)return;i=\"array\"}if(\"object\"===i){var p=(0,o.objectify)(a),d={};for(var m in p)p[m].readOnly&&!l||p[m].writeOnly&&!f||(d[m]=t(p[m],n));if(!0===u)d.additionalProp1={};else if(u)for(var v=(0,o.objectify)(u),y=t(v,n),g=1;g<4;g++)d[\"additionalProp\"+g]=y;return d}return\"array\"===i?Array.isArray(c.anyOf)?c.anyOf.map(function(e){return t(e,n)}):Array.isArray(c.oneOf)?c.oneOf.map(function(e){return t(e,n)}):[t(c,n)]:e.enum?e.default?e.default:(0,o.normalizeArray)(e.enum)[0]:\"file\"!==i?h(e):void 0},p=(e.inferSchema=function(t){return t.schema&&(t=t.schema),t.properties&&(t.type=\"object\"),t},e.sampleXmlFromSchema=function t(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=(0,o.objectify)(e),i=r.type,s=r.properties,a=r.additionalProperties,u=r.items,c=r.example,l=n.includeReadOnly,f=n.includeWriteOnly,p=r.default,d={},m={},v=e.xml,y=v.name,g=v.prefix,x=v.namespace,b=r.enum,D=void 0,E=void 0;if(!i)if(s||a)i=\"object\";else{if(!u)return;i=\"array\"}if(y=y||\"notagname\",D=(g?g+\":\":\"\")+y,x){m[g?\"xmlns:\"+g:\"xmlns\"]=x}if(\"array\"===i&&u){if(u.xml=u.xml||v||{},u.xml.name=u.xml.name||v.name,v.wrapped)return d[D]=[],Array.isArray(c)?c.forEach(function(e){u.example=e,d[D].push(t(u,n))}):Array.isArray(p)?p.forEach(function(e){u.default=e,d[D].push(t(u,n))}):d[D]=[t(u,n)],m&&d[D].push({_attr:m}),d;var w=[];return Array.isArray(c)?(c.forEach(function(e){u.example=e,w.push(t(u,n))}),w):Array.isArray(p)?(p.forEach(function(e){u.default=e,w.push(t(u,n))}),w):t(u,n)}if(\"object\"===i){var _=(0,o.objectify)(s);d[D]=[],c=c||{};for(var S in _)if(_.hasOwnProperty(S)&&(!_[S].readOnly||l)&&(!_[S].writeOnly||f))if(_[S].xml=_[S].xml||{},_[S].xml.attribute){var A=Array.isArray(_[S].enum)&&_[S].enum[0],C=_[S].example,k=_[S].default;m[_[S].xml.name||S]=void 0!==C&&C||void 0!==c[S]&&c[S]||void 0!==k&&k||A||h(_[S])}else{_[S].xml.name=_[S].xml.name||S,_[S].example=void 0!==_[S].example?_[S].example:c[S];var F=t(_[S]);Array.isArray(F)?d[D]=d[D].concat(F):d[D].push(F)}return!0===a?d[D].push({additionalProp:\"Anything can be here\"}):a&&d[D].push({additionalProp:h(a)}),m&&d[D].push({_attr:m}),d}return E=void 0!==c?c:void 0!==p?p:Array.isArray(b)?b[0]:h(e),d[D]=m?[{_attr:m},E]:E,d});e.memoizedCreateXMLExample=(0,c.default)(i),e.memoizedSampleFromSchema=(0,c.default)(f)},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.default=function(){return{components:{Topbar:i.default}}};var r=n(212),i=function(t){return t&&t.__esModule?t:{default:t}}(r)},function(t,e,n){\"use strict\";function r(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var i=n(126),o=r(i),s=n(127),a=r(s),u=n(128),c=r(u),l=n(131),h=r(l),f=n(130),p=r(f),d=n(196),m=r(d),v=n(189),y=r(v),g=n(531),x=r(g),b=n(123),D=function(t){function e(t,n){(0,a.default)(this,e);var r=(0,h.default)(this,(e.__proto__||(0,o.default)(e)).call(this,t,n));return r.onUrlChange=function(t){var e=t.target.value;r.setState({url:e})},r.loadSpec=function(t){r.props.specActions.updateUrl(t),r.props.specActions.download(t)},r.onUrlSelect=function(t){var e=t.target.value||t.target.href;r.loadSpec(e),r.setSelectedUrl(e),t.preventDefault()},r.downloadUrl=function(t){r.loadSpec(r.state.url),t.preventDefault()},r.setSearch=function(t){var e=(0,b.parseSearch)();e[\"urls.primaryName\"]=t.name;var n=window.location.protocol+\"//\"+window.location.host+window.location.pathname;window&&window.history&&window.history.pushState&&window.history.replaceState(null,\"\",n+\"?\"+(0,b.serializeSearch)(e))},r.setSelectedUrl=function(t){var e=r.props.getConfigs(),n=e.urls||[];n&&n.length&&t&&n.forEach(function(e,n){e.url===t&&(r.setState({selectedIndex:n}),r.setSearch(e))})},r.onFilterChange=function(t){var e=t.target.value;r.props.layoutActions.updateFilter(e)},r.state={url:t.specSelectors.url(),selectedIndex:0},r}return(0,p.default)(e,t),(0,c.default)(e,[{key:\"componentWillReceiveProps\",value:function(t){this.setState({url:t.specSelectors.url()})}},{key:\"componentWillMount\",value:function(){var t=this,e=this.props.getConfigs(),n=e.urls||[];if(n&&n.length){var r=e[\"urls.primaryName\"];r&&n.forEach(function(e,n){e.name===r&&t.setState({selectedIndex:n})})}}},{key:\"componentDidMount\",value:function(){var t=this.props.getConfigs().urls||[];t&&t.length&&this.loadSpec(t[this.state.selectedIndex].url)}},{key:\"render\",value:function(){var t=this.props,e=t.getComponent,n=t.specSelectors,r=t.getConfigs,i=e(\"Button\"),o=e(\"Link\"),s=\"loading\"===n.loadingStatus(),a=\"failed\"===n.loadingStatus(),u={};a&&(u.color=\"red\"),s&&(u.color=\"#aaa\");var c=r(),l=c.urls,h=[],f=null;if(l){var p=[];l.forEach(function(t,e){p.push(m.default.createElement(\"option\",{key:e,value:t.url},t.name))}),h.push(m.default.createElement(\"label\",{className:\"select-label\",htmlFor:\"select\"},m.default.createElement(\"span\",null,\"Select a spec\"),m.default.createElement(\"select\",{id:\"select\",disabled:s,onChange:this.onUrlSelect,value:l[this.state.selectedIndex].url},p)))}else f=this.downloadUrl,h.push(m.default.createElement(\"input\",{className:\"download-url-input\",type:\"text\",onChange:this.onUrlChange,value:this.state.url,disabled:s,style:u})),h.push(m.default.createElement(i,{className:\"download-url-button\",onClick:this.downloadUrl},\"Explore\"));return m.default.createElement(\"div\",{className:\"topbar\"},m.default.createElement(\"div\",{className:\"wrapper\"},m.default.createElement(\"div\",{className:\"topbar-wrapper\"},m.default.createElement(o,{href:\"#\"},m.default.createElement(\"img\",{height:\"30\",width:\"30\",src:x.default,alt:\"Swagger UI\"}),m.default.createElement(\"span\",null,\"swagger\")),m.default.createElement(\"form\",{className:\"download-url-wrapper\",onSubmit:f},h.map(function(t,e){return(0,d.cloneElement)(t,{key:e})})))))}}]),e}(m.default.Component);D.propTypes={layoutActions:y.default.object.isRequired},e.default=D,D.propTypes={specSelectors:y.default.object.isRequired,specActions:y.default.object.isRequired,getComponent:y.default.func.isRequired,getConfigs:y.default.func.isRequired}},function(t,e,n){\"use strict\";function r(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var i=n(126),o=r(i),s=n(127),a=r(s),u=n(128),c=r(u),l=n(131),h=r(l),f=n(130),p=r(f),d=n(196),m=r(d),v=n(189),y=r(v),g=function(t){function e(){return(0,a.default)(this,e),(0,h.default)(this,(e.__proto__||(0,o.default)(e)).apply(this,arguments))}return(0,p.default)(e,t),(0,c.default)(e,[{key:\"render\",value:function(){var t=this.props,e=t.getComponent,n=t.specSelectors,r=t.errSelectors,i=e(\"Container\"),o=e(\"Row\"),s=e(\"Col\"),a=e(\"errors\",!0),u=e(\"Topbar\",!0),c=e(\"BaseLayout\",!0),l=e(\"onlineValidatorBadge\",!0),h=n.loadingStatus(),f=r.lastError(),p=f?f.get(\"message\"):\"\";return m.default.createElement(i,{className:\"swagger-ui\"},u?m.default.createElement(u,null):null,\"loading\"===h&&m.default.createElement(\"div\",{className:\"info\"},m.default.createElement(\"div\",{className:\"loading-container\"},m.default.createElement(\"div\",{className:\"loading\"}))),\"failed\"===h&&m.default.createElement(\"div\",{className:\"info\"},m.default.createElement(\"div\",{className:\"loading-container\"},m.default.createElement(\"h4\",{className:\"title\"},\"Failed to load API definition.\"),m.default.createElement(a,null))),\"failedConfig\"===h&&m.default.createElement(\"div\",{className:\"info\",style:{maxWidth:\"880px\",marginLeft:\"auto\",marginRight:\"auto\",textAlign:\"center\"}},m.default.createElement(\"div\",{className:\"loading-container\"},m.default.createElement(\"h4\",{className:\"title\"},\"Failed to load remote configuration.\"),m.default.createElement(\"p\",null,p))),!h||\"success\"===h&&m.default.createElement(c,null),m.default.createElement(o,null,m.default.createElement(s,null,m.default.createElement(l,null))))}}]),e}(m.default.Component);g.propTypes={errSelectors:y.default.object.isRequired,errActions:y.default.object.isRequired,specActions:y.default.object.isRequired,specSelectors:y.default.object.isRequired,layoutSelectors:y.default.object.isRequired,layoutActions:y.default.object.isRequired,getComponent:y.default.func.isRequired},e.default=g},function(t,e,n){t.exports={default:n(227),__esModule:!0}},function(t,e,n){t.exports={default:n(228),__esModule:!0}},function(t,e,n){t.exports={default:n(229),__esModule:!0}},function(t,e,n){t.exports={default:n(230),__esModule:!0}},function(t,e,n){t.exports={default:n(233),__esModule:!0}},function(t,e,n){t.exports={default:n(234),__esModule:!0}},function(t,e,n){t.exports={default:n(235),__esModule:!0}},function(t,e,n){t.exports={default:n(236),__esModule:!0}},function(t,e,n){\"use strict\";function r(t){return t&&t.__esModule?t:{default:t}}e.__esModule=!0;var i=n(214),o=r(i),s=n(84),a=r(s);e.default=function(){function t(t,e){var n=[],r=!0,i=!1,o=void 0;try{for(var s,u=(0,a.default)(t);!(r=(s=u.next()).done)&&(n.push(s.value),!e||n.length!==e);r=!0);}catch(t){i=!0,o=t}finally{try{!r&&u.return&&u.return()}finally{if(i)throw o}}return n}return function(e,n){if(Array.isArray(e))return e;if((0,o.default)(Object(e)))return t(e,n);throw new TypeError(\"Invalid attempt to destructure non-iterable instance\")}}()},function(t,e,n){\"use strict\";function r(t){var e=t.length;if(e%4>0)throw new Error(\"Invalid string. Length must be a multiple of 4\");return\"=\"===t[e-2]?2:\"=\"===t[e-1]?1:0}function i(t){return 3*t.length/4-r(t)}function o(t){var e,n,i,o,s,a=t.length;o=r(t),s=new h(3*a/4-o),n=o>0?a-4:a;var u=0;for(e=0;e<n;e+=4)i=l[t.charCodeAt(e)]<<18|l[t.charCodeAt(e+1)]<<12|l[t.charCodeAt(e+2)]<<6|l[t.charCodeAt(e+3)],s[u++]=i>>16&255,s[u++]=i>>8&255,s[u++]=255&i;return 2===o?(i=l[t.charCodeAt(e)]<<2|l[t.charCodeAt(e+1)]>>4,s[u++]=255&i):1===o&&(i=l[t.charCodeAt(e)]<<10|l[t.charCodeAt(e+1)]<<4|l[t.charCodeAt(e+2)]>>2,s[u++]=i>>8&255,s[u++]=255&i),s}function s(t){return c[t>>18&63]+c[t>>12&63]+c[t>>6&63]+c[63&t]}function a(t,e,n){for(var r,i=[],o=e;o<n;o+=3)r=(t[o]<<16&16711680)+(t[o+1]<<8&65280)+(255&t[o+2]),i.push(s(r));return i.join(\"\")}function u(t){for(var e,n=t.length,r=n%3,i=\"\",o=[],s=0,u=n-r;s<u;s+=16383)o.push(a(t,s,s+16383>u?u:s+16383));return 1===r?(e=t[n-1],i+=c[e>>2],i+=c[e<<4&63],i+=\"==\"):2===r&&(e=(t[n-2]<<8)+t[n-1],i+=c[e>>10],i+=c[e>>4&63],i+=c[e<<2&63],i+=\"=\"),o.push(i),o.join(\"\")}e.byteLength=i,e.toByteArray=o,e.fromByteArray=u;for(var c=[],l=[],h=\"undefined\"!=typeof Uint8Array?Uint8Array:Array,f=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",p=0,d=f.length;p<d;++p)c[p]=f[p],l[f.charCodeAt(p)]=p;l[\"-\".charCodeAt(0)]=62,l[\"_\".charCodeAt(0)]=63},function(t,e,n){n(308),n(312),n(319),n(158),n(303),n(304),n(309),n(313),n(315),n(299),n(300),n(301),n(302),n(305),n(306),n(307),n(310),n(311),n(314),n(316),n(317),n(318),n(295),n(296),n(297),n(298),t.exports=n(18).String},function(t,e,n){n(293),n(158),n(322),n(294),n(320),n(321),t.exports=n(18).Promise},function(t,e,n){n(100),n(99),t.exports=n(254)},function(t,e,n){n(100),n(99),t.exports=n(255)},function(t,e,n){var r=n(2),i=r.JSON||(r.JSON={stringify:JSON.stringify});t.exports=function(t){return i.stringify.apply(i,arguments)}},function(t,e,n){n(257),t.exports=n(2).Object.assign},function(t,e,n){n(258);var r=n(2).Object;t.exports=function(t,e){return r.create(t,e)}},function(t,e,n){n(259);var r=n(2).Object;t.exports=function(t,e,n){return r.defineProperty(t,e,n)}},function(t,e,n){n(260),t.exports=n(2).Object.getPrototypeOf},function(t,e,n){n(261),t.exports=n(2).Object.keys},function(t,e,n){n(262),t.exports=n(2).Object.setPrototypeOf},function(t,e,n){n(264),n(263),n(265),n(266),t.exports=n(2).Symbol},function(t,e,n){n(99),n(100),t.exports=n(98).f(\"iterator\")},function(t,e){t.exports=function(t){if(\"function\"!=typeof t)throw TypeError(t+\" is not a function!\");return t}},function(t,e){t.exports=function(){}},function(t,e,n){var r=n(28),i=n(252),o=n(251);t.exports=function(t){return function(e,n,s){var a,u=r(e),c=i(u.length),l=o(s,c);if(t&&n!=n){for(;c>l;)if((a=u[l++])!=a)return!0}else for(;c>l;l++)if((t||l in u)&&u[l]===n)return t||l||0;return!t&&-1}}},function(t,e,n){var r=n(39),i=n(91),o=n(56);t.exports=function(t){var e=r(t),n=i.f;if(n)for(var s,a=n(t),u=o.f,c=0;a.length>c;)u.call(t,s=a[c++])&&e.push(s);return e}},function(t,e,n){var r=n(9).document;t.exports=r&&r.documentElement},function(t,e,n){var r=n(86);t.exports=Array.isArray||function(t){return\"Array\"==r(t)}},function(t,e,n){\"use strict\";var r=n(90),i=n(57),o=n(92),s={};n(26)(s,n(6)(\"iterator\"),function(){return this}),t.exports=function(t,e,n){t.prototype=r(s,{next:i(1,n)}),o(t,e+\" Iterator\")}},function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},function(t,e,n){var r=n(59)(\"meta\"),i=n(27),o=n(15),s=n(16).f,a=0,u=Object.isExtensible||function(){return!0},c=!n(25)(function(){return u(Object.preventExtensions({}))}),l=function(t){s(t,r,{value:{i:\"O\"+ ++a,w:{}}})},h=function(t,e){if(!i(t))return\"symbol\"==typeof t?t:(\"string\"==typeof t?\"S\":\"P\")+t;if(!o(t,r)){if(!u(t))return\"F\";if(!e)return\"E\";l(t)}return t[r].i},f=function(t,e){if(!o(t,r)){if(!u(t))return!0;if(!e)return!1;l(t)}return t[r].w},p=function(t){return c&&d.NEED&&u(t)&&!o(t,r)&&l(t),t},d=t.exports={KEY:r,NEED:!1,fastKey:h,getWeak:f,onFreeze:p}},function(t,e,n){\"use strict\";var r=n(39),i=n(91),o=n(56),s=n(58),a=n(136),u=Object.assign;t.exports=!u||n(25)(function(){var t={},e={},n=Symbol(),r=\"abcdefghijklmnopqrst\";return t[n]=7,r.split(\"\").forEach(function(t){e[t]=t}),7!=u({},t)[n]||Object.keys(u({},e)).join(\"\")!=r})?function(t,e){for(var n=s(t),u=arguments.length,c=1,l=i.f,h=o.f;u>c;)for(var f,p=a(arguments[c++]),d=l?r(p).concat(l(p)):r(p),m=d.length,v=0;m>v;)h.call(p,f=d[v++])&&(n[f]=p[f]);return n}:u},function(t,e,n){var r=n(16),i=n(24),o=n(39);t.exports=n(13)?Object.defineProperties:function(t,e){i(t);for(var n,s=o(e),a=s.length,u=0;a>u;)r.f(t,n=s[u++],e[n]);return t}},function(t,e,n){var r=n(28),i=n(139).f,o={}.toString,s=\"object\"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],a=function(t){try{return i(t)}catch(t){return s.slice()}};t.exports.f=function(t){return s&&\"[object Window]\"==o.call(t)?a(t):i(r(t))}},function(t,e,n){var r=n(27),i=n(24),o=function(t,e){if(i(t),!r(e)&&null!==e)throw TypeError(e+\": can't set as prototype!\")};t.exports={set:Object.setPrototypeOf||(\"__proto__\"in{}?function(t,e,r){try{r=n(133)(Function.call,n(138).f(Object.prototype,\"__proto__\").set,2),r(t,[]),e=!(t instanceof Array)}catch(t){e=!0}return function(t,n){return o(t,n),e?t.__proto__=n:r(t,n),t}}({},!1):void 0),check:o}},function(t,e,n){var r=n(95),i=n(87);t.exports=function(t){return function(e,n){var o,s,a=String(i(e)),u=r(n),c=a.length;return u<0||u>=c?t?\"\":void 0:(o=a.charCodeAt(u),o<55296||o>56319||u+1===c||(s=a.charCodeAt(u+1))<56320||s>57343?t?a.charAt(u):o:t?a.slice(u,u+2):s-56320+(o-55296<<10)+65536)}}},function(t,e,n){var r=n(95),i=Math.max,o=Math.min;t.exports=function(t,e){return t=r(t),t<0?i(t+e,0):o(t,e)}},function(t,e,n){var r=n(95),i=Math.min;t.exports=function(t){return t>0?i(r(t),9007199254740991):0}},function(t,e,n){var r=n(132),i=n(6)(\"iterator\"),o=n(38);t.exports=n(2).getIteratorMethod=function(t){if(void 0!=t)return t[i]||t[\"@@iterator\"]||o[r(t)]}},function(t,e,n){var r=n(24),i=n(253);t.exports=n(2).getIterator=function(t){var e=i(t);if(\"function\"!=typeof e)throw TypeError(t+\" is not iterable!\");return r(e.call(t))}},function(t,e,n){var r=n(132),i=n(6)(\"iterator\"),o=n(38);t.exports=n(2).isIterable=function(t){var e=Object(t);return void 0!==e[i]||\"@@iterator\"in e||o.hasOwnProperty(r(e))}},function(t,e,n){\"use strict\";var r=n(238),i=n(244),o=n(38),s=n(28);t.exports=n(137)(Array,\"Array\",function(t,e){this._t=s(t),this._i=0,this._k=e},function(){var t=this._t,e=this._k,n=this._i++;return!t||n>=t.length?(this._t=void 0,i(1)):\"keys\"==e?i(0,n):\"values\"==e?i(0,t[n]):i(0,[n,t[n]])},\"values\"),o.Arguments=o.Array,r(\"keys\"),r(\"values\"),r(\"entries\")},function(t,e,n){var r=n(14);r(r.S+r.F,\"Object\",{assign:n(246)})},function(t,e,n){var r=n(14);r(r.S,\"Object\",{create:n(90)})},function(t,e,n){var r=n(14);r(r.S+r.F*!n(13),\"Object\",{defineProperty:n(16).f})},function(t,e,n){var r=n(58),i=n(140);n(142)(\"getPrototypeOf\",function(){return function(t){return i(r(t))}})},function(t,e,n){var r=n(58),i=n(39);n(142)(\"keys\",function(){return function(t){return i(r(t))}})},function(t,e,n){var r=n(14);r(r.S,\"Object\",{setPrototypeOf:n(249).set})},function(t,e){},function(t,e,n){\"use strict\";var r=n(9),i=n(15),o=n(13),s=n(14),a=n(143),u=n(245).KEY,c=n(25),l=n(94),h=n(92),f=n(59),p=n(6),d=n(98),m=n(97),v=n(240),y=n(242),g=n(24),x=n(27),b=n(28),D=n(96),E=n(57),w=n(90),_=n(248),S=n(138),A=n(16),C=n(39),k=S.f,F=A.f,T=_.f,I=r.Symbol,O=r.JSON,M=O&&O.stringify,B=p(\"_hidden\"),P=p(\"toPrimitive\"),j={}.propertyIsEnumerable,N=l(\"symbol-registry\"),L=l(\"symbols\"),R=l(\"op-symbols\"),z=Object.prototype,U=\"function\"==typeof I,J=r.QObject,X=!J||!J.prototype||!J.prototype.findChild,q=o&&c(function(){return 7!=w(F({},\"a\",{get:function(){return F(this,\"a\",{value:7}).a}})).a})?function(t,e,n){var r=k(z,e);r&&delete z[e],F(t,e,n),r&&t!==z&&F(z,e,r)}:F,K=function(t){var e=L[t]=w(I.prototype);return e._k=t,e},W=U&&\"symbol\"==typeof I.iterator?function(t){return\"symbol\"==typeof t}:function(t){return t instanceof I},Y=function(t,e,n){return t===z&&Y(R,e,n),g(t),e=D(e,!0),g(n),i(L,e)?(n.enumerable?(i(t,B)&&t[B][e]&&(t[B][e]=!1),n=w(n,{enumerable:E(0,!1)})):(i(t,B)||F(t,B,E(1,{})),t[B][e]=!0),q(t,e,n)):F(t,e,n)},V=function(t,e){g(t);for(var n,r=v(e=b(e)),i=0,o=r.length;o>i;)Y(t,n=r[i++],e[n]);return t},H=function(t,e){return void 0===e?w(t):V(w(t),e)},G=function(t){var e=j.call(this,t=D(t,!0));return!(this===z&&i(L,t)&&!i(R,t))&&(!(e||!i(this,t)||!i(L,t)||i(this,B)&&this[B][t])||e)},$=function(t,e){if(t=b(t),e=D(e,!0),t!==z||!i(L,e)||i(R,e)){var n=k(t,e);return!n||!i(L,e)||i(t,B)&&t[B][e]||(n.enumerable=!0),n}},Z=function(t){for(var e,n=T(b(t)),r=[],o=0;n.length>o;)i(L,e=n[o++])||e==B||e==u||r.push(e);return r},Q=function(t){for(var e,n=t===z,r=T(n?R:b(t)),o=[],s=0;r.length>s;)!i(L,e=r[s++])||n&&!i(z,e)||o.push(L[e]);return o};U||(I=function(){if(this instanceof I)throw TypeError(\"Symbol is not a constructor!\");var t=f(arguments.length>0?arguments[0]:void 0),e=function(n){this===z&&e.call(R,n),i(this,B)&&i(this[B],t)&&(this[B][t]=!1),q(this,t,E(1,n))};return o&&X&&q(z,t,{configurable:!0,set:e}),K(t)},a(I.prototype,\"toString\",function(){return this._k}),S.f=$,A.f=Y,n(139).f=_.f=Z,n(56).f=G,n(91).f=Q,o&&!n(89)&&a(z,\"propertyIsEnumerable\",G,!0),d.f=function(t){return K(p(t))}),s(s.G+s.W+s.F*!U,{Symbol:I});for(var tt=\"hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables\".split(\",\"),et=0;tt.length>et;)p(tt[et++]);for(var nt=C(p.store),rt=0;nt.length>rt;)m(nt[rt++]);s(s.S+s.F*!U,\"Symbol\",{for:function(t){return i(N,t+=\"\")?N[t]:N[t]=I(t)},keyFor:function(t){if(!W(t))throw TypeError(t+\" is not a symbol!\");for(var e in N)if(N[e]===t)return e},useSetter:function(){X=!0},useSimple:function(){X=!1}}),s(s.S+s.F*!U,\"Object\",{create:H,defineProperty:Y,defineProperties:V,getOwnPropertyDescriptor:$,getOwnPropertyNames:Z,getOwnPropertySymbols:Q}),O&&s(s.S+s.F*(!U||c(function(){var t=I();return\"[null]\"!=M([t])||\"{}\"!=M({a:t})||\"{}\"!=M(Object(t))})),\"JSON\",{stringify:function(t){for(var e,n,r=[t],i=1;arguments.length>i;)r.push(arguments[i++]);if(n=e=r[1],(x(e)||void 0!==t)&&!W(t))return y(e)||(e=function(t,e){if(\"function\"==typeof n&&(e=n.call(this,t,e)),!W(e))return e}),r[1]=e,M.apply(O,r)}}),I.prototype[P]||n(26)(I.prototype,P,I.prototype.valueOf),h(I,\"Symbol\"),h(Math,\"Math\",!0),h(r.JSON,\"JSON\",!0)},function(t,e,n){n(97)(\"asyncIterator\")},function(t,e,n){n(97)(\"observable\")},function(t,e,n){var r=n(1)(\"unscopables\"),i=Array.prototype;void 0==i[r]&&n(19)(i,r,{}),t.exports=function(t){i[r][t]=!0}},function(t,e){t.exports=function(t,e,n,r){if(!(t instanceof e)||void 0!==r&&r in t)throw TypeError(n+\": incorrect invocation!\");return t}},function(t,e,n){var r=n(65),i=n(45),o=n(157);t.exports=function(t){return function(e,n,s){var a,u=r(e),c=i(u.length),l=o(s,c);if(t&&n!=n){for(;c>l;)if((a=u[l++])!=a)return!0}else for(;c>l;l++)if((t||l in u)&&u[l]===n)return t||l||0;return!t&&-1}}},function(t,e,n){var r=n(61),i=n(275),o=n(274),s=n(17),a=n(45),u=n(291),c={},l={},e=t.exports=function(t,e,n,h,f){var p,d,m,v,y=f?function(){return t}:u(t),g=r(n,h,e?2:1),x=0;if(\"function\"!=typeof y)throw TypeError(t+\" is not iterable!\");if(o(y)){for(p=a(t.length);p>x;x++)if((v=e?g(s(d=t[x])[0],d[1]):g(t[x]))===c||v===l)return v}else for(m=y.call(t);!(d=m.next()).done;)if((v=i(m,g,d.value,e))===c||v===l)return v};e.BREAK=c,e.RETURN=l},function(t,e,n){t.exports=!n(41)&&!n(42)(function(){return 7!=Object.defineProperty(n(102)(\"div\"),\"a\",{get:function(){return 7}}).a})},function(t,e){t.exports=function(t,e,n){var r=void 0===n;switch(e.length){case 0:return r?t():t.call(n);case 1:return r?t(e[0]):t.call(n,e[0]);case 2:return r?t(e[0],e[1]):t.call(n,e[0],e[1]);case 3:return r?t(e[0],e[1],e[2]):t.call(n,e[0],e[1],e[2]);case 4:return r?t(e[0],e[1],e[2],e[3]):t.call(n,e[0],e[1],e[2],e[3])}return t.apply(n,e)}},function(t,e,n){var r=n(40);t.exports=Object(\"z\").propertyIsEnumerable(0)?Object:function(t){return\"String\"==r(t)?t.split(\"\"):Object(t)}},function(t,e,n){var r=n(44),i=n(1)(\"iterator\"),o=Array.prototype;t.exports=function(t){return void 0!==t&&(r.Array===t||o[i]===t)}},function(t,e,n){var r=n(17);t.exports=function(t,e,n,i){try{return i?e(r(n)[0],n[1]):e(n)}catch(e){var o=t.return;throw void 0!==o&&r(o.call(t)),e}}},function(t,e,n){\"use strict\";var r=n(280),i=n(152),o=n(105),s={};n(19)(s,n(1)(\"iterator\"),function(){return this}),t.exports=function(t,e,n){t.prototype=r(s,{next:i(1,n)}),o(t,e+\" Iterator\")}},function(t,e,n){var r=n(1)(\"iterator\"),i=!1;try{var o=[7][r]();o.return=function(){i=!0},Array.from(o,function(){throw 2})}catch(t){}t.exports=function(t,e){if(!e&&!i)return!1;var n=!1;try{var o=[7],s=o[r]();s.next=function(){return{done:n=!0}},o[r]=function(){return s},t(o)}catch(t){}return n}},function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},function(t,e,n){var r=n(5),i=n(156).set,o=r.MutationObserver||r.WebKitMutationObserver,s=r.process,a=r.Promise,u=\"process\"==n(40)(s);t.exports=function(){var t,e,n,c=function(){var r,i;for(u&&(r=s.domain)&&r.exit();t;){i=t.fn,t=t.next;try{i()}catch(r){throw t?n():e=void 0,r}}e=void 0,r&&r.enter()};if(u)n=function(){s.nextTick(c)};else if(!o||r.navigator&&r.navigator.standalone)if(a&&a.resolve){var l=a.resolve();n=function(){l.then(c)}}else n=function(){i.call(r,c)};else{var h=!0,f=document.createTextNode(\"\");new o(c).observe(f,{characterData:!0}),n=function(){f.data=h=!h}}return function(r){var i={fn:r,next:void 0};e&&(e.next=i),t||(t=i,n()),e=i}}},function(t,e,n){var r=n(17),i=n(281),o=n(144),s=n(106)(\"IE_PROTO\"),a=function(){},u=function(){var t,e=n(102)(\"iframe\"),r=o.length;for(e.style.display=\"none\",n(145).appendChild(e),e.src=\"javascript:\",t=e.contentWindow.document,t.open(),t.write(\"<script>document.F=Object<\\/script>\"),t.close(),u=t.F;r--;)delete u.prototype[o[r]];return u()};t.exports=Object.create||function(t,e){var n;return null!==t?(a.prototype=r(t),n=new a,a.prototype=null,n[s]=t):n=u(),void 0===e?n:i(n,e)}},function(t,e,n){var r=n(63),i=n(17),o=n(149);t.exports=n(41)?Object.defineProperties:function(t,e){i(t);for(var n,s=o(e),a=s.length,u=0;a>u;)r.f(t,n=s[u++],e[n]);return t}},function(t,e,n){var r=n(43),i=n(289),o=n(106)(\"IE_PROTO\"),s=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=i(t),r(t,o)?t[o]:\"function\"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?s:null}},function(t,e,n){var r=n(43),i=n(65),o=n(269)(!1),s=n(106)(\"IE_PROTO\");t.exports=function(t,e){var n,a=i(t),u=0,c=[];for(n in a)n!=s&&r(a,n)&&c.push(n);for(;e.length>u;)r(a,n=e[u++])&&(~o(c,n)||c.push(n));return c}},function(t,e,n){var r=n(30);t.exports=function(t,e,n){for(var i in e)r(t,i,e[i],n);return t}},function(t,e,n){\"use strict\";var r=n(5),i=n(63),o=n(41),s=n(1)(\"species\");t.exports=function(t){var e=r[t];o&&e&&!e[s]&&i.f(e,s,{configurable:!0,get:function(){return this}})}},function(t,e,n){\"use strict\";var r=n(64),i=n(10);t.exports=function(t){var e=String(i(this)),n=\"\",o=r(t);if(o<0||o==1/0)throw RangeError(\"Count can't be negative\");for(;o>0;(o>>>=1)&&(e+=e))1&o&&(n+=e);return n}},function(t,e,n){var r=n(3),i=n(10),o=n(42),s=n(288),a=\"[\"+s+\"]\",u=\"​\",c=RegExp(\"^\"+a+a+\"*\"),l=RegExp(a+a+\"*$\"),h=function(t,e,n){var i={},a=o(function(){return!!s[t]()||u[t]()!=u}),c=i[t]=a?e(f):s[t];n&&(i[n]=c),r(r.P+r.F*a,\"String\",i)},f=h.trim=function(t,e){return t=String(i(t)),1&e&&(t=t.replace(c,\"\")),2&e&&(t=t.replace(l,\"\")),t};t.exports=h},function(t,e){t.exports=\"\\t\\n\\v\\f\\r   ᠎             　\\u2028\\u2029\\ufeff\"},function(t,e,n){var r=n(10);t.exports=function(t){return Object(r(t))}},function(t,e,n){var r=n(29);t.exports=function(t,e){if(!r(t))return t;var n,i;if(e&&\"function\"==typeof(n=t.toString)&&!r(i=n.call(t)))return i;if(\"function\"==typeof(n=t.valueOf)&&!r(i=n.call(t)))return i;if(!e&&\"function\"==typeof(n=t.toString)&&!r(i=n.call(t)))return i;throw TypeError(\"Can't convert object to primitive value\")}},function(t,e,n){var r=n(101),i=n(1)(\"iterator\"),o=n(44);t.exports=n(18).getIteratorMethod=function(t){if(void 0!=t)return t[i]||t[\"@@iterator\"]||o[r(t)]}},function(t,e,n){\"use strict\";var r=n(267),i=n(278),o=n(44),s=n(65);t.exports=n(147)(Array,\"Array\",function(t,e){this._t=s(t),this._i=0,this._k=e},function(){var t=this._t,e=this._k,n=this._i++;return!t||n>=t.length?(this._t=void 0,i(1)):\"keys\"==e?i(0,n):\"values\"==e?i(0,t[n]):i(0,[n,t[n]])},\"values\"),o.Arguments=o.Array,r(\"keys\"),r(\"values\"),r(\"entries\")},function(t,e,n){\"use strict\";var r=n(101),i={};i[n(1)(\"toStringTag\")]=\"z\",i+\"\"!=\"[object z]\"&&n(30)(Object.prototype,\"toString\",function(){return\"[object \"+r(this)+\"]\"},!0)},function(t,e,n){\"use strict\";var r,i,o,s,a=n(148),u=n(5),c=n(61),l=n(101),h=n(3),f=n(29),p=n(60),d=n(268),m=n(270),v=n(154),y=n(156).set,g=n(279)(),x=n(104),b=n(150),D=n(151),E=u.TypeError,w=u.process,_=u.Promise,S=\"process\"==l(w),A=function(){},C=i=x.f,k=!!function(){try{var t=_.resolve(1),e=(t.constructor={})[n(1)(\"species\")]=function(t){t(A,A)};return(S||\"function\"==typeof PromiseRejectionEvent)&&t.then(A)instanceof e}catch(t){}}(),F=function(t){var e;return!(!f(t)||\"function\"!=typeof(e=t.then))&&e},T=function(t,e){if(!t._n){t._n=!0;var n=t._c;g(function(){for(var r=t._v,i=1==t._s,o=0;n.length>o;)!function(e){var n,o,s=i?e.ok:e.fail,a=e.resolve,u=e.reject,c=e.domain;try{s?(i||(2==t._h&&M(t),t._h=1),!0===s?n=r:(c&&c.enter(),n=s(r),c&&c.exit()),n===e.promise?u(E(\"Promise-chain cycle\")):(o=F(n))?o.call(n,a,u):a(n)):u(r)}catch(t){u(t)}}(n[o++]);t._c=[],t._n=!1,e&&!t._h&&I(t)})}},I=function(t){y.call(u,function(){var e,n,r,i=t._v,o=O(t);if(o&&(e=b(function(){S?w.emit(\"unhandledRejection\",i,t):(n=u.onunhandledrejection)?n({promise:t,reason:i}):(r=u.console)&&r.error&&r.error(\"Unhandled promise rejection\",i)}),t._h=S||O(t)?2:1),t._a=void 0,o&&e.e)throw e.v})},O=function(t){return 1!==t._h&&0===(t._a||t._c).length},M=function(t){y.call(u,function(){var e;S?w.emit(\"rejectionHandled\",t):(e=u.onrejectionhandled)&&e({promise:t,reason:t._v})})},B=function(t){var e=this;e._d||(e._d=!0,e=e._w||e,e._v=t,e._s=2,e._a||(e._a=e._c.slice()),T(e,!0))},P=function(t){var e,n=this;if(!n._d){n._d=!0,n=n._w||n;try{if(n===t)throw E(\"Promise can't be resolved itself\");(e=F(t))?g(function(){var r={_w:n,_d:!1};try{e.call(t,c(P,r,1),c(B,r,1))}catch(t){B.call(r,t)}}):(n._v=t,n._s=1,T(n,!1))}catch(t){B.call({_w:n,_d:!1},t)}}};k||(_=function(t){d(this,_,\"Promise\",\"_h\"),p(t),r.call(this);try{t(c(P,this,1),c(B,this,1))}catch(t){B.call(this,t)}},r=function(t){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1},r.prototype=n(284)(_.prototype,{then:function(t,e){var n=C(v(this,_));return n.ok=\"function\"!=typeof t||t,n.fail=\"function\"==typeof e&&e,n.domain=S?w.domain:void 0,this._c.push(n),this._a&&this._a.push(n),this._s&&T(this,!1),n.promise},catch:function(t){return this.then(void 0,t)}}),o=function(){var t=new r;this.promise=t,this.resolve=c(P,t,1),this.reject=c(B,t,1)},x.f=C=function(t){return t===_||t===s?new o(t):i(t)}),h(h.G+h.W+h.F*!k,{Promise:_}),n(105)(_,\"Promise\"),n(285)(\"Promise\"),s=n(18).Promise,h(h.S+h.F*!k,\"Promise\",{reject:function(t){var e=C(this);return(0,e.reject)(t),e.promise}}),h(h.S+h.F*(a||!k),\"Promise\",{resolve:function(t){return D(a&&this===s?_:this,t)}}),h(h.S+h.F*!(k&&n(277)(function(t){_.all(t).catch(A)})),\"Promise\",{all:function(t){var e=this,n=C(e),r=n.resolve,i=n.reject,o=b(function(){var n=[],o=0,s=1;m(t,!1,function(t){var a=o++,u=!1;n.push(void 0),s++,e.resolve(t).then(function(t){u||(u=!0,n[a]=t,--s||r(n))},i)}),--s||r(n)});return o.e&&i(o.v),n.promise},race:function(t){var e=this,n=C(e),r=n.reject,i=b(function(){m(t,!1,function(t){e.resolve(t).then(n.resolve,r)})});return i.e&&r(i.v),n.promise}})},function(t,e,n){n(62)(\"match\",1,function(t,e,n){return[function(n){\"use strict\";var r=t(this),i=void 0==n?void 0:n[e];return void 0!==i?i.call(n,r):new RegExp(n)[e](String(r))},n]})},function(t,e,n){n(62)(\"replace\",2,function(t,e,n){return[function(r,i){\"use strict\";var o=t(this),s=void 0==r?void 0:r[e];return void 0!==s?s.call(r,o,i):n.call(String(o),r,i)},n]})},function(t,e,n){n(62)(\"search\",1,function(t,e,n){return[function(n){\"use strict\";var r=t(this),i=void 0==n?void 0:n[e];return void 0!==i?i.call(n,r):new RegExp(n)[e](String(r))},n]})},function(t,e,n){n(62)(\"split\",2,function(t,e,r){\"use strict\";var i=n(146),o=r,s=[].push,a=\"length\";if(\"c\"==\"abbc\".split(/(b)*/)[1]||4!=\"test\".split(/(?:)/,-1)[a]||2!=\"ab\".split(/(?:ab)*/)[a]||4!=\".\".split(/(.?)(.?)/)[a]||\".\".split(/()()/)[a]>1||\"\".split(/.?/)[a]){var u=void 0===/()??/.exec(\"\")[1];r=function(t,e){var n=String(this);if(void 0===t&&0===e)return[];if(!i(t))return o.call(n,t,e);var r,c,l,h,f,p=[],d=(t.ignoreCase?\"i\":\"\")+(t.multiline?\"m\":\"\")+(t.unicode?\"u\":\"\")+(t.sticky?\"y\":\"\"),m=0,v=void 0===e?4294967295:e>>>0,y=new RegExp(t.source,d+\"g\");for(u||(r=new RegExp(\"^\"+y.source+\"$(?!\\\\s)\",d));(c=y.exec(n))&&!((l=c.index+c[0][a])>m&&(p.push(n.slice(m,c.index)),!u&&c[a]>1&&c[0].replace(r,function(){for(f=1;f<arguments[a]-2;f++)void 0===arguments[f]&&(c[f]=void 0)}),c[a]>1&&c.index<n[a]&&s.apply(p,c.slice(1)),h=c[0][a],m=l,p[a]>=v));)y.lastIndex===c.index&&y.lastIndex++;return m===n[a]?!h&&y.test(\"\")||p.push(\"\"):p.push(n.slice(m)),p[a]>v?p.slice(0,v):p}}else\"0\".split(void 0,0)[a]&&(r=function(t,e){return void 0===t&&0===e?[]:o.call(this,t,e)});return[function(n,i){var o=t(this),s=void 0==n?void 0:n[e];return void 0!==s?s.call(n,o,i):r.call(String(o),n,i)},r]})},function(t,e,n){\"use strict\";n(4)(\"anchor\",function(t){return function(e){return t(this,\"a\",\"name\",e)}})},function(t,e,n){\"use strict\";n(4)(\"big\",function(t){return function(){return t(this,\"big\",\"\",\"\")}})},function(t,e,n){\"use strict\";n(4)(\"blink\",function(t){return function(){return t(this,\"blink\",\"\",\"\")}})},function(t,e,n){\"use strict\";n(4)(\"bold\",function(t){return function(){return t(this,\"b\",\"\",\"\")}})},function(t,e,n){\"use strict\";var r=n(3),i=n(155)(!1);r(r.P,\"String\",{codePointAt:function(t){return i(this,t)}})},function(t,e,n){\"use strict\";var r=n(3),i=n(45),o=n(107),s=\"\".endsWith;r(r.P+r.F*n(103)(\"endsWith\"),\"String\",{endsWith:function(t){var e=o(this,t,\"endsWith\"),n=arguments.length>1?arguments[1]:void 0,r=i(e.length),a=void 0===n?r:Math.min(i(n),r),u=String(t);return s?s.call(e,u,a):e.slice(a-u.length,a)===u}})},function(t,e,n){\"use strict\";n(4)(\"fixed\",function(t){return function(){return t(this,\"tt\",\"\",\"\")}})},function(t,e,n){\"use strict\";n(4)(\"fontcolor\",function(t){return function(e){return t(this,\"font\",\"color\",e)}})},function(t,e,n){\"use strict\";n(4)(\"fontsize\",function(t){return function(e){return t(this,\"font\",\"size\",e)}})},function(t,e,n){var r=n(3),i=n(157),o=String.fromCharCode,s=String.fromCodePoint;r(r.S+r.F*(!!s&&1!=s.length),\"String\",{fromCodePoint:function(t){for(var e,n=[],r=arguments.length,s=0;r>s;){if(e=+arguments[s++],i(e,1114111)!==e)throw RangeError(e+\" is not a valid code point\");n.push(e<65536?o(e):o(55296+((e-=65536)>>10),e%1024+56320))}return n.join(\"\")}})},function(t,e,n){\"use strict\";var r=n(3),i=n(107);r(r.P+r.F*n(103)(\"includes\"),\"String\",{includes:function(t){return!!~i(this,t,\"includes\").indexOf(t,arguments.length>1?arguments[1]:void 0)}})},function(t,e,n){\"use strict\";n(4)(\"italics\",function(t){return function(){return t(this,\"i\",\"\",\"\")}})},function(t,e,n){\"use strict\";n(4)(\"link\",function(t){return function(e){return t(this,\"a\",\"href\",e)}})},function(t,e,n){var r=n(3),i=n(65),o=n(45);r(r.S,\"String\",{raw:function(t){for(var e=i(t.raw),n=o(e.length),r=arguments.length,s=[],a=0;n>a;)s.push(String(e[a++])),a<r&&s.push(String(arguments[a]));return s.join(\"\")}})},function(t,e,n){var r=n(3);r(r.P,\"String\",{repeat:n(286)})},function(t,e,n){\"use strict\";n(4)(\"small\",function(t){return function(){return t(this,\"small\",\"\",\"\")}})},function(t,e,n){\"use strict\";var r=n(3),i=n(45),o=n(107),s=\"\".startsWith;r(r.P+r.F*n(103)(\"startsWith\"),\"String\",{startsWith:function(t){var e=o(this,t,\"startsWith\"),n=i(Math.min(arguments.length>1?arguments[1]:void 0,e.length)),r=String(t);return s?s.call(e,r,n):e.slice(n,n+r.length)===r}})},function(t,e,n){\"use strict\";n(4)(\"strike\",function(t){return function(){return t(this,\"strike\",\"\",\"\")}})},function(t,e,n){\"use strict\";n(4)(\"sub\",function(t){return function(){return t(this,\"sub\",\"\",\"\")}})},function(t,e,n){\"use strict\";n(4)(\"sup\",function(t){return function(){return t(this,\"sup\",\"\",\"\")}})},function(t,e,n){\"use strict\";n(287)(\"trim\",function(t){return function(){return t(this,3)}})},function(t,e,n){\"use strict\";var r=n(3),i=n(18),o=n(5),s=n(154),a=n(151);r(r.P+r.R,\"Promise\",{finally:function(t){var e=s(this,i.Promise||o.Promise),n=\"function\"==typeof t;return this.then(n?function(n){return a(e,t()).then(function(){return n})}:t,n?function(n){return a(e,t()).then(function(){throw n})}:t)}})},function(t,e,n){\"use strict\";var r=n(3),i=n(104),o=n(150);r(r.S,\"Promise\",{try:function(t){var e=i.f(this),n=o(t);return(n.e?e.reject:e.resolve)(n.v),e.promise}})},function(t,e,n){for(var r=n(292),i=n(149),o=n(30),s=n(5),a=n(19),u=n(44),c=n(1),l=c(\"iterator\"),h=c(\"toStringTag\"),f=u.Array,p={CSSRuleList:!0,CSSStyleDeclaration:!1,CSSValueList:!1,ClientRectList:!1,DOMRectList:!1,DOMStringList:!1,DOMTokenList:!0,DataTransferItemList:!1,FileList:!1,HTMLAllCollection:!1,HTMLCollection:!1,HTMLFormElement:!1,HTMLSelectElement:!1,MediaList:!0,MimeTypeArray:!1,NamedNodeMap:!1,NodeList:!0,PaintRequestList:!1,Plugin:!1,PluginArray:!1,SVGLengthList:!1,SVGNumberList:!1,SVGPathSegList:!1,SVGPointList:!1,SVGStringList:!1,SVGTransformList:!1,SourceBufferList:!1,StyleSheetList:!0,TextTrackCueList:!1,TextTrackList:!1,TouchList:!1},d=i(p),m=0;m<d.length;m++){var v,y=d[m],g=p[y],x=s[y],b=x&&x.prototype;if(b&&(b[l]||a(b,l,f),b[h]||a(b,h,y),u[y]=f,g))for(v in r)b[v]||o(b,v,r[v],!0)}},function(t,e,n){\"use strict\";function r(t){return t}function i(t,e,n){function i(t,e){var n=g.hasOwnProperty(e)?g[e]:null;w.hasOwnProperty(e)&&a(\"OVERRIDE_BASE\"===n,\"ReactClassInterface: You are attempting to override `%s` from your class specification. Ensure that your method names do not overlap with React methods.\",e),t&&a(\"DEFINE_MANY\"===n||\"DEFINE_MANY_MERGED\"===n,\"ReactClassInterface: You are attempting to define `%s` on your component more than once. This conflict may be due to a mixin.\",e)}function c(t,n){if(n){a(\"function\"!=typeof n,\"ReactClass: You're attempting to use a component class or function as a mixin. Instead, just use a regular object.\"),a(!e(n),\"ReactClass: You're attempting to use a component as a mixin. Instead, just use a regular object.\");var r=t.prototype,o=r.__reactAutoBindPairs;n.hasOwnProperty(u)&&b.mixins(t,n.mixins);for(var s in n)if(n.hasOwnProperty(s)&&s!==u){var c=n[s],l=r.hasOwnProperty(s);if(i(l,s),b.hasOwnProperty(s))b[s](t,c);else{var h=g.hasOwnProperty(s),d=\"function\"==typeof c,m=d&&!h&&!l&&!1!==n.autobind;if(m)o.push(s,c),r[s]=c;else if(l){var v=g[s];a(h&&(\"DEFINE_MANY_MERGED\"===v||\"DEFINE_MANY\"===v),\"ReactClass: Unexpected spec policy %s for key %s when mixing in component specs.\",v,s),\"DEFINE_MANY_MERGED\"===v?r[s]=f(r[s],c):\"DEFINE_MANY\"===v&&(r[s]=p(r[s],c))}else r[s]=c}}}else;}function l(t,e){if(e)for(var n in e){var r=e[n];if(e.hasOwnProperty(n)){var i=n in b;a(!i,'ReactClass: You are attempting to define a reserved property, `%s`, that shouldn\\'t be on the \"statics\" key. Define it as an instance property instead; it will still be accessible on the constructor.',n);var o=n in t;if(o){var s=x.hasOwnProperty(n)?x[n]:null;return a(\"DEFINE_MANY_MERGED\"===s,\"ReactClass: You are attempting to define `%s` on your component more than once. This conflict may be due to a mixin.\",n),void(t[n]=f(t[n],r))}t[n]=r}}}function h(t,e){a(t&&e&&\"object\"==typeof t&&\"object\"==typeof e,\"mergeIntoWithNoDuplicateKeys(): Cannot merge non-objects.\");for(var n in e)e.hasOwnProperty(n)&&(a(void 0===t[n],\"mergeIntoWithNoDuplicateKeys(): Tried to merge two objects with the same key: `%s`. This conflict may be due to a mixin; in particular, this may be caused by two getInitialState() or getDefaultProps() methods returning objects with clashing keys.\",n),t[n]=e[n]);return t}function f(t,e){return function(){var n=t.apply(this,arguments),r=e.apply(this,arguments);if(null==n)return r;if(null==r)return n;var i={};return h(i,n),h(i,r),i}}function p(t,e){return function(){t.apply(this,arguments),e.apply(this,arguments)}}function d(t,e){var n=e.bind(t);return n}function m(t){for(var e=t.__reactAutoBindPairs,n=0;n<e.length;n+=2){var r=e[n],i=e[n+1];t[r]=d(t,i)}}function v(t){var e=r(function(t,r,i){this.__reactAutoBindPairs.length&&m(this),this.props=t,this.context=r,this.refs=s,this.updater=i||n,this.state=null;var o=this.getInitialState?this.getInitialState():null;a(\"object\"==typeof o&&!Array.isArray(o),\"%s.getInitialState(): must return an object or null\",e.displayName||\"ReactCompositeComponent\"),this.state=o});e.prototype=new _,e.prototype.constructor=e,e.prototype.__reactAutoBindPairs=[],y.forEach(c.bind(null,e)),c(e,D),c(e,t),c(e,E),e.getDefaultProps&&(e.defaultProps=e.getDefaultProps()),a(e.prototype.render,\"createClass(...): Class specification must implement a `render` method.\");for(var i in g)e.prototype[i]||(e.prototype[i]=null);return e}var y=[],g={mixins:\"DEFINE_MANY\",statics:\"DEFINE_MANY\",propTypes:\"DEFINE_MANY\",contextTypes:\"DEFINE_MANY\",childContextTypes:\"DEFINE_MANY\",getDefaultProps:\"DEFINE_MANY_MERGED\",getInitialState:\"DEFINE_MANY_MERGED\",getChildContext:\"DEFINE_MANY_MERGED\",render:\"DEFINE_ONCE\",componentWillMount:\"DEFINE_MANY\",componentDidMount:\"DEFINE_MANY\",componentWillReceiveProps:\"DEFINE_MANY\",shouldComponentUpdate:\"DEFINE_ONCE\",componentWillUpdate:\"DEFINE_MANY\",componentDidUpdate:\"DEFINE_MANY\",componentWillUnmount:\"DEFINE_MANY\",UNSAFE_componentWillMount:\"DEFINE_MANY\",UNSAFE_componentWillReceiveProps:\"DEFINE_MANY\",UNSAFE_componentWillUpdate:\"DEFINE_MANY\",updateComponent:\"OVERRIDE_BASE\"},x={getDerivedStateFromProps:\"DEFINE_MANY_MERGED\"},b={displayName:function(t,e){t.displayName=e},mixins:function(t,e){if(e)for(var n=0;n<e.length;n++)c(t,e[n])},childContextTypes:function(t,e){t.childContextTypes=o({},t.childContextTypes,e)},contextTypes:function(t,e){t.contextTypes=o({},t.contextTypes,e)},getDefaultProps:function(t,e){t.getDefaultProps?t.getDefaultProps=f(t.getDefaultProps,e):t.getDefaultProps=e},propTypes:function(t,e){t.propTypes=o({},t.propTypes,e)},statics:function(t,e){l(t,e)},autobind:function(){}},D={componentDidMount:function(){this.__isMounted=!0}},E={componentWillUnmount:function(){this.__isMounted=!1}},w={replaceState:function(t,e){this.updater.enqueueReplaceState(this,t,e)},isMounted:function(){return!!this.__isMounted}},_=function(){};return o(_.prototype,t.prototype,w),v}var o=n(54),s=n(165),a=n(21),u=\"mixins\";t.exports=i},function(t,e,n){(function(e){!function(e,n){t.exports=n(e)}(void 0!==e?e:this,function(t){if(t.CSS&&t.CSS.escape)return t.CSS.escape;var e=function(t){if(0==arguments.length)throw new TypeError(\"`CSS.escape` requires an argument.\");for(var e,n=String(t),r=n.length,i=-1,o=\"\",s=n.charCodeAt(0);++i<r;)e=n.charCodeAt(i),o+=0!=e?e>=1&&e<=31||127==e||0==i&&e>=48&&e<=57||1==i&&e>=48&&e<=57&&45==s?\"\\\\\"+e.toString(16)+\" \":(0!=i||1!=r||45!=e)&&(e>=128||45==e||95==e||e>=48&&e<=57||e>=65&&e<=90||e>=97&&e<=122)?n.charAt(i):\"\\\\\"+n.charAt(i):\"�\";return o};return t.CSS||(t.CSS={}),t.CSS.escape=e,e})}).call(e,n(12))},function(t,e,n){\"use strict\";t.exports=function(){var t,e,n=Array.from;return\"function\"==typeof n&&(t=[\"raz\",\"dwa\"],e=n(t),Boolean(e&&e!==t&&\"dwa\"===e[1]))}},function(t,e,n){\"use strict\";var r=n(350).iterator,i=n(329),o=n(330),s=n(20),a=n(11),u=n(47),c=n(31),l=n(349),h=Array.isArray,f=Function.prototype.call,p={configurable:!0,enumerable:!0,writable:!0,value:null},d=Object.defineProperty;t.exports=function(t){var e,n,m,v,y,g,x,b,D,E,w=arguments[1],_=arguments[2];if(t=Object(u(t)),c(w)&&a(w),this&&this!==Array&&o(this))e=this;else{if(!w){if(i(t))return 1!==(y=t.length)?Array.apply(null,t):(v=new Array(1),v[0]=t[0],v);if(h(t)){for(v=new Array(y=t.length),n=0;n<y;++n)v[n]=t[n];return v}}v=[]}if(!h(t))if(void 0!==(D=t[r])){for(x=a(D).call(t),e&&(v=new e),b=x.next(),n=0;!b.done;)E=w?f.call(w,_,b.value,n):b.value,e?(p.value=E,d(v,n,p)):v[n]=E,b=x.next(),++n;y=n}else if(l(t)){for(y=t.length,e&&(v=new e),n=0,m=0;n<y;++n)E=t[n],n+1<y&&(g=E.charCodeAt(0))>=55296&&g<=56319&&(E+=t[++n]),E=w?f.call(w,_,E,m):E,e?(p.value=E,d(v,m,p)):v[m]=E,++m;y=m}if(void 0===y)for(y=s(t.length),e&&(v=new e(y)),n=0;n<y;++n)E=w?f.call(w,_,t[n],n):t[n],e?(p.value=E,d(v,n,p)):v[n]=E;return e&&(p.value=null,v.length=y),v}},function(t,e,n){\"use strict\";var r=n(110),i=Array.isArray;t.exports=function(t){return i(t)?t:r(t)}},function(t,e,n){\"use strict\";var r=n(161),i=n(342),o=n(31),s=Error.captureStackTrace;e=t.exports=function(t){var n=new Error(t),a=arguments[1],u=arguments[2];return o(u)||i(a)&&(u=a,a=null),o(u)&&r(n,u),o(a)&&(n.code=a),s&&s(n,e),n}},function(t,e,n){\"use strict\";var r=Object.prototype.toString,i=r.call(function(){return arguments}());t.exports=function(t){return r.call(t)===i}},function(t,e,n){\"use strict\";var r=Object.prototype.toString,i=r.call(n(160));t.exports=function(t){return\"function\"==typeof t&&r.call(t)===i}},function(t,e,n){\"use strict\";t.exports=n(332)()?Math.sign:n(333)},function(t,e,n){\"use strict\";t.exports=function(){var t=Math.sign;return\"function\"==typeof t&&(1===t(10)&&-1===t(-20))}},function(t,e,n){\"use strict\";t.exports=function(t){return t=Number(t),isNaN(t)||0===t?t:t>0?1:-1}},function(t,e,n){\"use strict\";t.exports=n(335)()?Number.isNaN:n(336)},function(t,e,n){\"use strict\";t.exports=function(){var t=Number.isNaN;return\"function\"==typeof t&&(!t({})&&t(NaN)&&!t(34))}},function(t,e,n){\"use strict\";t.exports=function(t){return t!==t}},function(t,e,n){\"use strict\";var r=n(331),i=Math.abs,o=Math.floor;t.exports=function(t){return isNaN(t)?0:(t=Number(t),0!==t&&isFinite(t)?r(t)*o(i(t)):t)}},function(t,e,n){\"use strict\";var r=n(11),i=n(47),o=Function.prototype.bind,s=Function.prototype.call,a=Object.keys,u=Object.prototype.propertyIsEnumerable;t.exports=function(t,e){return function(n,c){var l,h=arguments[2],f=arguments[3];return n=Object(i(n)),r(c),l=a(n),f&&l.sort(\"function\"==typeof f?o.call(f,n):void 0),\"function\"!=typeof t&&(t=l[t]),s.call(t,l,function(t,r){return u.call(n,t)?s.call(c,h,n[t],t,n,r):e})}}},function(t,e,n){\"use strict\";t.exports=function(){var t,e=Object.assign;return\"function\"==typeof e&&(t={foo:\"raz\"},e(t,{bar:\"dwa\"},{trzy:\"trzy\"}),t.foo+t.bar+t.trzy===\"razdwatrzy\")}},function(t,e,n){\"use strict\";var r=n(343),i=n(47),o=Math.max;t.exports=function(t,e){var n,s,a,u=o(arguments.length,2);for(t=Object(i(t)),a=function(r){try{t[r]=e[r]}catch(t){n||(n=t)}},s=1;s<u;++s)e=arguments[s],r(e).forEach(a);if(void 0!==n)throw n;return t}},function(t,e,n){\"use strict\";t.exports=function(t){return\"function\"==typeof t}},function(t,e,n){\"use strict\";var r=n(31),i={function:!0,object:!0};t.exports=function(t){return r(t)&&i[typeof t]||!1}},function(t,e,n){\"use strict\";t.exports=n(344)()?Object.keys:n(345)},function(t,e,n){\"use strict\";t.exports=function(){try{return Object.keys(\"primitive\"),!0}catch(t){return!1}}},function(t,e,n){\"use strict\";var r=n(31),i=Object.keys;t.exports=function(t){return i(r(t)?Object(t):t)}},function(t,e,n){\"use strict\";t.exports=n(347)()?String.prototype.contains:n(348)},function(t,e,n){\"use strict\";var r=\"razdwatrzy\";t.exports=function(){return\"function\"==typeof r.contains&&(!0===r.contains(\"dwa\")&&!1===r.contains(\"foo\"))}},function(t,e,n){\"use strict\";var r=String.prototype.indexOf;t.exports=function(t){return r.call(this,t,arguments[1])>-1}},function(t,e,n){\"use strict\";var r=Object.prototype.toString,i=r.call(\"\");t.exports=function(t){return\"string\"==typeof t||t&&\"object\"==typeof t&&(t instanceof String||r.call(t)===i)||!1}},function(t,e,n){\"use strict\";t.exports=n(351)()?Symbol:n(353)},function(t,e,n){\"use strict\";var r={object:!0,symbol:!0};t.exports=function(){var t;if(\"function\"!=typeof Symbol)return!1;t=Symbol(\"test symbol\");try{String(t)}catch(t){return!1}return!!r[typeof Symbol.iterator]&&(!!r[typeof Symbol.toPrimitive]&&!!r[typeof Symbol.toStringTag])}},function(t,e,n){\"use strict\";t.exports=function(t){return!!t&&(\"symbol\"==typeof t||!!t.constructor&&(\"Symbol\"===t.constructor.name&&\"Symbol\"===t[t.constructor.toStringTag]))}},function(t,e,n){\"use strict\";var r,i,o,s,a=n(66),u=n(354),c=Object.create,l=Object.defineProperties,h=Object.defineProperty,f=Object.prototype,p=c(null);if(\"function\"==typeof Symbol){r=Symbol;try{String(r()),s=!0}catch(t){}}var d=function(){var t=c(null);return function(e){for(var n,r,i=0;t[e+(i||\"\")];)++i;return e+=i||\"\",t[e]=!0,n=\"@@\"+e,h(f,n,a.gs(null,function(t){r||(r=!0,h(this,n,a(t)),r=!1)})),n}}();o=function(t){if(this instanceof o)throw new TypeError(\"Symbol is not a constructor\");return i(t)},t.exports=i=function t(e){var n;if(this instanceof t)throw new TypeError(\"Symbol is not a constructor\");return s?r(e):(n=c(o.prototype),e=void 0===e?\"\":String(e),l(n,{__description__:a(\"\",e),__name__:a(\"\",d(e))}))},l(i,{for:a(function(t){return p[t]?p[t]:p[t]=i(String(t))}),keyFor:a(function(t){var e;u(t);for(e in p)if(p[e]===t)return e}),hasInstance:a(\"\",r&&r.hasInstance||i(\"hasInstance\")),isConcatSpreadable:a(\"\",r&&r.isConcatSpreadable||i(\"isConcatSpreadable\")),iterator:a(\"\",r&&r.iterator||i(\"iterator\")),match:a(\"\",r&&r.match||i(\"match\")),replace:a(\"\",r&&r.replace||i(\"replace\")),search:a(\"\",r&&r.search||i(\"search\")),species:a(\"\",r&&r.species||i(\"species\")),split:a(\"\",r&&r.split||i(\"split\")),toPrimitive:a(\"\",r&&r.toPrimitive||i(\"toPrimitive\")),toStringTag:a(\"\",r&&r.toStringTag||i(\"toStringTag\")),unscopables:a(\"\",r&&r.unscopables||i(\"unscopables\"))}),l(o.prototype,{constructor:a(i),toString:a(\"\",function(){return this.__name__})}),l(i.prototype,{toString:a(function(){return\"Symbol (\"+u(this).__description__+\")\"}),valueOf:a(function(){return u(this)})}),h(i.prototype,i.toPrimitive,a(\"\",function(){var t=u(this);return\"symbol\"==typeof t?t:t.toString()})),h(i.prototype,i.toStringTag,a(\"c\",\"Symbol\")),h(o.prototype,i.toStringTag,a(\"c\",i.prototype[i.toStringTag])),h(o.prototype,i.toPrimitive,a(\"c\",i.prototype[i.toPrimitive]))},function(t,e,n){\"use strict\";var r=n(352);t.exports=function(t){if(!r(t))throw new TypeError(t+\" is not a symbol\");return t}},function(t,e,n){!function(e,n){t.exports=n()}(0,function(){return function(t){function e(r){if(n[r])return n[r].exports;var i=n[r]={exports:{},id:r,loaded:!1};return t[r].call(i.exports,i,i.exports,e),i.loaded=!0,i.exports}var n={};return e.m=t,e.c=n,e.p=\"\",e(0)}([function(t,e,n){\"use strict\";function r(t,e,n){var r=null,i=function(t,e){n&&n(t,e),r&&r.visit(t,e)},o=\"function\"==typeof n?i:null,s=!1;if(e){s=\"boolean\"==typeof e.comment&&e.comment;var l=\"boolean\"==typeof e.attachComment&&e.attachComment;(s||l)&&(r=new a.CommentHandler,r.attach=l,e.comment=!0,o=i)}var h=!1;e&&\"string\"==typeof e.sourceType&&(h=\"module\"===e.sourceType);var f;f=e&&\"boolean\"==typeof e.jsx&&e.jsx?new u.JSXParser(t,e,o):new c.Parser(t,e,o);var p=h?f.parseModule():f.parseScript(),d=p;return s&&r&&(d.comments=r.comments),f.config.tokens&&(d.tokens=f.tokens),f.config.tolerant&&(d.errors=f.errorHandler.errors),d}function i(t,e,n){var i=e||{};return i.sourceType=\"module\",r(t,i,n)}function o(t,e,n){var i=e||{};return i.sourceType=\"script\",r(t,i,n)}function s(t,e,n){var r,i=new l.Tokenizer(t,e);r=[];try{for(;;){var o=i.getNextToken();if(!o)break;n&&(o=n(o)),r.push(o)}}catch(t){i.errorHandler.tolerate(t)}return i.errorHandler.tolerant&&(r.errors=i.errors()),r}Object.defineProperty(e,\"__esModule\",{value:!0});var a=n(1),u=n(3),c=n(8),l=n(15);e.parse=r,e.parseModule=i,e.parseScript=o,e.tokenize=s;var h=n(2);e.Syntax=h.Syntax,e.version=\"4.0.0\"},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var r=n(2),i=function(){function t(){this.attach=!1,this.comments=[],this.stack=[],this.leading=[],this.trailing=[]}return t.prototype.insertInnerComments=function(t,e){if(t.type===r.Syntax.BlockStatement&&0===t.body.length){for(var n=[],i=this.leading.length-1;i>=0;--i){var o=this.leading[i];e.end.offset>=o.start&&(n.unshift(o.comment),this.leading.splice(i,1),this.trailing.splice(i,1))}n.length&&(t.innerComments=n)}},t.prototype.findTrailingComments=function(t){var e=[];if(this.trailing.length>0){for(var n=this.trailing.length-1;n>=0;--n){var r=this.trailing[n];r.start>=t.end.offset&&e.unshift(r.comment)}return this.trailing.length=0,e}var i=this.stack[this.stack.length-1];if(i&&i.node.trailingComments){var o=i.node.trailingComments[0];o&&o.range[0]>=t.end.offset&&(e=i.node.trailingComments,delete i.node.trailingComments)}return e},t.prototype.findLeadingComments=function(t){for(var e,n=[];this.stack.length>0;){var r=this.stack[this.stack.length-1];if(!(r&&r.start>=t.start.offset))break;e=r.node,this.stack.pop()}if(e){for(var i=e.leadingComments?e.leadingComments.length:0,o=i-1;o>=0;--o){var s=e.leadingComments[o];s.range[1]<=t.start.offset&&(n.unshift(s),e.leadingComments.splice(o,1))}return e.leadingComments&&0===e.leadingComments.length&&delete e.leadingComments,n}for(var o=this.leading.length-1;o>=0;--o){var r=this.leading[o];r.start<=t.start.offset&&(n.unshift(r.comment),this.leading.splice(o,1))}return n},t.prototype.visitNode=function(t,e){if(!(t.type===r.Syntax.Program&&t.body.length>0)){this.insertInnerComments(t,e);var n=this.findTrailingComments(e),i=this.findLeadingComments(e);i.length>0&&(t.leadingComments=i),n.length>0&&(t.trailingComments=n),this.stack.push({node:t,start:e.start.offset})}},t.prototype.visitComment=function(t,e){var n=\"L\"===t.type[0]?\"Line\":\"Block\",r={type:n,value:t.value};if(t.range&&(r.range=t.range),t.loc&&(r.loc=t.loc),this.comments.push(r),this.attach){var i={comment:{type:n,value:t.value,range:[e.start.offset,e.end.offset]},start:e.start.offset};t.loc&&(i.comment.loc=t.loc),t.type=n,this.leading.push(i),this.trailing.push(i)}},t.prototype.visit=function(t,e){\"LineComment\"===t.type?this.visitComment(t,e):\"BlockComment\"===t.type?this.visitComment(t,e):this.attach&&this.visitNode(t,e)},t}();e.CommentHandler=i},function(t,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.Syntax={AssignmentExpression:\"AssignmentExpression\",AssignmentPattern:\"AssignmentPattern\",ArrayExpression:\"ArrayExpression\",ArrayPattern:\"ArrayPattern\",ArrowFunctionExpression:\"ArrowFunctionExpression\",AwaitExpression:\"AwaitExpression\",BlockStatement:\"BlockStatement\",BinaryExpression:\"BinaryExpression\",BreakStatement:\"BreakStatement\",CallExpression:\"CallExpression\",CatchClause:\"CatchClause\",ClassBody:\"ClassBody\",ClassDeclaration:\"ClassDeclaration\",ClassExpression:\"ClassExpression\",ConditionalExpression:\"ConditionalExpression\",ContinueStatement:\"ContinueStatement\",DoWhileStatement:\"DoWhileStatement\",DebuggerStatement:\"DebuggerStatement\",EmptyStatement:\"EmptyStatement\",ExportAllDeclaration:\"ExportAllDeclaration\",ExportDefaultDeclaration:\"ExportDefaultDeclaration\",ExportNamedDeclaration:\"ExportNamedDeclaration\",ExportSpecifier:\"ExportSpecifier\",ExpressionStatement:\"ExpressionStatement\",ForStatement:\"ForStatement\",ForOfStatement:\"ForOfStatement\",ForInStatement:\"ForInStatement\",FunctionDeclaration:\"FunctionDeclaration\",FunctionExpression:\"FunctionExpression\",Identifier:\"Identifier\",IfStatement:\"IfStatement\",ImportDeclaration:\"ImportDeclaration\",ImportDefaultSpecifier:\"ImportDefaultSpecifier\",ImportNamespaceSpecifier:\"ImportNamespaceSpecifier\",ImportSpecifier:\"ImportSpecifier\",Literal:\"Literal\",LabeledStatement:\"LabeledStatement\",LogicalExpression:\"LogicalExpression\",MemberExpression:\"MemberExpression\",MetaProperty:\"MetaProperty\",MethodDefinition:\"MethodDefinition\",NewExpression:\"NewExpression\",ObjectExpression:\"ObjectExpression\",ObjectPattern:\"ObjectPattern\",Program:\"Program\",Property:\"Property\",RestElement:\"RestElement\",ReturnStatement:\"ReturnStatement\",SequenceExpression:\"SequenceExpression\",SpreadElement:\"SpreadElement\",Super:\"Super\",SwitchCase:\"SwitchCase\",SwitchStatement:\"SwitchStatement\",TaggedTemplateExpression:\"TaggedTemplateExpression\",TemplateElement:\"TemplateElement\",TemplateLiteral:\"TemplateLiteral\",ThisExpression:\"ThisExpression\",ThrowStatement:\"ThrowStatement\",TryStatement:\"TryStatement\",UnaryExpression:\"UnaryExpression\",UpdateExpression:\"UpdateExpression\",VariableDeclaration:\"VariableDeclaration\",VariableDeclarator:\"VariableDeclarator\",WhileStatement:\"WhileStatement\",WithStatement:\"WithStatement\",YieldExpression:\"YieldExpression\"}},function(t,e,n){\"use strict\";function r(t){var e;switch(t.type){case a.JSXSyntax.JSXIdentifier:e=t.name;break;case a.JSXSyntax.JSXNamespacedName:var n=t;e=r(n.namespace)+\":\"+r(n.name);break;case a.JSXSyntax.JSXMemberExpression:var i=t;e=r(i.object)+\".\"+r(i.property)}return e}var i=this&&this.__extends||function(){var t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])};return function(e,n){function r(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();Object.defineProperty(e,\"__esModule\",{value:!0});var o=n(4),s=n(5),a=n(6),u=n(7),c=n(8),l=n(13),h=n(14);l.TokenName[100]=\"JSXIdentifier\",l.TokenName[101]=\"JSXText\";var f=function(t){function e(e,n,r){return t.call(this,e,n,r)||this}return i(e,t),e.prototype.parsePrimaryExpression=function(){return this.match(\"<\")?this.parseJSXRoot():t.prototype.parsePrimaryExpression.call(this)},e.prototype.startJSX=function(){this.scanner.index=this.startMarker.index,this.scanner.lineNumber=this.startMarker.line,this.scanner.lineStart=this.startMarker.index-this.startMarker.column},e.prototype.finishJSX=function(){this.nextToken()},e.prototype.reenterJSX=function(){this.startJSX(),this.expectJSX(\"}\"),this.config.tokens&&this.tokens.pop()},e.prototype.createJSXNode=function(){return this.collectComments(),{index:this.scanner.index,line:this.scanner.lineNumber,column:this.scanner.index-this.scanner.lineStart}},e.prototype.createJSXChildNode=function(){return{index:this.scanner.index,line:this.scanner.lineNumber,column:this.scanner.index-this.scanner.lineStart}},e.prototype.scanXHTMLEntity=function(t){for(var e=\"&\",n=!0,r=!1,i=!1,s=!1;!this.scanner.eof()&&n&&!r;){var a=this.scanner.source[this.scanner.index];if(a===t)break;if(r=\";\"===a,e+=a,++this.scanner.index,!r)switch(e.length){case 2:i=\"#\"===a;break;case 3:i&&(s=\"x\"===a,n=s||o.Character.isDecimalDigit(a.charCodeAt(0)),i=i&&!s);break;default:n=n&&!(i&&!o.Character.isDecimalDigit(a.charCodeAt(0))),n=n&&!(s&&!o.Character.isHexDigit(a.charCodeAt(0)))}}if(n&&r&&e.length>2){var u=e.substr(1,e.length-2);i&&u.length>1?e=String.fromCharCode(parseInt(u.substr(1),10)):s&&u.length>2?e=String.fromCharCode(parseInt(\"0\"+u.substr(1),16)):i||s||!h.XHTMLEntities[u]||(e=h.XHTMLEntities[u])}return e},e.prototype.lexJSX=function(){var t=this.scanner.source.charCodeAt(this.scanner.index);if(60===t||62===t||47===t||58===t||61===t||123===t||125===t){var e=this.scanner.source[this.scanner.index++];return{type:7,value:e,lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:this.scanner.index-1,end:this.scanner.index}}if(34===t||39===t){for(var n=this.scanner.index,r=this.scanner.source[this.scanner.index++],i=\"\";!this.scanner.eof();){var s=this.scanner.source[this.scanner.index++];if(s===r)break;i+=\"&\"===s?this.scanXHTMLEntity(r):s}return{type:8,value:i,lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:n,end:this.scanner.index}}if(46===t){var a=this.scanner.source.charCodeAt(this.scanner.index+1),u=this.scanner.source.charCodeAt(this.scanner.index+2),e=46===a&&46===u?\"...\":\".\",n=this.scanner.index;return this.scanner.index+=e.length,{type:7,value:e,lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:n,end:this.scanner.index}}if(96===t)return{type:10,value:\"\",lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:this.scanner.index,end:this.scanner.index};if(o.Character.isIdentifierStart(t)&&92!==t){var n=this.scanner.index;for(++this.scanner.index;!this.scanner.eof();){var s=this.scanner.source.charCodeAt(this.scanner.index);if(o.Character.isIdentifierPart(s)&&92!==s)++this.scanner.index;else{if(45!==s)break;++this.scanner.index}}return{type:100,value:this.scanner.source.slice(n,this.scanner.index),lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:n,end:this.scanner.index}}return this.scanner.lex()},e.prototype.nextJSXToken=function(){this.collectComments(),this.startMarker.index=this.scanner.index,this.startMarker.line=this.scanner.lineNumber,this.startMarker.column=this.scanner.index-this.scanner.lineStart;var t=this.lexJSX();return this.lastMarker.index=this.scanner.index,this.lastMarker.line=this.scanner.lineNumber,this.lastMarker.column=this.scanner.index-this.scanner.lineStart,this.config.tokens&&this.tokens.push(this.convertToken(t)),t},e.prototype.nextJSXText=function(){this.startMarker.index=this.scanner.index,this.startMarker.line=this.scanner.lineNumber,this.startMarker.column=this.scanner.index-this.scanner.lineStart;for(var t=this.scanner.index,e=\"\";!this.scanner.eof();){var n=this.scanner.source[this.scanner.index];if(\"{\"===n||\"<\"===n)break;++this.scanner.index,e+=n,o.Character.isLineTerminator(n.charCodeAt(0))&&(++this.scanner.lineNumber,\"\\r\"===n&&\"\\n\"===this.scanner.source[this.scanner.index]&&++this.scanner.index,this.scanner.lineStart=this.scanner.index)}this.lastMarker.index=this.scanner.index,this.lastMarker.line=this.scanner.lineNumber,this.lastMarker.column=this.scanner.index-this.scanner.lineStart;var r={type:101,value:e,lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:t,end:this.scanner.index};return e.length>0&&this.config.tokens&&this.tokens.push(this.convertToken(r)),r},e.prototype.peekJSXToken=function(){var t=this.scanner.saveState();this.scanner.scanComments();var e=this.lexJSX();return this.scanner.restoreState(t),e},e.prototype.expectJSX=function(t){var e=this.nextJSXToken();7===e.type&&e.value===t||this.throwUnexpectedToken(e)},e.prototype.matchJSX=function(t){var e=this.peekJSXToken();return 7===e.type&&e.value===t},e.prototype.parseJSXIdentifier=function(){var t=this.createJSXNode(),e=this.nextJSXToken();return 100!==e.type&&this.throwUnexpectedToken(e),this.finalize(t,new s.JSXIdentifier(e.value))},e.prototype.parseJSXElementName=function(){var t=this.createJSXNode(),e=this.parseJSXIdentifier();if(this.matchJSX(\":\")){var n=e;this.expectJSX(\":\");var r=this.parseJSXIdentifier();e=this.finalize(t,new s.JSXNamespacedName(n,r))}else if(this.matchJSX(\".\"))for(;this.matchJSX(\".\");){var i=e;this.expectJSX(\".\");var o=this.parseJSXIdentifier();e=this.finalize(t,new s.JSXMemberExpression(i,o))}return e},e.prototype.parseJSXAttributeName=function(){var t,e=this.createJSXNode(),n=this.parseJSXIdentifier();if(this.matchJSX(\":\")){var r=n;this.expectJSX(\":\");var i=this.parseJSXIdentifier();t=this.finalize(e,new s.JSXNamespacedName(r,i))}else t=n;return t},e.prototype.parseJSXStringLiteralAttribute=function(){var t=this.createJSXNode(),e=this.nextJSXToken();8!==e.type&&this.throwUnexpectedToken(e);var n=this.getTokenRaw(e);return this.finalize(t,new u.Literal(e.value,n))},e.prototype.parseJSXExpressionAttribute=function(){var t=this.createJSXNode();this.expectJSX(\"{\"),this.finishJSX(),this.match(\"}\")&&this.tolerateError(\"JSX attributes must only be assigned a non-empty expression\");var e=this.parseAssignmentExpression();return this.reenterJSX(),this.finalize(t,new s.JSXExpressionContainer(e))},e.prototype.parseJSXAttributeValue=function(){return this.matchJSX(\"{\")?this.parseJSXExpressionAttribute():this.matchJSX(\"<\")?this.parseJSXElement():this.parseJSXStringLiteralAttribute()},e.prototype.parseJSXNameValueAttribute=function(){var t=this.createJSXNode(),e=this.parseJSXAttributeName(),n=null;return this.matchJSX(\"=\")&&(this.expectJSX(\"=\"),n=this.parseJSXAttributeValue()),this.finalize(t,new s.JSXAttribute(e,n))},e.prototype.parseJSXSpreadAttribute=function(){var t=this.createJSXNode();this.expectJSX(\"{\"),this.expectJSX(\"...\"),this.finishJSX();var e=this.parseAssignmentExpression();return this.reenterJSX(),this.finalize(t,new s.JSXSpreadAttribute(e))},e.prototype.parseJSXAttributes=function(){for(var t=[];!this.matchJSX(\"/\")&&!this.matchJSX(\">\");){var e=this.matchJSX(\"{\")?this.parseJSXSpreadAttribute():this.parseJSXNameValueAttribute();t.push(e)}return t},e.prototype.parseJSXOpeningElement=function(){var t=this.createJSXNode();this.expectJSX(\"<\");var e=this.parseJSXElementName(),n=this.parseJSXAttributes(),r=this.matchJSX(\"/\");return r&&this.expectJSX(\"/\"),this.expectJSX(\">\"),this.finalize(t,new s.JSXOpeningElement(e,r,n))},e.prototype.parseJSXBoundaryElement=function(){var t=this.createJSXNode();if(this.expectJSX(\"<\"),this.matchJSX(\"/\")){this.expectJSX(\"/\");var e=this.parseJSXElementName();return this.expectJSX(\">\"),this.finalize(t,new s.JSXClosingElement(e))}var n=this.parseJSXElementName(),r=this.parseJSXAttributes(),i=this.matchJSX(\"/\");return i&&this.expectJSX(\"/\"),this.expectJSX(\">\"),this.finalize(t,new s.JSXOpeningElement(n,i,r))},e.prototype.parseJSXEmptyExpression=function(){var t=this.createJSXChildNode();return this.collectComments(),this.lastMarker.index=this.scanner.index,this.lastMarker.line=this.scanner.lineNumber,this.lastMarker.column=this.scanner.index-this.scanner.lineStart,this.finalize(t,new s.JSXEmptyExpression)},e.prototype.parseJSXExpressionContainer=function(){var t=this.createJSXNode();this.expectJSX(\"{\");var e;return this.matchJSX(\"}\")?(e=this.parseJSXEmptyExpression(),this.expectJSX(\"}\")):(this.finishJSX(),e=this.parseAssignmentExpression(),this.reenterJSX()),this.finalize(t,new s.JSXExpressionContainer(e))},e.prototype.parseJSXChildren=function(){for(var t=[];!this.scanner.eof();){var e=this.createJSXChildNode(),n=this.nextJSXText();if(n.start<n.end){var r=this.getTokenRaw(n),i=this.finalize(e,new s.JSXText(n.value,r));t.push(i)}if(\"{\"!==this.scanner.source[this.scanner.index])break;var o=this.parseJSXExpressionContainer();t.push(o)}return t},e.prototype.parseComplexJSXElement=function(t){for(var e=[];!this.scanner.eof();){t.children=t.children.concat(this.parseJSXChildren());var n=this.createJSXChildNode(),i=this.parseJSXBoundaryElement();if(i.type===a.JSXSyntax.JSXOpeningElement){var o=i;if(o.selfClosing){var u=this.finalize(n,new s.JSXElement(o,[],null));t.children.push(u)}else e.push(t),t={node:n,opening:o,closing:null,children:[]}}if(i.type===a.JSXSyntax.JSXClosingElement){t.closing=i;var c=r(t.opening.name);if(c!==r(t.closing.name)&&this.tolerateError(\"Expected corresponding JSX closing tag for %0\",c),!(e.length>0))break;var u=this.finalize(t.node,new s.JSXElement(t.opening,t.children,t.closing));t=e[e.length-1],t.children.push(u),e.pop()}}return t},e.prototype.parseJSXElement=function(){var t=this.createJSXNode(),e=this.parseJSXOpeningElement(),n=[],r=null;if(!e.selfClosing){var i=this.parseComplexJSXElement({node:t,opening:e,closing:r,children:n});n=i.children,r=i.closing}return this.finalize(t,new s.JSXElement(e,n,r))},e.prototype.parseJSXRoot=function(){this.config.tokens&&this.tokens.pop(),this.startJSX();var t=this.parseJSXElement();return this.finishJSX(),t},e.prototype.isStartOfExpression=function(){return t.prototype.isStartOfExpression.call(this)||this.match(\"<\")},e}(c.Parser);e.JSXParser=f},function(t,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var n={NonAsciiIdentifierStart:/[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u08A0-\\u08B4\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0AF9\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C60\\u0C61\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D5F-\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2118-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309B-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AD\\uA7B0-\\uA7B7\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD40-\\uDD74\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDF00-\\uDF1F\\uDF30-\\uDF4A\\uDF50-\\uDF75\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00\\uDE10-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE33\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE4\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2]|\\uD804[\\uDC03-\\uDC37\\uDC83-\\uDCAF\\uDCD0-\\uDCE8\\uDD03-\\uDD26\\uDD50-\\uDD72\\uDD76\\uDD83-\\uDDB2\\uDDC1-\\uDDC4\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE2B\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEDE\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3D\\uDF50\\uDF5D-\\uDF61]|\\uD805[\\uDC80-\\uDCAF\\uDCC4\\uDCC5\\uDCC7\\uDD80-\\uDDAE\\uDDD8-\\uDDDB\\uDE00-\\uDE2F\\uDE44\\uDE80-\\uDEAA\\uDF00-\\uDF19]|\\uD806[\\uDCA0-\\uDCDF\\uDCFF\\uDEC0-\\uDEF8]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|[\\uD80C\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDED0-\\uDEED\\uDF00-\\uDF2F\\uDF40-\\uDF43\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDF00-\\uDF44\\uDF50\\uDF93-\\uDF9F]|\\uD82C[\\uDC00\\uDC01]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB]|\\uD83A[\\uDC00-\\uDCC4]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDED6\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1]|\\uD87E[\\uDC00-\\uDE1D]/,NonAsciiIdentifierPart:/[\\xAA\\xB5\\xB7\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0300-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u0483-\\u0487\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0610-\\u061A\\u0620-\\u0669\\u066E-\\u06D3\\u06D5-\\u06DC\\u06DF-\\u06E8\\u06EA-\\u06FC\\u06FF\\u0710-\\u074A\\u074D-\\u07B1\\u07C0-\\u07F5\\u07FA\\u0800-\\u082D\\u0840-\\u085B\\u08A0-\\u08B4\\u08E3-\\u0963\\u0966-\\u096F\\u0971-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09F1\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A75\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AEF\\u0AF9\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B6F\\u0B71\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C03\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C58-\\u0C5A\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C81-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D01-\\u0D03\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4E\\u0D57\\u0D5F-\\u0D63\\u0D66-\\u0D6F\\u0D7A-\\u0D7F\\u0D82\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E01-\\u0E3A\\u0E40-\\u0E4E\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB9\\u0EBB-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F84\\u0F86-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u1000-\\u1049\\u1050-\\u109D\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u135D-\\u135F\\u1369-\\u1371\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1714\\u1720-\\u1734\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17D3\\u17D7\\u17DC\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u1810-\\u1819\\u1820-\\u1877\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19DA\\u1A00-\\u1A1B\\u1A20-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1AB0-\\u1ABD\\u1B00-\\u1B4B\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1BF3\\u1C00-\\u1C37\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1CD0-\\u1CD2\\u1CD4-\\u1CF6\\u1CF8\\u1CF9\\u1D00-\\u1DF5\\u1DFC-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u200C\\u200D\\u203F\\u2040\\u2054\\u2071\\u207F\\u2090-\\u209C\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2118-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D7F-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2DFF\\u3005-\\u3007\\u3021-\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u3099-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66F\\uA674-\\uA67D\\uA67F-\\uA6F1\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AD\\uA7B0-\\uA7B7\\uA7F7-\\uA827\\uA840-\\uA873\\uA880-\\uA8C4\\uA8D0-\\uA8D9\\uA8E0-\\uA8F7\\uA8FB\\uA8FD\\uA900-\\uA92D\\uA930-\\uA953\\uA960-\\uA97C\\uA980-\\uA9C0\\uA9CF-\\uA9D9\\uA9E0-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A-\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEF\\uAAF2-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE00-\\uFE0F\\uFE20-\\uFE2F\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF3F\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD40-\\uDD74\\uDDFD\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDEE0\\uDF00-\\uDF1F\\uDF30-\\uDF4A\\uDF50-\\uDF7A\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDCA0-\\uDCA9\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00-\\uDE03\\uDE05\\uDE06\\uDE0C-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE33\\uDE38-\\uDE3A\\uDE3F\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE6\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2]|\\uD804[\\uDC00-\\uDC46\\uDC66-\\uDC6F\\uDC7F-\\uDCBA\\uDCD0-\\uDCE8\\uDCF0-\\uDCF9\\uDD00-\\uDD34\\uDD36-\\uDD3F\\uDD50-\\uDD73\\uDD76\\uDD80-\\uDDC4\\uDDCA-\\uDDCC\\uDDD0-\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE37\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEEA\\uDEF0-\\uDEF9\\uDF00-\\uDF03\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3C-\\uDF44\\uDF47\\uDF48\\uDF4B-\\uDF4D\\uDF50\\uDF57\\uDF5D-\\uDF63\\uDF66-\\uDF6C\\uDF70-\\uDF74]|\\uD805[\\uDC80-\\uDCC5\\uDCC7\\uDCD0-\\uDCD9\\uDD80-\\uDDB5\\uDDB8-\\uDDC0\\uDDD8-\\uDDDD\\uDE00-\\uDE40\\uDE44\\uDE50-\\uDE59\\uDE80-\\uDEB7\\uDEC0-\\uDEC9\\uDF00-\\uDF19\\uDF1D-\\uDF2B\\uDF30-\\uDF39]|\\uD806[\\uDCA0-\\uDCE9\\uDCFF\\uDEC0-\\uDEF8]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|[\\uD80C\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDE60-\\uDE69\\uDED0-\\uDEED\\uDEF0-\\uDEF4\\uDF00-\\uDF36\\uDF40-\\uDF43\\uDF50-\\uDF59\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDF00-\\uDF44\\uDF50-\\uDF7E\\uDF8F-\\uDF9F]|\\uD82C[\\uDC00\\uDC01]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99\\uDC9D\\uDC9E]|\\uD834[\\uDD65-\\uDD69\\uDD6D-\\uDD72\\uDD7B-\\uDD82\\uDD85-\\uDD8B\\uDDAA-\\uDDAD\\uDE42-\\uDE44]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB\\uDFCE-\\uDFFF]|\\uD836[\\uDE00-\\uDE36\\uDE3B-\\uDE6C\\uDE75\\uDE84\\uDE9B-\\uDE9F\\uDEA1-\\uDEAF]|\\uD83A[\\uDC00-\\uDCC4\\uDCD0-\\uDCD6]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDED6\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1]|\\uD87E[\\uDC00-\\uDE1D]|\\uDB40[\\uDD00-\\uDDEF]/};e.Character={fromCodePoint:function(t){return t<65536?String.fromCharCode(t):String.fromCharCode(55296+(t-65536>>10))+String.fromCharCode(56320+(t-65536&1023))},isWhiteSpace:function(t){return 32===t||9===t||11===t||12===t||160===t||t>=5760&&[5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279].indexOf(t)>=0},isLineTerminator:function(t){return 10===t||13===t||8232===t||8233===t},isIdentifierStart:function(t){return 36===t||95===t||t>=65&&t<=90||t>=97&&t<=122||92===t||t>=128&&n.NonAsciiIdentifierStart.test(e.Character.fromCodePoint(t))},isIdentifierPart:function(t){return 36===t||95===t||t>=65&&t<=90||t>=97&&t<=122||t>=48&&t<=57||92===t||t>=128&&n.NonAsciiIdentifierPart.test(e.Character.fromCodePoint(t))},isDecimalDigit:function(t){return t>=48&&t<=57},isHexDigit:function(t){return t>=48&&t<=57||t>=65&&t<=70||t>=97&&t<=102},isOctalDigit:function(t){return t>=48&&t<=55}}},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var r=n(6),i=function(){function t(t){this.type=r.JSXSyntax.JSXClosingElement,this.name=t}return t}();e.JSXClosingElement=i;var o=function(){function t(t,e,n){this.type=r.JSXSyntax.JSXElement,this.openingElement=t,this.children=e,this.closingElement=n}return t}();e.JSXElement=o;var s=function(){function t(){this.type=r.JSXSyntax.JSXEmptyExpression}return t}();e.JSXEmptyExpression=s;var a=function(){function t(t){this.type=r.JSXSyntax.JSXExpressionContainer,this.expression=t}return t}();e.JSXExpressionContainer=a;var u=function(){function t(t){this.type=r.JSXSyntax.JSXIdentifier,this.name=t}return t}();e.JSXIdentifier=u;var c=function(){function t(t,e){this.type=r.JSXSyntax.JSXMemberExpression,this.object=t,this.property=e}return t}();e.JSXMemberExpression=c;var l=function(){function t(t,e){this.type=r.JSXSyntax.JSXAttribute,this.name=t,this.value=e}return t}();e.JSXAttribute=l;var h=function(){function t(t,e){this.type=r.JSXSyntax.JSXNamespacedName,this.namespace=t,this.name=e}return t}();e.JSXNamespacedName=h;var f=function(){function t(t,e,n){this.type=r.JSXSyntax.JSXOpeningElement,this.name=t,this.selfClosing=e,this.attributes=n}return t}();e.JSXOpeningElement=f;var p=function(){function t(t){this.type=r.JSXSyntax.JSXSpreadAttribute,this.argument=t}return t}();e.JSXSpreadAttribute=p;var d=function(){function t(t,e){this.type=r.JSXSyntax.JSXText,this.value=t,this.raw=e}return t}();e.JSXText=d},function(t,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.JSXSyntax={JSXAttribute:\"JSXAttribute\",JSXClosingElement:\"JSXClosingElement\",JSXElement:\"JSXElement\",JSXEmptyExpression:\"JSXEmptyExpression\",JSXExpressionContainer:\"JSXExpressionContainer\",JSXIdentifier:\"JSXIdentifier\",JSXMemberExpression:\"JSXMemberExpression\",JSXNamespacedName:\"JSXNamespacedName\",JSXOpeningElement:\"JSXOpeningElement\",JSXSpreadAttribute:\"JSXSpreadAttribute\",JSXText:\"JSXText\"}},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var r=n(2),i=function(){function t(t){this.type=r.Syntax.ArrayExpression,this.elements=t}return t}();e.ArrayExpression=i;var o=function(){function t(t){this.type=r.Syntax.ArrayPattern,this.elements=t}return t}();e.ArrayPattern=o;var s=function(){function t(t,e,n){this.type=r.Syntax.ArrowFunctionExpression,this.id=null,this.params=t,this.body=e,this.generator=!1,this.expression=n,this.async=!1}return t}();e.ArrowFunctionExpression=s;var a=function(){function t(t,e,n){this.type=r.Syntax.AssignmentExpression,this.operator=t,this.left=e,this.right=n}return t}();e.AssignmentExpression=a;var u=function(){function t(t,e){this.type=r.Syntax.AssignmentPattern,this.left=t,this.right=e}return t}();e.AssignmentPattern=u;var c=function(){function t(t,e,n){this.type=r.Syntax.ArrowFunctionExpression,this.id=null,this.params=t,this.body=e,this.generator=!1,this.expression=n,this.async=!0}return t}();e.AsyncArrowFunctionExpression=c;var l=function(){function t(t,e,n){this.type=r.Syntax.FunctionDeclaration,this.id=t,this.params=e,this.body=n,this.generator=!1,this.expression=!1,this.async=!0}return t}();e.AsyncFunctionDeclaration=l;var h=function(){function t(t,e,n){this.type=r.Syntax.FunctionExpression,this.id=t,this.params=e,this.body=n,this.generator=!1,this.expression=!1,this.async=!0}return t}();e.AsyncFunctionExpression=h;var f=function(){function t(t){this.type=r.Syntax.AwaitExpression,this.argument=t}return t}();e.AwaitExpression=f;var p=function(){function t(t,e,n){var i=\"||\"===t||\"&&\"===t;this.type=i?r.Syntax.LogicalExpression:r.Syntax.BinaryExpression,this.operator=t,this.left=e,this.right=n}return t}();e.BinaryExpression=p;var d=function(){function t(t){this.type=r.Syntax.BlockStatement,this.body=t}return t}();e.BlockStatement=d;var m=function(){function t(t){this.type=r.Syntax.BreakStatement,this.label=t}return t}();e.BreakStatement=m;var v=function(){function t(t,e){this.type=r.Syntax.CallExpression,this.callee=t,this.arguments=e}return t}();e.CallExpression=v;var y=function(){function t(t,e){this.type=r.Syntax.CatchClause,this.param=t,this.body=e}return t}();e.CatchClause=y;var g=function(){function t(t){this.type=r.Syntax.ClassBody,this.body=t}return t}();e.ClassBody=g;var x=function(){function t(t,e,n){this.type=r.Syntax.ClassDeclaration,this.id=t,this.superClass=e,this.body=n}return t}();e.ClassDeclaration=x;var b=function(){function t(t,e,n){this.type=r.Syntax.ClassExpression,this.id=t,this.superClass=e,this.body=n}return t}();e.ClassExpression=b;var D=function(){function t(t,e){this.type=r.Syntax.MemberExpression,this.computed=!0,this.object=t,this.property=e}return t}();e.ComputedMemberExpression=D;var E=function(){function t(t,e,n){this.type=r.Syntax.ConditionalExpression,this.test=t,this.consequent=e,this.alternate=n}return t}();e.ConditionalExpression=E;var w=function(){function t(t){this.type=r.Syntax.ContinueStatement,this.label=t}return t}();e.ContinueStatement=w;var _=function(){function t(){this.type=r.Syntax.DebuggerStatement}return t}();e.DebuggerStatement=_;var S=function(){function t(t,e){this.type=r.Syntax.ExpressionStatement,this.expression=t,this.directive=e}return t}();e.Directive=S;var A=function(){function t(t,e){this.type=r.Syntax.DoWhileStatement,this.body=t,this.test=e}return t}();e.DoWhileStatement=A;var C=function(){function t(){this.type=r.Syntax.EmptyStatement}return t}();e.EmptyStatement=C;var k=function(){function t(t){this.type=r.Syntax.ExportAllDeclaration,this.source=t}return t}();e.ExportAllDeclaration=k;var F=function(){function t(t){this.type=r.Syntax.ExportDefaultDeclaration,this.declaration=t}return t}();e.ExportDefaultDeclaration=F;var T=function(){function t(t,e,n){this.type=r.Syntax.ExportNamedDeclaration,this.declaration=t,this.specifiers=e,this.source=n}return t}();e.ExportNamedDeclaration=T;var I=function(){function t(t,e){this.type=r.Syntax.ExportSpecifier,this.exported=e,this.local=t}return t}();e.ExportSpecifier=I;var O=function(){function t(t){this.type=r.Syntax.ExpressionStatement,this.expression=t}return t}();e.ExpressionStatement=O;var M=function(){function t(t,e,n){this.type=r.Syntax.ForInStatement,this.left=t,this.right=e,this.body=n,this.each=!1}return t}();e.ForInStatement=M;var B=function(){function t(t,e,n){this.type=r.Syntax.ForOfStatement,this.left=t,this.right=e,this.body=n}return t}();e.ForOfStatement=B;var P=function(){function t(t,e,n,i){this.type=r.Syntax.ForStatement,this.init=t,this.test=e,this.update=n,this.body=i}return t}();e.ForStatement=P;var j=function(){function t(t,e,n,i){this.type=r.Syntax.FunctionDeclaration,this.id=t,this.params=e,this.body=n,this.generator=i,this.expression=!1,this.async=!1}return t}();e.FunctionDeclaration=j;var N=function(){function t(t,e,n,i){this.type=r.Syntax.FunctionExpression,this.id=t,this.params=e,this.body=n,this.generator=i,this.expression=!1,this.async=!1}return t}();e.FunctionExpression=N;var L=function(){function t(t){this.type=r.Syntax.Identifier,this.name=t}return t}();e.Identifier=L;var R=function(){function t(t,e,n){this.type=r.Syntax.IfStatement,this.test=t,this.consequent=e,this.alternate=n}return t}();e.IfStatement=R;var z=function(){function t(t,e){this.type=r.Syntax.ImportDeclaration,this.specifiers=t,this.source=e}return t}();e.ImportDeclaration=z;var U=function(){function t(t){this.type=r.Syntax.ImportDefaultSpecifier,this.local=t}return t}();e.ImportDefaultSpecifier=U;var J=function(){function t(t){this.type=r.Syntax.ImportNamespaceSpecifier,this.local=t}return t}();e.ImportNamespaceSpecifier=J;var X=function(){function t(t,e){this.type=r.Syntax.ImportSpecifier,this.local=t,this.imported=e}return t}();e.ImportSpecifier=X;var q=function(){function t(t,e){this.type=r.Syntax.LabeledStatement,this.label=t,this.body=e}return t}();e.LabeledStatement=q;var K=function(){function t(t,e){this.type=r.Syntax.Literal,this.value=t,this.raw=e}return t}();e.Literal=K;var W=function(){function t(t,e){this.type=r.Syntax.MetaProperty,this.meta=t,this.property=e}return t}();e.MetaProperty=W;var Y=function(){function t(t,e,n,i,o){this.type=r.Syntax.MethodDefinition,this.key=t,this.computed=e,this.value=n,this.kind=i,this.static=o}return t}();e.MethodDefinition=Y;var V=function(){function t(t){this.type=r.Syntax.Program,this.body=t,this.sourceType=\"module\"}return t}();e.Module=V;var H=function(){function t(t,e){this.type=r.Syntax.NewExpression,this.callee=t,this.arguments=e}return t}();e.NewExpression=H;var G=function(){function t(t){this.type=r.Syntax.ObjectExpression,this.properties=t}return t}();e.ObjectExpression=G;var $=function(){function t(t){this.type=r.Syntax.ObjectPattern,this.properties=t}return t}();e.ObjectPattern=$;var Z=function(){function t(t,e,n,i,o,s){this.type=r.Syntax.Property,this.key=e,this.computed=n,this.value=i,this.kind=t,this.method=o,this.shorthand=s}return t}();e.Property=Z;var Q=function(){function t(t,e,n,i){this.type=r.Syntax.Literal,this.value=t,this.raw=e,this.regex={pattern:n,flags:i}}return t}();e.RegexLiteral=Q;var tt=function(){function t(t){this.type=r.Syntax.RestElement,this.argument=t}return t}();e.RestElement=tt;var et=function(){function t(t){this.type=r.Syntax.ReturnStatement,this.argument=t}return t}();e.ReturnStatement=et;var nt=function(){function t(t){this.type=r.Syntax.Program,this.body=t,this.sourceType=\"script\"}return t}();e.Script=nt;var rt=function(){function t(t){this.type=r.Syntax.SequenceExpression,this.expressions=t}return t}();e.SequenceExpression=rt;var it=function(){function t(t){this.type=r.Syntax.SpreadElement,this.argument=t}return t}();e.SpreadElement=it;var ot=function(){function t(t,e){this.type=r.Syntax.MemberExpression,this.computed=!1,this.object=t,this.property=e}return t}();e.StaticMemberExpression=ot;var st=function(){function t(){this.type=r.Syntax.Super}return t}();e.Super=st;var at=function(){function t(t,e){this.type=r.Syntax.SwitchCase,this.test=t,this.consequent=e}return t}();e.SwitchCase=at;var ut=function(){function t(t,e){this.type=r.Syntax.SwitchStatement,this.discriminant=t,this.cases=e}return t}();e.SwitchStatement=ut;var ct=function(){function t(t,e){this.type=r.Syntax.TaggedTemplateExpression,this.tag=t,this.quasi=e}return t}();e.TaggedTemplateExpression=ct;var lt=function(){function t(t,e){this.type=r.Syntax.TemplateElement,this.value=t,this.tail=e}return t}();e.TemplateElement=lt;var ht=function(){function t(t,e){this.type=r.Syntax.TemplateLiteral,this.quasis=t,this.expressions=e}return t}();e.TemplateLiteral=ht;var ft=function(){function t(){this.type=r.Syntax.ThisExpression}return t}();e.ThisExpression=ft;var pt=function(){function t(t){this.type=r.Syntax.ThrowStatement,this.argument=t}return t}();e.ThrowStatement=pt;var dt=function(){function t(t,e,n){this.type=r.Syntax.TryStatement,this.block=t,this.handler=e,this.finalizer=n}return t}();e.TryStatement=dt;var mt=function(){function t(t,e){this.type=r.Syntax.UnaryExpression,this.operator=t,this.argument=e,this.prefix=!0}return t}();e.UnaryExpression=mt;var vt=function(){function t(t,e,n){this.type=r.Syntax.UpdateExpression,this.operator=t,this.argument=e,this.prefix=n}return t}();e.UpdateExpression=vt;var yt=function(){function t(t,e){this.type=r.Syntax.VariableDeclaration,this.declarations=t,this.kind=e}return t}();e.VariableDeclaration=yt;var gt=function(){function t(t,e){this.type=r.Syntax.VariableDeclarator,this.id=t,this.init=e}return t}();e.VariableDeclarator=gt;var xt=function(){function t(t,e){this.type=r.Syntax.WhileStatement,this.test=t,this.body=e}return t}();e.WhileStatement=xt;var bt=function(){function t(t,e){this.type=r.Syntax.WithStatement,this.object=t,this.body=e}return t}();e.WithStatement=bt;var Dt=function(){function t(t,e){this.type=r.Syntax.YieldExpression,this.argument=t,this.delegate=e}return t}();e.YieldExpression=Dt},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var r=n(9),i=n(10),o=n(11),s=n(7),a=n(12),u=n(2),c=n(13),l=function(){function t(t,e,n){void 0===e&&(e={}),this.config={range:\"boolean\"==typeof e.range&&e.range,loc:\"boolean\"==typeof e.loc&&e.loc,source:null,tokens:\"boolean\"==typeof e.tokens&&e.tokens,comment:\"boolean\"==typeof e.comment&&e.comment,tolerant:\"boolean\"==typeof e.tolerant&&e.tolerant},this.config.loc&&e.source&&null!==e.source&&(this.config.source=String(e.source)),this.delegate=n,this.errorHandler=new i.ErrorHandler,this.errorHandler.tolerant=this.config.tolerant,this.scanner=new a.Scanner(t,this.errorHandler),this.scanner.trackComment=this.config.comment,this.operatorPrecedence={\")\":0,\";\":0,\",\":0,\"=\":0,\"]\":0,\"||\":1,\"&&\":2,\"|\":3,\"^\":4,\"&\":5,\"==\":6,\"!=\":6,\"===\":6,\"!==\":6,\"<\":7,\">\":7,\"<=\":7,\">=\":7,\"<<\":8,\">>\":8,\">>>\":8,\"+\":9,\"-\":9,\"*\":11,\"/\":11,\"%\":11},this.lookahead={type:2,value:\"\",lineNumber:this.scanner.lineNumber,lineStart:0,start:0,end:0},this.hasLineTerminator=!1,this.context={isModule:!1,await:!1,allowIn:!0,allowStrictDirective:!0,allowYield:!0,firstCoverInitializedNameError:null,isAssignmentTarget:!1,isBindingElement:!1,inFunctionBody:!1,inIteration:!1,inSwitch:!1,labelSet:{},strict:!1},this.tokens=[],this.startMarker={index:0,line:this.scanner.lineNumber,column:0},this.lastMarker={index:0,line:this.scanner.lineNumber,column:0},this.nextToken(),this.lastMarker={index:this.scanner.index,line:this.scanner.lineNumber,column:this.scanner.index-this.scanner.lineStart}}return t.prototype.throwError=function(t){for(var e=[],n=1;n<arguments.length;n++)e[n-1]=arguments[n];var i=Array.prototype.slice.call(arguments,1),o=t.replace(/%(\\d)/g,function(t,e){return r.assert(e<i.length,\"Message reference must be in range\"),i[e]}),s=this.lastMarker.index,a=this.lastMarker.line,u=this.lastMarker.column+1;throw this.errorHandler.createError(s,a,u,o)},t.prototype.tolerateError=function(t){for(var e=[],n=1;n<arguments.length;n++)e[n-1]=arguments[n];var i=Array.prototype.slice.call(arguments,1),o=t.replace(/%(\\d)/g,function(t,e){return r.assert(e<i.length,\"Message reference must be in range\"),i[e]}),s=this.lastMarker.index,a=this.scanner.lineNumber,u=this.lastMarker.column+1;this.errorHandler.tolerateError(s,a,u,o)},t.prototype.unexpectedTokenError=function(t,e){var n,r=e||o.Messages.UnexpectedToken;if(t?(e||(r=2===t.type?o.Messages.UnexpectedEOS:3===t.type?o.Messages.UnexpectedIdentifier:6===t.type?o.Messages.UnexpectedNumber:8===t.type?o.Messages.UnexpectedString:10===t.type?o.Messages.UnexpectedTemplate:o.Messages.UnexpectedToken,4===t.type&&(this.scanner.isFutureReservedWord(t.value)?r=o.Messages.UnexpectedReserved:this.context.strict&&this.scanner.isStrictModeReservedWord(t.value)&&(r=o.Messages.StrictReservedWord))),n=t.value):n=\"ILLEGAL\",r=r.replace(\"%0\",n),t&&\"number\"==typeof t.lineNumber){var i=t.start,s=t.lineNumber,a=this.lastMarker.index-this.lastMarker.column,u=t.start-a+1;return this.errorHandler.createError(i,s,u,r)}var i=this.lastMarker.index,s=this.lastMarker.line,u=this.lastMarker.column+1;return this.errorHandler.createError(i,s,u,r)},t.prototype.throwUnexpectedToken=function(t,e){throw this.unexpectedTokenError(t,e)},t.prototype.tolerateUnexpectedToken=function(t,e){this.errorHandler.tolerate(this.unexpectedTokenError(t,e))},t.prototype.collectComments=function(){if(this.config.comment){var t=this.scanner.scanComments();if(t.length>0&&this.delegate)for(var e=0;e<t.length;++e){var n=t[e],r=void 0;r={type:n.multiLine?\"BlockComment\":\"LineComment\",value:this.scanner.source.slice(n.slice[0],n.slice[1])},this.config.range&&(r.range=n.range),this.config.loc&&(r.loc=n.loc);var i={start:{line:n.loc.start.line,column:n.loc.start.column,offset:n.range[0]},end:{line:n.loc.end.line,column:n.loc.end.column,offset:n.range[1]}};this.delegate(r,i)}}else this.scanner.scanComments()},t.prototype.getTokenRaw=function(t){return this.scanner.source.slice(t.start,t.end)},t.prototype.convertToken=function(t){var e={type:c.TokenName[t.type],value:this.getTokenRaw(t)};if(this.config.range&&(e.range=[t.start,t.end]),this.config.loc&&(e.loc={start:{line:this.startMarker.line,column:this.startMarker.column},end:{line:this.scanner.lineNumber,column:this.scanner.index-this.scanner.lineStart}}),9===t.type){var n=t.pattern,r=t.flags;e.regex={pattern:n,flags:r}}return e},t.prototype.nextToken=function(){var t=this.lookahead;this.lastMarker.index=this.scanner.index,this.lastMarker.line=this.scanner.lineNumber,this.lastMarker.column=this.scanner.index-this.scanner.lineStart,this.collectComments(),this.scanner.index!==this.startMarker.index&&(this.startMarker.index=this.scanner.index,this.startMarker.line=this.scanner.lineNumber,this.startMarker.column=this.scanner.index-this.scanner.lineStart);var e=this.scanner.lex();return this.hasLineTerminator=t.lineNumber!==e.lineNumber,e&&this.context.strict&&3===e.type&&this.scanner.isStrictModeReservedWord(e.value)&&(e.type=4),this.lookahead=e,this.config.tokens&&2!==e.type&&this.tokens.push(this.convertToken(e)),t},t.prototype.nextRegexToken=function(){this.collectComments();var t=this.scanner.scanRegExp();return this.config.tokens&&(this.tokens.pop(),this.tokens.push(this.convertToken(t))),this.lookahead=t,this.nextToken(),t},t.prototype.createNode=function(){return{index:this.startMarker.index,line:this.startMarker.line,column:this.startMarker.column}},t.prototype.startNode=function(t){return{index:t.start,line:t.lineNumber,column:t.start-t.lineStart}},t.prototype.finalize=function(t,e){if(this.config.range&&(e.range=[t.index,this.lastMarker.index]),this.config.loc&&(e.loc={start:{line:t.line,column:t.column},end:{line:this.lastMarker.line,column:this.lastMarker.column}},this.config.source&&(e.loc.source=this.config.source)),this.delegate){var n={start:{line:t.line,column:t.column,offset:t.index},end:{line:this.lastMarker.line,column:this.lastMarker.column,offset:this.lastMarker.index}};this.delegate(e,n)}return e},t.prototype.expect=function(t){var e=this.nextToken();7===e.type&&e.value===t||this.throwUnexpectedToken(e)},t.prototype.expectCommaSeparator=function(){if(this.config.tolerant){var t=this.lookahead;7===t.type&&\",\"===t.value?this.nextToken():7===t.type&&\";\"===t.value?(this.nextToken(),this.tolerateUnexpectedToken(t)):this.tolerateUnexpectedToken(t,o.Messages.UnexpectedToken)}else this.expect(\",\")},t.prototype.expectKeyword=function(t){var e=this.nextToken();4===e.type&&e.value===t||this.throwUnexpectedToken(e)},t.prototype.match=function(t){return 7===this.lookahead.type&&this.lookahead.value===t},t.prototype.matchKeyword=function(t){return 4===this.lookahead.type&&this.lookahead.value===t},t.prototype.matchContextualKeyword=function(t){return 3===this.lookahead.type&&this.lookahead.value===t},t.prototype.matchAssign=function(){if(7!==this.lookahead.type)return!1;var t=this.lookahead.value;return\"=\"===t||\"*=\"===t||\"**=\"===t||\"/=\"===t||\"%=\"===t||\"+=\"===t||\"-=\"===t||\"<<=\"===t||\">>=\"===t||\">>>=\"===t||\"&=\"===t||\"^=\"===t||\"|=\"===t},t.prototype.isolateCoverGrammar=function(t){var e=this.context.isBindingElement,n=this.context.isAssignmentTarget,r=this.context.firstCoverInitializedNameError;this.context.isBindingElement=!0,this.context.isAssignmentTarget=!0,this.context.firstCoverInitializedNameError=null;var i=t.call(this);return null!==this.context.firstCoverInitializedNameError&&this.throwUnexpectedToken(this.context.firstCoverInitializedNameError),this.context.isBindingElement=e,this.context.isAssignmentTarget=n,this.context.firstCoverInitializedNameError=r,i},t.prototype.inheritCoverGrammar=function(t){var e=this.context.isBindingElement,n=this.context.isAssignmentTarget,r=this.context.firstCoverInitializedNameError;this.context.isBindingElement=!0,this.context.isAssignmentTarget=!0,this.context.firstCoverInitializedNameError=null;var i=t.call(this);return this.context.isBindingElement=this.context.isBindingElement&&e,this.context.isAssignmentTarget=this.context.isAssignmentTarget&&n,this.context.firstCoverInitializedNameError=r||this.context.firstCoverInitializedNameError,i},t.prototype.consumeSemicolon=function(){this.match(\";\")?this.nextToken():this.hasLineTerminator||(2===this.lookahead.type||this.match(\"}\")||this.throwUnexpectedToken(this.lookahead),this.lastMarker.index=this.startMarker.index,this.lastMarker.line=this.startMarker.line,this.lastMarker.column=this.startMarker.column)},t.prototype.parsePrimaryExpression=function(){var t,e,n,r=this.createNode();switch(this.lookahead.type){case 3:(this.context.isModule||this.context.await)&&\"await\"===this.lookahead.value&&this.tolerateUnexpectedToken(this.lookahead),t=this.matchAsyncFunction()?this.parseFunctionExpression():this.finalize(r,new s.Identifier(this.nextToken().value));break;case 6:case 8:this.context.strict&&this.lookahead.octal&&this.tolerateUnexpectedToken(this.lookahead,o.Messages.StrictOctalLiteral),this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1,e=this.nextToken(),n=this.getTokenRaw(e),t=this.finalize(r,new s.Literal(e.value,n));break;case 1:this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1,e=this.nextToken(),n=this.getTokenRaw(e),t=this.finalize(r,new s.Literal(\"true\"===e.value,n));break;case 5:this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1,e=this.nextToken(),n=this.getTokenRaw(e),t=this.finalize(r,new s.Literal(null,n));break;case 10:t=this.parseTemplateLiteral();break;case 7:switch(this.lookahead.value){case\"(\":this.context.isBindingElement=!1,t=this.inheritCoverGrammar(this.parseGroupExpression);break;case\"[\":t=this.inheritCoverGrammar(this.parseArrayInitializer);break;case\"{\":t=this.inheritCoverGrammar(this.parseObjectInitializer);break;case\"/\":case\"/=\":this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1,this.scanner.index=this.startMarker.index,e=this.nextRegexToken(),n=this.getTokenRaw(e),t=this.finalize(r,new s.RegexLiteral(e.regex,n,e.pattern,e.flags));break;default:t=this.throwUnexpectedToken(this.nextToken())}break;case 4:!this.context.strict&&this.context.allowYield&&this.matchKeyword(\"yield\")?t=this.parseIdentifierName():!this.context.strict&&this.matchKeyword(\"let\")?t=this.finalize(r,new s.Identifier(this.nextToken().value)):(this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1,this.matchKeyword(\"function\")?t=this.parseFunctionExpression():this.matchKeyword(\"this\")?(this.nextToken(),t=this.finalize(r,new s.ThisExpression)):t=this.matchKeyword(\"class\")?this.parseClassExpression():this.throwUnexpectedToken(this.nextToken()));break;default:t=this.throwUnexpectedToken(this.nextToken())}return t},t.prototype.parseSpreadElement=function(){var t=this.createNode();this.expect(\"...\");var e=this.inheritCoverGrammar(this.parseAssignmentExpression);return this.finalize(t,new s.SpreadElement(e))},t.prototype.parseArrayInitializer=function(){var t=this.createNode(),e=[];for(this.expect(\"[\");!this.match(\"]\");)if(this.match(\",\"))this.nextToken(),e.push(null);else if(this.match(\"...\")){var n=this.parseSpreadElement();this.match(\"]\")||(this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1,this.expect(\",\")),e.push(n)}else e.push(this.inheritCoverGrammar(this.parseAssignmentExpression)),this.match(\"]\")||this.expect(\",\");return this.expect(\"]\"),this.finalize(t,new s.ArrayExpression(e))},t.prototype.parsePropertyMethod=function(t){this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1;var e=this.context.strict,n=this.context.allowStrictDirective;this.context.allowStrictDirective=t.simple;var r=this.isolateCoverGrammar(this.parseFunctionSourceElements);return this.context.strict&&t.firstRestricted&&this.tolerateUnexpectedToken(t.firstRestricted,t.message),this.context.strict&&t.stricted&&this.tolerateUnexpectedToken(t.stricted,t.message),this.context.strict=e,this.context.allowStrictDirective=n,r},t.prototype.parsePropertyMethodFunction=function(){var t=this.createNode(),e=this.context.allowYield;this.context.allowYield=!1;var n=this.parseFormalParameters(),r=this.parsePropertyMethod(n);return this.context.allowYield=e,this.finalize(t,new s.FunctionExpression(null,n.params,r,!1))},t.prototype.parsePropertyMethodAsyncFunction=function(){var t=this.createNode(),e=this.context.allowYield,n=this.context.await;this.context.allowYield=!1,this.context.await=!0;var r=this.parseFormalParameters(),i=this.parsePropertyMethod(r);return this.context.allowYield=e,this.context.await=n,this.finalize(t,new s.AsyncFunctionExpression(null,r.params,i))},t.prototype.parseObjectPropertyKey=function(){var t,e=this.createNode(),n=this.nextToken();switch(n.type){case 8:case 6:this.context.strict&&n.octal&&this.tolerateUnexpectedToken(n,o.Messages.StrictOctalLiteral);var r=this.getTokenRaw(n);t=this.finalize(e,new s.Literal(n.value,r));break;case 3:case 1:case 5:case 4:t=this.finalize(e,new s.Identifier(n.value));break;case 7:\"[\"===n.value?(t=this.isolateCoverGrammar(this.parseAssignmentExpression),this.expect(\"]\")):t=this.throwUnexpectedToken(n);break;default:t=this.throwUnexpectedToken(n)}return t},t.prototype.isPropertyKey=function(t,e){return t.type===u.Syntax.Identifier&&t.name===e||t.type===u.Syntax.Literal&&t.value===e},t.prototype.parseObjectProperty=function(t){var e,n=this.createNode(),r=this.lookahead,i=null,a=null,u=!1,c=!1,l=!1,h=!1;if(3===r.type){var f=r.value;this.nextToken(),u=this.match(\"[\"),h=!(this.hasLineTerminator||\"async\"!==f||this.match(\":\")||this.match(\"(\")||this.match(\"*\")),i=h?this.parseObjectPropertyKey():this.finalize(n,new s.Identifier(f))}else this.match(\"*\")?this.nextToken():(u=this.match(\"[\"),i=this.parseObjectPropertyKey());var p=this.qualifiedPropertyName(this.lookahead);if(3===r.type&&!h&&\"get\"===r.value&&p)e=\"get\",u=this.match(\"[\"),i=this.parseObjectPropertyKey(),this.context.allowYield=!1,a=this.parseGetterMethod();else if(3===r.type&&!h&&\"set\"===r.value&&p)e=\"set\",u=this.match(\"[\"),i=this.parseObjectPropertyKey(),a=this.parseSetterMethod();else if(7===r.type&&\"*\"===r.value&&p)e=\"init\",u=this.match(\"[\"),i=this.parseObjectPropertyKey(),a=this.parseGeneratorMethod(),c=!0;else if(i||this.throwUnexpectedToken(this.lookahead),e=\"init\",this.match(\":\")&&!h)!u&&this.isPropertyKey(i,\"__proto__\")&&(t.value&&this.tolerateError(o.Messages.DuplicateProtoProperty),t.value=!0),this.nextToken(),a=this.inheritCoverGrammar(this.parseAssignmentExpression);else if(this.match(\"(\"))a=h?this.parsePropertyMethodAsyncFunction():this.parsePropertyMethodFunction(),c=!0;else if(3===r.type){var f=this.finalize(n,new s.Identifier(r.value));if(this.match(\"=\")){this.context.firstCoverInitializedNameError=this.lookahead,this.nextToken(),l=!0;var d=this.isolateCoverGrammar(this.parseAssignmentExpression);a=this.finalize(n,new s.AssignmentPattern(f,d))}else l=!0,a=f}else this.throwUnexpectedToken(this.nextToken());return this.finalize(n,new s.Property(e,i,u,a,c,l))},t.prototype.parseObjectInitializer=function(){var t=this.createNode();this.expect(\"{\");for(var e=[],n={value:!1};!this.match(\"}\");)e.push(this.parseObjectProperty(n)),this.match(\"}\")||this.expectCommaSeparator();return this.expect(\"}\"),this.finalize(t,new s.ObjectExpression(e))},t.prototype.parseTemplateHead=function(){r.assert(this.lookahead.head,\"Template literal must start with a template head\");var t=this.createNode(),e=this.nextToken(),n=e.value,i=e.cooked;return this.finalize(t,new s.TemplateElement({raw:n,cooked:i},e.tail))},t.prototype.parseTemplateElement=function(){10!==this.lookahead.type&&this.throwUnexpectedToken();var t=this.createNode(),e=this.nextToken(),n=e.value,r=e.cooked;return this.finalize(t,new s.TemplateElement({raw:n,cooked:r},e.tail))},t.prototype.parseTemplateLiteral=function(){var t=this.createNode(),e=[],n=[],r=this.parseTemplateHead();for(n.push(r);!r.tail;)e.push(this.parseExpression()),r=this.parseTemplateElement(),n.push(r);return this.finalize(t,new s.TemplateLiteral(n,e))},t.prototype.reinterpretExpressionAsPattern=function(t){switch(t.type){case u.Syntax.Identifier:case u.Syntax.MemberExpression:case u.Syntax.RestElement:case u.Syntax.AssignmentPattern:break;case u.Syntax.SpreadElement:t.type=u.Syntax.RestElement,this.reinterpretExpressionAsPattern(t.argument);break;case u.Syntax.ArrayExpression:t.type=u.Syntax.ArrayPattern;for(var e=0;e<t.elements.length;e++)null!==t.elements[e]&&this.reinterpretExpressionAsPattern(t.elements[e]);break;case u.Syntax.ObjectExpression:t.type=u.Syntax.ObjectPattern;for(var e=0;e<t.properties.length;e++)this.reinterpretExpressionAsPattern(t.properties[e].value);break;case u.Syntax.AssignmentExpression:t.type=u.Syntax.AssignmentPattern,delete t.operator,this.reinterpretExpressionAsPattern(t.left)}},t.prototype.parseGroupExpression=function(){var t;if(this.expect(\"(\"),this.match(\")\"))this.nextToken(),this.match(\"=>\")||this.expect(\"=>\"),t={type:\"ArrowParameterPlaceHolder\",params:[],async:!1};else{var e=this.lookahead,n=[];if(this.match(\"...\"))t=this.parseRestElement(n),this.expect(\")\"),this.match(\"=>\")||this.expect(\"=>\"),t={type:\"ArrowParameterPlaceHolder\",params:[t],async:!1};else{var r=!1;if(this.context.isBindingElement=!0,t=this.inheritCoverGrammar(this.parseAssignmentExpression),this.match(\",\")){var i=[];for(this.context.isAssignmentTarget=!1,i.push(t);2!==this.lookahead.type&&this.match(\",\");){if(this.nextToken(),this.match(\")\")){this.nextToken();for(var o=0;o<i.length;o++)this.reinterpretExpressionAsPattern(i[o]);r=!0,t={type:\"ArrowParameterPlaceHolder\",params:i,async:!1}}else if(this.match(\"...\")){this.context.isBindingElement||this.throwUnexpectedToken(this.lookahead),i.push(this.parseRestElement(n)),this.expect(\")\"),this.match(\"=>\")||this.expect(\"=>\"),this.context.isBindingElement=!1;for(var o=0;o<i.length;o++)this.reinterpretExpressionAsPattern(i[o]);r=!0,t={type:\"ArrowParameterPlaceHolder\",params:i,async:!1}}else i.push(this.inheritCoverGrammar(this.parseAssignmentExpression));if(r)break}r||(t=this.finalize(this.startNode(e),new s.SequenceExpression(i)))}if(!r){if(this.expect(\")\"),this.match(\"=>\")&&(t.type===u.Syntax.Identifier&&\"yield\"===t.name&&(r=!0,t={type:\"ArrowParameterPlaceHolder\",params:[t],async:!1}),!r)){if(this.context.isBindingElement||this.throwUnexpectedToken(this.lookahead),t.type===u.Syntax.SequenceExpression)for(var o=0;o<t.expressions.length;o++)this.reinterpretExpressionAsPattern(t.expressions[o]);else this.reinterpretExpressionAsPattern(t);t={type:\"ArrowParameterPlaceHolder\",params:t.type===u.Syntax.SequenceExpression?t.expressions:[t],async:!1}}this.context.isBindingElement=!1}}}return t},t.prototype.parseArguments=function(){this.expect(\"(\");var t=[];if(!this.match(\")\"))for(;;){var e=this.match(\"...\")?this.parseSpreadElement():this.isolateCoverGrammar(this.parseAssignmentExpression);if(t.push(e),this.match(\")\"))break;if(this.expectCommaSeparator(),this.match(\")\"))break}return this.expect(\")\"),t},t.prototype.isIdentifierName=function(t){return 3===t.type||4===t.type||1===t.type||5===t.type},t.prototype.parseIdentifierName=function(){var t=this.createNode(),e=this.nextToken();return this.isIdentifierName(e)||this.throwUnexpectedToken(e),this.finalize(t,new s.Identifier(e.value))},t.prototype.parseNewExpression=function(){var t=this.createNode(),e=this.parseIdentifierName();r.assert(\"new\"===e.name,\"New expression must start with `new`\");var n;if(this.match(\".\"))if(this.nextToken(),3===this.lookahead.type&&this.context.inFunctionBody&&\"target\"===this.lookahead.value){var i=this.parseIdentifierName();n=new s.MetaProperty(e,i)}else this.throwUnexpectedToken(this.lookahead);else{var o=this.isolateCoverGrammar(this.parseLeftHandSideExpression),a=this.match(\"(\")?this.parseArguments():[];n=new s.NewExpression(o,a),this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1}return this.finalize(t,n)},t.prototype.parseAsyncArgument=function(){var t=this.parseAssignmentExpression();return this.context.firstCoverInitializedNameError=null,t},t.prototype.parseAsyncArguments=function(){this.expect(\"(\");var t=[];if(!this.match(\")\"))for(;;){var e=this.match(\"...\")?this.parseSpreadElement():this.isolateCoverGrammar(this.parseAsyncArgument);if(t.push(e),this.match(\")\"))break;if(this.expectCommaSeparator(),this.match(\")\"))break}return this.expect(\")\"),t},t.prototype.parseLeftHandSideExpressionAllowCall=function(){var t=this.lookahead,e=this.matchContextualKeyword(\"async\"),n=this.context.allowIn;this.context.allowIn=!0;var r;for(this.matchKeyword(\"super\")&&this.context.inFunctionBody?(r=this.createNode(),this.nextToken(),r=this.finalize(r,new s.Super),this.match(\"(\")||this.match(\".\")||this.match(\"[\")||this.throwUnexpectedToken(this.lookahead)):r=this.inheritCoverGrammar(this.matchKeyword(\"new\")?this.parseNewExpression:this.parsePrimaryExpression);;)if(this.match(\".\")){this.context.isBindingElement=!1,this.context.isAssignmentTarget=!0,this.expect(\".\");var i=this.parseIdentifierName();r=this.finalize(this.startNode(t),new s.StaticMemberExpression(r,i))}else if(this.match(\"(\")){var o=e&&t.lineNumber===this.lookahead.lineNumber;this.context.isBindingElement=!1,this.context.isAssignmentTarget=!1;var a=o?this.parseAsyncArguments():this.parseArguments();if(r=this.finalize(this.startNode(t),new s.CallExpression(r,a)),o&&this.match(\"=>\")){for(var u=0;u<a.length;++u)this.reinterpretExpressionAsPattern(a[u]);r={type:\"ArrowParameterPlaceHolder\",params:a,async:!0}}}else if(this.match(\"[\")){this.context.isBindingElement=!1,this.context.isAssignmentTarget=!0,this.expect(\"[\");var i=this.isolateCoverGrammar(this.parseExpression);this.expect(\"]\"),r=this.finalize(this.startNode(t),new s.ComputedMemberExpression(r,i))}else{if(10!==this.lookahead.type||!this.lookahead.head)break;var c=this.parseTemplateLiteral();r=this.finalize(this.startNode(t),new s.TaggedTemplateExpression(r,c))}return this.context.allowIn=n,r},t.prototype.parseSuper=function(){var t=this.createNode();return this.expectKeyword(\"super\"),this.match(\"[\")||this.match(\".\")||this.throwUnexpectedToken(this.lookahead),this.finalize(t,new s.Super)},t.prototype.parseLeftHandSideExpression=function(){r.assert(this.context.allowIn,\"callee of new expression always allow in keyword.\");for(var t=this.startNode(this.lookahead),e=this.matchKeyword(\"super\")&&this.context.inFunctionBody?this.parseSuper():this.inheritCoverGrammar(this.matchKeyword(\"new\")?this.parseNewExpression:this.parsePrimaryExpression);;)if(this.match(\"[\")){this.context.isBindingElement=!1,this.context.isAssignmentTarget=!0,this.expect(\"[\");var n=this.isolateCoverGrammar(this.parseExpression);this.expect(\"]\"),e=this.finalize(t,new s.ComputedMemberExpression(e,n))}else if(this.match(\".\")){this.context.isBindingElement=!1,this.context.isAssignmentTarget=!0,this.expect(\".\");var n=this.parseIdentifierName();e=this.finalize(t,new s.StaticMemberExpression(e,n))}else{if(10!==this.lookahead.type||!this.lookahead.head)break;var i=this.parseTemplateLiteral();e=this.finalize(t,new s.TaggedTemplateExpression(e,i))}return e},t.prototype.parseUpdateExpression=function(){var t,e=this.lookahead;if(this.match(\"++\")||this.match(\"--\")){var n=this.startNode(e),r=this.nextToken();t=this.inheritCoverGrammar(this.parseUnaryExpression),this.context.strict&&t.type===u.Syntax.Identifier&&this.scanner.isRestrictedWord(t.name)&&this.tolerateError(o.Messages.StrictLHSPrefix),this.context.isAssignmentTarget||this.tolerateError(o.Messages.InvalidLHSInAssignment);var i=!0;t=this.finalize(n,new s.UpdateExpression(r.value,t,i)),this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1}else if(t=this.inheritCoverGrammar(this.parseLeftHandSideExpressionAllowCall),!this.hasLineTerminator&&7===this.lookahead.type&&(this.match(\"++\")||this.match(\"--\"))){this.context.strict&&t.type===u.Syntax.Identifier&&this.scanner.isRestrictedWord(t.name)&&this.tolerateError(o.Messages.StrictLHSPostfix),this.context.isAssignmentTarget||this.tolerateError(o.Messages.InvalidLHSInAssignment),this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1;var a=this.nextToken().value,i=!1;t=this.finalize(this.startNode(e),new s.UpdateExpression(a,t,i))}return t},t.prototype.parseAwaitExpression=function(){var t=this.createNode();this.nextToken();var e=this.parseUnaryExpression();return this.finalize(t,new s.AwaitExpression(e))},t.prototype.parseUnaryExpression=function(){var t;if(this.match(\"+\")||this.match(\"-\")||this.match(\"~\")||this.match(\"!\")||this.matchKeyword(\"delete\")||this.matchKeyword(\"void\")||this.matchKeyword(\"typeof\")){var e=this.startNode(this.lookahead),n=this.nextToken();t=this.inheritCoverGrammar(this.parseUnaryExpression),t=this.finalize(e,new s.UnaryExpression(n.value,t)),this.context.strict&&\"delete\"===t.operator&&t.argument.type===u.Syntax.Identifier&&this.tolerateError(o.Messages.StrictDelete),this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1}else t=this.context.await&&this.matchContextualKeyword(\"await\")?this.parseAwaitExpression():this.parseUpdateExpression();return t},t.prototype.parseExponentiationExpression=function(){var t=this.lookahead,e=this.inheritCoverGrammar(this.parseUnaryExpression);if(e.type!==u.Syntax.UnaryExpression&&this.match(\"**\")){this.nextToken(),this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1;var n=e,r=this.isolateCoverGrammar(this.parseExponentiationExpression);e=this.finalize(this.startNode(t),new s.BinaryExpression(\"**\",n,r))}return e},t.prototype.binaryPrecedence=function(t){var e=t.value;return 7===t.type?this.operatorPrecedence[e]||0:4===t.type&&(\"instanceof\"===e||this.context.allowIn&&\"in\"===e)?7:0},t.prototype.parseBinaryExpression=function(){var t=this.lookahead,e=this.inheritCoverGrammar(this.parseExponentiationExpression),n=this.lookahead,r=this.binaryPrecedence(n);if(r>0){this.nextToken(),this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1;for(var i=[t,this.lookahead],o=e,a=this.isolateCoverGrammar(this.parseExponentiationExpression),u=[o,n.value,a],c=[r];;){if((r=this.binaryPrecedence(this.lookahead))<=0)break;for(;u.length>2&&r<=c[c.length-1];){a=u.pop();var l=u.pop();c.pop(),o=u.pop(),i.pop();var h=this.startNode(i[i.length-1]);u.push(this.finalize(h,new s.BinaryExpression(l,o,a)))}u.push(this.nextToken().value),c.push(r),i.push(this.lookahead),u.push(this.isolateCoverGrammar(this.parseExponentiationExpression))}var f=u.length-1;for(e=u[f],i.pop();f>1;){var h=this.startNode(i.pop()),l=u[f-1];e=this.finalize(h,new s.BinaryExpression(l,u[f-2],e)),f-=2}}return e},t.prototype.parseConditionalExpression=function(){var t=this.lookahead,e=this.inheritCoverGrammar(this.parseBinaryExpression);if(this.match(\"?\")){this.nextToken();var n=this.context.allowIn;this.context.allowIn=!0;var r=this.isolateCoverGrammar(this.parseAssignmentExpression);this.context.allowIn=n,this.expect(\":\");var i=this.isolateCoverGrammar(this.parseAssignmentExpression);e=this.finalize(this.startNode(t),new s.ConditionalExpression(e,r,i)),this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1}return e},t.prototype.checkPatternParam=function(t,e){switch(e.type){case u.Syntax.Identifier:this.validateParam(t,e,e.name);break;case u.Syntax.RestElement:this.checkPatternParam(t,e.argument);break;case u.Syntax.AssignmentPattern:this.checkPatternParam(t,e.left);break;case u.Syntax.ArrayPattern:for(var n=0;n<e.elements.length;n++)null!==e.elements[n]&&this.checkPatternParam(t,e.elements[n]);break;case u.Syntax.ObjectPattern:for(var n=0;n<e.properties.length;n++)this.checkPatternParam(t,e.properties[n].value)}t.simple=t.simple&&e instanceof s.Identifier},t.prototype.reinterpretAsCoverFormalsList=function(t){var e,n=[t],r=!1;switch(t.type){case u.Syntax.Identifier:break;case\"ArrowParameterPlaceHolder\":n=t.params,r=t.async;break;default:return null}e={simple:!0,paramSet:{}};for(var i=0;i<n.length;++i){var s=n[i];s.type===u.Syntax.AssignmentPattern?s.right.type===u.Syntax.YieldExpression&&(s.right.argument&&this.throwUnexpectedToken(this.lookahead),s.right.type=u.Syntax.Identifier,s.right.name=\"yield\",delete s.right.argument,delete s.right.delegate):r&&s.type===u.Syntax.Identifier&&\"await\"===s.name&&this.throwUnexpectedToken(this.lookahead),this.checkPatternParam(e,s),n[i]=s}if(this.context.strict||!this.context.allowYield)for(var i=0;i<n.length;++i){var s=n[i];s.type===u.Syntax.YieldExpression&&this.throwUnexpectedToken(this.lookahead)}if(e.message===o.Messages.StrictParamDupe){var a=this.context.strict?e.stricted:e.firstRestricted;this.throwUnexpectedToken(a,e.message)}return{simple:e.simple,params:n,stricted:e.stricted,firstRestricted:e.firstRestricted,message:e.message}},t.prototype.parseAssignmentExpression=function(){var t;if(!this.context.allowYield&&this.matchKeyword(\"yield\"))t=this.parseYieldExpression();else{var e=this.lookahead,n=e;if(t=this.parseConditionalExpression(),3===n.type&&n.lineNumber===this.lookahead.lineNumber&&\"async\"===n.value&&(3===this.lookahead.type||this.matchKeyword(\"yield\"))){var r=this.parsePrimaryExpression();this.reinterpretExpressionAsPattern(r),t={type:\"ArrowParameterPlaceHolder\",params:[r],async:!0}}if(\"ArrowParameterPlaceHolder\"===t.type||this.match(\"=>\")){this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1;var i=t.async,a=this.reinterpretAsCoverFormalsList(t);if(a){this.hasLineTerminator&&this.tolerateUnexpectedToken(this.lookahead),this.context.firstCoverInitializedNameError=null;var c=this.context.strict,l=this.context.allowStrictDirective;this.context.allowStrictDirective=a.simple;var h=this.context.allowYield,f=this.context.await;this.context.allowYield=!0,this.context.await=i;var p=this.startNode(e);this.expect(\"=>\");var d=void 0;if(this.match(\"{\")){var m=this.context.allowIn;this.context.allowIn=!0,d=this.parseFunctionSourceElements(),this.context.allowIn=m}else d=this.isolateCoverGrammar(this.parseAssignmentExpression);var v=d.type!==u.Syntax.BlockStatement;this.context.strict&&a.firstRestricted&&this.throwUnexpectedToken(a.firstRestricted,a.message),this.context.strict&&a.stricted&&this.tolerateUnexpectedToken(a.stricted,a.message),t=i?this.finalize(p,new s.AsyncArrowFunctionExpression(a.params,d,v)):this.finalize(p,new s.ArrowFunctionExpression(a.params,d,v)),this.context.strict=c,this.context.allowStrictDirective=l,this.context.allowYield=h,this.context.await=f}}else if(this.matchAssign()){if(this.context.isAssignmentTarget||this.tolerateError(o.Messages.InvalidLHSInAssignment),this.context.strict&&t.type===u.Syntax.Identifier){var y=t;this.scanner.isRestrictedWord(y.name)&&this.tolerateUnexpectedToken(n,o.Messages.StrictLHSAssignment),this.scanner.isStrictModeReservedWord(y.name)&&this.tolerateUnexpectedToken(n,o.Messages.StrictReservedWord)}this.match(\"=\")?this.reinterpretExpressionAsPattern(t):(this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1),n=this.nextToken();var g=n.value,x=this.isolateCoverGrammar(this.parseAssignmentExpression);t=this.finalize(this.startNode(e),new s.AssignmentExpression(g,t,x)),this.context.firstCoverInitializedNameError=null}}return t},t.prototype.parseExpression=function(){var t=this.lookahead,e=this.isolateCoverGrammar(this.parseAssignmentExpression);if(this.match(\",\")){var n=[];for(n.push(e);2!==this.lookahead.type&&this.match(\",\");)this.nextToken(),n.push(this.isolateCoverGrammar(this.parseAssignmentExpression));e=this.finalize(this.startNode(t),new s.SequenceExpression(n))}return e},t.prototype.parseStatementListItem=function(){var t;if(this.context.isAssignmentTarget=!0,this.context.isBindingElement=!0,4===this.lookahead.type)switch(this.lookahead.value){case\"export\":this.context.isModule||this.tolerateUnexpectedToken(this.lookahead,o.Messages.IllegalExportDeclaration),t=this.parseExportDeclaration();break;case\"import\":this.context.isModule||this.tolerateUnexpectedToken(this.lookahead,o.Messages.IllegalImportDeclaration),t=this.parseImportDeclaration();break;case\"const\":t=this.parseLexicalDeclaration({inFor:!1});break;case\"function\":t=this.parseFunctionDeclaration();break;case\"class\":t=this.parseClassDeclaration();break;case\"let\":t=this.isLexicalDeclaration()?this.parseLexicalDeclaration({inFor:!1}):this.parseStatement();break;default:t=this.parseStatement()}else t=this.parseStatement();return t},t.prototype.parseBlock=function(){var t=this.createNode();this.expect(\"{\");for(var e=[];;){if(this.match(\"}\"))break;e.push(this.parseStatementListItem())}return this.expect(\"}\"),this.finalize(t,new s.BlockStatement(e))},t.prototype.parseLexicalBinding=function(t,e){var n=this.createNode(),r=[],i=this.parsePattern(r,t);this.context.strict&&i.type===u.Syntax.Identifier&&this.scanner.isRestrictedWord(i.name)&&this.tolerateError(o.Messages.StrictVarName);var a=null;return\"const\"===t?this.matchKeyword(\"in\")||this.matchContextualKeyword(\"of\")||(this.match(\"=\")?(this.nextToken(),a=this.isolateCoverGrammar(this.parseAssignmentExpression)):this.throwError(o.Messages.DeclarationMissingInitializer,\"const\")):(!e.inFor&&i.type!==u.Syntax.Identifier||this.match(\"=\"))&&(this.expect(\"=\"),a=this.isolateCoverGrammar(this.parseAssignmentExpression)),this.finalize(n,new s.VariableDeclarator(i,a))},t.prototype.parseBindingList=function(t,e){for(var n=[this.parseLexicalBinding(t,e)];this.match(\",\");)this.nextToken(),n.push(this.parseLexicalBinding(t,e));return n},t.prototype.isLexicalDeclaration=function(){var t=this.scanner.saveState();this.scanner.scanComments();var e=this.scanner.lex();return this.scanner.restoreState(t),3===e.type||7===e.type&&\"[\"===e.value||7===e.type&&\"{\"===e.value||4===e.type&&\"let\"===e.value||4===e.type&&\"yield\"===e.value},t.prototype.parseLexicalDeclaration=function(t){var e=this.createNode(),n=this.nextToken().value;r.assert(\"let\"===n||\"const\"===n,\"Lexical declaration must be either let or const\");var i=this.parseBindingList(n,t);return this.consumeSemicolon(),this.finalize(e,new s.VariableDeclaration(i,n))},t.prototype.parseBindingRestElement=function(t,e){var n=this.createNode();this.expect(\"...\");var r=this.parsePattern(t,e);return this.finalize(n,new s.RestElement(r))},t.prototype.parseArrayPattern=function(t,e){var n=this.createNode();this.expect(\"[\");for(var r=[];!this.match(\"]\");)if(this.match(\",\"))this.nextToken(),r.push(null);else{if(this.match(\"...\")){r.push(this.parseBindingRestElement(t,e));break}r.push(this.parsePatternWithDefault(t,e)),this.match(\"]\")||this.expect(\",\")}return this.expect(\"]\"),this.finalize(n,new s.ArrayPattern(r))},t.prototype.parsePropertyPattern=function(t,e){var n,r,i=this.createNode(),o=!1,a=!1;if(3===this.lookahead.type){var u=this.lookahead;n=this.parseVariableIdentifier();var c=this.finalize(i,new s.Identifier(u.value));if(this.match(\"=\")){t.push(u),a=!0,this.nextToken();var l=this.parseAssignmentExpression();r=this.finalize(this.startNode(u),new s.AssignmentPattern(c,l))}else this.match(\":\")?(this.expect(\":\"),r=this.parsePatternWithDefault(t,e)):(t.push(u),a=!0,r=c)}else o=this.match(\"[\"),n=this.parseObjectPropertyKey(),this.expect(\":\"),r=this.parsePatternWithDefault(t,e);return this.finalize(i,new s.Property(\"init\",n,o,r,!1,a))},t.prototype.parseObjectPattern=function(t,e){var n=this.createNode(),r=[];for(this.expect(\"{\");!this.match(\"}\");)r.push(this.parsePropertyPattern(t,e)),this.match(\"}\")||this.expect(\",\");return this.expect(\"}\"),this.finalize(n,new s.ObjectPattern(r))},t.prototype.parsePattern=function(t,e){var n;return this.match(\"[\")?n=this.parseArrayPattern(t,e):this.match(\"{\")?n=this.parseObjectPattern(t,e):(!this.matchKeyword(\"let\")||\"const\"!==e&&\"let\"!==e||this.tolerateUnexpectedToken(this.lookahead,o.Messages.LetInLexicalBinding),t.push(this.lookahead),n=this.parseVariableIdentifier(e)),n},t.prototype.parsePatternWithDefault=function(t,e){var n=this.lookahead,r=this.parsePattern(t,e);if(this.match(\"=\")){this.nextToken();var i=this.context.allowYield;this.context.allowYield=!0;var o=this.isolateCoverGrammar(this.parseAssignmentExpression);this.context.allowYield=i,r=this.finalize(this.startNode(n),new s.AssignmentPattern(r,o))}return r},t.prototype.parseVariableIdentifier=function(t){var e=this.createNode(),n=this.nextToken();return 4===n.type&&\"yield\"===n.value?this.context.strict?this.tolerateUnexpectedToken(n,o.Messages.StrictReservedWord):this.context.allowYield||this.throwUnexpectedToken(n):3!==n.type?this.context.strict&&4===n.type&&this.scanner.isStrictModeReservedWord(n.value)?this.tolerateUnexpectedToken(n,o.Messages.StrictReservedWord):(this.context.strict||\"let\"!==n.value||\"var\"!==t)&&this.throwUnexpectedToken(n):(this.context.isModule||this.context.await)&&3===n.type&&\"await\"===n.value&&this.tolerateUnexpectedToken(n),this.finalize(e,new s.Identifier(n.value))},t.prototype.parseVariableDeclaration=function(t){var e=this.createNode(),n=[],r=this.parsePattern(n,\"var\");this.context.strict&&r.type===u.Syntax.Identifier&&this.scanner.isRestrictedWord(r.name)&&this.tolerateError(o.Messages.StrictVarName);var i=null;return this.match(\"=\")?(this.nextToken(),i=this.isolateCoverGrammar(this.parseAssignmentExpression)):r.type===u.Syntax.Identifier||t.inFor||this.expect(\"=\"),this.finalize(e,new s.VariableDeclarator(r,i))},t.prototype.parseVariableDeclarationList=function(t){var e={inFor:t.inFor},n=[];for(n.push(this.parseVariableDeclaration(e));this.match(\",\");)this.nextToken(),n.push(this.parseVariableDeclaration(e));return n},t.prototype.parseVariableStatement=function(){var t=this.createNode();this.expectKeyword(\"var\");var e=this.parseVariableDeclarationList({inFor:!1});return this.consumeSemicolon(),this.finalize(t,new s.VariableDeclaration(e,\"var\"))},t.prototype.parseEmptyStatement=function(){var t=this.createNode();return this.expect(\";\"),this.finalize(t,new s.EmptyStatement)},t.prototype.parseExpressionStatement=function(){var t=this.createNode(),e=this.parseExpression();return this.consumeSemicolon(),this.finalize(t,new s.ExpressionStatement(e))},t.prototype.parseIfClause=function(){return this.context.strict&&this.matchKeyword(\"function\")&&this.tolerateError(o.Messages.StrictFunction),this.parseStatement()},t.prototype.parseIfStatement=function(){var t,e=this.createNode(),n=null;this.expectKeyword(\"if\"),this.expect(\"(\");var r=this.parseExpression();return!this.match(\")\")&&this.config.tolerant?(this.tolerateUnexpectedToken(this.nextToken()),t=this.finalize(this.createNode(),new s.EmptyStatement)):(this.expect(\")\"),t=this.parseIfClause(),this.matchKeyword(\"else\")&&(this.nextToken(),n=this.parseIfClause())),this.finalize(e,new s.IfStatement(r,t,n))},t.prototype.parseDoWhileStatement=function(){var t=this.createNode();this.expectKeyword(\"do\");var e=this.context.inIteration;this.context.inIteration=!0;var n=this.parseStatement();this.context.inIteration=e,this.expectKeyword(\"while\"),this.expect(\"(\");var r=this.parseExpression();return!this.match(\")\")&&this.config.tolerant?this.tolerateUnexpectedToken(this.nextToken()):(this.expect(\")\"),this.match(\";\")&&this.nextToken()),this.finalize(t,new s.DoWhileStatement(n,r))},t.prototype.parseWhileStatement=function(){var t,e=this.createNode();this.expectKeyword(\"while\"),this.expect(\"(\");var n=this.parseExpression();if(!this.match(\")\")&&this.config.tolerant)this.tolerateUnexpectedToken(this.nextToken()),t=this.finalize(this.createNode(),new s.EmptyStatement);else{this.expect(\")\");var r=this.context.inIteration;this.context.inIteration=!0,t=this.parseStatement(),this.context.inIteration=r}return this.finalize(e,new s.WhileStatement(n,t))},t.prototype.parseForStatement=function(){var t,e,n=null,r=null,i=null,a=!0,c=this.createNode();if(this.expectKeyword(\"for\"),this.expect(\"(\"),this.match(\";\"))this.nextToken();else if(this.matchKeyword(\"var\")){n=this.createNode(),this.nextToken();var l=this.context.allowIn;this.context.allowIn=!1;var h=this.parseVariableDeclarationList({inFor:!0});if(this.context.allowIn=l,1===h.length&&this.matchKeyword(\"in\")){var f=h[0];f.init&&(f.id.type===u.Syntax.ArrayPattern||f.id.type===u.Syntax.ObjectPattern||this.context.strict)&&this.tolerateError(o.Messages.ForInOfLoopInitializer,\"for-in\"),n=this.finalize(n,new s.VariableDeclaration(h,\"var\")),this.nextToken(),t=n,e=this.parseExpression(),n=null}else 1===h.length&&null===h[0].init&&this.matchContextualKeyword(\"of\")?(n=this.finalize(n,new s.VariableDeclaration(h,\"var\")),this.nextToken(),t=n,e=this.parseAssignmentExpression(),n=null,a=!1):(n=this.finalize(n,new s.VariableDeclaration(h,\"var\")),this.expect(\";\"))}else if(this.matchKeyword(\"const\")||this.matchKeyword(\"let\")){n=this.createNode();var p=this.nextToken().value;if(this.context.strict||\"in\"!==this.lookahead.value){var l=this.context.allowIn;this.context.allowIn=!1;var h=this.parseBindingList(p,{inFor:!0});this.context.allowIn=l,1===h.length&&null===h[0].init&&this.matchKeyword(\"in\")?(n=this.finalize(n,new s.VariableDeclaration(h,p)),this.nextToken(),t=n,e=this.parseExpression(),n=null):1===h.length&&null===h[0].init&&this.matchContextualKeyword(\"of\")?(n=this.finalize(n,new s.VariableDeclaration(h,p)),this.nextToken(),t=n,e=this.parseAssignmentExpression(),n=null,a=!1):(this.consumeSemicolon(),n=this.finalize(n,new s.VariableDeclaration(h,p)))}else n=this.finalize(n,new s.Identifier(p)),this.nextToken(),t=n,e=this.parseExpression(),n=null}else{var d=this.lookahead,l=this.context.allowIn;if(this.context.allowIn=!1,n=this.inheritCoverGrammar(this.parseAssignmentExpression),this.context.allowIn=l,this.matchKeyword(\"in\"))this.context.isAssignmentTarget&&n.type!==u.Syntax.AssignmentExpression||this.tolerateError(o.Messages.InvalidLHSInForIn),this.nextToken(),this.reinterpretExpressionAsPattern(n),t=n,e=this.parseExpression(),n=null;else if(this.matchContextualKeyword(\"of\"))this.context.isAssignmentTarget&&n.type!==u.Syntax.AssignmentExpression||this.tolerateError(o.Messages.InvalidLHSInForLoop),this.nextToken(),this.reinterpretExpressionAsPattern(n),t=n,e=this.parseAssignmentExpression(),n=null,a=!1;else{if(this.match(\",\")){for(var m=[n];this.match(\",\");)this.nextToken(),m.push(this.isolateCoverGrammar(this.parseAssignmentExpression));n=this.finalize(this.startNode(d),new s.SequenceExpression(m))}this.expect(\";\")}}void 0===t&&(this.match(\";\")||(r=this.parseExpression()),this.expect(\";\"),this.match(\")\")||(i=this.parseExpression()));var v;if(!this.match(\")\")&&this.config.tolerant)this.tolerateUnexpectedToken(this.nextToken()),v=this.finalize(this.createNode(),new s.EmptyStatement);else{this.expect(\")\");var y=this.context.inIteration;this.context.inIteration=!0,v=this.isolateCoverGrammar(this.parseStatement),this.context.inIteration=y}return void 0===t?this.finalize(c,new s.ForStatement(n,r,i,v)):a?this.finalize(c,new s.ForInStatement(t,e,v)):this.finalize(c,new s.ForOfStatement(t,e,v))},t.prototype.parseContinueStatement=function(){var t=this.createNode();this.expectKeyword(\"continue\");var e=null;if(3===this.lookahead.type&&!this.hasLineTerminator){var n=this.parseVariableIdentifier();e=n;var r=\"$\"+n.name;Object.prototype.hasOwnProperty.call(this.context.labelSet,r)||this.throwError(o.Messages.UnknownLabel,n.name)}return this.consumeSemicolon(),null!==e||this.context.inIteration||this.throwError(o.Messages.IllegalContinue),this.finalize(t,new s.ContinueStatement(e))},t.prototype.parseBreakStatement=function(){var t=this.createNode();this.expectKeyword(\"break\");var e=null;if(3===this.lookahead.type&&!this.hasLineTerminator){var n=this.parseVariableIdentifier(),r=\"$\"+n.name;Object.prototype.hasOwnProperty.call(this.context.labelSet,r)||this.throwError(o.Messages.UnknownLabel,n.name),e=n}return this.consumeSemicolon(),null!==e||this.context.inIteration||this.context.inSwitch||this.throwError(o.Messages.IllegalBreak),this.finalize(t,new s.BreakStatement(e))},t.prototype.parseReturnStatement=function(){this.context.inFunctionBody||this.tolerateError(o.Messages.IllegalReturn);var t=this.createNode();this.expectKeyword(\"return\");var e=!this.match(\";\")&&!this.match(\"}\")&&!this.hasLineTerminator&&2!==this.lookahead.type,n=e?this.parseExpression():null;return this.consumeSemicolon(),this.finalize(t,new s.ReturnStatement(n))},t.prototype.parseWithStatement=function(){this.context.strict&&this.tolerateError(o.Messages.StrictModeWith);var t,e=this.createNode();this.expectKeyword(\"with\"),this.expect(\"(\");var n=this.parseExpression();return!this.match(\")\")&&this.config.tolerant?(this.tolerateUnexpectedToken(this.nextToken()),t=this.finalize(this.createNode(),new s.EmptyStatement)):(this.expect(\")\"),t=this.parseStatement()),this.finalize(e,new s.WithStatement(n,t))},t.prototype.parseSwitchCase=function(){var t,e=this.createNode();this.matchKeyword(\"default\")?(this.nextToken(),t=null):(this.expectKeyword(\"case\"),t=this.parseExpression()),this.expect(\":\");for(var n=[];;){if(this.match(\"}\")||this.matchKeyword(\"default\")||this.matchKeyword(\"case\"))break;n.push(this.parseStatementListItem())}return this.finalize(e,new s.SwitchCase(t,n))},t.prototype.parseSwitchStatement=function(){var t=this.createNode();this.expectKeyword(\"switch\"),this.expect(\"(\");var e=this.parseExpression();this.expect(\")\");var n=this.context.inSwitch;this.context.inSwitch=!0;var r=[],i=!1;for(this.expect(\"{\");;){if(this.match(\"}\"))break;var a=this.parseSwitchCase();null===a.test&&(i&&this.throwError(o.Messages.MultipleDefaultsInSwitch),i=!0),r.push(a)}return this.expect(\"}\"),this.context.inSwitch=n,this.finalize(t,new s.SwitchStatement(e,r))},t.prototype.parseLabelledStatement=function(){var t,e=this.createNode(),n=this.parseExpression();if(n.type===u.Syntax.Identifier&&this.match(\":\")){this.nextToken();var r=n,i=\"$\"+r.name;Object.prototype.hasOwnProperty.call(this.context.labelSet,i)&&this.throwError(o.Messages.Redeclaration,\"Label\",r.name),this.context.labelSet[i]=!0;var a=void 0;if(this.matchKeyword(\"class\"))this.tolerateUnexpectedToken(this.lookahead),a=this.parseClassDeclaration();else if(this.matchKeyword(\"function\")){var c=this.lookahead,l=this.parseFunctionDeclaration();this.context.strict?this.tolerateUnexpectedToken(c,o.Messages.StrictFunction):l.generator&&this.tolerateUnexpectedToken(c,o.Messages.GeneratorInLegacyContext),a=l}else a=this.parseStatement();delete this.context.labelSet[i],t=new s.LabeledStatement(r,a)}else this.consumeSemicolon(),t=new s.ExpressionStatement(n);return this.finalize(e,t)},t.prototype.parseThrowStatement=function(){var t=this.createNode();this.expectKeyword(\"throw\"),this.hasLineTerminator&&this.throwError(o.Messages.NewlineAfterThrow);var e=this.parseExpression();return this.consumeSemicolon(),this.finalize(t,new s.ThrowStatement(e))},t.prototype.parseCatchClause=function(){var t=this.createNode();this.expectKeyword(\"catch\"),this.expect(\"(\"),this.match(\")\")&&this.throwUnexpectedToken(this.lookahead);for(var e=[],n=this.parsePattern(e),r={},i=0;i<e.length;i++){var a=\"$\"+e[i].value;Object.prototype.hasOwnProperty.call(r,a)&&this.tolerateError(o.Messages.DuplicateBinding,e[i].value),r[a]=!0}this.context.strict&&n.type===u.Syntax.Identifier&&this.scanner.isRestrictedWord(n.name)&&this.tolerateError(o.Messages.StrictCatchVariable),this.expect(\")\");var c=this.parseBlock();return this.finalize(t,new s.CatchClause(n,c))},t.prototype.parseFinallyClause=function(){return this.expectKeyword(\"finally\"),this.parseBlock()},t.prototype.parseTryStatement=function(){var t=this.createNode();this.expectKeyword(\"try\");var e=this.parseBlock(),n=this.matchKeyword(\"catch\")?this.parseCatchClause():null,r=this.matchKeyword(\"finally\")?this.parseFinallyClause():null;return n||r||this.throwError(o.Messages.NoCatchOrFinally),this.finalize(t,new s.TryStatement(e,n,r))},t.prototype.parseDebuggerStatement=function(){var t=this.createNode();return this.expectKeyword(\"debugger\"),this.consumeSemicolon(),this.finalize(t,new s.DebuggerStatement)},t.prototype.parseStatement=function(){var t;switch(this.lookahead.type){case 1:case 5:case 6:case 8:case 10:case 9:t=this.parseExpressionStatement();break;case 7:var e=this.lookahead.value;t=\"{\"===e?this.parseBlock():\"(\"===e?this.parseExpressionStatement():\";\"===e?this.parseEmptyStatement():this.parseExpressionStatement();break;case 3:t=this.matchAsyncFunction()?this.parseFunctionDeclaration():this.parseLabelledStatement();break;case 4:switch(this.lookahead.value){case\"break\":t=this.parseBreakStatement();break;case\"continue\":t=this.parseContinueStatement();break;case\"debugger\":t=this.parseDebuggerStatement();break;case\"do\":t=this.parseDoWhileStatement();break;case\"for\":t=this.parseForStatement();break;case\"function\":t=this.parseFunctionDeclaration();break;case\"if\":t=this.parseIfStatement();break;case\"return\":t=this.parseReturnStatement();break;case\"switch\":t=this.parseSwitchStatement();break;case\"throw\":t=this.parseThrowStatement();break;case\"try\":t=this.parseTryStatement();break;case\"var\":t=this.parseVariableStatement();break;case\"while\":t=this.parseWhileStatement();break;case\"with\":t=this.parseWithStatement();break;default:t=this.parseExpressionStatement()}break;default:t=this.throwUnexpectedToken(this.lookahead)}return t},t.prototype.parseFunctionSourceElements=function(){var t=this.createNode();this.expect(\"{\");var e=this.parseDirectivePrologues(),n=this.context.labelSet,r=this.context.inIteration,i=this.context.inSwitch,o=this.context.inFunctionBody;for(this.context.labelSet={},this.context.inIteration=!1,this.context.inSwitch=!1,this.context.inFunctionBody=!0;2!==this.lookahead.type&&!this.match(\"}\");)e.push(this.parseStatementListItem());return this.expect(\"}\"),this.context.labelSet=n,this.context.inIteration=r,this.context.inSwitch=i,this.context.inFunctionBody=o,this.finalize(t,new s.BlockStatement(e))},t.prototype.validateParam=function(t,e,n){var r=\"$\"+n;this.context.strict?(this.scanner.isRestrictedWord(n)&&(t.stricted=e,t.message=o.Messages.StrictParamName),Object.prototype.hasOwnProperty.call(t.paramSet,r)&&(t.stricted=e,t.message=o.Messages.StrictParamDupe)):t.firstRestricted||(this.scanner.isRestrictedWord(n)?(t.firstRestricted=e,t.message=o.Messages.StrictParamName):this.scanner.isStrictModeReservedWord(n)?(t.firstRestricted=e,t.message=o.Messages.StrictReservedWord):Object.prototype.hasOwnProperty.call(t.paramSet,r)&&(t.stricted=e,t.message=o.Messages.StrictParamDupe)),\"function\"==typeof Object.defineProperty?Object.defineProperty(t.paramSet,r,{value:!0,enumerable:!0,writable:!0,configurable:!0}):t.paramSet[r]=!0},t.prototype.parseRestElement=function(t){var e=this.createNode();this.expect(\"...\");var n=this.parsePattern(t);return this.match(\"=\")&&this.throwError(o.Messages.DefaultRestParameter),this.match(\")\")||this.throwError(o.Messages.ParameterAfterRestParameter),this.finalize(e,new s.RestElement(n))},t.prototype.parseFormalParameter=function(t){for(var e=[],n=this.match(\"...\")?this.parseRestElement(e):this.parsePatternWithDefault(e),r=0;r<e.length;r++)this.validateParam(t,e[r],e[r].value);t.simple=t.simple&&n instanceof s.Identifier,t.params.push(n)},t.prototype.parseFormalParameters=function(t){var e;if(e={simple:!0,params:[],firstRestricted:t},this.expect(\"(\"),!this.match(\")\"))for(e.paramSet={};2!==this.lookahead.type&&(this.parseFormalParameter(e),!this.match(\")\"))&&(this.expect(\",\"),!this.match(\")\")););return this.expect(\")\"),{simple:e.simple,params:e.params,stricted:e.stricted,firstRestricted:e.firstRestricted,message:e.message}},t.prototype.matchAsyncFunction=function(){var t=this.matchContextualKeyword(\"async\");if(t){var e=this.scanner.saveState();this.scanner.scanComments();var n=this.scanner.lex();this.scanner.restoreState(e),t=e.lineNumber===n.lineNumber&&4===n.type&&\"function\"===n.value}return t},t.prototype.parseFunctionDeclaration=function(t){var e=this.createNode(),n=this.matchContextualKeyword(\"async\");n&&this.nextToken(),this.expectKeyword(\"function\");var r=!n&&this.match(\"*\");r&&this.nextToken();var i,a=null,u=null;if(!t||!this.match(\"(\")){var c=this.lookahead;a=this.parseVariableIdentifier(),this.context.strict?this.scanner.isRestrictedWord(c.value)&&this.tolerateUnexpectedToken(c,o.Messages.StrictFunctionName):this.scanner.isRestrictedWord(c.value)?(u=c,i=o.Messages.StrictFunctionName):this.scanner.isStrictModeReservedWord(c.value)&&(u=c,i=o.Messages.StrictReservedWord)}var l=this.context.await,h=this.context.allowYield;this.context.await=n,this.context.allowYield=!r;var f=this.parseFormalParameters(u),p=f.params,d=f.stricted;u=f.firstRestricted,f.message&&(i=f.message);var m=this.context.strict,v=this.context.allowStrictDirective;this.context.allowStrictDirective=f.simple;var y=this.parseFunctionSourceElements();return this.context.strict&&u&&this.throwUnexpectedToken(u,i),this.context.strict&&d&&this.tolerateUnexpectedToken(d,i),this.context.strict=m,this.context.allowStrictDirective=v,this.context.await=l,this.context.allowYield=h,n?this.finalize(e,new s.AsyncFunctionDeclaration(a,p,y)):this.finalize(e,new s.FunctionDeclaration(a,p,y,r))},t.prototype.parseFunctionExpression=function(){var t=this.createNode(),e=this.matchContextualKeyword(\"async\");e&&this.nextToken(),this.expectKeyword(\"function\");var n=!e&&this.match(\"*\");n&&this.nextToken();var r,i,a=null,u=this.context.await,c=this.context.allowYield;if(this.context.await=e,this.context.allowYield=!n,!this.match(\"(\")){var l=this.lookahead;a=this.context.strict||n||!this.matchKeyword(\"yield\")?this.parseVariableIdentifier():this.parseIdentifierName(),this.context.strict?this.scanner.isRestrictedWord(l.value)&&this.tolerateUnexpectedToken(l,o.Messages.StrictFunctionName):this.scanner.isRestrictedWord(l.value)?(i=l,r=o.Messages.StrictFunctionName):this.scanner.isStrictModeReservedWord(l.value)&&(i=l,r=o.Messages.StrictReservedWord)}var h=this.parseFormalParameters(i),f=h.params,p=h.stricted;i=h.firstRestricted,h.message&&(r=h.message);var d=this.context.strict,m=this.context.allowStrictDirective;this.context.allowStrictDirective=h.simple;var v=this.parseFunctionSourceElements();return this.context.strict&&i&&this.throwUnexpectedToken(i,r),this.context.strict&&p&&this.tolerateUnexpectedToken(p,r),this.context.strict=d,this.context.allowStrictDirective=m,this.context.await=u,this.context.allowYield=c,e?this.finalize(t,new s.AsyncFunctionExpression(a,f,v)):this.finalize(t,new s.FunctionExpression(a,f,v,n))},t.prototype.parseDirective=function(){var t=this.lookahead,e=this.createNode(),n=this.parseExpression(),r=n.type===u.Syntax.Literal?this.getTokenRaw(t).slice(1,-1):null;return this.consumeSemicolon(),this.finalize(e,r?new s.Directive(n,r):new s.ExpressionStatement(n))},t.prototype.parseDirectivePrologues=function(){for(var t=null,e=[];;){var n=this.lookahead;if(8!==n.type)break;var r=this.parseDirective();e.push(r);var i=r.directive;if(\"string\"!=typeof i)break;\"use strict\"===i?(this.context.strict=!0,t&&this.tolerateUnexpectedToken(t,o.Messages.StrictOctalLiteral),this.context.allowStrictDirective||this.tolerateUnexpectedToken(n,o.Messages.IllegalLanguageModeDirective)):!t&&n.octal&&(t=n)}return e},t.prototype.qualifiedPropertyName=function(t){switch(t.type){case 3:case 8:case 1:case 5:case 6:case 4:return!0;case 7:return\"[\"===t.value}return!1},t.prototype.parseGetterMethod=function(){var t=this.createNode(),e=this.context.allowYield;this.context.allowYield=!1;var n=this.parseFormalParameters();n.params.length>0&&this.tolerateError(o.Messages.BadGetterArity);var r=this.parsePropertyMethod(n);return this.context.allowYield=e,this.finalize(t,new s.FunctionExpression(null,n.params,r,!1))},t.prototype.parseSetterMethod=function(){var t=this.createNode(),e=this.context.allowYield;this.context.allowYield=!1;var n=this.parseFormalParameters();1!==n.params.length?this.tolerateError(o.Messages.BadSetterArity):n.params[0]instanceof s.RestElement&&this.tolerateError(o.Messages.BadSetterRestParameter);var r=this.parsePropertyMethod(n);return this.context.allowYield=e,this.finalize(t,new s.FunctionExpression(null,n.params,r,!1))},t.prototype.parseGeneratorMethod=function(){var t=this.createNode(),e=this.context.allowYield;this.context.allowYield=!0;var n=this.parseFormalParameters();this.context.allowYield=!1;var r=this.parsePropertyMethod(n);return this.context.allowYield=e,this.finalize(t,new s.FunctionExpression(null,n.params,r,!0))},t.prototype.isStartOfExpression=function(){var t=!0,e=this.lookahead.value;switch(this.lookahead.type){case 7:t=\"[\"===e||\"(\"===e||\"{\"===e||\"+\"===e||\"-\"===e||\"!\"===e||\"~\"===e||\"++\"===e||\"--\"===e||\"/\"===e||\"/=\"===e;break;case 4:t=\"class\"===e||\"delete\"===e||\"function\"===e||\"let\"===e||\"new\"===e||\"super\"===e||\"this\"===e||\"typeof\"===e||\"void\"===e||\"yield\"===e}return t},t.prototype.parseYieldExpression=function(){var t=this.createNode();this.expectKeyword(\"yield\");var e=null,n=!1;if(!this.hasLineTerminator){var r=this.context.allowYield;this.context.allowYield=!1,n=this.match(\"*\"),n?(this.nextToken(),e=this.parseAssignmentExpression()):this.isStartOfExpression()&&(e=this.parseAssignmentExpression()),this.context.allowYield=r}return this.finalize(t,new s.YieldExpression(e,n))},t.prototype.parseClassElement=function(t){var e=this.lookahead,n=this.createNode(),r=\"\",i=null,a=null,u=!1,c=!1,l=!1,h=!1;if(this.match(\"*\"))this.nextToken();else{u=this.match(\"[\"),i=this.parseObjectPropertyKey();if(\"static\"===i.name&&(this.qualifiedPropertyName(this.lookahead)||this.match(\"*\"))&&(e=this.lookahead,l=!0,u=this.match(\"[\"),this.match(\"*\")?this.nextToken():i=this.parseObjectPropertyKey()),3===e.type&&!this.hasLineTerminator&&\"async\"===e.value){var f=this.lookahead.value;\":\"!==f&&\"(\"!==f&&\"*\"!==f&&(h=!0,e=this.lookahead,i=this.parseObjectPropertyKey(),3===e.type&&(\"get\"===e.value||\"set\"===e.value?this.tolerateUnexpectedToken(e):\"constructor\"===e.value&&this.tolerateUnexpectedToken(e,o.Messages.ConstructorIsAsync)))}}var p=this.qualifiedPropertyName(this.lookahead);return 3===e.type?\"get\"===e.value&&p?(r=\"get\",u=this.match(\"[\"),i=this.parseObjectPropertyKey(),this.context.allowYield=!1,a=this.parseGetterMethod()):\"set\"===e.value&&p&&(r=\"set\",u=this.match(\"[\"),i=this.parseObjectPropertyKey(),a=this.parseSetterMethod()):7===e.type&&\"*\"===e.value&&p&&(r=\"init\",u=this.match(\"[\"),i=this.parseObjectPropertyKey(),a=this.parseGeneratorMethod(),c=!0),!r&&i&&this.match(\"(\")&&(r=\"init\",a=h?this.parsePropertyMethodAsyncFunction():this.parsePropertyMethodFunction(),c=!0),r||this.throwUnexpectedToken(this.lookahead),\"init\"===r&&(r=\"method\"),u||(l&&this.isPropertyKey(i,\"prototype\")&&this.throwUnexpectedToken(e,o.Messages.StaticPrototype),!l&&this.isPropertyKey(i,\"constructor\")&&((\"method\"!==r||!c||a&&a.generator)&&this.throwUnexpectedToken(e,o.Messages.ConstructorSpecialMethod),t.value?this.throwUnexpectedToken(e,o.Messages.DuplicateConstructor):t.value=!0,r=\"constructor\")),this.finalize(n,new s.MethodDefinition(i,u,a,r,l))},t.prototype.parseClassElementList=function(){var t=[],e={value:!1};for(this.expect(\"{\");!this.match(\"}\");)this.match(\";\")?this.nextToken():t.push(this.parseClassElement(e));return this.expect(\"}\"),t},t.prototype.parseClassBody=function(){var t=this.createNode(),e=this.parseClassElementList();return this.finalize(t,new s.ClassBody(e))},t.prototype.parseClassDeclaration=function(t){var e=this.createNode(),n=this.context.strict;this.context.strict=!0,this.expectKeyword(\"class\");var r=t&&3!==this.lookahead.type?null:this.parseVariableIdentifier(),i=null;this.matchKeyword(\"extends\")&&(this.nextToken(),i=this.isolateCoverGrammar(this.parseLeftHandSideExpressionAllowCall));var o=this.parseClassBody();return this.context.strict=n,this.finalize(e,new s.ClassDeclaration(r,i,o))},t.prototype.parseClassExpression=function(){var t=this.createNode(),e=this.context.strict;this.context.strict=!0,this.expectKeyword(\"class\");var n=3===this.lookahead.type?this.parseVariableIdentifier():null,r=null;this.matchKeyword(\"extends\")&&(this.nextToken(),r=this.isolateCoverGrammar(this.parseLeftHandSideExpressionAllowCall));var i=this.parseClassBody();return this.context.strict=e,this.finalize(t,new s.ClassExpression(n,r,i))},t.prototype.parseModule=function(){this.context.strict=!0,this.context.isModule=!0;for(var t=this.createNode(),e=this.parseDirectivePrologues();2!==this.lookahead.type;)e.push(this.parseStatementListItem());return this.finalize(t,new s.Module(e))},t.prototype.parseScript=function(){for(var t=this.createNode(),e=this.parseDirectivePrologues();2!==this.lookahead.type;)e.push(this.parseStatementListItem());return this.finalize(t,new s.Script(e))},t.prototype.parseModuleSpecifier=function(){var t=this.createNode();8!==this.lookahead.type&&this.throwError(o.Messages.InvalidModuleSpecifier);var e=this.nextToken(),n=this.getTokenRaw(e);return this.finalize(t,new s.Literal(e.value,n))},t.prototype.parseImportSpecifier=function(){var t,e,n=this.createNode();return 3===this.lookahead.type?(t=this.parseVariableIdentifier(),e=t,this.matchContextualKeyword(\"as\")&&(this.nextToken(),e=this.parseVariableIdentifier())):(t=this.parseIdentifierName(),e=t,this.matchContextualKeyword(\"as\")?(this.nextToken(),e=this.parseVariableIdentifier()):this.throwUnexpectedToken(this.nextToken())),this.finalize(n,new s.ImportSpecifier(e,t))},t.prototype.parseNamedImports=function(){this.expect(\"{\");for(var t=[];!this.match(\"}\");)t.push(this.parseImportSpecifier()),this.match(\"}\")||this.expect(\",\");return this.expect(\"}\"),t},t.prototype.parseImportDefaultSpecifier=function(){var t=this.createNode(),e=this.parseIdentifierName();return this.finalize(t,new s.ImportDefaultSpecifier(e))},t.prototype.parseImportNamespaceSpecifier=function(){var t=this.createNode();this.expect(\"*\"),this.matchContextualKeyword(\"as\")||this.throwError(o.Messages.NoAsAfterImportNamespace),this.nextToken();var e=this.parseIdentifierName();return this.finalize(t,new s.ImportNamespaceSpecifier(e))},t.prototype.parseImportDeclaration=function(){this.context.inFunctionBody&&this.throwError(o.Messages.IllegalImportDeclaration);var t=this.createNode();this.expectKeyword(\"import\");var e,n=[];if(8===this.lookahead.type)e=this.parseModuleSpecifier();else{if(this.match(\"{\")?n=n.concat(this.parseNamedImports()):this.match(\"*\")?n.push(this.parseImportNamespaceSpecifier()):this.isIdentifierName(this.lookahead)&&!this.matchKeyword(\"default\")?(n.push(this.parseImportDefaultSpecifier()),this.match(\",\")&&(this.nextToken(),this.match(\"*\")?n.push(this.parseImportNamespaceSpecifier()):this.match(\"{\")?n=n.concat(this.parseNamedImports()):this.throwUnexpectedToken(this.lookahead))):this.throwUnexpectedToken(this.nextToken()),!this.matchContextualKeyword(\"from\")){var r=this.lookahead.value?o.Messages.UnexpectedToken:o.Messages.MissingFromClause;this.throwError(r,this.lookahead.value)}this.nextToken(),e=this.parseModuleSpecifier()}return this.consumeSemicolon(),this.finalize(t,new s.ImportDeclaration(n,e))},t.prototype.parseExportSpecifier=function(){var t=this.createNode(),e=this.parseIdentifierName(),n=e;return this.matchContextualKeyword(\"as\")&&(this.nextToken(),n=this.parseIdentifierName()),this.finalize(t,new s.ExportSpecifier(e,n))},t.prototype.parseExportDeclaration=function(){this.context.inFunctionBody&&this.throwError(o.Messages.IllegalExportDeclaration);var t=this.createNode();this.expectKeyword(\"export\");var e;if(this.matchKeyword(\"default\"))if(this.nextToken(),this.matchKeyword(\"function\")){var n=this.parseFunctionDeclaration(!0);e=this.finalize(t,new s.ExportDefaultDeclaration(n))}else if(this.matchKeyword(\"class\")){var n=this.parseClassDeclaration(!0);e=this.finalize(t,new s.ExportDefaultDeclaration(n))}else if(this.matchContextualKeyword(\"async\")){var n=this.matchAsyncFunction()?this.parseFunctionDeclaration(!0):this.parseAssignmentExpression();e=this.finalize(t,new s.ExportDefaultDeclaration(n))}else{this.matchContextualKeyword(\"from\")&&this.throwError(o.Messages.UnexpectedToken,this.lookahead.value);var n=this.match(\"{\")?this.parseObjectInitializer():this.match(\"[\")?this.parseArrayInitializer():this.parseAssignmentExpression();this.consumeSemicolon(),e=this.finalize(t,new s.ExportDefaultDeclaration(n))}else if(this.match(\"*\")){if(this.nextToken(),!this.matchContextualKeyword(\"from\")){var r=this.lookahead.value?o.Messages.UnexpectedToken:o.Messages.MissingFromClause;this.throwError(r,this.lookahead.value)}this.nextToken();var i=this.parseModuleSpecifier();this.consumeSemicolon(),e=this.finalize(t,new s.ExportAllDeclaration(i))}else if(4===this.lookahead.type){var n=void 0;switch(this.lookahead.value){case\"let\":case\"const\":n=this.parseLexicalDeclaration({inFor:!1});break;case\"var\":case\"class\":case\"function\":n=this.parseStatementListItem();break;default:this.throwUnexpectedToken(this.lookahead)}e=this.finalize(t,new s.ExportNamedDeclaration(n,[],null))}else if(this.matchAsyncFunction()){var n=this.parseFunctionDeclaration();e=this.finalize(t,new s.ExportNamedDeclaration(n,[],null))}else{var a=[],u=null,c=!1;for(this.expect(\"{\");!this.match(\"}\");)c=c||this.matchKeyword(\"default\"),a.push(this.parseExportSpecifier()),this.match(\"}\")||this.expect(\",\");if(this.expect(\"}\"),this.matchContextualKeyword(\"from\"))this.nextToken(),u=this.parseModuleSpecifier(),this.consumeSemicolon();else if(c){var r=this.lookahead.value?o.Messages.UnexpectedToken:o.Messages.MissingFromClause;this.throwError(r,this.lookahead.value)}else this.consumeSemicolon();e=this.finalize(t,new s.ExportNamedDeclaration(null,a,u))}return e},t}();e.Parser=l},function(t,e){\"use strict\";function n(t,e){if(!t)throw new Error(\"ASSERT: \"+e)}Object.defineProperty(e,\"__esModule\",{value:!0}),e.assert=n},function(t,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var n=function(){function t(){this.errors=[],this.tolerant=!1}return t.prototype.recordError=function(t){this.errors.push(t)},t.prototype.tolerate=function(t){if(!this.tolerant)throw t;this.recordError(t)},t.prototype.constructError=function(t,e){var n=new Error(t);try{throw n}catch(t){Object.create&&Object.defineProperty&&(n=Object.create(t),Object.defineProperty(n,\"column\",{value:e}))}return n},t.prototype.createError=function(t,e,n,r){var i=\"Line \"+e+\": \"+r,o=this.constructError(i,n);return o.index=t,o.lineNumber=e,o.description=r,o},t.prototype.throwError=function(t,e,n,r){throw this.createError(t,e,n,r)},t.prototype.tolerateError=function(t,e,n,r){var i=this.createError(t,e,n,r);if(!this.tolerant)throw i;this.recordError(i)},t}();e.ErrorHandler=n},function(t,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.Messages={BadGetterArity:\"Getter must not have any formal parameters\",BadSetterArity:\"Setter must have exactly one formal parameter\",BadSetterRestParameter:\"Setter function argument must not be a rest parameter\",ConstructorIsAsync:\"Class constructor may not be an async method\",ConstructorSpecialMethod:\"Class constructor may not be an accessor\",DeclarationMissingInitializer:\"Missing initializer in %0 declaration\",DefaultRestParameter:\"Unexpected token =\",DuplicateBinding:\"Duplicate binding %0\",DuplicateConstructor:\"A class may only have one constructor\",DuplicateProtoProperty:\"Duplicate __proto__ fields are not allowed in object literals\",ForInOfLoopInitializer:\"%0 loop variable declaration may not have an initializer\",GeneratorInLegacyContext:\"Generator declarations are not allowed in legacy contexts\",IllegalBreak:\"Illegal break statement\",IllegalContinue:\"Illegal continue statement\",IllegalExportDeclaration:\"Unexpected token\",IllegalImportDeclaration:\"Unexpected token\",IllegalLanguageModeDirective:\"Illegal 'use strict' directive in function with non-simple parameter list\",IllegalReturn:\"Illegal return statement\",InvalidEscapedReservedWord:\"Keyword must not contain escaped characters\",InvalidHexEscapeSequence:\"Invalid hexadecimal escape sequence\",InvalidLHSInAssignment:\"Invalid left-hand side in assignment\",InvalidLHSInForIn:\"Invalid left-hand side in for-in\",InvalidLHSInForLoop:\"Invalid left-hand side in for-loop\",InvalidModuleSpecifier:\"Unexpected token\",InvalidRegExp:\"Invalid regular expression\",LetInLexicalBinding:\"let is disallowed as a lexically bound name\",MissingFromClause:\"Unexpected token\",MultipleDefaultsInSwitch:\"More than one default clause in switch statement\",NewlineAfterThrow:\"Illegal newline after throw\",NoAsAfterImportNamespace:\"Unexpected token\",NoCatchOrFinally:\"Missing catch or finally after try\",ParameterAfterRestParameter:\"Rest parameter must be last formal parameter\",Redeclaration:\"%0 '%1' has already been declared\",StaticPrototype:\"Classes may not have static property named prototype\",StrictCatchVariable:\"Catch variable may not be eval or arguments in strict mode\",StrictDelete:\"Delete of an unqualified identifier in strict mode.\",StrictFunction:\"In strict mode code, functions can only be declared at top level or inside a block\",StrictFunctionName:\"Function name may not be eval or arguments in strict mode\",StrictLHSAssignment:\"Assignment to eval or arguments is not allowed in strict mode\",StrictLHSPostfix:\"Postfix increment/decrement may not have eval or arguments operand in strict mode\",StrictLHSPrefix:\"Prefix increment/decrement may not have eval or arguments operand in strict mode\",StrictModeWith:\"Strict mode code may not include a with statement\",StrictOctalLiteral:\"Octal literals are not allowed in strict mode.\",StrictParamDupe:\"Strict mode function may not have duplicate parameter names\",StrictParamName:\"Parameter name eval or arguments is not allowed in strict mode\",StrictReservedWord:\"Use of future reserved word in strict mode\",StrictVarName:\"Variable name may not be eval or arguments in strict mode\",TemplateOctalLiteral:\"Octal literals are not allowed in template strings.\",UnexpectedEOS:\"Unexpected end of input\",UnexpectedIdentifier:\"Unexpected identifier\",UnexpectedNumber:\"Unexpected number\",UnexpectedReserved:\"Unexpected reserved word\",UnexpectedString:\"Unexpected string\",UnexpectedTemplate:\"Unexpected quasi %0\",UnexpectedToken:\"Unexpected token %0\",UnexpectedTokenIllegal:\"Unexpected token ILLEGAL\",UnknownLabel:\"Undefined label '%0'\",UnterminatedRegExp:\"Invalid regular expression: missing /\"}},function(t,e,n){\"use strict\";function r(t){return\"0123456789abcdef\".indexOf(t.toLowerCase())}function i(t){return\"01234567\".indexOf(t)}Object.defineProperty(e,\"__esModule\",{value:!0});var o=n(9),s=n(4),a=n(11),u=function(){function t(t,e){this.source=t,this.errorHandler=e,this.trackComment=!1,this.length=t.length,this.index=0,this.lineNumber=t.length>0?1:0,this.lineStart=0,this.curlyStack=[]}return t.prototype.saveState=function(){return{index:this.index,lineNumber:this.lineNumber,lineStart:this.lineStart}},t.prototype.restoreState=function(t){this.index=t.index,this.lineNumber=t.lineNumber,this.lineStart=t.lineStart},t.prototype.eof=function(){return this.index>=this.length},t.prototype.throwUnexpectedToken=function(t){return void 0===t&&(t=a.Messages.UnexpectedTokenIllegal),this.errorHandler.throwError(this.index,this.lineNumber,this.index-this.lineStart+1,t)},t.prototype.tolerateUnexpectedToken=function(t){void 0===t&&(t=a.Messages.UnexpectedTokenIllegal),this.errorHandler.tolerateError(this.index,this.lineNumber,this.index-this.lineStart+1,t)},t.prototype.skipSingleLineComment=function(t){var e,n,r=[];for(this.trackComment&&(r=[],e=this.index-t,n={start:{line:this.lineNumber,column:this.index-this.lineStart-t},end:{}});!this.eof();){var i=this.source.charCodeAt(this.index);if(++this.index,s.Character.isLineTerminator(i)){if(this.trackComment){n.end={line:this.lineNumber,column:this.index-this.lineStart-1};var o={multiLine:!1,slice:[e+t,this.index-1],range:[e,this.index-1],loc:n};r.push(o)}return 13===i&&10===this.source.charCodeAt(this.index)&&++this.index,++this.lineNumber,this.lineStart=this.index,r}}if(this.trackComment){n.end={line:this.lineNumber,column:this.index-this.lineStart};var o={multiLine:!1,slice:[e+t,this.index],range:[e,this.index],loc:n};r.push(o)}return r},t.prototype.skipMultiLineComment=function(){var t,e,n=[];for(this.trackComment&&(n=[],t=this.index-2,e={start:{line:this.lineNumber,column:this.index-this.lineStart-2},end:{}});!this.eof();){var r=this.source.charCodeAt(this.index);if(s.Character.isLineTerminator(r))13===r&&10===this.source.charCodeAt(this.index+1)&&++this.index,++this.lineNumber,++this.index,this.lineStart=this.index;else if(42===r){if(47===this.source.charCodeAt(this.index+1)){if(this.index+=2,this.trackComment){e.end={line:this.lineNumber,column:this.index-this.lineStart};var i={multiLine:!0,slice:[t+2,this.index-2],range:[t,this.index],loc:e};n.push(i)}return n}++this.index}else++this.index}if(this.trackComment){e.end={line:this.lineNumber,column:this.index-this.lineStart};var i={multiLine:!0,slice:[t+2,this.index],range:[t,this.index],loc:e};n.push(i)}return this.tolerateUnexpectedToken(),n},t.prototype.scanComments=function(){var t;this.trackComment&&(t=[]);for(var e=0===this.index;!this.eof();){var n=this.source.charCodeAt(this.index);if(s.Character.isWhiteSpace(n))++this.index;else if(s.Character.isLineTerminator(n))++this.index,13===n&&10===this.source.charCodeAt(this.index)&&++this.index,++this.lineNumber,this.lineStart=this.index,e=!0;else if(47===n)if(47===(n=this.source.charCodeAt(this.index+1))){this.index+=2;var r=this.skipSingleLineComment(2);this.trackComment&&(t=t.concat(r)),e=!0}else{if(42!==n)break;this.index+=2;var r=this.skipMultiLineComment();this.trackComment&&(t=t.concat(r))}else if(e&&45===n){if(45!==this.source.charCodeAt(this.index+1)||62!==this.source.charCodeAt(this.index+2))break;this.index+=3;var r=this.skipSingleLineComment(3);this.trackComment&&(t=t.concat(r))}else{if(60!==n)break;if(\"!--\"!==this.source.slice(this.index+1,this.index+4))break;this.index+=4;var r=this.skipSingleLineComment(4);this.trackComment&&(t=t.concat(r))}}return t},t.prototype.isFutureReservedWord=function(t){switch(t){case\"enum\":case\"export\":case\"import\":case\"super\":return!0;default:return!1}},t.prototype.isStrictModeReservedWord=function(t){switch(t){case\"implements\":case\"interface\":case\"package\":case\"private\":case\"protected\":case\"public\":case\"static\":case\"yield\":case\"let\":return!0;default:return!1}},t.prototype.isRestrictedWord=function(t){return\"eval\"===t||\"arguments\"===t},t.prototype.isKeyword=function(t){switch(t.length){case 2:return\"if\"===t||\"in\"===t||\"do\"===t;case 3:return\"var\"===t||\"for\"===t||\"new\"===t||\"try\"===t||\"let\"===t;case 4:return\"this\"===t||\"else\"===t||\"case\"===t||\"void\"===t||\"with\"===t||\"enum\"===t;case 5:return\"while\"===t||\"break\"===t||\"catch\"===t||\"throw\"===t||\"const\"===t||\"yield\"===t||\"class\"===t||\"super\"===t;case 6:return\"return\"===t||\"typeof\"===t||\"delete\"===t||\"switch\"===t||\"export\"===t||\"import\"===t;case 7:return\"default\"===t||\"finally\"===t||\"extends\"===t;case 8:return\"function\"===t||\"continue\"===t||\"debugger\"===t;case 10:return\"instanceof\"===t;default:return!1}},t.prototype.codePointAt=function(t){var e=this.source.charCodeAt(t);if(e>=55296&&e<=56319){var n=this.source.charCodeAt(t+1);if(n>=56320&&n<=57343){e=1024*(e-55296)+n-56320+65536}}return e},t.prototype.scanHexEscape=function(t){for(var e=\"u\"===t?4:2,n=0,i=0;i<e;++i){if(this.eof()||!s.Character.isHexDigit(this.source.charCodeAt(this.index)))return null;n=16*n+r(this.source[this.index++])}return String.fromCharCode(n)},t.prototype.scanUnicodeCodePointEscape=function(){var t=this.source[this.index],e=0;for(\"}\"===t&&this.throwUnexpectedToken();!this.eof()&&(t=this.source[this.index++],s.Character.isHexDigit(t.charCodeAt(0)));)e=16*e+r(t);return(e>1114111||\"}\"!==t)&&this.throwUnexpectedToken(),s.Character.fromCodePoint(e)},t.prototype.getIdentifier=function(){for(var t=this.index++;!this.eof();){var e=this.source.charCodeAt(this.index);if(92===e)return this.index=t,this.getComplexIdentifier();if(e>=55296&&e<57343)return this.index=t,this.getComplexIdentifier();if(!s.Character.isIdentifierPart(e))break;++this.index}return this.source.slice(t,this.index)},t.prototype.getComplexIdentifier=function(){var t=this.codePointAt(this.index),e=s.Character.fromCodePoint(t);this.index+=e.length;var n;for(92===t&&(117!==this.source.charCodeAt(this.index)&&this.throwUnexpectedToken(),++this.index,\"{\"===this.source[this.index]?(++this.index,n=this.scanUnicodeCodePointEscape()):null!==(n=this.scanHexEscape(\"u\"))&&\"\\\\\"!==n&&s.Character.isIdentifierStart(n.charCodeAt(0))||this.throwUnexpectedToken(),e=n);!this.eof()&&(t=this.codePointAt(this.index),s.Character.isIdentifierPart(t));)n=s.Character.fromCodePoint(t),e+=n,this.index+=n.length,92===t&&(e=e.substr(0,e.length-1),117!==this.source.charCodeAt(this.index)&&this.throwUnexpectedToken(),++this.index,\"{\"===this.source[this.index]?(++this.index,n=this.scanUnicodeCodePointEscape()):null!==(n=this.scanHexEscape(\"u\"))&&\"\\\\\"!==n&&s.Character.isIdentifierPart(n.charCodeAt(0))||this.throwUnexpectedToken(),e+=n);return e},t.prototype.octalToDecimal=function(t){var e=\"0\"!==t,n=i(t);return!this.eof()&&s.Character.isOctalDigit(this.source.charCodeAt(this.index))&&(e=!0,n=8*n+i(this.source[this.index++]),\"0123\".indexOf(t)>=0&&!this.eof()&&s.Character.isOctalDigit(this.source.charCodeAt(this.index))&&(n=8*n+i(this.source[this.index++]))),{code:n,octal:e}},t.prototype.scanIdentifier=function(){var t,e=this.index,n=92===this.source.charCodeAt(e)?this.getComplexIdentifier():this.getIdentifier();if(3!==(t=1===n.length?3:this.isKeyword(n)?4:\"null\"===n?5:\"true\"===n||\"false\"===n?1:3)&&e+n.length!==this.index){var r=this.index;this.index=e,this.tolerateUnexpectedToken(a.Messages.InvalidEscapedReservedWord),this.index=r}return{type:t,value:n,lineNumber:this.lineNumber,lineStart:this.lineStart,start:e,end:this.index}},t.prototype.scanPunctuator=function(){var t=this.index,e=this.source[this.index];switch(e){case\"(\":case\"{\":\"{\"===e&&this.curlyStack.push(\"{\"),++this.index;break;case\".\":++this.index,\".\"===this.source[this.index]&&\".\"===this.source[this.index+1]&&(this.index+=2,e=\"...\");break;case\"}\":++this.index,this.curlyStack.pop();break;case\")\":case\";\":case\",\":case\"[\":case\"]\":case\":\":case\"?\":case\"~\":++this.index;break;default:e=this.source.substr(this.index,4),\">>>=\"===e?this.index+=4:(e=e.substr(0,3),\"===\"===e||\"!==\"===e||\">>>\"===e||\"<<=\"===e||\">>=\"===e||\"**=\"===e?this.index+=3:(e=e.substr(0,2),\"&&\"===e||\"||\"===e||\"==\"===e||\"!=\"===e||\"+=\"===e||\"-=\"===e||\"*=\"===e||\"/=\"===e||\"++\"===e||\"--\"===e||\"<<\"===e||\">>\"===e||\"&=\"===e||\"|=\"===e||\"^=\"===e||\"%=\"===e||\"<=\"===e||\">=\"===e||\"=>\"===e||\"**\"===e?this.index+=2:(e=this.source[this.index],\"<>=!+-*%&|^/\".indexOf(e)>=0&&++this.index)))}return this.index===t&&this.throwUnexpectedToken(),{type:7,value:e,lineNumber:this.lineNumber,lineStart:this.lineStart,start:t,end:this.index}},t.prototype.scanHexLiteral=function(t){for(var e=\"\";!this.eof()&&s.Character.isHexDigit(this.source.charCodeAt(this.index));)e+=this.source[this.index++];return 0===e.length&&this.throwUnexpectedToken(),s.Character.isIdentifierStart(this.source.charCodeAt(this.index))&&this.throwUnexpectedToken(),{type:6,value:parseInt(\"0x\"+e,16),lineNumber:this.lineNumber,lineStart:this.lineStart,start:t,end:this.index}},t.prototype.scanBinaryLiteral=function(t){for(var e,n=\"\";!this.eof()&&(\"0\"===(e=this.source[this.index])||\"1\"===e);)n+=this.source[this.index++];return 0===n.length&&this.throwUnexpectedToken(),this.eof()||(e=this.source.charCodeAt(this.index),(s.Character.isIdentifierStart(e)||s.Character.isDecimalDigit(e))&&this.throwUnexpectedToken()),{type:6,value:parseInt(n,2),lineNumber:this.lineNumber,lineStart:this.lineStart,start:t,end:this.index}},t.prototype.scanOctalLiteral=function(t,e){var n=\"\",r=!1;for(s.Character.isOctalDigit(t.charCodeAt(0))?(r=!0,n=\"0\"+this.source[this.index++]):++this.index;!this.eof()&&s.Character.isOctalDigit(this.source.charCodeAt(this.index));)n+=this.source[this.index++];return r||0!==n.length||this.throwUnexpectedToken(),(s.Character.isIdentifierStart(this.source.charCodeAt(this.index))||s.Character.isDecimalDigit(this.source.charCodeAt(this.index)))&&this.throwUnexpectedToken(),{type:6,value:parseInt(n,8),octal:r,lineNumber:this.lineNumber,lineStart:this.lineStart,start:e,end:this.index}},t.prototype.isImplicitOctalLiteral=function(){for(var t=this.index+1;t<this.length;++t){var e=this.source[t];if(\"8\"===e||\"9\"===e)return!1;if(!s.Character.isOctalDigit(e.charCodeAt(0)))return!0}return!0},t.prototype.scanNumericLiteral=function(){var t=this.index,e=this.source[t];o.assert(s.Character.isDecimalDigit(e.charCodeAt(0))||\".\"===e,\"Numeric literal must start with a decimal digit or a decimal point\");var n=\"\";if(\".\"!==e){if(n=this.source[this.index++],e=this.source[this.index],\"0\"===n){if(\"x\"===e||\"X\"===e)return++this.index,this.scanHexLiteral(t);if(\"b\"===e||\"B\"===e)return++this.index,this.scanBinaryLiteral(t);if(\"o\"===e||\"O\"===e)return this.scanOctalLiteral(e,t);if(e&&s.Character.isOctalDigit(e.charCodeAt(0))&&this.isImplicitOctalLiteral())return this.scanOctalLiteral(e,t)}for(;s.Character.isDecimalDigit(this.source.charCodeAt(this.index));)n+=this.source[this.index++];e=this.source[this.index]}if(\".\"===e){for(n+=this.source[this.index++];s.Character.isDecimalDigit(this.source.charCodeAt(this.index));)n+=this.source[this.index++];e=this.source[this.index]}if(\"e\"===e||\"E\"===e)if(n+=this.source[this.index++],e=this.source[this.index],\"+\"!==e&&\"-\"!==e||(n+=this.source[this.index++]),s.Character.isDecimalDigit(this.source.charCodeAt(this.index)))for(;s.Character.isDecimalDigit(this.source.charCodeAt(this.index));)n+=this.source[this.index++];else this.throwUnexpectedToken();return s.Character.isIdentifierStart(this.source.charCodeAt(this.index))&&this.throwUnexpectedToken(),{type:6,value:parseFloat(n),lineNumber:this.lineNumber,lineStart:this.lineStart,start:t,end:this.index}},t.prototype.scanStringLiteral=function(){var t=this.index,e=this.source[t];o.assert(\"'\"===e||'\"'===e,\"String literal must starts with a quote\"),++this.index;for(var n=!1,r=\"\";!this.eof();){var i=this.source[this.index++];if(i===e){e=\"\";break}if(\"\\\\\"===i)if((i=this.source[this.index++])&&s.Character.isLineTerminator(i.charCodeAt(0)))++this.lineNumber,\"\\r\"===i&&\"\\n\"===this.source[this.index]&&++this.index,this.lineStart=this.index;else switch(i){case\"u\":if(\"{\"===this.source[this.index])++this.index,r+=this.scanUnicodeCodePointEscape();else{var u=this.scanHexEscape(i);null===u&&this.throwUnexpectedToken(),r+=u}break;case\"x\":var c=this.scanHexEscape(i);null===c&&this.throwUnexpectedToken(a.Messages.InvalidHexEscapeSequence),r+=c;break;case\"n\":r+=\"\\n\";break;case\"r\":r+=\"\\r\";break;case\"t\":r+=\"\\t\";break;case\"b\":r+=\"\\b\";break;case\"f\":r+=\"\\f\";break;case\"v\":r+=\"\\v\";break;case\"8\":case\"9\":r+=i,this.tolerateUnexpectedToken();break;default:if(i&&s.Character.isOctalDigit(i.charCodeAt(0))){var l=this.octalToDecimal(i);n=l.octal||n,r+=String.fromCharCode(l.code)}else r+=i}else{if(s.Character.isLineTerminator(i.charCodeAt(0)))break;r+=i}}return\"\"!==e&&(this.index=t,this.throwUnexpectedToken()),{type:8,value:r,octal:n,lineNumber:this.lineNumber,lineStart:this.lineStart,start:t,end:this.index}},t.prototype.scanTemplate=function(){var t=\"\",e=!1,n=this.index,r=\"`\"===this.source[n],i=!1,o=2;for(++this.index;!this.eof();){var u=this.source[this.index++];if(\"`\"===u){o=1,i=!0,e=!0;break}if(\"$\"===u){if(\"{\"===this.source[this.index]){this.curlyStack.push(\"${\"),++this.index,e=!0;break}t+=u}else if(\"\\\\\"===u)if(u=this.source[this.index++],s.Character.isLineTerminator(u.charCodeAt(0)))++this.lineNumber,\"\\r\"===u&&\"\\n\"===this.source[this.index]&&++this.index,this.lineStart=this.index;else switch(u){case\"n\":t+=\"\\n\";break;case\"r\":t+=\"\\r\";break;case\"t\":t+=\"\\t\";break;case\"u\":if(\"{\"===this.source[this.index])++this.index,t+=this.scanUnicodeCodePointEscape();else{var c=this.index,l=this.scanHexEscape(u);null!==l?t+=l:(this.index=c,t+=u)}break;case\"x\":var h=this.scanHexEscape(u);null===h&&this.throwUnexpectedToken(a.Messages.InvalidHexEscapeSequence),t+=h;break;case\"b\":t+=\"\\b\";break;case\"f\":t+=\"\\f\";break;case\"v\":t+=\"\\v\";break;default:\"0\"===u?(s.Character.isDecimalDigit(this.source.charCodeAt(this.index))&&this.throwUnexpectedToken(a.Messages.TemplateOctalLiteral),t+=\"\\0\"):s.Character.isOctalDigit(u.charCodeAt(0))?this.throwUnexpectedToken(a.Messages.TemplateOctalLiteral):t+=u}else s.Character.isLineTerminator(u.charCodeAt(0))?(++this.lineNumber,\"\\r\"===u&&\"\\n\"===this.source[this.index]&&++this.index,this.lineStart=this.index,t+=\"\\n\"):t+=u}return e||this.throwUnexpectedToken(),r||this.curlyStack.pop(),{type:10,value:this.source.slice(n+1,this.index-o),cooked:t,head:r,tail:i,lineNumber:this.lineNumber,lineStart:this.lineStart,start:n,end:this.index}},t.prototype.testRegExp=function(t,e){var n=t,r=this;e.indexOf(\"u\")>=0&&(n=n.replace(/\\\\u\\{([0-9a-fA-F]+)\\}|\\\\u([a-fA-F0-9]{4})/g,function(t,e,n){var i=parseInt(e||n,16);return i>1114111&&r.throwUnexpectedToken(a.Messages.InvalidRegExp),i<=65535?String.fromCharCode(i):\"￿\"}).replace(/[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g,\"￿\"));try{RegExp(n)}catch(t){this.throwUnexpectedToken(a.Messages.InvalidRegExp)}try{return new RegExp(t,e)}catch(t){return null}},t.prototype.scanRegExpBody=function(){var t=this.source[this.index];o.assert(\"/\"===t,\"Regular expression literal must start with a slash\");for(var e=this.source[this.index++],n=!1,r=!1;!this.eof();)if(t=this.source[this.index++],e+=t,\"\\\\\"===t)t=this.source[this.index++],s.Character.isLineTerminator(t.charCodeAt(0))&&this.throwUnexpectedToken(a.Messages.UnterminatedRegExp),e+=t;else if(s.Character.isLineTerminator(t.charCodeAt(0)))this.throwUnexpectedToken(a.Messages.UnterminatedRegExp);else if(n)\"]\"===t&&(n=!1);else{if(\"/\"===t){r=!0;break}\"[\"===t&&(n=!0)}return r||this.throwUnexpectedToken(a.Messages.UnterminatedRegExp),e.substr(1,e.length-2)},t.prototype.scanRegExpFlags=function(){for(var t=\"\",e=\"\";!this.eof();){var n=this.source[this.index];if(!s.Character.isIdentifierPart(n.charCodeAt(0)))break;if(++this.index,\"\\\\\"!==n||this.eof())e+=n,t+=n;else if(\"u\"===(n=this.source[this.index])){++this.index;var r=this.index,i=this.scanHexEscape(\"u\");if(null!==i)for(e+=i,t+=\"\\\\u\";r<this.index;++r)t+=this.source[r];else this.index=r,e+=\"u\",t+=\"\\\\u\";this.tolerateUnexpectedToken()}else t+=\"\\\\\",this.tolerateUnexpectedToken()}return e},t.prototype.scanRegExp=function(){var t=this.index,e=this.scanRegExpBody(),n=this.scanRegExpFlags();return{type:9,value:\"\",pattern:e,flags:n,regex:this.testRegExp(e,n),lineNumber:this.lineNumber,lineStart:this.lineStart,start:t,end:this.index}},t.prototype.lex=function(){if(this.eof())return{type:2,value:\"\",lineNumber:this.lineNumber,lineStart:this.lineStart,start:this.index,end:this.index};var t=this.source.charCodeAt(this.index);return s.Character.isIdentifierStart(t)?this.scanIdentifier():40===t||41===t||59===t?this.scanPunctuator():39===t||34===t?this.scanStringLiteral():46===t?s.Character.isDecimalDigit(this.source.charCodeAt(this.index+1))?this.scanNumericLiteral():this.scanPunctuator():s.Character.isDecimalDigit(t)?this.scanNumericLiteral():96===t||125===t&&\"${\"===this.curlyStack[this.curlyStack.length-1]?this.scanTemplate():t>=55296&&t<57343&&s.Character.isIdentifierStart(this.codePointAt(this.index))?this.scanIdentifier():this.scanPunctuator()},t}();e.Scanner=u},function(t,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.TokenName={},e.TokenName[1]=\"Boolean\",e.TokenName[2]=\"<end>\",e.TokenName[3]=\"Identifier\",e.TokenName[4]=\"Keyword\",e.TokenName[5]=\"Null\",e.TokenName[6]=\"Numeric\",e.TokenName[7]=\"Punctuator\",e.TokenName[8]=\"String\",e.TokenName[9]=\"RegularExpression\",e.TokenName[10]=\"Template\"},function(t,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.XHTMLEntities={quot:'\"',amp:\"&\",apos:\"'\",gt:\">\",nbsp:\" \",iexcl:\"¡\",cent:\"¢\",pound:\"£\",curren:\"¤\",yen:\"¥\",brvbar:\"¦\",sect:\"§\",uml:\"¨\",copy:\"©\",ordf:\"ª\",laquo:\"«\",not:\"¬\",shy:\"­\",reg:\"®\",macr:\"¯\",deg:\"°\",plusmn:\"±\",sup2:\"²\",sup3:\"³\",acute:\"´\",micro:\"µ\",para:\"¶\",middot:\"·\",cedil:\"¸\",sup1:\"¹\",ordm:\"º\",raquo:\"»\",frac14:\"¼\",frac12:\"½\",frac34:\"¾\",iquest:\"¿\",Agrave:\"À\",Aacute:\"Á\",Acirc:\"Â\",Atilde:\"Ã\",Auml:\"Ä\",Aring:\"Å\",AElig:\"Æ\",Ccedil:\"Ç\",Egrave:\"È\",Eacute:\"É\",Ecirc:\"Ê\",Euml:\"Ë\",Igrave:\"Ì\",Iacute:\"Í\",Icirc:\"Î\",Iuml:\"Ï\",ETH:\"Ð\",Ntilde:\"Ñ\",Ograve:\"Ò\",Oacute:\"Ó\",Ocirc:\"Ô\",Otilde:\"Õ\",Ouml:\"Ö\",times:\"×\",Oslash:\"Ø\",Ugrave:\"Ù\",Uacute:\"Ú\",Ucirc:\"Û\",Uuml:\"Ü\",Yacute:\"Ý\",THORN:\"Þ\",szlig:\"ß\",agrave:\"à\",aacute:\"á\",acirc:\"â\",atilde:\"ã\",auml:\"ä\",aring:\"å\",aelig:\"æ\",ccedil:\"ç\",egrave:\"è\",eacute:\"é\",ecirc:\"ê\",euml:\"ë\",igrave:\"ì\",iacute:\"í\",icirc:\"î\",iuml:\"ï\",eth:\"ð\",ntilde:\"ñ\",ograve:\"ò\",oacute:\"ó\",ocirc:\"ô\",otilde:\"õ\",ouml:\"ö\",divide:\"÷\",oslash:\"ø\",ugrave:\"ù\",uacute:\"ú\",ucirc:\"û\",uuml:\"ü\",yacute:\"ý\",thorn:\"þ\",yuml:\"ÿ\",OElig:\"Œ\",oelig:\"œ\",Scaron:\"Š\",scaron:\"š\",Yuml:\"Ÿ\",fnof:\"ƒ\",circ:\"ˆ\",tilde:\"˜\",Alpha:\"Α\",Beta:\"Β\",Gamma:\"Γ\",Delta:\"Δ\",Epsilon:\"Ε\",Zeta:\"Ζ\",Eta:\"Η\",Theta:\"Θ\",Iota:\"Ι\",Kappa:\"Κ\",Lambda:\"Λ\",Mu:\"Μ\",Nu:\"Ν\",Xi:\"Ξ\",Omicron:\"Ο\",Pi:\"Π\",Rho:\"Ρ\",Sigma:\"Σ\",Tau:\"Τ\",Upsilon:\"Υ\",Phi:\"Φ\",Chi:\"Χ\",Psi:\"Ψ\",Omega:\"Ω\",alpha:\"α\",beta:\"β\",gamma:\"γ\",delta:\"δ\",epsilon:\"ε\",zeta:\"ζ\",eta:\"η\",theta:\"θ\",iota:\"ι\",kappa:\"κ\",lambda:\"λ\",mu:\"μ\",nu:\"ν\",xi:\"ξ\",omicron:\"ο\",pi:\"π\",rho:\"ρ\",sigmaf:\"ς\",sigma:\"σ\",tau:\"τ\",upsilon:\"υ\",phi:\"φ\",chi:\"χ\",psi:\"ψ\",omega:\"ω\",thetasym:\"ϑ\",upsih:\"ϒ\",piv:\"ϖ\",ensp:\" \",emsp:\" \",thinsp:\" \",zwnj:\"‌\",zwj:\"‍\",lrm:\"‎\",rlm:\"‏\",ndash:\"–\",mdash:\"—\",lsquo:\"‘\",rsquo:\"’\",sbquo:\"‚\",ldquo:\"“\",rdquo:\"”\",bdquo:\"„\",dagger:\"†\",Dagger:\"‡\",bull:\"•\",hellip:\"…\",permil:\"‰\",prime:\"′\",Prime:\"″\",lsaquo:\"‹\",rsaquo:\"›\",oline:\"‾\",frasl:\"⁄\",euro:\"€\",image:\"ℑ\",weierp:\"℘\",real:\"ℜ\",trade:\"™\",alefsym:\"ℵ\",larr:\"←\",uarr:\"↑\",rarr:\"→\",darr:\"↓\",harr:\"↔\",crarr:\"↵\",lArr:\"⇐\",uArr:\"⇑\",rArr:\"⇒\",dArr:\"⇓\",hArr:\"⇔\",forall:\"∀\",part:\"∂\",exist:\"∃\",empty:\"∅\",nabla:\"∇\",isin:\"∈\",notin:\"∉\",ni:\"∋\",prod:\"∏\",sum:\"∑\",minus:\"−\",lowast:\"∗\",radic:\"√\",prop:\"∝\",infin:\"∞\",ang:\"∠\",and:\"∧\",or:\"∨\",cap:\"∩\",cup:\"∪\",int:\"∫\",there4:\"∴\",sim:\"∼\",cong:\"≅\",asymp:\"≈\",ne:\"≠\",equiv:\"≡\",le:\"≤\",ge:\"≥\",sub:\"⊂\",sup:\"⊃\",nsub:\"⊄\",sube:\"⊆\",supe:\"⊇\",oplus:\"⊕\",otimes:\"⊗\",perp:\"⊥\",sdot:\"⋅\",lceil:\"⌈\",rceil:\"⌉\",lfloor:\"⌊\",rfloor:\"⌋\",loz:\"◊\",spades:\"♠\",clubs:\"♣\",hearts:\"♥\",diams:\"♦\",lang:\"⟨\",rang:\"⟩\"}},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var r=n(10),i=n(12),o=n(13),s=function(){function t(){this.values=[],this.curly=this.paren=-1}return t.prototype.beforeFunctionExpression=function(t){return[\"(\",\"{\",\"[\",\"in\",\"typeof\",\"instanceof\",\"new\",\"return\",\"case\",\"delete\",\"throw\",\"void\",\"=\",\"+=\",\"-=\",\"*=\",\"**=\",\"/=\",\"%=\",\"<<=\",\">>=\",\">>>=\",\"&=\",\"|=\",\"^=\",\",\",\"+\",\"-\",\"*\",\"**\",\"/\",\"%\",\"++\",\"--\",\"<<\",\">>\",\">>>\",\"&\",\"|\",\"^\",\"!\",\"~\",\"&&\",\"||\",\"?\",\":\",\"===\",\"==\",\">=\",\"<=\",\"<\",\">\",\"!=\",\"!==\"].indexOf(t)>=0},t.prototype.isRegexStart=function(){var t=this.values[this.values.length-1],e=null!==t;switch(t){case\"this\":case\"]\":e=!1;break;case\")\":var n=this.values[this.paren-1];e=\"if\"===n||\"while\"===n||\"for\"===n||\"with\"===n;break;case\"}\":if(e=!1,\"function\"===this.values[this.curly-3]){var r=this.values[this.curly-4];e=!!r&&!this.beforeFunctionExpression(r)}else if(\"function\"===this.values[this.curly-4]){var r=this.values[this.curly-5];e=!r||!this.beforeFunctionExpression(r)}}return e},t.prototype.push=function(t){7===t.type||4===t.type?(\"{\"===t.value?this.curly=this.values.length:\"(\"===t.value&&(this.paren=this.values.length),this.values.push(t.value)):this.values.push(null)},t}(),a=function(){function t(t,e){this.errorHandler=new r.ErrorHandler,this.errorHandler.tolerant=!!e&&(\"boolean\"==typeof e.tolerant&&e.tolerant),this.scanner=new i.Scanner(t,this.errorHandler),this.scanner.trackComment=!!e&&(\"boolean\"==typeof e.comment&&e.comment),this.trackRange=!!e&&(\"boolean\"==typeof e.range&&e.range),this.trackLoc=!!e&&(\"boolean\"==typeof e.loc&&e.loc),this.buffer=[],this.reader=new s}return t.prototype.errors=function(){return this.errorHandler.errors},t.prototype.getNextToken=function(){if(0===this.buffer.length){var t=this.scanner.scanComments();if(this.scanner.trackComment)for(var e=0;e<t.length;++e){var n=t[e],r=this.scanner.source.slice(n.slice[0],n.slice[1]),i={type:n.multiLine?\"BlockComment\":\"LineComment\",value:r};this.trackRange&&(i.range=n.range),this.trackLoc&&(i.loc=n.loc),this.buffer.push(i)}if(!this.scanner.eof()){var s=void 0;this.trackLoc&&(s={start:{line:this.scanner.lineNumber,column:this.scanner.index-this.scanner.lineStart},end:{}});var a=\"/\"===this.scanner.source[this.scanner.index]&&this.reader.isRegexStart(),u=a?this.scanner.scanRegExp():this.scanner.lex();this.reader.push(u);var c={type:o.TokenName[u.type],value:this.scanner.source.slice(u.start,u.end)};if(this.trackRange&&(c.range=[u.start,u.end]),this.trackLoc&&(s.end={line:this.scanner.lineNumber,column:this.scanner.index-this.scanner.lineStart},c.loc=s),9===u.type){var l=u.pattern,h=u.flags;c.regex={pattern:l,flags:h}}this.buffer.push(c)}}return this.buffer.shift()},t}();e.Tokenizer=a}])})},function(t,e,n){\"use strict\";var r,i,o,s,a,u,c,l=n(66),h=n(11),f=Function.prototype.apply,p=Function.prototype.call,d=Object.create,m=Object.defineProperty,v=Object.defineProperties,y=Object.prototype.hasOwnProperty,g={configurable:!0,enumerable:!1,writable:!0};r=function(t,e){var n;return h(e),y.call(this,\"__ee__\")?n=this.__ee__:(n=g.value=d(null),m(this,\"__ee__\",g),g.value=null),n[t]?\"object\"==typeof n[t]?n[t].push(e):n[t]=[n[t],e]:n[t]=e,this},i=function(t,e){var n,i;return h(e),i=this,r.call(this,t,n=function(){o.call(i,t,n),f.call(e,this,arguments)}),n.__eeOnceListener__=e,this},o=function(t,e){var n,r,i,o;if(h(e),!y.call(this,\"__ee__\"))return this;if(n=this.__ee__,!n[t])return this;if(\"object\"==typeof(r=n[t]))for(o=0;i=r[o];++o)i!==e&&i.__eeOnceListener__!==e||(2===r.length?n[t]=r[o?0:1]:r.splice(o,1));else r!==e&&r.__eeOnceListener__!==e||delete n[t];return this},s=function(t){var e,n,r,i,o;if(y.call(this,\"__ee__\")&&(i=this.__ee__[t]))if(\"object\"==typeof i){for(n=arguments.length,o=new Array(n-1),e=1;e<n;++e)o[e-1]=arguments[e];for(i=i.slice(),e=0;r=i[e];++e)f.call(r,this,o)}else switch(arguments.length){case 1:p.call(i,this);break;case 2:p.call(i,this,arguments[1]);break;case 3:p.call(i,this,arguments[1],arguments[2]);break;default:for(n=arguments.length,o=new Array(n-1),e=1;e<n;++e)o[e-1]=arguments[e];f.call(i,this,o)}},a={on:r,once:i,off:o,emit:s},u={on:l(r),once:l(i),off:l(o),emit:l(s)},c=v({},u),t.exports=e=function(t){return null==t?d(c):v(Object(t),u)},e.methods=a},function(t,e){e.read=function(t,e,n,r,i){var o,s,a=8*i-r-1,u=(1<<a)-1,c=u>>1,l=-7,h=n?i-1:0,f=n?-1:1,p=t[e+h];for(h+=f,o=p&(1<<-l)-1,p>>=-l,l+=a;l>0;o=256*o+t[e+h],h+=f,l-=8);for(s=o&(1<<-l)-1,o>>=-l,l+=r;l>0;s=256*s+t[e+h],h+=f,l-=8);if(0===o)o=1-c;else{if(o===u)return s?NaN:1/0*(p?-1:1);s+=Math.pow(2,r),o-=c}return(p?-1:1)*s*Math.pow(2,o-r)},e.write=function(t,e,n,r,i,o){var s,a,u,c=8*o-i-1,l=(1<<c)-1,h=l>>1,f=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=r?0:o-1,d=r?1:-1,m=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(a=isNaN(e)?1:0,s=l):(s=Math.floor(Math.log(e)/Math.LN2),e*(u=Math.pow(2,-s))<1&&(s--,u*=2),e+=s+h>=1?f/u:f*Math.pow(2,1-h),e*u>=2&&(s++,u/=2),s+h>=l?(a=0,s=l):s+h>=1?(a=(e*u-1)*Math.pow(2,i),s+=h):(a=e*Math.pow(2,h-1)*Math.pow(2,i),s=0));i>=8;t[n+p]=255&a,p+=d,a/=256,i-=8);for(s=s<<i|a,c+=i;c>0;t[n+p]=255&s,p+=d,s/=256,c-=8);t[n+p-d]|=128*m}},function(t,e,n){\"use strict\";var r=n(359);t.exports=r},function(t,e,n){\"use strict\";function r(t){return function(){throw new Error(\"Function \"+t+\" is deprecated and cannot be used.\")}}var i=n(361),o=n(360);t.exports.Type=n(0),t.exports.Schema=n(34),t.exports.FAILSAFE_SCHEMA=n(112),t.exports.JSON_SCHEMA=n(170),t.exports.CORE_SCHEMA=n(169),t.exports.DEFAULT_SAFE_SCHEMA=n(49),t.exports.DEFAULT_FULL_SCHEMA=n(70),t.exports.load=i.load,t.exports.loadAll=i.loadAll,t.exports.safeLoad=i.safeLoad,t.exports.safeLoadAll=i.safeLoadAll,t.exports.dump=o.dump,t.exports.safeDump=o.safeDump,t.exports.YAMLException=n(48),t.exports.MINIMAL_SCHEMA=n(112),t.exports.SAFE_SCHEMA=n(49),t.exports.DEFAULT_SCHEMA=n(70),t.exports.scan=r(\"scan\"),t.exports.parse=r(\"parse\"),t.exports.compose=r(\"compose\"),t.exports.addConstructor=r(\"addConstructor\")},function(t,e,n){\"use strict\";function r(t,e){var n,r,i,o,s,a,u;if(null===e)return{};for(n={},r=Object.keys(e),i=0,o=r.length;i<o;i+=1)s=r[i],a=String(e[s]),\"!!\"===s.slice(0,2)&&(s=\"tag:yaml.org,2002:\"+s.slice(2)),u=t.compiledTypeMap.fallback[s],u&&P.call(u.styleAliases,a)&&(a=u.styleAliases[a]),n[s]=a;return n}function i(t){var e,n,r;if(e=t.toString(16).toUpperCase(),t<=255)n=\"x\",r=2;else if(t<=65535)n=\"u\",r=4;else{if(!(t<=4294967295))throw new I(\"code point within a string may not be greater than 0xFFFFFFFF\");n=\"U\",r=8}return\"\\\\\"+n+T.repeat(\"0\",r-e.length)+e}function o(t){this.schema=t.schema||O,this.indent=Math.max(1,t.indent||2),this.skipInvalid=t.skipInvalid||!1,this.flowLevel=T.isNothing(t.flowLevel)?-1:t.flowLevel,this.styleMap=r(this.schema,t.styles||null),this.sortKeys=t.sortKeys||!1,this.lineWidth=t.lineWidth||80,this.noRefs=t.noRefs||!1,this.noCompatMode=t.noCompatMode||!1,this.condenseFlow=t.condenseFlow||!1,this.implicitTypes=this.schema.compiledImplicit,this.explicitTypes=this.schema.compiledExplicit,this.tag=null,this.result=\"\",this.duplicates=[],this.usedDuplicates=null}function s(t,e){for(var n,r=T.repeat(\" \",e),i=0,o=-1,s=\"\",a=t.length;i<a;)o=t.indexOf(\"\\n\",i),-1===o?(n=t.slice(i),i=a):(n=t.slice(i,o+1),i=o+1),n.length&&\"\\n\"!==n&&(s+=r),s+=n;return s}function a(t,e){return\"\\n\"+T.repeat(\" \",t.indent*e)}function u(t,e){var n,r,i;for(n=0,r=t.implicitTypes.length;n<r;n+=1)if(i=t.implicitTypes[n],i.resolve(e))return!0;return!1}function c(t){return t===L||t===j}function l(t){return 32<=t&&t<=126||161<=t&&t<=55295&&8232!==t&&8233!==t||57344<=t&&t<=65533&&65279!==t||65536<=t&&t<=1114111}function h(t){return l(t)&&65279!==t&&t!==W&&t!==Z&&t!==Q&&t!==et&&t!==rt&&t!==V&&t!==U}function f(t){return l(t)&&65279!==t&&!c(t)&&t!==Y&&t!==G&&t!==V&&t!==W&&t!==Z&&t!==Q&&t!==et&&t!==rt&&t!==U&&t!==X&&t!==K&&t!==R&&t!==nt&&t!==H&&t!==q&&t!==z&&t!==J&&t!==$&&t!==tt}function p(t,e,n,r,i){var o,s,a=!1,u=!1,p=-1!==r,d=-1,m=f(t.charCodeAt(0))&&!c(t.charCodeAt(t.length-1));if(e)for(o=0;o<t.length;o++){if(s=t.charCodeAt(o),!l(s))return lt;m=m&&h(s)}else{for(o=0;o<t.length;o++){if((s=t.charCodeAt(o))===N)a=!0,p&&(u=u||o-d-1>r&&\" \"!==t[d+1],d=o);else if(!l(s))return lt;m=m&&h(s)}u=u||p&&o-d-1>r&&\" \"!==t[d+1]}return a||u?\" \"===t[0]&&n>9?lt:u?ct:ut:m&&!i(t)?st:at}function d(t,e,n,r){t.dump=function(){function i(e){return u(t,e)}if(0===e.length)return\"''\";if(!t.noCompatMode&&-1!==ot.indexOf(e))return\"'\"+e+\"'\";var o=t.indent*Math.max(1,n),a=-1===t.lineWidth?-1:Math.max(Math.min(t.lineWidth,40),t.lineWidth-o),c=r||t.flowLevel>-1&&n>=t.flowLevel;switch(p(e,c,t.indent,a,i)){case st:return e;case at:return\"'\"+e.replace(/'/g,\"''\")+\"'\";case ut:return\"|\"+m(e,t.indent)+v(s(e,o));case ct:return\">\"+m(e,t.indent)+v(s(y(e,a),o));case lt:return'\"'+x(e)+'\"';default:throw new I(\"impossible error: invalid scalar style\")}}()}function m(t,e){var n=\" \"===t[0]?String(e):\"\",r=\"\\n\"===t[t.length-1];return n+(!r||\"\\n\"!==t[t.length-2]&&\"\\n\"!==t?r?\"\":\"-\":\"+\")+\"\\n\"}function v(t){return\"\\n\"===t[t.length-1]?t.slice(0,-1):t}function y(t,e){for(var n,r,i=/(\\n+)([^\\n]*)/g,o=function(){var n=t.indexOf(\"\\n\");return n=-1!==n?n:t.length,i.lastIndex=n,g(t.slice(0,n),e)}(),s=\"\\n\"===t[0]||\" \"===t[0];r=i.exec(t);){var a=r[1],u=r[2];n=\" \"===u[0],o+=a+(s||n||\"\"===u?\"\":\"\\n\")+g(u,e),s=n}return o}function g(t,e){if(\"\"===t||\" \"===t[0])return t;for(var n,r,i=/ [^ ]/g,o=0,s=0,a=0,u=\"\";n=i.exec(t);)a=n.index,a-o>e&&(r=s>o?s:a,u+=\"\\n\"+t.slice(o,r),o=r+1),s=a;return u+=\"\\n\",t.length-o>e&&s>o?u+=t.slice(o,s)+\"\\n\"+t.slice(s+1):u+=t.slice(o),u.slice(1)}function x(t){for(var e,n,r,o=\"\",s=0;s<t.length;s++)e=t.charCodeAt(s),e>=55296&&e<=56319&&(n=t.charCodeAt(s+1))>=56320&&n<=57343?(o+=i(1024*(e-55296)+n-56320+65536),s++):(r=it[e],o+=!r&&l(e)?t[s]:r||i(e));return o}function b(t,e,n){var r,i,o=\"\",s=t.tag;for(r=0,i=n.length;r<i;r+=1)S(t,e,n[r],!1,!1)&&(0!==r&&(o+=\",\"+(t.condenseFlow?\"\":\" \")),o+=t.dump);t.tag=s,t.dump=\"[\"+o+\"]\"}function D(t,e,n,r){var i,o,s=\"\",u=t.tag;for(i=0,o=n.length;i<o;i+=1)S(t,e+1,n[i],!0,!0)&&(r&&0===i||(s+=a(t,e)),t.dump&&N===t.dump.charCodeAt(0)?s+=\"-\":s+=\"- \",s+=t.dump);t.tag=u,t.dump=s||\"[]\"}function E(t,e,n){var r,i,o,s,a,u=\"\",c=t.tag,l=Object.keys(n);for(r=0,i=l.length;r<i;r+=1)a=t.condenseFlow?'\"':\"\",0!==r&&(a+=\", \"),o=l[r],s=n[o],S(t,e,o,!1,!1)&&(t.dump.length>1024&&(a+=\"? \"),a+=t.dump+(t.condenseFlow?'\"':\"\")+\":\"+(t.condenseFlow?\"\":\" \"),S(t,e,s,!1,!1)&&(a+=t.dump,u+=a));t.tag=c,t.dump=\"{\"+u+\"}\"}function w(t,e,n,r){var i,o,s,u,c,l,h=\"\",f=t.tag,p=Object.keys(n);if(!0===t.sortKeys)p.sort();else if(\"function\"==typeof t.sortKeys)p.sort(t.sortKeys);else if(t.sortKeys)throw new I(\"sortKeys must be a boolean or a function\");for(i=0,o=p.length;i<o;i+=1)l=\"\",r&&0===i||(l+=a(t,e)),s=p[i],u=n[s],S(t,e+1,s,!0,!0,!0)&&(c=null!==t.tag&&\"?\"!==t.tag||t.dump&&t.dump.length>1024,c&&(t.dump&&N===t.dump.charCodeAt(0)?l+=\"?\":l+=\"? \"),l+=t.dump,c&&(l+=a(t,e)),S(t,e+1,u,!0,c)&&(t.dump&&N===t.dump.charCodeAt(0)?l+=\":\":l+=\": \",l+=t.dump,h+=l));t.tag=f,t.dump=h||\"{}\"}function _(t,e,n){var r,i,o,s,a,u;for(i=n?t.explicitTypes:t.implicitTypes,o=0,s=i.length;o<s;o+=1)if(a=i[o],(a.instanceOf||a.predicate)&&(!a.instanceOf||\"object\"==typeof e&&e instanceof a.instanceOf)&&(!a.predicate||a.predicate(e))){if(t.tag=n?a.tag:\"?\",a.represent){if(u=t.styleMap[a.tag]||a.defaultStyle,\"[object Function]\"===B.call(a.represent))r=a.represent(e,u);else{if(!P.call(a.represent,u))throw new I(\"!<\"+a.tag+'> tag resolver accepts not \"'+u+'\" style');r=a.represent[u](e,u)}t.dump=r}return!0}return!1}function S(t,e,n,r,i,o){t.tag=null,t.dump=n,_(t,n,!1)||_(t,n,!0);var s=B.call(t.dump);r&&(r=t.flowLevel<0||t.flowLevel>e);var a,u,c=\"[object Object]\"===s||\"[object Array]\"===s;if(c&&(a=t.duplicates.indexOf(n),u=-1!==a),(null!==t.tag&&\"?\"!==t.tag||u||2!==t.indent&&e>0)&&(i=!1),u&&t.usedDuplicates[a])t.dump=\"*ref_\"+a;else{if(c&&u&&!t.usedDuplicates[a]&&(t.usedDuplicates[a]=!0),\"[object Object]\"===s)r&&0!==Object.keys(t.dump).length?(w(t,e,t.dump,i),u&&(t.dump=\"&ref_\"+a+t.dump)):(E(t,e,t.dump),u&&(t.dump=\"&ref_\"+a+\" \"+t.dump));else if(\"[object Array]\"===s)r&&0!==t.dump.length?(D(t,e,t.dump,i),u&&(t.dump=\"&ref_\"+a+t.dump)):(b(t,e,t.dump),u&&(t.dump=\"&ref_\"+a+\" \"+t.dump));else{if(\"[object String]\"!==s){if(t.skipInvalid)return!1;throw new I(\"unacceptable kind of an object to dump \"+s)}\"?\"!==t.tag&&d(t,t.dump,e,o)}null!==t.tag&&\"?\"!==t.tag&&(t.dump=\"!<\"+t.tag+\"> \"+t.dump)}return!0}function A(t,e){var n,r,i=[],o=[];for(C(t,i,o),n=0,r=o.length;n<r;n+=1)e.duplicates.push(i[o[n]]);e.usedDuplicates=new Array(r)}function C(t,e,n){var r,i,o;if(null!==t&&\"object\"==typeof t)if(-1!==(i=e.indexOf(t)))-1===n.indexOf(i)&&n.push(i);else if(e.push(t),Array.isArray(t))for(i=0,o=t.length;i<o;i+=1)C(t[i],e,n);else for(r=Object.keys(t),i=0,o=r.length;i<o;i+=1)C(t[r[i]],e,n)}function k(t,e){e=e||{};var n=new o(e);return n.noRefs||A(t,n),S(n,0,t,!0,!0)?n.dump+\"\\n\":\"\"}function F(t,e){return k(t,T.extend({schema:M},e))}var T=n(33),I=n(48),O=n(70),M=n(49),B=Object.prototype.toString,P=Object.prototype.hasOwnProperty,j=9,N=10,L=32,R=33,z=34,U=35,J=37,X=38,q=39,K=42,W=44,Y=45,V=58,H=62,G=63,$=64,Z=91,Q=93,tt=96,et=123,nt=124,rt=125,it={};it[0]=\"\\\\0\",it[7]=\"\\\\a\",it[8]=\"\\\\b\",it[9]=\"\\\\t\",it[10]=\"\\\\n\",it[11]=\"\\\\v\",it[12]=\"\\\\f\",it[13]=\"\\\\r\",it[27]=\"\\\\e\",it[34]='\\\\\"',it[92]=\"\\\\\\\\\",it[133]=\"\\\\N\",it[160]=\"\\\\_\",it[8232]=\"\\\\L\",it[8233]=\"\\\\P\";var ot=[\"y\",\"Y\",\"yes\",\"Yes\",\"YES\",\"on\",\"On\",\"ON\",\"n\",\"N\",\"no\",\"No\",\"NO\",\"off\",\"Off\",\"OFF\"],st=1,at=2,ut=3,ct=4,lt=5;t.exports.dump=k,t.exports.safeDump=F},function(t,e,n){\"use strict\";function r(t){return 10===t||13===t}function i(t){return 9===t||32===t}function o(t){return 9===t||32===t||10===t||13===t}function s(t){return 44===t||91===t||93===t||123===t||125===t}function a(t){var e;return 48<=t&&t<=57?t-48:(e=32|t,97<=e&&e<=102?e-97+10:-1)}function u(t){return 120===t?2:117===t?4:85===t?8:0}function c(t){return 48<=t&&t<=57?t-48:-1}function l(t){return 48===t?\"\\0\":97===t?\"\u0007\":98===t?\"\\b\":116===t?\"\\t\":9===t?\"\\t\":110===t?\"\\n\":118===t?\"\\v\":102===t?\"\\f\":114===t?\"\\r\":101===t?\"\u001b\":32===t?\" \":34===t?'\"':47===t?\"/\":92===t?\"\\\\\":78===t?\"\":95===t?\" \":76===t?\"\\u2028\":80===t?\"\\u2029\":\"\"}function h(t){return t<=65535?String.fromCharCode(t):String.fromCharCode(55296+(t-65536>>10),56320+(t-65536&1023))}function f(t,e){this.input=t,this.filename=e.filename||null,this.schema=e.schema||q,this.onWarning=e.onWarning||null,this.legacy=e.legacy||!1,this.json=e.json||!1,this.listener=e.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=t.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.documents=[]}function p(t,e){return new U(e,new J(t.filename,t.input,t.position,t.line,t.position-t.lineStart))}function d(t,e){throw p(t,e)}function m(t,e){t.onWarning&&t.onWarning.call(null,p(t,e))}function v(t,e,n,r){var i,o,s,a;if(e<n){if(a=t.input.slice(e,n),r)for(i=0,o=a.length;i<o;i+=1)9===(s=a.charCodeAt(i))||32<=s&&s<=1114111||d(t,\"expected valid JSON character\");else Q.test(a)&&d(t,\"the stream contains non-printable characters\");t.result+=a}}function y(t,e,n,r){var i,o,s,a;for(z.isObject(n)||d(t,\"cannot merge mappings; the provided source object is unacceptable\"),i=Object.keys(n),s=0,a=i.length;s<a;s+=1)o=i[s],K.call(e,o)||(e[o]=n[o],r[o]=!0)}function g(t,e,n,r,i,o,s,a){var u,c;if(i=String(i),null===e&&(e={}),\"tag:yaml.org,2002:merge\"===r)if(Array.isArray(o))for(u=0,c=o.length;u<c;u+=1)y(t,e,o[u],n);else y(t,e,o,n);else t.json||K.call(n,i)||!K.call(e,i)||(t.line=s||t.line,t.position=a||t.position,d(t,\"duplicated mapping key\")),e[i]=o,delete n[i];return e}function x(t){var e;e=t.input.charCodeAt(t.position),10===e?t.position++:13===e?(t.position++,10===t.input.charCodeAt(t.position)&&t.position++):d(t,\"a line break is expected\"),t.line+=1,t.lineStart=t.position}function b(t,e,n){for(var o=0,s=t.input.charCodeAt(t.position);0!==s;){for(;i(s);)s=t.input.charCodeAt(++t.position);if(e&&35===s)do{s=t.input.charCodeAt(++t.position)}while(10!==s&&13!==s&&0!==s);if(!r(s))break;for(x(t),s=t.input.charCodeAt(t.position),o++,t.lineIndent=0;32===s;)t.lineIndent++,s=t.input.charCodeAt(++t.position)}return-1!==n&&0!==o&&t.lineIndent<n&&m(t,\"deficient indentation\"),o}function D(t){var e,n=t.position;return!(45!==(e=t.input.charCodeAt(n))&&46!==e||e!==t.input.charCodeAt(n+1)||e!==t.input.charCodeAt(n+2)||(n+=3,0!==(e=t.input.charCodeAt(n))&&!o(e)))}function E(t,e){1===e?t.result+=\" \":e>1&&(t.result+=z.repeat(\"\\n\",e-1))}function w(t,e,n){var a,u,c,l,h,f,p,d,m,y=t.kind,g=t.result;if(m=t.input.charCodeAt(t.position),o(m)||s(m)||35===m||38===m||42===m||33===m||124===m||62===m||39===m||34===m||37===m||64===m||96===m)return!1;if((63===m||45===m)&&(u=t.input.charCodeAt(t.position+1),o(u)||n&&s(u)))return!1;for(t.kind=\"scalar\",t.result=\"\",c=l=t.position,h=!1;0!==m;){if(58===m){if(u=t.input.charCodeAt(t.position+1),o(u)||n&&s(u))break}else if(35===m){if(a=t.input.charCodeAt(t.position-1),o(a))break}else{if(t.position===t.lineStart&&D(t)||n&&s(m))break;if(r(m)){if(f=t.line,p=t.lineStart,d=t.lineIndent,b(t,!1,-1),t.lineIndent>=e){h=!0,m=t.input.charCodeAt(t.position);continue}t.position=l,t.line=f,t.lineStart=p,t.lineIndent=d;break}}h&&(v(t,c,l,!1),E(t,t.line-f),c=l=t.position,h=!1),i(m)||(l=t.position+1),m=t.input.charCodeAt(++t.position)}return v(t,c,l,!1),!!t.result||(t.kind=y,t.result=g,!1)}function _(t,e){var n,i,o;if(39!==(n=t.input.charCodeAt(t.position)))return!1;for(t.kind=\"scalar\",t.result=\"\",t.position++,i=o=t.position;0!==(n=t.input.charCodeAt(t.position));)if(39===n){if(v(t,i,t.position,!0),39!==(n=t.input.charCodeAt(++t.position)))return!0;i=t.position,t.position++,o=t.position}else r(n)?(v(t,i,o,!0),E(t,b(t,!1,e)),i=o=t.position):t.position===t.lineStart&&D(t)?d(t,\"unexpected end of the document within a single quoted scalar\"):(t.position++,o=t.position);d(t,\"unexpected end of the stream within a single quoted scalar\")}function S(t,e){var n,i,o,s,c,l;if(34!==(l=t.input.charCodeAt(t.position)))return!1;for(t.kind=\"scalar\",t.result=\"\",t.position++,n=i=t.position;0!==(l=t.input.charCodeAt(t.position));){if(34===l)return v(t,n,t.position,!0),t.position++,!0;if(92===l){if(v(t,n,t.position,!0),l=t.input.charCodeAt(++t.position),r(l))b(t,!1,e);else if(l<256&&it[l])t.result+=ot[l],t.position++;else if((c=u(l))>0){for(o=c,s=0;o>0;o--)l=t.input.charCodeAt(++t.position),(c=a(l))>=0?s=(s<<4)+c:d(t,\"expected hexadecimal character\");t.result+=h(s),t.position++}else d(t,\"unknown escape sequence\");n=i=t.position}else r(l)?(v(t,n,i,!0),E(t,b(t,!1,e)),n=i=t.position):t.position===t.lineStart&&D(t)?d(t,\"unexpected end of the document within a double quoted scalar\"):(t.position++,i=t.position)}d(t,\"unexpected end of the stream within a double quoted scalar\")}function A(t,e){var n,r,i,s,a,u,c,l,h,f,p,m=!0,v=t.tag,y=t.anchor,x={};if(91===(p=t.input.charCodeAt(t.position)))s=93,c=!1,r=[];else{if(123!==p)return!1;s=125,c=!0,r={}}for(null!==t.anchor&&(t.anchorMap[t.anchor]=r),p=t.input.charCodeAt(++t.position);0!==p;){if(b(t,!0,e),(p=t.input.charCodeAt(t.position))===s)return t.position++,t.tag=v,t.anchor=y,t.kind=c?\"mapping\":\"sequence\",t.result=r,!0;m||d(t,\"missed comma between flow collection entries\"),h=l=f=null,a=u=!1,63===p&&(i=t.input.charCodeAt(t.position+1),o(i)&&(a=u=!0,t.position++,b(t,!0,e))),n=t.line,M(t,e,W,!1,!0),h=t.tag,l=t.result,b(t,!0,e),p=t.input.charCodeAt(t.position),!u&&t.line!==n||58!==p||(a=!0,p=t.input.charCodeAt(++t.position),b(t,!0,e),M(t,e,W,!1,!0),f=t.result),c?g(t,r,x,h,l,f):a?r.push(g(t,null,x,h,l,f)):r.push(l),b(t,!0,e),p=t.input.charCodeAt(t.position),44===p?(m=!0,p=t.input.charCodeAt(++t.position)):m=!1}d(t,\"unexpected end of the stream within a flow collection\")}function C(t,e){var n,o,s,a,u=G,l=!1,h=!1,f=e,p=0,m=!1;if(124===(a=t.input.charCodeAt(t.position)))o=!1;else{if(62!==a)return!1;o=!0}for(t.kind=\"scalar\",t.result=\"\";0!==a;)if(43===(a=t.input.charCodeAt(++t.position))||45===a)G===u?u=43===a?Z:$:d(t,\"repeat of a chomping mode identifier\");else{if(!((s=c(a))>=0))break;0===s?d(t,\"bad explicit indentation width of a block scalar; it cannot be less than one\"):h?d(t,\"repeat of an indentation width identifier\"):(f=e+s-1,h=!0)}if(i(a)){do{a=t.input.charCodeAt(++t.position)}while(i(a));if(35===a)do{a=t.input.charCodeAt(++t.position)}while(!r(a)&&0!==a)}for(;0!==a;){for(x(t),t.lineIndent=0,a=t.input.charCodeAt(t.position);(!h||t.lineIndent<f)&&32===a;)t.lineIndent++,a=t.input.charCodeAt(++t.position);if(!h&&t.lineIndent>f&&(f=t.lineIndent),r(a))p++;else{if(t.lineIndent<f){u===Z?t.result+=z.repeat(\"\\n\",l?1+p:p):u===G&&l&&(t.result+=\"\\n\");break}for(o?i(a)?(m=!0,t.result+=z.repeat(\"\\n\",l?1+p:p)):m?(m=!1,t.result+=z.repeat(\"\\n\",p+1)):0===p?l&&(t.result+=\" \"):t.result+=z.repeat(\"\\n\",p):t.result+=z.repeat(\"\\n\",l?1+p:p),l=!0,h=!0,p=0,n=t.position;!r(a)&&0!==a;)a=t.input.charCodeAt(++t.position);v(t,n,t.position,!1)}}return!0}function k(t,e){var n,r,i,s=t.tag,a=t.anchor,u=[],c=!1;for(null!==t.anchor&&(t.anchorMap[t.anchor]=u),i=t.input.charCodeAt(t.position);0!==i&&45===i&&(r=t.input.charCodeAt(t.position+1),o(r));)if(c=!0,t.position++,b(t,!0,-1)&&t.lineIndent<=e)u.push(null),i=t.input.charCodeAt(t.position);else if(n=t.line,M(t,e,V,!1,!0),u.push(t.result),b(t,!0,-1),i=t.input.charCodeAt(t.position),(t.line===n||t.lineIndent>e)&&0!==i)d(t,\"bad indentation of a sequence entry\");else if(t.lineIndent<e)break;return!!c&&(t.tag=s,t.anchor=a,t.kind=\"sequence\",t.result=u,!0)}function F(t,e,n){var r,s,a,u,c,l=t.tag,h=t.anchor,f={},p={},m=null,v=null,y=null,x=!1,D=!1;for(null!==t.anchor&&(t.anchorMap[t.anchor]=f),c=t.input.charCodeAt(t.position);0!==c;){if(r=t.input.charCodeAt(t.position+1),a=t.line,u=t.position,63!==c&&58!==c||!o(r)){if(!M(t,n,Y,!1,!0))break;if(t.line===a){for(c=t.input.charCodeAt(t.position);i(c);)c=t.input.charCodeAt(++t.position);if(58===c)c=t.input.charCodeAt(++t.position),o(c)||d(t,\"a whitespace character is expected after the key-value separator within a block mapping\"),x&&(g(t,f,p,m,v,null),m=v=y=null),D=!0,x=!1,s=!1,m=t.tag,v=t.result;else{if(!D)return t.tag=l,t.anchor=h,!0;d(t,\"can not read an implicit mapping pair; a colon is missed\")}}else{if(!D)return t.tag=l,t.anchor=h,!0;d(t,\"can not read a block mapping entry; a multiline key may not be an implicit key\")}}else 63===c?(x&&(g(t,f,p,m,v,null),m=v=y=null),D=!0,x=!0,s=!0):x?(x=!1,s=!0):d(t,\"incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line\"),t.position+=1,c=r;if((t.line===a||t.lineIndent>e)&&(M(t,e,H,!0,s)&&(x?v=t.result:y=t.result),x||(g(t,f,p,m,v,y,a,u),m=v=y=null),b(t,!0,-1),c=t.input.charCodeAt(t.position)),t.lineIndent>e&&0!==c)d(t,\"bad indentation of a mapping entry\");else if(t.lineIndent<e)break}return x&&g(t,f,p,m,v,null),D&&(t.tag=l,t.anchor=h,t.kind=\"mapping\",t.result=f),D}function T(t){var e,n,r,i,s=!1,a=!1;if(33!==(i=t.input.charCodeAt(t.position)))return!1;if(null!==t.tag&&d(t,\"duplication of a tag property\"),i=t.input.charCodeAt(++t.position),60===i?(s=!0,i=t.input.charCodeAt(++t.position)):33===i?(a=!0,n=\"!!\",i=t.input.charCodeAt(++t.position)):n=\"!\",e=t.position,s){do{i=t.input.charCodeAt(++t.position)}while(0!==i&&62!==i);t.position<t.length?(r=t.input.slice(e,t.position),i=t.input.charCodeAt(++t.position)):d(t,\"unexpected end of the stream within a verbatim tag\")}else{for(;0!==i&&!o(i);)33===i&&(a?d(t,\"tag suffix cannot contain exclamation marks\"):(n=t.input.slice(e-1,t.position+1),nt.test(n)||d(t,\"named tag handle cannot contain such characters\"),a=!0,e=t.position+1)),i=t.input.charCodeAt(++t.position);r=t.input.slice(e,t.position),et.test(r)&&d(t,\"tag suffix cannot contain flow indicator characters\")}return r&&!rt.test(r)&&d(t,\"tag name cannot contain such characters: \"+r),s?t.tag=r:K.call(t.tagMap,n)?t.tag=t.tagMap[n]+r:\"!\"===n?t.tag=\"!\"+r:\"!!\"===n?t.tag=\"tag:yaml.org,2002:\"+r:d(t,'undeclared tag handle \"'+n+'\"'),!0}function I(t){var e,n;if(38!==(n=t.input.charCodeAt(t.position)))return!1;for(null!==t.anchor&&d(t,\"duplication of an anchor property\"),n=t.input.charCodeAt(++t.position),e=t.position;0!==n&&!o(n)&&!s(n);)n=t.input.charCodeAt(++t.position);return t.position===e&&d(t,\"name of an anchor node must contain at least one character\"),t.anchor=t.input.slice(e,t.position),!0}function O(t){var e,n,r;if(42!==(r=t.input.charCodeAt(t.position)))return!1;for(r=t.input.charCodeAt(++t.position),e=t.position;0!==r&&!o(r)&&!s(r);)r=t.input.charCodeAt(++t.position);return t.position===e&&d(t,\"name of an alias node must contain at least one character\"),n=t.input.slice(e,t.position),t.anchorMap.hasOwnProperty(n)||d(t,'unidentified alias \"'+n+'\"'),t.result=t.anchorMap[n],b(t,!0,-1),!0}function M(t,e,n,r,i){var o,s,a,u,c,l,h,f,p=1,m=!1,v=!1;if(null!==t.listener&&t.listener(\"open\",t),t.tag=null,t.anchor=null,t.kind=null,t.result=null,o=s=a=H===n||V===n,r&&b(t,!0,-1)&&(m=!0,t.lineIndent>e?p=1:t.lineIndent===e?p=0:t.lineIndent<e&&(p=-1)),1===p)for(;T(t)||I(t);)b(t,!0,-1)?(m=!0,a=o,t.lineIndent>e?p=1:t.lineIndent===e?p=0:t.lineIndent<e&&(p=-1)):a=!1;if(a&&(a=m||i),1!==p&&H!==n||(h=W===n||Y===n?e:e+1,f=t.position-t.lineStart,1===p?a&&(k(t,f)||F(t,f,h))||A(t,h)?v=!0:(s&&C(t,h)||_(t,h)||S(t,h)?v=!0:O(t)?(v=!0,null===t.tag&&null===t.anchor||d(t,\"alias node should not have any properties\")):w(t,h,W===n)&&(v=!0,null===t.tag&&(t.tag=\"?\")),null!==t.anchor&&(t.anchorMap[t.anchor]=t.result)):0===p&&(v=a&&k(t,f))),null!==t.tag&&\"!\"!==t.tag)if(\"?\"===t.tag){for(u=0,c=t.implicitTypes.length;u<c;u+=1)if(l=t.implicitTypes[u],l.resolve(t.result)){t.result=l.construct(t.result),t.tag=l.tag,null!==t.anchor&&(t.anchorMap[t.anchor]=t.result);break}}else K.call(t.typeMap[t.kind||\"fallback\"],t.tag)?(l=t.typeMap[t.kind||\"fallback\"][t.tag],null!==t.result&&l.kind!==t.kind&&d(t,\"unacceptable node kind for !<\"+t.tag+'> tag; it should be \"'+l.kind+'\", not \"'+t.kind+'\"'),l.resolve(t.result)?(t.result=l.construct(t.result),null!==t.anchor&&(t.anchorMap[t.anchor]=t.result)):d(t,\"cannot resolve a node with !<\"+t.tag+\"> explicit tag\")):d(t,\"unknown tag !<\"+t.tag+\">\");return null!==t.listener&&t.listener(\"close\",t),null!==t.tag||null!==t.anchor||v}function B(t){var e,n,s,a,u=t.position,c=!1;for(t.version=null,t.checkLineBreaks=t.legacy,t.tagMap={},t.anchorMap={};0!==(a=t.input.charCodeAt(t.position))&&(b(t,!0,-1),a=t.input.charCodeAt(t.position),!(t.lineIndent>0||37!==a));){for(c=!0,a=t.input.charCodeAt(++t.position),e=t.position;0!==a&&!o(a);)a=t.input.charCodeAt(++t.position);for(n=t.input.slice(e,t.position),s=[],n.length<1&&d(t,\"directive name must not be less than one character in length\");0!==a;){for(;i(a);)a=t.input.charCodeAt(++t.position);if(35===a){do{a=t.input.charCodeAt(++t.position)}while(0!==a&&!r(a));break}if(r(a))break;for(e=t.position;0!==a&&!o(a);)a=t.input.charCodeAt(++t.position);s.push(t.input.slice(e,t.position))}0!==a&&x(t),K.call(at,n)?at[n](t,n,s):m(t,'unknown document directive \"'+n+'\"')}if(b(t,!0,-1),0===t.lineIndent&&45===t.input.charCodeAt(t.position)&&45===t.input.charCodeAt(t.position+1)&&45===t.input.charCodeAt(t.position+2)?(t.position+=3,b(t,!0,-1)):c&&d(t,\"directives end mark is expected\"),M(t,t.lineIndent-1,H,!1,!0),b(t,!0,-1),t.checkLineBreaks&&tt.test(t.input.slice(u,t.position))&&m(t,\"non-ASCII line breaks are interpreted as content\"),t.documents.push(t.result),t.position===t.lineStart&&D(t))return void(46===t.input.charCodeAt(t.position)&&(t.position+=3,b(t,!0,-1)));t.position<t.length-1&&d(t,\"end of the stream or a document separator is expected\")}function P(t,e){t=String(t),e=e||{},0!==t.length&&(10!==t.charCodeAt(t.length-1)&&13!==t.charCodeAt(t.length-1)&&(t+=\"\\n\"),65279===t.charCodeAt(0)&&(t=t.slice(1)));var n=new f(t,e);for(n.input+=\"\\0\";32===n.input.charCodeAt(n.position);)n.lineIndent+=1,n.position+=1;for(;n.position<n.length-1;)B(n);return n.documents}function j(t,e,n){var r,i,o=P(t,n);if(\"function\"!=typeof e)return o;for(r=0,i=o.length;r<i;r+=1)e(o[r])}function N(t,e){var n=P(t,e);if(0!==n.length){if(1===n.length)return n[0];throw new U(\"expected a single document in the stream, but found more\")}}function L(t,e,n){if(\"function\"!=typeof e)return j(t,z.extend({schema:X},n));j(t,e,z.extend({schema:X},n))}function R(t,e){return N(t,z.extend({schema:X},e))}for(var z=n(33),U=n(48),J=n(362),X=n(49),q=n(70),K=Object.prototype.hasOwnProperty,W=1,Y=2,V=3,H=4,G=1,$=2,Z=3,Q=/[\\x00-\\x08\\x0B\\x0C\\x0E-\\x1F\\x7F-\\x84\\x86-\\x9F\\uFFFE\\uFFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF]/,tt=/[\\x85\\u2028\\u2029]/,et=/[,\\[\\]\\{\\}]/,nt=/^(?:!|!!|![a-z\\-]+!)$/i,rt=/^(?:!|[^,\\[\\]\\{\\}])(?:%[0-9a-f]{2}|[0-9a-z\\-#;\\/\\?:@&=\\+\\$,_\\.!~\\*'\\(\\)\\[\\]])*$/i,it=new Array(256),ot=new Array(256),st=0;st<256;st++)it[st]=l(st)?1:0,ot[st]=l(st);var at={YAML:function(t,e,n){var r,i,o;null!==t.version&&d(t,\"duplication of %YAML directive\"),1!==n.length&&d(t,\"YAML directive accepts exactly one argument\"),r=/^([0-9]+)\\.([0-9]+)$/.exec(n[0]),null===r&&d(t,\"ill-formed argument of the YAML directive\"),i=parseInt(r[1],10),o=parseInt(r[2],10),1!==i&&d(t,\"unacceptable YAML version of the document\"),t.version=n[0],t.checkLineBreaks=o<2,1!==o&&2!==o&&m(t,\"unsupported YAML version of the document\")},TAG:function(t,e,n){var r,i;2!==n.length&&d(t,\"TAG directive accepts exactly two arguments\"),r=n[0],i=n[1],nt.test(r)||d(t,\"ill-formed tag handle (first argument) of the TAG directive\"),K.call(t.tagMap,r)&&d(t,'there is a previously declared suffix for \"'+r+'\" tag handle'),rt.test(i)||d(t,\"ill-formed tag prefix (second argument) of the TAG directive\"),t.tagMap[r]=i}};t.exports.loadAll=j,t.exports.load=N,t.exports.safeLoadAll=L,t.exports.safeLoad=R},function(t,e,n){\"use strict\";function r(t,e,n,r,i){this.name=t,this.buffer=e,this.position=n,this.line=r,this.column=i}var i=n(33);r.prototype.getSnippet=function(t,e){var n,r,o,s,a;if(!this.buffer)return null;for(t=t||4,e=e||75,n=\"\",r=this.position;r>0&&-1===\"\\0\\r\\n\\u2028\\u2029\".indexOf(this.buffer.charAt(r-1));)if(r-=1,this.position-r>e/2-1){n=\" ... \",r+=5;break}for(o=\"\",s=this.position;s<this.buffer.length&&-1===\"\\0\\r\\n\\u2028\\u2029\".indexOf(this.buffer.charAt(s));)if((s+=1)-this.position>e/2-1){o=\" ... \",s-=5;break}return a=this.buffer.slice(r,s),i.repeat(\" \",t)+n+a+o+\"\\n\"+i.repeat(\" \",t+this.position-r+n.length)+\"^\"},r.prototype.toString=function(t){var e,n=\"\";return this.name&&(n+='in \"'+this.name+'\" '),n+=\"at line \"+(this.line+1)+\", column \"+(this.column+1),t||(e=this.getSnippet())&&(n+=\":\\n\"+e),n},t.exports=r},function(t,e,n){\"use strict\";function r(t){if(null===t)return!1;var e,n,r=0,i=t.length,o=c;for(n=0;n<i;n++)if(!((e=o.indexOf(t.charAt(n)))>64)){if(e<0)return!1;r+=6}return r%8==0}function i(t){var e,n,r=t.replace(/[\\r\\n=]/g,\"\"),i=r.length,o=c,s=0,u=[];for(e=0;e<i;e++)e%4==0&&e&&(u.push(s>>16&255),u.push(s>>8&255),u.push(255&s)),s=s<<6|o.indexOf(r.charAt(e));return n=i%4*6,0===n?(u.push(s>>16&255),u.push(s>>8&255),u.push(255&s)):18===n?(u.push(s>>10&255),u.push(s>>2&255)):12===n&&u.push(s>>4&255),a?a.from?a.from(u):new a(u):u}function o(t){var e,n,r=\"\",i=0,o=t.length,s=c;for(e=0;e<o;e++)e%3==0&&e&&(r+=s[i>>18&63],r+=s[i>>12&63],r+=s[i>>6&63],r+=s[63&i]),i=(i<<8)+t[e];return n=o%3,0===n?(r+=s[i>>18&63],r+=s[i>>12&63],r+=s[i>>6&63],r+=s[63&i]):2===n?(r+=s[i>>10&63],r+=s[i>>4&63],r+=s[i<<2&63],r+=s[64]):1===n&&(r+=s[i>>2&63],r+=s[i<<4&63],r+=s[64],r+=s[64]),r}function s(t){return a&&a.isBuffer(t)}var a;try{a=n(55).Buffer}catch(t){}var u=n(0),c=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\\n\\r\";t.exports=new u(\"tag:yaml.org,2002:binary\",{kind:\"scalar\",resolve:r,construct:i,predicate:s,represent:o})},function(t,e,n){\"use strict\";function r(t){if(null===t)return!1;var e=t.length;return 4===e&&(\"true\"===t||\"True\"===t||\"TRUE\"===t)||5===e&&(\"false\"===t||\"False\"===t||\"FALSE\"===t)}function i(t){return\"true\"===t||\"True\"===t||\"TRUE\"===t}function o(t){return\"[object Boolean]\"===Object.prototype.toString.call(t)}var s=n(0);t.exports=new s(\"tag:yaml.org,2002:bool\",{kind:\"scalar\",resolve:r,construct:i,predicate:o,represent:{lowercase:function(t){return t?\"true\":\"false\"},uppercase:function(t){return t?\"TRUE\":\"FALSE\"},camelcase:function(t){return t?\"True\":\"False\"}},defaultStyle:\"lowercase\"})},function(t,e,n){\"use strict\";function r(t){return null!==t&&!(!c.test(t)||\"_\"===t[t.length-1])}function i(t){var e,n,r,i;return e=t.replace(/_/g,\"\").toLowerCase(),n=\"-\"===e[0]?-1:1,i=[],\"+-\".indexOf(e[0])>=0&&(e=e.slice(1)),\".inf\"===e?1===n?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:\".nan\"===e?NaN:e.indexOf(\":\")>=0?(e.split(\":\").forEach(function(t){i.unshift(parseFloat(t,10))}),e=0,r=1,i.forEach(function(t){e+=t*r,r*=60}),n*e):n*parseFloat(e,10)}function o(t,e){var n;if(isNaN(t))switch(e){case\"lowercase\":return\".nan\";case\"uppercase\":return\".NAN\";case\"camelcase\":return\".NaN\"}else if(Number.POSITIVE_INFINITY===t)switch(e){case\"lowercase\":return\".inf\";case\"uppercase\":return\".INF\";case\"camelcase\":return\".Inf\"}else if(Number.NEGATIVE_INFINITY===t)switch(e){case\"lowercase\":return\"-.inf\";case\"uppercase\":return\"-.INF\";case\"camelcase\":return\"-.Inf\"}else if(a.isNegativeZero(t))return\"-0.0\";return n=t.toString(10),l.test(n)?n.replace(\"e\",\".e\"):n}function s(t){return\"[object Number]\"===Object.prototype.toString.call(t)&&(t%1!=0||a.isNegativeZero(t))}var a=n(33),u=n(0),c=new RegExp(\"^(?:[-+]?(?:0|[1-9][0-9_]*)(?:\\\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\\\.[0-9_]*|[-+]?\\\\.(?:inf|Inf|INF)|\\\\.(?:nan|NaN|NAN))$\"),l=/^[-+]?[0-9]+e/;t.exports=new u(\"tag:yaml.org,2002:float\",{kind:\"scalar\",resolve:r,construct:i,predicate:s,represent:o,defaultStyle:\"lowercase\"})},function(t,e,n){\"use strict\";function r(t){return 48<=t&&t<=57||65<=t&&t<=70||97<=t&&t<=102}function i(t){return 48<=t&&t<=55}function o(t){return 48<=t&&t<=57}function s(t){if(null===t)return!1;var e,n=t.length,s=0,a=!1;if(!n)return!1;if(e=t[s],\"-\"!==e&&\"+\"!==e||(e=t[++s]),\"0\"===e){if(s+1===n)return!0;if(\"b\"===(e=t[++s])){for(s++;s<n;s++)if(\"_\"!==(e=t[s])){if(\"0\"!==e&&\"1\"!==e)return!1;a=!0}return a&&\"_\"!==e}if(\"x\"===e){for(s++;s<n;s++)if(\"_\"!==(e=t[s])){if(!r(t.charCodeAt(s)))return!1;a=!0}return a&&\"_\"!==e}for(;s<n;s++)if(\"_\"!==(e=t[s])){if(!i(t.charCodeAt(s)))return!1;a=!0}return a&&\"_\"!==e}if(\"_\"===e)return!1;for(;s<n;s++)if(\"_\"!==(e=t[s])){if(\":\"===e)break;if(!o(t.charCodeAt(s)))return!1;a=!0}return!(!a||\"_\"===e)&&(\":\"!==e||/^(:[0-5]?[0-9])+$/.test(t.slice(s)))}function a(t){var e,n,r=t,i=1,o=[];return-1!==r.indexOf(\"_\")&&(r=r.replace(/_/g,\"\")),e=r[0],\"-\"!==e&&\"+\"!==e||(\"-\"===e&&(i=-1),r=r.slice(1),e=r[0]),\"0\"===r?0:\"0\"===e?\"b\"===r[1]?i*parseInt(r.slice(2),2):\"x\"===r[1]?i*parseInt(r,16):i*parseInt(r,8):-1!==r.indexOf(\":\")?(r.split(\":\").forEach(function(t){o.unshift(parseInt(t,10))}),r=0,n=1,o.forEach(function(t){r+=t*n,n*=60}),i*r):i*parseInt(r,10)}function u(t){return\"[object Number]\"===Object.prototype.toString.call(t)&&t%1==0&&!c.isNegativeZero(t)}var c=n(33),l=n(0);t.exports=new l(\"tag:yaml.org,2002:int\",{kind:\"scalar\",resolve:s,construct:a,predicate:u,represent:{binary:function(t){return t>=0?\"0b\"+t.toString(2):\"-0b\"+t.toString(2).slice(1)},octal:function(t){return t>=0?\"0\"+t.toString(8):\"-0\"+t.toString(8).slice(1)},decimal:function(t){return t.toString(10)},hexadecimal:function(t){return t>=0?\"0x\"+t.toString(16).toUpperCase():\"-0x\"+t.toString(16).toUpperCase().slice(1)}},defaultStyle:\"decimal\",styleAliases:{binary:[2,\"bin\"],octal:[8,\"oct\"],decimal:[10,\"dec\"],hexadecimal:[16,\"hex\"]}})},function(t,e,n){\"use strict\";function r(t){if(null===t)return!1;try{var e=\"(\"+t+\")\",n=a.parse(e,{range:!0});return\"Program\"===n.type&&1===n.body.length&&\"ExpressionStatement\"===n.body[0].type&&(\"ArrowFunctionExpression\"===n.body[0].expression.type||\"FunctionExpression\"===n.body[0].expression.type)}catch(t){return!1}}function i(t){var e,n=\"(\"+t+\")\",r=a.parse(n,{range:!0}),i=[];if(\"Program\"!==r.type||1!==r.body.length||\"ExpressionStatement\"!==r.body[0].type||\"ArrowFunctionExpression\"!==r.body[0].expression.type&&\"FunctionExpression\"!==r.body[0].expression.type)throw new Error(\"Failed to resolve function\");return r.body[0].expression.params.forEach(function(t){i.push(t.name)}),e=r.body[0].expression.body.range,new Function(i,n.slice(e[0]+1,e[1]-1))}function o(t){return t.toString()}function s(t){return\"[object Function]\"===Object.prototype.toString.call(t)}var a;try{a=n(355)}catch(t){\"undefined\"!=typeof window&&(a=window.esprima)}var u=n(0);t.exports=new u(\"tag:yaml.org,2002:js/function\",{kind:\"scalar\",resolve:r,construct:i,predicate:s,represent:o})},function(t,e,n){\"use strict\";function r(t){if(null===t)return!1;if(0===t.length)return!1;var e=t,n=/\\/([gim]*)$/.exec(t),r=\"\";if(\"/\"===e[0]){if(n&&(r=n[1]),r.length>3)return!1;if(\"/\"!==e[e.length-r.length-1])return!1}return!0}function i(t){var e=t,n=/\\/([gim]*)$/.exec(t),r=\"\";return\"/\"===e[0]&&(n&&(r=n[1]),e=e.slice(1,e.length-r.length-1)),new RegExp(e,r)}function o(t){var e=\"/\"+t.source+\"/\";return t.global&&(e+=\"g\"),t.multiline&&(e+=\"m\"),t.ignoreCase&&(e+=\"i\"),e}function s(t){return\"[object RegExp]\"===Object.prototype.toString.call(t)}var a=n(0);t.exports=new a(\"tag:yaml.org,2002:js/regexp\",{kind:\"scalar\",resolve:r,construct:i,predicate:s,represent:o})},function(t,e,n){\"use strict\";function r(){return!0}function i(){}function o(){return\"\"}function s(t){return void 0===t}var a=n(0);t.exports=new a(\"tag:yaml.org,2002:js/undefined\",{kind:\"scalar\",resolve:r,construct:i,predicate:s,represent:o})},function(t,e,n){\"use strict\";var r=n(0);t.exports=new r(\"tag:yaml.org,2002:map\",{kind:\"mapping\",construct:function(t){return null!==t?t:{}}})},function(t,e,n){\"use strict\";function r(t){return\"<<\"===t||null===t}var i=n(0);t.exports=new i(\"tag:yaml.org,2002:merge\",{kind:\"scalar\",resolve:r})},function(t,e,n){\"use strict\";function r(t){if(null===t)return!0;var e=t.length;return 1===e&&\"~\"===t||4===e&&(\"null\"===t||\"Null\"===t||\"NULL\"===t)}function i(){return null}function o(t){return null===t}var s=n(0);t.exports=new s(\"tag:yaml.org,2002:null\",{kind:\"scalar\",resolve:r,construct:i,predicate:o,represent:{canonical:function(){return\"~\"},lowercase:function(){return\"null\"},uppercase:function(){return\"NULL\"},camelcase:function(){return\"Null\"}},defaultStyle:\"lowercase\"})},function(t,e,n){\"use strict\";function r(t){if(null===t)return!0;var e,n,r,i,o,u=[],c=t;for(e=0,n=c.length;e<n;e+=1){if(r=c[e],o=!1,\"[object Object]\"!==a.call(r))return!1;for(i in r)if(s.call(r,i)){if(o)return!1;o=!0}if(!o)return!1;if(-1!==u.indexOf(i))return!1;u.push(i)}return!0}function i(t){return null!==t?t:[]}var o=n(0),s=Object.prototype.hasOwnProperty,a=Object.prototype.toString;t.exports=new o(\"tag:yaml.org,2002:omap\",{kind:\"sequence\",resolve:r,construct:i})},function(t,e,n){\"use strict\";function r(t){if(null===t)return!0;var e,n,r,i,o,a=t;for(o=new Array(a.length),e=0,n=a.length;e<n;e+=1){if(r=a[e],\"[object Object]\"!==s.call(r))return!1;if(i=Object.keys(r),1!==i.length)return!1;o[e]=[i[0],r[i[0]]]}return!0}function i(t){if(null===t)return[];var e,n,r,i,o,s=t;for(o=new Array(s.length),e=0,n=s.length;e<n;e+=1)r=s[e],i=Object.keys(r),o[e]=[i[0],r[i[0]]];return o}var o=n(0),s=Object.prototype.toString;t.exports=new o(\"tag:yaml.org,2002:pairs\",{kind:\"sequence\",resolve:r,construct:i})},function(t,e,n){\"use strict\";var r=n(0);t.exports=new r(\"tag:yaml.org,2002:seq\",{kind:\"sequence\",construct:function(t){return null!==t?t:[]}})},function(t,e,n){\"use strict\";function r(t){if(null===t)return!0;var e,n=t;for(e in n)if(s.call(n,e)&&null!==n[e])return!1;return!0}function i(t){return null!==t?t:{}}var o=n(0),s=Object.prototype.hasOwnProperty;t.exports=new o(\"tag:yaml.org,2002:set\",{kind:\"mapping\",resolve:r,construct:i})},function(t,e,n){\"use strict\";var r=n(0);t.exports=new r(\"tag:yaml.org,2002:str\",{kind:\"scalar\",construct:function(t){return null!==t?t:\"\"}})},function(t,e,n){\"use strict\";function r(t){return null!==t&&(null!==a.exec(t)||null!==u.exec(t))}function i(t){var e,n,r,i,o,s,c,l,h,f,p=0,d=null;if(e=a.exec(t),null===e&&(e=u.exec(t)),null===e)throw new Error(\"Date resolve error\");if(n=+e[1],r=+e[2]-1,i=+e[3],!e[4])return new Date(Date.UTC(n,r,i));if(o=+e[4],s=+e[5],c=+e[6],e[7]){for(p=e[7].slice(0,3);p.length<3;)p+=\"0\";p=+p}return e[9]&&(l=+e[10],h=+(e[11]||0),d=6e4*(60*l+h),\"-\"===e[9]&&(d=-d)),f=new Date(Date.UTC(n,r,i,o,s,c,p)),d&&f.setTime(f.getTime()-d),f}function o(t){return t.toISOString()}var s=n(0),a=new RegExp(\"^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$\"),u=new RegExp(\"^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\\\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\\\.([0-9]*))?(?:[ \\\\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$\");t.exports=new s(\"tag:yaml.org,2002:timestamp\",{kind:\"scalar\",resolve:r,construct:i,instanceOf:Date,represent:o})},function(t,e,n){var r=n(35),i=n(7),o=r(i,\"DataView\");t.exports=o},function(t,e,n){function r(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}var i=n(434),o=n(435),s=n(436),a=n(437),u=n(438);r.prototype.clear=i,r.prototype.delete=o,r.prototype.get=s,r.prototype.has=a,r.prototype.set=u,t.exports=r},function(t,e,n){var r=n(35),i=n(7),o=r(i,\"Promise\");t.exports=o},function(t,e,n){var r=n(35),i=n(7),o=r(i,\"Set\");t.exports=o},function(t,e,n){function r(t){var e=-1,n=null==t?0:t.length;for(this.__data__=new i;++e<n;)this.add(t[e])}var i=n(114),o=n(459),s=n(460);r.prototype.add=r.prototype.push=o,r.prototype.has=s,t.exports=r},function(t,e,n){var r=n(7),i=r.Uint8Array;t.exports=i},function(t,e,n){var r=n(35),i=n(7),o=r(i,\"WeakMap\");t.exports=o},function(t,e){function n(t,e){for(var n=-1,r=null==t?0:t.length,i=0,o=[];++n<r;){var s=t[n];e(s,n,t)&&(o[i++]=s)}return o}t.exports=n},function(t,e,n){function r(t,e){var n=s(t),r=!n&&o(t),l=!n&&!r&&a(t),f=!n&&!r&&!l&&c(t),p=n||r||l||f,d=p?i(t.length,String):[],m=d.length;for(var v in t)!e&&!h.call(t,v)||p&&(\"length\"==v||l&&(\"offset\"==v||\"parent\"==v)||f&&(\"buffer\"==v||\"byteLength\"==v||\"byteOffset\"==v)||u(v,m))||d.push(v);return d}var i=n(412),o=n(182),s=n(8),a=n(183),u=n(116),c=n(185),l=Object.prototype,h=l.hasOwnProperty;t.exports=r},function(t,e){function n(t,e){for(var n=-1,r=null==t?0:t.length,i=Array(r);++n<r;)i[n]=e(t[n],n,t);return i}t.exports=n},function(t,e){function n(t,e){for(var n=-1,r=e.length,i=t.length;++n<r;)t[i+n]=e[n];return t}t.exports=n},function(t,e){function n(t,e,n,r){var i=-1,o=null==t?0:t.length;for(r&&o&&(n=t[++i]);++i<o;)n=e(n,t[i],i,t);return n}t.exports=n},function(t,e){function n(t){return t.split(\"\")}t.exports=n},function(t,e){function n(t){return t.match(r)||[]}var r=/[^\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\x7f]+/g;t.exports=n},function(t,e,n){var r=n(396),i=n(418),o=i(r);t.exports=o},function(t,e){function n(t,e,n,r){for(var i=t.length,o=n+(r?1:-1);r?o--:++o<i;)if(e(t[o],o,t))return o;return-1}t.exports=n},function(t,e,n){var r=n(419),i=r();t.exports=i},function(t,e,n){function r(t,e){return t&&i(t,e,o)}var i=n(395),o=n(80);t.exports=r},function(t,e,n){function r(t,e,n){var r=e(t);return o(t)?r:i(r,n(t))}var i=n(389),o=n(8);t.exports=r},function(t,e){function n(t,e){return null!=t&&e in Object(t)}t.exports=n},function(t,e,n){function r(t){return o(t)&&i(t)==s}var i=n(50),o=n(52),s=\"[object Arguments]\";t.exports=r},function(t,e,n){function r(t,e,n,r,v,g){var x=c(t),b=c(e),D=x?d:u(t),E=b?d:u(e);D=D==p?m:D,E=E==p?m:E;var w=D==m,_=E==m,S=D==E;if(S&&l(t)){if(!l(e))return!1;x=!0,w=!1}if(S&&!w)return g||(g=new i),x||h(t)?o(t,e,n,r,v,g):s(t,e,D,n,r,v,g);if(!(n&f)){var A=w&&y.call(t,\"__wrapped__\"),C=_&&y.call(e,\"__wrapped__\");if(A||C){var k=A?t.value():t,F=C?e.value():e;return g||(g=new i),v(k,F,n,r,g)}}return!!S&&(g||(g=new i),a(t,e,n,r,v,g))}var i=n(171),o=n(176),s=n(424),a=n(425),u=n(430),c=n(8),l=n(183),h=n(185),f=1,p=\"[object Arguments]\",d=\"[object Array]\",m=\"[object Object]\",v=Object.prototype,y=v.hasOwnProperty;t.exports=r},function(t,e,n){function r(t,e,n,r){var u=n.length,c=u,l=!r;if(null==t)return!c;for(t=Object(t);u--;){var h=n[u];if(l&&h[2]?h[1]!==t[h[0]]:!(h[0]in t))return!1}for(;++u<c;){h=n[u];var f=h[0],p=t[f],d=h[1];if(l&&h[2]){if(void 0===p&&!(f in t))return!1}else{var m=new i;if(r)var v=r(p,d,f,t,e,m);if(!(void 0===v?o(d,p,s|a,r,m):v))return!1}}return!0}var i=n(171),o=n(174),s=1,a=2;t.exports=r},function(t,e,n){function r(t){return!(!s(t)||o(t))&&(i(t)?d:c).test(a(t))}var i=n(184),o=n(441),s=n(51),a=n(181),u=/[\\\\^$.*+?()[\\]{}|]/g,c=/^\\[object .+?Constructor\\]$/,l=Function.prototype,h=Object.prototype,f=l.toString,p=h.hasOwnProperty,d=RegExp(\"^\"+f.call(p).replace(u,\"\\\\$&\").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g,\"$1.*?\")+\"$\");t.exports=r},function(t,e,n){function r(t){return s(t)&&o(t.length)&&!!a[i(t)]}var i=n(50),o=n(118),s=n(52),a={};a[\"[object Float32Array]\"]=a[\"[object Float64Array]\"]=a[\"[object Int8Array]\"]=a[\"[object Int16Array]\"]=a[\"[object Int32Array]\"]=a[\"[object Uint8Array]\"]=a[\"[object Uint8ClampedArray]\"]=a[\"[object Uint16Array]\"]=a[\"[object Uint32Array]\"]=!0,a[\"[object Arguments]\"]=a[\"[object Array]\"]=a[\"[object ArrayBuffer]\"]=a[\"[object Boolean]\"]=a[\"[object DataView]\"]=a[\"[object Date]\"]=a[\"[object Error]\"]=a[\"[object Function]\"]=a[\"[object Map]\"]=a[\"[object Number]\"]=a[\"[object Object]\"]=a[\"[object RegExp]\"]=a[\"[object Set]\"]=a[\"[object String]\"]=a[\"[object WeakMap]\"]=!1,t.exports=r},function(t,e,n){function r(t){if(!i(t))return o(t);var e=[];for(var n in Object(t))a.call(t,n)&&\"constructor\"!=n&&e.push(n);return e}var i=n(442),o=n(455),s=Object.prototype,a=s.hasOwnProperty;t.exports=r},function(t,e,n){function r(t){var e=o(t);return 1==e.length&&e[0][2]?s(e[0][0],e[0][1]):function(n){return n===t||i(n,t,e)}}var i=n(401),o=n(427),s=n(180);t.exports=r},function(t,e,n){function r(t,e){return a(t)&&u(e)?c(l(t),e):function(n){var r=o(n,t);return void 0===r&&r===e?s(n,t):i(e,r,h|f)}}var i=n(174),o=n(476),s=n(477),a=n(117),u=n(179),c=n(180),l=n(76),h=1,f=2;t.exports=r},function(t,e){function n(t){return function(e){return null==e?void 0:e[t]}}t.exports=n},function(t,e,n){function r(t){return function(e){return i(e,t)}}var i=n(173);t.exports=r},function(t,e){function n(t){return function(e){return null==t?void 0:t[e]}}t.exports=n},function(t,e){function n(t,e,n){var r=-1,i=t.length;e<0&&(e=-e>i?0:i+e),n=n>i?i:n,n<0&&(n+=i),i=e>n?0:n-e>>>0,e>>>=0;for(var o=Array(i);++r<i;)o[r]=t[r+e];return o}t.exports=n},function(t,e,n){function r(t,e){var n;return i(t,function(t,r,i){return!(n=e(t,r,i))}),!!n}var i=n(393);t.exports=r},function(t,e){function n(t,e){for(var n=-1,r=Array(t);++n<t;)r[n]=e(n);return r}t.exports=n},function(t,e,n){function r(t){if(\"string\"==typeof t)return t;if(s(t))return o(t,r)+\"\";if(a(t))return l?l.call(t):\"\";var e=t+\"\";return\"0\"==e&&1/t==-u?\"-0\":e}var i=n(72),o=n(388),s=n(8),a=n(79),u=1/0,c=i?i.prototype:void 0,l=c?c.toString:void 0;t.exports=r},function(t,e){function n(t){return function(e){return t(e)}}t.exports=n},function(t,e){function n(t,e){return t.has(e)}t.exports=n},function(t,e,n){function r(t,e,n){var r=t.length;return n=void 0===n?r:n,!e&&n>=r?t:i(t,e,n)}var i=n(410);t.exports=r},function(t,e,n){var r=n(7),i=r[\"__core-js_shared__\"];t.exports=i},function(t,e,n){function r(t,e){return function(n,r){if(null==n)return n;if(!i(n))return t(n,r);for(var o=n.length,s=e?o:-1,a=Object(n);(e?s--:++s<o)&&!1!==r(a[s],s,a););return n}}var i=n(78);t.exports=r},function(t,e){function n(t){return function(e,n,r){for(var i=-1,o=Object(e),s=r(e),a=s.length;a--;){var u=s[t?a:++i];if(!1===n(o[u],u,o))break}return e}}t.exports=n},function(t,e,n){function r(t){return function(e){e=a(e);var n=o(e)?s(e):void 0,r=n?n[0]:e.charAt(0),u=n?i(n,1).join(\"\"):e.slice(1);return r[t]()+u}}var i=n(416),o=n(178),s=n(467),a=n(53);t.exports=r},function(t,e,n){function r(t){return function(e){return i(s(o(e).replace(a,\"\")),t,\"\")}}var i=n(390),o=n(473),s=n(486),a=RegExp(\"['’]\",\"g\");t.exports=r},function(t,e,n){function r(t){return function(e,n,r){var a=Object(e);if(!o(e)){var u=i(n,3);e=s(e),n=function(t){return u(a[t],t,a)}}var c=t(e,n,r);return c>-1?a[u?e[c]:c]:void 0}}var i=n(115),o=n(78),s=n(80);t.exports=r},function(t,e,n){var r=n(409),i={\"À\":\"A\",\"Á\":\"A\",\"Â\":\"A\",\"Ã\":\"A\",\"Ä\":\"A\",\"Å\":\"A\",\"à\":\"a\",\"á\":\"a\",\"â\":\"a\",\"ã\":\"a\",\"ä\":\"a\",\"å\":\"a\",\"Ç\":\"C\",\"ç\":\"c\",\"Ð\":\"D\",\"ð\":\"d\",\"È\":\"E\",\"É\":\"E\",\"Ê\":\"E\",\"Ë\":\"E\",\"è\":\"e\",\"é\":\"e\",\"ê\":\"e\",\"ë\":\"e\",\"Ì\":\"I\",\"Í\":\"I\",\"Î\":\"I\",\"Ï\":\"I\",\"ì\":\"i\",\"í\":\"i\",\"î\":\"i\",\"ï\":\"i\",\"Ñ\":\"N\",\"ñ\":\"n\",\"Ò\":\"O\",\"Ó\":\"O\",\"Ô\":\"O\",\"Õ\":\"O\",\"Ö\":\"O\",\"Ø\":\"O\",\"ò\":\"o\",\"ó\":\"o\",\"ô\":\"o\",\"õ\":\"o\",\"ö\":\"o\",\"ø\":\"o\",\"Ù\":\"U\",\"Ú\":\"U\",\"Û\":\"U\",\"Ü\":\"U\",\"ù\":\"u\",\"ú\":\"u\",\"û\":\"u\",\"ü\":\"u\",\"Ý\":\"Y\",\"ý\":\"y\",\"ÿ\":\"y\",\"Æ\":\"Ae\",\"æ\":\"ae\",\"Þ\":\"Th\",\"þ\":\"th\",\"ß\":\"ss\",\"Ā\":\"A\",\"Ă\":\"A\",\"Ą\":\"A\",\"ā\":\"a\",\"ă\":\"a\",\"ą\":\"a\",\"Ć\":\"C\",\"Ĉ\":\"C\",\"Ċ\":\"C\",\"Č\":\"C\",\"ć\":\"c\",\"ĉ\":\"c\",\"ċ\":\"c\",\"č\":\"c\",\"Ď\":\"D\",\"Đ\":\"D\",\"ď\":\"d\",\"đ\":\"d\",\"Ē\":\"E\",\"Ĕ\":\"E\",\"Ė\":\"E\",\"Ę\":\"E\",\"Ě\":\"E\",\"ē\":\"e\",\"ĕ\":\"e\",\"ė\":\"e\",\"ę\":\"e\",\"ě\":\"e\",\"Ĝ\":\"G\",\"Ğ\":\"G\",\"Ġ\":\"G\",\"Ģ\":\"G\",\"ĝ\":\"g\",\"ğ\":\"g\",\"ġ\":\"g\",\"ģ\":\"g\",\"Ĥ\":\"H\",\"Ħ\":\"H\",\"ĥ\":\"h\",\"ħ\":\"h\",\"Ĩ\":\"I\",\"Ī\":\"I\",\"Ĭ\":\"I\",\"Į\":\"I\",\"İ\":\"I\",\"ĩ\":\"i\",\"ī\":\"i\",\"ĭ\":\"i\",\"į\":\"i\",\"ı\":\"i\",\"Ĵ\":\"J\",\"ĵ\":\"j\",\"Ķ\":\"K\",\"ķ\":\"k\",\"ĸ\":\"k\",\"Ĺ\":\"L\",\"Ļ\":\"L\",\"Ľ\":\"L\",\"Ŀ\":\"L\",\"Ł\":\"L\",\"ĺ\":\"l\",\"ļ\":\"l\",\"ľ\":\"l\",\"ŀ\":\"l\",\"ł\":\"l\",\"Ń\":\"N\",\"Ņ\":\"N\",\"Ň\":\"N\",\"Ŋ\":\"N\",\"ń\":\"n\",\"ņ\":\"n\",\"ň\":\"n\",\"ŋ\":\"n\",\"Ō\":\"O\",\"Ŏ\":\"O\",\"Ő\":\"O\",\"ō\":\"o\",\"ŏ\":\"o\",\"ő\":\"o\",\"Ŕ\":\"R\",\"Ŗ\":\"R\",\"Ř\":\"R\",\"ŕ\":\"r\",\"ŗ\":\"r\",\"ř\":\"r\",\"Ś\":\"S\",\"Ŝ\":\"S\",\"Ş\":\"S\",\"Š\":\"S\",\"ś\":\"s\",\"ŝ\":\"s\",\"ş\":\"s\",\"š\":\"s\",\"Ţ\":\"T\",\"Ť\":\"T\",\"Ŧ\":\"T\",\"ţ\":\"t\",\"ť\":\"t\",\"ŧ\":\"t\",\"Ũ\":\"U\",\"Ū\":\"U\",\"Ŭ\":\"U\",\"Ů\":\"U\",\"Ű\":\"U\",\"Ų\":\"U\",\"ũ\":\"u\",\"ū\":\"u\",\"ŭ\":\"u\",\"ů\":\"u\",\"ű\":\"u\",\"ų\":\"u\",\"Ŵ\":\"W\",\"ŵ\":\"w\",\"Ŷ\":\"Y\",\"ŷ\":\"y\",\"Ÿ\":\"Y\",\"Ź\":\"Z\",\"Ż\":\"Z\",\"Ž\":\"Z\",\"ź\":\"z\",\"ż\":\"z\",\"ž\":\"z\",\"Ĳ\":\"IJ\",\"ĳ\":\"ij\",\"Œ\":\"Oe\",\"œ\":\"oe\",\"ŉ\":\"'n\",\"ſ\":\"s\"},o=r(i);t.exports=o},function(t,e,n){function r(t,e,n,r,i,w,S){switch(n){case E:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case D:return!(t.byteLength!=e.byteLength||!w(new o(t),new o(e)));case f:case p:case v:return s(+t,+e);case d:return t.name==e.name&&t.message==e.message;case y:case x:return t==e+\"\";case m:var A=u;case g:var C=r&l;if(A||(A=c),t.size!=e.size&&!C)return!1;var k=S.get(t);if(k)return k==e;r|=h,S.set(t,e);var F=a(A(t),A(e),r,i,w,S);return S.delete(t),F;case b:if(_)return _.call(t)==_.call(e)}return!1}var i=n(72),o=n(384),s=n(77),a=n(176),u=n(453),c=n(461),l=1,h=2,f=\"[object Boolean]\",p=\"[object Date]\",d=\"[object Error]\",m=\"[object Map]\",v=\"[object Number]\",y=\"[object RegExp]\",g=\"[object Set]\",x=\"[object String]\",b=\"[object Symbol]\",D=\"[object ArrayBuffer]\",E=\"[object DataView]\",w=i?i.prototype:void 0,_=w?w.valueOf:void 0;t.exports=r},function(t,e,n){function r(t,e,n,r,s,u){var c=n&o,l=i(t),h=l.length;if(h!=i(e).length&&!c)return!1;for(var f=h;f--;){var p=l[f];if(!(c?p in e:a.call(e,p)))return!1}var d=u.get(t);if(d&&u.get(e))return d==e;var m=!0;u.set(t,e),u.set(e,t);for(var v=c;++f<h;){p=l[f];var y=t[p],g=e[p];if(r)var x=c?r(g,y,p,e,t,u):r(y,g,p,t,e,u);if(!(void 0===x?y===g||s(y,g,n,r,u):x)){m=!1;break}v||(v=\"constructor\"==p)}if(m&&!v){var b=t.constructor,D=e.constructor;b!=D&&\"constructor\"in t&&\"constructor\"in e&&!(\"function\"==typeof b&&b instanceof b&&\"function\"==typeof D&&D instanceof D)&&(m=!1)}return u.delete(t),u.delete(e),m}var i=n(426),o=1,s=Object.prototype,a=s.hasOwnProperty;t.exports=r},function(t,e,n){function r(t){return i(t,s,o)}var i=n(397),o=n(429),s=n(80);t.exports=r},function(t,e,n){function r(t){for(var e=o(t),n=e.length;n--;){var r=e[n],s=t[r];e[n]=[r,s,i(s)]}return e}var i=n(179),o=n(80);t.exports=r},function(t,e,n){function r(t){var e=s.call(t,u),n=t[u];try{t[u]=void 0;var r=!0}catch(t){}var i=a.call(t);return r&&(e?t[u]=n:delete t[u]),i}var i=n(72),o=Object.prototype,s=o.hasOwnProperty,a=o.toString,u=i?i.toStringTag:void 0;t.exports=r},function(t,e,n){var r=n(386),i=n(481),o=Object.prototype,s=o.propertyIsEnumerable,a=Object.getOwnPropertySymbols,u=a?function(t){return null==t?[]:(t=Object(t),r(a(t),function(e){return s.call(t,e)}))}:i;t.exports=u},function(t,e,n){var r=n(379),i=n(113),o=n(381),s=n(382),a=n(385),u=n(50),c=n(181),l=c(r),h=c(i),f=c(o),p=c(s),d=c(a),m=u;(r&&\"[object DataView]\"!=m(new r(new ArrayBuffer(1)))||i&&\"[object Map]\"!=m(new i)||o&&\"[object Promise]\"!=m(o.resolve())||s&&\"[object Set]\"!=m(new s)||a&&\"[object WeakMap]\"!=m(new a))&&(m=function(t){var e=u(t),n=\"[object Object]\"==e?t.constructor:void 0,r=n?c(n):\"\";if(r)switch(r){case l:return\"[object DataView]\";case h:return\"[object Map]\";case f:return\"[object Promise]\";case p:return\"[object Set]\";case d:return\"[object WeakMap]\"}return e}),t.exports=m},function(t,e){function n(t,e){return null==t?void 0:t[e]}t.exports=n},function(t,e,n){function r(t,e,n){e=i(e,t);for(var r=-1,l=e.length,h=!1;++r<l;){var f=c(e[r]);if(!(h=null!=t&&n(t,f)))break;t=t[f]}return h||++r!=l?h:!!(l=null==t?0:t.length)&&u(l)&&a(f,l)&&(s(t)||o(t))}var i=n(175),o=n(182),s=n(8),a=n(116),u=n(118),c=n(76);t.exports=r},function(t,e){function n(t){return r.test(t)}var r=/[a-z][A-Z]|[A-Z]{2,}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;t.exports=n},function(t,e,n){function r(){this.__data__=i?i(null):{},this.size=0}var i=n(75);t.exports=r},function(t,e){function n(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}t.exports=n},function(t,e,n){function r(t){var e=this.__data__;if(i){var n=e[t];return n===o?void 0:n}return a.call(e,t)?e[t]:void 0}var i=n(75),o=\"__lodash_hash_undefined__\",s=Object.prototype,a=s.hasOwnProperty;t.exports=r},function(t,e,n){function r(t){var e=this.__data__;return i?void 0!==e[t]:s.call(e,t)}var i=n(75),o=Object.prototype,s=o.hasOwnProperty;t.exports=r},function(t,e,n){function r(t,e){var n=this.__data__;return this.size+=this.has(t)?0:1,n[t]=i&&void 0===e?o:e,this}var i=n(75),o=\"__lodash_hash_undefined__\";t.exports=r},function(t,e,n){function r(t,e,n){if(!a(n))return!1;var r=typeof e;return!!(\"number\"==r?o(n)&&s(e,n.length):\"string\"==r&&e in n)&&i(n[e],t)}var i=n(77),o=n(78),s=n(116),a=n(51);t.exports=r},function(t,e){function n(t){var e=typeof t;return\"string\"==e||\"number\"==e||\"symbol\"==e||\"boolean\"==e?\"__proto__\"!==t:null===t}t.exports=n},function(t,e,n){function r(t){return!!o&&o in t}var i=n(417),o=function(){var t=/[^.]+$/.exec(i&&i.keys&&i.keys.IE_PROTO||\"\");return t?\"Symbol(src)_1.\"+t:\"\"}();t.exports=r},function(t,e){function n(t){var e=t&&t.constructor;return t===(\"function\"==typeof e&&e.prototype||r)}var r=Object.prototype;t.exports=n},function(t,e){function n(){this.__data__=[],this.size=0}t.exports=n},function(t,e,n){function r(t){var e=this.__data__,n=i(e,t);return!(n<0)&&(n==e.length-1?e.pop():s.call(e,n,1),--this.size,!0)}var i=n(73),o=Array.prototype,s=o.splice;t.exports=r},function(t,e,n){function r(t){var e=this.__data__,n=i(e,t);return n<0?void 0:e[n][1]}var i=n(73);t.exports=r},function(t,e,n){function r(t){return i(this.__data__,t)>-1}var i=n(73);t.exports=r},function(t,e,n){function r(t,e){var n=this.__data__,r=i(n,t);return r<0?(++this.size,n.push([t,e])):n[r][1]=e,this}var i=n(73);t.exports=r},function(t,e,n){function r(){this.size=0,this.__data__={hash:new i,map:new(s||o),string:new i}}var i=n(380),o=n(71),s=n(113);t.exports=r},function(t,e,n){function r(t){var e=i(this,t).delete(t);return this.size-=e?1:0,e}var i=n(74);t.exports=r},function(t,e,n){function r(t){return i(this,t).get(t)}var i=n(74);t.exports=r},function(t,e,n){function r(t){return i(this,t).has(t)}var i=n(74);t.exports=r},function(t,e,n){function r(t,e){var n=i(this,t),r=n.size;return n.set(t,e),this.size+=n.size==r?0:1,this}var i=n(74);t.exports=r},function(t,e){function n(t){var e=-1,n=Array(t.size);return t.forEach(function(t,r){n[++e]=[r,t]}),n}t.exports=n},function(t,e,n){function r(t){var e=i(t,function(t){return n.size===o&&n.clear(),t}),n=e.cache;return e}var i=n(186),o=500;t.exports=r},function(t,e,n){var r=n(458),i=r(Object.keys,Object);t.exports=i},function(t,e,n){(function(t){var r=n(177),i=\"object\"==typeof e&&e&&!e.nodeType&&e,o=i&&\"object\"==typeof t&&t&&!t.nodeType&&t,s=o&&o.exports===i,a=s&&r.process,u=function(){try{return a&&a.binding&&a.binding(\"util\")}catch(t){}}();t.exports=u}).call(e,n(203)(t))},function(t,e){function n(t){return i.call(t)}var r=Object.prototype,i=r.toString;t.exports=n},function(t,e){function n(t,e){return function(n){return t(e(n))}}t.exports=n},function(t,e){function n(t){return this.__data__.set(t,r),this}var r=\"__lodash_hash_undefined__\";t.exports=n},function(t,e){function n(t){return this.__data__.has(t)}t.exports=n},function(t,e){function n(t){var e=-1,n=Array(t.size);return t.forEach(function(t){n[++e]=t}),n}t.exports=n},function(t,e,n){function r(){this.__data__=new i,this.size=0}var i=n(71);t.exports=r},function(t,e){function n(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n}t.exports=n},function(t,e){function n(t){return this.__data__.get(t)}t.exports=n},function(t,e){function n(t){return this.__data__.has(t)}t.exports=n},function(t,e,n){function r(t,e){var n=this.__data__;if(n instanceof i){var r=n.__data__;if(!o||r.length<a-1)return r.push([t,e]),this.size=++n.size,this;n=this.__data__=new s(r)}return n.set(t,e),this.size=n.size,this}var i=n(71),o=n(113),s=n(114),a=200;t.exports=r},function(t,e,n){function r(t){return o(t)?s(t):i(t)}var i=n(391),o=n(178),s=n(469);t.exports=r},function(t,e,n){var r=n(454),i=/[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g,o=/\\\\(\\\\)?/g,s=r(function(t){var e=[];return 46===t.charCodeAt(0)&&e.push(\"\"),t.replace(i,function(t,n,r,i){e.push(r?i.replace(o,\"$1\"):n||t)}),e});t.exports=s},function(t,e){function n(t){return t.match(h)||[]}var r=\"[\\\\u0300-\\\\u036f\\\\ufe20-\\\\ufe2f\\\\u20d0-\\\\u20ff]\",i=\"\\\\ud83c[\\\\udffb-\\\\udfff]\",o=\"(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}\",s=\"[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]\",a=\"(?:[\\\\u0300-\\\\u036f\\\\ufe20-\\\\ufe2f\\\\u20d0-\\\\u20ff]|\\\\ud83c[\\\\udffb-\\\\udfff])?\",u=\"(?:\\\\u200d(?:\"+[\"[^\\\\ud800-\\\\udfff]\",o,s].join(\"|\")+\")[\\\\ufe0e\\\\ufe0f]?\"+a+\")*\",c=\"[\\\\ufe0e\\\\ufe0f]?\"+a+u,l=\"(?:\"+[\"[^\\\\ud800-\\\\udfff]\"+r+\"?\",r,o,s,\"[\\\\ud800-\\\\udfff]\"].join(\"|\")+\")\",h=RegExp(i+\"(?=\"+i+\")|\"+l+c,\"g\");t.exports=n},function(t,e){function n(t){return t.match(m)||[]}var r=\"\\\\xac\\\\xb1\\\\xd7\\\\xf7\\\\x00-\\\\x2f\\\\x3a-\\\\x40\\\\x5b-\\\\x60\\\\x7b-\\\\xbf\\\\u2000-\\\\u206f \\\\t\\\\x0b\\\\f\\\\xa0\\\\ufeff\\\\n\\\\r\\\\u2028\\\\u2029\\\\u1680\\\\u180e\\\\u2000\\\\u2001\\\\u2002\\\\u2003\\\\u2004\\\\u2005\\\\u2006\\\\u2007\\\\u2008\\\\u2009\\\\u200a\\\\u202f\\\\u205f\\\\u3000\",i=\"[\"+r+\"]\",o=\"[a-z\\\\xdf-\\\\xf6\\\\xf8-\\\\xff]\",s=\"[^\\\\ud800-\\\\udfff\"+r+\"\\\\d+\\\\u2700-\\\\u27bfa-z\\\\xdf-\\\\xf6\\\\xf8-\\\\xffA-Z\\\\xc0-\\\\xd6\\\\xd8-\\\\xde]\",a=\"(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}\",u=\"[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]\",c=\"[A-Z\\\\xc0-\\\\xd6\\\\xd8-\\\\xde]\",l=\"(?:\"+o+\"|\"+s+\")\",h=\"(?:[\\\\u0300-\\\\u036f\\\\ufe20-\\\\ufe2f\\\\u20d0-\\\\u20ff]|\\\\ud83c[\\\\udffb-\\\\udfff])?\",f=\"(?:\\\\u200d(?:\"+[\"[^\\\\ud800-\\\\udfff]\",a,u].join(\"|\")+\")[\\\\ufe0e\\\\ufe0f]?\"+h+\")*\",p=\"[\\\\ufe0e\\\\ufe0f]?\"+h+f,d=\"(?:\"+[\"[\\\\u2700-\\\\u27bf]\",a,u].join(\"|\")+\")\"+p,m=RegExp([c+\"?\"+o+\"+(?:['’](?:d|ll|m|re|s|t|ve))?(?=\"+[i,c,\"$\"].join(\"|\")+\")\",\"(?:[A-Z\\\\xc0-\\\\xd6\\\\xd8-\\\\xde]|[^\\\\ud800-\\\\udfff\\\\xac\\\\xb1\\\\xd7\\\\xf7\\\\x00-\\\\x2f\\\\x3a-\\\\x40\\\\x5b-\\\\x60\\\\x7b-\\\\xbf\\\\u2000-\\\\u206f \\\\t\\\\x0b\\\\f\\\\xa0\\\\ufeff\\\\n\\\\r\\\\u2028\\\\u2029\\\\u1680\\\\u180e\\\\u2000\\\\u2001\\\\u2002\\\\u2003\\\\u2004\\\\u2005\\\\u2006\\\\u2007\\\\u2008\\\\u2009\\\\u200a\\\\u202f\\\\u205f\\\\u3000\\\\d+\\\\u2700-\\\\u27bfa-z\\\\xdf-\\\\xf6\\\\xf8-\\\\xffA-Z\\\\xc0-\\\\xd6\\\\xd8-\\\\xde])+(?:['’](?:D|LL|M|RE|S|T|VE))?(?=\"+[i,c+l,\"$\"].join(\"|\")+\")\",c+\"?\"+l+\"+(?:['’](?:d|ll|m|re|s|t|ve))?\",c+\"+(?:['’](?:D|LL|M|RE|S|T|VE))?\",\"\\\\d*(?:1ST|2ND|3RD|(?![123])\\\\dTH)(?=\\\\b|[a-z_])\",\"\\\\d*(?:1st|2nd|3rd|(?![123])\\\\dth)(?=\\\\b|[A-Z_])\",\"\\\\d+\",d].join(\"|\"),\"g\");t.exports=n},function(t,e,n){var r=n(472),i=n(421),o=i(function(t,e,n){return e=e.toLowerCase(),t+(n?r(e):e)});t.exports=o},function(t,e,n){function r(t){return o(i(t).toLowerCase())}var i=n(53),o=n(187);t.exports=r},function(t,e,n){function r(t){return(t=o(t))&&t.replace(s,i).replace(a,\"\")}var i=n(423),o=n(53),s=/[\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\xff\\u0100-\\u017f]/g,a=RegExp(\"[\\\\u0300-\\\\u036f\\\\ufe20-\\\\ufe2f\\\\u20d0-\\\\u20ff]\",\"g\");t.exports=r},function(t,e,n){var r=n(422),i=n(475),o=r(i);t.exports=o},function(t,e,n){function r(t,e,n){var r=null==t?0:t.length;if(!r)return-1;var u=null==n?0:s(n);return u<0&&(u=a(r+u,0)),i(t,o(e,3),u)}var i=n(394),o=n(115),s=n(484),a=Math.max;t.exports=r},function(t,e,n){function r(t,e,n){var r=null==t?void 0:i(t,e);return void 0===r?n:r}var i=n(173);t.exports=r},function(t,e,n){function r(t,e){return null!=t&&o(t,e,i)}var i=n(398),o=n(432);t.exports=r},function(t,e){function n(t){return t}t.exports=n},function(t,e,n){function r(t){return s(t)?i(a(t)):o(t)}var i=n(407),o=n(408),s=n(117),a=n(76);t.exports=r},function(t,e,n){function r(t,e,n){var r=a(t)?i:s;return n&&u(t,e,n)&&(e=void 0),r(t,o(e,3))}var i=n(172),o=n(115),s=n(411),a=n(8),u=n(439);t.exports=r},function(t,e){function n(){return[]}t.exports=n},function(t,e){function n(){return!1}t.exports=n},function(t,e,n){function r(t){if(!t)return 0===t?t:0;if((t=i(t))===o||t===-o){return(t<0?-1:1)*s}return t===t?t:0}var i=n(485),o=1/0,s=1.7976931348623157e308;t.exports=r},function(t,e,n){function r(t){var e=i(t),n=e%1;return e===e?n?e-n:e:0}var i=n(483);t.exports=r},function(t,e,n){function r(t){if(\"number\"==typeof t)return t;if(o(t))return s;if(i(t)){var e=\"function\"==typeof t.valueOf?t.valueOf():t;t=i(e)?e+\"\":e}if(\"string\"!=typeof t)return 0===t?t:+t;t=t.replace(a,\"\");var n=c.test(t);return n||l.test(t)?h(t.slice(2),n?2:8):u.test(t)?s:+t}var i=n(51),o=n(79),s=NaN,a=/^\\s+|\\s+$/g,u=/^[-+]0x[0-9a-f]+$/i,c=/^0b[01]+$/i,l=/^0o[0-7]+$/i,h=parseInt;t.exports=r},function(t,e,n){function r(t,e,n){return t=s(t),e=n?void 0:e,void 0===e?o(t)?a(t):i(t):t.match(e)||[]}var i=n(392),o=n(433),s=n(53),a=n(470);t.exports=r},function(t,e,n){\"use strict\";var r=n(20),i=Object.create,o=Object.prototype.hasOwnProperty;t.exports=function(t){var e,n=0,s=1,a=i(null),u=i(null),c=0;return t=r(t),{hit:function(r){var i=u[r],l=++c;if(a[l]=r,u[r]=l,!i){if(++n<=t)return;return r=a[s],e(r),r}if(delete a[i],s===i)for(;!o.call(a,++s);)continue},delete:e=function(t){var e=u[t];if(e&&(delete a[e],delete u[t],--n,s===e)){if(!n)return c=0,void(s=1);for(;!o.call(a,++s);)continue}},clear:function(){n=0,s=1,a=i(null),u=i(null),c=0}}}},function(t,e,n){\"use strict\";var r=n(110),i=n(162),o=n(163),s=n(159),a=n(119),u=Array.prototype.slice,c=Function.prototype.apply,l=Object.create,h=Object.prototype.hasOwnProperty;n(22).async=function(t,e){var n,f,p,d=l(null),m=l(null),v=e.memoized,y=e.original;e.memoized=s(function(t){var e=arguments,r=e[e.length-1];return\"function\"==typeof r&&(n=r,e=u.call(e,0,-1)),v.apply(f=this,p=e)},v);try{o(e.memoized,v)}catch(t){}e.on(\"get\",function(t){var r,i,o;if(n){if(d[t])return\"function\"==typeof d[t]?d[t]=[d[t],n]:d[t].push(n),void(n=null);r=n,i=f,o=p,n=f=p=null,a(function(){var s;h.call(m,t)?(s=m[t],e.emit(\"getasync\",t,o,i),c.call(r,s.context,s.args)):(n=r,f=i,p=o,v.apply(i,o))})}}),e.original=function(){var t,i,o,s;return n?(t=r(arguments),i=function t(n){var i,o,u=t.id;return null==u?void a(c.bind(t,this,arguments)):(delete t.id,i=d[u],delete d[u],i?(o=r(arguments),e.has(u)&&(n?e.delete(u):(m[u]={context:this,args:o},e.emit(\"setasync\",u,\"function\"==typeof i?1:i.length))),\"function\"==typeof i?s=c.call(i,this,o):i.forEach(function(t){s=c.call(t,this,o)},this),s):void 0)},o=n,n=f=p=null,t.push(i),s=c.call(y,this,t),i.cb=o,n=i,s):c.call(y,this,arguments)},e.on(\"set\",function(t){if(!n)return void e.delete(t);d[t]?\"function\"==typeof d[t]?d[t]=[d[t],n.cb]:d[t].push(n.cb):d[t]=n.cb,delete n.cb,n.id=t,n=null}),e.on(\"delete\",function(t){var n;h.call(d,t)||m[t]&&(n=m[t],delete m[t],e.emit(\"deleteasync\",t,u.call(n.args,1)))}),e.on(\"clear\",function(){var t=m;m=l(null),e.emit(\"clearasync\",i(t,function(t){return u.call(t.args,1)}))})}},function(t,e,n){\"use strict\";var r=n(11),i=n(67),o=n(22),s=Function.prototype.apply;o.dispose=function(t,e,n){var a;if(r(t),n.async&&o.async||n.promise&&o.promise)return e.on(\"deleteasync\",a=function(e,n){s.call(t,null,n)}),void e.on(\"clearasync\",function(t){i(t,function(t,e){a(e,t)})});e.on(\"delete\",a=function(e,n){t(n)}),e.on(\"clear\",function(t){i(t,function(t,e){a(e,t)})})}},function(t,e,n){\"use strict\";var r=n(110),i=n(67),o=n(119),s=n(167),a=n(530),u=n(22),c=Function.prototype,l=Math.max,h=Math.min,f=Object.create;u.maxAge=function(t,e,n){var p,d,m,v;(t=a(t))&&(p=f(null),d=n.async&&u.async||n.promise&&u.promise?\"async\":\"\",e.on(\"set\"+d,function(n){p[n]=setTimeout(function(){e.delete(n)},t),v&&(v[n]&&\"nextTick\"!==v[n]&&clearTimeout(v[n]),v[n]=setTimeout(function(){delete v[n]},m))}),e.on(\"delete\"+d,function(t){clearTimeout(p[t]),delete p[t],v&&(\"nextTick\"!==v[t]&&clearTimeout(v[t]),delete v[t])}),n.preFetch&&(m=!0===n.preFetch||isNaN(n.preFetch)?.333:l(h(Number(n.preFetch),1),0))&&(v={},m=(1-m)*t,e.on(\"get\"+d,function(t,i,a){v[t]||(v[t]=\"nextTick\",o(function(){var o;\"nextTick\"===v[t]&&(delete v[t],e.delete(t),n.async&&(i=r(i),i.push(c)),o=e.memoized.apply(a,i),n.promise&&s(o)&&(\"function\"==typeof o.done?o.done(c,c):o.then(c,c)))}))})),e.on(\"clear\"+d,function(){i(p,function(t){clearTimeout(t)}),p={},v&&(i(v,function(t){\"nextTick\"!==t&&clearTimeout(t)}),v={})}))}},function(t,e,n){\"use strict\";var r=n(20),i=n(487),o=n(22);o.max=function(t,e,n){var s,a,u;(t=r(t))&&(a=i(t),s=n.async&&o.async||n.promise&&o.promise?\"async\":\"\",e.on(\"set\"+s,u=function(t){void 0!==(t=a.hit(t))&&e.delete(t)}),e.on(\"get\"+s,u),e.on(\"delete\"+s,a.delete),e.on(\"clear\"+s,a.clear))}},function(t,e,n){\"use strict\";var r=n(162),i=n(167),o=n(119),s=Object.create,a=Object.prototype.hasOwnProperty;n(22).promise=function(t,e){var n=s(null),u=s(null),c=s(null);e.on(\"set\",function(r,s,a){if(!i(a))return u[r]=a,void e.emit(\"setasync\",r,1);n[r]=1,c[r]=a;var l=function(t){var i=n[r];i&&(delete n[r],u[r]=t,e.emit(\"setasync\",r,i))},h=function(){n[r]&&(delete n[r],delete c[r],e.delete(r))};\"then\"!==t&&\"function\"==typeof a.done?\"done\"!==t&&\"function\"==typeof a.finally?(a.done(l),a.finally(h)):a.done(l,h):a.then(function(t){o(l.bind(this,t))},function(){o(h)})}),e.on(\"get\",function(t,r,s){var a;if(n[t])return void++n[t];a=c[t];var u=function(){e.emit(\"getasync\",t,r,s)};i(a)?\"function\"==typeof a.done?a.done(u):a.then(function(){o(u)}):u()}),e.on(\"delete\",function(t){if(delete c[t],n[t])return void delete n[t];if(a.call(u,t)){var r=u[t];delete u[t],e.emit(\"deleteasync\",t,[r])}}),e.on(\"clear\",function(){var t=u;u=s(null),n=s(null),c=s(null),e.emit(\"clearasync\",r(t,function(t){return[t]}))})}},function(t,e,n){\"use strict\";var r=n(66),i=n(22),o=Object.create,s=Object.defineProperties;i.refCounter=function(t,e,n){var a,u;a=o(null),u=n.async&&i.async||n.promise&&i.promise?\"async\":\"\",e.on(\"set\"+u,function(t,e){a[t]=e||1}),e.on(\"get\"+u,function(t){++a[t]}),e.on(\"delete\"+u,function(t){delete a[t]}),e.on(\"clear\"+u,function(){a={}}),s(e.memoized,{deleteRef:r(function(){var t=e.get(arguments);return null===t?null:a[t]?!--a[t]&&(e.delete(t),!0):null}),getRefCount:r(function(){var t=e.get(arguments);return null===t?0:a[t]?a[t]:0})})}},function(t,e,n){\"use strict\";var r=n(164),i=n(188),o=n(503);t.exports=function(t){var e,s=r(arguments[1]);return s.normalizer||0!==(e=s.length=i(s.length,t.length,s.async))&&(s.primitive?!1===e?s.normalizer=n(502):e>1&&(s.normalizer=n(500)(e)):s.normalizer=!1===e?n(501)():1===e?n(498)():n(499)(e)),s.async&&n(488),s.promise&&n(492),s.dispose&&n(489),s.maxAge&&n(490),s.max&&n(491),s.refCounter&&n(493),o(t,s)}},function(t,e,n){\"use strict\";var r=n(328),i=n(159),o=n(66),s=n(356).methods,a=n(497),u=n(496),c=Function.prototype.apply,l=Function.prototype.call,h=Object.create,f=Object.prototype.hasOwnProperty,p=Object.defineProperties,d=s.on,m=s.emit;t.exports=function(t,e,n){var s,v,y,g,x,b,D,E,w,_,S,A,C,k=h(null);return v=!1!==e?e:isNaN(t.length)?1:t.length,n.normalizer&&(E=u(n.normalizer),y=E.get,g=E.set,x=E.delete,b=E.clear),null!=n.resolvers&&(C=a(n.resolvers)),A=y?i(function(e){var n,i,o=arguments;if(C&&(o=C(o)),null!==(n=y(o))&&f.call(k,n))return w&&s.emit(\"get\",n,o,this),k[n];if(i=1===o.length?l.call(t,this,o[0]):c.call(t,this,o),null===n){if(null!==(n=y(o)))throw r(\"Circular invocation\",\"CIRCULAR_INVOCATION\");n=g(o)}else if(f.call(k,n))throw r(\"Circular invocation\",\"CIRCULAR_INVOCATION\");return k[n]=i,_&&s.emit(\"set\",n,null,i),i},v):0===e?function(){var e;if(f.call(k,\"data\"))return w&&s.emit(\"get\",\"data\",arguments,this),k.data;if(e=arguments.length?c.call(t,this,arguments):l.call(t,this),f.call(k,\"data\"))throw r(\"Circular invocation\",\"CIRCULAR_INVOCATION\");return k.data=e,_&&s.emit(\"set\",\"data\",null,e),e}:function(e){var n,i,o=arguments;if(C&&(o=C(arguments)),i=String(o[0]),f.call(k,i))return w&&s.emit(\"get\",i,o,this),k[i];if(n=1===o.length?l.call(t,this,o[0]):c.call(t,this,o),f.call(k,i))throw r(\"Circular invocation\",\"CIRCULAR_INVOCATION\");return k[i]=n,_&&s.emit(\"set\",i,null,n),n},s={original:t,memoized:A,get:function(t){return C&&(t=C(t)),y?y(t):String(t[0])},has:function(t){return f.call(k,t)},delete:function(t){var e;f.call(k,t)&&(x&&x(t),e=k[t],delete k[t],S&&s.emit(\"delete\",t,e))},clear:function(){var t=k;b&&b(),k=h(null),s.emit(\"clear\",t)},on:function(t,e){return\"get\"===t?w=!0:\"set\"===t?_=!0:\"delete\"===t&&(S=!0),d.call(this,t,e)},emit:m,updateEnv:function(){t=s.original}},D=y?i(function(t){var e,n=arguments;C&&(n=C(n)),null!==(e=y(n))&&s.delete(e)},v):0===e?function(){return s.delete(\"data\")}:function(t){return C&&(t=C(arguments)[0]),s.delete(t)},p(A,{__memoized__:o(!0),delete:o(D),clear:o(s.clear)}),s}},function(t,e,n){\"use strict\";var r=n(11);t.exports=function(t){var e;return\"function\"==typeof t?{set:t,get:t}:(e={get:r(t.get)},void 0!==t.set?(e.set=r(t.set),e.delete=r(t.delete),e.clear=r(t.clear),e):(e.set=e.get,e))}},function(t,e,n){\"use strict\";var r,i=n(327),o=n(11),s=Array.prototype.slice;r=function(t){return this.map(function(e,n){return e?e(t[n]):t[n]}).concat(s.call(t,this.length))},t.exports=function(t){return t=i(t),t.forEach(function(t){null!=t&&o(t)}),r.bind(t)}},function(t,e,n){\"use strict\";var r=n(109);t.exports=function(){var t=0,e=[],n=[];return{get:function(t){var i=r.call(e,t[0]);return-1===i?null:n[i]},set:function(r){return e.push(r[0]),n.push(++t),t},delete:function(t){var i=r.call(n,t);-1!==i&&(e.splice(i,1),n.splice(i,1))},clear:function(){e=[],n=[]}}}},function(t,e,n){\"use strict\";var r=n(109),i=Object.create;t.exports=function(t){var e=0,n=[[],[]],o=i(null);return{get:function(e){for(var i,o=0,s=n;o<t-1;){if(-1===(i=r.call(s[0],e[o])))return null;s=s[1][i],++o}return i=r.call(s[0],e[o]),-1===i?null:s[1][i]||null},set:function(i){for(var s,a=0,u=n;a<t-1;)s=r.call(u[0],i[a]),-1===s&&(s=u[0].push(i[a])-1,u[1].push([[],[]])),u=u[1][s],++a;return s=r.call(u[0],i[a]),-1===s&&(s=u[0].push(i[a])-1),u[1][s]=++e,o[e]=i,e},delete:function(e){for(var i,s=0,a=n,u=[],c=o[e];s<t-1;){if(-1===(i=r.call(a[0],c[s])))return;u.push(a,i),a=a[1][i],++s}if(-1!==(i=r.call(a[0],c[s]))){for(e=a[1][i],a[0].splice(i,1),a[1].splice(i,1);!a[0].length&&u.length;)i=u.pop(),a=u.pop(),a[0].splice(i,1),a[1].splice(i,1);delete o[e]}},clear:function(){n=[[],[]],o=i(null)}}}},function(t,e,n){\"use strict\";t.exports=function(t){return t?function(e){for(var n=String(e[0]),r=0,i=t;--i;)n+=\"\u0001\"+e[++r];return n}:function(){return\"\"}}},function(t,e,n){\"use strict\";var r=n(109),i=Object.create;t.exports=function(){var t=0,e=[],n=i(null);return{get:function(t){var n,i=0,o=e,s=t.length;if(0===s)return o[s]||null;if(o=o[s]){for(;i<s-1;){if(-1===(n=r.call(o[0],t[i])))return null;o=o[1][n],++i}return n=r.call(o[0],t[i]),-1===n?null:o[1][n]||null}return null},set:function(i){var o,s=0,a=e,u=i.length;if(0===u)a[u]=++t;else{for(a[u]||(a[u]=[[],[]]),a=a[u];s<u-1;)o=r.call(a[0],i[s]),-1===o&&(o=a[0].push(i[s])-1,a[1].push([[],[]])),a=a[1][o],++s;o=r.call(a[0],i[s]),-1===o&&(o=a[0].push(i[s])-1),a[1][o]=++t}return n[t]=i,t},delete:function(t){var i,o=0,s=e,a=n[t],u=a.length,c=[];if(0===u)delete s[u];else if(s=s[u]){for(;o<u-1;){if(-1===(i=r.call(s[0],a[o])))return;c.push(s,i),s=s[1][i],++o}if(-1===(i=r.call(s[0],a[o])))return;for(t=s[1][i],s[0].splice(i,1),s[1].splice(i,1);!s[0].length&&c.length;)i=c.pop(),s=c.pop(),s[0].splice(i,1),s[1].splice(i,1)}delete n[t]},clear:function(){e=[],n=i(null)}}}},function(t,e,n){\"use strict\";t.exports=function(t){var e,n,r=t.length;if(!r)return\"\u0002\";for(e=String(t[n=0]);--r;)e+=\"\u0001\"+t[++n];return e}},function(t,e,n){\"use strict\";var r=n(11),i=n(67),o=n(22),s=n(495),a=n(188),u=Object.prototype.hasOwnProperty;t.exports=function t(e){var n,c,l;if(r(e),n=Object(arguments[1]),n.async&&n.promise)throw new Error(\"Options 'async' and 'promise' cannot be used together\");return u.call(e,\"__memoized__\")&&!n.force?e:(c=a(n.length,e.length,n.async&&o.async),l=s(e,c,n),i(o,function(t,e){n[e]&&t(n[e],l,n)}),t.__profiler__&&t.__profiler__(l),l.updateEnv(),l.memoized)}},function(t,e,n){\"use strict\";function r(t,e,n,r,i){}t.exports=r},function(t,e,n){\"use strict\";var r=n(507);t.exports=function(t){return r(t,!1)}},function(t,e,n){\"use strict\";var r=n(68),i=n(21),o=n(190);t.exports=function(){function t(t,e,n,r,s,a){a!==o&&i(!1,\"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types\")}function e(){return t}t.isRequired=t;var n={array:t,bool:t,func:t,number:t,object:t,string:t,symbol:t,any:t,arrayOf:e,element:t,instanceOf:e,node:t,objectOf:e,oneOf:e,oneOfType:e,shape:e,exact:e};return n.checkPropTypes=r,n.PropTypes=n,n}},function(t,e,n){\"use strict\";var r=n(68),i=n(21),o=n(69),s=n(54),a=n(190),u=n(504);t.exports=function(t,e){function n(t){var e=t&&(A&&t[A]||t[C]);if(\"function\"==typeof e)return e}function c(t,e){return t===e?0!==t||1/t==1/e:t!==t&&e!==e}function l(t){this.message=t,this.stack=\"\"}function h(t){function n(n,r,o,s,u,c,h){if(s=s||k,c=c||o,h!==a)if(e)i(!1,\"Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types\");else;return null==r[o]?n?new l(null===r[o]?\"The \"+u+\" `\"+c+\"` is marked as required in `\"+s+\"`, but its value is `null`.\":\"The \"+u+\" `\"+c+\"` is marked as required in `\"+s+\"`, but its value is `undefined`.\"):null:t(r,o,s,u,c)}var r=n.bind(null,!1);return r.isRequired=n.bind(null,!0),r}function f(t){function e(e,n,r,i,o,s){var a=e[n];if(E(a)!==t)return new l(\"Invalid \"+i+\" `\"+o+\"` of type `\"+w(a)+\"` supplied to `\"+r+\"`, expected `\"+t+\"`.\");return null}return h(e)}function p(t){function e(e,n,r,i,o){if(\"function\"!=typeof t)return new l(\"Property `\"+o+\"` of component `\"+r+\"` has invalid PropType notation inside arrayOf.\");var s=e[n];if(!Array.isArray(s)){return new l(\"Invalid \"+i+\" `\"+o+\"` of type `\"+E(s)+\"` supplied to `\"+r+\"`, expected an array.\")}for(var u=0;u<s.length;u++){var c=t(s,u,r,i,o+\"[\"+u+\"]\",a);if(c instanceof Error)return c}return null}return h(e)}function d(t){function e(e,n,r,i,o){if(!(e[n]instanceof t)){var s=t.name||k;return new l(\"Invalid \"+i+\" `\"+o+\"` of type `\"+S(e[n])+\"` supplied to `\"+r+\"`, expected instance of `\"+s+\"`.\")}return null}return h(e)}function m(t){function e(e,n,r,i,o){for(var s=e[n],a=0;a<t.length;a++)if(c(s,t[a]))return null;return new l(\"Invalid \"+i+\" `\"+o+\"` of value `\"+s+\"` supplied to `\"+r+\"`, expected one of \"+JSON.stringify(t)+\".\")}return Array.isArray(t)?h(e):r.thatReturnsNull}function v(t){function e(e,n,r,i,o){if(\"function\"!=typeof t)return new l(\"Property `\"+o+\"` of component `\"+r+\"` has invalid PropType notation inside objectOf.\");var s=e[n],u=E(s);if(\"object\"!==u)return new l(\"Invalid \"+i+\" `\"+o+\"` of type `\"+u+\"` supplied to `\"+r+\"`, expected an object.\");for(var c in s)if(s.hasOwnProperty(c)){var h=t(s,c,r,i,o+\".\"+c,a);if(h instanceof Error)return h}return null}return h(e)}function y(t){function e(e,n,r,i,o){for(var s=0;s<t.length;s++){if(null==(0,t[s])(e,n,r,i,o,a))return null}return new l(\"Invalid \"+i+\" `\"+o+\"` supplied to `\"+r+\"`.\")}if(!Array.isArray(t))return r.thatReturnsNull;for(var n=0;n<t.length;n++){var i=t[n];if(\"function\"!=typeof i)return o(!1,\"Invalid argument supplied to oneOfType. Expected an array of check functions, but received %s at index %s.\",_(i),n),r.thatReturnsNull}return h(e)}function g(t){function e(e,n,r,i,o){var s=e[n],u=E(s);if(\"object\"!==u)return new l(\"Invalid \"+i+\" `\"+o+\"` of type `\"+u+\"` supplied to `\"+r+\"`, expected `object`.\");for(var c in t){var h=t[c];if(h){var f=h(s,c,r,i,o+\".\"+c,a);if(f)return f}}return null}return h(e)}function x(t){function e(e,n,r,i,o){var u=e[n],c=E(u);if(\"object\"!==c)return new l(\"Invalid \"+i+\" `\"+o+\"` of type `\"+c+\"` supplied to `\"+r+\"`, expected `object`.\");var h=s({},e[n],t);for(var f in h){var p=t[f];if(!p)return new l(\"Invalid \"+i+\" `\"+o+\"` key `\"+f+\"` supplied to `\"+r+\"`.\\nBad object: \"+JSON.stringify(e[n],null,\"  \")+\"\\nValid keys: \"+JSON.stringify(Object.keys(t),null,\"  \"));var d=p(u,f,r,i,o+\".\"+f,a);if(d)return d}return null}return h(e)}function b(e){switch(typeof e){case\"number\":case\"string\":case\"undefined\":return!0;case\"boolean\":return!e;case\"object\":if(Array.isArray(e))return e.every(b);if(null===e||t(e))return!0;var r=n(e);if(!r)return!1;var i,o=r.call(e);if(r!==e.entries){for(;!(i=o.next()).done;)if(!b(i.value))return!1}else for(;!(i=o.next()).done;){var s=i.value;if(s&&!b(s[1]))return!1}return!0;default:return!1}}function D(t,e){return\"symbol\"===t||(\"Symbol\"===e[\"@@toStringTag\"]||\"function\"==typeof Symbol&&e instanceof Symbol)}function E(t){var e=typeof t;return Array.isArray(t)?\"array\":t instanceof RegExp?\"object\":D(e,t)?\"symbol\":e}function w(t){if(void 0===t||null===t)return\"\"+t;var e=E(t);if(\"object\"===e){if(t instanceof Date)return\"date\";if(t instanceof RegExp)return\"regexp\"}return e}function _(t){var e=w(t);switch(e){case\"array\":case\"object\":return\"an \"+e;case\"boolean\":case\"date\":case\"regexp\":return\"a \"+e;default:return e}}function S(t){return t.constructor&&t.constructor.name?t.constructor.name:k}var A=\"function\"==typeof Symbol&&Symbol.iterator,C=\"@@iterator\",k=\"<<anonymous>>\",F={array:f(\"array\"),bool:f(\"boolean\"),func:f(\"function\"),number:f(\"number\"),object:f(\"object\"),string:f(\"string\"),symbol:f(\"symbol\"),any:function(){return h(r.thatReturnsNull)}(),arrayOf:p,element:function(){function e(e,n,r,i,o){var s=e[n];if(!t(s)){return new l(\"Invalid \"+i+\" `\"+o+\"` of type `\"+E(s)+\"` supplied to `\"+r+\"`, expected a single ReactElement.\")}return null}return h(e)}(),instanceOf:d,node:function(){function t(t,e,n,r,i){return b(t[e])?null:new l(\"Invalid \"+r+\" `\"+i+\"` supplied to `\"+n+\"`, expected a ReactNode.\")}return h(t)}(),objectOf:v,oneOf:m,oneOfType:y,shape:g,exact:x};return l.prototype=Error.prototype,F.checkPropTypes=u,F.PropTypes=F,F}},function(t,e){t.exports='---\\nurl: \"http://petstore.swagger.io/v2/swagger.json\"\\ndom_id: \"#swagger-ui\"\\nvalidatorUrl: \"https://online.swagger.io/validator\"\\noauth2RedirectUrl: \"http://localhost:3200/oauth2-redirect.html\"\\n'},function(t,e,n){\"use strict\";function r(t){var e={\"=\":\"=0\",\":\":\"=2\"};return\"$\"+(\"\"+t).replace(/[=:]/g,function(t){return e[t]})}function i(t){var e=/(=0|=2)/g,n={\"=0\":\"=\",\"=2\":\":\"};return(\"\"+(\".\"===t[0]&&\"$\"===t[1]?t.substring(2):t.substring(1))).replace(e,function(t){return n[t]})}var o={escape:r,unescape:i};t.exports=o},function(t,e,n){\"use strict\";var r=n(82),i=(n(21),function(t){var e=this;if(e.instancePool.length){var n=e.instancePool.pop();return e.call(n,t),n}return new e(t)}),o=function(t,e){var n=this;if(n.instancePool.length){var r=n.instancePool.pop();return n.call(r,t,e),r}return new n(t,e)},s=function(t,e,n){var r=this;if(r.instancePool.length){var i=r.instancePool.pop();return r.call(i,t,e,n),i}return new r(t,e,n)},a=function(t,e,n,r){var i=this;if(i.instancePool.length){var o=i.instancePool.pop();return i.call(o,t,e,n,r),o}return new i(t,e,n,r)},u=function(t){var e=this;t instanceof e||r(\"25\"),t.destructor(),e.instancePool.length<e.poolSize&&e.instancePool.push(t)},c=i,l=function(t,e){var n=t;return n.instancePool=[],n.getPooled=e||c,n.poolSize||(n.poolSize=10),n.release=u,n},h={addPoolingTo:l,oneArgumentPooler:i,twoArgumentPooler:o,threeArgumentPooler:s,fourArgumentPooler:a};t.exports=h},function(t,e,n){\"use strict\";var r=n(54),i=n(191),o=n(512),s=n(513),a=n(37),u=n(514),c=n(515),l=n(516),h=n(519),f=a.createElement,p=a.createFactory,d=a.cloneElement,m=r,v=function(t){return t},y={Children:{map:o.map,forEach:o.forEach,count:o.count,toArray:o.toArray,only:h},Component:i.Component,PureComponent:i.PureComponent,createElement:f,cloneElement:d,isValidElement:a.isValidElement,PropTypes:u,createClass:l,createFactory:p,createMixin:v,DOM:s,version:c,__spread:m};t.exports=y},function(t,e,n){\"use strict\";function r(t){return(\"\"+t).replace(b,\"$&/\")}function i(t,e){this.func=t,this.context=e,this.count=0}function o(t,e,n){var r=t.func,i=t.context;r.call(i,e,t.count++)}function s(t,e,n){if(null==t)return t;var r=i.getPooled(e,n);y(t,o,r),i.release(r)}function a(t,e,n,r){this.result=t,this.keyPrefix=e,this.func=n,this.context=r,this.count=0}function u(t,e,n){var i=t.result,o=t.keyPrefix,s=t.func,a=t.context,u=s.call(a,e,t.count++);Array.isArray(u)?c(u,i,n,v.thatReturnsArgument):null!=u&&(m.isValidElement(u)&&(u=m.cloneAndReplaceKey(u,o+(!u.key||e&&e.key===u.key?\"\":r(u.key)+\"/\")+n)),i.push(u))}function c(t,e,n,i,o){var s=\"\";null!=n&&(s=r(n)+\"/\");var c=a.getPooled(e,s,i,o);y(t,u,c),a.release(c)}function l(t,e,n){if(null==t)return t;var r=[];return c(t,r,null,e,n),r}function h(t,e,n){return null}function f(t,e){return y(t,h,null)}function p(t){var e=[];return c(t,e,null,v.thatReturnsArgument),e}var d=n(510),m=n(37),v=n(68),y=n(520),g=d.twoArgumentPooler,x=d.fourArgumentPooler,b=/\\/+/g;i.prototype.destructor=function(){this.func=null,this.context=null,this.count=0},d.addPoolingTo(i,g),a.prototype.destructor=function(){this.result=null,this.keyPrefix=null,this.func=null,this.context=null,this.count=0},d.addPoolingTo(a,x);var D={forEach:s,map:l,mapIntoWithKeyPrefixInternal:c,count:f,toArray:p};t.exports=D},function(t,e,n){\"use strict\";var r=n(37),i=r.createFactory,o={a:i(\"a\"),abbr:i(\"abbr\"),address:i(\"address\"),area:i(\"area\"),article:i(\"article\"),aside:i(\"aside\"),audio:i(\"audio\"),b:i(\"b\"),base:i(\"base\"),bdi:i(\"bdi\"),bdo:i(\"bdo\"),big:i(\"big\"),blockquote:i(\"blockquote\"),body:i(\"body\"),br:i(\"br\"),button:i(\"button\"),canvas:i(\"canvas\"),caption:i(\"caption\"),cite:i(\"cite\"),code:i(\"code\"),col:i(\"col\"),colgroup:i(\"colgroup\"),data:i(\"data\"),datalist:i(\"datalist\"),dd:i(\"dd\"),del:i(\"del\"),details:i(\"details\"),dfn:i(\"dfn\"),dialog:i(\"dialog\"),div:i(\"div\"),dl:i(\"dl\"),dt:i(\"dt\"),em:i(\"em\"),embed:i(\"embed\"),fieldset:i(\"fieldset\"),figcaption:i(\"figcaption\"),figure:i(\"figure\"),footer:i(\"footer\"),form:i(\"form\"),h1:i(\"h1\"),h2:i(\"h2\"),h3:i(\"h3\"),h4:i(\"h4\"),h5:i(\"h5\"),h6:i(\"h6\"),head:i(\"head\"),header:i(\"header\"),hgroup:i(\"hgroup\"),hr:i(\"hr\"),html:i(\"html\"),i:i(\"i\"),iframe:i(\"iframe\"),img:i(\"img\"),input:i(\"input\"),ins:i(\"ins\"),kbd:i(\"kbd\"),keygen:i(\"keygen\"),label:i(\"label\"),legend:i(\"legend\"),li:i(\"li\"),link:i(\"link\"),main:i(\"main\"),map:i(\"map\"),mark:i(\"mark\"),menu:i(\"menu\"),menuitem:i(\"menuitem\"),meta:i(\"meta\"),meter:i(\"meter\"),nav:i(\"nav\"),noscript:i(\"noscript\"),object:i(\"object\"),ol:i(\"ol\"),optgroup:i(\"optgroup\"),option:i(\"option\"),output:i(\"output\"),p:i(\"p\"),param:i(\"param\"),picture:i(\"picture\"),pre:i(\"pre\"),progress:i(\"progress\"),q:i(\"q\"),rp:i(\"rp\"),rt:i(\"rt\"),ruby:i(\"ruby\"),s:i(\"s\"),samp:i(\"samp\"),script:i(\"script\"),section:i(\"section\"),select:i(\"select\"),small:i(\"small\"),source:i(\"source\"),span:i(\"span\"),strong:i(\"strong\"),style:i(\"style\"),sub:i(\"sub\"),summary:i(\"summary\"),sup:i(\"sup\"),table:i(\"table\"),tbody:i(\"tbody\"),td:i(\"td\"),textarea:i(\"textarea\"),tfoot:i(\"tfoot\"),th:i(\"th\"),thead:i(\"thead\"),time:i(\"time\"),title:i(\"title\"),tr:i(\"tr\"),track:i(\"track\"),u:i(\"u\"),ul:i(\"ul\"),var:i(\"var\"),video:i(\"video\"),wbr:i(\"wbr\"),circle:i(\"circle\"),clipPath:i(\"clipPath\"),defs:i(\"defs\"),ellipse:i(\"ellipse\"),g:i(\"g\"),image:i(\"image\"),line:i(\"line\"),linearGradient:i(\"linearGradient\"),mask:i(\"mask\"),path:i(\"path\"),pattern:i(\"pattern\"),polygon:i(\"polygon\"),polyline:i(\"polyline\"),radialGradient:i(\"radialGradient\"),rect:i(\"rect\"),stop:i(\"stop\"),svg:i(\"svg\"),text:i(\"text\"),tspan:i(\"tspan\")};t.exports=o},function(t,e,n){\"use strict\";var r=n(37),i=r.isValidElement,o=n(505);t.exports=o(i)},function(t,e,n){\"use strict\";t.exports=\"15.6.2\"},function(t,e,n){\"use strict\";var r=n(191),i=r.Component,o=n(37),s=o.isValidElement,a=n(194),u=n(323);t.exports=u(i,s,a)},function(t,e,n){\"use strict\";function r(t){var e=t&&(i&&t[i]||t[o]);if(\"function\"==typeof e)return e}var i=\"function\"==typeof Symbol&&Symbol.iterator,o=\"@@iterator\";t.exports=r},function(t,e,n){\"use strict\";var r=function(){};t.exports=r},function(t,e,n){\"use strict\";function r(t){return o.isValidElement(t)||i(\"143\"),t}var i=n(82),o=n(37);n(21);t.exports=r},function(t,e,n){\"use strict\";function r(t,e){return t&&\"object\"==typeof t&&null!=t.key?c.escape(t.key):e.toString(36)}function i(t,e,n,o){var f=typeof t;if(\"undefined\"!==f&&\"boolean\"!==f||(t=null),null===t||\"string\"===f||\"number\"===f||\"object\"===f&&t.$$typeof===a)return n(o,t,\"\"===e?l+r(t,0):e),1;var p,d,m=0,v=\"\"===e?l:e+h;if(Array.isArray(t))for(var y=0;y<t.length;y++)p=t[y],d=v+r(p,y),m+=i(p,d,n,o);else{var g=u(t);if(g){var x,b=g.call(t);if(g!==t.entries)for(var D=0;!(x=b.next()).done;)p=x.value,d=v+r(p,D++),m+=i(p,d,n,o);else for(;!(x=b.next()).done;){var E=x.value;E&&(p=E[1],d=v+c.escape(E[0])+h+r(p,0),m+=i(p,d,n,o))}}else if(\"object\"===f){var w=\"\",_=String(t);s(\"31\",\"[object Object]\"===_?\"object with keys {\"+Object.keys(t).join(\", \")+\"}\":_,w)}}return m}function o(t,e,n){return null==t?0:i(t,\"\",e,n)}var s=n(82),a=(n(192),n(193)),u=n(517),c=(n(21),n(509)),l=(n(69),\".\"),h=\":\";t.exports=o},function(t,e,n){t.exports=n(23)},function(t,e,n){\"use strict\";function r(t){if(!(this instanceof r))return new r(t);i.call(this,t)}t.exports=r;var i=n(198),o=n(46);o.inherits=n(32),o.inherits(r,i),r.prototype._transform=function(t,e,n){n(null,t)}},function(t,e,n){\"use strict\";function r(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}function i(t,e,n){t.copy(e,n)}var o=n(83).Buffer,s=n(536);t.exports=function(){function t(){r(this,t),this.head=null,this.tail=null,this.length=0}return t.prototype.push=function(t){var e={data:t,next:null};this.length>0?this.tail.next=e:this.head=e,this.tail=e,++this.length},t.prototype.unshift=function(t){var e={data:t,next:this.head};0===this.length&&(this.tail=e),this.head=e,++this.length},t.prototype.shift=function(){if(0!==this.length){var t=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,t}},t.prototype.clear=function(){this.head=this.tail=null,this.length=0},t.prototype.join=function(t){if(0===this.length)return\"\";for(var e=this.head,n=\"\"+e.data;e=e.next;)n+=t+e.data;return n},t.prototype.concat=function(t){if(0===this.length)return o.alloc(0);if(1===this.length)return this.head.data;for(var e=o.allocUnsafe(t>>>0),n=this.head,r=0;n;)i(n.data,e,r),r+=n.data.length,n=n.next;return e},t}(),s&&s.inspect&&s.inspect.custom&&(t.exports.prototype[s.inspect.custom]=function(){var t=s.inspect({length:this.length});return this.constructor.name+\" \"+t})},function(t,e,n){t.exports=n(121).PassThrough},function(t,e,n){t.exports=n(121).Transform},function(t,e,n){t.exports=n(120)},function(t,e,n){(function(t,e){!function(t,n){\"use strict\";function r(t){\"function\"!=typeof t&&(t=new Function(\"\"+t));for(var e=new Array(arguments.length-1),n=0;n<e.length;n++)e[n]=arguments[n+1];var r={callback:t,args:e};return c[u]=r,a(u),u++}function i(t){delete c[t]}function o(t){var e=t.callback,r=t.args;switch(r.length){case 0:e();break;case 1:e(r[0]);break;case 2:e(r[0],r[1]);break;case 3:e(r[0],r[1],r[2]);break;default:e.apply(n,r)}}function s(t){if(l)setTimeout(s,0,t);else{var e=c[t];if(e){l=!0;try{o(e)}finally{i(t),l=!1}}}}if(!t.setImmediate){var a,u=1,c={},l=!1,h=t.document,f=Object.getPrototypeOf&&Object.getPrototypeOf(t);f=f&&f.setTimeout?f:t,\"[object process]\"==={}.toString.call(t.process)?function(){a=function(t){e.nextTick(function(){s(t)})}}():function(){if(t.postMessage&&!t.importScripts){var e=!0,n=t.onmessage;return t.onmessage=function(){e=!1},t.postMessage(\"\",\"*\"),t.onmessage=n,e}}()?function(){var e=\"setImmediate$\"+Math.random()+\"$\",n=function(n){n.source===t&&\"string\"==typeof n.data&&0===n.data.indexOf(e)&&s(+n.data.slice(e.length))};t.addEventListener?t.addEventListener(\"message\",n,!1):t.attachEvent(\"onmessage\",n),a=function(n){t.postMessage(e+n,\"*\")}}():t.MessageChannel?function(){var t=new MessageChannel;t.port1.onmessage=function(t){s(t.data)},a=function(e){t.port2.postMessage(e)}}():h&&\"onreadystatechange\"in h.createElement(\"script\")?function(){var t=h.documentElement;a=function(e){var n=h.createElement(\"script\");n.onreadystatechange=function(){s(e),n.onreadystatechange=null,t.removeChild(n),n=null},t.appendChild(n)}}():function(){a=function(t){setTimeout(s,0,t)}}(),f.setImmediate=r,f.clearImmediate=i}}(\"undefined\"==typeof self?void 0===t?this:t:self)}).call(e,n(12),n(36))},function(t,e,n){function r(){i.call(this)}t.exports=r;var i=n(111).EventEmitter;n(32)(r,i),r.Readable=n(121),r.Writable=n(526),r.Duplex=n(521),r.Transform=n(525),r.PassThrough=n(524),r.Stream=r,r.prototype.pipe=function(t,e){function n(e){t.writable&&!1===t.write(e)&&c.pause&&c.pause()}function r(){c.readable&&c.resume&&c.resume()}function o(){l||(l=!0,t.end())}function s(){l||(l=!0,\"function\"==typeof t.destroy&&t.destroy())}function a(t){if(u(),0===i.listenerCount(this,\"error\"))throw t}function u(){c.removeListener(\"data\",n),t.removeListener(\"drain\",r),c.removeListener(\"end\",o),c.removeListener(\"close\",s),c.removeListener(\"error\",a),t.removeListener(\"error\",a),c.removeListener(\"end\",u),c.removeListener(\"close\",u),t.removeListener(\"close\",u)}var c=this;c.on(\"data\",n),t.on(\"drain\",r),t._isStdio||e&&!1===e.end||(c.on(\"end\",o),c.on(\"close\",s));var l=!1;return c.on(\"error\",a),t.on(\"error\",a),c.on(\"end\",u),c.on(\"close\",u),t.on(\"close\",u),t.emit(\"pipe\",c),t}},function(t,e,n){\"use strict\";t.exports=2147483647},function(t,e,n){\"use strict\";var r=n(20),i=n(529);t.exports=function(t){if((t=r(t))>i)throw new TypeError(t+\" exceeds maximum possible timeout\");return t}},function(t,e){t.exports=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAMAAAAM7l6QAAAAYFBMVEUAAABUfwBUfwBUfwBUfwBUfwBUfwBUfwBUfwBUfwBUfwBUfwBUfwBUfwBUfwB0lzB/n0BfhxBpjyC0x4////+qv4CJp1D09++ft3C/z5/K16/U379UfwDf58/q79+Ur2D2RCk9AAAAHXRSTlMAEEAwn9//z3Agv4/vYID/////////////////UMeji1kAAAD8SURBVHgBlZMFAoQwDATRxbXB7f+vPKnlXAZn6k2cf3A9z/PfOC8IIYni5FmmABM8FMhwT17c9hnhiZL1CwvEL1tmPD0qSKq6gaStW/kMXanVmAVRDUlH1OvuuTINo6k90Sxf8qsOtF6g4ff1osP3OnMcV7d4pzdIUtu1oA4V0DZoKmxmlEYvtDUjjS3tmKmqB+pYy8pD1VPf7jPE0I40HHcaBwnue6fGzgyS5tXIU96PV7rkDWHNLV0DK4FkoKmFpN5oUnvi8KoeA2/JXsmXQuokx0siR1G8tLkN6eB9sLwJp/yymcyaP/TrP+RPmbMMixcJVgTR1aUZ93oGXsgXQAaG6EwAAAAASUVORK5CYII=\"},function(t,e,n){(function(e){function n(t,e){function n(){if(!i){if(r(\"throwDeprecation\"))throw new Error(e);r(\"traceDeprecation\")?console.trace(e):console.warn(e),i=!0}return t.apply(this,arguments)}if(r(\"noDeprecation\"))return t;var i=!1;return n}function r(t){try{if(!e.localStorage)return!1}catch(t){return!1}var n=e.localStorage[t];return null!=n&&\"true\"===String(n).toLowerCase()}t.exports=n}).call(e,n(12))},function(t,e){function n(t){return t&&t.replace?t.replace(/([&\"<>'])/g,function(t,e){return r[e]}):t}var r={\"&\":\"&amp;\",'\"':\"&quot;\",\"'\":\"&apos;\",\"<\":\"&lt;\",\">\":\"&gt;\"};t.exports=n},function(t,e,n){(function(e){function r(t,n){function r(t){m?e.nextTick(t):t()}function i(t,e){if(void 0!==e&&(f+=e),t&&!p&&(c=c||new l,p=!0),t&&p){var n=f;r(function(){c.emit(\"data\",n)}),f=\"\"}}function o(t,e){a(i,s(t,d,d?1:0),e)}function u(){if(c){var t=f;r(function(){c.emit(\"data\",t),c.emit(\"end\"),c.readable=!1,c.emit(\"close\")})}}\"object\"!=typeof n&&(n={indent:n});var c=n.stream?new l:null,f=\"\",p=!1,d=n.indent?!0===n.indent?h:n.indent:\"\",m=!0;return r(function(){m=!1}),n.declaration&&function(t){var e=t.encoding||\"UTF-8\",n={version:\"1.0\",encoding:e};t.standalone&&(n.standalone=t.standalone),o({\"?xml\":{_attr:n}}),f=f.replace(\"/>\",\"?>\")}(n.declaration),t&&t.forEach?t.forEach(function(e,n){var r;n+1===t.length&&(r=u),o(e,r)}):o(t,u),c?(c.readable=!0,c):f}function i(){var t=Array.prototype.slice.call(arguments),e={_elem:s(t)};return e.push=function(t){if(!this.append)throw new Error(\"not assigned to a parent!\");var e=this,n=this._elem.indent;a(this.append,s(t,n,this._elem.icount+(n?1:0)),function(){e.append(!0)})},e.close=function(t){void 0!==t&&this.push(t),this.end&&this.end()},e}function o(t,e){return new Array(e||0).join(t||\"\")}function s(t,e,n){function r(t){Object.keys(t).forEach(function(e){f.push(u(e,t[e]))})}n=n||0;var i,a=o(e,n),l=t;if(\"object\"==typeof t){if(i=Object.keys(t)[0],(l=t[i])&&l._elem)return l._elem.name=i,l._elem.icount=n,l._elem.indent=e,l._elem.indents=a,l._elem.interrupt=l,l._elem}var h,f=[],p=[];switch(typeof l){case\"object\":if(null===l)break;l._attr&&r(l._attr),l._cdata&&p.push((\"<![CDATA[\"+l._cdata).replace(/\\]\\]>/g,\"]]]]><![CDATA[>\")+\"]]>\"),l.forEach&&(h=!1,p.push(\"\"),l.forEach(function(t){if(\"object\"==typeof t){\"_attr\"==Object.keys(t)[0]?r(t._attr):p.push(s(t,e,n+1))}else p.pop(),h=!0,p.push(c(t))}),h||p.push(\"\"));break;default:p.push(c(l))}return{name:i,interrupt:!1,attributes:f,content:p,icount:n,indents:a,indent:e}}function a(t,e,n){function r(){for(;e.content.length;){var r=e.content.shift();if(void 0!==r){if(i(r))return;a(t,r)}}t(!1,(o>1?e.indents:\"\")+(e.name?\"</\"+e.name+\">\":\"\")+(e.indent&&!n?\"\\n\":\"\")),n&&n()}function i(e){return!!e.interrupt&&(e.interrupt.append=t,e.interrupt.end=r,e.interrupt=!1,t(!0),!0)}if(\"object\"!=typeof e)return t(!1,e);var o=e.interrupt?1:e.content.length;if(t(!1,e.indents+(e.name?\"<\"+e.name:\"\")+(e.attributes.length?\" \"+e.attributes.join(\" \"):\"\")+(o?e.name?\">\":\"\":e.name?\"/>\":\"\")+(e.indent&&o>1?\"\\n\":\"\")),!o)return t(!1,e.indent?\"\\n\":\"\");i(e)||r()}function u(t,e){return t+'=\"'+c(e)+'\"'}var c=n(533),l=n(528).Stream,h=\"    \";t.exports=r,t.exports.element=t.exports.Element=i}).call(e,n(36))},function(t,e){},function(t,e){},function(t,e,n){n(204),t.exports=n(205)}])});\n//# sourceMappingURL=swagger-ui-standalone-preset.js.map"
  },
  {
    "path": "frontend/static/swagger/swagger-ui.css",
    "content": ".swagger-ui{\n  /*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */font-family:Open Sans,sans-serif;color:#3b4151}.swagger-ui html{line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}.swagger-ui body{margin:0}.swagger-ui article,.swagger-ui aside,.swagger-ui footer,.swagger-ui header,.swagger-ui nav,.swagger-ui section{display:block}.swagger-ui h1{font-size:2em;margin:.67em 0}.swagger-ui figcaption,.swagger-ui figure,.swagger-ui main{display:block}.swagger-ui figure{margin:1em 40px}.swagger-ui hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0;overflow:visible}.swagger-ui pre{font-family:monospace,monospace;font-size:1em}.swagger-ui a{background-color:transparent;-webkit-text-decoration-skip:objects}.swagger-ui abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}.swagger-ui b,.swagger-ui strong{font-weight:inherit;font-weight:bolder}.swagger-ui code,.swagger-ui kbd,.swagger-ui samp{font-family:monospace,monospace;font-size:1em}.swagger-ui dfn{font-style:italic}.swagger-ui mark{background-color:#ff0;color:#000}.swagger-ui small{font-size:80%}.swagger-ui sub,.swagger-ui sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.swagger-ui sub{bottom:-.25em}.swagger-ui sup{top:-.5em}.swagger-ui audio,.swagger-ui video{display:inline-block}.swagger-ui audio:not([controls]){display:none;height:0}.swagger-ui img{border-style:none}.swagger-ui svg:not(:root){overflow:hidden}.swagger-ui button,.swagger-ui input,.swagger-ui optgroup,.swagger-ui select,.swagger-ui textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}.swagger-ui button,.swagger-ui input{overflow:visible}.swagger-ui button,.swagger-ui select{text-transform:none}.swagger-ui [type=reset],.swagger-ui [type=submit],.swagger-ui button,.swagger-ui html [type=button]{-webkit-appearance:button}.swagger-ui [type=button]::-moz-focus-inner,.swagger-ui [type=reset]::-moz-focus-inner,.swagger-ui [type=submit]::-moz-focus-inner,.swagger-ui button::-moz-focus-inner{border-style:none;padding:0}.swagger-ui [type=button]:-moz-focusring,.swagger-ui [type=reset]:-moz-focusring,.swagger-ui [type=submit]:-moz-focusring,.swagger-ui button:-moz-focusring{outline:1px dotted ButtonText}.swagger-ui fieldset{padding:.35em .75em .625em}.swagger-ui legend{-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}.swagger-ui progress{display:inline-block;vertical-align:baseline}.swagger-ui textarea{overflow:auto}.swagger-ui [type=checkbox],.swagger-ui [type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}.swagger-ui [type=number]::-webkit-inner-spin-button,.swagger-ui [type=number]::-webkit-outer-spin-button{height:auto}.swagger-ui [type=search]{-webkit-appearance:textfield;outline-offset:-2px}.swagger-ui [type=search]::-webkit-search-cancel-button,.swagger-ui [type=search]::-webkit-search-decoration{-webkit-appearance:none}.swagger-ui ::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}.swagger-ui details,.swagger-ui menu{display:block}.swagger-ui summary{display:list-item}.swagger-ui canvas{display:inline-block}.swagger-ui [hidden],.swagger-ui template{display:none}.swagger-ui .debug *{outline:1px solid gold}.swagger-ui .debug-white *{outline:1px solid #fff}.swagger-ui .debug-black *{outline:1px solid #000}.swagger-ui .debug-grid{background:transparent url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MTRDOTY4N0U2N0VFMTFFNjg2MzZDQjkwNkQ4MjgwMEIiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MTRDOTY4N0Q2N0VFMTFFNjg2MzZDQjkwNkQ4MjgwMEIiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKE1hY2ludG9zaCkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo3NjcyQkQ3NjY3QzUxMUU2QjJCQ0UyNDA4MTAwMjE3MSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo3NjcyQkQ3NzY3QzUxMUU2QjJCQ0UyNDA4MTAwMjE3MSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PsBS+GMAAAAjSURBVHjaYvz//z8DLsD4gcGXiYEAGBIKGBne//fFpwAgwAB98AaF2pjlUQAAAABJRU5ErkJggg==) repeat 0 0}.swagger-ui .debug-grid-16{background:transparent url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6ODYyRjhERDU2N0YyMTFFNjg2MzZDQjkwNkQ4MjgwMEIiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6ODYyRjhERDQ2N0YyMTFFNjg2MzZDQjkwNkQ4MjgwMEIiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKE1hY2ludG9zaCkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo3NjcyQkQ3QTY3QzUxMUU2QjJCQ0UyNDA4MTAwMjE3MSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo3NjcyQkQ3QjY3QzUxMUU2QjJCQ0UyNDA4MTAwMjE3MSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PvCS01IAAABMSURBVHjaYmR4/5+BFPBfAMFm/MBgx8RAGWCn1AAmSg34Q6kBDKMGMDCwICeMIemF/5QawEipAWwUhwEjMDvbAWlWkvVBwu8vQIABAEwBCph8U6c0AAAAAElFTkSuQmCC) repeat 0 0}.swagger-ui .debug-grid-8-solid{background:#fff url(data:image/jpeg;base64,/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAAAAAAD/4QMxaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjYtYzExMSA3OS4xNTgzMjUsIDIwMTUvMDkvMTAtMDE6MTA6MjAgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE1IChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkIxMjI0OTczNjdCMzExRTZCMkJDRTI0MDgxMDAyMTcxIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkIxMjI0OTc0NjdCMzExRTZCMkJDRTI0MDgxMDAyMTcxIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QjEyMjQ5NzE2N0IzMTFFNkIyQkNFMjQwODEwMDIxNzEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QjEyMjQ5NzI2N0IzMTFFNkIyQkNFMjQwODEwMDIxNzEiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7/7gAOQWRvYmUAZMAAAAAB/9sAhAAbGhopHSlBJiZBQi8vL0JHPz4+P0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHAR0pKTQmND8oKD9HPzU/R0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0f/wAARCAAIAAgDASIAAhEBAxEB/8QAWQABAQAAAAAAAAAAAAAAAAAAAAYBAQEAAAAAAAAAAAAAAAAAAAIEEAEBAAMBAAAAAAAAAAAAAAABADECA0ERAAEDBQAAAAAAAAAAAAAAAAARITFBUWESIv/aAAwDAQACEQMRAD8AoOnTV1QTD7JJshP3vSM3P//Z) repeat 0 0}.swagger-ui .debug-grid-16-solid{background:#fff url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NzY3MkJEN0U2N0M1MTFFNkIyQkNFMjQwODEwMDIxNzEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NzY3MkJEN0Y2N0M1MTFFNkIyQkNFMjQwODEwMDIxNzEiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo3NjcyQkQ3QzY3QzUxMUU2QjJCQ0UyNDA4MTAwMjE3MSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo3NjcyQkQ3RDY3QzUxMUU2QjJCQ0UyNDA4MTAwMjE3MSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pve6J3kAAAAzSURBVHjaYvz//z8D0UDsMwMjSRoYP5Gq4SPNbRjVMEQ1fCRDg+in/6+J1AJUxsgAEGAA31BAJMS0GYEAAAAASUVORK5CYII=) repeat 0 0}.swagger-ui .border-box,.swagger-ui a,.swagger-ui article,.swagger-ui body,.swagger-ui code,.swagger-ui dd,.swagger-ui div,.swagger-ui dl,.swagger-ui dt,.swagger-ui fieldset,.swagger-ui footer,.swagger-ui form,.swagger-ui h1,.swagger-ui h2,.swagger-ui h3,.swagger-ui h4,.swagger-ui h5,.swagger-ui h6,.swagger-ui header,.swagger-ui html,.swagger-ui input[type=email],.swagger-ui input[type=number],.swagger-ui input[type=password],.swagger-ui input[type=tel],.swagger-ui input[type=text],.swagger-ui input[type=url],.swagger-ui legend,.swagger-ui li,.swagger-ui main,.swagger-ui ol,.swagger-ui p,.swagger-ui pre,.swagger-ui section,.swagger-ui table,.swagger-ui td,.swagger-ui textarea,.swagger-ui th,.swagger-ui tr,.swagger-ui ul{-webkit-box-sizing:border-box;box-sizing:border-box}.swagger-ui .aspect-ratio{height:0;position:relative}.swagger-ui .aspect-ratio--16x9{padding-bottom:56.25%}.swagger-ui .aspect-ratio--9x16{padding-bottom:177.77%}.swagger-ui .aspect-ratio--4x3{padding-bottom:75%}.swagger-ui .aspect-ratio--3x4{padding-bottom:133.33%}.swagger-ui .aspect-ratio--6x4{padding-bottom:66.6%}.swagger-ui .aspect-ratio--4x6{padding-bottom:150%}.swagger-ui .aspect-ratio--8x5{padding-bottom:62.5%}.swagger-ui .aspect-ratio--5x8{padding-bottom:160%}.swagger-ui .aspect-ratio--7x5{padding-bottom:71.42%}.swagger-ui .aspect-ratio--5x7{padding-bottom:140%}.swagger-ui .aspect-ratio--1x1{padding-bottom:100%}.swagger-ui .aspect-ratio--object{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:100}@media screen and (min-width:30em){.swagger-ui .aspect-ratio-ns{height:0;position:relative}.swagger-ui .aspect-ratio--16x9-ns{padding-bottom:56.25%}.swagger-ui .aspect-ratio--9x16-ns{padding-bottom:177.77%}.swagger-ui .aspect-ratio--4x3-ns{padding-bottom:75%}.swagger-ui .aspect-ratio--3x4-ns{padding-bottom:133.33%}.swagger-ui .aspect-ratio--6x4-ns{padding-bottom:66.6%}.swagger-ui .aspect-ratio--4x6-ns{padding-bottom:150%}.swagger-ui .aspect-ratio--8x5-ns{padding-bottom:62.5%}.swagger-ui .aspect-ratio--5x8-ns{padding-bottom:160%}.swagger-ui .aspect-ratio--7x5-ns{padding-bottom:71.42%}.swagger-ui .aspect-ratio--5x7-ns{padding-bottom:140%}.swagger-ui .aspect-ratio--1x1-ns{padding-bottom:100%}.swagger-ui .aspect-ratio--object-ns{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:100}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .aspect-ratio-m{height:0;position:relative}.swagger-ui .aspect-ratio--16x9-m{padding-bottom:56.25%}.swagger-ui .aspect-ratio--9x16-m{padding-bottom:177.77%}.swagger-ui .aspect-ratio--4x3-m{padding-bottom:75%}.swagger-ui .aspect-ratio--3x4-m{padding-bottom:133.33%}.swagger-ui .aspect-ratio--6x4-m{padding-bottom:66.6%}.swagger-ui .aspect-ratio--4x6-m{padding-bottom:150%}.swagger-ui .aspect-ratio--8x5-m{padding-bottom:62.5%}.swagger-ui .aspect-ratio--5x8-m{padding-bottom:160%}.swagger-ui .aspect-ratio--7x5-m{padding-bottom:71.42%}.swagger-ui .aspect-ratio--5x7-m{padding-bottom:140%}.swagger-ui .aspect-ratio--1x1-m{padding-bottom:100%}.swagger-ui .aspect-ratio--object-m{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:100}}@media screen and (min-width:60em){.swagger-ui .aspect-ratio-l{height:0;position:relative}.swagger-ui .aspect-ratio--16x9-l{padding-bottom:56.25%}.swagger-ui .aspect-ratio--9x16-l{padding-bottom:177.77%}.swagger-ui .aspect-ratio--4x3-l{padding-bottom:75%}.swagger-ui .aspect-ratio--3x4-l{padding-bottom:133.33%}.swagger-ui .aspect-ratio--6x4-l{padding-bottom:66.6%}.swagger-ui .aspect-ratio--4x6-l{padding-bottom:150%}.swagger-ui .aspect-ratio--8x5-l{padding-bottom:62.5%}.swagger-ui .aspect-ratio--5x8-l{padding-bottom:160%}.swagger-ui .aspect-ratio--7x5-l{padding-bottom:71.42%}.swagger-ui .aspect-ratio--5x7-l{padding-bottom:140%}.swagger-ui .aspect-ratio--1x1-l{padding-bottom:100%}.swagger-ui .aspect-ratio--object-l{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:100}}.swagger-ui img{max-width:100%}.swagger-ui .cover{background-size:cover!important}.swagger-ui .contain{background-size:contain!important}@media screen and (min-width:30em){.swagger-ui .cover-ns{background-size:cover!important}.swagger-ui .contain-ns{background-size:contain!important}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .cover-m{background-size:cover!important}.swagger-ui .contain-m{background-size:contain!important}}@media screen and (min-width:60em){.swagger-ui .cover-l{background-size:cover!important}.swagger-ui .contain-l{background-size:contain!important}}.swagger-ui .bg-center{background-repeat:no-repeat;background-position:50%}.swagger-ui .bg-top{background-repeat:no-repeat;background-position:top}.swagger-ui .bg-right{background-repeat:no-repeat;background-position:100%}.swagger-ui .bg-bottom{background-repeat:no-repeat;background-position:bottom}.swagger-ui .bg-left{background-repeat:no-repeat;background-position:0}@media screen and (min-width:30em){.swagger-ui .bg-center-ns{background-repeat:no-repeat;background-position:50%}.swagger-ui .bg-top-ns{background-repeat:no-repeat;background-position:top}.swagger-ui .bg-right-ns{background-repeat:no-repeat;background-position:100%}.swagger-ui .bg-bottom-ns{background-repeat:no-repeat;background-position:bottom}.swagger-ui .bg-left-ns{background-repeat:no-repeat;background-position:0}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .bg-center-m{background-repeat:no-repeat;background-position:50%}.swagger-ui .bg-top-m{background-repeat:no-repeat;background-position:top}.swagger-ui .bg-right-m{background-repeat:no-repeat;background-position:100%}.swagger-ui .bg-bottom-m{background-repeat:no-repeat;background-position:bottom}.swagger-ui .bg-left-m{background-repeat:no-repeat;background-position:0}}@media screen and (min-width:60em){.swagger-ui .bg-center-l{background-repeat:no-repeat;background-position:50%}.swagger-ui .bg-top-l{background-repeat:no-repeat;background-position:top}.swagger-ui .bg-right-l{background-repeat:no-repeat;background-position:100%}.swagger-ui .bg-bottom-l{background-repeat:no-repeat;background-position:bottom}.swagger-ui .bg-left-l{background-repeat:no-repeat;background-position:0}}.swagger-ui .outline{outline:1px solid}.swagger-ui .outline-transparent{outline:1px solid transparent}.swagger-ui .outline-0{outline:0}@media screen and (min-width:30em){.swagger-ui .outline-ns{outline:1px solid}.swagger-ui .outline-transparent-ns{outline:1px solid transparent}.swagger-ui .outline-0-ns{outline:0}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .outline-m{outline:1px solid}.swagger-ui .outline-transparent-m{outline:1px solid transparent}.swagger-ui .outline-0-m{outline:0}}@media screen and (min-width:60em){.swagger-ui .outline-l{outline:1px solid}.swagger-ui .outline-transparent-l{outline:1px solid transparent}.swagger-ui .outline-0-l{outline:0}}.swagger-ui .ba{border-style:solid;border-width:1px}.swagger-ui .bt{border-top-style:solid;border-top-width:1px}.swagger-ui .br{border-right-style:solid;border-right-width:1px}.swagger-ui .bb{border-bottom-style:solid;border-bottom-width:1px}.swagger-ui .bl{border-left-style:solid;border-left-width:1px}.swagger-ui .bn{border-style:none;border-width:0}@media screen and (min-width:30em){.swagger-ui .ba-ns{border-style:solid;border-width:1px}.swagger-ui .bt-ns{border-top-style:solid;border-top-width:1px}.swagger-ui .br-ns{border-right-style:solid;border-right-width:1px}.swagger-ui .bb-ns{border-bottom-style:solid;border-bottom-width:1px}.swagger-ui .bl-ns{border-left-style:solid;border-left-width:1px}.swagger-ui .bn-ns{border-style:none;border-width:0}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .ba-m{border-style:solid;border-width:1px}.swagger-ui .bt-m{border-top-style:solid;border-top-width:1px}.swagger-ui .br-m{border-right-style:solid;border-right-width:1px}.swagger-ui .bb-m{border-bottom-style:solid;border-bottom-width:1px}.swagger-ui .bl-m{border-left-style:solid;border-left-width:1px}.swagger-ui .bn-m{border-style:none;border-width:0}}@media screen and (min-width:60em){.swagger-ui .ba-l{border-style:solid;border-width:1px}.swagger-ui .bt-l{border-top-style:solid;border-top-width:1px}.swagger-ui .br-l{border-right-style:solid;border-right-width:1px}.swagger-ui .bb-l{border-bottom-style:solid;border-bottom-width:1px}.swagger-ui .bl-l{border-left-style:solid;border-left-width:1px}.swagger-ui .bn-l{border-style:none;border-width:0}}.swagger-ui .b--black{border-color:#000}.swagger-ui .b--near-black{border-color:#111}.swagger-ui .b--dark-gray{border-color:#333}.swagger-ui .b--mid-gray{border-color:#555}.swagger-ui .b--gray{border-color:#777}.swagger-ui .b--silver{border-color:#999}.swagger-ui .b--light-silver{border-color:#aaa}.swagger-ui .b--moon-gray{border-color:#ccc}.swagger-ui .b--light-gray{border-color:#eee}.swagger-ui .b--near-white{border-color:#f4f4f4}.swagger-ui .b--white{border-color:#fff}.swagger-ui .b--white-90{border-color:hsla(0,0%,100%,.9)}.swagger-ui .b--white-80{border-color:hsla(0,0%,100%,.8)}.swagger-ui .b--white-70{border-color:hsla(0,0%,100%,.7)}.swagger-ui .b--white-60{border-color:hsla(0,0%,100%,.6)}.swagger-ui .b--white-50{border-color:hsla(0,0%,100%,.5)}.swagger-ui .b--white-40{border-color:hsla(0,0%,100%,.4)}.swagger-ui .b--white-30{border-color:hsla(0,0%,100%,.3)}.swagger-ui .b--white-20{border-color:hsla(0,0%,100%,.2)}.swagger-ui .b--white-10{border-color:hsla(0,0%,100%,.1)}.swagger-ui .b--white-05{border-color:hsla(0,0%,100%,.05)}.swagger-ui .b--white-025{border-color:hsla(0,0%,100%,.025)}.swagger-ui .b--white-0125{border-color:hsla(0,0%,100%,.0125)}.swagger-ui .b--black-90{border-color:rgba(0,0,0,.9)}.swagger-ui .b--black-80{border-color:rgba(0,0,0,.8)}.swagger-ui .b--black-70{border-color:rgba(0,0,0,.7)}.swagger-ui .b--black-60{border-color:rgba(0,0,0,.6)}.swagger-ui .b--black-50{border-color:rgba(0,0,0,.5)}.swagger-ui .b--black-40{border-color:rgba(0,0,0,.4)}.swagger-ui .b--black-30{border-color:rgba(0,0,0,.3)}.swagger-ui .b--black-20{border-color:rgba(0,0,0,.2)}.swagger-ui .b--black-10{border-color:rgba(0,0,0,.1)}.swagger-ui .b--black-05{border-color:rgba(0,0,0,.05)}.swagger-ui .b--black-025{border-color:rgba(0,0,0,.025)}.swagger-ui .b--black-0125{border-color:rgba(0,0,0,.0125)}.swagger-ui .b--dark-red{border-color:#e7040f}.swagger-ui .b--red{border-color:#ff4136}.swagger-ui .b--light-red{border-color:#ff725c}.swagger-ui .b--orange{border-color:#ff6300}.swagger-ui .b--gold{border-color:#ffb700}.swagger-ui .b--yellow{border-color:gold}.swagger-ui .b--light-yellow{border-color:#fbf1a9}.swagger-ui .b--purple{border-color:#5e2ca5}.swagger-ui .b--light-purple{border-color:#a463f2}.swagger-ui .b--dark-pink{border-color:#d5008f}.swagger-ui .b--hot-pink{border-color:#ff41b4}.swagger-ui .b--pink{border-color:#ff80cc}.swagger-ui .b--light-pink{border-color:#ffa3d7}.swagger-ui .b--dark-green{border-color:#137752}.swagger-ui .b--green{border-color:#19a974}.swagger-ui .b--light-green{border-color:#9eebcf}.swagger-ui .b--navy{border-color:#001b44}.swagger-ui .b--dark-blue{border-color:#00449e}.swagger-ui .b--blue{border-color:#357edd}.swagger-ui .b--light-blue{border-color:#96ccff}.swagger-ui .b--lightest-blue{border-color:#cdecff}.swagger-ui .b--washed-blue{border-color:#f6fffe}.swagger-ui .b--washed-green{border-color:#e8fdf5}.swagger-ui .b--washed-yellow{border-color:#fffceb}.swagger-ui .b--washed-red{border-color:#ffdfdf}.swagger-ui .b--transparent{border-color:transparent}.swagger-ui .b--inherit{border-color:inherit}.swagger-ui .br0{border-radius:0}.swagger-ui .br1{border-radius:.125rem}.swagger-ui .br2{border-radius:.25rem}.swagger-ui .br3{border-radius:.5rem}.swagger-ui .br4{border-radius:1rem}.swagger-ui .br-100{border-radius:100%}.swagger-ui .br-pill{border-radius:9999px}.swagger-ui .br--bottom{border-top-left-radius:0;border-top-right-radius:0}.swagger-ui .br--top{border-bottom-left-radius:0;border-bottom-right-radius:0}.swagger-ui .br--right{border-top-left-radius:0;border-bottom-left-radius:0}.swagger-ui .br--left{border-top-right-radius:0;border-bottom-right-radius:0}@media screen and (min-width:30em){.swagger-ui .br0-ns{border-radius:0}.swagger-ui .br1-ns{border-radius:.125rem}.swagger-ui .br2-ns{border-radius:.25rem}.swagger-ui .br3-ns{border-radius:.5rem}.swagger-ui .br4-ns{border-radius:1rem}.swagger-ui .br-100-ns{border-radius:100%}.swagger-ui .br-pill-ns{border-radius:9999px}.swagger-ui .br--bottom-ns{border-top-left-radius:0;border-top-right-radius:0}.swagger-ui .br--top-ns{border-bottom-left-radius:0;border-bottom-right-radius:0}.swagger-ui .br--right-ns{border-top-left-radius:0;border-bottom-left-radius:0}.swagger-ui .br--left-ns{border-top-right-radius:0;border-bottom-right-radius:0}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .br0-m{border-radius:0}.swagger-ui .br1-m{border-radius:.125rem}.swagger-ui .br2-m{border-radius:.25rem}.swagger-ui .br3-m{border-radius:.5rem}.swagger-ui .br4-m{border-radius:1rem}.swagger-ui .br-100-m{border-radius:100%}.swagger-ui .br-pill-m{border-radius:9999px}.swagger-ui .br--bottom-m{border-top-left-radius:0;border-top-right-radius:0}.swagger-ui .br--top-m{border-bottom-left-radius:0;border-bottom-right-radius:0}.swagger-ui .br--right-m{border-top-left-radius:0;border-bottom-left-radius:0}.swagger-ui .br--left-m{border-top-right-radius:0;border-bottom-right-radius:0}}@media screen and (min-width:60em){.swagger-ui .br0-l{border-radius:0}.swagger-ui .br1-l{border-radius:.125rem}.swagger-ui .br2-l{border-radius:.25rem}.swagger-ui .br3-l{border-radius:.5rem}.swagger-ui .br4-l{border-radius:1rem}.swagger-ui .br-100-l{border-radius:100%}.swagger-ui .br-pill-l{border-radius:9999px}.swagger-ui .br--bottom-l{border-radius-top-left:0;border-radius-top-right:0}.swagger-ui .br--top-l{border-bottom-left-radius:0;border-bottom-right-radius:0}.swagger-ui .br--right-l{border-top-left-radius:0;border-bottom-left-radius:0}.swagger-ui .br--left-l{border-top-right-radius:0;border-bottom-right-radius:0}}.swagger-ui .b--dotted{border-style:dotted}.swagger-ui .b--dashed{border-style:dashed}.swagger-ui .b--solid{border-style:solid}.swagger-ui .b--none{border-style:none}@media screen and (min-width:30em){.swagger-ui .b--dotted-ns{border-style:dotted}.swagger-ui .b--dashed-ns{border-style:dashed}.swagger-ui .b--solid-ns{border-style:solid}.swagger-ui .b--none-ns{border-style:none}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .b--dotted-m{border-style:dotted}.swagger-ui .b--dashed-m{border-style:dashed}.swagger-ui .b--solid-m{border-style:solid}.swagger-ui .b--none-m{border-style:none}}@media screen and (min-width:60em){.swagger-ui .b--dotted-l{border-style:dotted}.swagger-ui .b--dashed-l{border-style:dashed}.swagger-ui .b--solid-l{border-style:solid}.swagger-ui .b--none-l{border-style:none}}.swagger-ui .bw0{border-width:0}.swagger-ui .bw1{border-width:.125rem}.swagger-ui .bw2{border-width:.25rem}.swagger-ui .bw3{border-width:.5rem}.swagger-ui .bw4{border-width:1rem}.swagger-ui .bw5{border-width:2rem}.swagger-ui .bt-0{border-top-width:0}.swagger-ui .br-0{border-right-width:0}.swagger-ui .bb-0{border-bottom-width:0}.swagger-ui .bl-0{border-left-width:0}@media screen and (min-width:30em){.swagger-ui .bw0-ns{border-width:0}.swagger-ui .bw1-ns{border-width:.125rem}.swagger-ui .bw2-ns{border-width:.25rem}.swagger-ui .bw3-ns{border-width:.5rem}.swagger-ui .bw4-ns{border-width:1rem}.swagger-ui .bw5-ns{border-width:2rem}.swagger-ui .bt-0-ns{border-top-width:0}.swagger-ui .br-0-ns{border-right-width:0}.swagger-ui .bb-0-ns{border-bottom-width:0}.swagger-ui .bl-0-ns{border-left-width:0}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .bw0-m{border-width:0}.swagger-ui .bw1-m{border-width:.125rem}.swagger-ui .bw2-m{border-width:.25rem}.swagger-ui .bw3-m{border-width:.5rem}.swagger-ui .bw4-m{border-width:1rem}.swagger-ui .bw5-m{border-width:2rem}.swagger-ui .bt-0-m{border-top-width:0}.swagger-ui .br-0-m{border-right-width:0}.swagger-ui .bb-0-m{border-bottom-width:0}.swagger-ui .bl-0-m{border-left-width:0}}@media screen and (min-width:60em){.swagger-ui .bw0-l{border-width:0}.swagger-ui .bw1-l{border-width:.125rem}.swagger-ui .bw2-l{border-width:.25rem}.swagger-ui .bw3-l{border-width:.5rem}.swagger-ui .bw4-l{border-width:1rem}.swagger-ui .bw5-l{border-width:2rem}.swagger-ui .bt-0-l{border-top-width:0}.swagger-ui .br-0-l{border-right-width:0}.swagger-ui .bb-0-l{border-bottom-width:0}.swagger-ui .bl-0-l{border-left-width:0}}.swagger-ui .shadow-1{-webkit-box-shadow:0 0 4px 2px rgba(0,0,0,.2);box-shadow:0 0 4px 2px rgba(0,0,0,.2)}.swagger-ui .shadow-2{-webkit-box-shadow:0 0 8px 2px rgba(0,0,0,.2);box-shadow:0 0 8px 2px rgba(0,0,0,.2)}.swagger-ui .shadow-3{-webkit-box-shadow:2px 2px 4px 2px rgba(0,0,0,.2);box-shadow:2px 2px 4px 2px rgba(0,0,0,.2)}.swagger-ui .shadow-4{-webkit-box-shadow:2px 2px 8px 0 rgba(0,0,0,.2);box-shadow:2px 2px 8px 0 rgba(0,0,0,.2)}.swagger-ui .shadow-5{-webkit-box-shadow:4px 4px 8px 0 rgba(0,0,0,.2);box-shadow:4px 4px 8px 0 rgba(0,0,0,.2)}@media screen and (min-width:30em){.swagger-ui .shadow-1-ns{-webkit-box-shadow:0 0 4px 2px rgba(0,0,0,.2);box-shadow:0 0 4px 2px rgba(0,0,0,.2)}.swagger-ui .shadow-2-ns{-webkit-box-shadow:0 0 8px 2px rgba(0,0,0,.2);box-shadow:0 0 8px 2px rgba(0,0,0,.2)}.swagger-ui .shadow-3-ns{-webkit-box-shadow:2px 2px 4px 2px rgba(0,0,0,.2);box-shadow:2px 2px 4px 2px rgba(0,0,0,.2)}.swagger-ui .shadow-4-ns{-webkit-box-shadow:2px 2px 8px 0 rgba(0,0,0,.2);box-shadow:2px 2px 8px 0 rgba(0,0,0,.2)}.swagger-ui .shadow-5-ns{-webkit-box-shadow:4px 4px 8px 0 rgba(0,0,0,.2);box-shadow:4px 4px 8px 0 rgba(0,0,0,.2)}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .shadow-1-m{-webkit-box-shadow:0 0 4px 2px rgba(0,0,0,.2);box-shadow:0 0 4px 2px rgba(0,0,0,.2)}.swagger-ui .shadow-2-m{-webkit-box-shadow:0 0 8px 2px rgba(0,0,0,.2);box-shadow:0 0 8px 2px rgba(0,0,0,.2)}.swagger-ui .shadow-3-m{-webkit-box-shadow:2px 2px 4px 2px rgba(0,0,0,.2);box-shadow:2px 2px 4px 2px rgba(0,0,0,.2)}.swagger-ui .shadow-4-m{-webkit-box-shadow:2px 2px 8px 0 rgba(0,0,0,.2);box-shadow:2px 2px 8px 0 rgba(0,0,0,.2)}.swagger-ui .shadow-5-m{-webkit-box-shadow:4px 4px 8px 0 rgba(0,0,0,.2);box-shadow:4px 4px 8px 0 rgba(0,0,0,.2)}}@media screen and (min-width:60em){.swagger-ui .shadow-1-l{-webkit-box-shadow:0 0 4px 2px rgba(0,0,0,.2);box-shadow:0 0 4px 2px rgba(0,0,0,.2)}.swagger-ui .shadow-2-l{-webkit-box-shadow:0 0 8px 2px rgba(0,0,0,.2);box-shadow:0 0 8px 2px rgba(0,0,0,.2)}.swagger-ui .shadow-3-l{-webkit-box-shadow:2px 2px 4px 2px rgba(0,0,0,.2);box-shadow:2px 2px 4px 2px rgba(0,0,0,.2)}.swagger-ui .shadow-4-l{-webkit-box-shadow:2px 2px 8px 0 rgba(0,0,0,.2);box-shadow:2px 2px 8px 0 rgba(0,0,0,.2)}.swagger-ui .shadow-5-l{-webkit-box-shadow:4px 4px 8px 0 rgba(0,0,0,.2);box-shadow:4px 4px 8px 0 rgba(0,0,0,.2)}}.swagger-ui .pre{overflow-x:auto;overflow-y:hidden;overflow:scroll}.swagger-ui .top-0{top:0}.swagger-ui .right-0{right:0}.swagger-ui .bottom-0{bottom:0}.swagger-ui .left-0{left:0}.swagger-ui .top-1{top:1rem}.swagger-ui .right-1{right:1rem}.swagger-ui .bottom-1{bottom:1rem}.swagger-ui .left-1{left:1rem}.swagger-ui .top-2{top:2rem}.swagger-ui .right-2{right:2rem}.swagger-ui .bottom-2{bottom:2rem}.swagger-ui .left-2{left:2rem}.swagger-ui .top--1{top:-1rem}.swagger-ui .right--1{right:-1rem}.swagger-ui .bottom--1{bottom:-1rem}.swagger-ui .left--1{left:-1rem}.swagger-ui .top--2{top:-2rem}.swagger-ui .right--2{right:-2rem}.swagger-ui .bottom--2{bottom:-2rem}.swagger-ui .left--2{left:-2rem}.swagger-ui .absolute--fill{top:0;right:0;bottom:0;left:0}@media screen and (min-width:30em){.swagger-ui .top-0-ns{top:0}.swagger-ui .left-0-ns{left:0}.swagger-ui .right-0-ns{right:0}.swagger-ui .bottom-0-ns{bottom:0}.swagger-ui .top-1-ns{top:1rem}.swagger-ui .left-1-ns{left:1rem}.swagger-ui .right-1-ns{right:1rem}.swagger-ui .bottom-1-ns{bottom:1rem}.swagger-ui .top-2-ns{top:2rem}.swagger-ui .left-2-ns{left:2rem}.swagger-ui .right-2-ns{right:2rem}.swagger-ui .bottom-2-ns{bottom:2rem}.swagger-ui .top--1-ns{top:-1rem}.swagger-ui .right--1-ns{right:-1rem}.swagger-ui .bottom--1-ns{bottom:-1rem}.swagger-ui .left--1-ns{left:-1rem}.swagger-ui .top--2-ns{top:-2rem}.swagger-ui .right--2-ns{right:-2rem}.swagger-ui .bottom--2-ns{bottom:-2rem}.swagger-ui .left--2-ns{left:-2rem}.swagger-ui .absolute--fill-ns{top:0;right:0;bottom:0;left:0}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .top-0-m{top:0}.swagger-ui .left-0-m{left:0}.swagger-ui .right-0-m{right:0}.swagger-ui .bottom-0-m{bottom:0}.swagger-ui .top-1-m{top:1rem}.swagger-ui .left-1-m{left:1rem}.swagger-ui .right-1-m{right:1rem}.swagger-ui .bottom-1-m{bottom:1rem}.swagger-ui .top-2-m{top:2rem}.swagger-ui .left-2-m{left:2rem}.swagger-ui .right-2-m{right:2rem}.swagger-ui .bottom-2-m{bottom:2rem}.swagger-ui .top--1-m{top:-1rem}.swagger-ui .right--1-m{right:-1rem}.swagger-ui .bottom--1-m{bottom:-1rem}.swagger-ui .left--1-m{left:-1rem}.swagger-ui .top--2-m{top:-2rem}.swagger-ui .right--2-m{right:-2rem}.swagger-ui .bottom--2-m{bottom:-2rem}.swagger-ui .left--2-m{left:-2rem}.swagger-ui .absolute--fill-m{top:0;right:0;bottom:0;left:0}}@media screen and (min-width:60em){.swagger-ui .top-0-l{top:0}.swagger-ui .left-0-l{left:0}.swagger-ui .right-0-l{right:0}.swagger-ui .bottom-0-l{bottom:0}.swagger-ui .top-1-l{top:1rem}.swagger-ui .left-1-l{left:1rem}.swagger-ui .right-1-l{right:1rem}.swagger-ui .bottom-1-l{bottom:1rem}.swagger-ui .top-2-l{top:2rem}.swagger-ui .left-2-l{left:2rem}.swagger-ui .right-2-l{right:2rem}.swagger-ui .bottom-2-l{bottom:2rem}.swagger-ui .top--1-l{top:-1rem}.swagger-ui .right--1-l{right:-1rem}.swagger-ui .bottom--1-l{bottom:-1rem}.swagger-ui .left--1-l{left:-1rem}.swagger-ui .top--2-l{top:-2rem}.swagger-ui .right--2-l{right:-2rem}.swagger-ui .bottom--2-l{bottom:-2rem}.swagger-ui .left--2-l{left:-2rem}.swagger-ui .absolute--fill-l{top:0;right:0;bottom:0;left:0}}.swagger-ui .cf:after,.swagger-ui .cf:before{content:\" \";display:table}.swagger-ui .cf:after{clear:both}.swagger-ui .cf{*zoom:1}.swagger-ui .cl{clear:left}.swagger-ui .cr{clear:right}.swagger-ui .cb{clear:both}.swagger-ui .cn{clear:none}@media screen and (min-width:30em){.swagger-ui .cl-ns{clear:left}.swagger-ui .cr-ns{clear:right}.swagger-ui .cb-ns{clear:both}.swagger-ui .cn-ns{clear:none}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .cl-m{clear:left}.swagger-ui .cr-m{clear:right}.swagger-ui .cb-m{clear:both}.swagger-ui .cn-m{clear:none}}@media screen and (min-width:60em){.swagger-ui .cl-l{clear:left}.swagger-ui .cr-l{clear:right}.swagger-ui .cb-l{clear:both}.swagger-ui .cn-l{clear:none}}.swagger-ui .dn{display:none}.swagger-ui .di{display:inline}.swagger-ui .db{display:block}.swagger-ui .dib{display:inline-block}.swagger-ui .dit{display:inline-table}.swagger-ui .dt{display:table}.swagger-ui .dtc{display:table-cell}.swagger-ui .dt-row{display:table-row}.swagger-ui .dt-row-group{display:table-row-group}.swagger-ui .dt-column{display:table-column}.swagger-ui .dt-column-group{display:table-column-group}.swagger-ui .dt--fixed{table-layout:fixed;width:100%}@media screen and (min-width:30em){.swagger-ui .dn-ns{display:none}.swagger-ui .di-ns{display:inline}.swagger-ui .db-ns{display:block}.swagger-ui .dib-ns{display:inline-block}.swagger-ui .dit-ns{display:inline-table}.swagger-ui .dt-ns{display:table}.swagger-ui .dtc-ns{display:table-cell}.swagger-ui .dt-row-ns{display:table-row}.swagger-ui .dt-row-group-ns{display:table-row-group}.swagger-ui .dt-column-ns{display:table-column}.swagger-ui .dt-column-group-ns{display:table-column-group}.swagger-ui .dt--fixed-ns{table-layout:fixed;width:100%}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .dn-m{display:none}.swagger-ui .di-m{display:inline}.swagger-ui .db-m{display:block}.swagger-ui .dib-m{display:inline-block}.swagger-ui .dit-m{display:inline-table}.swagger-ui .dt-m{display:table}.swagger-ui .dtc-m{display:table-cell}.swagger-ui .dt-row-m{display:table-row}.swagger-ui .dt-row-group-m{display:table-row-group}.swagger-ui .dt-column-m{display:table-column}.swagger-ui .dt-column-group-m{display:table-column-group}.swagger-ui .dt--fixed-m{table-layout:fixed;width:100%}}@media screen and (min-width:60em){.swagger-ui .dn-l{display:none}.swagger-ui .di-l{display:inline}.swagger-ui .db-l{display:block}.swagger-ui .dib-l{display:inline-block}.swagger-ui .dit-l{display:inline-table}.swagger-ui .dt-l{display:table}.swagger-ui .dtc-l{display:table-cell}.swagger-ui .dt-row-l{display:table-row}.swagger-ui .dt-row-group-l{display:table-row-group}.swagger-ui .dt-column-l{display:table-column}.swagger-ui .dt-column-group-l{display:table-column-group}.swagger-ui .dt--fixed-l{table-layout:fixed;width:100%}}.swagger-ui .flex{display:-webkit-box;display:-ms-flexbox;display:flex}.swagger-ui .inline-flex{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex}.swagger-ui .flex-auto{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;min-width:0;min-height:0}.swagger-ui .flex-none{-webkit-box-flex:0;-ms-flex:none;flex:none}.swagger-ui .flex-column{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.swagger-ui .flex-row{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.swagger-ui .flex-wrap{-ms-flex-wrap:wrap;flex-wrap:wrap}.swagger-ui .flex-nowrap{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.swagger-ui .flex-wrap-reverse{-ms-flex-wrap:wrap-reverse;flex-wrap:wrap-reverse}.swagger-ui .flex-column-reverse{-webkit-box-orient:vertical;-webkit-box-direction:reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse}.swagger-ui .flex-row-reverse{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.swagger-ui .items-start{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.swagger-ui .items-end{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}.swagger-ui .items-center{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.swagger-ui .items-baseline{-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline}.swagger-ui .items-stretch{-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}.swagger-ui .self-start{-ms-flex-item-align:start;align-self:flex-start}.swagger-ui .self-end{-ms-flex-item-align:end;align-self:flex-end}.swagger-ui .self-center{-ms-flex-item-align:center;align-self:center}.swagger-ui .self-baseline{-ms-flex-item-align:baseline;align-self:baseline}.swagger-ui .self-stretch{-ms-flex-item-align:stretch;align-self:stretch}.swagger-ui .justify-start{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.swagger-ui .justify-end{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.swagger-ui .justify-center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.swagger-ui .justify-between{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.swagger-ui .justify-around{-ms-flex-pack:distribute;justify-content:space-around}.swagger-ui .content-start{-ms-flex-line-pack:start;align-content:flex-start}.swagger-ui .content-end{-ms-flex-line-pack:end;align-content:flex-end}.swagger-ui .content-center{-ms-flex-line-pack:center;align-content:center}.swagger-ui .content-between{-ms-flex-line-pack:justify;align-content:space-between}.swagger-ui .content-around{-ms-flex-line-pack:distribute;align-content:space-around}.swagger-ui .content-stretch{-ms-flex-line-pack:stretch;align-content:stretch}.swagger-ui .order-0{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.swagger-ui .order-1{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.swagger-ui .order-2{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.swagger-ui .order-3{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.swagger-ui .order-4{-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.swagger-ui .order-5{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.swagger-ui .order-6{-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.swagger-ui .order-7{-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.swagger-ui .order-8{-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.swagger-ui .order-last{-webkit-box-ordinal-group:100000;-ms-flex-order:99999;order:99999}.swagger-ui .flex-grow-0{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0}.swagger-ui .flex-grow-1{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.swagger-ui .flex-shrink-0{-ms-flex-negative:0;flex-shrink:0}.swagger-ui .flex-shrink-1{-ms-flex-negative:1;flex-shrink:1}@media screen and (min-width:30em){.swagger-ui .flex-ns{display:-webkit-box;display:-ms-flexbox;display:flex}.swagger-ui .inline-flex-ns{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex}.swagger-ui .flex-auto-ns{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;min-width:0;min-height:0}.swagger-ui .flex-none-ns{-webkit-box-flex:0;-ms-flex:none;flex:none}.swagger-ui .flex-column-ns{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.swagger-ui .flex-row-ns{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.swagger-ui .flex-wrap-ns{-ms-flex-wrap:wrap;flex-wrap:wrap}.swagger-ui .flex-nowrap-ns{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.swagger-ui .flex-wrap-reverse-ns{-ms-flex-wrap:wrap-reverse;flex-wrap:wrap-reverse}.swagger-ui .flex-column-reverse-ns{-webkit-box-orient:vertical;-webkit-box-direction:reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse}.swagger-ui .flex-row-reverse-ns{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.swagger-ui .items-start-ns{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.swagger-ui .items-end-ns{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}.swagger-ui .items-center-ns{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.swagger-ui .items-baseline-ns{-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline}.swagger-ui .items-stretch-ns{-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}.swagger-ui .self-start-ns{-ms-flex-item-align:start;align-self:flex-start}.swagger-ui .self-end-ns{-ms-flex-item-align:end;align-self:flex-end}.swagger-ui .self-center-ns{-ms-flex-item-align:center;align-self:center}.swagger-ui .self-baseline-ns{-ms-flex-item-align:baseline;align-self:baseline}.swagger-ui .self-stretch-ns{-ms-flex-item-align:stretch;align-self:stretch}.swagger-ui .justify-start-ns{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.swagger-ui .justify-end-ns{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.swagger-ui .justify-center-ns{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.swagger-ui .justify-between-ns{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.swagger-ui .justify-around-ns{-ms-flex-pack:distribute;justify-content:space-around}.swagger-ui .content-start-ns{-ms-flex-line-pack:start;align-content:flex-start}.swagger-ui .content-end-ns{-ms-flex-line-pack:end;align-content:flex-end}.swagger-ui .content-center-ns{-ms-flex-line-pack:center;align-content:center}.swagger-ui .content-between-ns{-ms-flex-line-pack:justify;align-content:space-between}.swagger-ui .content-around-ns{-ms-flex-line-pack:distribute;align-content:space-around}.swagger-ui .content-stretch-ns{-ms-flex-line-pack:stretch;align-content:stretch}.swagger-ui .order-0-ns{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.swagger-ui .order-1-ns{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.swagger-ui .order-2-ns{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.swagger-ui .order-3-ns{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.swagger-ui .order-4-ns{-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.swagger-ui .order-5-ns{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.swagger-ui .order-6-ns{-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.swagger-ui .order-7-ns{-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.swagger-ui .order-8-ns{-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.swagger-ui .order-last-ns{-webkit-box-ordinal-group:100000;-ms-flex-order:99999;order:99999}.swagger-ui .flex-grow-0-ns{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0}.swagger-ui .flex-grow-1-ns{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.swagger-ui .flex-shrink-0-ns{-ms-flex-negative:0;flex-shrink:0}.swagger-ui .flex-shrink-1-ns{-ms-flex-negative:1;flex-shrink:1}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .flex-m{display:-webkit-box;display:-ms-flexbox;display:flex}.swagger-ui .inline-flex-m{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex}.swagger-ui .flex-auto-m{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;min-width:0;min-height:0}.swagger-ui .flex-none-m{-webkit-box-flex:0;-ms-flex:none;flex:none}.swagger-ui .flex-column-m{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.swagger-ui .flex-row-m{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.swagger-ui .flex-wrap-m{-ms-flex-wrap:wrap;flex-wrap:wrap}.swagger-ui .flex-nowrap-m{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.swagger-ui .flex-wrap-reverse-m{-ms-flex-wrap:wrap-reverse;flex-wrap:wrap-reverse}.swagger-ui .flex-column-reverse-m{-webkit-box-orient:vertical;-webkit-box-direction:reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse}.swagger-ui .flex-row-reverse-m{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.swagger-ui .items-start-m{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.swagger-ui .items-end-m{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}.swagger-ui .items-center-m{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.swagger-ui .items-baseline-m{-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline}.swagger-ui .items-stretch-m{-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}.swagger-ui .self-start-m{-ms-flex-item-align:start;align-self:flex-start}.swagger-ui .self-end-m{-ms-flex-item-align:end;align-self:flex-end}.swagger-ui .self-center-m{-ms-flex-item-align:center;align-self:center}.swagger-ui .self-baseline-m{-ms-flex-item-align:baseline;align-self:baseline}.swagger-ui .self-stretch-m{-ms-flex-item-align:stretch;align-self:stretch}.swagger-ui .justify-start-m{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.swagger-ui .justify-end-m{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.swagger-ui .justify-center-m{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.swagger-ui .justify-between-m{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.swagger-ui .justify-around-m{-ms-flex-pack:distribute;justify-content:space-around}.swagger-ui .content-start-m{-ms-flex-line-pack:start;align-content:flex-start}.swagger-ui .content-end-m{-ms-flex-line-pack:end;align-content:flex-end}.swagger-ui .content-center-m{-ms-flex-line-pack:center;align-content:center}.swagger-ui .content-between-m{-ms-flex-line-pack:justify;align-content:space-between}.swagger-ui .content-around-m{-ms-flex-line-pack:distribute;align-content:space-around}.swagger-ui .content-stretch-m{-ms-flex-line-pack:stretch;align-content:stretch}.swagger-ui .order-0-m{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.swagger-ui .order-1-m{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.swagger-ui .order-2-m{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.swagger-ui .order-3-m{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.swagger-ui .order-4-m{-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.swagger-ui .order-5-m{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.swagger-ui .order-6-m{-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.swagger-ui .order-7-m{-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.swagger-ui .order-8-m{-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.swagger-ui .order-last-m{-webkit-box-ordinal-group:100000;-ms-flex-order:99999;order:99999}.swagger-ui .flex-grow-0-m{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0}.swagger-ui .flex-grow-1-m{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.swagger-ui .flex-shrink-0-m{-ms-flex-negative:0;flex-shrink:0}.swagger-ui .flex-shrink-1-m{-ms-flex-negative:1;flex-shrink:1}}@media screen and (min-width:60em){.swagger-ui .flex-l{display:-webkit-box;display:-ms-flexbox;display:flex}.swagger-ui .inline-flex-l{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex}.swagger-ui .flex-auto-l{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;min-width:0;min-height:0}.swagger-ui .flex-none-l{-webkit-box-flex:0;-ms-flex:none;flex:none}.swagger-ui .flex-column-l{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.swagger-ui .flex-row-l{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.swagger-ui .flex-wrap-l{-ms-flex-wrap:wrap;flex-wrap:wrap}.swagger-ui .flex-nowrap-l{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.swagger-ui .flex-wrap-reverse-l{-ms-flex-wrap:wrap-reverse;flex-wrap:wrap-reverse}.swagger-ui .flex-column-reverse-l{-webkit-box-orient:vertical;-webkit-box-direction:reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse}.swagger-ui .flex-row-reverse-l{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.swagger-ui .items-start-l{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.swagger-ui .items-end-l{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}.swagger-ui .items-center-l{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.swagger-ui .items-baseline-l{-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline}.swagger-ui .items-stretch-l{-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}.swagger-ui .self-start-l{-ms-flex-item-align:start;align-self:flex-start}.swagger-ui .self-end-l{-ms-flex-item-align:end;align-self:flex-end}.swagger-ui .self-center-l{-ms-flex-item-align:center;align-self:center}.swagger-ui .self-baseline-l{-ms-flex-item-align:baseline;align-self:baseline}.swagger-ui .self-stretch-l{-ms-flex-item-align:stretch;align-self:stretch}.swagger-ui .justify-start-l{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.swagger-ui .justify-end-l{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.swagger-ui .justify-center-l{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.swagger-ui .justify-between-l{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.swagger-ui .justify-around-l{-ms-flex-pack:distribute;justify-content:space-around}.swagger-ui .content-start-l{-ms-flex-line-pack:start;align-content:flex-start}.swagger-ui .content-end-l{-ms-flex-line-pack:end;align-content:flex-end}.swagger-ui .content-center-l{-ms-flex-line-pack:center;align-content:center}.swagger-ui .content-between-l{-ms-flex-line-pack:justify;align-content:space-between}.swagger-ui .content-around-l{-ms-flex-line-pack:distribute;align-content:space-around}.swagger-ui .content-stretch-l{-ms-flex-line-pack:stretch;align-content:stretch}.swagger-ui .order-0-l{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.swagger-ui .order-1-l{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.swagger-ui .order-2-l{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.swagger-ui .order-3-l{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.swagger-ui .order-4-l{-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.swagger-ui .order-5-l{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.swagger-ui .order-6-l{-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.swagger-ui .order-7-l{-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.swagger-ui .order-8-l{-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.swagger-ui .order-last-l{-webkit-box-ordinal-group:100000;-ms-flex-order:99999;order:99999}.swagger-ui .flex-grow-0-l{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0}.swagger-ui .flex-grow-1-l{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.swagger-ui .flex-shrink-0-l{-ms-flex-negative:0;flex-shrink:0}.swagger-ui .flex-shrink-1-l{-ms-flex-negative:1;flex-shrink:1}}.swagger-ui .fl{float:left;_display:inline}.swagger-ui .fr{float:right;_display:inline}.swagger-ui .fn{float:none}@media screen and (min-width:30em){.swagger-ui .fl-ns{float:left;_display:inline}.swagger-ui .fr-ns{float:right;_display:inline}.swagger-ui .fn-ns{float:none}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .fl-m{float:left;_display:inline}.swagger-ui .fr-m{float:right;_display:inline}.swagger-ui .fn-m{float:none}}@media screen and (min-width:60em){.swagger-ui .fl-l{float:left;_display:inline}.swagger-ui .fr-l{float:right;_display:inline}.swagger-ui .fn-l{float:none}}.swagger-ui .sans-serif{font-family:-apple-system,BlinkMacSystemFont,avenir next,avenir,helvetica,helvetica neue,ubuntu,roboto,noto,segoe ui,arial,sans-serif}.swagger-ui .serif{font-family:georgia,serif}.swagger-ui .system-sans-serif{font-family:sans-serif}.swagger-ui .system-serif{font-family:serif}.swagger-ui .code,.swagger-ui code{font-family:Consolas,monaco,monospace}.swagger-ui .courier{font-family:Courier Next,courier,monospace}.swagger-ui .helvetica{font-family:helvetica neue,helvetica,sans-serif}.swagger-ui .avenir{font-family:avenir next,avenir,sans-serif}.swagger-ui .athelas{font-family:athelas,georgia,serif}.swagger-ui .georgia{font-family:georgia,serif}.swagger-ui .times{font-family:times,serif}.swagger-ui .bodoni{font-family:Bodoni MT,serif}.swagger-ui .calisto{font-family:Calisto MT,serif}.swagger-ui .garamond{font-family:garamond,serif}.swagger-ui .baskerville{font-family:baskerville,serif}.swagger-ui .i{font-style:italic}.swagger-ui .fs-normal{font-style:normal}@media screen and (min-width:30em){.swagger-ui .i-ns{font-style:italic}.swagger-ui .fs-normal-ns{font-style:normal}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .i-m{font-style:italic}.swagger-ui .fs-normal-m{font-style:normal}}@media screen and (min-width:60em){.swagger-ui .i-l{font-style:italic}.swagger-ui .fs-normal-l{font-style:normal}}.swagger-ui .normal{font-weight:400}.swagger-ui .b{font-weight:700}.swagger-ui .fw1{font-weight:100}.swagger-ui .fw2{font-weight:200}.swagger-ui .fw3{font-weight:300}.swagger-ui .fw4{font-weight:400}.swagger-ui .fw5{font-weight:500}.swagger-ui .fw6{font-weight:600}.swagger-ui .fw7{font-weight:700}.swagger-ui .fw8{font-weight:800}.swagger-ui .fw9{font-weight:900}@media screen and (min-width:30em){.swagger-ui .normal-ns{font-weight:400}.swagger-ui .b-ns{font-weight:700}.swagger-ui .fw1-ns{font-weight:100}.swagger-ui .fw2-ns{font-weight:200}.swagger-ui .fw3-ns{font-weight:300}.swagger-ui .fw4-ns{font-weight:400}.swagger-ui .fw5-ns{font-weight:500}.swagger-ui .fw6-ns{font-weight:600}.swagger-ui .fw7-ns{font-weight:700}.swagger-ui .fw8-ns{font-weight:800}.swagger-ui .fw9-ns{font-weight:900}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .normal-m{font-weight:400}.swagger-ui .b-m{font-weight:700}.swagger-ui .fw1-m{font-weight:100}.swagger-ui .fw2-m{font-weight:200}.swagger-ui .fw3-m{font-weight:300}.swagger-ui .fw4-m{font-weight:400}.swagger-ui .fw5-m{font-weight:500}.swagger-ui .fw6-m{font-weight:600}.swagger-ui .fw7-m{font-weight:700}.swagger-ui .fw8-m{font-weight:800}.swagger-ui .fw9-m{font-weight:900}}@media screen and (min-width:60em){.swagger-ui .normal-l{font-weight:400}.swagger-ui .b-l{font-weight:700}.swagger-ui .fw1-l{font-weight:100}.swagger-ui .fw2-l{font-weight:200}.swagger-ui .fw3-l{font-weight:300}.swagger-ui .fw4-l{font-weight:400}.swagger-ui .fw5-l{font-weight:500}.swagger-ui .fw6-l{font-weight:600}.swagger-ui .fw7-l{font-weight:700}.swagger-ui .fw8-l{font-weight:800}.swagger-ui .fw9-l{font-weight:900}}.swagger-ui .input-reset{-webkit-appearance:none;-moz-appearance:none}.swagger-ui .button-reset::-moz-focus-inner,.swagger-ui .input-reset::-moz-focus-inner{border:0;padding:0}.swagger-ui .h1{height:1rem}.swagger-ui .h2{height:2rem}.swagger-ui .h3{height:4rem}.swagger-ui .h4{height:8rem}.swagger-ui .h5{height:16rem}.swagger-ui .h-25{height:25%}.swagger-ui .h-50{height:50%}.swagger-ui .h-75{height:75%}.swagger-ui .h-100{height:100%}.swagger-ui .min-h-100{min-height:100%}.swagger-ui .vh-25{height:25vh}.swagger-ui .vh-50{height:50vh}.swagger-ui .vh-75{height:75vh}.swagger-ui .vh-100{height:100vh}.swagger-ui .min-vh-100{min-height:100vh}.swagger-ui .h-auto{height:auto}.swagger-ui .h-inherit{height:inherit}@media screen and (min-width:30em){.swagger-ui .h1-ns{height:1rem}.swagger-ui .h2-ns{height:2rem}.swagger-ui .h3-ns{height:4rem}.swagger-ui .h4-ns{height:8rem}.swagger-ui .h5-ns{height:16rem}.swagger-ui .h-25-ns{height:25%}.swagger-ui .h-50-ns{height:50%}.swagger-ui .h-75-ns{height:75%}.swagger-ui .h-100-ns{height:100%}.swagger-ui .min-h-100-ns{min-height:100%}.swagger-ui .vh-25-ns{height:25vh}.swagger-ui .vh-50-ns{height:50vh}.swagger-ui .vh-75-ns{height:75vh}.swagger-ui .vh-100-ns{height:100vh}.swagger-ui .min-vh-100-ns{min-height:100vh}.swagger-ui .h-auto-ns{height:auto}.swagger-ui .h-inherit-ns{height:inherit}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .h1-m{height:1rem}.swagger-ui .h2-m{height:2rem}.swagger-ui .h3-m{height:4rem}.swagger-ui .h4-m{height:8rem}.swagger-ui .h5-m{height:16rem}.swagger-ui .h-25-m{height:25%}.swagger-ui .h-50-m{height:50%}.swagger-ui .h-75-m{height:75%}.swagger-ui .h-100-m{height:100%}.swagger-ui .min-h-100-m{min-height:100%}.swagger-ui .vh-25-m{height:25vh}.swagger-ui .vh-50-m{height:50vh}.swagger-ui .vh-75-m{height:75vh}.swagger-ui .vh-100-m{height:100vh}.swagger-ui .min-vh-100-m{min-height:100vh}.swagger-ui .h-auto-m{height:auto}.swagger-ui .h-inherit-m{height:inherit}}@media screen and (min-width:60em){.swagger-ui .h1-l{height:1rem}.swagger-ui .h2-l{height:2rem}.swagger-ui .h3-l{height:4rem}.swagger-ui .h4-l{height:8rem}.swagger-ui .h5-l{height:16rem}.swagger-ui .h-25-l{height:25%}.swagger-ui .h-50-l{height:50%}.swagger-ui .h-75-l{height:75%}.swagger-ui .h-100-l{height:100%}.swagger-ui .min-h-100-l{min-height:100%}.swagger-ui .vh-25-l{height:25vh}.swagger-ui .vh-50-l{height:50vh}.swagger-ui .vh-75-l{height:75vh}.swagger-ui .vh-100-l{height:100vh}.swagger-ui .min-vh-100-l{min-height:100vh}.swagger-ui .h-auto-l{height:auto}.swagger-ui .h-inherit-l{height:inherit}}.swagger-ui .tracked{letter-spacing:.1em}.swagger-ui .tracked-tight{letter-spacing:-.05em}.swagger-ui .tracked-mega{letter-spacing:.25em}@media screen and (min-width:30em){.swagger-ui .tracked-ns{letter-spacing:.1em}.swagger-ui .tracked-tight-ns{letter-spacing:-.05em}.swagger-ui .tracked-mega-ns{letter-spacing:.25em}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .tracked-m{letter-spacing:.1em}.swagger-ui .tracked-tight-m{letter-spacing:-.05em}.swagger-ui .tracked-mega-m{letter-spacing:.25em}}@media screen and (min-width:60em){.swagger-ui .tracked-l{letter-spacing:.1em}.swagger-ui .tracked-tight-l{letter-spacing:-.05em}.swagger-ui .tracked-mega-l{letter-spacing:.25em}}.swagger-ui .lh-solid{line-height:1}.swagger-ui .lh-title{line-height:1.25}.swagger-ui .lh-copy{line-height:1.5}@media screen and (min-width:30em){.swagger-ui .lh-solid-ns{line-height:1}.swagger-ui .lh-title-ns{line-height:1.25}.swagger-ui .lh-copy-ns{line-height:1.5}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .lh-solid-m{line-height:1}.swagger-ui .lh-title-m{line-height:1.25}.swagger-ui .lh-copy-m{line-height:1.5}}@media screen and (min-width:60em){.swagger-ui .lh-solid-l{line-height:1}.swagger-ui .lh-title-l{line-height:1.25}.swagger-ui .lh-copy-l{line-height:1.5}}.swagger-ui .link{text-decoration:none}.swagger-ui .link,.swagger-ui .link:active,.swagger-ui .link:focus,.swagger-ui .link:hover,.swagger-ui .link:link,.swagger-ui .link:visited{-webkit-transition:color .15s ease-in;transition:color .15s ease-in}.swagger-ui .link:focus{outline:1px dotted currentColor}.swagger-ui .list{list-style-type:none}.swagger-ui .mw-100{max-width:100%}.swagger-ui .mw1{max-width:1rem}.swagger-ui .mw2{max-width:2rem}.swagger-ui .mw3{max-width:4rem}.swagger-ui .mw4{max-width:8rem}.swagger-ui .mw5{max-width:16rem}.swagger-ui .mw6{max-width:32rem}.swagger-ui .mw7{max-width:48rem}.swagger-ui .mw8{max-width:64rem}.swagger-ui .mw9{max-width:96rem}.swagger-ui .mw-none{max-width:none}@media screen and (min-width:30em){.swagger-ui .mw-100-ns{max-width:100%}.swagger-ui .mw1-ns{max-width:1rem}.swagger-ui .mw2-ns{max-width:2rem}.swagger-ui .mw3-ns{max-width:4rem}.swagger-ui .mw4-ns{max-width:8rem}.swagger-ui .mw5-ns{max-width:16rem}.swagger-ui .mw6-ns{max-width:32rem}.swagger-ui .mw7-ns{max-width:48rem}.swagger-ui .mw8-ns{max-width:64rem}.swagger-ui .mw9-ns{max-width:96rem}.swagger-ui .mw-none-ns{max-width:none}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .mw-100-m{max-width:100%}.swagger-ui .mw1-m{max-width:1rem}.swagger-ui .mw2-m{max-width:2rem}.swagger-ui .mw3-m{max-width:4rem}.swagger-ui .mw4-m{max-width:8rem}.swagger-ui .mw5-m{max-width:16rem}.swagger-ui .mw6-m{max-width:32rem}.swagger-ui .mw7-m{max-width:48rem}.swagger-ui .mw8-m{max-width:64rem}.swagger-ui .mw9-m{max-width:96rem}.swagger-ui .mw-none-m{max-width:none}}@media screen and (min-width:60em){.swagger-ui .mw-100-l{max-width:100%}.swagger-ui .mw1-l{max-width:1rem}.swagger-ui .mw2-l{max-width:2rem}.swagger-ui .mw3-l{max-width:4rem}.swagger-ui .mw4-l{max-width:8rem}.swagger-ui .mw5-l{max-width:16rem}.swagger-ui .mw6-l{max-width:32rem}.swagger-ui .mw7-l{max-width:48rem}.swagger-ui .mw8-l{max-width:64rem}.swagger-ui .mw9-l{max-width:96rem}.swagger-ui .mw-none-l{max-width:none}}.swagger-ui .w1{width:1rem}.swagger-ui .w2{width:2rem}.swagger-ui .w3{width:4rem}.swagger-ui .w4{width:8rem}.swagger-ui .w5{width:16rem}.swagger-ui .w-10{width:10%}.swagger-ui .w-20{width:20%}.swagger-ui .w-25{width:25%}.swagger-ui .w-30{width:30%}.swagger-ui .w-33{width:33%}.swagger-ui .w-34{width:34%}.swagger-ui .w-40{width:40%}.swagger-ui .w-50{width:50%}.swagger-ui .w-60{width:60%}.swagger-ui .w-70{width:70%}.swagger-ui .w-75{width:75%}.swagger-ui .w-80{width:80%}.swagger-ui .w-90{width:90%}.swagger-ui .w-100{width:100%}.swagger-ui .w-third{width:33.33333%}.swagger-ui .w-two-thirds{width:66.66667%}.swagger-ui .w-auto{width:auto}@media screen and (min-width:30em){.swagger-ui .w1-ns{width:1rem}.swagger-ui .w2-ns{width:2rem}.swagger-ui .w3-ns{width:4rem}.swagger-ui .w4-ns{width:8rem}.swagger-ui .w5-ns{width:16rem}.swagger-ui .w-10-ns{width:10%}.swagger-ui .w-20-ns{width:20%}.swagger-ui .w-25-ns{width:25%}.swagger-ui .w-30-ns{width:30%}.swagger-ui .w-33-ns{width:33%}.swagger-ui .w-34-ns{width:34%}.swagger-ui .w-40-ns{width:40%}.swagger-ui .w-50-ns{width:50%}.swagger-ui .w-60-ns{width:60%}.swagger-ui .w-70-ns{width:70%}.swagger-ui .w-75-ns{width:75%}.swagger-ui .w-80-ns{width:80%}.swagger-ui .w-90-ns{width:90%}.swagger-ui .w-100-ns{width:100%}.swagger-ui .w-third-ns{width:33.33333%}.swagger-ui .w-two-thirds-ns{width:66.66667%}.swagger-ui .w-auto-ns{width:auto}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .w1-m{width:1rem}.swagger-ui .w2-m{width:2rem}.swagger-ui .w3-m{width:4rem}.swagger-ui .w4-m{width:8rem}.swagger-ui .w5-m{width:16rem}.swagger-ui .w-10-m{width:10%}.swagger-ui .w-20-m{width:20%}.swagger-ui .w-25-m{width:25%}.swagger-ui .w-30-m{width:30%}.swagger-ui .w-33-m{width:33%}.swagger-ui .w-34-m{width:34%}.swagger-ui .w-40-m{width:40%}.swagger-ui .w-50-m{width:50%}.swagger-ui .w-60-m{width:60%}.swagger-ui .w-70-m{width:70%}.swagger-ui .w-75-m{width:75%}.swagger-ui .w-80-m{width:80%}.swagger-ui .w-90-m{width:90%}.swagger-ui .w-100-m{width:100%}.swagger-ui .w-third-m{width:33.33333%}.swagger-ui .w-two-thirds-m{width:66.66667%}.swagger-ui .w-auto-m{width:auto}}@media screen and (min-width:60em){.swagger-ui .w1-l{width:1rem}.swagger-ui .w2-l{width:2rem}.swagger-ui .w3-l{width:4rem}.swagger-ui .w4-l{width:8rem}.swagger-ui .w5-l{width:16rem}.swagger-ui .w-10-l{width:10%}.swagger-ui .w-20-l{width:20%}.swagger-ui .w-25-l{width:25%}.swagger-ui .w-30-l{width:30%}.swagger-ui .w-33-l{width:33%}.swagger-ui .w-34-l{width:34%}.swagger-ui .w-40-l{width:40%}.swagger-ui .w-50-l{width:50%}.swagger-ui .w-60-l{width:60%}.swagger-ui .w-70-l{width:70%}.swagger-ui .w-75-l{width:75%}.swagger-ui .w-80-l{width:80%}.swagger-ui .w-90-l{width:90%}.swagger-ui .w-100-l{width:100%}.swagger-ui .w-third-l{width:33.33333%}.swagger-ui .w-two-thirds-l{width:66.66667%}.swagger-ui .w-auto-l{width:auto}}.swagger-ui .overflow-visible{overflow:visible}.swagger-ui .overflow-hidden{overflow:hidden}.swagger-ui .overflow-scroll{overflow:scroll}.swagger-ui .overflow-auto{overflow:auto}.swagger-ui .overflow-x-visible{overflow-x:visible}.swagger-ui .overflow-x-hidden{overflow-x:hidden}.swagger-ui .overflow-x-scroll{overflow-x:scroll}.swagger-ui .overflow-x-auto{overflow-x:auto}.swagger-ui .overflow-y-visible{overflow-y:visible}.swagger-ui .overflow-y-hidden{overflow-y:hidden}.swagger-ui .overflow-y-scroll{overflow-y:scroll}.swagger-ui .overflow-y-auto{overflow-y:auto}@media screen and (min-width:30em){.swagger-ui .overflow-visible-ns{overflow:visible}.swagger-ui .overflow-hidden-ns{overflow:hidden}.swagger-ui .overflow-scroll-ns{overflow:scroll}.swagger-ui .overflow-auto-ns{overflow:auto}.swagger-ui .overflow-x-visible-ns{overflow-x:visible}.swagger-ui .overflow-x-hidden-ns{overflow-x:hidden}.swagger-ui .overflow-x-scroll-ns{overflow-x:scroll}.swagger-ui .overflow-x-auto-ns{overflow-x:auto}.swagger-ui .overflow-y-visible-ns{overflow-y:visible}.swagger-ui .overflow-y-hidden-ns{overflow-y:hidden}.swagger-ui .overflow-y-scroll-ns{overflow-y:scroll}.swagger-ui .overflow-y-auto-ns{overflow-y:auto}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .overflow-visible-m{overflow:visible}.swagger-ui .overflow-hidden-m{overflow:hidden}.swagger-ui .overflow-scroll-m{overflow:scroll}.swagger-ui .overflow-auto-m{overflow:auto}.swagger-ui .overflow-x-visible-m{overflow-x:visible}.swagger-ui .overflow-x-hidden-m{overflow-x:hidden}.swagger-ui .overflow-x-scroll-m{overflow-x:scroll}.swagger-ui .overflow-x-auto-m{overflow-x:auto}.swagger-ui .overflow-y-visible-m{overflow-y:visible}.swagger-ui .overflow-y-hidden-m{overflow-y:hidden}.swagger-ui .overflow-y-scroll-m{overflow-y:scroll}.swagger-ui .overflow-y-auto-m{overflow-y:auto}}@media screen and (min-width:60em){.swagger-ui .overflow-visible-l{overflow:visible}.swagger-ui .overflow-hidden-l{overflow:hidden}.swagger-ui .overflow-scroll-l{overflow:scroll}.swagger-ui .overflow-auto-l{overflow:auto}.swagger-ui .overflow-x-visible-l{overflow-x:visible}.swagger-ui .overflow-x-hidden-l{overflow-x:hidden}.swagger-ui .overflow-x-scroll-l{overflow-x:scroll}.swagger-ui .overflow-x-auto-l{overflow-x:auto}.swagger-ui .overflow-y-visible-l{overflow-y:visible}.swagger-ui .overflow-y-hidden-l{overflow-y:hidden}.swagger-ui .overflow-y-scroll-l{overflow-y:scroll}.swagger-ui .overflow-y-auto-l{overflow-y:auto}}.swagger-ui .static{position:static}.swagger-ui .relative{position:relative}.swagger-ui .absolute{position:absolute}.swagger-ui .fixed{position:fixed}@media screen and (min-width:30em){.swagger-ui .static-ns{position:static}.swagger-ui .relative-ns{position:relative}.swagger-ui .absolute-ns{position:absolute}.swagger-ui .fixed-ns{position:fixed}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .static-m{position:static}.swagger-ui .relative-m{position:relative}.swagger-ui .absolute-m{position:absolute}.swagger-ui .fixed-m{position:fixed}}@media screen and (min-width:60em){.swagger-ui .static-l{position:static}.swagger-ui .relative-l{position:relative}.swagger-ui .absolute-l{position:absolute}.swagger-ui .fixed-l{position:fixed}}.swagger-ui .o-100{opacity:1}.swagger-ui .o-90{opacity:.9}.swagger-ui .o-80{opacity:.8}.swagger-ui .o-70{opacity:.7}.swagger-ui .o-60{opacity:.6}.swagger-ui .o-50{opacity:.5}.swagger-ui .o-40{opacity:.4}.swagger-ui .o-30{opacity:.3}.swagger-ui .o-20{opacity:.2}.swagger-ui .o-10{opacity:.1}.swagger-ui .o-05{opacity:.05}.swagger-ui .o-025{opacity:.025}.swagger-ui .o-0{opacity:0}.swagger-ui .rotate-45{-webkit-transform:rotate(45deg);transform:rotate(45deg)}.swagger-ui .rotate-90{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.swagger-ui .rotate-135{-webkit-transform:rotate(135deg);transform:rotate(135deg)}.swagger-ui .rotate-180{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.swagger-ui .rotate-225{-webkit-transform:rotate(225deg);transform:rotate(225deg)}.swagger-ui .rotate-270{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.swagger-ui .rotate-315{-webkit-transform:rotate(315deg);transform:rotate(315deg)}@media screen and (min-width:30em){.swagger-ui .rotate-45-ns{-webkit-transform:rotate(45deg);transform:rotate(45deg)}.swagger-ui .rotate-90-ns{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.swagger-ui .rotate-135-ns{-webkit-transform:rotate(135deg);transform:rotate(135deg)}.swagger-ui .rotate-180-ns{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.swagger-ui .rotate-225-ns{-webkit-transform:rotate(225deg);transform:rotate(225deg)}.swagger-ui .rotate-270-ns{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.swagger-ui .rotate-315-ns{-webkit-transform:rotate(315deg);transform:rotate(315deg)}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .rotate-45-m{-webkit-transform:rotate(45deg);transform:rotate(45deg)}.swagger-ui .rotate-90-m{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.swagger-ui .rotate-135-m{-webkit-transform:rotate(135deg);transform:rotate(135deg)}.swagger-ui .rotate-180-m{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.swagger-ui .rotate-225-m{-webkit-transform:rotate(225deg);transform:rotate(225deg)}.swagger-ui .rotate-270-m{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.swagger-ui .rotate-315-m{-webkit-transform:rotate(315deg);transform:rotate(315deg)}}@media screen and (min-width:60em){.swagger-ui .rotate-45-l{-webkit-transform:rotate(45deg);transform:rotate(45deg)}.swagger-ui .rotate-90-l{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.swagger-ui .rotate-135-l{-webkit-transform:rotate(135deg);transform:rotate(135deg)}.swagger-ui .rotate-180-l{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.swagger-ui .rotate-225-l{-webkit-transform:rotate(225deg);transform:rotate(225deg)}.swagger-ui .rotate-270-l{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.swagger-ui .rotate-315-l{-webkit-transform:rotate(315deg);transform:rotate(315deg)}}.swagger-ui .black-90{color:rgba(0,0,0,.9)}.swagger-ui .black-80{color:rgba(0,0,0,.8)}.swagger-ui .black-70{color:rgba(0,0,0,.7)}.swagger-ui .black-60{color:rgba(0,0,0,.6)}.swagger-ui .black-50{color:rgba(0,0,0,.5)}.swagger-ui .black-40{color:rgba(0,0,0,.4)}.swagger-ui .black-30{color:rgba(0,0,0,.3)}.swagger-ui .black-20{color:rgba(0,0,0,.2)}.swagger-ui .black-10{color:rgba(0,0,0,.1)}.swagger-ui .black-05{color:rgba(0,0,0,.05)}.swagger-ui .white-90{color:hsla(0,0%,100%,.9)}.swagger-ui .white-80{color:hsla(0,0%,100%,.8)}.swagger-ui .white-70{color:hsla(0,0%,100%,.7)}.swagger-ui .white-60{color:hsla(0,0%,100%,.6)}.swagger-ui .white-50{color:hsla(0,0%,100%,.5)}.swagger-ui .white-40{color:hsla(0,0%,100%,.4)}.swagger-ui .white-30{color:hsla(0,0%,100%,.3)}.swagger-ui .white-20{color:hsla(0,0%,100%,.2)}.swagger-ui .white-10{color:hsla(0,0%,100%,.1)}.swagger-ui .black{color:#000}.swagger-ui .near-black{color:#111}.swagger-ui .dark-gray{color:#333}.swagger-ui .mid-gray{color:#555}.swagger-ui .gray{color:#777}.swagger-ui .silver{color:#999}.swagger-ui .light-silver{color:#aaa}.swagger-ui .moon-gray{color:#ccc}.swagger-ui .light-gray{color:#eee}.swagger-ui .near-white{color:#f4f4f4}.swagger-ui .white{color:#fff}.swagger-ui .dark-red{color:#e7040f}.swagger-ui .red{color:#ff4136}.swagger-ui .light-red{color:#ff725c}.swagger-ui .orange{color:#ff6300}.swagger-ui .gold{color:#ffb700}.swagger-ui .yellow{color:gold}.swagger-ui .light-yellow{color:#fbf1a9}.swagger-ui .purple{color:#5e2ca5}.swagger-ui .light-purple{color:#a463f2}.swagger-ui .dark-pink{color:#d5008f}.swagger-ui .hot-pink{color:#ff41b4}.swagger-ui .pink{color:#ff80cc}.swagger-ui .light-pink{color:#ffa3d7}.swagger-ui .dark-green{color:#137752}.swagger-ui .green{color:#19a974}.swagger-ui .light-green{color:#9eebcf}.swagger-ui .navy{color:#001b44}.swagger-ui .dark-blue{color:#00449e}.swagger-ui .blue{color:#357edd}.swagger-ui .light-blue{color:#96ccff}.swagger-ui .lightest-blue{color:#cdecff}.swagger-ui .washed-blue{color:#f6fffe}.swagger-ui .washed-green{color:#e8fdf5}.swagger-ui .washed-yellow{color:#fffceb}.swagger-ui .washed-red{color:#ffdfdf}.swagger-ui .color-inherit{color:inherit}.swagger-ui .bg-black-90{background-color:rgba(0,0,0,.9)}.swagger-ui .bg-black-80{background-color:rgba(0,0,0,.8)}.swagger-ui .bg-black-70{background-color:rgba(0,0,0,.7)}.swagger-ui .bg-black-60{background-color:rgba(0,0,0,.6)}.swagger-ui .bg-black-50{background-color:rgba(0,0,0,.5)}.swagger-ui .bg-black-40{background-color:rgba(0,0,0,.4)}.swagger-ui .bg-black-30{background-color:rgba(0,0,0,.3)}.swagger-ui .bg-black-20{background-color:rgba(0,0,0,.2)}.swagger-ui .bg-black-10{background-color:rgba(0,0,0,.1)}.swagger-ui .bg-black-05{background-color:rgba(0,0,0,.05)}.swagger-ui .bg-white-90{background-color:hsla(0,0%,100%,.9)}.swagger-ui .bg-white-80{background-color:hsla(0,0%,100%,.8)}.swagger-ui .bg-white-70{background-color:hsla(0,0%,100%,.7)}.swagger-ui .bg-white-60{background-color:hsla(0,0%,100%,.6)}.swagger-ui .bg-white-50{background-color:hsla(0,0%,100%,.5)}.swagger-ui .bg-white-40{background-color:hsla(0,0%,100%,.4)}.swagger-ui .bg-white-30{background-color:hsla(0,0%,100%,.3)}.swagger-ui .bg-white-20{background-color:hsla(0,0%,100%,.2)}.swagger-ui .bg-white-10{background-color:hsla(0,0%,100%,.1)}.swagger-ui .bg-black{background-color:#000}.swagger-ui .bg-near-black{background-color:#111}.swagger-ui .bg-dark-gray{background-color:#333}.swagger-ui .bg-mid-gray{background-color:#555}.swagger-ui .bg-gray{background-color:#777}.swagger-ui .bg-silver{background-color:#999}.swagger-ui .bg-light-silver{background-color:#aaa}.swagger-ui .bg-moon-gray{background-color:#ccc}.swagger-ui .bg-light-gray{background-color:#eee}.swagger-ui .bg-near-white{background-color:#f4f4f4}.swagger-ui .bg-white{background-color:#fff}.swagger-ui .bg-transparent{background-color:transparent}.swagger-ui .bg-dark-red{background-color:#e7040f}.swagger-ui .bg-red{background-color:#ff4136}.swagger-ui .bg-light-red{background-color:#ff725c}.swagger-ui .bg-orange{background-color:#ff6300}.swagger-ui .bg-gold{background-color:#ffb700}.swagger-ui .bg-yellow{background-color:gold}.swagger-ui .bg-light-yellow{background-color:#fbf1a9}.swagger-ui .bg-purple{background-color:#5e2ca5}.swagger-ui .bg-light-purple{background-color:#a463f2}.swagger-ui .bg-dark-pink{background-color:#d5008f}.swagger-ui .bg-hot-pink{background-color:#ff41b4}.swagger-ui .bg-pink{background-color:#ff80cc}.swagger-ui .bg-light-pink{background-color:#ffa3d7}.swagger-ui .bg-dark-green{background-color:#137752}.swagger-ui .bg-green{background-color:#19a974}.swagger-ui .bg-light-green{background-color:#9eebcf}.swagger-ui .bg-navy{background-color:#001b44}.swagger-ui .bg-dark-blue{background-color:#00449e}.swagger-ui .bg-blue{background-color:#357edd}.swagger-ui .bg-light-blue{background-color:#96ccff}.swagger-ui .bg-lightest-blue{background-color:#cdecff}.swagger-ui .bg-washed-blue{background-color:#f6fffe}.swagger-ui .bg-washed-green{background-color:#e8fdf5}.swagger-ui .bg-washed-yellow{background-color:#fffceb}.swagger-ui .bg-washed-red{background-color:#ffdfdf}.swagger-ui .bg-inherit{background-color:inherit}.swagger-ui .hover-black:focus,.swagger-ui .hover-black:hover{color:#000}.swagger-ui .hover-near-black:focus,.swagger-ui .hover-near-black:hover{color:#111}.swagger-ui .hover-dark-gray:focus,.swagger-ui .hover-dark-gray:hover{color:#333}.swagger-ui .hover-mid-gray:focus,.swagger-ui .hover-mid-gray:hover{color:#555}.swagger-ui .hover-gray:focus,.swagger-ui .hover-gray:hover{color:#777}.swagger-ui .hover-silver:focus,.swagger-ui .hover-silver:hover{color:#999}.swagger-ui .hover-light-silver:focus,.swagger-ui .hover-light-silver:hover{color:#aaa}.swagger-ui .hover-moon-gray:focus,.swagger-ui .hover-moon-gray:hover{color:#ccc}.swagger-ui .hover-light-gray:focus,.swagger-ui .hover-light-gray:hover{color:#eee}.swagger-ui .hover-near-white:focus,.swagger-ui .hover-near-white:hover{color:#f4f4f4}.swagger-ui .hover-white:focus,.swagger-ui .hover-white:hover{color:#fff}.swagger-ui .hover-black-90:focus,.swagger-ui .hover-black-90:hover{color:rgba(0,0,0,.9)}.swagger-ui .hover-black-80:focus,.swagger-ui .hover-black-80:hover{color:rgba(0,0,0,.8)}.swagger-ui .hover-black-70:focus,.swagger-ui .hover-black-70:hover{color:rgba(0,0,0,.7)}.swagger-ui .hover-black-60:focus,.swagger-ui .hover-black-60:hover{color:rgba(0,0,0,.6)}.swagger-ui .hover-black-50:focus,.swagger-ui .hover-black-50:hover{color:rgba(0,0,0,.5)}.swagger-ui .hover-black-40:focus,.swagger-ui .hover-black-40:hover{color:rgba(0,0,0,.4)}.swagger-ui .hover-black-30:focus,.swagger-ui .hover-black-30:hover{color:rgba(0,0,0,.3)}.swagger-ui .hover-black-20:focus,.swagger-ui .hover-black-20:hover{color:rgba(0,0,0,.2)}.swagger-ui .hover-black-10:focus,.swagger-ui .hover-black-10:hover{color:rgba(0,0,0,.1)}.swagger-ui .hover-white-90:focus,.swagger-ui .hover-white-90:hover{color:hsla(0,0%,100%,.9)}.swagger-ui .hover-white-80:focus,.swagger-ui .hover-white-80:hover{color:hsla(0,0%,100%,.8)}.swagger-ui .hover-white-70:focus,.swagger-ui .hover-white-70:hover{color:hsla(0,0%,100%,.7)}.swagger-ui .hover-white-60:focus,.swagger-ui .hover-white-60:hover{color:hsla(0,0%,100%,.6)}.swagger-ui .hover-white-50:focus,.swagger-ui .hover-white-50:hover{color:hsla(0,0%,100%,.5)}.swagger-ui .hover-white-40:focus,.swagger-ui .hover-white-40:hover{color:hsla(0,0%,100%,.4)}.swagger-ui .hover-white-30:focus,.swagger-ui .hover-white-30:hover{color:hsla(0,0%,100%,.3)}.swagger-ui .hover-white-20:focus,.swagger-ui .hover-white-20:hover{color:hsla(0,0%,100%,.2)}.swagger-ui .hover-white-10:focus,.swagger-ui .hover-white-10:hover{color:hsla(0,0%,100%,.1)}.swagger-ui .hover-inherit:focus,.swagger-ui .hover-inherit:hover{color:inherit}.swagger-ui .hover-bg-black:focus,.swagger-ui .hover-bg-black:hover{background-color:#000}.swagger-ui .hover-bg-near-black:focus,.swagger-ui .hover-bg-near-black:hover{background-color:#111}.swagger-ui .hover-bg-dark-gray:focus,.swagger-ui .hover-bg-dark-gray:hover{background-color:#333}.swagger-ui .hover-bg-mid-gray:focus,.swagger-ui .hover-bg-mid-gray:hover{background-color:#555}.swagger-ui .hover-bg-gray:focus,.swagger-ui .hover-bg-gray:hover{background-color:#777}.swagger-ui .hover-bg-silver:focus,.swagger-ui .hover-bg-silver:hover{background-color:#999}.swagger-ui .hover-bg-light-silver:focus,.swagger-ui .hover-bg-light-silver:hover{background-color:#aaa}.swagger-ui .hover-bg-moon-gray:focus,.swagger-ui .hover-bg-moon-gray:hover{background-color:#ccc}.swagger-ui .hover-bg-light-gray:focus,.swagger-ui .hover-bg-light-gray:hover{background-color:#eee}.swagger-ui .hover-bg-near-white:focus,.swagger-ui .hover-bg-near-white:hover{background-color:#f4f4f4}.swagger-ui .hover-bg-white:focus,.swagger-ui .hover-bg-white:hover{background-color:#fff}.swagger-ui .hover-bg-transparent:focus,.swagger-ui .hover-bg-transparent:hover{background-color:transparent}.swagger-ui .hover-bg-black-90:focus,.swagger-ui .hover-bg-black-90:hover{background-color:rgba(0,0,0,.9)}.swagger-ui .hover-bg-black-80:focus,.swagger-ui .hover-bg-black-80:hover{background-color:rgba(0,0,0,.8)}.swagger-ui .hover-bg-black-70:focus,.swagger-ui .hover-bg-black-70:hover{background-color:rgba(0,0,0,.7)}.swagger-ui .hover-bg-black-60:focus,.swagger-ui .hover-bg-black-60:hover{background-color:rgba(0,0,0,.6)}.swagger-ui .hover-bg-black-50:focus,.swagger-ui .hover-bg-black-50:hover{background-color:rgba(0,0,0,.5)}.swagger-ui .hover-bg-black-40:focus,.swagger-ui .hover-bg-black-40:hover{background-color:rgba(0,0,0,.4)}.swagger-ui .hover-bg-black-30:focus,.swagger-ui .hover-bg-black-30:hover{background-color:rgba(0,0,0,.3)}.swagger-ui .hover-bg-black-20:focus,.swagger-ui .hover-bg-black-20:hover{background-color:rgba(0,0,0,.2)}.swagger-ui .hover-bg-black-10:focus,.swagger-ui .hover-bg-black-10:hover{background-color:rgba(0,0,0,.1)}.swagger-ui .hover-bg-white-90:focus,.swagger-ui .hover-bg-white-90:hover{background-color:hsla(0,0%,100%,.9)}.swagger-ui .hover-bg-white-80:focus,.swagger-ui .hover-bg-white-80:hover{background-color:hsla(0,0%,100%,.8)}.swagger-ui .hover-bg-white-70:focus,.swagger-ui .hover-bg-white-70:hover{background-color:hsla(0,0%,100%,.7)}.swagger-ui .hover-bg-white-60:focus,.swagger-ui .hover-bg-white-60:hover{background-color:hsla(0,0%,100%,.6)}.swagger-ui .hover-bg-white-50:focus,.swagger-ui .hover-bg-white-50:hover{background-color:hsla(0,0%,100%,.5)}.swagger-ui .hover-bg-white-40:focus,.swagger-ui .hover-bg-white-40:hover{background-color:hsla(0,0%,100%,.4)}.swagger-ui .hover-bg-white-30:focus,.swagger-ui .hover-bg-white-30:hover{background-color:hsla(0,0%,100%,.3)}.swagger-ui .hover-bg-white-20:focus,.swagger-ui .hover-bg-white-20:hover{background-color:hsla(0,0%,100%,.2)}.swagger-ui .hover-bg-white-10:focus,.swagger-ui .hover-bg-white-10:hover{background-color:hsla(0,0%,100%,.1)}.swagger-ui .hover-dark-red:focus,.swagger-ui .hover-dark-red:hover{color:#e7040f}.swagger-ui .hover-red:focus,.swagger-ui .hover-red:hover{color:#ff4136}.swagger-ui .hover-light-red:focus,.swagger-ui .hover-light-red:hover{color:#ff725c}.swagger-ui .hover-orange:focus,.swagger-ui .hover-orange:hover{color:#ff6300}.swagger-ui .hover-gold:focus,.swagger-ui .hover-gold:hover{color:#ffb700}.swagger-ui .hover-yellow:focus,.swagger-ui .hover-yellow:hover{color:gold}.swagger-ui .hover-light-yellow:focus,.swagger-ui .hover-light-yellow:hover{color:#fbf1a9}.swagger-ui .hover-purple:focus,.swagger-ui .hover-purple:hover{color:#5e2ca5}.swagger-ui .hover-light-purple:focus,.swagger-ui .hover-light-purple:hover{color:#a463f2}.swagger-ui .hover-dark-pink:focus,.swagger-ui .hover-dark-pink:hover{color:#d5008f}.swagger-ui .hover-hot-pink:focus,.swagger-ui .hover-hot-pink:hover{color:#ff41b4}.swagger-ui .hover-pink:focus,.swagger-ui .hover-pink:hover{color:#ff80cc}.swagger-ui .hover-light-pink:focus,.swagger-ui .hover-light-pink:hover{color:#ffa3d7}.swagger-ui .hover-dark-green:focus,.swagger-ui .hover-dark-green:hover{color:#137752}.swagger-ui .hover-green:focus,.swagger-ui .hover-green:hover{color:#19a974}.swagger-ui .hover-light-green:focus,.swagger-ui .hover-light-green:hover{color:#9eebcf}.swagger-ui .hover-navy:focus,.swagger-ui .hover-navy:hover{color:#001b44}.swagger-ui .hover-dark-blue:focus,.swagger-ui .hover-dark-blue:hover{color:#00449e}.swagger-ui .hover-blue:focus,.swagger-ui .hover-blue:hover{color:#357edd}.swagger-ui .hover-light-blue:focus,.swagger-ui .hover-light-blue:hover{color:#96ccff}.swagger-ui .hover-lightest-blue:focus,.swagger-ui .hover-lightest-blue:hover{color:#cdecff}.swagger-ui .hover-washed-blue:focus,.swagger-ui .hover-washed-blue:hover{color:#f6fffe}.swagger-ui .hover-washed-green:focus,.swagger-ui .hover-washed-green:hover{color:#e8fdf5}.swagger-ui .hover-washed-yellow:focus,.swagger-ui .hover-washed-yellow:hover{color:#fffceb}.swagger-ui .hover-washed-red:focus,.swagger-ui .hover-washed-red:hover{color:#ffdfdf}.swagger-ui .hover-bg-dark-red:focus,.swagger-ui .hover-bg-dark-red:hover{background-color:#e7040f}.swagger-ui .hover-bg-red:focus,.swagger-ui .hover-bg-red:hover{background-color:#ff4136}.swagger-ui .hover-bg-light-red:focus,.swagger-ui .hover-bg-light-red:hover{background-color:#ff725c}.swagger-ui .hover-bg-orange:focus,.swagger-ui .hover-bg-orange:hover{background-color:#ff6300}.swagger-ui .hover-bg-gold:focus,.swagger-ui .hover-bg-gold:hover{background-color:#ffb700}.swagger-ui .hover-bg-yellow:focus,.swagger-ui .hover-bg-yellow:hover{background-color:gold}.swagger-ui .hover-bg-light-yellow:focus,.swagger-ui .hover-bg-light-yellow:hover{background-color:#fbf1a9}.swagger-ui .hover-bg-purple:focus,.swagger-ui .hover-bg-purple:hover{background-color:#5e2ca5}.swagger-ui .hover-bg-light-purple:focus,.swagger-ui .hover-bg-light-purple:hover{background-color:#a463f2}.swagger-ui .hover-bg-dark-pink:focus,.swagger-ui .hover-bg-dark-pink:hover{background-color:#d5008f}.swagger-ui .hover-bg-hot-pink:focus,.swagger-ui .hover-bg-hot-pink:hover{background-color:#ff41b4}.swagger-ui .hover-bg-pink:focus,.swagger-ui .hover-bg-pink:hover{background-color:#ff80cc}.swagger-ui .hover-bg-light-pink:focus,.swagger-ui .hover-bg-light-pink:hover{background-color:#ffa3d7}.swagger-ui .hover-bg-dark-green:focus,.swagger-ui .hover-bg-dark-green:hover{background-color:#137752}.swagger-ui .hover-bg-green:focus,.swagger-ui .hover-bg-green:hover{background-color:#19a974}.swagger-ui .hover-bg-light-green:focus,.swagger-ui .hover-bg-light-green:hover{background-color:#9eebcf}.swagger-ui .hover-bg-navy:focus,.swagger-ui .hover-bg-navy:hover{background-color:#001b44}.swagger-ui .hover-bg-dark-blue:focus,.swagger-ui .hover-bg-dark-blue:hover{background-color:#00449e}.swagger-ui .hover-bg-blue:focus,.swagger-ui .hover-bg-blue:hover{background-color:#357edd}.swagger-ui .hover-bg-light-blue:focus,.swagger-ui .hover-bg-light-blue:hover{background-color:#96ccff}.swagger-ui .hover-bg-lightest-blue:focus,.swagger-ui .hover-bg-lightest-blue:hover{background-color:#cdecff}.swagger-ui .hover-bg-washed-blue:focus,.swagger-ui .hover-bg-washed-blue:hover{background-color:#f6fffe}.swagger-ui .hover-bg-washed-green:focus,.swagger-ui .hover-bg-washed-green:hover{background-color:#e8fdf5}.swagger-ui .hover-bg-washed-yellow:focus,.swagger-ui .hover-bg-washed-yellow:hover{background-color:#fffceb}.swagger-ui .hover-bg-washed-red:focus,.swagger-ui .hover-bg-washed-red:hover{background-color:#ffdfdf}.swagger-ui .hover-bg-inherit:focus,.swagger-ui .hover-bg-inherit:hover{background-color:inherit}.swagger-ui .pa0{padding:0}.swagger-ui .pa1{padding:.25rem}.swagger-ui .pa2{padding:.5rem}.swagger-ui .pa3{padding:1rem}.swagger-ui .pa4{padding:2rem}.swagger-ui .pa5{padding:4rem}.swagger-ui .pa6{padding:8rem}.swagger-ui .pa7{padding:16rem}.swagger-ui .pl0{padding-left:0}.swagger-ui .pl1{padding-left:.25rem}.swagger-ui .pl2{padding-left:.5rem}.swagger-ui .pl3{padding-left:1rem}.swagger-ui .pl4{padding-left:2rem}.swagger-ui .pl5{padding-left:4rem}.swagger-ui .pl6{padding-left:8rem}.swagger-ui .pl7{padding-left:16rem}.swagger-ui .pr0{padding-right:0}.swagger-ui .pr1{padding-right:.25rem}.swagger-ui .pr2{padding-right:.5rem}.swagger-ui .pr3{padding-right:1rem}.swagger-ui .pr4{padding-right:2rem}.swagger-ui .pr5{padding-right:4rem}.swagger-ui .pr6{padding-right:8rem}.swagger-ui .pr7{padding-right:16rem}.swagger-ui .pb0{padding-bottom:0}.swagger-ui .pb1{padding-bottom:.25rem}.swagger-ui .pb2{padding-bottom:.5rem}.swagger-ui .pb3{padding-bottom:1rem}.swagger-ui .pb4{padding-bottom:2rem}.swagger-ui .pb5{padding-bottom:4rem}.swagger-ui .pb6{padding-bottom:8rem}.swagger-ui .pb7{padding-bottom:16rem}.swagger-ui .pt0{padding-top:0}.swagger-ui .pt1{padding-top:.25rem}.swagger-ui .pt2{padding-top:.5rem}.swagger-ui .pt3{padding-top:1rem}.swagger-ui .pt4{padding-top:2rem}.swagger-ui .pt5{padding-top:4rem}.swagger-ui .pt6{padding-top:8rem}.swagger-ui .pt7{padding-top:16rem}.swagger-ui .pv0{padding-top:0;padding-bottom:0}.swagger-ui .pv1{padding-top:.25rem;padding-bottom:.25rem}.swagger-ui .pv2{padding-top:.5rem;padding-bottom:.5rem}.swagger-ui .pv3{padding-top:1rem;padding-bottom:1rem}.swagger-ui .pv4{padding-top:2rem;padding-bottom:2rem}.swagger-ui .pv5{padding-top:4rem;padding-bottom:4rem}.swagger-ui .pv6{padding-top:8rem;padding-bottom:8rem}.swagger-ui .pv7{padding-top:16rem;padding-bottom:16rem}.swagger-ui .ph0{padding-left:0;padding-right:0}.swagger-ui .ph1{padding-left:.25rem;padding-right:.25rem}.swagger-ui .ph2{padding-left:.5rem;padding-right:.5rem}.swagger-ui .ph3{padding-left:1rem;padding-right:1rem}.swagger-ui .ph4{padding-left:2rem;padding-right:2rem}.swagger-ui .ph5{padding-left:4rem;padding-right:4rem}.swagger-ui .ph6{padding-left:8rem;padding-right:8rem}.swagger-ui .ph7{padding-left:16rem;padding-right:16rem}.swagger-ui .ma0{margin:0}.swagger-ui .ma1{margin:.25rem}.swagger-ui .ma2{margin:.5rem}.swagger-ui .ma3{margin:1rem}.swagger-ui .ma4{margin:2rem}.swagger-ui .ma5{margin:4rem}.swagger-ui .ma6{margin:8rem}.swagger-ui .ma7{margin:16rem}.swagger-ui .ml0{margin-left:0}.swagger-ui .ml1{margin-left:.25rem}.swagger-ui .ml2{margin-left:.5rem}.swagger-ui .ml3{margin-left:1rem}.swagger-ui .ml4{margin-left:2rem}.swagger-ui .ml5{margin-left:4rem}.swagger-ui .ml6{margin-left:8rem}.swagger-ui .ml7{margin-left:16rem}.swagger-ui .mr0{margin-right:0}.swagger-ui .mr1{margin-right:.25rem}.swagger-ui .mr2{margin-right:.5rem}.swagger-ui .mr3{margin-right:1rem}.swagger-ui .mr4{margin-right:2rem}.swagger-ui .mr5{margin-right:4rem}.swagger-ui .mr6{margin-right:8rem}.swagger-ui .mr7{margin-right:16rem}.swagger-ui .mb0{margin-bottom:0}.swagger-ui .mb1{margin-bottom:.25rem}.swagger-ui .mb2{margin-bottom:.5rem}.swagger-ui .mb3{margin-bottom:1rem}.swagger-ui .mb4{margin-bottom:2rem}.swagger-ui .mb5{margin-bottom:4rem}.swagger-ui .mb6{margin-bottom:8rem}.swagger-ui .mb7{margin-bottom:16rem}.swagger-ui .mt0{margin-top:0}.swagger-ui .mt1{margin-top:.25rem}.swagger-ui .mt2{margin-top:.5rem}.swagger-ui .mt3{margin-top:1rem}.swagger-ui .mt4{margin-top:2rem}.swagger-ui .mt5{margin-top:4rem}.swagger-ui .mt6{margin-top:8rem}.swagger-ui .mt7{margin-top:16rem}.swagger-ui .mv0{margin-top:0;margin-bottom:0}.swagger-ui .mv1{margin-top:.25rem;margin-bottom:.25rem}.swagger-ui .mv2{margin-top:.5rem;margin-bottom:.5rem}.swagger-ui .mv3{margin-top:1rem;margin-bottom:1rem}.swagger-ui .mv4{margin-top:2rem;margin-bottom:2rem}.swagger-ui .mv5{margin-top:4rem;margin-bottom:4rem}.swagger-ui .mv6{margin-top:8rem;margin-bottom:8rem}.swagger-ui .mv7{margin-top:16rem;margin-bottom:16rem}.swagger-ui .mh0{margin-left:0;margin-right:0}.swagger-ui .mh1{margin-left:.25rem;margin-right:.25rem}.swagger-ui .mh2{margin-left:.5rem;margin-right:.5rem}.swagger-ui .mh3{margin-left:1rem;margin-right:1rem}.swagger-ui .mh4{margin-left:2rem;margin-right:2rem}.swagger-ui .mh5{margin-left:4rem;margin-right:4rem}.swagger-ui .mh6{margin-left:8rem;margin-right:8rem}.swagger-ui .mh7{margin-left:16rem;margin-right:16rem}@media screen and (min-width:30em){.swagger-ui .pa0-ns{padding:0}.swagger-ui .pa1-ns{padding:.25rem}.swagger-ui .pa2-ns{padding:.5rem}.swagger-ui .pa3-ns{padding:1rem}.swagger-ui .pa4-ns{padding:2rem}.swagger-ui .pa5-ns{padding:4rem}.swagger-ui .pa6-ns{padding:8rem}.swagger-ui .pa7-ns{padding:16rem}.swagger-ui .pl0-ns{padding-left:0}.swagger-ui .pl1-ns{padding-left:.25rem}.swagger-ui .pl2-ns{padding-left:.5rem}.swagger-ui .pl3-ns{padding-left:1rem}.swagger-ui .pl4-ns{padding-left:2rem}.swagger-ui .pl5-ns{padding-left:4rem}.swagger-ui .pl6-ns{padding-left:8rem}.swagger-ui .pl7-ns{padding-left:16rem}.swagger-ui .pr0-ns{padding-right:0}.swagger-ui .pr1-ns{padding-right:.25rem}.swagger-ui .pr2-ns{padding-right:.5rem}.swagger-ui .pr3-ns{padding-right:1rem}.swagger-ui .pr4-ns{padding-right:2rem}.swagger-ui .pr5-ns{padding-right:4rem}.swagger-ui .pr6-ns{padding-right:8rem}.swagger-ui .pr7-ns{padding-right:16rem}.swagger-ui .pb0-ns{padding-bottom:0}.swagger-ui .pb1-ns{padding-bottom:.25rem}.swagger-ui .pb2-ns{padding-bottom:.5rem}.swagger-ui .pb3-ns{padding-bottom:1rem}.swagger-ui .pb4-ns{padding-bottom:2rem}.swagger-ui .pb5-ns{padding-bottom:4rem}.swagger-ui .pb6-ns{padding-bottom:8rem}.swagger-ui .pb7-ns{padding-bottom:16rem}.swagger-ui .pt0-ns{padding-top:0}.swagger-ui .pt1-ns{padding-top:.25rem}.swagger-ui .pt2-ns{padding-top:.5rem}.swagger-ui .pt3-ns{padding-top:1rem}.swagger-ui .pt4-ns{padding-top:2rem}.swagger-ui .pt5-ns{padding-top:4rem}.swagger-ui .pt6-ns{padding-top:8rem}.swagger-ui .pt7-ns{padding-top:16rem}.swagger-ui .pv0-ns{padding-top:0;padding-bottom:0}.swagger-ui .pv1-ns{padding-top:.25rem;padding-bottom:.25rem}.swagger-ui .pv2-ns{padding-top:.5rem;padding-bottom:.5rem}.swagger-ui .pv3-ns{padding-top:1rem;padding-bottom:1rem}.swagger-ui .pv4-ns{padding-top:2rem;padding-bottom:2rem}.swagger-ui .pv5-ns{padding-top:4rem;padding-bottom:4rem}.swagger-ui .pv6-ns{padding-top:8rem;padding-bottom:8rem}.swagger-ui .pv7-ns{padding-top:16rem;padding-bottom:16rem}.swagger-ui .ph0-ns{padding-left:0;padding-right:0}.swagger-ui .ph1-ns{padding-left:.25rem;padding-right:.25rem}.swagger-ui .ph2-ns{padding-left:.5rem;padding-right:.5rem}.swagger-ui .ph3-ns{padding-left:1rem;padding-right:1rem}.swagger-ui .ph4-ns{padding-left:2rem;padding-right:2rem}.swagger-ui .ph5-ns{padding-left:4rem;padding-right:4rem}.swagger-ui .ph6-ns{padding-left:8rem;padding-right:8rem}.swagger-ui .ph7-ns{padding-left:16rem;padding-right:16rem}.swagger-ui .ma0-ns{margin:0}.swagger-ui .ma1-ns{margin:.25rem}.swagger-ui .ma2-ns{margin:.5rem}.swagger-ui .ma3-ns{margin:1rem}.swagger-ui .ma4-ns{margin:2rem}.swagger-ui .ma5-ns{margin:4rem}.swagger-ui .ma6-ns{margin:8rem}.swagger-ui .ma7-ns{margin:16rem}.swagger-ui .ml0-ns{margin-left:0}.swagger-ui .ml1-ns{margin-left:.25rem}.swagger-ui .ml2-ns{margin-left:.5rem}.swagger-ui .ml3-ns{margin-left:1rem}.swagger-ui .ml4-ns{margin-left:2rem}.swagger-ui .ml5-ns{margin-left:4rem}.swagger-ui .ml6-ns{margin-left:8rem}.swagger-ui .ml7-ns{margin-left:16rem}.swagger-ui .mr0-ns{margin-right:0}.swagger-ui .mr1-ns{margin-right:.25rem}.swagger-ui .mr2-ns{margin-right:.5rem}.swagger-ui .mr3-ns{margin-right:1rem}.swagger-ui .mr4-ns{margin-right:2rem}.swagger-ui .mr5-ns{margin-right:4rem}.swagger-ui .mr6-ns{margin-right:8rem}.swagger-ui .mr7-ns{margin-right:16rem}.swagger-ui .mb0-ns{margin-bottom:0}.swagger-ui .mb1-ns{margin-bottom:.25rem}.swagger-ui .mb2-ns{margin-bottom:.5rem}.swagger-ui .mb3-ns{margin-bottom:1rem}.swagger-ui .mb4-ns{margin-bottom:2rem}.swagger-ui .mb5-ns{margin-bottom:4rem}.swagger-ui .mb6-ns{margin-bottom:8rem}.swagger-ui .mb7-ns{margin-bottom:16rem}.swagger-ui .mt0-ns{margin-top:0}.swagger-ui .mt1-ns{margin-top:.25rem}.swagger-ui .mt2-ns{margin-top:.5rem}.swagger-ui .mt3-ns{margin-top:1rem}.swagger-ui .mt4-ns{margin-top:2rem}.swagger-ui .mt5-ns{margin-top:4rem}.swagger-ui .mt6-ns{margin-top:8rem}.swagger-ui .mt7-ns{margin-top:16rem}.swagger-ui .mv0-ns{margin-top:0;margin-bottom:0}.swagger-ui .mv1-ns{margin-top:.25rem;margin-bottom:.25rem}.swagger-ui .mv2-ns{margin-top:.5rem;margin-bottom:.5rem}.swagger-ui .mv3-ns{margin-top:1rem;margin-bottom:1rem}.swagger-ui .mv4-ns{margin-top:2rem;margin-bottom:2rem}.swagger-ui .mv5-ns{margin-top:4rem;margin-bottom:4rem}.swagger-ui .mv6-ns{margin-top:8rem;margin-bottom:8rem}.swagger-ui .mv7-ns{margin-top:16rem;margin-bottom:16rem}.swagger-ui .mh0-ns{margin-left:0;margin-right:0}.swagger-ui .mh1-ns{margin-left:.25rem;margin-right:.25rem}.swagger-ui .mh2-ns{margin-left:.5rem;margin-right:.5rem}.swagger-ui .mh3-ns{margin-left:1rem;margin-right:1rem}.swagger-ui .mh4-ns{margin-left:2rem;margin-right:2rem}.swagger-ui .mh5-ns{margin-left:4rem;margin-right:4rem}.swagger-ui .mh6-ns{margin-left:8rem;margin-right:8rem}.swagger-ui .mh7-ns{margin-left:16rem;margin-right:16rem}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .pa0-m{padding:0}.swagger-ui .pa1-m{padding:.25rem}.swagger-ui .pa2-m{padding:.5rem}.swagger-ui .pa3-m{padding:1rem}.swagger-ui .pa4-m{padding:2rem}.swagger-ui .pa5-m{padding:4rem}.swagger-ui .pa6-m{padding:8rem}.swagger-ui .pa7-m{padding:16rem}.swagger-ui .pl0-m{padding-left:0}.swagger-ui .pl1-m{padding-left:.25rem}.swagger-ui .pl2-m{padding-left:.5rem}.swagger-ui .pl3-m{padding-left:1rem}.swagger-ui .pl4-m{padding-left:2rem}.swagger-ui .pl5-m{padding-left:4rem}.swagger-ui .pl6-m{padding-left:8rem}.swagger-ui .pl7-m{padding-left:16rem}.swagger-ui .pr0-m{padding-right:0}.swagger-ui .pr1-m{padding-right:.25rem}.swagger-ui .pr2-m{padding-right:.5rem}.swagger-ui .pr3-m{padding-right:1rem}.swagger-ui .pr4-m{padding-right:2rem}.swagger-ui .pr5-m{padding-right:4rem}.swagger-ui .pr6-m{padding-right:8rem}.swagger-ui .pr7-m{padding-right:16rem}.swagger-ui .pb0-m{padding-bottom:0}.swagger-ui .pb1-m{padding-bottom:.25rem}.swagger-ui .pb2-m{padding-bottom:.5rem}.swagger-ui .pb3-m{padding-bottom:1rem}.swagger-ui .pb4-m{padding-bottom:2rem}.swagger-ui .pb5-m{padding-bottom:4rem}.swagger-ui .pb6-m{padding-bottom:8rem}.swagger-ui .pb7-m{padding-bottom:16rem}.swagger-ui .pt0-m{padding-top:0}.swagger-ui .pt1-m{padding-top:.25rem}.swagger-ui .pt2-m{padding-top:.5rem}.swagger-ui .pt3-m{padding-top:1rem}.swagger-ui .pt4-m{padding-top:2rem}.swagger-ui .pt5-m{padding-top:4rem}.swagger-ui .pt6-m{padding-top:8rem}.swagger-ui .pt7-m{padding-top:16rem}.swagger-ui .pv0-m{padding-top:0;padding-bottom:0}.swagger-ui .pv1-m{padding-top:.25rem;padding-bottom:.25rem}.swagger-ui .pv2-m{padding-top:.5rem;padding-bottom:.5rem}.swagger-ui .pv3-m{padding-top:1rem;padding-bottom:1rem}.swagger-ui .pv4-m{padding-top:2rem;padding-bottom:2rem}.swagger-ui .pv5-m{padding-top:4rem;padding-bottom:4rem}.swagger-ui .pv6-m{padding-top:8rem;padding-bottom:8rem}.swagger-ui .pv7-m{padding-top:16rem;padding-bottom:16rem}.swagger-ui .ph0-m{padding-left:0;padding-right:0}.swagger-ui .ph1-m{padding-left:.25rem;padding-right:.25rem}.swagger-ui .ph2-m{padding-left:.5rem;padding-right:.5rem}.swagger-ui .ph3-m{padding-left:1rem;padding-right:1rem}.swagger-ui .ph4-m{padding-left:2rem;padding-right:2rem}.swagger-ui .ph5-m{padding-left:4rem;padding-right:4rem}.swagger-ui .ph6-m{padding-left:8rem;padding-right:8rem}.swagger-ui .ph7-m{padding-left:16rem;padding-right:16rem}.swagger-ui .ma0-m{margin:0}.swagger-ui .ma1-m{margin:.25rem}.swagger-ui .ma2-m{margin:.5rem}.swagger-ui .ma3-m{margin:1rem}.swagger-ui .ma4-m{margin:2rem}.swagger-ui .ma5-m{margin:4rem}.swagger-ui .ma6-m{margin:8rem}.swagger-ui .ma7-m{margin:16rem}.swagger-ui .ml0-m{margin-left:0}.swagger-ui .ml1-m{margin-left:.25rem}.swagger-ui .ml2-m{margin-left:.5rem}.swagger-ui .ml3-m{margin-left:1rem}.swagger-ui .ml4-m{margin-left:2rem}.swagger-ui .ml5-m{margin-left:4rem}.swagger-ui .ml6-m{margin-left:8rem}.swagger-ui .ml7-m{margin-left:16rem}.swagger-ui .mr0-m{margin-right:0}.swagger-ui .mr1-m{margin-right:.25rem}.swagger-ui .mr2-m{margin-right:.5rem}.swagger-ui .mr3-m{margin-right:1rem}.swagger-ui .mr4-m{margin-right:2rem}.swagger-ui .mr5-m{margin-right:4rem}.swagger-ui .mr6-m{margin-right:8rem}.swagger-ui .mr7-m{margin-right:16rem}.swagger-ui .mb0-m{margin-bottom:0}.swagger-ui .mb1-m{margin-bottom:.25rem}.swagger-ui .mb2-m{margin-bottom:.5rem}.swagger-ui .mb3-m{margin-bottom:1rem}.swagger-ui .mb4-m{margin-bottom:2rem}.swagger-ui .mb5-m{margin-bottom:4rem}.swagger-ui .mb6-m{margin-bottom:8rem}.swagger-ui .mb7-m{margin-bottom:16rem}.swagger-ui .mt0-m{margin-top:0}.swagger-ui .mt1-m{margin-top:.25rem}.swagger-ui .mt2-m{margin-top:.5rem}.swagger-ui .mt3-m{margin-top:1rem}.swagger-ui .mt4-m{margin-top:2rem}.swagger-ui .mt5-m{margin-top:4rem}.swagger-ui .mt6-m{margin-top:8rem}.swagger-ui .mt7-m{margin-top:16rem}.swagger-ui .mv0-m{margin-top:0;margin-bottom:0}.swagger-ui .mv1-m{margin-top:.25rem;margin-bottom:.25rem}.swagger-ui .mv2-m{margin-top:.5rem;margin-bottom:.5rem}.swagger-ui .mv3-m{margin-top:1rem;margin-bottom:1rem}.swagger-ui .mv4-m{margin-top:2rem;margin-bottom:2rem}.swagger-ui .mv5-m{margin-top:4rem;margin-bottom:4rem}.swagger-ui .mv6-m{margin-top:8rem;margin-bottom:8rem}.swagger-ui .mv7-m{margin-top:16rem;margin-bottom:16rem}.swagger-ui .mh0-m{margin-left:0;margin-right:0}.swagger-ui .mh1-m{margin-left:.25rem;margin-right:.25rem}.swagger-ui .mh2-m{margin-left:.5rem;margin-right:.5rem}.swagger-ui .mh3-m{margin-left:1rem;margin-right:1rem}.swagger-ui .mh4-m{margin-left:2rem;margin-right:2rem}.swagger-ui .mh5-m{margin-left:4rem;margin-right:4rem}.swagger-ui .mh6-m{margin-left:8rem;margin-right:8rem}.swagger-ui .mh7-m{margin-left:16rem;margin-right:16rem}}@media screen and (min-width:60em){.swagger-ui .pa0-l{padding:0}.swagger-ui .pa1-l{padding:.25rem}.swagger-ui .pa2-l{padding:.5rem}.swagger-ui .pa3-l{padding:1rem}.swagger-ui .pa4-l{padding:2rem}.swagger-ui .pa5-l{padding:4rem}.swagger-ui .pa6-l{padding:8rem}.swagger-ui .pa7-l{padding:16rem}.swagger-ui .pl0-l{padding-left:0}.swagger-ui .pl1-l{padding-left:.25rem}.swagger-ui .pl2-l{padding-left:.5rem}.swagger-ui .pl3-l{padding-left:1rem}.swagger-ui .pl4-l{padding-left:2rem}.swagger-ui .pl5-l{padding-left:4rem}.swagger-ui .pl6-l{padding-left:8rem}.swagger-ui .pl7-l{padding-left:16rem}.swagger-ui .pr0-l{padding-right:0}.swagger-ui .pr1-l{padding-right:.25rem}.swagger-ui .pr2-l{padding-right:.5rem}.swagger-ui .pr3-l{padding-right:1rem}.swagger-ui .pr4-l{padding-right:2rem}.swagger-ui .pr5-l{padding-right:4rem}.swagger-ui .pr6-l{padding-right:8rem}.swagger-ui .pr7-l{padding-right:16rem}.swagger-ui .pb0-l{padding-bottom:0}.swagger-ui .pb1-l{padding-bottom:.25rem}.swagger-ui .pb2-l{padding-bottom:.5rem}.swagger-ui .pb3-l{padding-bottom:1rem}.swagger-ui .pb4-l{padding-bottom:2rem}.swagger-ui .pb5-l{padding-bottom:4rem}.swagger-ui .pb6-l{padding-bottom:8rem}.swagger-ui .pb7-l{padding-bottom:16rem}.swagger-ui .pt0-l{padding-top:0}.swagger-ui .pt1-l{padding-top:.25rem}.swagger-ui .pt2-l{padding-top:.5rem}.swagger-ui .pt3-l{padding-top:1rem}.swagger-ui .pt4-l{padding-top:2rem}.swagger-ui .pt5-l{padding-top:4rem}.swagger-ui .pt6-l{padding-top:8rem}.swagger-ui .pt7-l{padding-top:16rem}.swagger-ui .pv0-l{padding-top:0;padding-bottom:0}.swagger-ui .pv1-l{padding-top:.25rem;padding-bottom:.25rem}.swagger-ui .pv2-l{padding-top:.5rem;padding-bottom:.5rem}.swagger-ui .pv3-l{padding-top:1rem;padding-bottom:1rem}.swagger-ui .pv4-l{padding-top:2rem;padding-bottom:2rem}.swagger-ui .pv5-l{padding-top:4rem;padding-bottom:4rem}.swagger-ui .pv6-l{padding-top:8rem;padding-bottom:8rem}.swagger-ui .pv7-l{padding-top:16rem;padding-bottom:16rem}.swagger-ui .ph0-l{padding-left:0;padding-right:0}.swagger-ui .ph1-l{padding-left:.25rem;padding-right:.25rem}.swagger-ui .ph2-l{padding-left:.5rem;padding-right:.5rem}.swagger-ui .ph3-l{padding-left:1rem;padding-right:1rem}.swagger-ui .ph4-l{padding-left:2rem;padding-right:2rem}.swagger-ui .ph5-l{padding-left:4rem;padding-right:4rem}.swagger-ui .ph6-l{padding-left:8rem;padding-right:8rem}.swagger-ui .ph7-l{padding-left:16rem;padding-right:16rem}.swagger-ui .ma0-l{margin:0}.swagger-ui .ma1-l{margin:.25rem}.swagger-ui .ma2-l{margin:.5rem}.swagger-ui .ma3-l{margin:1rem}.swagger-ui .ma4-l{margin:2rem}.swagger-ui .ma5-l{margin:4rem}.swagger-ui .ma6-l{margin:8rem}.swagger-ui .ma7-l{margin:16rem}.swagger-ui .ml0-l{margin-left:0}.swagger-ui .ml1-l{margin-left:.25rem}.swagger-ui .ml2-l{margin-left:.5rem}.swagger-ui .ml3-l{margin-left:1rem}.swagger-ui .ml4-l{margin-left:2rem}.swagger-ui .ml5-l{margin-left:4rem}.swagger-ui .ml6-l{margin-left:8rem}.swagger-ui .ml7-l{margin-left:16rem}.swagger-ui .mr0-l{margin-right:0}.swagger-ui .mr1-l{margin-right:.25rem}.swagger-ui .mr2-l{margin-right:.5rem}.swagger-ui .mr3-l{margin-right:1rem}.swagger-ui .mr4-l{margin-right:2rem}.swagger-ui .mr5-l{margin-right:4rem}.swagger-ui .mr6-l{margin-right:8rem}.swagger-ui .mr7-l{margin-right:16rem}.swagger-ui .mb0-l{margin-bottom:0}.swagger-ui .mb1-l{margin-bottom:.25rem}.swagger-ui .mb2-l{margin-bottom:.5rem}.swagger-ui .mb3-l{margin-bottom:1rem}.swagger-ui .mb4-l{margin-bottom:2rem}.swagger-ui .mb5-l{margin-bottom:4rem}.swagger-ui .mb6-l{margin-bottom:8rem}.swagger-ui .mb7-l{margin-bottom:16rem}.swagger-ui .mt0-l{margin-top:0}.swagger-ui .mt1-l{margin-top:.25rem}.swagger-ui .mt2-l{margin-top:.5rem}.swagger-ui .mt3-l{margin-top:1rem}.swagger-ui .mt4-l{margin-top:2rem}.swagger-ui .mt5-l{margin-top:4rem}.swagger-ui .mt6-l{margin-top:8rem}.swagger-ui .mt7-l{margin-top:16rem}.swagger-ui .mv0-l{margin-top:0;margin-bottom:0}.swagger-ui .mv1-l{margin-top:.25rem;margin-bottom:.25rem}.swagger-ui .mv2-l{margin-top:.5rem;margin-bottom:.5rem}.swagger-ui .mv3-l{margin-top:1rem;margin-bottom:1rem}.swagger-ui .mv4-l{margin-top:2rem;margin-bottom:2rem}.swagger-ui .mv5-l{margin-top:4rem;margin-bottom:4rem}.swagger-ui .mv6-l{margin-top:8rem;margin-bottom:8rem}.swagger-ui .mv7-l{margin-top:16rem;margin-bottom:16rem}.swagger-ui .mh0-l{margin-left:0;margin-right:0}.swagger-ui .mh1-l{margin-left:.25rem;margin-right:.25rem}.swagger-ui .mh2-l{margin-left:.5rem;margin-right:.5rem}.swagger-ui .mh3-l{margin-left:1rem;margin-right:1rem}.swagger-ui .mh4-l{margin-left:2rem;margin-right:2rem}.swagger-ui .mh5-l{margin-left:4rem;margin-right:4rem}.swagger-ui .mh6-l{margin-left:8rem;margin-right:8rem}.swagger-ui .mh7-l{margin-left:16rem;margin-right:16rem}}.swagger-ui .na1{margin:-.25rem}.swagger-ui .na2{margin:-.5rem}.swagger-ui .na3{margin:-1rem}.swagger-ui .na4{margin:-2rem}.swagger-ui .na5{margin:-4rem}.swagger-ui .na6{margin:-8rem}.swagger-ui .na7{margin:-16rem}.swagger-ui .nl1{margin-left:-.25rem}.swagger-ui .nl2{margin-left:-.5rem}.swagger-ui .nl3{margin-left:-1rem}.swagger-ui .nl4{margin-left:-2rem}.swagger-ui .nl5{margin-left:-4rem}.swagger-ui .nl6{margin-left:-8rem}.swagger-ui .nl7{margin-left:-16rem}.swagger-ui .nr1{margin-right:-.25rem}.swagger-ui .nr2{margin-right:-.5rem}.swagger-ui .nr3{margin-right:-1rem}.swagger-ui .nr4{margin-right:-2rem}.swagger-ui .nr5{margin-right:-4rem}.swagger-ui .nr6{margin-right:-8rem}.swagger-ui .nr7{margin-right:-16rem}.swagger-ui .nb1{margin-bottom:-.25rem}.swagger-ui .nb2{margin-bottom:-.5rem}.swagger-ui .nb3{margin-bottom:-1rem}.swagger-ui .nb4{margin-bottom:-2rem}.swagger-ui .nb5{margin-bottom:-4rem}.swagger-ui .nb6{margin-bottom:-8rem}.swagger-ui .nb7{margin-bottom:-16rem}.swagger-ui .nt1{margin-top:-.25rem}.swagger-ui .nt2{margin-top:-.5rem}.swagger-ui .nt3{margin-top:-1rem}.swagger-ui .nt4{margin-top:-2rem}.swagger-ui .nt5{margin-top:-4rem}.swagger-ui .nt6{margin-top:-8rem}.swagger-ui .nt7{margin-top:-16rem}@media screen and (min-width:30em){.swagger-ui .na1-ns{margin:-.25rem}.swagger-ui .na2-ns{margin:-.5rem}.swagger-ui .na3-ns{margin:-1rem}.swagger-ui .na4-ns{margin:-2rem}.swagger-ui .na5-ns{margin:-4rem}.swagger-ui .na6-ns{margin:-8rem}.swagger-ui .na7-ns{margin:-16rem}.swagger-ui .nl1-ns{margin-left:-.25rem}.swagger-ui .nl2-ns{margin-left:-.5rem}.swagger-ui .nl3-ns{margin-left:-1rem}.swagger-ui .nl4-ns{margin-left:-2rem}.swagger-ui .nl5-ns{margin-left:-4rem}.swagger-ui .nl6-ns{margin-left:-8rem}.swagger-ui .nl7-ns{margin-left:-16rem}.swagger-ui .nr1-ns{margin-right:-.25rem}.swagger-ui .nr2-ns{margin-right:-.5rem}.swagger-ui .nr3-ns{margin-right:-1rem}.swagger-ui .nr4-ns{margin-right:-2rem}.swagger-ui .nr5-ns{margin-right:-4rem}.swagger-ui .nr6-ns{margin-right:-8rem}.swagger-ui .nr7-ns{margin-right:-16rem}.swagger-ui .nb1-ns{margin-bottom:-.25rem}.swagger-ui .nb2-ns{margin-bottom:-.5rem}.swagger-ui .nb3-ns{margin-bottom:-1rem}.swagger-ui .nb4-ns{margin-bottom:-2rem}.swagger-ui .nb5-ns{margin-bottom:-4rem}.swagger-ui .nb6-ns{margin-bottom:-8rem}.swagger-ui .nb7-ns{margin-bottom:-16rem}.swagger-ui .nt1-ns{margin-top:-.25rem}.swagger-ui .nt2-ns{margin-top:-.5rem}.swagger-ui .nt3-ns{margin-top:-1rem}.swagger-ui .nt4-ns{margin-top:-2rem}.swagger-ui .nt5-ns{margin-top:-4rem}.swagger-ui .nt6-ns{margin-top:-8rem}.swagger-ui .nt7-ns{margin-top:-16rem}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .na1-m{margin:-.25rem}.swagger-ui .na2-m{margin:-.5rem}.swagger-ui .na3-m{margin:-1rem}.swagger-ui .na4-m{margin:-2rem}.swagger-ui .na5-m{margin:-4rem}.swagger-ui .na6-m{margin:-8rem}.swagger-ui .na7-m{margin:-16rem}.swagger-ui .nl1-m{margin-left:-.25rem}.swagger-ui .nl2-m{margin-left:-.5rem}.swagger-ui .nl3-m{margin-left:-1rem}.swagger-ui .nl4-m{margin-left:-2rem}.swagger-ui .nl5-m{margin-left:-4rem}.swagger-ui .nl6-m{margin-left:-8rem}.swagger-ui .nl7-m{margin-left:-16rem}.swagger-ui .nr1-m{margin-right:-.25rem}.swagger-ui .nr2-m{margin-right:-.5rem}.swagger-ui .nr3-m{margin-right:-1rem}.swagger-ui .nr4-m{margin-right:-2rem}.swagger-ui .nr5-m{margin-right:-4rem}.swagger-ui .nr6-m{margin-right:-8rem}.swagger-ui .nr7-m{margin-right:-16rem}.swagger-ui .nb1-m{margin-bottom:-.25rem}.swagger-ui .nb2-m{margin-bottom:-.5rem}.swagger-ui .nb3-m{margin-bottom:-1rem}.swagger-ui .nb4-m{margin-bottom:-2rem}.swagger-ui .nb5-m{margin-bottom:-4rem}.swagger-ui .nb6-m{margin-bottom:-8rem}.swagger-ui .nb7-m{margin-bottom:-16rem}.swagger-ui .nt1-m{margin-top:-.25rem}.swagger-ui .nt2-m{margin-top:-.5rem}.swagger-ui .nt3-m{margin-top:-1rem}.swagger-ui .nt4-m{margin-top:-2rem}.swagger-ui .nt5-m{margin-top:-4rem}.swagger-ui .nt6-m{margin-top:-8rem}.swagger-ui .nt7-m{margin-top:-16rem}}@media screen and (min-width:60em){.swagger-ui .na1-l{margin:-.25rem}.swagger-ui .na2-l{margin:-.5rem}.swagger-ui .na3-l{margin:-1rem}.swagger-ui .na4-l{margin:-2rem}.swagger-ui .na5-l{margin:-4rem}.swagger-ui .na6-l{margin:-8rem}.swagger-ui .na7-l{margin:-16rem}.swagger-ui .nl1-l{margin-left:-.25rem}.swagger-ui .nl2-l{margin-left:-.5rem}.swagger-ui .nl3-l{margin-left:-1rem}.swagger-ui .nl4-l{margin-left:-2rem}.swagger-ui .nl5-l{margin-left:-4rem}.swagger-ui .nl6-l{margin-left:-8rem}.swagger-ui .nl7-l{margin-left:-16rem}.swagger-ui .nr1-l{margin-right:-.25rem}.swagger-ui .nr2-l{margin-right:-.5rem}.swagger-ui .nr3-l{margin-right:-1rem}.swagger-ui .nr4-l{margin-right:-2rem}.swagger-ui .nr5-l{margin-right:-4rem}.swagger-ui .nr6-l{margin-right:-8rem}.swagger-ui .nr7-l{margin-right:-16rem}.swagger-ui .nb1-l{margin-bottom:-.25rem}.swagger-ui .nb2-l{margin-bottom:-.5rem}.swagger-ui .nb3-l{margin-bottom:-1rem}.swagger-ui .nb4-l{margin-bottom:-2rem}.swagger-ui .nb5-l{margin-bottom:-4rem}.swagger-ui .nb6-l{margin-bottom:-8rem}.swagger-ui .nb7-l{margin-bottom:-16rem}.swagger-ui .nt1-l{margin-top:-.25rem}.swagger-ui .nt2-l{margin-top:-.5rem}.swagger-ui .nt3-l{margin-top:-1rem}.swagger-ui .nt4-l{margin-top:-2rem}.swagger-ui .nt5-l{margin-top:-4rem}.swagger-ui .nt6-l{margin-top:-8rem}.swagger-ui .nt7-l{margin-top:-16rem}}.swagger-ui .collapse{border-collapse:collapse;border-spacing:0}.swagger-ui .striped--light-silver:nth-child(odd){background-color:#aaa}.swagger-ui .striped--moon-gray:nth-child(odd){background-color:#ccc}.swagger-ui .striped--light-gray:nth-child(odd){background-color:#eee}.swagger-ui .striped--near-white:nth-child(odd){background-color:#f4f4f4}.swagger-ui .stripe-light:nth-child(odd){background-color:hsla(0,0%,100%,.1)}.swagger-ui .stripe-dark:nth-child(odd){background-color:rgba(0,0,0,.1)}.swagger-ui .strike{text-decoration:line-through}.swagger-ui .underline{text-decoration:underline}.swagger-ui .no-underline{text-decoration:none}@media screen and (min-width:30em){.swagger-ui .strike-ns{text-decoration:line-through}.swagger-ui .underline-ns{text-decoration:underline}.swagger-ui .no-underline-ns{text-decoration:none}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .strike-m{text-decoration:line-through}.swagger-ui .underline-m{text-decoration:underline}.swagger-ui .no-underline-m{text-decoration:none}}@media screen and (min-width:60em){.swagger-ui .strike-l{text-decoration:line-through}.swagger-ui .underline-l{text-decoration:underline}.swagger-ui .no-underline-l{text-decoration:none}}.swagger-ui .tl{text-align:left}.swagger-ui .tr{text-align:right}.swagger-ui .tc{text-align:center}@media screen and (min-width:30em){.swagger-ui .tl-ns{text-align:left}.swagger-ui .tr-ns{text-align:right}.swagger-ui .tc-ns{text-align:center}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .tl-m{text-align:left}.swagger-ui .tr-m{text-align:right}.swagger-ui .tc-m{text-align:center}}@media screen and (min-width:60em){.swagger-ui .tl-l{text-align:left}.swagger-ui .tr-l{text-align:right}.swagger-ui .tc-l{text-align:center}}.swagger-ui .ttc{text-transform:capitalize}.swagger-ui .ttl{text-transform:lowercase}.swagger-ui .ttu{text-transform:uppercase}.swagger-ui .ttn{text-transform:none}@media screen and (min-width:30em){.swagger-ui .ttc-ns{text-transform:capitalize}.swagger-ui .ttl-ns{text-transform:lowercase}.swagger-ui .ttu-ns{text-transform:uppercase}.swagger-ui .ttn-ns{text-transform:none}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .ttc-m{text-transform:capitalize}.swagger-ui .ttl-m{text-transform:lowercase}.swagger-ui .ttu-m{text-transform:uppercase}.swagger-ui .ttn-m{text-transform:none}}@media screen and (min-width:60em){.swagger-ui .ttc-l{text-transform:capitalize}.swagger-ui .ttl-l{text-transform:lowercase}.swagger-ui .ttu-l{text-transform:uppercase}.swagger-ui .ttn-l{text-transform:none}}.swagger-ui .f-6,.swagger-ui .f-headline{font-size:6rem}.swagger-ui .f-5,.swagger-ui .f-subheadline{font-size:5rem}.swagger-ui .f1{font-size:3rem}.swagger-ui .f2{font-size:2.25rem}.swagger-ui .f3{font-size:1.5rem}.swagger-ui .f4{font-size:1.25rem}.swagger-ui .f5{font-size:1rem}.swagger-ui .f6{font-size:.875rem}.swagger-ui .f7{font-size:.75rem}@media screen and (min-width:30em){.swagger-ui .f-6-ns,.swagger-ui .f-headline-ns{font-size:6rem}.swagger-ui .f-5-ns,.swagger-ui .f-subheadline-ns{font-size:5rem}.swagger-ui .f1-ns{font-size:3rem}.swagger-ui .f2-ns{font-size:2.25rem}.swagger-ui .f3-ns{font-size:1.5rem}.swagger-ui .f4-ns{font-size:1.25rem}.swagger-ui .f5-ns{font-size:1rem}.swagger-ui .f6-ns{font-size:.875rem}.swagger-ui .f7-ns{font-size:.75rem}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .f-6-m,.swagger-ui .f-headline-m{font-size:6rem}.swagger-ui .f-5-m,.swagger-ui .f-subheadline-m{font-size:5rem}.swagger-ui .f1-m{font-size:3rem}.swagger-ui .f2-m{font-size:2.25rem}.swagger-ui .f3-m{font-size:1.5rem}.swagger-ui .f4-m{font-size:1.25rem}.swagger-ui .f5-m{font-size:1rem}.swagger-ui .f6-m{font-size:.875rem}.swagger-ui .f7-m{font-size:.75rem}}@media screen and (min-width:60em){.swagger-ui .f-6-l,.swagger-ui .f-headline-l{font-size:6rem}.swagger-ui .f-5-l,.swagger-ui .f-subheadline-l{font-size:5rem}.swagger-ui .f1-l{font-size:3rem}.swagger-ui .f2-l{font-size:2.25rem}.swagger-ui .f3-l{font-size:1.5rem}.swagger-ui .f4-l{font-size:1.25rem}.swagger-ui .f5-l{font-size:1rem}.swagger-ui .f6-l{font-size:.875rem}.swagger-ui .f7-l{font-size:.75rem}}.swagger-ui .measure{max-width:30em}.swagger-ui .measure-wide{max-width:34em}.swagger-ui .measure-narrow{max-width:20em}.swagger-ui .indent{text-indent:1em;margin-top:0;margin-bottom:0}.swagger-ui .small-caps{font-variant:small-caps}.swagger-ui .truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media screen and (min-width:30em){.swagger-ui .measure-ns{max-width:30em}.swagger-ui .measure-wide-ns{max-width:34em}.swagger-ui .measure-narrow-ns{max-width:20em}.swagger-ui .indent-ns{text-indent:1em;margin-top:0;margin-bottom:0}.swagger-ui .small-caps-ns{font-variant:small-caps}.swagger-ui .truncate-ns{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .measure-m{max-width:30em}.swagger-ui .measure-wide-m{max-width:34em}.swagger-ui .measure-narrow-m{max-width:20em}.swagger-ui .indent-m{text-indent:1em;margin-top:0;margin-bottom:0}.swagger-ui .small-caps-m{font-variant:small-caps}.swagger-ui .truncate-m{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}@media screen and (min-width:60em){.swagger-ui .measure-l{max-width:30em}.swagger-ui .measure-wide-l{max-width:34em}.swagger-ui .measure-narrow-l{max-width:20em}.swagger-ui .indent-l{text-indent:1em;margin-top:0;margin-bottom:0}.swagger-ui .small-caps-l{font-variant:small-caps}.swagger-ui .truncate-l{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}.swagger-ui .overflow-container{overflow-y:scroll}.swagger-ui .center{margin-right:auto;margin-left:auto}.swagger-ui .mr-auto{margin-right:auto}.swagger-ui .ml-auto{margin-left:auto}@media screen and (min-width:30em){.swagger-ui .center-ns{margin-right:auto;margin-left:auto}.swagger-ui .mr-auto-ns{margin-right:auto}.swagger-ui .ml-auto-ns{margin-left:auto}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .center-m{margin-right:auto;margin-left:auto}.swagger-ui .mr-auto-m{margin-right:auto}.swagger-ui .ml-auto-m{margin-left:auto}}@media screen and (min-width:60em){.swagger-ui .center-l{margin-right:auto;margin-left:auto}.swagger-ui .mr-auto-l{margin-right:auto}.swagger-ui .ml-auto-l{margin-left:auto}}.swagger-ui .clip{position:fixed!important;_position:absolute!important;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px)}@media screen and (min-width:30em){.swagger-ui .clip-ns{position:fixed!important;_position:absolute!important;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px)}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .clip-m{position:fixed!important;_position:absolute!important;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px)}}@media screen and (min-width:60em){.swagger-ui .clip-l{position:fixed!important;_position:absolute!important;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px)}}.swagger-ui .ws-normal{white-space:normal}.swagger-ui .nowrap{white-space:nowrap}.swagger-ui .pre{white-space:pre}@media screen and (min-width:30em){.swagger-ui .ws-normal-ns{white-space:normal}.swagger-ui .nowrap-ns{white-space:nowrap}.swagger-ui .pre-ns{white-space:pre}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .ws-normal-m{white-space:normal}.swagger-ui .nowrap-m{white-space:nowrap}.swagger-ui .pre-m{white-space:pre}}@media screen and (min-width:60em){.swagger-ui .ws-normal-l{white-space:normal}.swagger-ui .nowrap-l{white-space:nowrap}.swagger-ui .pre-l{white-space:pre}}.swagger-ui .v-base{vertical-align:baseline}.swagger-ui .v-mid{vertical-align:middle}.swagger-ui .v-top{vertical-align:top}.swagger-ui .v-btm{vertical-align:bottom}@media screen and (min-width:30em){.swagger-ui .v-base-ns{vertical-align:baseline}.swagger-ui .v-mid-ns{vertical-align:middle}.swagger-ui .v-top-ns{vertical-align:top}.swagger-ui .v-btm-ns{vertical-align:bottom}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .v-base-m{vertical-align:baseline}.swagger-ui .v-mid-m{vertical-align:middle}.swagger-ui .v-top-m{vertical-align:top}.swagger-ui .v-btm-m{vertical-align:bottom}}@media screen and (min-width:60em){.swagger-ui .v-base-l{vertical-align:baseline}.swagger-ui .v-mid-l{vertical-align:middle}.swagger-ui .v-top-l{vertical-align:top}.swagger-ui .v-btm-l{vertical-align:bottom}}.swagger-ui .dim{opacity:1}.swagger-ui .dim,.swagger-ui .dim:focus,.swagger-ui .dim:hover{-webkit-transition:opacity .15s ease-in;transition:opacity .15s ease-in}.swagger-ui .dim:focus,.swagger-ui .dim:hover{opacity:.5}.swagger-ui .dim:active{opacity:.8;-webkit-transition:opacity .15s ease-out;transition:opacity .15s ease-out}.swagger-ui .glow,.swagger-ui .glow:focus,.swagger-ui .glow:hover{-webkit-transition:opacity .15s ease-in;transition:opacity .15s ease-in}.swagger-ui .glow:focus,.swagger-ui .glow:hover{opacity:1}.swagger-ui .hide-child .child{opacity:0;-webkit-transition:opacity .15s ease-in;transition:opacity .15s ease-in}.swagger-ui .hide-child:active .child,.swagger-ui .hide-child:focus .child,.swagger-ui .hide-child:hover .child{opacity:1;-webkit-transition:opacity .15s ease-in;transition:opacity .15s ease-in}.swagger-ui .underline-hover:focus,.swagger-ui .underline-hover:hover{text-decoration:underline}.swagger-ui .grow{-moz-osx-font-smoothing:grayscale;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out}.swagger-ui .grow:focus,.swagger-ui .grow:hover{-webkit-transform:scale(1.05);transform:scale(1.05)}.swagger-ui .grow:active{-webkit-transform:scale(.9);transform:scale(.9)}.swagger-ui .grow-large{-moz-osx-font-smoothing:grayscale;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-transition:-webkit-transform .25s ease-in-out;transition:-webkit-transform .25s ease-in-out;transition:transform .25s ease-in-out;transition:transform .25s ease-in-out,-webkit-transform .25s ease-in-out}.swagger-ui .grow-large:focus,.swagger-ui .grow-large:hover{-webkit-transform:scale(1.2);transform:scale(1.2)}.swagger-ui .grow-large:active{-webkit-transform:scale(.95);transform:scale(.95)}.swagger-ui .pointer:hover{cursor:pointer}.swagger-ui .shadow-hover{cursor:pointer;position:relative;-webkit-transition:all .5s cubic-bezier(.165,.84,.44,1);transition:all .5s cubic-bezier(.165,.84,.44,1)}.swagger-ui .shadow-hover:after{content:\"\";-webkit-box-shadow:0 0 16px 2px rgba(0,0,0,.2);box-shadow:0 0 16px 2px rgba(0,0,0,.2);border-radius:inherit;opacity:0;position:absolute;top:0;left:0;width:100%;height:100%;z-index:-1;-webkit-transition:opacity .5s cubic-bezier(.165,.84,.44,1);transition:opacity .5s cubic-bezier(.165,.84,.44,1)}.swagger-ui .shadow-hover:focus:after,.swagger-ui .shadow-hover:hover:after{opacity:1}.swagger-ui .bg-animate,.swagger-ui .bg-animate:focus,.swagger-ui .bg-animate:hover{-webkit-transition:background-color .15s ease-in-out;transition:background-color .15s ease-in-out}.swagger-ui .z-0{z-index:0}.swagger-ui .z-1{z-index:1}.swagger-ui .z-2{z-index:2}.swagger-ui .z-3{z-index:3}.swagger-ui .z-4{z-index:4}.swagger-ui .z-5{z-index:5}.swagger-ui .z-999{z-index:999}.swagger-ui .z-9999{z-index:9999}.swagger-ui .z-max{z-index:2147483647}.swagger-ui .z-inherit{z-index:inherit}.swagger-ui .z-initial{z-index:auto}.swagger-ui .z-unset{z-index:unset}.swagger-ui .nested-copy-line-height ol,.swagger-ui .nested-copy-line-height p,.swagger-ui .nested-copy-line-height ul{line-height:1.5}.swagger-ui .nested-headline-line-height h1,.swagger-ui .nested-headline-line-height h2,.swagger-ui .nested-headline-line-height h3,.swagger-ui .nested-headline-line-height h4,.swagger-ui .nested-headline-line-height h5,.swagger-ui .nested-headline-line-height h6{line-height:1.25rem}.swagger-ui .nested-list-reset ol,.swagger-ui .nested-list-reset ul{padding-left:0;margin-left:0;list-style-type:none}.swagger-ui .nested-copy-indent p+p{text-indent:.1em;margin-top:0;margin-bottom:0}.swagger-ui .nested-copy-seperator p+p{margin-top:1.5em}.swagger-ui .nested-img img{width:100%;max-width:100%;display:block}.swagger-ui .nested-links a{color:#357edd;-webkit-transition:color .15s ease-in;transition:color .15s ease-in}.swagger-ui .nested-links a:focus,.swagger-ui .nested-links a:hover{color:#96ccff;-webkit-transition:color .15s ease-in;transition:color .15s ease-in}.swagger-ui .wrapper{width:100%;max-width:1460px;margin:0 auto;padding:0 20px;-webkit-box-sizing:border-box;box-sizing:border-box}.swagger-ui .opblock-tag-section{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.swagger-ui .opblock-tag{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:10px 20px 10px 10px;cursor:pointer;-webkit-transition:all .2s;transition:all .2s;border-bottom:1px solid rgba(59,65,81,.3)}.swagger-ui .opblock-tag:hover{background:rgba(0,0,0,.02)}.swagger-ui .opblock-tag{font-size:24px;margin:0 0 5px;font-family:Titillium Web,sans-serif;color:#3b4151}.swagger-ui .opblock-tag.no-desc span{-webkit-box-flex:1;-ms-flex:1;flex:1}.swagger-ui .opblock-tag svg{-webkit-transition:all .4s;transition:all .4s}.swagger-ui .opblock-tag small{font-size:14px;font-weight:400;-webkit-box-flex:1;-ms-flex:1;flex:1;padding:0 10px;font-family:Open Sans,sans-serif;color:#3b4151}.swagger-ui .parameter__type{font-size:12px;padding:5px 0;font-family:Source Code Pro,monospace;font-weight:600;color:#3b4151}.swagger-ui .view-line-link{position:relative;top:3px;width:20px;margin:0 5px;cursor:pointer;-webkit-transition:all .5s;transition:all .5s}.swagger-ui .opblock{margin:0 0 15px;border:1px solid #000;border-radius:4px;-webkit-box-shadow:0 0 3px rgba(0,0,0,.19);box-shadow:0 0 3px rgba(0,0,0,.19)}.swagger-ui .opblock .tab-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-ms-flex:1;flex:1}.swagger-ui .opblock .tab-header .tab-item{padding:0 40px;cursor:pointer}.swagger-ui .opblock .tab-header .tab-item:first-of-type{padding:0 40px 0 0}.swagger-ui .opblock .tab-header .tab-item.active h4 span{position:relative}.swagger-ui .opblock .tab-header .tab-item.active h4 span:after{position:absolute;bottom:-15px;left:50%;width:120%;height:4px;content:\"\";-webkit-transform:translateX(-50%);transform:translateX(-50%);background:gray}.swagger-ui .opblock.is-open .opblock-summary{border-bottom:1px solid #000}.swagger-ui .opblock .opblock-section-header{padding:8px 20px;min-height:50px;background:hsla(0,0%,100%,.8);-webkit-box-shadow:0 1px 2px rgba(0,0,0,.1);box-shadow:0 1px 2px rgba(0,0,0,.1)}.swagger-ui .opblock .opblock-section-header,.swagger-ui .opblock .opblock-section-header label{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.swagger-ui .opblock .opblock-section-header label{font-size:12px;font-weight:700;margin:0;margin-left:auto;font-family:Titillium Web,sans-serif;color:#3b4151}.swagger-ui .opblock .opblock-section-header label span{padding:0 10px 0 0}.swagger-ui .opblock .opblock-section-header h4{font-size:14px;-webkit-box-flex:1;-ms-flex:1;flex:1;margin:0;font-family:Titillium Web,sans-serif;color:#3b4151}.swagger-ui .opblock .opblock-summary-method{font-size:14px;font-weight:700;min-width:80px;padding:6px 15px;text-align:center;border-radius:3px;background:#000;text-shadow:0 1px 0 rgba(0,0,0,.1);font-family:Titillium Web,sans-serif;color:#fff}.swagger-ui .opblock .opblock-summary-operation-id,.swagger-ui .opblock .opblock-summary-path,.swagger-ui .opblock .opblock-summary-path__deprecated{font-size:16px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-ms-flex:0 3 auto;flex:0 3 auto;-webkit-box-align:center;-ms-flex-align:center;align-items:center;word-break:break-all;padding:0 10px;font-family:Source Code Pro,monospace;font-weight:600;color:#3b4151}@media (max-width:768px){.swagger-ui .opblock .opblock-summary-operation-id,.swagger-ui .opblock .opblock-summary-path,.swagger-ui .opblock .opblock-summary-path__deprecated{font-size:12px}}.swagger-ui .opblock .opblock-summary-operation-id .view-line-link,.swagger-ui .opblock .opblock-summary-path .view-line-link,.swagger-ui .opblock .opblock-summary-path__deprecated .view-line-link{position:relative;top:2px;width:0;margin:0;cursor:pointer;-webkit-transition:all .5s;transition:all .5s}.swagger-ui .opblock .opblock-summary-operation-id:hover .view-line-link,.swagger-ui .opblock .opblock-summary-path:hover .view-line-link,.swagger-ui .opblock .opblock-summary-path__deprecated:hover .view-line-link{width:18px;margin:0 5px}.swagger-ui .opblock .opblock-summary-path__deprecated{text-decoration:line-through}.swagger-ui .opblock .opblock-summary-operation-id{font-size:14px}.swagger-ui .opblock .opblock-summary-description{font-size:13px;-webkit-box-flex:1;-ms-flex:1;flex:1;font-family:Open Sans,sans-serif;color:#3b4151}.swagger-ui .opblock .opblock-summary{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:5px;cursor:pointer}.swagger-ui .opblock.opblock-post{border-color:#49cc90;background:rgba(73,204,144,.1)}.swagger-ui .opblock.opblock-post .opblock-summary-method{background:#49cc90}.swagger-ui .opblock.opblock-post .opblock-summary{border-color:#49cc90}.swagger-ui .opblock.opblock-post .tab-header .tab-item.active h4 span:after{background:#49cc90}.swagger-ui .opblock.opblock-put{border-color:#fca130;background:rgba(252,161,48,.1)}.swagger-ui .opblock.opblock-put .opblock-summary-method{background:#fca130}.swagger-ui .opblock.opblock-put .opblock-summary{border-color:#fca130}.swagger-ui .opblock.opblock-put .tab-header .tab-item.active h4 span:after{background:#fca130}.swagger-ui .opblock.opblock-delete{border-color:#f93e3e;background:rgba(249,62,62,.1)}.swagger-ui .opblock.opblock-delete .opblock-summary-method{background:#f93e3e}.swagger-ui .opblock.opblock-delete .opblock-summary{border-color:#f93e3e}.swagger-ui .opblock.opblock-delete .tab-header .tab-item.active h4 span:after{background:#f93e3e}.swagger-ui .opblock.opblock-get{border-color:#61affe;background:rgba(97,175,254,.1)}.swagger-ui .opblock.opblock-get .opblock-summary-method{background:#61affe}.swagger-ui .opblock.opblock-get .opblock-summary{border-color:#61affe}.swagger-ui .opblock.opblock-get .tab-header .tab-item.active h4 span:after{background:#61affe}.swagger-ui .opblock.opblock-patch{border-color:#50e3c2;background:rgba(80,227,194,.1)}.swagger-ui .opblock.opblock-patch .opblock-summary-method{background:#50e3c2}.swagger-ui .opblock.opblock-patch .opblock-summary{border-color:#50e3c2}.swagger-ui .opblock.opblock-patch .tab-header .tab-item.active h4 span:after{background:#50e3c2}.swagger-ui .opblock.opblock-head{border-color:#9012fe;background:rgba(144,18,254,.1)}.swagger-ui .opblock.opblock-head .opblock-summary-method{background:#9012fe}.swagger-ui .opblock.opblock-head .opblock-summary{border-color:#9012fe}.swagger-ui .opblock.opblock-head .tab-header .tab-item.active h4 span:after{background:#9012fe}.swagger-ui .opblock.opblock-options{border-color:#0d5aa7;background:rgba(13,90,167,.1)}.swagger-ui .opblock.opblock-options .opblock-summary-method{background:#0d5aa7}.swagger-ui .opblock.opblock-options .opblock-summary{border-color:#0d5aa7}.swagger-ui .opblock.opblock-options .tab-header .tab-item.active h4 span:after{background:#0d5aa7}.swagger-ui .opblock.opblock-deprecated{opacity:.6;border-color:#ebebeb;background:hsla(0,0%,92%,.1)}.swagger-ui .opblock.opblock-deprecated .opblock-summary-method{background:#ebebeb}.swagger-ui .opblock.opblock-deprecated .opblock-summary{border-color:#ebebeb}.swagger-ui .opblock.opblock-deprecated .tab-header .tab-item.active h4 span:after{background:#ebebeb}.swagger-ui .opblock .opblock-schemes{padding:8px 20px}.swagger-ui .opblock .opblock-schemes .schemes-title{padding:0 10px 0 0}.swagger-ui .filter .operation-filter-input{width:100%;margin:20px 0;padding:10px;border:2px solid #d8dde7}.swagger-ui .tab{display:-webkit-box;display:-ms-flexbox;display:flex;margin:20px 0 10px;padding:0;list-style:none}.swagger-ui .tab li{font-size:12px;min-width:100px;min-width:90px;padding:0;cursor:pointer;font-family:Titillium Web,sans-serif;color:#3b4151}.swagger-ui .tab li:first-of-type{position:relative;padding-left:0}.swagger-ui .tab li:first-of-type:after{position:absolute;top:0;right:6px;width:1px;height:100%;content:\"\";background:rgba(0,0,0,.2)}.swagger-ui .tab li.active{font-weight:700}.swagger-ui .opblock-description-wrapper,.swagger-ui .opblock-external-docs-wrapper,.swagger-ui .opblock-title_normal{font-size:12px;margin:0 0 5px;padding:15px 20px;font-family:Open Sans,sans-serif;color:#3b4151}.swagger-ui .opblock-description-wrapper h4,.swagger-ui .opblock-external-docs-wrapper h4,.swagger-ui .opblock-title_normal h4{font-size:12px;margin:0 0 5px;font-family:Open Sans,sans-serif;color:#3b4151}.swagger-ui .opblock-description-wrapper p,.swagger-ui .opblock-external-docs-wrapper p,.swagger-ui .opblock-title_normal p{font-size:14px;margin:0;font-family:Open Sans,sans-serif;color:#3b4151}.swagger-ui .opblock-external-docs-wrapper h4{padding-left:0}.swagger-ui .execute-wrapper{padding:20px;text-align:right}.swagger-ui .execute-wrapper .btn{width:100%;padding:8px 40px}.swagger-ui .body-param-options{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.swagger-ui .body-param-options .body-param-edit{padding:10px 0}.swagger-ui .body-param-options label{padding:8px 0}.swagger-ui .body-param-options label select{margin:3px 0 0}.swagger-ui .responses-inner{padding:20px}.swagger-ui .responses-inner h4,.swagger-ui .responses-inner h5{font-size:12px;margin:10px 0 5px;font-family:Open Sans,sans-serif;color:#3b4151}.swagger-ui .response-col_status{font-size:14px;font-family:Open Sans,sans-serif;color:#3b4151}.swagger-ui .response-col_status .response-undocumented{font-size:11px;font-family:Source Code Pro,monospace;font-weight:600;color:#909090}.swagger-ui .response-col_links{padding-left:2em;max-width:40em;font-size:14px;font-family:Open Sans,sans-serif;color:#3b4151}.swagger-ui .response-col_links .response-undocumented{font-size:11px;font-family:Source Code Pro,monospace;font-weight:600;color:#909090}.swagger-ui .response-col_description__inner div.markdown,.swagger-ui .response-col_description__inner div.renderedMarkdown{font-size:12px;font-style:italic;display:block;margin:0;padding:10px;border-radius:4px;background:#41444e;font-family:Source Code Pro,monospace;font-weight:600;color:#fff}.swagger-ui .response-col_description__inner div.markdown p,.swagger-ui .response-col_description__inner div.renderedMarkdown p{margin:0;font-family:Source Code Pro,monospace;font-weight:600;color:#fff}.swagger-ui .response-col_description__inner div.markdown a,.swagger-ui .response-col_description__inner div.renderedMarkdown a{font-family:Source Code Pro,monospace;font-weight:600;color:#89bf04;text-decoration:underline}.swagger-ui .response-col_description__inner div.markdown a:hover,.swagger-ui .response-col_description__inner div.renderedMarkdown a:hover{color:#81b10c}.swagger-ui .response-col_description__inner div.markdown th,.swagger-ui .response-col_description__inner div.renderedMarkdown th{font-family:Source Code Pro,monospace;font-weight:600;color:#fff;border-bottom:1px solid #fff}.swagger-ui .opblock-body .opblock-loading-animation{display:block;margin:3em;margin-left:auto;margin-right:auto}.swagger-ui .opblock-body pre{font-size:12px;margin:0;padding:10px;white-space:pre-wrap;word-wrap:break-word;word-break:break-all;word-break:break-word;-webkit-hyphens:auto;-ms-hyphens:auto;hyphens:auto;border-radius:4px;background:#41444e;overflow-wrap:break-word;font-family:Source Code Pro,monospace;font-weight:600;color:#fff}.swagger-ui .opblock-body pre span{color:#fff!important}.swagger-ui .opblock-body pre .headerline{display:block}.swagger-ui .scheme-container{margin:0 0 20px;padding:30px 0;background:#fff;-webkit-box-shadow:0 1px 2px 0 rgba(0,0,0,.15);box-shadow:0 1px 2px 0 rgba(0,0,0,.15)}.swagger-ui .scheme-container .schemes{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.swagger-ui .scheme-container .schemes>label{font-size:12px;font-weight:700;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;margin:-20px 15px 0 0;font-family:Titillium Web,sans-serif;color:#3b4151}.swagger-ui .scheme-container .schemes>label select{min-width:130px;text-transform:uppercase}.swagger-ui .loading-container{padding:40px 0 60px;margin-top:1em;min-height:1px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.swagger-ui .loading-container .loading{position:relative}.swagger-ui .loading-container .loading:after{font-size:10px;font-weight:700;position:absolute;top:50%;left:50%;content:\"loading\";-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);text-transform:uppercase;font-family:Titillium Web,sans-serif;color:#3b4151}.swagger-ui .loading-container .loading:before{position:absolute;top:50%;left:50%;display:block;width:60px;height:60px;margin:-30px;content:\"\";-webkit-animation:rotation 1s infinite linear,opacity .5s;animation:rotation 1s infinite linear,opacity .5s;opacity:1;border:2px solid rgba(85,85,85,.1);border-top-color:rgba(0,0,0,.6);border-radius:100%;-webkit-backface-visibility:hidden;backface-visibility:hidden}@-webkit-keyframes rotation{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes rotation{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.swagger-ui .response-content-type{padding-top:1em}.swagger-ui .response-content-type.controls-accept-header select{border-color:green}.swagger-ui .response-content-type.controls-accept-header small{color:green;font-size:.7em}@-webkit-keyframes blinker{50%{opacity:0}}@keyframes blinker{50%{opacity:0}}.swagger-ui section h3{font-family:Titillium Web,sans-serif;color:#3b4151}.swagger-ui a.nostyle{display:inline}.swagger-ui a.nostyle,.swagger-ui a.nostyle:visited{text-decoration:inherit;color:inherit;cursor:pointer}.swagger-ui .btn{font-size:14px;font-weight:700;padding:5px 23px;-webkit-transition:all .3s;transition:all .3s;border:2px solid gray;border-radius:4px;background:transparent;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.1);box-shadow:0 1px 2px rgba(0,0,0,.1);font-family:Titillium Web,sans-serif;color:#3b4151}.swagger-ui .btn.btn-sm{font-size:12px;padding:4px 23px}.swagger-ui .btn[disabled]{cursor:not-allowed;opacity:.3}.swagger-ui .btn:hover{-webkit-box-shadow:0 0 5px rgba(0,0,0,.3);box-shadow:0 0 5px rgba(0,0,0,.3)}.swagger-ui .btn.cancel{border-color:#ff6060;background-color:transparent;font-family:Titillium Web,sans-serif;color:#ff6060}.swagger-ui .btn.authorize{line-height:1;display:inline;color:#49cc90;border-color:#49cc90;background-color:transparent}.swagger-ui .btn.authorize span{float:left;padding:4px 20px 0 0}.swagger-ui .btn.authorize svg{fill:#49cc90}.swagger-ui .btn.execute{background-color:#4990e2;color:#fff;border-color:#4990e2}.swagger-ui .btn-group{display:-webkit-box;display:-ms-flexbox;display:flex;padding:30px}.swagger-ui .btn-group .btn{-webkit-box-flex:1;-ms-flex:1;flex:1}.swagger-ui .btn-group .btn:first-child{border-radius:4px 0 0 4px}.swagger-ui .btn-group .btn:last-child{border-radius:0 4px 4px 0}.swagger-ui .authorization__btn{padding:0 10px;border:none;background:none}.swagger-ui .authorization__btn.locked{opacity:1}.swagger-ui .authorization__btn.unlocked{opacity:.4}.swagger-ui .expand-methods,.swagger-ui .expand-operation{border:none;background:none}.swagger-ui .expand-methods svg,.swagger-ui .expand-operation svg{width:20px;height:20px}.swagger-ui .expand-methods{padding:0 10px}.swagger-ui .expand-methods:hover svg{fill:#404040}.swagger-ui .expand-methods svg{-webkit-transition:all .3s;transition:all .3s;fill:#707070}.swagger-ui button{cursor:pointer;outline:none}.swagger-ui button.invalid{-webkit-animation:shake .4s 1;animation:shake .4s 1;border-color:#f93e3e;background:#feebeb}.swagger-ui select{font-size:14px;font-weight:700;padding:5px 40px 5px 10px;border:2px solid #41444e;border-radius:4px;background:#f7f7f7 url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAyMCI+ICAgIDxwYXRoIGQ9Ik0xMy40MTggNy44NTljLjI3MS0uMjY4LjcwOS0uMjY4Ljk3OCAwIC4yNy4yNjguMjcyLjcwMSAwIC45NjlsLTMuOTA4IDMuODNjLS4yNy4yNjgtLjcwNy4yNjgtLjk3OSAwbC0zLjkwOC0zLjgzYy0uMjctLjI2Ny0uMjctLjcwMSAwLS45NjkuMjcxLS4yNjguNzA5LS4yNjguOTc4IDBMMTAgMTFsMy40MTgtMy4xNDF6Ii8+PC9zdmc+) right 10px center no-repeat;background-size:20px;-webkit-box-shadow:0 1px 2px 0 rgba(0,0,0,.25);box-shadow:0 1px 2px 0 rgba(0,0,0,.25);font-family:Titillium Web,sans-serif;color:#3b4151;-webkit-appearance:none;-moz-appearance:none;appearance:none}.swagger-ui select[multiple]{margin:5px 0;padding:5px;background:#f7f7f7}.swagger-ui select.invalid{-webkit-animation:shake .4s 1;animation:shake .4s 1;border-color:#f93e3e;background:#feebeb}.swagger-ui .opblock-body select{min-width:230px}@media (max-width:768px){.swagger-ui .opblock-body select{min-width:180px}}.swagger-ui label{font-size:12px;font-weight:700;margin:0 0 5px;font-family:Titillium Web,sans-serif;color:#3b4151}.swagger-ui input[type=email],.swagger-ui input[type=file],.swagger-ui input[type=password],.swagger-ui input[type=search],.swagger-ui input[type=text]{min-width:100px;margin:5px 0;padding:8px 10px;border:1px solid #d9d9d9;border-radius:4px;background:#fff}@media (max-width:768px){.swagger-ui input[type=email],.swagger-ui input[type=file],.swagger-ui input[type=password],.swagger-ui input[type=search],.swagger-ui input[type=text]{max-width:175px}}.swagger-ui input[type=email].invalid,.swagger-ui input[type=file].invalid,.swagger-ui input[type=password].invalid,.swagger-ui input[type=search].invalid,.swagger-ui input[type=text].invalid{-webkit-animation:shake .4s 1;animation:shake .4s 1;border-color:#f93e3e;background:#feebeb}@-webkit-keyframes shake{10%,90%{-webkit-transform:translate3d(-1px,0,0);transform:translate3d(-1px,0,0)}20%,80%{-webkit-transform:translate3d(2px,0,0);transform:translate3d(2px,0,0)}30%,50%,70%{-webkit-transform:translate3d(-4px,0,0);transform:translate3d(-4px,0,0)}40%,60%{-webkit-transform:translate3d(4px,0,0);transform:translate3d(4px,0,0)}}@keyframes shake{10%,90%{-webkit-transform:translate3d(-1px,0,0);transform:translate3d(-1px,0,0)}20%,80%{-webkit-transform:translate3d(2px,0,0);transform:translate3d(2px,0,0)}30%,50%,70%{-webkit-transform:translate3d(-4px,0,0);transform:translate3d(-4px,0,0)}40%,60%{-webkit-transform:translate3d(4px,0,0);transform:translate3d(4px,0,0)}}.swagger-ui textarea{font-size:12px;width:100%;min-height:280px;padding:10px;border:none;border-radius:4px;outline:none;background:hsla(0,0%,100%,.8);font-family:Source Code Pro,monospace;font-weight:600;color:#3b4151}.swagger-ui textarea:focus{border:2px solid #61affe}.swagger-ui textarea.curl{font-size:12px;min-height:100px;margin:0;padding:10px;resize:none;border-radius:4px;background:#41444e;font-family:Source Code Pro,monospace;font-weight:600;color:#fff}.swagger-ui .checkbox{padding:5px 0 10px;-webkit-transition:opacity .5s;transition:opacity .5s;color:#303030}.swagger-ui .checkbox label{display:-webkit-box;display:-ms-flexbox;display:flex}.swagger-ui .checkbox p{font-weight:400!important;font-style:italic;margin:0!important;font-family:Source Code Pro,monospace;font-weight:600;color:#3b4151}.swagger-ui .checkbox input[type=checkbox]{display:none}.swagger-ui .checkbox input[type=checkbox]+label>.item{position:relative;top:3px;display:inline-block;width:16px;height:16px;margin:0 8px 0 0;padding:5px;cursor:pointer;border-radius:1px;background:#e8e8e8;-webkit-box-shadow:0 0 0 2px #e8e8e8;box-shadow:0 0 0 2px #e8e8e8;-webkit-box-flex:0;-ms-flex:none;flex:none}.swagger-ui .checkbox input[type=checkbox]+label>.item:active{-webkit-transform:scale(.9);transform:scale(.9)}.swagger-ui .checkbox input[type=checkbox]:checked+label>.item{background:#e8e8e8 url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='10' height='8' viewBox='3 7 10 8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%2341474E' fill-rule='evenodd' d='M6.333 15L3 11.667l1.333-1.334 2 2L11.667 7 13 8.333z'/%3E%3C/svg%3E\") 50% no-repeat}.swagger-ui .dialog-ux{position:fixed;z-index:9999;top:0;right:0;bottom:0;left:0}.swagger-ui .dialog-ux .backdrop-ux{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.8)}.swagger-ui .dialog-ux .modal-ux{position:absolute;z-index:9999;top:50%;left:50%;width:100%;min-width:300px;max-width:650px;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);border:1px solid #ebebeb;border-radius:4px;background:#fff;-webkit-box-shadow:0 10px 30px 0 rgba(0,0,0,.2);box-shadow:0 10px 30px 0 rgba(0,0,0,.2)}.swagger-ui .dialog-ux .modal-ux-content{overflow-y:auto;max-height:540px;padding:20px}.swagger-ui .dialog-ux .modal-ux-content p{font-size:12px;margin:0 0 5px;color:#41444e;font-family:Open Sans,sans-serif;color:#3b4151}.swagger-ui .dialog-ux .modal-ux-content h4{font-size:18px;font-weight:600;margin:15px 0 0;font-family:Titillium Web,sans-serif;color:#3b4151}.swagger-ui .dialog-ux .modal-ux-header{display:-webkit-box;display:-ms-flexbox;display:flex;padding:12px 0;border-bottom:1px solid #ebebeb;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.swagger-ui .dialog-ux .modal-ux-header .close-modal{padding:0 10px;border:none;background:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.swagger-ui .dialog-ux .modal-ux-header h3{font-size:20px;font-weight:600;margin:0;padding:0 20px;-webkit-box-flex:1;-ms-flex:1;flex:1;font-family:Titillium Web,sans-serif;color:#3b4151}.swagger-ui .model{font-size:12px;font-weight:300;font-family:Source Code Pro,monospace;font-weight:600;color:#3b4151}.swagger-ui .model .deprecated span,.swagger-ui .model .deprecated td{color:#a0a0a0!important}.swagger-ui .model .deprecated>td:first-of-type{text-decoration:line-through}.swagger-ui .model-toggle{font-size:10px;position:relative;top:6px;display:inline-block;margin:auto .3em;cursor:pointer;-webkit-transition:-webkit-transform .15s ease-in;transition:-webkit-transform .15s ease-in;transition:transform .15s ease-in;transition:transform .15s ease-in,-webkit-transform .15s ease-in;-webkit-transform:rotate(90deg);transform:rotate(90deg);-webkit-transform-origin:50% 50%;transform-origin:50% 50%}.swagger-ui .model-toggle.collapsed{-webkit-transform:rotate(0deg);transform:rotate(0deg)}.swagger-ui .model-toggle:after{display:block;width:20px;height:20px;content:\"\";background:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z'/%3E%3C/svg%3E\") 50% no-repeat;background-size:100%}.swagger-ui .model-jump-to-path{position:relative;cursor:pointer}.swagger-ui .model-jump-to-path .view-line-link{position:absolute;top:-.4em;cursor:pointer}.swagger-ui .model-title{position:relative}.swagger-ui .model-title:hover .model-hint{visibility:visible}.swagger-ui .model-hint{position:absolute;top:-1.8em;visibility:hidden;padding:.1em .5em;white-space:nowrap;color:#ebebeb;border-radius:4px;background:rgba(0,0,0,.7)}.swagger-ui .model p{margin:0 0 1em}.swagger-ui section.models{margin:30px 0;border:1px solid rgba(59,65,81,.3);border-radius:4px}.swagger-ui section.models.is-open{padding:0 0 20px}.swagger-ui section.models.is-open h4{margin:0 0 5px;border-bottom:1px solid rgba(59,65,81,.3)}.swagger-ui section.models h4{font-size:16px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin:0;padding:10px 20px 10px 10px;cursor:pointer;-webkit-transition:all .2s;transition:all .2s;font-family:Titillium Web,sans-serif;color:#606060}.swagger-ui section.models h4 svg{-webkit-transition:all .4s;transition:all .4s}.swagger-ui section.models h4 span{-webkit-box-flex:1;-ms-flex:1;flex:1}.swagger-ui section.models h4:hover{background:rgba(0,0,0,.02)}.swagger-ui section.models h5{font-size:16px;margin:0 0 10px;font-family:Titillium Web,sans-serif;color:#707070}.swagger-ui section.models .model-jump-to-path{position:relative;top:5px}.swagger-ui section.models .model-container{margin:0 20px 15px;-webkit-transition:all .5s;transition:all .5s;border-radius:4px;background:rgba(0,0,0,.05)}.swagger-ui section.models .model-container:hover{background:rgba(0,0,0,.07)}.swagger-ui section.models .model-container:first-of-type{margin:20px}.swagger-ui section.models .model-container:last-of-type{margin:0 20px}.swagger-ui section.models .model-box{background:none}.swagger-ui .model-box{padding:10px;display:inline-block;border-radius:4px;background:rgba(0,0,0,.1)}.swagger-ui .model-box .model-jump-to-path{position:relative;top:4px}.swagger-ui .model-box.deprecated{opacity:.5}.swagger-ui .model-title{font-size:16px;font-family:Titillium Web,sans-serif;color:#505050}.swagger-ui .model-deprecated-warning{font-size:16px;font-weight:600;margin-right:1em;font-family:Titillium Web,sans-serif;color:#f93e3e}.swagger-ui span>span.model .brace-close{padding:0 0 0 10px}.swagger-ui .prop-name{display:inline-block;margin-right:1em}.swagger-ui .prop-type{color:#55a}.swagger-ui .prop-enum{display:block}.swagger-ui .prop-format{color:#606060}.swagger-ui .servers>label{font-size:12px;margin:-20px 15px 0 0;font-family:Titillium Web,sans-serif;color:#3b4151}.swagger-ui .servers>label select{min-width:130px;max-width:100%}.swagger-ui .servers h4.message{padding-bottom:2em}.swagger-ui .servers table tr{width:30em}.swagger-ui .servers table td{display:inline-block;max-width:15em;vertical-align:middle;padding-top:10px;padding-bottom:10px}.swagger-ui .servers table td:first-of-type{padding-right:2em}.swagger-ui .servers table td input{width:100%;height:100%}.swagger-ui .servers .computed-url{margin:2em 0}.swagger-ui .servers .computed-url code{display:inline-block;padding:4px;font-size:16px;margin:0 1em}.swagger-ui .global-server-container{margin:0 0 20px;padding:30px 0;background:#fff;-webkit-box-shadow:0 1px 2px 0 rgba(0,0,0,.15);box-shadow:0 1px 2px 0 rgba(0,0,0,.15)}.swagger-ui .global-server-container .servers-title{line-height:2em;font-weight:700}.swagger-ui .operation-servers h4.message{margin-bottom:2em}.swagger-ui table{width:100%;padding:0 10px;border-collapse:collapse}.swagger-ui table.model tbody tr td{padding:0;vertical-align:top}.swagger-ui table.model tbody tr td:first-of-type{width:174px;padding:0 0 0 2em}.swagger-ui table.headers td{font-size:12px;font-weight:300;vertical-align:middle;font-family:Source Code Pro,monospace;font-weight:600;color:#3b4151}.swagger-ui table tbody tr td{padding:10px 0 0;vertical-align:top}.swagger-ui table tbody tr td:first-of-type{max-width:20%;min-width:6em;padding:10px 0}.swagger-ui table thead tr td,.swagger-ui table thead tr th{font-size:12px;font-weight:700;padding:12px 0;text-align:left;border-bottom:1px solid rgba(59,65,81,.2);font-family:Open Sans,sans-serif;color:#3b4151}.swagger-ui .parameters-col_description input[type=text]{width:100%;max-width:340px}.swagger-ui .parameters-col_description select{border-width:1px}.swagger-ui .parameter__name{font-size:16px;font-weight:400;font-family:Titillium Web,sans-serif;color:#3b4151}.swagger-ui .parameter__name.required{font-weight:700}.swagger-ui .parameter__name.required:after{font-size:10px;position:relative;top:-6px;padding:5px;content:\"required\";color:rgba(255,0,0,.6)}.swagger-ui .parameter__extension,.swagger-ui .parameter__in{font-size:12px;font-style:italic;font-family:Source Code Pro,monospace;font-weight:600;color:gray}.swagger-ui .parameter__deprecated{font-size:12px;font-style:italic;font-family:Source Code Pro,monospace;font-weight:600;color:red}.swagger-ui .table-container{padding:20px}.swagger-ui .topbar{padding:8px 0;background-color:#89bf04}.swagger-ui .topbar .topbar-wrapper,.swagger-ui .topbar a{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.swagger-ui .topbar a{font-size:1.5em;font-weight:700;-webkit-box-flex:1;-ms-flex:1;flex:1;max-width:300px;text-decoration:none;font-family:Titillium Web,sans-serif;color:#fff}.swagger-ui .topbar a span{margin:0;padding:0 10px}.swagger-ui .topbar .download-url-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:3;-ms-flex:3;flex:3;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.swagger-ui .topbar .download-url-wrapper input[type=text]{width:100%;margin:0;border:2px solid #547f00;border-radius:4px 0 0 4px;outline:none}.swagger-ui .topbar .download-url-wrapper .select-label{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;max-width:600px;margin:0}.swagger-ui .topbar .download-url-wrapper .select-label span{font-size:16px;-webkit-box-flex:1;-ms-flex:1;flex:1;padding:0 10px 0 0;text-align:right}.swagger-ui .topbar .download-url-wrapper .select-label select{-webkit-box-flex:2;-ms-flex:2;flex:2;width:100%;border:2px solid #547f00;outline:none;-webkit-box-shadow:none;box-shadow:none}.swagger-ui .topbar .download-url-wrapper .download-url-button{font-size:16px;font-weight:700;padding:4px 30px;border:none;border-radius:0 4px 4px 0;background:#547f00;font-family:Titillium Web,sans-serif;color:#fff}.swagger-ui .info{margin:50px 0}.swagger-ui .info hgroup.main{margin:0 0 20px}.swagger-ui .info hgroup.main a{font-size:12px}.swagger-ui .info li,.swagger-ui .info p,.swagger-ui .info table{font-size:14px;font-family:Open Sans,sans-serif;color:#3b4151}.swagger-ui .info h1,.swagger-ui .info h2,.swagger-ui .info h3,.swagger-ui .info h4,.swagger-ui .info h5{font-family:Open Sans,sans-serif;color:#3b4151}.swagger-ui .info code{padding:3px 5px;border-radius:4px;background:rgba(0,0,0,.05);font-family:Source Code Pro,monospace;font-weight:600;color:#9012fe}.swagger-ui .info a{font-size:14px;-webkit-transition:all .4s;transition:all .4s;font-family:Open Sans,sans-serif;color:#4990e2}.swagger-ui .info a:hover{color:#1f69c0}.swagger-ui .info>div{margin:0 0 5px}.swagger-ui .info .base-url{font-size:12px;font-weight:300!important;margin:0;font-family:Source Code Pro,monospace;font-weight:600;color:#3b4151}.swagger-ui .info .title{font-size:36px;margin:0;font-family:Open Sans,sans-serif;color:#3b4151}.swagger-ui .info .title small{font-size:10px;position:relative;top:-5px;display:inline-block;margin:0 0 0 5px;padding:2px 4px;vertical-align:super;border-radius:57px;background:#7d8492}.swagger-ui .info .title small pre{margin:0;font-family:Titillium Web,sans-serif;color:#fff}.swagger-ui .auth-btn-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;padding:10px 0;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.swagger-ui .auth-btn-wrapper .btn-done{margin-right:1em}.swagger-ui .auth-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-ms-flex:1;flex:1;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.swagger-ui .auth-wrapper .authorize{padding-right:20px;margin-right:10px}.swagger-ui .auth-container{margin:0 0 10px;padding:10px 20px;border-bottom:1px solid #ebebeb}.swagger-ui .auth-container:last-of-type{margin:0;padding:10px 20px;border:0}.swagger-ui .auth-container h4{margin:5px 0 15px!important}.swagger-ui .auth-container .wrapper{margin:0;padding:0}.swagger-ui .auth-container input[type=password],.swagger-ui .auth-container input[type=text]{min-width:230px}.swagger-ui .auth-container .errors{font-size:12px;padding:10px;border-radius:4px;font-family:Source Code Pro,monospace;font-weight:600;color:#3b4151}.swagger-ui .scopes h2{font-size:14px;font-family:Titillium Web,sans-serif;color:#3b4151}.swagger-ui .scope-def{padding:0 0 20px}.swagger-ui .errors-wrapper{margin:20px;padding:10px 20px;-webkit-animation:scaleUp .5s;animation:scaleUp .5s;border:2px solid #f93e3e;border-radius:4px;background:rgba(249,62,62,.1)}.swagger-ui .errors-wrapper .error-wrapper{margin:0 0 10px}.swagger-ui .errors-wrapper .errors h4{font-size:14px;margin:0;font-family:Source Code Pro,monospace;font-weight:600;color:#3b4151}.swagger-ui .errors-wrapper .errors small{color:#606060}.swagger-ui .errors-wrapper hgroup{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.swagger-ui .errors-wrapper hgroup h4{font-size:20px;margin:0;-webkit-box-flex:1;-ms-flex:1;flex:1;font-family:Titillium Web,sans-serif;color:#3b4151}@-webkit-keyframes scaleUp{0%{-webkit-transform:scale(.8);transform:scale(.8);opacity:0}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}@keyframes scaleUp{0%{-webkit-transform:scale(.8);transform:scale(.8);opacity:0}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}.swagger-ui .Resizer.vertical.disabled{display:none}\n/*# sourceMappingURL=swagger-ui.css.map*/"
  },
  {
    "path": "frontend/static/swagger/swagger-ui.js",
    "content": "!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t(require(\"react\"),require(\"prop-types\"),require(\"immutable\"),require(\"react-immutable-proptypes\"),require(\"reselect\"),require(\"serialize-error\"),require(\"deep-extend\"),require(\"js-yaml\"),require(\"react-collapse\"),require(\"swagger-client\"),require(\"base64-js\"),require(\"classnames\"),require(\"commonmark\"),require(\"css.escape\"),require(\"ieee754\"),require(\"isarray\"),require(\"memoizee\"),require(\"react-debounce-input\"),require(\"react-dom\"),require(\"react-immutable-pure-component\"),require(\"react-markdown\"),require(\"react-redux\"),require(\"react-split-pane\"),require(\"redux\"),require(\"redux-immutable\"),require(\"regenerator-runtime\"),require(\"remarkable\"),require(\"sanitize-html\"),require(\"url-parse\"),require(\"xml\"),require(\"xml-but-prettier\"),require(\"yaml-js\"),require(\"zenscroll\")):\"function\"==typeof define&&define.amd?define([\"react\",\"prop-types\",\"immutable\",\"react-immutable-proptypes\",\"reselect\",\"serialize-error\",\"deep-extend\",\"js-yaml\",\"react-collapse\",\"swagger-client\",\"base64-js\",\"classnames\",\"commonmark\",\"css.escape\",\"ieee754\",\"isarray\",\"memoizee\",\"react-debounce-input\",\"react-dom\",\"react-immutable-pure-component\",\"react-markdown\",\"react-redux\",\"react-split-pane\",\"redux\",\"redux-immutable\",\"regenerator-runtime\",\"remarkable\",\"sanitize-html\",\"url-parse\",\"xml\",\"xml-but-prettier\",\"yaml-js\",\"zenscroll\"],t):\"object\"==typeof exports?exports.SwaggerUICore=t(require(\"react\"),require(\"prop-types\"),require(\"immutable\"),require(\"react-immutable-proptypes\"),require(\"reselect\"),require(\"serialize-error\"),require(\"deep-extend\"),require(\"js-yaml\"),require(\"react-collapse\"),require(\"swagger-client\"),require(\"base64-js\"),require(\"classnames\"),require(\"commonmark\"),require(\"css.escape\"),require(\"ieee754\"),require(\"isarray\"),require(\"memoizee\"),require(\"react-debounce-input\"),require(\"react-dom\"),require(\"react-immutable-pure-component\"),require(\"react-markdown\"),require(\"react-redux\"),require(\"react-split-pane\"),require(\"redux\"),require(\"redux-immutable\"),require(\"regenerator-runtime\"),require(\"remarkable\"),require(\"sanitize-html\"),require(\"url-parse\"),require(\"xml\"),require(\"xml-but-prettier\"),require(\"yaml-js\"),require(\"zenscroll\")):e.SwaggerUICore=t(e.react,e[\"prop-types\"],e.immutable,e[\"react-immutable-proptypes\"],e.reselect,e[\"serialize-error\"],e[\"deep-extend\"],e[\"js-yaml\"],e[\"react-collapse\"],e[\"swagger-client\"],e[\"base64-js\"],e.classnames,e.commonmark,e[\"css.escape\"],e.ieee754,e.isarray,e.memoizee,e[\"react-debounce-input\"],e[\"react-dom\"],e[\"react-immutable-pure-component\"],e[\"react-markdown\"],e[\"react-redux\"],e[\"react-split-pane\"],e.redux,e[\"redux-immutable\"],e[\"regenerator-runtime\"],e.remarkable,e[\"sanitize-html\"],e[\"url-parse\"],e.xml,e[\"xml-but-prettier\"],e[\"yaml-js\"],e.zenscroll)}(this,function(e,t,n,r,a,o,u,i,l,s,c,f,d,p,h,m,v,g,y,_,b,E,S,x,C,w,j,A,R,O,P,T,M){return function(e){function t(r){if(n[r])return n[r].exports;var a=n[r]={i:r,l:!1,exports:{}};return e[r].call(a.exports,a,a.exports,t),a.l=!0,a.exports}var n={};return t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,\"a\",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p=\"/dist\",t(t.s=610)}([function(e,t){e.exports=require(\"react\")},function(e,t){e.exports=require(\"prop-types\")},function(e,t,n){\"use strict\";t.__esModule=!0,t.default=function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}},function(e,t,n){\"use strict\";t.__esModule=!0;var r=n(206),a=function(e){return e&&e.__esModule?e:{default:e}}(r);t.default=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),(0,a.default)(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}()},function(e,t,n){e.exports={default:n(354),__esModule:!0}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var a=n(339),o=r(a),u=n(338),i=r(u),l=n(32),s=r(l);t.default=function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+(void 0===t?\"undefined\":(0,s.default)(t)));e.prototype=(0,i.default)(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(o.default?(0,o.default)(e,t):e.__proto__=t)}},function(e,t,n){\"use strict\";t.__esModule=!0;var r=n(32),a=function(e){return e&&e.__esModule?e:{default:e}}(r);t.default=function(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!==(void 0===t?\"undefined\":(0,a.default)(t))&&\"function\"!=typeof t?e:t}},function(e,t){e.exports=require(\"immutable\")},function(e,t,n){\"use strict\";(function(e){function r(e){return e&&e.__esModule?e:{default:e}}function a(e){try{var t=JSON.parse(e);if(t&&\"object\"===(void 0===t?\"undefined\":(0,D.default)(t)))return t}catch(e){}return!1}function o(e){return f(e)?oe(e)?e.toObject():e:{}}function u(e){return e?e.toArray?e.toArray():s(e):[]}function i(e){return oe(e)?e:e instanceof te.default.File?e:f(e)?Array.isArray(e)?U.default.Seq(e).map(i).toList():U.default.OrderedMap(e).map(i):e}function l(e,t){var n={};return(0,I.default)(e).filter(function(t){return\"function\"==typeof e[t]}).forEach(function(r){return n[r]=e[r].bind(null,t)}),n}function s(e){return Array.isArray(e)?e:[e]}function c(e){return\"function\"==typeof e}function f(e){return!!e&&\"object\"===(void 0===e?\"undefined\":(0,D.default)(e))}function d(e){return\"function\"==typeof e}function p(e){return Array.isArray(e)}function h(e,t){return(0,I.default)(e).reduce(function(n,r){return n[r]=t(e[r],r),n},{})}function m(e,t){return(0,I.default)(e).reduce(function(n,r){var a=t(e[r],r);return a&&\"object\"===(void 0===a?\"undefined\":(0,D.default)(a))&&(0,k.default)(n,a),n},{})}function v(e){return function(t){t.dispatch,t.getState;return function(t){return function(n){return\"function\"==typeof n?n(e()):t(n)}}}}function g(e){var t=e.keySeq();return t.contains(ae)?ae:t.filter(function(e){return\"2\"===(e+\"\")[0]}).sort().first()}function y(e,t){if(!U.default.Iterable.isIterable(e))return U.default.List();var n=e.getIn(Array.isArray(t)?t:[t]);return U.default.List.isList(n)?n:U.default.List()}function _(e){var t=document;if(!e)return\"\";if(e.textContent.length>5e3)return e.textContent;return function(e){for(var n,r,a,o,u,i=e.textContent,l=0,s=i[0],c=1,f=e.innerHTML=\"\",d=0;r=n,n=d<7&&\"\\\\\"==n?1:c;){if(c=s,s=i[++l],o=f.length>1,!c||d>8&&\"\\n\"==c||[/\\S/.test(c),1,1,!/[$\\w]/.test(c),(\"/\"==n||\"\\n\"==n)&&o,'\"'==n&&o,\"'\"==n&&o,i[l-4]+r+n==\"--\\x3e\",r+n==\"*/\"][d])for(f&&(e.appendChild(u=t.createElement(\"span\")).setAttribute(\"style\",[\"color: #555; font-weight: bold;\",\"\",\"\",\"color: #555;\",\"\"][d?d<3?2:d>6?4:d>3?3:+/^(a(bstract|lias|nd|rguments|rray|s(m|sert)?|uto)|b(ase|egin|ool(ean)?|reak|yte)|c(ase|atch|har|hecked|lass|lone|ompl|onst|ontinue)|de(bugger|cimal|clare|f(ault|er)?|init|l(egate|ete)?)|do|double|e(cho|ls?if|lse(if)?|nd|nsure|num|vent|x(cept|ec|p(licit|ort)|te(nds|nsion|rn)))|f(allthrough|alse|inal(ly)?|ixed|loat|or(each)?|riend|rom|unc(tion)?)|global|goto|guard|i(f|mp(lements|licit|ort)|n(it|clude(_once)?|line|out|stanceof|t(erface|ernal)?)?|s)|l(ambda|et|ock|ong)|m(icrolight|odule|utable)|NaN|n(amespace|ative|ext|ew|il|ot|ull)|o(bject|perator|r|ut|verride)|p(ackage|arams|rivate|rotected|rotocol|ublic)|r(aise|e(adonly|do|f|gister|peat|quire(_once)?|scue|strict|try|turn))|s(byte|ealed|elf|hort|igned|izeof|tatic|tring|truct|ubscript|uper|ynchronized|witch)|t(emplate|hen|his|hrows?|ransient|rue|ry|ype(alias|def|id|name|of))|u(n(checked|def(ined)?|ion|less|signed|til)|se|sing)|v(ar|irtual|oid|olatile)|w(char_t|hen|here|hile|ith)|xor|yield)$/.test(f):0]),u.appendChild(t.createTextNode(f))),a=d&&d<7?d:a,f=\"\",d=11;![1,/[\\/{}[(\\-+*=<>:;|\\\\.,?!&@~]/.test(c),/[\\])]/.test(c),/[$\\w]/.test(c),\"/\"==c&&a<2&&\"<\"!=n,'\"'==c,\"'\"==c,c+s+i[l+1]+i[l+2]==\"\\x3c!--\",c+s==\"/*\",c+s==\"//\",\"#\"==c][--d];);f+=c}}(e)}function b(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"key\",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:U.default.Map();if(!U.default.Map.isMap(e)||!e.size)return U.default.List();if(Array.isArray(t)||(t=[t]),t.length<1)return e.merge(n);var r=U.default.List(),a=t[0],o=!0,u=!1,i=void 0;try{for(var l,s=(0,T.default)(e.entries());!(o=(l=s.next()).done);o=!0){var c=l.value,f=(0,O.default)(c,2),d=f[0],p=f[1],h=b(p,t.slice(1),n.set(a,d));r=U.default.List.isList(h)?r.concat(h):r.push(h)}}catch(e){u=!0,i=e}finally{try{!o&&s.return&&s.return()}finally{if(u)throw i}}return r}function E(e){var t=/filename=\"([^;]*);?\"/i.exec(e);return null===t&&(t=/filename=([^;]*);?/i.exec(e)),null!==t&&t.length>1?t[1]:null}function S(e){return(0,J.default)((0,B.default)(e))}function x(e){return S(e.replace(/\\.[^.\\/]*$/,\"\"))}function C(e){return\"string\"!=typeof e||\"\"===e?\"\":(0,z.sanitizeUrl)(e)}function w(e){if(!U.default.OrderedMap.isOrderedMap(e))return null;if(!e.size)return null;var t=e.find(function(e,t){return t.startsWith(\"2\")&&(0,I.default)(e.get(\"content\")||{}).length>0}),n=e.get(\"default\")||U.default.OrderedMap(),r=(n.get(\"content\")||U.default.OrderedMap()).keySeq().toJS(),a=r.length?n:null;return t||a}Object.defineProperty(t,\"__esModule\",{value:!0}),t.getExtensions=t.escapeDeepLinkPath=t.createDeepLinkPath=t.shallowEqualKeys=t.buildFormData=t.sorters=t.btoa=t.serializeSearch=t.parseSearch=t.getSampleSchema=t.validateParam=t.validatePattern=t.validateMinLength=t.validateMaxLength=t.validateGuid=t.validateDateTime=t.validateString=t.validateBoolean=t.validateFile=t.validateInteger=t.validateNumber=t.validateMinimum=t.validateMaximum=t.propChecker=t.memoize=t.isImmutable=void 0;var j=n(26),A=r(j),R=n(11),O=r(R),P=n(71),T=r(P),M=n(19),k=r(M),q=n(31),I=r(q),N=n(32),D=r(N);t.isJSONObject=a,t.objectify=o,t.arrayify=u,t.fromJSOrdered=i,t.bindToState=l,t.normalizeArray=s,t.isFn=c,t.isObject=f,t.isFunc=d,t.isArray=p,t.objMap=h,t.objReduce=m,t.systemThunkMiddleware=v,t.defaultStatusCode=g,t.getList=y,t.highlight=_,t.mapToList=b,t.extractFileNameFromContentDispositionHeader=E,t.pascalCase=S,t.pascalCaseFilename=x,t.sanitizeUrl=C,t.getAcceptControllingResponse=w;var L=n(7),U=r(L),z=n(281),V=n(561),B=r(V),F=n(271),J=r(F),W=n(268),H=r(W),Y=n(262),G=r(Y),Z=n(580),$=r(Z),K=n(67),X=r(K),Q=n(97),ee=n(23),te=r(ee),ne=n(590),re=r(ne),ae=\"default\",oe=t.isImmutable=function(e){return U.default.Iterable.isIterable(e)},ue=(t.memoize=H.default,t.propChecker=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[];return(0,I.default)(e).length!==(0,I.default)(t).length||((0,$.default)(e,function(e,n){if(r.includes(n))return!1;var a=t[n];return U.default.Iterable.isIterable(e)?!U.default.is(e,a):(\"object\"!==(void 0===e?\"undefined\":(0,D.default)(e))||\"object\"!==(void 0===a?\"undefined\":(0,D.default)(a)))&&e!==a})||n.some(function(n){return!(0,X.default)(e[n],t[n])}))},t.validateMaximum=function(e,t){if(e>t)return\"Value must be less than Maximum\"}),ie=t.validateMinimum=function(e,t){if(e<t)return\"Value must be greater than Minimum\"},le=t.validateNumber=function(e){if(!/^-?\\d+(\\.?\\d+)?$/.test(e))return\"Value must be a number\"},se=t.validateInteger=function(e){if(!/^-?\\d+$/.test(e))return\"Value must be an integer\"},ce=t.validateFile=function(e){if(e&&!(e instanceof te.default.File))return\"Value must be a file\"},fe=t.validateBoolean=function(e){if(\"true\"!==e&&\"false\"!==e&&!0!==e&&!1!==e)return\"Value must be a boolean\"},de=t.validateString=function(e){if(e&&\"string\"!=typeof e)return\"Value must be a string\"},pe=t.validateDateTime=function(e){if(isNaN(Date.parse(e)))return\"Value must be a DateTime\"},he=t.validateGuid=function(e){if(e=e.toString().toLowerCase(),!/^[{(]?[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}[)}]?$/.test(e))return\"Value must be a Guid\"},me=t.validateMaxLength=function(e,t){if(e.length>t)return\"Value must be less than MaxLength\"},ve=t.validateMinLength=function(e,t){if(e.length<t)return\"Value must be greater than MinLength\"},ge=t.validatePattern=function(e,t){if(!new RegExp(t).test(e))return\"Value must follow pattern \"+t},ye=(t.validateParam=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=[],a=t&&\"body\"===e.get(\"in\")?e.get(\"value_xml\"):e.get(\"value\"),o=e.get(\"required\"),u=n?e.get(\"schema\"):e;if(!u)return r;var i=u.get(\"maximum\"),l=u.get(\"minimum\"),s=u.get(\"type\"),c=u.get(\"format\"),f=u.get(\"maxLength\"),d=u.get(\"minLength\"),p=u.get(\"pattern\");if(s&&(o||a)){var h=\"string\"===s&&a,m=\"array\"===s&&Array.isArray(a)&&a.length,v=\"array\"===s&&U.default.List.isList(a)&&a.count(),g=\"file\"===s&&a instanceof te.default.File,y=\"boolean\"===s&&(a||!1===a),_=\"number\"===s&&(a||0===a),b=\"integer\"===s&&(a||0===a);if(o&&!(h||m||v||g||y||_||b))return r.push(\"Required field is not provided\"),r;if(p){var E=ge(a,p);E&&r.push(E)}if(f||0===f){var S=me(a,f);S&&r.push(S)}if(d){var x=ve(a,d);x&&r.push(x)}if(i||0===i){var C=ue(a,i);C&&r.push(C)}if(l||0===l){var w=ie(a,l);w&&r.push(w)}if(\"string\"===s){var j=void 0;if(!(j=\"date-time\"===c?pe(a):\"uuid\"===c?he(a):de(a)))return r;r.push(j)}else if(\"boolean\"===s){var A=fe(a);if(!A)return r;r.push(A)}else if(\"number\"===s){var R=le(a);if(!R)return r;r.push(R)}else if(\"integer\"===s){var O=se(a);if(!O)return r;r.push(O)}else if(\"array\"===s){var P=void 0;if(!v||!a.count())return r;P=u.getIn([\"items\",\"type\"]),a.forEach(function(e,t){var n=void 0;\"number\"===P?n=le(e):\"integer\"===P?n=se(e):\"string\"===P&&(n=de(e)),n&&r.push({index:t,error:n})})}else if(\"file\"===s){var T=ce(a);if(!T)return r;r.push(T)}}return r},t.getSampleSchema=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"\",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(/xml/.test(t)){if(!e.xml||!e.xml.name){if(e.xml=e.xml||{},!e.$$ref)return e.type||e.items||e.properties||e.additionalProperties?'<?xml version=\"1.0\" encoding=\"UTF-8\"?>\\n\\x3c!-- XML example cannot be generated --\\x3e':null;var r=e.$$ref.match(/\\S*\\/(\\S+)$/);e.xml.name=r[1]}return(0,Q.memoizedCreateXMLExample)(e,n)}return(0,A.default)((0,Q.memoizedSampleFromSchema)(e,n),null,2)},t.parseSearch=function(){var e={},t=te.default.location.search;if(!t)return{};if(\"\"!=t){var n=t.substr(1).split(\"&\");for(var r in n)n.hasOwnProperty(r)&&(r=n[r].split(\"=\"),e[decodeURIComponent(r[0])]=r[1]&&decodeURIComponent(r[1])||\"\")}return e},t.serializeSearch=function(e){return(0,I.default)(e).map(function(t){return encodeURIComponent(t)+\"=\"+encodeURIComponent(e[t])}).join(\"&\")},t.btoa=function(t){var n=void 0;return n=t instanceof e?t:new e(t.toString(),\"utf-8\"),n.toString(\"base64\")},t.sorters={operationsSorter:{alpha:function(e,t){return e.get(\"path\").localeCompare(t.get(\"path\"))},method:function(e,t){return e.get(\"method\").localeCompare(t.get(\"method\"))}},tagsSorter:{alpha:function(e,t){return e.localeCompare(t)}}},t.buildFormData=function(e){var t=[];for(var n in e){var r=e[n];void 0!==r&&\"\"!==r&&t.push([n,\"=\",encodeURIComponent(r).replace(/%20/g,\"+\")].join(\"\"))}return t.join(\"&\")},t.shallowEqualKeys=function(e,t,n){return!!(0,G.default)(n,function(n){return(0,X.default)(e[n],t[n])})},t.createDeepLinkPath=function(e){return\"string\"==typeof e||e instanceof String?e.trim().replace(/\\s/g,\"_\"):\"\"});t.escapeDeepLinkPath=function(e){return(0,re.default)(ye(e))},t.getExtensions=function(e){return e.filter(function(e,t){return/^x-/.test(t)})}}).call(t,n(344).Buffer)},function(e,t){e.exports=require(\"react-immutable-proptypes\")},function(e,t){var n=e.exports={version:\"2.5.3\"};\"number\"==typeof __e&&(__e=n)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var a=n(337),o=r(a),u=n(71),i=r(u);t.default=function(){function e(e,t){var n=[],r=!0,a=!1,o=void 0;try{for(var u,l=(0,i.default)(e);!(r=(u=l.next()).done)&&(n.push(u.value),!t||n.length!==t);r=!0);}catch(e){a=!0,o=e}finally{try{!r&&l.return&&l.return()}finally{if(a)throw o}}return n}return function(t,n){if(Array.isArray(t))return t;if((0,o.default)(Object(t)))return e(t,n);throw new TypeError(\"Invalid attempt to destructure non-iterable instance\")}}()},function(e,t,n){var r=n(234)(\"wks\"),a=n(123),o=n(21).Symbol,u=\"function\"==typeof o;(e.exports=function(e){return r[e]||(r[e]=u&&o[e]||(u?o:a)(\"Symbol.\"+e))}).store=r},function(e,t,n){\"use strict\";t.__esModule=!0;var r=n(19),a=function(e){return e&&e.__esModule?e:{default:e}}(r);t.default=a.default||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}},function(e,t,n){var r=n(109)(\"wks\"),a=n(77),o=n(16).Symbol,u=\"function\"==typeof o;(e.exports=function(e){return r[e]||(r[e]=u&&o[e]||(u?o:a)(\"Symbol.\"+e))}).store=r},function(e,t){var n=Array.isArray;e.exports=n},function(e,t){var n=e.exports=\"undefined\"!=typeof window&&window.Math==Math?window:\"undefined\"!=typeof self&&self.Math==Math?self:Function(\"return this\")();\"number\"==typeof __g&&(__g=n)},function(e,t,n){var r=n(21),a=n(40),o=n(41),u=n(49),i=n(80),l=function(e,t,n){var s,c,f,d,p=e&l.F,h=e&l.G,m=e&l.S,v=e&l.P,g=e&l.B,y=h?r:m?r[t]||(r[t]={}):(r[t]||{}).prototype,_=h?a:a[t]||(a[t]={}),b=_.prototype||(_.prototype={});h&&(n=t);for(s in n)c=!p&&y&&void 0!==y[s],f=(c?y:n)[s],d=g&&c?i(f,r):v&&\"function\"==typeof f?i(Function.call,f):f,y&&u(y,s,f,e&l.U),_[s]!=f&&o(_,s,d),v&&b[s]!=f&&(b[s]=f)};r.core=a,l.F=1,l.G=2,l.S=4,l.P=8,l.B=16,l.W=32,l.U=64,l.R=128,e.exports=l},function(e,t,n){var r=n(17),a=n(61),o=n(35),u=/\"/g,i=function(e,t,n,r){var a=String(o(e)),i=\"<\"+t;return\"\"!==n&&(i+=\" \"+n+'=\"'+String(r).replace(u,\"&quot;\")+'\"'),i+\">\"+a+\"</\"+t+\">\"};e.exports=function(e,t){var n={};n[e]=t(i),r(r.P+r.F*a(function(){var t=\"\"[e]('\"');return t!==t.toLowerCase()||t.split('\"').length>3}),\"String\",n)}},function(e,t,n){e.exports={default:n(351),__esModule:!0}},function(e,t,n){\"use strict\";t.__esModule=!0;var r=n(206),a=function(e){return e&&e.__esModule?e:{default:e}}(r);t.default=function(e,t,n){return t in e?(0,a.default)(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}},function(e,t){var n=e.exports=\"undefined\"!=typeof window&&window.Math==Math?window:\"undefined\"!=typeof self&&self.Math==Math?self:Function(\"return this\")();\"number\"==typeof __g&&(__g=n)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function a(e){var t=e.get(\"openapi\");return!!t&&t.startsWith(\"3\")}function o(e){var t=e.get(\"swagger\");return!!t&&t.startsWith(\"2\")}function u(e){return function(t,n){return function(r){if(n&&n.specSelectors&&n.specSelectors.specJson){return a(n.specSelectors.specJson())?c.default.createElement(e,(0,l.default)({},r,n,{Ori:t})):c.default.createElement(t,r)}return console.warn(\"OAS3 wrapper: couldn't get spec\"),null}}}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(13),l=r(i);t.isOAS3=a,t.isSwagger2=o,t.OAS3ComponentWrapFactory=u;var s=n(0),c=r(s)},function(e,t,n){\"use strict\";var r=n(71),a=function(e){return e&&e.__esModule?e:{default:e}}(r);e.exports=function(){var e={location:{},history:{},open:function(){},close:function(){},File:function(){}};if(\"undefined\"==typeof window)return e;try{e=window;var t=[\"File\",\"Blob\",\"FormData\"],n=!0,r=!1,o=void 0;try{for(var u,i=(0,a.default)(t);!(n=(u=i.next()).done);n=!0){var l=u.value;l in window&&(e[l]=window[l])}}catch(e){r=!0,o=e}finally{try{!n&&i.return&&i.return()}finally{if(r)throw o}}}catch(e){console.error(e)}return e}()},function(e,t,n){var r=n(16),a=n(10),o=n(44),u=n(38),i=function(e,t,n){var l,s,c,f=e&i.F,d=e&i.G,p=e&i.S,h=e&i.P,m=e&i.B,v=e&i.W,g=d?a:a[t]||(a[t]={}),y=g.prototype,_=d?r:p?r[t]:(r[t]||{}).prototype;d&&(n=t);for(l in n)(s=!f&&_&&void 0!==_[l])&&l in g||(c=s?_[l]:n[l],g[l]=d&&\"function\"!=typeof _[l]?n[l]:m&&s?o(c,r):v&&_[l]==c?function(e){var t=function(t,n,r){if(this instanceof e){switch(arguments.length){case 0:return new e;case 1:return new e(t);case 2:return new e(t,n)}return new e(t,n,r)}return e.apply(this,arguments)};return t.prototype=e.prototype,t}(c):h&&\"function\"==typeof c?o(Function.call,c):c,h&&((g.virtual||(g.virtual={}))[l]=c,e&i.R&&y&&!y[l]&&u(y,l,c)))};i.F=1,i.G=2,i.S=4,i.P=8,i.B=16,i.W=32,i.U=64,i.R=128,e.exports=i},function(e,t,n){var r=n(253),a=\"object\"==typeof self&&self&&self.Object===Object&&self,o=r||a||Function(\"return this\")();e.exports=o},function(e,t,n){e.exports={default:n(350),__esModule:!0}},function(e,t,n){var r=n(34);e.exports=function(e){if(!r(e))throw TypeError(e+\" is not an object!\");return e}},function(e,t){function n(e){var t=typeof e;return null!=e&&(\"object\"==t||\"function\"==t)}e.exports=n},function(e,t,n){var r=n(27),a=n(208),o=n(112),u=Object.defineProperty;t.f=n(33)?Object.defineProperty:function(e,t,n){if(r(e),t=o(t,!0),r(n),a)try{return u(e,t,n)}catch(e){}if(\"get\"in n||\"set\"in n)throw TypeError(\"Accessors not supported!\");return\"value\"in n&&(e[t]=n.value),e}},function(e,t){function n(e){return null!=e&&\"object\"==typeof e}e.exports=n},function(e,t,n){e.exports={default:n(355),__esModule:!0}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var a=n(341),o=r(a),u=n(340),i=r(u),l=\"function\"==typeof i.default&&\"symbol\"==typeof o.default?function(e){return typeof e}:function(e){return e&&\"function\"==typeof i.default&&e.constructor===i.default&&e!==i.default.prototype?\"symbol\":typeof e};t.default=\"function\"==typeof i.default&&\"symbol\"===l(o.default)?function(e){return void 0===e?\"undefined\":l(e)}:function(e){return e&&\"function\"==typeof i.default&&e.constructor===i.default&&e!==i.default.prototype?\"symbol\":void 0===e?\"undefined\":l(e)}},function(e,t,n){e.exports=!n(45)(function(){return 7!=Object.defineProperty({},\"a\",{get:function(){return 7}}).a})},function(e,t){e.exports=function(e){return\"object\"==typeof e?null!==e:\"function\"==typeof e}},function(e,t){e.exports=function(e){if(void 0==e)throw TypeError(\"Can't call method on  \"+e);return e}},function(e,t){e.exports=require(\"reselect\")},function(e,t){var n={}.hasOwnProperty;e.exports=function(e,t){return n.call(e,t)}},function(e,t,n){var r=n(29),a=n(56);e.exports=n(33)?function(e,t,n){return r.f(e,t,a(1,n))}:function(e,t,n){return e[t]=n,e}},function(e,t,n){var r=n(48);e.exports=function(e){if(!r(e))throw TypeError(e+\" is not an object!\");return e}},function(e,t){var n=e.exports={version:\"2.5.3\"};\"number\"==typeof __e&&(__e=n)},function(e,t,n){var r=n(82),a=n(233);e.exports=n(60)?function(e,t,n){return r.f(e,t,a(1,n))}:function(e,t,n){return e[t]=n,e}},function(e,t,n){function r(e){return null==e?void 0===e?l:i:s&&s in Object(e)?o(e):u(e)}var a=n(50),o=n(514),u=n(544),i=\"[object Null]\",l=\"[object Undefined]\",s=a?a.toStringTag:void 0;e.exports=r},function(e,t,n){function r(e,t){var n=o(e,t);return a(n)?n:void 0}var a=n(476),o=n(515);e.exports=r},function(e,t,n){var r=n(73);e.exports=function(e,t,n){if(r(e),void 0===t)return e;switch(n){case 1:return function(n){return e.call(t,n)};case 2:return function(n,r){return e.call(t,n,r)};case 3:return function(n,r,a){return e.call(t,n,r,a)}}return function(){return e.apply(t,arguments)}}},function(e,t){e.exports=function(e){try{return!!e()}catch(e){return!0}}},function(e,t){e.exports={}},function(e,t,n){var r=n(209),a=n(102);e.exports=function(e){return r(a(e))}},function(e,t){e.exports=function(e){return\"object\"==typeof e?null!==e:\"function\"==typeof e}},function(e,t,n){var r=n(21),a=n(41),o=n(62),u=n(123)(\"src\"),i=Function.toString,l=(\"\"+i).split(\"toString\");n(40).inspectSource=function(e){return i.call(e)},(e.exports=function(e,t,n,i){var s=\"function\"==typeof n;s&&(o(n,\"name\")||a(n,\"name\",t)),e[t]!==n&&(s&&(o(n,u)||a(n,u,e[t]?\"\"+e[t]:l.join(String(t)))),e===r?e[t]=n:i?e[t]?e[t]=n:a(e,t,n):(delete e[t],a(e,t,n)))})(Function.prototype,\"toString\",function(){return\"function\"==typeof this&&this[u]||i.call(this)})},function(e,t,n){var r=n(25),a=r.Symbol;e.exports=a},function(e,t,n){function r(e){if(\"string\"==typeof e||a(e))return e;var t=e+\"\";return\"0\"==t&&1/e==-o?\"-0\":t}var a=n(92),o=1/0;e.exports=r},function(e,t,n){function r(e){return u(e)?a(e):o(e)}var a=n(241),o=n(479),u=n(68);e.exports=r},function(e,t,n){\"use strict\";t.__esModule=!0;var r=n(336),a=function(e){return e&&e.__esModule?e:{default:e}}(r);t.default=function(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return(0,a.default)(e)}},function(e,t){var n={}.toString;e.exports=function(e){return n.call(e).slice(8,-1)}},function(e,t,n){var r=n(217),a=n(104);e.exports=Object.keys||function(e){return r(e,a)}},function(e,t){e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},function(e,t,n){var r=n(102);e.exports=function(e){return Object(r(e))}},function(e,t,n){\"use strict\";var r=n(378)(!0);n(212)(String,\"String\",function(e){this._t=String(e),this._i=0},function(){var e,t=this._t,n=this._i;return n>=t.length?{value:void 0,done:!0}:(e=r(t,n),this._i+=e.length,{value:e,done:!1})})},function(e,t){var n={}.toString;e.exports=function(e){return n.call(e).slice(8,-1)}},function(e,t,n){e.exports=!n(61)(function(){return 7!=Object.defineProperty({},\"a\",{get:function(){return 7}}).a})},function(e,t){e.exports=function(e){try{return!!e()}catch(e){return!0}}},function(e,t){var n={}.hasOwnProperty;e.exports=function(e,t){return n.call(e,t)}},function(e,t){e.exports={}},function(e,t,n){var r=n(83),a=Math.min;e.exports=function(e){return e>0?a(r(e),9007199254740991):0}},function(e,t,n){function r(e,t){return a(e)?e:o(e,t)?[e]:u(i(e))}var a=n(15),o=n(134),u=n(558),i=n(69);e.exports=r},function(e,t,n){function r(e,t,n,r){var u=!n;n||(n={});for(var i=-1,l=t.length;++i<l;){var s=t[i],c=r?r(n[s],e[s],s,n,e):void 0;void 0===c&&(c=e[s]),u?o(n,s,c):a(n,s,c)}return n}var a=n(128),o=n(245);e.exports=r},function(e,t){function n(e,t){return e===t||e!==e&&t!==t}e.exports=n},function(e,t,n){function r(e){return null!=e&&o(e.length)&&!a(e)}var a=n(265),o=n(139);e.exports=r},function(e,t,n){function r(e){return null==e?\"\":a(e)}var a=n(491);e.exports=r},function(e,t,n){\"use strict\";function r(e){return{type:d,payload:(0,f.default)(e)}}function a(e){return{type:p,payload:e}}function o(e){return{type:h,payload:e}}function u(e){return{type:m,payload:e}}function i(e){return{type:v,payload:e}}function l(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{type:g,payload:e}}function s(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:function(){return!0};return{type:y,payload:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.CLEAR_BY=t.CLEAR=t.NEW_AUTH_ERR=t.NEW_SPEC_ERR_BATCH=t.NEW_SPEC_ERR=t.NEW_THROWN_ERR_BATCH=t.NEW_THROWN_ERR=void 0,t.newThrownErr=r,t.newThrownErrBatch=a,t.newSpecErr=o,t.newSpecErrBatch=u,t.newAuthErr=i,t.clear=l,t.clearBy=s;var c=n(141),f=function(e){return e&&e.__esModule?e:{default:e}}(c),d=t.NEW_THROWN_ERR=\"err_new_thrown_err\",p=t.NEW_THROWN_ERR_BATCH=\"err_new_thrown_err_batch\",h=t.NEW_SPEC_ERR=\"err_new_spec_err\",m=t.NEW_SPEC_ERR_BATCH=\"err_new_spec_err_batch\",v=t.NEW_AUTH_ERR=\"err_new_auth_err\",g=t.CLEAR=\"err_clear\",y=t.CLEAR_BY=\"err_clear_by\"},function(e,t,n){e.exports={default:n(348),__esModule:!0}},function(e,t,n){\"use strict\";t.__esModule=!0,t.default=function(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}},function(e,t){e.exports=function(e){if(\"function\"!=typeof e)throw TypeError(e+\" is not a function!\");return e}},function(e,t){e.exports=!0},function(e,t){t.f={}.propertyIsEnumerable},function(e,t,n){var r=n(29).f,a=n(37),o=n(14)(\"toStringTag\");e.exports=function(e,t,n){e&&!a(e=n?e:e.prototype,o)&&r(e,o,{configurable:!0,value:t})}},function(e,t){var n=0,r=Math.random();e.exports=function(e){return\"Symbol(\".concat(void 0===e?\"\":e,\")_\",(++n+r).toString(36))}},function(e,t,n){n(383);for(var r=n(16),a=n(38),o=n(46),u=n(14)(\"toStringTag\"),i=\"CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,TextTrackList,TouchList\".split(\",\"),l=0;l<i.length;l++){var s=i[l],c=r[s],f=c&&c.prototype;f&&!f[u]&&a(f,u,s),o[s]=o.Array}},function(e,t){e.exports=function(e){if(\"function\"!=typeof e)throw TypeError(e+\" is not a function!\");return e}},function(e,t,n){var r=n(79);e.exports=function(e,t,n){if(r(e),void 0===t)return e;switch(n){case 1:return function(n){return e.call(t,n)};case 2:return function(n,r){return e.call(t,n,r)};case 3:return function(n,r,a){return e.call(t,n,r,a)}}return function(){return e.apply(t,arguments)}}},function(e,t,n){\"use strict\";var r=n(41),a=n(49),o=n(61),u=n(35),i=n(12);e.exports=function(e,t,n){var l=i(e),s=n(u,l,\"\"[e]),c=s[0],f=s[1];o(function(){var t={};return t[l]=function(){return 7},7!=\"\"[e](t)})&&(a(String.prototype,e,c),r(RegExp.prototype,l,2==t?function(e,t){return f.call(e,this,t)}:function(e){return f.call(e,this)}))}},function(e,t,n){var r=n(39),a=n(400),o=n(419),u=Object.defineProperty;t.f=n(60)?Object.defineProperty:function(e,t,n){if(r(e),t=o(t,!0),r(n),a)try{return u(e,t,n)}catch(e){}if(\"get\"in n||\"set\"in n)throw TypeError(\"Accessors not supported!\");return\"value\"in n&&(e[t]=n.value),e}},function(e,t){var n=Math.ceil,r=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?r:n)(e)}},function(e,t,n){var r=n(402),a=n(35);e.exports=function(e){return r(a(e))}},function(e,t,n){function r(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}var a=n(530),o=n(531),u=n(532),i=n(533),l=n(534);r.prototype.clear=a,r.prototype.delete=o,r.prototype.get=u,r.prototype.has=i,r.prototype.set=l,e.exports=r},function(e,t,n){function r(e,t){for(var n=e.length;n--;)if(a(e[n][0],t))return n;return-1}var a=n(67);e.exports=r},function(e,t,n){function r(e){return\"function\"==typeof e?e:null==e?u:\"object\"==typeof e?i(e)?o(e[0],e[1]):a(e):l(e)}var a=n(481),o=n(482),u=n(264),i=n(15),l=n(577);e.exports=r},function(e,t,n){function r(e,t){var n=e.__data__;return a(t)?n[\"string\"==typeof t?\"string\":\"hash\"]:n.map}var a=n(528);e.exports=r},function(e,t,n){var r=n(452),a=n(124),o=n(454),u=n(455),i=n(457),l=n(42),s=n(261),c=s(r),f=s(a),d=s(o),p=s(u),h=s(i),m=l;(r&&\"[object DataView]\"!=m(new r(new ArrayBuffer(1)))||a&&\"[object Map]\"!=m(new a)||o&&\"[object Promise]\"!=m(o.resolve())||u&&\"[object Set]\"!=m(new u)||i&&\"[object WeakMap]\"!=m(new i))&&(m=function(e){var t=l(e),n=\"[object Object]\"==t?e.constructor:void 0,r=n?s(n):\"\";if(r)switch(r){case c:return\"[object DataView]\";case f:return\"[object Map]\";case d:return\"[object Promise]\";case p:return\"[object Set]\";case h:return\"[object WeakMap]\"}return t}),e.exports=m},function(e,t){function n(e,t){var n=typeof e;return!!(t=null==t?r:t)&&(\"number\"==n||\"symbol\"!=n&&a.test(e))&&e>-1&&e%1==0&&e<t}var r=9007199254740991,a=/^(?:0|[1-9]\\d*)$/;e.exports=n},function(e,t,n){var r=n(43),a=r(Object,\"create\");e.exports=a},function(e,t,n){function r(e){return\"symbol\"==typeof e||o(e)&&a(e)==u}var a=n(42),o=n(30),u=\"[object Symbol]\";e.exports=r},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function a(e){return{type:v,payload:e}}function o(e){return{type:g,payload:e}}function u(e){return{type:y,payload:e}}function i(e){return{type:_,payload:e}}function l(e){return{type:b,payload:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.authorizeRequest=t.authorizeAccessCodeWithBasicAuthentication=t.authorizeAccessCodeWithFormParams=t.authorizeApplication=t.authorizePassword=t.preAuthorizeImplicit=t.CONFIGURE_AUTH=t.VALIDATE=t.AUTHORIZE_OAUTH2=t.PRE_AUTHORIZE_OAUTH2=t.LOGOUT=t.AUTHORIZE=t.SHOW_AUTH_POPUP=void 0;var s=n(19),c=r(s),f=n(26),d=r(f);t.showDefinitions=a,t.authorize=o,t.logout=u,t.authorizeOauth2=i,t.configureAuth=l;var p=n(23),h=r(p),m=n(8),v=t.SHOW_AUTH_POPUP=\"show_popup\",g=t.AUTHORIZE=\"authorize\",y=t.LOGOUT=\"logout\",_=(t.PRE_AUTHORIZE_OAUTH2=\"pre_authorize_oauth2\",t.AUTHORIZE_OAUTH2=\"authorize_oauth2\"),b=(t.VALIDATE=\"validate\",t.CONFIGURE_AUTH=\"configure_auth\");t.preAuthorizeImplicit=function(e){return function(t){var n=t.authActions,r=t.errActions,a=e.auth,o=e.token,u=e.isValid,i=a.schema,l=a.name,s=i.get(\"flow\");if(delete h.default.swaggerUIRedirectOauth2,\"accessCode\"===s||u||r.newAuthErr({authId:l,source:\"auth\",level:\"warning\",message:\"Authorization may be unsafe, passed state was changed in server Passed state wasn't returned from auth server\"}),o.error)return void r.newAuthErr({authId:l,source:\"auth\",level:\"error\",message:(0,d.default)(o)});n.authorizeOauth2({auth:a,token:o})}},t.authorizePassword=function(e){return function(t){var n=t.authActions,r=e.schema,a=e.name,o=e.username,u=e.password,i=e.passwordType,l=e.clientId,s=e.clientSecret,f={grant_type:\"password\",scope:e.scopes.join(\" \")},d={},p={};return\"basic\"===i?p.Authorization=\"Basic \"+(0,m.btoa)(o+\":\"+u):((0,c.default)(f,{username:o},{password:u}),\"query\"===i?(l&&(d.client_id=l),s&&(d.client_secret=s)):p.Authorization=\"Basic \"+(0,m.btoa)(l+\":\"+s)),n.authorizeRequest({body:(0,m.buildFormData)(f),url:r.get(\"tokenUrl\"),name:a,headers:p,query:d,auth:e})}},t.authorizeApplication=function(e){return function(t){var n=t.authActions,r=e.schema,a=e.scopes,o=e.name,u=e.clientId,i=e.clientSecret,l={Authorization:\"Basic \"+(0,m.btoa)(u+\":\"+i)},s={grant_type:\"client_credentials\",scope:a.join(\" \")};return n.authorizeRequest({body:(0,m.buildFormData)(s),name:o,url:r.get(\"tokenUrl\"),auth:e,headers:l})}},t.authorizeAccessCodeWithFormParams=function(e){var t=e.auth,n=e.redirectUrl;return function(e){var r=e.authActions,a=t.schema,o=t.name,u=t.clientId,i=t.clientSecret,l={grant_type:\"authorization_code\",code:t.code,client_id:u,client_secret:i,redirect_uri:n};return r.authorizeRequest({body:(0,m.buildFormData)(l),name:o,url:a.get(\"tokenUrl\"),auth:t})}},t.authorizeAccessCodeWithBasicAuthentication=function(e){var t=e.auth,n=e.redirectUrl;return function(e){var r=e.authActions,a=t.schema,o=t.name,u=t.clientId,i=t.clientSecret,l={Authorization:\"Basic \"+(0,m.btoa)(u+\":\"+i)},s={grant_type:\"authorization_code\",code:t.code,client_id:u,redirect_uri:n};return r.authorizeRequest({body:(0,m.buildFormData)(s),name:o,url:a.get(\"tokenUrl\"),auth:t,headers:l})}},t.authorizeRequest=function(e){return function(t){var n=t.fn,r=t.getConfigs,a=t.authActions,o=t.errActions,u=t.authSelectors,i=e.body,l=e.query,s=void 0===l?{}:l,f=e.headers,p=void 0===f?{}:f,h=e.name,m=e.url,v=e.auth,g=u.getConfigs()||{},y=g.additionalQueryStringParams,_=m;for(var b in y)m+=\"&\"+b+\"=\"+encodeURIComponent(y[b]);var E=(0,c.default)({Accept:\"application/json, text/plain, */*\",\"Content-Type\":\"application/x-www-form-urlencoded\"},p);n.fetch({url:_,method:\"post\",headers:E,query:s,body:i,requestInterceptor:r().requestInterceptor,responseInterceptor:r().responseInterceptor}).then(function(e){var t=JSON.parse(e.data),n=t&&(t.error||\"\"),r=t&&(t.parseError||\"\");return e.ok?n||r?void o.newAuthErr({authId:h,level:\"error\",source:\"auth\",message:(0,d.default)(t)}):void a.authorizeOauth2({auth:v,token:t}):void o.newAuthErr({authId:h,level:\"error\",source:\"auth\",message:e.statusText})}).catch(function(e){var t=new Error(e);o.newAuthErr({authId:h,level:\"error\",source:\"auth\",message:t.message})})}}},function(e,t,n){\"use strict\";function r(e,t){return{type:i,payload:(0,u.default)({},e,t)}}function a(e){return{type:l,payload:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.TOGGLE_CONFIGS=t.UPDATE_CONFIGS=void 0;var o=n(20),u=function(e){return e&&e.__esModule?e:{default:e}}(o);t.update=r,t.toggle=a;var i=t.UPDATE_CONFIGS=\"configs_update\",l=t.TOGGLE_CONFIGS=\"configs_toggle\"},function(e,t,n){\"use strict\";function r(e){return{type:l,payload:e}}function a(e){return{type:s,payload:e}}function o(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return e=(0,i.normalizeArray)(e),{type:f,payload:{thing:e,shown:t}}}function u(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"\";return e=(0,i.normalizeArray)(e),{type:c,payload:{thing:e,mode:t}}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.SHOW=t.UPDATE_MODE=t.UPDATE_FILTER=t.UPDATE_LAYOUT=void 0,t.updateLayout=r,t.updateFilter=a,t.show=o,t.changeMode=u;var i=n(8),l=t.UPDATE_LAYOUT=\"layout_update_layout\",s=t.UPDATE_FILTER=\"layout_update_filter\",c=t.UPDATE_MODE=\"layout_update_mode\",f=t.SHOW=\"layout_show\"},function(e,t,n){\"use strict\";function r(e,t){return{type:l,payload:{selectedServerUrl:e,namespace:t}}}function a(e){var t=e.value,n=e.pathMethod;return{type:s,payload:{value:t,pathMethod:n}}}function o(e){var t=e.value,n=e.pathMethod;return{type:c,payload:{value:t,pathMethod:n}}}function u(e){var t=e.value,n=e.path,r=e.method;return{type:f,payload:{value:t,path:n,method:r}}}function i(e){var t=e.server,n=e.namespace,r=e.key,a=e.val;return{type:d,payload:{server:t,namespace:n,key:r,val:a}}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.setSelectedServer=r,t.setRequestBodyValue=a,t.setRequestContentType=o,t.setResponseContentType=u,t.setServerVariableValue=i;var l=t.UPDATE_SELECTED_SERVER=\"oas3_set_servers\",s=t.UPDATE_REQUEST_BODY_VALUE=\"oas3_set_request_body_value\",c=t.UPDATE_REQUEST_CONTENT_TYPE=\"oas3_set_request_content_type\",f=t.UPDATE_RESPONSE_CONTENT_TYPE=\"oas3_set_response_content_type\",d=t.UPDATE_SERVER_VARIABLE_VALUE=\"oas3_set_server_variable_value\"},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function a(e,t){var n=p(e,t);if(n)return(0,i.default)(n,{declaration:!0,indent:\"\\t\"})}Object.defineProperty(t,\"__esModule\",{value:!0}),t.memoizedSampleFromSchema=t.memoizedCreateXMLExample=t.sampleXmlFromSchema=t.inferSchema=t.sampleFromSchema=void 0,t.createXMLExample=a;var o=n(8),u=n(606),i=r(u),l=n(593),s=r(l),c={string:function(){return\"string\"},string_email:function(){return\"user@example.com\"},\"string_date-time\":function(){return(new Date).toISOString()},number:function(){return 0},number_float:function(){return 0},integer:function(){return 0},boolean:function(e){return\"boolean\"!=typeof e.default||e.default}},f=function(e){e=(0,o.objectify)(e);var t=e,n=t.type,r=t.format,a=c[n+\"_\"+r]||c[n];return(0,o.isFunc)(a)?a(e):\"Unknown Type: \"+e.type},d=t.sampleFromSchema=function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=(0,o.objectify)(t),a=r.type,u=r.example,i=r.properties,l=r.additionalProperties,s=r.items,c=n.includeReadOnly,d=n.includeWriteOnly;if(u&&u.$$ref&&delete u.$$ref,void 0!==u)return u;if(!a)if(i)a=\"object\";else{if(!s)return;a=\"array\"}if(\"object\"===a){var p=(0,o.objectify)(i),h={};for(var m in p)p[m].readOnly&&!c||p[m].writeOnly&&!d||(h[m]=e(p[m],n));if(!0===l)h.additionalProp1={};else if(l)for(var v=(0,o.objectify)(l),g=e(v,n),y=1;y<4;y++)h[\"additionalProp\"+y]=g;return h}return\"array\"===a?Array.isArray(s.anyOf)?s.anyOf.map(function(t){return e(t,n)}):Array.isArray(s.oneOf)?s.oneOf.map(function(t){return e(t,n)}):[e(s,n)]:t.enum?t.default?t.default:(0,o.normalizeArray)(t.enum)[0]:\"file\"!==a?f(t):void 0},p=(t.inferSchema=function(e){return e.schema&&(e=e.schema),e.properties&&(e.type=\"object\"),e},t.sampleXmlFromSchema=function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=(0,o.objectify)(t),a=r.type,u=r.properties,i=r.additionalProperties,l=r.items,s=r.example,c=n.includeReadOnly,d=n.includeWriteOnly,p=r.default,h={},m={},v=t.xml,g=v.name,y=v.prefix,_=v.namespace,b=r.enum,E=void 0,S=void 0;if(!a)if(u||i)a=\"object\";else{if(!l)return;a=\"array\"}if(g=g||\"notagname\",E=(y?y+\":\":\"\")+g,_){m[y?\"xmlns:\"+y:\"xmlns\"]=_}if(\"array\"===a&&l){if(l.xml=l.xml||v||{},l.xml.name=l.xml.name||v.name,v.wrapped)return h[E]=[],Array.isArray(s)?s.forEach(function(t){l.example=t,h[E].push(e(l,n))}):Array.isArray(p)?p.forEach(function(t){l.default=t,h[E].push(e(l,n))}):h[E]=[e(l,n)],m&&h[E].push({_attr:m}),h;var x=[];return Array.isArray(s)?(s.forEach(function(t){l.example=t,x.push(e(l,n))}),x):Array.isArray(p)?(p.forEach(function(t){l.default=t,x.push(e(l,n))}),x):e(l,n)}if(\"object\"===a){var C=(0,o.objectify)(u);h[E]=[],s=s||{};for(var w in C)if(C.hasOwnProperty(w)&&(!C[w].readOnly||c)&&(!C[w].writeOnly||d))if(C[w].xml=C[w].xml||{},C[w].xml.attribute){var j=Array.isArray(C[w].enum)&&C[w].enum[0],A=C[w].example,R=C[w].default;m[C[w].xml.name||w]=void 0!==A&&A||void 0!==s[w]&&s[w]||void 0!==R&&R||j||f(C[w])}else{C[w].xml.name=C[w].xml.name||w,C[w].example=void 0!==C[w].example?C[w].example:s[w];var O=e(C[w]);Array.isArray(O)?h[E]=h[E].concat(O):h[E].push(O)}return!0===i?h[E].push({additionalProp:\"Anything can be here\"}):i&&h[E].push({additionalProp:f(i)}),m&&h[E].push({_attr:m}),h}return S=void 0!==s?s:void 0!==p?p:Array.isArray(b)?b[0]:f(t),h[E]=m?[{_attr:m},S]:S,h});t.memoizedCreateXMLExample=(0,s.default)(a),t.memoizedSampleFromSchema=(0,s.default)(d)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function a(e){var t=ie(e).replace(/\\t/g,\"  \");if(\"string\"==typeof e)return{type:W,payload:t}}function o(e){return{type:ae,payload:e}}function u(e){return{type:H,payload:e}}function i(e){return{type:Y,payload:e}}function l(e,t,n,r,a){return{type:G,payload:{path:e,value:r,paramName:t,paramIn:n,isXml:a}}}function s(e){return{type:ne,payload:{pathMethod:e}}}function c(e,t){return{type:re,payload:{path:e,value:t,key:\"consumes_value\"}}}function f(e,t){return{type:re,payload:{path:e,value:t,key:\"produces_value\"}}}function d(e,t){return{type:ee,payload:{path:e,method:t}}}function p(e,t){return{type:te,payload:{path:e,method:t}}}function h(e,t,n){return{type:ue,payload:{scheme:e,path:t,method:n}}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.execute=t.executeRequest=t.logRequest=t.setMutatedRequest=t.setRequest=t.setResponse=t.validateParams=t.invalidateResolvedSubtreeCache=t.updateResolvedSubtree=t.requestResolvedSubtree=t.resolveSpec=t.parseToJson=t.SET_SCHEME=t.UPDATE_RESOLVED_SUBTREE=t.UPDATE_RESOLVED=t.UPDATE_OPERATION_META_VALUE=t.CLEAR_VALIDATE_PARAMS=t.CLEAR_REQUEST=t.CLEAR_RESPONSE=t.LOG_REQUEST=t.SET_MUTATED_REQUEST=t.SET_REQUEST=t.SET_RESPONSE=t.VALIDATE_PARAMS=t.UPDATE_PARAM=t.UPDATE_JSON=t.UPDATE_URL=t.UPDATE_SPEC=void 0;var m=n(13),v=r(m),g=n(72),y=r(g),_=n(19),b=r(_),E=n(31),S=r(E),x=n(100),C=r(x),w=n(343),j=r(w),A=n(342),R=r(A),O=n(32),P=r(O);t.updateSpec=a,t.updateResolved=o,t.updateUrl=u,t.updateJsonSpec=i,t.changeParam=l,t.clearValidateParams=s,t.changeConsumesValue=c,t.changeProducesValue=f,t.clearResponse=d,t.clearRequest=p,t.setScheme=h;var T=n(275),M=r(T),k=n(7),q=n(605),I=r(q),N=n(141),D=r(N),L=n(572),U=r(L),z=n(564),V=r(z),B=n(579),F=r(B),J=n(8),W=t.UPDATE_SPEC=\"spec_update_spec\",H=t.UPDATE_URL=\"spec_update_url\",Y=t.UPDATE_JSON=\"spec_update_json\",G=t.UPDATE_PARAM=\"spec_update_param\",Z=t.VALIDATE_PARAMS=\"spec_validate_param\",$=t.SET_RESPONSE=\"spec_set_response\",K=t.SET_REQUEST=\"spec_set_request\",X=t.SET_MUTATED_REQUEST=\"spec_set_mutated_request\",Q=t.LOG_REQUEST=\"spec_log_request\",ee=t.CLEAR_RESPONSE=\"spec_clear_response\",te=t.CLEAR_REQUEST=\"spec_clear_request\",ne=t.CLEAR_VALIDATE_PARAMS=\"spec_clear_validate_param\",re=t.UPDATE_OPERATION_META_VALUE=\"spec_update_operation_meta_value\",ae=t.UPDATE_RESOLVED=\"spec_update_resolved\",oe=t.UPDATE_RESOLVED_SUBTREE=\"spec_update_resolved_subtree\",ue=t.SET_SCHEME=\"set_scheme\",ie=function(e){return(0,U.default)(e)?e:\"\"},le=(t.parseToJson=function(e){return function(t){var n=t.specActions,r=t.specSelectors,a=t.errActions,o=r.specStr,u=null;try{e=e||o(),a.clear({source:\"parser\"}),u=M.default.safeLoad(e)}catch(e){return console.error(e),a.newSpecErr({source:\"parser\",level:\"error\",message:e.reason,line:e.mark&&e.mark.line?e.mark.line+1:void 0})}return u&&\"object\"===(void 0===u?\"undefined\":(0,P.default)(u))?n.updateJsonSpec(u):{}}},!1),se=(t.resolveSpec=function(e,t){return function(n){var r=n.specActions,a=n.specSelectors,o=n.errActions,u=n.fn,i=u.fetch,l=u.resolve,s=u.AST,c=n.getConfigs;le||(console.warn(\"specActions.resolveSpec is deprecated since v3.10.0 and will be removed in v4.0.0; use requestResolvedSubtree instead!\"),le=!0);var f=c(),d=f.modelPropertyMacro,p=f.parameterMacro,h=f.requestInterceptor,m=f.responseInterceptor;void 0===e&&(e=a.specJson()),void 0===t&&(t=a.url());var v=s.getLineNumberForPath,g=a.specStr();return l({fetch:i,spec:e,baseDoc:t,modelPropertyMacro:d,parameterMacro:p,requestInterceptor:h,responseInterceptor:m}).then(function(e){var t=e.spec,n=e.errors;if(o.clear({type:\"thrown\"}),Array.isArray(n)&&n.length>0){var a=n.map(function(e){return console.error(e),e.line=e.fullPath?v(g,e.fullPath):null,e.path=e.fullPath?e.fullPath.join(\".\"):null,e.level=\"error\",e.type=\"thrown\",e.source=\"resolver\",Object.defineProperty(e,\"message\",{enumerable:!0,value:e.message}),e});o.newThrownErrBatch(a)}return r.updateResolved(t)})}},[]),ce=(0,V.default)((0,R.default)(j.default.mark(function e(){var t,n,r,a,o,u,i,l,s,c,f,d,p,h,m;return j.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(t=se.system){e.next=4;break}return console.error(\"debResolveSubtrees: don't have a system to operate on, aborting.\"),e.abrupt(\"return\");case 4:if(n=t.errActions,r=t.errSelectors,a=t.fn,o=a.resolveSubtree,u=a.AST.getLineNumberForPath,i=t.specSelectors,l=t.specActions,o){e.next=8;break}return console.error(\"Error: Swagger-Client did not provide a `resolveSubtree` method, doing nothing.\"),e.abrupt(\"return\");case 8:return s=i.specStr(),c=t.getConfigs(),f=c.modelPropertyMacro,d=c.parameterMacro,p=c.requestInterceptor,h=c.responseInterceptor,e.prev=10,e.next=13,se.reduce(function(){var e=(0,R.default)(j.default.mark(function e(t,a){var l,c,m,v,g,y,_;return j.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t;case 2:return l=e.sent,c=l.resultMap,m=l.specWithCurrentSubtrees,e.next=7,o(m,a,{baseDoc:i.url(),modelPropertyMacro:f,parameterMacro:d,requestInterceptor:p,responseInterceptor:h});case 7:return v=e.sent,g=v.errors,y=v.spec,r.allErrors().size&&n.clear({type:\"thrown\"}),Array.isArray(g)&&g.length>0&&(_=g.map(function(e){return e.line=e.fullPath?u(s,e.fullPath):null,e.path=e.fullPath?e.fullPath.join(\".\"):null,e.level=\"error\",e.type=\"thrown\",e.source=\"resolver\",Object.defineProperty(e,\"message\",{enumerable:!0,value:e.message}),e}),n.newThrownErrBatch(_)),(0,F.default)(c,a,y),(0,F.default)(m,a,y),e.abrupt(\"return\",{resultMap:c,specWithCurrentSubtrees:m});case 15:case\"end\":return e.stop()}},e,void 0)}));return function(t,n){return e.apply(this,arguments)}}(),C.default.resolve({resultMap:(i.specResolvedSubtree([])||(0,k.Map)()).toJS(),specWithCurrentSubtrees:i.specJson().toJS()}));case 13:m=e.sent,delete se.system,se=[],e.next=21;break;case 18:e.prev=18,e.t0=e.catch(10),console.error(e.t0);case 21:l.updateResolvedSubtree([],m.resultMap);case 22:case\"end\":return e.stop()}},e,void 0,[[10,18]])})),35),fe=(t.requestResolvedSubtree=function(e){return function(t){se.push(e),se.system=t,ce()}},t.updateResolvedSubtree=function(e,t){return{type:oe,payload:{path:e,value:t}}},t.invalidateResolvedSubtreeCache=function(){return{type:oe,payload:{path:[],value:(0,k.Map)()}}},t.validateParams=function(e,t){return{type:Z,payload:{pathMethod:e,isOAS3:t}}},t.setResponse=function(e,t,n){return{payload:{path:e,method:t,res:n},type:$}},t.setRequest=function(e,t,n){return{payload:{path:e,method:t,req:n},type:K}},t.setMutatedRequest=function(e,t,n){return{payload:{path:e,method:t,req:n},type:X}},t.logRequest=function(e){return{payload:e,type:Q}},t.executeRequest=function(e){return function(t){var n=t.fn,r=t.specActions,a=t.specSelectors,o=t.getConfigs,u=t.oas3Selectors,i=e.pathName,l=e.method,s=e.operation,c=o(),f=c.requestInterceptor,d=c.responseInterceptor,p=s.toJS();if(e.contextUrl=(0,I.default)(a.url()).toString(),p&&p.operationId?e.operationId=p.operationId:p&&i&&l&&(e.operationId=n.opId(p,i,l)),a.isOAS3()){var h=i+\":\"+l;e.server=u.selectedServer(h)||u.selectedServer();var m=u.serverVariables({server:e.server,namespace:h}).toJS(),v=u.serverVariables({server:e.server}).toJS();e.serverVariables=(0,S.default)(m).length?m:v,e.requestContentType=u.requestContentType(i,l),e.responseContentType=u.responseContentType(i,l)||\"*/*\";var g=u.requestBodyValue(i,l);(0,J.isJSONObject)(g)?e.requestBody=JSON.parse(g):e.requestBody=g}var y=(0,b.default)({},e);y=n.buildRequest(y),r.setRequest(e.pathName,e.method,y);var _=function(t){var n=f.apply(this,[t]),a=(0,b.default)({},n);return r.setMutatedRequest(e.pathName,e.method,a),n};e.requestInterceptor=_,e.responseInterceptor=d;var E=Date.now();return n.execute(e).then(function(t){t.duration=Date.now()-E,r.setResponse(e.pathName,e.method,t)}).catch(function(t){return r.setResponse(e.pathName,e.method,{error:!0,err:(0,D.default)(t)})})}},function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.path,n=e.method,r=(0,y.default)(e,[\"path\",\"method\"]);return function(e){var a=e.fn.fetch,o=e.specSelectors,u=e.specActions,i=o.specJsonWithResolvedSubtrees().toJS(),l=o.operationScheme(t,n),s=o.contentTypeValues([t,n]).toJS(),c=s.requestContentType,f=s.responseContentType,d=/xml/i.test(c),p=o.parameterValues([t,n],d).toJS();return u.executeRequest((0,v.default)({},r,{fetch:a,spec:i,pathName:t,method:n,parameters:p,requestContentType:c,scheme:l,responseContentType:f}))}});t.execute=fe},function(e,t,n){\"use strict\";function r(e,t,n,r){return t=t||[],e.getIn([\"meta\",\"paths\"].concat((0,d.default)(t),[\"parameters\"]),(0,m.fromJS)([])).find(function(e){return m.Map.isMap(e)&&e.get(\"name\")===n&&e.get(\"in\")===r})||(0,m.Map)()}function a(e,t,n){return t=t||[],I.apply(void 0,[e].concat((0,d.default)(t))).get(\"parameters\",(0,m.List)()).reduce(function(e,t){var r=n&&\"body\"===t.get(\"in\")?t.get(\"value_xml\"):t.get(\"value\");return e.set(t.get(\"in\")+\".\"+t.get(\"name\"),r)},(0,m.fromJS)({}))}function o(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"\";if(m.List.isList(e))return e.some(function(e){return m.Map.isMap(e)&&e.get(\"in\")===t})}function u(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"\";if(m.List.isList(e))return e.some(function(e){return m.Map.isMap(e)&&e.get(\"type\")===t})}function i(e,t){t=t||[];var n=b(e).getIn([\"paths\"].concat((0,d.default)(t)),(0,m.fromJS)({})),r=e.getIn([\"meta\",\"paths\"].concat((0,d.default)(t)),(0,m.fromJS)({})),a=s(e,t),o=n.get(\"parameters\")||new m.List,i=r.get(\"consumes_value\")?r.get(\"consumes_value\"):u(o,\"file\")?\"multipart/form-data\":u(o,\"formData\")?\"application/x-www-form-urlencoded\":void 0;return(0,m.fromJS)({requestContentType:i,responseContentType:a})}function l(e,t){return t=t||[],b(e).getIn([\"paths\"].concat((0,d.default)(t),[\"consumes\"]),(0,m.fromJS)({}))}function s(e,t){t=t||[];var n=b(e).getIn([\"paths\"].concat((0,d.default)(t)),null);if(null!==n){var r=e.getIn([\"meta\",\"paths\"].concat((0,d.default)(t),[\"produces_value\"]),null),a=n.getIn([\"produces\",0],null);return r||a||\"application/json\"}}function c(e){return m.Map.isMap(e)?e:new m.Map}Object.defineProperty(t,\"__esModule\",{value:!0}),t.validateBeforeExecute=t.canExecuteScheme=t.operationScheme=t.hasHost=t.parameterWithMeta=t.operationWithMeta=t.allowTryItOutFor=t.mutatedRequestFor=t.requestFor=t.responseFor=t.mutatedRequests=t.requests=t.responses=t.taggedOperations=t.operationsWithTags=t.tagDetails=t.tags=t.operationsWithRootInherited=t.schemes=t.host=t.basePath=t.definitions=t.findDefinition=t.securityDefinitions=t.security=t.produces=t.consumes=t.operations=t.paths=t.semver=t.version=t.externalDocs=t.info=t.isOAS3=t.spec=t.specJsonWithResolvedSubtrees=t.specResolvedSubtree=t.specResolved=t.specJson=t.specSource=t.specStr=t.url=t.lastError=void 0;var f=n(53),d=function(e){return e&&e.__esModule?e:{default:e}}(f);t.getParameter=r,t.parameterValues=a,t.parametersIncludeIn=o,t.parametersIncludeType=u,t.contentTypeValues=i,t.operationConsumes=l,t.currentProducesFor=s;var p=n(36),h=n(8),m=n(7),v=[\"get\",\"put\",\"post\",\"delete\",\"options\",\"head\",\"patch\",\"trace\"],g=function(e){return e||(0,m.Map)()},y=(t.lastError=(0,p.createSelector)(g,function(e){return e.get(\"lastError\")}),t.url=(0,p.createSelector)(g,function(e){return e.get(\"url\")}),t.specStr=(0,p.createSelector)(g,function(e){return e.get(\"spec\")||\"\"}),t.specSource=(0,p.createSelector)(g,function(e){return e.get(\"specSource\")||\"not-editor\"}),t.specJson=(0,p.createSelector)(g,function(e){return e.get(\"json\",(0,m.Map)())})),_=(t.specResolved=(0,p.createSelector)(g,function(e){return e.get(\"resolved\",(0,m.Map)())}),t.specResolvedSubtree=function(e,t){return e.getIn([\"resolvedSubtrees\"].concat((0,d.default)(t)),void 0)},function e(t,n){return m.Map.isMap(t)&&m.Map.isMap(n)?n.get(\"$$ref\")?n:(0,m.Map)().mergeWith(e,t,n):n}),b=t.specJsonWithResolvedSubtrees=(0,p.createSelector)(g,function(e){return(0,m.Map)().mergeWith(_,e.get(\"json\"),e.get(\"resolvedSubtrees\"))}),E=t.spec=function(e){return y(e)},S=(t.isOAS3=(0,p.createSelector)(E,function(){return!1}),t.info=(0,p.createSelector)(E,function(e){return c(e&&e.get(\"info\"))})),x=(t.externalDocs=(0,p.createSelector)(E,function(e){return c(e&&e.get(\"externalDocs\"))}),t.version=(0,p.createSelector)(S,function(e){return e&&e.get(\"version\")})),C=(t.semver=(0,p.createSelector)(x,function(e){return/v?([0-9]*)\\.([0-9]*)\\.([0-9]*)/i.exec(e).slice(1)}),t.paths=(0,p.createSelector)(E,function(e){return e.get(\"paths\")})),w=t.operations=(0,p.createSelector)(C,function(e){if(!e||e.size<1)return(0,m.List)();var t=(0,m.List)();return e&&e.forEach?(e.forEach(function(e,n){if(!e||!e.forEach)return{};e.forEach(function(e,r){v.indexOf(r)<0||(t=t.push((0,m.fromJS)({path:n,method:r,operation:e,id:r+\"-\"+n})))})}),t):(0,m.List)()}),j=t.consumes=(0,p.createSelector)(E,function(e){return(0,m.Set)(e.get(\"consumes\"))}),A=t.produces=(0,p.createSelector)(E,function(e){return(0,m.Set)(e.get(\"produces\"))}),R=(t.security=(0,p.createSelector)(E,function(e){return e.get(\"security\",(0,m.List)())}),t.securityDefinitions=(0,p.createSelector)(E,function(e){return e.get(\"securityDefinitions\")}),t.findDefinition=function(e,t){var n=e.getIn([\"resolvedSubtrees\",\"definitions\",t],null),r=e.getIn([\"json\",\"definitions\",t],null);return n||r||null},t.definitions=(0,p.createSelector)(E,function(e){return e.get(\"definitions\")||(0,m.Map)()}),t.basePath=(0,p.createSelector)(E,function(e){return e.get(\"basePath\")}),t.host=(0,p.createSelector)(E,function(e){return e.get(\"host\")}),t.schemes=(0,p.createSelector)(E,function(e){return e.get(\"schemes\",(0,m.Map)())}),t.operationsWithRootInherited=(0,p.createSelector)(w,j,A,function(e,t,n){return e.map(function(e){return e.update(\"operation\",function(e){if(e){if(!m.Map.isMap(e))return;return e.withMutations(function(e){return e.get(\"consumes\")||e.update(\"consumes\",function(e){return(0,m.Set)(e).merge(t)}),e.get(\"produces\")||e.update(\"produces\",function(e){return(0,m.Set)(e).merge(n)}),e})}return(0,m.Map)()})})})),O=t.tags=(0,p.createSelector)(E,function(e){return e.get(\"tags\",(0,m.List)())}),P=t.tagDetails=function(e,t){return(O(e)||(0,m.List)()).filter(m.Map.isMap).find(function(e){return e.get(\"name\")===t},(0,m.Map)())},T=t.operationsWithTags=(0,p.createSelector)(R,O,function(e,t){return e.reduce(function(e,t){var n=(0,m.Set)(t.getIn([\"operation\",\"tags\"]));return n.count()<1?e.update(\"default\",(0,m.List)(),function(e){return e.push(t)}):n.reduce(function(e,n){return e.update(n,(0,m.List)(),function(e){return e.push(t)})},e)},t.reduce(function(e,t){return e.set(t.get(\"name\"),(0,m.List)())},(0,m.OrderedMap)()))}),M=(t.taggedOperations=function(e){return function(t){var n=t.getConfigs,r=n(),a=r.tagsSorter,o=r.operationsSorter;return T(e).sortBy(function(e,t){return t},function(e,t){var n=\"function\"==typeof a?a:h.sorters.tagsSorter[a];return n?n(e,t):null}).map(function(t,n){var r=\"function\"==typeof o?o:h.sorters.operationsSorter[o],a=r?t.sort(r):t;return(0,m.Map)({tagDetails:P(e,n),operations:a})})}},t.responses=(0,p.createSelector)(g,function(e){return e.get(\"responses\",(0,m.Map)())})),k=t.requests=(0,p.createSelector)(g,function(e){return e.get(\"requests\",(0,m.Map)())}),q=t.mutatedRequests=(0,p.createSelector)(g,function(e){return e.get(\"mutatedRequests\",(0,m.Map)())}),I=(t.responseFor=function(e,t,n){return M(e).getIn([t,n],null)},t.requestFor=function(e,t,n){return k(e).getIn([t,n],null)},t.mutatedRequestFor=function(e,t,n){return q(e).getIn([t,n],null)},t.allowTryItOutFor=function(){return!0},t.operationWithMeta=function(e,t,n){var r=b(e).getIn([\"paths\",t,n],(0,m.Map)()),a=e.getIn([\"meta\",\"paths\",t,n],(0,m.Map)()),o=r.get(\"parameters\",(0,m.List)()).map(function(e){return(0,m.Map)().merge(e,a.getIn([\"parameters\",e.get(\"name\")+\".\"+e.get(\"in\")]))});return(0,m.Map)().merge(r,a).set(\"parameters\",o)}),N=(t.parameterWithMeta=function(e,t,n,r){var a=b(e).getIn([\"paths\"].concat((0,d.default)(t),[\"parameters\"]),(0,m.Map)()),o=e.getIn([\"meta\",\"paths\"].concat((0,d.default)(t),[\"parameters\"]),(0,m.Map)());return a.map(function(e){return(0,m.Map)().merge(e,o.get(e.get(\"name\")+\".\"+e.get(\"in\")))}).find(function(e){return e.get(\"in\")===r&&e.get(\"name\")===n},(0,m.Map)())},t.hasHost=(0,p.createSelector)(E,function(e){var t=e.get(\"host\");return\"string\"==typeof t&&t.length>0&&\"/\"!==t[0]}),t.operationScheme=function(e,t,n){var r=e.get(\"url\"),a=r.match(/^([a-z][a-z0-9+\\-.]*):/),o=Array.isArray(a)?a[1]:null;return e.getIn([\"scheme\",t,n])||e.getIn([\"scheme\",\"_defaultScheme\"])||o||\"\"});t.canExecuteScheme=function(e,t,n){return[\"http\",\"https\"].indexOf(N(e,t,n))>-1},t.validateBeforeExecute=function(e,t){t=t||[];var n=e.getIn([\"meta\",\"paths\"].concat((0,d.default)(t),[\"parameters\"]),(0,m.fromJS)([])),r=!0;return n.forEach(function(e){var t=e.get(\"errors\");t&&t.count()&&(r=!1)}),r}},function(e,t,n){e.exports={default:n(357),__esModule:!0}},function(e,t,n){var r=n(54),a=n(14)(\"toStringTag\"),o=\"Arguments\"==r(function(){return arguments}()),u=function(e,t){try{return e[t]}catch(e){}};e.exports=function(e){var t,n,i;return void 0===e?\"Undefined\":null===e?\"Null\":\"string\"==typeof(n=u(t=Object(e),a))?n:o?r(t):\"Object\"==(i=r(t))&&\"function\"==typeof t.callee?\"Arguments\":i}},function(e,t){e.exports=function(e){if(void 0==e)throw TypeError(\"Can't call method on  \"+e);return e}},function(e,t,n){var r=n(34),a=n(16).document,o=r(a)&&r(a.createElement);e.exports=function(e){return o?a.createElement(e):{}}},function(e,t){e.exports=\"constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf\".split(\",\")},function(e,t,n){\"use strict\";function r(e){var t,n;this.promise=new e(function(e,r){if(void 0!==t||void 0!==n)throw TypeError(\"Bad Promise constructor\");t=e,n=r}),this.resolve=a(t),this.reject=a(n)}var a=n(73);e.exports.f=function(e){return new r(e)}},function(e,t,n){var r=n(27),a=n(373),o=n(104),u=n(108)(\"IE_PROTO\"),i=function(){},l=function(){var e,t=n(103)(\"iframe\"),r=o.length;for(t.style.display=\"none\",n(207).appendChild(t),t.src=\"javascript:\",e=t.contentWindow.document,e.open(),e.write(\"<script>document.F=Object<\\/script>\"),e.close(),l=e.F;r--;)delete l.prototype[o[r]];return l()};e.exports=Object.create||function(e,t){var n;return null!==e?(i.prototype=r(e),n=new i,i.prototype=null,n[u]=e):n=l(),void 0===t?n:a(n,t)}},function(e,t){t.f=Object.getOwnPropertySymbols},function(e,t,n){var r=n(109)(\"keys\"),a=n(77);e.exports=function(e){return r[e]||(r[e]=a(e))}},function(e,t,n){var r=n(16),a=r[\"__core-js_shared__\"]||(r[\"__core-js_shared__\"]={});e.exports=function(e){return a[e]||(a[e]={})}},function(e,t){var n=Math.ceil,r=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?r:n)(e)}},function(e,t,n){var r=n(110),a=Math.min;e.exports=function(e){return e>0?a(r(e),9007199254740991):0}},function(e,t,n){var r=n(34);e.exports=function(e,t){if(!r(e))return e;var n,a;if(t&&\"function\"==typeof(n=e.toString)&&!r(a=n.call(e)))return a;if(\"function\"==typeof(n=e.valueOf)&&!r(a=n.call(e)))return a;if(!t&&\"function\"==typeof(n=e.toString)&&!r(a=n.call(e)))return a;throw TypeError(\"Can't convert object to primitive value\")}},function(e,t,n){var r=n(16),a=n(10),o=n(74),u=n(114),i=n(29).f;e.exports=function(e){var t=a.Symbol||(a.Symbol=o?{}:r.Symbol||{});\"_\"==e.charAt(0)||e in t||i(t,e,{value:u.f(e)})}},function(e,t,n){t.f=n(14)},function(e,t,n){var r=n(101),a=n(14)(\"iterator\"),o=n(46);e.exports=n(10).getIteratorMethod=function(e){if(void 0!=e)return e[a]||e[\"@@iterator\"]||o[r(e)]}},function(e,t,n){var r=n(59),a=n(12)(\"toStringTag\"),o=\"Arguments\"==r(function(){return arguments}()),u=function(e,t){try{return e[t]}catch(e){}};e.exports=function(e){var t,n,i;return void 0===e?\"Undefined\":null===e?\"Null\":\"string\"==typeof(n=u(t=Object(e),a))?n:o?r(t):\"Object\"==(i=r(t))&&\"function\"==typeof t.callee?\"Arguments\":i}},function(e,t,n){var r=n(48),a=n(21).document,o=r(a)&&r(a.createElement);e.exports=function(e){return o?a.createElement(e):{}}},function(e,t,n){var r=n(12)(\"match\");e.exports=function(e){var t=/./;try{\"/./\"[e](t)}catch(n){try{return t[r]=!1,!\"/./\"[e](t)}catch(e){}}return!0}},function(e,t,n){\"use strict\";function r(e){var t,n;this.promise=new e(function(e,r){if(void 0!==t||void 0!==n)throw TypeError(\"Bad Promise constructor\");t=e,n=r}),this.resolve=a(t),this.reject=a(n)}var a=n(79);e.exports.f=function(e){return new r(e)}},function(e,t,n){var r=n(82).f,a=n(62),o=n(12)(\"toStringTag\");e.exports=function(e,t,n){e&&!a(e=n?e:e.prototype,o)&&r(e,o,{configurable:!0,value:t})}},function(e,t,n){var r=n(234)(\"keys\"),a=n(123);e.exports=function(e){return r[e]||(r[e]=a(e))}},function(e,t,n){var r=n(227),a=n(35);e.exports=function(e,t,n){if(r(t))throw TypeError(\"String#\"+n+\" doesn't accept regex!\");return String(a(e))}},function(e,t){var n=0,r=Math.random();e.exports=function(e){return\"Symbol(\".concat(void 0===e?\"\":e,\")_\",(++n+r).toString(36))}},function(e,t,n){var r=n(43),a=n(25),o=r(a,\"Map\");e.exports=o},function(e,t,n){function r(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}var a=n(535),o=n(536),u=n(537),i=n(538),l=n(539);r.prototype.clear=a,r.prototype.delete=o,r.prototype.get=u,r.prototype.has=i,r.prototype.set=l,e.exports=r},function(e,t,n){function r(e){var t=this.__data__=new a(e);this.size=t.size}var a=n(85),o=n(552),u=n(553),i=n(554),l=n(555),s=n(556);r.prototype.clear=o,r.prototype.delete=u,r.prototype.get=i,r.prototype.has=l,r.prototype.set=s,e.exports=r},function(e,t){function n(e,t){for(var n=-1,r=t.length,a=e.length;++n<r;)e[a+n]=t[n];return e}e.exports=n},function(e,t,n){function r(e,t,n){var r=e[t];i.call(e,t)&&o(r,n)&&(void 0!==n||t in e)||a(e,t,n)}var a=n(245),o=n(67),u=Object.prototype,i=u.hasOwnProperty;e.exports=r},function(e,t,n){function r(e,t){t=a(t,e);for(var n=0,r=t.length;null!=e&&n<r;)e=e[o(t[n++])];return n&&n==r?e:void 0}var a=n(65),o=n(51);e.exports=r},function(e,t){function n(e){return function(t){return e(t)}}e.exports=n},function(e,t,n){function r(e){var t=new e.constructor(e.byteLength);return new a(t).set(new a(e)),t}var a=n(240);e.exports=r},function(e,t,n){var r=n(260),a=r(Object.getPrototypeOf,Object);e.exports=a},function(e,t,n){var r=n(460),a=n(269),o=Object.prototype,u=o.propertyIsEnumerable,i=Object.getOwnPropertySymbols,l=i?function(e){return null==e?[]:(e=Object(e),r(i(e),function(t){return u.call(e,t)}))}:a;e.exports=l},function(e,t,n){function r(e,t){if(a(e))return!1;var n=typeof e;return!(\"number\"!=n&&\"symbol\"!=n&&\"boolean\"!=n&&null!=e&&!o(e))||(i.test(e)||!u.test(e)||null!=t&&e in Object(t))}var a=n(15),o=n(92),u=/\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,i=/^\\w*$/;e.exports=r},function(e,t){function n(e){var t=e&&e.constructor;return e===(\"function\"==typeof t&&t.prototype||r)}var r=Object.prototype;e.exports=n},function(e,t,n){(function(e){var r=n(253),a=\"object\"==typeof t&&t&&!t.nodeType&&t,o=a&&\"object\"==typeof e&&e&&!e.nodeType&&e,u=o&&o.exports===a,i=u&&r.process,l=function(){try{return i&&i.binding&&i.binding(\"util\")}catch(e){}}();e.exports=l}).call(t,n(140)(e))},function(e,t,n){var r=n(472),a=n(30),o=Object.prototype,u=o.hasOwnProperty,i=o.propertyIsEnumerable,l=r(function(){return arguments}())?r:function(e){return a(e)&&u.call(e,\"callee\")&&!i.call(e,\"callee\")};e.exports=l},function(e,t,n){(function(e){var r=n(25),a=n(581),o=\"object\"==typeof t&&t&&!t.nodeType&&t,u=o&&\"object\"==typeof e&&e&&!e.nodeType&&e,i=u&&u.exports===o,l=i?r.Buffer:void 0,s=l?l.isBuffer:void 0,c=s||a;e.exports=c}).call(t,n(140)(e))},function(e,t){function n(e){return\"number\"==typeof e&&e>-1&&e%1==0&&e<=r}var r=9007199254740991;e.exports=n},function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,\"loaded\",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,\"id\",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},function(e,t){e.exports=require(\"serialize-error\")},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function a(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return t.filter(function(e){return!!e}).join(\" \").trim()}Object.defineProperty(t,\"__esModule\",{value:!0}),t.Collapse=t.Link=t.Select=t.Input=t.TextArea=t.Button=t.Row=t.Col=t.Container=void 0;var o=n(13),u=r(o),i=n(72),l=r(i),s=n(4),c=r(s),f=n(2),d=r(f),p=n(3),h=r(p),m=n(6),v=r(m),g=n(5),y=r(g),_=n(0),b=r(_),E=n(1),S=r(E),x=n(276);(t.Container=function(e){function t(){return(0,d.default)(this,t),(0,v.default)(this,(t.__proto__||(0,c.default)(t)).apply(this,arguments))}return(0,y.default)(t,e),(0,h.default)(t,[{key:\"render\",value:function(){var e=this.props,t=e.fullscreen,n=e.full,r=(0,l.default)(e,[\"fullscreen\",\"full\"]);if(t)return b.default.createElement(\"section\",r);var o=\"swagger-container\"+(n?\"-full\":\"\");return b.default.createElement(\"section\",(0,u.default)({},r,{className:a(r.className,o)}))}}]),t}(b.default.Component)).propTypes={fullscreen:S.default.bool,full:S.default.bool,className:S.default.string};var C={mobile:\"\",tablet:\"-tablet\",desktop:\"-desktop\",large:\"-hd\"};(t.Col=function(e){function t(){return(0,d.default)(this,t),(0,v.default)(this,(t.__proto__||(0,c.default)(t)).apply(this,arguments))}return(0,y.default)(t,e),(0,h.default)(t,[{key:\"render\",value:function(){var e=this.props,t=e.hide,n=e.keepContents,r=(e.mobile,e.tablet,e.desktop,e.large,(0,l.default)(e,[\"hide\",\"keepContents\",\"mobile\",\"tablet\",\"desktop\",\"large\"]));if(t&&!n)return b.default.createElement(\"span\",null);var o=[];for(var i in C)if(C.hasOwnProperty(i)){var s=C[i];if(i in this.props){var c=this.props[i];if(c<1){o.push(\"none\"+s);continue}o.push(\"block\"+s),o.push(\"col-\"+c+s)}}var f=a.apply(void 0,[r.className].concat(o));return b.default.createElement(\"section\",(0,u.default)({},r,{style:{display:t?\"none\":null},className:f}))}}]),t}(b.default.Component)).propTypes={hide:S.default.bool,keepContents:S.default.bool,mobile:S.default.number,tablet:S.default.number,desktop:S.default.number,large:S.default.number,className:S.default.string},(t.Row=function(e){function t(){return(0,d.default)(this,t),(0,v.default)(this,(t.__proto__||(0,c.default)(t)).apply(this,arguments))}return(0,y.default)(t,e),(0,h.default)(t,[{key:\"render\",value:function(){return b.default.createElement(\"div\",(0,u.default)({},this.props,{className:a(this.props.className,\"wrapper\")}))}}]),t}(b.default.Component)).propTypes={className:S.default.string};var w=t.Button=function(e){function t(){return(0,d.default)(this,t),(0,v.default)(this,(t.__proto__||(0,c.default)(t)).apply(this,arguments))}return(0,y.default)(t,e),(0,h.default)(t,[{key:\"render\",value:function(){return b.default.createElement(\"button\",(0,u.default)({},this.props,{className:a(this.props.className,\"button\")}))}}]),t}(b.default.Component);w.propTypes={className:S.default.string},w.defaultProps={className:\"\"};var j=(t.TextArea=function(e){return b.default.createElement(\"textarea\",e)},t.Input=function(e){return b.default.createElement(\"input\",e)},t.Select=function(e){function t(e,n){(0,d.default)(this,t);var r=(0,v.default)(this,(t.__proto__||(0,c.default)(t)).call(this,e,n));A.call(r);var a=void 0;return a=e.value?e.value:e.multiple?[\"\"]:\"\",r.state={value:a},r}return(0,y.default)(t,e),(0,h.default)(t,[{key:\"render\",value:function(){var e=this.props,t=e.allowedValues,n=e.multiple,r=e.allowEmptyValue,a=this.state.value.toJS?this.state.value.toJS():this.state.value;return b.default.createElement(\"select\",{className:this.props.className,multiple:n,value:a,onChange:this.onChange},r?b.default.createElement(\"option\",{value:\"\"},\"--\"):null,t.map(function(e,t){return b.default.createElement(\"option\",{key:t,value:String(e)},String(e))}))}}]),t}(b.default.Component));j.propTypes={allowedValues:S.default.array,value:S.default.any,onChange:S.default.func,multiple:S.default.bool,allowEmptyValue:S.default.bool,className:S.default.string},j.defaultProps={multiple:!1,allowEmptyValue:!0};var A=function(){var e=this;this.onChange=function(t){var n=e.props,r=n.onChange,a=n.multiple,o=[].slice.call(t.target.options),u=void 0;u=a?o.filter(function(e){return e.selected}).map(function(e){return e.value}):t.target.value,e.setState({value:u}),r&&r(u)}};(t.Link=function(e){function t(){return(0,d.default)(this,t),(0,v.default)(this,(t.__proto__||(0,c.default)(t)).apply(this,arguments))}return(0,y.default)(t,e),(0,h.default)(t,[{key:\"render\",value:function(){return b.default.createElement(\"a\",(0,u.default)({},this.props,{className:a(this.props.className,\"link\")}))}}]),t}(b.default.Component)).propTypes={className:S.default.string};var R=function(e){var t=e.children;return b.default.createElement(\"div\",{style:{height:\"auto\",border:\"none\",margin:0,padding:0}},\" \",t,\" \")};R.propTypes={children:S.default.node};var O=t.Collapse=function(e){function t(){return(0,d.default)(this,t),(0,v.default)(this,(t.__proto__||(0,c.default)(t)).apply(this,arguments))}return(0,y.default)(t,e),(0,h.default)(t,[{key:\"renderNotAnimated\",value:function(){return this.props.isOpened?b.default.createElement(R,null,this.props.children):b.default.createElement(\"noscript\",null)}},{key:\"render\",value:function(){var e=this.props,t=e.animated,n=e.isOpened,r=e.children;return t?(r=n?r:null,b.default.createElement(x.Collapse,{isOpened:n},b.default.createElement(R,null,r))):this.renderNotAnimated()}}]),t}(b.default.Component);O.propTypes={isOpened:S.default.bool,children:S.default.node.isRequired,animated:S.default.bool},O.defaultProps={isOpened:!1,animated:!1}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var a=n(13),o=r(a),u=n(4),i=r(u),l=n(2),s=r(l),c=n(3),f=r(c),d=n(6),p=r(d),h=n(5),m=r(h),v=n(0),g=r(v),y=n(596),_=r(y),b=n(9),E=r(b),S=n(1),x=r(S),C=function(e){function t(){var e,n,r,a;(0,s.default)(this,t);for(var o=arguments.length,u=Array(o),l=0;l<o;l++)u[l]=arguments[l];return n=r=(0,p.default)(this,(e=t.__proto__||(0,i.default)(t)).call.apply(e,[this].concat(u))),r.getModelName=function(e){return-1!==e.indexOf(\"#/definitions/\")?e.replace(/^.*#\\/definitions\\//,\"\"):-1!==e.indexOf(\"#/components/schemas/\")?e.replace(\"#/components/schemas/\",\"\"):void 0},r.getRefSchema=function(e){return r.props.specSelectors.findDefinition(e)},a=n,(0,p.default)(r,a)}return(0,m.default)(t,e),(0,f.default)(t,[{key:\"render\",value:function(){var e=this.props,t=e.getComponent,r=e.getConfigs,a=e.specSelectors,u=e.schema,i=e.required,l=e.name,s=e.isRef,c=e.specPath,f=t(\"ObjectModel\"),d=t(\"ArrayModel\"),p=t(\"PrimitiveModel\"),h=\"object\",m=u&&u.get(\"$$ref\");if(!l&&m&&(l=this.getModelName(m)),!u&&m&&(u=this.getRefSchema(l)),!u)return g.default.createElement(\"span\",{className:\"model model-title\"},g.default.createElement(\"span\",{className:\"model-title__text\"},l),g.default.createElement(\"img\",{src:n(272),height:\"20px\",width:\"20px\",style:{marginLeft:\"1em\",position:\"relative\",bottom:\"0px\"}}));var v=a.isOAS3()&&u.get(\"deprecated\");switch(s=void 0!==s?s:!!m,h=u&&u.get(\"type\")||h){case\"object\":return g.default.createElement(f,(0,o.default)({className:\"object\"},this.props,{specPath:c,getConfigs:r,schema:u,name:l,deprecated:v,isRef:s}));case\"array\":return g.default.createElement(d,(0,o.default)({className:\"array\"},this.props,{getConfigs:r,schema:u,name:l,deprecated:v,required:i}));case\"string\":case\"number\":case\"integer\":case\"boolean\":default:return g.default.createElement(p,(0,o.default)({},this.props,{getComponent:t,getConfigs:r,schema:u,name:l,deprecated:v,required:i}))}}}]),t}(_.default);C.propTypes={schema:E.default.orderedMap.isRequired,getComponent:x.default.func.isRequired,getConfigs:x.default.func.isRequired,specSelectors:x.default.object.isRequired,name:x.default.string,isRef:x.default.bool,required:x.default.bool,expandDepth:x.default.number,depth:x.default.number,specPath:E.default.list.isRequired},t.default=C},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function a(e){var t=e.source;if(v(t))return s.default.createElement(\"div\",{className:\"markdown\"},t);var n=new p.default({html:!0,typographer:!0,breaks:!0,linkify:!0,linkTarget:\"_blank\"}).render(t),r=o(n);return t&&n&&r?s.default.createElement(\"div\",{className:\"markdown\",dangerouslySetInnerHTML:{__html:r}}):null}function o(e){return(0,m.default)(e,g)}Object.defineProperty(t,\"__esModule\",{value:!0});var u=n(13),i=r(u);t.sanitizer=o;var l=n(0),s=r(l),c=n(1),f=r(c),d=n(603),p=r(d),h=n(604),m=r(h),v=function(e){return/^[A-Z\\s0-9!?\\.]+$/gi.test(e)};a.propTypes={source:f.default.string.isRequired},t.default=a;var g={allowedTags:m.default.defaults.allowedTags.concat([\"h1\",\"h2\",\"img\",\"span\"]),allowedAttributes:(0,i.default)({},m.default.defaults.allowedAttributes,{img:m.default.defaults.allowedAttributes.img.concat([\"title\"]),td:[\"colspan\"],\"*\":[\"class\"]}),allowedSchemesByTag:{img:[\"http\",\"https\",\"data\"]},textFilter:function(e){return e.replace(/&quot;/g,'\"')}}},function(e,t,n){\"use strict\";var r=n(8),a=n(586);a.keys().forEach(function(t){if(\"./index.js\"!==t){var n=a(t);e.exports[(0,r.pascalCaseFilename)(t)]=n.default?n.default:n}})},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function a(e,t){function n(e,t,a){if(!e)return a&&a.start_mark?a.start_mark.line:0;if(t.length&&e.tag===b)for(r=0;r<e.value.length;r++){var o=e.value[r],u=o[0],i=o[1];if(u.value===t[0])return n(i,t.slice(1),e);if(u.value===t[0].replace(/\\[.*/,\"\")){var l=parseInt(t[0].match(/\\[(.*)\\]/)[1]);if(1===i.value.length&&0!==l&&l)var s=(0,g.default)(i.value[0],{value:l.toString()});else var s=i.value[l];return n(s,t.slice(1),i.value)}}if(t.length&&e.tag===E){var c=e.value[t[0]];if(c&&c.tag)return n(c,t.slice(1),e.value)}return e.tag!==b||Array.isArray(a)?e.start_mark.line+1:e.start_mark.line}if(\"string\"!=typeof e)throw new TypeError(\"yaml should be a string\");if(!(0,m.default)(t))throw new TypeError(\"path should be an array of strings\");var r=0;return n(_(e),t)}function o(e,t){function n(e,o){if(e.tag===b)for(a=0;a<e.value.length;a++){var u=e.value[a],i=u[0],l=u[1];if(i.value===t[0])return t.shift(),n(l,i)}if(e.tag===E){var s=e.value[t[0]];if(s&&s.tag)return t.shift(),n(s,o)}if(t.length)return r;var c={start:{line:e.start_mark.line,column:e.start_mark.column,pointer:e.start_mark.pointer},end:{line:e.end_mark.line,column:e.end_mark.column,pointer:e.end_mark.pointer}};return o&&(c.key_start={line:o.start_mark.line,column:o.start_mark.column,pointer:o.start_mark.pointer},c.key_end={line:o.end_mark.line,column:o.end_mark.column,pointer:o.end_mark.pointer}),c}if(\"string\"!=typeof e)throw new TypeError(\"yaml should be a string\");if(!(0,m.default)(t))throw new TypeError(\"path should be an array of strings\");var r={start:{line:-1,column:-1},end:{line:-1,column:-1}},a=0;return n(_(e))}function u(e,t){function n(e){function r(e){return e.start_mark.line===e.end_mark.line?t.line===e.start_mark.line&&e.start_mark.column<=t.column&&e.end_mark.column>=t.column:t.line===e.start_mark.line?t.column>=e.start_mark.column:t.line===e.end_mark.line?t.column<=e.end_mark.column:e.start_mark.line<t.line&&e.end_mark.line>t.line}var o=0;if(!e||-1===[b,E].indexOf(e.tag))return a;if(e.tag===b)for(o=0;o<e.value.length;o++){var u=e.value[o],i=u[0],l=u[1];if(r(i))return a;if(r(l))return a.push(i.value),n(l)}if(e.tag===E)for(o=0;o<e.value.length;o++){var s=e.value[o];if(r(s))return a.push(o.toString()),n(s)}return a}if(\"string\"!=typeof e)throw new TypeError(\"yaml should be a string\");if(\"object\"!==(void 0===t?\"undefined\":(0,f.default)(t))||\"number\"!=typeof t.line||\"number\"!=typeof t.column)throw new TypeError(\"position should be an object with line and column properties\");try{var r=_(e)}catch(n){return console.error(\"Error composing AST\",n),console.error(\"Problem area:\\n\",e.split(\"\\n\").slice(t.line-5,t.line+5).join(\"\\n\")),null}var a=[];return n(r)}function i(e){return function(){for(var t=arguments.length,n=Array(t),r=0;r<t;r++)n[r]=arguments[r];return new s.default(function(t){return t(e.apply(void 0,n))})}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.getLineNumberForPathAsync=t.positionRangeForPathAsync=t.pathForPositionAsync=void 0;var l=n(100),s=r(l),c=n(32),f=r(c);t.getLineNumberForPath=a,t.positionRangeForPath=o,t.pathForPosition=u;var d=n(608),p=r(d),h=n(15),m=r(h),v=n(262),g=r(v),y=n(8),_=(0,y.memoize)(p.default.compose),b=\"tag:yaml.org,2002:map\",E=\"tag:yaml.org,2002:seq\";t.pathForPositionAsync=i(u),t.positionRangeForPathAsync=i(o),t.getLineNumberForPathAsync=i(a)},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(){return{fn:{AST:a},components:{JumpToPath:u.default}}};var r=n(146),a=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(r),o=n(148),u=function(e){return e&&e.__esModule?e:{default:e}}(o)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var a=n(4),o=r(a),u=n(2),i=r(u),l=n(3),s=r(l),c=n(6),f=r(c),d=n(5),p=r(d),h=n(0),m=r(h),v=function(e){function t(){return(0,i.default)(this,t),(0,f.default)(this,(t.__proto__||(0,o.default)(t)).apply(this,arguments))}return(0,p.default)(t,e),(0,s.default)(t,[{key:\"render\",value:function(){return null}}]),t}(m.default.Component);t.default=v},function(e,t,n){\"use strict\";function r(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function a(e){return e&&e.__esModule?e:{default:e}}function o(e,t,n,r){var a=e.authActions.authorize,o=e.specSelectors,u=o.specJson,i=o.isOAS3,s=i()?[\"components\",\"securitySchemes\"]:[\"securityDefinitions\"],c=u().getIn([].concat(s,[t]));return c?a((0,l.default)({},t,{value:{username:n,password:r},schema:c.toJS()})):null}function u(e,t,n){var r=e.authActions.authorize,a=e.specSelectors,o=a.specJson,u=a.isOAS3,i=u()?[\"components\",\"securitySchemes\"]:[\"securityDefinitions\"],s=o().getIn([].concat(i,[t]));return s?r((0,l.default)({},t,{value:n,schema:s.toJS()})):null}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(20),l=a(i);t.default=function(){return{afterLoad:function(e){this.rootInjects=this.rootInjects||{},this.rootInjects.initOAuth=e.authActions.configureAuth,this.rootInjects.preauthorizeApiKey=u.bind(null,e),this.rootInjects.preauthorizeBasic=o.bind(null,e)},statePlugins:{auth:{reducers:c.default,actions:d,selectors:h},spec:{wrapActions:v}}}},t.preauthorizeBasic=o,t.preauthorizeApiKey=u;var s=n(150),c=a(s),f=n(93),d=r(f),p=n(151),h=r(p),m=n(152),v=r(m)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var a,o=n(20),u=r(o),i=n(19),l=r(i),s=n(11),c=r(s),f=n(7),d=n(8),p=n(93);t.default=(a={},(0,u.default)(a,p.SHOW_AUTH_POPUP,function(e,t){var n=t.payload;return e.set(\"showDefinitions\",n)}),(0,u.default)(a,p.AUTHORIZE,function(e,t){var n=t.payload,r=(0,f.fromJS)(n),a=e.get(\"authorized\")||(0,f.Map)();return r.entrySeq().forEach(function(e){var t=(0,c.default)(e,2),n=t[0],r=t[1],o=r.getIn([\"schema\",\"type\"]);if(\"apiKey\"===o||\"http\"===o)a=a.set(n,r);else if(\"basic\"===o){var u=r.getIn([\"value\",\"username\"]),i=r.getIn([\"value\",\"password\"]);a=a.setIn([n,\"value\"],{username:u,header:\"Basic \"+(0,d.btoa)(u+\":\"+i)}),a=a.setIn([n,\"schema\"],r.get(\"schema\"))}}),e.set(\"authorized\",a)}),(0,u.default)(a,p.AUTHORIZE_OAUTH2,function(e,t){var n=t.payload,r=n.auth,a=n.token,o=void 0;return r.token=(0,l.default)({},a),o=(0,f.fromJS)(r),e.setIn([\"authorized\",o.get(\"name\")],o)}),(0,u.default)(a,p.LOGOUT,function(e,t){var n=t.payload,r=e.get(\"authorized\").withMutations(function(e){n.forEach(function(t){e.delete(t)})});return e.set(\"authorized\",r)}),(0,u.default)(a,p.CONFIGURE_AUTH,function(e,t){var n=t.payload;return e.set(\"configs\",n)}),a)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.getConfigs=t.isAuthorized=t.authorized=t.definitionsForRequirements=t.getDefinitionsByNames=t.definitionsToAuthorize=t.shownDefinitions=void 0;var a=n(31),o=r(a),u=n(11),i=r(u),l=n(36),s=n(7),c=function(e){return e};t.shownDefinitions=(0,l.createSelector)(c,function(e){return e.get(\"showDefinitions\")}),t.definitionsToAuthorize=(0,l.createSelector)(c,function(){return function(e){var t=e.specSelectors,n=t.securityDefinitions()||(0,s.Map)({}),r=(0,s.List)();return n.entrySeq().forEach(function(e){var t=(0,i.default)(e,2),n=t[0],a=t[1],o=(0,s.Map)();o=o.set(n,a),r=r.push(o)}),r}}),t.getDefinitionsByNames=function(e,t){return function(e){var n=e.specSelectors;console.warn(\"WARNING: getDefinitionsByNames is deprecated and will be removed in the next major version.\");var r=n.securityDefinitions(),a=(0,s.List)();return t.valueSeq().forEach(function(e){var t=(0,s.Map)();e.entrySeq().forEach(function(e){var n=(0,i.default)(e,2),a=n[0],o=n[1],u=r.get(a),l=void 0;\"oauth2\"===u.get(\"type\")&&o.size&&(l=u.get(\"scopes\"),l.keySeq().forEach(function(e){o.contains(e)||(l=l.delete(e))}),u=u.set(\"allowedScopes\",l)),t=t.set(a,u)}),a=a.push(t)}),a}},t.definitionsForRequirements=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:(0,s.List)();return function(e){return(e.authSelectors.definitionsToAuthorize()||(0,s.List)()).filter(function(e){return t.some(function(t){return t.get(e.keySeq().first())})})}},t.authorized=(0,l.createSelector)(c,function(e){return e.get(\"authorized\")||(0,s.Map)()}),t.isAuthorized=function(e,t){return function(e){var n=e.authSelectors,r=n.authorized();return s.List.isList(t)?!!t.toJS().filter(function(e){return-1===(0,o.default)(e).map(function(e){return!!r.get(e)}).indexOf(!1)}).length:null}},t.getConfigs=(0,l.createSelector)(c,function(e){return e.get(\"configs\")})},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.execute=void 0;var r=n(13),a=function(e){return e&&e.__esModule?e:{default:e}}(r);t.execute=function(e,t){var n=t.authSelectors,r=t.specSelectors;return function(t){var o=t.path,u=t.method,i=t.operation,l=t.extras,s={authorized:n.authorized()&&n.authorized().toJS(),definitions:r.securityDefinitions()&&r.securityDefinitions().toJS(),specSecurity:r.security()&&r.security().toJS()};return e((0,a.default)({path:o,method:u,operation:i,securities:s},l))}}},function(e,t,n){\"use strict\";function r(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function a(e){return e&&e.__esModule?e:{default:e}}function o(){return{statePlugins:{spec:{actions:g,selectors:y},configs:{reducers:m.default,actions:f,selectors:p}}}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=o;var u=n(275),i=a(u),l=n(585),s=a(l),c=n(94),f=r(c),d=n(155),p=r(d),h=n(154),m=a(h),v=function(e,t){try{return i.default.safeLoad(e)}catch(e){return t&&t.errActions.newThrownErr(new Error(e)),{}}},g={downloadConfig:function(e){return function(t){return(0,t.fn.fetch)(e)}},getConfigByUrl:function(e,t){return function(n){function r(n){n instanceof Error||n.status>=400?(a.updateLoadingStatus(\"failedConfig\"),a.updateLoadingStatus(\"failedConfig\"),a.updateUrl(\"\"),console.error(n.statusText+\" \"+e),t(null)):t(v(n.text))}var a=n.specActions;if(e)return a.downloadConfig(e).then(r,r)}}},y={getLocalConfig:function(){return v(s.default)}}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r,a=n(20),o=function(e){return e&&e.__esModule?e:{default:e}}(a),u=n(7),i=n(94);t.default=(r={},(0,o.default)(r,i.UPDATE_CONFIGS,function(e,t){return e.merge((0,u.fromJS)(t.payload))}),(0,o.default)(r,i.TOGGLE_CONFIGS,function(e,t){var n=t.payload,r=e.get(n);return e.set(n,!r)}),r)},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});t.get=function(e,t){return e.getIn(Array.isArray(t)?t:[t])}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});t.setHash=function(e){return e?history.pushState(null,null,\"#\"+e):window.location.hash=\"\"}},function(e,t,n){\"use strict\";function r(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(){return{statePlugins:{spec:{wrapActions:o},layout:{wrapActions:i}}}};var a=n(159),o=r(a),u=n(158),i=r(u)},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.show=void 0;var r=n(11),a=function(e){return e&&e.__esModule?e:{default:e}}(r),o=n(156),u=n(8);t.show=function(e,t){var n=t.getConfigs;return function(){for(var t=arguments.length,r=Array(t),i=0;i<t;i++)r[i]=arguments[i];e.apply(void 0,r);var l=n().deepLinking;if(l&&\"false\"!==l)try{var s=r[0],c=r[1],f=(0,a.default)(s,1),d=f[0];if(\"operations-tag\"===d||\"operations\"===d){if(!c)return(0,o.setHash)(\"/\");if(\"operations\"===d){var p=(0,a.default)(s,3),h=p[1],m=p[2];(0,o.setHash)(\"/\"+(0,u.createDeepLinkPath)(h)+\"/\"+(0,u.createDeepLinkPath)(m))}if(\"operations-tag\"===d){var v=(0,a.default)(s,2),g=v[1];(0,o.setHash)(\"/\"+(0,u.createDeepLinkPath)(g))}}}catch(e){console.error(e)}}}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.updateJsonSpec=void 0;var a=n(11),o=r(a),u=n(609),i=r(u),l=n(8),s=!1;t.updateJsonSpec=function(e,t){var n=t.layoutActions,r=t.getConfigs;return function(){e.apply(void 0,arguments);var t=r().deepLinking;if(t&&\"false\"!==t){if(window.location.hash&&!s){var a=window.location.hash.slice(1);\"!\"===a[0]&&(a=a.slice(1)),\"/\"===a[0]&&(a=a.slice(1));var u=a.split(\"/\"),c=(0,o.default)(u,2),f=c[0],d=c[1],p=document.querySelector(\".swagger-ui\"),h=i.default.createScroller(p),m=void 0;f&&d?(n.show([\"operations-tag\",f],!0),n.show([\"operations\",f,d],!0),m=document.getElementById(\"operations-\"+(0,l.escapeDeepLinkPath)(f)+\"-\"+(0,l.escapeDeepLinkPath)(d))):f&&(n.show([\"operations-tag\",f],!0),m=document.getElementById(\"operations-tag-\"+(0,l.escapeDeepLinkPath)(f))),m&&(h.to(m),setTimeout(function(){0===i.default.getY()&&i.default.to(m)},50))}s=!0}}}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function a(e){var t=e.fn;return{statePlugins:{spec:{actions:{download:function(e){return function(n){function r(t){if(t instanceof Error||t.status>=400)return i.updateLoadingStatus(\"failed\"),o.newThrownErr((0,l.default)(new Error((t.message||t.statusText)+\" \"+e),{source:\"fetch\"})),void(!t.status&&t instanceof Error&&a());i.updateLoadingStatus(\"success\"),i.updateSpec(t.text),u.url()!==e&&i.updateUrl(e)}function a(){try{var t=void 0;if(\"URL\"in d.default?t=new URL(e):(t=document.createElement(\"a\"),t.href=e),\"https:\"!==t.protocol&&\"https:\"===d.default.location.protocol){var n=(0,l.default)(new Error(\"Possible mixed-content issue? The page was loaded over https:// but a \"+t.protocol+\"// URL was specified. Check that you are not attempting to load mixed content.\"),{source:\"fetch\"});return void o.newThrownErr(n)}if(t.origin!==d.default.location.origin){var r=(0,l.default)(new Error(\"Possible cross-origin (CORS) issue? The URL origin (\"+t.origin+\") does not match the page (\"+d.default.location.origin+\"). Check the server returns the correct 'Access-Control-Allow-*' headers.\"),{source:\"fetch\"});o.newThrownErr(r)}}catch(e){return}}var o=n.errActions,u=n.specSelectors,i=n.specActions,s=n.getConfigs,c=t.fetch,f=s();e=e||u.url(),i.updateLoadingStatus(\"loading\"),o.clear({source:\"fetch\"}),c({url:e,loadSpec:!0,requestInterceptor:f.requestInterceptor||function(e){return e},responseInterceptor:f.responseInterceptor||function(e){return e},credentials:\"same-origin\",headers:{Accept:\"application/json,*/*\"}}).then(r,r)}},updateLoadingStatus:function(e){var t=[null,\"loading\",\"failed\",\"success\",\"failedConfig\"];return-1===t.indexOf(e)&&console.error(\"Error: \"+e+\" is not one of \"+(0,u.default)(t)),{type:\"spec_update_loading_status\",payload:e}}},reducers:{spec_update_loading_status:function(e,t){return\"string\"==typeof t.payload?e.set(\"loadingStatus\",t.payload):e}},selectors:{loadingStatus:(0,s.createSelector)(function(e){return e||(0,c.Map)()},function(e){return e.get(\"loadingStatus\")||null})}}}}}Object.defineProperty(t,\"__esModule\",{value:!0});var o=n(26),u=r(o),i=n(19),l=r(i);t.default=a;var s=n(36),c=n(7),f=n(23),d=r(f)},function(e,t,n){\"use strict\";function r(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function a(e,t){var n={jsSpec:t.specSelectors.specJson().toJS()};return(0,u.default)(p,function(e,t){try{return t.transform(e,n).filter(function(e){return!!e})}catch(t){return console.error(\"Transformer error:\",t),e}},e).filter(function(e){return!!e}).map(function(e){return!e.get(\"line\")&&e.get(\"path\"),e})}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=a;var o=n(578),u=function(e){return e&&e.__esModule?e:{default:e}}(o),i=n(162),l=r(i),s=n(163),c=r(s),f=n(164),d=r(f),p=[l,c,d]},function(e,t,n){\"use strict\";function r(e){return e.map(function(e){var t=e.get(\"message\").indexOf(\"is not of a type(s)\");if(t>-1){var n=e.get(\"message\").slice(t+\"is not of a type(s)\".length).split(\",\");return e.set(\"message\",e.get(\"message\").slice(0,t)+a(n))}return e})}function a(e){return e.reduce(function(e,t,n,r){return n===r.length-1&&r.length>1?e+\"or \"+t:r[n+1]&&r.length>2?e+t+\", \":r[n+1]?e+t+\" \":e+t},\"should be a\")}Object.defineProperty(t,\"__esModule\",{value:!0}),t.transform=r},function(e,t,n){\"use strict\";function r(e,t){t.jsSpec;return e}Object.defineProperty(t,\"__esModule\",{value:!0}),t.transform=r;var a=n(263);(function(e){e&&e.__esModule})(a),n(7)},function(e,t,n){\"use strict\";function r(e){return e.map(function(e){return e.set(\"message\",a(e.get(\"message\"),\"instance.\"))})}function a(e,t){return e.replace(new RegExp(t,\"g\"),\"\")}Object.defineProperty(t,\"__esModule\",{value:!0}),t.transform=r},function(e,t,n){\"use strict\";function r(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e){return{statePlugins:{err:{reducers:(0,o.default)(e),actions:i,selectors:s}}}};var a=n(166),o=function(e){return e&&e.__esModule?e:{default:e}}(a),u=n(70),i=r(u),l=n(167),s=r(l)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var a=n(20),o=r(a),u=n(19),i=r(u);t.default=function(e){var t;return t={},(0,o.default)(t,l.NEW_THROWN_ERR,function(t,n){var r=n.payload,a=(0,i.default)(d,r,{type:\"thrown\"});return t.update(\"errors\",function(e){return(e||(0,s.List)()).push((0,s.fromJS)(a))}).update(\"errors\",function(t){return(0,f.default)(t,e.getSystem())})}),(0,o.default)(t,l.NEW_THROWN_ERR_BATCH,function(t,n){var r=n.payload;return r=r.map(function(e){return(0,s.fromJS)((0,i.default)(d,e,{type:\"thrown\"}))}),t.update(\"errors\",function(e){return(e||(0,s.List)()).concat((0,s.fromJS)(r))}).update(\"errors\",function(t){return(0,f.default)(t,e.getSystem())})}),(0,o.default)(t,l.NEW_SPEC_ERR,function(t,n){var r=n.payload,a=(0,s.fromJS)(r);return a=a.set(\"type\",\"spec\"),t.update(\"errors\",function(e){return(e||(0,s.List)()).push((0,s.fromJS)(a)).sortBy(function(e){return e.get(\"line\")})}).update(\"errors\",function(t){return(0,f.default)(t,e.getSystem())})}),(0,o.default)(t,l.NEW_SPEC_ERR_BATCH,function(t,n){var r=n.payload;return r=r.map(function(e){return(0,s.fromJS)((0,i.default)(d,e,{type:\"spec\"}))}),t.update(\"errors\",function(e){return(e||(0,s.List)()).concat((0,s.fromJS)(r))}).update(\"errors\",function(t){return(0,f.default)(t,e.getSystem())})}),(0,o.default)(t,l.NEW_AUTH_ERR,function(t,n){var r=n.payload,a=(0,s.fromJS)((0,i.default)({},r));return a=a.set(\"type\",\"auth\"),t.update(\"errors\",function(e){return(e||(0,s.List)()).push((0,s.fromJS)(a))}).update(\"errors\",function(t){return(0,f.default)(t,e.getSystem())})}),(0,o.default)(t,l.CLEAR,function(e,t){var n=t.payload;if(!n||!e.get(\"errors\"))return e;var r=e.get(\"errors\").filter(function(e){return e.keySeq().every(function(t){var r=e.get(t),a=n[t];return!a||r!==a})});return e.merge({errors:r})}),(0,o.default)(t,l.CLEAR_BY,function(e,t){var n=t.payload;if(!n||\"function\"!=typeof n)return e;var r=e.get(\"errors\").filter(function(e){return n(e)});return e.merge({errors:r})}),t};var l=n(70),s=n(7),c=n(161),f=r(c),d={line:0,level:\"error\",message:\"Unknown error\"}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.lastError=t.allErrors=void 0;var r=n(7),a=n(36),o=function(e){return e},u=t.allErrors=(0,a.createSelector)(o,function(e){return e.get(\"errors\",(0,r.List)())});t.lastError=(0,a.createSelector)(u,function(e){return e.last()})},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(){return{fn:{opsFilter:a.default}}};var r=n(169),a=function(e){return e&&e.__esModule?e:{default:e}}(r)},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e,t){return e.filter(function(e,n){return-1!==n.indexOf(t)})}},function(e,t,n){\"use strict\";function r(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(){return{statePlugins:{layout:{reducers:o.default,actions:i,selectors:s}}}};var a=n(171),o=function(e){return e&&e.__esModule?e:{default:e}}(a),u=n(95),i=r(u),l=n(172),s=r(l)},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r,a=n(20),o=function(e){return e&&e.__esModule?e:{default:e}}(a),u=n(7),i=n(95);t.default=(r={},(0,o.default)(r,i.UPDATE_LAYOUT,function(e,t){return e.set(\"layout\",t.payload)}),(0,o.default)(r,i.UPDATE_FILTER,function(e,t){return e.set(\"filter\",t.payload)}),(0,o.default)(r,i.SHOW,function(e,t){var n=t.payload.shown,r=(0,u.fromJS)(t.payload.thing);return e.update(\"shown\",(0,u.fromJS)({}),function(e){return e.set(r,n)})}),(0,o.default)(r,i.UPDATE_MODE,function(e,t){var n=t.payload.thing,r=t.payload.mode;return e.setIn([\"modes\"].concat(n),(r||\"\")+\"\")}),r)},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.showSummary=t.whatMode=t.isShown=t.currentFilter=t.current=void 0;var r=n(53),a=function(e){return e&&e.__esModule?e:{default:e}}(r),o=n(36),u=n(8),i=n(7),l=function(e){return e},s=(t.current=function(e){return e.get(\"layout\")},t.currentFilter=function(e){return e.get(\"filter\")},t.isShown=function(e,t,n){return t=(0,u.normalizeArray)(t),e.get(\"shown\",(0,i.fromJS)({})).get((0,i.fromJS)(t),n)});t.whatMode=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:\"\";return t=(0,u.normalizeArray)(t),e.getIn([\"modes\"].concat((0,a.default)(t)),n)},t.showSummary=(0,o.createSelector)(l,function(e){return!s(e,\"editor\")})},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e){function t(e){for(var t,n=arguments.length,r=Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];a(e)>=u&&(t=console)[e].apply(t,r)}var n=e.configs,r={debug:0,info:1,log:2,warn:3,error:4},a=function(e){return r[e]||-1},o=n.logLevel,u=a(o);return t.warn=t.bind(null,\"warn\"),t.error=t.bind(null,\"error\"),t.info=t.bind(null,\"info\"),t.debug=t.bind(null,\"debug\"),{rootInjects:{log:t}}}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.definitionsToAuthorize=void 0;var a=n(20),o=r(a),u=n(11),i=r(u),l=n(36),s=n(7),c=n(22),f=function(e){return e};t.definitionsToAuthorize=function(e){return function(t,n){return function(r){for(var a=arguments.length,o=Array(a>1?a-1:0),u=1;u<a;u++)o[u-1]=arguments[u];var i=n.getSystem().specSelectors.specJson();return(0,c.isOAS3)(i)?e.apply(void 0,[n].concat(o)):t.apply(void 0,o)}}}((0,l.createSelector)(f,function(e){return e.specSelectors.securityDefinitions()},function(e,t){var n=(0,s.List)();return t.entrySeq().forEach(function(e){var t=(0,i.default)(e,2),r=t[0],a=t[1],u=a.get(\"type\");\"oauth2\"===u&&a.get(\"flows\").entrySeq().forEach(function(e){var t=(0,i.default)(e,2),u=t[0],l=t[1],c=(0,s.fromJS)({flow:u,authorizationUrl:l.get(\"authorizationUrl\"),tokenUrl:l.get(\"tokenUrl\"),scopes:l.get(\"scopes\"),type:a.get(\"type\")});n=n.push(new s.Map((0,o.default)({},r,c.filter(function(e){return void 0!==e}))))}),\"http\"!==u&&\"apiKey\"!==u||(n=n.push(new s.Map((0,o.default)({},r,a))))}),n}))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var a=n(13),o=r(a),u=n(0),i=r(u),l=n(1),s=r(l),c=n(9),f=r(c),d=n(7),p=function(e){var t=e.callbacks,n=e.getComponent,r=e.specPath,a=n(\"OperationContainer\",!0);if(!t)return i.default.createElement(\"span\",null,\"No callbacks\");var u=t.map(function(t,n){return i.default.createElement(\"div\",{key:n},i.default.createElement(\"h2\",null,n),t.map(function(t,u){return i.default.createElement(\"div\",{key:u},t.map(function(t,l){var s=(0,d.fromJS)({operation:t});return i.default.createElement(a,(0,o.default)({},e,{op:s,key:l,tag:\"\",method:l,path:u,specPath:r.push(n,u,l),allowTryItOut:!1}))}))}))});return i.default.createElement(\"div\",null,u)};p.propTypes={getComponent:s.default.func.isRequired,callbacks:f.default.iterable.isRequired,specPath:f.default.list.isRequired},t.default=p},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var a=n(4),o=r(a),u=n(2),i=r(u),l=n(3),s=r(l),c=n(6),f=r(c),d=n(5),p=r(d),h=n(0),m=r(h),v=n(1),g=r(v),y=function(e){function t(e,n){(0,i.default)(this,t);var r=(0,f.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,n));_.call(r);var a=r.props,u=a.name,l=a.schema,s=r.getValue();return r.state={name:u,schema:l,value:s},r}return(0,p.default)(t,e),(0,s.default)(t,[{key:\"getValue\",value:function(){var e=this.props,t=e.name,n=e.authorized;return n&&n.getIn([t,\"value\"])}},{key:\"render\",value:function(){var e=this.props,t=e.schema,n=e.getComponent,r=e.errSelectors,a=e.name,o=n(\"Input\"),u=n(\"Row\"),i=n(\"Col\"),l=n(\"authError\"),s=n(\"Markdown\"),c=n(\"JumpToPath\",!0),f=t.get(\"scheme\"),d=this.getValue(),p=r.allErrors().filter(function(e){return e.get(\"authId\")===a});if(\"basic\"===f){var h=d?d.get(\"username\"):null;return m.default.createElement(\"div\",null,m.default.createElement(\"h4\",null,m.default.createElement(\"code\",null,a||t.get(\"name\")),\"  (http, Basic)\",m.default.createElement(c,{path:[\"securityDefinitions\",a]})),h&&m.default.createElement(\"h6\",null,\"Authorized\"),m.default.createElement(u,null,m.default.createElement(s,{source:t.get(\"description\")})),m.default.createElement(u,null,m.default.createElement(\"label\",null,\"Username:\"),h?m.default.createElement(\"code\",null,\" \",h,\" \"):m.default.createElement(i,null,m.default.createElement(o,{type:\"text\",required:\"required\",name:\"username\",onChange:this.onChange}))),m.default.createElement(u,null,m.default.createElement(\"label\",null,\"Password:\"),h?m.default.createElement(\"code\",null,\" ****** \"):m.default.createElement(i,null,m.default.createElement(o,{required:\"required\",autoComplete:\"new-password\",name:\"password\",type:\"password\",onChange:this.onChange}))),p.valueSeq().map(function(e,t){return m.default.createElement(l,{error:e,key:t})}))}return\"bearer\"===f?m.default.createElement(\"div\",null,m.default.createElement(\"h4\",null,m.default.createElement(\"code\",null,a||t.get(\"name\")),\"  (http, Bearer)\",m.default.createElement(c,{path:[\"securityDefinitions\",a]})),d&&m.default.createElement(\"h6\",null,\"Authorized\"),m.default.createElement(u,null,m.default.createElement(s,{source:t.get(\"description\")})),m.default.createElement(u,null,m.default.createElement(\"label\",null,\"Value:\"),d?m.default.createElement(\"code\",null,\" ****** \"):m.default.createElement(i,null,m.default.createElement(o,{type:\"text\",onChange:this.onChange}))),p.valueSeq().map(function(e,t){return m.default.createElement(l,{error:e,key:t})})):m.default.createElement(\"div\",null,m.default.createElement(\"em\",null,m.default.createElement(\"b\",null,a),\" HTTP authentication: unsupported or missing scheme\"))}}]),t}(m.default.Component);y.propTypes={authorized:g.default.object,getComponent:g.default.func.isRequired,errSelectors:g.default.object.isRequired,schema:g.default.object.isRequired,name:g.default.string.isRequired,onChange:g.default.func};var _=function(){var e=this;this.onChange=function(t){var n=e.props.onChange,r=t.target,a=r.value,o=r.name,u=e.state.value||{};o?u[o]=a:u=a,e.setState({value:u},function(){return n(e.state)})}};t.default=y},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var a=n(175),o=r(a),u=n(181),i=r(u),l=n(178),s=r(l),c=n(182),f=r(c),d=n(180),p=r(d),h=n(176),m=r(h),v=n(179),g=r(v);t.default={Callbacks:o.default,HttpAuth:m.default,RequestBody:i.default,Servers:f.default,RequestBodyEditor:p.default,OperationServers:g.default,operationLink:s.default}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function a(e,t){return\"string\"!=typeof t?\"\":t.split(\"\\n\").map(function(t,n){return n>0?Array(e+1).join(\" \")+t:t}).join(\"\\n\")}Object.defineProperty(t,\"__esModule\",{value:!0});var o=n(26),u=r(o),i=n(4),l=r(i),s=n(2),c=r(s),f=n(3),d=r(f),p=n(6),h=r(p),m=n(5),v=r(m),g=n(0),y=r(g),_=n(1),b=r(_),E=n(9),S=r(E),x=function(e){function t(){return(0,c.default)(this,t),(0,h.default)(this,(t.__proto__||(0,l.default)(t)).apply(this,arguments))}return(0,v.default)(t,e),(0,d.default)(t,[{key:\"render\",value:function(){var e=this.props,t=e.link,n=e.name,r=e.getComponent,o=r(\"Markdown\"),i=t.get(\"operationId\")||t.get(\"operationRef\"),l=t.get(\"parameters\")&&t.get(\"parameters\").toJS(),s=t.get(\"description\");return y.default.createElement(\"div\",{style:{marginBottom:\"1.5em\"}},y.default.createElement(\"div\",{style:{marginBottom:\".5em\"}},y.default.createElement(\"b\",null,y.default.createElement(\"code\",null,n)),s?y.default.createElement(o,{source:s}):null),y.default.createElement(\"pre\",null,\"Operation `\",i,\"`\",y.default.createElement(\"br\",null),y.default.createElement(\"br\",null),\"Parameters \",a(0,(0,u.default)(l,null,2))||\"{}\",y.default.createElement(\"br\",null)))}}]),t}(g.Component);x.propTypes={getComponent:b.default.func.isRequired,link:S.default.orderedMap.isRequired,name:b.default.String},t.default=x},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var a=n(13),o=r(a),u=n(4),i=r(u),l=n(2),s=r(l),c=n(3),f=r(c),d=n(6),p=r(d),h=n(5),m=r(h),v=n(0),g=r(v),y=n(1),_=r(y),b=n(9),E=r(b),S=function(e){function t(){var e,n,r,a;(0,s.default)(this,t);for(var u=arguments.length,l=Array(u),c=0;c<u;c++)l[c]=arguments[c];return n=r=(0,p.default)(this,(e=t.__proto__||(0,i.default)(t)).call.apply(e,[this].concat(l))),r.setSelectedServer=function(e){var t=r.props,n=t.path,a=t.method;return r.forceUpdate(),r.props.setSelectedServer(e,n+\":\"+a)},r.setServerVariableValue=function(e){var t=r.props,n=t.path,a=t.method;return r.forceUpdate(),r.props.setServerVariableValue((0,o.default)({},e,{namespace:n+\":\"+a}))},r.getSelectedServer=function(){var e=r.props,t=e.path,n=e.method;return r.props.getSelectedServer(t+\":\"+n)},r.getServerVariable=function(e,t){var n=r.props,a=n.path,o=n.method;return r.props.getServerVariable({namespace:a+\":\"+o,server:e},t)},r.getEffectiveServerValue=function(e){var t=r.props,n=t.path,a=t.method;return r.props.getEffectiveServerValue({server:e,namespace:n+\":\"+a})},a=n,(0,p.default)(r,a)}return(0,m.default)(t,e),(0,f.default)(t,[{key:\"render\",value:function(){var e=this.props,t=e.operationServers,n=e.pathServers,r=e.getComponent;if(!t&&!n)return null;var a=r(\"Servers\"),o=t||n,u=t?\"operation\":\"path\";return g.default.createElement(\"div\",{className:\"opblock-section operation-servers\"},g.default.createElement(\"div\",{className:\"opblock-section-header\"},g.default.createElement(\"div\",{className:\"tab-header\"},g.default.createElement(\"h4\",{className:\"opblock-title\"},\"Servers\"))),g.default.createElement(\"div\",{className:\"opblock-description-wrapper\"},g.default.createElement(\"h4\",{className:\"message\"},\"These \",u,\"-level options override the global server options.\"),g.default.createElement(a,{servers:o,currentServer:this.getSelectedServer(),setSelectedServer:this.setSelectedServer,setServerVariableValue:this.setServerVariableValue,getServerVariable:this.getServerVariable,getEffectiveServerValue:this.getEffectiveServerValue})))}}]),t}(g.default.Component);S.propTypes={path:_.default.string.isRequired,method:_.default.string.isRequired,operationServers:E.default.list,pathServers:E.default.list,setSelectedServer:_.default.func.isRequired,setServerVariableValue:_.default.func.isRequired,getSelectedServer:_.default.func.isRequired,getServerVariable:_.default.func.isRequired,getEffectiveServerValue:_.default.func.isRequired,getComponent:_.default.func.isRequired},t.default=S},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var a=n(4),o=r(a),u=n(2),i=r(u),l=n(3),s=r(l),c=n(6),f=r(c),d=n(5),p=r(d),h=n(0),m=r(h),v=n(1),g=r(v),y=n(7),_=n(8),b=Function.prototype,E=function(e){function t(e,n){(0,i.default)(this,t);var r=(0,f.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,n));return r.setValueToSample=function(e){r.onChange(r.sample(e))},r.resetValueToSample=function(e){r.setState({userDidModify:!1}),r.setValueToSample(e)},r.sample=function(e){var t=r.props,n=t.requestBody,a=t.mediaType,o=n.getIn([\"content\",e||a,\"schema\"]).toJS();return(0,_.getSampleSchema)(o,e||a,{includeWriteOnly:!0})},r.onChange=function(e){r.setState({value:e}),r.props.onChange(e)},r.handleOnChange=function(e){var t=r.props.mediaType,n=/json/i.test(t),a=n?e.target.value.trim():e.target.value;r.setState({userDidModify:!0}),r.onChange(a)},r.toggleIsEditBox=function(){return r.setState(function(e){return{isEditBox:!e.isEditBox}})},r.state={isEditBox:!1,userDidModify:!1,value:\"\"},r}return(0,p.default)(t,e),(0,s.default)(t,[{key:\"componentDidMount\",value:function(){this.setValueToSample.call(this)}},{key:\"componentWillReceiveProps\",value:function(e){this.props.mediaType!==e.mediaType&&this.setValueToSample(e.mediaType),!this.props.isExecute&&e.isExecute&&this.setState({isEditBox:!0})}},{key:\"componentDidUpdate\",value:function(e){this.props.requestBody!==e.requestBody&&this.setValueToSample(this.props.mediaType)}},{key:\"render\",value:function(){var e=this,t=this.props,n=t.isExecute,r=t.getComponent,a=t.mediaType,o=r(\"Button\"),u=r(\"TextArea\"),i=r(\"highlightCode\"),l=this.state,s=l.value,c=l.isEditBox,f=l.userDidModify;return m.default.createElement(\"div\",{className:\"body-param\"},c&&n?m.default.createElement(u,{className:\"body-param__text\",value:s,onChange:this.handleOnChange}):s&&m.default.createElement(i,{className:\"body-param__example\",value:s}),m.default.createElement(\"div\",{className:\"body-param-options\"},m.default.createElement(\"div\",{className:\"body-param-edit\"},n?m.default.createElement(o,{className:c?\"btn cancel body-param__example-edit\":\"btn edit body-param__example-edit\",onClick:this.toggleIsEditBox},c?\"Cancel\":\"Edit\"):null,f&&m.default.createElement(o,{className:\"btn ml3\",onClick:function(){e.resetValueToSample(a)}},\"Reset\"))))}}]),t}(h.PureComponent);E.propTypes={requestBody:g.default.object.isRequired,mediaType:g.default.string.isRequired,onChange:g.default.func,getComponent:g.default.func.isRequired,isExecute:g.default.bool,specSelectors:g.default.object.isRequired},E.defaultProps={mediaType:\"application/json\",requestBody:(0,y.fromJS)({}),onChange:b},t.default=E},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var a=n(0),o=r(a),u=n(1),i=r(u),l=n(9),s=r(l),c=n(7),f=function(e){var t=e.requestBody,n=e.getComponent,r=e.getConfigs,a=e.specSelectors,u=e.contentType,i=e.isExecute,l=e.specPath,s=e.onChange,f=n(\"Markdown\"),d=n(\"modelExample\"),p=n(\"RequestBodyEditor\"),h=t&&t.get(\"description\")||null,m=t&&t.get(\"content\")||new c.OrderedMap;u=u||m.keySeq().first();var v=m.get(u);return v?o.default.createElement(\"div\",null,h&&o.default.createElement(f,{source:h}),o.default.createElement(d,{getComponent:n,getConfigs:r,specSelectors:a,expandDepth:1,isExecute:i,schema:v.get(\"schema\"),specPath:l.push(\"content\",u),example:o.default.createElement(p,{requestBody:t,onChange:s,mediaType:u,getComponent:n,isExecute:i,specSelectors:a})})):null};f.propTypes={requestBody:s.default.orderedMap.isRequired,getComponent:i.default.func.isRequired,getConfigs:i.default.func.isRequired,specSelectors:i.default.object.isRequired,contentType:i.default.string,isExecute:i.default.bool.isRequired,onChange:i.default.func.isRequired,specPath:i.default.array.isRequired},t.default=f},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var a=n(4),o=r(a),u=n(2),i=r(u),l=n(3),s=r(l),c=n(6),f=r(c),d=n(5),p=r(d),h=n(0),m=r(h),v=n(7),g=n(1),y=r(g),_=n(9),b=r(_),E=function(e){function t(){var e,n,r,a;(0,i.default)(this,t);for(var u=arguments.length,l=Array(u),s=0;s<u;s++)l[s]=arguments[s];return n=r=(0,f.default)(this,(e=t.__proto__||(0,o.default)(t)).call.apply(e,[this].concat(l))),r.onServerChange=function(e){r.setServer(e.target.value)},r.onServerVariableValueChange=function(e){var t=r.props,n=t.setServerVariableValue,a=t.currentServer,o=e.target.getAttribute(\"data-variable\"),u=e.target.value;\"function\"==typeof n&&n({server:a,key:o,val:u})},r.setServer=function(e){(0,r.props.setSelectedServer)(e)},a=n,(0,f.default)(r,a)}return(0,p.default)(t,e),(0,s.default)(t,[{key:\"componentDidMount\",value:function(){var e=this.props,t=e.servers;e.currentServer||this.setServer(t.first().get(\"url\"))}},{key:\"componentWillReceiveProps\",value:function(e){var t=this.props,n=t.servers,r=t.setServerVariableValue,a=t.getServerVariable;if(this.props.currentServer!==e.currentServer){var o=n.find(function(t){return t.get(\"url\")===e.currentServer});if(!o)return this.setServer(n.first().get(\"url\"));(o.get(\"variables\")||(0,v.OrderedMap)()).map(function(t,n){a(e.currentServer,n)||r({server:e.currentServer,key:n,val:t.get(\"default\")||\"\"})})}}},{key:\"render\",value:function(){var e=this,t=this.props,n=t.servers,r=t.currentServer,a=t.getServerVariable,o=t.getEffectiveServerValue,u=n.find(function(e){return e.get(\"url\")===r})||(0,v.OrderedMap)(),i=u.get(\"variables\")||(0,v.OrderedMap)(),l=0!==i.size;return m.default.createElement(\"div\",{className:\"servers\"},m.default.createElement(\"label\",{htmlFor:\"servers\"},m.default.createElement(\"select\",{onChange:this.onServerChange},n.valueSeq().map(function(e){return m.default.createElement(\"option\",{value:e.get(\"url\"),key:e.get(\"url\")},e.get(\"url\"))}).toArray())),l?m.default.createElement(\"div\",null,m.default.createElement(\"div\",{className:\"computed-url\"},\"Computed URL:\",m.default.createElement(\"code\",null,o(r))),m.default.createElement(\"h4\",null,\"Server variables\"),m.default.createElement(\"table\",null,m.default.createElement(\"tbody\",null,i.map(function(t,n){return m.default.createElement(\"tr\",{key:n},m.default.createElement(\"td\",null,n),m.default.createElement(\"td\",null,t.get(\"enum\")?m.default.createElement(\"select\",{\"data-variable\":n,onChange:e.onServerVariableValueChange},t.get(\"enum\").map(function(e){return m.default.createElement(\"option\",{selected:e===a(r,n),key:e,value:e},e)})):m.default.createElement(\"input\",{type:\"text\",value:a(r,n)||\"\",onChange:e.onServerVariableValueChange,\"data-variable\":n})))})))):null)}}]),t}(m.default.Component);E.propTypes={servers:b.default.list.isRequired,currentServer:y.default.string.isRequired,setSelectedServer:y.default.func.isRequired,setServerVariableValue:y.default.func.isRequired,getServerVariable:y.default.func.isRequired,getEffectiveServerValue:y.default.func.isRequired},t.default=E},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function a(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(){return{components:d.default,wrapComponents:h.default,statePlugins:{spec:{wrapSelectors:u,selectors:c},auth:{wrapSelectors:l},oas3:{actions:v,reducers:b.default,selectors:y}}}};var o=n(187),u=a(o),i=n(174),l=a(i),s=n(186),c=a(s),f=n(177),d=r(f),p=n(189),h=r(p),m=n(96),v=a(m),g=n(185),y=a(g),_=n(184),b=r(_)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var a,o=n(20),u=r(o),i=n(11),l=r(i),s=n(96);t.default=(a={},(0,u.default)(a,s.UPDATE_SELECTED_SERVER,function(e,t){var n=t.payload,r=n.selectedServerUrl,a=n.namespace,o=a?[a,\"selectedServer\"]:[\"selectedServer\"];return e.setIn(o,r)}),(0,u.default)(a,s.UPDATE_REQUEST_BODY_VALUE,function(e,t){var n=t.payload,r=n.value,a=n.pathMethod,o=(0,l.default)(a,2),u=o[0],i=o[1];return e.setIn([\"requestData\",u,i,\"bodyValue\"],r)}),(0,u.default)(a,s.UPDATE_REQUEST_CONTENT_TYPE,function(e,t){var n=t.payload,r=n.value,a=n.pathMethod,o=(0,l.default)(a,2),u=o[0],i=o[1];return e.setIn([\"requestData\",u,i,\"requestContentType\"],r)}),(0,u.default)(a,s.UPDATE_RESPONSE_CONTENT_TYPE,function(e,t){var n=t.payload,r=n.value,a=n.path,o=n.method;return e.setIn([\"requestData\",a,o,\"responseContentType\"],r)}),(0,u.default)(a,s.UPDATE_SERVER_VARIABLE_VALUE,function(e,t){var n=t.payload,r=n.server,a=n.namespace,o=n.key,u=n.val,i=a?[a,\"serverVariableValues\",r,o]:[\"serverVariableValues\",r,o];return e.setIn(i,u)}),a)},function(e,t,n){\"use strict\";function r(e){return function(){for(var t=arguments.length,n=Array(t),r=0;r<t;r++)n[r]=arguments[r];return function(t){var r=t.getSystem().specSelectors.specJson();return(0,o.isOAS3)(r)?e.apply(void 0,n):null}}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.serverEffectiveValue=t.serverVariables=t.serverVariableValue=t.responseContentType=t.requestContentType=t.requestBodyValue=t.selectedServer=void 0;var a=n(7),o=n(22);t.selectedServer=r(function(e,t){var n=t?[t,\"selectedServer\"]:[\"selectedServer\"];return e.getIn(n)||\"\"}),t.requestBodyValue=r(function(e,t,n){return e.getIn([\"requestData\",t,n,\"bodyValue\"])||null}),t.requestContentType=r(function(e,t,n){return e.getIn([\"requestData\",t,n,\"requestContentType\"])||null}),t.responseContentType=r(function(e,t,n){return e.getIn([\"requestData\",t,n,\"responseContentType\"])||null}),t.serverVariableValue=r(function(e,t,n){var r=void 0;if(\"string\"!=typeof t){var a=t.server,o=t.namespace;r=o?[o,\"serverVariableValues\",a,n]:[\"serverVariableValues\",a,n]}else{r=[\"serverVariableValues\",t,n]}return e.getIn(r)||null}),t.serverVariables=r(function(e,t){var n=void 0;if(\"string\"!=typeof t){var r=t.server,o=t.namespace;n=o?[o,\"serverVariableValues\",r]:[\"serverVariableValues\",r]}else{n=[\"serverVariableValues\",t]}return e.getIn(n)||(0,a.OrderedMap)()}),t.serverEffectiveValue=r(function(e,t){var n,r;if(\"string\"!=typeof t){var o=t.server,u=t.namespace;r=o,n=u?e.getIn([u,\"serverVariableValues\",r]):e.getIn([\"serverVariableValues\",r])}else r=t,n=e.getIn([\"serverVariableValues\",r]);n=n||(0,a.OrderedMap)();var i=r;return n.map(function(e,t){i=i.replace(new RegExp(\"{\"+t+\"}\",\"g\"),e)}),i})},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.isSwagger2=t.servers=void 0;var r=n(36),a=n(7),o=n(22),u=function(e){return e||(0,a.Map)()},i=(0,r.createSelector)(u,function(e){return e.get(\"json\",(0,a.Map)())}),l=(0,r.createSelector)(u,function(e){return e.get(\"resolved\",(0,a.Map)())}),s=function(e){var t=l(e);return t.count()<1&&(t=i(e)),t};t.servers=function(e){return function(){return function(t){for(var n=arguments.length,r=Array(n>1?n-1:0),a=1;a<n;a++)r[a-1]=arguments[a];var u=t.getSystem().specSelectors.specJson();return(0,o.isOAS3)(u)?e.apply(void 0,r):null}}}((0,r.createSelector)(s,function(e){return e.getIn([\"servers\"])||(0,a.Map)()})),t.isSwagger2=function(e,t){return function(){var e=t.getSystem().specSelectors.specJson();return(0,o.isSwagger2)(e)}}},function(e,t,n){\"use strict\";function r(e){return function(t,n){return function(){var r=n.getSystem().specSelectors.specJson();return(0,u.isOAS3)(r)?e.apply(void 0,arguments):t.apply(void 0,arguments)}}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.isSwagger2=t.isOAS3=t.servers=t.schemes=t.produces=t.consumes=t.basePath=t.host=t.securityDefinitions=t.hasHost=t.definitions=void 0;var a=n(36),o=n(7),u=n(22),i=function(e){return e||(0,o.Map)()},l=(0,a.createSelector)(function(){return null}),s=r(l),c=(0,a.createSelector)(i,function(e){return e.get(\"json\",(0,o.Map)())}),f=(0,a.createSelector)(i,function(e){return e.get(\"resolved\",(0,o.Map)())}),d=function(e){var t=f(e);return t.count()<1&&(t=c(e)),t};t.definitions=r((0,a.createSelector)(d,function(e){return e.getIn([\"components\",\"schemas\"])||(0,o.Map)()})),t.hasHost=r(function(e){return d(e).hasIn([\"servers\",0])}),t.securityDefinitions=r((0,a.createSelector)(d,function(e){return e.getIn([\"components\",\"securitySchemes\"])||null})),t.host=s,t.basePath=s,t.consumes=s,t.produces=s,t.schemes=s,t.servers=r((0,a.createSelector)(d,function(e){return e.getIn([\"servers\"])||(0,o.Map)()})),t.isOAS3=function(e,t){return function(){var e=t.getSystem().specSelectors.specJson();return(0,u.isOAS3)(o.Map.isMap(e)?e:(0,o.Map)())}},t.isSwagger2=function(e,t){return function(){var e=t.getSystem().specSelectors.specJson();return(0,u.isSwagger2)(o.Map.isMap(e)?e:(0,o.Map)())}}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var a=n(72),o=r(a),u=n(0),i=r(u),l=n(22);t.default=(0,l.OAS3ComponentWrapFactory)(function(e){var t=e.Ori,n=(0,o.default)(e,[\"Ori\"]),r=n.schema,a=n.getComponent,u=n.errSelectors,l=n.authorized,s=n.onAuthChange,c=n.name,f=a(\"HttpAuth\");return\"http\"===r.get(\"type\")?i.default.createElement(f,{key:c,schema:r,name:c,errSelectors:u,authorized:l,getComponent:a,onChange:s}):i.default.createElement(t,n)})},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var a=n(190),o=r(a),u=n(188),i=r(u),l=n(193),s=r(l),c=n(194),f=r(c),d=n(192),p=r(d),h=n(191),m=r(h);t.default={Markdown:o.default,AuthItem:i.default,parameters:s.default,VersionStamp:f.default,model:m.default,onlineValidatorBadge:p.default}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.Markdown=void 0;var a=n(0),o=r(a),u=n(1),i=r(u),l=n(597),s=r(l),c=n(589),f=n(22),d=n(144),p=t.Markdown=function(e){var t=e.source;if(t){var n=new c.Parser,r=new c.HtmlRenderer,a=r.render(n.parse(t||\"\")),u=(0,d.sanitizer)(a);return t&&a&&u?o.default.createElement(s.default,{source:u,className:\"renderedMarkdown\"}):null}return null};p.propTypes={source:i.default.string},t.default=(0,f.OAS3ComponentWrapFactory)(p)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var a=n(13),o=r(a),u=n(4),i=r(u),l=n(2),s=r(l),c=n(3),f=r(c),d=n(6),p=r(d),h=n(5),m=r(h),v=n(0),g=r(v),y=n(1),_=r(y),b=n(22),E=n(143),S=function(e){function t(){return(0,s.default)(this,t),(0,p.default)(this,(t.__proto__||(0,i.default)(t)).apply(this,arguments))}return(0,m.default)(t,e),(0,f.default)(t,[{key:\"render\",value:function(){var e=this.props,t=e.getConfigs,n=e.schema,r=[\"model-box\"],a=!0===n.get(\"deprecated\"),u=null;return a&&(r.push(\"deprecated\"),u=g.default.createElement(\"span\",{className:\"model-deprecated-warning\"},\"Deprecated:\")),g.default.createElement(\"div\",{className:r.join(\" \")},u,g.default.createElement(E.Model,(0,o.default)({},this.props,{getConfigs:t,depth:1,expandDepth:this.props.expandDepth||0})))}}]),t}(v.Component);S.propTypes={schema:_.default.object.isRequired,name:_.default.string,getComponent:_.default.func.isRequired,getConfigs:_.default.func.isRequired,specSelectors:_.default.object.isRequired,expandDepth:_.default.number},t.default=(0,b.OAS3ComponentWrapFactory)(S)},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(22);t.default=(0,r.OAS3ComponentWrapFactory)(function(){return null})},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var a=n(53),o=r(a),u=n(4),i=r(u),l=n(2),s=r(l),c=n(3),f=r(c),d=n(6),p=r(d),h=n(5),m=r(h),v=n(0),g=r(v),y=n(1),_=r(y),b=n(7),E=r(b),S=n(9),x=r(S),C=n(22),w=function(e,t){return e.valueSeq().filter(E.default.Map.isMap).map(t)},j=function(e){function t(e){(0,s.default)(this,t);var n=(0,p.default)(this,(t.__proto__||(0,i.default)(t)).call(this,e));return n.onChange=function(e,t,r){var a=n.props;(0,a.specActions.changeParam)(a.onChangeKey,e.get(\"name\"),e.get(\"in\"),t,r)},n.onChangeConsumesWrapper=function(e){var t=n.props;(0,t.specActions.changeConsumesValue)(t.onChangeKey,e)},n.toggleTab=function(e){return\"parameters\"===e?n.setState({parametersVisible:!0,callbackVisible:!1}):\"callbacks\"===e?n.setState({callbackVisible:!0,parametersVisible:!1}):void 0},n.state={callbackVisible:!1,parametersVisible:!0},n}return(0,m.default)(t,e),(0,f.default)(t,[{key:\"render\",value:function(){var e=this,t=this.props,n=t.onTryoutClick,r=t.onCancelClick,a=t.parameters,u=t.allowTryItOut,i=t.tryItOutEnabled,l=t.fn,s=t.getComponent,c=t.getConfigs,f=t.specSelectors,d=t.oas3Actions,p=t.oas3Selectors,h=t.pathMethod,m=t.specPath,v=t.operation,y=s(\"parameterRow\"),_=s(\"TryItOutButton\"),E=s(\"contentType\"),S=s(\"Callbacks\",!0),x=s(\"RequestBody\",!0),C=i&&u,j=f.isOAS3,A=v.get(\"requestBody\"),R=m.slice(0,-1).push(\"requestBody\");return g.default.createElement(\"div\",{className:\"opblock-section\"},g.default.createElement(\"div\",{className:\"opblock-section-header\"},g.default.createElement(\"div\",{className:\"tab-header\"},g.default.createElement(\"div\",{onClick:function(){return e.toggleTab(\"parameters\")},className:\"tab-item \"+(this.state.parametersVisible&&\"active\")},g.default.createElement(\"h4\",{className:\"opblock-title\"},g.default.createElement(\"span\",null,\"Parameters\"))),v.get(\"callbacks\")?g.default.createElement(\"div\",{onClick:function(){return e.toggleTab(\"callbacks\")},className:\"tab-item \"+(this.state.callbackVisible&&\"active\")},g.default.createElement(\"h4\",{className:\"opblock-title\"},g.default.createElement(\"span\",null,\"Callbacks\"))):null),u?g.default.createElement(_,{enabled:i,onCancelClick:r,onTryoutClick:n}):null),this.state.parametersVisible?g.default.createElement(\"div\",{className:\"parameters-container\"},a.count()?g.default.createElement(\"div\",{className:\"table-container\"},g.default.createElement(\"table\",{className:\"parameters\"},g.default.createElement(\"thead\",null,g.default.createElement(\"tr\",null,g.default.createElement(\"th\",{className:\"col col_header parameters-col_name\"},\"Name\"),g.default.createElement(\"th\",{className:\"col col_header parameters-col_description\"},\"Description\"))),g.default.createElement(\"tbody\",null,w(a,function(t,n){return g.default.createElement(y,{fn:l,getComponent:s,specPath:m.push(n),getConfigs:c,param:t,key:t.get(\"name\"),onChange:e.onChange,onChangeConsumes:e.onChangeConsumesWrapper,specSelectors:f,pathMethod:h,isExecute:C})}).toArray()))):g.default.createElement(\"div\",{className:\"opblock-description-wrapper\"},g.default.createElement(\"p\",null,\"No parameters\"))):\"\",this.state.callbackVisible?g.default.createElement(\"div\",{className:\"callbacks-container opblock-description-wrapper\"},g.default.createElement(S,{callbacks:(0,b.Map)(v.get(\"callbacks\")),specPath:m.slice(0,-1).push(\"callbacks\")})):\"\",j()&&A&&this.state.parametersVisible&&g.default.createElement(\"div\",{className:\"opblock-section\"},g.default.createElement(\"div\",{className:\"opblock-section-header\"},g.default.createElement(\"h4\",{className:\"opblock-title parameter__name \"+(A.get(\"required\")&&\"required\")},\"Request body\"),g.default.createElement(\"label\",null,g.default.createElement(E,{value:p.requestContentType.apply(p,(0,o.default)(h)),contentTypes:A.get(\"content\").keySeq(),onChange:function(e){d.setRequestContentType({value:e,pathMethod:h})},className:\"body-param-content-type\"}))),g.default.createElement(\"div\",{className:\"opblock-description-wrapper\"},g.default.createElement(x,{specPath:R,requestBody:A,isExecute:C,onChange:function(e){d.setRequestBodyValue({value:e,pathMethod:h})},contentType:p.requestContentType.apply(p,(0,o.default)(h))}))))}}]),t}(v.Component);j.propTypes={parameters:x.default.list.isRequired,specActions:_.default.object.isRequired,operation:_.default.object.isRequired,getComponent:_.default.func.isRequired,getConfigs:_.default.func.isRequired,specSelectors:_.default.object.isRequired,oas3Actions:_.default.object.isRequired,oas3Selectors:_.default.object.isRequired,fn:_.default.object.isRequired,tryItOutEnabled:_.default.bool,allowTryItOut:_.default.bool,specPath:x.default.list.isRequired,onTryoutClick:_.default.func,onCancelClick:_.default.func,onChangeKey:_.default.array,pathMethod:_.default.array.isRequired},j.defaultProps={onTryoutClick:Function.prototype,onCancelClick:Function.prototype,tryItOutEnabled:!1,allowTryItOut:!0,onChangeKey:[]},t.default=(0,C.OAS3ComponentWrapFactory)(j)},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(0),a=function(e){return e&&e.__esModule?e:{default:e}}(r),o=n(22);t.default=(0,o.OAS3ComponentWrapFactory)(function(e){var t=e.Ori;return a.default.createElement(\"span\",null,a.default.createElement(t,e),a.default.createElement(\"small\",{style:{backgroundColor:\"#89bf04\"}},a.default.createElement(\"pre\",{className:\"version\"},\"OAS3\")))})},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(){return{statePlugins:{spec:{wrapActions:{updateSpec:function(e){return function(){return r=!0,e.apply(void 0,arguments)}},updateJsonSpec:function(e,t){return function(){var n=t.getConfigs().onComplete;return r&&\"function\"==typeof n&&(setTimeout(n,0),r=!1),e.apply(void 0,arguments)}}}}}}};var r=!1},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(){return{fn:a}};var r=n(97),a=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(r)},function(e,t,n){\"use strict\";function r(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(){return{statePlugins:{spec:{wrapActions:f,reducers:o.default,actions:i,selectors:s}}}};var a=n(198),o=function(e){return e&&e.__esModule?e:{default:e}}(a),u=n(98),i=r(u),l=n(99),s=r(l),c=n(199),f=r(c)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var a,o=n(20),u=r(o),i=n(19),l=r(i),s=n(53),c=r(s),f=n(7),d=n(8),p=n(23),h=r(p),m=n(99),v=n(98);t.default=(a={},(0,u.default)(a,v.UPDATE_SPEC,function(e,t){return\"string\"==typeof t.payload?e.set(\"spec\",t.payload):e}),(0,u.default)(a,v.UPDATE_URL,function(e,t){return e.set(\"url\",t.payload+\"\")}),(0,u.default)(a,v.UPDATE_JSON,function(e,t){return e.set(\"json\",(0,d.fromJSOrdered)(t.payload))}),(0,u.default)(a,v.UPDATE_RESOLVED,function(e,t){return e.setIn([\"resolved\"],(0,d.fromJSOrdered)(t.payload))}),(0,u.default)(a,v.UPDATE_RESOLVED_SUBTREE,function(e,t){var n=t.payload,r=n.value,a=n.path;return e.setIn([\"resolvedSubtrees\"].concat((0,c.default)(a)),(0,d.fromJSOrdered)(r))}),(0,u.default)(a,v.UPDATE_PARAM,function(e,t){var n=t.payload,r=n.path,a=n.paramName,o=n.paramIn,u=n.value,i=n.isXml,l=i?\"value_xml\":\"value\";return e.setIn([\"meta\",\"paths\"].concat((0,c.default)(r),[\"parameters\",a+\".\"+o,l]),u)}),(0,u.default)(a,v.VALIDATE_PARAMS,function(e,t){var n=t.payload,r=n.pathMethod,a=n.isOAS3,o=e.getIn([\"meta\",\"paths\"].concat((0,c.default)(r)),(0,f.fromJS)({})),u=/xml/i.test(o.get(\"consumes_value\")),i=m.operationWithMeta.apply(void 0,[e].concat((0,c.default)(r)));return e.updateIn([\"meta\",\"paths\"].concat((0,c.default)(r),[\"parameters\"]),(0,f.fromJS)({}),function(e){return i.get(\"parameters\",(0,f.List)()).reduce(function(e,t){var n=(0,d.validateParam)(t,u,a);return e.setIn([t.get(\"name\")+\".\"+t.get(\"in\"),\"errors\"],(0,f.fromJS)(n))},e)})}),(0,u.default)(a,v.CLEAR_VALIDATE_PARAMS,function(e,t){var n=t.payload.pathMethod;return e.updateIn([\"meta\",\"paths\"].concat((0,c.default)(n),[\"parameters\"]),(0,f.fromJS)([]),function(e){return e.map(function(e){return e.set(\"errors\",(0,f.fromJS)([]))})})}),(0,u.default)(a,v.SET_RESPONSE,function(e,t){var n=t.payload,r=n.res,a=n.path,o=n.method,u=void 0;u=r.error?(0,l.default)({error:!0,name:r.err.name,message:r.err.message,statusCode:r.err.statusCode},r.err.response):r,u.headers=u.headers||{};var i=e.setIn([\"responses\",a,o],(0,d.fromJSOrdered)(u));return h.default.Blob&&r.data instanceof h.default.Blob&&(i=i.setIn([\"responses\",a,o,\"text\"],r.data)),i}),(0,u.default)(a,v.SET_REQUEST,function(e,t){var n=t.payload,r=n.req,a=n.path,o=n.method;return e.setIn([\"requests\",a,o],(0,d.fromJSOrdered)(r))}),(0,u.default)(a,v.SET_MUTATED_REQUEST,function(e,t){var n=t.payload,r=n.req,a=n.path,o=n.method;return e.setIn([\"mutatedRequests\",a,o],(0,d.fromJSOrdered)(r))}),(0,u.default)(a,v.UPDATE_OPERATION_META_VALUE,function(e,t){var n=t.payload,r=n.path,a=n.value,o=n.key,u=[\"paths\"].concat((0,c.default)(r)),i=[\"meta\",\"paths\"].concat((0,c.default)(r));return e.getIn([\"json\"].concat((0,c.default)(u)))||e.getIn([\"resolved\"].concat((0,c.default)(u)))?e.setIn([].concat((0,c.default)(i),[o]),(0,f.fromJS)(a)):e}),(0,u.default)(a,v.CLEAR_RESPONSE,function(e,t){var n=t.payload,r=n.path,a=n.method;return e.deleteIn([\"responses\",r,a])}),(0,u.default)(a,v.CLEAR_REQUEST,function(e,t){var n=t.payload,r=n.path,a=n.method;return e.deleteIn([\"requests\",r,a])}),(0,u.default)(a,v.SET_SCHEME,function(e,t){var n=t.payload,r=n.scheme,a=n.path,o=n.method;return a&&o?e.setIn([\"scheme\",a,o],r):a||o?void 0:e.setIn([\"scheme\",\"_defaultScheme\"],r)}),a)},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});t.updateSpec=function(e,t){var n=t.specActions;return function(){e.apply(void 0,arguments),n.parseToJson.apply(n,arguments)}},t.updateJsonSpec=function(e,t){var n=t.specActions;return function(){e.apply(void 0,arguments),n.invalidateResolvedSubtreeCache()}},t.executeRequest=function(e,t){var n=t.specActions;return function(t){return n.logRequest(t),e(t)}},t.validateParams=function(e,t){var n=t.specSelectors;return function(t){return e(t,n.isOAS3())}}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var a=n(4),o=r(a),u=n(2),i=r(u),l=n(3),s=r(l),c=n(6),f=r(c),d=n(5),p=r(d),h=n(0),m=r(h),v=n(1),g=r(v),y=n(599),_=r(y),b=[\"split-pane-mode\"],E=\"left\",S=\"right\",x=\"both\",C=function(e){function t(){var e,n,r,a;(0,i.default)(this,t);for(var u=arguments.length,l=Array(u),s=0;s<u;s++)l[s]=arguments[s];return n=r=(0,f.default)(this,(e=t.__proto__||(0,o.default)(t)).call.apply(e,[this].concat(l))),r.initializeComponent=function(e){r.splitPane=e},r.onDragFinished=function(){var e=r.props,t=e.threshold,n=e.layoutActions,a=r.splitPane.state,o=a.position,u=a.draggedSize;r.draggedSize=u;var i=o<=t,l=u<=t;n.changeMode(b,i?S:l?E:x)},r.sizeFromMode=function(e,t){return e===E?(r.draggedSize=null,\"0px\"):e===S?(r.draggedSize=null,\"100%\"):r.draggedSize||t},a=n,(0,f.default)(r,a)}return(0,p.default)(t,e),(0,s.default)(t,[{key:\"render\",value:function(){var e=this.props,t=e.children,n=e.layoutSelectors,r=n.whatMode(b),a=r===S?m.default.createElement(\"noscript\",null):t[0],o=r===E?m.default.createElement(\"noscript\",null):t[1],u=this.sizeFromMode(r,\"50%\");return m.default.createElement(_.default,{disabledClass:\"\",ref:this.initializeComponent,split:\"vertical\",defaultSize:\"50%\",primary:\"second\",minSize:0,size:u,onDragFinished:this.onDragFinished,allowResize:r!==E&&r!==S,resizerStyle:{flex:\"0 0 auto\",position:\"relative\"}},a,o)}}]),t}(m.default.Component);C.propTypes={threshold:g.default.number,children:g.default.array,layoutSelectors:g.default.object.isRequired,layoutActions:g.default.object.isRequired},C.defaultProps={threshold:100,children:[]},t.default=C},function(e,t,n){\"use strict\";function r(){return{components:{SplitPaneMode:o.default}}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=r;var a=n(200),o=function(e){return e&&e.__esModule?e:{default:e}}(a)},function(e,t,n){\"use strict\";var r=n(277),a=function(e){return e&&e.__esModule?e:{default:e}}(r);e.exports=function(e){var t=e.configs;return{fn:{fetch:a.default.makeHttp(t.preFetch,t.postFetch),buildRequest:a.default.buildRequest,execute:a.default.execute,resolve:a.default.resolve,resolveSubtree:a.default.resolveSubtree,serializeRes:a.default.serializeRes,opId:a.default.helpers.opId}}}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(){return{fn:{shallowEqualKeys:r.shallowEqualKeys}}};var r=n(8)},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e){var t=e.getComponents,n=e.getStore,r=e.getSystem,u=a.getComponent,i=a.render,l=a.makeMappedContainer,s=(0,o.memoize)(u.bind(null,r,n,t));return{rootInjects:{getComponent:s,makeMappedContainer:(0,o.memoize)(l.bind(null,r,n,s,t)),render:i.bind(null,r,n,u,t)}}};var r=n(205),a=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(r),o=n(8)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.getComponent=t.render=t.makeMappedContainer=void 0;var a=n(32),o=r(a),u=n(31),i=r(u),l=n(19),s=r(l),c=n(13),f=r(c),d=n(4),p=r(d),h=n(2),m=r(h),v=n(3),g=r(v),y=n(6),_=r(y),b=n(5),E=r(b),S=n(0),x=r(S),C=n(595),w=r(C),j=n(598),A=n(576),R=r(A),O=function(e,t){return function(n){function r(){return(0,m.default)(this,r),(0,_.default)(this,(r.__proto__||(0,p.default)(r)).apply(this,arguments))}return(0,E.default)(r,n),(0,g.default)(r,[{key:\"render\",value:function(){return x.default.createElement(t,(0,f.default)({},e(),this.props,this.context))}}]),r}(S.Component)},P=function(e,t){return function(n){function r(){return(0,m.default)(this,r),(0,_.default)(this,(r.__proto__||(0,p.default)(r)).apply(this,arguments))}return(0,E.default)(r,n),(0,g.default)(r,[{key:\"render\",value:function(){return x.default.createElement(j.Provider,{store:e},x.default.createElement(t,(0,f.default)({},this.props,this.context)))}}]),r}(S.Component)},T=function(e,t,n){var r=function(n,r){var a=(0,s.default)({},r,e());return(t.prototype.mapStateToProps||function(e){return{state:e}})(n,a)},a=O(e,t),o=(0,j.connect)(r)(a);return n?P(n,o):o},M=function(e,t,n,r){for(var a in t){var o=t[a];\"function\"==typeof o&&o(n[a],r[a],e())}},k=(t.makeMappedContainer=function(e,t,n,r,a,o){return function(t){function r(t,n){(0,m.default)(this,r);var a=(0,_.default)(this,(r.__proto__||(0,p.default)(r)).call(this,t,n));return M(e,o,t,{}),a}return(0,E.default)(r,t),(0,g.default)(r,[{key:\"componentWillReceiveProps\",value:function(t){M(e,o,t,this.props)}},{key:\"render\",value:function(){var e=(0,R.default)(this.props,o?(0,i.default)(o):[]),t=n(a,\"root\");return x.default.createElement(t,e)}}]),r}(S.Component)},t.render=function(e,t,n,r,a){var o=n(e,t,r,\"App\",\"root\");w.default.render(x.default.createElement(o,null),a)},function(e){return function(t){function n(){return(0,m.default)(this,n),(0,_.default)(this,(n.__proto__||(0,p.default)(n)).apply(this,arguments))}return(0,E.default)(n,t),(0,g.default)(n,[{key:\"render\",value:function(){return e(this.props)}}]),n}(S.Component)}),q=function(e){var t=e.name;return x.default.createElement(\"div\",{style:{padding:\"1em\",color:\"#aaa\"}},\"😱 \",x.default.createElement(\"i\",null,\"Could not render \",\"t\"===t?\"this component\":t,\", see the console.\"))},I=function(e){var t=function(e){return!(e.prototype&&e.prototype.isReactComponent)}(e)?k(e):e,n=t.prototype.render;return t.prototype.render=function(){try{for(var e=arguments.length,r=Array(e),a=0;a<e;a++)r[a]=arguments[a];return n.apply(this,r)}catch(e){return console.error(e),x.default.createElement(q,{error:e,name:t.name})}},t};t.getComponent=function(e,t,n,r,a){if(\"string\"!=typeof r)throw new TypeError(\"Need a string, to fetch a component. Was given a \"+(void 0===r?\"undefined\":(0,o.default)(r)));var u=n(r);return u?a?\"root\"===a?T(e,u,t()):T(e,I(u)):I(u):(e().log.warn(\"Could not find component\",r),null)}},function(e,t,n){e.exports={default:n(353),__esModule:!0}},function(e,t,n){var r=n(16).document;e.exports=r&&r.documentElement},function(e,t,n){e.exports=!n(33)&&!n(45)(function(){return 7!=Object.defineProperty(n(103)(\"div\"),\"a\",{get:function(){return 7}}).a})},function(e,t,n){var r=n(54);e.exports=Object(\"z\").propertyIsEnumerable(0)?Object:function(e){return\"String\"==r(e)?e.split(\"\"):Object(e)}},function(e,t,n){var r=n(46),a=n(14)(\"iterator\"),o=Array.prototype;e.exports=function(e){return void 0!==e&&(r.Array===e||o[a]===e)}},function(e,t,n){var r=n(27);e.exports=function(e,t,n,a){try{return a?t(r(n)[0],n[1]):t(n)}catch(t){var o=e.return;throw void 0!==o&&r(o.call(e)),t}}},function(e,t,n){\"use strict\";var r=n(74),a=n(24),o=n(221),u=n(38),i=n(37),l=n(46),s=n(368),c=n(76),f=n(216),d=n(14)(\"iterator\"),p=!([].keys&&\"next\"in[].keys()),h=function(){return this};e.exports=function(e,t,n,m,v,g,y){s(n,t,m);var _,b,E,S=function(e){if(!p&&e in j)return j[e];switch(e){case\"keys\":case\"values\":return function(){return new n(this,e)}}return function(){return new n(this,e)}},x=t+\" Iterator\",C=\"values\"==v,w=!1,j=e.prototype,A=j[d]||j[\"@@iterator\"]||v&&j[v],R=!p&&A||S(v),O=v?C?S(\"entries\"):R:void 0,P=\"Array\"==t?j.entries||A:A;if(P&&(E=f(P.call(new e)))!==Object.prototype&&E.next&&(c(E,x,!0),r||i(E,d)||u(E,d,h)),C&&A&&\"values\"!==A.name&&(w=!0,R=function(){return A.call(this)}),r&&!y||!p&&!w&&j[d]||u(j,d,R),l[t]=R,l[x]=h,v)if(_={values:C?R:S(\"values\"),keys:g?R:S(\"keys\"),entries:O},y)for(b in _)b in j||o(j,b,_[b]);else a(a.P+a.F*(p||w),t,_);return _}},function(e,t,n){var r=n(14)(\"iterator\"),a=!1;try{var o=[7][r]();o.return=function(){a=!0},Array.from(o,function(){throw 2})}catch(e){}e.exports=function(e,t){if(!t&&!a)return!1;var n=!1;try{var o=[7],u=o[r]();u.next=function(){return{done:n=!0}},o[r]=function(){return u},e(o)}catch(e){}return n}},function(e,t,n){var r=n(75),a=n(56),o=n(47),u=n(112),i=n(37),l=n(208),s=Object.getOwnPropertyDescriptor;t.f=n(33)?s:function(e,t){if(e=o(e),t=u(t,!0),l)try{return s(e,t)}catch(e){}if(i(e,t))return a(!r.f.call(e,t),e[t])}},function(e,t,n){var r=n(217),a=n(104).concat(\"length\",\"prototype\");t.f=Object.getOwnPropertyNames||function(e){return r(e,a)}},function(e,t,n){var r=n(37),a=n(57),o=n(108)(\"IE_PROTO\"),u=Object.prototype;e.exports=Object.getPrototypeOf||function(e){return e=a(e),r(e,o)?e[o]:\"function\"==typeof e.constructor&&e instanceof e.constructor?e.constructor.prototype:e instanceof Object?u:null}},function(e,t,n){var r=n(37),a=n(47),o=n(362)(!1),u=n(108)(\"IE_PROTO\");e.exports=function(e,t){var n,i=a(e),l=0,s=[];for(n in i)n!=u&&r(i,n)&&s.push(n);for(;t.length>l;)r(i,n=t[l++])&&(~o(s,n)||s.push(n));return s}},function(e,t,n){var r=n(24),a=n(10),o=n(45);e.exports=function(e,t){var n=(a.Object||{})[e]||Object[e],u={};u[e]=t(n),r(r.S+r.F*o(function(){n(1)}),\"Object\",u)}},function(e,t){e.exports=function(e){try{return{e:!1,v:e()}}catch(e){return{e:!0,v:e}}}},function(e,t,n){var r=n(27),a=n(34),o=n(105);e.exports=function(e,t){if(r(e),a(t)&&t.constructor===e)return t;var n=o.f(e);return(0,n.resolve)(t),n.promise}},function(e,t,n){e.exports=n(38)},function(e,t,n){var r=n(27),a=n(73),o=n(14)(\"species\");e.exports=function(e,t){var n,u=r(e).constructor;return void 0===u||void 0==(n=r(u)[o])?t:a(n)}},function(e,t,n){var r,a,o,u=n(44),i=n(366),l=n(207),s=n(103),c=n(16),f=c.process,d=c.setImmediate,p=c.clearImmediate,h=c.MessageChannel,m=c.Dispatch,v=0,g={},y=function(){var e=+this;if(g.hasOwnProperty(e)){var t=g[e];delete g[e],t()}},_=function(e){y.call(e.data)};d&&p||(d=function(e){for(var t=[],n=1;arguments.length>n;)t.push(arguments[n++]);return g[++v]=function(){i(\"function\"==typeof e?e:Function(e),t)},r(v),v},p=function(e){delete g[e]},\"process\"==n(54)(f)?r=function(e){f.nextTick(u(y,e,1))}:m&&m.now?r=function(e){m.now(u(y,e,1))}:h?(a=new h,o=a.port2,a.port1.onmessage=_,r=u(o.postMessage,o,1)):c.addEventListener&&\"function\"==typeof postMessage&&!c.importScripts?(r=function(e){c.postMessage(e+\"\",\"*\")},c.addEventListener(\"message\",_,!1)):r=\"onreadystatechange\"in s(\"script\")?function(e){l.appendChild(s(\"script\")).onreadystatechange=function(){l.removeChild(this),y.call(e)}}:function(e){setTimeout(u(y,e,1),0)}),e.exports={set:d,clear:p}},function(e,t){},function(e,t){e.exports=\"constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf\".split(\",\")},function(e,t,n){var r=n(21).document;e.exports=r&&r.documentElement},function(e,t,n){var r=n(48),a=n(59),o=n(12)(\"match\");e.exports=function(e){var t;return r(e)&&(void 0!==(t=e[o])?!!t:\"RegExp\"==a(e))}},function(e,t,n){\"use strict\";var r=n(229),a=n(17),o=n(49),u=n(41),i=n(62),l=n(63),s=n(405),c=n(120),f=n(411),d=n(12)(\"iterator\"),p=!([].keys&&\"next\"in[].keys()),h=function(){return this};e.exports=function(e,t,n,m,v,g,y){s(n,t,m);var _,b,E,S=function(e){if(!p&&e in j)return j[e];switch(e){case\"keys\":case\"values\":return function(){return new n(this,e)}}return function(){return new n(this,e)}},x=t+\" Iterator\",C=\"values\"==v,w=!1,j=e.prototype,A=j[d]||j[\"@@iterator\"]||v&&j[v],R=!p&&A||S(v),O=v?C?S(\"entries\"):R:void 0,P=\"Array\"==t?j.entries||A:A;if(P&&(E=f(P.call(new e)))!==Object.prototype&&E.next&&(c(E,x,!0),r||i(E,d)||u(E,d,h)),C&&A&&\"values\"!==A.name&&(w=!0,R=function(){return A.call(this)}),r&&!y||!p&&!w&&j[d]||u(j,d,R),l[t]=R,l[x]=h,v)if(_={values:C?R:S(\"values\"),keys:g?R:S(\"keys\"),entries:O},y)for(b in _)b in j||o(j,b,_[b]);else a(a.P+a.F*(p||w),t,_);return _}},function(e,t){e.exports=!1},function(e,t,n){var r=n(412),a=n(225);e.exports=Object.keys||function(e){return r(e,a)}},function(e,t){e.exports=function(e){try{return{e:!1,v:e()}}catch(e){return{e:!0,v:e}}}},function(e,t,n){var r=n(39),a=n(48),o=n(119);e.exports=function(e,t){if(r(e),a(t)&&t.constructor===e)return t;var n=o.f(e);return(0,n.resolve)(t),n.promise}},function(e,t){e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},function(e,t,n){var r=n(21),a=r[\"__core-js_shared__\"]||(r[\"__core-js_shared__\"]={});e.exports=function(e){return a[e]||(a[e]={})}},function(e,t,n){var r=n(39),a=n(79),o=n(12)(\"species\");e.exports=function(e,t){var n,u=r(e).constructor;return void 0===u||void 0==(n=r(u)[o])?t:a(n)}},function(e,t,n){var r=n(83),a=n(35);e.exports=function(e){return function(t,n){var o,u,i=String(a(t)),l=r(n),s=i.length;return l<0||l>=s?e?\"\":void 0:(o=i.charCodeAt(l),o<55296||o>56319||l+1===s||(u=i.charCodeAt(l+1))<56320||u>57343?e?i.charAt(l):o:e?i.slice(l,l+2):u-56320+(o-55296<<10)+65536)}}},function(e,t,n){var r,a,o,u=n(80),i=n(401),l=n(226),s=n(117),c=n(21),f=c.process,d=c.setImmediate,p=c.clearImmediate,h=c.MessageChannel,m=c.Dispatch,v=0,g={},y=function(){var e=+this;if(g.hasOwnProperty(e)){var t=g[e];delete g[e],t()}},_=function(e){y.call(e.data)};d&&p||(d=function(e){for(var t=[],n=1;arguments.length>n;)t.push(arguments[n++]);return g[++v]=function(){i(\"function\"==typeof e?e:Function(e),t)},r(v),v},p=function(e){delete g[e]},\"process\"==n(59)(f)?r=function(e){f.nextTick(u(y,e,1))}:m&&m.now?r=function(e){m.now(u(y,e,1))}:h?(a=new h,o=a.port2,a.port1.onmessage=_,r=u(o.postMessage,o,1)):c.addEventListener&&\"function\"==typeof postMessage&&!c.importScripts?(r=function(e){c.postMessage(e+\"\",\"*\")},c.addEventListener(\"message\",_,!1)):r=\"onreadystatechange\"in s(\"script\")?function(e){l.appendChild(s(\"script\")).onreadystatechange=function(){l.removeChild(this),y.call(e)}}:function(e){setTimeout(u(y,e,1),0)}),e.exports={set:d,clear:p}},function(e,t,n){var r=n(83),a=Math.max,o=Math.min;e.exports=function(e,t){return e=r(e),e<0?a(e+t,0):o(e,t)}},function(e,t,n){\"use strict\";var r=n(236)(!0);n(228)(String,\"String\",function(e){this._t=String(e),this._i=0},function(){var e,t=this._t,n=this._i;return n>=t.length?{value:void 0,done:!0}:(e=r(t,n),this._i+=e.length,{value:e,done:!1})})},function(e,t,n){var r=n(25),a=r.Uint8Array;e.exports=a},function(e,t,n){function r(e,t){var n=u(e),r=!n&&o(e),c=!n&&!r&&i(e),d=!n&&!r&&!c&&s(e),p=n||r||c||d,h=p?a(e.length,String):[],m=h.length;for(var v in e)!t&&!f.call(e,v)||p&&(\"length\"==v||c&&(\"offset\"==v||\"parent\"==v)||d&&(\"buffer\"==v||\"byteLength\"==v||\"byteOffset\"==v)||l(v,m))||h.push(v);return h}var a=n(490),o=n(137),u=n(15),i=n(138),l=n(90),s=n(266),c=Object.prototype,f=c.hasOwnProperty;e.exports=r},function(e,t){function n(e,t){for(var n=-1,r=null==e?0:e.length,a=Array(r);++n<r;)a[n]=t(e[n],n,e);return a}e.exports=n},function(e,t){function n(e,t,n,r){var a=-1,o=null==e?0:e.length;for(r&&o&&(n=e[++a]);++a<o;)n=t(n,e[a],a,e);return n}e.exports=n},function(e,t){function n(e,t){for(var n=-1,r=null==e?0:e.length;++n<r;)if(t(e[n],n,e))return!0;return!1}e.exports=n},function(e,t,n){function r(e,t,n){\"__proto__\"==t&&a?a(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n}var a=n(251);e.exports=r},function(e,t,n){var r=n(470),a=n(504),o=a(r);e.exports=o},function(e,t,n){function r(e,t,n){var r=t(e);return o(e)?r:a(r,n(e))}var a=n(127),o=n(15);e.exports=r},function(e,t,n){function r(e,t,n,u,i){return e===t||(null==e||null==t||!o(e)&&!o(t)?e!==e&&t!==t:a(e,t,n,u,r,i))}var a=n(473),o=n(30);e.exports=r},function(e,t){function n(e,t,n){var r=-1,a=e.length;t<0&&(t=-t>a?0:a+t),n=n>a?a:n,n<0&&(n+=a),a=t>n?0:n-t>>>0,t>>>=0;for(var o=Array(a);++r<a;)o[r]=e[r+t];return o}e.exports=n},function(e,t,n){function r(e){return function(t){return a(u(o(t).replace(i,\"\")),e,\"\")}}var a=n(243),o=n(565),u=n(584),i=RegExp(\"['’]\",\"g\");e.exports=r},function(e,t,n){var r=n(43),a=function(){try{var e=r(Object,\"defineProperty\");return e({},\"\",{}),e}catch(e){}}();e.exports=a},function(e,t,n){function r(e,t,n,r,s,c){var f=n&i,d=e.length,p=t.length;if(d!=p&&!(f&&p>d))return!1;var h=c.get(e);if(h&&c.get(t))return h==t;var m=-1,v=!0,g=n&l?new a:void 0;for(c.set(e,t),c.set(t,e);++m<d;){var y=e[m],_=t[m];if(r)var b=f?r(_,y,m,t,e,c):r(y,_,m,e,t,c);if(void 0!==b){if(b)continue;v=!1;break}if(g){if(!o(t,function(e,t){if(!u(g,t)&&(y===e||s(y,e,n,r,c)))return g.push(t)})){v=!1;break}}else if(y!==_&&!s(y,_,n,r,c)){v=!1;break}}return c.delete(e),c.delete(t),v}var a=n(456),o=n(244),u=n(493),i=1,l=2;e.exports=r},function(e,t,n){(function(t){var n=\"object\"==typeof t&&t&&t.Object===Object&&t;e.exports=n}).call(t,n(273))},function(e,t,n){function r(e){return a(e,u,o)}var a=n(247),o=n(133),u=n(52);e.exports=r},function(e,t,n){function r(e){return a(e,u,o)}var a=n(247),o=n(256),u=n(267);e.exports=r},function(e,t,n){var r=n(127),a=n(132),o=n(133),u=n(269),i=Object.getOwnPropertySymbols,l=i?function(e){for(var t=[];e;)r(t,o(e)),e=a(e);return t}:u;e.exports=l},function(e,t){function n(e){return r.test(e)}var r=RegExp(\"[\\\\u200d\\\\ud800-\\\\udfff\\\\u0300-\\\\u036f\\\\ufe20-\\\\ufe2f\\\\u20d0-\\\\u20ff\\\\ufe0e\\\\ufe0f]\");e.exports=n},function(e,t,n){function r(e){return e===e&&!a(e)}var a=n(28);e.exports=r},function(e,t){function n(e,t){return function(n){return null!=n&&(n[e]===t&&(void 0!==t||e in Object(n)))}}e.exports=n},function(e,t){function n(e,t){return function(n){return e(t(n))}}e.exports=n},function(e,t){function n(e){if(null!=e){try{return a.call(e)}catch(e){}try{return e+\"\"}catch(e){}}return\"\"}var r=Function.prototype,a=r.toString;e.exports=n},function(e,t,n){var r=n(507),a=n(566),o=r(a);e.exports=o},function(e,t,n){function r(e,t,n){var r=null==e?void 0:a(e,t);return void 0===r?n:r}var a=n(129);e.exports=r},function(e,t){function n(e){return e}e.exports=n},function(e,t,n){function r(e){if(!o(e))return!1;var t=a(e);return t==i||t==l||t==u||t==s}var a=n(42),o=n(28),u=\"[object AsyncFunction]\",i=\"[object Function]\",l=\"[object GeneratorFunction]\",s=\"[object Proxy]\";e.exports=r},function(e,t,n){var r=n(478),a=n(130),o=n(136),u=o&&o.isTypedArray,i=u?a(u):r;e.exports=i},function(e,t,n){function r(e){return u(e)?a(e,!0):o(e)}var a=n(241),o=n(480),u=n(68);e.exports=r},function(e,t,n){function r(e,t){if(\"function\"!=typeof e||null!=t&&\"function\"!=typeof t)throw new TypeError(o);var n=function(){var r=arguments,a=t?t.apply(this,r):r[0],o=n.cache;if(o.has(a))return o.get(a);var u=e.apply(this,r);return n.cache=o.set(a,u)||o,u};return n.cache=new(r.Cache||a),n}var a=n(125),o=\"Expected a function\";r.Cache=a,e.exports=r},function(e,t){function n(){return[]}e.exports=n},function(e,t,n){function r(e){if(\"number\"==typeof e)return e;if(o(e))return u;if(a(e)){var t=\"function\"==typeof e.valueOf?e.valueOf():e;e=a(t)?t+\"\":t}if(\"string\"!=typeof e)return 0===e?e:+e;e=e.replace(i,\"\");var n=s.test(e);return n||c.test(e)?f(e.slice(2),n?2:8):l.test(e)?u:+e}var a=n(28),o=n(92),u=NaN,i=/^\\s+|\\s+$/g,l=/^[-+]0x[0-9a-f]+$/i,s=/^0b[01]+$/i,c=/^0o[0-7]+$/i,f=parseInt;e.exports=r},function(e,t,n){var r=n(506),a=r(\"toUpperCase\");e.exports=a},function(e,t){e.exports=\"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAwcHgiICBoZWlnaHQ9IjIwMHB4IiAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTAwIDEwMCIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQiIGNsYXNzPSJsZHMtcm9sbGluZyIgc3R5bGU9ImJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IGJhY2tncm91bmQtcG9zaXRpb246IGluaXRpYWwgaW5pdGlhbDsgYmFja2dyb3VuZC1yZXBlYXQ6IGluaXRpYWwgaW5pdGlhbDsiPjxjaXJjbGUgY3g9IjUwIiBjeT0iNTAiIGZpbGw9Im5vbmUiIG5nLWF0dHItc3Ryb2tlPSJ7e2NvbmZpZy5jb2xvcn19IiBuZy1hdHRyLXN0cm9rZS13aWR0aD0ie3tjb25maWcud2lkdGh9fSIgbmctYXR0ci1yPSJ7e2NvbmZpZy5yYWRpdXN9fSIgbmctYXR0ci1zdHJva2UtZGFzaGFycmF5PSJ7e2NvbmZpZy5kYXNoYXJyYXl9fSIgc3Ryb2tlPSIjNTU1NTU1IiBzdHJva2Utd2lkdGg9IjEwIiByPSIzNSIgc3Ryb2tlLWRhc2hhcnJheT0iMTY0LjkzMzYxNDMxMzQ2NDE1IDU2Ljk3Nzg3MTQzNzgyMTM4Ij48YW5pbWF0ZVRyYW5zZm9ybSBhdHRyaWJ1dGVOYW1lPSJ0cmFuc2Zvcm0iIHR5cGU9InJvdGF0ZSIgY2FsY01vZGU9ImxpbmVhciIgdmFsdWVzPSIwIDUwIDUwOzM2MCA1MCA1MCIga2V5VGltZXM9IjA7MSIgZHVyPSIxcyIgYmVnaW49IjBzIiByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSI+PC9hbmltYXRlVHJhbnNmb3JtPjwvY2lyY2xlPjwvc3ZnPgo=\"},function(e,t){var n;n=function(){return this}();try{n=n||Function(\"return this\")()||(0,eval)(\"this\")}catch(e){\"object\"==typeof window&&(n=window)}e.exports=n},function(e,t){e.exports=require(\"deep-extend\")},function(e,t){e.exports=require(\"js-yaml\")},function(e,t){e.exports=require(\"react-collapse\")},function(e,t){e.exports=require(\"swagger-client\")},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}var a=n(26),o=r(a),u=n(31),i=r(u),l=n(32),s=r(l),c=n(274),f=r(c),d=n(335),p=r(d),h=n(23),m=r(h),v=n(333),g=r(v),y=n(145),_=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(y),b=n(8),E={PACKAGE_VERSION:\"3.13.0\",GIT_COMMIT:\"g2273c9df\",GIT_DIRTY:!1,HOSTNAME:\"banjo\",BUILD_TIME:\"Sat, 17 Mar 2018 07:11:53 GMT\"},S=E.GIT_DIRTY,x=E.GIT_COMMIT,C=E.PACKAGE_VERSION,w=E.HOSTNAME,j=E.BUILD_TIME;e.exports=function(e){m.default.versions=m.default.versions||{},m.default.versions.swaggerUi={version:C,gitRevision:x,gitDirty:S,buildTimestamp:j,machine:w};var t={dom_id:null,domNode:null,spec:{},url:\"\",urls:null,layout:\"BaseLayout\",docExpansion:\"list\",maxDisplayedTags:null,filter:null,validatorUrl:\"https://online.swagger.io/validator\",configs:{},custom:{},displayOperationId:!1,displayRequestDuration:!1,deepLinking:!1,requestInterceptor:function(e){return e},responseInterceptor:function(e){return e},showMutatedRequest:!0,defaultModelRendering:\"example\",defaultModelExpandDepth:1,defaultModelsExpandDepth:1,showExtensions:!1,supportedSubmitMethods:[\"get\",\"put\",\"post\",\"delete\",\"options\",\"head\",\"patch\",\"trace\"],presets:[g.default],plugins:[],initialState:{},fn:{},components:{}},n=(0,b.parseSearch)(),r=e.domNode;delete e.domNode;var a=(0,f.default)({},t,e,n),u={system:{configs:a.configs},plugins:a.presets,state:(0,f.default)({layout:{layout:a.layout,filter:a.filter},spec:{spec:\"\",url:a.url}},a.initialState)};if(a.initialState)for(var l in a.initialState)a.initialState.hasOwnProperty(l)&&void 0===a.initialState[l]&&delete u.state[l];var c=function(){return{fn:a.fn,components:a.components,state:a.state}},d=new p.default(u);d.register([a.plugins,c]);var h=d.getSystem(),v=function(e){if(\"object\"!==(void 0===a?\"undefined\":(0,s.default)(a)))return h;var t=h.specSelectors.getLocalConfig?h.specSelectors.getLocalConfig():{},u=(0,f.default)({},t,a,e||{},n);if(r&&(u.domNode=r),d.setConfigs(u),null!==e&&(!n.url&&\"object\"===(0,s.default)(u.spec)&&(0,i.default)(u.spec).length?(h.specActions.updateUrl(\"\"),h.specActions.updateLoadingStatus(\"success\"),h.specActions.updateSpec((0,o.default)(u.spec))):h.specActions.download&&u.url&&(h.specActions.updateUrl(u.url),h.specActions.download(u.url))),u.domNode)h.render(u.domNode,\"App\");else if(u.dom_id){var l=document.querySelector(u.dom_id);h.render(l,\"App\")}else null===u.dom_id||null===u.domNode||console.error(\"Skipped rendering: no `dom_id` or `domNode` was specified\");return h},y=n.config||a.configUrl;return!y||!h.specActions.getConfigByUrl||h.specActions.getConfigByUrl&&!h.specActions.getConfigByUrl(y,v)?v():h},e.exports.presets={apis:g.default},e.exports.plugins=_},function(e,t,n){\"use strict\";var r=n(23);void 0===function(e){return e&&e.__esModule?e:{default:e}}(r).default.Promise&&n(346),String.prototype.startsWith||n(345)},function(e,t){},function(e,t,n){\"use strict\";function r(e){return l.indexOf(e[0])>-1}function a(e){var t,n,a=e.replace(u,\"\");return r(a)?a:(n=a.match(i))?(t=n[0],o.test(t)?\"about:blank\":a):\"about:blank\"}var o=/^(%20|\\s)*(javascript|data)/im,u=/[^\\x20-\\x7E]/gim,i=/^([^:]+):/gm,l=[\".\",\"/\"];e.exports={sanitizeUrl:a}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var a=n(4),o=r(a),u=n(2),i=r(u),l=n(3),s=r(l),c=n(6),f=r(c),d=n(5),p=r(d),h=n(0),m=r(h),v=n(1),g=r(v),y=function(e){function t(){return(0,i.default)(this,t),(0,f.default)(this,(t.__proto__||(0,o.default)(t)).apply(this,arguments))}return(0,p.default)(t,e),(0,s.default)(t,[{key:\"getLayout\",value:function(){var e=this.props,t=e.getComponent,n=e.layoutSelectors,r=n.current(),a=t(r,!0);return a||function(){return m.default.createElement(\"h1\",null,' No layout defined for \"',r,'\" ')}}},{key:\"render\",value:function(){var e=this.getLayout();return m.default.createElement(e,null)}}]),t}(m.default.Component);t.default=y,y.propTypes={getComponent:g.default.func.isRequired,layoutSelectors:g.default.object.isRequired},y.defaultProps={}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var a=n(13),o=r(a),u=n(11),i=r(u),l=n(4),s=r(l),c=n(2),f=r(c),d=n(3),p=r(d),h=n(6),m=r(h),v=n(5),g=r(v),y=n(0),_=r(y),b=n(1),E=r(b),S=n(9),x=r(S),C={color:\"#999\",fontStyle:\"italic\"},w=function(e){function t(){return(0,f.default)(this,t),(0,m.default)(this,(t.__proto__||(0,s.default)(t)).apply(this,arguments))}return(0,g.default)(t,e),(0,p.default)(t,[{key:\"render\",value:function(){var e=this.props,t=e.getComponent,n=e.getConfigs,r=e.schema,a=e.depth,u=e.expandDepth,l=e.name,s=e.specPath,c=r.get(\"description\"),f=r.get(\"items\"),d=r.get(\"title\")||l,p=r.filter(function(e,t){return-1===[\"type\",\"items\",\"description\",\"$$ref\"].indexOf(t)}),h=t(\"Markdown\"),m=t(\"ModelCollapse\"),v=t(\"Model\"),g=t(\"Property\"),y=d&&_.default.createElement(\"span\",{className:\"model-title\"},_.default.createElement(\"span\",{className:\"model-title__text\"},d));return _.default.createElement(\"span\",{className:\"model\"},_.default.createElement(m,{title:y,expanded:a<=u,collapsedContent:\"[...]\"},\"[\",p.size?p.entrySeq().map(function(e){var t=(0,i.default)(e,2),n=t[0],r=t[1];return _.default.createElement(g,{key:n+\"-\"+r,propKey:n,propVal:r,propStyle:C})}):null,c?_.default.createElement(h,{source:c}):p.size?_.default.createElement(\"div\",{className:\"markdown\"}):null,_.default.createElement(\"span\",null,_.default.createElement(v,(0,o.default)({},this.props,{getConfigs:n,specPath:s.push(\"items\"),name:null,schema:f,required:!1,depth:a+1}))),\"]\"))}}]),t}(y.Component);w.propTypes={schema:E.default.object.isRequired,getComponent:E.default.func.isRequired,getConfigs:E.default.func.isRequired,specSelectors:E.default.object.isRequired,name:E.default.string,required:E.default.bool,expandDepth:E.default.number,specPath:x.default.list.isRequired,depth:E.default.number},t.default=w},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var a=n(19),o=r(a),u=n(4),i=r(u),l=n(2),s=r(l),c=n(3),f=r(c),d=n(6),p=r(d),h=n(5),m=r(h),v=n(0),g=r(v),y=n(1),_=r(y),b=function(e){function t(e,n){(0,s.default)(this,t);var r=(0,p.default)(this,(t.__proto__||(0,i.default)(t)).call(this,e,n));E.call(r);var a=r.props,o=a.name,u=a.schema,l=r.getValue();return r.state={name:o,schema:u,value:l},r}return(0,m.default)(t,e),(0,f.default)(t,[{key:\"getValue\",value:function(){var e=this.props,t=e.name,n=e.authorized;return n&&n.getIn([t,\"value\"])}},{key:\"render\",value:function(){var e=this.props,t=e.schema,n=e.getComponent,r=e.errSelectors,a=e.name,o=n(\"Input\"),u=n(\"Row\"),i=n(\"Col\"),l=n(\"authError\"),s=n(\"Markdown\"),c=n(\"JumpToPath\",!0),f=this.getValue(),d=r.allErrors().filter(function(e){return e.get(\"authId\")===a});return g.default.createElement(\"div\",null,g.default.createElement(\"h4\",null,g.default.createElement(\"code\",null,a||t.get(\"name\")),\"  (apiKey)\",g.default.createElement(c,{path:[\"securityDefinitions\",a]})),f&&g.default.createElement(\"h6\",null,\"Authorized\"),g.default.createElement(u,null,g.default.createElement(s,{source:t.get(\"description\")})),g.default.createElement(u,null,g.default.createElement(\"p\",null,\"Name: \",g.default.createElement(\"code\",null,t.get(\"name\")))),g.default.createElement(u,null,g.default.createElement(\"p\",null,\"In: \",g.default.createElement(\"code\",null,t.get(\"in\")))),g.default.createElement(u,null,g.default.createElement(\"label\",null,\"Value:\"),f?g.default.createElement(\"code\",null,\" ****** \"):g.default.createElement(i,null,g.default.createElement(o,{type:\"text\",onChange:this.onChange}))),d.valueSeq().map(function(e,t){return g.default.createElement(l,{error:e,key:t})}))}}]),t}(g.default.Component);b.propTypes={authorized:_.default.object,getComponent:_.default.func.isRequired,errSelectors:_.default.object.isRequired,schema:_.default.object.isRequired,name:_.default.string.isRequired,onChange:_.default.func};var E=function(){var e=this;this.onChange=function(t){var n=e.props.onChange,r=t.target.value,a=(0,o.default)({},e.state,{value:r});e.setState(a),n(a)}};t.default=b},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var a=n(4),o=r(a),u=n(2),i=r(u),l=n(3),s=r(l),c=n(6),f=r(c),d=n(5),p=r(d),h=n(0),m=r(h),v=n(1),g=r(v),y=n(9),_=r(y),b=function(e){function t(){return(0,i.default)(this,t),(0,f.default)(this,(t.__proto__||(0,o.default)(t)).apply(this,arguments))}return(0,p.default)(t,e),(0,s.default)(t,[{key:\"render\",value:function(){var e=this.props,t=e.schema,n=e.name,r=e.getComponent,a=e.onAuthChange,o=e.authorized,u=e.errSelectors,i=r(\"apiKeyAuth\"),l=r(\"basicAuth\"),s=void 0,c=t.get(\"type\");switch(c){case\"apiKey\":s=m.default.createElement(i,{key:n,schema:t,name:n,errSelectors:u,authorized:o,getComponent:r,onChange:a});break;case\"basic\":s=m.default.createElement(l,{key:n,schema:t,name:n,errSelectors:u,authorized:o,getComponent:r,onChange:a});break;default:s=m.default.createElement(\"div\",{key:n},\"Unknown security definition type \",c)}return m.default.createElement(\"div\",{key:n+\"-jump\"},s)}}]),t}(m.default.Component);b.propTypes={schema:_.default.orderedMap.isRequired,name:g.default.string.isRequired,onAuthChange:g.default.func.isRequired,authorized:_.default.orderedMap.isRequired},b.propTypes={errSelectors:g.default.object.isRequired,getComponent:g.default.func.isRequired,authSelectors:g.default.object.isRequired,specSelectors:g.default.object.isRequired,authActions:g.default.object.isRequired,definitions:_.default.iterable.isRequired},t.default=b},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var a=n(4),o=r(a),u=n(2),i=r(u),l=n(3),s=r(l),c=n(6),f=r(c),d=n(5),p=r(d),h=n(0),m=r(h),v=n(1),g=r(v),y=function(e){function t(){var e,n,r,a;(0,i.default)(this,t);for(var u=arguments.length,l=Array(u),s=0;s<u;s++)l[s]=arguments[s];return n=r=(0,f.default)(this,(e=t.__proto__||(0,o.default)(t)).call.apply(e,[this].concat(l))),r.close=function(){r.props.authActions.showDefinitions(!1)},a=n,(0,f.default)(r,a)}return(0,p.default)(t,e),(0,s.default)(t,[{key:\"render\",value:function(){var e=this.props,t=e.authSelectors,n=e.authActions,r=e.getComponent,a=e.errSelectors,o=e.specSelectors,u=e.fn.AST,i=t.shownDefinitions(),l=r(\"auths\");return m.default.createElement(\"div\",{className:\"dialog-ux\"},m.default.createElement(\"div\",{className:\"backdrop-ux\"}),m.default.createElement(\"div\",{className:\"modal-ux\"},m.default.createElement(\"div\",{className:\"modal-dialog-ux\"},m.default.createElement(\"div\",{className:\"modal-ux-inner\"},m.default.createElement(\"div\",{className:\"modal-ux-header\"},m.default.createElement(\"h3\",null,\"Available authorizations\"),m.default.createElement(\"button\",{type:\"button\",className:\"close-modal\",onClick:this.close},m.default.createElement(\"svg\",{width:\"20\",height:\"20\"},m.default.createElement(\"use\",{href:\"#close\",xlinkHref:\"#close\"})))),m.default.createElement(\"div\",{className:\"modal-ux-content\"},i.valueSeq().map(function(e,i){return m.default.createElement(l,{key:i,AST:u,definitions:e,getComponent:r,errSelectors:a,authSelectors:t,authActions:n,specSelectors:o})}))))))}}]),t}(m.default.Component);y.propTypes={fn:g.default.object.isRequired,getComponent:g.default.func.isRequired,authSelectors:g.default.object.isRequired,specSelectors:g.default.object.isRequired,errSelectors:g.default.object.isRequired,authActions:g.default.object.isRequired},t.default=y},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var a=n(4),o=r(a),u=n(2),i=r(u),l=n(3),s=r(l),c=n(6),f=r(c),d=n(5),p=r(d),h=n(0),m=r(h),v=n(1),g=r(v),y=function(e){function t(){var e,n,r,a;(0,i.default)(this,t);for(var u=arguments.length,l=Array(u),s=0;s<u;s++)l[s]=arguments[s];return n=r=(0,f.default)(this,(e=t.__proto__||(0,o.default)(t)).call.apply(e,[this].concat(l))),r.onClick=function(){var e=r.props,t=e.authActions,n=e.authSelectors,a=n.definitionsToAuthorize();t.showDefinitions(a)},a=n,(0,f.default)(r,a)}return(0,p.default)(t,e),(0,s.default)(t,[{key:\"render\",value:function(){var e=this.props,t=e.authSelectors,n=e.getComponent,r=n(\"authorizationPopup\",!0),a=!!t.shownDefinitions(),o=!!t.authorized().size;return m.default.createElement(\"div\",{className:\"auth-wrapper\"},m.default.createElement(\"button\",{className:o?\"btn authorize locked\":\"btn authorize unlocked\",onClick:this.onClick},m.default.createElement(\"span\",null,\"Authorize\"),m.default.createElement(\"svg\",{width:\"20\",height:\"20\"},m.default.createElement(\"use\",{href:o?\"#locked\":\"#unlocked\",xlinkHref:o?\"#locked\":\"#unlocked\"}))),a&&m.default.createElement(r,null))}}]),t}(m.default.Component);y.propTypes={className:g.default.string},y.propTypes={getComponent:g.default.func.isRequired,authSelectors:g.default.object.isRequired,errActions:g.default.object.isRequired,authActions:g.default.object.isRequired},t.default=y},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var a=n(4),o=r(a),u=n(2),i=r(u),l=n(3),s=r(l),c=n(6),f=r(c),d=n(5),p=r(d),h=n(0),m=r(h),v=n(1),g=r(v),y=function(e){function t(){var e,n,r,a;(0,i.default)(this,t);for(var u=arguments.length,l=Array(u),s=0;s<u;s++)l[s]=arguments[s];return n=r=(0,f.default)(this,(e=t.__proto__||(0,o.default)(t)).call.apply(e,[this].concat(l))),r.onClick=function(e){e.stopPropagation();var t=r.props.onClick;t&&t()},a=n,(0,f.default)(r,a)}return(0,p.default)(t,e),(0,s.default)(t,[{key:\"render\",value:function(){var e=this.props.isAuthorized;return m.default.createElement(\"button\",{className:e?\"authorization__btn locked\":\"authorization__btn unlocked\",\"aria-label\":e?\"authorization button locked\":\"authorization button unlocked\",onClick:this.onClick},m.default.createElement(\"svg\",{width:\"20\",height:\"20\"},m.default.createElement(\"use\",{href:e?\"#locked\":\"#unlocked\",xlinkHref:e?\"#locked\":\"#unlocked\"})))}}]),t}(m.default.Component);y.propTypes={isAuthorized:g.default.bool.isRequired,onClick:g.default.func},t.default=y},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var a=n(20),o=r(a),u=n(4),i=r(u),l=n(2),s=r(l),c=n(3),f=r(c),d=n(6),p=r(d),h=n(5),m=r(h),v=n(0),g=r(v),y=n(1),_=r(y),b=n(9),E=r(b),S=function(e){function t(e,n){(0,s.default)(this,t);var r=(0,p.default)(this,(t.__proto__||(0,i.default)(t)).call(this,e,n));return r.onAuthChange=function(e){var t=e.name;r.setState((0,o.default)({},t,e))},r.submitAuth=function(e){e.preventDefault(),r.props.authActions.authorize(r.state)},r.logoutClick=function(e){e.preventDefault();var t=r.props,n=t.authActions,a=t.definitions,o=a.map(function(e,t){return t}).toArray();n.logout(o)},r.close=function(e){e.preventDefault(),r.props.authActions.showDefinitions(!1)},r.state={},r}return(0,m.default)(t,e),(0,f.default)(t,[{key:\"render\",value:function(){var e=this,t=this.props,n=t.definitions,r=t.getComponent,a=t.authSelectors,o=t.errSelectors,u=r(\"AuthItem\"),i=r(\"oauth2\",!0),l=r(\"Button\"),s=a.authorized(),c=n.filter(function(e,t){return!!s.get(t)}),f=n.filter(function(e){return\"oauth2\"!==e.get(\"type\")}),d=n.filter(function(e){return\"oauth2\"===e.get(\"type\")});return g.default.createElement(\"div\",{className:\"auth-container\"},!!f.size&&g.default.createElement(\"form\",{onSubmit:this.submitAuth},f.map(function(t,n){return g.default.createElement(u,{key:n,schema:t,name:n,getComponent:r,onAuthChange:e.onAuthChange,authorized:s,errSelectors:o})}).toArray(),g.default.createElement(\"div\",{className:\"auth-btn-wrapper\"},f.size===c.size?g.default.createElement(l,{className:\"btn modal-btn auth\",onClick:this.logoutClick},\"Logout\"):g.default.createElement(l,{type:\"submit\",className:\"btn modal-btn auth authorize\"},\"Authorize\"),g.default.createElement(l,{className:\"btn modal-btn auth btn-done\",onClick:this.close},\"Close\"))),d&&d.size?g.default.createElement(\"div\",null,g.default.createElement(\"div\",{className:\"scope-def\"},g.default.createElement(\"p\",null,\"Scopes are used to grant an application different levels of access to data on behalf of the end user. Each API may declare one or more scopes.\"),g.default.createElement(\"p\",null,\"API requires the following scopes. Select which ones you want to grant to Swagger UI.\")),n.filter(function(e){return\"oauth2\"===e.get(\"type\")}).map(function(e,t){return g.default.createElement(\"div\",{key:t},g.default.createElement(i,{authorized:s,schema:e,name:t}))}).toArray()):null)}}]),t}(g.default.Component);S.propTypes={definitions:_.default.object.isRequired,getComponent:_.default.func.isRequired,authSelectors:_.default.object.isRequired,authActions:_.default.object.isRequired,specSelectors:_.default.object.isRequired},S.propTypes={errSelectors:_.default.object.isRequired,getComponent:_.default.func.isRequired,authSelectors:_.default.object.isRequired,specSelectors:_.default.object.isRequired,authActions:_.default.object.isRequired,definitions:E.default.iterable.isRequired},t.default=S},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var a=n(4),o=r(a),u=n(2),i=r(u),l=n(3),s=r(l),c=n(6),f=r(c),d=n(5),p=r(d),h=n(0),m=r(h),v=n(1),g=r(v),y=n(9),_=r(y),b=function(e){function t(e,n){(0,i.default)(this,t);var r=(0,f.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,n));E.call(r);var a=r.props,u=a.schema,l=a.name,s=r.getValue(),c=s.username;return r.state={name:l,schema:u,value:c?{username:c}:{}},r}return(0,p.default)(t,e),(0,s.default)(t,[{key:\"getValue\",value:function(){var e=this.props,t=e.authorized,n=e.name;return t&&t.getIn([n,\"value\"])||{}}},{key:\"render\",value:function(){var e=this.props,t=e.schema,n=e.getComponent,r=e.name,a=e.errSelectors,o=n(\"Input\"),u=n(\"Row\"),i=n(\"Col\"),l=n(\"authError\"),s=n(\"JumpToPath\",!0),c=n(\"Markdown\"),f=this.getValue().username,d=a.allErrors().filter(function(e){return e.get(\"authId\")===r});return m.default.createElement(\"div\",null,m.default.createElement(\"h4\",null,\"Basic authorization\",m.default.createElement(s,{path:[\"securityDefinitions\",r]})),f&&m.default.createElement(\"h6\",null,\"Authorized\"),m.default.createElement(u,null,m.default.createElement(c,{source:t.get(\"description\")})),m.default.createElement(u,null,m.default.createElement(\"label\",null,\"Username:\"),f?m.default.createElement(\"code\",null,\" \",f,\" \"):m.default.createElement(i,null,m.default.createElement(o,{type:\"text\",required:\"required\",name:\"username\",onChange:this.onChange}))),m.default.createElement(u,null,m.default.createElement(\"label\",null,\"Password:\"),f?m.default.createElement(\"code\",null,\" ****** \"):m.default.createElement(i,null,m.default.createElement(o,{required:\"required\",autoComplete:\"new-password\",name:\"password\",type:\"password\",onChange:this.onChange}))),d.valueSeq().map(function(e,t){return m.default.createElement(l,{error:e,key:t})}))}}]),t}(m.default.Component);b.propTypes={authorized:g.default.object,getComponent:g.default.func.isRequired,schema:g.default.object.isRequired,onChange:g.default.func.isRequired},b.propTypes={name:g.default.string.isRequired,errSelectors:g.default.object.isRequired,getComponent:g.default.func.isRequired,onChange:g.default.func,schema:_.default.map,authorized:_.default.map};var E=function(){var e=this;this.onChange=function(t){var n=e.props.onChange,r=t.target,a=r.value,o=r.name,u=e.state.value;u[o]=a,e.setState({value:u}),n(e.state)}};t.default=b},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var a=n(4),o=r(a),u=n(2),i=r(u),l=n(3),s=r(l),c=n(6),f=r(c),d=n(5),p=r(d),h=n(0),m=r(h),v=n(1),g=r(v),y=function(e){function t(){return(0,i.default)(this,t),(0,f.default)(this,(t.__proto__||(0,o.default)(t)).apply(this,arguments))}return(0,p.default)(t,e),(0,s.default)(t,[{key:\"render\",value:function(){var e=this.props.error,t=e.get(\"level\"),n=e.get(\"message\"),r=e.get(\"source\");return m.default.createElement(\"div\",{className:\"errors\",style:{backgroundColor:\"#ffeeee\",color:\"red\",margin:\"1em\"}},m.default.createElement(\"b\",{style:{textTransform:\"capitalize\",marginRight:\"1em\"}},r,\" \",t),m.default.createElement(\"span\",null,n))}}]),t}(m.default.Component);y.propTypes={error:g.default.object.isRequired},t.default=y},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var a=n(20),o=r(a),u=n(4),i=r(u),l=n(2),s=r(l),c=n(3),f=r(c),d=n(6),p=r(d),h=n(5),m=r(h),v=n(0),g=r(v),y=n(1),_=r(y),b=n(332),E=r(b),S=function(e){function t(e,n){(0,s.default)(this,t);var r=(0,p.default)(this,(t.__proto__||(0,i.default)(t)).call(this,e,n));x.call(r);var a=r.props,o=a.name,u=a.schema,l=a.authorized,c=a.authSelectors,f=l&&l.get(o),d=c.getConfigs()||{},h=f&&f.get(\"username\")||\"\",m=f&&f.get(\"clientId\")||d.clientId||\"\",v=f&&f.get(\"clientSecret\")||d.clientSecret||\"\",g=f&&f.get(\"passwordType\")||\"request-body\";return r.state={appName:d.appName,name:o,schema:u,scopes:[],clientId:m,clientSecret:v,username:h,password:\"\",passwordType:g},r}return(0,m.default)(t,e),(0,f.default)(t,[{key:\"render\",value:function(){var e=this,t=this.props,n=t.schema,r=t.getComponent,a=t.authSelectors,o=t.errSelectors,u=t.name,i=t.specSelectors,l=r(\"Input\"),s=r(\"Row\"),c=r(\"Col\"),f=r(\"Button\"),d=r(\"authError\"),p=r(\"JumpToPath\",!0),h=r(\"Markdown\"),m=i.isOAS3,v=m()?\"authorizationCode\":\"accessCode\",y=m()?\"clientCredentials\":\"application\",_=n.get(\"flow\"),b=n.get(\"allowedScopes\")||n.get(\"scopes\"),E=a.authorized().get(u),S=!!E,x=o.allErrors().filter(function(e){return e.get(\"authId\")===u}),C=!x.filter(function(e){return\"validation\"===e.get(\"source\")}).size,w=n.get(\"description\");return g.default.createElement(\"div\",null,g.default.createElement(\"h4\",null,u,\" (OAuth2, \",n.get(\"flow\"),\") \",g.default.createElement(p,{path:[\"securityDefinitions\",u]})),this.state.appName?g.default.createElement(\"h5\",null,\"Application: \",this.state.appName,\" \"):null,w&&g.default.createElement(h,{source:n.get(\"description\")}),S&&g.default.createElement(\"h6\",null,\"Authorized\"),(\"implicit\"===_||_===v)&&g.default.createElement(\"p\",null,\"Authorization URL: \",g.default.createElement(\"code\",null,n.get(\"authorizationUrl\"))),(\"password\"===_||_===v||_===y)&&g.default.createElement(\"p\",null,\"Token URL:\",g.default.createElement(\"code\",null,\" \",n.get(\"tokenUrl\"))),g.default.createElement(\"p\",{className:\"flow\"},\"Flow: \",g.default.createElement(\"code\",null,n.get(\"flow\"))),\"password\"!==_?null:g.default.createElement(s,null,g.default.createElement(s,null,g.default.createElement(\"label\",{htmlFor:\"oauth_username\"},\"username:\"),S?g.default.createElement(\"code\",null,\" \",this.state.username,\" \"):g.default.createElement(c,{tablet:10,desktop:10},g.default.createElement(\"input\",{id:\"oauth_username\",type:\"text\",\"data-name\":\"username\",onChange:this.onInputChange}))),g.default.createElement(s,null,g.default.createElement(\"label\",{htmlFor:\"oauth_password\"},\"password:\"),S?g.default.createElement(\"code\",null,\" ****** \"):g.default.createElement(c,{tablet:10,desktop:10},g.default.createElement(\"input\",{id:\"oauth_password\",type:\"password\",\"data-name\":\"password\",onChange:this.onInputChange}))),g.default.createElement(s,null,g.default.createElement(\"label\",{htmlFor:\"password_type\"},\"type:\"),S?g.default.createElement(\"code\",null,\" \",this.state.passwordType,\" \"):g.default.createElement(c,{tablet:10,desktop:10},g.default.createElement(\"select\",{id:\"password_type\",\"data-name\":\"passwordType\",onChange:this.onInputChange},g.default.createElement(\"option\",{value:\"request-body\"},\"Request body\"),g.default.createElement(\"option\",{value:\"basic\"},\"Basic auth\"),g.default.createElement(\"option\",{value:\"query\"},\"Query parameters\"))))),(_===y||\"implicit\"===_||_===v||\"password\"===_&&\"basic\"!==this.state.passwordType)&&(!S||S&&this.state.clientId)&&g.default.createElement(s,null,g.default.createElement(\"label\",{htmlFor:\"client_id\"},\"client_id:\"),S?g.default.createElement(\"code\",null,\" ****** \"):g.default.createElement(c,{tablet:10,desktop:10},g.default.createElement(\"input\",{id:\"client_id\",type:\"text\",required:\"password\"===_,value:this.state.clientId,\"data-name\":\"clientId\",onChange:this.onInputChange}))),(_===y||_===v||\"password\"===_&&\"basic\"!==this.state.passwordType)&&g.default.createElement(s,null,g.default.createElement(\"label\",{htmlFor:\"client_secret\"},\"client_secret:\"),S?g.default.createElement(\"code\",null,\" ****** \"):g.default.createElement(c,{tablet:10,desktop:10},g.default.createElement(\"input\",{id:\"client_secret\",value:this.state.clientSecret,type:\"text\",\"data-name\":\"clientSecret\",onChange:this.onInputChange}))),!S&&b&&b.size?g.default.createElement(\"div\",{className:\"scopes\"},g.default.createElement(\"h2\",null,\"Scopes:\"),b.map(function(t,n){return g.default.createElement(s,{key:n},g.default.createElement(\"div\",{className:\"checkbox\"},g.default.createElement(l,{\"data-value\":n,id:n+\"-\"+_+\"-checkbox-\"+e.state.name,disabled:S,type:\"checkbox\",onChange:e.onScopeChange}),g.default.createElement(\"label\",{htmlFor:n+\"-\"+_+\"-checkbox-\"+e.state.name},g.default.createElement(\"span\",{className:\"item\"}),g.default.createElement(\"div\",{className:\"text\"},g.default.createElement(\"p\",{className:\"name\"},n),g.default.createElement(\"p\",{className:\"description\"},t)))))}).toArray()):null,x.valueSeq().map(function(e,t){return g.default.createElement(d,{error:e,key:t})}),g.default.createElement(\"div\",{className:\"auth-btn-wrapper\"},C&&(S?g.default.createElement(f,{className:\"btn modal-btn auth authorize\",onClick:this.logout},\"Logout\"):g.default.createElement(f,{className:\"btn modal-btn auth authorize\",onClick:this.authorize},\"Authorize\")),g.default.createElement(f,{className:\"btn modal-btn auth btn-done\",onClick:this.close},\"Close\")))}}]),t}(g.default.Component);S.propTypes={name:_.default.string,authorized:_.default.object,getComponent:_.default.func.isRequired,schema:_.default.object.isRequired,authSelectors:_.default.object.isRequired,authActions:_.default.object.isRequired,errSelectors:_.default.object.isRequired,specSelectors:_.default.object.isRequired,errActions:_.default.object.isRequired,getConfigs:_.default.any};var x=function(){var e=this;this.close=function(t){t.preventDefault(),e.props.authActions.showDefinitions(!1)},this.authorize=function(){var t=e.props,n=t.authActions,r=t.errActions,a=t.getConfigs,o=t.authSelectors,u=a(),i=o.getConfigs();r.clear({authId:name,type:\"auth\",source:\"auth\"}),(0,E.default)({auth:e.state,authActions:n,errActions:r,configs:u,authConfigs:i})},this.onScopeChange=function(t){var n=t.target,r=n.checked,a=n.dataset.value;if(r&&-1===e.state.scopes.indexOf(a)){var o=e.state.scopes.concat([a]);e.setState({scopes:o})}else!r&&e.state.scopes.indexOf(a)>-1&&e.setState({scopes:e.state.scopes.filter(function(e){return e!==a})})},this.onInputChange=function(t){var n=t.target,r=n.dataset.name,a=n.value,u=(0,o.default)({},r,a);e.setState(u)},this.logout=function(t){t.preventDefault();var n=e.props,r=n.authActions,a=n.errActions,o=n.name;a.clear({authId:o,type:\"auth\",source:\"auth\"}),r.logout([o])}};t.default=S},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var a=n(4),o=r(a),u=n(2),i=r(u),l=n(3),s=r(l),c=n(6),f=r(c),d=n(5),p=r(d),h=n(0),m=r(h),v=n(1),g=r(v),y=function(e){function t(){var e,n,r,a;(0,i.default)(this,t);for(var u=arguments.length,l=Array(u),s=0;s<u;s++)l[s]=arguments[s];return n=r=(0,f.default)(this,(e=t.__proto__||(0,o.default)(t)).call.apply(e,[this].concat(l))),r.onClick=function(){var e=r.props,t=e.specActions,n=e.path,a=e.method;t.clearResponse(n,a),t.clearRequest(n,a)},a=n,(0,f.default)(r,a)}return(0,p.default)(t,e),(0,s.default)(t,[{key:\"render\",value:function(){return m.default.createElement(\"button\",{className:\"btn btn-clear opblock-control__btn\",onClick:this.onClick},\"Clear\")}}]),t}(h.Component);y.propTypes={specActions:g.default.object.isRequired,path:g.default.string.isRequired,method:g.default.string.isRequired},t.default=y},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var a=n(4),o=r(a),u=n(2),i=r(u),l=n(3),s=r(l),c=n(6),f=r(c),d=n(5),p=r(d),h=n(0),m=r(h),v=n(1),g=r(v),y=n(9),_=r(y),b=n(7),E=function(){},S=function(e){function t(){var e,n,r,a;(0,i.default)(this,t);for(var u=arguments.length,l=Array(u),s=0;s<u;s++)l[s]=arguments[s];return n=r=(0,f.default)(this,(e=t.__proto__||(0,o.default)(t)).call.apply(e,[this].concat(l))),r.onChangeWrapper=function(e){return r.props.onChange(e.target.value)},a=n,(0,f.default)(r,a)}return(0,p.default)(t,e),(0,s.default)(t,[{key:\"componentDidMount\",value:function(){this.props.contentTypes&&this.props.onChange(this.props.contentTypes.first())}},{key:\"componentWillReceiveProps\",value:function(e){e.contentTypes&&e.contentTypes.size&&(e.contentTypes.includes(e.value)||e.onChange(e.contentTypes.first()))}},{key:\"render\",value:function(){var e=this.props,t=e.contentTypes,n=e.className,r=e.value;return t&&t.size?m.default.createElement(\"div\",{className:\"content-type-wrapper \"+(n||\"\")},m.default.createElement(\"select\",{className:\"content-type\",value:r||\"\",onChange:this.onChangeWrapper},t.map(function(e){return m.default.createElement(\"option\",{key:e,value:e},e)}).toArray())):null}}]),t}(m.default.Component);S.propTypes={contentTypes:g.default.oneOfType([_.default.list,_.default.set,_.default.seq]),value:g.default.string,onChange:g.default.func,className:g.default.string},S.defaultProps={onChange:E,value:null,contentTypes:(0,b.fromJS)([\"application/json\"])},t.default=S},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var a=n(4),o=r(a),u=n(2),i=r(u),l=n(3),s=r(l),c=n(6),f=r(c),d=n(5),p=r(d),h=n(0),m=r(h),v=n(1),g=r(v),y=n(330),_=r(y),b=function(e){function t(){return(0,i.default)(this,t),(0,f.default)(this,(t.__proto__||(0,o.default)(t)).apply(this,arguments))}return(0,p.default)(t,e),(0,s.default)(t,[{key:\"handleFocus\",value:function(e){e.target.select(),document.execCommand(\"copy\")}},{key:\"render\",value:function(){var e=this.props.request,t=(0,_.default)(e);return m.default.createElement(\"div\",null,m.default.createElement(\"h4\",null,\"Curl\"),m.default.createElement(\"div\",{className:\"copy-paste\"},m.default.createElement(\"textarea\",{onFocus:this.handleFocus,readOnly:\"true\",className:\"curl\",style:{whiteSpace:\"normal\"},value:t})))}}]),t}(m.default.Component);b.propTypes={request:g.default.object.isRequired},t.default=b},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.DeepLink=void 0;var a=n(0),o=r(a),u=n(1),i=r(u),l=t.DeepLink=function(e){var t=e.enabled,n=e.path,r=e.text;return o.default.createElement(\"a\",{className:\"nostyle\",onClick:t?function(e){return e.preventDefault()}:null,href:t?\"#/\"+n:null},o.default.createElement(\"span\",null,r))};l.propTypes={enabled:i.default.bool,isShown:i.default.bool,path:i.default.string,text:i.default.string},t.default=l},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var a=n(0),o=r(a),u=n(9),i=r(u),l=function(e){var t=e.value,n=e.getComponent,r=n(\"ModelCollapse\"),a=o.default.createElement(\"span\",null,\"Array [ \",t.count(),\" ]\");return o.default.createElement(\"span\",{className:\"prop-enum\"},\"Enum:\",o.default.createElement(\"br\",null),o.default.createElement(r,{collapsedContent:a},\"[ \",t.join(\", \"),\" ]\"))};l.propTypes={value:i.default.iterable,getComponent:i.default.func},t.default=l},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function a(e){return(e||\"\").split(\" \").map(function(e){return e[0].toUpperCase()+e.slice(1)}).join(\" \")}Object.defineProperty(t,\"__esModule\",{value:!0});var o=n(4),u=r(o),i=n(2),l=r(i),s=n(3),c=r(s),f=n(6),d=r(f),p=n(5),h=r(p),m=n(0),v=r(m),g=n(1),y=r(g),_=n(7),b=n(276),E=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,(t.__proto__||(0,u.default)(t)).apply(this,arguments))}return(0,h.default)(t,e),(0,c.default)(t,[{key:\"render\",value:function(){var e=this.props,t=e.editorActions,n=e.errSelectors,r=e.layoutSelectors,a=e.layoutActions;if(t&&t.jumpToLine)var o=t.jumpToLine;var u=n.allErrors(),i=u.filter(function(e){return\"thrown\"===e.get(\"type\")||\"error\"===e.get(\"level\")});if(!i||i.count()<1)return null;var l=r.isShown([\"errorPane\"],!0),s=function(){return a.show([\"errorPane\"],!l)},c=i.sortBy(function(e){return e.get(\"line\")});return v.default.createElement(\"pre\",{className:\"errors-wrapper\"},v.default.createElement(\"hgroup\",{className:\"error\"},v.default.createElement(\"h4\",{className:\"errors__title\"},\"Errors\"),v.default.createElement(\"button\",{className:\"btn errors__clear-btn\",onClick:s},l?\"Hide\":\"Show\")),v.default.createElement(b.Collapse,{isOpened:l,animated:!0},v.default.createElement(\"div\",{className:\"errors\"},c.map(function(e,t){var n=e.get(\"type\");return\"thrown\"===n||\"auth\"===n?v.default.createElement(S,{key:t,error:e.get(\"error\")||e,jumpToLine:o}):\"spec\"===n?v.default.createElement(x,{key:t,error:e,jumpToLine:o}):void 0}))))}}]),t}(v.default.Component);E.propTypes={editorActions:y.default.object,errSelectors:y.default.object.isRequired,layoutSelectors:y.default.object.isRequired,layoutActions:y.default.object.isRequired},t.default=E;var S=function(e){var t=e.error,n=e.jumpToLine;if(!t)return null;var r=t.get(\"line\");return v.default.createElement(\"div\",{className:\"error-wrapper\"},t?v.default.createElement(\"div\",null,v.default.createElement(\"h4\",null,t.get(\"source\")&&t.get(\"level\")?a(t.get(\"source\"))+\" \"+t.get(\"level\"):\"\",t.get(\"path\")?v.default.createElement(\"small\",null,\" at \",t.get(\"path\")):null),v.default.createElement(\"span\",{style:{whiteSpace:\"pre-line\",maxWidth:\"100%\"}},t.get(\"message\")),v.default.createElement(\"div\",{style:{\"text-decoration\":\"underline\",cursor:\"pointer\"}},r&&n?v.default.createElement(\"a\",{onClick:n.bind(null,r)},\"Jump to line \",r):null)):null)},x=function(e){var t=e.error,n=e.jumpToLine,r=null;return t.get(\"path\")?r=_.List.isList(t.get(\"path\"))?v.default.createElement(\"small\",null,\"at \",t.get(\"path\").join(\".\")):v.default.createElement(\"small\",null,\"at \",t.get(\"path\")):t.get(\"line\")&&!n&&(r=v.default.createElement(\"small\",null,\"on line \",t.get(\"line\"))),v.default.createElement(\"div\",{className:\"error-wrapper\"},t?v.default.createElement(\"div\",null,v.default.createElement(\"h4\",null,a(t.get(\"source\"))+\" \"+t.get(\"level\"),\" \",r),v.default.createElement(\"span\",{style:{whiteSpace:\"pre-line\"}},t.get(\"message\")),v.default.createElement(\"div\",{style:{\"text-decoration\":\"underline\",cursor:\"pointer\"}},n?v.default.createElement(\"a\",{onClick:n.bind(null,t.get(\"line\"))},\"Jump to line \",t.get(\"line\")):null)):null)};S.propTypes={error:y.default.object.isRequired,jumpToLine:y.default.func},S.defaultProps={jumpToLine:null},x.propTypes={error:y.default.object.isRequired,jumpToLine:y.default.func}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var a=n(4),o=r(a),u=n(2),i=r(u),l=n(3),s=r(l),c=n(6),f=r(c),d=n(5),p=r(d),h=n(0),m=r(h),v=n(1),g=r(v),y=function(e){function t(){var e,n,r,a;(0,i.default)(this,t);for(var u=arguments.length,l=Array(u),s=0;s<u;s++)l[s]=arguments[s];return n=r=(0,f.default)(this,(e=t.__proto__||(0,o.default)(t)).call.apply(e,[this].concat(l))),r.onClick=function(){var e=r.props,t=e.specSelectors,n=e.specActions,a=e.operation,o=e.path,u=e.method;n.validateParams([o,u]),t.validateBeforeExecute([o,u])&&(r.props.onExecute&&r.props.onExecute(),n.execute({operation:a,path:o,method:u}))},r.onChangeProducesWrapper=function(e){return r.props.specActions.changeProducesValue([r.props.path,r.props.method],e)},a=n,(0,f.default)(r,a)}return(0,p.default)(t,e),(0,s.default)(t,[{key:\"render\",value:function(){return m.default.createElement(\"button\",{className:\"btn execute opblock-control__btn\",onClick:this.onClick},\"Execute\")}}]),t}(h.Component);y.propTypes={specSelectors:g.default.object.isRequired,specActions:g.default.object.isRequired,operation:g.default.object.isRequired,path:g.default.string.isRequired,method:g.default.string.isRequired,onExecute:g.default.func},t.default=y},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var a=n(4),o=r(a),u=n(2),i=r(u),l=n(3),s=r(l),c=n(6),f=r(c),d=n(5),p=r(d),h=n(0),m=r(h),v=function(e){function t(){return(0,i.default)(this,t),(0,f.default)(this,(t.__proto__||(0,o.default)(t)).apply(this,arguments))}return(0,p.default)(t,e),(0,s.default)(t,[{key:\"render\",value:function(){return m.default.createElement(\"div\",{className:\"footer\"})}}]),t}(m.default.Component);t.default=v},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var a=n(11),o=r(a),u=n(4),i=r(u),l=n(2),s=r(l),c=n(3),f=r(c),d=n(6),p=r(d),h=n(5),m=r(h),v=n(0),g=r(v),y=n(1),_=r(y),b=n(7),E=r(b),S={color:\"#999\",fontStyle:\"italic\"},x=function(e){function t(){return(0,s.default)(this,t),(0,p.default)(this,(t.__proto__||(0,i.default)(t)).apply(this,arguments))}return(0,m.default)(t,e),(0,f.default)(t,[{key:\"render\",value:function(){var e=this.props,t=e.headers,n=e.getComponent,r=n(\"Property\");return t&&t.size?g.default.createElement(\"div\",{className:\"headers-wrapper\"},g.default.createElement(\"h4\",{className:\"headers__title\"},\"Headers:\"),g.default.createElement(\"table\",{className:\"headers\"},g.default.createElement(\"thead\",null,g.default.createElement(\"tr\",{className:\"header-row\"},g.default.createElement(\"th\",{className:\"header-col\"},\"Name\"),g.default.createElement(\"th\",{className:\"header-col\"},\"Description\"),g.default.createElement(\"th\",{className:\"header-col\"},\"Type\"))),g.default.createElement(\"tbody\",null,t.entrySeq().map(function(e){var t=(0,o.default)(e,2),n=t[0],a=t[1];if(!E.default.Map.isMap(a))return null;var u=a.getIn([\"schema\"])?a.getIn([\"schema\",\"type\"]):a.getIn([\"type\"]),i=a.getIn([\"schema\",\"example\"]);return g.default.createElement(\"tr\",{key:n},g.default.createElement(\"td\",{className:\"header-col\"},n),g.default.createElement(\"td\",{className:\"header-col\"},a.get(\"description\")),g.default.createElement(\"td\",{className:\"header-col\"},u,\" \",i?g.default.createElement(r,{propKey:\"Example\",propVal:i,propStyle:S}):null))}).toArray()))):null}}]),t}(g.default.Component);x.propTypes={headers:_.default.object.isRequired,getComponent:_.default.func.isRequired},t.default=x},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var a=n(4),o=r(a),u=n(2),i=r(u),l=n(3),s=r(l),c=n(6),f=r(c),d=n(5),p=r(d),h=n(0),m=r(h),v=n(1),g=r(v),y=n(8),_=function(e){function t(){var e,n,r,a;(0,i.default)(this,t);for(var u=arguments.length,l=Array(u),s=0;s<u;s++)l[s]=arguments[s];return n=r=(0,f.default)(this,(e=t.__proto__||(0,o.default)(t)).call.apply(e,[this].concat(l))),r.initializeComponent=function(e){r.el=e},a=n,(0,f.default)(r,a)}return(0,p.default)(t,e),(0,s.default)(t,[{key:\"componentDidMount\",value:function(){(0,y.highlight)(this.el)}},{key:\"componentDidUpdate\",value:function(){(0,y.highlight)(this.el)}},{key:\"render\",value:function(){var e=this.props,t=e.value,n=e.className;return n=n||\"\",m.default.createElement(\"pre\",{ref:this.initializeComponent,className:n+\" microlight\"},t)}}]),t}(h.Component);_.propTypes={value:g.default.string.isRequired,className:g.default.string},t.default=_},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.InfoUrl=t.InfoBasePath=void 0;var a=n(4),o=r(a),u=n(2),i=r(u),l=n(3),s=r(l),c=n(6),f=r(c),d=n(5),p=r(d),h=n(0),m=r(h),v=n(1),g=r(v),y=n(7),_=n(9),b=r(_),E=n(8);(t.InfoBasePath=function(e){function t(){return(0,i.default)(this,t),(0,f.default)(this,(t.__proto__||(0,o.default)(t)).apply(this,arguments))}return(0,p.default)(t,e),(0,s.default)(t,[{key:\"render\",value:function(){var e=this.props,t=e.host,n=e.basePath;return m.default.createElement(\"pre\",{className:\"base-url\"},\"[ Base URL: \",t,n,\" ]\")}}]),t}(m.default.Component)).propTypes={host:g.default.string,basePath:g.default.string};var S=function(e){function t(){return(0,i.default)(this,t),(0,f.default)(this,(t.__proto__||(0,o.default)(t)).apply(this,arguments))}return(0,p.default)(t,e),(0,s.default)(t,[{key:\"render\",value:function(){var e=this.props.data,t=e.get(\"name\")||\"the developer\",n=e.get(\"url\"),r=e.get(\"email\");return m.default.createElement(\"div\",null,n&&m.default.createElement(\"div\",null,m.default.createElement(\"a\",{href:(0,E.sanitizeUrl)(n),target:\"_blank\"},t,\" - Website\")),r&&m.default.createElement(\"a\",{href:(0,E.sanitizeUrl)(\"mailto:\"+r)},n?\"Send email to \"+t:\"Contact \"+t))}}]),t}(m.default.Component);S.propTypes={data:g.default.object};var x=function(e){function t(){return(0,i.default)(this,t),(0,f.default)(this,(t.__proto__||(0,o.default)(t)).apply(this,arguments))}return(0,p.default)(t,e),(0,s.default)(t,[{key:\"render\",value:function(){var e=this.props.license,t=e.get(\"name\")||\"License\",n=e.get(\"url\");return m.default.createElement(\"div\",null,n?m.default.createElement(\"a\",{target:\"_blank\",href:(0,E.sanitizeUrl)(n)},t):m.default.createElement(\"span\",null,t))}}]),t}(m.default.Component);x.propTypes={license:g.default.object},(t.InfoUrl=function(e){function t(){return(0,i.default)(this,t),(0,f.default)(this,(t.__proto__||(0,o.default)(t)).apply(this,arguments))}return(0,p.default)(t,e),(0,s.default)(t,[{key:\"render\",value:function(){var e=this.props.url;return m.default.createElement(\"a\",{target:\"_blank\",href:(0,E.sanitizeUrl)(e)},m.default.createElement(\"span\",{className:\"url\"},\" \",e,\" \"))}}]),t}(m.default.PureComponent)).propTypes={url:g.default.string.isRequired};var C=function(e){function t(){return(0,i.default)(this,t),(0,f.default)(this,(t.__proto__||(0,o.default)(t)).apply(this,arguments))}return(0,p.default)(t,e),(0,s.default)(t,[{key:\"render\",value:function(){var e=this.props,t=e.info,n=e.url,r=e.host,a=e.basePath,o=e.getComponent,u=e.externalDocs,i=t.get(\"version\"),l=t.get(\"description\"),s=t.get(\"title\"),c=t.get(\"termsOfService\"),f=t.get(\"contact\"),d=t.get(\"license\"),p=(u||(0,y.fromJS)({})).toJS(),h=p.url,v=p.description,g=o(\"Markdown\"),_=o(\"VersionStamp\"),b=o(\"InfoUrl\"),C=o(\"InfoBasePath\");return m.default.createElement(\"div\",{className:\"info\"},m.default.createElement(\"hgroup\",{className:\"main\"},m.default.createElement(\"h2\",{className:\"title\"},s,i&&m.default.createElement(_,{version:i})),r||a?m.default.createElement(C,{host:r,basePath:a}):null,n&&m.default.createElement(b,{url:n})),m.default.createElement(\"div\",{className:\"description\"},m.default.createElement(g,{source:l})),c&&m.default.createElement(\"div\",null,m.default.createElement(\"a\",{target:\"_blank\",href:(0,E.sanitizeUrl)(c)},\"Terms of service\")),f&&f.size?m.default.createElement(S,{data:f}):null,d&&d.size?m.default.createElement(x,{license:d}):null,h?m.default.createElement(\"a\",{target:\"_blank\",href:(0,E.sanitizeUrl)(h)},v||h):null)}}]),t}(m.default.Component);C.propTypes={info:g.default.object,url:g.default.string,host:g.default.string,basePath:g.default.string,externalDocs:b.default.map,getComponent:g.default.func.isRequired},t.default=C,C.propTypes={title:g.default.any,description:g.default.any,version:g.default.any,url:g.default.string}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var a=n(4),o=r(a),u=n(2),i=r(u),l=n(3),s=r(l),c=n(6),f=r(c),d=n(5),p=r(d),h=n(0),m=r(h),v=n(1),g=r(v),y=function(e){function t(){var e,n,r,a;(0,i.default)(this,t);for(var u=arguments.length,l=Array(u),s=0;s<u;s++)l[s]=arguments[s];return n=r=(0,f.default)(this,(e=t.__proto__||(0,o.default)(t)).call.apply(e,[this].concat(l))),r.onFilterChange=function(e){var t=e.target.value;r.props.layoutActions.updateFilter(t)},a=n,(0,f.default)(r,a)}return(0,p.default)(t,e),(0,s.default)(t,[{key:\"render\",value:function(){var e=this.props,t=e.specSelectors,n=e.specActions,r=e.getComponent,a=e.layoutSelectors,o=e.oas3Selectors,u=e.oas3Actions,i=t.info(),l=t.url(),s=t.basePath(),c=t.host(),f=t.securityDefinitions(),d=t.externalDocs(),p=t.schemes(),h=t.servers(),v=r(\"info\"),g=r(\"operations\",!0),y=r(\"Models\",!0),_=r(\"authorizeBtn\",!0),b=r(\"Row\"),E=r(\"Col\"),S=r(\"Servers\"),x=r(\"errors\",!0),C=\"loading\"===t.loadingStatus(),w=\"failed\"===t.loadingStatus(),j=a.currentFilter(),A={};w&&(A.color=\"red\"),C&&(A.color=\"#aaa\");var R=r(\"schemes\");if(!t.specStr()){var O=void 0;return O=C?m.default.createElement(\"div\",{className:\"loading\"}):m.default.createElement(\"h4\",null,\"No API definition provided.\"),m.default.createElement(\"div\",{className:\"swagger-ui\"},m.default.createElement(\"div\",{className:\"loading-container\"},O))}return m.default.createElement(\"div\",{className:\"swagger-ui\"},m.default.createElement(\"div\",null,m.default.createElement(x,null),m.default.createElement(b,{className:\"information-container\"},m.default.createElement(E,{mobile:12},i.count()?m.default.createElement(v,{info:i,url:l,host:c,basePath:s,externalDocs:d,getComponent:r}):null)),p&&p.size||f?m.default.createElement(\"div\",{className:\"scheme-container\"},m.default.createElement(E,{className:\"schemes wrapper\",mobile:12},p&&p.size?m.default.createElement(R,{currentScheme:t.operationScheme(),schemes:p,specActions:n}):null,f?m.default.createElement(_,null):null)):null,h&&h.size?m.default.createElement(\"div\",{className:\"global-server-container\"},m.default.createElement(E,{className:\"servers wrapper\",mobile:12},m.default.createElement(\"span\",{className:\"servers-title\"},\"Server\"),m.default.createElement(S,{servers:h,currentServer:o.selectedServer(),setSelectedServer:u.setSelectedServer,setServerVariableValue:u.setServerVariableValue,getServerVariable:o.serverVariableValue,getEffectiveServerValue:o.serverEffectiveValue}))):null,null===j||!1===j?null:m.default.createElement(\"div\",{className:\"filter-container\"},m.default.createElement(E,{className:\"filter wrapper\",mobile:12},m.default.createElement(\"input\",{className:\"operation-filter-input\",placeholder:\"Filter by tag\",type:\"text\",onChange:this.onFilterChange,value:!0===j||\"true\"===j?\"\":j,disabled:C,style:A}))),m.default.createElement(b,null,m.default.createElement(E,{mobile:12,desktop:12},m.default.createElement(g,null))),m.default.createElement(b,null,m.default.createElement(E,{mobile:12,desktop:12},m.default.createElement(y,null)))))}}]),t}(m.default.Component);y.propTypes={errSelectors:g.default.object.isRequired,errActions:g.default.object.isRequired,specActions:g.default.object.isRequired,specSelectors:g.default.object.isRequired,oas3Selectors:g.default.object.isRequired,oas3Actions:g.default.object.isRequired,layoutSelectors:g.default.object.isRequired,layoutActions:g.default.object.isRequired,getComponent:g.default.func.isRequired},t.default=y},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var a=n(31),o=r(a),u=n(4),i=r(u),l=n(2),s=r(l),c=n(3),f=r(c),d=n(6),p=r(d),h=n(5),m=r(h),v=n(0),g=r(v),y=n(1),_=r(y),b=n(9),E=r(b),S=n(7),x=function(e){var t=e.headers;return g.default.createElement(\"div\",null,g.default.createElement(\"h5\",null,\"Response headers\"),g.default.createElement(\"pre\",null,t))};x.propTypes={headers:_.default.array.isRequired};var C=function(e){var t=e.duration;return g.default.createElement(\"div\",null,g.default.createElement(\"h5\",null,\"Request duration\"),g.default.createElement(\"pre\",null,t,\" ms\"))};C.propTypes={duration:_.default.number.isRequired};var w=function(e){function t(){return(0,s.default)(this,t),(0,p.default)(this,(t.__proto__||(0,i.default)(t)).apply(this,arguments))}return(0,m.default)(t,e),(0,f.default)(t,[{key:\"shouldComponentUpdate\",value:function(e){return this.props.response!==e.response||this.props.path!==e.path||this.props.method!==e.method||this.props.displayRequestDuration!==e.displayRequestDuration}},{key:\"render\",value:function(){var e=this.props,t=e.response,n=e.getComponent,r=e.getConfigs,a=e.displayRequestDuration,u=e.specSelectors,i=e.path,l=e.method,s=r(),c=s.showMutatedRequest,f=c?u.mutatedRequestFor(i,l):u.requestFor(i,l),d=t.get(\"status\"),p=f.get(\"url\"),h=t.get(\"headers\").toJS(),m=t.get(\"notDocumented\"),v=t.get(\"error\"),y=t.get(\"text\"),_=t.get(\"duration\"),b=(0,o.default)(h),E=h[\"content-type\"],S=n(\"curl\"),w=n(\"responseBody\"),j=b.map(function(e){return g.default.createElement(\"span\",{className:\"headerline\",key:e},\" \",e,\": \",h[e],\" \")}),A=0!==j.length;return g.default.createElement(\"div\",null,f&&g.default.createElement(S,{request:f}),p&&g.default.createElement(\"div\",null,g.default.createElement(\"h4\",null,\"Request URL\"),g.default.createElement(\"div\",{className:\"request-url\"},g.default.createElement(\"pre\",null,p))),g.default.createElement(\"h4\",null,\"Server response\"),g.default.createElement(\"table\",{className:\"responses-table\"},g.default.createElement(\"thead\",null,g.default.createElement(\"tr\",{className:\"responses-header\"},g.default.createElement(\"td\",{className:\"col col_header response-col_status\"},\"Code\"),g.default.createElement(\"td\",{className:\"col col_header response-col_description\"},\"Details\"))),g.default.createElement(\"tbody\",null,g.default.createElement(\"tr\",{className:\"response\"},g.default.createElement(\"td\",{className:\"col response-col_status\"},d,m?g.default.createElement(\"div\",{className:\"response-undocumented\"},g.default.createElement(\"i\",null,\" Undocumented \")):null),g.default.createElement(\"td\",{className:\"col response-col_description\"},v?g.default.createElement(\"span\",null,t.get(\"name\")+\": \"+t.get(\"message\")):null,y?g.default.createElement(w,{content:y,contentType:E,url:p,headers:h,getComponent:n}):null,A?g.default.createElement(x,{headers:j}):null,a&&_?g.default.createElement(C,{duration:_}):null)))))}}]),t}(g.default.Component);w.propTypes={response:_.default.instanceOf(S.Iterable).isRequired,path:_.default.string.isRequired,method:_.default.string.isRequired,displayRequestDuration:_.default.bool.isRequired,specSelectors:_.default.object.isRequired,getComponent:_.default.func.isRequired,getConfigs:_.default.func.isRequired},w.propTypes={getComponent:_.default.func.isRequired,response:E.default.map},t.default=w},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var a=n(4),o=r(a),u=n(2),i=r(u),l=n(3),s=r(l),c=n(6),f=r(c),d=n(5),p=r(d),h=n(0),m=r(h),v=n(1),g=r(v),y=function(e){function t(e,n){(0,i.default)(this,t);var r=(0,f.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,n));r.toggleCollapsed=function(){r.props.onToggle&&r.props.onToggle(r.props.modelName,!r.state.expanded),r.setState({expanded:!r.state.expanded})};var a=r.props,u=a.expanded,l=a.collapsedContent;return r.state={expanded:u,collapsedContent:l||t.defaultProps.collapsedContent},r}return(0,p.default)(t,e),(0,s.default)(t,[{key:\"componentDidMount\",value:function(){var e=this.props,t=e.hideSelfOnExpand,n=e.expanded,r=e.modelName;t&&n&&this.props.onToggle(r,n)}},{key:\"componentWillReceiveProps\",value:function(e){this.props.expanded!==e.expanded&&this.setState({expanded:e.expanded})}},{key:\"render\",value:function(){var e=this.props,t=e.title,n=e.classes;return this.state.expanded&&this.props.hideSelfOnExpand?m.default.createElement(\"span\",{className:n||\"\"},this.props.children):m.default.createElement(\"span\",{className:n||\"\"},t&&m.default.createElement(\"span\",{onClick:this.toggleCollapsed,style:{cursor:\"pointer\"}},t),m.default.createElement(\"span\",{onClick:this.toggleCollapsed,style:{cursor:\"pointer\"}},m.default.createElement(\"span\",{className:\"model-toggle\"+(this.state.expanded?\"\":\" collapsed\")})),this.state.expanded?this.props.children:this.state.collapsedContent)}}]),t}(h.Component);y.propTypes={collapsedContent:g.default.any,expanded:g.default.bool,children:g.default.any,title:g.default.element,modelName:g.default.string,classes:g.default.string,onToggle:g.default.func,hideSelfOnExpand:g.default.bool},y.defaultProps={collapsedContent:\"{...}\",expanded:!1,title:null,onToggle:function(){},hideSelfOnExpand:!1},t.default=y},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var a=n(4),o=r(a),u=n(2),i=r(u),l=n(3),s=r(l),c=n(6),f=r(c),d=n(5),p=r(d),h=n(0),m=r(h),v=n(1),g=r(v),y=n(9),_=r(y),b=function(e){function t(e,n){(0,i.default)(this,t);var r=(0,f.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,n));r.activeTab=function(e){var t=e.target.dataset.name;r.setState({activeTab:t})};var a=r.props.getConfigs,u=a(),l=u.defaultModelRendering;return\"example\"!==l&&\"model\"!==l&&(l=\"example\"),r.state={activeTab:l},r}return(0,p.default)(t,e),(0,s.default)(t,[{key:\"render\",value:function(){var e=this.props,t=e.getComponent,n=e.specSelectors,r=e.schema,a=e.example,o=e.isExecute,u=e.getConfigs,i=e.specPath,l=u(),s=l.defaultModelExpandDepth,c=t(\"ModelWrapper\");return m.default.createElement(\"div\",null,m.default.createElement(\"ul\",{className:\"tab\"},m.default.createElement(\"li\",{className:\"tabitem\"+(o||\"example\"===this.state.activeTab?\" active\":\"\")},m.default.createElement(\"a\",{className:\"tablinks\",\"data-name\":\"example\",onClick:this.activeTab},\"Example Value\")),r?m.default.createElement(\"li\",{className:\"tabitem\"+(o||\"model\"!==this.state.activeTab?\"\":\" active\")},m.default.createElement(\"a\",{className:\"tablinks\"+(o?\" inactive\":\"\"),\"data-name\":\"model\",onClick:this.activeTab},\"Model\")):null),m.default.createElement(\"div\",null,(o||\"example\"===this.state.activeTab)&&a,!o&&\"model\"===this.state.activeTab&&m.default.createElement(c,{schema:r,getComponent:t,getConfigs:u,specSelectors:n,expandDepth:s,specPath:i})))}}]),t}(m.default.Component);b.propTypes={getComponent:g.default.func.isRequired,specSelectors:g.default.object.isRequired,schema:g.default.object.isRequired,example:g.default.any.isRequired,isExecute:g.default.bool,getConfigs:g.default.func.isRequired,specPath:_.default.list.isRequired},t.default=b},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var a=n(13),o=r(a),u=n(4),i=r(u),l=n(2),s=r(l),c=n(3),f=r(c),d=n(6),p=r(d),h=n(5),m=r(h),v=n(0),g=r(v),y=n(1),_=r(y),b=function(e){function t(){var e,n,r,a;(0,s.default)(this,t);for(var o=arguments.length,u=Array(o),l=0;l<o;l++)u[l]=arguments[l];return n=r=(0,p.default)(this,(e=t.__proto__||(0,i.default)(t)).call.apply(e,[this].concat(u))),r.onToggle=function(e,t){r.props.layoutActions&&r.props.layoutActions.show([\"models\",e],t)},a=n,(0,p.default)(r,a)}return(0,m.default)(t,e),(0,f.default)(t,[{key:\"render\",value:function(){var e=this.props,t=e.getComponent,n=e.getConfigs,r=t(\"Model\"),a=void 0;return this.props.layoutSelectors&&(a=this.props.layoutSelectors.isShown([\"models\",this.props.name])),g.default.createElement(\"div\",{className:\"model-box\"},g.default.createElement(r,(0,o.default)({},this.props,{getConfigs:n,expanded:a,depth:1,onToggle:this.onToggle,expandDepth:this.props.expandDepth||0})))}}]),t}(v.Component);b.propTypes={schema:_.default.object.isRequired,name:_.default.string,getComponent:_.default.func.isRequired,getConfigs:_.default.func.isRequired,specSelectors:_.default.object.isRequired,expandDepth:_.default.number,layoutActions:_.default.object,layoutSelectors:_.default.object.isRequired},t.default=b},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var a=n(11),o=r(a),u=n(53),i=r(u),l=n(4),s=r(l),c=n(2),f=r(c),d=n(3),p=r(d),h=n(6),m=r(h),v=n(5),g=r(v),y=n(0),_=r(y),b=n(7),E=r(b),S=n(1),x=r(S),C=function(e){function t(){var e,n,r,a;(0,f.default)(this,t);for(var o=arguments.length,u=Array(o),l=0;l<o;l++)u[l]=arguments[l];return n=r=(0,m.default)(this,(e=t.__proto__||(0,s.default)(t)).call.apply(e,[this].concat(u))),r.getSchemaBasePath=function(){return r.props.specSelectors.isOAS3()?[\"components\",\"schemas\"]:[\"definitions\"]},r.getCollapsedContent=function(){return\" \"},r.handleToggle=function(e,t){r.props.layoutActions.show([\"models\",e],t),t&&r.props.specActions.requestResolvedSubtree([].concat((0,i.default)(r.getSchemaBasePath()),[e]))},a=n,(0,m.default)(r,a)}return(0,g.default)(t,e),(0,p.default)(t,[{key:\"render\",value:function(){var e=this,t=this.props,n=t.specSelectors,r=t.getComponent,a=t.layoutSelectors,u=t.layoutActions,l=t.getConfigs,s=n.definitions(),c=l(),f=c.docExpansion,d=c.defaultModelsExpandDepth;if(!s.size||d<0)return null;var p=a.isShown(\"models\",d>0&&\"none\"!==f),h=this.getSchemaBasePath(),m=r(\"ModelWrapper\"),v=r(\"Collapse\"),g=r(\"ModelCollapse\");return _.default.createElement(\"section\",{className:p?\"models is-open\":\"models\"},_.default.createElement(\"h4\",{onClick:function(){return u.show(\"models\",!p)}},_.default.createElement(\"span\",null,\"Models\"),_.default.createElement(\"svg\",{width:\"20\",height:\"20\"},_.default.createElement(\"use\",{xlinkHref:p?\"#large-arrow-down\":\"#large-arrow\"}))),_.default.createElement(v,{isOpened:p},s.entrySeq().map(function(t){var s=(0,o.default)(t,1),c=s[0],f=n.specResolvedSubtree([].concat((0,i.default)(h),[c]));a.isShown([\"models\",c],!1)&&void 0===f&&e.props.specActions.requestResolvedSubtree([].concat((0,i.default)(e.getSchemaBasePath()),[c]));var p=_.default.createElement(m,{name:c,expandDepth:d,schema:f||E.default.Map(),specPath:E.default.List([].concat((0,i.default)(h),[c])),getComponent:r,specSelectors:n,getConfigs:l,layoutSelectors:a,layoutActions:u}),v=_.default.createElement(\"span\",{className:\"model-box\"},_.default.createElement(\"span\",{className:\"model model-title\"},c));return _.default.createElement(\"div\",{id:\"model-\"+c,className:\"model-container\",key:\"models-section-\"+c},_.default.createElement(g,{classes:\"model-box\",collapsedContent:e.getCollapsedContent(c),onToggle:e.handleToggle,title:v,modelName:c,hideSelfOnExpand:!0,expanded:d>1},p))}).toArray()))}}]),t}(y.Component);C.propTypes={getComponent:x.default.func,specSelectors:x.default.object,specActions:x.default.object.isRequired,layoutSelectors:x.default.object,layoutActions:x.default.object,getConfigs:x.default.func.isRequired},t.default=C},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var a=n(26),o=r(a),u=n(13),i=r(u),l=n(11),s=r(l),c=n(72),f=r(c),d=n(4),p=r(d),h=n(2),m=r(h),v=n(3),g=r(v),y=n(6),_=r(y),b=n(5),E=r(b),S=n(0),x=r(S),C=n(1),w=r(C),j=n(7),A=n(9),R=r(A),O=function(e){function t(){return(0,m.default)(this,t),(0,_.default)(this,(t.__proto__||(0,p.default)(t)).apply(this,arguments))}return(0,E.default)(t,e),(0,g.default)(t,[{key:\"render\",value:function(){var e=this.props,t=e.schema,n=e.name,r=e.isRef,a=e.getComponent,u=e.getConfigs,l=e.depth,c=e.onToggle,d=e.expanded,p=e.specPath,h=(0,f.default)(e,[\"schema\",\"name\",\"isRef\",\"getComponent\",\"getConfigs\",\"depth\",\"onToggle\",\"expanded\",\"specPath\"]),m=h.specSelectors,v=h.expandDepth,g=m.isOAS3;if(!t)return null;var y=u(),_=y.showExtensions,b=t.get(\"description\"),E=t.get(\"properties\"),S=t.get(\"additionalProperties\"),C=t.get(\"title\")||n,w=t.get(\"required\"),A=a(\"JumpToPath\",!0),R=a(\"Markdown\"),O=a(\"Model\"),P=a(\"ModelCollapse\"),T=function(){return x.default.createElement(\"span\",{className:\"model-jump-to-path\"},x.default.createElement(A,{specPath:p}))},M=x.default.createElement(\"span\",null,x.default.createElement(\"span\",null,\"{\"),\"...\",x.default.createElement(\"span\",null,\"}\"),r?x.default.createElement(T,null):\"\"),k=m.isOAS3()?t.get(\"anyOf\"):null,q=m.isOAS3()?t.get(\"oneOf\"):null,I=m.isOAS3()?t.get(\"not\"):null,N=C&&x.default.createElement(\"span\",{className:\"model-title\"},r&&t.get(\"$$ref\")&&x.default.createElement(\"span\",{className:\"model-hint\"},t.get(\"$$ref\")),x.default.createElement(\"span\",{className:\"model-title__text\"},C));return x.default.createElement(\"span\",{className:\"model\"},x.default.createElement(P,{modelName:n,title:N,onToggle:c,expanded:!!d||l<=v,collapsedContent:M},x.default.createElement(\"span\",{className:\"brace-open object\"},\"{\"),r?x.default.createElement(T,null):null,x.default.createElement(\"span\",{className:\"inner-object\"},x.default.createElement(\"table\",{className:\"model\"},x.default.createElement(\"tbody\",null,b?x.default.createElement(\"tr\",{style:{color:\"#999\",fontStyle:\"italic\"}},x.default.createElement(\"td\",null,\"description:\"),x.default.createElement(\"td\",null,x.default.createElement(R,{source:b}))):null,E&&E.size?E.entrySeq().map(function(e){var t=(0,s.default)(e,2),r=t[0],o=t[1],c=g()&&o.get(\"deprecated\"),f=j.List.isList(w)&&w.contains(r),d={verticalAlign:\"top\",paddingRight:\"0.2em\"};return f&&(d.fontWeight=\"bold\"),x.default.createElement(\"tr\",{key:r,className:c&&\"deprecated\"},x.default.createElement(\"td\",{style:d},r,f&&x.default.createElement(\"span\",{style:{color:\"red\"}},\"*\")),x.default.createElement(\"td\",{style:{verticalAlign:\"top\"}},x.default.createElement(O,(0,i.default)({key:\"object-\"+n+\"-\"+r+\"_\"+o},h,{required:f,getComponent:a,specPath:p.push(\"properties\",r),getConfigs:u,schema:o,depth:l+1}))))}).toArray():null,_?x.default.createElement(\"tr\",null,\" \"):null,_?t.entrySeq().map(function(e){var t=(0,s.default)(e,2),n=t[0],r=t[1];if(\"x-\"===n.slice(0,2)){var a=r?r.toJS?r.toJS():r:null;return x.default.createElement(\"tr\",{key:n,style:{color:\"#777\"}},x.default.createElement(\"td\",null,n),x.default.createElement(\"td\",{style:{verticalAlign:\"top\"}},(0,o.default)(a)))}}).toArray():null,S&&S.size?x.default.createElement(\"tr\",null,x.default.createElement(\"td\",null,\"< * >:\"),x.default.createElement(\"td\",null,x.default.createElement(O,(0,i.default)({},h,{required:!1,getComponent:a,specPath:p.push(\"additionalProperties\"),getConfigs:u,schema:S,depth:l+1})))):null,k?x.default.createElement(\"tr\",null,x.default.createElement(\"td\",null,\"anyOf ->\"),x.default.createElement(\"td\",null,k.map(function(e,t){return x.default.createElement(\"div\",{key:t},x.default.createElement(O,(0,i.default)({},h,{required:!1,getComponent:a,specPath:p.push(\"anyOf\",t),getConfigs:u,schema:e,depth:l+1})))}))):null,q?x.default.createElement(\"tr\",null,x.default.createElement(\"td\",null,\"oneOf ->\"),x.default.createElement(\"td\",null,q.map(function(e,t){return x.default.createElement(\"div\",{key:t},x.default.createElement(O,(0,i.default)({},h,{required:!1,getComponent:a,specPath:p.push(\"oneOf\",t),getConfigs:u,schema:e,depth:l+1})))}))):null,I?x.default.createElement(\"tr\",null,x.default.createElement(\"td\",null,\"not ->\"),x.default.createElement(\"td\",null,x.default.createElement(\"div\",null,x.default.createElement(O,(0,i.default)({},h,{required:!1,getComponent:a,specPath:p.push(\"not\"),getConfigs:u,schema:I,depth:l+1}))))):null))),x.default.createElement(\"span\",{className:\"brace-close\"},\"}\")))}}]),t}(S.Component);O.propTypes={schema:w.default.object.isRequired,getComponent:w.default.func.isRequired,getConfigs:w.default.func.isRequired,expanded:w.default.bool,onToggle:w.default.func,specSelectors:w.default.object.isRequired,name:w.default.string,isRef:w.default.bool,expandDepth:w.default.number,depth:w.default.number,specPath:R.default.list.isRequired},t.default=O},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var a=n(31),o=r(a),u=n(32),i=r(u),l=n(4),s=r(l),c=n(2),f=r(c),d=n(3),p=r(d),h=n(6),m=r(h),v=n(5),g=r(v),y=n(0),_=r(y),b=n(1),E=r(b),S=n(8),x=function(e){function t(e,n){(0,f.default)(this,t);var r=(0,m.default)(this,(t.__proto__||(0,s.default)(t)).call(this,e,n)),a=e.specSelectors,o=e.getConfigs,u=o(),i=u.validatorUrl;return r.state={url:a.url(),validatorUrl:void 0===i?\"https://online.swagger.io/validator\":i},r}return(0,g.default)(t,e),(0,p.default)(t,[{key:\"componentWillReceiveProps\",value:function(e){var t=e.specSelectors,n=e.getConfigs,r=n(),a=r.validatorUrl;this.setState({url:t.url(),validatorUrl:void 0===a?\"https://online.swagger.io/validator\":a})}},{key:\"render\",value:function(){var e=this.props.getConfigs,t=e(),n=t.spec,r=(0,S.sanitizeUrl)(this.state.validatorUrl);return\"object\"===(void 0===n?\"undefined\":(0,i.default)(n))&&(0,o.default)(n).length?null:!this.state.url||!this.state.validatorUrl||this.state.url.indexOf(\"localhost\")>=0||this.state.url.indexOf(\"127.0.0.1\")>=0?null:_.default.createElement(\"span\",{style:{float:\"right\"}},_.default.createElement(\"a\",{target:\"_blank\",href:r+\"/debug?url=\"+this.state.url},_.default.createElement(C,{src:r+\"?url=\"+this.state.url,alt:\"Online validator badge\"})))}}]),t}(_.default.Component);x.propTypes={getComponent:E.default.func.isRequired,getConfigs:E.default.func.isRequired,specSelectors:E.default.object.isRequired},t.default=x;var C=function(e){function t(e){(0,f.default)(this,t);var n=(0,m.default)(this,(t.__proto__||(0,s.default)(t)).call(this,e));return n.state={loaded:!1,error:!1},n}return(0,g.default)(t,e),(0,p.default)(t,[{key:\"componentDidMount\",value:function(){var e=this,t=new Image;t.onload=function(){e.setState({loaded:!0})},t.onerror=function(){e.setState({error:!0})},t.src=this.props.src}},{key:\"componentWillReceiveProps\",value:function(e){var t=this;if(e.src!==this.props.src){var n=new Image;n.onload=function(){t.setState({loaded:!0})},n.onerror=function(){t.setState({error:!0})},n.src=e.src}}},{key:\"render\",value:function(){return this.state.error?_.default.createElement(\"img\",{alt:\"Error\"}):this.state.loaded?_.default.createElement(\"img\",{src:this.props.src,alt:this.props.alt}):null}}]),t}(_.default.Component);C.propTypes={src:E.default.string,alt:E.default.string}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.OperationExtRow=void 0;var a=n(26),o=r(a),u=n(0),i=r(u),l=n(1),s=r(l),c=t.OperationExtRow=function(e){var t=e.xKey,n=e.xVal,r=n?n.toJS?n.toJS():n:null;return i.default.createElement(\"tr\",null,i.default.createElement(\"td\",null,t),i.default.createElement(\"td\",null,(0,o.default)(r)))};c.propTypes={xKey:s.default.string,xVal:s.default.any},t.default=c},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.OperationExt=void 0;var a=n(11),o=r(a),u=n(0),i=r(u),l=n(1),s=r(l),c=t.OperationExt=function(e){var t=e.extensions,n=e.getComponent,r=n(\"OperationExtRow\");return i.default.createElement(\"div\",{className:\"opblock-section\"},i.default.createElement(\"div\",{className:\"opblock-section-header\"},i.default.createElement(\"h4\",null,\"Extensions\")),i.default.createElement(\"div\",{className:\"table-container\"},i.default.createElement(\"table\",null,i.default.createElement(\"thead\",null,i.default.createElement(\"tr\",null,i.default.createElement(\"td\",{className:\"col col_header\"},\"Field\"),i.default.createElement(\"td\",{className:\"col col_header\"},\"Value\"))),i.default.createElement(\"tbody\",null,t.entrySeq().map(function(e){var t=(0,o.default)(e,2),n=t[0],a=t[1];return i.default.createElement(r,{key:n+\"-\"+a,xKey:n,xVal:a})})))))};c.propTypes={extensions:s.default.object.isRequired,getComponent:s.default.func.isRequired},t.default=c},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var a=n(4),o=r(a),u=n(2),i=r(u),l=n(3),s=r(l),c=n(6),f=r(c),d=n(5),p=r(d),h=n(0),m=r(h),v=n(1),g=r(v),y=n(8),_=n(7),b=n(9),E=r(b),S=function(e){function t(){return(0,i.default)(this,t),(0,f.default)(this,(t.__proto__||(0,o.default)(t)).apply(this,arguments))}return(0,p.default)(t,e),(0,s.default)(t,[{key:\"render\",value:function(){var e=this.props,t=e.specPath,r=e.response,a=e.request,o=e.toggleShown,u=e.onTryoutClick,i=e.onCancelClick,l=e.onExecute,s=e.fn,c=e.getComponent,f=e.getConfigs,d=e.specActions,p=e.specSelectors,h=e.authActions,v=e.authSelectors,g=e.oas3Actions,_=e.oas3Selectors,b=this.props.operation,E=b.toJS(),S=E.summary,x=E.deprecated,C=E.isShown,w=E.isAuthorized,j=E.path,A=E.method,R=E.op,O=E.tag,P=E.showSummary,T=E.operationId,M=E.allowTryItOut,k=E.displayOperationId,q=E.displayRequestDuration,I=E.isDeepLinkingEnabled,N=E.tryItOutEnabled,D=E.executeInProgress,L=R.summary,U=R.description,z=R.externalDocs,V=R.schemes,B=b.getIn([\"op\"]),F=b.get(\"security\"),J=B.get(\"responses\"),W=B.get(\"produces\"),H=(0,y.getList)(B,[\"parameters\"]),Y=p.operationScheme(j,A),G=[\"operations\",O,T],Z=(0,y.getExtensions)(B),$=c(\"responses\"),K=c(\"parameters\"),X=c(\"execute\"),Q=c(\"clear\"),ee=c(\"authorizeOperationBtn\"),te=c(\"JumpToPath\",!0),ne=c(\"Collapse\"),re=c(\"Markdown\"),ae=c(\"schemes\"),oe=c(\"OperationServers\"),ue=c(\"OperationExt\"),ie=c(\"DeepLink\"),le=f(),se=le.showExtensions;if(J&&r&&r.size>0){var ce=!J.get(String(r.get(\"status\")))&&!J.get(\"default\");r=r.set(\"notDocumented\",ce)}var fe=[j,A];return m.default.createElement(\"div\",{className:x?\"opblock opblock-deprecated\":C?\"opblock opblock-\"+A+\" is-open\":\"opblock opblock-\"+A,id:G.join(\"-\")},m.default.createElement(\"div\",{className:\"opblock-summary opblock-summary-\"+A,onClick:o},m.default.createElement(\"span\",{className:\"opblock-summary-method\"},A.toUpperCase()),m.default.createElement(\"span\",{className:x?\"opblock-summary-path__deprecated\":\"opblock-summary-path\"},m.default.createElement(ie,{enabled:I,isShown:C,path:\"\"+G.join(\"/\"),text:j}),m.default.createElement(te,{path:t}),\" \"),P?m.default.createElement(\"div\",{className:\"opblock-summary-description\"},L||S):null,k&&T?m.default.createElement(\"span\",{className:\"opblock-summary-operation-id\"},T):null,F&&F.count()?m.default.createElement(ee,{isAuthorized:w,onClick:function(){var e=v.definitionsForRequirements(F);h.showDefinitions(e)}}):null),m.default.createElement(ne,{isOpened:C},m.default.createElement(\"div\",{className:\"opblock-body\"},B&&B.size||null===B?null:m.default.createElement(\"img\",{height:\"32px\",width:\"32px\",src:n(272),className:\"opblock-loading-animation\"}),x&&m.default.createElement(\"h4\",{className:\"opblock-title_normal\"},\" Warning: Deprecated\"),U&&m.default.createElement(\"div\",{className:\"opblock-description-wrapper\"},m.default.createElement(\"div\",{className:\"opblock-description\"},m.default.createElement(re,{source:U}))),z&&z.url?m.default.createElement(\"div\",{className:\"opblock-external-docs-wrapper\"},m.default.createElement(\"h4\",{className:\"opblock-title_normal\"},\"Find more details\"),m.default.createElement(\"div\",{className:\"opblock-external-docs\"},m.default.createElement(\"span\",{className:\"opblock-external-docs__description\"},m.default.createElement(re,{source:z.description})),m.default.createElement(\"a\",{target:\"_blank\",className:\"opblock-external-docs__link\",href:(0,y.sanitizeUrl)(z.url)},z.url))):null,B&&B.size?m.default.createElement(K,{parameters:H,specPath:t.push(\"parameters\"),operation:B,onChangeKey:fe,onTryoutClick:u,onCancelClick:i,tryItOutEnabled:N,allowTryItOut:M,fn:s,getComponent:c,specActions:d,specSelectors:p,pathMethod:[j,A],getConfigs:f}):null,N?m.default.createElement(oe,{getComponent:c,path:j,method:A,operationServers:B.get(\"servers\"),pathServers:p.paths().getIn([j,\"servers\"]),getSelectedServer:_.selectedServer,setSelectedServer:g.setSelectedServer,setServerVariableValue:g.setServerVariableValue,getServerVariable:_.serverVariableValue,getEffectiveServerValue:_.serverEffectiveValue}):null,N&&M&&V&&V.size?m.default.createElement(\"div\",{className:\"opblock-schemes\"},m.default.createElement(ae,{schemes:V,path:j,method:A,specActions:d,currentScheme:Y})):null,m.default.createElement(\"div\",{className:N&&r&&M?\"btn-group\":\"execute-wrapper\"},N&&M?m.default.createElement(X,{operation:B,specActions:d,specSelectors:p,path:j,method:A,onExecute:l}):null,N&&r&&M?m.default.createElement(Q,{specActions:d,path:j,method:A}):null),D?m.default.createElement(\"div\",{className:\"loading-container\"},m.default.createElement(\"div\",{className:\"loading\"})):null,J?m.default.createElement($,{responses:J,request:a,tryItOutResponse:r,getComponent:c,getConfigs:f,specSelectors:p,oas3Actions:g,specActions:d,produces:W,producesValue:p.currentProducesFor([j,A]),specPath:t.push(\"responses\"),path:j,method:A,displayRequestDuration:q,fn:s}):null,se&&Z.size?m.default.createElement(ue,{extensions:Z,getComponent:c}):null)))}}]),t}(h.PureComponent);S.propTypes={specPath:E.default.list.isRequired,operation:g.default.instanceOf(_.Iterable).isRequired,summary:g.default.string,response:g.default.instanceOf(_.Iterable),request:g.default.instanceOf(_.Iterable),toggleShown:g.default.func.isRequired,onTryoutClick:g.default.func.isRequired,onCancelClick:g.default.func.isRequired,onExecute:g.default.func.isRequired,getComponent:g.default.func.isRequired,getConfigs:g.default.func.isRequired,authActions:g.default.object,authSelectors:g.default.object,specActions:g.default.object.isRequired,specSelectors:g.default.object.isRequired,oas3Actions:g.default.object.isRequired,oas3Selectors:g.default.object.isRequired,layoutActions:g.default.object.isRequired,layoutSelectors:g.default.object.isRequired,fn:g.default.object.isRequired},S.defaultProps={operation:null,response:null,request:null,specPath:(0,_.List)(),summary:\"\"},t.default=S},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var a=n(4),o=r(a),u=n(2),i=r(u),l=n(3),s=r(l),c=n(6),f=r(c),d=n(5),p=r(d),h=n(0),m=r(h),v=n(1),g=r(v),y=n(7),_=r(y),b=n(8),E=[\"get\",\"put\",\"post\",\"delete\",\"options\",\"head\",\"patch\"],S=E.concat([\"trace\"]),x=function(e){function t(){return(0,i.default)(this,t),(0,f.default)(this,(t.__proto__||(0,o.default)(t)).apply(this,arguments))}return(0,p.default)(t,e),(0,s.default)(t,[{key:\"render\",value:function(){var e=this.props,t=e.specSelectors,n=e.getComponent,r=e.layoutSelectors,a=e.layoutActions,o=e.getConfigs,u=e.fn,i=t.taggedOperations(),l=n(\"OperationContainer\",!0),s=n(\"Collapse\"),c=n(\"Markdown\"),f=n(\"DeepLink\"),d=o(),p=d.docExpansion,h=d.maxDisplayedTags,v=d.deepLinking,g=v&&\"false\"!==v,y=r.currentFilter();return y&&!0!==y&&(i=u.opsFilter(i,y)),h&&!isNaN(h)&&h>=0&&(i=i.slice(0,h)),m.default.createElement(\"div\",null,i.map(function(e,n){var o=e.get(\"operations\"),u=e.getIn([\"tagDetails\",\"description\"],null),i=e.getIn([\"tagDetails\",\"externalDocs\",\"description\"]),d=e.getIn([\"tagDetails\",\"externalDocs\",\"url\"]),h=[\"operations-tag\",(0,b.createDeepLinkPath)(n)],v=r.isShown(h,\"full\"===p||\"list\"===p);return m.default.createElement(\"div\",{className:v?\"opblock-tag-section is-open\":\"opblock-tag-section\",key:\"operation-\"+n},m.default.createElement(\"h4\",{onClick:function(){return a.show(h,!v)},className:u?\"opblock-tag\":\"opblock-tag no-desc\",id:h.join(\"-\")},m.default.createElement(f,{enabled:g,isShown:v,path:n,text:n}),u?m.default.createElement(\"small\",null,m.default.createElement(c,{source:u})):m.default.createElement(\"small\",null),m.default.createElement(\"div\",null,i?m.default.createElement(\"small\",null,i,d?\": \":null,d?m.default.createElement(\"a\",{href:(0,b.sanitizeUrl)(d),onClick:function(e){return e.stopPropagation()},target:\"_blank\"},d):null):null),m.default.createElement(\"button\",{className:\"expand-operation\",title:v?\"Collapse operation\":\"Expand operation\",onClick:function(){return a.show(h,!v)}},m.default.createElement(\"svg\",{className:\"arrow\",width:\"20\",height:\"20\"},m.default.createElement(\"use\",{href:v?\"#large-arrow-down\":\"#large-arrow\",xlinkHref:v?\"#large-arrow-down\":\"#large-arrow\"})))),m.default.createElement(s,{isOpened:v},o.map(function(e){var r=e.get(\"path\"),a=e.get(\"method\"),o=_.default.List([\"paths\",r,a]);return-1===(t.isOAS3()?S:E).indexOf(a)?null:m.default.createElement(l,{key:r+\"-\"+a,specPath:o,op:e,path:r,method:a,tag:n})}).toArray()))}).toArray(),i.size<1?m.default.createElement(\"h3\",null,\" No operations defined in spec! \"):null)}}]),t}(m.default.Component);x.propTypes={specSelectors:g.default.object.isRequired,specActions:g.default.object.isRequired,oas3Actions:g.default.object.isRequired,getComponent:g.default.func.isRequired,layoutSelectors:g.default.object.isRequired,layoutActions:g.default.object.isRequired,authActions:g.default.object.isRequired,authSelectors:g.default.object.isRequired,getConfigs:g.default.func.isRequired,fn:g.default.func.isRequired},t.default=x,x.propTypes={layoutActions:g.default.object.isRequired,specSelectors:g.default.object.isRequired,specActions:g.default.object.isRequired,layoutSelectors:g.default.object.isRequired,getComponent:g.default.func.isRequired,fn:g.default.object.isRequired}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.OperationLink=void 0;var a=n(4),o=r(a),u=n(2),i=r(u),l=n(3),s=r(l),c=n(6),f=r(c),d=n(5),p=r(d),h=n(0),m=r(h),v=n(1),g=r(v),y=n(142),_=function(e){function t(){var e;(0,i.default)(this,t);for(var n=arguments.length,r=Array(n),a=0;a<n;a++)r[a]=arguments[a];var u=(0,f.default)(this,(e=t.__proto__||(0,o.default)(t)).call.apply(e,[this].concat(r)));return u.setTagShown=u._setTagShown.bind(u),u}return(0,p.default)(t,e),(0,s.default)(t,[{key:\"_setTagShown\",value:function(e,t){this.props.layoutActions.show(e,t)}},{key:\"showOp\",value:function(e,t){this.props.layoutActions.show(e,t)}},{key:\"render\",value:function(){var e=this.props,t=e.specSelectors,n=e.layoutSelectors,r=e.layoutActions,a=e.getComponent,o=t.taggedOperations(),u=a(\"Collapse\");return m.default.createElement(\"div\",null,m.default.createElement(\"h4\",{className:\"overview-title\"},\"Overview\"),o.map(function(e,t){var a=e.get(\"operations\"),o=[\"overview-tags\",t],i=n.isShown(o,!0),l=function(){return r.show(o,!i)};return m.default.createElement(\"div\",{key:\"overview-\"+t},m.default.createElement(\"h4\",{onClick:l,className:\"link overview-tag\"},\" \",i?\"-\":\"+\",t),m.default.createElement(u,{isOpened:i,animated:!0},a.map(function(e){var t=e.toObject(),a=t.path,o=t.method,u=t.id,i=u,l=n.isShown([\"operations\",i]);return m.default.createElement(b,{key:u,path:a,method:o,id:a+\"-\"+o,shown:l,showOpId:i,showOpIdPrefix:\"operations\",href:\"#operation-\"+i,onClick:r.show})}).toArray()))}).toArray(),o.size<1&&m.default.createElement(\"h3\",null,\" No operations defined in spec! \"))}}]),t}(m.default.Component);t.default=_,_.propTypes={layoutSelectors:g.default.object.isRequired,specSelectors:g.default.object.isRequired,layoutActions:g.default.object.isRequired,getComponent:g.default.func.isRequired};var b=t.OperationLink=function(e){function t(e){(0,i.default)(this,t);var n=(0,f.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e));return n.onClick=n._onClick.bind(n),n}return(0,p.default)(t,e),(0,s.default)(t,[{key:\"_onClick\",value:function(){var e=this.props,t=e.showOpId,n=e.showOpIdPrefix;(0,e.onClick)([n,t],!e.shown)}},{key:\"render\",value:function(){var e=this.props,t=e.id,n=e.method,r=e.shown,a=e.href;return m.default.createElement(y.Link,{href:a,style:{fontWeight:r?\"bold\":\"normal\"},onClick:this.onClick,className:\"block opblock-link\"},m.default.createElement(\"div\",null,m.default.createElement(\"small\",{className:\"bold-label-\"+n},n.toUpperCase()),m.default.createElement(\"span\",{className:\"bold-label\"},t)))}}]),t}(m.default.Component);b.propTypes={href:g.default.string,onClick:g.default.func,id:g.default.string.isRequired,method:g.default.string.isRequired,shown:g.default.bool.isRequired,showOpId:g.default.string.isRequired,showOpIdPrefix:g.default.string.isRequired}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var a=n(4),o=r(a),u=n(2),i=r(u),l=n(3),s=r(l),c=n(6),f=r(c),d=n(5),p=r(d),h=n(0),m=r(h),v=n(1),g=r(v),y=n(7),_=n(8),b=Function.prototype,E=function(e){function t(e,n){(0,i.default)(this,t);var r=(0,f.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,n));return S.call(r),r.state={isEditBox:!1,value:\"\"},r}return(0,p.default)(t,e),(0,s.default)(t,[{key:\"componentDidMount\",value:function(){this.updateValues.call(this,this.props)}},{key:\"componentWillReceiveProps\",value:function(e){this.updateValues.call(this,e)}},{key:\"render\",value:function(){var e=this.props,n=e.onChangeConsumes,r=e.param,a=e.isExecute,o=e.specSelectors,u=e.pathMethod,i=e.getComponent,l=i(\"Button\"),s=i(\"TextArea\"),c=i(\"highlightCode\"),f=i(\"contentType\"),d=o?o.parameterWithMeta(u,r.get(\"name\"),r.get(\"in\")):r,p=d.get(\"errors\",(0,y.List)()),h=o.contentTypeValues(u).get(\"requestContentType\"),v=this.props.consumes&&this.props.consumes.size?this.props.consumes:t.defaultProp.consumes,g=this.state,_=g.value,b=g.isEditBox;return m.default.createElement(\"div\",{className:\"body-param\"},b&&a?m.default.createElement(s,{className:\"body-param__text\"+(p.count()?\" invalid\":\"\"),value:_,onChange:this.handleOnChange}):_&&m.default.createElement(c,{className:\"body-param__example\",value:_}),m.default.createElement(\"div\",{className:\"body-param-options\"},a?m.default.createElement(\"div\",{className:\"body-param-edit\"},m.default.createElement(l,{className:b?\"btn cancel body-param__example-edit\":\"btn edit body-param__example-edit\",onClick:this.toggleIsEditBox},b?\"Cancel\":\"Edit\")):null,m.default.createElement(\"label\",{htmlFor:\"\"},m.default.createElement(\"span\",null,\"Parameter content type\"),m.default.createElement(f,{value:h,contentTypes:v,onChange:n,className:\"body-param-content-type\"}))))}}]),t}(h.PureComponent);E.propTypes={param:g.default.object,onChange:g.default.func,onChangeConsumes:g.default.func,consumes:g.default.object,consumesValue:g.default.string,fn:g.default.object.isRequired,getComponent:g.default.func.isRequired,isExecute:g.default.bool,specSelectors:g.default.object.isRequired,pathMethod:g.default.array.isRequired},E.defaultProp={consumes:(0,y.fromJS)([\"application/json\"]),param:(0,y.fromJS)({}),onChange:b,onChangeConsumes:b};var S=function(){var e=this;this.updateValues=function(t){var n=t.specSelectors,r=t.pathMethod,a=t.param,o=t.isExecute,u=t.consumesValue,i=void 0===u?\"\":u,l=n?n.parameterWithMeta(r,a.get(\"name\"),a.get(\"in\")):(0,y.fromJS)({}),s=/xml/i.test(i),c=/json/i.test(i),f=s?l.get(\"value_xml\"):l.get(\"value\");if(void 0!==f){var d=!f&&c?\"{}\":f;e.setState({value:d}),e.onChange(d,{isXml:s,isEditBox:o})}else s?e.onChange(e.sample(\"xml\"),{isXml:s,isEditBox:o}):e.onChange(e.sample(),{isEditBox:o})},this.sample=function(t){var n=e.props,r=n.param,a=n.fn.inferSchema,o=a(r.toJS());return(0,_.getSampleSchema)(o,t,{includeWriteOnly:!0})},this.onChange=function(t,n){var r=n.isEditBox,a=n.isXml;e.setState({value:t,isEditBox:r}),e._onChange(t,a)},this._onChange=function(t,n){(e.props.onChange||b)(e.props.param,t,n)},this.handleOnChange=function(t){var n=e.props.consumesValue,r=/json/i.test(n),a=/xml/i.test(n),o=r?t.target.value.trim():t.target.value;e.onChange(o,{isXml:a})},this.toggleIsEditBox=function(){return e.setState(function(e){return{isEditBox:!e.isEditBox}})}};t.default=E},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.ParameterExt=void 0;var a=n(0),o=r(a),u=n(1),i=r(u),l=t.ParameterExt=function(e){var t=e.xKey,n=e.xVal;return o.default.createElement(\"div\",{className:\"parameter__extension\"},t,\": \",String(n))};l.propTypes={xKey:i.default.string,xVal:i.default.any},t.default=l},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var a=n(4),o=r(a),u=n(2),i=r(u),l=n(3),s=r(l),c=n(6),f=r(c),d=n(5),p=r(d),h=n(0),m=r(h),v=n(7),g=n(1),y=r(g),_=n(9),b=r(_),E=n(23),S=r(E),x=n(8),C=function(e){function t(e,n){(0,i.default)(this,t);var r=(0,f.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,n));w.call(r);var a=e.specSelectors,u=e.pathMethod,l=e.param,s=l.get(\"default\"),c=l.get(\"x-example\"),d=a.parameterWithMeta(u,l.get(\"name\"),l.get(\"in\")),p=d?d.get(\"value\"):\"\";return\"body\"!==l.get(\"in\")&&(void 0!==c&&void 0===p&&a.isSwagger2()?r.onChangeWrapper(c):void 0!==s&&void 0===p&&r.onChangeWrapper(s)),r}return(0,p.default)(t,e),(0,s.default)(t,[{key:\"componentWillReceiveProps\",value:function(e){var t=e.specSelectors,n=e.pathMethod,r=e.param,a=t.isOAS3,o=r.get(\"example\"),u=r.get(\"default\"),i=t.parameterWithMeta(n,r.get(\"name\"),r.get(\"in\")),l=void 0;if(a()){l=(r.get(\"schema\")||(0,v.Map)()).get(\"enum\")}else l=i?i.get(\"enum\"):void 0;var s=i?i.get(\"value\"):void 0,c=void 0;void 0!==s?c=s:void 0!==o?c=o:void 0!==u?c=u:r.get(\"required\")&&l&&l.size&&(c=l.first()),void 0!==c&&this.onChangeWrapper(c)}},{key:\"render\",value:function(){var e=this.props,t=e.param,n=e.onChange,r=e.getComponent,a=e.getConfigs,o=e.isExecute,u=e.fn,i=e.onChangeConsumes,l=e.specSelectors,s=e.pathMethod,c=e.specPath,f=l.isOAS3,d=a(),p=d.showExtensions,h=r(\"JsonSchemaForm\"),v=r(\"ParamBody\"),g=t.get(\"in\"),y=\"body\"!==g?null:m.default.createElement(v,{getComponent:r,fn:u,param:t,consumes:l.operationConsumes(s),consumesValue:l.contentTypeValues(s).get(\"requestContentType\"),onChange:n,onChangeConsumes:i,isExecute:o,specSelectors:l,pathMethod:s}),_=r(\"modelExample\"),b=r(\"Markdown\"),E=r(\"ParameterExt\"),C=l.parameterWithMeta(s,t.get(\"name\"),t.get(\"in\")),w=t.get(\"schema\"),j=f&&f()?t.getIn([\"schema\",\"type\"]):t.get(\"type\"),A=\"formData\"===g,R=\"FormData\"in S.default,O=t.get(\"required\"),P=t.getIn(f&&f()?[\"schema\",\"items\",\"type\"]:[\"items\",\"type\"]),T=C?C.get(\"value\"):\"\",M=(0,x.getExtensions)(t),k=void 0,q=void 0,I=!1;void 0!==t&&(k=t.get(\"items\")),void 0!==k&&(q=t.get(\"items\").get(\"enum\")),void 0!==q&&q.size>0&&(I=!0);var N=void 0,D=void 0;return void 0!==t&&(N=t.get(\"default\"),D=t.get(\"example\")),I&&(N=k.get(\"default\")),m.default.createElement(\"tr\",null,m.default.createElement(\"td\",{className:\"col parameters-col_name\"},m.default.createElement(\"div\",{className:O?\"parameter__name required\":\"parameter__name\"},t.get(\"name\"),O?m.default.createElement(\"span\",{style:{color:\"red\"}},\" *\"):null),m.default.createElement(\"div\",{className:\"parameter__type\"},j,\" \",P&&\"[\"+P+\"]\"),m.default.createElement(\"div\",{className:\"parameter__deprecated\"},f&&f()&&t.get(\"deprecated\")?\"deprecated\":null),m.default.createElement(\"div\",{className:\"parameter__in\"},\"(\",t.get(\"in\"),\")\"),p&&M.size?M.map(function(e,t){return m.default.createElement(E,{key:t+\"-\"+e,xKey:t,xVal:e})}):null),m.default.createElement(\"td\",{className:\"col parameters-col_description\"},m.default.createElement(b,{source:t.get(\"description\")}),!y&&o||!I?null:m.default.createElement(b,{source:\"<i>Available values</i>: \"+q.map(function(e){return e}).toArray().join(\", \")}),!y&&o||void 0===N?null:m.default.createElement(b,{source:\"<i>Default value</i>: \"+N}),!y&&o||void 0===D?null:m.default.createElement(b,{source:\"<i>Example</i>: \"+D}),A&&!R&&m.default.createElement(\"div\",null,\"Error: your browser does not support FormData\"),y||!o?null:m.default.createElement(h,{fn:u,getComponent:r,value:T,required:O,description:t.get(\"description\")?t.get(\"name\")+\" - \"+t.get(\"description\"):\"\"+t.get(\"name\"),onChange:this.onChangeWrapper,errors:t.get(\"errors\"),schema:f&&f()?t.get(\"schema\"):t}),y&&w?m.default.createElement(_,{getComponent:r,specPath:c.push(\"schema\"),getConfigs:a,isExecute:o,specSelectors:l,schema:w,example:y}):null))}}]),t}(h.Component);C.propTypes={onChange:y.default.func.isRequired,param:y.default.object.isRequired,getComponent:y.default.func.isRequired,fn:y.default.object.isRequired,isExecute:y.default.bool,onChangeConsumes:y.default.func.isRequired,specSelectors:y.default.object.isRequired,pathMethod:y.default.array.isRequired,getConfigs:y.default.func.isRequired,specPath:b.default.list.isRequired};var w=function(){var e=this;this.onChangeWrapper=function(t){var n=e.props;return(0,n.onChange)(n.param,t)}};t.default=C},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var a=n(4),o=r(a),u=n(2),i=r(u),l=n(3),s=r(l),c=n(6),f=r(c),d=n(5),p=r(d),h=n(0),m=r(h),v=n(1),g=r(v),y=n(9),_=r(y),b=n(7),E=r(b),S=function(e,t){return e.valueSeq().filter(E.default.Map.isMap).map(t)},x=function(e){function t(){var e,n,r,a;(0,i.default)(this,t);for(var u=arguments.length,l=Array(u),s=0;s<u;s++)l[s]=arguments[s];return n=r=(0,f.default)(this,(e=t.__proto__||(0,o.default)(t)).call.apply(e,[this].concat(l))),r.onChange=function(e,t,n){var a=r.props;(0,a.specActions.changeParam)(a.onChangeKey,e.get(\"name\"),e.get(\"in\"),t,n)},r.onChangeConsumesWrapper=function(e){var t=r.props;(0,t.specActions.changeConsumesValue)(t.onChangeKey,e)},a=n,(0,f.default)(r,a)}return(0,p.default)(t,e),(0,s.default)(t,[{key:\"render\",value:function(){var e=this,t=this.props,n=t.onTryoutClick,r=t.onCancelClick,a=t.parameters,o=t.allowTryItOut,u=t.tryItOutEnabled,i=t.specPath,l=t.fn,s=t.getComponent,c=t.getConfigs,f=t.specSelectors,d=t.pathMethod,p=s(\"parameterRow\"),h=s(\"TryItOutButton\"),v=u&&o;return m.default.createElement(\"div\",{className:\"opblock-section\"},m.default.createElement(\"div\",{className:\"opblock-section-header\"},m.default.createElement(\"div\",{className:\"tab-header\"},m.default.createElement(\"h4\",{className:\"opblock-title\"},\"Parameters\")),o?m.default.createElement(h,{enabled:u,onCancelClick:r,onTryoutClick:n}):null),a.count()?m.default.createElement(\"div\",{className:\"table-container\"},m.default.createElement(\"table\",{className:\"parameters\"},m.default.createElement(\"thead\",null,m.default.createElement(\"tr\",null,m.default.createElement(\"th\",{className:\"col col_header parameters-col_name\"},\"Name\"),m.default.createElement(\"th\",{className:\"col col_header parameters-col_description\"},\"Description\"))),m.default.createElement(\"tbody\",null,S(a,function(t,n){return m.default.createElement(p,{fn:l,specPath:i.push(n.toString()),getComponent:s,getConfigs:c,param:f.parameterWithMeta(d,t.get(\"name\"),t.get(\"in\")),key:t.get(\"in\")+\".\"+t.get(\"name\"),onChange:e.onChange,onChangeConsumes:e.onChangeConsumesWrapper,specSelectors:f,pathMethod:d,isExecute:v})}).toArray()))):m.default.createElement(\"div\",{className:\"opblock-description-wrapper\"},m.default.createElement(\"p\",null,\"No parameters\")))}}]),t}(h.Component);x.propTypes={parameters:_.default.list.isRequired,specActions:g.default.object.isRequired,getComponent:g.default.func.isRequired,specSelectors:g.default.object.isRequired,fn:g.default.object.isRequired,tryItOutEnabled:g.default.bool,allowTryItOut:g.default.bool,onTryoutClick:g.default.func,onCancelClick:g.default.func,onChangeKey:g.default.array,pathMethod:g.default.array.isRequired,getConfigs:g.default.func.isRequired,specPath:_.default.list.isRequired},x.defaultProps={onTryoutClick:Function.prototype,onCancelClick:Function.prototype,tryItOutEnabled:!1,allowTryItOut:!0,onChangeKey:[],specPath:[]},t.default=x},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var a=n(11),o=r(a),u=n(4),i=r(u),l=n(2),s=r(l),c=n(3),f=r(c),d=n(6),p=r(d),h=n(5),m=r(h),v=n(0),g=r(v),y=n(1),_=r(y),b=n(8),E={color:\"#6b6b6b\",fontStyle:\"italic\"},S=function(e){function t(){return(0,s.default)(this,t),(0,p.default)(this,(t.__proto__||(0,i.default)(t)).apply(this,arguments))}return(0,m.default)(t,e),(0,f.default)(t,[{key:\"render\",value:function(){var e=this.props,t=e.schema,n=e.getComponent,r=e.getConfigs,a=e.name,u=e.depth,i=r(),l=i.showExtensions;if(!t||!t.get)return g.default.createElement(\"div\",null);var s=t.get(\"type\"),c=t.get(\"format\"),f=t.get(\"xml\"),d=t.get(\"enum\"),p=t.get(\"title\")||a,h=t.get(\"description\"),m=(0,b.getExtensions)(t),v=t.filter(function(e,t){return-1===[\"enum\",\"type\",\"format\",\"description\",\"$$ref\"].indexOf(t)}).filterNot(function(e,t){return m.has(t)}),y=n(\"Markdown\"),_=n(\"EnumModel\"),S=n(\"Property\");return g.default.createElement(\"span\",{className:\"model\"},g.default.createElement(\"span\",{className:\"prop\"},a&&g.default.createElement(\"span\",{className:(1===u&&\"model-title\")+\" prop-name\"},p),g.default.createElement(\"span\",{className:\"prop-type\"},s),c&&g.default.createElement(\"span\",{className:\"prop-format\"},\"($\",c,\")\"),v.size?v.entrySeq().map(function(e){var t=(0,o.default)(e,2),n=t[0],r=t[1];return g.default.createElement(S,{key:n+\"-\"+r,propKey:n,propVal:r,propStyle:E})}):null,l&&m.size?m.entrySeq().map(function(e){var t=(0,o.default)(e,2),n=t[0],r=t[1];return g.default.createElement(S,{key:n+\"-\"+r,propKey:n,propVal:r,propStyle:E})}):null,h?g.default.createElement(y,{source:h}):null,f&&f.size?g.default.createElement(\"span\",null,g.default.createElement(\"br\",null),g.default.createElement(\"span\",{style:E},\"xml:\"),f.entrySeq().map(function(e){var t=(0,o.default)(e,2),n=t[0],r=t[1];return g.default.createElement(\"span\",{key:n+\"-\"+r,style:E},g.default.createElement(\"br\",null),\"   \",n,\": \",String(r))}).toArray()):null,d&&g.default.createElement(_,{value:d,getComponent:n})))}}]),t}(v.Component);S.propTypes={schema:_.default.object.isRequired,getComponent:_.default.func.isRequired,getConfigs:_.default.func.isRequired,name:_.default.string,depth:_.default.number},t.default=S},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.Property=void 0;var a=n(0),o=r(a),u=n(1),i=r(u),l=t.Property=function(e){var t=e.propKey,n=e.propVal,r=e.propStyle;return o.default.createElement(\"span\",{style:r},o.default.createElement(\"br\",null),t,\": \",String(n))};l.propTypes={propKey:i.default.string,propVal:i.default.any,propStyle:i.default.object},t.default=l},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var a=n(26),o=r(a),u=n(4),i=r(u),l=n(2),s=r(l),c=n(3),f=r(c),d=n(6),p=r(d),h=n(5),m=r(h),v=n(0),g=r(v),y=n(1),_=r(y),b=n(607),E=r(b),S=n(574),x=r(S),C=n(8),w=n(23),j=r(w),A=function(e){function t(){return(0,s.default)(this,t),(0,p.default)(this,(t.__proto__||(0,i.default)(t)).apply(this,arguments))}return(0,m.default)(t,e),(0,f.default)(t,[{key:\"render\",value:function(){var e=this.props,t=e.content,n=e.contentType,r=e.url,a=e.headers,u=void 0===a?{}:a,i=e.getComponent,l=i(\"highlightCode\"),s=void 0,c=void 0;if(r=r||\"\",/^application\\/octet-stream/i.test(n)||u[\"Content-Disposition\"]&&/attachment/i.test(u[\"Content-Disposition\"])||u[\"content-disposition\"]&&/attachment/i.test(u[\"content-disposition\"])||u[\"Content-Description\"]&&/File Transfer/i.test(u[\"Content-Description\"])||u[\"content-description\"]&&/File Transfer/i.test(u[\"content-description\"])){if(!/^((?!chrome|android).)*safari/i.test(navigator.userAgent)&&\"Blob\"in window){var f=n||\"text/html\",d=t instanceof Blob?t:new Blob([t],{type:f}),p=window.URL.createObjectURL(d),h=r.substr(r.lastIndexOf(\"/\")+1),m=[f,h,p].join(\":\"),v=u[\"content-disposition\"]||u[\"Content-Disposition\"];if(void 0!==v){var y=(0,C.extractFileNameFromContentDispositionHeader)(v);null!==y&&(m=y)}c=j.default.navigator&&j.default.navigator.msSaveOrOpenBlob?g.default.createElement(\"div\",null,g.default.createElement(\"a\",{href:p,onClick:function(){return j.default.navigator.msSaveOrOpenBlob(d,m)}},\"Download file\")):g.default.createElement(\"div\",null,g.default.createElement(\"a\",{href:p,download:m},\"Download file\"))}else c=g.default.createElement(\"pre\",null,\"Download headers detected but your browser does not support downloading binary via XHR (Blob).\")}else if(/json/i.test(n)){try{s=(0,o.default)(JSON.parse(t),null,\"  \")}catch(e){s=\"can't parse JSON.  Raw result:\\n\\n\"+t}c=g.default.createElement(l,{value:s})}else/xml/i.test(n)?(s=(0,E.default)(t,{textNodesOnSameLine:!0,indentor:\"  \"}),c=g.default.createElement(l,{value:s})):c=\"text/html\"===(0,x.default)(n)||/text\\/plain/.test(n)?g.default.createElement(l,{value:t}):/^image\\//i.test(n)?n.includes(\"svg\")?g.default.createElement(\"div\",null,\" \",t,\" \"):g.default.createElement(\"img\",{style:{maxWidth:\"100%\"},src:window.URL.createObjectURL(t)}):/^audio\\//i.test(n)?g.default.createElement(\"pre\",null,g.default.createElement(\"audio\",{controls:!0},g.default.createElement(\"source\",{src:r,type:n}))):\"string\"==typeof t?g.default.createElement(l,{value:t}):t.size>0?g.default.createElement(\"div\",null,\"Unknown response type\"):null;return c?g.default.createElement(\"div\",null,g.default.createElement(\"h5\",null,\"Response body\"),c):null}}]),t}(g.default.Component);A.propTypes={content:_.default.any.isRequired,contentType:_.default.string,getComponent:_.default.func.isRequired,headers:_.default.object,url:_.default.string},t.default=A},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var a=n(4),o=r(a),u=n(2),i=r(u),l=n(3),s=r(l),c=n(6),f=r(c),d=n(5),p=r(d),h=n(26),m=r(h),v=n(11),g=r(v),y=n(0),_=r(y),b=n(1),E=r(b),S=n(9),x=r(S),C=n(588),w=r(C),j=n(7),A=n(8),R=function(e,t,n){return t&&t.size?t.entrySeq().map(function(e){var t=(0,g.default)(e,2),r=t[0],a=t[1],o=a;if(a.toJS)try{o=(0,m.default)(a.toJS(),null,2)}catch(e){o=String(a)}return _.default.createElement(\"div\",{key:r},_.default.createElement(\"h5\",null,r),_.default.createElement(n,{className:\"example\",value:o}))}).toArray():e?_.default.createElement(\"div\",null,_.default.createElement(n,{className:\"example\",value:e})):null},O=function(e){function t(e,n){(0,i.default)(this,t);var r=(0,f.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,n));return r._onContentTypeChange=function(e){var t=r.props,n=t.onContentTypeChange,a=t.controlsAcceptHeader;r.setState({responseContentType:e}),n({value:e,controlsAcceptHeader:a})},r.state={responseContentType:\"\"},r}return(0,p.default)(t,e),(0,s.default)(t,[{key:\"render\",value:function(){var e,t,n,r=this.props,a=r.code,o=r.response,u=r.className,i=r.specPath,l=r.fn,s=r.getComponent,c=r.getConfigs,f=r.specSelectors,d=r.contentType,p=r.controlsAcceptHeader,h=l.inferSchema,m=f.isOAS3,v=o.get(\"headers\"),g=o.get(\"examples\"),y=o.get(\"links\"),b=s(\"headers\"),E=s(\"highlightCode\"),S=s(\"modelExample\"),x=s(\"Markdown\"),C=s(\"operationLink\"),O=s(\"contentType\");if(m()){var P=(0,j.List)([\"content\",this.state.responseContentType,\"schema\"]),T=o.getIn(P);e=T?(0,A.getSampleSchema)(T.toJS(),this.state.responseContentType,{includeReadOnly:!0}):null,t=T?h(T.toJS()):null,n=T?P:i}else t=h(o.toJS()),n=o.has(\"schema\")?i.push(\"schema\"):i,e=t?(0,A.getSampleSchema)(t,d,{includeReadOnly:!0,includeWriteOnly:!0}):null;g&&(g=g.map(function(e){return e.set?e.set(\"$$ref\",void 0):e}));var M=R(e,g,E);return _.default.createElement(\"tr\",{className:\"response \"+(u||\"\")},_.default.createElement(\"td\",{className:\"col response-col_status\"},a),_.default.createElement(\"td\",{className:\"col response-col_description\"},_.default.createElement(\"div\",{className:\"response-col_description__inner\"},_.default.createElement(x,{source:o.get(\"description\")})),m?_.default.createElement(\"div\",{className:(0,w.default)(\"response-content-type\",{\"controls-accept-header\":p})},_.default.createElement(O,{value:this.state.responseContentType,contentTypes:o.get(\"content\")?o.get(\"content\").keySeq():(0,j.Seq)(),onChange:this._onContentTypeChange}),p?_.default.createElement(\"small\",null,\"Controls \",_.default.createElement(\"code\",null,\"Accept\"),\" header.\"):null):null,M?_.default.createElement(S,{specPath:n,getComponent:s,getConfigs:c,specSelectors:f,schema:(0,A.fromJSOrdered)(t),example:M}):null,v?_.default.createElement(b,{headers:v,getComponent:s}):null),f.isOAS3()?_.default.createElement(\"td\",{className:\"col response-col_links\"},y?y.toSeq().map(function(e,t){return _.default.createElement(C,{key:t,name:t,link:e,getComponent:s})}):_.default.createElement(\"i\",null,\"No links\")):null)}}]),t}(_.default.Component);O.propTypes={code:E.default.string.isRequired,response:E.default.instanceOf(j.Iterable),className:E.default.string,getComponent:E.default.func.isRequired,getConfigs:E.default.func.isRequired,specSelectors:E.default.object.isRequired,specPath:x.default.list.isRequired,fn:E.default.object.isRequired,contentType:E.default.string,controlsAcceptHeader:E.default.bool,onContentTypeChange:E.default.func},O.defaultProps={response:(0,j.fromJS)({}),onContentTypeChange:function(){}},t.default=O},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var a=n(11),o=r(a),u=n(4),i=r(u),l=n(2),s=r(l),c=n(3),f=r(c),d=n(6),p=r(d),h=n(5),m=r(h),v=n(0),g=r(v),y=n(7),_=n(1),b=r(_),E=n(9),S=r(E),x=n(8),C=function(e){function t(){var e,n,r,a;(0,s.default)(this,t);for(var o=arguments.length,u=Array(o),l=0;l<o;l++)u[l]=arguments[l];return n=r=(0,p.default)(this,(e=t.__proto__||(0,i.default)(t)).call.apply(e,[this].concat(u))),r.onChangeProducesWrapper=function(e){return r.props.specActions.changeProducesValue([r.props.path,r.props.method],e)},r.onResponseContentTypeChange=function(e){var t=e.controlsAcceptHeader,n=e.value,a=r.props,o=a.oas3Actions,u=a.path,i=a.method;t&&o.setResponseContentType({value:n,path:u,method:i})},a=n,(0,p.default)(r,a)}return(0,m.default)(t,e),(0,f.default)(t,[{key:\"shouldComponentUpdate\",value:function(e){return this.props.tryItOutResponse!==e.tryItOutResponse||this.props.responses!==e.responses||this.props.produces!==e.produces||this.props.producesValue!==e.producesValue||this.props.displayRequestDuration!==e.displayRequestDuration||this.props.path!==e.path||this.props.method!==e.method}},{key:\"render\",value:function(){var e=this,n=this.props,r=n.responses,a=n.tryItOutResponse,u=n.getComponent,i=n.getConfigs,l=n.specSelectors,s=n.fn,c=n.producesValue,f=n.displayRequestDuration,d=n.specPath,p=(0,x.defaultStatusCode)(r),h=u(\"contentType\"),m=u(\"liveResponse\"),v=u(\"response\"),y=this.props.produces&&this.props.produces.size?this.props.produces:t.defaultProps.produces,_=l.isOAS3(),b=_?(0,x.getAcceptControllingResponse)(r):null;return g.default.createElement(\"div\",{className:\"responses-wrapper\"},g.default.createElement(\"div\",{className:\"opblock-section-header\"},g.default.createElement(\"h4\",null,\"Responses\"),l.isOAS3()?null:g.default.createElement(\"label\",null,g.default.createElement(\"span\",null,\"Response content type\"),g.default.createElement(h,{value:c,onChange:this.onChangeProducesWrapper,contentTypes:y,className:\"execute-content-type\"}))),g.default.createElement(\"div\",{className:\"responses-inner\"},a?g.default.createElement(\"div\",null,g.default.createElement(m,{response:a,getComponent:u,getConfigs:i,specSelectors:l,path:this.props.path,method:this.props.method,displayRequestDuration:f}),g.default.createElement(\"h4\",null,\"Responses\")):null,g.default.createElement(\"table\",{className:\"responses-table\"},g.default.createElement(\"thead\",null,g.default.createElement(\"tr\",{className:\"responses-header\"},g.default.createElement(\"td\",{className:\"col col_header response-col_status\"},\"Code\"),g.default.createElement(\"td\",{className:\"col col_header response-col_description\"},\"Description\"),l.isOAS3()?g.default.createElement(\"td\",{className:\"col col_header response-col_links\"},\"Links\"):null)),g.default.createElement(\"tbody\",null,r.entrySeq().map(function(t){var n=(0,o.default)(t,2),r=n[0],f=n[1],h=a&&a.get(\"status\")==r?\"response_current\":\"\";return g.default.createElement(v,{key:r,specPath:d.push(r),isDefault:p===r,fn:s,className:h,code:r,response:f,specSelectors:l,controlsAcceptHeader:f===b,onContentTypeChange:e.onResponseContentTypeChange,contentType:c,getConfigs:i,getComponent:u})}).toArray()))))}}]),t}(g.default.Component);C.propTypes={tryItOutResponse:b.default.instanceOf(y.Iterable),responses:b.default.instanceOf(y.Iterable).isRequired,produces:b.default.instanceOf(y.Iterable),producesValue:b.default.any,displayRequestDuration:b.default.bool.isRequired,path:b.default.string.isRequired,method:b.default.string.isRequired,getComponent:b.default.func.isRequired,getConfigs:b.default.func.isRequired,specSelectors:b.default.object.isRequired,specActions:b.default.object.isRequired,oas3Actions:b.default.object.isRequired,specPath:S.default.list.isRequired,fn:b.default.object.isRequired},C.defaultProps={tryItOutResponse:null,produces:(0,y.fromJS)([\"application/json\"]),displayRequestDuration:!1},t.default=C},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var a=n(4),o=r(a),u=n(2),i=r(u),l=n(3),s=r(l),c=n(6),f=r(c),d=n(5),p=r(d),h=n(0),m=r(h),v=n(1),g=r(v),y=function(e){function t(){var e,n,r,a;(0,i.default)(this,t);for(var u=arguments.length,l=Array(u),s=0;s<u;s++)l[s]=arguments[s];return n=r=(0,f.default)(this,(e=t.__proto__||(0,o.default)(t)).call.apply(e,[this].concat(l))),r.onChange=function(e){r.setScheme(e.target.value)},r.setScheme=function(e){var t=r.props,n=t.path,a=t.method;t.specActions.setScheme(e,n,a)},a=n,(0,f.default)(r,a)}return(0,p.default)(t,e),(0,s.default)(t,[{key:\"componentWillMount\",value:function(){var e=this.props.schemes;this.setScheme(e.first())}},{key:\"componentWillReceiveProps\",value:function(e){this.props.currentScheme&&e.schemes.includes(this.props.currentScheme)||this.setScheme(e.schemes.first())}},{key:\"render\",value:function(){var e=this.props.schemes;return m.default.createElement(\"label\",{htmlFor:\"schemes\"},m.default.createElement(\"span\",{className:\"schemes-title\"},\"Schemes\"),m.default.createElement(\"select\",{onChange:this.onChange},e.valueSeq().map(function(e){return m.default.createElement(\"option\",{value:e,key:e},e)}).toArray()))}}]),t}(m.default.Component);y.propTypes={specActions:g.default.object.isRequired,schemes:g.default.object.isRequired,currentScheme:g.default.string.isRequired,path:g.default.string,method:g.default.string},t.default=y},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var a=n(4),o=r(a),u=n(2),i=r(u),l=n(3),s=r(l),c=n(6),f=r(c),d=n(5),p=r(d),h=n(0),m=r(h),v=n(1),g=r(v),y=function(e){function t(){return(0,i.default)(this,t),(0,f.default)(this,(t.__proto__||(0,o.default)(t)).apply(this,arguments))}return(0,p.default)(t,e),(0,s.default)(t,[{key:\"render\",value:function(){var e=this.props,t=e.onTryoutClick,n=e.onCancelClick,r=e.enabled;return m.default.createElement(\"div\",{className:\"try-out\"},r?m.default.createElement(\"button\",{className:\"btn try-out__btn cancel\",onClick:t},\"Cancel\"):m.default.createElement(\"button\",{className:\"btn try-out__btn\",onClick:n},\"Try it out \"))}}]),t}(m.default.Component);y.propTypes={onTryoutClick:g.default.func,onCancelClick:g.default.func,enabled:g.default.bool},y.defaultProps={onTryoutClick:Function.prototype,onCancelClick:Function.prototype,enabled:!1},t.default=y},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var a=n(0),o=r(a),u=n(1),i=r(u),l=function(e){var t=e.version;return o.default.createElement(\"small\",null,o.default.createElement(\"pre\",{className:\"version\"},\" \",t,\" \"))};l.propTypes={version:i.default.string.isRequired},t.default=l},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var a=n(4),o=r(a),u=n(2),i=r(u),l=n(3),s=r(l),c=n(6),f=r(c),d=n(5),p=r(d),h=n(0),m=r(h),v=n(1),g=r(v),y=n(9),_=r(y),b=n(277),E=n(7),S=b.helpers.opId,x=function(e){function t(e,n){(0,i.default)(this,t);var r=(0,f.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,n));return r.toggleShown=function(){var e=r.props,t=e.layoutActions,n=e.tag,a=e.operationId,o=e.isShown;o||r.requestResolvedSubtree(),t.show([\"operations\",n,a],!o)},r.onTryoutClick=function(){r.setState({tryItOutEnabled:!r.state.tryItOutEnabled})},r.onCancelClick=function(){var e=r.props,t=e.specActions,n=e.path,a=e.method;r.setState({tryItOutEnabled:!r.state.tryItOutEnabled}),t.clearValidateParams([n,a])},r.onExecute=function(){r.setState({executeInProgress:!0})},r.getResolvedSubtree=function(){var e=r.props,t=e.specSelectors,n=e.path,a=e.method,o=e.specPath;return o?t.specResolvedSubtree(o.toJS()):t.specResolvedSubtree([\"paths\",n,a])},r.requestResolvedSubtree=function(){var e=r.props,t=e.specActions,n=e.path,a=e.method,o=e.specPath;return o?t.requestResolvedSubtree(o.toJS()):t.requestResolvedSubtree([\"paths\",n,a])},r.state={tryItOutEnabled:!1,executeInProgress:!1},r}return(0,p.default)(t,e),(0,s.default)(t,[{key:\"mapStateToProps\",value:function(e,t){var n=t.op,r=t.layoutSelectors,a=t.getConfigs,o=a(),u=o.docExpansion,i=o.deepLinking,l=o.displayOperationId,s=o.displayRequestDuration,c=o.supportedSubmitMethods,f=r.showSummary(),d=n.getIn([\"operation\",\"operationId\"])||n.getIn([\"operation\",\"__originalOperationId\"])||S(n.get(\"operation\"),t.path,t.method)||n.get(\"id\"),p=[\"operations\",t.tag,d],h=i&&\"false\"!==i,m=c.indexOf(t.method)>=0&&(void 0===t.allowTryItOut?t.specSelectors.allowTryItOutFor(t.path,t.method):t.allowTryItOut),v=n.getIn([\"operation\",\"security\"])||t.specSelectors.security();return{operationId:d,isDeepLinkingEnabled:h,showSummary:f,displayOperationId:l,displayRequestDuration:s,allowTryItOut:m,security:v,isAuthorized:t.authSelectors.isAuthorized(v),isShown:r.isShown(p,\"full\"===u),jumpToKey:\"paths.\"+t.path+\".\"+t.method,response:t.specSelectors.responseFor(t.path,t.method),request:t.specSelectors.requestFor(t.path,t.method)}}},{key:\"componentWillReceiveProps\",value:function(e){var t=e.response,n=e.isShown,r=this.getResolvedSubtree();t!==this.props.response&&this.setState({executeInProgress:!1}),n&&void 0===r&&this.requestResolvedSubtree()}},{key:\"render\",value:function(){var e=this.props,t=e.op,n=e.tag,r=e.path,a=e.method,o=e.security,u=e.isAuthorized,i=e.operationId,l=e.showSummary,s=e.isShown,c=e.jumpToKey,f=e.allowTryItOut,d=e.response,p=e.request,h=e.displayOperationId,v=e.displayRequestDuration,g=e.isDeepLinkingEnabled,y=e.specPath,_=e.specSelectors,b=e.specActions,S=e.getComponent,x=e.getConfigs,C=e.layoutSelectors,w=e.layoutActions,j=e.authActions,A=e.authSelectors,R=e.oas3Actions,O=e.oas3Selectors,P=e.fn,T=S(\"operation\"),M=this.getResolvedSubtree()||(0,E.Map)(),k=(0,E.fromJS)({op:M,tag:n,path:r,summary:t.getIn([\"operation\",\"summary\"])||\"\",deprecated:M.get(\"deprecated\")||t.getIn([\"operation\",\"deprecated\"])||!1,method:a,security:o,isAuthorized:u,operationId:i,showSummary:l,isShown:s,jumpToKey:c,allowTryItOut:f,request:p,displayOperationId:h,displayRequestDuration:v,isDeepLinkingEnabled:g,executeInProgress:this.state.executeInProgress,tryItOutEnabled:this.state.tryItOutEnabled});return m.default.createElement(T,{operation:k,response:d,request:p,isShown:s,toggleShown:this.toggleShown,onTryoutClick:this.onTryoutClick,onCancelClick:this.onCancelClick,onExecute:this.onExecute,specPath:y,specActions:b,specSelectors:_,oas3Actions:R,oas3Selectors:O,layoutActions:w,layoutSelectors:C,authActions:j,authSelectors:A,getComponent:S,getConfigs:x,fn:P})}}]),t}(h.PureComponent);x.propTypes={op:g.default.instanceOf(E.Iterable).isRequired,tag:g.default.string.isRequired,path:g.default.string.isRequired,method:g.default.string.isRequired,operationId:g.default.string.isRequired,showSummary:g.default.bool.isRequired,isShown:g.default.bool.isRequired,jumpToKey:g.default.string.isRequired,allowTryItOut:g.default.bool,displayOperationId:g.default.bool,isAuthorized:g.default.bool,displayRequestDuration:g.default.bool,response:g.default.instanceOf(E.Iterable),request:g.default.instanceOf(E.Iterable),security:g.default.instanceOf(E.Iterable),isDeepLinkingEnabled:g.default.bool.isRequired,specPath:_.default.list.isRequired,getComponent:g.default.func.isRequired,authActions:g.default.object,oas3Actions:g.default.object,oas3Selectors:g.default.object,authSelectors:g.default.object,specActions:g.default.object.isRequired,specSelectors:g.default.object.isRequired,layoutActions:g.default.object.isRequired,layoutSelectors:g.default.object.isRequired,fn:g.default.object.isRequired,getConfigs:g.default.func.isRequired},x.defaultProps={showSummary:!0,response:null,allowTryItOut:!0,displayOperationId:!1,displayRequestDuration:!1},t.default=x},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function a(e){var t=[],n=\"\",r=e.get(\"headers\");if(t.push(\"curl\"),t.push(\"-X\",e.get(\"method\")),t.push('\"'+e.get(\"url\")+'\"'),r&&r.size){var a=!0,o=!1,i=void 0;try{for(var s,f=(0,c.default)(e.get(\"headers\").entries());!(a=(s=f.next()).done);a=!0){var p=s.value,h=(0,l.default)(p,2),m=h[0],v=h[1];n=v,t.push(\"-H \"),t.push('\"'+m+\": \"+v+'\"')}}catch(e){o=!0,i=e}finally{try{!a&&f.return&&f.return()}finally{if(o)throw i}}}if(e.get(\"body\"))if(\"multipart/form-data\"===n&&\"POST\"===e.get(\"method\")){var g=!0,y=!1,_=void 0;try{for(var b,E=(0,c.default)(e.get(\"body\").entrySeq());!(g=(b=E.next()).done);g=!0){var S=(0,l.default)(b.value,2),x=S[0],v=S[1];t.push(\"-F\"),v instanceof d.default.File?t.push('\"'+x+\"=@\"+v.name+\";type=\"+v.type+'\"'):t.push('\"'+x+\"=\"+v+'\"')}}catch(e){y=!0,_=e}finally{try{!g&&E.return&&E.return()}finally{if(y)throw _}}}else t.push(\"-d\"),t.push((0,u.default)(e.get(\"body\")).replace(/\\\\n/g,\"\"));return t.join(\" \")}Object.defineProperty(t,\"__esModule\",{value:!0});var o=n(26),u=r(o),i=n(11),l=r(i),s=n(71),c=r(s);t.default=a;var f=n(23),d=r(f)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.JsonSchema_boolean=t.JsonSchema_array=t.JsonSchema_string=t.JsonSchemaForm=void 0;var a=n(19),o=r(a),u=n(13),i=r(u),l=n(4),s=r(l),c=n(2),f=r(c),d=n(3),p=r(d),h=n(6),m=r(h),v=n(5),g=r(v),y=n(0),_=r(y),b=n(1),E=r(b),S=n(7),x=n(9),C=r(x),w=n(594),j=r(w),A=function(){},R={getComponent:E.default.func.isRequired,value:E.default.any,onChange:E.default.func,keyName:E.default.any,fn:E.default.object.isRequired,schema:E.default.object,errors:C.default.list,required:E.default.bool,description:E.default.any},O={value:\"\",onChange:A,schema:{},keyName:\"\",required:!1,errors:(0,S.List)()},P=t.JsonSchemaForm=function(e){function t(){return(0,f.default)(this,t),(0,m.default)(this,(t.__proto__||(0,s.default)(t)).apply(this,arguments))}return(0,g.default)(t,e),(0,p.default)(t,[{key:\"render\",value:function(){var e=this.props,t=e.schema,n=e.errors,r=e.value,a=e.onChange,o=e.getComponent,u=e.fn;t.toJS&&(t=t.toJS());var l=t,s=l.type,c=l.format,f=void 0===c?\"\":c,d=o(f?\"JsonSchema_\"+s+\"_\"+f:\"JsonSchema_\"+s)||o(\"JsonSchema_string\");return _.default.createElement(d,(0,i.default)({},this.props,{errors:n,fn:u,getComponent:o,value:r,onChange:a,schema:t}))}}]),t}(y.Component);P.propTypes=R,P.defaultProps=O;var T=t.JsonSchema_string=function(e){function t(){var e,n,r,a;(0,f.default)(this,t);for(var o=arguments.length,u=Array(o),i=0;i<o;i++)u[i]=arguments[i];return n=r=(0,m.default)(this,(e=t.__proto__||(0,s.default)(t)).call.apply(e,[this].concat(u))),r.onChange=function(e){var t=\"file\"===r.props.schema.type?e.target.files[0]:e.target.value;r.props.onChange(t,r.props.keyName)},r.onEnumChange=function(e){return r.props.onChange(e)},a=n,(0,m.default)(r,a)}return(0,g.default)(t,e),(0,p.default)(t,[{key:\"render\",value:function(){var e=this.props,t=e.getComponent,n=e.value,r=e.schema,a=e.errors,o=e.required,u=e.description,i=r.enum;if(a=a.toJS?a.toJS():[],i){var l=t(\"Select\");return _.default.createElement(l,{className:a.length?\"invalid\":\"\",title:a.length?a:\"\",allowedValues:i,value:n,allowEmptyValue:!o,onChange:this.onEnumChange})}var s=\"formData\"===r.in&&!(\"FormData\"in window),c=t(\"Input\");return\"file\"===r.type?_.default.createElement(c,{type:\"file\",className:a.length?\"invalid\":\"\",title:a.length?a:\"\",onChange:this.onChange,disabled:s}):_.default.createElement(j.default,{type:\"password\"===r.format?\"password\":\"text\",className:a.length?\"invalid\":\"\",title:a.length?a:\"\",value:n,minLength:0,debounceTimeout:350,placeholder:u,onChange:this.onChange,disabled:s})}}]),t}(y.Component);T.propTypes=R,T.defaultProps=O;var M=t.JsonSchema_array=function(e){function t(e,n){(0,f.default)(this,t);var r=(0,m.default)(this,(t.__proto__||(0,s.default)(t)).call(this,e,n));return r.onChange=function(){return r.props.onChange(r.state.value)},r.onItemChange=function(e,t){r.setState(function(n){return{value:n.value.set(t,e)}},r.onChange)},r.removeItem=function(e){r.setState(function(t){return{value:t.value.remove(e)}},r.onChange)},r.addItem=function(){r.setState(function(e){return e.value=e.value||(0,S.List)(),{value:e.value.push(\"\")}},r.onChange)},r.onEnumChange=function(e){r.setState(function(){return{value:e}},r.onChange)},r.state={value:e.value},r}return(0,g.default)(t,e),(0,p.default)(t,[{key:\"componentWillReceiveProps\",value:function(e){e.value!==this.state.value&&this.setState({value:e.value})}},{key:\"render\",value:function(){var e=this,t=this.props,n=t.getComponent,r=t.required,a=t.schema,u=t.errors,i=t.fn;u=u.toJS?u.toJS():[];var l=i.inferSchema(a.items),s=n(\"JsonSchemaForm\"),c=n(\"Button\"),f=l.enum,d=this.state.value;if(f){var p=n(\"Select\");return _.default.createElement(p,{className:u.length?\"invalid\":\"\",title:u.length?u:\"\",multiple:!0,value:d,allowedValues:f,allowEmptyValue:!r,onChange:this.onEnumChange})}return _.default.createElement(\"div\",null,!d||d.count()<1?null:d.map(function(t,r){var a=(0,o.default)({},l);if(u.length){var f=u.filter(function(e){return e.index===r});f.length&&(u=[f[0].error+r])}return _.default.createElement(\"div\",{key:r,className:\"json-schema-form-item\"},_.default.createElement(s,{fn:i,getComponent:n,value:t,onChange:function(t){return e.onItemChange(t,r)},schema:a}),_.default.createElement(c,{className:\"btn btn-sm json-schema-form-item-remove\",onClick:function(){return e.removeItem(r)}},\" - \"))}).toArray(),_.default.createElement(c,{className:\"btn btn-sm json-schema-form-item-add \"+(u.length?\"invalid\":null),onClick:this.addItem},\" Add item \"))}}]),t}(y.PureComponent);M.propTypes=R,M.defaultProps=O;var k=t.JsonSchema_boolean=function(e){function t(){var e,n,r,a;(0,f.default)(this,t);for(var o=arguments.length,u=Array(o),i=0;i<o;i++)u[i]=arguments[i];return n=r=(0,m.default)(this,(e=t.__proto__||(0,s.default)(t)).call.apply(e,[this].concat(u))),r.onEnumChange=function(e){return r.props.onChange(e)},a=n,(0,m.default)(r,a)}return(0,g.default)(t,e),(0,p.default)(t,[{key:\"render\",value:function(){var e=this.props,t=e.getComponent,n=e.value,r=e.errors,a=e.schema;r=r.toJS?r.toJS():[];var o=t(\"Select\");return _.default.createElement(o,{className:r.length?\"invalid\":\"\",title:r.length?r:\"\",value:String(n),allowedValues:(0,S.fromJS)(a.enum||[\"true\",\"false\"]),allowEmptyValue:!this.props.required,onChange:this.onEnumChange})}}]),t}(y.Component);k.propTypes=R,k.defaultProps=O},function(e,t,n){\"use strict\";function r(e){var t=e.auth,n=e.authActions,r=e.errActions,a=e.configs,i=e.authConfigs,l=void 0===i?{}:i,s=t.schema,c=t.scopes,f=t.name,d=t.clientId,p=s.get(\"flow\"),h=[];switch(p){case\"password\":return void n.authorizePassword(t);case\"application\":return void n.authorizeApplication(t);case\"accessCode\":h.push(\"response_type=code\");break;case\"implicit\":h.push(\"response_type=token\");break;case\"clientCredentials\":return void n.authorizeApplication(t);case\"authorizationCode\":h.push(\"response_type=code\")}\"string\"==typeof d&&h.push(\"client_id=\"+encodeURIComponent(d));var m=a.oauth2RedirectUrl;if(void 0===m)return void r.newAuthErr({authId:f,source:\"validation\",level:\"error\",message:\"oauth2RedirectUrl configuration is not passed. Oauth2 authorization cannot be performed.\"});if(h.push(\"redirect_uri=\"+encodeURIComponent(m)),Array.isArray(c)&&0<c.length){var v=l.scopeSeparator||\" \";h.push(\"scope=\"+encodeURIComponent(c.join(v)))}var g=(0,u.btoa)(new Date);h.push(\"state=\"+encodeURIComponent(g)),void 0!==l.realm&&h.push(\"realm=\"+encodeURIComponent(l.realm));var y=l.additionalQueryStringParams;for(var _ in y)void 0!==y[_]&&h.push([_,y[_]].map(encodeURIComponent).join(\"=\"));var b=s.get(\"authorizationUrl\"),E=[b,h.join(\"&\")].join(-1===b.indexOf(\"?\")?\"?\":\"&\"),S=void 0;S=\"implicit\"===p?n.preAuthorizeImplicit:l.useBasicAuthenticationWithAccessCodeGrant?n.authorizeAccessCodeWithBasicAuthentication:n.authorizeAccessCodeWithFormParams,o.default.swaggerUIRedirectOauth2={auth:t,state:g,redirectUrl:m,callback:S,errCb:r.newAuthErr},o.default.open(E)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=r;var a=n(23),o=function(e){return e&&e.__esModule?e:{default:e}}(a),u=n(8)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function a(){return[u.default,l.default]}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=a;var o=n(334),u=r(o),i=n(183),l=r(i)},function(e,t,n){\"use strict\";function r(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function a(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(){var e={components:{App:z.default,authorizationPopup:B.default,authorizeBtn:J.default,authorizeOperationBtn:H.default,auths:G.default,AuthItem:$.default,authError:X.default,oauth2:ae.default,apiKeyAuth:ee.default,basicAuth:ne.default,clear:ue.default,liveResponse:le.default,info:Je.default,onlineValidatorBadge:ce.default,operations:de.default,operation:he.default,highlightCode:be.default,responses:Se.default,response:Ce.default,responseBody:je.default,parameters:Re.default,parameterRow:Me.default,execute:qe.default,headers:Ne.default,errors:Le.default,contentType:ze.default,overview:Be.default,footer:He.default,ParamBody:Ge.default,curl:$e.default,schemes:Xe.default,modelExample:nt.default,ModelWrapper:at.default,ModelCollapse:et.default,Model:ut.default,Models:lt.default,EnumModel:ct.default,ObjectModel:dt.default,ArrayModel:ht.default,PrimitiveModel:vt.default,Property:yt.default,TryItOutButton:bt.default,Markdown:jt.default,BaseLayout:Rt.default,VersionStamp:St.default,OperationExt:ve.default,OperationExtRow:ye.default,ParameterExt:Pe.default,OperationContainer:L.default,DeepLink:Ct.default,InfoUrl:Fe.InfoUrl,InfoBasePath:Fe.InfoBasePath}},t={components:Pt},n={components:Mt};return[P.default,C.default,v.default,d.default,c.default,u.default,l.default,h.default,e,t,b.default,n,S.default,y.default,j.default,R.default,M.default,q.default,N.default]};var o=n(165),u=a(o),i=n(170),l=a(i),s=n(197),c=a(s),f=n(204),d=a(f),p=n(196),h=a(p),m=n(173),v=a(m),g=n(147),y=a(g),_=n(202),b=a(_),E=n(149),S=a(E),x=n(203),C=a(x),w=n(201),j=a(w),A=n(160),R=a(A),O=n(153),P=a(O),T=n(157),M=a(T),k=n(168),q=a(k),I=n(195),N=a(I),D=n(329),L=a(D),U=n(282),z=a(U),V=n(286),B=a(V),F=n(287),J=a(F),W=n(288),H=a(W),Y=n(289),G=a(Y),Z=n(285),$=a(Z),K=n(291),X=a(K),Q=n(284),ee=a(Q),te=n(290),ne=a(te),re=n(292),ae=a(re),oe=n(293),ue=a(oe),ie=n(305),le=a(ie),se=n(311),ce=a(se),fe=n(315),de=a(fe),pe=n(314),he=a(pe),me=n(313),ve=a(me),ge=n(312),ye=a(ge),_e=n(302),be=a(_e),Ee=n(325),Se=a(Ee),xe=n(324),Ce=a(xe),we=n(323),je=a(we),Ae=n(320),Re=a(Ae),Oe=n(318),Pe=a(Oe),Te=n(319),Me=a(Te),ke=n(299),qe=a(ke),Ie=n(301),Ne=a(Ie),De=n(298),Le=a(De),Ue=n(294),ze=a(Ue),Ve=n(316),Be=a(Ve),Fe=n(303),Je=a(Fe),We=n(300),He=a(We),Ye=n(317),Ge=a(Ye),Ze=n(295),$e=a(Ze),Ke=n(326),Xe=a(Ke),Qe=n(306),et=a(Qe),tt=n(307),nt=a(tt),rt=n(308),at=a(rt),ot=n(143),ut=a(ot),it=n(309),lt=a(it),st=n(297),ct=a(st),ft=n(310),dt=a(ft),pt=n(283),ht=a(pt),mt=n(321),vt=a(mt),gt=n(322),yt=a(gt),_t=n(327),bt=a(_t),Et=n(328),St=a(Et),xt=n(296),Ct=a(xt),wt=n(144),jt=a(wt),At=n(304),Rt=a(At),Ot=n(142),Pt=r(Ot),Tt=n(331),Mt=r(Tt)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function a(e,t,n){var r=[(0,N.systemThunkMiddleware)(n)],a=I.default.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__||w.compose;return(0,w.createStore)(e,t,a(w.applyMiddleware.apply(void 0,r)))}function o(e,t){return(0,N.isObject)(e)&&!(0,N.isArray)(e)?e:(0,N.isFunc)(e)?o(e(t),t):(0,N.isArray)(e)?e.map(function(e){return o(e,t)}).reduce(i,{}):{}}function u(e,t){var n=this,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},a=r.hasLoaded,o=a;return(0,N.isObject)(e)&&!(0,N.isArray)(e)&&\"function\"==typeof e.afterLoad&&(o=!0,f(e.afterLoad).call(this,t)),(0,N.isFunc)(e)?u.call(this,e(t),t,{hasLoaded:o}):(0,N.isArray)(e)?e.map(function(e){return u.call(n,e,t,{hasLoaded:o})}):o}function i(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!(0,N.isObject)(e))return{};if(!(0,N.isObject)(t))return e;t.wrapComponents&&((0,N.objMap)(t.wrapComponents,function(n,r){var a=e.components&&e.components[r];a&&Array.isArray(a)?(e.components[r]=a.concat([n]),delete t.wrapComponents[r]):a&&(e.components[r]=[a,n],delete t.wrapComponents[r])}),(0,h.default)(t.wrapComponents).length||delete t.wrapComponents);var n=e.statePlugins;if((0,N.isObject)(n))for(var r in n){var a=n[r];if((0,N.isObject)(a)&&(0,N.isObject)(a.wrapActions)){var o=a.wrapActions;for(var u in o){var i=o[u];Array.isArray(i)||(i=[i],o[u]=i),t&&t.statePlugins&&t.statePlugins[r]&&t.statePlugins[r].wrapActions&&t.statePlugins[r].wrapActions[u]&&(t.statePlugins[r].wrapActions[u]=o[u].concat(t.statePlugins[r].wrapActions[u]))}}}return(0,O.default)(e,t)}function l(e){return s((0,N.objMap)(e,function(e){return e.reducers}))}function s(e){var t=(0,h.default)(e).reduce(function(t,n){return t[n]=c(e[n]),t},{});return(0,h.default)(t).length?(0,P.combineReducers)(t):D}function c(e){return function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new j.Map,n=arguments[1];if(!e)return t;var r=e[n.type];if(r){var a=f(r)(t,n);return null===a?t:a}return t}}function f(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.logErrors,r=void 0===n||n;return\"function\"!=typeof e?e:function(){try{for(var t=arguments.length,n=Array(t),a=0;a<t;a++)n[a]=arguments[a];return e.call.apply(e,[this].concat(n))}catch(e){return r&&console.error(e),null}}}function d(e,t,n){return a(e,t,n)}Object.defineProperty(t,\"__esModule\",{value:!0});var p=n(31),h=r(p),m=n(20),v=r(m),g=n(19),y=r(g),_=n(2),b=r(_),E=n(3),S=r(E),x=n(0),C=r(x),w=n(600),j=n(7),A=r(j),R=n(274),O=r(R),P=n(601),T=n(141),M=r(T),k=n(70),q=n(23),I=r(q),N=n(8),D=function(e){return e},L=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(0,b.default)(this,e),(0,O.default)(this,{state:{},plugins:[],system:{configs:{},fn:{},components:{},rootInjects:{},statePlugins:{}},boundSystem:{},toolbox:{}},t),this.getSystem=this._getSystem.bind(this),this.store=d(D,(0,j.fromJS)(this.state),this.getSystem),this.buildSystem(!1),this.register(this.plugins)}return(0,S.default)(e,[{key:\"getStore\",value:function(){return this.store}},{key:\"register\",value:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=o(e,this.getSystem());i(this.system,n),t&&this.buildSystem(),u.call(this.system,e,this.getSystem())&&this.buildSystem()}},{key:\"buildSystem\",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],t=this.getStore().dispatch,n=this.getStore().getState;this.boundSystem=(0,y.default)({},this.getRootInjects(),this.getWrappedAndBoundActions(t),this.getWrappedAndBoundSelectors(n,this.getSystem),this.getStateThunks(n),this.getFn(),this.getConfigs()),e&&this.rebuildReducer()}},{key:\"_getSystem\",value:function(){return this.boundSystem}},{key:\"getRootInjects\",value:function(){return(0,y.default)({getSystem:this.getSystem,getStore:this.getStore.bind(this),getComponents:this.getComponents.bind(this),getState:this.getStore().getState,getConfigs:this._getConfigs.bind(this),Im:A.default,React:C.default},this.system.rootInjects||{})}},{key:\"_getConfigs\",value:function(){return this.system.configs}},{key:\"getConfigs\",value:function(){return{configs:this.system.configs}}},{key:\"setConfigs\",value:function(e){this.system.configs=e}},{key:\"rebuildReducer\",value:function(){this.store.replaceReducer(l(this.system.statePlugins))}},{key:\"getType\",value:function(e){var t=e[0].toUpperCase()+e.slice(1);return(0,N.objReduce)(this.system.statePlugins,function(n,r){var a=n[e];if(a)return(0,v.default)({},r+t,a)})}},{key:\"getSelectors\",value:function(){return this.getType(\"selectors\")}},{key:\"getActions\",value:function(){var e=this.getType(\"actions\");return(0,N.objMap)(e,function(e){return(0,N.objReduce)(e,function(e,t){if((0,N.isFn)(e))return(0,v.default)({},t,e)})})}},{key:\"getWrappedAndBoundActions\",value:function(e){var t=this,n=this.getBoundActions(e);return(0,N.objMap)(n,function(e,n){var r=t.system.statePlugins[n.slice(0,-7)].wrapActions;return r?(0,N.objMap)(e,function(e,n){var a=r[n];return a?(Array.isArray(a)||(a=[a]),a.reduce(function(e,n){var r=function(){return n(e,t.getSystem()).apply(void 0,arguments)};if(!(0,N.isFn)(r))throw new TypeError(\"wrapActions needs to return a function that returns a new function (ie the wrapped action)\");return f(r)},e||Function.prototype)):e}):e})}},{key:\"getWrappedAndBoundSelectors\",value:function(e,t){var n=this,r=this.getBoundSelectors(e,t);return(0,N.objMap)(r,function(t,r){var a=[r.slice(0,-9)],o=n.system.statePlugins[a].wrapSelectors;return o?(0,N.objMap)(t,function(t,r){var u=o[r];return u?(Array.isArray(u)||(u=[u]),u.reduce(function(t,r){var o=function(){for(var o=arguments.length,u=Array(o),i=0;i<o;i++)u[i]=arguments[i];return r(t,n.getSystem()).apply(void 0,[e().getIn(a)].concat(u))};if(!(0,N.isFn)(o))throw new TypeError(\"wrapSelector needs to return a function that returns a new function (ie the wrapped action)\");return o},t||Function.prototype)):t}):t})}},{key:\"getStates\",value:function(e){return(0,h.default)(this.system.statePlugins).reduce(function(t,n){return t[n]=e.get(n),t},{})}},{key:\"getStateThunks\",value:function(e){return(0,h.default)(this.system.statePlugins).reduce(function(t,n){return t[n]=function(){return e().get(n)},t},{})}},{key:\"getFn\",value:function(){return{fn:this.system.fn}}},{key:\"getComponents\",value:function(e){var t=this,n=this.system.components[e];return Array.isArray(n)?n.reduce(function(e,n){return n(e,t.getSystem())}):void 0!==e?this.system.components[e]:this.system.components}},{key:\"getBoundSelectors\",value:function(e,t){return(0,N.objMap)(this.getSelectors(),function(n,r){var a=[r.slice(0,-9)],o=function(){return e().getIn(a)};return(0,N.objMap)(n,function(e){return function(){for(var n=arguments.length,r=Array(n),a=0;a<n;a++)r[a]=arguments[a];var u=f(e).apply(null,[o()].concat(r));return\"function\"==typeof u&&(u=f(u)(t())),u}})})}},{key:\"getBoundActions\",value:function(e){e=e||this.getStore().dispatch;var t=this.getActions(),n=function e(t){return\"function\"!=typeof t?(0,N.objMap)(t,function(t){return e(t)}):function(){var e=null;try{e=t.apply(void 0,arguments)}catch(t){e={type:k.NEW_THROWN_ERR,error:!0,payload:(0,M.default)(t)}}finally{return e}}};return(0,N.objMap)(t,function(t){return(0,w.bindActionCreators)(n(t),e)})}},{key:\"getMapStateToProps\",value:function(){var e=this;return function(){return(0,y.default)({},e.getSystem())}}},{key:\"getMapDispatchToProps\",value:function(e){var t=this;return function(n){return(0,O.default)({},t.getWrappedAndBoundActions(n),t.getFn(),e)}}}]),e}();t.default=L},function(e,t,n){e.exports={default:n(347),__esModule:!0}},function(e,t,n){e.exports={default:n(349),__esModule:!0}},function(e,t,n){e.exports={default:n(352),__esModule:!0}},function(e,t,n){e.exports={default:n(356),__esModule:!0}},function(e,t,n){e.exports={default:n(358),__esModule:!0}},function(e,t,n){e.exports={default:n(359),__esModule:!0}},function(e,t,n){\"use strict\";t.__esModule=!0;var r=n(100),a=function(e){return e&&e.__esModule?e:{default:e}}(r);t.default=function(e){return function(){var t=e.apply(this,arguments);return new a.default(function(e,n){function r(o,u){try{var i=t[o](u),l=i.value}catch(e){return void n(e)}if(!i.done)return a.default.resolve(l).then(function(e){r(\"next\",e)},function(e){r(\"throw\",e)});e(l)}return r(\"next\")})}}},function(e,t,n){e.exports=n(602)},function(e,t,n){\"use strict\";(function(e){function r(){return o.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function a(e,t){if(r()<t)throw new RangeError(\"Invalid typed array length\");return o.TYPED_ARRAY_SUPPORT?(e=new Uint8Array(t),e.__proto__=o.prototype):(null===e&&(e=new o(t)),e.length=t),e}function o(e,t,n){if(!(o.TYPED_ARRAY_SUPPORT||this instanceof o))return new o(e,t,n);if(\"number\"==typeof e){if(\"string\"==typeof t)throw new Error(\"If encoding is specified then the first argument must be a string\");return s(this,e)}return u(this,e,t,n)}function u(e,t,n,r){if(\"number\"==typeof t)throw new TypeError('\"value\" argument must not be a number');return\"undefined\"!=typeof ArrayBuffer&&t instanceof ArrayBuffer?d(e,t,n,r):\"string\"==typeof t?c(e,t,n):p(e,t)}function i(e){if(\"number\"!=typeof e)throw new TypeError('\"size\" argument must be a number');if(e<0)throw new RangeError('\"size\" argument must not be negative')}function l(e,t,n,r){return i(t),t<=0?a(e,t):void 0!==n?\"string\"==typeof r?a(e,t).fill(n,r):a(e,t).fill(n):a(e,t)}function s(e,t){if(i(t),e=a(e,t<0?0:0|h(t)),!o.TYPED_ARRAY_SUPPORT)for(var n=0;n<t;++n)e[n]=0;return e}function c(e,t,n){if(\"string\"==typeof n&&\"\"!==n||(n=\"utf8\"),!o.isEncoding(n))throw new TypeError('\"encoding\" must be a valid string encoding');var r=0|v(t,n);e=a(e,r);var u=e.write(t,n);return u!==r&&(e=e.slice(0,u)),e}function f(e,t){var n=t.length<0?0:0|h(t.length);e=a(e,n);for(var r=0;r<n;r+=1)e[r]=255&t[r];return e}function d(e,t,n,r){if(t.byteLength,n<0||t.byteLength<n)throw new RangeError(\"'offset' is out of bounds\");if(t.byteLength<n+(r||0))throw new RangeError(\"'length' is out of bounds\");return t=void 0===n&&void 0===r?new Uint8Array(t):void 0===r?new Uint8Array(t,n):new Uint8Array(t,n,r),o.TYPED_ARRAY_SUPPORT?(e=t,e.__proto__=o.prototype):e=f(e,t),e}function p(e,t){if(o.isBuffer(t)){var n=0|h(t.length);return e=a(e,n),0===e.length?e:(t.copy(e,0,0,n),e)}if(t){if(\"undefined\"!=typeof ArrayBuffer&&t.buffer instanceof ArrayBuffer||\"length\"in t)return\"number\"!=typeof t.length||Z(t.length)?a(e,0):f(e,t);if(\"Buffer\"===t.type&&X(t.data))return f(e,t.data)}throw new TypeError(\"First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.\")}function h(e){if(e>=r())throw new RangeError(\"Attempt to allocate Buffer larger than maximum size: 0x\"+r().toString(16)+\" bytes\");return 0|e}function m(e){return+e!=e&&(e=0),o.alloc(+e)}function v(e,t){if(o.isBuffer(e))return e.length;if(\"undefined\"!=typeof ArrayBuffer&&\"function\"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;\"string\"!=typeof e&&(e=\"\"+e);var n=e.length;if(0===n)return 0;for(var r=!1;;)switch(t){case\"ascii\":case\"latin1\":case\"binary\":return n;case\"utf8\":case\"utf-8\":case void 0:return J(e).length;case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return 2*n;case\"hex\":return n>>>1;case\"base64\":return Y(e).length;default:if(r)return J(e).length;t=(\"\"+t).toLowerCase(),r=!0}}function g(e,t,n){var r=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return\"\";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return\"\";if(n>>>=0,t>>>=0,n<=t)return\"\";for(e||(e=\"utf8\");;)switch(e){case\"hex\":return M(this,t,n);case\"utf8\":case\"utf-8\":return R(this,t,n);case\"ascii\":return P(this,t,n);case\"latin1\":case\"binary\":return T(this,t,n);case\"base64\":return A(this,t,n);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return k(this,t,n);default:if(r)throw new TypeError(\"Unknown encoding: \"+e);e=(e+\"\").toLowerCase(),r=!0}}function y(e,t,n){var r=e[t];e[t]=e[n],e[n]=r}function _(e,t,n,r,a){if(0===e.length)return-1;if(\"string\"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=a?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(a)return-1;n=e.length-1}else if(n<0){if(!a)return-1;n=0}if(\"string\"==typeof t&&(t=o.from(t,r)),o.isBuffer(t))return 0===t.length?-1:b(e,t,n,r,a);if(\"number\"==typeof t)return t&=255,o.TYPED_ARRAY_SUPPORT&&\"function\"==typeof Uint8Array.prototype.indexOf?a?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):b(e,[t],n,r,a);throw new TypeError(\"val must be string, number or Buffer\")}function b(e,t,n,r,a){function o(e,t){return 1===u?e[t]:e.readUInt16BE(t*u)}var u=1,i=e.length,l=t.length;if(void 0!==r&&(\"ucs2\"===(r=String(r).toLowerCase())||\"ucs-2\"===r||\"utf16le\"===r||\"utf-16le\"===r)){if(e.length<2||t.length<2)return-1;u=2,i/=2,l/=2,n/=2}var s;if(a){var c=-1;for(s=n;s<i;s++)if(o(e,s)===o(t,-1===c?0:s-c)){if(-1===c&&(c=s),s-c+1===l)return c*u}else-1!==c&&(s-=s-c),c=-1}else for(n+l>i&&(n=i-l),s=n;s>=0;s--){for(var f=!0,d=0;d<l;d++)if(o(e,s+d)!==o(t,d)){f=!1;break}if(f)return s}return-1}function E(e,t,n,r){n=Number(n)||0;var a=e.length-n;r?(r=Number(r))>a&&(r=a):r=a;var o=t.length;if(o%2!=0)throw new TypeError(\"Invalid hex string\");r>o/2&&(r=o/2);for(var u=0;u<r;++u){var i=parseInt(t.substr(2*u,2),16);if(isNaN(i))return u;e[n+u]=i}return u}function S(e,t,n,r){return G(J(t,e.length-n),e,n,r)}function x(e,t,n,r){return G(W(t),e,n,r)}function C(e,t,n,r){return x(e,t,n,r)}function w(e,t,n,r){return G(Y(t),e,n,r)}function j(e,t,n,r){return G(H(t,e.length-n),e,n,r)}function A(e,t,n){return 0===t&&n===e.length?$.fromByteArray(e):$.fromByteArray(e.slice(t,n))}function R(e,t,n){n=Math.min(e.length,n);for(var r=[],a=t;a<n;){var o=e[a],u=null,i=o>239?4:o>223?3:o>191?2:1;if(a+i<=n){var l,s,c,f;switch(i){case 1:o<128&&(u=o);break;case 2:l=e[a+1],128==(192&l)&&(f=(31&o)<<6|63&l)>127&&(u=f);break;case 3:l=e[a+1],s=e[a+2],128==(192&l)&&128==(192&s)&&(f=(15&o)<<12|(63&l)<<6|63&s)>2047&&(f<55296||f>57343)&&(u=f);break;case 4:l=e[a+1],s=e[a+2],c=e[a+3],128==(192&l)&&128==(192&s)&&128==(192&c)&&(f=(15&o)<<18|(63&l)<<12|(63&s)<<6|63&c)>65535&&f<1114112&&(u=f)}}null===u?(u=65533,i=1):u>65535&&(u-=65536,r.push(u>>>10&1023|55296),u=56320|1023&u),r.push(u),a+=i}return O(r)}function O(e){var t=e.length;if(t<=Q)return String.fromCharCode.apply(String,e);for(var n=\"\",r=0;r<t;)n+=String.fromCharCode.apply(String,e.slice(r,r+=Q));return n}function P(e,t,n){var r=\"\";n=Math.min(e.length,n);for(var a=t;a<n;++a)r+=String.fromCharCode(127&e[a]);return r}function T(e,t,n){var r=\"\";n=Math.min(e.length,n);for(var a=t;a<n;++a)r+=String.fromCharCode(e[a]);return r}function M(e,t,n){var r=e.length;(!t||t<0)&&(t=0),(!n||n<0||n>r)&&(n=r);for(var a=\"\",o=t;o<n;++o)a+=F(e[o]);return a}function k(e,t,n){for(var r=e.slice(t,n),a=\"\",o=0;o<r.length;o+=2)a+=String.fromCharCode(r[o]+256*r[o+1]);return a}function q(e,t,n){if(e%1!=0||e<0)throw new RangeError(\"offset is not uint\");if(e+t>n)throw new RangeError(\"Trying to access beyond buffer length\")}function I(e,t,n,r,a,u){if(!o.isBuffer(e))throw new TypeError('\"buffer\" argument must be a Buffer instance');if(t>a||t<u)throw new RangeError('\"value\" argument is out of bounds');if(n+r>e.length)throw new RangeError(\"Index out of range\")}function N(e,t,n,r){t<0&&(t=65535+t+1);for(var a=0,o=Math.min(e.length-n,2);a<o;++a)e[n+a]=(t&255<<8*(r?a:1-a))>>>8*(r?a:1-a)}function D(e,t,n,r){t<0&&(t=4294967295+t+1);for(var a=0,o=Math.min(e.length-n,4);a<o;++a)e[n+a]=t>>>8*(r?a:3-a)&255}function L(e,t,n,r,a,o){if(n+r>e.length)throw new RangeError(\"Index out of range\");if(n<0)throw new RangeError(\"Index out of range\")}function U(e,t,n,r,a){return a||L(e,t,n,4,3.4028234663852886e38,-3.4028234663852886e38),K.write(e,t,n,r,23,4),n+4}function z(e,t,n,r,a){return a||L(e,t,n,8,1.7976931348623157e308,-1.7976931348623157e308),K.write(e,t,n,r,52,8),n+8}function V(e){if(e=B(e).replace(ee,\"\"),e.length<2)return\"\";for(;e.length%4!=0;)e+=\"=\";return e}function B(e){return e.trim?e.trim():e.replace(/^\\s+|\\s+$/g,\"\")}function F(e){return e<16?\"0\"+e.toString(16):e.toString(16)}function J(e,t){t=t||1/0;for(var n,r=e.length,a=null,o=[],u=0;u<r;++u){if((n=e.charCodeAt(u))>55295&&n<57344){if(!a){if(n>56319){(t-=3)>-1&&o.push(239,191,189);continue}if(u+1===r){(t-=3)>-1&&o.push(239,191,189);continue}a=n;continue}if(n<56320){(t-=3)>-1&&o.push(239,191,189),a=n;continue}n=65536+(a-55296<<10|n-56320)}else a&&(t-=3)>-1&&o.push(239,191,189);if(a=null,n<128){if((t-=1)<0)break;o.push(n)}else if(n<2048){if((t-=2)<0)break;o.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;o.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error(\"Invalid code point\");if((t-=4)<0)break;o.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return o}function W(e){for(var t=[],n=0;n<e.length;++n)t.push(255&e.charCodeAt(n));return t}function H(e,t){for(var n,r,a,o=[],u=0;u<e.length&&!((t-=2)<0);++u)n=e.charCodeAt(u),r=n>>8,a=n%256,o.push(a),o.push(r);return o}function Y(e){return $.toByteArray(V(e))}function G(e,t,n,r){for(var a=0;a<r&&!(a+n>=t.length||a>=e.length);++a)t[a+n]=e[a];return a}function Z(e){return e!==e}/*!\n * The buffer module from node.js, for the browser.\n *\n * @author   Feross Aboukhadijeh <feross@feross.org> <http://feross.org>\n * @license  MIT\n */\nvar $=n(587),K=n(591),X=n(592);t.Buffer=o,t.SlowBuffer=m,t.INSPECT_MAX_BYTES=50,o.TYPED_ARRAY_SUPPORT=void 0!==e.TYPED_ARRAY_SUPPORT?e.TYPED_ARRAY_SUPPORT:function(){try{var e=new Uint8Array(1);return e.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===e.foo()&&\"function\"==typeof e.subarray&&0===e.subarray(1,1).byteLength}catch(e){return!1}}(),t.kMaxLength=r(),o.poolSize=8192,o._augment=function(e){return e.__proto__=o.prototype,e},o.from=function(e,t,n){return u(null,e,t,n)},o.TYPED_ARRAY_SUPPORT&&(o.prototype.__proto__=Uint8Array.prototype,o.__proto__=Uint8Array,\"undefined\"!=typeof Symbol&&Symbol.species&&o[Symbol.species]===o&&Object.defineProperty(o,Symbol.species,{value:null,configurable:!0})),o.alloc=function(e,t,n){return l(null,e,t,n)},o.allocUnsafe=function(e){return s(null,e)},o.allocUnsafeSlow=function(e){return s(null,e)},o.isBuffer=function(e){return!(null==e||!e._isBuffer)},o.compare=function(e,t){if(!o.isBuffer(e)||!o.isBuffer(t))throw new TypeError(\"Arguments must be Buffers\");if(e===t)return 0;for(var n=e.length,r=t.length,a=0,u=Math.min(n,r);a<u;++a)if(e[a]!==t[a]){n=e[a],r=t[a];break}return n<r?-1:r<n?1:0},o.isEncoding=function(e){switch(String(e).toLowerCase()){case\"hex\":case\"utf8\":case\"utf-8\":case\"ascii\":case\"latin1\":case\"binary\":case\"base64\":case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return!0;default:return!1}},o.concat=function(e,t){if(!X(e))throw new TypeError('\"list\" argument must be an Array of Buffers');if(0===e.length)return o.alloc(0);var n;if(void 0===t)for(t=0,n=0;n<e.length;++n)t+=e[n].length;var r=o.allocUnsafe(t),a=0;for(n=0;n<e.length;++n){var u=e[n];if(!o.isBuffer(u))throw new TypeError('\"list\" argument must be an Array of Buffers');u.copy(r,a),a+=u.length}return r},o.byteLength=v,o.prototype._isBuffer=!0,o.prototype.swap16=function(){var e=this.length;if(e%2!=0)throw new RangeError(\"Buffer size must be a multiple of 16-bits\");for(var t=0;t<e;t+=2)y(this,t,t+1);return this},o.prototype.swap32=function(){var e=this.length;if(e%4!=0)throw new RangeError(\"Buffer size must be a multiple of 32-bits\");for(var t=0;t<e;t+=4)y(this,t,t+3),y(this,t+1,t+2);return this},o.prototype.swap64=function(){var e=this.length;if(e%8!=0)throw new RangeError(\"Buffer size must be a multiple of 64-bits\");for(var t=0;t<e;t+=8)y(this,t,t+7),y(this,t+1,t+6),y(this,t+2,t+5),y(this,t+3,t+4);return this},o.prototype.toString=function(){var e=0|this.length;return 0===e?\"\":0===arguments.length?R(this,0,e):g.apply(this,arguments)},o.prototype.equals=function(e){if(!o.isBuffer(e))throw new TypeError(\"Argument must be a Buffer\");return this===e||0===o.compare(this,e)},o.prototype.inspect=function(){var e=\"\",n=t.INSPECT_MAX_BYTES;return this.length>0&&(e=this.toString(\"hex\",0,n).match(/.{2}/g).join(\" \"),this.length>n&&(e+=\" ... \")),\"<Buffer \"+e+\">\"},o.prototype.compare=function(e,t,n,r,a){if(!o.isBuffer(e))throw new TypeError(\"Argument must be a Buffer\");if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===r&&(r=0),void 0===a&&(a=this.length),t<0||n>e.length||r<0||a>this.length)throw new RangeError(\"out of range index\");if(r>=a&&t>=n)return 0;if(r>=a)return-1;if(t>=n)return 1;if(t>>>=0,n>>>=0,r>>>=0,a>>>=0,this===e)return 0;for(var u=a-r,i=n-t,l=Math.min(u,i),s=this.slice(r,a),c=e.slice(t,n),f=0;f<l;++f)if(s[f]!==c[f]){u=s[f],i=c[f];break}return u<i?-1:i<u?1:0},o.prototype.includes=function(e,t,n){return-1!==this.indexOf(e,t,n)},o.prototype.indexOf=function(e,t,n){return _(this,e,t,n,!0)},o.prototype.lastIndexOf=function(e,t,n){return _(this,e,t,n,!1)},o.prototype.write=function(e,t,n,r){if(void 0===t)r=\"utf8\",n=this.length,t=0;else if(void 0===n&&\"string\"==typeof t)r=t,n=this.length,t=0;else{if(!isFinite(t))throw new Error(\"Buffer.write(string, encoding, offset[, length]) is no longer supported\");t|=0,isFinite(n)?(n|=0,void 0===r&&(r=\"utf8\")):(r=n,n=void 0)}var a=this.length-t;if((void 0===n||n>a)&&(n=a),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError(\"Attempt to write outside buffer bounds\");r||(r=\"utf8\");for(var o=!1;;)switch(r){case\"hex\":return E(this,e,t,n);case\"utf8\":case\"utf-8\":return S(this,e,t,n);case\"ascii\":return x(this,e,t,n);case\"latin1\":case\"binary\":return C(this,e,t,n);case\"base64\":return w(this,e,t,n);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return j(this,e,t,n);default:if(o)throw new TypeError(\"Unknown encoding: \"+r);r=(\"\"+r).toLowerCase(),o=!0}},o.prototype.toJSON=function(){return{type:\"Buffer\",data:Array.prototype.slice.call(this._arr||this,0)}};var Q=4096;o.prototype.slice=function(e,t){var n=this.length;e=~~e,t=void 0===t?n:~~t,e<0?(e+=n)<0&&(e=0):e>n&&(e=n),t<0?(t+=n)<0&&(t=0):t>n&&(t=n),t<e&&(t=e);var r;if(o.TYPED_ARRAY_SUPPORT)r=this.subarray(e,t),r.__proto__=o.prototype;else{var a=t-e;r=new o(a,void 0);for(var u=0;u<a;++u)r[u]=this[u+e]}return r},o.prototype.readUIntLE=function(e,t,n){e|=0,t|=0,n||q(e,t,this.length);for(var r=this[e],a=1,o=0;++o<t&&(a*=256);)r+=this[e+o]*a;return r},o.prototype.readUIntBE=function(e,t,n){e|=0,t|=0,n||q(e,t,this.length);for(var r=this[e+--t],a=1;t>0&&(a*=256);)r+=this[e+--t]*a;return r},o.prototype.readUInt8=function(e,t){return t||q(e,1,this.length),this[e]},o.prototype.readUInt16LE=function(e,t){return t||q(e,2,this.length),this[e]|this[e+1]<<8},o.prototype.readUInt16BE=function(e,t){return t||q(e,2,this.length),this[e]<<8|this[e+1]},o.prototype.readUInt32LE=function(e,t){return t||q(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},o.prototype.readUInt32BE=function(e,t){return t||q(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},o.prototype.readIntLE=function(e,t,n){e|=0,t|=0,n||q(e,t,this.length);for(var r=this[e],a=1,o=0;++o<t&&(a*=256);)r+=this[e+o]*a;return a*=128,r>=a&&(r-=Math.pow(2,8*t)),r},o.prototype.readIntBE=function(e,t,n){e|=0,t|=0,n||q(e,t,this.length);for(var r=t,a=1,o=this[e+--r];r>0&&(a*=256);)o+=this[e+--r]*a;return a*=128,o>=a&&(o-=Math.pow(2,8*t)),o},o.prototype.readInt8=function(e,t){return t||q(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},o.prototype.readInt16LE=function(e,t){t||q(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},o.prototype.readInt16BE=function(e,t){t||q(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},o.prototype.readInt32LE=function(e,t){return t||q(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},o.prototype.readInt32BE=function(e,t){return t||q(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},o.prototype.readFloatLE=function(e,t){return t||q(e,4,this.length),K.read(this,e,!0,23,4)},o.prototype.readFloatBE=function(e,t){return t||q(e,4,this.length),K.read(this,e,!1,23,4)},o.prototype.readDoubleLE=function(e,t){return t||q(e,8,this.length),K.read(this,e,!0,52,8)},o.prototype.readDoubleBE=function(e,t){return t||q(e,8,this.length),K.read(this,e,!1,52,8)},o.prototype.writeUIntLE=function(e,t,n,r){if(e=+e,t|=0,n|=0,!r){I(this,e,t,n,Math.pow(2,8*n)-1,0)}var a=1,o=0;for(this[t]=255&e;++o<n&&(a*=256);)this[t+o]=e/a&255;return t+n},o.prototype.writeUIntBE=function(e,t,n,r){if(e=+e,t|=0,n|=0,!r){I(this,e,t,n,Math.pow(2,8*n)-1,0)}var a=n-1,o=1;for(this[t+a]=255&e;--a>=0&&(o*=256);)this[t+a]=e/o&255;return t+n},o.prototype.writeUInt8=function(e,t,n){return e=+e,t|=0,n||I(this,e,t,1,255,0),o.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},o.prototype.writeUInt16LE=function(e,t,n){return e=+e,t|=0,n||I(this,e,t,2,65535,0),o.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):N(this,e,t,!0),t+2},o.prototype.writeUInt16BE=function(e,t,n){return e=+e,t|=0,n||I(this,e,t,2,65535,0),o.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):N(this,e,t,!1),t+2},o.prototype.writeUInt32LE=function(e,t,n){return e=+e,t|=0,n||I(this,e,t,4,4294967295,0),o.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):D(this,e,t,!0),t+4},o.prototype.writeUInt32BE=function(e,t,n){return e=+e,t|=0,n||I(this,e,t,4,4294967295,0),o.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):D(this,e,t,!1),t+4},o.prototype.writeIntLE=function(e,t,n,r){if(e=+e,t|=0,!r){var a=Math.pow(2,8*n-1);I(this,e,t,n,a-1,-a)}var o=0,u=1,i=0;for(this[t]=255&e;++o<n&&(u*=256);)e<0&&0===i&&0!==this[t+o-1]&&(i=1),this[t+o]=(e/u>>0)-i&255;return t+n},o.prototype.writeIntBE=function(e,t,n,r){if(e=+e,t|=0,!r){var a=Math.pow(2,8*n-1);I(this,e,t,n,a-1,-a)}var o=n-1,u=1,i=0;for(this[t+o]=255&e;--o>=0&&(u*=256);)e<0&&0===i&&0!==this[t+o+1]&&(i=1),this[t+o]=(e/u>>0)-i&255;return t+n},o.prototype.writeInt8=function(e,t,n){return e=+e,t|=0,n||I(this,e,t,1,127,-128),o.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},o.prototype.writeInt16LE=function(e,t,n){return e=+e,t|=0,n||I(this,e,t,2,32767,-32768),o.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):N(this,e,t,!0),t+2},o.prototype.writeInt16BE=function(e,t,n){return e=+e,t|=0,n||I(this,e,t,2,32767,-32768),o.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):N(this,e,t,!1),t+2},o.prototype.writeInt32LE=function(e,t,n){return e=+e,t|=0,n||I(this,e,t,4,2147483647,-2147483648),o.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):D(this,e,t,!0),t+4},o.prototype.writeInt32BE=function(e,t,n){return e=+e,t|=0,n||I(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),o.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):D(this,e,t,!1),t+4},o.prototype.writeFloatLE=function(e,t,n){return U(this,e,t,!0,n)},o.prototype.writeFloatBE=function(e,t,n){return U(this,e,t,!1,n)},o.prototype.writeDoubleLE=function(e,t,n){return z(this,e,t,!0,n)},o.prototype.writeDoubleBE=function(e,t,n){return z(this,e,t,!1,n)},o.prototype.copy=function(e,t,n,r){if(n||(n=0),r||0===r||(r=this.length),t>=e.length&&(t=e.length),t||(t=0),r>0&&r<n&&(r=n),r===n)return 0;if(0===e.length||0===this.length)return 0;if(t<0)throw new RangeError(\"targetStart out of bounds\");if(n<0||n>=this.length)throw new RangeError(\"sourceStart out of bounds\");if(r<0)throw new RangeError(\"sourceEnd out of bounds\");r>this.length&&(r=this.length),e.length-t<r-n&&(r=e.length-t+n);var a,u=r-n;if(this===e&&n<t&&t<r)for(a=u-1;a>=0;--a)e[a+t]=this[a+n];else if(u<1e3||!o.TYPED_ARRAY_SUPPORT)for(a=0;a<u;++a)e[a+t]=this[a+n];else Uint8Array.prototype.set.call(e,this.subarray(n,n+u),t);return u},o.prototype.fill=function(e,t,n,r){if(\"string\"==typeof e){if(\"string\"==typeof t?(r=t,t=0,n=this.length):\"string\"==typeof n&&(r=n,n=this.length),1===e.length){var a=e.charCodeAt(0);a<256&&(e=a)}if(void 0!==r&&\"string\"!=typeof r)throw new TypeError(\"encoding must be a string\");if(\"string\"==typeof r&&!o.isEncoding(r))throw new TypeError(\"Unknown encoding: \"+r)}else\"number\"==typeof e&&(e&=255);if(t<0||this.length<t||this.length<n)throw new RangeError(\"Out of range index\");if(n<=t)return this;t>>>=0,n=void 0===n?this.length:n>>>0,e||(e=0);var u;if(\"number\"==typeof e)for(u=t;u<n;++u)this[u]=e;else{var i=o.isBuffer(e)?e:J(new o(e,r).toString()),l=i.length;for(u=0;u<n-t;++u)this[u+t]=i[u%l]}return this};var ee=/[^+\\/0-9A-Za-z-_]/g}).call(t,n(273))},function(e,t,n){n(437),n(441),n(448),n(239),n(432),n(433),n(438),n(442),n(444),n(428),n(429),n(430),n(431),n(434),n(435),n(436),n(439),n(440),n(443),n(445),n(446),n(447),n(424),n(425),n(426),n(427),e.exports=n(40).String},function(e,t,n){n(422),n(239),n(451),n(423),n(449),n(450),e.exports=n(40).Promise},function(e,t,n){n(58),n(382),e.exports=n(10).Array.from},function(e,t,n){n(78),n(58),e.exports=n(380)},function(e,t,n){n(78),n(58),e.exports=n(381)},function(e,t,n){var r=n(10),a=r.JSON||(r.JSON={stringify:JSON.stringify});e.exports=function(e){return a.stringify.apply(a,arguments)}},function(e,t,n){n(384),e.exports=n(10).Object.assign},function(e,t,n){n(385);var r=n(10).Object;e.exports=function(e,t){return r.create(e,t)}},function(e,t,n){n(386);var r=n(10).Object;e.exports=function(e,t,n){return r.defineProperty(e,t,n)}},function(e,t,n){n(387),e.exports=n(10).Object.getPrototypeOf},function(e,t,n){n(388),e.exports=n(10).Object.keys},function(e,t,n){n(389),e.exports=n(10).Object.setPrototypeOf},function(e,t,n){n(224),n(58),n(78),n(390),n(392),n(393),e.exports=n(10).Promise},function(e,t,n){n(391),n(224),n(394),n(395),e.exports=n(10).Symbol},function(e,t,n){n(58),n(78),e.exports=n(114).f(\"iterator\")},function(e,t){e.exports=function(){}},function(e,t){e.exports=function(e,t,n,r){if(!(e instanceof t)||void 0!==r&&r in e)throw TypeError(n+\": incorrect invocation!\");return e}},function(e,t,n){var r=n(47),a=n(111),o=n(379);e.exports=function(e){return function(t,n,u){var i,l=r(t),s=a(l.length),c=o(u,s);if(e&&n!=n){for(;s>c;)if((i=l[c++])!=i)return!0}else for(;s>c;c++)if((e||c in l)&&l[c]===n)return e||c||0;return!e&&-1}}},function(e,t,n){\"use strict\";var r=n(29),a=n(56);e.exports=function(e,t,n){t in e?r.f(e,t,a(0,n)):e[t]=n}},function(e,t,n){var r=n(55),a=n(107),o=n(75);e.exports=function(e){var t=r(e),n=a.f;if(n)for(var u,i=n(e),l=o.f,s=0;i.length>s;)l.call(e,u=i[s++])&&t.push(u);return t}},function(e,t,n){var r=n(44),a=n(211),o=n(210),u=n(27),i=n(111),l=n(115),s={},c={},t=e.exports=function(e,t,n,f,d){var p,h,m,v,g=d?function(){return e}:l(e),y=r(n,f,t?2:1),_=0;if(\"function\"!=typeof g)throw TypeError(e+\" is not iterable!\");if(o(g)){for(p=i(e.length);p>_;_++)if((v=t?y(u(h=e[_])[0],h[1]):y(e[_]))===s||v===c)return v}else for(m=g.call(e);!(h=m.next()).done;)if((v=a(m,y,h.value,t))===s||v===c)return v};t.BREAK=s,t.RETURN=c},function(e,t){e.exports=function(e,t,n){var r=void 0===n;switch(t.length){case 0:return r?e():e.call(n);case 1:return r?e(t[0]):e.call(n,t[0]);case 2:return r?e(t[0],t[1]):e.call(n,t[0],t[1]);case 3:return r?e(t[0],t[1],t[2]):e.call(n,t[0],t[1],t[2]);case 4:return r?e(t[0],t[1],t[2],t[3]):e.call(n,t[0],t[1],t[2],t[3])}return e.apply(n,t)}},function(e,t,n){var r=n(54);e.exports=Array.isArray||function(e){return\"Array\"==r(e)}},function(e,t,n){\"use strict\";var r=n(106),a=n(56),o=n(76),u={};n(38)(u,n(14)(\"iterator\"),function(){return this}),e.exports=function(e,t,n){e.prototype=r(u,{next:a(1,n)}),o(e,t+\" Iterator\")}},function(e,t){e.exports=function(e,t){return{value:t,done:!!e}}},function(e,t,n){var r=n(77)(\"meta\"),a=n(34),o=n(37),u=n(29).f,i=0,l=Object.isExtensible||function(){return!0},s=!n(45)(function(){return l(Object.preventExtensions({}))}),c=function(e){u(e,r,{value:{i:\"O\"+ ++i,w:{}}})},f=function(e,t){if(!a(e))return\"symbol\"==typeof e?e:(\"string\"==typeof e?\"S\":\"P\")+e;if(!o(e,r)){if(!l(e))return\"F\";if(!t)return\"E\";c(e)}return e[r].i},d=function(e,t){if(!o(e,r)){if(!l(e))return!0;if(!t)return!1;c(e)}return e[r].w},p=function(e){return s&&h.NEED&&l(e)&&!o(e,r)&&c(e),e},h=e.exports={KEY:r,NEED:!1,fastKey:f,getWeak:d,onFreeze:p}},function(e,t,n){var r=n(16),a=n(223).set,o=r.MutationObserver||r.WebKitMutationObserver,u=r.process,i=r.Promise,l=\"process\"==n(54)(u);e.exports=function(){var e,t,n,s=function(){var r,a;for(l&&(r=u.domain)&&r.exit();e;){a=e.fn,e=e.next;try{a()}catch(r){throw e?n():t=void 0,r}}t=void 0,r&&r.enter()};if(l)n=function(){u.nextTick(s)};else if(!o||r.navigator&&r.navigator.standalone)if(i&&i.resolve){var c=i.resolve();n=function(){c.then(s)}}else n=function(){a.call(r,s)};else{var f=!0,d=document.createTextNode(\"\");new o(s).observe(d,{characterData:!0}),n=function(){d.data=f=!f}}return function(r){var a={fn:r,next:void 0};t&&(t.next=a),e||(e=a,n()),t=a}}},function(e,t,n){\"use strict\";var r=n(55),a=n(107),o=n(75),u=n(57),i=n(209),l=Object.assign;e.exports=!l||n(45)(function(){var e={},t={},n=Symbol(),r=\"abcdefghijklmnopqrst\";return e[n]=7,r.split(\"\").forEach(function(e){t[e]=e}),7!=l({},e)[n]||Object.keys(l({},t)).join(\"\")!=r})?function(e,t){for(var n=u(e),l=arguments.length,s=1,c=a.f,f=o.f;l>s;)for(var d,p=i(arguments[s++]),h=c?r(p).concat(c(p)):r(p),m=h.length,v=0;m>v;)f.call(p,d=h[v++])&&(n[d]=p[d]);return n}:l},function(e,t,n){var r=n(29),a=n(27),o=n(55);e.exports=n(33)?Object.defineProperties:function(e,t){a(e);for(var n,u=o(t),i=u.length,l=0;i>l;)r.f(e,n=u[l++],t[n]);return e}},function(e,t,n){var r=n(47),a=n(215).f,o={}.toString,u=\"object\"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],i=function(e){try{return a(e)}catch(e){return u.slice()}};e.exports.f=function(e){return u&&\"[object Window]\"==o.call(e)?i(e):a(r(e))}},function(e,t,n){var r=n(38);e.exports=function(e,t,n){for(var a in t)n&&e[a]?e[a]=t[a]:r(e,a,t[a]);return e}},function(e,t,n){var r=n(34),a=n(27),o=function(e,t){if(a(e),!r(t)&&null!==t)throw TypeError(t+\": can't set as prototype!\")};e.exports={set:Object.setPrototypeOf||(\"__proto__\"in{}?function(e,t,r){try{r=n(44)(Function.call,n(214).f(Object.prototype,\"__proto__\").set,2),r(e,[]),t=!(e instanceof Array)}catch(e){t=!0}return function(e,n){return o(e,n),t?e.__proto__=n:r(e,n),e}}({},!1):void 0),check:o}},function(e,t,n){\"use strict\";var r=n(16),a=n(10),o=n(29),u=n(33),i=n(14)(\"species\");e.exports=function(e){var t=\"function\"==typeof a[e]?a[e]:r[e];u&&t&&!t[i]&&o.f(t,i,{configurable:!0,get:function(){return this}})}},function(e,t,n){var r=n(110),a=n(102);e.exports=function(e){return function(t,n){var o,u,i=String(a(t)),l=r(n),s=i.length;return l<0||l>=s?e?\"\":void 0:(o=i.charCodeAt(l),o<55296||o>56319||l+1===s||(u=i.charCodeAt(l+1))<56320||u>57343?e?i.charAt(l):o:e?i.slice(l,l+2):u-56320+(o-55296<<10)+65536)}}},function(e,t,n){var r=n(110),a=Math.max,o=Math.min;e.exports=function(e,t){return e=r(e),e<0?a(e+t,0):o(e,t)}},function(e,t,n){var r=n(27),a=n(115);e.exports=n(10).getIterator=function(e){var t=a(e);if(\"function\"!=typeof t)throw TypeError(e+\" is not iterable!\");return r(t.call(e))}},function(e,t,n){var r=n(101),a=n(14)(\"iterator\"),o=n(46);e.exports=n(10).isIterable=function(e){var t=Object(e);return void 0!==t[a]||\"@@iterator\"in t||o.hasOwnProperty(r(t))}},function(e,t,n){\"use strict\";var r=n(44),a=n(24),o=n(57),u=n(211),i=n(210),l=n(111),s=n(363),c=n(115);a(a.S+a.F*!n(213)(function(e){Array.from(e)}),\"Array\",{from:function(e){var t,n,a,f,d=o(e),p=\"function\"==typeof this?this:Array,h=arguments.length,m=h>1?arguments[1]:void 0,v=void 0!==m,g=0,y=c(d);if(v&&(m=r(m,h>2?arguments[2]:void 0,2)),void 0==y||p==Array&&i(y))for(t=l(d.length),n=new p(t);t>g;g++)s(n,g,v?m(d[g],g):d[g]);else for(f=y.call(d),n=new p;!(a=f.next()).done;g++)s(n,g,v?u(f,m,[a.value,g],!0):a.value);return n.length=g,n}})},function(e,t,n){\"use strict\";var r=n(360),a=n(369),o=n(46),u=n(47);e.exports=n(212)(Array,\"Array\",function(e,t){this._t=u(e),this._i=0,this._k=t},function(){var e=this._t,t=this._k,n=this._i++;return!e||n>=e.length?(this._t=void 0,a(1)):\"keys\"==t?a(0,n):\"values\"==t?a(0,e[n]):a(0,[n,e[n]])},\"values\"),o.Arguments=o.Array,r(\"keys\"),r(\"values\"),r(\"entries\")},function(e,t,n){var r=n(24);r(r.S+r.F,\"Object\",{assign:n(372)})},function(e,t,n){var r=n(24);r(r.S,\"Object\",{create:n(106)})},function(e,t,n){var r=n(24);r(r.S+r.F*!n(33),\"Object\",{defineProperty:n(29).f})},function(e,t,n){var r=n(57),a=n(216);n(218)(\"getPrototypeOf\",function(){return function(e){return a(r(e))}})},function(e,t,n){var r=n(57),a=n(55);n(218)(\"keys\",function(){return function(e){return a(r(e))}})},function(e,t,n){var r=n(24);r(r.S,\"Object\",{setPrototypeOf:n(376).set})},function(e,t,n){\"use strict\";var r,a,o,u,i=n(74),l=n(16),s=n(44),c=n(101),f=n(24),d=n(34),p=n(73),h=n(361),m=n(365),v=n(222),g=n(223).set,y=n(371)(),_=n(105),b=n(219),E=n(220),S=l.TypeError,x=l.process,C=l.Promise,w=\"process\"==c(x),j=function(){},A=a=_.f,R=!!function(){try{var e=C.resolve(1),t=(e.constructor={})[n(14)(\"species\")]=function(e){e(j,j)};return(w||\"function\"==typeof PromiseRejectionEvent)&&e.then(j)instanceof t}catch(e){}}(),O=function(e){var t;return!(!d(e)||\"function\"!=typeof(t=e.then))&&t},P=function(e,t){if(!e._n){e._n=!0;var n=e._c;y(function(){for(var r=e._v,a=1==e._s,o=0;n.length>o;)!function(t){var n,o,u=a?t.ok:t.fail,i=t.resolve,l=t.reject,s=t.domain;try{u?(a||(2==e._h&&k(e),e._h=1),!0===u?n=r:(s&&s.enter(),n=u(r),s&&s.exit()),n===t.promise?l(S(\"Promise-chain cycle\")):(o=O(n))?o.call(n,i,l):i(n)):l(r)}catch(e){l(e)}}(n[o++]);e._c=[],e._n=!1,t&&!e._h&&T(e)})}},T=function(e){g.call(l,function(){var t,n,r,a=e._v,o=M(e);if(o&&(t=b(function(){w?x.emit(\"unhandledRejection\",a,e):(n=l.onunhandledrejection)?n({promise:e,reason:a}):(r=l.console)&&r.error&&r.error(\"Unhandled promise rejection\",a)}),e._h=w||M(e)?2:1),e._a=void 0,o&&t.e)throw t.v})},M=function(e){return 1!==e._h&&0===(e._a||e._c).length},k=function(e){g.call(l,function(){var t;w?x.emit(\"rejectionHandled\",e):(t=l.onrejectionhandled)&&t({promise:e,reason:e._v})})},q=function(e){var t=this;t._d||(t._d=!0,t=t._w||t,t._v=e,t._s=2,t._a||(t._a=t._c.slice()),P(t,!0))},I=function(e){var t,n=this;if(!n._d){n._d=!0,n=n._w||n;try{if(n===e)throw S(\"Promise can't be resolved itself\");(t=O(e))?y(function(){var r={_w:n,_d:!1};try{t.call(e,s(I,r,1),s(q,r,1))}catch(e){q.call(r,e)}}):(n._v=e,n._s=1,P(n,!1))}catch(e){q.call({_w:n,_d:!1},e)}}};R||(C=function(e){h(this,C,\"Promise\",\"_h\"),p(e),r.call(this);try{e(s(I,this,1),s(q,this,1))}catch(e){q.call(this,e)}},r=function(e){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1},r.prototype=n(375)(C.prototype,{then:function(e,t){var n=A(v(this,C));return n.ok=\"function\"!=typeof e||e,n.fail=\"function\"==typeof t&&t,n.domain=w?x.domain:void 0,this._c.push(n),this._a&&this._a.push(n),this._s&&P(this,!1),n.promise},catch:function(e){return this.then(void 0,e)}}),o=function(){var e=new r;this.promise=e,this.resolve=s(I,e,1),this.reject=s(q,e,1)},_.f=A=function(e){return e===C||e===u?new o(e):a(e)}),f(f.G+f.W+f.F*!R,{Promise:C}),n(76)(C,\"Promise\"),n(377)(\"Promise\"),u=n(10).Promise,f(f.S+f.F*!R,\"Promise\",{reject:function(e){var t=A(this);return(0,t.reject)(e),t.promise}}),f(f.S+f.F*(i||!R),\"Promise\",{resolve:function(e){return E(i&&this===u?C:this,e)}}),f(f.S+f.F*!(R&&n(213)(function(e){C.all(e).catch(j)})),\"Promise\",{all:function(e){var t=this,n=A(t),r=n.resolve,a=n.reject,o=b(function(){var n=[],o=0,u=1;m(e,!1,function(e){var i=o++,l=!1;n.push(void 0),u++,t.resolve(e).then(function(e){l||(l=!0,n[i]=e,--u||r(n))},a)}),--u||r(n)});return o.e&&a(o.v),n.promise},race:function(e){var t=this,n=A(t),r=n.reject,a=b(function(){m(e,!1,function(e){t.resolve(e).then(n.resolve,r)})});return a.e&&r(a.v),n.promise}})},function(e,t,n){\"use strict\";var r=n(16),a=n(37),o=n(33),u=n(24),i=n(221),l=n(370).KEY,s=n(45),c=n(109),f=n(76),d=n(77),p=n(14),h=n(114),m=n(113),v=n(364),g=n(367),y=n(27),_=n(34),b=n(47),E=n(112),S=n(56),x=n(106),C=n(374),w=n(214),j=n(29),A=n(55),R=w.f,O=j.f,P=C.f,T=r.Symbol,M=r.JSON,k=M&&M.stringify,q=p(\"_hidden\"),I=p(\"toPrimitive\"),N={}.propertyIsEnumerable,D=c(\"symbol-registry\"),L=c(\"symbols\"),U=c(\"op-symbols\"),z=Object.prototype,V=\"function\"==typeof T,B=r.QObject,F=!B||!B.prototype||!B.prototype.findChild,J=o&&s(function(){return 7!=x(O({},\"a\",{get:function(){return O(this,\"a\",{value:7}).a}})).a})?function(e,t,n){var r=R(z,t);r&&delete z[t],O(e,t,n),r&&e!==z&&O(z,t,r)}:O,W=function(e){var t=L[e]=x(T.prototype);return t._k=e,t},H=V&&\"symbol\"==typeof T.iterator?function(e){return\"symbol\"==typeof e}:function(e){return e instanceof T},Y=function(e,t,n){return e===z&&Y(U,t,n),y(e),t=E(t,!0),y(n),a(L,t)?(n.enumerable?(a(e,q)&&e[q][t]&&(e[q][t]=!1),n=x(n,{enumerable:S(0,!1)})):(a(e,q)||O(e,q,S(1,{})),e[q][t]=!0),J(e,t,n)):O(e,t,n)},G=function(e,t){y(e);for(var n,r=v(t=b(t)),a=0,o=r.length;o>a;)Y(e,n=r[a++],t[n]);return e},Z=function(e,t){return void 0===t?x(e):G(x(e),t)},$=function(e){var t=N.call(this,e=E(e,!0));return!(this===z&&a(L,e)&&!a(U,e))&&(!(t||!a(this,e)||!a(L,e)||a(this,q)&&this[q][e])||t)},K=function(e,t){if(e=b(e),t=E(t,!0),e!==z||!a(L,t)||a(U,t)){var n=R(e,t);return!n||!a(L,t)||a(e,q)&&e[q][t]||(n.enumerable=!0),n}},X=function(e){for(var t,n=P(b(e)),r=[],o=0;n.length>o;)a(L,t=n[o++])||t==q||t==l||r.push(t);return r},Q=function(e){for(var t,n=e===z,r=P(n?U:b(e)),o=[],u=0;r.length>u;)!a(L,t=r[u++])||n&&!a(z,t)||o.push(L[t]);return o};V||(T=function(){if(this instanceof T)throw TypeError(\"Symbol is not a constructor!\");var e=d(arguments.length>0?arguments[0]:void 0),t=function(n){this===z&&t.call(U,n),a(this,q)&&a(this[q],e)&&(this[q][e]=!1),J(this,e,S(1,n))};return o&&F&&J(z,e,{configurable:!0,set:t}),W(e)},i(T.prototype,\"toString\",function(){return this._k}),w.f=K,j.f=Y,n(215).f=C.f=X,n(75).f=$,n(107).f=Q,o&&!n(74)&&i(z,\"propertyIsEnumerable\",$,!0),h.f=function(e){return W(p(e))}),u(u.G+u.W+u.F*!V,{Symbol:T});for(var ee=\"hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables\".split(\",\"),te=0;ee.length>te;)p(ee[te++]);for(var ne=A(p.store),re=0;ne.length>re;)m(ne[re++]);u(u.S+u.F*!V,\"Symbol\",{for:function(e){return a(D,e+=\"\")?D[e]:D[e]=T(e)},keyFor:function(e){if(!H(e))throw TypeError(e+\" is not a symbol!\");for(var t in D)if(D[t]===e)return t},useSetter:function(){F=!0},useSimple:function(){F=!1}}),u(u.S+u.F*!V,\"Object\",{create:Z,defineProperty:Y,defineProperties:G,getOwnPropertyDescriptor:K,getOwnPropertyNames:X,getOwnPropertySymbols:Q}),M&&u(u.S+u.F*(!V||s(function(){var e=T();return\"[null]\"!=k([e])||\"{}\"!=k({a:e})||\"{}\"!=k(Object(e))})),\"JSON\",{stringify:function(e){for(var t,n,r=[e],a=1;arguments.length>a;)r.push(arguments[a++]);if(n=t=r[1],(_(t)||void 0!==e)&&!H(e))return g(t)||(t=function(e,t){if(\"function\"==typeof n&&(t=n.call(this,e,t)),!H(t))return t}),r[1]=t,k.apply(M,r)}}),T.prototype[I]||n(38)(T.prototype,I,T.prototype.valueOf),f(T,\"Symbol\"),f(Math,\"Math\",!0),f(r.JSON,\"JSON\",!0)},function(e,t,n){\"use strict\";var r=n(24),a=n(10),o=n(16),u=n(222),i=n(220);r(r.P+r.R,\"Promise\",{finally:function(e){var t=u(this,a.Promise||o.Promise),n=\"function\"==typeof e;return this.then(n?function(n){return i(t,e()).then(function(){return n})}:e,n?function(n){return i(t,e()).then(function(){throw n})}:e)}})},function(e,t,n){\"use strict\";var r=n(24),a=n(105),o=n(219);r(r.S,\"Promise\",{try:function(e){var t=a.f(this),n=o(e);return(n.e?t.reject:t.resolve)(n.v),t.promise}})},function(e,t,n){n(113)(\"asyncIterator\")},function(e,t,n){n(113)(\"observable\")},function(e,t,n){var r=n(12)(\"unscopables\"),a=Array.prototype;void 0==a[r]&&n(41)(a,r,{}),e.exports=function(e){a[r][e]=!0}},function(e,t){e.exports=function(e,t,n,r){if(!(e instanceof t)||void 0!==r&&r in e)throw TypeError(n+\": incorrect invocation!\");return e}},function(e,t,n){var r=n(84),a=n(64),o=n(238);e.exports=function(e){return function(t,n,u){var i,l=r(t),s=a(l.length),c=o(u,s);if(e&&n!=n){for(;s>c;)if((i=l[c++])!=i)return!0}else for(;s>c;c++)if((e||c in l)&&l[c]===n)return e||c||0;return!e&&-1}}},function(e,t,n){var r=n(80),a=n(404),o=n(403),u=n(39),i=n(64),l=n(420),s={},c={},t=e.exports=function(e,t,n,f,d){var p,h,m,v,g=d?function(){return e}:l(e),y=r(n,f,t?2:1),_=0;if(\"function\"!=typeof g)throw TypeError(e+\" is not iterable!\");if(o(g)){for(p=i(e.length);p>_;_++)if((v=t?y(u(h=e[_])[0],h[1]):y(e[_]))===s||v===c)return v}else for(m=g.call(e);!(h=m.next()).done;)if((v=a(m,y,h.value,t))===s||v===c)return v};t.BREAK=s,t.RETURN=c},function(e,t,n){e.exports=!n(60)&&!n(61)(function(){return 7!=Object.defineProperty(n(117)(\"div\"),\"a\",{get:function(){return 7}}).a})},function(e,t){e.exports=function(e,t,n){var r=void 0===n;switch(t.length){case 0:return r?e():e.call(n);case 1:return r?e(t[0]):e.call(n,t[0]);case 2:return r?e(t[0],t[1]):e.call(n,t[0],t[1]);case 3:return r?e(t[0],t[1],t[2]):e.call(n,t[0],t[1],t[2]);case 4:return r?e(t[0],t[1],t[2],t[3]):e.call(n,t[0],t[1],t[2],t[3])}return e.apply(n,t)}},function(e,t,n){var r=n(59);e.exports=Object(\"z\").propertyIsEnumerable(0)?Object:function(e){return\"String\"==r(e)?e.split(\"\"):Object(e)}},function(e,t,n){var r=n(63),a=n(12)(\"iterator\"),o=Array.prototype;e.exports=function(e){return void 0!==e&&(r.Array===e||o[a]===e)}},function(e,t,n){var r=n(39);e.exports=function(e,t,n,a){try{return a?t(r(n)[0],n[1]):t(n)}catch(t){var o=e.return;throw void 0!==o&&r(o.call(e)),t}}},function(e,t,n){\"use strict\";var r=n(409),a=n(233),o=n(120),u={};n(41)(u,n(12)(\"iterator\"),function(){return this}),e.exports=function(e,t,n){e.prototype=r(u,{next:a(1,n)}),o(e,t+\" Iterator\")}},function(e,t,n){var r=n(12)(\"iterator\"),a=!1;try{var o=[7][r]();o.return=function(){a=!0},Array.from(o,function(){throw 2})}catch(e){}e.exports=function(e,t){if(!t&&!a)return!1;var n=!1;try{var o=[7],u=o[r]();u.next=function(){return{done:n=!0}},o[r]=function(){return u},e(o)}catch(e){}return n}},function(e,t){e.exports=function(e,t){return{value:t,done:!!e}}},function(e,t,n){var r=n(21),a=n(237).set,o=r.MutationObserver||r.WebKitMutationObserver,u=r.process,i=r.Promise,l=\"process\"==n(59)(u);e.exports=function(){var e,t,n,s=function(){var r,a;for(l&&(r=u.domain)&&r.exit();e;){a=e.fn,e=e.next;try{a()}catch(r){throw e?n():t=void 0,r}}t=void 0,r&&r.enter()};if(l)n=function(){u.nextTick(s)};else if(!o||r.navigator&&r.navigator.standalone)if(i&&i.resolve){var c=i.resolve();n=function(){c.then(s)}}else n=function(){a.call(r,s)};else{var f=!0,d=document.createTextNode(\"\");new o(s).observe(d,{characterData:!0}),n=function(){d.data=f=!f}}return function(r){var a={fn:r,next:void 0};t&&(t.next=a),e||(e=a,n()),t=a}}},function(e,t,n){var r=n(39),a=n(410),o=n(225),u=n(121)(\"IE_PROTO\"),i=function(){},l=function(){var e,t=n(117)(\"iframe\"),r=o.length;for(t.style.display=\"none\",n(226).appendChild(t),t.src=\"javascript:\",e=t.contentWindow.document,e.open(),e.write(\"<script>document.F=Object<\\/script>\"),e.close(),l=e.F;r--;)delete l.prototype[o[r]];return l()};e.exports=Object.create||function(e,t){var n;return null!==e?(i.prototype=r(e),n=new i,i.prototype=null,n[u]=e):n=l(),void 0===t?n:a(n,t)}},function(e,t,n){var r=n(82),a=n(39),o=n(230);e.exports=n(60)?Object.defineProperties:function(e,t){a(e);for(var n,u=o(t),i=u.length,l=0;i>l;)r.f(e,n=u[l++],t[n]);return e}},function(e,t,n){var r=n(62),a=n(418),o=n(121)(\"IE_PROTO\"),u=Object.prototype;e.exports=Object.getPrototypeOf||function(e){return e=a(e),r(e,o)?e[o]:\"function\"==typeof e.constructor&&e instanceof e.constructor?e.constructor.prototype:e instanceof Object?u:null}},function(e,t,n){var r=n(62),a=n(84),o=n(398)(!1),u=n(121)(\"IE_PROTO\");e.exports=function(e,t){var n,i=a(e),l=0,s=[];for(n in i)n!=u&&r(i,n)&&s.push(n);for(;t.length>l;)r(i,n=t[l++])&&(~o(s,n)||s.push(n));return s}},function(e,t,n){var r=n(49);e.exports=function(e,t,n){for(var a in t)r(e,a,t[a],n);return e}},function(e,t,n){\"use strict\";var r=n(21),a=n(82),o=n(60),u=n(12)(\"species\");e.exports=function(e){var t=r[e];o&&t&&!t[u]&&a.f(t,u,{configurable:!0,get:function(){return this}})}},function(e,t,n){\"use strict\";var r=n(83),a=n(35);e.exports=function(e){var t=String(a(this)),n=\"\",o=r(e);if(o<0||o==1/0)throw RangeError(\"Count can't be negative\");for(;o>0;(o>>>=1)&&(t+=t))1&o&&(n+=t);return n}},function(e,t,n){var r=n(17),a=n(35),o=n(61),u=n(417),i=\"[\"+u+\"]\",l=\"​\",s=RegExp(\"^\"+i+i+\"*\"),c=RegExp(i+i+\"*$\"),f=function(e,t,n){var a={},i=o(function(){return!!u[e]()||l[e]()!=l}),s=a[e]=i?t(d):u[e];n&&(a[n]=s),r(r.P+r.F*i,\"String\",a)},d=f.trim=function(e,t){return e=String(a(e)),1&t&&(e=e.replace(s,\"\")),2&t&&(e=e.replace(c,\"\")),e};e.exports=f},function(e,t){e.exports=\"\\t\\n\\v\\f\\r   ᠎             　\\u2028\\u2029\\ufeff\"},function(e,t,n){var r=n(35);e.exports=function(e){return Object(r(e))}},function(e,t,n){var r=n(48);e.exports=function(e,t){if(!r(e))return e;var n,a;if(t&&\"function\"==typeof(n=e.toString)&&!r(a=n.call(e)))return a;if(\"function\"==typeof(n=e.valueOf)&&!r(a=n.call(e)))return a;if(!t&&\"function\"==typeof(n=e.toString)&&!r(a=n.call(e)))return a;throw TypeError(\"Can't convert object to primitive value\")}},function(e,t,n){var r=n(116),a=n(12)(\"iterator\"),o=n(63);e.exports=n(40).getIteratorMethod=function(e){if(void 0!=e)return e[a]||e[\"@@iterator\"]||o[r(e)]}},function(e,t,n){\"use strict\";var r=n(396),a=n(407),o=n(63),u=n(84);e.exports=n(228)(Array,\"Array\",function(e,t){this._t=u(e),this._i=0,this._k=t},function(){var e=this._t,t=this._k,n=this._i++;return!e||n>=e.length?(this._t=void 0,a(1)):\"keys\"==t?a(0,n):\"values\"==t?a(0,e[n]):a(0,[n,e[n]])},\"values\"),o.Arguments=o.Array,r(\"keys\"),r(\"values\"),r(\"entries\")},function(e,t,n){\"use strict\";var r=n(116),a={};a[n(12)(\"toStringTag\")]=\"z\",a+\"\"!=\"[object z]\"&&n(49)(Object.prototype,\"toString\",function(){return\"[object \"+r(this)+\"]\"},!0)},function(e,t,n){\"use strict\";var r,a,o,u,i=n(229),l=n(21),s=n(80),c=n(116),f=n(17),d=n(48),p=n(79),h=n(397),m=n(399),v=n(235),g=n(237).set,y=n(408)(),_=n(119),b=n(231),E=n(232),S=l.TypeError,x=l.process,C=l.Promise,w=\"process\"==c(x),j=function(){},A=a=_.f,R=!!function(){try{var e=C.resolve(1),t=(e.constructor={})[n(12)(\"species\")]=function(e){e(j,j)};return(w||\"function\"==typeof PromiseRejectionEvent)&&e.then(j)instanceof t}catch(e){}}(),O=function(e){var t;return!(!d(e)||\"function\"!=typeof(t=e.then))&&t},P=function(e,t){if(!e._n){e._n=!0;var n=e._c;y(function(){for(var r=e._v,a=1==e._s,o=0;n.length>o;)!function(t){var n,o,u=a?t.ok:t.fail,i=t.resolve,l=t.reject,s=t.domain;try{u?(a||(2==e._h&&k(e),e._h=1),!0===u?n=r:(s&&s.enter(),n=u(r),s&&s.exit()),n===t.promise?l(S(\"Promise-chain cycle\")):(o=O(n))?o.call(n,i,l):i(n)):l(r)}catch(e){l(e)}}(n[o++]);e._c=[],e._n=!1,t&&!e._h&&T(e)})}},T=function(e){g.call(l,function(){var t,n,r,a=e._v,o=M(e);if(o&&(t=b(function(){w?x.emit(\"unhandledRejection\",a,e):(n=l.onunhandledrejection)?n({promise:e,reason:a}):(r=l.console)&&r.error&&r.error(\"Unhandled promise rejection\",a)}),e._h=w||M(e)?2:1),e._a=void 0,o&&t.e)throw t.v})},M=function(e){return 1!==e._h&&0===(e._a||e._c).length},k=function(e){g.call(l,function(){var t;w?x.emit(\"rejectionHandled\",e):(t=l.onrejectionhandled)&&t({promise:e,reason:e._v})})},q=function(e){var t=this;t._d||(t._d=!0,t=t._w||t,t._v=e,t._s=2,t._a||(t._a=t._c.slice()),P(t,!0))},I=function(e){var t,n=this;if(!n._d){n._d=!0,n=n._w||n;try{if(n===e)throw S(\"Promise can't be resolved itself\");(t=O(e))?y(function(){var r={_w:n,_d:!1};try{t.call(e,s(I,r,1),s(q,r,1))}catch(e){q.call(r,e)}}):(n._v=e,n._s=1,P(n,!1))}catch(e){q.call({_w:n,_d:!1},e)}}};R||(C=function(e){h(this,C,\"Promise\",\"_h\"),p(e),r.call(this);try{e(s(I,this,1),s(q,this,1))}catch(e){q.call(this,e)}},r=function(e){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1},r.prototype=n(413)(C.prototype,{then:function(e,t){var n=A(v(this,C));return n.ok=\"function\"!=typeof e||e,n.fail=\"function\"==typeof t&&t,n.domain=w?x.domain:void 0,this._c.push(n),this._a&&this._a.push(n),this._s&&P(this,!1),n.promise},catch:function(e){return this.then(void 0,e)}}),o=function(){var e=new r;this.promise=e,this.resolve=s(I,e,1),this.reject=s(q,e,1)},_.f=A=function(e){return e===C||e===u?new o(e):a(e)}),f(f.G+f.W+f.F*!R,{Promise:C}),n(120)(C,\"Promise\"),n(414)(\"Promise\"),u=n(40).Promise,f(f.S+f.F*!R,\"Promise\",{reject:function(e){var t=A(this);return(0,t.reject)(e),t.promise}}),f(f.S+f.F*(i||!R),\"Promise\",{resolve:function(e){return E(i&&this===u?C:this,e)}}),f(f.S+f.F*!(R&&n(406)(function(e){C.all(e).catch(j)})),\"Promise\",{all:function(e){var t=this,n=A(t),r=n.resolve,a=n.reject,o=b(function(){var n=[],o=0,u=1;m(e,!1,function(e){var i=o++,l=!1;n.push(void 0),u++,t.resolve(e).then(function(e){l||(l=!0,n[i]=e,--u||r(n))},a)}),--u||r(n)});return o.e&&a(o.v),n.promise},race:function(e){var t=this,n=A(t),r=n.reject,a=b(function(){m(e,!1,function(e){t.resolve(e).then(n.resolve,r)})});return a.e&&r(a.v),n.promise}})},function(e,t,n){n(81)(\"match\",1,function(e,t,n){return[function(n){\"use strict\";var r=e(this),a=void 0==n?void 0:n[t];return void 0!==a?a.call(n,r):new RegExp(n)[t](String(r))},n]})},function(e,t,n){n(81)(\"replace\",2,function(e,t,n){return[function(r,a){\"use strict\";var o=e(this),u=void 0==r?void 0:r[t];return void 0!==u?u.call(r,o,a):n.call(String(o),r,a)},n]})},function(e,t,n){n(81)(\"search\",1,function(e,t,n){return[function(n){\"use strict\";var r=e(this),a=void 0==n?void 0:n[t];return void 0!==a?a.call(n,r):new RegExp(n)[t](String(r))},n]})},function(e,t,n){n(81)(\"split\",2,function(e,t,r){\"use strict\";var a=n(227),o=r,u=[].push,i=\"length\";if(\"c\"==\"abbc\".split(/(b)*/)[1]||4!=\"test\".split(/(?:)/,-1)[i]||2!=\"ab\".split(/(?:ab)*/)[i]||4!=\".\".split(/(.?)(.?)/)[i]||\".\".split(/()()/)[i]>1||\"\".split(/.?/)[i]){var l=void 0===/()??/.exec(\"\")[1];r=function(e,t){var n=String(this);if(void 0===e&&0===t)return[];if(!a(e))return o.call(n,e,t);var r,s,c,f,d,p=[],h=(e.ignoreCase?\"i\":\"\")+(e.multiline?\"m\":\"\")+(e.unicode?\"u\":\"\")+(e.sticky?\"y\":\"\"),m=0,v=void 0===t?4294967295:t>>>0,g=new RegExp(e.source,h+\"g\");for(l||(r=new RegExp(\"^\"+g.source+\"$(?!\\\\s)\",h));(s=g.exec(n))&&!((c=s.index+s[0][i])>m&&(p.push(n.slice(m,s.index)),!l&&s[i]>1&&s[0].replace(r,function(){for(d=1;d<arguments[i]-2;d++)void 0===arguments[d]&&(s[d]=void 0)}),s[i]>1&&s.index<n[i]&&u.apply(p,s.slice(1)),f=s[0][i],m=c,p[i]>=v));)g.lastIndex===s.index&&g.lastIndex++;return m===n[i]?!f&&g.test(\"\")||p.push(\"\"):p.push(n.slice(m)),p[i]>v?p.slice(0,v):p}}else\"0\".split(void 0,0)[i]&&(r=function(e,t){return void 0===e&&0===t?[]:o.call(this,e,t)});return[function(n,a){var o=e(this),u=void 0==n?void 0:n[t];return void 0!==u?u.call(n,o,a):r.call(String(o),n,a)},r]})},function(e,t,n){\"use strict\";n(18)(\"anchor\",function(e){return function(t){return e(this,\"a\",\"name\",t)}})},function(e,t,n){\"use strict\";n(18)(\"big\",function(e){return function(){return e(this,\"big\",\"\",\"\")}})},function(e,t,n){\"use strict\";n(18)(\"blink\",function(e){return function(){return e(this,\"blink\",\"\",\"\")}})},function(e,t,n){\"use strict\";n(18)(\"bold\",function(e){return function(){return e(this,\"b\",\"\",\"\")}})},function(e,t,n){\"use strict\";var r=n(17),a=n(236)(!1);r(r.P,\"String\",{codePointAt:function(e){return a(this,e)}})},function(e,t,n){\"use strict\";var r=n(17),a=n(64),o=n(122),u=\"\".endsWith;r(r.P+r.F*n(118)(\"endsWith\"),\"String\",{endsWith:function(e){var t=o(this,e,\"endsWith\"),n=arguments.length>1?arguments[1]:void 0,r=a(t.length),i=void 0===n?r:Math.min(a(n),r),l=String(e);return u?u.call(t,l,i):t.slice(i-l.length,i)===l}})},function(e,t,n){\"use strict\";n(18)(\"fixed\",function(e){return function(){return e(this,\"tt\",\"\",\"\")}})},function(e,t,n){\"use strict\";n(18)(\"fontcolor\",function(e){return function(t){return e(this,\"font\",\"color\",t)}})},function(e,t,n){\"use strict\";n(18)(\"fontsize\",function(e){return function(t){return e(this,\"font\",\"size\",t)}})},function(e,t,n){var r=n(17),a=n(238),o=String.fromCharCode,u=String.fromCodePoint;r(r.S+r.F*(!!u&&1!=u.length),\"String\",{fromCodePoint:function(e){for(var t,n=[],r=arguments.length,u=0;r>u;){if(t=+arguments[u++],a(t,1114111)!==t)throw RangeError(t+\" is not a valid code point\");n.push(t<65536?o(t):o(55296+((t-=65536)>>10),t%1024+56320))}return n.join(\"\")}})},function(e,t,n){\"use strict\";var r=n(17),a=n(122);r(r.P+r.F*n(118)(\"includes\"),\"String\",{includes:function(e){return!!~a(this,e,\"includes\").indexOf(e,arguments.length>1?arguments[1]:void 0)}})},function(e,t,n){\"use strict\";n(18)(\"italics\",function(e){return function(){return e(this,\"i\",\"\",\"\")}})},function(e,t,n){\"use strict\";n(18)(\"link\",function(e){return function(t){return e(this,\"a\",\"href\",t)}})},function(e,t,n){var r=n(17),a=n(84),o=n(64);r(r.S,\"String\",{raw:function(e){for(var t=a(e.raw),n=o(t.length),r=arguments.length,u=[],i=0;n>i;)u.push(String(t[i++])),i<r&&u.push(String(arguments[i]));return u.join(\"\")}})},function(e,t,n){var r=n(17);r(r.P,\"String\",{repeat:n(415)})},function(e,t,n){\"use strict\";n(18)(\"small\",function(e){return function(){return e(this,\"small\",\"\",\"\")}})},function(e,t,n){\"use strict\";var r=n(17),a=n(64),o=n(122),u=\"\".startsWith;r(r.P+r.F*n(118)(\"startsWith\"),\"String\",{startsWith:function(e){var t=o(this,e,\"startsWith\"),n=a(Math.min(arguments.length>1?arguments[1]:void 0,t.length)),r=String(e);return u?u.call(t,r,n):t.slice(n,n+r.length)===r}})},function(e,t,n){\"use strict\";n(18)(\"strike\",function(e){return function(){return e(this,\"strike\",\"\",\"\")}})},function(e,t,n){\"use strict\";n(18)(\"sub\",function(e){return function(){return e(this,\"sub\",\"\",\"\")}})},function(e,t,n){\"use strict\";n(18)(\"sup\",function(e){return function(){return e(this,\"sup\",\"\",\"\")}})},function(e,t,n){\"use strict\";n(416)(\"trim\",function(e){return function(){return e(this,3)}})},function(e,t,n){\"use strict\";var r=n(17),a=n(40),o=n(21),u=n(235),i=n(232);r(r.P+r.R,\"Promise\",{finally:function(e){var t=u(this,a.Promise||o.Promise),n=\"function\"==typeof e;return this.then(n?function(n){return i(t,e()).then(function(){return n})}:e,n?function(n){return i(t,e()).then(function(){throw n})}:e)}})},function(e,t,n){\"use strict\";var r=n(17),a=n(119),o=n(231);r(r.S,\"Promise\",{try:function(e){var t=a.f(this),n=o(e);return(n.e?t.reject:t.resolve)(n.v),t.promise}})},function(e,t,n){for(var r=n(421),a=n(230),o=n(49),u=n(21),i=n(41),l=n(63),s=n(12),c=s(\"iterator\"),f=s(\"toStringTag\"),d=l.Array,p={CSSRuleList:!0,CSSStyleDeclaration:!1,CSSValueList:!1,ClientRectList:!1,DOMRectList:!1,DOMStringList:!1,DOMTokenList:!0,DataTransferItemList:!1,FileList:!1,HTMLAllCollection:!1,HTMLCollection:!1,HTMLFormElement:!1,HTMLSelectElement:!1,MediaList:!0,MimeTypeArray:!1,NamedNodeMap:!1,NodeList:!0,PaintRequestList:!1,Plugin:!1,PluginArray:!1,SVGLengthList:!1,SVGNumberList:!1,SVGPathSegList:!1,SVGPointList:!1,SVGStringList:!1,SVGTransformList:!1,SourceBufferList:!1,StyleSheetList:!0,TextTrackCueList:!1,TextTrackList:!1,TouchList:!1},h=a(p),m=0;m<h.length;m++){var v,g=h[m],y=p[g],_=u[g],b=_&&_.prototype;if(b&&(b[c]||i(b,c,d),b[f]||i(b,f,g),l[g]=d,y))for(v in r)b[v]||o(b,v,r[v],!0)}},function(e,t,n){var r=n(43),a=n(25),o=r(a,\"DataView\");e.exports=o},function(e,t,n){function r(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}var a=n(518),o=n(519),u=n(520),i=n(521),l=n(522);r.prototype.clear=a,r.prototype.delete=o,r.prototype.get=u,r.prototype.has=i,r.prototype.set=l,e.exports=r},function(e,t,n){var r=n(43),a=n(25),o=r(a,\"Promise\");e.exports=o},function(e,t,n){var r=n(43),a=n(25),o=r(a,\"Set\");e.exports=o},function(e,t,n){function r(e){var t=-1,n=null==e?0:e.length;for(this.__data__=new a;++t<n;)this.add(e[t])}var a=n(125),o=n(547),u=n(548);r.prototype.add=r.prototype.push=o,r.prototype.has=u,e.exports=r},function(e,t,n){var r=n(43),a=n(25),o=r(a,\"WeakMap\");e.exports=o},function(e,t){function n(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}e.exports=n},function(e,t){function n(e,t){for(var n=-1,r=null==e?0:e.length;++n<r&&!1!==t(e[n],n,e););return e}e.exports=n},function(e,t){function n(e,t){for(var n=-1,r=null==e?0:e.length,a=0,o=[];++n<r;){var u=e[n];t(u,n,e)&&(o[a++]=u)}return o}e.exports=n},function(e,t){function n(e){return e.split(\"\")}e.exports=n},function(e,t){function n(e){return e.match(r)||[]}var r=/[^\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\x7f]+/g;e.exports=n},function(e,t,n){function r(e,t){return e&&a(t,o(t),e)}var a=n(66),o=n(52);e.exports=r},function(e,t,n){function r(e,t){return e&&a(t,o(t),e)}var a=n(66),o=n(267);e.exports=r},function(e,t,n){function r(e,t,n,k,q,I){var N,D=t&w,L=t&j,U=t&A;if(n&&(N=q?n(e,k,q,I):n(e)),void 0!==N)return N;if(!S(e))return e;var z=_(e);if(z){if(N=v(e),!D)return c(e,N)}else{var V=m(e),B=V==O||V==P;if(b(e))return s(e,D);if(V==T||V==R||B&&!q){if(N=L||B?{}:y(e),!D)return L?d(e,l(N,e)):f(e,i(N,e))}else{if(!M[V])return q?e:{};N=g(e,V,D)}}I||(I=new a);var F=I.get(e);if(F)return F;if(I.set(e,N),x(e))return e.forEach(function(a){N.add(r(a,t,n,a,e,I))}),N;if(E(e))return e.forEach(function(a,o){N.set(o,r(a,t,n,o,e,I))}),N;var J=U?L?h:p:L?keysIn:C,W=z?void 0:J(e);return o(W||e,function(a,o){W&&(o=a,a=e[o]),u(N,o,r(a,t,n,o,e,I))}),N}var a=n(126),o=n(459),u=n(128),i=n(463),l=n(464),s=n(495),c=n(500),f=n(501),d=n(502),p=n(254),h=n(255),m=n(89),v=n(523),g=n(524),y=n(525),_=n(15),b=n(138),E=n(569),S=n(28),x=n(571),C=n(52),w=1,j=2,A=4,R=\"[object Arguments]\",O=\"[object Function]\",P=\"[object GeneratorFunction]\",T=\"[object Object]\",M={};M[R]=M[\"[object Array]\"]=M[\"[object ArrayBuffer]\"]=M[\"[object DataView]\"]=M[\"[object Boolean]\"]=M[\"[object Date]\"]=M[\"[object Float32Array]\"]=M[\"[object Float64Array]\"]=M[\"[object Int8Array]\"]=M[\"[object Int16Array]\"]=M[\"[object Int32Array]\"]=M[\"[object Map]\"]=M[\"[object Number]\"]=M[T]=M[\"[object RegExp]\"]=M[\"[object Set]\"]=M[\"[object String]\"]=M[\"[object Symbol]\"]=M[\"[object Uint8Array]\"]=M[\"[object Uint8ClampedArray]\"]=M[\"[object Uint16Array]\"]=M[\"[object Uint32Array]\"]=!0,M[\"[object Error]\"]=M[O]=M[\"[object WeakMap]\"]=!1,e.exports=r},function(e,t,n){var r=n(28),a=Object.create,o=function(){function e(){}return function(t){if(!r(t))return{};if(a)return a(t);e.prototype=t;var n=new e;return e.prototype=void 0,n}}();e.exports=o},function(e,t){function n(e,t,n,r){for(var a=e.length,o=n+(r?1:-1);r?o--:++o<a;)if(t(e[o],o,e))return o;return-1}e.exports=n},function(e,t,n){function r(e,t,n,u,i){var l=-1,s=e.length;for(n||(n=o),i||(i=[]);++l<s;){var c=e[l];t>0&&n(c)?t>1?r(c,t-1,n,u,i):a(i,c):u||(i[i.length]=c)}return i}var a=n(127),o=n(526);e.exports=r},function(e,t,n){var r=n(505),a=r();e.exports=a},function(e,t,n){function r(e,t){return e&&a(e,t,o)}var a=n(469),o=n(52);e.exports=r},function(e,t){function n(e,t){return null!=e&&t in Object(e)}e.exports=n},function(e,t,n){function r(e){return o(e)&&a(e)==u}var a=n(42),o=n(30),u=\"[object Arguments]\";e.exports=r},function(e,t,n){function r(e,t,n,r,v,y){var _=s(e),b=s(t),E=_?h:l(e),S=b?h:l(t);E=E==p?m:E,S=S==p?m:S;var x=E==m,C=S==m,w=E==S;if(w&&c(e)){if(!c(t))return!1;_=!0,x=!1}if(w&&!x)return y||(y=new a),_||f(e)?o(e,t,n,r,v,y):u(e,t,E,n,r,v,y);if(!(n&d)){var j=x&&g.call(e,\"__wrapped__\"),A=C&&g.call(t,\"__wrapped__\");if(j||A){var R=j?e.value():e,O=A?t.value():t;return y||(y=new a),v(R,O,n,r,y)}}return!!w&&(y||(y=new a),i(e,t,n,r,v,y))}var a=n(126),o=n(252),u=n(510),i=n(511),l=n(89),s=n(15),c=n(138),f=n(266),d=1,p=\"[object Arguments]\",h=\"[object Array]\",m=\"[object Object]\",v=Object.prototype,g=v.hasOwnProperty;e.exports=r},function(e,t,n){function r(e){return o(e)&&a(e)==u}var a=n(89),o=n(30),u=\"[object Map]\";e.exports=r},function(e,t,n){function r(e,t,n,r){var l=n.length,s=l,c=!r;if(null==e)return!s;for(e=Object(e);l--;){var f=n[l];if(c&&f[2]?f[1]!==e[f[0]]:!(f[0]in e))return!1}for(;++l<s;){f=n[l];var d=f[0],p=e[d],h=f[1];if(c&&f[2]){if(void 0===p&&!(d in e))return!1}else{var m=new a;if(r)var v=r(p,h,d,e,t,m);if(!(void 0===v?o(h,p,u|i,r,m):v))return!1}}return!0}var a=n(126),o=n(248),u=1,i=2;e.exports=r},function(e,t,n){function r(e){return!(!u(e)||o(e))&&(a(e)?h:s).test(i(e))}var a=n(265),o=n(529),u=n(28),i=n(261),l=/[\\\\^$.*+?()[\\]{}|]/g,s=/^\\[object .+?Constructor\\]$/,c=Function.prototype,f=Object.prototype,d=c.toString,p=f.hasOwnProperty,h=RegExp(\"^\"+d.call(p).replace(l,\"\\\\$&\").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g,\"$1.*?\")+\"$\");e.exports=r},function(e,t,n){function r(e){return o(e)&&a(e)==u}var a=n(89),o=n(30),u=\"[object Set]\";e.exports=r},function(e,t,n){function r(e){return u(e)&&o(e.length)&&!!i[a(e)]}var a=n(42),o=n(139),u=n(30),i={};i[\"[object Float32Array]\"]=i[\"[object Float64Array]\"]=i[\"[object Int8Array]\"]=i[\"[object Int16Array]\"]=i[\"[object Int32Array]\"]=i[\"[object Uint8Array]\"]=i[\"[object Uint8ClampedArray]\"]=i[\"[object Uint16Array]\"]=i[\"[object Uint32Array]\"]=!0,i[\"[object Arguments]\"]=i[\"[object Array]\"]=i[\"[object ArrayBuffer]\"]=i[\"[object Boolean]\"]=i[\"[object DataView]\"]=i[\"[object Date]\"]=i[\"[object Error]\"]=i[\"[object Function]\"]=i[\"[object Map]\"]=i[\"[object Number]\"]=i[\"[object Object]\"]=i[\"[object RegExp]\"]=i[\"[object Set]\"]=i[\"[object String]\"]=i[\"[object WeakMap]\"]=!1,e.exports=r},function(e,t,n){function r(e){if(!a(e))return o(e);var t=[];for(var n in Object(e))i.call(e,n)&&\"constructor\"!=n&&t.push(n);return t}var a=n(135),o=n(542),u=Object.prototype,i=u.hasOwnProperty;e.exports=r},function(e,t,n){function r(e){if(!a(e))return u(e);var t=o(e),n=[];for(var r in e)(\"constructor\"!=r||!t&&l.call(e,r))&&n.push(r);return n}var a=n(28),o=n(135),u=n(543),i=Object.prototype,l=i.hasOwnProperty;e.exports=r},function(e,t,n){function r(e){var t=o(e);return 1==t.length&&t[0][2]?u(t[0][0],t[0][1]):function(n){return n===e||a(n,e,t)}}var a=n(475),o=n(513),u=n(259);e.exports=r},function(e,t,n){function r(e,t){return i(e)&&l(t)?s(c(e),t):function(n){var r=o(n,e);return void 0===r&&r===t?u(n,e):a(t,r,f|d)}}var a=n(248),o=n(263),u=n(568),i=n(134),l=n(258),s=n(259),c=n(51),f=1,d=2;e.exports=r},function(e,t){function n(e){return function(t){return null==t?void 0:t[e]}}e.exports=n},function(e,t,n){function r(e){return function(t){return a(t,e)}}var a=n(129);e.exports=r},function(e,t){function n(e){return function(t){return null==e?void 0:e[t]}}e.exports=n},function(e,t){function n(e,t,n,r,a){return a(e,function(e,a,o){n=r?(r=!1,e):t(n,e,a,o)}),n}e.exports=n},function(e,t,n){function r(e,t,n,r){if(!i(e))return e;t=o(t,e);for(var s=-1,c=t.length,f=c-1,d=e;null!=d&&++s<c;){var p=l(t[s]),h=n;if(s!=f){var m=d[p];h=r?r(m,p,d):void 0,void 0===h&&(h=i(m)?m:u(t[s+1])?[]:{})}a(d,p,h),d=d[p]}return e}var a=n(128),o=n(65),u=n(90),i=n(28),l=n(51);e.exports=r},function(e,t,n){var r=n(563),a=n(251),o=n(264),u=a?function(e,t){return a(e,\"toString\",{configurable:!0,enumerable:!1,value:r(t),writable:!0})}:o;e.exports=u},function(e,t,n){function r(e,t){var n;return a(e,function(e,r,a){return!(n=t(e,r,a))}),!!n}var a=n(246);e.exports=r},function(e,t){function n(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}e.exports=n},function(e,t,n){function r(e){if(\"string\"==typeof e)return e;if(u(e))return o(e,r)+\"\";if(i(e))return c?c.call(e):\"\";var t=e+\"\";return\"0\"==t&&1/e==-l?\"-0\":t}var a=n(50),o=n(242),u=n(15),i=n(92),l=1/0,s=a?a.prototype:void 0,c=s?s.toString:void 0;e.exports=r},function(e,t,n){function r(e,t){return t=a(t,e),null==(e=u(e,t))||delete e[i(o(t))]}var a=n(65),o=n(573),u=n(546),i=n(51);e.exports=r},function(e,t){function n(e,t){return e.has(t)}e.exports=n},function(e,t,n){function r(e,t,n){var r=e.length;return n=void 0===n?r:n,!t&&n>=r?e:a(e,t,n)}var a=n(249);e.exports=r},function(e,t,n){(function(e){function r(e,t){if(t)return e.slice();var n=e.length,r=s?s(n):new e.constructor(n);return e.copy(r),r}var a=n(25),o=\"object\"==typeof t&&t&&!t.nodeType&&t,u=o&&\"object\"==typeof e&&e&&!e.nodeType&&e,i=u&&u.exports===o,l=i?a.Buffer:void 0,s=l?l.allocUnsafe:void 0;e.exports=r}).call(t,n(140)(e))},function(e,t,n){function r(e,t){var n=t?a(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}var a=n(131);e.exports=r},function(e,t){function n(e){var t=new e.constructor(e.source,r.exec(e));return t.lastIndex=e.lastIndex,t}var r=/\\w*$/;e.exports=n},function(e,t,n){function r(e){return u?Object(u.call(e)):{}}var a=n(50),o=a?a.prototype:void 0,u=o?o.valueOf:void 0;e.exports=r},function(e,t,n){function r(e,t){var n=t?a(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}var a=n(131);e.exports=r},function(e,t){function n(e,t){var n=-1,r=e.length;for(t||(t=Array(r));++n<r;)t[n]=e[n];return t}e.exports=n},function(e,t,n){function r(e,t){return a(e,o(e),t)}var a=n(66),o=n(133);e.exports=r},function(e,t,n){function r(e,t){return a(e,o(e),t)}var a=n(66),o=n(256);e.exports=r},function(e,t,n){var r=n(25),a=r[\"__core-js_shared__\"];e.exports=a},function(e,t,n){function r(e,t){return function(n,r){if(null==n)return n;if(!a(n))return e(n,r);for(var o=n.length,u=t?o:-1,i=Object(n);(t?u--:++u<o)&&!1!==r(i[u],u,i););return n}}var a=n(68);e.exports=r},function(e,t){function n(e){return function(t,n,r){for(var a=-1,o=Object(t),u=r(t),i=u.length;i--;){var l=u[e?i:++a];if(!1===n(o[l],l,o))break}return t}}e.exports=n},function(e,t,n){function r(e){return function(t){t=i(t);var n=o(t)?u(t):void 0,r=n?n[0]:t.charAt(0),l=n?a(n,1).join(\"\"):t.slice(1);return r[e]()+l}}var a=n(494),o=n(257),u=n(557),i=n(69);e.exports=r},function(e,t,n){function r(e){return function(t,n,r){var i=Object(t);if(!o(t)){var l=a(n,3);t=u(t),n=function(e){return l(i[e],e,i)}}var s=e(t,n,r);return s>-1?i[l?t[s]:s]:void 0}}var a=n(87),o=n(68),u=n(52);e.exports=r},function(e,t,n){function r(e){return a(e)?void 0:e}var a=n(570);e.exports=r},function(e,t,n){var r=n(485),a={\"À\":\"A\",\"Á\":\"A\",\"Â\":\"A\",\"Ã\":\"A\",\"Ä\":\"A\",\"Å\":\"A\",\"à\":\"a\",\"á\":\"a\",\"â\":\"a\",\"ã\":\"a\",\"ä\":\"a\",\"å\":\"a\",\"Ç\":\"C\",\"ç\":\"c\",\"Ð\":\"D\",\"ð\":\"d\",\"È\":\"E\",\"É\":\"E\",\"Ê\":\"E\",\"Ë\":\"E\",\"è\":\"e\",\"é\":\"e\",\"ê\":\"e\",\"ë\":\"e\",\"Ì\":\"I\",\"Í\":\"I\",\"Î\":\"I\",\"Ï\":\"I\",\"ì\":\"i\",\"í\":\"i\",\"î\":\"i\",\"ï\":\"i\",\"Ñ\":\"N\",\"ñ\":\"n\",\"Ò\":\"O\",\"Ó\":\"O\",\"Ô\":\"O\",\"Õ\":\"O\",\"Ö\":\"O\",\"Ø\":\"O\",\"ò\":\"o\",\"ó\":\"o\",\"ô\":\"o\",\"õ\":\"o\",\"ö\":\"o\",\"ø\":\"o\",\"Ù\":\"U\",\"Ú\":\"U\",\"Û\":\"U\",\"Ü\":\"U\",\"ù\":\"u\",\"ú\":\"u\",\"û\":\"u\",\"ü\":\"u\",\"Ý\":\"Y\",\"ý\":\"y\",\"ÿ\":\"y\",\"Æ\":\"Ae\",\"æ\":\"ae\",\"Þ\":\"Th\",\"þ\":\"th\",\"ß\":\"ss\",\"Ā\":\"A\",\"Ă\":\"A\",\"Ą\":\"A\",\"ā\":\"a\",\"ă\":\"a\",\"ą\":\"a\",\"Ć\":\"C\",\"Ĉ\":\"C\",\"Ċ\":\"C\",\"Č\":\"C\",\"ć\":\"c\",\"ĉ\":\"c\",\"ċ\":\"c\",\"č\":\"c\",\"Ď\":\"D\",\"Đ\":\"D\",\"ď\":\"d\",\"đ\":\"d\",\"Ē\":\"E\",\"Ĕ\":\"E\",\"Ė\":\"E\",\"Ę\":\"E\",\"Ě\":\"E\",\"ē\":\"e\",\"ĕ\":\"e\",\"ė\":\"e\",\"ę\":\"e\",\"ě\":\"e\",\"Ĝ\":\"G\",\"Ğ\":\"G\",\"Ġ\":\"G\",\"Ģ\":\"G\",\"ĝ\":\"g\",\"ğ\":\"g\",\"ġ\":\"g\",\"ģ\":\"g\",\"Ĥ\":\"H\",\"Ħ\":\"H\",\"ĥ\":\"h\",\"ħ\":\"h\",\"Ĩ\":\"I\",\"Ī\":\"I\",\"Ĭ\":\"I\",\"Į\":\"I\",\"İ\":\"I\",\"ĩ\":\"i\",\"ī\":\"i\",\"ĭ\":\"i\",\"į\":\"i\",\"ı\":\"i\",\"Ĵ\":\"J\",\"ĵ\":\"j\",\"Ķ\":\"K\",\"ķ\":\"k\",\"ĸ\":\"k\",\"Ĺ\":\"L\",\"Ļ\":\"L\",\"Ľ\":\"L\",\"Ŀ\":\"L\",\"Ł\":\"L\",\"ĺ\":\"l\",\"ļ\":\"l\",\"ľ\":\"l\",\"ŀ\":\"l\",\"ł\":\"l\",\"Ń\":\"N\",\"Ņ\":\"N\",\"Ň\":\"N\",\"Ŋ\":\"N\",\"ń\":\"n\",\"ņ\":\"n\",\"ň\":\"n\",\"ŋ\":\"n\",\"Ō\":\"O\",\"Ŏ\":\"O\",\"Ő\":\"O\",\"ō\":\"o\",\"ŏ\":\"o\",\"ő\":\"o\",\"Ŕ\":\"R\",\"Ŗ\":\"R\",\"Ř\":\"R\",\"ŕ\":\"r\",\"ŗ\":\"r\",\"ř\":\"r\",\"Ś\":\"S\",\"Ŝ\":\"S\",\"Ş\":\"S\",\"Š\":\"S\",\"ś\":\"s\",\"ŝ\":\"s\",\"ş\":\"s\",\"š\":\"s\",\"Ţ\":\"T\",\"Ť\":\"T\",\"Ŧ\":\"T\",\"ţ\":\"t\",\"ť\":\"t\",\"ŧ\":\"t\",\"Ũ\":\"U\",\"Ū\":\"U\",\"Ŭ\":\"U\",\"Ů\":\"U\",\"Ű\":\"U\",\"Ų\":\"U\",\"ũ\":\"u\",\"ū\":\"u\",\"ŭ\":\"u\",\"ů\":\"u\",\"ű\":\"u\",\"ų\":\"u\",\"Ŵ\":\"W\",\"ŵ\":\"w\",\"Ŷ\":\"Y\",\"ŷ\":\"y\",\"Ÿ\":\"Y\",\"Ź\":\"Z\",\"Ż\":\"Z\",\"Ž\":\"Z\",\"ź\":\"z\",\"ż\":\"z\",\"ž\":\"z\",\"Ĳ\":\"IJ\",\"ĳ\":\"ij\",\"Œ\":\"Oe\",\"œ\":\"oe\",\"ŉ\":\"'n\",\"ſ\":\"s\"},o=r(a);e.exports=o},function(e,t,n){function r(e,t,n,r,a,x,w){switch(n){case S:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case E:return!(e.byteLength!=t.byteLength||!x(new o(e),new o(t)));case d:case p:case v:return u(+e,+t);case h:return e.name==t.name&&e.message==t.message;case g:case _:return e==t+\"\";case m:var j=l;case y:var A=r&c;if(j||(j=s),e.size!=t.size&&!A)return!1;var R=w.get(e);if(R)return R==t;r|=f,w.set(e,t);var O=i(j(e),j(t),r,a,x,w);return w.delete(e),O;case b:if(C)return C.call(e)==C.call(t)}return!1}var a=n(50),o=n(240),u=n(67),i=n(252),l=n(540),s=n(549),c=1,f=2,d=\"[object Boolean]\",p=\"[object Date]\",h=\"[object Error]\",m=\"[object Map]\",v=\"[object Number]\",g=\"[object RegExp]\",y=\"[object Set]\",_=\"[object String]\",b=\"[object Symbol]\",E=\"[object ArrayBuffer]\",S=\"[object DataView]\",x=a?a.prototype:void 0,C=x?x.valueOf:void 0;e.exports=r},function(e,t,n){function r(e,t,n,r,u,l){var s=n&o,c=a(e),f=c.length;if(f!=a(t).length&&!s)return!1;for(var d=f;d--;){var p=c[d];if(!(s?p in t:i.call(t,p)))return!1}var h=l.get(e);if(h&&l.get(t))return h==t;var m=!0;l.set(e,t),l.set(t,e);for(var v=s;++d<f;){p=c[d];var g=e[p],y=t[p];if(r)var _=s?r(y,g,p,t,e,l):r(g,y,p,e,t,l);if(!(void 0===_?g===y||u(g,y,n,r,l):_)){m=!1;break}v||(v=\"constructor\"==p)}if(m&&!v){var b=e.constructor,E=t.constructor;b!=E&&\"constructor\"in e&&\"constructor\"in t&&!(\"function\"==typeof b&&b instanceof b&&\"function\"==typeof E&&E instanceof E)&&(m=!1)}return l.delete(e),l.delete(t),m}var a=n(254),o=1,u=Object.prototype,i=u.hasOwnProperty;e.exports=r},function(e,t,n){function r(e){return u(o(e,void 0,a),e+\"\")}var a=n(567),o=n(545),u=n(550);e.exports=r},function(e,t,n){function r(e){for(var t=o(e),n=t.length;n--;){var r=t[n],u=e[r];t[n]=[r,u,a(u)]}return t}var a=n(258),o=n(52);e.exports=r},function(e,t,n){function r(e){var t=u.call(e,l),n=e[l];try{e[l]=void 0;var r=!0}catch(e){}var a=i.call(e);return r&&(t?e[l]=n:delete e[l]),a}var a=n(50),o=Object.prototype,u=o.hasOwnProperty,i=o.toString,l=a?a.toStringTag:void 0;e.exports=r},function(e,t){function n(e,t){return null==e?void 0:e[t]}e.exports=n},function(e,t,n){function r(e,t,n){t=a(t,e);for(var r=-1,c=t.length,f=!1;++r<c;){var d=s(t[r]);if(!(f=null!=e&&n(e,d)))break;e=e[d]}return f||++r!=c?f:!!(c=null==e?0:e.length)&&l(c)&&i(d,c)&&(u(e)||o(e))}var a=n(65),o=n(137),u=n(15),i=n(90),l=n(139),s=n(51);e.exports=r},function(e,t){function n(e){return r.test(e)}var r=/[a-z][A-Z]|[A-Z]{2,}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;e.exports=n},function(e,t,n){function r(){this.__data__=a?a(null):{},this.size=0}var a=n(91);e.exports=r},function(e,t){function n(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}e.exports=n},function(e,t,n){function r(e){var t=this.__data__;if(a){var n=t[e];return n===o?void 0:n}return i.call(t,e)?t[e]:void 0}var a=n(91),o=\"__lodash_hash_undefined__\",u=Object.prototype,i=u.hasOwnProperty;e.exports=r},function(e,t,n){function r(e){var t=this.__data__;return a?void 0!==t[e]:u.call(t,e)}var a=n(91),o=Object.prototype,u=o.hasOwnProperty;e.exports=r},function(e,t,n){function r(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=a&&void 0===t?o:t,this}var a=n(91),o=\"__lodash_hash_undefined__\";e.exports=r},function(e,t){function n(e){var t=e.length,n=new e.constructor(t);return t&&\"string\"==typeof e[0]&&a.call(e,\"index\")&&(n.index=e.index,n.input=e.input),n}var r=Object.prototype,a=r.hasOwnProperty;e.exports=n},function(e,t,n){function r(e,t,n){var r=e.constructor;switch(t){case g:return a(e);case s:case c:return new r(+e);case y:return o(e,n);case _:case b:case E:case S:case x:case C:case w:case j:case A:return l(e,n);case f:return new r;case d:case m:return new r(e);case p:return u(e);case h:return new r;case v:return i(e)}}var a=n(131),o=n(496),u=n(497),i=n(498),l=n(499),s=\"[object Boolean]\",c=\"[object Date]\",f=\"[object Map]\",d=\"[object Number]\",p=\"[object RegExp]\",h=\"[object Set]\",m=\"[object String]\",v=\"[object Symbol]\",g=\"[object ArrayBuffer]\",y=\"[object DataView]\",_=\"[object Float32Array]\",b=\"[object Float64Array]\",E=\"[object Int8Array]\",S=\"[object Int16Array]\",x=\"[object Int32Array]\",C=\"[object Uint8Array]\",w=\"[object Uint8ClampedArray]\",j=\"[object Uint16Array]\",A=\"[object Uint32Array]\";e.exports=r},function(e,t,n){function r(e){return\"function\"!=typeof e.constructor||u(e)?{}:a(o(e))}var a=n(466),o=n(132),u=n(135);e.exports=r},function(e,t,n){function r(e){return u(e)||o(e)||!!(i&&e&&e[i])}var a=n(50),o=n(137),u=n(15),i=a?a.isConcatSpreadable:void 0;e.exports=r},function(e,t,n){function r(e,t,n){if(!i(n))return!1;var r=typeof t;return!!(\"number\"==r?o(n)&&u(t,n.length):\"string\"==r&&t in n)&&a(n[t],e)}var a=n(67),o=n(68),u=n(90),i=n(28);e.exports=r},function(e,t){function n(e){var t=typeof e;return\"string\"==t||\"number\"==t||\"symbol\"==t||\"boolean\"==t?\"__proto__\"!==e:null===e}e.exports=n},function(e,t,n){function r(e){return!!o&&o in e}var a=n(503),o=function(){var e=/[^.]+$/.exec(a&&a.keys&&a.keys.IE_PROTO||\"\");return e?\"Symbol(src)_1.\"+e:\"\"}();e.exports=r},function(e,t){function n(){this.__data__=[],this.size=0}e.exports=n},function(e,t,n){function r(e){var t=this.__data__,n=a(t,e);return!(n<0)&&(n==t.length-1?t.pop():u.call(t,n,1),--this.size,!0)}var a=n(86),o=Array.prototype,u=o.splice;e.exports=r},function(e,t,n){function r(e){var t=this.__data__,n=a(t,e);return n<0?void 0:t[n][1]}var a=n(86);e.exports=r},function(e,t,n){function r(e){return a(this.__data__,e)>-1}var a=n(86);e.exports=r},function(e,t,n){function r(e,t){var n=this.__data__,r=a(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this}var a=n(86);e.exports=r},function(e,t,n){function r(){this.size=0,this.__data__={hash:new a,map:new(u||o),string:new a}}var a=n(453),o=n(85),u=n(124);e.exports=r},function(e,t,n){function r(e){var t=a(this,e).delete(e);return this.size-=t?1:0,t}var a=n(88);e.exports=r},function(e,t,n){function r(e){return a(this,e).get(e)}var a=n(88);e.exports=r},function(e,t,n){function r(e){return a(this,e).has(e)}var a=n(88);e.exports=r},function(e,t,n){function r(e,t){var n=a(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this}var a=n(88);e.exports=r},function(e,t){function n(e){var t=-1,n=Array(e.size);return e.forEach(function(e,r){n[++t]=[r,e]}),n}e.exports=n},function(e,t,n){function r(e){var t=a(e,function(e){return n.size===o&&n.clear(),e}),n=t.cache;return t}var a=n(268),o=500;e.exports=r},function(e,t,n){var r=n(260),a=r(Object.keys,Object);e.exports=a},function(e,t){function n(e){var t=[];if(null!=e)for(var n in Object(e))t.push(n);return t}e.exports=n},function(e,t){function n(e){return a.call(e)}var r=Object.prototype,a=r.toString;e.exports=n},function(e,t,n){function r(e,t,n){return t=o(void 0===t?e.length-1:t,0),function(){for(var r=arguments,u=-1,i=o(r.length-t,0),l=Array(i);++u<i;)l[u]=r[t+u];u=-1;for(var s=Array(t+1);++u<t;)s[u]=r[u];return s[t]=n(l),a(e,this,s)}}var a=n(458),o=Math.max;e.exports=r},function(e,t,n){function r(e,t){return t.length<2?e:a(e,o(t,0,-1))}var a=n(129),o=n(249);e.exports=r},function(e,t){function n(e){return this.__data__.set(e,r),this}var r=\"__lodash_hash_undefined__\";e.exports=n},function(e,t){function n(e){return this.__data__.has(e)}e.exports=n},function(e,t){function n(e){var t=-1,n=Array(e.size);return e.forEach(function(e){n[++t]=e}),n}e.exports=n},function(e,t,n){var r=n(488),a=n(551),o=a(r);e.exports=o},function(e,t){function n(e){var t=0,n=0;return function(){var u=o(),i=a-(u-n);if(n=u,i>0){if(++t>=r)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}var r=800,a=16,o=Date.now;e.exports=n},function(e,t,n){function r(){this.__data__=new a,this.size=0}var a=n(85);e.exports=r},function(e,t){function n(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}e.exports=n},function(e,t){function n(e){return this.__data__.get(e)}e.exports=n},function(e,t){function n(e){return this.__data__.has(e)}e.exports=n},function(e,t,n){function r(e,t){var n=this.__data__;if(n instanceof a){var r=n.__data__;if(!o||r.length<i-1)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new u(r)}return n.set(e,t),this.size=n.size,this}var a=n(85),o=n(124),u=n(125),i=200;e.exports=r},function(e,t,n){function r(e){return o(e)?u(e):a(e)}var a=n(461),o=n(257),u=n(559);e.exports=r},function(e,t,n){var r=n(541),a=/[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g,o=/\\\\(\\\\)?/g,u=r(function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(\"\"),e.replace(a,function(e,n,r,a){t.push(r?a.replace(o,\"$1\"):n||e)}),t});e.exports=u},function(e,t){function n(e){return e.match(f)||[]}var r=\"[\\\\u0300-\\\\u036f\\\\ufe20-\\\\ufe2f\\\\u20d0-\\\\u20ff]\",a=\"\\\\ud83c[\\\\udffb-\\\\udfff]\",o=\"(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}\",u=\"[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]\",i=\"(?:[\\\\u0300-\\\\u036f\\\\ufe20-\\\\ufe2f\\\\u20d0-\\\\u20ff]|\\\\ud83c[\\\\udffb-\\\\udfff])?\",l=\"(?:\\\\u200d(?:\"+[\"[^\\\\ud800-\\\\udfff]\",o,u].join(\"|\")+\")[\\\\ufe0e\\\\ufe0f]?\"+i+\")*\",s=\"[\\\\ufe0e\\\\ufe0f]?\"+i+l,c=\"(?:\"+[\"[^\\\\ud800-\\\\udfff]\"+r+\"?\",r,o,u,\"[\\\\ud800-\\\\udfff]\"].join(\"|\")+\")\",f=RegExp(a+\"(?=\"+a+\")|\"+c+s,\"g\");e.exports=n},function(e,t){function n(e){return e.match(m)||[]}var r=\"\\\\xac\\\\xb1\\\\xd7\\\\xf7\\\\x00-\\\\x2f\\\\x3a-\\\\x40\\\\x5b-\\\\x60\\\\x7b-\\\\xbf\\\\u2000-\\\\u206f \\\\t\\\\x0b\\\\f\\\\xa0\\\\ufeff\\\\n\\\\r\\\\u2028\\\\u2029\\\\u1680\\\\u180e\\\\u2000\\\\u2001\\\\u2002\\\\u2003\\\\u2004\\\\u2005\\\\u2006\\\\u2007\\\\u2008\\\\u2009\\\\u200a\\\\u202f\\\\u205f\\\\u3000\",a=\"[\"+r+\"]\",o=\"[a-z\\\\xdf-\\\\xf6\\\\xf8-\\\\xff]\",u=\"[^\\\\ud800-\\\\udfff\"+r+\"\\\\d+\\\\u2700-\\\\u27bfa-z\\\\xdf-\\\\xf6\\\\xf8-\\\\xffA-Z\\\\xc0-\\\\xd6\\\\xd8-\\\\xde]\",i=\"(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}\",l=\"[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]\",s=\"[A-Z\\\\xc0-\\\\xd6\\\\xd8-\\\\xde]\",c=\"(?:\"+o+\"|\"+u+\")\",f=\"(?:[\\\\u0300-\\\\u036f\\\\ufe20-\\\\ufe2f\\\\u20d0-\\\\u20ff]|\\\\ud83c[\\\\udffb-\\\\udfff])?\",d=\"(?:\\\\u200d(?:\"+[\"[^\\\\ud800-\\\\udfff]\",i,l].join(\"|\")+\")[\\\\ufe0e\\\\ufe0f]?\"+f+\")*\",p=\"[\\\\ufe0e\\\\ufe0f]?\"+f+d,h=\"(?:\"+[\"[\\\\u2700-\\\\u27bf]\",i,l].join(\"|\")+\")\"+p,m=RegExp([s+\"?\"+o+\"+(?:['’](?:d|ll|m|re|s|t|ve))?(?=\"+[a,s,\"$\"].join(\"|\")+\")\",\"(?:[A-Z\\\\xc0-\\\\xd6\\\\xd8-\\\\xde]|[^\\\\ud800-\\\\udfff\\\\xac\\\\xb1\\\\xd7\\\\xf7\\\\x00-\\\\x2f\\\\x3a-\\\\x40\\\\x5b-\\\\x60\\\\x7b-\\\\xbf\\\\u2000-\\\\u206f \\\\t\\\\x0b\\\\f\\\\xa0\\\\ufeff\\\\n\\\\r\\\\u2028\\\\u2029\\\\u1680\\\\u180e\\\\u2000\\\\u2001\\\\u2002\\\\u2003\\\\u2004\\\\u2005\\\\u2006\\\\u2007\\\\u2008\\\\u2009\\\\u200a\\\\u202f\\\\u205f\\\\u3000\\\\d+\\\\u2700-\\\\u27bfa-z\\\\xdf-\\\\xf6\\\\xf8-\\\\xffA-Z\\\\xc0-\\\\xd6\\\\xd8-\\\\xde])+(?:['’](?:D|LL|M|RE|S|T|VE))?(?=\"+[a,s+c,\"$\"].join(\"|\")+\")\",s+\"?\"+c+\"+(?:['’](?:d|ll|m|re|s|t|ve))?\",s+\"+(?:['’](?:D|LL|M|RE|S|T|VE))?\",\"\\\\d*(?:1ST|2ND|3RD|(?![123])\\\\dTH)(?=\\\\b|[a-z_])\",\"\\\\d*(?:1st|2nd|3rd|(?![123])\\\\dth)(?=\\\\b|[A-Z_])\",\"\\\\d+\",h].join(\"|\"),\"g\");e.exports=n},function(e,t,n){var r=n(562),a=n(250),o=a(function(e,t,n){return t=t.toLowerCase(),e+(n?r(t):t)});e.exports=o},function(e,t,n){function r(e){return o(a(e).toLowerCase())}var a=n(69),o=n(271);e.exports=r},function(e,t){function n(e){return function(){return e}}e.exports=n},function(e,t,n){function r(e,t,n){function r(t){var n=y,r=_;return y=_=void 0,C=t,E=e.apply(r,n)}function c(e){return C=e,S=setTimeout(p,t),w?r(e):E}function f(e){var n=e-x,r=e-C,a=t-n;return j?s(a,b-r):a}function d(e){var n=e-x,r=e-C;return void 0===x||n>=t||n<0||j&&r>=b}function p(){var e=o();if(d(e))return h(e);S=setTimeout(p,f(e))}function h(e){return S=void 0,A&&y?r(e):(y=_=void 0,E)}function m(){void 0!==S&&clearTimeout(S),C=0,y=x=_=S=void 0}function v(){return void 0===S?E:h(o())}function g(){var e=o(),n=d(e);if(y=arguments,_=this,x=e,n){if(void 0===S)return c(x);if(j)return S=setTimeout(p,t),r(x)}return void 0===S&&(S=setTimeout(p,t)),E}var y,_,b,E,S,x,C=0,w=!1,j=!1,A=!0;if(\"function\"!=typeof e)throw new TypeError(i);return t=u(t)||0,a(n)&&(w=!!n.leading,j=\"maxWait\"in n,b=j?l(u(n.maxWait)||0,t):b,A=\"trailing\"in n?!!n.trailing:A),g.cancel=m,g.flush=v,g}var a=n(28),o=n(575),u=n(270),i=\"Expected a function\",l=Math.max,s=Math.min;e.exports=r},function(e,t,n){function r(e){return(e=o(e))&&e.replace(u,a).replace(i,\"\")}var a=n(509),o=n(69),u=/[\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\xff\\u0100-\\u017f]/g,i=RegExp(\"[\\\\u0300-\\\\u036f\\\\ufe20-\\\\ufe2f\\\\u20d0-\\\\u20ff]\",\"g\");e.exports=r},function(e,t,n){function r(e,t,n){var r=null==e?0:e.length;if(!r)return-1;var l=null==n?0:u(n);return l<0&&(l=i(r+l,0)),a(e,o(t,3),l)}var a=n(467),o=n(87),u=n(583),i=Math.max;e.exports=r},function(e,t,n){function r(e){return(null==e?0:e.length)?a(e,1):[]}var a=n(468);e.exports=r},function(e,t,n){function r(e,t){return null!=e&&o(e,t,a)}var a=n(471),o=n(516);e.exports=r},function(e,t,n){var r=n(474),a=n(130),o=n(136),u=o&&o.isMap,i=u?a(u):r;e.exports=i},function(e,t,n){function r(e){if(!u(e)||a(e)!=i)return!1;var t=o(e);if(null===t)return!0;var n=f.call(t,\"constructor\")&&t.constructor;return\"function\"==typeof n&&n instanceof n&&c.call(n)==d}var a=n(42),o=n(132),u=n(30),i=\"[object Object]\",l=Function.prototype,s=Object.prototype,c=l.toString,f=s.hasOwnProperty,d=c.call(Object);e.exports=r},function(e,t,n){var r=n(477),a=n(130),o=n(136),u=o&&o.isSet,i=u?a(u):r;e.exports=i},function(e,t,n){function r(e){return\"string\"==typeof e||!o(e)&&u(e)&&a(e)==i}var a=n(42),o=n(15),u=n(30),i=\"[object String]\";e.exports=r},function(e,t){function n(e){var t=null==e?0:e.length;return t?e[t-1]:void 0}e.exports=n},function(e,t,n){var r=n(250),a=r(function(e,t,n){return e+(n?\" \":\"\")+t.toLowerCase()});e.exports=a},function(e,t,n){var r=n(25),a=function(){return r.Date.now()};e.exports=a},function(e,t,n){var r=n(242),a=n(465),o=n(492),u=n(65),i=n(66),l=n(508),s=n(512),c=n(255),f=s(function(e,t){var n={};if(null==e)return n;var s=!1;t=r(t,function(t){return t=u(t,e),s||(s=t.length>1),t}),i(e,c(e),n),s&&(n=a(n,7,l));for(var f=t.length;f--;)o(n,t[f]);return n});e.exports=f},function(e,t,n){function r(e){return u(e)?a(i(e)):o(e)}var a=n(483),o=n(484),u=n(134),i=n(51);e.exports=r},function(e,t,n){function r(e,t,n){var r=l(e)?a:i,s=arguments.length<3;return r(e,u(t,4),n,s,o)}var a=n(243),o=n(246),u=n(87),i=n(486),l=n(15);e.exports=r},function(e,t,n){function r(e,t,n){return null==e?e:a(e,t,n)}var a=n(487);e.exports=r},function(e,t,n){function r(e,t,n){var r=i(e)?a:u;return n&&l(e,t,n)&&(t=void 0),r(e,o(t,3))}var a=n(244),o=n(87),u=n(489),i=n(15),l=n(527);e.exports=r},function(e,t){function n(){return!1}e.exports=n},function(e,t,n){function r(e){if(!e)return 0===e?e:0;if((e=a(e))===o||e===-o){return(e<0?-1:1)*u}return e===e?e:0}var a=n(270),o=1/0,u=1.7976931348623157e308;e.exports=r},function(e,t,n){function r(e){var t=a(e),n=t%1;return t===t?n?t-n:t:0}var a=n(582);e.exports=r},function(e,t,n){function r(e,t,n){return e=u(e),t=n?void 0:t,void 0===t?o(e)?i(e):a(e):e.match(t)||[]}var a=n(462),o=n(517),u=n(69),i=n(560);e.exports=r},function(e,t){e.exports='---\\nurl: \"http://petstore.swagger.io/v2/swagger.json\"\\ndom_id: \"#swagger-ui\"\\nvalidatorUrl: \"https://online.swagger.io/validator\"\\noauth2RedirectUrl: \"http://localhost:3200/oauth2-redirect.html\"\\n'},function(e,t,n){function r(e){return n(a(e))}function a(e){var t=o[e];if(!(t+1))throw new Error(\"Cannot find module '\"+e+\"'.\");return t}var o={\"./all.js\":145,\"./ast/ast.js\":146,\"./ast/index.js\":147,\"./ast/jump-to-path.jsx\":148,\"./auth/actions.js\":93,\"./auth/index.js\":149,\"./auth/reducers.js\":150,\"./auth/selectors.js\":151,\"./auth/spec-wrap-actions.js\":152,\"./configs/actions.js\":94,\"./configs/index.js\":153,\"./configs/reducers.js\":154,\"./configs/selectors.js\":155,\"./deep-linking/helpers.js\":156,\"./deep-linking/index.js\":157,\"./deep-linking/layout-wrap-actions.js\":158,\"./deep-linking/spec-wrap-actions.js\":159,\"./download-url.js\":160,\"./err/actions.js\":70,\"./err/error-transformers/hook.js\":161,\"./err/error-transformers/transformers/not-of-type.js\":162,\"./err/error-transformers/transformers/parameter-oneof.js\":163,\"./err/error-transformers/transformers/strip-instance.js\":164,\"./err/index.js\":165,\"./err/reducers.js\":166,\"./err/selectors.js\":167,\"./filter/index.js\":168,\"./filter/opsFilter.js\":169,\"./layout/actions.js\":95,\"./layout/index.js\":170,\"./layout/reducers.js\":171,\"./layout/selectors.js\":172,\"./logs/index.js\":173,\"./oas3/actions.js\":96,\"./oas3/auth-extensions/wrap-selectors.js\":174,\"./oas3/components/callbacks.jsx\":175,\"./oas3/components/http-auth.jsx\":176,\"./oas3/components/index.js\":177,\"./oas3/components/operation-link.jsx\":178,\"./oas3/components/operation-servers.jsx\":179,\"./oas3/components/request-body-editor.jsx\":180,\"./oas3/components/request-body.jsx\":181,\"./oas3/components/servers.jsx\":182,\"./oas3/helpers.js\":22,\"./oas3/index.js\":183,\"./oas3/reducers.js\":184,\"./oas3/selectors.js\":185,\"./oas3/spec-extensions/selectors.js\":186,\"./oas3/spec-extensions/wrap-selectors.js\":187,\"./oas3/wrap-components/auth-item.jsx\":188,\"./oas3/wrap-components/index.js\":189,\"./oas3/wrap-components/markdown.js\":190,\"./oas3/wrap-components/model.jsx\":191,\"./oas3/wrap-components/online-validator-badge.js\":192,\"./oas3/wrap-components/parameters.jsx\":193,\"./oas3/wrap-components/version-stamp.jsx\":194,\"./on-complete/index.js\":195,\"./samples/fn.js\":97,\"./samples/index.js\":196,\"./spec/actions.js\":98,\"./spec/index.js\":197,\"./spec/reducers.js\":198,\"./spec/selectors.js\":99,\"./spec/wrap-actions.js\":199,\"./split-pane-mode/components/split-pane-mode.jsx\":200,\"./split-pane-mode/index.js\":201,\"./swagger-js/index.js\":202,\"./util/index.js\":203,\"./view/index.js\":204,\"./view/root-injects.js\":205};r.keys=function(){return Object.keys(o)},r.resolve=a,e.exports=r,r.id=586},function(e,t){e.exports=require(\"base64-js\")},function(e,t){e.exports=require(\"classnames\")},function(e,t){e.exports=require(\"commonmark\")},function(e,t){e.exports=require(\"css.escape\")},function(e,t){e.exports=require(\"ieee754\")},function(e,t){e.exports=require(\"isarray\")},function(e,t){e.exports=require(\"memoizee\")},function(e,t){e.exports=require(\"react-debounce-input\")},function(e,t){e.exports=require(\"react-dom\")},function(e,t){e.exports=require(\"react-immutable-pure-component\")},function(e,t){e.exports=require(\"react-markdown\")},function(e,t){e.exports=require(\"react-redux\")},function(e,t){e.exports=require(\"react-split-pane\")},function(e,t){e.exports=require(\"redux\")},function(e,t){e.exports=require(\"redux-immutable\")},function(e,t){e.exports=require(\"regenerator-runtime\")},function(e,t){e.exports=require(\"remarkable\")},function(e,t){e.exports=require(\"sanitize-html\")},function(e,t){e.exports=require(\"url-parse\")},function(e,t){e.exports=require(\"xml\")},function(e,t){e.exports=require(\"xml-but-prettier\")},function(e,t){e.exports=require(\"yaml-js\")},function(e,t){e.exports=require(\"zenscroll\")},function(e,t,n){n(280),n(279),e.exports=n(278)}])});\n//# sourceMappingURL=swagger-ui.js.map"
  },
  {
    "path": "frontend/store/-dynamic/statistics.js",
    "content": "import { WORKER_STATUS } from '~/components/consts'\nimport getCrawlerData from '~/dynamic/crawlers'\n\nimport _ from 'lodash'\n\nconst crawlerFunctions = {}\n\nfunction initCrawlers() {\n\n  const data = getCrawlerData()\n\n  const crawlers = {}\n  _.forEach(data.metas, (val, key) => {\n    crawlers[key] = val\n    crawlers[key].name = key\n    crawlerFunctions[key] = data.crawlers[key]\n  })\n\n  return crawlers\n}\n\nexport function state() {\n\n  const crawlers = initCrawlers()\n  const workers = initWorkers(crawlers)\n\n  return {\n    workers,\n    crawlers,\n    mainUsername: '',\n  }\n}\n\nexport const MUTATION_TYPES = {\n  updateUsername: 'updateUsername',\n  updateMainUsername: 'updateMainUsername',\n  updateUsernamesFromObject: 'updateUsernamesFromObject',\n  setWorkerDone: 'setWorkerDone',\n  setWorkerError: 'setWorkerError',\n  startWorker: 'startWorker',\n  stopWorker: 'stopWorker',\n  addWorkerForCrawler: 'addWorkerForCrawler',\n  removeWorkerAtIndex: 'removeWorkerAtIndex',\n  clearWorkers: 'clearWorkers',\n}\n\nexport const mutations = {\n  [MUTATION_TYPES.updateUsername](state, { index, username }) {\n    updateUsername(state.workers[index], username)\n  },\n  [MUTATION_TYPES.updateMainUsername](state, { username }) {\n    state.mainUsername = username\n    _.forEach(state.workers, (worker) => updateUsername(worker, username))\n  },\n  /**\n   * 从 payload 读取用户名，如果某爬虫在 state.crawlers 中存在，而在subs中不存在，\n   * 则创建一个用户名为 mainUsername 的 worker。\n   * @param state\n   * @param main\n   * @param subs\n   */\n  [MUTATION_TYPES.updateUsernamesFromObject](state, { main, subs }) {\n    state.mainUsername = main\n\n    /* subs: {\n     *   crawlerName: [ 'username1', 'username2' ],\n     * }\n     */\n    // 从 crawler 重新生成 worker\n    state.workers = []\n\n    _.forEach(state.crawlers, item => {\n      if (subs[item.name]) {\n        _.forEach(subs[item.name], username => {\n\n          const worker = {\n            crawlerName: item.name,\n            username: username,\n            status: WORKER_STATUS.WAITING,\n          }\n          resetWorker(worker)\n\n          state.workers.push(worker)\n        })\n      } else {\n        const worker = {\n          crawlerName: item.name,\n          username: main,\n          status: WORKER_STATUS.WAITING,\n        }\n        resetWorker(worker)\n\n        state.workers.push(worker)\n      }\n    })\n  },\n  [MUTATION_TYPES.setWorkerDone](state, { index, solved, submissions, solvedList, submissionsByCrawlerName }) {\n    const worker = state.workers[index]\n\n    worker.solved = solved\n    worker.submissions = submissions\n    if (_.isArray(solvedList)) {\n      // 冻结列表，这样 vue 就不会给列表中的每个元素创建proxy了，可以显著提升性能\n      // 来自 https://vuejs.org/v2/guide/instance.html#Data-and-Methods\n      // 和 https://vuedose.tips/tips/improve-performance-on-large-lists-in-vue-js/\n      worker.solvedList = Object.freeze(solvedList)\n    } else {\n      worker.solvedList = null\n    }\n    if (submissionsByCrawlerName) {\n      worker.submissionsByCrawlerName = submissionsByCrawlerName\n    }\n    worker.status = WORKER_STATUS.DONE\n  },\n  [MUTATION_TYPES.setWorkerError](state, { index, errorMessage }) {\n    const worker = state.workers[index]\n\n    worker.errorMessage = errorMessage\n    worker.status = WORKER_STATUS.DONE\n  },\n  /**\n   * 更新状态，准备启动 worker\n   */\n  [MUTATION_TYPES.startWorker](state, { index, tokenKey }) {\n    const worker = state.workers[index]\n\n    resetWorker(worker)\n\n    worker.status = WORKER_STATUS.WORKING\n    worker.tokenKey = tokenKey\n  },\n  [MUTATION_TYPES.stopWorker](state, { index }) {\n    const worker = state.workers[index]\n\n    worker.status = WORKER_STATUS.WAITING\n    worker.tokenKey = null\n  },\n  [MUTATION_TYPES.addWorkerForCrawler](state, { crawlerName }) {\n    let insertIdx = _.findLastIndex(state.workers, _.matchesProperty('crawlerName', crawlerName))\n    if (insertIdx === -1) {\n      insertIdx = state.workers.length\n    } else {\n      // 插入到后方\n      ++insertIdx\n    }\n\n    const worker = {\n      crawlerName,\n      username: '',\n      status: WORKER_STATUS.WAITING,\n    }\n    resetWorker(worker)\n\n    state.workers.splice(insertIdx, 0, worker)\n  },\n  [MUTATION_TYPES.removeWorkerAtIndex](state, { index }) {\n    state.workers.splice(index, 1)\n  },\n  [MUTATION_TYPES.clearWorkers](state) {\n    state.workers = initWorkers(state.crawlers)\n    state.mainUsername = ''\n  },\n}\n\nexport const getters = {\n  /**\n   * 没法得到 solvedList 的 worker\n   * @param state\n   * @return {Object[]}\n   */\n  nullSolvedListWorkers(state) {\n    return _.filter(state.workers, item => item.solvedList === null)\n  },\n  /**\n   * 没法得到 solvedList 的 worker 的爬虫名\n   * @param state\n   * @param nullSolvedListWorkers\n   * @return {Object.<String, String>} key 是 crawler name， value 是 title\n   */\n  nullSolvedListCrawlers(state, { nullSolvedListWorkers }) {\n    const res = {}\n    for (let item of nullSolvedListWorkers) {\n      res[item.crawlerName] = state.crawlers[item.crawlerName].title\n    }\n    return res\n  },\n  /**\n   * 总体 solved 数量\n   * @param state\n   * @param nullSolvedListWorkers\n   * @returns {number}\n   */\n  solvedNum(state, { nullSolvedListWorkers }) {\n\n    const nullSolvedListWorkerSolvedNum = _.sumBy(nullSolvedListWorkers, 'solved')\n\n    const acSet = new Set()\n    for (let worker of state.workers) {\n      if (worker.solvedList) {\n        if (state.crawlers[worker.crawlerName].virtual_judge) {\n          pushSet(acSet, worker.solvedList)\n        } else {\n          pushSet(acSet, addProblemPrefix(worker.solvedList, worker.crawlerName))\n        }\n      }\n    }\n\n    return acSet.size + nullSolvedListWorkerSolvedNum\n  },\n  /**\n   * 总体 submissions 数量\n   * @param state\n   * @returns {number}\n   */\n  submissionsNum(state) {\n    return _.reduce(state.workers, (sum, val) => sum + val.submissions, 0)\n  },\n  /**\n   * 是否还有worker正在工作\n   * @param state\n   * @returns {boolean}\n   */\n  isWorking(state) {\n    return _.some(state.workers, item => item.status === WORKER_STATUS.WORKING)\n  },\n  /**\n   * 返回一个0-100的数字，表示不在WORKING状态的Worker的比例\n   * @param state\n   * @returns {number}\n   */\n  notWorkingRate(state) {\n    const cnt = state.workers.length\n    const notWorking = _.filter(state.workers, item => item.status !== WORKER_STATUS.WORKING).length\n    return notWorking / cnt * 100\n  },\n  /**\n   * 每个 crawler 有多少 worker\n   * @param state\n   * @return {Object.<string, number>}\n   */\n  workerNumberOfCrawler(state) {\n    return _.countBy(state.workers, 'crawlerName')\n  },\n  /**\n   * 给每个 worker 返回一个数字，表示它是相同 crawler 的第几个 worker，从 1 开始计数。\n   * 相同 crawler 的 worker 必须在一起\n   * @param state\n   */\n  workerIdxOfCrawler(state) {\n    const ret = []\n    let lastCrawlerName = null\n    let num = 0\n    _.forEach(state.workers, item => {\n      if (item.crawlerName !== lastCrawlerName) {\n        lastCrawlerName = item.crawlerName\n        num = 0\n      }\n      ret.push(++num)\n    })\n    return ret\n  },\n}\n\nexport const actions = {\n  async loadUsernames({ commit, rootState }) {\n    let username\n    if (rootState.session.login) {\n      const res = await this.$axios.$get('/api/services/app/DefaultQuery/GetDefaultQueries')\n      username = {\n        main: res.result.mainUsername,\n        subs: res.result.usernamesInCrawlers,\n      }\n    } else {\n      username = JSON.parse(window.localStorage.getItem('username-v2'))\n    }\n    if (username) {\n      commit(MUTATION_TYPES.updateUsernamesFromObject, username)\n    }\n  },\n  async saveUsernames({ state, rootState }) {\n    const username = getUsernameObjectFromState(state)\n    if (rootState.session.login) {\n      await this.$axios.$post('/api/services/app/DefaultQuery/SetDefaultQueries', {\n        mainUsername: username.main,\n        usernamesInCrawlers: username.subs,\n      })\n    } else {\n      window.localStorage.setItem('username-v2', JSON.stringify(username))\n    }\n  },\n  updateUsername({ commit }, { index, username }) {\n    commit(MUTATION_TYPES.updateUsername, { index, username })\n  },\n  updateMainUsername({ commit }, { username }) {\n    commit(MUTATION_TYPES.updateMainUsername, { username })\n  },\n  /**\n   * 启动一个 worker\n   */\n  async startOne({ state, commit }, { index }) {\n\n    const worker = state.workers[index]\n    if (!worker.username) {\n      return\n    }\n\n    const tokenKey = Math.random()\n    commit(MUTATION_TYPES.startWorker, { index, tokenKey })\n\n    try {\n      const res = await crawlerFunctions[worker.crawlerName](worker.username)\n      if (state.workers[index].tokenKey !== tokenKey) {\n        console.log('done but stopped')\n        return\n      }\n      commit(MUTATION_TYPES.setWorkerDone, { index, ...res })\n    } catch (err) {\n      if (state.workers[index].tokenKey !== tokenKey) {\n        console.log('done but stopped')\n        return\n      }\n      commit(MUTATION_TYPES.setWorkerError, { index, errorMessage: err.message })\n    }\n  },\n  startAll({ state, dispatch }) {\n    return Promise.all(_.map(\n      _.range(state.workers.length),\n      index => dispatch('startOne', { index })))\n  },\n  stopOne({ commit }, { index }) {\n    commit(MUTATION_TYPES.stopWorker, { index })\n  },\n  addWorkerForCrawler({ state, commit }, { crawlerName }) {\n    if (state.crawlers[crawlerName]) {\n      commit(MUTATION_TYPES.addWorkerForCrawler, { crawlerName })\n    } else {\n      throw new Error('Crawler does not exist')\n    }\n  },\n  removeWorkerAtIndex({ state, commit, getters }, { index }) {\n    if (index < 0 || index >= state.workers.length) {\n      throw new Error('Position does not exist')\n    }\n\n    const crawlerName = state.workers[index].crawlerName\n\n    if (getters.workerNumberOfCrawler[crawlerName] <= 1) {\n      throw new Error('Cannot remove the last worker, you can set username to empty to skip this query.')\n    }\n\n    commit(MUTATION_TYPES.removeWorkerAtIndex, { index })\n  },\n  clearWorkers({ commit }) {\n    commit(MUTATION_TYPES.clearWorkers)\n  },\n}\n\nexport const namespaced = true\n\nexport default {\n  namespaced,\n  state,\n  mutations,\n  getters,\n  actions,\n}\n\n/**\n * 清空某个worker的数据，清除 solved, submissions, errorMessage 和 tokenKey，不会重设状态\n */\nfunction resetWorker(worker) {\n  worker.solved = 0\n  worker.submissions = 0\n  worker.errorMessage = ''\n  worker.tokenKey = null\n  worker.solvedList = []\n  worker.submissionsByCrawlerName = undefined\n\n  if (!worker.key) {\n    worker.key = Math.random()\n  }\n}\n\nfunction updateUsername(worker, username) {\n  resetWorker(worker)\n  if (!username) {\n    // 假如 username 是 null 或 undefined，将其重设为 ''\n    worker.username = ''\n  } else {\n    worker.username = username\n  }\n  worker.status = WORKER_STATUS.WAITING\n}\n\nfunction initWorkers(crawlers) {\n  const workers = []\n  _.forEach(crawlers, val => {\n\n    const worker = {\n      crawlerName: val.name,\n      username: '',\n      status: WORKER_STATUS.WAITING,\n    }\n    resetWorker(worker)\n    workers.push(worker)\n  })\n\n  return workers\n}\n\nexport function getUsernameObjectFromState(state) {\n  const username = {\n    main: state.mainUsername,\n    subs: {},\n  }\n\n  for (let item of state.workers) {\n    if (username.subs[item.crawlerName]) {\n      username.subs[item.crawlerName].push(item.username)\n    } else {\n      username.subs[item.crawlerName] = [item.username]\n    }\n  }\n\n  return username\n}\n\n/**\n * 给题目列表里的每个题目加上前缀\n * @param {String[]} lst 题目列表\n * @param {String} prefix 前缀\n * @return {String[]}\n */\nexport function addProblemPrefix(lst, prefix) {\n  return _.map(lst, item => `${prefix}-${item}`)\n}\n\n/**\n * 将 lst 的内容合并进 set 中\n * @param {Set<*>} set\n * @param {*[]} lst\n */\nexport function pushSet(set, lst) {\n  for (let item of lst) {\n    set.add(item)\n  }\n}\n"
  },
  {
    "path": "frontend/store/README.md",
    "content": "# STORE\n\nThis directory contains your Vuex Store files.\nVuex Store option is implemented in the Nuxt.js framework.\nCreating a index.js file in this directory activate the option in the framework automatically.\n\nMore information about the usage of this directory in the documentation:\nhttps://nuxtjs.org/guide/vuex-store\n\n**This directory is not required, you can delete it if you don't want to use it.**\n"
  },
  {
    "path": "frontend/store/index.js",
    "content": "export const state = () => ({\n  sidebar: false,\n})\n\nexport const mutations = {\n  toggleSidebar (state) {\n    state.sidebar = !state.sidebar\n  },\n}\n\nexport const actions = {\n  async nuxtServerInit({ dispatch }) {\n    await dispatch('session/refreshUser')\n  },\n}\n"
  },
  {
    "path": "frontend/store/message.js",
    "content": "import _ from 'lodash'\n\nexport const namespaced = true\n\nexport const state = () => ({\n  list: [],\n})\n\nfunction addMessage(state, message, type) {\n  state.list.push({\n    id: Math.random(),\n    message,\n    type,\n  })\n}\n\nexport const mutations = {\n  add(state, param) {\n    if (_.isString(param)) {\n      addMessage(state, param, 'info')\n    } else {\n      const { message, type } = param\n      addMessage(state, message, type)\n    }\n  },\n  pop(state) {\n    state.list.pop()\n  },\n  addError(state, message) {\n    addMessage(state, message, 'error')\n  },\n  addSuccess(state, message) {\n    addMessage(state, message, 'success')\n  },\n  remove(state, index) {\n    state.list.splice(index, 1)\n  },\n  clear(state) {\n    state.list = []\n  },\n}\n\nexport const getters = {\n  top(state) {\n    if (state.list.length > 0) {\n      return state.list[state.list.length - 1]\n    } else {\n      return {}\n    }\n  },\n  show(state) {\n    return state.list.length > 0\n  },\n}\n"
  },
  {
    "path": "frontend/store/session.js",
    "content": "import Cookies from 'js-cookie'\nimport _ from 'lodash'\n\nexport const state = () => ({\n  login: false,\n  username: '',\n  settings: {},\n})\n\nexport const mutations = {\n  setUser(state, { username }) {\n    state.login = true\n    state.username = username\n  },\n  removeUser(state) {\n    state.login = false\n    state.username = ''\n  },\n  updateSettings(state, newSettings) {\n    state.settings = _.assign(state.settings, newSettings)\n  },\n  resetSettings(state) {\n    state.settings = {}\n  },\n}\n\nexport const actions = {\n  async refreshUser({ commit, dispatch }) {\n    try {\n      const res = await this.$axios.$get('/api/services/app/Session/GetCurrentLoginInformations')\n\n      if (res.result.user) {\n        commit('setUser', { username: res.result.user.userName })\n        await dispatch('refreshSettings')\n      } else {\n        commit('removeUser')\n        commit('resetSettings')\n      }\n    } catch (err) {\n      Cookies.remove('OAuthToken')\n    }\n  },\n  async login({ dispatch }, { username, password, remember }) {\n    const res = await this.$axios.$post('/api/TokenAuth/Authenticate', {\n      userNameOrEmailAddress: username,\n      password: password,\n      rememberClient: remember,\n    })\n\n    const config = {}\n    if (remember) {\n      config.expires = 30\n    }\n    Cookies.set('OAuthToken', res.result.accessToken, config)\n\n    await dispatch('refreshUser')\n    await dispatch('refreshSettings')\n  },\n  async logout({ commit }) {\n    Cookies.remove('OAuthToken')\n    commit('removeUser')\n    commit('resetSettings')\n  },\n  async refreshSettings({ commit }) {\n    const res = await this.$axios.$get('/api/services/app/UserConfig/GetUserSettings')\n    commit('updateSettings', res.result.values)\n  },\n}\n"
  },
  {
    "path": "frontend/vuetify.options.js",
    "content": "import _ from 'lodash'\nimport LRU from 'lru-cache'\n\nimport colors from 'vuetify/es5/util/colors'\n\nexport default {\n  theme: {\n    options: {\n      minifyTheme: function (css) {\n        return process.env.NODE_ENV === 'production'\n          ? _.replace(css, /\\r\\n|\\r|\\n/g, '')\n          : css\n      },\n      themeCache: new LRU({\n        max: 10,\n        maxAge: 1000 * 60 * 60 * 12, // 12 hours\n      }),\n    },\n    themes: {\n      light: {\n        primary: colors.blue.darken2,\n        accent: colors.blue.accent2,\n        secondary: colors.grey.lighten1,\n        info: colors.blue.lighten1,\n        warning: colors.amber.darken2,\n        error: colors.red.accent4,\n        success: colors.green.lighten2,\n      },\n    },\n  },\n}\n"
  },
  {
    "path": "ohunt/.config/dotnet-tools.json",
    "content": "{\n  \"version\": 1,\n  \"isRoot\": true,\n  \"tools\": {\n    \"dotnet-ef\": {\n      \"version\": \"7.0.20\",\n      \"commands\": [\n        \"dotnet-ef\"\n      ]\n    }\n  }\n}"
  },
  {
    "path": "ohunt/.dockerignore",
    "content": "**/.classpath\n**/.dockerignore\n**/.env\n**/.git\n**/.gitignore\n**/.project\n**/.settings\n**/.toolstarget\n**/.vs\n**/.vscode\n**/.idea\n**/*.*proj.user\n**/*.dbmdl\n**/*.jfm\n**/azds.yaml\n**/bin\n**/charts\n**/docker-compose*\n**/Dockerfile*\n**/node_modules\n**/npm-debug.log\n**/obj\n**/secrets.dev.yaml\n**/values.dev.yaml\nLICENSE\nREADME.md\n"
  },
  {
    "path": "ohunt/.gitignore",
    "content": "## Ignore Visual Studio temporary files, build results, and\n## files generated by popular Visual Studio add-ons.\n\n# User-specific files\n*.suo\n*.user\n*.userosscache\n*.sln.docstates\n\n# User-specific files (MonoDevelop/Xamarin Studio)\n*.userprefs\n\n# Build results\n[Dd]ebug/\n[Dd]ebugPublic/\n[Rr]elease/\n[Rr]eleases/\nx64/\nx86/\nbld/\n[Bb]in/\n[Oo]bj/\n[Ll]og/\n\n# Visual Studio 2015 cache/options directory\n.vs/\n# Uncomment if you have tasks that create the project's static files in wwwroot\n#wwwroot/\n\n# MSTest test Results\n[Tt]est[Rr]esult*/\n[Bb]uild[Ll]og.*\n\n# NUNIT\n*.VisualState.xml\nTestResult.xml\n\n# Build Results of an ATL Project\n[Dd]ebugPS/\n[Rr]eleasePS/\ndlldata.c\n\n# DNX\nproject.lock.json\nartifacts/\n\n*_i.c\n*_p.c\n*_i.h\n*.ilk\n*.meta\n*.obj\n*.pch\n*.pdb\n*.pgc\n*.pgd\n*.rsp\n*.sbr\n*.tlb\n*.tli\n*.tlh\n*.tmp\n*.tmp_proj\n*.log\n*.vspscc\n*.vssscc\n.builds\n*.pidb\n*.svclog\n*.scc\n\n# Chutzpah Test files\n_Chutzpah*\n\n# Visual C++ cache files\nipch/\n*.aps\n*.ncb\n*.opendb\n*.opensdf\n*.sdf\n*.cachefile\n*.VC.db\n*.VC.VC.opendb\n\n# Visual Studio profiler\n*.psess\n*.vsp\n*.vspx\n*.sap\n\n# TFS 2012 Local Workspace\n$tf/\n\n# Guidance Automation Toolkit\n*.gpState\n\n# ReSharper is a .NET coding add-in\n_ReSharper*/\n*.[Rr]e[Ss]harper\n*.DotSettings.user\n\n# JustCode is a .NET coding add-in\n.JustCode\n\n# TeamCity is a build add-in\n_TeamCity*\n\n# DotCover is a Code Coverage Tool\n*.dotCover\n\n# NCrunch\n_NCrunch_*\n.*crunch*.local.xml\nnCrunchTemp_*\n\n# MightyMoose\n*.mm.*\nAutoTest.Net/\n\n# Web workbench (sass)\n.sass-cache/\n\n# Installshield output folder\n[Ee]xpress/\n\n# DocProject is a documentation generator add-in\nDocProject/buildhelp/\nDocProject/Help/*.HxT\nDocProject/Help/*.HxC\nDocProject/Help/*.hhc\nDocProject/Help/*.hhk\nDocProject/Help/*.hhp\nDocProject/Help/Html2\nDocProject/Help/html\n\n# Click-Once directory\npublish/\n\n# Publish Web Output\n*.[Pp]ublish.xml\n*.azurePubxml\n# TODO: Comment the next line if you want to checkin your web deploy settings\n# but database connection strings (with potential passwords) will be unencrypted\n*.pubxml\n*.publishproj\n\n# Microsoft Azure Web App publish settings. Comment the next line if you want to\n# checkin your Azure Web App publish settings, but sensitive information contained\n# in these scripts will be unencrypted\nPublishScripts/\n\n# NuGet Packages\n*.nupkg\n# The packages folder can be ignored because of Package Restore\n**/packages/*\n# except build/, which is used as an MSBuild target.\n!**/packages/build/\n# Uncomment if necessary however generally it will be regenerated when needed\n#!**/packages/repositories.config\n# NuGet v3's project.json files produces more ignoreable files\n*.nuget.props\n*.nuget.targets\n\n# Microsoft Azure Build Output\ncsx/\n*.build.csdef\n\n# Microsoft Azure Emulator\necf/\nrcf/\n\n# Windows Store app package directories and files\nAppPackages/\nBundleArtifacts/\nPackage.StoreAssociation.xml\n_pkginfo.txt\n\n# Visual Studio cache files\n# files ending in .cache can be ignored\n*.[Cc]ache\n# but keep track of directories ending in .cache\n!*.[Cc]ache/\n\n# Others\nClientBin/\n~$*\n*~\n*.dbmdl\n*.dbproj.schemaview\n*.pfx\n*.publishsettings\nnode_modules/\norleans.codegen.cs\n\n# Since there are multiple workflows, uncomment next line to ignore bower_components\n# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)\n#bower_components/\n\n# RIA/Silverlight projects\nGenerated_Code/\n\n# Backup & report files from converting an old project file\n# to a newer Visual Studio version. Backup files are not needed,\n# because we have git ;-)\n_UpgradeReport_Files/\nBackup*/\nUpgradeLog*.XML\nUpgradeLog*.htm\n\n# SQL Server files\n*.mdf\n*.ldf\n\n# Business Intelligence projects\n*.rdl.data\n*.bim.layout\n*.bim_*.settings\n\n# Microsoft Fakes\nFakesAssemblies/\n\n# GhostDoc plugin setting file\n*.GhostDoc.xml\n\n# Node.js Tools for Visual Studio\n.ntvs_analysis.dat\n\n# Visual Studio 6 build log\n*.plg\n\n# Visual Studio 6 workspace options file\n*.opt\n\n# Visual Studio LightSwitch build output\n**/*.HTMLClient/GeneratedArtifacts\n**/*.DesktopClient/GeneratedArtifacts\n**/*.DesktopClient/ModelManifest.xml\n**/*.Server/GeneratedArtifacts\n**/*.Server/ModelManifest.xml\n_Pvt_Extensions\n\n# Paket dependency manager\n.paket/paket.exe\npaket-files/\n\n# FAKE - F# Make\n.fake/\n\n# JetBrains Rider\n.idea/\n*.sln.iml\n"
  },
  {
    "path": "ohunt/Makefile",
    "content": "## makefile for ohunt\n\ninclude ../build/share.mk\n\nhelp:\n\t@echo run \\\"make help\\\" in root directory to get help\n\n.base:\n\tdocker build . \\\n\t\t-f dev.Dockerfile \\\n\t\t-t $(OHuntBaseTag) \\\n\t\t$(build-args)\n\nbuild:\n\tdocker build . \\\n\t\t-f OHunt.Web/Dockerfile \\\n\t\t-t $(OHuntTag) \\\n\t\t$(build-args)\n\ntest: .base\n\tdocker run --rm -t $(OHuntBaseTag) dotnet test\n\nrun: .base\n\tdocker run $(run-args) $(OHuntBaseTag) $(run-cmd)\n\nclean:\n\tdocker image rm $(OHuntTag) $(OHuntBaseTag); true\n\ntest-ci: .base\n\tdocker run --rm \\\n\t\t-v \"$(CURDIR)/OHunt.Tests/TestResults:/src/OHunt.Tests/TestResults\" \\\n\t\t$(OHuntBaseTag) \\\n\t\tdotnet test --collect:\"XPlat Code Coverage\" --filter \"Category!=WithNetwork\"\n\ndev-db: # start a new database to develop the project\n\tdocker run -it --rm -e MYSQL_DATABASE=ohunt -e MYSQL_ROOT_PASSWORD=123qwe -p 3306:3306 mysql:8.0\n"
  },
  {
    "path": "ohunt/OHunt.Tests/Crawlers/BnuMappingCrawlerTests.cs",
    "content": "using System;\nusing System.Threading.Tasks;\nusing FluentAssertions;\nusing OHunt.Web.Crawlers;\nusing OHunt.Web.Models;\nusing Xunit;\n\nnamespace OHunt.Tests.Crawlers\n{\n    public class BnuMappingCrawlerTests\n    {\n        [Fact]\n        public void It_ShouldReturnCorrectEnum()\n        {\n            new NitMappingCrawler()\n                .OnlineJudge\n                .Should().Be(MappingOnlineJudge.NIT);\n        }\n\n        [Fact]\n        [Trait(\"Category\", \"WithNetwork\")]\n        public async Task WhenRequestingVirtualJudge_ItShouldReturnOjAndLabel()\n        {\n            // arrange\n            var crawler = new BnuMappingCrawler();\n\n            // act\n            var res = await crawler.GetProblemLabel(32831);\n\n            // assert\n            res.Should().Be(\"HUST-1000\");\n        }\n\n        [Fact]\n        [Trait(\"Category\", \"WithNetwork\")]\n        public async Task WhenRequestingLocalJudge_ItShouldReturnNull()\n        {\n            // arrange\n            var crawler = new BnuMappingCrawler();\n\n            // act\n            var res = await crawler.GetProblemLabel(1001);\n\n            // assert\n            res.Should().BeNull();\n        }\n    }\n}\n"
  },
  {
    "path": "ohunt/OHunt.Tests/Crawlers/NitMappingCrawlerTests.cs",
    "content": "using System;\nusing System.Threading.Tasks;\nusing FluentAssertions;\nusing OHunt.Web.Crawlers;\nusing OHunt.Web.Models;\nusing Xunit;\n\nnamespace OHunt.Tests.Crawlers\n{\n    public class NitMappingCrawlerTests\n    {\n        [Fact]\n        public void It_ShouldReturnCorrectEnum()\n        {\n            new NitMappingCrawler()\n                .OnlineJudge\n                .Should().Be(MappingOnlineJudge.NIT);\n        }\n\n        [Fact]\n        [Trait(\"Category\", \"WithNetwork\")]\n        public async Task WhenRequestingVirtualJudge_ItShouldReturnOjAndLabel()\n        {\n            // arrange\n            var crawler = new NitMappingCrawler();\n\n            // act\n            var res = await crawler.GetProblemLabel(4229);\n\n            // assert\n            res.Should().Be(\"HDU-4355\");\n        }\n\n        [Fact]\n        [Trait(\"Category\", \"WithNetwork\")]\n        public async Task WhenRequestingLocalJudge_ItShouldReturnNull()\n        {\n            // arrange\n            var crawler = new NitMappingCrawler();\n\n            // act\n            var res = await crawler.GetProblemLabel(293);\n\n            // assert\n            res.Should().BeNull();\n        }\n    }\n}\n"
  },
  {
    "path": "ohunt/OHunt.Tests/Crawlers/UvaMappingCrawlersTests.cs",
    "content": "using System.Threading.Tasks;\nusing FluentAssertions;\nusing OHunt.Web.Crawlers;\nusing OHunt.Web.Models;\nusing Xunit;\n\nnamespace OHunt.Tests.Crawlers\n{\n    public class UvaMappingCrawlersTests\n    {\n        [Fact]\n        [Trait(\"Category\", \"WithNetwork\")]\n        public async Task Uva_ShouldWorkCorrectly()\n        {\n            // arrange\n            var crawler = new UvaMappingCrawler();\n\n            // act\n            var res = await crawler.GetProblemLabel(4141);\n\n            // assert\n            crawler.OnlineJudge.Should().Be(MappingOnlineJudge.UVA);\n            res.Should().Be(\"1395\");\n        }\n\n        [Fact]\n        [Trait(\"Category\", \"WithNetwork\")]\n        public async Task UvaLive_ShouldWorkCorrectly()\n        {\n            // arrange\n            var crawler = new UvaLiveMappingCrawler();\n\n            // act\n            var res = await crawler.GetProblemLabel(4141);\n\n            // assert\n            crawler.OnlineJudge.Should().Be(MappingOnlineJudge.UVALive);\n            res.Should().Be(\"6130\");\n        }\n    }\n}\n"
  },
  {
    "path": "ohunt/OHunt.Tests/Crawlers/ZojSubmissionCrawlerTests.cs",
    "content": "using System;\nusing System.Threading;\nusing System.Threading.Tasks;\nusing System.Threading.Tasks.Dataflow;\nusing FluentAssertions;\nusing Microsoft.Extensions.Logging;\nusing Moq;\nusing OHunt.Web.Crawlers;\nusing OHunt.Web.Models;\nusing Snapshooter.Xunit;\nusing Xunit;\n\nnamespace OHunt.Tests.Crawlers\n{\n    [Trait(\"Category\", \"WithNetwork\")]\n    public class ZojSubmissionCrawlerTests\n    {\n        private readonly ILogger<ZojSubmissionCrawler> _loggerMock =\n            Mock.Of<ILogger<ZojSubmissionCrawler>>();\n\n        [Fact]\n        public async Task It_ShouldGetCorrectResult()\n        {\n            var crawler = new ZojSubmissionCrawler(_loggerMock);\n\n            var messages\n                = new BufferBlock<CrawlerMessage>(new DataflowBlockOptions\n                {\n                    EnsureOrdered = true,\n                });\n\n#pragma warning disable 4014\n            crawler.WorkAsync(null, messages, new CancellationToken());\n#pragma warning restore 4014\n\n            const int bufferLength = 110;\n\n            var list = new Submission?[bufferLength];\n            for (var i = 0; i < bufferLength; i++)\n            {\n                var message = await messages.ReceiveAsync(TimeSpan.FromSeconds(30));\n                message.CrawlerError.Should().BeNull();\n                message.Checkpoint.Should().BeTrue();\n                list[i] = message.Submission;\n            }\n\n            Snapshot.Match(list);\n        }\n    }\n}\n"
  },
  {
    "path": "ohunt/OHunt.Tests/Crawlers/__snapshots__/ZojSubmissionCrawlerTests.It_ShouldGetCorrectResult.snap",
    "content": "﻿[\n  {\n    \"SubmissionId\": 91827364599,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"lily\",\n    \"Status\": \"Accepted\",\n    \"ProblemLabel\": \"1049\",\n    \"Time\": \"2005-09-13T13:53:37+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364598,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"timgreen\",\n    \"Status\": \"Accepted\",\n    \"ProblemLabel\": \"1001\",\n    \"Time\": \"2005-09-13T13:53:15+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364597,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"caojia321\",\n    \"Status\": \"Accepted\",\n    \"ProblemLabel\": \"1049\",\n    \"Time\": \"2005-09-13T13:53:08+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364596,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"lily\",\n    \"Status\": \"Accepted\",\n    \"ProblemLabel\": \"1048\",\n    \"Time\": \"2005-09-13T13:53:06+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364595,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"timgreen\",\n    \"Status\": \"CompileError\",\n    \"ProblemLabel\": \"1001\",\n    \"Time\": \"2005-09-13T13:52:47+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364594,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"caojia321\",\n    \"Status\": \"Accepted\",\n    \"ProblemLabel\": \"1048\",\n    \"Time\": \"2005-09-13T13:52:45+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364593,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"archenxu\",\n    \"Status\": \"UnknownError\",\n    \"ProblemLabel\": \"1538\",\n    \"Time\": \"2005-09-13T13:52:44+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364592,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"saltycookie\",\n    \"Status\": \"Accepted\",\n    \"ProblemLabel\": \"2215\",\n    \"Time\": \"2005-09-13T13:52:40+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364591,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"yanshan\",\n    \"Status\": \"Accepted\",\n    \"ProblemLabel\": \"1001\",\n    \"Time\": \"2005-09-13T13:52:38+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364590,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"lily\",\n    \"Status\": \"WrongAnswer\",\n    \"ProblemLabel\": \"1006\",\n    \"Time\": \"2005-09-13T13:52:32+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364589,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"lily\",\n    \"Status\": \"Accepted\",\n    \"ProblemLabel\": \"1001\",\n    \"Time\": \"2005-09-13T13:51:45+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364588,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"caojia321\",\n    \"Status\": \"Accepted\",\n    \"ProblemLabel\": \"1047\",\n    \"Time\": \"2005-09-13T13:51:33+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364587,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"caojia321\",\n    \"Status\": \"Accepted\",\n    \"ProblemLabel\": \"1045\",\n    \"Time\": \"2005-09-13T13:51:09+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364586,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"saltycookie\",\n    \"Status\": \"UnknownError\",\n    \"ProblemLabel\": \"2213\",\n    \"Time\": \"2005-09-13T13:50:49+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364585,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"caojia321\",\n    \"Status\": \"Accepted\",\n    \"ProblemLabel\": \"1042\",\n    \"Time\": \"2005-09-13T13:50:36+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364584,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"caojia321\",\n    \"Status\": \"Accepted\",\n    \"ProblemLabel\": \"1041\",\n    \"Time\": \"2005-09-13T13:50:16+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364583,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"caojia321\",\n    \"Status\": \"Accepted\",\n    \"ProblemLabel\": \"1037\",\n    \"Time\": \"2005-09-13T13:49:49+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364582,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"caopeng\",\n    \"Status\": \"WrongAnswer\",\n    \"ProblemLabel\": \"1006\",\n    \"Time\": \"2005-09-13T13:49:37+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364581,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"caojia321\",\n    \"Status\": \"Accepted\",\n    \"ProblemLabel\": \"1029\",\n    \"Time\": \"2005-09-13T13:49:19+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364580,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"saltycookie\",\n    \"Status\": \"Accepted\",\n    \"ProblemLabel\": \"2307\",\n    \"Time\": \"2005-09-13T13:49:13+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364579,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"caojia321\",\n    \"Status\": \"Accepted\",\n    \"ProblemLabel\": \"1027\",\n    \"Time\": \"2005-09-13T13:48:57+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364578,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"caojia321\",\n    \"Status\": \"Accepted\",\n    \"ProblemLabel\": \"1026\",\n    \"Time\": \"2005-09-13T13:48:29+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364577,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"DXDSpirits\",\n    \"Status\": \"Accepted\",\n    \"ProblemLabel\": \"2133\",\n    \"Time\": \"2005-09-13T13:48:24+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364576,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"saltycookie\",\n    \"Status\": \"Accepted\",\n    \"ProblemLabel\": \"2308\",\n    \"Time\": \"2005-09-13T13:48:11+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364575,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"DXDSpirits\",\n    \"Status\": \"WrongAnswer\",\n    \"ProblemLabel\": \"1023\",\n    \"Time\": \"2005-09-13T13:47:46+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364574,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"DXDSpirits\",\n    \"Status\": \"CompileError\",\n    \"ProblemLabel\": \"1562\",\n    \"Time\": \"2005-09-13T13:47:10+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364573,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"DXDSpirits\",\n    \"Status\": \"Accepted\",\n    \"ProblemLabel\": \"1020\",\n    \"Time\": \"2005-09-13T13:46:39+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364572,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"sothink\",\n    \"Status\": \"Accepted\",\n    \"ProblemLabel\": \"1001\",\n    \"Time\": \"2005-09-13T13:46:36+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364571,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"DXDSpirits\",\n    \"Status\": \"Accepted\",\n    \"ProblemLabel\": \"1008\",\n    \"Time\": \"2005-09-13T13:46:07+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364570,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"DXDSpirits\",\n    \"Status\": \"Accepted\",\n    \"ProblemLabel\": \"1010\",\n    \"Time\": \"2005-09-13T13:45:44+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364569,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"saltycookie\",\n    \"Status\": \"Accepted\",\n    \"ProblemLabel\": \"1001\",\n    \"Time\": \"2005-09-13T13:45:41+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364568,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"DXDSpirits\",\n    \"Status\": \"Accepted\",\n    \"ProblemLabel\": \"1011\",\n    \"Time\": \"2005-09-13T13:45:25+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364567,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"DXDSpirits\",\n    \"Status\": \"UnknownError\",\n    \"ProblemLabel\": \"1015\",\n    \"Time\": \"2005-09-13T13:44:45+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364566,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"DXDSpirits\",\n    \"Status\": \"CompileError\",\n    \"ProblemLabel\": \"1015\",\n    \"Time\": \"2005-09-13T13:43:58+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364565,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"DXDSpirits\",\n    \"Status\": \"CompileError\",\n    \"ProblemLabel\": \"1015\",\n    \"Time\": \"2005-09-13T13:43:25+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364564,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"DXDSpirits\",\n    \"Status\": \"WrongAnswer\",\n    \"ProblemLabel\": \"1015\",\n    \"Time\": \"2005-09-13T13:43:10+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364563,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"DXDSpirits\",\n    \"Status\": \"CompileError\",\n    \"ProblemLabel\": \"1015\",\n    \"Time\": \"2005-09-13T13:42:34+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364562,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"DXDSpirits\",\n    \"Status\": \"CompileError\",\n    \"ProblemLabel\": \"1015\",\n    \"Time\": \"2005-09-13T13:41:52+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364561,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"DXDSpirits\",\n    \"Status\": \"CompileError\",\n    \"ProblemLabel\": \"1014\",\n    \"Time\": \"2005-09-13T13:41:06+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364560,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"DXDSpirits\",\n    \"Status\": \"Accepted\",\n    \"ProblemLabel\": \"1013\",\n    \"Time\": \"2005-09-13T13:40:40+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364559,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"DXDSpirits\",\n    \"Status\": \"Accepted\",\n    \"ProblemLabel\": \"1003\",\n    \"Time\": \"2005-09-13T13:40:27+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364558,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"DXDSpirits\",\n    \"Status\": \"UnknownError\",\n    \"ProblemLabel\": \"1015\",\n    \"Time\": \"2005-09-13T13:38:56+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364557,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"DXDSpirits\",\n    \"Status\": \"UnknownError\",\n    \"ProblemLabel\": \"1015\",\n    \"Time\": \"2005-09-13T13:38:46+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364556,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"DXDSpirits\",\n    \"Status\": \"UnknownError\",\n    \"ProblemLabel\": \"1010\",\n    \"Time\": \"2005-09-13T13:38:20+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364555,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"DXDSpirits\",\n    \"Status\": \"UnknownError\",\n    \"ProblemLabel\": \"1010\",\n    \"Time\": \"2005-09-13T13:38:11+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364554,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"DXDSpirits\",\n    \"Status\": \"UnknownError\",\n    \"ProblemLabel\": \"1010\",\n    \"Time\": \"2005-09-13T13:37:59+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364553,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"DXDSpirits\",\n    \"Status\": \"Accepted\",\n    \"ProblemLabel\": \"1009\",\n    \"Time\": \"2005-09-13T13:37:35+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364552,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"DXDSpirits\",\n    \"Status\": \"Accepted\",\n    \"ProblemLabel\": \"1006\",\n    \"Time\": \"2005-09-13T13:37:18+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364551,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"DXDSpirits\",\n    \"Status\": \"Accepted\",\n    \"ProblemLabel\": \"1002\",\n    \"Time\": \"2005-09-13T13:37:02+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364550,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"DXDSpirits\",\n    \"Status\": \"Accepted\",\n    \"ProblemLabel\": \"1001\",\n    \"Time\": \"2005-09-13T13:36:42+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364549,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"DXDSpirits\",\n    \"Status\": \"CompileError\",\n    \"ProblemLabel\": \"1562\",\n    \"Time\": \"2005-09-13T13:35:49+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364548,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"leftleaf\",\n    \"Status\": \"Accepted\",\n    \"ProblemLabel\": \"1001\",\n    \"Time\": \"2005-09-13T13:33:20+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364547,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"caopeng\",\n    \"Status\": \"Accepted\",\n    \"ProblemLabel\": \"1007\",\n    \"Time\": \"2005-09-13T13:29:53+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364546,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"caopeng\",\n    \"Status\": \"Accepted\",\n    \"ProblemLabel\": \"1005\",\n    \"Time\": \"2005-09-13T13:29:14+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364545,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"caopeng\",\n    \"Status\": \"Accepted\",\n    \"ProblemLabel\": \"1004\",\n    \"Time\": \"2005-09-13T13:28:51+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364544,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"caopeng\",\n    \"Status\": \"Accepted\",\n    \"ProblemLabel\": \"1003\",\n    \"Time\": \"2005-09-13T13:28:31+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364543,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"caopeng\",\n    \"Status\": \"Accepted\",\n    \"ProblemLabel\": \"1002\",\n    \"Time\": \"2005-09-13T13:27:38+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364542,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"jyy\",\n    \"Status\": \"Accepted\",\n    \"ProblemLabel\": \"1001\",\n    \"Time\": \"2005-09-13T13:26:11+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364541,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"caopeng\",\n    \"Status\": \"Accepted\",\n    \"ProblemLabel\": \"1001\",\n    \"Time\": \"2005-09-13T13:25:09+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364540,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"yanshan\",\n    \"Status\": \"WrongAnswer\",\n    \"ProblemLabel\": \"1001\",\n    \"Time\": \"2005-09-13T13:23:34+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364539,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"caopeng\",\n    \"Status\": \"Accepted\",\n    \"ProblemLabel\": \"2263\",\n    \"Time\": \"2005-09-13T13:22:31+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364538,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"caopeng\",\n    \"Status\": \"WrongAnswer\",\n    \"ProblemLabel\": \"2293\",\n    \"Time\": \"2005-09-13T13:20:53+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364537,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"skatou\",\n    \"Status\": \"Accepted\",\n    \"ProblemLabel\": \"2399\",\n    \"Time\": \"2005-09-13T13:20:01+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364536,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"skatou\",\n    \"Status\": \"Accepted\",\n    \"ProblemLabel\": \"1001\",\n    \"Time\": \"2005-09-13T13:19:35+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364535,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"suninth\",\n    \"Status\": \"UnknownError\",\n    \"ProblemLabel\": \"1907\",\n    \"Time\": \"2005-09-13T13:19:22+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364534,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"gougou\",\n    \"Status\": \"Accepted\",\n    \"ProblemLabel\": \"1004\",\n    \"Time\": \"2005-09-13T13:18:55+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364533,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"suninth\",\n    \"Status\": \"CompileError\",\n    \"ProblemLabel\": \"1907\",\n    \"Time\": \"2005-09-13T13:18:32+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364532,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"lala\",\n    \"Status\": \"Accepted\",\n    \"ProblemLabel\": \"1004\",\n    \"Time\": \"2005-09-13T13:13:59+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364531,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"riveria\",\n    \"Status\": \"Accepted\",\n    \"ProblemLabel\": \"1004\",\n    \"Time\": \"2005-09-13T13:11:58+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364530,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"riveria\",\n    \"Status\": \"CompileError\",\n    \"ProblemLabel\": \"1004\",\n    \"Time\": \"2005-09-13T13:11:31+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364529,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"riveria\",\n    \"Status\": \"Accepted\",\n    \"ProblemLabel\": \"1003\",\n    \"Time\": \"2005-09-13T13:10:56+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364528,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"caojia321\",\n    \"Status\": \"WrongAnswer\",\n    \"ProblemLabel\": \"1026\",\n    \"Time\": \"2005-09-13T13:00:38+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364527,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"caojia321\",\n    \"Status\": \"Accepted\",\n    \"ProblemLabel\": \"1025\",\n    \"Time\": \"2005-09-13T13:00:16+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364526,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"MyheartFly\",\n    \"Status\": \"WrongAnswer\",\n    \"ProblemLabel\": \"1001\",\n    \"Time\": \"2005-09-13T12:59:49+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364525,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"caojia321\",\n    \"Status\": \"Accepted\",\n    \"ProblemLabel\": \"1016\",\n    \"Time\": \"2005-09-13T12:59:47+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364524,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"caojia321\",\n    \"Status\": \"Accepted\",\n    \"ProblemLabel\": \"1009\",\n    \"Time\": \"2005-09-13T12:59:16+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364523,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"caojia321\",\n    \"Status\": \"UnknownError\",\n    \"ProblemLabel\": \"1008\",\n    \"Time\": \"2005-09-13T12:58:44+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364522,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"caojia321\",\n    \"Status\": \"Accepted\",\n    \"ProblemLabel\": \"1007\",\n    \"Time\": \"2005-09-13T12:58:20+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364521,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"caojia321\",\n    \"Status\": \"Accepted\",\n    \"ProblemLabel\": \"1006\",\n    \"Time\": \"2005-09-13T12:58:02+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364520,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"caojia321\",\n    \"Status\": \"Accepted\",\n    \"ProblemLabel\": \"1005\",\n    \"Time\": \"2005-09-13T12:57:39+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364519,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"ylzhang\",\n    \"Status\": \"CompileError\",\n    \"ProblemLabel\": \"1001\",\n    \"Time\": \"2005-09-13T12:57:34+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364518,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"caojia321\",\n    \"Status\": \"Accepted\",\n    \"ProblemLabel\": \"1004\",\n    \"Time\": \"2005-09-13T12:57:17+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364517,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"caojia321\",\n    \"Status\": \"Accepted\",\n    \"ProblemLabel\": \"1003\",\n    \"Time\": \"2005-09-13T12:56:48+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364516,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"bluethinking\",\n    \"Status\": \"Accepted\",\n    \"ProblemLabel\": \"1001\",\n    \"Time\": \"2005-09-13T12:56:47+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364515,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"caojia321\",\n    \"Status\": \"Accepted\",\n    \"ProblemLabel\": \"1002\",\n    \"Time\": \"2005-09-13T12:56:19+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364514,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"caojia321\",\n    \"Status\": \"Accepted\",\n    \"ProblemLabel\": \"1001\",\n    \"Time\": \"2005-09-13T12:55:51+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364513,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"bluethinking\",\n    \"Status\": \"Accepted\",\n    \"ProblemLabel\": \"1001\",\n    \"Time\": \"2005-09-13T12:53:34+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364512,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"feng5166\",\n    \"Status\": \"Accepted\",\n    \"ProblemLabel\": \"1001\",\n    \"Time\": \"2005-09-13T12:46:45+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364511,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"wangzhipeng\",\n    \"Status\": \"Accepted\",\n    \"ProblemLabel\": \"1001\",\n    \"Time\": \"2005-09-13T12:46:24+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364510,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"riveria\",\n    \"Status\": \"Accepted\",\n    \"ProblemLabel\": \"1001\",\n    \"Time\": \"2005-09-13T12:46:06+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364509,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"riveria\",\n    \"Status\": \"UnknownError\",\n    \"ProblemLabel\": \"1001\",\n    \"Time\": \"2005-09-13T12:44:38+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364508,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"riveria\",\n    \"Status\": \"UnknownError\",\n    \"ProblemLabel\": \"1001\",\n    \"Time\": \"2005-09-12T12:53:00+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364507,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"hawk\",\n    \"Status\": \"Accepted\",\n    \"ProblemLabel\": \"1048\",\n    \"Time\": \"2005-09-17T13:38:56+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364506,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"rock\",\n    \"Status\": \"Accepted\",\n    \"ProblemLabel\": \"1001\",\n    \"Time\": \"2005-09-17T13:39:26+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364505,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"judas\",\n    \"Status\": \"WrongAnswer\",\n    \"ProblemLabel\": \"1489\",\n    \"Time\": \"2005-09-17T13:39:31+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364504,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"rock\",\n    \"Status\": \"Accepted\",\n    \"ProblemLabel\": \"1001\",\n    \"Time\": \"2005-09-17T13:39:37+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364503,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"xemo\",\n    \"Status\": \"Accepted\",\n    \"ProblemLabel\": \"1905\",\n    \"Time\": \"2005-09-17T13:41:20+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364502,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"lovekobe\",\n    \"Status\": \"CompileError\",\n    \"ProblemLabel\": \"1115\",\n    \"Time\": \"2005-09-17T13:42:17+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364501,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"xemo\",\n    \"Status\": \"Accepted\",\n    \"ProblemLabel\": \"1905\",\n    \"Time\": \"2005-09-17T13:43:11+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364500,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"lovekobe\",\n    \"Status\": \"CompileError\",\n    \"ProblemLabel\": \"1115\",\n    \"Time\": \"2005-09-17T13:45:40+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364699,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"lily\",\n    \"Status\": \"Accepted\",\n    \"ProblemLabel\": \"1365\",\n    \"Time\": \"2005-09-13T14:14:40+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364698,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"lily\",\n    \"Status\": \"Accepted\",\n    \"ProblemLabel\": \"2388\",\n    \"Time\": \"2005-09-13T14:14:01+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364697,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"lily\",\n    \"Status\": \"WrongAnswer\",\n    \"ProblemLabel\": \"2060\",\n    \"Time\": \"2005-09-13T14:13:24+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364696,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"caopeng\",\n    \"Status\": \"Accepted\",\n    \"ProblemLabel\": \"1037\",\n    \"Time\": \"2005-09-13T14:13:21+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364695,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"tinystar\",\n    \"Status\": \"Accepted\",\n    \"ProblemLabel\": \"1001\",\n    \"Time\": \"2005-09-13T14:13:06+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364694,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"andy\",\n    \"Status\": \"Accepted\",\n    \"ProblemLabel\": \"1196\",\n    \"Time\": \"2005-09-13T14:12:42+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364693,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"caopeng\",\n    \"Status\": \"Accepted\",\n    \"ProblemLabel\": \"1038\",\n    \"Time\": \"2005-09-13T14:12:32+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364692,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"lily\",\n    \"Status\": \"Accepted\",\n    \"ProblemLabel\": \"2104\",\n    \"Time\": \"2005-09-13T14:12:32+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364691,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"xingning001\",\n    \"Status\": \"Accepted\",\n    \"ProblemLabel\": \"1001\",\n    \"Time\": \"2005-09-13T14:12:17+10:00\"\n  },\n  {\n    \"SubmissionId\": 91827364690,\n    \"OnlineJudgeId\": \"ZOJ\",\n    \"UserName\": \"caopeng\",\n    \"Status\": \"Accepted\",\n    \"ProblemLabel\": \"1034\",\n    \"Time\": \"2005-09-13T14:12:11+10:00\"\n  }\n]\n"
  },
  {
    "path": "ohunt/OHunt.Tests/Dataflow/CrawlerPropagatorTests.cs",
    "content": "using System;\nusing System.Linq;\nusing System.Threading.Tasks;\nusing System.Threading.Tasks.Dataflow;\nusing FluentAssertions;\nusing OHunt.Web.Crawlers;\nusing OHunt.Web.Dataflow;\nusing OHunt.Web.Models;\nusing Xunit;\n\nnamespace OHunt.Tests.Dataflow\n{\n    public class CrawlerPropagatorTests\n    {\n        private readonly CrawlerPropagator _propagator;\n\n        private readonly BufferBlock<Submission> _submissionOutput;\n        private readonly BufferBlock<CrawlerError> _errorOutput;\n\n        public CrawlerPropagatorTests()\n        {\n            _submissionOutput = new BufferBlock<Submission>();\n            _errorOutput = new BufferBlock<CrawlerError>();\n\n            _propagator = new CrawlerPropagator(_submissionOutput, _errorOutput);\n        }\n\n        [Fact]\n        public async Task It_ShouldWork()\n        {\n            // Given a propagator\n\n            // When receiving data\n            await _propagator.SendAsync(new CrawlerMessage\n            {\n                Submission = new Submission\n                {\n                    Status = RunResult.Accepted,\n                    Time = new DateTime(2020, 4, 1, 0, 0, 0),\n                    ProblemLabel = \"1001\",\n                    SubmissionId = 42,\n                    UserName = \"user1\",\n                    OnlineJudgeId = OnlineJudge.ZOJ,\n                },\n                CrawlerError = new CrawlerError\n                {\n                    Crawler = \"zoj\",\n                    Data = null,\n                    Message = \"An error\",\n                    Time = new DateTime(2020, 4, 1, 1, 0, 0),\n                },\n            });\n\n            // Then they are cached\n            await Utils.WaitSecond();\n            _submissionOutput.Count.Should().Be(0);\n            _errorOutput.Count.Should().Be(0);\n\n            // When a checkpoint is sent\n            await _propagator.SendAsync(new CrawlerMessage { Checkpoint = true });\n\n            // Then data are dispatched\n            await Utils.WaitSecond();\n            _submissionOutput.Count.Should().Be(1);\n            _errorOutput.Count.Should().Be(1);\n        }\n\n        [Fact]\n        public async Task WhenReceivingRollback_ItShouldRollbackToLastCheckpoint()\n        {\n            // arrange\n            await _propagator.SendAsync(new CrawlerMessage\n            {\n                Submission = new Submission\n                {\n                    SubmissionId = 1,\n                },\n                Checkpoint = true,\n            });\n\n            await _propagator.SendAsync(new CrawlerMessage\n            {\n                Submission = new Submission\n                {\n                    SubmissionId = 2,\n                },\n            });\n\n            // act\n            await _propagator.SendAsync(new CrawlerMessage\n            {\n                Submission = new Submission\n                {\n                    SubmissionId = 3,\n                },\n                Rollback = true,\n            });\n\n            await _propagator.SendAsync(new CrawlerMessage\n            {\n                Submission = new Submission\n            {\n                    SubmissionId = 4,\n                },\n                Checkpoint = true,\n            });\n\n            _propagator.Complete();\n            await _propagator.Completion;\n\n            // assert\n            _submissionOutput.TryReceiveAll(out var res)\n                .Should().BeTrue();\n            res.Select(item => item.SubmissionId)\n                .Should()\n                .Equal(1, 4);\n        }\n\n        [Fact]\n        public async Task WhenPropagatorCompletes_OutputsShouldBeCompleted()\n        {\n            // arrange\n            await _propagator.SendAsync(new CrawlerMessage\n            {\n                Submission = new Submission\n                {\n                    SubmissionId = 1,\n                },\n                Checkpoint = true,\n            });\n\n            // act\n            _propagator.Complete();\n\n            // assert\n            await _errorOutput.Completion;\n            _submissionOutput.TryReceive(out var item)\n                .Should().BeTrue();\n            item.SubmissionId.Should().Be(1);\n            await _submissionOutput.Completion;\n        }\n\n        [Fact]\n        public async Task WhenPropagatorFault_OutputShouldFault()\n        {\n            // act\n            _propagator.Fault(new Exception(\"An error\"));\n\n            // assert\n            (await _errorOutput.Completion\n                    .ShouldResult().ThrowAsync<AggregateException>())\n                .WithInnerException<Exception>()\n                .WithMessage(\"An error\");\n            (await _submissionOutput.Completion\n                    .ShouldResult().ThrowAsync<AggregateException>())\n                .WithInnerException<Exception>()\n                .WithMessage(\"An error\");\n        }\n    }\n}\n"
  },
  {
    "path": "ohunt/OHunt.Tests/Dataflow/DatabaseInserterTests.cs",
    "content": "using System;\nusing System.Linq;\nusing System.Threading.Tasks;\nusing System.Threading.Tasks.Dataflow;\nusing FluentAssertions;\nusing Microsoft.AspNetCore.Hosting;\nusing Microsoft.Extensions.DependencyInjection;\nusing OHunt.Tests.Dependency;\nusing OHunt.Web;\nusing OHunt.Web.Dataflow;\nusing OHunt.Web.Models;\nusing OHunt.Web.Options;\nusing Xunit;\nusing Xunit.Abstractions;\n\nnamespace OHunt.Tests.Dataflow\n{\n    public class DatabaseInserterTests : OHuntTestBase\n    {\n        public DatabaseInserterTests(TestWebApplicationFactory<Startup> factory, ITestOutputHelper outputHelper) : base(\n            factory, outputHelper)\n        {\n            _inserter = Factory.Services\n                .GetService<DatabaseInserterFactory>()\n                .CreateInstance<Submission>();\n        }\n\n        private readonly DatabaseInserter<Submission> _inserter;\n\n        protected override void ConfigureWebHost(IWebHostBuilder builder)\n        {\n            builder.ConfigureServices(services =>\n            {\n                services.Configure<DatabaseInserterOptions>(opts => { opts.DefaultBufferSize = 10; });\n            });\n        }\n\n        [Fact]\n        public async Task WhenPipelineComplete_ItShouldInsertRecords()\n        {\n            // arrange\n            var submission = new Submission\n            {\n                Status = RunResult.Accepted,\n                Time = new DateTime(2020, 4, 1),\n                ProblemLabel = \"1001\",\n                UserName = \"user1\",\n                OnlineJudgeId = OnlineJudge.ZOJ,\n                SubmissionId = 1000000,\n            };\n\n            // act\n            await _inserter.SendAsync(DatabaseInserterMessage<Submission>\n                .OfEntity(submission));\n            _inserter.Complete();\n            await _inserter.Completion;\n\n            // assert\n            WithDb(ctx =>\n            {\n                ctx.Submission.Count().Should().Be(1);\n                ctx.Submission.Single().Should().BeEquivalentTo(submission);\n            });\n        }\n\n        [Fact]\n        public async Task WhenEnoughRecordsSent_ItShouldInsertRecords()\n        {\n            // act\n            for (int i = 0; i < 15; i++)\n            {\n                await _inserter.SendAsync(DatabaseInserterMessage<Submission>\n                    .OfEntity(new Submission\n                        {\n                            Status = RunResult.Accepted,\n                            Time = new DateTime(2020, 4, 1),\n                            ProblemLabel = \"1001\",\n                            UserName = \"user1\",\n                            OnlineJudgeId = OnlineJudge.ZOJ,\n                            SubmissionId = 1 + i,\n                        }\n                    ));\n            }\n\n            await Utils.WaitSecond();\n\n            // assert\n            WithDb(ctx =>\n            {\n                ctx.Submission.Count().Should().Be(10);\n                ctx.Submission.Select(e => e.SubmissionId)\n                    .Should()\n                    .Equal(Enumerable.Range(1, 10).Select(i => (long) i));\n            });\n        }\n\n        [Fact]\n        public async Task WhenForceInsertIsTrue_ItShouldInsertRecords()\n        {\n            // arrange\n            var submission = new Submission\n            {\n                Status = RunResult.Accepted,\n                Time = new DateTime(2020, 4, 1),\n                ProblemLabel = \"1001\",\n                UserName = \"user1\",\n                OnlineJudgeId = OnlineJudge.ZOJ,\n                SubmissionId = 1000000,\n            };\n\n            // act\n            await _inserter.SendAsync(DatabaseInserterMessage<Submission>\n                .OfEntity(submission, true));\n\n            // wait for ActionBlock executing\n            await Utils.WaitSecond();\n\n            // assert\n            WithDb(ctx => { ctx.Submission.Count().Should().Be(1); });\n        }\n\n        [Fact]\n        public async Task WhenRequestingComplete_ItShouldInsertAllDataBeforeCompletion()\n        {\n            // arrange\n            var submission = new Submission\n            {\n                Status = RunResult.Accepted,\n                Time = new DateTime(2020, 4, 1),\n                ProblemLabel = \"1001\",\n                UserName = \"user1\",\n                OnlineJudgeId = OnlineJudge.ZOJ,\n                SubmissionId = 1000000,\n            };\n            await _inserter.SendAsync(DatabaseInserterMessage<Submission>\n                .OfEntity(submission));\n\n            // act\n            _inserter.Complete();\n\n            // assert\n            await _inserter.Completion;\n            WithDb(context => { context.Submission.Should().HaveCount(1); });\n        }\n    }\n}\n"
  },
  {
    "path": "ohunt/OHunt.Tests/Dataflow/SubmissionCrawlerCoordinatorTests.cs",
    "content": "using System;\nusing System.Linq;\nusing System.Threading;\nusing System.Threading.Tasks;\nusing System.Threading.Tasks.Dataflow;\nusing FluentAssertions;\nusing Microsoft.Extensions.DependencyInjection;\nusing OHunt.Tests.Dependency;\nusing OHunt.Web;\nusing OHunt.Web.Crawlers;\nusing OHunt.Web.Dataflow;\nusing OHunt.Web.Models;\nusing Xunit;\nusing Xunit.Abstractions;\n\nnamespace OHunt.Tests.Dataflow\n{\n    public class SubmissionCrawlerCoordinatorTests : OHuntTestBase, IDisposable\n    {\n        private readonly SubmissionCrawlerCoordinator _coordinator;\n        private readonly CrawlerMock _crawlerMock;\n\n        public SubmissionCrawlerCoordinatorTests(\n            TestWebApplicationFactory<Startup> factory,\n            ITestOutputHelper outputHelper) : base(factory, outputHelper)\n        {\n            _coordinator = Factory.Services.GetService<SubmissionCrawlerCoordinator>();\n            _crawlerMock = new CrawlerMock();\n        }\n\n        private static Submission CreateSubmission(long id)\n        {\n            return new()\n            {\n                Status = RunResult.Accepted,\n                Time = new DateTime(2020, 4, 1),\n                ProblemLabel = \"1001\",\n                UserName = \"user1\",\n                OnlineJudgeId = OnlineJudge.ZOJ,\n                SubmissionId = id,\n            };\n        }\n\n        [Fact]\n        public async Task It_ShouldWork()\n        {\n            // Given a coordinator\n\n            // When it is initialized\n            _coordinator.Initialize(new[] { _crawlerMock });\n\n            // But crawler does not immediately work\n            _crawlerMock.CalledCount.Should().Be(0);\n\n            // When calling StartAllCrawlers\n            await _coordinator.StartAllCrawlers();\n\n            // Then crawler's WorkAsync is called\n            _crawlerMock.CalledCount.Should().Be(1);\n\n            // And there is nothing in the database\n            WithDb(context =>\n            {\n                context.Submission.Should().BeEmpty();\n                context.CrawlerErrors.Should().BeEmpty();\n            });\n\n            // And lastSubmissionId sent to crawler should be null\n            _crawlerMock.LastSubmissionId.Should().BeNull();\n\n            // When crawler sends data\n            await _crawlerMock.Pipeline.SendAsync(new CrawlerMessage\n            {\n                Submission = new Submission\n                {\n                    Status = RunResult.Accepted,\n                    Time = new DateTime(2020, 4, 1, 0, 0, 0),\n                    ProblemLabel = \"1001\",\n                    SubmissionId = 42,\n                    UserName = \"user1\",\n                    OnlineJudgeId = OnlineJudge.ZOJ,\n                },\n            });\n            await _crawlerMock.Pipeline.SendAsync(new CrawlerMessage\n            {\n                CrawlerError = new CrawlerError\n                {\n                    Crawler = \"zoj\",\n                    Data = null,\n                    Message = \"An error\",\n                    Time = new DateTime(2020, 4, 1, 1, 0, 0),\n                },\n            });\n            await Utils.WaitSecond();\n\n            // But data are not saved to database immediately\n            WithDb(context =>\n            {\n                context.Submission.Should().BeEmpty();\n                context.CrawlerErrors.Should().BeEmpty();\n            });\n\n            // When crawler sends a checkpoint\n            await _crawlerMock.Pipeline.SendAsync(new CrawlerMessage\n            {\n                Checkpoint = true,\n            });\n            await Utils.WaitSecond();\n\n            // But data are not saved to database immediately\n            WithDb(context =>\n            {\n                context.Submission.Should().BeEmpty();\n                context.CrawlerErrors.Should().BeEmpty();\n            });\n\n            // When crawler finished\n            _crawlerMock.TaskSource.SetResult(1);\n            // wait longer to insert database\n            await Utils.WaitSecond();\n\n            // Then data are saved to database\n            WithDb(context =>\n            {\n                context.Submission.Should().HaveCount(1);\n                context.Submission.Should().AllBeEquivalentTo(new Submission\n                {\n                    Status = RunResult.Accepted,\n                    Time = new DateTime(2020, 4, 1, 0, 0, 0),\n                    ProblemLabel = \"1001\",\n                    SubmissionId = 42,\n                    UserName = \"user1\",\n                    OnlineJudgeId = OnlineJudge.ZOJ,\n                });\n\n                context.CrawlerErrors.Should().HaveCount(1);\n                context.CrawlerErrors.Single().Invoking(it =>\n                {\n                    it.Crawler.Should().Be(\"zoj\");\n                    it.Data.Should().BeNull();\n                    it.Message.Should().Be(\"An error\");\n                    it.Time.Should().Be(new DateTime(2020, 4, 1, 1, 0, 0));\n                    it.Id.Should().NotBe(0);\n                });\n            });\n\n            // When cancelling a coordinator, it should not throw\n            await _coordinator.Cancel();\n        }\n\n        [Fact]\n        public async Task WhenSendingOver1000Entities_TheyShouldBeInsertedToDatabase()\n        {\n            // arrange\n            _coordinator.Initialize(new[] { _crawlerMock });\n            await _coordinator.StartAllCrawlers();\n\n            // act\n            for (int i = 0; i < 11; i++)\n            {\n                for (int j = 0; j < 10; j++)\n                {\n                    await SendToPipeline(new CrawlerMessage\n                    {\n                        CrawlerError = new CrawlerError\n                        {\n                            Crawler = \"zoj\",\n                            Data = null,\n                            Message = \"message\",\n                            Time = new DateTime(2020, 4, 1, 0, 0, 0),\n                        }\n                    });\n                }\n\n                await SendToPipeline(new CrawlerMessage\n                {\n                    Checkpoint = true,\n                });\n            }\n\n            await Utils.WaitSecond();\n\n            // assert\n            WithDb(context => { context.CrawlerErrors.Should().HaveCount(100); });\n        }\n\n        [Fact]\n        public void WhenInitializeTwice_ItShouldThrow()\n        {\n            _coordinator.Initialize(new ISubmissionCrawler[0]);\n            FluentActions.Invoking(() => _coordinator.Initialize(new ISubmissionCrawler[0]))\n                .Should().ThrowExactly<InvalidOperationException>();\n        }\n\n        [Fact]\n        public void WhenNotInitialized_ItShouldThrow()\n        {\n            FluentActions.Invoking(() => _coordinator.StartAllCrawlers())\n                .Should().ThrowExactlyAsync<InvalidOperationException>();\n            FluentActions.Invoking(() => _coordinator.Cancel())\n                .Should().ThrowExactlyAsync<InvalidOperationException>();\n        }\n\n        [Fact]\n        public async Task WhenCrawlerThrows()\n        {\n            // Given an initialized coordinator\n            _coordinator.Initialize(new[] { _crawlerMock });\n            await _coordinator.StartAllCrawlers();\n\n            // And some data\n            _crawlerMock.CalledCount.Should().Be(1);\n            await SendToPipeline(new CrawlerMessage\n            {\n                Submission = CreateSubmission(1),\n                Checkpoint = true,\n            });\n            await SendToPipeline(new CrawlerMessage\n            {\n                Submission = CreateSubmission(2),\n            });\n\n            // When crawler throws\n            _crawlerMock.TaskSource.SetException(new Exception(\"Crawler throws\"));\n\n            // Then coordinator should complete (allow processing to settle)\n            await Utils.WaitSecond();\n\n            // And data before checkpoint should be saved\n            WithDb(context =>\n            {\n                context.Submission.Should().HaveCount(1);\n                context.Submission.Single().Should()\n                    .Match(it => it.As<Submission>().SubmissionId == 1);\n            });\n\n            // When start coordinator again\n            await _coordinator.StartAllCrawlers();\n\n            // And send some data\n            _crawlerMock.CalledCount.Should().Be(2);\n            await SendToPipeline(new CrawlerMessage\n            {\n                Submission = CreateSubmission(3),\n                Checkpoint = true,\n            });\n\n            // And complete crawler\n            _crawlerMock.TaskSource.SetResult(1);\n\n            // Then data should be saved\n            await Utils.WaitSecond();\n            WithDb(context =>\n            {\n                context.Submission.Should().HaveCount(2);\n                context.Submission.Select(it => it.SubmissionId)\n                    .Should().Equal(1, 3);\n            });\n        }\n\n        [Fact]\n        public async Task AfterFinished_WhenStartAgain_ItShouldResume()\n        {\n            // arrange\n            _coordinator.Initialize(new[] { _crawlerMock });\n            await _coordinator.StartAllCrawlers();\n            await SendToPipeline(new CrawlerMessage\n            {\n                Submission = CreateSubmission(1),\n                Checkpoint = true,\n            });\n            _crawlerMock.TaskSource.SetResult(1);\n            await Utils.WaitSecond();\n\n            // act\n            await _coordinator.StartAllCrawlers();\n            _crawlerMock.CalledCount.Should().Be(2);\n            await SendToPipeline(new CrawlerMessage\n            {\n                Submission = CreateSubmission(2),\n                Checkpoint = true,\n            });\n            _crawlerMock.TaskSource.SetResult(1);\n            await Utils.WaitSecond();\n\n            // assert\n            WithDb(context =>\n            {\n                context.Submission.Should().HaveCount(2);\n                context.Submission.Select(it => it.SubmissionId)\n                    .Should().Equal(1, 2);\n            });\n        }\n\n        [Fact]\n        public async Task WhenCancelled()\n        {\n            // Given an initialized coordinator\n            _coordinator.Initialize(new[] { _crawlerMock });\n            await _coordinator.StartAllCrawlers();\n\n            // And some data\n            await SendToPipeline(new CrawlerMessage\n            {\n                Submission = CreateSubmission(1),\n                Checkpoint = true,\n            });\n            await SendToPipeline(new CrawlerMessage\n            {\n                Submission = CreateSubmission(2),\n            });\n\n            // When calling coordinator.cancel\n            var cancelTask = _coordinator.Cancel();\n\n            // Then crawler should receive cancel\n            _crawlerMock.CancellationToken.IsCancellationRequested.Should().BeTrue();\n\n            // And cancelling task is still not completed\n            cancelTask.IsCompleted.Should().BeFalse();\n\n            // And crawler can still sending data until exit\n            await SendToPipeline(new CrawlerMessage\n            {\n                Submission = CreateSubmission(3),\n                Checkpoint = true,\n            });\n            await SendToPipeline(new CrawlerMessage\n            {\n                Submission = CreateSubmission(4),\n            });\n\n            // When crawler is exited\n            _crawlerMock.TaskSource.SetCanceled();\n\n            // Then cancel task is completed\n            await cancelTask;\n\n            // And data before checkpoint is saved to database without needing to wait\n            WithDb(context =>\n            {\n                context.Submission.Should().HaveCount(3);\n                context.Submission.Select(it => it.SubmissionId)\n                    .Should().Equal(1, 2, 3);\n            });\n\n            // When start crawlers without initializing, it should throw\n            await _coordinator.StartAllCrawlers()\n                .ShouldResult().ThrowAsync<InvalidOperationException>();\n\n            // When restarting crawlers\n            _coordinator.Initialize(new[] { _crawlerMock });\n            await _coordinator.StartAllCrawlers();\n            await Utils.WaitSecond();\n            _crawlerMock.CalledCount.Should().Be(2);\n\n            // And send some data and finish the crawler\n            await SendToPipeline(new CrawlerMessage\n            {\n                Checkpoint = true,\n                Submission = CreateSubmission(5),\n            });\n            _crawlerMock.TaskSource.SetResult(1);\n            await Utils.WaitSecond();\n\n            // Then data after checkpoint of previous run are discarded\n            WithDb(context =>\n            {\n                context.Submission.Should().HaveCount(4);\n                context.Submission.Select(it => it.SubmissionId)\n                    .Should().Equal(1, 2, 3, 5);\n            });\n        }\n\n        [Fact]\n        public async Task WhenCancellingANotRunningCoordinator_ItShouldDoNothing()\n        {\n            // arrange\n            _coordinator.Initialize(new[] { _crawlerMock });\n\n            // act\n            await _coordinator.Cancel();\n\n            // assert\n            _coordinator.Initialize(new[] { _crawlerMock });\n            await _coordinator.StartAllCrawlers();\n\n            _crawlerMock.CalledCount.Should().Be(1);\n            await SendToPipeline(new CrawlerMessage\n            {\n                Submission = CreateSubmission(1),\n                Checkpoint = true,\n            });\n\n            _crawlerMock.TaskSource.SetResult(1);\n\n            await Utils.WaitSecond();\n\n            WithDb(context =>\n            {\n                context.Submission.Should().HaveCount(1);\n                context.Submission.Select(it => it.SubmissionId)\n                    .Should().Equal(1);\n            });\n        }\n\n        [Fact]\n        public async Task WhenCrawlerCompleteSuccessfully_ItShouldAutomaticallySendACheckpoint()\n        {\n            // arrange\n            _coordinator.Initialize(new[] { _crawlerMock });\n            await _coordinator.StartAllCrawlers();\n            await SendToPipeline(new CrawlerMessage\n            {\n                Submission = CreateSubmission(1),\n            });\n\n            // act\n            _crawlerMock.TaskSource.SetResult(1);\n\n            await Utils.WaitSecond();\n\n            // assert\n            WithDb(context =>\n            {\n                context.Submission.Should().HaveCount(1);\n                context.Submission.Single().SubmissionId.Should().Be(1);\n            });\n        }\n\n        [Fact]\n        public async Task WhenStartingCrawlerBeforePreviousFinish_ItShouldDoNothing()\n        {\n            // arrange\n            _coordinator.Initialize(new[] { _crawlerMock });\n            await _coordinator.StartAllCrawlers();\n\n            // act\n            await Utils.WaitSecond();\n            await _coordinator.StartAllCrawlers();\n\n            // assert\n            await Utils.WaitSecond();\n            _crawlerMock.CalledCount.Should().Be(1);\n        }\n\n        [Fact]\n        public async Task WhenCancellingCrawler_ItShouldWaitForCrawlerFinishing_AndWaitForDataInserting()\n        {\n            // arrange\n            _coordinator.Initialize(new[] { _crawlerMock });\n            await _coordinator.StartAllCrawlers();\n            await SendToPipeline(new CrawlerMessage\n            {\n                Submission = CreateSubmission(1),\n                Checkpoint = true,\n            });\n\n            // act\n            var allCancel = _coordinator.Cancel();\n            _crawlerMock.CancellationToken.IsCancellationRequested.Should().BeTrue();\n            _crawlerMock.TaskSource.SetCanceled();\n            await allCancel;\n\n            // assert\n            WithDb(context => { context.Submission.Should().HaveCount(1); });\n        }\n\n        private Task SendToPipeline(CrawlerMessage message)\n        {\n            return _crawlerMock.Pipeline.SendAsync(message);\n        }\n\n        private class CrawlerMock : ISubmissionCrawler\n        {\n            public TaskCompletionSource<int> TaskSource { get; set; } = null!;\n\n            public long? LastSubmissionId { get; set; }\n            public ITargetBlock<CrawlerMessage> Pipeline { get; set; } = null!;\n            public CancellationToken CancellationToken { get; set; }\n\n            public int CalledCount { get; private set; } = 0;\n\n            public OnlineJudge OnlineJudge => OnlineJudge.ZOJ;\n\n            public Task WorkAsync(\n                long? lastSubmissionId,\n                ITargetBlock<CrawlerMessage> pipeline,\n                CancellationToken cancellationToken)\n            {\n                LastSubmissionId = lastSubmissionId;\n                Pipeline = pipeline;\n                CancellationToken = cancellationToken;\n\n                ++CalledCount;\n\n                TaskSource = new TaskCompletionSource<int>();\n                return TaskSource.Task;\n            }\n        }\n\n        public void Dispose()\n        {\n            _coordinator?.Dispose();\n        }\n    }\n}\n"
  },
  {
    "path": "ohunt/OHunt.Tests/Dependency/NullDbBuilder.cs",
    "content": "using Microsoft.AspNetCore.Builder;\nusing OHunt.Web.Database;\n\nnamespace OHunt.Tests.Dependency\n{\n    public class NullDbBuilder : IDbBuilder\n    {\n        public void BuildDatabase(IApplicationBuilder app)\n        {\n            // pass\n        }\n    }\n}\n"
  },
  {
    "path": "ohunt/OHunt.Tests/Dependency/OHuntTestBase.cs",
    "content": "using System;\nusing System.Net.Http;\nusing System.Threading.Tasks;\nusing Microsoft.AspNetCore.Hosting;\nusing Microsoft.AspNetCore.Mvc.Testing;\nusing Microsoft.Extensions.DependencyInjection;\nusing Newtonsoft.Json;\nusing OHunt.Web;\nusing OHunt.Web.Database;\nusing Xunit;\nusing Xunit.Abstractions;\n\nnamespace OHunt.Tests.Dependency\n{\n    public abstract class OHuntTestBase\n        : IClassFixture<TestWebApplicationFactory<Startup>>\n    {\n        protected readonly WebApplicationFactory<Startup> Factory;\n\n        protected OHuntTestBase(\n            TestWebApplicationFactory<Startup> factory,\n            ITestOutputHelper outputHelper)\n        {\n            Factory = factory.WithWebHostBuilder(ConfigureWebHost);\n            factory.Output = outputHelper;\n        }\n\n        protected virtual void ConfigureWebHost(IWebHostBuilder builder)\n        {\n        }\n\n        protected T WithDb<T>(Func<OHuntDbContext, T> func)\n        {\n            using var serviceScope = Factory.Services\n                .CreateScope();\n            using var context = serviceScope.ServiceProvider\n                .GetService<OHuntDbContext>();\n            return func(context);\n        }\n\n        protected void WithDb(Action<OHuntDbContext> func)\n        {\n            using var serviceScope = Factory.Services\n                .CreateScope();\n            using var context = serviceScope.ServiceProvider\n                .GetService<OHuntDbContext>();\n            func(context);\n        }\n\n        protected async Task<T> ResponseJson<T>(HttpResponseMessage message)\n        {\n            return JsonConvert.DeserializeObject<T>(await message.Content.ReadAsStringAsync());\n        }\n    }\n}\n"
  },
  {
    "path": "ohunt/OHunt.Tests/Dependency/TestWebApplicationFactory.cs",
    "content": "using System;\nusing System.Linq;\nusing Microsoft.AspNetCore.Hosting;\nusing Microsoft.AspNetCore.Mvc.Testing;\nusing Microsoft.EntityFrameworkCore;\nusing Microsoft.Extensions.DependencyInjection;\nusing Microsoft.Extensions.Logging;\nusing OHunt.Web.Database;\nusing OHunt.Web.Services;\nusing Xunit.Abstractions;\n\nnamespace OHunt.Tests.Dependency\n{\n    public class TestWebApplicationFactory<TStartup>\n        : WebApplicationFactory<TStartup> where TStartup : class\n    {\n        // Must be set in each test\n        public ITestOutputHelper Output { get; set; } = null!;\n\n        protected override IWebHostBuilder CreateWebHostBuilder()\n        {\n            var builder = base.CreateWebHostBuilder();\n            builder.ConfigureLogging(logging =>\n            {\n                logging.ClearProviders(); // Remove other loggers\n                logging.AddXUnit(Output); // Use the ITestOutputHelper instance\n            });\n\n            return builder;\n        }\n\n        protected override void ConfigureWebHost(IWebHostBuilder builder)\n        {\n            builder.ConfigureServices(services =>\n            {\n                // Remove the app's db context registration.\n                var descriptor = services.SingleOrDefault(\n                    d => d.ServiceType ==\n                         typeof(DbContextOptions<OHuntDbContext>));\n\n                if (descriptor != null)\n                {\n                    services.Remove(descriptor);\n                }\n\n                // Add db context using an in-memory database for testing.\n                services.AddDbContext<OHuntDbContext>(\n                    options =>\n                    {\n                        // use a new database each test\n                        options.UseInMemoryDatabase(Guid.NewGuid().ToString());\n                    }, ServiceLifetime.Scoped,\n                    ServiceLifetime.Singleton);\n\n                // remove ScheduleCrawlerService\n                var service = services.SingleOrDefault(\n                    d => d.ServiceType ==\n                         typeof(ScheduleCrawlerService));\n\n                if (service != null)\n                {\n                    services.Remove(service);\n                }\n\n                // replace database builder\n                services.AddSingleton<IDbBuilder, NullDbBuilder>();\n\n                // Build the service provider.\n                var sp = services.BuildServiceProvider();\n                SeedDatabase(sp);\n            });\n        }\n\n        private static void SeedDatabase(IServiceProvider sp)\n        {\n            using var scope = sp.CreateScope();\n            var scopedServices = scope.ServiceProvider;\n            var db = scopedServices.GetRequiredService<OHuntDbContext>();\n            var logger = scopedServices\n                .GetRequiredService<ILogger<TestWebApplicationFactory<TStartup>>>();\n\n            // Ensure the database is created.\n            db.Database.EnsureCreated();\n\n            try\n            {\n                // Seed the database with test data.\n                // Utilities.InitializeDbForTests(db);\n            }\n            catch (Exception ex)\n            {\n                logger.LogError(ex, \"An error occurred seeding the \" +\n                                    \"database with test messages. Error: {Message}\", ex.Message);\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "ohunt/OHunt.Tests/OHunt.Tests.csproj",
    "content": "<Project Sdk=\"Microsoft.NET.Sdk\">\n\n    <PropertyGroup>\n        <TargetFramework>net8.0</TargetFramework>\n        <IsPackable>false</IsPackable>\n        <Nullable>enable</Nullable>\n\n    </PropertyGroup>\n\n    <ItemGroup>\n        <PackageReference Include=\"MartinCostello.Logging.XUnit\" Version=\"0.7.0\" />\n        <PackageReference Include=\"Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore\" Version=\"8.0.24\" />\n        <PackageReference Include=\"Microsoft.AspNetCore.Identity.EntityFrameworkCore\" Version=\"8.0.24\" />\n        <PackageReference Include=\"Microsoft.AspNetCore.Mvc.Testing\" Version=\"8.0.24\" />\n        <PackageReference Include=\"Microsoft.EntityFrameworkCore\" Version=\"8.0.24\" />\n        <PackageReference Include=\"Microsoft.EntityFrameworkCore.InMemory\" Version=\"8.0.24\" />\n        <PackageReference Include=\"Microsoft.EntityFrameworkCore.Tools\" Version=\"8.0.24\">\n          <PrivateAssets>all</PrivateAssets>\n          <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>\n        </PackageReference>\n        <PackageReference Include=\"Microsoft.Extensions.Logging.Abstractions\" Version=\"8.0.3\" />\n        <PackageReference Include=\"FluentAssertions\" Version=\"8.8.0\" />\n        <PackageReference Include=\"Microsoft.NET.Test.Sdk\" Version=\"17.14.1\" />\n        <PackageReference Include=\"Moq\" Version=\"4.20.72\" />\n        <PackageReference Include=\"Snapshooter.Xunit\" Version=\"1.1.0\" />\n        <PackageReference Include=\"xunit\" Version=\"2.9.3\" />\n        <PackageReference Include=\"xunit.runner.visualstudio\" Version=\"3.1.5\">\n            <PrivateAssets>all</PrivateAssets>\n            <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>\n        </PackageReference>\n        <PackageReference Include=\"coverlet.collector\" Version=\"6.0.4\">\n            <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>\n            <PrivateAssets>all</PrivateAssets>\n        </PackageReference>\n    </ItemGroup>\n\n    <ItemGroup>\n        <ProjectReference Include=\"..\\OHunt.Web\\OHunt.Web.csproj\" />\n    </ItemGroup>\n\n</Project>\n"
  },
  {
    "path": "ohunt/OHunt.Tests/Services/ProblemLabelManagerTests.cs",
    "content": "using System.Linq;\nusing System.Threading.Tasks;\nusing FluentAssertions;\nusing Flurl.Http.Testing;\nusing Microsoft.Extensions.DependencyInjection;\nusing OHunt.Tests.Dependency;\nusing OHunt.Web;\nusing OHunt.Web.Models;\nusing OHunt.Web.Services;\nusing Xunit;\nusing Xunit.Abstractions;\n\nnamespace OHunt.Tests.Services\n{\n    public class ProblemLabelManagerTests : OHuntTestBase\n    {\n        [Fact]\n        public async Task WhenTheRecordIsInDatabase_ItShouldReadFromDatabase()\n        {\n            // arrange\n            using var httpTest = new HttpTest();\n            WithDb(context =>\n            {\n                context.ProblemLabelMappings.Add(new ProblemLabelMapping\n                {\n                    ProblemId = 1,\n                    OnlineJudgeId = MappingOnlineJudge.UVA,\n                    ProblemLabel = \"1001\",\n                });\n                context.SaveChanges();\n            });\n\n            using var scope = Factory.Services.CreateScope();\n            var manager = scope.ServiceProvider.GetService<ProblemLabelManager>();\n\n            // act\n            var res = await manager.ResolveProblemLabel(MappingOnlineJudge.UVA, 1);\n\n            // assert\n            res.Should().Be(\"1001\");\n            httpTest.ShouldNotHaveMadeACall();\n        }\n\n        [Fact]\n        public async Task WhenTheRecordIsNotInDatabase_ItShouldRequestAndSaveToDatabase()\n        {\n            // arrange\n            using var httpTest = new HttpTest();\n            httpTest.RespondWithJson(new\n            {\n                num = 2001,\n            });\n\n            using var scope = Factory.Services.CreateScope();\n            var manager = scope.ServiceProvider.GetService<ProblemLabelManager>();\n\n            // act\n            var res = await manager.ResolveProblemLabel(MappingOnlineJudge.UVA, 2);\n\n            // assert\n            res.Should().Be(\"2001\");\n            httpTest.ShouldHaveCalled(\"https://uhunt.onlinejudge.org/api/p/id/2\");\n            httpTest.CallLog.Should().HaveCount(1);\n            WithDb(context =>\n            {\n                context.ProblemLabelMappings.Should().HaveCount(1);\n                context.ProblemLabelMappings.Single().Should().BeEquivalentTo(new ProblemLabelMapping\n                {\n                    ProblemId = 2,\n                    ProblemLabel = \"2001\",\n                    OnlineJudgeId = MappingOnlineJudge.UVA,\n                });\n            });\n        }\n\n        public ProblemLabelManagerTests(\n            TestWebApplicationFactory<Startup> factory,\n            ITestOutputHelper outputHelper) : base(factory, outputHelper)\n        {\n        }\n    }\n}\n"
  },
  {
    "path": "ohunt/OHunt.Tests/TestExtensions.cs",
    "content": "using System.Threading.Tasks;\nusing FluentAssertions;\nusing FluentAssertions.Specialized;\n\nnamespace OHunt.Tests\n{\n    public static class TestExtensions\n    {\n        public static NonGenericAsyncFunctionAssertions ShouldResult(this Task task)\n        {\n            return FluentActions.Awaiting(async () => await task).Should();\n        }\n    }\n}\n"
  },
  {
    "path": "ohunt/OHunt.Tests/Utils.cs",
    "content": "using System;\nusing System.Threading.Tasks;\n\nnamespace OHunt.Tests\n{\n    public class Utils\n    {\n        public static Task WaitSecond(int second = 1)\n        {\n            return Task.Delay(TimeSpan.FromSeconds(second));\n        }\n    }\n}\n"
  },
  {
    "path": "ohunt/OHunt.Tests/Web/ProblemControllerTests.cs",
    "content": "using System.Collections.Generic;\nusing System.Linq;\nusing System.Net;\nusing System.Net.Http;\nusing System.Net.Mime;\nusing System.Text;\nusing System.Threading.Tasks;\nusing FluentAssertions;\nusing Flurl.Http.Testing;\nusing OHunt.Tests.Dependency;\nusing OHunt.Web;\nusing OHunt.Web.Controllers.Dto;\nusing Xunit;\nusing Xunit.Abstractions;\n\nnamespace OHunt.Tests.Web\n{\n    public class ProblemControllerTests : OHuntTestBase\n    {\n        public ProblemControllerTests(\n            TestWebApplicationFactory<Startup> factory,\n            ITestOutputHelper outputHelper) : base(factory, outputHelper)\n        {\n            // to make Flurl test work correctly\n            // see https://github.com/tmenier/Flurl/issues/504#issuecomment-601817280\n            Factory.Server.PreserveExecutionContext = true;\n        }\n        [Fact]\n        public async Task TestResolveLabel()\n        {\n            // When request label at the first time\n            var httpTest = new HttpTest();\n            httpTest.RespondWithJson(new\n            {\n                num = 2001,\n            });\n\n            using var client = Factory.CreateClient();\n            var response = await client.PostAsync(\"/api/ohunt/problems/resolve-label\",\n                new StringContent(\"{\\\"onlineJudge\\\": \\\"uva\\\", \\\"list\\\": [1]}\",\n                    Encoding.Default,\n                    MediaTypeNames.Application.Json));\n\n            // Then we should get the correct label\n            response.StatusCode.Should().Be(HttpStatusCode.OK);\n            var output = await ResponseJson<ResolveLabelOutput>(response);\n            output.Result.Should().HaveCount(1);\n            output.Result.Single().Should().Be(\n                new KeyValuePair<string, string?>(\"1\", \"2001\"));\n\n            // And a request should be made by crawler\n            httpTest.ShouldHaveMadeACall();\n            httpTest.CallLog.Should().HaveCount(1);\n            httpTest.Dispose();\n\n            // When we request it again\n            httpTest = new HttpTest();\n            using var client2 = Factory.CreateClient();\n            response = await client2.PostAsync(\"/api/ohunt/problems/resolve-label\",\n                new StringContent(\"{\\\"onlineJudge\\\": \\\"uva\\\", \\\"list\\\": [1]}\",\n                    Encoding.Default,\n                    MediaTypeNames.Application.Json));\n\n            // Then we should get the same result\n            response.StatusCode.Should().Be(HttpStatusCode.OK);\n            var output2 = await ResponseJson<ResolveLabelOutput>(response);\n            output2.Result.Should().HaveCount(1);\n            output2.Result.Single().Should().Be(\n                new KeyValuePair<string, string?>(\"1\", \"2001\"));\n\n            // And there is not crawler request made\n            httpTest.ShouldNotHaveMadeACall();\n            httpTest.Dispose();\n        }\n    }\n}\n"
  },
  {
    "path": "ohunt/OHunt.Tests/Web/StartupTests.cs",
    "content": "using System.Net;\nusing System.Threading.Tasks;\nusing FluentAssertions;\nusing OHunt.Tests.Dependency;\nusing OHunt.Web;\nusing Xunit;\nusing Xunit.Abstractions;\n\nnamespace OHunt.Tests.Web\n{\n    public class StartupTests : OHuntTestBase\n    {\n        [Fact]\n        public async Task WhenRequestingNotExistUrl_ItShouldReturn404()\n        {\n            // arrange\n            var httpClient = Factory.CreateClient();\n\n            // act\n            var result = await httpClient.GetAsync(\"/not-exist\");\n\n            // assert\n            result.StatusCode.Should().Be(HttpStatusCode.NotFound);\n            (await result.Content.ReadAsStringAsync())\n                .Should().Be(\"404 Not Found\");\n        }\n\n        [Fact(Skip = \"don't know why it's broken\")]\n        public async Task WhenRequestingIndex_RedirectToSwagger()\n        {\n            // arrange\n            var httpClient = Factory.CreateClient();\n\n            // act\n            var result = await httpClient.GetAsync(\"/\");\n\n            // assert\n            result.RequestMessage.RequestUri.LocalPath\n                .Should().Be(\"/ohunt/swagger/index.html\");\n        }\n\n        public StartupTests(TestWebApplicationFactory<Startup> factory, ITestOutputHelper outputHelper) : base(factory,\n            outputHelper)\n        {\n        }\n    }\n}\n"
  },
  {
    "path": "ohunt/OHunt.Tests/Web/SubmissionControllerTests.cs",
    "content": "using System;\nusing System.Linq;\nusing System.Net;\nusing System.Threading.Tasks;\nusing FluentAssertions;\nusing Newtonsoft.Json.Linq;\nusing OHunt.Tests.Dependency;\nusing OHunt.Web;\nusing OHunt.Web.Models;\nusing Xunit;\nusing Xunit.Abstractions;\n\nnamespace OHunt.Tests.Web\n{\n    public class SubmissionControllerTests : OHuntTestBase\n    {\n        public SubmissionControllerTests(\n            TestWebApplicationFactory<Startup> factory,\n            ITestOutputHelper outputHelper) : base(factory, outputHelper)\n        {\n        }\n\n        [Fact]\n        public async Task WhenRequestingItems_ItShouldResponse()\n        {\n            // arrange\n            WithDb(context =>\n            {\n                context.Submission.AddRange(Enumerable.Range(1, 10)\n                    .Select(i => new Submission\n                    {\n                        Status = RunResult.Accepted,\n                        Time = new DateTime(2020, 4, 1, 0, 0, 0),\n                        ProblemLabel = \"1001\",\n                        SubmissionId = i,\n                        UserName = \"user1\",\n                        OnlineJudgeId = OnlineJudge.ZOJ,\n                    }));\n                context.SaveChanges();\n            });\n\n            // act\n            var client = Factory.CreateClient();\n            var res = await client.GetAsync(\n                \"/api/ohunt/submissions?oj=zoj&$filter=submissionId eq 1\");\n\n            // assert\n            res.StatusCode.Should().Be(HttpStatusCode.OK);\n            JObject.Parse(await res.Content.ReadAsStringAsync())\n                [\"value\"]\n                ?.ToObject<Submission[]>()\n                .Should()\n                .BeEquivalentTo(new[]\n                {\n                    new Submission\n                    {\n                        Status = RunResult.Accepted,\n                        Time = new DateTime(2020, 4, 1, 0, 0, 0),\n                        ProblemLabel = \"1001\",\n                        SubmissionId = 1,\n                        UserName = \"user1\",\n                        OnlineJudgeId = OnlineJudge.ZOJ,\n                    },\n                });\n        }\n\n        [Fact]\n        public async Task WhenOjIsNotSpecified_ItShouldReturnError()\n        {\n            // act\n            var client = Factory.CreateClient();\n            var res = await client.GetAsync(\n                \"/api/ohunt/submissions?$filter=submissionId eq 1\");\n\n            // assert\n            res.StatusCode.Should().Be(HttpStatusCode.BadRequest);\n            var json = JObject.Parse(await res.Content.ReadAsStringAsync())!;\n            json[\"error\"]?.ToObject<bool>().Should().BeTrue();\n            json[\"message\"]?.ToObject<string>().Should().Be(\"Unrecognisable OJ name\");\n            json[\"detail\"]?.ToObject<string>().Should()\n                .Be(\"Please use url like /api/ohunt/submissions?oj=zoj to request\");\n            json[\"supportedOj\"]?.ToObject<string[]>().Should()\n                .BeEquivalentTo(Enum.GetNames(typeof(OnlineJudge)));\n        }\n\n        [Fact]\n        public async Task WhenTooManyItemsRequested_ItShouldReturnAtMost500Items()\n        {\n            // arrange\n            WithDb(context =>\n            {\n                context.Submission.AddRange(Enumerable.Range(1, 1000)\n                    .Select(i => new Submission\n                    {\n                        Status = RunResult.Accepted,\n                        Time = new DateTime(2020, 4, 1, 0, 0, 0),\n                        ProblemLabel = \"1001\",\n                        SubmissionId = i,\n                        UserName = \"user1\",\n                        OnlineJudgeId = OnlineJudge.ZOJ,\n                    }));\n                context.SaveChanges();\n            });\n\n            // act\n            var client = Factory.CreateClient();\n            var res = await client.GetAsync(\n                \"/api/ohunt/submissions?oj=zoj\");\n\n            // assert\n            res.StatusCode.Should().Be(HttpStatusCode.OK);\n            var json = JObject.Parse(await res.Content.ReadAsStringAsync());\n            json[\"value\"]?.ToObject<Submission[]>().Should().HaveCount(500);\n            json[\"@odata.nextLink\"]?.ToObject<string>()\n                .Should().EndWith(\"/api/ohunt/submissions?oj=zoj&$skip=500\");\n        }\n    }\n}\n"
  },
  {
    "path": "ohunt/OHunt.Tests/Web/SwaggerTests.cs",
    "content": "using System.Threading.Tasks;\nusing OHunt.Tests.Dependency;\nusing OHunt.Web;\nusing Snapshooter.Xunit;\nusing Xunit;\nusing Xunit.Abstractions;\n\nnamespace OHunt.Tests.Web\n{\n    public class SwaggerTests : OHuntTestBase\n    {\n        [Fact]\n        public async Task It_ShouldOutputDocument()\n        {\n            // arrange\n            var httpClient = Factory.CreateClient();\n\n            // act\n            var result = await httpClient.GetAsync(\"/api/ohunt/v1/swagger.json\");\n\n            // assert\n            result.Content.ReadAsStringAsync().Result.MatchSnapshot();\n        }\n\n        public SwaggerTests(TestWebApplicationFactory<Startup> factory, ITestOutputHelper outputHelper) : base(factory,\n            outputHelper)\n        {\n        }\n    }\n}\n"
  },
  {
    "path": "ohunt/OHunt.Tests/Web/__snapshots__/SwaggerTests.It_ShouldOutputDocument.snap",
    "content": "﻿{\n  \"openapi\": \"3.0.4\",\n  \"info\": {\n    \"title\": \"OHunt API\",\n    \"description\": \"OHunt is a crawler that reads data from online coding competition platform and serve them as API, just like uHunt of UVA.\",\n    \"version\": \"v1\"\n  },\n  \"paths\": {\n    \"/api/ohunt/$metadata\": {\n      \"get\": {\n        \"tags\": [\n          \"Metadata\"\n        ],\n        \"operationId\": \"api/ohunt/$metadata\",\n        \"responses\": {\n          \"200\": {\n            \"description\": \"OK\",\n            \"content\": {\n              \"application/json;odata.metadata=minimal;odata.streaming=true\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/IEdmModel\"\n                }\n              },\n              \"application/json;odata.metadata=minimal;odata.streaming=false\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/IEdmModel\"\n                }\n              },\n              \"application/json;odata.metadata=minimal\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/IEdmModel\"\n                }\n              },\n              \"application/json;odata.metadata=full;odata.streaming=true\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/IEdmModel\"\n                }\n              },\n              \"application/json;odata.metadata=full;odata.streaming=false\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/IEdmModel\"\n                }\n              },\n              \"application/json;odata.metadata=full\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/IEdmModel\"\n                }\n              },\n              \"application/json;odata.metadata=none;odata.streaming=true\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/IEdmModel\"\n                }\n              },\n              \"application/json;odata.metadata=none;odata.streaming=false\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/IEdmModel\"\n                }\n              },\n              \"application/json;odata.metadata=none\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/IEdmModel\"\n                }\n              },\n              \"application/json;odata.streaming=true\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/IEdmModel\"\n                }\n              },\n              \"application/json;odata.streaming=false\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/IEdmModel\"\n                }\n              },\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/IEdmModel\"\n                }\n              },\n              \"application/json;odata.metadata=minimal;odata.streaming=true;IEEE754Compatible=false\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/IEdmModel\"\n                }\n              },\n              \"application/json;odata.metadata=minimal;odata.streaming=true;IEEE754Compatible=true\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/IEdmModel\"\n                }\n              },\n              \"application/json;odata.metadata=minimal;odata.streaming=false;IEEE754Compatible=false\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/IEdmModel\"\n                }\n              },\n              \"application/json;odata.metadata=minimal;odata.streaming=false;IEEE754Compatible=true\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/IEdmModel\"\n                }\n              },\n              \"application/json;odata.metadata=minimal;IEEE754Compatible=false\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/IEdmModel\"\n                }\n              },\n              \"application/json;odata.metadata=minimal;IEEE754Compatible=true\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/IEdmModel\"\n                }\n              },\n              \"application/json;odata.metadata=full;odata.streaming=true;IEEE754Compatible=false\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/IEdmModel\"\n                }\n              },\n              \"application/json;odata.metadata=full;odata.streaming=true;IEEE754Compatible=true\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/IEdmModel\"\n                }\n              },\n              \"application/json;odata.metadata=full;odata.streaming=false;IEEE754Compatible=false\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/IEdmModel\"\n                }\n              },\n              \"application/json;odata.metadata=full;odata.streaming=false;IEEE754Compatible=true\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/IEdmModel\"\n                }\n              },\n              \"application/json;odata.metadata=full;IEEE754Compatible=false\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/IEdmModel\"\n                }\n              },\n              \"application/json;odata.metadata=full;IEEE754Compatible=true\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/IEdmModel\"\n                }\n              },\n              \"application/json;odata.metadata=none;odata.streaming=true;IEEE754Compatible=false\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/IEdmModel\"\n                }\n              },\n              \"application/json;odata.metadata=none;odata.streaming=true;IEEE754Compatible=true\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/IEdmModel\"\n                }\n              },\n              \"application/json;odata.metadata=none;odata.streaming=false;IEEE754Compatible=true\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/IEdmModel\"\n                }\n              },\n              \"application/json;odata.metadata=none;odata.streaming=false;IEEE754Compatible=false\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/IEdmModel\"\n                }\n              },\n              \"application/json;odata.metadata=none;IEEE754Compatible=false\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/IEdmModel\"\n                }\n              },\n              \"application/json;odata.metadata=none;IEEE754Compatible=true\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/IEdmModel\"\n                }\n              },\n              \"application/json;odata.streaming=true;IEEE754Compatible=false\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/IEdmModel\"\n                }\n              },\n              \"application/json;odata.streaming=true;IEEE754Compatible=true\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/IEdmModel\"\n                }\n              },\n              \"application/json;odata.streaming=false;IEEE754Compatible=false\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/IEdmModel\"\n                }\n              },\n              \"application/json;odata.streaming=false;IEEE754Compatible=true\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/IEdmModel\"\n                }\n              },\n              \"application/json;IEEE754Compatible=false\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/IEdmModel\"\n                }\n              },\n              \"application/json;IEEE754Compatible=true\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/IEdmModel\"\n                }\n              },\n              \"application/xml\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/IEdmModel\"\n                }\n              },\n              \"text/plain\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/IEdmModel\"\n                }\n              },\n              \"application/octet-stream\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/IEdmModel\"\n                }\n              },\n              \"text/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/IEdmModel\"\n                }\n              }\n            }\n          }\n        }\n      }\n    },\n    \"/api/ohunt\": {\n      \"get\": {\n        \"tags\": [\n          \"Metadata\"\n        ],\n        \"operationId\": \"api/ohunt/\",\n        \"responses\": {\n          \"200\": {\n            \"description\": \"OK\",\n            \"content\": {\n              \"application/json;odata.metadata=minimal;odata.streaming=true\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/ODataServiceDocument\"\n                }\n              },\n              \"application/json;odata.metadata=minimal;odata.streaming=false\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/ODataServiceDocument\"\n                }\n              },\n              \"application/json;odata.metadata=minimal\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/ODataServiceDocument\"\n                }\n              },\n              \"application/json;odata.metadata=full;odata.streaming=true\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/ODataServiceDocument\"\n                }\n              },\n              \"application/json;odata.metadata=full;odata.streaming=false\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/ODataServiceDocument\"\n                }\n              },\n              \"application/json;odata.metadata=full\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/ODataServiceDocument\"\n                }\n              },\n              \"application/json;odata.metadata=none;odata.streaming=true\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/ODataServiceDocument\"\n                }\n              },\n              \"application/json;odata.metadata=none;odata.streaming=false\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/ODataServiceDocument\"\n                }\n              },\n              \"application/json;odata.metadata=none\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/ODataServiceDocument\"\n                }\n              },\n              \"application/json;odata.streaming=true\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/ODataServiceDocument\"\n                }\n              },\n              \"application/json;odata.streaming=false\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/ODataServiceDocument\"\n                }\n              },\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/ODataServiceDocument\"\n                }\n              },\n              \"application/json;odata.metadata=minimal;odata.streaming=true;IEEE754Compatible=false\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/ODataServiceDocument\"\n                }\n              },\n              \"application/json;odata.metadata=minimal;odata.streaming=true;IEEE754Compatible=true\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/ODataServiceDocument\"\n                }\n              },\n              \"application/json;odata.metadata=minimal;odata.streaming=false;IEEE754Compatible=false\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/ODataServiceDocument\"\n                }\n              },\n              \"application/json;odata.metadata=minimal;odata.streaming=false;IEEE754Compatible=true\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/ODataServiceDocument\"\n                }\n              },\n              \"application/json;odata.metadata=minimal;IEEE754Compatible=false\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/ODataServiceDocument\"\n                }\n              },\n              \"application/json;odata.metadata=minimal;IEEE754Compatible=true\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/ODataServiceDocument\"\n                }\n              },\n              \"application/json;odata.metadata=full;odata.streaming=true;IEEE754Compatible=false\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/ODataServiceDocument\"\n                }\n              },\n              \"application/json;odata.metadata=full;odata.streaming=true;IEEE754Compatible=true\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/ODataServiceDocument\"\n                }\n              },\n              \"application/json;odata.metadata=full;odata.streaming=false;IEEE754Compatible=false\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/ODataServiceDocument\"\n                }\n              },\n              \"application/json;odata.metadata=full;odata.streaming=false;IEEE754Compatible=true\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/ODataServiceDocument\"\n                }\n              },\n              \"application/json;odata.metadata=full;IEEE754Compatible=false\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/ODataServiceDocument\"\n                }\n              },\n              \"application/json;odata.metadata=full;IEEE754Compatible=true\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/ODataServiceDocument\"\n                }\n              },\n              \"application/json;odata.metadata=none;odata.streaming=true;IEEE754Compatible=false\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/ODataServiceDocument\"\n                }\n              },\n              \"application/json;odata.metadata=none;odata.streaming=true;IEEE754Compatible=true\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/ODataServiceDocument\"\n                }\n              },\n              \"application/json;odata.metadata=none;odata.streaming=false;IEEE754Compatible=true\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/ODataServiceDocument\"\n                }\n              },\n              \"application/json;odata.metadata=none;odata.streaming=false;IEEE754Compatible=false\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/ODataServiceDocument\"\n                }\n              },\n              \"application/json;odata.metadata=none;IEEE754Compatible=false\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/ODataServiceDocument\"\n                }\n              },\n              \"application/json;odata.metadata=none;IEEE754Compatible=true\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/ODataServiceDocument\"\n                }\n              },\n              \"application/json;odata.streaming=true;IEEE754Compatible=false\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/ODataServiceDocument\"\n                }\n              },\n              \"application/json;odata.streaming=true;IEEE754Compatible=true\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/ODataServiceDocument\"\n                }\n              },\n              \"application/json;odata.streaming=false;IEEE754Compatible=false\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/ODataServiceDocument\"\n                }\n              },\n              \"application/json;odata.streaming=false;IEEE754Compatible=true\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/ODataServiceDocument\"\n                }\n              },\n              \"application/json;IEEE754Compatible=false\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/ODataServiceDocument\"\n                }\n              },\n              \"application/json;IEEE754Compatible=true\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/ODataServiceDocument\"\n                }\n              },\n              \"application/xml\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/ODataServiceDocument\"\n                }\n              },\n              \"text/plain\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/ODataServiceDocument\"\n                }\n              },\n              \"application/octet-stream\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/ODataServiceDocument\"\n                }\n              },\n              \"text/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/ODataServiceDocument\"\n                }\n              }\n            }\n          }\n        }\n      }\n    },\n    \"/api/ohunt/problems/resolve-label\": {\n      \"post\": {\n        \"tags\": [\n          \"Problem\"\n        ],\n        \"summary\": \"Resolve the actual label of a problem in OJ.\",\n        \"requestBody\": {\n          \"content\": {\n            \"application/json;odata.metadata=minimal;odata.streaming=true\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/ResolveLabelInput\"\n              }\n            },\n            \"application/json;odata.metadata=minimal;odata.streaming=false\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/ResolveLabelInput\"\n              }\n            },\n            \"application/json;odata.metadata=minimal\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/ResolveLabelInput\"\n              }\n            },\n            \"application/json;odata.metadata=full;odata.streaming=true\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/ResolveLabelInput\"\n              }\n            },\n            \"application/json;odata.metadata=full;odata.streaming=false\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/ResolveLabelInput\"\n              }\n            },\n            \"application/json;odata.metadata=full\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/ResolveLabelInput\"\n              }\n            },\n            \"application/json;odata.metadata=none;odata.streaming=true\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/ResolveLabelInput\"\n              }\n            },\n            \"application/json;odata.metadata=none;odata.streaming=false\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/ResolveLabelInput\"\n              }\n            },\n            \"application/json;odata.metadata=none\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/ResolveLabelInput\"\n              }\n            },\n            \"application/json;odata.streaming=true\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/ResolveLabelInput\"\n              }\n            },\n            \"application/json;odata.streaming=false\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/ResolveLabelInput\"\n              }\n            },\n            \"application/json\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/ResolveLabelInput\"\n              }\n            },\n            \"application/json;odata.metadata=minimal;odata.streaming=true;IEEE754Compatible=false\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/ResolveLabelInput\"\n              }\n            },\n            \"application/json;odata.metadata=minimal;odata.streaming=true;IEEE754Compatible=true\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/ResolveLabelInput\"\n              }\n            },\n            \"application/json;odata.metadata=minimal;odata.streaming=false;IEEE754Compatible=false\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/ResolveLabelInput\"\n              }\n            },\n            \"application/json;odata.metadata=minimal;odata.streaming=false;IEEE754Compatible=true\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/ResolveLabelInput\"\n              }\n            },\n            \"application/json;odata.metadata=minimal;IEEE754Compatible=false\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/ResolveLabelInput\"\n              }\n            },\n            \"application/json;odata.metadata=minimal;IEEE754Compatible=true\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/ResolveLabelInput\"\n              }\n            },\n            \"application/json;odata.metadata=full;odata.streaming=true;IEEE754Compatible=false\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/ResolveLabelInput\"\n              }\n            },\n            \"application/json;odata.metadata=full;odata.streaming=true;IEEE754Compatible=true\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/ResolveLabelInput\"\n              }\n            },\n            \"application/json;odata.metadata=full;odata.streaming=false;IEEE754Compatible=false\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/ResolveLabelInput\"\n              }\n            },\n            \"application/json;odata.metadata=full;odata.streaming=false;IEEE754Compatible=true\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/ResolveLabelInput\"\n              }\n            },\n            \"application/json;odata.metadata=full;IEEE754Compatible=false\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/ResolveLabelInput\"\n              }\n            },\n            \"application/json;odata.metadata=full;IEEE754Compatible=true\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/ResolveLabelInput\"\n              }\n            },\n            \"application/json;odata.metadata=none;odata.streaming=true;IEEE754Compatible=false\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/ResolveLabelInput\"\n              }\n            },\n            \"application/json;odata.metadata=none;odata.streaming=true;IEEE754Compatible=true\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/ResolveLabelInput\"\n              }\n            },\n            \"application/json;odata.metadata=none;odata.streaming=false;IEEE754Compatible=true\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/ResolveLabelInput\"\n              }\n            },\n            \"application/json;odata.metadata=none;odata.streaming=false;IEEE754Compatible=false\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/ResolveLabelInput\"\n              }\n            },\n            \"application/json;odata.metadata=none;IEEE754Compatible=false\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/ResolveLabelInput\"\n              }\n            },\n            \"application/json;odata.metadata=none;IEEE754Compatible=true\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/ResolveLabelInput\"\n              }\n            },\n            \"application/json;odata.streaming=true;IEEE754Compatible=false\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/ResolveLabelInput\"\n              }\n            },\n            \"application/json;odata.streaming=true;IEEE754Compatible=true\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/ResolveLabelInput\"\n              }\n            },\n            \"application/json;odata.streaming=false;IEEE754Compatible=false\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/ResolveLabelInput\"\n              }\n            },\n            \"application/json;odata.streaming=false;IEEE754Compatible=true\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/ResolveLabelInput\"\n              }\n            },\n            \"application/json;IEEE754Compatible=false\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/ResolveLabelInput\"\n              }\n            },\n            \"application/json;IEEE754Compatible=true\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/ResolveLabelInput\"\n              }\n            },\n            \"application/xml\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/ResolveLabelInput\"\n              }\n            },\n            \"text/plain\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/ResolveLabelInput\"\n              }\n            },\n            \"text/json\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/ResolveLabelInput\"\n              }\n            },\n            \"application/*+json\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/ResolveLabelInput\"\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"OK\",\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/ResolveLabelOutput\"\n                }\n              }\n            }\n          }\n        }\n      }\n    },\n    \"/api/ohunt/submissions\": {\n      \"get\": {\n        \"tags\": [\n          \"Submissions\"\n        ],\n        \"summary\": \"Get the submission in an OJ.\",\n        \"description\": \"The api uses odata to create arbitrary query requests.\\nSee the document https://www.odata.org/ for more information.\\n\\nSample request:\\n\\n    GET /api/ohunt/submissions?oj=zoj&$filter=userName eq 'vjudge5' and status eq 'Accepted'&$count=true\",\n        \"parameters\": [\n          {\n            \"name\": \"oj\",\n            \"in\": \"query\",\n            \"description\": \"the names of the OJ. See the OnlineJudge schema below for the value.\",\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"name\": \"$top\",\n            \"in\": \"query\",\n            \"description\": \"The max number of records\",\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"name\": \"$skip\",\n            \"in\": \"query\",\n            \"description\": \"The number of records to skip\",\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"name\": \"$filter\",\n            \"in\": \"query\",\n            \"description\": \"A function that must evaluate to true for a record to be returned\",\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"name\": \"$select\",\n            \"in\": \"query\",\n            \"description\": \"Specifies a subset of properties to return\",\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"name\": \"$orderby\",\n            \"in\": \"query\",\n            \"description\": \"Determines what values are used to order a collection of records\",\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          },\n          {\n            \"name\": \"$count\",\n            \"in\": \"query\",\n            \"description\": \"Should the item be counted. Use $count=true&$top=0 to count entities while not really request them.\",\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"The result. It is wrapped by odata.\",\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"type\": \"array\",\n                  \"items\": {\n                    \"$ref\": \"#/components/schemas/Submission\"\n                  }\n                }\n              }\n            }\n          },\n          \"400\": {\n            \"description\": \"If oj name is incorrect, redirect to a route and get correct oj names.\"\n          }\n        }\n      }\n    }\n  },\n  \"components\": {\n    \"schemas\": {\n      \"EdmContainerElementKind\": {\n        \"enum\": [\n          \"None\",\n          \"EntitySet\",\n          \"ActionImport\",\n          \"FunctionImport\",\n          \"Singleton\"\n        ],\n        \"type\": \"string\"\n      },\n      \"EdmExpressionKind\": {\n        \"enum\": [\n          \"None\",\n          \"BinaryConstant\",\n          \"BooleanConstant\",\n          \"DateTimeOffsetConstant\",\n          \"DecimalConstant\",\n          \"FloatingConstant\",\n          \"GuidConstant\",\n          \"IntegerConstant\",\n          \"StringConstant\",\n          \"DurationConstant\",\n          \"Null\",\n          \"Record\",\n          \"Collection\",\n          \"Path\",\n          \"If\",\n          \"Cast\",\n          \"IsOf\",\n          \"FunctionApplication\",\n          \"LabeledExpressionReference\",\n          \"Labeled\",\n          \"PropertyPath\",\n          \"NavigationPropertyPath\",\n          \"DateConstant\",\n          \"TimeOfDayConstant\",\n          \"EnumMember\",\n          \"AnnotationPath\"\n        ],\n        \"type\": \"string\"\n      },\n      \"EdmSchemaElementKind\": {\n        \"enum\": [\n          \"None\",\n          \"TypeDefinition\",\n          \"Term\",\n          \"Action\",\n          \"EntityContainer\",\n          \"Function\"\n        ],\n        \"type\": \"string\"\n      },\n      \"EdmTypeKind\": {\n        \"enum\": [\n          \"None\",\n          \"Primitive\",\n          \"Entity\",\n          \"Complex\",\n          \"Collection\",\n          \"EntityReference\",\n          \"Enum\",\n          \"TypeDefinition\",\n          \"Untyped\",\n          \"Path\"\n        ],\n        \"type\": \"string\"\n      },\n      \"IEdmDirectValueAnnotationsManager\": {\n        \"type\": \"object\",\n        \"additionalProperties\": false\n      },\n      \"IEdmEntityContainer\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"name\": {\n            \"type\": \"string\",\n            \"nullable\": true,\n            \"readOnly\": true\n          },\n          \"schemaElementKind\": {\n            \"$ref\": \"#/components/schemas/EdmSchemaElementKind\"\n          },\n          \"namespace\": {\n            \"type\": \"string\",\n            \"nullable\": true,\n            \"readOnly\": true\n          },\n          \"elements\": {\n            \"type\": \"array\",\n            \"items\": {\n              \"$ref\": \"#/components/schemas/IEdmEntityContainerElement\"\n            },\n            \"nullable\": true,\n            \"readOnly\": true\n          }\n        },\n        \"additionalProperties\": false\n      },\n      \"IEdmEntityContainerElement\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"name\": {\n            \"type\": \"string\",\n            \"nullable\": true,\n            \"readOnly\": true\n          },\n          \"containerElementKind\": {\n            \"$ref\": \"#/components/schemas/EdmContainerElementKind\"\n          },\n          \"container\": {\n            \"$ref\": \"#/components/schemas/IEdmEntityContainer\"\n          }\n        },\n        \"additionalProperties\": false\n      },\n      \"IEdmExpression\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"expressionKind\": {\n            \"$ref\": \"#/components/schemas/EdmExpressionKind\"\n          }\n        },\n        \"additionalProperties\": false\n      },\n      \"IEdmModel\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"schemaElements\": {\n            \"type\": \"array\",\n            \"items\": {\n              \"$ref\": \"#/components/schemas/IEdmSchemaElement\"\n            },\n            \"nullable\": true,\n            \"readOnly\": true\n          },\n          \"vocabularyAnnotations\": {\n            \"type\": \"array\",\n            \"items\": {\n              \"$ref\": \"#/components/schemas/IEdmVocabularyAnnotation\"\n            },\n            \"nullable\": true,\n            \"readOnly\": true\n          },\n          \"referencedModels\": {\n            \"type\": \"array\",\n            \"items\": {\n              \"$ref\": \"#/components/schemas/IEdmModel\"\n            },\n            \"nullable\": true,\n            \"readOnly\": true\n          },\n          \"declaredNamespaces\": {\n            \"type\": \"array\",\n            \"items\": {\n              \"type\": \"string\"\n            },\n            \"nullable\": true,\n            \"readOnly\": true\n          },\n          \"directValueAnnotationsManager\": {\n            \"$ref\": \"#/components/schemas/IEdmDirectValueAnnotationsManager\"\n          },\n          \"entityContainer\": {\n            \"$ref\": \"#/components/schemas/IEdmEntityContainer\"\n          }\n        },\n        \"additionalProperties\": false\n      },\n      \"IEdmSchemaElement\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"name\": {\n            \"type\": \"string\",\n            \"nullable\": true,\n            \"readOnly\": true\n          },\n          \"schemaElementKind\": {\n            \"$ref\": \"#/components/schemas/EdmSchemaElementKind\"\n          },\n          \"namespace\": {\n            \"type\": \"string\",\n            \"nullable\": true,\n            \"readOnly\": true\n          }\n        },\n        \"additionalProperties\": false\n      },\n      \"IEdmTerm\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"name\": {\n            \"type\": \"string\",\n            \"nullable\": true,\n            \"readOnly\": true\n          },\n          \"schemaElementKind\": {\n            \"$ref\": \"#/components/schemas/EdmSchemaElementKind\"\n          },\n          \"namespace\": {\n            \"type\": \"string\",\n            \"nullable\": true,\n            \"readOnly\": true\n          },\n          \"type\": {\n            \"$ref\": \"#/components/schemas/IEdmTypeReference\"\n          },\n          \"appliesTo\": {\n            \"type\": \"string\",\n            \"nullable\": true,\n            \"readOnly\": true\n          },\n          \"defaultValue\": {\n            \"type\": \"string\",\n            \"nullable\": true,\n            \"readOnly\": true\n          }\n        },\n        \"additionalProperties\": false\n      },\n      \"IEdmType\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"typeKind\": {\n            \"$ref\": \"#/components/schemas/EdmTypeKind\"\n          }\n        },\n        \"additionalProperties\": false\n      },\n      \"IEdmTypeReference\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"isNullable\": {\n            \"type\": \"boolean\",\n            \"readOnly\": true\n          },\n          \"definition\": {\n            \"$ref\": \"#/components/schemas/IEdmType\"\n          }\n        },\n        \"additionalProperties\": false\n      },\n      \"IEdmVocabularyAnnotatable\": {\n        \"type\": \"object\",\n        \"additionalProperties\": false\n      },\n      \"IEdmVocabularyAnnotation\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"qualifier\": {\n            \"type\": \"string\",\n            \"nullable\": true,\n            \"readOnly\": true\n          },\n          \"term\": {\n            \"$ref\": \"#/components/schemas/IEdmTerm\"\n          },\n          \"target\": {\n            \"$ref\": \"#/components/schemas/IEdmVocabularyAnnotatable\"\n          },\n          \"value\": {\n            \"$ref\": \"#/components/schemas/IEdmExpression\"\n          },\n          \"usesDefault\": {\n            \"type\": \"boolean\",\n            \"readOnly\": true\n          }\n        },\n        \"additionalProperties\": false\n      },\n      \"MappingOnlineJudge\": {\n        \"enum\": [\n          \"UVA\",\n          \"UVALive\",\n          \"NIT\",\n          \"BNU\"\n        ],\n        \"type\": \"string\",\n        \"description\": \"the enum of online judges that are used to mapping problem labels.\"\n      },\n      \"ODataEntitySetInfo\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"typeAnnotation\": {\n            \"$ref\": \"#/components/schemas/ODataTypeAnnotation\"\n          },\n          \"url\": {\n            \"type\": \"string\",\n            \"format\": \"uri\",\n            \"nullable\": true\n          },\n          \"name\": {\n            \"type\": \"string\",\n            \"nullable\": true\n          },\n          \"title\": {\n            \"type\": \"string\",\n            \"nullable\": true\n          }\n        },\n        \"additionalProperties\": false\n      },\n      \"ODataFunctionImportInfo\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"typeAnnotation\": {\n            \"$ref\": \"#/components/schemas/ODataTypeAnnotation\"\n          },\n          \"url\": {\n            \"type\": \"string\",\n            \"format\": \"uri\",\n            \"nullable\": true\n          },\n          \"name\": {\n            \"type\": \"string\",\n            \"nullable\": true\n          },\n          \"title\": {\n            \"type\": \"string\",\n            \"nullable\": true\n          }\n        },\n        \"additionalProperties\": false\n      },\n      \"ODataServiceDocument\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"typeAnnotation\": {\n            \"$ref\": \"#/components/schemas/ODataTypeAnnotation\"\n          },\n          \"entitySets\": {\n            \"type\": \"array\",\n            \"items\": {\n              \"$ref\": \"#/components/schemas/ODataEntitySetInfo\"\n            },\n            \"nullable\": true\n          },\n          \"singletons\": {\n            \"type\": \"array\",\n            \"items\": {\n              \"$ref\": \"#/components/schemas/ODataSingletonInfo\"\n            },\n            \"nullable\": true\n          },\n          \"functionImports\": {\n            \"type\": \"array\",\n            \"items\": {\n              \"$ref\": \"#/components/schemas/ODataFunctionImportInfo\"\n            },\n            \"nullable\": true\n          }\n        },\n        \"additionalProperties\": false\n      },\n      \"ODataSingletonInfo\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"typeAnnotation\": {\n            \"$ref\": \"#/components/schemas/ODataTypeAnnotation\"\n          },\n          \"url\": {\n            \"type\": \"string\",\n            \"format\": \"uri\",\n            \"nullable\": true\n          },\n          \"name\": {\n            \"type\": \"string\",\n            \"nullable\": true\n          },\n          \"title\": {\n            \"type\": \"string\",\n            \"nullable\": true\n          }\n        },\n        \"additionalProperties\": false\n      },\n      \"ODataTypeAnnotation\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"typeName\": {\n            \"type\": \"string\",\n            \"nullable\": true,\n            \"readOnly\": true\n          }\n        },\n        \"additionalProperties\": false\n      },\n      \"OnlineJudge\": {\n        \"enum\": [\n          \"ZOJ\"\n        ],\n        \"type\": \"string\"\n      },\n      \"ResolveLabelInput\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"list\": {\n            \"type\": \"array\",\n            \"items\": {\n              \"type\": \"integer\",\n              \"format\": \"int32\"\n            },\n            \"description\": \"The list to request. Each item is a problem id.\",\n            \"nullable\": true\n          },\n          \"onlineJudge\": {\n            \"$ref\": \"#/components/schemas/MappingOnlineJudge\"\n          }\n        },\n        \"additionalProperties\": false\n      },\n      \"ResolveLabelOutput\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"result\": {\n            \"type\": \"object\",\n            \"additionalProperties\": {\n              \"type\": \"string\",\n              \"nullable\": true\n            },\n            \"description\": \"The result from the output\",\n            \"nullable\": true\n          }\n        },\n        \"additionalProperties\": false\n      },\n      \"RunResult\": {\n        \"enum\": [\n          \"Accepted\",\n          \"PresentationError\",\n          \"WrongAnswer\",\n          \"TimeLimitExceed\",\n          \"MemoryLimitExceed\",\n          \"OutputLimitExceed\",\n          \"RuntimeError\",\n          \"CompileError\",\n          \"UnknownError\",\n          \"SubmitError\"\n        ],\n        \"type\": \"string\"\n      },\n      \"Submission\": {\n        \"required\": [\n          \"onlineJudgeId\",\n          \"problemLabel\",\n          \"status\",\n          \"time\",\n          \"userName\"\n        ],\n        \"type\": \"object\",\n        \"properties\": {\n          \"submissionId\": {\n            \"minimum\": 1,\n            \"type\": \"integer\",\n            \"description\": \"The id of the submission. It should be unique per oj.\\n            \\nIt is used to identify submissions, so newer submission\\nshould have larger id.\",\n            \"format\": \"int64\"\n          },\n          \"onlineJudgeId\": {\n            \"$ref\": \"#/components/schemas/OnlineJudge\"\n          },\n          \"userName\": {\n            \"maxLength\": 75,\n            \"minLength\": 1,\n            \"type\": \"string\"\n          },\n          \"status\": {\n            \"$ref\": \"#/components/schemas/RunResult\"\n          },\n          \"problemLabel\": {\n            \"maxLength\": 25,\n            \"minLength\": 1,\n            \"type\": \"string\"\n          },\n          \"time\": {\n            \"type\": \"string\",\n            \"format\": \"date-time\"\n          }\n        },\n        \"additionalProperties\": false\n      }\n    }\n  }\n}\n"
  },
  {
    "path": "ohunt/OHunt.Web/Controllers/Dto/ResolveLabelInput.cs",
    "content": "using System.Collections.Generic;\nusing OHunt.Web.Models;\n\nnamespace OHunt.Web.Controllers.Dto\n{\n    public class ResolveLabelInput\n    {\n        /// <summary>\n        /// The list to request. Each item is a problem id.\n        /// </summary>\n        public ICollection<int> List { get; set; }\n\n        /// <summary>\n        /// The oj of the problem list\n        /// </summary>\n        public MappingOnlineJudge OnlineJudge { get; set; }\n    }\n}\n"
  },
  {
    "path": "ohunt/OHunt.Web/Controllers/Dto/ResolveLabelOutput.cs",
    "content": "using System.Collections.Generic;\n\nnamespace OHunt.Web.Controllers.Dto\n{\n    public class ResolveLabelOutput\n    {\n        /// <summary>\n        /// The result from the output\n        /// </summary>\n        public IDictionary<string, string?> Result { get; set; }\n    }\n}\n"
  },
  {
    "path": "ohunt/OHunt.Web/Controllers/HomeController.cs",
    "content": "using Microsoft.AspNetCore.Mvc;\n\nnamespace OHunt.Web.Controllers\n{\n    [Route(\"/\")]\n    public class HomeController : ControllerBase\n    {\n        [HttpGet(\"/\")]\n        [ApiExplorerSettings(IgnoreApi = true)]\n        public ActionResult Index()\n        {\n            return RedirectPermanent(\"/ohunt/swagger\");\n        }\n    }\n}\n"
  },
  {
    "path": "ohunt/OHunt.Web/Controllers/ProblemController.cs",
    "content": "using System.Collections.Generic;\nusing System.Threading.Tasks;\nusing Microsoft.AspNetCore.Mvc;\nusing OHunt.Web.Controllers.Dto;\nusing OHunt.Web.Services;\n\nnamespace OHunt.Web.Controllers\n{\n    [ApiController]\n    [Route(\"/api/ohunt/problems/\")]\n    public class ProblemController : ControllerBase\n    {\n        private readonly ProblemLabelManager _labelManager;\n\n        public ProblemController(ProblemLabelManager labelManager)\n        {\n            _labelManager = labelManager;\n        }\n        /// <summary>\n        /// Resolve the actual label of a problem in OJ.\n        /// </summary>\n        [HttpPost]\n        [Route(\"resolve-label\")]\n        [Produces(\"application/json\")]\n        public async Task<ResolveLabelOutput> ResolveLabel(ResolveLabelInput input)\n        {\n            var res = new Dictionary<string, string?>();\n\n            foreach (var id in input.List)\n            {\n                var label = await _labelManager.ResolveProblemLabel(input.OnlineJudge, id);\n                res.Add(id.ToString(), label);\n            }\n\n            return new ResolveLabelOutput\n            {\n                Result = res,\n            };\n        }\n    }\n}\n"
  },
  {
    "path": "ohunt/OHunt.Web/Controllers/SubmissionsController.cs",
    "content": "using System;\nusing System.Linq;\nusing Microsoft.AspNetCore.Mvc;\nusing Microsoft.AspNetCore.OData.Formatter;\nusing Microsoft.AspNetCore.OData.Query;\nusing Microsoft.AspNetCore.OData.Routing.Controllers;\nusing Microsoft.Extensions.Logging;\nusing OHunt.Web.Database;\nusing OHunt.Web.Models;\n\nnamespace OHunt.Web.Controllers\n{\n    /// <summary>\n    /// Get submissions\n    /// </summary>\n    // for swagger\n    [ApiExplorerSettings(IgnoreApi = false, GroupName = \"Submissions\")]\n    [Route(\"api/ohunt/submissions\")]\n    public class SubmissionsController : ODataController\n    {\n        private readonly OHuntDbContext _context;\n        private readonly ILogger<SubmissionsController> _logger;\n\n        public SubmissionsController(\n            OHuntDbContext context,\n            ILogger<SubmissionsController> logger)\n        {\n            _context = context;\n            _logger = logger;\n        }\n\n        /// <summary>\n        /// Get the submission in an OJ. \n        /// </summary>\n        /// <remarks>\n        /// The api uses odata to create arbitrary query requests.\n        /// See the document https://www.odata.org/ for more information.\n        /// \n        /// Sample request:\n        /// \n        ///     GET /api/ohunt/submissions?oj=zoj&amp;$filter=userName eq 'vjudge5' and status eq 'Accepted'&amp;$count=true\n        /// \n        /// </remarks>\n        /// <param name=\"oj\">the names of the OJ. See the OnlineJudge schema below for the value.</param>\n        /// <returns>The query result. It is warped by odata.</returns>\n        /// <response code=\"200\">The result. It is wrapped by odata.</response>\n        /// <response code=\"400\">If oj name is incorrect, redirect to a route and get correct oj names.</response>\n        [EnableQuery(PageSize = 500)]\n        [HttpGet]\n        [Produces(\"application/json\")]\n        public ActionResult<IQueryable<Submission>> Get([FromODataUri] string oj)\n        {\n            if (!Enum.TryParse<OnlineJudge>(oj, true, out var ojEnum))\n            {\n                return RedirectToRoute(\"error\");\n            }\n\n            return Ok(_context.Submission\n                .Where(e => e.OnlineJudgeId == ojEnum));\n        }\n\n        [ApiExplorerSettings(IgnoreApi = true)]\n        [HttpGet(\"error\", Name = \"error\")]\n        public ActionResult GetError()\n        {\n            return BadRequest(HelpObject);\n        }\n\n        private static readonly object HelpObject = new\n        {\n            Error = true,\n            Message = \"Unrecognisable OJ name\",\n            Detail = \"Please use url like /api/ohunt/submissions?oj=zoj to request\",\n            SupportedOj = Enum.GetNames(typeof(OnlineJudge)),\n        };\n    }\n}\n"
  },
  {
    "path": "ohunt/OHunt.Web/Crawlers/BnuMappingCrawler.cs",
    "content": "using System.Threading;\nusing System.Threading.Tasks;\nusing AngleSharp.Dom;\nusing Flurl;\nusing OHunt.Web.Models;\n\nnamespace OHunt.Web.Crawlers\n{\n    public class BnuMappingCrawler : CrawlerBase, IMappingCrawler\n    {\n        public MappingOnlineJudge OnlineJudge => MappingOnlineJudge.BNU;\n\n        public async Task<string?> GetProblemLabel(long problemId)\n        {\n            using var document = await GetDocument(\n                \"http://www.bnuoj.com/problem_show.php\"\n                    .SetQueryParam(\"pid\", problemId),\n                CancellationToken.None);\n\n            var ojDom = document.Body\n                .QuerySelector(\"span.badge.badge-info\");\n\n            if (ojDom == null)\n            {\n                return null;\n            }\n\n            var oj = ojDom.Text();\n            var label = ojDom.NextElementSibling.Text();\n\n            return $\"{oj}-{label}\";\n        }\n    }\n}\n"
  },
  {
    "path": "ohunt/OHunt.Web/Crawlers/CrawlerBase.cs",
    "content": "﻿using System;\nusing System.IO;\nusing System.Text.Json;\nusing System.Threading;\nusing System.Threading.Tasks;\nusing AngleSharp;\nusing AngleSharp.Dom;\nusing Flurl.Http;\nusing Url = Flurl.Url;\n\nnamespace OHunt.Web.Crawlers\n{\n    public abstract class CrawlerBase\n    {\n        private DateTime _lastRequestTime = DateTime.MinValue;\n\n        protected TimeSpan RequestInterval { get; set; } = TimeSpan.FromMilliseconds(500);\n\n        protected IBrowsingContext Context { get; }\n            = BrowsingContext.New(Configuration.Default);\n\n        protected async Task<IDocument> GetDocument(\n            Url url,\n            CancellationToken cancellationToken)\n        {\n            var delta = DateTime.Now - _lastRequestTime;\n            if (delta < RequestInterval)\n            {\n                await Task.Delay(delta, cancellationToken);\n            }\n\n            var response = await url.GetStreamAsync(cancellationToken: cancellationToken);\n            var document = await Context.OpenAsync(\n                req => req.Content(response),\n                cancellationToken);\n            _lastRequestTime = DateTime.Now;\n\n            return document;\n        }\n\n        protected async Task<JsonDocument> GetJson(\n            IFlurlRequest request,\n            CancellationToken cancellationToken)\n        {\n            var delta = DateTime.Now - _lastRequestTime;\n            if (delta < RequestInterval)\n            {\n                await Task.Delay(delta, cancellationToken);\n            }\n\n            var result = await request.GetStreamAsync(cancellationToken: cancellationToken);\n            _lastRequestTime = DateTime.Now;\n\n            return await JsonDocument.ParseAsync(result, cancellationToken: cancellationToken);\n        }\n\n        protected Task<JsonDocument> GetJson(\n            Url url,\n            CancellationToken cancellationToken)\n        {\n            return GetJson(new FlurlRequest(url), cancellationToken);\n        }\n\n        protected Task<JsonDocument> GetJson(\n            string url,\n            CancellationToken cancellationToken)\n        {\n            return GetJson(new Url(url), cancellationToken);\n        }\n    }\n}\n"
  },
  {
    "path": "ohunt/OHunt.Web/Crawlers/CrawlerMessage.cs",
    "content": "using OHunt.Web.Models;\n\nnamespace OHunt.Web.Crawlers\n{\n    /// <summary>\n    /// Represent a message that a crawler can reproduce.\n    /// </summary>\n    public struct CrawlerMessage\n    {\n        /// <summary>\n        /// The message carries a submission\n        /// </summary>\n        public Submission? Submission { get; set; }\n\n        /// <summary>\n        /// The message carries a crawler error\n        /// </summary>\n        public CrawlerError? CrawlerError { get; set; }\n\n        /// <summary>\n        /// The message creates a checkpoint.\n        ///\n        /// When pipeline is terminated (cancelled or exception),\n        /// data before a checkpoint are saved.\n        /// </summary>\n        public bool Checkpoint { get; set; }\n\n        /// <summary>\n        /// The message request to rollback to last checkpoint\n        /// </summary>\n        public bool Rollback { get; set; }\n    }\n}\n"
  },
  {
    "path": "ohunt/OHunt.Web/Crawlers/IMappingCrawler.cs",
    "content": "using System.Threading.Tasks;\nusing OHunt.Web.Models;\n\nnamespace OHunt.Web.Crawlers\n{\n    /// <summary>\n    /// The crawler to map problems labels in online judge.\n    ///\n    /// An oj may have a problem label mapping, for example, the result from\n    /// the api of uva does not have the problem label, but a problem id.\n    /// The crawler can get the label from the id. They can be then saved to the\n    /// database to support batch querying.\n    /// </summary>\n    public interface IMappingCrawler\n    {\n        /// <summary>\n        /// The OJ\n        /// </summary>\n        MappingOnlineJudge OnlineJudge { get; }\n\n        /// <summary>\n        /// Get the problem label from problem id.\n        /// </summary>\n        /// <returns>\n        /// the mapped problem label. If it is null, the problem id\n        /// does not have a label.\n        /// </returns>\n        Task<string?> GetProblemLabel(long problemId);\n    }\n}\n"
  },
  {
    "path": "ohunt/OHunt.Web/Crawlers/ISubmissionCrawler.cs",
    "content": "﻿using System.Threading;\nusing System.Threading.Tasks;\nusing System.Threading.Tasks.Dataflow;\nusing OHunt.Web.Models;\n\nnamespace OHunt.Web.Crawlers\n{\n    /// <summary>\n    /// Represent a crawler of submission\n    /// </summary>\n    public interface ISubmissionCrawler\n    {\n        /// <summary>\n        /// The OJ\n        /// </summary>\n        OnlineJudge OnlineJudge { get; }\n\n        /// <summary>\n        /// A producer to produce submission info asynchronously \n        /// </summary>\n        /// <param name=\"lastSubmissionId\">the submission id of the last crawler result</param>\n        /// <param name=\"pipeline\">the pipeline to send results and errors</param>\n        /// <param name=\"cancellationToken\">The token to cancel crawling</param>\n        Task WorkAsync(\n            long? lastSubmissionId,\n            ITargetBlock<CrawlerMessage> pipeline,\n            CancellationToken cancellationToken);\n    }\n}\n"
  },
  {
    "path": "ohunt/OHunt.Web/Crawlers/NitMappingCrawler.cs",
    "content": "using System.Threading;\nusing System.Threading.Tasks;\nusing AngleSharp.Dom;\nusing Flurl;\nusing OHunt.Web.Models;\n\nnamespace OHunt.Web.Crawlers\n{\n    public class NitMappingCrawler : CrawlerBase, IMappingCrawler\n    {\n        public MappingOnlineJudge OnlineJudge => MappingOnlineJudge.NIT;\n\n        public async Task<string?> GetProblemLabel(long problemId)\n        {\n            using var document = await GetDocument(\n                \"https://www.nitacm.com/problem_show.php\"\n                    .SetQueryParam(\"pid\", problemId),\n                CancellationToken.None);\n\n            var ojDom = document.Body\n                .QuerySelector(\"span.badge.badge-info\");\n\n            if (ojDom == null)\n            {\n                return null;\n            }\n\n            var oj = ojDom.Text();\n            var label = ojDom.NextElementSibling.Text();\n\n            return $\"{oj}-{label}\";\n        }\n    }\n}\n"
  },
  {
    "path": "ohunt/OHunt.Web/Crawlers/UvaCrawlers.cs",
    "content": "using System;\nusing System.Threading;\nusing System.Threading.Tasks;\nusing OHunt.Web.Models;\n\nnamespace OHunt.Web.Crawlers\n{\n    public abstract class UvaMappingCrawlerBase : CrawlerBase, IMappingCrawler\n    {\n        private readonly string _baseUrl;\n\n        public UvaMappingCrawlerBase(string baseUrl)\n        {\n            _baseUrl = baseUrl;\n            RequestInterval = TimeSpan.FromMilliseconds(50);\n        }\n\n        public abstract MappingOnlineJudge OnlineJudge { get; }\n\n        public async Task<string?> GetProblemLabel(long problemId)\n        {\n            // TODO: make it cancelable\n            using var document = await GetJson(\n                _baseUrl + \"/api/p/id/\" + problemId, CancellationToken.None);\n            return document.RootElement.GetProperty(\"num\").GetInt64().ToString();\n        }\n    }\n\n    public class UvaMappingCrawler : UvaMappingCrawlerBase\n    {\n        public UvaMappingCrawler() : base(\"https://uhunt.onlinejudge.org\")\n        {\n        }\n\n        public override MappingOnlineJudge OnlineJudge => MappingOnlineJudge.UVA;\n    }\n\n    public class UvaLiveMappingCrawler : UvaMappingCrawlerBase\n    {\n        public UvaLiveMappingCrawler() : base(\"https://icpcarchive.ecs.baylor.edu/uhunt\")\n        {\n        }\n\n        public override MappingOnlineJudge OnlineJudge => MappingOnlineJudge.UVALive;\n    }\n}\n"
  },
  {
    "path": "ohunt/OHunt.Web/Crawlers/ZojSubmissionCrawler.cs",
    "content": "using System;\nusing System.Collections.Generic;\nusing System.Text.Json;\nusing System.Threading;\nusing System.Threading.Tasks;\nusing System.Threading.Tasks.Dataflow;\nusing Flurl;\nusing Flurl.Http;\nusing Microsoft.Extensions.Logging;\nusing OHunt.Web.Models;\nusing OHunt.Web.Utils;\n\nnamespace OHunt.Web.Crawlers\n{\n    public class ZojSubmissionCrawler : CrawlerBase, ISubmissionCrawler\n    {\n        private static Url BaseUrl => \"https://zoj.pintia.cn/api/problem-sets/91827364500/submissions\"\n            .SetQueryParam(\"show_all\", \"true\");\n\n        private readonly ILogger<ZojSubmissionCrawler> _logger;\n\n        public ZojSubmissionCrawler(ILogger<ZojSubmissionCrawler> logger)\n        {\n            _logger = logger;\n            RequestInterval = TimeSpan.FromMilliseconds(100);\n        }\n\n        public OnlineJudge OnlineJudge => OnlineJudge.ZOJ;\n\n        public async Task WorkAsync(\n            long? lastSubmissionId,\n            ITargetBlock<CrawlerMessage> pipeline,\n            CancellationToken cancellationToken)\n        {\n            var after = lastSubmissionId ?? 1;\n\n            while (true)\n            {\n                using var json = await Request(after, cancellationToken);\n                var root = json.RootElement;\n\n                if (root.TryGetProperty(\"error\", out _))\n                {\n                    after = await TrySkipErrorSubmission(after, pipeline, cancellationToken);\n                }\n                else\n                {\n                    after = await ParseSubmissions(\n                        root.GetProperty(\"submissions\").EnumerateArray(),\n                        pipeline);\n                    if (!root.GetProperty(\"hasAfter\").GetBoolean())\n                    {\n                        break;\n                    }\n                }\n            }\n        }\n\n        private async Task<JsonDocument> Request(\n            long after,\n            CancellationToken cancellationToken,\n            long? before = null)\n        {\n            cancellationToken.ThrowIfCancellationRequested();\n            var request = BaseUrl.SetQueryParam(\"after\", after)\n                .WithHeader(\"Accept\", \"application/json;charset=UTF-8\")\n                .AllowHttpStatus(500);\n            if (before != null)\n            {\n                request = request.SetQueryParam(\"before\", before);\n            }\n\n            _logger.LogTrace(\"Requesting url {0}\", request.Url);\n\n            return await GetJson(request, cancellationToken);\n        }\n\n        /// <summary>\n        /// Some page may show error message like below:\n        /// <example>\n        /// {\"error\":{\"code\":\"UNKNOWN\",\"message\":\"Unknown Error\"}}\n        /// </example>\n        /// \n        /// Try to skip certain submission that shows the error.\n        /// </summary>\n        /// <param name=\"oldAfter\">the after parameter that shows the error</param>\n        /// <param name=\"pipeline\"></param>\n        /// <param name=\"cancellationToken\"></param>\n        /// <returns>the new after to resume crawling</returns>\n        private async Task<long> TrySkipErrorSubmission(\n            long oldAfter,\n            ITargetBlock<CrawlerMessage> pipeline,\n            CancellationToken cancellationToken)\n        {\n            // use a binary search to quickly find the error submission\n            _logger.LogTrace(\"Try to skip error record\");\n\n            // [50]  50 => 25 [25] 50 => [25] 50 => [12] 13 50\n\n            long after = oldAfter;\n            int length = 100;\n            while (length > 1 && after <= oldAfter + 100)\n            {\n                // it request item between (after, before)\n                // items that have id equal to `after` or `before` are excluded\n                using var json = await Request(after, cancellationToken, after + length);\n                var root = json.RootElement;\n\n                if (root.TryGetProperty(\"error\", out _))\n                {\n                    length /= 2;\n                }\n                else\n                {\n                    after = await ParseSubmissions(\n                        root.GetProperty(\"submissions\").EnumerateArray(), pipeline);\n                }\n            }\n\n            var newAfter = after + length;\n            _logger.LogWarning(\"Submissions that has id between {0} and {1} (endpoint included) are skipped\",\n                after + 1, newAfter);\n            return newAfter;\n        }\n\n        /// <summary>\n        /// Parse the json array of submission, return the biggest id number\n        /// </summary>\n        private async Task<long> ParseSubmissions(\n            JsonElement.ArrayEnumerator array,\n            ITargetBlock<CrawlerMessage> pipeline)\n        {\n            long maxId = 0;\n            foreach (var submission in array)\n            {\n                if (submission.GetProperty(\"problemType\").GetString() != \"PROGRAMMING\")\n                {\n                    await pipeline.SendAsync(ErrorMessage(\n                        \"problemType is not PROGRAMMING\",\n                        submission.GetRawText()));\n                    continue;\n                }\n\n                var idStr = submission.GetProperty(\"id\").GetString();\n                var id = long.Parse(idStr);\n                maxId = Math.Max(id, maxId);\n\n                try\n                {\n                    await pipeline.SendAsync(new CrawlerMessage\n                    {\n                        Submission = new Submission\n                        {\n                            OnlineJudgeId = OnlineJudge,\n                            SubmissionId = id,\n                            UserName = submission.GetProperty(\"user\")\n                                .GetProperty(\"user\")\n                                .GetProperty(\"nickname\")\n                                .GetString(),\n                            Status = ParseStatus(submission.GetProperty(\"status\").GetString()),\n                            ProblemLabel = submission.GetProperty(\"problemSetProblem\")\n                                .GetProperty(\"label\")\n                                .GetString(),\n                            Time = DateTime.Parse(submission.GetProperty(\"submitAt\").GetString()),\n                        },\n                        Checkpoint = true,\n                    });\n                }\n                catch (KeyNotFoundException e)\n                {\n                    await pipeline.SendAsync(ErrorMessage(\n                        e.Message, submission.GetRawText()));\n                }\n            }\n\n            return maxId;\n        }\n\n        private static RunResult ParseStatus(string status)\n        {\n            // from TIME_LIMIT_EXCEPTION\n            var label = status.Split(\"_\")\n                // => TIME LIMIT EXCEPTION\n                .JoinToString();\n            // to TIMELIMITEXCEPTION\n\n            if (Enum.TryParse<RunResult>(label, true, out var e))\n            {\n                return e;\n            }\n            else\n            {\n                return RunResult.UnknownError;\n            }\n        }\n\n        private static CrawlerMessage ErrorMessage(string message, string data)\n        {\n            return new CrawlerMessage\n            {\n                CrawlerError = new CrawlerError\n                {\n                    Crawler = nameof(ZojSubmissionCrawler),\n                    Message = message,\n                    Time = DateTime.Now,\n                    Data = data,\n                },\n                Checkpoint = true,\n            };\n        }\n    }\n}\n"
  },
  {
    "path": "ohunt/OHunt.Web/Database/IDbBuilder.cs",
    "content": "using Microsoft.AspNetCore.Builder;\n\nnamespace OHunt.Web.Database\n{\n    public interface IDbBuilder\n    {\n        void BuildDatabase(IApplicationBuilder app);\n    }\n}\n"
  },
  {
    "path": "ohunt/OHunt.Web/Database/OHuntDbBuilder.cs",
    "content": "using Microsoft.AspNetCore.Builder;\nusing Microsoft.EntityFrameworkCore;\nusing Microsoft.Extensions.DependencyInjection;\n\nnamespace OHunt.Web.Database\n{\n    public class OHuntDbBuilder : IDbBuilder\n    {\n        public void BuildDatabase(IApplicationBuilder app)\n        {\n            using var serviceScope = app.ApplicationServices\n                .GetRequiredService<IServiceScopeFactory>()\n                .CreateScope();\n            using var context = serviceScope.ServiceProvider\n                .GetService<OHuntDbContext>();\n            context.Database.Migrate();\n        }\n    }\n}\n"
  },
  {
    "path": "ohunt/OHunt.Web/Database/OHuntDbContext.cs",
    "content": "using Microsoft.EntityFrameworkCore;\nusing OHunt.Web.Models;\n\nnamespace OHunt.Web.Database\n{\n    public class OHuntDbContext : DbContext\n    {\n        public OHuntDbContext(DbContextOptions<OHuntDbContext> options)\n            : base(options)\n        {\n        }\n\n        public DbSet<Submission> Submission { get; set; } = null!;\n\n        public DbSet<CrawlerError> CrawlerErrors { get; set; } = null!;\n\n        public DbSet<ProblemLabelMapping> ProblemLabelMappings { get; set; } = null!;\n\n        protected override void OnModelCreating(ModelBuilder modelBuilder)\n        {\n            modelBuilder.Entity<Submission>()\n                .HasKey(submission => new { submission.SubmissionId, submission.OnlineJudgeId });\n\n            modelBuilder.Entity<Submission>()\n                .HasIndex(e => e.UserName);\n            modelBuilder.Entity<Submission>()\n                .HasIndex(e => e.Status);\n\n            modelBuilder.Entity<ProblemLabelMapping>()\n                .HasKey(entity => new { entity.ProblemId, entity.OnlineJudgeId });\n        }\n    }\n}\n"
  },
  {
    "path": "ohunt/OHunt.Web/Dataflow/CrawlerPropagator.cs",
    "content": "using System;\nusing System.Collections.Generic;\nusing System.Threading.Tasks;\nusing System.Threading.Tasks.Dataflow;\nusing OHunt.Web.Crawlers;\nusing OHunt.Web.Models;\n\nnamespace OHunt.Web.Dataflow\n{\n    public class CrawlerPropagator : ITargetBlock<CrawlerMessage>\n    {\n        private const int BufferCapacity = 1000;\n\n        private readonly ITargetBlock<CrawlerMessage> _input;\n        private readonly ITargetBlock<Submission> _submissionOutput;\n        private readonly ITargetBlock<CrawlerError> _errorOutput;\n        private readonly Queue<CrawlerMessage> _queue;\n\n        public CrawlerPropagator(\n            ITargetBlock<Submission> submissionOutput,\n            ITargetBlock<CrawlerError> errorOutput)\n        {\n            _submissionOutput = submissionOutput;\n            _errorOutput = errorOutput;\n\n            _input = InitInputBlock();\n            _queue = new Queue<CrawlerMessage>(BufferCapacity);\n\n            Completion = _input.Completion.ContinueWith(task =>\n            {\n                if (task.IsFaulted)\n                {\n                    _submissionOutput.Fault(task.Exception);\n                    _errorOutput.Fault(task.Exception);\n                }\n                else\n                {\n                    // TODO: handle cancel\n                    _submissionOutput.Complete();\n                    _errorOutput.Complete();\n                }\n            });\n        }\n\n        private ActionBlock<CrawlerMessage> InitInputBlock()\n        {\n            return new ActionBlock<CrawlerMessage>(async message =>\n            {\n                if (message.Rollback)\n                {\n                    _queue.Clear();\n                    return;\n                }\n\n                if (message.Submission != null || message.CrawlerError != null)\n                {\n                    _queue.Enqueue(message);\n                }\n\n                if (message.Checkpoint)\n                {\n                    await Dispatch();\n                }\n            });\n        }\n\n        private async Task Dispatch()\n        {\n            while (_queue.TryDequeue(out var message))\n            {\n                if (message.Submission != null)\n                {\n                    await _submissionOutput.SendAsync(message.Submission);\n                }\n\n                if (message.CrawlerError != null)\n                {\n                    await _errorOutput.SendAsync(message.CrawlerError);\n                }\n            }\n        }\n\n        public DataflowMessageStatus OfferMessage(\n            DataflowMessageHeader messageHeader,\n            CrawlerMessage messageValue,\n            ISourceBlock<CrawlerMessage> source,\n            bool consumeToAccept)\n        {\n            return _input.OfferMessage(\n                messageHeader, messageValue, source, consumeToAccept);\n        }\n\n        public void Complete()\n        {\n            _input.Complete();\n        }\n\n        public void Fault(Exception exception)\n        {\n            _input.Fault(exception);\n        }\n\n        public Task Completion { get; }\n    }\n}\n"
  },
  {
    "path": "ohunt/OHunt.Web/Dataflow/DatabaseInserter.cs",
    "content": "﻿using System;\nusing System.Linq;\nusing System.Threading.Tasks;\nusing System.Threading.Tasks.Dataflow;\nusing Microsoft.Extensions.DependencyInjection;\nusing Microsoft.Extensions.Logging;\nusing OHunt.Web.Database;\n\nnamespace OHunt.Web.Dataflow\n{\n    /// <summary>\n    /// An action block to buffer inputs and batch insert them to database\n    /// </summary>\n    public class DatabaseInserter<TEntity> : ITargetBlock<DatabaseInserterMessage<TEntity>>\n        where TEntity : class\n    {\n        private readonly IServiceProvider _serviceProvider;\n        private readonly ILogger _logger;\n        private readonly TEntity[] _buffer;\n        private readonly int _bufferSize;\n        private readonly ActionBlock<DatabaseInserterMessage<TEntity>> _target;\n\n        private int _idx = 0;\n\n        public DatabaseInserter(\n            IServiceProvider serviceProvider,\n            ILogger logger,\n            int bufferSize)\n        {\n            _serviceProvider = serviceProvider;\n            _logger = logger;\n\n            _bufferSize = bufferSize;\n            _buffer = new TEntity[_bufferSize];\n\n            _target\n                = new ActionBlock<DatabaseInserterMessage<TEntity>>(OnReceive, new ExecutionDataflowBlockOptions\n                {\n                    EnsureOrdered = false,\n                    MaxDegreeOfParallelism = 1,\n                });\n            Completion = _target.Completion.ContinueWith(async _ => { await InsertAll(); });\n\n            _logger.LogInformation(\"Initialized, buffer size: {0}\", _bufferSize);\n        }\n\n\n        private async Task OnReceive(DatabaseInserterMessage<TEntity> message)\n        {\n            if (message.Entity != null)\n            {\n                Enqueue(message.Entity);\n            }\n\n            if (_idx >= _bufferSize || message.ForceInsert)\n            {\n                await InsertAll();\n            }\n        }\n\n        private void Enqueue(TEntity entity)\n        {\n            _buffer[_idx] = entity;\n            ++_idx;\n        }\n\n        private async Task InsertAll()\n        {\n            _logger.LogTrace(\"Try to insert records to database\");\n            using var scope = _serviceProvider.CreateScope();\n            var context = scope.ServiceProvider.GetRequiredService<OHuntDbContext>();\n            context.ChangeTracker.AutoDetectChangesEnabled = false;\n\n            await context.Set<TEntity>().AddRangeAsync(_buffer.Take(_idx));\n            _idx = 0;\n\n            context.ChangeTracker.DetectChanges();\n            var inserted = await context.SaveChangesAsync();\n\n            _logger.LogInformation(\"{0} rows inserted\", inserted);\n        }\n\n        public DataflowMessageStatus OfferMessage(\n            DataflowMessageHeader messageHeader,\n            DatabaseInserterMessage<TEntity> messageValue,\n            ISourceBlock<DatabaseInserterMessage<TEntity>> source,\n            bool consumeToAccept)\n        {\n            return ((ITargetBlock<DatabaseInserterMessage<TEntity>>) _target)\n                .OfferMessage(messageHeader, messageValue, source, consumeToAccept);\n        }\n\n        public void Complete()\n        {\n            _target.Complete();\n        }\n\n        public void Fault(Exception exception)\n        {\n            ((ITargetBlock<DatabaseInserterMessage<TEntity>>) _target).Fault(exception);\n        }\n\n        public Task Completion { get; }\n    }\n}\n"
  },
  {
    "path": "ohunt/OHunt.Web/Dataflow/DatabaseInserterFactory.cs",
    "content": "using System;\nusing AngleSharp.Common;\nusing Microsoft.Extensions.Logging;\nusing Microsoft.Extensions.Options;\nusing OHunt.Web.Options;\n\nnamespace OHunt.Web.Dataflow\n{\n    public class DatabaseInserterFactory\n    {\n        private readonly IServiceProvider _serviceProvider;\n        private readonly ILoggerFactory _loggerFactory;\n        private readonly IOptions<DatabaseInserterOptions> _options;\n\n        public DatabaseInserterFactory(\n            IServiceProvider serviceProvider,\n            IOptions<DatabaseInserterOptions> options,\n            ILoggerFactory loggerFactory)\n        {\n            _serviceProvider = serviceProvider;\n            _options = options;\n            _loggerFactory = loggerFactory;\n        }\n\n        public DatabaseInserter<TEntity> CreateInstance<TEntity>()\n            where TEntity : class\n        {\n            var bufferSize = _options\n                .Value.BufferSize.GetOrDefault(typeof(TEntity).Name, _options.Value.DefaultBufferSize);\n            return new DatabaseInserter<TEntity>(\n                _serviceProvider,\n                _loggerFactory.CreateLogger($\"DatabaseInserter({typeof(TEntity).Name})\"),\n                bufferSize);\n        }\n    }\n}\n"
  },
  {
    "path": "ohunt/OHunt.Web/Dataflow/DatabaseInserterMessage.cs",
    "content": "namespace OHunt.Web.Dataflow\n{\n    /// <summary>\n    /// A message sent to database inserter\n    /// </summary>\n    /// <typeparam name=\"T\"></typeparam>\n    public readonly struct DatabaseInserterMessage<T>\n        where T : class\n    {\n        private DatabaseInserterMessage(T? entity, bool forceInsert)\n        {\n            Entity = entity;\n            ForceInsert = forceInsert;\n        }\n\n        /// <summary>\n        /// Create an instance with the entity\n        /// </summary>\n        /// <param name=\"entity\"></param>\n        /// <param name=\"forceInsert\">Should it trigger force insert (default false)</param>\n        /// <returns></returns>\n        public static DatabaseInserterMessage<T> OfEntity(T entity, bool forceInsert = false)\n        {\n            return new DatabaseInserterMessage<T>(entity, forceInsert);\n        }\n\n        /// <summary>\n        /// Create an instance with force insert\n        /// </summary>\n        public static DatabaseInserterMessage<T> ForceInsertMessage\n            => new DatabaseInserterMessage<T>(null, true);\n\n        public T? Entity { get; }\n\n        /// <summary>\n        /// If it is true, all data in buffer is inserted to database\n        /// even if the buffer is not full.\n        /// </summary>\n        public bool ForceInsert { get; }\n    }\n}\n"
  },
  {
    "path": "ohunt/OHunt.Web/Dataflow/SubmissionCrawlerCoordinator.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Threading;\nusing System.Threading.Tasks;\nusing System.Threading.Tasks.Dataflow;\nusing Microsoft.EntityFrameworkCore;\nusing Microsoft.Extensions.DependencyInjection;\nusing Microsoft.Extensions.Logging;\nusing OHunt.Web.Crawlers;\nusing OHunt.Web.Database;\nusing OHunt.Web.Models;\n\nnamespace OHunt.Web.Dataflow\n{\n    public class SubmissionCrawlerCoordinator : IDisposable\n    {\n        private readonly DatabaseInserterFactory _databaseInserterFactory;\n        private readonly IServiceProvider _serviceProvider;\n        private readonly ILogger<SubmissionCrawlerCoordinator> _logger;\n        private readonly SemaphoreSlim _lock = new SemaphoreSlim(1, 1);\n\n        private bool _initialized = false;\n        private ISubmissionCrawler[] _crawlers = null!;\n        private Task[] _crawlerTasks = null!;\n\n        private CancellationTokenSource _cancel =\n            new CancellationTokenSource();\n\n        private DatabaseInserter<Submission> _submissionInserter = null!;\n        private DatabaseInserter<CrawlerError> _errorInserter = null!;\n\n        private bool _disposed = false;\n\n        public SubmissionCrawlerCoordinator(\n            DatabaseInserterFactory databaseInserterFactory,\n            IServiceProvider serviceProvider,\n            ILogger<SubmissionCrawlerCoordinator> logger)\n        {\n            _databaseInserterFactory = databaseInserterFactory;\n            _serviceProvider = serviceProvider;\n            _logger = logger;\n        }\n\n        /// <summary>\n        /// Initialize using the crawlers\n        /// </summary>\n        /// <param name=\"crawlers\"></param>\n        /// <exception cref=\"InvalidOperationException\"></exception>\n        public void Initialize(IEnumerable<ISubmissionCrawler> crawlers)\n        {\n            EnsureNotDisposed();\n\n            if (_initialized)\n            {\n                throw new InvalidOperationException(\"Coordinator is initialized\");\n            }\n\n            _crawlers = crawlers.ToArray();\n            _crawlerTasks = Enumerable.Repeat(Task.CompletedTask, _crawlers.Length)\n                .ToArray();\n\n            _submissionInserter = _databaseInserterFactory.CreateInstance<Submission>();\n            _errorInserter = _databaseInserterFactory.CreateInstance<CrawlerError>();\n\n            _initialized = true;\n        }\n\n        /// <summary>\n        /// Start all crawlers. If a crawler is not done yet, do nothing.\n        /// </summary>\n        public async Task StartAllCrawlers()\n        {\n            EnsureNotDisposed();\n\n            if (!_initialized)\n            {\n                throw new InvalidOperationException($\"{nameof(SubmissionCrawlerCoordinator)} is not initialized\");\n            }\n\n            await _lock.WaitAsync();\n            try\n            {\n                _cancel.Dispose();\n                _cancel = new CancellationTokenSource();\n                for (int i = 0; i < _crawlers.Length; i++)\n                {\n                    var crawler = _crawlers[i];\n                    if (_crawlerTasks[i].IsCompleted)\n                    {\n                        _crawlerTasks[i] = StartCrawler(crawler);\n                    }\n                    else\n                    {\n                        _logger.LogInformation(\n                            $\"Previous crawler {crawler.OnlineJudge.ToString()} is not finished yet\");\n                    }\n                }\n            }\n            finally\n            {\n                _lock.Release();\n            }\n        }\n\n        /// <summary>\n        /// Cancel all crawlers. Task is done when all crawlers are completed.\n        /// </summary>\n        public async Task Cancel()\n        {\n            EnsureNotDisposed();\n\n            if (!_initialized)\n            {\n                throw new InvalidOperationException($\"{nameof(SubmissionCrawlerCoordinator)} is not initialized\");\n            }\n\n            await _lock.WaitAsync();\n            try\n            {\n                _cancel.Cancel();\n                await Task.WhenAll(_crawlerTasks);\n\n                _submissionInserter.Complete();\n                _errorInserter.Complete();\n\n                await _submissionInserter.Completion;\n                await _errorInserter.Completion;\n\n                _initialized = false;\n            }\n            finally\n            {\n                _lock.Release();\n            }\n        }\n\n        public void Dispose()\n        {\n            if (_disposed) return;\n\n            _cancel.Dispose();\n            _lock.Dispose();\n            _disposed = true;\n        }\n\n        private void EnsureNotDisposed()\n        {\n            if (_disposed)\n            {\n                throw new InvalidOperationException(\"Current object is disposed\");\n            }\n        }\n\n        private async Task StartCrawler(ISubmissionCrawler crawler)\n        {\n            var oj = crawler.OnlineJudge;\n\n            long? latestSubmissionId;\n            using (var scope = _serviceProvider.CreateScope())\n            {\n                var context = scope.ServiceProvider.GetRequiredService<OHuntDbContext>();\n                latestSubmissionId = (await context.Submission\n                    .Where(e => e.OnlineJudgeId == oj)\n                    .OrderByDescending(e => e.SubmissionId)\n                    .FirstOrDefaultAsync(_cancel.Token))?.SubmissionId;\n            }\n\n            _logger.LogTrace(\"Work on {0}, latestSubmissionId {1}\", oj.ToString(), latestSubmissionId);\n\n            var submissionTransformer = CreateTransformer<Submission>();\n            var errorTransformer = CreateTransformer<CrawlerError>();\n\n            using var submissionUnlink = submissionTransformer.LinkTo(_submissionInserter);\n            using var errorUnlink = errorTransformer.LinkTo(_errorInserter);\n\n            var propagator = new CrawlerPropagator(submissionTransformer, errorTransformer);\n\n            try\n            {\n                await crawler.WorkAsync(latestSubmissionId, propagator, _cancel.Token);\n                await propagator.SendAsync(new CrawlerMessage\n                {\n                    Checkpoint = true,\n                });\n                propagator.Complete();\n            }\n            catch (Exception e)\n            {\n                _logger.LogError(e, $\"Exception when running crawler {oj.ToString()}\");\n\n                // data from last checkpoint is automatically discarded\n                propagator.Complete();\n\n                // TODO: add entity CrawlerExecuteLog , save the execution time and result of \n                // the crawler\n            }\n\n            await propagator.Completion;\n            await submissionTransformer.Completion;\n            await errorTransformer.Completion;\n\n            // TODO: call this after all crawler finished or after 30 minutes\n            await _submissionInserter.SendAsync(DatabaseInserterMessage<Submission>.ForceInsertMessage);\n            await _errorInserter.SendAsync(DatabaseInserterMessage<CrawlerError>.ForceInsertMessage);\n        }\n\n        private static DatabaseInserterMessage<T> EntityToMessage<T>(T entity)\n            where T : class\n        {\n            return DatabaseInserterMessage<T>.OfEntity(entity);\n        }\n\n        private static TransformBlock<T, DatabaseInserterMessage<T>>\n            CreateTransformer<T>()\n            where T : class\n        {\n            return new TransformBlock<T, DatabaseInserterMessage<T>>(\n                (Func<T, DatabaseInserterMessage<T>>) EntityToMessage);\n        }\n    }\n}\n"
  },
  {
    "path": "ohunt/OHunt.Web/Dockerfile",
    "content": "#See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging.\n\nFROM mcr.microsoft.com/dotnet/aspnet:8.0 AS base\nWORKDIR /app\nEXPOSE 80\nEXPOSE 443\n\nFROM mcr.microsoft.com/dotnet/sdk:8.0 AS build\nWORKDIR /src\nCOPY [\"OHunt.Web/OHunt.Web.csproj\", \"OHunt.Web/\"]\nRUN dotnet restore \"OHunt.Web/OHunt.Web.csproj\"\nCOPY . .\nWORKDIR \"/src/OHunt.Web\"\nRUN dotnet build \"OHunt.Web.csproj\" -c Release -o /app/build\n\nFROM build AS publish\nRUN dotnet publish \"OHunt.Web.csproj\" -c Release -o /app/publish\n\nFROM base AS final\nRUN apt-get update && apt-get install -y wait-for-it\nENV WAIT_COMMAND true\nWORKDIR /app\nCOPY --from=publish /app/publish .\nENV ASPNETCORE_HTTP_PORTS 80\nCMD $WAIT_COMMAND && dotnet OHunt.Web.dll\n"
  },
  {
    "path": "ohunt/OHunt.Web/GlobalConfigurer.cs",
    "content": "using System.Runtime.CompilerServices;\nusing Flurl.Http;\n\nnamespace OHunt.Web\n{\n    /// <summary>\n    /// Setup some config that are applied for both runtime and testing\n    /// </summary>\n    public class GlobalConfigurer\n    {\n        [ModuleInitializer]\n        public static void Configure()\n        {\n            FlurlHttp.ConfigureClientForUrl(\"https://icpcarchive.ecs.baylor.edu/uhunt\")\n                .ConfigureInnerHandler(handler => handler.ServerCertificateCustomValidationCallback = (msg, cert, chain, errors) => true);\n        }\n    }\n}\n"
  },
  {
    "path": "ohunt/OHunt.Web/Migrations/20200701054200_Init.Designer.cs",
    "content": "﻿// <auto-generated />\nusing Microsoft.EntityFrameworkCore;\nusing Microsoft.EntityFrameworkCore.Infrastructure;\nusing Microsoft.EntityFrameworkCore.Migrations;\nusing Microsoft.EntityFrameworkCore.Storage.ValueConversion;\nusing OHunt.Web.Database;\n\nnamespace OHunt.Web.Migrations\n{\n    [DbContext(typeof(OHuntDbContext))]\n    [Migration(\"20200701054200_Init\")]\n    partial class Init\n    {\n        protected override void BuildTargetModel(ModelBuilder modelBuilder)\n        {\n#pragma warning disable 612, 618\n            modelBuilder\n                .HasAnnotation(\"ProductVersion\", \"3.1.4\")\n                .HasAnnotation(\"Relational:MaxIdentifierLength\", 64);\n\n            modelBuilder.Entity(\"OHunt.Web.Models.Submission\", b =>\n                {\n                    b.Property<long>(\"SubmissionId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int>(\"OnlineJudgeId\")\n                        .HasColumnType(\"int\");\n\n                    b.HasKey(\"SubmissionId\", \"OnlineJudgeId\");\n\n                    b.ToTable(\"submissions\");\n                });\n#pragma warning restore 612, 618\n        }\n    }\n}\n"
  },
  {
    "path": "ohunt/OHunt.Web/Migrations/20200701054200_Init.cs",
    "content": "﻿using Microsoft.EntityFrameworkCore.Migrations;\n\nnamespace OHunt.Web.Migrations\n{\n    public partial class Init : Migration\n    {\n        protected override void Up(MigrationBuilder migrationBuilder)\n        {\n            migrationBuilder.CreateTable(\n                name: \"submissions\",\n                columns: table => new\n                {\n                    SubmissionId = table.Column<long>(nullable: false),\n                    OnlineJudgeId = table.Column<int>(nullable: false),\n                },\n                constraints: table =>\n                {\n                    table.PrimaryKey(\"PK_submissions\", x => new { x.SubmissionId, x.OnlineJudgeId });\n                });\n        }\n\n        protected override void Down(MigrationBuilder migrationBuilder)\n        {\n            migrationBuilder.DropTable(\n                name: \"submissions\");\n        }\n    }\n}\n"
  },
  {
    "path": "ohunt/OHunt.Web/Migrations/20200701112402_AddSubmission.Designer.cs",
    "content": "﻿// <auto-generated />\nusing System;\nusing Microsoft.EntityFrameworkCore;\nusing Microsoft.EntityFrameworkCore.Infrastructure;\nusing Microsoft.EntityFrameworkCore.Migrations;\nusing Microsoft.EntityFrameworkCore.Storage.ValueConversion;\nusing OHunt.Web.Database;\n\nnamespace OHunt.Web.Migrations\n{\n    [DbContext(typeof(OHuntDbContext))]\n    [Migration(\"20200701112402_AddSubmission\")]\n    partial class AddSubmission\n    {\n        protected override void BuildTargetModel(ModelBuilder modelBuilder)\n        {\n#pragma warning disable 612, 618\n            modelBuilder\n                .HasAnnotation(\"ProductVersion\", \"3.1.5\")\n                .HasAnnotation(\"Relational:MaxIdentifierLength\", 64);\n\n            modelBuilder.Entity(\"OHunt.Web.Models.Submission\", b =>\n                {\n                    b.Property<long>(\"SubmissionId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int>(\"OnlineJudgeId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"ProblemLabel\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(25) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(25);\n\n                    b.Property<int>(\"Status\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<DateTime>(\"Time\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"UserName\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(75) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(75);\n\n                    b.HasKey(\"SubmissionId\", \"OnlineJudgeId\");\n\n                    b.ToTable(\"submissions\");\n                });\n#pragma warning restore 612, 618\n        }\n    }\n}\n"
  },
  {
    "path": "ohunt/OHunt.Web/Migrations/20200701112402_AddSubmission.cs",
    "content": "﻿using System;\nusing Microsoft.EntityFrameworkCore.Migrations;\n\nnamespace OHunt.Web.Migrations\n{\n    public partial class AddSubmission : Migration\n    {\n        protected override void Up(MigrationBuilder migrationBuilder)\n        {\n            migrationBuilder.AddColumn<string>(\n                name: \"ProblemLabel\",\n                table: \"submissions\",\n                maxLength: 25,\n                nullable: false,\n                defaultValue: \"\");\n\n            migrationBuilder.AddColumn<int>(\n                name: \"Status\",\n                table: \"submissions\",\n                nullable: false,\n                defaultValue: 0);\n\n            migrationBuilder.AddColumn<DateTime>(\n                name: \"Time\",\n                table: \"submissions\",\n                nullable: false,\n                defaultValue: new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified));\n\n            migrationBuilder.AddColumn<string>(\n                name: \"UserName\",\n                table: \"submissions\",\n                maxLength: 75,\n                nullable: false,\n                defaultValue: \"\");\n        }\n\n        protected override void Down(MigrationBuilder migrationBuilder)\n        {\n            migrationBuilder.DropColumn(\n                name: \"ProblemLabel\",\n                table: \"submissions\");\n\n            migrationBuilder.DropColumn(\n                name: \"Status\",\n                table: \"submissions\");\n\n            migrationBuilder.DropColumn(\n                name: \"Time\",\n                table: \"submissions\");\n\n            migrationBuilder.DropColumn(\n                name: \"UserName\",\n                table: \"submissions\");\n        }\n    }\n}\n"
  },
  {
    "path": "ohunt/OHunt.Web/Migrations/20200702060356_AddIndex.Designer.cs",
    "content": "﻿// <auto-generated />\nusing System;\nusing Microsoft.EntityFrameworkCore;\nusing Microsoft.EntityFrameworkCore.Infrastructure;\nusing Microsoft.EntityFrameworkCore.Migrations;\nusing Microsoft.EntityFrameworkCore.Storage.ValueConversion;\nusing OHunt.Web.Database;\n\nnamespace OHunt.Web.Migrations\n{\n    [DbContext(typeof(OHuntDbContext))]\n    [Migration(\"20200702060356_AddIndex\")]\n    partial class AddIndex\n    {\n        protected override void BuildTargetModel(ModelBuilder modelBuilder)\n        {\n#pragma warning disable 612, 618\n            modelBuilder\n                .HasAnnotation(\"ProductVersion\", \"3.1.5\")\n                .HasAnnotation(\"Relational:MaxIdentifierLength\", 64);\n\n            modelBuilder.Entity(\"OHunt.Web.Models.Submission\", b =>\n                {\n                    b.Property<long>(\"SubmissionId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int>(\"OnlineJudgeId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"ProblemLabel\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(25) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(25);\n\n                    b.Property<int>(\"Status\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<DateTime>(\"Time\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"UserName\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(75) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(75);\n\n                    b.HasKey(\"SubmissionId\", \"OnlineJudgeId\");\n\n                    b.HasIndex(\"Status\");\n\n                    b.HasIndex(\"UserName\");\n\n                    b.ToTable(\"submissions\");\n                });\n#pragma warning restore 612, 618\n        }\n    }\n}\n"
  },
  {
    "path": "ohunt/OHunt.Web/Migrations/20200702060356_AddIndex.cs",
    "content": "﻿using Microsoft.EntityFrameworkCore.Migrations;\n\nnamespace OHunt.Web.Migrations\n{\n    public partial class AddIndex : Migration\n    {\n        protected override void Up(MigrationBuilder migrationBuilder)\n        {\n            migrationBuilder.CreateIndex(\n                name: \"IX_submissions_Status\",\n                table: \"submissions\",\n                column: \"Status\");\n\n            migrationBuilder.CreateIndex(\n                name: \"IX_submissions_UserName\",\n                table: \"submissions\",\n                column: \"UserName\");\n        }\n\n        protected override void Down(MigrationBuilder migrationBuilder)\n        {\n            migrationBuilder.DropIndex(\n                name: \"IX_submissions_Status\",\n                table: \"submissions\");\n\n            migrationBuilder.DropIndex(\n                name: \"IX_submissions_UserName\",\n                table: \"submissions\");\n        }\n    }\n}\n"
  },
  {
    "path": "ohunt/OHunt.Web/Migrations/20200702142254_AddCrawlerError.Designer.cs",
    "content": "﻿// <auto-generated />\nusing System;\nusing Microsoft.EntityFrameworkCore;\nusing Microsoft.EntityFrameworkCore.Infrastructure;\nusing Microsoft.EntityFrameworkCore.Migrations;\nusing Microsoft.EntityFrameworkCore.Storage.ValueConversion;\nusing OHunt.Web.Database;\n\nnamespace OHunt.Web.Migrations\n{\n    [DbContext(typeof(OHuntDbContext))]\n    [Migration(\"20200702142254_AddCrawlerError\")]\n    partial class AddCrawlerError\n    {\n        protected override void BuildTargetModel(ModelBuilder modelBuilder)\n        {\n#pragma warning disable 612, 618\n            modelBuilder\n                .HasAnnotation(\"ProductVersion\", \"3.1.5\")\n                .HasAnnotation(\"Relational:MaxIdentifierLength\", 64);\n\n            modelBuilder.Entity(\"OHunt.Web.Models.CrawlerError\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Crawler\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"Data\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"Message\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<DateTime>(\"Time\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.HasKey(\"Id\");\n\n                    b.ToTable(\"CrawlerError\");\n                });\n\n            modelBuilder.Entity(\"OHunt.Web.Models.Submission\", b =>\n                {\n                    b.Property<long>(\"SubmissionId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int>(\"OnlineJudgeId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"ProblemLabel\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(25) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(25);\n\n                    b.Property<int>(\"Status\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<DateTime>(\"Time\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"UserName\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(75) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(75);\n\n                    b.HasKey(\"SubmissionId\", \"OnlineJudgeId\");\n\n                    b.HasIndex(\"Status\");\n\n                    b.HasIndex(\"UserName\");\n\n                    b.ToTable(\"submissions\");\n                });\n#pragma warning restore 612, 618\n        }\n    }\n}\n"
  },
  {
    "path": "ohunt/OHunt.Web/Migrations/20200702142254_AddCrawlerError.cs",
    "content": "﻿using System;\nusing Microsoft.EntityFrameworkCore.Metadata;\nusing Microsoft.EntityFrameworkCore.Migrations;\n\nnamespace OHunt.Web.Migrations\n{\n    public partial class AddCrawlerError : Migration\n    {\n        protected override void Up(MigrationBuilder migrationBuilder)\n        {\n            migrationBuilder.CreateTable(\n                name: \"CrawlerError\",\n                columns: table => new\n                {\n                    Id = table.Column<long>(nullable: false)\n                        .Annotation(\"MySql:ValueGenerationStrategy\", MySqlValueGenerationStrategy.IdentityColumn),\n                    Crawler = table.Column<string>(nullable: false),\n                    Message = table.Column<string>(nullable: false),\n                    Time = table.Column<DateTime>(nullable: false),\n                    Data = table.Column<string>(nullable: true)\n                },\n                constraints: table =>\n                {\n                    table.PrimaryKey(\"PK_CrawlerError\", x => x.Id);\n                });\n        }\n\n        protected override void Down(MigrationBuilder migrationBuilder)\n        {\n            migrationBuilder.DropTable(\n                name: \"CrawlerError\");\n        }\n    }\n}\n"
  },
  {
    "path": "ohunt/OHunt.Web/Migrations/20200802072749_AddProblemLabelMapping.Designer.cs",
    "content": "﻿// <auto-generated />\nusing System;\nusing Microsoft.EntityFrameworkCore;\nusing Microsoft.EntityFrameworkCore.Infrastructure;\nusing Microsoft.EntityFrameworkCore.Migrations;\nusing Microsoft.EntityFrameworkCore.Storage.ValueConversion;\nusing OHunt.Web.Database;\n\nnamespace OHunt.Web.Migrations\n{\n    [DbContext(typeof(OHuntDbContext))]\n    [Migration(\"20200802072749_AddProblemLabelMapping\")]\n    partial class AddProblemLabelMapping\n    {\n        protected override void BuildTargetModel(ModelBuilder modelBuilder)\n        {\n#pragma warning disable 612, 618\n            modelBuilder\n                .HasAnnotation(\"ProductVersion\", \"3.1.6\")\n                .HasAnnotation(\"Relational:MaxIdentifierLength\", 64);\n\n            modelBuilder.Entity(\"OHunt.Web.Models.CrawlerError\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Crawler\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"Data\")\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<string>(\"Message\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext CHARACTER SET utf8mb4\");\n\n                    b.Property<DateTime>(\"Time\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.HasKey(\"Id\");\n\n                    b.ToTable(\"CrawlerError\");\n                });\n\n            modelBuilder.Entity(\"OHunt.Web.Models.ProblemLabelMapping\", b =>\n                {\n                    b.Property<long>(\"ProblemId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int>(\"OnlineJudgeId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"ProblemLabel\")\n                        .HasColumnType(\"varchar(25) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(25);\n\n                    b.HasKey(\"ProblemId\", \"OnlineJudgeId\");\n\n                    b.ToTable(\"problem_label_mappings\");\n                });\n\n            modelBuilder.Entity(\"OHunt.Web.Models.Submission\", b =>\n                {\n                    b.Property<long>(\"SubmissionId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int>(\"OnlineJudgeId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"ProblemLabel\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(25) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(25);\n\n                    b.Property<int>(\"Status\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<DateTime>(\"Time\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"UserName\")\n                        .IsRequired()\n                        .HasColumnType(\"varchar(75) CHARACTER SET utf8mb4\")\n                        .HasMaxLength(75);\n\n                    b.HasKey(\"SubmissionId\", \"OnlineJudgeId\");\n\n                    b.HasIndex(\"Status\");\n\n                    b.HasIndex(\"UserName\");\n\n                    b.ToTable(\"submissions\");\n                });\n#pragma warning restore 612, 618\n        }\n    }\n}\n"
  },
  {
    "path": "ohunt/OHunt.Web/Migrations/20200802072749_AddProblemLabelMapping.cs",
    "content": "﻿using Microsoft.EntityFrameworkCore.Migrations;\n\nnamespace OHunt.Web.Migrations\n{\n    public partial class AddProblemLabelMapping : Migration\n    {\n        protected override void Up(MigrationBuilder migrationBuilder)\n        {\n            migrationBuilder.CreateTable(\n                name: \"problem_label_mappings\",\n                columns: table => new\n                {\n                    ProblemId = table.Column<long>(nullable: false),\n                    OnlineJudgeId = table.Column<int>(nullable: false),\n                    ProblemLabel = table.Column<string>(maxLength: 25, nullable: true)\n                },\n                constraints: table =>\n                {\n                    table.PrimaryKey(\"PK_problem_label_mappings\", x => new { x.ProblemId, x.OnlineJudgeId });\n                });\n        }\n\n        protected override void Down(MigrationBuilder migrationBuilder)\n        {\n            migrationBuilder.DropTable(\n                name: \"problem_label_mappings\");\n        }\n    }\n}\n"
  },
  {
    "path": "ohunt/OHunt.Web/Migrations/20210627092639_UpgradeDriver.Designer.cs",
    "content": "﻿// <auto-generated />\nusing System;\nusing Microsoft.EntityFrameworkCore;\nusing Microsoft.EntityFrameworkCore.Infrastructure;\nusing Microsoft.EntityFrameworkCore.Migrations;\nusing Microsoft.EntityFrameworkCore.Storage.ValueConversion;\nusing OHunt.Web.Database;\n\nnamespace OHunt.Web.Migrations\n{\n    [DbContext(typeof(OHuntDbContext))]\n    [Migration(\"20210627092639_UpgradeDriver\")]\n    partial class UpgradeDriver\n    {\n        protected override void BuildTargetModel(ModelBuilder modelBuilder)\n        {\n#pragma warning disable 612, 618\n            modelBuilder\n                .HasAnnotation(\"Relational:MaxIdentifierLength\", 64)\n                .HasAnnotation(\"ProductVersion\", \"5.0.7\");\n\n            modelBuilder.Entity(\"OHunt.Web.Models.CrawlerError\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Crawler\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext\");\n\n                    b.Property<string>(\"Data\")\n                        .HasColumnType(\"longtext\");\n\n                    b.Property<string>(\"Message\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext\");\n\n                    b.Property<DateTime>(\"Time\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.HasKey(\"Id\");\n\n                    b.ToTable(\"CrawlerError\");\n                });\n\n            modelBuilder.Entity(\"OHunt.Web.Models.ProblemLabelMapping\", b =>\n                {\n                    b.Property<long>(\"ProblemId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int>(\"OnlineJudgeId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"ProblemLabel\")\n                        .HasMaxLength(25)\n                        .HasColumnType(\"varchar(25)\");\n\n                    b.HasKey(\"ProblemId\", \"OnlineJudgeId\");\n\n                    b.ToTable(\"problem_label_mappings\");\n                });\n\n            modelBuilder.Entity(\"OHunt.Web.Models.Submission\", b =>\n                {\n                    b.Property<long>(\"SubmissionId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int>(\"OnlineJudgeId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"ProblemLabel\")\n                        .IsRequired()\n                        .HasMaxLength(25)\n                        .HasColumnType(\"varchar(25)\");\n\n                    b.Property<int>(\"Status\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<DateTime>(\"Time\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"UserName\")\n                        .IsRequired()\n                        .HasMaxLength(75)\n                        .HasColumnType(\"varchar(75)\");\n\n                    b.HasKey(\"SubmissionId\", \"OnlineJudgeId\");\n\n                    b.HasIndex(\"Status\");\n\n                    b.HasIndex(\"UserName\");\n\n                    b.ToTable(\"submissions\");\n                });\n#pragma warning restore 612, 618\n        }\n    }\n}\n"
  },
  {
    "path": "ohunt/OHunt.Web/Migrations/20210627092639_UpgradeDriver.cs",
    "content": "﻿using Microsoft.EntityFrameworkCore.Migrations;\n\nnamespace OHunt.Web.Migrations\n{\n    public partial class UpgradeDriver : Migration\n    {\n        protected override void Up(MigrationBuilder migrationBuilder)\n        {\n            migrationBuilder.AlterColumn<string>(\n                name: \"Message\",\n                table: \"CrawlerError\",\n                type: \"longtext\",\n                nullable: false,\n                oldClrType: typeof(string),\n                oldType: \"longtext CHARACTER SET utf8mb4\")\n                .Annotation(\"MySql:CharSet\", \"utf8mb4\")\n                .OldAnnotation(\"MySql:CharSet\", \"utf8mb4\");\n\n            migrationBuilder.AlterColumn<string>(\n                name: \"Data\",\n                table: \"CrawlerError\",\n                type: \"longtext\",\n                nullable: true,\n                oldClrType: typeof(string),\n                oldType: \"longtext CHARACTER SET utf8mb4\",\n                oldNullable: true)\n                .Annotation(\"MySql:CharSet\", \"utf8mb4\")\n                .OldAnnotation(\"MySql:CharSet\", \"utf8mb4\");\n\n            migrationBuilder.AlterColumn<string>(\n                name: \"Crawler\",\n                table: \"CrawlerError\",\n                type: \"longtext\",\n                nullable: false,\n                oldClrType: typeof(string),\n                oldType: \"longtext CHARACTER SET utf8mb4\")\n                .Annotation(\"MySql:CharSet\", \"utf8mb4\")\n                .OldAnnotation(\"MySql:CharSet\", \"utf8mb4\");\n        }\n\n        protected override void Down(MigrationBuilder migrationBuilder)\n        {\n            migrationBuilder.AlterColumn<string>(\n                name: \"Message\",\n                table: \"CrawlerError\",\n                type: \"longtext CHARACTER SET utf8mb4\",\n                nullable: false,\n                oldClrType: typeof(string),\n                oldType: \"longtext\")\n                .Annotation(\"MySql:CharSet\", \"utf8mb4\")\n                .OldAnnotation(\"MySql:CharSet\", \"utf8mb4\");\n\n            migrationBuilder.AlterColumn<string>(\n                name: \"Data\",\n                table: \"CrawlerError\",\n                type: \"longtext CHARACTER SET utf8mb4\",\n                nullable: true,\n                oldClrType: typeof(string),\n                oldType: \"longtext\",\n                oldNullable: true)\n                .Annotation(\"MySql:CharSet\", \"utf8mb4\")\n                .OldAnnotation(\"MySql:CharSet\", \"utf8mb4\");\n\n            migrationBuilder.AlterColumn<string>(\n                name: \"Crawler\",\n                table: \"CrawlerError\",\n                type: \"longtext CHARACTER SET utf8mb4\",\n                nullable: false,\n                oldClrType: typeof(string),\n                oldType: \"longtext\")\n                .Annotation(\"MySql:CharSet\", \"utf8mb4\")\n                .OldAnnotation(\"MySql:CharSet\", \"utf8mb4\");\n        }\n    }\n}\n"
  },
  {
    "path": "ohunt/OHunt.Web/Migrations/OHuntWebContextModelSnapshot.cs",
    "content": "﻿// <auto-generated />\nusing System;\nusing Microsoft.EntityFrameworkCore;\nusing Microsoft.EntityFrameworkCore.Infrastructure;\nusing Microsoft.EntityFrameworkCore.Storage.ValueConversion;\nusing OHunt.Web.Database;\n\nnamespace OHunt.Web.Migrations\n{\n    [DbContext(typeof(OHuntDbContext))]\n    partial class OHuntWebContextModelSnapshot : ModelSnapshot\n    {\n        protected override void BuildModel(ModelBuilder modelBuilder)\n        {\n#pragma warning disable 612, 618\n            modelBuilder\n                .HasAnnotation(\"Relational:MaxIdentifierLength\", 64)\n                .HasAnnotation(\"ProductVersion\", \"5.0.7\");\n\n            modelBuilder.Entity(\"OHunt.Web.Models.CrawlerError\", b =>\n                {\n                    b.Property<long>(\"Id\")\n                        .ValueGeneratedOnAdd()\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<string>(\"Crawler\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext\");\n\n                    b.Property<string>(\"Data\")\n                        .HasColumnType(\"longtext\");\n\n                    b.Property<string>(\"Message\")\n                        .IsRequired()\n                        .HasColumnType(\"longtext\");\n\n                    b.Property<DateTime>(\"Time\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.HasKey(\"Id\");\n\n                    b.ToTable(\"CrawlerError\");\n                });\n\n            modelBuilder.Entity(\"OHunt.Web.Models.ProblemLabelMapping\", b =>\n                {\n                    b.Property<long>(\"ProblemId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int>(\"OnlineJudgeId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"ProblemLabel\")\n                        .HasMaxLength(25)\n                        .HasColumnType(\"varchar(25)\");\n\n                    b.HasKey(\"ProblemId\", \"OnlineJudgeId\");\n\n                    b.ToTable(\"problem_label_mappings\");\n                });\n\n            modelBuilder.Entity(\"OHunt.Web.Models.Submission\", b =>\n                {\n                    b.Property<long>(\"SubmissionId\")\n                        .HasColumnType(\"bigint\");\n\n                    b.Property<int>(\"OnlineJudgeId\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<string>(\"ProblemLabel\")\n                        .IsRequired()\n                        .HasMaxLength(25)\n                        .HasColumnType(\"varchar(25)\");\n\n                    b.Property<int>(\"Status\")\n                        .HasColumnType(\"int\");\n\n                    b.Property<DateTime>(\"Time\")\n                        .HasColumnType(\"datetime(6)\");\n\n                    b.Property<string>(\"UserName\")\n                        .IsRequired()\n                        .HasMaxLength(75)\n                        .HasColumnType(\"varchar(75)\");\n\n                    b.HasKey(\"SubmissionId\", \"OnlineJudgeId\");\n\n                    b.HasIndex(\"Status\");\n\n                    b.HasIndex(\"UserName\");\n\n                    b.ToTable(\"submissions\");\n                });\n#pragma warning restore 612, 618\n        }\n    }\n}\n"
  },
  {
    "path": "ohunt/OHunt.Web/Models/CrawlerError.cs",
    "content": "using System;\nusing System.ComponentModel.DataAnnotations;\nusing System.ComponentModel.DataAnnotations.Schema;\n\nnamespace OHunt.Web.Models\n{\n    /// <summary>\n    /// The error message generated when crawling\n    /// </summary>\n    [Table(\"CrawlerError\")]\n    public class CrawlerError\n    {\n        [Key]\n        [DatabaseGenerated(DatabaseGeneratedOption.Identity)]\n        public long Id { get; set; }\n\n        /// <summary>\n        /// The label to identify the crawler\n        /// </summary>\n        public string Crawler { get; set; }\n\n        /// <summary>\n        /// General message\n        /// </summary>\n        [Required]\n        public string Message { get; set; }\n\n        /// <summary>\n        /// The time when the error is generated\n        /// </summary>\n        public DateTime Time { get; set; }\n\n        /// <summary>\n        /// The data of the message\n        /// </summary>\n        public string? Data { get; set; }\n    }\n}\n"
  },
  {
    "path": "ohunt/OHunt.Web/Models/MappingOnlineJudge.cs",
    "content": "// ReSharper disable InconsistentNaming\nnamespace OHunt.Web.Models\n{\n    /// <summary>\n    /// the enum of online judges that are used to mapping problem labels.\n    /// </summary>\n    public enum MappingOnlineJudge\n    {\n        UVA,\n        UVALive,\n        NIT,\n        BNU,\n    }\n}\n"
  },
  {
    "path": "ohunt/OHunt.Web/Models/OnlineJudge.cs",
    "content": "﻿// ReSharper disable InconsistentNaming\nnamespace OHunt.Web.Models\n{\n    public enum OnlineJudge\n    {\n        ZOJ = 1,\n    }\n}\n"
  },
  {
    "path": "ohunt/OHunt.Web/Models/ProblemLabelMapping.cs",
    "content": "using System.ComponentModel.DataAnnotations;\nusing System.ComponentModel.DataAnnotations.Schema;\n\nnamespace OHunt.Web.Models\n{\n    [Table(\"problem_label_mappings\")]\n    public class ProblemLabelMapping\n    {\n        /// <summary>\n        /// The id of the problem\n        /// </summary>\n        [Key]\n        public long ProblemId { get; set; }\n\n        /// <summary>\n        /// The id of online judge\n        /// </summary>\n        [Key]\n        [Required]\n        public MappingOnlineJudge OnlineJudgeId { get; set; }\n\n        /// <summary>\n        /// The label of the problem\n        /// </summary>\n        [MinLength(1)]\n        [MaxLength(25)]\n        public string? ProblemLabel { get; set; }\n    }\n}\n"
  },
  {
    "path": "ohunt/OHunt.Web/Models/RunResult.cs",
    "content": "namespace OHunt.Web.Models\n{\n    public enum RunResult\n    {\n        Accepted = 1,\n        PresentationError = 2,\n        WrongAnswer = 3,\n        TimeLimitExceed = 4,\n        MemoryLimitExceed = 5,\n        OutputLimitExceed = 6,\n        RuntimeError = 7,\n        CompileError = 8,\n        UnknownError = 9,\n        SubmitError = 10,\n    }\n}\n"
  },
  {
    "path": "ohunt/OHunt.Web/Models/Submission.cs",
    "content": "using System;\nusing System.ComponentModel.DataAnnotations;\nusing System.ComponentModel.DataAnnotations.Schema;\n\nnamespace OHunt.Web.Models\n{\n    [Table(\"submissions\")]\n    public class Submission\n    {\n        /// <summary>\n        /// The id of the submission. It should be unique per oj.\n        ///\n        /// It is used to identify submissions, so newer submission\n        /// should have larger id.\n        /// </summary>\n        [Key]\n        [Range(1, long.MaxValue)]\n        public long SubmissionId { get; set; }\n\n        /// <summary>\n        /// The id of OJs.\n        /// </summary>\n        [Required]\n        [Key]\n        public OnlineJudge OnlineJudgeId { get; set; }\n\n        [Required]\n        [MinLength(1)]\n        [MaxLength(75)]\n        public string UserName { get; set; }\n\n        [Required]\n        public RunResult Status { get; set; }\n\n        [Required]\n        [MinLength(1)]\n        [MaxLength(25)]\n        public string ProblemLabel { get; set; }\n\n        [Required]\n        public DateTime Time { get; set; }\n    }\n}\n"
  },
  {
    "path": "ohunt/OHunt.Web/OHunt.Web.csproj",
    "content": "<Project Sdk=\"Microsoft.NET.Sdk.Web\">\n\n    <PropertyGroup>\n        <TargetFramework>net8.0</TargetFramework>\n        <Nullable>enable</Nullable>\n    </PropertyGroup>\n\n    <PropertyGroup Condition=\" '$(Configuration)' == 'Debug' \">\n      <DocumentationFile>bin\\Debug\\OHunt.Web.xml</DocumentationFile>\n    </PropertyGroup>\n\n    <PropertyGroup Condition=\" '$(Configuration)' == 'Release' \">\n      <DocumentationFile>bin\\Release\\OHunt.Web.xml</DocumentationFile>\n    </PropertyGroup>\n\n    <ItemGroup>\n        <PackageReference Include=\"AngleSharp\" Version=\"1.4.0\" />\n        <PackageReference Include=\"Flurl.Http\" Version=\"4.0.2\" />\n        <PackageReference Include=\"Microsoft.AspNetCore.OData\" Version=\"9.4.1\" />\n        <PackageReference Include=\"Microsoft.EntityFrameworkCore.Tools\" Version=\"8.0.24\">\n            <PrivateAssets>all</PrivateAssets>\n            <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>\n        </PackageReference>\n        <PackageReference Include=\"Microsoft.VisualStudio.Web.CodeGeneration.Design\" Version=\"8.0.23\" />\n        <PackageReference Include=\"Pomelo.EntityFrameworkCore.MySql\" Version=\"8.0.3\" />\n        <PackageReference Include=\"Pomelo.EntityFrameworkCore.MySql.Design\" Version=\"1.1.2\">\n            <PrivateAssets>all</PrivateAssets>\n            <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>\n        </PackageReference>\n        <PackageReference Include=\"Swashbuckle.AspNetCore\" Version=\"8.1.4\" />\n        <PackageReference Include=\"System.Threading.Tasks.Dataflow\" Version=\"8.0.1\" />\n    </ItemGroup>\n\n\n</Project>\n"
  },
  {
    "path": "ohunt/OHunt.Web/Options/DatabaseInserterOptions.cs",
    "content": "using System.Collections.Generic;\n\nnamespace OHunt.Web.Options\n{\n    public class DatabaseInserterOptions\n    {\n        public int DefaultBufferSize { get; set; }\n\n        public Dictionary<string, int> BufferSize { get; set; }\n    }\n}\n"
  },
  {
    "path": "ohunt/OHunt.Web/Program.cs",
    "content": "using Microsoft.AspNetCore.Hosting;\nusing Microsoft.Extensions.Hosting;\n\nnamespace OHunt.Web\n{\n    public class Program\n    {\n        public static void Main(string[] args)\n        {\n            CreateHostBuilder(args).Build().Run();\n        }\n\n        public static IHostBuilder CreateHostBuilder(string[] args) =>\n            Host.CreateDefaultBuilder(args)\n                .ConfigureWebHostDefaults(webBuilder =>\n                {\n                    // default settings\n                    webBuilder.UseStartup<Startup>();\n                });\n    }\n}\n"
  },
  {
    "path": "ohunt/OHunt.Web/Properties/launchSettings.json",
    "content": "{\n  \"iisSettings\": {\n    \"windowsAuthentication\": false,\n    \"anonymousAuthentication\": true,\n    \"iisExpress\": {\n      \"applicationUrl\": \"http://localhost:64472\",\n      \"sslPort\": 44303\n    }\n  },\n  \"$schema\": \"http://json.schemastore.org/launchsettings.json\",\n  \"profiles\": {\n    \"IIS Express\": {\n      \"commandName\": \"IISExpress\",\n      \"launchBrowser\": true,\n      \"launchUrl\": \"weatherforecast\",\n      \"environmentVariables\": {\n        \"ASPNETCORE_ENVIRONMENT\": \"Development\"\n      }\n    },\n    \"OHunt.Web\": {\n      \"commandName\": \"Project\",\n      \"launchUrl\": \"weatherforecast\",\n      \"environmentVariables\": {\n        \"ASPNETCORE_ENVIRONMENT\": \"Development\"\n      },\n      \"applicationUrl\": \"http://localhost:5000\"\n    }\n  }\n}"
  },
  {
    "path": "ohunt/OHunt.Web/Services/ProblemLabelManager.cs",
    "content": "using System;\nusing System.Collections.Generic;\nusing System.Runtime.Serialization;\nusing System.Threading.Tasks;\nusing Microsoft.EntityFrameworkCore;\nusing OHunt.Web.Crawlers;\nusing OHunt.Web.Database;\nusing OHunt.Web.Models;\n\nnamespace OHunt.Web.Services\n{\n    /// <summary>\n    /// To manage the relation between problem label and id.\n    /// </summary>\n    /// <see cref=\"IMappingCrawler\"/>\n    public class ProblemLabelManager\n    {\n        private static readonly Type[] CrawlersToInit\n            =\n            {\n                typeof(UvaMappingCrawler),\n                typeof(UvaLiveMappingCrawler),\n                typeof(NitMappingCrawler),\n                typeof(BnuMappingCrawler),\n            };\n\n        private readonly Dictionary<MappingOnlineJudge, IMappingCrawler> _crawlers;\n        private readonly OHuntDbContext _context;\n\n        public ProblemLabelManager(OHuntDbContext context, IServiceProvider serviceProvider)\n        {\n            _context = context;\n\n            _crawlers = new Dictionary<MappingOnlineJudge, IMappingCrawler>();\n            foreach (var crawlerType in CrawlersToInit)\n            {\n                var crawler = (IMappingCrawler) serviceProvider.GetService(crawlerType);\n                _crawlers.Add(crawler.OnlineJudge, crawler);\n            }\n        }\n\n        /// <summary>\n        /// Resolve the problem label from problem id. It can be read from database\n        /// or queried by a crawler.\n        /// </summary>\n        /// <param name=\"oj\">the oj to query</param>\n        /// <param name=\"problemId\">the id of the problem</param>\n        /// <returns>the label. If it is null, the problem does not have a label.</returns>\n        public async Task<string?> ResolveProblemLabel(\n            MappingOnlineJudge oj,\n            long problemId)\n        {\n            var mapping = await _context.ProblemLabelMappings.FirstOrDefaultAsync(\n                e => e.ProblemId == problemId && e.OnlineJudgeId == oj);\n\n            if (mapping != null)\n            {\n                return mapping.ProblemLabel;\n            }\n\n            if (!_crawlers.TryGetValue(oj, out var crawler))\n            {\n                throw new ProblemLabelManagerException($\"The crawler of {oj.ToString()} does not exist\");\n            }\n\n            var problemLabel = await crawler.GetProblemLabel(problemId);\n            await _context.ProblemLabelMappings.AddAsync(new ProblemLabelMapping\n            {\n                ProblemId = problemId,\n                OnlineJudgeId = oj,\n                ProblemLabel = problemLabel,\n            });\n            await _context.SaveChangesAsync();\n\n            return problemLabel;\n        }\n    }\n\n    public class ProblemLabelManagerException : Exception\n    {\n        public ProblemLabelManagerException()\n        {\n        }\n\n        protected ProblemLabelManagerException(SerializationInfo info, StreamingContext context) : base(info, context)\n        {\n        }\n\n        public ProblemLabelManagerException(string? message) : base(message)\n        {\n        }\n\n        public ProblemLabelManagerException(string? message, Exception? innerException) : base(message, innerException)\n        {\n        }\n    }\n}\n"
  },
  {
    "path": "ohunt/OHunt.Web/Services/ScheduleCrawlerService.cs",
    "content": "using System;\nusing System.Threading;\nusing System.Threading.Tasks;\nusing Microsoft.Extensions.Hosting;\nusing Microsoft.Extensions.Logging;\nusing OHunt.Web.Crawlers;\nusing OHunt.Web.Dataflow;\n\nnamespace OHunt.Web.Services\n{\n    public class ScheduleCrawlerService : IHostedService, IDisposable\n    {\n        private readonly ILogger<ScheduleCrawlerService> _logger;\n        private Timer _timer = null!;\n        private readonly SubmissionCrawlerCoordinator _coordinator;\n\n        private readonly ZojSubmissionCrawler _zojSubmissionCrawler;\n\n        public ScheduleCrawlerService(\n            ILogger<ScheduleCrawlerService> logger,\n            SubmissionCrawlerCoordinator coordinator,\n            ZojSubmissionCrawler zojSubmissionCrawler)\n        {\n            _logger = logger;\n            _coordinator = coordinator;\n            _zojSubmissionCrawler = zojSubmissionCrawler;\n        }\n\n        public Task StartAsync(CancellationToken cancellationToken)\n        {\n            _coordinator.Initialize(new ISubmissionCrawler[]\n            {\n                // _zojSubmissionCrawler,\n            });\n            _timer = new Timer(DoWork, null, TimeSpan.Zero,\n                TimeSpan.FromHours(0.5));\n\n            return Task.CompletedTask;\n        }\n\n        public Task StopAsync(CancellationToken cancellationToken)\n        {\n            _logger.LogInformation(\"Timed Hosted Service is stopping.\");\n\n            _timer?.Change(Timeout.Infinite, 0);\n            return _coordinator.Cancel();\n        }\n\n        public void Dispose()\n        {\n            _timer?.Dispose();\n        }\n\n        private void DoWork(object? state)\n        {\n            _logger.LogTrace(\"Starting all crawlers\");\n            _coordinator.StartAllCrawlers().Wait();\n        }\n    }\n}\n"
  },
  {
    "path": "ohunt/OHunt.Web/Startup.cs",
    "content": "using System;\nusing System.IO;\nusing System.Linq;\nusing System.Text;\nusing System.Text.Json.Serialization;\nusing Microsoft.AspNetCore.Builder;\nusing Microsoft.AspNetCore.Hosting;\nusing Microsoft.Extensions.Configuration;\nusing Microsoft.Extensions.DependencyInjection;\nusing Microsoft.Extensions.Hosting;\nusing Microsoft.EntityFrameworkCore;\nusing Microsoft.AspNetCore.Mvc.Formatters;\nusing Microsoft.AspNetCore.OData;\nusing Microsoft.Net.Http.Headers;\nusing Microsoft.OData.Edm;\nusing Microsoft.OData.ModelBuilder;\nusing Microsoft.OpenApi.Models;\nusing OHunt.Web.Crawlers;\nusing OHunt.Web.Database;\nusing OHunt.Web.Dataflow;\nusing OHunt.Web.Models;\nusing OHunt.Web.Options;\nusing OHunt.Web.Services;\nusing OHunt.Web.Utils;\n\nnamespace OHunt.Web\n{\n    public class Startup\n    {\n        public Startup(IConfiguration configuration)\n        {\n            Configuration = configuration;\n        }\n\n        public IConfiguration Configuration { get; }\n\n        // This method gets called by the runtime. Use this method to add services to the container.\n        public void ConfigureServices(IServiceCollection services)\n        {\n            var conn = Configuration.GetConnectionString(\"Default\");\n            services.AddDbContextPool<OHuntDbContext>(options =>\n                options.UseMySql(conn,\n                new MySqlServerVersion(new Version(8, 0))));\n\n            services.AddSwaggerGen(options =>\n            {\n                options.SwaggerDoc(\"v1\", new OpenApiInfo()\n                {\n                    Title = \"OHunt API\",\n                    Version = \"v1\",\n                    Description =\n                        \"OHunt is a crawler that reads data from online coding competition platform and serve them as API, just like uHunt of UVA.\",\n                });\n                options.DocInclusionPredicate((docName, description) => true);\n\n                // Set the comments path for the swagger json and ui.\n                var basePath = AppDomain.CurrentDomain.BaseDirectory!;\n                var docPath = Path.Combine(basePath, \"OHunt.Web.xml\");\n                options.IncludeXmlComments(docPath);\n\n                // use filter to add swagger document\n                options.OperationFilter<QueryParameterFilter>();\n            });\n\n            services.AddControllers(options =>\n                {\n                    foreach (var outputFormatter in options.OutputFormatters.OfType<OutputFormatter>()\n                        .Where(x => x.SupportedMediaTypes.Count == 0))\n                    {\n                        outputFormatter.SupportedMediaTypes.Add(\n                            new MediaTypeHeaderValue(\"application/prs.odatatestxx-odata\"));\n                    }\n\n                    foreach (var inputFormatter in options.InputFormatters.OfType<InputFormatter>()\n                        .Where(x => x.SupportedMediaTypes.Count == 0))\n                    {\n                        inputFormatter.SupportedMediaTypes.Add(\n                            new MediaTypeHeaderValue(\"application/prs.odatatestxx-odata\"));\n                    }\n                })\n                .AddJsonOptions(opts =>\n                {\n                    // use string as enum\n                    opts.JsonSerializerOptions.Converters.Add(new JsonStringEnumConverter());\n                })\n                .AddOData(option =>\n                {\n                    option.Select().OrderBy().Filter().Count();\n                    option.AddRouteComponents(\"api/ohunt\", GetEdmModel());\n                });\n\n            services.AddSingleton<IDbBuilder, OHuntDbBuilder>();\n\n            services\n                .AddSingleton<SubmissionCrawlerCoordinator>()\n                .AddSingleton<DatabaseInserterFactory>()\n                .AddSingleton<ZojSubmissionCrawler>()\n                .AddTransient<ProblemLabelManager>()\n                .AddSingleton<UvaMappingCrawler>()\n                .AddSingleton<UvaLiveMappingCrawler>()\n                .AddSingleton<NitMappingCrawler>()\n                .AddSingleton<BnuMappingCrawler>()\n                ;\n\n            services.AddLogging();\n\n            if (Configuration[\"DisableCrawlerWorker\"] != \"all\")\n            {\n                services.AddHostedService<ScheduleCrawlerService>();\n            }\n\n            services.Configure<DatabaseInserterOptions>(Configuration.GetSection(\"DatabaseInserter\"));\n        }\n\n        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.\n        public void Configure(IApplicationBuilder app, IWebHostEnvironment env)\n        {\n            app.ApplicationServices\n                .GetService<IDbBuilder>()\n                .BuildDatabase(app);\n\n            if (env.IsDevelopment())\n            {\n                app.UseDeveloperExceptionPage();\n            }\n\n            app.UseRouting();\n\n            app.UseEndpoints(endpoints =>\n            {\n                endpoints.MapControllers();\n            });\n\n            app.Use(async (ctx, next) =>\n            {\n                await next();\n                if (ctx.Response.StatusCode == 404)\n                {\n                    await ctx.Response.Body.WriteAsync(\n                        Encoding.ASCII.GetBytes(\"404 Not Found\"));\n                }\n            });\n\n            app.UseSwagger(opts =>\n            {\n                opts.RouteTemplate = \"api/ohunt/{documentName}/swagger.json\";\n            });\n            app.UseSwaggerUI(c =>\n            {\n                c.SwaggerEndpoint(\"/api/ohunt/v1/swagger.json\", \"OHunt API V1\");\n                c.RoutePrefix = \"ohunt/swagger\";\n            });\n        }\n\n        private static IEdmModel GetEdmModel()\n        {\n            var odataBuilder = new ODataConventionModelBuilder();\n            odataBuilder.EntitySet<Submission>(\"submissions\");\n\n            return odataBuilder.GetEdmModel();\n        }\n    }\n}\n"
  },
  {
    "path": "ohunt/OHunt.Web/Utils/Extensions.cs",
    "content": "using System.Collections.Generic;\n\nnamespace OHunt.Web.Utils\n{\n    public static class Extensions\n    {\n        public static string JoinToString(\n            this IEnumerable<string> enumerable)\n        {\n            return enumerable.JoinToString(\"\");\n        }\n\n        public static string JoinToString(\n            this IEnumerable<string> enumerable,\n            string separator)\n        {\n            return string.Join(separator, enumerable);\n        }\n    }\n}\n"
  },
  {
    "path": "ohunt/OHunt.Web/Utils/QueryParameterFilter.cs",
    "content": "using System.Collections.Generic;\nusing System.Linq;\nusing System.Reflection.Metadata;\nusing Microsoft.OpenApi.Models;\nusing Swashbuckle.AspNetCore.SwaggerGen;\n\nnamespace OHunt.Web.Utils\n{\n    /// <summary>\n    /// Add odata parameter to swagger docs\n    /// </summary>\n    public class QueryParameterFilter : IOperationFilter\n    {\n        // from https://stackoverflow.com/a/31419132\n        public void Apply(OpenApiOperation operation, OperationFilterContext context)\n        {\n            var apiDescription = context.ApiDescription;\n            if (apiDescription.SupportedResponseTypes == null\n                || apiDescription.SupportedResponseTypes.All(it => it.Type.Name != \"IQueryable`1\"))\n            {\n                return;\n            }\n\n            Dictionary<string, string> parameters = new Dictionary<string, string>()\n            {\n                { \"$top\", \"The max number of records\" },\n                { \"$skip\", \"The number of records to skip\" },\n                { \"$filter\", \"A function that must evaluate to true for a record to be returned\" },\n                { \"$select\", \"Specifies a subset of properties to return\" },\n                { \"$orderby\", \"Determines what values are used to order a collection of records\" },\n                {\n                    \"$count\",\n                    \"Should the item be counted. Use $count=true&$top=0 to count entities while not really request them.\"\n                }\n            };\n\n            foreach (var (key, value) in parameters)\n            {\n                operation.Parameters.Add(new OpenApiParameter\n                {\n                    Name = key,\n                    Required = false,\n                    Schema = new OpenApiSchema { Type = \"string\" },\n                    In = ParameterLocation.Query,\n                    Description = value,\n                });\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "ohunt/OHunt.Web/appsettings.Development.json",
    "content": "{\n  \"Logging\": {\n    \"LogLevel\": {\n      \"Default\": \"Trace\",\n      \"Microsoft\": \"Warning\",\n      \"Microsoft.Hosting.Lifetime\": \"Information\"\n    }\n  },\n  \"DisableCrawlerWorker\": \"all\"\n}\n"
  },
  {
    "path": "ohunt/OHunt.Web/appsettings.json",
    "content": "{\n  \"DisableCrawlerWorker\": \"\",\n  \"ConnectionStrings\": {\n    \"Default\": \"Server=localhost; port=3306; Database=ohunt; uid=root; pwd=123qwe; Convert Zero Datetime=True\"\n  },\n  \"Logging\": {\n    \"LogLevel\": {\n      \"Default\": \"Information\",\n      \"Microsoft\": \"Warning\",\n      \"Microsoft.Hosting.Lifetime\": \"Information\"\n    }\n  },\n  \"DatabaseInserter\": {\n    \"DefaultBufferSize\": 10000,\n    \"BufferSize\": {\n      \"CrawlerError\": 100\n    }\n  },\n  \"AllowedHosts\": \"*\"\n}"
  },
  {
    "path": "ohunt/README.md",
    "content": "OHunt\n==========================\n\nA stateful crawler with a database.\n\nThe project uses OData to let user create arbitrary query. For example,\n`GET http://localhost:5000/api/ohunt/submissions?oj=zoj&$filter=userName eq 'vjudge' and status eq 'Accepted'&$count=true&$top=0` can get the total ac count of the user in ZOJ.\n\n## Development\n\n### Requirement\n- .Net Core 3.1\n- MySQL 8.0\n\nUpdate connection string in `appsettings.json` to match your settings. Do not forget to create a database.\n\nAfter started, it is deployed in `http://localhost:5000`.\n\n## Environment Variables\n\n### `DisableCrawlerWorker`\nIf it is set to `all`, no crawler worker is started.\n"
  },
  {
    "path": "ohunt/dev.Dockerfile",
    "content": "FROM mcr.microsoft.com/dotnet/sdk:8.0\n\nWORKDIR /src\n\nCOPY [\"OHunt.Web/OHunt.Web.csproj\", \"OHunt.Web/\"]\nCOPY [\"OHunt.Tests/OHunt.Tests.csproj\", \"OHunt.Tests/\"]\n\nRUN dotnet restore \"OHunt.Web/OHunt.Web.csproj\"\nRUN dotnet restore \"OHunt.Tests/OHunt.Tests.csproj\"\n\nCOPY . .\n"
  },
  {
    "path": "ohunt/global.json",
    "content": "{\n  \"sdk\": {\n    \"version\": \"8.0.418\",\n    \"rollForward\": \"latestMajor\",\n    \"allowPrerelease\": false\n  }\n}"
  },
  {
    "path": "ohunt/ohunt.sln",
    "content": "﻿\nMicrosoft Visual Studio Solution File, Format Version 12.00\n# Visual Studio Version 16\nVisualStudioVersion = 16.0.30011.22\nMinimumVisualStudioVersion = 10.0.40219.1\nProject(\"{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}\") = \"OHunt.Web\", \"OHunt.Web\\OHunt.Web.csproj\", \"{5346870A-A941-45D7-B4AA-FE0507FF3E94}\"\nEndProject\nProject(\"{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}\") = \"OHunt.Tests\", \"OHunt.Tests\\OHunt.Tests.csproj\", \"{DC74A0B6-460C-4DA9-A117-50F49DBFD74A}\"\nEndProject\nGlobal\n\tGlobalSection(SolutionConfigurationPlatforms) = preSolution\n\t\tDebug|Any CPU = Debug|Any CPU\n\t\tRelease|Any CPU = Release|Any CPU\n\tEndGlobalSection\n\tGlobalSection(ProjectConfigurationPlatforms) = postSolution\n\t\t{5346870A-A941-45D7-B4AA-FE0507FF3E94}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\n\t\t{5346870A-A941-45D7-B4AA-FE0507FF3E94}.Debug|Any CPU.Build.0 = Debug|Any CPU\n\t\t{5346870A-A941-45D7-B4AA-FE0507FF3E94}.Release|Any CPU.ActiveCfg = Release|Any CPU\n\t\t{5346870A-A941-45D7-B4AA-FE0507FF3E94}.Release|Any CPU.Build.0 = Release|Any CPU\n\t\t{DC74A0B6-460C-4DA9-A117-50F49DBFD74A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\n\t\t{DC74A0B6-460C-4DA9-A117-50F49DBFD74A}.Debug|Any CPU.Build.0 = Debug|Any CPU\n\t\t{DC74A0B6-460C-4DA9-A117-50F49DBFD74A}.Release|Any CPU.ActiveCfg = Release|Any CPU\n\t\t{DC74A0B6-460C-4DA9-A117-50F49DBFD74A}.Release|Any CPU.Build.0 = Release|Any CPU\n\tEndGlobalSection\n\tGlobalSection(SolutionProperties) = preSolution\n\t\tHideSolutionNode = FALSE\n\tEndGlobalSection\n\tGlobalSection(ExtensibilityGlobals) = postSolution\n\t\tSolutionGuid = {222CDAE8-0572-49DE-85F2-21476F5AB68F}\n\tEndGlobalSection\nEndGlobal\n"
  },
  {
    "path": "sonar-project.properties",
    "content": "sonar.organization=liu233w-github\nsonar.projectKey=acm-statistics\nsonar.exclusions=**/node_modules/**/*,backend,ohunt\n\n# relative paths to source directories. More details and properties are described\n# in https://sonarcloud.io/documentation/project-administration/narrowing-the-focus/ \nsonar.sources=.\n"
  },
  {
    "path": "tools/acm-statistics.service",
    "content": "# 用于 docker compose 的配置文件\n\n[Unit]\nDescription=ACM Statistic Docker\nAfter=syslog.target\n\n[Service]\nType=simple\nExecStart=/bin/bash run.sh\nWorkingDirectory=/var/www/acm-statistics-docker\nRestart=on-failure\nRestartSec=5s\n\n# 用 SIGINT 来保证 docker-compose 可以正常关闭\nKillSignal=SIGINT\nStandardError=syslog\nNotifyAccess=all\n\n[Install]\nWantedBy=multi-user.target\n"
  },
  {
    "path": "tools/history-test.sql",
    "content": "-- the sql data used to test history page\n\nINSERT INTO\n  `QueryHistories` (\n    `Id`,\n    `CreationTime`,\n    `UserId`,\n    `MainUsername`,\n    `IsReliableSource`\n  )\nVALUES\n  ('1', now(), '2', 'user1', '0'),\n  ('2', now(), '2', 'user1', '0'),\n  ('3', now(), '2', 'user1', '0'),\n  ('4', now(), '2', 'user1', '0'),\n  ('5', now(), '2', 'user1', '0'),\n  ('6', now(), '2', 'user1', '0'),\n  ('7', now(), '2', 'user1', '0'),\n  ('8', now(), '2', 'user1', '0'),\n  ('9', now(), '2', 'user1', '0'),\n  ('10', now(), '2', 'user1', '0'),\n  ('11', now(), '2', 'user1', '0'),\n  ('12', now(), '2', 'user1', '0'),\n  ('13', now(), '2', 'user1', '0'),\n  ('14', now(), '2', 'user1', '0'),\n  ('15', now(), '2', 'user1', '0'),\n  ('16', now(), '2', 'user1', '0'),\n  ('17', now(), '2', 'user1', '0'),\n  ('18', now(), '2', 'user1', '0'),\n  ('19', now(), '2', 'user1', '0'),\n  ('20', now(), '2', 'user1', '0');\n\nINSERT INTO\n  `QuerySummaries` (\n    `QueryHistoryId`,\n    `GenerateTime`,\n    `SummaryWarnings`,\n    `Submission`,\n    `Solved`\n  )\nVALUES\n  ('1', now(), '[]', '20', '10'),\n  ('2', now(), '[]', '20', '10'),\n  ('3', now(), '[]', '20', '10'),\n  ('4', now(), '[]', '20', '10'),\n  ('5', now(), '[]', '20', '10'),\n  ('6', now(), '[]', '20', '10'),\n  ('7', now(), '[]', '20', '10'),\n  ('8', now(), '[]', '20', '10'),\n  ('9', now(), '[]', '20', '10'),\n  ('10', now(), '[]', '20', '10'),\n  ('11', now(), '[]', '20', '10'),\n  ('12', now(), '[]', '20', '10'),\n  ('13', now(), '[]', '20', '10'),\n  ('14', now(), '[]', '20', '10'),\n  ('15', now(), '[]', '20', '10'),\n  ('16', now(), '[]', '20', '10'),\n  ('17', now(), '[]', '20', '10'),\n  ('18', now(), '[]', '20', '10'),\n  ('19', now(), '[]', '20', '10'),\n  ('20', now(), '[]', '20', '10');"
  },
  {
    "path": "tools/remote-docker-up.sh",
    "content": "#!/bin/bash\n\n# 从 master 分支下载 docker-compose 文件并运行\n\nset -e\n\necho debug: current \\$0 is $0\n\nif [[ $0 == */bin/bash ]] \\\n|| [[ $0 == */bin/zsh ]] \\\n|| [[ $0 == */bin/fish ]] \\\n|| [[ $0 == */bin/sh ]] \\\n|| [[ $0 == bash ]] \\\n|| [[ $0 == zsh ]] \\\n|| [[ $0 == fish ]] \\\n|| [[ $0 == sh ]] \\\n;\nthen\n\n# 使用类似于 curl -s ...sh | bash 的方式运行的此脚本，不创建额外的文件\n# 这么做是功能受限的\n\n# 导入默认环境变量\nexport $(curl -s https://raw.githubusercontent.com/Liu233w/acm-statistics/master/build/template.env \\\n  | sed '/^#.*$/d' \\\n  | sed '/^\\w*$/d' \\\n  | xargs)\n\n# 覆盖 namespace （用于下载 docker 镜像）\nexport DOCKER_REPO=liu233w/\n\n# 执行 docker compose\ncurl -s https://raw.githubusercontent.com/Liu233w/acm-statistics/master/build/docker-compose.yml \\\n  | docker compose -f - up\n\nelse\n\n# 将本脚本下载到文件夹下运行，将下载 .env 和 docker-compose.yml 文件，便于用户更改程序参数\n\ncd $(dirname $0)\ncurl -L -o docker-compose.yml \\\n  https://raw.githubusercontent.com/Liu233w/acm-statistics/master/build/docker-compose.yml\ncurl -L -o template.env \\\n  https://raw.githubusercontent.com/Liu233w/acm-statistics/master/build/template.env\n\nif ! [ -e .env ]; then\n  cat template.env | sed 's/^DOCKER_REPO=$/DOCKER_REPO=liu233w\\//' > .env\n  echo\n  echo =================================================\n  echo .env file created, remember to edit it\n  echo =================================================\n  exit 0\nelif [[ $(wc -l .env | cut -f 1 -d ' ') != $(wc -l template.env | cut -f 1 -d ' ') ]]; then\n  echo\n  echo =================================================\n  echo There is an update of env.template, compare it with .env and update the file!\n  echo =================================================\n  exit -1\nfi\n\nfi\n\ndocker compose up\n"
  }
]