diff --git a/.eslintrc.cjs b/.eslintrc.cjs
new file mode 100644
index 0000000000000000000000000000000000000000..8d618e871bd83e0e2981236b869b781d6f34f482
--- /dev/null
+++ b/.eslintrc.cjs
@@ -0,0 +1,21 @@
+/* eslint-env node */
+module.exports = {
+  root: true,
+  'extends': [
+    'plugin:vue/vue3-essential',
+    'eslint:recommended'
+  ],
+  parserOptions: {
+    ecmaVersion: 'latest'
+  },
+  rules: {
+    'prefer-promise-reject-errors': 'off',
+    'vue/multi-word-component-names':'off',
+    'vue/no-reserved-component-names': 'off',
+
+    // allow debugger during development only
+    'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off',
+    'semi': ['error', 'always'],
+    'object-curly-spacing': ['error', 'always']
+  }
+};
diff --git a/.gitignore b/.gitignore
index b47f672c67f6917c24d2977470b66b38bf13f61a..9739f82062690ebc91bd3c53e51aa00d3d5e13eb 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,29 @@
-*.egg-info
-*.pyc
-*pycache*
+# Logs
+logs
+*.log
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+pnpm-debug.log*
+lerna-debug.log*
+
+node_modules
+.DS_Store
+dist
+dist-ssr
+coverage
+*.local
+
+/cypress/videos/
+/cypress/screenshots/
+
+# Editor directories and files
+.idea
+.vscode/*
+!.vscode/extensions.json
+.idea
+*.suo
+*.ntvs*
+*.njsproj
+*.sln
+*.sw?
diff --git a/.nvmrc b/.nvmrc
new file mode 100644
index 0000000000000000000000000000000000000000..19c7bdba7b1e9bfe80365a50420a6d538ca503c3
--- /dev/null
+++ b/.nvmrc
@@ -0,0 +1 @@
+16
\ No newline at end of file
diff --git a/Makefile b/Makefile
deleted file mode 100644
index 3eae1273469ab4fc89a4a3011c0cc55bd8145104..0000000000000000000000000000000000000000
--- a/Makefile
+++ /dev/null
@@ -1,2 +0,0 @@
-repos.json:
-	ocrd-kwalitee json > "$@"
diff --git a/README.md b/README.md
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..885e5ac694e47a390c41c399916cf2687771efb0 100644
--- a/README.md
+++ b/README.md
@@ -0,0 +1,31 @@
+# QUIVER
+
+This template should help get you started developing with Vue 3 in Vite.
+
+## Customize configuration
+
+See [Vite Configuration Reference](https://vitejs.dev/config/).
+
+## Project Setup
+
+```sh
+npm install
+```
+
+### Compile and Hot-Reload for Development
+
+```sh
+npm run dev
+```
+
+### Compile and Minify for Production
+
+```sh
+npm run build
+```
+
+### Lint with [ESLint](https://eslint.org/)
+
+```sh
+npm run lint
+```
diff --git a/index.html b/index.html
index 9156d5df25aaa88a3a343ff9a6ec45bf556c7b7d..29068b8ed88ca809d128946d2890286fbbc384e7 100644
--- a/index.html
+++ b/index.html
@@ -1,24 +1,13 @@
 <!DOCTYPE html>
-<html>
-<head>
-  <title>ocrd kwalitee</title>
-  <!-- <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> -->
-
-	<!-- Load required Bootstrap and BootstrapVue CSS -->
-	<!-- <link type="text/css" rel="stylesheet" href="//unpkg.com/bootstrap/dist/css/bootstrap.min.css" /> -->
-	<!-- <link type="text/css" rel="stylesheet" href="//unpkg.com/bootstrap-vue@latest/dist/bootstrap-vue.min.css" /> -->
-
-	<!-- Load polyfills to support older browsers -->
-	<!-- <script src="//polyfill.io/v3/polyfill.min.js?features=es2015%2CIntersectionObserver" crossorigin="anonymous"></script> -->
-
-	<!-- Load Vue followed by BootstrapVue -->
-	<!-- <script src="//unpkg.com/vue@latest/dist/vue.min.js"></script> -->
-	<!-- <script src="//unpkg.com/bootstrap-vue@latest/dist/bootstrap-vue.min.js"></script> -->
-</head>
-<body>
-  <div id="ocrd-kwalitee">
-  </div>
-
-  <script src="webapp/dist/build.js"></script>
-</body>
+<html lang="en">
+  <head>
+    <meta charset="UTF-8" />
+    <link rel="icon" href="/favicon.ico" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+    <title>Vite App</title>
+  </head>
+  <body class="px-8">
+    <div id="app"></div>
+    <script type="module" src="/src/main.js"></script>
+  </body>
 </html>
diff --git a/kwalitee/__init__.py b/kwalitee/__init__.py
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/kwalitee/cli.py b/kwalitee/cli.py
deleted file mode 100644
index 93f43016610e8a5b1dbdcf1dc4b3cc9efa7409ca..0000000000000000000000000000000000000000
--- a/kwalitee/cli.py
+++ /dev/null
@@ -1,101 +0,0 @@
-import click
-from pathlib import Path
-from ocrd.decorators import ocrd_loglevel
-from ocrd_utils import getLogger
-from yaml import safe_load
-import json
-from pkg_resources import resource_filename
-
-from .repo import Repo
-
-def _check_cloned(ctx):
-    uncloned = []
-    for repo in ctx.repos:
-        if not repo.is_cloned():
-            uncloned.append(repo)
-    if uncloned:
-        raise Exception("Some repos not yet cloned: %s" % [str(r) for r in uncloned])
-
-class CliCtx():
-    def __init__(self, config_file):
-        self.log = getLogger('ocrd.kwalitee')
-        with open(config_file, 'r') as f_config_file:
-            self.config = safe_load(f_config_file.read())
-            self.repos = []
-            for repo_desc in self.config['repolist']:
-                url = repo_desc['url']
-                name = getattr(repo_desc, 'name', None)
-                official = repo_desc.get('official', False)
-                compliant_cli = repo_desc.get('compliant_cli', False)
-                self.repos.append(Repo(self.config, url, name, official, compliant_cli))
-pass_ctx = click.make_pass_decorator(CliCtx)
-
-@click.group()
-@click.option('-c', '--config-file', help="", default=resource_filename(__name__, 'config.yml'))
-@ocrd_loglevel
-@click.pass_context
-def cli(ctx, config_file, **kwargs): # pylint: disable=unused-argument
-    ctx.obj = CliCtx(config_file)
-
-@cli.command('clone', help='''
-
-        Clone all repos
-''')
-@pass_ctx
-def clone_all(ctx):
-    for repo in ctx.repos:
-        if repo.is_cloned():
-            ctx.log.info("Already cloned %s" % repo)
-        else:
-            ctx.log.info("Cloning %s" % repo)
-            repo.clone()
-
-@cli.command('pull', help='''
-
-        Pull all repos
-''')
-@pass_ctx
-def pull_all(ctx):
-    _check_cloned(ctx)
-    for repo in ctx.repos:
-        ctx.log.info("Pulling %s" % repo)
-        repo.pull()
-
-
-@cli.command('json', help='''
-
-    Generate JSON
-
-''')
-@click.option('-o', '--output', help="Output file. Omit to print to STDOU")
-@pass_ctx
-def generate_json(ctx, output=None):
-    ret = []
-    _check_cloned(ctx)
-    for repo in ctx.repos:
-        ctx.log.info("# Assessing %s" % repo.name)
-        repo.clone()
-        ret.append(repo.to_json())
-        #  print('%s %s -> %s' % (repo.path.is_dir(), repo.url, repo.path))
-    json_str = json.dumps(ret, indent=4, sort_keys=True)
-    if output:
-        Path(output).write_text(json_str)
-    else:
-        print(json_str)
-
-@cli.command('ocrd-tool')
-@click.option('-o', '--output', help="Output file. Omit to print to STDOUT")
-@pass_ctx
-def generate_tool_json(ctx, output=None):
-    '''
-    Return one big list of ocrd tools
-    '''
-    ret = {}
-    _check_cloned(ctx)
-    for repo in ctx.repos:
-        ret = {**ret, **repo.get_ocrd_tools()}
-    json_str = json.dumps(ret, indent=4, sort_keys=True)
-    if output:
-        Path(output).write_text(json_str)
-    else:
-        print(json_str)
diff --git a/kwalitee/config.yml b/kwalitee/config.yml
deleted file mode 100644
index 779f610c7e79c11ea02a35dfcdcecabd4f0f559a..0000000000000000000000000000000000000000
--- a/kwalitee/config.yml
+++ /dev/null
@@ -1,40 +0,0 @@
-# Base dir to clone repos to
-repodir: /data/ocrd_all
-# repos to clone and process
-repolist:
-  - url: https://github.com/ASVLeipzig/cor-asv-ann
-    official: true
-    compliant_cli: true
-  - url: https://github.com/ASVLeipzig/cor-asv-fst
-    official: true
-    compliant_cli: true
-  - url: https://github.com/OCR-D/ocrd_calamari
-    compliant_cli: true
-  - url: https://github.com/OCR-D/ocrd_im6convert
-    compliant_cli: true
-  - url: https://github.com/OCR-D/ocrd_keraslm
-    compliant_cli: true
-  - url: https://github.com/OCR-D/ocrd_kraken
-    compliant_cli: false
-  - url: https://github.com/OCR-D/ocrd_ocropy
-    compliant_cli: true
-  - url: https://github.com/OCR-D/ocrd_olena
-    compliant_cli: true
-  - url: https://github.com/OCR-D/ocrd_segment
-    compliant_cli: true
-  - url: https://github.com/OCR-D/ocrd_tesserocr
-    official: true
-    compliant_cli: true
-  - url: https://github.com/cisocrgroup/ocrd_cis
-    official: true
-  - url: https://github.com/OCR-D/ocrd_anybaseocr
-    official: true
-    compliant_cli: false
-  - url: https://github.com/ocr-d-modul-2-segmentierung/ocrd_pc_segmentation
-    official: true
-    compliant_cli: true
-  - url: https://github.com/qurator-spk/dinglehopper
-  # - url: https://github.com/qurator-spk/pixelwise_segmentation_SBB
-  - url: https://github.com/OCR-D/ocrd_typegroups_classifier
-    official: true
-    compliant_cli: true
diff --git a/kwalitee/repo.py b/kwalitee/repo.py
deleted file mode 100644
index 8322727e0d02991a36d6da70e9a0ebcf19dbbe81..0000000000000000000000000000000000000000
--- a/kwalitee/repo.py
+++ /dev/null
@@ -1,101 +0,0 @@
-from pathlib import Path
-import json
-from subprocess import run, PIPE
-from shlex import split as X
-from ocrd_utils import pushd_popd, getLogger
-import requests as R
-
-class Repo():
-
-    def __init__(self, config, url, name=None, official=False, compliant_cli=False):
-        self.log = getLogger('kwalitee.repo')
-        self.url = url
-        self.config = config
-        self.name = name if name else Path(url).name
-        self.official = official
-        self.compliant_cli = compliant_cli
-        self.path = Path(self.config['repodir'], self.name)
-
-    def __str__(self):
-        return '<Repo %s @ %s>' % (self.url, self.path)
-
-    def is_cloned(self):
-        return self.path.is_dir()
-
-    def pull(self):
-        with pushd_popd(self.path):
-            self._run('git pull origin master')
-
-    def clone(self):
-        if self.is_cloned():
-            self.log.debug("Already cloned: %s" % self.path)
-            return
-        with pushd_popd(self.config['repodir']):
-            self.log.debug("Cloning %s" % self.url)
-            result = self._run('git clone --depth 1 "%s"' % self.url)
-            self.log.debug("Result: %s" % result)
-
-
-    def get_git_stats(self):
-        ret = {}
-        self.log.info("  Fetching git info")
-        with pushd_popd(self.path):
-            ret['number_of_commits'] = self._run('git rev-list HEAD --count').stdout
-            ret['last_commit'] = self._run(r'git log -1 --format=%cd ').stdout
-            ret['url'] = self._run('git config --get remote.origin.url').stdout
-            ret['latest_tag'] = self._run('git describe --abbrev=0 --tags').stdout
-        return ret
-
-    def get_file_contents(self):
-        ret = {}
-        self.log.info("%s  Getting file contents" % self.url)
-        with pushd_popd(self.path):
-            for path in [Path(x) for x in ['ocrd-tool.json', 'Dockerfile', 'README.md', 'setup.py']]:
-                if path.is_file():
-                    with path.open() as f:
-                        ret[path.name] = f.read()
-                else:
-                    ret[path.name] = None
-        return ret
-
-    def get_python_info(self):
-        ret = {}
-        with pushd_popd(self.path):
-            ret['url'] = self._run('python3 setup.py --url').stdout
-            ret['name'] = self._run('python3 setup.py --name').stdout
-            ret['author'] = self._run('python3 setup.py --author').stdout
-            ret['author-email'] = self._run('python3 setup.py --author-email').stdout
-        self.log.info("  Fetching pypi info")
-        response = R.get('https://pypi.python.org/pypi/%s/json' % ret['name'])
-        ret['pypi'] = json.loads(response.text) if response.status_code == 200 else None
-        return ret
-
-    def get_ocrd_tools(self):
-        ot = json.loads(self.get_file_contents()['ocrd-tool.json'])
-        return ot['tools']
-
-    def to_json(self):
-        desc = {}
-        desc['url'] = self.url
-        desc['official'] = self.official
-        desc['compliant_cli'] = self.compliant_cli
-        desc['org_plus_name'] = '/'.join(self.url.split('/')[-2:])
-        desc['name'] = self.name
-        desc['files'] = self.get_file_contents()
-        if desc['files']['ocrd-tool.json']:
-            desc['ocrd_tool'] = json.loads(desc['files']['ocrd-tool.json'])
-            with pushd_popd(self.path):
-                desc['ocrd_tool_validate'] = self._run('ocrd ocrd-tool ocrd-tool.json validate').stdout
-        else:
-            desc['ocrd_tool'] = ''
-            desc['ocrd_tool_validate'] = 'NO ocrd-tool.json'
-        desc['git'] = self.get_git_stats()
-        if desc['files']['setup.py']:
-            desc['python'] = self.get_python_info()
-        return desc
-
-    def _run(self, cmd, **kwargs):
-        result = run(X(cmd), stdout=PIPE, encoding='utf-8', **kwargs)
-        if result.stdout:
-            result.stdout = result.stdout.strip()
-        return result
diff --git a/package-lock.json b/package-lock.json
new file mode 100644
index 0000000000000000000000000000000000000000..3554f053d1f59eccb76456bb86820f211b2848de
--- /dev/null
+++ b/package-lock.json
@@ -0,0 +1,4289 @@
+{
+  "name": "quiver",
+  "version": "0.0.0",
+  "lockfileVersion": 2,
+  "requires": true,
+  "packages": {
+    "": {
+      "name": "quiver",
+      "version": "0.0.0",
+      "dependencies": {
+        "primeflex": "^3.2.1",
+        "primeicons": "^5.0.0",
+        "primevue": "^3.17.0",
+        "vue": "^3.2.38",
+        "vue-i18n": "^9.2.2",
+        "vue-router": "^4.1.5"
+      },
+      "devDependencies": {
+        "@intlify/vite-plugin-vue-i18n": "^6.0.1",
+        "@vitejs/plugin-vue": "^3.0.3",
+        "eslint": "8.22.0",
+        "eslint-plugin-vue": "^9.3.0",
+        "sass": "^1.54.9",
+        "vite": "^3.0.9"
+      }
+    },
+    "node_modules/@babel/parser": {
+      "version": "7.19.0",
+      "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.19.0.tgz",
+      "integrity": "sha512-74bEXKX2h+8rrfQUfsBfuZZHzsEs6Eql4pqy/T4Nn6Y9wNPggQOqD6z6pn5Bl8ZfysKouFZT/UXEH94ummEeQw==",
+      "bin": {
+        "parser": "bin/babel-parser.js"
+      },
+      "engines": {
+        "node": ">=6.0.0"
+      }
+    },
+    "node_modules/@esbuild/linux-loong64": {
+      "version": "0.15.7",
+      "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.15.7.tgz",
+      "integrity": "sha512-IKznSJOsVUuyt7cDzzSZyqBEcZe+7WlBqTVXiF1OXP/4Nm387ToaXZ0fyLwI1iBlI/bzpxVq411QE2/Bt2XWWw==",
+      "cpu": [
+        "loong64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/@eslint/eslintrc": {
+      "version": "1.3.1",
+      "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.1.tgz",
+      "integrity": "sha512-OhSY22oQQdw3zgPOOwdoj01l/Dzl1Z+xyUP33tkSN+aqyEhymJCcPHyXt+ylW8FSe0TfRC2VG+ROQOapD0aZSQ==",
+      "dev": true,
+      "dependencies": {
+        "ajv": "^6.12.4",
+        "debug": "^4.3.2",
+        "espree": "^9.4.0",
+        "globals": "^13.15.0",
+        "ignore": "^5.2.0",
+        "import-fresh": "^3.2.1",
+        "js-yaml": "^4.1.0",
+        "minimatch": "^3.1.2",
+        "strip-json-comments": "^3.1.1"
+      },
+      "engines": {
+        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+      },
+      "funding": {
+        "url": "https://opencollective.com/eslint"
+      }
+    },
+    "node_modules/@humanwhocodes/config-array": {
+      "version": "0.10.4",
+      "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.10.4.tgz",
+      "integrity": "sha512-mXAIHxZT3Vcpg83opl1wGlVZ9xydbfZO3r5YfRSH6Gpp2J/PfdBP0wbDa2sO6/qRbcalpoevVyW6A/fI6LfeMw==",
+      "dev": true,
+      "dependencies": {
+        "@humanwhocodes/object-schema": "^1.2.1",
+        "debug": "^4.1.1",
+        "minimatch": "^3.0.4"
+      },
+      "engines": {
+        "node": ">=10.10.0"
+      }
+    },
+    "node_modules/@humanwhocodes/gitignore-to-minimatch": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/@humanwhocodes/gitignore-to-minimatch/-/gitignore-to-minimatch-1.0.2.tgz",
+      "integrity": "sha512-rSqmMJDdLFUsyxR6FMtD00nfQKKLFb1kv+qBbOVKqErvloEIJLo5bDTJTQNTYgeyp78JsA7u/NPi5jT1GR/MuA==",
+      "dev": true,
+      "funding": {
+        "type": "github",
+        "url": "https://github.com/sponsors/nzakas"
+      }
+    },
+    "node_modules/@humanwhocodes/object-schema": {
+      "version": "1.2.1",
+      "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz",
+      "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==",
+      "dev": true
+    },
+    "node_modules/@intlify/bundle-utils": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/@intlify/bundle-utils/-/bundle-utils-3.1.0.tgz",
+      "integrity": "sha512-ghlJ0kR2cCQ8D+poKknC0Xx0ncOt3J3os7CcIAqqIWVF7k6AtGoCDnIru+YzlZcvFRNmP9wEZ7jKliojCdAWNg==",
+      "dev": true,
+      "dependencies": {
+        "@intlify/message-compiler": "next",
+        "@intlify/shared": "next",
+        "jsonc-eslint-parser": "^1.0.1",
+        "source-map": "0.6.1",
+        "yaml-eslint-parser": "^0.3.2"
+      },
+      "engines": {
+        "node": ">= 12"
+      },
+      "peerDependenciesMeta": {
+        "petite-vue-i18n": {
+          "optional": true
+        },
+        "vue-i18n": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/@intlify/core-base": {
+      "version": "9.2.2",
+      "resolved": "https://registry.npmjs.org/@intlify/core-base/-/core-base-9.2.2.tgz",
+      "integrity": "sha512-JjUpQtNfn+joMbrXvpR4hTF8iJQ2sEFzzK3KIESOx+f+uwIjgw20igOyaIdhfsVVBCds8ZM64MoeNSx+PHQMkA==",
+      "dependencies": {
+        "@intlify/devtools-if": "9.2.2",
+        "@intlify/message-compiler": "9.2.2",
+        "@intlify/shared": "9.2.2",
+        "@intlify/vue-devtools": "9.2.2"
+      },
+      "engines": {
+        "node": ">= 14"
+      }
+    },
+    "node_modules/@intlify/devtools-if": {
+      "version": "9.2.2",
+      "resolved": "https://registry.npmjs.org/@intlify/devtools-if/-/devtools-if-9.2.2.tgz",
+      "integrity": "sha512-4ttr/FNO29w+kBbU7HZ/U0Lzuh2cRDhP8UlWOtV9ERcjHzuyXVZmjyleESK6eVP60tGC9QtQW9yZE+JeRhDHkg==",
+      "dependencies": {
+        "@intlify/shared": "9.2.2"
+      },
+      "engines": {
+        "node": ">= 14"
+      }
+    },
+    "node_modules/@intlify/message-compiler": {
+      "version": "9.2.2",
+      "resolved": "https://registry.npmjs.org/@intlify/message-compiler/-/message-compiler-9.2.2.tgz",
+      "integrity": "sha512-IUrQW7byAKN2fMBe8z6sK6riG1pue95e5jfokn8hA5Q3Bqy4MBJ5lJAofUsawQJYHeoPJ7svMDyBaVJ4d0GTtA==",
+      "dependencies": {
+        "@intlify/shared": "9.2.2",
+        "source-map": "0.6.1"
+      },
+      "engines": {
+        "node": ">= 14"
+      }
+    },
+    "node_modules/@intlify/shared": {
+      "version": "9.2.2",
+      "resolved": "https://registry.npmjs.org/@intlify/shared/-/shared-9.2.2.tgz",
+      "integrity": "sha512-wRwTpsslgZS5HNyM7uDQYZtxnbI12aGiBZURX3BTR9RFIKKRWpllTsgzHWvj3HKm3Y2Sh5LPC1r0PDCKEhVn9Q==",
+      "engines": {
+        "node": ">= 14"
+      }
+    },
+    "node_modules/@intlify/vite-plugin-vue-i18n": {
+      "version": "6.0.1",
+      "resolved": "https://registry.npmjs.org/@intlify/vite-plugin-vue-i18n/-/vite-plugin-vue-i18n-6.0.1.tgz",
+      "integrity": "sha512-FFVcxVU4bR9vdDLNbltM5mrhndnXMErO01i0RrpdyMegEt3Nu/YLoH0sFdjRun7/RY4vaEnhTnFvVf9uO0dQvg==",
+      "dev": true,
+      "dependencies": {
+        "@intlify/bundle-utils": "next",
+        "@intlify/shared": "next",
+        "@rollup/pluginutils": "^4.2.0",
+        "debug": "^4.3.1",
+        "fast-glob": "^3.2.5",
+        "source-map": "0.6.1"
+      },
+      "engines": {
+        "node": ">= 14.6"
+      },
+      "peerDependencies": {
+        "petite-vue-i18n": "*",
+        "vite": "^2.9.0 || ^3.0.0",
+        "vue-i18n": "*"
+      },
+      "peerDependenciesMeta": {
+        "petite-vue-i18n": {
+          "optional": true
+        },
+        "vite": {
+          "optional": true
+        },
+        "vue-i18n": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/@intlify/vue-devtools": {
+      "version": "9.2.2",
+      "resolved": "https://registry.npmjs.org/@intlify/vue-devtools/-/vue-devtools-9.2.2.tgz",
+      "integrity": "sha512-+dUyqyCHWHb/UcvY1MlIpO87munedm3Gn6E9WWYdWrMuYLcoIoOEVDWSS8xSwtlPU+kA+MEQTP6Q1iI/ocusJg==",
+      "dependencies": {
+        "@intlify/core-base": "9.2.2",
+        "@intlify/shared": "9.2.2"
+      },
+      "engines": {
+        "node": ">= 14"
+      }
+    },
+    "node_modules/@nodelib/fs.scandir": {
+      "version": "2.1.5",
+      "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
+      "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
+      "dev": true,
+      "dependencies": {
+        "@nodelib/fs.stat": "2.0.5",
+        "run-parallel": "^1.1.9"
+      },
+      "engines": {
+        "node": ">= 8"
+      }
+    },
+    "node_modules/@nodelib/fs.stat": {
+      "version": "2.0.5",
+      "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
+      "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
+      "dev": true,
+      "engines": {
+        "node": ">= 8"
+      }
+    },
+    "node_modules/@nodelib/fs.walk": {
+      "version": "1.2.8",
+      "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
+      "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
+      "dev": true,
+      "dependencies": {
+        "@nodelib/fs.scandir": "2.1.5",
+        "fastq": "^1.6.0"
+      },
+      "engines": {
+        "node": ">= 8"
+      }
+    },
+    "node_modules/@rollup/pluginutils": {
+      "version": "4.2.1",
+      "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-4.2.1.tgz",
+      "integrity": "sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==",
+      "dev": true,
+      "dependencies": {
+        "estree-walker": "^2.0.1",
+        "picomatch": "^2.2.2"
+      },
+      "engines": {
+        "node": ">= 8.0.0"
+      }
+    },
+    "node_modules/@vitejs/plugin-vue": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-3.1.0.tgz",
+      "integrity": "sha512-fmxtHPjSOEIRg6vHYDaem+97iwCUg/uSIaTzp98lhELt2ISOQuDo2hbkBdXod0g15IhfPMQmAxh4heUks2zvDA==",
+      "dev": true,
+      "engines": {
+        "node": "^14.18.0 || >=16.0.0"
+      },
+      "peerDependencies": {
+        "vite": "^3.0.0",
+        "vue": "^3.2.25"
+      }
+    },
+    "node_modules/@vue/compiler-core": {
+      "version": "3.2.39",
+      "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.39.tgz",
+      "integrity": "sha512-mf/36OWXqWn0wsC40nwRRGheR/qoID+lZXbIuLnr4/AngM0ov8Xvv8GHunC0rKRIkh60bTqydlqTeBo49rlbqw==",
+      "dependencies": {
+        "@babel/parser": "^7.16.4",
+        "@vue/shared": "3.2.39",
+        "estree-walker": "^2.0.2",
+        "source-map": "^0.6.1"
+      }
+    },
+    "node_modules/@vue/compiler-dom": {
+      "version": "3.2.39",
+      "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.39.tgz",
+      "integrity": "sha512-HMFI25Be1C8vLEEv1hgEO1dWwG9QQ8LTTPmCkblVJY/O3OvWx6r1+zsox5mKPMGvqYEZa6l8j+xgOfUspgo7hw==",
+      "dependencies": {
+        "@vue/compiler-core": "3.2.39",
+        "@vue/shared": "3.2.39"
+      }
+    },
+    "node_modules/@vue/compiler-sfc": {
+      "version": "3.2.39",
+      "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.2.39.tgz",
+      "integrity": "sha512-fqAQgFs1/BxTUZkd0Vakn3teKUt//J3c420BgnYgEOoVdTwYpBTSXCMJ88GOBCylmUBbtquGPli9tVs7LzsWIA==",
+      "dependencies": {
+        "@babel/parser": "^7.16.4",
+        "@vue/compiler-core": "3.2.39",
+        "@vue/compiler-dom": "3.2.39",
+        "@vue/compiler-ssr": "3.2.39",
+        "@vue/reactivity-transform": "3.2.39",
+        "@vue/shared": "3.2.39",
+        "estree-walker": "^2.0.2",
+        "magic-string": "^0.25.7",
+        "postcss": "^8.1.10",
+        "source-map": "^0.6.1"
+      }
+    },
+    "node_modules/@vue/compiler-ssr": {
+      "version": "3.2.39",
+      "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.2.39.tgz",
+      "integrity": "sha512-EoGCJ6lincKOZGW+0Ky4WOKsSmqL7hp1ZYgen8M7u/mlvvEQUaO9tKKOy7K43M9U2aA3tPv0TuYYQFrEbK2eFQ==",
+      "dependencies": {
+        "@vue/compiler-dom": "3.2.39",
+        "@vue/shared": "3.2.39"
+      }
+    },
+    "node_modules/@vue/devtools-api": {
+      "version": "6.2.1",
+      "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.2.1.tgz",
+      "integrity": "sha512-OEgAMeQXvCoJ+1x8WyQuVZzFo0wcyCmUR3baRVLmKBo1LmYZWMlRiXlux5jd0fqVJu6PfDbOrZItVqUEzLobeQ=="
+    },
+    "node_modules/@vue/reactivity": {
+      "version": "3.2.39",
+      "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.2.39.tgz",
+      "integrity": "sha512-vlaYX2a3qMhIZfrw3Mtfd+BuU+TZmvDrPMa+6lpfzS9k/LnGxkSuf0fhkP0rMGfiOHPtyKoU9OJJJFGm92beVQ==",
+      "dependencies": {
+        "@vue/shared": "3.2.39"
+      }
+    },
+    "node_modules/@vue/reactivity-transform": {
+      "version": "3.2.39",
+      "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.2.39.tgz",
+      "integrity": "sha512-HGuWu864zStiWs9wBC6JYOP1E00UjMdDWIG5W+FpUx28hV3uz9ODOKVNm/vdOy/Pvzg8+OcANxAVC85WFBbl3A==",
+      "dependencies": {
+        "@babel/parser": "^7.16.4",
+        "@vue/compiler-core": "3.2.39",
+        "@vue/shared": "3.2.39",
+        "estree-walker": "^2.0.2",
+        "magic-string": "^0.25.7"
+      }
+    },
+    "node_modules/@vue/runtime-core": {
+      "version": "3.2.39",
+      "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.2.39.tgz",
+      "integrity": "sha512-xKH5XP57JW5JW+8ZG1khBbuLakINTgPuINKL01hStWLTTGFOrM49UfCFXBcFvWmSbci3gmJyLl2EAzCaZWsx8g==",
+      "dependencies": {
+        "@vue/reactivity": "3.2.39",
+        "@vue/shared": "3.2.39"
+      }
+    },
+    "node_modules/@vue/runtime-dom": {
+      "version": "3.2.39",
+      "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.2.39.tgz",
+      "integrity": "sha512-4G9AEJP+sLhsqf5wXcyKVWQKUhI+iWfy0hWQgea+CpaTD7BR0KdQzvoQdZhwCY6B3oleSyNLkLAQwm0ya/wNoA==",
+      "dependencies": {
+        "@vue/runtime-core": "3.2.39",
+        "@vue/shared": "3.2.39",
+        "csstype": "^2.6.8"
+      }
+    },
+    "node_modules/@vue/server-renderer": {
+      "version": "3.2.39",
+      "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.2.39.tgz",
+      "integrity": "sha512-1yn9u2YBQWIgytFMjz4f/t0j43awKytTGVptfd3FtBk76t1pd8mxbek0G/DrnjJhd2V7mSTb5qgnxMYt8Z5iSQ==",
+      "dependencies": {
+        "@vue/compiler-ssr": "3.2.39",
+        "@vue/shared": "3.2.39"
+      },
+      "peerDependencies": {
+        "vue": "3.2.39"
+      }
+    },
+    "node_modules/@vue/shared": {
+      "version": "3.2.39",
+      "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.39.tgz",
+      "integrity": "sha512-D3dl2ZB9qE6mTuWPk9RlhDeP1dgNRUKC3NJxji74A4yL8M2MwlhLKUC/49WHjrNzSPug58fWx/yFbaTzGAQSBw=="
+    },
+    "node_modules/acorn": {
+      "version": "8.8.0",
+      "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz",
+      "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==",
+      "dev": true,
+      "bin": {
+        "acorn": "bin/acorn"
+      },
+      "engines": {
+        "node": ">=0.4.0"
+      }
+    },
+    "node_modules/acorn-jsx": {
+      "version": "5.3.2",
+      "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
+      "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
+      "dev": true,
+      "peerDependencies": {
+        "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
+      }
+    },
+    "node_modules/ajv": {
+      "version": "6.12.6",
+      "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
+      "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
+      "dev": true,
+      "dependencies": {
+        "fast-deep-equal": "^3.1.1",
+        "fast-json-stable-stringify": "^2.0.0",
+        "json-schema-traverse": "^0.4.1",
+        "uri-js": "^4.2.2"
+      },
+      "funding": {
+        "type": "github",
+        "url": "https://github.com/sponsors/epoberezkin"
+      }
+    },
+    "node_modules/ansi-regex": {
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+      "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/ansi-styles": {
+      "version": "4.3.0",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+      "dev": true,
+      "dependencies": {
+        "color-convert": "^2.0.1"
+      },
+      "engines": {
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+      }
+    },
+    "node_modules/anymatch": {
+      "version": "3.1.2",
+      "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
+      "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==",
+      "dev": true,
+      "dependencies": {
+        "normalize-path": "^3.0.0",
+        "picomatch": "^2.0.4"
+      },
+      "engines": {
+        "node": ">= 8"
+      }
+    },
+    "node_modules/argparse": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+      "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
+      "dev": true
+    },
+    "node_modules/array-union": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
+      "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/balanced-match": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
+      "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
+      "dev": true
+    },
+    "node_modules/binary-extensions": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
+      "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/boolbase": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
+      "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==",
+      "dev": true
+    },
+    "node_modules/brace-expansion": {
+      "version": "1.1.11",
+      "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+      "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+      "dev": true,
+      "dependencies": {
+        "balanced-match": "^1.0.0",
+        "concat-map": "0.0.1"
+      }
+    },
+    "node_modules/braces": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
+      "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+      "dev": true,
+      "dependencies": {
+        "fill-range": "^7.0.1"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/callsites": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
+      "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/chalk": {
+      "version": "4.1.2",
+      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+      "dev": true,
+      "dependencies": {
+        "ansi-styles": "^4.1.0",
+        "supports-color": "^7.1.0"
+      },
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/chalk?sponsor=1"
+      }
+    },
+    "node_modules/chokidar": {
+      "version": "3.5.3",
+      "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
+      "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
+      "dev": true,
+      "funding": [
+        {
+          "type": "individual",
+          "url": "https://paulmillr.com/funding/"
+        }
+      ],
+      "dependencies": {
+        "anymatch": "~3.1.2",
+        "braces": "~3.0.2",
+        "glob-parent": "~5.1.2",
+        "is-binary-path": "~2.1.0",
+        "is-glob": "~4.0.1",
+        "normalize-path": "~3.0.0",
+        "readdirp": "~3.6.0"
+      },
+      "engines": {
+        "node": ">= 8.10.0"
+      },
+      "optionalDependencies": {
+        "fsevents": "~2.3.2"
+      }
+    },
+    "node_modules/chokidar/node_modules/glob-parent": {
+      "version": "5.1.2",
+      "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+      "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+      "dev": true,
+      "dependencies": {
+        "is-glob": "^4.0.1"
+      },
+      "engines": {
+        "node": ">= 6"
+      }
+    },
+    "node_modules/color-convert": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+      "dev": true,
+      "dependencies": {
+        "color-name": "~1.1.4"
+      },
+      "engines": {
+        "node": ">=7.0.0"
+      }
+    },
+    "node_modules/color-name": {
+      "version": "1.1.4",
+      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+      "dev": true
+    },
+    "node_modules/concat-map": {
+      "version": "0.0.1",
+      "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+      "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
+      "dev": true
+    },
+    "node_modules/cross-spawn": {
+      "version": "7.0.3",
+      "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
+      "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
+      "dev": true,
+      "dependencies": {
+        "path-key": "^3.1.0",
+        "shebang-command": "^2.0.0",
+        "which": "^2.0.1"
+      },
+      "engines": {
+        "node": ">= 8"
+      }
+    },
+    "node_modules/cssesc": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
+      "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==",
+      "dev": true,
+      "bin": {
+        "cssesc": "bin/cssesc"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/csstype": {
+      "version": "2.6.20",
+      "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.20.tgz",
+      "integrity": "sha512-/WwNkdXfckNgw6S5R125rrW8ez139lBHWouiBvX8dfMFtcn6V81REDqnH7+CRpRipfYlyU1CmOnOxrmGcFOjeA=="
+    },
+    "node_modules/debug": {
+      "version": "4.3.4",
+      "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+      "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+      "dev": true,
+      "dependencies": {
+        "ms": "2.1.2"
+      },
+      "engines": {
+        "node": ">=6.0"
+      },
+      "peerDependenciesMeta": {
+        "supports-color": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/deep-is": {
+      "version": "0.1.4",
+      "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
+      "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==",
+      "dev": true
+    },
+    "node_modules/dir-glob": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
+      "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
+      "dev": true,
+      "dependencies": {
+        "path-type": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/doctrine": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
+      "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
+      "dev": true,
+      "dependencies": {
+        "esutils": "^2.0.2"
+      },
+      "engines": {
+        "node": ">=6.0.0"
+      }
+    },
+    "node_modules/esbuild": {
+      "version": "0.15.7",
+      "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.15.7.tgz",
+      "integrity": "sha512-7V8tzllIbAQV1M4QoE52ImKu8hT/NLGlGXkiDsbEU5PS6K8Mn09ZnYoS+dcmHxOS9CRsV4IRAMdT3I67IyUNXw==",
+      "dev": true,
+      "hasInstallScript": true,
+      "bin": {
+        "esbuild": "bin/esbuild"
+      },
+      "engines": {
+        "node": ">=12"
+      },
+      "optionalDependencies": {
+        "@esbuild/linux-loong64": "0.15.7",
+        "esbuild-android-64": "0.15.7",
+        "esbuild-android-arm64": "0.15.7",
+        "esbuild-darwin-64": "0.15.7",
+        "esbuild-darwin-arm64": "0.15.7",
+        "esbuild-freebsd-64": "0.15.7",
+        "esbuild-freebsd-arm64": "0.15.7",
+        "esbuild-linux-32": "0.15.7",
+        "esbuild-linux-64": "0.15.7",
+        "esbuild-linux-arm": "0.15.7",
+        "esbuild-linux-arm64": "0.15.7",
+        "esbuild-linux-mips64le": "0.15.7",
+        "esbuild-linux-ppc64le": "0.15.7",
+        "esbuild-linux-riscv64": "0.15.7",
+        "esbuild-linux-s390x": "0.15.7",
+        "esbuild-netbsd-64": "0.15.7",
+        "esbuild-openbsd-64": "0.15.7",
+        "esbuild-sunos-64": "0.15.7",
+        "esbuild-windows-32": "0.15.7",
+        "esbuild-windows-64": "0.15.7",
+        "esbuild-windows-arm64": "0.15.7"
+      }
+    },
+    "node_modules/esbuild-android-64": {
+      "version": "0.15.7",
+      "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.15.7.tgz",
+      "integrity": "sha512-p7rCvdsldhxQr3YHxptf1Jcd86dlhvc3EQmQJaZzzuAxefO9PvcI0GLOa5nCWem1AJ8iMRu9w0r5TG8pHmbi9w==",
+      "cpu": [
+        "x64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "android"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/esbuild-android-arm64": {
+      "version": "0.15.7",
+      "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.15.7.tgz",
+      "integrity": "sha512-L775l9ynJT7rVqRM5vo+9w5g2ysbOCfsdLV4CWanTZ1k/9Jb3IYlQ06VCI1edhcosTYJRECQFJa3eAvkx72eyQ==",
+      "cpu": [
+        "arm64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "android"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/esbuild-darwin-64": {
+      "version": "0.15.7",
+      "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.15.7.tgz",
+      "integrity": "sha512-KGPt3r1c9ww009t2xLB6Vk0YyNOXh7hbjZ3EecHoVDxgtbUlYstMPDaReimKe6eOEfyY4hBEEeTvKwPsiH5WZg==",
+      "cpu": [
+        "x64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "darwin"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/esbuild-darwin-arm64": {
+      "version": "0.15.7",
+      "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.7.tgz",
+      "integrity": "sha512-kBIHvtVqbSGajN88lYMnR3aIleH3ABZLLFLxwL2stiuIGAjGlQW741NxVTpUHQXUmPzxi6POqc9npkXa8AcSZQ==",
+      "cpu": [
+        "arm64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "darwin"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/esbuild-freebsd-64": {
+      "version": "0.15.7",
+      "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.7.tgz",
+      "integrity": "sha512-hESZB91qDLV5MEwNxzMxPfbjAhOmtfsr9Wnuci7pY6TtEh4UDuevmGmkUIjX/b+e/k4tcNBMf7SRQ2mdNuK/HQ==",
+      "cpu": [
+        "x64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "freebsd"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/esbuild-freebsd-arm64": {
+      "version": "0.15.7",
+      "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.7.tgz",
+      "integrity": "sha512-dLFR0ChH5t+b3J8w0fVKGvtwSLWCv7GYT2Y2jFGulF1L5HftQLzVGN+6pi1SivuiVSmTh28FwUhi9PwQicXI6Q==",
+      "cpu": [
+        "arm64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "freebsd"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/esbuild-linux-32": {
+      "version": "0.15.7",
+      "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.15.7.tgz",
+      "integrity": "sha512-v3gT/LsONGUZcjbt2swrMjwxo32NJzk+7sAgtxhGx1+ZmOFaTRXBAi1PPfgpeo/J//Un2jIKm/I+qqeo4caJvg==",
+      "cpu": [
+        "ia32"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/esbuild-linux-64": {
+      "version": "0.15.7",
+      "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.15.7.tgz",
+      "integrity": "sha512-LxXEfLAKwOVmm1yecpMmWERBshl+Kv5YJ/1KnyAr6HRHFW8cxOEsEfisD3sVl/RvHyW//lhYUVSuy9jGEfIRAQ==",
+      "cpu": [
+        "x64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/esbuild-linux-arm": {
+      "version": "0.15.7",
+      "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.15.7.tgz",
+      "integrity": "sha512-JKgAHtMR5f75wJTeuNQbyznZZa+pjiUHV7sRZp42UNdyXC6TiUYMW/8z8yIBAr2Fpad8hM1royZKQisqPABPvQ==",
+      "cpu": [
+        "arm"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/esbuild-linux-arm64": {
+      "version": "0.15.7",
+      "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.7.tgz",
+      "integrity": "sha512-P3cfhudpzWDkglutWgXcT2S7Ft7o2e3YDMrP1n0z2dlbUZghUkKCyaWw0zhp4KxEEzt/E7lmrtRu/pGWnwb9vw==",
+      "cpu": [
+        "arm64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/esbuild-linux-mips64le": {
+      "version": "0.15.7",
+      "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.7.tgz",
+      "integrity": "sha512-T7XKuxl0VpeFLCJXub6U+iybiqh0kM/bWOTb4qcPyDDwNVhLUiPcGdG2/0S7F93czUZOKP57YiLV8YQewgLHKw==",
+      "cpu": [
+        "mips64el"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/esbuild-linux-ppc64le": {
+      "version": "0.15.7",
+      "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.7.tgz",
+      "integrity": "sha512-6mGuC19WpFN7NYbecMIJjeQgvDb5aMuvyk0PDYBJrqAEMkTwg3Z98kEKuCm6THHRnrgsdr7bp4SruSAxEM4eJw==",
+      "cpu": [
+        "ppc64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/esbuild-linux-riscv64": {
+      "version": "0.15.7",
+      "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.7.tgz",
+      "integrity": "sha512-uUJsezbswAYo/X7OU/P+PuL/EI9WzxsEQXDekfwpQ23uGiooxqoLFAPmXPcRAt941vjlY9jtITEEikWMBr+F/g==",
+      "cpu": [
+        "riscv64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/esbuild-linux-s390x": {
+      "version": "0.15.7",
+      "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.7.tgz",
+      "integrity": "sha512-+tO+xOyTNMc34rXlSxK7aCwJgvQyffqEM5MMdNDEeMU3ss0S6wKvbBOQfgd5jRPblfwJ6b+bKiz0g5nABpY0QQ==",
+      "cpu": [
+        "s390x"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/esbuild-netbsd-64": {
+      "version": "0.15.7",
+      "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.7.tgz",
+      "integrity": "sha512-yVc4Wz+Pu3cP5hzm5kIygNPrjar/v5WCSoRmIjCPWfBVJkZNb5brEGKUlf+0Y759D48BCWa0WHrWXaNy0DULTQ==",
+      "cpu": [
+        "x64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "netbsd"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/esbuild-openbsd-64": {
+      "version": "0.15.7",
+      "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.7.tgz",
+      "integrity": "sha512-GsimbwC4FSR4lN3wf8XmTQ+r8/0YSQo21rWDL0XFFhLHKlzEA4SsT1Tl8bPYu00IU6UWSJ+b3fG/8SB69rcuEQ==",
+      "cpu": [
+        "x64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "openbsd"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/esbuild-sunos-64": {
+      "version": "0.15.7",
+      "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.15.7.tgz",
+      "integrity": "sha512-8CDI1aL/ts0mDGbWzjEOGKXnU7p3rDzggHSBtVryQzkSOsjCHRVe0iFYUuhczlxU1R3LN/E7HgUO4NXzGGP/Ag==",
+      "cpu": [
+        "x64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "sunos"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/esbuild-windows-32": {
+      "version": "0.15.7",
+      "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.15.7.tgz",
+      "integrity": "sha512-cOnKXUEPS8EGCzRSFa1x6NQjGhGsFlVgjhqGEbLTPsA7x4RRYiy2RKoArNUU4iR2vHmzqS5Gr84MEumO/wxYKA==",
+      "cpu": [
+        "ia32"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "win32"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/esbuild-windows-64": {
+      "version": "0.15.7",
+      "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.15.7.tgz",
+      "integrity": "sha512-7MI08Ec2sTIDv+zH6StNBKO+2hGUYIT42GmFyW6MBBWWtJhTcQLinKS6ldIN1d52MXIbiJ6nXyCJ+LpL4jBm3Q==",
+      "cpu": [
+        "x64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "win32"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/esbuild-windows-arm64": {
+      "version": "0.15.7",
+      "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.7.tgz",
+      "integrity": "sha512-R06nmqBlWjKHddhRJYlqDd3Fabx9LFdKcjoOy08YLimwmsswlFBJV4rXzZCxz/b7ZJXvrZgj8DDv1ewE9+StMw==",
+      "cpu": [
+        "arm64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "win32"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/escape-string-regexp": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
+      "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
+      "dev": true,
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/eslint": {
+      "version": "8.22.0",
+      "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.22.0.tgz",
+      "integrity": "sha512-ci4t0sz6vSRKdmkOGmprBo6fmI4PrphDFMy5JEq/fNS0gQkJM3rLmrqcp8ipMcdobH3KtUP40KniAE9W19S4wA==",
+      "dev": true,
+      "dependencies": {
+        "@eslint/eslintrc": "^1.3.0",
+        "@humanwhocodes/config-array": "^0.10.4",
+        "@humanwhocodes/gitignore-to-minimatch": "^1.0.2",
+        "ajv": "^6.10.0",
+        "chalk": "^4.0.0",
+        "cross-spawn": "^7.0.2",
+        "debug": "^4.3.2",
+        "doctrine": "^3.0.0",
+        "escape-string-regexp": "^4.0.0",
+        "eslint-scope": "^7.1.1",
+        "eslint-utils": "^3.0.0",
+        "eslint-visitor-keys": "^3.3.0",
+        "espree": "^9.3.3",
+        "esquery": "^1.4.0",
+        "esutils": "^2.0.2",
+        "fast-deep-equal": "^3.1.3",
+        "file-entry-cache": "^6.0.1",
+        "find-up": "^5.0.0",
+        "functional-red-black-tree": "^1.0.1",
+        "glob-parent": "^6.0.1",
+        "globals": "^13.15.0",
+        "globby": "^11.1.0",
+        "grapheme-splitter": "^1.0.4",
+        "ignore": "^5.2.0",
+        "import-fresh": "^3.0.0",
+        "imurmurhash": "^0.1.4",
+        "is-glob": "^4.0.0",
+        "js-yaml": "^4.1.0",
+        "json-stable-stringify-without-jsonify": "^1.0.1",
+        "levn": "^0.4.1",
+        "lodash.merge": "^4.6.2",
+        "minimatch": "^3.1.2",
+        "natural-compare": "^1.4.0",
+        "optionator": "^0.9.1",
+        "regexpp": "^3.2.0",
+        "strip-ansi": "^6.0.1",
+        "strip-json-comments": "^3.1.0",
+        "text-table": "^0.2.0",
+        "v8-compile-cache": "^2.0.3"
+      },
+      "bin": {
+        "eslint": "bin/eslint.js"
+      },
+      "engines": {
+        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+      },
+      "funding": {
+        "url": "https://opencollective.com/eslint"
+      }
+    },
+    "node_modules/eslint-plugin-vue": {
+      "version": "9.4.0",
+      "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.4.0.tgz",
+      "integrity": "sha512-Nzz2QIJ8FG+rtJaqT/7/ru5ie2XgT9KCudkbN0y3uFYhQ41nuHEaboLAiqwMcK006hZPQv/rVMRhUIwEGhIvfQ==",
+      "dev": true,
+      "dependencies": {
+        "eslint-utils": "^3.0.0",
+        "natural-compare": "^1.4.0",
+        "nth-check": "^2.0.1",
+        "postcss-selector-parser": "^6.0.9",
+        "semver": "^7.3.5",
+        "vue-eslint-parser": "^9.0.1",
+        "xml-name-validator": "^4.0.0"
+      },
+      "engines": {
+        "node": "^14.17.0 || >=16.0.0"
+      },
+      "peerDependencies": {
+        "eslint": "^6.2.0 || ^7.0.0 || ^8.0.0"
+      }
+    },
+    "node_modules/eslint-scope": {
+      "version": "7.1.1",
+      "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz",
+      "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==",
+      "dev": true,
+      "dependencies": {
+        "esrecurse": "^4.3.0",
+        "estraverse": "^5.2.0"
+      },
+      "engines": {
+        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+      }
+    },
+    "node_modules/eslint-utils": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz",
+      "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==",
+      "dev": true,
+      "dependencies": {
+        "eslint-visitor-keys": "^2.0.0"
+      },
+      "engines": {
+        "node": "^10.0.0 || ^12.0.0 || >= 14.0.0"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/mysticatea"
+      },
+      "peerDependencies": {
+        "eslint": ">=5"
+      }
+    },
+    "node_modules/eslint-utils/node_modules/eslint-visitor-keys": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz",
+      "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==",
+      "dev": true,
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/eslint-visitor-keys": {
+      "version": "3.3.0",
+      "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz",
+      "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==",
+      "dev": true,
+      "engines": {
+        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+      }
+    },
+    "node_modules/espree": {
+      "version": "9.4.0",
+      "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.0.tgz",
+      "integrity": "sha512-DQmnRpLj7f6TgN/NYb0MTzJXL+vJF9h3pHy4JhCIs3zwcgez8xmGg3sXHcEO97BrmO2OSvCwMdfdlyl+E9KjOw==",
+      "dev": true,
+      "dependencies": {
+        "acorn": "^8.8.0",
+        "acorn-jsx": "^5.3.2",
+        "eslint-visitor-keys": "^3.3.0"
+      },
+      "engines": {
+        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+      },
+      "funding": {
+        "url": "https://opencollective.com/eslint"
+      }
+    },
+    "node_modules/esquery": {
+      "version": "1.4.0",
+      "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz",
+      "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==",
+      "dev": true,
+      "dependencies": {
+        "estraverse": "^5.1.0"
+      },
+      "engines": {
+        "node": ">=0.10"
+      }
+    },
+    "node_modules/esrecurse": {
+      "version": "4.3.0",
+      "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
+      "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
+      "dev": true,
+      "dependencies": {
+        "estraverse": "^5.2.0"
+      },
+      "engines": {
+        "node": ">=4.0"
+      }
+    },
+    "node_modules/estraverse": {
+      "version": "5.3.0",
+      "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
+      "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
+      "dev": true,
+      "engines": {
+        "node": ">=4.0"
+      }
+    },
+    "node_modules/estree-walker": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
+      "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="
+    },
+    "node_modules/esutils": {
+      "version": "2.0.3",
+      "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
+      "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/fast-deep-equal": {
+      "version": "3.1.3",
+      "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
+      "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
+      "dev": true
+    },
+    "node_modules/fast-glob": {
+      "version": "3.2.11",
+      "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz",
+      "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==",
+      "dev": true,
+      "dependencies": {
+        "@nodelib/fs.stat": "^2.0.2",
+        "@nodelib/fs.walk": "^1.2.3",
+        "glob-parent": "^5.1.2",
+        "merge2": "^1.3.0",
+        "micromatch": "^4.0.4"
+      },
+      "engines": {
+        "node": ">=8.6.0"
+      }
+    },
+    "node_modules/fast-glob/node_modules/glob-parent": {
+      "version": "5.1.2",
+      "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+      "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+      "dev": true,
+      "dependencies": {
+        "is-glob": "^4.0.1"
+      },
+      "engines": {
+        "node": ">= 6"
+      }
+    },
+    "node_modules/fast-json-stable-stringify": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
+      "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
+      "dev": true
+    },
+    "node_modules/fast-levenshtein": {
+      "version": "2.0.6",
+      "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
+      "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==",
+      "dev": true
+    },
+    "node_modules/fastq": {
+      "version": "1.13.0",
+      "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz",
+      "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==",
+      "dev": true,
+      "dependencies": {
+        "reusify": "^1.0.4"
+      }
+    },
+    "node_modules/file-entry-cache": {
+      "version": "6.0.1",
+      "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz",
+      "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==",
+      "dev": true,
+      "dependencies": {
+        "flat-cache": "^3.0.4"
+      },
+      "engines": {
+        "node": "^10.12.0 || >=12.0.0"
+      }
+    },
+    "node_modules/fill-range": {
+      "version": "7.0.1",
+      "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
+      "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
+      "dev": true,
+      "dependencies": {
+        "to-regex-range": "^5.0.1"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/find-up": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
+      "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
+      "dev": true,
+      "dependencies": {
+        "locate-path": "^6.0.0",
+        "path-exists": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/flat-cache": {
+      "version": "3.0.4",
+      "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz",
+      "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==",
+      "dev": true,
+      "dependencies": {
+        "flatted": "^3.1.0",
+        "rimraf": "^3.0.2"
+      },
+      "engines": {
+        "node": "^10.12.0 || >=12.0.0"
+      }
+    },
+    "node_modules/flatted": {
+      "version": "3.2.7",
+      "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz",
+      "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==",
+      "dev": true
+    },
+    "node_modules/fs.realpath": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+      "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
+      "dev": true
+    },
+    "node_modules/fsevents": {
+      "version": "2.3.2",
+      "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
+      "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
+      "dev": true,
+      "hasInstallScript": true,
+      "optional": true,
+      "os": [
+        "darwin"
+      ],
+      "engines": {
+        "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
+      }
+    },
+    "node_modules/function-bind": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
+      "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
+      "dev": true
+    },
+    "node_modules/functional-red-black-tree": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
+      "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==",
+      "dev": true
+    },
+    "node_modules/glob": {
+      "version": "7.2.3",
+      "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+      "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+      "dev": true,
+      "dependencies": {
+        "fs.realpath": "^1.0.0",
+        "inflight": "^1.0.4",
+        "inherits": "2",
+        "minimatch": "^3.1.1",
+        "once": "^1.3.0",
+        "path-is-absolute": "^1.0.0"
+      },
+      "engines": {
+        "node": "*"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
+      }
+    },
+    "node_modules/glob-parent": {
+      "version": "6.0.2",
+      "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
+      "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
+      "dev": true,
+      "dependencies": {
+        "is-glob": "^4.0.3"
+      },
+      "engines": {
+        "node": ">=10.13.0"
+      }
+    },
+    "node_modules/globals": {
+      "version": "13.17.0",
+      "resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz",
+      "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==",
+      "dev": true,
+      "dependencies": {
+        "type-fest": "^0.20.2"
+      },
+      "engines": {
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/globby": {
+      "version": "11.1.0",
+      "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz",
+      "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==",
+      "dev": true,
+      "dependencies": {
+        "array-union": "^2.1.0",
+        "dir-glob": "^3.0.1",
+        "fast-glob": "^3.2.9",
+        "ignore": "^5.2.0",
+        "merge2": "^1.4.1",
+        "slash": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/grapheme-splitter": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz",
+      "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==",
+      "dev": true
+    },
+    "node_modules/has": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
+      "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
+      "dev": true,
+      "dependencies": {
+        "function-bind": "^1.1.1"
+      },
+      "engines": {
+        "node": ">= 0.4.0"
+      }
+    },
+    "node_modules/has-flag": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/ignore": {
+      "version": "5.2.0",
+      "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz",
+      "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==",
+      "dev": true,
+      "engines": {
+        "node": ">= 4"
+      }
+    },
+    "node_modules/immutable": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.1.0.tgz",
+      "integrity": "sha512-oNkuqVTA8jqG1Q6c+UglTOD1xhC1BtjKI7XkCXRkZHrN5m18/XsnUp8Q89GkQO/z+0WjonSvl0FLhDYftp46nQ==",
+      "dev": true
+    },
+    "node_modules/import-fresh": {
+      "version": "3.3.0",
+      "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
+      "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
+      "dev": true,
+      "dependencies": {
+        "parent-module": "^1.0.0",
+        "resolve-from": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=6"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/imurmurhash": {
+      "version": "0.1.4",
+      "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
+      "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.8.19"
+      }
+    },
+    "node_modules/inflight": {
+      "version": "1.0.6",
+      "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+      "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
+      "dev": true,
+      "dependencies": {
+        "once": "^1.3.0",
+        "wrappy": "1"
+      }
+    },
+    "node_modules/inherits": {
+      "version": "2.0.4",
+      "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
+      "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
+      "dev": true
+    },
+    "node_modules/is-binary-path": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
+      "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
+      "dev": true,
+      "dependencies": {
+        "binary-extensions": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/is-core-module": {
+      "version": "2.10.0",
+      "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.10.0.tgz",
+      "integrity": "sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==",
+      "dev": true,
+      "dependencies": {
+        "has": "^1.0.3"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/is-extglob": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+      "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/is-glob": {
+      "version": "4.0.3",
+      "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
+      "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
+      "dev": true,
+      "dependencies": {
+        "is-extglob": "^2.1.1"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/is-number": {
+      "version": "7.0.0",
+      "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+      "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.12.0"
+      }
+    },
+    "node_modules/isexe": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+      "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
+      "dev": true
+    },
+    "node_modules/js-yaml": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
+      "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+      "dev": true,
+      "dependencies": {
+        "argparse": "^2.0.1"
+      },
+      "bin": {
+        "js-yaml": "bin/js-yaml.js"
+      }
+    },
+    "node_modules/json-schema-traverse": {
+      "version": "0.4.1",
+      "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
+      "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
+      "dev": true
+    },
+    "node_modules/json-stable-stringify-without-jsonify": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
+      "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==",
+      "dev": true
+    },
+    "node_modules/jsonc-eslint-parser": {
+      "version": "1.4.1",
+      "resolved": "https://registry.npmjs.org/jsonc-eslint-parser/-/jsonc-eslint-parser-1.4.1.tgz",
+      "integrity": "sha512-hXBrvsR1rdjmB2kQmUjf1rEIa+TqHBGMge8pwi++C+Si1ad7EjZrJcpgwym+QGK/pqTx+K7keFAtLlVNdLRJOg==",
+      "dev": true,
+      "dependencies": {
+        "acorn": "^7.4.1",
+        "eslint-utils": "^2.1.0",
+        "eslint-visitor-keys": "^1.3.0",
+        "espree": "^6.0.0",
+        "semver": "^6.3.0"
+      },
+      "engines": {
+        "node": ">=8.10.0"
+      }
+    },
+    "node_modules/jsonc-eslint-parser/node_modules/acorn": {
+      "version": "7.4.1",
+      "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz",
+      "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==",
+      "dev": true,
+      "bin": {
+        "acorn": "bin/acorn"
+      },
+      "engines": {
+        "node": ">=0.4.0"
+      }
+    },
+    "node_modules/jsonc-eslint-parser/node_modules/eslint-utils": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz",
+      "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==",
+      "dev": true,
+      "dependencies": {
+        "eslint-visitor-keys": "^1.1.0"
+      },
+      "engines": {
+        "node": ">=6"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/mysticatea"
+      }
+    },
+    "node_modules/jsonc-eslint-parser/node_modules/eslint-visitor-keys": {
+      "version": "1.3.0",
+      "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz",
+      "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/jsonc-eslint-parser/node_modules/espree": {
+      "version": "6.2.1",
+      "resolved": "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz",
+      "integrity": "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==",
+      "dev": true,
+      "dependencies": {
+        "acorn": "^7.1.1",
+        "acorn-jsx": "^5.2.0",
+        "eslint-visitor-keys": "^1.1.0"
+      },
+      "engines": {
+        "node": ">=6.0.0"
+      }
+    },
+    "node_modules/jsonc-eslint-parser/node_modules/semver": {
+      "version": "6.3.0",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+      "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+      "dev": true,
+      "bin": {
+        "semver": "bin/semver.js"
+      }
+    },
+    "node_modules/levn": {
+      "version": "0.4.1",
+      "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
+      "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
+      "dev": true,
+      "dependencies": {
+        "prelude-ls": "^1.2.1",
+        "type-check": "~0.4.0"
+      },
+      "engines": {
+        "node": ">= 0.8.0"
+      }
+    },
+    "node_modules/locate-path": {
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
+      "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
+      "dev": true,
+      "dependencies": {
+        "p-locate": "^5.0.0"
+      },
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/lodash": {
+      "version": "4.17.21",
+      "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
+      "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
+      "dev": true
+    },
+    "node_modules/lodash.merge": {
+      "version": "4.6.2",
+      "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
+      "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
+      "dev": true
+    },
+    "node_modules/lru-cache": {
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+      "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+      "dev": true,
+      "dependencies": {
+        "yallist": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/magic-string": {
+      "version": "0.25.9",
+      "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz",
+      "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==",
+      "dependencies": {
+        "sourcemap-codec": "^1.4.8"
+      }
+    },
+    "node_modules/merge2": {
+      "version": "1.4.1",
+      "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
+      "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
+      "dev": true,
+      "engines": {
+        "node": ">= 8"
+      }
+    },
+    "node_modules/micromatch": {
+      "version": "4.0.5",
+      "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
+      "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
+      "dev": true,
+      "dependencies": {
+        "braces": "^3.0.2",
+        "picomatch": "^2.3.1"
+      },
+      "engines": {
+        "node": ">=8.6"
+      }
+    },
+    "node_modules/minimatch": {
+      "version": "3.1.2",
+      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+      "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+      "dev": true,
+      "dependencies": {
+        "brace-expansion": "^1.1.7"
+      },
+      "engines": {
+        "node": "*"
+      }
+    },
+    "node_modules/ms": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+      "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+      "dev": true
+    },
+    "node_modules/nanoid": {
+      "version": "3.3.4",
+      "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz",
+      "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==",
+      "bin": {
+        "nanoid": "bin/nanoid.cjs"
+      },
+      "engines": {
+        "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
+      }
+    },
+    "node_modules/natural-compare": {
+      "version": "1.4.0",
+      "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
+      "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==",
+      "dev": true
+    },
+    "node_modules/normalize-path": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
+      "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/nth-check": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz",
+      "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==",
+      "dev": true,
+      "dependencies": {
+        "boolbase": "^1.0.0"
+      },
+      "funding": {
+        "url": "https://github.com/fb55/nth-check?sponsor=1"
+      }
+    },
+    "node_modules/once": {
+      "version": "1.4.0",
+      "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+      "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
+      "dev": true,
+      "dependencies": {
+        "wrappy": "1"
+      }
+    },
+    "node_modules/optionator": {
+      "version": "0.9.1",
+      "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz",
+      "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==",
+      "dev": true,
+      "dependencies": {
+        "deep-is": "^0.1.3",
+        "fast-levenshtein": "^2.0.6",
+        "levn": "^0.4.1",
+        "prelude-ls": "^1.2.1",
+        "type-check": "^0.4.0",
+        "word-wrap": "^1.2.3"
+      },
+      "engines": {
+        "node": ">= 0.8.0"
+      }
+    },
+    "node_modules/p-limit": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
+      "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
+      "dev": true,
+      "dependencies": {
+        "yocto-queue": "^0.1.0"
+      },
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/p-locate": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
+      "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
+      "dev": true,
+      "dependencies": {
+        "p-limit": "^3.0.2"
+      },
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/parent-module": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
+      "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
+      "dev": true,
+      "dependencies": {
+        "callsites": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/path-exists": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
+      "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/path-is-absolute": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+      "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/path-key": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
+      "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/path-parse": {
+      "version": "1.0.7",
+      "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
+      "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
+      "dev": true
+    },
+    "node_modules/path-type": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
+      "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/picocolors": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
+      "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ=="
+    },
+    "node_modules/picomatch": {
+      "version": "2.3.1",
+      "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
+      "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
+      "dev": true,
+      "engines": {
+        "node": ">=8.6"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/jonschlinkert"
+      }
+    },
+    "node_modules/postcss": {
+      "version": "8.4.16",
+      "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.16.tgz",
+      "integrity": "sha512-ipHE1XBvKzm5xI7hiHCZJCSugxvsdq2mPnsq5+UF+VHCjiBvtDrlxJfMBToWaP9D5XlgNmcFGqoHmUn0EYEaRQ==",
+      "funding": [
+        {
+          "type": "opencollective",
+          "url": "https://opencollective.com/postcss/"
+        },
+        {
+          "type": "tidelift",
+          "url": "https://tidelift.com/funding/github/npm/postcss"
+        }
+      ],
+      "dependencies": {
+        "nanoid": "^3.3.4",
+        "picocolors": "^1.0.0",
+        "source-map-js": "^1.0.2"
+      },
+      "engines": {
+        "node": "^10 || ^12 || >=14"
+      }
+    },
+    "node_modules/postcss-selector-parser": {
+      "version": "6.0.10",
+      "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz",
+      "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==",
+      "dev": true,
+      "dependencies": {
+        "cssesc": "^3.0.0",
+        "util-deprecate": "^1.0.2"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/prelude-ls": {
+      "version": "1.2.1",
+      "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
+      "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.8.0"
+      }
+    },
+    "node_modules/primeflex": {
+      "version": "3.2.1",
+      "resolved": "https://registry.npmjs.org/primeflex/-/primeflex-3.2.1.tgz",
+      "integrity": "sha512-sGDJ4mh2fG19xa1yc4IPGSQ8MUMyu5nU+tYnl27AFuFHhX8XwEA7fWCtWyBbclclVhXtre+Kf9WobWPnfxWAEQ=="
+    },
+    "node_modules/primeicons": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/primeicons/-/primeicons-5.0.0.tgz",
+      "integrity": "sha512-heygWF0X5HFI1otlZE62pp6ye7sZ8om78J9au2BRkg8O7Y8AHTZ9qKMRzchZUHLe8zUAvdi6hZzzm9XxgwIExw=="
+    },
+    "node_modules/primevue": {
+      "version": "3.17.0",
+      "resolved": "https://registry.npmjs.org/primevue/-/primevue-3.17.0.tgz",
+      "integrity": "sha512-z7ZCHk4kgkHJ29hg0izN1M8Xst2MOObimq62waE2TDE8ztH9mp2sAdGGsQu1shMa4/23dZ+fcN4t+KpYNICRyQ==",
+      "peerDependencies": {
+        "primeicons": "^5.0.0",
+        "vue": "^3.0.0"
+      }
+    },
+    "node_modules/punycode": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
+      "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
+      "dev": true,
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/queue-microtask": {
+      "version": "1.2.3",
+      "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
+      "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
+      "dev": true,
+      "funding": [
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/feross"
+        },
+        {
+          "type": "patreon",
+          "url": "https://www.patreon.com/feross"
+        },
+        {
+          "type": "consulting",
+          "url": "https://feross.org/support"
+        }
+      ]
+    },
+    "node_modules/readdirp": {
+      "version": "3.6.0",
+      "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
+      "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
+      "dev": true,
+      "dependencies": {
+        "picomatch": "^2.2.1"
+      },
+      "engines": {
+        "node": ">=8.10.0"
+      }
+    },
+    "node_modules/regexpp": {
+      "version": "3.2.0",
+      "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz",
+      "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/mysticatea"
+      }
+    },
+    "node_modules/resolve": {
+      "version": "1.22.1",
+      "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz",
+      "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==",
+      "dev": true,
+      "dependencies": {
+        "is-core-module": "^2.9.0",
+        "path-parse": "^1.0.7",
+        "supports-preserve-symlinks-flag": "^1.0.0"
+      },
+      "bin": {
+        "resolve": "bin/resolve"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/resolve-from": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
+      "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
+      "dev": true,
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/reusify": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
+      "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
+      "dev": true,
+      "engines": {
+        "iojs": ">=1.0.0",
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/rimraf": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
+      "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+      "dev": true,
+      "dependencies": {
+        "glob": "^7.1.3"
+      },
+      "bin": {
+        "rimraf": "bin.js"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
+      }
+    },
+    "node_modules/rollup": {
+      "version": "2.78.1",
+      "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.78.1.tgz",
+      "integrity": "sha512-VeeCgtGi4P+o9hIg+xz4qQpRl6R401LWEXBmxYKOV4zlF82lyhgh2hTZnheFUbANE8l2A41F458iwj2vEYaXJg==",
+      "dev": true,
+      "bin": {
+        "rollup": "dist/bin/rollup"
+      },
+      "engines": {
+        "node": ">=10.0.0"
+      },
+      "optionalDependencies": {
+        "fsevents": "~2.3.2"
+      }
+    },
+    "node_modules/run-parallel": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
+      "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
+      "dev": true,
+      "funding": [
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/feross"
+        },
+        {
+          "type": "patreon",
+          "url": "https://www.patreon.com/feross"
+        },
+        {
+          "type": "consulting",
+          "url": "https://feross.org/support"
+        }
+      ],
+      "dependencies": {
+        "queue-microtask": "^1.2.2"
+      }
+    },
+    "node_modules/sass": {
+      "version": "1.54.9",
+      "resolved": "https://registry.npmjs.org/sass/-/sass-1.54.9.tgz",
+      "integrity": "sha512-xb1hjASzEH+0L0WI9oFjqhRi51t/gagWnxLiwUNMltA0Ab6jIDkAacgKiGYKM9Jhy109osM7woEEai6SXeJo5Q==",
+      "dev": true,
+      "dependencies": {
+        "chokidar": ">=3.0.0 <4.0.0",
+        "immutable": "^4.0.0",
+        "source-map-js": ">=0.6.2 <2.0.0"
+      },
+      "bin": {
+        "sass": "sass.js"
+      },
+      "engines": {
+        "node": ">=12.0.0"
+      }
+    },
+    "node_modules/semver": {
+      "version": "7.3.7",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
+      "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
+      "dev": true,
+      "dependencies": {
+        "lru-cache": "^6.0.0"
+      },
+      "bin": {
+        "semver": "bin/semver.js"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/shebang-command": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
+      "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
+      "dev": true,
+      "dependencies": {
+        "shebang-regex": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/shebang-regex": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
+      "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/slash": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
+      "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/source-map": {
+      "version": "0.6.1",
+      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+      "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/source-map-js": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
+      "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/sourcemap-codec": {
+      "version": "1.4.8",
+      "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz",
+      "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA=="
+    },
+    "node_modules/strip-ansi": {
+      "version": "6.0.1",
+      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+      "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+      "dev": true,
+      "dependencies": {
+        "ansi-regex": "^5.0.1"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/strip-json-comments": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
+      "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/supports-color": {
+      "version": "7.2.0",
+      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+      "dev": true,
+      "dependencies": {
+        "has-flag": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/supports-preserve-symlinks-flag": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
+      "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/text-table": {
+      "version": "0.2.0",
+      "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
+      "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==",
+      "dev": true
+    },
+    "node_modules/to-regex-range": {
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+      "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+      "dev": true,
+      "dependencies": {
+        "is-number": "^7.0.0"
+      },
+      "engines": {
+        "node": ">=8.0"
+      }
+    },
+    "node_modules/type-check": {
+      "version": "0.4.0",
+      "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
+      "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
+      "dev": true,
+      "dependencies": {
+        "prelude-ls": "^1.2.1"
+      },
+      "engines": {
+        "node": ">= 0.8.0"
+      }
+    },
+    "node_modules/type-fest": {
+      "version": "0.20.2",
+      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
+      "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/uri-js": {
+      "version": "4.4.1",
+      "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
+      "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
+      "dev": true,
+      "dependencies": {
+        "punycode": "^2.1.0"
+      }
+    },
+    "node_modules/util-deprecate": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+      "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
+      "dev": true
+    },
+    "node_modules/v8-compile-cache": {
+      "version": "2.3.0",
+      "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz",
+      "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==",
+      "dev": true
+    },
+    "node_modules/vite": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/vite/-/vite-3.1.0.tgz",
+      "integrity": "sha512-YBg3dUicDpDWFCGttmvMbVyS9ydjntwEjwXRj2KBFwSB8SxmGcudo1yb8FW5+M/G86aS8x828ujnzUVdsLjs9g==",
+      "dev": true,
+      "dependencies": {
+        "esbuild": "^0.15.6",
+        "postcss": "^8.4.16",
+        "resolve": "^1.22.1",
+        "rollup": "~2.78.0"
+      },
+      "bin": {
+        "vite": "bin/vite.js"
+      },
+      "engines": {
+        "node": "^14.18.0 || >=16.0.0"
+      },
+      "optionalDependencies": {
+        "fsevents": "~2.3.2"
+      },
+      "peerDependencies": {
+        "less": "*",
+        "sass": "*",
+        "stylus": "*",
+        "terser": "^5.4.0"
+      },
+      "peerDependenciesMeta": {
+        "less": {
+          "optional": true
+        },
+        "sass": {
+          "optional": true
+        },
+        "stylus": {
+          "optional": true
+        },
+        "terser": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/vue": {
+      "version": "3.2.39",
+      "resolved": "https://registry.npmjs.org/vue/-/vue-3.2.39.tgz",
+      "integrity": "sha512-tRkguhRTw9NmIPXhzk21YFBqXHT2t+6C6wPOgQ50fcFVWnPdetmRqbmySRHznrYjX2E47u0cGlKGcxKZJ38R/g==",
+      "dependencies": {
+        "@vue/compiler-dom": "3.2.39",
+        "@vue/compiler-sfc": "3.2.39",
+        "@vue/runtime-dom": "3.2.39",
+        "@vue/server-renderer": "3.2.39",
+        "@vue/shared": "3.2.39"
+      }
+    },
+    "node_modules/vue-eslint-parser": {
+      "version": "9.0.3",
+      "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.0.3.tgz",
+      "integrity": "sha512-yL+ZDb+9T0ELG4VIFo/2anAOz8SvBdlqEnQnvJ3M7Scq56DvtjY0VY88bByRZB0D4J0u8olBcfrXTVONXsh4og==",
+      "dev": true,
+      "dependencies": {
+        "debug": "^4.3.4",
+        "eslint-scope": "^7.1.1",
+        "eslint-visitor-keys": "^3.3.0",
+        "espree": "^9.3.1",
+        "esquery": "^1.4.0",
+        "lodash": "^4.17.21",
+        "semver": "^7.3.6"
+      },
+      "engines": {
+        "node": "^14.17.0 || >=16.0.0"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/mysticatea"
+      },
+      "peerDependencies": {
+        "eslint": ">=6.0.0"
+      }
+    },
+    "node_modules/vue-i18n": {
+      "version": "9.2.2",
+      "resolved": "https://registry.npmjs.org/vue-i18n/-/vue-i18n-9.2.2.tgz",
+      "integrity": "sha512-yswpwtj89rTBhegUAv9Mu37LNznyu3NpyLQmozF3i1hYOhwpG8RjcjIFIIfnu+2MDZJGSZPXaKWvnQA71Yv9TQ==",
+      "dependencies": {
+        "@intlify/core-base": "9.2.2",
+        "@intlify/shared": "9.2.2",
+        "@intlify/vue-devtools": "9.2.2",
+        "@vue/devtools-api": "^6.2.1"
+      },
+      "engines": {
+        "node": ">= 14"
+      },
+      "peerDependencies": {
+        "vue": "^3.0.0"
+      }
+    },
+    "node_modules/vue-router": {
+      "version": "4.1.5",
+      "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.1.5.tgz",
+      "integrity": "sha512-IsvoF5D2GQ/EGTs/Th4NQms9gd2NSqV+yylxIyp/OYp8xOwxmU8Kj/74E9DTSYAyH5LX7idVUngN3JSj1X4xcQ==",
+      "dependencies": {
+        "@vue/devtools-api": "^6.1.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/posva"
+      },
+      "peerDependencies": {
+        "vue": "^3.2.0"
+      }
+    },
+    "node_modules/which": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+      "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+      "dev": true,
+      "dependencies": {
+        "isexe": "^2.0.0"
+      },
+      "bin": {
+        "node-which": "bin/node-which"
+      },
+      "engines": {
+        "node": ">= 8"
+      }
+    },
+    "node_modules/word-wrap": {
+      "version": "1.2.3",
+      "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
+      "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/wrappy": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+      "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
+      "dev": true
+    },
+    "node_modules/xml-name-validator": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz",
+      "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==",
+      "dev": true,
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/yallist": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+      "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
+      "dev": true
+    },
+    "node_modules/yaml": {
+      "version": "1.10.2",
+      "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz",
+      "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==",
+      "dev": true,
+      "engines": {
+        "node": ">= 6"
+      }
+    },
+    "node_modules/yaml-eslint-parser": {
+      "version": "0.3.2",
+      "resolved": "https://registry.npmjs.org/yaml-eslint-parser/-/yaml-eslint-parser-0.3.2.tgz",
+      "integrity": "sha512-32kYO6kJUuZzqte82t4M/gB6/+11WAuHiEnK7FreMo20xsCKPeFH5tDBU7iWxR7zeJpNnMXfJyXwne48D0hGrg==",
+      "dev": true,
+      "dependencies": {
+        "eslint-visitor-keys": "^1.3.0",
+        "lodash": "^4.17.20",
+        "yaml": "^1.10.0"
+      }
+    },
+    "node_modules/yaml-eslint-parser/node_modules/eslint-visitor-keys": {
+      "version": "1.3.0",
+      "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz",
+      "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/yocto-queue": {
+      "version": "0.1.0",
+      "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
+      "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
+      "dev": true,
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    }
+  },
+  "dependencies": {
+    "@babel/parser": {
+      "version": "7.19.0",
+      "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.19.0.tgz",
+      "integrity": "sha512-74bEXKX2h+8rrfQUfsBfuZZHzsEs6Eql4pqy/T4Nn6Y9wNPggQOqD6z6pn5Bl8ZfysKouFZT/UXEH94ummEeQw=="
+    },
+    "@esbuild/linux-loong64": {
+      "version": "0.15.7",
+      "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.15.7.tgz",
+      "integrity": "sha512-IKznSJOsVUuyt7cDzzSZyqBEcZe+7WlBqTVXiF1OXP/4Nm387ToaXZ0fyLwI1iBlI/bzpxVq411QE2/Bt2XWWw==",
+      "dev": true,
+      "optional": true
+    },
+    "@eslint/eslintrc": {
+      "version": "1.3.1",
+      "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.1.tgz",
+      "integrity": "sha512-OhSY22oQQdw3zgPOOwdoj01l/Dzl1Z+xyUP33tkSN+aqyEhymJCcPHyXt+ylW8FSe0TfRC2VG+ROQOapD0aZSQ==",
+      "dev": true,
+      "requires": {
+        "ajv": "^6.12.4",
+        "debug": "^4.3.2",
+        "espree": "^9.4.0",
+        "globals": "^13.15.0",
+        "ignore": "^5.2.0",
+        "import-fresh": "^3.2.1",
+        "js-yaml": "^4.1.0",
+        "minimatch": "^3.1.2",
+        "strip-json-comments": "^3.1.1"
+      }
+    },
+    "@humanwhocodes/config-array": {
+      "version": "0.10.4",
+      "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.10.4.tgz",
+      "integrity": "sha512-mXAIHxZT3Vcpg83opl1wGlVZ9xydbfZO3r5YfRSH6Gpp2J/PfdBP0wbDa2sO6/qRbcalpoevVyW6A/fI6LfeMw==",
+      "dev": true,
+      "requires": {
+        "@humanwhocodes/object-schema": "^1.2.1",
+        "debug": "^4.1.1",
+        "minimatch": "^3.0.4"
+      }
+    },
+    "@humanwhocodes/gitignore-to-minimatch": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/@humanwhocodes/gitignore-to-minimatch/-/gitignore-to-minimatch-1.0.2.tgz",
+      "integrity": "sha512-rSqmMJDdLFUsyxR6FMtD00nfQKKLFb1kv+qBbOVKqErvloEIJLo5bDTJTQNTYgeyp78JsA7u/NPi5jT1GR/MuA==",
+      "dev": true
+    },
+    "@humanwhocodes/object-schema": {
+      "version": "1.2.1",
+      "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz",
+      "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==",
+      "dev": true
+    },
+    "@intlify/bundle-utils": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/@intlify/bundle-utils/-/bundle-utils-3.1.0.tgz",
+      "integrity": "sha512-ghlJ0kR2cCQ8D+poKknC0Xx0ncOt3J3os7CcIAqqIWVF7k6AtGoCDnIru+YzlZcvFRNmP9wEZ7jKliojCdAWNg==",
+      "dev": true,
+      "requires": {
+        "@intlify/message-compiler": "next",
+        "@intlify/shared": "next",
+        "jsonc-eslint-parser": "^1.0.1",
+        "source-map": "0.6.1",
+        "yaml-eslint-parser": "^0.3.2"
+      }
+    },
+    "@intlify/core-base": {
+      "version": "9.2.2",
+      "resolved": "https://registry.npmjs.org/@intlify/core-base/-/core-base-9.2.2.tgz",
+      "integrity": "sha512-JjUpQtNfn+joMbrXvpR4hTF8iJQ2sEFzzK3KIESOx+f+uwIjgw20igOyaIdhfsVVBCds8ZM64MoeNSx+PHQMkA==",
+      "requires": {
+        "@intlify/devtools-if": "9.2.2",
+        "@intlify/message-compiler": "9.2.2",
+        "@intlify/shared": "9.2.2",
+        "@intlify/vue-devtools": "9.2.2"
+      }
+    },
+    "@intlify/devtools-if": {
+      "version": "9.2.2",
+      "resolved": "https://registry.npmjs.org/@intlify/devtools-if/-/devtools-if-9.2.2.tgz",
+      "integrity": "sha512-4ttr/FNO29w+kBbU7HZ/U0Lzuh2cRDhP8UlWOtV9ERcjHzuyXVZmjyleESK6eVP60tGC9QtQW9yZE+JeRhDHkg==",
+      "requires": {
+        "@intlify/shared": "9.2.2"
+      }
+    },
+    "@intlify/message-compiler": {
+      "version": "9.2.2",
+      "resolved": "https://registry.npmjs.org/@intlify/message-compiler/-/message-compiler-9.2.2.tgz",
+      "integrity": "sha512-IUrQW7byAKN2fMBe8z6sK6riG1pue95e5jfokn8hA5Q3Bqy4MBJ5lJAofUsawQJYHeoPJ7svMDyBaVJ4d0GTtA==",
+      "requires": {
+        "@intlify/shared": "9.2.2",
+        "source-map": "0.6.1"
+      }
+    },
+    "@intlify/shared": {
+      "version": "9.2.2",
+      "resolved": "https://registry.npmjs.org/@intlify/shared/-/shared-9.2.2.tgz",
+      "integrity": "sha512-wRwTpsslgZS5HNyM7uDQYZtxnbI12aGiBZURX3BTR9RFIKKRWpllTsgzHWvj3HKm3Y2Sh5LPC1r0PDCKEhVn9Q=="
+    },
+    "@intlify/vite-plugin-vue-i18n": {
+      "version": "6.0.1",
+      "resolved": "https://registry.npmjs.org/@intlify/vite-plugin-vue-i18n/-/vite-plugin-vue-i18n-6.0.1.tgz",
+      "integrity": "sha512-FFVcxVU4bR9vdDLNbltM5mrhndnXMErO01i0RrpdyMegEt3Nu/YLoH0sFdjRun7/RY4vaEnhTnFvVf9uO0dQvg==",
+      "dev": true,
+      "requires": {
+        "@intlify/bundle-utils": "next",
+        "@intlify/shared": "next",
+        "@rollup/pluginutils": "^4.2.0",
+        "debug": "^4.3.1",
+        "fast-glob": "^3.2.5",
+        "source-map": "0.6.1"
+      }
+    },
+    "@intlify/vue-devtools": {
+      "version": "9.2.2",
+      "resolved": "https://registry.npmjs.org/@intlify/vue-devtools/-/vue-devtools-9.2.2.tgz",
+      "integrity": "sha512-+dUyqyCHWHb/UcvY1MlIpO87munedm3Gn6E9WWYdWrMuYLcoIoOEVDWSS8xSwtlPU+kA+MEQTP6Q1iI/ocusJg==",
+      "requires": {
+        "@intlify/core-base": "9.2.2",
+        "@intlify/shared": "9.2.2"
+      }
+    },
+    "@nodelib/fs.scandir": {
+      "version": "2.1.5",
+      "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
+      "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
+      "dev": true,
+      "requires": {
+        "@nodelib/fs.stat": "2.0.5",
+        "run-parallel": "^1.1.9"
+      }
+    },
+    "@nodelib/fs.stat": {
+      "version": "2.0.5",
+      "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
+      "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
+      "dev": true
+    },
+    "@nodelib/fs.walk": {
+      "version": "1.2.8",
+      "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
+      "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
+      "dev": true,
+      "requires": {
+        "@nodelib/fs.scandir": "2.1.5",
+        "fastq": "^1.6.0"
+      }
+    },
+    "@rollup/pluginutils": {
+      "version": "4.2.1",
+      "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-4.2.1.tgz",
+      "integrity": "sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==",
+      "dev": true,
+      "requires": {
+        "estree-walker": "^2.0.1",
+        "picomatch": "^2.2.2"
+      }
+    },
+    "@vitejs/plugin-vue": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-3.1.0.tgz",
+      "integrity": "sha512-fmxtHPjSOEIRg6vHYDaem+97iwCUg/uSIaTzp98lhELt2ISOQuDo2hbkBdXod0g15IhfPMQmAxh4heUks2zvDA==",
+      "dev": true,
+      "requires": {}
+    },
+    "@vue/compiler-core": {
+      "version": "3.2.39",
+      "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.39.tgz",
+      "integrity": "sha512-mf/36OWXqWn0wsC40nwRRGheR/qoID+lZXbIuLnr4/AngM0ov8Xvv8GHunC0rKRIkh60bTqydlqTeBo49rlbqw==",
+      "requires": {
+        "@babel/parser": "^7.16.4",
+        "@vue/shared": "3.2.39",
+        "estree-walker": "^2.0.2",
+        "source-map": "^0.6.1"
+      }
+    },
+    "@vue/compiler-dom": {
+      "version": "3.2.39",
+      "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.39.tgz",
+      "integrity": "sha512-HMFI25Be1C8vLEEv1hgEO1dWwG9QQ8LTTPmCkblVJY/O3OvWx6r1+zsox5mKPMGvqYEZa6l8j+xgOfUspgo7hw==",
+      "requires": {
+        "@vue/compiler-core": "3.2.39",
+        "@vue/shared": "3.2.39"
+      }
+    },
+    "@vue/compiler-sfc": {
+      "version": "3.2.39",
+      "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.2.39.tgz",
+      "integrity": "sha512-fqAQgFs1/BxTUZkd0Vakn3teKUt//J3c420BgnYgEOoVdTwYpBTSXCMJ88GOBCylmUBbtquGPli9tVs7LzsWIA==",
+      "requires": {
+        "@babel/parser": "^7.16.4",
+        "@vue/compiler-core": "3.2.39",
+        "@vue/compiler-dom": "3.2.39",
+        "@vue/compiler-ssr": "3.2.39",
+        "@vue/reactivity-transform": "3.2.39",
+        "@vue/shared": "3.2.39",
+        "estree-walker": "^2.0.2",
+        "magic-string": "^0.25.7",
+        "postcss": "^8.1.10",
+        "source-map": "^0.6.1"
+      }
+    },
+    "@vue/compiler-ssr": {
+      "version": "3.2.39",
+      "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.2.39.tgz",
+      "integrity": "sha512-EoGCJ6lincKOZGW+0Ky4WOKsSmqL7hp1ZYgen8M7u/mlvvEQUaO9tKKOy7K43M9U2aA3tPv0TuYYQFrEbK2eFQ==",
+      "requires": {
+        "@vue/compiler-dom": "3.2.39",
+        "@vue/shared": "3.2.39"
+      }
+    },
+    "@vue/devtools-api": {
+      "version": "6.2.1",
+      "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.2.1.tgz",
+      "integrity": "sha512-OEgAMeQXvCoJ+1x8WyQuVZzFo0wcyCmUR3baRVLmKBo1LmYZWMlRiXlux5jd0fqVJu6PfDbOrZItVqUEzLobeQ=="
+    },
+    "@vue/reactivity": {
+      "version": "3.2.39",
+      "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.2.39.tgz",
+      "integrity": "sha512-vlaYX2a3qMhIZfrw3Mtfd+BuU+TZmvDrPMa+6lpfzS9k/LnGxkSuf0fhkP0rMGfiOHPtyKoU9OJJJFGm92beVQ==",
+      "requires": {
+        "@vue/shared": "3.2.39"
+      }
+    },
+    "@vue/reactivity-transform": {
+      "version": "3.2.39",
+      "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.2.39.tgz",
+      "integrity": "sha512-HGuWu864zStiWs9wBC6JYOP1E00UjMdDWIG5W+FpUx28hV3uz9ODOKVNm/vdOy/Pvzg8+OcANxAVC85WFBbl3A==",
+      "requires": {
+        "@babel/parser": "^7.16.4",
+        "@vue/compiler-core": "3.2.39",
+        "@vue/shared": "3.2.39",
+        "estree-walker": "^2.0.2",
+        "magic-string": "^0.25.7"
+      }
+    },
+    "@vue/runtime-core": {
+      "version": "3.2.39",
+      "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.2.39.tgz",
+      "integrity": "sha512-xKH5XP57JW5JW+8ZG1khBbuLakINTgPuINKL01hStWLTTGFOrM49UfCFXBcFvWmSbci3gmJyLl2EAzCaZWsx8g==",
+      "requires": {
+        "@vue/reactivity": "3.2.39",
+        "@vue/shared": "3.2.39"
+      }
+    },
+    "@vue/runtime-dom": {
+      "version": "3.2.39",
+      "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.2.39.tgz",
+      "integrity": "sha512-4G9AEJP+sLhsqf5wXcyKVWQKUhI+iWfy0hWQgea+CpaTD7BR0KdQzvoQdZhwCY6B3oleSyNLkLAQwm0ya/wNoA==",
+      "requires": {
+        "@vue/runtime-core": "3.2.39",
+        "@vue/shared": "3.2.39",
+        "csstype": "^2.6.8"
+      }
+    },
+    "@vue/server-renderer": {
+      "version": "3.2.39",
+      "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.2.39.tgz",
+      "integrity": "sha512-1yn9u2YBQWIgytFMjz4f/t0j43awKytTGVptfd3FtBk76t1pd8mxbek0G/DrnjJhd2V7mSTb5qgnxMYt8Z5iSQ==",
+      "requires": {
+        "@vue/compiler-ssr": "3.2.39",
+        "@vue/shared": "3.2.39"
+      }
+    },
+    "@vue/shared": {
+      "version": "3.2.39",
+      "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.39.tgz",
+      "integrity": "sha512-D3dl2ZB9qE6mTuWPk9RlhDeP1dgNRUKC3NJxji74A4yL8M2MwlhLKUC/49WHjrNzSPug58fWx/yFbaTzGAQSBw=="
+    },
+    "acorn": {
+      "version": "8.8.0",
+      "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz",
+      "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==",
+      "dev": true
+    },
+    "acorn-jsx": {
+      "version": "5.3.2",
+      "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
+      "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
+      "dev": true,
+      "requires": {}
+    },
+    "ajv": {
+      "version": "6.12.6",
+      "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
+      "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
+      "dev": true,
+      "requires": {
+        "fast-deep-equal": "^3.1.1",
+        "fast-json-stable-stringify": "^2.0.0",
+        "json-schema-traverse": "^0.4.1",
+        "uri-js": "^4.2.2"
+      }
+    },
+    "ansi-regex": {
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+      "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+      "dev": true
+    },
+    "ansi-styles": {
+      "version": "4.3.0",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+      "dev": true,
+      "requires": {
+        "color-convert": "^2.0.1"
+      }
+    },
+    "anymatch": {
+      "version": "3.1.2",
+      "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
+      "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==",
+      "dev": true,
+      "requires": {
+        "normalize-path": "^3.0.0",
+        "picomatch": "^2.0.4"
+      }
+    },
+    "argparse": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+      "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
+      "dev": true
+    },
+    "array-union": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
+      "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==",
+      "dev": true
+    },
+    "balanced-match": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
+      "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
+      "dev": true
+    },
+    "binary-extensions": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
+      "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
+      "dev": true
+    },
+    "boolbase": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
+      "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==",
+      "dev": true
+    },
+    "brace-expansion": {
+      "version": "1.1.11",
+      "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+      "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+      "dev": true,
+      "requires": {
+        "balanced-match": "^1.0.0",
+        "concat-map": "0.0.1"
+      }
+    },
+    "braces": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
+      "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+      "dev": true,
+      "requires": {
+        "fill-range": "^7.0.1"
+      }
+    },
+    "callsites": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
+      "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
+      "dev": true
+    },
+    "chalk": {
+      "version": "4.1.2",
+      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+      "dev": true,
+      "requires": {
+        "ansi-styles": "^4.1.0",
+        "supports-color": "^7.1.0"
+      }
+    },
+    "chokidar": {
+      "version": "3.5.3",
+      "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
+      "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
+      "dev": true,
+      "requires": {
+        "anymatch": "~3.1.2",
+        "braces": "~3.0.2",
+        "fsevents": "~2.3.2",
+        "glob-parent": "~5.1.2",
+        "is-binary-path": "~2.1.0",
+        "is-glob": "~4.0.1",
+        "normalize-path": "~3.0.0",
+        "readdirp": "~3.6.0"
+      },
+      "dependencies": {
+        "glob-parent": {
+          "version": "5.1.2",
+          "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+          "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+          "dev": true,
+          "requires": {
+            "is-glob": "^4.0.1"
+          }
+        }
+      }
+    },
+    "color-convert": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+      "dev": true,
+      "requires": {
+        "color-name": "~1.1.4"
+      }
+    },
+    "color-name": {
+      "version": "1.1.4",
+      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+      "dev": true
+    },
+    "concat-map": {
+      "version": "0.0.1",
+      "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+      "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
+      "dev": true
+    },
+    "cross-spawn": {
+      "version": "7.0.3",
+      "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
+      "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
+      "dev": true,
+      "requires": {
+        "path-key": "^3.1.0",
+        "shebang-command": "^2.0.0",
+        "which": "^2.0.1"
+      }
+    },
+    "cssesc": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
+      "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==",
+      "dev": true
+    },
+    "csstype": {
+      "version": "2.6.20",
+      "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.20.tgz",
+      "integrity": "sha512-/WwNkdXfckNgw6S5R125rrW8ez139lBHWouiBvX8dfMFtcn6V81REDqnH7+CRpRipfYlyU1CmOnOxrmGcFOjeA=="
+    },
+    "debug": {
+      "version": "4.3.4",
+      "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+      "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+      "dev": true,
+      "requires": {
+        "ms": "2.1.2"
+      }
+    },
+    "deep-is": {
+      "version": "0.1.4",
+      "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
+      "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==",
+      "dev": true
+    },
+    "dir-glob": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
+      "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
+      "dev": true,
+      "requires": {
+        "path-type": "^4.0.0"
+      }
+    },
+    "doctrine": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
+      "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
+      "dev": true,
+      "requires": {
+        "esutils": "^2.0.2"
+      }
+    },
+    "esbuild": {
+      "version": "0.15.7",
+      "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.15.7.tgz",
+      "integrity": "sha512-7V8tzllIbAQV1M4QoE52ImKu8hT/NLGlGXkiDsbEU5PS6K8Mn09ZnYoS+dcmHxOS9CRsV4IRAMdT3I67IyUNXw==",
+      "dev": true,
+      "requires": {
+        "@esbuild/linux-loong64": "0.15.7",
+        "esbuild-android-64": "0.15.7",
+        "esbuild-android-arm64": "0.15.7",
+        "esbuild-darwin-64": "0.15.7",
+        "esbuild-darwin-arm64": "0.15.7",
+        "esbuild-freebsd-64": "0.15.7",
+        "esbuild-freebsd-arm64": "0.15.7",
+        "esbuild-linux-32": "0.15.7",
+        "esbuild-linux-64": "0.15.7",
+        "esbuild-linux-arm": "0.15.7",
+        "esbuild-linux-arm64": "0.15.7",
+        "esbuild-linux-mips64le": "0.15.7",
+        "esbuild-linux-ppc64le": "0.15.7",
+        "esbuild-linux-riscv64": "0.15.7",
+        "esbuild-linux-s390x": "0.15.7",
+        "esbuild-netbsd-64": "0.15.7",
+        "esbuild-openbsd-64": "0.15.7",
+        "esbuild-sunos-64": "0.15.7",
+        "esbuild-windows-32": "0.15.7",
+        "esbuild-windows-64": "0.15.7",
+        "esbuild-windows-arm64": "0.15.7"
+      }
+    },
+    "esbuild-android-64": {
+      "version": "0.15.7",
+      "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.15.7.tgz",
+      "integrity": "sha512-p7rCvdsldhxQr3YHxptf1Jcd86dlhvc3EQmQJaZzzuAxefO9PvcI0GLOa5nCWem1AJ8iMRu9w0r5TG8pHmbi9w==",
+      "dev": true,
+      "optional": true
+    },
+    "esbuild-android-arm64": {
+      "version": "0.15.7",
+      "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.15.7.tgz",
+      "integrity": "sha512-L775l9ynJT7rVqRM5vo+9w5g2ysbOCfsdLV4CWanTZ1k/9Jb3IYlQ06VCI1edhcosTYJRECQFJa3eAvkx72eyQ==",
+      "dev": true,
+      "optional": true
+    },
+    "esbuild-darwin-64": {
+      "version": "0.15.7",
+      "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.15.7.tgz",
+      "integrity": "sha512-KGPt3r1c9ww009t2xLB6Vk0YyNOXh7hbjZ3EecHoVDxgtbUlYstMPDaReimKe6eOEfyY4hBEEeTvKwPsiH5WZg==",
+      "dev": true,
+      "optional": true
+    },
+    "esbuild-darwin-arm64": {
+      "version": "0.15.7",
+      "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.7.tgz",
+      "integrity": "sha512-kBIHvtVqbSGajN88lYMnR3aIleH3ABZLLFLxwL2stiuIGAjGlQW741NxVTpUHQXUmPzxi6POqc9npkXa8AcSZQ==",
+      "dev": true,
+      "optional": true
+    },
+    "esbuild-freebsd-64": {
+      "version": "0.15.7",
+      "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.7.tgz",
+      "integrity": "sha512-hESZB91qDLV5MEwNxzMxPfbjAhOmtfsr9Wnuci7pY6TtEh4UDuevmGmkUIjX/b+e/k4tcNBMf7SRQ2mdNuK/HQ==",
+      "dev": true,
+      "optional": true
+    },
+    "esbuild-freebsd-arm64": {
+      "version": "0.15.7",
+      "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.7.tgz",
+      "integrity": "sha512-dLFR0ChH5t+b3J8w0fVKGvtwSLWCv7GYT2Y2jFGulF1L5HftQLzVGN+6pi1SivuiVSmTh28FwUhi9PwQicXI6Q==",
+      "dev": true,
+      "optional": true
+    },
+    "esbuild-linux-32": {
+      "version": "0.15.7",
+      "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.15.7.tgz",
+      "integrity": "sha512-v3gT/LsONGUZcjbt2swrMjwxo32NJzk+7sAgtxhGx1+ZmOFaTRXBAi1PPfgpeo/J//Un2jIKm/I+qqeo4caJvg==",
+      "dev": true,
+      "optional": true
+    },
+    "esbuild-linux-64": {
+      "version": "0.15.7",
+      "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.15.7.tgz",
+      "integrity": "sha512-LxXEfLAKwOVmm1yecpMmWERBshl+Kv5YJ/1KnyAr6HRHFW8cxOEsEfisD3sVl/RvHyW//lhYUVSuy9jGEfIRAQ==",
+      "dev": true,
+      "optional": true
+    },
+    "esbuild-linux-arm": {
+      "version": "0.15.7",
+      "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.15.7.tgz",
+      "integrity": "sha512-JKgAHtMR5f75wJTeuNQbyznZZa+pjiUHV7sRZp42UNdyXC6TiUYMW/8z8yIBAr2Fpad8hM1royZKQisqPABPvQ==",
+      "dev": true,
+      "optional": true
+    },
+    "esbuild-linux-arm64": {
+      "version": "0.15.7",
+      "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.7.tgz",
+      "integrity": "sha512-P3cfhudpzWDkglutWgXcT2S7Ft7o2e3YDMrP1n0z2dlbUZghUkKCyaWw0zhp4KxEEzt/E7lmrtRu/pGWnwb9vw==",
+      "dev": true,
+      "optional": true
+    },
+    "esbuild-linux-mips64le": {
+      "version": "0.15.7",
+      "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.7.tgz",
+      "integrity": "sha512-T7XKuxl0VpeFLCJXub6U+iybiqh0kM/bWOTb4qcPyDDwNVhLUiPcGdG2/0S7F93czUZOKP57YiLV8YQewgLHKw==",
+      "dev": true,
+      "optional": true
+    },
+    "esbuild-linux-ppc64le": {
+      "version": "0.15.7",
+      "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.7.tgz",
+      "integrity": "sha512-6mGuC19WpFN7NYbecMIJjeQgvDb5aMuvyk0PDYBJrqAEMkTwg3Z98kEKuCm6THHRnrgsdr7bp4SruSAxEM4eJw==",
+      "dev": true,
+      "optional": true
+    },
+    "esbuild-linux-riscv64": {
+      "version": "0.15.7",
+      "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.7.tgz",
+      "integrity": "sha512-uUJsezbswAYo/X7OU/P+PuL/EI9WzxsEQXDekfwpQ23uGiooxqoLFAPmXPcRAt941vjlY9jtITEEikWMBr+F/g==",
+      "dev": true,
+      "optional": true
+    },
+    "esbuild-linux-s390x": {
+      "version": "0.15.7",
+      "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.7.tgz",
+      "integrity": "sha512-+tO+xOyTNMc34rXlSxK7aCwJgvQyffqEM5MMdNDEeMU3ss0S6wKvbBOQfgd5jRPblfwJ6b+bKiz0g5nABpY0QQ==",
+      "dev": true,
+      "optional": true
+    },
+    "esbuild-netbsd-64": {
+      "version": "0.15.7",
+      "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.7.tgz",
+      "integrity": "sha512-yVc4Wz+Pu3cP5hzm5kIygNPrjar/v5WCSoRmIjCPWfBVJkZNb5brEGKUlf+0Y759D48BCWa0WHrWXaNy0DULTQ==",
+      "dev": true,
+      "optional": true
+    },
+    "esbuild-openbsd-64": {
+      "version": "0.15.7",
+      "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.7.tgz",
+      "integrity": "sha512-GsimbwC4FSR4lN3wf8XmTQ+r8/0YSQo21rWDL0XFFhLHKlzEA4SsT1Tl8bPYu00IU6UWSJ+b3fG/8SB69rcuEQ==",
+      "dev": true,
+      "optional": true
+    },
+    "esbuild-sunos-64": {
+      "version": "0.15.7",
+      "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.15.7.tgz",
+      "integrity": "sha512-8CDI1aL/ts0mDGbWzjEOGKXnU7p3rDzggHSBtVryQzkSOsjCHRVe0iFYUuhczlxU1R3LN/E7HgUO4NXzGGP/Ag==",
+      "dev": true,
+      "optional": true
+    },
+    "esbuild-windows-32": {
+      "version": "0.15.7",
+      "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.15.7.tgz",
+      "integrity": "sha512-cOnKXUEPS8EGCzRSFa1x6NQjGhGsFlVgjhqGEbLTPsA7x4RRYiy2RKoArNUU4iR2vHmzqS5Gr84MEumO/wxYKA==",
+      "dev": true,
+      "optional": true
+    },
+    "esbuild-windows-64": {
+      "version": "0.15.7",
+      "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.15.7.tgz",
+      "integrity": "sha512-7MI08Ec2sTIDv+zH6StNBKO+2hGUYIT42GmFyW6MBBWWtJhTcQLinKS6ldIN1d52MXIbiJ6nXyCJ+LpL4jBm3Q==",
+      "dev": true,
+      "optional": true
+    },
+    "esbuild-windows-arm64": {
+      "version": "0.15.7",
+      "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.7.tgz",
+      "integrity": "sha512-R06nmqBlWjKHddhRJYlqDd3Fabx9LFdKcjoOy08YLimwmsswlFBJV4rXzZCxz/b7ZJXvrZgj8DDv1ewE9+StMw==",
+      "dev": true,
+      "optional": true
+    },
+    "escape-string-regexp": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
+      "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
+      "dev": true
+    },
+    "eslint": {
+      "version": "8.22.0",
+      "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.22.0.tgz",
+      "integrity": "sha512-ci4t0sz6vSRKdmkOGmprBo6fmI4PrphDFMy5JEq/fNS0gQkJM3rLmrqcp8ipMcdobH3KtUP40KniAE9W19S4wA==",
+      "dev": true,
+      "requires": {
+        "@eslint/eslintrc": "^1.3.0",
+        "@humanwhocodes/config-array": "^0.10.4",
+        "@humanwhocodes/gitignore-to-minimatch": "^1.0.2",
+        "ajv": "^6.10.0",
+        "chalk": "^4.0.0",
+        "cross-spawn": "^7.0.2",
+        "debug": "^4.3.2",
+        "doctrine": "^3.0.0",
+        "escape-string-regexp": "^4.0.0",
+        "eslint-scope": "^7.1.1",
+        "eslint-utils": "^3.0.0",
+        "eslint-visitor-keys": "^3.3.0",
+        "espree": "^9.3.3",
+        "esquery": "^1.4.0",
+        "esutils": "^2.0.2",
+        "fast-deep-equal": "^3.1.3",
+        "file-entry-cache": "^6.0.1",
+        "find-up": "^5.0.0",
+        "functional-red-black-tree": "^1.0.1",
+        "glob-parent": "^6.0.1",
+        "globals": "^13.15.0",
+        "globby": "^11.1.0",
+        "grapheme-splitter": "^1.0.4",
+        "ignore": "^5.2.0",
+        "import-fresh": "^3.0.0",
+        "imurmurhash": "^0.1.4",
+        "is-glob": "^4.0.0",
+        "js-yaml": "^4.1.0",
+        "json-stable-stringify-without-jsonify": "^1.0.1",
+        "levn": "^0.4.1",
+        "lodash.merge": "^4.6.2",
+        "minimatch": "^3.1.2",
+        "natural-compare": "^1.4.0",
+        "optionator": "^0.9.1",
+        "regexpp": "^3.2.0",
+        "strip-ansi": "^6.0.1",
+        "strip-json-comments": "^3.1.0",
+        "text-table": "^0.2.0",
+        "v8-compile-cache": "^2.0.3"
+      }
+    },
+    "eslint-plugin-vue": {
+      "version": "9.4.0",
+      "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.4.0.tgz",
+      "integrity": "sha512-Nzz2QIJ8FG+rtJaqT/7/ru5ie2XgT9KCudkbN0y3uFYhQ41nuHEaboLAiqwMcK006hZPQv/rVMRhUIwEGhIvfQ==",
+      "dev": true,
+      "requires": {
+        "eslint-utils": "^3.0.0",
+        "natural-compare": "^1.4.0",
+        "nth-check": "^2.0.1",
+        "postcss-selector-parser": "^6.0.9",
+        "semver": "^7.3.5",
+        "vue-eslint-parser": "^9.0.1",
+        "xml-name-validator": "^4.0.0"
+      }
+    },
+    "eslint-scope": {
+      "version": "7.1.1",
+      "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz",
+      "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==",
+      "dev": true,
+      "requires": {
+        "esrecurse": "^4.3.0",
+        "estraverse": "^5.2.0"
+      }
+    },
+    "eslint-utils": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz",
+      "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==",
+      "dev": true,
+      "requires": {
+        "eslint-visitor-keys": "^2.0.0"
+      },
+      "dependencies": {
+        "eslint-visitor-keys": {
+          "version": "2.1.0",
+          "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz",
+          "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==",
+          "dev": true
+        }
+      }
+    },
+    "eslint-visitor-keys": {
+      "version": "3.3.0",
+      "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz",
+      "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==",
+      "dev": true
+    },
+    "espree": {
+      "version": "9.4.0",
+      "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.0.tgz",
+      "integrity": "sha512-DQmnRpLj7f6TgN/NYb0MTzJXL+vJF9h3pHy4JhCIs3zwcgez8xmGg3sXHcEO97BrmO2OSvCwMdfdlyl+E9KjOw==",
+      "dev": true,
+      "requires": {
+        "acorn": "^8.8.0",
+        "acorn-jsx": "^5.3.2",
+        "eslint-visitor-keys": "^3.3.0"
+      }
+    },
+    "esquery": {
+      "version": "1.4.0",
+      "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz",
+      "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==",
+      "dev": true,
+      "requires": {
+        "estraverse": "^5.1.0"
+      }
+    },
+    "esrecurse": {
+      "version": "4.3.0",
+      "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
+      "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
+      "dev": true,
+      "requires": {
+        "estraverse": "^5.2.0"
+      }
+    },
+    "estraverse": {
+      "version": "5.3.0",
+      "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
+      "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
+      "dev": true
+    },
+    "estree-walker": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
+      "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="
+    },
+    "esutils": {
+      "version": "2.0.3",
+      "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
+      "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
+      "dev": true
+    },
+    "fast-deep-equal": {
+      "version": "3.1.3",
+      "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
+      "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
+      "dev": true
+    },
+    "fast-glob": {
+      "version": "3.2.11",
+      "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz",
+      "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==",
+      "dev": true,
+      "requires": {
+        "@nodelib/fs.stat": "^2.0.2",
+        "@nodelib/fs.walk": "^1.2.3",
+        "glob-parent": "^5.1.2",
+        "merge2": "^1.3.0",
+        "micromatch": "^4.0.4"
+      },
+      "dependencies": {
+        "glob-parent": {
+          "version": "5.1.2",
+          "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+          "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+          "dev": true,
+          "requires": {
+            "is-glob": "^4.0.1"
+          }
+        }
+      }
+    },
+    "fast-json-stable-stringify": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
+      "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
+      "dev": true
+    },
+    "fast-levenshtein": {
+      "version": "2.0.6",
+      "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
+      "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==",
+      "dev": true
+    },
+    "fastq": {
+      "version": "1.13.0",
+      "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz",
+      "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==",
+      "dev": true,
+      "requires": {
+        "reusify": "^1.0.4"
+      }
+    },
+    "file-entry-cache": {
+      "version": "6.0.1",
+      "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz",
+      "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==",
+      "dev": true,
+      "requires": {
+        "flat-cache": "^3.0.4"
+      }
+    },
+    "fill-range": {
+      "version": "7.0.1",
+      "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
+      "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
+      "dev": true,
+      "requires": {
+        "to-regex-range": "^5.0.1"
+      }
+    },
+    "find-up": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
+      "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
+      "dev": true,
+      "requires": {
+        "locate-path": "^6.0.0",
+        "path-exists": "^4.0.0"
+      }
+    },
+    "flat-cache": {
+      "version": "3.0.4",
+      "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz",
+      "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==",
+      "dev": true,
+      "requires": {
+        "flatted": "^3.1.0",
+        "rimraf": "^3.0.2"
+      }
+    },
+    "flatted": {
+      "version": "3.2.7",
+      "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz",
+      "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==",
+      "dev": true
+    },
+    "fs.realpath": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+      "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
+      "dev": true
+    },
+    "fsevents": {
+      "version": "2.3.2",
+      "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
+      "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
+      "dev": true,
+      "optional": true
+    },
+    "function-bind": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
+      "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
+      "dev": true
+    },
+    "functional-red-black-tree": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
+      "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==",
+      "dev": true
+    },
+    "glob": {
+      "version": "7.2.3",
+      "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+      "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+      "dev": true,
+      "requires": {
+        "fs.realpath": "^1.0.0",
+        "inflight": "^1.0.4",
+        "inherits": "2",
+        "minimatch": "^3.1.1",
+        "once": "^1.3.0",
+        "path-is-absolute": "^1.0.0"
+      }
+    },
+    "glob-parent": {
+      "version": "6.0.2",
+      "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
+      "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
+      "dev": true,
+      "requires": {
+        "is-glob": "^4.0.3"
+      }
+    },
+    "globals": {
+      "version": "13.17.0",
+      "resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz",
+      "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==",
+      "dev": true,
+      "requires": {
+        "type-fest": "^0.20.2"
+      }
+    },
+    "globby": {
+      "version": "11.1.0",
+      "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz",
+      "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==",
+      "dev": true,
+      "requires": {
+        "array-union": "^2.1.0",
+        "dir-glob": "^3.0.1",
+        "fast-glob": "^3.2.9",
+        "ignore": "^5.2.0",
+        "merge2": "^1.4.1",
+        "slash": "^3.0.0"
+      }
+    },
+    "grapheme-splitter": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz",
+      "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==",
+      "dev": true
+    },
+    "has": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
+      "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
+      "dev": true,
+      "requires": {
+        "function-bind": "^1.1.1"
+      }
+    },
+    "has-flag": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+      "dev": true
+    },
+    "ignore": {
+      "version": "5.2.0",
+      "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz",
+      "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==",
+      "dev": true
+    },
+    "immutable": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.1.0.tgz",
+      "integrity": "sha512-oNkuqVTA8jqG1Q6c+UglTOD1xhC1BtjKI7XkCXRkZHrN5m18/XsnUp8Q89GkQO/z+0WjonSvl0FLhDYftp46nQ==",
+      "dev": true
+    },
+    "import-fresh": {
+      "version": "3.3.0",
+      "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
+      "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
+      "dev": true,
+      "requires": {
+        "parent-module": "^1.0.0",
+        "resolve-from": "^4.0.0"
+      }
+    },
+    "imurmurhash": {
+      "version": "0.1.4",
+      "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
+      "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==",
+      "dev": true
+    },
+    "inflight": {
+      "version": "1.0.6",
+      "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+      "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
+      "dev": true,
+      "requires": {
+        "once": "^1.3.0",
+        "wrappy": "1"
+      }
+    },
+    "inherits": {
+      "version": "2.0.4",
+      "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
+      "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
+      "dev": true
+    },
+    "is-binary-path": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
+      "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
+      "dev": true,
+      "requires": {
+        "binary-extensions": "^2.0.0"
+      }
+    },
+    "is-core-module": {
+      "version": "2.10.0",
+      "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.10.0.tgz",
+      "integrity": "sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==",
+      "dev": true,
+      "requires": {
+        "has": "^1.0.3"
+      }
+    },
+    "is-extglob": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+      "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
+      "dev": true
+    },
+    "is-glob": {
+      "version": "4.0.3",
+      "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
+      "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
+      "dev": true,
+      "requires": {
+        "is-extglob": "^2.1.1"
+      }
+    },
+    "is-number": {
+      "version": "7.0.0",
+      "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+      "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
+      "dev": true
+    },
+    "isexe": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+      "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
+      "dev": true
+    },
+    "js-yaml": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
+      "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+      "dev": true,
+      "requires": {
+        "argparse": "^2.0.1"
+      }
+    },
+    "json-schema-traverse": {
+      "version": "0.4.1",
+      "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
+      "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
+      "dev": true
+    },
+    "json-stable-stringify-without-jsonify": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
+      "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==",
+      "dev": true
+    },
+    "jsonc-eslint-parser": {
+      "version": "1.4.1",
+      "resolved": "https://registry.npmjs.org/jsonc-eslint-parser/-/jsonc-eslint-parser-1.4.1.tgz",
+      "integrity": "sha512-hXBrvsR1rdjmB2kQmUjf1rEIa+TqHBGMge8pwi++C+Si1ad7EjZrJcpgwym+QGK/pqTx+K7keFAtLlVNdLRJOg==",
+      "dev": true,
+      "requires": {
+        "acorn": "^7.4.1",
+        "eslint-utils": "^2.1.0",
+        "eslint-visitor-keys": "^1.3.0",
+        "espree": "^6.0.0",
+        "semver": "^6.3.0"
+      },
+      "dependencies": {
+        "acorn": {
+          "version": "7.4.1",
+          "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz",
+          "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==",
+          "dev": true
+        },
+        "eslint-utils": {
+          "version": "2.1.0",
+          "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz",
+          "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==",
+          "dev": true,
+          "requires": {
+            "eslint-visitor-keys": "^1.1.0"
+          }
+        },
+        "eslint-visitor-keys": {
+          "version": "1.3.0",
+          "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz",
+          "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==",
+          "dev": true
+        },
+        "espree": {
+          "version": "6.2.1",
+          "resolved": "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz",
+          "integrity": "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==",
+          "dev": true,
+          "requires": {
+            "acorn": "^7.1.1",
+            "acorn-jsx": "^5.2.0",
+            "eslint-visitor-keys": "^1.1.0"
+          }
+        },
+        "semver": {
+          "version": "6.3.0",
+          "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+          "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+          "dev": true
+        }
+      }
+    },
+    "levn": {
+      "version": "0.4.1",
+      "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
+      "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
+      "dev": true,
+      "requires": {
+        "prelude-ls": "^1.2.1",
+        "type-check": "~0.4.0"
+      }
+    },
+    "locate-path": {
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
+      "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
+      "dev": true,
+      "requires": {
+        "p-locate": "^5.0.0"
+      }
+    },
+    "lodash": {
+      "version": "4.17.21",
+      "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
+      "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
+      "dev": true
+    },
+    "lodash.merge": {
+      "version": "4.6.2",
+      "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
+      "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
+      "dev": true
+    },
+    "lru-cache": {
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+      "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+      "dev": true,
+      "requires": {
+        "yallist": "^4.0.0"
+      }
+    },
+    "magic-string": {
+      "version": "0.25.9",
+      "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz",
+      "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==",
+      "requires": {
+        "sourcemap-codec": "^1.4.8"
+      }
+    },
+    "merge2": {
+      "version": "1.4.1",
+      "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
+      "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
+      "dev": true
+    },
+    "micromatch": {
+      "version": "4.0.5",
+      "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
+      "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
+      "dev": true,
+      "requires": {
+        "braces": "^3.0.2",
+        "picomatch": "^2.3.1"
+      }
+    },
+    "minimatch": {
+      "version": "3.1.2",
+      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+      "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+      "dev": true,
+      "requires": {
+        "brace-expansion": "^1.1.7"
+      }
+    },
+    "ms": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+      "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+      "dev": true
+    },
+    "nanoid": {
+      "version": "3.3.4",
+      "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz",
+      "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw=="
+    },
+    "natural-compare": {
+      "version": "1.4.0",
+      "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
+      "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==",
+      "dev": true
+    },
+    "normalize-path": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
+      "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
+      "dev": true
+    },
+    "nth-check": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz",
+      "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==",
+      "dev": true,
+      "requires": {
+        "boolbase": "^1.0.0"
+      }
+    },
+    "once": {
+      "version": "1.4.0",
+      "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+      "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
+      "dev": true,
+      "requires": {
+        "wrappy": "1"
+      }
+    },
+    "optionator": {
+      "version": "0.9.1",
+      "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz",
+      "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==",
+      "dev": true,
+      "requires": {
+        "deep-is": "^0.1.3",
+        "fast-levenshtein": "^2.0.6",
+        "levn": "^0.4.1",
+        "prelude-ls": "^1.2.1",
+        "type-check": "^0.4.0",
+        "word-wrap": "^1.2.3"
+      }
+    },
+    "p-limit": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
+      "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
+      "dev": true,
+      "requires": {
+        "yocto-queue": "^0.1.0"
+      }
+    },
+    "p-locate": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
+      "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
+      "dev": true,
+      "requires": {
+        "p-limit": "^3.0.2"
+      }
+    },
+    "parent-module": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
+      "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
+      "dev": true,
+      "requires": {
+        "callsites": "^3.0.0"
+      }
+    },
+    "path-exists": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
+      "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
+      "dev": true
+    },
+    "path-is-absolute": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+      "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
+      "dev": true
+    },
+    "path-key": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
+      "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
+      "dev": true
+    },
+    "path-parse": {
+      "version": "1.0.7",
+      "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
+      "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
+      "dev": true
+    },
+    "path-type": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
+      "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
+      "dev": true
+    },
+    "picocolors": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
+      "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ=="
+    },
+    "picomatch": {
+      "version": "2.3.1",
+      "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
+      "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
+      "dev": true
+    },
+    "postcss": {
+      "version": "8.4.16",
+      "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.16.tgz",
+      "integrity": "sha512-ipHE1XBvKzm5xI7hiHCZJCSugxvsdq2mPnsq5+UF+VHCjiBvtDrlxJfMBToWaP9D5XlgNmcFGqoHmUn0EYEaRQ==",
+      "requires": {
+        "nanoid": "^3.3.4",
+        "picocolors": "^1.0.0",
+        "source-map-js": "^1.0.2"
+      }
+    },
+    "postcss-selector-parser": {
+      "version": "6.0.10",
+      "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz",
+      "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==",
+      "dev": true,
+      "requires": {
+        "cssesc": "^3.0.0",
+        "util-deprecate": "^1.0.2"
+      }
+    },
+    "prelude-ls": {
+      "version": "1.2.1",
+      "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
+      "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
+      "dev": true
+    },
+    "primeflex": {
+      "version": "3.2.1",
+      "resolved": "https://registry.npmjs.org/primeflex/-/primeflex-3.2.1.tgz",
+      "integrity": "sha512-sGDJ4mh2fG19xa1yc4IPGSQ8MUMyu5nU+tYnl27AFuFHhX8XwEA7fWCtWyBbclclVhXtre+Kf9WobWPnfxWAEQ=="
+    },
+    "primeicons": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/primeicons/-/primeicons-5.0.0.tgz",
+      "integrity": "sha512-heygWF0X5HFI1otlZE62pp6ye7sZ8om78J9au2BRkg8O7Y8AHTZ9qKMRzchZUHLe8zUAvdi6hZzzm9XxgwIExw=="
+    },
+    "primevue": {
+      "version": "3.17.0",
+      "resolved": "https://registry.npmjs.org/primevue/-/primevue-3.17.0.tgz",
+      "integrity": "sha512-z7ZCHk4kgkHJ29hg0izN1M8Xst2MOObimq62waE2TDE8ztH9mp2sAdGGsQu1shMa4/23dZ+fcN4t+KpYNICRyQ==",
+      "requires": {}
+    },
+    "punycode": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
+      "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
+      "dev": true
+    },
+    "queue-microtask": {
+      "version": "1.2.3",
+      "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
+      "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
+      "dev": true
+    },
+    "readdirp": {
+      "version": "3.6.0",
+      "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
+      "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
+      "dev": true,
+      "requires": {
+        "picomatch": "^2.2.1"
+      }
+    },
+    "regexpp": {
+      "version": "3.2.0",
+      "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz",
+      "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==",
+      "dev": true
+    },
+    "resolve": {
+      "version": "1.22.1",
+      "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz",
+      "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==",
+      "dev": true,
+      "requires": {
+        "is-core-module": "^2.9.0",
+        "path-parse": "^1.0.7",
+        "supports-preserve-symlinks-flag": "^1.0.0"
+      }
+    },
+    "resolve-from": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
+      "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
+      "dev": true
+    },
+    "reusify": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
+      "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
+      "dev": true
+    },
+    "rimraf": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
+      "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+      "dev": true,
+      "requires": {
+        "glob": "^7.1.3"
+      }
+    },
+    "rollup": {
+      "version": "2.78.1",
+      "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.78.1.tgz",
+      "integrity": "sha512-VeeCgtGi4P+o9hIg+xz4qQpRl6R401LWEXBmxYKOV4zlF82lyhgh2hTZnheFUbANE8l2A41F458iwj2vEYaXJg==",
+      "dev": true,
+      "requires": {
+        "fsevents": "~2.3.2"
+      }
+    },
+    "run-parallel": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
+      "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
+      "dev": true,
+      "requires": {
+        "queue-microtask": "^1.2.2"
+      }
+    },
+    "sass": {
+      "version": "1.54.9",
+      "resolved": "https://registry.npmjs.org/sass/-/sass-1.54.9.tgz",
+      "integrity": "sha512-xb1hjASzEH+0L0WI9oFjqhRi51t/gagWnxLiwUNMltA0Ab6jIDkAacgKiGYKM9Jhy109osM7woEEai6SXeJo5Q==",
+      "dev": true,
+      "requires": {
+        "chokidar": ">=3.0.0 <4.0.0",
+        "immutable": "^4.0.0",
+        "source-map-js": ">=0.6.2 <2.0.0"
+      }
+    },
+    "semver": {
+      "version": "7.3.7",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
+      "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
+      "dev": true,
+      "requires": {
+        "lru-cache": "^6.0.0"
+      }
+    },
+    "shebang-command": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
+      "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
+      "dev": true,
+      "requires": {
+        "shebang-regex": "^3.0.0"
+      }
+    },
+    "shebang-regex": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
+      "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
+      "dev": true
+    },
+    "slash": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
+      "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
+      "dev": true
+    },
+    "source-map": {
+      "version": "0.6.1",
+      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+      "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
+    },
+    "source-map-js": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
+      "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw=="
+    },
+    "sourcemap-codec": {
+      "version": "1.4.8",
+      "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz",
+      "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA=="
+    },
+    "strip-ansi": {
+      "version": "6.0.1",
+      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+      "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+      "dev": true,
+      "requires": {
+        "ansi-regex": "^5.0.1"
+      }
+    },
+    "strip-json-comments": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
+      "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
+      "dev": true
+    },
+    "supports-color": {
+      "version": "7.2.0",
+      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+      "dev": true,
+      "requires": {
+        "has-flag": "^4.0.0"
+      }
+    },
+    "supports-preserve-symlinks-flag": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
+      "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
+      "dev": true
+    },
+    "text-table": {
+      "version": "0.2.0",
+      "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
+      "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==",
+      "dev": true
+    },
+    "to-regex-range": {
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+      "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+      "dev": true,
+      "requires": {
+        "is-number": "^7.0.0"
+      }
+    },
+    "type-check": {
+      "version": "0.4.0",
+      "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
+      "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
+      "dev": true,
+      "requires": {
+        "prelude-ls": "^1.2.1"
+      }
+    },
+    "type-fest": {
+      "version": "0.20.2",
+      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
+      "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
+      "dev": true
+    },
+    "uri-js": {
+      "version": "4.4.1",
+      "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
+      "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
+      "dev": true,
+      "requires": {
+        "punycode": "^2.1.0"
+      }
+    },
+    "util-deprecate": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+      "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
+      "dev": true
+    },
+    "v8-compile-cache": {
+      "version": "2.3.0",
+      "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz",
+      "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==",
+      "dev": true
+    },
+    "vite": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/vite/-/vite-3.1.0.tgz",
+      "integrity": "sha512-YBg3dUicDpDWFCGttmvMbVyS9ydjntwEjwXRj2KBFwSB8SxmGcudo1yb8FW5+M/G86aS8x828ujnzUVdsLjs9g==",
+      "dev": true,
+      "requires": {
+        "esbuild": "^0.15.6",
+        "fsevents": "~2.3.2",
+        "postcss": "^8.4.16",
+        "resolve": "^1.22.1",
+        "rollup": "~2.78.0"
+      }
+    },
+    "vue": {
+      "version": "3.2.39",
+      "resolved": "https://registry.npmjs.org/vue/-/vue-3.2.39.tgz",
+      "integrity": "sha512-tRkguhRTw9NmIPXhzk21YFBqXHT2t+6C6wPOgQ50fcFVWnPdetmRqbmySRHznrYjX2E47u0cGlKGcxKZJ38R/g==",
+      "requires": {
+        "@vue/compiler-dom": "3.2.39",
+        "@vue/compiler-sfc": "3.2.39",
+        "@vue/runtime-dom": "3.2.39",
+        "@vue/server-renderer": "3.2.39",
+        "@vue/shared": "3.2.39"
+      }
+    },
+    "vue-eslint-parser": {
+      "version": "9.0.3",
+      "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.0.3.tgz",
+      "integrity": "sha512-yL+ZDb+9T0ELG4VIFo/2anAOz8SvBdlqEnQnvJ3M7Scq56DvtjY0VY88bByRZB0D4J0u8olBcfrXTVONXsh4og==",
+      "dev": true,
+      "requires": {
+        "debug": "^4.3.4",
+        "eslint-scope": "^7.1.1",
+        "eslint-visitor-keys": "^3.3.0",
+        "espree": "^9.3.1",
+        "esquery": "^1.4.0",
+        "lodash": "^4.17.21",
+        "semver": "^7.3.6"
+      }
+    },
+    "vue-i18n": {
+      "version": "9.2.2",
+      "resolved": "https://registry.npmjs.org/vue-i18n/-/vue-i18n-9.2.2.tgz",
+      "integrity": "sha512-yswpwtj89rTBhegUAv9Mu37LNznyu3NpyLQmozF3i1hYOhwpG8RjcjIFIIfnu+2MDZJGSZPXaKWvnQA71Yv9TQ==",
+      "requires": {
+        "@intlify/core-base": "9.2.2",
+        "@intlify/shared": "9.2.2",
+        "@intlify/vue-devtools": "9.2.2",
+        "@vue/devtools-api": "^6.2.1"
+      }
+    },
+    "vue-router": {
+      "version": "4.1.5",
+      "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.1.5.tgz",
+      "integrity": "sha512-IsvoF5D2GQ/EGTs/Th4NQms9gd2NSqV+yylxIyp/OYp8xOwxmU8Kj/74E9DTSYAyH5LX7idVUngN3JSj1X4xcQ==",
+      "requires": {
+        "@vue/devtools-api": "^6.1.4"
+      }
+    },
+    "which": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+      "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+      "dev": true,
+      "requires": {
+        "isexe": "^2.0.0"
+      }
+    },
+    "word-wrap": {
+      "version": "1.2.3",
+      "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
+      "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
+      "dev": true
+    },
+    "wrappy": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+      "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
+      "dev": true
+    },
+    "xml-name-validator": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz",
+      "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==",
+      "dev": true
+    },
+    "yallist": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+      "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
+      "dev": true
+    },
+    "yaml": {
+      "version": "1.10.2",
+      "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz",
+      "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==",
+      "dev": true
+    },
+    "yaml-eslint-parser": {
+      "version": "0.3.2",
+      "resolved": "https://registry.npmjs.org/yaml-eslint-parser/-/yaml-eslint-parser-0.3.2.tgz",
+      "integrity": "sha512-32kYO6kJUuZzqte82t4M/gB6/+11WAuHiEnK7FreMo20xsCKPeFH5tDBU7iWxR7zeJpNnMXfJyXwne48D0hGrg==",
+      "dev": true,
+      "requires": {
+        "eslint-visitor-keys": "^1.3.0",
+        "lodash": "^4.17.20",
+        "yaml": "^1.10.0"
+      },
+      "dependencies": {
+        "eslint-visitor-keys": {
+          "version": "1.3.0",
+          "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz",
+          "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==",
+          "dev": true
+        }
+      }
+    },
+    "yocto-queue": {
+      "version": "0.1.0",
+      "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
+      "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
+      "dev": true
+    }
+  }
+}
diff --git a/package.json b/package.json
new file mode 100644
index 0000000000000000000000000000000000000000..f3b610cafa052a25f4e32e51b3ea62cc12932694
--- /dev/null
+++ b/package.json
@@ -0,0 +1,26 @@
+{
+  "name": "quiver",
+  "version": "0.0.0",
+  "scripts": {
+    "dev": "vite",
+    "build": "vite build",
+    "preview": "vite preview --port 4173",
+    "lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs --fix --ignore-path .gitignore"
+  },
+  "dependencies": {
+    "primeflex": "^3.2.1",
+    "primeicons": "^5.0.0",
+    "primevue": "^3.17.0",
+    "vue": "^3.2.38",
+    "vue-i18n": "^9.2.2",
+    "vue-router": "^4.1.5"
+  },
+  "devDependencies": {
+    "@intlify/vite-plugin-vue-i18n": "^6.0.1",
+    "@vitejs/plugin-vue": "^3.0.3",
+    "eslint": "8.22.0",
+    "eslint-plugin-vue": "^9.3.0",
+    "sass": "^1.54.9",
+    "vite": "^3.0.9"
+  }
+}
diff --git a/public/favicon.ico b/public/favicon.ico
new file mode 100644
index 0000000000000000000000000000000000000000..df36fcfb72584e00488330b560ebcf34a41c64c2
Binary files /dev/null and b/public/favicon.ico differ
diff --git a/repos.json b/repos.json
deleted file mode 100644
index bba166da04e2a646370dcb8173dd32fc782c92df..0000000000000000000000000000000000000000
--- a/repos.json
+++ /dev/null
@@ -1,4715 +0,0 @@
-[
-    {
-        "compliant_cli": true,
-        "files": {
-            "Dockerfile": null,
-            "README.md": "# cor-asv-ann\n    OCR post-correction with encoder-attention-decoder LSTMs\n\n## Introduction\n\nThis is a tool for automatic OCR _post-correction_ (reducing optical character recognition errors) with recurrent neural networks. It uses sequence-to-sequence transduction on the _character level_ with a model architecture akin to neural machine translation, i.e. a stacked **encoder-decoder** network with attention mechanism. \n\nThe **attention model** always applies to full lines (in a _global_ configuration), and uses a linear _additive_ alignment model. (This transfers information between the encoder and decoder hidden layer states, and calculates a _soft alignment_ between input and output characters. It is imperative for character-level processing, because with a simple final-initial transfer, models tend to start \"forgetting\" the input altogether at some point in the line and behave like unconditional LM generators.)\n\n...FIXME: mention: \n- stacked architecture (with bidirectional bottom and attentional top), configurable depth/width\n- weight tying\n- underspecification and gap\n- confidence input and alternative input\n- CPU/GPU option\n- incremental training, LM transfer, shallow transfer\n- evaluation (CER, PPL)\n\n### Processing PAGE annotations\n\nWhen applied on PAGE-XML (as OCR-D workspace processor), this component also allows processing below the `TextLine` hierarchy level, i.e. on `Word` or `Glyph` level. For that it uses the soft alignment scores to calculate an optimal hard alignment path for characters, and thereby distributes the transduction onto the lower level elements (keeping their coordinates and other meta-data), while changing Word segmentation if necessary.\n\n...\n\n### Architecture\n\n...FIXME: show!\n\n### Input with confidence and/or alternatives\n\n...FIXME: explain!\n\n### Multi-OCR input\n\nnot yet!\n\n### Modes\n\nWhile the _encoder_ can always be run in parallel over a batch of lines and by passing the full sequence of characters in one tensor (padded to the longest line in the batch), which is very efficient with Keras backends like Tensorflow, a **beam-search** _decoder_ requires passing initial/final states character-by-character, with parallelism employed to capture multiple history hypotheses of a single line. However, one can also **greedily** use the best output only for each position (without beam search). And in doing so, another option is to feed back the softmax output directly into the decoder input instead of its argmax unit vector. This effectively passes the full probability distribution from state to state, which (not very surprisingly) can increase correction accuracy quite a lot \u2013 it can get as good as a medium-sized beam search results. This latter option also allows to run in parallel again, which is also much faster \u2013 consuming up to ten times less CPU time.\n\nThererfore, the backend function `lib.Sequence2Sequence.correct_lines` can operate the encoder-decoder network in either of the following modes:\n\n#### _fast_\n\nDecode greedily, but feeding back the full softmax distribution in batch mode.\n\n#### _greedy_\n\nDecode greedily, but feeding back the argmax unit vectors for each line separately.\n\n#### _default_\n\nDecode beamed, feeding back the argmax unit vectors for the best history/output hypotheses of each line. More specifically:\n\n> Start decoder with start-of-sequence, then keep decoding until\n> end-of-sequence is found or output length is way off, repeatedly.\n> Decode by using the best predicted output characters and several next-best\n> alternatives (up to some degradation threshold) as next input.\n> Follow-up on the N best overall candidates (estimated by accumulated\n> score, normalized by length and prospective cost), i.e. do A*-like\n> breadth-first search, with N equal `batch_size`.\n> Pass decoder initial/final states from character to character,\n> for each candidate respectively.\n> Reserve 1 candidate per iteration for running through `source_seq`\n> (as a rejection fallback) to ensure that path does not fall off the\n> beam and at least one solution can be found within the search limits.\n\n### Evaluation\n\nText lines can be compared (by aligning and computing a distance under some metric) across multiple inputs. (This would typically be GT and OCR vs post-correction.) This can be done both on plain text files (`cor-asv-ann-eval`) and PAGE-XML annotations (`ocrd-cor-asv-ann-evaluate`).\n\nThere are a number of distance metrics available:\n- `Levenshtein`: simple unweighted edit distance (fastest, standard)\n- `combining-e-umlauts`: like the former, but umlauts with combining letter e get smaller distance to precomposed umlauts (and vice versa), as in \"Wu\u0364\u017fte\" (as opposed to \"W\u00fc\u017fte\")\n- `historic_latin`: like the former, but with additional exceptions (i.e. zero distances) for certain (isolated) character confusions \u2013 roughly the difference between GT level 1 and 2\n- `NFC`: like `Levenshtein`, but apply Unicode normal form with canonical composition before (i.e. less than `historic_latin`)\n- `NFKC`: like `Levenshtein`, but apply Unicode normal form with compatibility composition before (i.e. more than `historic_latin`)\n\n\n## Installation\n\nRequired Ubuntu packages:\n\n* Python (``python`` or ``python3``)\n* pip (``python-pip`` or ``python3-pip``)\n* virtualenv (``python-virtualenv`` or ``python3-virtualenv``)\n\nCreate and activate a virtualenv as usual.\n\nTo install Python dependencies and this module, then do:\n```shell\nmake deps install\n```\nWhich is the equivalent of:\n```shell\npip install -r requirements.txt\npip install -e .\n```\n\n## Usage\n\nThis packages has the following user interfaces:\n\n### command line interface `cor-asv-ann-train`\n\nTo be used with string arguments and plain-text files.\n\n...\n\n### command line interface `cor-asv-ann-eval`\n\nTo be used with string arguments and plain-text files.\n\n...\n\n### command line interface `cor-asv-ann-repl`\n\ninteractive\n\n...\n\n### [OCR-D processor](https://github.com/OCR-D/core) interface `ocrd-cor-asv-ann-process`\n\nTo be used with [PageXML](https://www.primaresearch.org/tools/PAGELibraries) documents in an [OCR-D](https://github.com/OCR-D/spec/) annotation workflow. Input could be anything with a textual annotation (`TextEquiv` on the given `textequiv_level`). \n\n...\n\n```json\n    \"ocrd-cor-asv-ann-process\": {\n      \"executable\": \"ocrd-cor-asv-ann-process\",\n      \"categories\": [\n        \"Text recognition and optimization\"\n      ],\n      \"steps\": [\n        \"recognition/post-correction\"\n      ],\n      \"description\": \"Improve text annotation by character-level encoder-attention-decoder ANN model\",\n      \"input_file_grp\": [\n        \"OCR-D-OCR-TESS\",\n        \"OCR-D-OCR-KRAK\",\n        \"OCR-D-OCR-OCRO\",\n        \"OCR-D-OCR-CALA\",\n        \"OCR-D-OCR-ANY\"\n      ],\n      \"output_file_grp\": [\n        \"OCR-D-COR-ASV\"\n      ],\n      \"parameters\": {\n        \"model_file\": {\n          \"type\": \"string\",\n          \"format\": \"uri\",\n          \"content-type\": \"application/x-hdf;subtype=bag\",\n          \"description\": \"path of h5py weight/config file for model trained with cor-asv-ann-train\",\n          \"required\": true,\n          \"cacheable\": true\n        },\n        \"textequiv_level\": {\n          \"type\": \"string\",\n          \"enum\": [\"line\", \"word\", \"glyph\"],\n          \"default\": \"glyph\",\n          \"description\": \"PAGE XML hierarchy level to read/write TextEquiv input/output on\"\n        }\n      }\n    }\n```\n\n...\n\n### [OCR-D processor](https://github.com/OCR-D/core) interface `ocrd-cor-asv-ann-evaluate`\n\nTo be used with [PageXML](https://www.primaresearch.org/tools/PAGELibraries) documents in an [OCR-D](https://github.com/OCR-D/spec/) annotation workflow. Inputs could be anything with a textual annotation (`TextEquiv` on the line level), but at least 2. The first in the list of input file groups will be regarded as reference/GT.\n\n...\n\n```json\n    \"ocrd-cor-asv-ann-evaluate\": {\n      \"executable\": \"ocrd-cor-asv-ann-evaluate\",\n      \"categories\": [\n        \"Text recognition and optimization\"\n      ],\n      \"steps\": [\n        \"recognition/evaluation\"\n      ],\n      \"description\": \"Align different textline annotations and compute distance\",\n      \"parameters\": {\n        \"metric\": {\n          \"type\": \"string\",\n          \"enum\": [\"Levenshtein\", \"combining-e-umlauts\", \"NFC\", \"NFKC\", \"historic_latin\"],\n          \"default\": \"Levenshtein\",\n          \"description\": \"Distance metric to calculate and aggregate\"\n        }\n      }\n    }\n```\n\n...\n\n## Testing\n\nnot yet!\n...\n",
-            "ocrd-tool.json": "{\n  \"git_url\": \"https://github.com/ASVLeipzig/cor-asv-ann\",\n  \"version\": \"0.1.0\",\n  \"tools\": {\n    \"ocrd-cor-asv-ann-process\": {\n      \"executable\": \"ocrd-cor-asv-ann-process\",\n      \"categories\": [\n        \"Text recognition and optimization\"\n      ],\n      \"steps\": [\n        \"recognition/post-correction\"\n      ],\n      \"description\": \"Improve text annotation by character-level encoder-attention-decoder ANN model\",\n      \"input_file_grp\": [\n        \"OCR-D-OCR-TESS\",\n        \"OCR-D-OCR-KRAK\",\n        \"OCR-D-OCR-OCRO\",\n        \"OCR-D-OCR-CALA\",\n        \"OCR-D-OCR-ANY\"\n      ],\n      \"output_file_grp\": [\n        \"OCR-D-COR-ASV\"\n      ],\n      \"parameters\": {\n        \"model_file\": {\n          \"type\": \"string\",\n          \"format\": \"uri\",\n          \"content-type\": \"application/x-hdf;subtype=bag\",\n          \"description\": \"path of h5py weight/config file for model trained with cor-asv-ann-train\",\n          \"required\": true,\n          \"cacheable\": true\n        },\n        \"textequiv_level\": {\n          \"type\": \"string\",\n          \"enum\": [\"line\", \"word\", \"glyph\"],\n          \"default\": \"glyph\",\n          \"description\": \"PAGE XML hierarchy level to read/write TextEquiv input/output on\"\n        }\n      }\n    },\n    \"ocrd-cor-asv-ann-evaluate\": {\n      \"executable\": \"ocrd-cor-asv-ann-evaluate\",\n      \"categories\": [\n        \"Text recognition and optimization\"\n      ],\n      \"steps\": [\n        \"recognition/evaluation\"\n      ],\n      \"description\": \"Align different textline annotations and compute distance\",\n      \"parameters\": {\n        \"metric\": {\n          \"type\": \"string\",\n          \"enum\": [\"Levenshtein\", \"combining-e-umlauts\", \"NFC\", \"NFKC\", \"historic_latin\"],\n          \"default\": \"Levenshtein\",\n          \"description\": \"Distance metric to calculate and aggregate\"\n        }\n      }\n    }\n  }\n}\n",
-            "setup.py": "# -*- coding: utf-8 -*-\n\"\"\"\nInstalls:\n    - cor-asv-ann-train\n    - cor-asv-ann-eval\n    - cor-asv-ann-repl\n    - ocrd-cor-asv-ann-process\n    - ocrd-cor-asv-ann-evaluate\n\"\"\"\nimport codecs\n\nfrom setuptools import setup, find_packages\n\ninstall_requires = open('requirements.txt').read().split('\\n')\n\nwith codecs.open('README.md', encoding='utf-8') as f:\n    README = f.read()\n\nsetup(\n    name='ocrd_cor_asv_ann',\n    version='0.1.2',\n    description='sequence-to-sequence translator for noisy channel error correction',\n    long_description=README,\n    author='Robert Sachunsky',\n    author_email='sachunsky@informatik.uni-leipzig.de',\n    url='https://github.com/ASVLeipzig/cor-asv-ann',\n    license='Apache License 2.0',\n    packages=find_packages(exclude=('tests', 'docs')),\n    install_requires=install_requires,\n    package_data={\n        '': ['*.json', '*.yml', '*.yaml'],\n    },\n    entry_points={\n        'console_scripts': [\n            'cor-asv-ann-train=ocrd_cor_asv_ann.scripts.train:cli',\n            'cor-asv-ann-eval=ocrd_cor_asv_ann.scripts.eval:cli',\n            'cor-asv-ann-repl=ocrd_cor_asv_ann.scripts.repl:cli',\n            'ocrd-cor-asv-ann-process=ocrd_cor_asv_ann.wrapper.cli:ocrd_cor_asv_ann_process',\n            'ocrd-cor-asv-ann-evaluate=ocrd_cor_asv_ann.wrapper.cli:ocrd_cor_asv_ann_evaluate',\n        ]\n    },\n)\n"
-        },
-        "git": {
-            "last_commit": "Mon Nov 18 23:05:08 2019 +0100",
-            "latest_tag": "",
-            "number_of_commits": "45",
-            "url": "https://github.com/ASVLeipzig/cor-asv-ann.git"
-        },
-        "name": "cor-asv-ann",
-        "ocrd_tool": {
-            "git_url": "https://github.com/ASVLeipzig/cor-asv-ann",
-            "tools": {
-                "ocrd-cor-asv-ann-evaluate": {
-                    "categories": [
-                        "Text recognition and optimization"
-                    ],
-                    "description": "Align different textline annotations and compute distance",
-                    "executable": "ocrd-cor-asv-ann-evaluate",
-                    "parameters": {
-                        "metric": {
-                            "default": "Levenshtein",
-                            "description": "Distance metric to calculate and aggregate",
-                            "enum": [
-                                "Levenshtein",
-                                "combining-e-umlauts",
-                                "NFC",
-                                "NFKC",
-                                "historic_latin"
-                            ],
-                            "type": "string"
-                        }
-                    },
-                    "steps": [
-                        "recognition/evaluation"
-                    ]
-                },
-                "ocrd-cor-asv-ann-process": {
-                    "categories": [
-                        "Text recognition and optimization"
-                    ],
-                    "description": "Improve text annotation by character-level encoder-attention-decoder ANN model",
-                    "executable": "ocrd-cor-asv-ann-process",
-                    "input_file_grp": [
-                        "OCR-D-OCR-TESS",
-                        "OCR-D-OCR-KRAK",
-                        "OCR-D-OCR-OCRO",
-                        "OCR-D-OCR-CALA",
-                        "OCR-D-OCR-ANY"
-                    ],
-                    "output_file_grp": [
-                        "OCR-D-COR-ASV"
-                    ],
-                    "parameters": {
-                        "model_file": {
-                            "cacheable": true,
-                            "content-type": "application/x-hdf;subtype=bag",
-                            "description": "path of h5py weight/config file for model trained with cor-asv-ann-train",
-                            "format": "uri",
-                            "required": true,
-                            "type": "string"
-                        },
-                        "textequiv_level": {
-                            "default": "glyph",
-                            "description": "PAGE XML hierarchy level to read/write TextEquiv input/output on",
-                            "enum": [
-                                "line",
-                                "word",
-                                "glyph"
-                            ],
-                            "type": "string"
-                        }
-                    },
-                    "steps": [
-                        "recognition/post-correction"
-                    ]
-                }
-            },
-            "version": "0.1.0"
-        },
-        "ocrd_tool_validate": "<report valid=\"false\">\n  <error>[tools.ocrd-cor-asv-ann-evaluate] 'input_file_grp' is a required property</error>\n  <error>[tools.ocrd-cor-asv-ann-evaluate.steps.0] 'recognition/evaluation' is not one of ['preprocessing/characterization', 'preprocessing/optimization', 'preprocessing/optimization/cropping', 'preprocessing/optimization/deskewing', 'preprocessing/optimization/despeckling', 'preprocessing/optimization/dewarping', 'preprocessing/optimization/binarization', 'preprocessing/optimization/grayscale_normalization', 'recognition/text-recognition', 'recognition/font-identification', 'recognition/post-correction', 'layout/segmentation', 'layout/segmentation/text-nontext', 'layout/segmentation/region', 'layout/segmentation/line', 'layout/segmentation/word', 'layout/segmentation/classification', 'layout/analysis']</error>\n</report>",
-        "official": true,
-        "org_plus_name": "ASVLeipzig/cor-asv-ann",
-        "python": {
-            "author": "Robert Sachunsky",
-            "author-email": "sachunsky@informatik.uni-leipzig.de",
-            "name": "ocrd_cor_asv_ann",
-            "pypi": null,
-            "url": "https://github.com/ASVLeipzig/cor-asv-ann"
-        },
-        "url": "https://github.com/ASVLeipzig/cor-asv-ann"
-    },
-    {
-        "compliant_cli": true,
-        "files": {
-            "Dockerfile": null,
-            "README.md": "# cor-asv-fst\n    OCR post-correction with error/lexicon Finite State Transducers and\n    chararacter-level LSTM language models\n\n## Introduction\n\n\n## Installation\n\nRequired Ubuntu packages:\n\n* Python (``python`` or ``python3``)\n* pip (``python-pip`` or ``python3-pip``)\n* virtualenv (``python-virtualenv`` or ``python3-virtualenv``)\n\nCreate and activate a virtualenv as usual.\n\nTo install Python dependencies and this module, then do:\n```shell\nmake deps install\n```\nWhich is the equivalent of:\n```shell\npip install -r requirements.txt\npip install -e .\n```\n\nIn addition to the requirements listed in `requirements.txt`, the tool\nrequires the\n[pynini](http://www.opengrm.org/twiki/bin/view/GRM/Pynini)\nlibrary, which has to be installed from source.\n\n## Usage\n\nThe package has two user interfaces:\n\n### Command Line Interface\n\nThe package contains a suite of CLI tools to work with plaintext data (prefix:\n`cor-asv-fst-*`). The minimal working examples and data formats are described\nbelow. Additionally, each tool has further optional parameters - for a detailed\ndescription, call the tool with the `--help` option.\n\n#### `cor-asv-fst-train`\n\nTrain FST models. The basic invocation is as follows:\n\n```shell\ncor-asv-fst-train -l LEXICON_FILE -e ERROR_MODEL_FILE -t TRAINING_FILE\n```\n\nThis will create two transducers, which will be stored in `LEXICON_FILE` and\n`ERROR_MODEL_FILE`, respectively. As the training of the lexicon and the error\nmodel is done independently, any of them can be skipped by omitting the\nrespective parameter.\n\n`TRAINING_FILE` is a plain text file in tab-separated, two-column format\ncontaining a line of OCR-output and the corresponding ground truth line:\n\n```\n\u00bb Bergebt mir, da\u00df ih niht wei\u00df, wie\t\u00bbVergebt mir, da\u00df ich nicht wei\u00df, wie\naus dem (Gei\u017fte aller Nationen Mahrunq\taus dem Gei\u017fte aller Nationen Nahrung\nKann\u017ft Du mir die re<h\u00e9e Bahn nich\u00e9 zeigen ?\tKann\u017ft Du mir die rechte Bahn nicht zeigen?\nfrag zu bringen. \u2014\ttrag zu bringen. \u2014\n\u017fie ins irdij<he Leben hinein, Mit leichtem,\t\u017fie ins irdi\u017fche Leben hinein. Mit leichtem,\n```\n\nEach line is treated independently. Alternatively to the above, the training\ndata may also be supplied as two files:\n\n```shell\ncor-asv-fst-train -l LEXICON_FILE -e ERROR_MODEL_FILE -i INPUT_FILE -g GT_FILE\n```\n\nIn this variant, `INPUT_FILE` and `GT_FILE` are both in tab-separated,\ntwo-column format, in which the first column is the line ID and the second the\nline:\n\n```\n>=== INPUT_FILE ===<\nalexis_ruhe01_1852_0018_022     ih denke. Aber was die \u017felige Frau Geheimr\u00e4th1n\nalexis_ruhe01_1852_0035_019     \u201eDas fann ich niht, c\u2019esl absolument impos-\nalexis_ruhe01_1852_0087_027     rend. In dem Augenbli> war 1hr niht wohl zu\nalexis_ruhe01_1852_0099_012     \u00fcr die fle \u017fich \u017fchlugen.\u201c\nalexis_ruhe01_1852_0147_009     \u017follte. Nur \u00dcber die Familien, wo man \u017fie einf\u00fchren\n\n>=== GT_FILE ===<\nalexis_ruhe01_1852_0018_022     ich denke. Aber was die \u017felige Frau Geheimr\u00e4thin\nalexis_ruhe01_1852_0035_019     \u201eDas kann ich nicht, c'est absolument impos\u2014\nalexis_ruhe01_1852_0087_027     rend. Jn dem Augenblick war ihr nicht wohl zu\nalexis_ruhe01_1852_0099_012     f\u00fcr die \u017fie \u017fich \u017fchlugen.\u201c\nalexis_ruhe01_1852_0147_009     \u017follte. Nur \u00fcber die Familien, wo man \u017fie einf\u00fchren\n```\n\n#### `cor-asv-fst-process`\n\nThis tool applies a trained model to correct plaintext data on a line basis.\nThe basic invocation is:\n\n```shell\ncor-asv-fst-process -i INPUT_FILE -o OUTPUT_FILE -l LEXICON_FILE -e ERROR_MODEL_FILE (-m LM_FILE)\n```\n\n`INPUT_FILE` is in the same format as for the training procedure. `OUTPUT_FILE`\ncontains the post-correction results in the same format.\n\n`LM_FILE` is a `ocrd_keraslm` language model - if supplied, it is used for\nrescoring.\n\n#### `cor-asv-fst-evaluate`\n\nThis tool can be used to evaluate the post-correction results. The minimal\nworking invocation is:\n\n```shell\ncor-asv-fst-evaluate -i INPUT_FILE -o OUTPUT_FILE -g GT_FILE\n```\n\nAdditionally, the parameter `-M` can be used to select the evaluation measure\n(`Levenshtein` by default). The files should be in the same two-column format\nas described above.\n\n### [OCR-D processor](https://ocr-d.github.io/cli) interface `ocrd-cor-asv-fst-process`\n\nTo be used with [PageXML](https://github.com/PRImA-Research-Lab/PAGE-XML)\ndocuments in an [OCR-D](https://ocr-d.github.io) annotation workflow.\nInput files need a textual annotation (`TextEquiv`) on the given\n`textequiv_level` (currently _only_ `word`!).\n\n...\n\n```json\n  \"tools\": {\n    \"cor-asv-fst-process\": {\n      \"executable\": \"cor-asv-fst-process\",\n      \"categories\": [\n        \"Text recognition and optimization\"\n      ],\n      \"steps\": [\n        \"recognition/post-correction\"\n      ],\n      \"description\": \"Improve text annotation by FST error and lexicon model with character-level LSTM language model\",\n      \"input_file_grp\": [\n        \"OCR-D-OCR-TESS\",\n        \"OCR-D-OCR-KRAK\",\n        \"OCR-D-OCR-OCRO\",\n        \"OCR-D-OCR-CALA\",\n        \"OCR-D-OCR-ANY\"\n      ],\n      \"output_file_grp\": [\n        \"OCR-D-COR-ASV\"\n      ],\n      \"parameters\": {\n        \"textequiv_level\": {\n          \"type\": \"string\",\n          \"enum\": [\"word\"],\n          \"default\": \"word\",\n          \"description\": \"PAGE XML hierarchy level to read TextEquiv input on (output will always be word level)\"\n        },\n        \"errorfst_file\": {\n          \"type\": \"string\",\n          \"format\": \"uri\",\n          \"content-type\": \"application/vnd.openfst\",\n          \"description\": \"path of FST file for error model\",\n          \"required\": true,\n          \"cacheable\": true\n        },\n        \"lexiconfst_file\": {\n          \"type\": \"string\",\n          \"format\": \"uri\",\n          \"content-type\": \"application/vnd.openfst\",\n          \"description\": \"path of FST file for lexicon model\",\n          \"required\": true,\n          \"cacheable\": true\n        },\n        \"pruning_weight\": {\n          \"type\": \"number\",\n          \"format\": \"float\",\n          \"description\": \"transition weight for pruning the hypotheses in each word window FST\",\n          \"default\": 5.0\n        },\n        \"rejection_weight\": {\n          \"type\": \"number\",\n          \"format\": \"float\",\n          \"description\": \"transition weight (per character) for unchanged input in each word window FST\",\n          \"default\": 1.5\n        },\n        \"keraslm_file\": {\n          \"type\": \"string\",\n          \"format\": \"uri\",\n          \"content-type\": \"application/x-hdf;subtype=bag\",\n          \"description\": \"path of h5py weight/config file for language model trained with keraslm\",\n          \"required\": true,\n          \"cacheable\": true\n        },\n        \"beam_width\": {\n          \"type\": \"number\",\n          \"format\": \"integer\",\n          \"description\": \"maximum number of best partial paths to consider during beam search in language modelling\",\n          \"default\": 100\n        },\n        \"lm_weight\": {\n          \"type\": \"number\",\n          \"format\": \"float\",\n          \"description\": \"share of the LM scores over the FST output confidences\",\n          \"default\": 0.5\n        }\n      }\n    }\n  }\n```\n\n...\n\n## Testing\n\n...\n",
-            "ocrd-tool.json": "{\n  \"git_url\": \"https://github.com/ASVLeipzig/cor-asv-fst\",\n  \"version\": \"0.1.1\",\n  \"tools\": {\n    \"ocrd-cor-asv-fst-process\": {\n      \"executable\": \"ocrd-cor-asv-fst-process\",\n      \"categories\": [\n        \"Text recognition and optimization\"\n      ],\n      \"steps\": [\n        \"recognition/post-correction\"\n      ],\n      \"description\": \"Improve text annotation by FST error and lexicon model with character-level LSTM language model\",\n      \"input_file_grp\": [\n        \"OCR-D-OCR-TESS\",\n        \"OCR-D-OCR-KRAK\",\n        \"OCR-D-OCR-OCRO\",\n        \"OCR-D-OCR-CALA\",\n        \"OCR-D-OCR-ANY\"\n      ],\n      \"output_file_grp\": [\n        \"OCR-D-COR-ASV\"\n      ],\n      \"parameters\": {\n        \"textequiv_level\": {\n          \"type\": \"string\",\n          \"enum\": [\"word\"],\n          \"default\": \"word\",\n          \"description\": \"PAGE XML hierarchy level to read TextEquiv input on (output will always be word level)\"\n        },\n        \"errorfst_file\": {\n          \"type\": \"string\",\n          \"format\": \"uri\",\n          \"content-type\": \"application/vnd.openfst\",\n          \"description\": \"path of FST file for error model\",\n          \"required\": true,\n          \"cacheable\": true\n        },\n        \"lexiconfst_file\": {\n          \"type\": \"string\",\n          \"format\": \"uri\",\n          \"content-type\": \"application/vnd.openfst\",\n          \"description\": \"path of FST file for lexicon model\",\n          \"required\": true,\n          \"cacheable\": true\n        },\n        \"pruning_weight\": {\n          \"type\": \"number\",\n          \"format\": \"float\",\n          \"description\": \"transition weight for pruning the hypotheses in each word window FST\",\n          \"default\": 5.0\n        },\n        \"rejection_weight\": {\n          \"type\": \"number\",\n          \"format\": \"float\",\n          \"description\": \"transition weight (per character) for unchanged input in each word window FST\",\n          \"default\": 1.5\n        },\n        \"keraslm_file\": {\n          \"type\": \"string\",\n          \"format\": \"uri\",\n          \"content-type\": \"application/x-hdf;subtype=bag\",\n          \"description\": \"path of h5py weight/config file for language model trained with keraslm\",\n          \"required\": true,\n          \"cacheable\": true\n        },\n        \"beam_width\": {\n          \"type\": \"number\",\n          \"format\": \"integer\",\n          \"description\": \"maximum number of best partial paths to consider during beam search in language modelling\",\n          \"default\": 100\n        },\n        \"lm_weight\": {\n          \"type\": \"number\",\n          \"format\": \"float\",\n          \"description\": \"share of the LM scores over the FST output confidences\",\n          \"default\": 0.5\n        }\n      }\n    }\n  }\n}\n",
-            "setup.py": "# -*- coding: utf-8 -*-\n\"\"\"\nInstalls:\n    - cor-asv-fst-train\n    - cor-asv-fst-process\n    - cor-asv-fst-evaluate\n    - ocrd-cor-asv-fst-process\n\"\"\"\nimport codecs\n\nfrom setuptools import setup, find_packages\n\ninstall_requires = open('requirements.txt').read().split('\\n')\n\nwith codecs.open('README.md', encoding='utf-8') as f:\n    README = f.read()\n\nsetup(\n    name='ocrd_cor_asv_fst',\n    version='0.2.0',\n    description='OCR post-correction with error/lexicon Finite State '\n                'Transducers and character-level LSTMs',\n    long_description=README,\n    author='Maciej Sumalvico, Robert Sachunsky',\n    author_email='sumalvico@informatik.uni-leipzig.de, '\n                 'sachunsky@informatik.uni-leipzig.de',\n    url='https://github.com/ASVLeipzig/cor-asv-fst',\n    license='Apache License 2.0',\n    packages=find_packages(exclude=('tests', 'docs')),\n    install_requires=install_requires,\n    package_data={\n        '': ['*.json', '*.yml', '*.yaml'],\n    },\n    test_suite='tests',\n    entry_points={\n        'console_scripts': [\n            'cor-asv-fst-train=ocrd_cor_asv_fst.scripts.train:main',\n            'cor-asv-fst-process=ocrd_cor_asv_fst.scripts.process:main',\n            'cor-asv-fst-evaluate=ocrd_cor_asv_fst.scripts.evaluate:main',\n            'ocrd-cor-asv-fst-process=ocrd_cor_asv_fst.wrapper.cli:ocrd_cor_asv_fst',\n        ]\n    }\n)\n"
-        },
-        "git": {
-            "last_commit": "Sun Nov 17 19:29:15 2019 +0100",
-            "latest_tag": "",
-            "number_of_commits": "176",
-            "url": "https://github.com/ASVLeipzig/cor-asv-fst.git"
-        },
-        "name": "cor-asv-fst",
-        "ocrd_tool": {
-            "git_url": "https://github.com/ASVLeipzig/cor-asv-fst",
-            "tools": {
-                "ocrd-cor-asv-fst-process": {
-                    "categories": [
-                        "Text recognition and optimization"
-                    ],
-                    "description": "Improve text annotation by FST error and lexicon model with character-level LSTM language model",
-                    "executable": "ocrd-cor-asv-fst-process",
-                    "input_file_grp": [
-                        "OCR-D-OCR-TESS",
-                        "OCR-D-OCR-KRAK",
-                        "OCR-D-OCR-OCRO",
-                        "OCR-D-OCR-CALA",
-                        "OCR-D-OCR-ANY"
-                    ],
-                    "output_file_grp": [
-                        "OCR-D-COR-ASV"
-                    ],
-                    "parameters": {
-                        "beam_width": {
-                            "default": 100,
-                            "description": "maximum number of best partial paths to consider during beam search in language modelling",
-                            "format": "integer",
-                            "type": "number"
-                        },
-                        "errorfst_file": {
-                            "cacheable": true,
-                            "content-type": "application/vnd.openfst",
-                            "description": "path of FST file for error model",
-                            "format": "uri",
-                            "required": true,
-                            "type": "string"
-                        },
-                        "keraslm_file": {
-                            "cacheable": true,
-                            "content-type": "application/x-hdf;subtype=bag",
-                            "description": "path of h5py weight/config file for language model trained with keraslm",
-                            "format": "uri",
-                            "required": true,
-                            "type": "string"
-                        },
-                        "lexiconfst_file": {
-                            "cacheable": true,
-                            "content-type": "application/vnd.openfst",
-                            "description": "path of FST file for lexicon model",
-                            "format": "uri",
-                            "required": true,
-                            "type": "string"
-                        },
-                        "lm_weight": {
-                            "default": 0.5,
-                            "description": "share of the LM scores over the FST output confidences",
-                            "format": "float",
-                            "type": "number"
-                        },
-                        "pruning_weight": {
-                            "default": 5.0,
-                            "description": "transition weight for pruning the hypotheses in each word window FST",
-                            "format": "float",
-                            "type": "number"
-                        },
-                        "rejection_weight": {
-                            "default": 1.5,
-                            "description": "transition weight (per character) for unchanged input in each word window FST",
-                            "format": "float",
-                            "type": "number"
-                        },
-                        "textequiv_level": {
-                            "default": "word",
-                            "description": "PAGE XML hierarchy level to read TextEquiv input on (output will always be word level)",
-                            "enum": [
-                                "word"
-                            ],
-                            "type": "string"
-                        }
-                    },
-                    "steps": [
-                        "recognition/post-correction"
-                    ]
-                }
-            },
-            "version": "0.1.1"
-        },
-        "ocrd_tool_validate": "<report valid=\"true\">\n</report>",
-        "official": true,
-        "org_plus_name": "ASVLeipzig/cor-asv-fst",
-        "python": {
-            "author": "Maciej Sumalvico, Robert Sachunsky",
-            "author-email": "sumalvico@informatik.uni-leipzig.de, sachunsky@informatik.uni-leipzig.de",
-            "name": "ocrd_cor_asv_fst",
-            "pypi": null,
-            "url": "https://github.com/ASVLeipzig/cor-asv-fst"
-        },
-        "url": "https://github.com/ASVLeipzig/cor-asv-fst"
-    },
-    {
-        "compliant_cli": true,
-        "files": {
-            "Dockerfile": "FROM ocrd/core:edge\nMAINTAINER OCR-D\nENV DEBIAN_FRONTEND noninteractive\nENV PYTHONIOENCODING utf8\nENV LC_ALL C.UTF-8\nENV LANG C.UTF-8\n\nWORKDIR /build\nCOPY Makefile .\nCOPY setup.py .\nCOPY ocrd-tool.json .\nCOPY requirements.txt .\nCOPY ocrd_calamari ocrd_calamari\n\nRUN make calamari/build\nRUN pip3 install .\n\nENTRYPOINT [\"/usr/local/bin/ocrd-calamari-recognize\"]\n\n",
-            "README.md": "# ocrd_calamari\n\n> Recognize text using [Calamari OCR](https://github.com/Calamari-OCR/calamari).\n\n[![image](https://circleci.com/gh/OCR-D/ocrd_calamari.svg?style=svg)](https://circleci.com/gh/OCR-D/ocrd_calamari)\n[![image](https://img.shields.io/pypi/v/ocrd_calamari.svg)](https://pypi.org/project/ocrd_calamari/)\n[![image](https://codecov.io/gh/OCR-D/ocrd_calamari/branch/master/graph/badge.svg)](https://codecov.io/gh/OCR-D/ocrd_calamari)\n\n## Introduction\n\nThis offers a OCR-D compliant workspace processor for some of the functionality of Calamari OCR.\n\nThis processor only operates on the text line level and so needs a line segmentation (and by extension a binarized \nimage) as its input.\n\n## Installation\n\n### From PyPI\n\n```\npip install ocrd_calamari\n```\n\n### From Repo\n\n```sh\npip install .\n```\n\n## Install models\n\nDownload models trained on GT4HistOCR data:\n\n```\nmake gt4histocr-calamari\nls gt4histocr-calamari\n```\n\n## Example Usage\n\n~~~\nocrd-calamari-recognize -p test-parameters.json -m mets.xml -I OCR-D-SEG-LINE -O OCR-D-OCR-CALAMARI\n~~~\n\nWith `test-parameters.json`:\n~~~\n{\n    \"checkpoint\": \"/path/to/some/trained/models/*.ckpt.json\"\n}\n~~~\n\n## Development & Testing\nFor information regarding development and testing, please see\n[README-DEV.md](README-DEV.md).\n",
-            "ocrd-tool.json": "{\n  \"git_url\": \"https://github.com/kba/ocrd_calamari\",\n  \"version\": \"0.0.3\",\n  \"tools\": {\n    \"ocrd-calamari-recognize\": {\n      \"executable\": \"ocrd-calamari-recognize\",\n      \"categories\": [\n        \"Text recognition and optimization\"\n      ],\n      \"steps\": [\n        \"recognition/text-recognition\"\n      ],\n      \"description\": \"Recognize lines with Calamari\",\n      \"input_file_grp\": [\n        \"OCR-D-SEG-LINE\"\n      ],\n      \"output_file_grp\": [\n        \"OCR-D-OCR-CALAMARI\"\n      ],\n      \"parameters\": {\n        \"checkpoint\": {\n          \"description\": \"The calamari model files (*.ckpt.json)\",\n          \"type\": \"string\", \"format\": \"file\", \"cacheable\": true\n        },\n        \"voter\": {\n          \"description\": \"The voting algorithm to use\",\n          \"type\": \"string\", \"default\": \"confidence_voter_default_ctc\"\n        }\n      }\n    }\n  }\n}\n",
-            "setup.py": "# -*- coding: utf-8 -*-\nfrom pathlib import Path\n\nfrom setuptools import setup, find_packages\n\nsetup(\n    name='ocrd_calamari',\n    version='0.0.3',\n    description='Calamari bindings',\n    long_description=Path('README.md').read_text(),\n    long_description_content_type='text/markdown',\n    author='Konstantin Baierer, Mike Gerber',\n    author_email='unixprog@gmail.com, mike.gerber@sbb.spk-berlin.de',\n    url='https://github.com/kba/ocrd_calamari',\n    license='Apache License 2.0',\n    packages=find_packages(exclude=('tests', 'docs')),\n    install_requires=Path('requirements.txt').read_text().split('\\n'),\n    package_data={\n        '': ['*.json', '*.yml', '*.yaml'],\n    },\n    entry_points={\n        'console_scripts': [\n            'ocrd-calamari-recognize=ocrd_calamari.cli:ocrd_calamari_recognize',\n        ]\n    },\n)\n"
-        },
-        "git": {
-            "last_commit": "Wed Dec 11 17:53:26 2019 +0100",
-            "latest_tag": "v0.0.3",
-            "number_of_commits": "73",
-            "url": "https://github.com/OCR-D/ocrd_calamari.git"
-        },
-        "name": "ocrd_calamari",
-        "ocrd_tool": {
-            "git_url": "https://github.com/kba/ocrd_calamari",
-            "tools": {
-                "ocrd-calamari-recognize": {
-                    "categories": [
-                        "Text recognition and optimization"
-                    ],
-                    "description": "Recognize lines with Calamari",
-                    "executable": "ocrd-calamari-recognize",
-                    "input_file_grp": [
-                        "OCR-D-SEG-LINE"
-                    ],
-                    "output_file_grp": [
-                        "OCR-D-OCR-CALAMARI"
-                    ],
-                    "parameters": {
-                        "checkpoint": {
-                            "cacheable": true,
-                            "description": "The calamari model files (*.ckpt.json)",
-                            "format": "file",
-                            "type": "string"
-                        },
-                        "voter": {
-                            "default": "confidence_voter_default_ctc",
-                            "description": "The voting algorithm to use",
-                            "type": "string"
-                        }
-                    },
-                    "steps": [
-                        "recognition/text-recognition"
-                    ]
-                }
-            },
-            "version": "0.0.3"
-        },
-        "ocrd_tool_validate": "<report valid=\"true\">\n</report>",
-        "official": false,
-        "org_plus_name": "OCR-D/ocrd_calamari",
-        "python": {
-            "author": "Konstantin Baierer, Mike Gerber",
-            "author-email": "unixprog@gmail.com, mike.gerber@sbb.spk-berlin.de",
-            "name": "ocrd_calamari",
-            "pypi": {
-                "info": {
-                    "author": "Konstantin Baierer, Mike Gerber",
-                    "author_email": "unixprog@gmail.com, mike.gerber@sbb.spk-berlin.de",
-                    "bugtrack_url": null,
-                    "classifiers": [],
-                    "description": "# ocrd_calamari\n\nRecognize text using [Calamari OCR](https://github.com/Calamari-OCR/calamari).\n\n## Introduction\n\nThis offers a OCR-D compliant workspace processor for some of the functionality of Calamari OCR.\n\nThis processor only operates on the text line level and so needs a line segmentation (and by extension a binarized \nimage) as its input.\n\n## Example Usage\n\n```sh\nocrd-calamari-recognize -p test-parameters.json -m mets.xml -I OCR-D-SEG-LINE -O OCR-D-OCR-CALAMARI\n```\n\nWith `test-parameters.json`:\n\n```json\n{\n    \"checkpoint\": \"/path/to/some/trained/models/*.ckpt.json\"\n}\n```\n\nTODO\n----\n\n* Support Calamari's \"extended prediction data\" output\n* Currently, the processor only supports a prediction using confidence voting of multiple models. While this is\n  superior, it makes sense to support single model prediction, too.\n\n\n",
-                    "description_content_type": "text/markdown",
-                    "docs_url": null,
-                    "download_url": "",
-                    "downloads": {
-                        "last_day": -1,
-                        "last_month": -1,
-                        "last_week": -1
-                    },
-                    "home_page": "https://github.com/kba/ocrd_calamari",
-                    "keywords": "",
-                    "license": "Apache License 2.0",
-                    "maintainer": "",
-                    "maintainer_email": "",
-                    "name": "ocrd-calamari",
-                    "package_url": "https://pypi.org/project/ocrd-calamari/",
-                    "platform": "",
-                    "project_url": "https://pypi.org/project/ocrd-calamari/",
-                    "project_urls": {
-                        "Homepage": "https://github.com/kba/ocrd_calamari"
-                    },
-                    "release_url": "https://pypi.org/project/ocrd-calamari/0.0.3/",
-                    "requires_dist": [
-                        "numpy",
-                        "tensorflow-gpu (==1.14.0)",
-                        "calamari-ocr (==0.3.5)",
-                        "setuptools (>=41.0.0)",
-                        "click",
-                        "ocrd (>=1.0.0b11)"
-                    ],
-                    "requires_python": "",
-                    "summary": "Calamari bindings",
-                    "version": "0.0.3"
-                },
-                "last_serial": 6229919,
-                "releases": {
-                    "0.0.1": [
-                        {
-                            "comment_text": "",
-                            "digests": {
-                                "md5": "a247c6638d77f7590453855f8414a97b",
-                                "sha256": "cf08ec027390519d465f6be861e5672b48e7b39b3d1f8e13e54cb401034355b6"
-                            },
-                            "downloads": -1,
-                            "filename": "ocrd_calamari-0.0.1-py3-none-any.whl",
-                            "has_sig": false,
-                            "md5_digest": "a247c6638d77f7590453855f8414a97b",
-                            "packagetype": "bdist_wheel",
-                            "python_version": "py3",
-                            "requires_python": null,
-                            "size": 9320,
-                            "upload_time": "2019-10-26T20:18:11",
-                            "upload_time_iso_8601": "2019-10-26T20:18:11.044376Z",
-                            "url": "https://files.pythonhosted.org/packages/30/62/d8efee35233443d444fc49f7f89792979234c1d735285d599f989e63cee1/ocrd_calamari-0.0.1-py3-none-any.whl"
-                        },
-                        {
-                            "comment_text": "",
-                            "digests": {
-                                "md5": "1daa1956ba64485b65d9d69a149dcb6a",
-                                "sha256": "51a09088d677799258d8c796dbaba8a1b44a318d06c060314499f708fa37bdd4"
-                            },
-                            "downloads": -1,
-                            "filename": "ocrd_calamari-0.0.1.tar.gz",
-                            "has_sig": false,
-                            "md5_digest": "1daa1956ba64485b65d9d69a149dcb6a",
-                            "packagetype": "sdist",
-                            "python_version": "source",
-                            "requires_python": null,
-                            "size": 3884,
-                            "upload_time": "2019-10-26T20:18:13",
-                            "upload_time_iso_8601": "2019-10-26T20:18:13.643406Z",
-                            "url": "https://files.pythonhosted.org/packages/46/1a/b5f02d113aa7810cb773f0b586d1202c254d22e4bf3c6b829d937da2c1b0/ocrd_calamari-0.0.1.tar.gz"
-                        }
-                    ],
-                    "0.0.2": [
-                        {
-                            "comment_text": "",
-                            "digests": {
-                                "md5": "24e8cab9e429576704a02890f6ebffb2",
-                                "sha256": "454164c6b1c063b76c5189ae596115499bffd6e944c896dee3b03f08852f5680"
-                            },
-                            "downloads": -1,
-                            "filename": "ocrd_calamari-0.0.2-py3-none-any.whl",
-                            "has_sig": false,
-                            "md5_digest": "24e8cab9e429576704a02890f6ebffb2",
-                            "packagetype": "bdist_wheel",
-                            "python_version": "py3",
-                            "requires_python": null,
-                            "size": 5247,
-                            "upload_time": "2019-12-02T12:22:56",
-                            "upload_time_iso_8601": "2019-12-02T12:22:56.460224Z",
-                            "url": "https://files.pythonhosted.org/packages/39/53/c05186a309284a22d4f1f0399a5fb241d7b11fb0e5b94c33fa8ae229a6fc/ocrd_calamari-0.0.2-py3-none-any.whl"
-                        },
-                        {
-                            "comment_text": "",
-                            "digests": {
-                                "md5": "7a101d8f9626784f9e54af6dad37179d",
-                                "sha256": "39e0f5b334a735fb8fa20e5490dcd07a96a620bc785c8e2b31f64a23fa13a6fe"
-                            },
-                            "downloads": -1,
-                            "filename": "ocrd_calamari-0.0.2.tar.gz",
-                            "has_sig": false,
-                            "md5_digest": "7a101d8f9626784f9e54af6dad37179d",
-                            "packagetype": "sdist",
-                            "python_version": "source",
-                            "requires_python": null,
-                            "size": 3952,
-                            "upload_time": "2019-12-02T12:22:57",
-                            "upload_time_iso_8601": "2019-12-02T12:22:57.972949Z",
-                            "url": "https://files.pythonhosted.org/packages/9d/cc/de53bfd3c2b666cab5ef199c93902c85bb83ee03d923e9ef7abe87377857/ocrd_calamari-0.0.2.tar.gz"
-                        }
-                    ],
-                    "0.0.3": [
-                        {
-                            "comment_text": "",
-                            "digests": {
-                                "md5": "7bb2ae998a57e2301011073fd532445e",
-                                "sha256": "4b6e0be66b0fdd9f64f5f02e8aac952c1e77f78b39fc4ed9c90f8c9f9a117967"
-                            },
-                            "downloads": -1,
-                            "filename": "ocrd_calamari-0.0.3-py3-none-any.whl",
-                            "has_sig": false,
-                            "md5_digest": "7bb2ae998a57e2301011073fd532445e",
-                            "packagetype": "bdist_wheel",
-                            "python_version": "py3",
-                            "requires_python": null,
-                            "size": 9384,
-                            "upload_time": "2019-12-02T17:28:38",
-                            "upload_time_iso_8601": "2019-12-02T17:28:38.092102Z",
-                            "url": "https://files.pythonhosted.org/packages/23/85/34b1b520bd8ad7688915d5844caf20e89435fd17a3489963ceec14c06f14/ocrd_calamari-0.0.3-py3-none-any.whl"
-                        },
-                        {
-                            "comment_text": "",
-                            "digests": {
-                                "md5": "8a435811e11f37b47eec5a5f8a433e99",
-                                "sha256": "e57cea7935340bcf090e62642a38aa41b0bf68d31afe95ba9e42a18be53ca80d"
-                            },
-                            "downloads": -1,
-                            "filename": "ocrd_calamari-0.0.3.tar.gz",
-                            "has_sig": false,
-                            "md5_digest": "8a435811e11f37b47eec5a5f8a433e99",
-                            "packagetype": "sdist",
-                            "python_version": "source",
-                            "requires_python": null,
-                            "size": 3909,
-                            "upload_time": "2019-12-02T17:28:39",
-                            "upload_time_iso_8601": "2019-12-02T17:28:39.643369Z",
-                            "url": "https://files.pythonhosted.org/packages/32/15/e01d70177d89e9d0c0ec07ea8a2a31194f46154758788af781724c5b3354/ocrd_calamari-0.0.3.tar.gz"
-                        }
-                    ]
-                },
-                "urls": [
-                    {
-                        "comment_text": "",
-                        "digests": {
-                            "md5": "7bb2ae998a57e2301011073fd532445e",
-                            "sha256": "4b6e0be66b0fdd9f64f5f02e8aac952c1e77f78b39fc4ed9c90f8c9f9a117967"
-                        },
-                        "downloads": -1,
-                        "filename": "ocrd_calamari-0.0.3-py3-none-any.whl",
-                        "has_sig": false,
-                        "md5_digest": "7bb2ae998a57e2301011073fd532445e",
-                        "packagetype": "bdist_wheel",
-                        "python_version": "py3",
-                        "requires_python": null,
-                        "size": 9384,
-                        "upload_time": "2019-12-02T17:28:38",
-                        "upload_time_iso_8601": "2019-12-02T17:28:38.092102Z",
-                        "url": "https://files.pythonhosted.org/packages/23/85/34b1b520bd8ad7688915d5844caf20e89435fd17a3489963ceec14c06f14/ocrd_calamari-0.0.3-py3-none-any.whl"
-                    },
-                    {
-                        "comment_text": "",
-                        "digests": {
-                            "md5": "8a435811e11f37b47eec5a5f8a433e99",
-                            "sha256": "e57cea7935340bcf090e62642a38aa41b0bf68d31afe95ba9e42a18be53ca80d"
-                        },
-                        "downloads": -1,
-                        "filename": "ocrd_calamari-0.0.3.tar.gz",
-                        "has_sig": false,
-                        "md5_digest": "8a435811e11f37b47eec5a5f8a433e99",
-                        "packagetype": "sdist",
-                        "python_version": "source",
-                        "requires_python": null,
-                        "size": 3909,
-                        "upload_time": "2019-12-02T17:28:39",
-                        "upload_time_iso_8601": "2019-12-02T17:28:39.643369Z",
-                        "url": "https://files.pythonhosted.org/packages/32/15/e01d70177d89e9d0c0ec07ea8a2a31194f46154758788af781724c5b3354/ocrd_calamari-0.0.3.tar.gz"
-                    }
-                ]
-            },
-            "url": "https://github.com/kba/ocrd_calamari"
-        },
-        "url": "https://github.com/OCR-D/ocrd_calamari"
-    },
-    {
-        "compliant_cli": true,
-        "files": {
-            "Dockerfile": "FROM ocrd/core\nMAINTAINER OCR-D\nENV DEBIAN_FRONTEND noninteractive\n\nENV PREFIX=/usr/local\n\nWORKDIR /build\nCOPY ocrd-im6convert .\nCOPY ocrd-tool.json .\nCOPY Makefile .\n\nRUN apt-get update && \\\n    apt-get -y install apt-utils && \\\n    apt-get -y install --no-install-recommends \\\n    ca-certificates \\\n    make\n\nRUN make deps-ubuntu install\n\nENV DEBIAN_FRONTEND teletype\n\n# no fixed entrypoint (e.g. also allow `convert` etc)\nCMD [\"/usr/local/bin/ocrd-im6convert\", \"--help\"]\n",
-            "README.md": "# ocrd_imageconvert/\n\n> Thin wrapper around convert(1)\n\n## Introduction\n\n```sh\n# Actual conversion\nconvert \"$infile\" \"$outfile\"\n```\n### What it could do\n\n[One or more of these](http://www.fmwconcepts.com/imagemagick/textcleaner/index.php) or\n[these](http://web.archive.org/web/20110517204536/http://www.ict.griffith.edu.au/anthony/graphics/imagick6/quantize/)\nor convert to grayscale, binarize etc. With threshold configurable as a\nparameter.\n\n## Installation\n\n```\nmake install\n```\n\n## Usage\n...\n\n## Testing\n\nNone yet\n",
-            "ocrd-tool.json": "{\n  \"git_url\": \"https://github.com/OCR-D/ocrd_im6convert\",\n  \"version\": \"0.0.1\",\n  \"tools\": {\n\n    \"ocrd-im6convert\": {\n      \"executable\": \"ocrd-im6convert\",\n      \"categories\": [\"Image preprocessing\"],\n      \"steps\": [\"preprocessing/optimization\"],\n      \"description\": \"Convert and transform images\",\n      \"input_file_grp\": [\n        \"OCR-D-IMG\"\n      ],\n      \"output_file_grp\": [\n        \"OCR-D-IMG\"\n      ],\n      \"parameters\": {\n        \"output-format\": {\n          \"type\": \"string\",\n          \"description\": \"Desired media type of output\",\n          \"required\": true,\n          \"enum\": [\"image/tiff\", \"image/jp2\", \"image/png\"]\n        }\n      }\n    }\n\n  }\n}\n",
-            "setup.py": null
-        },
-        "git": {
-            "last_commit": "Fri Nov 29 10:58:23 2019 +0100",
-            "latest_tag": "",
-            "number_of_commits": "20",
-            "url": "https://github.com/OCR-D/ocrd_im6convert.git"
-        },
-        "name": "ocrd_im6convert",
-        "ocrd_tool": {
-            "git_url": "https://github.com/OCR-D/ocrd_im6convert",
-            "tools": {
-                "ocrd-im6convert": {
-                    "categories": [
-                        "Image preprocessing"
-                    ],
-                    "description": "Convert and transform images",
-                    "executable": "ocrd-im6convert",
-                    "input_file_grp": [
-                        "OCR-D-IMG"
-                    ],
-                    "output_file_grp": [
-                        "OCR-D-IMG"
-                    ],
-                    "parameters": {
-                        "output-format": {
-                            "description": "Desired media type of output",
-                            "enum": [
-                                "image/tiff",
-                                "image/jp2",
-                                "image/png"
-                            ],
-                            "required": true,
-                            "type": "string"
-                        }
-                    },
-                    "steps": [
-                        "preprocessing/optimization"
-                    ]
-                }
-            },
-            "version": "0.0.1"
-        },
-        "ocrd_tool_validate": "<report valid=\"true\">\n</report>",
-        "official": false,
-        "org_plus_name": "OCR-D/ocrd_im6convert",
-        "url": "https://github.com/OCR-D/ocrd_im6convert"
-    },
-    {
-        "compliant_cli": true,
-        "files": {
-            "Dockerfile": null,
-            "README.md": "# ocrd_keraslm\n    character-level language modelling using Keras\n\n\n## Introduction\n\nThis is a tool for statistical _language modelling_ (predicting text from context) with recurrent neural networks. It models probabilities not on the word level but the _character level_ so as to allow open vocabulary processing (avoiding morphology, historic orthography and word segmentation problems). It manages a vocabulary of mapped characters, which can be easily extended by training on more text. Above that, unmapped characters are treated with underspecification.\n\nIn addition to character sequences, (meta-data) context variables can be configured as extra input. \n\n### Architecture\n\nThe model consists of:\n\n0. an input layer: characters are represented as indexes from the vocabulary mapping, in windows of a number `length` of characters,\n1. a character embedding layer: window sequences are converted into dense vectors by looking up the indexes in an embedding weight matrix,\n2. a context embedding layer: context variables are converted into dense vectors by looking up the indexes in an embedding weight matrix, \n3. character and context vector sequences are concatenated,\n4. a number `depth` of hidden layers: each with a number `width` of hidden recurrent units of _LSTM cells_ (Long Short-term Memory) connected on top of each other,\n5. an output layer derived from the transposed character embedding matrix (weight tying): hidden activations are projected linearly to vectors of dimensionality equal to the character vocabulary size, then softmax is applied returning a probability for each possible value of the next character, respectively.\n\n![model graph depiction](model-graph.png \"graph with 1 context variable\")\n\nThe model is trained by feeding windows of text in index representation to the input layer, calculating output and comparing it to the same text shifted backward by 1 character, and represented as unit vectors (\"one-hot coding\") as target. The loss is calculated as the (unweighted) cross-entropy between target and output. Backpropagation yields error gradients for each layer, which is used to iteratively update the weights (stochastic gradient descent).\n\nThis is implemented in [Keras](https://keras.io) with [Tensorflow](https://www.tensorflow.org/) as backend. It automatically uses a fast CUDA-optimized LSTM implementation (Nividia GPU and Tensorflow installation with GPU support, see below), both in learning and in prediction phase, if available.\n\n\n### Modes of operation\n\nNotably, this model (by default) runs _statefully_, i.e. by implicitly passing hidden state from one window (batch of samples) to the next. That way, the context available for predictions can be arbitrarily long (above `length`, e.g. the complete document up to that point), or short (below `length`, e.g. at the start of a text). (However, this is a passive perspective above `length`, because errors are never back-propagated any further in time during gradient-descent training.) This is favourable to stateless mode because all characters can be output in parallel, and no partial windows need to be presented during training (which slows down).\n\nBesides stateful mode, the model can also be run _incrementally_, i.e. by explicitly passing hidden state from the caller. That way, multiple alternative hypotheses can be processed together. This is used for generation (sampling from the model) and alternative decoding (finding the best path through a sequence of alternatives).\n\n### Context conditioning\n\nEvery text has meta-data like time, author, text type, genre, production features (e.g. print vs typewriter vs digital born rich text, OCR version), language, structural element (e.g. title vs heading vs paragraph vs footer vs marginalia), font family (e.g. Antiqua vs Fraktura) and font shape (e.g. bold vs letter-spaced vs italic vs normal) etc. \n\nThis information (however noisy) can be very useful to facilitate stochastic modelling, since language has an extreme diversity and complexity. To that end, models can be conditioned on extra inputs here, termed _context variables_. The model learns to represent these high-dimensional discrete values as low-dimensional continuous vectors (embeddings), also entering the recurrent hidden layers (as a form of simple additive adaptation).\n\n### Underspecification\n\nIndex zero is reserved for unmapped characters (unseen contexts). During training, its embedding vector is regularised to occupy a center position of all mapped characters (all other contexts), and the hidden layers get to see it every now and then by random degradation. At runtime, therefore, some unknown character (some unknown context) represented as zero does not disturb follow-up predictions too much.\n\n\n## Installation\n\nRequired Ubuntu packages:\n\n* Python (``python`` or ``python3``)\n* pip (``python-pip`` or ``python3-pip``)\n* virtualenv (``python-virtualenv`` or ``python3-virtualenv``)\n\nCreate and activate a virtualenv as usual.\n\nIf you need a custom version of ``keras`` or ``tensorflow`` (like [GPU support](https://www.tensorflow.org/install/install_sources)), install them via `pip` now.\n\nTo install Python dependencies and this module, then do:\n```shell\nmake deps install\n```\nWhich is the equivalent of:\n```shell\npip install -r requirements.txt\npip install -e .\n```\n\nUseful environment variables are:\n- ``TF_CPP_MIN_LOG_LEVEL`` (set to `1` to suppress most of Tensorflow's messages\n- ``CUDA_VISIBLE_DEVICES`` (set empty to force CPU even in a GPU installation)\n\n\n## Usage\n\nThis packages has two user interfaces:\n\n### command line interface `keraslm-rate`\n\nTo be used with string arguments and plain-text files.\n\n```shell\nUsage: keraslm-rate [OPTIONS] COMMAND [ARGS]...\n\nOptions:\n  --help  Show this message and exit.\n\nCommands:\n  train                           train a language model\n  test                            get overall perplexity from language model\n  apply                           get individual probabilities from language model\n  generate                        sample characters from language model\n  print-charset                   Print the mapped characters\n  prune-charset                   Delete one character from mapping\n  plot-char-embeddings-similarity\n                                  Paint a heat map of character embeddings\n  plot-context-embeddings-similarity\n                                  Paint a heat map of context embeddings\n  plot-context-embeddings-projection\n                                  Paint a 2-d PCA projection of context embeddings\n```\n\nExamples:\n```shell\nkeraslm-rate train --width 64 --depth 4 --length 256 --model model_dta_64_4_256.h5 dta_komplett_2017-09-01/txt/*.tcf.txt\nkeraslm-rate generate -m model_dta_64_4_256.h5 --number 6 \"f\u00fcr die Wi\u017f\u017fen\"\nkeraslm-rate apply -m model_dta_64_4_256.h5 \"so sch\u00e4dlich ist es Borkickheile zu pflanzen\"\nkeraslm-rate test -m model_dta_64_4_256.h5 dta_komplett_2017-09-01/txt/grimm_*.tcf.txt\n```\n\n### [OCR-D processor](https://github.com/OCR-D/core) interface `ocrd-keraslm-rate`\n\nTo be used with [PageXML](https://www.primaresearch.org/tools/PAGELibraries) documents in an [OCR-D](https://github.com/OCR-D/spec/) annotation workflow. Input could be anything with a textual annotation (`TextEquiv` on the given `textequiv_level`). The LM rater could be used for both quality control (without alternative decoding, using only each first index `TextEquiv`) and part of post-correction (with `alternative_decoding=True`, finding the best path among `TextEquiv` indexes).\n\n```json\n  \"tools\": {\n    \"ocrd-keraslm-rate\": {\n      \"executable\": \"ocrd-keraslm-rate\",\n      \"categories\": [\n        \"Text recognition and optimization\"\n      ],\n      \"steps\": [\n        \"recognition/text-recognition\"\n      ],\n      \"description\": \"Rate elements of the text with a character-level LSTM language model in Keras\",\n      \"input_file_grp\": [\n        \"OCR-D-OCR-TESS\",\n        \"OCR-D-OCR-KRAK\",\n        \"OCR-D-OCR-OCRO\",\n        \"OCR-D-OCR-CALA\",\n        \"OCR-D-OCR-ANY\",\n        \"OCR-D-COR-CIS\",\n        \"OCR-D-COR-ASV\"\n      ],\n      \"output_file_grp\": [\n        \"OCR-D-COR-LM\"\n      ],\n      \"parameters\": {\n        \"model_file\": {\n          \"type\": \"string\",\n          \"format\": \"uri\",\n          \"content-type\": \"application/x-hdf;subtype=bag\",\n          \"description\": \"path of h5py weight/config file for model trained with keraslm\",\n          \"required\": true,\n          \"cacheable\": true\n        },\n        \"textequiv_level\": {\n          \"type\": \"string\",\n          \"enum\": [\"region\", \"line\", \"word\", \"glyph\"],\n          \"default\": \"glyph\",\n          \"description\": \"PAGE XML hierarchy level to evaluate TextEquiv sequences on\"\n        },\n        \"alternative_decoding\": {\n          \"type\": \"boolean\",\n          \"description\": \"whether to process all TextEquiv alternatives, finding the best path via beam search, and delete each non-best alternative\",\n          \"default\": true\n        },\n        \"beam_width\": {\n          \"type\": \"number\",\n          \"format\": \"integer\",\n          \"description\": \"maximum number of best partial paths to consider during search with alternative_decoding\",\n          \"default\": 100\n        }\n      }\n    }\n  }\n```\n\nExamples:\n```shell\nmake deps-test # installs ocrd_tesserocr\nmake test/assets # downloads GT, imports PageXML, builds workspaces\nocrd workspace clone -a test/assets/kant_aufklaerung_1784/mets.xml ws1\ncd ws1\nocrd-tesserocr-segment-region -I OCR-D-IMG -O OCR-D-SEG-BLOCK\nocrd-tesserocr-segment-line -I OCR-D-SEG-BLOCK -O OCR-D-SEG-LINE\nocrd-tesserocr-recognize -I OCR-D-SEG-LINE -O OCR-D-OCR-TESS-WORD -p '{ \"textequiv_level\" : \"word\", \"model\" : \"Fraktur\" }'\nocrd-tesserocr-recognize -I OCR-D-SEG-LINE -O OCR-D-OCR-TESS-GLYPH -p '{ \"textequiv_level\" : \"glyph\", \"model\" : \"deu-frak\" }'\n# get confidences and perplexity:\nocrd-keraslm-rate -I OCR-D-OCR-TESS-WORD -O OCR-D-OCR-LM-WORD -p '{ \"model_file\": \"model_dta_64_4_256.h5\", \"textequiv_level\": \"word\", \"alternative_decoding\": false }'\n# also get best path:\nocrd-keraslm-rate -I OCR-D-OCR-TESS-GLYPH -O OCR-D-OCR-LM-GLYPH -p '{ \"model_file\": \"model_dta_64_4_256.h5\", \"textequiv_level\": \"glyph\", \"alternative_decoding\": true, \"beam_width\": 10 }'\n```\n\n## Testing\n\n```shell\nmake deps-test test\n```\nWhich is the equivalent of:\n```shell\npip install -r requirements_test.txt\ntest -e test/assets || test/prepare_gt.bash test/assets\ntest -f model_dta_test.h5 || keraslm-rate train -m model_dta_test.h5 test/assets/*.txt\nkeraslm-rate test -m model_dta_test.h5 test/assets/*.txt\npython -m pytest test $(PYTEST_ARGS)\n```\n\nSet `PYTEST_ARGS=\"-s --verbose\"` to see log output (`-s`) and individual test results (`--verbose`).\n",
-            "ocrd-tool.json": "{\n  \"git_url\": \"https://github.com/OCR-D/ocrd_keraslm\",\n  \"version\": \"0.3.1\",\n  \"tools\": {\n    \"ocrd-keraslm-rate\": {\n      \"executable\": \"ocrd-keraslm-rate\",\n      \"categories\": [\n        \"Text recognition and optimization\"\n      ],\n      \"steps\": [\n        \"recognition/text-recognition\"\n      ],\n      \"description\": \"Rate elements of the text with a character-level LSTM language model in Keras\",\n      \"input_file_grp\": [\n        \"OCR-D-OCR-TESS\",\n        \"OCR-D-OCR-KRAK\",\n        \"OCR-D-OCR-OCRO\",\n        \"OCR-D-OCR-CALA\",\n        \"OCR-D-OCR-ANY\",\n        \"OCR-D-COR-CIS\",\n        \"OCR-D-COR-ASV\"\n      ],\n      \"output_file_grp\": [\n        \"OCR-D-COR-LM\"\n      ],\n      \"parameters\": {\n        \"model_file\": {\n          \"type\": \"string\",\n          \"format\": \"uri\",\n          \"content-type\": \"application/x-hdf;subtype=bag\",\n          \"description\": \"path of h5py weight/config file for model trained with keraslm\",\n          \"required\": true,\n          \"cacheable\": true\n        },\n        \"textequiv_level\": {\n          \"type\": \"string\",\n          \"enum\": [\"region\", \"line\", \"word\", \"glyph\"],\n          \"default\": \"glyph\",\n          \"description\": \"PAGE XML hierarchy level to evaluate TextEquiv sequences on\"\n        },\n        \"alternative_decoding\": {\n          \"type\": \"boolean\",\n          \"description\": \"whether to process all TextEquiv alternatives, finding the best path via beam search, and delete each non-best alternative\",\n          \"default\": true\n        },\n        \"beam_width\": {\n          \"type\": \"number\",\n          \"format\": \"integer\",\n          \"description\": \"maximum number of best partial paths to consider during search with alternative_decoding\",\n          \"default\": 10\n        },\n        \"lm_weight\": {\n          \"type\": \"number\",\n          \"format\": \"float\",\n          \"description\": \"share of the LM scores over the input confidences\",\n          \"default\": 0.5\n        }\n      }\n    }\n  }\n}\n",
-            "setup.py": "# -*- coding: utf-8 -*-\n\"\"\"\nInstalls:\n    - keraslm-rate\n    - ocrd-keraslm-rate\n\"\"\"\nimport codecs\n\nfrom setuptools import setup, find_packages\n\nwith codecs.open('README.md', encoding='utf-8') as f:\n    README = f.read()\n\nsetup(\n    name='ocrd_keraslm',\n    version='0.3.2',\n    description='character-level language modelling in Keras',\n    long_description=README,\n    long_description_content_type='text/markdown',\n    author='Robert Sachunsky, Konstantin Baierer, Kay-Michael W\u00fcrzner',\n    author_email='sachunsky@informatik.uni-leipzig.de, unixprog@gmail.com, wuerzner@gmail.com',\n    url='https://github.com/OCR-D/ocrd_keraslm',\n    license='Apache License 2.0',\n    packages=find_packages(exclude=('tests', 'docs')),\n    install_requires=open('requirements.txt').read().split('\\n'),\n    extras_require={\n        'plotting': [\n            'sklearn',\n            'matplotlib',\n            ]\n    },\n    package_data={\n        '': ['*.json', '*.yml', '*.yaml'],\n    },\n    entry_points={\n        'console_scripts': [\n            'keraslm-rate=ocrd_keraslm.scripts.run:cli',\n            'ocrd-keraslm-rate=ocrd_keraslm.wrapper.cli:ocrd_keraslm_rate',\n        ]\n    },\n)\n"
-        },
-        "git": {
-            "last_commit": "Mon Nov 18 22:56:24 2019 +0100",
-            "latest_tag": "0.3.1",
-            "number_of_commits": "85",
-            "url": "https://github.com/OCR-D/ocrd_keraslm.git"
-        },
-        "name": "ocrd_keraslm",
-        "ocrd_tool": {
-            "git_url": "https://github.com/OCR-D/ocrd_keraslm",
-            "tools": {
-                "ocrd-keraslm-rate": {
-                    "categories": [
-                        "Text recognition and optimization"
-                    ],
-                    "description": "Rate elements of the text with a character-level LSTM language model in Keras",
-                    "executable": "ocrd-keraslm-rate",
-                    "input_file_grp": [
-                        "OCR-D-OCR-TESS",
-                        "OCR-D-OCR-KRAK",
-                        "OCR-D-OCR-OCRO",
-                        "OCR-D-OCR-CALA",
-                        "OCR-D-OCR-ANY",
-                        "OCR-D-COR-CIS",
-                        "OCR-D-COR-ASV"
-                    ],
-                    "output_file_grp": [
-                        "OCR-D-COR-LM"
-                    ],
-                    "parameters": {
-                        "alternative_decoding": {
-                            "default": true,
-                            "description": "whether to process all TextEquiv alternatives, finding the best path via beam search, and delete each non-best alternative",
-                            "type": "boolean"
-                        },
-                        "beam_width": {
-                            "default": 10,
-                            "description": "maximum number of best partial paths to consider during search with alternative_decoding",
-                            "format": "integer",
-                            "type": "number"
-                        },
-                        "lm_weight": {
-                            "default": 0.5,
-                            "description": "share of the LM scores over the input confidences",
-                            "format": "float",
-                            "type": "number"
-                        },
-                        "model_file": {
-                            "cacheable": true,
-                            "content-type": "application/x-hdf;subtype=bag",
-                            "description": "path of h5py weight/config file for model trained with keraslm",
-                            "format": "uri",
-                            "required": true,
-                            "type": "string"
-                        },
-                        "textequiv_level": {
-                            "default": "glyph",
-                            "description": "PAGE XML hierarchy level to evaluate TextEquiv sequences on",
-                            "enum": [
-                                "region",
-                                "line",
-                                "word",
-                                "glyph"
-                            ],
-                            "type": "string"
-                        }
-                    },
-                    "steps": [
-                        "recognition/text-recognition"
-                    ]
-                }
-            },
-            "version": "0.3.1"
-        },
-        "ocrd_tool_validate": "<report valid=\"true\">\n</report>",
-        "official": false,
-        "org_plus_name": "OCR-D/ocrd_keraslm",
-        "python": {
-            "author": "Robert Sachunsky, Konstantin Baierer, Kay-Michael W\u00fcrzner",
-            "author-email": "sachunsky@informatik.uni-leipzig.de, unixprog@gmail.com, wuerzner@gmail.com",
-            "name": "ocrd_keraslm",
-            "pypi": {
-                "info": {
-                    "author": "Robert Sachunsky, Konstantin Baierer, Kay-Michael W\u00fcrzner",
-                    "author_email": "sachunsky@informatik.uni-leipzig.de, unixprog@gmail.com, wuerzner@gmail.com",
-                    "bugtrack_url": null,
-                    "classifiers": [],
-                    "description": "# ocrd_keraslm\n    character-level language modelling using Keras\n\n\n## Introduction\n\nThis is a tool for statistical _language modelling_ (predicting text from context) with recurrent neural networks. It models probabilities not on the word level but the _character level_ so as to allow open vocabulary processing (avoiding morphology, historic orthography and word segmentation problems). It manages a vocabulary of mapped characters, which can be easily extended by training on more text. Above that, unmapped characters are treated with underspecification.\n\nIn addition to character sequences, (meta-data) context variables can be configured as extra input. \n\n### Architecture\n\nThe model consists of:\n\n0. an input layer: characters are represented as indexes from the vocabulary mapping, in windows of a number `length` of characters,\n1. a character embedding layer: window sequences are converted into dense vectors by looking up the indexes in an embedding weight matrix,\n2. a context embedding layer: context variables are converted into dense vectors by looking up the indexes in an embedding weight matrix, \n3. character and context vector sequences are concatenated,\n4. a number `depth` of hidden layers: each with a number `width` of hidden recurrent units of _LSTM cells_ (Long Short-term Memory) connected on top of each other,\n5. an output layer derived from the transposed character embedding matrix (weight tying): hidden activations are projected linearly to vectors of dimensionality equal to the character vocabulary size, then softmax is applied returning a probability for each possible value of the next character, respectively.\n\n![model graph depiction](model-graph.png \"graph with 1 context variable\")\n\nThe model is trained by feeding windows of text in index representation to the input layer, calculating output and comparing it to the same text shifted backward by 1 character, and represented as unit vectors (\"one-hot coding\") as target. The loss is calculated as the (unweighted) cross-entropy between target and output. Backpropagation yields error gradients for each layer, which is used to iteratively update the weights (stochastic gradient descent).\n\nThis is implemented in [Keras](https://keras.io) with [Tensorflow](https://www.tensorflow.org/) as backend. It automatically uses a fast CUDA-optimized LSTM implementation (Nividia GPU and Tensorflow installation with GPU support, see below), both in learning and in prediction phase, if available.\n\n\n### Modes of operation\n\nNotably, this model (by default) runs _statefully_, i.e. by implicitly passing hidden state from one window (batch of samples) to the next. That way, the context available for predictions can be arbitrarily long (above `length`, e.g. the complete document up to that point), or short (below `length`, e.g. at the start of a text). (However, this is a passive perspective above `length`, because errors are never back-propagated any further in time during gradient-descent training.) This is favourable to stateless mode because all characters can be output in parallel, and no partial windows need to be presented during training (which slows down).\n\nBesides stateful mode, the model can also be run _incrementally_, i.e. by explicitly passing hidden state from the caller. That way, multiple alternative hypotheses can be processed together. This is used for generation (sampling from the model) and alternative decoding (finding the best path through a sequence of alternatives).\n\n### Context conditioning\n\nEvery text has meta-data like time, author, text type, genre, production features (e.g. print vs typewriter vs digital born rich text, OCR version), language, structural element (e.g. title vs heading vs paragraph vs footer vs marginalia), font family (e.g. Antiqua vs Fraktura) and font shape (e.g. bold vs letter-spaced vs italic vs normal) etc. \n\nThis information (however noisy) can be very useful to facilitate stochastic modelling, since language has an extreme diversity and complexity. To that end, models can be conditioned on extra inputs here, termed _context variables_. The model learns to represent these high-dimensional discrete values as low-dimensional continuous vectors (embeddings), also entering the recurrent hidden layers (as a form of simple additive adaptation).\n\n### Underspecification\n\nIndex zero is reserved for unmapped characters (unseen contexts). During training, its embedding vector is regularised to occupy a center position of all mapped characters (all other contexts), and the hidden layers get to see it every now and then by random degradation. At runtime, therefore, some unknown character (some unknown context) represented as zero does not disturb follow-up predictions too much.\n\n\n## Installation\n\nRequired Ubuntu packages:\n\n* Python (``python`` or ``python3``)\n* pip (``python-pip`` or ``python3-pip``)\n* virtualenv (``python-virtualenv`` or ``python3-virtualenv``)\n\nCreate and activate a virtualenv as usual.\n\nIf you need a custom version of ``keras`` or ``tensorflow`` (like [GPU support](https://www.tensorflow.org/install/install_sources)), install them via `pip` now.\n\nTo install Python dependencies and this module, then do:\n```shell\nmake deps install\n```\nWhich is the equivalent of:\n```shell\npip install -r requirements.txt\npip install -e .\n```\n\nUseful environment variables are:\n- ``TF_CPP_MIN_LOG_LEVEL`` (set to `1` to suppress most of Tensorflow's messages\n- ``CUDA_VISIBLE_DEVICES`` (set empty to force CPU even in a GPU installation)\n\n\n## Usage\n\nThis packages has two user interfaces:\n\n### command line interface `keraslm-rate`\n\nTo be used with string arguments and plain-text files.\n\n```shell\nUsage: keraslm-rate [OPTIONS] COMMAND [ARGS]...\n\nOptions:\n  --help  Show this message and exit.\n\nCommands:\n  train                           train a language model\n  test                            get overall perplexity from language model\n  apply                           get individual probabilities from language model\n  generate                        sample characters from language model\n  print-charset                   Print the mapped characters\n  prune-charset                   Delete one character from mapping\n  plot-char-embeddings-similarity\n                                  Paint a heat map of character embeddings\n  plot-context-embeddings-similarity\n                                  Paint a heat map of context embeddings\n  plot-context-embeddings-projection\n                                  Paint a 2-d PCA projection of context embeddings\n```\n\nExamples:\n```shell\nkeraslm-rate train --width 64 --depth 4 --length 256 --model model_dta_64_4_256.h5 dta_komplett_2017-09-01/txt/*.tcf.txt\nkeraslm-rate generate -m model_dta_64_4_256.h5 --number 6 \"f\u00fcr die Wi\u017f\u017fen\"\nkeraslm-rate apply -m model_dta_64_4_256.h5 \"so sch\u00e4dlich ist es Borkickheile zu pflanzen\"\nkeraslm-rate test -m model_dta_64_4_256.h5 dta_komplett_2017-09-01/txt/grimm_*.tcf.txt\n```\n\n### [OCR-D processor](https://github.com/OCR-D/core) interface `ocrd-keraslm-rate`\n\nTo be used with [PageXML](https://www.primaresearch.org/tools/PAGELibraries) documents in an [OCR-D](https://github.com/OCR-D/spec/) annotation workflow. Input could be anything with a textual annotation (`TextEquiv` on the given `textequiv_level`). The LM rater could be used for both quality control (without alternative decoding, using only each first index `TextEquiv`) and part of post-correction (with `alternative_decoding=True`, finding the best path among `TextEquiv` indexes).\n\n```json\n  \"tools\": {\n    \"ocrd-keraslm-rate\": {\n      \"executable\": \"ocrd-keraslm-rate\",\n      \"categories\": [\n        \"Text recognition and optimization\"\n      ],\n      \"steps\": [\n        \"recognition/text-recognition\"\n      ],\n      \"description\": \"Rate elements of the text with a character-level LSTM language model in Keras\",\n      \"input_file_grp\": [\n        \"OCR-D-OCR-TESS\",\n        \"OCR-D-OCR-KRAK\",\n        \"OCR-D-OCR-OCRO\",\n        \"OCR-D-OCR-CALA\",\n        \"OCR-D-OCR-ANY\",\n        \"OCR-D-COR-CIS\",\n        \"OCR-D-COR-ASV\"\n      ],\n      \"output_file_grp\": [\n        \"OCR-D-COR-LM\"\n      ],\n      \"parameters\": {\n        \"model_file\": {\n          \"type\": \"string\",\n          \"format\": \"uri\",\n          \"content-type\": \"application/x-hdf;subtype=bag\",\n          \"description\": \"path of h5py weight/config file for model trained with keraslm\",\n          \"required\": true,\n          \"cacheable\": true\n        },\n        \"textequiv_level\": {\n          \"type\": \"string\",\n          \"enum\": [\"region\", \"line\", \"word\", \"glyph\"],\n          \"default\": \"glyph\",\n          \"description\": \"PAGE XML hierarchy level to evaluate TextEquiv sequences on\"\n        },\n        \"alternative_decoding\": {\n          \"type\": \"boolean\",\n          \"description\": \"whether to process all TextEquiv alternatives, finding the best path via beam search, and delete each non-best alternative\",\n          \"default\": true\n        },\n        \"beam_width\": {\n          \"type\": \"number\",\n          \"format\": \"integer\",\n          \"description\": \"maximum number of best partial paths to consider during search with alternative_decoding\",\n          \"default\": 100\n        }\n      }\n    }\n  }\n```\n\nExamples:\n```shell\nmake deps-test # installs ocrd_tesserocr\nmake test/assets # downloads GT, imports PageXML, builds workspaces\nocrd workspace clone -a test/assets/kant_aufklaerung_1784/mets.xml ws1\ncd ws1\nocrd-tesserocr-segment-region -I OCR-D-IMG -O OCR-D-SEG-BLOCK\nocrd-tesserocr-segment-line -I OCR-D-SEG-BLOCK -O OCR-D-SEG-LINE\nocrd-tesserocr-recognize -I OCR-D-SEG-LINE -O OCR-D-OCR-TESS-WORD -p '{ \"textequiv_level\" : \"word\", \"model\" : \"Fraktur\" }'\nocrd-tesserocr-recognize -I OCR-D-SEG-LINE -O OCR-D-OCR-TESS-GLYPH -p '{ \"textequiv_level\" : \"glyph\", \"model\" : \"deu-frak\" }'\n# get confidences and perplexity:\nocrd-keraslm-rate -I OCR-D-OCR-TESS-WORD -O OCR-D-OCR-LM-WORD -p '{ \"model_file\": \"model_dta_64_4_256.h5\", \"textequiv_level\": \"word\", \"alternative_decoding\": false }'\n# also get best path:\nocrd-keraslm-rate -I OCR-D-OCR-TESS-GLYPH -O OCR-D-OCR-LM-GLYPH -p '{ \"model_file\": \"model_dta_64_4_256.h5\", \"textequiv_level\": \"glyph\", \"alternative_decoding\": true, \"beam_width\": 10 }'\n```\n\n## Testing\n\n```shell\nmake deps-test test\n```\nWhich is the equivalent of:\n```shell\npip install -r requirements_test.txt\ntest -e test/assets || test/prepare_gt.bash test/assets\ntest -f model_dta_test.h5 || keraslm-rate train -m model_dta_test.h5 test/assets/*.txt\nkeraslm-rate test -m model_dta_test.h5 test/assets/*.txt\npython -m pytest test $(PYTEST_ARGS)\n```\n\nSet `PYTEST_ARGS=\"-s --verbose\"` to see log output (`-s`) and individual test results (`--verbose`).\n\n\n",
-                    "description_content_type": "text/markdown",
-                    "docs_url": null,
-                    "download_url": "",
-                    "downloads": {
-                        "last_day": -1,
-                        "last_month": -1,
-                        "last_week": -1
-                    },
-                    "home_page": "https://github.com/OCR-D/ocrd_keraslm",
-                    "keywords": "",
-                    "license": "Apache License 2.0",
-                    "maintainer": "",
-                    "maintainer_email": "",
-                    "name": "ocrd-keraslm",
-                    "package_url": "https://pypi.org/project/ocrd-keraslm/",
-                    "platform": "",
-                    "project_url": "https://pypi.org/project/ocrd-keraslm/",
-                    "project_urls": {
-                        "Homepage": "https://github.com/OCR-D/ocrd_keraslm"
-                    },
-                    "release_url": "https://pypi.org/project/ocrd-keraslm/0.3.2/",
-                    "requires_dist": [
-                        "ocrd (>=2.0)",
-                        "click",
-                        "keras (>=2.2.4)",
-                        "numpy",
-                        "tensorflow (<2.0)",
-                        "h5py",
-                        "networkx (>=2.0)",
-                        "sklearn; extra == 'plotting'",
-                        "matplotlib; extra == 'plotting'"
-                    ],
-                    "requires_python": "",
-                    "summary": "character-level language modelling in Keras",
-                    "version": "0.3.2"
-                },
-                "last_serial": 6158523,
-                "releases": {
-                    "0.3.1": [
-                        {
-                            "comment_text": "",
-                            "digests": {
-                                "md5": "0da1139d7b62ee27b9bb3af2b4e38929",
-                                "sha256": "f3ec82a615434e90028722586c6123e4a1887e36b0a57f06566a291892280e88"
-                            },
-                            "downloads": -1,
-                            "filename": "ocrd_keraslm-0.3.1-py2.py3-none-any.whl",
-                            "has_sig": false,
-                            "md5_digest": "0da1139d7b62ee27b9bb3af2b4e38929",
-                            "packagetype": "bdist_wheel",
-                            "python_version": "py2.py3",
-                            "requires_python": null,
-                            "size": 34192,
-                            "upload_time": "2019-10-25T22:53:09",
-                            "upload_time_iso_8601": "2019-10-25T22:53:09.567407Z",
-                            "url": "https://files.pythonhosted.org/packages/eb/ba/8f5f0f1801ea99221c772357e2c79d9935a88e89873924e557e24aea6c33/ocrd_keraslm-0.3.1-py2.py3-none-any.whl"
-                        },
-                        {
-                            "comment_text": "",
-                            "digests": {
-                                "md5": "e8d597a8dbf64e45dcbf19196e73bbf8",
-                                "sha256": "665a9bf1d7bc46f497d71638b2d33608062edd16ac11b9cff05be56eacda53c9"
-                            },
-                            "downloads": -1,
-                            "filename": "ocrd_keraslm-0.3.1.tar.gz",
-                            "has_sig": false,
-                            "md5_digest": "e8d597a8dbf64e45dcbf19196e73bbf8",
-                            "packagetype": "sdist",
-                            "python_version": "source",
-                            "requires_python": null,
-                            "size": 32287,
-                            "upload_time": "2019-10-25T22:53:12",
-                            "upload_time_iso_8601": "2019-10-25T22:53:12.437293Z",
-                            "url": "https://files.pythonhosted.org/packages/79/0e/744edc5497d706ac558b90d8d85b2e52ad5fb6b794c6f9cb44fc0aaa341a/ocrd_keraslm-0.3.1.tar.gz"
-                        }
-                    ],
-                    "0.3.2": [
-                        {
-                            "comment_text": "",
-                            "digests": {
-                                "md5": "9e8927b5ca560a990cb924c7a01e7280",
-                                "sha256": "45c4af95f531e3a2c9528e401d368dad10e4b8f9cdba9a67ef6f816afc682d3b"
-                            },
-                            "downloads": -1,
-                            "filename": "ocrd_keraslm-0.3.2-py3-none-any.whl",
-                            "has_sig": false,
-                            "md5_digest": "9e8927b5ca560a990cb924c7a01e7280",
-                            "packagetype": "bdist_wheel",
-                            "python_version": "py3",
-                            "requires_python": null,
-                            "size": 34190,
-                            "upload_time": "2019-11-18T22:03:01",
-                            "upload_time_iso_8601": "2019-11-18T22:03:01.036117Z",
-                            "url": "https://files.pythonhosted.org/packages/15/10/690a290322b84e6c4cba17dbff7e0fb570916810371b1b48020f75504d49/ocrd_keraslm-0.3.2-py3-none-any.whl"
-                        },
-                        {
-                            "comment_text": "",
-                            "digests": {
-                                "md5": "7eb11946732e6410d4ba18dad3fbaf20",
-                                "sha256": "ba56b149a68c9f351052e62cc247d4074514a66c5dee99e7ef6a78cca497e5e9"
-                            },
-                            "downloads": -1,
-                            "filename": "ocrd_keraslm-0.3.2.tar.gz",
-                            "has_sig": false,
-                            "md5_digest": "7eb11946732e6410d4ba18dad3fbaf20",
-                            "packagetype": "sdist",
-                            "python_version": "source",
-                            "requires_python": null,
-                            "size": 32294,
-                            "upload_time": "2019-11-18T22:03:06",
-                            "upload_time_iso_8601": "2019-11-18T22:03:06.384019Z",
-                            "url": "https://files.pythonhosted.org/packages/0e/75/b3875f685ba4d02c8cce12b86200e139617acde417fab40df2e462d85673/ocrd_keraslm-0.3.2.tar.gz"
-                        }
-                    ]
-                },
-                "urls": [
-                    {
-                        "comment_text": "",
-                        "digests": {
-                            "md5": "9e8927b5ca560a990cb924c7a01e7280",
-                            "sha256": "45c4af95f531e3a2c9528e401d368dad10e4b8f9cdba9a67ef6f816afc682d3b"
-                        },
-                        "downloads": -1,
-                        "filename": "ocrd_keraslm-0.3.2-py3-none-any.whl",
-                        "has_sig": false,
-                        "md5_digest": "9e8927b5ca560a990cb924c7a01e7280",
-                        "packagetype": "bdist_wheel",
-                        "python_version": "py3",
-                        "requires_python": null,
-                        "size": 34190,
-                        "upload_time": "2019-11-18T22:03:01",
-                        "upload_time_iso_8601": "2019-11-18T22:03:01.036117Z",
-                        "url": "https://files.pythonhosted.org/packages/15/10/690a290322b84e6c4cba17dbff7e0fb570916810371b1b48020f75504d49/ocrd_keraslm-0.3.2-py3-none-any.whl"
-                    },
-                    {
-                        "comment_text": "",
-                        "digests": {
-                            "md5": "7eb11946732e6410d4ba18dad3fbaf20",
-                            "sha256": "ba56b149a68c9f351052e62cc247d4074514a66c5dee99e7ef6a78cca497e5e9"
-                        },
-                        "downloads": -1,
-                        "filename": "ocrd_keraslm-0.3.2.tar.gz",
-                        "has_sig": false,
-                        "md5_digest": "7eb11946732e6410d4ba18dad3fbaf20",
-                        "packagetype": "sdist",
-                        "python_version": "source",
-                        "requires_python": null,
-                        "size": 32294,
-                        "upload_time": "2019-11-18T22:03:06",
-                        "upload_time_iso_8601": "2019-11-18T22:03:06.384019Z",
-                        "url": "https://files.pythonhosted.org/packages/0e/75/b3875f685ba4d02c8cce12b86200e139617acde417fab40df2e462d85673/ocrd_keraslm-0.3.2.tar.gz"
-                    }
-                ]
-            },
-            "url": "https://github.com/OCR-D/ocrd_keraslm"
-        },
-        "url": "https://github.com/OCR-D/ocrd_keraslm"
-    },
-    {
-        "compliant_cli": false,
-        "files": {
-            "Dockerfile": "FROM ocrd/core\nMAINTAINER OCR-D\nENV DEBIAN_FRONTEND noninteractive\nENV PYTHONIOENCODING utf8\nENV LC_ALL C.UTF-8\nENV LANG C.UTF-8\n\nWORKDIR /build-ocrd\nCOPY setup.py .\nCOPY requirements.txt .\nRUN apt-get update && \\\n    apt-get -y install --no-install-recommends \\\n    ca-certificates \\\n    make \\\n    git\nCOPY ocrd_kraken ./ocrd_kraken\nRUN pip3 install --upgrade pip\nRUN pip3 install .\n\nENTRYPOINT [\"/bin/sh\", \"-c\"]\n",
-            "README.md": "# ocrd_kraken\n\n> Wrapper for the kraken OCR engine\n\n[![image](https://travis-ci.org/OCR-D/ocrd_kraken.svg?branch=master)](https://travis-ci.org/OCR-D/ocrd_kraken)\n[![Docker Automated build](https://img.shields.io/docker/automated/ocrd/kraken.svg)](https://hub.docker.com/r/ocrd/kraken/tags/)\n[![image](https://circleci.com/gh/OCR-D/ocrd_kraken.svg?style=svg)](https://circleci.com/gh/OCR-D/ocrd_kraken)\n",
-            "ocrd-tool.json": "{\n  \"git_url\": \"https://github.com/OCR-D/ocrd_kraken\",\n  \"version\": \"0.0.2\",\n  \"tools\": {\n    \"ocrd-kraken-binarize\": {\n      \"executable\": \"ocrd-kraken-binarize\",\n      \"input_file_grp\": \"OCR-D-IMG\",\n      \"output_file_grp\": \"OCR-D-IMG-BIN\",\n      \"categories\": [\n        \"Image preprocessing\"\n      ],\n      \"steps\": [\n        \"preprocessing/optimization/binarization\"\n      ],\n      \"description\": \"Binarize images with kraken\",\n      \"parameters\": {\n        \"level-of-operation\": {\n          \"type\": \"string\",\n          \"default\": \"page\",\n          \"enum\": [\"page\", \"block\", \"line\"]\n        }\n      }\n    },\n    \"ocrd-kraken-segment\": {\n      \"executable\": \"ocrd-kraken-segment\",\n      \"categories\": [\n        \"Layout analysis\"\n      ],\n      \"steps\": [\n        \"layout/segmentation/region\"\n      ],\n      \"description\": \"Block segmentation with kraken\",\n      \"parameters\": {\n        \"text_direction\": {\n          \"type\": \"string\",\n          \"description\": \"Sets principal text direction\",\n          \"enum\": [\"horizontal-lr\", \"horizontal-rl\", \"vertical-lr\", \"vertical-rl\"],\n          \"default\": \"horizontal-lr\"\n        },\n        \"script_detect\": {\n          \"type\": \"boolean\",\n          \"description\": \"Enable script detection on segmenter output\",\n          \"default\": false\n        },\n        \"maxcolseps\": {\"type\": \"number\", \"format\": \"integer\", \"default\": 2},\n        \"scale\": {\"type\": \"number\", \"format\": \"float\", \"default\": 0},\n        \"black_colseps\": {\"type\": \"boolean\", \"default\": false},\n        \"white_colseps\": {\"type\": \"boolean\", \"default\": false}\n      }\n    },\n    \"ocrd-kraken-ocr\": {\n      \"executable\": \"ocrd-kraken-ocr\",\n      \"categories\": [\"Text recognition and optimization\"],\n      \"steps\": [\n        \"recognition/text-recognition\"\n      ],\n      \"description\": \"OCR with kraken\",\n      \"parameters\": {\n        \"lines-json\": {\n          \"type\": \"string\",\n          \"format\": \"url\",\n          \"required\": \"true\",\n          \"description\": \"URL to line segmentation in JSON\"\n        }\n      }\n    }\n\n  }\n}\n",
-            "setup.py": "# -*- coding: utf-8 -*-\n\"\"\"\nInstalls two binaries:\n\n    - ocrd-kraken-binarize\n    - ocrd-kraken-segment\n\"\"\"\nimport codecs\n\nfrom setuptools import setup, find_packages\n\nsetup(\n    name='ocrd_kraken',\n    version='0.1.1',\n    description='kraken bindings',\n    long_description=codecs.open('README.md', encoding='utf-8').read(),\n    long_description_content_type='text/markdown',\n    author='Konstantin Baierer, Kay-Michael W\u00fcrzner',\n    author_email='unixprog@gmail.com, wuerzner@gmail.com',\n    url='https://github.com/OCR-D/ocrd_kraken',\n    license='Apache License 2.0',\n    packages=find_packages(exclude=('tests', 'docs')),\n    install_requires=[\n        'ocrd >= 1.0.0a4',\n        'kraken == 0.9.16',\n        'click >= 7',\n    ],\n    package_data={\n        '': ['*.json', '*.yml', '*.yaml'],\n    },\n    entry_points={\n        'console_scripts': [\n            'ocrd-kraken-binarize=ocrd_kraken.cli:ocrd_kraken_binarize',\n            'ocrd-kraken-segment=ocrd_kraken.cli:ocrd_kraken_segment',\n        ]\n    },\n)\n"
-        },
-        "git": {
-            "last_commit": "Mon Oct 21 20:52:26 2019 +0200",
-            "latest_tag": "v0.1.1",
-            "number_of_commits": "85",
-            "url": "https://github.com/OCR-D/ocrd_kraken.git"
-        },
-        "name": "ocrd_kraken",
-        "ocrd_tool": {
-            "git_url": "https://github.com/OCR-D/ocrd_kraken",
-            "tools": {
-                "ocrd-kraken-binarize": {
-                    "categories": [
-                        "Image preprocessing"
-                    ],
-                    "description": "Binarize images with kraken",
-                    "executable": "ocrd-kraken-binarize",
-                    "input_file_grp": "OCR-D-IMG",
-                    "output_file_grp": "OCR-D-IMG-BIN",
-                    "parameters": {
-                        "level-of-operation": {
-                            "default": "page",
-                            "enum": [
-                                "page",
-                                "block",
-                                "line"
-                            ],
-                            "type": "string"
-                        }
-                    },
-                    "steps": [
-                        "preprocessing/optimization/binarization"
-                    ]
-                },
-                "ocrd-kraken-ocr": {
-                    "categories": [
-                        "Text recognition and optimization"
-                    ],
-                    "description": "OCR with kraken",
-                    "executable": "ocrd-kraken-ocr",
-                    "parameters": {
-                        "lines-json": {
-                            "description": "URL to line segmentation in JSON",
-                            "format": "url",
-                            "required": "true",
-                            "type": "string"
-                        }
-                    },
-                    "steps": [
-                        "recognition/text-recognition"
-                    ]
-                },
-                "ocrd-kraken-segment": {
-                    "categories": [
-                        "Layout analysis"
-                    ],
-                    "description": "Block segmentation with kraken",
-                    "executable": "ocrd-kraken-segment",
-                    "parameters": {
-                        "black_colseps": {
-                            "default": false,
-                            "type": "boolean"
-                        },
-                        "maxcolseps": {
-                            "default": 2,
-                            "format": "integer",
-                            "type": "number"
-                        },
-                        "scale": {
-                            "default": 0,
-                            "format": "float",
-                            "type": "number"
-                        },
-                        "script_detect": {
-                            "default": false,
-                            "description": "Enable script detection on segmenter output",
-                            "type": "boolean"
-                        },
-                        "text_direction": {
-                            "default": "horizontal-lr",
-                            "description": "Sets principal text direction",
-                            "enum": [
-                                "horizontal-lr",
-                                "horizontal-rl",
-                                "vertical-lr",
-                                "vertical-rl"
-                            ],
-                            "type": "string"
-                        },
-                        "white_colseps": {
-                            "default": false,
-                            "type": "boolean"
-                        }
-                    },
-                    "steps": [
-                        "layout/segmentation/region"
-                    ]
-                }
-            },
-            "version": "0.0.2"
-        },
-        "ocrd_tool_validate": "<report valid=\"false\">\n  <error>[tools.ocrd-kraken-binarize.input_file_grp] 'OCR-D-IMG' is not of type 'array'</error>\n  <error>[tools.ocrd-kraken-binarize.output_file_grp] 'OCR-D-IMG-BIN' is not of type 'array'</error>\n  <error>[tools.ocrd-kraken-binarize.parameters.level-of-operation] 'description' is a required property</error>\n  <error>[tools.ocrd-kraken-segment] 'input_file_grp' is a required property</error>\n  <error>[tools.ocrd-kraken-segment.parameters.maxcolseps] 'description' is a required property</error>\n  <error>[tools.ocrd-kraken-segment.parameters.scale] 'description' is a required property</error>\n  <error>[tools.ocrd-kraken-segment.parameters.black_colseps] 'description' is a required property</error>\n  <error>[tools.ocrd-kraken-segment.parameters.white_colseps] 'description' is a required property</error>\n  <error>[tools.ocrd-kraken-ocr] 'input_file_grp' is a required property</error>\n  <error>[tools.ocrd-kraken-ocr.parameters.lines-json.required] 'true' is not of type 'boolean'</error>\n</report>",
-        "official": false,
-        "org_plus_name": "OCR-D/ocrd_kraken",
-        "python": {
-            "author": "Konstantin Baierer, Kay-Michael W\u00fcrzner",
-            "author-email": "unixprog@gmail.com, wuerzner@gmail.com",
-            "name": "ocrd_kraken",
-            "pypi": {
-                "info": {
-                    "author": "Konstantin Baierer, Kay-Michael W\u00fcrzner",
-                    "author_email": "unixprog@gmail.com, wuerzner@gmail.com",
-                    "bugtrack_url": null,
-                    "classifiers": [],
-                    "description": "# ocrd_kraken\n\n> Wrapper for the kraken OCR engine\n\n[![image](https://travis-ci.org/OCR-D/ocrd_kraken.svg?branch=master)](https://travis-ci.org/OCR-D/ocrd_kraken)\n[![Docker Automated build](https://img.shields.io/docker/automated/ocrd/kraken.svg)](https://hub.docker.com/r/ocrd/kraken/tags/)\n[![image](https://circleci.com/gh/OCR-D/ocrd_kraken.svg?style=svg)](https://circleci.com/gh/OCR-D/ocrd_kraken)\n\n\n",
-                    "description_content_type": "text/markdown",
-                    "docs_url": null,
-                    "download_url": "",
-                    "downloads": {
-                        "last_day": -1,
-                        "last_month": -1,
-                        "last_week": -1
-                    },
-                    "home_page": "https://github.com/OCR-D/ocrd_kraken",
-                    "keywords": "",
-                    "license": "Apache License 2.0",
-                    "maintainer": "",
-                    "maintainer_email": "",
-                    "name": "ocrd-kraken",
-                    "package_url": "https://pypi.org/project/ocrd-kraken/",
-                    "platform": "",
-                    "project_url": "https://pypi.org/project/ocrd-kraken/",
-                    "project_urls": {
-                        "Homepage": "https://github.com/OCR-D/ocrd_kraken"
-                    },
-                    "release_url": "https://pypi.org/project/ocrd-kraken/0.1.1/",
-                    "requires_dist": [
-                        "ocrd (>=1.0.0a4)",
-                        "kraken (==0.9.16)",
-                        "click (>=7)"
-                    ],
-                    "requires_python": "",
-                    "summary": "kraken bindings",
-                    "version": "0.1.1"
-                },
-                "last_serial": 6008613,
-                "releases": {
-                    "0.0.2": [
-                        {
-                            "comment_text": "",
-                            "digests": {
-                                "md5": "b065398af77f4804763665f50503e141",
-                                "sha256": "a0de30df5e8b7d9fe1ed3343a8fa3a413620828a2cdf46bcab8d77e864869d53"
-                            },
-                            "downloads": -1,
-                            "filename": "ocrd_kraken-0.0.2-py2-none-any.whl",
-                            "has_sig": false,
-                            "md5_digest": "b065398af77f4804763665f50503e141",
-                            "packagetype": "bdist_wheel",
-                            "python_version": "py2",
-                            "requires_python": null,
-                            "size": 10691,
-                            "upload_time": "2019-01-04T13:42:30",
-                            "upload_time_iso_8601": "2019-01-04T13:42:30.728403Z",
-                            "url": "https://files.pythonhosted.org/packages/b4/52/aea22b8cfab48546e10118e0eb7e70dc108fe633af3e07194dfd04e00fb2/ocrd_kraken-0.0.2-py2-none-any.whl"
-                        },
-                        {
-                            "comment_text": "",
-                            "digests": {
-                                "md5": "67b290066697cbaddb71a4ff92eeb9f5",
-                                "sha256": "805fb1aa976f9ee1275e347b1fee2413af3ea7cc8972af84464c6f4253ebdd6e"
-                            },
-                            "downloads": -1,
-                            "filename": "ocrd_kraken-0.0.2-py3-none-any.whl",
-                            "has_sig": false,
-                            "md5_digest": "67b290066697cbaddb71a4ff92eeb9f5",
-                            "packagetype": "bdist_wheel",
-                            "python_version": "py3",
-                            "requires_python": null,
-                            "size": 9634,
-                            "upload_time": "2019-01-04T13:42:32",
-                            "upload_time_iso_8601": "2019-01-04T13:42:32.808242Z",
-                            "url": "https://files.pythonhosted.org/packages/06/00/a9843c2c73a086c1f66e28d6b0d64053ecd66995daddfb5c0f28e566c9f7/ocrd_kraken-0.0.2-py3-none-any.whl"
-                        },
-                        {
-                            "comment_text": "",
-                            "digests": {
-                                "md5": "351d10f31667ec43d9a117b9dd19e861",
-                                "sha256": "a6464f3559acfb36947687d4e2e70cd7cb7e655d70234696e2e7c1b07f99bab8"
-                            },
-                            "downloads": -1,
-                            "filename": "ocrd_kraken-0.0.2.tar.gz",
-                            "has_sig": false,
-                            "md5_digest": "351d10f31667ec43d9a117b9dd19e861",
-                            "packagetype": "sdist",
-                            "python_version": "source",
-                            "requires_python": null,
-                            "size": 5003,
-                            "upload_time": "2019-01-04T13:42:34",
-                            "upload_time_iso_8601": "2019-01-04T13:42:34.101144Z",
-                            "url": "https://files.pythonhosted.org/packages/32/bb/9e4299ec1d5f494e7bf14de447f361455f36ea0255181871ee937aae0528/ocrd_kraken-0.0.2.tar.gz"
-                        }
-                    ],
-                    "0.1.0": [
-                        {
-                            "comment_text": "",
-                            "digests": {
-                                "md5": "67161c2e535ac409369978252333eb35",
-                                "sha256": "4e6b7e9d1930de1f0bd57dfd63f9418c4345842e7cc8fdd9b147e7d378b8fe51"
-                            },
-                            "downloads": -1,
-                            "filename": "ocrd_kraken-0.1.0-py3-none-any.whl",
-                            "has_sig": false,
-                            "md5_digest": "67161c2e535ac409369978252333eb35",
-                            "packagetype": "bdist_wheel",
-                            "python_version": "py3",
-                            "requires_python": null,
-                            "size": 10442,
-                            "upload_time": "2019-02-28T09:37:43",
-                            "upload_time_iso_8601": "2019-02-28T09:37:43.225080Z",
-                            "url": "https://files.pythonhosted.org/packages/d6/4b/d7027ac27e1228cf9aa3ecd94e412b371b2a63ab2c93c1b77ad5414380c1/ocrd_kraken-0.1.0-py3-none-any.whl"
-                        },
-                        {
-                            "comment_text": "",
-                            "digests": {
-                                "md5": "f1ec0ad2a8e1d655410e4321c7dfae60",
-                                "sha256": "9bec610685e29d29e0614f2dfc300d201fbbff3f728140536031f14e4e65584c"
-                            },
-                            "downloads": -1,
-                            "filename": "ocrd_kraken-0.1.0.tar.gz",
-                            "has_sig": false,
-                            "md5_digest": "f1ec0ad2a8e1d655410e4321c7dfae60",
-                            "packagetype": "sdist",
-                            "python_version": "source",
-                            "requires_python": null,
-                            "size": 4121,
-                            "upload_time": "2019-02-28T09:37:44",
-                            "upload_time_iso_8601": "2019-02-28T09:37:44.655031Z",
-                            "url": "https://files.pythonhosted.org/packages/cb/35/7be3dd70b97e276ce2300dddf165bfc21c0e469c2626d7d531a07b8bf0fb/ocrd_kraken-0.1.0.tar.gz"
-                        }
-                    ],
-                    "0.1.1": [
-                        {
-                            "comment_text": "",
-                            "digests": {
-                                "md5": "d6cc67071fe7db22ee35c58e6df6cb7c",
-                                "sha256": "4d6a4a969ad43711cd22febfe2cc63c966b48b033537f87b433ea8254bb86a1a"
-                            },
-                            "downloads": -1,
-                            "filename": "ocrd_kraken-0.1.1-py3-none-any.whl",
-                            "has_sig": false,
-                            "md5_digest": "d6cc67071fe7db22ee35c58e6df6cb7c",
-                            "packagetype": "bdist_wheel",
-                            "python_version": "py3",
-                            "requires_python": null,
-                            "size": 10595,
-                            "upload_time": "2019-10-21T18:20:21",
-                            "upload_time_iso_8601": "2019-10-21T18:20:21.215930Z",
-                            "url": "https://files.pythonhosted.org/packages/20/af/393dbc0767398429e08adb761289656516ab18d4f65d8e5c81791c6cafdc/ocrd_kraken-0.1.1-py3-none-any.whl"
-                        },
-                        {
-                            "comment_text": "",
-                            "digests": {
-                                "md5": "22813065ca842796d8d53a2ae148b7c9",
-                                "sha256": "67cad5aa4ce098262051f84c2f98a5a03be4b62e8bc4c2af1654f00b41caae25"
-                            },
-                            "downloads": -1,
-                            "filename": "ocrd_kraken-0.1.1.tar.gz",
-                            "has_sig": false,
-                            "md5_digest": "22813065ca842796d8d53a2ae148b7c9",
-                            "packagetype": "sdist",
-                            "python_version": "source",
-                            "requires_python": null,
-                            "size": 4209,
-                            "upload_time": "2019-10-21T18:20:22",
-                            "upload_time_iso_8601": "2019-10-21T18:20:22.550782Z",
-                            "url": "https://files.pythonhosted.org/packages/bb/18/1c305cd6dc5b38880a3240bdca9f3ac53c2780a292b2a02812075ddddff7/ocrd_kraken-0.1.1.tar.gz"
-                        }
-                    ]
-                },
-                "urls": [
-                    {
-                        "comment_text": "",
-                        "digests": {
-                            "md5": "d6cc67071fe7db22ee35c58e6df6cb7c",
-                            "sha256": "4d6a4a969ad43711cd22febfe2cc63c966b48b033537f87b433ea8254bb86a1a"
-                        },
-                        "downloads": -1,
-                        "filename": "ocrd_kraken-0.1.1-py3-none-any.whl",
-                        "has_sig": false,
-                        "md5_digest": "d6cc67071fe7db22ee35c58e6df6cb7c",
-                        "packagetype": "bdist_wheel",
-                        "python_version": "py3",
-                        "requires_python": null,
-                        "size": 10595,
-                        "upload_time": "2019-10-21T18:20:21",
-                        "upload_time_iso_8601": "2019-10-21T18:20:21.215930Z",
-                        "url": "https://files.pythonhosted.org/packages/20/af/393dbc0767398429e08adb761289656516ab18d4f65d8e5c81791c6cafdc/ocrd_kraken-0.1.1-py3-none-any.whl"
-                    },
-                    {
-                        "comment_text": "",
-                        "digests": {
-                            "md5": "22813065ca842796d8d53a2ae148b7c9",
-                            "sha256": "67cad5aa4ce098262051f84c2f98a5a03be4b62e8bc4c2af1654f00b41caae25"
-                        },
-                        "downloads": -1,
-                        "filename": "ocrd_kraken-0.1.1.tar.gz",
-                        "has_sig": false,
-                        "md5_digest": "22813065ca842796d8d53a2ae148b7c9",
-                        "packagetype": "sdist",
-                        "python_version": "source",
-                        "requires_python": null,
-                        "size": 4209,
-                        "upload_time": "2019-10-21T18:20:22",
-                        "upload_time_iso_8601": "2019-10-21T18:20:22.550782Z",
-                        "url": "https://files.pythonhosted.org/packages/bb/18/1c305cd6dc5b38880a3240bdca9f3ac53c2780a292b2a02812075ddddff7/ocrd_kraken-0.1.1.tar.gz"
-                    }
-                ]
-            },
-            "url": "https://github.com/OCR-D/ocrd_kraken"
-        },
-        "url": "https://github.com/OCR-D/ocrd_kraken"
-    },
-    {
-        "compliant_cli": true,
-        "files": {
-            "Dockerfile": "FROM ocrd/core\nMAINTAINER OCR-D\nENV DEBIAN_FRONTEND noninteractive\nENV PYTHONIOENCODING utf8\nENV LC_ALL C.UTF-8\nENV LANG C.UTF-8\n\nWORKDIR /build-ocrd\nCOPY setup.py .\nCOPY requirements.txt .\nCOPY README.md .\nRUN apt-get update && \\\n    apt-get -y install --no-install-recommends \\\n    ca-certificates \\\n    make \\\n    git\nCOPY ocrd_ocropy ./ocrd_ocropy\nRUN pip3 install --upgrade pip\nRUN make deps install\n\nENTRYPOINT [\"/bin/sh\", \"-c\"]\n",
-            "README.md": "# ocrd_ocropy\n\n[![image](https://travis-ci.org/OCR-D/ocrd_ocropy.svg?branch=master)](https://travis-ci.org/OCR-D/ocrd_ocropy)\n\n[![Docker Automated build](https://img.shields.io/docker/automated/ocrd/ocropy.svg)](https://hub.docker.com/r/ocrd/ocropy/tags/)\n\n> Wrapper for the ocropy OCR engine\n",
-            "ocrd-tool.json": "{\n  \"version\": \"0.0.1\",\n  \"git_url\": \"https://github.com/OCR-D/ocrd_ocropy\",\n  \"tools\": {\n    \"ocrd-ocropy-segment\": {\n      \"executable\": \"ocrd-ocropy-segment\",\n      \"categories\": [\"Image preprocessing\"],\n      \"steps\": [\"layout/segmentation/region\"],\n      \"description\": \"Segment page\",\n      \"input_file_grp\": [\"OCR-D-IMG-BIN\"],\n      \"output_file_grp\": [\"OCR-D-SEG-LINE\"],\n      \"parameters\": {\n        \"maxcolseps\":  {\"type\": \"number\", \"description\": \"has an effect\", \"default\": 3},\n        \"maxseps\":     {\"type\": \"number\", \"description\": \"has an effect\", \"default\": 0},\n        \"sepwiden\":    {\"type\": \"number\", \"description\": \"has an effect\", \"default\": 10},\n        \"csminheight\": {\"type\": \"number\", \"description\": \"has an effect\", \"default\": 10},\n        \"csminaspect\": {\"type\": \"number\", \"description\": \"has an effect\", \"default\": 1.1},\n        \"pad\":         {\"type\": \"number\", \"description\": \"has an effect\", \"default\": 3},\n        \"expand\":      {\"type\": \"number\", \"description\": \"has an effect\", \"default\": 3},\n        \"usegauss\":    {\"type\": \"boolean\",\"description\": \"has an effect\", \"default\": false},\n        \"threshold\":   {\"type\": \"number\", \"description\": \"has an effect\", \"default\": 0.2},\n        \"noise\":       {\"type\": \"number\", \"description\": \"has an effect\", \"default\": 8},\n        \"scale\":       {\"type\": \"number\", \"description\": \"has an effect\", \"default\": 0.0},\n        \"hscale\":      {\"type\": \"number\", \"description\": \"has an effect\", \"default\": 1.0},\n        \"vscale\":      {\"type\": \"number\", \"description\": \"has an effect\", \"default\": 1.0}\n      }\n    }\n  }\n}\n",
-            "setup.py": "# -*- coding: utf-8 -*-\n\"\"\"\nInstalls one binary:\n\n    - ocrd-ocropy-segment\n\"\"\"\nimport codecs\n\nfrom setuptools import setup\n\nsetup(\n    name='ocrd_ocropy',\n    version='0.0.3',\n    description='ocropy bindings',\n    long_description=codecs.open('README.md', encoding='utf-8').read(),\n    long_description_content_type='text/markdown',\n    author='Konstantin Baierer',\n    author_email='unixprog@gmail.com, wuerzner@gmail.com',\n    url='https://github.com/OCR-D/ocrd_ocropy',\n    license='Apache License 2.0',\n    packages=['ocrd_ocropy'],\n    install_requires=[\n        'ocrd >= 1.0.0b8',\n        'ocrd-fork-ocropy >= 1.4.0a3',\n        'click'\n    ],\n    package_data={\n        '': ['*.json', '*.yml', '*.yaml'],\n    },\n    entry_points={\n        'console_scripts': [\n            'ocrd-ocropy-segment=ocrd_ocropy.cli:ocrd_ocropy_segment',\n        ]\n    },\n)\n"
-        },
-        "git": {
-            "last_commit": "Tue Jun 11 14:51:00 2019 +0200",
-            "latest_tag": "v0.0.3",
-            "number_of_commits": "66",
-            "url": "https://github.com/OCR-D/ocrd_ocropy.git"
-        },
-        "name": "ocrd_ocropy",
-        "ocrd_tool": {
-            "git_url": "https://github.com/OCR-D/ocrd_ocropy",
-            "tools": {
-                "ocrd-ocropy-segment": {
-                    "categories": [
-                        "Image preprocessing"
-                    ],
-                    "description": "Segment page",
-                    "executable": "ocrd-ocropy-segment",
-                    "input_file_grp": [
-                        "OCR-D-IMG-BIN"
-                    ],
-                    "output_file_grp": [
-                        "OCR-D-SEG-LINE"
-                    ],
-                    "parameters": {
-                        "csminaspect": {
-                            "default": 1.1,
-                            "description": "has an effect",
-                            "type": "number"
-                        },
-                        "csminheight": {
-                            "default": 10,
-                            "description": "has an effect",
-                            "type": "number"
-                        },
-                        "expand": {
-                            "default": 3,
-                            "description": "has an effect",
-                            "type": "number"
-                        },
-                        "hscale": {
-                            "default": 1.0,
-                            "description": "has an effect",
-                            "type": "number"
-                        },
-                        "maxcolseps": {
-                            "default": 3,
-                            "description": "has an effect",
-                            "type": "number"
-                        },
-                        "maxseps": {
-                            "default": 0,
-                            "description": "has an effect",
-                            "type": "number"
-                        },
-                        "noise": {
-                            "default": 8,
-                            "description": "has an effect",
-                            "type": "number"
-                        },
-                        "pad": {
-                            "default": 3,
-                            "description": "has an effect",
-                            "type": "number"
-                        },
-                        "scale": {
-                            "default": 0.0,
-                            "description": "has an effect",
-                            "type": "number"
-                        },
-                        "sepwiden": {
-                            "default": 10,
-                            "description": "has an effect",
-                            "type": "number"
-                        },
-                        "threshold": {
-                            "default": 0.2,
-                            "description": "has an effect",
-                            "type": "number"
-                        },
-                        "usegauss": {
-                            "default": false,
-                            "description": "has an effect",
-                            "type": "boolean"
-                        },
-                        "vscale": {
-                            "default": 1.0,
-                            "description": "has an effect",
-                            "type": "number"
-                        }
-                    },
-                    "steps": [
-                        "layout/segmentation/region"
-                    ]
-                }
-            },
-            "version": "0.0.1"
-        },
-        "ocrd_tool_validate": "<report valid=\"true\">\n</report>",
-        "official": false,
-        "org_plus_name": "OCR-D/ocrd_ocropy",
-        "python": {
-            "author": "Konstantin Baierer",
-            "author-email": "unixprog@gmail.com, wuerzner@gmail.com",
-            "name": "ocrd_ocropy",
-            "pypi": {
-                "info": {
-                    "author": "Konstantin Baierer",
-                    "author_email": "unixprog@gmail.com, wuerzner@gmail.com",
-                    "bugtrack_url": null,
-                    "classifiers": [],
-                    "description": "# ocrd_ocropy\n\n[![image](https://travis-ci.org/OCR-D/ocrd_ocropy.svg?branch=master)](https://travis-ci.org/OCR-D/ocrd_ocropy)\n\n[![Docker Automated build](https://img.shields.io/docker/automated/ocrd/ocropy.svg)](https://hub.docker.com/r/ocrd/ocropy/tags/)\n\n> Wrapper for the ocropy OCR engine\n\n\n",
-                    "description_content_type": "text/markdown",
-                    "docs_url": null,
-                    "download_url": "",
-                    "downloads": {
-                        "last_day": -1,
-                        "last_month": -1,
-                        "last_week": -1
-                    },
-                    "home_page": "https://github.com/OCR-D/ocrd_ocropy",
-                    "keywords": "",
-                    "license": "Apache License 2.0",
-                    "maintainer": "",
-                    "maintainer_email": "",
-                    "name": "ocrd-ocropy",
-                    "package_url": "https://pypi.org/project/ocrd-ocropy/",
-                    "platform": "",
-                    "project_url": "https://pypi.org/project/ocrd-ocropy/",
-                    "project_urls": {
-                        "Homepage": "https://github.com/OCR-D/ocrd_ocropy"
-                    },
-                    "release_url": "https://pypi.org/project/ocrd-ocropy/0.0.3/",
-                    "requires_dist": [
-                        "ocrd (>=1.0.0b8)",
-                        "ocrd-fork-ocropy (>=1.4.0a3)",
-                        "click"
-                    ],
-                    "requires_python": "",
-                    "summary": "ocropy bindings",
-                    "version": "0.0.3"
-                },
-                "last_serial": 4979689,
-                "releases": {
-                    "0.0.1a1": [
-                        {
-                            "comment_text": "",
-                            "digests": {
-                                "md5": "955580b46dea69b4880f95f90076cfb3",
-                                "sha256": "1dc3926e7c28ecb52260c42d0b3b6b3cc3d2964b13ea994601219269c8072d89"
-                            },
-                            "downloads": -1,
-                            "filename": "ocrd_ocropy-0.0.1a1-py3-none-any.whl",
-                            "has_sig": false,
-                            "md5_digest": "955580b46dea69b4880f95f90076cfb3",
-                            "packagetype": "bdist_wheel",
-                            "python_version": "py3",
-                            "requires_python": null,
-                            "size": 6462,
-                            "upload_time": "2019-03-19T17:02:48",
-                            "upload_time_iso_8601": "2019-03-19T17:02:48.327057Z",
-                            "url": "https://files.pythonhosted.org/packages/c7/ce/9f578c500afbffba6de78fb1fb0d881c23ddb794256a276e4277d5ad7c25/ocrd_ocropy-0.0.1a1-py3-none-any.whl"
-                        },
-                        {
-                            "comment_text": "",
-                            "digests": {
-                                "md5": "39723d9e4f1734de4a7f1fdd9e7008fc",
-                                "sha256": "fc72a46a9e3bc7fd601aa6c00992debe566f1838b95bbd61e8c746b3abd0d673"
-                            },
-                            "downloads": -1,
-                            "filename": "ocrd_ocropy-0.0.1a1.tar.gz",
-                            "has_sig": false,
-                            "md5_digest": "39723d9e4f1734de4a7f1fdd9e7008fc",
-                            "packagetype": "sdist",
-                            "python_version": "source",
-                            "requires_python": null,
-                            "size": 6105,
-                            "upload_time": "2019-03-19T17:02:50",
-                            "upload_time_iso_8601": "2019-03-19T17:02:50.204116Z",
-                            "url": "https://files.pythonhosted.org/packages/8f/a1/2030fb1c2c08cac624a7640daa6a12c3d115a52a9d7d66de5c6b427bbbde/ocrd_ocropy-0.0.1a1.tar.gz"
-                        }
-                    ],
-                    "0.0.2": [
-                        {
-                            "comment_text": "",
-                            "digests": {
-                                "md5": "9a5b84192f6eb88c34a6e64528526d98",
-                                "sha256": "a1827b7fb49a27e297fb01ceea45c2272d996f498c576637e42d8008d28dfe9b"
-                            },
-                            "downloads": -1,
-                            "filename": "ocrd_ocropy-0.0.2-py3-none-any.whl",
-                            "has_sig": false,
-                            "md5_digest": "9a5b84192f6eb88c34a6e64528526d98",
-                            "packagetype": "bdist_wheel",
-                            "python_version": "py3",
-                            "requires_python": null,
-                            "size": 10625,
-                            "upload_time": "2019-03-24T19:17:23",
-                            "upload_time_iso_8601": "2019-03-24T19:17:23.779614Z",
-                            "url": "https://files.pythonhosted.org/packages/7f/46/222d127fe28c522ab65448bd552f9b9b66ec6e5582f8cc7e2ee57f5450a5/ocrd_ocropy-0.0.2-py3-none-any.whl"
-                        },
-                        {
-                            "comment_text": "",
-                            "digests": {
-                                "md5": "9e83b8f7b5d686f6bcc032a8ca532ed6",
-                                "sha256": "d1e4cd90fff395e332814f51de1b46533ac88ea72f99f4502524c0c659572519"
-                            },
-                            "downloads": -1,
-                            "filename": "ocrd_ocropy-0.0.2.tar.gz",
-                            "has_sig": false,
-                            "md5_digest": "9e83b8f7b5d686f6bcc032a8ca532ed6",
-                            "packagetype": "sdist",
-                            "python_version": "source",
-                            "requires_python": null,
-                            "size": 5855,
-                            "upload_time": "2019-03-24T19:17:25",
-                            "upload_time_iso_8601": "2019-03-24T19:17:25.438144Z",
-                            "url": "https://files.pythonhosted.org/packages/89/18/c634cc95db36cfa523a75f3ae4e5ee3055b8bcf56969bc3231cdddb3d082/ocrd_ocropy-0.0.2.tar.gz"
-                        }
-                    ],
-                    "0.0.3": [
-                        {
-                            "comment_text": "",
-                            "digests": {
-                                "md5": "8a0d325dd9a10aea746f05824d30ce5c",
-                                "sha256": "2eb914d948f0dcf543560e9c2cb13eccd8d96f335febef1753e108279d0fdc7e"
-                            },
-                            "downloads": -1,
-                            "filename": "ocrd_ocropy-0.0.3-py3-none-any.whl",
-                            "has_sig": false,
-                            "md5_digest": "8a0d325dd9a10aea746f05824d30ce5c",
-                            "packagetype": "bdist_wheel",
-                            "python_version": "py3",
-                            "requires_python": null,
-                            "size": 10632,
-                            "upload_time": "2019-03-24T19:53:40",
-                            "upload_time_iso_8601": "2019-03-24T19:53:40.405082Z",
-                            "url": "https://files.pythonhosted.org/packages/7b/0a/dd552d4077fe60652b1fe30e0fe4363686838bc8b88aa852d080e667d370/ocrd_ocropy-0.0.3-py3-none-any.whl"
-                        },
-                        {
-                            "comment_text": "",
-                            "digests": {
-                                "md5": "69fe2b3b78a357940f17678bdc78a80b",
-                                "sha256": "f7b3f421f34d2cb4637b864709349ee508e859d1f512ce65be8bc3f2ab35374c"
-                            },
-                            "downloads": -1,
-                            "filename": "ocrd_ocropy-0.0.3.tar.gz",
-                            "has_sig": false,
-                            "md5_digest": "69fe2b3b78a357940f17678bdc78a80b",
-                            "packagetype": "sdist",
-                            "python_version": "source",
-                            "requires_python": null,
-                            "size": 5867,
-                            "upload_time": "2019-03-24T19:53:41",
-                            "upload_time_iso_8601": "2019-03-24T19:53:41.685748Z",
-                            "url": "https://files.pythonhosted.org/packages/6b/5a/d711492c2f10b241069361df84544145dab22654a173ac566645cec0bb9f/ocrd_ocropy-0.0.3.tar.gz"
-                        }
-                    ]
-                },
-                "urls": [
-                    {
-                        "comment_text": "",
-                        "digests": {
-                            "md5": "8a0d325dd9a10aea746f05824d30ce5c",
-                            "sha256": "2eb914d948f0dcf543560e9c2cb13eccd8d96f335febef1753e108279d0fdc7e"
-                        },
-                        "downloads": -1,
-                        "filename": "ocrd_ocropy-0.0.3-py3-none-any.whl",
-                        "has_sig": false,
-                        "md5_digest": "8a0d325dd9a10aea746f05824d30ce5c",
-                        "packagetype": "bdist_wheel",
-                        "python_version": "py3",
-                        "requires_python": null,
-                        "size": 10632,
-                        "upload_time": "2019-03-24T19:53:40",
-                        "upload_time_iso_8601": "2019-03-24T19:53:40.405082Z",
-                        "url": "https://files.pythonhosted.org/packages/7b/0a/dd552d4077fe60652b1fe30e0fe4363686838bc8b88aa852d080e667d370/ocrd_ocropy-0.0.3-py3-none-any.whl"
-                    },
-                    {
-                        "comment_text": "",
-                        "digests": {
-                            "md5": "69fe2b3b78a357940f17678bdc78a80b",
-                            "sha256": "f7b3f421f34d2cb4637b864709349ee508e859d1f512ce65be8bc3f2ab35374c"
-                        },
-                        "downloads": -1,
-                        "filename": "ocrd_ocropy-0.0.3.tar.gz",
-                        "has_sig": false,
-                        "md5_digest": "69fe2b3b78a357940f17678bdc78a80b",
-                        "packagetype": "sdist",
-                        "python_version": "source",
-                        "requires_python": null,
-                        "size": 5867,
-                        "upload_time": "2019-03-24T19:53:41",
-                        "upload_time_iso_8601": "2019-03-24T19:53:41.685748Z",
-                        "url": "https://files.pythonhosted.org/packages/6b/5a/d711492c2f10b241069361df84544145dab22654a173ac566645cec0bb9f/ocrd_ocropy-0.0.3.tar.gz"
-                    }
-                ]
-            },
-            "url": "https://github.com/OCR-D/ocrd_ocropy"
-        },
-        "url": "https://github.com/OCR-D/ocrd_ocropy"
-    },
-    {
-        "compliant_cli": true,
-        "files": {
-            "Dockerfile": "# Patch and build Olena from Git, then\n# Install OCR-D wrapper for binarization\nFROM ocrd/core\n\nMAINTAINER OCR-D\n\nENV PREFIX=/usr/local\n\nWORKDIR /build-olena\nCOPY olena-configure-boost.patch .\nCOPY olena-configure-python3.patch .\nCOPY olena-disable-doc.patch .\nCOPY olena-fix-magick-load-catch-exceptions.patch .\nCOPY Makefile .\nCOPY ocrd-tool.json .\nCOPY ocrd-olena-binarize .\nCOPY README.md /\n\nENV DEPS=\"g++ make automake git\"\nRUN apt-get update && \\\n    apt-get -y install --no-install-recommends $DEPS && \\\n    make deps-ubuntu && \\\n    make build-olena install clean-olena && \\\n    apt-get -y remove $DEPS && \\\n    apt-get -y autoremove && apt-get clean && \\\n    rm -fr /build-olena\n\nWORKDIR /data\nVOLUME /data\n\n#ENTRYPOINT [\"/usr/bin/ocrd-olena-binarize\"]\n#CMD [\"--help\"]\nCMD [\"/usr/bin/ocrd-olena-binarize\", \"--help\"]\n",
-            "README.md": "# ocrd_olena\n\n> Binarize with Olena/scribo\n\n[![Build Status](https://travis-ci.org/OCR-D/ocrd_olena.svg?branch=master)](https://travis-ci.org/OCR-D/ocrd_olena)\n[![Docker Automated build](https://img.shields.io/docker/automated/ocrd/core.svg)](https://hub.docker.com/r/ocrd/olena/tags/)\n\n## Requirements\n\n```\nmake deps-ubuntu\n```\n\n...will try to install the required packages on Ubuntu.\n\n## Installation\n\n```\nmake build-olena\n```\n\n...will download, patch and build Olena/scribo from source, and install locally (in VIRTUAL_ENV or in CWD/local).\n\n```\nmake install\n```\n\n...will do that, but additionally install `ocrd-binarize-olena` (the OCR-D wrapper).\n\n## Testing\n\n```\nmake test\n```\n\n...will clone the assets repository from Github, make a workspace copy, and run checksum tests for binarization on them.\n\n## Usage\n\nThis package has the following user interfaces:\n\n### command line interface `scribo-cli`\n\nConverts images in any format to netpbm (monochrome portable bitmap).\n\n```\nUsage: scribo-cli [version] [help] COMMAND [ARGS]\n\nList of available COMMAND argument:\n\n  Full Toolchains\n  ---------------\n\n\n   * On documents\n\n     doc-ppc\t       Common preprocessing before looking for text.\n\n     doc-ocr           Find and recognize text. Output: the actual text\n     \t\t       and its location.\n\n     doc-dia           Analyse the document structure and extract the\n     \t\t       text. Output: an XML file with region and text\n     \t\t       information.\n\n\n\n   * On pictures\n\n     pic-loc           Try to localize text if there's any.\n\n     pic-ocr           Localize and try to recognize text.\n\n\n\n  Tools\n  -----\n\n\n     * xml2doc\t       Convert the XML results of document toolchains\n       \t\t       into user documents (HTML, PDF...).\n\n\n  Algorithms\n  ----------\n\n\n   * Binarization\n\n     sauvola           Sauvola's algorithm.\n\n     sauvola-ms        Multi-scale Sauvola's algorithm.\n\n     sauvola-ms-fg     Extract foreground objects and run multi-scale\n                       Sauvola's algorithm.\n\n     sauvola-ms-split  Run multi-scale Sauvola's algorithm on each color\n                       component and merge results.\n\n---------------------------------------------------------------------------\nSee 'scribo-cli COMMAND --help' for more information on a specific command.\n```\n\n### [OCR-D processor](https://ocr-d.github.com/cli) interface `ocrd-olena-binarize`\n\nTo be used with [PageXML](https://github.com/PRImA-Research-Lab/PAGE-XML) documents in an [OCR-D](https://ocr-d.github.io) annotation workflow. Input could be any valid workspace with source images available. Currently covers the `Page` hierarchy level only. Uses either (the last) `AlternativeImage`, if any, or `imageFilename`, otherwise. Adds an `AlternativeImage` with the result of binarization for every page.\n\n```json\n    \"ocrd-olena-binarize\": {\n      \"executable\": \"ocrd-olena-binarize\",\n      \"description\": \"OLENA's binarization algos for OCR-D (on page-level)\",\n      \"categories\": [\n        \"Image preprocessing\"\n      ],\n      \"steps\": [\n        \"preprocessing/optimization/binarization\"\n      ],\n      \"input_file_grp\": [\n        \"OCR-D-SEG-BLOCK\",\n        \"OCR-D-SEG-LINE\",\n        \"OCR-D-SEG-WORD\",\n        \"OCR-D-IMG\"\n      ],\n      \"output_file_grp\": [\n        \"OCR-D-SEG-BLOCK\",\n        \"OCR-D-SEG-LINE\",\n        \"OCR-D-SEG-WORD\"\n      ],\n      \"parameters\": {\n        \"impl\": {\n          \"description\": \"The name of the actual binarization algorithm\",\n          \"type\": \"string\",\n          \"required\": true,\n          \"enum\": [\"sauvola\", \"sauvola-ms\", \"sauvola-ms-fg\", \"sauvola-ms-split\", \"kim\", \"wolf\", \"niblack\", \"singh\", \"otsu\"]\n        },\n        \"win-size\": {\n          \"description\": \"Window size\",\n          \"type\": \"number\",\n          \"format\": \"integer\",\n          \"default\": 101\n        },\n        \"k\": {\n          \"description\": \"Sauvola's formulae parameter\",\n          \"format\": \"float\",\n          \"type\": \"number\",\n          \"default\": 0.34\n        }\n      }\n    }\n```\n",
-            "ocrd-tool.json": "{\n  \"version\": \"0.0.2\",\n  \"git_url\": \"https://github.com/OCR-D/ocrd_olena\",\n  \"tools\": {\n    \"ocrd-olena-binarize\": {\n      \"executable\": \"ocrd-olena-binarize\",\n      \"description\": \"OLENA's binarization algos for OCR-D (on page-level)\",\n      \"categories\": [\n        \"Image preprocessing\"\n      ],\n      \"steps\": [\n        \"preprocessing/optimization/binarization\"\n      ],\n      \"input_file_grp\": [\n        \"OCR-D-SEG-BLOCK\",\n        \"OCR-D-SEG-LINE\",\n        \"OCR-D-SEG-WORD\",\n        \"OCR-D-IMG\"\n      ],\n      \"output_file_grp\": [\n        \"OCR-D-SEG-BLOCK\",\n        \"OCR-D-SEG-LINE\",\n        \"OCR-D-SEG-WORD\"\n      ],\n      \"parameters\": {\n        \"impl\": {\n          \"description\": \"The name of the actual binarization algorithm\",\n          \"type\": \"string\",\n          \"required\": true,\n          \"enum\": [\"sauvola\", \"sauvola-ms\", \"sauvola-ms-fg\", \"sauvola-ms-split\", \"kim\", \"wolf\", \"niblack\", \"singh\", \"otsu\"]\n        },\n        \"win-size\": {\n          \"description\": \"Window size\",\n          \"type\": \"number\",\n          \"format\": \"integer\",\n          \"default\": 101\n        },\n        \"k\": {\n          \"description\": \"Sauvola's formulae parameter\",\n          \"format\": \"float\",\n          \"type\": \"number\",\n          \"default\": 0.34\n        }\n      }\n    }\n  }\n}\n",
-            "setup.py": null
-        },
-        "git": {
-            "last_commit": "Tue Dec 10 01:25:54 2019 +0100",
-            "latest_tag": "",
-            "number_of_commits": "84",
-            "url": "https://github.com/OCR-D/ocrd_olena.git"
-        },
-        "name": "ocrd_olena",
-        "ocrd_tool": {
-            "git_url": "https://github.com/OCR-D/ocrd_olena",
-            "tools": {
-                "ocrd-olena-binarize": {
-                    "categories": [
-                        "Image preprocessing"
-                    ],
-                    "description": "OLENA's binarization algos for OCR-D (on page-level)",
-                    "executable": "ocrd-olena-binarize",
-                    "input_file_grp": [
-                        "OCR-D-SEG-BLOCK",
-                        "OCR-D-SEG-LINE",
-                        "OCR-D-SEG-WORD",
-                        "OCR-D-IMG"
-                    ],
-                    "output_file_grp": [
-                        "OCR-D-SEG-BLOCK",
-                        "OCR-D-SEG-LINE",
-                        "OCR-D-SEG-WORD"
-                    ],
-                    "parameters": {
-                        "impl": {
-                            "description": "The name of the actual binarization algorithm",
-                            "enum": [
-                                "sauvola",
-                                "sauvola-ms",
-                                "sauvola-ms-fg",
-                                "sauvola-ms-split",
-                                "kim",
-                                "wolf",
-                                "niblack",
-                                "singh",
-                                "otsu"
-                            ],
-                            "required": true,
-                            "type": "string"
-                        },
-                        "k": {
-                            "default": 0.34,
-                            "description": "Sauvola's formulae parameter",
-                            "format": "float",
-                            "type": "number"
-                        },
-                        "win-size": {
-                            "default": 101,
-                            "description": "Window size",
-                            "format": "integer",
-                            "type": "number"
-                        }
-                    },
-                    "steps": [
-                        "preprocessing/optimization/binarization"
-                    ]
-                }
-            },
-            "version": "0.0.2"
-        },
-        "ocrd_tool_validate": "<report valid=\"true\">\n</report>",
-        "official": false,
-        "org_plus_name": "OCR-D/ocrd_olena",
-        "url": "https://github.com/OCR-D/ocrd_olena"
-    },
-    {
-        "compliant_cli": true,
-        "files": {
-            "Dockerfile": null,
-            "README.md": "# ocrd_segment\n\nThis repository aims to provide a number of [OCR-D-compliant processors](https://ocr-d.github.io/cli) for layout analysis and evaluation.\n\n## Installation\n\nIn your virtual environment, run:\n```bash\npip install .\n```\n\n## Usage\n\n  - extracting page images (including results from preprocessing like cropping, deskewing or binarization) along with region polygon coordinates and metadata:\n    - [ocrd-segment-extract-regions](ocrd_segment/extract_regions.py)\n  - extracting line images (including results from preprocessing like cropping, deskewing, dewarping or binarization) along with line polygon coordinates and metadata:\n    - [ocrd-segment-extract-lines](ocrd_segment/extract_lines.py)\n  - comparing different layout segmentations (input file groups N = 2, compute the distance between two segmentations, e.g. automatic vs. manual):\n    - [ocrd-segment-evaluate](ocrd_segment/evaluate.py) :construction: (very early stage)\n  - repairing layout segmentations (input file groups N >= 1, based on heuristics implemented using Shapely):\n    - [ocrd-segment-repair](ocrd_segment/repair.py) :construction: (much to be done)\n  - pattern-based segmentation (input file groups N=1, based on a PAGE template, e.g. from Aletheia, and some XSLT or Python to apply it to the input file group)\n    - `ocrd-segment-via-template` :construction: (unpublished)\n  - data-driven segmentation (input file groups N=1, based on a statistical model, e.g. Neural Network)  \n    - `ocrd-segment-via-model` :construction: (unpublished)\n\nFor detailed description on input/output and parameters, see [ocrd-tool.json](ocrd_segment/ocrd-tool.json)\n\n## Testing\n\nNone yet.\n",
-            "ocrd-tool.json": "{\n  \"version\": \"0.0.1\",\n  \"git_url\": \"https://github.com/OCR-D/ocrd_segment\",\n  \"tools\": {\n    \"ocrd-segment-repair\": {\n      \"executable\": \"ocrd-segment-repair\",\n      \"categories\": [\"Layout analysis\"],\n      \"description\": \"Analyse and repair region segmentation\",\n      \"input_file_grp\": [\n        \"OCR-D-IMG\",\n        \"OCR-D-SEG-BLOCK\"\n      ],\n      \"output_file_grp\": [\n        \"OCR-D-EVAL-BLOCK\"\n      ],\n      \"steps\": [\"layout/segmentation/region\"],\n      \"parameters\": {\n        \"sanitize\": {\n          \"type\": \"boolean\",\n          \"default\": false,\n          \"description\": \"Shrink and/or expand a region in such a way that it coordinates include those of all its lines\"\n        },\n        \"plausibilize\": {\n          \"type\": \"boolean\",\n          \"default\": false,\n          \"description\": \"Modify the region segmentation to make it (more) plausible\"\n        }\n      }\n    },\n    \"ocrd-segment-extract-regions\": {\n      \"executable\": \"ocrd-segment-extract-regions\",\n      \"categories\": [\"Image preprocessing\"],\n      \"description\": \"Extract region segmentation as image+JSON\",\n      \"input_file_grp\": [\n        \"OCR-D-SEG-BLOCK\",\n        \"OCR-D-GT-SEG-BLOCK\"\n      ],\n      \"output_file_grp\": [\n        \"OCR-D-IMG-CROP\"\n      ],\n      \"steps\": [\"layout/analysis\"],\n      \"parameters\": {\n        \"transparency\": {\n          \"type\": \"boolean\",\n          \"default\": true,\n          \"description\": \"Add alpha channels with segment masks to the images\"\n        }\n      }\n    },\n    \"ocrd-segment-extract-lines\": {\n      \"executable\": \"ocrd-segment-extract-lines\",\n      \"categories\": [\"Image preprocessing\"],\n      \"description\": \"Extract line segmentation as image+txt+JSON\",\n      \"input_file_grp\": [\n        \"OCR-D-SEG-LINE\",\n        \"OCR-D-GT-SEG-LINE\"\n      ],\n      \"output_file_grp\": [\n        \"OCR-D-IMG-CROP\"\n      ],\n      \"steps\": [\"layout/analysis\"],\n      \"parameters\": {\n        \"transparency\": {\n          \"type\": \"boolean\",\n          \"default\": true,\n          \"description\": \"Add alpha channels with segment masks to the images\"\n        }\n      }\n    },\n    \"ocrd-segment-evaluate\": {\n      \"executable\": \"ocrd-segment-evaluate\",\n      \"categories\": [\"Layout analysis\"],\n      \"description\": \"Compare region segmentations\",\n      \"input_file_grp\": [\n        \"OCR-D-GT-SEG-BLOCK\",\n        \"OCR-D-SEG-BLOCK\"\n      ],\n      \"steps\": [\"layout/analysis\"],\n      \"parameters\": {\n      }\n    }\n  }\n}\n",
-            "setup.py": "# -*- coding: utf-8 -*-\n\"\"\"\nInstalls:\n\n    - ocrd-segment-repair\n    - ocrd-segment-extract-regions\n    - ocrd-segment-extract-lines\n    - ocrd-segment-evaluate\n\"\"\"\nimport codecs\n\nfrom setuptools import setup, find_packages\n\nsetup(\n    name='ocrd_segment',\n    version='0.0.2',\n    description='Page segmentation and segmentation evaluation',\n    long_description=codecs.open('README.md', encoding='utf-8').read(),\n    author='Konstantin Baierer, Kay-Michael W\u00fcrzner, Robert Sachunsky',\n    author_email='unixprog@gmail.com, wuerzner@gmail.com, sachunsky@informatik.uni-leipzig.de',\n    url='https://github.com/OCR-D/ocrd_segment',\n    license='Apache License 2.0',\n    packages=find_packages(exclude=('tests', 'docs')),\n    install_requires=open('requirements.txt').read().split('\\n'),\n    package_data={\n        '': ['*.json', '*.yml', '*.yaml'],\n    },\n    entry_points={\n        'console_scripts': [\n            'ocrd-segment-repair=ocrd_segment.cli:ocrd_segment_repair',\n            'ocrd-segment-extract-regions=ocrd_segment.cli:ocrd_segment_extract_regions',\n            'ocrd-segment-extract-lines=ocrd_segment.cli:ocrd_segment_extract_lines',\n            'ocrd-segment-evaluate=ocrd_segment.cli:ocrd_segment_evaluate',\n        ]\n    },\n)\n"
-        },
-        "git": {
-            "last_commit": "Wed Dec 11 12:39:34 2019 +0100",
-            "latest_tag": "v0.0.2",
-            "number_of_commits": "55",
-            "url": "https://github.com/OCR-D/ocrd_segment.git"
-        },
-        "name": "ocrd_segment",
-        "ocrd_tool": {
-            "git_url": "https://github.com/OCR-D/ocrd_segment",
-            "tools": {
-                "ocrd-segment-evaluate": {
-                    "categories": [
-                        "Layout analysis"
-                    ],
-                    "description": "Compare region segmentations",
-                    "executable": "ocrd-segment-evaluate",
-                    "input_file_grp": [
-                        "OCR-D-GT-SEG-BLOCK",
-                        "OCR-D-SEG-BLOCK"
-                    ],
-                    "parameters": {},
-                    "steps": [
-                        "layout/analysis"
-                    ]
-                },
-                "ocrd-segment-extract-lines": {
-                    "categories": [
-                        "Image preprocessing"
-                    ],
-                    "description": "Extract line segmentation as image+txt+JSON",
-                    "executable": "ocrd-segment-extract-lines",
-                    "input_file_grp": [
-                        "OCR-D-SEG-LINE",
-                        "OCR-D-GT-SEG-LINE"
-                    ],
-                    "output_file_grp": [
-                        "OCR-D-IMG-CROP"
-                    ],
-                    "parameters": {
-                        "transparency": {
-                            "default": true,
-                            "description": "Add alpha channels with segment masks to the images",
-                            "type": "boolean"
-                        }
-                    },
-                    "steps": [
-                        "layout/analysis"
-                    ]
-                },
-                "ocrd-segment-extract-regions": {
-                    "categories": [
-                        "Image preprocessing"
-                    ],
-                    "description": "Extract region segmentation as image+JSON",
-                    "executable": "ocrd-segment-extract-regions",
-                    "input_file_grp": [
-                        "OCR-D-SEG-BLOCK",
-                        "OCR-D-GT-SEG-BLOCK"
-                    ],
-                    "output_file_grp": [
-                        "OCR-D-IMG-CROP"
-                    ],
-                    "parameters": {
-                        "transparency": {
-                            "default": true,
-                            "description": "Add alpha channels with segment masks to the images",
-                            "type": "boolean"
-                        }
-                    },
-                    "steps": [
-                        "layout/analysis"
-                    ]
-                },
-                "ocrd-segment-repair": {
-                    "categories": [
-                        "Layout analysis"
-                    ],
-                    "description": "Analyse and repair region segmentation",
-                    "executable": "ocrd-segment-repair",
-                    "input_file_grp": [
-                        "OCR-D-IMG",
-                        "OCR-D-SEG-BLOCK"
-                    ],
-                    "output_file_grp": [
-                        "OCR-D-EVAL-BLOCK"
-                    ],
-                    "parameters": {
-                        "plausibilize": {
-                            "default": false,
-                            "description": "Modify the region segmentation to make it (more) plausible",
-                            "type": "boolean"
-                        },
-                        "sanitize": {
-                            "default": false,
-                            "description": "Shrink and/or expand a region in such a way that it coordinates include those of all its lines",
-                            "type": "boolean"
-                        }
-                    },
-                    "steps": [
-                        "layout/segmentation/region"
-                    ]
-                }
-            },
-            "version": "0.0.1"
-        },
-        "ocrd_tool_validate": "<report valid=\"true\">\n</report>",
-        "official": false,
-        "org_plus_name": "OCR-D/ocrd_segment",
-        "python": {
-            "author": "Konstantin Baierer, Kay-Michael W\u00fcrzner, Robert Sachunsky",
-            "author-email": "unixprog@gmail.com, wuerzner@gmail.com, sachunsky@informatik.uni-leipzig.de",
-            "name": "ocrd_segment",
-            "pypi": {
-                "info": {
-                    "author": "Konstantin Baierer, Kay-Michael W\u00fcrzner, Robert Sachunsky",
-                    "author_email": "unixprog@gmail.com, wuerzner@gmail.com, sachunsky@informatik.uni-leipzig.de",
-                    "bugtrack_url": null,
-                    "classifiers": [],
-                    "description": "# ocrd_segment\n\nThis repository aims to provide a number of [OCR-D-compliant processors](https://ocr-d.github.io/cli) for layout analysis and evaluation.\n\n## Installation\n\nIn your virtual environment, run:\n```bash\npip install .\n```\n\n## Usage\n\n  - extracting page images (including results from preprocessing like cropping, deskewing or binarization) along with region polygon coordinates and metadata:\n    - [ocrd-segment-extract-regions](ocrd_segment/extract_regions.py)\n  - extracting line images (including results from preprocessing like cropping, deskewing, dewarping or binarization) along with line polygon coordinates and metadata:\n    - [ocrd-segment-extract-lines](ocrd_segment/extract_lines.py)\n  - comparing different layout segmentations (input file groups N = 2, compute the distance between two segmentations, e.g. automatic vs. manual):\n    - [ocrd-segment-evaluate](ocrd_segment/evaluate.py) :construction: (very early stage)\n  - repairing layout segmentations (input file groups N >= 1, based on heuristics implemented using Shapely):\n    - [ocrd-segment-repair](ocrd_segment/repair.py) :construction: (much to be done)\n  - pattern-based segmentation (input file groups N=1, based on a PAGE template, e.g. from Aletheia, and some XSLT or Python to apply it to the input file group)\n    - `ocrd-segment-via-template` :construction: (unpublished)\n  - data-driven segmentation (input file groups N=1, based on a statistical model, e.g. Neural Network)  \n    - `ocrd-segment-via-model` :construction: (unpublished)\n\nFor detailed description on input/output and parameters, see [ocrd-tool.json](ocrd_segment/ocrd-tool.json)\n\n## Testing\n\nNone yet.\n\n\n",
-                    "description_content_type": "",
-                    "docs_url": null,
-                    "download_url": "",
-                    "downloads": {
-                        "last_day": -1,
-                        "last_month": -1,
-                        "last_week": -1
-                    },
-                    "home_page": "https://github.com/OCR-D/ocrd_segment",
-                    "keywords": "",
-                    "license": "Apache License 2.0",
-                    "maintainer": "",
-                    "maintainer_email": "",
-                    "name": "ocrd-segment",
-                    "package_url": "https://pypi.org/project/ocrd-segment/",
-                    "platform": "",
-                    "project_url": "https://pypi.org/project/ocrd-segment/",
-                    "project_urls": {
-                        "Homepage": "https://github.com/OCR-D/ocrd_segment"
-                    },
-                    "release_url": "https://pypi.org/project/ocrd-segment/0.0.2/",
-                    "requires_dist": [
-                        "ocrd (>=1.0.0b19)",
-                        "click",
-                        "shapely"
-                    ],
-                    "requires_python": "",
-                    "summary": "Page segmentation and segmentation evaluation",
-                    "version": "0.0.2"
-                },
-                "last_serial": 6235446,
-                "releases": {
-                    "0.0.2": [
-                        {
-                            "comment_text": "",
-                            "digests": {
-                                "md5": "e9bc6112469e53afd56563d862000228",
-                                "sha256": "9b549066f46f26a147b726066712a423f9fcf64b8274dd8285447c564f361783"
-                            },
-                            "downloads": -1,
-                            "filename": "ocrd_segment-0.0.2-py3-none-any.whl",
-                            "has_sig": false,
-                            "md5_digest": "e9bc6112469e53afd56563d862000228",
-                            "packagetype": "bdist_wheel",
-                            "python_version": "py3",
-                            "requires_python": null,
-                            "size": 14529,
-                            "upload_time": "2019-12-02T11:50:29",
-                            "upload_time_iso_8601": "2019-12-02T11:50:29.761485Z",
-                            "url": "https://files.pythonhosted.org/packages/90/34/4825c12fa6e8238ce350fc766f6aaa0d591705c8f426160eb59ec7513541/ocrd_segment-0.0.2-py3-none-any.whl"
-                        },
-                        {
-                            "comment_text": "",
-                            "digests": {
-                                "md5": "6b258735d218ef459887c4d8d23382c7",
-                                "sha256": "284557d2fd985bf4be93b4bbbe08ba3fc2668300f5c9694af6c93f0be7a7c1c9"
-                            },
-                            "downloads": -1,
-                            "filename": "ocrd_segment-0.0.2.tar.gz",
-                            "has_sig": false,
-                            "md5_digest": "6b258735d218ef459887c4d8d23382c7",
-                            "packagetype": "sdist",
-                            "python_version": "source",
-                            "requires_python": null,
-                            "size": 10335,
-                            "upload_time": "2019-12-02T11:50:34",
-                            "upload_time_iso_8601": "2019-12-02T11:50:34.482743Z",
-                            "url": "https://files.pythonhosted.org/packages/d0/e8/ab967b490f8cc4f70438b278530042a4eb5a9237941cd084fece279cb507/ocrd_segment-0.0.2.tar.gz"
-                        }
-                    ]
-                },
-                "urls": [
-                    {
-                        "comment_text": "",
-                        "digests": {
-                            "md5": "e9bc6112469e53afd56563d862000228",
-                            "sha256": "9b549066f46f26a147b726066712a423f9fcf64b8274dd8285447c564f361783"
-                        },
-                        "downloads": -1,
-                        "filename": "ocrd_segment-0.0.2-py3-none-any.whl",
-                        "has_sig": false,
-                        "md5_digest": "e9bc6112469e53afd56563d862000228",
-                        "packagetype": "bdist_wheel",
-                        "python_version": "py3",
-                        "requires_python": null,
-                        "size": 14529,
-                        "upload_time": "2019-12-02T11:50:29",
-                        "upload_time_iso_8601": "2019-12-02T11:50:29.761485Z",
-                        "url": "https://files.pythonhosted.org/packages/90/34/4825c12fa6e8238ce350fc766f6aaa0d591705c8f426160eb59ec7513541/ocrd_segment-0.0.2-py3-none-any.whl"
-                    },
-                    {
-                        "comment_text": "",
-                        "digests": {
-                            "md5": "6b258735d218ef459887c4d8d23382c7",
-                            "sha256": "284557d2fd985bf4be93b4bbbe08ba3fc2668300f5c9694af6c93f0be7a7c1c9"
-                        },
-                        "downloads": -1,
-                        "filename": "ocrd_segment-0.0.2.tar.gz",
-                        "has_sig": false,
-                        "md5_digest": "6b258735d218ef459887c4d8d23382c7",
-                        "packagetype": "sdist",
-                        "python_version": "source",
-                        "requires_python": null,
-                        "size": 10335,
-                        "upload_time": "2019-12-02T11:50:34",
-                        "upload_time_iso_8601": "2019-12-02T11:50:34.482743Z",
-                        "url": "https://files.pythonhosted.org/packages/d0/e8/ab967b490f8cc4f70438b278530042a4eb5a9237941cd084fece279cb507/ocrd_segment-0.0.2.tar.gz"
-                    }
-                ]
-            },
-            "url": "https://github.com/OCR-D/ocrd_segment"
-        },
-        "url": "https://github.com/OCR-D/ocrd_segment"
-    },
-    {
-        "compliant_cli": true,
-        "files": {
-            "Dockerfile": "FROM ocrd/core\nMAINTAINER OCR-D\nENV DEBIAN_FRONTEND noninteractive\nENV PYTHONIOENCODING utf8\n\nWORKDIR /build-ocrd\nCOPY setup.py .\nCOPY README.md .\nCOPY requirements.txt .\nCOPY requirements_test.txt .\nCOPY ocrd_tesserocr ./ocrd_tesserocr\nCOPY Makefile .\nRUN make deps-ubuntu && \\\n    apt-get install -y --no-install-recommends \\\n    g++ \\\n    tesseract-ocr-script-frak \\\n    tesseract-ocr-deu \\\n    && make deps install \\\n    && rm -rf /build-ocrd \\\n    && apt-get -y remove --auto-remove g++ libtesseract-dev make\n",
-            "README.md": "# ocrd_tesserocr\n\n> Crop, deskew, segment into regions / lines / words, or recognize with tesserocr\n\n[![image](https://circleci.com/gh/OCR-D/ocrd_tesserocr.svg?style=svg)](https://circleci.com/gh/OCR-D/ocrd_tesserocr)\n[![image](https://img.shields.io/pypi/v/ocrd_tesserocr.svg)](https://pypi.org/project/ocrd_tesserocr/)\n[![image](https://codecov.io/gh/OCR-D/ocrd_tesserocr/branch/master/graph/badge.svg)](https://codecov.io/gh/OCR-D/ocrd_tesserocr)\n[![Docker Automated build](https://img.shields.io/docker/automated/ocrd/tesserocr.svg)](https://hub.docker.com/r/ocrd/tesserocr/tags/)\n\n## Introduction\n\nThis offers [OCR-D](https://ocr-d.github.io) compliant workspace processors for (much of) the functionality of [Tesseract](https://github.com/tesseract-ocr) via its Python API wrapper [tesserocr](https://github.com/sirfz/tesserocr) . (Each processor is a step in the OCR-D functional model, and can be replaced with an alternative implementation. Data is represented within METS/PAGE.)\n\nThis includes image preprocessing (cropping, binarization, deskewing), layout analysis (region, line, word segmentation) and OCR proper. Most processors can operate on different levels of the PAGE hierarchy, depending on the workflow configuration. Image results are referenced (read and written) via `AlternativeImage`, text results via `TextEquiv`, deskewing via `@orientation`, cropping via `Border` and segmentation via `Region` / `TextLine` / `Word` elements with `Coords/@points`.\n\n## Installation\n\n### Required ubuntu packages:\n\n- Tesseract headers (`libtesseract-dev`)\n- Some tesseract language models (`tesseract-ocr-{eng,deu,frk,...}` or script models (`tesseract-ocr-script-{latn,frak,...}`)\n- Leptonica headers (`libleptonica-dev`)\n\n### From PyPI\n\nThis is the best option if you want to use the stable, released version.\n\n---\n\n**NOTE**\n\nocrd_tesserocr requires **Tesseract >= 4.1.0**. The Tesseract packages\nbundled with **Ubuntu < 19.10** are too old. If you are on Ubuntu 18.04 LTS,\nplease enable [Alexander Pozdnyakov PPA](https://launchpad.net/~alex-p/+archive/ubuntu/tesseract-ocr) which\nhas up-to-date builds of Tesseract and its dependencies:\n\n```sh\nsudo add-apt-repository ppa:alex-p/tesseract-ocr\nsudo apt-get update\n```\n\n---\n\n```sh\nsudo apt-get install git python3 python3-pip libtesseract-dev libleptonica-dev tesseract-ocr-eng tesseract-ocr wget\npip install ocrd_tesserocr\n```\n\n### With docker\n\nThis is the best option if you want to run the software in a container.\n\nYou need to have [Docker](https://docs.docker.com/install/linux/docker-ce/ubuntu/)\n\n```sh\ndocker pull ocrd/tesserocr\n```\n\n### From git \n\nThis is the best option if you want to change the source code or install the latest, unpublished changes.\n\nWe strongly recommend to use [venv](https://packaging.python.org/guides/installing-using-pip-and-virtual-environments/).\n\n```sh\ngit clone https://github.com/OCR-D/ocrd_tesserocr\ncd ocrd_tesserocr\nmake deps-ubuntu # or manually with apt-get\nmake deps        # or pip install -r requirements\nmake install     # or pip install .\n```\n\n## Usage\n\nSee docstrings and in the individual processors and [ocrd-tool.json](ocrd_tesserocr/ocrd-tool.json) descriptions.\n\nAvailable processors are:\n\n- [ocrd-tesserocr-crop](ocrd_tesserocr/crop.py)\n- [ocrd-tesserocr-deskew](ocrd_tesserocr/deskew.py)\n- [ocrd-tesserocr-binarize](ocrd_tesserocr/binarize.py)\n- [ocrd-tesserocr-segment-region](ocrd_tesserocr/segment_region.py)\n- [ocrd-tesserocr-segment-line](ocrd_tesserocr/segment_line.py)\n- [ocrd-tesserocr-segment-word](ocrd_tesserocr/segment_word.py)\n- [ocrd-tesserocr-recognize](ocrd_tesserocr/recognize.py)\n\n## Testing\n\nTo run with docker:\n\n```\ndocker run ocrd/tesserocr ocrd-tesserocrd-crop ...\n```\n\n## Testing\n\n```sh\nmake test\n```\n\nThis downloads some test data from https://github.com/OCR-D/assets under `repo/assets`, and runs some basic test of the Python API as well as the CLIs.\n\nSet `PYTEST_ARGS=\"-s --verbose\"` to see log output (`-s`) and individual test results (`--verbose`).\n\n## Development\n\nLatest changes that require pre-release of [ocrd >= 2.0.0](https://github.com/OCR-D/core/tree/edge) are kept in branch [`edge`](https://github.com/OCR-D/ocrd_tesserocr/tree/edge).\n",
-            "ocrd-tool.json": "{\n  \"version\": \"0.6.0\",\n  \"git_url\": \"https://github.com/OCR-D/ocrd_tesserocr\",\n  \"dockerhub\": \"ocrd/tesserocr\",\n  \"tools\": {\n    \"ocrd-tesserocr-deskew\": {\n      \"executable\": \"ocrd-tesserocr-deskew\",\n      \"categories\": [\"Image preprocessing\"],\n      \"description\": \"Detect script, orientation and skew angle for pages or regions\",\n      \"input_file_grp\": [\n        \"OCR-D-IMG\",\n        \"OCR-D-SEG-BLOCK\"\n      ],\n      \"output_file_grp\": [\n        \"OCR-D-DESKEW-BLOCK\"\n      ],\n      \"steps\": [\"preprocessing/optimization/deskewing\"],\n      \"parameters\": {\n        \"operation_level\": {\n          \"type\": \"string\",\n          \"enum\": [\"page\",\"region\"],\n          \"default\": \"region\",\n          \"description\": \"PAGE XML hierarchy level to operate on\"\n        },\n        \"min_orientation_confidence\": {\n          \"type\": \"number\",\n          \"format\": \"float\",\n          \"default\": 1.5,\n          \"description\": \"Minimum confidence score to apply orientation as detected by OSD\"\n        }\n      }\n    },\n    \"ocrd-tesserocr-recognize\": {\n      \"executable\": \"ocrd-tesserocr-recognize\",\n      \"categories\": [\"Text recognition and optimization\"],\n      \"description\": \"Recognize text in lines with tesseract\",\n      \"input_file_grp\": [\n        \"OCR-D-SEG-BLOCK\",\n        \"OCR-D-SEG-LINE\",\n        \"OCR-D-SEG-WORD\",\n        \"OCR-D-SEG-GLYPH\"\n      ],\n      \"output_file_grp\": [\n        \"OCR-D-OCR-TESS\"\n      ],\n      \"steps\": [\"recognition/text-recognition\"],\n      \"parameters\": {\n        \"textequiv_level\": {\n          \"type\": \"string\",\n          \"enum\": [\"region\", \"line\", \"word\", \"glyph\"],\n          \"default\": \"line\",\n          \"description\": \"PAGE XML hierarchy level to add the TextEquiv results to (requires existing layout annotation up to one level above that)\"\n        },\n        \"overwrite_words\": {\n          \"type\": \"boolean\",\n          \"default\": false,\n          \"description\": \"remove existing layout and text annotation below the TextLine level (regardless of textequiv_level)\"\n        },\n        \"model\": {\n          \"type\": \"string\",\n          \"description\": \"tessdata model to apply (an ISO 639-3 language specification or some other basename, e.g. deu-frak or Fraktur)\"\n        }\n      }\n    },\n     \"ocrd-tesserocr-segment-region\": {\n      \"executable\": \"ocrd-tesserocr-segment-region\",\n      \"categories\": [\"Layout analysis\"],\n      \"description\": \"Segment regions into lines with tesseract\",\n      \"input_file_grp\": [\n        \"OCR-D-IMG\",\n        \"OCR-D-SEG-PAGE\",\n        \"OCR-D-GT-SEG-PAGE\"\n      ],\n      \"output_file_grp\": [\n        \"OCR-D-SEG-BLOCK\"\n      ],\n      \"steps\": [\"layout/segmentation/region\"],\n      \"parameters\": {\n        \"overwrite_regions\": {\n          \"type\": \"boolean\",\n          \"default\": true,\n          \"description\": \"remove existing layout and text annotation below the Page level\"\n        },\n        \"padding\": {\n          \"type\": \"number\",\n          \"format\": \"integer\",\n          \"description\": \"extend detected region rectangles by this many (true) pixels\",\n          \"default\": 0\n        },\n        \"crop_polygons\": {\n          \"type\": \"boolean\",\n          \"default\": false,\n          \"description\": \"annotate polygon coordinates instead of bounding box rectangles\"\n        },\n        \"find_tables\": {\n          \"type\": \"boolean\",\n          \"default\": true,\n          \"description\": \"recognise tables as table regions (textord_tabfind_find_tables)\"\n        }\n      }\n    },\n    \"ocrd-tesserocr-segment-line\": {\n      \"executable\": \"ocrd-tesserocr-segment-line\",\n      \"categories\": [\"Layout analysis\"],\n      \"description\": \"Segment page into regions with tesseract\",\n      \"input_file_grp\": [\n        \"OCR-D-SEG-BLOCK\",\n        \"OCR-D-GT-SEG-BLOCK\"\n      ],\n      \"output_file_grp\": [\n        \"OCR-D-SEG-LINE\"\n      ],\n      \"steps\": [\"layout/segmentation/line\"],\n      \"parameters\": {\n        \"overwrite_lines\": {\n          \"type\": \"boolean\",\n          \"default\": true,\n          \"description\": \"remove existing layout and text annotation below the TextRegion level\"\n        }\n      }\n    },\n    \"ocrd-tesserocr-segment-word\": {\n      \"executable\": \"ocrd-tesserocr-segment-word\",\n      \"categories\": [\"Layout analysis\"],\n      \"description\": \"Segment lines into words with tesseract\",\n      \"input_file_grp\": [\n        \"OCR-D-SEG-LINE\",\n        \"OCR-D-GT-SEG-LINE\"\n      ],\n      \"output_file_grp\": [\n        \"OCR-D-SEG-WORD\"\n      ],\n      \"steps\": [\"layout/segmentation/word\"],\n      \"parameters\": {\n        \"overwrite_words\": {\n          \"type\": \"boolean\",\n          \"default\": true,\n          \"description\": \"remove existing layout and text annotation below the TextLine level\"\n        }\n      }\n    },\n    \"ocrd-tesserocr-crop\": {\n      \"executable\": \"ocrd-tesserocr-crop\",\n      \"categories\": [\"Image preprocessing\"],\n      \"description\": \"Poor man's cropping via region segmentation\",\n      \"input_file_grp\": [\n\t\"OCR-D-IMG\"\n      ],\n      \"output_file_grp\": [\n\t\"OCR-D-SEG-PAGE\"\n      ],\n      \"steps\": [\"preprocessing/optimization/cropping\"],\n      \"parameters\" : {\n        \"padding\": {\n          \"type\": \"number\",\n          \"format\": \"integer\",\n          \"description\": \"extend detected border by this many (true) pixels on every side\",\n          \"default\": 4\n        }\n      }\n    },\n    \"ocrd-tesserocr-binarize\": {\n      \"executable\": \"ocrd-tesserocr-binarize\",\n      \"categories\": [\"Image preprocessing\"],\n      \"description\": \"Binarize regions or lines with Tesseract's global Otsu\",\n      \"input_file_grp\": [\n        \"OCR-D-IMG\",\n        \"OCR-D-SEG-BLOCK\",\n        \"OCR-D-SEG-LINE\"\n      ],\n      \"output_file_grp\": [\n        \"OCR-D-BIN-BLOCK\",\n        \"OCR-D-BIN-LINE\"\n      ],\n      \"steps\": [\"preprocessing/optimization/binarization\"],\n      \"parameters\": {\n        \"operation_level\": {\n          \"type\": \"string\",\n          \"enum\": [\"region\", \"line\"],\n          \"default\": \"region\",\n          \"description\": \"PAGE XML hierarchy level to operate on\"\n        }\n      }\n    }\n  }\n}\n",
-            "setup.py": "# -*- coding: utf-8 -*-\n\"\"\"\nInstalls five executables:\n\n    - ocrd_tesserocr_recognize\n    - ocrd_tesserocr_segment_region\n    - ocrd_tesserocr_segment_line\n    - ocrd_tesserocr_segment_word\n    - ocrd_tesserocr_crop\n    - ocrd_tesserocr_deskew\n    - ocrd_tesserocr_binarize\n\"\"\"\nimport codecs\n\nfrom setuptools import setup, find_packages\n\nsetup(\n    name='ocrd_tesserocr',\n    version='0.6.0',\n    description='Tesserocr bindings',\n    long_description=codecs.open('README.md', encoding='utf-8').read(),\n    long_description_content_type='text/markdown',\n    author='Konstantin Baierer, Kay-Michael W\u00fcrzner, Robert Sachunsky',\n    author_email='unixprog@gmail.com, wuerzner@gmail.com, sachunsky@informatik.uni-leipzig.de',\n    url='https://github.com/OCR-D/ocrd_tesserocr',\n    license='Apache License 2.0',\n    packages=find_packages(exclude=('tests', 'docs')),\n    install_requires=open('requirements.txt').read().split('\\n'),\n    package_data={\n        '': ['*.json', '*.yml', '*.yaml'],\n    },\n    entry_points={\n        'console_scripts': [\n            'ocrd-tesserocr-recognize=ocrd_tesserocr.cli:ocrd_tesserocr_recognize',\n            'ocrd-tesserocr-segment-region=ocrd_tesserocr.cli:ocrd_tesserocr_segment_region',\n            'ocrd-tesserocr-segment-line=ocrd_tesserocr.cli:ocrd_tesserocr_segment_line',\n            'ocrd-tesserocr-segment-word=ocrd_tesserocr.cli:ocrd_tesserocr_segment_word',\n            'ocrd-tesserocr-crop=ocrd_tesserocr.cli:ocrd_tesserocr_crop',\n            'ocrd-tesserocr-deskew=ocrd_tesserocr.cli:ocrd_tesserocr_deskew',\n            'ocrd-tesserocr-binarize=ocrd_tesserocr.cli:ocrd_tesserocr_binarize',\n        ]\n    },\n)\n"
-        },
-        "git": {
-            "last_commit": "Sat Dec 7 17:24:23 2019 +0100",
-            "latest_tag": "v0.6.0",
-            "number_of_commits": "303",
-            "url": "https://github.com/OCR-D/ocrd_tesserocr.git"
-        },
-        "name": "ocrd_tesserocr",
-        "ocrd_tool": {
-            "dockerhub": "ocrd/tesserocr",
-            "git_url": "https://github.com/OCR-D/ocrd_tesserocr",
-            "tools": {
-                "ocrd-tesserocr-binarize": {
-                    "categories": [
-                        "Image preprocessing"
-                    ],
-                    "description": "Binarize regions or lines with Tesseract's global Otsu",
-                    "executable": "ocrd-tesserocr-binarize",
-                    "input_file_grp": [
-                        "OCR-D-IMG",
-                        "OCR-D-SEG-BLOCK",
-                        "OCR-D-SEG-LINE"
-                    ],
-                    "output_file_grp": [
-                        "OCR-D-BIN-BLOCK",
-                        "OCR-D-BIN-LINE"
-                    ],
-                    "parameters": {
-                        "operation_level": {
-                            "default": "region",
-                            "description": "PAGE XML hierarchy level to operate on",
-                            "enum": [
-                                "region",
-                                "line"
-                            ],
-                            "type": "string"
-                        }
-                    },
-                    "steps": [
-                        "preprocessing/optimization/binarization"
-                    ]
-                },
-                "ocrd-tesserocr-crop": {
-                    "categories": [
-                        "Image preprocessing"
-                    ],
-                    "description": "Poor man's cropping via region segmentation",
-                    "executable": "ocrd-tesserocr-crop",
-                    "input_file_grp": [
-                        "OCR-D-IMG"
-                    ],
-                    "output_file_grp": [
-                        "OCR-D-SEG-PAGE"
-                    ],
-                    "parameters": {
-                        "padding": {
-                            "default": 4,
-                            "description": "extend detected border by this many (true) pixels on every side",
-                            "format": "integer",
-                            "type": "number"
-                        }
-                    },
-                    "steps": [
-                        "preprocessing/optimization/cropping"
-                    ]
-                },
-                "ocrd-tesserocr-deskew": {
-                    "categories": [
-                        "Image preprocessing"
-                    ],
-                    "description": "Detect script, orientation and skew angle for pages or regions",
-                    "executable": "ocrd-tesserocr-deskew",
-                    "input_file_grp": [
-                        "OCR-D-IMG",
-                        "OCR-D-SEG-BLOCK"
-                    ],
-                    "output_file_grp": [
-                        "OCR-D-DESKEW-BLOCK"
-                    ],
-                    "parameters": {
-                        "min_orientation_confidence": {
-                            "default": 1.5,
-                            "description": "Minimum confidence score to apply orientation as detected by OSD",
-                            "format": "float",
-                            "type": "number"
-                        },
-                        "operation_level": {
-                            "default": "region",
-                            "description": "PAGE XML hierarchy level to operate on",
-                            "enum": [
-                                "page",
-                                "region"
-                            ],
-                            "type": "string"
-                        }
-                    },
-                    "steps": [
-                        "preprocessing/optimization/deskewing"
-                    ]
-                },
-                "ocrd-tesserocr-recognize": {
-                    "categories": [
-                        "Text recognition and optimization"
-                    ],
-                    "description": "Recognize text in lines with tesseract",
-                    "executable": "ocrd-tesserocr-recognize",
-                    "input_file_grp": [
-                        "OCR-D-SEG-BLOCK",
-                        "OCR-D-SEG-LINE",
-                        "OCR-D-SEG-WORD",
-                        "OCR-D-SEG-GLYPH"
-                    ],
-                    "output_file_grp": [
-                        "OCR-D-OCR-TESS"
-                    ],
-                    "parameters": {
-                        "model": {
-                            "description": "tessdata model to apply (an ISO 639-3 language specification or some other basename, e.g. deu-frak or Fraktur)",
-                            "type": "string"
-                        },
-                        "overwrite_words": {
-                            "default": false,
-                            "description": "remove existing layout and text annotation below the TextLine level (regardless of textequiv_level)",
-                            "type": "boolean"
-                        },
-                        "textequiv_level": {
-                            "default": "line",
-                            "description": "PAGE XML hierarchy level to add the TextEquiv results to (requires existing layout annotation up to one level above that)",
-                            "enum": [
-                                "region",
-                                "line",
-                                "word",
-                                "glyph"
-                            ],
-                            "type": "string"
-                        }
-                    },
-                    "steps": [
-                        "recognition/text-recognition"
-                    ]
-                },
-                "ocrd-tesserocr-segment-line": {
-                    "categories": [
-                        "Layout analysis"
-                    ],
-                    "description": "Segment page into regions with tesseract",
-                    "executable": "ocrd-tesserocr-segment-line",
-                    "input_file_grp": [
-                        "OCR-D-SEG-BLOCK",
-                        "OCR-D-GT-SEG-BLOCK"
-                    ],
-                    "output_file_grp": [
-                        "OCR-D-SEG-LINE"
-                    ],
-                    "parameters": {
-                        "overwrite_lines": {
-                            "default": true,
-                            "description": "remove existing layout and text annotation below the TextRegion level",
-                            "type": "boolean"
-                        }
-                    },
-                    "steps": [
-                        "layout/segmentation/line"
-                    ]
-                },
-                "ocrd-tesserocr-segment-region": {
-                    "categories": [
-                        "Layout analysis"
-                    ],
-                    "description": "Segment regions into lines with tesseract",
-                    "executable": "ocrd-tesserocr-segment-region",
-                    "input_file_grp": [
-                        "OCR-D-IMG",
-                        "OCR-D-SEG-PAGE",
-                        "OCR-D-GT-SEG-PAGE"
-                    ],
-                    "output_file_grp": [
-                        "OCR-D-SEG-BLOCK"
-                    ],
-                    "parameters": {
-                        "crop_polygons": {
-                            "default": false,
-                            "description": "annotate polygon coordinates instead of bounding box rectangles",
-                            "type": "boolean"
-                        },
-                        "find_tables": {
-                            "default": true,
-                            "description": "recognise tables as table regions (textord_tabfind_find_tables)",
-                            "type": "boolean"
-                        },
-                        "overwrite_regions": {
-                            "default": true,
-                            "description": "remove existing layout and text annotation below the Page level",
-                            "type": "boolean"
-                        },
-                        "padding": {
-                            "default": 0,
-                            "description": "extend detected region rectangles by this many (true) pixels",
-                            "format": "integer",
-                            "type": "number"
-                        }
-                    },
-                    "steps": [
-                        "layout/segmentation/region"
-                    ]
-                },
-                "ocrd-tesserocr-segment-word": {
-                    "categories": [
-                        "Layout analysis"
-                    ],
-                    "description": "Segment lines into words with tesseract",
-                    "executable": "ocrd-tesserocr-segment-word",
-                    "input_file_grp": [
-                        "OCR-D-SEG-LINE",
-                        "OCR-D-GT-SEG-LINE"
-                    ],
-                    "output_file_grp": [
-                        "OCR-D-SEG-WORD"
-                    ],
-                    "parameters": {
-                        "overwrite_words": {
-                            "default": true,
-                            "description": "remove existing layout and text annotation below the TextLine level",
-                            "type": "boolean"
-                        }
-                    },
-                    "steps": [
-                        "layout/segmentation/word"
-                    ]
-                }
-            },
-            "version": "0.6.0"
-        },
-        "ocrd_tool_validate": "<report valid=\"true\">\n</report>",
-        "official": true,
-        "org_plus_name": "OCR-D/ocrd_tesserocr",
-        "python": {
-            "author": "Konstantin Baierer, Kay-Michael W\u00fcrzner, Robert Sachunsky",
-            "author-email": "unixprog@gmail.com, wuerzner@gmail.com, sachunsky@informatik.uni-leipzig.de",
-            "name": "ocrd_tesserocr",
-            "pypi": {
-                "info": {
-                    "author": "Konstantin Baierer, Kay-Michael W\u00fcrzner, Robert Sachunsky",
-                    "author_email": "unixprog@gmail.com, wuerzner@gmail.com, sachunsky@informatik.uni-leipzig.de",
-                    "bugtrack_url": null,
-                    "classifiers": [],
-                    "description": "# ocrd_tesserocr\n\n> Crop, deskew, segment into regions / lines / words, or recognize with tesserocr\n\n[![image](https://circleci.com/gh/OCR-D/ocrd_tesserocr.svg?style=svg)](https://circleci.com/gh/OCR-D/ocrd_tesserocr)\n[![image](https://img.shields.io/pypi/v/ocrd_tesserocr.svg)](https://pypi.org/project/ocrd_tesserocr/)\n[![image](https://codecov.io/gh/OCR-D/ocrd_tesserocr/branch/master/graph/badge.svg)](https://codecov.io/gh/OCR-D/ocrd_tesserocr)\n[![Docker Automated build](https://img.shields.io/docker/automated/ocrd/tesserocr.svg)](https://hub.docker.com/r/ocrd/tesserocr/tags/)\n\n## Introduction\n\nThis offers [OCR-D](https://ocr-d.github.io) compliant workspace processors for (much of) the functionality of [Tesseract](https://github.com/tesseract-ocr) via its Python API wrapper [tesserocr](https://github.com/sirfz/tesserocr) . (Each processor is a step in the OCR-D functional model, and can be replaced with an alternative implementation. Data is represented within METS/PAGE.)\n\nThis includes image preprocessing (cropping, binarization, deskewing), layout analysis (region, line, word segmentation) and OCR proper. Most processors can operate on different levels of the PAGE hierarchy, depending on the workflow configuration. Image results are referenced (read and written) via `AlternativeImage`, text results via `TextEquiv`, deskewing via `@orientation`, cropping via `Border` and segmentation via `Region` / `TextLine` / `Word` elements with `Coords/@points`.\n\n## Installation\n\n### Required ubuntu packages:\n\n- Tesseract headers (`libtesseract-dev`)\n- Some tesseract language models (`tesseract-ocr-{eng,deu,frk,...}` or script models (`tesseract-ocr-script-{latn,frak,...}`)\n- Leptonica headers (`libleptonica-dev`)\n\n### From PyPI\n\nThis is the best option if you want to use the stable, released version.\n\n---\n\n**NOTE**\n\nocrd_tesserocr requires **Tesseract >= 4.1.0**. The Tesseract packages\nbundled with **Ubuntu < 19.10** are too old. If you are on Ubuntu 18.04 LTS,\nplease enable [Alexander Pozdnyakov PPA](https://launchpad.net/~alex-p/+archive/ubuntu/tesseract-ocr) which\nhas up-to-date builds of Tesseract and its dependencies:\n\n```sh\nsudo add-apt-repository ppa:alex-p/tesseract-ocr\nsudo apt-get update\n```\n\n---\n\n```sh\nsudo apt-get install git python3 python3-pip libtesseract-dev libleptonica-dev tesseract-ocr-eng tesseract-ocr wget\npip install ocrd_tesserocr\n```\n\n### With docker\n\nThis is the best option if you want to run the software in a container.\n\nYou need to have [Docker](https://docs.docker.com/install/linux/docker-ce/ubuntu/)\n\n```sh\ndocker pull ocrd/tesserocr\n```\n\n### From git \n\nThis is the best option if you want to change the source code or install the latest, unpublished changes.\n\nWe strongly recommend to use [venv](https://packaging.python.org/guides/installing-using-pip-and-virtual-environments/).\n\n```sh\ngit clone https://github.com/OCR-D/ocrd_tesserocr\ncd ocrd_tesserocr\nmake deps-ubuntu # or manually with apt-get\nmake deps        # or pip install -r requirements\nmake install     # or pip install .\n```\n\n## Usage\n\nSee docstrings and in the individual processors and [ocrd-tool.json](ocrd_tesserocr/ocrd-tool.json) descriptions.\n\nAvailable processors are:\n\n- [ocrd-tesserocr-crop](ocrd_tesserocr/crop.py)\n- [ocrd-tesserocr-deskew](ocrd_tesserocr/deskew.py)\n- [ocrd-tesserocr-binarize](ocrd_tesserocr/binarize.py)\n- [ocrd-tesserocr-segment-region](ocrd_tesserocr/segment_region.py)\n- [ocrd-tesserocr-segment-line](ocrd_tesserocr/segment_line.py)\n- [ocrd-tesserocr-segment-word](ocrd_tesserocr/segment_word.py)\n- [ocrd-tesserocr-recognize](ocrd_tesserocr/recognize.py)\n\n## Testing\n\nTo run with docker:\n\n```\ndocker run ocrd/tesserocr ocrd-tesserocrd-crop ...\n```\n\n## Testing\n\n```sh\nmake test\n```\n\nThis downloads some test data from https://github.com/OCR-D/assets under `repo/assets`, and runs some basic test of the Python API as well as the CLIs.\n\nSet `PYTEST_ARGS=\"-s --verbose\"` to see log output (`-s`) and individual test results (`--verbose`).\n\n## Development\n\nLatest changes that require pre-release of [ocrd >= 2.0.0](https://github.com/OCR-D/core/tree/edge) are kept in branch [`edge`](https://github.com/OCR-D/ocrd_tesserocr/tree/edge).\n\n\n",
-                    "description_content_type": "text/markdown",
-                    "docs_url": null,
-                    "download_url": "",
-                    "downloads": {
-                        "last_day": -1,
-                        "last_month": -1,
-                        "last_week": -1
-                    },
-                    "home_page": "https://github.com/OCR-D/ocrd_tesserocr",
-                    "keywords": "",
-                    "license": "Apache License 2.0",
-                    "maintainer": "",
-                    "maintainer_email": "",
-                    "name": "ocrd-tesserocr",
-                    "package_url": "https://pypi.org/project/ocrd-tesserocr/",
-                    "platform": "",
-                    "project_url": "https://pypi.org/project/ocrd-tesserocr/",
-                    "project_urls": {
-                        "Homepage": "https://github.com/OCR-D/ocrd_tesserocr"
-                    },
-                    "release_url": "https://pypi.org/project/ocrd-tesserocr/0.6.0/",
-                    "requires_dist": [
-                        "ocrd (>=2.0.0)",
-                        "click",
-                        "tesserocr (>=2.4.1)"
-                    ],
-                    "requires_python": "",
-                    "summary": "Tesserocr bindings",
-                    "version": "0.6.0"
-                },
-                "last_serial": 6235447,
-                "releases": {
-                    "0.1.0": [
-                        {
-                            "comment_text": "",
-                            "digests": {
-                                "md5": "e12ea0e2f580c6e152d334c470029dc2",
-                                "sha256": "64ec4e7a43ddaf199af7da8966996e260454dae4d30f79cb112149cddf5b8fd2"
-                            },
-                            "downloads": -1,
-                            "filename": "ocrd_tesserocr-0.1.0-py2-none-any.whl",
-                            "has_sig": false,
-                            "md5_digest": "e12ea0e2f580c6e152d334c470029dc2",
-                            "packagetype": "bdist_wheel",
-                            "python_version": "py2",
-                            "requires_python": null,
-                            "size": 17089,
-                            "upload_time": "2018-08-31T14:13:24",
-                            "upload_time_iso_8601": "2018-08-31T14:13:24.592860Z",
-                            "url": "https://files.pythonhosted.org/packages/07/63/e617002f9c2013f8a9ce10baeab48acffc0dff3d21ab160ee67428e08ebd/ocrd_tesserocr-0.1.0-py2-none-any.whl"
-                        },
-                        {
-                            "comment_text": "",
-                            "digests": {
-                                "md5": "ad528712e13eecf578b236a7ab8457cd",
-                                "sha256": "b2a7fd61a97bb222f2ac5a6f85b3d2ce43da843509993eef189f09b48f44027f"
-                            },
-                            "downloads": -1,
-                            "filename": "ocrd_tesserocr-0.1.0-py3-none-any.whl",
-                            "has_sig": false,
-                            "md5_digest": "ad528712e13eecf578b236a7ab8457cd",
-                            "packagetype": "bdist_wheel",
-                            "python_version": "py3",
-                            "requires_python": null,
-                            "size": 15424,
-                            "upload_time": "2018-08-31T14:13:25",
-                            "upload_time_iso_8601": "2018-08-31T14:13:25.913866Z",
-                            "url": "https://files.pythonhosted.org/packages/4d/48/282d1d793137f1ec30118a9a0bd48534a6a8053bc74a830b6c4eb389653f/ocrd_tesserocr-0.1.0-py3-none-any.whl"
-                        },
-                        {
-                            "comment_text": "",
-                            "digests": {
-                                "md5": "d45fa7a24f23d22313e4314df42cf984",
-                                "sha256": "3fecd0a93d9a711552fbd2cf15af1f150f04f503f7b3f09d9c025267601bb42d"
-                            },
-                            "downloads": -1,
-                            "filename": "ocrd_tesserocr-0.1.0.tar.gz",
-                            "has_sig": false,
-                            "md5_digest": "d45fa7a24f23d22313e4314df42cf984",
-                            "packagetype": "sdist",
-                            "python_version": "source",
-                            "requires_python": null,
-                            "size": 9234,
-                            "upload_time": "2018-08-31T14:13:27",
-                            "upload_time_iso_8601": "2018-08-31T14:13:27.040863Z",
-                            "url": "https://files.pythonhosted.org/packages/eb/a7/66775daafba5937821fd643b6d1069570b262af3a48d701712d2a94350a2/ocrd_tesserocr-0.1.0.tar.gz"
-                        }
-                    ],
-                    "0.1.1": [
-                        {
-                            "comment_text": "",
-                            "digests": {
-                                "md5": "fab719d99117d974ca24e63cdf6af83e",
-                                "sha256": "d474e372af4266ab4343570c47a448f9f68b3c002f970717663b64acabe1dbe4"
-                            },
-                            "downloads": -1,
-                            "filename": "ocrd_tesserocr-0.1.1-py2-none-any.whl",
-                            "has_sig": false,
-                            "md5_digest": "fab719d99117d974ca24e63cdf6af83e",
-                            "packagetype": "bdist_wheel",
-                            "python_version": "py2",
-                            "requires_python": null,
-                            "size": 15461,
-                            "upload_time": "2018-08-31T14:18:51",
-                            "upload_time_iso_8601": "2018-08-31T14:18:51.905308Z",
-                            "url": "https://files.pythonhosted.org/packages/5c/95/7f29b87ff5be4fdd149400855862840de4681b669d3fda60a2ce8bf24127/ocrd_tesserocr-0.1.1-py2-none-any.whl"
-                        },
-                        {
-                            "comment_text": "",
-                            "digests": {
-                                "md5": "cfef79e48dc96f865deff1b89fa28aa6",
-                                "sha256": "3c0f56fc2c88ec1ea2461eb0610763443b9af279c5260b08a1be079c92bed5c6"
-                            },
-                            "downloads": -1,
-                            "filename": "ocrd_tesserocr-0.1.1-py3-none-any.whl",
-                            "has_sig": false,
-                            "md5_digest": "cfef79e48dc96f865deff1b89fa28aa6",
-                            "packagetype": "bdist_wheel",
-                            "python_version": "py3",
-                            "requires_python": null,
-                            "size": 15461,
-                            "upload_time": "2018-08-31T14:18:53",
-                            "upload_time_iso_8601": "2018-08-31T14:18:53.535866Z",
-                            "url": "https://files.pythonhosted.org/packages/da/23/fb5e1e125f1fda3b1069960426c5b40a9c5e12fe8f73ac29244888cf110b/ocrd_tesserocr-0.1.1-py3-none-any.whl"
-                        },
-                        {
-                            "comment_text": "",
-                            "digests": {
-                                "md5": "0dbecd3bc62199f7294a039c4c8557c3",
-                                "sha256": "2de460c4d3218ac6e3133b498c01ee7428770edcd60a02f65793ae4006f3db82"
-                            },
-                            "downloads": -1,
-                            "filename": "ocrd_tesserocr-0.1.1.tar.gz",
-                            "has_sig": false,
-                            "md5_digest": "0dbecd3bc62199f7294a039c4c8557c3",
-                            "packagetype": "sdist",
-                            "python_version": "source",
-                            "requires_python": null,
-                            "size": 9251,
-                            "upload_time": "2018-08-31T14:18:54",
-                            "upload_time_iso_8601": "2018-08-31T14:18:54.917641Z",
-                            "url": "https://files.pythonhosted.org/packages/31/73/c2044ae57f402e21947ceb97f574625cf534eccbf432f6916c419cf3d7e7/ocrd_tesserocr-0.1.1.tar.gz"
-                        }
-                    ],
-                    "0.1.2": [
-                        {
-                            "comment_text": "",
-                            "digests": {
-                                "md5": "215dd5bba309954a15fc1be4919cd018",
-                                "sha256": "b2409adbb5c529b05eba8be5a9d1c7e11660dc2626bcaf61b407b617d5c7c99e"
-                            },
-                            "downloads": -1,
-                            "filename": "ocrd_tesserocr-0.1.2-py3-none-any.whl",
-                            "has_sig": false,
-                            "md5_digest": "215dd5bba309954a15fc1be4919cd018",
-                            "packagetype": "bdist_wheel",
-                            "python_version": "py3",
-                            "requires_python": null,
-                            "size": 15453,
-                            "upload_time": "2018-09-03T13:14:20",
-                            "upload_time_iso_8601": "2018-09-03T13:14:20.618650Z",
-                            "url": "https://files.pythonhosted.org/packages/c1/ca/38355a461d8e29d7039391f5051be291d6a425b078783adb1ebb6ba10e55/ocrd_tesserocr-0.1.2-py3-none-any.whl"
-                        },
-                        {
-                            "comment_text": "",
-                            "digests": {
-                                "md5": "b59d049bbfc890edd7a17f3bd596b42a",
-                                "sha256": "fbde4fc1a5a0340507b6d96bd529a42162e732b7cca31e968b28f6a4fcdccd12"
-                            },
-                            "downloads": -1,
-                            "filename": "ocrd_tesserocr-0.1.2.tar.gz",
-                            "has_sig": false,
-                            "md5_digest": "b59d049bbfc890edd7a17f3bd596b42a",
-                            "packagetype": "sdist",
-                            "python_version": "source",
-                            "requires_python": null,
-                            "size": 9242,
-                            "upload_time": "2018-09-03T13:14:21",
-                            "upload_time_iso_8601": "2018-09-03T13:14:21.805810Z",
-                            "url": "https://files.pythonhosted.org/packages/1b/fe/b365c2ffddea53e616408f0213e45614ce3791ead2058df33a795ddc3d21/ocrd_tesserocr-0.1.2.tar.gz"
-                        }
-                    ],
-                    "0.1.3": [
-                        {
-                            "comment_text": "",
-                            "digests": {
-                                "md5": "0f69aed68ca01cf1018b35d91227d74a",
-                                "sha256": "1549fbf8d314dc1f5ea20b45842e971a97b3c276f78d4d167a463432d5b77b18"
-                            },
-                            "downloads": -1,
-                            "filename": "ocrd_tesserocr-0.1.3-py2-none-any.whl",
-                            "has_sig": false,
-                            "md5_digest": "0f69aed68ca01cf1018b35d91227d74a",
-                            "packagetype": "bdist_wheel",
-                            "python_version": "py2",
-                            "requires_python": null,
-                            "size": 17420,
-                            "upload_time": "2019-01-04T13:36:12",
-                            "upload_time_iso_8601": "2019-01-04T13:36:12.698851Z",
-                            "url": "https://files.pythonhosted.org/packages/18/7f/fd08ca819e6f3980220ac680b5c931080247544c2704963e518db6f7a3d0/ocrd_tesserocr-0.1.3-py2-none-any.whl"
-                        },
-                        {
-                            "comment_text": "",
-                            "digests": {
-                                "md5": "bbc586d5a04c44b640d7782a84e2de83",
-                                "sha256": "1648df71d28a9b3388f1e701256037eb9023f149a17a22d0a9c2dec4a0510002"
-                            },
-                            "downloads": -1,
-                            "filename": "ocrd_tesserocr-0.1.3-py3-none-any.whl",
-                            "has_sig": false,
-                            "md5_digest": "bbc586d5a04c44b640d7782a84e2de83",
-                            "packagetype": "bdist_wheel",
-                            "python_version": "py3",
-                            "requires_python": null,
-                            "size": 15729,
-                            "upload_time": "2019-01-04T13:36:14",
-                            "upload_time_iso_8601": "2019-01-04T13:36:14.276437Z",
-                            "url": "https://files.pythonhosted.org/packages/34/08/ea3ebc9476e1d28672e23b8d1332dbbc95ac9a3246cd7d02be2375995da6/ocrd_tesserocr-0.1.3-py3-none-any.whl"
-                        },
-                        {
-                            "comment_text": "",
-                            "digests": {
-                                "md5": "3f7f434d236449d567213324856c521a",
-                                "sha256": "6ec1b6c5cb4395f6f4e7356219e7019612fdcda685b511de7171dcaf4f39a439"
-                            },
-                            "downloads": -1,
-                            "filename": "ocrd_tesserocr-0.1.3.tar.gz",
-                            "has_sig": false,
-                            "md5_digest": "3f7f434d236449d567213324856c521a",
-                            "packagetype": "sdist",
-                            "python_version": "source",
-                            "requires_python": null,
-                            "size": 9442,
-                            "upload_time": "2019-01-04T13:36:15",
-                            "upload_time_iso_8601": "2019-01-04T13:36:15.802793Z",
-                            "url": "https://files.pythonhosted.org/packages/f3/10/d1b3c66b891193ccc07200d93391cbcfe9c4c5ea2bb1cac045e7d1cf1fa6/ocrd_tesserocr-0.1.3.tar.gz"
-                        }
-                    ],
-                    "0.2.0": [
-                        {
-                            "comment_text": "",
-                            "digests": {
-                                "md5": "e5e19ec5b8786ef3ae8b456e8180b3da",
-                                "sha256": "f61661e4cba7b77336dcabc6117d1e4fa90357ec98f263eacfc2c836e3a477f4"
-                            },
-                            "downloads": -1,
-                            "filename": "ocrd_tesserocr-0.2.0-py3-none-any.whl",
-                            "has_sig": false,
-                            "md5_digest": "e5e19ec5b8786ef3ae8b456e8180b3da",
-                            "packagetype": "bdist_wheel",
-                            "python_version": "py3",
-                            "requires_python": null,
-                            "size": 16547,
-                            "upload_time": "2019-02-28T10:12:21",
-                            "upload_time_iso_8601": "2019-02-28T10:12:21.318896Z",
-                            "url": "https://files.pythonhosted.org/packages/d1/94/606de830cdba1f81928dc42a71f7e58cc6510d6a8b0f9e945c01f56ee3e7/ocrd_tesserocr-0.2.0-py3-none-any.whl"
-                        },
-                        {
-                            "comment_text": "",
-                            "digests": {
-                                "md5": "9a06170c3773b520b13c9516b0497a33",
-                                "sha256": "05cc4be3ae1404afd45d8b9278d19fcd6a1ea86d376f52f571fefc4af4d96b86"
-                            },
-                            "downloads": -1,
-                            "filename": "ocrd_tesserocr-0.2.0.tar.gz",
-                            "has_sig": false,
-                            "md5_digest": "9a06170c3773b520b13c9516b0497a33",
-                            "packagetype": "sdist",
-                            "python_version": "source",
-                            "requires_python": null,
-                            "size": 10356,
-                            "upload_time": "2019-02-28T10:12:22",
-                            "upload_time_iso_8601": "2019-02-28T10:12:22.854225Z",
-                            "url": "https://files.pythonhosted.org/packages/50/1c/eda34c75846857877176db4f4f0564e8b7c979a872e4c2a521fa8c389fbb/ocrd_tesserocr-0.2.0.tar.gz"
-                        }
-                    ],
-                    "0.2.1": [
-                        {
-                            "comment_text": "",
-                            "digests": {
-                                "md5": "43d7c9b609a3d2e27bcb05bd409cebbc",
-                                "sha256": "fd8c18ce5d170e766bccd34c2214e5de22ea13f795bc79642e8be2414c550f2a"
-                            },
-                            "downloads": -1,
-                            "filename": "ocrd_tesserocr-0.2.1-py3-none-any.whl",
-                            "has_sig": false,
-                            "md5_digest": "43d7c9b609a3d2e27bcb05bd409cebbc",
-                            "packagetype": "bdist_wheel",
-                            "python_version": "py3",
-                            "requires_python": null,
-                            "size": 15963,
-                            "upload_time": "2019-04-16T14:58:44",
-                            "upload_time_iso_8601": "2019-04-16T14:58:44.123075Z",
-                            "url": "https://files.pythonhosted.org/packages/39/af/10f4d710bde5515131fc16ea3408670af8e786998a1e0f6d127e800fbc17/ocrd_tesserocr-0.2.1-py3-none-any.whl"
-                        },
-                        {
-                            "comment_text": "",
-                            "digests": {
-                                "md5": "b9d79ed8396cc81728525c6e66bc2883",
-                                "sha256": "40f4776bc548be14245de726e744f827742f02e568f6062cc465d6a585624cae"
-                            },
-                            "downloads": -1,
-                            "filename": "ocrd_tesserocr-0.2.1.tar.gz",
-                            "has_sig": false,
-                            "md5_digest": "b9d79ed8396cc81728525c6e66bc2883",
-                            "packagetype": "sdist",
-                            "python_version": "source",
-                            "requires_python": null,
-                            "size": 9534,
-                            "upload_time": "2019-04-16T14:58:45",
-                            "upload_time_iso_8601": "2019-04-16T14:58:45.820115Z",
-                            "url": "https://files.pythonhosted.org/packages/df/cc/fd5b999abcae94ff2116a25e31f593b95f0dda4486d89bd4e83d6671b805/ocrd_tesserocr-0.2.1.tar.gz"
-                        }
-                    ],
-                    "0.2.2": [
-                        {
-                            "comment_text": "",
-                            "digests": {
-                                "md5": "df13430385faf1faeb9d8bca34e1ca08",
-                                "sha256": "7ccdeb2a24f9d93ec6668d02807a4f5fa31d88789a3101ad1fd4ea003128ca65"
-                            },
-                            "downloads": -1,
-                            "filename": "ocrd_tesserocr-0.2.2-py3-none-any.whl",
-                            "has_sig": false,
-                            "md5_digest": "df13430385faf1faeb9d8bca34e1ca08",
-                            "packagetype": "bdist_wheel",
-                            "python_version": "py3",
-                            "requires_python": null,
-                            "size": 18334,
-                            "upload_time": "2019-05-20T10:24:06",
-                            "upload_time_iso_8601": "2019-05-20T10:24:06.855632Z",
-                            "url": "https://files.pythonhosted.org/packages/4e/5f/37ec32a07681542a1d34fa9764c76ef34d201a82489335d154d34e8b46b2/ocrd_tesserocr-0.2.2-py3-none-any.whl"
-                        },
-                        {
-                            "comment_text": "",
-                            "digests": {
-                                "md5": "d985dfeeedd9946a32e30ec079c3dac3",
-                                "sha256": "ad96c009bcf39b8f9e99f3e58b736ab385e5683935b9146ed9e39e8e8883b4c2"
-                            },
-                            "downloads": -1,
-                            "filename": "ocrd_tesserocr-0.2.2.tar.gz",
-                            "has_sig": false,
-                            "md5_digest": "d985dfeeedd9946a32e30ec079c3dac3",
-                            "packagetype": "sdist",
-                            "python_version": "source",
-                            "requires_python": null,
-                            "size": 10990,
-                            "upload_time": "2019-05-20T10:24:08",
-                            "upload_time_iso_8601": "2019-05-20T10:24:08.563041Z",
-                            "url": "https://files.pythonhosted.org/packages/38/53/c0186de6ad8429e6b8e0f5e5ac51a8a3d51a2c71bcb597a5879313bf2a2d/ocrd_tesserocr-0.2.2.tar.gz"
-                        }
-                    ],
-                    "0.3.0": [
-                        {
-                            "comment_text": "",
-                            "digests": {
-                                "md5": "06790327b49f97d4ed656fb842b36511",
-                                "sha256": "09f23770905034ed00f7cb516a907288512a4d21305914b6e2dd7215b9138c6e"
-                            },
-                            "downloads": -1,
-                            "filename": "ocrd_tesserocr-0.3.0-py3-none-any.whl",
-                            "has_sig": false,
-                            "md5_digest": "06790327b49f97d4ed656fb842b36511",
-                            "packagetype": "bdist_wheel",
-                            "python_version": "py3",
-                            "requires_python": null,
-                            "size": 34706,
-                            "upload_time": "2019-08-21T14:42:39",
-                            "upload_time_iso_8601": "2019-08-21T14:42:39.261053Z",
-                            "url": "https://files.pythonhosted.org/packages/b2/b5/8a890997a3f874498a1f596f3ebdb765daa181858a46cc5a66949945adf8/ocrd_tesserocr-0.3.0-py3-none-any.whl"
-                        },
-                        {
-                            "comment_text": "",
-                            "digests": {
-                                "md5": "40be922772cb0f0ad188aa4345bbad9a",
-                                "sha256": "11b6742c4c398ea800d0b17276f0efd8a91ccbd6f0c1df05d7046c3e401a33c8"
-                            },
-                            "downloads": -1,
-                            "filename": "ocrd_tesserocr-0.3.0.tar.gz",
-                            "has_sig": false,
-                            "md5_digest": "40be922772cb0f0ad188aa4345bbad9a",
-                            "packagetype": "sdist",
-                            "python_version": "source",
-                            "requires_python": null,
-                            "size": 22743,
-                            "upload_time": "2019-08-21T14:42:40",
-                            "upload_time_iso_8601": "2019-08-21T14:42:40.918776Z",
-                            "url": "https://files.pythonhosted.org/packages/f3/fa/10af8e05b04c55680b20582c18bed55ffa846bfa65948c6b6138252a8434/ocrd_tesserocr-0.3.0.tar.gz"
-                        }
-                    ],
-                    "0.4.0": [
-                        {
-                            "comment_text": "",
-                            "digests": {
-                                "md5": "9d5ea4deb4c75bae31b7d44a4a8fdd0a",
-                                "sha256": "4822713547e696dbb327a80f9dd5bad705be4b7dc1f44fdef1d44f9e03c21c1d"
-                            },
-                            "downloads": -1,
-                            "filename": "ocrd_tesserocr-0.4.0-py3-none-any.whl",
-                            "has_sig": false,
-                            "md5_digest": "9d5ea4deb4c75bae31b7d44a4a8fdd0a",
-                            "packagetype": "bdist_wheel",
-                            "python_version": "py3",
-                            "requires_python": null,
-                            "size": 37231,
-                            "upload_time": "2019-08-21T16:47:05",
-                            "upload_time_iso_8601": "2019-08-21T16:47:05.083051Z",
-                            "url": "https://files.pythonhosted.org/packages/ee/2b/483b44bf3180e81aa8a5bf7307ae47da4d1656e69dec1a704f9a8d558b88/ocrd_tesserocr-0.4.0-py3-none-any.whl"
-                        },
-                        {
-                            "comment_text": "",
-                            "digests": {
-                                "md5": "91e09cbc5208905353c22f07029db316",
-                                "sha256": "616bf420794ef71bcc372fa4c29775c48d6909d01b6849e2d0be83766cd0ed90"
-                            },
-                            "downloads": -1,
-                            "filename": "ocrd_tesserocr-0.4.0.tar.gz",
-                            "has_sig": false,
-                            "md5_digest": "91e09cbc5208905353c22f07029db316",
-                            "packagetype": "sdist",
-                            "python_version": "source",
-                            "requires_python": null,
-                            "size": 19943,
-                            "upload_time": "2019-08-21T16:47:06",
-                            "upload_time_iso_8601": "2019-08-21T16:47:06.605798Z",
-                            "url": "https://files.pythonhosted.org/packages/87/09/b994a5d7310f73b04b7dd840a5fbdd726da42b7980ac0a07595b6c56ef00/ocrd_tesserocr-0.4.0.tar.gz"
-                        }
-                    ],
-                    "0.4.1": [
-                        {
-                            "comment_text": "",
-                            "digests": {
-                                "md5": "e634e1792d14a33a6bdde296483f0817",
-                                "sha256": "d21818eceac8bcdc1fdb38d4a58bfd1620cef8e7a5d0e6276afbd7695c2cac31"
-                            },
-                            "downloads": -1,
-                            "filename": "ocrd_tesserocr-0.4.1-py3-none-any.whl",
-                            "has_sig": false,
-                            "md5_digest": "e634e1792d14a33a6bdde296483f0817",
-                            "packagetype": "bdist_wheel",
-                            "python_version": "py3",
-                            "requires_python": null,
-                            "size": 38864,
-                            "upload_time": "2019-10-31T14:58:27",
-                            "upload_time_iso_8601": "2019-10-31T14:58:27.102775Z",
-                            "url": "https://files.pythonhosted.org/packages/1d/78/93c90d9593f62546fea5e2ef9b5edbb5a47121582db724ca41f93830ec87/ocrd_tesserocr-0.4.1-py3-none-any.whl"
-                        },
-                        {
-                            "comment_text": "",
-                            "digests": {
-                                "md5": "3de4e2c8fcb66eb6a3cb32a1a1cd361b",
-                                "sha256": "bbf3843361c4807c5790790d8a8fc0a0325b2fb9817cd4fa70210659dde8c8cb"
-                            },
-                            "downloads": -1,
-                            "filename": "ocrd_tesserocr-0.4.1.tar.gz",
-                            "has_sig": false,
-                            "md5_digest": "3de4e2c8fcb66eb6a3cb32a1a1cd361b",
-                            "packagetype": "sdist",
-                            "python_version": "source",
-                            "requires_python": null,
-                            "size": 20535,
-                            "upload_time": "2019-10-31T14:58:28",
-                            "upload_time_iso_8601": "2019-10-31T14:58:28.641792Z",
-                            "url": "https://files.pythonhosted.org/packages/a7/2e/de857738105ed9f1888d3f6724c0c314404b67582652a91b060d25cff808/ocrd_tesserocr-0.4.1.tar.gz"
-                        }
-                    ],
-                    "0.5.0": [
-                        {
-                            "comment_text": "",
-                            "digests": {
-                                "md5": "4a807653bdfacd7d22b6c303dc1ac04f",
-                                "sha256": "f3bca0adcb9fce640a010d38d7e1d04b4fc423ec0cc958ff3980afbf74a5711f"
-                            },
-                            "downloads": -1,
-                            "filename": "ocrd_tesserocr-0.5.0-py3-none-any.whl",
-                            "has_sig": false,
-                            "md5_digest": "4a807653bdfacd7d22b6c303dc1ac04f",
-                            "packagetype": "bdist_wheel",
-                            "python_version": "py3",
-                            "requires_python": null,
-                            "size": 33343,
-                            "upload_time": "2019-10-26T18:40:17",
-                            "upload_time_iso_8601": "2019-10-26T18:40:17.958444Z",
-                            "url": "https://files.pythonhosted.org/packages/36/98/a6c6b46903a3b25b1740cde4aedaf62de6441ac887536e36ad24a3c3bf12/ocrd_tesserocr-0.5.0-py3-none-any.whl"
-                        },
-                        {
-                            "comment_text": "",
-                            "digests": {
-                                "md5": "b4885925db28012b94b5fa3c86d80e28",
-                                "sha256": "aaf012b2c6adcd9a34b6fa9351dcd16fed3ab848d4d8a563b3825f9b7103be42"
-                            },
-                            "downloads": -1,
-                            "filename": "ocrd_tesserocr-0.5.0.tar.gz",
-                            "has_sig": false,
-                            "md5_digest": "b4885925db28012b94b5fa3c86d80e28",
-                            "packagetype": "sdist",
-                            "python_version": "source",
-                            "requires_python": null,
-                            "size": 21170,
-                            "upload_time": "2019-10-26T18:40:19",
-                            "upload_time_iso_8601": "2019-10-26T18:40:19.386827Z",
-                            "url": "https://files.pythonhosted.org/packages/85/5b/7c5c21b78ccd00d49f7747ad5b2a381d9860aeed41fe545a24a361544837/ocrd_tesserocr-0.5.0.tar.gz"
-                        }
-                    ],
-                    "0.5.1": [
-                        {
-                            "comment_text": "",
-                            "digests": {
-                                "md5": "8835763816200fbfec9b58670bd69d8f",
-                                "sha256": "18cef805014268db86fd6c32bca83069cdf536298fe8151f59f9197d255a9d14"
-                            },
-                            "downloads": -1,
-                            "filename": "ocrd_tesserocr-0.5.1-py3-none-any.whl",
-                            "has_sig": false,
-                            "md5_digest": "8835763816200fbfec9b58670bd69d8f",
-                            "packagetype": "bdist_wheel",
-                            "python_version": "py3",
-                            "requires_python": null,
-                            "size": 38309,
-                            "upload_time": "2019-10-31T16:43:42",
-                            "upload_time_iso_8601": "2019-10-31T16:43:42.078476Z",
-                            "url": "https://files.pythonhosted.org/packages/06/84/b5aca7d06e31dcb91683ab60e154b73a8d0e1cb4d5ae22debf55922573df/ocrd_tesserocr-0.5.1-py3-none-any.whl"
-                        },
-                        {
-                            "comment_text": "",
-                            "digests": {
-                                "md5": "1c203160eddb792cdbd706ccbb5e35bb",
-                                "sha256": "7dd6a5fd556395deb58070d5f6196871a241d89434a26d0a0fc7e106404aa90a"
-                            },
-                            "downloads": -1,
-                            "filename": "ocrd_tesserocr-0.5.1.tar.gz",
-                            "has_sig": false,
-                            "md5_digest": "1c203160eddb792cdbd706ccbb5e35bb",
-                            "packagetype": "sdist",
-                            "python_version": "source",
-                            "requires_python": null,
-                            "size": 20350,
-                            "upload_time": "2019-10-31T16:43:43",
-                            "upload_time_iso_8601": "2019-10-31T16:43:43.864345Z",
-                            "url": "https://files.pythonhosted.org/packages/15/1f/ed95415ee91659222301aa77e4f8c27be33df8e258972059bc031a2c0e3b/ocrd_tesserocr-0.5.1.tar.gz"
-                        }
-                    ],
-                    "0.6.0": [
-                        {
-                            "comment_text": "",
-                            "digests": {
-                                "md5": "0f1c539e4ffd53d67a3b891586c7be48",
-                                "sha256": "41d5309efc4f886569d47dede504cea5e14ffd8e27a33acb69e15c775d34f754"
-                            },
-                            "downloads": -1,
-                            "filename": "ocrd_tesserocr-0.6.0-py3-none-any.whl",
-                            "has_sig": false,
-                            "md5_digest": "0f1c539e4ffd53d67a3b891586c7be48",
-                            "packagetype": "bdist_wheel",
-                            "python_version": "py3",
-                            "requires_python": null,
-                            "size": 37693,
-                            "upload_time": "2019-11-05T19:14:55",
-                            "upload_time_iso_8601": "2019-11-05T19:14:55.328581Z",
-                            "url": "https://files.pythonhosted.org/packages/89/a9/431c3ad62ac4612b6be3f5cad58b49910a9c00b5f28dd62f8d535ed0c0cf/ocrd_tesserocr-0.6.0-py3-none-any.whl"
-                        },
-                        {
-                            "comment_text": "",
-                            "digests": {
-                                "md5": "9c454a4d508b6d43a1551b517c125d5b",
-                                "sha256": "3a1aeff23dbf42cc8c003039cc8695cd4e01807245f935c9323e6df2832855a7"
-                            },
-                            "downloads": -1,
-                            "filename": "ocrd_tesserocr-0.6.0.tar.gz",
-                            "has_sig": false,
-                            "md5_digest": "9c454a4d508b6d43a1551b517c125d5b",
-                            "packagetype": "sdist",
-                            "python_version": "source",
-                            "requires_python": null,
-                            "size": 20588,
-                            "upload_time": "2019-11-05T19:14:57",
-                            "upload_time_iso_8601": "2019-11-05T19:14:57.128983Z",
-                            "url": "https://files.pythonhosted.org/packages/48/30/6c8253739ee61d4a42b6512be3fcfe0ce7190ff2835ee1210b1c483da025/ocrd_tesserocr-0.6.0.tar.gz"
-                        }
-                    ]
-                },
-                "urls": [
-                    {
-                        "comment_text": "",
-                        "digests": {
-                            "md5": "0f1c539e4ffd53d67a3b891586c7be48",
-                            "sha256": "41d5309efc4f886569d47dede504cea5e14ffd8e27a33acb69e15c775d34f754"
-                        },
-                        "downloads": -1,
-                        "filename": "ocrd_tesserocr-0.6.0-py3-none-any.whl",
-                        "has_sig": false,
-                        "md5_digest": "0f1c539e4ffd53d67a3b891586c7be48",
-                        "packagetype": "bdist_wheel",
-                        "python_version": "py3",
-                        "requires_python": null,
-                        "size": 37693,
-                        "upload_time": "2019-11-05T19:14:55",
-                        "upload_time_iso_8601": "2019-11-05T19:14:55.328581Z",
-                        "url": "https://files.pythonhosted.org/packages/89/a9/431c3ad62ac4612b6be3f5cad58b49910a9c00b5f28dd62f8d535ed0c0cf/ocrd_tesserocr-0.6.0-py3-none-any.whl"
-                    },
-                    {
-                        "comment_text": "",
-                        "digests": {
-                            "md5": "9c454a4d508b6d43a1551b517c125d5b",
-                            "sha256": "3a1aeff23dbf42cc8c003039cc8695cd4e01807245f935c9323e6df2832855a7"
-                        },
-                        "downloads": -1,
-                        "filename": "ocrd_tesserocr-0.6.0.tar.gz",
-                        "has_sig": false,
-                        "md5_digest": "9c454a4d508b6d43a1551b517c125d5b",
-                        "packagetype": "sdist",
-                        "python_version": "source",
-                        "requires_python": null,
-                        "size": 20588,
-                        "upload_time": "2019-11-05T19:14:57",
-                        "upload_time_iso_8601": "2019-11-05T19:14:57.128983Z",
-                        "url": "https://files.pythonhosted.org/packages/48/30/6c8253739ee61d4a42b6512be3fcfe0ce7190ff2835ee1210b1c483da025/ocrd_tesserocr-0.6.0.tar.gz"
-                    }
-                ]
-            },
-            "url": "https://github.com/OCR-D/ocrd_tesserocr"
-        },
-        "url": "https://github.com/OCR-D/ocrd_tesserocr"
-    },
-    {
-        "compliant_cli": false,
-        "files": {
-            "Dockerfile": "FROM ocrd/core:latest\nENV VERSION=\"Mi 9. Okt 13:26:16 CEST 2019\"\nENV GITURL=\"https://github.com/cisocrgroup\"\nENV DOWNLOAD_URL=\"http://cis.lmu.de/~finkf\"\nENV DATA=\"/apps/ocrd-cis-post-correction\"\n\n# deps\nCOPY data/docker/deps.txt ${DATA}/deps.txt\nRUN apt-get update \\\n\t&& apt-get -y install --no-install-recommends $(cat ${DATA}/deps.txt)\n\n# locales\nRUN sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen \\\n    && dpkg-reconfigure --frontend=noninteractive locales \\\n    && update-locale LANG=en_US.UTF-8\n\n# install the profiler\nRUN\tgit clone ${GITURL}/Profiler --branch devel --single-branch /tmp/profiler \\\n\t&& cd /tmp/profiler \\\n\t&& mkdir build \\\n\t&& cd build \\\n\t&& cmake -DCMAKE_BUILD_TYPE=release .. \\\n\t&& make compileFBDic trainFrequencyList profiler \\\n\t&& cp bin/compileFBDic bin/trainFrequencyList bin/profiler /apps/ \\\n\t&& cd / \\\n    && rm -rf /tmp/profiler\n\n# install the profiler's language backend\nRUN\tgit clone ${GITURL}/Resources --branch master --single-branch /tmp/resources \\\n\t&& cd /tmp/resources/lexica \\\n\t&& make FBDIC=/apps/compileFBDic TRAIN=/apps/trainFrequencyList \\\n\t&& mkdir -p /${DATA}/languages \\\n\t&& cp -r german latin greek german.ini latin.ini greek.ini /${DATA}/languages \\\n\t&& cd / \\\n\t&& rm -rf /tmp/resources\n\n# install ocrd_cis (python)\nCOPY Manifest.in Makefile setup.py ocrd-tool.json /tmp/build/\nCOPY ocrd_cis/ /tmp/build/ocrd_cis/\nCOPY bashlib/ /tmp/build/bashlib/\n# COPY . /tmp/ocrd_cis\nRUN cd /tmp/build \\\n\t&& make install \\\n\t&& cd / \\\n\t&& rm -rf /tmp/build\n\n# download ocr models and pre-trainded post-correction model\nRUN mkdir /apps/models \\\n\t&& cd /apps/models \\\n\t&& wget ${DOWNLOAD_URL}/model.zip >/dev/null 2>&1 \\\n\t&& wget ${DOWNLOAD_URL}/fraktur1-00085000.pyrnn.gz >/dev/null 2>&1 \\\n\t&& wget ${DOWNLOAD_URL}/fraktur2-00062000.pyrnn.gz >/dev/null 2>&1\n\nVOLUME [\"/data\"]\n",
-            "README.md": "[![Language grade: Python](https://img.shields.io/lgtm/grade/python/g/cisocrgroup/ocrd_cis.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/cisocrgroup/ocrd_cis/context:python)\n[![Total alerts](https://img.shields.io/lgtm/alerts/g/cisocrgroup/ocrd_cis.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/cisocrgroup/ocrd_cis/alerts/)\n# ocrd_cis\n\n[CIS](http://www.cis.lmu.de) [OCR-D](http://ocr-d.de) command line\ntools for the automatic post-correction of OCR-results.\n\n## Introduction\n`ocrd_cis` contains different tools for the automatic post correction\nof OCR-results.  It contains tools for the training, evaluation and\nexecution of the post correction.  Most of the tools are following the\n[OCR-D cli conventions](https://ocr-d.github.io/cli).\n\nThere is a helper tool to align multiple OCR results as well as a\nversion of ocropy that works with python3.\n\n## Installation\nThere are multiple ways to install the `ocrd_cis` tools:\n * `make install` uses `pip` to install `ocrd_cis` (see below).\n * `make install-devel` uses `pip -e` to install `ocrd_cis` (see\n   below).\n * `pip install --upgrade pip ocrd_cis_dir`\n * `pip install -e --upgrade pip ocrd_cis_dir`\n\nIt is possible to install `ocrd_cis` in a custom directory using\n`virtualenv`:\n```sh\n python3 -m venv venv-dir\n source venv-dir/bin/activate\n make install # or any other command to install ocrd_cis (see above)\n # use ocrd_cis\n deactivate\n```\n\n## Usage\nMost tools follow the [OCR-D cli\nconventions](https://ocr-d.github.io/cli).  They accept the\n`--input-file-grp`, `--output-file-grp`, `--parameter`, `--mets`,\n`--log-level` command line arguments (short and long).  For some tools\n(most notably the alignment tool) expect a comma seperated list of\nmultiple input file groups.\n\nThe [ocrd-tool.json](ocrd_cis/ocrd-tool.json) contains a schema\ndescription of the parameter config file for the different tools that\naccept the `--parameter` argument.\n\n### ocrd-cis-post-correct.sh\nThis bash script runs the post correction using a pre-trained\n[model](http://cis.lmu.de/~finkf/model.zip).  If additional support\nOCRs should be used, models for these OCR steps are required and must\nbe configured in an according configuration file (see ocrd-tool.json).\n\nArguments:\n * `--parameter` path to configuration file\n * `--input-file-grp` name of the master-OCR file group\n * `--output-file-grp` name of the post-correction file group\n * `--log-level` set log level\n * `--mets` path to METS file in workspace\n\n### ocrd-cis-align\nAligns tokens of multiple input file groups to one output file group.\nThis tool is used to align the master OCR with any additional support\nOCRs.  It accepts a comma-separated list of input file groups, which\nit aligns in order.\n\nArguments:\n * `--parameter` path to configuration file\n * `--input-file-grp` comma seperated list of the input file groups;\n   first input file group is the master OCR\n * `--output-file-grp` name of the file group for the aligned result\n * `--log-level` set log level\n * `--mets` path to METS file in workspace\n\n### ocrd-cis-train.sh\nScript to train a model from a list of ground-truth archives (see\nocrd-tool.json) for the post correction.  The tool somewhat mimics the\nbehaviour of other ocrd tools:\n * `--mets` for the workspace\n * `--log-level` is passed to other tools\n * `--parameter` is used as configuration\n * `--output-file-grp` defines the output file group for the model\n\n### ocrd-cis-data\nHelper tool to get the path of the installed data files. Usage:\n`ocrd-cis-data [-jar|-3gs]` to get the path of the jar library or the\npath to th default 3-grams language model file.\n\n### ocrd-cis-wer\nHelper tool to calculate the word error rate aligned ocr files.  It\nwrites a simple JSON-formated stats file to the given output file group.\n\nArguments:\n * `--input-file-grp` input file group of aligned ocr results with\n   their respective ground truth.\n * `--output-file-grp` name of the file group for the stats file\n * `--log-level` set log level\n * `--mets` path to METS file in workspace\n\n### ocrd-cis-profile\nRun the profiler over the given files of the according the given input\nfile grp and adds a gzipped JSON-formatted profile to the output file\ngroup of the workspace.  This tools requires an installed [language\nprofiler](https://github.com/cisocrgroup/Profiler).\n\nArguments:\n * `--parameter` path to configuration file\n * `--input-file-grp` name of the input file group to profile\n * `--output-file-grp` name of the output file group where the profile\n   is stored\n * `--log-level` set log level\n * `--mets` path to METS file in the workspace\n\n### ocrd-cis-ocropy-train\nThe ocropy-train tool can be used to train LSTM models.\nIt takes ground truth from the workspace and saves (image+text) snippets from the corresponding pages.\nThen a model is trained on all snippets for 1 million (or the given number of) randomized iterations from the parameter file.\n```sh\nocrd-cis-ocropy-train \\\n  --input-file-grp OCR-D-GT-SEG-LINE \\\n  --mets mets.xml\n  --parameter file:///path/to/config.json\n```\n\n### ocrd-cis-ocropy-clip\nThe ocropy-clip tool can be used to remove intrusions of neighbouring segments in regions / lines of a workspace.\nIt runs a (ad-hoc binarization and) connected component analysis on every text region / line of every PAGE in the input file group, as well as its overlapping neighbours, and for each binary object of conflict, determines whether it belongs to the neighbour, and can therefore be clipped to white. It references the resulting segment image files in the output PAGE (as AlternativeImage).\n```sh\nocrd-cis-ocropy-clip \\\n  --input-file-grp OCR-D-SEG-LINE \\\n  --output-file-grp OCR-D-SEG-LINE-CLIP \\\n  --mets mets.xml\n  --parameter file:///path/to/config.json\n```\n\n### ocrd-cis-ocropy-resegment\nThe ocropy-resegment tool can be used to remove overlap between lines of a workspace.\nIt runs a (ad-hoc binarization and) line segmentation on every text region of every PAGE in the input file group, and for each line already annotated, determines the label of largest extent within the original coordinates (polygon outline) in that line, and annotates the resulting coordinates in the output PAGE.\n```sh\nocrd-cis-ocropy-resegment \\\n  --input-file-grp OCR-D-SEG-LINE \\\n  --output-file-grp OCR-D-SEG-LINE-RES \\\n  --mets mets.xml\n  --parameter file:///path/to/config.json\n```\n\n### ocrd-cis-ocropy-segment\nThe ocropy-segment tool can be used to segment regions into lines.\nIt runs a (ad-hoc binarization and) line segmentation on every text region of every PAGE in the input file group, and adds a TextLine element with the resulting polygon outline to the annotation of the output PAGE.\n```sh\nocrd-cis-ocropy-segment \\\n  --input-file-grp OCR-D-SEG-BLOCK \\\n  --output-file-grp OCR-D-SEG-LINE \\\n  --mets mets.xml\n  --parameter file:///path/to/config.json\n```\n\n### ocrd-cis-ocropy-deskew\nThe ocropy-deskew tool can be used to deskew pages / regions of a workspace.\nIt runs the Ocropy thresholding and deskewing estimation on every segment of every PAGE in the input file group and annotates the orientation angle in the output PAGE.\n```sh\nocrd-cis-ocropy-deskew \\\n  --input-file-grp OCR-D-SEG-LINE \\\n  --output-file-grp OCR-D-SEG-LINE-DES \\\n  --mets mets.xml\n  --parameter file:///path/to/config.json\n```\n\n### ocrd-cis-ocropy-denoise\nThe ocropy-denoise tool can be used to despeckle pages / regions / lines of a workspace.\nIt runs the Ocropy \"nlbin\" denoising on every segment of every PAGE in the input file group and references the resulting segment image files in the output PAGE (as AlternativeImage).\n```sh\nocrd-cis-ocropy-denoise \\\n  --input-file-grp OCR-D-SEG-LINE-DES \\\n  --output-file-grp OCR-D-SEG-LINE-DEN \\\n  --mets mets.xml\n  --parameter file:///path/to/config.json\n```\n\n### ocrd-cis-ocropy-binarize\nThe ocropy-binarize tool can be used to binarize, denoise and deskew pages / regions / lines of a workspace.\nIt runs the Ocropy \"nlbin\" adaptive thresholding, deskewing estimation and denoising on every segment of every PAGE in the input file group and references the resulting segment image files in the output PAGE (as AlternativeImage). (If a deskewing angle has already been annotated in a region, the tool respects that and rotates accordingly.) Images can also be produced grayscale-normalized.\n```sh\nocrd-cis-ocropy-binarize \\\n  --input-file-grp OCR-D-SEG-LINE-DES \\\n  --output-file-grp OCR-D-SEG-LINE-BIN \\\n  --mets mets.xml\n  --parameter file:///path/to/config.json\n```\n\n### ocrd-cis-ocropy-dewarp\nThe ocropy-dewarp tool can be used to dewarp text lines of a workspace.\nIt runs the Ocropy baseline estimation and dewarping on every line in every text region of every PAGE in the input file group and references the resulting line image files in the output PAGE (as AlternativeImage).\n```sh\nocrd-cis-ocropy-dewarp \\\n  --input-file-grp OCR-D-SEG-LINE-BIN \\\n  --output-file-grp OCR-D-SEG-LINE-DEW \\\n  --mets mets.xml\n  --parameter file:///path/to/config.json\n```\n\n### ocrd-cis-ocropy-recognize\nThe ocropy-recognize tool can be used to recognize lines / words / glyphs from pages of a workspace.\nIt runs the Ocropy optical character recognition on every line in every text region of every PAGE in the input file group and adds the resulting text annotation in the output PAGE.\n```sh\nocrd-cis-ocropy-recognize \\\n  --input-file-grp OCR-D-SEG-LINE-DEW \\\n  --output-file-grp OCR-D-OCR-OCRO \\\n  --mets mets.xml\n  --parameter file:///path/to/config.json\n```\n\n### Tesserocr\nInstall essential system packages for Tesserocr\n```sh\nsudo apt-get install python3-tk \\\n  tesseract-ocr libtesseract-dev libleptonica-dev \\\n  libimage-exiftool-perl libxml2-utils\n```\n\nThen install Tesserocr from: https://github.com/OCR-D/ocrd_tesserocr\n```sh\npip install -r requirements.txt\npip install .\n```\n\nDownload and move tesseract models from:\nhttps://github.com/tesseract-ocr/tesseract/wiki/Data-Files\nor use your own models and\nplace them into: /usr/share/tesseract-ocr/4.00/tessdata\n\n## Workflow configuration\n\nA decent pipeline might look like this:\n\n1. page-level cropping\n2. page-level binarization\n3. page-level deskewing\n4. page-level dewarping\n5. region segmentation\n6. region-level clipping\n7. region-level deskewing\n8. line segmentation\n9. line-level clipping or resegmentation\n10. line-level dewarping\n11. line-level recognition\n12. line-level alignment\n\nIf GT is used, steps 1, 5 and 8 can be omitted. Else if a segmentation is used in 5 and 8 which does not produce overlapping sections, steps 6 and 9 can be omitted.\n\n## Testing\nTo run a few basic tests type `make test` (`ocrd_cis` has to be\ninstalled in order to run any tests).\n\n## OCR-D workspace\n\n* Create a new (empty) workspace: `ocrd workspace init workspace-dir`\n* cd into `workspace-dir`\n* Add new file to workspace: `ocrd workspace add file -G group -i id\n  -m mimetype`\n\n## OCR-D links\n\n- [OCR-D](https://ocr-d.github.io)\n- [Github](https://github.com/OCR-D)\n- [Project-page](http://www.ocr-d.de/)\n- [Ground-truth](http://www.ocr-d.de/sites/all/GTDaten/IndexGT.html)\n",
-            "ocrd-tool.json": "{\n\t\"git_url\": \"https://github.com/cisocrgroup/ocrd_cis\",\n\t\"version\": \"0.0.6\",\n\t\"tools\": {\n\t\t\"ocrd-cis-ocropy-binarize\": {\n\t\t\t\"executable\": \"ocrd-cis-ocropy-binarize\",\n\t\t\t\"categories\": [\n\t\t\t\t\"Image preprocessing\"\n\t\t\t],\n\t\t\t\"steps\": [\n\t\t\t\t\"preprocessing/optimization/binarization\",\n\t\t\t\t\"preprocessing/optimization/grayscale_normalization\",\n\t\t\t\t\"preprocessing/optimization/deskewing\"\n\t\t\t],\n\t\t\t\"input_file_grp\": [\n\t\t\t\t\"OCR-D-IMG\",\n\t\t\t\t\"OCR-D-SEG-BLOCK\",\n\t\t\t\t\"OCR-D-SEG-LINE\"\n\t\t\t],\n\t\t\t\"output_file_grp\": [\n\t\t\t\t\"OCR-D-IMG-BIN\",\n\t\t\t\t\"OCR-D-SEG-BLOCK\",\n\t\t\t\t\"OCR-D-SEG-LINE\"\n\t\t\t],\n\t\t\t\"description\": \"Binarize (and optionally deskew/despeckle) pages / regions / lines with ocropy\",\n\t\t\t\"parameters\": {\n\t\t\t\t\"method\": {\n\t\t\t\t\t\"type\": \"string\",\n\t\t\t\t\t\"enum\": [\"none\", \"global\", \"otsu\", \"gauss-otsu\", \"ocropy\"],\n\t\t\t\t\t\"description\": \"binarization method to use (only ocropy will include deskewing)\",\n\t\t\t\t\t\"default\": \"ocropy\"\n\t\t\t\t},\n\t\t\t\t\"grayscale\": {\n\t\t\t\t\t\"type\": \"boolean\",\n\t\t\t\t\t\"description\": \"for the ocropy method, produce grayscale-normalized instead of thresholded image\",\n\t\t\t\t\t\"default\": false\n\t\t\t\t},\n\t\t\t\t\"maxskew\": {\n\t\t\t\t\t\"type\": \"number\",\n\t\t\t\t\t\"description\": \"modulus of maximum skewing angle to detect (larger will be slower, 0 will deactivate deskewing)\",\n\t\t\t\t\t\"default\": 0.0\n\t\t\t\t},\n\t\t\t\t\"noise_maxsize\": {\n\t\t\t\t\t\"type\": \"number\",\n\t\t\t\t\t\"description\": \"maximum pixel number for connected components to regard as noise (0 will deactivate denoising)\",\n\t\t\t\t\t\"default\": 0\n\t\t\t\t},\n\t\t\t\t\"level-of-operation\": {\n\t\t\t\t\t\"type\": \"string\",\n\t\t\t\t\t\"enum\": [\"page\", \"region\", \"line\"],\n\t\t\t\t\t\"description\": \"PAGE XML hierarchy level granularity to annotate images for\",\n\t\t\t\t\t\"default\": \"page\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"ocrd-cis-ocropy-deskew\": {\n\t\t\t\"executable\": \"ocrd-cis-ocropy-deskew\",\n\t\t\t\"categories\": [\n\t\t\t\t\"Image preprocessing\"\n\t\t\t],\n\t\t\t\"steps\": [\n\t\t\t\t\"preprocessing/optimization/deskewing\"\n\t\t\t],\n\t\t\t\"input_file_grp\": [\n\t\t\t\t\"OCR-D-SEG-BLOCK\",\n\t\t\t\t\"OCR-D-SEG-LINE\"\n\t\t\t],\n\t\t\t\"output_file_grp\": [\n\t\t\t\t\"OCR-D-SEG-BLOCK\",\n\t\t\t\t\"OCR-D-SEG-LINE\"\n\t\t\t],\n\t\t\t\"description\": \"Deskew regions with ocropy (by annotating orientation angle and adding AlternativeImage)\",\n\t\t\t\"parameters\": {\n\t\t\t\t\"maxskew\": {\n\t\t\t\t\t\"type\": \"number\",\n\t\t\t\t\t\"description\": \"modulus of maximum skewing angle to detect (larger will be slower, 0 will deactivate deskewing)\",\n\t\t\t\t\t\"default\": 5.0\n\t\t\t\t},\n\t\t\t\t\"level-of-operation\": {\n\t\t\t\t\t\"type\": \"string\",\n\t\t\t\t\t\"enum\": [\"page\", \"region\"],\n\t\t\t\t\t\"description\": \"PAGE XML hierarchy level granularity to annotate images for\",\n\t\t\t\t\t\"default\": \"region\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"ocrd-cis-ocropy-denoise\": {\n\t\t\t\"executable\": \"ocrd-cis-ocropy-denoise\",\n\t\t\t\"categories\": [\n\t\t\t\t\"Image preprocessing\"\n\t\t\t],\n\t\t\t\"steps\": [\n\t\t\t\t\"preprocessing/optimization/despeckling\"\n\t\t\t],\n\t\t\t\"input_file_grp\": [\n\t\t\t\t\"OCR-D-IMG\",\n\t\t\t\t\"OCR-D-SEG-BLOCK\",\n\t\t\t\t\"OCR-D-SEG-LINE\"\n\t\t\t],\n\t\t\t\"output_file_grp\": [\n\t\t\t\t\"OCR-D-IMG-DESPECK\",\n\t\t\t\t\"OCR-D-SEG-BLOCK\",\n\t\t\t\t\"OCR-D-SEG-LINE\"\n\t\t\t],\n\t\t\t\"description\": \"Despeckle pages / regions / lines with ocropy\",\n\t\t\t\"parameters\": {\n\t\t\t\t\"noise_maxsize\": {\n\t\t\t\t\t\"type\": \"number\",\n\t\t\t\t\t\"format\": \"float\",\n\t\t\t\t\t\"description\": \"maximum size in points (pt) for connected components to regard as noise (0 will deactivate denoising)\",\n\t\t\t\t\t\"default\": 3.0\n\t\t\t\t},\n\t\t\t\t\"level-of-operation\": {\n\t\t\t\t\t\"type\": \"string\",\n\t\t\t\t\t\"enum\": [\"page\", \"region\", \"line\"],\n\t\t\t\t\t\"description\": \"PAGE XML hierarchy level granularity to annotate images for\",\n\t\t\t\t\t\"default\": \"page\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"ocrd-cis-ocropy-clip\": {\n\t\t\t\"executable\": \"ocrd-cis-ocropy-clip\",\n\t\t\t\"categories\": [\n\t\t\t\t\"Layout analysis\"\n\t\t\t],\n\t\t\t\"steps\": [\n\t\t\t\t\"layout/segmentation/region\",\n\t\t\t\t\"layout/segmentation/line\"\n\t\t\t],\n\t\t\t\"input_file_grp\": [\n\t\t\t\t\"OCR-D-SEG-BLOCK\",\n\t\t\t\t\"OCR-D-SEG-LINE\"\n\t\t\t],\n\t\t\t\"output_file_grp\": [\n\t\t\t\t\"OCR-D-SEG-BLOCK\",\n\t\t\t\t\"OCR-D-SEG-LINE\"\n\t\t\t],\n\t\t\t\"description\": \"Clip text regions / lines at intersections with neighbours\",\n\t\t\t\"parameters\": {\n\t\t\t\t\"level-of-operation\": {\n\t\t\t\t\t\"type\": \"string\",\n\t\t\t\t\t\"enum\": [\"region\", \"line\"],\n\t\t\t\t\t\"description\": \"PAGE XML hierarchy level granularity to annotate images for\",\n\t\t\t\t\t\"default\": \"region\"\n\t\t\t\t},\n\t\t\t\t\"min_fraction\": {\n\t\t\t\t\t\"type\": \"number\",\n\t\t\t\t\t\"format\": \"float\",\n\t\t\t\t\t\"description\": \"share of foreground pixels that must be retained by the largest label\",\n\t\t\t\t\t\"default\": 0.7\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"ocrd-cis-ocropy-resegment\": {\n\t\t\t\"executable\": \"ocrd-cis-ocropy-resegment\",\n\t\t\t\"categories\": [\n\t\t\t\t\"Layout analysis\"\n\t\t\t],\n\t\t\t\"steps\": [\n\t\t\t\t\"layout/segmentation/line\"\n\t\t\t],\n\t\t\t\"input_file_grp\": [\n\t\t\t\t\"OCR-D-SEG-LINE\"\n\t\t\t],\n\t\t\t\"output_file_grp\": [\n\t\t\t\t\"OCR-D-SEG-LINE\"\n\t\t\t],\n\t\t\t\"description\": \"Resegment lines with ocropy (by shrinking annotated polygons)\",\n\t\t\t\"parameters\": {\n\t\t\t\t\"min_fraction\": {\n\t\t\t\t\t\"type\": \"number\",\n\t\t\t\t\t\"format\": \"float\",\n\t\t\t\t\t\"description\": \"share of foreground pixels that must be retained by the largest label\",\n\t\t\t\t\t\"default\": 0.8\n\t\t\t\t},\n\t\t\t\t\"extend_margins\": {\n\t\t\t\t\t\"type\": \"number\",\n\t\t\t\t\t\"format\": \"integer\",\n\t\t\t\t\t\"description\": \"number of pixels to extend the input polygons horizontally and vertically before intersecting\",\n\t\t\t\t\t\"default\": 3\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"ocrd-cis-ocropy-dewarp\": {\n\t\t\t\"executable\": \"ocrd-cis-ocropy-dewarp\",\n\t\t\t\"categories\": [\n\t\t\t\t\"Image preprocessing\"\n\t\t\t],\n\t\t\t\"steps\": [\n\t\t\t\t\"preprocessing/optimization/dewarping\"\n\t\t\t],\n\t\t\t\"description\": \"Dewarp line images with ocropy\",\n\t\t\t\"input_file_grp\": [\n\t\t\t\t\"OCR-D-SEG-LINE\"\n\t\t\t],\n\t\t\t\"output_file_grp\": [\n\t\t\t\t\"OCR-D-SEG-LINE\"\n\t\t\t],\n\t\t\t\"parameters\": {\n\t\t\t\t\"range\": {\n\t\t\t\t\t\"type\": \"number\",\n\t\t\t\t\t\"description\": \"maximum vertical disposition or maximum margin (will be multiplied by mean centerline deltas to yield pixels)\",\n\t\t\t\t\t\"default\": 4\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"ocrd-cis-ocropy-recognize\": {\n\t\t\t\"executable\": \"ocrd-cis-ocropy-recognize\",\n\t\t\t\"categories\": [\n\t\t\t\t\"Text recognition and optimization\"\n\t\t\t],\n\t\t\t\"steps\": [\n\t\t\t\t\"recognition/text-recognition\"\n\t\t\t],\n\t\t\t\"description\": \"Recognize text in (binarized+deskewed+dewarped) lines with ocropy\",\n\t\t\t\"input_file_grp\": [\n\t\t\t\t\"OCR-D-SEG-LINE\",\n\t\t\t\t\"OCR-D-SEG-WORD\",\n\t\t\t\t\"OCR-D-SEG-GLYPH\"\n\t\t\t],\n\t\t\t\"output_file_grp\": [\n\t\t\t\t\"OCR-D-OCR-OCRO\"\n\t\t\t],\n\t\t\t\"parameters\": {\n\t\t\t\t\"textequiv_level\": {\n\t\t\t\t\t\"type\": \"string\",\n\t\t\t\t\t\"enum\": [\"line\", \"word\", \"glyph\"],\n\t\t\t\t\t\"description\": \"PAGE XML hierarchy level granularity to add the TextEquiv results to\",\n\t\t\t\t\t\"default\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"model\": {\n\t\t\t\t\t\"type\": \"string\",\n\t\t\t\t\t\"description\": \"ocropy model to apply (e.g. fraktur.pyrnn)\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"ocrd-cis-ocropy-rec\": {\n\t\t\t\"executable\": \"ocrd-cis-ocropy-rec\",\n\t\t\t\"categories\": [\n\t\t\t\t\"Text recognition and optimization\"\n\t\t\t],\n\t\t\t\"steps\": [\n\t\t\t\t\"recognition/text-recognition\"\n\t\t\t],\n\t\t\t\"description\": \"Recognize text snippets\",\n\t\t\t\"parameters\": {\n\t\t\t\t\"model\": {\n\t\t\t\t\t\"type\": \"string\",\n\t\t\t\t\t\"description\": \"ocropy model to apply (e.g. fraktur.pyrnn)\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"ocrd-cis-ocropy-segment\": {\n\t\t\t\"executable\": \"ocrd-cis-ocropy-segment\",\n\t\t\t\"categories\": [\n\t\t\t\t\"Layout analysis\"\n\t\t\t],\n\t\t\t\"steps\": [\n\t\t\t\t\"layout/segmentation/region\",\n\t\t\t\t\"layout/segmentation/line\"\n\t\t\t],\n\t\t\t\"input_file_grp\": [\n\t\t\t\t\"OCR-D-GT-SEG-BLOCK\",\n\t\t\t\t\"OCR-D-SEG-BLOCK\"\n\t\t\t],\n\t\t\t\"output_file_grp\": [\n\t\t\t\t\"OCR-D-SEG-LINE\"\n\t\t\t],\n\t\t\t\"description\": \"Segment pages into regions or regions into lines with ocropy\",\n\t\t\t\"parameters\": {\n\t\t\t\t\"level-of-operation\": {\n\t\t\t\t\t\"type\": \"string\",\n\t\t\t\t\t\"enum\": [\"page\", \"region\"],\n\t\t\t\t\t\"description\": \"PAGE XML hierarchy level to read images from\",\n\t\t\t\t\t\"default\": \"region\"\n\t\t\t\t},\n\t\t\t\t\"maxcolseps\": {\n\t\t\t\t\t\"type\": \"number\",\n\t\t\t\t\t\"format\": \"integer\",\n\t\t\t\t\t\"default\": 2,\n\t\t\t\t\t\"description\": \"number of white/background column separators to try (when operating on the page level)\"\n\t\t\t\t},\n\t\t\t\t\"maxseps\": {\n\t\t\t\t\t\"type\": \"number\",\n\t\t\t\t\t\"format\": \"integer\",\n\t\t\t\t\t\"default\": 5,\n\t\t\t\t\t\"description\": \"number of black/foreground column separators to try, counted individually as lines (when operating on the page level)\"\n\t\t\t\t},\n\t\t\t\t\"overwrite_regions\": {\n\t\t\t\t\t\"type\": \"boolean\",\n\t\t\t\t\t\"default\": true,\n\t\t\t\t\t\"description\": \"remove any existing TextRegion elements (when operating on the page level)\"\n\t\t\t\t},\n\t\t\t\t\"overwrite_lines\": {\n\t\t\t\t\t\"type\": \"boolean\",\n\t\t\t\t\t\"default\": true,\n\t\t\t\t\t\"description\": \"remove any existing TextLine elements (when operating on the region level)\"\n\t\t\t\t},\n\t\t\t\t\"spread\": {\n\t\t\t\t\t\"type\": \"number\",\n\t\t\t\t\t\"format\": \"float\",\n\t\t\t\t\t\"default\": 2.4,\n\t\t\t\t\t\"description\": \"distance in points (pt) from the foreground to project text line (or text region) labels into the background\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"ocrd-cis-ocropy-train\": {\n\t\t\t\"executable\": \"ocrd-cis-ocropy-train\",\n\t\t\t\"categories\": [\n\t\t\t\t\"lstm ocropy model training\"\n\t\t\t],\n\t\t\t\"steps\": [\n\t\t\t\t\"training\"\n\t\t\t],\n\t\t\t\"description\": \"train model with ground truth from mets data\",\n\t\t\t\"parameters\": {\n\t\t\t\t\"textequiv_level\": {\n\t\t\t\t\t\"type\": \"string\",\n\t\t\t\t\t\"enum\": [\"line\", \"word\", \"glyph\"],\n\t\t\t\t\t\"default\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"model\": {\n\t\t\t\t\t\"type\": \"string\",\n\t\t\t\t\t\"description\": \"load model or crate new one (e.g. fraktur.pyrnn)\"\n\t\t\t\t},\n\t\t\t\t\"ntrain\": {\n\t\t\t\t\t\"type\": \"integer\",\n\t\t\t\t\t\"description\": \"lines to train before stopping\",\n\t\t\t\t\t\"default\": 1000000\n\t\t\t\t},\n\t\t\t\t\"outputpath\": {\n\t\t\t\t\t\"type\": \"string\",\n\t\t\t\t\t\"description\": \"(existing) path for the trained model\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"ocrd-cis-align\": {\n\t\t\t\"executable\": \"ocrd-cis-align\",\n\t\t\t\"categories\": [\n\t\t\t\t\"Text recognition and optimization\"\n\t\t\t],\n\t\t\t\"steps\": [\n\t\t\t\t\"postprocessing/alignment\"\n\t\t\t],\n\t\t\t\"description\": \"Align multiple OCRs and/or GTs\"\n\t\t},\n\t\t\"ocrd-cis-wer\": {\n\t\t\t\"executable\": \"ocrd-cis-wer\",\n\t\t\t\"categories\": [\n\t\t\t\t\"evaluation\"\n\t\t\t],\n\t\t\t\"steps\": [\n\t\t\t\t\"evaluation\"\n\t\t\t],\n\t\t\t\"description\": \"calculate the word error rate for aligned page xml files\",\n\t\t\t\"parameters\": {\n\t\t\t\t\"testIndex\": {\n\t\t\t\t\t\"description\": \"text equiv index for the test/ocr tokens\",\n\t\t\t\t\t\"type\": \"integer\",\n\t\t\t\t\t\"default\": 0\n\t\t\t\t},\n\t\t\t\t\"gtIndex\": {\n\t\t\t\t\t\"type\": \"integer\",\n\t\t\t\t\t\"description\": \"text equiv index for the gt tokens\",\n\t\t\t\t\t\"default\": -1\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"ocrd-cis-jar\": {\n\t\t\t\"executable\": \"ocrd-cis-jar\",\n\t\t\t\"categories\": [\n\t\t\t\t\"Text recognition and optimization\"\n\t\t\t],\n\t\t\t\"steps\": [\n\t\t\t\t\"postprocessing/alignment\"\n\t\t\t],\n\t\t\t\"description\": \"Output path to the ocrd-cis.jar file\"\n\t\t},\n\t\t\"ocrd-cis-profile\": {\n\t\t\t\"executable\": \"ocrd-cis-profile\",\n\t\t\t\"categories\": [\n\t\t\t\t\"Text recognition and optimization\"\n\t\t\t],\n\t\t\t\"steps\": [\n\t\t\t\t\"postprocessing/alignment\"\n\t\t\t],\n\t\t\t\"description\": \"Add a correction suggestions and suspicious tokens (profile)\",\n\t\t\t\"parameters\": {\n\t\t\t\t\"executable\": {\n\t\t\t\t\t\"type\": \"string\",\n\t\t\t\t\t\"required\": true\n\t\t\t\t},\n\t\t\t\t\"backend\": {\n\t\t\t\t\t\"type\": \"string\",\n\t\t\t\t\t\"required\": true\n\t\t\t\t},\n\t\t\t\t\"language\": {\n\t\t\t\t    \"type\": \"string\",\n\t\t\t\t\t\"required\": false,\n\t\t\t\t\t\"default\": \"german\"\n\t\t\t\t},\n\t\t\t\t\"additionalLexicon\": {\n\t\t\t\t\t\"type\": \"string\",\n\t\t\t\t\t\"required\": false,\n\t\t\t\t\t\"default\": \"\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"ocrd-cis-train\": {\n\t\t\t\"executable\": \"ocrd-cis-train.sh\",\n\t\t\t\"categories\": [\n\t\t\t\t\"Text recognition and optimization\"\n\t\t\t],\n\t\t\t\"steps\": [\n\t\t\t\t\"postprocessing/alignment\"\n\t\t\t],\n\t\t\t\"description\": \"Train post correction model\",\n\t\t\t\"parameters\": {\n\t\t\t\t\"gtArchives\": {\n\t\t\t\t\t\"description\": \"List of ground truth archives\",\n\t\t\t\t\t\"type\": \"array\",\n\t\t\t\t\t\"required\": true,\n\t\t\t\t\t\"items\": {\n\t\t\t\t\t\t\"description\": \"Path (or URL) to a ground truth archive\",\n\t\t\t\t\t\t\"type\": \"string\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"imagePreprocessingSteps\": {\n\t\t\t\t\t\"description\": \"List of image preprocessing steps\",\n\t\t\t\t\t\"type\": \"array\",\n\t\t\t\t\t\"required\": true,\n\t\t\t\t\t\"items\": {\n\t\t\t\t\t\t\"description\": \"Image preprocessing command that is evaled using the bash eval command (available parameters: $METS, $LOG_LEVEL, $XML_INPUT_FILE_GRP, $XML_OUTPUT_FILE_GRP, $IMG_OUTPUT_FILE_GRP, $IMG_INPUT_FILE_GRP, $PARAMETER)\",\n\t\t\t\t\t\t\"type\": \"string\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"ocrSteps\": {\n\t\t\t\t\t\"description\": \"List of ocr steps\",\n\t\t\t\t\t\"type\": \"array\",\n\t\t\t\t\t\"required\": true,\n\t\t\t\t\t\"items\": {\n\t\t\t\t\t\t\"description\": \"OCR command that is evaled using the bash eval command (available parameters: $METS, $LOG_LEVEL, $XML_INPUT_FILE_GRP, $XML_OUTPUT_FILE_GRP, $PARAMETER)\",\n\t\t\t\t\t\t\"type\": \"string\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"training\": {\n\t\t\t\t\t\"description\": \"Configuration of training command\",\n\t\t\t\t\t\"type\": \"object\",\n\t\t\t\t\t\"required\": [\n\t\t\t\t\t\t\"trigrams\",\n\t\t\t\t\t\t\"maxCandidate\",\n\t\t\t\t\t\t\"profiler\",\n\t\t\t\t\t\t\"leFeatures\",\n\t\t\t\t\t\t\"rrFeatures\",\n\t\t\t\t\t\t\"dmFeatures\"\n\t\t\t\t\t],\n\t\t\t\t\t\"properties\": {\n\t\t\t\t\t\t\"trigrams\": {\n\t\t\t\t\t\t\t\"description\": \"Path to character trigrams csv file (format: n,trigram)\",\n\t\t\t\t\t\t\t\"type\": \"string\",\n\t\t\t\t\t\t\t\"required\": true\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"maxCandidate\": {\n\t\t\t\t\t\t\t\"description\": \"Maximum number of considered profiler candidates per token\",\n\t\t\t\t\t\t\t\"type\": \"integer\",\n\t\t\t\t\t\t\t\"required\": true\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"filterClasses\": {\n\t\t\t\t\t\t\t\"description\": \"List of filtered feature classes\",\n\t\t\t\t\t\t\t\"required\": false,\n\t\t\t\t\t\t\t\"type\": \"array\",\n\t\t\t\t\t\t\t\"items\": {\n\t\t\t\t\t\t\t\t\"description\": \"Class name of feature class to filter\",\n\t\t\t\t\t\t\t\t\"type\": \"string\"\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"profiler\": {\n\t\t\t\t\t\t\t\"description\": \"Profiler configuration\",\n\t\t\t\t\t\t\t\"type\": \"object\",\n\t\t\t\t\t\t\t\"required\": [\n\t\t\t\t\t\t\t\t\"path\",\n\t\t\t\t\t\t\t\t\"config\"\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\"properties\": {\n\t\t\t\t\t\t\t\t\"path\": {\n\t\t\t\t\t\t\t\t\t\"description\": \"Path to the profiler executable\",\n\t\t\t\t\t\t\t\t\t\"required\": true,\n\t\t\t\t\t\t\t\t\t\"type\": \"string\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\"config\": {\n\t\t\t\t\t\t\t\t\t\"description\": \"Path to the profiler language config file\",\n\t\t\t\t\t\t\t\t\t\"required\": true,\n\t\t\t\t\t\t\t\t\t\"type\": \"string\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"leFeatures\": {\n\t\t\t\t\t\t\t\"description\": \"List of the lexicon extension features\",\n\t\t\t\t\t\t\t\"required\": true,\n\t\t\t\t\t\t\t\"type\": \"array\",\n\t\t\t\t\t\t\t\"items\": {\n\t\t\t\t\t\t\t\t\"description\": \"Feature configuration\",\n\t\t\t\t\t\t\t\t\"type\": \"object\",\n\t\t\t\t\t\t\t\t\"required\": [\n\t\t\t\t\t\t\t\t\t\"type\",\n\t\t\t\t\t\t\t\t\t\"name\"\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\"properties\": {\n\t\t\t\t\t\t\t\t\t\"name\": {\n\t\t\t\t\t\t\t\t\t\t\"description\": \"Name of the feature\",\n\t\t\t\t\t\t\t\t\t\t\"type\": \"string\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"type\": {\n\t\t\t\t\t\t\t\t\t\t\"description\": \"Fully qualified java class name of the feature\",\n\t\t\t\t\t\t\t\t\t\t\"type\": \"string\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"class\": {\n\t\t\t\t\t\t\t\t\t\t\"description\": \"Class name of the feature\",\n\t\t\t\t\t\t\t\t\t\t\"type\": \"string\"\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"rrFeatures\": {\n\t\t\t\t\t\t\t\"description\": \"List of the reranker features\",\n\t\t\t\t\t\t\t\"required\": true,\n\t\t\t\t\t\t\t\"type\": \"array\",\n\t\t\t\t\t\t\t\"items\": {\n\t\t\t\t\t\t\t\t\"description\": \"Feature configuration\",\n\t\t\t\t\t\t\t\t\"type\": \"object\",\n\t\t\t\t\t\t\t\t\"required\": [\n\t\t\t\t\t\t\t\t\t\"type\",\n\t\t\t\t\t\t\t\t\t\"name\"\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\"properties\": {\n\t\t\t\t\t\t\t\t\t\"name\": {\n\t\t\t\t\t\t\t\t\t\t\"description\": \"Name of the feature\",\n\t\t\t\t\t\t\t\t\t\t\"type\": \"string\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"type\": {\n\t\t\t\t\t\t\t\t\t\t\"description\": \"Fully qualified java class name of the feature\",\n\t\t\t\t\t\t\t\t\t\t\"type\": \"string\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"class\": {\n\t\t\t\t\t\t\t\t\t\t\"description\": \"Class name of the feature\",\n\t\t\t\t\t\t\t\t\t\t\"type\": \"string\"\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"dmFeatures\": {\n\t\t\t\t\t\t\t\"description\": \"List of the desicion maker features\",\n\t\t\t\t\t\t\t\"required\": true,\n\t\t\t\t\t\t\t\"type\": \"array\",\n\t\t\t\t\t\t\t\"items\": {\n\t\t\t\t\t\t\t\t\"description\": \"Feature configuration\",\n\t\t\t\t\t\t\t\t\"type\": \"object\",\n\t\t\t\t\t\t\t\t\"required\": [\n\t\t\t\t\t\t\t\t\t\"type\",\n\t\t\t\t\t\t\t\t\t\"name\"\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\"properties\": {\n\t\t\t\t\t\t\t\t\t\"name\": {\n\t\t\t\t\t\t\t\t\t\t\"description\": \"Name of the feature\",\n\t\t\t\t\t\t\t\t\t\t\"type\": \"string\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"type\": {\n\t\t\t\t\t\t\t\t\t\t\"description\": \"Fully qualified java class name of the feature\",\n\t\t\t\t\t\t\t\t\t\t\"type\": \"string\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"class\": {\n\t\t\t\t\t\t\t\t\t\t\"description\": \"Class name of the feature\",\n\t\t\t\t\t\t\t\t\t\t\"type\": \"string\"\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"ocrd-cis-post-correct\": {\n\t\t\t\"executable\": \"ocrd-cis-post-correct.sh\",\n\t\t\t\"categories\": [\n\t\t\t\t\"Text recognition and optimization\"\n\t\t\t],\n\t\t\t\"steps\": [\n\t\t\t\t\"postprocessing/alignment\"\n\t\t\t],\n\t\t\t\"description\": \"Post correct OCR results\",\n\t\t\t\"parameters\": {\n\t\t\t\t\"ocrSteps\": {\n\t\t\t\t\t\"description\": \"List of additional ocr steps\",\n\t\t\t\t\t\"type\": \"array\",\n\t\t\t\t\t\"required\": true,\n\t\t\t\t\t\"items\": {\n\t\t\t\t\t\t\"description\": \"OCR command that is evaled using the bash eval command (available parameters: $METS, $LOG_LEVEL, $XML_INPUT_FILE_GRP, $XML_OUTPUT_FILE_GRP, $PARAMETER)\",\n\t\t\t\t\t\t\"type\": \"string\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"postCorrection\": {\n\t\t\t\t\t\"description\": \"Configuration of post correction command\",\n\t\t\t\t\t\"type\": \"object\",\n\t\t\t\t\t\"required\": [\n\t\t\t\t\t\t\"maxCandidate\",\n\t\t\t\t\t\t\"profiler\",\n\t\t\t\t\t\t\"model\",\n\t\t\t\t\t\t\"runLE\",\n\t\t\t\t\t\t\"runDM\"\n\t\t\t\t\t],\n\t\t\t\t\t\"properties\": {\n\t\t\t\t\t\t\"maxCandidate\": {\n\t\t\t\t\t\t\t\"description\": \"Maximum number of considered profiler candidates per token\",\n\t\t\t\t\t\t\t\"type\": \"integer\",\n\t\t\t\t\t\t\t\"required\": true\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"profiler\": {\n\t\t\t\t\t\t\t\"description\": \"Profiler configuration\",\n\t\t\t\t\t\t\t\"type\": \"object\",\n\t\t\t\t\t\t\t\"required\": [\n\t\t\t\t\t\t\t\t\"path\",\n\t\t\t\t\t\t\t\t\"config\"\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\"properties\": {\n\t\t\t\t\t\t\t\t\"path\": {\n\t\t\t\t\t\t\t\t\t\"description\": \"Path to the profiler executable\",\n\t\t\t\t\t\t\t\t\t\"required\": true,\n\t\t\t\t\t\t\t\t\t\"type\": \"string\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\"config\": {\n\t\t\t\t\t\t\t\t\t\"description\": \"Path to the profiler language config file\",\n\t\t\t\t\t\t\t\t\t\"required\": true,\n\t\t\t\t\t\t\t\t\t\"type\": \"string\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\"description\": \"Path to the post correction model file\",\n\t\t\t\t\t\t\t\"type\": \"string\",\n\t\t\t\t\t\t\t\"required\": true\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"runLE\": {\n\t\t\t\t\t\t\t\"description\": \"Do run the lexicon extension step for the post correction\",\n\t\t\t\t\t\t\t\"required\": true,\n\t\t\t\t\t\t\t\"type\": \"boolean\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"runDM\": {\n\t\t\t\t\t\t\t\"description\": \"Do run the ranking and the decision step for the post correction\",\n\t\t\t\t\t\t\t\"required\": true,\n\t\t\t\t\t\t\t\"type\": \"boolean\"\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n",
-            "setup.py": "\"\"\"\nInstalls:\n    - ocrd-cis-align\n    - ocrd-cis-training\n    - ocrd-cis-profile\n    - ocrd-cis-wer\n    - ocrd-cis-data\n    - ocrd-cis-ocropy-clip\n    - ocrd-cis-ocropy-denoise\n    - ocrd-cis-ocropy-deskew\n    - ocrd-cis-ocropy-binarize\n    - ocrd-cis-ocropy-resegment\n    - ocrd-cis-ocropy-segment\n    - ocrd-cis-ocropy-dewarp\n    - ocrd-cis-ocropy-recognize\n    - ocrd-cis-ocropy-train\n\"\"\"\n\nimport codecs\nfrom setuptools import setup\nfrom setuptools import find_packages\n\nwith codecs.open('README.md', encoding='utf-8') as f:\n    README = f.read()\n\nsetup(\n    name='ocrd_cis',\n    version='0.0.6',\n    description='CIS OCR-D command line tools',\n    long_description=README,\n    long_description_content_type='text/markdown',\n    author='Florian Fink, Tobias Englmeier, Christoph Weber',\n    author_email='finkf@cis.lmu.de, englmeier@cis.lmu.de, web_chris@msn.com',\n    url='https://github.com/cisocrgroup/ocrd_cis',\n    license='MIT',\n    packages=find_packages(),\n    include_package_data=True,\n    install_requires=[\n        'ocrd>=2.0.0',\n        'click',\n        'scipy',\n        'numpy>=1.17.0',\n        'pillow>=6.2.0',\n        'matplotlib>3.0.0',\n        'python-Levenshtein',\n        'calamari_ocr == 0.3.5'\n    ],\n    package_data={\n        '': ['*.json', '*.yml', '*.yaml', '*.csv.gz', '*.jar'],\n    },\n    scripts=[\n        'bashlib/ocrd-cis-lib.sh',\n        'bashlib/ocrd-cis-train.sh',\n        'bashlib/ocrd-cis-post-correct.sh',\n    ],\n    entry_points={\n        'console_scripts': [\n            'ocrd-cis-align=ocrd_cis.align.cli:ocrd_cis_align',\n            'ocrd-cis-profile=ocrd_cis.profile.cli:ocrd_cis_profile',\n            'ocrd-cis-wer=ocrd_cis.wer.cli:ocrd_cis_wer',\n            'ocrd-cis-data=ocrd_cis.data.__main__:main',\n            'ocrd-cis-ocropy-binarize=ocrd_cis.ocropy.cli:ocrd_cis_ocropy_binarize',\n            'ocrd-cis-ocropy-clip=ocrd_cis.ocropy.cli:ocrd_cis_ocropy_clip',\n            'ocrd-cis-ocropy-denoise=ocrd_cis.ocropy.cli:ocrd_cis_ocropy_denoise',\n            'ocrd-cis-ocropy-deskew=ocrd_cis.ocropy.cli:ocrd_cis_ocropy_deskew',\n            'ocrd-cis-ocropy-dewarp=ocrd_cis.ocropy.cli:ocrd_cis_ocropy_dewarp',\n            'ocrd-cis-ocropy-recognize=ocrd_cis.ocropy.cli:ocrd_cis_ocropy_recognize',\n            'ocrd-cis-ocropy-rec=ocrd_cis.ocropy.cli:ocrd_cis_ocropy_rec',\n            'ocrd-cis-ocropy-resegment=ocrd_cis.ocropy.cli:ocrd_cis_ocropy_resegment',\n            'ocrd-cis-ocropy-segment=ocrd_cis.ocropy.cli:ocrd_cis_ocropy_segment',\n            'ocrd-cis-ocropy-train=ocrd_cis.ocropy.cli:ocrd_cis_ocropy_train',\n        ]\n    },\n)\n"
-        },
-        "git": {
-            "last_commit": "Mon Dec 2 15:43:20 2019 +0100",
-            "latest_tag": "",
-            "number_of_commits": "421",
-            "url": "https://github.com/cisocrgroup/ocrd_cis.git"
-        },
-        "name": "ocrd_cis",
-        "ocrd_tool": {
-            "git_url": "https://github.com/cisocrgroup/ocrd_cis",
-            "tools": {
-                "ocrd-cis-align": {
-                    "categories": [
-                        "Text recognition and optimization"
-                    ],
-                    "description": "Align multiple OCRs and/or GTs",
-                    "executable": "ocrd-cis-align",
-                    "steps": [
-                        "postprocessing/alignment"
-                    ]
-                },
-                "ocrd-cis-jar": {
-                    "categories": [
-                        "Text recognition and optimization"
-                    ],
-                    "description": "Output path to the ocrd-cis.jar file",
-                    "executable": "ocrd-cis-jar",
-                    "steps": [
-                        "postprocessing/alignment"
-                    ]
-                },
-                "ocrd-cis-ocropy-binarize": {
-                    "categories": [
-                        "Image preprocessing"
-                    ],
-                    "description": "Binarize (and optionally deskew/despeckle) pages / regions / lines with ocropy",
-                    "executable": "ocrd-cis-ocropy-binarize",
-                    "input_file_grp": [
-                        "OCR-D-IMG",
-                        "OCR-D-SEG-BLOCK",
-                        "OCR-D-SEG-LINE"
-                    ],
-                    "output_file_grp": [
-                        "OCR-D-IMG-BIN",
-                        "OCR-D-SEG-BLOCK",
-                        "OCR-D-SEG-LINE"
-                    ],
-                    "parameters": {
-                        "grayscale": {
-                            "default": false,
-                            "description": "for the ocropy method, produce grayscale-normalized instead of thresholded image",
-                            "type": "boolean"
-                        },
-                        "level-of-operation": {
-                            "default": "page",
-                            "description": "PAGE XML hierarchy level granularity to annotate images for",
-                            "enum": [
-                                "page",
-                                "region",
-                                "line"
-                            ],
-                            "type": "string"
-                        },
-                        "maxskew": {
-                            "default": 0.0,
-                            "description": "modulus of maximum skewing angle to detect (larger will be slower, 0 will deactivate deskewing)",
-                            "type": "number"
-                        },
-                        "method": {
-                            "default": "ocropy",
-                            "description": "binarization method to use (only ocropy will include deskewing)",
-                            "enum": [
-                                "none",
-                                "global",
-                                "otsu",
-                                "gauss-otsu",
-                                "ocropy"
-                            ],
-                            "type": "string"
-                        },
-                        "noise_maxsize": {
-                            "default": 0,
-                            "description": "maximum pixel number for connected components to regard as noise (0 will deactivate denoising)",
-                            "type": "number"
-                        }
-                    },
-                    "steps": [
-                        "preprocessing/optimization/binarization",
-                        "preprocessing/optimization/grayscale_normalization",
-                        "preprocessing/optimization/deskewing"
-                    ]
-                },
-                "ocrd-cis-ocropy-clip": {
-                    "categories": [
-                        "Layout analysis"
-                    ],
-                    "description": "Clip text regions / lines at intersections with neighbours",
-                    "executable": "ocrd-cis-ocropy-clip",
-                    "input_file_grp": [
-                        "OCR-D-SEG-BLOCK",
-                        "OCR-D-SEG-LINE"
-                    ],
-                    "output_file_grp": [
-                        "OCR-D-SEG-BLOCK",
-                        "OCR-D-SEG-LINE"
-                    ],
-                    "parameters": {
-                        "level-of-operation": {
-                            "default": "region",
-                            "description": "PAGE XML hierarchy level granularity to annotate images for",
-                            "enum": [
-                                "region",
-                                "line"
-                            ],
-                            "type": "string"
-                        },
-                        "min_fraction": {
-                            "default": 0.7,
-                            "description": "share of foreground pixels that must be retained by the largest label",
-                            "format": "float",
-                            "type": "number"
-                        }
-                    },
-                    "steps": [
-                        "layout/segmentation/region",
-                        "layout/segmentation/line"
-                    ]
-                },
-                "ocrd-cis-ocropy-denoise": {
-                    "categories": [
-                        "Image preprocessing"
-                    ],
-                    "description": "Despeckle pages / regions / lines with ocropy",
-                    "executable": "ocrd-cis-ocropy-denoise",
-                    "input_file_grp": [
-                        "OCR-D-IMG",
-                        "OCR-D-SEG-BLOCK",
-                        "OCR-D-SEG-LINE"
-                    ],
-                    "output_file_grp": [
-                        "OCR-D-IMG-DESPECK",
-                        "OCR-D-SEG-BLOCK",
-                        "OCR-D-SEG-LINE"
-                    ],
-                    "parameters": {
-                        "level-of-operation": {
-                            "default": "page",
-                            "description": "PAGE XML hierarchy level granularity to annotate images for",
-                            "enum": [
-                                "page",
-                                "region",
-                                "line"
-                            ],
-                            "type": "string"
-                        },
-                        "noise_maxsize": {
-                            "default": 3.0,
-                            "description": "maximum size in points (pt) for connected components to regard as noise (0 will deactivate denoising)",
-                            "format": "float",
-                            "type": "number"
-                        }
-                    },
-                    "steps": [
-                        "preprocessing/optimization/despeckling"
-                    ]
-                },
-                "ocrd-cis-ocropy-deskew": {
-                    "categories": [
-                        "Image preprocessing"
-                    ],
-                    "description": "Deskew regions with ocropy (by annotating orientation angle and adding AlternativeImage)",
-                    "executable": "ocrd-cis-ocropy-deskew",
-                    "input_file_grp": [
-                        "OCR-D-SEG-BLOCK",
-                        "OCR-D-SEG-LINE"
-                    ],
-                    "output_file_grp": [
-                        "OCR-D-SEG-BLOCK",
-                        "OCR-D-SEG-LINE"
-                    ],
-                    "parameters": {
-                        "level-of-operation": {
-                            "default": "region",
-                            "description": "PAGE XML hierarchy level granularity to annotate images for",
-                            "enum": [
-                                "page",
-                                "region"
-                            ],
-                            "type": "string"
-                        },
-                        "maxskew": {
-                            "default": 5.0,
-                            "description": "modulus of maximum skewing angle to detect (larger will be slower, 0 will deactivate deskewing)",
-                            "type": "number"
-                        }
-                    },
-                    "steps": [
-                        "preprocessing/optimization/deskewing"
-                    ]
-                },
-                "ocrd-cis-ocropy-dewarp": {
-                    "categories": [
-                        "Image preprocessing"
-                    ],
-                    "description": "Dewarp line images with ocropy",
-                    "executable": "ocrd-cis-ocropy-dewarp",
-                    "input_file_grp": [
-                        "OCR-D-SEG-LINE"
-                    ],
-                    "output_file_grp": [
-                        "OCR-D-SEG-LINE"
-                    ],
-                    "parameters": {
-                        "range": {
-                            "default": 4,
-                            "description": "maximum vertical disposition or maximum margin (will be multiplied by mean centerline deltas to yield pixels)",
-                            "type": "number"
-                        }
-                    },
-                    "steps": [
-                        "preprocessing/optimization/dewarping"
-                    ]
-                },
-                "ocrd-cis-ocropy-rec": {
-                    "categories": [
-                        "Text recognition and optimization"
-                    ],
-                    "description": "Recognize text snippets",
-                    "executable": "ocrd-cis-ocropy-rec",
-                    "parameters": {
-                        "model": {
-                            "description": "ocropy model to apply (e.g. fraktur.pyrnn)",
-                            "type": "string"
-                        }
-                    },
-                    "steps": [
-                        "recognition/text-recognition"
-                    ]
-                },
-                "ocrd-cis-ocropy-recognize": {
-                    "categories": [
-                        "Text recognition and optimization"
-                    ],
-                    "description": "Recognize text in (binarized+deskewed+dewarped) lines with ocropy",
-                    "executable": "ocrd-cis-ocropy-recognize",
-                    "input_file_grp": [
-                        "OCR-D-SEG-LINE",
-                        "OCR-D-SEG-WORD",
-                        "OCR-D-SEG-GLYPH"
-                    ],
-                    "output_file_grp": [
-                        "OCR-D-OCR-OCRO"
-                    ],
-                    "parameters": {
-                        "model": {
-                            "description": "ocropy model to apply (e.g. fraktur.pyrnn)",
-                            "type": "string"
-                        },
-                        "textequiv_level": {
-                            "default": "line",
-                            "description": "PAGE XML hierarchy level granularity to add the TextEquiv results to",
-                            "enum": [
-                                "line",
-                                "word",
-                                "glyph"
-                            ],
-                            "type": "string"
-                        }
-                    },
-                    "steps": [
-                        "recognition/text-recognition"
-                    ]
-                },
-                "ocrd-cis-ocropy-resegment": {
-                    "categories": [
-                        "Layout analysis"
-                    ],
-                    "description": "Resegment lines with ocropy (by shrinking annotated polygons)",
-                    "executable": "ocrd-cis-ocropy-resegment",
-                    "input_file_grp": [
-                        "OCR-D-SEG-LINE"
-                    ],
-                    "output_file_grp": [
-                        "OCR-D-SEG-LINE"
-                    ],
-                    "parameters": {
-                        "extend_margins": {
-                            "default": 3,
-                            "description": "number of pixels to extend the input polygons horizontally and vertically before intersecting",
-                            "format": "integer",
-                            "type": "number"
-                        },
-                        "min_fraction": {
-                            "default": 0.8,
-                            "description": "share of foreground pixels that must be retained by the largest label",
-                            "format": "float",
-                            "type": "number"
-                        }
-                    },
-                    "steps": [
-                        "layout/segmentation/line"
-                    ]
-                },
-                "ocrd-cis-ocropy-segment": {
-                    "categories": [
-                        "Layout analysis"
-                    ],
-                    "description": "Segment pages into regions or regions into lines with ocropy",
-                    "executable": "ocrd-cis-ocropy-segment",
-                    "input_file_grp": [
-                        "OCR-D-GT-SEG-BLOCK",
-                        "OCR-D-SEG-BLOCK"
-                    ],
-                    "output_file_grp": [
-                        "OCR-D-SEG-LINE"
-                    ],
-                    "parameters": {
-                        "level-of-operation": {
-                            "default": "region",
-                            "description": "PAGE XML hierarchy level to read images from",
-                            "enum": [
-                                "page",
-                                "region"
-                            ],
-                            "type": "string"
-                        },
-                        "maxcolseps": {
-                            "default": 2,
-                            "description": "number of white/background column separators to try (when operating on the page level)",
-                            "format": "integer",
-                            "type": "number"
-                        },
-                        "maxseps": {
-                            "default": 5,
-                            "description": "number of black/foreground column separators to try, counted individually as lines (when operating on the page level)",
-                            "format": "integer",
-                            "type": "number"
-                        },
-                        "overwrite_lines": {
-                            "default": true,
-                            "description": "remove any existing TextLine elements (when operating on the region level)",
-                            "type": "boolean"
-                        },
-                        "overwrite_regions": {
-                            "default": true,
-                            "description": "remove any existing TextRegion elements (when operating on the page level)",
-                            "type": "boolean"
-                        },
-                        "spread": {
-                            "default": 2.4,
-                            "description": "distance in points (pt) from the foreground to project text line (or text region) labels into the background",
-                            "format": "float",
-                            "type": "number"
-                        }
-                    },
-                    "steps": [
-                        "layout/segmentation/region",
-                        "layout/segmentation/line"
-                    ]
-                },
-                "ocrd-cis-ocropy-train": {
-                    "categories": [
-                        "lstm ocropy model training"
-                    ],
-                    "description": "train model with ground truth from mets data",
-                    "executable": "ocrd-cis-ocropy-train",
-                    "parameters": {
-                        "model": {
-                            "description": "load model or crate new one (e.g. fraktur.pyrnn)",
-                            "type": "string"
-                        },
-                        "ntrain": {
-                            "default": 1000000,
-                            "description": "lines to train before stopping",
-                            "type": "integer"
-                        },
-                        "outputpath": {
-                            "description": "(existing) path for the trained model",
-                            "type": "string"
-                        },
-                        "textequiv_level": {
-                            "default": "line",
-                            "enum": [
-                                "line",
-                                "word",
-                                "glyph"
-                            ],
-                            "type": "string"
-                        }
-                    },
-                    "steps": [
-                        "training"
-                    ]
-                },
-                "ocrd-cis-post-correct": {
-                    "categories": [
-                        "Text recognition and optimization"
-                    ],
-                    "description": "Post correct OCR results",
-                    "executable": "ocrd-cis-post-correct.sh",
-                    "parameters": {
-                        "ocrSteps": {
-                            "description": "List of additional ocr steps",
-                            "items": {
-                                "description": "OCR command that is evaled using the bash eval command (available parameters: $METS, $LOG_LEVEL, $XML_INPUT_FILE_GRP, $XML_OUTPUT_FILE_GRP, $PARAMETER)",
-                                "type": "string"
-                            },
-                            "required": true,
-                            "type": "array"
-                        },
-                        "postCorrection": {
-                            "description": "Configuration of post correction command",
-                            "properties": {
-                                "maxCandidate": {
-                                    "description": "Maximum number of considered profiler candidates per token",
-                                    "required": true,
-                                    "type": "integer"
-                                },
-                                "model": {
-                                    "description": "Path to the post correction model file",
-                                    "required": true,
-                                    "type": "string"
-                                },
-                                "profiler": {
-                                    "description": "Profiler configuration",
-                                    "properties": {
-                                        "config": {
-                                            "description": "Path to the profiler language config file",
-                                            "required": true,
-                                            "type": "string"
-                                        },
-                                        "path": {
-                                            "description": "Path to the profiler executable",
-                                            "required": true,
-                                            "type": "string"
-                                        }
-                                    },
-                                    "required": [
-                                        "path",
-                                        "config"
-                                    ],
-                                    "type": "object"
-                                },
-                                "runDM": {
-                                    "description": "Do run the ranking and the decision step for the post correction",
-                                    "required": true,
-                                    "type": "boolean"
-                                },
-                                "runLE": {
-                                    "description": "Do run the lexicon extension step for the post correction",
-                                    "required": true,
-                                    "type": "boolean"
-                                }
-                            },
-                            "required": [
-                                "maxCandidate",
-                                "profiler",
-                                "model",
-                                "runLE",
-                                "runDM"
-                            ],
-                            "type": "object"
-                        }
-                    },
-                    "steps": [
-                        "postprocessing/alignment"
-                    ]
-                },
-                "ocrd-cis-profile": {
-                    "categories": [
-                        "Text recognition and optimization"
-                    ],
-                    "description": "Add a correction suggestions and suspicious tokens (profile)",
-                    "executable": "ocrd-cis-profile",
-                    "parameters": {
-                        "additionalLexicon": {
-                            "default": "",
-                            "required": false,
-                            "type": "string"
-                        },
-                        "backend": {
-                            "required": true,
-                            "type": "string"
-                        },
-                        "executable": {
-                            "required": true,
-                            "type": "string"
-                        },
-                        "language": {
-                            "default": "german",
-                            "required": false,
-                            "type": "string"
-                        }
-                    },
-                    "steps": [
-                        "postprocessing/alignment"
-                    ]
-                },
-                "ocrd-cis-train": {
-                    "categories": [
-                        "Text recognition and optimization"
-                    ],
-                    "description": "Train post correction model",
-                    "executable": "ocrd-cis-train.sh",
-                    "parameters": {
-                        "gtArchives": {
-                            "description": "List of ground truth archives",
-                            "items": {
-                                "description": "Path (or URL) to a ground truth archive",
-                                "type": "string"
-                            },
-                            "required": true,
-                            "type": "array"
-                        },
-                        "imagePreprocessingSteps": {
-                            "description": "List of image preprocessing steps",
-                            "items": {
-                                "description": "Image preprocessing command that is evaled using the bash eval command (available parameters: $METS, $LOG_LEVEL, $XML_INPUT_FILE_GRP, $XML_OUTPUT_FILE_GRP, $IMG_OUTPUT_FILE_GRP, $IMG_INPUT_FILE_GRP, $PARAMETER)",
-                                "type": "string"
-                            },
-                            "required": true,
-                            "type": "array"
-                        },
-                        "ocrSteps": {
-                            "description": "List of ocr steps",
-                            "items": {
-                                "description": "OCR command that is evaled using the bash eval command (available parameters: $METS, $LOG_LEVEL, $XML_INPUT_FILE_GRP, $XML_OUTPUT_FILE_GRP, $PARAMETER)",
-                                "type": "string"
-                            },
-                            "required": true,
-                            "type": "array"
-                        },
-                        "training": {
-                            "description": "Configuration of training command",
-                            "properties": {
-                                "dmFeatures": {
-                                    "description": "List of the desicion maker features",
-                                    "items": {
-                                        "description": "Feature configuration",
-                                        "properties": {
-                                            "class": {
-                                                "description": "Class name of the feature",
-                                                "type": "string"
-                                            },
-                                            "name": {
-                                                "description": "Name of the feature",
-                                                "type": "string"
-                                            },
-                                            "type": {
-                                                "description": "Fully qualified java class name of the feature",
-                                                "type": "string"
-                                            }
-                                        },
-                                        "required": [
-                                            "type",
-                                            "name"
-                                        ],
-                                        "type": "object"
-                                    },
-                                    "required": true,
-                                    "type": "array"
-                                },
-                                "filterClasses": {
-                                    "description": "List of filtered feature classes",
-                                    "items": {
-                                        "description": "Class name of feature class to filter",
-                                        "type": "string"
-                                    },
-                                    "required": false,
-                                    "type": "array"
-                                },
-                                "leFeatures": {
-                                    "description": "List of the lexicon extension features",
-                                    "items": {
-                                        "description": "Feature configuration",
-                                        "properties": {
-                                            "class": {
-                                                "description": "Class name of the feature",
-                                                "type": "string"
-                                            },
-                                            "name": {
-                                                "description": "Name of the feature",
-                                                "type": "string"
-                                            },
-                                            "type": {
-                                                "description": "Fully qualified java class name of the feature",
-                                                "type": "string"
-                                            }
-                                        },
-                                        "required": [
-                                            "type",
-                                            "name"
-                                        ],
-                                        "type": "object"
-                                    },
-                                    "required": true,
-                                    "type": "array"
-                                },
-                                "maxCandidate": {
-                                    "description": "Maximum number of considered profiler candidates per token",
-                                    "required": true,
-                                    "type": "integer"
-                                },
-                                "profiler": {
-                                    "description": "Profiler configuration",
-                                    "properties": {
-                                        "config": {
-                                            "description": "Path to the profiler language config file",
-                                            "required": true,
-                                            "type": "string"
-                                        },
-                                        "path": {
-                                            "description": "Path to the profiler executable",
-                                            "required": true,
-                                            "type": "string"
-                                        }
-                                    },
-                                    "required": [
-                                        "path",
-                                        "config"
-                                    ],
-                                    "type": "object"
-                                },
-                                "rrFeatures": {
-                                    "description": "List of the reranker features",
-                                    "items": {
-                                        "description": "Feature configuration",
-                                        "properties": {
-                                            "class": {
-                                                "description": "Class name of the feature",
-                                                "type": "string"
-                                            },
-                                            "name": {
-                                                "description": "Name of the feature",
-                                                "type": "string"
-                                            },
-                                            "type": {
-                                                "description": "Fully qualified java class name of the feature",
-                                                "type": "string"
-                                            }
-                                        },
-                                        "required": [
-                                            "type",
-                                            "name"
-                                        ],
-                                        "type": "object"
-                                    },
-                                    "required": true,
-                                    "type": "array"
-                                },
-                                "trigrams": {
-                                    "description": "Path to character trigrams csv file (format: n,trigram)",
-                                    "required": true,
-                                    "type": "string"
-                                }
-                            },
-                            "required": [
-                                "trigrams",
-                                "maxCandidate",
-                                "profiler",
-                                "leFeatures",
-                                "rrFeatures",
-                                "dmFeatures"
-                            ],
-                            "type": "object"
-                        }
-                    },
-                    "steps": [
-                        "postprocessing/alignment"
-                    ]
-                },
-                "ocrd-cis-wer": {
-                    "categories": [
-                        "evaluation"
-                    ],
-                    "description": "calculate the word error rate for aligned page xml files",
-                    "executable": "ocrd-cis-wer",
-                    "parameters": {
-                        "gtIndex": {
-                            "default": -1,
-                            "description": "text equiv index for the gt tokens",
-                            "type": "integer"
-                        },
-                        "testIndex": {
-                            "default": 0,
-                            "description": "text equiv index for the test/ocr tokens",
-                            "type": "integer"
-                        }
-                    },
-                    "steps": [
-                        "evaluation"
-                    ]
-                }
-            },
-            "version": "0.0.6"
-        },
-        "ocrd_tool_validate": "<report valid=\"false\">\n  <error>[tools.ocrd-cis-ocropy-rec] 'input_file_grp' is a required property</error>\n  <error>[tools.ocrd-cis-ocropy-train] 'input_file_grp' is a required property</error>\n  <error>[tools.ocrd-cis-ocropy-train.parameters.textequiv_level] 'description' is a required property</error>\n  <error>[tools.ocrd-cis-ocropy-train.parameters.ntrain.type] 'integer' is not one of ['string', 'number', 'boolean']</error>\n  <error>[tools.ocrd-cis-ocropy-train.categories.0] 'lstm ocropy model training' is not one of ['Image preprocessing', 'Layout analysis', 'Text recognition and optimization', 'Model training', 'Long-term preservation', 'Quality assurance']</error>\n  <error>[tools.ocrd-cis-ocropy-train.steps.0] 'training' is not one of ['preprocessing/characterization', 'preprocessing/optimization', 'preprocessing/optimization/cropping', 'preprocessing/optimization/deskewing', 'preprocessing/optimization/despeckling', 'preprocessing/optimization/dewarping', 'preprocessing/optimization/binarization', 'preprocessing/optimization/grayscale_normalization', 'recognition/text-recognition', 'recognition/font-identification', 'recognition/post-correction', 'layout/segmentation', 'layout/segmentation/text-nontext', 'layout/segmentation/region', 'layout/segmentation/line', 'layout/segmentation/word', 'layout/segmentation/classification', 'layout/analysis']</error>\n  <error>[tools.ocrd-cis-align] 'input_file_grp' is a required property</error>\n  <error>[tools.ocrd-cis-align.steps.0] 'postprocessing/alignment' is not one of ['preprocessing/characterization', 'preprocessing/optimization', 'preprocessing/optimization/cropping', 'preprocessing/optimization/deskewing', 'preprocessing/optimization/despeckling', 'preprocessing/optimization/dewarping', 'preprocessing/optimization/binarization', 'preprocessing/optimization/grayscale_normalization', 'recognition/text-recognition', 'recognition/font-identification', 'recognition/post-correction', 'layout/segmentation', 'layout/segmentation/text-nontext', 'layout/segmentation/region', 'layout/segmentation/line', 'layout/segmentation/word', 'layout/segmentation/classification', 'layout/analysis']</error>\n  <error>[tools.ocrd-cis-wer] 'input_file_grp' is a required property</error>\n  <error>[tools.ocrd-cis-wer.parameters.testIndex.type] 'integer' is not one of ['string', 'number', 'boolean']</error>\n  <error>[tools.ocrd-cis-wer.parameters.gtIndex.type] 'integer' is not one of ['string', 'number', 'boolean']</error>\n  <error>[tools.ocrd-cis-wer.categories.0] 'evaluation' is not one of ['Image preprocessing', 'Layout analysis', 'Text recognition and optimization', 'Model training', 'Long-term preservation', 'Quality assurance']</error>\n  <error>[tools.ocrd-cis-wer.steps.0] 'evaluation' is not one of ['preprocessing/characterization', 'preprocessing/optimization', 'preprocessing/optimization/cropping', 'preprocessing/optimization/deskewing', 'preprocessing/optimization/despeckling', 'preprocessing/optimization/dewarping', 'preprocessing/optimization/binarization', 'preprocessing/optimization/grayscale_normalization', 'recognition/text-recognition', 'recognition/font-identification', 'recognition/post-correction', 'layout/segmentation', 'layout/segmentation/text-nontext', 'layout/segmentation/region', 'layout/segmentation/line', 'layout/segmentation/word', 'layout/segmentation/classification', 'layout/analysis']</error>\n  <error>[tools.ocrd-cis-jar] 'input_file_grp' is a required property</error>\n  <error>[tools.ocrd-cis-jar.steps.0] 'postprocessing/alignment' is not one of ['preprocessing/characterization', 'preprocessing/optimization', 'preprocessing/optimization/cropping', 'preprocessing/optimization/deskewing', 'preprocessing/optimization/despeckling', 'preprocessing/optimization/dewarping', 'preprocessing/optimization/binarization', 'preprocessing/optimization/grayscale_normalization', 'recognition/text-recognition', 'recognition/font-identification', 'recognition/post-correction', 'layout/segmentation', 'layout/segmentation/text-nontext', 'layout/segmentation/region', 'layout/segmentation/line', 'layout/segmentation/word', 'layout/segmentation/classification', 'layout/analysis']</error>\n  <error>[tools.ocrd-cis-profile] 'input_file_grp' is a required property</error>\n  <error>[tools.ocrd-cis-profile.parameters.executable] 'description' is a required property</error>\n  <error>[tools.ocrd-cis-profile.parameters.backend] 'description' is a required property</error>\n  <error>[tools.ocrd-cis-profile.parameters.language] 'description' is a required property</error>\n  <error>[tools.ocrd-cis-profile.parameters.additionalLexicon] 'description' is a required property</error>\n  <error>[tools.ocrd-cis-profile.steps.0] 'postprocessing/alignment' is not one of ['preprocessing/characterization', 'preprocessing/optimization', 'preprocessing/optimization/cropping', 'preprocessing/optimization/deskewing', 'preprocessing/optimization/despeckling', 'preprocessing/optimization/dewarping', 'preprocessing/optimization/binarization', 'preprocessing/optimization/grayscale_normalization', 'recognition/text-recognition', 'recognition/font-identification', 'recognition/post-correction', 'layout/segmentation', 'layout/segmentation/text-nontext', 'layout/segmentation/region', 'layout/segmentation/line', 'layout/segmentation/word', 'layout/segmentation/classification', 'layout/analysis']</error>\n  <error>[tools.ocrd-cis-train] 'input_file_grp' is a required property</error>\n  <error>[tools.ocrd-cis-train.parameters.gtArchives] Additional properties are not allowed ('items' was unexpected)</error>\n  <error>[tools.ocrd-cis-train.parameters.gtArchives.type] 'array' is not one of ['string', 'number', 'boolean']</error>\n  <error>[tools.ocrd-cis-train.parameters.imagePreprocessingSteps] Additional properties are not allowed ('items' was unexpected)</error>\n  <error>[tools.ocrd-cis-train.parameters.imagePreprocessingSteps.type] 'array' is not one of ['string', 'number', 'boolean']</error>\n  <error>[tools.ocrd-cis-train.parameters.ocrSteps] Additional properties are not allowed ('items' was unexpected)</error>\n  <error>[tools.ocrd-cis-train.parameters.ocrSteps.type] 'array' is not one of ['string', 'number', 'boolean']</error>\n  <error>[tools.ocrd-cis-train.parameters.training] Additional properties are not allowed ('properties' was unexpected)</error>\n  <error>[tools.ocrd-cis-train.parameters.training.type] 'object' is not one of ['string', 'number', 'boolean']</error>\n  <error>[tools.ocrd-cis-train.parameters.training.required] ['trigrams', 'maxCandidate', 'profiler', 'leFeatures', 'rrFeatures', 'dmFeatures'] is not of type 'boolean'</error>\n  <error>[tools.ocrd-cis-train.steps.0] 'postprocessing/alignment' is not one of ['preprocessing/characterization', 'preprocessing/optimization', 'preprocessing/optimization/cropping', 'preprocessing/optimization/deskewing', 'preprocessing/optimization/despeckling', 'preprocessing/optimization/dewarping', 'preprocessing/optimization/binarization', 'preprocessing/optimization/grayscale_normalization', 'recognition/text-recognition', 'recognition/font-identification', 'recognition/post-correction', 'layout/segmentation', 'layout/segmentation/text-nontext', 'layout/segmentation/region', 'layout/segmentation/line', 'layout/segmentation/word', 'layout/segmentation/classification', 'layout/analysis']</error>\n  <error>[tools.ocrd-cis-post-correct] 'input_file_grp' is a required property</error>\n  <error>[tools.ocrd-cis-post-correct.parameters.ocrSteps] Additional properties are not allowed ('items' was unexpected)</error>\n  <error>[tools.ocrd-cis-post-correct.parameters.ocrSteps.type] 'array' is not one of ['string', 'number', 'boolean']</error>\n  <error>[tools.ocrd-cis-post-correct.parameters.postCorrection] Additional properties are not allowed ('properties' was unexpected)</error>\n  <error>[tools.ocrd-cis-post-correct.parameters.postCorrection.type] 'object' is not one of ['string', 'number', 'boolean']</error>\n  <error>[tools.ocrd-cis-post-correct.parameters.postCorrection.required] ['maxCandidate', 'profiler', 'model', 'runLE', 'runDM'] is not of type 'boolean'</error>\n  <error>[tools.ocrd-cis-post-correct.steps.0] 'postprocessing/alignment' is not one of ['preprocessing/characterization', 'preprocessing/optimization', 'preprocessing/optimization/cropping', 'preprocessing/optimization/deskewing', 'preprocessing/optimization/despeckling', 'preprocessing/optimization/dewarping', 'preprocessing/optimization/binarization', 'preprocessing/optimization/grayscale_normalization', 'recognition/text-recognition', 'recognition/font-identification', 'recognition/post-correction', 'layout/segmentation', 'layout/segmentation/text-nontext', 'layout/segmentation/region', 'layout/segmentation/line', 'layout/segmentation/word', 'layout/segmentation/classification', 'layout/analysis']</error>\n</report>",
-        "official": true,
-        "org_plus_name": "cisocrgroup/ocrd_cis",
-        "python": {
-            "author": "Florian Fink, Tobias Englmeier, Christoph Weber",
-            "author-email": "finkf@cis.lmu.de, englmeier@cis.lmu.de, web_chris@msn.com",
-            "name": "ocrd_cis",
-            "pypi": {
-                "info": {
-                    "author": "Florian Fink, Tobias Englmeier, Christoph Weber",
-                    "author_email": "finkf@cis.lmu.de, englmeier@cis.lmu.de, web_chris@msn.com",
-                    "bugtrack_url": null,
-                    "classifiers": [],
-                    "description": "[![Language grade: Python](https://img.shields.io/lgtm/grade/python/g/cisocrgroup/ocrd_cis.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/cisocrgroup/ocrd_cis/context:python)\n[![Total alerts](https://img.shields.io/lgtm/alerts/g/cisocrgroup/ocrd_cis.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/cisocrgroup/ocrd_cis/alerts/)\n# ocrd_cis\n\n[CIS](http://www.cis.lmu.de) [OCR-D](http://ocr-d.de) command line\ntools for the automatic post-correction of OCR-results.\n\n## Introduction\n`ocrd_cis` contains different tools for the automatic post correction\nof OCR-results.  It contains tools for the training, evaluation and\nexecution of the post correction.  Most of the tools are following the\n[OCR-D cli conventions](https://ocr-d.github.io/cli).\n\nThere is a helper tool to align multiple OCR results as well as a\nversion of ocropy that works with python3.\n\n## Installation\nThere are multiple ways to install the `ocrd_cis` tools:\n * `make install` uses `pip` to install `ocrd_cis` (see below).\n * `make install-devel` uses `pip -e` to install `ocrd_cis` (see\n   below).\n * `pip install --upgrade pip ocrd_cis_dir`\n * `pip install -e --upgrade pip ocrd_cis_dir`\n\nIt is possible to install `ocrd_cis` in a custom directory using\n`virtualenv`:\n```sh\n python3 -m venv venv-dir\n source venv-dir/bin/activate\n make install # or any other command to install ocrd_cis (see above)\n # use ocrd_cis\n deactivate\n```\n\n## Usage\nMost tools follow the [OCR-D cli\nconventions](https://ocr-d.github.io/cli).  They accept the\n`--input-file-grp`, `--output-file-grp`, `--parameter`, `--mets`,\n`--log-level` command line arguments (short and long).  For some tools\n(most notably the alignment tool) expect a comma seperated list of\nmultiple input file groups.\n\nThe [ocrd-tool.json](ocrd_cis/ocrd-tool.json) contains a schema\ndescription of the parameter config file for the different tools that\naccept the `--parameter` argument.\n\n### ocrd-cis-post-correct.sh\nThis bash script runs the post correction using a pre-trained\n[model](http://cis.lmu.de/~finkf/model.zip).  If additional support\nOCRs should be used, models for these OCR steps are required and must\nbe configured in an according configuration file (see ocrd-tool.json).\n\nArguments:\n * `--parameter` path to configuration file\n * `--input-file-grp` name of the master-OCR file group\n * `--output-file-grp` name of the post-correction file group\n * `--log-level` set log level\n * `--mets` path to METS file in workspace\n\n### ocrd-cis-align\nAligns tokens of multiple input file groups to one output file group.\nThis tool is used to align the master OCR with any additional support\nOCRs.  It accepts a comma-separated list of input file groups, which\nit aligns in order.\n\nArguments:\n * `--parameter` path to configuration file\n * `--input-file-grp` comma seperated list of the input file groups;\n   first input file group is the master OCR\n * `--output-file-grp` name of the file group for the aligned result\n * `--log-level` set log level\n * `--mets` path to METS file in workspace\n\n### ocrd-cis-train.sh\nScript to train a model from a list of ground-truth archives (see\nocrd-tool.json) for the post correction.  The tool somewhat mimics the\nbehaviour of other ocrd tools:\n * `--mets` for the workspace\n * `--log-level` is passed to other tools\n * `--parameter` is used as configuration\n * `--output-file-grp` defines the output file group for the model\n\n### ocrd-cis-data\nHelper tool to get the path of the installed data files. Usage:\n`ocrd-cis-data [-jar|-3gs]` to get the path of the jar library or the\npath to th default 3-grams language model file.\n\n### ocrd-cis-wer\nHelper tool to calculate the word error rate aligned ocr files.  It\nwrites a simple JSON-formated stats file to the given output file group.\n\nArguments:\n * `--input-file-grp` input file group of aligned ocr results with\n   their respective ground truth.\n * `--output-file-grp` name of the file group for the stats file\n * `--log-level` set log level\n * `--mets` path to METS file in workspace\n\n### ocrd-cis-profile\nRun the profiler over the given files of the according the given input\nfile grp and adds a gzipped JSON-formatted profile to the output file\ngroup of the workspace.  This tools requires an installed [language\nprofiler](https://github.com/cisocrgroup/Profiler).\n\nArguments:\n * `--parameter` path to configuration file\n * `--input-file-grp` name of the input file group to profile\n * `--output-file-grp` name of the output file group where the profile\n   is stored\n * `--log-level` set log level\n * `--mets` path to METS file in the workspace\n\n### ocrd-cis-ocropy-train\nThe ocropy-train tool can be used to train LSTM models.\nIt takes ground truth from the workspace and saves (image+text) snippets from the corresponding pages.\nThen a model is trained on all snippets for 1 million (or the given number of) randomized iterations from the parameter file.\n```sh\nocrd-cis-ocropy-train \\\n  --input-file-grp OCR-D-GT-SEG-LINE \\\n  --mets mets.xml\n  --parameter file:///path/to/config.json\n```\n\n### ocrd-cis-ocropy-clip\nThe ocropy-clip tool can be used to remove intrusions of neighbouring segments in regions / lines of a workspace.\nIt runs a (ad-hoc binarization and) connected component analysis on every text region / line of every PAGE in the input file group, as well as its overlapping neighbours, and for each binary object of conflict, determines whether it belongs to the neighbour, and can therefore be clipped to white. It references the resulting segment image files in the output PAGE (as AlternativeImage).\n```sh\nocrd-cis-ocropy-clip \\\n  --input-file-grp OCR-D-SEG-LINE \\\n  --output-file-grp OCR-D-SEG-LINE-CLIP \\\n  --mets mets.xml\n  --parameter file:///path/to/config.json\n```\n\n### ocrd-cis-ocropy-resegment\nThe ocropy-resegment tool can be used to remove overlap between lines of a workspace.\nIt runs a (ad-hoc binarization and) line segmentation on every text region of every PAGE in the input file group, and for each line already annotated, determines the label of largest extent within the original coordinates (polygon outline) in that line, and annotates the resulting coordinates in the output PAGE.\n```sh\nocrd-cis-ocropy-resegment \\\n  --input-file-grp OCR-D-SEG-LINE \\\n  --output-file-grp OCR-D-SEG-LINE-RES \\\n  --mets mets.xml\n  --parameter file:///path/to/config.json\n```\n\n### ocrd-cis-ocropy-segment\nThe ocropy-segment tool can be used to segment regions into lines.\nIt runs a (ad-hoc binarization and) line segmentation on every text region of every PAGE in the input file group, and adds a TextLine element with the resulting polygon outline to the annotation of the output PAGE.\n```sh\nocrd-cis-ocropy-segment \\\n  --input-file-grp OCR-D-SEG-BLOCK \\\n  --output-file-grp OCR-D-SEG-LINE \\\n  --mets mets.xml\n  --parameter file:///path/to/config.json\n```\n\n### ocrd-cis-ocropy-deskew\nThe ocropy-deskew tool can be used to deskew pages / regions of a workspace.\nIt runs the Ocropy thresholding and deskewing estimation on every segment of every PAGE in the input file group and annotates the orientation angle in the output PAGE.\n```sh\nocrd-cis-ocropy-deskew \\\n  --input-file-grp OCR-D-SEG-LINE \\\n  --output-file-grp OCR-D-SEG-LINE-DES \\\n  --mets mets.xml\n  --parameter file:///path/to/config.json\n```\n\n### ocrd-cis-ocropy-denoise\nThe ocropy-denoise tool can be used to despeckle pages / regions / lines of a workspace.\nIt runs the Ocropy \"nlbin\" denoising on every segment of every PAGE in the input file group and references the resulting segment image files in the output PAGE (as AlternativeImage).\n```sh\nocrd-cis-ocropy-denoise \\\n  --input-file-grp OCR-D-SEG-LINE-DES \\\n  --output-file-grp OCR-D-SEG-LINE-DEN \\\n  --mets mets.xml\n  --parameter file:///path/to/config.json\n```\n\n### ocrd-cis-ocropy-binarize\nThe ocropy-binarize tool can be used to binarize, denoise and deskew pages / regions / lines of a workspace.\nIt runs the Ocropy \"nlbin\" adaptive thresholding, deskewing estimation and denoising on every segment of every PAGE in the input file group and references the resulting segment image files in the output PAGE (as AlternativeImage). (If a deskewing angle has already been annotated in a region, the tool respects that and rotates accordingly.) Images can also be produced grayscale-normalized.\n```sh\nocrd-cis-ocropy-binarize \\\n  --input-file-grp OCR-D-SEG-LINE-DES \\\n  --output-file-grp OCR-D-SEG-LINE-BIN \\\n  --mets mets.xml\n  --parameter file:///path/to/config.json\n```\n\n### ocrd-cis-ocropy-dewarp\nThe ocropy-dewarp tool can be used to dewarp text lines of a workspace.\nIt runs the Ocropy baseline estimation and dewarping on every line in every text region of every PAGE in the input file group and references the resulting line image files in the output PAGE (as AlternativeImage).\n```sh\nocrd-cis-ocropy-dewarp \\\n  --input-file-grp OCR-D-SEG-LINE-BIN \\\n  --output-file-grp OCR-D-SEG-LINE-DEW \\\n  --mets mets.xml\n  --parameter file:///path/to/config.json\n```\n\n### ocrd-cis-ocropy-recognize\nThe ocropy-recognize tool can be used to recognize lines / words / glyphs from pages of a workspace.\nIt runs the Ocropy optical character recognition on every line in every text region of every PAGE in the input file group and adds the resulting text annotation in the output PAGE.\n```sh\nocrd-cis-ocropy-recognize \\\n  --input-file-grp OCR-D-SEG-LINE-DEW \\\n  --output-file-grp OCR-D-OCR-OCRO \\\n  --mets mets.xml\n  --parameter file:///path/to/config.json\n```\n\n### Tesserocr\nInstall essential system packages for Tesserocr\n```sh\nsudo apt-get install python3-tk \\\n  tesseract-ocr libtesseract-dev libleptonica-dev \\\n  libimage-exiftool-perl libxml2-utils\n```\n\nThen install Tesserocr from: https://github.com/OCR-D/ocrd_tesserocr\n```sh\npip install -r requirements.txt\npip install .\n```\n\nDownload and move tesseract models from:\nhttps://github.com/tesseract-ocr/tesseract/wiki/Data-Files\nor use your own models and\nplace them into: /usr/share/tesseract-ocr/4.00/tessdata\n\n## Workflow configuration\n\nA decent pipeline might look like this:\n\n1. page-level cropping\n2. page-level binarization\n3. page-level deskewing\n4. page-level dewarping\n5. region segmentation\n6. region-level clipping\n7. region-level deskewing\n8. line segmentation\n9. line-level clipping or resegmentation\n10. line-level dewarping\n11. line-level recognition\n12. line-level alignment\n\nIf GT is used, steps 1, 5 and 8 can be omitted. Else if a segmentation is used in 5 and 8 which does not produce overlapping sections, steps 6 and 9 can be omitted.\n\n## Testing\nTo run a few basic tests type `make test` (`ocrd_cis` has to be\ninstalled in order to run any tests).\n\n## OCR-D workspace\n\n* Create a new (empty) workspace: `ocrd workspace init workspace-dir`\n* cd into `workspace-dir`\n* Add new file to workspace: `ocrd workspace add file -G group -i id\n  -m mimetype`\n\n## OCR-D links\n\n- [OCR-D](https://ocr-d.github.io)\n- [Github](https://github.com/OCR-D)\n- [Project-page](http://www.ocr-d.de/)\n- [Ground-truth](http://www.ocr-d.de/sites/all/GTDaten/IndexGT.html)\n\n\n",
-                    "description_content_type": "text/markdown",
-                    "docs_url": null,
-                    "download_url": "",
-                    "downloads": {
-                        "last_day": -1,
-                        "last_month": -1,
-                        "last_week": -1
-                    },
-                    "home_page": "https://github.com/cisocrgroup/ocrd_cis",
-                    "keywords": "",
-                    "license": "MIT",
-                    "maintainer": "",
-                    "maintainer_email": "",
-                    "name": "ocrd-cis",
-                    "package_url": "https://pypi.org/project/ocrd-cis/",
-                    "platform": "",
-                    "project_url": "https://pypi.org/project/ocrd-cis/",
-                    "project_urls": {
-                        "Homepage": "https://github.com/cisocrgroup/ocrd_cis"
-                    },
-                    "release_url": "https://pypi.org/project/ocrd-cis/0.0.7/",
-                    "requires_dist": [
-                        "ocrd (>=2.0.0)",
-                        "click",
-                        "scipy",
-                        "numpy (>=1.17.0)",
-                        "pillow (>=6.2.0)",
-                        "matplotlib (>3.0.0)",
-                        "python-Levenshtein",
-                        "calamari-ocr (==0.3.5)"
-                    ],
-                    "requires_python": "",
-                    "summary": "CIS OCR-D command line tools",
-                    "version": "0.0.7"
-                },
-                "last_serial": 6235442,
-                "releases": {
-                    "0.0.6": [
-                        {
-                            "comment_text": "",
-                            "digests": {
-                                "md5": "a186d34dad8d16c13d12af2d0b6d889b",
-                                "sha256": "ac2ada13f48b301831e41cba1e9a86b8e10ac2e8f4036ecdda9eb3524e36461c"
-                            },
-                            "downloads": -1,
-                            "filename": "ocrd_cis-0.0.6-py3-none-any.whl",
-                            "has_sig": false,
-                            "md5_digest": "a186d34dad8d16c13d12af2d0b6d889b",
-                            "packagetype": "bdist_wheel",
-                            "python_version": "py3",
-                            "requires_python": null,
-                            "size": 34044792,
-                            "upload_time": "2019-11-05T19:37:33",
-                            "upload_time_iso_8601": "2019-11-05T19:37:33.819139Z",
-                            "url": "https://files.pythonhosted.org/packages/f7/e0/5e3953c9243d05859e679bb83bef9c6f08e10fe0eef736fce90bc42657bc/ocrd_cis-0.0.6-py3-none-any.whl"
-                        },
-                        {
-                            "comment_text": "",
-                            "digests": {
-                                "md5": "5c8c3934a2a4fe764c112d8fd12a5ffc",
-                                "sha256": "97aea3f172a5eda7272113eb99d55fddda0a96069a20173ea17563d0532bbd55"
-                            },
-                            "downloads": -1,
-                            "filename": "ocrd_cis-0.0.6.tar.gz",
-                            "has_sig": false,
-                            "md5_digest": "5c8c3934a2a4fe764c112d8fd12a5ffc",
-                            "packagetype": "sdist",
-                            "python_version": "source",
-                            "requires_python": null,
-                            "size": 96645,
-                            "upload_time": "2019-11-05T19:37:38",
-                            "upload_time_iso_8601": "2019-11-05T19:37:38.406783Z",
-                            "url": "https://files.pythonhosted.org/packages/8a/a9/1fab502623c41529c13b4ecbedfe224f35843160ddcef4c527a18cfe73b8/ocrd_cis-0.0.6.tar.gz"
-                        }
-                    ],
-                    "0.0.7": [
-                        {
-                            "comment_text": "",
-                            "digests": {
-                                "md5": "539c82850462be8013eb31938e7779cf",
-                                "sha256": "c3d5898c869ae8c88db28fd52907bcabf1ac0d5cd474f73a30a1ff06615c3dbe"
-                            },
-                            "downloads": -1,
-                            "filename": "ocrd_cis-0.0.7-py3-none-any.whl",
-                            "has_sig": false,
-                            "md5_digest": "539c82850462be8013eb31938e7779cf",
-                            "packagetype": "bdist_wheel",
-                            "python_version": "py3",
-                            "requires_python": null,
-                            "size": 34044484,
-                            "upload_time": "2019-12-02T15:30:28",
-                            "upload_time_iso_8601": "2019-12-02T15:30:28.430896Z",
-                            "url": "https://files.pythonhosted.org/packages/38/c3/10637d7c51e3d6a0e5e5004476dcf2de093e1e3bec8452e241dcf1fa595c/ocrd_cis-0.0.7-py3-none-any.whl"
-                        },
-                        {
-                            "comment_text": "",
-                            "digests": {
-                                "md5": "7df03598c04d60203afb00c61ff836da",
-                                "sha256": "3629b49d32e1626830b6890f6d47793474fcb3232e4b12c43d5d3f38bb33f08d"
-                            },
-                            "downloads": -1,
-                            "filename": "ocrd_cis-0.0.7.tar.gz",
-                            "has_sig": false,
-                            "md5_digest": "7df03598c04d60203afb00c61ff836da",
-                            "packagetype": "sdist",
-                            "python_version": "source",
-                            "requires_python": null,
-                            "size": 96590,
-                            "upload_time": "2019-12-02T15:30:33",
-                            "upload_time_iso_8601": "2019-12-02T15:30:33.037095Z",
-                            "url": "https://files.pythonhosted.org/packages/b8/cb/3fdc4daee6b85b732913c012cf41cafaab708b367c3fd5883d0d8e99c1b1/ocrd_cis-0.0.7.tar.gz"
-                        }
-                    ]
-                },
-                "urls": [
-                    {
-                        "comment_text": "",
-                        "digests": {
-                            "md5": "539c82850462be8013eb31938e7779cf",
-                            "sha256": "c3d5898c869ae8c88db28fd52907bcabf1ac0d5cd474f73a30a1ff06615c3dbe"
-                        },
-                        "downloads": -1,
-                        "filename": "ocrd_cis-0.0.7-py3-none-any.whl",
-                        "has_sig": false,
-                        "md5_digest": "539c82850462be8013eb31938e7779cf",
-                        "packagetype": "bdist_wheel",
-                        "python_version": "py3",
-                        "requires_python": null,
-                        "size": 34044484,
-                        "upload_time": "2019-12-02T15:30:28",
-                        "upload_time_iso_8601": "2019-12-02T15:30:28.430896Z",
-                        "url": "https://files.pythonhosted.org/packages/38/c3/10637d7c51e3d6a0e5e5004476dcf2de093e1e3bec8452e241dcf1fa595c/ocrd_cis-0.0.7-py3-none-any.whl"
-                    },
-                    {
-                        "comment_text": "",
-                        "digests": {
-                            "md5": "7df03598c04d60203afb00c61ff836da",
-                            "sha256": "3629b49d32e1626830b6890f6d47793474fcb3232e4b12c43d5d3f38bb33f08d"
-                        },
-                        "downloads": -1,
-                        "filename": "ocrd_cis-0.0.7.tar.gz",
-                        "has_sig": false,
-                        "md5_digest": "7df03598c04d60203afb00c61ff836da",
-                        "packagetype": "sdist",
-                        "python_version": "source",
-                        "requires_python": null,
-                        "size": 96590,
-                        "upload_time": "2019-12-02T15:30:33",
-                        "upload_time_iso_8601": "2019-12-02T15:30:33.037095Z",
-                        "url": "https://files.pythonhosted.org/packages/b8/cb/3fdc4daee6b85b732913c012cf41cafaab708b367c3fd5883d0d8e99c1b1/ocrd_cis-0.0.7.tar.gz"
-                    }
-                ]
-            },
-            "url": "https://github.com/cisocrgroup/ocrd_cis"
-        },
-        "url": "https://github.com/cisocrgroup/ocrd_cis"
-    },
-    {
-        "compliant_cli": false,
-        "files": {
-            "Dockerfile": "FROM ocrd/core\nMAINTAINER OCR-D\nENV DEBIAN_FRONTEND noninteractive\nENV PYTHONIOENCODING utf8\n\nWORKDIR /build-layouterkennung\nCOPY setup.py .\nCOPY requirements.txt .\nCOPY README.md .\nCOPY ocrd_anybaseocr ./ocrd_anybaseocr\nRUN pip3 install .\n",
-            "README.md": "# Document Preprocessing and Segmentation\n\n[![CircleCI](https://circleci.com/gh/mjenckel/OCR-D-LAYoutERkennung.svg?style=svg)](https://circleci.com/gh/mjenckel/OCR-D-LAYoutERkennung)\n\n> Tools for preprocessing scanned images for OCR\n\n# Installing\n\nTo install anyBaseOCR dependencies system-wide:\n\n    $ sudo pip install .\n\nAlternatively, dependencies can be installed into a Virtual Environment:\n\n    $ virtualenv venv\n    $ source venv/bin/activate\n    $ pip install -e .\n\n#Tools\n\n## Binarizer\n\n### Method Behaviour \n This function takes a scanned colored /gray scale document image as input and do the black and white binarize image.\n \n #### Usage:\n```sh\nocrd-anybaseocr-binarize -m (path to METs input file) -I (Input group name) -O (Output group name) [-p (path to parameter file) -o (METs output filename)]\n```\n\n#### Example: \n```sh\nocrd-anybaseocr-binarize \\\n   -m mets.xml \\\n   -I OCR-D-IMG \\\n   -O OCR-D-PAGE-BIN\n```\n\n## Deskewer\n\n### Method Behaviour \n This function takes a document image as input and do the skew correction of that document.\n \n #### Usage:\n```sh\nocrd-anybaseocr-deskew -m (path to METs input file) -I (Input group name) -O (Output group name) [-p (path to parameter file) -o (METs output filename)]\n```\n\n#### Example: \n```sh\nocrd-anybaseocr-deskew \\\n  -m mets.xml \\\n  -I OCR-D-PAGE-BIN \\\n  -O OCR-D-PAGE-DESKEW\n```\n\n## Cropper\n\n### Method Behaviour \n This function takes a document image as input and crops/selects the page content area only (that's mean remove textual noise as well as any other noise around page content area)\n \n #### Usage:\n```sh\nocrd-anybaseocr-crop -m (path to METs input file) -I (Input group name) -O (Output group name) [-p (path to parameter file) -o (METs output filename)]\n```\n\n#### Example: \n```sh\nocrd-anybaseocr-crop \\\n   -m mets.xml \\\n   -I OCR-D-PAGE-DESKEW \\\n   -O OCR-D-PAGE-CROP\n```\n\n\n## Dewarper\n\n### Method Behaviour \n This function takes a document image as input and make the text line straight if its curved.\n \n #### Usage:\n```sh\nocrd-anybaseocr-dewarp -m (path to METs input file) -I (Input group name) -O (Output group name) [-p (path to parameter file) -o (METs output filename)]\n```\n\n\n#### Example: \n```sh\nCUDA_VISIBLE_DEVICES=0 ocrd-anybaseocr-dewarp \\\n   -m mets.xml \\\n   -I OCR-D-PAGE-CROP \\\n   -O OCR-D-PAGE-DEWARP\n```\n\n## Text/Non-Text Segmenter\n\n### Method Behaviour \n This function takes a document image as an input and separates the text and non-text part from the input document image.\n \n #### Usage:\n```sh\nocrd-anybaseocr-tiseg -m (path to METs input file) -I (Input group name) -O (Output group name) [-p (path to parameter file) -o (METs output filename)]\n```\n\n#### Example: \n```sh\nocrd-anybaseocr-tiseg \\\n   -m mets.xml \\\n   -I OCR-D-PAGE-CROP \\\n   -O OCR-D-PAGE-TISEG\n```\n\n## Textline Segmenter\n\n### Method Behaviour \n This function takes a cropped document image as an input and segment the image into textline images.\n \n #### Usage:\n```sh\nocrd-anybaseocr-textline -m (path to METs input file) -I (Input group name) -O (Output group name) [-p (path to parameter file) -o (METs output filename)]\n```\n\n#### Example: \n```sh\nocrd-anybaseocr-textline \\\n   -m mets.xml \\\n   -I OCR-D-PAGE-TISEG \\\n   -O OCR-D-PAGE-TL\n```\n\n## Block Segmenter\n\n### Method Behaviour \n This function takes raw document image as an input and segments the image into the different text blocks.\n \n #### Usage:\n```sh\nocrd-anybaseocr-block-segmenter -m (path to METs input file) -I (Input group name) -O (Output group name) [-p (path to parameter file) -o (METs output filename)]\n```\n\n#### Example: \n```sh\nocrd-anybaseocr-block-segmenter \\\n   -m mets.xml \\\n   -I OCR-IMG \\\n   -O OCR-D-PAGE-BLOCK\n```\n\n## Document Analyser\n\n### Method Behaviour \n This function takes all the cropped document images of a single book and its corresponding text regions as input and generates the logical structure on the book level.\n \n #### Usage:\n```sh\nocrd-anybaseocr-layout-analysis -m (path to METs input file) -I (Input group name) -O (Output group name) [-p (path to parameter file) -o (METs output filename)]\n```\n\n#### Example: \n```sh\nocrd-anybaseocr-layout-analysis \\\n   -m mets.xml \\\n   -I OCR-IMG \\\n   -O OCR-D-PAGE-BLOCK\n```\n\n\n## Testing\n\nTo test the tools, download [OCR-D/assets](https://github.com/OCR-D/assets). In\nparticular, the code is tested with the\n[dfki-testdata](https://github.com/OCR-D/assets/tree/master/data/dfki-testdata)\ndataset.\n\nRun `make test` to run all tests.\n\n## License\n\n\n```\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n     http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n ```\n",
-            "ocrd-tool.json": "{\n  \"git_url\": \"https://github.com/mjenckel/LAYoutERkennung/\",\n  \"version\": \"0.0.1\",\n  \"tools\": {\n    \"ocrd-anybaseocr-binarize\": {\n      \"executable\": \"ocrd-anybaseocr-binarize\",\n      \"description\": \"Binarize images with the algorithm from ocropy\",\n      \"categories\": [\"Image preprocessing\"],\n      \"steps\": [\"preprocessing/optimization/binarization\"],\n      \"input_file_grp\": [\"OCR-D-IMG\"],\n      \"output_file_grp\": [\"OCR-D-IMG-BIN\"],\n      \"parameters\": {\n        \"nocheck\":         {\"type\": \"boolean\",                     \"default\": false, \"description\": \"disable error checking on inputs\"},\n        \"show\":            {\"type\": \"boolean\",                     \"default\": false, \"description\": \"display final results\"},\n        \"raw_copy\":        {\"type\": \"boolean\",                     \"default\": false, \"description\": \"also copy the raw image\"},\n        \"gray\":            {\"type\": \"boolean\",                     \"default\": false, \"description\": \"force grayscale processing even if image seems binary\"},\n        \"bignore\":         {\"type\": \"number\", \"format\": \"float\",   \"default\": 0.1,   \"description\": \"ignore this much of the border for threshold estimation\"},\n        \"debug\":           {\"type\": \"number\", \"format\": \"integer\", \"default\": 0,     \"description\": \"display intermediate results\"},\n        \"escale\":          {\"type\": \"number\", \"format\": \"float\",   \"default\": 1.0,   \"description\": \"scale for estimating a mask over the text region\"},\n        \"hi\":              {\"type\": \"number\", \"format\": \"float\",   \"default\": 90,    \"description\": \"percentile for white estimation\"},\n        \"lo\":              {\"type\": \"number\", \"format\": \"float\",   \"default\": 5,     \"description\": \"percentile for black estimation\"},\n        \"perc\":            {\"type\": \"number\", \"format\": \"float\",   \"default\": 80,    \"description\": \"percentage for filters\"},\n        \"range\":           {\"type\": \"number\", \"format\": \"integer\", \"default\": 20,    \"description\": \"range for filters\"},\n        \"threshold\":       {\"type\": \"number\", \"format\": \"float\",   \"default\": 0.5,   \"description\": \"threshold, determines lightness\"},\n        \"zoom\":            {\"type\": \"number\", \"format\": \"float\",   \"default\": 0.5,   \"description\": \"zoom for page background estimation, smaller=faster\"},\n        \"operation_level\": {\"type\": \"string\", \"enum\": [\"page\",\"region\", \"line\"], \"default\": \"page\",\"description\": \"PAGE XML hierarchy level to operate on\"}\n      }\n    },\n    \"ocrd-anybaseocr-deskew\": {\n      \"executable\": \"ocrd-anybaseocr-deskew\",\n      \"description\": \"Deskew images with the algorithm from ocropy\",\n      \"categories\": [\"Image preprocessing\"],\n      \"steps\": [\"preprocessing/optimization/deskewing\"],\n      \"input_file_grp\": [\"OCR-D-IMG-BIN\"],\n      \"output_file_grp\": [\"OCR-D-IMG-DESKEW\"],\n      \"parameters\": {\n        \"escale\":    {\"type\": \"number\", \"format\": \"float\",   \"default\": 1.0, \"description\": \"scale for estimating a mask over the text region\"},\n        \"bignore\":   {\"type\": \"number\", \"format\": \"float\",   \"default\": 0.1, \"description\": \"ignore this much of the border for threshold estimation\"},\n        \"threshold\": {\"type\": \"number\", \"format\": \"float\",   \"default\": 0.5, \"description\": \"threshold, determines lightness\"},\n        \"maxskew\":   {\"type\": \"number\", \"format\": \"float\",   \"default\": 1.0, \"description\": \"skew angle estimation parameters (degrees)\"},\n        \"skewsteps\": {\"type\": \"number\", \"format\": \"integer\", \"default\": 8,   \"description\": \"steps for skew angle estimation (per degree)\"},\n        \"debug\":     {\"type\": \"number\", \"format\": \"integer\", \"default\": 0,   \"description\": \"display intermediate results\"},\n        \"parallel\":  {\"type\": \"number\", \"format\": \"integer\", \"default\": 0,   \"description\": \"???\"},\n        \"lo\":        {\"type\": \"number\", \"format\": \"integer\", \"default\": 5,   \"description\": \"percentile for black estimation\"},\n        \"hi\":        {\"type\": \"number\", \"format\": \"integer\", \"default\": 90,   \"description\": \"percentile for white estimation\"},\n        \"operation_level\": {\"type\": \"string\", \"enum\": [\"page\",\"region\", \"line\"], \"default\": \"page\",\"description\": \"PAGE XML hierarchy level to operate on\"}\n      }\n    },\n    \"ocrd-anybaseocr-crop\": {\n      \"executable\": \"ocrd-anybaseocr-crop\",\n      \"description\": \"Image crop using non-linear processing\",\n      \"categories\": [\"Image preprocessing\"],\n      \"steps\": [\"preprocessing/optimization/cropping\"],\n      \"input_file_grp\": [\"OCR-D-IMG-DESKEW\"],\n      \"output_file_grp\": [\"OCR-D-IMG-CROP\"],\n      \"parameters\": {\n        \"colSeparator\":  {\"type\": \"number\", \"format\": \"float\", \"default\": 0.04, \"description\": \"consider space between column. 25% of width\"},\n        \"maxRularArea\":  {\"type\": \"number\", \"format\": \"float\", \"default\": 0.3, \"description\": \"Consider maximum rular area\"},\n        \"minArea\":       {\"type\": \"number\", \"format\": \"float\", \"default\": 0.05, \"description\": \"rular position in below\"},\n        \"minRularArea\":  {\"type\": \"number\", \"format\": \"float\", \"default\": 0.01, \"description\": \"Consider minimum rular area\"},\n        \"positionBelow\": {\"type\": \"number\", \"format\": \"float\", \"default\": 0.75, \"description\": \"rular position in below\"},\n        \"positionLeft\":  {\"type\": \"number\", \"format\": \"float\", \"default\": 0.4, \"description\": \"rular position in left\"},\n        \"positionRight\": {\"type\": \"number\", \"format\": \"float\", \"default\": 0.6, \"description\": \"rular position in right\"},\n        \"rularRatioMax\": {\"type\": \"number\", \"format\": \"float\", \"default\": 10.0, \"description\": \"rular position in below\"},\n        \"rularRatioMin\": {\"type\": \"number\", \"format\": \"float\", \"default\": 3.0, \"description\": \"rular position in below\"},\n        \"rularWidth\":    {\"type\": \"number\", \"format\": \"float\", \"default\": 0.95, \"description\": \"maximum rular width\"},\n        \"operation_level\": {\"type\": \"string\", \"enum\": [\"page\",\"region\", \"line\"], \"default\": \"page\",\"description\": \"PAGE XML hierarchy level to operate on\"}\n      }\n    },\n    \"ocrd-anybaseocr-dewarp\": {\n      \"executable\": \"ocrd-anybaseocr-dewarp\",\n      \"description\": \"dewarp image with anyBaseOCR\",\n      \"categories\": [\"Image preprocessing\"],\n      \"steps\": [\"preprocessing/optimization/dewarping\"],\n      \"input_file_grp\": [\"OCR-D-IMG-CROP\"],\n      \"output_file_grp\": [\"OCR-D-IMG-DEWARP\"],\n      \"parameters\": {\n        \"imgresize\":    { \"type\": \"string\",                      \"default\": \"resize_and_crop\", \"description\": \"run on original size image\"},\n        \"pix2pixHD\":    { \"type\": \"string\", \"default\":\"/home/ahmed/project/pix2pixHD\", \"description\": \"Path to pix2pixHD library\"},\n        \"model_name\":\t{ \"type\": \"string\", \"default\":\"models\", \"description\": \"name of dir with trained pix2pixHD model (latest_net_G.pth)\"},\n        \"checkpoint_dir\":   { \"type\": \"string\", \"default\":\"./\", \"description\": \"Path to where to look for dir with model name\"},\n        \"gpu_id\":       { \"type\": \"number\", \"format\": \"integer\", \"default\": 0,    \"description\": \"gpu id\"},\n        \"resizeHeight\": { \"type\": \"number\", \"format\": \"integer\", \"default\": 1024, \"description\": \"resized image height\"},\n        \"resizeWidth\":  { \"type\": \"number\", \"format\": \"integer\", \"default\": 1024, \"description\": \"resized image width\"},\n        \"operation_level\": {\"type\": \"string\", \"enum\": [\"page\",\"region\", \"line\"], \"default\": \"page\",\"description\": \"PAGE XML hierarchy level to operate on\"}\n      }\n    },\n    \"ocrd-anybaseocr-tiseg\": {\n      \"executable\": \"ocrd-anybaseocr-tiseg\",\n      \"input_file_grp\": [\"OCR-D-IMG-CROP\"],\n      \"output_file_grp\": [\"OCR-D-SEG-TISEG\"],\n      \"categories\": [\"Layout analysis\"],\n      \"steps\": [\"layout/segmentation/text-image\"],\n      \"description\": \"separate text and non-text part with anyBaseOCR\",\n      \"parameters\": {\n        \"operation_level\": {\"type\": \"string\", \"enum\": [\"page\",\"region\", \"line\"], \"default\": \"page\",\"description\": \"PAGE XML hierarchy level to operate on\"}\n      }\n    },\n    \"ocrd-anybaseocr-textline\": {\n      \"executable\": \"ocrd-anybaseocr-textline\",\n      \"input_file_grp\": [\"OCR-D-SEG-TISEG\"],\n      \"output_file_grp\": [\"OCR-D-SEG-LINE-ANY\"],\n      \"categories\": [\"Layout analysis\"],\n      \"steps\": [\"layout/segmentation/line\"],\n      \"description\": \"separate each text line\",\n      \"parameters\": {\n        \"minscale\":    {\"type\": \"number\", \"format\": \"float\", \"default\": 12.0, \"description\": \"minimum scale permitted\"},\n        \"maxlines\":    {\"type\": \"number\", \"format\": \"float\", \"default\": 300, \"description\": \"non-standard scaling of horizontal parameters\"},\n        \"scale\":       {\"type\": \"number\", \"format\": \"float\", \"default\": 0.0, \"description\": \"the basic scale of the document (roughly, xheight) 0=automatic\"},\n        \"hscale\":      {\"type\": \"number\", \"format\": \"float\", \"default\": 1.0, \"description\": \"non-standard scaling of horizontal parameters\"},\n        \"vscale\":      {\"type\": \"number\", \"format\": \"float\", \"default\": 1.7, \"description\": \"non-standard scaling of vertical parameters\"},\n        \"threshold\":   {\"type\": \"number\", \"format\": \"float\", \"default\": 0.2, \"description\": \"baseline threshold\"},\n        \"noise\":       {\"type\": \"number\", \"format\": \"integer\", \"default\": 8, \"description\": \"noise threshold for removing small components from lines\"},\n        \"usegauss\":    {\"type\": \"boolean\", \"default\": false, \"description\": \"use gaussian instead of uniform\"},\n        \"maxseps\":     {\"type\": \"number\", \"format\": \"integer\", \"default\": 2, \"description\": \"maximum black column separators\"},\n        \"sepwiden\":    {\"type\": \"number\", \"format\": \"integer\", \"default\": 10, \"description\": \"widen black separators (to account for warping)\"},\n        \"blackseps\":   {\"type\": \"boolean\", \"default\": false, \"description\": \"also check for black column separators\"},\n        \"maxcolseps\":  {\"type\": \"number\", \"format\": \"integer\", \"default\": 2, \"description\": \"maximum # whitespace column separators\"},\n        \"csminaspect\": {\"type\": \"number\", \"format\": \"float\", \"default\": 1.1, \"description\": \"minimum aspect ratio for column separators\"},\n        \"csminheight\": {\"type\": \"number\", \"format\": \"float\", \"default\": 6.5, \"description\": \"minimum column height (units=scale)\"},\n        \"pad\":         {\"type\": \"number\", \"format\": \"integer\", \"default\": 3, \"description\": \"padding for extracted lines\"},\n        \"expand\":      {\"type\": \"number\", \"format\": \"integer\", \"default\": 3, \"description\": \"expand mask for grayscale extraction\"},\n        \"parallel\":    {\"type\": \"number\", \"format\": \"integer\", \"default\": 0, \"description\": \"number of CPUs to use\"},\n        \"libpath\":     {\"type\": \"string\", \"default\": \".\", \"description\": \"Library Path for C Executables\"},\n        \"operation_level\": {\"type\": \"string\", \"enum\": [\"page\",\"region\", \"line\"], \"default\": \"page\",\"description\": \"PAGE XML hierarchy level to operate on\"}\n      }\n    },\n    \"ocrd-anybaseocr-layout-analysis\": {\n      \"executable\": \"ocrd-anybaseocr-layout-analysis\",\n      \"input_file_grp\": [\"OCR-D-IMG-CROP\"],\n      \"output_file_grp\": [\"OCR-D-SEG-LAYOUT\"],\n      \"categories\": [\"Layout analysis\"],\n      \"steps\": [\"layout/segmentation/text-image\"],\n      \"description\": \"Analysis of the input document\",\n      \"parameters\": {\n        \"batch_size\":         {\"type\": \"number\", \"format\": \"integer\", \"default\": 4, \"description\": \"Batch size for generating test images\"},\n        \"model_path\":         { \"type\": \"string\", \"default\":\"models/structure_analysis.h5\", \"required\": false, \"description\": \"Path to Layout Structure Classification Model\"},\n        \"class_mapping_path\": { \"type\": \"string\", \"default\":\"models/mapping_DenseNet.pickle\",\"required\": false, \"description\": \"Path to Layout Structure Classes\"}\n      }\n    },\n    \"ocrd-anybaseocr-block-segmentation\": {\n      \"executable\": \"ocrd-anybaseocr-block-segmentation\",\n      \"input_file_grp\": [\"OCR-D-IMG\"],\n      \"output_file_grp\": [\"OCR-D-BLOCK-SEGMENT\"],\n      \"categories\": [\"Layout analysis\"],\n      \"steps\": [\"layout/segmentation/text-image\"],\n      \"description\": \"Analysis of the input document\",\n      \"parameters\": {        \n        \"block_segmentation_model\":   { \"type\": \"string\",\"default\":\"mrcnn/\", \"required\": false, \"description\": \"Path to block segmentation Model\"},\n        \"block_segmentation_weights\": { \"type\": \"string\",\"default\":\"mrcnn/block_segmentation_weights.h5\",  \"required\": false, \"description\": \"Path to model weights\"},\n        \"operation_level\": {\"type\": \"string\", \"enum\": [\"page\",\"region\", \"line\"], \"default\": \"page\",\"description\": \"PAGE XML hierarchy level to operate on\"}\n      }       \n    }\n  }\n}\n",
-            "setup.py": "# -*- coding: utf-8 -*-\nfrom setuptools import setup, find_packages\n\nsetup(\n    name='ocrd-anybaseocr',\n    version='0.0.1',\n    author=\"DFKI\",\n    author_email=\"Saqib.Bukhari@dfki.de, Mohammad_mohsin.reza@dfki.de\",\n    url=\"https://github.com/mjenckel/LAYoutERkennung\",\n    license='Apache License 2.0',\n    long_description=open('README.md').read(),\n    long_description_content_type='text/markdown',\n    install_requires=open('requirements.txt').read().split('\\n'),\n    packages=find_packages(exclude=[\"work_dir\", \"src\"]),\n    package_data={\n        '': ['*.json']\n    },\n    entry_points={\n        'console_scripts': [\n            'ocrd-anybaseocr-binarize           = ocrd_anybaseocr.cli.cli:ocrd_anybaseocr_binarize',\n            'ocrd-anybaseocr-deskew             = ocrd_anybaseocr.cli.cli:ocrd_anybaseocr_deskew',\n            'ocrd-anybaseocr-crop               = ocrd_anybaseocr.cli.cli:ocrd_anybaseocr_cropping',        \n            'ocrd-anybaseocr-dewarp             = ocrd_anybaseocr.cli.cli:ocrd_anybaseocr_dewarp',\n            'ocrd-anybaseocr-tiseg              = ocrd_anybaseocr.cli.cli:ocrd_anybaseocr_tiseg',\n            'ocrd-anybaseocr-textline           = ocrd_anybaseocr.cli.cli:ocrd_anybaseocr_textline',\n            'ocrd-anybaseocr-layout-analysis    = ocrd_anybaseocr.cli.cli:ocrd_anybaseocr_layout_analysis',\n            'ocrd-anybaseocr-block-segmentation = ocrd_anybaseocr.cli.cli:ocrd_anybaseocr_block_segmentation'\n        ]\n    },\n)\n"
-        },
-        "git": {
-            "last_commit": "Wed Dec 4 16:48:52 2019 +0100",
-            "latest_tag": "",
-            "number_of_commits": "103",
-            "url": "https://github.com/OCR-D/ocrd_anybaseocr.git"
-        },
-        "name": "ocrd_anybaseocr",
-        "ocrd_tool": {
-            "git_url": "https://github.com/mjenckel/LAYoutERkennung/",
-            "tools": {
-                "ocrd-anybaseocr-binarize": {
-                    "categories": [
-                        "Image preprocessing"
-                    ],
-                    "description": "Binarize images with the algorithm from ocropy",
-                    "executable": "ocrd-anybaseocr-binarize",
-                    "input_file_grp": [
-                        "OCR-D-IMG"
-                    ],
-                    "output_file_grp": [
-                        "OCR-D-IMG-BIN"
-                    ],
-                    "parameters": {
-                        "bignore": {
-                            "default": 0.1,
-                            "description": "ignore this much of the border for threshold estimation",
-                            "format": "float",
-                            "type": "number"
-                        },
-                        "debug": {
-                            "default": 0,
-                            "description": "display intermediate results",
-                            "format": "integer",
-                            "type": "number"
-                        },
-                        "escale": {
-                            "default": 1.0,
-                            "description": "scale for estimating a mask over the text region",
-                            "format": "float",
-                            "type": "number"
-                        },
-                        "gray": {
-                            "default": false,
-                            "description": "force grayscale processing even if image seems binary",
-                            "type": "boolean"
-                        },
-                        "hi": {
-                            "default": 90,
-                            "description": "percentile for white estimation",
-                            "format": "float",
-                            "type": "number"
-                        },
-                        "lo": {
-                            "default": 5,
-                            "description": "percentile for black estimation",
-                            "format": "float",
-                            "type": "number"
-                        },
-                        "nocheck": {
-                            "default": false,
-                            "description": "disable error checking on inputs",
-                            "type": "boolean"
-                        },
-                        "operation_level": {
-                            "default": "page",
-                            "description": "PAGE XML hierarchy level to operate on",
-                            "enum": [
-                                "page",
-                                "region",
-                                "line"
-                            ],
-                            "type": "string"
-                        },
-                        "perc": {
-                            "default": 80,
-                            "description": "percentage for filters",
-                            "format": "float",
-                            "type": "number"
-                        },
-                        "range": {
-                            "default": 20,
-                            "description": "range for filters",
-                            "format": "integer",
-                            "type": "number"
-                        },
-                        "raw_copy": {
-                            "default": false,
-                            "description": "also copy the raw image",
-                            "type": "boolean"
-                        },
-                        "show": {
-                            "default": false,
-                            "description": "display final results",
-                            "type": "boolean"
-                        },
-                        "threshold": {
-                            "default": 0.5,
-                            "description": "threshold, determines lightness",
-                            "format": "float",
-                            "type": "number"
-                        },
-                        "zoom": {
-                            "default": 0.5,
-                            "description": "zoom for page background estimation, smaller=faster",
-                            "format": "float",
-                            "type": "number"
-                        }
-                    },
-                    "steps": [
-                        "preprocessing/optimization/binarization"
-                    ]
-                },
-                "ocrd-anybaseocr-block-segmentation": {
-                    "categories": [
-                        "Layout analysis"
-                    ],
-                    "description": "Analysis of the input document",
-                    "executable": "ocrd-anybaseocr-block-segmentation",
-                    "input_file_grp": [
-                        "OCR-D-IMG"
-                    ],
-                    "output_file_grp": [
-                        "OCR-D-BLOCK-SEGMENT"
-                    ],
-                    "parameters": {
-                        "block_segmentation_model": {
-                            "default": "mrcnn/",
-                            "description": "Path to block segmentation Model",
-                            "required": false,
-                            "type": "string"
-                        },
-                        "block_segmentation_weights": {
-                            "default": "mrcnn/block_segmentation_weights.h5",
-                            "description": "Path to model weights",
-                            "required": false,
-                            "type": "string"
-                        },
-                        "operation_level": {
-                            "default": "page",
-                            "description": "PAGE XML hierarchy level to operate on",
-                            "enum": [
-                                "page",
-                                "region",
-                                "line"
-                            ],
-                            "type": "string"
-                        }
-                    },
-                    "steps": [
-                        "layout/segmentation/text-image"
-                    ]
-                },
-                "ocrd-anybaseocr-crop": {
-                    "categories": [
-                        "Image preprocessing"
-                    ],
-                    "description": "Image crop using non-linear processing",
-                    "executable": "ocrd-anybaseocr-crop",
-                    "input_file_grp": [
-                        "OCR-D-IMG-DESKEW"
-                    ],
-                    "output_file_grp": [
-                        "OCR-D-IMG-CROP"
-                    ],
-                    "parameters": {
-                        "colSeparator": {
-                            "default": 0.04,
-                            "description": "consider space between column. 25% of width",
-                            "format": "float",
-                            "type": "number"
-                        },
-                        "maxRularArea": {
-                            "default": 0.3,
-                            "description": "Consider maximum rular area",
-                            "format": "float",
-                            "type": "number"
-                        },
-                        "minArea": {
-                            "default": 0.05,
-                            "description": "rular position in below",
-                            "format": "float",
-                            "type": "number"
-                        },
-                        "minRularArea": {
-                            "default": 0.01,
-                            "description": "Consider minimum rular area",
-                            "format": "float",
-                            "type": "number"
-                        },
-                        "operation_level": {
-                            "default": "page",
-                            "description": "PAGE XML hierarchy level to operate on",
-                            "enum": [
-                                "page",
-                                "region",
-                                "line"
-                            ],
-                            "type": "string"
-                        },
-                        "positionBelow": {
-                            "default": 0.75,
-                            "description": "rular position in below",
-                            "format": "float",
-                            "type": "number"
-                        },
-                        "positionLeft": {
-                            "default": 0.4,
-                            "description": "rular position in left",
-                            "format": "float",
-                            "type": "number"
-                        },
-                        "positionRight": {
-                            "default": 0.6,
-                            "description": "rular position in right",
-                            "format": "float",
-                            "type": "number"
-                        },
-                        "rularRatioMax": {
-                            "default": 10.0,
-                            "description": "rular position in below",
-                            "format": "float",
-                            "type": "number"
-                        },
-                        "rularRatioMin": {
-                            "default": 3.0,
-                            "description": "rular position in below",
-                            "format": "float",
-                            "type": "number"
-                        },
-                        "rularWidth": {
-                            "default": 0.95,
-                            "description": "maximum rular width",
-                            "format": "float",
-                            "type": "number"
-                        }
-                    },
-                    "steps": [
-                        "preprocessing/optimization/cropping"
-                    ]
-                },
-                "ocrd-anybaseocr-deskew": {
-                    "categories": [
-                        "Image preprocessing"
-                    ],
-                    "description": "Deskew images with the algorithm from ocropy",
-                    "executable": "ocrd-anybaseocr-deskew",
-                    "input_file_grp": [
-                        "OCR-D-IMG-BIN"
-                    ],
-                    "output_file_grp": [
-                        "OCR-D-IMG-DESKEW"
-                    ],
-                    "parameters": {
-                        "bignore": {
-                            "default": 0.1,
-                            "description": "ignore this much of the border for threshold estimation",
-                            "format": "float",
-                            "type": "number"
-                        },
-                        "debug": {
-                            "default": 0,
-                            "description": "display intermediate results",
-                            "format": "integer",
-                            "type": "number"
-                        },
-                        "escale": {
-                            "default": 1.0,
-                            "description": "scale for estimating a mask over the text region",
-                            "format": "float",
-                            "type": "number"
-                        },
-                        "hi": {
-                            "default": 90,
-                            "description": "percentile for white estimation",
-                            "format": "integer",
-                            "type": "number"
-                        },
-                        "lo": {
-                            "default": 5,
-                            "description": "percentile for black estimation",
-                            "format": "integer",
-                            "type": "number"
-                        },
-                        "maxskew": {
-                            "default": 1.0,
-                            "description": "skew angle estimation parameters (degrees)",
-                            "format": "float",
-                            "type": "number"
-                        },
-                        "operation_level": {
-                            "default": "page",
-                            "description": "PAGE XML hierarchy level to operate on",
-                            "enum": [
-                                "page",
-                                "region",
-                                "line"
-                            ],
-                            "type": "string"
-                        },
-                        "parallel": {
-                            "default": 0,
-                            "description": "???",
-                            "format": "integer",
-                            "type": "number"
-                        },
-                        "skewsteps": {
-                            "default": 8,
-                            "description": "steps for skew angle estimation (per degree)",
-                            "format": "integer",
-                            "type": "number"
-                        },
-                        "threshold": {
-                            "default": 0.5,
-                            "description": "threshold, determines lightness",
-                            "format": "float",
-                            "type": "number"
-                        }
-                    },
-                    "steps": [
-                        "preprocessing/optimization/deskewing"
-                    ]
-                },
-                "ocrd-anybaseocr-dewarp": {
-                    "categories": [
-                        "Image preprocessing"
-                    ],
-                    "description": "dewarp image with anyBaseOCR",
-                    "executable": "ocrd-anybaseocr-dewarp",
-                    "input_file_grp": [
-                        "OCR-D-IMG-CROP"
-                    ],
-                    "output_file_grp": [
-                        "OCR-D-IMG-DEWARP"
-                    ],
-                    "parameters": {
-                        "checkpoint_dir": {
-                            "default": "./",
-                            "description": "Path to where to look for dir with model name",
-                            "type": "string"
-                        },
-                        "gpu_id": {
-                            "default": 0,
-                            "description": "gpu id",
-                            "format": "integer",
-                            "type": "number"
-                        },
-                        "imgresize": {
-                            "default": "resize_and_crop",
-                            "description": "run on original size image",
-                            "type": "string"
-                        },
-                        "model_name": {
-                            "default": "models",
-                            "description": "name of dir with trained pix2pixHD model (latest_net_G.pth)",
-                            "type": "string"
-                        },
-                        "operation_level": {
-                            "default": "page",
-                            "description": "PAGE XML hierarchy level to operate on",
-                            "enum": [
-                                "page",
-                                "region",
-                                "line"
-                            ],
-                            "type": "string"
-                        },
-                        "pix2pixHD": {
-                            "default": "/home/ahmed/project/pix2pixHD",
-                            "description": "Path to pix2pixHD library",
-                            "type": "string"
-                        },
-                        "resizeHeight": {
-                            "default": 1024,
-                            "description": "resized image height",
-                            "format": "integer",
-                            "type": "number"
-                        },
-                        "resizeWidth": {
-                            "default": 1024,
-                            "description": "resized image width",
-                            "format": "integer",
-                            "type": "number"
-                        }
-                    },
-                    "steps": [
-                        "preprocessing/optimization/dewarping"
-                    ]
-                },
-                "ocrd-anybaseocr-layout-analysis": {
-                    "categories": [
-                        "Layout analysis"
-                    ],
-                    "description": "Analysis of the input document",
-                    "executable": "ocrd-anybaseocr-layout-analysis",
-                    "input_file_grp": [
-                        "OCR-D-IMG-CROP"
-                    ],
-                    "output_file_grp": [
-                        "OCR-D-SEG-LAYOUT"
-                    ],
-                    "parameters": {
-                        "batch_size": {
-                            "default": 4,
-                            "description": "Batch size for generating test images",
-                            "format": "integer",
-                            "type": "number"
-                        },
-                        "class_mapping_path": {
-                            "default": "models/mapping_DenseNet.pickle",
-                            "description": "Path to Layout Structure Classes",
-                            "required": false,
-                            "type": "string"
-                        },
-                        "model_path": {
-                            "default": "models/structure_analysis.h5",
-                            "description": "Path to Layout Structure Classification Model",
-                            "required": false,
-                            "type": "string"
-                        }
-                    },
-                    "steps": [
-                        "layout/segmentation/text-image"
-                    ]
-                },
-                "ocrd-anybaseocr-textline": {
-                    "categories": [
-                        "Layout analysis"
-                    ],
-                    "description": "separate each text line",
-                    "executable": "ocrd-anybaseocr-textline",
-                    "input_file_grp": [
-                        "OCR-D-SEG-TISEG"
-                    ],
-                    "output_file_grp": [
-                        "OCR-D-SEG-LINE-ANY"
-                    ],
-                    "parameters": {
-                        "blackseps": {
-                            "default": false,
-                            "description": "also check for black column separators",
-                            "type": "boolean"
-                        },
-                        "csminaspect": {
-                            "default": 1.1,
-                            "description": "minimum aspect ratio for column separators",
-                            "format": "float",
-                            "type": "number"
-                        },
-                        "csminheight": {
-                            "default": 6.5,
-                            "description": "minimum column height (units=scale)",
-                            "format": "float",
-                            "type": "number"
-                        },
-                        "expand": {
-                            "default": 3,
-                            "description": "expand mask for grayscale extraction",
-                            "format": "integer",
-                            "type": "number"
-                        },
-                        "hscale": {
-                            "default": 1.0,
-                            "description": "non-standard scaling of horizontal parameters",
-                            "format": "float",
-                            "type": "number"
-                        },
-                        "libpath": {
-                            "default": ".",
-                            "description": "Library Path for C Executables",
-                            "type": "string"
-                        },
-                        "maxcolseps": {
-                            "default": 2,
-                            "description": "maximum # whitespace column separators",
-                            "format": "integer",
-                            "type": "number"
-                        },
-                        "maxlines": {
-                            "default": 300,
-                            "description": "non-standard scaling of horizontal parameters",
-                            "format": "float",
-                            "type": "number"
-                        },
-                        "maxseps": {
-                            "default": 2,
-                            "description": "maximum black column separators",
-                            "format": "integer",
-                            "type": "number"
-                        },
-                        "minscale": {
-                            "default": 12.0,
-                            "description": "minimum scale permitted",
-                            "format": "float",
-                            "type": "number"
-                        },
-                        "noise": {
-                            "default": 8,
-                            "description": "noise threshold for removing small components from lines",
-                            "format": "integer",
-                            "type": "number"
-                        },
-                        "operation_level": {
-                            "default": "page",
-                            "description": "PAGE XML hierarchy level to operate on",
-                            "enum": [
-                                "page",
-                                "region",
-                                "line"
-                            ],
-                            "type": "string"
-                        },
-                        "pad": {
-                            "default": 3,
-                            "description": "padding for extracted lines",
-                            "format": "integer",
-                            "type": "number"
-                        },
-                        "parallel": {
-                            "default": 0,
-                            "description": "number of CPUs to use",
-                            "format": "integer",
-                            "type": "number"
-                        },
-                        "scale": {
-                            "default": 0.0,
-                            "description": "the basic scale of the document (roughly, xheight) 0=automatic",
-                            "format": "float",
-                            "type": "number"
-                        },
-                        "sepwiden": {
-                            "default": 10,
-                            "description": "widen black separators (to account for warping)",
-                            "format": "integer",
-                            "type": "number"
-                        },
-                        "threshold": {
-                            "default": 0.2,
-                            "description": "baseline threshold",
-                            "format": "float",
-                            "type": "number"
-                        },
-                        "usegauss": {
-                            "default": false,
-                            "description": "use gaussian instead of uniform",
-                            "type": "boolean"
-                        },
-                        "vscale": {
-                            "default": 1.7,
-                            "description": "non-standard scaling of vertical parameters",
-                            "format": "float",
-                            "type": "number"
-                        }
-                    },
-                    "steps": [
-                        "layout/segmentation/line"
-                    ]
-                },
-                "ocrd-anybaseocr-tiseg": {
-                    "categories": [
-                        "Layout analysis"
-                    ],
-                    "description": "separate text and non-text part with anyBaseOCR",
-                    "executable": "ocrd-anybaseocr-tiseg",
-                    "input_file_grp": [
-                        "OCR-D-IMG-CROP"
-                    ],
-                    "output_file_grp": [
-                        "OCR-D-SEG-TISEG"
-                    ],
-                    "parameters": {
-                        "operation_level": {
-                            "default": "page",
-                            "description": "PAGE XML hierarchy level to operate on",
-                            "enum": [
-                                "page",
-                                "region",
-                                "line"
-                            ],
-                            "type": "string"
-                        }
-                    },
-                    "steps": [
-                        "layout/segmentation/text-image"
-                    ]
-                }
-            },
-            "version": "0.0.1"
-        },
-        "ocrd_tool_validate": "<report valid=\"false\">\n  <error>[tools.ocrd-anybaseocr-tiseg.steps.0] 'layout/segmentation/text-image' is not one of ['preprocessing/characterization', 'preprocessing/optimization', 'preprocessing/optimization/cropping', 'preprocessing/optimization/deskewing', 'preprocessing/optimization/despeckling', 'preprocessing/optimization/dewarping', 'preprocessing/optimization/binarization', 'preprocessing/optimization/grayscale_normalization', 'recognition/text-recognition', 'recognition/font-identification', 'recognition/post-correction', 'layout/segmentation', 'layout/segmentation/text-nontext', 'layout/segmentation/region', 'layout/segmentation/line', 'layout/segmentation/word', 'layout/segmentation/classification', 'layout/analysis']</error>\n  <error>[tools.ocrd-anybaseocr-layout-analysis.steps.0] 'layout/segmentation/text-image' is not one of ['preprocessing/characterization', 'preprocessing/optimization', 'preprocessing/optimization/cropping', 'preprocessing/optimization/deskewing', 'preprocessing/optimization/despeckling', 'preprocessing/optimization/dewarping', 'preprocessing/optimization/binarization', 'preprocessing/optimization/grayscale_normalization', 'recognition/text-recognition', 'recognition/font-identification', 'recognition/post-correction', 'layout/segmentation', 'layout/segmentation/text-nontext', 'layout/segmentation/region', 'layout/segmentation/line', 'layout/segmentation/word', 'layout/segmentation/classification', 'layout/analysis']</error>\n  <error>[tools.ocrd-anybaseocr-block-segmentation.steps.0] 'layout/segmentation/text-image' is not one of ['preprocessing/characterization', 'preprocessing/optimization', 'preprocessing/optimization/cropping', 'preprocessing/optimization/deskewing', 'preprocessing/optimization/despeckling', 'preprocessing/optimization/dewarping', 'preprocessing/optimization/binarization', 'preprocessing/optimization/grayscale_normalization', 'recognition/text-recognition', 'recognition/font-identification', 'recognition/post-correction', 'layout/segmentation', 'layout/segmentation/text-nontext', 'layout/segmentation/region', 'layout/segmentation/line', 'layout/segmentation/word', 'layout/segmentation/classification', 'layout/analysis']</error>\n</report>",
-        "official": true,
-        "org_plus_name": "OCR-D/ocrd_anybaseocr",
-        "python": {
-            "author": "DFKI",
-            "author-email": "Saqib.Bukhari@dfki.de, Mohammad_mohsin.reza@dfki.de",
-            "name": "ocrd-anybaseocr",
-            "pypi": {
-                "info": {
-                    "author": "DFKI",
-                    "author_email": "Saqib.Bukhari@dfki.de, Mohammad_mohsin.reza@dfki.de",
-                    "bugtrack_url": null,
-                    "classifiers": [],
-                    "description": "# Document Preprocessing and Segmentation\n\n[![CircleCI](https://circleci.com/gh/mjenckel/OCR-D-LAYoutERkennung.svg?style=svg)](https://circleci.com/gh/mjenckel/OCR-D-LAYoutERkennung)\n\n> Tools for preprocessing scanned images for OCR\n\n# Installing\n\nTo install anyBaseOCR dependencies system-wide:\n\n    $ sudo pip install .\n\nAlternatively, dependencies can be installed into a Virtual Environment:\n\n    $ virtualenv venv\n    $ source venv/bin/activate\n    $ pip install -e .\n\n#Tools\n\n## Binarizer\n\n### Method Behaviour \n This function takes a scanned colored /gray scale document image as input and do the black and white binarize image.\n\n #### Usage:\n```sh\nocrd-anybaseocr-binarize -m (path to METs input file) -I (Input group name) -O (Output group name) [-p (path to parameter file) -o (METs output filename)]\n```\n\n#### Example: \n```sh\nocrd-anybaseocr-binarize \\\n   -m mets.xml \\\n   -I OCR-D-IMG \\\n   -O OCR-D-PAGE-BIN\n```\n\n## Deskewer\n\n### Method Behaviour \n This function takes a document image as input and do the skew correction of that document.\n\n #### Usage:\n```sh\nocrd-anybaseocr-deskew -m (path to METs input file) -I (Input group name) -O (Output group name) [-p (path to parameter file) -o (METs output filename)]\n```\n\n#### Example: \n```sh\nocrd-anybaseocr-deskew \\\n  -m mets.xml \\\n  -I OCR-D-PAGE-BIN \\\n  -O OCR-D-PAGE-DESKEW\n```\n\n## Cropper\n\n### Method Behaviour \n This function takes a document image as input and crops/selects the page content area only (that's mean remove textual noise as well as any other noise around page content area)\n\n #### Usage:\n```sh\nocrd-anybaseocr-crop -m (path to METs input file) -I (Input group name) -O (Output group name) [-p (path to parameter file) -o (METs output filename)]\n```\n\n#### Example: \n```sh\nocrd-anybaseocr-crop \\\n   -m mets.xml \\\n   -I OCR-D-PAGE-DESKEW \\\n   -O OCR-D-PAGE-CROP\n```\n\n\n## Dewarper\n\n### Method Behaviour \n This function takes a document image as input and make the text line straight if its curved.\n\n #### Usage:\n```sh\nocrd-anybaseocr-dewarp -m (path to METs input file) -I (Input group name) -O (Output group name) [-p (path to parameter file) -o (METs output filename)]\n```\n\n\n#### Example: \n```sh\nCUDA_VISIBLE_DEVICES=0 ocrd-anybaseocr-dewarp \\\n   -m mets.xml \\\n   -I OCR-D-PAGE-CROP \\\n   -O OCR-D-PAGE-DEWARP\n```\n\n## Text/Non-Text Segmenter\n\n### Method Behaviour \n This function takes a document image as an input and separates the text and non-text part from the input document image.\n\n #### Usage:\n```sh\nocrd-anybaseocr-tiseg -m (path to METs input file) -I (Input group name) -O (Output group name) [-p (path to parameter file) -o (METs output filename)]\n```\n\n#### Example: \n```sh\nocrd-anybaseocr-tiseg \\\n   -m mets.xml \\\n   -I OCR-D-PAGE-CROP \\\n   -O OCR-D-PAGE-TISEG\n```\n\n## Textline Segmenter\n\n### Method Behaviour \n This function takes a cropped document image as an input and segment the image into textline images.\n\n #### Usage:\n```sh\nocrd-anybaseocr-textline -m (path to METs input file) -I (Input group name) -O (Output group name) [-p (path to parameter file) -o (METs output filename)]\n```\n\n#### Example: \n```sh\nocrd-anybaseocr-textline \\\n   -m mets.xml \\\n   -I OCR-D-PAGE-TISEG \\\n   -O OCR-D-PAGE-TL\n```\n\n## Block Segmenter\n\n### Method Behaviour \n This function takes raw document image as an input and segments the image into the different text blocks.\n\n #### Usage:\n```sh\nocrd-anybaseocr-block-segmenter -m (path to METs input file) -I (Input group name) -O (Output group name) [-p (path to parameter file) -o (METs output filename)]\n```\n\n#### Example: \n```sh\nocrd-anybaseocr-block-segmenter \\\n   -m mets.xml \\\n   -I OCR-IMG \\\n   -O OCR-D-PAGE-BLOCK\n```\n\n## Document Analyser\n\n### Method Behaviour \n This function takes all the cropped document images of a single book and its corresponding text regions as input and generates the logical structure on the book level.\n\n #### Usage:\n```sh\nocrd-anybaseocr-layout-analysis -m (path to METs input file) -I (Input group name) -O (Output group name) [-p (path to parameter file) -o (METs output filename)]\n```\n\n#### Example: \n```sh\nocrd-anybaseocr-layout-analysis \\\n   -m mets.xml \\\n   -I OCR-IMG \\\n   -O OCR-D-PAGE-BLOCK\n```\n\n\n## Testing\n\nTo test the tools, download [OCR-D/assets](https://github.com/OCR-D/assets). In\nparticular, the code is tested with the\n[dfki-testdata](https://github.com/OCR-D/assets/tree/master/data/dfki-testdata)\ndataset.\n\nRun `make test` to run all tests.\n\n## License\n\n\n```\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n     http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n ```\n\n\n",
-                    "description_content_type": "text/markdown",
-                    "docs_url": null,
-                    "download_url": "",
-                    "downloads": {
-                        "last_day": -1,
-                        "last_month": -1,
-                        "last_week": -1
-                    },
-                    "home_page": "https://github.com/mjenckel/LAYoutERkennung",
-                    "keywords": "",
-                    "license": "Apache License 2.0",
-                    "maintainer": "",
-                    "maintainer_email": "",
-                    "name": "ocrd-anybaseocr",
-                    "package_url": "https://pypi.org/project/ocrd-anybaseocr/",
-                    "platform": "",
-                    "project_url": "https://pypi.org/project/ocrd-anybaseocr/",
-                    "project_urls": {
-                        "Homepage": "https://github.com/mjenckel/LAYoutERkennung"
-                    },
-                    "release_url": "https://pypi.org/project/ocrd-anybaseocr/0.0.1/",
-                    "requires_dist": [
-                        "ocrd (>=2.0.0)",
-                        "opencv-python-headless (>=3.4)",
-                        "ocrd-fork-ocropy (>=1.4.0a3)",
-                        "ocrd-fork-pylsd (>=0.0.3)",
-                        "setuptools (>=41.0.0)",
-                        "torch (>=1.1.0)",
-                        "torchvision",
-                        "pandas",
-                        "keras",
-                        "tensorflow-gpu (==1.14.0)",
-                        "scikit-image"
-                    ],
-                    "requires_python": "",
-                    "summary": "",
-                    "version": "0.0.1"
-                },
-                "last_serial": 6317222,
-                "releases": {
-                    "0.0.1": [
-                        {
-                            "comment_text": "",
-                            "digests": {
-                                "md5": "e70acb5331cd2daece04bc114622ec39",
-                                "sha256": "021a114defc9702fa99988308277cab92bad1a95a8472395b8e38fde23569dc6"
-                            },
-                            "downloads": -1,
-                            "filename": "ocrd_anybaseocr-0.0.1-py3-none-any.whl",
-                            "has_sig": false,
-                            "md5_digest": "e70acb5331cd2daece04bc114622ec39",
-                            "packagetype": "bdist_wheel",
-                            "python_version": "py3",
-                            "requires_python": null,
-                            "size": 95755,
-                            "upload_time": "2019-12-17T13:15:51",
-                            "upload_time_iso_8601": "2019-12-17T13:15:51.079869Z",
-                            "url": "https://files.pythonhosted.org/packages/d6/2c/9417ad5fb850c2eb52a86e822f64741d4df65831580104a68196e0c5cbcf/ocrd_anybaseocr-0.0.1-py3-none-any.whl"
-                        },
-                        {
-                            "comment_text": "",
-                            "digests": {
-                                "md5": "84203839fe06916bc281097251eba50f",
-                                "sha256": "077b3f59f09f1e315aee5fafbeef8184706d45c0a5863224f5ebef941b682281"
-                            },
-                            "downloads": -1,
-                            "filename": "ocrd_anybaseocr-0.0.1.tar.gz",
-                            "has_sig": false,
-                            "md5_digest": "84203839fe06916bc281097251eba50f",
-                            "packagetype": "sdist",
-                            "python_version": "source",
-                            "requires_python": null,
-                            "size": 77823,
-                            "upload_time": "2019-12-17T13:15:54",
-                            "upload_time_iso_8601": "2019-12-17T13:15:54.116419Z",
-                            "url": "https://files.pythonhosted.org/packages/15/cf/fc744aa2323538a7a980a44af16d86ab68feba42f78ba6069763e9ed125d/ocrd_anybaseocr-0.0.1.tar.gz"
-                        }
-                    ]
-                },
-                "urls": [
-                    {
-                        "comment_text": "",
-                        "digests": {
-                            "md5": "e70acb5331cd2daece04bc114622ec39",
-                            "sha256": "021a114defc9702fa99988308277cab92bad1a95a8472395b8e38fde23569dc6"
-                        },
-                        "downloads": -1,
-                        "filename": "ocrd_anybaseocr-0.0.1-py3-none-any.whl",
-                        "has_sig": false,
-                        "md5_digest": "e70acb5331cd2daece04bc114622ec39",
-                        "packagetype": "bdist_wheel",
-                        "python_version": "py3",
-                        "requires_python": null,
-                        "size": 95755,
-                        "upload_time": "2019-12-17T13:15:51",
-                        "upload_time_iso_8601": "2019-12-17T13:15:51.079869Z",
-                        "url": "https://files.pythonhosted.org/packages/d6/2c/9417ad5fb850c2eb52a86e822f64741d4df65831580104a68196e0c5cbcf/ocrd_anybaseocr-0.0.1-py3-none-any.whl"
-                    },
-                    {
-                        "comment_text": "",
-                        "digests": {
-                            "md5": "84203839fe06916bc281097251eba50f",
-                            "sha256": "077b3f59f09f1e315aee5fafbeef8184706d45c0a5863224f5ebef941b682281"
-                        },
-                        "downloads": -1,
-                        "filename": "ocrd_anybaseocr-0.0.1.tar.gz",
-                        "has_sig": false,
-                        "md5_digest": "84203839fe06916bc281097251eba50f",
-                        "packagetype": "sdist",
-                        "python_version": "source",
-                        "requires_python": null,
-                        "size": 77823,
-                        "upload_time": "2019-12-17T13:15:54",
-                        "upload_time_iso_8601": "2019-12-17T13:15:54.116419Z",
-                        "url": "https://files.pythonhosted.org/packages/15/cf/fc744aa2323538a7a980a44af16d86ab68feba42f78ba6069763e9ed125d/ocrd_anybaseocr-0.0.1.tar.gz"
-                    }
-                ]
-            },
-            "url": "https://github.com/mjenckel/LAYoutERkennung"
-        },
-        "url": "https://github.com/OCR-D/ocrd_anybaseocr"
-    },
-    {
-        "compliant_cli": true,
-        "files": {
-            "Dockerfile": "# WORK IN PROGRESS - NOT READY\nFROM ocrd/core\nVOLUME [\"/data\"]\nMAINTAINER OCR-D\nENV DEBIAN_FRONTEND noninteractive\nENV PYTHONIOENCODING utf8\n\nWORKDIR /build-ocrd\nCOPY setup.py .\nCOPY README.md .\nCOPY requirements.txt .\n#COPY requirements_test.txt .\nCOPY ocrd_pc_segmentation ./ocrd_pc_segmentation\nCOPY Makefile .\nRUN apt-get update && \\\n    apt-get -y install --no-install-recommends \\\n        build-essential \\\n    && make deps install \\\n    && apt-get -y remove --auto-remove build-essential\n",
-            "README.md": "# page-segmentation module for OCRd\n\n## Introduction\n\nThis module implements a page segmentation algorithm based on a Fully\nConvolutional Network (FCN). The FCN creates a classification for each pixel in\na binary image. This result is then segmented per class using XY cuts.\n\n## Requirements\n\n- For GPU-Support: [CUDA](https://developer.nvidia.com/cuda-downloads) and\n  [CUDNN](https://developer.nvidia.com/cudnn)\n- other requirements are installed via Makefile / pip, see `requirements.txt`\n  in repository root.\n\n## Installation\n\nIf you want to use GPU support, set the environment variable `TENSORFLOW_GPU`,\notherwise leave it unset. Then:\n\n```bash\nmake dep\n```\n\nto install dependencies and\n\n```sh\nmake install\n```\n\nto install the package.\n\nBoth are python packages installed via pip, so you may want to activate\na virtalenv before installing.\n\n## Usage\n\n`ocrd-pc-segmentation` follows the [ocrd CLI](https://ocr-d.github.io/cli).\n\nIt expects a binary page image and produces region entries in the PageXML file.\n\n## Configuration\n\nThe following parameters are recognized in the JSON parameter file:\n\n- `overwrite_regions`: remove previously existing text regions\n- `xheight`: height of character \"x\" in pixels used during training.\n- `model`: pixel-classifier model path\n- `gpu_allow_growth`: required for GPU use with some graphic cards\n  (set to true, if you get CUDNN_INTERNAL_ERROR)\n- `resize_height`: scale down pixelclassifier output to this height before postprocessing. Independent of training / used model.\n  (performance / quality tradeoff, defaults to 300)\n\n## Testing\n\nThere is a simple CLI test, that will run the tool on a single image from the assets repository.\n\n`make test-cli`\n\n## Training\n\nTo train models for the pixel classifier, see [its README](https://github.com/ocr-d-modul-2-segmentierung/page-segmentation/blob/master/README.md)\n",
-            "ocrd-tool.json": "{\n  \"git_url\": \"https://github.com/ocr-d-modul-2-segmentierung/segmentation-runner\",\n  \"version\": \"0.1.0\",\n  \"tools\": {\n    \"ocrd-pixelclassifier-segmentation\": {\n      \"executable\": \"ocrd-pc-segmentation\",\n      \"categories\": [\"Layout analysis\"],\n      \"description\": \"Segment page into regions with tesseract\",\n      \"input_file_grp\": [\n        \"OCR-D-IMG-BIN\"\n      ],\n      \"output_file_grp\": [\n        \"OCR-D-SEG-BLOCK\"\n      ],\n      \"steps\": [\"layout/segmentation/region\"],\n      \"parameters\": {\n        \"overwrite_regions\": {\n          \"type\": \"boolean\",\n          \"default\": true,\n          \"description\": \"remove existing layout and text annotation below the Page level\"\n        },\n        \"xheight\": {\n          \"type\": \"integer\",\n          \"description\": \"height of character x in pixels used during training\",\n          \"default\": 8\n        },\n        \"model\":  {\n          \"type\": \"string\",\n          \"description\": \"trained model for pixel classifier\",\n          \"default\": \"__DEFAULT__\"\n        },\n        \"gpu_allow_growth\": {\n          \"type\": \"boolean\",\n          \"default\": false,\n          \"description\": \"required for GPU use with some graphic cards (set to true, if you get CUDNN_INTERNAL_ERROR)\"\n\n        },\n        \"resize_height\": {\n          \"type\": \"integer\",\n          \"default\": 300,\n          \"description\": \"scale down pixelclassifier output to this height for postprocessing (performance/quality tradeoff). Independent of training.\"\n        }\n\n      }\n    }\n  }\n}\n",
-            "setup.py": "# -*- coding: utf-8 -*-\nimport codecs\n\nfrom setuptools import setup, find_packages\n\nsetup(\n    name='ocrd_pc_segmentation',\n    version='0.1.3',\n    description='pixel-classifier based page segmentation',\n    long_description=codecs.open('README.md', encoding='utf-8').read(),\n    long_description_content_type='text/markdown',\n    author='Alexander Gehrke, Christian Reul, Christoph Wick',\n    author_email='alexander.gehrke@uni-wuerzburg.de, christian.reul@uni-wuerzburg.de, christoph.wick@uni-wuerzburg.de',\n    url='https://github.com/ocr-d-modul-2-segmentierung/segmentation-runner',\n    packages=find_packages(exclude=('tests', 'docs')),\n    install_requires=open(\"requirements.txt\").read().split(),\n    extras_require={\n        'tf_cpu': ['ocr4all_pixel_classifier[tf_cpu]>=0.0.1'],\n        'tf_gpu': ['ocr4all_pixel_classifier[tf_gpu]>=0.0.1'],\n    },\n    package_data={\n        '': ['*.json', '*.yml', '*.yaml'],\n    },\n    classifiers=[\n        \"Programming Language :: Python :: 3\",\n        \"License :: OSI Approved :: Apache Software License\",\n        \"Topic :: Scientific/Engineering :: Image Recognition\"\n\n    ],\n    entry_points={\n        'console_scripts': [\n            'ocrd-pc-segmentation=ocrd_pc_segmentation.cli:ocrd_pc_segmentation',\n        ]\n    },\n    data_files=[('', [\"requirements.txt\"])],\n    include_package_data=True,\n)\n"
-        },
-        "git": {
-            "last_commit": "Wed Dec 11 13:20:18 2019 +0100",
-            "latest_tag": "v0.1.3",
-            "number_of_commits": "24",
-            "url": "https://github.com/ocr-d-modul-2-segmentierung/ocrd-pixelclassifier-segmentation.git"
-        },
-        "name": "ocrd_pc_segmentation",
-        "ocrd_tool": {
-            "git_url": "https://github.com/ocr-d-modul-2-segmentierung/segmentation-runner",
-            "tools": {
-                "ocrd-pixelclassifier-segmentation": {
-                    "categories": [
-                        "Layout analysis"
-                    ],
-                    "description": "Segment page into regions with tesseract",
-                    "executable": "ocrd-pc-segmentation",
-                    "input_file_grp": [
-                        "OCR-D-IMG-BIN"
-                    ],
-                    "output_file_grp": [
-                        "OCR-D-SEG-BLOCK"
-                    ],
-                    "parameters": {
-                        "gpu_allow_growth": {
-                            "default": false,
-                            "description": "required for GPU use with some graphic cards (set to true, if you get CUDNN_INTERNAL_ERROR)",
-                            "type": "boolean"
-                        },
-                        "model": {
-                            "default": "__DEFAULT__",
-                            "description": "trained model for pixel classifier",
-                            "type": "string"
-                        },
-                        "overwrite_regions": {
-                            "default": true,
-                            "description": "remove existing layout and text annotation below the Page level",
-                            "type": "boolean"
-                        },
-                        "resize_height": {
-                            "default": 300,
-                            "description": "scale down pixelclassifier output to this height for postprocessing (performance/quality tradeoff). Independent of training.",
-                            "type": "integer"
-                        },
-                        "xheight": {
-                            "default": 8,
-                            "description": "height of character x in pixels used during training",
-                            "type": "integer"
-                        }
-                    },
-                    "steps": [
-                        "layout/segmentation/region"
-                    ]
-                }
-            },
-            "version": "0.1.0"
-        },
-        "ocrd_tool_validate": "<report valid=\"false\">\n  <error>[tools.ocrd-pixelclassifier-segmentation.parameters.xheight.type] 'integer' is not one of ['string', 'number', 'boolean']</error>\n  <error>[tools.ocrd-pixelclassifier-segmentation.parameters.resize_height.type] 'integer' is not one of ['string', 'number', 'boolean']</error>\n</report>",
-        "official": true,
-        "org_plus_name": "ocr-d-modul-2-segmentierung/ocrd_pc_segmentation",
-        "python": {
-            "author": "Alexander Gehrke, Christian Reul, Christoph Wick",
-            "author-email": "alexander.gehrke@uni-wuerzburg.de, christian.reul@uni-wuerzburg.de, christoph.wick@uni-wuerzburg.de",
-            "name": "ocrd_pc_segmentation",
-            "pypi": {
-                "info": {
-                    "author": "Alexander Gehrke, Christian Reul, Christoph Wick",
-                    "author_email": "alexander.gehrke@uni-wuerzburg.de, christian.reul@uni-wuerzburg.de, christoph.wick@uni-wuerzburg.de",
-                    "bugtrack_url": null,
-                    "classifiers": [
-                        "License :: OSI Approved :: Apache Software License",
-                        "Programming Language :: Python :: 3",
-                        "Topic :: Scientific/Engineering :: Image Recognition"
-                    ],
-                    "description": "# page-segmentation module for OCRd\n\n## Introduction\n\nThis module implements a page segmentation algorithm based on a Fully\nConvolutional Network (FCN). The FCN creates a classification for each pixel in\na binary image. This result is then segmented per class using XY cuts.\n\n## Requirements\n\n- For GPU-Support: [CUDA](https://developer.nvidia.com/cuda-downloads) and\n  [CUDNN](https://developer.nvidia.com/cudnn)\n- other requirements are installed via Makefile / pip, see `requirements.txt`\n  in repository root.\n\n## Installation\n\nIf you want to use GPU support, set the environment variable `TENSORFLOW_GPU`,\notherwise leave it unset. Then:\n\n```bash\nmake dep\n```\n\nto install dependencies and\n\n```sh\nmake install\n```\n\nto install the package.\n\nBoth are python packages installed via pip, so you may want to activate\na virtalenv before installing.\n\n## Usage\n\n`ocrd-pc-segmentation` follows the [ocrd CLI](https://ocr-d.github.io/cli).\n\nIt expects a binary page image and produces region entries in the PageXML file.\n\n## Configuration\n\nThe following parameters are recognized in the JSON parameter file:\n\n- `overwrite_regions`: remove previously existing text regions\n- `xheight`: height of character \"x\" in pixels used during training.\n- `model`: pixel-classifier model path\n- `gpu_allow_growth`: required for GPU use with some graphic cards\n  (set to true, if you get CUDNN_INTERNAL_ERROR)\n- `resize_height`: scale down pixelclassifier output to this height before postprocessing. Independent of training / used model.\n  (performance / quality tradeoff, defaults to 300)\n\n## Testing\n\nThere is a simple CLI test, that will run the tool on a single image from the assets repository.\n\n`make test-cli`\n\n## Training\n\nTo train models for the pixel classifier, see [its README](https://github.com/ocr-d-modul-2-segmentierung/page-segmentation/blob/master/README.md)\n\n\n",
-                    "description_content_type": "text/markdown",
-                    "docs_url": null,
-                    "download_url": "",
-                    "downloads": {
-                        "last_day": -1,
-                        "last_month": -1,
-                        "last_week": -1
-                    },
-                    "home_page": "https://github.com/ocr-d-modul-2-segmentierung/segmentation-runner",
-                    "keywords": "",
-                    "license": "",
-                    "maintainer": "",
-                    "maintainer_email": "",
-                    "name": "ocrd-pc-segmentation",
-                    "package_url": "https://pypi.org/project/ocrd-pc-segmentation/",
-                    "platform": "",
-                    "project_url": "https://pypi.org/project/ocrd-pc-segmentation/",
-                    "project_urls": {
-                        "Homepage": "https://github.com/ocr-d-modul-2-segmentierung/segmentation-runner"
-                    },
-                    "release_url": "https://pypi.org/project/ocrd-pc-segmentation/0.1.3/",
-                    "requires_dist": [
-                        "ocrd (>=2.0.0a1)",
-                        "click",
-                        "ocr4all-pixel-classifier (>=0.1.3)",
-                        "numpy",
-                        "ocr4all-pixel-classifier[tf_cpu] (>=0.0.1) ; extra == 'tf_cpu'",
-                        "ocr4all-pixel-classifier[tf_gpu] (>=0.0.1) ; extra == 'tf_gpu'"
-                    ],
-                    "requires_python": "",
-                    "summary": "pixel-classifier based page segmentation",
-                    "version": "0.1.3"
-                },
-                "last_serial": 6169845,
-                "releases": {
-                    "0.1.1": [
-                        {
-                            "comment_text": "",
-                            "digests": {
-                                "md5": "7cd68c8c55c0110fbfb6de61877fd60e",
-                                "sha256": "c22e9fad55a01f29bea78943c8ac93bc1a0780cbc6b606cbf81bac5f888d2294"
-                            },
-                            "downloads": -1,
-                            "filename": "ocrd_pc_segmentation-0.1.1-py3-none-any.whl",
-                            "has_sig": false,
-                            "md5_digest": "7cd68c8c55c0110fbfb6de61877fd60e",
-                            "packagetype": "bdist_wheel",
-                            "python_version": "py3",
-                            "requires_python": null,
-                            "size": 7559195,
-                            "upload_time": "2019-11-18T12:31:31",
-                            "upload_time_iso_8601": "2019-11-18T12:31:31.585016Z",
-                            "url": "https://files.pythonhosted.org/packages/72/f6/5936ad2bdc878920ae26b448bd68eb580f04632b373d5fba62c79a8c8148/ocrd_pc_segmentation-0.1.1-py3-none-any.whl"
-                        },
-                        {
-                            "comment_text": "",
-                            "digests": {
-                                "md5": "8469f2af2217a526828000b4af13f7f0",
-                                "sha256": "9f908f54f86d85a10b5d1d339e9f964f1b2ade3b4032ee8dadeeaa474dc299b7"
-                            },
-                            "downloads": -1,
-                            "filename": "ocrd_pc_segmentation-0.1.1.tar.gz",
-                            "has_sig": false,
-                            "md5_digest": "8469f2af2217a526828000b4af13f7f0",
-                            "packagetype": "sdist",
-                            "python_version": "source",
-                            "requires_python": null,
-                            "size": 7547673,
-                            "upload_time": "2019-11-18T12:31:39",
-                            "upload_time_iso_8601": "2019-11-18T12:31:39.690671Z",
-                            "url": "https://files.pythonhosted.org/packages/d9/82/c3fee56b73554529fe319dd596df56758e5429b1d5ee4b8603d404f7c94e/ocrd_pc_segmentation-0.1.1.tar.gz"
-                        }
-                    ],
-                    "0.1.2": [
-                        {
-                            "comment_text": "",
-                            "digests": {
-                                "md5": "aceed390bfeffbaf723ca96961ed5d7f",
-                                "sha256": "026be378afb3104e0f2367254da1da0f3ba212f5d4d5c8f6a7880b4eddc5b9a5"
-                            },
-                            "downloads": -1,
-                            "filename": "ocrd_pc_segmentation-0.1.2-py3-none-any.whl",
-                            "has_sig": false,
-                            "md5_digest": "aceed390bfeffbaf723ca96961ed5d7f",
-                            "packagetype": "bdist_wheel",
-                            "python_version": "py3",
-                            "requires_python": null,
-                            "size": 7559196,
-                            "upload_time": "2019-11-19T13:53:55",
-                            "upload_time_iso_8601": "2019-11-19T13:53:55.306178Z",
-                            "url": "https://files.pythonhosted.org/packages/cc/d6/396ad6297c509445f03fddedc5efcd6f882ce5bb223c050157d675574858/ocrd_pc_segmentation-0.1.2-py3-none-any.whl"
-                        },
-                        {
-                            "comment_text": "",
-                            "digests": {
-                                "md5": "c982401d1a8ab607bf6ed1871df87826",
-                                "sha256": "e2dcd0b641accb8c6594d6dd24dcf1899c3cefbc033c5860b4ff72c20f1ad4ca"
-                            },
-                            "downloads": -1,
-                            "filename": "ocrd_pc_segmentation-0.1.2.tar.gz",
-                            "has_sig": false,
-                            "md5_digest": "c982401d1a8ab607bf6ed1871df87826",
-                            "packagetype": "sdist",
-                            "python_version": "source",
-                            "requires_python": null,
-                            "size": 7547671,
-                            "upload_time": "2019-11-19T13:54:12",
-                            "upload_time_iso_8601": "2019-11-19T13:54:12.122137Z",
-                            "url": "https://files.pythonhosted.org/packages/0c/47/46c39455cc4c5739e4599f7715c4b618193b561885aa302777fd7b11c1b5/ocrd_pc_segmentation-0.1.2.tar.gz"
-                        }
-                    ],
-                    "0.1.3": [
-                        {
-                            "comment_text": "",
-                            "digests": {
-                                "md5": "6f80c4823630b6a94f3b013ec6eab69e",
-                                "sha256": "30442df84ae140871ed32549d7f0e5472f02783614bd4b627bceafdd540ca266"
-                            },
-                            "downloads": -1,
-                            "filename": "ocrd_pc_segmentation-0.1.3-py3-none-any.whl",
-                            "has_sig": false,
-                            "md5_digest": "6f80c4823630b6a94f3b013ec6eab69e",
-                            "packagetype": "bdist_wheel",
-                            "python_version": "py3",
-                            "requires_python": null,
-                            "size": 7559081,
-                            "upload_time": "2019-11-20T16:45:32",
-                            "upload_time_iso_8601": "2019-11-20T16:45:32.354512Z",
-                            "url": "https://files.pythonhosted.org/packages/45/9c/3d1dc9c772ea9446f372837318f1e55b76c6a2cb1368579592c6b3fe9326/ocrd_pc_segmentation-0.1.3-py3-none-any.whl"
-                        },
-                        {
-                            "comment_text": "",
-                            "digests": {
-                                "md5": "16b1c95e3235cf1d9f2b971bc4684daf",
-                                "sha256": "b58ab36e89213735fcf0b9376ce97e342626fbf8892d302c5feb3dbd5b1c73a3"
-                            },
-                            "downloads": -1,
-                            "filename": "ocrd_pc_segmentation-0.1.3.tar.gz",
-                            "has_sig": false,
-                            "md5_digest": "16b1c95e3235cf1d9f2b971bc4684daf",
-                            "packagetype": "sdist",
-                            "python_version": "source",
-                            "requires_python": null,
-                            "size": 7547532,
-                            "upload_time": "2019-11-20T16:45:36",
-                            "upload_time_iso_8601": "2019-11-20T16:45:36.370537Z",
-                            "url": "https://files.pythonhosted.org/packages/3a/66/bad782febb7496d089df1520d08a241af4875d6d656e68d93cfaa4fa6cf2/ocrd_pc_segmentation-0.1.3.tar.gz"
-                        }
-                    ]
-                },
-                "urls": [
-                    {
-                        "comment_text": "",
-                        "digests": {
-                            "md5": "6f80c4823630b6a94f3b013ec6eab69e",
-                            "sha256": "30442df84ae140871ed32549d7f0e5472f02783614bd4b627bceafdd540ca266"
-                        },
-                        "downloads": -1,
-                        "filename": "ocrd_pc_segmentation-0.1.3-py3-none-any.whl",
-                        "has_sig": false,
-                        "md5_digest": "6f80c4823630b6a94f3b013ec6eab69e",
-                        "packagetype": "bdist_wheel",
-                        "python_version": "py3",
-                        "requires_python": null,
-                        "size": 7559081,
-                        "upload_time": "2019-11-20T16:45:32",
-                        "upload_time_iso_8601": "2019-11-20T16:45:32.354512Z",
-                        "url": "https://files.pythonhosted.org/packages/45/9c/3d1dc9c772ea9446f372837318f1e55b76c6a2cb1368579592c6b3fe9326/ocrd_pc_segmentation-0.1.3-py3-none-any.whl"
-                    },
-                    {
-                        "comment_text": "",
-                        "digests": {
-                            "md5": "16b1c95e3235cf1d9f2b971bc4684daf",
-                            "sha256": "b58ab36e89213735fcf0b9376ce97e342626fbf8892d302c5feb3dbd5b1c73a3"
-                        },
-                        "downloads": -1,
-                        "filename": "ocrd_pc_segmentation-0.1.3.tar.gz",
-                        "has_sig": false,
-                        "md5_digest": "16b1c95e3235cf1d9f2b971bc4684daf",
-                        "packagetype": "sdist",
-                        "python_version": "source",
-                        "requires_python": null,
-                        "size": 7547532,
-                        "upload_time": "2019-11-20T16:45:36",
-                        "upload_time_iso_8601": "2019-11-20T16:45:36.370537Z",
-                        "url": "https://files.pythonhosted.org/packages/3a/66/bad782febb7496d089df1520d08a241af4875d6d656e68d93cfaa4fa6cf2/ocrd_pc_segmentation-0.1.3.tar.gz"
-                    }
-                ]
-            },
-            "url": "https://github.com/ocr-d-modul-2-segmentierung/segmentation-runner"
-        },
-        "url": "https://github.com/ocr-d-modul-2-segmentierung/ocrd_pc_segmentation"
-    },
-    {
-        "compliant_cli": false,
-        "files": {
-            "Dockerfile": null,
-            "README.md": "dinglehopper\n============\n\ndinglehopper is an OCR evaluation tool and reads [ALTO](https://github.com/altoxml), [PAGE](https://github.com/PRImA-Research-Lab/PAGE-XML) and text files.\n\n[![Build Status](https://travis-ci.org/qurator-spk/dinglehopper.svg?branch=master)](https://travis-ci.org/qurator-spk/dinglehopper)\n\nGoals\n-----\n* Useful\n  * As a UI tool\n  * For an automated evaluation\n  * As a library\n* Unicode support\n\nInstallation\n------------\nIt's best to use pip, e.g.:\n~~~\nsudo pip install .\n~~~\n\nUsage\n-----\n~~~\ndinglehopper some-document.gt.page.xml some-document.ocr.alto.xml\n~~~\nThis generates `report.html` and `report.json`.\n\n\nAs a OCR-D processor:\n~~~\nocrd-dinglehopper -m mets.xml -I OCR-D-GT-PAGE,OCR-D-OCR-TESS -O OCR-D-OCR-TESS-EVAL\n~~~\nThis generates HTML and JSON reports in the `OCR-D-OCR-TESS-EVAL` filegroup.\n\n\n![dinglehopper displaying metrics and character differences](.screenshots/dinglehopper.png?raw=true)\n\nTesting\n-------\nUse `pytest` to run the tests in [the tests directory](qurator/dinglehopper/tests):\n~~~\nvirtualenv -p /usr/bin/python3 venv\n. venv/bin/activate\npip install -r requirements.txt\npip install pytest\npytest\n~~~\n",
-            "ocrd-tool.json": "{\n  \"git_url\": \"https://github.com/qurator-spk/dinglehopper\",\n  \"tools\": {\n    \"ocrd-dinglehopper\": {\n      \"executable\": \"ocrd-dinglehopper\",\n      \"description\": \"Evaluate OCR text against ground truth with dinglehopper\",\n      \"input_file_grp\": [\n        \"OCR-D-GT-PAGE\",\n        \"OCR-D-OCR\"\n      ],\n      \"output_file_grp\": [\n        \"OCR-D-OCR-EVAL\"\n      ],\n      \"categories\": [\n        \"Quality assurance\"\n      ],\n      \"steps\": [\n        \"recognition/text-recognition\"\n      ]\n    }\n  }\n}\n",
-            "setup.py": "from io import open\nfrom setuptools import find_packages, setup\n\nwith open('requirements.txt') as fp:\n    install_requires = fp.read()\n\nsetup(\n    name='dinglehopper',\n    author='Mike Gerber, The QURATOR SPK Team',\n    author_email='mike.gerber@sbb.spk-berlin.de, qurator@sbb.spk-berlin.de',\n    description='The OCR evaluation tool',\n    long_description=open('README.md', 'r', encoding='utf-8').read(),\n    long_description_content_type='text/markdown',\n    keywords='qurator ocr',\n    license='Apache',\n    namespace_packages=['qurator'],\n    packages=find_packages(exclude=['*.tests', '*.tests.*', 'tests.*', 'tests']),\n    install_requires=install_requires,\n    package_data={\n        '': ['*.json', 'templates/*'],\n    },\n    entry_points={\n      'console_scripts': [\n        'dinglehopper=qurator.dinglehopper.cli:main',\n        'ocrd-dinglehopper=qurator.dinglehopper.ocrd_cli:ocrd_dinglehopper',\n      ]\n    }\n)\n"
-        },
-        "git": {
-            "last_commit": "Fri Dec 6 16:11:18 2019 +0100",
-            "latest_tag": "",
-            "number_of_commits": "53",
-            "url": "https://github.com/qurator-spk/dinglehopper.git"
-        },
-        "name": "dinglehopper",
-        "ocrd_tool": {
-            "git_url": "https://github.com/qurator-spk/dinglehopper",
-            "tools": {
-                "ocrd-dinglehopper": {
-                    "categories": [
-                        "Quality assurance"
-                    ],
-                    "description": "Evaluate OCR text against ground truth with dinglehopper",
-                    "executable": "ocrd-dinglehopper",
-                    "input_file_grp": [
-                        "OCR-D-GT-PAGE",
-                        "OCR-D-OCR"
-                    ],
-                    "output_file_grp": [
-                        "OCR-D-OCR-EVAL"
-                    ],
-                    "steps": [
-                        "recognition/text-recognition"
-                    ]
-                }
-            }
-        },
-        "ocrd_tool_validate": "<report valid=\"false\">\n  <error>[] 'version' is a required property</error>\n</report>",
-        "official": false,
-        "org_plus_name": "qurator-spk/dinglehopper",
-        "python": {
-            "author": "Mike Gerber, The QURATOR SPK Team",
-            "author-email": "mike.gerber@sbb.spk-berlin.de, qurator@sbb.spk-berlin.de",
-            "name": "dinglehopper",
-            "pypi": null,
-            "url": "UNKNOWN"
-        },
-        "url": "https://github.com/qurator-spk/dinglehopper"
-    },
-    {
-        "compliant_cli": true,
-        "files": {
-            "Dockerfile": null,
-            "README.md": "# ocrd_typegroups_classifier\n\n> Typegroups classifier for OCR\n\n## Installation\n\n### From PyPI\n\n```sh\npip3 install ocrd_typegroup_classifier\n```\n\n### From source\n\nIf needed, create a virtual environment for Python 3 (it was tested\nsuccessfully with Python 3.7), activate it, and install ocrd.\n\n```sh\nvirtualenv -p python3 ocrd-venv3\nsource ocrd-venv3/bin/activate\npip3 install ocrd\n```\n\nEnter in the folder containing the tool:\n\n```\ncd ocrd_typegroups_classifier/\n```\n\nInstall the module and its dependencies\n\n```\nmake install\n```\n\nFinally, run the test:\n\n```\nsh test/test.sh\n```\n\n** Important: ** The test makes sure that the system does work. For\nspeed reasons, a very small neural network is used and applied only to\nthe top-left corner of the image, therefore the quality of the results\nwill be of poor quality.\n\n## Models\n\nThe model classifier-1.tgc is based on a ResNet-18, with less neurons\nper layer than the usual model. It was briefly trained on 12 classes:\nAdornment, Antiqua, Bastarda, Book covers and other irrelevant data,\nEmpty Pages, Fraktur, Griechisch, Hebr\u00e4isch, Kursiv, Rotunda, Textura,\nand Woodcuts - Engravings.\n\n## Heatmap Generation ##\nGiven a trained model, it is possible to produce heatmaps corresponding\nto classification results. Syntax:\n\n```\npython3 tools/heatmap.py ocrd_typegroups_classifier/models/classifier.tgc sample.jpg out\n```\n",
-            "ocrd-tool.json": "{\n  \"version\": \"0.0.1\",\n  \"git_url\": \"https://github.com/seuretm/ocrd_typegroups_classifier\",\n  \"tools\": {\n    \"ocrd-typegroups-classifier\": {\n      \"executable\": \"ocrd-typegroups-classifier\",\n      \"description\": \"Classification of 15th century type groups\",\n      \"categories\": [\n        \"Text recognition and optimization\"\n      ],\n      \"steps\": [\n        \"recognition/font-identification\"\n      ],\n      \"input_file_grp\": [\"OCR-D-IMG\"],\n      \"parameters\": {\n        \"network\": {\n          \"description\": \"The file name of the neural network to use, including sufficient path information\",\n          \"type\": \"string\",\n          \"required\": true\n        },\n        \"stride\": {\n          \"description\": \"Stride applied to the CNN on the image. Should be between 1 and 224. Smaller values increase the computation time.\",\n          \"type\": \"number\",\n          \"format\": \"integer\",\n          \"default\": 112\n        }\n      }\n    }\n  }\n}\n",
-            "setup.py": "# -*- coding: utf-8 -*-\nimport codecs\n\nfrom setuptools import setup, find_packages\n\nwith codecs.open('README.md', encoding='utf-8') as f:\n    README = f.read()\n\nsetup(\n    name='ocrd_typegroups_classifier',\n    version='0.0.1',\n    description='Typegroups classifier for OCR',\n    long_description=README,\n    long_description_content_type='text/markdown',\n    author='Matthias Seuret, Konstantin Baierer',\n    author_email='seuretm@users.noreply.github.com',\n    url='https://github.com/seuretm/ocrd_typegroups_classifier',\n    license='Apache License 2.0',\n    packages=find_packages(exclude=('tests', 'docs')),\n    include_package_data=True,\n    install_requires=open('requirements.txt').read().split('\\n'),\n    package_data={\n        '': ['*.json', '*.tgc'],\n    },\n    entry_points={\n        'console_scripts': [\n            'typegroups-classifier=ocrd_typegroups_classifier.cli.simple:cli',\n            'ocrd-typegroups-classifier=ocrd_typegroups_classifier.cli.ocrd_cli:cli',\n        ]\n    },\n)\n"
-        },
-        "git": {
-            "last_commit": "Fri Nov 29 16:35:35 2019 +0100",
-            "latest_tag": "",
-            "number_of_commits": "75",
-            "url": "https://github.com/OCR-D/ocrd_typegroups_classifier.git"
-        },
-        "name": "ocrd_typegroups_classifier",
-        "ocrd_tool": {
-            "git_url": "https://github.com/seuretm/ocrd_typegroups_classifier",
-            "tools": {
-                "ocrd-typegroups-classifier": {
-                    "categories": [
-                        "Text recognition and optimization"
-                    ],
-                    "description": "Classification of 15th century type groups",
-                    "executable": "ocrd-typegroups-classifier",
-                    "input_file_grp": [
-                        "OCR-D-IMG"
-                    ],
-                    "parameters": {
-                        "network": {
-                            "description": "The file name of the neural network to use, including sufficient path information",
-                            "required": true,
-                            "type": "string"
-                        },
-                        "stride": {
-                            "default": 112,
-                            "description": "Stride applied to the CNN on the image. Should be between 1 and 224. Smaller values increase the computation time.",
-                            "format": "integer",
-                            "type": "number"
-                        }
-                    },
-                    "steps": [
-                        "recognition/font-identification"
-                    ]
-                }
-            },
-            "version": "0.0.1"
-        },
-        "ocrd_tool_validate": "<report valid=\"true\">\n</report>",
-        "official": true,
-        "org_plus_name": "OCR-D/ocrd_typegroups_classifier",
-        "python": {
-            "author": "Matthias Seuret, Konstantin Baierer",
-            "author-email": "seuretm@users.noreply.github.com",
-            "name": "ocrd_typegroups_classifier",
-            "pypi": {
-                "info": {
-                    "author": "Matthias Seuret, Konstantin Baierer",
-                    "author_email": "seuretm@users.noreply.github.com",
-                    "bugtrack_url": null,
-                    "classifiers": [],
-                    "description": "# ocrd_typegroups_classifier\n\n> Typegroups classifier for OCR\n\n## Installation\n\n### From PyPI\n\n```sh\npip3 install ocrd_typegroup_classifier\n```\n\n### From source\n\nIf needed, create a virtual environment for Python 3 (it was tested\nsuccessfully with Python 3.7), activate it, and install ocrd.\n\n```sh\nvirtualenv -p python3 ocrd-venv3\nsource ocrd-venv3/bin/activate\npip3 install ocrd\n```\n\nEnter in the folder containing the tool:\n\n```\ncd ocrd_typegroups_classifier/\n```\n\nInstall the module and its dependencies\n\n```\nmake install\n```\n\nFinally, run the test:\n\n```\nsh test/test.sh\n```\n\n** Important: ** The test makes sure that the system does work. For\nspeed reasons, a very small neural network is used and applied only to\nthe top-left corner of the image, therefore the quality of the results\nwill be of poor quality.\n\n## Models\n\nThe model classifier-1.tgc is based on a ResNet-18, with less neurons\nper layer than the usual model. It was briefly trained on 12 classes:\nAdornment, Antiqua, Bastarda, Book covers and other irrelevant data,\nEmpty Pages, Fraktur, Griechisch, Hebr\u00e4isch, Kursiv, Rotunda, Textura,\nand Woodcuts - Engravings.\n\n## Heatmap Generation ##\nGiven a trained model, it is possible to produce heatmaps corresponding\nto classification results. Syntax:\n\n```\npython3 tools/heatmap.py ocrd_typegroups_classifier/models/classifier.tgc sample.jpg out\n```\n\n\n",
-                    "description_content_type": "text/markdown",
-                    "docs_url": null,
-                    "download_url": "",
-                    "downloads": {
-                        "last_day": -1,
-                        "last_month": -1,
-                        "last_week": -1
-                    },
-                    "home_page": "https://github.com/seuretm/ocrd_typegroups_classifier",
-                    "keywords": "",
-                    "license": "Apache License 2.0",
-                    "maintainer": "",
-                    "maintainer_email": "",
-                    "name": "ocrd-typegroups-classifier",
-                    "package_url": "https://pypi.org/project/ocrd-typegroups-classifier/",
-                    "platform": "",
-                    "project_url": "https://pypi.org/project/ocrd-typegroups-classifier/",
-                    "project_urls": {
-                        "Homepage": "https://github.com/seuretm/ocrd_typegroups_classifier"
-                    },
-                    "release_url": "https://pypi.org/project/ocrd-typegroups-classifier/0.0.1/",
-                    "requires_dist": [
-                        "ocrd (>=2.0.1)",
-                        "pandas",
-                        "scikit-image",
-                        "torch (>=1.2.0)",
-                        "torchvision"
-                    ],
-                    "requires_python": "",
-                    "summary": "Typegroups classifier for OCR",
-                    "version": "0.0.1"
-                },
-                "last_serial": 6218779,
-                "releases": {
-                    "0.0.1": [
-                        {
-                            "comment_text": "",
-                            "digests": {
-                                "md5": "19437f8f76a7e346479a2bea163b164f",
-                                "sha256": "d469964e37069a2dab403bbf7400eec4ddabcf4ee83c86d6e88bda1bd96e9c1d"
-                            },
-                            "downloads": -1,
-                            "filename": "ocrd_typegroups_classifier-0.0.1-py3-none-any.whl",
-                            "has_sig": false,
-                            "md5_digest": "19437f8f76a7e346479a2bea163b164f",
-                            "packagetype": "bdist_wheel",
-                            "python_version": "py3",
-                            "requires_python": null,
-                            "size": 26290742,
-                            "upload_time": "2019-11-29T15:27:55",
-                            "upload_time_iso_8601": "2019-11-29T15:27:55.449239Z",
-                            "url": "https://files.pythonhosted.org/packages/e6/1b/5d0e6967985a7e23d01f558677bd7de4385dacc0186e4896ad23cb4e2f0d/ocrd_typegroups_classifier-0.0.1-py3-none-any.whl"
-                        },
-                        {
-                            "comment_text": "",
-                            "digests": {
-                                "md5": "48c202c02d301243c8e9f365e9dcad1d",
-                                "sha256": "6b339f6b52cb62acc93f64d11637aa895a2cfbe7958df3391e4d6480d8c87d28"
-                            },
-                            "downloads": -1,
-                            "filename": "ocrd_typegroups_classifier-0.0.1.tar.gz",
-                            "has_sig": false,
-                            "md5_digest": "48c202c02d301243c8e9f365e9dcad1d",
-                            "packagetype": "sdist",
-                            "python_version": "source",
-                            "requires_python": null,
-                            "size": 15969,
-                            "upload_time": "2019-11-29T15:27:59",
-                            "upload_time_iso_8601": "2019-11-29T15:27:59.723574Z",
-                            "url": "https://files.pythonhosted.org/packages/6a/d0/620fd50f319ef68ec959b67d0c048bb0f1d602ca5cc0baa0ff46fd235382/ocrd_typegroups_classifier-0.0.1.tar.gz"
-                        }
-                    ]
-                },
-                "urls": [
-                    {
-                        "comment_text": "",
-                        "digests": {
-                            "md5": "19437f8f76a7e346479a2bea163b164f",
-                            "sha256": "d469964e37069a2dab403bbf7400eec4ddabcf4ee83c86d6e88bda1bd96e9c1d"
-                        },
-                        "downloads": -1,
-                        "filename": "ocrd_typegroups_classifier-0.0.1-py3-none-any.whl",
-                        "has_sig": false,
-                        "md5_digest": "19437f8f76a7e346479a2bea163b164f",
-                        "packagetype": "bdist_wheel",
-                        "python_version": "py3",
-                        "requires_python": null,
-                        "size": 26290742,
-                        "upload_time": "2019-11-29T15:27:55",
-                        "upload_time_iso_8601": "2019-11-29T15:27:55.449239Z",
-                        "url": "https://files.pythonhosted.org/packages/e6/1b/5d0e6967985a7e23d01f558677bd7de4385dacc0186e4896ad23cb4e2f0d/ocrd_typegroups_classifier-0.0.1-py3-none-any.whl"
-                    },
-                    {
-                        "comment_text": "",
-                        "digests": {
-                            "md5": "48c202c02d301243c8e9f365e9dcad1d",
-                            "sha256": "6b339f6b52cb62acc93f64d11637aa895a2cfbe7958df3391e4d6480d8c87d28"
-                        },
-                        "downloads": -1,
-                        "filename": "ocrd_typegroups_classifier-0.0.1.tar.gz",
-                        "has_sig": false,
-                        "md5_digest": "48c202c02d301243c8e9f365e9dcad1d",
-                        "packagetype": "sdist",
-                        "python_version": "source",
-                        "requires_python": null,
-                        "size": 15969,
-                        "upload_time": "2019-11-29T15:27:59",
-                        "upload_time_iso_8601": "2019-11-29T15:27:59.723574Z",
-                        "url": "https://files.pythonhosted.org/packages/6a/d0/620fd50f319ef68ec959b67d0c048bb0f1d602ca5cc0baa0ff46fd235382/ocrd_typegroups_classifier-0.0.1.tar.gz"
-                    }
-                ]
-            },
-            "url": "https://github.com/seuretm/ocrd_typegroups_classifier"
-        },
-        "url": "https://github.com/OCR-D/ocrd_typegroups_classifier"
-    }
-]
diff --git a/requirements.txt b/requirements.txt
deleted file mode 100644
index e2ea8074a67f88afaf970acfe9736f1b04e1f129..0000000000000000000000000000000000000000
--- a/requirements.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-click >=7
-ocrd
-pyyaml
-requests
diff --git a/setup.py b/setup.py
deleted file mode 100644
index fa88e698815502ea44f45f2dcd5b878b5dd5d395..0000000000000000000000000000000000000000
--- a/setup.py
+++ /dev/null
@@ -1,29 +0,0 @@
-# -*- coding: utf-8 -*-
-from setuptools import setup, find_packages
-from ocrd_utils import VERSION
-
-install_requires = open('requirements.txt').read().split('\n')
-install_requires.append('ocrd_utils == %s' % VERSION)
-
-setup(
-    name='ocrd_kwalitee',
-    version=VERSION,
-    description='OCR-D framework MP kwalitee check',
-    long_description=open('README.md').read(),
-    long_description_content_type='text/markdown',
-    author='Konstantin Baierer',
-    author_email='unixprog@gmail.com',
-    url='https://github.com/OCR-D/kwalitee',
-    license='Apache License 2.0',
-    packages=find_packages(exclude=('tests', 'docs')),
-    include_package_data=True,
-    install_requires=install_requires,
-    package_data={
-        '': ['*.json', '*.yml', '*.yaml', '*.list', '*.xml'],
-    },
-    entry_points={
-        'console_scripts': [
-            'ocrd-kwalitee=kwalitee.cli:cli',
-        ]
-    },
-)
diff --git a/src/App.vue b/src/App.vue
new file mode 100644
index 0000000000000000000000000000000000000000..68c17fe7fbd6d5567e5d63308258f78d6d58c987
--- /dev/null
+++ b/src/App.vue
@@ -0,0 +1,12 @@
+<script setup>
+import { RouterView } from 'vue-router';
+</script>
+
+<template>
+  <div class="wrapper">
+    <RouterView />
+  </div>
+</template>
+
+<style scoped lang="scss">
+</style>
diff --git a/src/assets/base.scss b/src/assets/base.scss
new file mode 100644
index 0000000000000000000000000000000000000000..ac5be452ab6d243d45e54593d2401f21608d6132
--- /dev/null
+++ b/src/assets/base.scss
@@ -0,0 +1,75 @@
+/* color palette from <https://github.com/vuejs/theme> */
+:root {
+  --border-radius: 6px;
+  --vt-c-white: #ffffff;
+  --vt-c-white-soft: #f8f8f8;
+  --vt-c-white-mute: #f2f2f2;
+
+  --vt-c-black: #181818;
+  --vt-c-black-soft: #222222;
+  --vt-c-black-mute: #282828;
+
+  --vt-c-indigo: #2c3e50;
+
+  --vt-c-divider-light-1: rgba(60, 60, 60, 0.29);
+  --vt-c-divider-light-2: rgba(60, 60, 60, 0.12);
+  --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65);
+  --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48);
+
+  --vt-c-text-light-1: var(--vt-c-indigo);
+  --vt-c-text-light-2: rgba(60, 60, 60, 0.66);
+  --vt-c-text-dark-1: var(--vt-c-white);
+  --vt-c-text-dark-2: rgba(235, 235, 235, 0.64);
+}
+
+/* semantic color variables for this project */
+:root {
+  --color-background: var(--vt-c-white);
+  --color-background-soft: var(--vt-c-white-soft);
+  --color-background-mute: var(--vt-c-white-mute);
+
+  --color-border: var(--vt-c-divider-light-2);
+  --color-border-hover: var(--vt-c-divider-light-1);
+
+  --color-heading: var(--vt-c-text-light-1);
+  --color-text: var(--vt-c-text-light-1);
+
+  --section-gap: 160px;
+}
+
+@media (prefers-color-scheme: dark) {
+  :root {
+    --color-background: var(--vt-c-black);
+    --color-background-soft: var(--vt-c-black-soft);
+    --color-background-mute: var(--vt-c-black-mute);
+
+    --color-border: var(--vt-c-divider-dark-2);
+    --color-border-hover: var(--vt-c-divider-dark-1);
+
+    --color-heading: var(--vt-c-text-dark-1);
+    --color-text: var(--vt-c-text-dark-2);
+  }
+}
+
+*,
+*::before,
+*::after {
+  box-sizing: border-box;
+  margin: 0;
+  position: relative;
+  font-weight: normal;
+}
+
+body {
+  min-height: 100vh;
+  color: var(--color-text);
+  background: var(--color-background);
+  transition: color 0.5s, background-color 0.5s;
+  line-height: 1.6;
+  font-family: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu,
+    Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
+  font-size: 15px;
+  text-rendering: optimizeLegibility;
+  -webkit-font-smoothing: antialiased;
+  -moz-osx-font-smoothing: grayscale;
+}
diff --git a/src/assets/main.scss b/src/assets/main.scss
new file mode 100644
index 0000000000000000000000000000000000000000..1ab7d2a6e0eabc8eaf66fc7fe9da7b451ed30da7
--- /dev/null
+++ b/src/assets/main.scss
@@ -0,0 +1,18 @@
+@import "./base.scss";
+@import 'primeflex/primeflex.scss';
+
+.grid {
+  margin: 0;
+}
+
+.eval-low {
+  background-color: var(--red-200);
+}
+
+.eval-medium {
+  background-color: var(--yellow-300);
+}
+
+.eval-high {
+  background-color: var(--green-200);
+}
\ No newline at end of file
diff --git a/src/components/Processors.vue b/src/components/Processors.vue
new file mode 100644
index 0000000000000000000000000000000000000000..98c948358685999f2af9467c17d5d1e5a27bb24a
--- /dev/null
+++ b/src/components/Processors.vue
@@ -0,0 +1,10 @@
+<template>
+  <p>{{$t('no_content')}}</p>
+</template>
+
+<script setup>
+</script>
+
+<style scoped>
+
+</style>
diff --git a/src/components/Projects.vue b/src/components/Projects.vue
new file mode 100644
index 0000000000000000000000000000000000000000..98c948358685999f2af9467c17d5d1e5a27bb24a
--- /dev/null
+++ b/src/components/Projects.vue
@@ -0,0 +1,10 @@
+<template>
+  <p>{{$t('no_content')}}</p>
+</template>
+
+<script setup>
+</script>
+
+<style scoped>
+
+</style>
diff --git a/src/components/Workflows.vue b/src/components/Workflows.vue
new file mode 100644
index 0000000000000000000000000000000000000000..ce38359fd15fa69f3a4916cfc93b4ff5fabf4dac
--- /dev/null
+++ b/src/components/Workflows.vue
@@ -0,0 +1,46 @@
+<template>
+  <div class="container mb-3">
+    <SelectButton v-model="selectedOption" :options="options" optionLabel="name"></SelectButton>
+  </div>
+  <WorkflowsList v-if="selectedOption.value === 'list'" :data="data" />
+  <WorkflowsTable v-else :data="data" />
+</template>
+
+<script setup>
+import { onMounted, ref, watch } from "vue";
+import api from '@/helpers/api';
+import { useRouter, useRoute } from "vue-router";
+import WorkflowsList from "@/components/workflows/WorkflowsList.vue";
+import WorkflowsTable from "@/components/workflows/WorkflowsTable.vue";
+import { useI18n } from "vue-i18n";
+
+const { t } = useI18n();
+
+const data = ref([]);
+const router = useRouter();
+const route = useRoute();
+
+const options = ref([
+  { name: t('list'), value: 'list' },
+  { name: t('table'), value: 'table' }
+]);
+const selectedOption = ref(options.value[0]);
+
+
+watch(selectedOption, ({ value }) => {
+  router.push({ query: { view: value } });
+});
+
+onMounted(async () => {
+  data.value = await api.getWorkflows();
+
+  selectedOption.value = options.value.map((option) => {
+    return (!route.query.view || route.query.view === option.value) ? option : options.value[0];
+  })[0];
+  
+});
+</script>
+
+<style scoped>
+
+</style>
diff --git a/src/components/workflows/WorkflowsList.vue b/src/components/workflows/WorkflowsList.vue
new file mode 100644
index 0000000000000000000000000000000000000000..80b0e831f9f89ca6154e541f728a6b735e7e48c6
--- /dev/null
+++ b/src/components/workflows/WorkflowsList.vue
@@ -0,0 +1,78 @@
+<template>
+  <div>
+    <Card v-for="(item, i) in list" :key="i" class="mb-3 shadow-3 border-gray-200">
+      <template #header>
+        <h3 class="text-xl font-bold p-3">{{ item.label }}</h3>
+      </template>
+      <template #content>
+        <div class="grid">
+          <div class="col-5 py-0 ml-auto">
+            <div class="grid">
+              <div class="col py-0" v-for="(evalName, i) in evals" :key="i">
+                <span class="font-bold">{{evalName}}</span>
+              </div>
+            </div>
+            <div class="grid">
+              <div v-for="(evaluation, i) in item.evaluations" :key="i" class="col">
+              <span
+                  class="border-round-3xl py-1 px-3"
+                  :class="getEvalColor(evaluation.name, evaluation.value)">
+                {{ evaluation.value }}
+              </span>
+              </div>
+            </div>
+          </div>
+        </div>
+      </template>
+    </Card>
+  </div>
+</template>
+
+<script setup>
+import { ref, onMounted, watch } from "vue";
+import { getEvalColor } from "@/helpers/eval-colors";
+
+const props = defineProps(['data']);
+const list = ref([]);
+const evals = ref([]);
+
+
+const setListData = (data) => {
+  list.value = data.map(({ label, evaluation }) => ({
+    label,
+    evaluations: Object.keys(evaluation.document_wide).map(key => ({
+      name: key,
+      value: evaluation.document_wide[key]
+    }))
+  }));
+};
+
+const setEvals = (data) => {
+  evals.value = data && data.length > 0 ? Object.keys(data[0].evaluation.document_wide) : [];
+};
+
+ onMounted(() => {
+   setEvals(props.data);
+   setListData(props.data);
+ });
+
+
+watch(() => props.data, () => {
+  setEvals(props.data);
+  setListData(props.data);
+});
+
+</script>
+
+<style scoped lang="scss">
+@import 'primeflex/primeflex.scss';
+
+.p-card {
+  :deep(.p-card-content) {
+    padding: 0;
+  }
+  :deep(.p-card-body) {
+    @include styleclass('p-3');
+  }
+}
+</style>
diff --git a/src/components/workflows/WorkflowsTable.vue b/src/components/workflows/WorkflowsTable.vue
new file mode 100644
index 0000000000000000000000000000000000000000..eee14f3897eb303154593f3a0d7288a6a1c50f41
--- /dev/null
+++ b/src/components/workflows/WorkflowsTable.vue
@@ -0,0 +1,124 @@
+<template>
+  <div class="container">
+    <div class="grid mb-3">
+      <div class="flex align-items-center ml-auto">
+        <p class="mr-2">{{ $t('sort_by')}}:</p>
+        <Dropdown
+            v-model="sortBy"
+            :options="sortOptions"
+            option-label="label"
+            @change="onChange($event.value)"
+        />
+      </div>
+    </div>
+    <table class="w-full" style="border-spacing: 0">
+      <tr>
+        <th class="border-gray-400"></th>
+        <th class="border-gray-400"></th>
+        <th class="border-left-1 border-gray-400 pb-2" v-for="(evalName, i) in evals" :key="i">
+          <span class="font-bold">{{evalName}}</span>
+        </th>
+      </tr>
+      <template v-for="(key, i) in Object.keys(groupedData)" :key="i">
+        <tr v-for="(subject, j) in groupedData[key].subjects" :key="j">
+          <td v-if="j === 0" :rowspan="groupedData[key].subjects.length" class="vertical-align-top pt-2">
+            <span class="font-bold">{{ groupedData[key].label }}</span>
+          </td>
+          <td class="vertical-align-top pt-2">{{ subject.label }}</td>
+          <td
+            v-for="(evaluation, k) in subject.evaluations"
+            :key="k"
+            class="text-center border-left-1 border-gray-400 pt-2"
+            :class="(j === groupedData[key].subjects.length - 1) ? 'pb-5' : ''"
+          >
+            <span
+                class="border-round-3xl py-1 px-3"
+                :class="getEvalColor(evaluation.name, evaluation.value)">
+              {{ evaluation.value }}
+            </span>
+          </td>
+        </tr>
+      </template>
+    </table>
+  </div>
+</template>
+
+<script setup>
+import { watch, ref } from "vue";
+import { useI18n } from "vue-i18n";
+import { getEvalColor } from "@/helpers/eval-colors";
+
+const { t } = useI18n();
+const props = defineProps(['data']);
+const groupedData = ref({});
+const evals = ref([]);
+const sortOptions = ref([{
+  value: 'documents',
+  label: t('documents')
+}, {
+  value: 'workflows',
+  label: t('workflows')
+}]);
+const sortBy = ref(sortOptions.value[0]);
+
+const onChange = ({ value }) => {
+  if (value === 'workflows') groupByWorkflows();
+  else if (value === 'documents') groupByDocuments();
+};
+
+const groupByWorkflows = () => {
+  groupedData.value = props.data.reduce((acc, cur) => {
+    const ocrWorkflowId = cur.metadata.ocr_workflow['@id'];
+    const label = cur.metadata.ocr_workflow.label;
+
+    evals.value = Object.keys(cur.evaluation.document_wide);
+
+    const subject = {
+      label: cur.metadata.gt_workspace.label,
+      evaluations: Object.keys(cur.evaluation.document_wide).map(key => ({
+        name: key,
+        value: cur.evaluation.document_wide[key]
+      }))
+    };
+    if (!acc[ocrWorkflowId]) {
+      acc[ocrWorkflowId] = {
+        label,
+        subjects: [subject]
+      };
+    } else {
+      acc[ocrWorkflowId].subjects.push(subject);
+    }
+    return acc;
+  }, {});
+};
+
+const groupByDocuments = () => {
+  groupedData.value = props.data.reduce((acc, cur) => {
+    const gtWorkspaceId = cur.metadata.gt_workspace['@id'];
+    const label = cur.metadata.gt_workspace.label;
+    evals.value = Object.keys(cur.evaluation.document_wide);
+    const subject = {
+      label: cur.metadata.ocr_workflow.label,
+      evaluations: Object.keys(cur.evaluation.document_wide).map(key => ({
+        name: key,
+        value: cur.evaluation.document_wide[key]
+      }))
+    };
+    if (!acc[gtWorkspaceId]) {
+      acc[gtWorkspaceId] = {
+        label,
+        subjects: [subject]
+      };
+    } else {
+      acc[gtWorkspaceId].subjects.push(subject);
+    }
+    return acc;
+  }, {});
+};
+
+watch(() => props.data, groupByDocuments, { immediate: true });
+</script>
+
+<style scoped>
+
+</style>
diff --git a/src/helpers/api.js b/src/helpers/api.js
new file mode 100644
index 0000000000000000000000000000000000000000..2b3591faa14c3c0ea1642963daa786942bf49d3b
--- /dev/null
+++ b/src/helpers/api.js
@@ -0,0 +1,200 @@
+const baseUrl = 'https://raw.githubusercontent.com/OCR-D/quiver-back-end/main/data';
+const workflowsJson = [
+    {
+        "@id": "https://github.com/OCR-D/quiver/tree/data/evaluations/wf1-data345-eval1.json",
+        "label": "OCR workflow 1 on workspace 345",
+        "metadata": {
+            "ocr_workflow": {
+                "@id": "https://github.com/OCR-D/quiver/tree/data/workflows/1.nf",
+                "label": "OCR Workflow 1"
+            },
+            "eval_workflow": {
+                "@id": "https://github.com/OCR-D/quiver/tree/data/workflows/eval1.nf",
+                "label": "Evaluation Workflow 1"
+            },
+            "gt_workspace": {
+                "@id": "https://gt.ocr-d.de/workspace/789",
+                "label": "GT workspace 789 (19th century fraktur)"
+            },
+            "ocr_workspace": {
+                "@id": "https://github.com/OCR-D/quiver/tree/data/workspaces/3000.ocrd.zip",
+                "label": "OCR result workspace 3000"
+            },
+            "eval_workspace": {
+                "@id": "https://github.com/OCR-D/quiver/tree/data/workspaces/345.ocrd.zip",
+                "label": "Evaluation Workspace 345"
+            },
+            "workflow_steps": {
+                "0": "Processor A",
+                "1": "Processor B"
+            },
+            "workflow_model": "Fraktur_GT4HistOCR",
+            "document_metadata": {
+                "fonts": [
+                    "antiqua",
+                    "fraktur"
+                ],
+                "publication_century": "1800-1900",
+                "publication_decade": "1850-1860",
+                "publication_year": 1855,
+                "number_of_pages": 100,
+                "layout": "simple"
+            }
+        },
+        "evaluation": {
+            "document_wide": {
+                "wall_time": 1234,
+                "cer": 0.57,
+                "cer_min_max": [
+                    0.2,
+                    0.57
+                ]
+            },
+            "by_page": [
+                {
+                    "page_id": "PHYS_0001",
+                    "cer": 0.8,
+                    "processing_time": 2.1
+                }
+            ]
+        }
+    },
+    {
+        "@id": "https://github.com/OCR-D/quiver/tree/data/evaluations/wf2-data345-eval1.json",
+        "label": "OCR Workflow 2 on Data 345",
+        "metadata": {
+            "ocr_workflow": {
+                "@id": "https://github.com/OCR-D/quiver/tree/data/workflows/2.nf",
+                "label": "OCR Workflow 2"
+            },
+            "eval_workflow": {
+                "@id": "https://github.com/OCR-D/quiver/tree/data/workflows/eval1.nf",
+                "label": "Evaluation Workflow 1"
+            },
+            "gt_workspace": {
+                "@id": "https://gt.ocr-d.de/workspace/789",
+                "label": "GT workspace 789 (19th century fraktur)"
+            },
+            "ocr_workspace": {
+                "@id": "https://github.com/OCR-D/quiver/tree/data/workspaces/3000.ocrd.zip",
+                "label": "OCR result workspace 3000"
+            },
+            "eval_workspace": {
+                "@id": "https://github.com/OCR-D/quiver/tree/data/workspaces/345.ocrd.zip",
+                "label": "Evaluation Workspace 345"
+            },
+            "workflow_steps": {
+                "0": "Processor A",
+                "1": "Processor B"
+            },
+            "workflow_model": "Fraktur_GT4HistOCR",
+            "document_metadata": {
+                "fonts": [
+                    "antiqua",
+                    "fraktur"
+                ],
+                "publication_century": "1800-1900",
+                "publication_decade": "1850-1860",
+                "publication_year": 1855,
+                "number_of_pages": 100,
+                "layout": "simple"
+            }
+        },
+        "evaluation": {
+            "document_wide": {
+                "wall_time": 4567,
+                "cer": 0.9,
+                "cer_min_max": [
+                    0.2,
+                    0.99
+                ]
+            },
+            "by_page": [
+                {
+                    "page_id": "PHYS_0001",
+                    "cer": 0.9,
+                    "processing_time": 2.1
+                }
+            ]
+        }
+    },
+    {
+        "@id": "https://github.com/OCR-D/quiver/tree/data/evaluations/wf2-data345-eval1.json",
+        "label": "OCR Workflow 3 on Data 345",
+        "metadata": {
+            "ocr_workflow": {
+                "@id": "https://github.com/OCR-D/quiver/tree/data/workflows/2.nf",
+                "label": "OCR Workflow 3"
+            },
+            "eval_workflow": {
+                "@id": "https://github.com/OCR-D/quiver/tree/data/workflows/eval1.nf",
+                "label": "Evaluation Workflow 1"
+            },
+            "gt_workspace": {
+                "@id": "https://gt.ocr-d.de/workspace/123",
+                "label": "GT workspace 123 (16th century fraktur)"
+            },
+            "ocr_workspace": {
+                "@id": "https://github.com/OCR-D/quiver/tree/data/workspaces/3000.ocrd.zip",
+                "label": "OCR result workspace 3000"
+            },
+            "eval_workspace": {
+                "@id": "https://github.com/OCR-D/quiver/tree/data/workspaces/345.ocrd.zip",
+                "label": "Evaluation Workspace 345"
+            },
+            "workflow_steps": {
+                "0": "Processor A",
+                "1": "Processor B"
+            },
+            "workflow_model": "Fraktur_GT4HistOCR",
+            "document_metadata": {
+                "fonts": [
+                    "antiqua",
+                    "fraktur"
+                ],
+                "publication_century": "1800-1900",
+                "publication_decade": "1850-1860",
+                "publication_year": 1855,
+                "number_of_pages": 100,
+                "layout": "simple"
+            }
+        },
+        "evaluation": {
+            "document_wide": {
+                "wall_time": 8765,
+                "cer": 0.4,
+                "cer_min_max": [
+                    0.2,
+                    0.4
+                ]
+            },
+            "by_page": [
+                {
+                    "page_id": "PHYS_0001",
+                    "cer": 0.4,
+                    "processing_time": 2.1
+                }
+            ]
+        }
+    },
+];
+
+async function getProjects() {
+    return await request(baseUrl + '/repos.json');
+}
+
+async function getWorkflows() {
+    // return await request(baseUrl + '/workflows.json');
+    return Promise.resolve(workflowsJson);
+
+}
+
+async function request (url) {
+    const response = await fetch(url);
+    return await response.json();
+}
+
+export default {
+    getProjects,
+    getWorkflows
+};
diff --git a/src/helpers/eval-colors.js b/src/helpers/eval-colors.js
new file mode 100644
index 0000000000000000000000000000000000000000..f2fb51133257a048f3f1962c678ca1fb6a237663
--- /dev/null
+++ b/src/helpers/eval-colors.js
@@ -0,0 +1,33 @@
+const evalColors = {
+    wall_time: {
+        'eval-low': 2000,
+        'eval-medium': 4000,
+        'eval-high': 6000
+    },
+    cer: {
+        'eval-low': 0.6,
+        'eval-medium': 0.8,
+        'eval-high': 0.9
+    },
+    cer_min_max: {
+        'eval-low': 0.6,
+        'eval-medium': 0.8,
+        'eval-high': 0.9
+    }
+};
+
+const getEvalColor = (name, value) => {
+    const colorMap = evalColors[name];
+    if (colorMap) {
+        const keys = Object.keys(colorMap);
+        return keys.find((key, i) => {
+            const isLast = i === keys.length - 1;
+            return value <= colorMap[key] || isLast && value > colorMap[key];
+        });
+    }
+    return null;
+};
+
+export {
+    getEvalColor
+};
\ No newline at end of file
diff --git a/src/locales/de.json b/src/locales/de.json
new file mode 100644
index 0000000000000000000000000000000000000000..a803c02edbfddc483c37f2b9393f0b0c10a6ec8e
--- /dev/null
+++ b/src/locales/de.json
@@ -0,0 +1,11 @@
+{
+  "projects": "Projekte",
+  "processors": "Prozessoren",
+  "workflows": "Workflows",
+  "list": "Liste",
+  "table": "Tabelle",
+  "sort_by": "Sortieren nach",
+  "group_by": "Gruppieren nach",
+  "documents": "Dokumente",
+  "no_content": "Diese Ansicht befindet sich im Aufbau. Bitte schauen Sie später vorbei."
+}
diff --git a/src/locales/en.json b/src/locales/en.json
new file mode 100644
index 0000000000000000000000000000000000000000..91f45dc7239a76aeacd392c6cfa86dc6caa31426
--- /dev/null
+++ b/src/locales/en.json
@@ -0,0 +1,11 @@
+{
+  "projects": "Projects",
+  "processors": "Processors",
+  "workflows": "Workflows",
+  "list": "List",
+  "table": "Table",
+  "sort_by": "Sort by",
+  "group_by": "Group by",
+  "documents": "Documents",
+  "no_content": "This view is not created yet. Please try again later. "
+}
diff --git a/src/main.js b/src/main.js
new file mode 100644
index 0000000000000000000000000000000000000000..48996a377c8118a9fc7383dc1fb86f5c7fe3c6f5
--- /dev/null
+++ b/src/main.js
@@ -0,0 +1,40 @@
+import { createApp } from 'vue';
+import App from './App.vue';
+import router from './router';
+import PrimeVue from 'primevue/config';
+import TabMenu from 'primevue/tabmenu';
+import Button from 'primevue/button';
+import Card from 'primevue/card';
+import Dropdown from 'primevue/dropdown';
+import SelectButton from 'primevue/selectbutton';
+
+import { createI18n } from "vue-i18n";
+
+
+import 'primevue/resources/themes/lara-light-indigo/theme.css';
+import 'primevue/resources/primevue.min.css';
+import 'primeicons/primeicons.css';
+import './assets/main.scss';
+
+
+import en from './locales/en.json';
+import de from './locales/de.json';
+
+const i18n = createI18n({
+  locale: 'de',
+  messages: { en, de }
+});
+
+const app = createApp(App);
+
+app.use(PrimeVue);
+app.use(router);
+app.use(i18n);
+
+app.component('TabMenu', TabMenu);
+app.component('Button', Button);
+app.component('Card', Card);
+app.component('Dropdown', Dropdown);
+app.component('SelectButton', SelectButton);
+
+app.mount('#app');
diff --git a/src/router/index.js b/src/router/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..76f10644e70ac64cc13277cf563f40aac7f6db59
--- /dev/null
+++ b/src/router/index.js
@@ -0,0 +1,23 @@
+import { createRouter, createWebHistory } from 'vue-router';
+import HomeView from '../views/HomeView.vue';
+import Workflows from "@/components/Workflows.vue";
+import Projects from "@/components/Projects.vue";
+import Processors from "@/components/Processors.vue";
+
+const router = createRouter({
+  history: createWebHistory(import.meta.env.BASE_URL),
+  routes: [
+    {
+      path: '/',
+      name: 'home',
+      component: HomeView,
+      children: [
+        { path: 'projects', name: 'Projects', component: Projects },
+        { path: 'processors', name: 'Processors', component: Processors },
+        { path: 'workflows', alias: '/', name: 'workflows', component: Workflows },
+      ],
+    },
+  ]
+});
+
+export default router;
diff --git a/src/views/HomeView.vue b/src/views/HomeView.vue
new file mode 100644
index 0000000000000000000000000000000000000000..0d93cccf905d9bd6fa22220c4faa96f0a5936208
--- /dev/null
+++ b/src/views/HomeView.vue
@@ -0,0 +1,42 @@
+<template>
+  <main>
+    <TabMenu :model="items" />
+    <div class="content-container pt-3">
+      <RouterView/>
+    </div>
+  </main>
+</template>
+<script setup>
+import { onMounted, ref } from "vue";
+import { useRouter } from "vue-router";
+import { useI18n } from "vue-i18n";
+
+const router = useRouter();
+const { t } = useI18n();
+
+const items = ref([
+  {
+    label: t('projects'),
+    icon: 'pi pi-fw pi-home',
+    to: '/projects'
+  },
+  {
+    label: t('processors'),
+    icon: 'pi pi-fw pi-calendar',
+    to: '/processors'
+  },
+  {
+    label: t('workflows'),
+    icon: 'pi pi-fw pi-pencil',
+    to: '/workflows'
+  },
+]);
+
+onMounted(async () => {
+  await router.isReady();
+});
+
+</script>
+<style scoped>
+</style>
+
diff --git a/vite.config.js b/vite.config.js
new file mode 100644
index 0000000000000000000000000000000000000000..168f87cd2bf12b2024f5c4148a9bc8777fadbb2d
--- /dev/null
+++ b/vite.config.js
@@ -0,0 +1,25 @@
+import path from 'path';
+import { fileURLToPath, URL } from 'node:url';
+
+import { defineConfig } from 'vite';
+import vue from '@vitejs/plugin-vue';
+import vueI18n from '@intlify/vite-plugin-vue-i18n';
+
+// https://vitejs.dev/config/
+export default defineConfig({
+  plugins: [
+    vue(),
+    vueI18n({
+      // if you want to use Vue I18n Legacy API, you need to set `compositionOnly: false`
+      // compositionOnly: false,
+
+      // you need to set i18n resource including paths !
+      include: path.resolve(__dirname, './src/locales/**')
+    })
+  ],
+  resolve: {
+    alias: {
+      '@': fileURLToPath(new URL('./src', import.meta.url))
+    }
+  }
+});
diff --git a/webapp/.babelrc b/webapp/.babelrc
deleted file mode 100644
index e81239406e3ed39247e416c9f2cf0c975dd84e2c..0000000000000000000000000000000000000000
--- a/webapp/.babelrc
+++ /dev/null
@@ -1,6 +0,0 @@
-{
-  "presets": [
-    ["env", { "modules": false }],
-    "stage-3"
-  ]
-}
diff --git a/webapp/.editorconfig b/webapp/.editorconfig
deleted file mode 100644
index 9d08a1a828a3bd2d60de3952744df29f9add27fa..0000000000000000000000000000000000000000
--- a/webapp/.editorconfig
+++ /dev/null
@@ -1,9 +0,0 @@
-root = true
-
-[*]
-charset = utf-8
-indent_style = space
-indent_size = 2
-end_of_line = lf
-insert_final_newline = true
-trim_trailing_whitespace = true
diff --git a/webapp/.gitignore b/webapp/.gitignore
deleted file mode 100644
index a0446a54854c9aaa0f702fb31e8563ccd06fbe41..0000000000000000000000000000000000000000
--- a/webapp/.gitignore
+++ /dev/null
@@ -1,12 +0,0 @@
-.DS_Store
-node_modules/
-dist/
-npm-debug.log
-yarn-error.log
-
-# Editor directories and files
-.idea
-*.suo
-*.ntvs*
-*.njsproj
-*.sln
diff --git a/webapp/README.md b/webapp/README.md
deleted file mode 100644
index fdb3272d82def337fe6027074b8c2ba60016931d..0000000000000000000000000000000000000000
--- a/webapp/README.md
+++ /dev/null
@@ -1,18 +0,0 @@
-# ocrd-kwalitee-webapp
-
-> OCR-D software overview
-
-## Build Setup
-
-``` bash
-# install dependencies
-npm install
-
-# serve with hot reload at localhost:8080
-npm run dev
-
-# build for production with minification
-npm run build
-```
-
-For detailed explanation on how things work, consult the [docs for vue-loader](http://vuejs.github.io/vue-loader).
diff --git a/webapp/dist/build.js b/webapp/dist/build.js
deleted file mode 100644
index 4d6b7fc33a5a632324974aa09f3c349c23abc73e..0000000000000000000000000000000000000000
--- a/webapp/dist/build.js
+++ /dev/null
@@ -1,41 +0,0 @@
-!function(t){function e(o){if(r[o])return r[o].exports;var n=r[o]={i:o,l:!1,exports:{}};return t[o].call(n.exports,n,n.exports,e),n.l=!0,n.exports}var r={};e.m=t,e.c=r,e.d=function(t,r,o){e.o(t,r)||Object.defineProperty(t,r,{configurable:!1,enumerable:!0,get:o})},e.n=function(t){var r=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(r,"a",r),r},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="/dist/",e(e.s=225)}([function(t,e,r){"use strict";var o=r(50);e.a=o.default},function(t,e,r){"use strict";function o(t){return(o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}r.d(e,"n",function(){return c}),r.d(e,"g",function(){return d}),r.d(e,"o",function(){return u}),r.d(e,"f",function(){return p}),r.d(e,"b",function(){return f}),r.d(e,"m",function(){return b}),r.d(e,"h",function(){return m}),r.d(e,"c",function(){return h}),r.d(e,"d",function(){return g}),r.d(e,"e",function(){return v}),r.d(e,"l",function(){return y}),r.d(e,"k",function(){return w});var n=r(7),i=r(8),a=r(17);r.d(e,"a",function(){return n.d}),r.d(e,"i",function(){return i.h}),r.d(e,"j",function(){return i.i});var s=function(t){return o(t)},l=function(t){return Object.prototype.toString.call(t).slice(8,-1)},c=function(t){return void 0===t},d=function(t){return null===t},u=function(t){return c(t)||d(t)},p=function(t){return"function"===s(t)},f=function(t){return"boolean"===s(t)},b=function(t){return"string"===s(t)},m=function(t){return"number"===s(t)},h=function(t){return t instanceof Date},g=function(t){return t instanceof Event},v=function(t){return t instanceof a.a},y=function(t){return"RegExp"===l(t)},w=function(t){return!u(t)&&p(t.then)&&p(t.catch)}},function(t,e,r){"use strict";function o(t,e){return e?e.toUpperCase():""}function n(t){for(var e,r={},n=0,i=t.split(s.styleList);n<i.length;n++){var a=i[n].split(s.styleProp),l=a[0],c=a[1];(l=l.trim())&&("string"==typeof c&&(c=c.trim()),r[(e=l,e.replace(s.kebab,o))]=c)}return r}function i(){for(var t,e,r={},o=arguments.length;o--;)for(var i=0,s=Object.keys(arguments[o]);i<s.length;i++)switch(t=s[i]){case"class":case"style":case"directives":if(Array.isArray(r[t])||(r[t]=[]),"style"===t){var l=void 0;l=Array.isArray(arguments[o].style)?arguments[o].style:[arguments[o].style];for(var c=0;c<l.length;c++){var d=l[c];"string"==typeof d&&(l[c]=n(d))}arguments[o].style=l}r[t]=r[t].concat(arguments[o][t]);break;case"staticClass":if(!arguments[o][t])break;void 0===r[t]&&(r[t]=""),r[t]&&(r[t]+=" "),r[t]+=arguments[o][t].trim();break;case"on":case"nativeOn":r[t]||(r[t]={});for(var u=0,p=Object.keys(arguments[o][t]||{});u<p.length;u++)e=p[u],r[t][e]?r[t][e]=[].concat(r[t][e],arguments[o][t][e]):r[t][e]=arguments[o][t][e];break;case"attrs":case"props":case"domProps":case"scopedSlots":case"staticStyle":case"hook":case"transition":r[t]||(r[t]={}),r[t]=a({},arguments[o][t],r[t]);break;case"slot":case"key":case"ref":case"tag":case"show":case"keepAlive":default:r[t]||(r[t]=arguments[o][t])}return r}r.d(e,"a",function(){return i});var a=function(){return(a=Object.assign||function(t){for(var e,r=1,o=arguments.length;r<o;r++)for(var n in e=arguments[r])Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t}).apply(this,arguments)},s={kebab:/-(\w)/g,styleProp:/:(.*)/,styleList:/;(?![^(]*\))/g}},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){i(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"a",function(){return u}),r.d(e,"b",function(){return p});var a=r(0),s=r(13),l=r(247),c=r(10),d=function(){var t=!1,e=["Multiple instances of Vue detected!","You may need to set up an alias for Vue in your bundler config.","See: https://bootstrap-vue.js.org/docs#using-module-bundlers"].join("\n");return function(r){t||a.a===r||c.k||Object(s.a)(e),t=!0}}(),u=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=t.components,r=t.directives,o=t.plugins,n=function t(n){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};t.installed||(t.installed=!0,d(n),Object(l.a)(i,n),m(n,e),g(n,r),f(n,o))};return n.installed=!1,n},p=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return n({},arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{install:u(t)})},f=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};for(var r in e)r&&e[r]&&t.use(e[r])},b=function(t,e,r){t&&e&&r&&t.component(e,r)},m=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};for(var r in e)b(t,r,e[r])},h=function(t,e,r){t&&e&&r&&t.directive(e.replace(/^VB/,"B"),r)},g=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};for(var r in e)h(t,r,e[r])}},function(t,e,r){"use strict";r.d(e,"c",function(){return d}),r.d(e,"a",function(){return u}),r.d(e,"b",function(){return b});var o=r(0),n=r(51),i=r(33),a=r(52),s=r(101),l=o.a.prototype,c=function(t){return l.$bvConfig?l.$bvConfig.getConfigValue(t):Object(n.a)(Object(i.a)(s.a,t))},d=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return e?c("".concat(t,".").concat(e)):c(t)||{}},u=function(){return c("breakpoints")},p=Object(a.a)(function(){return u()}),f=function(){return Object(n.a)(p())},b=Object(a.a)(function(){var t=f();return t[0]="",t})},function(t,e,r){"use strict";var o=r(18),n=r(7);e.a={methods:{hasNormalizedSlot:function(t){return Object(o.a)(t,this.$scopedSlots,this.$slots)},normalizeSlot:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=Object(o.b)(t,e,this.$scopedSlots,this.$slots);return r?Object(n.b)(r):r}}}},function(t,e,r){"use strict";r.d(e,"w",function(){return u}),r.d(e,"a",function(){return p}),r.d(e,"f",function(){return b}),r.d(e,"e",function(){return m}),r.d(e,"o",function(){return h}),r.d(e,"p",function(){return g}),r.d(e,"n",function(){return v}),r.d(e,"t",function(){return y}),r.d(e,"y",function(){return w}),r.d(e,"x",function(){return x}),r.d(e,"q",function(){return O}),r.d(e,"c",function(){return k}),r.d(e,"d",function(){return j}),r.d(e,"i",function(){return S}),r.d(e,"b",function(){return _}),r.d(e,"v",function(){return T}),r.d(e,"m",function(){return P}),r.d(e,"z",function(){return C}),r.d(e,"u",function(){return $}),r.d(e,"g",function(){return B}),r.d(e,"l",function(){return E}),r.d(e,"h",function(){return D}),r.d(e,"j",function(){return A}),r.d(e,"k",function(){return I}),r.d(e,"r",function(){return z}),r.d(e,"s",function(){return F});var o=r(7),n=r(10),i=r(1),a=n.i?window:{},s=n.b?document:{},l="undefined"!=typeof Element?Element.prototype:{},c=l.matches||l.msMatchesSelector||l.webkitMatchesSelector,d=l.closest||function(t){var e=this;do{if(O(e,t))return e;e=e.parentElement||e.parentNode}while(!Object(i.g)(e)&&e.nodeType===Node.ELEMENT_NODE);return null},u=a.requestAnimationFrame||a.webkitRequestAnimationFrame||a.mozRequestAnimationFrame||a.msRequestAnimationFrame||a.oRequestAnimationFrame||function(t){return setTimeout(t,16)},p=a.MutationObserver||a.WebKitMutationObserver||a.MozMutationObserver||null,f=function(t){return n.e?Object(i.i)(t)?t:{useCapture:Boolean(t||!1)}:Boolean(Object(i.i)(t)?t.useCapture:t)},b=function(t,e,r,o){t&&t.addEventListener&&t.addEventListener(e,r,f(o))},m=function(t,e,r,o){t&&t.removeEventListener&&t.removeEventListener(e,r,f(o))},h=function(t){return Boolean(t&&t.nodeType===Node.ELEMENT_NODE)},g=function(t){if(!h(t)||!j(s.body,t))return!1;if("none"===t.style.display)return!1;var e=D(t);return Boolean(e&&e.height>0&&e.width>0)},v=function(t){return!h(t)||t.disabled||Boolean(B(t,"disabled"))||P(t,"disabled")},y=function(t){return h(t)&&t.offsetHeight},w=function(t,e){return Object(o.c)((h(e)?e:s).querySelectorAll(t))},x=function(t,e){return(h(e)?e:s).querySelector(t)||null},O=function(t,e){return!!h(t)&&c.call(t,e)},k=function(t,e){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(!h(e))return null;var o=d.call(e,t);return r?o:o===e?null:o},j=function(t,e){return!(!t||!Object(i.f)(t.contains))&&t.contains(e)},S=function(t){return s.getElementById(/^#/.test(t)?t.slice(1):t)||null},_=function(t,e){e&&h(t)&&t.classList&&t.classList.add(e)},T=function(t,e){e&&h(t)&&t.classList&&t.classList.remove(e)},P=function(t,e){return!!(e&&h(t)&&t.classList)&&t.classList.contains(e)},C=function(t,e,r){e&&h(t)&&t.setAttribute(e,r)},$=function(t,e){e&&h(t)&&t.removeAttribute(e)},B=function(t,e){return e&&h(t)?t.getAttribute(e):null},E=function(t,e){return e&&h(t)?t.hasAttribute(e):null},D=function(t){return h(t)?t.getBoundingClientRect():null},A=function(t){return n.i&&h(t)?a.getComputedStyle(t):{}},I=function(){return n.i&&a.getSelection?a.getSelection():null},z=function(t){var e={top:0,left:0};if(!h(t)||0===t.getClientRects().length)return e;var r=D(t);if(r){var o=t.ownerDocument.defaultView;e.top=r.top+o.pageYOffset,e.left=r.left+o.pageXOffset}return e},F=function(t){var e={top:0,left:0};if(!h(t))return e;var r={top:0,left:0},o=A(t);if("fixed"===o.position)e=D(t)||e;else{e=z(t);for(var n=t.ownerDocument,i=t.offsetParent||n.documentElement;i&&(i===n.body||i===n.documentElement)&&"static"===A(i).position;)i=i.parentNode;if(i&&i!==t&&i.nodeType===Node.ELEMENT_NODE){r=z(i);var a=A(i);r.top+=parseFloat(a.borderTopWidth),r.left+=parseFloat(a.borderLeftWidth)}}return{top:e.top-r.top-parseFloat(o.marginTop),left:e.left-r.left-parseFloat(o.marginLeft)}}},function(t,e,r){"use strict";r.d(e,"c",function(){return o}),r.d(e,"d",function(){return n}),r.d(e,"a",function(){return i}),r.d(e,"b",function(){return a});var o=Array.from,n=Array.isArray,i=function(t,e){return-1!==t.indexOf(e)},a=function(){for(var t=arguments.length,e=new Array(t),r=0;r<t;r++)e[r]=arguments[r];return Array.prototype.concat.apply([],e)}},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){i(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function a(t){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}r.d(e,"a",function(){return l}),r.d(e,"f",function(){return c}),r.d(e,"j",function(){return d}),r.d(e,"d",function(){return u}),r.d(e,"e",function(){return p}),r.d(e,"b",function(){return b}),r.d(e,"g",function(){return m}),r.d(e,"m",function(){return h}),r.d(e,"h",function(){return g}),r.d(e,"i",function(){return v}),r.d(e,"k",function(){return y}),r.d(e,"l",function(){return w}),r.d(e,"c",function(){return x});var s=r(7),l=Object.assign,c=Object.getOwnPropertyNames,d=Object.keys,u=Object.defineProperties,p=Object.defineProperty,f=Object.freeze,b=(Object.getOwnPropertyDescriptor,Object.getOwnPropertySymbols,Object.getPrototypeOf,Object.create),m=(Object.isFrozen,Object.is,function(t,e){return Object.prototype.hasOwnProperty.call(t,e)}),h=function(t){return Object.prototype.toString.call(t)},g=function(t){return null!==t&&"object"===a(t)},v=function(t){return"[object Object]"===Object.prototype.toString.call(t)},y=function(t,e){return d(t).filter(function(t){return-1===e.indexOf(t)}).reduce(function(e,r){return n({},e,i({},r,t[r]))},{})},w=function(){return{enumerable:!0,configurable:!1,writable:!1}},x=function t(e){return d(e).forEach(function(r){var o=e[r];e[r]=o&&(v(o)||Object(s.d)(o))?t(o):o}),f(e)}},function(t,e,r){"use strict";e.a={props:{id:{type:String,default:null}},data:function(){return{localId_:null}},computed:{safeId:function(){var t=this.id||this.localId_;return function(e){return t?(e=String(e||"").replace(/\s+/g,"_"),e?t+"_"+e:t):null}}},mounted:function(){var t=this;this.$nextTick(function(){t.localId_="__BVID__".concat(t._uid)})}}},function(t,e,r){"use strict";(function(t){r.d(e,"i",function(){return o}),r.d(e,"b",function(){return n}),r.d(e,"g",function(){return a}),r.d(e,"d",function(){return s}),r.d(e,"j",function(){return l}),r.d(e,"k",function(){return d}),r.d(e,"e",function(){return u}),r.d(e,"h",function(){return p}),r.d(e,"f",function(){return f}),r.d(e,"c",function(){return b}),r.d(e,"a",function(){return h});var o="undefined"!=typeof window,n="undefined"!=typeof document,i="undefined"!=typeof navigator,a="undefined"!=typeof Promise,s="undefined"!=typeof MutationObserver||"undefined"!=typeof WebKitMutationObserver||"undefined"!=typeof MozMutationObserver,l=o&&n&&i,c=l?window.navigator.userAgent.toLowerCase():"",d=c.indexOf("jsdom")>0,u=(/msie|trident/.test(c),function(){var t=!1;if(l)try{var e={get passive(){t=!0}};window.addEventListener("test",e,e),window.removeEventListener("test",e,e)}catch(e){t=!1}return t}()),p=l&&("ontouchstart"in document.documentElement||navigator.maxTouchPoints>0),f=l&&Boolean(window.PointerEvent||window.MSPointerEvent),b=l&&"IntersectionObserver"in window&&"IntersectionObserverEntry"in window&&"intersectionRatio"in window.IntersectionObserverEntry.prototype,m=function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,o=void 0!==t&&t?Object({NODE_ENV:"production"})||{}:{};return e?o[e]||r:o},h=function(){return m("BOOTSTRAP_VUE_NO_WARN")}}).call(e,r(93))},function(t,e,r){"use strict";r.d(e,"b",function(){return n}),r.d(e,"a",function(){return i});var o=/(<([^>]+)>)/gi,n=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return String(t).replace(o,"")},i=function(t,e){return t?{innerHTML:t}:e?{textContent:e}:{}}},function(t,e,r){"use strict";var o=r(8),n=r(1),i=function(t,e){if(t.length!==e.length)return!1;for(var r=!0,o=0;r&&o<t.length;o++)r=a(t[o],e[o]);return r},a=function t(e,r){if(e===r)return!0;var a=Object(n.c)(e),s=Object(n.c)(r);if(a||s)return!(!a||!s)&&e.getTime()===r.getTime();if(a=Object(n.a)(e),s=Object(n.a)(r),a||s)return!(!a||!s)&&i(e,r);if(a=Object(n.i)(e),s=Object(n.i)(r),a||s){if(!a||!s)return!1;if(Object(o.j)(e).length!==Object(o.j)(r).length)return!1;for(var l in e){var c=e.hasOwnProperty(l),d=r.hasOwnProperty(l);if(c&&!d||!c&&d||!t(e[l],r[l]))return!1}}return String(e)===String(r)};e.a=a},function(t,e,r){"use strict";r.d(e,"b",function(){return n}),r.d(e,"e",function(){return i}),r.d(e,"d",function(){return a}),r.d(e,"c",function(){return s});var o=r(10),n=function(t){Object(o.a)()||console.warn("[BootstrapVue warn]: ".concat(t))},i=function(t){return!o.j&&(n("".concat(t,": Can not be called during SSR.")),!0)},a=function(t){return!o.g&&(n("".concat(t,": Requires Promise support.")),!0)},s=function(t){return!o.d&&(n("".concat(t,": Requires MutationObserver support.")),!0)};e.a=n},function(t,e,r){"use strict";function o(t){return a(t)||i(t)||n()}function n(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function i(t){if(Symbol.iterator in Object(t)||"[object Arguments]"===Object.prototype.toString.call(t))return Array.from(t)}function a(t){if(Array.isArray(t)){for(var e=0,r=new Array(t.length);e<t.length;e++)r[e]=t[e];return r}}function s(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function l(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?s(r,!0).forEach(function(e){c(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):s(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function c(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"b",function(){return m}),r.d(e,"a",function(){return h});var d=r(0),u=r(5),p=r(7),f=r(1),b=r(107),m=function(){return{href:{type:String,default:null},rel:{type:String,default:null},target:{type:String,default:"_self"},active:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},to:{type:[String,Object],default:null},append:{type:Boolean,default:!1},replace:{type:Boolean,default:!1},event:{type:[String,Array],default:"click"},activeClass:{type:String},exact:{type:Boolean,default:!1},exactActiveClass:{type:String},routerTag:{type:String,default:"a"},noPrefetch:{type:Boolean,default:!1}}},h=(m(),d.a.extend({name:"BLink",mixins:[u.a],inheritAttrs:!1,props:m(),computed:{computedTag:function(){return Object(b.c)({to:this.to,disabled:this.disabled},this)},isRouterLink:function(){return Object(b.d)(this.computedTag)},computedRel:function(){return Object(b.b)({target:this.target,rel:this.rel})},computedHref:function(){return Object(b.a)({to:this.to,href:this.href},this.computedTag)},computedProps:function(){return this.isRouterLink?l({},this.$props,{tag:this.routerTag}):{}}},methods:{onClick:function(t){var e=arguments,r=Object(f.d)(t),n=this.isRouterLink,i=this.$listeners.click;r&&this.disabled?(t.stopPropagation(),t.stopImmediatePropagation()):(n&&t.currentTarget.__vue__&&t.currentTarget.__vue__.$emit("click",t),Object(p.b)(i).filter(function(t){return Object(f.f)(t)}).forEach(function(t){t.apply(void 0,o(e))}),this.$root.$emit("clicked::link",t)),r&&(this.disabled||!n&&"#"===this.computedHref)&&t.preventDefault()},focus:function(){this.$el&&this.$el.focus&&this.$el.focus()},blur:function(){this.$el&&this.$el.blur&&this.$el.blur()}},render:function(t){var e=this.computedTag,r=this.computedRel,o=this.computedHref,n=this.isRouterLink,i={class:{active:this.active,disabled:this.disabled},attrs:l({},this.$attrs,{rel:r,target:this.target,tabindex:this.disabled?"-1":Object(f.n)(this.$attrs.tabindex)?null:this.$attrs.tabindex,"aria-disabled":this.disabled?"true":null}),props:this.computedProps};return i[n?"nativeOn":"on"]=l({},this.$listeners,{click:this.onClick}),o?i.attrs.href=o:delete i.props.href,t(e,i,this.normalizeSlot("default"))}}))},function(t,e,r){"use strict";var o=r(106),n=r(1),i=r(8),a=function(t,e){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:o.a;return(Object(n.a)(t)?t.slice():Object(i.j)(t)).reduce(function(t,o){return t[r(o)]=e[o],t},{})};e.a=a},function(t,e,r){"use strict";var o=r(1);e.a={props:{state:{type:Boolean,default:null}},computed:{computedState:function(){return Object(o.b)(this.state)?this.state:null},stateClass:function(){var t=this.computedState;return!0===t?"is-valid":!1===t?"is-invalid":null}}}},function(t,e,r){"use strict";function o(t){return(o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function i(t,e){return!e||"object"!==o(e)&&"function"!=typeof e?a(t):e}function a(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function s(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&p(t,e)}function l(t){var e="function"==typeof Map?new Map:void 0;return(l=function(t){function r(){return d(t,arguments,f(this).constructor)}if(null===t||!u(t))return t;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");if(void 0!==e){if(e.has(t))return e.get(t);e.set(t,r)}return r.prototype=Object.create(t.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),p(r,t)})(t)}function c(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(t){return!1}}function d(t,e,r){return d=c()?Reflect.construct:function(t,e,r){var o=[null];o.push.apply(o,e);var n=Function.bind.apply(t,o),i=new n;return r&&p(i,r.prototype),i},d.apply(null,arguments)}function u(t){return-1!==Function.toString.call(t).indexOf("[native code]")}function p(t,e){return(p=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function f(t){return(f=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}r.d(e,"b",function(){return g}),r.d(e,"c",function(){return v}),r.d(e,"a",function(){return y});var b=r(10),m=b.i?window:{},h=b.i?m.Element:function(t){function e(){return n(this,e),i(this,f(e).apply(this,arguments))}return s(e,t),e}(l(Object)),g=b.i?m.HTMLElement:function(t){function e(){return n(this,e),i(this,f(e).apply(this,arguments))}return s(e,t),e}(h),v=b.i?m.SVGElement:function(t){function e(){return n(this,e),i(this,f(e).apply(this,arguments))}return s(e,t),e}(h),y=b.i?m.File:function(t){function e(){return n(this,e),i(this,f(e).apply(this,arguments))}return s(e,t),e}(l(Object))},function(t,e,r){"use strict";r.d(e,"a",function(){return i}),r.d(e,"b",function(){return a});var o=r(7),n=r(1),i=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return t=Object(o.b)(t).filter(Boolean),t.some(function(t){return e[t]||r[t]})},a=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};t=Object(o.b)(t).filter(Boolean);for(var a,s=0;s<t.length&&!a;s++){var l=t[s];a=r[l]||i[l]}return Object(n.f)(a)?a(e):a}},function(t,e,r){"use strict";var o={SPACE:32,ENTER:13,ESC:27,LEFT:37,UP:38,RIGHT:39,DOWN:40,PAGEUP:33,PAGEDOWN:34,HOME:36,END:35,TAB:9,SHIFT:16,CTRL:17,BACKSPACE:8,ALT:18,PAUSE:19,BREAK:19,INSERT:45,INS:45,DELETE:46};e.a=o},function(t,e,r){"use strict";var o=r(6);e.a={props:{name:{type:String},id:{type:String},disabled:{type:Boolean},required:{type:Boolean,default:!1},form:{type:String,default:null},autofocus:{type:Boolean,default:!1}},mounted:function(){this.handleAutofocus()},activated:function(){this.handleAutofocus()},methods:{handleAutofocus:function(){var t=this;this.$nextTick(function(){Object(o.w)(function(){var e=t.$el;t.autofocus&&Object(o.p)(e)&&(Object(o.q)(e,"input, textarea, select")||(e=Object(o.x)("input, textarea, select",e)),e&&e.focus&&e.focus())})})}}}},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){i(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"a",function(){return c});var a=r(0),s=r(5),l={variant:{type:String,default:null}},c=a.a.extend({name:"BTr",mixins:[s.a],inheritAttrs:!1,provide:function(){return{bvTableTr:this}},inject:{bvTableRowGroup:{defaut:function(){return{}}}},props:l,computed:{inTbody:function(){return this.bvTableRowGroup.isTbody},inThead:function(){return this.bvTableRowGroup.isThead},inTfoot:function(){return this.bvTableRowGroup.isTfoot},isDark:function(){return this.bvTableRowGroup.isDark},isStacked:function(){return this.bvTableRowGroup.isStacked},isResponsive:function(){return this.bvTableRowGroup.isResponsive},isStickyHeader:function(){return this.bvTableRowGroup.isStickyHeader},tableVariant:function(){return this.bvTableRowGroup.tableVariant},headVariant:function(){return this.bvTableRowGroup.headVariant},trClasses:function(){return[this.variant?"".concat(this.isDark?"bg":"table","-").concat(this.variant):null]},trAttrs:function(){return n({role:"row"},this.$attrs)}},render:function(t){return t("tr",{class:this.trClasses,attrs:this.trAttrs,on:this.$listeners},this.normalizeSlot("default",{}))}})},function(t,e){function r(t,e){var r=t[1]||"",n=t[3];if(!n)return r;if(e&&"function"==typeof btoa){var i=o(n);return[r].concat(n.sources.map(function(t){return"/*# sourceURL="+n.sourceRoot+t+" */"})).concat([i]).join("\n")}return[r].join("\n")}function o(t){return"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(t))))+" */"}t.exports=function(t){var e=[];return e.toString=function(){return this.map(function(e){var o=r(e,t);return e[2]?"@media "+e[2]+"{"+o+"}":o}).join("")},e.i=function(t,r){"string"==typeof t&&(t=[[null,t,""]]);for(var o={},n=0;n<this.length;n++){var i=this[n][0];"number"==typeof i&&(o[i]=!0)}for(n=0;n<t.length;n++){var a=t[n];"number"==typeof a[0]&&o[a[0]]||(r&&!a[2]?a[2]=r:r&&(a[2]="("+a[2]+") and ("+r+")"),e.push(a))}},e}},function(t,e,r){function o(t){for(var e=0;e<t.length;e++){var r=t[e],o=d[r.id];if(o){o.refs++;for(var n=0;n<o.parts.length;n++)o.parts[n](r.parts[n]);for(;n<r.parts.length;n++)o.parts.push(i(r.parts[n]));o.parts.length>r.parts.length&&(o.parts.length=r.parts.length)}else{for(var a=[],n=0;n<r.parts.length;n++)a.push(i(r.parts[n]));d[r.id]={id:r.id,refs:1,parts:a}}}}function n(){var t=document.createElement("style");return t.type="text/css",u.appendChild(t),t}function i(t){var e,r,o=document.querySelector("style["+g+'~="'+t.id+'"]');if(o){if(b)return m;o.parentNode.removeChild(o)}if(v){var i=f++;o=p||(p=n()),e=a.bind(null,o,i,!1),r=a.bind(null,o,i,!0)}else o=n(),e=s.bind(null,o),r=function(){o.parentNode.removeChild(o)};return e(t),function(o){if(o){if(o.css===t.css&&o.media===t.media&&o.sourceMap===t.sourceMap)return;e(t=o)}else r()}}function a(t,e,r,o){var n=r?"":o.css;if(t.styleSheet)t.styleSheet.cssText=y(e,n);else{var i=document.createTextNode(n),a=t.childNodes;a[e]&&t.removeChild(a[e]),a.length?t.insertBefore(i,a[e]):t.appendChild(i)}}function s(t,e){var r=e.css,o=e.media,n=e.sourceMap;if(o&&t.setAttribute("media",o),h.ssrId&&t.setAttribute(g,e.id),n&&(r+="\n/*# sourceURL="+n.sources[0]+" */",r+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(n))))+" */"),t.styleSheet)t.styleSheet.cssText=r;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(r))}}var l="undefined"!=typeof document;if("undefined"!=typeof DEBUG&&DEBUG&&!l)throw new Error("vue-style-loader cannot be used in a non-browser environment. Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.");var c=r(231),d={},u=l&&(document.head||document.getElementsByTagName("head")[0]),p=null,f=0,b=!1,m=function(){},h=null,g="data-vue-ssr-id",v="undefined"!=typeof navigator&&/msie [6-9]\b/.test(navigator.userAgent.toLowerCase());t.exports=function(t,e,r,n){b=r,h=n||{};var i=c(t,e);return o(i),function(e){for(var r=[],n=0;n<i.length;n++){var a=i[n],s=d[a.id];s.refs--,r.push(s)}e?(i=c(t,e),o(i)):i=[];for(var n=0;n<r.length;n++){var s=r[n];if(0===s.refs){for(var l=0;l<s.parts.length;l++)s.parts[l]();delete d[s.id]}}}};var y=function(){var t=[];return function(e,r){return t[e]=r,t.filter(Boolean).join("\n")}}()},function(t,e,r){"use strict";var o=r(4);e.a={props:{size:{type:String,default:function(){return Object(o.c)("formControls","size")}}},computed:{sizeFormClass:function(){return[this.size?"form-control-".concat(this.size):null]},sizeBtnClass:function(){return[this.size?"btn-".concat(this.size):null]}}}},function(t,e){var r;r=function(){return this}();try{r=r||Function("return this")()||(0,eval)("this")}catch(t){"object"==typeof window&&(r=window)}t.exports=r},function(t,e,r){"use strict";var o=r(1),n=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:2;return Object(o.o)(t)?"":Object(o.a)(t)||Object(o.j)(t)&&t.toString===Object.prototype.toString?JSON.stringify(t,null,e):String(t)};e.a=n},function(t,e,r){"use strict";e.a={methods:{listenOnRoot:function(t,e){var r=this;return this.$root.$on(t,e),this.$on("hook:beforeDestroy",function(){r.$root.$off(t,e)}),this},listenOnRootOnce:function(t,e){var r=this;return this.$root.$once(t,e),this.$on("hook:beforeDestroy",function(){r.$root.$off(t,e)}),this},emitOnRoot:function(t){for(var e,r=arguments.length,o=new Array(r>1?r-1:0),n=1;n<r;n++)o[n-1]=arguments[n];return(e=this.$root).$emit.apply(e,[t].concat(o)),this}}}},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){i(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"a",function(){return b});var a=r(0),s=r(26),l=r(1),c=r(5),d=/^\d+$/,u=function(t){return t=parseInt(t,10),d.test(String(t))&&t>0?t:null},p=function(t){return Object(l.o)(t)||u(t)>0},f={variant:{type:String,default:null},colspan:{type:[Number,String],default:null,validator:p},rowspan:{type:[Number,String],default:null,validator:p},stackedHeading:{type:String,default:null},stickyColumn:{type:Boolean,default:!1}},b=a.a.extend({name:"BTableCell",mixins:[c.a],inheritAttrs:!1,inject:{bvTableTr:{default:function(){return{}}}},props:f,computed:{tag:function(){return"td"},inTbody:function(){return this.bvTableTr.inTbody},inThead:function(){return this.bvTableTr.inThead},inTfoot:function(){return this.bvTableTr.inTfoot},isDark:function(){return this.bvTableTr.isDark},isStacked:function(){return this.bvTableTr.isStacked},isStackedCell:function(){return this.inTbody&&this.isStacked},isResponsive:function(){return this.bvTableTr.isResponsive},isStickyHeader:function(){return this.bvTableTr.isStickyHeader},isStickyColumn:function(){return!this.isStacked&&(this.isResponsive||this.isStickyHeader)&&this.stickyColumn},rowVariant:function(){return this.bvTableTr.variant},headVariant:function(){return this.bvTableTr.headVariant},footVariant:function(){return this.bvTableTr.footVariant},tableVariant:function(){return this.bvTableTr.tableVariant},computedColspan:function(){return u(this.colspan)},computedRowspan:function(){return u(this.rowspan)},cellClasses:function(){var t=this.variant;return(!t&&this.isStickyHeader&&!this.headVariant||!t&&this.isStickyColumn)&&(t=this.rowVariant||this.tableVariant||"b-table-default"),[t?"".concat(this.isDark?"bg":"table","-").concat(t):null,this.isStickyColumn?"b-table-sticky-column":null]},cellAttrs:function(){var t=this.inThead||this.inTfoot,e=this.computedColspan,r=this.computedRowspan,o="cell",i=null;return t?(o="columnheader",i=e>0?"colspan":"col"):"th"===this.tag&&(o="rowheader",i=r>0?"rowgroup":"row"),n({colspan:e,rowspan:r,role:o,scope:i},this.$attrs,{"data-label":this.isStackedCell&&!Object(l.o)(this.stackedHeading)?Object(s.a)(this.stackedHeading):null})}},render:function(t){var e=[this.normalizeSlot("default")];return t(this.tag,{class:this.cellClasses,attrs:this.cellAttrs,on:this.$listeners},[this.isStackedCell?t("div",[e]):e])}})},function(t,e){t.exports=function(t,e,r,o,n,i){var a,s=t=t||{},l=typeof t.default;"object"!==l&&"function"!==l||(a=t,s=t.default);var c="function"==typeof s?s.options:s;e&&(c.render=e.render,c.staticRenderFns=e.staticRenderFns,c._compiled=!0),r&&(c.functional=!0),n&&(c._scopeId=n);var d;if(i?(d=function(t){t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,t||"undefined"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),o&&o.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(i)},c._ssrRegister=d):o&&(d=o),d){var u=c.functional,p=u?c.render:c.beforeCreate;u?(c._injectStyles=d,c.render=function(t,e){return d.call(e),p(t,e)}):c.beforeCreate=p?[].concat(p,d):[d]}return{esModule:a,exports:s,options:c}}},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){i(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"a",function(){return u});var a=r(0),s=r(2),l=r(1),c={name:"",enterClass:"",enterActiveClass:"",enterToClass:"show",leaveClass:"show",leaveActiveClass:"",leaveToClass:""},d=n({},c,{enterActiveClass:"fade",leaveActiveClass:"fade"}),u=a.a.extend({name:"BVTransition",functional:!0,props:{noFade:{type:Boolean,default:!1},appear:{type:Boolean,default:!1},mode:{type:String},transProps:{type:Object,default:null}},render:function(t,e){var r=e.children,o=e.data,i=(e.listeners,e.props),a=i.transProps;return Object(l.j)(a)||(a=i.noFade?c:d,i.appear&&(a=n({},a,{appear:!0,appearClass:a.enterClass,appearActiveClass:a.enterActiveClass,appearToClass:a.enterToClass}))),a=n({mode:i.mode},a,{css:!0}),t("transition",Object(s.a)(o,{props:a}),r)}});e.b=u},function(t,e,r){"use strict";function o(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"a",function(){return u});var n=r(0),i=r(2),a=r(4),s=r(1),l=r(18),c="BButtonClose",d={disabled:{type:Boolean,default:!1},ariaLabel:{type:String,default:function(){return Object(a.c)(c,"ariaLabel")}},textVariant:{type:String,default:function(){return Object(a.c)(c,"textVariant")}}},u=n.a.extend({name:c,functional:!0,props:d,render:function(t,e){var r=e.props,n=e.data,a=(e.listeners,e.slots),c=e.scopedSlots,d=a(),u=c||{},p={staticClass:"close",class:o({},"text-".concat(r.textVariant),r.textVariant),attrs:{type:"button",disabled:r.disabled,"aria-label":r.ariaLabel?String(r.ariaLabel):null},on:{click:function(t){r.disabled&&Object(s.d)(t)&&(t.stopPropagation(),t.preventDefault())}}};return Object(l.a)("default",u,d)||(p.domProps={innerHTML:"&times;"}),t("button",Object(i.a)(n,p),Object(l.b)("default",{},u,d))}})},function(t,e,r){"use strict";var o=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return t?t.$options._scopeId||e:e};e.a=o},function(t,e,r){"use strict";var o=r(1),n=function(t,e){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;if(!(e=Object(o.a)(e)?e.join("."):e)||!Object(o.i)(t))return r;if(e in t)return t[e];e=String(e).replace(/\[(\d+)]/g,".$1");var n=e.split(".").filter(Boolean);return 0===n.length?r:n.every(function(e){return Object(o.i)(t)&&e in t&&null!=(t=t[e])})?t:r};e.a=n},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"a",function(){return T});var i=r(0),a=r(2),s=r(15),l=r(7),c=r(4),d=r(6),u=r(1),p=r(8),f=r(14),b="BButton",m={block:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},size:{type:String,default:function(){return Object(c.c)(b,"size")}},variant:{type:String,default:function(){return Object(c.c)(b,"variant")}},type:{type:String,default:"button"},tag:{type:String,default:"button"},pill:{type:Boolean,default:!1},squared:{type:Boolean,default:!1},pressed:{type:Boolean,default:null}},h=Object(f.b)();delete h.href.default,delete h.to.default;var g=Object(p.j)(h),v=function(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){n(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}({},h,{},m),y=function(t){"focusin"===t.type?Object(d.b)(t.target,"focus"):"focusout"===t.type&&Object(d.v)(t.target,"focus")},w=function(t){return Boolean(t.href||t.to||t.tag&&"a"===String(t.tag).toLowerCase())},x=function(t){return Object(u.b)(t.pressed)},O=function(t){return!w(t)&&(!t.tag||"button"===String(t.tag).toLowerCase())},k=function(t){return!w(t)&&!O(t)},j=function(t){var e;return["btn-".concat(t.variant||Object(c.c)(b,"variant")),(e={},n(e,"btn-".concat(t.size),Boolean(t.size)),n(e,"btn-block",t.block),n(e,"rounded-pill",t.pill),n(e,"rounded-0",t.squared&&!t.pill),n(e,"disabled",t.disabled),n(e,"active",t.pressed),e)]},S=function(t){return w(t)?Object(s.a)(g,t):null},_=function(t,e){var r=O(t),o=w(t),n=x(t),i=k(t),a=e.attrs&&e.attrs.role?e.attrs.role:null,s=e.attrs?e.attrs.tabindex:null;return i&&(s="0"),{type:r&&!o?t.type:null,disabled:r?t.disabled:null,role:i?"button":a,"aria-disabled":i?String(t.disabled):null,"aria-pressed":n?String(t.pressed):null,autocomplete:n?"off":null,tabindex:t.disabled&&!r?"-1":s}},T=i.a.extend({name:b,functional:!0,props:v,render:function(t,e){var r=e.props,o=e.data,n=e.listeners,i=e.children,s=x(r),c=w(r),d={click:function(t){r.disabled&&Object(u.d)(t)?(t.stopPropagation(),t.preventDefault()):s&&n&&n["update:pressed"]&&Object(l.b)(n["update:pressed"]).forEach(function(t){Object(u.f)(t)&&t(!r.pressed)})}};s&&(d.focusin=y,d.focusout=y);var p={staticClass:"btn",class:j(r),props:S(r),attrs:_(r,o),on:d};return t(c?f.a:r.tag,Object(a.a)(o,p),i)}})},function(t,e,r){"use strict";var o=r(54),n=function(t,e){return t+Object(o.a)(e)};e.a=n},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){i(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var a=r(106),s=r(1),l=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:a.a;if(Object(s.a)(t))return t.map(e);var r={};for(var o in t)t.hasOwnProperty(o)&&(r[e(o)]=Object(s.i)(t[o])?n({},t[o]):t[o]);return r};e.a=l},function(t,e,r){"use strict";e.a={props:{tag:{type:String,default:"div"},bgVariant:{type:String,default:null},borderVariant:{type:String,default:null},textVariant:{type:String,default:null}}}},function(t,e,r){"use strict";function o(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"a",function(){return u});var n=r(0),i=r(2),a=r(4),s=r(1),l='<svg width="%{w}" height="%{h}" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 %{w} %{h}" preserveAspectRatio="none"><rect width="100%" height="100%" style="fill:%{f};"></rect></svg>',c={src:{type:String,default:null},alt:{type:String,default:null},width:{type:[Number,String],default:null},height:{type:[Number,String],default:null},block:{type:Boolean,default:!1},fluid:{type:Boolean,default:!1},fluidGrow:{type:Boolean,default:!1},rounded:{type:[Boolean,String],default:!1},thumbnail:{type:Boolean,default:!1},left:{type:Boolean,default:!1},right:{type:Boolean,default:!1},center:{type:Boolean,default:!1},blank:{type:Boolean,default:!1},blankColor:{type:String,default:function(){return Object(a.c)("BImg","blankColor")}}},d=function(t,e,r){return"data:image/svg+xml;charset=UTF-8,".concat(encodeURIComponent(l.replace("%{w}",String(t)).replace("%{h}",String(e)).replace("%{f}",r)))},u=n.a.extend({name:"BImg",functional:!0,props:c,render:function(t,e){var r,n=e.props,a=e.data,l=n.src,c=parseInt(n.width,10)?parseInt(n.width,10):null,u=parseInt(n.height,10)?parseInt(n.height,10):null,p=null,f=n.block;return n.blank&&(!u&&Boolean(c)?u=c:!c&&Boolean(u)&&(c=u),c||u||(c=1,u=1),l=d(c,u,n.blankColor||"transparent")),n.left?p="float-left":n.right?p="float-right":n.center&&(p="mx-auto",f=!0),t("img",Object(i.a)(a,{attrs:{src:l,alt:n.alt,width:c?String(c):null,height:u?String(u):null},class:(r={"img-thumbnail":n.thumbnail,"img-fluid":n.fluid||n.fluidGrow,"w-100":n.fluidGrow,rounded:""===n.rounded||!0===n.rounded},o(r,"rounded-".concat(n.rounded),Object(s.m)(n.rounded)&&""!==n.rounded),o(r,p,Boolean(p)),o(r,"d-block",f),r)}))}})},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){i(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var a=r(6),s=r(13),l=function(t,e,r){if(t=t?t.$el||t:null,!Object(a.o)(t))return null;if(Object(s.c)("observeDom"))return null;var o=new a.a(function(t){for(var r=!1,o=0;o<t.length&&!r;o++){var n=t[o],i=n.type,a=n.target;"characterData"===i&&a.nodeType===Node.TEXT_NODE?r=!0:"attributes"===i?r=!0:"childList"===i&&(n.addedNodes.length>0||n.removedNodes.length>0)&&(r=!0)}r&&e()});return o.observe(t,n({childList:!0,subtree:!0},r)),o};e.a=l},function(t,e,r){"use strict";r.d(e,"a",function(){return p});var o=r(64),n=r(128),i=r(129),a=r(130),s=r(131),l=r(132),c=r(133),d=r(134),u=r(3),p=Object(u.b)({components:{BDropdown:o.a,BDd:o.a,BDropdownItem:n.a,BDdItem:n.a,BDropdownItemButton:i.a,BDropdownItemBtn:i.a,BDdItemButton:i.a,BDdItemBtn:i.a,BDropdownHeader:a.a,BDdHeader:a.a,BDropdownDivider:s.a,BDdDivider:s.a,BDropdownForm:l.a,BDdForm:l.a,BDropdownText:c.a,BDdText:c.a,BDropdownGroup:d.a,BDdGroup:d.a}})},function(t,e,r){"use strict";function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function n(t,e){for(var r=0;r<e.length;r++){var o=e[r];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}function i(t,e,r){return e&&n(t.prototype,e),r&&n(t,r),t}r.d(e,"a",function(){return s});var a=r(8),s=function(){function t(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(o(this,t),!e)throw new TypeError("Failed to construct '".concat(this.constructor.name,"'. 1 argument required, ").concat(arguments.length," given."));Object(a.a)(this,t.Defaults,this.constructor.Defaults,r,{type:e}),Object(a.d)(this,{type:Object(a.l)(),cancelable:Object(a.l)(),nativeEvent:Object(a.l)(),target:Object(a.l)(),relatedTarget:Object(a.l)(),vueTarget:Object(a.l)(),componentId:Object(a.l)()});var n=!1;this.preventDefault=function(){this.cancelable&&(n=!0)},Object(a.e)(this,"defaultPrevented",{enumerable:!0,get:function(){return n}})}return i(t,null,[{key:"Defaults",get:function(){return{type:"",cancelable:!0,nativeEvent:null,target:null,relatedTarget:null,vueTarget:null,componentId:null}}}]),t}()},function(t,e,r){"use strict";r.d(e,"b",function(){return i}),r.d(e,"a",function(){return a});var o=r(0),n=r(2),i={id:{type:String,default:null},inline:{type:Boolean,default:!1},novalidate:{type:Boolean,default:!1},validated:{type:Boolean,default:!1}},a=o.a.extend({name:"BForm",functional:!0,props:i,render:function(t,e){var r=e.props,o=e.data,i=e.children;return t("form",Object(n.a)(o,{class:{"form-inline":r.inline,"was-validated":r.validated},attrs:{id:r.id,novalidate:r.novalidate}}),i)}})},function(t,e,r){"use strict";var o=r(11),n=r(1),i=r(8);e.a={props:{options:{type:[Array,Object],default:function(){return[]}},valueField:{type:String,default:"value"},textField:{type:String,default:"text"},htmlField:{type:String,default:"html"},disabledField:{type:String,default:"disabled"}},computed:{formOptions:function(){var t=this.options,e=this.valueField,r=this.textField,a=this.htmlField,s=this.disabledField;return Object(n.a)(t)?t.map(function(t){if(Object(n.j)(t)){var i=t[e],l=String(t[r]);return{value:Object(n.n)(i)?l:i,text:Object(o.b)(l),html:t[a],disabled:Boolean(t[s])}}return{value:t,text:Object(o.b)(String(t)),disabled:!1}}):Object(i.j)(t).map(function(i){var l=t[i]||{};if(Object(n.j)(l)){var c=l[e],d=l[r];return{value:Object(n.n)(c)?i:c,text:Object(n.n)(d)?Object(o.b)(String(i)):Object(o.b)(String(d)),html:l[a],disabled:Boolean(l[s])}}return{value:i,text:Object(o.b)(String(l)),disabled:!1}})}}}},function(t,e,r){"use strict";r.d(e,"a",function(){return a});var o=r(0),n=r(2),i={tag:{type:String,default:"div"}},a=o.a.extend({name:"BFormRow",functional:!0,props:i,render:function(t,e){var r=e.props,o=e.data,i=e.children;return t(r.tag,Object(n.a)(o,{staticClass:"form-row"}),i)}})},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"b",function(){return l}),r.d(e,"a",function(){return c});var i=r(0),a=r(2),s=r(46),l={id:{type:String,default:null},tag:{type:String,default:"div"},isText:{type:Boolean,default:!1}},c=i.a.extend({name:"BInputGroupAddon",functional:!0,props:function(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){n(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}({},l,{append:{type:Boolean,default:!1}}),render:function(t,e){var r=e.props,o=e.data,n=e.children;return t(r.tag,Object(a.a)(o,{class:{"input-group-append":r.append,"input-group-prepend":!r.append},attrs:{id:r.id}}),r.isText?[t(s.a,n)]:n)}})},function(t,e,r){"use strict";r.d(e,"a",function(){return a});var o=r(0),n=r(2),i={tag:{type:String,default:"div"}},a=o.a.extend({name:"BInputGroupText",functional:!0,props:i,render:function(t,e){var r=e.props,o=e.data,i=e.children;return t(r.tag,Object(n.a)(o,{staticClass:"input-group-text"}),i)}})},function(t,e,r){"use strict";function o(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"b",function(){return a}),r.d(e,"a",function(){return l});var n=r(0),i=r(2),a={tag:{type:String,default:"ul"},fill:{type:Boolean,default:!1},justified:{type:Boolean,default:!1},align:{type:String,default:null},tabs:{type:Boolean,default:!1},pills:{type:Boolean,default:!1},vertical:{type:Boolean,default:!1},small:{type:Boolean,default:!1},cardHeader:{type:Boolean,default:!1}},s=function(t){return t="left"===t?"start":"right"===t?"end":t,"justify-content-".concat(t)},l=n.a.extend({name:"BNav",functional:!0,props:a,render:function(t,e){var r,n=e.props,a=e.data,l=e.children;return t(n.tag,Object(i.a)(a,{staticClass:"nav",class:(r={"nav-tabs":n.tabs,"nav-pills":n.pills&&!n.tabs,"card-header-tabs":!n.vertical&&n.cardHeader&&n.tabs,"card-header-pills":!n.vertical&&n.cardHeader&&n.pills&&!n.tabs,"flex-column":n.vertical,"nav-fill":!n.vertical&&n.fill,"nav-justified":!n.vertical&&n.justified},o(r,s(n.align),!n.vertical&&n.align),o(r,"small",n.small),r)}),l)}})},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){i(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"a",function(){return c});var a=r(0),s=r(5),l={footVariant:{type:String,default:null}},c=a.a.extend({name:"BTfoot",mixins:[s.a],inheritAttrs:!1,provide:function(){return{bvTableRowGroup:this}},inject:{bvTable:{default:function(){return{}}}},props:l,computed:{isTfoot:function(){return!0},isDark:function(){return this.bvTable.dark},isStacked:function(){return this.bvTable.isStacked},isResponsive:function(){return this.bvTable.isResponsive},isStickyHeader:function(){return!1},tableVariant:function(){return this.bvTable.tableVariant},tfootClasses:function(){return[this.footVariant?"thead-".concat(this.footVariant):null]},tfootAttrs:function(){return n({role:"rowgroup"},this.$attrs)}},render:function(t){return t("tfoot",{class:this.tfootClasses,attrs:this.tfootAttrs,on:this.$listeners},this.normalizeSlot("default",{}))}})},function(t,e,r){"use strict";r.d(e,"a",function(){return i});var o=r(0),n=r(28),i=o.a.extend({name:"BTh",extends:n.a,computed:{tag:function(){return"th"}}})},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t,r){function o(t){return void 0===t||null===t}function n(t){return void 0!==t&&null!==t}function i(t){return!0===t}function a(t){return!1===t}function s(t){return"string"==typeof t||"number"==typeof t||"symbol"==typeof t||"boolean"==typeof t}function l(t){return null!==t&&"object"==typeof t}function c(t){return"[object Object]"===Si.call(t)}function d(t){return"[object RegExp]"===Si.call(t)}function u(t){var e=parseFloat(String(t));return e>=0&&Math.floor(e)===e&&isFinite(t)}function p(t){return n(t)&&"function"==typeof t.then&&"function"==typeof t.catch}function f(t){return null==t?"":Array.isArray(t)||c(t)&&t.toString===Si?JSON.stringify(t,null,2):String(t)}function b(t){var e=parseFloat(t);return isNaN(e)?t:e}function m(t,e){for(var r=Object.create(null),o=t.split(","),n=0;n<o.length;n++)r[o[n]]=!0;return e?function(t){return r[t.toLowerCase()]}:function(t){return r[t]}}function h(t,e){if(t.length){var r=t.indexOf(e);if(r>-1)return t.splice(r,1)}}function g(t,e){return Pi.call(t,e)}function v(t){var e=Object.create(null);return function(r){return e[r]||(e[r]=t(r))}}function y(t,e){function r(r){var o=arguments.length;return o?o>1?t.apply(e,arguments):t.call(e,r):t.call(e)}return r._length=t.length,r}function w(t,e){return t.bind(e)}function x(t,e){e=e||0;for(var r=t.length-e,o=new Array(r);r--;)o[r]=t[r+e];return o}function O(t,e){for(var r in e)t[r]=e[r];return t}function k(t){for(var e={},r=0;r<t.length;r++)t[r]&&O(e,t[r]);return e}function j(t,e,r){}function S(t,e){if(t===e)return!0;var r=l(t),o=l(e);if(!r||!o)return!r&&!o&&String(t)===String(e);try{var n=Array.isArray(t),i=Array.isArray(e);if(n&&i)return t.length===e.length&&t.every(function(t,r){return S(t,e[r])});if(t instanceof Date&&e instanceof Date)return t.getTime()===e.getTime();if(n||i)return!1;var a=Object.keys(t),s=Object.keys(e);return a.length===s.length&&a.every(function(r){return S(t[r],e[r])})}catch(t){return!1}}function _(t,e){for(var r=0;r<t.length;r++)if(S(t[r],e))return r;return-1}function T(t){var e=!1;return function(){e||(e=!0,t.apply(this,arguments))}}function P(t){var e=(t+"").charCodeAt(0);return 36===e||95===e}function C(t,e,r,o){Object.defineProperty(t,e,{value:r,enumerable:!!o,writable:!0,configurable:!0})}function $(t){if(!Vi.test(t)){var e=t.split(".");return function(t){for(var r=0;r<e.length;r++){if(!t)return;t=t[e[r]]}return t}}}function B(t){return"function"==typeof t&&/native code/.test(t.toString())}function E(t){da.push(t),ca.target=t}function D(){da.pop(),ca.target=da[da.length-1]}function A(t){return new ua(void 0,void 0,void 0,String(t))}function I(t){var e=new ua(t.tag,t.data,t.children&&t.children.slice(),t.text,t.elm,t.context,t.componentOptions,t.asyncFactory);return e.ns=t.ns,e.isStatic=t.isStatic,e.key=t.key,e.isComment=t.isComment,e.fnContext=t.fnContext,e.fnOptions=t.fnOptions,e.fnScopeId=t.fnScopeId,e.asyncMeta=t.asyncMeta,e.isCloned=!0,e}function z(t){ga=t}function F(t,e){t.__proto__=e}function N(t,e,r){for(var o=0,n=r.length;o<n;o++){var i=r[o];C(t,i,e[i])}}function L(t,e){if(l(t)&&!(t instanceof ua)){var r;return g(t,"__ob__")&&t.__ob__ instanceof va?r=t.__ob__:ga&&!na()&&(Array.isArray(t)||c(t))&&Object.isExtensible(t)&&!t._isVue&&(r=new va(t)),e&&r&&r.vmCount++,r}}function R(t,e,r,o,n){var i=new ca,a=Object.getOwnPropertyDescriptor(t,e);if(!a||!1!==a.configurable){var s=a&&a.get,l=a&&a.set;s&&!l||2!==arguments.length||(r=t[e]);var c=!n&&L(r);Object.defineProperty(t,e,{enumerable:!0,configurable:!0,get:function(){var e=s?s.call(t):r;return ca.target&&(i.depend(),c&&(c.dep.depend(),Array.isArray(e)&&H(e))),e},set:function(e){var o=s?s.call(t):r;e===o||e!==e&&o!==o||s&&!l||(l?l.call(t,e):r=e,c=!n&&L(e),i.notify())}})}}function M(t,e,r){if(Array.isArray(t)&&u(e))return t.length=Math.max(t.length,e),t.splice(e,1,r),r;if(e in t&&!(e in Object.prototype))return t[e]=r,r;var o=t.__ob__;return t._isVue||o&&o.vmCount?r:o?(R(o.value,e,r),o.dep.notify(),r):(t[e]=r,r)}function V(t,e){if(Array.isArray(t)&&u(e))return void t.splice(e,1);var r=t.__ob__;t._isVue||r&&r.vmCount||g(t,e)&&(delete t[e],r&&r.dep.notify())}function H(t){for(var e=void 0,r=0,o=t.length;r<o;r++)e=t[r],e&&e.__ob__&&e.__ob__.dep.depend(),Array.isArray(e)&&H(e)}function G(t,e){if(!e)return t;for(var r,o,n,i=aa?Reflect.ownKeys(e):Object.keys(e),a=0;a<i.length;a++)"__ob__"!==(r=i[a])&&(o=t[r],n=e[r],g(t,r)?o!==n&&c(o)&&c(n)&&G(o,n):M(t,r,n));return t}function U(t,e,r){return r?function(){var o="function"==typeof e?e.call(r,r):e,n="function"==typeof t?t.call(r,r):t;return o?G(o,n):n}:e?t?function(){return G("function"==typeof e?e.call(this,this):e,"function"==typeof t?t.call(this,this):t)}:e:t}function W(t,e){var r=e?t?t.concat(e):Array.isArray(e)?e:[e]:t;return r?q(r):r}function q(t){for(var e=[],r=0;r<t.length;r++)-1===e.indexOf(t[r])&&e.push(t[r]);return e}function K(t,e,r,o){var n=Object.create(t||null);return e?O(n,e):n}function Z(t,e){var r=t.props;if(r){var o,n,i,a={};if(Array.isArray(r))for(o=r.length;o--;)"string"==typeof(n=r[o])&&(i=$i(n),a[i]={type:null});else if(c(r))for(var s in r)n=r[s],i=$i(s),a[i]=c(n)?n:{type:n};t.props=a}}function X(t,e){var r=t.inject;if(r){var o=t.inject={};if(Array.isArray(r))for(var n=0;n<r.length;n++)o[r[n]]={from:r[n]};else if(c(r))for(var i in r){var a=r[i];o[i]=c(a)?O({from:i},a):{from:a}}}}function J(t){var e=t.directives;if(e)for(var r in e){var o=e[r];"function"==typeof o&&(e[r]={bind:o,update:o})}}function Y(t,e,r){function o(o){var n=ya[o]||xa;s[o]=n(t[o],e[o],r,o)}if("function"==typeof e&&(e=e.options),Z(e,r),X(e,r),J(e),!e._base&&(e.extends&&(t=Y(t,e.extends,r)),e.mixins))for(var n=0,i=e.mixins.length;n<i;n++)t=Y(t,e.mixins[n],r);var a,s={};for(a in t)o(a);for(a in e)g(t,a)||o(a);return s}function Q(t,e,r,o){if("string"==typeof r){var n=t[e];if(g(n,r))return n[r];var i=$i(r);if(g(n,i))return n[i];var a=Bi(i);if(g(n,a))return n[a];return n[r]||n[i]||n[a]}}function tt(t,e,r,o){var n=e[t],i=!g(r,t),a=r[t],s=nt(Boolean,n.type);if(s>-1)if(i&&!g(n,"default"))a=!1;else if(""===a||a===Di(t)){var l=nt(String,n.type);(l<0||s<l)&&(a=!0)}if(void 0===a){a=et(o,n,t);var c=ga;z(!0),L(a),z(c)}return a}function et(t,e,r){if(g(e,"default")){var o=e.default;return t&&t.$options.propsData&&void 0===t.$options.propsData[r]&&void 0!==t._props[r]?t._props[r]:"function"==typeof o&&"Function"!==rt(e.type)?o.call(t):o}}function rt(t){var e=t&&t.toString().match(/^\s*function (\w+)/);return e?e[1]:""}function ot(t,e){return rt(t)===rt(e)}function nt(t,e){if(!Array.isArray(e))return ot(e,t)?0:-1;for(var r=0,o=e.length;r<o;r++)if(ot(e[r],t))return r;return-1}function it(t,e,r){E();try{if(e)for(var o=e;o=o.$parent;){var n=o.$options.errorCaptured;if(n)for(var i=0;i<n.length;i++)try{var a=!1===n[i].call(o,t,e,r);if(a)return}catch(t){st(t,o,"errorCaptured hook")}}st(t,e,r)}finally{D()}}function at(t,e,r,o,n){var i;try{i=r?t.apply(e,r):t.call(e),i&&!i._isVue&&p(i)&&!i._handled&&(i.catch(function(t){return it(t,o,n+" (Promise/async)")}),i._handled=!0)}catch(t){it(t,o,n)}return i}function st(t,e,r){if(Ri.errorHandler)try{return Ri.errorHandler.call(null,t,e,r)}catch(e){e!==t&&lt(e,null,"config.errorHandler")}lt(t,e,r)}function lt(t,e,r){if(!Gi&&!Ui||"undefined"==typeof console)throw t;console.error(t)}function ct(){ja=!1;var t=ka.slice(0);ka.length=0;for(var e=0;e<t.length;e++)t[e]()}function dt(t,e){var r;if(ka.push(function(){if(t)try{t.call(e)}catch(t){it(t,e,"nextTick")}else r&&r(e)}),ja||(ja=!0,wa()),!t&&"undefined"!=typeof Promise)return new Promise(function(t){r=t})}function ut(t){pt(t,Ca),Ca.clear()}function pt(t,e){var r,o,n=Array.isArray(t);if(!(!n&&!l(t)||Object.isFrozen(t)||t instanceof ua)){if(t.__ob__){var i=t.__ob__.dep.id;if(e.has(i))return;e.add(i)}if(n)for(r=t.length;r--;)pt(t[r],e);else for(o=Object.keys(t),r=o.length;r--;)pt(t[o[r]],e)}}function ft(t,e){function r(){var t=arguments,o=r.fns;if(!Array.isArray(o))return at(o,null,arguments,e,"v-on handler");for(var n=o.slice(),i=0;i<n.length;i++)at(n[i],null,t,e,"v-on handler")}return r.fns=t,r}function bt(t,e,r,n,a,s){var l,c,d,u;for(l in t)c=t[l],d=e[l],u=$a(l),o(c)||(o(d)?(o(c.fns)&&(c=t[l]=ft(c,s)),i(u.once)&&(c=t[l]=a(u.name,c,u.capture)),r(u.name,c,u.capture,u.passive,u.params)):c!==d&&(d.fns=c,t[l]=d));for(l in e)o(t[l])&&(u=$a(l),n(u.name,e[l],u.capture))}function mt(t,e,r){function a(){r.apply(this,arguments),h(s.fns,a)}t instanceof ua&&(t=t.data.hook||(t.data.hook={}));var s,l=t[e];o(l)?s=ft([a]):n(l.fns)&&i(l.merged)?(s=l,s.fns.push(a)):s=ft([l,a]),s.merged=!0,t[e]=s}function ht(t,e,r){var i=e.options.props;if(!o(i)){var a={},s=t.attrs,l=t.props;if(n(s)||n(l))for(var c in i){var d=Di(c);gt(a,l,c,d,!0)||gt(a,s,c,d,!1)}return a}}function gt(t,e,r,o,i){if(n(e)){if(g(e,r))return t[r]=e[r],i||delete e[r],!0;if(g(e,o))return t[r]=e[o],i||delete e[o],!0}return!1}function vt(t){for(var e=0;e<t.length;e++)if(Array.isArray(t[e]))return Array.prototype.concat.apply([],t);return t}function yt(t){return s(t)?[A(t)]:Array.isArray(t)?xt(t):void 0}function wt(t){return n(t)&&n(t.text)&&a(t.isComment)}function xt(t,e){var r,a,l,c,d=[];for(r=0;r<t.length;r++)a=t[r],o(a)||"boolean"==typeof a||(l=d.length-1,c=d[l],Array.isArray(a)?a.length>0&&(a=xt(a,(e||"")+"_"+r),wt(a[0])&&wt(c)&&(d[l]=A(c.text+a[0].text),a.shift()),d.push.apply(d,a)):s(a)?wt(c)?d[l]=A(c.text+a):""!==a&&d.push(A(a)):wt(a)&&wt(c)?d[l]=A(c.text+a.text):(i(t._isVList)&&n(a.tag)&&o(a.key)&&n(e)&&(a.key="__vlist"+e+"_"+r+"__"),d.push(a)));return d}function Ot(t){var e=t.$options.provide;e&&(t._provided="function"==typeof e?e.call(t):e)}function kt(t){var e=jt(t.$options.inject,t);e&&(z(!1),Object.keys(e).forEach(function(r){R(t,r,e[r])}),z(!0))}function jt(t,e){if(t){for(var r=Object.create(null),o=aa?Reflect.ownKeys(t):Object.keys(t),n=0;n<o.length;n++){var i=o[n];if("__ob__"!==i){for(var a=t[i].from,s=e;s;){if(s._provided&&g(s._provided,a)){r[i]=s._provided[a];break}s=s.$parent}if(!s&&"default"in t[i]){var l=t[i].default;r[i]="function"==typeof l?l.call(e):l}}}return r}}function St(t,e){if(!t||!t.length)return{};for(var r={},o=0,n=t.length;o<n;o++){var i=t[o],a=i.data;if(a&&a.attrs&&a.attrs.slot&&delete a.attrs.slot,i.context!==e&&i.fnContext!==e||!a||null==a.slot)(r.default||(r.default=[])).push(i);else{var s=a.slot,l=r[s]||(r[s]=[]);"template"===i.tag?l.push.apply(l,i.children||[]):l.push(i)}}for(var c in r)r[c].every(_t)&&delete r[c];return r}function _t(t){return t.isComment&&!t.asyncFactory||" "===t.text}function Tt(t,e,r){var o,n=Object.keys(e).length>0,i=t?!!t.$stable:!n,a=t&&t.$key;if(t){if(t._normalized)return t._normalized;if(i&&r&&r!==ji&&a===r.$key&&!n&&!r.$hasNormal)return r;o={};for(var s in t)t[s]&&"$"!==s[0]&&(o[s]=Pt(e,s,t[s]))}else o={};for(var l in e)l in o||(o[l]=Ct(e,l));return t&&Object.isExtensible(t)&&(t._normalized=o),C(o,"$stable",i),C(o,"$key",a),C(o,"$hasNormal",n),o}function Pt(t,e,r){var o=function(){var t=arguments.length?r.apply(null,arguments):r({});return t=t&&"object"==typeof t&&!Array.isArray(t)?[t]:yt(t),t&&(0===t.length||1===t.length&&t[0].isComment)?void 0:t};return r.proxy&&Object.defineProperty(t,e,{get:o,enumerable:!0,configurable:!0}),o}function Ct(t,e){return function(){return t[e]}}function $t(t,e){var r,o,i,a,s;if(Array.isArray(t)||"string"==typeof t)for(r=new Array(t.length),o=0,i=t.length;o<i;o++)r[o]=e(t[o],o);else if("number"==typeof t)for(r=new Array(t),o=0;o<t;o++)r[o]=e(o+1,o);else if(l(t))if(aa&&t[Symbol.iterator]){r=[];for(var c=t[Symbol.iterator](),d=c.next();!d.done;)r.push(e(d.value,r.length)),d=c.next()}else for(a=Object.keys(t),r=new Array(a.length),o=0,i=a.length;o<i;o++)s=a[o],r[o]=e(t[s],s,o);return n(r)||(r=[]),r._isVList=!0,r}function Bt(t,e,r,o){var n,i=this.$scopedSlots[t];i?(r=r||{},o&&(r=O(O({},o),r)),n=i(r)||e):n=this.$slots[t]||e;var a=r&&r.slot;return a?this.$createElement("template",{slot:a},n):n}function Et(t){return Q(this.$options,"filters",t,!0)||zi}function Dt(t,e){return Array.isArray(t)?-1===t.indexOf(e):t!==e}function At(t,e,r,o,n){var i=Ri.keyCodes[e]||r;return n&&o&&!Ri.keyCodes[e]?Dt(n,o):i?Dt(i,t):o?Di(o)!==e:void 0}function It(t,e,r,o,n){if(r)if(l(r)){Array.isArray(r)&&(r=k(r));var i;for(var a in r)!function(a){if("class"===a||"style"===a||Ti(a))i=t;else{var s=t.attrs&&t.attrs.type;i=o||Ri.mustUseProp(e,s,a)?t.domProps||(t.domProps={}):t.attrs||(t.attrs={})}var l=$i(a),c=Di(a);if(!(l in i||c in i)&&(i[a]=r[a],n)){(t.on||(t.on={}))["update:"+a]=function(t){r[a]=t}}}(a)}else;return t}function zt(t,e){var r=this._staticTrees||(this._staticTrees=[]),o=r[t];return o&&!e?o:(o=r[t]=this.$options.staticRenderFns[t].call(this._renderProxy,null,this),Nt(o,"__static__"+t,!1),o)}function Ft(t,e,r){return Nt(t,"__once__"+e+(r?"_"+r:""),!0),t}function Nt(t,e,r){if(Array.isArray(t))for(var o=0;o<t.length;o++)t[o]&&"string"!=typeof t[o]&&Lt(t[o],e+"_"+o,r);else Lt(t,e,r)}function Lt(t,e,r){t.isStatic=!0,t.key=e,t.isOnce=r}function Rt(t,e){if(e)if(c(e)){var r=t.on=t.on?O({},t.on):{};for(var o in e){var n=r[o],i=e[o];r[o]=n?[].concat(n,i):i}}else;return t}function Mt(t,e,r,o){e=e||{$stable:!r};for(var n=0;n<t.length;n++){var i=t[n];Array.isArray(i)?Mt(i,e,r):i&&(i.proxy&&(i.fn.proxy=!0),e[i.key]=i.fn)}return o&&(e.$key=o),e}function Vt(t,e){for(var r=0;r<e.length;r+=2){var o=e[r];"string"==typeof o&&o&&(t[e[r]]=e[r+1])}return t}function Ht(t,e){return"string"==typeof t?e+t:t}function Gt(t){t._o=Ft,t._n=b,t._s=f,t._l=$t,t._t=Bt,t._q=S,t._i=_,t._m=zt,t._f=Et,t._k=At,t._b=It,t._v=A,t._e=fa,t._u=Mt,t._g=Rt,t._d=Vt,t._p=Ht}function Ut(t,e,r,o,n){var a,s=this,l=n.options;g(o,"_uid")?(a=Object.create(o),a._original=o):(a=o,o=o._original);var c=i(l._compiled),d=!c;this.data=t,this.props=e,this.children=r,this.parent=o,this.listeners=t.on||ji,this.injections=jt(l.inject,o),this.slots=function(){return s.$slots||Tt(t.scopedSlots,s.$slots=St(r,o)),s.$slots},Object.defineProperty(this,"scopedSlots",{enumerable:!0,get:function(){return Tt(t.scopedSlots,this.slots())}}),c&&(this.$options=l,this.$slots=this.slots(),this.$scopedSlots=Tt(t.scopedSlots,this.$slots)),l._scopeId?this._c=function(t,e,r,n){var i=te(a,t,e,r,n,d);return i&&!Array.isArray(i)&&(i.fnScopeId=l._scopeId,i.fnContext=o),i}:this._c=function(t,e,r,o){return te(a,t,e,r,o,d)}}function Wt(t,e,r,o,i){var a=t.options,s={},l=a.props;if(n(l))for(var c in l)s[c]=tt(c,l,e||ji);else n(r.attrs)&&Kt(s,r.attrs),n(r.props)&&Kt(s,r.props);var d=new Ut(r,s,i,o,t),u=a.render.call(null,d._c,d);if(u instanceof ua)return qt(u,r,d.parent,a,d);if(Array.isArray(u)){for(var p=yt(u)||[],f=new Array(p.length),b=0;b<p.length;b++)f[b]=qt(p[b],r,d.parent,a,d);return f}}function qt(t,e,r,o,n){var i=I(t);return i.fnContext=r,i.fnOptions=o,e.slot&&((i.data||(i.data={})).slot=e.slot),i}function Kt(t,e){for(var r in e)t[$i(r)]=e[r]}function Zt(t,e,r,a,s){if(!o(t)){var c=r.$options._base;if(l(t)&&(t=c.extend(t)),"function"==typeof t){var d;if(o(t.cid)&&(d=t,void 0===(t=se(d,c))))return ae(d,e,r,a,s);e=e||{},Ve(t),n(e.model)&&Qt(t.options,e);var u=ht(e,t,s);if(i(t.options.functional))return Wt(t,u,e,r,a);var p=e.on;if(e.on=e.nativeOn,i(t.options.abstract)){var f=e.slot;e={},f&&(e.slot=f)}Jt(e);var b=t.options.name||s;return new ua("vue-component-"+t.cid+(b?"-"+b:""),e,void 0,void 0,void 0,r,{Ctor:t,propsData:u,listeners:p,tag:s,children:a},d)}}}function Xt(t,e){var r={_isComponent:!0,_parentVnode:t,parent:e},o=t.data.inlineTemplate;return n(o)&&(r.render=o.render,r.staticRenderFns=o.staticRenderFns),new t.componentOptions.Ctor(r)}function Jt(t){for(var e=t.hook||(t.hook={}),r=0;r<Da.length;r++){var o=Da[r],n=e[o],i=Ea[o];n===i||n&&n._merged||(e[o]=n?Yt(i,n):i)}}function Yt(t,e){var r=function(r,o){t(r,o),e(r,o)};return r._merged=!0,r}function Qt(t,e){var r=t.model&&t.model.prop||"value",o=t.model&&t.model.event||"input";(e.attrs||(e.attrs={}))[r]=e.model.value;var i=e.on||(e.on={}),a=i[o],s=e.model.callback;n(a)?(Array.isArray(a)?-1===a.indexOf(s):a!==s)&&(i[o]=[s].concat(a)):i[o]=s}function te(t,e,r,o,n,a){return(Array.isArray(r)||s(r))&&(n=o,o=r,r=void 0),i(a)&&(n=Ia),ee(t,e,r,o,n)}function ee(t,e,r,o,i){if(n(r)&&n(r.__ob__))return fa();if(n(r)&&n(r.is)&&(e=r.is),!e)return fa();Array.isArray(o)&&"function"==typeof o[0]&&(r=r||{},r.scopedSlots={default:o[0]},o.length=0),i===Ia?o=yt(o):i===Aa&&(o=vt(o));var a,s;if("string"==typeof e){var l;s=t.$vnode&&t.$vnode.ns||Ri.getTagNamespace(e),a=Ri.isReservedTag(e)?new ua(Ri.parsePlatformTagName(e),r,o,void 0,void 0,t):r&&r.pre||!n(l=Q(t.$options,"components",e))?new ua(e,r,o,void 0,void 0,t):Zt(l,r,t,o,e)}else a=Zt(e,r,t,o);return Array.isArray(a)?a:n(a)?(n(s)&&re(a,s),n(r)&&oe(r),a):fa()}function re(t,e,r){if(t.ns=e,"foreignObject"===t.tag&&(e=void 0,r=!0),n(t.children))for(var a=0,s=t.children.length;a<s;a++){var l=t.children[a];n(l.tag)&&(o(l.ns)||i(r)&&"svg"!==l.tag)&&re(l,e,r)}}function oe(t){l(t.style)&&ut(t.style),l(t.class)&&ut(t.class)}function ne(t){t._vnode=null,t._staticTrees=null;var e=t.$options,r=t.$vnode=e._parentVnode,o=r&&r.context;t.$slots=St(e._renderChildren,o),t.$scopedSlots=ji,t._c=function(e,r,o,n){return te(t,e,r,o,n,!1)},t.$createElement=function(e,r,o,n){return te(t,e,r,o,n,!0)};var n=r&&r.data;R(t,"$attrs",n&&n.attrs||ji,null,!0),R(t,"$listeners",e._parentListeners||ji,null,!0)}function ie(t,e){return(t.__esModule||aa&&"Module"===t[Symbol.toStringTag])&&(t=t.default),l(t)?e.extend(t):t}function ae(t,e,r,o,n){var i=fa();return i.asyncFactory=t,i.asyncMeta={data:e,context:r,children:o,tag:n},i}function se(t,e){if(i(t.error)&&n(t.errorComp))return t.errorComp;if(n(t.resolved))return t.resolved;var r=za;if(r&&n(t.owners)&&-1===t.owners.indexOf(r)&&t.owners.push(r),i(t.loading)&&n(t.loadingComp))return t.loadingComp;if(r&&!n(t.owners)){var a=t.owners=[r],s=!0,c=null,d=null;r.$on("hook:destroyed",function(){return h(a,r)});var u=function(t){for(var e=0,r=a.length;e<r;e++)a[e].$forceUpdate();t&&(a.length=0,null!==c&&(clearTimeout(c),c=null),null!==d&&(clearTimeout(d),d=null))},f=T(function(r){t.resolved=ie(r,e),s?a.length=0:u(!0)}),b=T(function(e){n(t.errorComp)&&(t.error=!0,u(!0))}),m=t(f,b);return l(m)&&(p(m)?o(t.resolved)&&m.then(f,b):p(m.component)&&(m.component.then(f,b),n(m.error)&&(t.errorComp=ie(m.error,e)),n(m.loading)&&(t.loadingComp=ie(m.loading,e),0===m.delay?t.loading=!0:c=setTimeout(function(){c=null,o(t.resolved)&&o(t.error)&&(t.loading=!0,u(!1))},m.delay||200)),n(m.timeout)&&(d=setTimeout(function(){d=null,o(t.resolved)&&b(null)},m.timeout)))),s=!1,t.loading?t.loadingComp:t.resolved}}function le(t){return t.isComment&&t.asyncFactory}function ce(t){if(Array.isArray(t))for(var e=0;e<t.length;e++){var r=t[e];if(n(r)&&(n(r.componentOptions)||le(r)))return r}}function de(t){t._events=Object.create(null),t._hasHookEvent=!1;var e=t.$options._parentListeners;e&&be(t,e)}function ue(t,e){Ba.$on(t,e)}function pe(t,e){Ba.$off(t,e)}function fe(t,e){var r=Ba;return function o(){null!==e.apply(null,arguments)&&r.$off(t,o)}}function be(t,e,r){Ba=t,bt(e,r||{},ue,pe,fe,t),Ba=void 0}function me(t){var e=Fa;return Fa=t,function(){Fa=e}}function he(t){var e=t.$options,r=e.parent;if(r&&!e.abstract){for(;r.$options.abstract&&r.$parent;)r=r.$parent;r.$children.push(t)}t.$parent=r,t.$root=r?r.$root:t,t.$children=[],t.$refs={},t._watcher=null,t._inactive=null,t._directInactive=!1,t._isMounted=!1,t._isDestroyed=!1,t._isBeingDestroyed=!1}function ge(t,e,r){t.$el=e,t.$options.render||(t.$options.render=fa),Oe(t,"beforeMount");var o;return o=function(){t._update(t._render(),r)},new Ka(t,o,j,{before:function(){t._isMounted&&!t._isDestroyed&&Oe(t,"beforeUpdate")}},!0),r=!1,null==t.$vnode&&(t._isMounted=!0,Oe(t,"mounted")),t}function ve(t,e,r,o,n){var i=o.data.scopedSlots,a=t.$scopedSlots,s=!!(i&&!i.$stable||a!==ji&&!a.$stable||i&&t.$scopedSlots.$key!==i.$key),l=!!(n||t.$options._renderChildren||s);if(t.$options._parentVnode=o,t.$vnode=o,t._vnode&&(t._vnode.parent=o),t.$options._renderChildren=n,t.$attrs=o.data.attrs||ji,t.$listeners=r||ji,e&&t.$options.props){z(!1);for(var c=t._props,d=t.$options._propKeys||[],u=0;u<d.length;u++){var p=d[u],f=t.$options.props;c[p]=tt(p,f,e,t)}z(!0),t.$options.propsData=e}r=r||ji;var b=t.$options._parentListeners;t.$options._parentListeners=r,be(t,r,b),l&&(t.$slots=St(n,o.context),t.$forceUpdate())}function ye(t){for(;t&&(t=t.$parent);)if(t._inactive)return!0;return!1}function we(t,e){if(e){if(t._directInactive=!1,ye(t))return}else if(t._directInactive)return;if(t._inactive||null===t._inactive){t._inactive=!1;for(var r=0;r<t.$children.length;r++)we(t.$children[r]);Oe(t,"activated")}}function xe(t,e){if(!(e&&(t._directInactive=!0,ye(t))||t._inactive)){t._inactive=!0;for(var r=0;r<t.$children.length;r++)xe(t.$children[r]);Oe(t,"deactivated")}}function Oe(t,e){E();var r=t.$options[e],o=e+" hook";if(r)for(var n=0,i=r.length;n<i;n++)at(r[n],t,null,t,o);t._hasHookEvent&&t.$emit("hook:"+e),D()}function ke(){Ha=Na.length=La.length=0,Ra={},Ma=Va=!1}function je(){Ga=Ua(),Va=!0;var t,e;for(Na.sort(function(t,e){return t.id-e.id}),Ha=0;Ha<Na.length;Ha++)t=Na[Ha],t.before&&t.before(),e=t.id,Ra[e]=null,t.run();var r=La.slice(),o=Na.slice();ke(),Te(r),Se(o),ia&&Ri.devtools&&ia.emit("flush")}function Se(t){for(var e=t.length;e--;){var r=t[e],o=r.vm;o._watcher===r&&o._isMounted&&!o._isDestroyed&&Oe(o,"updated")}}function _e(t){t._inactive=!1,La.push(t)}function Te(t){for(var e=0;e<t.length;e++)t[e]._inactive=!0,we(t[e],!0)}function Pe(t){var e=t.id;if(null==Ra[e]){if(Ra[e]=!0,Va){for(var r=Na.length-1;r>Ha&&Na[r].id>t.id;)r--;Na.splice(r+1,0,t)}else Na.push(t);Ma||(Ma=!0,dt(je))}}function Ce(t,e,r){Za.get=function(){return this[e][r]},Za.set=function(t){this[e][r]=t},Object.defineProperty(t,r,Za)}function $e(t){t._watchers=[];var e=t.$options;e.props&&Be(t,e.props),e.methods&&Ne(t,e.methods),e.data?Ee(t):L(t._data={},!0),e.computed&&Ae(t,e.computed),e.watch&&e.watch!==Qi&&Le(t,e.watch)}function Be(t,e){var r=t.$options.propsData||{},o=t._props={},n=t.$options._propKeys=[],i=!t.$parent;i||z(!1);for(var a in e)!function(i){n.push(i);var a=tt(i,e,r,t);R(o,i,a),i in t||Ce(t,"_props",i)}(a);z(!0)}function Ee(t){var e=t.$options.data;e=t._data="function"==typeof e?De(e,t):e||{},c(e)||(e={});for(var r=Object.keys(e),o=t.$options.props,n=(t.$options.methods,r.length);n--;){var i=r[n];o&&g(o,i)||P(i)||Ce(t,"_data",i)}L(e,!0)}function De(t,e){E();try{return t.call(e,e)}catch(t){return it(t,e,"data()"),{}}finally{D()}}function Ae(t,e){var r=t._computedWatchers=Object.create(null),o=na();for(var n in e){var i=e[n],a="function"==typeof i?i:i.get;o||(r[n]=new Ka(t,a||j,j,Xa)),n in t||Ie(t,n,i)}}function Ie(t,e,r){var o=!na();"function"==typeof r?(Za.get=o?ze(e):Fe(r),Za.set=j):(Za.get=r.get?o&&!1!==r.cache?ze(e):Fe(r.get):j,Za.set=r.set||j),Object.defineProperty(t,e,Za)}function ze(t){return function(){var e=this._computedWatchers&&this._computedWatchers[t];if(e)return e.dirty&&e.evaluate(),ca.target&&e.depend(),e.value}}function Fe(t){return function(){return t.call(this,this)}}function Ne(t,e){t.$options.props;for(var r in e)t[r]="function"!=typeof e[r]?j:Ai(e[r],t)}function Le(t,e){for(var r in e){var o=e[r];if(Array.isArray(o))for(var n=0;n<o.length;n++)Re(t,r,o[n]);else Re(t,r,o)}}function Re(t,e,r,o){return c(r)&&(o=r,r=r.handler),"string"==typeof r&&(r=t[r]),t.$watch(e,r,o)}function Me(t,e){var r=t.$options=Object.create(t.constructor.options),o=e._parentVnode;r.parent=e.parent,r._parentVnode=o;var n=o.componentOptions;r.propsData=n.propsData,r._parentListeners=n.listeners,r._renderChildren=n.children,r._componentTag=n.tag,e.render&&(r.render=e.render,r.staticRenderFns=e.staticRenderFns)}function Ve(t){var e=t.options;if(t.super){var r=Ve(t.super);if(r!==t.superOptions){t.superOptions=r;var o=He(t);o&&O(t.extendOptions,o),e=t.options=Y(r,t.extendOptions),e.name&&(e.components[e.name]=t)}}return e}function He(t){var e,r=t.options,o=t.sealedOptions;for(var n in r)r[n]!==o[n]&&(e||(e={}),e[n]=r[n]);return e}function Ge(t){this._init(t)}function Ue(t){t.use=function(t){var e=this._installedPlugins||(this._installedPlugins=[]);if(e.indexOf(t)>-1)return this;var r=x(arguments,1);return r.unshift(this),"function"==typeof t.install?t.install.apply(t,r):"function"==typeof t&&t.apply(null,r),e.push(t),this}}function We(t){t.mixin=function(t){return this.options=Y(this.options,t),this}}function qe(t){t.cid=0;var e=1;t.extend=function(t){t=t||{};var r=this,o=r.cid,n=t._Ctor||(t._Ctor={});if(n[o])return n[o];var i=t.name||r.options.name,a=function(t){this._init(t)};return a.prototype=Object.create(r.prototype),a.prototype.constructor=a,a.cid=e++,a.options=Y(r.options,t),a.super=r,a.options.props&&Ke(a),a.options.computed&&Ze(a),a.extend=r.extend,a.mixin=r.mixin,a.use=r.use,Ni.forEach(function(t){a[t]=r[t]}),i&&(a.options.components[i]=a),a.superOptions=r.options,a.extendOptions=t,a.sealedOptions=O({},a.options),n[o]=a,a}}function Ke(t){var e=t.options.props;for(var r in e)Ce(t.prototype,"_props",r)}function Ze(t){var e=t.options.computed;for(var r in e)Ie(t.prototype,r,e[r])}function Xe(t){Ni.forEach(function(e){t[e]=function(t,r){return r?("component"===e&&c(r)&&(r.name=r.name||t,r=this.options._base.extend(r)),"directive"===e&&"function"==typeof r&&(r={bind:r,update:r}),this.options[e+"s"][t]=r,r):this.options[e+"s"][t]}})}function Je(t){return t&&(t.Ctor.options.name||t.tag)}function Ye(t,e){return Array.isArray(t)?t.indexOf(e)>-1:"string"==typeof t?t.split(",").indexOf(e)>-1:!!d(t)&&t.test(e)}function Qe(t,e){var r=t.cache,o=t.keys,n=t._vnode;for(var i in r){var a=r[i];if(a){var s=Je(a.componentOptions);s&&!e(s)&&tr(r,i,o,n)}}}function tr(t,e,r,o){var n=t[e];!n||o&&n.tag===o.tag||n.componentInstance.$destroy(),t[e]=null,h(r,e)}function er(t){for(var e=t.data,r=t,o=t;n(o.componentInstance);)(o=o.componentInstance._vnode)&&o.data&&(e=rr(o.data,e));for(;n(r=r.parent);)r&&r.data&&(e=rr(e,r.data));return or(e.staticClass,e.class)}function rr(t,e){return{staticClass:nr(t.staticClass,e.staticClass),class:n(t.class)?[t.class,e.class]:e.class}}function or(t,e){return n(t)||n(e)?nr(t,ir(e)):""}function nr(t,e){return t?e?t+" "+e:t:e||""}function ir(t){return Array.isArray(t)?ar(t):l(t)?sr(t):"string"==typeof t?t:""}function ar(t){for(var e,r="",o=0,i=t.length;o<i;o++)n(e=ir(t[o]))&&""!==e&&(r&&(r+=" "),r+=e);return r}function sr(t){var e="";for(var r in t)t[r]&&(e&&(e+=" "),e+=r);return e}function lr(t){return js(t)?"svg":"math"===t?"math":void 0}function cr(t){if(!Gi)return!0;if(_s(t))return!1;if(t=t.toLowerCase(),null!=Ts[t])return Ts[t];var e=document.createElement(t);return t.indexOf("-")>-1?Ts[t]=e.constructor===window.HTMLUnknownElement||e.constructor===window.HTMLElement:Ts[t]=/HTMLUnknownElement/.test(e.toString())}function dr(t){if("string"==typeof t){var e=document.querySelector(t);return e||document.createElement("div")}return t}function ur(t,e){var r=document.createElement(t);return"select"!==t?r:(e.data&&e.data.attrs&&void 0!==e.data.attrs.multiple&&r.setAttribute("multiple","multiple"),r)}function pr(t,e){return document.createElementNS(Os[t],e)}function fr(t){return document.createTextNode(t)}function br(t){return document.createComment(t)}function mr(t,e,r){t.insertBefore(e,r)}function hr(t,e){t.removeChild(e)}function gr(t,e){t.appendChild(e)}function vr(t){return t.parentNode}function yr(t){return t.nextSibling}function wr(t){return t.tagName}function xr(t,e){t.textContent=e}function Or(t,e){t.setAttribute(e,"")}function kr(t,e){var r=t.data.ref;if(n(r)){var o=t.context,i=t.componentInstance||t.elm,a=o.$refs;e?Array.isArray(a[r])?h(a[r],i):a[r]===i&&(a[r]=void 0):t.data.refInFor?Array.isArray(a[r])?a[r].indexOf(i)<0&&a[r].push(i):a[r]=[i]:a[r]=i}}function jr(t,e){return t.key===e.key&&(t.tag===e.tag&&t.isComment===e.isComment&&n(t.data)===n(e.data)&&Sr(t,e)||i(t.isAsyncPlaceholder)&&t.asyncFactory===e.asyncFactory&&o(e.asyncFactory.error))}function Sr(t,e){if("input"!==t.tag)return!0;var r,o=n(r=t.data)&&n(r=r.attrs)&&r.type,i=n(r=e.data)&&n(r=r.attrs)&&r.type;return o===i||Ps(o)&&Ps(i)}function _r(t,e,r){var o,i,a={};for(o=e;o<=r;++o)i=t[o].key,n(i)&&(a[i]=o);return a}function Tr(t,e){(t.data.directives||e.data.directives)&&Pr(t,e)}function Pr(t,e){var r,o,n,i=t===Bs,a=e===Bs,s=Cr(t.data.directives,t.context),l=Cr(e.data.directives,e.context),c=[],d=[];for(r in l)o=s[r],n=l[r],o?(n.oldValue=o.value,n.oldArg=o.arg,Br(n,"update",e,t),n.def&&n.def.componentUpdated&&d.push(n)):(Br(n,"bind",e,t),n.def&&n.def.inserted&&c.push(n));if(c.length){var u=function(){for(var r=0;r<c.length;r++)Br(c[r],"inserted",e,t)};i?mt(e,"insert",u):u()}if(d.length&&mt(e,"postpatch",function(){for(var r=0;r<d.length;r++)Br(d[r],"componentUpdated",e,t)}),!i)for(r in s)l[r]||Br(s[r],"unbind",t,t,a)}function Cr(t,e){var r=Object.create(null);if(!t)return r;var o,n;for(o=0;o<t.length;o++)n=t[o],n.modifiers||(n.modifiers=As),r[$r(n)]=n,n.def=Q(e.$options,"directives",n.name,!0);return r}function $r(t){return t.rawName||t.name+"."+Object.keys(t.modifiers||{}).join(".")}function Br(t,e,r,o,n){var i=t.def&&t.def[e];if(i)try{i(r.elm,t,r,o,n)}catch(o){it(o,r.context,"directive "+t.name+" "+e+" hook")}}function Er(t,e){var r=e.componentOptions;if(!(n(r)&&!1===r.Ctor.options.inheritAttrs||o(t.data.attrs)&&o(e.data.attrs))){var i,a,s=e.elm,l=t.data.attrs||{},c=e.data.attrs||{};n(c.__ob__)&&(c=e.data.attrs=O({},c));for(i in c)a=c[i],l[i]!==a&&Dr(s,i,a);(Ki||Xi)&&c.value!==l.value&&Dr(s,"value",c.value);for(i in l)o(c[i])&&(ys(i)?s.removeAttributeNS(vs,ws(i)):bs(i)||s.removeAttribute(i))}}function Dr(t,e,r){t.tagName.indexOf("-")>-1?Ar(t,e,r):gs(e)?xs(r)?t.removeAttribute(e):(r="allowfullscreen"===e&&"EMBED"===t.tagName?"true":e,t.setAttribute(e,r)):bs(e)?t.setAttribute(e,hs(e,r)):ys(e)?xs(r)?t.removeAttributeNS(vs,ws(e)):t.setAttributeNS(vs,e,r):Ar(t,e,r)}function Ar(t,e,r){if(xs(r))t.removeAttribute(e);else{if(Ki&&!Zi&&"TEXTAREA"===t.tagName&&"placeholder"===e&&""!==r&&!t.__ieph){var o=function(e){e.stopImmediatePropagation(),t.removeEventListener("input",o)};t.addEventListener("input",o),t.__ieph=!0}t.setAttribute(e,r)}}function Ir(t,e){var r=e.elm,i=e.data,a=t.data;if(!(o(i.staticClass)&&o(i.class)&&(o(a)||o(a.staticClass)&&o(a.class)))){var s=er(e),l=r._transitionClasses;n(l)&&(s=nr(s,ir(l))),s!==r._prevClass&&(r.setAttribute("class",s),r._prevClass=s)}}function zr(t){function e(){(a||(a=[])).push(t.slice(b,n).trim()),b=n+1}var r,o,n,i,a,s=!1,l=!1,c=!1,d=!1,u=0,p=0,f=0,b=0;for(n=0;n<t.length;n++)if(o=r,r=t.charCodeAt(n),s)39===r&&92!==o&&(s=!1);else if(l)34===r&&92!==o&&(l=!1);else if(c)96===r&&92!==o&&(c=!1);else if(d)47===r&&92!==o&&(d=!1);else if(124!==r||124===t.charCodeAt(n+1)||124===t.charCodeAt(n-1)||u||p||f){switch(r){case 34:l=!0;break;case 39:s=!0;break;case 96:c=!0;break;case 40:f++;break;case 41:f--;break;case 91:p++;break;case 93:p--;break;case 123:u++;break;case 125:u--}if(47===r){for(var m=n-1,h=void 0;m>=0&&" "===(h=t.charAt(m));m--);h&&Ns.test(h)||(d=!0)}}else void 0===i?(b=n+1,i=t.slice(0,n).trim()):e();if(void 0===i?i=t.slice(0,n).trim():0!==b&&e(),a)for(n=0;n<a.length;n++)i=Fr(i,a[n]);return i}function Fr(t,e){var r=e.indexOf("(");if(r<0)return'_f("'+e+'")('+t+")";var o=e.slice(0,r),n=e.slice(r+1);return'_f("'+o+'")('+t+(")"!==n?","+n:n)}function Nr(t,e){console.error("[Vue compiler]: "+t)}function Lr(t,e){return t?t.map(function(t){return t[e]}).filter(function(t){return t}):[]}function Rr(t,e,r,o,n){(t.props||(t.props=[])).push(Xr({name:e,value:r,dynamic:n},o)),t.plain=!1}function Mr(t,e,r,o,n){(n?t.dynamicAttrs||(t.dynamicAttrs=[]):t.attrs||(t.attrs=[])).push(Xr({name:e,value:r,dynamic:n},o)),t.plain=!1}function Vr(t,e,r,o){t.attrsMap[e]=r,t.attrsList.push(Xr({name:e,value:r},o))}function Hr(t,e,r,o,n,i,a,s){(t.directives||(t.directives=[])).push(Xr({name:e,rawName:r,value:o,arg:n,isDynamicArg:i,modifiers:a},s)),t.plain=!1}function Gr(t,e,r){return r?"_p("+e+',"'+t+'")':t+e}function Ur(t,e,r,o,n,i,a,s){o=o||ji,o.right?s?e="("+e+")==='click'?'contextmenu':("+e+")":"click"===e&&(e="contextmenu",delete o.right):o.middle&&(s?e="("+e+")==='click'?'mouseup':("+e+")":"click"===e&&(e="mouseup")),o.capture&&(delete o.capture,e=Gr("!",e,s)),o.once&&(delete o.once,e=Gr("~",e,s)),o.passive&&(delete o.passive,e=Gr("&",e,s));var l;o.native?(delete o.native,l=t.nativeEvents||(t.nativeEvents={})):l=t.events||(t.events={});var c=Xr({value:r.trim(),dynamic:s},a);o!==ji&&(c.modifiers=o);var d=l[e];Array.isArray(d)?n?d.unshift(c):d.push(c):l[e]=d?n?[c,d]:[d,c]:c,t.plain=!1}function Wr(t,e){return t.rawAttrsMap[":"+e]||t.rawAttrsMap["v-bind:"+e]||t.rawAttrsMap[e]}function qr(t,e,r){var o=Kr(t,":"+e)||Kr(t,"v-bind:"+e);if(null!=o)return zr(o);if(!1!==r){var n=Kr(t,e);if(null!=n)return JSON.stringify(n)}}function Kr(t,e,r){var o;if(null!=(o=t.attrsMap[e]))for(var n=t.attrsList,i=0,a=n.length;i<a;i++)if(n[i].name===e){n.splice(i,1);break}return r&&delete t.attrsMap[e],o}function Zr(t,e){for(var r=t.attrsList,o=0,n=r.length;o<n;o++){var i=r[o];if(e.test(i.name))return r.splice(o,1),i}}function Xr(t,e){return e&&(null!=e.start&&(t.start=e.start),null!=e.end&&(t.end=e.end)),t}function Jr(t,e,r){var o=r||{},n=o.number,i=o.trim,a="$$v";i&&(a="(typeof $$v === 'string'? $$v.trim(): $$v)"),n&&(a="_n("+a+")");var s=Yr(e,a);t.model={value:"("+e+")",expression:JSON.stringify(e),callback:"function ($$v) {"+s+"}"}}function Yr(t,e){var r=Qr(t);return null===r.key?t+"="+e:"$set("+r.exp+", "+r.key+", "+e+")"}function Qr(t){if(t=t.trim(),es=t.length,t.indexOf("[")<0||t.lastIndexOf("]")<es-1)return ns=t.lastIndexOf("."),ns>-1?{exp:t.slice(0,ns),key:'"'+t.slice(ns+1)+'"'}:{exp:t,key:null};for(rs=t,ns=is=as=0;!eo();)os=to(),ro(os)?no(os):91===os&&oo(os);return{exp:t.slice(0,is),key:t.slice(is+1,as)}}function to(){return rs.charCodeAt(++ns)}function eo(){return ns>=es}function ro(t){return 34===t||39===t}function oo(t){var e=1;for(is=ns;!eo();)if(t=to(),ro(t))no(t);else if(91===t&&e++,93===t&&e--,0===e){as=ns;break}}function no(t){for(var e=t;!eo()&&(t=to())!==e;);}function io(t,e,r){ss=r;var o=e.value,n=e.modifiers,i=t.tag,a=t.attrsMap.type;if(t.component)return Jr(t,o,n),!1;if("select"===i)lo(t,o,n);else if("input"===i&&"checkbox"===a)ao(t,o,n);else if("input"===i&&"radio"===a)so(t,o,n);else if("input"===i||"textarea"===i)co(t,o,n);else if(!Ri.isReservedTag(i))return Jr(t,o,n),!1;return!0}function ao(t,e,r){var o=r&&r.number,n=qr(t,"value")||"null",i=qr(t,"true-value")||"true",a=qr(t,"false-value")||"false";Rr(t,"checked","Array.isArray("+e+")?_i("+e+","+n+")>-1"+("true"===i?":("+e+")":":_q("+e+","+i+")")),Ur(t,"change","var $$a="+e+",$$el=$event.target,$$c=$$el.checked?("+i+"):("+a+");if(Array.isArray($$a)){var $$v="+(o?"_n("+n+")":n)+",$$i=_i($$a,$$v);if($$el.checked){$$i<0&&("+Yr(e,"$$a.concat([$$v])")+")}else{$$i>-1&&("+Yr(e,"$$a.slice(0,$$i).concat($$a.slice($$i+1))")+")}}else{"+Yr(e,"$$c")+"}",null,!0)}function so(t,e,r){var o=r&&r.number,n=qr(t,"value")||"null";n=o?"_n("+n+")":n,Rr(t,"checked","_q("+e+","+n+")"),Ur(t,"change",Yr(e,n),null,!0)}function lo(t,e,r){var o=r&&r.number,n='Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = "_value" in o ? o._value : o.value;return '+(o?"_n(val)":"val")+"})",i="var $$selectedVal = "+n+";";i=i+" "+Yr(e,"$event.target.multiple ? $$selectedVal : $$selectedVal[0]"),Ur(t,"change",i,null,!0)}function co(t,e,r){var o=t.attrsMap.type,n=r||{},i=n.lazy,a=n.number,s=n.trim,l=!i&&"range"!==o,c=i?"change":"range"===o?Ls:"input",d="$event.target.value";s&&(d="$event.target.value.trim()"),a&&(d="_n("+d+")");var u=Yr(e,d);l&&(u="if($event.target.composing)return;"+u),Rr(t,"value","("+e+")"),Ur(t,c,u,null,!0),(s||a)&&Ur(t,"blur","$forceUpdate()")}function uo(t){if(n(t[Ls])){var e=Ki?"change":"input";t[e]=[].concat(t[Ls],t[e]||[]),delete t[Ls]}n(t[Rs])&&(t.change=[].concat(t[Rs],t.change||[]),delete t[Rs])}function po(t,e,r){var o=ls;return function n(){null!==e.apply(null,arguments)&&bo(t,n,r,o)}}function fo(t,e,r,o){if(Ms){var n=Ga,i=e;e=i._wrapper=function(t){if(t.target===t.currentTarget||t.timeStamp>=n||t.timeStamp<=0||t.target.ownerDocument!==document)return i.apply(this,arguments)}}ls.addEventListener(t,e,ta?{capture:r,passive:o}:r)}function bo(t,e,r,o){(o||ls).removeEventListener(t,e._wrapper||e,r)}function mo(t,e){if(!o(t.data.on)||!o(e.data.on)){var r=e.data.on||{},n=t.data.on||{};ls=e.elm,uo(r),bt(r,n,fo,bo,po,e.context),ls=void 0}}function ho(t,e){if(!o(t.data.domProps)||!o(e.data.domProps)){var r,i,a=e.elm,s=t.data.domProps||{},l=e.data.domProps||{};n(l.__ob__)&&(l=e.data.domProps=O({},l));for(r in s)r in l||(a[r]="");for(r in l){if(i=l[r],"textContent"===r||"innerHTML"===r){if(e.children&&(e.children.length=0),i===s[r])continue;1===a.childNodes.length&&a.removeChild(a.childNodes[0])}if("value"===r&&"PROGRESS"!==a.tagName){a._value=i;var c=o(i)?"":String(i);go(a,c)&&(a.value=c)}else if("innerHTML"===r&&js(a.tagName)&&o(a.innerHTML)){cs=cs||document.createElement("div"),cs.innerHTML="<svg>"+i+"</svg>";for(var d=cs.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;d.firstChild;)a.appendChild(d.firstChild)}else if(i!==s[r])try{a[r]=i}catch(t){}}}}function go(t,e){return!t.composing&&("OPTION"===t.tagName||vo(t,e)||yo(t,e))}function vo(t,e){var r=!0;try{r=document.activeElement!==t}catch(t){}return r&&t.value!==e}function yo(t,e){var r=t.value,o=t._vModifiers;if(n(o)){if(o.number)return b(r)!==b(e);if(o.trim)return r.trim()!==e.trim()}return r!==e}function wo(t){var e=xo(t.style);return t.staticStyle?O(t.staticStyle,e):e}function xo(t){return Array.isArray(t)?k(t):"string"==typeof t?Gs(t):t}function Oo(t,e){var r,o={};if(e)for(var n=t;n.componentInstance;)(n=n.componentInstance._vnode)&&n.data&&(r=wo(n.data))&&O(o,r);(r=wo(t.data))&&O(o,r);for(var i=t;i=i.parent;)i.data&&(r=wo(i.data))&&O(o,r);return o}function ko(t,e){var r=e.data,i=t.data;if(!(o(r.staticStyle)&&o(r.style)&&o(i.staticStyle)&&o(i.style))){var a,s,l=e.elm,c=i.staticStyle,d=i.normalizedStyle||i.style||{},u=c||d,p=xo(e.data.style)||{};e.data.normalizedStyle=n(p.__ob__)?O({},p):p;var f=Oo(e,!0);for(s in u)o(f[s])&&qs(l,s,"");for(s in f)(a=f[s])!==u[s]&&qs(l,s,null==a?"":a)}}function jo(t,e){if(e&&(e=e.trim()))if(t.classList)e.indexOf(" ")>-1?e.split(Js).forEach(function(e){return t.classList.add(e)}):t.classList.add(e);else{var r=" "+(t.getAttribute("class")||"")+" ";r.indexOf(" "+e+" ")<0&&t.setAttribute("class",(r+e).trim())}}function So(t,e){if(e&&(e=e.trim()))if(t.classList)e.indexOf(" ")>-1?e.split(Js).forEach(function(e){return t.classList.remove(e)}):t.classList.remove(e),t.classList.length||t.removeAttribute("class");else{for(var r=" "+(t.getAttribute("class")||"")+" ",o=" "+e+" ";r.indexOf(o)>=0;)r=r.replace(o," ");r=r.trim(),r?t.setAttribute("class",r):t.removeAttribute("class")}}function _o(t){if(t){if("object"==typeof t){var e={};return!1!==t.css&&O(e,Ys(t.name||"v")),O(e,t),e}return"string"==typeof t?Ys(t):void 0}}function To(t){al(function(){al(t)})}function Po(t,e){var r=t._transitionClasses||(t._transitionClasses=[]);r.indexOf(e)<0&&(r.push(e),jo(t,e))}function Co(t,e){t._transitionClasses&&h(t._transitionClasses,e),So(t,e)}function $o(t,e,r){var o=Bo(t,e),n=o.type,i=o.timeout,a=o.propCount;if(!n)return r();var s=n===tl?ol:il,l=0,c=function(){t.removeEventListener(s,d),r()},d=function(e){e.target===t&&++l>=a&&c()};setTimeout(function(){l<a&&c()},i+1),t.addEventListener(s,d)}function Bo(t,e){var r,o=window.getComputedStyle(t),n=(o[rl+"Delay"]||"").split(", "),i=(o[rl+"Duration"]||"").split(", "),a=Eo(n,i),s=(o[nl+"Delay"]||"").split(", "),l=(o[nl+"Duration"]||"").split(", "),c=Eo(s,l),d=0,u=0;return e===tl?a>0&&(r=tl,d=a,u=i.length):e===el?c>0&&(r=el,d=c,u=l.length):(d=Math.max(a,c),r=d>0?a>c?tl:el:null,u=r?r===tl?i.length:l.length:0),{type:r,timeout:d,propCount:u,hasTransform:r===tl&&sl.test(o[rl+"Property"])}}function Eo(t,e){for(;t.length<e.length;)t=t.concat(t);return Math.max.apply(null,e.map(function(e,r){return Do(e)+Do(t[r])}))}function Do(t){return 1e3*Number(t.slice(0,-1).replace(",","."))}function Ao(t,e){var r=t.elm;n(r._leaveCb)&&(r._leaveCb.cancelled=!0,r._leaveCb());var i=_o(t.data.transition);if(!o(i)&&!n(r._enterCb)&&1===r.nodeType){for(var a=i.css,s=i.type,c=i.enterClass,d=i.enterToClass,u=i.enterActiveClass,p=i.appearClass,f=i.appearToClass,m=i.appearActiveClass,h=i.beforeEnter,g=i.enter,v=i.afterEnter,y=i.enterCancelled,w=i.beforeAppear,x=i.appear,O=i.afterAppear,k=i.appearCancelled,j=i.duration,S=Fa,_=Fa.$vnode;_&&_.parent;)S=_.context,_=_.parent;var P=!S._isMounted||!t.isRootInsert;if(!P||x||""===x){var C=P&&p?p:c,$=P&&m?m:u,B=P&&f?f:d,E=P?w||h:h,D=P&&"function"==typeof x?x:g,A=P?O||v:v,I=P?k||y:y,z=b(l(j)?j.enter:j),F=!1!==a&&!Zi,N=Fo(D),L=r._enterCb=T(function(){F&&(Co(r,B),Co(r,$)),L.cancelled?(F&&Co(r,C),I&&I(r)):A&&A(r),r._enterCb=null});t.data.show||mt(t,"insert",function(){var e=r.parentNode,o=e&&e._pending&&e._pending[t.key];o&&o.tag===t.tag&&o.elm._leaveCb&&o.elm._leaveCb(),D&&D(r,L)}),E&&E(r),F&&(Po(r,C),Po(r,$),To(function(){Co(r,C),L.cancelled||(Po(r,B),N||(zo(z)?setTimeout(L,z):$o(r,s,L)))})),t.data.show&&(e&&e(),D&&D(r,L)),F||N||L()}}}function Io(t,e){function r(){k.cancelled||(!t.data.show&&i.parentNode&&((i.parentNode._pending||(i.parentNode._pending={}))[t.key]=t),f&&f(i),w&&(Po(i,d),Po(i,p),To(function(){Co(i,d),k.cancelled||(Po(i,u),x||(zo(O)?setTimeout(k,O):$o(i,c,k)))})),m&&m(i,k),w||x||k())}var i=t.elm;n(i._enterCb)&&(i._enterCb.cancelled=!0,i._enterCb());var a=_o(t.data.transition);if(o(a)||1!==i.nodeType)return e();if(!n(i._leaveCb)){var s=a.css,c=a.type,d=a.leaveClass,u=a.leaveToClass,p=a.leaveActiveClass,f=a.beforeLeave,m=a.leave,h=a.afterLeave,g=a.leaveCancelled,v=a.delayLeave,y=a.duration,w=!1!==s&&!Zi,x=Fo(m),O=b(l(y)?y.leave:y),k=i._leaveCb=T(function(){i.parentNode&&i.parentNode._pending&&(i.parentNode._pending[t.key]=null),w&&(Co(i,u),Co(i,p)),k.cancelled?(w&&Co(i,d),g&&g(i)):(e(),h&&h(i)),i._leaveCb=null});v?v(r):r()}}function zo(t){return"number"==typeof t&&!isNaN(t)}function Fo(t){if(o(t))return!1;var e=t.fns;return n(e)?Fo(Array.isArray(e)?e[0]:e):(t._length||t.length)>1}function No(t,e){!0!==e.data.show&&Ao(e)}function Lo(t,e,r){Ro(t,e,r),(Ki||Xi)&&setTimeout(function(){Ro(t,e,r)},0)}function Ro(t,e,r){var o=e.value,n=t.multiple;if(!n||Array.isArray(o)){for(var i,a,s=0,l=t.options.length;s<l;s++)if(a=t.options[s],n)i=_(o,Vo(a))>-1,a.selected!==i&&(a.selected=i);else if(S(Vo(a),o))return void(t.selectedIndex!==s&&(t.selectedIndex=s));n||(t.selectedIndex=-1)}}function Mo(t,e){return e.every(function(e){return!S(e,t)})}function Vo(t){return"_value"in t?t._value:t.value}function Ho(t){t.target.composing=!0}function Go(t){t.target.composing&&(t.target.composing=!1,Uo(t.target,"input"))}function Uo(t,e){var r=document.createEvent("HTMLEvents");r.initEvent(e,!0,!0),t.dispatchEvent(r)}function Wo(t){return!t.componentInstance||t.data&&t.data.transition?t:Wo(t.componentInstance._vnode)}function qo(t){var e=t&&t.componentOptions;return e&&e.Ctor.options.abstract?qo(ce(e.children)):t}function Ko(t){var e={},r=t.$options;for(var o in r.propsData)e[o]=t[o];var n=r._parentListeners;for(var i in n)e[$i(i)]=n[i];return e}function Zo(t,e){if(/\d-keep-alive$/.test(e.tag))return t("keep-alive",{props:e.componentOptions.propsData})}function Xo(t){for(;t=t.parent;)if(t.data.transition)return!0}function Jo(t,e){return e.key===t.key&&e.tag===t.tag}function Yo(t){t.elm._moveCb&&t.elm._moveCb(),t.elm._enterCb&&t.elm._enterCb()}function Qo(t){t.data.newPos=t.elm.getBoundingClientRect()}function tn(t){var e=t.data.pos,r=t.data.newPos,o=e.left-r.left,n=e.top-r.top;if(o||n){t.data.moved=!0;var i=t.elm.style;i.transform=i.WebkitTransform="translate("+o+"px,"+n+"px)",i.transitionDuration="0s"}}function en(t,e){var r=e?Fl(e):Il;if(r.test(t)){for(var o,n,i,a=[],s=[],l=r.lastIndex=0;o=r.exec(t);){n=o.index,n>l&&(s.push(i=t.slice(l,n)),a.push(JSON.stringify(i)));var c=zr(o[1].trim());a.push("_s("+c+")"),s.push({"@binding":c}),l=n+o[0].length}return l<t.length&&(s.push(i=t.slice(l)),a.push(JSON.stringify(i))),{expression:a.join("+"),tokens:s}}}function rn(t,e){var r=(e.warn,Kr(t,"class"));r&&(t.staticClass=JSON.stringify(r));var o=qr(t,"class",!1);o&&(t.classBinding=o)}function on(t){var e="";return t.staticClass&&(e+="staticClass:"+t.staticClass+","),t.classBinding&&(e+="class:"+t.classBinding+","),e}function nn(t,e){var r=(e.warn,Kr(t,"style"));if(r){t.staticStyle=JSON.stringify(Gs(r))}var o=qr(t,"style",!1);o&&(t.styleBinding=o)}function an(t){var e="";return t.staticStyle&&(e+="staticStyle:"+t.staticStyle+","),t.styleBinding&&(e+="style:("+t.styleBinding+"),"),e}function sn(t,e){var r=e?nc:oc;return t.replace(r,function(t){return rc[t]})}function ln(t,e){function r(e){d+=e,t=t.substring(e)}function o(t,r,o){var n,s;if(null==r&&(r=d),null==o&&(o=d),t)for(s=t.toLowerCase(),n=a.length-1;n>=0&&a[n].lowerCasedTag!==s;n--);else n=0;if(n>=0){for(var l=a.length-1;l>=n;l--)e.end&&e.end(a[l].tag,r,o);a.length=n,i=n&&a[n-1].tag}else"br"===s?e.start&&e.start(t,[],!0,r,o):"p"===s&&(e.start&&e.start(t,[],!1,r,o),e.end&&e.end(t,r,o))}for(var n,i,a=[],s=e.expectHTML,l=e.isUnaryTag||Ii,c=e.canBeLeftOpenTag||Ii,d=0;t;){if(n=t,i&&tc(i)){var u=0,p=i.toLowerCase(),f=ec[p]||(ec[p]=new RegExp("([\\s\\S]*?)(</"+p+"[^>]*>)","i")),b=t.replace(f,function(t,r,o){return u=o.length,tc(p)||"noscript"===p||(r=r.replace(/<!\--([\s\S]*?)-->/g,"$1").replace(/<!\[CDATA\[([\s\S]*?)]]>/g,"$1")),ac(p,r)&&(r=r.slice(1)),e.chars&&e.chars(r),""});d+=t.length-b.length,t=b,o(p,d-u,d)}else{var m=t.indexOf("<");if(0===m){if(Yl.test(t)){var h=t.indexOf("--\x3e");if(h>=0){e.shouldKeepComment&&e.comment(t.substring(4,h),d,d+h+3),r(h+3);continue}}if(Ql.test(t)){var g=t.indexOf("]>");if(g>=0){r(g+2);continue}}var v=t.match(Jl);if(v){r(v[0].length);continue}var y=t.match(Xl);if(y){var w=d;r(y[0].length),o(y[1],w,d);continue}var x=function(){var e=t.match(Kl);if(e){var o={tagName:e[1],attrs:[],start:d};r(e[0].length);for(var n,i;!(n=t.match(Zl))&&(i=t.match(Ul)||t.match(Gl));)i.start=d,r(i[0].length),i.end=d,o.attrs.push(i);if(n)return o.unarySlash=n[1],r(n[0].length),o.end=d,o}}();if(x){!function(t){var r=t.tagName,n=t.unarySlash;s&&("p"===i&&Hl(r)&&o(i),c(r)&&i===r&&o(r));for(var d=l(r)||!!n,u=t.attrs.length,p=new Array(u),f=0;f<u;f++){var b=t.attrs[f],m=b[3]||b[4]||b[5]||"",h="a"===r&&"href"===b[1]?e.shouldDecodeNewlinesForHref:e.shouldDecodeNewlines;p[f]={name:b[1],value:sn(m,h)}}d||(a.push({tag:r,lowerCasedTag:r.toLowerCase(),attrs:p,start:t.start,end:t.end}),i=r),e.start&&e.start(r,p,d,t.start,t.end)}(x),ac(x.tagName,t)&&r(1);continue}}var O=void 0,k=void 0,j=void 0;if(m>=0){for(k=t.slice(m);!(Xl.test(k)||Kl.test(k)||Yl.test(k)||Ql.test(k)||(j=k.indexOf("<",1))<0);)m+=j,k=t.slice(m);O=t.substring(0,m)}m<0&&(O=t),O&&r(O.length),e.chars&&O&&e.chars(O,d-O.length,d)}if(t===n){e.chars&&e.chars(t);break}}o()}function cn(t,e,r){return{type:1,tag:t,attrsList:e,attrsMap:$n(e),rawAttrsMap:{},parent:r,children:[]}}function dn(t,e){function r(t){if(o(t),d||t.processed||(t=fn(t,e)),s.length||t===i||i.if&&(t.elseif||t.else)&&xn(i,{exp:t.elseif,block:t}),a&&!t.forbidden)if(t.elseif||t.else)yn(t,a);else{if(t.slotScope){var r=t.slotTarget||'"default"';(a.scopedSlots||(a.scopedSlots={}))[r]=t}a.children.push(t),t.parent=a}t.children=t.children.filter(function(t){return!t.slotScope}),o(t),t.pre&&(d=!1),Pl(t.tag)&&(u=!1);for(var n=0;n<Tl.length;n++)Tl[n](t,e)}function o(t){if(!u)for(var e;(e=t.children[t.children.length-1])&&3===e.type&&" "===e.text;)t.children.pop()}kl=e.warn||Nr,Pl=e.isPreTag||Ii,Cl=e.mustUseProp||Ii,$l=e.getTagNamespace||Ii;var n=e.isReservedTag||Ii;Bl=function(t){return!!t.component||!n(t.tag)},Sl=Lr(e.modules,"transformNode"),_l=Lr(e.modules,"preTransformNode"),Tl=Lr(e.modules,"postTransformNode"),jl=e.delimiters;var i,a,s=[],l=!1!==e.preserveWhitespace,c=e.whitespace,d=!1,u=!1;return ln(t,{warn:kl,expectHTML:e.expectHTML,isUnaryTag:e.isUnaryTag,canBeLeftOpenTag:e.canBeLeftOpenTag,shouldDecodeNewlines:e.shouldDecodeNewlines,shouldDecodeNewlinesForHref:e.shouldDecodeNewlinesForHref,shouldKeepComment:e.comments,outputSourceRange:e.outputSourceRange,start:function(t,o,n,l,c){var p=a&&a.ns||$l(t);Ki&&"svg"===p&&(o=Dn(o));var f=cn(t,o,a);p&&(f.ns=p),En(f)&&!na()&&(f.forbidden=!0);for(var b=0;b<_l.length;b++)f=_l[b](f,e)||f;d||(un(f),f.pre&&(d=!0)),Pl(f.tag)&&(u=!0),d?pn(f):f.processed||(hn(f),vn(f),On(f)),i||(i=f),n?r(f):(a=f,s.push(f))},end:function(t,e,o){var n=s[s.length-1];s.length-=1,a=s[s.length-1],r(n)},chars:function(t,e,r){if(a&&(!Ki||"textarea"!==a.tag||a.attrsMap.placeholder!==t)){var o=a.children;if(t=u||t.trim()?Bn(a)?t:yc(t):o.length?c?"condense"===c&&gc.test(t)?"":" ":l?" ":"":""){u||"condense"!==c||(t=t.replace(vc," "));var n,i;!d&&" "!==t&&(n=en(t,jl))?i={type:2,expression:n.expression,tokens:n.tokens,text:t}:" "===t&&o.length&&" "===o[o.length-1].text||(i={type:3,text:t}),i&&o.push(i)}}},comment:function(t,e,r){if(a){var o={type:3,text:t,isComment:!0};a.children.push(o)}}}),i}function un(t){null!=Kr(t,"v-pre")&&(t.pre=!0)}function pn(t){var e=t.attrsList,r=e.length;if(r)for(var o=t.attrs=new Array(r),n=0;n<r;n++)o[n]={name:e[n].name,value:JSON.stringify(e[n].value)},null!=e[n].start&&(o[n].start=e[n].start,o[n].end=e[n].end);else t.pre||(t.plain=!0)}function fn(t,e){bn(t),t.plain=!t.key&&!t.scopedSlots&&!t.attrsList.length,mn(t),kn(t),Sn(t),_n(t);for(var r=0;r<Sl.length;r++)t=Sl[r](t,e)||t;return Tn(t),t}function bn(t){var e=qr(t,"key");if(e){t.key=e}}function mn(t){var e=qr(t,"ref");e&&(t.ref=e,t.refInFor=Pn(t))}function hn(t){var e;if(e=Kr(t,"v-for")){var r=gn(e);r&&O(t,r)}}function gn(t){var e=t.match(cc);if(e){var r={};r.for=e[2].trim();var o=e[1].trim().replace(uc,""),n=o.match(dc);return n?(r.alias=o.replace(dc,"").trim(),r.iterator1=n[1].trim(),n[2]&&(r.iterator2=n[2].trim())):r.alias=o,r}}function vn(t){var e=Kr(t,"v-if");if(e)t.if=e,xn(t,{exp:e,block:t});else{null!=Kr(t,"v-else")&&(t.else=!0);var r=Kr(t,"v-else-if");r&&(t.elseif=r)}}function yn(t,e){var r=wn(e.children);r&&r.if&&xn(r,{exp:t.elseif,block:t})}function wn(t){for(var e=t.length;e--;){if(1===t[e].type)return t[e];t.pop()}}function xn(t,e){t.ifConditions||(t.ifConditions=[]),t.ifConditions.push(e)}function On(t){null!=Kr(t,"v-once")&&(t.once=!0)}function kn(t){var e;"template"===t.tag?(e=Kr(t,"scope"),t.slotScope=e||Kr(t,"slot-scope")):(e=Kr(t,"slot-scope"))&&(t.slotScope=e);var r=qr(t,"slot");if(r&&(t.slotTarget='""'===r?'"default"':r,t.slotTargetDynamic=!(!t.attrsMap[":slot"]&&!t.attrsMap["v-bind:slot"]),"template"===t.tag||t.slotScope||Mr(t,"slot",r,Wr(t,"slot"))),"template"===t.tag){var o=Zr(t,hc);if(o){var n=jn(o),i=n.name,a=n.dynamic;t.slotTarget=i,t.slotTargetDynamic=a,t.slotScope=o.value||wc}}else{var s=Zr(t,hc);if(s){var l=t.scopedSlots||(t.scopedSlots={}),c=jn(s),d=c.name,u=c.dynamic,p=l[d]=cn("template",[],t);p.slotTarget=d,p.slotTargetDynamic=u,p.children=t.children.filter(function(t){if(!t.slotScope)return t.parent=p,!0}),p.slotScope=s.value||wc,t.children=[],t.plain=!1}}}function jn(t){var e=t.name.replace(hc,"");return e||"#"!==t.name[0]&&(e="default"),pc.test(e)?{name:e.slice(1,-1),dynamic:!0}:{name:'"'+e+'"',dynamic:!1}}function Sn(t){"slot"===t.tag&&(t.slotName=qr(t,"name"))}function _n(t){var e;(e=qr(t,"is"))&&(t.component=e),null!=Kr(t,"inline-template")&&(t.inlineTemplate=!0)}function Tn(t){var e,r,o,n,i,a,s,l,c=t.attrsList;for(e=0,r=c.length;e<r;e++)if(o=n=c[e].name,i=c[e].value,lc.test(o))if(t.hasBindings=!0,a=Cn(o.replace(lc,"")),a&&(o=o.replace(mc,"")),bc.test(o))o=o.replace(bc,""),i=zr(i),l=pc.test(o),l&&(o=o.slice(1,-1)),a&&(a.prop&&!l&&"innerHtml"===(o=$i(o))&&(o="innerHTML"),a.camel&&!l&&(o=$i(o)),a.sync&&(s=Yr(i,"$event"),l?Ur(t,'"update:"+('+o+")",s,null,!1,kl,c[e],!0):(Ur(t,"update:"+$i(o),s,null,!1,kl,c[e]),Di(o)!==$i(o)&&Ur(t,"update:"+Di(o),s,null,!1,kl,c[e])))),a&&a.prop||!t.component&&Cl(t.tag,t.attrsMap.type,o)?Rr(t,o,i,c[e],l):Mr(t,o,i,c[e],l);else if(sc.test(o))o=o.replace(sc,""),l=pc.test(o),l&&(o=o.slice(1,-1)),Ur(t,o,i,a,!1,kl,c[e],l);else{o=o.replace(lc,"");var d=o.match(fc),u=d&&d[1];l=!1,u&&(o=o.slice(0,-(u.length+1)),pc.test(u)&&(u=u.slice(1,-1),l=!0)),Hr(t,o,n,i,u,l,a,c[e])}else{Mr(t,o,JSON.stringify(i),c[e]),!t.component&&"muted"===o&&Cl(t.tag,t.attrsMap.type,o)&&Rr(t,o,"true",c[e])}}function Pn(t){for(var e=t;e;){if(void 0!==e.for)return!0;e=e.parent}return!1}function Cn(t){var e=t.match(mc);if(e){var r={};return e.forEach(function(t){r[t.slice(1)]=!0}),r}}function $n(t){for(var e={},r=0,o=t.length;r<o;r++)e[t[r].name]=t[r].value;return e}function Bn(t){return"script"===t.tag||"style"===t.tag}function En(t){return"style"===t.tag||"script"===t.tag&&(!t.attrsMap.type||"text/javascript"===t.attrsMap.type)}function Dn(t){for(var e=[],r=0;r<t.length;r++){var o=t[r];xc.test(o.name)||(o.name=o.name.replace(Oc,""),e.push(o))}return e}function An(t,e){if("input"===t.tag){var r=t.attrsMap;if(!r["v-model"])return;var o;if((r[":type"]||r["v-bind:type"])&&(o=qr(t,"type")),r.type||o||!r["v-bind"]||(o="("+r["v-bind"]+").type"),o){var n=Kr(t,"v-if",!0),i=n?"&&("+n+")":"",a=null!=Kr(t,"v-else",!0),s=Kr(t,"v-else-if",!0),l=In(t);hn(l),Vr(l,"type","checkbox"),fn(l,e),l.processed=!0,l.if="("+o+")==='checkbox'"+i,xn(l,{exp:l.if,block:l});var c=In(t);Kr(c,"v-for",!0),Vr(c,"type","radio"),fn(c,e),xn(l,{exp:"("+o+")==='radio'"+i,block:c});var d=In(t);return Kr(d,"v-for",!0),Vr(d,":type",o),fn(d,e),xn(l,{exp:n,block:d}),a?l.else=!0:s&&(l.elseif=s),l}}}function In(t){return cn(t.tag,t.attrsList.slice(),t.parent)}function zn(t,e){e.value&&Rr(t,"textContent","_s("+e.value+")",e)}function Fn(t,e){e.value&&Rr(t,"innerHTML","_s("+e.value+")",e)}function Nn(t,e){t&&(El=Tc(e.staticKeys||""),Dl=e.isReservedTag||Ii,Rn(t),Mn(t,!1))}function Ln(t){return m("type,tag,attrsList,attrsMap,plain,parent,children,attrs,start,end,rawAttrsMap"+(t?","+t:""))}function Rn(t){if(t.static=Vn(t),1===t.type){if(!Dl(t.tag)&&"slot"!==t.tag&&null==t.attrsMap["inline-template"])return;for(var e=0,r=t.children.length;e<r;e++){var o=t.children[e];Rn(o),o.static||(t.static=!1)}if(t.ifConditions)for(var n=1,i=t.ifConditions.length;n<i;n++){var a=t.ifConditions[n].block;Rn(a),a.static||(t.static=!1)}}}function Mn(t,e){if(1===t.type){if((t.static||t.once)&&(t.staticInFor=e),t.static&&t.children.length&&(1!==t.children.length||3!==t.children[0].type))return void(t.staticRoot=!0);if(t.staticRoot=!1,t.children)for(var r=0,o=t.children.length;r<o;r++)Mn(t.children[r],e||!!t.for);if(t.ifConditions)for(var n=1,i=t.ifConditions.length;n<i;n++)Mn(t.ifConditions[n].block,e)}}function Vn(t){return 2!==t.type&&(3===t.type||!(!t.pre&&(t.hasBindings||t.if||t.for||_i(t.tag)||!Dl(t.tag)||Hn(t)||!Object.keys(t).every(El))))}function Hn(t){for(;t.parent;){if(t=t.parent,"template"!==t.tag)return!1;if(t.for)return!0}return!1}function Gn(t,e){var r=e?"nativeOn:":"on:",o="",n="";for(var i in t){var a=Un(t[i]);t[i]&&t[i].dynamic?n+=i+","+a+",":o+='"'+i+'":'+a+","}return o="{"+o.slice(0,-1)+"}",n?r+"_d("+o+",["+n.slice(0,-1)+"])":r+o}function Un(t){if(!t)return"function(){}";if(Array.isArray(t))return"["+t.map(function(t){return Un(t)}).join(",")+"]";var e=$c.test(t.value),r=Pc.test(t.value),o=$c.test(t.value.replace(Cc,""));if(t.modifiers){var n="",i="",a=[];for(var s in t.modifiers)if(Ac[s])i+=Ac[s],Bc[s]&&a.push(s);else if("exact"===s){var l=t.modifiers;i+=Dc(["ctrl","shift","alt","meta"].filter(function(t){return!l[t]}).map(function(t){return"$event."+t+"Key"}).join("||"))}else a.push(s);a.length&&(n+=Wn(a)),i&&(n+=i);return"function($event){"+n+(e?"return "+t.value+"($event)":r?"return ("+t.value+")($event)":o?"return "+t.value:t.value)+"}"}return e||r?t.value:"function($event){"+(o?"return "+t.value:t.value)+"}"}function Wn(t){return"if(!$event.type.indexOf('key')&&"+t.map(qn).join("&&")+")return null;"}function qn(t){var e=parseInt(t,10);if(e)return"$event.keyCode!=="+e;var r=Bc[t],o=Ec[t];return"_k($event.keyCode,"+JSON.stringify(t)+","+JSON.stringify(r)+",$event.key,"+JSON.stringify(o)+")"}function Kn(t,e){t.wrapListeners=function(t){return"_g("+t+","+e.value+")"}}function Zn(t,e){t.wrapData=function(r){return"_b("+r+",'"+t.tag+"',"+e.value+","+(e.modifiers&&e.modifiers.prop?"true":"false")+(e.modifiers&&e.modifiers.sync?",true":"")+")"}}function Xn(t,e){var r=new zc(e);return{render:"with(this){return "+(t?Jn(t,r):'_c("div")')+"}",staticRenderFns:r.staticRenderFns}}function Jn(t,e){if(t.parent&&(t.pre=t.pre||t.parent.pre),t.staticRoot&&!t.staticProcessed)return Yn(t,e);if(t.once&&!t.onceProcessed)return Qn(t,e);if(t.for&&!t.forProcessed)return ri(t,e);if(t.if&&!t.ifProcessed)return ti(t,e);if("template"!==t.tag||t.slotTarget||e.pre){if("slot"===t.tag)return hi(t,e);var r;if(t.component)r=gi(t.component,t,e);else{var o;(!t.plain||t.pre&&e.maybeComponent(t))&&(o=oi(t,e));var n=t.inlineTemplate?null:di(t,e,!0);r="_c('"+t.tag+"'"+(o?","+o:"")+(n?","+n:"")+")"}for(var i=0;i<e.transforms.length;i++)r=e.transforms[i](t,r);return r}return di(t,e)||"void 0"}function Yn(t,e){t.staticProcessed=!0;var r=e.pre;return t.pre&&(e.pre=t.pre),e.staticRenderFns.push("with(this){return "+Jn(t,e)+"}"),e.pre=r,"_m("+(e.staticRenderFns.length-1)+(t.staticInFor?",true":"")+")"}function Qn(t,e){if(t.onceProcessed=!0,t.if&&!t.ifProcessed)return ti(t,e);if(t.staticInFor){for(var r="",o=t.parent;o;){if(o.for){r=o.key;break}o=o.parent}return r?"_o("+Jn(t,e)+","+e.onceId+++","+r+")":Jn(t,e)}return Yn(t,e)}function ti(t,e,r,o){return t.ifProcessed=!0,ei(t.ifConditions.slice(),e,r,o)}function ei(t,e,r,o){function n(t){return r?r(t,e):t.once?Qn(t,e):Jn(t,e)}if(!t.length)return o||"_e()";var i=t.shift();return i.exp?"("+i.exp+")?"+n(i.block)+":"+ei(t,e,r,o):""+n(i.block)}function ri(t,e,r,o){var n=t.for,i=t.alias,a=t.iterator1?","+t.iterator1:"",s=t.iterator2?","+t.iterator2:"";return t.forProcessed=!0,(o||"_l")+"(("+n+"),function("+i+a+s+"){return "+(r||Jn)(t,e)+"})"}function oi(t,e){var r="{",o=ni(t,e);o&&(r+=o+","),t.key&&(r+="key:"+t.key+","),t.ref&&(r+="ref:"+t.ref+","),t.refInFor&&(r+="refInFor:true,"),t.pre&&(r+="pre:true,"),t.component&&(r+='tag:"'+t.tag+'",');for(var n=0;n<e.dataGenFns.length;n++)r+=e.dataGenFns[n](t);if(t.attrs&&(r+="attrs:"+vi(t.attrs)+","),t.props&&(r+="domProps:"+vi(t.props)+","),t.events&&(r+=Gn(t.events,!1)+","),t.nativeEvents&&(r+=Gn(t.nativeEvents,!0)+","),t.slotTarget&&!t.slotScope&&(r+="slot:"+t.slotTarget+","),t.scopedSlots&&(r+=ai(t,t.scopedSlots,e)+","),t.model&&(r+="model:{value:"+t.model.value+",callback:"+t.model.callback+",expression:"+t.model.expression+"},"),t.inlineTemplate){var i=ii(t,e);i&&(r+=i+",")}return r=r.replace(/,$/,"")+"}",t.dynamicAttrs&&(r="_b("+r+',"'+t.tag+'",'+vi(t.dynamicAttrs)+")"),t.wrapData&&(r=t.wrapData(r)),t.wrapListeners&&(r=t.wrapListeners(r)),r}function ni(t,e){var r=t.directives;if(r){var o,n,i,a,s="directives:[",l=!1;for(o=0,n=r.length;o<n;o++){i=r[o],a=!0;var c=e.directives[i.name];c&&(a=!!c(t,i,e.warn)),a&&(l=!0,s+='{name:"'+i.name+'",rawName:"'+i.rawName+'"'+(i.value?",value:("+i.value+"),expression:"+JSON.stringify(i.value):"")+(i.arg?",arg:"+(i.isDynamicArg?i.arg:'"'+i.arg+'"'):"")+(i.modifiers?",modifiers:"+JSON.stringify(i.modifiers):"")+"},")}return l?s.slice(0,-1)+"]":void 0}}function ii(t,e){var r=t.children[0];if(r&&1===r.type){var o=Xn(r,e.options);return"inlineTemplate:{render:function(){"+o.render+"},staticRenderFns:["+o.staticRenderFns.map(function(t){return"function(){"+t+"}"}).join(",")+"]}"}}function ai(t,e,r){var o=t.for||Object.keys(e).some(function(t){var r=e[t];return r.slotTargetDynamic||r.if||r.for||li(r)}),n=!!t.if;if(!o)for(var i=t.parent;i;){if(i.slotScope&&i.slotScope!==wc||i.for){o=!0;break}i.if&&(n=!0),i=i.parent}var a=Object.keys(e).map(function(t){return ci(e[t],r)}).join(",");return"scopedSlots:_u(["+a+"]"+(o?",null,true":"")+(!o&&n?",null,false,"+si(a):"")+")"}function si(t){for(var e=5381,r=t.length;r;)e=33*e^t.charCodeAt(--r);return e>>>0}function li(t){return 1===t.type&&("slot"===t.tag||t.children.some(li))}function ci(t,e){var r=t.attrsMap["slot-scope"];if(t.if&&!t.ifProcessed&&!r)return ti(t,e,ci,"null");if(t.for&&!t.forProcessed)return ri(t,e,ci);var o=t.slotScope===wc?"":String(t.slotScope),n="function("+o+"){return "+("template"===t.tag?t.if&&r?"("+t.if+")?"+(di(t,e)||"undefined")+":undefined":di(t,e)||"undefined":Jn(t,e))+"}",i=o?"":",proxy:true";return"{key:"+(t.slotTarget||'"default"')+",fn:"+n+i+"}"}function di(t,e,r,o,n){var i=t.children;if(i.length){var a=i[0];if(1===i.length&&a.for&&"template"!==a.tag&&"slot"!==a.tag){var s=r?e.maybeComponent(a)?",1":",0":"";return""+(o||Jn)(a,e)+s}var l=r?ui(i,e.maybeComponent):0,c=n||fi;return"["+i.map(function(t){return c(t,e)}).join(",")+"]"+(l?","+l:"")}}function ui(t,e){for(var r=0,o=0;o<t.length;o++){var n=t[o];if(1===n.type){if(pi(n)||n.ifConditions&&n.ifConditions.some(function(t){return pi(t.block)})){r=2;break}(e(n)||n.ifConditions&&n.ifConditions.some(function(t){return e(t.block)}))&&(r=1)}}return r}function pi(t){return void 0!==t.for||"template"===t.tag||"slot"===t.tag}function fi(t,e){return 1===t.type?Jn(t,e):3===t.type&&t.isComment?mi(t):bi(t)}function bi(t){return"_v("+(2===t.type?t.expression:yi(JSON.stringify(t.text)))+")"}function mi(t){return"_e("+JSON.stringify(t.text)+")"}function hi(t,e){var r=t.slotName||'"default"',o=di(t,e),n="_t("+r+(o?","+o:""),i=t.attrs||t.dynamicAttrs?vi((t.attrs||[]).concat(t.dynamicAttrs||[]).map(function(t){return{name:$i(t.name),value:t.value,dynamic:t.dynamic}})):null,a=t.attrsMap["v-bind"];return!i&&!a||o||(n+=",null"),i&&(n+=","+i),a&&(n+=(i?"":",null")+","+a),n+")"}function gi(t,e,r){var o=e.inlineTemplate?null:di(e,r,!0);return"_c("+t+","+oi(e,r)+(o?","+o:"")+")"}function vi(t){for(var e="",r="",o=0;o<t.length;o++){var n=t[o],i=yi(n.value);n.dynamic?r+=n.name+","+i+",":e+='"'+n.name+'":'+i+","}return e="{"+e.slice(0,-1)+"}",r?"_d("+e+",["+r.slice(0,-1)+"])":e}function yi(t){return t.replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}function wi(t,e){try{return new Function(t)}catch(r){return e.push({err:r,code:t}),j}}function xi(t){var e=Object.create(null);return function(r,o,n){o=O({},o);o.warn;delete o.warn;var i=o.delimiters?String(o.delimiters)+r:r;if(e[i])return e[i];var a=t(r,o),s={},l=[];return s.render=wi(a.render,l),s.staticRenderFns=a.staticRenderFns.map(function(t){return wi(t,l)}),e[i]=s}}function Oi(t){return Al=Al||document.createElement("div"),Al.innerHTML=t?'<a href="\n"/>':'<div a="\n"/>',Al.innerHTML.indexOf("&#10;")>0}function ki(t){if(t.outerHTML)return t.outerHTML;var e=document.createElement("div");return e.appendChild(t.cloneNode(!0)),e.innerHTML}/*!
- * Vue.js v2.6.10
- * (c) 2014-2019 Evan You
- * Released under the MIT License.
- */
-var ji=Object.freeze({}),Si=Object.prototype.toString,_i=m("slot,component",!0),Ti=m("key,ref,slot,slot-scope,is"),Pi=Object.prototype.hasOwnProperty,Ci=/-(\w)/g,$i=v(function(t){return t.replace(Ci,function(t,e){return e?e.toUpperCase():""})}),Bi=v(function(t){return t.charAt(0).toUpperCase()+t.slice(1)}),Ei=/\B([A-Z])/g,Di=v(function(t){return t.replace(Ei,"-$1").toLowerCase()}),Ai=Function.prototype.bind?w:y,Ii=function(t,e,r){return!1},zi=function(t){return t},Fi="data-server-rendered",Ni=["component","directive","filter"],Li=["beforeCreate","created","beforeMount","mounted","beforeUpdate","updated","beforeDestroy","destroyed","activated","deactivated","errorCaptured","serverPrefetch"],Ri={optionMergeStrategies:Object.create(null),silent:!1,productionTip:!1,devtools:!1,performance:!1,errorHandler:null,warnHandler:null,ignoredElements:[],keyCodes:Object.create(null),isReservedTag:Ii,isReservedAttr:Ii,isUnknownElement:Ii,getTagNamespace:j,parsePlatformTagName:zi,mustUseProp:Ii,async:!0,_lifecycleHooks:Li},Mi=/a-zA-Z\u00B7\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u037D\u037F-\u1FFF\u200C-\u200D\u203F-\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD/,Vi=new RegExp("[^"+Mi.source+".$_\\d]"),Hi="__proto__"in{},Gi="undefined"!=typeof window,Ui="undefined"!=typeof WXEnvironment&&!!WXEnvironment.platform,Wi=Ui&&WXEnvironment.platform.toLowerCase(),qi=Gi&&window.navigator.userAgent.toLowerCase(),Ki=qi&&/msie|trident/.test(qi),Zi=qi&&qi.indexOf("msie 9.0")>0,Xi=qi&&qi.indexOf("edge/")>0,Ji=(qi&&qi.indexOf("android"),qi&&/iphone|ipad|ipod|ios/.test(qi)||"ios"===Wi),Yi=(qi&&/chrome\/\d+/.test(qi),qi&&/phantomjs/.test(qi),qi&&qi.match(/firefox\/(\d+)/)),Qi={}.watch,ta=!1;if(Gi)try{var ea={};Object.defineProperty(ea,"passive",{get:function(){ta=!0}}),window.addEventListener("test-passive",null,ea)}catch(t){}var ra,oa,na=function(){return void 0===ra&&(ra=!Gi&&!Ui&&void 0!==t&&(t.process&&"server"===t.process.env.VUE_ENV)),ra},ia=Gi&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__,aa="undefined"!=typeof Symbol&&B(Symbol)&&"undefined"!=typeof Reflect&&B(Reflect.ownKeys);oa="undefined"!=typeof Set&&B(Set)?Set:function(){function t(){this.set=Object.create(null)}return t.prototype.has=function(t){return!0===this.set[t]},t.prototype.add=function(t){this.set[t]=!0},t.prototype.clear=function(){this.set=Object.create(null)},t}();var sa=j,la=0,ca=function(){this.id=la++,this.subs=[]};ca.prototype.addSub=function(t){this.subs.push(t)},ca.prototype.removeSub=function(t){h(this.subs,t)},ca.prototype.depend=function(){ca.target&&ca.target.addDep(this)},ca.prototype.notify=function(){for(var t=this.subs.slice(),e=0,r=t.length;e<r;e++)t[e].update()},ca.target=null;var da=[],ua=function(t,e,r,o,n,i,a,s){this.tag=t,this.data=e,this.children=r,this.text=o,this.elm=n,this.ns=void 0,this.context=i,this.fnContext=void 0,this.fnOptions=void 0,this.fnScopeId=void 0,this.key=e&&e.key,this.componentOptions=a,this.componentInstance=void 0,this.parent=void 0,this.raw=!1,this.isStatic=!1,this.isRootInsert=!0,this.isComment=!1,this.isCloned=!1,this.isOnce=!1,this.asyncFactory=s,this.asyncMeta=void 0,this.isAsyncPlaceholder=!1},pa={child:{configurable:!0}};pa.child.get=function(){return this.componentInstance},Object.defineProperties(ua.prototype,pa);var fa=function(t){void 0===t&&(t="");var e=new ua;return e.text=t,e.isComment=!0,e},ba=Array.prototype,ma=Object.create(ba);["push","pop","shift","unshift","splice","sort","reverse"].forEach(function(t){var e=ba[t];C(ma,t,function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var n,i=e.apply(this,r),a=this.__ob__;switch(t){case"push":case"unshift":n=r;break;case"splice":n=r.slice(2)}return n&&a.observeArray(n),a.dep.notify(),i})});var ha=Object.getOwnPropertyNames(ma),ga=!0,va=function(t){this.value=t,this.dep=new ca,this.vmCount=0,C(t,"__ob__",this),Array.isArray(t)?(Hi?F(t,ma):N(t,ma,ha),this.observeArray(t)):this.walk(t)};va.prototype.walk=function(t){for(var e=Object.keys(t),r=0;r<e.length;r++)R(t,e[r])},va.prototype.observeArray=function(t){for(var e=0,r=t.length;e<r;e++)L(t[e])};var ya=Ri.optionMergeStrategies;ya.data=function(t,e,r){return r?U(t,e,r):e&&"function"!=typeof e?t:U(t,e)},Li.forEach(function(t){ya[t]=W}),Ni.forEach(function(t){ya[t+"s"]=K}),ya.watch=function(t,e,r,o){if(t===Qi&&(t=void 0),e===Qi&&(e=void 0),!e)return Object.create(t||null);if(!t)return e;var n={};O(n,t);for(var i in e){var a=n[i],s=e[i];a&&!Array.isArray(a)&&(a=[a]),n[i]=a?a.concat(s):Array.isArray(s)?s:[s]}return n},ya.props=ya.methods=ya.inject=ya.computed=function(t,e,r,o){if(!t)return e;var n=Object.create(null);return O(n,t),e&&O(n,e),n},ya.provide=U;var wa,xa=function(t,e){return void 0===e?t:e},Oa=!1,ka=[],ja=!1;if("undefined"!=typeof Promise&&B(Promise)){var Sa=Promise.resolve();wa=function(){Sa.then(ct),Ji&&setTimeout(j)},Oa=!0}else if(Ki||"undefined"==typeof MutationObserver||!B(MutationObserver)&&"[object MutationObserverConstructor]"!==MutationObserver.toString())wa=void 0!==r&&B(r)?function(){r(ct)}:function(){setTimeout(ct,0)};else{var _a=1,Ta=new MutationObserver(ct),Pa=document.createTextNode(String(_a));Ta.observe(Pa,{characterData:!0}),wa=function(){_a=(_a+1)%2,Pa.data=String(_a)},Oa=!0}var Ca=new oa,$a=v(function(t){var e="&"===t.charAt(0);t=e?t.slice(1):t;var r="~"===t.charAt(0);t=r?t.slice(1):t;var o="!"===t.charAt(0);return t=o?t.slice(1):t,{name:t,once:r,capture:o,passive:e}});Gt(Ut.prototype);var Ba,Ea={init:function(t,e){if(t.componentInstance&&!t.componentInstance._isDestroyed&&t.data.keepAlive){var r=t;Ea.prepatch(r,r)}else{(t.componentInstance=Xt(t,Fa)).$mount(e?t.elm:void 0,e)}},prepatch:function(t,e){var r=e.componentOptions;ve(e.componentInstance=t.componentInstance,r.propsData,r.listeners,e,r.children)},insert:function(t){var e=t.context,r=t.componentInstance;r._isMounted||(r._isMounted=!0,Oe(r,"mounted")),t.data.keepAlive&&(e._isMounted?_e(r):we(r,!0))},destroy:function(t){var e=t.componentInstance;e._isDestroyed||(t.data.keepAlive?xe(e,!0):e.$destroy())}},Da=Object.keys(Ea),Aa=1,Ia=2,za=null,Fa=null,Na=[],La=[],Ra={},Ma=!1,Va=!1,Ha=0,Ga=0,Ua=Date.now;if(Gi&&!Ki){var Wa=window.performance;Wa&&"function"==typeof Wa.now&&Ua()>document.createEvent("Event").timeStamp&&(Ua=function(){return Wa.now()})}var qa=0,Ka=function(t,e,r,o,n){this.vm=t,n&&(t._watcher=this),t._watchers.push(this),o?(this.deep=!!o.deep,this.user=!!o.user,this.lazy=!!o.lazy,this.sync=!!o.sync,this.before=o.before):this.deep=this.user=this.lazy=this.sync=!1,this.cb=r,this.id=++qa,this.active=!0,this.dirty=this.lazy,this.deps=[],this.newDeps=[],this.depIds=new oa,this.newDepIds=new oa,this.expression="","function"==typeof e?this.getter=e:(this.getter=$(e),this.getter||(this.getter=j)),this.value=this.lazy?void 0:this.get()};Ka.prototype.get=function(){E(this);var t,e=this.vm;try{t=this.getter.call(e,e)}catch(t){if(!this.user)throw t;it(t,e,'getter for watcher "'+this.expression+'"')}finally{this.deep&&ut(t),D(),this.cleanupDeps()}return t},Ka.prototype.addDep=function(t){var e=t.id;this.newDepIds.has(e)||(this.newDepIds.add(e),this.newDeps.push(t),this.depIds.has(e)||t.addSub(this))},Ka.prototype.cleanupDeps=function(){for(var t=this.deps.length;t--;){var e=this.deps[t];this.newDepIds.has(e.id)||e.removeSub(this)}var r=this.depIds;this.depIds=this.newDepIds,this.newDepIds=r,this.newDepIds.clear(),r=this.deps,this.deps=this.newDeps,this.newDeps=r,this.newDeps.length=0},Ka.prototype.update=function(){this.lazy?this.dirty=!0:this.sync?this.run():Pe(this)},Ka.prototype.run=function(){if(this.active){var t=this.get();if(t!==this.value||l(t)||this.deep){var e=this.value;if(this.value=t,this.user)try{this.cb.call(this.vm,t,e)}catch(t){it(t,this.vm,'callback for watcher "'+this.expression+'"')}else this.cb.call(this.vm,t,e)}}},Ka.prototype.evaluate=function(){this.value=this.get(),this.dirty=!1},Ka.prototype.depend=function(){for(var t=this.deps.length;t--;)this.deps[t].depend()},Ka.prototype.teardown=function(){if(this.active){this.vm._isBeingDestroyed||h(this.vm._watchers,this);for(var t=this.deps.length;t--;)this.deps[t].removeSub(this);this.active=!1}};var Za={enumerable:!0,configurable:!0,get:j,set:j},Xa={lazy:!0},Ja=0;!function(t){t.prototype._init=function(t){var e=this;e._uid=Ja++,e._isVue=!0,t&&t._isComponent?Me(e,t):e.$options=Y(Ve(e.constructor),t||{},e),e._renderProxy=e,e._self=e,he(e),de(e),ne(e),Oe(e,"beforeCreate"),kt(e),$e(e),Ot(e),Oe(e,"created"),e.$options.el&&e.$mount(e.$options.el)}}(Ge),function(t){var e={};e.get=function(){return this._data};var r={};r.get=function(){return this._props},Object.defineProperty(t.prototype,"$data",e),Object.defineProperty(t.prototype,"$props",r),t.prototype.$set=M,t.prototype.$delete=V,t.prototype.$watch=function(t,e,r){var o=this;if(c(e))return Re(o,t,e,r);r=r||{},r.user=!0;var n=new Ka(o,t,e,r);if(r.immediate)try{e.call(o,n.value)}catch(t){it(t,o,'callback for immediate watcher "'+n.expression+'"')}return function(){n.teardown()}}}(Ge),function(t){var e=/^hook:/;t.prototype.$on=function(t,r){var o=this;if(Array.isArray(t))for(var n=0,i=t.length;n<i;n++)o.$on(t[n],r);else(o._events[t]||(o._events[t]=[])).push(r),e.test(t)&&(o._hasHookEvent=!0);return o},t.prototype.$once=function(t,e){function r(){o.$off(t,r),e.apply(o,arguments)}var o=this;return r.fn=e,o.$on(t,r),o},t.prototype.$off=function(t,e){var r=this;if(!arguments.length)return r._events=Object.create(null),r;if(Array.isArray(t)){for(var o=0,n=t.length;o<n;o++)r.$off(t[o],e);return r}var i=r._events[t];if(!i)return r;if(!e)return r._events[t]=null,r;for(var a,s=i.length;s--;)if((a=i[s])===e||a.fn===e){i.splice(s,1);break}return r},t.prototype.$emit=function(t){var e=this,r=e._events[t];if(r){r=r.length>1?x(r):r;for(var o=x(arguments,1),n='event handler for "'+t+'"',i=0,a=r.length;i<a;i++)at(r[i],e,o,e,n)}return e}}(Ge),function(t){t.prototype._update=function(t,e){var r=this,o=r.$el,n=r._vnode,i=me(r);r._vnode=t,r.$el=n?r.__patch__(n,t):r.__patch__(r.$el,t,e,!1),i(),o&&(o.__vue__=null),r.$el&&(r.$el.__vue__=r),r.$vnode&&r.$parent&&r.$vnode===r.$parent._vnode&&(r.$parent.$el=r.$el)},t.prototype.$forceUpdate=function(){var t=this;t._watcher&&t._watcher.update()},t.prototype.$destroy=function(){var t=this;if(!t._isBeingDestroyed){Oe(t,"beforeDestroy"),t._isBeingDestroyed=!0;var e=t.$parent;!e||e._isBeingDestroyed||t.$options.abstract||h(e.$children,t),t._watcher&&t._watcher.teardown();for(var r=t._watchers.length;r--;)t._watchers[r].teardown();t._data.__ob__&&t._data.__ob__.vmCount--,t._isDestroyed=!0,t.__patch__(t._vnode,null),Oe(t,"destroyed"),t.$off(),t.$el&&(t.$el.__vue__=null),t.$vnode&&(t.$vnode.parent=null)}}}(Ge),function(t){Gt(t.prototype),t.prototype.$nextTick=function(t){return dt(t,this)},t.prototype._render=function(){var t=this,e=t.$options,r=e.render,o=e._parentVnode;o&&(t.$scopedSlots=Tt(o.data.scopedSlots,t.$slots,t.$scopedSlots)),t.$vnode=o;var n;try{za=t,n=r.call(t._renderProxy,t.$createElement)}catch(e){it(e,t,"render"),n=t._vnode}finally{za=null}return Array.isArray(n)&&1===n.length&&(n=n[0]),n instanceof ua||(n=fa()),n.parent=o,n}}(Ge);var Ya=[String,RegExp,Array],Qa={name:"keep-alive",abstract:!0,props:{include:Ya,exclude:Ya,max:[String,Number]},created:function(){this.cache=Object.create(null),this.keys=[]},destroyed:function(){for(var t in this.cache)tr(this.cache,t,this.keys)},mounted:function(){var t=this;this.$watch("include",function(e){Qe(t,function(t){return Ye(e,t)})}),this.$watch("exclude",function(e){Qe(t,function(t){return!Ye(e,t)})})},render:function(){var t=this.$slots.default,e=ce(t),r=e&&e.componentOptions;if(r){var o=Je(r),n=this,i=n.include,a=n.exclude;if(i&&(!o||!Ye(i,o))||a&&o&&Ye(a,o))return e;var s=this,l=s.cache,c=s.keys,d=null==e.key?r.Ctor.cid+(r.tag?"::"+r.tag:""):e.key;l[d]?(e.componentInstance=l[d].componentInstance,h(c,d),c.push(d)):(l[d]=e,c.push(d),this.max&&c.length>parseInt(this.max)&&tr(l,c[0],c,this._vnode)),e.data.keepAlive=!0}return e||t&&t[0]}},ts={KeepAlive:Qa};!function(t){var e={};e.get=function(){return Ri},Object.defineProperty(t,"config",e),t.util={warn:sa,extend:O,mergeOptions:Y,defineReactive:R},t.set=M,t.delete=V,t.nextTick=dt,t.observable=function(t){return L(t),t},t.options=Object.create(null),Ni.forEach(function(e){t.options[e+"s"]=Object.create(null)}),t.options._base=t,O(t.options.components,ts),Ue(t),We(t),qe(t),Xe(t)}(Ge),Object.defineProperty(Ge.prototype,"$isServer",{get:na}),Object.defineProperty(Ge.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Object.defineProperty(Ge,"FunctionalRenderContext",{value:Ut}),Ge.version="2.6.10";var es,rs,os,ns,is,as,ss,ls,cs,ds,us=m("style,class"),ps=m("input,textarea,option,select,progress"),fs=function(t,e,r){return"value"===r&&ps(t)&&"button"!==e||"selected"===r&&"option"===t||"checked"===r&&"input"===t||"muted"===r&&"video"===t},bs=m("contenteditable,draggable,spellcheck"),ms=m("events,caret,typing,plaintext-only"),hs=function(t,e){return xs(e)||"false"===e?"false":"contenteditable"===t&&ms(e)?e:"true"},gs=m("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,translate,truespeed,typemustmatch,visible"),vs="http://www.w3.org/1999/xlink",ys=function(t){return":"===t.charAt(5)&&"xlink"===t.slice(0,5)},ws=function(t){return ys(t)?t.slice(6,t.length):""},xs=function(t){return null==t||!1===t},Os={svg:"http://www.w3.org/2000/svg",math:"http://www.w3.org/1998/Math/MathML"},ks=m("html,body,base,head,link,meta,style,title,address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,menuitem,summary,content,element,shadow,template,blockquote,iframe,tfoot"),js=m("svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,foreignObject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern,polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view",!0),Ss=function(t){return"pre"===t},_s=function(t){return ks(t)||js(t)},Ts=Object.create(null),Ps=m("text,number,password,search,email,tel,url"),Cs=Object.freeze({createElement:ur,createElementNS:pr,createTextNode:fr,createComment:br,insertBefore:mr,removeChild:hr,appendChild:gr,parentNode:vr,nextSibling:yr,tagName:wr,setTextContent:xr,setStyleScope:Or}),$s={create:function(t,e){kr(e)},update:function(t,e){t.data.ref!==e.data.ref&&(kr(t,!0),kr(e))},destroy:function(t){kr(t,!0)}},Bs=new ua("",{},[]),Es=["create","activate","update","remove","destroy"],Ds={create:Tr,update:Tr,destroy:function(t){Tr(t,Bs)}},As=Object.create(null),Is=[$s,Ds],zs={create:Er,update:Er},Fs={create:Ir,update:Ir},Ns=/[\w).+\-_$\]]/,Ls="__r",Rs="__c",Ms=Oa&&!(Yi&&Number(Yi[1])<=53),Vs={create:mo,update:mo},Hs={create:ho,update:ho},Gs=v(function(t){var e={},r=/;(?![^(]*\))/g,o=/:(.+)/;return t.split(r).forEach(function(t){if(t){var r=t.split(o);r.length>1&&(e[r[0].trim()]=r[1].trim())}}),e}),Us=/^--/,Ws=/\s*!important$/,qs=function(t,e,r){if(Us.test(e))t.style.setProperty(e,r);else if(Ws.test(r))t.style.setProperty(Di(e),r.replace(Ws,""),"important");else{var o=Zs(e);if(Array.isArray(r))for(var n=0,i=r.length;n<i;n++)t.style[o]=r[n];else t.style[o]=r}},Ks=["Webkit","Moz","ms"],Zs=v(function(t){if(ds=ds||document.createElement("div").style,"filter"!==(t=$i(t))&&t in ds)return t;for(var e=t.charAt(0).toUpperCase()+t.slice(1),r=0;r<Ks.length;r++){var o=Ks[r]+e;if(o in ds)return o}}),Xs={create:ko,update:ko},Js=/\s+/,Ys=v(function(t){return{enterClass:t+"-enter",enterToClass:t+"-enter-to",enterActiveClass:t+"-enter-active",leaveClass:t+"-leave",leaveToClass:t+"-leave-to",leaveActiveClass:t+"-leave-active"}}),Qs=Gi&&!Zi,tl="transition",el="animation",rl="transition",ol="transitionend",nl="animation",il="animationend";Qs&&(void 0===window.ontransitionend&&void 0!==window.onwebkittransitionend&&(rl="WebkitTransition",ol="webkitTransitionEnd"),void 0===window.onanimationend&&void 0!==window.onwebkitanimationend&&(nl="WebkitAnimation",il="webkitAnimationEnd"));var al=Gi?window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout:function(t){return t()},sl=/\b(transform|all)(,|$)/,ll=Gi?{create:No,activate:No,remove:function(t,e){!0!==t.data.show?Io(t,e):e()}}:{},cl=[zs,Fs,Vs,Hs,Xs,ll],dl=cl.concat(Is),ul=function(t){function e(t){return new ua(B.tagName(t).toLowerCase(),{},[],void 0,t)}function r(t,e){function r(){0==--r.listeners&&a(t)}return r.listeners=e,r}function a(t){var e=B.parentNode(t);n(e)&&B.removeChild(e,t)}function l(t,e,r,o,a,s,l){if(n(t.elm)&&n(s)&&(t=s[l]=I(t)),t.isRootInsert=!a,!c(t,e,r,o)){var d=t.data,u=t.children,b=t.tag;n(b)?(t.elm=t.ns?B.createElementNS(t.ns,b):B.createElement(b,t),g(t),f(t,u,e),n(d)&&h(t,e),p(r,t.elm,o)):i(t.isComment)?(t.elm=B.createComment(t.text),p(r,t.elm,o)):(t.elm=B.createTextNode(t.text),p(r,t.elm,o))}}function c(t,e,r,o){var a=t.data;if(n(a)){var s=n(t.componentInstance)&&a.keepAlive;if(n(a=a.hook)&&n(a=a.init)&&a(t,!1),n(t.componentInstance))return d(t,e),p(r,t.elm,o),i(s)&&u(t,e,r,o),!0}}function d(t,e){n(t.data.pendingInsert)&&(e.push.apply(e,t.data.pendingInsert),t.data.pendingInsert=null),t.elm=t.componentInstance.$el,b(t)?(h(t,e),g(t)):(kr(t),e.push(t))}function u(t,e,r,o){for(var i,a=t;a.componentInstance;)if(a=a.componentInstance._vnode,n(i=a.data)&&n(i=i.transition)){for(i=0;i<C.activate.length;++i)C.activate[i](Bs,a);e.push(a);break}p(r,t.elm,o)}function p(t,e,r){n(t)&&(n(r)?B.parentNode(r)===t&&B.insertBefore(t,e,r):B.appendChild(t,e))}function f(t,e,r){if(Array.isArray(e))for(var o=0;o<e.length;++o)l(e[o],r,t.elm,null,!0,e,o);else s(t.text)&&B.appendChild(t.elm,B.createTextNode(String(t.text)))}function b(t){for(;t.componentInstance;)t=t.componentInstance._vnode;return n(t.tag)}function h(t,e){for(var r=0;r<C.create.length;++r)C.create[r](Bs,t);T=t.data.hook,n(T)&&(n(T.create)&&T.create(Bs,t),n(T.insert)&&e.push(t))}function g(t){var e;if(n(e=t.fnScopeId))B.setStyleScope(t.elm,e);else for(var r=t;r;)n(e=r.context)&&n(e=e.$options._scopeId)&&B.setStyleScope(t.elm,e),r=r.parent;n(e=Fa)&&e!==t.context&&e!==t.fnContext&&n(e=e.$options._scopeId)&&B.setStyleScope(t.elm,e)}function v(t,e,r,o,n,i){for(;o<=n;++o)l(r[o],i,t,e,!1,r,o)}function y(t){var e,r,o=t.data;if(n(o))for(n(e=o.hook)&&n(e=e.destroy)&&e(t),e=0;e<C.destroy.length;++e)C.destroy[e](t);if(n(e=t.children))for(r=0;r<t.children.length;++r)y(t.children[r])}function w(t,e,r,o){for(;r<=o;++r){var i=e[r];n(i)&&(n(i.tag)?(x(i),y(i)):a(i.elm))}}function x(t,e){if(n(e)||n(t.data)){var o,i=C.remove.length+1;for(n(e)?e.listeners+=i:e=r(t.elm,i),n(o=t.componentInstance)&&n(o=o._vnode)&&n(o.data)&&x(o,e),o=0;o<C.remove.length;++o)C.remove[o](t,e);n(o=t.data.hook)&&n(o=o.remove)?o(t,e):e()}else a(t.elm)}function O(t,e,r,i,a){for(var s,c,d,u,p=0,f=0,b=e.length-1,m=e[0],h=e[b],g=r.length-1,y=r[0],x=r[g],O=!a;p<=b&&f<=g;)o(m)?m=e[++p]:o(h)?h=e[--b]:jr(m,y)?(j(m,y,i,r,f),m=e[++p],y=r[++f]):jr(h,x)?(j(h,x,i,r,g),h=e[--b],x=r[--g]):jr(m,x)?(j(m,x,i,r,g),O&&B.insertBefore(t,m.elm,B.nextSibling(h.elm)),m=e[++p],x=r[--g]):jr(h,y)?(j(h,y,i,r,f),O&&B.insertBefore(t,h.elm,m.elm),h=e[--b],y=r[++f]):(o(s)&&(s=_r(e,p,b)),c=n(y.key)?s[y.key]:k(y,e,p,b),o(c)?l(y,i,t,m.elm,!1,r,f):(d=e[c],jr(d,y)?(j(d,y,i,r,f),e[c]=void 0,O&&B.insertBefore(t,d.elm,m.elm)):l(y,i,t,m.elm,!1,r,f)),y=r[++f]);p>b?(u=o(r[g+1])?null:r[g+1].elm,v(t,u,r,f,g,i)):f>g&&w(t,e,p,b)}function k(t,e,r,o){for(var i=r;i<o;i++){var a=e[i];if(n(a)&&jr(t,a))return i}}function j(t,e,r,a,s,l){if(t!==e){n(e.elm)&&n(a)&&(e=a[s]=I(e));var c=e.elm=t.elm;if(i(t.isAsyncPlaceholder))return void(n(e.asyncFactory.resolved)?_(t.elm,e,r):e.isAsyncPlaceholder=!0);if(i(e.isStatic)&&i(t.isStatic)&&e.key===t.key&&(i(e.isCloned)||i(e.isOnce)))return void(e.componentInstance=t.componentInstance);var d,u=e.data;n(u)&&n(d=u.hook)&&n(d=d.prepatch)&&d(t,e);var p=t.children,f=e.children;if(n(u)&&b(e)){for(d=0;d<C.update.length;++d)C.update[d](t,e);n(d=u.hook)&&n(d=d.update)&&d(t,e)}o(e.text)?n(p)&&n(f)?p!==f&&O(c,p,f,r,l):n(f)?(n(t.text)&&B.setTextContent(c,""),v(c,null,f,0,f.length-1,r)):n(p)?w(c,p,0,p.length-1):n(t.text)&&B.setTextContent(c,""):t.text!==e.text&&B.setTextContent(c,e.text),n(u)&&n(d=u.hook)&&n(d=d.postpatch)&&d(t,e)}}function S(t,e,r){if(i(r)&&n(t.parent))t.parent.data.pendingInsert=e;else for(var o=0;o<e.length;++o)e[o].data.hook.insert(e[o])}function _(t,e,r,o){var a,s=e.tag,l=e.data,c=e.children;if(o=o||l&&l.pre,e.elm=t,i(e.isComment)&&n(e.asyncFactory))return e.isAsyncPlaceholder=!0,!0;if(n(l)&&(n(a=l.hook)&&n(a=a.init)&&a(e,!0),n(a=e.componentInstance)))return d(e,r),!0;if(n(s)){if(n(c))if(t.hasChildNodes())if(n(a=l)&&n(a=a.domProps)&&n(a=a.innerHTML)){if(a!==t.innerHTML)return!1}else{for(var u=!0,p=t.firstChild,b=0;b<c.length;b++){if(!p||!_(p,c[b],r,o)){u=!1;break}p=p.nextSibling}if(!u||p)return!1}else f(e,c,r);if(n(l)){var m=!1;for(var g in l)if(!E(g)){m=!0,h(e,r);break}!m&&l.class&&ut(l.class)}}else t.data!==e.text&&(t.data=e.text);return!0}var T,P,C={},$=t.modules,B=t.nodeOps;for(T=0;T<Es.length;++T)for(C[Es[T]]=[],P=0;P<$.length;++P)n($[P][Es[T]])&&C[Es[T]].push($[P][Es[T]]);var E=m("attrs,class,staticClass,staticStyle,key");return function(t,r,a,s){if(o(r))return void(n(t)&&y(t));var c=!1,d=[];if(o(t))c=!0,l(r,d);else{var u=n(t.nodeType);if(!u&&jr(t,r))j(t,r,d,null,null,s);else{if(u){if(1===t.nodeType&&t.hasAttribute(Fi)&&(t.removeAttribute(Fi),a=!0),i(a)&&_(t,r,d))return S(r,d,!0),t;t=e(t)}var p=t.elm,f=B.parentNode(p);if(l(r,d,p._leaveCb?null:f,B.nextSibling(p)),n(r.parent))for(var m=r.parent,h=b(r);m;){for(var g=0;g<C.destroy.length;++g)C.destroy[g](m);if(m.elm=r.elm,h){for(var v=0;v<C.create.length;++v)C.create[v](Bs,m);var x=m.data.hook.insert;if(x.merged)for(var O=1;O<x.fns.length;O++)x.fns[O]()}else kr(m);m=m.parent}n(f)?w(f,[t],0,0):n(t.tag)&&y(t)}}return S(r,d,c),r.elm}}({nodeOps:Cs,modules:dl});Zi&&document.addEventListener("selectionchange",function(){var t=document.activeElement;t&&t.vmodel&&Uo(t,"input")});var pl={inserted:function(t,e,r,o){"select"===r.tag?(o.elm&&!o.elm._vOptions?mt(r,"postpatch",function(){pl.componentUpdated(t,e,r)}):Lo(t,e,r.context),t._vOptions=[].map.call(t.options,Vo)):("textarea"===r.tag||Ps(t.type))&&(t._vModifiers=e.modifiers,e.modifiers.lazy||(t.addEventListener("compositionstart",Ho),t.addEventListener("compositionend",Go),t.addEventListener("change",Go),Zi&&(t.vmodel=!0)))},componentUpdated:function(t,e,r){if("select"===r.tag){Lo(t,e,r.context);var o=t._vOptions,n=t._vOptions=[].map.call(t.options,Vo);if(n.some(function(t,e){return!S(t,o[e])})){(t.multiple?e.value.some(function(t){return Mo(t,n)}):e.value!==e.oldValue&&Mo(e.value,n))&&Uo(t,"change")}}}},fl={bind:function(t,e,r){var o=e.value;r=Wo(r);var n=r.data&&r.data.transition,i=t.__vOriginalDisplay="none"===t.style.display?"":t.style.display;o&&n?(r.data.show=!0,Ao(r,function(){t.style.display=i})):t.style.display=o?i:"none"},update:function(t,e,r){var o=e.value;!o!=!e.oldValue&&(r=Wo(r),r.data&&r.data.transition?(r.data.show=!0,o?Ao(r,function(){t.style.display=t.__vOriginalDisplay}):Io(r,function(){t.style.display="none"})):t.style.display=o?t.__vOriginalDisplay:"none")},unbind:function(t,e,r,o,n){n||(t.style.display=t.__vOriginalDisplay)}},bl={model:pl,show:fl},ml={name:String,appear:Boolean,css:Boolean,mode:String,type:String,enterClass:String,leaveClass:String,enterToClass:String,leaveToClass:String,enterActiveClass:String,leaveActiveClass:String,appearClass:String,appearActiveClass:String,appearToClass:String,duration:[Number,String,Object]},hl=function(t){return t.tag||le(t)},gl=function(t){return"show"===t.name},vl={name:"transition",props:ml,abstract:!0,render:function(t){var e=this,r=this.$slots.default;if(r&&(r=r.filter(hl),r.length)){var o=this.mode,n=r[0];if(Xo(this.$vnode))return n;var i=qo(n);if(!i)return n;if(this._leaving)return Zo(t,n);var a="__transition-"+this._uid+"-";i.key=null==i.key?i.isComment?a+"comment":a+i.tag:s(i.key)?0===String(i.key).indexOf(a)?i.key:a+i.key:i.key;var l=(i.data||(i.data={})).transition=Ko(this),c=this._vnode,d=qo(c);if(i.data.directives&&i.data.directives.some(gl)&&(i.data.show=!0),d&&d.data&&!Jo(i,d)&&!le(d)&&(!d.componentInstance||!d.componentInstance._vnode.isComment)){var u=d.data.transition=O({},l);if("out-in"===o)return this._leaving=!0,mt(u,"afterLeave",function(){e._leaving=!1,e.$forceUpdate()}),Zo(t,n);if("in-out"===o){if(le(i))return c;var p,f=function(){p()};mt(l,"afterEnter",f),mt(l,"enterCancelled",f),mt(u,"delayLeave",function(t){p=t})}}return n}}},yl=O({tag:String,moveClass:String},ml);delete yl.mode;var wl={props:yl,beforeMount:function(){var t=this,e=this._update;this._update=function(r,o){var n=me(t);t.__patch__(t._vnode,t.kept,!1,!0),t._vnode=t.kept,n(),e.call(t,r,o)}},render:function(t){for(var e=this.tag||this.$vnode.data.tag||"span",r=Object.create(null),o=this.prevChildren=this.children,n=this.$slots.default||[],i=this.children=[],a=Ko(this),s=0;s<n.length;s++){var l=n[s];if(l.tag)if(null!=l.key&&0!==String(l.key).indexOf("__vlist"))i.push(l),r[l.key]=l,(l.data||(l.data={})).transition=a;else;}if(o){for(var c=[],d=[],u=0;u<o.length;u++){var p=o[u];p.data.transition=a,p.data.pos=p.elm.getBoundingClientRect(),r[p.key]?c.push(p):d.push(p)}this.kept=t(e,null,c),this.removed=d}return t(e,null,i)},updated:function(){var t=this.prevChildren,e=this.moveClass||(this.name||"v")+"-move";t.length&&this.hasMove(t[0].elm,e)&&(t.forEach(Yo),t.forEach(Qo),t.forEach(tn),this._reflow=document.body.offsetHeight,t.forEach(function(t){if(t.data.moved){var r=t.elm,o=r.style;Po(r,e),o.transform=o.WebkitTransform=o.transitionDuration="",r.addEventListener(ol,r._moveCb=function t(o){o&&o.target!==r||o&&!/transform$/.test(o.propertyName)||(r.removeEventListener(ol,t),r._moveCb=null,Co(r,e))})}}))},methods:{hasMove:function(t,e){if(!Qs)return!1;if(this._hasMove)return this._hasMove;var r=t.cloneNode();t._transitionClasses&&t._transitionClasses.forEach(function(t){So(r,t)}),jo(r,e),r.style.display="none",this.$el.appendChild(r);var o=Bo(r);return this.$el.removeChild(r),this._hasMove=o.hasTransform}}},xl={Transition:vl,TransitionGroup:wl};Ge.config.mustUseProp=fs,Ge.config.isReservedTag=_s,Ge.config.isReservedAttr=us,Ge.config.getTagNamespace=lr,Ge.config.isUnknownElement=cr,O(Ge.options.directives,bl),O(Ge.options.components,xl),Ge.prototype.__patch__=Gi?ul:j,Ge.prototype.$mount=function(t,e){return t=t&&Gi?dr(t):void 0,ge(this,t,e)},Gi&&setTimeout(function(){Ri.devtools&&ia&&ia.emit("init",Ge)},0);var Ol,kl,jl,Sl,_l,Tl,Pl,Cl,$l,Bl,El,Dl,Al,Il=/\{\{((?:.|\r?\n)+?)\}\}/g,zl=/[-.*+?^${}()|[\]\/\\]/g,Fl=v(function(t){var e=t[0].replace(zl,"\\$&"),r=t[1].replace(zl,"\\$&");return new RegExp(e+"((?:.|\\n)+?)"+r,"g")}),Nl={staticKeys:["staticClass"],transformNode:rn,genData:on},Ll={staticKeys:["staticStyle"],transformNode:nn,genData:an},Rl={decode:function(t){return Ol=Ol||document.createElement("div"),Ol.innerHTML=t,Ol.textContent}},Ml=m("area,base,br,col,embed,frame,hr,img,input,isindex,keygen,link,meta,param,source,track,wbr"),Vl=m("colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr,source"),Hl=m("address,article,aside,base,blockquote,body,caption,col,colgroup,dd,details,dialog,div,dl,dt,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,head,header,hgroup,hr,html,legend,li,menuitem,meta,optgroup,option,param,rp,rt,source,style,summary,tbody,td,tfoot,th,thead,title,tr,track"),Gl=/^\s*([^\s"'<>\/=]+)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/,Ul=/^\s*((?:v-[\w-]+:|@|:|#)\[[^=]+\][^\s"'<>\/=]*)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/,Wl="[a-zA-Z_][\\-\\.0-9_a-zA-Z"+Mi.source+"]*",ql="((?:"+Wl+"\\:)?"+Wl+")",Kl=new RegExp("^<"+ql),Zl=/^\s*(\/?)>/,Xl=new RegExp("^<\\/"+ql+"[^>]*>"),Jl=/^<!DOCTYPE [^>]+>/i,Yl=/^<!\--/,Ql=/^<!\[/,tc=m("script,style,textarea",!0),ec={},rc={"&lt;":"<","&gt;":">","&quot;":'"',"&amp;":"&","&#10;":"\n","&#9;":"\t","&#39;":"'"},oc=/&(?:lt|gt|quot|amp|#39);/g,nc=/&(?:lt|gt|quot|amp|#39|#10|#9);/g,ic=m("pre,textarea",!0),ac=function(t,e){return t&&ic(t)&&"\n"===e[0]},sc=/^@|^v-on:/,lc=/^v-|^@|^:/,cc=/([\s\S]*?)\s+(?:in|of)\s+([\s\S]*)/,dc=/,([^,\}\]]*)(?:,([^,\}\]]*))?$/,uc=/^\(|\)$/g,pc=/^\[.*\]$/,fc=/:(.*)$/,bc=/^:|^\.|^v-bind:/,mc=/\.[^.\]]+(?=[^\]]*$)/g,hc=/^v-slot(:|$)|^#/,gc=/[\r\n]/,vc=/\s+/g,yc=v(Rl.decode),wc="_empty_",xc=/^xmlns:NS\d+/,Oc=/^NS\d+:/,kc={preTransformNode:An},jc=[Nl,Ll,kc],Sc={model:io,text:zn,html:Fn},_c={expectHTML:!0,modules:jc,directives:Sc,isPreTag:Ss,isUnaryTag:Ml,mustUseProp:fs,canBeLeftOpenTag:Vl,isReservedTag:_s,getTagNamespace:lr,staticKeys:function(t){return t.reduce(function(t,e){return t.concat(e.staticKeys||[])},[]).join(",")}(jc)},Tc=v(Ln),Pc=/^([\w$_]+|\([^)]*?\))\s*=>|^function\s*(?:[\w$]+)?\s*\(/,Cc=/\([^)]*?\);*$/,$c=/^[A-Za-z_$][\w$]*(?:\.[A-Za-z_$][\w$]*|\['[^']*?']|\["[^"]*?"]|\[\d+]|\[[A-Za-z_$][\w$]*])*$/,Bc={esc:27,tab:9,enter:13,space:32,up:38,left:37,right:39,down:40,delete:[8,46]},Ec={esc:["Esc","Escape"],tab:"Tab",enter:"Enter",space:[" ","Spacebar"],up:["Up","ArrowUp"],left:["Left","ArrowLeft"],right:["Right","ArrowRight"],down:["Down","ArrowDown"],delete:["Backspace","Delete","Del"]},Dc=function(t){return"if("+t+")return null;"},Ac={stop:"$event.stopPropagation();",prevent:"$event.preventDefault();",self:Dc("$event.target !== $event.currentTarget"),ctrl:Dc("!$event.ctrlKey"),shift:Dc("!$event.shiftKey"),alt:Dc("!$event.altKey"),meta:Dc("!$event.metaKey"),left:Dc("'button' in $event && $event.button !== 0"),middle:Dc("'button' in $event && $event.button !== 1"),right:Dc("'button' in $event && $event.button !== 2")},Ic={on:Kn,bind:Zn,cloak:j},zc=function(t){this.options=t,this.warn=t.warn||Nr,this.transforms=Lr(t.modules,"transformCode"),this.dataGenFns=Lr(t.modules,"genData"),this.directives=O(O({},Ic),t.directives);var e=t.isReservedTag||Ii;this.maybeComponent=function(t){return!!t.component||!e(t.tag)},this.onceId=0,this.staticRenderFns=[],this.pre=!1},Fc=(new RegExp("\\b"+"do,if,for,let,new,try,var,case,else,with,await,break,catch,class,const,super,throw,while,yield,delete,export,import,return,switch,default,extends,finally,continue,debugger,function,arguments".split(",").join("\\b|\\b")+"\\b"),new RegExp("\\b"+"delete,typeof,void".split(",").join("\\s*\\([^\\)]*\\)|\\b")+"\\s*\\([^\\)]*\\)"),function(t){return function(e){function r(r,o){var n=Object.create(e),i=[],a=[],s=function(t,e,r){(r?a:i).push(t)};if(o){o.modules&&(n.modules=(e.modules||[]).concat(o.modules)),o.directives&&(n.directives=O(Object.create(e.directives||null),o.directives));for(var l in o)"modules"!==l&&"directives"!==l&&(n[l]=o[l])}n.warn=s;var c=t(r.trim(),n);return c.errors=i,c.tips=a,c}return{compile:r,compileToFunctions:xi(r)}}}(function(t,e){var r=dn(t.trim(),e);!1!==e.optimize&&Nn(r,e);var o=Xn(r,e);return{ast:r,render:o.render,staticRenderFns:o.staticRenderFns}})),Nc=Fc(_c),Lc=(Nc.compile,Nc.compileToFunctions),Rc=!!Gi&&Oi(!1),Mc=!!Gi&&Oi(!0),Vc=v(function(t){var e=dr(t);return e&&e.innerHTML}),Hc=Ge.prototype.$mount;Ge.prototype.$mount=function(t,e){if((t=t&&dr(t))===document.body||t===document.documentElement)return this;var r=this.$options;if(!r.render){var o=r.template;if(o)if("string"==typeof o)"#"===o.charAt(0)&&(o=Vc(o));else{if(!o.nodeType)return this;o=o.innerHTML}else t&&(o=ki(t));if(o){var n=Lc(o,{outputSourceRange:!1,shouldDecodeNewlines:Rc,shouldDecodeNewlinesForHref:Mc,delimiters:r.delimiters,comments:r.comments},this),i=n.render,a=n.staticRenderFns;r.render=i,r.staticRenderFns=a}}return Hc.call(this,t,e)},Ge.compile=Lc,e.default=Ge}.call(e,r(25),r(226).setImmediate)},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){i(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function a(t){return c(t)||l(t)||s()}function s(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function l(t){if(Symbol.iterator in Object(t)||"[object Arguments]"===Object.prototype.toString.call(t))return Array.from(t)}function c(t){if(Array.isArray(t)){for(var e=0,r=new Array(t.length);e<t.length;e++)r[e]=t[e];return r}}var d=r(1),u=r(8),p=function t(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e;return Object(d.a)(e)?e.reduce(function(e,r){return[].concat(a(e),[t(r,r)])},[]):Object(d.j)(e)?Object(u.j)(e).reduce(function(r,o){return n({},r,i({},o,t(e[o],e[o])))},{}):r};e.a=p},function(t,e,r){"use strict";var o=r(8),n=function(t){var e=Object(o.b)(null);return function(){for(var r=arguments.length,o=new Array(r),n=0;n<r;n++)o[n]=arguments[n];var i=JSON.stringify(o);return e[i]=e[i]||t.apply(null,o)}};e.a=n},function(t,e,r){"use strict";r.d(e,"a",function(){return a});var o=r(0),n=r(2),i=r(110),a=o.a.extend({name:"BBreadcrumbItem",functional:!0,props:i.b,render:function(t,e){var r=e.props,o=e.data,a=e.children;return t("li",Object(n.a)(o,{staticClass:"breadcrumb-item",class:{active:r.active}}),[t(i.a,{props:r},a)])}})},function(t,e,r){"use strict";var o=r(1),n=function(t){return Object(o.m)(t)||(t=String(t)),t=t.trim(),t.charAt(0).toUpperCase()+t.slice(1)};e.a=n},function(t,e,r){"use strict";function o(t){return a(t)||i(t)||n()}function n(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function i(t){if(Symbol.iterator in Object(t)||"[object Arguments]"===Object.prototype.toString.call(t))return Array.from(t)}function a(t){if(Array.isArray(t)){for(var e=0,r=new Array(t.length);e<t.length;e++)r[e]=t[e];return r}}function s(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function l(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"b",function(){return g}),r.d(e,"a",function(){return v});var c=r(0),d=r(2),u=r(35),p=r(36),f=r(15),b=r(37),m=r(56),h=r(57),g=function(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?s(r,!0).forEach(function(e){l(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):s(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}({},Object(p.a)(b.a.props,u.a.bind(null,"body")),{bodyClass:{type:[String,Object,Array],default:null}},m.b,{},h.b,{overlay:{type:Boolean,default:!1}}),v=c.a.extend({name:"BCardBody",functional:!0,props:g,render:function(t,e){var r,n=e.props,i=e.data,a=e.children,s=t(),c=t(),u=a||[t()];return n.title&&(s=t(m.a,{props:Object(f.a)(m.b,n)})),n.subTitle&&(c=t(h.a,{props:Object(f.a)(h.b,n),class:["mb-2"]})),t(n.bodyTag,Object(d.a)(i,{staticClass:"card-body",class:[(r={"card-img-overlay":n.overlay},l(r,"bg-".concat(n.bodyBgVariant),Boolean(n.bodyBgVariant)),l(r,"border-".concat(n.bodyBorderVariant),Boolean(n.bodyBorderVariant)),l(r,"text-".concat(n.bodyTextVariant),Boolean(n.bodyTextVariant)),r),n.bodyClass||{}]}),[s,c].concat(o(u)))}})},function(t,e,r){"use strict";r.d(e,"b",function(){return i}),r.d(e,"a",function(){return a});var o=r(0),n=r(2),i={title:{type:String,default:""},titleTag:{type:String,default:"h4"}},a=o.a.extend({name:"BCardTitle",functional:!0,props:i,render:function(t,e){var r=e.props,o=e.data,i=e.children;return t(r.titleTag,Object(n.a)(o,{staticClass:"card-title"}),i||r.title)}})},function(t,e,r){"use strict";r.d(e,"b",function(){return s}),r.d(e,"a",function(){return l});var o=r(0),n=r(2),i=r(4),a="BCardSubTitle",s={subTitle:{type:String,default:""},subTitleTag:{type:String,default:"h6"},subTitleTextVariant:{type:String,default:function(){return Object(i.c)(a,"subTitleTextVariant")}}},l=o.a.extend({name:a,functional:!0,props:s,render:function(t,e){var r=e.props,o=e.data,i=e.children;return t(r.subTitleTag,Object(n.a)(o,{staticClass:"card-subtitle",class:[r.subTitleTextVariant?"text-".concat(r.subTitleTextVariant):null]}),i||r.subTitle)}})},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"b",function(){return u}),r.d(e,"a",function(){return p});var i=r(0),a=r(2),s=r(35),l=r(36),c=r(11),d=r(37),u=function(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){n(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}({},Object(l.a)(d.a.props,s.a.bind(null,"header")),{header:{type:String,default:null},headerHtml:{type:String,default:null},headerClass:{type:[String,Object,Array],default:null}}),p=i.a.extend({name:"BCardHeader",functional:!0,props:u,render:function(t,e){var r,o=e.props,i=e.data,s=e.children;return t(o.headerTag,Object(a.a)(i,{staticClass:"card-header",class:[o.headerClass,(r={},n(r,"bg-".concat(o.headerBgVariant),Boolean(o.headerBgVariant)),n(r,"border-".concat(o.headerBorderVariant),Boolean(o.headerBorderVariant)),n(r,"text-".concat(o.headerTextVariant),Boolean(o.headerTextVariant)),r)]}),s||[t("div",{domProps:Object(c.a)(o.headerHtml,o.header)})])}})},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"b",function(){return u}),r.d(e,"a",function(){return p});var i=r(0),a=r(2),s=r(35),l=r(36),c=r(11),d=r(37),u=function(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){n(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}({},Object(l.a)(d.a.props,s.a.bind(null,"footer")),{footer:{type:String,default:null},footerHtml:{type:String,default:null},footerClass:{type:[String,Object,Array],default:null}}),p=i.a.extend({name:"BCardFooter",functional:!0,props:u,render:function(t,e){var r,o=e.props,i=e.data,s=e.children;return t(o.footerTag,Object(a.a)(i,{staticClass:"card-footer",class:[o.footerClass,(r={},n(r,"bg-".concat(o.footerBgVariant),Boolean(o.footerBgVariant)),n(r,"border-".concat(o.footerBorderVariant),Boolean(o.footerBorderVariant)),n(r,"text-".concat(o.footerTextVariant),Boolean(o.footerTextVariant)),r)]}),s||[t("div",{domProps:Object(c.a)(o.footerHtml,o.footer)})])}})},function(t,e,r){"use strict";r.d(e,"b",function(){return i}),r.d(e,"a",function(){return a});var o=r(0),n=r(2),i={src:{type:String,default:null,required:!0},alt:{type:String,default:null},top:{type:Boolean,default:!1},bottom:{type:Boolean,default:!1},start:{type:Boolean,default:!1},left:{type:Boolean,default:!1},end:{type:Boolean,default:!1},right:{type:Boolean,default:!1},height:{type:[Number,String],default:null},width:{type:[Number,String],default:null}},a=o.a.extend({name:"BCardImg",functional:!0,props:i,render:function(t,e){var r=e.props,o=e.data,i="card-img";return r.top?i+="-top":r.right||r.end?i+="-right":r.bottom?i+="-bottom":(r.left||r.start)&&(i+="-left"),t("img",Object(n.a)(o,{class:[i],attrs:{src:r.src,alt:r.alt,height:r.height,width:r.width}}))}})},function(t,e,r){"use strict";function o(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"b",function(){return c}),r.d(e,"a",function(){return d});var n=r(0),i=r(4),a=r(10),s=r(119),l=r(38),c={src:{type:String,default:null,required:!0},alt:{type:String,default:null},width:{type:[Number,String],default:null},height:{type:[Number,String],default:null},blankSrc:{type:String,default:null},blankColor:{type:String,default:function(){return Object(i.c)("BImgLazy","blankColor")}},blankWidth:{type:[Number,String],default:null},blankHeight:{type:[Number,String],default:null},show:{type:Boolean,default:!1},fluid:{type:Boolean,default:!1},fluidGrow:{type:Boolean,default:!1},block:{type:Boolean,default:!1},thumbnail:{type:Boolean,default:!1},rounded:{type:[Boolean,String],default:!1},left:{type:Boolean,default:!1},right:{type:Boolean,default:!1},center:{type:Boolean,default:!1},offset:{type:[Number,String],default:360}},d=n.a.extend({name:"BImgLazy",directives:{bVisible:s.a},props:c,data:function(){return{isShown:this.show}},computed:{computedSrc:function(){return!this.blankSrc||this.isShown?this.src:this.blankSrc},computedBlank:function(){return!(this.isShown||this.blankSrc)},computedWidth:function(){return this.isShown?this.width:this.blankWidth||this.width},computedHeight:function(){return this.isShown?this.height:this.blankHeight||this.height}},watch:{show:function(t,e){if(t!==e){var r=!a.c||t;this.isShown=r,r!==t&&this.$nextTick(this.updateShowProp)}},isShown:function(t,e){t!==e&&this.updateShowProp()}},mounted:function(){this.isShown=!a.c||this.show},methods:{updateShowProp:function(){this.$emit("update:show",this.isShown)},doShow:function(t){!t&&null!==t||this.isShown||(this.isShown=!0)}},render:function(t){var e=[];if(!this.isShown){var r;e.push({name:"b-visible",value:this.doShow,modifiers:(r={},o(r,"".concat(parseInt(this.offset,10)||0),!0),o(r,"once",!0),r)})}return t(l.a,{directives:e,props:{src:this.computedSrc,blank:this.computedBlank,width:this.computedWidth,height:this.computedHeight,alt:this.alt,blankColor:this.blankColor,fluid:this.fluid,fluidGrow:this.fluidGrow,block:this.block,thumbnail:this.thumbnail,rounded:this.rounded,left:this.left,right:this.right,center:this.center}})}})},function(t,e,r){"use strict";r.d(e,"a",function(){return a});var o=r(125),n=r(63),i=r(3),a=Object(i.b)({components:{BCollapse:o.a},directives:{VBToggle:n.a}})},function(t,e,r){"use strict";r.d(e,"a",function(){return p});var o=r(12),n=r(6),i=r(10),a=r(252),s={click:!0},l="__BV_toggle__",c=function(t,e){t[e]=null,delete t[e]},d=function(t){var e=t.targets,r=t.vnode;e.forEach(function(t){r.context.$root.$emit("bv::toggle::collapse",t)})},u=function(t,e,r){if(i.j){if(!Object(o.a)(Object(a.b)(e),t.__BV_toggle_TARGETS__)){Object(a.c)(r,e,s);var l=Object(a.a)(r,e,s,d);t.__BV_toggle_TARGETS__=l,t.__BV_toggle_CONTROLS__=l.join(" "),Object(n.z)(t,"aria-controls",t.__BV_toggle_CONTROLS__),l.forEach(function(t){r.context.$root.$emit("bv::request::collapse::state",t)})}!0===t.__BV_toggle_STATE__?(Object(n.b)(t,"collapsed"),Object(n.z)(t,"aria-expanded","true")):!1===t.__BV_toggle_STATE__&&(Object(n.v)(t,"collapsed"),Object(n.z)(t,"aria-expanded","false")),Object(n.z)(t,"aria-controls",t.__BV_toggle_CONTROLS__)}},p={bind:function(t,e,r){var o=Object(a.a)(r,e,s,d);if(i.j&&r.context&&o.length>0){t.__BV_toggle_TARGETS__=o,t.__BV_toggle_CONTROLS__=o.join(" "),t.__BV_toggle_STATE__=!1,Object(n.z)(t,"aria-controls",t.__BV_toggle_CONTROLS__),Object(n.z)(t,"aria-expanded","false"),"BUTTON"===t.tagName||Object(n.l)(t,"role")||Object(n.z)(t,"role","button");var c=function(e,r){-1!==(t.__BV_toggle_TARGETS__||[]).indexOf(e)&&(Object(n.z)(t,"aria-expanded",r?"true":"false"),t.__BV_toggle_STATE__=r,r?Object(n.v)(t,"collapsed"):Object(n.b)(t,"collapsed"))};t[l]=c,r.context.$root.$on("bv::collapse::state",t[l]),r.context.$root.$on("bv::collapse::sync::state",t[l])}},componentUpdated:u,updated:u,unbind:function(t,e,r){Object(a.c)(r,e,s),t[l]&&(r.context.$root.$off("bv::collapse::state",t[l]),r.context.$root.$off("bv::collapse::sync::state",t[l])),c(t,l),c(t,"__BV_toggle_STATE__"),c(t,"__BV_toggle_CONTROLS__"),c(t,"__BV_toggle_TARGETS__"),Object(n.v)(t,"collapsed"),Object(n.u)(t,"aria-expanded"),Object(n.u)(t,"aria-controls"),Object(n.u)(t,"role")}}},function(t,e,r){"use strict";r.d(e,"b",function(){return f}),r.d(e,"a",function(){return b});var o=r(0),n=r(7),i=r(11),a=r(4),s=r(17),l=r(9),c=r(126),d=r(5),u=r(34),p="BDropdown",f={toggleText:{type:String,default:function(){return Object(a.c)(p,"toggleText")}},size:{type:String,default:function(){return Object(a.c)(p,"size")}},variant:{type:String,default:function(){return Object(a.c)(p,"variant")}},menuClass:{type:[String,Array],default:null},toggleTag:{type:String,default:"button"},toggleClass:{type:[String,Array],default:null},noCaret:{type:Boolean,default:!1},split:{type:Boolean,default:!1},splitHref:{type:String},splitTo:{type:[String,Object]},splitVariant:{type:String,default:function(){return Object(a.c)(p,"splitVariant")}},splitButtonType:{type:String,default:"button",validator:function(t){return Object(n.a)(["button","submit","reset"],t)}},role:{type:String,default:"menu"},boundary:{type:[String,s.b],default:"scrollParent"}},b=o.a.extend({name:p,mixins:[l.a,c.a,d.a],props:f,computed:{dropdownClasses:function(){return[this.directionClass,{show:this.visible,"position-static":"scrollParent"!==this.boundary||!this.boundary}]},menuClasses:function(){return[this.menuClass,{"dropdown-menu-right":this.right,show:this.visible}]},toggleClasses:function(){return[this.toggleClass,{"dropdown-toggle-split":this.split,"dropdown-toggle-no-caret":this.noCaret&&!this.split}]}},render:function(t){var e=t(),r=this.normalizeSlot("button-content")||this.html||Object(i.b)(this.text);if(this.split){var o={disabled:this.disabled,variant:this.splitVariant||this.variant,size:this.size};this.splitTo?o.to=this.splitTo:this.splitHref?o.href=this.splitHref:this.splitButtonType&&(o.type=this.splitButtonType),e=t(u.a,{ref:"button",props:o,attrs:{id:this.safeId("_BV_button_")},on:{click:this.click}},[r])}var n=t(u.a,{ref:"toggle",staticClass:"dropdown-toggle",class:this.toggleClasses,props:{variant:this.variant,size:this.size,disabled:this.disabled,tag:this.toggleTag},attrs:{id:this.safeId("_BV_toggle_"),"aria-haspopup":"true","aria-expanded":this.visible?"true":"false"},on:{click:this.toggle,keydown:this.toggle}},[this.split?t("span",{class:["sr-only"]},[this.toggleText]):r]),a=t("ul",{ref:"menu",staticClass:"dropdown-menu",class:this.menuClasses,attrs:{role:this.role,tabindex:"-1","aria-labelledby":this.safeId(this.split?"_BV_button_":"_BV_toggle_")},on:{keydown:this.onKeydown}},!this.lazy||this.visible?this.normalizeSlot("default",{hide:this.hide}):[t()]);return t("div",{staticClass:"dropdown btn-group b-dropdown",class:this.dropdownClasses,attrs:{id:this.safeId()}},[e,n,a])}})},function(t,e,r){"use strict";function o(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"a",function(){return l});var n=r(0),i=r(2),a=r(4),s={id:{type:String,default:null},tag:{type:String,default:"small"},textVariant:{type:String,default:function(){return Object(a.c)("BFormText","textVariant")}},inline:{type:Boolean,default:!1}},l=n.a.extend({name:"BFormText",functional:!0,props:s,render:function(t,e){var r=e.props,n=e.data,a=e.children;return t(r.tag,Object(i.a)(n,{class:o({"form-text":!r.inline},"text-".concat(r.textVariant),Boolean(r.textVariant)),attrs:{id:r.id}}),a)}})},function(t,e,r){"use strict";r.d(e,"a",function(){return a});var o=r(0),n=r(2),i={id:{type:String,default:null},tag:{type:String,default:"div"},tooltip:{type:Boolean,default:!1},forceShow:{type:Boolean,default:!1},state:{type:Boolean,default:null},ariaLive:{type:String,default:null},role:{type:String,default:null}},a=o.a.extend({name:"BFormInvalidFeedback",functional:!0,props:i,render:function(t,e){var r=e.props,o=e.data,i=e.children,a=!0===r.forceShow||!1===r.state;return t(r.tag,Object(n.a)(o,{class:{"invalid-feedback":!r.tooltip,"invalid-tooltip":r.tooltip,"d-block":a},attrs:{id:r.id,role:r.role,"aria-live":r.ariaLive,"aria-atomic":r.ariaLive?"true":null}}),i)}})},function(t,e,r){"use strict";r.d(e,"a",function(){return a});var o=r(0),n=r(2),i={id:{type:String,default:null},tag:{type:String,default:"div"},tooltip:{type:Boolean,default:!1},forceShow:{type:Boolean,default:!1},state:{type:Boolean,default:null},ariaLive:{type:String,default:null},role:{type:String,default:null}},a=o.a.extend({name:"BFormValidFeedback",functional:!0,props:i,render:function(t,e){var r=e.props,o=e.data,i=e.children,a=!0===r.forceShow||!0===r.state;return t(r.tag,Object(n.a)(o,{class:{"valid-feedback":!r.tooltip,"valid-tooltip":r.tooltip,"d-block":a},attrs:{id:r.id,role:r.role,"aria-live":r.ariaLive,"aria-atomic":r.ariaLive?"true":null}}),i)}})},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){i(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"a",function(){return y});var a=r(2),s=r(52),l=r(253),c=r(7),d=r(1),u=r(8),p=r(4),f=function(){return{type:[Boolean,String,Number],default:!1}},b=function(){return{type:[String,Number],default:null}},m=function(t,e,r){var o=t;if(!Object(d.n)(r)&&!Object(d.g)(r)&&!1!==r)return e&&(o+="-".concat(e)),"col"!==t||""!==r&&!0!==r?(o+="-".concat(r),o.toLowerCase()):o.toLowerCase()},h=Object(s.a)(m),g=Object(u.b)(null),v=function(){var t=Object(p.b)().filter(Boolean),e=t.reduce(function(t,e){return e&&(t[e]=f()),t},Object(u.b)(null)),r=t.reduce(function(t,e){return t[Object(l.a)(e,"offset")]=b(),t},Object(u.b)(null)),o=t.reduce(function(t,e){return t[Object(l.a)(e,"order")]=b(),t},Object(u.b)(null));return g=Object(u.a)(Object(u.b)(null),{col:Object(u.j)(e),offset:Object(u.j)(r),order:Object(u.j)(o)}),n({col:{type:Boolean,default:!1},cols:b()},e,{offset:b()},r,{order:b()},o,{alignSelf:{type:String,default:null,validator:function(t){return Object(c.a)(["auto","start","end","center","baseline","stretch"],t)}},tag:{type:String,default:"div"}})},y={name:"BCol",functional:!0,get props(){return delete this.props,this.props=v()},render:function(t,e){var r,o=e.props,n=e.data,s=e.children,l=[];for(var c in g)for(var d=g[c],u=0;u<d.length;u++){var p=h(c,d[u].replace(c,""),o[d[u]]);p&&l.push(p)}var f=l.some(function(t){return/^col-/.test(t)});return l.push((r={col:o.col||!f&&!o.cols},i(r,"col-".concat(o.cols),o.cols),i(r,"offset-".concat(o.offset),o.offset),i(r,"order-".concat(o.order),o.order),i(r,"align-self-".concat(o.alignSelf),o.alignSelf),r)),t(o.tag,Object(a.a)(n,{class:l}),s)}}},function(t,e,r){"use strict";r.d(e,"a",function(){return p});var o=r(0),n=r(12),i=r(254),a=r(1),s=r(20),l=r(142),c=r(24),d=r(16),u=r(9),p=o.a.extend({name:"BFormCheckbox",mixins:[l.a,u.a,s.a,c.a,d.a],inject:{bvGroup:{from:"bvCheckGroup",default:!1}},props:{value:{default:!0},uncheckedValue:{default:!1},indeterminate:{type:Boolean,default:!1},switch:{type:Boolean,default:!1},checked:{default:null}},computed:{isChecked:function(){var t=this.computedLocalChecked,e=this.value;return Object(a.a)(t)?Object(i.a)(t,e)>-1:Object(n.a)(t,e)},isRadio:function(){return!1},isCheck:function(){return!0}},watch:{computedLocalChecked:function(t,e){this.$emit("input",t),this.$refs&&this.$refs.input&&this.$emit("update:indeterminate",this.$refs.input.indeterminate)},indeterminate:function(t,e){this.setIndeterminate(t)}},mounted:function(){this.setIndeterminate(this.indeterminate)},methods:{handleChange:function(t){var e=t.target,r=e.checked,o=e.indeterminate,n=this.computedLocalChecked,s=this.value,l=Object(a.a)(n),c=l?null:this.uncheckedValue;if(l){var d=Object(i.a)(n,s);r&&d<0?n=n.concat(s):!r&&d>-1&&(n=n.slice(0,d).concat(n.slice(d+1)))}else n=r?s:c;this.computedLocalChecked=n,this.$emit("change",r?s:c),this.isGroup&&this.bvGroup.$emit("change",n),this.$emit("update:indeterminate",o)},setIndeterminate:function(t){Object(a.a)(this.computedLocalChecked)&&(t=!1),this.$refs&&this.$refs.input&&(this.$refs.input.indeterminate=t,this.$emit("update:indeterminate",t))}}})},function(t,e,r){"use strict";r.d(e,"a",function(){return d});var o=r(0),n=r(9),i=r(20),a=r(16),s=r(24),l=r(142),c=r(12),d=o.a.extend({name:"BFormRadio",mixins:[n.a,l.a,i.a,s.a,a.a],inject:{bvGroup:{from:"bvRadioGroup",default:!1}},props:{checked:{default:null}},computed:{isChecked:function(){return Object(c.a)(this.value,this.computedLocalChecked)},isRadio:function(){return!0},isCheck:function(){return!1}},watch:{computedLocalChecked:function(t,e){this.$emit("input",this.computedLocalChecked)}},methods:{handleChange:function(t){var e=t.target.checked,r=this.value;this.computedLocalChecked=r,this.$emit("change",e?r:null),this.isGroup&&this.bvGroup.$emit("change",e?r:null)}}})},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){i(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"a",function(){return c});var a=r(0),s=r(2),l=r(45),c=a.a.extend({name:"BInputGroupPrepend",functional:!0,props:l.b,render:function(t,e){var r=e.props,o=e.data,i=e.children;return t(l.a,Object(s.a)(o,{props:n({},r,{append:!1})}),i)}})},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){i(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"a",function(){return c});var a=r(0),s=r(2),l=r(45),c=a.a.extend({name:"BInputGroupAppend",functional:!0,props:l.b,render:function(t,e){var r=e.props,o=e.data,i=e.children;return t(l.a,Object(s.a)(o,{props:n({},r,{append:!0})}),i)}})},function(t,e,r){"use strict";r.d(e,"a",function(){return a});var o=r(0),n=r(2),i={tag:{type:String,default:"div"},fluid:{type:Boolean,default:!1}},a=o.a.extend({name:"BContainer",functional:!0,props:i,render:function(t,e){var r=e.props,o=e.data,i=e.children;return t(r.tag,Object(n.a)(o,{class:{container:!r.fluid,"container-fluid":r.fluid}}),i)}})},function(t,e,r){"use strict";r.d(e,"a",function(){return a});var o=r(0),n=r(2),i={tag:{type:String,default:"div"}},a=o.a.extend({name:"BMediaBody",functional:!0,props:i,render:function(t,e){var r=e.props,o=e.data,i=e.children;return t(r.tag,Object(n.a)(o,{staticClass:"media-body"}),i)}})},function(t,e,r){"use strict";function o(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"a",function(){return s});var n=r(0),i=r(2),a={tag:{type:String,default:"div"},verticalAlign:{type:String,default:"top"}},s=n.a.extend({name:"BMediaAside",functional:!0,props:a,render:function(t,e){var r=e.props,n=e.data,a=e.children,s="top"===r.verticalAlign?"start":"bottom"===r.verticalAlign?"end":r.verticalAlign;return t(r.tag,Object(i.a)(n,{staticClass:"d-flex",class:o({},"align-self-".concat(s),s)}),a)}})},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){i(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"b",function(){return B}),r.d(e,"a",function(){return E});var a=r(0),s=r(30),l=r(19),c=r(39),d=r(7),u=r(4),p=r(6),f=r(10),b=r(11),m=r(1),h=r(17),g=r(255),v=r(9),y=r(27),w=r(5),x=r(77),O=r(34),k=r(31),j=r(256),S=r(257),_="BModal",T={subtree:!0,childList:!0,characterData:!0,attributes:!0,attributeFilter:["style","class"]},P={passive:!0,capture:!1},C=["button","[href]:not(.disabled)","input","select","textarea","[tabindex]","[contenteditable]"].map(function(t){return"".concat(t,":not(:disabled):not([disabled])")}).join(", "),$=function(t){if(t&&Object(p.p)(t)&&t.focus)try{t.focus()}catch(t){}return document.activeElement===t},B={size:{type:String,default:function(){return Object(u.c)(_,"size")}},centered:{type:Boolean,default:!1},scrollable:{type:Boolean,default:!1},buttonSize:{type:String,default:""},noStacking:{type:Boolean,default:!1},noFade:{type:Boolean,default:!1},noCloseOnBackdrop:{type:Boolean,default:!1},noCloseOnEsc:{type:Boolean,default:!1},noEnforceFocus:{type:Boolean,default:!1},title:{type:String,default:""},titleHtml:{type:String},titleTag:{type:String,default:function(){return Object(u.c)(_,"titleTag")}},titleClass:{type:[String,Array,Object],default:null},titleSrOnly:{type:Boolean,default:!1},ariaLabel:{type:String,default:null},headerBgVariant:{type:String,default:function(){return Object(u.c)(_,"headerBgVariant")}},headerBorderVariant:{type:String,default:function(){return Object(u.c)(_,"headerBorderVariant")}},headerTextVariant:{type:String,default:function(){return Object(u.c)(_,"headerTextVariant")}},headerCloseVariant:{type:String,default:function(){return Object(u.c)(_,"headerCloseVariant")}},headerClass:{type:[String,Array,Object],default:null},bodyBgVariant:{type:String,default:function(){return Object(u.c)(_,"bodyBgVariant")}},bodyTextVariant:{type:String,default:function(){return Object(u.c)(_,"bodyTextVariant")}},modalClass:{type:[String,Array,Object],default:null},dialogClass:{type:[String,Array,Object],default:null},contentClass:{type:[String,Array,Object],default:null},bodyClass:{type:[String,Array,Object],default:null},footerBgVariant:{type:String,default:function(){return Object(u.c)(_,"footerBgVariant")}},footerBorderVariant:{type:String,default:function(){return Object(u.c)(_,"footerBorderVariant")}},footerTextVariant:{type:String,default:function(){return Object(u.c)(_,"footerTextVariant")}},footerClass:{type:[String,Array,Object],default:null},hideHeader:{type:Boolean,default:!1},hideFooter:{type:Boolean,default:!1},hideHeaderClose:{type:Boolean,default:!1},hideBackdrop:{type:Boolean,default:!1},okOnly:{type:Boolean,default:!1},okDisabled:{type:Boolean,default:!1},cancelDisabled:{type:Boolean,default:!1},visible:{type:Boolean,default:!1},returnFocus:{type:[h.b,String,Object],default:null},headerCloseLabel:{type:String,default:function(){return Object(u.c)(_,"headerCloseLabel")}},cancelTitle:{type:String,default:function(){return Object(u.c)(_,"cancelTitle")}},cancelTitleHtml:{type:String},okTitle:{type:String,default:function(){return Object(u.c)(_,"okTitle")}},okTitleHtml:{type:String},cancelVariant:{type:String,default:function(){return Object(u.c)(_,"cancelVariant")}},okVariant:{type:String,default:function(){return Object(u.c)(_,"okVariant")}},lazy:{type:Boolean,default:!1},busy:{type:Boolean,default:!1},static:{type:Boolean,default:!1},autoFocusButton:{type:String,default:null,validator:function(t){return Object(m.o)(t)||Object(d.a)(["ok","cancel","close"],t)}}},E=a.a.extend({name:_,mixins:[v.a,y.a,w.a,x.a],inheritAttrs:!1,model:{prop:"visible",event:"change"},props:B,data:function(){return{isHidden:!0,isVisible:!1,isTransitioning:!1,isShow:!1,isBlock:!1,isOpening:!1,isClosing:!1,ignoreBackdropClick:!1,isModalOverflowing:!1,return_focus:this.returnFocus||null,scrollbarWidth:0,zIndex:j.a.getBaseZIndex(),isTop:!0,isBodyOverflowing:!1}},computed:{modalClasses:function(){return[{fade:!this.noFade,show:this.isShow},this.modalClass]},modalStyles:function(){var t="".concat(this.scrollbarWidth,"px");return{paddingLeft:!this.isBodyOverflowing&&this.isModalOverflowing?t:"",paddingRight:this.isBodyOverflowing&&!this.isModalOverflowing?t:"",display:this.isBlock?"block":"none"}},dialogClasses:function(){var t;return[(t={},i(t,"modal-".concat(this.size),Boolean(this.size)),i(t,"modal-dialog-centered",this.centered),i(t,"modal-dialog-scrollable",this.scrollable),t),this.dialogClass]},headerClasses:function(){var t;return[(t={},i(t,"bg-".concat(this.headerBgVariant),Boolean(this.headerBgVariant)),i(t,"text-".concat(this.headerTextVariant),Boolean(this.headerTextVariant)),i(t,"border-".concat(this.headerBorderVariant),Boolean(this.headerBorderVariant)),t),this.headerClass]},titleClasses:function(){return[{"sr-only":this.titleSrOnly},this.titleClass]},bodyClasses:function(){var t;return[(t={},i(t,"bg-".concat(this.bodyBgVariant),Boolean(this.bodyBgVariant)),i(t,"text-".concat(this.bodyTextVariant),Boolean(this.bodyTextVariant)),t),this.bodyClass]},footerClasses:function(){var t;return[(t={},i(t,"bg-".concat(this.footerBgVariant),Boolean(this.footerBgVariant)),i(t,"text-".concat(this.footerTextVariant),Boolean(this.footerTextVariant)),i(t,"border-".concat(this.footerBorderVariant),Boolean(this.footerBorderVariant)),t),this.footerClass]},modalOuterStyle:function(){return{position:"absolute",zIndex:this.zIndex}},slotScope:function(){return{ok:this.onOk,cancel:this.onCancel,close:this.onClose,hide:this.hide,visible:this.isVisible}}},watch:{visible:function(t,e){t!==e&&this[t?"show":"hide"]()}},created:function(){this._observer=null},mounted:function(){this.zIndex=j.a.getBaseZIndex(),this.listenOnRoot("bv::show::modal",this.showHandler),this.listenOnRoot("bv::hide::modal",this.hideHandler),this.listenOnRoot("bv::toggle::modal",this.toggleHandler),this.listenOnRoot("bv::modal::show",this.modalListener),!0===this.visible&&this.$nextTick(this.show)},beforeDestroy:function(){this._observer&&(this._observer.disconnect(),this._observer=null),this.setEnforceFocus(!1),this.setResizeEvent(!1),this.isVisible&&(this.isVisible=!1,this.isShow=!1,this.isTransitioning=!1)},methods:{updateModel:function(t){t!==this.visible&&this.$emit("change",t)},buildEvent:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new S.a(t,n({cancelable:!1,target:this.$refs.modal||this.$el||null,relatedTarget:null,trigger:null},e,{vueTarget:this,componentId:this.safeId()}))},show:function(){if(!this.isVisible&&!this.isOpening){if(this.isClosing)return void this.$once("hidden",this.show);this.isOpening=!0,this.return_focus=this.return_focus||this.getActiveElement();var t=this.buildEvent("show",{cancelable:!0});if(this.emitEvent(t),t.defaultPrevented||this.isVisible)return this.isOpening=!1,void this.updateModel(!1);this.doShow()}},hide:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";if(this.isVisible&&!this.isClosing){this.isClosing=!0;var e=this.buildEvent("hide",{cancelable:"FORCE"!==t,trigger:t||null});if("ok"===t?this.$emit("ok",e):"cancel"===t?this.$emit("cancel",e):"headerclose"===t&&this.$emit("close",e),this.emitEvent(e),e.defaultPrevented||!this.isVisible)return this.isClosing=!1,void this.updateModel(!0);this._observer&&(this._observer.disconnect(),this._observer=null),this.isVisible=!1,this.updateModel(!1)}},toggle:function(t){t&&(this.return_focus=t),this.isVisible?this.hide("toggle"):this.show()},getActiveElement:function(){if(f.j){var t=document.activeElement;if(t&&t!==document.body&&t.focus)return t}return null},getTabables:function(){return Object(p.y)(C,this.$refs.content).filter(p.p).filter(function(t){return t.tabIndex>-1&&!t.disabled})},doShow:function(){var t=this;if(j.a.modalsAreOpen&&this.noStacking)return void this.listenOnRootOnce("bv::modal::hidden",this.doShow);j.a.registerModal(this),this.isHidden=!1,this.$nextTick(function(){t.isVisible=!0,t.isOpening=!1,t.updateModel(!0),t.$nextTick(function(){t._observer=Object(c.a)(t.$refs.content,t.checkModalOverflow.bind(t),T)})})},onBeforeEnter:function(){this.isTransitioning=!0,this.setResizeEvent(!0)},onEnter:function(){this.isBlock=!0},onAfterEnter:function(){var t=this;this.checkModalOverflow(),this.isShow=!0,this.isTransitioning=!1,Object(p.w)(function(){t.emitEvent(t.buildEvent("shown")),t.setEnforceFocus(!0),t.$nextTick(function(){t.focusFirst()})})},onBeforeLeave:function(){this.isTransitioning=!0,this.setResizeEvent(!1),this.setEnforceFocus(!1)},onLeave:function(){this.isShow=!1},onAfterLeave:function(){var t=this;this.isBlock=!1,this.isTransitioning=!1,this.isModalOverflowing=!1,this.isHidden=!0,this.$nextTick(function(){t.isClosing=!1,j.a.unregisterModal(t),t.returnFocusTo(),t.emitEvent(t.buildEvent("hidden"))})},emitEvent:function(t){var e=t.type;this.emitOnRoot("bv::modal::".concat(e),t,t.componentId),this.$emit(e,t)},onDialogMousedown:function(){var t=this,e=this.$refs.modal,r=function r(o){Object(p.e)(e,"mouseup",r,P),o.target===e&&(t.ignoreBackdropClick=!0)};Object(p.f)(e,"mouseup",r,P)},onClickOut:function(t){if(this.ignoreBackdropClick)return void(this.ignoreBackdropClick=!1);this.isVisible&&!this.noCloseOnBackdrop&&Object(p.d)(document.body,t.target)&&(Object(p.d)(this.$refs.content,t.target)||this.hide("backdrop"))},onOk:function(){this.hide("ok")},onCancel:function(){this.hide("cancel")},onClose:function(){this.hide("headerclose")},onEsc:function(t){t.keyCode===l.a.ESC&&this.isVisible&&!this.noCloseOnEsc&&this.hide("esc")},focusHandler:function(t){var e=this.$refs.content,r=t.target;if(!this.noEnforceFocus&&this.isTop&&this.isVisible&&e&&document!==r&&!Object(p.d)(e,r)){var o=this.getTabables();if(this.$refs.bottomTrap&&r===this.$refs.bottomTrap){if($(o[0]))return}else if(this.$refs.topTrap&&r===this.$refs.topTrap&&$(o[o.length-1]))return;e.focus({preventScroll:!0})}},setEnforceFocus:function(t){(t?p.f:p.e)(document,"focusin",this.focusHandler,P)},setResizeEvent:function(t){var e=t?p.f:p.e;e(window,"resize",this.checkModalOverflow,P),e(window,"orientationchange",this.checkModalOverflow,P)},showHandler:function(t,e){t===this.safeId()&&(this.return_focus=e||this.getActiveElement(),this.show())},hideHandler:function(t){t===this.safeId()&&this.hide("event")},toggleHandler:function(t,e){t===this.safeId()&&this.toggle(e)},modalListener:function(t){this.noStacking&&t.vueTarget!==this&&this.hide()},focusFirst:function(){var t=this;f.j&&Object(p.w)(function(){var e=t.$refs.modal,r=t.$refs.content,o=t.getActiveElement();if(e&&r&&(!o||!Object(p.d)(r,o))){var n=t.$refs["ok-button"],i=t.$refs["cancel-button"],a=t.$refs["close-button"],s=t.autoFocusButton,l="ok"===s&&n?n.$el||n:"cancel"===s&&i?i.$el||i:"close"===s&&a?a.$el||a:r;$(l),l===r&&t.$nextTick(function(){e.scrollTop=0})}})},returnFocusTo:function(){var t=this.returnFocus||this.return_focus||null;this.return_focus=null,this.$nextTick(function(){(t=Object(m.m)(t)?Object(p.x)(t):t)&&(t=t.$el||t,$(t))})},checkModalOverflow:function(){if(this.isVisible){var t=this.$refs.modal;this.isModalOverflowing=t.scrollHeight>document.documentElement.clientHeight}},makeModal:function(t){var e=t();if(!this.hideHeader){var r=this.normalizeSlot("modal-header",this.slotScope);if(!r){var o=t();this.hideHeaderClose||(o=t(k.a,{ref:"close-button",props:{disabled:this.isTransitioning,ariaLabel:this.headerCloseLabel,textVariant:this.headerCloseVariant||this.headerTextVariant},on:{click:this.onClose}},[this.normalizeSlot("modal-header-close")]));var i=!this.hasNormalizedSlot("modal-title")&&this.titleHtml?{innerHTML:this.titleHtml}:{};r=[t(this.titleTag,{staticClass:"modal-title",class:this.titleClasses,attrs:{id:this.safeId("__BV_modal_title_")},domProps:i},[this.normalizeSlot("modal-title",this.slotScope)||Object(b.b)(this.title)]),o]}e=t("header",{ref:"header",staticClass:"modal-header",class:this.headerClasses,attrs:{id:this.safeId("__BV_modal_header_")}},[r])}var a=t("div",{ref:"body",staticClass:"modal-body",class:this.bodyClasses,attrs:{id:this.safeId("__BV_modal_body_")}},this.normalizeSlot("default",this.slotScope)),l=t();if(!this.hideFooter){var c=this.normalizeSlot("modal-footer",this.slotScope);if(!c){var d=t();if(!this.okOnly){var u=this.cancelTitleHtml?{innerHTML:this.cancelTitleHtml}:null;d=t(O.a,{ref:"cancel-button",props:{variant:this.cancelVariant,size:this.buttonSize,disabled:this.cancelDisabled||this.busy||this.isTransitioning},on:{click:this.onCancel}},[this.normalizeSlot("modal-cancel")||(u?t("span",{domProps:u}):Object(b.b)(this.cancelTitle))])}var p=this.okTitleHtml?{innerHTML:this.okTitleHtml}:null;c=[d,t(O.a,{ref:"ok-button",props:{variant:this.okVariant,size:this.buttonSize,disabled:this.okDisabled||this.busy||this.isTransitioning},on:{click:this.onOk}},[this.normalizeSlot("modal-ok")||(p?t("span",{domProps:p}):Object(b.b)(this.okTitle))])]}l=t("footer",{ref:"footer",staticClass:"modal-footer",class:this.footerClasses,attrs:{id:this.safeId("__BV_modal_footer_")}},[c])}var f=t("div",{ref:"content",staticClass:"modal-content",class:this.contentClass,attrs:{role:"document",id:this.safeId("__BV_modal_content_"),tabindex:"-1"}},[e,a,l]),m=t(),h=t();this.isVisible&&!this.noEnforceFocus&&(m=t("span",{ref:"topTrap",attrs:{tabindex:"0"}}),h=t("span",{ref:"bottomTrap",attrs:{tabindex:"0"}}));var g=t("div",{ref:"dialog",staticClass:"modal-dialog",class:this.dialogClasses,on:{mousedown:this.onDialogMousedown}},[m,f,h]),v=t("div",{ref:"modal",staticClass:"modal",class:this.modalClasses,style:this.modalStyles,directives:[{name:"show",rawName:"v-show",value:this.isVisible,expression:"isVisible"}],attrs:{id:this.safeId(),role:"dialog","aria-hidden":this.isVisible?null:"true","aria-modal":this.isVisible?"true":null,"aria-label":this.ariaLabel,"aria-labelledby":this.hideHeader||this.ariaLabel||!(this.hasNormalizedSlot("modal-title")||this.titleHtml||this.title)?null:this.safeId("__BV_modal_title_"),"aria-describedby":this.safeId("__BV_modal_body_")},on:{keydown:this.onEsc,click:this.onClickOut}},[g]);v=t("transition",{props:{enterClass:"",enterToClass:"",enterActiveClass:"",leaveClass:"",leaveActiveClass:"",leaveToClass:""},on:{beforeEnter:this.onBeforeEnter,enter:this.onEnter,afterEnter:this.onAfterEnter,beforeLeave:this.onBeforeLeave,leave:this.onLeave,afterLeave:this.onAfterLeave}},[v]);var y=t();!this.hideBackdrop&&this.isVisible&&(y=t("div",{staticClass:"modal-backdrop",attrs:{id:this.safeId("__BV_modal_backdrop_")}},[this.normalizeSlot("modal-backdrop")])),y=t(s.b,{props:{noFade:this.noFade}},[y]);var w=this.static?{}:this.scopedStyleAttrs;return t("div",{key:"modal-outer-".concat(this._uid),style:this.modalOuterStyle,attrs:n({},w,{},this.$attrs,{id:this.safeId("__BV_modal_outer_")})},[v,y])}},render:function(t){return this.static?this.lazy&&this.isHidden?t():this.makeModal(t):this.isHidden?t():t(g.a,{},[this.makeModal(t)])}})},function(t,e,r){"use strict";function o(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var n=r(32);e.a={computed:{scopedStyleAttrs:function(){var t=Object(n.a)(this.$parent);return t?o({},t,""):{}}}}},function(t,e,r){"use strict";r.d(e,"a",function(){return m});var o=r(6),n=r(1),i=r(8),a="__bv_modal_directive__",s={passive:!0},l=function(t){var e=t.modifiers,r=void 0===e?{}:e,o=t.arg,a=t.value;return Object(n.m)(a)?a:Object(n.m)(o)?o:Object(i.j)(r).reverse()[0]},c=function(t){return t&&Object(o.q)(t,".dropdown-menu > li, li.nav-item")?Object(o.x)("a, button",t)||t:t},d=function(t){t&&"BUTTON"!==t.tagName&&!Object(o.l)(t,"role")&&Object(o.z)(t,"role","button")},u=function(t,e,r){var n=l(e),i=c(t);if(n&&i){var u=function(t){var e=t.currentTarget;if(!Object(o.n)(e)){var i=t.type;("click"===i||"keydown"===i&&32===t.keyCode)&&r.context.$root.$emit("bv::show::modal",n,e)}};t[a]=u,d(i),Object(o.f)(i,"click",u,s),"BUTTON"!==i.tagName&&"button"===Object(o.g)(i,"role")&&Object(o.f)(i,"keydown",u,s)}},p=function(t){var e=c(t),r=t?t[a]:null;e&&r&&(Object(o.e)(e,"click",r,s),Object(o.e)(e,"keydown",r,s)),delete t[a]},f=function(t,e,r){p(t),u(t,e,r)},b=function(){},m={inserted:f,updated:b,componentUpdated:f,unbind:p}},function(t,e,r){"use strict";r.d(e,"a",function(){return d});var o=r(47),n=r(174),i=r(175),a=r(176),s=r(177),l=r(40),c=r(3),d=Object(c.b)({components:{BNav:o.a,BNavItem:n.a,BNavText:i.a,BNavForm:a.a,BNavItemDropdown:s.a,BNavItemDd:s.a,BNavDropdown:s.a,BNavDd:s.a},plugins:{DropdownPlugin:l.a}})},function(t,e,r){"use strict";r.d(e,"a",function(){return u});var o=r(0),n=r(32),i=r(7),a=r(4),s=r(1),l=r(17),c=r(81),d="BTooltip",u=o.a.extend({name:d,props:{title:{type:String},target:{type:[String,l.b,l.c,Function,Object],required:!0},triggers:{type:[String,Array],default:"hover focus"},placement:{type:String,default:"top"},fallbackPlacement:{type:[String,Array],default:"flip",validator:function(t){return Object(i.d)(t)&&t.every(function(t){return Object(s.m)(t)})||Object(i.a)(["flip","clockwise","counterclockwise"],t)}},variant:{type:String,default:function(){return Object(a.c)(d,"variant")}},customClass:{type:String,default:function(){return Object(a.c)(d,"customClass")}},delay:{type:[Number,Object,String],default:function(){return Object(a.c)(d,"delay")}},boundary:{type:[String,l.b,Object],default:function(){return Object(a.c)(d,"boundary")}},boundaryPadding:{type:[Number,String],default:function(){return Object(a.c)(d,"boundaryPadding")}},offset:{type:[Number,String],default:0},noFade:{type:Boolean,default:!1},container:{type:[String,l.b,Object]},show:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},id:{type:String,default:null}},data:function(){return{localShow:this.show,localTitle:"",localContent:""}},computed:{templateData:function(){return{title:this.localTitle,content:this.localContent,target:this.target,triggers:this.triggers,placement:this.placement,fallbackPlacement:this.fallbackPlacement,variant:this.variant,customClass:this.customClass,container:this.container,boundary:this.boundary,boundaryPadding:this.boundaryPadding,delay:this.delay,offset:this.offset,noFade:this.noFade,disabled:this.disabled,id:this.id}},templateTitleContent:function(){return{title:this.title,content:this.content}}},watch:{show:function(t,e){t!==e&&t!==this.localShow&&this.$_bv_toolpop&&(t?this.$_bv_toolpop.show():this.$_bv_toolpop.forceHide())},disabled:function(t,e){t?this.doDisable():this.doEnable()},localShow:function(t,e){this.$emit("update:show",t)},templateData:function(t,e){var r=this;this.$nextTick(function(){r.$_bv_toolpop&&r.$_bv_toolpop.updateData(r.templateData)})},templateTitleContent:function(t,e){this.$nextTick(this.updateContent)}},created:function(){this.$_bv_toolpop=null},updated:function(){this.$nextTick(this.updateContent)},beforeDestroy:function(){this.$off("open",this.doOpen),this.$off("close",this.doClose),this.$off("disable",this.doDisable),this.$off("enable",this.doEnable),this.$_bv_toolpop&&this.$_bv_toolpop.$destroy(),this.$_bv_toolpop=null},mounted:function(){var t=this;this.$nextTick(function(){var e=t.getComponent();t.updateContent();var r=Object(n.a)(t)||Object(n.a)(t.$parent),o=t.$_bv_toolpop=new e({parent:t,_scopeId:r||void 0});o.updateData(t.templateData),o.$on("show",t.onShow),o.$on("shown",t.onShown),o.$on("hide",t.onHide),o.$on("hidden",t.onHidden),o.$on("disabled",t.onDisabled),o.$on("enabled",t.onEnabled),t.disabled&&t.doDisable(),t.$on("open",t.doOpen),t.$on("close",t.doClose),t.$on("disable",t.doDisable),t.$on("enable",t.doEnable),t.localShow&&t.$_bv_toolpop&&t.$_bv_toolpop.show()})},methods:{getComponent:function(){return c.a},updateContent:function(){this.setTitle(this.$scopedSlots.default||this.title)},setTitle:function(t){t=Object(s.o)(t)?"":t,this.localTitle!==t&&(this.localTitle=t)},setContent:function(t){t=Object(s.o)(t)?"":t,this.localContent!==t&&(this.localContent=t)},onShow:function(t){this.$emit("show",t),t&&(this.localShow=!t.defaultPrevented)},onShown:function(t){this.localShow=!0,this.$emit("shown",t)},onHide:function(t){this.$emit("hide",t)},onHidden:function(t){this.$emit("hidden",t),this.localShow=!1},onDisabled:function(t){t&&"disabled"===t.type&&(this.$emit("update:disabled",!0),this.$emit("disabled",t))},onEnabled:function(t){t&&"enabled"===t.type&&(this.$emit("update:disabled",!1),this.$emit("enabled",t))},doOpen:function(){!this.localShow&&this.$_bv_toolpop&&this.$_bv_toolpop.show()},doClose:function(){this.localShow&&this.$_bv_toolpop&&this.$_bv_toolpop.hide()},doDisable:function(t){this.$_bv_toolpop&&this.$_bv_toolpop.disable()},doEnable:function(){this.$_bv_toolpop&&this.$_bv_toolpop.enable()}},render:function(t){return t()}})},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){i(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"a",function(){return v});var a=r(0),s=r(32),l=r(12),c=r(7),d=r(6),u=r(1),p=r(8),f=r(13),b=r(41),m=r(191),h={passive:!0,capture:!1},g={title:"",content:"",variant:null,customClass:null,triggers:"",placement:"auto",fallbackPlacement:"flip",target:null,container:null,noFade:!1,boundary:"scrollParent",boundaryPadding:5,offset:0,delay:0,arrowPadding:6,disabled:!1,id:null,html:!1},v=a.a.extend({name:"BVTooltip",props:{},data:function(){return n({},g,{activeTrigger:{hover:!1,click:!1,focus:!1},localShow:!1})},computed:{templateType:function(){return"tooltip"},computedId:function(){return this.id||"__bv_".concat(this.templateType,"_").concat(this._uid,"__")},computedDelay:function(){var t={show:0,hide:0};return Object(u.j)(this.delay)?(t.show=Math.max(parseInt(this.delay.show,10)||0,0),t.hide=Math.max(parseInt(this.delay.hide,10)||0,0)):(Object(u.h)(this.delay)||Object(u.m)(this.delay))&&(t.show=t.hide=Math.max(parseInt(this.delay,10)||0,0)),t},computedTriggers:function(){return Object(c.b)(this.triggers).filter(Boolean).join(" ").trim().toLowerCase().split(/\s+/).sort()},isWithActiveTrigger:function(){for(var t in this.activeTrigger)if(this.activeTrigger[t])return!0;return!1},computedTemplateData:function(){return{title:this.title,content:this.content,variant:this.variant,customClass:this.customClass,noFade:this.noFade}}},watch:{computedTriggers:function(t,e){var r=this;Object(l.a)(t,e)||this.$nextTick(function(){r.unListen(),e.forEach(function(e){Object(c.a)(t,e)||r.activeTrigger[e]&&(r.activeTrigger[e]=!1)}),r.listen()})},computedTemplateData:function(){this.handleTemplateUpdate()},disabled:function(t){t?this.disable():this.enable()}},created:function(){var t=this;this.$_tip=null,this.$_hoverTimeout=null,this.$_hoverState="",this.$_visibleInterval=null,this.$_enabled=!this.disabled,this.$_noop=function(){},this.$parent&&this.$parent.$once("hook:beforeDestroy",this.$destroy),this.$nextTick(function(){var e=t.getTarget();e&&Object(d.d)(document.body,e)?(t.scopeId=Object(s.a)(t.$parent),t.listen()):Object(f.b)("".concat(t.templateType," unable to find target element in document"))})},updated:function(){this.$nextTick(this.handleTemplateUpdate)},deactivated:function(){this.forceHide()},beforeDestroy:function(){this.unListen(),this.setWhileOpenListeners(!1),clearTimeout(this.$_hoverTimeout),this.$_hoverTimeout=null,this.destroyTemplate(),this.restoreTitle()},methods:{getTemplate:function(){return m.a},updateData:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=!1;Object(p.j)(g).forEach(function(o){Object(u.n)(e[o])||t[o]===e[o]||(t[o]=e[o],"title"===o&&(r=!0))}),r&&this.localShow&&this.fixTitle()},createTemplateAndShow:function(){var t=this.getContainer(),e=this.getTemplate(),r=this.$_tip=new e({parent:this,propsData:{id:this.computedId,html:this.html,placement:this.placement,fallbackPlacement:this.fallbackPlacement,target:this.getPlacementTarget(),boundary:this.getBoundary(),offset:parseInt(this.offset,10)||0,arrowPadding:parseInt(this.arrowPadding,10)||0,boundaryPadding:parseInt(this.boundaryPadding,10)||0}});this.handleTemplateUpdate(),r.$once("show",this.onTemplateShow),r.$once("shown",this.onTemplateShown),r.$once("hide",this.onTemplateHide),r.$once("hidden",this.onTemplateHidden),r.$once("hook:destroyed",this.destroyTemplate),r.$on("focusin",this.handleEvent),r.$on("focusout",this.handleEvent),r.$on("mouseenter",this.handleEvent),r.$on("mouseleave",this.handleEvent),r.$mount(t.appendChild(document.createElement("div")))},hideTemplate:function(){this.$_tip&&this.$_tip.hide()},destroyTemplate:function(){this.setWhileOpenListeners(!1),clearTimeout(this.$_hoverTimeout),this.$_hoverTimout=null,this.$_hoverState="",this.clearActiveTriggers(),this.localPlacementTarget=null;try{this.$_tip&&this.$_tip.$destroy()}catch(t){}this.$_tip=null,this.localShow=!1},getTemplateElement:function(){return this.$_tip?this.$_tip.$el:null},handleTemplateUpdate:function(){var t=this,e=this.$_tip;if(e){["title","content","variant","customClass","noFade"].forEach(function(r){e[r]!==t[r]&&(e[r]=t[r])})}},show:function(){var t=this.getTarget();if(t&&Object(d.d)(document.body,t)&&Object(d.p)(t)&&!this.dropdownOpen()&&(!Object(u.o)(this.title)&&""!==this.title||!Object(u.o)(this.content)&&""!==this.content)&&!this.$_tip&&!this.localShow){this.localShow=!0;var e=this.buildEvent("show",{cancelable:!0});if(this.emitEvent(e),e.defaultPrevented)return this.destroyTemplate(),void(this.localShow=!1);this.fixTitle(),this.addAriaDescribedby(),this.createTemplateAndShow()}},hide:function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(!this.getTemplateElement()||!this.localShow)return void this.restoreTitle();var e=this.buildEvent("hide",{cancelable:!t});this.emitEvent(e),e.defaultPrevented||(this.hideTemplate(),this.clearActiveTriggers(),this.$_hoverState="")},forceHide:function(){this.getTemplateElement()&&this.localShow&&(this.setWhileOpenListeners(!1),clearTimeout(this.hoverTimeout),this.$_hoverTimeout=null,this.$_hoverState="",this.clearActiveTriggers(),this.$_tip&&(this.$_tip.noFade=!0),this.hide(!0))},enable:function(){this.$_enabled=!0,this.emitEvent(this.buildEvent("enabled",{}))},disable:function(){this.$_enabled=!1,this.emitEvent(this.buildEvent("disabled",{}))},onTemplateShow:function(){this.setWhileOpenListeners(!0)},onTemplateShown:function(){var t=this.$_hoverState;this.$_hoverState="","out"===t&&this.leave(null),this.emitEvent(this.buildEvent("shown",{}))},onTemplateHide:function(){this.setWhileOpenListeners(!1)},onTemplateHidden:function(){this.removeAriaDescribedby(),this.restoreTitle(),this.destroyTemplate(),this.emitEvent(this.buildEvent("hidden",{}))},getTarget:function(){var t=this.target?this.target.$el||this.target:null;return t=Object(u.m)(t)?Object(d.i)(t.replace(/^#/,"")):t,t=Object(u.f)(t)?t():t,Object(d.o)(t)?t:null},getPlacementTarget:function(){return this.getTarget()},getTargetId:function(){var t=this.getTarget();return t&&t.id?t.id:null},getContainer:function(){var t=!!this.container&&(this.container.$el||this.container),e=document.body,r=this.getTarget();return!1===t?Object(d.c)(".modal-content",r)||e:Object(u.m)(t)?Object(d.i)(t.replace(/^#/,""))||e:e},getBoundary:function(){return this.boundary?this.boundary.$el||this.boundary:"scrollParent"},isInModal:function(){var t=this.getTarget();return t&&Object(d.c)(".modal-content",t)},isDropdown:function(){var t=this.getTarget();return t&&Object(d.m)(t,"dropdown")},dropdownOpen:function(){var t=this.getTarget();return this.isDropdown()&&t&&Object(d.x)(".dropdown-menu.show",t)},clearActiveTriggers:function(){for(var t in this.activeTrigger)this.activeTrigger[t]=!1},addAriaDescribedby:function(){var t=this.getTarget(),e=Object(d.g)(t,"aria-describedby")||"";e=e.split(/\s+/).concat(this.computedId).join(" ").trim(),Object(d.z)(t,"aria-describedby",e)},removeAriaDescribedby:function(){var t=this,e=this.getTarget(),r=Object(d.g)(e,"aria-describedby")||"";r=r.split(/\s+/).filter(function(e){return e!==t.computedId}).join(" ").trim(),r?Object(d.z)(e,"aria-describedby",r):Object(d.u)(e,"aria-describedby")},fixTitle:function(){var t=this.getTarget();t&&Object(d.g)(t,"title")&&(Object(d.z)(t,"data-original-title",Object(d.g)(t,"title")||""),Object(d.z)(t,"title",""))},restoreTitle:function(){var t=this.getTarget();t&&Object(d.l)(t,"data-original-title")&&(Object(d.z)(t,"title",Object(d.g)(t,"data-original-title")||""),Object(d.u)(t,"data-original-title"))},buildEvent:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new b.a(t,n({cancelable:!1,target:this.getTarget(),relatedTarget:this.getTemplateElement()||null,componentId:this.computedId,vueTarget:this},e))},emitEvent:function(t){var e=t.type,r=this.$root;r&&r.$emit&&r.$emit("bv::".concat(this.templateType,"::").concat(e),t),this.$emit(e,t)},listen:function(){var t=this,e=this.getTarget();e&&(this.setRootListener(!0),this.computedTriggers.forEach(function(r){"click"===r?Object(d.f)(e,"click",t.handleEvent,h):"focus"===r?(Object(d.f)(e,"focusin",t.handleEvent,h),Object(d.f)(e,"focusout",t.handleEvent,h)):"blur"===r?Object(d.f)(e,"focusout",t.handleEvent,h):"hover"===r&&(Object(d.f)(e,"mouseenter",t.handleEvent,h),Object(d.f)(e,"mouseleave",t.handleEvent,h))},this))},unListen:function(){var t=this,e=["click","focusin","focusout","mouseenter","mouseleave"],r=this.getTarget();this.setRootListener(!1),e.forEach(function(e){r&&Object(d.e)(r,e,t.handleEvent,h)},this)},setRootListener:function(t){var e=this.$root;if(e){var r=t?"$on":"$off",o=this.templateType;e[r]("bv::hide::".concat(o),this.doHide),e[r]("bv::show::".concat(o),this.doShow),e[r]("bv::disable::".concat(o),this.doDisable),e[r]("bv::enable::".concat(o),this.doEnable)}},setWhileOpenListeners:function(t){this.setModalListener(t),this.setDropdownListener(t),this.visibleCheck(t),this.setOnTouchStartListener(t)},visibleCheck:function(t){var e=this;clearInterval(this.$_visibleInterval),this.$_visibleInterval=null;var r=this.getTarget(),o=this.getTemplateElement();t&&(this.visibleInterval=setInterval(function(){!o||!e.localShow||r.parentNode&&Object(d.p)(r)||e.forceHide()},100))},setModalListener:function(t){this.isInModal()&&this.$root[t?"$on":"$off"]("bv::modal::hidden",this.forceHide)},setOnTouchStartListener:function(t){var e=this;if("ontouchstart"in document.documentElement){var r=t?d.f:d.e;Object(c.c)(document.body.children).forEach(function(t){r(t,"mouseover",e.$_noop)})}},setDropdownListener:function(t){var e=this.getTarget();e&&this.$root&&this.isDropdown&&e.__vue__&&e.__vue__[t?"$on":"$off"]("shown",this.forceHide)},handleEvent:function(t){var e=this.getTarget();if(e&&!Object(d.n)(e)&&this.$_enabled&&!this.dropdownOpen()){var r=t.type,o=this.computedTriggers;if("click"===r&&Object(c.a)(o,"click"))this.click(t);else if("mouseenter"===r&&Object(c.a)(o,"hover"))this.enter(t);else if("focusin"===r&&Object(c.a)(o,"focus"))this.enter(t);else if("focusout"===r&&(Object(c.a)(o,"focus")||Object(c.a)(o,"blur"))||"mouseleave"===r&&Object(c.a)(o,"hover")){var n=this.getTemplateElement(),i=t.target,a=t.relatedTarget;if(n&&Object(d.d)(n,i)&&Object(d.d)(e,a)||n&&Object(d.d)(e,i)&&Object(d.d)(n,a)||n&&Object(d.d)(n,i)&&Object(d.d)(n,a)||Object(d.d)(e,i)&&Object(d.d)(e,a))return;this.leave(t)}}},doHide:function(t){t&&this.getTargetId()!==t&&this.computedId!==t||this.forceHide()},doShow:function(t){t&&this.getTargetId()!==t&&this.computedId!==t||this.show()},doDisable:function(t){t&&this.getTargetId()!==t&&this.computedId!==t||this.disable()},doEnable:function(t){t&&this.getTargetId()!==t&&this.computedId!==t||this.enable()},click:function(t){this.$_enabled&&!this.dropdownOpen()&&(this.activeTrigger.click=!this.activeTrigger.click,this.isWithActiveTrigger?this.enter(null):this.leave(null))},toggle:function(){this.$_enabled&&!this.dropdownOpen()&&(this.localShow?this.leave(null):this.enter(null))},enter:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;if(e&&(this.activeTrigger["focusin"===e.type?"focus":"hover"]=!0),this.localShow||"in"===this.$_hoverState)return void(this.$_hoverState="in");clearTimeout(this.hoverTimeout),this.$_hoverState="in",this.computedDelay.show?(this.fixTitle(),this.hoverTimeout=setTimeout(function(){"in"===t.$_hoverState?t.show():t.localShow||t.restoreTitle()},this.computedDelay.show)):this.show()},leave:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;e&&(this.activeTrigger["focusout"===e.type?"focus":"hover"]=!1,"focusout"===e.type&&Object(c.a)(this.computedTriggers,"blur")&&(this.activeTrigger.click=!1,this.activeTrigger.hover=!1)),this.isWithActiveTrigger||(clearTimeout(this.hoverTimeout),this.$_hoverState="out",this.computedDelay.hide?this.$hoverTimeout=setTimeout(function(){"out"===t.$_hoverState&&t.hide()},this.computedDelay.hide):this.hide())}}})},function(t,e,r){"use strict";r.d(e,"a",function(){return i});var o=r(193),n=r(3),i=Object(n.b)({directives:{VBPopover:o.a}})},function(t,e,r){"use strict";r.d(e,"a",function(){return l});var o=r(0),n=r(4),i=r(11),a=r(1),s=r(5),l=o.a.extend({name:"BProgressBar",mixins:[s.a],inject:{bvProgress:{default:function(){return{}}}},props:{value:{type:Number,default:0},label:{type:String,default:null},labelHtml:{type:String},max:{type:Number,default:null},precision:{type:Number,default:null},variant:{type:String,default:function(){return Object(n.c)("BProgressBar","variant")}},striped:{type:Boolean,default:null},animated:{type:Boolean,default:null},showProgress:{type:Boolean,default:null},showValue:{type:Boolean,default:null}},computed:{progressBarClasses:function(){return[this.computedVariant?"bg-".concat(this.computedVariant):"",this.computedStriped||this.computedAnimated?"progress-bar-striped":"",this.computedAnimated?"progress-bar-animated":""]},progressBarStyles:function(){return{width:this.value/this.computedMax*100+"%"}},computedProgress:function(){var t=Math.pow(10,this.computedPrecision);return Math.round(100*t*this.value/this.computedMax)/t},computedMax:function(){return Object(a.h)(this.max)?this.max:this.bvProgress.max||100},computedVariant:function(){return this.variant||this.bvProgress.variant},computedPrecision:function(){return Object(a.h)(this.precision)?this.precision:this.bvProgress.precision||0},computedStriped:function(){return Object(a.b)(this.striped)?this.striped:this.bvProgress.striped||!1},computedAnimated:function(){return Object(a.b)(this.animated)?this.animated:this.bvProgress.animated||!1},computedShowProgress:function(){return Object(a.b)(this.showProgress)?this.showProgress:this.bvProgress.showProgress||!1},computedShowValue:function(){return Object(a.b)(this.showValue)?this.showValue:this.bvProgress.showValue||!1}},render:function(t){var e=t();return this.hasNormalizedSlot("default")?e=this.normalizeSlot("default"):this.label||this.labelHtml?e=t("span",{domProps:Object(i.a)(this.labelHtml,this.label)}):this.computedShowProgress?e=this.computedProgress.toFixed(this.computedPrecision):this.computedShowValue&&(e=this.value.toFixed(this.computedPrecision)),t("div",{staticClass:"progress-bar",class:this.progressBarClasses,style:this.progressBarStyles,attrs:{role:"progressbar","aria-valuemin":"0","aria-valuemax":this.computedMax.toString(),"aria-valuenow":this.value.toFixed(this.computedPrecision)}},[e])}})},function(t,e,r){"use strict";var o=function(t){return t.replace(/_/g," ").replace(/([a-z])([A-Z])/g,function(t,e,r){return e+" "+r}).replace(/(\s|^)(\w)/g,function(t,e,r){return e+r.toUpperCase()})};e.a=o},function(t,e,r){"use strict";r.d(e,"b",function(){return o}),r.d(e,"a",function(){return n});var o={_rowVariant:!0,_cellVariants:!0,_showDetails:!0},n=["a","a *","button","button *","input:not(.disabled):not([disabled])","select:not(.disabled):not([disabled])","textarea:not(.disabled):not([disabled])",'[role="link"]','[role="link"] *','[role="button"]','[role="button"] *',"[tabindex]:not(.disabled):not([disabled])"].join(",")},function(t,e,r){"use strict";function o(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}e.a={props:{stacked:{type:[Boolean,String],default:!1}},computed:{isStacked:function(){return""===this.stacked||this.stacked},isStackedAlways:function(){return!0===this.isStacked},stackedTableClasses:function(){return o({"b-table-stacked":this.isStackedAlways},"b-table-stacked-".concat(this.stacked),!this.isStackedAlways&&this.isStacked)}}}},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){i(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"a",function(){return c});var a=r(0),s=r(5),l={headVariant:{type:String,default:null}},c=a.a.extend({name:"BThead",mixins:[s.a],inheritAttrs:!1,provide:function(){return{bvTableRowGroup:this}},inject:{bvTable:{default:function(){return{}}}},props:l,computed:{isThead:function(){return!0},isDark:function(){return this.bvTable.dark},isStacked:function(){return this.bvTable.isStacked},isResponsive:function(){return this.bvTable.isResponsive},isStickyHeader:function(){return!this.isStacked&&this.bvTable.stickyHeader},tableVariant:function(){return this.bvTable.tableVariant},theadClasses:function(){return[this.headVariant?"thead-".concat(this.headVariant):null]},theadAttrs:function(){return n({role:"rowgroup"},this.$attrs)}},render:function(t){return t("thead",{class:this.theadClasses,attrs:this.theadAttrs,on:this.$listeners},this.normalizeSlot("default",{}))}})},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){i(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"b",function(){return l}),r.d(e,"a",function(){return c});var a=r(0),s=r(5),l={tbodyTransitionProps:{type:Object},tbodyTransitionHandlers:{type:Object}},c=a.a.extend({name:"BTbody",mixins:[s.a],inheritAttrs:!1,provide:function(){return{bvTableRowGroup:this}},inject:{bvTable:{default:function(){return{}}}},props:l,computed:{isTbody:function(){return!0},isDark:function(){return this.bvTable.dark},isStacked:function(){return this.bvTable.isStacked},isResponsive:function(){return this.bvTable.isResponsive},isStickyHeader:function(){return!1},tableVariant:function(){return this.bvTable.tableVariant},isTransitionGroup:function(){return this.tbodyTransitionProps||this.tbodyTransitionHandlers},tbodyAttrs:function(){return n({role:"rowgroup"},this.$attrs)},tbodyProps:function(){return this.tbodyTransitionProps?n({},this.tbodyTransitionProps,{tag:"tbody"}):{}},tbodyListeners:function(){var t=this.tbodyTransitionHandlers||{};return n({},this.$listeners,{},t)}},render:function(t){return t(this.isTransitionGroup?"transition-group":"tbody",{props:this.tbodyProps,attrs:this.tbodyAttrs,on:this.tbodyListeners},this.normalizeSlot("default",{}))}})},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){i(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var a=r(1);e.a={inheritAttrs:!1,provide:function(){return{bvTable:this}},props:{striped:{type:Boolean,default:!1},bordered:{type:Boolean,default:!1},borderless:{type:Boolean,default:!1},outlined:{type:Boolean,default:!1},dark:{type:Boolean,default:!1},hover:{type:Boolean,default:!1},small:{type:Boolean,default:!1},fixed:{type:Boolean,default:!1},responsive:{type:[Boolean,String],default:!1},stickyHeader:{type:[Boolean,String],default:!1},noBorderCollapse:{type:Boolean,default:!1},captionTop:{type:Boolean,default:!1},tableVariant:{type:String,default:null},tableClass:{type:[String,Array,Object],default:null}},computed:{isResponsive:function(){var t=""===this.responsive||this.responsive;return!this.isStacked&&t},isStickyHeader:function(){var t=""===this.stickyHeader||this.stickyHeader;return!this.isStacked&&t},wrapperClasses:function(){return[this.isStickyHeader?"b-table-sticky-header":"",!0===this.isResponsive?"table-responsive":this.isResponsive?"table-responsive-".concat(this.responsive):""].filter(Boolean)},wrapperStyles:function(){return this.isStickyHeader&&!Object(a.b)(this.isStickyHeader)?{maxHeight:this.isStickyHeader}:{}},tableClasses:function(){var t=this.isTableSimple?this.hover:this.hover&&this.computedItems.length>0&&!this.computedBusy;return[this.tableClass,{"table-striped":this.striped,"table-hover":t,"table-dark":this.dark,"table-bordered":this.bordered,"table-borderless":this.borderless,"table-sm":this.small,border:this.outlined,"b-table-fixed":this.fixed,"b-table-caption-top":this.captionTop,"b-table-no-border-collapse":this.noBorderCollapse},this.tableVariant?"".concat(this.dark?"bg":"table","-").concat(this.tableVariant):"",this.stackedTableClasses,this.selectableTableClasses]},tableAttrs:function(){var t=[(this.$attrs||{})["aria-describedby"],this.captionId].filter(Boolean).join(" ")||null,e=this.computedItems,r=this.filteredItems,o=this.computedFields,i=this.selectableTableAttrs||{},a=this.isTableSimple?{}:{"aria-busy":this.computedBusy?"true":"false","aria-colcount":String(o.length),"aria-describedby":t};return n({"aria-rowcount":e&&r&&r.length>e.length?String(r.length):null},this.$attrs,{id:this.safeId(),role:"table"},a,{},i)}},render:function(t){var e=[];this.isTableSimple?e.push(this.normalizeSlot("default",{})):(e.push(this.renderCaption?this.renderCaption():null),e.push(this.renderColgroup?this.renderColgroup():null),e.push(this.renderThead?this.renderThead():null),e.push(this.renderTbody?this.renderTbody():null),e.push(this.renderTfoot?this.renderTfoot():null));var r=t("table",{key:"b-table",staticClass:"table b-table",class:this.tableClasses,attrs:this.tableAttrs},e.filter(Boolean));return this.wrapperClasses.length>0?t("div",{key:"wrap",class:this.wrapperClasses,style:this.wrapperStyles},[r]):r}}},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){i(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"b",function(){return x}),r.d(e,"a",function(){return O});var a=r(0),s=r(218),l=(r.n(s),r(30)),c=r(41),d=r(4),u=r(6),p=r(9),f=r(27),b=r(5),m=r(77),h=r(91),g=r(31),v=r(14),y="BToast",w={passive:!0,capture:!1},x={id:{type:String,default:null},title:{type:String,default:null},toaster:{type:String,default:function(){return Object(d.c)(y,"toaster")}},visible:{type:Boolean,default:!1},variant:{type:String,default:function(){return Object(d.c)(y,"variant")}},isStatus:{type:Boolean,default:!1},appendToast:{type:Boolean,default:!1},noAutoHide:{type:Boolean,default:!1},autoHideDelay:{type:[Number,String],default:function(){return Object(d.c)(y,"autoHideDelay")}},noCloseButton:{type:Boolean,default:!1},noFade:{type:Boolean,default:!1},noHoverPause:{type:Boolean,default:!1},solid:{type:Boolean,default:!1},toastClass:{type:[String,Object,Array],default:function(){return Object(d.c)(y,"toastClass")}},headerClass:{type:[String,Object,Array],default:function(){return Object(d.c)(y,"headerClass")}},bodyClass:{type:[String,Object,Array],default:function(){return Object(d.c)(y,"bodyClass")}},href:{type:String,default:null},to:{type:[String,Object],default:null},static:{type:Boolean,default:!1}},O=a.a.extend({name:y,mixins:[p.a,f.a,b.a,m.a],inheritAttrs:!1,model:{prop:"visible",event:"change"},props:x,data:function(){return{isMounted:!1,doRender:!1,localShow:!1,isTransitioning:!1,isHiding:!1,order:0,timer:null,dismissStarted:0,resumeDismiss:0}},computed:{bToastClasses:function(){return i({"b-toast-solid":this.solid,"b-toast-append":this.appendToast,"b-toast-prepend":!this.appendToast},"b-toast-".concat(this.variant),this.variant)},slotScope:function(){return{hide:this.hide}},computedDuration:function(){return Math.max(parseInt(this.autoHideDelay,10)||0,1e3)},computedToaster:function(){return String(this.toaster)},transitionHandlers:function(){return{beforeEnter:this.onBeforeEnter,afterEnter:this.onAfterEnter,beforeLeave:this.onBeforeLeave,afterLeave:this.onAfterLeave}}},watch:{visible:function(t){t?this.show():this.hide()},localShow:function(t){t!==this.visible&&this.$emit("change",t)},toaster:function(t){var e=this;this.$nextTick(function(){return e.ensureToaster})},static:function(t){t&&this.localShow&&this.ensureToaster()}},mounted:function(){var t=this;this.isMounted=!0,this.$nextTick(function(){t.visible&&Object(u.w)(function(){t.show()})}),this.listenOnRoot("bv::show::toast",function(e){e===t.safeId()&&t.show()}),this.listenOnRoot("bv::hide::toast",function(e){e&&e!==t.safeId()||t.hide()}),this.listenOnRoot("bv::toaster::destroyed",function(e){e===t.computedToaster&&t.hide()})},beforeDestroy:function(){this.clearDismissTimer()},methods:{show:function(){var t=this;if(!this.localShow){this.ensureToaster();var e=this.buildEvent("show");this.emitEvent(e),this.dismissStarted=this.resumeDismiss=0,this.order=Date.now()*(this.appendToast?1:-1),this.isHiding=!1,this.doRender=!0,this.$nextTick(function(){Object(u.w)(function(){t.localShow=!0})})}},hide:function(){var t=this;if(this.localShow){var e=this.buildEvent("hide");this.emitEvent(e),this.setHoverHandler(!1),this.dismissStarted=this.resumeDismiss=0,this.clearDismissTimer(),this.isHiding=!0,Object(u.w)(function(){t.localShow=!1})}},buildEvent:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new c.a(t,n({cancelable:!1,target:this.$el||null,relatedTarget:null},e,{vueTarget:this,componentId:this.safeId()}))},emitEvent:function(t){var e=t.type;this.$root.$emit("bv::toast:".concat(e),t),this.$emit(e,t)},ensureToaster:function(){if(!this.static&&!s.Wormhole.hasTarget(this.computedToaster)){var t=document.createElement("div");document.body.appendChild(t);new h.a({parent:this.$root,propsData:{name:this.computedToaster}}).$mount(t)}},startDismissTimer:function(){this.clearDismissTimer(),this.noAutoHide||(this.timer=setTimeout(this.hide,this.resumeDismiss||this.computedDuration),this.dismissStarted=Date.now(),this.resumeDismiss=0)},clearDismissTimer:function(){clearTimeout(this.timer),this.timer=null},setHoverHandler:function(t){var e=t?u.f:u.e,r=this.$refs["b-toast"];e(r,"mouseenter",this.onPause,w),e(r,"mouseleave",this.onUnPause,w)},onPause:function(t){if(!this.noAutoHide&&!this.noHoverPause&&this.timer&&!this.resumeDismiss){var e=Date.now()-this.dismissStarted;e>0&&(this.clearDismissTimer(),this.resumeDismiss=Math.max(this.computedDuration-e,1e3))}},onUnPause:function(t){if(this.noAutoHide||this.noHoverPause||!this.resumeDismiss)return void(this.resumeDismiss=this.dismissStarted=0);this.startDismissTimer()},onLinkClick:function(){var t=this;this.$nextTick(function(){Object(u.w)(function(){t.hide()})})},onBeforeEnter:function(){this.isTransitioning=!0},onAfterEnter:function(){this.isTransitioning=!1;var t=this.buildEvent("shown");this.emitEvent(t),this.startDismissTimer(),this.setHoverHandler(!0)},onBeforeLeave:function(){this.isTransitioning=!0},onAfterLeave:function(){this.isTransitioning=!1,this.order=0,this.resumeDismiss=this.dismissStarted=0;var t=this.buildEvent("hidden");this.emitEvent(t),this.doRender=!1},makeToast:function(t){var e=this,r=[],o=this.normalizeSlot("toast-title",this.slotScope);o?r.push(o):this.title&&r.push(t("strong",{staticClass:"mr-2"},this.title)),this.noCloseButton||r.push(t(g.a,{staticClass:"ml-auto mb-1",on:{click:function(t){e.hide()}}}));var i=t();r.length>0&&(i=t("header",{staticClass:"toast-header",class:this.headerClass},r));var a=this.href||this.to,s=t(a?v.a:"div",{staticClass:"toast-body",class:this.bodyClass,props:a?{to:this.to,href:this.href}:{},on:a?{click:this.onLinkClick}:{}},[this.normalizeSlot("default",this.slotScope)||t()]);return t("div",{key:"toast-".concat(this._uid),ref:"toast",staticClass:"toast",class:this.toastClass,attrs:n({},this.$attrs,{tabindex:"0",id:this.safeId()})},[i,s])}},render:function(t){if(!this.doRender||!this.isMounted)return t();var e="b-toast-".concat(this._uid),r=this.static?{}:this.scopedStyleAttrs;return t(s.Portal,{props:{name:e,to:this.computedToaster,order:this.order,slim:!0,disabled:this.static}},[t("div",{key:e,ref:"b-toast",staticClass:"b-toast",class:this.bToastClasses,attrs:n({},r,{id:this.safeId("_toast_outer"),role:this.isHiding?null:this.isStatus?"status":"alert","aria-live":this.isHiding?null:this.isStatus?"polite":"assertive","aria-atomic":this.isHiding?null:"true"})},[t(l.b,{props:{noFade:this.noFade},on:this.transitionHandlers},[this.localShow?this.makeToast(t):t()])])])}})},function(t,e,r){"use strict";r.d(e,"a",function(){return u});var o=r(0),n=r(218),i=(r.n(n),r(13)),a=r(4),s=r(6),l="BToaster",c={name:{type:String,required:!0},ariaLive:{type:String,default:function(){return Object(a.c)(l,"ariaLive")}},ariaAtomic:{type:String,default:function(){return Object(a.c)(l,"ariaAtomic")}},role:{type:String,default:function(){return Object(a.c)(l,"role")}}},d=o.a.extend({data:function(){return{name:"b-toaster"}},methods:{onAfterEnter:function(t){var e=this;Object(s.w)(function(){Object(s.v)(t,"".concat(e.name,"-enter-to"))})}},render:function(t){return t("transition-group",{props:{tag:"div",name:this.name},on:{afterEnter:this.onAfterEnter}},this.$slots.default)}}),u=o.a.extend({name:l,props:c,data:function(){return{doRender:!1,dead:!1,staticName:this.name}},beforeMount:function(){var t=this;this.staticName=this.name,n.Wormhole.hasTarget(this.staticName)?(Object(i.a)("b-toaster: A <portal-target> with name '".concat(this.name,"' already exists in the document.")),this.dead=!0):(this.doRender=!0,this.$once("hook:beforeDestroy",function(){t.$root.$emit("bv::toaster::destroyed",t.staticName)}))},destroyed:function(){this.$el&&this.$el.parentNode&&this.$el.parentNode.removeChild(this.$el)},render:function(t){var e=t("div",{class:["d-none",{"b-dead-toaster":this.dead}]});if(this.doRender){var r=t(n.PortalTarget,{staticClass:"b-toaster-slot",props:{name:this.staticName,multiple:!0,tag:"div",slim:!1,transition:d}});e=t("div",{staticClass:"b-toaster",class:[this.staticName],attrs:{id:this.staticName,role:this.role||null,"aria-live":this.ariaLive,"aria-atomic":this.ariaAtomic}},[r])}return e}})},function(t,e,r){"use strict";r.d(e,"a",function(){return i});var o=r(220),n=r(3),i=Object(n.b)({directives:{VBTooltip:o.a}})},function(t,e){function r(){throw new Error("setTimeout has not been defined")}function o(){throw new Error("clearTimeout has not been defined")}function n(t){if(d===setTimeout)return setTimeout(t,0);if((d===r||!d)&&setTimeout)return d=setTimeout,setTimeout(t,0);try{return d(t,0)}catch(e){try{return d.call(null,t,0)}catch(e){return d.call(this,t,0)}}}function i(t){if(u===clearTimeout)return clearTimeout(t);if((u===o||!u)&&clearTimeout)return u=clearTimeout,clearTimeout(t);try{return u(t)}catch(e){try{return u.call(null,t)}catch(e){return u.call(this,t)}}}function a(){m&&f&&(m=!1,f.length?b=f.concat(b):h=-1,b.length&&s())}function s(){if(!m){var t=n(a);m=!0;for(var e=b.length;e;){for(f=b,b=[];++h<e;)f&&f[h].run();h=-1,e=b.length}f=null,m=!1,i(t)}}function l(t,e){this.fun=t,this.array=e}function c(){}var d,u,p=t.exports={};!function(){try{d="function"==typeof setTimeout?setTimeout:r}catch(t){d=r}try{u="function"==typeof clearTimeout?clearTimeout:o}catch(t){u=o}}();var f,b=[],m=!1,h=-1;p.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)e[r-1]=arguments[r];b.push(new l(t,e)),1!==b.length||m||n(s)},l.prototype.run=function(){this.fun.apply(null,this.array)},p.title="browser",p.browser=!0,p.env={},p.argv=[],p.version="",p.versions={},p.on=c,p.addListener=c,p.once=c,p.off=c,p.removeListener=c,p.removeAllListeners=c,p.emit=c,p.prependListener=c,p.prependOnceListener=c,p.listeners=function(t){return[]},p.binding=function(t){throw new Error("process.binding is not supported")},p.cwd=function(){return"/"},p.chdir=function(t){throw new Error("process.chdir is not supported")},p.umask=function(){return 0}},function(t,e,r){"use strict";function o(t){if(Array.isArray(t)){for(var e=0,r=Array(t.length);e<t.length;e++)r[e]=t[e];return r}return Array.from(t)}var n=r(232),i=r(235),a=r(96),s=r(99);e.a={components:{OcrdProcessorList:n.a,OcrdProjectList:i.a,OcrdProcessorListItem:a.a,OcrdProjectListItem:s.a},data:function(){return{}},computed:{projects:function(){return this.$root.projects},processors:function(){return this.projects.reduce(function(t,e){var r=0;return e.ocrd_tool&&t.push.apply(t,o(Object.values(e.ocrd_tool.tools).map(function(t){return t.idx=r++,t.part_of=e.org_plus_name,t.official=e.official,t.compliant_cli=e.compliant_cli,t}))),t},[])}},mounted:function(){this.$root.fetchprojectData()},methods:{}}},function(t,e,r){"use strict";function o(t){if(Array.isArray(t)){for(var e=0,r=Array(t.length);e<t.length;e++)r[e]=t[e];return r}return Array.from(t)}function n(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var i=r(96);e.a={components:{OcrdProcessorListItem:i.a},data:function(){return n({step_filter:[],show_unofficial:!0,show_noncompliant:!0,category_filter:{require:!0}},"category_filter",[])},props:{processors:{required:!0}},computed:{filtered_processors:function(){var t=this;return this.processors.filter(function(e){var r=!0,o=!1,n=void 0;try{for(var i,a=t.step_filter[Symbol.iterator]();!(r=(i=a.next()).done);r=!0){var s=i.value;if(-1==e.steps.indexOf(s))return!1}}catch(t){o=!0,n=t}finally{try{!r&&a.return&&a.return()}finally{if(o)throw n}}var l=!0,c=!1,d=void 0;try{for(var u,p=t.category_filter[Symbol.iterator]();!(l=(u=p.next()).done);l=!0){var f=u.value;if(-1==e.categories.indexOf(f))return!1}}catch(t){c=!0,d=t}finally{try{!l&&p.return&&p.return()}finally{if(c)throw d}}return!(!t.show_unofficial&&!e.official)&&!(!t.show_noncompliant&&!project.compliant_cli)})},steps:function(){return this.processors.reduce(function(t,e){return t.push.apply(t,o(e.steps.filter(function(e){return-1==t.indexOf(e)}))),t},[])},categories:function(){return this.processors.reduce(function(t,e){return t.push.apply(t,o(e.categories.filter(function(e){return-1==t.indexOf(e)}))),t},[])}},methods:{toggleStepFilter:function(t){t in this.step_filter?this.step_filter=this.step_filter.splice(this.step_filter.indexOf(t),1):this.step_filter.push(t)}}}},function(t,e,r){"use strict";var o=r(97),n=r(233),i=r(29),a=i(o.a,n.a,!1,null,null,null);e.a=a.exports},function(t,e,r){"use strict";e.a={props:{processor:{required:!0}}}},function(t,e,r){"use strict";var o=r(99);e.a={data:function(){return{name_filter:"",show_unofficial:!0,show_noncompliant:!0,tabIndex:0}},computed:{filtered_projects:function(){var t=this;return this.projects.filter(function(e){return!(!t.show_unofficial&&!e.official)&&(!(!t.show_noncompliant&&!e.compliant_cli)&&e.name.toLowerCase().includes(t.name_filter.toLowerCase()))})}},components:{OcrdProjectListItem:o.a},props:{projects:{required:!0}},methods:{switchTab:function(t){this.tabIndex+=t}}}},function(t,e,r){"use strict";function o(t){r(238)}var n=r(100),i=r(243),a=r(29),s=o,l=a(n.a,i.a,!1,s,null,null);e.a=l.exports},function(t,e,r){"use strict";var o=r(240),n=r.n(o),i=r(241);e.a={components:{VueCodeHighlight:i.a},props:{project:{required:!0},tabIndex:{default:0},projectIndex:{required:!0},modal:{default:!1}},computed:{cleanId:function(){return this.project.org_plus_name.replace(/[^A-Za-z0-9]/g,"-")},compiledReadme:function(){var t=this.project.files["README.md"];return t||(t="`# NO README`"),n()(t)}},methods:{}}},function(t,e,r){"use strict";var o=r(8);e.a=Object(o.c)({breakpoints:["xs","sm","md","lg","xl"],formControls:{size:null},BAlert:{dismissLabel:"Close",variant:"info"},BBadge:{variant:"secondary"},BButton:{size:null,variant:"secondary"},BButtonClose:{textVariant:null,ariaLabel:"Close"},BCardSubTitle:{subTitleTextVariant:"muted"},BCarousel:{labelPrev:"Previous Slide",labelNext:"Next Slide",labelGotoSlide:"Goto Slide",labelIndicators:"Select a slide to display"},BDropdown:{toggleText:"Toggle Dropdown",size:null,variant:"secondary",splitVariant:null},BFormFile:{browseText:"Browse",placeholder:"No file chosen",dropPlaceholder:"Drop files here"},BFormText:{textVariant:"muted"},BImg:{blankColor:"transparent"},BImgLazy:{blankColor:"transparent"},BInputGroup:{size:null},BJumbotron:{bgVariant:null,borderVariant:null,textVariant:null},BListGroupItem:{variant:null},BModal:{titleTag:"h5",size:"md",headerBgVariant:null,headerBorderVariant:null,headerTextVariant:null,headerCloseVariant:null,bodyBgVariant:null,bodyTextVariant:null,footerBgVariant:null,footerBorderVariant:null,footerTextVariant:null,cancelTitle:"Cancel",cancelVariant:"secondary",okTitle:"OK",okVariant:"primary",headerCloseLabel:"Close"},BNavbar:{variant:null},BNavbarToggle:{label:"Toggle navigation"},BPagination:{size:null},BPaginationNav:{size:null},BPopover:{boundary:"scrollParent",boundaryPadding:5,customClass:null,delay:50,variant:null},BProgress:{variant:null},BProgressBar:{variant:null},BSpinner:{variant:null},BTable:{selectedVariant:"primary",headVariant:null,footVariant:null},BToast:{toaster:"b-toaster-top-right",autoHideDelay:5e3,variant:null,toastClass:null,headerClass:null,bodyClass:null},BToaster:{ariaLive:null,ariaAtomic:null,role:null},BTooltip:{boundary:"scrollParent",boundaryPadding:5,customClass:null,delay:50,variant:null}})},function(t,e,r){"use strict";r.d(e,"a",function(){return i});var o=r(103),n=r(3),i=Object(n.b)({components:{BAlert:o.a}})},function(t,e,r){"use strict";function o(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"a",function(){return b});var n=r(0),i=r(4),a=r(6),s=r(1),l=r(30),c=r(5),d=r(31),u=function(t){return""===t||Object(s.b)(t)?0:(t=parseInt(t,10),t>0?t:0)},p=function(t){return""===t||!0===t||!(parseInt(t,10)<1)&&Boolean(t)},f=function(t){return!isNaN(parseInt(t,10))},b=n.a.extend({name:"BAlert",mixins:[c.a],model:{prop:"show",event:"input"},props:{variant:{type:String,default:function(){return Object(i.c)("BAlert","variant")}},dismissible:{type:Boolean,default:!1},dismissLabel:{type:String,default:function(){return Object(i.c)("BAlert","dismissLabel")}},show:{type:[Boolean,Number,String],default:!1},fade:{type:Boolean,default:!1}},data:function(){return{countDownTimerId:null,countDown:0,localShow:p(this.show)}},watch:{show:function(t){this.countDown=u(t),this.localShow=p(t)},countDown:function(t){var e=this;this.clearTimer(),f(this.show)&&(this.$emit("dismiss-count-down",t),this.show!==t&&this.$emit("input",t),t>0?(this.localShow=!0,this.countDownTimerId=setTimeout(function(){e.countDown--},1e3)):this.$nextTick(function(){Object(a.w)(function(){e.localShow=!1})}))},localShow:function(t){t||!this.dismissible&&!f(this.show)||this.$emit("dismissed"),f(this.show)||this.show===t||this.$emit("input",t)}},created:function(){this.countDown=u(this.show),this.localShow=p(this.show)},mounted:function(){this.countDown=u(this.show),this.localShow=p(this.show)},beforeDestroy:function(){this.clearTimer()},methods:{dismiss:function(){this.clearTimer(),this.countDown=0,this.localShow=!1},clearTimer:function(){this.countDownTimerId&&(clearInterval(this.countDownTimerId),this.countDownTimerId=null)}},render:function(t){var e;if(this.localShow){var r=t();this.dismissible&&(r=t(d.a,{attrs:{"aria-label":this.dismissLabel},on:{click:this.dismiss}},[this.normalizeSlot("dismiss")])),e=t("div",{key:this._uid,staticClass:"alert",class:o({"alert-dismissible":this.dismissible},"alert-".concat(this.variant),this.variant),attrs:{role:"alert","aria-live":"polite","aria-atomic":!0}},[r,this.normalizeSlot("default")]),e=[e]}return t(l.b,{props:{noFade:!this.fade}},e)}})},function(t,e,r){"use strict";r.d(e,"a",function(){return i});var o=r(105),n=r(3),i=Object(n.b)({components:{BBadge:o.a}})},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"a",function(){return p});var i=r(0),a=r(2),s=r(4),l=r(15),c=r(14),d=Object(c.b)();delete d.href.default,delete d.to.default;var u=function(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){n(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}({},d,{tag:{type:String,default:"span"},variant:{type:String,default:function(){return Object(s.c)("BBadge","variant")}},pill:{type:Boolean,default:!1}}),p=i.a.extend({name:"BBadge",functional:!0,props:u,render:function(t,e){var r=e.props,o=e.data,n=e.children,i=r.href||r.to?c.a:r.tag,s={staticClass:"badge",class:[r.variant?"badge-".concat(r.variant):"badge-secondary",{"badge-pill":Boolean(r.pill),active:r.active,disabled:r.disabled}],props:Object(l.a)(d,r)};return t(i,Object(a.a)(o,s),n)}})},function(t,e,r){"use strict";var o=function(t){return t};e.a=o},function(t,e,r){"use strict";r.d(e,"e",function(){return p}),r.d(e,"d",function(){return f}),r.d(e,"c",function(){return b}),r.d(e,"b",function(){return m}),r.d(e,"a",function(){return h});var o=r(26),n=r(1),i=r(8),a=/%2C/g,s=/[!'()*]/g,l=function(t){return"%"+t.charCodeAt(0).toString(16)},c=function(t){return encodeURIComponent(Object(o.a)(t)).replace(s,l).replace(a,",")},d=decodeURIComponent,u=function(t){if(!Object(n.j)(t))return"";var e=Object(i.j)(t).map(function(e){var r=t[e];return Object(n.n)(r)?"":Object(n.g)(r)?c(e):Object(n.a)(r)?r.reduce(function(t,r){return Object(n.g)(r)?t.push(c(e)):Object(n.n)(r)||t.push(c(e)+"="+c(r)),t},[]).join("&"):c(e)+"="+c(r)}).filter(function(t){return t.length>0}).join("&");return e?"?".concat(e):""},p=function(t){var e={};return(t=Object(o.a)(t).trim().replace(/^(\?|#|&)/,""))?(t.split("&").forEach(function(t){var r=t.replace(/\+/g," ").split("="),o=d(r.shift()),i=r.length>0?d(r.join("=")):null;Object(n.n)(e[o])?e[o]=i:Object(n.a)(e[o])?e[o].push(i):e[o]=[e[o],i]}),e):e},f=function(t){return"a"!==Object(o.a)(t).toLowerCase()},b=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=t.to,r=t.disabled,o=arguments.length>1?arguments[1]:void 0;return o.$router&&e&&!r?o.$nuxt?"nuxt-link":"router-link":"a"},m=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=t.target,r=t.rel;return"_blank"===e&&Object(n.g)(r)?"noopener":r||null},h=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=t.href,r=t.to,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"a",a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"#",s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"/";if(f(i))return null;if(e)return e;if(r){if(Object(n.m)(r))return r||s;if(Object(n.j)(r)&&(r.path||r.query||r.hash)){var l=Object(o.a)(r.path),c=u(r.query),d=Object(o.a)(r.hash);return d=d&&"#"!==d.charAt(0)?"#".concat(d):d,"".concat(l).concat(c).concat(d)||s}}return a}},function(t,e,r){"use strict";r.d(e,"a",function(){return s});var o=r(109),n=r(53),i=r(110),a=r(3),s=Object(a.b)({components:{BBreadcrumb:o.a,BBreadcrumbItem:n.a,BBreadcrumbLink:i.a}})},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){i(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"a",function(){return p});var a=r(0),s=r(2),l=r(26),c=r(1),d=r(53),u={items:{type:Array,default:null}},p=a.a.extend({name:"BBreadcrumb",functional:!0,props:u,render:function(t,e){var r=e.props,o=e.data,i=e.children,a=i;if(Object(c.a)(r.items)){var u=!1;a=r.items.map(function(e,o){Object(c.i)(e)||(e={text:Object(l.a)(e)});var i=e.active;return i&&(u=!0),i||u||(i=o+1===r.items.length),t(d.a,{props:n({},e,{active:i})})})}return t("ol",Object(s.a)(o,{staticClass:"breadcrumb"}),a)}})},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"b",function(){return d}),r.d(e,"a",function(){return u});var i=r(0),a=r(2),s=r(15),l=r(11),c=r(14),d=function(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){n(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}({},Object(c.b)(),{text:{type:String,default:null},html:{type:String,default:null},ariaCurrent:{type:String,default:"location"}}),u=i.a.extend({name:"BBreadcrumbLink",functional:!0,props:d,render:function(t,e){var r=e.props,o=e.data,n=e.children,i=r.active?"span":c.a,u={props:Object(s.a)(d,r)};return r.active&&(u.attrs={"aria-current":r.ariaCurrent}),n||(u.domProps=Object(l.a)(r.html,r.text)),t(i,Object(a.a)(o,u),n)}})},function(t,e,r){"use strict";r.d(e,"a",function(){return a});var o=r(34),n=r(31),i=r(3),a=Object(i.b)({components:{BButton:o.a,BBtn:o.a,BButtonClose:n.a,BBtnClose:n.a}})},function(t,e,r){"use strict";r.d(e,"a",function(){return i});var o=r(113),n=r(3),i=Object(n.b)({components:{BButtonGroup:o.a,BBtnGroup:o.a}})},function(t,e,r){"use strict";function o(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"a",function(){return l});var n=r(0),i=r(2),a=r(4),s={vertical:{type:Boolean,default:!1},size:{type:String,default:function(){return Object(a.c)("BButton","size")}},tag:{type:String,default:"div"},ariaRole:{type:String,default:"group"}},l=n.a.extend({name:"BButtonGroup",functional:!0,props:s,render:function(t,e){var r=e.props,n=e.data,a=e.children;return t(r.tag,Object(i.a)(n,{class:o({"btn-group":!r.vertical,"btn-group-vertical":r.vertical},"btn-group-".concat(r.size),Boolean(r.size)),attrs:{role:r.ariaRole}}),a)}})},function(t,e,r){"use strict";r.d(e,"a",function(){return i});var o=r(115),n=r(3),i=Object(n.b)({components:{BButtonToolbar:o.a,BBtnToolbar:o.a}})},function(t,e,r){"use strict";r.d(e,"a",function(){return l});var o=r(0),n=r(6),i=r(5),a=r(19),s=[".btn:not(.disabled):not([disabled]):not(.dropdown-item)",".form-control:not(.disabled):not([disabled])","select:not(.disabled):not([disabled])",'input[type="checkbox"]:not(.disabled)','input[type="radio"]:not(.disabled)'].join(","),l=o.a.extend({name:"BButtonToolbar",mixins:[i.a],props:{justify:{type:Boolean,default:!1},keyNav:{type:Boolean,default:!1}},mounted:function(){this.keyNav&&this.getItems()},methods:{onFocusin:function(t){t.target===this.$el&&(t.preventDefault(),t.stopPropagation(),this.focusFirst(t))},stop:function(t){t.preventDefault(),t.stopPropagation()},onKeydown:function(t){if(this.keyNav){var e=t.keyCode,r=t.shiftKey;e===a.a.UP||e===a.a.LEFT?(this.stop(t),r?this.focusFirst(t):this.focusPrev(t)):e!==a.a.DOWN&&e!==a.a.RIGHT||(this.stop(t),r?this.focusLast(t):this.focusNext(t))}},setItemFocus:function(t){t&&t.focus&&t.focus()},focusFirst:function(t){var e=this.getItems();this.setItemFocus(e[0])},focusPrev:function(t){var e=this.getItems(),r=e.indexOf(t.target);r>-1&&(e=e.slice(0,r).reverse(),this.setItemFocus(e[0]))},focusNext:function(t){var e=this.getItems(),r=e.indexOf(t.target);r>-1&&(e=e.slice(r+1),this.setItemFocus(e[0]))},focusLast:function(t){var e=this.getItems().reverse();this.setItemFocus(e[0])},getItems:function(){var t=Object(n.y)(s,this.$el);return t.forEach(function(t){t.tabIndex=-1}),t.filter(function(t){return Object(n.p)(t)})}},render:function(t){return t("div",{staticClass:"btn-toolbar",class:{"justify-content-between":this.justify},attrs:{role:"toolbar",tabindex:this.keyNav?"0":null},on:this.keyNav?{focusin:this.onFocusin,keydown:this.onKeydown}:{}},[this.normalizeSlot("default")])}})},function(t,e,r){"use strict";r.d(e,"a",function(){return b});var o=r(117),n=r(58),i=r(55),a=r(56),s=r(57),l=r(59),c=r(60),d=r(118),u=r(120),p=r(121),f=r(3),b=Object(f.b)({components:{BCard:o.a,BCardHeader:n.a,BCardBody:i.a,BCardTitle:a.a,BCardSubTitle:s.a,BCardFooter:l.a,BCardImg:c.a,BCardImgLazy:d.a,BCardText:u.a,BCardGroup:p.a}})},function(t,e,r){"use strict";function o(t){return a(t)||i(t)||n()}function n(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function i(t){if(Symbol.iterator in Object(t)||"[object Arguments]"===Object.prototype.toString.call(t))return Array.from(t)}function a(t){if(Array.isArray(t)){for(var e=0,r=new Array(t.length);e<t.length;e++)r[e]=t[e];return r}}function s(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function l(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"a",function(){return k});var c=r(0),d=r(2),u=r(35),p=r(249),f=r(36),b=r(15),m=r(18),h=r(37),g=r(55),v=r(58),y=r(59),w=r(60),x=Object(f.a)(w.b,u.a.bind(null,"img"));x.imgSrc.required=!1;var O=function(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?s(r,!0).forEach(function(e){l(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):s(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}({},g.b,{},v.b,{},y.b,{},x,{},Object(f.a)(h.a.props),{align:{type:String,default:null},noBody:{type:Boolean,default:!1}}),k=c.a.extend({name:"BCard",functional:!0,props:O,render:function(t,e){var r,n=e.props,i=e.data,a=e.slots,s=e.scopedSlots,c=a(),u=s||{},f=t(),h=t(),O=t(),k=t(),j=t();if(n.imgSrc){var S=t(w.a,{props:Object(b.a)(x,n,p.a.bind(null,"img"))});n.imgBottom?j=S:f=S}return(n.header||Object(m.a)("header",u,c))&&(h=t(v.a,{props:Object(b.a)(v.b,n)},Object(m.b)("header",{},u,c))),O=Object(m.b)("default",{},u,c)||[],n.noBody||(O=[t(g.a,{props:Object(b.a)(g.b,n)},o(O))]),(n.footer||Object(m.a)("footer",u,c))&&(k=t(y.a,{props:Object(b.a)(y.b,n)},Object(m.b)("footer",{},u,c))),t(n.tag,Object(d.a)(i,{staticClass:"card",class:(r={"flex-row":n.imgLeft||n.imgStart,"flex-row-reverse":(n.imgRight||n.imgEnd)&&!(n.imgLeft||n.imgStart)},l(r,"text-".concat(n.align),Boolean(n.align)),l(r,"bg-".concat(n.bgVariant),Boolean(n.bgVariant)),l(r,"border-".concat(n.borderVariant),Boolean(n.borderVariant)),l(r,"text-".concat(n.textVariant),Boolean(n.textVariant)),r)}),[f,h].concat(o(O),[k,j]))}})},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){i(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"a",function(){return p});var a=r(0),s=r(8),l=r(2),c=r(61),d=Object(s.k)(c.b,["left","right","center","block","rounded","thumbnail","fluid","fluidGrow"]),u=n({},d,{top:{type:Boolean,default:!1},bottom:{type:Boolean,default:!1},start:{type:Boolean,default:!1},left:{type:Boolean,default:!1},end:{type:Boolean,default:!1},right:{type:Boolean,default:!1}}),p=a.a.extend({name:"BCardImgLazy",functional:!0,props:u,render:function(t,e){var r=e.props,o=e.data,i="card-img";r.top?i+="-top":r.right||r.end?i+="-right":r.bottom?i+="-bottom":(r.left||r.start)&&(i+="-left");var a=n({},r,{left:!1,right:!1,center:!1});return t(c.a,Object(l.a)(o,{class:[i],props:a}))}})},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){i(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function a(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){for(var r=0;r<e.length;r++){var o=e[r];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}function l(t,e,r){return e&&s(t.prototype,e),r&&s(t,r),t}r.d(e,"a",function(){return y});var c=r(12),d=r(6),u=r(1),p=r(8),f="__bv__visibility_observer",b=function(){function t(e,r,o){a(this,t),this.el=e,this.callback=r.callback,this.margin=r.margin||0,this.once=r.once||!1,this.observer=null,this.visible=void 0,this.doneOnce=!1,this.createObserver(o)}return l(t,[{key:"createObserver",value:function(t){var e=this;if(this.observer&&this.stop(),!this.doneOnce&&Object(u.f)(this.callback)){try{this.observer=new IntersectionObserver(this.handler.bind(this),{root:null,rootMargin:this.margin,threshold:0})}catch(t){return this.doneOnce=!0,this.observer=void 0,void this.callback(null)}t.context.$nextTick(function(){Object(d.w)(function(){e.observer&&e.observer.observe(e.el)})})}}},{key:"handler",value:function(t){var e=t?t[0]:{},r=Boolean(e.isIntersecting||e.intersectionRatio>0);r!==this.visible&&(this.visible=r,this.callback(r),this.once&&this.visible&&(this.doneOnce=!0,this.stop()))}},{key:"stop",value:function(){var t=this.observer;t&&t.disconnect&&t.disconnect(),this.observer=null}}]),t}(),m=function(t){var e=t[f];e&&e.stop&&e.stop(),delete t[f]},h=function(t,e,r){var o=e.value,i=e.modifiers,a={margin:"0px",once:!1,callback:o};Object(p.j)(i).forEach(function(t){/^\d+$/.test(t)?a.margin="".concat(t,"px"):"once"===t.toLowerCase()&&(a.once=!0)}),m(t),t[f]=new b(t,a,r),t[f]._prevModifiers=n({},i)},g=function(t,e,r){var o=e.value,n=e.oldValue,i=e.modifiers;o===n&&t[f]&&Object(c.a)(i,t[f]._prevModifiers)||h(t,{value:o,modifiers:i},r)},v=function(t){m(t)},y={bind:h,componentUpdated:g,unbind:v}},function(t,e,r){"use strict";r.d(e,"a",function(){return a});var o=r(0),n=r(2),i={textTag:{type:String,default:"p"}},a=o.a.extend({name:"BCardText",functional:!0,props:i,render:function(t,e){var r=e.props,o=e.data,i=e.children;return t(r.textTag,Object(n.a)(o,{staticClass:"card-text"}),i)}})},function(t,e,r){"use strict";r.d(e,"a",function(){return a});var o=r(0),n=r(2),i={tag:{type:String,default:"div"},deck:{type:Boolean,default:!1},columns:{type:Boolean,default:!1}},a=o.a.extend({name:"BCardGroup",functional:!0,props:i,render:function(t,e){var r=e.props,o=e.data,i=e.children,a="card-group";return r.deck?a="card-deck":r.columns&&(a="card-columns"),t(r.tag,Object(n.a)(o,{class:a}),i)}})},function(t,e,r){"use strict";r.d(e,"a",function(){return a});var o=r(123),n=r(124),i=r(3),a=Object(i.b)({components:{BCarousel:o.a,BCarouselSlide:n.a}})},function(t,e,r){"use strict";r.d(e,"a",function(){return y});var o=r(0),n=r(19),i=r(251),a=r(39),s=r(4),l=r(6),c=r(10),d=r(1),u=r(9),p=r(5),f="BCarousel",b={next:{dirClass:"carousel-item-left",overlayClass:"carousel-item-next"},prev:{dirClass:"carousel-item-right",overlayClass:"carousel-item-prev"}},m={TOUCH:"touch",PEN:"pen"},h={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"otransitionend oTransitionEnd",transition:"transitionend"},g={passive:!0,capture:!1},v=function(t){for(var e in h)if(!Object(d.n)(t.style[e]))return h[e];return null},y=o.a.extend({name:f,mixins:[u.a,p.a],provide:function(){return{bvCarousel:this}},model:{prop:"value",event:"input"},props:{labelPrev:{type:String,default:function(){return Object(s.c)(f,"labelPrev")}},labelNext:{type:String,default:function(){return Object(s.c)(f,"labelNext")}},labelGotoSlide:{type:String,default:function(){return Object(s.c)(f,"labelGotoSlide")}},labelIndicators:{type:String,default:function(){return Object(s.c)(f,"labelIndicators")}},interval:{type:Number,default:5e3},indicators:{type:Boolean,default:!1},controls:{type:Boolean,default:!1},noAnimation:{type:Boolean,default:!1},fade:{type:Boolean,default:!1},noWrap:{type:Boolean,default:!1},noTouch:{type:Boolean,default:!1},noHoverPause:{type:Boolean,default:!1},imgWidth:{type:[Number,String]},imgHeight:{type:[Number,String]},background:{type:String},value:{type:Number,default:0}},data:function(){return{index:this.value||0,isSliding:!1,transitionEndEvent:null,slides:[],direction:null,isPaused:!(parseInt(this.interval,10)>0),touchStartX:0,touchDeltaX:0}},computed:{numSlides:function(){return this.slides.length}},watch:{value:function(t,e){t!==e&&this.setSlide(parseInt(t,10)||0)},interval:function(t,e){t!==e&&(t?(this.pause(!0),this.start(!1)):this.pause(!1))},isPaused:function(t,e){t!==e&&this.$emit(t?"paused":"unpaused")},index:function(t,e){t===e||this.isSliding||this.doSlide(t,e)}},created:function(){this._intervalId=null,this._animationTimeout=null,this._touchTimeout=null,this.isPaused=!(parseInt(this.interval,10)>0)},mounted:function(){this.transitionEndEvent=v(this.$el)||null,this.updateSlides(),Object(a.a)(this.$refs.inner,this.updateSlides.bind(this),{subtree:!1,childList:!0,attributes:!0,attributeFilter:["id"]})},beforeDestroy:function(){clearTimeout(this._animationTimeout),clearTimeout(this._touchTimeout),clearInterval(this._intervalId),this._intervalId=null,this._animationTimeout=null,this._touchTimeout=null},methods:{setSlide:function(t){var e=this,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(!(c.j&&document.visibilityState&&document.hidden)){var o=this.noWrap,n=this.numSlides;if(t=Math.floor(t),0!==n){if(this.isSliding)return void this.$once("sliding-end",function(){return e.setSlide(t,r)});this.direction=r,this.index=t>=n?o?n-1:0:t<0?o?0:n-1:t,o&&this.index!==t&&this.index!==this.value&&this.$emit("input",this.index)}}},prev:function(){this.setSlide(this.index-1,"prev")},next:function(){this.setSlide(this.index+1,"next")},pause:function(t){t||(this.isPaused=!0),this._intervalId&&(clearInterval(this._intervalId),this._intervalId=null)},start:function(t){t||(this.isPaused=!1),this._intervalId&&(clearInterval(this._intervalId),this._intervalId=null),this.interval&&this.numSlides>1&&(this._intervalId=setInterval(this.next,Math.max(1e3,this.interval)))},restart:function(t){this.$el.contains(document.activeElement)||this.start()},doSlide:function(t,e){var r=this,o=Boolean(this.interval),n=this.calcDirection(this.direction,e,t),i=n.overlayClass,a=n.dirClass,s=this.slides[e],c=this.slides[t];if(s&&c){if(this.isSliding=!0,o&&this.pause(!1),this.$emit("sliding-start",t),this.$emit("input",this.index),this.noAnimation)Object(l.b)(c,"active"),Object(l.v)(s,"active"),this.isSliding=!1,this.$nextTick(function(){return r.$emit("sliding-end",t)});else{Object(l.b)(c,i),Object(l.t)(c),Object(l.b)(s,a),Object(l.b)(c,a);var d=!1,u=function e(o){if(!d){if(d=!0,r.transitionEndEvent){r.transitionEndEvent.split(/\s+/).forEach(function(t){return Object(l.e)(s,t,e,g)})}r._animationTimeout=null,Object(l.v)(c,a),Object(l.v)(c,i),Object(l.b)(c,"active"),Object(l.v)(s,"active"),Object(l.v)(s,a),Object(l.v)(s,i),Object(l.z)(s,"aria-current","false"),Object(l.z)(c,"aria-current","true"),Object(l.z)(s,"aria-hidden","true"),Object(l.z)(c,"aria-hidden","false"),r.isSliding=!1,r.direction=null,r.$nextTick(function(){return r.$emit("sliding-end",t)})}};if(this.transitionEndEvent){this.transitionEndEvent.split(/\s+/).forEach(function(t){return Object(l.f)(s,t,u,g)})}this._animationTimeout=setTimeout(u,650)}o&&this.start(!1)}},updateSlides:function(){this.pause(!0),this.slides=Object(l.y)(".carousel-item",this.$refs.inner);var t=this.slides.length,e=Math.max(0,Math.min(Math.floor(this.index),t-1));this.slides.forEach(function(r,o){var n=o+1;o===e?(Object(l.b)(r,"active"),Object(l.z)(r,"aria-current","true")):(Object(l.v)(r,"active"),Object(l.z)(r,"aria-current","false")),Object(l.z)(r,"aria-posinset",String(n)),Object(l.z)(r,"aria-setsize",String(t))}),this.setSlide(e),this.start(this.isPaused)},calcDirection:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return t?b[t]:r>e?b.next:b.prev},handleClick:function(t,e){var r=t.keyCode;"click"!==t.type&&r!==n.a.SPACE&&r!==n.a.ENTER||(t.preventDefault(),t.stopPropagation(),e())},handleSwipe:function(){var t=Math.abs(this.touchDeltaX);if(!(t<=40)){var e=t/this.touchDeltaX;this.touchDeltaX=0,e>0?this.prev():e<0&&this.next()}},touchStart:function(t){c.f&&m[t.pointerType.toUpperCase()]?this.touchStartX=t.clientX:c.f||(this.touchStartX=t.touches[0].clientX)},touchMove:function(t){t.touches&&t.touches.length>1?this.touchDeltaX=0:this.touchDeltaX=t.touches[0].clientX-this.touchStartX},touchEnd:function(t){c.f&&m[t.pointerType.toUpperCase()]&&(this.touchDeltaX=t.clientX-this.touchStartX),this.handleSwipe(),this.pause(!1),this._touchTimeout&&clearTimeout(this._touchTimeout),this._touchTimeout=setTimeout(this.start,500+Math.max(1e3,this.interval))}},render:function(t){var e=this,r=t("div",{ref:"inner",class:["carousel-inner"],attrs:{id:this.safeId("__BV_inner_"),role:"list"}},[this.normalizeSlot("default")]),o=t();if(this.controls){var a=function(t){e.isSliding?t.preventDefault():e.handleClick(t,e.prev)},s=function(t){e.isSliding?t.preventDefault():e.handleClick(t,e.next)};o=[t("a",{class:["carousel-control-prev"],attrs:{href:"#",role:"button","aria-controls":this.safeId("__BV_inner_"),"aria-disabled":this.isSliding?"true":null},on:{click:a,keydown:a}},[t("span",{class:["carousel-control-prev-icon"],attrs:{"aria-hidden":"true"}}),t("span",{class:["sr-only"]},[this.labelPrev])]),t("a",{class:["carousel-control-next"],attrs:{href:"#",role:"button","aria-controls":this.safeId("__BV_inner_"),"aria-disabled":this.isSliding?"true":null},on:{click:s,keydown:s}},[t("span",{class:["carousel-control-next-icon"],attrs:{"aria-hidden":"true"}}),t("span",{class:["sr-only"]},[this.labelNext])])]}var l=t("ol",{class:["carousel-indicators"],directives:[{name:"show",rawName:"v-show",value:this.indicators,expression:"indicators"}],attrs:{id:this.safeId("__BV_indicators_"),"aria-hidden":this.indicators?"false":"true","aria-label":this.labelIndicators,"aria-owns":this.safeId("__BV_inner_")}},this.slides.map(function(r,o){return t("li",{key:"slide_".concat(o),class:{active:o===e.index},attrs:{role:"button",id:e.safeId("__BV_indicator_".concat(o+1,"_")),tabindex:e.indicators?"0":"-1","aria-current":o===e.index?"true":"false","aria-label":"".concat(e.labelGotoSlide," ").concat(o+1),"aria-describedby":e.slides[o].id||null,"aria-controls":e.safeId("__BV_inner_")},on:{click:function(t){e.handleClick(t,function(){e.setSlide(o)})},keydown:function(t){e.handleClick(t,function(){e.setSlide(o)})}}})})),d={mouseenter:this.noHoverPause?i.a:this.pause,mouseleave:this.noHoverPause?i.a:this.restart,focusin:this.pause,focusout:this.restart,keydown:function(t){if(!/input|textarea/i.test(t.target.tagName)){var r=t.keyCode;r!==n.a.LEFT&&r!==n.a.RIGHT||(t.preventDefault(),t.stopPropagation(),e[r===n.a.LEFT?"prev":"next"]())}}};return!this.noTouch&&c.h&&(c.f?(d["&pointerdown"]=this.touchStart,d["&pointerup"]=this.touchEnd):(d["&touchstart"]=this.touchStart,d["&touchmove"]=this.touchMove,d["&touchend"]=this.touchEnd)),t("div",{staticClass:"carousel",class:{slide:!this.noAnimation,"carousel-fade":!this.noAnimation&&this.fade,"pointer-event":!this.noTouch&&c.h&&c.f},style:{background:this.background},attrs:{role:"region",id:this.safeId(),"aria-busy":this.isSliding?"true":"false"},on:d},[r,o,l])}})},function(t,e,r){"use strict";r.d(e,"a",function(){return d});var o=r(0),n=r(9),i=r(5),a=r(10),s=r(11),l=r(38),c={imgSrc:{type:String},imgAlt:{type:String},imgWidth:{type:[Number,String]},imgHeight:{type:[Number,String]},imgBlank:{type:Boolean,default:!1},imgBlankColor:{type:String,default:"transparent"},contentVisibleUp:{type:String},contentTag:{type:String,default:"div"},caption:{type:String},captionHtml:{type:String},captionTag:{type:String,default:"h3"},text:{type:String},textHtml:{type:String},textTag:{type:String,default:"p"},background:{type:String}},d=o.a.extend({name:"BCarouselSlide",mixins:[n.a,i.a],inject:{bvCarousel:{default:function(){return{noTouch:!0}}}},props:c,computed:{contentClasses:function(){return[this.contentVisibleUp?"d-none":"",this.contentVisibleUp?"d-".concat(this.contentVisibleUp,"-block"):""]},computedWidth:function(){return this.imgWidth||this.bvCarousel.imgWidth||null},computedHeight:function(){return this.imgHeight||this.bvCarousel.imgHeight||null}},render:function(t){var e=!this.bvCarousel.noTouch&&a.h,r=this.normalizeSlot("img");r||!this.imgSrc&&!this.imgBlank||(r=t(l.a,{props:{fluidGrow:!0,block:!0,src:this.imgSrc,blank:this.imgBlank,blankColor:this.imgBlankColor,width:this.computedWidth,height:this.computedHeight,alt:this.imgAlt},on:e?{dragstart:function(t){t.preventDefault()}}:{}})),r||(r=t());var o=t(),n=[!(!this.caption&&!this.captionHtml)&&t(this.captionTag,{domProps:Object(s.a)(this.captionHtml,this.caption)}),!(!this.text&&!this.textHtml)&&t(this.textTag,{domProps:Object(s.a)(this.textHtml,this.text)}),this.normalizeSlot("default")||!1];return n.some(Boolean)&&(o=t(this.contentTag,{staticClass:"carousel-caption",class:this.contentClasses},n.map(function(e){return e||t()}))),t("div",{staticClass:"carousel-item",style:{background:this.background||this.bvCarousel.background||null},attrs:{id:this.safeId(),role:"listitem"}},[r,o])}})},function(t,e,r){"use strict";r.d(e,"a",function(){return d});var o=r(0),n=r(9),i=r(27),a=r(5),s=r(10),l=r(6),c={passive:!0,capture:!1},d=o.a.extend({name:"BCollapse",mixins:[n.a,i.a,a.a],model:{prop:"visible",event:"input"},props:{isNav:{type:Boolean,default:!1},accordion:{type:String,default:null},visible:{type:Boolean,default:!1},tag:{type:String,default:"div"}},data:function(){return{show:this.visible,transitioning:!1}},computed:{classObject:function(){return{"navbar-collapse":this.isNav,collapse:!this.transitioning,show:this.show&&!this.transitioning}}},watch:{visible:function(t){t!==this.show&&(this.show=t)},show:function(t,e){t!==e&&this.emitState()}},created:function(){this.show=this.visible},mounted:function(){var t=this;this.show=this.visible,this.listenOnRoot("bv::toggle::collapse",this.handleToggleEvt),this.listenOnRoot("bv::collapse::accordion",this.handleAccordionEvt),this.isNav&&(this.setWindowEvents(!0),this.handleResize()),this.$nextTick(function(){t.emitState()}),this.listenOnRoot("bv::request::collapse::state",function(e){e===t.safeId()&&t.$nextTick(t.emitSync)})},updated:function(){this.emitSync()},deactivated:function(){this.isNav&&this.setWindowEvents(!1)},activated:function(){this.isNav&&this.setWindowEvents(!0),this.emitSync()},beforeDestroy:function(){this.show=!1,this.isNav&&s.j&&this.setWindowEvents(!1)},methods:{setWindowEvents:function(t){var e=t?l.f:l.e;e(window,"resize",this.handleResize,c),e(window,"orientationchange",this.handleResize,c)},toggle:function(){this.show=!this.show},onEnter:function(t){t.style.height=0,Object(l.t)(t),t.style.height=t.scrollHeight+"px",this.transitioning=!0,this.$emit("show")},onAfterEnter:function(t){t.style.height=null,this.transitioning=!1,this.$emit("shown")},onLeave:function(t){t.style.height="auto",t.style.display="block",t.style.height=Object(l.h)(t).height+"px",Object(l.t)(t),this.transitioning=!0,t.style.height=0,this.$emit("hide")},onAfterLeave:function(t){t.style.height=null,this.transitioning=!1,this.$emit("hidden")},emitState:function(){this.$emit("input",this.show),this.$root.$emit("bv::collapse::state",this.safeId(),this.show),this.accordion&&this.show&&this.$root.$emit("bv::collapse::accordion",this.safeId(),this.accordion)},emitSync:function(){this.$root.$emit("bv::collapse::sync::state",this.safeId(),this.show)},checkDisplayBlock:function(){var t=Object(l.m)(this.$el,"show");Object(l.v)(this.$el,"show");var e="block"===Object(l.j)(this.$el).display;return t&&Object(l.b)(this.$el,"show"),e},clickHandler:function(t){var e=t.target;this.isNav&&e&&"block"===Object(l.j)(this.$el).display&&(Object(l.q)(e,".nav-link,.dropdown-item")||Object(l.c)(".nav-link,.dropdown-item",e))&&(this.checkDisplayBlock()||(this.show=!1))},handleToggleEvt:function(t){t===this.safeId()&&this.toggle()},handleAccordionEvt:function(t,e){this.accordion&&e===this.accordion&&(t===this.safeId()?this.show||this.toggle():this.show&&this.toggle())},handleResize:function(){this.show="block"===Object(l.j)(this.$el).display}},render:function(t){var e=t(this.tag,{class:this.classObject,directives:[{name:"show",value:this.show}],attrs:{id:this.safeId()},on:{click:this.clickHandler}},[this.normalizeSlot("default")]);return t("transition",{props:{enterClass:"",enterActiveClass:"collapsing",enterToClass:"",leaveClass:"",leaveActiveClass:"collapsing",leaveToClass:""},on:{enter:this.onEnter,afterEnter:this.onAfterEnter,leave:this.onLeave,afterLeave:this.onAfterLeave}},[e])}})},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){i(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var a=r(127),s=r(19),l=r(13),c=r(41),d=r(6),u=r(1),p=r(9),f=function(t){return(t||[]).filter(d.p)},b="".concat("bv::dropdown::","shown"),m="".concat("bv::dropdown::","hidden"),h={FORM_CHILD:".dropdown form",ITEM_SELECTOR:[".dropdown-item",".b-dropdown-form"].map(function(t){return"".concat(t,":not(.disabled):not([disabled])")}).join(", ")},g={TOP:"top-start",TOPEND:"top-end",BOTTOM:"bottom-start",BOTTOMEND:"bottom-end",RIGHT:"right-start",RIGHTEND:"right-end",LEFT:"left-start",LEFTEND:"left-end"};e.a={mixins:[p.a],provide:function(){return{bvDropdown:this}},props:{disabled:{type:Boolean,default:!1},text:{type:String,default:""},html:{type:String},dropup:{type:Boolean,default:!1},dropright:{type:Boolean,default:!1},dropleft:{type:Boolean,default:!1},right:{type:Boolean,default:!1},offset:{type:[Number,String],default:0},noFlip:{type:Boolean,default:!1},lazy:{type:Boolean,default:!1},popperOpts:{default:function(){}}},data:function(){return{visible:!1,inNavbar:null,visibleChangePrevented:!1}},computed:{toggler:function(){var t=this.$refs.toggle;return t?t.$el||t:null},directionClass:function(){return this.dropup?"dropup":this.dropright?"dropright":this.dropleft?"dropleft":""}},watch:{visible:function(t,e){if(this.visibleChangePrevented)return void(this.visibleChangePrevented=!1);if(t!==e){var r=t?"show":"hide",o=new c.a(r,{cancelable:!0,vueTarget:this,target:this.$refs.menu,relatedTarget:null,componentId:this.safeId?this.safeId():this.id||null});if(this.emitEvent(o),o.defaultPrevented)return this.visibleChangePrevented=!0,this.visible=e,void this.$off("hidden",this.focusToggler);"show"===r?this.showMenu():this.hideMenu()}},disabled:function(t,e){t!==e&&t&&this.visible&&(this.visible=!1)}},created:function(){this._popper=null},deactivated:function(){this.visible=!1,this.whileOpenListen(!1),this.removePopper()},beforeDestroy:function(){this.visible=!1,this.whileOpenListen(!1),this.removePopper()},methods:{emitEvent:function(t){var e=t.type;this.$emit(e,t),this.$root.$emit("".concat("bv::dropdown::").concat(e),t)},showMenu:function(){var t=this;if(!this.disabled){if(Object(u.g)(this.inNavbar)&&this.isNav&&(this.inNavbar=Boolean(Object(d.c)(".navbar",this.$el))),!this.inNavbar)if(void 0===a.a)Object(l.a)("b-dropdown: Popper.js not found. Falling back to CSS positioning.");else{var e=this.dropup&&this.right||this.split?this.$el:this.$refs.toggle;e=e.$el||e,this.createPopper(e)}this.$root.$emit(b,this),this.whileOpenListen(!0),this.$nextTick(function(){t.focusMenu(),t.$emit("shown")})}},hideMenu:function(){this.whileOpenListen(!1),this.$root.$emit(m,this),this.$emit("hidden"),this.removePopper()},createPopper:function(t){this.removePopper(),this._popper=new a.a(t,this.$refs.menu,this.getPopperConfig())},removePopper:function(){this._popper&&this._popper.destroy(),this._popper=null},getPopperConfig:function(){var t=g.BOTTOM;this.dropup?t=this.right?g.TOPEND:g.TOP:this.dropright?t=g.RIGHT:this.dropleft?t=g.LEFT:this.right&&(t=g.BOTTOMEND);var e={placement:t,modifiers:{offset:{offset:this.offset||0},flip:{enabled:!this.noFlip}}};return this.boundary&&(e.modifiers.preventOverflow={boundariesElement:this.boundary}),n({},e,{},this.popperOpts||{})},whileOpenListen:function(t){t?(this.$root.$on(b,this.rootCloseListener),Object(d.f)(this.$el,"focusout",this.onFocusOut,{passive:!0})):(this.$root.$off(b,this.rootCloseListener),Object(d.e)(this.$el,"focusout",this.onFocusOut,{passive:!0}))},rootCloseListener:function(t){t!==this&&(this.visible=!1)},show:function(){var t=this;this.disabled||Object(d.w)(function(){t.visible=!0})},hide:function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.disabled||(this.visible=!1,t&&this.$once("hidden",this.focusToggler))},toggle:function(t){t=t||{};var e=t.type,r=t.keyCode;if("click"===e||"keydown"===e&&(r===s.a.ENTER||r===s.a.SPACE||r===s.a.DOWN)){if(this.disabled)return void(this.visible=!1);this.$emit("toggle",t),t.preventDefault(),t.stopPropagation(),this.visible?this.hide(!0):this.show()}},click:function(t){if(this.disabled)return void(this.visible=!1);this.$emit("click",t)},onKeydown:function(t){var e=t.keyCode;e===s.a.ESC?this.onEsc(t):e===s.a.DOWN?this.focusNext(t,!1):e===s.a.UP&&this.focusNext(t,!0)},onEsc:function(t){this.visible&&(this.visible=!1,t.preventDefault(),t.stopPropagation(),this.$once("hidden",this.focusToggler))},onFocusOut:function(t){var e=this,r=t.relatedTarget;if(this.visible&&!Object(d.d)(this.$refs.menu,r)&&!Object(d.d)(this.toggler,r)){var o=function(){e.visible=!1};this.inNavbar?setTimeout(o,100):o()}},focusNext:function(t,e){var r=this;!this.visible||t&&Object(d.c)(h.FORM_CHILD,t.target)||(t.preventDefault(),t.stopPropagation(),this.$nextTick(function(){var o=r.getItems();if(!(o.length<1)){var n=o.indexOf(t.target);e&&n>0?n--:!e&&n<o.length-1&&n++,n<0&&(n=0),r.focusItem(n,o)}}))},focusItem:function(t,e){var r=e.find(function(e,r){return r===t});r&&r.focus&&r.focus()},getItems:function(){return f(Object(d.y)(h.ITEM_SELECTOR,this.$refs.menu))},focusMenu:function(){this.$refs.menu.focus&&this.$refs.menu.focus()},focusToggler:function(){var t=this;this.$nextTick(function(){var e=t.toggler;e&&e.focus&&e.focus()})}}}},function(t,e,r){"use strict";(function(t){function r(t){var e=!1;return function(){e||(e=!0,window.Promise.resolve().then(function(){e=!1,t()}))}}function o(t){var e=!1;return function(){e||(e=!0,setTimeout(function(){e=!1,t()},pt))}}function n(t){var e={};return t&&"[object Function]"===e.toString.call(t)}function i(t,e){if(1!==t.nodeType)return[];var r=t.ownerDocument.defaultView,o=r.getComputedStyle(t,null);return e?o[e]:o}function a(t){return"HTML"===t.nodeName?t:t.parentNode||t.host}function s(t){if(!t)return document.body;switch(t.nodeName){case"HTML":case"BODY":return t.ownerDocument.body;case"#document":return t.body}var e=i(t),r=e.overflow,o=e.overflowX;return/(auto|scroll|overlay)/.test(r+e.overflowY+o)?t:s(a(t))}function l(t){return t&&t.referenceNode?t.referenceNode:t}function c(t){return 11===t?mt:10===t?ht:mt||ht}function d(t){if(!t)return document.documentElement;for(var e=c(10)?document.body:null,r=t.offsetParent||null;r===e&&t.nextElementSibling;)r=(t=t.nextElementSibling).offsetParent;var o=r&&r.nodeName;return o&&"BODY"!==o&&"HTML"!==o?-1!==["TH","TD","TABLE"].indexOf(r.nodeName)&&"static"===i(r,"position")?d(r):r:t?t.ownerDocument.documentElement:document.documentElement}function u(t){var e=t.nodeName;return"BODY"!==e&&("HTML"===e||d(t.firstElementChild)===t)}function p(t){return null!==t.parentNode?p(t.parentNode):t}function f(t,e){if(!(t&&t.nodeType&&e&&e.nodeType))return document.documentElement;var r=t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_FOLLOWING,o=r?t:e,n=r?e:t,i=document.createRange();i.setStart(o,0),i.setEnd(n,0);var a=i.commonAncestorContainer;if(t!==a&&e!==a||o.contains(n))return u(a)?a:d(a);var s=p(t);return s.host?f(s.host,e):f(t,p(e).host)}function b(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"top",r="top"===e?"scrollTop":"scrollLeft",o=t.nodeName;if("BODY"===o||"HTML"===o){var n=t.ownerDocument.documentElement;return(t.ownerDocument.scrollingElement||n)[r]}return t[r]}function m(t,e){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=b(e,"top"),n=b(e,"left"),i=r?-1:1;return t.top+=o*i,t.bottom+=o*i,t.left+=n*i,t.right+=n*i,t}function h(t,e){var r="x"===e?"Left":"Top",o="Left"===r?"Right":"Bottom";return parseFloat(t["border"+r+"Width"],10)+parseFloat(t["border"+o+"Width"],10)}function g(t,e,r,o){return Math.max(e["offset"+t],e["scroll"+t],r["client"+t],r["offset"+t],r["scroll"+t],c(10)?parseInt(r["offset"+t])+parseInt(o["margin"+("Height"===t?"Top":"Left")])+parseInt(o["margin"+("Height"===t?"Bottom":"Right")]):0)}function v(t){var e=t.body,r=t.documentElement,o=c(10)&&getComputedStyle(r);return{height:g("Height",e,r,o),width:g("Width",e,r,o)}}function y(t){return wt({},t,{right:t.left+t.width,bottom:t.top+t.height})}function w(t){var e={};try{if(c(10)){e=t.getBoundingClientRect();var r=b(t,"top"),o=b(t,"left");e.top+=r,e.left+=o,e.bottom+=r,e.right+=o}else e=t.getBoundingClientRect()}catch(t){}var n={left:e.left,top:e.top,width:e.right-e.left,height:e.bottom-e.top},a="HTML"===t.nodeName?v(t.ownerDocument):{},s=a.width||t.clientWidth||n.width,l=a.height||t.clientHeight||n.height,d=t.offsetWidth-s,u=t.offsetHeight-l;if(d||u){var p=i(t);d-=h(p,"x"),u-=h(p,"y"),n.width-=d,n.height-=u}return y(n)}function x(t,e){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=c(10),n="HTML"===e.nodeName,a=w(t),l=w(e),d=s(t),u=i(e),p=parseFloat(u.borderTopWidth,10),f=parseFloat(u.borderLeftWidth,10);r&&n&&(l.top=Math.max(l.top,0),l.left=Math.max(l.left,0));var b=y({top:a.top-l.top-p,left:a.left-l.left-f,width:a.width,height:a.height});if(b.marginTop=0,b.marginLeft=0,!o&&n){var h=parseFloat(u.marginTop,10),g=parseFloat(u.marginLeft,10);b.top-=p-h,b.bottom-=p-h,b.left-=f-g,b.right-=f-g,b.marginTop=h,b.marginLeft=g}return(o&&!r?e.contains(d):e===d&&"BODY"!==d.nodeName)&&(b=m(b,e)),b}function O(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=t.ownerDocument.documentElement,o=x(t,r),n=Math.max(r.clientWidth,window.innerWidth||0),i=Math.max(r.clientHeight,window.innerHeight||0),a=e?0:b(r),s=e?0:b(r,"left");return y({top:a-o.top+o.marginTop,left:s-o.left+o.marginLeft,width:n,height:i})}function k(t){var e=t.nodeName;if("BODY"===e||"HTML"===e)return!1;if("fixed"===i(t,"position"))return!0;var r=a(t);return!!r&&k(r)}function j(t){if(!t||!t.parentElement||c())return document.documentElement;for(var e=t.parentElement;e&&"none"===i(e,"transform");)e=e.parentElement;return e||document.documentElement}function S(t,e,r,o){var n=arguments.length>4&&void 0!==arguments[4]&&arguments[4],i={top:0,left:0},c=n?j(t):f(t,l(e));if("viewport"===o)i=O(c,n);else{var d=void 0;"scrollParent"===o?(d=s(a(e)),"BODY"===d.nodeName&&(d=t.ownerDocument.documentElement)):d="window"===o?t.ownerDocument.documentElement:o;var u=x(d,c,n);if("HTML"!==d.nodeName||k(c))i=u;else{var p=v(t.ownerDocument),b=p.height,m=p.width;i.top+=u.top-u.marginTop,i.bottom=b+u.top,i.left+=u.left-u.marginLeft,i.right=m+u.left}}r=r||0;var h="number"==typeof r;return i.left+=h?r:r.left||0,i.top+=h?r:r.top||0,i.right-=h?r:r.right||0,i.bottom-=h?r:r.bottom||0,i}function _(t){return t.width*t.height}function T(t,e,r,o,n){var i=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;if(-1===t.indexOf("auto"))return t;var a=S(r,o,i,n),s={top:{width:a.width,height:e.top-a.top},right:{width:a.right-e.right,height:a.height},bottom:{width:a.width,height:a.bottom-e.bottom},left:{width:e.left-a.left,height:a.height}},l=Object.keys(s).map(function(t){return wt({key:t},s[t],{area:_(s[t])})}).sort(function(t,e){return e.area-t.area}),c=l.filter(function(t){var e=t.width,o=t.height;return e>=r.clientWidth&&o>=r.clientHeight}),d=c.length>0?c[0].key:l[0].key,u=t.split("-")[1];return d+(u?"-"+u:"")}function P(t,e,r){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;return x(r,o?j(e):f(e,l(r)),o)}function C(t){var e=t.ownerDocument.defaultView,r=e.getComputedStyle(t),o=parseFloat(r.marginTop||0)+parseFloat(r.marginBottom||0),n=parseFloat(r.marginLeft||0)+parseFloat(r.marginRight||0);return{width:t.offsetWidth+n,height:t.offsetHeight+o}}function $(t){var e={left:"right",right:"left",bottom:"top",top:"bottom"};return t.replace(/left|right|bottom|top/g,function(t){return e[t]})}function B(t,e,r){r=r.split("-")[0];var o=C(t),n={width:o.width,height:o.height},i=-1!==["right","left"].indexOf(r),a=i?"top":"left",s=i?"left":"top",l=i?"height":"width",c=i?"width":"height";return n[a]=e[a]+e[l]/2-o[l]/2,n[s]=r===s?e[s]-o[c]:e[$(s)],n}function E(t,e){return Array.prototype.find?t.find(e):t.filter(e)[0]}function D(t,e,r){if(Array.prototype.findIndex)return t.findIndex(function(t){return t[e]===r});var o=E(t,function(t){return t[e]===r});return t.indexOf(o)}function A(t,e,r){return(void 0===r?t:t.slice(0,D(t,"name",r))).forEach(function(t){t.function&&console.warn("`modifier.function` is deprecated, use `modifier.fn`!");var r=t.function||t.fn;t.enabled&&n(r)&&(e.offsets.popper=y(e.offsets.popper),e.offsets.reference=y(e.offsets.reference),e=r(e,t))}),e}function I(){if(!this.state.isDestroyed){var t={instance:this,styles:{},arrowStyles:{},attributes:{},flipped:!1,offsets:{}};t.offsets.reference=P(this.state,this.popper,this.reference,this.options.positionFixed),t.placement=T(this.options.placement,t.offsets.reference,this.popper,this.reference,this.options.modifiers.flip.boundariesElement,this.options.modifiers.flip.padding),t.originalPlacement=t.placement,t.positionFixed=this.options.positionFixed,t.offsets.popper=B(this.popper,t.offsets.reference,t.placement),t.offsets.popper.position=this.options.positionFixed?"fixed":"absolute",t=A(this.modifiers,t),this.state.isCreated?this.options.onUpdate(t):(this.state.isCreated=!0,this.options.onCreate(t))}}function z(t,e){return t.some(function(t){var r=t.name;return t.enabled&&r===e})}function F(t){for(var e=[!1,"ms","Webkit","Moz","O"],r=t.charAt(0).toUpperCase()+t.slice(1),o=0;o<e.length;o++){var n=e[o],i=n?""+n+r:t;if(void 0!==document.body.style[i])return i}return null}function N(){return this.state.isDestroyed=!0,z(this.modifiers,"applyStyle")&&(this.popper.removeAttribute("x-placement"),this.popper.style.position="",this.popper.style.top="",this.popper.style.left="",this.popper.style.right="",this.popper.style.bottom="",this.popper.style.willChange="",this.popper.style[F("transform")]=""),this.disableEventListeners(),this.options.removeOnDestroy&&this.popper.parentNode.removeChild(this.popper),this}function L(t){var e=t.ownerDocument;return e?e.defaultView:window}function R(t,e,r,o){var n="BODY"===t.nodeName,i=n?t.ownerDocument.defaultView:t;i.addEventListener(e,r,{passive:!0}),n||R(s(i.parentNode),e,r,o),o.push(i)}function M(t,e,r,o){r.updateBound=o,L(t).addEventListener("resize",r.updateBound,{passive:!0});var n=s(t);return R(n,"scroll",r.updateBound,r.scrollParents),r.scrollElement=n,r.eventsEnabled=!0,r}function V(){this.state.eventsEnabled||(this.state=M(this.reference,this.options,this.state,this.scheduleUpdate))}function H(t,e){return L(t).removeEventListener("resize",e.updateBound),e.scrollParents.forEach(function(t){t.removeEventListener("scroll",e.updateBound)}),e.updateBound=null,e.scrollParents=[],e.scrollElement=null,e.eventsEnabled=!1,e}function G(){this.state.eventsEnabled&&(cancelAnimationFrame(this.scheduleUpdate),this.state=H(this.reference,this.state))}function U(t){return""!==t&&!isNaN(parseFloat(t))&&isFinite(t)}function W(t,e){Object.keys(e).forEach(function(r){var o="";-1!==["width","height","top","right","bottom","left"].indexOf(r)&&U(e[r])&&(o="px"),t.style[r]=e[r]+o})}function q(t,e){Object.keys(e).forEach(function(r){!1!==e[r]?t.setAttribute(r,e[r]):t.removeAttribute(r)})}function K(t){return W(t.instance.popper,t.styles),q(t.instance.popper,t.attributes),t.arrowElement&&Object.keys(t.arrowStyles).length&&W(t.arrowElement,t.arrowStyles),t}function Z(t,e,r,o,n){var i=P(n,e,t,r.positionFixed),a=T(r.placement,i,e,t,r.modifiers.flip.boundariesElement,r.modifiers.flip.padding);return e.setAttribute("x-placement",a),W(e,{position:r.positionFixed?"fixed":"absolute"}),r}function X(t,e){var r=t.offsets,o=r.popper,n=r.reference,i=Math.round,a=Math.floor,s=function(t){return t},l=i(n.width),c=i(o.width),d=-1!==["left","right"].indexOf(t.placement),u=-1!==t.placement.indexOf("-"),p=l%2==c%2,f=l%2==1&&c%2==1,b=e?d||u||p?i:a:s,m=e?i:s;return{left:b(f&&!u&&e?o.left-1:o.left),top:m(o.top),bottom:m(o.bottom),right:b(o.right)}}function J(t,e){var r=e.x,o=e.y,n=t.offsets.popper,i=E(t.instance.modifiers,function(t){return"applyStyle"===t.name}).gpuAcceleration;void 0!==i&&console.warn("WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!");var a=void 0!==i?i:e.gpuAcceleration,s=d(t.instance.popper),l=w(s),c={position:n.position},u=X(t,window.devicePixelRatio<2||!xt),p="bottom"===r?"top":"bottom",f="right"===o?"left":"right",b=F("transform"),m=void 0,h=void 0;if(h="bottom"===p?"HTML"===s.nodeName?-s.clientHeight+u.bottom:-l.height+u.bottom:u.top,m="right"===f?"HTML"===s.nodeName?-s.clientWidth+u.right:-l.width+u.right:u.left,a&&b)c[b]="translate3d("+m+"px, "+h+"px, 0)",c[p]=0,c[f]=0,c.willChange="transform";else{var g="bottom"===p?-1:1,v="right"===f?-1:1;c[p]=h*g,c[f]=m*v,c.willChange=p+", "+f}var y={"x-placement":t.placement};return t.attributes=wt({},y,t.attributes),t.styles=wt({},c,t.styles),t.arrowStyles=wt({},t.offsets.arrow,t.arrowStyles),t}function Y(t,e,r){var o=E(t,function(t){return t.name===e}),n=!!o&&t.some(function(t){return t.name===r&&t.enabled&&t.order<o.order});if(!n){var i="`"+e+"`",a="`"+r+"`";console.warn(a+" modifier is required by "+i+" modifier in order to work, be sure to include it before "+i+"!")}return n}function Q(t,e){var r;if(!Y(t.instance.modifiers,"arrow","keepTogether"))return t;var o=e.element;if("string"==typeof o){if(!(o=t.instance.popper.querySelector(o)))return t}else if(!t.instance.popper.contains(o))return console.warn("WARNING: `arrow.element` must be child of its popper element!"),t;var n=t.placement.split("-")[0],a=t.offsets,s=a.popper,l=a.reference,c=-1!==["left","right"].indexOf(n),d=c?"height":"width",u=c?"Top":"Left",p=u.toLowerCase(),f=c?"left":"top",b=c?"bottom":"right",m=C(o)[d];l[b]-m<s[p]&&(t.offsets.popper[p]-=s[p]-(l[b]-m)),l[p]+m>s[b]&&(t.offsets.popper[p]+=l[p]+m-s[b]),t.offsets.popper=y(t.offsets.popper);var h=l[p]+l[d]/2-m/2,g=i(t.instance.popper),v=parseFloat(g["margin"+u],10),w=parseFloat(g["border"+u+"Width"],10),x=h-t.offsets.popper[p]-v-w;return x=Math.max(Math.min(s[d]-m,x),0),t.arrowElement=o,t.offsets.arrow=(r={},yt(r,p,Math.round(x)),yt(r,f,""),r),t}function tt(t){return"end"===t?"start":"start"===t?"end":t}function et(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=kt.indexOf(t),o=kt.slice(r+1).concat(kt.slice(0,r));return e?o.reverse():o}function rt(t,e){if(z(t.instance.modifiers,"inner"))return t;if(t.flipped&&t.placement===t.originalPlacement)return t;var r=S(t.instance.popper,t.instance.reference,e.padding,e.boundariesElement,t.positionFixed),o=t.placement.split("-")[0],n=$(o),i=t.placement.split("-")[1]||"",a=[];switch(e.behavior){case jt.FLIP:a=[o,n];break;case jt.CLOCKWISE:a=et(o);break;case jt.COUNTERCLOCKWISE:a=et(o,!0);break;default:a=e.behavior}return a.forEach(function(s,l){if(o!==s||a.length===l+1)return t;o=t.placement.split("-")[0],n=$(o);var c=t.offsets.popper,d=t.offsets.reference,u=Math.floor,p="left"===o&&u(c.right)>u(d.left)||"right"===o&&u(c.left)<u(d.right)||"top"===o&&u(c.bottom)>u(d.top)||"bottom"===o&&u(c.top)<u(d.bottom),f=u(c.left)<u(r.left),b=u(c.right)>u(r.right),m=u(c.top)<u(r.top),h=u(c.bottom)>u(r.bottom),g="left"===o&&f||"right"===o&&b||"top"===o&&m||"bottom"===o&&h,v=-1!==["top","bottom"].indexOf(o),y=!!e.flipVariations&&(v&&"start"===i&&f||v&&"end"===i&&b||!v&&"start"===i&&m||!v&&"end"===i&&h),w=!!e.flipVariationsByContent&&(v&&"start"===i&&b||v&&"end"===i&&f||!v&&"start"===i&&h||!v&&"end"===i&&m),x=y||w;(p||g||x)&&(t.flipped=!0,(p||g)&&(o=a[l+1]),x&&(i=tt(i)),t.placement=o+(i?"-"+i:""),t.offsets.popper=wt({},t.offsets.popper,B(t.instance.popper,t.offsets.reference,t.placement)),t=A(t.instance.modifiers,t,"flip"))}),t}function ot(t){var e=t.offsets,r=e.popper,o=e.reference,n=t.placement.split("-")[0],i=Math.floor,a=-1!==["top","bottom"].indexOf(n),s=a?"right":"bottom",l=a?"left":"top",c=a?"width":"height";return r[s]<i(o[l])&&(t.offsets.popper[l]=i(o[l])-r[c]),r[l]>i(o[s])&&(t.offsets.popper[l]=i(o[s])),t}function nt(t,e,r,o){var n=t.match(/((?:\-|\+)?\d*\.?\d*)(.*)/),i=+n[1],a=n[2];if(!i)return t;if(0===a.indexOf("%")){var s=void 0;switch(a){case"%p":s=r;break;case"%":case"%r":default:s=o}return y(s)[e]/100*i}if("vh"===a||"vw"===a){return("vh"===a?Math.max(document.documentElement.clientHeight,window.innerHeight||0):Math.max(document.documentElement.clientWidth,window.innerWidth||0))/100*i}return i}function it(t,e,r,o){var n=[0,0],i=-1!==["right","left"].indexOf(o),a=t.split(/(\+|\-)/).map(function(t){return t.trim()}),s=a.indexOf(E(a,function(t){return-1!==t.search(/,|\s/)}));a[s]&&-1===a[s].indexOf(",")&&console.warn("Offsets separated by white space(s) are deprecated, use a comma (,) instead.");var l=/\s*,\s*|\s+/,c=-1!==s?[a.slice(0,s).concat([a[s].split(l)[0]]),[a[s].split(l)[1]].concat(a.slice(s+1))]:[a];return c=c.map(function(t,o){var n=(1===o?!i:i)?"height":"width",a=!1;return t.reduce(function(t,e){return""===t[t.length-1]&&-1!==["+","-"].indexOf(e)?(t[t.length-1]=e,a=!0,t):a?(t[t.length-1]+=e,a=!1,t):t.concat(e)},[]).map(function(t){return nt(t,n,e,r)})}),c.forEach(function(t,e){t.forEach(function(r,o){U(r)&&(n[e]+=r*("-"===t[o-1]?-1:1))})}),n}function at(t,e){var r=e.offset,o=t.placement,n=t.offsets,i=n.popper,a=n.reference,s=o.split("-")[0],l=void 0;return l=U(+r)?[+r,0]:it(r,i,a,s),"left"===s?(i.top+=l[0],i.left-=l[1]):"right"===s?(i.top+=l[0],i.left+=l[1]):"top"===s?(i.left+=l[0],i.top-=l[1]):"bottom"===s&&(i.left+=l[0],i.top+=l[1]),t.popper=i,t}function st(t,e){var r=e.boundariesElement||d(t.instance.popper);t.instance.reference===r&&(r=d(r));var o=F("transform"),n=t.instance.popper.style,i=n.top,a=n.left,s=n[o];n.top="",n.left="",n[o]="";var l=S(t.instance.popper,t.instance.reference,e.padding,r,t.positionFixed);n.top=i,n.left=a,n[o]=s,e.boundaries=l;var c=e.priority,u=t.offsets.popper,p={primary:function(t){var r=u[t];return u[t]<l[t]&&!e.escapeWithReference&&(r=Math.max(u[t],l[t])),yt({},t,r)},secondary:function(t){var r="right"===t?"left":"top",o=u[r];return u[t]>l[t]&&!e.escapeWithReference&&(o=Math.min(u[r],l[t]-("right"===t?u.width:u.height))),yt({},r,o)}};return c.forEach(function(t){var e=-1!==["left","top"].indexOf(t)?"primary":"secondary";u=wt({},u,p[e](t))}),t.offsets.popper=u,t}function lt(t){var e=t.placement,r=e.split("-")[0],o=e.split("-")[1];if(o){var n=t.offsets,i=n.reference,a=n.popper,s=-1!==["bottom","top"].indexOf(r),l=s?"left":"top",c=s?"width":"height",d={start:yt({},l,i[l]),end:yt({},l,i[l]+i[c]-a[c])};t.offsets.popper=wt({},a,d[o])}return t}function ct(t){if(!Y(t.instance.modifiers,"hide","preventOverflow"))return t;var e=t.offsets.reference,r=E(t.instance.modifiers,function(t){return"preventOverflow"===t.name}).boundaries;if(e.bottom<r.top||e.left>r.right||e.top>r.bottom||e.right<r.left){if(!0===t.hide)return t;t.hide=!0,t.attributes["x-out-of-boundaries"]=""}else{if(!1===t.hide)return t;t.hide=!1,t.attributes["x-out-of-boundaries"]=!1}return t}function dt(t){var e=t.placement,r=e.split("-")[0],o=t.offsets,n=o.popper,i=o.reference,a=-1!==["left","right"].indexOf(r),s=-1===["top","left"].indexOf(r);return n[a?"left":"top"]=i[r]-(s?n[a?"width":"height"]:0),t.placement=$(e),t.offsets.popper=y(n),t}/**!
- * @fileOverview Kickass library to create and place poppers near their reference elements.
- * @version 1.16.0
- * @license
- * Copyright (c) 2016 Federico Zivolo and contributors
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-var ut="undefined"!=typeof window&&"undefined"!=typeof document&&"undefined"!=typeof navigator,pt=function(){for(var t=["Edge","Trident","Firefox"],e=0;e<t.length;e+=1)if(ut&&navigator.userAgent.indexOf(t[e])>=0)return 1;return 0}(),ft=ut&&window.Promise,bt=ft?r:o,mt=ut&&!(!window.MSInputMethodContext||!document.documentMode),ht=ut&&/MSIE 10/.test(navigator.userAgent),gt=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},vt=function(){function t(t,e){for(var r=0;r<e.length;r++){var o=e[r];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,r,o){return r&&t(e.prototype,r),o&&t(e,o),e}}(),yt=function(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t},wt=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var o in r)Object.prototype.hasOwnProperty.call(r,o)&&(t[o]=r[o])}return t},xt=ut&&/Firefox/i.test(navigator.userAgent),Ot=["auto-start","auto","auto-end","top-start","top","top-end","right-start","right","right-end","bottom-end","bottom","bottom-start","left-end","left","left-start"],kt=Ot.slice(3),jt={FLIP:"flip",CLOCKWISE:"clockwise",COUNTERCLOCKWISE:"counterclockwise"},St={shift:{order:100,enabled:!0,fn:lt},offset:{order:200,enabled:!0,fn:at,offset:0},preventOverflow:{order:300,enabled:!0,fn:st,priority:["left","right","top","bottom"],padding:5,boundariesElement:"scrollParent"},keepTogether:{order:400,enabled:!0,fn:ot},arrow:{order:500,enabled:!0,fn:Q,element:"[x-arrow]"},flip:{order:600,enabled:!0,fn:rt,behavior:"flip",padding:5,boundariesElement:"viewport",flipVariations:!1,flipVariationsByContent:!1},inner:{order:700,enabled:!1,fn:dt},hide:{order:800,enabled:!0,fn:ct},computeStyle:{order:850,enabled:!0,fn:J,gpuAcceleration:!0,x:"bottom",y:"right"},applyStyle:{order:900,enabled:!0,fn:K,onLoad:Z,gpuAcceleration:void 0}},_t={placement:"bottom",positionFixed:!1,eventsEnabled:!0,removeOnDestroy:!1,onCreate:function(){},onUpdate:function(){},modifiers:St},Tt=function(){function t(e,r){var o=this,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};gt(this,t),this.scheduleUpdate=function(){return requestAnimationFrame(o.update)},this.update=bt(this.update.bind(this)),this.options=wt({},t.Defaults,i),this.state={isDestroyed:!1,isCreated:!1,scrollParents:[]},this.reference=e&&e.jquery?e[0]:e,this.popper=r&&r.jquery?r[0]:r,this.options.modifiers={},Object.keys(wt({},t.Defaults.modifiers,i.modifiers)).forEach(function(e){o.options.modifiers[e]=wt({},t.Defaults.modifiers[e]||{},i.modifiers?i.modifiers[e]:{})}),this.modifiers=Object.keys(this.options.modifiers).map(function(t){return wt({name:t},o.options.modifiers[t])}).sort(function(t,e){return t.order-e.order}),this.modifiers.forEach(function(t){t.enabled&&n(t.onLoad)&&t.onLoad(o.reference,o.popper,o.options,t,o.state)}),this.update();var a=this.options.eventsEnabled;a&&this.enableEventListeners(),this.state.eventsEnabled=a}return vt(t,[{key:"update",value:function(){return I.call(this)}},{key:"destroy",value:function(){return N.call(this)}},{key:"enableEventListeners",value:function(){return V.call(this)}},{key:"disableEventListeners",value:function(){return G.call(this)}}]),t}();Tt.Utils=("undefined"!=typeof window?window:t).PopperUtils,Tt.placements=Ot,Tt.Defaults=_t,e.a=Tt}).call(e,r(25))},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){i(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"a",function(){return u});var a=r(0),s=r(6),l=r(5),c=r(14),d=Object(c.b)(),u=a.a.extend({name:"BDropdownItem",mixins:[l.a],inheritAttrs:!1,inject:{bvDropdown:{default:null}},props:n({},d,{variant:{type:String,default:null}}),methods:{closeDropdown:function(){var t=this;Object(s.w)(function(){t.bvDropdown&&t.bvDropdown.hide(!0)})},onClick:function(t){this.$emit("click",t),this.closeDropdown()}},render:function(t){return t("li",{attrs:{role:"presentation"}},[t(c.a,{props:this.$props,staticClass:"dropdown-item",class:i({},"text-".concat(this.variant),this.variant&&!(this.active||this.disabled)),attrs:n({},this.$attrs,{role:"menuitem"}),on:{click:this.onClick},ref:"item"},this.normalizeSlot("default"))])}})},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){i(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"a",function(){return c});var a=r(0),s=r(5),l={active:{type:Boolean,default:!1},activeClass:{type:String,default:"active"},disabled:{type:Boolean,default:!1},variant:{type:String,default:null}},c=a.a.extend({name:"BDropdownItemButton",mixins:[s.a],inheritAttrs:!1,inject:{bvDropdown:{default:null}},props:l,methods:{closeDropdown:function(){this.bvDropdown&&this.bvDropdown.hide(!0)},onClick:function(t){this.$emit("click",t),this.closeDropdown()}},render:function(t){var e;return t("li",{attrs:{role:"presentation"}},[t("button",{staticClass:"dropdown-item",class:(e={},i(e,this.activeClass,this.active),i(e,"text-".concat(this.variant),this.variant&&!(this.active||this.disabled)),e),attrs:n({},this.$attrs,{role:"menuitem",type:"button",disabled:this.disabled}),on:{click:this.onClick},ref:"button"},this.normalizeSlot("default"))])}})},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){i(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"a",function(){return c});var a=r(0),s=r(2),l={id:{type:String,default:null},tag:{type:String,default:"header"},variant:{type:String,default:null}},c=a.a.extend({name:"BDropdownHeader",functional:!0,props:l,render:function(t,e){var r=e.props,o=e.data,a=e.children,l=o.attrs||{};return o.attrs={},t("li",Object(s.a)(o,{attrs:{role:"presentation"}}),[t(r.tag,{staticClass:"dropdown-header",class:i({},"text-".concat(r.variant),r.variant),attrs:n({},l,{id:r.id||null,role:"heading"}),ref:"header"},a)])}})},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){i(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"a",function(){return c});var a=r(0),s=r(2),l={tag:{type:String,default:"hr"}},c=a.a.extend({name:"BDropdownDivider",functional:!0,props:l,render:function(t,e){var r=e.props,o=e.data,i=o.attrs||{};return o.attrs={},t("li",Object(s.a)(o,{attrs:{role:"presentation"}}),[t(r.tag,{staticClass:"dropdown-divider",attrs:n({},i,{role:"separator","aria-orientation":"horizontal"}),ref:"divider"})])}})},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){i(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"a",function(){return c});var a=r(0),s=r(2),l=r(42),c=a.a.extend({name:"BDropdownForm",functional:!0,props:n({},l.b,{disabled:{type:Boolean,default:!1}}),render:function(t,e){var r=e.props,o=e.data,i=e.children,a=o.attrs||{},c=o.on||{};return o.attrs={},o.on={},t("li",Object(s.a)(o,{attrs:{role:"presentation"}}),[t(l.a,{ref:"form",staticClass:"b-dropdown-form",class:{disabled:r.disabled},props:r,attrs:n({},a,{disabled:r.disabled,tabindex:r.disabled?null:"-1"}),on:c},i)])}})},function(t,e,r){"use strict";function o(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"a",function(){return a});var n=r(0),i=r(2),a=n.a.extend({name:"BDropdownText",functional:!0,props:{tag:{type:String,default:"p"},variant:{type:String,default:null}},render:function(t,e){var r=e.props,n=e.data,a=e.children,s=n.attrs||{};return n.attrs={},t("li",Object(i.a)(n,{attrs:{role:"presentation"}}),[t(r.tag,{staticClass:"b-dropdown-text",class:o({},"text-".concat(r.variant),r.variant),props:r,attrs:s,ref:"text"},a)])}})},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){i(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"a",function(){return d});var a=r(0),s=r(2),l=r(18),c={id:{type:String,default:null},header:{type:String,default:null},headerTag:{type:String,default:"header"},headerVariant:{type:String,default:null},headerClasses:{type:[String,Array,Object],default:null},ariaDescribedby:{type:String,default:null}},d=a.a.extend({name:"BDropdownGroup",functional:!0,props:c,render:function(t,e){var r=e.props,o=e.data,a=e.slots,c=e.scopedSlots,d=a(),u=c||{},p=o.attrs||{};o.attrs={};var f,b=null;(Object(l.a)("header",u,d)||r.header)&&(b=r.id?"_bv_".concat(r.id,"_group_dd_header"):null,f=t(r.headerTag,{staticClass:"dropdown-header",class:[r.headerClasses,i({},"text-".concat(r.variant),r.variant)],attrs:{id:b,role:"heading"}},Object(l.b)("header",{},u,d)||r.header));var m=[b,r.ariaDescribedBy].filter(Boolean).join(" ").trim();return t("li",Object(s.a)(o,{attrs:{role:"presentation"}}),[f||t(),t("ul",{staticClass:"list-unstyled",attrs:n({},p,{id:r.id||null,role:"group","aria-describedby":m||null})},Object(l.b)("default",{},u,d))])}})},function(t,e,r){"use strict";r.d(e,"a",function(){return i});var o=r(136),n=r(3),i=Object(n.b)({components:{BEmbed:o.a}})},function(t,e,r){"use strict";function o(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"a",function(){return l});var n=r(0),i=r(2),a=r(7),s={type:{type:String,default:"iframe",validator:function(t){return Object(a.a)(["iframe","embed","video","object","img","b-img","b-img-lazy"],t)}},tag:{type:String,default:"div"},aspect:{type:String,default:"16by9"}},l=n.a.extend({name:"BEmbed",functional:!0,props:s,render:function(t,e){var r=e.props,n=e.data,a=e.children;return t(r.tag,{ref:n.ref,staticClass:"embed-responsive",class:o({},"embed-responsive-".concat(r.aspect),Boolean(r.aspect))},[t(r.type,Object(i.a)(n,{ref:"",staticClass:"embed-responsive-item"}),a)])}})},function(t,e,r){"use strict";r.d(e,"a",function(){return d});var o=r(42),n=r(138),i=r(65),a=r(66),s=r(67),l=r(44),c=r(3),d=Object(c.b)({components:{BForm:o.a,BFormDatalist:n.a,BDatalist:n.a,BFormText:i.a,BFormInvalidFeedback:a.a,BFormFeedback:a.a,BFormValidFeedback:s.a,BFormRow:l.a}})},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){i(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"a",function(){return d});var a=r(0),s=r(43),l=r(5),c=r(11),d=a.a.extend({name:"BFormDatalist",mixins:[s.a,l.a],props:{id:{type:String,default:null,required:!0}},render:function(t){var e=this.formOptions.map(function(e,r){return t("option",{key:"option_".concat(r,"_opt"),attrs:{disabled:e.disabled},domProps:n({},Object(c.a)(e.html,e.text),{value:e.value})})});return t("datalist",{attrs:{id:this.id}},[e,this.normalizeSlot("default")])}})},function(t,e,r){"use strict";r.d(e,"a",function(){return i});var o=r(140),n=r(3),i=Object(n.b)({components:{BFormGroup:o.a,BFormFieldset:o.a}})},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){i(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"a",function(){return P});var a=r(52),s=r(54),l=r(7),c=r(4),d=r(6),u=r(10),p=r(1),f=r(8),b=r(16),m=r(9),h=r(5),g=r(68),v=r(44),y=r(65),w=r(66),x=r(67),O=function(t,e){var r=e.normalizeSlot("invalid-feedback")||e.invalidFeedback,o=t();return r&&(o=t(w.a,{props:{id:e.invalidFeedbackId,state:e.computedState,tooltip:e.tooltip,ariaLive:e.feedbackAriaLive,role:e.feedbackAriaLive?"alert":null},attrs:{tabindex:r?"-1":null}},[r])),o},k=function(t,e){var r=e.normalizeSlot("valid-feedback")||e.validFeedback,o=t();return r&&(o=t(x.a,{props:{id:e.validFeedbackId,state:e.computedState,tooltip:e.tooltip,ariaLive:e.feedbackAriaLive,role:e.feedbackAriaLive?"alert":null},attrs:{tabindex:r?"-1":null}},[r])),o},j=function(t,e){var r=e.normalizeSlot("description")||e.description,o=t();return r&&(o=t(y.a,{attrs:{id:e.descriptionId,tabindex:r?"-1":null}},[r])),o},S=function(t,e){var r=e.normalizeSlot("label")||e.label,o=e.labelFor,i=!o,a=e.isHorizontal,s=i?"legend":"label";if(r||a){if(e.labelSrOnly){var l=t();return r&&(l=t(s,{class:"sr-only",attrs:{id:e.labelId,for:o||null}},[r])),t(a?g.a:"div",{props:a?e.labelColProps:{}},[l])}return t(a?g.a:s,{on:i?{click:e.legendClick}:{},props:a?n({tag:s},e.labelColProps):{},attrs:{id:e.labelId,for:o||null,tabindex:i?"-1":null},class:[a||i?"col-form-label":"",!a&&i?"pt-0":"",a||i?"":"d-block",e.labelSize?"col-form-label-".concat(e.labelSize):"",e.labelAlignClasses,e.labelClass]},[r])}return t()},_=Object(a.a)(function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return"".concat(arguments.length>1?arguments[1]:void 0).concat(Object(s.a)(t))}),T=function(){var t=Object(c.b)(),e=t.reduce(function(t,e){return t[_(e,"labelCols")]={type:[Number,String,Boolean],default:!e&&null},t},Object(f.b)(null)),r=t.reduce(function(t,e){return t[_(e,"labelAlign")]={type:String,default:null},t},Object(f.b)(null));return n({label:{type:String,default:null},labelFor:{type:String,default:null},labelSize:{type:String,default:null},labelSrOnly:{type:Boolean,default:!1}},e,{},r,{labelClass:{type:[String,Array,Object],default:null},description:{type:String,default:null},invalidFeedback:{type:String,default:null},validFeedback:{type:String,default:null},tooltip:{type:Boolean,default:!1},feedbackAriaLive:{type:String,default:"assertive"},validated:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}})},P={name:"BFormGroup",mixins:[m.a,b.a,h.a],get props(){return delete this.props,this.props=T()},computed:{labelColProps:function(){var t=this,e={};return Object(c.b)().forEach(function(r){var o=t[_(r,"labelCols")];if(o=""===o||(o||!1),Object(p.b)(o)||(o=parseInt(o,10)||0,o=o>0&&o),o){var n=r||(Object(p.b)(o)?"col":"cols");e[n]=o}}),e},labelAlignClasses:function(){var t=this,e=[];return Object(c.b)().forEach(function(r){var o=t[_(r,"labelAlign")]||null;if(o){var n=r?"text-".concat(r,"-").concat(o):"text-".concat(o);e.push(n)}}),e},isHorizontal:function(){return Object(f.j)(this.labelColProps).length>0},labelId:function(){return this.hasNormalizedSlot("label")||this.label?this.safeId("_BV_label_"):null},descriptionId:function(){return this.hasNormalizedSlot("description")||this.description?this.safeId("_BV_description_"):null},hasInvalidFeedback:function(){return!1===this.computedState&&(this.hasNormalizedSlot("invalid-feedback")||this.invalidFeedback)},invalidFeedbackId:function(){return this.hasInvalidFeedback?this.safeId("_BV_feedback_invalid_"):null},hasValidFeedback:function(){return!0===this.computedState&&(this.hasNormalizedSlot("valid-feedback")||this.validFeedback)},validFeedbackId:function(){return this.hasValidFeedback?this.safeId("_BV_feedback_valid_"):null},describedByIds:function(){return[this.descriptionId,this.invalidFeedbackId,this.validFeedbackId].filter(Boolean).join(" ")||null}},watch:{describedByIds:function(t,e){t!==e&&this.setInputDescribedBy(t,e)}},mounted:function(){var t=this;this.$nextTick(function(){t.setInputDescribedBy(t.describedByIds)})},methods:{legendClick:function(t){if(!this.labelFor){if(!/^(input|select|textarea|label|button|a)$/i.test(t.target?t.target.tagName:"")){var e=Object(d.y)("input:not([disabled]),textarea:not([disabled]),select:not([disabled])",this.$refs.content).filter(d.p);e&&1===e.length&&e[0].focus&&e[0].focus()}}},setInputDescribedBy:function(t,e){if(this.labelFor&&u.j){var r=Object(d.x)("#".concat(this.labelFor),this.$refs.content);if(r){var o="aria-describedby",a=(Object(d.g)(r,o)||"").split(/\s+/);t=(t||"").split(/\s+/),e=(e||"").split(/\s+/),a=a.filter(function(t){return!Object(l.a)(e,t)}).concat(t).filter(Boolean),a=Object(f.j)(a.reduce(function(t,e){return n({},t,i({},e,!0))},{})).join(" ").trim(),a?Object(d.z)(r,o,a):Object(d.u)(r,o)}}}},render:function(t){var e=!this.labelFor,r=this.isHorizontal,o=S(t,this),n=t(r?g.a:"div",{ref:"content",attrs:{tabindex:e?"-1":null,role:e?"group":null}},[this.normalizeSlot("default")||t(),O(t,this),k(t,this),j(t,this)]),i={staticClass:"form-group",class:[this.validated?"was-validated":null,this.stateClass],attrs:{id:this.safeId(),disabled:e?this.disabled:null,role:e?null:"group","aria-invalid":!1===this.computedState?"true":null,"aria-labelledby":e&&r?this.labelId:null,"aria-describedby":e?this.describedByIds:null}};return t(e?"fieldset":r?v.a:"div",i,r&&e?[t(v.a,{},[o,n])]:[o,n])}}},function(t,e,r){"use strict";r.d(e,"a",function(){return a});var o=r(69),n=r(143),i=r(3),a=Object(i.b)({components:{BFormCheckbox:o.a,BCheckbox:o.a,BCheck:o.a,BFormCheckboxGroup:n.a,BCheckboxGroup:n.a,BCheckGroup:n.a}})},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){i(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var a=r(5);e.a={mixins:[a.a],inheritAttrs:!1,model:{prop:"checked",event:"input"},props:{value:{},checked:{},inline:{type:Boolean,default:!1},plain:{type:Boolean,default:!1},button:{type:Boolean,default:!1},buttonVariant:{type:String,default:null},ariaLabel:{type:String,default:null},ariaLabelledby:{type:String,default:null}},data:function(){return{localChecked:this.isGroup?this.bvGroup.checked:this.checked,hasFocus:!1}},computed:{computedLocalChecked:{get:function(){return this.isGroup?this.bvGroup.localChecked:this.localChecked},set:function(t){this.isGroup?this.bvGroup.localChecked=t:this.localChecked=t}},isGroup:function(){return Boolean(this.bvGroup)},isBtnMode:function(){return this.isGroup?this.bvGroup.buttons:this.button},isPlain:function(){return!this.isBtnMode&&(this.isGroup?this.bvGroup.plain:this.plain)},isCustom:function(){return!this.isBtnMode&&!this.isPlain},isSwitch:function(){return!(this.isBtnMode||this.isRadio||this.isPlain)&&(this.isGroup?this.bvGroup.switches:this.switch)},isInline:function(){return this.isGroup?this.bvGroup.inline:this.inline},isDisabled:function(){return this.isGroup?this.bvGroup.disabled||this.disabled:this.disabled},isRequired:function(){return Boolean(this.getName&&(this.isGroup?this.bvGroup.required:this.required))},getName:function(){return(this.isGroup?this.bvGroup.groupName:this.name)||null},getForm:function(){return(this.isGroup?this.bvGroup.form:this.form)||null},getSize:function(){return(this.isGroup?this.bvGroup.size:this.size)||""},getState:function(){return this.isGroup?this.bvGroup.computedState:this.computedState},getButtonVariant:function(){return this.buttonVariant?this.buttonVariant:this.isGroup&&this.bvGroup.buttonVariant?this.bvGroup.buttonVariant:"secondary"},buttonClasses:function(){var t;return["btn","btn-".concat(this.getButtonVariant),(t={},i(t,"btn-".concat(this.getSize),this.getSize),i(t,"disabled",this.isDisabled),i(t,"active",this.isChecked),i(t,"focus",this.hasFocus),t)]}},watch:{checked:function(t,e){this.computedLocalChecked=t}},methods:{handleFocus:function(t){t.target&&("focus"===t.type?this.hasFocus=!0:"blur"===t.type&&(this.hasFocus=!1))},focus:function(){!this.isDisabled&&this.$refs.input&&this.$refs.input.focus&&this.$refs.input.focus()},blur:function(){!this.isDisabled&&this.$refs.input&&this.$refs.input.blur&&this.$refs.input.blur()}},render:function(t){var e=this.normalizeSlot("default"),r={change:this.handleChange};this.isBtnMode&&(r.focus=r.blur=this.handleFocus);var o=t("input",{ref:"input",key:"input",on:r,class:{"form-check-input":this.isPlain,"custom-control-input":this.isCustom,"is-valid":!0===this.getState&&!this.isBtnMode,"is-invalid":!1===this.getState&&!this.isBtnMode,"position-static":this.isPlain&&!e},directives:[{name:"model",rawName:"v-model",value:this.computedLocalChecked,expression:"computedLocalChecked"}],attrs:n({},this.$attrs,{id:this.safeId(),type:this.isRadio?"radio":"checkbox",name:this.getName,form:this.getForm,disabled:this.isDisabled,required:this.isRequired,autocomplete:"off","aria-required":this.isRequired||null,"aria-label":this.ariaLabel||null,"aria-labelledby":this.ariaLabelledby||null}),domProps:{value:this.value,checked:this.isChecked}});if(this.isBtnMode){var a=t("label",{class:this.buttonClasses},[o,e]);return this.isGroup||(a=t("div",{class:["btn-group-toggle","d-inline-block"]},[a])),a}var s=t();return this.isPlain&&!e||(s=t("label",{class:{"form-check-label":this.isPlain,"custom-control-label":this.isCustom},attrs:{for:this.safeId()}},e)),t("div",{class:i({"form-check":this.isPlain,"form-check-inline":this.isPlain&&this.isInline,"custom-control":this.isCustom,"custom-control-inline":this.isCustom&&this.isInline,"custom-checkbox":this.isCustom&&this.isCheck&&!this.isSwitch,"custom-switch":this.isSwitch,"custom-radio":this.isCustom&&this.isRadio},"b-custom-control-".concat(this.getSize),Boolean(this.getSize&&!this.isBtnMode))},[o,s])}}},function(t,e,r){"use strict";r.d(e,"a",function(){return u});var o=r(0),n=r(9),i=r(20),a=r(43),s=r(144),l=r(24),c=r(16),d={switches:{type:Boolean,default:!1},checked:{type:Array,default:null}},u=o.a.extend({name:"BFormCheckboxGroup",mixins:[n.a,i.a,s.a,a.a,l.a,c.a],provide:function(){return{bvCheckGroup:this}},props:d,data:function(){return{localChecked:this.checked||[]}},computed:{isRadioGroup:function(){return!1}}})},function(t,e,r){"use strict";var o=r(11),n=r(5),i=r(69),a=r(70);e.a={mixins:[n.a],model:{prop:"checked",event:"input"},props:{validated:{type:Boolean,default:!1},ariaInvalid:{type:[Boolean,String],default:!1},stacked:{type:Boolean,default:!1},plain:{type:Boolean,default:!1},buttons:{type:Boolean,default:!1},buttonVariant:{type:String,default:"secondary"}},computed:{inline:function(){return!this.stacked},groupName:function(){return this.name||this.safeId()},groupClasses:function(){return this.buttons?["btn-group-toggle",this.inline?"btn-group":"btn-group-vertical",this.size?"btn-group-".concat(this.size):"",this.validated?"was-validated":""]:[this.validated?"was-validated":""]},computedAriaInvalid:function(){var t=this.ariaInvalid;return!0===t||"true"===t||""===t?"true":!1===this.computedState?"true":null}},watch:{checked:function(t,e){this.localChecked=t},localChecked:function(t,e){this.$emit("input",t)}},render:function(t){var e=this,r=this.formOptions.map(function(r,n){var s="_BV_option_".concat(n,"_");return t(e.isRadioGroup?a.a:i.a,{key:s,props:{id:e.safeId(s),value:r.value,disabled:r.disabled||!1}},[t("span",{domProps:Object(o.a)(r.html,r.text)})])});return t("div",{class:this.groupClasses,attrs:{id:this.safeId(),role:this.isRadioGroup?"radiogroup":"group",tabindex:"-1","aria-required":this.required?"true":null,"aria-invalid":this.computedAriaInvalid}},[this.normalizeSlot("first"),r,this.normalizeSlot("default")])}}},function(t,e,r){"use strict";r.d(e,"a",function(){return a});var o=r(70),n=r(146),i=r(3),a=Object(i.b)({components:{BFormRadio:o.a,BRadio:o.a,BFormRadioGroup:n.a,BRadioGroup:n.a}})},function(t,e,r){"use strict";r.d(e,"a",function(){return u});var o=r(0),n=r(9),i=r(20),a=r(43),s=r(144),l=r(24),c=r(16),d={checked:{default:null}},u=o.a.extend({name:"BFormRadioGroup",mixins:[n.a,i.a,s.a,a.a,l.a,c.a],provide:function(){return{bvRadioGroup:this}},props:d,data:function(){return{localChecked:this.checked}},computed:{isRadioGroup:function(){return!0}}})},function(t,e,r){"use strict";r.d(e,"a",function(){return i});var o=r(148),n=r(3),i=Object(n.b)({components:{BFormInput:o.a,BInput:o.a}})},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){i(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"a",function(){return g});var a=r(0),s=r(9),l=r(20),c=r(24),d=r(16),u=r(149),p=r(150),f=r(151),b=r(7),m=r(6),h=["text","password","email","number","url","tel","search","range","color","date","time","datetime","datetime-local","month","week"],g=a.a.extend({name:"BFormInput",mixins:[s.a,l.a,c.a,d.a,u.a,p.a,f.a],props:{type:{type:String,default:"text",validator:function(t){return Object(b.a)(h,t)}},noWheel:{type:Boolean,default:!1},min:{type:[String,Number],default:null},max:{type:[String,Number],default:null},step:{type:[String,Number],default:null},list:{type:String,default:null}},computed:{localType:function(){return Object(b.a)(h,this.type)?this.type:"text"}},watch:{noWheel:function(t){this.setWheelStopper(t)}},mounted:function(){this.setWheelStopper(this.noWheel)},deactivated:function(){this.setWheelStopper(!1)},activated:function(){this.setWheelStopper(this.noWheel)},beforeDestroy:function(){this.setWheelStopper(!1)},methods:{setWheelStopper:function(t){var e=this.$el;t?(Object(m.f)(e,"focus",this.onWheelFocus),Object(m.f)(e,"blur",this.onWheelBlur)):(Object(m.e)(e,"focus",this.onWheelFocus),Object(m.e)(e,"blur",this.onWheelBlur),Object(m.e)(document,"wheel",this.stopWheel))},onWheelFocus:function(t){Object(m.f)(document,"wheel",this.stopWheel)},onWheelBlur:function(t){Object(m.e)(document,"wheel",this.stopWheel)},stopWheel:function(t){t.preventDefault(),this.$el.blur()}},render:function(t){var e=this;return t("input",{ref:"input",class:e.computedClass,directives:[{name:"model",rawName:"v-model",value:e.localValue,expression:"localValue"}],attrs:{id:e.safeId(),name:e.name,form:e.form||null,type:e.localType,disabled:e.disabled,placeholder:e.placeholder,required:e.required,autocomplete:e.autocomplete||null,readonly:e.readonly||e.plaintext,min:e.min,max:e.max,step:e.step,list:"password"!==e.localType?e.list:null,"aria-required":e.required?"true":null,"aria-invalid":e.computedAriaInvalid},domProps:{value:e.localValue},on:n({},e.$listeners,{input:e.onInput,change:e.onChange,blur:e.onBlur})})}})},function(t,e,r){"use strict";var o=r(1);e.a={model:{prop:"value",event:"update"},props:{value:{type:[String,Number],default:""},ariaInvalid:{type:[Boolean,String],default:!1},readonly:{type:Boolean,default:!1},plaintext:{type:Boolean,default:!1},autocomplete:{type:String,default:null},placeholder:{type:String,default:null},formatter:{type:Function,default:null},trim:{type:Boolean,default:!1},number:{type:Boolean,default:!1},lazyFormatter:{type:Boolean,value:!1}},data:function(){return{localValue:this.stringifyValue(this.value)}},computed:{computedClass:function(){return[{"custom-range":"range"===this.type,"form-control-plaintext":this.plaintext&&"range"!==this.type&&"color"!==this.type,"form-control":!this.plaintext&&"range"!==this.type||"color"===this.type},this.sizeFormClass,this.stateClass]},computedAriaInvalid:function(){return this.ariaInvalid&&"false"!==this.ariaInvalid?!0===this.ariaInvalid?"true":this.ariaInvalid:!1===this.computedState?"true":null}},watch:{value:function(t){t!==this.localValue&&(this.localValue=this.stringifyValue(t))}},mounted:function(){var t=this.stringifyValue(this.value);t!==this.localValue&&(this.localValue=t)},methods:{stringifyValue:function(t){return Object(o.n)(t)||Object(o.g)(t)?"":String(t)},getFormatted:function(t,e){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return t=this.stringifyValue(t),this.lazyFormatter&&!r||!Object(o.f)(this.formatter)||(t=this.formatter(t,e)),t},updateValue:function(t){if((t=this.stringifyValue(t))!==this.localValue){if(this.localValue=t,this.number){var e=parseFloat(t);t=isNaN(e)?t:e}else this.trim&&(t=t.trim());this.$emit("update",t)}else this.$refs.input&&t!==this.$refs.input.value&&(this.$refs.input.value=t)},onInput:function(t){if(!t.target.composing){var e=this.getFormatted(t.target.value,t);if(!1===e||t.defaultPrevented)return void t.preventDefault();this.updateValue(e),this.$emit("input",e)}},onChange:function(t){if(!t.target.composing){var e=this.getFormatted(t.target.value,t);if(!1===e||t.defaultPrevented)return void t.preventDefault();this.updateValue(e),this.$emit("change",e)}},onBlur:function(t){if(this.lazyFormatter){var e=this.getFormatted(t.target.value,t,!0);if(!1===e)return;this.updateValue(e)}this.$emit("blur",t)},focus:function(){this.disabled||this.$el.focus()},blur:function(){this.disabled||this.$el.blur()}}}},function(t,e,r){"use strict";e.a={computed:{selectionStart:{cache:!1,get:function(){return this.$refs.input.selectionStart},set:function(t){this.$refs.input.selectionStart=t}},selectionEnd:{cache:!1,get:function(){return this.$refs.input.selectionEnd},set:function(t){this.$refs.input.selectionEnd=t}},selectionDirection:{cache:!1,get:function(){return this.$refs.input.selectionDirection},set:function(t){this.$refs.input.selectionDirection=t}}},methods:{select:function(){var t;(t=this.$refs.input).select.apply(t,arguments)},setSelectionRange:function(){var t;(t=this.$refs.input).setSelectionRange.apply(t,arguments)},setRangeText:function(){var t;(t=this.$refs.input).setRangeText.apply(t,arguments)}}}},function(t,e,r){"use strict";e.a={computed:{validity:{cache:!1,get:function(){return this.$refs.input.validity}},validationMessage:{cache:!1,get:function(){return this.$refs.input.validationMessage}},willValidate:{cache:!1,get:function(){return this.$refs.input.willValidate}}},methods:{setCustomValidity:function(){var t;return(t=this.$refs.input).setCustomValidity.apply(t,arguments)},checkValidity:function(){var t;return(t=this.$refs.input).checkValidity.apply(t,arguments)},reportValidity:function(){var t;return(t=this.$refs.input).reportValidity.apply(t,arguments)}}}},function(t,e,r){"use strict";r.d(e,"a",function(){return i});var o=r(153),n=r(3),i=Object(n.b)({components:{BFormTextarea:o.a,BTextarea:o.a}})},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){i(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"a",function(){return v});var a=r(0),s=r(119),l=r(9),c=r(20),d=r(24),u=r(16),p=r(149),f=r(150),b=r(151),m=r(27),h=r(6),g=r(1),v=a.a.extend({name:"BFormTextarea",directives:{"b-visible":s.a},mixins:[l.a,m.a,c.a,d.a,u.a,p.a,f.a,b.a],props:{rows:{type:[Number,String],default:2},maxRows:{type:[Number,String],default:null},wrap:{type:String,default:"soft"},noResize:{type:Boolean,default:!1},noAutoShrink:{type:Boolean,default:!1}},data:function(){return{heightInPx:null}},computed:{computedStyle:function(){var t={resize:!this.computedRows||this.noResize?"none":null};return this.computedRows||(t.height=this.heightInPx,t.overflowY="scroll"),t},computedMinRows:function(){return Math.max(parseInt(this.rows,10)||2,2)},computedMaxRows:function(){return Math.max(this.computedMinRows,parseInt(this.maxRows,10)||0)},computedRows:function(){return this.computedMinRows===this.computedMaxRows?this.computedMinRows:null}},watch:{localValue:function(t,e){this.setHeight()}},mounted:function(){this.setHeight()},methods:{visibleCallback:function(t){t&&this.$nextTick(this.setHeight)},setHeight:function(){var t=this;this.$nextTick(function(){Object(h.w)(function(){t.heightInPx=t.computeHeight()})})},computeHeight:function(){if(this.$isServer||!Object(g.g)(this.computedRows))return null;var t=this.$el;if(!Object(h.p)(t))return null;var e=Object(h.j)(t),r=parseFloat(e.lineHeight),o=(parseFloat(e.borderTopWidth)||0)+(parseFloat(e.borderBottomWidth)||0),n=(parseFloat(e.paddingTop)||0)+(parseFloat(e.paddingBottom)||0),i=o+n,a=r*this.computedMinRows+i,s=t.style.height||e.height;t.style.height="auto";var l=t.scrollHeight;t.style.height=s;var c=Math.max((l-n)/r,2),d=Math.min(Math.max(c,this.computedMinRows),this.computedMaxRows),u=Math.max(Math.ceil(d*r+i),a);return this.noAutoShrink&&(parseFloat(s)||0)>u?s:"".concat(u,"px")}},render:function(t){var e=this;return t("textarea",{ref:"input",class:e.computedClass,style:e.computedStyle,directives:[{name:"model",value:e.localValue},{name:"b-visible",value:this.visibleCallback,modifiers:{640:!0}}],attrs:{id:e.safeId(),name:e.name,form:e.form||null,disabled:e.disabled,placeholder:e.placeholder,required:e.required,autocomplete:e.autocomplete||null,readonly:e.readonly||e.plaintext,rows:e.computedRows,wrap:e.wrap||null,"aria-required":e.required?"true":null,"aria-invalid":e.computedAriaInvalid},domProps:{value:e.localValue},on:n({},e.$listeners,{input:e.onInput,change:e.onChange,blur:e.onBlur})})}})},function(t,e,r){"use strict";r.d(e,"a",function(){return i});var o=r(155),n=r(3),i=Object(n.b)({components:{BFormFile:o.a,BFile:o.a}})},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){i(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"a",function(){return v});var a=r(0),s=r(7),l=r(4),c=r(1),d=r(17),u=r(13),p=r(156),f=r(20),b=r(16),m=r(9),h=r(5),g="BFormFile",v=a.a.extend({name:g,mixins:[m.a,f.a,b.a,p.a,h.a],inheritAttrs:!1,model:{prop:"value",event:"input"},props:{size:{type:String,default:function(){return Object(l.c)("BFormControl","size")}},value:{type:[d.a,Array],default:null,validator:function(t){return""===t?(Object(u.b)("".concat(g," - setting value/v-model to an empty string for reset is deprecated. Set to 'null' instead")),!0):Object(c.o)(t)||Object(c.e)(t)||Object(s.d)(t)&&(0===t.length||t.every(c.e))}},accept:{type:String,default:""},capture:{type:Boolean,default:!1},placeholder:{type:String,default:function(){return Object(l.c)(g,"placeholder")}},browseText:{type:String,default:function(){return Object(l.c)(g,"browseText")}},dropPlaceholder:{type:String,default:function(){return Object(l.c)(g,"dropPlaceholder")}},multiple:{type:Boolean,default:!1},directory:{type:Boolean,default:!1},noTraverse:{type:Boolean,default:!1},noDrop:{type:Boolean,default:!1},fileNameFormatter:{type:Function,default:null}},data:function(){return{selectedFile:null,dragging:!1,hasFocus:!1}},computed:{selectLabel:function(){if(this.dragging&&this.dropPlaceholder)return this.dropPlaceholder;if(!this.selectedFile||0===this.selectedFile.length)return this.placeholder;var t=Object(s.b)(this.selectedFile).filter(Boolean);return this.hasNormalizedSlot("file-name")?[this.normalizeSlot("file-name",{files:t,names:t.map(function(t){return t.name})})]:Object(c.f)(this.fileNameFormatter)?String(this.fileNameFormatter(t)):t.map(function(t){return t.name}).join(", ")}},watch:{selectedFile:function(t,e){t===e||Object(s.d)(t)&&Object(s.d)(e)&&t.length===e.length&&t.every(function(t,r){return t===e[r]})||(!t&&this.multiple?this.$emit("input",[]):this.$emit("input",t))},value:function(t){(!t||Object(s.d)(t)&&0===t.length)&&this.reset()}},methods:{focusHandler:function(t){this.plain||"focusout"===t.type?this.hasFocus=!1:this.hasFocus=!0},reset:function(){try{this.$refs.input.value=""}catch(t){}this.$refs.input.type="",this.$refs.input.type="file",this.selectedFile=this.multiple?[]:null},onFileChange:function(t){var e=this;this.$emit("change",t);var r=t.dataTransfer&&t.dataTransfer.items;if(r&&!this.noTraverse){for(var o=[],n=0;n<r.length;n++){var i=r[n].webkitGetAsEntry();i&&o.push(this.traverseFileTree(i))}return void Promise.all(o).then(function(t){e.setFiles(Object(s.c)(t))})}this.setFiles(t.target.files||t.dataTransfer.files)},setFiles:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];if(t)if(this.multiple){for(var e=[],r=0;r<t.length;r++)e.push(t[r]);this.selectedFile=e}else this.selectedFile=t[0]||null;else this.selectedFile=null},onReset:function(){this.selectedFile=this.multiple?[]:null},onDragover:function(t){t.preventDefault(),t.stopPropagation(),!this.noDrop&&this.custom&&(this.dragging=!0,t.dataTransfer.dropEffect="copy")},onDragleave:function(t){t.preventDefault(),t.stopPropagation(),this.dragging=!1},onDrop:function(t){t.preventDefault(),t.stopPropagation(),this.noDrop||(this.dragging=!1,t.dataTransfer.files&&t.dataTransfer.files.length>0&&this.onFileChange(t))},traverseFileTree:function(t,e){var r=this;return new Promise(function(o){e=e||"",t.isFile?t.file(function(t){t.$path=e,o(t)}):t.isDirectory&&t.createReader().readEntries(function(n){for(var i=[],a=0;a<n.length;a++)i.push(r.traverseFileTree(n[a],e+t.name+"/"));Promise.all(i).then(function(t){o(Object(s.c)(t))})})})}},render:function(t){var e=t("input",{ref:"input",class:[{"form-control-file":this.plain,"custom-file-input":this.custom,focus:this.custom&&this.hasFocus},this.stateClass],attrs:n({},this.$attrs,{type:"file",id:this.safeId(),name:this.name,disabled:this.disabled,required:this.required,form:this.form||null,capture:this.capture||null,accept:this.accept||null,multiple:this.multiple,webkitdirectory:this.directory,"aria-required":this.required?"true":null}),on:{change:this.onFileChange,focusin:this.focusHandler,focusout:this.focusHandler,reset:this.onReset}});if(this.plain)return e;var r=t("label",{staticClass:"custom-file-label",class:[this.dragging?"dragging":null],attrs:{for:this.safeId(),"data-browse":this.browseText||null}},this.selectLabel);return t("div",{staticClass:"custom-file b-form-file",class:[this.stateClass,i({},"b-custom-control-".concat(this.size),Boolean(this.size))],attrs:{id:this.safeId("_BV_file_outer_")},on:{dragover:this.onDragover,dragleave:this.onDragleave,drop:this.onDrop}},[e,r])}})},function(t,e,r){"use strict";e.a={props:{plain:{type:Boolean,default:!1}},computed:{custom:function(){return!this.plain}}}},function(t,e,r){"use strict";r.d(e,"a",function(){return i});var o=r(158),n=r(3),i=Object(n.b)({components:{BFormSelect:o.a,BSelect:o.a}})},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){i(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"a",function(){return h});var a=r(0),s=r(9),l=r(43),c=r(20),d=r(24),u=r(16),p=r(156),f=r(5),b=r(7),m=r(11),h=a.a.extend({name:"BFormSelect",mixins:[s.a,f.a,c.a,d.a,u.a,p.a,l.a],model:{prop:"value",event:"input"},props:{value:{},multiple:{type:Boolean,default:!1},selectSize:{type:Number,default:0},ariaInvalid:{type:[Boolean,String],default:!1}},data:function(){return{localValue:this.value}},computed:{computedSelectSize:function(){return this.plain||0!==this.selectSize?this.selectSize:null},inputClass:function(){return[this.plain?"form-control":"custom-select",this.size&&this.plain?"form-control-".concat(this.size):null,this.size&&!this.plain?"custom-select-".concat(this.size):null,this.stateClass]},computedAriaInvalid:function(){return!0===this.ariaInvalid||"true"===this.ariaInvalid?"true":"is-invalid"===this.stateClass?"true":null}},watch:{value:function(t,e){this.localValue=t},localValue:function(t,e){this.$emit("input",this.localValue)}},methods:{focus:function(){this.$refs.input.focus()},blur:function(){this.$refs.input.blur()}},render:function(t){var e=this,r=this.formOptions.map(function(e,r){return t("option",{key:"option_".concat(r,"_opt"),attrs:{disabled:Boolean(e.disabled)},domProps:n({},Object(m.a)(e.html,e.text),{value:e.value})})});return t("select",{ref:"input",class:this.inputClass,directives:[{name:"model",rawName:"v-model",value:this.localValue,expression:"localValue"}],attrs:{id:this.safeId(),name:this.name,form:this.form||null,multiple:this.multiple||null,size:this.computedSelectSize,disabled:this.disabled,required:this.required,"aria-required":this.required?"true":null,"aria-invalid":this.computedAriaInvalid},on:{change:function(t){var r=t.target,o=Object(b.c)(r.options).filter(function(t){return t.selected}).map(function(t){return"_value"in t?t._value:t.value});e.localValue=r.multiple?o:o[0],e.$nextTick(function(){e.$emit("change",e.localValue)})}}},[this.normalizeSlot("first"),r,this.normalizeSlot("default")])}})},function(t,e,r){"use strict";r.d(e,"a",function(){return a});var o=r(38),n=r(61),i=r(3),a=Object(i.b)({components:{BImg:o.a,BImgLazy:n.a}})},function(t,e,r){"use strict";r.d(e,"a",function(){return c});var o=r(161),n=r(45),i=r(71),a=r(72),s=r(46),l=r(3),c=Object(l.b)({components:{BInputGroup:o.a,BInputGroupAddon:n.a,BInputGroupPrepend:i.a,BInputGroupAppend:a.a,BInputGroupText:s.a}})},function(t,e,r){"use strict";function o(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function n(t){return s(t)||a(t)||i()}function i(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function a(t){if(Symbol.iterator in Object(t)||"[object Arguments]"===Object.prototype.toString.call(t))return Array.from(t)}function s(t){if(Array.isArray(t)){for(var e=0,r=new Array(t.length);e<t.length;e++)r[e]=t[e];return r}}r.d(e,"a",function(){return g});var l=r(0),c=r(2),d=r(4),u=r(11),p=r(18),f=r(71),b=r(72),m=r(46),h={id:{type:String},size:{type:String,default:function(){return Object(d.c)("BInputGroup","size")}},prepend:{type:String},prependHtml:{type:String},append:{type:String},appendHtml:{type:String},tag:{type:String,default:"div"}},g=l.a.extend({name:"BInputGroup",functional:!0,props:h,render:function(t,e){var r=e.props,i=e.data,a=e.slots,s=e.scopedSlots,l=a(),d=s||{},h=[];return r.prepend||r.prependHtml||Object(p.a)("prepend",d,l)?h.push(t(f.a,[r.prepend||r.prependHtml?t(m.a,{domProps:Object(u.a)(r.prependHtml,r.prepend)}):t(),Object(p.b)("prepend",{},d,l)||t()])):h.push(t()),Object(p.a)("default",d,l)?h.push.apply(h,n(Object(p.b)("default",{},d,l))):h.push(t()),r.append||r.appendHtml||Object(p.a)("append",d,l)?h.push(t(b.a,[r.append||r.appendHtml?t(m.a,{domProps:Object(u.a)(r.appendHtml,r.append)}):t(),Object(p.b)("append",{},d,l)||t()])):h.push(t()),t(r.tag,Object(c.a)(i,{staticClass:"input-group",class:o({},"input-group-".concat(r.size),Boolean(r.size)),attrs:{id:r.id||null,role:"group"}}),h)}})},function(t,e,r){"use strict";r.d(e,"a",function(){return i});var o=r(163),n=r(3),i=Object(n.b)({components:{BJumbotron:o.a}})},function(t,e,r){"use strict";function o(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"a",function(){return p});var n=r(0),i=r(2),a=r(4),s=r(11),l=r(18),c=r(73),d="BJumbotron",u={fluid:{type:Boolean,default:!1},containerFluid:{type:Boolean,default:!1},header:{type:String,default:null},headerHtml:{type:String,default:null},headerTag:{type:String,default:"h1"},headerLevel:{type:[Number,String],default:"3"},lead:{type:String,default:null},leadHtml:{type:String,default:null},leadTag:{type:String,default:"p"},tag:{type:String,default:"div"},bgVariant:{type:String,default:function(){return Object(a.c)(d,"bgVariant")}},borderVariant:{type:String,default:function(){return Object(a.c)(d,"borderVariant")}},textVariant:{type:String,default:function(){return Object(a.c)(d,"textVariant")}}},p=n.a.extend({name:d,functional:!0,props:u,render:function(t,e){var r,n=e.props,a=e.data,d=e.slots,u=e.scopedSlots,p=[],f=d(),b=u||{};return(n.header||Object(l.a)("header",b,f)||n.headerHtml)&&p.push(t(n.headerTag,{class:o({},"display-".concat(n.headerLevel),Boolean(n.headerLevel))},Object(l.b)("header",{},b,f)||n.headerHtml||Object(s.b)(n.header))),(n.lead||Object(l.a)("lead",b,f)||n.leadHtml)&&p.push(t(n.leadTag,{staticClass:"lead"},Object(l.b)("lead",{},b,f)||n.leadHtml||Object(s.b)(n.lead))),Object(l.a)("default",b,f)&&p.push(Object(l.b)("default",{},b,f)),n.fluid&&(p=[t(c.a,{props:{fluid:n.containerFluid}},p)]),t(n.tag,Object(i.a)(a,{staticClass:"jumbotron",class:(r={"jumbotron-fluid":n.fluid},o(r,"text-".concat(n.textVariant),Boolean(n.textVariant)),o(r,"bg-".concat(n.bgVariant),Boolean(n.bgVariant)),o(r,"border-".concat(n.borderVariant),Boolean(n.borderVariant)),o(r,"border",Boolean(n.borderVariant)),r)}),p)}})},function(t,e,r){"use strict";r.d(e,"a",function(){return l});var o=r(73),n=r(165),i=r(68),a=r(44),s=r(3),l=Object(s.b)({components:{BContainer:o.a,BRow:n.a,BCol:i.a,BFormRow:a.a}})},function(t,e,r){"use strict";function o(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"a",function(){return c});var n=r(0),i=r(2),a=r(7),s=["start","end","center"],l={tag:{type:String,default:"div"},noGutters:{type:Boolean,default:!1},alignV:{type:String,default:null,validator:function(t){return Object(a.a)(s.concat(["baseline","stretch"]),t)}},alignH:{type:String,default:null,validator:function(t){return Object(a.a)(s.concat(["between","around"]),t)}},alignContent:{type:String,default:null,validator:function(t){return Object(a.a)(s.concat(["between","around","stretch"]),t)}}},c=n.a.extend({name:"BRow",functional:!0,props:l,render:function(t,e){var r,n=e.props,a=e.data,s=e.children;return t(n.tag,Object(i.a)(a,{staticClass:"row",class:(r={"no-gutters":n.noGutters},o(r,"align-items-".concat(n.alignV),n.alignV),o(r,"justify-content-".concat(n.alignH),n.alignH),o(r,"align-content-".concat(n.alignContent),n.alignContent),r)}),s)}})},function(t,e,r){"use strict";r.d(e,"a",function(){return i});var o=r(14),n=r(3),i=Object(n.b)({components:{BLink:o.a}})},function(t,e,r){"use strict";r.d(e,"a",function(){return a});var o=r(168),n=r(169),i=r(3),a=Object(i.b)({components:{BListGroup:o.a,BListGroupItem:n.a}})},function(t,e,r){"use strict";function o(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"a",function(){return l});var n=r(0),i=r(2),a=r(1),s={tag:{type:String,default:"div"},flush:{type:Boolean,default:!1},horizontal:{type:[Boolean,String],default:!1}},l=n.a.extend({name:"BListGroup",functional:!0,props:s,render:function(t,e){var r=e.props,n=e.data,s=e.children,l=""===r.horizontal||r.horizontal;l=!r.flush&&l;var c={staticClass:"list-group",class:o({"list-group-flush":r.flush,"list-group-horizontal":!0===l},"list-group-horizontal-".concat(l),Object(a.m)(l))};return t(r.tag,Object(i.a)(n,c),s)}})},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"a",function(){return m});var i=r(0),a=r(2),s=r(15),l=r(7),c=r(4),d=r(14),u="BListGroupItem",p=["a","router-link","button","b-link"],f=Object(d.b)();delete f.href.default,delete f.to.default;var b=function(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){n(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}({tag:{type:String,default:"div"},action:{type:Boolean,default:null},button:{type:Boolean,default:null},variant:{type:String,default:function(){return Object(c.c)(u,"variant")}}},f),m=i.a.extend({name:u,functional:!0,props:b,render:function(t,e){var r,o=e.props,i=e.data,c=e.children,u=o.button?"button":o.href||o.to?d.a:o.tag,b=Boolean(o.href||o.to||o.action||o.button||Object(l.a)(p,o.tag)),m={},h={};"button"===u?(i.attrs&&i.attrs.type||(m.type="button"),o.disabled&&(m.disabled=!0)):h=Object(s.a)(f,o);var g={attrs:m,props:h,staticClass:"list-group-item",class:(r={},n(r,"list-group-item-".concat(o.variant),Boolean(o.variant)),n(r,"list-group-item-action",b),n(r,"active",o.active),n(r,"disabled",o.disabled),r)};return t(u,Object(a.a)(i,g),c)}})},function(t,e,r){"use strict";r.d(e,"a",function(){return s});var o=r(171),n=r(75),i=r(74),a=r(3),s=Object(a.b)({components:{BMedia:o.a,BMediaAside:n.a,BMediaBody:i.a}})},function(t,e,r){"use strict";r.d(e,"a",function(){return c});var o=r(0),n=r(2),i=r(18),a=r(74),s=r(75),l={tag:{type:String,default:"div"},rightAlign:{type:Boolean,default:!1},verticalAlign:{type:String,default:"top"},noBody:{type:Boolean,default:!1}},c=o.a.extend({name:"BMedia",functional:!0,props:l,render:function(t,e){var r=e.props,o=e.data,l=e.slots,c=e.scopedSlots,d=e.children,u=r.noBody?d:[];if(!r.noBody){var p=l(),f=c||{},b=Object(i.b)("aside",{},f,p),m=Object(i.b)("default",{},f,p);b&&!r.rightAlign&&u.push(t(s.a,{staticClass:"mr-3",props:{verticalAlign:r.verticalAlign}},b)),u.push(t(a.a,{},m)),b&&r.rightAlign&&u.push(t(s.a,{staticClass:"ml-3",props:{verticalAlign:r.verticalAlign}},b))}return t(r.tag,Object(n.a)(o,{staticClass:"media"}),u)}})},function(t,e,r){"use strict";r.d(e,"a",function(){return s});var o=r(76),n=r(78),i=r(173),a=r(3),s=Object(a.b)({components:{BModal:o.a},directives:{VBModal:n.a},plugins:{BVModalPlugin:i.a}})},function(t,e,r){"use strict";function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function n(t,e){for(var r=0;r<e.length;r++){var o=e[r];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}function i(t,e,r){return e&&n(t.prototype,e),r&&n(t,r),t}function a(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function s(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?a(r,!0).forEach(function(e){l(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):a(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function l(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function c(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function d(t){if(Symbol.iterator in Object(t)||"[object Arguments]"===Object.prototype.toString.call(t))return Array.from(t)}function u(t){if(Array.isArray(t)){for(var e=0,r=new Array(t.length);e<t.length;e++)r[e]=t[e];return r}}r.d(e,"a",function(){return j});var p=r(76),f=r(7),b=r(4),m=r(1),h=r(8),g=r(3),v=r(13),y=["id"].concat(function(t){return u(t)||d(t)||c()}(Object(h.j)(Object(h.k)(p.b,["busy","lazy","noStacking","static","visible"])))),w=function(t){},x={msgBoxContent:"default",title:"modal-title",okTitle:"modal-ok",cancelTitle:"modal-cancel"},O=function(t){return y.reduce(function(e,r){return Object(m.n)(t[r])||(e[r]=t[r]),e},{})},k=function(t){var e=t.extend({name:"BMsgBox",extends:p.a,destroyed:function(){this.$el&&this.$el.parentNode&&this.$el.parentNode.removeChild(this.$el)},mounted:function(){var t=this,e=function(){var e=t;t.$nextTick(function(){setTimeout(function(){return e.$destroy()},0)})};this.$parent.$once("hook:destroyed",e),this.$once("hidden",e),this.$router&&this.$route&&this.$once("hook:beforeDestroy",this.$watch("$router",e)),this.show()}}),r=function(t,r){var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:w;if(!Object(v.e)("$bvModal")&&!Object(v.d)("$bvModal")){var n=new e({parent:t,propsData:s({},O(Object(b.c)("BModal")||{}),{hideHeaderClose:!0,hideHeader:!(r.title||r.titleHtml)},Object(h.k)(r,Object(h.j)(x)),{lazy:!1,busy:!1,visible:!1,noStacking:!1,noEnforceFocus:!1})});return Object(h.j)(x).forEach(function(t){Object(m.n)(r[t])||(n.$slots[x[t]]=Object(f.b)(r[t]))}),new Promise(function(t,e){var r=!1;n.$once("hook:destroyed",function(){r||e(new Error("BootstrapVue MsgBox destroyed before resolve"))}),n.$on("hide",function(e){if(!e.defaultPrevented){var n=o(e);e.defaultPrevented||(r=!0,t(n))}});var i=document.createElement("div");document.body.appendChild(i),n.$mount(i)})}},n=function(t,e){var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=arguments.length>3?arguments[3]:void 0;if(e&&!Object(v.d)("$bvModal")&&!Object(v.e)("$bvModal")&&Object(m.f)(n))return r(t,s({},O(o),{msgBoxContent:e}),n)},a=function(){function t(e){o(this,t),Object(h.a)(this,{_vm:e,_root:e.$root}),Object(h.d)(this,{_vm:Object(h.l)(),_root:Object(h.l)()})}return i(t,[{key:"show",value:function(t){if(t&&this._root){for(var e,r=arguments.length,o=new Array(r>1?r-1:0),n=1;n<r;n++)o[n-1]=arguments[n];(e=this._root).$emit.apply(e,["bv::show::modal",t].concat(o))}}},{key:"hide",value:function(t){if(t&&this._root){for(var e,r=arguments.length,o=new Array(r>1?r-1:0),n=1;n<r;n++)o[n-1]=arguments[n];(e=this._root).$emit.apply(e,["bv::hide::modal",t].concat(o))}}},{key:"msgBoxOk",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=s({},e,{okOnly:!0,okDisabled:!1,hideFooter:!1,msgBoxContent:t});return n(this._vm,t,r,function(t){return!0})}},{key:"msgBoxConfirm",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=s({},e,{okOnly:!1,okDisabled:!1,cancelDisabled:!1,hideFooter:!1});return n(this._vm,t,r,function(t){var e=t.trigger;return"ok"===e||"cancel"!==e&&null})}}]),t}();t.mixin({beforeCreate:function(){this._bv__modal=new a(this)}}),t.prototype.hasOwnProperty("$bvModal")||Object(h.e)(t.prototype,"$bvModal",{get:function(){return this&&this._bv__modal||Object(v.b)("'".concat("$bvModal","' must be accessed from a Vue instance 'this' context")),this._bv__modal}})},j=Object(g.b)({plugins:{plugin:k}})},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"a",function(){return c});var i=r(0),a=r(2),s=r(14),l=Object(s.b)(),c=i.a.extend({name:"BNavItem",functional:!0,props:function(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){n(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}({},l,{linkAttrs:{type:Object,default:function(){}},linkClasses:{type:[String,Object,Array],default:null}}),render:function(t,e){var r=e.props,o=e.data,n=e.listeners,i=e.children;return delete o.on,t("li",Object(a.a)(o,{staticClass:"nav-item"}),[t(s.a,{staticClass:"nav-link",class:r.linkClasses,attrs:r.linkAttrs,props:r,on:n},i)])}})},function(t,e,r){"use strict";r.d(e,"a",function(){return a});var o=r(0),n=r(2),i={tag:{type:String,default:"span"}},a=o.a.extend({name:"BNavText",functional:!0,props:i,render:function(t,e){var r=e.props,o=e.data,i=e.children;return t(r.tag,Object(n.a)(o,{staticClass:"navbar-text"}),i)}})},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){i(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"a",function(){return u});var a=r(0),s=r(2),l=r(8),c=r(42),d=Object(l.k)(c.b,["inline"]),u=a.a.extend({name:"BNavForm",functional:!0,props:d,render:function(t,e){var r=e.props,o=e.data,i=e.children;return t(c.a,Object(s.a)(o,{props:n({},r,{inline:!0})}),i)}})},function(t,e,r){"use strict";r.d(e,"a",function(){return p});var o=r(0),n=r(64),i=r(9),a=r(126),s=r(5),l=r(15),c=r(11),d=r(14),u=Object(l.a)(["menuClass","toggleClass","noCaret","role"],n.b),p=o.a.extend({name:"BNavItemDropdown",mixins:[i.a,a.a,s.a],props:u,computed:{isNav:function(){return!0},dropdownClasses:function(){return[this.directionClass,{show:this.visible}]},menuClasses:function(){return[this.menuClass,{"dropdown-menu-right":this.right,show:this.visible}]},toggleClasses:function(){return[this.toggleClass,{"dropdown-toggle-no-caret":this.noCaret}]}},render:function(t){var e=t(d.a,{ref:"toggle",staticClass:"nav-link dropdown-toggle",class:this.toggleClasses,props:{href:"#",disabled:this.disabled},attrs:{id:this.safeId("_BV_button_"),"aria-haspopup":"true","aria-expanded":this.visible?"true":"false"},on:{click:this.toggle,keydown:this.toggle}},[this.$slots["button-content"]||this.$slots.text||t("span",{domProps:Object(c.a)(this.html,this.text)})]),r=t("ul",{staticClass:"dropdown-menu",class:this.menuClasses,ref:"menu",attrs:{tabindex:"-1","aria-labelledby":this.safeId("_BV_button_")},on:{keydown:this.onKeydown}},!this.lazy||this.visible?this.normalizeSlot("default",{hide:this.hide}):[t()]);return t("li",{staticClass:"nav-item b-nav-dropdown dropdown",class:this.dropdownClasses,attrs:{id:this.safeId()}},[e,r])}})},function(t,e,r){"use strict";r.d(e,"a",function(){return u});var o=r(179),n=r(180),i=r(181),a=r(182),s=r(79),l=r(62),c=r(40),d=r(3),u=Object(d.b)({components:{BNavbar:o.a,BNavbarNav:n.a,BNavbarBrand:i.a,BNavbarToggle:a.a,BNavToggle:a.a},plugins:{NavPlugin:s.a,CollapsePlugin:l.a,DropdownPlugin:c.a}})},function(t,e,r){"use strict";function o(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"a",function(){return c});var n=r(0),i=r(2),a=r(4),s=r(1),l={tag:{type:String,default:"nav"},type:{type:String,default:"light"},variant:{type:String,default:function(){return Object(a.c)("BNavbar","variant")}},toggleable:{type:[Boolean,String],default:!1},fixed:{type:String},sticky:{type:Boolean,default:!1},print:{type:Boolean,default:!1}},c=n.a.extend({name:"BNavbar",functional:!0,props:l,render:function(t,e){var r,n=e.props,l=e.data,c=e.children,d="",u=Object(a.a)()[0];return n.toggleable&&Object(s.m)(n.toggleable)&&n.toggleable!==u?d="navbar-expand-".concat(n.toggleable):!1===n.toggleable&&(d="navbar-expand"),t(n.tag,Object(i.a)(l,{staticClass:"navbar",class:(r={"d-print":n.print,"sticky-top":n.sticky},o(r,"navbar-".concat(n.type),Boolean(n.type)),o(r,"bg-".concat(n.variant),Boolean(n.variant)),o(r,"fixed-".concat(n.fixed),Boolean(n.fixed)),o(r,"".concat(d),Boolean(d)),r),attrs:{role:"nav"===n.tag?null:"navigation"}}),c)}})},function(t,e,r){"use strict";function o(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"a",function(){return d});var n=r(0),i=r(2),a=r(15),s=r(47),l=Object(a.a)(["tag","fill","justified","align","small"],s.b),c=function(t){return t="left"===t?"start":"right"===t?"end":t,"justify-content-".concat(t)},d=n.a.extend({name:"BNavbarNav",functional:!0,props:l,render:function(t,e){var r,n=e.props,a=e.data,s=e.children;return t(n.tag,Object(i.a)(a,{staticClass:"navbar-nav",class:(r={"nav-fill":n.fill,"nav-justified":n.justified},o(r,c(n.align),n.align),o(r,"small",n.small),r)}),s)}})},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"a",function(){return u});var i=r(0),a=r(2),s=r(15),l=r(14),c=Object(l.b)();c.href.default=void 0,c.to.default=void 0;var d=function(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){n(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}({},c,{tag:{type:String,default:"div"}}),u=i.a.extend({name:"BNavbarBrand",functional:!0,props:d,render:function(t,e){var r=e.props,o=e.data,n=e.children,i=Boolean(r.to||r.href);return t(i?l.a:r.tag,Object(a.a)(o,{staticClass:"navbar-brand",props:i?Object(s.a)(c,r):{}}),n)}})},function(t,e,r){"use strict";r.d(e,"a",function(){return l});var o=r(0),n=r(27),i=r(5),a=r(4),s="BNavbarToggle",l=o.a.extend({name:s,mixins:[n.a,i.a],props:{label:{type:String,default:function(){return Object(a.c)(s,"label")}},target:{type:String,required:!0}},data:function(){return{toggleState:!1}},created:function(){this.listenOnRoot("bv::collapse::state",this.handleStateEvt),this.listenOnRoot("bv::collapse::sync::state",this.handleStateEvt)},methods:{onClick:function(t){this.$emit("click",t),t.defaultPrevented||this.$root.$emit("bv::toggle::collapse",this.target)},handleStateEvt:function(t,e){t===this.target&&(this.toggleState=e)}},render:function(t){return t("button",{class:["navbar-toggler"],attrs:{type:"button","aria-label":this.label,"aria-controls":this.target,"aria-expanded":this.toggleState?"true":"false"},on:{click:this.onClick}},[this.normalizeSlot("default")||t("span",{class:["navbar-toggler-icon"]})])}})},function(t,e,r){"use strict";r.d(e,"a",function(){return i});var o=r(184),n=r(3),i=Object(n.b)({components:{BPagination:o.a}})},function(t,e,r){"use strict";r.d(e,"a",function(){return u});var o=r(0),n=r(4),i=r(6),a=r(1),s=r(185),l={size:{type:String,default:function(){return Object(n.c)("BPagination","size")}},perPage:{type:[Number,String],default:20},totalRows:{type:[Number,String],default:0},ariaControls:{type:String,default:null}},c=function(t){var e=parseInt(t,10)||20;return e<1?1:e},d=function(t){var e=parseInt(t,10)||0;return e<0?0:e},u=o.a.extend({name:"BPagination",mixins:[s.a],props:l,computed:{numberOfPages:function(){var t=Math.ceil(d(this.totalRows)/c(this.perPage));return t<1?1:t},pageSizeNumberOfPages:function(){return{perPage:c(this.perPage),totalRows:d(this.totalRows),numberOfPages:this.numberOfPages}}},watch:{pageSizeNumberOfPages:function(t,e){Object(a.o)(e)||(t.perPage!==e.perPage&&t.totalRows===e.totalRows?this.currentPage=1:t.numberOfPages!==e.numberOfPages&&this.currentPage>t.numberOfPages&&(this.currentPage=1)),this.localNumberOfPages=t.numberOfPages}},created:function(){var t=this;this.localNumberOfPages=this.numberOfPages;var e=parseInt(this.value,10)||0;e>0?this.currentPage=e:this.$nextTick(function(){t.currentPage=0})},mounted:function(){this.localNumberOfPages=this.numberOfPages},methods:{onClick:function(t,e){var r=this;t>this.numberOfPages?t=this.numberOfPages:t<1&&(t=1),this.currentPage=t,this.$emit("change",this.currentPage),this.$nextTick(function(){var t=e.target;Object(i.p)(t)&&r.$el.contains(t)&&t.focus?t.focus():r.focusCurrent()})},makePage:function(t){return t},linkProps:function(t){return{href:"#"}}}})},function(t,e,r){"use strict";var o=r(19),n=r(186),i=r(26),a=r(13),s=r(1),l=r(6),c=r(5),d=r(14),u=function(t,e){return Object(n.a)(e).map(function(e,r){return{number:t+r,classes:null}})},p=function(t){var e=parseInt(t,10)||1;return e<1?5:e},f=function(t,e){var r=parseInt(t,10)||1;return r>e?e:r<1?1:r},b=function(t){if(t.keyCode===o.a.SPACE)return t.preventDefault(),t.stopImmediatePropagation(),t.stopPropagation(),t.currentTarget.click(),!1},m={disabled:{type:Boolean,default:!1},value:{type:[Number,String],default:null,validator:function(t){var e=parseInt(t,10);return!(!Object(s.g)(t)&&(isNaN(e)||e<1))||(Object(a.a)("pagination: v-model value must be a number greater than 0"),!1)}},limit:{type:[Number,String],default:5,validator:function(t){var e=parseInt(t,10);return!(isNaN(e)||e<1)||(Object(a.a)('pagination: prop "limit" must be a number greater than 0'),!1)}},align:{type:String,default:"left"},hideGotoEndButtons:{type:Boolean,default:!1},ariaLabel:{type:String,default:"Pagination"},labelFirstPage:{type:String,default:"Go to first page"},firstText:{type:String,default:"«"},labelPrevPage:{type:String,default:"Go to previous page"},prevText:{type:String,default:"‹"},labelNextPage:{type:String,default:"Go to next page"},nextText:{type:String,default:"›"},labelLastPage:{type:String,default:"Go to last page"},lastText:{type:String,default:"»"},labelPage:{type:[String,Function],default:"Go to page"},hideEllipsis:{type:Boolean,default:!1},ellipsisText:{type:String,default:"…"}};e.a={mixins:[c.a],model:{prop:"value",event:"input"},props:m,data:function(){var t=parseInt(this.value,10);return{currentPage:t>0?t:-1,localNumberOfPages:1,localLimit:5}},computed:{btnSize:function(){return this.size?"pagination-".concat(this.size):""},alignment:function(){var t=this.align;return"center"===t?"justify-content-center":"end"===t||"right"===t?"justify-content-end":"fill"===t?"text-center":""},computedCurrentPage:function(){return f(this.currentPage,this.localNumberOfPages)},paginationParams:function(){var t=this.limit,e=this.localNumberOfPages,r=this.computedCurrentPage,o=this.hideEllipsis,n=!1,i=!1,a=t,s=1;return e<=t?a=e:r<t-1&&t>3?o||(i=!0,a=t-1):e-r+2<t&&t>3?(o||(a=t-1,n=!0),s=e-a+1):(t>3&&!o&&(a=t-2,n=i=!0),s=r-Math.floor(a/2)),s<1?s=1:s>e-a&&(s=e-a+1),{showFirstDots:n,showLastDots:i,numberOfLinks:a,startNumber:s}},pageList:function(){var t=this.paginationParams,e=t.numberOfLinks,r=t.startNumber,o=this.computedCurrentPage,n=u(r,e);if(n.length>3){var i=o-r,a="bv-d-xs-down-none";if(0===i)for(var s=3;s<n.length;s++)n[s].classes=a;else if(i===n.length-1)for(var l=0;l<n.length-3;l++)n[l].classes=a;else{for(var c=0;c<i-1;c++)n[c].classes=a;for(var d=n.length-1;d>i+1;d--)n[d].classes=a}}return n}},watch:{value:function(t,e){t!==e&&(this.currentPage=f(t,this.localNumberOfPages))},currentPage:function(t,e){t!==e&&this.$emit("input",t>0?t:null)},limit:function(t,e){t!==e&&(this.localLimit=p(t))}},created:function(){var t=this;this.localLimit=p(this.limit),this.$nextTick(function(){t.currentPage=t.currentPage>t.localNumberOfPages?t.localNumberOfPages:t.currentPage})},methods:{getButtons:function(){return Object(l.y)("a.page-link",this.$el).filter(function(t){return Object(l.p)(t)})},setBtnFocus:function(t){t.focus()},focusCurrent:function(){var t=this;this.$nextTick(function(){var e=t.getButtons().find(function(e){return parseInt(Object(l.g)(e,"aria-posinset"),10)===t.computedCurrentPage});e&&e.focus?t.setBtnFocus(e):t.focusFirst()})},focusFirst:function(){var t=this;this.$nextTick(function(){var e=t.getButtons().find(function(t){return!Object(l.n)(t)});e&&e.focus&&e!==document.activeElement&&t.setBtnFocus(e)})},focusLast:function(){var t=this;this.$nextTick(function(){var e=t.getButtons().reverse().find(function(t){return!Object(l.n)(t)});e&&e.focus&&e!==document.activeElement&&t.setBtnFocus(e)})},focusPrev:function(){var t=this;this.$nextTick(function(){var e=t.getButtons(),r=e.indexOf(document.activeElement);r>0&&!Object(l.n)(e[r-1])&&e[r-1].focus&&t.setBtnFocus(e[r-1])})},focusNext:function(){var t=this;this.$nextTick(function(){var e=t.getButtons(),r=e.indexOf(document.activeElement);r<e.length-1&&!Object(l.n)(e[r+1])&&e[r+1].focus&&t.setBtnFocus(e[r+1])})}},render:function(t){var e=this,r=[],n=this.localNumberOfPages,a=this.disabled,l=this.paginationParams,c=l.showFirstDots,u=l.showLastDots,p=this.computedCurrentPage,f="fill"===this.align,m=function(t){return t===p},h=this.currentPage<1,g=function(r,o,s,l,c,u){var p=a||m(c)||h||r<1||r>n,g=r<1?1:r>n?n:r,v={disabled:p,page:g,index:g-1},y=e.normalizeSlot(s,v)||Object(i.a)(l)||t(),w=t(p?"span":d.a,{staticClass:"page-link",props:p?{}:e.linkProps(r),attrs:{role:"menuitem",tabindex:p?null:"-1","aria-label":o,"aria-controls":e.ariaControls||null,"aria-disabled":p?"true":null},on:p?{}:{click:function(t){e.onClick(r,t)},keydown:b}},[y]);return t("li",{key:u,staticClass:"page-item",class:{disabled:p,"flex-fill":f},attrs:{role:"presentation","aria-hidden":p?"true":null}},[w])},v=function(r){return t("li",{key:"ellipsis-".concat(r?"last":"first"),staticClass:"page-item",class:["disabled","bv-d-xs-down-none",f?"flex-fill":""],attrs:{role:"separator"}},[t("span",{staticClass:"page-link"},[e.normalizeSlot("ellipsis-text")||Object(i.a)(e.ellipsisText)||t()])])};r.push(this.hideGotoEndButtons?t():g(1,this.labelFirstPage,"first-text",this.firstText,1,"bookend-goto-first")),r.push(g(p-1,this.labelPrevPage,"prev-text",this.prevText,1,"bookend-goto-prev")),r.push(c?v(!1):t()),this.pageList.forEach(function(o,l){var c=m(o.number)&&!h,u=a?null:c||h&&0===l?"0":"-1",p={role:"menuitemradio","aria-disabled":a?"true":null,"aria-controls":e.ariaControls||null,"aria-label":Object(s.f)(e.labelPage)?e.labelPage(o.number):"".concat(e.labelPage," ").concat(o.number),"aria-checked":c?"true":"false","aria-posinset":o.number,"aria-setsize":n,tabindex:u},g=Object(i.a)(e.makePage(o.number)),v={page:o.number,index:o.number-1,content:g,active:c,disabled:a},y=t(a?"span":d.a,{props:a?{}:e.linkProps(o.number),staticClass:"page-link",attrs:p,on:a?{}:{click:function(t){e.onClick(o.number,t)},keydown:b}},[e.normalizeSlot("page",v)||g]);r.push(t("li",{key:"page-".concat(o.number),staticClass:"page-item",class:[{disabled:a,active:c,"flex-fill":f},o.classes],attrs:{role:"presentation"}},[y]))}),r.push(u?v(!0):t()),r.push(g(p+1,this.labelNextPage,"next-text",this.nextText,n,"bookend-goto-next")),r.push(this.hideGotoEndButtons?t():g(n,this.labelLastPage,"last-text",this.lastText,n,"bookend-goto-last"));var y=t("ul",{ref:"ul",staticClass:"pagination",class:["b-pagination",this.btnSize,this.alignment],attrs:{role:"menubar","aria-disabled":a?"true":"false","aria-label":this.ariaLabel||null},on:{keydown:function(t){var r=t.keyCode,n=t.shiftKey;r===o.a.LEFT?(t.preventDefault(),n?e.focusFirst():e.focusPrev()):r===o.a.RIGHT&&(t.preventDefault(),n?e.focusLast():e.focusNext())}}},r);return this.isNav?t("nav",{attrs:{"aria-disabled":a?"true":null,"aria-hidden":a?"true":"false"}},[y]):y}}},function(t,e,r){"use strict";var o=function(t){return Array.apply(null,{length:t})};e.a=o},function(t,e,r){"use strict";r.d(e,"a",function(){return i});var o=r(188),n=r(3),i=Object(n.b)({components:{BPaginationNav:o.a}})},function(t,e,r){"use strict";r.d(e,"a",function(){return h});var o=r(0),n=r(12),i=r(26),a=r(13),s=r(4),l=r(6),c=r(10),d=r(1),u=r(107),p=r(185),f="BPaginationNav",b=function(t){var e=parseInt(t,10)||1;return e<1?1:e},m={size:{type:String,default:function(){return Object(s.c)(f,"size")}},numberOfPages:{type:[Number,String],default:1,validator:function(t){var e=parseInt(t,10);return!(isNaN(e)||e<1)||(Object(a.a)('b-pagination: prop "number-of-pages" must be a number greater than 0'),!1)}},baseUrl:{type:String,default:"/"},useRouter:{type:Boolean,default:!1},linkGen:{type:Function,default:null},pageGen:{type:Function,default:null},pages:{type:Array,default:null},noPageDetect:{type:Boolean,default:!1},activeClass:{type:String},exact:{type:Boolean,default:!1},exactActiveClass:{type:String},noPrefetch:{type:Boolean,default:!1}},h=o.a.extend({name:f,mixins:[p.a],props:m,computed:{isNav:function(){return!0},computedValue:function(){var t=parseInt(this.value,10);return isNaN(t)||t<1?null:t}},watch:{numberOfPages:function(t,e){var r=this;this.$nextTick(function(){r.setNumberOfPages()})},pages:function(t,e){var r=this;this.$nextTick(function(){r.setNumberOfPages()})}},created:function(){this.setNumberOfPages()},mounted:function(){var t=this;this.$router&&this.$watch("$route",function(e,r){t.$nextTick(function(){Object(l.w)(function(){t.guessCurrentPage()})})})},methods:{setNumberOfPages:function(){var t=this;Object(d.a)(this.pages)&&this.pages.length>0?this.localNumberOfPages=this.pages.length:this.localNumberOfPages=b(this.numberOfPages),this.$nextTick(function(){t.guessCurrentPage()})},onClick:function(t,e){var r=this;t!==this.currentPage&&(Object(l.w)(function(){r.currentPage=t,r.$emit("change",t)}),this.$nextTick(function(){try{(e.currentTarget||e.target).blur()}catch(t){}}))},getPageInfo:function(t){if(!Object(d.a)(this.pages)||0===this.pages.length||Object(d.n)(this.pages[t-1])){var e="".concat(this.baseUrl).concat(t);return{link:this.useRouter?{path:e}:e,text:Object(i.a)(t)}}var r=this.pages[t-1];if(Object(d.i)(r)){var o=r.link;return{link:Object(d.i)(o)?o:this.useRouter?{path:o}:o,text:Object(i.a)(r.text||t)}}return{link:Object(i.a)(r),text:Object(i.a)(t)}},makePage:function(t){var e=this.getPageInfo(t);return this.pageGen&&Object(d.f)(this.pageGen)?this.pageGen(t,e):e.text},makeLink:function(t){var e=this.getPageInfo(t);return this.linkGen&&Object(d.f)(this.linkGen)?this.linkGen(t,e):e.link},linkProps:function(t){var e=this.makeLink(t),r={target:this.target||null,rel:this.rel||null,disabled:this.disabled,exact:this.exact,activeClass:this.activeClass,exactActiveClass:this.exactActiveClass,append:this.append,replace:this.replace,noPrefetch:this.noPrefetch};return this.useRouter||Object(d.i)(e)?r.to=e:r.href=e,r},resolveLink:function(){var t,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";try{t=document.createElement("a"),t.href=Object(u.a)({to:e},"a","/","/"),document.body.appendChild(t);var r=t,o=r.pathname,n=r.hash,i=r.search;return document.body.removeChild(t),{path:o,hash:n,query:Object(u.e)(i)}}catch(e){try{t&&t.parentNode&&t.parentNode.removeChild(t)}catch(t){}return{}}},resolveRoute:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";try{var e=this.$router.resolve(t,this.$route).route;return{path:e.path,hash:e.hash,query:e.query}}catch(t){return{}}},guessCurrentPage:function(){var t=this.computedValue,e=this.$router,r=this.$route;if(!this.noPageDetect&&!t&&(c.j||!c.j&&e))for(var o=e&&r?{path:r.path,hash:r.hash,query:r.query}:{},i=c.j?window.location||document.location:null,a=i?{path:i.pathname,hash:i.hash,query:Object(u.e)(i.search)}:{},s=1;!t&&s<=this.localNumberOfPages;s++){var l=this.makeLink(s);t=e&&(Object(d.i)(l)||this.useRouter)?Object(n.a)(this.resolveRoute(l),o)?s:null:c.j?Object(n.a)(this.resolveLink(l),a)?s:null:-1}this.currentPage=t>0?t:0}}})},function(t,e,r){"use strict";r.d(e,"a",function(){return a});var o=r(190),n=r(82),i=r(3),a=Object(i.b)({components:{BPopover:o.a},plugins:{VBPopoverPlugin:n.a}})},function(t,e,r){"use strict";r.d(e,"a",function(){return c});var o=r(0),n=r(4),i=r(17),a=r(80),s=r(192),l="BPopover",c=o.a.extend({name:l,extends:a.a,inheritAttrs:!1,props:{title:{type:String},content:{type:String},triggers:{type:[String,Array],default:"click"},placement:{type:String,default:"right"},variant:{type:String,default:function(){return Object(n.c)(l,"variant")}},customClass:{type:String,default:function(){return Object(n.c)(l,"customClass")}},delay:{type:[Number,Object,String],default:function(){return Object(n.c)(l,"delay")}},boundary:{type:[String,i.b,Object],default:function(){return Object(n.c)(l,"boundary")}},boundaryPadding:{type:[Number,String],default:function(){return Object(n.c)(l,"boundaryPadding")}}},methods:{getComponent:function(){return s.a},updateContent:function(){this.setContent(this.$scopedSlots.default||this.content),this.setTitle(this.$scopedSlots.title||this.title)}}})},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){i(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"a",function(){return d});var a=r(0),s=r(77),l=r(1),c=r(258),d=a.a.extend({name:"BVTooltipTemplate",extends:c.a,mixins:[s.a],props:{id:{type:String,default:null},html:{type:Boolean,default:!1}},data:function(){return{title:"",content:"",variant:null,customClass:null}},computed:{templateType:function(){return"tooltip"},templateClasses:function(){var t;return[(t={},i(t,"b-".concat(this.templateType,"-").concat(this.variant),this.variant),i(t,"bs-".concat(this.templateType,"-").concat(this.attachment),this.attachment),t),this.customClass]},templateAttributes:function(){return n({id:this.id,role:"tooltip",tabindex:"-1"},this.scopedStyleAttrs)},templateListeners:function(){var t=this;return{mouseenter:function(e){t.$emit("mouseenter",e)},mouseleave:function(e){t.$emit("mouseleave",e)},focusin:function(e){t.$emit("focusin",e)},focusout:function(e){t.$emit("focusout",e)}}}},methods:{renderTemplate:function(t){var e=Object(l.f)(this.title)?this.title({}):Object(l.o)(this.title)?t():this.title,r=this.html&&!Object(l.f)(this.title)?{innerHTML:this.title}:{};return t("div",{staticClass:"tooltip b-tooltip",class:this.templateClasses,attrs:this.templateAttributes,on:this.templateListeners},[t("div",{ref:"arrow",staticClass:"arrow"}),t("div",{staticClass:"tooltip-inner",domProps:r},[e])])}}})},function(t,e,r){"use strict";r.d(e,"a",function(){return a});var o=r(0),n=r(81),i=r(259),a=o.a.extend({name:"BVPopover",extends:n.a,computed:{templateType:function(){return"popover"}},methods:{getTemplate:function(){return i.a}}})},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){i(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"a",function(){return P});var a=r(32),s=r(12),l=r(7),c=r(4),d=r(10),u=r(1),p=r(8),f=r(192),b="__BV_Popover__",m={focus:!0,hover:!0,click:!0,blur:!0,manual:!0},h=/^html$/i,g=/^nofade$/i,v=/^(auto|top(left|right)?|bottom(left|right)?|left(top|bottom)?|right(top|bottom)?)$/i,y=/^(window|viewport|scrollParent)$/i,w=/^d\d+$/i,x=/^ds\d+$/i,O=/^dh\d+$/i,k=/^o-?\d+$/i,j=/^v-.+$/i,S=function(t,e){var r="BPopover",o={title:void 0,content:void 0,trigger:"",placement:"right",fallbackPlacement:"flip",container:!1,animation:!0,offset:0,disabled:!1,id:null,html:!1,delay:Object(c.c)(r,"delay"),boundary:String(Object(c.c)(r,"boundary")),boundaryPadding:parseInt(Object(c.c)(r,"boundaryPadding"),10)||0,variant:Object(c.c)(r,"variant"),customClass:Object(c.c)(r,"customClass")};if(Object(u.m)(t.value)||Object(u.h)(t.value)?o.content=t.value:Object(u.f)(t.value)?o.content=t.value:Object(u.j)(t.value)&&(o=n({},o,{},t.value)),t.arg&&(o.container="#".concat(t.arg)),Object(u.n)(o.title)){var i=e.data||{};o.title=i.attrs&&!Object(u.o)(i.attrs.title)?i.attrs.title:void 0}Object(u.j)(o.delay)||(o.delay={show:parseInt(o.delay,10)||0,hide:parseInt(o.delay,10)||0}),Object(p.j)(t.modifiers).forEach(function(t){if(h.test(t))o.html=!0;else if(g.test(t))o.animation=!1;else if(v.test(t))o.placement=t;else if(y.test(t))t="scrollparent"===t?"scrollParent":t,o.boundary=t;else if(w.test(t)){var e=parseInt(t.slice(1),10)||0;o.delay.show=e,o.delay.hide=e}else x.test(t)?o.delay.show=parseInt(t.slice(2),10)||0:O.test(t)?o.delay.hide=parseInt(t.slice(2),10)||0:k.test(t)?o.offset=parseInt(t.slice(1),10)||0:j.test(t)&&(o.variant=t.slice(2)||null)});var a={};return Object(l.b)(o.trigger||"").filter(Boolean).join(" ").trim().toLowerCase().split(/\s+/).forEach(function(t){m[t]&&(a[t]=!0)}),Object(p.j)(t.modifiers).forEach(function(t){t=t.toLowerCase(),m[t]&&(a[t]=!0)}),o.trigger=Object(p.j)(a).join(" "),"blur"===o.trigger&&(o.trigger="focus"),o.trigger||(o.trigger="click"),o},_=function(t,e,r){if(d.j){var o=S(e,r);if(!t[b]){var n=r.context;t[b]=new f.a({parent:n,_scopeId:Object(a.a)(n,void 0)}),t[b].__bv_prev_data__={},t[b].$on("show",function(){var e={};Object(u.f)(o.title)&&(e.title=o.title()),Object(u.f)(o.content)&&(e.content=o.content()),Object(p.j)(e).length>0&&t[b].updateData(e)})}var i={title:o.title,content:o.content,triggers:o.trigger,placement:o.placement,fallbackPlacement:o.fallbackPlacement,variant:o.variant,customClass:o.customClass,container:o.container,boundary:o.boundary,delay:o.delay,offset:o.offset,noFade:!o.animation,id:o.id,disabled:o.disabled,html:o.html},l=t[b].__bv_prev_data__;if(t[b].__bv_prev_data__=i,!Object(s.a)(i,l)){var c={target:t};Object(p.j)(i).forEach(function(t){i[t]!==l[t]&&(c[t]="title"!==t&&"content"!==t||!Object(u.f)(i[t])?i[t]:i[t]())}),t[b].updateData(c)}}},T=function(t){t[b]&&(t[b].$destroy(),t[b]=null),delete t[b]},P={bind:function(t,e,r){_(t,e,r)},componentUpdated:function(t,e,r){r.context.$nextTick(function(){_(t,e,r)})},unbind:function(t){T(t)}}},function(t,e,r){"use strict";r.d(e,"a",function(){return a});var o=r(195),n=r(83),i=r(3),a=Object(i.b)({components:{BProgress:o.a,BProgressBar:n.a}})},function(t,e,r){"use strict";r.d(e,"a",function(){return s});var o=r(0),n=r(4),i=r(5),a=r(83),s=o.a.extend({name:"BProgress",mixins:[i.a],provide:function(){return{bvProgress:this}},props:{variant:{type:String,default:function(){return Object(n.c)("BProgress","variant")}},striped:{type:Boolean,default:!1},animated:{type:Boolean,default:!1},height:{type:String,default:null},precision:{type:Number,default:0},showProgress:{type:Boolean,default:!1},showValue:{type:Boolean,default:!1},max:{type:Number,default:100},value:{type:Number,default:0}},computed:{progressHeight:function(){return{height:this.height||null}}},render:function(t){var e=this.normalizeSlot("default");return e||(e=t(a.a,{props:{value:this.value,max:this.max,precision:this.precision,variant:this.variant,animated:this.animated,striped:this.striped,showProgress:this.showProgress,showValue:this.showValue}})),t("div",{class:["progress"],style:this.progressHeight},[e])}})},function(t,e,r){"use strict";r.d(e,"a",function(){return i});var o=r(197),n=r(3),i=Object(n.b)({components:{BSpinner:o.a}})},function(t,e,r){"use strict";function o(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"a",function(){return l});var n=r(0),i=r(2),a=r(4),s=r(18),l=n.a.extend({name:"BSpinner",functional:!0,props:{type:{type:String,default:"border"},label:{type:String,default:null},variant:{type:String,default:function(){return Object(a.c)("BSpinner","variant")}},small:{type:Boolean,default:!1},role:{type:String,default:"status"},tag:{type:String,default:"span"}},render:function(t,e){var r,n=e.props,a=e.data,l=e.slots,c=e.scopedSlots,d=l(),u=c||{},p=Object(s.b)("label",{},u,d)||n.label;return p&&(p=t("span",{staticClass:"sr-only"},p)),t(n.tag,Object(i.a)(a,{attrs:{role:p?n.role||"status":null,"aria-hidden":p?null:"true"},class:(r={},o(r,"spinner-".concat(n.type),Boolean(n.type)),o(r,"spinner-".concat(n.type,"-sm"),n.small),o(r,"text-".concat(n.variant),Boolean(n.variant)),r)}),[p||t()])}})},function(t,e,r){"use strict";r.d(e,"a",function(){return m});var o=r(199),n=r(211),i=r(212),a=r(88),s=r(87),l=r(48),c=r(21),d=r(28),u=r(49),p=r(3),f=Object(p.b)({components:{BTableLite:n.a}}),b=Object(p.b)({components:{BTableSimple:i.a,BTbody:a.a,BThead:s.a,BTfoot:l.a,BTr:c.a,BTd:d.a,BTh:u.a}}),m=Object(p.b)({components:{BTable:o.a},plugins:{TableLitePlugin:f,TableSimplePlugin:b}})},function(t,e,r){"use strict";r.d(e,"a",function(){return k});var o=r(0),n=r(9),i=r(5),a=r(200),s=r(86),l=r(261),c=r(263),d=r(265),u=r(204),p=r(205),f=r(206),b=r(209),m=r(210),h=r(267),g=r(268),v=r(269),y=r(270),w=r(271),x=r(272),O=r(89),k=o.a.extend({name:"BTable",mixins:[n.a,i.a,a.a,O.a,s.a,f.a,b.a,m.a,s.a,l.a,c.a,d.a,u.a,p.a,w.a,h.a,g.a,v.a,y.a,x.a]})},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){i(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var a=r(12),s=r(1),l=r(260);e.a={props:{items:{type:Array,default:function(){return[]}},fields:{type:Array,default:null},primaryKey:{type:String,default:null},value:{type:Array,default:function(){return[]}}},data:function(){return{localItems:Object(s.a)(this.items)?this.items.slice():[]}},computed:{computedFields:function(){return Object(l.a)(this.fields,this.localItems)},computedFieldsObj:function(){var t=this.$parent;return this.computedFields.reduce(function(e,r){if(e[r.key]=n({},r),r.formatter){var o=r.formatter;Object(s.m)(o)&&Object(s.f)(t[o])?o=t[o]:Object(s.f)(o)||(o=void 0),e[r.key].formatter=o}return e},{})},computedItems:function(){return(this.paginatedItems||this.sortedItems||this.filteredItems||this.localItems||[]).slice()},context:function(){return{filter:this.localFilter,sortBy:this.localSortBy,sortDesc:this.localSortDesc,perPage:parseInt(this.perPage,10)||0,currentPage:parseInt(this.currentPage,10)||1,apiUrl:this.apiUrl}}},watch:{items:function(t){Object(s.a)(t)?this.localItems=t.slice():(Object(s.n)(t)||Object(s.g)(t))&&(this.localItems=[])},computedItems:function(t){this.$emit("input",t)},context:function(t,e){Object(a.a)(t,e)||this.$emit("context-changed",t)}},mounted:function(){this.$emit("input",this.computedItems)},methods:{getFieldFormatter:function(t){var e=this.computedFieldsObj[t];return e?e.formatter:void 0}}}},function(t,e,r){"use strict";var o=r(8),n=r(7),i=r(1),a=r(85),s=function(t,e,r){var s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return Object(o.j)(t).reduce(function(o,l){if(!a.b[l]&&!(e&&e.length>0&&Object(n.a)(e,l))&&(!(r&&r.length>0)||Object(n.a)(r,l))){var c=s[l]||{},d=t[l],u=c.filterByFormatted,p=Object(i.f)(u)?u:u?c.formatter:null;o[l]=Object(i.f)(p)?p(d,l,t):d}return o},{})};e.a=s},function(t,e,r){"use strict";var o=r(8),n=r(1),i=function t(e){return Object(n.o)(e)?"":Object(n.i)(e)&&!Object(n.c)(e)?Object(o.j)(e).sort().filter(function(t){return!Object(n.o)(t)}).map(function(r){return t(e[r])}).join(" "):String(e)};e.a=i},function(t,e,r){"use strict";var o=function(t,e){return t.map(function(t,e){return[e,t]}).sort(function(t,e){return this(t[1],e[1])||t[0]-e[0]}.bind(e)).map(function(t){return t[1]})};e.a=o},function(t,e,r){"use strict";var o=r(11);e.a={props:{caption:{type:String,default:null},captionHtml:{type:String}},computed:{captionId:function(){return this.isStacked?this.safeId("_caption_"):null}},methods:{renderCaption:function(){var t=this.$createElement,e=this.normalizeSlot("table-caption"),r=t();if(e||this.caption||this.captionHtml){var n={key:"caption",attrs:{id:this.captionId}};e||(n.domProps=Object(o.a)(this.captionHtml,this.caption)),r=t("caption",n,[e])}return r}}}},function(t,e,r){"use strict";e.a={methods:{renderColgroup:function(){var t=this.$createElement,e=this.computedFields,r=t();return this.hasNormalizedSlot("table-colgroup")&&(r=t("colgroup",{key:"colgroup"},[this.normalizeSlot("table-colgroup",{columns:e.length,fields:e})])),r}}}},function(t,e,r){"use strict";function o(t){return a(t)||i(t)||n()}function n(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function i(t){if(Symbol.iterator in Object(t)||"[object Arguments]"===Object.prototype.toString.call(t))return Array.from(t)}function a(t){if(Array.isArray(t)){for(var e=0,r=new Array(t.length);e<t.length;e++)r[e]=t[e];return r}}function s(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function l(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?s(r,!0).forEach(function(e){c(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):s(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function c(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var d=r(19),u=r(84),p=r(4),f=r(11),b=r(207),m=r(208),h=r(87),g=r(48),v=r(21),y=r(49);e.a={props:{headVariant:{type:String,default:function(){return Object(p.c)("BTable","headVariant")}},theadClass:{type:[String,Array,Object]},theadTrClass:{type:[String,Array,Object]}},methods:{fieldClasses:function(t){return[t.class?t.class:"",t.thClass?t.thClass:""]},headClicked:function(t,e,r){this.stopIfBusy&&this.stopIfBusy(t)||Object(b.a)(t)||Object(m.a)(this.$el)||(t.stopPropagation(),t.preventDefault(),this.$emit("head-clicked",e.key,e,t,r))},renderThead:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],r=this.$createElement,n=this.computedFields||[];if(this.isStackedAlways||0===n.length)return r();var i=this.isSelectable?this.selectAllRows:function(){},a=this.isSelectable?this.clearSelected:function(){},s=function(n,s){var c=null;n.label.trim()||n.headerTitle||(c=Object(u.a)(n.key));var p=t.$listeners["head-clicked"]||t.isSortable,b={};p&&(b.click=function(r){t.headClicked(r,n,e)},b.keydown=function(r){var o=r.keyCode;o!==d.a.ENTER&&o!==d.a.SPACE||t.headClicked(r,n,e)});var m=t.isSortable?t.sortTheadThAttrs(n.key,n,e):{},h=t.isSortable?t.sortTheadThClasses(n.key,n,e):null,g={key:n.key,class:[t.fieldClasses(n),h],props:{variant:n.variant,stickyColumn:n.stickyColumn},style:n.thStyle||{},attrs:l({tabindex:p?"0":null,abbr:n.headerAbbr||null,title:n.headerTitle||null,"aria-colindex":String(s+1),"aria-label":c},t.getThValues(null,n.key,n.thAttr,e?"foot":"head",{}),{},m),on:b},v=["head(".concat(n.key,")"),"head(".concat(n.key.toLowerCase(),")"),"head()"];e&&(v=["foot(".concat(n.key,")"),"foot(".concat(n.key.toLowerCase(),")"),"foot()"].concat(o(v)));var w=t.hasNormalizedSlot(v),x=n.label;return w?x=t.normalizeSlot(v,{label:n.label,column:n.key,field:n,isFoot:e,selectAllRows:i,clearSelected:a}):g.domProps=Object(f.a)(n.labelHtml),r(y.a,g,x)},c=n.map(s).filter(function(t){return t}),p=[];if(e)p.push(r(v.a,{class:this.tfootTrClass},c));else{var b={columns:n.length,fields:n,selectAllRows:i,clearSelected:a};p.push(this.normalizeSlot("thead-top",b)||r()),p.push(r(v.a,{class:this.theadTrClass},c))}return r(e?g.a:h.a,{key:e?"bv-tfoot":"bv-thead",class:(e?this.tfootClass:this.theadClass)||null,props:e?{footVariant:this.footVariant||this.headVariant||null}:{headVariant:this.headVariant||null}},p)}}}},function(t,e,r){"use strict";var o=r(6),n=r(85),i=["TD","TH","TR"],a=function(t){if(!t||!t.target)return!1;var e=t.target;if(e.disabled||-1!==i.indexOf(e.tagName))return!1;if(Object(o.c)(".dropdown-menu",e))return!0;var r="LABEL"===e.tagName?e:Object(o.c)("label",e);if(r){var a=Object(o.g)(r,"for"),s=a?Object(o.i)(a):Object(o.x)("input, select, textarea",r);if(s&&!s.disabled)return!0}return Object(o.q)(e,n.a)};e.a=a},function(t,e,r){"use strict";var o=r(6),n=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:document,e=Object(o.k)();return!!(e&&""!==e.toString().trim()&&e.containsNode&&Object(o.o)(t))&&e.containsNode(t,!0)};e.a=n},function(t,e,r){"use strict";var o=r(4),n=r(48);e.a={props:{footClone:{type:Boolean,default:!1},footVariant:{type:String,default:function(){return Object(o.c)("BTable","footVariant")}},tfootClass:{type:[String,Array,Object],default:null},tfootTrClass:{type:[String,Array,Object],default:null}},methods:{renderTFootCustom:function(){var t=this.$createElement;return this.hasNormalizedSlot("custom-foot")?t(n.a,{key:"bv-tfoot-custom",class:this.tfootClass||null,props:{footVariant:this.footVariant||this.headVariant||null}},this.normalizeSlot("custom-foot",{items:this.computedItems.slice(),fields:this.computedFields.slice(),columns:this.computedFields.length})):t()},renderTfoot:function(){return this.footClone?this.renderThead(!0):this.renderTFootCustom()}}}},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var i=r(19),a=r(7),s=r(6),l=r(88),c=r(207),d=r(208),u=r(266),p=function(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){n(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}({},l.b,{tbodyClass:{type:[String,Array,Object]}});e.a={mixins:[u.a],props:p,methods:{getTbodyTrs:function(){return(this.$refs.itemRows||[]).map(function(t){return t.$el||t})},getTbodyTrIndex:function(t){if(!Object(s.o)(t))return-1;var e="TR"===t.tagName?t:Object(s.c)("tr",t,!0);return e?this.getTbodyTrs().indexOf(e):-1},emitTbodyRowEvent:function(t,e){if(t&&e&&e.target){var r=this.getTbodyTrIndex(e.target);if(r>-1){var o=this.computedItems[r];this.$emit(t,o,r,e)}}},tbodyRowEvtStopped:function(t){return this.stopIfBusy&&this.stopIfBusy(t)},onTbodyRowKeydown:function(t){var e=t.target;if(!this.tbodyRowEvtStopped(t)&&"TR"===e.tagName&&e===document.activeElement&&0===e.tabIndex){var r=t.keyCode;if(Object(a.a)([i.a.ENTER,i.a.SPACE],r))t.stopPropagation(),t.preventDefault(),this.onTBodyRowClicked(t);else if(Object(a.a)([i.a.UP,i.a.DOWN,i.a.HOME,i.a.END],r)){var o=this.getTbodyTrIndex(e);if(o>-1){t.stopPropagation(),t.preventDefault();var n=this.getTbodyTrs(),s=t.shiftKey;r===i.a.HOME||s&&r===i.a.UP?n[0].focus():r===i.a.END||s&&r===i.a.DOWN?n[n.length-1].focus():r===i.a.UP&&o>0?n[o-1].focus():r===i.a.DOWN&&o<n.length-1&&n[o+1].focus()}}}},onTBodyRowClicked:function(t){this.tbodyRowEvtStopped(t)||Object(c.a)(t)||Object(d.a)(this.$el)||this.emitTbodyRowEvent("row-clicked",t)},onTbodyRowMiddleMouseRowClicked:function(t){this.tbodyRowEvtStopped(t)||2!==t.which||this.emitTbodyRowEvent("row-middle-clicked",t)},onTbodyRowContextmenu:function(t){this.tbodyRowEvtStopped(t)||this.emitTbodyRowEvent("row-contextmenu",t)},onTbodyRowDblClicked:function(t){this.tbodyRowEvtStopped(t)||Object(c.a)(t)||this.emitTbodyRowEvent("row-dblclicked",t)},renderTbody:function(){var t=this,e=this.computedItems,r=this.$createElement,o=this.$listeners["row-clicked"]||this.isSelectable,n=[],i=this.renderBusy?this.renderBusy():null;if(i)n.push(i);else{var a={},s=this.hasNormalizedSlot("cell()")?"cell()":null;this.computedFields.forEach(function(e){var r=e.key,o="cell(".concat(r,")"),n="cell(".concat(r.toLowerCase(),")");a[r]=t.hasNormalizedSlot(o)?o:t.hasNormalizedSlot(n)?n:s}),this.$_bodyFieldSlotNameCache=a,n.push(this.renderTopRow?this.renderTopRow():r()),e.forEach(function(e,r){n.push(t.renderTbodyRow(e,r))}),n.push(this.renderEmpty?this.renderEmpty():r()),n.push(this.renderBottomRow?this.renderBottomRow():r())}var c={auxclick:this.onTbodyRowMiddleMouseRowClicked,contextmenu:this.onTbodyRowContextmenu,dblclick:this.onTbodyRowDblClicked};return o&&(c.click=this.onTBodyRowClicked,c.keydown=this.onTbodyRowKeydown),r(l.a,{ref:"tbody",class:this.tbodyClass||null,props:{tbodyTransitionProps:this.tbodyTransitionProps,tbodyTransitionHandlers:this.tbodyTransitionHandlers},on:c},n)}}}},function(t,e,r){"use strict";r.d(e,"a",function(){return b});var o=r(0),n=r(9),i=r(5),a=r(200),s=r(204),l=r(205),c=r(86),d=r(206),u=r(209),p=r(210),f=r(89),b=o.a.extend({name:"BTableLite",mixins:[n.a,i.a,a.a,f.a,c.a,d.a,u.a,p.a,s.a,l.a]})},function(t,e,r){"use strict";r.d(e,"a",function(){return l});var o=r(0),n=r(9),i=r(5),a=r(89),s=r(86),l=o.a.extend({name:"BTableSimple",mixins:[n.a,i.a,a.a,s.a],computed:{isTableSimple:function(){return!0}}})},function(t,e,r){"use strict";r.d(e,"a",function(){return a});var o=r(214),n=r(215),i=r(3),a=Object(i.b)({components:{BTabs:o.a,BTab:n.a}})},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"a",function(){return x});var i=r(0),a=r(19),s=r(12),l=r(39),c=r(203),d=r(7),u=r(6),p=r(1),f=r(8),b=r(9),m=r(5),h=r(14),g=r(47),v=Object(f.k)(g.b,["tabs","isNavBar","cardHeader"]),y=function(t){return!t.disabled},w=i.a.extend({name:"BTabButtonHelper",inject:{bvTabs:{default:function(){return{}}}},props:{tab:{default:null},tabs:{type:Array,default:function(){return[]}},id:{type:String,default:null},controls:{type:String,default:null},tabIndex:{type:Number,default:null},posInSet:{type:Number,default:null},setSize:{type:Number,default:null},noKeyNav:{type:Boolean,default:!1}},methods:{focus:function(){this.$refs&&this.$refs.link&&this.$refs.link.focus&&this.$refs.link.focus()},handleEvt:function(t){var e=function(){t.preventDefault(),t.stopPropagation()};if(!this.tab.disabled){var r=t.type,o=t.keyCode,n=t.shiftKey;"click"===r?(e(),this.$emit("click",t)):"keydown"!==r||this.noKeyNav||o!==a.a.SPACE?"keydown"!==r||this.noKeyNav||(o===a.a.UP||o===a.a.LEFT||o===a.a.HOME?(e(),n||o===a.a.HOME?this.$emit("first",t):this.$emit("prev",t)):o!==a.a.DOWN&&o!==a.a.RIGHT&&o!==a.a.END||(e(),n||o===a.a.END?this.$emit("last",t):this.$emit("next",t))):(e(),this.$emit("click",t))}}},render:function(t){var e=t(h.a,{ref:"link",staticClass:"nav-link",class:[{active:this.tab.localActive&&!this.tab.disabled,disabled:this.tab.disabled},this.tab.titleLinkClass,this.tab.localActive?this.bvTabs.activeNavItemClass:null],props:{disabled:this.tab.disabled},attrs:{role:"tab",id:this.id,tabindex:this.tabIndex,"aria-selected":this.tab.localActive&&!this.tab.disabled?"true":"false","aria-setsize":this.setSize,"aria-posinset":this.posInSet,"aria-controls":this.controls},on:{click:this.handleEvt,keydown:this.handleEvt}},[this.tab.normalizeSlot("title")||this.tab.title]);return t("li",{staticClass:"nav-item",class:[this.tab.titleItemClass],attrs:{role:"presentation"}},[e])}}),x=i.a.extend({name:"BTabs",mixins:[b.a,m.a],provide:function(){return{bvTabs:this}},model:{prop:"value",event:"input"},props:function(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){n(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}({},v,{tag:{type:String,default:"div"},card:{type:Boolean,default:!1},end:{type:Boolean,default:!1},noFade:{type:Boolean,default:!1},noNavStyle:{type:Boolean,default:!1},noKeyNav:{type:Boolean,default:!1},lazy:{type:Boolean,default:!1},contentClass:{type:[String,Array,Object],default:null},navClass:{type:[String,Array,Object],default:null},navWrapperClass:{type:[String,Array,Object],default:null},activeNavItemClass:{type:[String,Array,Object],default:null},activeTabClass:{type:[String,Array,Object],default:null},value:{type:Number,default:null}}),data:function(){var t=parseInt(this.value,10);return t=isNaN(t)?-1:t,{currentTab:t,tabs:[],registeredTabs:[],isMounted:!1}},computed:{fade:function(){return!this.noFade},localNavClass:function(){var t=[];return this.card&&this.vertical&&t.push("card-header","h-100","border-bottom-0","rounded-0"),[].concat(t,[this.navClass])}},watch:{currentTab:function(t,e){var r=-1;this.tabs.forEach(function(e,o){t!==o||e.disabled?e.localActive=!1:(e.localActive=!0,r=o)}),this.$emit("input",r)},value:function(t,e){if(t!==e){t=parseInt(t,10),t=isNaN(t)?-1:t,e=parseInt(e,10)||0;var r=this.tabs;r[t]&&!r[t].disabled?this.currentTab=t:t<e?this.previousTab():this.nextTab()}},registeredTabs:function(t,e){var r=this;this.$nextTick(function(){Object(u.w)(function(){r.updateTabs()})})},tabs:function(t,e){var r=this;Object(s.a)(t.map(function(t){return t._uid}),e.map(function(t){return t._uid}))||this.$nextTick(function(){r.$emit("changed",t.slice(),e.slice())})},isMounted:function(t,e){var r=this;t&&Object(u.w)(function(){r.updateTabs()}),this.setObserver(t)}},created:function(){var t=this,e=parseInt(this.value,10);this.currentTab=isNaN(e)?-1:e,this._bvObserver=null,this.$nextTick(function(){t.updateTabs()})},mounted:function(){var t=this;this.updateTabs(),this.$nextTick(function(){t.isMounted=!0})},deactivated:function(){this.isMounted=!1},activated:function(){var t=this,e=parseInt(this.value,10);this.currentTab=isNaN(e)?-1:e,this.$nextTick(function(){t.updateTabs(),t.isMounted=!0})},beforeDestroy:function(){this.isMounted=!1},destroyed:function(){this.tabs=[]},methods:{registerTab:function(t){var e=this;Object(d.a)(this.registeredTabs,t)||(this.registeredTabs.push(t),t.$once("hook:destroyed",function(){e.unregisterTab(t)}))},unregisterTab:function(t){this.registeredTabs=this.registeredTabs.slice().filter(function(e){return e!==t})},setObserver:function(t){if(t){this.setObserver(!1);var e=this,r=function(){e.$nextTick(function(){Object(u.w)(function(){e.updateTabs()})})};this._bvObserver=Object(l.a)(this.$refs.tabsContainer,r,{childList:!0,subtree:!1,attributes:!0,attributeFilter:["id"]})}else this._bvObserver&&this._bvObserver.disconnect&&this._bvObserver.disconnect(),this._bvObserver=null},getTabs:function(){var t=this.registeredTabs.filter(function(t){return 0===t.$children.filter(function(t){return t._isTab}).length}),e=[];if(this.isMounted&&t.length>0){var r=t.map(function(t){return"#".concat(t.safeId())}).join(", ");e=Object(u.y)(r,this.$el).map(function(t){return t.id}).filter(Boolean)}return Object(c.a)(t,function(t,r){return e.indexOf(t.safeId())-e.indexOf(r.safeId())})},updateTabs:function(){var t=this.getTabs(),e=t.indexOf(t.slice().reverse().find(function(t){return t.localActive&&!t.disabled}));if(e<0){var r=this.currentTab;r>=t.length?e=t.indexOf(t.slice().reverse().find(y)):t[r]&&!t[r].disabled&&(e=r)}e<0&&(e=t.indexOf(t.find(y))),t.forEach(function(t,e){t.localActive=!1}),t[e]&&(t[e].localActive=!0),this.tabs=t,this.currentTab=e},getButtonForTab:function(t){return(this.$refs.buttons||[]).find(function(e){return e.tab===t})},updateButton:function(t){var e=this.getButtonForTab(t);e&&e.$forceUpdate&&e.$forceUpdate()},activateTab:function(t){var e=!1;if(t){var r=this.tabs.indexOf(t);!t.disabled&&r>-1&&(e=!0,this.currentTab=r)}return e||this.$emit("input",this.currentTab),e},deactivateTab:function(t){return!!t&&this.activateTab(this.tabs.filter(function(e){return e!==t}).find(y))},focusButton:function(t){var e=this;this.$nextTick(function(){var r=e.getButtonForTab(t);r&&r.focus&&r.focus()})},emitTabClick:function(t,e){Object(p.d)(e)&&t&&t.$emit&&!t.disabled&&t.$emit("click",e)},clickTab:function(t,e){this.activateTab(t),this.emitTabClick(t,e)},firstTab:function(t){var e=this.tabs.find(y);this.activateTab(e)&&t&&(this.focusButton(e),this.emitTabClick(e,t))},previousTab:function(t){var e=Math.max(this.currentTab,0),r=this.tabs.slice(0,e).reverse().find(y);this.activateTab(r)&&t&&(this.focusButton(r),this.emitTabClick(r,t))},nextTab:function(t){var e=Math.max(this.currentTab,-1),r=this.tabs.slice(e+1).find(y);this.activateTab(r)&&t&&(this.focusButton(r),this.emitTabClick(r,t))},lastTab:function(t){var e=this.tabs.slice().reverse().find(y);this.activateTab(e)&&t&&(this.focusButton(e),this.emitTabClick(e,t))}},render:function(t){var e=this,r=this.tabs,o=r.find(function(t){return t.localActive&&!t.disabled}),n=r.find(function(t){return!t.disabled}),i=r.map(function(i,a){var s=null;return e.noKeyNav||(s=-1,(o===i||!o&&n===i)&&(s=null)),t(w,{key:i._uid||a,ref:"buttons",refInFor:!0,props:{tab:i,tabs:r,id:i.controlledBy||(i.safeId?i.safeId("_BV_tab_button_"):null),controls:i.safeId?i.safeId():null,tabIndex:s,setSize:r.length,posInSet:a+1,noKeyNav:e.noKeyNav},on:{click:function(t){e.clickTab(i,t)},first:e.firstTab,prev:e.previousTab,next:e.nextTab,last:e.lastTab}})}),a=t(g.a,{ref:"nav",class:this.localNavClass,attrs:{role:"tablist",id:this.safeId("_BV_tab_controls_")},props:{fill:this.fill,justified:this.justified,align:this.align,tabs:!this.noNavStyle&&!this.pills,pills:!this.noNavStyle&&this.pills,vertical:this.vertical,small:this.small,cardHeader:this.card&&!this.vertical}},[this.normalizeSlot("tabs-start")||t(),i,this.normalizeSlot("tabs-end")||t()]);a=t("div",{key:"bv-tabs-nav",class:[{"card-header":this.card&&!this.vertical&&!this.end,"card-footer":this.card&&!this.vertical&&this.end,"col-auto":this.vertical},this.navWrapperClass]},[a]);var s=t();r&&0!==r.length||(s=t("div",{key:"bv-empty-tab",class:["tab-pane","active",{"card-body":this.card}]},this.normalizeSlot("empty")));var l=t("div",{ref:"tabsContainer",key:"bv-tabs-container",staticClass:"tab-content",class:[{col:this.vertical},this.contentClass],attrs:{id:this.safeId("_BV_tab_container_")}},Object(d.b)(this.normalizeSlot("default"),s));return t(this.tag,{staticClass:"tabs",class:{row:this.vertical,"no-gutters":this.vertical&&this.card},attrs:{id:this.safeId()}},[this.end?l:t(),[a],this.end?t():l])}})},function(t,e,r){"use strict";r.d(e,"a",function(){return s});var o=r(0),n=r(9),i=r(5),a=r(30),s=o.a.extend({name:"BTab",mixins:[n.a,i.a],inject:{bvTabs:{default:function(){return{noKeyNav:!0}}}},props:{active:{type:Boolean,default:!1},tag:{type:String,default:"div"},buttonId:{type:String,default:""},title:{type:String,default:""},titleItemClass:{type:[String,Array,Object],default:null},titleLinkClass:{type:[String,Array,Object],default:null},disabled:{type:Boolean,default:!1},noBody:{type:Boolean,default:!1},lazy:{type:Boolean,default:!1}},data:function(){return{localActive:this.active&&!this.disabled,show:!1}},computed:{tabClasses:function(){return[{active:this.localActive,disabled:this.disabled,"card-body":this.bvTabs.card&&!this.noBody},this.localActive?this.bvTabs.activeTabClass:null]},controlledBy:function(){return this.buttonId||this.safeId("__BV_tab_button__")},computedNoFade:function(){return!this.bvTabs.fade},computedLazy:function(){return this.bvTabs.lazy||this.lazy},_isTab:function(){return!0}},watch:{localActive:function(t,e){this.$emit("update:active",t)},active:function(t,e){t!==e&&(t?this.activate():this.deactivate()||this.$emit("update:active",this.localActive))},disabled:function(t,e){t!==e&&t&&this.localActive&&this.bvTabs.firstTab&&(this.localActive=!1,this.bvTabs.firstTab())}},mounted:function(){this.registerTab(),this.show=this.localActive},updated:function(){this.hasNormalizedSlot("title")&&this.bvTabs.updateButton&&this.bvTabs.updateButton(this)},destroyed:function(){this.unregisterTab()},methods:{registerTab:function(){this.bvTabs.registerTab&&this.bvTabs.registerTab(this)},unregisterTab:function(){this.bvTabs.unregisterTab&&this.bvTabs.unregisterTab(this)},activate:function(){return!(!this.bvTabs.activateTab||this.disabled)&&this.bvTabs.activateTab(this)},deactivate:function(){return!(!this.bvTabs.deactivateTab||!this.localActive)&&this.bvTabs.deactivateTab(this)}},render:function(t){var e=t(this.tag,{ref:"panel",staticClass:"tab-pane",class:this.tabClasses,directives:[{name:"show",rawName:"v-show",value:this.localActive,expression:"localActive"}],attrs:{role:"tabpanel",id:this.safeId(),tabindex:this.localActive&&!this.bvTabs.noKeyNav?"-1":null,"aria-hidden":this.localActive?"false":"true","aria-labelledby":this.controlledBy||null}},[this.localActive||!this.computedLazy?this.normalizeSlot("default"):t()]);return t(a.b,{props:{mode:"out-in",noFade:this.computedNoFade}},[e])}})},function(t,e,r){"use strict";r.d(e,"a",function(){return s});var o=r(217),n=r(90),i=r(91),a=r(3),s=Object(a.b)({components:{BToast:n.a,BToaster:i.a},plugins:{BVToastPlugin:o.a}})},function(t,e,r){"use strict";function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function n(t,e){for(var r=0;r<e.length;r++){var o=e[r];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}function i(t,e,r){return e&&n(t.prototype,e),r&&n(t,r),t}function a(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function s(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?a(r,!0).forEach(function(e){l(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):a(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function l(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function c(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function d(t){if(Symbol.iterator in Object(t)||"[object Arguments]"===Object.prototype.toString.call(t))return Array.from(t)}function u(t){if(Array.isArray(t)){for(var e=0,r=new Array(t.length);e<t.length;e++)r[e]=t[e];return r}}r.d(e,"a",function(){return j});var p=r(7),f=r(4),b=r(6),m=r(1),h=r(8),g=r(3),v=r(13),y=r(90),w=["id"].concat(function(t){return u(t)||d(t)||c()}(Object(h.j)(Object(h.k)(y.b,["static","visible"])))),x={toastContent:"default",title:"toast-title"},O=function(t){return w.reduce(function(e,r){return Object(m.n)(t[r])||(e[r]=t[r]),e},{})},k=function(t){var e=t.extend({name:"BToastPop",extends:y.a,destroyed:function(){this.$el&&this.$el.parentNode&&this.$el.parentNode.removeChild(this.$el)},mounted:function(){var t=this,e=function(){t.localShow=!1,t.doRender=!1,t.$nextTick(function(){t.$nextTick(function(){Object(b.w)(function(){t.$destroy()})})})};this.$parent.$once("hook:destroyed",e),this.$once("hidden",e),this.listenOnRoot("bv::toaster::destroyed",function(r){r===t.toaster&&e()})}}),r=function(t,r){if(!Object(v.e)("$bvToast")){var o=new e({parent:r,propsData:s({},O(Object(f.c)("BToast")||{}),{},Object(h.k)(t,Object(h.j)(x)),{static:!1,visible:!0})});Object(h.j)(x).forEach(function(e){var n=t[e];Object(m.n)(n)||("title"===e&&Object(m.m)(n)&&(n=[r.$createElement("strong",{class:"mr-2"},n)]),o.$slots[x[e]]=Object(p.b)(n))});var n=document.createElement("div");document.body.appendChild(n),o.$mount(n)}},n=function(){function t(e){o(this,t),Object(h.a)(this,{_vm:e,_root:e.$root}),Object(h.d)(this,{_vm:Object(h.l)(),_root:Object(h.l)()})}return i(t,[{key:"toast",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};t&&!Object(v.e)("$bvToast")&&r(s({},O(e),{toastContent:t}),this._vm)}},{key:"show",value:function(t){t&&this._root.$emit("bv::show::toast",t)}},{key:"hide",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;this._root.$emit("bv::hide::toast",t)}}]),t}();t.mixin({beforeCreate:function(){this._bv__toast=new n(this)}}),t.prototype.hasOwnProperty("$bvToast")||Object(h.e)(t.prototype,"$bvToast",{get:function(){return this&&this._bv__toast||Object(v.b)("'".concat("$bvToast","' must be accessed from a Vue instance 'this' context")),this._bv__toast}})},j=Object(g.b)({plugins:{plugin:k}})},function(t,e,r){"use strict";function o(t){return(o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function n(t){return i(t)||a(t)||s()}function i(t){if(Array.isArray(t)){for(var e=0,r=new Array(t.length);e<t.length;e++)r[e]=t[e];return r}}function a(t){if(Symbol.iterator in Object(t)||"[object Arguments]"===Object.prototype.toString.call(t))return Array.from(t)}function s(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function l(t){return Array.isArray(t)||"object"===o(t)?Object.freeze(t):t}function c(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return t.reduce(function(t,r){var o=r.passengers[0],n="function"==typeof o?o(e):r.passengers;return t.concat(n)},[])}function d(t,e){return t.map(function(t,e){return[e,t]}).sort(function(t,r){return e(t[1],r[1])||t[0]-r[0]}).map(function(t){return t[1]})}function u(t,e){return e.reduce(function(e,r){return t.hasOwnProperty(r)&&(e[r]=t[r]),e},{})}function p(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};t.component(e.portalName||"Portal",x),t.component(e.portalTargetName||"PortalTarget",O),t.component(e.MountingPortalName||"MountingPortal",_)}/*! 
-  * portal-vue © Thorsten Lünborg, 2019 
-  * 
-  * Version: 2.1.6
-  * 
-  * LICENCE: MIT 
-  * 
-  * https://github.com/linusborg/portal-vue
-  * 
- */
-Object.defineProperty(e,"__esModule",{value:!0});var f=function(t){return t&&"object"==typeof t&&"default"in t?t.default:t}(r(50)),b="undefined"!=typeof window,m={},h={},g={},v=f.extend({data:function(){return{transports:m,targets:h,sources:g,trackInstances:b}},methods:{open:function(t){if(b){var e=t.to,r=t.from,o=t.passengers,n=t.order,i=void 0===n?1/0:n;if(e&&r&&o){var a={to:e,from:r,passengers:l(o),order:i};-1===Object.keys(this.transports).indexOf(e)&&f.set(this.transports,e,[]);var s=this.$_getTransportIndex(a),c=this.transports[e].slice(0);-1===s?c.push(a):c[s]=a,this.transports[e]=d(c,function(t,e){return t.order-e.order})}}},close:function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=t.to,o=t.from;if(r&&(o||!1!==e)&&this.transports[r])if(e)this.transports[r]=[];else{var n=this.$_getTransportIndex(t);if(n>=0){var i=this.transports[r].slice(0);i.splice(n,1),this.transports[r]=i}}},registerTarget:function(t,e,r){b&&(this.trackInstances&&!r&&this.targets[t]&&console.warn("[portal-vue]: Target ".concat(t," already exists")),this.$set(this.targets,t,Object.freeze([e])))},unregisterTarget:function(t){this.$delete(this.targets,t)},registerSource:function(t,e,r){b&&(this.trackInstances&&!r&&this.sources[t]&&console.warn("[portal-vue]: source ".concat(t," already exists")),this.$set(this.sources,t,Object.freeze([e])))},unregisterSource:function(t){this.$delete(this.sources,t)},hasTarget:function(t){return!(!this.targets[t]||!this.targets[t][0])},hasSource:function(t){return!(!this.sources[t]||!this.sources[t][0])},hasContentFor:function(t){return!!this.transports[t]&&!!this.transports[t].length},$_getTransportIndex:function(t){var e=t.to,r=t.from;for(var o in this.transports[e])if(this.transports[e][o].from===r)return+o;return-1}}}),y=new v(m),w=1,x=f.extend({name:"portal",props:{disabled:{type:Boolean},name:{type:String,default:function(){return String(w++)}},order:{type:Number,default:0},slim:{type:Boolean},slotProps:{type:Object,default:function(){return{}}},tag:{type:String,default:"DIV"},to:{type:String,default:function(){return String(Math.round(1e7*Math.random()))}}},created:function(){var t=this;this.$nextTick(function(){y.registerSource(t.name,t)})},mounted:function(){this.disabled||this.sendUpdate()},updated:function(){this.disabled?this.clear():this.sendUpdate()},beforeDestroy:function(){y.unregisterSource(this.name),this.clear()},watch:{to:function(t,e){e&&e!==t&&this.clear(e),this.sendUpdate()}},methods:{clear:function(t){var e={from:this.name,to:t||this.to};y.close(e)},normalizeSlots:function(){return this.$scopedSlots.default?[this.$scopedSlots.default]:this.$slots.default},normalizeOwnChildren:function(t){return"function"==typeof t?t(this.slotProps):t},sendUpdate:function(){var t=this.normalizeSlots();if(t){var e={from:this.name,to:this.to,passengers:n(t),order:this.order};y.open(e)}else this.clear()}},render:function(t){var e=this.$slots.default||this.$scopedSlots.default||[],r=this.tag;return e&&this.disabled?e.length<=1&&this.slim?this.normalizeOwnChildren(e)[0]:t(r,[this.normalizeOwnChildren(e)]):this.slim?t():t(r,{class:{"v-portal":!0},style:{display:"none"},key:"v-portal-placeholder"})}}),O=f.extend({name:"portalTarget",props:{multiple:{type:Boolean,default:!1},name:{type:String,required:!0},slim:{type:Boolean,default:!1},slotProps:{type:Object,default:function(){return{}}},tag:{type:String,default:"div"},transition:{type:[String,Object,Function]}},data:function(){return{transports:y.transports,firstRender:!0}},created:function(){var t=this;this.$nextTick(function(){y.registerTarget(t.name,t)})},watch:{ownTransports:function(){this.$emit("change",this.children().length>0)},name:function(t,e){y.unregisterTarget(e),y.registerTarget(t,this)}},mounted:function(){var t=this;this.transition&&this.$nextTick(function(){t.firstRender=!1})},beforeDestroy:function(){y.unregisterTarget(this.name)},computed:{ownTransports:function(){var t=this.transports[this.name]||[];return this.multiple?t:0===t.length?[]:[t[t.length-1]]},passengers:function(){return c(this.ownTransports,this.slotProps)}},methods:{children:function(){return 0!==this.passengers.length?this.passengers:this.$scopedSlots.default?this.$scopedSlots.default(this.slotProps):this.$slots.default||[]},noWrapper:function(){var t=this.slim&&!this.transition;return t&&this.children().length>1&&console.warn("[portal-vue]: PortalTarget with `slim` option received more than one child element."),t}},render:function(t){var e=this.noWrapper(),r=this.children(),o=this.transition||this.tag;return e?r[0]:this.slim&&!o?t():t(o,{props:{tag:this.transition&&this.tag?this.tag:void 0},class:{"vue-portal-target":!0}},r)}}),k=0,j=["disabled","name","order","slim","slotProps","tag","to"],S=["multiple","transition"],_=f.extend({name:"MountingPortal",inheritAttrs:!1,props:{append:{type:[Boolean,String]},bail:{type:Boolean},mountTo:{type:String,required:!0},disabled:{type:Boolean},name:{type:String,default:function(){return"mounted_"+String(k++)}},order:{type:Number,default:0},slim:{type:Boolean},slotProps:{type:Object,default:function(){return{}}},tag:{type:String,default:"DIV"},to:{type:String,default:function(){return String(Math.round(1e7*Math.random()))}},multiple:{type:Boolean,default:!1},targetSlim:{type:Boolean},targetSlotProps:{type:Object,default:function(){return{}}},targetTag:{type:String,default:"div"},transition:{type:[String,Object,Function]}},created:function(){if("undefined"!=typeof document){var t=document.querySelector(this.mountTo);if(!t)return void console.error("[portal-vue]: Mount Point '".concat(this.mountTo,"' not found in document"));var e=this.$props;if(y.targets[e.name])return void(e.bail?console.warn("[portal-vue]: Target ".concat(e.name," is already mounted.\n        Aborting because 'bail: true' is set")):this.portalTarget=y.targets[e.name]);var r=e.append;if(r){var o="string"==typeof r?r:"DIV",n=document.createElement(o);t.appendChild(n),t=n}var i=u(this.$props,S);i.slim=this.targetSlim,i.tag=this.targetTag,i.slotProps=this.targetSlotProps,i.name=this.to,this.portalTarget=new O({el:t,parent:this.$parent||this,propsData:i})}},beforeDestroy:function(){var t=this.portalTarget;if(this.append){var e=t.$el;e.parentNode.removeChild(e)}t.$destroy()},render:function(t){if(!this.portalTarget)return console.warn("[portal-vue] Target wasn't mounted"),t();if(!this.$scopedSlots.manual){var e=u(this.$props,j);return t(x,{props:e,attrs:this.$attrs,on:this.$listeners,scopedSlots:this.$scopedSlots},this.$slots.default)}var r=this.$scopedSlots.manual({to:this.to});return Array.isArray(r)&&(r=r[0]),r||t()}}),T={install:p};e.default=T,e.Portal=x,e.PortalTarget=O,e.MountingPortal=_,e.Wormhole=y},function(t,e,r){"use strict";r.d(e,"a",function(){return a});var o=r(80),n=r(92),i=r(3),a=Object(i.b)({components:{BTooltip:o.a},plugins:{VBTooltipPlugin:n.a}})},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){i(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"a",function(){return P});var a=r(32),s=r(12),l=r(7),c=r(4),d=r(10),u=r(1),p=r(8),f=r(81),b="__BV_Tooltip__",m={focus:!0,hover:!0,click:!0,blur:!0,manual:!0},h=/^html$/i,g=/^nofade$/i,v=/^(auto|top(left|right)?|bottom(left|right)?|left(top|bottom)?|right(top|bottom)?)$/i,y=/^(window|viewport|scrollParent)$/i,w=/^d\d+$/i,x=/^ds\d+$/i,O=/^dh\d+$/i,k=/^o-?\d+$/i,j=/^v-.+$/i,S=function(t,e){var r="BTooltip",o={title:void 0,trigger:"",placement:"top",fallbackPlacement:"flip",container:!1,animation:!0,offset:0,id:null,html:!1,disabled:!1,delay:Object(c.c)(r,"delay"),boundary:String(Object(c.c)(r,"boundary")),boundaryPadding:parseInt(Object(c.c)(r,"boundaryPadding"),10)||0,variant:Object(c.c)(r,"variant"),customClass:Object(c.c)(r,"customClass")};if(Object(u.m)(t.value)||Object(u.h)(t.value)?o.title=t.value:Object(u.f)(t.value)?o.title=t.value:Object(u.j)(t.value)&&(o=n({},o,{},t.value)),Object(u.n)(o.title)){var i=e.data||{};o.title=i.attrs&&!Object(u.o)(i.attrs.title)?i.attrs.title:void 0}Object(u.j)(o.delay)||(o.delay={show:parseInt(o.delay,10)||0,hide:parseInt(o.delay,10)||0}),t.arg&&(o.container="#".concat(t.arg)),Object(p.j)(t.modifiers).forEach(function(t){if(h.test(t))o.html=!0;else if(g.test(t))o.animation=!1;else if(v.test(t))o.placement=t;else if(y.test(t))t="scrollparent"===t?"scrollParent":t,o.boundary=t;else if(w.test(t)){var e=parseInt(t.slice(1),10)||0;o.delay.show=e,o.delay.hide=e}else x.test(t)?o.delay.show=parseInt(t.slice(2),10)||0:O.test(t)?o.delay.hide=parseInt(t.slice(2),10)||0:k.test(t)?o.offset=parseInt(t.slice(1),10)||0:j.test(t)&&(o.variant=t.slice(2)||null)});var a={};return Object(l.b)(o.trigger||"").filter(Boolean).join(" ").trim().toLowerCase().split(/\s+/).forEach(function(t){m[t]&&(a[t]=!0)}),Object(p.j)(t.modifiers).forEach(function(t){t=t.toLowerCase(),m[t]&&(a[t]=!0)}),o.trigger=Object(p.j)(a).join(" "),"blur"===o.trigger&&(o.trigger="focus"),o.trigger||(o.trigger="hover focus"),o},_=function(t,e,r){if(d.j){var o=S(e,r);if(!t[b]){var n=r.context;t[b]=new f.a({parent:n,_scopeId:Object(a.a)(n,void 0)}),t[b].__bv_prev_data__={},t[b].$on("show",function(){Object(u.f)(o.title)&&t[b].updateData({title:o.title()})})}var i={title:o.title,triggers:o.trigger,placement:o.placement,fallbackPlacement:o.fallbackPlacement,variant:o.variant,customClass:o.customClass,container:o.container,boundary:o.boundary,delay:o.delay,offset:o.offset,noFade:!o.animation,id:o.id,disabled:o.disabled,html:o.html},l=t[b].__bv_prev_data__;if(t[b].__bv_prev_data__=i,!Object(s.a)(i,l)){var c={target:t};Object(p.j)(i).forEach(function(t){i[t]!==l[t]&&(c[t]="title"===t&&Object(u.f)(i[t])?i[t]():i[t])}),t[b].updateData(c)}}},T=function(t){t[b]&&(t[b].$destroy(),t[b]=null),delete t[b]},P={bind:function(t,e,r){_(t,e,r)},componentUpdated:function(t,e,r){r.context.$nextTick(function(){_(t,e,r)})},unbind:function(t){T(t)}}},function(t,e,r){"use strict";r.d(e,"a",function(){return i});var o=r(78),n=r(3),i=Object(n.b)({directives:{VBModal:o.a}})},function(t,e,r){"use strict";r.d(e,"a",function(){return i});var o=r(223),n=r(3),i=Object(n.b)({directives:{VBScrollspy:o.a}})},function(t,e,r){"use strict";r.d(e,"a",function(){return u});var o=r(274),n=r(10),i=r(8),a=r(1),s="__BV_ScrollSpy__",l=function(t){var e={};return t.arg&&(e.element="#".concat(t.arg)),Object(i.j)(t.modifiers).forEach(function(t){/^\d+$/.test(t)?e.offset=parseInt(t,10):/^(auto|position|offset)$/.test(t)&&(e.method=t)}),Object(a.m)(t.value)?e.element=t.value:Object(a.h)(t.value)?e.offset=Math.round(t.value):Object(a.i)(t.value)&&Object(i.j)(t.value).filter(function(t){return Boolean(o.a.DefaultType[t])}).forEach(function(r){e[r]=t.value[r]}),e},c=function(t,e,r){if(n.j){var i=l(e);t[s]?t[s].updateConfig(i,r.context.$root):t[s]=new o.a(t,i,r.context.$root)}},d=function(t){t[s]&&(t[s].dispose(),t[s]=null,delete t[s])},u={bind:function(t,e,r){c(t,e,r)},inserted:function(t,e,r){c(t,e,r)},update:function(t,e,r){e.value!==e.oldValue&&c(t,e,r)},componentUpdated:function(t,e,r){e.value!==e.oldValue&&c(t,e,r)},unbind:function(t){d(t)}}},function(t,e,r){"use strict";r.d(e,"a",function(){return i});var o=r(63),n=r(3),i=Object(n.b)({directives:{VBToggle:o.a}})},function(t,e,r){"use strict";function o(t){if(Array.isArray(t)){for(var e=0,r=Array(t.length);e<t.length;e++)r[e]=t[e];return r}return Array.from(t)}Object.defineProperty(e,"__esModule",{value:!0});var n=r(50),i=r(228),a=r(246),s=r(276),l=(r.n(s),r(278)),c=(r.n(l),r(280)),d=(r.n(c),r(282));r.n(d);n.default.use(a.a),window.kwalitee_app=new n.default({el:"#ocrd-kwalitee",render:function(t){return t(i.a)},data:function(){return{projects:[],modalProjectIndex:0,modalProcessorIndex:0,modalProjectVisible:!1,modalProcessorVisible:!1}},methods:{fetchprojectData:function(){var t=this;fetch("repos.json").then(function(t){return t.json()}).then(function(e){var r;e.map(function(t,e){return t.idx=e}),t.projects.splice(0,t.projects.length),(r=t.projects).push.apply(r,o(e))})},showModal:function(t,e){"processor"===t?(console.log("Not implemented"),this.$bvModal.show("processor-modal")):(this.modalProjectIndex=e,this.$bvModal.show("project-modal"))}}})},function(t,e,r){(function(t){function o(t,e){this._id=t,this._clearFn=e}var n=void 0!==t&&t||"undefined"!=typeof self&&self||window,i=Function.prototype.apply;e.setTimeout=function(){return new o(i.call(setTimeout,n,arguments),clearTimeout)},e.setInterval=function(){return new o(i.call(setInterval,n,arguments),clearInterval)},e.clearTimeout=e.clearInterval=function(t){t&&t.close()},o.prototype.unref=o.prototype.ref=function(){},o.prototype.close=function(){this._clearFn.call(n,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))},r(227),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,r(25))},function(t,e,r){(function(t,e){!function(t,r){"use strict";function o(t){"function"!=typeof t&&(t=new Function(""+t));for(var e=new Array(arguments.length-1),r=0;r<e.length;r++)e[r]=arguments[r+1];var o={callback:t,args:e};return c[l]=o,s(l),l++}function n(t){delete c[t]}function i(t){var e=t.callback,o=t.args;switch(o.length){case 0:e();break;case 1:e(o[0]);break;case 2:e(o[0],o[1]);break;case 3:e(o[0],o[1],o[2]);break;default:e.apply(r,o)}}function a(t){if(d)setTimeout(a,0,t);else{var e=c[t];if(e){d=!0;try{i(e)}finally{n(t),d=!1}}}}if(!t.setImmediate){var s,l=1,c={},d=!1,u=t.document,p=Object.getPrototypeOf&&Object.getPrototypeOf(t);p=p&&p.setTimeout?p:t,"[object process]"==={}.toString.call(t.process)?function(){s=function(t){e.nextTick(function(){a(t)})}}():function(){if(t.postMessage&&!t.importScripts){var e=!0,r=t.onmessage;return t.onmessage=function(){e=!1},t.postMessage("","*"),t.onmessage=r,e}}()?function(){var e="setImmediate$"+Math.random()+"$",r=function(r){r.source===t&&"string"==typeof r.data&&0===r.data.indexOf(e)&&a(+r.data.slice(e.length))};t.addEventListener?t.addEventListener("message",r,!1):t.attachEvent("onmessage",r),s=function(r){t.postMessage(e+r,"*")}}():t.MessageChannel?function(){var t=new MessageChannel;t.port1.onmessage=function(t){a(t.data)},s=function(e){t.port2.postMessage(e)}}():u&&"onreadystatechange"in u.createElement("script")?function(){var t=u.documentElement;s=function(e){var r=u.createElement("script");r.onreadystatechange=function(){a(e),r.onreadystatechange=null,t.removeChild(r),r=null},t.appendChild(r)}}():function(){s=function(t){setTimeout(a,0,t)}}(),p.setImmediate=o,p.clearImmediate=n}}("undefined"==typeof self?void 0===t?this:t:self)}).call(e,r(25),r(93))},function(t,e,r){"use strict";function o(t){r(229)}var n=r(94),i=r(245),a=r(29),s=o,l=a(n.a,i.a,!1,s,null,null);e.a=l.exports},function(t,e,r){var o=r(230);"string"==typeof o&&(o=[[t.i,o,""]]),o.locals&&(t.exports=o.locals);r(23)("1662cb8c",o,!0,{})},function(t,e,r){e=t.exports=r(22)(!1),e.push([t.i,".non-compliant{background-color:#fcc}",""])},function(t,e){t.exports=function(t,e){for(var r=[],o={},n=0;n<e.length;n++){var i=e[n],a=i[0],s=i[1],l=i[2],c=i[3],d={id:t+":"+n,css:s,media:l,sourceMap:c};o[a]?o[a].parts.push(d):r.push(o[a]={id:a,parts:[d]})}return r}},function(t,e,r){"use strict";var o=r(95),n=r(234),i=r(29),a=i(o.a,n.a,!1,null,null,null);e.a=a.exports},function(t,e,r){"use strict";var o=function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("b-card",{class:"mb-5 ocrd-processor-list-item "+(t.processor.compliant_cli?"compliant":"non-compliant"),attrs:{tag:"article",title:t.processor.executable.replace("ocrd-","")}},[r("b-card-text",[r("b-tabs",[r("b-tab",{attrs:{title:"Description"}},[r("blockquote",[t._v("\n          "+t._s(t.processor.description)+"\n        ")]),t._v(" "),t._l(t.processor.steps,function(e){return r("b-badge",{key:e,attrs:{variant:"info"}},[t._v(t._s(e))])}),t._v(" "),t._l(t.processor.categories,function(e){return r("b-badge",{key:e,attrs:{variant:"success"}},[t._v(t._s(e))])}),t._v(" "),r("p",[t._v("\n          Part of "),r("a",{attrs:{href:""}},[t._v(t._s(t.processor.part_of))])]),t._v(" "),r("p",[r("a",{attrs:{href:""}},[t._v("Read the Documentation!")])])],2),t._v(" "),r("b-tab",{attrs:{title:"Parameters"}},[r("ul",t._l(t.processor.parameters,function(e,o){return r("li",{key:o},[r("strong",[t._v(t._s(o))]),t._v(" "+t._s(e)+"\n          ")])}),0)])],1)],1)],1)},n=[],i={render:o,staticRenderFns:n};e.a=i},function(t,e,r){"use strict";var o=function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("div",[r("b-row",[r("b-button",{directives:[{name:"b-toggle",rawName:"v-b-toggle.processor-controls",modifiers:{"processor-controls":!0}}],staticClass:"m-1"},[t._v("Toggle Controls")]),t._v(" "),r("b-collapse",{attrs:{id:"processor-controls"}},[r("b-container",[r("b-row",[r("b-form-checkbox",{attrs:{name:"check-button",switch:""},model:{value:t.show_noncompliant,callback:function(e){t.show_noncompliant=e},expression:"show_noncompliant"}},[t._v("\n          Non-compliant projects "),r("b",[t._v("("+t._s(t.show_noncompliant?"Show":"Hide")+")")])])],1),t._v(" "),r("b-row",[r("b-form-checkbox",{attrs:{name:"check-button",switch:""},model:{value:t.show_unofficial,callback:function(e){t.show_unofficial=e},expression:"show_unofficial"}},[t._v("\n          Unofficial processors "),r("b",[t._v("("+t._s(t.show_unofficial?"Show":"hide")+")")])])],1),t._v(" "),r("b-row",[t._v("\n          Filter by category:\n          "),t._l(t.categories,function(e){return r("b-badge",{key:e,attrs:{variant:-1!=t.category_filter.indexOf(e)?"primary":"secondary"},on:{click:function(r){-1!=t.category_filter.indexOf(e)?t.category_filter.splice(t.category_filter.indexOf(e),1):t.category_filter.push(e)}}},[t._v("\n            "+t._s(e)+"\n          ")])})],2),t._v(" "),r("b-row",[t._v("\n          Filter by step:\n          "),t._l(t.steps,function(e){return r("b-badge",{key:e,attrs:{variant:-1!=t.step_filter.indexOf(e)?"primary":"secondary"},on:{click:function(r){-1!=t.step_filter.indexOf(e)?t.step_filter.splice(t.step_filter.indexOf(e),1):t.step_filter.push(e)}}},[t._v("\n            "+t._s(e)+"\n          ")])})],2)],1)],1)],1),t._v(" "),r("b-row",t._l(t.filtered_processors,function(t){return r("ocrd-processor-list-item",{key:t.executable,attrs:{processor:t}})}),1)],1)},n=[],i={render:o,staticRenderFns:n};e.a=i},function(t,e,r){"use strict";function o(t){r(236)}var n=r(98),i=r(244),a=r(29),s=o,l=a(n.a,i.a,!1,s,null,null);e.a=l.exports},function(t,e,r){var o=r(237);"string"==typeof o&&(o=[[t.i,o,""]]),o.locals&&(t.exports=o.locals);r(23)("223a29ba",o,!0,{})},function(t,e,r){e=t.exports=r(22)(!1),e.push([t.i,".list .ocrd-project-list-item{max-width:30rem;max-height:30rem;overflow:auto}",""])},function(t,e,r){var o=r(239);"string"==typeof o&&(o=[[t.i,o,""]]),o.locals&&(t.exports=o.locals);r(23)("33955d34",o,!0,{})},function(t,e,r){e=t.exports=r(22)(!1),e.push([t.i,"",""])},function(t,e,r){(function(e){!function(e){"use strict";function r(t){this.tokens=[],this.tokens.links=Object.create(null),this.options=t||y.defaults,this.rules=w.normal,this.options.pedantic?this.rules=w.pedantic:this.options.gfm&&(this.rules=w.gfm)}function o(t,e){if(this.options=e||y.defaults,this.links=t,this.rules=x.normal,this.renderer=this.options.renderer||new n,this.renderer.options=this.options,!this.links)throw new Error("Tokens array requires a `links` property.");this.options.pedantic?this.rules=x.pedantic:this.options.gfm&&(this.options.breaks?this.rules=x.breaks:this.rules=x.gfm)}function n(t){this.options=t||y.defaults}function i(){}function a(t){this.tokens=[],this.token=null,this.options=t||y.defaults,this.options.renderer=this.options.renderer||new n,this.renderer=this.options.renderer,this.renderer.options=this.options,this.slugger=new s}function s(){this.seen={}}function l(t,e){if(e){if(l.escapeTest.test(t))return t.replace(l.escapeReplace,function(t){return l.replacements[t]})}else if(l.escapeTestNoEncode.test(t))return t.replace(l.escapeReplaceNoEncode,function(t){return l.replacements[t]});return t}function c(t){return t.replace(/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi,function(t,e){return e=e.toLowerCase(),"colon"===e?":":"#"===e.charAt(0)?"x"===e.charAt(1)?String.fromCharCode(parseInt(e.substring(2),16)):String.fromCharCode(+e.substring(1)):""})}function d(t,e){return t=t.source||t,e=e||"",{replace:function(e,r){return r=r.source||r,r=r.replace(/(^|[^\[])\^/g,"$1"),t=t.replace(e,r),this},getRegex:function(){return new RegExp(t,e)}}}function u(t,e,r){if(t){try{var o=decodeURIComponent(c(r)).replace(/[^\w:]/g,"").toLowerCase()}catch(t){return null}if(0===o.indexOf("javascript:")||0===o.indexOf("vbscript:")||0===o.indexOf("data:"))return null}e&&!k.test(r)&&(r=p(e,r));try{r=encodeURI(r).replace(/%25/g,"%")}catch(t){return null}return r}function p(t,e){return O[" "+t]||(/^[^:]+:\/*[^\/]*$/.test(t)?O[" "+t]=t+"/":O[" "+t]=h(t,"/",!0)),t=O[" "+t],"//"===e.slice(0,2)?t.replace(/:[\s\S]*/,":")+e:"/"===e.charAt(0)?t.replace(/(:\/*[^\/]*)[\s\S]*/,"$1")+e:t+e}function f(){}function b(t){for(var e,r,o=1;o<arguments.length;o++){e=arguments[o];for(r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])}return t}function m(t,e){var r=t.replace(/\|/g,function(t,e,r){for(var o=!1,n=e;--n>=0&&"\\"===r[n];)o=!o;return o?"|":" |"}),o=r.split(/ \|/),n=0;if(o.length>e)o.splice(e);else for(;o.length<e;)o.push("");for(;n<o.length;n++)o[n]=o[n].trim().replace(/\\\|/g,"|");return o}function h(t,e,r){if(0===t.length)return"";for(var o=0;o<t.length;){var n=t.charAt(t.length-o-1);if(n!==e||r){if(n===e||!r)break;o++}else o++}return t.substr(0,t.length-o)}function g(t,e){if(-1===t.indexOf(e[1]))return-1;for(var r=0,o=0;o<t.length;o++)if("\\"===t[o])o++;else if(t[o]===e[0])r++;else if(t[o]===e[1]&&--r<0)return o;return-1}function v(t){t&&t.sanitize&&!t.silent&&console.warn("marked(): sanitize and sanitizer parameters are deprecated since version 0.7.0, should not be used and will be removed in the future. Read more here: https://marked.js.org/#/USING_ADVANCED.md#options")}function y(t,e,o){if(void 0===t||null===t)throw new Error("marked(): input parameter is undefined or null");if("string"!=typeof t)throw new Error("marked(): input parameter is of type "+Object.prototype.toString.call(t)+", string expected");if(o||"function"==typeof e){o||(o=e,e=null),e=b({},y.defaults,e||{}),v(e);var n,i,s=e.highlight,c=0;try{n=r.lex(t,e)}catch(t){return o(t)}i=n.length;var d=function(t){if(t)return e.highlight=s,o(t);var r;try{r=a.parse(n,e)}catch(e){t=e}return e.highlight=s,t?o(t):o(null,r)};if(!s||s.length<3)return d();if(delete e.highlight,!i)return d();for(;c<n.length;c++)!function(t){"code"!==t.type?--i||d():s(t.text,t.lang,function(e,r){return e?d(e):null==r||r===t.text?--i||d():(t.text=r,t.escaped=!0,void(--i||d()))})}(n[c])}else try{return e&&(e=b({},y.defaults,e)),v(e),a.parse(r.lex(t,e),e)}catch(t){if(t.message+="\nPlease report this to https://github.com/markedjs/marked.",(e||y.defaults).silent)return"<p>An error occurred:</p><pre>"+l(t.message+"",!0)+"</pre>";throw t}}var w={newline:/^\n+/,code:/^( {4}[^\n]+\n*)+/,fences:/^ {0,3}(`{3,}|~{3,})([^`~\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?:\n+|$)|$)/,hr:/^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\* *){3,})(?:\n+|$)/,heading:/^ {0,3}(#{1,6}) +([^\n]*?)(?: +#+)? *(?:\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3})(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?!\1bull )\n*|\s*$)/,html:"^ {0,3}(?:<(script|pre|style)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?\\?>\\n*|<![A-Z][\\s\\S]*?>\\n*|<!\\[CDATA\\[[\\s\\S]*?\\]\\]>\\n*|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:\\n{2,}|$)|<(?!script|pre|style)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:\\n{2,}|$)|</(?!script|pre|style)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:\\n{2,}|$))",def:/^ {0,3}\[(label)\]: *\n? *<?([^\s>]+)>?(?:(?: +\n? *| *\n *)(title))? *(?:\n+|$)/,nptable:f,table:f,lheading:/^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html)[^\n]+)*)/,text:/^[^\n]+/};w._label=/(?!\s*\])(?:\\[\[\]]|[^\[\]])+/,w._title=/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/,w.def=d(w.def).replace("label",w._label).replace("title",w._title).getRegex(),w.bullet=/(?:[*+-]|\d{1,9}\.)/,w.item=/^( *)(bull) ?[^\n]*(?:\n(?!\1bull ?)[^\n]*)*/,w.item=d(w.item,"gm").replace(/bull/g,w.bullet).getRegex(),w.list=d(w.list).replace(/bull/g,w.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+w.def.source+")").getRegex(),w._tag="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[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",w._comment=/<!--(?!-?>)[\s\S]*?-->/,w.html=d(w.html,"i").replace("comment",w._comment).replace("tag",w._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),w.paragraph=d(w._paragraph).replace("hr",w.hr).replace("heading"," {0,3}#{1,6} +").replace("|lheading","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}|~{3,})[^`\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|!--)").replace("tag",w._tag).getRegex(),w.blockquote=d(w.blockquote).replace("paragraph",w.paragraph).getRegex(),w.normal=b({},w),w.gfm=b({},w.normal,{nptable:/^ *([^|\n ].*\|.*)\n *([-:]+ *\|[-| :]*)(?:\n((?:.*[^>\n ].*(?:\n|$))*)\n*|$)/,table:/^ *\|(.+)\n *\|?( *[-:]+[-| :]*)(?:\n((?: *[^>\n ].*(?:\n|$))*)\n*|$)/}),w.pedantic=b({},w.normal,{html:d("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:\"[^\"]*\"|'[^']*'|\\s[^'\"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",w._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^ *(#{1,6}) *([^\n]+?) *(?:#+ *)?(?:\n+|$)/,fences:f,paragraph:d(w.normal._paragraph).replace("hr",w.hr).replace("heading"," *#{1,6} *[^\n]").replace("lheading",w.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()}),r.rules=w,r.lex=function(t,e){return new r(e).lex(t)},r.prototype.lex=function(t){return t=t.replace(/\r\n|\r/g,"\n").replace(/\t/g,"    ").replace(/\u00a0/g," ").replace(/\u2424/g,"\n"),this.token(t,!0)},r.prototype.token=function(t,e){t=t.replace(/^ +$/gm,"");for(var r,o,n,i,a,s,c,d,u,p,f,b,g,v,y,x;t;)if((n=this.rules.newline.exec(t))&&(t=t.substring(n[0].length),n[0].length>1&&this.tokens.push({type:"space"})),n=this.rules.code.exec(t)){var O=this.tokens[this.tokens.length-1];t=t.substring(n[0].length),O&&"paragraph"===O.type?O.text+="\n"+n[0].trimRight():(n=n[0].replace(/^ {4}/gm,""),this.tokens.push({type:"code",codeBlockStyle:"indented",text:this.options.pedantic?n:h(n,"\n")}))}else if(n=this.rules.fences.exec(t))t=t.substring(n[0].length),this.tokens.push({type:"code",lang:n[2]?n[2].trim():n[2],text:n[3]||""});else if(n=this.rules.heading.exec(t))t=t.substring(n[0].length),this.tokens.push({type:"heading",depth:n[1].length,text:n[2]});else if((n=this.rules.nptable.exec(t))&&(s={type:"table",header:m(n[1].replace(/^ *| *\| *$/g,"")),align:n[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:n[3]?n[3].replace(/\n$/,"").split("\n"):[]},s.header.length===s.align.length)){for(t=t.substring(n[0].length),f=0;f<s.align.length;f++)/^ *-+: *$/.test(s.align[f])?s.align[f]="right":/^ *:-+: *$/.test(s.align[f])?s.align[f]="center":/^ *:-+ *$/.test(s.align[f])?s.align[f]="left":s.align[f]=null;for(f=0;f<s.cells.length;f++)s.cells[f]=m(s.cells[f],s.header.length);this.tokens.push(s)}else if(n=this.rules.hr.exec(t))t=t.substring(n[0].length),this.tokens.push({type:"hr"});else if(n=this.rules.blockquote.exec(t))t=t.substring(n[0].length),this.tokens.push({type:"blockquote_start"}),n=n[0].replace(/^ *> ?/gm,""),this.token(n,e),this.tokens.push({type:"blockquote_end"});else if(n=this.rules.list.exec(t)){for(t=t.substring(n[0].length),i=n[2],v=i.length>1,c={type:"list_start",ordered:v,start:v?+i:"",loose:!1},this.tokens.push(c),n=n[0].match(this.rules.item),d=[],r=!1,g=n.length,f=0;f<g;f++)s=n[f],p=s.length,s=s.replace(/^ *([*+-]|\d+\.) */,""),~s.indexOf("\n ")&&(p-=s.length,s=this.options.pedantic?s.replace(/^ {1,4}/gm,""):s.replace(new RegExp("^ {1,"+p+"}","gm"),"")),f!==g-1&&(a=w.bullet.exec(n[f+1])[0],(i.length>1?1===a.length:a.length>1||this.options.smartLists&&a!==i)&&(t=n.slice(f+1).join("\n")+t,f=g-1)),o=r||/\n\n(?!\s*$)/.test(s),f!==g-1&&(r="\n"===s.charAt(s.length-1),o||(o=r)),o&&(c.loose=!0),y=/^\[[ xX]\] /.test(s),x=void 0,y&&(x=" "!==s[1],s=s.replace(/^\[[ xX]\] +/,"")),u={type:"list_item_start",task:y,checked:x,loose:o},d.push(u),this.tokens.push(u),this.token(s,!1),this.tokens.push({type:"list_item_end"});if(c.loose)for(g=d.length,f=0;f<g;f++)d[f].loose=!0;this.tokens.push({type:"list_end"})}else if(n=this.rules.html.exec(t))t=t.substring(n[0].length),this.tokens.push({type:this.options.sanitize?"paragraph":"html",pre:!this.options.sanitizer&&("pre"===n[1]||"script"===n[1]||"style"===n[1]),text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer(n[0]):l(n[0]):n[0]});else if(e&&(n=this.rules.def.exec(t)))t=t.substring(n[0].length),n[3]&&(n[3]=n[3].substring(1,n[3].length-1)),b=n[1].toLowerCase().replace(/\s+/g," "),this.tokens.links[b]||(this.tokens.links[b]={href:n[2],title:n[3]});else if((n=this.rules.table.exec(t))&&(s={type:"table",header:m(n[1].replace(/^ *| *\| *$/g,"")),align:n[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:n[3]?n[3].replace(/\n$/,"").split("\n"):[]},s.header.length===s.align.length)){for(t=t.substring(n[0].length),f=0;f<s.align.length;f++)/^ *-+: *$/.test(s.align[f])?s.align[f]="right":/^ *:-+: *$/.test(s.align[f])?s.align[f]="center":/^ *:-+ *$/.test(s.align[f])?s.align[f]="left":s.align[f]=null;for(f=0;f<s.cells.length;f++)s.cells[f]=m(s.cells[f].replace(/^ *\| *| *\| *$/g,""),s.header.length);this.tokens.push(s)}else if(n=this.rules.lheading.exec(t))t=t.substring(n[0].length),this.tokens.push({type:"heading",depth:"="===n[2].charAt(0)?1:2,text:n[1]});else if(e&&(n=this.rules.paragraph.exec(t)))t=t.substring(n[0].length),this.tokens.push({type:"paragraph",text:"\n"===n[1].charAt(n[1].length-1)?n[1].slice(0,-1):n[1]});else if(n=this.rules.text.exec(t))t=t.substring(n[0].length),this.tokens.push({type:"text",text:n[0]});else if(t)throw new Error("Infinite loop on byte: "+t.charCodeAt(0));return this.tokens};var x={escape:/^\\([!"#$%&'()*+,\-.\/:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:f,tag:"^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(?!\s*\])((?:\\[\[\]]?|[^\[\]\\])+)\]/,nolink:/^!?\[(?!\s*\])((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\](?:\[\])?/,strong:/^__([^\s_])__(?!_)|^\*\*([^\s*])\*\*(?!\*)|^__([^\s][\s\S]*?[^\s])__(?!_)|^\*\*([^\s][\s\S]*?[^\s])\*\*(?!\*)/,em:/^_([^\s_])_(?!_)|^\*([^\s*<\[])\*(?!\*)|^_([^\s<][\s\S]*?[^\s_])_(?!_|[^\spunctuation])|^_([^\s_<][\s\S]*?[^\s])_(?!_|[^\spunctuation])|^\*([^\s<"][\s\S]*?[^\s\*])\*(?!\*|[^\spunctuation])|^\*([^\s*"<\[][\s\S]*?[^\s])\*(?!\*)/,code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:f,text:/^(`+|[^`])(?:[\s\S]*?(?:(?=[\\<!\[`*]|\b_|$)|[^ ](?= {2,}\n))|(?= {2,}\n))/};x._punctuation="!\"#$%&'()*+,\\-./:;<=>?@\\[^_{|}~",x.em=d(x.em).replace(/punctuation/g,x._punctuation).getRegex(),x._escapes=/\\([!"#$%&'()*+,\-.\/:;<=>?@\[\]\\^_`{|}~])/g,x._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,x._email=/[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])?)+(?![-_])/,x.autolink=d(x.autolink).replace("scheme",x._scheme).replace("email",x._email).getRegex(),x._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,x.tag=d(x.tag).replace("comment",w._comment).replace("attribute",x._attribute).getRegex(),x._label=/(?:\[[^\[\]]*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,x._href=/<(?:\\[<>]?|[^\s<>\\])*>|[^\s\x00-\x1f]*/,x._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,x.link=d(x.link).replace("label",x._label).replace("href",x._href).replace("title",x._title).getRegex(),x.reflink=d(x.reflink).replace("label",x._label).getRegex(),x.normal=b({},x),x.pedantic=b({},x.normal,{strong:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,em:/^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/,link:d(/^!?\[(label)\]\((.*?)\)/).replace("label",x._label).getRegex(),reflink:d(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",x._label).getRegex()}),x.gfm=b({},x.normal,{escape:d(x.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^~+(?=\S)([\s\S]*?\S)~+/,text:/^(`+|[^`])(?:[\s\S]*?(?:(?=[\\<!\[`*~]|\b_|https?:\/\/|ftp:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@))|(?= {2,}\n|[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@))/}),x.gfm.url=d(x.gfm.url,"i").replace("email",x.gfm._extended_email).getRegex(),x.breaks=b({},x.gfm,{br:d(x.br).replace("{2,}","*").getRegex(),text:d(x.gfm.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()}),o.rules=x,o.output=function(t,e,r){return new o(e,r).output(t)},o.prototype.output=function(t){for(var e,r,n,i,a,s,c="";t;)if(a=this.rules.escape.exec(t))t=t.substring(a[0].length),c+=l(a[1]);else if(a=this.rules.tag.exec(t))!this.inLink&&/^<a /i.test(a[0])?this.inLink=!0:this.inLink&&/^<\/a>/i.test(a[0])&&(this.inLink=!1),!this.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(a[0])?this.inRawBlock=!0:this.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(a[0])&&(this.inRawBlock=!1),t=t.substring(a[0].length),c+=this.options.sanitize?this.options.sanitizer?this.options.sanitizer(a[0]):l(a[0]):a[0];else if(a=this.rules.link.exec(t)){var d=g(a[2],"()");if(d>-1){var u=4+a[1].length+d;a[2]=a[2].substring(0,d),a[0]=a[0].substring(0,u).trim(),a[3]=""}t=t.substring(a[0].length),this.inLink=!0,n=a[2],this.options.pedantic?(e=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(n),e?(n=e[1],i=e[3]):i=""):i=a[3]?a[3].slice(1,-1):"",n=n.trim().replace(/^<([\s\S]*)>$/,"$1"),c+=this.outputLink(a,{href:o.escapes(n),title:o.escapes(i)}),this.inLink=!1}else if((a=this.rules.reflink.exec(t))||(a=this.rules.nolink.exec(t))){if(t=t.substring(a[0].length),e=(a[2]||a[1]).replace(/\s+/g," "),!(e=this.links[e.toLowerCase()])||!e.href){c+=a[0].charAt(0),t=a[0].substring(1)+t;continue}this.inLink=!0,c+=this.outputLink(a,e),this.inLink=!1}else if(a=this.rules.strong.exec(t))t=t.substring(a[0].length),c+=this.renderer.strong(this.output(a[4]||a[3]||a[2]||a[1]));else if(a=this.rules.em.exec(t))t=t.substring(a[0].length),c+=this.renderer.em(this.output(a[6]||a[5]||a[4]||a[3]||a[2]||a[1]));else if(a=this.rules.code.exec(t))t=t.substring(a[0].length),c+=this.renderer.codespan(l(a[2].trim(),!0));else if(a=this.rules.br.exec(t))t=t.substring(a[0].length),c+=this.renderer.br();else if(a=this.rules.del.exec(t))t=t.substring(a[0].length),c+=this.renderer.del(this.output(a[1]));else if(a=this.rules.autolink.exec(t))t=t.substring(a[0].length),"@"===a[2]?(r=l(this.mangle(a[1])),n="mailto:"+r):(r=l(a[1]),n=r),c+=this.renderer.link(n,null,r);else if(this.inLink||!(a=this.rules.url.exec(t))){if(a=this.rules.text.exec(t))t=t.substring(a[0].length),this.inRawBlock?c+=this.renderer.text(this.options.sanitize?this.options.sanitizer?this.options.sanitizer(a[0]):l(a[0]):a[0]):c+=this.renderer.text(l(this.smartypants(a[0])));else if(t)throw new Error("Infinite loop on byte: "+t.charCodeAt(0))}else{if("@"===a[2])r=l(a[0]),n="mailto:"+r;else{do{s=a[0],a[0]=this.rules._backpedal.exec(a[0])[0]}while(s!==a[0]);r=l(a[0]),n="www."===a[1]?"http://"+r:r}t=t.substring(a[0].length),c+=this.renderer.link(n,null,r)}return c},o.escapes=function(t){return t?t.replace(o.rules._escapes,"$1"):t},o.prototype.outputLink=function(t,e){var r=e.href,o=e.title?l(e.title):null;return"!"!==t[0].charAt(0)?this.renderer.link(r,o,this.output(t[1])):this.renderer.image(r,o,l(t[1]))},o.prototype.smartypants=function(t){return this.options.smartypants?t.replace(/---/g,"—").replace(/--/g,"–").replace(/(^|[-\u2014\/(\[{"\s])'/g,"$1‘").replace(/'/g,"’").replace(/(^|[-\u2014\/(\[{\u2018\s])"/g,"$1“").replace(/"/g,"”").replace(/\.{3}/g,"…"):t},o.prototype.mangle=function(t){if(!this.options.mangle)return t;for(var e,r="",o=t.length,n=0;n<o;n++)e=t.charCodeAt(n),Math.random()>.5&&(e="x"+e.toString(16)),r+="&#"+e+";";return r},n.prototype.code=function(t,e,r){var o=(e||"").match(/\S*/)[0];if(this.options.highlight){var n=this.options.highlight(t,o);null!=n&&n!==t&&(r=!0,t=n)}return o?'<pre><code class="'+this.options.langPrefix+l(o,!0)+'">'+(r?t:l(t,!0))+"</code></pre>\n":"<pre><code>"+(r?t:l(t,!0))+"</code></pre>"},n.prototype.blockquote=function(t){return"<blockquote>\n"+t+"</blockquote>\n"},n.prototype.html=function(t){return t},n.prototype.heading=function(t,e,r,o){return this.options.headerIds?"<h"+e+' id="'+this.options.headerPrefix+o.slug(r)+'">'+t+"</h"+e+">\n":"<h"+e+">"+t+"</h"+e+">\n"},n.prototype.hr=function(){return this.options.xhtml?"<hr/>\n":"<hr>\n"},n.prototype.list=function(t,e,r){var o=e?"ol":"ul";return"<"+o+(e&&1!==r?' start="'+r+'"':"")+">\n"+t+"</"+o+">\n"},n.prototype.listitem=function(t){return"<li>"+t+"</li>\n"},n.prototype.checkbox=function(t){return"<input "+(t?'checked="" ':"")+'disabled="" type="checkbox"'+(this.options.xhtml?" /":"")+"> "},n.prototype.paragraph=function(t){return"<p>"+t+"</p>\n"},n.prototype.table=function(t,e){return e&&(e="<tbody>"+e+"</tbody>"),"<table>\n<thead>\n"+t+"</thead>\n"+e+"</table>\n"},n.prototype.tablerow=function(t){return"<tr>\n"+t+"</tr>\n"},n.prototype.tablecell=function(t,e){var r=e.header?"th":"td";return(e.align?"<"+r+' align="'+e.align+'">':"<"+r+">")+t+"</"+r+">\n"},n.prototype.strong=function(t){return"<strong>"+t+"</strong>"},n.prototype.em=function(t){return"<em>"+t+"</em>"},n.prototype.codespan=function(t){return"<code>"+t+"</code>"},n.prototype.br=function(){return this.options.xhtml?"<br/>":"<br>"},n.prototype.del=function(t){return"<del>"+t+"</del>"},n.prototype.link=function(t,e,r){if(null===(t=u(this.options.sanitize,this.options.baseUrl,t)))return r;var o='<a href="'+l(t)+'"';return e&&(o+=' title="'+e+'"'),o+=">"+r+"</a>"},n.prototype.image=function(t,e,r){if(null===(t=u(this.options.sanitize,this.options.baseUrl,t)))return r;var o='<img src="'+t+'" alt="'+r+'"';return e&&(o+=' title="'+e+'"'),o+=this.options.xhtml?"/>":">"},n.prototype.text=function(t){return t},i.prototype.strong=i.prototype.em=i.prototype.codespan=i.prototype.del=i.prototype.text=function(t){return t},i.prototype.link=i.prototype.image=function(t,e,r){return""+r},i.prototype.br=function(){return""},a.parse=function(t,e){return new a(e).parse(t)},a.prototype.parse=function(t){this.inline=new o(t.links,this.options),this.inlineText=new o(t.links,b({},this.options,{renderer:new i})),this.tokens=t.reverse();for(var e="";this.next();)e+=this.tok();return e},a.prototype.next=function(){return this.token=this.tokens.pop(),this.token},a.prototype.peek=function(){return this.tokens[this.tokens.length-1]||0},a.prototype.parseText=function(){for(var t=this.token.text;"text"===this.peek().type;)t+="\n"+this.next().text;return this.inline.output(t)},a.prototype.tok=function(){switch(this.token.type){case"space":return"";case"hr":return this.renderer.hr();case"heading":return this.renderer.heading(this.inline.output(this.token.text),this.token.depth,c(this.inlineText.output(this.token.text)),this.slugger);case"code":return this.renderer.code(this.token.text,this.token.lang,this.token.escaped);case"table":var t,e,r,o,n="",i="";for(r="",t=0;t<this.token.header.length;t++)r+=this.renderer.tablecell(this.inline.output(this.token.header[t]),{header:!0,align:this.token.align[t]});for(n+=this.renderer.tablerow(r),t=0;t<this.token.cells.length;t++){for(e=this.token.cells[t],r="",o=0;o<e.length;o++)r+=this.renderer.tablecell(this.inline.output(e[o]),{header:!1,align:this.token.align[o]});i+=this.renderer.tablerow(r)}return this.renderer.table(n,i);case"blockquote_start":for(i="";"blockquote_end"!==this.next().type;)i+=this.tok();return this.renderer.blockquote(i);case"list_start":i="";for(var a=this.token.ordered,s=this.token.start;"list_end"!==this.next().type;)i+=this.tok();return this.renderer.list(i,a,s);case"list_item_start":i="";var l=this.token.loose,d=this.token.checked,u=this.token.task;for(this.token.task&&(i+=this.renderer.checkbox(d));"list_item_end"!==this.next().type;)i+=l||"text"!==this.token.type?this.tok():this.parseText();return this.renderer.listitem(i,u,d);case"html":return this.renderer.html(this.token.text);case"paragraph":return this.renderer.paragraph(this.inline.output(this.token.text));case"text":return this.renderer.paragraph(this.parseText());default:var p='Token with "'+this.token.type+'" type was not found.';if(!this.options.silent)throw new Error(p);console.log(p)}},s.prototype.slug=function(t){var e=t.toLowerCase().trim().replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,.\/:;<=>?@[\]^`{|}~]/g,"").replace(/\s/g,"-");if(this.seen.hasOwnProperty(e)){var r=e;do{this.seen[r]++,e=r+"-"+this.seen[r]}while(this.seen.hasOwnProperty(e))}return this.seen[e]=0,e},l.escapeTest=/[&<>"']/,l.escapeReplace=/[&<>"']/g,l.replacements={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},l.escapeTestNoEncode=/[<>"']|&(?!#?\w+;)/,l.escapeReplaceNoEncode=/[<>"']|&(?!#?\w+;)/g;var O={},k=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;f.exec=f,y.options=y.setOptions=function(t){return b(y.defaults,t),y},y.getDefaults=function(){return{baseUrl:null,breaks:!1,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:new n,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,xhtml:!1}},y.defaults=y.getDefaults(),y.Parser=a,y.parser=a.parse,y.Renderer=n,y.TextRenderer=i,y.Lexer=r,y.lexer=r.lex,y.InlineLexer=o,y.inlineLexer=o.output,y.Slugger=s,y.parse=y,t.exports=y}(this||"undefined"!=typeof window&&window)}).call(e,r(25))},function(t,e,r){"use strict";(function(t,o){function n(t){s.highlightAllUnder(t)}function i(t){i.installed||(i.installed=!0,t.directive("highlight",n))}r.d(e,"a",function(){return l});var a={},s=function(){var t=/\blang(?:uage)?-([\w-]+)\b/i,e=0,r=a.Prism={manual:a.Prism&&a.Prism.manual,disableWorkerMessageHandler:a.Prism&&a.Prism.disableWorkerMessageHandler,util:{encode:function(t){return t instanceof o?new o(t.type,r.util.encode(t.content),t.alias):"Array"===r.util.type(t)?t.map(r.util.encode):t.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/\u00a0/g," ")},type:function(t){return Object.prototype.toString.call(t).match(/\[object (\w+)\]/)[1]},objId:function(t){return t.__id||Object.defineProperty(t,"__id",{value:++e}),t.__id},clone:function(t,e){var o=r.util.type(t);switch(e=e||{},o){case"Object":if(e[r.util.objId(t)])return e[r.util.objId(t)];var n={};e[r.util.objId(t)]=n;for(var i in t)t.hasOwnProperty(i)&&(n[i]=r.util.clone(t[i],e));return n;case"Array":if(e[r.util.objId(t)])return e[r.util.objId(t)];var n=[];return e[r.util.objId(t)]=n,t.forEach(function(t,o){n[o]=r.util.clone(t,e)}),n}return t}},languages:{extend:function(t,e){var o=r.util.clone(r.languages[t]);for(var n in e)o[n]=e[n];return o},insertBefore:function(t,e,o,n){n=n||r.languages;var i=n[t];if(2==arguments.length){o=arguments[1];for(var a in o)o.hasOwnProperty(a)&&(i[a]=o[a]);return i}var s={};for(var l in i)if(i.hasOwnProperty(l)){if(l==e)for(var a in o)o.hasOwnProperty(a)&&(s[a]=o[a]);s[l]=i[l]}return r.languages.DFS(r.languages,function(e,r){r===n[t]&&e!=t&&(this[e]=s)}),n[t]=s},DFS:function(t,e,o,n){n=n||{};for(var i in t)t.hasOwnProperty(i)&&(e.call(t,i,t[i],o||i),"Object"!==r.util.type(t[i])||n[r.util.objId(t[i])]?"Array"!==r.util.type(t[i])||n[r.util.objId(t[i])]||(n[r.util.objId(t[i])]=!0,r.languages.DFS(t[i],e,i,n)):(n[r.util.objId(t[i])]=!0,r.languages.DFS(t[i],e,null,n)))}},plugins:{},highlightAll:function(t,e){r.highlightAllUnder(document,t,e)},highlightAllUnder:function(t,e,o){var n={callback:o,selector:'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'};r.hooks.run("before-highlightall",n);for(var i,a=n.elements||t.querySelectorAll(n.selector),s=0;i=a[s++];)r.highlightElement(i,!0===e,n.callback)},highlightElement:function(e,o,n){for(var i,s,l=e;l&&!t.test(l.className);)l=l.parentNode;l&&(i=(l.className.match(t)||[,""])[1].toLowerCase(),s=r.languages[i]),e.className=e.className.replace(t,"").replace(/\s+/g," ")+" language-"+i,e.parentNode&&(l=e.parentNode,/pre/i.test(l.nodeName)&&(l.className=l.className.replace(t,"").replace(/\s+/g," ")+" language-"+i));var c=e.textContent,d={element:e,language:i,grammar:s,code:c};if(r.hooks.run("before-sanity-check",d),!d.code||!d.grammar)return d.code&&(r.hooks.run("before-highlight",d),d.element.textContent=d.code,r.hooks.run("after-highlight",d)),void r.hooks.run("complete",d);if(r.hooks.run("before-highlight",d),o&&a.Worker){var u=new Worker(r.filename);u.onmessage=function(t){d.highlightedCode=t.data,r.hooks.run("before-insert",d),d.element.innerHTML=d.highlightedCode,n&&n.call(d.element),r.hooks.run("after-highlight",d),r.hooks.run("complete",d)},u.postMessage(JSON.stringify({language:d.language,code:d.code,immediateClose:!0}))}else d.highlightedCode=r.highlight(d.code,d.grammar,d.language),r.hooks.run("before-insert",d),d.element.innerHTML=d.highlightedCode,n&&n.call(e),r.hooks.run("after-highlight",d),r.hooks.run("complete",d)},highlight:function(t,e,n){var i={code:t,grammar:e,language:n};return r.hooks.run("before-tokenize",i),i.tokens=r.tokenize(i.code,i.grammar),r.hooks.run("after-tokenize",i),o.stringify(r.util.encode(i.tokens),i.language)},matchGrammar:function(t,e,o,n,i,a,s){var l=r.Token;for(var c in o)if(o.hasOwnProperty(c)&&o[c]){if(c==s)return;var d=o[c];d="Array"===r.util.type(d)?d:[d];for(var u=0;u<d.length;++u){var p=d[u],f=p.inside,b=!!p.lookbehind,m=!!p.greedy,h=0,g=p.alias;if(m&&!p.pattern.global){var v=p.pattern.toString().match(/[imuy]*$/)[0];p.pattern=RegExp(p.pattern.source,v+"g")}p=p.pattern||p;for(var y=n,w=i;y<e.length;w+=e[y].length,++y){var x=e[y];if(e.length>t.length)return;if(!(x instanceof l)){if(m&&y!=e.length-1){p.lastIndex=w;var O=p.exec(t);if(!O)break;for(var k=O.index+(b?O[1].length:0),j=O.index+O[0].length,S=y,_=w,T=e.length;S<T&&(_<j||!e[S].type&&!e[S-1].greedy);++S)_+=e[S].length,k>=_&&(++y,w=_);if(e[y]instanceof l)continue;P=S-y,x=t.slice(w,_),O.index-=w}else{p.lastIndex=0;var O=p.exec(x),P=1}if(O){b&&(h=O[1]?O[1].length:0);var k=O.index+h,O=O[0].slice(h),j=k+O.length,C=x.slice(0,k),$=x.slice(j),B=[y,P];C&&(++y,w+=C.length,B.push(C));var E=new l(c,f?r.tokenize(O,f):O,g,O,m);if(B.push(E),$&&B.push($),Array.prototype.splice.apply(e,B),1!=P&&r.matchGrammar(t,e,o,y,w,!0,c),a)break}else if(a)break}}}}},tokenize:function(t,e,o){var n=[t],i=e.rest;if(i){for(var a in i)e[a]=i[a];delete e.rest}return r.matchGrammar(t,n,e,0,0,!1),n},hooks:{all:{},add:function(t,e){var o=r.hooks.all;o[t]=o[t]||[],o[t].push(e)},run:function(t,e){var o=r.hooks.all[t];if(o&&o.length)for(var n,i=0;n=o[i++];)n(e)}}},o=r.Token=function(t,e,r,o,n){this.type=t,this.content=e,this.alias=r,this.length=0|(o||"").length,this.greedy=!!n};return o.stringify=function(t,e,n){if("string"==typeof t)return t;if("Array"===r.util.type(t))return t.map(function(r){return o.stringify(r,e,t)}).join("");var i={type:t.type,content:o.stringify(t.content,e,n),tag:"span",classes:["token",t.type],attributes:{},language:e,parent:n};if(t.alias){var a="Array"===r.util.type(t.alias)?t.alias:[t.alias];Array.prototype.push.apply(i.classes,a)}r.hooks.run("wrap",i);var s=Object.keys(i.attributes).map(function(t){return t+'="'+(i.attributes[t]||"").replace(/"/g,"&quot;")+'"'}).join(" ");return"<"+i.tag+' class="'+i.classes.join(" ")+'"'+(s?" "+s:"")+">"+i.content+"</"+i.tag+">"},a.document?a.Prism:a.addEventListener?(r.disableWorkerMessageHandler||a.addEventListener("message",function(t){var e=JSON.parse(t.data),o=e.language,n=e.code,i=e.immediateClose;a.postMessage(r.highlight(n,r.languages[o],o)),i&&a.close()},!1),a.Prism):a.Prism}();void 0!==t&&t.exports&&(t.exports=s),void 0!==o&&(o.Prism=s),s.languages.markup={comment:/<!--[\s\S]*?-->/,prolog:/<\?[\s\S]+?\?>/,doctype:/<!DOCTYPE[\s\S]+?>/i,cdata:/<!\[CDATA\[[\s\S]*?]]>/i,tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s+[^\s>\/=]+(?:=(?:("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|[^\s'">=]+))?)*\s*\/?>/i,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/i,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"attr-value":{pattern:/=(?:("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|[^\s'">=]+)/i,inside:{punctuation:[/^=/,{pattern:/(^|[^\\])["']/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:/&#?[\da-z]{1,8};/i},s.languages.markup.tag.inside["attr-value"].inside.entity=s.languages.markup.entity,s.hooks.add("wrap",function(t){"entity"===t.type&&(t.attributes.title=t.content.replace(/&amp;/,"&"))}),s.languages.xml=s.languages.markup,s.languages.html=s.languages.markup,s.languages.mathml=s.languages.markup,s.languages.svg=s.languages.markup,s.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:/@[\w-]+?.*?(?:;|(?=\s*\{))/i,inside:{rule:/@[\w-]+/}},url:/url\((?:(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1|.*?)\)/i,selector:/[^{}\s][^{};]*?(?=\s*\{)/,string:{pattern:/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},property:/[-_a-z\xA0-\uFFFF][-\w\xA0-\uFFFF]*(?=\s*:)/i,important:/\B!important\b/i,function:/[-a-z0-9]+(?=\()/i,punctuation:/[(){};:]/},s.languages.css.atrule.inside.rest=s.languages.css,s.languages.markup&&(s.languages.insertBefore("markup","tag",{style:{pattern:/(<style[\s\S]*?>)[\s\S]*?(?=<\/style>)/i,lookbehind:!0,inside:s.languages.css,alias:"language-css",greedy:!0}}),s.languages.insertBefore("inside","attr-value",{"style-attr":{pattern:/\s*style=("|')(?:\\[\s\S]|(?!\1)[^\\])*\1/i,inside:{"attr-name":{pattern:/^\s*style/i,inside:s.languages.markup.tag.inside},punctuation:/^\s*=\s*['"]|['"]\s*$/,"attr-value":{pattern:/.+/i,inside:s.languages.css}},alias:"language-css"}},s.languages.markup.tag)),s.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/((?:\b(?:class|interface|extends|implements|trait|instanceof|new)\s+)|(?:catch\s+\())[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/,boolean:/\b(?:true|false)\b/,function:/[a-z0-9_]+(?=\()/i,number:/\b0x[\da-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&?|\|\|?|\?|\*|\/|~|\^|%/,punctuation:/[{}[\];(),.:]/},s.languages.javascript=s.languages.extend("clike",{keyword:/\b(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|var|void|while|with|yield)\b/,number:/\b(?:0[xX][\dA-Fa-f]+|0[bB][01]+|0[oO][0-7]+|NaN|Infinity)\b|(?:\b\d+\.?\d*|\B\.\d+)(?:[Ee][+-]?\d+)?/,function:/[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*\()/i,operator:/-[-=]?|\+[+=]?|!=?=?|<<?=?|>>?>?=?|=(?:==?|>)?|&[&=]?|\|[|=]?|\*\*?=?|\/=?|~|\^=?|%=?|\?|\.{3}/}),s.languages.insertBefore("javascript","keyword",{regex:{pattern:/((?:^|[^$\w\xA0-\uFFFF."'\])\s])\s*)\/(\[[^\]\r\n]+]|\\.|[^\/\\\[\r\n])+\/[gimyu]{0,5}(?=\s*($|[\r\n,.;})\]]))/,lookbehind:!0,greedy:!0},"function-variable":{pattern:/[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*=\s*(?:function\b|(?:\([^()]*\)|[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)\s*=>))/i,alias:"function"},constant:/\b[A-Z][A-Z\d_]*\b/}),s.languages.insertBefore("javascript","string",{"template-string":{pattern:/`(?:\\[\s\S]|\${[^}]+}|[^\\`])*`/,greedy:!0,inside:{interpolation:{pattern:/\${[^}]+}/,inside:{"interpolation-punctuation":{pattern:/^\${|}$/,alias:"punctuation"},rest:null}},string:/[\s\S]+/}}}),s.languages.javascript["template-string"].inside.interpolation.inside.rest=s.languages.javascript,s.languages.markup&&s.languages.insertBefore("markup","tag",{script:{pattern:/(<script[\s\S]*?>)[\s\S]*?(?=<\/script>)/i,lookbehind:!0,inside:s.languages.javascript,alias:"language-javascript",greedy:!0}}),s.languages.js=s.languages.javascript,function(){if("undefined"!=typeof document){var t=document.head||document.getElementsByTagName("head")[0],e=document.createElement("style");e.type="text/css",e.styleSheet?e.styleSheet.cssText="":e.appendChild(document.createTextNode("")),t.appendChild(e)}}();var l={render:function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("div",{ref:"codeBlock"},[r("pre",{class:t.languageClass},[r("code",[t._t("default")],2)])])},staticRenderFns:[],name:"code-highlight",props:{language:{type:String,default:"javascript"}},computed:{languageClass:function(){return"language-"+this.language}},mounted:function(){s.highlightAllUnder(this.$refs.codeBlock)},beforeUpdate:function(){var t=this.$slots.default[0].text.replace(/^[\r\n\s]*|[\r\n\s]*$/g,"");this.$el.querySelector("code").textContent=t,s.highlightAllUnder(this.$refs.codeBlock)}},c={install:i},d=null;"undefined"!=typeof window?d=window.Vue:void 0!==o&&(d=o.Vue),d&&d.use(c)}).call(e,r(242)(t),r(25))},function(t,e){t.exports=function(t){if(!t.webpackPolyfill){var e=Object.create(t);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}}),Object.defineProperty(e,"exports",{enumerable:!0}),e.webpackPolyfill=1}return e}},function(t,e,r){"use strict";var o=function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("b-card",{class:"mb-5 ocrd-project-list-item "+(t.project.compliant_cli?"compliant":"non-compliant"),attrs:{title:t.project.org_plus_name,tag:"article"}},[t.modal?t._e():r("b-card-text",[r("b-button",{on:{click:function(e){return t.$root.showModal("project",t.projectIndex)}}},[t._v("Expand")])],1),t._v(" "),r("b-tabs",{model:{value:t.tabIndex,callback:function(e){t.tabIndex=e},expression:"tabIndex"}},[r("b-tab",{attrs:{title:"README"}},[r("div",{domProps:{innerHTML:t._s(t.compiledReadme)}})]),t._v(" "),r("b-tab",{attrs:{title:"Dockerfile"}},[r("vue-code-highlight",[t._v(t._s(t.project.files.Dockerfile||"# NO DOCKERFILE"))])],1),t._v(" "),r("b-tab",{attrs:{title:"Git"}},[r("b-card-text",[r("p",[t.project.python?r("a",{attrs:{href:"`https://pypi.org/project/${ project.python.name }/`"}},[r("img",{attrs:{src:"https://img.shields.io/pypi/v/"+t.project.python.name+".svg"}})]):t._e()]),t._v(" "),t.project.git?r("b-table",{attrs:{items:[t.project.git]}}):t._e()],1)],1),t._v(" "),r("b-tab",{attrs:{title:"ocrd-tool validation"}},[r("b-card-text",[r("vue-code-highlight",[t._v(t._s(t.project.ocrd_tool_validate||"# NO validation data"))])],1)],1),t._v(" "),r("b-tab",{attrs:{title:"Python"}},[r("b-card-text",[t.project.python?r("b-table",{attrs:{items:[t.project.python]}}):t._e()],1)],1)],1)],1)},n=[],i={render:o,staticRenderFns:n};e.a=i},function(t,e,r){"use strict";var o=function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("div",[r("b-row",[r("b-button",{directives:[{name:"b-toggle",rawName:"v-b-toggle.project-controls",modifiers:{"project-controls":!0}}],staticClass:"m-1"},[t._v("Toggle Controls")]),t._v(" "),r("b-collapse",{attrs:{id:"project-controls"}},[r("b-container",[r("b-row",[r("b-form-checkbox",{attrs:{name:"check-button",switch:""},model:{value:t.show_noncompliant,callback:function(e){t.show_noncompliant=e},expression:"show_noncompliant"}},[t._v("\n          Non-compliant projects "),r("b",[t._v("("+t._s(t.show_noncompliant?"Show":"Hide")+")")])])],1),t._v(" "),r("b-row",[r("b-form-checkbox",{attrs:{name:"check-button",switch:""},model:{value:t.show_unofficial,callback:function(e){t.show_unofficial=e},expression:"show_unofficial"}},[t._v("\n          Unofficial projects "),r("b",[t._v("("+t._s(t.show_unofficial?"Show":"Hide")+")")])])],1),t._v(" "),r("b-row",[t._v("\n          Filter by name: "),r("input",{directives:[{name:"model",rawName:"v-model",value:t.name_filter,expression:"name_filter"}],attrs:{type:"text"},domProps:{value:t.name_filter},on:{input:function(e){e.target.composing||(t.name_filter=e.target.value)}}}),t._v(" (Showing "+t._s(t.filtered_projects.length)+" of "+t._s(t.projects.length)+" projects)\n        ")]),t._v(" "),r("b-row",[t._v("\n          Tabs: "),r("b-button",{on:{click:function(e){t.tabIndex-=1}}},[t._v("<")]),t._v(" "),r("b-button",{on:{click:function(e){t.tabIndex+=1}}},[t._v(">")])],1)],1)],1)],1),t._v(" "),r("b-row",{staticClass:"list"},t._l(t.filtered_projects,function(e,o){return r("ocrd-project-list-item",{key:e.org_plus_name,attrs:{project:e,tabIndex:t.tabIndex,projectIndex:o}})}),1),t._v(" "),r("b-modal",{attrs:{id:"project-modal",size:"xl","hide-header":!0,"hide-footer":!0}},[r("ocrd-project-list-item",{attrs:{project:t.projects[t.$root.modalProjectIndex],projectIndex:t.$root.modalProjectIndex,modal:!0}})],1)],1)},n=[],i={render:o,staticRenderFns:n};e.a=i},function(t,e,r){"use strict";var o=function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("b-container",{attrs:{fluid:""}},[r("b-row",[r("button",{on:{click:t.$root.fetchprojectData}},[t._v("Fetch!")])]),t._v(" "),r("b-tabs",[r("b-tab",{attrs:{title:"Processors"}},[r("ocrd-processor-list",{attrs:{processors:t.processors}})],1),t._v(" "),r("b-tab",{attrs:{active:"",title:"Projects"}},[r("ocrd-project-list",{attrs:{projects:t.projects}})],1)],1)],1)},n=[],i={render:o,staticRenderFns:n};e.a=i},function(t,e,r){"use strict";var o=r(3),n=r(248),i=r(273),a=(r(275),r(173),r(217),r(102),r(103),r(104),r(105),r(108),r(109),r(53),r(111),r(34),r(31),r(112),r(113),r(114),r(115),r(116),r(117),r(55),r(59),r(121),r(58),r(60),r(118),r(57),r(120),r(56),r(122),r(123),r(124),r(62),r(125),r(40),r(64),r(128),r(129),r(131),r(132),r(134),r(130),r(133),r(135),r(136),r(137),r(42),r(138),r(65),r(66),r(67),r(141),r(69),r(143),r(154),r(155),r(139),r(140),r(147),r(148),r(145),r(70),r(146),r(157),r(158),r(152),r(153),r(159),r(38),r(61),r(160),r(161),r(45),r(72),r(71),r(46),r(162),r(163),r(164),r(73),r(165),r(68),r(44),r(166),r(14),r(167),r(168),r(169),r(170),r(171),r(75),r(74),r(172),r(76),r(79),r(47),r(176),r(174),r(177),r(175),r(178),r(179),r(181),r(180),r(182),r(183),r(184),r(187),r(188),r(189),r(190),r(194),r(195),r(83),r(196),r(197),r(198),r(199),r(211),r(212),r(88),r(87),r(48),r(21),r(49),r(28),r(213),r(214),r(215),r(216),r(90),r(91),r(219),r(80),r(221),r(78),r(82),r(193),r(222),r(223),r(224),r(63),r(92),r(220),Object(o.a)({plugins:{componentsPlugin:n.a,directivesPlugin:i.a}})),s={install:a,NAME:"BootstrapVue"};e.a=s},function(t,e,r){"use strict";function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function n(t,e){for(var r=0;r<e.length;r++){var o=e[r];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}function i(t,e,r){return e&&n(t.prototype,e),r&&n(t,r),t}r.d(e,"a",function(){return b});var a=r(0),s=r(51),l=r(33),c=r(13),d=r(1),u=r(8),p=r(101),f=function(){function t(){o(this,t),this.$_config={},this.$_cachedBreakpoints=null}return i(t,[{key:"getDefaults",value:function(){return this.defaults}},{key:"setConfig",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(Object(d.j)(e)){Object(u.f)(e).forEach(function(r){if(!Object(u.g)(p.a,r))return void Object(c.a)('config: unknown config property "'.concat(r,'"'));var o=e[r];if("breakpoints"===r){var n=e.breakpoints;!Object(d.a)(n)||n.length<2||n.some(function(t){return!Object(d.m)(t)||0===t.length})?Object(c.a)('config: "breakpoints" must be an array of at least 2 breakpoint names'):t.$_config.breakpoints=Object(s.a)(n)}else if(Object(d.j)(o)){var i=Object(u.f)(o);i.forEach(function(e){Object(u.g)(p.a[r],e)?(t.$_config[r]=t.$_config[r]||{},Object(d.n)(o[e])||(t.$_config[r][e]=Object(s.a)(o[e]))):Object(c.a)('config: unknown config property "'.concat(r,".").concat(e,'"'))})}})}}},{key:"resetConfig",value:function(){this.$_config={}}},{key:"getConfig",value:function(){return Object(s.a)(this.$_config)}},{key:"getConfigValue",value:function(t){return Object(s.a)(Object(l.a)(this.$_config,t,Object(l.a)(p.a,t)))}},{key:"defaults",get:function(){return p.a}}],[{key:"Defaults",get:function(){return p.a}}]),t}(),b=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:a.a;e.prototype.$bvConfig=a.a.prototype.$bvConfig=e.prototype.$bvConfig||a.a.prototype.$bvConfig||new f,e.prototype.$bvConfig.setConfig(t)}},function(t,e,r){"use strict";r.d(e,"a",function(){return V});var o=r(3),n=r(102),i=r(104),a=r(108),s=r(111),l=r(112),c=r(114),d=r(116),u=r(122),p=r(62),f=r(40),b=r(135),m=r(137),h=r(139),g=r(141),v=r(145),y=r(147),w=r(152),x=r(154),O=r(157),k=r(159),j=r(160),S=r(162),_=r(164),T=r(166),P=r(167),C=r(170),$=r(172),B=r(79),E=r(178),D=r(183),A=r(187),I=r(189),z=r(194),F=r(196),N=r(198),L=r(213),R=r(216),M=r(219),V=Object(o.b)({plugins:{AlertPlugin:n.a,BadgePlugin:i.a,BreadcrumbPlugin:a.a,ButtonPlugin:s.a,ButtonGroupPlugin:l.a,ButtonToolbarPlugin:c.a,CardPlugin:d.a,CarouselPlugin:u.a,CollapsePlugin:p.a,DropdownPlugin:f.a,EmbedPlugin:b.a,FormPlugin:m.a,FormGroupPlugin:h.a,FormCheckboxPlugin:g.a,FormRadioPlugin:v.a,FormInputPlugin:y.a,FormTextareaPlugin:w.a,FormFilePlugin:x.a,FormSelectPlugin:O.a,ImagePlugin:k.a,InputGroupPlugin:j.a,JumbotronPlugin:S.a,LayoutPlugin:_.a,LinkPlugin:T.a,ListGroupPlugin:P.a,MediaPlugin:C.a,ModalPlugin:$.a,NavPlugin:B.a,NavbarPlugin:E.a,PaginationPlugin:D.a,PaginationNavPlugin:A.a,PopoverPlugin:I.a,ProgressPlugin:z.a,SpinnerPlugin:F.a,TablePlugin:N.a,TabsPlugin:L.a,ToastPlugin:R.a,TooltipPlugin:M.a}})},function(t,e,r){"use strict";var o=r(250),n=function(t,e){return Object(o.a)(e.replace(t,""))};e.a=n},function(t,e,r){"use strict";var o=function(t){return t=String(t),t.charAt(0).toLowerCase()+t.slice(1)};e.a=o},function(t,e,r){"use strict";var o=function(){};e.a=o},function(t,e,r){"use strict";r.d(e,"a",function(){return l}),r.d(e,"c",function(){return c}),r.d(e,"b",function(){return s});var o=r(8),n=r(6),i={hover:!0,click:!0,focus:!0},a="__BV_boundEventListeners__",s=function(t){var e=Object(o.j)(t.modifiers||{}).filter(function(t){return!i[t]});return t.value&&e.push(t.value),e},l=function(t,e,r,l){var c=s(e),d=function(){l({targets:c,vnode:t})};return Object(o.j)(i).forEach(function(o){if(r[o]||e.modifiers[o]){Object(n.f)(t.elm,o,d);var i=t.elm[a]||{};i[o]=i[o]||[],i[o].push(d),t.elm[a]=i}}),c},c=function(t,e,r){Object(o.j)(i).forEach(function(o){if(r[o]||e.modifiers[o]){var i=t.elm[a]&&t.elm[a][o];i&&(i.forEach(function(e){return Object(n.e)(t.elm,o,e)}),delete t.elm[a][o])}})}},function(t,e,r){"use strict";var o=r(54),n=function(t,e){return e+(t?Object(o.a)(t):"")};e.a=n},function(t,e,r){"use strict";var o=r(12),n=function(t,e){for(var r=0;r<t.length;r++)if(Object(o.a)(t[r],e))return r;return-1};e.a=n},function(t,e,r){"use strict";r.d(e,"a",function(){return u});var o=r(0),n=r(7),i=r(6),a=r(10),s=r(1),l=r(17),c=r(5),d=o.a.extend({abstract:!0,name:"BTransporterTargetSingle",props:{nodes:{type:[Array,Function]}},data:function(t){return{updatedNodes:t.nodes}},destroyed:function(){var t=this.$el;t&&t.parentNode&&t.parentNode.removeChild(t)},render:function(t){var e=Object(s.f)(this.updatedNodes)?this.updatedNodes({}):this.updatedNodes;return e=Object(n.b)(e).filter(Boolean),e&&e.length>0&&!e[0].text?e[0]:t()}}),u=o.a.extend({name:"BTransporterSingle",mixins:[c.a],props:{disabled:{type:Boolean,default:!1},container:{type:[String,l.b],default:"body"},tag:{type:String,default:"div"}},watch:{disabled:{immediate:!0,handler:function(t){t?this.unmountTarget():this.$nextTick(this.mountTarget)}}},created:function(){this._bv_defaultFn=null,this._bv_target=null},beforeMount:function(){this.mountTarget()},updated:function(){var t=this;this.$nextTick(function(){t.updateTarget()})},beforeDestroy:function(){this.unmountTarget(),this._bv_defaultFn=null},methods:{getContainer:function(){if(a.j){var t=this.container;return Object(s.m)(t)?Object(i.x)(t):t}return null},mountTarget:function(){if(!this._bv_target){var t=this.getContainer();if(t){var e=document.createElement("div");t.appendChild(e),this._bv_target=new d({el:e,parent:this,propsData:{nodes:Object(n.b)(this.normalizeSlot("default"))}})}}},updateTarget:function(){if(a.j&&this._bv_target){var t=this.$scopedSlots.default;this.disabled||(t&&this._bv_defaultFn!==t?this._bv_target.updatedNodes=t:t||(this._bv_target.updatedNodes=this.$slots.default)),this._bv_defaultFn=t}},unmountTarget:function(){this._bv_target&&(this._bv_target.$destroy(),this._bv_target=null)}},render:function(t){if(this.disabled){var e=Object(n.b)(this.normalizeSlot("default")).filter(Boolean);if(e.length>0&&!e[0].text)return e[0]}return t()}})},function(t,e,r){"use strict";r.d(e,"a",function(){return c});var o=r(0),n=r(6),i=r(10),a=r(1),s={FIXED_CONTENT:".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",STICKY_CONTENT:".sticky-top",NAVBAR_TOGGLER:".navbar-toggler"},l=o.a.extend({data:function(){return{modals:[],baseZIndex:null,scrollbarWidth:null,isBodyOverflowing:!1}},computed:{modalCount:function(){return this.modals.length},modalsAreOpen:function(){return this.modalCount>0}},watch:{modalCount:function(t,e){i.j&&(this.getScrollbarWidth(),t>0&&0===e?(this.checkScrollbar(),this.setScrollbar(),Object(n.b)(document.body,"modal-open")):0===t&&e>0&&(this.resetScrollbar(),Object(n.v)(document.body,"modal-open")),Object(n.z)(document.body,"data-modal-open-count",String(t)))},modals:function(t,e){var r=this;this.checkScrollbar(),Object(n.w)(function(){r.updateModals(t||[])})}},methods:{registerModal:function(t){var e=this;t&&-1===this.modals.indexOf(t)&&(this.modals.push(t),t.$once("hook:beforeDestroy",function(){e.unregisterModal(t)}))},unregisterModal:function(t){var e=this.modals.indexOf(t);e>-1&&(this.modals.splice(e,1),t._isBeingDestroyed||t._isDestroyed||this.resetModal(t))},getBaseZIndex:function(){if(Object(a.g)(this.baseZIndex)&&i.j){var t=document.createElement("div");t.className="modal-backdrop d-none",t.style.display="none",document.body.appendChild(t),this.baseZIndex=parseInt(Object(n.j)(t).zIndex||1040,10),document.body.removeChild(t)}return this.baseZIndex||1040},getScrollbarWidth:function(){if(Object(a.g)(this.scrollbarWidth)&&i.j){var t=document.createElement("div");t.className="modal-scrollbar-measure",document.body.appendChild(t),this.scrollbarWidth=Object(n.h)(t).width-t.clientWidth,document.body.removeChild(t)}return this.scrollbarWidth||0},updateModals:function(t){var e=this,r=this.getBaseZIndex(),o=this.getScrollbarWidth();t.forEach(function(t,n){t.zIndex=r+n,t.scrollbarWidth=o,t.isTop=n===e.modals.length-1,t.isBodyOverflowing=e.isBodyOverflowing})},resetModal:function(t){t&&(t.zIndex=this.getBaseZIndex(),t.isTop=!0,t.isBodyOverflowing=!1)},checkScrollbar:function(){var t=Object(n.h)(document.body),e=t.left,r=t.right;this.isBodyOverflowing=e+r<window.innerWidth},setScrollbar:function(){var t=document.body;if(t._paddingChangedForModal=t._paddingChangedForModal||[],t._marginChangedForModal=t._marginChangedForModal||[],this.isBodyOverflowing){var e=this.scrollbarWidth;Object(n.y)(s.FIXED_CONTENT).forEach(function(r){var o=r.style.paddingRight,i=Object(n.j)(r).paddingRight||0;Object(n.z)(r,"data-padding-right",o),r.style.paddingRight="".concat(parseFloat(i)+e,"px"),t._paddingChangedForModal.push(r)}),Object(n.y)(s.STICKY_CONTENT).forEach(function(r){var o=r.style.marginRight,i=Object(n.j)(r).marginRight||0;Object(n.z)(r,"data-margin-right",o),r.style.marginRight="".concat(parseFloat(i)-e,"px"),t._marginChangedForModal.push(r)}),Object(n.y)(s.NAVBAR_TOGGLER).forEach(function(r){var o=r.style.marginRight,i=Object(n.j)(r).marginRight||0;Object(n.z)(r,"data-margin-right",o),r.style.marginRight="".concat(parseFloat(i)+e,"px"),t._marginChangedForModal.push(r)});var r=t.style.paddingRight,o=Object(n.j)(t).paddingRight;Object(n.z)(t,"data-padding-right",r),t.style.paddingRight="".concat(parseFloat(o)+e,"px")}},resetScrollbar:function(){var t=document.body;t._paddingChangedForModal&&t._paddingChangedForModal.forEach(function(t){Object(n.l)(t,"data-padding-right")&&(t.style.paddingRight=Object(n.g)(t,"data-padding-right")||"",Object(n.u)(t,"data-padding-right"))}),t._marginChangedForModal&&t._marginChangedForModal.forEach(function(t){Object(n.l)(t,"data-margin-right")&&(t.style.marginRight=Object(n.g)(t,"data-margin-right")||"",Object(n.u)(t,"data-margin-right"))}),t._paddingChangedForModal=null,t._marginChangedForModal=null,Object(n.l)(t,"data-padding-right")&&(t.style.paddingRight=Object(n.g)(t,"data-padding-right")||"",Object(n.u)(t,"data-padding-right"))}}}),c=new l},function(t,e,r){"use strict";function o(t){return(o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function n(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function i(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?n(r,!0).forEach(function(e){a(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):n(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function a(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function s(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function l(t,e){for(var r=0;r<e.length;r++){var o=e[r];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}function c(t,e,r){return e&&l(t.prototype,e),r&&l(t,r),t}function d(t,e){return!e||"object"!==o(e)&&"function"!=typeof e?u(t):e}function u(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function p(t,e,r){return(p="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,e,r){var o=f(t,e);if(o){var n=Object.getOwnPropertyDescriptor(o,e);return n.get?n.get.call(r):n.value}})(t,e,r||t)}function f(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=b(t)););return t}function b(t){return(b=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function m(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&h(t,e)}function h(t,e){return(h=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}r.d(e,"a",function(){return y});var g=r(41),v=r(8),y=function(t){function e(t){var r,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return s(this,e),r=d(this,b(e).call(this,t,o)),Object(v.d)(u(r),{trigger:Object(v.l)()}),r}return m(e,t),c(e,null,[{key:"Defaults",get:function(){return i({},p(b(e),"Defaults",this),{trigger:null})}}]),e}(g.a)},function(t,e,r){"use strict";r.d(e,"a",function(){return d});var o=r(0),n=r(127),i=r(6),a=r(17),s=r(30),l={AUTO:"auto",TOP:"top",RIGHT:"right",BOTTOM:"bottom",LEFT:"left",TOPLEFT:"top",TOPRIGHT:"top",RIGHTTOP:"right",RIGHTBOTTOM:"right",BOTTOMLEFT:"bottom",BOTTOMRIGHT:"bottom",LEFTTOP:"left",LEFTBOTTOM:"left"},c={AUTO:0,TOPLEFT:-1,TOP:0,TOPRIGHT:1,RIGHTTOP:-1,RIGHT:0,RIGHTBOTTOM:1,BOTTOMLEFT:-1,BOTTOM:0,BOTTOMRIGHT:1,LEFTTOP:-1,LEFT:0,LEFTBOTTOM:1},d=o.a.extend({name:"BVPopper",props:{target:{type:[a.b,a.c],default:null},placement:{type:String,default:"top"},fallbackPlacement:{type:[String,Array],default:"flip"},offset:{type:Number,default:0},boundary:{type:[String,a.b],default:"scrollParent"},boundaryPadding:{type:Number,default:5},arrowPadding:{type:Number,default:6}},data:function(){return{noFade:!1,localShow:!0,attachment:this.getAttachment(this.placement)}},computed:{templateType:function(){return"unknown"},popperConfig:function(){var t=this,e=this.placement;return{placement:this.getAttachment(e),modifiers:{offset:{offset:this.getOffset(e)},flip:{behavior:this.fallbackPlacement},arrow:{element:".arrow"},preventOverflow:{padding:this.boundaryPadding,boundariesElement:this.boundary}},onCreate:function(e){e.originalPlacement!==e.placement&&t.popperPlacementChange(e)},onUpdate:function(e){t.popperPlacementChange(e)}}}},created:function(){var t=this;this.$_popper=null,this.localShow=!0,this.$on("show",function(e){t.popperCreate(e)}),this.$on("hidden",function(){t.$nextTick(t.$destroy)}),this.$parent.$once("hook:destroyed",this.$destroy)},beforeMount:function(){this.attachment=this.getAttachment(this.placement)},mounted:function(){},updated:function(){this.popperUpdate()},beforeDestroy:function(){this.popperDestroy()},destroyed:function(){var t=this.$el;t&&t.parentNode&&t.parentNode.removeChild(t)},methods:{hide:function(){this.localShow=!1},getAttachment:function(t){return l[String(t).toUpperCase()]||"auto"},getOffset:function(t){if(!this.offset){var e=this.$refs.arrow||Object(i.x)(".arrow",this.$el),r=(parseFloat(Object(i.j)(e).width)||0)+(parseFloat(this.arrowPadding)||0);switch(c[String(t).toUpperCase()]||0){case 1:return"+50%p - ".concat(r,"px");case-1:return"-50%p + ".concat(r,"px");default:return 0}}return this.offset},popperCreate:function(t){this.popperDestroy(),this.$_popper=new n.a(this.target,t,this.popperConfig)},popperDestroy:function(){this.$_popper&&this.$_popper.destroy(),this.$_popper=null},popperUpdate:function(){this.$_popper&&this.$_popper.scheduleUpdate()},popperPlacementChange:function(t){this.attachment=this.getAttachment(t.placement)},renderTemplate:function(t){return t("div")}},render:function(t){var e=this;return t(s.a,{props:{appear:!0,noFade:this.noFade},on:{beforeEnter:function(t){return e.$emit("show",t)},afterEnter:function(t){return e.$emit("shown",t)},beforeLeave:function(t){return e.$emit("hide",t)},afterLeave:function(t){return e.$emit("hidden",t)}}},[this.localShow?this.renderTemplate(t):t()])}})},function(t,e,r){"use strict";r.d(e,"a",function(){return a});var o=r(0),n=r(1),i=r(191),a=o.a.extend({name:"BVPopoverTemplate",extends:i.a,computed:{templateType:function(){return"popover"}},methods:{renderTemplate:function(t){var e=Object(n.f)(this.title)?this.title({}):this.title,r=Object(n.f)(this.content)?this.content({}):this.content,o=this.html&&!Object(n.f)(this.title)?{innerHTML:this.title}:{},i=this.html&&!Object(n.f)(this.content)?{innerHTML:this.content}:{};return t("div",{staticClass:"popover b-popover",class:this.templateClasses,attrs:this.templateAttributes,on:this.templateListeners},[t("div",{ref:"arrow",staticClass:"arrow"}),Object(n.o)(e)||""===e?t():t("h3",{staticClass:"popover-header",domProps:o},[e]),Object(n.o)(r)||""===r?t():t("div",{staticClass:"popover-body",domProps:i},[r])])}}})},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){i(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var a=r(84),s=r(1),l=r(8),c=r(85),d=function(t,e){var r=null;return Object(s.m)(e)?r={key:t,label:e}:Object(s.f)(e)?r={key:t,formatter:e}:Object(s.i)(e)?(r=n({},e),r.key=r.key||t):!1!==e&&(r={key:t}),r},u=function(t,e){var r=[];if(Object(s.a)(t)&&t.filter(function(t){return t}).forEach(function(t){if(Object(s.m)(t))r.push({key:t,label:Object(a.a)(t)});else if(Object(s.i)(t)&&t.key&&Object(s.m)(t.key))r.push(n({},t));else if(Object(s.i)(t)&&1===Object(l.j)(t).length){var e=Object(l.j)(t)[0],o=d(e,t[e]);o&&r.push(o)}}),0===r.length&&Object(s.a)(e)&&e.length>0){var o=e[0];Object(l.j)(o).forEach(function(t){c.b[t]||r.push({key:t,label:Object(a.a)(t)})})}var i={};return r.filter(function(t){return!i[t.key]&&(i[t.key]=!0,t.label=Object(s.m)(t.label)?t.label:Object(a.a)(t.key),!0)})};e.a=u},function(t,e,r){"use strict";var o=r(51),n=r(12),i=r(7),a=r(1),s=r(262);e.a={props:{filter:{type:[String,RegExp,Object,Array],default:null},filterFunction:{type:Function,default:null},filterIgnoredFields:{type:Array},filterIncludedFields:{type:Array},filterDebounce:{type:[Number,String],default:0,validator:function(t){return/^\d+/.test(String(t))}}},data:function(){return{isFiltered:!1,localFilter:this.filterSanitize(this.filter)}},computed:{computedFilterIgnored:function(){return this.filterIgnoredFields?Object(i.b)(this.filterIgnoredFields).filter(Boolean):null},computedFilterIncluded:function(){return this.filterIncludedFields?Object(i.b)(this.filterIncludedFields).filter(Boolean):null},computedFilterDebounce:function(){return parseInt(this.filterDebounce,10)||0},localFiltering:function(){return!this.hasProvider||!!this.noProviderFiltering},filteredCheck:function(){return{filteredItems:this.filteredItems,localItems:this.localItems,localFilter:this.localFilter}},localFilterFn:function(){return Object(a.f)(this.filterFunction)?this.filterFunction:null},filteredItems:function(){var t=this.localItems||[],e=this.localFilter,r=this.localFiltering?this.filterFnFactory(this.localFilterFn,e)||this.defaultFilterFnFactory(e):null;return r&&t.length>0?t.filter(r):t}},watch:{computedFilterDebounce:function(t,e){!t&&this.$_filterTimer&&(clearTimeout(this.$_filterTimer),this.$_filterTimer=null,this.localFilter=this.filterSanitize(this.filter))},filter:{deep:!0,handler:function(t,e){var r=this,o=this.computedFilterDebounce;clearTimeout(this.$_filterTimer),this.$_filterTimer=null,o&&o>0?this.$_filterTimer=setTimeout(function(){r.localFilter=r.filterSanitize(t)},o):this.localFilter=this.filterSanitize(t)}},filteredCheck:function(t){var e=t.filteredItems,r=(t.localItems,t.localFilter),o=!1;r?Object(n.a)(r,[])||Object(n.a)(r,{})?o=!1:r&&(o=!0):o=!1,o&&this.$emit("filtered",e,e.length),this.isFiltered=o},isFiltered:function(t,e){!1===t&&!0===e&&this.$emit("filtered",this.localItems,this.localItems.length)}},created:function(){var t=this;this.$_filterTimer=null,this.$nextTick(function(){t.isFiltered=Boolean(t.localFilter)})},beforeDestroy:function(){clearTimeout(this.$_filterTimer),this.$_filterTimer=null},methods:{filterSanitize:function(t){return!this.localFiltering||this.localFilterFn||Object(a.m)(t)||Object(a.l)(t)?Object(o.a)(t):""},filterFnFactory:function(t,e){return t&&Object(a.f)(t)&&e&&!Object(n.a)(e,[])&&!Object(n.a)(e,{})?function(r){return t(r,e)}:null},defaultFilterFnFactory:function(t){var e=this;if(!t||!Object(a.m)(t)&&!Object(a.l)(t))return null;var r=t;if(Object(a.m)(r)){var o=t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&").replace(/[\s\uFEFF\xA0]+/g,"\\s+");r=new RegExp(".*".concat(o,".*"),"i")}return function(t){return r.lastIndex=0,r.test(Object(s.a)(t,e.computedFilterIgnored,e.computedFilterIncluded,e.computedFieldsObj))}}}}},function(t,e,r){"use strict";var o=r(1),n=r(201),i=r(202),a=function(t,e,r,a){return Object(o.i)(t)?Object(i.a)(Object(n.a)(t,e,r,a)):""};e.a=a},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){i(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var a=r(203),s=r(84),l=r(7),c=r(1),d=r(264);e.a={props:{sortBy:{type:String,default:""},sortDesc:{type:Boolean,default:!1},sortDirection:{type:String,default:"asc",validator:function(t){return Object(l.a)(["asc","desc","last"],t)}},sortCompare:{type:Function,default:null},sortCompareOptions:{type:Object,default:function(){return{numeric:!0}}},sortCompareLocale:{type:[String,Array]},sortNullLast:{type:Boolean,default:!1},noSortReset:{type:Boolean,default:!1},labelSortAsc:{type:String,default:"Click to sort Ascending"},labelSortDesc:{type:String,default:"Click to sort Descending"},labelSortClear:{type:String,default:"Click to clear sorting"},noLocalSorting:{type:Boolean,default:!1},noFooterSorting:{type:Boolean,default:!1},sortIconLeft:{type:Boolean,default:!1}},data:function(){return{localSortBy:this.sortBy||"",localSortDesc:this.sortDesc||!1}},computed:{localSorting:function(){return this.hasProvider?!!this.noProviderSorting:!this.noLocalSorting},isSortable:function(){return this.computedFields.some(function(t){return t.sortable})},sortedItems:function(){var t=(this.filteredItems||this.localItems||[]).slice(),e=this.localSortBy,r=this.localSortDesc,o=this.sortCompare,i=this.localSorting,s=n({},this.sortCompareOptions,{usage:"sort"}),l=this.sortCompareLocale||void 0,u=this.sortNullLast;if(e&&i){var p=this.computedFieldsObj[e]||{},f=p.sortByFormatted,b=Object(c.f)(f)?f:f?this.getFieldFormatter(e):void 0;return Object(a.a)(t,function(t,n){var i=null;return Object(c.f)(o)&&(i=o(t,n,e,r,b,s,l)),(Object(c.o)(i)||!1===i)&&(i=Object(d.a)(t,n,e,r,b,s,l,u)),(i||0)*(r?-1:1)})}return t}},watch:{isSortable:function(t,e){t?this.isSortable&&this.$on("head-clicked",this.handleSort):this.$off("head-clicked",this.handleSort)},sortDesc:function(t,e){t!==this.localSortDesc&&(this.localSortDesc=t||!1)},sortBy:function(t,e){t!==this.localSortBy&&(this.localSortBy=t||"")},localSortDesc:function(t,e){t!==e&&this.$emit("update:sortDesc",t)},localSortBy:function(t,e){t!==e&&this.$emit("update:sortBy",t)}},created:function(){this.isSortable&&this.$on("head-clicked",this.handleSort)},methods:{handleSort:function(t,e,r,o){var n=this;if(this.isSortable&&(!o||!this.noFooterSorting)){var i=!1,a=function(){var t=e.sortDirection||n.sortDirection;"asc"===t?n.localSortDesc=!1:"desc"===t&&(n.localSortDesc=!0)};e.sortable?(t===this.localSortBy?this.localSortDesc=!this.localSortDesc:(this.localSortBy=t,a()),i=!0):this.localSortBy&&!this.noSortReset&&(this.localSortBy="",a(),i=!0),i&&this.$emit("sort-changed",this.context)}},sortTheadThClasses:function(t,e,r){return{"b-table-sort-icon-left":e.sortable&&this.sortIconLeft&&!(r&&this.noFooterSorting)}},sortTheadThAttrs:function(t,e,r){if(!this.isSortable||r&&this.noFooterSorting)return{};var o=e.sortable,n="";e.label&&e.label.trim()||e.headerTitle||(n=Object(s.a)(t));var i="";if(o)if(this.localSortBy===t)i=this.localSortDesc?this.labelSortAsc:this.labelSortDesc;else{i=this.localSortDesc?this.labelSortDesc:this.labelSortAsc;var a=this.sortDirection||e.sortDirection;"asc"===a?i=this.labelSortAsc:"desc"===a&&(i=this.labelSortDesc)}else this.noSortReset||(i=this.localSortBy?this.labelSortClear:"");n=[n.trim(),i.trim()].filter(Boolean).join(": ");var l=o&&this.localSortBy===t?this.localSortDesc?"descending":"ascending":o?"none":null;return{"aria-label":n||null,"aria-sort":l}}}}},function(t,e,r){"use strict";var o=r(33),n=r(1),i=r(202),a=function(t,e,r,a,s,l,c,d){var u=Object(o.a)(t,r,null),p=Object(o.a)(e,r,null);return Object(n.f)(s)&&(u=s(u,r,t),p=s(p,r,e)),u=Object(n.o)(u)?"":u,p=Object(n.o)(p)?"":p,Object(n.c)(u)&&Object(n.c)(p)||Object(n.h)(u)&&Object(n.h)(p)?u<p?-1:u>p?1:0:d&&""===u&&""!==p?1:d&&""!==u&&""===p?-1:Object(i.a)(u).localeCompare(Object(i.a)(p),c,l)};e.a=a},function(t,e,r){"use strict";e.a={props:{perPage:{type:[Number,String],default:0},currentPage:{type:[Number,String],default:1}},computed:{localPaging:function(){return!this.hasProvider||!!this.noProviderPaging},paginatedItems:function(){var t=this.sortedItems||this.filteredItems||this.localItems||[],e=Math.max(parseInt(this.currentPage,10)||1,1),r=Math.max(parseInt(this.perPage,10)||0,0);return this.localPaging&&r&&(t=t.slice((e-1)*r,e*r)),t}}}},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){i(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var a=r(33),s=r(26),l=r(1),c=r(21),d=r(28),u=r(49);e.a={props:{tbodyTrClass:{type:[String,Array,Function],default:null}},methods:{getTdValues:function(t,e,r,o){var n=this.$parent;if(r){var i=Object(a.a)(t,e,"");return Object(l.f)(r)?r(i,e,t):Object(l.m)(r)&&Object(l.f)(n[r])?n[r](i,e,t):r}return o},getThValues:function(t,e,r,o,n){var i=this.$parent;if(r){var s=Object(a.a)(t,e,"");return Object(l.f)(r)?r(s,e,t,o):Object(l.m)(r)&&Object(l.f)(i[r])?i[r](s,e,t,o):r}return n},getFormattedValue:function(t,e){var r=e.key,o=this.getFieldFormatter(r),n=Object(a.a)(t,r,null);return Object(l.f)(o)&&(n=o(n,r,t)),Object(l.o)(n)?"":n},toggleDetailsFactory:function(t,e){var r=this;return function(){t&&r.$set(e,"_showDetails",!e._showDetails)}},rowHovered:function(t){this.tbodyRowEvtStopped(t)||this.emitTbodyRowEvent("row-hovered",t)},rowUnhovered:function(t){this.tbodyRowEvtStopped(t)||this.emitTbodyRowEvent("row-unhovered",t)},renderTbodyRowCell:function(t,e,r,o){var i=this.$createElement,c=this.hasNormalizedSlot("row-details"),p=this.getFormattedValue(r,t),f=t.key,b=t.stickyColumn?t.isRowHeader?u.a:d.a:t.isRowHeader?"th":"td",m=r._cellVariants&&r._cellVariants[f]?r._cellVariants[f]:t.variant||null,h={key:"row-".concat(o,"-cell-").concat(e,"-").concat(f),class:[t.class?t.class:"",this.getTdValues(r,f,t.tdClass,"")],props:{},attrs:n({"aria-colindex":String(e+1)},t.isRowHeader?this.getThValues(r,f,t.thAttr,"row",{}):this.getTdValues(r,f,t.tdAttr,{}))};t.stickyColumn?h.props={stackedHeading:this.isStacked?t.label:null,stickyColumn:t.stickyColumn,variant:m}:(h.attrs["data-label"]=this.isStacked&&!Object(l.o)(t.label)?Object(s.a)(t.label):null,h.attrs.role=t.isRowHeader?"rowheader":"cell",h.attrs.scope=t.isRowHeader?"row":null,m&&h.class.push("".concat(this.dark?"bg":"table","-").concat(m)));var g={item:r,index:o,field:t,unformatted:Object(a.a)(r,f,""),value:p,toggleDetails:this.toggleDetailsFactory(c,r),detailsShowing:Boolean(r._showDetails)};this.selectedRows&&(g.rowSelected=this.isRowSelected(o));var v=this.$_bodyFieldSlotNameCache[f],y=v?this.normalizeSlot(v,g):Object(s.a)(p);return this.isStacked&&(y=[i("div",{},[y])]),i(b,h,[y])},renderTbodyRow:function(t,e){var r=this,o=this.$createElement,i=this.computedFields,a=this.striped,u=this.hasNormalizedSlot("row-details"),p=Boolean(t._showDetails&&u),f=this.$listeners["row-clicked"]||this.isSelectable,b=[],m=p?this.safeId("_details_".concat(e,"_")):null,h=i.map(function(o,n){return r.renderTbodyRowCell(o,n,t,e)}),g=null;this.currentPage&&this.perPage&&this.perPage>0&&(g=String((this.currentPage-1)*this.perPage+e+1));var v=this.primaryKey,y=v&&!Object(l.o)(t[v]),w=y?Object(s.a)(t[v]):String(e),x=y?this.safeId("_row_".concat(t[v])):null,O=this.selectableRowClasses?this.selectableRowClasses(e):{},k=this.selectableRowAttrs?this.selectableRowAttrs(e):{};if(b.push(o(c.a,{key:"__b-table-row-".concat(w,"__"),ref:"itemRows",refInFor:!0,class:[Object(l.f)(this.tbodyTrClass)?this.tbodyTrClass(t,"row"):this.tbodyTrClass,O,p?"b-table-has-details":""],props:{variant:t._rowVariant||null},attrs:n({id:x,tabindex:f?"0":null,"data-pk":x?String(t[v]):null,"aria-details":m,"aria-owns":m,"aria-rowindex":g},k),on:{mouseenter:this.rowHovered,mouseleave:this.rowUnhovered}},h)),p){var j={item:t,index:e,fields:i,toggleDetails:this.toggleDetailsFactory(u,t)},S=o(d.a,{props:{colspan:i.length}},[this.normalizeSlot("row-details",j)]);a&&b.push(o("tr",{key:"__b-table-details-stripe__".concat(w),staticClass:"d-none",attrs:{"aria-hidden":"true",role:"presentation"}})),b.push(o(c.a,{key:"__b-table-details__".concat(w),staticClass:"b-table-details",class:[Object(l.f)(this.tbodyTrClass)?this.tbodyTrClass(t,"row-details"):this.tbodyTrClass],props:{variant:t._rowVariant||null},attrs:{id:m,tabindex:"-1"}},[S]))}else u&&(b.push(o()),a&&b.push(o()));return b}}}},function(t,e,r){"use strict";var o=r(11),n=r(1),i=r(21),a=r(28);e.a={props:{showEmpty:{type:Boolean,default:!1},emptyText:{type:String,default:"There are no records to show"},emptyHtml:{type:String},emptyFilteredText:{type:String,default:"There are no records matching your request"},emptyFilteredHtml:{type:String}},methods:{renderEmpty:function(){var t,e=this.$createElement,r=this.computedItems;return!this.showEmpty||r&&0!==r.length||this.computedBusy&&this.hasNormalizedSlot("table-busy")||(t=this.normalizeSlot(this.isFiltered?"emptyfiltered":"empty",{emptyFilteredHtml:this.emptyFilteredHtml,emptyFilteredText:this.emptyFilteredText,emptyHtml:this.emptyHtml,emptyText:this.emptyText,fields:this.computedFields,items:this.computedItems}),t||(t=e("div",{class:["text-center","my-2"],domProps:this.isFiltered?Object(o.a)(this.emptyFilteredHtml,this.emptyFilteredText):Object(o.a)(this.emptyHtml,this.emptyText)})),t=e(a.a,{props:{colspan:this.computedFields.length||null}},[e("div",{attrs:{role:"alert","aria-live":"polite"}},[t])]),t=e(i.a,{key:this.isFiltered?"b-empty-filtered-row":"b-empty-row",staticClass:"b-table-empty-row",class:[Object(n.f)(this.tbodyTrClass)?this.tbodyTrClass(null,"row-empty"):this.tbodyTrClass]},[t])),t||e()}}}},function(t,e,r){"use strict";var o=r(1),n=r(21);e.a={methods:{renderTopRow:function(){var t=this.$createElement;if(!this.hasNormalizedSlot("top-row")||!0===this.stacked||""===this.stacked)return t();var e=this.computedFields;return t(n.a,{key:"b-top-row",staticClass:"b-table-top-row",class:[Object(o.f)(this.tbodyTrClass)?this.tbodyTrClass(null,"row-top"):this.tbodyTrClass]},[this.normalizeSlot("top-row",{columns:e.length,fields:e})])}}}},function(t,e,r){"use strict";var o=r(1),n=r(21);e.a={methods:{renderBottomRow:function(){var t=this.$createElement;if(!this.hasNormalizedSlot("bottom-row")||!0===this.stacked||""===this.stacked)return t();var e=this.computedFields;return t(n.a,{key:"b-bottom-row",staticClass:"b-table-bottom-row",class:[Object(o.f)(this.tbodyTrClass)?this.tbodyTrClass(null,"row-bottom"):this.tbodyTrClass]},this.normalizeSlot("bottom-row",{columns:e.length,fields:e}))}}}},function(t,e,r){"use strict";var o=r(1),n=r(21),i=r(28);e.a={props:{busy:{type:Boolean,default:!1}},data:function(){return{localBusy:!1}},computed:{computedBusy:function(){return this.busy||this.localBusy}},watch:{localBusy:function(t,e){t!==e&&this.$emit("update:busy",t)}},methods:{stopIfBusy:function(t){return!!this.computedBusy&&(t.preventDefault(),t.stopPropagation(),!0)},renderBusy:function(){var t=this.$createElement;return this.computedBusy&&this.hasNormalizedSlot("table-busy")?t(n.a,{key:"table-busy-slot",staticClass:"b-table-busy-slot",class:[Object(o.f)(this.tbodyTrClass)?this.tbodyTrClass(null,"table-busy"):this.tbodyTrClass]},[t(i.a,{props:{colspan:this.computedFields.length||null}},[this.normalizeSlot("table-busy")])]):null}}}},function(t,e,r){"use strict";function o(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var n=r(12),i=r(186),a=r(7),s=r(4),l=r(1),c=r(201);e.a={props:{selectable:{type:Boolean,default:!1},selectMode:{type:String,default:"multi",validator:function(t){return Object(a.a)(["range","multi","single"],t)}},selectedVariant:{type:String,default:function(){return Object(s.c)("BTable","selectedVariant")}}},data:function(){return{selectedRows:[],selectedLastRow:-1}},computed:{isSelectable:function(){return this.selectable&&this.selectMode},selectableHasSelection:function(){return this.isSelectable&&this.selectedRows&&this.selectedRows.length>0&&this.selectedRows.some(Boolean)},selectableIsMultiSelect:function(){return this.isSelectable&&Object(a.a)(["range","multi"],this.selectMode)},selectableTableClasses:function(){var t;return t={"b-table-selectable":this.isSelectable},o(t,"b-table-select-".concat(this.selectMode),this.isSelectable),o(t,"b-table-selecting",this.selectableHasSelection),t},selectableTableAttrs:function(){return{"aria-multiselectable":this.isSelectable?this.selectableIsMultiSelect?"true":"false":null}}},watch:{computedItems:function(t,e){var r=!1;if(this.isSelectable&&this.selectedRows.length>0){r=Object(a.d)(t)&&Object(a.d)(e)&&t.length===e.length;for(var o=0;r&&o<t.length;o++)r=Object(n.a)(Object(c.a)(t[o]),Object(c.a)(e[o]))}r||this.clearSelected()},selectable:function(t,e){this.clearSelected(),this.setSelectionHandlers(t)},selectMode:function(t,e){this.clearSelected()},selectedRows:function(t,e){var r=this;if(this.isSelectable&&!Object(n.a)(t,e)){var o=[];t.forEach(function(t,e){t&&o.push(r.computedItems[e])}),this.$emit("row-selected",o)}}},beforeMount:function(){this.isSelectable&&this.setSelectionHandlers(!0)},methods:{selectRow:function(t){if(this.isSelectable&&Object(l.h)(t)&&t>=0&&t<this.computedItems.length&&!this.isRowSelected(t)){var e=this.selectableIsMultiSelect?this.selectedRows.slice():[];e[t]=!0,this.selectedLastClicked=-1,this.selectedRows=e}},unselectRow:function(t){if(this.isSelectable&&Object(l.h)(t)&&this.isRowSelected(t)){var e=this.selectedRows.slice();e[t]=!1,this.selectedLastClicked=-1,this.selectedRows=e}},selectAllRows:function(){var t=this.computedItems.length;this.isSelectable&&t>0&&(this.selectedLastClicked=-1,this.selectedRows=this.selectableIsMultiSelect?Object(i.a)(t).map(function(t){return!0}):[!0])},isRowSelected:function(t){return Boolean(Object(l.h)(t)&&this.selectedRows[t])},clearSelected:function(){this.selectedLastClicked=-1,this.selectedRows=[]},selectableRowClasses:function(t){if(this.isSelectable&&this.isRowSelected(t)){var e=this.selectedVariant;return o({"b-table-row-selected":!0},"".concat(this.dark?"bg":"table","-").concat(e),e)}return{}},selectableRowAttrs:function(t){return{"aria-selected":this.isSelectable?this.isRowSelected(t)?"true":"false":null}},setSelectionHandlers:function(t){var e=t?"$on":"$off";this[e]("row-clicked",this.selectionHandler),this[e]("filtered",this.clearSelected),this[e]("context-changed",this.clearSelected)},selectionHandler:function(t,e,r){if(!this.isSelectable)return void this.clearSelected();var o=this.selectMode,n=this.selectedRows.slice(),i=!n[e];if("single"===o)n=[];else if("range"===o)if(this.selectedLastRow>-1&&r.shiftKey){for(var a=Math.min(this.selectedLastRow,e);a<=Math.max(this.selectedLastRow,e);a++)n[a]=!0;i=!0}else r.ctrlKey||r.metaKey||(n=[],i=!0),this.selectedLastRow=i?e:-1;n[e]=i,this.selectedRows=n}}}},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){i(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var a=r(12),s=r(13),l=r(1),c=r(27);e.a={mixins:[c.a],props:{items:{type:[Array,Function],default:function(){return[]}},noProviderPaging:{type:Boolean,default:!1},noProviderSorting:{type:Boolean,default:!1},noProviderFiltering:{type:Boolean,default:!1},apiUrl:{type:String,default:""}},computed:{hasProvider:function(){return Object(l.f)(this.items)},providerTriggerContext:function(){var t={apiUrl:this.apiUrl,filter:null,sortBy:null,sortDesc:null,perPage:null,currentPage:null};return this.noProviderFiltering||(t.filter=this.localFilter),this.noProviderSorting||(t.sortBy=this.localSortBy,t.sortDesc=this.localSortDesc),this.noProviderPaging||(t.perPage=this.perPage,t.currentPage=this.currentPage),n({},t)}},watch:{items:function(t,e){(this.hasProvider||Object(l.f)(t))&&this.$nextTick(this._providerUpdate)},providerTriggerContext:function(t,e){Object(a.a)(t,e)||this.$nextTick(this._providerUpdate)}},mounted:function(){var t=this;!this.hasProvider||this.localItems&&0!==this.localItems.length||this._providerUpdate(),this.listenOnRoot("bv::refresh::table",function(e){e!==t.id&&e!==t||t.refresh()})},methods:{refresh:function(){this.$off("refreshed",this.refresh),this.computedBusy?this.localBusy&&this.hasProvider&&this.$on("refreshed",this.refresh):(this.clearSelected(),this.hasProvider?this.$nextTick(this._providerUpdate):this.localItems=Object(l.a)(this.items)?this.items.slice():[])},_providerSetLocal:function(t){this.localItems=Object(l.a)(t)?t.slice():[],this.localBusy=!1,this.$emit("refreshed"),this.id&&this.emitOnRoot("bv::table::refreshed",this.id)},_providerUpdate:function(){var t=this;if(this.hasProvider){if(this.computedBusy)return void this.$nextTick(this.refresh);this.localBusy=!0,this.$nextTick(function(){try{var e=t.items(t.context,t._providerSetLocal);Object(l.k)(e)?e.then(function(e){t._providerSetLocal(e)}):Object(l.a)(e)?t._providerSetLocal(e):2!==t.items.length&&(Object(s.a)("b-table provider function didn't request callback and did not return a promise or data"),t.localBusy=!1)}catch(e){Object(s.a)("b-table provider function error [".concat(e.name,"] ").concat(e.message)),t.localBusy=!1,t.$off("refreshed",t.refresh)}})}}}}},function(t,e,r){"use strict";r.d(e,"a",function(){return c});var o=r(3),n=r(221),i=r(82),a=r(222),s=r(224),l=r(92),c=Object(o.b)({plugins:{VBModalPlugin:n.a,VBPopoverPlugin:i.a,VBScrollspyPlugin:a.a,VBTogglePlugin:s.a,VBTooltipPlugin:l.a}})},function(t,e,r){"use strict";function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function n(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(r,!0).forEach(function(e){i(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function a(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){for(var r=0;r<e.length;r++){var o=e[r];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}function l(t,e,r){return e&&s(t.prototype,e),r&&s(t,r),t}var c=r(39),d=r(13),u=r(6),p=r(1),f=r(8),b={element:"body",offset:10,method:"auto",throttle:75},m={element:"(string|element|component)",offset:"number",method:"string",throttle:"number"},h={DROPDOWN_ITEM:"dropdown-item",ACTIVE:"active"},g={ACTIVE:".active",NAV_LIST_GROUP:".nav, .list-group",NAV_LINKS:".nav-link",NAV_ITEMS:".nav-item",LIST_ITEMS:".list-group-item",DROPDOWN:".dropdown, .dropup",DROPDOWN_ITEMS:".dropdown-item",DROPDOWN_TOGGLE:".dropdown-toggle"},v={OFFSET:"offset",POSITION:"position"},y=/^.*(#[^#]+)$/,w=["webkitTransitionEnd","transitionend","otransitionend","oTransitionEnd"],x={passive:!0,capture:!1},O=function(t){return Object(f.m)(t).match(/\s([a-zA-Z]+)/)[1].toLowerCase()},k=function(t,e,r){for(var o in r)if(Object.prototype.hasOwnProperty.call(r,o)){var n=r[o],i=e[o],a=i&&Object(u.o)(i)?"element":O(i);a=i&&i._isVue?"component":a,new RegExp(n).test(a)||Object(d.a)("".concat(t,': Option "').concat(o,'" provided type "').concat(a,'" but expected type "').concat(n,'"'))}},j=function(){function t(e,r,o){a(this,t),this.$el=e,this.$scroller=null,this.$selector=[g.NAV_LINKS,g.LIST_ITEMS,g.DROPDOWN_ITEMS].join(","),this.$offsets=[],this.$targets=[],this.$activeTarget=null,this.$scrollHeight=0,this.$resizeTimeout=null,this.$obs_scroller=null,this.$obs_targets=null,this.$root=o||null,this.$config=null,this.updateConfig(r)}return l(t,[{key:"updateConfig",value:function(t,e){this.$scroller&&(this.unlisten(),this.$scroller=null);var r=n({},this.constructor.Default,{},t);if(e&&(this.$root=e),k(this.constructor.Name,r,this.constructor.DefaultType),this.$config=r,this.$root){var o=this;this.$root.$nextTick(function(){o.listen()})}else this.listen()}},{key:"dispose",value:function(){this.unlisten(),clearTimeout(this.$resizeTimeout),this.$resizeTimeout=null,this.$el=null,this.$config=null,this.$scroller=null,this.$selector=null,this.$offsets=null,this.$targets=null,this.$activeTarget=null,this.$scrollHeight=null}},{key:"listen",value:function(){var t=this,e=this.getScroller();e&&"BODY"!==e.tagName&&Object(u.f)(e,"scroll",this,x),Object(u.f)(window,"scroll",this,x),Object(u.f)(window,"resize",this,x),Object(u.f)(window,"orientationchange",this,x),w.forEach(function(e){Object(u.f)(window,e,t,x)}),this.setObservers(!0),this.handleEvent("refresh")}},{key:"unlisten",value:function(){var t=this,e=this.getScroller();this.setObservers(!1),e&&"BODY"!==e.tagName&&Object(u.e)(e,"scroll",this,x),Object(u.e)(window,"scroll",this,x),Object(u.e)(window,"resize",this,x),Object(u.e)(window,"orientationchange",this,x),w.forEach(function(e){Object(u.e)(window,e,t,x)})}},{key:"setObservers",value:function(t){var e=this;this.$obs_scroller&&(this.$obs_scroller.disconnect(),this.$obs_scroller=null),this.$obs_targets&&(this.$obs_targets.disconnect(),this.$obs_targets=null),t&&(this.$obs_targets=Object(c.a)(this.$el,function(){e.handleEvent("mutation")},{subtree:!0,childList:!0,attributes:!0,attributeFilter:["href"]}),this.$obs_scroller=Object(c.a)(this.getScroller(),function(){e.handleEvent("mutation")},{subtree:!0,childList:!0,characterData:!0,attributes:!0,attributeFilter:["id","style","class"]}))}},{key:"handleEvent",value:function(t){var e=Object(p.m)(t)?t:t.type,r=this;"scroll"===e?(this.$obs_scroller||this.listen(),this.process()):/(resize|orientationchange|mutation|refresh)/.test(e)&&function(){r.$resizeTimeout||(r.$resizeTimeout=setTimeout(function(){r.refresh(),r.process(),r.$resizeTimeout=null},r.$config.throttle))}()}},{key:"refresh",value:function(){var t=this,e=this.getScroller();if(e){var r=e!==e.window?v.POSITION:v.OFFSET,o="auto"===this.$config.method?r:this.$config.method,n=o===v.POSITION?u.s:u.r,i=o===v.POSITION?this.getScrollTop():0;return this.$offsets=[],this.$targets=[],this.$scrollHeight=this.getScrollHeight(),Object(u.y)(this.$selector,this.$el).map(function(t){return Object(u.g)(t,"href")}).filter(function(t){return t&&y.test(t||"")}).map(function(t){var r=t.replace(y,"$1").trim();if(!r)return null;var o=Object(u.x)(r,e);return o&&Object(u.p)(o)?{offset:parseInt(n(o).top,10)+i,target:r}:null}).filter(Boolean).sort(function(t,e){return t.offset-e.offset}).reduce(function(e,r){return e[r.target]||(t.$offsets.push(r.offset),t.$targets.push(r.target),e[r.target]=!0),e},{}),this}}},{key:"process",value:function(){var t=this.getScrollTop()+this.$config.offset,e=this.getScrollHeight(),r=this.$config.offset+e-this.getOffsetHeight();if(this.$scrollHeight!==e&&this.refresh(),t>=r){var o=this.$targets[this.$targets.length-1];return void(this.$activeTarget!==o&&this.activate(o))}if(this.$activeTarget&&t<this.$offsets[0]&&this.$offsets[0]>0)return this.$activeTarget=null,void this.clear();for(var n=this.$offsets.length;n--;){this.$activeTarget!==this.$targets[n]&&t>=this.$offsets[n]&&(Object(p.n)(this.$offsets[n+1])||t<this.$offsets[n+1])&&this.activate(this.$targets[n])}}},{key:"getScroller",value:function(){if(this.$scroller)return this.$scroller;var t=this.$config.element;return t?(Object(u.o)(t.$el)?t=t.$el:Object(p.m)(t)&&(t=Object(u.x)(t)),t?(this.$scroller="BODY"===t.tagName?window:t,this.$scroller):null):null}},{key:"getScrollTop",value:function(){var t=this.getScroller();return t===window?t.pageYOffset:t.scrollTop}},{key:"getScrollHeight",value:function(){return this.getScroller().scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)}},{key:"getOffsetHeight",value:function(){var t=this.getScroller();return t===window?window.innerHeight:Object(u.h)(t).height}},{key:"activate",value:function(t){var e=this;this.$activeTarget=t,this.clear();var r=Object(u.y)(this.$selector.split(",").map(function(e){return"".concat(e,'[href$="').concat(t,'"]')}).join(","),this.$el);r.forEach(function(t){if(Object(u.m)(t,h.DROPDOWN_ITEM)){var r=Object(u.c)(g.DROPDOWN,t);r&&e.setActiveState(Object(u.x)(g.DROPDOWN_TOGGLE,r),!0),e.setActiveState(t,!0)}else{e.setActiveState(t,!0),Object(u.q)(t.parentElement,g.NAV_ITEMS)&&e.setActiveState(t.parentElement,!0);for(var o=t;o;){o=Object(u.c)(g.NAV_LIST_GROUP,o);var n=o?o.previousElementSibling:null;n&&Object(u.q)(n,"".concat(g.NAV_LINKS,", ").concat(g.LIST_ITEMS))&&e.setActiveState(n,!0),n&&Object(u.q)(n,g.NAV_ITEMS)&&(e.setActiveState(Object(u.x)(g.NAV_LINKS,n),!0),e.setActiveState(n,!0))}}}),r&&r.length>0&&this.$root&&this.$root.$emit("bv::scrollspy::activate",t,r)}},{key:"clear",value:function(){var t=this;Object(u.y)("".concat(this.$selector,", ").concat(g.NAV_ITEMS),this.$el).filter(function(t){return Object(u.m)(t,h.ACTIVE)}).forEach(function(e){return t.setActiveState(e,!1)})}},{key:"setActiveState",value:function(t,e){t&&(e?Object(u.b)(t,h.ACTIVE):Object(u.v)(t,h.ACTIVE))}}],[{key:"Name",get:function(){return"v-b-scrollspy"}},{key:"Default",get:function(){return b}},{key:"DefaultType",get:function(){return m}}]),t}();e.a=j},function(t,e,r){"use strict";r(3)},function(t,e,r){var o=r(277);"string"==typeof o&&(o=[[t.i,o,""]]),o.locals&&(t.exports=o.locals);r(23)("17bbcc31",o,!0,{})},function(t,e,r){e=t.exports=r(22)(!1),e.push([t.i,"/*!\n * Bootstrap v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */:root{--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#007bff;--secondary:#6c757d;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#343a40;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,\"Helvetica Neue\",Arial,\"Noto Sans\",sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"Noto Color Emoji\";--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,\"Liberation Mono\",\"Courier New\",monospace}*,:after,:before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex=\"-1\"]:focus{outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{font-style:normal;line-height:inherit}address,dl,ol,ul{margin-bottom:1rem}dl,ol,ul{margin-top:0}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([tabindex]),a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto}figure{margin:0 0 1rem}img{border-style:none}img,svg{vertical-align:middle}svg{overflow:hidden}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}select{word-wrap:normal}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-weight:500;line-height:1.2}.h1,h1{font-size:2.5rem}.h2,h2{font-size:2rem}.h3,h3{font-size:1.75rem}.h4,h4{font-size:1.5rem}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem}.display-1,.display-2{font-weight:300;line-height:1.2}.display-2{font-size:5.5rem}.display-3{font-size:4.5rem}.display-3,.display-4{font-weight:300;line-height:1.2}.display-4{font-size:3.5rem}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.small,small{font-size:80%;font-weight:400}.mark,mark{padding:.2em;background-color:#fcf8e3}.list-inline,.list-unstyled{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:90%;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote-footer{display:block;font-size:80%;color:#6c757d}.blockquote-footer:before{content:\"\\2014\\A0\"}.img-fluid,.img-thumbnail{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#6c757d}code{font-size:87.5%;color:#e83e8c;word-break:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:87.5%;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:100%;font-weight:700}pre{display:block;font-size:87.5%;color:#212529}pre code{font-size:inherit;color:inherit;word-break:normal}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container{max-width:540px}}@media (min-width:768px){.container{max-width:720px}}@media (min-width:992px){.container{max-width:960px}}@media (min-width:1200px){.container{max-width:1140px}}.container-fluid{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-10,.col-11,.col-12,.col-auto,.col-lg,.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-auto,.col-md,.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12,.col-md-auto,.col-sm,.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-auto{position:relative;width:100%;padding-right:15px;padding-left:15px}.col{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-first{-ms-flex-order:-1;order:-1}.order-last{-ms-flex-order:13;order:13}.order-0{-ms-flex-order:0;order:0}.order-1{-ms-flex-order:1;order:1}.order-2{-ms-flex-order:2;order:2}.order-3{-ms-flex-order:3;order:3}.order-4{-ms-flex-order:4;order:4}.order-5{-ms-flex-order:5;order:5}.order-6{-ms-flex-order:6;order:6}.order-7{-ms-flex-order:7;order:7}.order-8{-ms-flex-order:8;order:8}.order-9{-ms-flex-order:9;order:9}.order-10{-ms-flex-order:10;order:10}.order-11{-ms-flex-order:11;order:11}.order-12{-ms-flex-order:12;order:12}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-sm-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-sm-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-sm-first{-ms-flex-order:-1;order:-1}.order-sm-last{-ms-flex-order:13;order:13}.order-sm-0{-ms-flex-order:0;order:0}.order-sm-1{-ms-flex-order:1;order:1}.order-sm-2{-ms-flex-order:2;order:2}.order-sm-3{-ms-flex-order:3;order:3}.order-sm-4{-ms-flex-order:4;order:4}.order-sm-5{-ms-flex-order:5;order:5}.order-sm-6{-ms-flex-order:6;order:6}.order-sm-7{-ms-flex-order:7;order:7}.order-sm-8{-ms-flex-order:8;order:8}.order-sm-9{-ms-flex-order:9;order:9}.order-sm-10{-ms-flex-order:10;order:10}.order-sm-11{-ms-flex-order:11;order:11}.order-sm-12{-ms-flex-order:12;order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-md-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-md-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-md-first{-ms-flex-order:-1;order:-1}.order-md-last{-ms-flex-order:13;order:13}.order-md-0{-ms-flex-order:0;order:0}.order-md-1{-ms-flex-order:1;order:1}.order-md-2{-ms-flex-order:2;order:2}.order-md-3{-ms-flex-order:3;order:3}.order-md-4{-ms-flex-order:4;order:4}.order-md-5{-ms-flex-order:5;order:5}.order-md-6{-ms-flex-order:6;order:6}.order-md-7{-ms-flex-order:7;order:7}.order-md-8{-ms-flex-order:8;order:8}.order-md-9{-ms-flex-order:9;order:9}.order-md-10{-ms-flex-order:10;order:10}.order-md-11{-ms-flex-order:11;order:11}.order-md-12{-ms-flex-order:12;order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-lg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-lg-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-lg-first{-ms-flex-order:-1;order:-1}.order-lg-last{-ms-flex-order:13;order:13}.order-lg-0{-ms-flex-order:0;order:0}.order-lg-1{-ms-flex-order:1;order:1}.order-lg-2{-ms-flex-order:2;order:2}.order-lg-3{-ms-flex-order:3;order:3}.order-lg-4{-ms-flex-order:4;order:4}.order-lg-5{-ms-flex-order:5;order:5}.order-lg-6{-ms-flex-order:6;order:6}.order-lg-7{-ms-flex-order:7;order:7}.order-lg-8{-ms-flex-order:8;order:8}.order-lg-9{-ms-flex-order:9;order:9}.order-lg-10{-ms-flex-order:10;order:10}.order-lg-11{-ms-flex-order:11;order:11}.order-lg-12{-ms-flex-order:12;order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-xl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-xl-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-xl-first{-ms-flex-order:-1;order:-1}.order-xl-last{-ms-flex-order:13;order:13}.order-xl-0{-ms-flex-order:0;order:0}.order-xl-1{-ms-flex-order:1;order:1}.order-xl-2{-ms-flex-order:2;order:2}.order-xl-3{-ms-flex-order:3;order:3}.order-xl-4{-ms-flex-order:4;order:4}.order-xl-5{-ms-flex-order:5;order:5}.order-xl-6{-ms-flex-order:6;order:6}.order-xl-7{-ms-flex-order:7;order:7}.order-xl-8{-ms-flex-order:8;order:8}.order-xl-9{-ms-flex-order:9;order:9}.order-xl-10{-ms-flex-order:10;order:10}.order-xl-11{-ms-flex-order:11;order:11}.order-xl-12{-ms-flex-order:12;order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}.table{width:100%;margin-bottom:1rem;color:#212529}.table td,.table th{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6}.table thead th{vertical-align:bottom;border-bottom:2px solid #dee2e6}.table tbody+tbody{border-top:2px solid #dee2e6}.table-sm td,.table-sm th{padding:.3rem}.table-bordered,.table-bordered td,.table-bordered th{border:1px solid #dee2e6}.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}.table-borderless tbody+tbody,.table-borderless td,.table-borderless th,.table-borderless thead th{border:0}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-hover tbody tr:hover{color:#212529;background-color:rgba(0,0,0,.075)}.table-primary,.table-primary>td,.table-primary>th{background-color:#b8daff}.table-primary tbody+tbody,.table-primary td,.table-primary th,.table-primary thead th{border-color:#7abaff}.table-hover .table-primary:hover,.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#9fcdff}.table-secondary,.table-secondary>td,.table-secondary>th{background-color:#d6d8db}.table-secondary tbody+tbody,.table-secondary td,.table-secondary th,.table-secondary thead th{border-color:#b3b7bb}.table-hover .table-secondary:hover,.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#c8cbcf}.table-success,.table-success>td,.table-success>th{background-color:#c3e6cb}.table-success tbody+tbody,.table-success td,.table-success th,.table-success thead th{border-color:#8fd19e}.table-hover .table-success:hover,.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#b1dfbb}.table-info,.table-info>td,.table-info>th{background-color:#bee5eb}.table-info tbody+tbody,.table-info td,.table-info th,.table-info thead th{border-color:#86cfda}.table-hover .table-info:hover,.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#abdde5}.table-warning,.table-warning>td,.table-warning>th{background-color:#ffeeba}.table-warning tbody+tbody,.table-warning td,.table-warning th,.table-warning thead th{border-color:#ffdf7e}.table-hover .table-warning:hover,.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#ffe8a1}.table-danger,.table-danger>td,.table-danger>th{background-color:#f5c6cb}.table-danger tbody+tbody,.table-danger td,.table-danger th,.table-danger thead th{border-color:#ed969e}.table-hover .table-danger:hover,.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#f1b0b7}.table-light,.table-light>td,.table-light>th{background-color:#fdfdfe}.table-light tbody+tbody,.table-light td,.table-light th,.table-light thead th{border-color:#fbfcfc}.table-hover .table-light:hover,.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:#ececf6}.table-dark,.table-dark>td,.table-dark>th{background-color:#c6c8ca}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#95999c}.table-hover .table-dark:hover,.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:#b9bbbe}.table-active,.table-active>td,.table-active>th,.table-hover .table-active:hover,.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.table .thead-dark th{color:#fff;background-color:#343a40;border-color:#454d55}.table .thead-light th{color:#495057;background-color:#e9ecef;border-color:#dee2e6}.table-dark{color:#fff;background-color:#343a40}.table-dark td,.table-dark th,.table-dark thead th{border-color:#454d55}.table-dark.table-bordered{border:0}.table-dark.table-striped tbody tr:nth-of-type(odd){background-color:hsla(0,0%,100%,.05)}.table-dark.table-hover tbody tr:hover{color:#fff;background-color:hsla(0,0%,100%,.075)}@media (max-width:575.98px){.table-responsive-sm{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-sm>.table-bordered{border:0}}@media (max-width:767.98px){.table-responsive-md{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-md>.table-bordered{border:0}}@media (max-width:991.98px){.table-responsive-lg{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-lg>.table-bordered{border:0}}@media (max-width:1199.98px){.table-responsive-xl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-xl>.table-bordered{border:0}}.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive>.table-bordered{border:0}.form-control{display:block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:focus{color:#495057;background-color:#fff;border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.form-control::-webkit-input-placeholder{color:#6c757d;opacity:1}.form-control::-moz-placeholder{color:#6c757d;opacity:1}.form-control:-ms-input-placeholder,.form-control::-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}select.form-control:focus::-ms-value{color:#495057;background-color:#fff}.form-control-file,.form-control-range{display:block;width:100%}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem;line-height:1.5}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem;line-height:1.5}.form-control-plaintext{display:block;width:100%;padding-top:.375rem;padding-bottom:.375rem;margin-bottom:0;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.form-control-lg{height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}select.form-control[multiple],select.form-control[size],textarea.form-control{height:auto}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}.form-row>.col,.form-row>[class*=col-]{padding-right:5px;padding-left:5px}.form-check{position:relative;display:block;padding-left:1.25rem}.form-check-input{position:absolute;margin-top:.3rem;margin-left:-1.25rem}.form-check-input:disabled~.form-check-label{color:#6c757d}.form-check-label{margin-bottom:0}.form-check-inline{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;padding-left:0;margin-right:.75rem}.form-check-inline .form-check-input{position:static;margin-top:0;margin-right:.3125rem;margin-left:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#28a745}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(40,167,69,.9);border-radius:.25rem}.form-control.is-valid,.was-validated .form-control:valid{border-color:#28a745;padding-right:calc(1.5em + .75rem);background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-position:100% calc(.375em + .1875rem);background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.form-control.is-valid~.valid-feedback,.form-control.is-valid~.valid-tooltip,.was-validated .form-control:valid~.valid-feedback,.was-validated .form-control:valid~.valid-tooltip{display:block}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-valid,.was-validated .custom-select:valid{border-color:#28a745;padding-right:calc((1em + .75rem) * 3 / 4 + 1.75rem);background:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E\") no-repeat right .75rem center/8px 10px,url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3E%3C/svg%3E\") #fff no-repeat center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem)}.custom-select.is-valid:focus,.was-validated .custom-select:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.custom-select.is-valid~.valid-feedback,.custom-select.is-valid~.valid-tooltip,.form-control-file.is-valid~.valid-feedback,.form-control-file.is-valid~.valid-tooltip,.was-validated .custom-select:valid~.valid-feedback,.was-validated .custom-select:valid~.valid-tooltip,.was-validated .form-control-file:valid~.valid-feedback,.was-validated .form-control-file:valid~.valid-tooltip{display:block}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#28a745}.form-check-input.is-valid~.valid-feedback,.form-check-input.is-valid~.valid-tooltip,.was-validated .form-check-input:valid~.valid-feedback,.was-validated .form-check-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid~.custom-control-label,.was-validated .custom-control-input:valid~.custom-control-label{color:#28a745}.custom-control-input.is-valid~.custom-control-label:before,.was-validated .custom-control-input:valid~.custom-control-label:before{border-color:#28a745}.custom-control-input.is-valid~.valid-feedback,.custom-control-input.is-valid~.valid-tooltip,.was-validated .custom-control-input:valid~.valid-feedback,.was-validated .custom-control-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid:checked~.custom-control-label:before,.was-validated .custom-control-input:valid:checked~.custom-control-label:before{border-color:#34ce57;background-color:#34ce57}.custom-control-input.is-valid:focus~.custom-control-label:before,.was-validated .custom-control-input:valid:focus~.custom-control-label:before{box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.custom-control-input.is-valid:focus:not(:checked)~.custom-control-label:before,.custom-file-input.is-valid~.custom-file-label,.was-validated .custom-control-input:valid:focus:not(:checked)~.custom-control-label:before,.was-validated .custom-file-input:valid~.custom-file-label{border-color:#28a745}.custom-file-input.is-valid~.valid-feedback,.custom-file-input.is-valid~.valid-tooltip,.was-validated .custom-file-input:valid~.valid-feedback,.was-validated .custom-file-input:valid~.valid-tooltip{display:block}.custom-file-input.is-valid:focus~.custom-file-label,.was-validated .custom-file-input:valid:focus~.custom-file-label{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(220,53,69,.9);border-radius:.25rem}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:#dc3545;padding-right:calc(1.5em + .75rem);background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23dc3545' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23dc3545' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-position:100% calc(.375em + .1875rem);background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-control.is-invalid~.invalid-feedback,.form-control.is-invalid~.invalid-tooltip,.was-validated .form-control:invalid~.invalid-feedback,.was-validated .form-control:invalid~.invalid-tooltip{display:block}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-invalid,.was-validated .custom-select:invalid{border-color:#dc3545;padding-right:calc((1em + .75rem) * 3 / 4 + 1.75rem);background:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E\") no-repeat right .75rem center/8px 10px,url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23dc3545' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23dc3545' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E\") #fff no-repeat center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem)}.custom-select.is-invalid:focus,.was-validated .custom-select:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.custom-select.is-invalid~.invalid-feedback,.custom-select.is-invalid~.invalid-tooltip,.form-control-file.is-invalid~.invalid-feedback,.form-control-file.is-invalid~.invalid-tooltip,.was-validated .custom-select:invalid~.invalid-feedback,.was-validated .custom-select:invalid~.invalid-tooltip,.was-validated .form-control-file:invalid~.invalid-feedback,.was-validated .form-control-file:invalid~.invalid-tooltip{display:block}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#dc3545}.form-check-input.is-invalid~.invalid-feedback,.form-check-input.is-invalid~.invalid-tooltip,.was-validated .form-check-input:invalid~.invalid-feedback,.was-validated .form-check-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid~.custom-control-label,.was-validated .custom-control-input:invalid~.custom-control-label{color:#dc3545}.custom-control-input.is-invalid~.custom-control-label:before,.was-validated .custom-control-input:invalid~.custom-control-label:before{border-color:#dc3545}.custom-control-input.is-invalid~.invalid-feedback,.custom-control-input.is-invalid~.invalid-tooltip,.was-validated .custom-control-input:invalid~.invalid-feedback,.was-validated .custom-control-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid:checked~.custom-control-label:before,.was-validated .custom-control-input:invalid:checked~.custom-control-label:before{border-color:#e4606d;background-color:#e4606d}.custom-control-input.is-invalid:focus~.custom-control-label:before,.was-validated .custom-control-input:invalid:focus~.custom-control-label:before{box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.custom-control-input.is-invalid:focus:not(:checked)~.custom-control-label:before,.custom-file-input.is-invalid~.custom-file-label,.was-validated .custom-control-input:invalid:focus:not(:checked)~.custom-control-label:before,.was-validated .custom-file-input:invalid~.custom-file-label{border-color:#dc3545}.custom-file-input.is-invalid~.invalid-feedback,.custom-file-input.is-invalid~.invalid-tooltip,.was-validated .custom-file-input:invalid~.invalid-feedback,.was-validated .custom-file-input:invalid~.invalid-tooltip{display:block}.custom-file-input.is-invalid:focus~.custom-file-label,.was-validated .custom-file-input:invalid:focus~.custom-file-label{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-inline{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center;align-items:center}.form-inline .form-check{width:100%}@media (min-width:576px){.form-inline label{-ms-flex-align:center;-ms-flex-pack:center;justify-content:center}.form-inline .form-group,.form-inline label{display:-ms-flexbox;display:flex;align-items:center;margin-bottom:0}.form-inline .form-group{-ms-flex:0 0 auto;flex:0 0 auto;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-plaintext{display:inline-block}.form-inline .custom-select,.form-inline .input-group{width:auto}.form-inline .form-check{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:auto;padding-left:0}.form-inline .form-check-input{position:relative;-ms-flex-negative:0;flex-shrink:0;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.form-inline .custom-control-label{margin-bottom:0}}.btn{display:inline-block;font-weight:400;color:#212529;text-align:center;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:#212529;text-decoration:none}.btn.focus,.btn:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.btn.disabled,.btn:disabled{opacity:.65}a.btn.disabled,fieldset:disabled a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:hover{color:#fff;background-color:#0069d9;border-color:#0062cc}.btn-primary.focus,.btn-primary:focus{box-shadow:0 0 0 .2rem rgba(38,143,255,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:not(:disabled):not(.disabled).active,.btn-primary:not(:disabled):not(.disabled):active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#0062cc;border-color:#005cbf}.btn-primary:not(:disabled):not(.disabled).active:focus,.btn-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(38,143,255,.5)}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:hover{color:#fff;background-color:#5a6268;border-color:#545b62}.btn-secondary.focus,.btn-secondary:focus{box-shadow:0 0 0 .2rem hsla(208,6%,54%,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:not(:disabled):not(.disabled).active,.btn-secondary:not(:disabled):not(.disabled):active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#545b62;border-color:#4e555b}.btn-secondary:not(:disabled):not(.disabled).active:focus,.btn-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem hsla(208,6%,54%,.5)}.btn-success{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:hover{color:#fff;background-color:#218838;border-color:#1e7e34}.btn-success.focus,.btn-success:focus{box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:not(:disabled):not(.disabled).active,.btn-success:not(:disabled):not(.disabled):active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#1e7e34;border-color:#1c7430}.btn-success:not(:disabled):not(.disabled).active:focus,.btn-success:not(:disabled):not(.disabled):active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-info{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:hover{color:#fff;background-color:#138496;border-color:#117a8b}.btn-info.focus,.btn-info:focus{box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-info.disabled,.btn-info:disabled{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:not(:disabled):not(.disabled).active,.btn-info:not(:disabled):not(.disabled):active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#117a8b;border-color:#10707f}.btn-info:not(:disabled):not(.disabled).active:focus,.btn-info:not(:disabled):not(.disabled):active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-warning{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:hover{color:#212529;background-color:#e0a800;border-color:#d39e00}.btn-warning.focus,.btn-warning:focus{box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:not(:disabled):not(.disabled).active,.btn-warning:not(:disabled):not(.disabled):active,.show>.btn-warning.dropdown-toggle{color:#212529;background-color:#d39e00;border-color:#c69500}.btn-warning:not(:disabled):not(.disabled).active:focus,.btn-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:hover{color:#fff;background-color:#c82333;border-color:#bd2130}.btn-danger.focus,.btn-danger:focus{box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:not(:disabled):not(.disabled).active,.btn-danger:not(:disabled):not(.disabled):active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#bd2130;border-color:#b21f2d}.btn-danger:not(:disabled):not(.disabled).active:focus,.btn-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-light{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#212529;background-color:#e2e6ea;border-color:#dae0e5}.btn-light.focus,.btn-light:focus{box-shadow:0 0 0 .2rem hsla(220,4%,85%,.5)}.btn-light.disabled,.btn-light:disabled{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:not(:disabled):not(.disabled).active,.btn-light:not(:disabled):not(.disabled):active,.show>.btn-light.dropdown-toggle{color:#212529;background-color:#dae0e5;border-color:#d3d9df}.btn-light:not(:disabled):not(.disabled).active:focus,.btn-light:not(:disabled):not(.disabled):active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem hsla(220,4%,85%,.5)}.btn-dark{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:hover{color:#fff;background-color:#23272b;border-color:#1d2124}.btn-dark.focus,.btn-dark:focus{box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:not(:disabled):not(.disabled).active,.btn-dark:not(:disabled):not(.disabled):active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1d2124;border-color:#171a1d}.btn-dark:not(:disabled):not(.disabled).active:focus,.btn-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}.btn-outline-primary{color:#007bff;border-color:#007bff}.btn-outline-primary:hover{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary.focus,.btn-outline-primary:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#007bff;background-color:transparent}.btn-outline-primary:not(:disabled):not(.disabled).active,.btn-outline-primary:not(:disabled):not(.disabled):active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary:not(:disabled):not(.disabled).active:focus,.btn-outline-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-secondary{color:#6c757d;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary.focus,.btn-outline-secondary:focus{box-shadow:0 0 0 .2rem hsla(208,7%,46%,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}.btn-outline-secondary:not(:disabled):not(.disabled).active,.btn-outline-secondary:not(:disabled):not(.disabled):active,.show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem hsla(208,7%,46%,.5)}.btn-outline-success{color:#28a745;border-color:#28a745}.btn-outline-success:hover{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success.focus,.btn-outline-success:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#28a745;background-color:transparent}.btn-outline-success:not(:disabled):not(.disabled).active,.btn-outline-success:not(:disabled):not(.disabled):active,.show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success:not(:disabled):not(.disabled).active:focus,.btn-outline-success:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-info{color:#17a2b8;border-color:#17a2b8}.btn-outline-info:hover{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info.focus,.btn-outline-info:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#17a2b8;background-color:transparent}.btn-outline-info:not(:disabled):not(.disabled).active,.btn-outline-info:not(:disabled):not(.disabled):active,.show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info:not(:disabled):not(.disabled).active:focus,.btn-outline-info:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-warning{color:#ffc107;border-color:#ffc107}.btn-outline-warning:hover{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning.focus,.btn-outline-warning:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffc107;background-color:transparent}.btn-outline-warning:not(:disabled):not(.disabled).active,.btn-outline-warning:not(:disabled):not(.disabled):active,.show>.btn-outline-warning.dropdown-toggle{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning:not(:disabled):not(.disabled).active:focus,.btn-outline-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-danger{color:#dc3545;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger.focus,.btn-outline-danger:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#dc3545;background-color:transparent}.btn-outline-danger:not(:disabled):not(.disabled).active,.btn-outline-danger:not(:disabled):not(.disabled):active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger:not(:disabled):not(.disabled).active:focus,.btn-outline-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-light{color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:hover{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light.focus,.btn-outline-light:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-light:not(:disabled):not(.disabled).active,.btn-outline-light:not(:disabled):not(.disabled):active,.show>.btn-outline-light.dropdown-toggle{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:not(:disabled):not(.disabled).active:focus,.btn-outline-light:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-dark{color:#343a40;border-color:#343a40}.btn-outline-dark:hover{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark.focus,.btn-outline-dark:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#343a40;background-color:transparent}.btn-outline-dark:not(:disabled):not(.disabled).active,.btn-outline-dark:not(:disabled):not(.disabled):active,.show>.btn-outline-dark.dropdown-toggle{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark:not(:disabled):not(.disabled).active:focus,.btn-outline-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-link{font-weight:400;color:#007bff;text-decoration:none}.btn-link:hover{color:#0056b3;text-decoration:underline}.btn-link.focus,.btn-link:focus{text-decoration:underline;box-shadow:none}.btn-link.disabled,.btn-link:disabled{color:#6c757d;pointer-events:none}.btn-group-lg>.btn,.btn-lg{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{position:relative;height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.dropdown,.dropleft,.dropright,.dropup{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:\"\";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty:after{margin-left:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-menu-left{right:auto;left:0}.dropdown-menu-right{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-left{right:auto;left:0}.dropdown-menu-sm-right{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-left{right:auto;left:0}.dropdown-menu-md-right{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-left{right:auto;left:0}.dropdown-menu-lg-right{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-left{right:auto;left:0}.dropdown-menu-xl-right{right:0;left:auto}}.dropup .dropdown-menu{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:\"\";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty:after{margin-left:0}.dropright .dropdown-menu{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropright .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:\"\";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropright .dropdown-toggle:empty:after{margin-left:0}.dropright .dropdown-toggle:after{vertical-align:0}.dropleft .dropdown-menu{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropleft .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:\"\";display:none}.dropleft .dropdown-toggle:before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:\"\";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropleft .dropdown-toggle:empty:after{margin-left:0}.dropleft .dropdown-toggle:before{vertical-align:0}.dropdown-menu[x-placement^=bottom],.dropdown-menu[x-placement^=left],.dropdown-menu[x-placement^=right],.dropdown-menu[x-placement^=top]{right:auto;bottom:auto}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9ecef}.dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#212529;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#16181b;text-decoration:none;background-color:#f8f9fa}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#007bff}.dropdown-item.disabled,.dropdown-item:disabled{color:#6c757d;pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1.5rem;color:#212529}.btn-group,.btn-group-vertical{position:relative;display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;-ms-flex:1 1 auto;flex:1 1 auto}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.btn-toolbar{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:start;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn-group:not(:first-child),.btn-group>.btn:not(:first-child){margin-left:-1px}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split:after,.dropright .dropdown-toggle-split:after,.dropup .dropdown-toggle-split:after{margin-left:0}.dropleft .dropdown-toggle-split:before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:center;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn{margin-bottom:0}.btn-group-toggle>.btn-group>.btn input[type=checkbox],.btn-group-toggle>.btn-group>.btn input[type=radio],.btn-group-toggle>.btn input[type=checkbox],.btn-group-toggle>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:stretch;align-items:stretch;width:100%}.input-group>.custom-file,.input-group>.custom-select,.input-group>.form-control,.input-group>.form-control-plaintext{position:relative;-ms-flex:1 1 auto;flex:1 1 auto;width:1%;margin-bottom:0}.input-group>.custom-file+.custom-file,.input-group>.custom-file+.custom-select,.input-group>.custom-file+.form-control,.input-group>.custom-select+.custom-file,.input-group>.custom-select+.custom-select,.input-group>.custom-select+.form-control,.input-group>.form-control+.custom-file,.input-group>.form-control+.custom-select,.input-group>.form-control+.form-control,.input-group>.form-control-plaintext+.custom-file,.input-group>.form-control-plaintext+.custom-select,.input-group>.form-control-plaintext+.form-control{margin-left:-1px}.input-group>.custom-file .custom-file-input:focus~.custom-file-label,.input-group>.custom-select:focus,.input-group>.form-control:focus{z-index:3}.input-group>.custom-file .custom-file-input:focus{z-index:4}.input-group>.custom-select:not(:last-child),.input-group>.form-control:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-select:not(:first-child),.input-group>.form-control:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.custom-file{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.input-group>.custom-file:not(:last-child) .custom-file-label,.input-group>.custom-file:not(:last-child) .custom-file-label:after{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-file:not(:first-child) .custom-file-label{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-append,.input-group-prepend{display:-ms-flexbox;display:flex}.input-group-append .btn,.input-group-prepend .btn{position:relative;z-index:2}.input-group-append .btn:focus,.input-group-prepend .btn:focus{z-index:3}.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .input-group-text+.btn,.input-group-append .input-group-text+.input-group-text,.input-group-prepend .btn+.btn,.input-group-prepend .btn+.input-group-text,.input-group-prepend .input-group-text+.btn,.input-group-prepend .input-group-text+.input-group-text{margin-left:-1px}.input-group-prepend{margin-right:-1px}.input-group-append{margin-left:-1px}.input-group-text{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:.375rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-text input[type=checkbox],.input-group-text input[type=radio]{margin-top:0}.input-group-lg>.custom-select,.input-group-lg>.form-control:not(textarea){height:calc(1.5em + 1rem + 2px)}.input-group-lg>.custom-select,.input-group-lg>.form-control,.input-group-lg>.input-group-append>.btn,.input-group-lg>.input-group-append>.input-group-text,.input-group-lg>.input-group-prepend>.btn,.input-group-lg>.input-group-prepend>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.input-group-sm>.custom-select,.input-group-sm>.form-control:not(textarea){height:calc(1.5em + .5rem + 2px)}.input-group-sm>.custom-select,.input-group-sm>.form-control,.input-group-sm>.input-group-append>.btn,.input-group-sm>.input-group-append>.input-group-text,.input-group-sm>.input-group-prepend>.btn,.input-group-sm>.input-group-prepend>.input-group-text{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.input-group-lg>.custom-select,.input-group-sm>.custom-select{padding-right:1.75rem}.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.input-group-text:not(:last-child),.input-group>.input-group-append:not(:last-child)>.btn,.input-group>.input-group-append:not(:last-child)>.input-group-text,.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-prepend:first-child>.btn:not(:first-child),.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child),.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text{border-top-left-radius:0;border-bottom-left-radius:0}.custom-control{position:relative;display:block;min-height:1.5rem;padding-left:1.5rem}.custom-control-inline{display:-ms-inline-flexbox;display:inline-flex;margin-right:1rem}.custom-control-input{position:absolute;z-index:-1;opacity:0}.custom-control-input:checked~.custom-control-label:before{color:#fff;border-color:#007bff;background-color:#007bff}.custom-control-input:focus~.custom-control-label:before{box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-control-input:focus:not(:checked)~.custom-control-label:before{border-color:#80bdff}.custom-control-input:not(:disabled):active~.custom-control-label:before{color:#fff;background-color:#b3d7ff;border-color:#b3d7ff}.custom-control-input:disabled~.custom-control-label{color:#6c757d}.custom-control-input:disabled~.custom-control-label:before{background-color:#e9ecef}.custom-control-label{position:relative;margin-bottom:0;vertical-align:top}.custom-control-label:before{pointer-events:none;background-color:#fff;border:1px solid #adb5bd}.custom-control-label:after,.custom-control-label:before{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;content:\"\"}.custom-control-label:after{background:no-repeat 50%/50% 50%}.custom-checkbox .custom-control-label:before{border-radius:.25rem}.custom-checkbox .custom-control-input:checked~.custom-control-label:after{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3E%3C/svg%3E\")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label:before{border-color:#007bff;background-color:#007bff}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label:after{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E\")}.custom-checkbox .custom-control-input:disabled:checked~.custom-control-label:before{background-color:rgba(0,123,255,.5)}.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label:before{background-color:rgba(0,123,255,.5)}.custom-radio .custom-control-label:before{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-label:after{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E\")}.custom-radio .custom-control-input:disabled:checked~.custom-control-label:before{background-color:rgba(0,123,255,.5)}.custom-switch{padding-left:2.25rem}.custom-switch .custom-control-label:before{left:-2.25rem;width:1.75rem;pointer-events:all;border-radius:.5rem}.custom-switch .custom-control-label:after{top:calc(.25rem + 2px);left:calc(-2.25rem + 2px);width:calc(1rem - 4px);height:calc(1rem - 4px);background-color:#adb5bd;border-radius:.5rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-transform .15s ease-in-out;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-transform .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-switch .custom-control-label:after{transition:none}}.custom-switch .custom-control-input:checked~.custom-control-label:after{background-color:#fff;-webkit-transform:translateX(.75rem);transform:translateX(.75rem)}.custom-switch .custom-control-input:disabled:checked~.custom-control-label:before{background-color:rgba(0,123,255,.5)}.custom-select{display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem 1.75rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;vertical-align:middle;background:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E\") no-repeat right .75rem center/8px 10px;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-select:focus{border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-select:focus::-ms-value{color:#495057;background-color:#fff}.custom-select[multiple],.custom-select[size]:not([size=\"1\"]){height:auto;padding-right:.75rem;background-image:none}.custom-select:disabled{color:#6c757d;background-color:#e9ecef}.custom-select::-ms-expand{display:none}.custom-select-sm{height:calc(1.5em + .5rem + 2px);padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem}.custom-select-lg{height:calc(1.5em + 1rem + 2px);padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}.custom-file{display:inline-block;margin-bottom:0}.custom-file,.custom-file-input{position:relative;width:100%;height:calc(1.5em + .75rem + 2px)}.custom-file-input{z-index:2;margin:0;opacity:0}.custom-file-input:focus~.custom-file-label{border-color:#80bdff;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-file-input:disabled~.custom-file-label{background-color:#e9ecef}.custom-file-input:lang(en)~.custom-file-label:after{content:\"Browse\"}.custom-file-input~.custom-file-label[data-browse]:after{content:attr(data-browse)}.custom-file-label{left:0;z-index:1;height:calc(1.5em + .75rem + 2px);font-weight:400;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem}.custom-file-label,.custom-file-label:after{position:absolute;top:0;right:0;padding:.375rem .75rem;line-height:1.5;color:#495057}.custom-file-label:after{bottom:0;z-index:3;display:block;height:calc(1.5em + .75rem);content:\"Browse\";background-color:#e9ecef;border-left:inherit;border-radius:0 .25rem .25rem 0}.custom-range{width:100%;height:1.4rem;padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-range:focus{outline:none}.custom-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range::-moz-focus-outer{border:0}.custom-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#007bff;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-webkit-slider-thumb{transition:none}}.custom-range::-webkit-slider-thumb:active{background-color:#b3d7ff}.custom-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#007bff;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-moz-range-thumb{transition:none}}.custom-range::-moz-range-thumb:active{background-color:#b3d7ff}.custom-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-ms-thumb{width:1rem;height:1rem;margin-top:0;margin-right:.2rem;margin-left:.2rem;background-color:#007bff;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-ms-thumb{transition:none}}.custom-range::-ms-thumb:active{background-color:#b3d7ff}.custom-range::-ms-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:transparent;border-color:transparent;border-width:.5rem}.custom-range::-ms-fill-lower,.custom-range::-ms-fill-upper{background-color:#dee2e6;border-radius:1rem}.custom-range::-ms-fill-upper{margin-right:15px}.custom-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.custom-range:disabled::-webkit-slider-runnable-track{cursor:default}.custom-range:disabled::-moz-range-thumb{background-color:#adb5bd}.custom-range:disabled::-moz-range-track{cursor:default}.custom-range:disabled::-ms-thumb{background-color:#adb5bd}.custom-control-label:before,.custom-file-label,.custom-select{transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-control-label:before,.custom-file-label,.custom-select{transition:none}}.nav{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem}.nav-link:focus,.nav-link:hover{text-decoration:none}.nav-link.disabled{color:#6c757d;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-item{margin-bottom:-1px}.nav-tabs .nav-link{border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#007bff}.nav-fill .nav-item{-ms-flex:1 1 auto;flex:1 1 auto;text-align:center}.nav-justified .nav-item{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;padding:.5rem 1rem}.navbar,.navbar>.container,.navbar>.container-fluid{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between}.navbar-brand{display:inline-block;padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-nav{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static;float:none}.navbar-text{display:inline-block;padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{-ms-flex-preferred-size:100%;flex-basis:100%;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem}.navbar-toggler:focus,.navbar-toggler:hover{text-decoration:none}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:\"\";background:no-repeat 50%;background-size:100% 100%}@media (max-width:575.98px){.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:576px){.navbar-expand-sm{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-sm .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-sm .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media (max-width:767.98px){.navbar-expand-md>.container,.navbar-expand-md>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:768px){.navbar-expand-md{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-md .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-md .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media (max-width:991.98px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:992px){.navbar-expand-lg{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-lg .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-lg .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media (max-width:1199.98px){.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:1200px){.navbar-expand-xl{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-xl .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-xl .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}.navbar-expand{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand>.container,.navbar-expand>.container-fluid{padding-right:0;padding-left:0}.navbar-expand .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand>.container,.navbar-expand>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand,.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.5)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.5);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\")}.navbar-light .navbar-text{color:rgba(0,0,0,.5)}.navbar-light .navbar-text a,.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand,.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:hsla(0,0%,100%,.5)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:hsla(0,0%,100%,.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:hsla(0,0%,100%,.25)}.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .show>.nav-link{color:#fff}.navbar-dark .navbar-toggler{color:hsla(0,0%,100%,.5);border-color:hsla(0,0%,100%,.1)}.navbar-dark .navbar-toggler-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\")}.navbar-dark .navbar-text{color:hsla(0,0%,100%,.5)}.navbar-dark .navbar-text a,.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.card{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group:first-child .list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.card>.list-group:last-child .list-group-item:last-child{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.card-body{-ms-flex:1 1 auto;flex:1 1 auto;padding:1.25rem}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-.375rem}.card-subtitle,.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-header+.list-group .list-group-item:first-child{border-top:0}.card-footer{padding:.75rem 1.25rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-bottom:-.75rem;border-bottom:0}.card-header-pills,.card-header-tabs{margin-right:-.625rem;margin-left:-.625rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem}.card-img{width:100%;border-radius:calc(.25rem - 1px)}.card-img-top{width:100%;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img-bottom{width:100%;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-deck{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.card-deck .card{margin-bottom:15px}@media (min-width:576px){.card-deck{-ms-flex-flow:row wrap;flex-flow:row wrap;margin-right:-15px;margin-left:-15px}.card-deck .card{display:-ms-flexbox;display:flex;-ms-flex:1 0 0%;flex:1 0 0%;-ms-flex-direction:column;flex-direction:column;margin-right:15px;margin-bottom:0;margin-left:15px}}.card-group{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.card-group>.card{margin-bottom:15px}@media (min-width:576px){.card-group{-ms-flex-flow:row wrap;flex-flow:row wrap}.card-group>.card{-ms-flex:1 0 0%;flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.card-columns .card{margin-bottom:.75rem}@media (min-width:576px){.card-columns{-webkit-column-count:3;-moz-column-count:3;column-count:3;-webkit-column-gap:1.25rem;-moz-column-gap:1.25rem;column-gap:1.25rem;orphans:1;widows:1}.card-columns .card{display:inline-block;width:100%}}.accordion>.card{overflow:hidden}.accordion>.card:not(:first-of-type) .card-header:first-child{border-radius:0}.accordion>.card:not(:first-of-type):not(:last-of-type){border-bottom:0;border-radius:0}.accordion>.card:first-of-type{border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion>.card:last-of-type{border-top-left-radius:0;border-top-right-radius:0}.accordion>.card .card-header{margin-bottom:-1px}.breadcrumb{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#e9ecef;border-radius:.25rem}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item:before{display:inline-block;padding-right:.5rem;color:#6c757d;content:\"/\"}.breadcrumb-item+.breadcrumb-item:hover:before{text-decoration:underline;text-decoration:none}.breadcrumb-item.active{color:#6c757d}.pagination{display:-ms-flexbox;display:flex;padding-left:0;list-style:none;border-radius:.25rem}.page-link{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#007bff;background-color:#fff;border:1px solid #dee2e6}.page-link:hover{z-index:2;color:#0056b3;text-decoration:none;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:2;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.page-item:first-child .page-link{margin-left:0;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.page-item.active .page-link{z-index:1;color:#fff;background-color:#007bff;border-color:#007bff}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;cursor:auto;background-color:#fff;border-color:#dee2e6}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem;line-height:1.5}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem;line-height:1.5}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.badge{transition:none}}a.badge:focus,a.badge:hover{text-decoration:none}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-primary{color:#fff;background-color:#007bff}a.badge-primary:focus,a.badge-primary:hover{color:#fff;background-color:#0062cc}a.badge-primary.focus,a.badge-primary:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.badge-secondary{color:#fff;background-color:#6c757d}a.badge-secondary:focus,a.badge-secondary:hover{color:#fff;background-color:#545b62}a.badge-secondary.focus,a.badge-secondary:focus{outline:0;box-shadow:0 0 0 .2rem hsla(208,7%,46%,.5)}.badge-success{color:#fff;background-color:#28a745}a.badge-success:focus,a.badge-success:hover{color:#fff;background-color:#1e7e34}a.badge-success.focus,a.badge-success:focus{outline:0;box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.badge-info{color:#fff;background-color:#17a2b8}a.badge-info:focus,a.badge-info:hover{color:#fff;background-color:#117a8b}a.badge-info.focus,a.badge-info:focus{outline:0;box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.badge-warning{color:#212529;background-color:#ffc107}a.badge-warning:focus,a.badge-warning:hover{color:#212529;background-color:#d39e00}a.badge-warning.focus,a.badge-warning:focus{outline:0;box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.badge-danger{color:#fff;background-color:#dc3545}a.badge-danger:focus,a.badge-danger:hover{color:#fff;background-color:#bd2130}a.badge-danger.focus,a.badge-danger:focus{outline:0;box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.badge-light{color:#212529;background-color:#f8f9fa}a.badge-light:focus,a.badge-light:hover{color:#212529;background-color:#dae0e5}a.badge-light.focus,a.badge-light:focus{outline:0;box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.badge-dark{color:#fff;background-color:#343a40}a.badge-dark:focus,a.badge-dark:hover{color:#fff;background-color:#1d2124}a.badge-dark.focus,a.badge-dark:focus{outline:0;box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#e9ecef;border-radius:.3rem}@media (min-width:576px){.jumbotron{padding:4rem 2rem}}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:4rem}.alert-dismissible .close{position:absolute;top:0;right:0;padding:.75rem 1.25rem;color:inherit}.alert-primary{color:#004085;background-color:#cce5ff;border-color:#b8daff}.alert-primary hr{border-top-color:#9fcdff}.alert-primary .alert-link{color:#002752}.alert-secondary{color:#383d41;background-color:#e2e3e5;border-color:#d6d8db}.alert-secondary hr{border-top-color:#c8cbcf}.alert-secondary .alert-link{color:#202326}.alert-success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}.alert-success hr{border-top-color:#b1dfbb}.alert-success .alert-link{color:#0b2e13}.alert-info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}.alert-info hr{border-top-color:#abdde5}.alert-info .alert-link{color:#062c33}.alert-warning{color:#856404;background-color:#fff3cd;border-color:#ffeeba}.alert-warning hr{border-top-color:#ffe8a1}.alert-warning .alert-link{color:#533f03}.alert-danger{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}.alert-danger hr{border-top-color:#f1b0b7}.alert-danger .alert-link{color:#491217}.alert-light{color:#818182;background-color:#fefefe;border-color:#fdfdfe}.alert-light hr{border-top-color:#ececf6}.alert-light .alert-link{color:#686868}.alert-dark{color:#1b1e21;background-color:#d6d8d9;border-color:#c6c8ca}.alert-dark hr{border-top-color:#b9bbbe}.alert-dark .alert-link{color:#040505}@-webkit-keyframes progress-bar-stripes{0%{background-position:1rem 0}to{background-position:0 0}}@keyframes progress-bar-stripes{0%{background-position:1rem 0}to{background-position:0 0}}.progress{height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress,.progress-bar{display:-ms-flexbox;display:flex}.progress-bar{-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;color:#fff;text-align:center;white-space:nowrap;background-color:#007bff;transition:width .6s ease}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:1rem 1rem}.progress-bar-animated{-webkit-animation:progress-bar-stripes 1s linear infinite;animation:progress-bar-stripes 1s linear infinite}@media (prefers-reduced-motion:reduce){.progress-bar-animated{-webkit-animation:none;animation:none}}.media{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start}.media-body{-ms-flex:1;flex:1}.list-group{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;margin-bottom:-1px;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;pointer-events:none;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#007bff;border-color:#007bff}.list-group-horizontal{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal .list-group-item{margin-right:-1px;margin-bottom:0}.list-group-horizontal .list-group-item:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal .list-group-item:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}@media (min-width:576px){.list-group-horizontal-sm{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-sm .list-group-item{margin-right:-1px;margin-bottom:0}.list-group-horizontal-sm .list-group-item:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm .list-group-item:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}}@media (min-width:768px){.list-group-horizontal-md{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-md .list-group-item{margin-right:-1px;margin-bottom:0}.list-group-horizontal-md .list-group-item:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md .list-group-item:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}}@media (min-width:992px){.list-group-horizontal-lg{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-lg .list-group-item{margin-right:-1px;margin-bottom:0}.list-group-horizontal-lg .list-group-item:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg .list-group-item:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}}@media (min-width:1200px){.list-group-horizontal-xl{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-xl .list-group-item{margin-right:-1px;margin-bottom:0}.list-group-horizontal-xl .list-group-item:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl .list-group-item:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}}.list-group-flush .list-group-item{border-right:0;border-left:0;border-radius:0}.list-group-flush .list-group-item:last-child{margin-bottom:-1px}.list-group-flush:first-child .list-group-item:first-child{border-top:0}.list-group-flush:last-child .list-group-item:last-child{margin-bottom:0;border-bottom:0}.list-group-item-primary{color:#004085;background-color:#b8daff}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#004085;background-color:#9fcdff}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#004085;border-color:#004085}.list-group-item-secondary{color:#383d41;background-color:#d6d8db}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#383d41;background-color:#c8cbcf}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#383d41;border-color:#383d41}.list-group-item-success{color:#155724;background-color:#c3e6cb}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#155724;background-color:#b1dfbb}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#155724;border-color:#155724}.list-group-item-info{color:#0c5460;background-color:#bee5eb}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#0c5460;background-color:#abdde5}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#0c5460;border-color:#0c5460}.list-group-item-warning{color:#856404;background-color:#ffeeba}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#856404;background-color:#ffe8a1}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#856404;border-color:#856404}.list-group-item-danger{color:#721c24;background-color:#f5c6cb}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#721c24;background-color:#f1b0b7}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#721c24;border-color:#721c24}.list-group-item-light{color:#818182;background-color:#fdfdfe}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#818182;background-color:#ececf6}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#818182;border-color:#818182}.list-group-item-dark{color:#1b1e21;background-color:#c6c8ca}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#1b1e21;background-color:#b9bbbe}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#1b1e21;border-color:#1b1e21}.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close:hover{color:#000;text-decoration:none}.close:not(:disabled):not(.disabled):focus,.close:not(:disabled):not(.disabled):hover{opacity:.75}button.close{padding:0;background-color:transparent;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}a.close.disabled{pointer-events:none}.toast{max-width:350px;overflow:hidden;font-size:.875rem;background-color:hsla(0,0%,100%,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .25rem .75rem rgba(0,0,0,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;border-radius:.25rem}.toast:not(:last-child){margin-bottom:.75rem}.toast.showing{opacity:1}.toast.show{display:block;opacity:1}.toast.hide{display:none}.toast-header{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:.25rem .75rem;color:#6c757d;background-color:hsla(0,0%,100%,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05)}.toast-body{padding:.75rem}.modal-open{overflow:hidden}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{position:fixed;top:0;left:0;z-index:1050;display:none;width:100%;height:100%;overflow:hidden;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out;-webkit-transform:translateY(-50px);transform:translateY(-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{-webkit-transform:none;transform:none}.modal-dialog-scrollable{display:-ms-flexbox;display:flex;max-height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 1rem);overflow:hidden}.modal-dialog-scrollable .modal-footer,.modal-dialog-scrollable .modal-header{-ms-flex-negative:0;flex-shrink:0}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;min-height:calc(100% - 1rem)}.modal-dialog-centered:before{display:block;height:calc(100vh - 1rem);content:\"\"}.modal-dialog-centered.modal-dialog-scrollable{-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;height:100%}.modal-dialog-centered.modal-dialog-scrollable .modal-content{max-height:none}.modal-dialog-centered.modal-dialog-scrollable:before{content:none}.modal-content{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:justify;justify-content:space-between;padding:1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:.3rem;border-top-right-radius:.3rem}.modal-header .close{padding:1rem;margin:-1rem -1rem -1rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;-ms-flex:1 1 auto;flex:1 1 auto;padding:1rem}.modal-footer{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:end;justify-content:flex-end;padding:1rem;border-top:1px solid #dee2e6;border-bottom-right-radius:.3rem;border-bottom-left-radius:.3rem}.modal-footer>:not(:first-child){margin-left:.25rem}.modal-footer>:not(:last-child){margin-right:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{max-height:calc(100% - 3.5rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-dialog-centered:before{height:calc(100vh - 3.5rem)}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width:1200px){.modal-xl{max-width:1140px}}.tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif;font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .arrow:before{position:absolute;content:\"\";border-color:transparent;border-style:solid}.bs-tooltip-auto[x-placement^=top],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[x-placement^=top] .arrow,.bs-tooltip-top .arrow{bottom:0}.bs-tooltip-auto[x-placement^=top] .arrow:before,.bs-tooltip-top .arrow:before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[x-placement^=right],.bs-tooltip-right{padding:0 .4rem}.bs-tooltip-auto[x-placement^=right] .arrow,.bs-tooltip-right .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=right] .arrow:before,.bs-tooltip-right .arrow:before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[x-placement^=bottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[x-placement^=bottom] .arrow,.bs-tooltip-bottom .arrow{top:0}.bs-tooltip-auto[x-placement^=bottom] .arrow:before,.bs-tooltip-bottom .arrow:before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[x-placement^=left],.bs-tooltip-left{padding:0 .4rem}.bs-tooltip-auto[x-placement^=left] .arrow,.bs-tooltip-left .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=left] .arrow:before,.bs-tooltip-left .arrow:before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{top:0;left:0;z-index:1060;max-width:276px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif;font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover,.popover .arrow{position:absolute;display:block}.popover .arrow{width:1rem;height:.5rem;margin:0 .3rem}.popover .arrow:after,.popover .arrow:before{position:absolute;display:block;content:\"\";border-color:transparent;border-style:solid}.bs-popover-auto[x-placement^=top],.bs-popover-top{margin-bottom:.5rem}.bs-popover-auto[x-placement^=top]>.arrow,.bs-popover-top>.arrow{bottom:calc((.5rem + 1px) * -1)}.bs-popover-auto[x-placement^=top]>.arrow:before,.bs-popover-top>.arrow:before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=top]>.arrow:after,.bs-popover-top>.arrow:after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-auto[x-placement^=right],.bs-popover-right{margin-left:.5rem}.bs-popover-auto[x-placement^=right]>.arrow,.bs-popover-right>.arrow{left:calc((.5rem + 1px) * -1);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=right]>.arrow:before,.bs-popover-right>.arrow:before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=right]>.arrow:after,.bs-popover-right>.arrow:after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-auto[x-placement^=bottom],.bs-popover-bottom{margin-top:.5rem}.bs-popover-auto[x-placement^=bottom]>.arrow,.bs-popover-bottom>.arrow{top:calc((.5rem + 1px) * -1)}.bs-popover-auto[x-placement^=bottom]>.arrow:before,.bs-popover-bottom>.arrow:before{top:0;border-width:0 .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=bottom]>.arrow:after,.bs-popover-bottom>.arrow:after{top:1px;border-width:0 .5rem .5rem;border-bottom-color:#fff}.bs-popover-auto[x-placement^=bottom] .popover-header:before,.bs-popover-bottom .popover-header:before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:\"\";border-bottom:1px solid #f7f7f7}.bs-popover-auto[x-placement^=left],.bs-popover-left{margin-right:.5rem}.bs-popover-auto[x-placement^=left]>.arrow,.bs-popover-left>.arrow{right:calc((.5rem + 1px) * -1);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=left]>.arrow:before,.bs-popover-left>.arrow:before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=left]>.arrow:after,.bs-popover-left>.arrow:after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:.5rem .75rem;color:#212529}.carousel{position:relative}.carousel.pointer-event{-ms-touch-action:pan-y;touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner:after{display:block;clear:both;content:\"\"}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:-webkit-transform .6s ease-in-out;transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-right,.carousel-item-next:not(.carousel-item-left){-webkit-transform:translateX(100%);transform:translateX(100%)}.active.carousel-item-left,.carousel-item-prev:not(.carousel-item-right){-webkit-transform:translateX(-100%);transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;-webkit-transform:none;transform:none}.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:20px;height:20px;background:no-repeat 50%/100% 100%}.carousel-control-prev-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3E%3C/svg%3E\")}.carousel-control-next-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3E%3C/svg%3E\")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:15;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{box-sizing:content-box;-ms-flex:0 1 auto;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators li{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}@-webkit-keyframes spinner-border{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes spinner-border{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;-webkit-animation:spinner-border .75s linear infinite;animation:spinner-border .75s linear infinite}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@-webkit-keyframes spinner-grow{0%{-webkit-transform:scale(0);transform:scale(0)}50%{opacity:1}}@keyframes spinner-grow{0%{-webkit-transform:scale(0);transform:scale(0)}50%{opacity:1}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;background-color:currentColor;border-radius:50%;opacity:0;-webkit-animation:spinner-grow .75s linear infinite;animation:spinner-grow .75s linear infinite}.spinner-grow-sm{width:1rem;height:1rem}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.bg-primary{background-color:#007bff!important}a.bg-primary:focus,a.bg-primary:hover,button.bg-primary:focus,button.bg-primary:hover{background-color:#0062cc!important}.bg-secondary{background-color:#6c757d!important}a.bg-secondary:focus,a.bg-secondary:hover,button.bg-secondary:focus,button.bg-secondary:hover{background-color:#545b62!important}.bg-success{background-color:#28a745!important}a.bg-success:focus,a.bg-success:hover,button.bg-success:focus,button.bg-success:hover{background-color:#1e7e34!important}.bg-info{background-color:#17a2b8!important}a.bg-info:focus,a.bg-info:hover,button.bg-info:focus,button.bg-info:hover{background-color:#117a8b!important}.bg-warning{background-color:#ffc107!important}a.bg-warning:focus,a.bg-warning:hover,button.bg-warning:focus,button.bg-warning:hover{background-color:#d39e00!important}.bg-danger{background-color:#dc3545!important}a.bg-danger:focus,a.bg-danger:hover,button.bg-danger:focus,button.bg-danger:hover{background-color:#bd2130!important}.bg-light{background-color:#f8f9fa!important}a.bg-light:focus,a.bg-light:hover,button.bg-light:focus,button.bg-light:hover{background-color:#dae0e5!important}.bg-dark{background-color:#343a40!important}a.bg-dark:focus,a.bg-dark:hover,button.bg-dark:focus,button.bg-dark:hover{background-color:#1d2124!important}.bg-white{background-color:#fff!important}.bg-transparent{background-color:transparent!important}.border{border:1px solid #dee2e6!important}.border-top{border-top:1px solid #dee2e6!important}.border-right{border-right:1px solid #dee2e6!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-left{border-left:1px solid #dee2e6!important}.border-0{border:0!important}.border-top-0{border-top:0!important}.border-right-0{border-right:0!important}.border-bottom-0{border-bottom:0!important}.border-left-0{border-left:0!important}.border-primary{border-color:#007bff!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#28a745!important}.border-info{border-color:#17a2b8!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#343a40!important}.border-white{border-color:#fff!important}.rounded-sm{border-radius:.2rem!important}.rounded{border-radius:.25rem!important}.rounded-top{border-top-left-radius:.25rem!important}.rounded-right,.rounded-top{border-top-right-radius:.25rem!important}.rounded-bottom,.rounded-right{border-bottom-right-radius:.25rem!important}.rounded-bottom,.rounded-left{border-bottom-left-radius:.25rem!important}.rounded-left{border-top-left-radius:.25rem!important}.rounded-lg{border-radius:.3rem!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:50rem!important}.rounded-0{border-radius:0!important}.clearfix:after{display:block;clear:both;content:\"\"}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:-ms-flexbox!important;display:flex!important}.d-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}@media (min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:-ms-flexbox!important;display:flex!important}.d-sm-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:-ms-flexbox!important;display:flex!important}.d-md-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:-ms-flexbox!important;display:flex!important}.d-lg-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:-ms-flexbox!important;display:flex!important}.d-xl-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:-ms-flexbox!important;display:flex!important}.d-print-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}.embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}.embed-responsive:before{display:block;content:\"\"}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9:before{padding-top:42.857143%}.embed-responsive-16by9:before{padding-top:56.25%}.embed-responsive-4by3:before{padding-top:75%}.embed-responsive-1by1:before{padding-top:100%}.flex-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-center{-ms-flex-align:center!important;align-items:center!important}.align-items-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}@media (min-width:576px){.flex-sm-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-sm-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-sm-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-sm-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-sm-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-sm-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-sm-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-sm-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-sm-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-sm-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-sm-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-sm-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-sm-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-sm-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-sm-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-sm-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-sm-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-sm-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-sm-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-sm-center{-ms-flex-align:center!important;align-items:center!important}.align-items-sm-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-sm-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-sm-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-sm-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-sm-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-sm-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-sm-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-sm-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-sm-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-sm-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-sm-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-sm-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-sm-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-sm-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:768px){.flex-md-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-md-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-md-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-md-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-md-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-md-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-md-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-md-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-md-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-md-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-md-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-md-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-md-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-md-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-md-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-md-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-md-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-md-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-md-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-md-center{-ms-flex-align:center!important;align-items:center!important}.align-items-md-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-md-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-md-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-md-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-md-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-md-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-md-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-md-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-md-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-md-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-md-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-md-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-md-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-md-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:992px){.flex-lg-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-lg-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-lg-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-lg-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-lg-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-lg-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-lg-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-lg-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-lg-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-lg-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-lg-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-lg-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-lg-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-lg-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-lg-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-lg-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-lg-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-lg-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-lg-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-lg-center{-ms-flex-align:center!important;align-items:center!important}.align-items-lg-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-lg-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-lg-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-lg-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-lg-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-lg-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-lg-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-lg-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-lg-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-lg-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-lg-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-lg-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-lg-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-lg-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:1200px){.flex-xl-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-xl-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-xl-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xl-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xl-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xl-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xl-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-xl-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-xl-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-xl-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-xl-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-xl-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-xl-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xl-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xl-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xl-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-xl-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-xl-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xl-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xl-center{-ms-flex-align:center!important;align-items:center!important}.align-items-xl-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xl-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-xl-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xl-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xl-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xl-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xl-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xl-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xl-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-xl-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xl-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xl-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-xl-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xl-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}@media (min-width:576px){.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}}@media (min-width:768px){.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}}@media (min-width:992px){.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}}@media (min-width:1200px){.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.fixed-top{top:0}.fixed-bottom,.fixed-top{position:fixed;right:0;left:0;z-index:1030}.fixed-bottom{bottom:0}@supports ((position:-webkit-sticky) or (position:sticky)){.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mw-100{max-width:100%!important}.mh-100{max-height:100%!important}.min-vw-100{min-width:100vw!important}.min-vh-100{min-height:100vh!important}.vw-100{width:100vw!important}.vh-100{height:100vh!important}.stretched-link:after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:auto;content:\"\";background-color:transparent}.m-0{margin:0!important}.mt-0,.my-0{margin-top:0!important}.mr-0,.mx-0{margin-right:0!important}.mb-0,.my-0{margin-bottom:0!important}.ml-0,.mx-0{margin-left:0!important}.m-1{margin:.25rem!important}.mt-1,.my-1{margin-top:.25rem!important}.mr-1,.mx-1{margin-right:.25rem!important}.mb-1,.my-1{margin-bottom:.25rem!important}.ml-1,.mx-1{margin-left:.25rem!important}.m-2{margin:.5rem!important}.mt-2,.my-2{margin-top:.5rem!important}.mr-2,.mx-2{margin-right:.5rem!important}.mb-2,.my-2{margin-bottom:.5rem!important}.ml-2,.mx-2{margin-left:.5rem!important}.m-3{margin:1rem!important}.mt-3,.my-3{margin-top:1rem!important}.mr-3,.mx-3{margin-right:1rem!important}.mb-3,.my-3{margin-bottom:1rem!important}.ml-3,.mx-3{margin-left:1rem!important}.m-4{margin:1.5rem!important}.mt-4,.my-4{margin-top:1.5rem!important}.mr-4,.mx-4{margin-right:1.5rem!important}.mb-4,.my-4{margin-bottom:1.5rem!important}.ml-4,.mx-4{margin-left:1.5rem!important}.m-5{margin:3rem!important}.mt-5,.my-5{margin-top:3rem!important}.mr-5,.mx-5{margin-right:3rem!important}.mb-5,.my-5{margin-bottom:3rem!important}.ml-5,.mx-5{margin-left:3rem!important}.p-0{padding:0!important}.pt-0,.py-0{padding-top:0!important}.pr-0,.px-0{padding-right:0!important}.pb-0,.py-0{padding-bottom:0!important}.pl-0,.px-0{padding-left:0!important}.p-1{padding:.25rem!important}.pt-1,.py-1{padding-top:.25rem!important}.pr-1,.px-1{padding-right:.25rem!important}.pb-1,.py-1{padding-bottom:.25rem!important}.pl-1,.px-1{padding-left:.25rem!important}.p-2{padding:.5rem!important}.pt-2,.py-2{padding-top:.5rem!important}.pr-2,.px-2{padding-right:.5rem!important}.pb-2,.py-2{padding-bottom:.5rem!important}.pl-2,.px-2{padding-left:.5rem!important}.p-3{padding:1rem!important}.pt-3,.py-3{padding-top:1rem!important}.pr-3,.px-3{padding-right:1rem!important}.pb-3,.py-3{padding-bottom:1rem!important}.pl-3,.px-3{padding-left:1rem!important}.p-4{padding:1.5rem!important}.pt-4,.py-4{padding-top:1.5rem!important}.pr-4,.px-4{padding-right:1.5rem!important}.pb-4,.py-4{padding-bottom:1.5rem!important}.pl-4,.px-4{padding-left:1.5rem!important}.p-5{padding:3rem!important}.pt-5,.py-5{padding-top:3rem!important}.pr-5,.px-5{padding-right:3rem!important}.pb-5,.py-5{padding-bottom:3rem!important}.pl-5,.px-5{padding-left:3rem!important}.m-n1{margin:-.25rem!important}.mt-n1,.my-n1{margin-top:-.25rem!important}.mr-n1,.mx-n1{margin-right:-.25rem!important}.mb-n1,.my-n1{margin-bottom:-.25rem!important}.ml-n1,.mx-n1{margin-left:-.25rem!important}.m-n2{margin:-.5rem!important}.mt-n2,.my-n2{margin-top:-.5rem!important}.mr-n2,.mx-n2{margin-right:-.5rem!important}.mb-n2,.my-n2{margin-bottom:-.5rem!important}.ml-n2,.mx-n2{margin-left:-.5rem!important}.m-n3{margin:-1rem!important}.mt-n3,.my-n3{margin-top:-1rem!important}.mr-n3,.mx-n3{margin-right:-1rem!important}.mb-n3,.my-n3{margin-bottom:-1rem!important}.ml-n3,.mx-n3{margin-left:-1rem!important}.m-n4{margin:-1.5rem!important}.mt-n4,.my-n4{margin-top:-1.5rem!important}.mr-n4,.mx-n4{margin-right:-1.5rem!important}.mb-n4,.my-n4{margin-bottom:-1.5rem!important}.ml-n4,.mx-n4{margin-left:-1.5rem!important}.m-n5{margin:-3rem!important}.mt-n5,.my-n5{margin-top:-3rem!important}.mr-n5,.mx-n5{margin-right:-3rem!important}.mb-n5,.my-n5{margin-bottom:-3rem!important}.ml-n5,.mx-n5{margin-left:-3rem!important}.m-auto{margin:auto!important}.mt-auto,.my-auto{margin-top:auto!important}.mr-auto,.mx-auto{margin-right:auto!important}.mb-auto,.my-auto{margin-bottom:auto!important}.ml-auto,.mx-auto{margin-left:auto!important}@media (min-width:576px){.m-sm-0{margin:0!important}.mt-sm-0,.my-sm-0{margin-top:0!important}.mr-sm-0,.mx-sm-0{margin-right:0!important}.mb-sm-0,.my-sm-0{margin-bottom:0!important}.ml-sm-0,.mx-sm-0{margin-left:0!important}.m-sm-1{margin:.25rem!important}.mt-sm-1,.my-sm-1{margin-top:.25rem!important}.mr-sm-1,.mx-sm-1{margin-right:.25rem!important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem!important}.ml-sm-1,.mx-sm-1{margin-left:.25rem!important}.m-sm-2{margin:.5rem!important}.mt-sm-2,.my-sm-2{margin-top:.5rem!important}.mr-sm-2,.mx-sm-2{margin-right:.5rem!important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem!important}.ml-sm-2,.mx-sm-2{margin-left:.5rem!important}.m-sm-3{margin:1rem!important}.mt-sm-3,.my-sm-3{margin-top:1rem!important}.mr-sm-3,.mx-sm-3{margin-right:1rem!important}.mb-sm-3,.my-sm-3{margin-bottom:1rem!important}.ml-sm-3,.mx-sm-3{margin-left:1rem!important}.m-sm-4{margin:1.5rem!important}.mt-sm-4,.my-sm-4{margin-top:1.5rem!important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem!important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem!important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem!important}.m-sm-5{margin:3rem!important}.mt-sm-5,.my-sm-5{margin-top:3rem!important}.mr-sm-5,.mx-sm-5{margin-right:3rem!important}.mb-sm-5,.my-sm-5{margin-bottom:3rem!important}.ml-sm-5,.mx-sm-5{margin-left:3rem!important}.p-sm-0{padding:0!important}.pt-sm-0,.py-sm-0{padding-top:0!important}.pr-sm-0,.px-sm-0{padding-right:0!important}.pb-sm-0,.py-sm-0{padding-bottom:0!important}.pl-sm-0,.px-sm-0{padding-left:0!important}.p-sm-1{padding:.25rem!important}.pt-sm-1,.py-sm-1{padding-top:.25rem!important}.pr-sm-1,.px-sm-1{padding-right:.25rem!important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem!important}.pl-sm-1,.px-sm-1{padding-left:.25rem!important}.p-sm-2{padding:.5rem!important}.pt-sm-2,.py-sm-2{padding-top:.5rem!important}.pr-sm-2,.px-sm-2{padding-right:.5rem!important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem!important}.pl-sm-2,.px-sm-2{padding-left:.5rem!important}.p-sm-3{padding:1rem!important}.pt-sm-3,.py-sm-3{padding-top:1rem!important}.pr-sm-3,.px-sm-3{padding-right:1rem!important}.pb-sm-3,.py-sm-3{padding-bottom:1rem!important}.pl-sm-3,.px-sm-3{padding-left:1rem!important}.p-sm-4{padding:1.5rem!important}.pt-sm-4,.py-sm-4{padding-top:1.5rem!important}.pr-sm-4,.px-sm-4{padding-right:1.5rem!important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem!important}.pl-sm-4,.px-sm-4{padding-left:1.5rem!important}.p-sm-5{padding:3rem!important}.pt-sm-5,.py-sm-5{padding-top:3rem!important}.pr-sm-5,.px-sm-5{padding-right:3rem!important}.pb-sm-5,.py-sm-5{padding-bottom:3rem!important}.pl-sm-5,.px-sm-5{padding-left:3rem!important}.m-sm-n1{margin:-.25rem!important}.mt-sm-n1,.my-sm-n1{margin-top:-.25rem!important}.mr-sm-n1,.mx-sm-n1{margin-right:-.25rem!important}.mb-sm-n1,.my-sm-n1{margin-bottom:-.25rem!important}.ml-sm-n1,.mx-sm-n1{margin-left:-.25rem!important}.m-sm-n2{margin:-.5rem!important}.mt-sm-n2,.my-sm-n2{margin-top:-.5rem!important}.mr-sm-n2,.mx-sm-n2{margin-right:-.5rem!important}.mb-sm-n2,.my-sm-n2{margin-bottom:-.5rem!important}.ml-sm-n2,.mx-sm-n2{margin-left:-.5rem!important}.m-sm-n3{margin:-1rem!important}.mt-sm-n3,.my-sm-n3{margin-top:-1rem!important}.mr-sm-n3,.mx-sm-n3{margin-right:-1rem!important}.mb-sm-n3,.my-sm-n3{margin-bottom:-1rem!important}.ml-sm-n3,.mx-sm-n3{margin-left:-1rem!important}.m-sm-n4{margin:-1.5rem!important}.mt-sm-n4,.my-sm-n4{margin-top:-1.5rem!important}.mr-sm-n4,.mx-sm-n4{margin-right:-1.5rem!important}.mb-sm-n4,.my-sm-n4{margin-bottom:-1.5rem!important}.ml-sm-n4,.mx-sm-n4{margin-left:-1.5rem!important}.m-sm-n5{margin:-3rem!important}.mt-sm-n5,.my-sm-n5{margin-top:-3rem!important}.mr-sm-n5,.mx-sm-n5{margin-right:-3rem!important}.mb-sm-n5,.my-sm-n5{margin-bottom:-3rem!important}.ml-sm-n5,.mx-sm-n5{margin-left:-3rem!important}.m-sm-auto{margin:auto!important}.mt-sm-auto,.my-sm-auto{margin-top:auto!important}.mr-sm-auto,.mx-sm-auto{margin-right:auto!important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto!important}.ml-sm-auto,.mx-sm-auto{margin-left:auto!important}}@media (min-width:768px){.m-md-0{margin:0!important}.mt-md-0,.my-md-0{margin-top:0!important}.mr-md-0,.mx-md-0{margin-right:0!important}.mb-md-0,.my-md-0{margin-bottom:0!important}.ml-md-0,.mx-md-0{margin-left:0!important}.m-md-1{margin:.25rem!important}.mt-md-1,.my-md-1{margin-top:.25rem!important}.mr-md-1,.mx-md-1{margin-right:.25rem!important}.mb-md-1,.my-md-1{margin-bottom:.25rem!important}.ml-md-1,.mx-md-1{margin-left:.25rem!important}.m-md-2{margin:.5rem!important}.mt-md-2,.my-md-2{margin-top:.5rem!important}.mr-md-2,.mx-md-2{margin-right:.5rem!important}.mb-md-2,.my-md-2{margin-bottom:.5rem!important}.ml-md-2,.mx-md-2{margin-left:.5rem!important}.m-md-3{margin:1rem!important}.mt-md-3,.my-md-3{margin-top:1rem!important}.mr-md-3,.mx-md-3{margin-right:1rem!important}.mb-md-3,.my-md-3{margin-bottom:1rem!important}.ml-md-3,.mx-md-3{margin-left:1rem!important}.m-md-4{margin:1.5rem!important}.mt-md-4,.my-md-4{margin-top:1.5rem!important}.mr-md-4,.mx-md-4{margin-right:1.5rem!important}.mb-md-4,.my-md-4{margin-bottom:1.5rem!important}.ml-md-4,.mx-md-4{margin-left:1.5rem!important}.m-md-5{margin:3rem!important}.mt-md-5,.my-md-5{margin-top:3rem!important}.mr-md-5,.mx-md-5{margin-right:3rem!important}.mb-md-5,.my-md-5{margin-bottom:3rem!important}.ml-md-5,.mx-md-5{margin-left:3rem!important}.p-md-0{padding:0!important}.pt-md-0,.py-md-0{padding-top:0!important}.pr-md-0,.px-md-0{padding-right:0!important}.pb-md-0,.py-md-0{padding-bottom:0!important}.pl-md-0,.px-md-0{padding-left:0!important}.p-md-1{padding:.25rem!important}.pt-md-1,.py-md-1{padding-top:.25rem!important}.pr-md-1,.px-md-1{padding-right:.25rem!important}.pb-md-1,.py-md-1{padding-bottom:.25rem!important}.pl-md-1,.px-md-1{padding-left:.25rem!important}.p-md-2{padding:.5rem!important}.pt-md-2,.py-md-2{padding-top:.5rem!important}.pr-md-2,.px-md-2{padding-right:.5rem!important}.pb-md-2,.py-md-2{padding-bottom:.5rem!important}.pl-md-2,.px-md-2{padding-left:.5rem!important}.p-md-3{padding:1rem!important}.pt-md-3,.py-md-3{padding-top:1rem!important}.pr-md-3,.px-md-3{padding-right:1rem!important}.pb-md-3,.py-md-3{padding-bottom:1rem!important}.pl-md-3,.px-md-3{padding-left:1rem!important}.p-md-4{padding:1.5rem!important}.pt-md-4,.py-md-4{padding-top:1.5rem!important}.pr-md-4,.px-md-4{padding-right:1.5rem!important}.pb-md-4,.py-md-4{padding-bottom:1.5rem!important}.pl-md-4,.px-md-4{padding-left:1.5rem!important}.p-md-5{padding:3rem!important}.pt-md-5,.py-md-5{padding-top:3rem!important}.pr-md-5,.px-md-5{padding-right:3rem!important}.pb-md-5,.py-md-5{padding-bottom:3rem!important}.pl-md-5,.px-md-5{padding-left:3rem!important}.m-md-n1{margin:-.25rem!important}.mt-md-n1,.my-md-n1{margin-top:-.25rem!important}.mr-md-n1,.mx-md-n1{margin-right:-.25rem!important}.mb-md-n1,.my-md-n1{margin-bottom:-.25rem!important}.ml-md-n1,.mx-md-n1{margin-left:-.25rem!important}.m-md-n2{margin:-.5rem!important}.mt-md-n2,.my-md-n2{margin-top:-.5rem!important}.mr-md-n2,.mx-md-n2{margin-right:-.5rem!important}.mb-md-n2,.my-md-n2{margin-bottom:-.5rem!important}.ml-md-n2,.mx-md-n2{margin-left:-.5rem!important}.m-md-n3{margin:-1rem!important}.mt-md-n3,.my-md-n3{margin-top:-1rem!important}.mr-md-n3,.mx-md-n3{margin-right:-1rem!important}.mb-md-n3,.my-md-n3{margin-bottom:-1rem!important}.ml-md-n3,.mx-md-n3{margin-left:-1rem!important}.m-md-n4{margin:-1.5rem!important}.mt-md-n4,.my-md-n4{margin-top:-1.5rem!important}.mr-md-n4,.mx-md-n4{margin-right:-1.5rem!important}.mb-md-n4,.my-md-n4{margin-bottom:-1.5rem!important}.ml-md-n4,.mx-md-n4{margin-left:-1.5rem!important}.m-md-n5{margin:-3rem!important}.mt-md-n5,.my-md-n5{margin-top:-3rem!important}.mr-md-n5,.mx-md-n5{margin-right:-3rem!important}.mb-md-n5,.my-md-n5{margin-bottom:-3rem!important}.ml-md-n5,.mx-md-n5{margin-left:-3rem!important}.m-md-auto{margin:auto!important}.mt-md-auto,.my-md-auto{margin-top:auto!important}.mr-md-auto,.mx-md-auto{margin-right:auto!important}.mb-md-auto,.my-md-auto{margin-bottom:auto!important}.ml-md-auto,.mx-md-auto{margin-left:auto!important}}@media (min-width:992px){.m-lg-0{margin:0!important}.mt-lg-0,.my-lg-0{margin-top:0!important}.mr-lg-0,.mx-lg-0{margin-right:0!important}.mb-lg-0,.my-lg-0{margin-bottom:0!important}.ml-lg-0,.mx-lg-0{margin-left:0!important}.m-lg-1{margin:.25rem!important}.mt-lg-1,.my-lg-1{margin-top:.25rem!important}.mr-lg-1,.mx-lg-1{margin-right:.25rem!important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem!important}.ml-lg-1,.mx-lg-1{margin-left:.25rem!important}.m-lg-2{margin:.5rem!important}.mt-lg-2,.my-lg-2{margin-top:.5rem!important}.mr-lg-2,.mx-lg-2{margin-right:.5rem!important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem!important}.ml-lg-2,.mx-lg-2{margin-left:.5rem!important}.m-lg-3{margin:1rem!important}.mt-lg-3,.my-lg-3{margin-top:1rem!important}.mr-lg-3,.mx-lg-3{margin-right:1rem!important}.mb-lg-3,.my-lg-3{margin-bottom:1rem!important}.ml-lg-3,.mx-lg-3{margin-left:1rem!important}.m-lg-4{margin:1.5rem!important}.mt-lg-4,.my-lg-4{margin-top:1.5rem!important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem!important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem!important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem!important}.m-lg-5{margin:3rem!important}.mt-lg-5,.my-lg-5{margin-top:3rem!important}.mr-lg-5,.mx-lg-5{margin-right:3rem!important}.mb-lg-5,.my-lg-5{margin-bottom:3rem!important}.ml-lg-5,.mx-lg-5{margin-left:3rem!important}.p-lg-0{padding:0!important}.pt-lg-0,.py-lg-0{padding-top:0!important}.pr-lg-0,.px-lg-0{padding-right:0!important}.pb-lg-0,.py-lg-0{padding-bottom:0!important}.pl-lg-0,.px-lg-0{padding-left:0!important}.p-lg-1{padding:.25rem!important}.pt-lg-1,.py-lg-1{padding-top:.25rem!important}.pr-lg-1,.px-lg-1{padding-right:.25rem!important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem!important}.pl-lg-1,.px-lg-1{padding-left:.25rem!important}.p-lg-2{padding:.5rem!important}.pt-lg-2,.py-lg-2{padding-top:.5rem!important}.pr-lg-2,.px-lg-2{padding-right:.5rem!important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem!important}.pl-lg-2,.px-lg-2{padding-left:.5rem!important}.p-lg-3{padding:1rem!important}.pt-lg-3,.py-lg-3{padding-top:1rem!important}.pr-lg-3,.px-lg-3{padding-right:1rem!important}.pb-lg-3,.py-lg-3{padding-bottom:1rem!important}.pl-lg-3,.px-lg-3{padding-left:1rem!important}.p-lg-4{padding:1.5rem!important}.pt-lg-4,.py-lg-4{padding-top:1.5rem!important}.pr-lg-4,.px-lg-4{padding-right:1.5rem!important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem!important}.pl-lg-4,.px-lg-4{padding-left:1.5rem!important}.p-lg-5{padding:3rem!important}.pt-lg-5,.py-lg-5{padding-top:3rem!important}.pr-lg-5,.px-lg-5{padding-right:3rem!important}.pb-lg-5,.py-lg-5{padding-bottom:3rem!important}.pl-lg-5,.px-lg-5{padding-left:3rem!important}.m-lg-n1{margin:-.25rem!important}.mt-lg-n1,.my-lg-n1{margin-top:-.25rem!important}.mr-lg-n1,.mx-lg-n1{margin-right:-.25rem!important}.mb-lg-n1,.my-lg-n1{margin-bottom:-.25rem!important}.ml-lg-n1,.mx-lg-n1{margin-left:-.25rem!important}.m-lg-n2{margin:-.5rem!important}.mt-lg-n2,.my-lg-n2{margin-top:-.5rem!important}.mr-lg-n2,.mx-lg-n2{margin-right:-.5rem!important}.mb-lg-n2,.my-lg-n2{margin-bottom:-.5rem!important}.ml-lg-n2,.mx-lg-n2{margin-left:-.5rem!important}.m-lg-n3{margin:-1rem!important}.mt-lg-n3,.my-lg-n3{margin-top:-1rem!important}.mr-lg-n3,.mx-lg-n3{margin-right:-1rem!important}.mb-lg-n3,.my-lg-n3{margin-bottom:-1rem!important}.ml-lg-n3,.mx-lg-n3{margin-left:-1rem!important}.m-lg-n4{margin:-1.5rem!important}.mt-lg-n4,.my-lg-n4{margin-top:-1.5rem!important}.mr-lg-n4,.mx-lg-n4{margin-right:-1.5rem!important}.mb-lg-n4,.my-lg-n4{margin-bottom:-1.5rem!important}.ml-lg-n4,.mx-lg-n4{margin-left:-1.5rem!important}.m-lg-n5{margin:-3rem!important}.mt-lg-n5,.my-lg-n5{margin-top:-3rem!important}.mr-lg-n5,.mx-lg-n5{margin-right:-3rem!important}.mb-lg-n5,.my-lg-n5{margin-bottom:-3rem!important}.ml-lg-n5,.mx-lg-n5{margin-left:-3rem!important}.m-lg-auto{margin:auto!important}.mt-lg-auto,.my-lg-auto{margin-top:auto!important}.mr-lg-auto,.mx-lg-auto{margin-right:auto!important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto!important}.ml-lg-auto,.mx-lg-auto{margin-left:auto!important}}@media (min-width:1200px){.m-xl-0{margin:0!important}.mt-xl-0,.my-xl-0{margin-top:0!important}.mr-xl-0,.mx-xl-0{margin-right:0!important}.mb-xl-0,.my-xl-0{margin-bottom:0!important}.ml-xl-0,.mx-xl-0{margin-left:0!important}.m-xl-1{margin:.25rem!important}.mt-xl-1,.my-xl-1{margin-top:.25rem!important}.mr-xl-1,.mx-xl-1{margin-right:.25rem!important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem!important}.ml-xl-1,.mx-xl-1{margin-left:.25rem!important}.m-xl-2{margin:.5rem!important}.mt-xl-2,.my-xl-2{margin-top:.5rem!important}.mr-xl-2,.mx-xl-2{margin-right:.5rem!important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem!important}.ml-xl-2,.mx-xl-2{margin-left:.5rem!important}.m-xl-3{margin:1rem!important}.mt-xl-3,.my-xl-3{margin-top:1rem!important}.mr-xl-3,.mx-xl-3{margin-right:1rem!important}.mb-xl-3,.my-xl-3{margin-bottom:1rem!important}.ml-xl-3,.mx-xl-3{margin-left:1rem!important}.m-xl-4{margin:1.5rem!important}.mt-xl-4,.my-xl-4{margin-top:1.5rem!important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem!important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem!important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem!important}.m-xl-5{margin:3rem!important}.mt-xl-5,.my-xl-5{margin-top:3rem!important}.mr-xl-5,.mx-xl-5{margin-right:3rem!important}.mb-xl-5,.my-xl-5{margin-bottom:3rem!important}.ml-xl-5,.mx-xl-5{margin-left:3rem!important}.p-xl-0{padding:0!important}.pt-xl-0,.py-xl-0{padding-top:0!important}.pr-xl-0,.px-xl-0{padding-right:0!important}.pb-xl-0,.py-xl-0{padding-bottom:0!important}.pl-xl-0,.px-xl-0{padding-left:0!important}.p-xl-1{padding:.25rem!important}.pt-xl-1,.py-xl-1{padding-top:.25rem!important}.pr-xl-1,.px-xl-1{padding-right:.25rem!important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem!important}.pl-xl-1,.px-xl-1{padding-left:.25rem!important}.p-xl-2{padding:.5rem!important}.pt-xl-2,.py-xl-2{padding-top:.5rem!important}.pr-xl-2,.px-xl-2{padding-right:.5rem!important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem!important}.pl-xl-2,.px-xl-2{padding-left:.5rem!important}.p-xl-3{padding:1rem!important}.pt-xl-3,.py-xl-3{padding-top:1rem!important}.pr-xl-3,.px-xl-3{padding-right:1rem!important}.pb-xl-3,.py-xl-3{padding-bottom:1rem!important}.pl-xl-3,.px-xl-3{padding-left:1rem!important}.p-xl-4{padding:1.5rem!important}.pt-xl-4,.py-xl-4{padding-top:1.5rem!important}.pr-xl-4,.px-xl-4{padding-right:1.5rem!important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem!important}.pl-xl-4,.px-xl-4{padding-left:1.5rem!important}.p-xl-5{padding:3rem!important}.pt-xl-5,.py-xl-5{padding-top:3rem!important}.pr-xl-5,.px-xl-5{padding-right:3rem!important}.pb-xl-5,.py-xl-5{padding-bottom:3rem!important}.pl-xl-5,.px-xl-5{padding-left:3rem!important}.m-xl-n1{margin:-.25rem!important}.mt-xl-n1,.my-xl-n1{margin-top:-.25rem!important}.mr-xl-n1,.mx-xl-n1{margin-right:-.25rem!important}.mb-xl-n1,.my-xl-n1{margin-bottom:-.25rem!important}.ml-xl-n1,.mx-xl-n1{margin-left:-.25rem!important}.m-xl-n2{margin:-.5rem!important}.mt-xl-n2,.my-xl-n2{margin-top:-.5rem!important}.mr-xl-n2,.mx-xl-n2{margin-right:-.5rem!important}.mb-xl-n2,.my-xl-n2{margin-bottom:-.5rem!important}.ml-xl-n2,.mx-xl-n2{margin-left:-.5rem!important}.m-xl-n3{margin:-1rem!important}.mt-xl-n3,.my-xl-n3{margin-top:-1rem!important}.mr-xl-n3,.mx-xl-n3{margin-right:-1rem!important}.mb-xl-n3,.my-xl-n3{margin-bottom:-1rem!important}.ml-xl-n3,.mx-xl-n3{margin-left:-1rem!important}.m-xl-n4{margin:-1.5rem!important}.mt-xl-n4,.my-xl-n4{margin-top:-1.5rem!important}.mr-xl-n4,.mx-xl-n4{margin-right:-1.5rem!important}.mb-xl-n4,.my-xl-n4{margin-bottom:-1.5rem!important}.ml-xl-n4,.mx-xl-n4{margin-left:-1.5rem!important}.m-xl-n5{margin:-3rem!important}.mt-xl-n5,.my-xl-n5{margin-top:-3rem!important}.mr-xl-n5,.mx-xl-n5{margin-right:-3rem!important}.mb-xl-n5,.my-xl-n5{margin-bottom:-3rem!important}.ml-xl-n5,.mx-xl-n5{margin-left:-3rem!important}.m-xl-auto{margin:auto!important}.mt-xl-auto,.my-xl-auto{margin-top:auto!important}.mr-xl-auto,.mx-xl-auto{margin-right:auto!important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto!important}.ml-xl-auto,.mx-xl-auto{margin-left:auto!important}}.text-monospace{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace!important}.text-justify{text-align:justify!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}@media (min-width:576px){.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.font-weight-light{font-weight:300!important}.font-weight-lighter{font-weight:lighter!important}.font-weight-normal{font-weight:400!important}.font-weight-bold{font-weight:700!important}.font-weight-bolder{font-weight:bolder!important}.font-italic{font-style:italic!important}.text-white{color:#fff!important}.text-primary{color:#007bff!important}a.text-primary:focus,a.text-primary:hover{color:#0056b3!important}.text-secondary{color:#6c757d!important}a.text-secondary:focus,a.text-secondary:hover{color:#494f54!important}.text-success{color:#28a745!important}a.text-success:focus,a.text-success:hover{color:#19692c!important}.text-info{color:#17a2b8!important}a.text-info:focus,a.text-info:hover{color:#0f6674!important}.text-warning{color:#ffc107!important}a.text-warning:focus,a.text-warning:hover{color:#ba8b00!important}.text-danger{color:#dc3545!important}a.text-danger:focus,a.text-danger:hover{color:#a71d2a!important}.text-light{color:#f8f9fa!important}a.text-light:focus,a.text-light:hover{color:#cbd3da!important}.text-dark{color:#343a40!important}a.text-dark:focus,a.text-dark:hover{color:#121416!important}.text-body{color:#212529!important}.text-muted{color:#6c757d!important}.text-black-50{color:rgba(0,0,0,.5)!important}.text-white-50{color:hsla(0,0%,100%,.5)!important}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.text-decoration-none{text-decoration:none!important}.text-break{word-break:break-word!important;overflow-wrap:break-word!important}.text-reset{color:inherit!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media print{*,:after,:before{text-shadow:none!important;box-shadow:none!important}a:not(.btn){text-decoration:underline}abbr[title]:after{content:\" (\" attr(title) \")\"}pre{white-space:pre-wrap!important}blockquote,pre{border:1px solid #adb5bd;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}@page{size:a3}.container,body{min-width:992px!important}.navbar{display:none}.badge{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #dee2e6!important}.table-dark{color:inherit}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#dee2e6}.table .thead-dark th{color:inherit;border-color:#dee2e6}}",""])},function(t,e,r){var o=r(279);"string"==typeof o&&(o=[[t.i,o,""]]),o.locals&&(t.exports=o.locals);r(23)("ae668e66",o,!0,{})},function(t,e,r){e=t.exports=r(22)(!1),e.push([t.i,"/*!\n * BootstrapVue Custom CSS (https://bootstrap-vue.js.org)\n */@media (max-width:575.98px){.bv-d-xs-down-none{display:none!important}}@media (max-width:767.98px){.bv-d-sm-down-none{display:none!important}}@media (max-width:991.98px){.bv-d-md-down-none{display:none!important}}@media (max-width:1199.98px){.bv-d-lg-down-none{display:none!important}}.bv-d-xl-down-none{display:none!important}.card-img-left{border-top-left-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-img-right{border-top-right-radius:calc(.25rem - 1px);border-bottom-right-radius:calc(.25rem - 1px)}.dropdown.dropleft .dropdown-toggle.dropdown-toggle-no-caret:before,.dropdown:not(.dropleft) .dropdown-toggle.dropdown-toggle-no-caret:after{display:none!important}.b-dropdown-form{display:inline-block;padding:.25rem 1.5rem;width:100%;clear:both;font-weight:400}.b-dropdown-form:focus{outline:1px dotted!important;outline:5px auto -webkit-focus-ring-color!important}.b-dropdown-form.disabled,.b-dropdown-form:disabled{outline:0!important;color:#6c757d;pointer-events:none}.b-dropdown-text{display:inline-block;padding:.25rem 1.5rem;margin-bottom:0;width:100%;clear:both;font-weight:lighter}.custom-checkbox.b-custom-control-lg,.input-group-lg .custom-checkbox{font-size:1.25rem;line-height:1.5;padding-left:1.875rem}.custom-checkbox.b-custom-control-lg .custom-control-label:before,.input-group-lg .custom-checkbox .custom-control-label:before{top:.3125rem;left:-1.875rem;width:1.25rem;height:1.25rem;border-radius:.3rem}.custom-checkbox.b-custom-control-lg .custom-control-label:after,.input-group-lg .custom-checkbox .custom-control-label:after{top:.3125rem;left:-1.875rem;width:1.25rem;height:1.25rem;background-size:50% 50%}.custom-checkbox.b-custom-control-sm,.input-group-sm .custom-checkbox{font-size:.875rem;line-height:1.5;padding-left:1.3125rem}.custom-checkbox.b-custom-control-sm .custom-control-label:before,.input-group-sm .custom-checkbox .custom-control-label:before{top:.21875rem;left:-1.3125rem;width:.875rem;height:.875rem;border-radius:.2rem}.custom-checkbox.b-custom-control-sm .custom-control-label:after,.input-group-sm .custom-checkbox .custom-control-label:after{top:.21875rem;left:-1.3125rem;width:.875rem;height:.875rem;background-size:50% 50%}.custom-switch.b-custom-control-lg,.input-group-lg .custom-switch{padding-left:2.8125rem}.custom-switch.b-custom-control-lg .custom-control-label,.input-group-lg .custom-switch .custom-control-label{font-size:1.25rem;line-height:1.5}.custom-switch.b-custom-control-lg .custom-control-label:before,.input-group-lg .custom-switch .custom-control-label:before{top:.3125rem;height:1.25rem;left:-2.8125rem;width:2.1875rem;border-radius:.625rem}.custom-switch.b-custom-control-lg .custom-control-label:after,.input-group-lg .custom-switch .custom-control-label:after{top:calc(.3125rem + 2px);left:calc(-2.8125rem + 2px);width:calc(1.25rem - 4px);height:calc(1.25rem - 4px);border-radius:.625rem;background-size:50% 50%}.custom-switch.b-custom-control-lg .custom-control-input:checked~.custom-control-label:after,.input-group-lg .custom-switch .custom-control-input:checked~.custom-control-label:after{-webkit-transform:translateX(.9375rem);transform:translateX(.9375rem)}.custom-switch.b-custom-control-sm,.input-group-sm .custom-switch{padding-left:1.96875rem}.custom-switch.b-custom-control-sm .custom-control-label,.input-group-sm .custom-switch .custom-control-label{font-size:.875rem;line-height:1.5}.custom-switch.b-custom-control-sm .custom-control-label:before,.input-group-sm .custom-switch .custom-control-label:before{top:.21875rem;left:-1.96875rem;width:1.53125rem;height:.875rem;border-radius:.4375rem}.custom-switch.b-custom-control-sm .custom-control-label:after,.input-group-sm .custom-switch .custom-control-label:after{top:calc(.21875rem + 2px);left:calc(-1.96875rem + 2px);width:calc(.875rem - 4px);height:calc(.875rem - 4px);border-radius:.4375rem;background-size:50% 50%}.custom-switch.b-custom-control-sm .custom-control-input:checked~.custom-control-label:after,.input-group-sm .custom-switch .custom-control-input:checked~.custom-control-label:after{-webkit-transform:translateX(.65625rem);transform:translateX(.65625rem)}.input-group>.input-group-append:last-child>.btn-group:not(:last-child):not(.dropdown-toggle)>.btn,.input-group>.input-group-append:not(:last-child)>.btn-group>.btn,.input-group>.input-group-prepend>.btn-group>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.input-group-append>.btn-group>.btn,.input-group>.input-group-prepend:first-child>.btn-group:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.btn-group>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.b-custom-control-lg.custom-file,.b-custom-control-lg .custom-file-input,.b-custom-control-lg .custom-file-label,.input-group-lg.custom-file,.input-group-lg .custom-file-input,.input-group-lg .custom-file-label{font-size:1.25rem;height:calc(1.5em + 1rem + 2px)}.b-custom-control-lg .custom-file-label,.b-custom-control-lg .custom-file-label:after,.input-group-lg .custom-file-label,.input-group-lg .custom-file-label:after{padding:.5rem 1rem;line-height:1.5}.b-custom-control-lg .custom-file-label,.input-group-lg .custom-file-label{border-radius:.3rem}.b-custom-control-lg .custom-file-label:after,.input-group-lg .custom-file-label:after{font-size:inherit;height:calc(1.5em + 1rem);border-radius:0 .3rem .3rem 0}.b-custom-control-sm.custom-file,.b-custom-control-sm .custom-file-input,.b-custom-control-sm .custom-file-label,.input-group-sm.custom-file,.input-group-sm .custom-file-input,.input-group-sm .custom-file-label{font-size:.875rem;height:calc(1.5em + .5rem + 2px)}.b-custom-control-sm .custom-file-label,.b-custom-control-sm .custom-file-label:after,.input-group-sm .custom-file-label,.input-group-sm .custom-file-label:after{padding:.25rem .5rem;line-height:1.5}.b-custom-control-sm .custom-file-label,.input-group-sm .custom-file-label{border-radius:.2rem}.b-custom-control-sm .custom-file-label:after,.input-group-sm .custom-file-label:after{font-size:inherit;height:calc(1.5em + .5rem);border-radius:0 .2rem .2rem 0}.form-control.is-invalid,.form-control.is-valid,.was-validated .form-control:invalid,.was-validated .form-control:valid{background-position:right calc(.375em + .1875rem) center}input[type=color].form-control{height:calc(1.5em + .75rem + 2px);padding:.125rem .25rem}.input-group-sm input[type=color].form-control,input[type=color].form-control.form-control-sm{height:calc(1.5em + .5rem + 2px);padding:.125rem .25rem}.input-group-lg input[type=color].form-control,input[type=color].form-control.form-control-lg{height:calc(1.5em + 1rem + 2px);padding:.125rem .25rem}input[type=color].form-control:disabled{background-color:#adb5bd;opacity:.65}.input-group>.custom-range{position:relative;flex:1 1 auto;width:1%;margin-bottom:0}.input-group>.custom-file+.custom-range,.input-group>.custom-range+.custom-file,.input-group>.custom-range+.custom-range,.input-group>.custom-range+.custom-select,.input-group>.custom-range+.form-control,.input-group>.custom-range+.form-control-plaintext,.input-group>.custom-select+.custom-range,.input-group>.form-control+.custom-range,.input-group>.form-control-plaintext+.custom-range{margin-left:-1px}.input-group>.custom-range:focus{z-index:3}.input-group>.custom-range:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-range:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.custom-range{padding:0 .75rem;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;height:calc(1.5em + .75rem + 2px);border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.input-group>.custom-range{transition:none}}.input-group>.custom-range:focus{color:#495057;background-color:#fff;border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.input-group>.custom-range:disabled,.input-group>.custom-range[readonly]{background-color:#e9ecef}.input-group-lg>.custom-range{height:calc(1.5em + 1rem + 2px);padding:0 1rem;border-radius:.3rem}.input-group-sm>.custom-range{height:calc(1.5em + .5rem + 2px);padding:0 .5rem;border-radius:.2rem}.input-group .custom-range.is-valid,.was-validated .input-group .custom-range:valid{border-color:#28a745}.input-group .custom-range.is-valid:focus,.was-validated .input-group .custom-range:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.custom-range.is-valid:focus::-webkit-slider-thumb,.was-validated .custom-range:valid:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem #9be7ac}.custom-range.is-valid:focus::-moz-range-thumb,.was-validated .custom-range:valid:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem #9be7ac}.custom-range.is-valid:focus::-ms-thumb,.was-validated .custom-range:valid:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem #9be7ac}.custom-range.is-valid::-webkit-slider-thumb,.was-validated .custom-range:valid::-webkit-slider-thumb{background-color:#28a745;background-image:none}.custom-range.is-valid::-webkit-slider-thumb:active,.was-validated .custom-range:valid::-webkit-slider-thumb:active{background-color:#9be7ac;background-image:none}.custom-range.is-valid::-webkit-slider-runnable-track,.was-validated .custom-range:valid::-webkit-slider-runnable-track{background-color:rgba(40,167,69,.35)}.custom-range.is-valid::-moz-range-thumb,.was-validated .custom-range:valid::-moz-range-thumb{background-color:#28a745;background-image:none}.custom-range.is-valid::-moz-range-thumb:active,.was-validated .custom-range:valid::-moz-range-thumb:active{background-color:#9be7ac;background-image:none}.custom-range.is-valid::-moz-range-track,.was-validated .custom-range:valid::-moz-range-track{background:rgba(40,167,69,.35)}.custom-range.is-valid~.valid-feedback,.custom-range.is-valid~.valid-tooltip,.was-validated .custom-range:valid~.valid-feedback,.was-validated .custom-range:valid~.valid-tooltip{display:block}.custom-range.is-valid::-ms-thumb,.was-validated .custom-range:valid::-ms-thumb{background-color:#28a745;background-image:none}.custom-range.is-valid::-ms-thumb:active,.was-validated .custom-range:valid::-ms-thumb:active{background-color:#9be7ac;background-image:none}.custom-range.is-valid::-ms-track-lower,.custom-range.is-valid::-ms-track-upper,.was-validated .custom-range:valid::-ms-track-lower,.was-validated .custom-range:valid::-ms-track-upper{background:rgba(40,167,69,.35)}.input-group .custom-range.is-invalid,.was-validated .input-group .custom-range:invalid{border-color:#dc3545}.input-group .custom-range.is-invalid:focus,.was-validated .input-group .custom-range:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.custom-range.is-invalid:focus::-webkit-slider-thumb,.was-validated .custom-range:invalid:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem #f6cdd1}.custom-range.is-invalid:focus::-moz-range-thumb,.was-validated .custom-range:invalid:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem #f6cdd1}.custom-range.is-invalid:focus::-ms-thumb,.was-validated .custom-range:invalid:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem #f6cdd1}.custom-range.is-invalid::-webkit-slider-thumb,.was-validated .custom-range:invalid::-webkit-slider-thumb{background-color:#dc3545;background-image:none}.custom-range.is-invalid::-webkit-slider-thumb:active,.was-validated .custom-range:invalid::-webkit-slider-thumb:active{background-color:#f6cdd1;background-image:none}.custom-range.is-invalid::-webkit-slider-runnable-track,.was-validated .custom-range:invalid::-webkit-slider-runnable-track{background-color:rgba(220,53,69,.35)}.custom-range.is-invalid::-moz-range-thumb,.was-validated .custom-range:invalid::-moz-range-thumb{background-color:#dc3545;background-image:none}.custom-range.is-invalid::-moz-range-thumb:active,.was-validated .custom-range:invalid::-moz-range-thumb:active{background-color:#f6cdd1;background-image:none}.custom-range.is-invalid::-moz-range-track,.was-validated .custom-range:invalid::-moz-range-track{background:rgba(220,53,69,.35)}.custom-range.is-invalid~.invalid-feedback,.custom-range.is-invalid~.invalid-tooltip,.was-validated .custom-range:invalid~.invalid-feedback,.was-validated .custom-range:invalid~.invalid-tooltip{display:block}.custom-range.is-invalid::-ms-thumb,.was-validated .custom-range:invalid::-ms-thumb{background-color:#dc3545;background-image:none}.custom-range.is-invalid::-ms-thumb:active,.was-validated .custom-range:invalid::-ms-thumb:active{background-color:#f6cdd1;background-image:none}.custom-range.is-invalid::-ms-track-lower,.custom-range.is-invalid::-ms-track-upper,.was-validated .custom-range:invalid::-ms-track-lower,.was-validated .custom-range:invalid::-ms-track-upper{background:rgba(220,53,69,.35)}.custom-radio.b-custom-control-lg,.input-group-lg .custom-radio{font-size:1.25rem;line-height:1.5;padding-left:1.875rem}.custom-radio.b-custom-control-lg .custom-control-label:before,.input-group-lg .custom-radio .custom-control-label:before{top:.3125rem;left:-1.875rem;width:1.25rem;height:1.25rem;border-radius:50%}.custom-radio.b-custom-control-lg .custom-control-label:after,.input-group-lg .custom-radio .custom-control-label:after{top:.3125rem;left:-1.875rem;width:1.25rem;height:1.25rem;background:no-repeat 50%/50% 50%}.custom-radio.b-custom-control-sm,.input-group-sm .custom-radio{font-size:.875rem;line-height:1.5;padding-left:1.3125rem}.custom-radio.b-custom-control-sm .custom-control-label:before,.input-group-sm .custom-radio .custom-control-label:before{top:.21875rem;left:-1.3125rem;width:.875rem;height:.875rem;border-radius:50%}.custom-radio.b-custom-control-sm .custom-control-label:after,.input-group-sm .custom-radio .custom-control-label:after{top:.21875rem;left:-1.3125rem;width:.875rem;height:.875rem;background:no-repeat 50%/50% 50%}.modal-backdrop{opacity:.5}.popover.b-popover{display:block;opacity:1}.popover.b-popover.fade:not(.show){opacity:0}.popover.b-popover.show{opacity:1}.b-popover-primary.popover{background-color:#cce5ff;border-color:#b8daff}.b-popover-primary.bs-popover-auto[x-placement^=top]>.arrow:before,.b-popover-primary.bs-popover-top>.arrow:before{border-top-color:#b8daff}.b-popover-primary.bs-popover-auto[x-placement^=top]>.arrow:after,.b-popover-primary.bs-popover-top>.arrow:after{border-top-color:#cce5ff}.b-popover-primary.bs-popover-auto[x-placement^=right]>.arrow:before,.b-popover-primary.bs-popover-right>.arrow:before{border-right-color:#b8daff}.b-popover-primary.bs-popover-auto[x-placement^=right]>.arrow:after,.b-popover-primary.bs-popover-right>.arrow:after{border-right-color:#cce5ff}.b-popover-primary.bs-popover-auto[x-placement^=bottom]>.arrow:before,.b-popover-primary.bs-popover-bottom>.arrow:before{border-bottom-color:#b8daff}.b-popover-primary.bs-popover-auto[x-placement^=bottom] .popover-header:before,.b-popover-primary.bs-popover-auto[x-placement^=bottom]>.arrow:after,.b-popover-primary.bs-popover-bottom .popover-header:before,.b-popover-primary.bs-popover-bottom>.arrow:after{border-bottom-color:#bdddff}.b-popover-primary.bs-popover-auto[x-placement^=left]>.arrow:before,.b-popover-primary.bs-popover-left>.arrow:before{border-left-color:#b8daff}.b-popover-primary.bs-popover-auto[x-placement^=left]>.arrow:after,.b-popover-primary.bs-popover-left>.arrow:after{border-left-color:#cce5ff}.b-popover-primary .popover-header{color:#212529;background-color:#bdddff;border-bottom-color:#a3d0ff}.b-popover-primary .popover-body{color:#004085}.b-popover-secondary.popover{background-color:#e2e3e5;border-color:#d6d8db}.b-popover-secondary.bs-popover-auto[x-placement^=top]>.arrow:before,.b-popover-secondary.bs-popover-top>.arrow:before{border-top-color:#d6d8db}.b-popover-secondary.bs-popover-auto[x-placement^=top]>.arrow:after,.b-popover-secondary.bs-popover-top>.arrow:after{border-top-color:#e2e3e5}.b-popover-secondary.bs-popover-auto[x-placement^=right]>.arrow:before,.b-popover-secondary.bs-popover-right>.arrow:before{border-right-color:#d6d8db}.b-popover-secondary.bs-popover-auto[x-placement^=right]>.arrow:after,.b-popover-secondary.bs-popover-right>.arrow:after{border-right-color:#e2e3e5}.b-popover-secondary.bs-popover-auto[x-placement^=bottom]>.arrow:before,.b-popover-secondary.bs-popover-bottom>.arrow:before{border-bottom-color:#d6d8db}.b-popover-secondary.bs-popover-auto[x-placement^=bottom] .popover-header:before,.b-popover-secondary.bs-popover-auto[x-placement^=bottom]>.arrow:after,.b-popover-secondary.bs-popover-bottom .popover-header:before,.b-popover-secondary.bs-popover-bottom>.arrow:after{border-bottom-color:#dadbde}.b-popover-secondary.bs-popover-auto[x-placement^=left]>.arrow:before,.b-popover-secondary.bs-popover-left>.arrow:before{border-left-color:#d6d8db}.b-popover-secondary.bs-popover-auto[x-placement^=left]>.arrow:after,.b-popover-secondary.bs-popover-left>.arrow:after{border-left-color:#e2e3e5}.b-popover-secondary .popover-header{color:#212529;background-color:#dadbde;border-bottom-color:#ccced2}.b-popover-secondary .popover-body{color:#383d41}.b-popover-success.popover{background-color:#d4edda;border-color:#c3e6cb}.b-popover-success.bs-popover-auto[x-placement^=top]>.arrow:before,.b-popover-success.bs-popover-top>.arrow:before{border-top-color:#c3e6cb}.b-popover-success.bs-popover-auto[x-placement^=top]>.arrow:after,.b-popover-success.bs-popover-top>.arrow:after{border-top-color:#d4edda}.b-popover-success.bs-popover-auto[x-placement^=right]>.arrow:before,.b-popover-success.bs-popover-right>.arrow:before{border-right-color:#c3e6cb}.b-popover-success.bs-popover-auto[x-placement^=right]>.arrow:after,.b-popover-success.bs-popover-right>.arrow:after{border-right-color:#d4edda}.b-popover-success.bs-popover-auto[x-placement^=bottom]>.arrow:before,.b-popover-success.bs-popover-bottom>.arrow:before{border-bottom-color:#c3e6cb}.b-popover-success.bs-popover-auto[x-placement^=bottom] .popover-header:before,.b-popover-success.bs-popover-auto[x-placement^=bottom]>.arrow:after,.b-popover-success.bs-popover-bottom .popover-header:before,.b-popover-success.bs-popover-bottom>.arrow:after{border-bottom-color:#c9e8d1}.b-popover-success.bs-popover-auto[x-placement^=left]>.arrow:before,.b-popover-success.bs-popover-left>.arrow:before{border-left-color:#c3e6cb}.b-popover-success.bs-popover-auto[x-placement^=left]>.arrow:after,.b-popover-success.bs-popover-left>.arrow:after{border-left-color:#d4edda}.b-popover-success .popover-header{color:#212529;background-color:#c9e8d1;border-bottom-color:#b7e1c1}.b-popover-success .popover-body{color:#155724}.b-popover-info.popover{background-color:#d1ecf1;border-color:#bee5eb}.b-popover-info.bs-popover-auto[x-placement^=top]>.arrow:before,.b-popover-info.bs-popover-top>.arrow:before{border-top-color:#bee5eb}.b-popover-info.bs-popover-auto[x-placement^=top]>.arrow:after,.b-popover-info.bs-popover-top>.arrow:after{border-top-color:#d1ecf1}.b-popover-info.bs-popover-auto[x-placement^=right]>.arrow:before,.b-popover-info.bs-popover-right>.arrow:before{border-right-color:#bee5eb}.b-popover-info.bs-popover-auto[x-placement^=right]>.arrow:after,.b-popover-info.bs-popover-right>.arrow:after{border-right-color:#d1ecf1}.b-popover-info.bs-popover-auto[x-placement^=bottom]>.arrow:before,.b-popover-info.bs-popover-bottom>.arrow:before{border-bottom-color:#bee5eb}.b-popover-info.bs-popover-auto[x-placement^=bottom] .popover-header:before,.b-popover-info.bs-popover-auto[x-placement^=bottom]>.arrow:after,.b-popover-info.bs-popover-bottom .popover-header:before,.b-popover-info.bs-popover-bottom>.arrow:after{border-bottom-color:#c5e7ed}.b-popover-info.bs-popover-auto[x-placement^=left]>.arrow:before,.b-popover-info.bs-popover-left>.arrow:before{border-left-color:#bee5eb}.b-popover-info.bs-popover-auto[x-placement^=left]>.arrow:after,.b-popover-info.bs-popover-left>.arrow:after{border-left-color:#d1ecf1}.b-popover-info .popover-header{color:#212529;background-color:#c5e7ed;border-bottom-color:#b2dfe7}.b-popover-info .popover-body{color:#0c5460}.b-popover-warning.popover{background-color:#fff3cd;border-color:#ffeeba}.b-popover-warning.bs-popover-auto[x-placement^=top]>.arrow:before,.b-popover-warning.bs-popover-top>.arrow:before{border-top-color:#ffeeba}.b-popover-warning.bs-popover-auto[x-placement^=top]>.arrow:after,.b-popover-warning.bs-popover-top>.arrow:after{border-top-color:#fff3cd}.b-popover-warning.bs-popover-auto[x-placement^=right]>.arrow:before,.b-popover-warning.bs-popover-right>.arrow:before{border-right-color:#ffeeba}.b-popover-warning.bs-popover-auto[x-placement^=right]>.arrow:after,.b-popover-warning.bs-popover-right>.arrow:after{border-right-color:#fff3cd}.b-popover-warning.bs-popover-auto[x-placement^=bottom]>.arrow:before,.b-popover-warning.bs-popover-bottom>.arrow:before{border-bottom-color:#ffeeba}.b-popover-warning.bs-popover-auto[x-placement^=bottom] .popover-header:before,.b-popover-warning.bs-popover-auto[x-placement^=bottom]>.arrow:after,.b-popover-warning.bs-popover-bottom .popover-header:before,.b-popover-warning.bs-popover-bottom>.arrow:after{border-bottom-color:#ffefbe}.b-popover-warning.bs-popover-auto[x-placement^=left]>.arrow:before,.b-popover-warning.bs-popover-left>.arrow:before{border-left-color:#ffeeba}.b-popover-warning.bs-popover-auto[x-placement^=left]>.arrow:after,.b-popover-warning.bs-popover-left>.arrow:after{border-left-color:#fff3cd}.b-popover-warning .popover-header{color:#212529;background-color:#ffefbe;border-bottom-color:#ffe9a4}.b-popover-warning .popover-body{color:#856404}.b-popover-danger.popover{background-color:#f8d7da;border-color:#f5c6cb}.b-popover-danger.bs-popover-auto[x-placement^=top]>.arrow:before,.b-popover-danger.bs-popover-top>.arrow:before{border-top-color:#f5c6cb}.b-popover-danger.bs-popover-auto[x-placement^=top]>.arrow:after,.b-popover-danger.bs-popover-top>.arrow:after{border-top-color:#f8d7da}.b-popover-danger.bs-popover-auto[x-placement^=right]>.arrow:before,.b-popover-danger.bs-popover-right>.arrow:before{border-right-color:#f5c6cb}.b-popover-danger.bs-popover-auto[x-placement^=right]>.arrow:after,.b-popover-danger.bs-popover-right>.arrow:after{border-right-color:#f8d7da}.b-popover-danger.bs-popover-auto[x-placement^=bottom]>.arrow:before,.b-popover-danger.bs-popover-bottom>.arrow:before{border-bottom-color:#f5c6cb}.b-popover-danger.bs-popover-auto[x-placement^=bottom] .popover-header:before,.b-popover-danger.bs-popover-auto[x-placement^=bottom]>.arrow:after,.b-popover-danger.bs-popover-bottom .popover-header:before,.b-popover-danger.bs-popover-bottom>.arrow:after{border-bottom-color:#f6cace}.b-popover-danger.bs-popover-auto[x-placement^=left]>.arrow:before,.b-popover-danger.bs-popover-left>.arrow:before{border-left-color:#f5c6cb}.b-popover-danger.bs-popover-auto[x-placement^=left]>.arrow:after,.b-popover-danger.bs-popover-left>.arrow:after{border-left-color:#f8d7da}.b-popover-danger .popover-header{color:#212529;background-color:#f6cace;border-bottom-color:#f2b4ba}.b-popover-danger .popover-body{color:#721c24}.b-popover-light.popover{background-color:#fefefe;border-color:#fdfdfe}.b-popover-light.bs-popover-auto[x-placement^=top]>.arrow:before,.b-popover-light.bs-popover-top>.arrow:before{border-top-color:#fdfdfe}.b-popover-light.bs-popover-auto[x-placement^=top]>.arrow:after,.b-popover-light.bs-popover-top>.arrow:after{border-top-color:#fefefe}.b-popover-light.bs-popover-auto[x-placement^=right]>.arrow:before,.b-popover-light.bs-popover-right>.arrow:before{border-right-color:#fdfdfe}.b-popover-light.bs-popover-auto[x-placement^=right]>.arrow:after,.b-popover-light.bs-popover-right>.arrow:after{border-right-color:#fefefe}.b-popover-light.bs-popover-auto[x-placement^=bottom]>.arrow:before,.b-popover-light.bs-popover-bottom>.arrow:before{border-bottom-color:#fdfdfe}.b-popover-light.bs-popover-auto[x-placement^=bottom] .popover-header:before,.b-popover-light.bs-popover-auto[x-placement^=bottom]>.arrow:after,.b-popover-light.bs-popover-bottom .popover-header:before,.b-popover-light.bs-popover-bottom>.arrow:after{border-bottom-color:#f6f6f6}.b-popover-light.bs-popover-auto[x-placement^=left]>.arrow:before,.b-popover-light.bs-popover-left>.arrow:before{border-left-color:#fdfdfe}.b-popover-light.bs-popover-auto[x-placement^=left]>.arrow:after,.b-popover-light.bs-popover-left>.arrow:after{border-left-color:#fefefe}.b-popover-light .popover-header{color:#212529;background-color:#f6f6f6;border-bottom-color:#eaeaea}.b-popover-light .popover-body{color:#818182}.b-popover-dark.popover{background-color:#d6d8d9;border-color:#c6c8ca}.b-popover-dark.bs-popover-auto[x-placement^=top]>.arrow:before,.b-popover-dark.bs-popover-top>.arrow:before{border-top-color:#c6c8ca}.b-popover-dark.bs-popover-auto[x-placement^=top]>.arrow:after,.b-popover-dark.bs-popover-top>.arrow:after{border-top-color:#d6d8d9}.b-popover-dark.bs-popover-auto[x-placement^=right]>.arrow:before,.b-popover-dark.bs-popover-right>.arrow:before{border-right-color:#c6c8ca}.b-popover-dark.bs-popover-auto[x-placement^=right]>.arrow:after,.b-popover-dark.bs-popover-right>.arrow:after{border-right-color:#d6d8d9}.b-popover-dark.bs-popover-auto[x-placement^=bottom]>.arrow:before,.b-popover-dark.bs-popover-bottom>.arrow:before{border-bottom-color:#c6c8ca}.b-popover-dark.bs-popover-auto[x-placement^=bottom] .popover-header:before,.b-popover-dark.bs-popover-auto[x-placement^=bottom]>.arrow:after,.b-popover-dark.bs-popover-bottom .popover-header:before,.b-popover-dark.bs-popover-bottom>.arrow:after{border-bottom-color:#ced0d2}.b-popover-dark.bs-popover-auto[x-placement^=left]>.arrow:before,.b-popover-dark.bs-popover-left>.arrow:before{border-left-color:#c6c8ca}.b-popover-dark.bs-popover-auto[x-placement^=left]>.arrow:after,.b-popover-dark.bs-popover-left>.arrow:after{border-left-color:#d6d8d9}.b-popover-dark .popover-header{color:#212529;background-color:#ced0d2;border-bottom-color:#c1c4c5}.b-popover-dark .popover-body{color:#1b1e21}.table.b-table.b-table-fixed{table-layout:fixed}.table.b-table.b-table-no-border-collapse{border-collapse:separate;border-spacing:0}.table.b-table[aria-busy=true]{opacity:.55}.table.b-table>tbody>tr.b-table-details>td{border-top:none!important}.table.b-table>caption{caption-side:bottom}.table.b-table.b-table-caption-top>caption{caption-side:top!important}.table.b-table>tbody>.table-active,.table.b-table>tbody>.table-active>td,.table.b-table>tbody>.table-active>th{background-color:rgba(0,0,0,.075)}.table.b-table.table-hover>tbody>tr.table-active:hover td,.table.b-table.table-hover>tbody>tr.table-active:hover th{color:#212529;background-image:linear-gradient(rgba(0,0,0,.075),rgba(0,0,0,.075));background-repeat:no-repeat}.table.b-table>tbody>.bg-active,.table.b-table>tbody>.bg-active>td,.table.b-table>tbody>.bg-active>th{background-color:hsla(0,0%,100%,.075)!important}.table.b-table.table-hover.table-dark>tbody>tr.bg-active:hover td,.table.b-table.table-hover.table-dark>tbody>tr.bg-active:hover th{color:#fff;background-image:linear-gradient(hsla(0,0%,100%,.075),hsla(0,0%,100%,.075));background-repeat:no-repeat}.b-table-sticky-header,.table-responsive,[class*=table-responsive-]{margin-bottom:1rem}.b-table-sticky-header>.table,.table-responsive>.table,[class*=table-responsive-]>.table{margin-bottom:0}.b-table-sticky-header{overflow-y:auto;max-height:300px}@media print{.b-table-sticky-header{overflow-y:visible!important;max-height:none!important}}@supports ((position:-webkit-sticky) or (position:sticky)){.b-table-sticky-header>.table.b-table>thead>tr>th{position:-webkit-sticky;position:sticky;top:0;z-index:2}.b-table-sticky-header>.table.b-table>tbody>tr>.b-table-sticky-column,.b-table-sticky-header>.table.b-table>tfoot>tr>.b-table-sticky-column,.b-table-sticky-header>.table.b-table>thead>tr>.b-table-sticky-column,.table-responsive>.table.b-table>tbody>tr>.b-table-sticky-column,.table-responsive>.table.b-table>tfoot>tr>.b-table-sticky-column,.table-responsive>.table.b-table>thead>tr>.b-table-sticky-column,[class*=table-responsive-]>.table.b-table>tbody>tr>.b-table-sticky-column,[class*=table-responsive-]>.table.b-table>tfoot>tr>.b-table-sticky-column,[class*=table-responsive-]>.table.b-table>thead>tr>.b-table-sticky-column{position:-webkit-sticky;position:sticky;left:0}.b-table-sticky-header>.table.b-table>thead>tr>.b-table-sticky-column,.table-responsive>.table.b-table>thead>tr>.b-table-sticky-column,[class*=table-responsive-]>.table.b-table>thead>tr>.b-table-sticky-column{z-index:5}.b-table-sticky-header>.table.b-table>tbody>tr>.b-table-sticky-column,.b-table-sticky-header>.table.b-table>tfoot>tr>.b-table-sticky-column,.table-responsive>.table.b-table>tbody>tr>.b-table-sticky-column,.table-responsive>.table.b-table>tfoot>tr>.b-table-sticky-column,[class*=table-responsive-]>.table.b-table>tbody>tr>.b-table-sticky-column,[class*=table-responsive-]>.table.b-table>tfoot>tr>.b-table-sticky-column{z-index:2}.table.b-table>tbody>tr>.table-b-table-default,.table.b-table>tfoot>tr>.table-b-table-default,.table.b-table>thead>tr>.table-b-table-default{color:#212529;background-color:#fff}.table.b-table.table-dark>tbody>tr>.bg-b-table-default,.table.b-table.table-dark>tfoot>tr>.bg-b-table-default,.table.b-table.table-dark>thead>tr>.bg-b-table-default{color:#fff;background-color:#343a40}.table.b-table.table-striped>tbody>tr:nth-of-type(odd)>.table-b-table-default{background-image:linear-gradient(rgba(0,0,0,.05),rgba(0,0,0,.05));background-repeat:no-repeat}.table.b-table.table-striped.table-dark>tbody>tr:nth-of-type(odd)>.bg-b-table-default{background-image:linear-gradient(hsla(0,0%,100%,.05),hsla(0,0%,100%,.05));background-repeat:no-repeat}.table.b-table.table-hover>tbody>tr:hover>.table-b-table-default{color:#212529;background-image:linear-gradient(rgba(0,0,0,.075),rgba(0,0,0,.075));background-repeat:no-repeat}.table.b-table.table-hover.table-dark>tbody>tr:hover>.bg-b-table-default{color:#fff;background-image:linear-gradient(hsla(0,0%,100%,.075),hsla(0,0%,100%,.075));background-repeat:no-repeat}}.table.b-table>tfoot>tr>[aria-sort],.table.b-table>thead>tr>[aria-sort]{cursor:pointer;background-image:none;background-repeat:no-repeat;background-size:.65em 1em}.table.b-table>tfoot>tr>[aria-sort]:not(.b-table-sort-icon-left),.table.b-table>thead>tr>[aria-sort]:not(.b-table-sort-icon-left){background-position:right 0.375rem center;padding-right:calc(.75rem + .65em)}.table.b-table>tfoot>tr>[aria-sort].b-table-sort-icon-left,.table.b-table>thead>tr>[aria-sort].b-table-sort-icon-left{background-position:left 0.375rem center;padding-left:calc(.75rem + .65em)}.table.b-table>tfoot>tr>[aria-sort=none],.table.b-table>thead>tr>[aria-sort=none]{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='101' height='101' preserveAspectRatio='none'%3E%3Cpath opacity='.3' d='M51 1l25 23 24 22H1l25-22zm0 100l25-23 24-22H1l25 22z'/%3E%3C/svg%3E\")}.table.b-table>tfoot>tr>[aria-sort=ascending],.table.b-table>thead>tr>[aria-sort=ascending]{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='101' height='101' preserveAspectRatio='none'%3E%3Cpath d='M51 1l25 23 24 22H1l25-22z'/%3E%3Cpath opacity='.3' d='M51 101l25-23 24-22H1l25 22z'/%3E%3C/svg%3E\")}.table.b-table>tfoot>tr>[aria-sort=descending],.table.b-table>thead>tr>[aria-sort=descending]{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='101' height='101' preserveAspectRatio='none'%3E%3Cpath opacity='.3' d='M51 1l25 23 24 22H1l25-22z'/%3E%3Cpath d='M51 101l25-23 24-22H1l25 22z'/%3E%3C/svg%3E\")}.table.b-table.table-dark>tfoot>tr>[aria-sort=none],.table.b-table.table-dark>thead>tr>[aria-sort=none],.table.b-table>.thead-dark>tr>[aria-sort=none]{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='101' height='101' preserveAspectRatio='none'%3E%3Cpath fill='%23fff' opacity='.3' d='M51 1l25 23 24 22H1l25-22zm0 100l25-23 24-22H1l25 22z'/%3E%3C/svg%3E\")}.table.b-table.table-dark>tfoot>tr>[aria-sort=ascending],.table.b-table.table-dark>thead>tr>[aria-sort=ascending],.table.b-table>.thead-dark>tr>[aria-sort=ascending]{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='101' height='101' preserveAspectRatio='none'%3E%3Cpath fill='%23fff' d='M51 1l25 23 24 22H1l25-22z'/%3E%3Cpath fill='%23fff' opacity='.3' d='M51 101l25-23 24-22H1l25 22z'/%3E%3C/svg%3E\")}.table.b-table.table-dark>tfoot>tr>[aria-sort=descending],.table.b-table.table-dark>thead>tr>[aria-sort=descending],.table.b-table>.thead-dark>tr>[aria-sort=descending]{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='101' height='101' preserveAspectRatio='none'%3E%3Cpath fill='%23fff' opacity='.3' d='M51 1l25 23 24 22H1l25-22z'/%3E%3Cpath fill='%23fff' d='M51 101l25-23 24-22H1l25 22z'/%3E%3C/svg%3E\")}.table.b-table>tfoot>tr>.table-dark[aria-sort=none],.table.b-table>thead>tr>.table-dark[aria-sort=none]{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='101' height='101' preserveAspectRatio='none'%3E%3Cpath fill='%23fff' opacity='.3' d='M51 1l25 23 24 22H1l25-22zm0 100l25-23 24-22H1l25 22z'/%3E%3C/svg%3E\")}.table.b-table>tfoot>tr>.table-dark[aria-sort=ascending],.table.b-table>thead>tr>.table-dark[aria-sort=ascending]{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='101' height='101' preserveAspectRatio='none'%3E%3Cpath fill='%23fff' d='M51 1l25 23 24 22H1l25-22z'/%3E%3Cpath fill='%23fff' opacity='.3' d='M51 101l25-23 24-22H1l25 22z'/%3E%3C/svg%3E\")}.table.b-table>tfoot>tr>.table-dark[aria-sort=descending],.table.b-table>thead>tr>.table-dark[aria-sort=descending]{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='101' height='101' preserveAspectRatio='none'%3E%3Cpath fill='%23fff' opacity='.3' d='M51 1l25 23 24 22H1l25-22z'/%3E%3Cpath fill='%23fff' d='M51 101l25-23 24-22H1l25 22z'/%3E%3C/svg%3E\")}.table.b-table.table-sm>tfoot>tr>[aria-sort]:not(.b-table-sort-icon-left),.table.b-table.table-sm>thead>tr>[aria-sort]:not(.b-table-sort-icon-left){background-position:right 0.15rem center;padding-right:calc(.3rem + .65em)}.table.b-table.table-sm>tfoot>tr>[aria-sort].b-table-sort-icon-left,.table.b-table.table-sm>thead>tr>[aria-sort].b-table-sort-icon-left{background-position:left 0.15rem center;padding-left:calc(.3rem + .65em)}.table.b-table.b-table-selectable>tbody>tr{cursor:pointer}.table.b-table.b-table-selectable.b-table-selecting.b-table-select-range>tbody>tr{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}@media (max-width:575.98px){.table.b-table.b-table-stacked-sm{display:block;width:100%}.table.b-table.b-table-stacked-sm>caption,.table.b-table.b-table-stacked-sm>tbody,.table.b-table.b-table-stacked-sm>tbody>tr,.table.b-table.b-table-stacked-sm>tbody>tr>td,.table.b-table.b-table-stacked-sm>tbody>tr>th{display:block}.table.b-table.b-table-stacked-sm>tfoot,.table.b-table.b-table-stacked-sm>tfoot>tr.b-table-bottom-row,.table.b-table.b-table-stacked-sm>tfoot>tr.b-table-top-row,.table.b-table.b-table-stacked-sm>thead,.table.b-table.b-table-stacked-sm>thead>tr.b-table-bottom-row,.table.b-table.b-table-stacked-sm>thead>tr.b-table-top-row{display:none}.table.b-table.b-table-stacked-sm>caption{caption-side:top!important}.table.b-table.b-table-stacked-sm>tbody>tr>[data-label]:before{content:attr(data-label);width:40%;float:left;text-align:right;overflow-wrap:break-word;font-weight:700;font-style:normal;padding:0 0.5rem 0 0;margin:0}.table.b-table.b-table-stacked-sm>tbody>tr>[data-label]:after{display:block;clear:both;content:\"\"}.table.b-table.b-table-stacked-sm>tbody>tr>[data-label]>div{display:inline-block;width:60%;padding:0 0 0 0.5rem;margin:0}.table.b-table.b-table-stacked-sm>tbody>tr.bottom-row,.table.b-table.b-table-stacked-sm>tbody>tr.top-row{display:none}.table.b-table.b-table-stacked-sm>tbody>tr>:first-child,.table.b-table.b-table-stacked-sm>tbody>tr>[rowspan]+td,.table.b-table.b-table-stacked-sm>tbody>tr>[rowspan]+th{border-top-width:3px}}@media (max-width:767.98px){.table.b-table.b-table-stacked-md{display:block;width:100%}.table.b-table.b-table-stacked-md>caption,.table.b-table.b-table-stacked-md>tbody,.table.b-table.b-table-stacked-md>tbody>tr,.table.b-table.b-table-stacked-md>tbody>tr>td,.table.b-table.b-table-stacked-md>tbody>tr>th{display:block}.table.b-table.b-table-stacked-md>tfoot,.table.b-table.b-table-stacked-md>tfoot>tr.b-table-bottom-row,.table.b-table.b-table-stacked-md>tfoot>tr.b-table-top-row,.table.b-table.b-table-stacked-md>thead,.table.b-table.b-table-stacked-md>thead>tr.b-table-bottom-row,.table.b-table.b-table-stacked-md>thead>tr.b-table-top-row{display:none}.table.b-table.b-table-stacked-md>caption{caption-side:top!important}.table.b-table.b-table-stacked-md>tbody>tr>[data-label]:before{content:attr(data-label);width:40%;float:left;text-align:right;overflow-wrap:break-word;font-weight:700;font-style:normal;padding:0 0.5rem 0 0;margin:0}.table.b-table.b-table-stacked-md>tbody>tr>[data-label]:after{display:block;clear:both;content:\"\"}.table.b-table.b-table-stacked-md>tbody>tr>[data-label]>div{display:inline-block;width:60%;padding:0 0 0 0.5rem;margin:0}.table.b-table.b-table-stacked-md>tbody>tr.bottom-row,.table.b-table.b-table-stacked-md>tbody>tr.top-row{display:none}.table.b-table.b-table-stacked-md>tbody>tr>:first-child,.table.b-table.b-table-stacked-md>tbody>tr>[rowspan]+td,.table.b-table.b-table-stacked-md>tbody>tr>[rowspan]+th{border-top-width:3px}}@media (max-width:991.98px){.table.b-table.b-table-stacked-lg{display:block;width:100%}.table.b-table.b-table-stacked-lg>caption,.table.b-table.b-table-stacked-lg>tbody,.table.b-table.b-table-stacked-lg>tbody>tr,.table.b-table.b-table-stacked-lg>tbody>tr>td,.table.b-table.b-table-stacked-lg>tbody>tr>th{display:block}.table.b-table.b-table-stacked-lg>tfoot,.table.b-table.b-table-stacked-lg>tfoot>tr.b-table-bottom-row,.table.b-table.b-table-stacked-lg>tfoot>tr.b-table-top-row,.table.b-table.b-table-stacked-lg>thead,.table.b-table.b-table-stacked-lg>thead>tr.b-table-bottom-row,.table.b-table.b-table-stacked-lg>thead>tr.b-table-top-row{display:none}.table.b-table.b-table-stacked-lg>caption{caption-side:top!important}.table.b-table.b-table-stacked-lg>tbody>tr>[data-label]:before{content:attr(data-label);width:40%;float:left;text-align:right;overflow-wrap:break-word;font-weight:700;font-style:normal;padding:0 0.5rem 0 0;margin:0}.table.b-table.b-table-stacked-lg>tbody>tr>[data-label]:after{display:block;clear:both;content:\"\"}.table.b-table.b-table-stacked-lg>tbody>tr>[data-label]>div{display:inline-block;width:60%;padding:0 0 0 0.5rem;margin:0}.table.b-table.b-table-stacked-lg>tbody>tr.bottom-row,.table.b-table.b-table-stacked-lg>tbody>tr.top-row{display:none}.table.b-table.b-table-stacked-lg>tbody>tr>:first-child,.table.b-table.b-table-stacked-lg>tbody>tr>[rowspan]+td,.table.b-table.b-table-stacked-lg>tbody>tr>[rowspan]+th{border-top-width:3px}}@media (max-width:1199.98px){.table.b-table.b-table-stacked-xl{display:block;width:100%}.table.b-table.b-table-stacked-xl>caption,.table.b-table.b-table-stacked-xl>tbody,.table.b-table.b-table-stacked-xl>tbody>tr,.table.b-table.b-table-stacked-xl>tbody>tr>td,.table.b-table.b-table-stacked-xl>tbody>tr>th{display:block}.table.b-table.b-table-stacked-xl>tfoot,.table.b-table.b-table-stacked-xl>tfoot>tr.b-table-bottom-row,.table.b-table.b-table-stacked-xl>tfoot>tr.b-table-top-row,.table.b-table.b-table-stacked-xl>thead,.table.b-table.b-table-stacked-xl>thead>tr.b-table-bottom-row,.table.b-table.b-table-stacked-xl>thead>tr.b-table-top-row{display:none}.table.b-table.b-table-stacked-xl>caption{caption-side:top!important}.table.b-table.b-table-stacked-xl>tbody>tr>[data-label]:before{content:attr(data-label);width:40%;float:left;text-align:right;overflow-wrap:break-word;font-weight:700;font-style:normal;padding:0 0.5rem 0 0;margin:0}.table.b-table.b-table-stacked-xl>tbody>tr>[data-label]:after{display:block;clear:both;content:\"\"}.table.b-table.b-table-stacked-xl>tbody>tr>[data-label]>div{display:inline-block;width:60%;padding:0 0 0 0.5rem;margin:0}.table.b-table.b-table-stacked-xl>tbody>tr.bottom-row,.table.b-table.b-table-stacked-xl>tbody>tr.top-row{display:none}.table.b-table.b-table-stacked-xl>tbody>tr>:first-child,.table.b-table.b-table-stacked-xl>tbody>tr>[rowspan]+td,.table.b-table.b-table-stacked-xl>tbody>tr>[rowspan]+th{border-top-width:3px}}.table.b-table.b-table-stacked{display:block;width:100%}.table.b-table.b-table-stacked>caption,.table.b-table.b-table-stacked>tbody,.table.b-table.b-table-stacked>tbody>tr,.table.b-table.b-table-stacked>tbody>tr>td,.table.b-table.b-table-stacked>tbody>tr>th{display:block}.table.b-table.b-table-stacked>tfoot,.table.b-table.b-table-stacked>tfoot>tr.b-table-bottom-row,.table.b-table.b-table-stacked>tfoot>tr.b-table-top-row,.table.b-table.b-table-stacked>thead,.table.b-table.b-table-stacked>thead>tr.b-table-bottom-row,.table.b-table.b-table-stacked>thead>tr.b-table-top-row{display:none}.table.b-table.b-table-stacked>caption{caption-side:top!important}.table.b-table.b-table-stacked>tbody>tr>[data-label]:before{content:attr(data-label);width:40%;float:left;text-align:right;overflow-wrap:break-word;font-weight:700;font-style:normal;padding:0 0.5rem 0 0;margin:0}.table.b-table.b-table-stacked>tbody>tr>[data-label]:after{display:block;clear:both;content:\"\"}.table.b-table.b-table-stacked>tbody>tr>[data-label]>div{display:inline-block;width:60%;padding:0 0 0 0.5rem;margin:0}.table.b-table.b-table-stacked>tbody>tr.bottom-row,.table.b-table.b-table-stacked>tbody>tr.top-row{display:none}.table.b-table.b-table-stacked>tbody>tr>:first-child,.table.b-table.b-table-stacked>tbody>tr>[rowspan]+td,.table.b-table.b-table-stacked>tbody>tr>[rowspan]+th{border-top-width:3px}.b-toast{display:block;position:relative;max-width:350px;-webkit-backface-visibility:hidden;backface-visibility:hidden;background-clip:padding-box;z-index:1;border-radius:.25rem}.b-toast .toast{background-color:hsla(0,0%,100%,.85)}.b-toast:not(:last-child){margin-bottom:.75rem}.b-toast.b-toast-solid .toast{background-color:#fff}.b-toast .toast{opacity:1}.b-toast .toast.fade:not(.show){opacity:0}.b-toast .toast .toast-body{display:block}.b-toast-primary .toast{background-color:rgba(230,242,255,.85);border-color:rgba(184,218,255,.85);color:#004085}.b-toast-primary .toast .toast-header{color:#004085;background-color:rgba(204,229,255,.85);border-bottom-color:rgba(184,218,255,.85)}.b-toast-primary.b-toast-solid .toast{background-color:#e6f2ff}.b-toast-secondary .toast{background-color:hsla(210,7%,94%,.85);border-color:hsla(216,6%,85%,.85);color:#383d41}.b-toast-secondary .toast .toast-header{color:#383d41;background-color:hsla(220,5%,89%,.85);border-bottom-color:hsla(216,6%,85%,.85)}.b-toast-secondary.b-toast-solid .toast{background-color:#eff0f1}.b-toast-success .toast{background-color:rgba(230,245,233,.85);border-color:rgba(195,230,203,.85);color:#155724}.b-toast-success .toast .toast-header{color:#155724;background-color:rgba(212,237,218,.85);border-bottom-color:rgba(195,230,203,.85)}.b-toast-success.b-toast-solid .toast{background-color:#e6f5e9}.b-toast-info .toast{background-color:rgba(229,244,247,.85);border-color:rgba(190,229,235,.85);color:#0c5460}.b-toast-info .toast .toast-header{color:#0c5460;background-color:rgba(209,236,241,.85);border-bottom-color:rgba(190,229,235,.85)}.b-toast-info.b-toast-solid .toast{background-color:#e5f4f7}.b-toast-warning .toast{background-color:rgba(255,249,231,.85);border-color:rgba(255,238,186,.85);color:#856404}.b-toast-warning .toast .toast-header{color:#856404;background-color:rgba(255,243,205,.85);border-bottom-color:rgba(255,238,186,.85)}.b-toast-warning.b-toast-solid .toast{background-color:#fff9e7}.b-toast-danger .toast{background-color:rgba(252,237,238,.85);border-color:rgba(245,198,203,.85);color:#721c24}.b-toast-danger .toast .toast-header{color:#721c24;background-color:rgba(248,215,218,.85);border-bottom-color:rgba(245,198,203,.85)}.b-toast-danger.b-toast-solid .toast{background-color:#fcedee}.b-toast-light .toast{background-color:hsla(0,0%,100%,.85);border-color:rgba(253,253,254,.85);color:#818182}.b-toast-light .toast .toast-header{color:#818182;background-color:hsla(0,0%,100%,.85);border-bottom-color:rgba(253,253,254,.85)}.b-toast-light.b-toast-solid .toast{background-color:#fff}.b-toast-dark .toast{background-color:hsla(180,4%,89%,.85);border-color:hsla(210,4%,78%,.85);color:#1b1e21}.b-toast-dark .toast .toast-header{color:#1b1e21;background-color:hsla(200,4%,85%,.85);border-bottom-color:hsla(210,4%,78%,.85)}.b-toast-dark.b-toast-solid .toast{background-color:#e3e5e5}.b-toaster{z-index:1100}.b-toaster .b-toaster-slot{position:relative;display:block}.b-toaster .b-toaster-slot:empty{display:none!important}.b-toaster.b-toaster-bottom-center,.b-toaster.b-toaster-bottom-full,.b-toaster.b-toaster-bottom-left,.b-toaster.b-toaster-bottom-right,.b-toaster.b-toaster-top-center,.b-toaster.b-toaster-top-full,.b-toaster.b-toaster-top-left,.b-toaster.b-toaster-top-right{position:fixed;left:.5rem;right:.5rem;margin:0;padding:0;height:0;overflow:visible}.b-toaster.b-toaster-bottom-center .b-toaster-slot,.b-toaster.b-toaster-bottom-full .b-toaster-slot,.b-toaster.b-toaster-bottom-left .b-toaster-slot,.b-toaster.b-toaster-bottom-right .b-toaster-slot,.b-toaster.b-toaster-top-center .b-toaster-slot,.b-toaster.b-toaster-top-full .b-toaster-slot,.b-toaster.b-toaster-top-left .b-toaster-slot,.b-toaster.b-toaster-top-right .b-toaster-slot{position:absolute;max-width:350px;width:100%;left:0;right:0;padding:0;margin:0}.b-toaster.b-toaster-bottom-full .b-toaster-slot,.b-toaster.b-toaster-bottom-full .b-toaster-slot .b-toast,.b-toaster.b-toaster-bottom-full .b-toaster-slot .toast,.b-toaster.b-toaster-top-full .b-toaster-slot,.b-toaster.b-toaster-top-full .b-toaster-slot .b-toast,.b-toaster.b-toaster-top-full .b-toaster-slot .toast{width:100%;max-width:100%}.b-toaster.b-toaster-top-center,.b-toaster.b-toaster-top-full,.b-toaster.b-toaster-top-left,.b-toaster.b-toaster-top-right{top:0}.b-toaster.b-toaster-top-center .b-toaster-slot,.b-toaster.b-toaster-top-full .b-toaster-slot,.b-toaster.b-toaster-top-left .b-toaster-slot,.b-toaster.b-toaster-top-right .b-toaster-slot{top:.5rem}.b-toaster.b-toaster-bottom-center,.b-toaster.b-toaster-bottom-full,.b-toaster.b-toaster-bottom-left,.b-toaster.b-toaster-bottom-right{bottom:0}.b-toaster.b-toaster-bottom-center .b-toaster-slot,.b-toaster.b-toaster-bottom-full .b-toaster-slot,.b-toaster.b-toaster-bottom-left .b-toaster-slot,.b-toaster.b-toaster-bottom-right .b-toaster-slot{bottom:.5rem}.b-toaster.b-toaster-bottom-center .b-toaster-slot,.b-toaster.b-toaster-bottom-right .b-toaster-slot,.b-toaster.b-toaster-top-center .b-toaster-slot,.b-toaster.b-toaster-top-right .b-toaster-slot{margin-left:auto}.b-toaster.b-toaster-bottom-center .b-toaster-slot,.b-toaster.b-toaster-bottom-left .b-toaster-slot,.b-toaster.b-toaster-top-center .b-toaster-slot,.b-toaster.b-toaster-top-left .b-toaster-slot{margin-right:auto}.b-toaster.b-toaster-bottom-left .b-toast.b-toaster-enter-active,.b-toaster.b-toaster-bottom-left .b-toast.b-toaster-leave-active,.b-toaster.b-toaster-bottom-left .b-toast.b-toaster-move,.b-toaster.b-toaster-bottom-right .b-toast.b-toaster-enter-active,.b-toaster.b-toaster-bottom-right .b-toast.b-toaster-leave-active,.b-toaster.b-toaster-bottom-right .b-toast.b-toaster-move,.b-toaster.b-toaster-top-left .b-toast.b-toaster-enter-active,.b-toaster.b-toaster-top-left .b-toast.b-toaster-leave-active,.b-toaster.b-toaster-top-left .b-toast.b-toaster-move,.b-toaster.b-toaster-top-right .b-toast.b-toaster-enter-active,.b-toaster.b-toaster-top-right .b-toast.b-toaster-leave-active,.b-toaster.b-toaster-top-right .b-toast.b-toaster-move{transition:-webkit-transform .175s;transition:transform .175s;transition:transform .175s,-webkit-transform .175s}.b-toaster.b-toaster-bottom-left .b-toast.b-toaster-enter-active .toast.fade,.b-toaster.b-toaster-bottom-left .b-toast.b-toaster-enter-to .toast.fade,.b-toaster.b-toaster-bottom-right .b-toast.b-toaster-enter-active .toast.fade,.b-toaster.b-toaster-bottom-right .b-toast.b-toaster-enter-to .toast.fade,.b-toaster.b-toaster-top-left .b-toast.b-toaster-enter-active .toast.fade,.b-toaster.b-toaster-top-left .b-toast.b-toaster-enter-to .toast.fade,.b-toaster.b-toaster-top-right .b-toast.b-toaster-enter-active .toast.fade,.b-toaster.b-toaster-top-right .b-toast.b-toaster-enter-to .toast.fade{transition-delay:.175s}.b-toaster.b-toaster-bottom-left .b-toast.b-toaster-leave-active,.b-toaster.b-toaster-bottom-right .b-toast.b-toaster-leave-active,.b-toaster.b-toaster-top-left .b-toast.b-toaster-leave-active,.b-toaster.b-toaster-top-right .b-toast.b-toaster-leave-active{position:absolute;transition-delay:.175s}.b-toaster.b-toaster-bottom-left .b-toast.b-toaster-leave-active .toast.fade,.b-toaster.b-toaster-bottom-right .b-toast.b-toaster-leave-active .toast.fade,.b-toaster.b-toaster-top-left .b-toast.b-toaster-leave-active .toast.fade,.b-toaster.b-toaster-top-right .b-toast.b-toaster-leave-active .toast.fade{transition-delay:0s}.tooltip.b-tooltip{display:block;opacity:.9}.tooltip.b-tooltip.fade:not(.show){opacity:0}.tooltip.b-tooltip.show{opacity:.9}.tooltip.b-tooltip-primary.bs-tooltip-auto[x-placement^=top] .arrow:before,.tooltip.b-tooltip-primary.bs-tooltip-top .arrow:before{border-top-color:#007bff}.tooltip.b-tooltip-primary.bs-tooltip-auto[x-placement^=right] .arrow:before,.tooltip.b-tooltip-primary.bs-tooltip-right .arrow:before{border-right-color:#007bff}.tooltip.b-tooltip-primary.bs-tooltip-auto[x-placement^=bottom] .arrow:before,.tooltip.b-tooltip-primary.bs-tooltip-bottom .arrow:before{border-bottom-color:#007bff}.tooltip.b-tooltip-primary.bs-tooltip-auto[x-placement^=left] .arrow:before,.tooltip.b-tooltip-primary.bs-tooltip-left .arrow:before{border-left-color:#007bff}.tooltip.b-tooltip-primary .tooltip-inner{color:#fff;background-color:#007bff}.tooltip.b-tooltip-secondary.bs-tooltip-auto[x-placement^=top] .arrow:before,.tooltip.b-tooltip-secondary.bs-tooltip-top .arrow:before{border-top-color:#6c757d}.tooltip.b-tooltip-secondary.bs-tooltip-auto[x-placement^=right] .arrow:before,.tooltip.b-tooltip-secondary.bs-tooltip-right .arrow:before{border-right-color:#6c757d}.tooltip.b-tooltip-secondary.bs-tooltip-auto[x-placement^=bottom] .arrow:before,.tooltip.b-tooltip-secondary.bs-tooltip-bottom .arrow:before{border-bottom-color:#6c757d}.tooltip.b-tooltip-secondary.bs-tooltip-auto[x-placement^=left] .arrow:before,.tooltip.b-tooltip-secondary.bs-tooltip-left .arrow:before{border-left-color:#6c757d}.tooltip.b-tooltip-secondary .tooltip-inner{color:#fff;background-color:#6c757d}.tooltip.b-tooltip-success.bs-tooltip-auto[x-placement^=top] .arrow:before,.tooltip.b-tooltip-success.bs-tooltip-top .arrow:before{border-top-color:#28a745}.tooltip.b-tooltip-success.bs-tooltip-auto[x-placement^=right] .arrow:before,.tooltip.b-tooltip-success.bs-tooltip-right .arrow:before{border-right-color:#28a745}.tooltip.b-tooltip-success.bs-tooltip-auto[x-placement^=bottom] .arrow:before,.tooltip.b-tooltip-success.bs-tooltip-bottom .arrow:before{border-bottom-color:#28a745}.tooltip.b-tooltip-success.bs-tooltip-auto[x-placement^=left] .arrow:before,.tooltip.b-tooltip-success.bs-tooltip-left .arrow:before{border-left-color:#28a745}.tooltip.b-tooltip-success .tooltip-inner{color:#fff;background-color:#28a745}.tooltip.b-tooltip-info.bs-tooltip-auto[x-placement^=top] .arrow:before,.tooltip.b-tooltip-info.bs-tooltip-top .arrow:before{border-top-color:#17a2b8}.tooltip.b-tooltip-info.bs-tooltip-auto[x-placement^=right] .arrow:before,.tooltip.b-tooltip-info.bs-tooltip-right .arrow:before{border-right-color:#17a2b8}.tooltip.b-tooltip-info.bs-tooltip-auto[x-placement^=bottom] .arrow:before,.tooltip.b-tooltip-info.bs-tooltip-bottom .arrow:before{border-bottom-color:#17a2b8}.tooltip.b-tooltip-info.bs-tooltip-auto[x-placement^=left] .arrow:before,.tooltip.b-tooltip-info.bs-tooltip-left .arrow:before{border-left-color:#17a2b8}.tooltip.b-tooltip-info .tooltip-inner{color:#fff;background-color:#17a2b8}.tooltip.b-tooltip-warning.bs-tooltip-auto[x-placement^=top] .arrow:before,.tooltip.b-tooltip-warning.bs-tooltip-top .arrow:before{border-top-color:#ffc107}.tooltip.b-tooltip-warning.bs-tooltip-auto[x-placement^=right] .arrow:before,.tooltip.b-tooltip-warning.bs-tooltip-right .arrow:before{border-right-color:#ffc107}.tooltip.b-tooltip-warning.bs-tooltip-auto[x-placement^=bottom] .arrow:before,.tooltip.b-tooltip-warning.bs-tooltip-bottom .arrow:before{border-bottom-color:#ffc107}.tooltip.b-tooltip-warning.bs-tooltip-auto[x-placement^=left] .arrow:before,.tooltip.b-tooltip-warning.bs-tooltip-left .arrow:before{border-left-color:#ffc107}.tooltip.b-tooltip-warning .tooltip-inner{color:#212529;background-color:#ffc107}.tooltip.b-tooltip-danger.bs-tooltip-auto[x-placement^=top] .arrow:before,.tooltip.b-tooltip-danger.bs-tooltip-top .arrow:before{border-top-color:#dc3545}.tooltip.b-tooltip-danger.bs-tooltip-auto[x-placement^=right] .arrow:before,.tooltip.b-tooltip-danger.bs-tooltip-right .arrow:before{border-right-color:#dc3545}.tooltip.b-tooltip-danger.bs-tooltip-auto[x-placement^=bottom] .arrow:before,.tooltip.b-tooltip-danger.bs-tooltip-bottom .arrow:before{border-bottom-color:#dc3545}.tooltip.b-tooltip-danger.bs-tooltip-auto[x-placement^=left] .arrow:before,.tooltip.b-tooltip-danger.bs-tooltip-left .arrow:before{border-left-color:#dc3545}.tooltip.b-tooltip-danger .tooltip-inner{color:#fff;background-color:#dc3545}.tooltip.b-tooltip-light.bs-tooltip-auto[x-placement^=top] .arrow:before,.tooltip.b-tooltip-light.bs-tooltip-top .arrow:before{border-top-color:#f8f9fa}.tooltip.b-tooltip-light.bs-tooltip-auto[x-placement^=right] .arrow:before,.tooltip.b-tooltip-light.bs-tooltip-right .arrow:before{border-right-color:#f8f9fa}.tooltip.b-tooltip-light.bs-tooltip-auto[x-placement^=bottom] .arrow:before,.tooltip.b-tooltip-light.bs-tooltip-bottom .arrow:before{border-bottom-color:#f8f9fa}.tooltip.b-tooltip-light.bs-tooltip-auto[x-placement^=left] .arrow:before,.tooltip.b-tooltip-light.bs-tooltip-left .arrow:before{border-left-color:#f8f9fa}.tooltip.b-tooltip-light .tooltip-inner{color:#212529;background-color:#f8f9fa}.tooltip.b-tooltip-dark.bs-tooltip-auto[x-placement^=top] .arrow:before,.tooltip.b-tooltip-dark.bs-tooltip-top .arrow:before{border-top-color:#343a40}.tooltip.b-tooltip-dark.bs-tooltip-auto[x-placement^=right] .arrow:before,.tooltip.b-tooltip-dark.bs-tooltip-right .arrow:before{border-right-color:#343a40}.tooltip.b-tooltip-dark.bs-tooltip-auto[x-placement^=bottom] .arrow:before,.tooltip.b-tooltip-dark.bs-tooltip-bottom .arrow:before{border-bottom-color:#343a40}.tooltip.b-tooltip-dark.bs-tooltip-auto[x-placement^=left] .arrow:before,.tooltip.b-tooltip-dark.bs-tooltip-left .arrow:before{border-left-color:#343a40}.tooltip.b-tooltip-dark .tooltip-inner{color:#fff;background-color:#343a40}",""])},function(t,e,r){var o=r(281);"string"==typeof o&&(o=[[t.i,o,""]]),o.locals&&(t.exports=o.locals);r(23)("ac0c440e",o,!0,{})},function(t,e,r){e=t.exports=r(22)(!1),e.push([t.i,"code[class*=language-],pre[class*=language-]{color:#000;background:none;text-shadow:0 1px #fff;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}code[class*=language-]::-moz-selection,code[class*=language-] ::-moz-selection,pre[class*=language-]::-moz-selection,pre[class*=language-] ::-moz-selection{text-shadow:none;background:#b3d4fc}code[class*=language-]::selection,code[class*=language-] ::selection,pre[class*=language-]::selection,pre[class*=language-] ::selection{text-shadow:none;background:#b3d4fc}@media print{code[class*=language-],pre[class*=language-]{text-shadow:none}}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#f5f2f0}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#708090}.token.punctuation{color:#999}.namespace{opacity:.7}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#905}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:#690}.language-css .token.string,.style .token.string,.token.entity,.token.operator,.token.url{color:#9a6e3a;background:hsla(0,0%,100%,.5)}.token.atrule,.token.attr-value,.token.keyword{color:#07a}.token.class-name,.token.function{color:#dd4a68}.token.important,.token.regex,.token.variable{color:#e90}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}",""])},function(t,e,r){var o=r(283);"string"==typeof o&&(o=[[t.i,o,""]]),o.locals&&(t.exports=o.locals);r(23)("011b38f9",o,!0,{})},function(t,e,r){e=t.exports=r(22)(!1),e.push([t.i,'code[class*=language-],pre[class*=language-]{color:#000;background:none;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}pre[class*=language-]{position:relative;margin:.5em 0;overflow:visible;padding:0}pre[class*=language-]>code{position:relative;border-left:10px solid #358ccb;box-shadow:-1px 0 0 0 #358ccb,0 0 0 1px #dfdfdf;background-color:#fdfdfd;background-image:linear-gradient(transparent 50%,rgba(69,142,209,.04) 0);background-size:3em 3em;background-origin:content-box;background-attachment:local}code[class*=language]{max-height:inherit;height:inherit;padding:0 1em;display:block;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background-color:#fdfdfd;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin-bottom:1em}:not(pre)>code[class*=language-]{position:relative;padding:.2em;border-radius:.3em;color:#c92c2c;border:1px solid rgba(0,0,0,.1);display:inline;white-space:normal}pre[class*=language-]:after,pre[class*=language-]:before{content:"";z-index:-2;display:block;position:absolute;bottom:.75em;left:.18em;width:40%;height:20%;max-height:13em;box-shadow:0 13px 8px #979797;-webkit-transform:rotate(-2deg);-moz-transform:rotate(-2deg);-ms-transform:rotate(-2deg);-o-transform:rotate(-2deg);transform:rotate(-2deg)}:not(pre)>code[class*=language-]:after,pre[class*=language-]:after{right:.75em;left:auto;-webkit-transform:rotate(2deg);-moz-transform:rotate(2deg);-ms-transform:rotate(2deg);-o-transform:rotate(2deg);transform:rotate(2deg)}.token.block-comment,.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#7d8b99}.token.punctuation{color:#5f6364}.token.boolean,.token.constant,.token.deleted,.token.function-name,.token.number,.token.property,.token.symbol,.token.tag{color:#c92c2c}.token.attr-name,.token.builtin,.token.char,.token.function,.token.inserted,.token.selector,.token.string{color:#2f9c0a}.token.entity,.token.operator,.token.url,.token.variable{color:#a67f59;background:hsla(0,0%,100%,.5)}.token.atrule,.token.attr-value,.token.class-name,.token.keyword{color:#1990b8}.token.important,.token.regex{color:#e90}.language-css .token.string,.style .token.string{color:#a67f59;background:hsla(0,0%,100%,.5)}.token.important{font-weight:400}.token.bold{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.namespace{opacity:.7}@media screen and (max-width:767px){pre[class*=language-]:after,pre[class*=language-]:before{bottom:14px;box-shadow:none}}.token.cr:before,.token.lf:before,.token.tab:not(:empty):before{color:#e0d7d1}pre[class*=language-].line-numbers.line-numbers{padding-left:0}pre[class*=language-].line-numbers.line-numbers code{padding-left:3.8em}pre[class*=language-].line-numbers.line-numbers .line-numbers-rows{left:0}pre[class*=language-][data-line]{padding-top:0;padding-bottom:0;padding-left:0}pre[data-line] code{position:relative;padding-left:4em}pre .line-highlight{margin-top:0}',""])}]);
-//# sourceMappingURL=build.js.map
\ No newline at end of file
diff --git a/webapp/eslintrc.google.js b/webapp/eslintrc.google.js
deleted file mode 100644
index 1b9c38436412f82955d3121cb310b4442be47327..0000000000000000000000000000000000000000
--- a/webapp/eslintrc.google.js
+++ /dev/null
@@ -1,334 +0,0 @@
-/**
- * Copyright 2016 Google Inc. All rights reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-'use strict';
-
-module.exports = {
-  rules: {
-    // The rules below are listed in the order they appear on the eslint
-    // rules page. All rules are listed to make it easier to keep in sync
-    // as new ESLint rules are added.
-    // http://eslint.org/docs/rules/
-    // - Rules in the `eslint:recommended` ruleset that aren't specifically
-    //   mentioned by the google styleguide are listed but commented out (so
-    //   they don't override a base ruleset).
-    // - Rules that are recommended but contradict the Google styleguide
-    //   are explicitely set to the Google styleguide value.
-
-    // Possible Errors
-    // http://eslint.org/docs/rules/#possible-errors
-    // ---------------------------------------------
-    // 'for-direction': 0,
-    // 'no-await-in-loop': 0,
-    // 'no-compare-neg-zero': 2, // eslint:recommended
-    'no-cond-assign': 0, // eslint:recommended
-    // 'no-console': 2, // eslint:recommended
-    // 'no-constant-condition': 2, // eslint:recommended
-    // 'no-control-regex': 2, // eslint:recommended
-    // 'no-debugger': 2, // eslint:recommended
-    // 'no-dupe-args': 2, // eslint:recommended
-    // 'no-dupe-keys': 2, // eslint:recommended
-    // 'no-duplicate-case': 2, // eslint:recommended
-    // 'no-empty': 2, // eslint:recommended
-    // 'no-empty-character-class': 2, // eslint:recommended
-    // 'no-ex-assign': 2, // eslint:recommended
-    // 'no-extra-boolean-cast': 2, // eslint:recommended
-    // 'no-extra-parens': 0,
-    // 'no-extra-semi': 2, // eslint:recommended
-    // 'no-func-assign': 2, // eslint:recommended
-    // 'no-inner-declarations': 2, // eslint:recommended
-    // 'no-invalid-regexp': 2, // eslint:recommended
-    'no-irregular-whitespace': 2, // eslint:recommended
-    // 'no-obj-calls': 2, // eslint:recommended
-    // 'no-prototype-builtins': 0,
-    // 'no-regex-spaces': 2, // eslint:recommended
-    // 'no-sparse-arrays': 2, // eslint:recommended
-    // 'no-template-curly-in-string': 0,
-    'no-unexpected-multiline': 2, // eslint:recommended
-    // 'no-unreachable': 2, // eslint:recommended
-    // 'no-unsafe-finally': 2, // eslint:recommended
-    // 'no-unsafe-negation': 0,
-    // 'use-isnan': 2 // eslint:recommended
-    'valid-jsdoc': [2, {
-      requireParamDescription: false,
-      requireReturnDescription: false,
-      requireReturn: false,
-      prefer: {returns: 'return'},
-    }],
-    // 'valid-typeof': 2 // eslint:recommended
-
-
-    // Best Practices
-    // http://eslint.org/docs/rules/#best-practices
-    // --------------------------------------------
-
-    // 'accessor-pairs': 0,
-    // 'array-callback-return': 0,
-    // 'block-scoped-var': 0,
-    // 'class-methods-use-this': 0,
-    // 'complexity': 0,
-    // 'consistent-return': 0
-    'curly': [2, 'multi-line'], // TODO(philipwalton): add an option to enforce
-                                // braces with the exception of simple,
-                                // single-line if statements.
-    // 'default-case': 0,
-    // 'dot-location': 0,
-    // 'dot-notation': 0,
-    // 'eqeqeq': 0,
-    'guard-for-in': 2,
-    // 'no-alert': 0,
-    'no-caller': 2,
-    // 'no-case-declarations': 2, // eslint:recommended
-    // 'no-div-regex': 0,
-    // 'no-else-return': 0,
-    // 'no-empty-function': 0,
-    // 'no-empty-pattern': 2, // eslint:recommended
-    // 'no-eq-null': 0,
-    // 'no-eval': 0,
-    'no-extend-native': 2,
-    'no-extra-bind': 2,
-    // 'no-extra-label': 0,
-    // 'no-fallthrough': 2, // eslint:recommended
-    // 'no-floating-decimal': 0,
-    // 'no-global-assign': 0,
-    // 'no-implicit-coercion': 0,
-    // 'no-implicit-globals': 0,
-    // 'no-implied-eval': 0,
-    'no-invalid-this': 2,
-    // 'no-iterator': 0,
-    // 'no-labels': 0,
-    // 'no-lone-blocks': 0,
-    // 'no-loop-func': 0,
-    // 'no-magic-numbers': 0,
-    'no-multi-spaces': 2,
-    'no-multi-str': 2,
-    // 'no-new': 0,
-    // 'no-new-func': 0,
-    'no-new-wrappers': 2,
-    // 'no-octal': 2, // eslint:recommended
-    // 'no-octal-escape': 0,
-    // 'no-param-reassign': 0,
-    // 'no-proto': 0,
-    // 'no-redeclare': 2, // eslint:recommended
-    // 'no-restricted-properties': 0,
-    // 'no-return-assign': 0,
-    // 'no-script-url': 0,
-    // 'no-self-assign': 2, // eslint:recommended
-    // 'no-self-compare': 0,
-    // 'no-sequences': 0,
-    'no-throw-literal': 2, // eslint:recommended
-    // 'no-unmodified-loop-condition': 0,
-    // 'no-unused-expressions': 0,
-    // 'no-unused-labels': 2, // eslint:recommended
-    // 'no-useless-call': 0,
-    // 'no-useless-concat': 0,
-    // 'no-useless-escape': 0,
-    // 'no-void': 0,
-    // 'no-warning-comments': 0,
-    'no-with': 2,
-    // 'prefer-promise-reject-errors': 0,
-    // 'radix': 0,
-    // 'require-await': 0,
-    // 'vars-on-top': 0,
-    // 'wrap-iife': 0,
-    // 'yoda': 0,
-
-    // Strict Mode
-    // http://eslint.org/docs/rules/#strict-mode
-    // -----------------------------------------
-    // 'strict': 0,
-
-    // Variables
-    // http://eslint.org/docs/rules/#variables
-    // ---------------------------------------
-    // 'init-declarations': 0,
-    // 'no-catch-shadow': 0,
-    // 'no-delete-var': 2, // eslint:recommended
-    // 'no-label-var': 0,
-    // 'no-restricted-globals': 0,
-    // 'no-shadow': 0,
-    // 'no-shadow-restricted-names': 0,
-    // 'no-undef': 2, // eslint:recommended
-    // 'no-undef-init': 0,
-    // 'no-undefined': 0,
-    'no-unused-vars': [2, {args: 'none'}], // eslint:recommended
-    // 'no-use-before-define': 0,
-
-    // Node.js and CommonJS
-    // http://eslint.org/docs/rules/#nodejs-and-commonjs
-    // -------------------------------------------------
-    // 'callback-return': 0,
-    // 'global-require': 0,
-    // 'handle-callback-err': 0,
-    // 'no-buffer-constructor': 0,
-    // 'no-mixed-requires': 0,
-    // 'no-new-require': 0,
-    // 'no-path-concat': 0,
-    // 'no-process-env': 0,
-    // 'no-process-exit': 0,
-    // 'no-restricted-modules': 0,
-    // 'no-sync': 0,
-
-    // Stylistic Issues
-    // http://eslint.org/docs/rules/#stylistic-issues
-    // ----------------------------------------------
-    'array-bracket-newline': 0, // eslint:recommended
-    'array-bracket-spacing': [2, 'never'],
-    'array-element-newline': 0, // eslint:recommended
-    'block-spacing': [2, 'never'],
-    'brace-style': 2,
-    'camelcase': [2, {properties: 'never'}],
-    // 'capitalized-comments': 0,
-    'comma-dangle': [2, 'always-multiline'],
-    'comma-spacing': 2,
-    'comma-style': 2,
-    'computed-property-spacing': 2,
-    // 'consistent-this': 0,
-    'eol-last': 2,
-    'func-call-spacing': 2,
-    // 'func-name-matching': 0,
-    // 'func-names': 0,
-    // 'func-style': 0,
-    // 'id-blacklist': 0,
-    // 'id-length': 0,
-    // 'id-match': 0,
-    // 'indent': 0, // TODO(philipwalton): this rule isn't compatible with
-                    // Google's 4-space indent for line continuations.
-    // 'jsx-quotes': 0,
-    'key-spacing': 2,
-    'keyword-spacing': 2,
-    // 'line-comment-position': 0,
-    'linebreak-style': 2,
-    // 'lines-around-comment': 0,
-    // 'max-depth': 0,
-    'max-len': [2, {
-      code: 80,
-      tabWidth: 2,
-      ignoreUrls: true,
-      ignorePattern: '^goog\.(module|require)',
-    }],
-    // 'max-lines': 0,
-    // 'max-nested-callbacks': 0,
-    // 'max-params': 0,
-    // 'max-statements': 0,
-    // 'max-statements-per-line': 0,
-    // 'multiline-ternary': 0, // TODO(philipwalton): add a rule to enforce the
-                               // operator appearing at the end of the line.
-    'new-cap': 2,
-    // 'new-parens': 0,
-    // 'newline-per-chained-call': 0,
-    'no-array-constructor': 2,
-    // 'no-bitwise': 0,
-    // 'no-continue': 0,
-    // 'no-inline-comments': 0,
-    // 'no-lonely-if': 0,
-    // 'no-mixed-operators': 0,
-    'no-mixed-spaces-and-tabs': 2, // eslint:recommended
-    // 'no-multi-assign': 0,
-    'no-multiple-empty-lines': [2, {max: 2}],
-    // 'no-negated-condition': 0,
-    // 'no-nested-ternary': 0,
-    'no-new-object': 2,
-    // 'no-plusplus': 0,
-    // 'no-restricted-syntax': 0,
-    'no-tabs': 2,
-    // 'no-ternary': 0,
-    'no-trailing-spaces': 2,
-    // 'no-underscore-dangle': 0,
-    // 'no-unneeded-ternary': 0,
-    // 'no-whitespace-before-property': 0,
-    // 'nonblock-statement-body-position': 0,
-    // 'object-curly-newline': 0,
-    'object-curly-spacing': 2,
-    // 'object-property-newline': 0,
-    'one-var': [2, {
-      var: 'never',
-      let: 'never',
-      const: 'never',
-    }],
-    // 'one-var-declaration-per-line': 0,
-    // 'operator-assignment': 0,
-    // 'operator-linebreak': 0,
-    'padded-blocks': [2, 'never'],
-    // 'padding-line-between-statements': 0,
-    'quote-props': [2, 'consistent'],
-    'quotes': [2, 'single', {allowTemplateLiterals: true}],
-    'require-jsdoc': [2, {
-      require: {
-        FunctionDeclaration: true,
-        MethodDefinition: true,
-        ClassDeclaration: true,
-      },
-    }],
-    'semi': 2,
-    'semi-spacing': 2,
-    // 'semi-style': 0,
-    // 'sort-keys': 0,
-    // 'sort-vars': 0,
-    'space-before-blocks': 2,
-    'space-before-function-paren': [2, {
-      asyncArrow: 'always',
-      anonymous: 'never',
-      named: 'never',
-    }],
-    // 'space-in-parens': 0,
-    // 'space-infix-ops': 0,
-    // 'space-unary-ops': 0,
-    'spaced-comment': [2, 'always'],
-    // 'switch-colon-spacing': 2,
-    // 'template-tag-spacing': 0,
-    // 'unicode-bom': 0,
-    // 'wrap-regex': 0,
-
-    // ECMAScript 6
-    // http://eslint.org/docs/rules/#ecmascript-6
-    // ------------------------------------------
-    // 'arrow-body-style': 0,
-    'arrow-parens': [2, 'always'], // TODO(philipwalton): technically arrow
-                                   // parens are optional but recommended.
-                                   // ESLint doesn't support a *consistent*
-                                   // setting so "always" is used.
-    // 'arrow-spacing': 0,
-    'constructor-super': 2, // eslint:recommended
-    'generator-star-spacing': [2, 'after'],
-    // 'no-class-assign': 0,
-    // 'no-confusing-arrow': 0,
-    // 'no-const-assign': 0, // eslint:recommended
-    // 'no-dupe-class-members': 0, // eslint:recommended
-    // 'no-duplicate-imports': 0,
-    'no-new-symbol': 2, // eslint:recommended
-    // 'no-restricted-imports': 0,
-    'no-this-before-super': 2, // eslint:recommended
-    // 'no-useless-computed-key': 0,
-    // 'no-useless-constructor': 0,
-    // 'no-useless-rename': 0,
-    'no-var': 2,
-    // 'object-shorthand': 0,
-    // 'prefer-arrow-callback': 0,
-    // 'prefer-const': 0,
-    // 'prefer-destructuring': 0,
-    // 'prefer-numeric-literals': 0,
-    'prefer-rest-params': 2,
-    'prefer-spread': 2,
-    // 'prefer-template': 0,
-    // 'require-yield': 2, // eslint:recommended
-    'rest-spread-spacing': 2,
-    // 'sort-imports': 0,
-    // 'symbol-description': 0,
-    // 'template-curly-spacing': 0,
-    'yield-star-spacing': [2, 'after'],
-  },
-};
diff --git a/webapp/eslintrc.js b/webapp/eslintrc.js
deleted file mode 100644
index 685b55bdf3fa31e3b46dbed903368fb817937195..0000000000000000000000000000000000000000
--- a/webapp/eslintrc.js
+++ /dev/null
@@ -1,68 +0,0 @@
-module.exports = {
-    parserOptions: {
-        "ecmaVersion": 2017,
-        "sourceType": "module",
-        "ecmaFeatures": {
-            "experimentalObjectRestSpread": true
-        }
-    },
-    extends: './eslintrc.google.js',
-    env: {
-        es6: true,
-    },
-    rules: {
-        'guard-for-in': 0,
-        'arrow-parens': 0,
-        'block-spacing': 0,
-        'guard-for-in': 0,
-        'brace-style': 0,
-        'camelcase': 0,
-        'comma-dangle': 0,
-        'comma-style': [2, 'last'],
-        'curly': 0,
-        'indent': [0, 4],
-        'key-spacing': 0,
-        'linebreak-style': 0,
-        'linebreak-style': 2,
-        'max-len': 0,
-        'new-cap': 0,
-        'no-invalid-this': 0,
-        'no-multi-spaces': 0,
-        'no-undef': 2,
-        'no-unused-vars': 1,
-        'object-curly-spacing': 0,
-        'padded-blocks': [0, 'never'],
-        'quote-props': 0,
-        'quotes': 0,
-        'require-jsdoc': 0,
-        'semi': [1, 'never'],
-        'space-before-function-paren': [0, {"anonymous": "never"}],
-        'valid-jsdoc': 0,
-    },
-    globals: {
-        // $: true,
-        _: true,
-        rdfstore: true,
-        FormData: true,
-        Backbone: true,
-        document: true,
-        require: true,
-        define: true,
-        console: true,
-        window: true,
-        process: true,
-        module: true,
-        Image: true,
-        exports: true,
-        parent: true,
-        setTimeout: true,
-        setInterval: true,
-        clearTimeout: true,
-        clearInterval: true,
-        __dirname: true,
-        GM_registerMenuCommand: true,
-        __filename: true,
-        Buffer: true,
-        fetch: true,
-    },
-}
diff --git a/webapp/index.html b/webapp/index.html
deleted file mode 100644
index 75502af204ed52b8932d46bfa354c80bcfd24962..0000000000000000000000000000000000000000
--- a/webapp/index.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <title>ocrd-kwalitee-webapp</title>
-  </head>
-  <body>
-    <div id="app"></div>
-    <script src="/dist/build.js"></script>
-  </body>
-</html>
diff --git a/webapp/package-lock.json b/webapp/package-lock.json
deleted file mode 100644
index 05392bd7aed0fde0f514b89462b5ecc340ad02fd..0000000000000000000000000000000000000000
--- a/webapp/package-lock.json
+++ /dev/null
@@ -1,7823 +0,0 @@
-{
-  "name": "ocrd-kwalitee-webapp",
-  "version": "1.0.0",
-  "lockfileVersion": 1,
-  "requires": true,
-  "dependencies": {
-    "@nuxt/opencollective": {
-      "version": "0.3.0",
-      "resolved": "https://registry.npmjs.org/@nuxt/opencollective/-/opencollective-0.3.0.tgz",
-      "integrity": "sha512-Vf09BxCdj1iT2IRqVwX5snaY2WCTkvM0O4cWWSO1ThCFuc4if0Q/nNwAgCxRU0FeYHJ7DdyMUNSdswCLKlVqeg==",
-      "requires": {
-        "chalk": "^2.4.2",
-        "consola": "^2.10.1",
-        "node-fetch": "^2.6.0"
-      },
-      "dependencies": {
-        "ansi-styles": {
-          "version": "3.2.1",
-          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
-          "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
-          "requires": {
-            "color-convert": "^1.9.0"
-          }
-        },
-        "chalk": {
-          "version": "2.4.2",
-          "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
-          "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
-          "requires": {
-            "ansi-styles": "^3.2.1",
-            "escape-string-regexp": "^1.0.5",
-            "supports-color": "^5.3.0"
-          }
-        },
-        "has-flag": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
-          "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0="
-        },
-        "supports-color": {
-          "version": "5.5.0",
-          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
-          "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
-          "requires": {
-            "has-flag": "^3.0.0"
-          }
-        }
-      }
-    },
-    "accepts": {
-      "version": "1.3.7",
-      "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz",
-      "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==",
-      "dev": true,
-      "requires": {
-        "mime-types": "~2.1.24",
-        "negotiator": "0.6.2"
-      }
-    },
-    "acorn": {
-      "version": "5.7.3",
-      "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz",
-      "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==",
-      "dev": true
-    },
-    "acorn-dynamic-import": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-2.0.2.tgz",
-      "integrity": "sha1-x1K9IQvvZ5UBtsbLf8hPj0cVjMQ=",
-      "dev": true,
-      "requires": {
-        "acorn": "^4.0.3"
-      },
-      "dependencies": {
-        "acorn": {
-          "version": "4.0.13",
-          "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz",
-          "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=",
-          "dev": true
-        }
-      }
-    },
-    "ajv": {
-      "version": "6.10.2",
-      "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz",
-      "integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==",
-      "dev": true,
-      "requires": {
-        "fast-deep-equal": "^2.0.1",
-        "fast-json-stable-stringify": "^2.0.0",
-        "json-schema-traverse": "^0.4.1",
-        "uri-js": "^4.2.2"
-      }
-    },
-    "ajv-keywords": {
-      "version": "3.4.1",
-      "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.4.1.tgz",
-      "integrity": "sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ==",
-      "dev": true
-    },
-    "align-text": {
-      "version": "0.1.4",
-      "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz",
-      "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=",
-      "dev": true,
-      "requires": {
-        "kind-of": "^3.0.2",
-        "longest": "^1.0.1",
-        "repeat-string": "^1.5.2"
-      }
-    },
-    "alphanum-sort": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz",
-      "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=",
-      "dev": true
-    },
-    "ansi-html": {
-      "version": "0.0.7",
-      "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz",
-      "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=",
-      "dev": true
-    },
-    "ansi-regex": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
-      "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
-      "dev": true
-    },
-    "ansi-styles": {
-      "version": "2.2.1",
-      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
-      "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
-      "dev": true
-    },
-    "anymatch": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz",
-      "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==",
-      "dev": true,
-      "requires": {
-        "micromatch": "^3.1.4",
-        "normalize-path": "^2.1.1"
-      },
-      "dependencies": {
-        "normalize-path": {
-          "version": "2.1.1",
-          "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
-          "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
-          "dev": true,
-          "requires": {
-            "remove-trailing-separator": "^1.0.1"
-          }
-        }
-      }
-    },
-    "argparse": {
-      "version": "1.0.10",
-      "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
-      "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
-      "dev": true,
-      "requires": {
-        "sprintf-js": "~1.0.2"
-      }
-    },
-    "arr-diff": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
-      "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=",
-      "dev": true
-    },
-    "arr-flatten": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
-      "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==",
-      "dev": true
-    },
-    "arr-union": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
-      "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=",
-      "dev": true
-    },
-    "array-find-index": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz",
-      "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=",
-      "dev": true
-    },
-    "array-flatten": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz",
-      "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==",
-      "dev": true
-    },
-    "array-includes": {
-      "version": "3.0.3",
-      "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.0.3.tgz",
-      "integrity": "sha1-GEtI9i2S10UrsxsyMWXH+L0CJm0=",
-      "dev": true,
-      "requires": {
-        "define-properties": "^1.1.2",
-        "es-abstract": "^1.7.0"
-      }
-    },
-    "array-union": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
-      "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=",
-      "dev": true,
-      "requires": {
-        "array-uniq": "^1.0.1"
-      }
-    },
-    "array-uniq": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
-      "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=",
-      "dev": true
-    },
-    "array-unique": {
-      "version": "0.3.2",
-      "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
-      "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
-      "dev": true
-    },
-    "asn1.js": {
-      "version": "4.10.1",
-      "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz",
-      "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==",
-      "dev": true,
-      "requires": {
-        "bn.js": "^4.0.0",
-        "inherits": "^2.0.1",
-        "minimalistic-assert": "^1.0.0"
-      }
-    },
-    "assert": {
-      "version": "1.5.0",
-      "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz",
-      "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==",
-      "dev": true,
-      "requires": {
-        "object-assign": "^4.1.1",
-        "util": "0.10.3"
-      },
-      "dependencies": {
-        "inherits": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz",
-          "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=",
-          "dev": true
-        },
-        "util": {
-          "version": "0.10.3",
-          "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz",
-          "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=",
-          "dev": true,
-          "requires": {
-            "inherits": "2.0.1"
-          }
-        }
-      }
-    },
-    "assign-symbols": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
-      "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=",
-      "dev": true
-    },
-    "async": {
-      "version": "2.6.3",
-      "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz",
-      "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==",
-      "dev": true,
-      "requires": {
-        "lodash": "^4.17.14"
-      }
-    },
-    "async-each": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz",
-      "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==",
-      "dev": true
-    },
-    "atob": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
-      "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==",
-      "dev": true
-    },
-    "autoprefixer": {
-      "version": "6.7.7",
-      "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-6.7.7.tgz",
-      "integrity": "sha1-Hb0cg1ZY41zj+ZhAmdsAWFx4IBQ=",
-      "dev": true,
-      "requires": {
-        "browserslist": "^1.7.6",
-        "caniuse-db": "^1.0.30000634",
-        "normalize-range": "^0.1.2",
-        "num2fraction": "^1.2.2",
-        "postcss": "^5.2.16",
-        "postcss-value-parser": "^3.2.3"
-      },
-      "dependencies": {
-        "browserslist": {
-          "version": "1.7.7",
-          "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz",
-          "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=",
-          "dev": true,
-          "requires": {
-            "caniuse-db": "^1.0.30000639",
-            "electron-to-chromium": "^1.2.7"
-          }
-        }
-      }
-    },
-    "babel-code-frame": {
-      "version": "6.26.0",
-      "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz",
-      "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=",
-      "dev": true,
-      "requires": {
-        "chalk": "^1.1.3",
-        "esutils": "^2.0.2",
-        "js-tokens": "^3.0.2"
-      }
-    },
-    "babel-core": {
-      "version": "6.26.3",
-      "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz",
-      "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==",
-      "dev": true,
-      "requires": {
-        "babel-code-frame": "^6.26.0",
-        "babel-generator": "^6.26.0",
-        "babel-helpers": "^6.24.1",
-        "babel-messages": "^6.23.0",
-        "babel-register": "^6.26.0",
-        "babel-runtime": "^6.26.0",
-        "babel-template": "^6.26.0",
-        "babel-traverse": "^6.26.0",
-        "babel-types": "^6.26.0",
-        "babylon": "^6.18.0",
-        "convert-source-map": "^1.5.1",
-        "debug": "^2.6.9",
-        "json5": "^0.5.1",
-        "lodash": "^4.17.4",
-        "minimatch": "^3.0.4",
-        "path-is-absolute": "^1.0.1",
-        "private": "^0.1.8",
-        "slash": "^1.0.0",
-        "source-map": "^0.5.7"
-      }
-    },
-    "babel-generator": {
-      "version": "6.26.1",
-      "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz",
-      "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==",
-      "dev": true,
-      "requires": {
-        "babel-messages": "^6.23.0",
-        "babel-runtime": "^6.26.0",
-        "babel-types": "^6.26.0",
-        "detect-indent": "^4.0.0",
-        "jsesc": "^1.3.0",
-        "lodash": "^4.17.4",
-        "source-map": "^0.5.7",
-        "trim-right": "^1.0.1"
-      }
-    },
-    "babel-helper-builder-binary-assignment-operator-visitor": {
-      "version": "6.24.1",
-      "resolved": "https://registry.npmjs.org/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz",
-      "integrity": "sha1-zORReto1b0IgvK6KAsKzRvmlZmQ=",
-      "dev": true,
-      "requires": {
-        "babel-helper-explode-assignable-expression": "^6.24.1",
-        "babel-runtime": "^6.22.0",
-        "babel-types": "^6.24.1"
-      }
-    },
-    "babel-helper-call-delegate": {
-      "version": "6.24.1",
-      "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz",
-      "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=",
-      "dev": true,
-      "requires": {
-        "babel-helper-hoist-variables": "^6.24.1",
-        "babel-runtime": "^6.22.0",
-        "babel-traverse": "^6.24.1",
-        "babel-types": "^6.24.1"
-      }
-    },
-    "babel-helper-define-map": {
-      "version": "6.26.0",
-      "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz",
-      "integrity": "sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8=",
-      "dev": true,
-      "requires": {
-        "babel-helper-function-name": "^6.24.1",
-        "babel-runtime": "^6.26.0",
-        "babel-types": "^6.26.0",
-        "lodash": "^4.17.4"
-      }
-    },
-    "babel-helper-explode-assignable-expression": {
-      "version": "6.24.1",
-      "resolved": "https://registry.npmjs.org/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz",
-      "integrity": "sha1-8luCz33BBDPFX3BZLVdGQArCLKo=",
-      "dev": true,
-      "requires": {
-        "babel-runtime": "^6.22.0",
-        "babel-traverse": "^6.24.1",
-        "babel-types": "^6.24.1"
-      }
-    },
-    "babel-helper-function-name": {
-      "version": "6.24.1",
-      "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz",
-      "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=",
-      "dev": true,
-      "requires": {
-        "babel-helper-get-function-arity": "^6.24.1",
-        "babel-runtime": "^6.22.0",
-        "babel-template": "^6.24.1",
-        "babel-traverse": "^6.24.1",
-        "babel-types": "^6.24.1"
-      }
-    },
-    "babel-helper-get-function-arity": {
-      "version": "6.24.1",
-      "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz",
-      "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=",
-      "dev": true,
-      "requires": {
-        "babel-runtime": "^6.22.0",
-        "babel-types": "^6.24.1"
-      }
-    },
-    "babel-helper-hoist-variables": {
-      "version": "6.24.1",
-      "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz",
-      "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=",
-      "dev": true,
-      "requires": {
-        "babel-runtime": "^6.22.0",
-        "babel-types": "^6.24.1"
-      }
-    },
-    "babel-helper-optimise-call-expression": {
-      "version": "6.24.1",
-      "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz",
-      "integrity": "sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=",
-      "dev": true,
-      "requires": {
-        "babel-runtime": "^6.22.0",
-        "babel-types": "^6.24.1"
-      }
-    },
-    "babel-helper-regex": {
-      "version": "6.26.0",
-      "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz",
-      "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=",
-      "dev": true,
-      "requires": {
-        "babel-runtime": "^6.26.0",
-        "babel-types": "^6.26.0",
-        "lodash": "^4.17.4"
-      }
-    },
-    "babel-helper-remap-async-to-generator": {
-      "version": "6.24.1",
-      "resolved": "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz",
-      "integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=",
-      "dev": true,
-      "requires": {
-        "babel-helper-function-name": "^6.24.1",
-        "babel-runtime": "^6.22.0",
-        "babel-template": "^6.24.1",
-        "babel-traverse": "^6.24.1",
-        "babel-types": "^6.24.1"
-      }
-    },
-    "babel-helper-replace-supers": {
-      "version": "6.24.1",
-      "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz",
-      "integrity": "sha1-v22/5Dk40XNpohPKiov3S2qQqxo=",
-      "dev": true,
-      "requires": {
-        "babel-helper-optimise-call-expression": "^6.24.1",
-        "babel-messages": "^6.23.0",
-        "babel-runtime": "^6.22.0",
-        "babel-template": "^6.24.1",
-        "babel-traverse": "^6.24.1",
-        "babel-types": "^6.24.1"
-      }
-    },
-    "babel-helpers": {
-      "version": "6.24.1",
-      "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz",
-      "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=",
-      "dev": true,
-      "requires": {
-        "babel-runtime": "^6.22.0",
-        "babel-template": "^6.24.1"
-      }
-    },
-    "babel-loader": {
-      "version": "7.1.5",
-      "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-7.1.5.tgz",
-      "integrity": "sha512-iCHfbieL5d1LfOQeeVJEUyD9rTwBcP/fcEbRCfempxTDuqrKpu0AZjLAQHEQa3Yqyj9ORKe2iHfoj4rHLf7xpw==",
-      "dev": true,
-      "requires": {
-        "find-cache-dir": "^1.0.0",
-        "loader-utils": "^1.0.2",
-        "mkdirp": "^0.5.1"
-      }
-    },
-    "babel-messages": {
-      "version": "6.23.0",
-      "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz",
-      "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=",
-      "dev": true,
-      "requires": {
-        "babel-runtime": "^6.22.0"
-      }
-    },
-    "babel-plugin-check-es2015-constants": {
-      "version": "6.22.0",
-      "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz",
-      "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=",
-      "dev": true,
-      "requires": {
-        "babel-runtime": "^6.22.0"
-      }
-    },
-    "babel-plugin-syntax-async-functions": {
-      "version": "6.13.0",
-      "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz",
-      "integrity": "sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU=",
-      "dev": true
-    },
-    "babel-plugin-syntax-async-generators": {
-      "version": "6.13.0",
-      "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-generators/-/babel-plugin-syntax-async-generators-6.13.0.tgz",
-      "integrity": "sha1-a8lj67FuzLrmuStZbrfzXDQqi5o=",
-      "dev": true
-    },
-    "babel-plugin-syntax-exponentiation-operator": {
-      "version": "6.13.0",
-      "resolved": "https://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz",
-      "integrity": "sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4=",
-      "dev": true
-    },
-    "babel-plugin-syntax-object-rest-spread": {
-      "version": "6.13.0",
-      "resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz",
-      "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=",
-      "dev": true
-    },
-    "babel-plugin-syntax-trailing-function-commas": {
-      "version": "6.22.0",
-      "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz",
-      "integrity": "sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM=",
-      "dev": true
-    },
-    "babel-plugin-transform-async-generator-functions": {
-      "version": "6.24.1",
-      "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-generator-functions/-/babel-plugin-transform-async-generator-functions-6.24.1.tgz",
-      "integrity": "sha1-8FiQAUX9PpkHpt3yjaWfIVJYpds=",
-      "dev": true,
-      "requires": {
-        "babel-helper-remap-async-to-generator": "^6.24.1",
-        "babel-plugin-syntax-async-generators": "^6.5.0",
-        "babel-runtime": "^6.22.0"
-      }
-    },
-    "babel-plugin-transform-async-to-generator": {
-      "version": "6.24.1",
-      "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz",
-      "integrity": "sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=",
-      "dev": true,
-      "requires": {
-        "babel-helper-remap-async-to-generator": "^6.24.1",
-        "babel-plugin-syntax-async-functions": "^6.8.0",
-        "babel-runtime": "^6.22.0"
-      }
-    },
-    "babel-plugin-transform-es2015-arrow-functions": {
-      "version": "6.22.0",
-      "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz",
-      "integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=",
-      "dev": true,
-      "requires": {
-        "babel-runtime": "^6.22.0"
-      }
-    },
-    "babel-plugin-transform-es2015-block-scoped-functions": {
-      "version": "6.22.0",
-      "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz",
-      "integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=",
-      "dev": true,
-      "requires": {
-        "babel-runtime": "^6.22.0"
-      }
-    },
-    "babel-plugin-transform-es2015-block-scoping": {
-      "version": "6.26.0",
-      "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz",
-      "integrity": "sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8=",
-      "dev": true,
-      "requires": {
-        "babel-runtime": "^6.26.0",
-        "babel-template": "^6.26.0",
-        "babel-traverse": "^6.26.0",
-        "babel-types": "^6.26.0",
-        "lodash": "^4.17.4"
-      }
-    },
-    "babel-plugin-transform-es2015-classes": {
-      "version": "6.24.1",
-      "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz",
-      "integrity": "sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=",
-      "dev": true,
-      "requires": {
-        "babel-helper-define-map": "^6.24.1",
-        "babel-helper-function-name": "^6.24.1",
-        "babel-helper-optimise-call-expression": "^6.24.1",
-        "babel-helper-replace-supers": "^6.24.1",
-        "babel-messages": "^6.23.0",
-        "babel-runtime": "^6.22.0",
-        "babel-template": "^6.24.1",
-        "babel-traverse": "^6.24.1",
-        "babel-types": "^6.24.1"
-      }
-    },
-    "babel-plugin-transform-es2015-computed-properties": {
-      "version": "6.24.1",
-      "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz",
-      "integrity": "sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=",
-      "dev": true,
-      "requires": {
-        "babel-runtime": "^6.22.0",
-        "babel-template": "^6.24.1"
-      }
-    },
-    "babel-plugin-transform-es2015-destructuring": {
-      "version": "6.23.0",
-      "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz",
-      "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=",
-      "dev": true,
-      "requires": {
-        "babel-runtime": "^6.22.0"
-      }
-    },
-    "babel-plugin-transform-es2015-duplicate-keys": {
-      "version": "6.24.1",
-      "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz",
-      "integrity": "sha1-c+s9MQypaePvnskcU3QabxV2Qj4=",
-      "dev": true,
-      "requires": {
-        "babel-runtime": "^6.22.0",
-        "babel-types": "^6.24.1"
-      }
-    },
-    "babel-plugin-transform-es2015-for-of": {
-      "version": "6.23.0",
-      "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz",
-      "integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=",
-      "dev": true,
-      "requires": {
-        "babel-runtime": "^6.22.0"
-      }
-    },
-    "babel-plugin-transform-es2015-function-name": {
-      "version": "6.24.1",
-      "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz",
-      "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=",
-      "dev": true,
-      "requires": {
-        "babel-helper-function-name": "^6.24.1",
-        "babel-runtime": "^6.22.0",
-        "babel-types": "^6.24.1"
-      }
-    },
-    "babel-plugin-transform-es2015-literals": {
-      "version": "6.22.0",
-      "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz",
-      "integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=",
-      "dev": true,
-      "requires": {
-        "babel-runtime": "^6.22.0"
-      }
-    },
-    "babel-plugin-transform-es2015-modules-amd": {
-      "version": "6.24.1",
-      "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz",
-      "integrity": "sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ=",
-      "dev": true,
-      "requires": {
-        "babel-plugin-transform-es2015-modules-commonjs": "^6.24.1",
-        "babel-runtime": "^6.22.0",
-        "babel-template": "^6.24.1"
-      }
-    },
-    "babel-plugin-transform-es2015-modules-commonjs": {
-      "version": "6.26.2",
-      "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz",
-      "integrity": "sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q==",
-      "dev": true,
-      "requires": {
-        "babel-plugin-transform-strict-mode": "^6.24.1",
-        "babel-runtime": "^6.26.0",
-        "babel-template": "^6.26.0",
-        "babel-types": "^6.26.0"
-      }
-    },
-    "babel-plugin-transform-es2015-modules-systemjs": {
-      "version": "6.24.1",
-      "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz",
-      "integrity": "sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM=",
-      "dev": true,
-      "requires": {
-        "babel-helper-hoist-variables": "^6.24.1",
-        "babel-runtime": "^6.22.0",
-        "babel-template": "^6.24.1"
-      }
-    },
-    "babel-plugin-transform-es2015-modules-umd": {
-      "version": "6.24.1",
-      "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz",
-      "integrity": "sha1-rJl+YoXNGO1hdq22B9YCNErThGg=",
-      "dev": true,
-      "requires": {
-        "babel-plugin-transform-es2015-modules-amd": "^6.24.1",
-        "babel-runtime": "^6.22.0",
-        "babel-template": "^6.24.1"
-      }
-    },
-    "babel-plugin-transform-es2015-object-super": {
-      "version": "6.24.1",
-      "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz",
-      "integrity": "sha1-JM72muIcuDp/hgPa0CH1cusnj40=",
-      "dev": true,
-      "requires": {
-        "babel-helper-replace-supers": "^6.24.1",
-        "babel-runtime": "^6.22.0"
-      }
-    },
-    "babel-plugin-transform-es2015-parameters": {
-      "version": "6.24.1",
-      "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz",
-      "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=",
-      "dev": true,
-      "requires": {
-        "babel-helper-call-delegate": "^6.24.1",
-        "babel-helper-get-function-arity": "^6.24.1",
-        "babel-runtime": "^6.22.0",
-        "babel-template": "^6.24.1",
-        "babel-traverse": "^6.24.1",
-        "babel-types": "^6.24.1"
-      }
-    },
-    "babel-plugin-transform-es2015-shorthand-properties": {
-      "version": "6.24.1",
-      "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz",
-      "integrity": "sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=",
-      "dev": true,
-      "requires": {
-        "babel-runtime": "^6.22.0",
-        "babel-types": "^6.24.1"
-      }
-    },
-    "babel-plugin-transform-es2015-spread": {
-      "version": "6.22.0",
-      "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz",
-      "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=",
-      "dev": true,
-      "requires": {
-        "babel-runtime": "^6.22.0"
-      }
-    },
-    "babel-plugin-transform-es2015-sticky-regex": {
-      "version": "6.24.1",
-      "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz",
-      "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=",
-      "dev": true,
-      "requires": {
-        "babel-helper-regex": "^6.24.1",
-        "babel-runtime": "^6.22.0",
-        "babel-types": "^6.24.1"
-      }
-    },
-    "babel-plugin-transform-es2015-template-literals": {
-      "version": "6.22.0",
-      "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz",
-      "integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=",
-      "dev": true,
-      "requires": {
-        "babel-runtime": "^6.22.0"
-      }
-    },
-    "babel-plugin-transform-es2015-typeof-symbol": {
-      "version": "6.23.0",
-      "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz",
-      "integrity": "sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=",
-      "dev": true,
-      "requires": {
-        "babel-runtime": "^6.22.0"
-      }
-    },
-    "babel-plugin-transform-es2015-unicode-regex": {
-      "version": "6.24.1",
-      "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz",
-      "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=",
-      "dev": true,
-      "requires": {
-        "babel-helper-regex": "^6.24.1",
-        "babel-runtime": "^6.22.0",
-        "regexpu-core": "^2.0.0"
-      }
-    },
-    "babel-plugin-transform-exponentiation-operator": {
-      "version": "6.24.1",
-      "resolved": "https://registry.npmjs.org/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz",
-      "integrity": "sha1-KrDJx/MJj6SJB3cruBP+QejeOg4=",
-      "dev": true,
-      "requires": {
-        "babel-helper-builder-binary-assignment-operator-visitor": "^6.24.1",
-        "babel-plugin-syntax-exponentiation-operator": "^6.8.0",
-        "babel-runtime": "^6.22.0"
-      }
-    },
-    "babel-plugin-transform-object-rest-spread": {
-      "version": "6.26.0",
-      "resolved": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz",
-      "integrity": "sha1-DzZpLVD+9rfi1LOsFHgTepY7ewY=",
-      "dev": true,
-      "requires": {
-        "babel-plugin-syntax-object-rest-spread": "^6.8.0",
-        "babel-runtime": "^6.26.0"
-      }
-    },
-    "babel-plugin-transform-regenerator": {
-      "version": "6.26.0",
-      "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz",
-      "integrity": "sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8=",
-      "dev": true,
-      "requires": {
-        "regenerator-transform": "^0.10.0"
-      }
-    },
-    "babel-plugin-transform-strict-mode": {
-      "version": "6.24.1",
-      "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz",
-      "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=",
-      "dev": true,
-      "requires": {
-        "babel-runtime": "^6.22.0",
-        "babel-types": "^6.24.1"
-      }
-    },
-    "babel-preset-env": {
-      "version": "1.7.0",
-      "resolved": "https://registry.npmjs.org/babel-preset-env/-/babel-preset-env-1.7.0.tgz",
-      "integrity": "sha512-9OR2afuKDneX2/q2EurSftUYM0xGu4O2D9adAhVfADDhrYDaxXV0rBbevVYoY9n6nyX1PmQW/0jtpJvUNr9CHg==",
-      "dev": true,
-      "requires": {
-        "babel-plugin-check-es2015-constants": "^6.22.0",
-        "babel-plugin-syntax-trailing-function-commas": "^6.22.0",
-        "babel-plugin-transform-async-to-generator": "^6.22.0",
-        "babel-plugin-transform-es2015-arrow-functions": "^6.22.0",
-        "babel-plugin-transform-es2015-block-scoped-functions": "^6.22.0",
-        "babel-plugin-transform-es2015-block-scoping": "^6.23.0",
-        "babel-plugin-transform-es2015-classes": "^6.23.0",
-        "babel-plugin-transform-es2015-computed-properties": "^6.22.0",
-        "babel-plugin-transform-es2015-destructuring": "^6.23.0",
-        "babel-plugin-transform-es2015-duplicate-keys": "^6.22.0",
-        "babel-plugin-transform-es2015-for-of": "^6.23.0",
-        "babel-plugin-transform-es2015-function-name": "^6.22.0",
-        "babel-plugin-transform-es2015-literals": "^6.22.0",
-        "babel-plugin-transform-es2015-modules-amd": "^6.22.0",
-        "babel-plugin-transform-es2015-modules-commonjs": "^6.23.0",
-        "babel-plugin-transform-es2015-modules-systemjs": "^6.23.0",
-        "babel-plugin-transform-es2015-modules-umd": "^6.23.0",
-        "babel-plugin-transform-es2015-object-super": "^6.22.0",
-        "babel-plugin-transform-es2015-parameters": "^6.23.0",
-        "babel-plugin-transform-es2015-shorthand-properties": "^6.22.0",
-        "babel-plugin-transform-es2015-spread": "^6.22.0",
-        "babel-plugin-transform-es2015-sticky-regex": "^6.22.0",
-        "babel-plugin-transform-es2015-template-literals": "^6.22.0",
-        "babel-plugin-transform-es2015-typeof-symbol": "^6.23.0",
-        "babel-plugin-transform-es2015-unicode-regex": "^6.22.0",
-        "babel-plugin-transform-exponentiation-operator": "^6.22.0",
-        "babel-plugin-transform-regenerator": "^6.22.0",
-        "browserslist": "^3.2.6",
-        "invariant": "^2.2.2",
-        "semver": "^5.3.0"
-      }
-    },
-    "babel-preset-stage-3": {
-      "version": "6.24.1",
-      "resolved": "https://registry.npmjs.org/babel-preset-stage-3/-/babel-preset-stage-3-6.24.1.tgz",
-      "integrity": "sha1-g2raCp56f6N8sTj7kyb4eTSkg5U=",
-      "dev": true,
-      "requires": {
-        "babel-plugin-syntax-trailing-function-commas": "^6.22.0",
-        "babel-plugin-transform-async-generator-functions": "^6.24.1",
-        "babel-plugin-transform-async-to-generator": "^6.24.1",
-        "babel-plugin-transform-exponentiation-operator": "^6.24.1",
-        "babel-plugin-transform-object-rest-spread": "^6.22.0"
-      }
-    },
-    "babel-register": {
-      "version": "6.26.0",
-      "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz",
-      "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=",
-      "dev": true,
-      "requires": {
-        "babel-core": "^6.26.0",
-        "babel-runtime": "^6.26.0",
-        "core-js": "^2.5.0",
-        "home-or-tmp": "^2.0.0",
-        "lodash": "^4.17.4",
-        "mkdirp": "^0.5.1",
-        "source-map-support": "^0.4.15"
-      }
-    },
-    "babel-runtime": {
-      "version": "6.26.0",
-      "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
-      "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
-      "dev": true,
-      "requires": {
-        "core-js": "^2.4.0",
-        "regenerator-runtime": "^0.11.0"
-      }
-    },
-    "babel-template": {
-      "version": "6.26.0",
-      "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz",
-      "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=",
-      "dev": true,
-      "requires": {
-        "babel-runtime": "^6.26.0",
-        "babel-traverse": "^6.26.0",
-        "babel-types": "^6.26.0",
-        "babylon": "^6.18.0",
-        "lodash": "^4.17.4"
-      }
-    },
-    "babel-traverse": {
-      "version": "6.26.0",
-      "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz",
-      "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=",
-      "dev": true,
-      "requires": {
-        "babel-code-frame": "^6.26.0",
-        "babel-messages": "^6.23.0",
-        "babel-runtime": "^6.26.0",
-        "babel-types": "^6.26.0",
-        "babylon": "^6.18.0",
-        "debug": "^2.6.8",
-        "globals": "^9.18.0",
-        "invariant": "^2.2.2",
-        "lodash": "^4.17.4"
-      }
-    },
-    "babel-types": {
-      "version": "6.26.0",
-      "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz",
-      "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=",
-      "dev": true,
-      "requires": {
-        "babel-runtime": "^6.26.0",
-        "esutils": "^2.0.2",
-        "lodash": "^4.17.4",
-        "to-fast-properties": "^1.0.3"
-      }
-    },
-    "babylon": {
-      "version": "6.18.0",
-      "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz",
-      "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==",
-      "dev": true
-    },
-    "balanced-match": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
-      "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
-      "dev": true
-    },
-    "base": {
-      "version": "0.11.2",
-      "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
-      "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
-      "dev": true,
-      "requires": {
-        "cache-base": "^1.0.1",
-        "class-utils": "^0.3.5",
-        "component-emitter": "^1.2.1",
-        "define-property": "^1.0.0",
-        "isobject": "^3.0.1",
-        "mixin-deep": "^1.2.0",
-        "pascalcase": "^0.1.1"
-      },
-      "dependencies": {
-        "define-property": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
-          "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
-          "dev": true,
-          "requires": {
-            "is-descriptor": "^1.0.0"
-          }
-        },
-        "is-accessor-descriptor": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
-          "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
-          "dev": true,
-          "requires": {
-            "kind-of": "^6.0.0"
-          }
-        },
-        "is-data-descriptor": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
-          "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
-          "dev": true,
-          "requires": {
-            "kind-of": "^6.0.0"
-          }
-        },
-        "is-descriptor": {
-          "version": "1.0.2",
-          "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
-          "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
-          "dev": true,
-          "requires": {
-            "is-accessor-descriptor": "^1.0.0",
-            "is-data-descriptor": "^1.0.0",
-            "kind-of": "^6.0.2"
-          }
-        },
-        "kind-of": {
-          "version": "6.0.2",
-          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
-          "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
-          "dev": true
-        }
-      }
-    },
-    "base64-js": {
-      "version": "1.3.1",
-      "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz",
-      "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==",
-      "dev": true
-    },
-    "batch": {
-      "version": "0.6.1",
-      "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz",
-      "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=",
-      "dev": true
-    },
-    "big.js": {
-      "version": "5.2.2",
-      "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz",
-      "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==",
-      "dev": true
-    },
-    "binary-extensions": {
-      "version": "1.13.1",
-      "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz",
-      "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==",
-      "dev": true
-    },
-    "bluebird": {
-      "version": "3.7.1",
-      "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.1.tgz",
-      "integrity": "sha512-DdmyoGCleJnkbp3nkbxTLJ18rjDsE4yCggEwKNXkeV123sPNfOCYeDoeuOY+F2FrSjO1YXcTU+dsy96KMy+gcg==",
-      "dev": true
-    },
-    "bn.js": {
-      "version": "4.11.8",
-      "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz",
-      "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==",
-      "dev": true
-    },
-    "body-parser": {
-      "version": "1.19.0",
-      "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz",
-      "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==",
-      "dev": true,
-      "requires": {
-        "bytes": "3.1.0",
-        "content-type": "~1.0.4",
-        "debug": "2.6.9",
-        "depd": "~1.1.2",
-        "http-errors": "1.7.2",
-        "iconv-lite": "0.4.24",
-        "on-finished": "~2.3.0",
-        "qs": "6.7.0",
-        "raw-body": "2.4.0",
-        "type-is": "~1.6.17"
-      },
-      "dependencies": {
-        "bytes": {
-          "version": "3.1.0",
-          "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz",
-          "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==",
-          "dev": true
-        }
-      }
-    },
-    "bonjour": {
-      "version": "3.5.0",
-      "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz",
-      "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=",
-      "dev": true,
-      "requires": {
-        "array-flatten": "^2.1.0",
-        "deep-equal": "^1.0.1",
-        "dns-equal": "^1.0.0",
-        "dns-txt": "^2.0.2",
-        "multicast-dns": "^6.0.1",
-        "multicast-dns-service-types": "^1.1.0"
-      }
-    },
-    "bootstrap": {
-      "version": "4.3.1",
-      "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.3.1.tgz",
-      "integrity": "sha512-rXqOmH1VilAt2DyPzluTi2blhk17bO7ef+zLLPlWvG494pDxcM234pJ8wTc/6R40UWizAIIMgxjvxZg5kmsbag=="
-    },
-    "bootstrap-vue": {
-      "version": "2.0.4",
-      "resolved": "https://registry.npmjs.org/bootstrap-vue/-/bootstrap-vue-2.0.4.tgz",
-      "integrity": "sha512-/5WXa3ir5uajcs7ze7jz7QXpYuJGWHjvJ8biMq0+e0IIIxw2jSdh4LsiFKD7C7qtgKre28hhXOfx79RmZX4wcQ==",
-      "requires": {
-        "@nuxt/opencollective": "^0.3.0",
-        "bootstrap": ">=4.3.1 <5.0.0",
-        "popper.js": "^1.15.0",
-        "portal-vue": "^2.1.6",
-        "vue-functional-data-merge": "^3.1.0"
-      }
-    },
-    "brace-expansion": {
-      "version": "1.1.11",
-      "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
-      "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
-      "dev": true,
-      "requires": {
-        "balanced-match": "^1.0.0",
-        "concat-map": "0.0.1"
-      }
-    },
-    "braces": {
-      "version": "2.3.2",
-      "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
-      "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
-      "dev": true,
-      "requires": {
-        "arr-flatten": "^1.1.0",
-        "array-unique": "^0.3.2",
-        "extend-shallow": "^2.0.1",
-        "fill-range": "^4.0.0",
-        "isobject": "^3.0.1",
-        "repeat-element": "^1.1.2",
-        "snapdragon": "^0.8.1",
-        "snapdragon-node": "^2.0.1",
-        "split-string": "^3.0.2",
-        "to-regex": "^3.0.1"
-      },
-      "dependencies": {
-        "extend-shallow": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
-          "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-          "dev": true,
-          "requires": {
-            "is-extendable": "^0.1.0"
-          }
-        }
-      }
-    },
-    "brorand": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz",
-      "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=",
-      "dev": true
-    },
-    "browserify-aes": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz",
-      "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==",
-      "dev": true,
-      "requires": {
-        "buffer-xor": "^1.0.3",
-        "cipher-base": "^1.0.0",
-        "create-hash": "^1.1.0",
-        "evp_bytestokey": "^1.0.3",
-        "inherits": "^2.0.1",
-        "safe-buffer": "^5.0.1"
-      }
-    },
-    "browserify-cipher": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz",
-      "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==",
-      "dev": true,
-      "requires": {
-        "browserify-aes": "^1.0.4",
-        "browserify-des": "^1.0.0",
-        "evp_bytestokey": "^1.0.0"
-      }
-    },
-    "browserify-des": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz",
-      "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==",
-      "dev": true,
-      "requires": {
-        "cipher-base": "^1.0.1",
-        "des.js": "^1.0.0",
-        "inherits": "^2.0.1",
-        "safe-buffer": "^5.1.2"
-      }
-    },
-    "browserify-rsa": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz",
-      "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=",
-      "dev": true,
-      "requires": {
-        "bn.js": "^4.1.0",
-        "randombytes": "^2.0.1"
-      }
-    },
-    "browserify-sign": {
-      "version": "4.0.4",
-      "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz",
-      "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=",
-      "dev": true,
-      "requires": {
-        "bn.js": "^4.1.1",
-        "browserify-rsa": "^4.0.0",
-        "create-hash": "^1.1.0",
-        "create-hmac": "^1.1.2",
-        "elliptic": "^6.0.0",
-        "inherits": "^2.0.1",
-        "parse-asn1": "^5.0.0"
-      }
-    },
-    "browserify-zlib": {
-      "version": "0.2.0",
-      "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz",
-      "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==",
-      "dev": true,
-      "requires": {
-        "pako": "~1.0.5"
-      }
-    },
-    "browserslist": {
-      "version": "3.2.8",
-      "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-3.2.8.tgz",
-      "integrity": "sha512-WHVocJYavUwVgVViC0ORikPHQquXwVh939TaelZ4WDqpWgTX/FsGhl/+P4qBUAGcRvtOgDgC+xftNWWp2RUTAQ==",
-      "dev": true,
-      "requires": {
-        "caniuse-lite": "^1.0.30000844",
-        "electron-to-chromium": "^1.3.47"
-      }
-    },
-    "buffer": {
-      "version": "4.9.1",
-      "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz",
-      "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=",
-      "dev": true,
-      "requires": {
-        "base64-js": "^1.0.2",
-        "ieee754": "^1.1.4",
-        "isarray": "^1.0.0"
-      }
-    },
-    "buffer-indexof": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz",
-      "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==",
-      "dev": true
-    },
-    "buffer-xor": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz",
-      "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=",
-      "dev": true
-    },
-    "builtin-status-codes": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz",
-      "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=",
-      "dev": true
-    },
-    "bytes": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
-      "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=",
-      "dev": true
-    },
-    "cache-base": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
-      "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
-      "dev": true,
-      "requires": {
-        "collection-visit": "^1.0.0",
-        "component-emitter": "^1.2.1",
-        "get-value": "^2.0.6",
-        "has-value": "^1.0.0",
-        "isobject": "^3.0.1",
-        "set-value": "^2.0.0",
-        "to-object-path": "^0.3.0",
-        "union-value": "^1.0.0",
-        "unset-value": "^1.0.0"
-      }
-    },
-    "camelcase": {
-      "version": "1.2.1",
-      "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz",
-      "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=",
-      "dev": true
-    },
-    "camelcase-keys": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz",
-      "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=",
-      "dev": true,
-      "requires": {
-        "camelcase": "^2.0.0",
-        "map-obj": "^1.0.0"
-      },
-      "dependencies": {
-        "camelcase": {
-          "version": "2.1.1",
-          "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz",
-          "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=",
-          "dev": true
-        }
-      }
-    },
-    "caniuse-api": {
-      "version": "1.6.1",
-      "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-1.6.1.tgz",
-      "integrity": "sha1-tTTnxzTE+B7F++isoq0kNUuWLGw=",
-      "dev": true,
-      "requires": {
-        "browserslist": "^1.3.6",
-        "caniuse-db": "^1.0.30000529",
-        "lodash.memoize": "^4.1.2",
-        "lodash.uniq": "^4.5.0"
-      },
-      "dependencies": {
-        "browserslist": {
-          "version": "1.7.7",
-          "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz",
-          "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=",
-          "dev": true,
-          "requires": {
-            "caniuse-db": "^1.0.30000639",
-            "electron-to-chromium": "^1.2.7"
-          }
-        }
-      }
-    },
-    "caniuse-db": {
-      "version": "1.0.30001002",
-      "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30001002.tgz",
-      "integrity": "sha512-KgX3alKTdY4NXVd4gcYa3FuiOjDo+3l1pyZnqJRWYFynj5KYQstnbUB51uc8PIv6Y1ussfxfxlvW+QRaY9izGQ==",
-      "dev": true
-    },
-    "caniuse-lite": {
-      "version": "1.0.30001002",
-      "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001002.tgz",
-      "integrity": "sha512-pRuxPE8wdrWmVPKcDmJJiGBxr6lFJq4ivdSeo9FTmGj5Rb8NX3Mby2pARG57MXF15hYAhZ0nHV5XxT2ig4bz3g==",
-      "dev": true
-    },
-    "center-align": {
-      "version": "0.1.3",
-      "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz",
-      "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=",
-      "dev": true,
-      "requires": {
-        "align-text": "^0.1.3",
-        "lazy-cache": "^1.0.3"
-      }
-    },
-    "chalk": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
-      "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
-      "dev": true,
-      "requires": {
-        "ansi-styles": "^2.2.1",
-        "escape-string-regexp": "^1.0.2",
-        "has-ansi": "^2.0.0",
-        "strip-ansi": "^3.0.0",
-        "supports-color": "^2.0.0"
-      }
-    },
-    "chokidar": {
-      "version": "2.1.8",
-      "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz",
-      "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==",
-      "dev": true,
-      "requires": {
-        "anymatch": "^2.0.0",
-        "async-each": "^1.0.1",
-        "braces": "^2.3.2",
-        "fsevents": "^1.2.7",
-        "glob-parent": "^3.1.0",
-        "inherits": "^2.0.3",
-        "is-binary-path": "^1.0.0",
-        "is-glob": "^4.0.0",
-        "normalize-path": "^3.0.0",
-        "path-is-absolute": "^1.0.0",
-        "readdirp": "^2.2.1",
-        "upath": "^1.1.1"
-      }
-    },
-    "cipher-base": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz",
-      "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==",
-      "dev": true,
-      "requires": {
-        "inherits": "^2.0.1",
-        "safe-buffer": "^5.0.1"
-      }
-    },
-    "clap": {
-      "version": "1.2.3",
-      "resolved": "https://registry.npmjs.org/clap/-/clap-1.2.3.tgz",
-      "integrity": "sha512-4CoL/A3hf90V3VIEjeuhSvlGFEHKzOz+Wfc2IVZc+FaUgU0ZQafJTP49fvnULipOPcAfqhyI2duwQyns6xqjYA==",
-      "dev": true,
-      "requires": {
-        "chalk": "^1.1.3"
-      }
-    },
-    "class-utils": {
-      "version": "0.3.6",
-      "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
-      "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
-      "dev": true,
-      "requires": {
-        "arr-union": "^3.1.0",
-        "define-property": "^0.2.5",
-        "isobject": "^3.0.0",
-        "static-extend": "^0.1.1"
-      },
-      "dependencies": {
-        "define-property": {
-          "version": "0.2.5",
-          "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
-          "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
-          "dev": true,
-          "requires": {
-            "is-descriptor": "^0.1.0"
-          }
-        }
-      }
-    },
-    "cliui": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz",
-      "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=",
-      "dev": true,
-      "requires": {
-        "center-align": "^0.1.1",
-        "right-align": "^0.1.1",
-        "wordwrap": "0.0.2"
-      }
-    },
-    "clone": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
-      "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=",
-      "dev": true
-    },
-    "coa": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/coa/-/coa-1.0.4.tgz",
-      "integrity": "sha1-qe8VNmDWqGqL3sAomlxoTSF0Mv0=",
-      "dev": true,
-      "requires": {
-        "q": "^1.1.2"
-      }
-    },
-    "code-point-at": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
-      "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
-      "dev": true
-    },
-    "collection-visit": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
-      "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
-      "dev": true,
-      "requires": {
-        "map-visit": "^1.0.0",
-        "object-visit": "^1.0.0"
-      }
-    },
-    "color": {
-      "version": "0.11.4",
-      "resolved": "https://registry.npmjs.org/color/-/color-0.11.4.tgz",
-      "integrity": "sha1-bXtcdPtl6EHNSHkq0e1eB7kE12Q=",
-      "dev": true,
-      "requires": {
-        "clone": "^1.0.2",
-        "color-convert": "^1.3.0",
-        "color-string": "^0.3.0"
-      }
-    },
-    "color-convert": {
-      "version": "1.9.3",
-      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
-      "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
-      "requires": {
-        "color-name": "1.1.3"
-      }
-    },
-    "color-name": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
-      "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU="
-    },
-    "color-string": {
-      "version": "0.3.0",
-      "resolved": "https://registry.npmjs.org/color-string/-/color-string-0.3.0.tgz",
-      "integrity": "sha1-J9RvtnAlxcL6JZk7+/V55HhBuZE=",
-      "dev": true,
-      "requires": {
-        "color-name": "^1.0.0"
-      }
-    },
-    "colormin": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/colormin/-/colormin-1.1.2.tgz",
-      "integrity": "sha1-6i90IKcrlogaOKrlnsEkpvcpgTM=",
-      "dev": true,
-      "requires": {
-        "color": "^0.11.0",
-        "css-color-names": "0.0.4",
-        "has": "^1.0.1"
-      }
-    },
-    "colors": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz",
-      "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=",
-      "dev": true
-    },
-    "commondir": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
-      "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=",
-      "dev": true
-    },
-    "component-emitter": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
-      "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==",
-      "dev": true
-    },
-    "compressible": {
-      "version": "2.0.17",
-      "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.17.tgz",
-      "integrity": "sha512-BGHeLCK1GV7j1bSmQQAi26X+GgWcTjLr/0tzSvMCl3LH1w1IJ4PFSPoV5316b30cneTziC+B1a+3OjoSUcQYmw==",
-      "dev": true,
-      "requires": {
-        "mime-db": ">= 1.40.0 < 2"
-      }
-    },
-    "compression": {
-      "version": "1.7.4",
-      "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz",
-      "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==",
-      "dev": true,
-      "requires": {
-        "accepts": "~1.3.5",
-        "bytes": "3.0.0",
-        "compressible": "~2.0.16",
-        "debug": "2.6.9",
-        "on-headers": "~1.0.2",
-        "safe-buffer": "5.1.2",
-        "vary": "~1.1.2"
-      }
-    },
-    "concat-map": {
-      "version": "0.0.1",
-      "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
-      "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
-      "dev": true
-    },
-    "connect-history-api-fallback": {
-      "version": "1.6.0",
-      "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz",
-      "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==",
-      "dev": true
-    },
-    "consola": {
-      "version": "2.10.1",
-      "resolved": "https://registry.npmjs.org/consola/-/consola-2.10.1.tgz",
-      "integrity": "sha512-4sxpH6SGFYLADfUip4vuY65f/gEogrzJoniVhNUYkJHtng0l8ZjnDCqxxrSVRHOHwKxsy8Vm5ONZh1wOR3/l/w=="
-    },
-    "console-browserify": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz",
-      "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=",
-      "dev": true,
-      "requires": {
-        "date-now": "^0.1.4"
-      }
-    },
-    "consolidate": {
-      "version": "0.14.5",
-      "resolved": "https://registry.npmjs.org/consolidate/-/consolidate-0.14.5.tgz",
-      "integrity": "sha1-WiUEe8dvcwcmZ8jLUsmJiI9JTGM=",
-      "dev": true,
-      "requires": {
-        "bluebird": "^3.1.1"
-      }
-    },
-    "constants-browserify": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz",
-      "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=",
-      "dev": true
-    },
-    "content-disposition": {
-      "version": "0.5.3",
-      "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz",
-      "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==",
-      "dev": true,
-      "requires": {
-        "safe-buffer": "5.1.2"
-      }
-    },
-    "content-type": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
-      "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==",
-      "dev": true
-    },
-    "convert-source-map": {
-      "version": "1.6.0",
-      "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.6.0.tgz",
-      "integrity": "sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A==",
-      "dev": true,
-      "requires": {
-        "safe-buffer": "~5.1.1"
-      }
-    },
-    "cookie": {
-      "version": "0.4.0",
-      "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz",
-      "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==",
-      "dev": true
-    },
-    "cookie-signature": {
-      "version": "1.0.6",
-      "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
-      "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=",
-      "dev": true
-    },
-    "copy-descriptor": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
-      "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=",
-      "dev": true
-    },
-    "core-js": {
-      "version": "2.6.10",
-      "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.10.tgz",
-      "integrity": "sha512-I39t74+4t+zau64EN1fE5v2W31Adtc/REhzWN+gWRRXg6WH5qAsZm62DHpQ1+Yhe4047T55jvzz7MUqF/dBBlA==",
-      "dev": true
-    },
-    "core-util-is": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
-      "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
-      "dev": true
-    },
-    "cosmiconfig": {
-      "version": "2.2.2",
-      "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-2.2.2.tgz",
-      "integrity": "sha512-GiNXLwAFPYHy25XmTPpafYvn3CLAkJ8FLsscq78MQd1Kh0OU6Yzhn4eV2MVF4G9WEQZoWEGltatdR+ntGPMl5A==",
-      "dev": true,
-      "requires": {
-        "is-directory": "^0.3.1",
-        "js-yaml": "^3.4.3",
-        "minimist": "^1.2.0",
-        "object-assign": "^4.1.0",
-        "os-homedir": "^1.0.1",
-        "parse-json": "^2.2.0",
-        "require-from-string": "^1.1.0"
-      },
-      "dependencies": {
-        "minimist": {
-          "version": "1.2.0",
-          "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
-          "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
-          "dev": true
-        }
-      }
-    },
-    "create-ecdh": {
-      "version": "4.0.3",
-      "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz",
-      "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==",
-      "dev": true,
-      "requires": {
-        "bn.js": "^4.1.0",
-        "elliptic": "^6.0.0"
-      }
-    },
-    "create-hash": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz",
-      "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==",
-      "dev": true,
-      "requires": {
-        "cipher-base": "^1.0.1",
-        "inherits": "^2.0.1",
-        "md5.js": "^1.3.4",
-        "ripemd160": "^2.0.1",
-        "sha.js": "^2.4.0"
-      }
-    },
-    "create-hmac": {
-      "version": "1.1.7",
-      "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz",
-      "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==",
-      "dev": true,
-      "requires": {
-        "cipher-base": "^1.0.3",
-        "create-hash": "^1.1.0",
-        "inherits": "^2.0.1",
-        "ripemd160": "^2.0.0",
-        "safe-buffer": "^5.0.1",
-        "sha.js": "^2.4.8"
-      }
-    },
-    "cross-env": {
-      "version": "5.2.1",
-      "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-5.2.1.tgz",
-      "integrity": "sha512-1yHhtcfAd1r4nwQgknowuUNfIT9E8dOMMspC36g45dN+iD1blloi7xp8X/xAIDnjHWyt1uQ8PHk2fkNaym7soQ==",
-      "dev": true,
-      "requires": {
-        "cross-spawn": "^6.0.5"
-      }
-    },
-    "cross-spawn": {
-      "version": "6.0.5",
-      "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
-      "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
-      "dev": true,
-      "requires": {
-        "nice-try": "^1.0.4",
-        "path-key": "^2.0.1",
-        "semver": "^5.5.0",
-        "shebang-command": "^1.2.0",
-        "which": "^1.2.9"
-      }
-    },
-    "crypto-browserify": {
-      "version": "3.12.0",
-      "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz",
-      "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==",
-      "dev": true,
-      "requires": {
-        "browserify-cipher": "^1.0.0",
-        "browserify-sign": "^4.0.0",
-        "create-ecdh": "^4.0.0",
-        "create-hash": "^1.1.0",
-        "create-hmac": "^1.1.0",
-        "diffie-hellman": "^5.0.0",
-        "inherits": "^2.0.1",
-        "pbkdf2": "^3.0.3",
-        "public-encrypt": "^4.0.0",
-        "randombytes": "^2.0.0",
-        "randomfill": "^1.0.3"
-      }
-    },
-    "css-color-names": {
-      "version": "0.0.4",
-      "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz",
-      "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=",
-      "dev": true
-    },
-    "css-loader": {
-      "version": "0.28.11",
-      "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-0.28.11.tgz",
-      "integrity": "sha512-wovHgjAx8ZIMGSL8pTys7edA1ClmzxHeY6n/d97gg5odgsxEgKjULPR0viqyC+FWMCL9sfqoC/QCUBo62tLvPg==",
-      "dev": true,
-      "requires": {
-        "babel-code-frame": "^6.26.0",
-        "css-selector-tokenizer": "^0.7.0",
-        "cssnano": "^3.10.0",
-        "icss-utils": "^2.1.0",
-        "loader-utils": "^1.0.2",
-        "lodash.camelcase": "^4.3.0",
-        "object-assign": "^4.1.1",
-        "postcss": "^5.0.6",
-        "postcss-modules-extract-imports": "^1.2.0",
-        "postcss-modules-local-by-default": "^1.2.0",
-        "postcss-modules-scope": "^1.1.0",
-        "postcss-modules-values": "^1.3.0",
-        "postcss-value-parser": "^3.3.0",
-        "source-list-map": "^2.0.0"
-      }
-    },
-    "css-selector-tokenizer": {
-      "version": "0.7.1",
-      "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.1.tgz",
-      "integrity": "sha512-xYL0AMZJ4gFzJQsHUKa5jiWWi2vH77WVNg7JYRyewwj6oPh4yb/y6Y9ZCw9dsj/9UauMhtuxR+ogQd//EdEVNA==",
-      "dev": true,
-      "requires": {
-        "cssesc": "^0.1.0",
-        "fastparse": "^1.1.1",
-        "regexpu-core": "^1.0.0"
-      },
-      "dependencies": {
-        "regexpu-core": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-1.0.0.tgz",
-          "integrity": "sha1-hqdj9Y7k18L2sQLkdkBQ3n7ZDGs=",
-          "dev": true,
-          "requires": {
-            "regenerate": "^1.2.1",
-            "regjsgen": "^0.2.0",
-            "regjsparser": "^0.1.4"
-          }
-        }
-      }
-    },
-    "cssesc": {
-      "version": "0.1.0",
-      "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-0.1.0.tgz",
-      "integrity": "sha1-yBSQPkViM3GgR3tAEJqq++6t27Q=",
-      "dev": true
-    },
-    "cssnano": {
-      "version": "3.10.0",
-      "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-3.10.0.tgz",
-      "integrity": "sha1-Tzj2zqK5sX+gFJDyPx3GjqZcHDg=",
-      "dev": true,
-      "requires": {
-        "autoprefixer": "^6.3.1",
-        "decamelize": "^1.1.2",
-        "defined": "^1.0.0",
-        "has": "^1.0.1",
-        "object-assign": "^4.0.1",
-        "postcss": "^5.0.14",
-        "postcss-calc": "^5.2.0",
-        "postcss-colormin": "^2.1.8",
-        "postcss-convert-values": "^2.3.4",
-        "postcss-discard-comments": "^2.0.4",
-        "postcss-discard-duplicates": "^2.0.1",
-        "postcss-discard-empty": "^2.0.1",
-        "postcss-discard-overridden": "^0.1.1",
-        "postcss-discard-unused": "^2.2.1",
-        "postcss-filter-plugins": "^2.0.0",
-        "postcss-merge-idents": "^2.1.5",
-        "postcss-merge-longhand": "^2.0.1",
-        "postcss-merge-rules": "^2.0.3",
-        "postcss-minify-font-values": "^1.0.2",
-        "postcss-minify-gradients": "^1.0.1",
-        "postcss-minify-params": "^1.0.4",
-        "postcss-minify-selectors": "^2.0.4",
-        "postcss-normalize-charset": "^1.1.0",
-        "postcss-normalize-url": "^3.0.7",
-        "postcss-ordered-values": "^2.1.0",
-        "postcss-reduce-idents": "^2.2.2",
-        "postcss-reduce-initial": "^1.0.0",
-        "postcss-reduce-transforms": "^1.0.3",
-        "postcss-svgo": "^2.1.1",
-        "postcss-unique-selectors": "^2.0.2",
-        "postcss-value-parser": "^3.2.3",
-        "postcss-zindex": "^2.0.1"
-      }
-    },
-    "csso": {
-      "version": "2.3.2",
-      "resolved": "https://registry.npmjs.org/csso/-/csso-2.3.2.tgz",
-      "integrity": "sha1-3dUsWHAz9J6Utx/FVWnyUuj/X4U=",
-      "dev": true,
-      "requires": {
-        "clap": "^1.0.9",
-        "source-map": "^0.5.3"
-      }
-    },
-    "currently-unhandled": {
-      "version": "0.4.1",
-      "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz",
-      "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=",
-      "dev": true,
-      "requires": {
-        "array-find-index": "^1.0.1"
-      }
-    },
-    "d": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz",
-      "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==",
-      "dev": true,
-      "requires": {
-        "es5-ext": "^0.10.50",
-        "type": "^1.0.1"
-      }
-    },
-    "date-now": {
-      "version": "0.1.4",
-      "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz",
-      "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=",
-      "dev": true
-    },
-    "de-indent": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz",
-      "integrity": "sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0=",
-      "dev": true
-    },
-    "debug": {
-      "version": "2.6.9",
-      "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
-      "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
-      "dev": true,
-      "requires": {
-        "ms": "2.0.0"
-      }
-    },
-    "decamelize": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
-      "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
-      "dev": true
-    },
-    "decode-uri-component": {
-      "version": "0.2.0",
-      "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
-      "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
-      "dev": true
-    },
-    "deep-equal": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.0.tgz",
-      "integrity": "sha512-ZbfWJq/wN1Z273o7mUSjILYqehAktR2NVoSrOukDkU9kg2v/Uv89yU4Cvz8seJeAmtN5oqiefKq8FPuXOboqLw==",
-      "dev": true,
-      "requires": {
-        "is-arguments": "^1.0.4",
-        "is-date-object": "^1.0.1",
-        "is-regex": "^1.0.4",
-        "object-is": "^1.0.1",
-        "object-keys": "^1.1.1",
-        "regexp.prototype.flags": "^1.2.0"
-      }
-    },
-    "define-properties": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
-      "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==",
-      "dev": true,
-      "requires": {
-        "object-keys": "^1.0.12"
-      }
-    },
-    "define-property": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
-      "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
-      "dev": true,
-      "requires": {
-        "is-descriptor": "^1.0.2",
-        "isobject": "^3.0.1"
-      },
-      "dependencies": {
-        "is-accessor-descriptor": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
-          "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
-          "dev": true,
-          "requires": {
-            "kind-of": "^6.0.0"
-          }
-        },
-        "is-data-descriptor": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
-          "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
-          "dev": true,
-          "requires": {
-            "kind-of": "^6.0.0"
-          }
-        },
-        "is-descriptor": {
-          "version": "1.0.2",
-          "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
-          "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
-          "dev": true,
-          "requires": {
-            "is-accessor-descriptor": "^1.0.0",
-            "is-data-descriptor": "^1.0.0",
-            "kind-of": "^6.0.2"
-          }
-        },
-        "kind-of": {
-          "version": "6.0.2",
-          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
-          "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
-          "dev": true
-        }
-      }
-    },
-    "defined": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz",
-      "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=",
-      "dev": true
-    },
-    "del": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/del/-/del-3.0.0.tgz",
-      "integrity": "sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU=",
-      "dev": true,
-      "requires": {
-        "globby": "^6.1.0",
-        "is-path-cwd": "^1.0.0",
-        "is-path-in-cwd": "^1.0.0",
-        "p-map": "^1.1.1",
-        "pify": "^3.0.0",
-        "rimraf": "^2.2.8"
-      }
-    },
-    "depd": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
-      "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=",
-      "dev": true
-    },
-    "des.js": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz",
-      "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=",
-      "dev": true,
-      "requires": {
-        "inherits": "^2.0.1",
-        "minimalistic-assert": "^1.0.0"
-      }
-    },
-    "destroy": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
-      "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=",
-      "dev": true
-    },
-    "detect-indent": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz",
-      "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=",
-      "dev": true,
-      "requires": {
-        "repeating": "^2.0.0"
-      }
-    },
-    "detect-node": {
-      "version": "2.0.4",
-      "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz",
-      "integrity": "sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==",
-      "dev": true
-    },
-    "diffie-hellman": {
-      "version": "5.0.3",
-      "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz",
-      "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==",
-      "dev": true,
-      "requires": {
-        "bn.js": "^4.1.0",
-        "miller-rabin": "^4.0.0",
-        "randombytes": "^2.0.0"
-      }
-    },
-    "dns-equal": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz",
-      "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=",
-      "dev": true
-    },
-    "dns-packet": {
-      "version": "1.3.1",
-      "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.1.tgz",
-      "integrity": "sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg==",
-      "dev": true,
-      "requires": {
-        "ip": "^1.1.0",
-        "safe-buffer": "^5.0.1"
-      }
-    },
-    "dns-txt": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz",
-      "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=",
-      "dev": true,
-      "requires": {
-        "buffer-indexof": "^1.0.0"
-      }
-    },
-    "domain-browser": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz",
-      "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==",
-      "dev": true
-    },
-    "ee-first": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
-      "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=",
-      "dev": true
-    },
-    "electron-to-chromium": {
-      "version": "1.3.289",
-      "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.289.tgz",
-      "integrity": "sha512-39GEOWgTxtMDk/WjIQLg4W/l1s4FZdiMCqUBLjd92tAXsBPDFLwuwCba5OGhuTdVYm6E128TZIqSnMpeocUlCQ==",
-      "dev": true
-    },
-    "elliptic": {
-      "version": "6.5.1",
-      "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.1.tgz",
-      "integrity": "sha512-xvJINNLbTeWQjrl6X+7eQCrIy/YPv5XCpKW6kB5mKvtnGILoLDcySuwomfdzt0BMdLNVnuRNTuzKNHj0bva1Cg==",
-      "dev": true,
-      "requires": {
-        "bn.js": "^4.4.0",
-        "brorand": "^1.0.1",
-        "hash.js": "^1.0.0",
-        "hmac-drbg": "^1.0.0",
-        "inherits": "^2.0.1",
-        "minimalistic-assert": "^1.0.0",
-        "minimalistic-crypto-utils": "^1.0.0"
-      }
-    },
-    "emojis-list": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz",
-      "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=",
-      "dev": true
-    },
-    "encodeurl": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
-      "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=",
-      "dev": true
-    },
-    "enhanced-resolve": {
-      "version": "3.4.1",
-      "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-3.4.1.tgz",
-      "integrity": "sha1-BCHjOf1xQZs9oT0Smzl5BAIwR24=",
-      "dev": true,
-      "requires": {
-        "graceful-fs": "^4.1.2",
-        "memory-fs": "^0.4.0",
-        "object-assign": "^4.0.1",
-        "tapable": "^0.2.7"
-      }
-    },
-    "errno": {
-      "version": "0.1.7",
-      "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz",
-      "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==",
-      "dev": true,
-      "requires": {
-        "prr": "~1.0.1"
-      }
-    },
-    "error-ex": {
-      "version": "1.3.2",
-      "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
-      "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
-      "dev": true,
-      "requires": {
-        "is-arrayish": "^0.2.1"
-      }
-    },
-    "es-abstract": {
-      "version": "1.16.0",
-      "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.16.0.tgz",
-      "integrity": "sha512-xdQnfykZ9JMEiasTAJZJdMWCQ1Vm00NBw79/AWi7ELfZuuPCSOMDZbT9mkOfSctVtfhb+sAAzrm+j//GjjLHLg==",
-      "dev": true,
-      "requires": {
-        "es-to-primitive": "^1.2.0",
-        "function-bind": "^1.1.1",
-        "has": "^1.0.3",
-        "has-symbols": "^1.0.0",
-        "is-callable": "^1.1.4",
-        "is-regex": "^1.0.4",
-        "object-inspect": "^1.6.0",
-        "object-keys": "^1.1.1",
-        "string.prototype.trimleft": "^2.1.0",
-        "string.prototype.trimright": "^2.1.0"
-      }
-    },
-    "es-to-primitive": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz",
-      "integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==",
-      "dev": true,
-      "requires": {
-        "is-callable": "^1.1.4",
-        "is-date-object": "^1.0.1",
-        "is-symbol": "^1.0.2"
-      }
-    },
-    "es5-ext": {
-      "version": "0.10.51",
-      "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.51.tgz",
-      "integrity": "sha512-oRpWzM2WcLHVKpnrcyB7OW8j/s67Ba04JCm0WnNv3RiABSvs7mrQlutB8DBv793gKcp0XENR8Il8WxGTlZ73gQ==",
-      "dev": true,
-      "requires": {
-        "es6-iterator": "~2.0.3",
-        "es6-symbol": "~3.1.1",
-        "next-tick": "^1.0.0"
-      }
-    },
-    "es6-iterator": {
-      "version": "2.0.3",
-      "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz",
-      "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=",
-      "dev": true,
-      "requires": {
-        "d": "1",
-        "es5-ext": "^0.10.35",
-        "es6-symbol": "^3.1.1"
-      }
-    },
-    "es6-map": {
-      "version": "0.1.5",
-      "resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz",
-      "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=",
-      "dev": true,
-      "requires": {
-        "d": "1",
-        "es5-ext": "~0.10.14",
-        "es6-iterator": "~2.0.1",
-        "es6-set": "~0.1.5",
-        "es6-symbol": "~3.1.1",
-        "event-emitter": "~0.3.5"
-      }
-    },
-    "es6-set": {
-      "version": "0.1.5",
-      "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz",
-      "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=",
-      "dev": true,
-      "requires": {
-        "d": "1",
-        "es5-ext": "~0.10.14",
-        "es6-iterator": "~2.0.1",
-        "es6-symbol": "3.1.1",
-        "event-emitter": "~0.3.5"
-      },
-      "dependencies": {
-        "es6-symbol": {
-          "version": "3.1.1",
-          "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz",
-          "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=",
-          "dev": true,
-          "requires": {
-            "d": "1",
-            "es5-ext": "~0.10.14"
-          }
-        }
-      }
-    },
-    "es6-symbol": {
-      "version": "3.1.2",
-      "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.2.tgz",
-      "integrity": "sha512-/ZypxQsArlv+KHpGvng52/Iz8by3EQPxhmbuz8yFG89N/caTFBSbcXONDw0aMjy827gQg26XAjP4uXFvnfINmQ==",
-      "dev": true,
-      "requires": {
-        "d": "^1.0.1",
-        "es5-ext": "^0.10.51"
-      }
-    },
-    "es6-weak-map": {
-      "version": "2.0.3",
-      "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz",
-      "integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==",
-      "dev": true,
-      "requires": {
-        "d": "1",
-        "es5-ext": "^0.10.46",
-        "es6-iterator": "^2.0.3",
-        "es6-symbol": "^3.1.1"
-      }
-    },
-    "escape-html": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
-      "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=",
-      "dev": true
-    },
-    "escape-string-regexp": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
-      "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
-    },
-    "escope": {
-      "version": "3.6.0",
-      "resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz",
-      "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=",
-      "dev": true,
-      "requires": {
-        "es6-map": "^0.1.3",
-        "es6-weak-map": "^2.0.1",
-        "esrecurse": "^4.1.0",
-        "estraverse": "^4.1.1"
-      }
-    },
-    "esprima": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
-      "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
-      "dev": true
-    },
-    "esrecurse": {
-      "version": "4.2.1",
-      "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz",
-      "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==",
-      "dev": true,
-      "requires": {
-        "estraverse": "^4.1.0"
-      }
-    },
-    "estraverse": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
-      "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
-      "dev": true
-    },
-    "esutils": {
-      "version": "2.0.3",
-      "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
-      "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
-      "dev": true
-    },
-    "etag": {
-      "version": "1.8.1",
-      "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
-      "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=",
-      "dev": true
-    },
-    "event-emitter": {
-      "version": "0.3.5",
-      "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz",
-      "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=",
-      "dev": true,
-      "requires": {
-        "d": "1",
-        "es5-ext": "~0.10.14"
-      }
-    },
-    "eventemitter3": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.0.tgz",
-      "integrity": "sha512-qerSRB0p+UDEssxTtm6EDKcE7W4OaoisfIMl4CngyEhjpYglocpNg6UEqCvemdGhosAsg4sO2dXJOdyBifPGCg==",
-      "dev": true
-    },
-    "events": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/events/-/events-3.0.0.tgz",
-      "integrity": "sha512-Dc381HFWJzEOhQ+d8pkNon++bk9h6cdAoAj4iE6Q4y6xgTzySWXlKn05/TVNpjnfRqi/X0EpJEJohPjNI3zpVA==",
-      "dev": true
-    },
-    "eventsource": {
-      "version": "0.1.6",
-      "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-0.1.6.tgz",
-      "integrity": "sha1-Cs7ehJ7X3RzMMsgRuxG5RNTykjI=",
-      "dev": true,
-      "requires": {
-        "original": ">=0.0.5"
-      }
-    },
-    "evp_bytestokey": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz",
-      "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==",
-      "dev": true,
-      "requires": {
-        "md5.js": "^1.3.4",
-        "safe-buffer": "^5.1.1"
-      }
-    },
-    "execa": {
-      "version": "0.7.0",
-      "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz",
-      "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=",
-      "dev": true,
-      "requires": {
-        "cross-spawn": "^5.0.1",
-        "get-stream": "^3.0.0",
-        "is-stream": "^1.1.0",
-        "npm-run-path": "^2.0.0",
-        "p-finally": "^1.0.0",
-        "signal-exit": "^3.0.0",
-        "strip-eof": "^1.0.0"
-      },
-      "dependencies": {
-        "cross-spawn": {
-          "version": "5.1.0",
-          "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz",
-          "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=",
-          "dev": true,
-          "requires": {
-            "lru-cache": "^4.0.1",
-            "shebang-command": "^1.2.0",
-            "which": "^1.2.9"
-          }
-        }
-      }
-    },
-    "expand-brackets": {
-      "version": "2.1.4",
-      "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
-      "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
-      "dev": true,
-      "requires": {
-        "debug": "^2.3.3",
-        "define-property": "^0.2.5",
-        "extend-shallow": "^2.0.1",
-        "posix-character-classes": "^0.1.0",
-        "regex-not": "^1.0.0",
-        "snapdragon": "^0.8.1",
-        "to-regex": "^3.0.1"
-      },
-      "dependencies": {
-        "define-property": {
-          "version": "0.2.5",
-          "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
-          "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
-          "dev": true,
-          "requires": {
-            "is-descriptor": "^0.1.0"
-          }
-        },
-        "extend-shallow": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
-          "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-          "dev": true,
-          "requires": {
-            "is-extendable": "^0.1.0"
-          }
-        }
-      }
-    },
-    "express": {
-      "version": "4.17.1",
-      "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz",
-      "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==",
-      "dev": true,
-      "requires": {
-        "accepts": "~1.3.7",
-        "array-flatten": "1.1.1",
-        "body-parser": "1.19.0",
-        "content-disposition": "0.5.3",
-        "content-type": "~1.0.4",
-        "cookie": "0.4.0",
-        "cookie-signature": "1.0.6",
-        "debug": "2.6.9",
-        "depd": "~1.1.2",
-        "encodeurl": "~1.0.2",
-        "escape-html": "~1.0.3",
-        "etag": "~1.8.1",
-        "finalhandler": "~1.1.2",
-        "fresh": "0.5.2",
-        "merge-descriptors": "1.0.1",
-        "methods": "~1.1.2",
-        "on-finished": "~2.3.0",
-        "parseurl": "~1.3.3",
-        "path-to-regexp": "0.1.7",
-        "proxy-addr": "~2.0.5",
-        "qs": "6.7.0",
-        "range-parser": "~1.2.1",
-        "safe-buffer": "5.1.2",
-        "send": "0.17.1",
-        "serve-static": "1.14.1",
-        "setprototypeof": "1.1.1",
-        "statuses": "~1.5.0",
-        "type-is": "~1.6.18",
-        "utils-merge": "1.0.1",
-        "vary": "~1.1.2"
-      },
-      "dependencies": {
-        "array-flatten": {
-          "version": "1.1.1",
-          "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
-          "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=",
-          "dev": true
-        }
-      }
-    },
-    "extend-shallow": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
-      "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
-      "dev": true,
-      "requires": {
-        "assign-symbols": "^1.0.0",
-        "is-extendable": "^1.0.1"
-      },
-      "dependencies": {
-        "is-extendable": {
-          "version": "1.0.1",
-          "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
-          "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
-          "dev": true,
-          "requires": {
-            "is-plain-object": "^2.0.4"
-          }
-        }
-      }
-    },
-    "extglob": {
-      "version": "2.0.4",
-      "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
-      "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
-      "dev": true,
-      "requires": {
-        "array-unique": "^0.3.2",
-        "define-property": "^1.0.0",
-        "expand-brackets": "^2.1.4",
-        "extend-shallow": "^2.0.1",
-        "fragment-cache": "^0.2.1",
-        "regex-not": "^1.0.0",
-        "snapdragon": "^0.8.1",
-        "to-regex": "^3.0.1"
-      },
-      "dependencies": {
-        "define-property": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
-          "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
-          "dev": true,
-          "requires": {
-            "is-descriptor": "^1.0.0"
-          }
-        },
-        "extend-shallow": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
-          "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-          "dev": true,
-          "requires": {
-            "is-extendable": "^0.1.0"
-          }
-        },
-        "is-accessor-descriptor": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
-          "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
-          "dev": true,
-          "requires": {
-            "kind-of": "^6.0.0"
-          }
-        },
-        "is-data-descriptor": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
-          "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
-          "dev": true,
-          "requires": {
-            "kind-of": "^6.0.0"
-          }
-        },
-        "is-descriptor": {
-          "version": "1.0.2",
-          "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
-          "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
-          "dev": true,
-          "requires": {
-            "is-accessor-descriptor": "^1.0.0",
-            "is-data-descriptor": "^1.0.0",
-            "kind-of": "^6.0.2"
-          }
-        },
-        "kind-of": {
-          "version": "6.0.2",
-          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
-          "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
-          "dev": true
-        }
-      }
-    },
-    "fast-deep-equal": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz",
-      "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=",
-      "dev": true
-    },
-    "fast-json-stable-stringify": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
-      "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=",
-      "dev": true
-    },
-    "fastparse": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz",
-      "integrity": "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==",
-      "dev": true
-    },
-    "faye-websocket": {
-      "version": "0.10.0",
-      "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz",
-      "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=",
-      "dev": true,
-      "requires": {
-        "websocket-driver": ">=0.5.1"
-      }
-    },
-    "file-loader": {
-      "version": "1.1.11",
-      "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-1.1.11.tgz",
-      "integrity": "sha512-TGR4HU7HUsGg6GCOPJnFk06RhWgEWFLAGWiT6rcD+GRC2keU3s9RGJ+b3Z6/U73jwwNb2gKLJ7YCrp+jvU4ALg==",
-      "dev": true,
-      "requires": {
-        "loader-utils": "^1.0.2",
-        "schema-utils": "^0.4.5"
-      }
-    },
-    "fill-range": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
-      "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
-      "dev": true,
-      "requires": {
-        "extend-shallow": "^2.0.1",
-        "is-number": "^3.0.0",
-        "repeat-string": "^1.6.1",
-        "to-regex-range": "^2.1.0"
-      },
-      "dependencies": {
-        "extend-shallow": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
-          "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-          "dev": true,
-          "requires": {
-            "is-extendable": "^0.1.0"
-          }
-        }
-      }
-    },
-    "finalhandler": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz",
-      "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==",
-      "dev": true,
-      "requires": {
-        "debug": "2.6.9",
-        "encodeurl": "~1.0.2",
-        "escape-html": "~1.0.3",
-        "on-finished": "~2.3.0",
-        "parseurl": "~1.3.3",
-        "statuses": "~1.5.0",
-        "unpipe": "~1.0.0"
-      }
-    },
-    "find-cache-dir": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz",
-      "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=",
-      "dev": true,
-      "requires": {
-        "commondir": "^1.0.1",
-        "make-dir": "^1.0.0",
-        "pkg-dir": "^2.0.0"
-      }
-    },
-    "find-up": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
-      "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
-      "dev": true,
-      "requires": {
-        "locate-path": "^2.0.0"
-      }
-    },
-    "flatten": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/flatten/-/flatten-1.0.2.tgz",
-      "integrity": "sha1-2uRqnXj74lKSJYzB54CkHZXAN4I=",
-      "dev": true
-    },
-    "follow-redirects": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.9.0.tgz",
-      "integrity": "sha512-CRcPzsSIbXyVDl0QI01muNDu69S8trU4jArW9LpOt2WtC6LyUJetcIrmfHsRBx7/Jb6GHJUiuqyYxPooFfNt6A==",
-      "dev": true,
-      "requires": {
-        "debug": "^3.0.0"
-      },
-      "dependencies": {
-        "debug": {
-          "version": "3.2.6",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
-          "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
-          "dev": true,
-          "requires": {
-            "ms": "^2.1.1"
-          }
-        },
-        "ms": {
-          "version": "2.1.2",
-          "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
-          "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
-          "dev": true
-        }
-      }
-    },
-    "for-in": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
-      "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
-      "dev": true
-    },
-    "forwarded": {
-      "version": "0.1.2",
-      "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz",
-      "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=",
-      "dev": true
-    },
-    "fragment-cache": {
-      "version": "0.2.1",
-      "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
-      "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
-      "dev": true,
-      "requires": {
-        "map-cache": "^0.2.2"
-      }
-    },
-    "fresh": {
-      "version": "0.5.2",
-      "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
-      "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=",
-      "dev": true
-    },
-    "fs.realpath": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
-      "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
-      "dev": true
-    },
-    "fsevents": {
-      "version": "1.2.9",
-      "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.9.tgz",
-      "integrity": "sha512-oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw==",
-      "dev": true,
-      "optional": true,
-      "requires": {
-        "nan": "^2.12.1",
-        "node-pre-gyp": "^0.12.0"
-      },
-      "dependencies": {
-        "abbrev": {
-          "version": "1.1.1",
-          "bundled": true,
-          "dev": true,
-          "optional": true
-        },
-        "ansi-regex": {
-          "version": "2.1.1",
-          "bundled": true,
-          "dev": true,
-          "optional": true
-        },
-        "aproba": {
-          "version": "1.2.0",
-          "bundled": true,
-          "dev": true,
-          "optional": true
-        },
-        "are-we-there-yet": {
-          "version": "1.1.5",
-          "bundled": true,
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "delegates": "^1.0.0",
-            "readable-stream": "^2.0.6"
-          }
-        },
-        "balanced-match": {
-          "version": "1.0.0",
-          "bundled": true,
-          "dev": true,
-          "optional": true
-        },
-        "brace-expansion": {
-          "version": "1.1.11",
-          "bundled": true,
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "balanced-match": "^1.0.0",
-            "concat-map": "0.0.1"
-          }
-        },
-        "chownr": {
-          "version": "1.1.1",
-          "bundled": true,
-          "dev": true,
-          "optional": true
-        },
-        "code-point-at": {
-          "version": "1.1.0",
-          "bundled": true,
-          "dev": true,
-          "optional": true
-        },
-        "concat-map": {
-          "version": "0.0.1",
-          "bundled": true,
-          "dev": true,
-          "optional": true
-        },
-        "console-control-strings": {
-          "version": "1.1.0",
-          "bundled": true,
-          "dev": true,
-          "optional": true
-        },
-        "core-util-is": {
-          "version": "1.0.2",
-          "bundled": true,
-          "dev": true,
-          "optional": true
-        },
-        "debug": {
-          "version": "4.1.1",
-          "bundled": true,
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "ms": "^2.1.1"
-          }
-        },
-        "deep-extend": {
-          "version": "0.6.0",
-          "bundled": true,
-          "dev": true,
-          "optional": true
-        },
-        "delegates": {
-          "version": "1.0.0",
-          "bundled": true,
-          "dev": true,
-          "optional": true
-        },
-        "detect-libc": {
-          "version": "1.0.3",
-          "bundled": true,
-          "dev": true,
-          "optional": true
-        },
-        "fs-minipass": {
-          "version": "1.2.5",
-          "bundled": true,
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "minipass": "^2.2.1"
-          }
-        },
-        "fs.realpath": {
-          "version": "1.0.0",
-          "bundled": true,
-          "dev": true,
-          "optional": true
-        },
-        "gauge": {
-          "version": "2.7.4",
-          "bundled": true,
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "aproba": "^1.0.3",
-            "console-control-strings": "^1.0.0",
-            "has-unicode": "^2.0.0",
-            "object-assign": "^4.1.0",
-            "signal-exit": "^3.0.0",
-            "string-width": "^1.0.1",
-            "strip-ansi": "^3.0.1",
-            "wide-align": "^1.1.0"
-          }
-        },
-        "glob": {
-          "version": "7.1.3",
-          "bundled": true,
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "fs.realpath": "^1.0.0",
-            "inflight": "^1.0.4",
-            "inherits": "2",
-            "minimatch": "^3.0.4",
-            "once": "^1.3.0",
-            "path-is-absolute": "^1.0.0"
-          }
-        },
-        "has-unicode": {
-          "version": "2.0.1",
-          "bundled": true,
-          "dev": true,
-          "optional": true
-        },
-        "iconv-lite": {
-          "version": "0.4.24",
-          "bundled": true,
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "safer-buffer": ">= 2.1.2 < 3"
-          }
-        },
-        "ignore-walk": {
-          "version": "3.0.1",
-          "bundled": true,
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "minimatch": "^3.0.4"
-          }
-        },
-        "inflight": {
-          "version": "1.0.6",
-          "bundled": true,
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "once": "^1.3.0",
-            "wrappy": "1"
-          }
-        },
-        "inherits": {
-          "version": "2.0.3",
-          "bundled": true,
-          "dev": true,
-          "optional": true
-        },
-        "ini": {
-          "version": "1.3.5",
-          "bundled": true,
-          "dev": true,
-          "optional": true
-        },
-        "is-fullwidth-code-point": {
-          "version": "1.0.0",
-          "bundled": true,
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "number-is-nan": "^1.0.0"
-          }
-        },
-        "isarray": {
-          "version": "1.0.0",
-          "bundled": true,
-          "dev": true,
-          "optional": true
-        },
-        "minimatch": {
-          "version": "3.0.4",
-          "bundled": true,
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "brace-expansion": "^1.1.7"
-          }
-        },
-        "minimist": {
-          "version": "0.0.8",
-          "bundled": true,
-          "dev": true,
-          "optional": true
-        },
-        "minipass": {
-          "version": "2.3.5",
-          "bundled": true,
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "safe-buffer": "^5.1.2",
-            "yallist": "^3.0.0"
-          }
-        },
-        "minizlib": {
-          "version": "1.2.1",
-          "bundled": true,
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "minipass": "^2.2.1"
-          }
-        },
-        "mkdirp": {
-          "version": "0.5.1",
-          "bundled": true,
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "minimist": "0.0.8"
-          }
-        },
-        "ms": {
-          "version": "2.1.1",
-          "bundled": true,
-          "dev": true,
-          "optional": true
-        },
-        "needle": {
-          "version": "2.3.0",
-          "bundled": true,
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "debug": "^4.1.0",
-            "iconv-lite": "^0.4.4",
-            "sax": "^1.2.4"
-          }
-        },
-        "node-pre-gyp": {
-          "version": "0.12.0",
-          "bundled": true,
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "detect-libc": "^1.0.2",
-            "mkdirp": "^0.5.1",
-            "needle": "^2.2.1",
-            "nopt": "^4.0.1",
-            "npm-packlist": "^1.1.6",
-            "npmlog": "^4.0.2",
-            "rc": "^1.2.7",
-            "rimraf": "^2.6.1",
-            "semver": "^5.3.0",
-            "tar": "^4"
-          }
-        },
-        "nopt": {
-          "version": "4.0.1",
-          "bundled": true,
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "abbrev": "1",
-            "osenv": "^0.1.4"
-          }
-        },
-        "npm-bundled": {
-          "version": "1.0.6",
-          "bundled": true,
-          "dev": true,
-          "optional": true
-        },
-        "npm-packlist": {
-          "version": "1.4.1",
-          "bundled": true,
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "ignore-walk": "^3.0.1",
-            "npm-bundled": "^1.0.1"
-          }
-        },
-        "npmlog": {
-          "version": "4.1.2",
-          "bundled": true,
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "are-we-there-yet": "~1.1.2",
-            "console-control-strings": "~1.1.0",
-            "gauge": "~2.7.3",
-            "set-blocking": "~2.0.0"
-          }
-        },
-        "number-is-nan": {
-          "version": "1.0.1",
-          "bundled": true,
-          "dev": true,
-          "optional": true
-        },
-        "object-assign": {
-          "version": "4.1.1",
-          "bundled": true,
-          "dev": true,
-          "optional": true
-        },
-        "once": {
-          "version": "1.4.0",
-          "bundled": true,
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "wrappy": "1"
-          }
-        },
-        "os-homedir": {
-          "version": "1.0.2",
-          "bundled": true,
-          "dev": true,
-          "optional": true
-        },
-        "os-tmpdir": {
-          "version": "1.0.2",
-          "bundled": true,
-          "dev": true,
-          "optional": true
-        },
-        "osenv": {
-          "version": "0.1.5",
-          "bundled": true,
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "os-homedir": "^1.0.0",
-            "os-tmpdir": "^1.0.0"
-          }
-        },
-        "path-is-absolute": {
-          "version": "1.0.1",
-          "bundled": true,
-          "dev": true,
-          "optional": true
-        },
-        "process-nextick-args": {
-          "version": "2.0.0",
-          "bundled": true,
-          "dev": true,
-          "optional": true
-        },
-        "rc": {
-          "version": "1.2.8",
-          "bundled": true,
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "deep-extend": "^0.6.0",
-            "ini": "~1.3.0",
-            "minimist": "^1.2.0",
-            "strip-json-comments": "~2.0.1"
-          },
-          "dependencies": {
-            "minimist": {
-              "version": "1.2.0",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            }
-          }
-        },
-        "readable-stream": {
-          "version": "2.3.6",
-          "bundled": true,
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "core-util-is": "~1.0.0",
-            "inherits": "~2.0.3",
-            "isarray": "~1.0.0",
-            "process-nextick-args": "~2.0.0",
-            "safe-buffer": "~5.1.1",
-            "string_decoder": "~1.1.1",
-            "util-deprecate": "~1.0.1"
-          }
-        },
-        "rimraf": {
-          "version": "2.6.3",
-          "bundled": true,
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "glob": "^7.1.3"
-          }
-        },
-        "safe-buffer": {
-          "version": "5.1.2",
-          "bundled": true,
-          "dev": true,
-          "optional": true
-        },
-        "safer-buffer": {
-          "version": "2.1.2",
-          "bundled": true,
-          "dev": true,
-          "optional": true
-        },
-        "sax": {
-          "version": "1.2.4",
-          "bundled": true,
-          "dev": true,
-          "optional": true
-        },
-        "semver": {
-          "version": "5.7.0",
-          "bundled": true,
-          "dev": true,
-          "optional": true
-        },
-        "set-blocking": {
-          "version": "2.0.0",
-          "bundled": true,
-          "dev": true,
-          "optional": true
-        },
-        "signal-exit": {
-          "version": "3.0.2",
-          "bundled": true,
-          "dev": true,
-          "optional": true
-        },
-        "string-width": {
-          "version": "1.0.2",
-          "bundled": true,
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "code-point-at": "^1.0.0",
-            "is-fullwidth-code-point": "^1.0.0",
-            "strip-ansi": "^3.0.0"
-          }
-        },
-        "string_decoder": {
-          "version": "1.1.1",
-          "bundled": true,
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "safe-buffer": "~5.1.0"
-          }
-        },
-        "strip-ansi": {
-          "version": "3.0.1",
-          "bundled": true,
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "ansi-regex": "^2.0.0"
-          }
-        },
-        "strip-json-comments": {
-          "version": "2.0.1",
-          "bundled": true,
-          "dev": true,
-          "optional": true
-        },
-        "tar": {
-          "version": "4.4.8",
-          "bundled": true,
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "chownr": "^1.1.1",
-            "fs-minipass": "^1.2.5",
-            "minipass": "^2.3.4",
-            "minizlib": "^1.1.1",
-            "mkdirp": "^0.5.0",
-            "safe-buffer": "^5.1.2",
-            "yallist": "^3.0.2"
-          }
-        },
-        "util-deprecate": {
-          "version": "1.0.2",
-          "bundled": true,
-          "dev": true,
-          "optional": true
-        },
-        "wide-align": {
-          "version": "1.1.3",
-          "bundled": true,
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "string-width": "^1.0.2 || 2"
-          }
-        },
-        "wrappy": {
-          "version": "1.0.2",
-          "bundled": true,
-          "dev": true,
-          "optional": true
-        },
-        "yallist": {
-          "version": "3.0.3",
-          "bundled": true,
-          "dev": true,
-          "optional": true
-        }
-      }
-    },
-    "function-bind": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
-      "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
-      "dev": true
-    },
-    "get-caller-file": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz",
-      "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==",
-      "dev": true
-    },
-    "get-stdin": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz",
-      "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=",
-      "dev": true
-    },
-    "get-stream": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz",
-      "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=",
-      "dev": true
-    },
-    "get-value": {
-      "version": "2.0.6",
-      "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
-      "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=",
-      "dev": true
-    },
-    "glob": {
-      "version": "7.1.4",
-      "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz",
-      "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==",
-      "dev": true,
-      "requires": {
-        "fs.realpath": "^1.0.0",
-        "inflight": "^1.0.4",
-        "inherits": "2",
-        "minimatch": "^3.0.4",
-        "once": "^1.3.0",
-        "path-is-absolute": "^1.0.0"
-      }
-    },
-    "glob-parent": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
-      "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
-      "dev": true,
-      "requires": {
-        "is-glob": "^3.1.0",
-        "path-dirname": "^1.0.0"
-      },
-      "dependencies": {
-        "is-glob": {
-          "version": "3.1.0",
-          "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
-          "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
-          "dev": true,
-          "requires": {
-            "is-extglob": "^2.1.0"
-          }
-        }
-      }
-    },
-    "globals": {
-      "version": "9.18.0",
-      "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz",
-      "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==",
-      "dev": true
-    },
-    "globby": {
-      "version": "6.1.0",
-      "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz",
-      "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=",
-      "dev": true,
-      "requires": {
-        "array-union": "^1.0.1",
-        "glob": "^7.0.3",
-        "object-assign": "^4.0.1",
-        "pify": "^2.0.0",
-        "pinkie-promise": "^2.0.0"
-      },
-      "dependencies": {
-        "pify": {
-          "version": "2.3.0",
-          "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
-          "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
-          "dev": true
-        }
-      }
-    },
-    "graceful-fs": {
-      "version": "4.2.2",
-      "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.2.tgz",
-      "integrity": "sha512-IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q==",
-      "dev": true
-    },
-    "handle-thing": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.0.tgz",
-      "integrity": "sha512-d4sze1JNC454Wdo2fkuyzCr6aHcbL6PGGuFAz0Li/NcOm1tCHGnWDRmJP85dh9IhQErTc2svWFEX5xHIOo//kQ==",
-      "dev": true
-    },
-    "has": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
-      "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
-      "dev": true,
-      "requires": {
-        "function-bind": "^1.1.1"
-      }
-    },
-    "has-ansi": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
-      "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
-      "dev": true,
-      "requires": {
-        "ansi-regex": "^2.0.0"
-      }
-    },
-    "has-flag": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
-      "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
-      "dev": true
-    },
-    "has-symbols": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz",
-      "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=",
-      "dev": true
-    },
-    "has-value": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
-      "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
-      "dev": true,
-      "requires": {
-        "get-value": "^2.0.6",
-        "has-values": "^1.0.0",
-        "isobject": "^3.0.0"
-      }
-    },
-    "has-values": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
-      "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
-      "dev": true,
-      "requires": {
-        "is-number": "^3.0.0",
-        "kind-of": "^4.0.0"
-      },
-      "dependencies": {
-        "kind-of": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
-          "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
-          "dev": true,
-          "requires": {
-            "is-buffer": "^1.1.5"
-          }
-        }
-      }
-    },
-    "hash-base": {
-      "version": "3.0.4",
-      "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz",
-      "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=",
-      "dev": true,
-      "requires": {
-        "inherits": "^2.0.1",
-        "safe-buffer": "^5.0.1"
-      }
-    },
-    "hash-sum": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz",
-      "integrity": "sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=",
-      "dev": true
-    },
-    "hash.js": {
-      "version": "1.1.7",
-      "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz",
-      "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==",
-      "dev": true,
-      "requires": {
-        "inherits": "^2.0.3",
-        "minimalistic-assert": "^1.0.1"
-      }
-    },
-    "he": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
-      "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==",
-      "dev": true
-    },
-    "hmac-drbg": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz",
-      "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=",
-      "dev": true,
-      "requires": {
-        "hash.js": "^1.0.3",
-        "minimalistic-assert": "^1.0.0",
-        "minimalistic-crypto-utils": "^1.0.1"
-      }
-    },
-    "home-or-tmp": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz",
-      "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=",
-      "dev": true,
-      "requires": {
-        "os-homedir": "^1.0.0",
-        "os-tmpdir": "^1.0.1"
-      }
-    },
-    "hosted-git-info": {
-      "version": "2.8.5",
-      "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.5.tgz",
-      "integrity": "sha512-kssjab8CvdXfcXMXVcvsXum4Hwdq9XGtRD3TteMEvEbq0LXyiNQr6AprqKqfeaDXze7SxWvRxdpwE6ku7ikLkg==",
-      "dev": true
-    },
-    "hpack.js": {
-      "version": "2.1.6",
-      "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz",
-      "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=",
-      "dev": true,
-      "requires": {
-        "inherits": "^2.0.1",
-        "obuf": "^1.0.0",
-        "readable-stream": "^2.0.1",
-        "wbuf": "^1.1.0"
-      }
-    },
-    "html-comment-regex": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.2.tgz",
-      "integrity": "sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ==",
-      "dev": true
-    },
-    "html-entities": {
-      "version": "1.2.1",
-      "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.2.1.tgz",
-      "integrity": "sha1-DfKTUfByEWNRXfueVUPl9u7VFi8=",
-      "dev": true
-    },
-    "http-deceiver": {
-      "version": "1.2.7",
-      "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz",
-      "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=",
-      "dev": true
-    },
-    "http-errors": {
-      "version": "1.7.2",
-      "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz",
-      "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==",
-      "dev": true,
-      "requires": {
-        "depd": "~1.1.2",
-        "inherits": "2.0.3",
-        "setprototypeof": "1.1.1",
-        "statuses": ">= 1.5.0 < 2",
-        "toidentifier": "1.0.0"
-      },
-      "dependencies": {
-        "inherits": {
-          "version": "2.0.3",
-          "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
-          "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
-          "dev": true
-        }
-      }
-    },
-    "http-parser-js": {
-      "version": "0.4.10",
-      "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.10.tgz",
-      "integrity": "sha1-ksnBN0w1CF912zWexWzCV8u5P6Q=",
-      "dev": true
-    },
-    "http-proxy": {
-      "version": "1.18.0",
-      "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.0.tgz",
-      "integrity": "sha512-84I2iJM/n1d4Hdgc6y2+qY5mDaz2PUVjlg9znE9byl+q0uC3DeByqBGReQu5tpLK0TAqTIXScRUV+dg7+bUPpQ==",
-      "dev": true,
-      "requires": {
-        "eventemitter3": "^4.0.0",
-        "follow-redirects": "^1.0.0",
-        "requires-port": "^1.0.0"
-      }
-    },
-    "http-proxy-middleware": {
-      "version": "0.19.1",
-      "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz",
-      "integrity": "sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q==",
-      "dev": true,
-      "requires": {
-        "http-proxy": "^1.17.0",
-        "is-glob": "^4.0.0",
-        "lodash": "^4.17.11",
-        "micromatch": "^3.1.10"
-      }
-    },
-    "https-browserify": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz",
-      "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=",
-      "dev": true
-    },
-    "iconv-lite": {
-      "version": "0.4.24",
-      "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
-      "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
-      "dev": true,
-      "requires": {
-        "safer-buffer": ">= 2.1.2 < 3"
-      }
-    },
-    "icss-replace-symbols": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz",
-      "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=",
-      "dev": true
-    },
-    "icss-utils": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-2.1.0.tgz",
-      "integrity": "sha1-g/Cg7DeL8yRheLbCrZE28TWxyWI=",
-      "dev": true,
-      "requires": {
-        "postcss": "^6.0.1"
-      },
-      "dependencies": {
-        "ansi-styles": {
-          "version": "3.2.1",
-          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
-          "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
-          "dev": true,
-          "requires": {
-            "color-convert": "^1.9.0"
-          }
-        },
-        "chalk": {
-          "version": "2.4.2",
-          "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
-          "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
-          "dev": true,
-          "requires": {
-            "ansi-styles": "^3.2.1",
-            "escape-string-regexp": "^1.0.5",
-            "supports-color": "^5.3.0"
-          }
-        },
-        "has-flag": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
-          "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
-          "dev": true
-        },
-        "postcss": {
-          "version": "6.0.23",
-          "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
-          "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
-          "dev": true,
-          "requires": {
-            "chalk": "^2.4.1",
-            "source-map": "^0.6.1",
-            "supports-color": "^5.4.0"
-          }
-        },
-        "source-map": {
-          "version": "0.6.1",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
-          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
-          "dev": true
-        },
-        "supports-color": {
-          "version": "5.5.0",
-          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
-          "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
-          "dev": true,
-          "requires": {
-            "has-flag": "^3.0.0"
-          }
-        }
-      }
-    },
-    "ieee754": {
-      "version": "1.1.13",
-      "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz",
-      "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==",
-      "dev": true
-    },
-    "import-local": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/import-local/-/import-local-1.0.0.tgz",
-      "integrity": "sha512-vAaZHieK9qjGo58agRBg+bhHX3hoTZU/Oa3GESWLz7t1U62fk63aHuDJJEteXoDeTCcPmUT+z38gkHPZkkmpmQ==",
-      "dev": true,
-      "requires": {
-        "pkg-dir": "^2.0.0",
-        "resolve-cwd": "^2.0.0"
-      }
-    },
-    "indent-string": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz",
-      "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=",
-      "dev": true,
-      "requires": {
-        "repeating": "^2.0.0"
-      }
-    },
-    "indexes-of": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz",
-      "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=",
-      "dev": true
-    },
-    "inflight": {
-      "version": "1.0.6",
-      "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
-      "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
-      "dev": true,
-      "requires": {
-        "once": "^1.3.0",
-        "wrappy": "1"
-      }
-    },
-    "inherits": {
-      "version": "2.0.4",
-      "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
-      "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
-      "dev": true
-    },
-    "internal-ip": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-1.2.0.tgz",
-      "integrity": "sha1-rp+/k7mEh4eF1QqN4bNWlWBYz1w=",
-      "dev": true,
-      "requires": {
-        "meow": "^3.3.0"
-      }
-    },
-    "interpret": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.2.0.tgz",
-      "integrity": "sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw==",
-      "dev": true
-    },
-    "invariant": {
-      "version": "2.2.4",
-      "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz",
-      "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==",
-      "dev": true,
-      "requires": {
-        "loose-envify": "^1.0.0"
-      }
-    },
-    "invert-kv": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz",
-      "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=",
-      "dev": true
-    },
-    "ip": {
-      "version": "1.1.5",
-      "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz",
-      "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=",
-      "dev": true
-    },
-    "ipaddr.js": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.0.tgz",
-      "integrity": "sha512-M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA==",
-      "dev": true
-    },
-    "is-absolute-url": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz",
-      "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=",
-      "dev": true
-    },
-    "is-accessor-descriptor": {
-      "version": "0.1.6",
-      "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
-      "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
-      "dev": true,
-      "requires": {
-        "kind-of": "^3.0.2"
-      }
-    },
-    "is-arguments": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.0.4.tgz",
-      "integrity": "sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA==",
-      "dev": true
-    },
-    "is-arrayish": {
-      "version": "0.2.1",
-      "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
-      "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
-      "dev": true
-    },
-    "is-binary-path": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
-      "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=",
-      "dev": true,
-      "requires": {
-        "binary-extensions": "^1.0.0"
-      }
-    },
-    "is-buffer": {
-      "version": "1.1.6",
-      "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
-      "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
-      "dev": true
-    },
-    "is-callable": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz",
-      "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==",
-      "dev": true
-    },
-    "is-data-descriptor": {
-      "version": "0.1.4",
-      "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
-      "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
-      "dev": true,
-      "requires": {
-        "kind-of": "^3.0.2"
-      }
-    },
-    "is-date-object": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz",
-      "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=",
-      "dev": true
-    },
-    "is-descriptor": {
-      "version": "0.1.6",
-      "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
-      "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
-      "dev": true,
-      "requires": {
-        "is-accessor-descriptor": "^0.1.6",
-        "is-data-descriptor": "^0.1.4",
-        "kind-of": "^5.0.0"
-      },
-      "dependencies": {
-        "kind-of": {
-          "version": "5.1.0",
-          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
-          "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
-          "dev": true
-        }
-      }
-    },
-    "is-directory": {
-      "version": "0.3.1",
-      "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz",
-      "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=",
-      "dev": true
-    },
-    "is-extendable": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
-      "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
-      "dev": true
-    },
-    "is-extglob": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
-      "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
-      "dev": true
-    },
-    "is-finite": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz",
-      "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=",
-      "dev": true,
-      "requires": {
-        "number-is-nan": "^1.0.0"
-      }
-    },
-    "is-fullwidth-code-point": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
-      "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
-      "dev": true,
-      "requires": {
-        "number-is-nan": "^1.0.0"
-      }
-    },
-    "is-glob": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
-      "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
-      "dev": true,
-      "requires": {
-        "is-extglob": "^2.1.1"
-      }
-    },
-    "is-number": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
-      "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
-      "dev": true,
-      "requires": {
-        "kind-of": "^3.0.2"
-      }
-    },
-    "is-path-cwd": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz",
-      "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=",
-      "dev": true
-    },
-    "is-path-in-cwd": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz",
-      "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==",
-      "dev": true,
-      "requires": {
-        "is-path-inside": "^1.0.0"
-      }
-    },
-    "is-path-inside": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz",
-      "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=",
-      "dev": true,
-      "requires": {
-        "path-is-inside": "^1.0.1"
-      }
-    },
-    "is-plain-obj": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz",
-      "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=",
-      "dev": true
-    },
-    "is-plain-object": {
-      "version": "2.0.4",
-      "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
-      "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
-      "dev": true,
-      "requires": {
-        "isobject": "^3.0.1"
-      }
-    },
-    "is-regex": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz",
-      "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=",
-      "dev": true,
-      "requires": {
-        "has": "^1.0.1"
-      }
-    },
-    "is-stream": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
-      "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
-      "dev": true
-    },
-    "is-svg": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-2.1.0.tgz",
-      "integrity": "sha1-z2EJDaDZ77yrhyLeum8DIgjbsOk=",
-      "dev": true,
-      "requires": {
-        "html-comment-regex": "^1.1.0"
-      }
-    },
-    "is-symbol": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz",
-      "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==",
-      "dev": true,
-      "requires": {
-        "has-symbols": "^1.0.0"
-      }
-    },
-    "is-utf8": {
-      "version": "0.2.1",
-      "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz",
-      "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=",
-      "dev": true
-    },
-    "is-windows": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
-      "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==",
-      "dev": true
-    },
-    "is-wsl": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz",
-      "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=",
-      "dev": true
-    },
-    "isarray": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
-      "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
-      "dev": true
-    },
-    "isexe": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
-      "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
-      "dev": true
-    },
-    "isobject": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
-      "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
-      "dev": true
-    },
-    "js-base64": {
-      "version": "2.5.1",
-      "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.5.1.tgz",
-      "integrity": "sha512-M7kLczedRMYX4L8Mdh4MzyAMM9O5osx+4FcOQuTvr3A9F2D9S5JXheN0ewNbrvK2UatkTRhL5ejGmGSjNMiZuw==",
-      "dev": true
-    },
-    "js-tokens": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz",
-      "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=",
-      "dev": true
-    },
-    "js-yaml": {
-      "version": "3.13.1",
-      "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz",
-      "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==",
-      "dev": true,
-      "requires": {
-        "argparse": "^1.0.7",
-        "esprima": "^4.0.0"
-      }
-    },
-    "jsesc": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz",
-      "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=",
-      "dev": true
-    },
-    "json-loader": {
-      "version": "0.5.7",
-      "resolved": "https://registry.npmjs.org/json-loader/-/json-loader-0.5.7.tgz",
-      "integrity": "sha512-QLPs8Dj7lnf3e3QYS1zkCo+4ZwqOiF9d/nZnYozTISxXWCfNs9yuky5rJw4/W34s7POaNlbZmQGaB5NiXCbP4w==",
-      "dev": true
-    },
-    "json-schema-traverse": {
-      "version": "0.4.1",
-      "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
-      "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
-      "dev": true
-    },
-    "json3": {
-      "version": "3.3.3",
-      "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.3.tgz",
-      "integrity": "sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA==",
-      "dev": true
-    },
-    "json5": {
-      "version": "0.5.1",
-      "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz",
-      "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=",
-      "dev": true
-    },
-    "killable": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz",
-      "integrity": "sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==",
-      "dev": true
-    },
-    "kind-of": {
-      "version": "3.2.2",
-      "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-      "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-      "dev": true,
-      "requires": {
-        "is-buffer": "^1.1.5"
-      }
-    },
-    "lazy-cache": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz",
-      "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=",
-      "dev": true
-    },
-    "lcid": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz",
-      "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=",
-      "dev": true,
-      "requires": {
-        "invert-kv": "^1.0.0"
-      }
-    },
-    "load-json-file": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz",
-      "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=",
-      "dev": true,
-      "requires": {
-        "graceful-fs": "^4.1.2",
-        "parse-json": "^2.2.0",
-        "pify": "^2.0.0",
-        "strip-bom": "^3.0.0"
-      },
-      "dependencies": {
-        "pify": {
-          "version": "2.3.0",
-          "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
-          "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
-          "dev": true
-        }
-      }
-    },
-    "loader-runner": {
-      "version": "2.4.0",
-      "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz",
-      "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==",
-      "dev": true
-    },
-    "loader-utils": {
-      "version": "1.2.3",
-      "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz",
-      "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==",
-      "dev": true,
-      "requires": {
-        "big.js": "^5.2.2",
-        "emojis-list": "^2.0.0",
-        "json5": "^1.0.1"
-      },
-      "dependencies": {
-        "json5": {
-          "version": "1.0.1",
-          "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
-          "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
-          "dev": true,
-          "requires": {
-            "minimist": "^1.2.0"
-          }
-        },
-        "minimist": {
-          "version": "1.2.0",
-          "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
-          "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
-          "dev": true
-        }
-      }
-    },
-    "locate-path": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
-      "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
-      "dev": true,
-      "requires": {
-        "p-locate": "^2.0.0",
-        "path-exists": "^3.0.0"
-      }
-    },
-    "lodash": {
-      "version": "4.17.19",
-      "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.19.tgz",
-      "integrity": "sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==",
-      "dev": true
-    },
-    "lodash.camelcase": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz",
-      "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=",
-      "dev": true
-    },
-    "lodash.memoize": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz",
-      "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=",
-      "dev": true
-    },
-    "lodash.uniq": {
-      "version": "4.5.0",
-      "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz",
-      "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=",
-      "dev": true
-    },
-    "loglevel": {
-      "version": "1.6.4",
-      "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.4.tgz",
-      "integrity": "sha512-p0b6mOGKcGa+7nnmKbpzR6qloPbrgLcnio++E+14Vo/XffOGwZtRpUhr8dTH/x2oCMmEoIU0Zwm3ZauhvYD17g==",
-      "dev": true
-    },
-    "longest": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz",
-      "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=",
-      "dev": true
-    },
-    "loose-envify": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
-      "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
-      "dev": true,
-      "requires": {
-        "js-tokens": "^3.0.0 || ^4.0.0"
-      }
-    },
-    "loud-rejection": {
-      "version": "1.6.0",
-      "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz",
-      "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=",
-      "dev": true,
-      "requires": {
-        "currently-unhandled": "^0.4.1",
-        "signal-exit": "^3.0.0"
-      }
-    },
-    "lru-cache": {
-      "version": "4.1.5",
-      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz",
-      "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==",
-      "dev": true,
-      "requires": {
-        "pseudomap": "^1.0.2",
-        "yallist": "^2.1.2"
-      }
-    },
-    "make-dir": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz",
-      "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==",
-      "dev": true,
-      "requires": {
-        "pify": "^3.0.0"
-      }
-    },
-    "map-cache": {
-      "version": "0.2.2",
-      "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
-      "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=",
-      "dev": true
-    },
-    "map-obj": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz",
-      "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=",
-      "dev": true
-    },
-    "map-visit": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
-      "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
-      "dev": true,
-      "requires": {
-        "object-visit": "^1.0.0"
-      }
-    },
-    "marked": {
-      "version": "0.7.0",
-      "resolved": "https://registry.npmjs.org/marked/-/marked-0.7.0.tgz",
-      "integrity": "sha512-c+yYdCZJQrsRjTPhUx7VKkApw9bwDkNbHUKo1ovgcfDjb2kc8rLuRbIFyXL5WOEUwzSSKo3IXpph2K6DqB/KZg=="
-    },
-    "math-expression-evaluator": {
-      "version": "1.2.17",
-      "resolved": "https://registry.npmjs.org/math-expression-evaluator/-/math-expression-evaluator-1.2.17.tgz",
-      "integrity": "sha1-3oGf282E3M2PrlnGrreWFbnSZqw=",
-      "dev": true
-    },
-    "md5.js": {
-      "version": "1.3.5",
-      "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz",
-      "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==",
-      "dev": true,
-      "requires": {
-        "hash-base": "^3.0.0",
-        "inherits": "^2.0.1",
-        "safe-buffer": "^5.1.2"
-      }
-    },
-    "media-typer": {
-      "version": "0.3.0",
-      "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
-      "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=",
-      "dev": true
-    },
-    "mem": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz",
-      "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=",
-      "dev": true,
-      "requires": {
-        "mimic-fn": "^1.0.0"
-      }
-    },
-    "memory-fs": {
-      "version": "0.4.1",
-      "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz",
-      "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=",
-      "dev": true,
-      "requires": {
-        "errno": "^0.1.3",
-        "readable-stream": "^2.0.1"
-      }
-    },
-    "meow": {
-      "version": "3.7.0",
-      "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz",
-      "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=",
-      "dev": true,
-      "requires": {
-        "camelcase-keys": "^2.0.0",
-        "decamelize": "^1.1.2",
-        "loud-rejection": "^1.0.0",
-        "map-obj": "^1.0.1",
-        "minimist": "^1.1.3",
-        "normalize-package-data": "^2.3.4",
-        "object-assign": "^4.0.1",
-        "read-pkg-up": "^1.0.1",
-        "redent": "^1.0.0",
-        "trim-newlines": "^1.0.0"
-      },
-      "dependencies": {
-        "find-up": {
-          "version": "1.1.2",
-          "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
-          "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
-          "dev": true,
-          "requires": {
-            "path-exists": "^2.0.0",
-            "pinkie-promise": "^2.0.0"
-          }
-        },
-        "load-json-file": {
-          "version": "1.1.0",
-          "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
-          "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=",
-          "dev": true,
-          "requires": {
-            "graceful-fs": "^4.1.2",
-            "parse-json": "^2.2.0",
-            "pify": "^2.0.0",
-            "pinkie-promise": "^2.0.0",
-            "strip-bom": "^2.0.0"
-          }
-        },
-        "minimist": {
-          "version": "1.2.0",
-          "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
-          "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
-          "dev": true
-        },
-        "path-exists": {
-          "version": "2.1.0",
-          "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
-          "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
-          "dev": true,
-          "requires": {
-            "pinkie-promise": "^2.0.0"
-          }
-        },
-        "path-type": {
-          "version": "1.1.0",
-          "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz",
-          "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=",
-          "dev": true,
-          "requires": {
-            "graceful-fs": "^4.1.2",
-            "pify": "^2.0.0",
-            "pinkie-promise": "^2.0.0"
-          }
-        },
-        "pify": {
-          "version": "2.3.0",
-          "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
-          "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
-          "dev": true
-        },
-        "read-pkg": {
-          "version": "1.1.0",
-          "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz",
-          "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=",
-          "dev": true,
-          "requires": {
-            "load-json-file": "^1.0.0",
-            "normalize-package-data": "^2.3.2",
-            "path-type": "^1.0.0"
-          }
-        },
-        "read-pkg-up": {
-          "version": "1.0.1",
-          "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz",
-          "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=",
-          "dev": true,
-          "requires": {
-            "find-up": "^1.0.0",
-            "read-pkg": "^1.0.0"
-          }
-        },
-        "strip-bom": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
-          "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
-          "dev": true,
-          "requires": {
-            "is-utf8": "^0.2.0"
-          }
-        }
-      }
-    },
-    "merge-descriptors": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
-      "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=",
-      "dev": true
-    },
-    "methods": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
-      "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=",
-      "dev": true
-    },
-    "micromatch": {
-      "version": "3.1.10",
-      "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
-      "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
-      "dev": true,
-      "requires": {
-        "arr-diff": "^4.0.0",
-        "array-unique": "^0.3.2",
-        "braces": "^2.3.1",
-        "define-property": "^2.0.2",
-        "extend-shallow": "^3.0.2",
-        "extglob": "^2.0.4",
-        "fragment-cache": "^0.2.1",
-        "kind-of": "^6.0.2",
-        "nanomatch": "^1.2.9",
-        "object.pick": "^1.3.0",
-        "regex-not": "^1.0.0",
-        "snapdragon": "^0.8.1",
-        "to-regex": "^3.0.2"
-      },
-      "dependencies": {
-        "kind-of": {
-          "version": "6.0.2",
-          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
-          "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
-          "dev": true
-        }
-      }
-    },
-    "miller-rabin": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz",
-      "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==",
-      "dev": true,
-      "requires": {
-        "bn.js": "^4.0.0",
-        "brorand": "^1.0.1"
-      }
-    },
-    "mime": {
-      "version": "1.6.0",
-      "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
-      "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
-      "dev": true
-    },
-    "mime-db": {
-      "version": "1.40.0",
-      "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz",
-      "integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==",
-      "dev": true
-    },
-    "mime-types": {
-      "version": "2.1.24",
-      "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz",
-      "integrity": "sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==",
-      "dev": true,
-      "requires": {
-        "mime-db": "1.40.0"
-      }
-    },
-    "mimic-fn": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz",
-      "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==",
-      "dev": true
-    },
-    "minimalistic-assert": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz",
-      "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==",
-      "dev": true
-    },
-    "minimalistic-crypto-utils": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz",
-      "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=",
-      "dev": true
-    },
-    "minimatch": {
-      "version": "3.0.4",
-      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
-      "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
-      "dev": true,
-      "requires": {
-        "brace-expansion": "^1.1.7"
-      }
-    },
-    "minimist": {
-      "version": "0.0.8",
-      "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
-      "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
-      "dev": true
-    },
-    "mixin-deep": {
-      "version": "1.3.2",
-      "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz",
-      "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==",
-      "dev": true,
-      "requires": {
-        "for-in": "^1.0.2",
-        "is-extendable": "^1.0.1"
-      },
-      "dependencies": {
-        "is-extendable": {
-          "version": "1.0.1",
-          "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
-          "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
-          "dev": true,
-          "requires": {
-            "is-plain-object": "^2.0.4"
-          }
-        }
-      }
-    },
-    "mkdirp": {
-      "version": "0.5.1",
-      "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
-      "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
-      "dev": true,
-      "requires": {
-        "minimist": "0.0.8"
-      }
-    },
-    "ms": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-      "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
-      "dev": true
-    },
-    "multicast-dns": {
-      "version": "6.2.3",
-      "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz",
-      "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==",
-      "dev": true,
-      "requires": {
-        "dns-packet": "^1.3.1",
-        "thunky": "^1.0.2"
-      }
-    },
-    "multicast-dns-service-types": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz",
-      "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=",
-      "dev": true
-    },
-    "nan": {
-      "version": "2.14.0",
-      "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz",
-      "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==",
-      "dev": true,
-      "optional": true
-    },
-    "nanomatch": {
-      "version": "1.2.13",
-      "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
-      "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==",
-      "dev": true,
-      "requires": {
-        "arr-diff": "^4.0.0",
-        "array-unique": "^0.3.2",
-        "define-property": "^2.0.2",
-        "extend-shallow": "^3.0.2",
-        "fragment-cache": "^0.2.1",
-        "is-windows": "^1.0.2",
-        "kind-of": "^6.0.2",
-        "object.pick": "^1.3.0",
-        "regex-not": "^1.0.0",
-        "snapdragon": "^0.8.1",
-        "to-regex": "^3.0.1"
-      },
-      "dependencies": {
-        "kind-of": {
-          "version": "6.0.2",
-          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
-          "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
-          "dev": true
-        }
-      }
-    },
-    "negotiator": {
-      "version": "0.6.2",
-      "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz",
-      "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==",
-      "dev": true
-    },
-    "neo-async": {
-      "version": "2.6.1",
-      "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz",
-      "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==",
-      "dev": true
-    },
-    "next-tick": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz",
-      "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=",
-      "dev": true
-    },
-    "nice-try": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
-      "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==",
-      "dev": true
-    },
-    "node-fetch": {
-      "version": "2.6.0",
-      "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz",
-      "integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA=="
-    },
-    "node-forge": {
-      "version": "0.9.0",
-      "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.9.0.tgz",
-      "integrity": "sha512-7ASaDa3pD+lJ3WvXFsxekJQelBKRpne+GOVbLbtHYdd7pFspyeuJHnWfLplGf3SwKGbfs/aYl5V/JCIaHVUKKQ==",
-      "dev": true
-    },
-    "node-libs-browser": {
-      "version": "2.2.1",
-      "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz",
-      "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==",
-      "dev": true,
-      "requires": {
-        "assert": "^1.1.1",
-        "browserify-zlib": "^0.2.0",
-        "buffer": "^4.3.0",
-        "console-browserify": "^1.1.0",
-        "constants-browserify": "^1.0.0",
-        "crypto-browserify": "^3.11.0",
-        "domain-browser": "^1.1.1",
-        "events": "^3.0.0",
-        "https-browserify": "^1.0.0",
-        "os-browserify": "^0.3.0",
-        "path-browserify": "0.0.1",
-        "process": "^0.11.10",
-        "punycode": "^1.2.4",
-        "querystring-es3": "^0.2.0",
-        "readable-stream": "^2.3.3",
-        "stream-browserify": "^2.0.1",
-        "stream-http": "^2.7.2",
-        "string_decoder": "^1.0.0",
-        "timers-browserify": "^2.0.4",
-        "tty-browserify": "0.0.0",
-        "url": "^0.11.0",
-        "util": "^0.11.0",
-        "vm-browserify": "^1.0.1"
-      },
-      "dependencies": {
-        "punycode": {
-          "version": "1.4.1",
-          "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
-          "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
-          "dev": true
-        }
-      }
-    },
-    "normalize-package-data": {
-      "version": "2.5.0",
-      "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
-      "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
-      "dev": true,
-      "requires": {
-        "hosted-git-info": "^2.1.4",
-        "resolve": "^1.10.0",
-        "semver": "2 || 3 || 4 || 5",
-        "validate-npm-package-license": "^3.0.1"
-      }
-    },
-    "normalize-path": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
-      "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
-      "dev": true
-    },
-    "normalize-range": {
-      "version": "0.1.2",
-      "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz",
-      "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=",
-      "dev": true
-    },
-    "normalize-url": {
-      "version": "1.9.1",
-      "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz",
-      "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=",
-      "dev": true,
-      "requires": {
-        "object-assign": "^4.0.1",
-        "prepend-http": "^1.0.0",
-        "query-string": "^4.1.0",
-        "sort-keys": "^1.0.0"
-      }
-    },
-    "npm-run-path": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
-      "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
-      "dev": true,
-      "requires": {
-        "path-key": "^2.0.0"
-      }
-    },
-    "num2fraction": {
-      "version": "1.2.2",
-      "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz",
-      "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=",
-      "dev": true
-    },
-    "number-is-nan": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
-      "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
-      "dev": true
-    },
-    "object-assign": {
-      "version": "4.1.1",
-      "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
-      "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
-      "dev": true
-    },
-    "object-copy": {
-      "version": "0.1.0",
-      "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
-      "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
-      "dev": true,
-      "requires": {
-        "copy-descriptor": "^0.1.0",
-        "define-property": "^0.2.5",
-        "kind-of": "^3.0.3"
-      },
-      "dependencies": {
-        "define-property": {
-          "version": "0.2.5",
-          "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
-          "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
-          "dev": true,
-          "requires": {
-            "is-descriptor": "^0.1.0"
-          }
-        }
-      }
-    },
-    "object-inspect": {
-      "version": "1.6.0",
-      "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.6.0.tgz",
-      "integrity": "sha512-GJzfBZ6DgDAmnuaM3104jR4s1Myxr3Y3zfIyN4z3UdqN69oSRacNK8UhnobDdC+7J2AHCjGwxQubNJfE70SXXQ==",
-      "dev": true
-    },
-    "object-is": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.0.1.tgz",
-      "integrity": "sha1-CqYOyZiaCz7Xlc9NBvYs8a1lObY=",
-      "dev": true
-    },
-    "object-keys": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
-      "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
-      "dev": true
-    },
-    "object-visit": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
-      "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
-      "dev": true,
-      "requires": {
-        "isobject": "^3.0.0"
-      }
-    },
-    "object.pick": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
-      "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
-      "dev": true,
-      "requires": {
-        "isobject": "^3.0.1"
-      }
-    },
-    "obuf": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz",
-      "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==",
-      "dev": true
-    },
-    "on-finished": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
-      "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
-      "dev": true,
-      "requires": {
-        "ee-first": "1.1.1"
-      }
-    },
-    "on-headers": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz",
-      "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==",
-      "dev": true
-    },
-    "once": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
-      "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
-      "dev": true,
-      "requires": {
-        "wrappy": "1"
-      }
-    },
-    "opn": {
-      "version": "5.5.0",
-      "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz",
-      "integrity": "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==",
-      "dev": true,
-      "requires": {
-        "is-wsl": "^1.1.0"
-      }
-    },
-    "original": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz",
-      "integrity": "sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==",
-      "dev": true,
-      "requires": {
-        "url-parse": "^1.4.3"
-      }
-    },
-    "os-browserify": {
-      "version": "0.3.0",
-      "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz",
-      "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=",
-      "dev": true
-    },
-    "os-homedir": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
-      "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",
-      "dev": true
-    },
-    "os-locale": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz",
-      "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==",
-      "dev": true,
-      "requires": {
-        "execa": "^0.7.0",
-        "lcid": "^1.0.0",
-        "mem": "^1.1.0"
-      }
-    },
-    "os-tmpdir": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
-      "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
-      "dev": true
-    },
-    "p-finally": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
-      "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=",
-      "dev": true
-    },
-    "p-limit": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz",
-      "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==",
-      "dev": true,
-      "requires": {
-        "p-try": "^1.0.0"
-      }
-    },
-    "p-locate": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
-      "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
-      "dev": true,
-      "requires": {
-        "p-limit": "^1.1.0"
-      }
-    },
-    "p-map": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz",
-      "integrity": "sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA==",
-      "dev": true
-    },
-    "p-try": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
-      "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=",
-      "dev": true
-    },
-    "pako": {
-      "version": "1.0.10",
-      "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.10.tgz",
-      "integrity": "sha512-0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw==",
-      "dev": true
-    },
-    "parse-asn1": {
-      "version": "5.1.5",
-      "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.5.tgz",
-      "integrity": "sha512-jkMYn1dcJqF6d5CpU689bq7w/b5ALS9ROVSpQDPrZsqqesUJii9qutvoT5ltGedNXMO2e16YUWIghG9KxaViTQ==",
-      "dev": true,
-      "requires": {
-        "asn1.js": "^4.0.0",
-        "browserify-aes": "^1.0.0",
-        "create-hash": "^1.1.0",
-        "evp_bytestokey": "^1.0.0",
-        "pbkdf2": "^3.0.3",
-        "safe-buffer": "^5.1.1"
-      }
-    },
-    "parse-json": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
-      "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
-      "dev": true,
-      "requires": {
-        "error-ex": "^1.2.0"
-      }
-    },
-    "parseurl": {
-      "version": "1.3.3",
-      "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
-      "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
-      "dev": true
-    },
-    "pascalcase": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
-      "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=",
-      "dev": true
-    },
-    "path-browserify": {
-      "version": "0.0.1",
-      "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz",
-      "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==",
-      "dev": true
-    },
-    "path-dirname": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz",
-      "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=",
-      "dev": true
-    },
-    "path-exists": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
-      "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
-      "dev": true
-    },
-    "path-is-absolute": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
-      "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
-      "dev": true
-    },
-    "path-is-inside": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz",
-      "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=",
-      "dev": true
-    },
-    "path-key": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
-      "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
-      "dev": true
-    },
-    "path-parse": {
-      "version": "1.0.6",
-      "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
-      "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==",
-      "dev": true
-    },
-    "path-to-regexp": {
-      "version": "0.1.7",
-      "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
-      "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=",
-      "dev": true
-    },
-    "path-type": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz",
-      "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=",
-      "dev": true,
-      "requires": {
-        "pify": "^2.0.0"
-      },
-      "dependencies": {
-        "pify": {
-          "version": "2.3.0",
-          "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
-          "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
-          "dev": true
-        }
-      }
-    },
-    "pbkdf2": {
-      "version": "3.0.17",
-      "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz",
-      "integrity": "sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==",
-      "dev": true,
-      "requires": {
-        "create-hash": "^1.1.2",
-        "create-hmac": "^1.1.4",
-        "ripemd160": "^2.0.1",
-        "safe-buffer": "^5.0.1",
-        "sha.js": "^2.4.8"
-      }
-    },
-    "pify": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
-      "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
-      "dev": true
-    },
-    "pinkie": {
-      "version": "2.0.4",
-      "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
-      "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=",
-      "dev": true
-    },
-    "pinkie-promise": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
-      "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
-      "dev": true,
-      "requires": {
-        "pinkie": "^2.0.0"
-      }
-    },
-    "pkg-dir": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz",
-      "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=",
-      "dev": true,
-      "requires": {
-        "find-up": "^2.1.0"
-      }
-    },
-    "popper.js": {
-      "version": "1.16.0",
-      "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.16.0.tgz",
-      "integrity": "sha512-+G+EkOPoE5S/zChTpmBSSDYmhXJ5PsW8eMhH8cP/CQHMFPBG/kC9Y5IIw6qNYgdJ+/COf0ddY2li28iHaZRSjw=="
-    },
-    "portal-vue": {
-      "version": "2.1.6",
-      "resolved": "https://registry.npmjs.org/portal-vue/-/portal-vue-2.1.6.tgz",
-      "integrity": "sha512-lvCF85D4e8whd0nN32D8FqKwwkk7nYUI3Ku8UAEx4Z1reomu75dv5evRUTZNaj1EalxxWNXiNl0EHRq36fG8WA=="
-    },
-    "portfinder": {
-      "version": "1.0.25",
-      "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.25.tgz",
-      "integrity": "sha512-6ElJnHBbxVA1XSLgBp7G1FiCkQdlqGzuF7DswL5tcea+E8UpuvPU7beVAjjRwCioTS9ZluNbu+ZyRvgTsmqEBg==",
-      "dev": true,
-      "requires": {
-        "async": "^2.6.2",
-        "debug": "^3.1.1",
-        "mkdirp": "^0.5.1"
-      },
-      "dependencies": {
-        "debug": {
-          "version": "3.2.6",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
-          "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
-          "dev": true,
-          "requires": {
-            "ms": "^2.1.1"
-          }
-        },
-        "ms": {
-          "version": "2.1.2",
-          "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
-          "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
-          "dev": true
-        }
-      }
-    },
-    "posix-character-classes": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
-      "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=",
-      "dev": true
-    },
-    "postcss": {
-      "version": "5.2.18",
-      "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
-      "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
-      "dev": true,
-      "requires": {
-        "chalk": "^1.1.3",
-        "js-base64": "^2.1.9",
-        "source-map": "^0.5.6",
-        "supports-color": "^3.2.3"
-      },
-      "dependencies": {
-        "supports-color": {
-          "version": "3.2.3",
-          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
-          "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
-          "dev": true,
-          "requires": {
-            "has-flag": "^1.0.0"
-          }
-        }
-      }
-    },
-    "postcss-calc": {
-      "version": "5.3.1",
-      "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-5.3.1.tgz",
-      "integrity": "sha1-d7rnypKK2FcW4v2kLyYb98HWW14=",
-      "dev": true,
-      "requires": {
-        "postcss": "^5.0.2",
-        "postcss-message-helpers": "^2.0.0",
-        "reduce-css-calc": "^1.2.6"
-      }
-    },
-    "postcss-colormin": {
-      "version": "2.2.2",
-      "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-2.2.2.tgz",
-      "integrity": "sha1-ZjFBfV8OkJo9fsJrJMio0eT5bks=",
-      "dev": true,
-      "requires": {
-        "colormin": "^1.0.5",
-        "postcss": "^5.0.13",
-        "postcss-value-parser": "^3.2.3"
-      }
-    },
-    "postcss-convert-values": {
-      "version": "2.6.1",
-      "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-2.6.1.tgz",
-      "integrity": "sha1-u9hZPFwf0uPRwyK7kl3K6Nrk1i0=",
-      "dev": true,
-      "requires": {
-        "postcss": "^5.0.11",
-        "postcss-value-parser": "^3.1.2"
-      }
-    },
-    "postcss-discard-comments": {
-      "version": "2.0.4",
-      "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-2.0.4.tgz",
-      "integrity": "sha1-vv6J+v1bPazlzM5Rt2uBUUvgDj0=",
-      "dev": true,
-      "requires": {
-        "postcss": "^5.0.14"
-      }
-    },
-    "postcss-discard-duplicates": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-2.1.0.tgz",
-      "integrity": "sha1-uavye4isGIFYpesSq8riAmO5GTI=",
-      "dev": true,
-      "requires": {
-        "postcss": "^5.0.4"
-      }
-    },
-    "postcss-discard-empty": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-2.1.0.tgz",
-      "integrity": "sha1-0rS9nVztXr2Nyt52QMfXzX9PkrU=",
-      "dev": true,
-      "requires": {
-        "postcss": "^5.0.14"
-      }
-    },
-    "postcss-discard-overridden": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-0.1.1.tgz",
-      "integrity": "sha1-ix6vVU9ob7KIzYdMVWZ7CqNmjVg=",
-      "dev": true,
-      "requires": {
-        "postcss": "^5.0.16"
-      }
-    },
-    "postcss-discard-unused": {
-      "version": "2.2.3",
-      "resolved": "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-2.2.3.tgz",
-      "integrity": "sha1-vOMLLMWR/8Y0Mitfs0ZLbZNPRDM=",
-      "dev": true,
-      "requires": {
-        "postcss": "^5.0.14",
-        "uniqs": "^2.0.0"
-      }
-    },
-    "postcss-filter-plugins": {
-      "version": "2.0.3",
-      "resolved": "https://registry.npmjs.org/postcss-filter-plugins/-/postcss-filter-plugins-2.0.3.tgz",
-      "integrity": "sha512-T53GVFsdinJhgwm7rg1BzbeBRomOg9y5MBVhGcsV0CxurUdVj1UlPdKtn7aqYA/c/QVkzKMjq2bSV5dKG5+AwQ==",
-      "dev": true,
-      "requires": {
-        "postcss": "^5.0.4"
-      }
-    },
-    "postcss-load-config": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-1.2.0.tgz",
-      "integrity": "sha1-U56a/J3chiASHr+djDZz4M5Q0oo=",
-      "dev": true,
-      "requires": {
-        "cosmiconfig": "^2.1.0",
-        "object-assign": "^4.1.0",
-        "postcss-load-options": "^1.2.0",
-        "postcss-load-plugins": "^2.3.0"
-      }
-    },
-    "postcss-load-options": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/postcss-load-options/-/postcss-load-options-1.2.0.tgz",
-      "integrity": "sha1-sJixVZ3awt8EvAuzdfmaXP4rbYw=",
-      "dev": true,
-      "requires": {
-        "cosmiconfig": "^2.1.0",
-        "object-assign": "^4.1.0"
-      }
-    },
-    "postcss-load-plugins": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmjs.org/postcss-load-plugins/-/postcss-load-plugins-2.3.0.tgz",
-      "integrity": "sha1-dFdoEWWZrKLwCfrUJrABdQSdjZI=",
-      "dev": true,
-      "requires": {
-        "cosmiconfig": "^2.1.1",
-        "object-assign": "^4.1.0"
-      }
-    },
-    "postcss-merge-idents": {
-      "version": "2.1.7",
-      "resolved": "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-2.1.7.tgz",
-      "integrity": "sha1-TFUwMTwI4dWzu/PSu8dH4njuonA=",
-      "dev": true,
-      "requires": {
-        "has": "^1.0.1",
-        "postcss": "^5.0.10",
-        "postcss-value-parser": "^3.1.1"
-      }
-    },
-    "postcss-merge-longhand": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-2.0.2.tgz",
-      "integrity": "sha1-I9kM0Sewp3mUkVMyc5A0oaTz1lg=",
-      "dev": true,
-      "requires": {
-        "postcss": "^5.0.4"
-      }
-    },
-    "postcss-merge-rules": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-2.1.2.tgz",
-      "integrity": "sha1-0d9d+qexrMO+VT8OnhDofGG19yE=",
-      "dev": true,
-      "requires": {
-        "browserslist": "^1.5.2",
-        "caniuse-api": "^1.5.2",
-        "postcss": "^5.0.4",
-        "postcss-selector-parser": "^2.2.2",
-        "vendors": "^1.0.0"
-      },
-      "dependencies": {
-        "browserslist": {
-          "version": "1.7.7",
-          "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz",
-          "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=",
-          "dev": true,
-          "requires": {
-            "caniuse-db": "^1.0.30000639",
-            "electron-to-chromium": "^1.2.7"
-          }
-        }
-      }
-    },
-    "postcss-message-helpers": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/postcss-message-helpers/-/postcss-message-helpers-2.0.0.tgz",
-      "integrity": "sha1-pPL0+rbk/gAvCu0ABHjN9S+bpg4=",
-      "dev": true
-    },
-    "postcss-minify-font-values": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-1.0.5.tgz",
-      "integrity": "sha1-S1jttWZB66fIR0qzUmyv17vey2k=",
-      "dev": true,
-      "requires": {
-        "object-assign": "^4.0.1",
-        "postcss": "^5.0.4",
-        "postcss-value-parser": "^3.0.2"
-      }
-    },
-    "postcss-minify-gradients": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-1.0.5.tgz",
-      "integrity": "sha1-Xb2hE3NwP4PPtKPqOIHY11/15uE=",
-      "dev": true,
-      "requires": {
-        "postcss": "^5.0.12",
-        "postcss-value-parser": "^3.3.0"
-      }
-    },
-    "postcss-minify-params": {
-      "version": "1.2.2",
-      "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-1.2.2.tgz",
-      "integrity": "sha1-rSzgcTc7lDs9kwo/pZo1jCjW8fM=",
-      "dev": true,
-      "requires": {
-        "alphanum-sort": "^1.0.1",
-        "postcss": "^5.0.2",
-        "postcss-value-parser": "^3.0.2",
-        "uniqs": "^2.0.0"
-      }
-    },
-    "postcss-minify-selectors": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-2.1.1.tgz",
-      "integrity": "sha1-ssapjAByz5G5MtGkllCBFDEXNb8=",
-      "dev": true,
-      "requires": {
-        "alphanum-sort": "^1.0.2",
-        "has": "^1.0.1",
-        "postcss": "^5.0.14",
-        "postcss-selector-parser": "^2.0.0"
-      }
-    },
-    "postcss-modules-extract-imports": {
-      "version": "1.2.1",
-      "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.2.1.tgz",
-      "integrity": "sha512-6jt9XZwUhwmRUhb/CkyJY020PYaPJsCyt3UjbaWo6XEbH/94Hmv6MP7fG2C5NDU/BcHzyGYxNtHvM+LTf9HrYw==",
-      "dev": true,
-      "requires": {
-        "postcss": "^6.0.1"
-      },
-      "dependencies": {
-        "ansi-styles": {
-          "version": "3.2.1",
-          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
-          "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
-          "dev": true,
-          "requires": {
-            "color-convert": "^1.9.0"
-          }
-        },
-        "chalk": {
-          "version": "2.4.2",
-          "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
-          "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
-          "dev": true,
-          "requires": {
-            "ansi-styles": "^3.2.1",
-            "escape-string-regexp": "^1.0.5",
-            "supports-color": "^5.3.0"
-          }
-        },
-        "has-flag": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
-          "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
-          "dev": true
-        },
-        "postcss": {
-          "version": "6.0.23",
-          "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
-          "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
-          "dev": true,
-          "requires": {
-            "chalk": "^2.4.1",
-            "source-map": "^0.6.1",
-            "supports-color": "^5.4.0"
-          }
-        },
-        "source-map": {
-          "version": "0.6.1",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
-          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
-          "dev": true
-        },
-        "supports-color": {
-          "version": "5.5.0",
-          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
-          "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
-          "dev": true,
-          "requires": {
-            "has-flag": "^3.0.0"
-          }
-        }
-      }
-    },
-    "postcss-modules-local-by-default": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz",
-      "integrity": "sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk=",
-      "dev": true,
-      "requires": {
-        "css-selector-tokenizer": "^0.7.0",
-        "postcss": "^6.0.1"
-      },
-      "dependencies": {
-        "ansi-styles": {
-          "version": "3.2.1",
-          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
-          "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
-          "dev": true,
-          "requires": {
-            "color-convert": "^1.9.0"
-          }
-        },
-        "chalk": {
-          "version": "2.4.2",
-          "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
-          "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
-          "dev": true,
-          "requires": {
-            "ansi-styles": "^3.2.1",
-            "escape-string-regexp": "^1.0.5",
-            "supports-color": "^5.3.0"
-          }
-        },
-        "has-flag": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
-          "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
-          "dev": true
-        },
-        "postcss": {
-          "version": "6.0.23",
-          "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
-          "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
-          "dev": true,
-          "requires": {
-            "chalk": "^2.4.1",
-            "source-map": "^0.6.1",
-            "supports-color": "^5.4.0"
-          }
-        },
-        "source-map": {
-          "version": "0.6.1",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
-          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
-          "dev": true
-        },
-        "supports-color": {
-          "version": "5.5.0",
-          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
-          "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
-          "dev": true,
-          "requires": {
-            "has-flag": "^3.0.0"
-          }
-        }
-      }
-    },
-    "postcss-modules-scope": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz",
-      "integrity": "sha1-1upkmUx5+XtipytCb75gVqGUu5A=",
-      "dev": true,
-      "requires": {
-        "css-selector-tokenizer": "^0.7.0",
-        "postcss": "^6.0.1"
-      },
-      "dependencies": {
-        "ansi-styles": {
-          "version": "3.2.1",
-          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
-          "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
-          "dev": true,
-          "requires": {
-            "color-convert": "^1.9.0"
-          }
-        },
-        "chalk": {
-          "version": "2.4.2",
-          "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
-          "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
-          "dev": true,
-          "requires": {
-            "ansi-styles": "^3.2.1",
-            "escape-string-regexp": "^1.0.5",
-            "supports-color": "^5.3.0"
-          }
-        },
-        "has-flag": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
-          "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
-          "dev": true
-        },
-        "postcss": {
-          "version": "6.0.23",
-          "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
-          "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
-          "dev": true,
-          "requires": {
-            "chalk": "^2.4.1",
-            "source-map": "^0.6.1",
-            "supports-color": "^5.4.0"
-          }
-        },
-        "source-map": {
-          "version": "0.6.1",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
-          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
-          "dev": true
-        },
-        "supports-color": {
-          "version": "5.5.0",
-          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
-          "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
-          "dev": true,
-          "requires": {
-            "has-flag": "^3.0.0"
-          }
-        }
-      }
-    },
-    "postcss-modules-values": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz",
-      "integrity": "sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA=",
-      "dev": true,
-      "requires": {
-        "icss-replace-symbols": "^1.1.0",
-        "postcss": "^6.0.1"
-      },
-      "dependencies": {
-        "ansi-styles": {
-          "version": "3.2.1",
-          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
-          "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
-          "dev": true,
-          "requires": {
-            "color-convert": "^1.9.0"
-          }
-        },
-        "chalk": {
-          "version": "2.4.2",
-          "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
-          "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
-          "dev": true,
-          "requires": {
-            "ansi-styles": "^3.2.1",
-            "escape-string-regexp": "^1.0.5",
-            "supports-color": "^5.3.0"
-          }
-        },
-        "has-flag": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
-          "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
-          "dev": true
-        },
-        "postcss": {
-          "version": "6.0.23",
-          "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
-          "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
-          "dev": true,
-          "requires": {
-            "chalk": "^2.4.1",
-            "source-map": "^0.6.1",
-            "supports-color": "^5.4.0"
-          }
-        },
-        "source-map": {
-          "version": "0.6.1",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
-          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
-          "dev": true
-        },
-        "supports-color": {
-          "version": "5.5.0",
-          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
-          "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
-          "dev": true,
-          "requires": {
-            "has-flag": "^3.0.0"
-          }
-        }
-      }
-    },
-    "postcss-normalize-charset": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-1.1.1.tgz",
-      "integrity": "sha1-757nEhLX/nWceO0WL2HtYrXLk/E=",
-      "dev": true,
-      "requires": {
-        "postcss": "^5.0.5"
-      }
-    },
-    "postcss-normalize-url": {
-      "version": "3.0.8",
-      "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-3.0.8.tgz",
-      "integrity": "sha1-EI90s/L82viRov+j6kWSJ5/HgiI=",
-      "dev": true,
-      "requires": {
-        "is-absolute-url": "^2.0.0",
-        "normalize-url": "^1.4.0",
-        "postcss": "^5.0.14",
-        "postcss-value-parser": "^3.2.3"
-      }
-    },
-    "postcss-ordered-values": {
-      "version": "2.2.3",
-      "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-2.2.3.tgz",
-      "integrity": "sha1-7sbCpntsQSqNsgQud/6NpD+VwR0=",
-      "dev": true,
-      "requires": {
-        "postcss": "^5.0.4",
-        "postcss-value-parser": "^3.0.1"
-      }
-    },
-    "postcss-reduce-idents": {
-      "version": "2.4.0",
-      "resolved": "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-2.4.0.tgz",
-      "integrity": "sha1-wsbSDMlYKE9qv75j92Cb9AkFmtM=",
-      "dev": true,
-      "requires": {
-        "postcss": "^5.0.4",
-        "postcss-value-parser": "^3.0.2"
-      }
-    },
-    "postcss-reduce-initial": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-1.0.1.tgz",
-      "integrity": "sha1-aPgGlfBF0IJjqHmtJA343WT2ROo=",
-      "dev": true,
-      "requires": {
-        "postcss": "^5.0.4"
-      }
-    },
-    "postcss-reduce-transforms": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-1.0.4.tgz",
-      "integrity": "sha1-/3b02CEkN7McKYpC0uFEQCV3GuE=",
-      "dev": true,
-      "requires": {
-        "has": "^1.0.1",
-        "postcss": "^5.0.8",
-        "postcss-value-parser": "^3.0.1"
-      }
-    },
-    "postcss-selector-parser": {
-      "version": "2.2.3",
-      "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz",
-      "integrity": "sha1-+UN3iGBsPJrO4W/+jYsWKX8nu5A=",
-      "dev": true,
-      "requires": {
-        "flatten": "^1.0.2",
-        "indexes-of": "^1.0.1",
-        "uniq": "^1.0.1"
-      }
-    },
-    "postcss-svgo": {
-      "version": "2.1.6",
-      "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-2.1.6.tgz",
-      "integrity": "sha1-tt8YqmE7Zm4TPwittSGcJoSsEI0=",
-      "dev": true,
-      "requires": {
-        "is-svg": "^2.0.0",
-        "postcss": "^5.0.14",
-        "postcss-value-parser": "^3.2.3",
-        "svgo": "^0.7.0"
-      }
-    },
-    "postcss-unique-selectors": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-2.0.2.tgz",
-      "integrity": "sha1-mB1X0p3csz57Hf4f1DuGSfkzyh0=",
-      "dev": true,
-      "requires": {
-        "alphanum-sort": "^1.0.1",
-        "postcss": "^5.0.4",
-        "uniqs": "^2.0.0"
-      }
-    },
-    "postcss-value-parser": {
-      "version": "3.3.1",
-      "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
-      "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
-      "dev": true
-    },
-    "postcss-zindex": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-2.2.0.tgz",
-      "integrity": "sha1-0hCd3AVbka9n/EyzsCWUZjnSryI=",
-      "dev": true,
-      "requires": {
-        "has": "^1.0.1",
-        "postcss": "^5.0.4",
-        "uniqs": "^2.0.0"
-      }
-    },
-    "prepend-http": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz",
-      "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=",
-      "dev": true
-    },
-    "prettier": {
-      "version": "1.18.2",
-      "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.18.2.tgz",
-      "integrity": "sha512-OeHeMc0JhFE9idD4ZdtNibzY0+TPHSpSSb9h8FqtP+YnoZZ1sl8Vc9b1sasjfymH3SonAF4QcA2+mzHPhMvIiw==",
-      "dev": true
-    },
-    "prism-es6": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/prism-es6/-/prism-es6-1.2.0.tgz",
-      "integrity": "sha512-A8JV9G2zKM8PWksT7YJcmnaWtYO6C9hSfxM/xv0RxB2aNc8rjv30WakzIw1gWyqLi2eiqquo2KmS7orxqlm+yg=="
-    },
-    "private": {
-      "version": "0.1.8",
-      "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz",
-      "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==",
-      "dev": true
-    },
-    "process": {
-      "version": "0.11.10",
-      "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
-      "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=",
-      "dev": true
-    },
-    "process-nextick-args": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
-      "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
-      "dev": true
-    },
-    "proxy-addr": {
-      "version": "2.0.5",
-      "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.5.tgz",
-      "integrity": "sha512-t/7RxHXPH6cJtP0pRG6smSr9QJidhB+3kXu0KgXnbGYMgzEnUxRQ4/LDdfOwZEMyIh3/xHb8PX3t+lfL9z+YVQ==",
-      "dev": true,
-      "requires": {
-        "forwarded": "~0.1.2",
-        "ipaddr.js": "1.9.0"
-      }
-    },
-    "prr": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz",
-      "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=",
-      "dev": true
-    },
-    "pseudomap": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
-      "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=",
-      "dev": true
-    },
-    "public-encrypt": {
-      "version": "4.0.3",
-      "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz",
-      "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==",
-      "dev": true,
-      "requires": {
-        "bn.js": "^4.1.0",
-        "browserify-rsa": "^4.0.0",
-        "create-hash": "^1.1.0",
-        "parse-asn1": "^5.0.0",
-        "randombytes": "^2.0.1",
-        "safe-buffer": "^5.1.2"
-      }
-    },
-    "punycode": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
-      "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
-      "dev": true
-    },
-    "q": {
-      "version": "1.5.1",
-      "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz",
-      "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=",
-      "dev": true
-    },
-    "qs": {
-      "version": "6.7.0",
-      "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz",
-      "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==",
-      "dev": true
-    },
-    "query-string": {
-      "version": "4.3.4",
-      "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz",
-      "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=",
-      "dev": true,
-      "requires": {
-        "object-assign": "^4.1.0",
-        "strict-uri-encode": "^1.0.0"
-      }
-    },
-    "querystring": {
-      "version": "0.2.0",
-      "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz",
-      "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=",
-      "dev": true
-    },
-    "querystring-es3": {
-      "version": "0.2.1",
-      "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz",
-      "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=",
-      "dev": true
-    },
-    "querystringify": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.1.1.tgz",
-      "integrity": "sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA==",
-      "dev": true
-    },
-    "randombytes": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
-      "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
-      "dev": true,
-      "requires": {
-        "safe-buffer": "^5.1.0"
-      }
-    },
-    "randomfill": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz",
-      "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==",
-      "dev": true,
-      "requires": {
-        "randombytes": "^2.0.5",
-        "safe-buffer": "^5.1.0"
-      }
-    },
-    "range-parser": {
-      "version": "1.2.1",
-      "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
-      "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==",
-      "dev": true
-    },
-    "raw-body": {
-      "version": "2.4.0",
-      "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz",
-      "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==",
-      "dev": true,
-      "requires": {
-        "bytes": "3.1.0",
-        "http-errors": "1.7.2",
-        "iconv-lite": "0.4.24",
-        "unpipe": "1.0.0"
-      },
-      "dependencies": {
-        "bytes": {
-          "version": "3.1.0",
-          "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz",
-          "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==",
-          "dev": true
-        }
-      }
-    },
-    "read-pkg": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz",
-      "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=",
-      "dev": true,
-      "requires": {
-        "load-json-file": "^2.0.0",
-        "normalize-package-data": "^2.3.2",
-        "path-type": "^2.0.0"
-      }
-    },
-    "read-pkg-up": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz",
-      "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=",
-      "dev": true,
-      "requires": {
-        "find-up": "^2.0.0",
-        "read-pkg": "^2.0.0"
-      }
-    },
-    "readable-stream": {
-      "version": "2.3.6",
-      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
-      "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
-      "dev": true,
-      "requires": {
-        "core-util-is": "~1.0.0",
-        "inherits": "~2.0.3",
-        "isarray": "~1.0.0",
-        "process-nextick-args": "~2.0.0",
-        "safe-buffer": "~5.1.1",
-        "string_decoder": "~1.1.1",
-        "util-deprecate": "~1.0.1"
-      }
-    },
-    "readdirp": {
-      "version": "2.2.1",
-      "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz",
-      "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==",
-      "dev": true,
-      "requires": {
-        "graceful-fs": "^4.1.11",
-        "micromatch": "^3.1.10",
-        "readable-stream": "^2.0.2"
-      }
-    },
-    "redent": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz",
-      "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=",
-      "dev": true,
-      "requires": {
-        "indent-string": "^2.1.0",
-        "strip-indent": "^1.0.1"
-      }
-    },
-    "reduce-css-calc": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-1.3.0.tgz",
-      "integrity": "sha1-dHyRTgSWFKTJz7umKYca0dKSdxY=",
-      "dev": true,
-      "requires": {
-        "balanced-match": "^0.4.2",
-        "math-expression-evaluator": "^1.2.14",
-        "reduce-function-call": "^1.0.1"
-      },
-      "dependencies": {
-        "balanced-match": {
-          "version": "0.4.2",
-          "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz",
-          "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=",
-          "dev": true
-        }
-      }
-    },
-    "reduce-function-call": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/reduce-function-call/-/reduce-function-call-1.0.3.tgz",
-      "integrity": "sha512-Hl/tuV2VDgWgCSEeWMLwxLZqX7OK59eU1guxXsRKTAyeYimivsKdtcV4fu3r710tpG5GmDKDhQ0HSZLExnNmyQ==",
-      "dev": true,
-      "requires": {
-        "balanced-match": "^1.0.0"
-      }
-    },
-    "regenerate": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz",
-      "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==",
-      "dev": true
-    },
-    "regenerator-runtime": {
-      "version": "0.11.1",
-      "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz",
-      "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==",
-      "dev": true
-    },
-    "regenerator-transform": {
-      "version": "0.10.1",
-      "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.10.1.tgz",
-      "integrity": "sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==",
-      "dev": true,
-      "requires": {
-        "babel-runtime": "^6.18.0",
-        "babel-types": "^6.19.0",
-        "private": "^0.1.6"
-      }
-    },
-    "regex-not": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
-      "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
-      "dev": true,
-      "requires": {
-        "extend-shallow": "^3.0.2",
-        "safe-regex": "^1.1.0"
-      }
-    },
-    "regexp.prototype.flags": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.2.0.tgz",
-      "integrity": "sha512-ztaw4M1VqgMwl9HlPpOuiYgItcHlunW0He2fE6eNfT6E/CF2FtYi9ofOYe4mKntstYk0Fyh/rDRBdS3AnxjlrA==",
-      "dev": true,
-      "requires": {
-        "define-properties": "^1.1.2"
-      }
-    },
-    "regexpu-core": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz",
-      "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=",
-      "dev": true,
-      "requires": {
-        "regenerate": "^1.2.1",
-        "regjsgen": "^0.2.0",
-        "regjsparser": "^0.1.4"
-      }
-    },
-    "regjsgen": {
-      "version": "0.2.0",
-      "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz",
-      "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=",
-      "dev": true
-    },
-    "regjsparser": {
-      "version": "0.1.5",
-      "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz",
-      "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=",
-      "dev": true,
-      "requires": {
-        "jsesc": "~0.5.0"
-      },
-      "dependencies": {
-        "jsesc": {
-          "version": "0.5.0",
-          "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
-          "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=",
-          "dev": true
-        }
-      }
-    },
-    "remove-trailing-separator": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
-      "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=",
-      "dev": true
-    },
-    "repeat-element": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz",
-      "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==",
-      "dev": true
-    },
-    "repeat-string": {
-      "version": "1.6.1",
-      "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
-      "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
-      "dev": true
-    },
-    "repeating": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz",
-      "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=",
-      "dev": true,
-      "requires": {
-        "is-finite": "^1.0.0"
-      }
-    },
-    "require-directory": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
-      "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
-      "dev": true
-    },
-    "require-from-string": {
-      "version": "1.2.1",
-      "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-1.2.1.tgz",
-      "integrity": "sha1-UpyczvJzgK3+yaL5ZbZJu+5jZBg=",
-      "dev": true
-    },
-    "require-main-filename": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz",
-      "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=",
-      "dev": true
-    },
-    "requires-port": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
-      "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=",
-      "dev": true
-    },
-    "resolve": {
-      "version": "1.12.0",
-      "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.12.0.tgz",
-      "integrity": "sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w==",
-      "dev": true,
-      "requires": {
-        "path-parse": "^1.0.6"
-      }
-    },
-    "resolve-cwd": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz",
-      "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=",
-      "dev": true,
-      "requires": {
-        "resolve-from": "^3.0.0"
-      }
-    },
-    "resolve-from": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz",
-      "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=",
-      "dev": true
-    },
-    "resolve-url": {
-      "version": "0.2.1",
-      "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
-      "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=",
-      "dev": true
-    },
-    "ret": {
-      "version": "0.1.15",
-      "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
-      "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==",
-      "dev": true
-    },
-    "right-align": {
-      "version": "0.1.3",
-      "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz",
-      "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=",
-      "dev": true,
-      "requires": {
-        "align-text": "^0.1.1"
-      }
-    },
-    "rimraf": {
-      "version": "2.7.1",
-      "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
-      "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
-      "dev": true,
-      "requires": {
-        "glob": "^7.1.3"
-      }
-    },
-    "ripemd160": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz",
-      "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==",
-      "dev": true,
-      "requires": {
-        "hash-base": "^3.0.0",
-        "inherits": "^2.0.1"
-      }
-    },
-    "safe-buffer": {
-      "version": "5.1.2",
-      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
-      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
-      "dev": true
-    },
-    "safe-regex": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
-      "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
-      "dev": true,
-      "requires": {
-        "ret": "~0.1.10"
-      }
-    },
-    "safer-buffer": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
-      "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
-      "dev": true
-    },
-    "sax": {
-      "version": "1.2.4",
-      "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
-      "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==",
-      "dev": true
-    },
-    "schema-utils": {
-      "version": "0.4.7",
-      "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.7.tgz",
-      "integrity": "sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==",
-      "dev": true,
-      "requires": {
-        "ajv": "^6.1.0",
-        "ajv-keywords": "^3.1.0"
-      }
-    },
-    "select-hose": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz",
-      "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=",
-      "dev": true
-    },
-    "selfsigned": {
-      "version": "1.10.7",
-      "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.7.tgz",
-      "integrity": "sha512-8M3wBCzeWIJnQfl43IKwOmC4H/RAp50S8DF60znzjW5GVqTcSe2vWclt7hmYVPkKPlHWOu5EaWOMZ2Y6W8ZXTA==",
-      "dev": true,
-      "requires": {
-        "node-forge": "0.9.0"
-      }
-    },
-    "semver": {
-      "version": "5.7.1",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-      "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
-      "dev": true
-    },
-    "send": {
-      "version": "0.17.1",
-      "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz",
-      "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==",
-      "dev": true,
-      "requires": {
-        "debug": "2.6.9",
-        "depd": "~1.1.2",
-        "destroy": "~1.0.4",
-        "encodeurl": "~1.0.2",
-        "escape-html": "~1.0.3",
-        "etag": "~1.8.1",
-        "fresh": "0.5.2",
-        "http-errors": "~1.7.2",
-        "mime": "1.6.0",
-        "ms": "2.1.1",
-        "on-finished": "~2.3.0",
-        "range-parser": "~1.2.1",
-        "statuses": "~1.5.0"
-      },
-      "dependencies": {
-        "ms": {
-          "version": "2.1.1",
-          "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
-          "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
-          "dev": true
-        }
-      }
-    },
-    "serve-index": {
-      "version": "1.9.1",
-      "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz",
-      "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=",
-      "dev": true,
-      "requires": {
-        "accepts": "~1.3.4",
-        "batch": "0.6.1",
-        "debug": "2.6.9",
-        "escape-html": "~1.0.3",
-        "http-errors": "~1.6.2",
-        "mime-types": "~2.1.17",
-        "parseurl": "~1.3.2"
-      },
-      "dependencies": {
-        "http-errors": {
-          "version": "1.6.3",
-          "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz",
-          "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=",
-          "dev": true,
-          "requires": {
-            "depd": "~1.1.2",
-            "inherits": "2.0.3",
-            "setprototypeof": "1.1.0",
-            "statuses": ">= 1.4.0 < 2"
-          }
-        },
-        "inherits": {
-          "version": "2.0.3",
-          "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
-          "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
-          "dev": true
-        },
-        "setprototypeof": {
-          "version": "1.1.0",
-          "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz",
-          "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==",
-          "dev": true
-        }
-      }
-    },
-    "serve-static": {
-      "version": "1.14.1",
-      "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz",
-      "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==",
-      "dev": true,
-      "requires": {
-        "encodeurl": "~1.0.2",
-        "escape-html": "~1.0.3",
-        "parseurl": "~1.3.3",
-        "send": "0.17.1"
-      }
-    },
-    "set-blocking": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
-      "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
-      "dev": true
-    },
-    "set-value": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz",
-      "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==",
-      "dev": true,
-      "requires": {
-        "extend-shallow": "^2.0.1",
-        "is-extendable": "^0.1.1",
-        "is-plain-object": "^2.0.3",
-        "split-string": "^3.0.1"
-      },
-      "dependencies": {
-        "extend-shallow": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
-          "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-          "dev": true,
-          "requires": {
-            "is-extendable": "^0.1.0"
-          }
-        }
-      }
-    },
-    "setimmediate": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
-      "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=",
-      "dev": true
-    },
-    "setprototypeof": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz",
-      "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==",
-      "dev": true
-    },
-    "sha.js": {
-      "version": "2.4.11",
-      "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz",
-      "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==",
-      "dev": true,
-      "requires": {
-        "inherits": "^2.0.1",
-        "safe-buffer": "^5.0.1"
-      }
-    },
-    "shebang-command": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
-      "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
-      "dev": true,
-      "requires": {
-        "shebang-regex": "^1.0.0"
-      }
-    },
-    "shebang-regex": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
-      "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
-      "dev": true
-    },
-    "signal-exit": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
-      "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
-      "dev": true
-    },
-    "slash": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz",
-      "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=",
-      "dev": true
-    },
-    "snapdragon": {
-      "version": "0.8.2",
-      "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
-      "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
-      "dev": true,
-      "requires": {
-        "base": "^0.11.1",
-        "debug": "^2.2.0",
-        "define-property": "^0.2.5",
-        "extend-shallow": "^2.0.1",
-        "map-cache": "^0.2.2",
-        "source-map": "^0.5.6",
-        "source-map-resolve": "^0.5.0",
-        "use": "^3.1.0"
-      },
-      "dependencies": {
-        "define-property": {
-          "version": "0.2.5",
-          "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
-          "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
-          "dev": true,
-          "requires": {
-            "is-descriptor": "^0.1.0"
-          }
-        },
-        "extend-shallow": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
-          "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-          "dev": true,
-          "requires": {
-            "is-extendable": "^0.1.0"
-          }
-        }
-      }
-    },
-    "snapdragon-node": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
-      "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
-      "dev": true,
-      "requires": {
-        "define-property": "^1.0.0",
-        "isobject": "^3.0.0",
-        "snapdragon-util": "^3.0.1"
-      },
-      "dependencies": {
-        "define-property": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
-          "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
-          "dev": true,
-          "requires": {
-            "is-descriptor": "^1.0.0"
-          }
-        },
-        "is-accessor-descriptor": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
-          "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
-          "dev": true,
-          "requires": {
-            "kind-of": "^6.0.0"
-          }
-        },
-        "is-data-descriptor": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
-          "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
-          "dev": true,
-          "requires": {
-            "kind-of": "^6.0.0"
-          }
-        },
-        "is-descriptor": {
-          "version": "1.0.2",
-          "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
-          "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
-          "dev": true,
-          "requires": {
-            "is-accessor-descriptor": "^1.0.0",
-            "is-data-descriptor": "^1.0.0",
-            "kind-of": "^6.0.2"
-          }
-        },
-        "kind-of": {
-          "version": "6.0.2",
-          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
-          "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
-          "dev": true
-        }
-      }
-    },
-    "snapdragon-util": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
-      "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
-      "dev": true,
-      "requires": {
-        "kind-of": "^3.2.0"
-      }
-    },
-    "sockjs": {
-      "version": "0.3.19",
-      "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.19.tgz",
-      "integrity": "sha512-V48klKZl8T6MzatbLlzzRNhMepEys9Y4oGFpypBFFn1gLI/QQ9HtLLyWJNbPlwGLelOVOEijUbTTJeLLI59jLw==",
-      "dev": true,
-      "requires": {
-        "faye-websocket": "^0.10.0",
-        "uuid": "^3.0.1"
-      }
-    },
-    "sockjs-client": {
-      "version": "1.1.5",
-      "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.1.5.tgz",
-      "integrity": "sha1-G7fA9yIsQPQq3xT0RCy9Eml3GoM=",
-      "dev": true,
-      "requires": {
-        "debug": "^2.6.6",
-        "eventsource": "0.1.6",
-        "faye-websocket": "~0.11.0",
-        "inherits": "^2.0.1",
-        "json3": "^3.3.2",
-        "url-parse": "^1.1.8"
-      },
-      "dependencies": {
-        "faye-websocket": {
-          "version": "0.11.3",
-          "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz",
-          "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==",
-          "dev": true,
-          "requires": {
-            "websocket-driver": ">=0.5.1"
-          }
-        }
-      }
-    },
-    "sort-keys": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz",
-      "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=",
-      "dev": true,
-      "requires": {
-        "is-plain-obj": "^1.0.0"
-      }
-    },
-    "source-list-map": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz",
-      "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==",
-      "dev": true
-    },
-    "source-map": {
-      "version": "0.5.7",
-      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
-      "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
-      "dev": true
-    },
-    "source-map-resolve": {
-      "version": "0.5.2",
-      "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz",
-      "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==",
-      "dev": true,
-      "requires": {
-        "atob": "^2.1.1",
-        "decode-uri-component": "^0.2.0",
-        "resolve-url": "^0.2.1",
-        "source-map-url": "^0.4.0",
-        "urix": "^0.1.0"
-      }
-    },
-    "source-map-support": {
-      "version": "0.4.18",
-      "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz",
-      "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==",
-      "dev": true,
-      "requires": {
-        "source-map": "^0.5.6"
-      }
-    },
-    "source-map-url": {
-      "version": "0.4.0",
-      "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz",
-      "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=",
-      "dev": true
-    },
-    "spdx-correct": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz",
-      "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==",
-      "dev": true,
-      "requires": {
-        "spdx-expression-parse": "^3.0.0",
-        "spdx-license-ids": "^3.0.0"
-      }
-    },
-    "spdx-exceptions": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz",
-      "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==",
-      "dev": true
-    },
-    "spdx-expression-parse": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz",
-      "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==",
-      "dev": true,
-      "requires": {
-        "spdx-exceptions": "^2.1.0",
-        "spdx-license-ids": "^3.0.0"
-      }
-    },
-    "spdx-license-ids": {
-      "version": "3.0.5",
-      "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz",
-      "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==",
-      "dev": true
-    },
-    "spdy": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.1.tgz",
-      "integrity": "sha512-HeZS3PBdMA+sZSu0qwpCxl3DeALD5ASx8pAX0jZdKXSpPWbQ6SYGnlg3BBmYLx5LtiZrmkAZfErCm2oECBcioA==",
-      "dev": true,
-      "requires": {
-        "debug": "^4.1.0",
-        "handle-thing": "^2.0.0",
-        "http-deceiver": "^1.2.7",
-        "select-hose": "^2.0.0",
-        "spdy-transport": "^3.0.0"
-      },
-      "dependencies": {
-        "debug": {
-          "version": "4.1.1",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
-          "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
-          "dev": true,
-          "requires": {
-            "ms": "^2.1.1"
-          }
-        },
-        "ms": {
-          "version": "2.1.2",
-          "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
-          "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
-          "dev": true
-        }
-      }
-    },
-    "spdy-transport": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz",
-      "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==",
-      "dev": true,
-      "requires": {
-        "debug": "^4.1.0",
-        "detect-node": "^2.0.4",
-        "hpack.js": "^2.1.6",
-        "obuf": "^1.1.2",
-        "readable-stream": "^3.0.6",
-        "wbuf": "^1.7.3"
-      },
-      "dependencies": {
-        "debug": {
-          "version": "4.1.1",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
-          "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
-          "dev": true,
-          "requires": {
-            "ms": "^2.1.1"
-          }
-        },
-        "ms": {
-          "version": "2.1.2",
-          "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
-          "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
-          "dev": true
-        },
-        "readable-stream": {
-          "version": "3.4.0",
-          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz",
-          "integrity": "sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==",
-          "dev": true,
-          "requires": {
-            "inherits": "^2.0.3",
-            "string_decoder": "^1.1.1",
-            "util-deprecate": "^1.0.1"
-          }
-        }
-      }
-    },
-    "split-string": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
-      "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
-      "dev": true,
-      "requires": {
-        "extend-shallow": "^3.0.0"
-      }
-    },
-    "sprintf-js": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
-      "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
-      "dev": true
-    },
-    "static-extend": {
-      "version": "0.1.2",
-      "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
-      "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
-      "dev": true,
-      "requires": {
-        "define-property": "^0.2.5",
-        "object-copy": "^0.1.0"
-      },
-      "dependencies": {
-        "define-property": {
-          "version": "0.2.5",
-          "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
-          "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
-          "dev": true,
-          "requires": {
-            "is-descriptor": "^0.1.0"
-          }
-        }
-      }
-    },
-    "statuses": {
-      "version": "1.5.0",
-      "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
-      "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=",
-      "dev": true
-    },
-    "stream-browserify": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz",
-      "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==",
-      "dev": true,
-      "requires": {
-        "inherits": "~2.0.1",
-        "readable-stream": "^2.0.2"
-      }
-    },
-    "stream-http": {
-      "version": "2.8.3",
-      "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz",
-      "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==",
-      "dev": true,
-      "requires": {
-        "builtin-status-codes": "^3.0.0",
-        "inherits": "^2.0.1",
-        "readable-stream": "^2.3.6",
-        "to-arraybuffer": "^1.0.0",
-        "xtend": "^4.0.0"
-      }
-    },
-    "strict-uri-encode": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz",
-      "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=",
-      "dev": true
-    },
-    "string-width": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
-      "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
-      "dev": true,
-      "requires": {
-        "is-fullwidth-code-point": "^2.0.0",
-        "strip-ansi": "^4.0.0"
-      },
-      "dependencies": {
-        "ansi-regex": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
-          "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
-          "dev": true
-        },
-        "is-fullwidth-code-point": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
-          "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
-          "dev": true
-        },
-        "strip-ansi": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
-          "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
-          "dev": true,
-          "requires": {
-            "ansi-regex": "^3.0.0"
-          }
-        }
-      }
-    },
-    "string.prototype.trimleft": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.0.tgz",
-      "integrity": "sha512-FJ6b7EgdKxxbDxc79cOlok6Afd++TTs5szo+zJTUyow3ycrRfJVE2pq3vcN53XexvKZu/DJMDfeI/qMiZTrjTw==",
-      "dev": true,
-      "requires": {
-        "define-properties": "^1.1.3",
-        "function-bind": "^1.1.1"
-      }
-    },
-    "string.prototype.trimright": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.0.tgz",
-      "integrity": "sha512-fXZTSV55dNBwv16uw+hh5jkghxSnc5oHq+5K/gXgizHwAvMetdAJlHqqoFC1FSDVPYWLkAKl2cxpUT41sV7nSg==",
-      "dev": true,
-      "requires": {
-        "define-properties": "^1.1.3",
-        "function-bind": "^1.1.1"
-      }
-    },
-    "string_decoder": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-      "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-      "dev": true,
-      "requires": {
-        "safe-buffer": "~5.1.0"
-      }
-    },
-    "strip-ansi": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
-      "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
-      "dev": true,
-      "requires": {
-        "ansi-regex": "^2.0.0"
-      }
-    },
-    "strip-bom": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
-      "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
-      "dev": true
-    },
-    "strip-eof": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
-      "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=",
-      "dev": true
-    },
-    "strip-indent": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz",
-      "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=",
-      "dev": true,
-      "requires": {
-        "get-stdin": "^4.0.1"
-      }
-    },
-    "supports-color": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
-      "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
-      "dev": true
-    },
-    "svgo": {
-      "version": "0.7.2",
-      "resolved": "https://registry.npmjs.org/svgo/-/svgo-0.7.2.tgz",
-      "integrity": "sha1-n1dyQTlSE1xv779Ar+ak+qiLS7U=",
-      "dev": true,
-      "requires": {
-        "coa": "~1.0.1",
-        "colors": "~1.1.2",
-        "csso": "~2.3.1",
-        "js-yaml": "~3.7.0",
-        "mkdirp": "~0.5.1",
-        "sax": "~1.2.1",
-        "whet.extend": "~0.9.9"
-      },
-      "dependencies": {
-        "esprima": {
-          "version": "2.7.3",
-          "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz",
-          "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=",
-          "dev": true
-        },
-        "js-yaml": {
-          "version": "3.7.0",
-          "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.7.0.tgz",
-          "integrity": "sha1-XJZ93YN6m/3KXy3oQlOr6KHAO4A=",
-          "dev": true,
-          "requires": {
-            "argparse": "^1.0.7",
-            "esprima": "^2.6.0"
-          }
-        }
-      }
-    },
-    "tapable": {
-      "version": "0.2.9",
-      "resolved": "https://registry.npmjs.org/tapable/-/tapable-0.2.9.tgz",
-      "integrity": "sha512-2wsvQ+4GwBvLPLWsNfLCDYGsW6xb7aeC6utq2Qh0PFwgEy7K7dsma9Jsmb2zSQj7GvYAyUGSntLtsv++GmgL1A==",
-      "dev": true
-    },
-    "thunky": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz",
-      "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==",
-      "dev": true
-    },
-    "time-stamp": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-2.2.0.tgz",
-      "integrity": "sha512-zxke8goJQpBeEgD82CXABeMh0LSJcj7CXEd0OHOg45HgcofF7pxNwZm9+RknpxpDhwN4gFpySkApKfFYfRQnUA==",
-      "dev": true
-    },
-    "timers-browserify": {
-      "version": "2.0.11",
-      "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.11.tgz",
-      "integrity": "sha512-60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ==",
-      "dev": true,
-      "requires": {
-        "setimmediate": "^1.0.4"
-      }
-    },
-    "to-arraybuffer": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz",
-      "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=",
-      "dev": true
-    },
-    "to-fast-properties": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz",
-      "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=",
-      "dev": true
-    },
-    "to-object-path": {
-      "version": "0.3.0",
-      "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
-      "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
-      "dev": true,
-      "requires": {
-        "kind-of": "^3.0.2"
-      }
-    },
-    "to-regex": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz",
-      "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==",
-      "dev": true,
-      "requires": {
-        "define-property": "^2.0.2",
-        "extend-shallow": "^3.0.2",
-        "regex-not": "^1.0.2",
-        "safe-regex": "^1.1.0"
-      }
-    },
-    "to-regex-range": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
-      "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
-      "dev": true,
-      "requires": {
-        "is-number": "^3.0.0",
-        "repeat-string": "^1.6.1"
-      }
-    },
-    "toidentifier": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz",
-      "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==",
-      "dev": true
-    },
-    "trim-newlines": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz",
-      "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=",
-      "dev": true
-    },
-    "trim-right": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz",
-      "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=",
-      "dev": true
-    },
-    "tty-browserify": {
-      "version": "0.0.0",
-      "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz",
-      "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=",
-      "dev": true
-    },
-    "type": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz",
-      "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==",
-      "dev": true
-    },
-    "type-is": {
-      "version": "1.6.18",
-      "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
-      "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
-      "dev": true,
-      "requires": {
-        "media-typer": "0.3.0",
-        "mime-types": "~2.1.24"
-      }
-    },
-    "uglify-js": {
-      "version": "2.8.29",
-      "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz",
-      "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=",
-      "dev": true,
-      "requires": {
-        "source-map": "~0.5.1",
-        "uglify-to-browserify": "~1.0.0",
-        "yargs": "~3.10.0"
-      },
-      "dependencies": {
-        "yargs": {
-          "version": "3.10.0",
-          "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz",
-          "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=",
-          "dev": true,
-          "requires": {
-            "camelcase": "^1.0.2",
-            "cliui": "^2.1.0",
-            "decamelize": "^1.0.0",
-            "window-size": "0.1.0"
-          }
-        }
-      }
-    },
-    "uglify-to-browserify": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz",
-      "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=",
-      "dev": true,
-      "optional": true
-    },
-    "uglifyjs-webpack-plugin": {
-      "version": "0.4.6",
-      "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-0.4.6.tgz",
-      "integrity": "sha1-uVH0q7a9YX5m9j64kUmOORdj4wk=",
-      "dev": true,
-      "requires": {
-        "source-map": "^0.5.6",
-        "uglify-js": "^2.8.29",
-        "webpack-sources": "^1.0.1"
-      }
-    },
-    "union-value": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz",
-      "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==",
-      "dev": true,
-      "requires": {
-        "arr-union": "^3.1.0",
-        "get-value": "^2.0.6",
-        "is-extendable": "^0.1.1",
-        "set-value": "^2.0.1"
-      }
-    },
-    "uniq": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz",
-      "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=",
-      "dev": true
-    },
-    "uniqs": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz",
-      "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=",
-      "dev": true
-    },
-    "unpipe": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
-      "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=",
-      "dev": true
-    },
-    "unset-value": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
-      "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
-      "dev": true,
-      "requires": {
-        "has-value": "^0.3.1",
-        "isobject": "^3.0.0"
-      },
-      "dependencies": {
-        "has-value": {
-          "version": "0.3.1",
-          "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
-          "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
-          "dev": true,
-          "requires": {
-            "get-value": "^2.0.3",
-            "has-values": "^0.1.4",
-            "isobject": "^2.0.0"
-          },
-          "dependencies": {
-            "isobject": {
-              "version": "2.1.0",
-              "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
-              "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
-              "dev": true,
-              "requires": {
-                "isarray": "1.0.0"
-              }
-            }
-          }
-        },
-        "has-values": {
-          "version": "0.1.4",
-          "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
-          "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=",
-          "dev": true
-        }
-      }
-    },
-    "upath": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz",
-      "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==",
-      "dev": true
-    },
-    "uri-js": {
-      "version": "4.2.2",
-      "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
-      "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==",
-      "dev": true,
-      "requires": {
-        "punycode": "^2.1.0"
-      }
-    },
-    "urix": {
-      "version": "0.1.0",
-      "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
-      "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=",
-      "dev": true
-    },
-    "url": {
-      "version": "0.11.0",
-      "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz",
-      "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=",
-      "dev": true,
-      "requires": {
-        "punycode": "1.3.2",
-        "querystring": "0.2.0"
-      },
-      "dependencies": {
-        "punycode": {
-          "version": "1.3.2",
-          "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
-          "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=",
-          "dev": true
-        }
-      }
-    },
-    "url-parse": {
-      "version": "1.4.7",
-      "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.7.tgz",
-      "integrity": "sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg==",
-      "dev": true,
-      "requires": {
-        "querystringify": "^2.1.1",
-        "requires-port": "^1.0.0"
-      }
-    },
-    "use": {
-      "version": "3.1.1",
-      "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
-      "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==",
-      "dev": true
-    },
-    "util": {
-      "version": "0.11.1",
-      "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz",
-      "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==",
-      "dev": true,
-      "requires": {
-        "inherits": "2.0.3"
-      },
-      "dependencies": {
-        "inherits": {
-          "version": "2.0.3",
-          "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
-          "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
-          "dev": true
-        }
-      }
-    },
-    "util-deprecate": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
-      "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
-      "dev": true
-    },
-    "utils-merge": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
-      "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=",
-      "dev": true
-    },
-    "uuid": {
-      "version": "3.3.3",
-      "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.3.tgz",
-      "integrity": "sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ==",
-      "dev": true
-    },
-    "validate-npm-package-license": {
-      "version": "3.0.4",
-      "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
-      "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",
-      "dev": true,
-      "requires": {
-        "spdx-correct": "^3.0.0",
-        "spdx-expression-parse": "^3.0.0"
-      }
-    },
-    "vary": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
-      "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=",
-      "dev": true
-    },
-    "vendors": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.3.tgz",
-      "integrity": "sha512-fOi47nsJP5Wqefa43kyWSg80qF+Q3XA6MUkgi7Hp1HQaKDQW4cQrK2D0P7mmbFtsV1N89am55Yru/nyEwRubcw==",
-      "dev": true
-    },
-    "vm-browserify": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.0.tgz",
-      "integrity": "sha512-iq+S7vZJE60yejDYM0ek6zg308+UZsdtPExWP9VZoCFCz1zkJoXFnAX7aZfd/ZwrkidzdUZL0C/ryW+JwAiIGw==",
-      "dev": true
-    },
-    "vue": {
-      "version": "2.6.10",
-      "resolved": "https://registry.npmjs.org/vue/-/vue-2.6.10.tgz",
-      "integrity": "sha512-ImThpeNU9HbdZL3utgMCq0oiMzAkt1mcgy3/E6zWC/G6AaQoeuFdsl9nDhTDU3X1R6FK7nsIUuRACVcjI+A2GQ=="
-    },
-    "vue-code-highlight": {
-      "version": "0.7.2",
-      "resolved": "https://registry.npmjs.org/vue-code-highlight/-/vue-code-highlight-0.7.2.tgz",
-      "integrity": "sha512-b9kvkgKu9TiZ6Y6bbPbuE6/a7nULgngfeBLgKm6yTVe58ABQkWZhNRZYjgMfuBdY1XJnLx/5zZGLRCw9Z9GoVw==",
-      "requires": {
-        "prism-es6": "^1.2.0",
-        "vue": "^2.5.16"
-      }
-    },
-    "vue-functional-data-merge": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/vue-functional-data-merge/-/vue-functional-data-merge-3.1.0.tgz",
-      "integrity": "sha512-leT4kdJVQyeZNY1kmnS1xiUlQ9z1B/kdBFCILIjYYQDqZgLqCLa0UhjSSeRX6c3mUe6U5qYeM8LrEqkHJ1B4LA=="
-    },
-    "vue-hot-reload-api": {
-      "version": "2.3.4",
-      "resolved": "https://registry.npmjs.org/vue-hot-reload-api/-/vue-hot-reload-api-2.3.4.tgz",
-      "integrity": "sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog==",
-      "dev": true
-    },
-    "vue-loader": {
-      "version": "13.7.3",
-      "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-13.7.3.tgz",
-      "integrity": "sha512-ACCwbfeC6HjY2pnDii+Zer+MZ6sdOtwvLmDXRK/BoD3WNR551V22R6KEagwHoTRJ0ZlIhpCBkptpCU6+Ri/05w==",
-      "dev": true,
-      "requires": {
-        "consolidate": "^0.14.0",
-        "hash-sum": "^1.0.2",
-        "loader-utils": "^1.1.0",
-        "lru-cache": "^4.1.1",
-        "postcss": "^6.0.8",
-        "postcss-load-config": "^1.1.0",
-        "postcss-selector-parser": "^2.0.0",
-        "prettier": "^1.7.0",
-        "resolve": "^1.4.0",
-        "source-map": "^0.6.1",
-        "vue-hot-reload-api": "^2.2.0",
-        "vue-style-loader": "^3.0.0",
-        "vue-template-es2015-compiler": "^1.6.0"
-      },
-      "dependencies": {
-        "ansi-styles": {
-          "version": "3.2.1",
-          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
-          "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
-          "dev": true,
-          "requires": {
-            "color-convert": "^1.9.0"
-          }
-        },
-        "chalk": {
-          "version": "2.4.2",
-          "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
-          "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
-          "dev": true,
-          "requires": {
-            "ansi-styles": "^3.2.1",
-            "escape-string-regexp": "^1.0.5",
-            "supports-color": "^5.3.0"
-          }
-        },
-        "has-flag": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
-          "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
-          "dev": true
-        },
-        "postcss": {
-          "version": "6.0.23",
-          "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
-          "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
-          "dev": true,
-          "requires": {
-            "chalk": "^2.4.1",
-            "source-map": "^0.6.1",
-            "supports-color": "^5.4.0"
-          }
-        },
-        "source-map": {
-          "version": "0.6.1",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
-          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
-          "dev": true
-        },
-        "supports-color": {
-          "version": "5.5.0",
-          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
-          "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
-          "dev": true,
-          "requires": {
-            "has-flag": "^3.0.0"
-          }
-        }
-      }
-    },
-    "vue-style-loader": {
-      "version": "3.1.2",
-      "resolved": "https://registry.npmjs.org/vue-style-loader/-/vue-style-loader-3.1.2.tgz",
-      "integrity": "sha512-ICtVdK/p+qXWpdSs2alWtsXt9YnDoYjQe0w5616j9+/EhjoxZkbun34uWgsMFnC1MhrMMwaWiImz3K2jK1Yp2Q==",
-      "dev": true,
-      "requires": {
-        "hash-sum": "^1.0.2",
-        "loader-utils": "^1.0.2"
-      }
-    },
-    "vue-template-compiler": {
-      "version": "2.6.10",
-      "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.6.10.tgz",
-      "integrity": "sha512-jVZkw4/I/HT5ZMvRnhv78okGusqe0+qH2A0Em0Cp8aq78+NK9TII263CDVz2QXZsIT+yyV/gZc/j/vlwa+Epyg==",
-      "dev": true,
-      "requires": {
-        "de-indent": "^1.0.2",
-        "he": "^1.1.0"
-      }
-    },
-    "vue-template-es2015-compiler": {
-      "version": "1.9.1",
-      "resolved": "https://registry.npmjs.org/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.9.1.tgz",
-      "integrity": "sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==",
-      "dev": true
-    },
-    "watchpack": {
-      "version": "1.6.0",
-      "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.0.tgz",
-      "integrity": "sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA==",
-      "dev": true,
-      "requires": {
-        "chokidar": "^2.0.2",
-        "graceful-fs": "^4.1.2",
-        "neo-async": "^2.5.0"
-      }
-    },
-    "wbuf": {
-      "version": "1.7.3",
-      "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz",
-      "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==",
-      "dev": true,
-      "requires": {
-        "minimalistic-assert": "^1.0.0"
-      }
-    },
-    "webpack": {
-      "version": "3.12.0",
-      "resolved": "https://registry.npmjs.org/webpack/-/webpack-3.12.0.tgz",
-      "integrity": "sha512-Sw7MdIIOv/nkzPzee4o0EdvCuPmxT98+vVpIvwtcwcF1Q4SDSNp92vwcKc4REe7NItH9f1S4ra9FuQ7yuYZ8bQ==",
-      "dev": true,
-      "requires": {
-        "acorn": "^5.0.0",
-        "acorn-dynamic-import": "^2.0.0",
-        "ajv": "^6.1.0",
-        "ajv-keywords": "^3.1.0",
-        "async": "^2.1.2",
-        "enhanced-resolve": "^3.4.0",
-        "escope": "^3.6.0",
-        "interpret": "^1.0.0",
-        "json-loader": "^0.5.4",
-        "json5": "^0.5.1",
-        "loader-runner": "^2.3.0",
-        "loader-utils": "^1.1.0",
-        "memory-fs": "~0.4.1",
-        "mkdirp": "~0.5.0",
-        "node-libs-browser": "^2.0.0",
-        "source-map": "^0.5.3",
-        "supports-color": "^4.2.1",
-        "tapable": "^0.2.7",
-        "uglifyjs-webpack-plugin": "^0.4.6",
-        "watchpack": "^1.4.0",
-        "webpack-sources": "^1.0.1",
-        "yargs": "^8.0.2"
-      },
-      "dependencies": {
-        "has-flag": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz",
-          "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=",
-          "dev": true
-        },
-        "supports-color": {
-          "version": "4.5.0",
-          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz",
-          "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=",
-          "dev": true,
-          "requires": {
-            "has-flag": "^2.0.0"
-          }
-        }
-      }
-    },
-    "webpack-dev-middleware": {
-      "version": "1.12.2",
-      "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-1.12.2.tgz",
-      "integrity": "sha512-FCrqPy1yy/sN6U/SaEZcHKRXGlqU0DUaEBL45jkUYoB8foVb6wCnbIJ1HKIx+qUFTW+3JpVcCJCxZ8VATL4e+A==",
-      "dev": true,
-      "requires": {
-        "memory-fs": "~0.4.1",
-        "mime": "^1.5.0",
-        "path-is-absolute": "^1.0.0",
-        "range-parser": "^1.0.3",
-        "time-stamp": "^2.0.0"
-      }
-    },
-    "webpack-dev-server": {
-      "version": "2.11.5",
-      "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-2.11.5.tgz",
-      "integrity": "sha512-7TdOKKt7G3sWEhPKV0zP+nD0c4V9YKUJ3wDdBwQsZNo58oZIRoVIu66pg7PYkBW8A74msP9C2kLwmxGHndz/pw==",
-      "dev": true,
-      "requires": {
-        "ansi-html": "0.0.7",
-        "array-includes": "^3.0.3",
-        "bonjour": "^3.5.0",
-        "chokidar": "^2.1.2",
-        "compression": "^1.7.3",
-        "connect-history-api-fallback": "^1.3.0",
-        "debug": "^3.1.0",
-        "del": "^3.0.0",
-        "express": "^4.16.2",
-        "html-entities": "^1.2.0",
-        "http-proxy-middleware": "^0.19.1",
-        "import-local": "^1.0.0",
-        "internal-ip": "1.2.0",
-        "ip": "^1.1.5",
-        "killable": "^1.0.0",
-        "loglevel": "^1.4.1",
-        "opn": "^5.1.0",
-        "portfinder": "^1.0.9",
-        "selfsigned": "^1.9.1",
-        "serve-index": "^1.9.1",
-        "sockjs": "0.3.19",
-        "sockjs-client": "1.1.5",
-        "spdy": "^4.0.0",
-        "strip-ansi": "^3.0.0",
-        "supports-color": "^5.1.0",
-        "webpack-dev-middleware": "1.12.2",
-        "yargs": "6.6.0"
-      },
-      "dependencies": {
-        "camelcase": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz",
-          "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=",
-          "dev": true
-        },
-        "cliui": {
-          "version": "3.2.0",
-          "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz",
-          "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=",
-          "dev": true,
-          "requires": {
-            "string-width": "^1.0.1",
-            "strip-ansi": "^3.0.1",
-            "wrap-ansi": "^2.0.0"
-          }
-        },
-        "debug": {
-          "version": "3.2.6",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
-          "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
-          "dev": true,
-          "requires": {
-            "ms": "^2.1.1"
-          }
-        },
-        "find-up": {
-          "version": "1.1.2",
-          "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
-          "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
-          "dev": true,
-          "requires": {
-            "path-exists": "^2.0.0",
-            "pinkie-promise": "^2.0.0"
-          }
-        },
-        "has-flag": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
-          "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
-          "dev": true
-        },
-        "load-json-file": {
-          "version": "1.1.0",
-          "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
-          "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=",
-          "dev": true,
-          "requires": {
-            "graceful-fs": "^4.1.2",
-            "parse-json": "^2.2.0",
-            "pify": "^2.0.0",
-            "pinkie-promise": "^2.0.0",
-            "strip-bom": "^2.0.0"
-          }
-        },
-        "ms": {
-          "version": "2.1.2",
-          "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
-          "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
-          "dev": true
-        },
-        "os-locale": {
-          "version": "1.4.0",
-          "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz",
-          "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=",
-          "dev": true,
-          "requires": {
-            "lcid": "^1.0.0"
-          }
-        },
-        "path-exists": {
-          "version": "2.1.0",
-          "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
-          "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
-          "dev": true,
-          "requires": {
-            "pinkie-promise": "^2.0.0"
-          }
-        },
-        "path-type": {
-          "version": "1.1.0",
-          "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz",
-          "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=",
-          "dev": true,
-          "requires": {
-            "graceful-fs": "^4.1.2",
-            "pify": "^2.0.0",
-            "pinkie-promise": "^2.0.0"
-          }
-        },
-        "pify": {
-          "version": "2.3.0",
-          "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
-          "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
-          "dev": true
-        },
-        "read-pkg": {
-          "version": "1.1.0",
-          "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz",
-          "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=",
-          "dev": true,
-          "requires": {
-            "load-json-file": "^1.0.0",
-            "normalize-package-data": "^2.3.2",
-            "path-type": "^1.0.0"
-          }
-        },
-        "read-pkg-up": {
-          "version": "1.0.1",
-          "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz",
-          "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=",
-          "dev": true,
-          "requires": {
-            "find-up": "^1.0.0",
-            "read-pkg": "^1.0.0"
-          }
-        },
-        "string-width": {
-          "version": "1.0.2",
-          "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
-          "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
-          "dev": true,
-          "requires": {
-            "code-point-at": "^1.0.0",
-            "is-fullwidth-code-point": "^1.0.0",
-            "strip-ansi": "^3.0.0"
-          }
-        },
-        "strip-bom": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
-          "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
-          "dev": true,
-          "requires": {
-            "is-utf8": "^0.2.0"
-          }
-        },
-        "supports-color": {
-          "version": "5.5.0",
-          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
-          "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
-          "dev": true,
-          "requires": {
-            "has-flag": "^3.0.0"
-          }
-        },
-        "which-module": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz",
-          "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=",
-          "dev": true
-        },
-        "yargs": {
-          "version": "6.6.0",
-          "resolved": "https://registry.npmjs.org/yargs/-/yargs-6.6.0.tgz",
-          "integrity": "sha1-eC7CHvQDNF+DCoCMo9UTr1YGUgg=",
-          "dev": true,
-          "requires": {
-            "camelcase": "^3.0.0",
-            "cliui": "^3.2.0",
-            "decamelize": "^1.1.1",
-            "get-caller-file": "^1.0.1",
-            "os-locale": "^1.4.0",
-            "read-pkg-up": "^1.0.1",
-            "require-directory": "^2.1.1",
-            "require-main-filename": "^1.0.1",
-            "set-blocking": "^2.0.0",
-            "string-width": "^1.0.2",
-            "which-module": "^1.0.0",
-            "y18n": "^3.2.1",
-            "yargs-parser": "^4.2.0"
-          }
-        },
-        "yargs-parser": {
-          "version": "4.2.1",
-          "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-4.2.1.tgz",
-          "integrity": "sha1-KczqwNxPA8bIe0qfIX3RjJ90hxw=",
-          "dev": true,
-          "requires": {
-            "camelcase": "^3.0.0"
-          }
-        }
-      }
-    },
-    "webpack-sources": {
-      "version": "1.4.3",
-      "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz",
-      "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==",
-      "dev": true,
-      "requires": {
-        "source-list-map": "^2.0.0",
-        "source-map": "~0.6.1"
-      },
-      "dependencies": {
-        "source-map": {
-          "version": "0.6.1",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
-          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
-          "dev": true
-        }
-      }
-    },
-    "websocket-driver": {
-      "version": "0.7.3",
-      "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.3.tgz",
-      "integrity": "sha512-bpxWlvbbB459Mlipc5GBzzZwhoZgGEZLuqPaR0INBGnPAY1vdBX6hPnoFXiw+3yWxDuHyQjO2oXTMyS8A5haFg==",
-      "dev": true,
-      "requires": {
-        "http-parser-js": ">=0.4.0 <0.4.11",
-        "safe-buffer": ">=5.1.0",
-        "websocket-extensions": ">=0.1.1"
-      }
-    },
-    "websocket-extensions": {
-      "version": "0.1.3",
-      "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.3.tgz",
-      "integrity": "sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg==",
-      "dev": true
-    },
-    "whet.extend": {
-      "version": "0.9.9",
-      "resolved": "https://registry.npmjs.org/whet.extend/-/whet.extend-0.9.9.tgz",
-      "integrity": "sha1-+HfVv2SMl+WqVC+twW1qJZucEaE=",
-      "dev": true
-    },
-    "which": {
-      "version": "1.3.1",
-      "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
-      "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
-      "dev": true,
-      "requires": {
-        "isexe": "^2.0.0"
-      }
-    },
-    "which-module": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
-      "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
-      "dev": true
-    },
-    "window-size": {
-      "version": "0.1.0",
-      "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz",
-      "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=",
-      "dev": true
-    },
-    "wordwrap": {
-      "version": "0.0.2",
-      "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz",
-      "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=",
-      "dev": true
-    },
-    "wrap-ansi": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
-      "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=",
-      "dev": true,
-      "requires": {
-        "string-width": "^1.0.1",
-        "strip-ansi": "^3.0.1"
-      },
-      "dependencies": {
-        "string-width": {
-          "version": "1.0.2",
-          "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
-          "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
-          "dev": true,
-          "requires": {
-            "code-point-at": "^1.0.0",
-            "is-fullwidth-code-point": "^1.0.0",
-            "strip-ansi": "^3.0.0"
-          }
-        }
-      }
-    },
-    "wrappy": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
-      "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
-      "dev": true
-    },
-    "xtend": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
-      "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
-      "dev": true
-    },
-    "y18n": {
-      "version": "3.2.1",
-      "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz",
-      "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=",
-      "dev": true
-    },
-    "yallist": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
-      "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=",
-      "dev": true
-    },
-    "yargs": {
-      "version": "8.0.2",
-      "resolved": "https://registry.npmjs.org/yargs/-/yargs-8.0.2.tgz",
-      "integrity": "sha1-YpmpBVsc78lp/355wdkY3Osiw2A=",
-      "dev": true,
-      "requires": {
-        "camelcase": "^4.1.0",
-        "cliui": "^3.2.0",
-        "decamelize": "^1.1.1",
-        "get-caller-file": "^1.0.1",
-        "os-locale": "^2.0.0",
-        "read-pkg-up": "^2.0.0",
-        "require-directory": "^2.1.1",
-        "require-main-filename": "^1.0.1",
-        "set-blocking": "^2.0.0",
-        "string-width": "^2.0.0",
-        "which-module": "^2.0.0",
-        "y18n": "^3.2.1",
-        "yargs-parser": "^7.0.0"
-      },
-      "dependencies": {
-        "camelcase": {
-          "version": "4.1.0",
-          "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz",
-          "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=",
-          "dev": true
-        },
-        "cliui": {
-          "version": "3.2.0",
-          "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz",
-          "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=",
-          "dev": true,
-          "requires": {
-            "string-width": "^1.0.1",
-            "strip-ansi": "^3.0.1",
-            "wrap-ansi": "^2.0.0"
-          },
-          "dependencies": {
-            "string-width": {
-              "version": "1.0.2",
-              "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
-              "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
-              "dev": true,
-              "requires": {
-                "code-point-at": "^1.0.0",
-                "is-fullwidth-code-point": "^1.0.0",
-                "strip-ansi": "^3.0.0"
-              }
-            }
-          }
-        }
-      }
-    },
-    "yargs-parser": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz",
-      "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=",
-      "dev": true,
-      "requires": {
-        "camelcase": "^4.1.0"
-      },
-      "dependencies": {
-        "camelcase": {
-          "version": "4.1.0",
-          "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz",
-          "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=",
-          "dev": true
-        }
-      }
-    }
-  }
-}
diff --git a/webapp/package.json b/webapp/package.json
deleted file mode 100644
index 8d0aae5c5144eba3a6c609fd17d7d1e56b361ae9..0000000000000000000000000000000000000000
--- a/webapp/package.json
+++ /dev/null
@@ -1,37 +0,0 @@
-{
-  "name": "ocrd-kwalitee-webapp",
-  "description": "OCR-D software overview",
-  "version": "1.0.0",
-  "author": "Konstantin Baierer <unixprog@gmail.com>",
-  "license": "MIT",
-  "private": true,
-  "scripts": {
-    "dev": "cross-env NODE_ENV=development webpack-dev-server --open --hot --host 10.46.3.57",
-    "build-dev": "cross-env NODE_ENV=development webpack --progress",
-    "build": "cross-env NODE_ENV=production webpack --progress --hide-modules"
-  },
-  "dependencies": {
-    "bootstrap-vue": "^2.0.4",
-    "marked": "^0.7.0",
-    "vue": "^2.5.11",
-    "vue-code-highlight": "^0.7.2"
-  },
-  "browserslist": [
-    "> 1%",
-    "last 2 versions",
-    "not ie <= 8"
-  ],
-  "devDependencies": {
-    "babel-core": "^6.26.0",
-    "babel-loader": "^7.1.2",
-    "babel-preset-env": "^1.6.0",
-    "babel-preset-stage-3": "^6.24.1",
-    "cross-env": "^5.0.5",
-    "css-loader": "^0.28.7",
-    "file-loader": "^1.1.4",
-    "vue-loader": "^13.0.5",
-    "vue-template-compiler": "^2.4.4",
-    "webpack": "^3.6.0",
-    "webpack-dev-server": "^2.9.1"
-  }
-}
diff --git a/webapp/script.js b/webapp/script.js
deleted file mode 100644
index 3da697da74b4aa7200d50e4d1132184948823d58..0000000000000000000000000000000000000000
--- a/webapp/script.js
+++ /dev/null
@@ -1,4 +0,0 @@
-/* global Vue */
-window.app = new Vue({
-})
-
diff --git a/webapp/src/App.vue b/webapp/src/App.vue
deleted file mode 100644
index d0be692706289cdca295260aa31379ce7e30fa56..0000000000000000000000000000000000000000
--- a/webapp/src/App.vue
+++ /dev/null
@@ -1,69 +0,0 @@
-<template>
-  <b-container fluid>
-    <b-row>
-      <button @click="$root.fetchprojectData">Fetch!</button>
-    </b-row>
-    <b-tabs>
-      <b-tab title="Processors">
-        <ocrd-processor-list
-          :processors="processors"
-          ></ocrd-processor-list>
-      </b-tab>
-      <b-tab active title="Projects">
-        <ocrd-project-list
-          :projects="projects"
-          ></ocrd-project-list>
-      </b-tab>
-    </b-tabs>
-    <!-- <b-modal id="processor-modal">
-    </b-modal> -->
-  </b-container>
-</template>
-
-<script>
-import OcrdProcessorList from './OcrdProcessorList.vue'
-import OcrdProjectList from './OcrdProjectList.vue'
-import OcrdProcessorListItem from './OcrdProcessorListItem.vue'
-import OcrdProjectListItem from './OcrdProjectListItem.vue'
-export default {
-  components: {
-    OcrdProcessorList,
-    OcrdProjectList,
-    OcrdProcessorListItem,
-    OcrdProjectListItem
-  },
-  data() {
-    return {
-    }
-  },
-  computed: {
-    projects() {
-      return this.$root.projects
-    },
-    processors() {
-      return this.projects.reduce((all, project) => {
-        let tool_idx = 0
-        if (project.ocrd_tool)
-          all.push(...Object.values(project.ocrd_tool.tools).map(tool => {
-            tool.idx = tool_idx++
-            tool.part_of = project.org_plus_name
-            tool.official = project.official
-            tool.compliant_cli = project.compliant_cli
-            return tool
-          }))
-        return all
-      }, [])
-    },
-  },
-  mounted() {
-      this.$root.fetchprojectData()
-  },
-  methods: {}
-}
-</script>
-
-<style>
-.non-compliant {
-  background-color: #fcc;
-}
-</style>
diff --git a/webapp/src/OcrdProcessorList.vue b/webapp/src/OcrdProcessorList.vue
deleted file mode 100644
index 2f9e391d8b09f64a41a770bf92a7b5c8bd66d42a..0000000000000000000000000000000000000000
--- a/webapp/src/OcrdProcessorList.vue
+++ /dev/null
@@ -1,113 +0,0 @@
-<template>
-  <div>
-    <b-row>
-      <b-button v-b-toggle.processor-controls class="m-1">Toggle Controls</b-button>
-      <b-collapse id="processor-controls">
-        <b-container>
-          <b-row>
-            <b-form-checkbox v-model="show_noncompliant" name="check-button" switch>
-            Non-compliant projects <b>({{ show_noncompliant ? "Show" : "Hide" }})</b>
-            </b-form-checkbox>
-          </b-row>
-          <b-row>
-            <b-form-checkbox v-model="show_unofficial" name="check-button" switch>
-            Unofficial processors <b>({{ show_unofficial ? "Show" : "hide" }})</b>
-            </b-form-checkbox>
-          </b-row>
-          <b-row>
-            Filter by category:
-            <b-badge
-              v-for="category in categories"
-              :key="category"
-              :variant="category_filter.indexOf(category) != -1 ? 'primary' : 'secondary'"
-              @click="category_filter.indexOf(category) != -1 ? category_filter.splice(category_filter.indexOf(category), 1) : category_filter.push(category)"
-              >
-              {{ category }}
-            </b-badge>
-          </b-row>
-          <b-row>
-            Filter by step:
-            <b-badge
-              v-for="step in steps"
-              :key="step"
-              :variant="step_filter.indexOf(step) != -1 ? 'primary' : 'secondary'"
-              @click="step_filter.indexOf(step) != -1 ? step_filter.splice(step_filter.indexOf(step), 1) : step_filter.push(step)"
-              >
-              {{ step }}
-            </b-badge>
-          </b-row>
-        </b-container>
-      </b-collapse>
-    </b-row>
-    <b-row>
-        <ocrd-processor-list-item
-          v-for="processor in filtered_processors"
-          :key="processor.executable"
-          :processor="processor"
-        ></ocrd-processor-list-item>
-    </b-row>
-  </div>
-</template>
-
-<script>
-import OcrdProcessorListItem from './OcrdProcessorListItem.vue'
-export default {
-  components: {
-    OcrdProcessorListItem
-  },
-  data() {
-    return {
-      step_filter: [],
-      show_unofficial: true,
-      show_noncompliant: true,
-      category_filter: {require: true},
-      category_filter: [],
-    }
-  },
-  props: {
-    processors: {required: true},
-  },
-  computed: {
-    filtered_processors() {
-      return this.processors.filter(tool => {
-        for (let step_filter of this.step_filter) {
-          if (tool.steps.indexOf(step_filter) == -1)
-            return false
-        }
-        for (let category_filter of this.category_filter) {
-          if (tool.categories.indexOf(category_filter) == -1)
-            return false
-        }
-        if (!(this.show_unofficial || tool.official)) {
-          return false
-        }
-        if (!(this.show_noncompliant || project.compliant_cli)) {
-          return false
-        }
-        return true
-      })
-    },
-    steps() {
-      return this.processors.reduce((all, processor) => {
-        all.push(...processor.steps.filter(step => all.indexOf(step) == -1))
-        return all
-      }, [])
-    },
-    categories() {
-      return this.processors.reduce((all, processor) => {
-        all.push(...processor.categories.filter(category => all.indexOf(category) == -1))
-        return all
-      }, [])
-    },
-  },
-  methods: {
-    toggleStepFilter(v) {
-      if (v in this.step_filter) {
-        this.step_filter = this.step_filter.splice(this.step_filter.indexOf(v), 1)
-      } else {
-        this.step_filter.push(v)
-      }
-    }
-  }
-}
-</script>
diff --git a/webapp/src/OcrdProcessorListItem.vue b/webapp/src/OcrdProcessorListItem.vue
deleted file mode 100644
index 21e0cf6ddb53ea8145cc2b31117f8ef5622c6360..0000000000000000000000000000000000000000
--- a/webapp/src/OcrdProcessorListItem.vue
+++ /dev/null
@@ -1,44 +0,0 @@
-<template>
-  <b-card
-    tag="article"
-    :title="processor.executable.replace('ocrd-', '')"
-    :class="`mb-5 ocrd-processor-list-item ${processor.compliant_cli ? 'compliant' : 'non-compliant'}`"
-    >
-    <b-card-text>
-
-      <b-tabs>
-        <b-tab title="Description">
-          <blockquote>
-            {{ processor.description }}
-          </blockquote>
-          <b-badge variant="info" v-for="step in processor.steps" :key="step">{{ step }}</b-badge>
-  <b-badge variant="success" v-for="category in processor.categories" :key="category">{{ category }}</b-badge>
-          <p>
-            Part of <a href="">{{ processor.part_of }}</a>
-          </p>
-          <p>
-            <a href="">Read the Documentation!</a>
-          </p>
-        </b-tab>
-
-        <b-tab title="Parameters">
-          <ul>
-            <li v-for="param, name in processor.parameters" :key="name">
-              <strong>{{ name }}</strong> {{ param }}
-            </li>
-          </ul>
-        </b-tab>
-
-      </b-tabs>
-
-    </b-card-text>
-  </b-card>
-</template>
-
-<script>
-export default {
-  props: {
-    processor: {required: true}
-  }
-}
-</script>
diff --git a/webapp/src/OcrdProjectList.vue b/webapp/src/OcrdProjectList.vue
deleted file mode 100644
index e246a5a6252de977305bf7000f6976e4c2f49331..0000000000000000000000000000000000000000
--- a/webapp/src/OcrdProjectList.vue
+++ /dev/null
@@ -1,98 +0,0 @@
-<template>
-  <div>
-    <b-row>
-      <b-button v-b-toggle.project-controls class="m-1">Toggle Controls</b-button>
-      <b-collapse id="project-controls">
-        <b-container>
-          <b-row>
-            <b-form-checkbox v-model="show_noncompliant" name="check-button" switch>
-            Non-compliant projects <b>({{ show_noncompliant ? "Show" : "Hide" }})</b>
-            </b-form-checkbox>
-          </b-row>
-          <b-row>
-            <b-form-checkbox v-model="show_unofficial" name="check-button" switch>
-            Unofficial projects <b>({{ show_unofficial ? "Show" : "Hide" }})</b>
-            </b-form-checkbox>
-          </b-row>
-          <b-row>
-            Filter by name: <input type="text" v-model="name_filter"/> (Showing {{ filtered_projects.length }} of {{ projects.length}} projects)
-          </b-row>
-          <b-row>
-            Tabs: <b-button @click="tabIndex -= 1">&lt;</b-button> <b-button @click="tabIndex += 1">&gt;</b-button>
-          </b-row>
-        </b-container>
-      </b-collapse>
-    </b-row>
-    <b-row class="list">
-      <ocrd-project-list-item
-        v-for="project,idx in filtered_projects"
-        :key="project.org_plus_name"
-        :project="project"
-        :tabIndex="tabIndex"
-        :projectIndex="idx"
-      >
-      </ocrd-project-list-item>
-    </b-row>
-
-    <b-modal id="project-modal"
-             size="xl"
-             :hide-header="true"
-             :hide-footer="true"
-      >
-      <ocrd-project-list-item
-        :project="projects[$root.modalProjectIndex]"
-        :projectIndex="$root.modalProjectIndex"
-        :modal="true"
-        >
-      </ocrd-project-list-item>
-    </b-modal>
-  </div>
-</template>
-
-<script>
-import OcrdProjectListItem from './OcrdProjectListItem.vue'
-export default {
-  data() {
-    return {
-      name_filter: '',
-      show_unofficial: true,
-      show_noncompliant: true,
-      tabIndex: 0,
-    }
-  },
-  computed: {
-    filtered_projects() {
-      return this.projects.filter(project => {
-        if (!(this.show_unofficial || project.official)) {
-          return false
-        }
-        if (!(this.show_noncompliant || project.compliant_cli)) {
-          return false
-        }
-        return project.name.toLowerCase().includes(this.name_filter.toLowerCase())
-      })
-    }
-  },
-  components: {
-    OcrdProjectListItem
-  },
-  props: {
-    projects: {required: true}
-  },
-  methods: {
-    switchTab(delta) {
-      this.tabIndex += delta
-    }
-  }
-}
-</script>
-
-<style>
-
-.list .ocrd-project-list-item {
-  max-width: 30rem;
-  max-height: 30rem;
-  overflow: auto;
-}
-
-</style>
diff --git a/webapp/src/OcrdProjectListItem.vue b/webapp/src/OcrdProjectListItem.vue
deleted file mode 100644
index 7e77c386b92da4c71054df6048e7b8db598a4825..0000000000000000000000000000000000000000
--- a/webapp/src/OcrdProjectListItem.vue
+++ /dev/null
@@ -1,79 +0,0 @@
-<template>
-  <b-card
-    :title="project.org_plus_name"
-    tag="article"
-    :class="`mb-5 ocrd-project-list-item ${project.compliant_cli ? 'compliant' : 'non-compliant'}`"
-    >
-    <b-card-text v-if="!modal">
-      <b-button @click="$root.showModal('project', projectIndex)">Expand</b-button>
-    </b-card-text>
-    <b-tabs v-model="tabIndex">
-      <b-tab title="README">
-        <div v-html="compiledReadme"></div>
-      </b-tab>
-      <b-tab title="Dockerfile">
-        <vue-code-highlight>{{ project.files.Dockerfile || '# NO DOCKERFILE' }}</vue-code-highlight>
-      </b-tab>
-      <b-tab title="Git">
-        <b-card-text>
-          <p>
-            <a v-if="project.python" href="`https://pypi.org/project/${ project.python.name }/`">             <img :src="`https://img.shields.io/pypi/v/${ project.python.name }.svg`"                                     /> </a>
-            <!-- <a href="`https://travis-ci.org/${ project.org_plus_name }`">               <img :src="`https://travis-ci.org/${ project.org_plus_name }.svg?branch=master`"                             /> </a> -->
-            <!-- <a href="`https://circleci.com/gh/${ project.org_plus_name }`">             <img :src="`https://circleci.com/gh/${ project.org_plus_name }.svg?style=svg`"                               /> </a> -->
-            <!-- <a href="`https://hub.docker.com/r/ocrd/core/tags/`">                     <img :src="`https://img.shields.io/docker/automated/ocrd/core.svg`"                                        /> </a> -->
-            <!-- <a href="`https://codecov.io/gh/${ project.org_plus_name }`">               <img :src="`https://codecov.io/gh/${ project.org_plus_name }/branch/master/graph/badge.svg`"                 /> </a> -->
-            <!-- <a href="`https://scrutinizer-ci.com/g/${ project.org_plus_name }`">        <img :src="`https://scrutinizer-ci.com/g/${ project.org_plus_name }/badges/quality-score.png?b=master`"      /> </a> -->
-            <!-- <a href="`https://lgtm.com/projects/g/${ project.org_plus_name }/alerts/`"> <img :src="`https://img.shields.io/lgtm/alerts/g/${ project.org_plus_name }.svg?logo=lgtm&amp;logoWidth=18`" /> </a> -->
-          </p>
-          <b-table v-if="project.git" :items="[project.git]"></b-table>
-        </b-card-text>
-      </b-tab>
-
-      <b-tab title="ocrd-tool validation">
-        <b-card-text>
-          <vue-code-highlight>{{ project.ocrd_tool_validate || '# NO validation data' }}</vue-code-highlight>
-        </b-card-text>
-      </b-tab>
-
-      <b-tab title="Python">
-        <b-card-text>
-          <b-table v-if="project.python" :items="[project.python]"></b-table>
-        </b-card-text>
-      </b-tab>
-
-    </b-tabs>
-  </b-card>
-</template>
-
-<script>
-import marked from 'marked'
-import { component as VueCodeHighlight } from 'vue-code-highlight'
-
-export default {
-  components: {
-    VueCodeHighlight
-  },
-  props: {
-    project: {required: true},
-    tabIndex: {default: 0},
-    projectIndex: {required: true},
-    modal: {default: false}
-  },
-  computed: {
-    cleanId() {
-      return this.project.org_plus_name.replace(/[^A-Za-z0-9]/g, '-')
-    },
-    compiledReadme() {
-      let src = this.project.files['README.md']
-      if (!src) src = '`# NO README`'
-      return marked(src)
-    }
-  },
-  methods: {
-  }
-}
-</script>
-
-<style>
-
-</style>
diff --git a/webapp/src/assets/logo.png b/webapp/src/assets/logo.png
deleted file mode 100644
index f3d2503fc2a44b5053b0837ebea6e87a2d339a43..0000000000000000000000000000000000000000
Binary files a/webapp/src/assets/logo.png and /dev/null differ
diff --git a/webapp/src/main.js b/webapp/src/main.js
deleted file mode 100644
index 74cb402fed0ad6a607fd1f3a6b8a18a73a137e2c..0000000000000000000000000000000000000000
--- a/webapp/src/main.js
+++ /dev/null
@@ -1,51 +0,0 @@
-import Vue from 'vue'
-import App from './App.vue'
-import BootstrapVue from 'bootstrap-vue'
-Vue.use(BootstrapVue)
-
-import 'bootstrap/dist/css/bootstrap.css'
-import 'bootstrap-vue/dist/bootstrap-vue.css'
-
-// import 'vue-code-highlight/themes/duotone-sea.css'
-import 'vue-code-highlight/themes/prism.css'
-import 'vue-code-highlight/themes/prism-coy.css'
-// import 'vue-code-highlight/themes/prism-dark.css'
-// import 'vue-code-highlight/themes/prism-funky.css'
-// import 'vue-code-highlight/themes/prism-okaidia.css'
-// import 'vue-code-highlight/themes/prism-solarizedlight.css'
-// import 'vue-code-highlight/themes/prism-tomorrow.css'
-// import 'vue-code-highlight/themes/prism-twilight.css'
-// import 'vue-code-highlight/themes/window.css'
-
-window.kwalitee_app = new Vue({
-  el: '#ocrd-kwalitee',
-  render: h => h(App),
-  data() {
-    return {
-      projects: [],
-      modalProjectIndex: 0,
-      modalProcessorIndex: 0,
-      modalProjectVisible: false,
-      modalProcessorVisible: false,
-    }
-  },
-  methods: {
-    fetchprojectData() {
-      fetch('repos.json').then(resp => resp.json()).then(projects => {
-          projects.map((project, idx) => project.idx = idx)
-          this.projects.splice(0, this.projects.length)
-          this.projects.push(...projects)
-        }
-      )
-    },
-    showModal(projectOrProcessor, idx) {
-      if (projectOrProcessor === 'processor') {
-        console.log("Not implemented")
-        this.$bvModal.show('processor-modal')
-      } else {
-        this.modalProjectIndex = idx
-        this.$bvModal.show('project-modal')
-      }
-    },
-  }
-})
diff --git a/webapp/webpack.config.js b/webapp/webpack.config.js
deleted file mode 100644
index 751522a494d89ae07e018380b477937d7f85cd21..0000000000000000000000000000000000000000
--- a/webapp/webpack.config.js
+++ /dev/null
@@ -1,78 +0,0 @@
-const path = require('path')
-const webpack = require('webpack')
-
-module.exports = {
-  entry: './src/main.js',
-  output: {
-    path: path.resolve(__dirname, './dist'),
-    publicPath: '/dist/',
-    filename: 'build.js'
-  },
-  module: {
-    rules: [
-      {
-        test: /\.css$/,
-        use: [
-          'vue-style-loader',
-          'css-loader'
-        ],
-      },      {
-        test: /\.vue$/,
-        loader: 'vue-loader',
-        options: {
-          loaders: {
-          }
-          // other vue-loader options go here
-        }
-      },
-      {
-        test: /\.js$/,
-        loader: 'babel-loader',
-        exclude: /node_modules/
-      },
-      {
-        test: /\.(png|jpg|gif|svg)$/,
-        loader: 'file-loader',
-        options: {
-          name: '[name].[ext]?[hash]'
-        }
-      }
-    ]
-  },
-  resolve: {
-    alias: {
-      'vue$': 'vue/dist/vue.esm.js'
-    },
-    extensions: ['*', '.js', '.vue', '.json']
-  },
-  devServer: {
-    historyApiFallback: true,
-    noInfo: true,
-    overlay: true
-  },
-  performance: {
-    hints: false
-  },
-  devtool: '#eval-source-map'
-}
-
-if (process.env.NODE_ENV === 'production') {
-  module.exports.devtool = '#source-map'
-  // http://vue-loader.vuejs.org/en/workflow/production.html
-  module.exports.plugins = (module.exports.plugins || []).concat([
-    new webpack.DefinePlugin({
-      'process.env': {
-        NODE_ENV: '"production"'
-      }
-    }),
-    new webpack.optimize.UglifyJsPlugin({
-      sourceMap: true,
-      compress: {
-        warnings: false
-      }
-    }),
-    new webpack.LoaderOptionsPlugin({
-      minimize: true
-    })
-  ])
-}