diff --git a/platforms/kaapana-platform/kaapana-platform-chart/requirements.yaml b/platforms/kaapana-platform/kaapana-platform-chart/requirements.yaml index a0be76e0..8a3defab 100644 --- a/platforms/kaapana-platform/kaapana-platform-chart/requirements.yaml +++ b/platforms/kaapana-platform/kaapana-platform-chart/requirements.yaml @@ -1,18 +1,18 @@ --- dependencies: - name: kaapana-core-chart version: "0.1.1" repository: file://../../../projects/kaapana-core-chart - - name: kibana-kaapana-chart - version: "6.8.12" - repository: file://../../../services/meta/kibana/kibana-kaapana/kibana-kaapana-chart + - name: os-dahboards-chart + version: "1.2.0" + repository: file://../../../services/meta/os-dashboards/kibana-kaapana/os-dashboards-chart - name: meta-init-chart condition: Release.IsInstall version: "6.8.12" repository: file://../../../services/meta/meta-init/meta-init-chart - - name: elasticsearch-chart - version: "6.8.12" - repository: file://../../../services/meta/elasticsearch-oss/elasticsearch-chart + - name: opensearch-chart + version: "1.2.3" + repository: file://../../../services/meta/opensearch/opensearch-chart - name: landing-page-kaapana-chart version: "0.1.3" repository: file://../../../services/base/landing-page-kaapana/landing-page-kaapana-chart \ No newline at end of file diff --git a/services/meta/meta-init/docker/files/init_meta.py b/services/meta/meta-init/docker/files/init_meta.py index c76d9e37..3f401abe 100644 --- a/services/meta/meta-init/docker/files/init_meta.py +++ b/services/meta/meta-init/docker/files/init_meta.py @@ -1,255 +1,255 @@ #!/usr/bin/env python3 # -*- coding: utf-8; mode: python; indent-tabs-mode: nil; -*- import os import elasticsearch import requests import traceback import json import socket import time def check_port(name, host, port, delay): try: sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.settimeout(1) while sock.connect_ex((host, int(port))) != 0: print("Wait for Service: %s on host: %s and port: %s!" % (name, host, port)) time.sleep(delay) print("Service: %s is READY!!!! host: %s and port: %s!" % (name, host, port)) return 1 except Exception as e: # print(e) print("Service: %s host: %s is not known! Try again..." % (name, host)) return 0 def delete_index(index_name, elastic_host, elastic_port): es = elasticsearch.Elasticsearch( [{'host': elastic_host, 'port': elastic_port}]) if (es.indices.exists(index_name)): print("Deleting fileindex", index_name) res = es.indices.delete(index_name) def recreate_index(index_name, elastic_host, elastic_port): """ ToDo: Docstring. """ es = elasticsearch.Elasticsearch( [{'host': elastic_host, 'port': elastic_port}]) if not (es.indices.exists(index_name)): initialization_request = { "settings": { "number_of_shards": 2, "number_of_replicas": 0, # If true, malformed numbers/fields are ignored. # "index.mapping.ignore_malformed": True, # If false (default), malformed numbers/fields throw an exception and reject the whole document. # ToDo: ausprobieren und debuggen. "index.mapper.dynamic": True, # 3761 non-deprecated and non-private DICOM tags exist < 5000. "index.mapping.total_fields.limit": 6000, # default=100 ist zu wenig, 119 bei erster Fehlermeldung in Kibana. "index.max_docvalue_fields_search": 150 }, "mappings": { "_doc": { "dynamic": 'true', "date_detection": 'false', "numeric_detection": 'false', "dynamic_templates": [ { "check_integer": { "match_pattern": "regex", "match": "^.*_integer.*$", "mapping": { "type": "long" } } }, { "check_float": { "match_pattern": "regex", "match": "^.*_float.*$", "mapping": { "type": "float" } } }, { "check_datetime": { "match_pattern": "regex", "match": "^.*_datetime.*$", "mapping": { "type": "date", "format": "yyyy-MM-dd HH:mm:ss.SSSSSS" } } }, { "check_date": { "match_pattern": "regex", "match": "^.*_date.*$", "mapping": { "type": "date", "format": "yyyy-MM-dd" } } }, { "check_time": { "match_pattern": "regex", "match": "^.*_time.*$", "mapping": { "type": "date", "format": "HH:mm:ss.SSSSSS" } } }, { "check_timestamp": { "match_pattern": "regex", "match": "^.*timestamp.*$", "mapping": { "type": "date", "format": "yyyy-MM-dd HH:mm:ss.SSSSSS" } } }, { "check_object": { "match_pattern": "regex", "match": "^.*_object.*$", "mapping": { "type": "object" } } }, { "check_boolean": { "match_pattern": "regex", "match": "^.*_boolean.*$", "mapping": { "type": "boolean" } } }, { "check_array": { "match_pattern": "regex", "match": "^.*_array.*$", "mapping": { "type": "array" } } } ], } } } res = es.indices.create(index_name, initialization_request) print("################################################ Created elatic index!!") else: print("################################################ Index already exists") def setup_kibana(kibana_dashboard, kibana_host, kibana_port): """ ToDo: Docstring. """ print("SETUP KIBANA") with open(kibana_dashboard) as f: jsonObj = json.load(f) for anObject in jsonObj: try: i_d = anObject['_id'] t_ype = anObject['_type'] s_ource = anObject['_source'] resp = requests.post('http://' + kibana_host + ':' + str(kibana_port) + '/api/saved_objects/' + t_ype + '/' + i_d + '?overwrite={}'.format(override_objects), data='{"attributes":' + json.JSONEncoder().encode(s_ource) + '}', headers=kbn_xsrf) if resp.status_code == 200: print('{}: OK!'.format(s_ource['title'])) else: print('Could not send Kibana dashboard! -> Status-code') print('{}: ERROR!'.format(s_ource['title'])) print(resp.text) print(resp.content) exit(1) except Exception as e: logging.error(traceback.format_exc()) print('Could not send Kibana dashboard! -> Exception') print('{}: ERROR!'.format(s_ource['title'])) exit(1) return True # TODO https://discuss.elastic.co/t/reloading-the-index-field-list-automatically/116687 # https:///meta/api/index_patterns/_fields_for_wildcard?pattern=meta-index&meta_fields=%5B%22_source%22%2C%22_id%22%2C%22_type%22%2C%22_index%22%2C%22_score%22%5D def create_index_pattern(kibana_host, kibana_port): index_pattern = { "attributes": {"title": "{}".format(elastic_indexname), "fieldFormatMap": "{\"0020000D StudyInstanceUID_keyword.keyword\":{\"id\":\"url\",\"params\":{\"urlTemplate\":\"https://"+domain+":"+https_port+"/ohif/IHEInvokeImageDisplay?requestType=STUDY&studyUID={{value}}\",\"labelTemplate\":\"{{value}}\"}}}", } } try: resp = requests.post('http://' + kibana_host + ':' + str(kibana_port) + '/api/saved_objects/index-pattern/{}'.format(elastic_indexname) + '?overwrite={}'.format(override_objects), data=json.dumps(index_pattern), headers=kbn_xsrf) if resp.status_code == 200: print('Index-Pattern: OK!') else: print('Index-Pattern: Error!') print(resp.text) print(resp.content) exit(1) except Exception as e: logging.error(traceback.format_exc()) print('Index-Pattern: Error!') exit(1) print("Started init-container") if __name__ == "__main__": print("provisioning...") init_kibana = os.getenv('INITKIBANA', False) init_elastic = os.getenv('INITELASTIC', False) stack_version = os.getenv('STACKVERSION', '6.8.12') override_objects = os.getenv('OVERRIDE_OBJECTS', 'false') domain = os.getenv('DOMAIN', None) https_port = os.getenv('HTTPS_PORT', "443") - elastic_host = os.getenv('ELASTICHOST', 'elastic-meta-service.default.svc') + elastic_host = os.getenv('ELASTICHOST', 'opensearch-service.default.svc') elastic_indexname = os.getenv('ELASTICINDEX', 'meta-index') kibana_host = os.getenv('KIBANAHOST', 'kibana-service.meta.svc') kibana_dashboard_file = os.getenv('KIBANADASHBOARD', '/dashboards/kibana-dashboard.json') kibana_port = os.getenv('KIBANAPORT', '5601') if domain is None: print("DOMAIN env not set -> exiting..") exit(1) kbn_xsrf = {'kbn-version': stack_version} if init_elastic: print("Initializing Elasticsearch-idices...") elastic_port = os.getenv('ELASTICPORT', '9200') recreate_index(index_name=elastic_indexname, elastic_host=elastic_host, elastic_port=elastic_port) print("done.") if init_kibana: print("Initializing Kibana-Dashboards...") setup_kibana(kibana_dashboard=kibana_dashboard_file, kibana_host=kibana_host, kibana_port=kibana_port) create_index_pattern(kibana_host, kibana_port) print("done.") print("All done - End of init-container.") diff --git a/services/meta/meta-init/meta-init-chart/templates/init_meta_job.yaml b/services/meta/meta-init/meta-init-chart/templates/init_meta_job.yaml index b873dd6d..4a47c8c5 100644 --- a/services/meta/meta-init/meta-init-chart/templates/init_meta_job.yaml +++ b/services/meta/meta-init/meta-init-chart/templates/init_meta_job.yaml @@ -1,68 +1,68 @@ --- apiVersion: batch/v1 kind: Job metadata: # Unique key of the Job instance name: init-meta namespace: {{ .Values.global.meta_namespace }} spec: template: metadata: name: init-meta spec: initContainers: - name: init image: {{ .Values.global.registry_url }}/service_checker:1.1 imagePullPolicy: {{ .Values.global.pull_policy_jobs }} env: - name: WAIT - value: "kibana,kibana-meta-service.meta.svc,5601;elastic,elastic-meta-service.meta.svc,9200" + value: "kibana,kibana-meta-service.meta.svc,5601;elastic,opensearch-service.meta.svc,9200" - name: DELAY value: "1" - name: TIMEOUT value: "10" containers: - name: init-meta image: {{ .Values.global.registry_url }}/init-meta:6.8.12 imagePullPolicy: {{ .Values.global.pull_policy_jobs }} env: - name: DOMAIN value: "{{ required "A valid hostname (or fqdn) is required!" .Values.global.hostname }}" - name: HTTPS_PORT value: "{{ .Values.global.https_port }}" - name: STACKVERSION value: "6.8.12" - name: OVERRIDE_OBJECTS value: "true" - name: INITKIBANA value: "True" - name: INITELASTIC value: "True" - name: ELASTICHOST - value: "elastic-meta-service.meta.svc" + value: "opensearch-service.meta.svc" - name: ELASTICPORT value: "9200" - name: ELASTICINDEX value: "meta-index" - name: KIBANAHOST value: "kibana-meta-service.meta.svc" - name: KIBANAPORT value: "5601" - name: KIBANADASHBOARD value: "/dashboards/kibana-dashboard.json" volumeMounts: - name: kibana-dashboard-file mountPath: /dashboards/kibana-dashboard.json subPath: kibana-dashboard.json # Do not restart containers after they exit restartPolicy: Never volumes: - name: kibana-dashboard-file configMap: name: kibana-dashboard items: - key: kibana-dashboard.json path: kibana-dashboard.json imagePullSecrets: - name: registry-secret backoffLimit: 10 \ No newline at end of file diff --git a/services/meta/opensearch/docker/Dockerfile b/services/meta/opensearch/docker/Dockerfile new file mode 100644 index 00000000..e4fd7f23 --- /dev/null +++ b/services/meta/opensearch/docker/Dockerfile @@ -0,0 +1,5 @@ +FROM opensearchproject/opensearch:1.2.3 + +LABEL IMAGE="opensearch" +LABEL VERSION="1.2.3" +LABEL CI_IGNORE="False" diff --git a/services/meta/opensearch/opensearch-chart/.helmignore b/services/meta/opensearch/opensearch-chart/.helmignore new file mode 100644 index 00000000..50af0317 --- /dev/null +++ b/services/meta/opensearch/opensearch-chart/.helmignore @@ -0,0 +1,22 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ diff --git a/services/meta/opensearch/opensearch-chart/Chart.yaml b/services/meta/opensearch/opensearch-chart/Chart.yaml new file mode 100644 index 00000000..e20611d7 --- /dev/null +++ b/services/meta/opensearch/opensearch-chart/Chart.yaml @@ -0,0 +1,7 @@ +--- +apiVersion: v1 +appVersion: "1.2.3" +description: Chart for Opensearch +name: opensearch-chart +version: "1.2.3" + diff --git a/services/meta/opensearch/opensearch-chart/templates/deployment.yaml b/services/meta/opensearch/opensearch-chart/templates/deployment.yaml new file mode 100644 index 00000000..cbf12306 --- /dev/null +++ b/services/meta/opensearch/opensearch-chart/templates/deployment.yaml @@ -0,0 +1,55 @@ +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: opensearch-de + namespace: {{ .Values.global.meta_namespace }} +spec: + replicas: 1 + selector: + matchLabels: + app-name: opensearch + template: + metadata: + labels: + app-name: opensearch + spec: + # initContainers: + # - name: volume-permissions + # image: {{ .Values.global.registry_url }}/busybox:1.31 + + # imagePullPolicy: {{ .Values.global.pull_policy_pods }} + # command: ["sh", "-c", "chown -R 1000:1000 /elastic_data"] + # volumeMounts: + # - mountPath: /elastic_data + # name: elasticdata + containers: + - name: opensearch-container + image: {{ .Values.global.registry_url }}/opensearch:1.2.3 + imagePullPolicy: {{ .Values.global.pull_policy_pods }} + env: + - name: ES_JAVA_OPTS + value: "-Xms{{ .Values.global.elastic_memory }}m -Xmx{{ .Values.global.elastic_memory }}m -Dlog4j2.formatMsgNoLookups=true" + ports: + - containerPort: 9200 + resources: + requests: + memory: 1500Mi + limits: + memory: 2000Mi + volumeMounts: + - mountPath: /usr/share/opensearch/data + name: osdata + livenessProbe: + tcpSocket: + port: 9200 + initialDelaySeconds: 15 + periodSeconds: 120 + volumes: + - name: osdata + hostPath: + path: {{ .Values.global.fast_data_dir }}/opensearch + type: DirectoryOrCreate + imagePullSecrets: + - name: registry-secret +--- diff --git a/services/meta/opensearch/opensearch-chart/templates/service.yaml b/services/meta/opensearch/opensearch-chart/templates/service.yaml new file mode 100644 index 00000000..e8e717a2 --- /dev/null +++ b/services/meta/opensearch/opensearch-chart/templates/service.yaml @@ -0,0 +1,37 @@ +--- +apiVersion: v1 +kind: Service +metadata: + name: opensearch-service + namespace: {{ .Values.global.meta_namespace }} + labels: + app-name: opensearch +spec: + selector: + app-name: opensearch + type: ClusterIP + ports: + - name: opensearch-api + port: 9200 + targetPort: 9200 + protocol: TCP +--- +apiVersion: networking.k8s.io/v1beta1 +kind: Ingress +metadata: + name: opensearch-ingress + namespace: {{ .Values.global.meta_namespace }} + annotations: + traefik.ingress.kubernetes.io/router.entrypoints: websecure + traefik.ingress.kubernetes.io/router.middlewares: kube-system-errorpages@kubernetescrd,kube-system-strip-prefix@kubernetescrd + kubernetes.io/ingress.global-static-ip-name: "kubernetes-ingress" +spec: + rules: + - host: + http: + paths: + - path: /opensearch + backend: + serviceName: opensearch-service + servicePort: opensearch-api +--- \ No newline at end of file diff --git a/services/meta/opensearch/opensearch-chart/values.yaml b/services/meta/opensearch/opensearch-chart/values.yaml new file mode 100644 index 00000000..c5623344 --- /dev/null +++ b/services/meta/opensearch/opensearch-chart/values.yaml @@ -0,0 +1,6 @@ +--- +global: + pull_policy_pods: "IfNotPresent" + meta_namespace: "meta" + fast_data_dir: /home/kaapana + elastic_memory: 1000 diff --git a/services/meta/os-dashboards/kibana-kaapana/docker/Dockerfile b/services/meta/os-dashboards/kibana-kaapana/docker/Dockerfile new file mode 100644 index 00000000..66bd9c53 --- /dev/null +++ b/services/meta/os-dashboards/kibana-kaapana/docker/Dockerfile @@ -0,0 +1,20 @@ +FROM opensearchproject/opensearch-dashboards:1.2.0 + +LABEL IMAGE="os-dashboards" +LABEL VERSION="1.2.0" +LABEL CI_IGNORE="False" + +# WORKDIR /usr/share/kibana/ +# +# USER root +# +# ADD files/workflow_trigger-0.0.1.zip /workflow_trigger-0.0.1.zip +# RUN bin/kibana-plugin install file:///workflow_trigger-0.0.1.zip +# +# USER kibana +# +# COPY files/replace_files/ui_app.pug /usr/share/kibana/src/ui/ui_render/views/ui_app.pug +# COPY files/replace_files/logo.png /usr/share/kibana/optimize/bundles/logo.png +# COPY files/replace_files/commons.style.css /usr/share/kibana/optimize/bundles/commons.style.css +# COPY files/replace_files/index.css /usr/share/kibana/built_assets/css/plugins/kibana/index.css + diff --git a/services/meta/os-dashboards/kibana-kaapana/docker/files/replace_files/commons.style.css b/services/meta/os-dashboards/kibana-kaapana/docker/files/replace_files/commons.style.css new file mode 100644 index 00000000..8cb96146 --- /dev/null +++ b/services/meta/os-dashboards/kibana-kaapana/docker/files/replace_files/commons.style.css @@ -0,0 +1,9920 @@ +/** + * designed to emulate root-element stretching and overflow + * prevention previously handled in kbn_chrome.less + */ +.coreSystemRootDomElement { + overflow-x: hidden; + min-width: 100%; + min-height: 100%; +} + +.kbnGlobalNav .kbnGlobalNav__smallLogoBrand.kibana, +.kbnGlobalNav .kbnGlobalNav__logoBrand.kibana { + background-image: url(__REPLACE_WITH_PUBLIC_PATH__logo.png); + background-position: 10px 10px; + background-size: 160px 40px; + background-repeat: no-repeat; + background-color: #ffffff; +} + +/** + * 2. Account for inner box-shadow style border when in group + * 3. Must supply both values to background-size or some browsers apply the single value to both directions + */ +/** + * 4. Override invalid state with focus state. + */ +/** + * 1. Enforce pointer when there's no href. + * 2. Allow these styles to be applied to a button element. + */ +/** + * 1. Override Bootstrap styles. + */ +/** + * 1. Links can't have a disabled attribute, so they can't support :disabled. + */ +/** + * 1. Links can't have a disabled attribute, so they can't support :enabled. + */ +/** + * 1. Links can't have a disabled attribute, so they can't support :enabled. + */ +/** + * 1. Links can't have a disabled attribute, so they can't support :enabled. + */ +/** + * 1. Make sure outline doesn't get hidden beneath adjacent elements. + * 2. Override inherited styles (possibly from Bootstrap). + * 3. Create an offset box-shadow that follows the contours of the element. + */ +/** + * Nothing fancy, just the basics so we can use this for both regular and static controls. + */ +/** + * 1. Prevent Firefox users from being able to resize textareas to smaller than the min-height. + */ +/** + * We specifically don't include Angular's ng-${state} classes here because we don't want to be tightly + * coupled with Angular. + */ +/** + * 1. Embedded SVG of fa-caret-down (https://github.com/encharm/Font-Awesome-SVG-PNG/blob/master/black/svg/caret-down.svg). + * 2. Make room on right side for the caret. + * 3. Prevent Firefox from showing dotted line around text on focus. + */ +/** + * 1. Setting to inline-block guarantees the same height when applied to both + * button elements and anchor tags. + * 2. Fit MicroButton inside of Table rows without pushing them taller. + */ +/** + * 1. Give Bar a consistent height for when it contains shorter children, and therefore can't + * depend on them to give it the desired height. + */ +/** + * 1. Put 10px of space between each child. + * 2. If there is only one section, align it to the right. If you wanted it aligned right, you + * wouldn't use the Bar in the first place. + * 3. Children in the middle should center their content. + * 4. Fix an IE bug which causes the last child to overflow the container. + * 5. Fixing this bug means we now need to align the children to the right. + */ +:focus:not([class^="eui"]) { + z-index: 1; + /* 1 */ + outline: none !important; + /* 2 */ + -webkit-box-shadow: 0 0 0 1px #fff, 0 0 0 2px #006BB4; + box-shadow: 0 0 0 1px #fff, 0 0 0 2px #006BB4; + /* 3 */ } + +/** + * 1. Required for IE11. + */ +main { + display: block; + /* 1 */ } + +.kuiBar { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: justify; + -webkit-justify-content: space-between; + -ms-flex-pack: justify; + justify-content: space-between; + min-height: 30px; + /* 1 */ } + +.kuiBarSection { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-flex: 1; + -webkit-flex: 1 1 auto; + -ms-flex: 1 1 auto; + flex: 1 1 auto; + margin-left: 25px; + margin-right: 25px; } + .kuiBarSection:not(:first-child):not(:last-child):not(:only-child) { + -webkit-box-pack: center; + -webkit-justify-content: center; + -ms-flex-pack: center; + justify-content: center; + /* 3 */ } + .kuiBarSection:first-child { + margin-left: 0; } + .kuiBarSection:last-child { + margin-right: 0; + -webkit-box-flex: 0; + -webkit-flex: 0 1 auto; + -ms-flex: 0 1 auto; + flex: 0 1 auto; + /* 4 */ + -webkit-box-pack: end; + -webkit-justify-content: flex-end; + -ms-flex-pack: end; + justify-content: flex-end; + /* 5 */ } + .kuiBarSection:only-child { + margin-left: auto; + /* 2 */ } + .kuiBarSection > * + * { + margin-left: 10px; + /* 1 */ } + +/** + * 1. Setting to inline-block guarantees the same height when applied to both + * button elements and anchor tags. + * 2. Links can be focused when they're "disabled" (since we're just faking this with a class), but + * at least make them look like they're not focused. + */ +.kuiButton { + display: inline-block; + /* 1 */ + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + cursor: pointer; + padding: 4px 12px 5px; + font-size: 14px; + font-weight: 400; + line-height: 1.5; + height: 30px; + text-decoration: none; + border: none; + border-radius: 4px; } + .kuiButton:disabled { + cursor: not-allowed; + opacity: .5; } + a.kuiButton.kuiButton-isDisabled { + cursor: not-allowed; + opacity: .5; } + .kuiButton:enabled:active { + -webkit-transform: translateY(1px); + transform: translateY(1px); } + a.kuiButton:not(.kuiButton-isDisabled):active { + /* 1 */ + -webkit-transform: translateY(1px); + transform: translateY(1px); } + +/** + * 1. Solves whitespace problems introduced by inline elements. + */ +.kuiButton__inner { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + /* 1 */ + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; + /* 1 */ } + +.kuiButton--small { + font-size: 12px; + padding: 2px 8px 3px; + height: 22px; } + +.kuiButton--fullWidth { + width: 100%; + text-align: center; } + +.kuiButton--iconText .kuiButton__icon:first-child:not(:only-child) { + margin-right: 8px; } + +.kuiButton--iconText .kuiButton__icon:last-child:not(:only-child) { + margin-left: 8px; } + +.kuiButton--iconText.kuiButton--small .kuiButton__icon:first-child:not(:only-child) { + margin-right: 4px; } + +.kuiButton--iconText.kuiButton--small .kuiButton__icon:last-child:not(:only-child) { + margin-left: 4px; } + +/** + * 1. Override Bootstrap. + */ +.kuiButton--basic { + color: #2D2D2D; + background-color: #F5F7FA; } + .kuiButton--basic:not(a):enabled:focus { + color: #2D2D2D; } + a.kuiButton--basic:not(.kuiButton-isDisabled):focus { + /* 1 */ + color: #2D2D2D; } + .kuiButton--basic:enabled:hover { + background-color: #d3dce9 !important; + /* 1 */ } + a.kuiButton--basic:not(.kuiButton-isDisabled):hover { + /* 1 */ + background-color: #d3dce9 !important; + /* 1 */ } + .kuiButton--basic:enabled:active { + background-color: #d3dce9 !important; + /* 1 */ } + a.kuiButton--basic:not(.kuiButton-isDisabled):active { + /* 1 */ + background-color: #d3dce9 !important; + /* 1 */ } + .theme-dark .kuiButton--basic { + color: #FFF; + background-color: #9c9c9c; } + .theme-dark .kuiButton--basic:not(a):enabled:focus { + z-index: 1; + /* 1 */ + outline: none !important; + /* 2 */ + -webkit-box-shadow: 0 0 0 1px #222, 0 0 0 2px #006BB4; + box-shadow: 0 0 0 1px #222, 0 0 0 2px #006BB4; + /* 3 */ + color: #FFF; } + a.theme-dark .kuiButton--basic:not(.kuiButton-isDisabled):focus { + /* 1 */ + z-index: 1; + /* 1 */ + outline: none !important; + /* 2 */ + -webkit-box-shadow: 0 0 0 1px #222, 0 0 0 2px #006BB4; + box-shadow: 0 0 0 1px #222, 0 0 0 2px #006BB4; + /* 3 */ + color: #FFF; } + .theme-dark .kuiButton--basic:enabled:hover { + background-color: dimgray !important; + /* 1 */ } + a.theme-dark .kuiButton--basic:not(.kuiButton-isDisabled):hover { + /* 1 */ + background-color: dimgray !important; + /* 1 */ } + .theme-dark .kuiButton--basic:enabled:active { + background-color: dimgray !important; + /* 1 */ } + a.theme-dark .kuiButton--basic:not(.kuiButton-isDisabled):active { + /* 1 */ + background-color: dimgray !important; + /* 1 */ } + +/** + * 1. Override Bootstrap. + */ +.kuiButton--primary { + color: #FFF; + background-color: #006BB4; } + .kuiButton--primary:not(a):enabled:focus { + color: #FFF; } + a.kuiButton--primary:not(.kuiButton-isDisabled):focus { + /* 1 */ + color: #FFF; } + .kuiButton--primary:enabled:hover { + color: #FFF !important; + /* 1 */ + background-color: #004d81; } + a.kuiButton--primary:not(.kuiButton-isDisabled):hover { + /* 1 */ + color: #FFF !important; + /* 1 */ + background-color: #004d81; } + .kuiButton--primary:enabled:active { + color: #FFF !important; + /* 1 */ + background-color: #004d81; } + a.kuiButton--primary:not(.kuiButton-isDisabled):active { + /* 1 */ + color: #FFF !important; + /* 1 */ + background-color: #004d81; } + +/** + * 1. Override Bootstrap. + */ +.kuiButton--success { + color: #FFF; + background-color: #017D73; } + .kuiButton--success:not(a):enabled:focus { + color: #FFF; } + a.kuiButton--success:not(.kuiButton-isDisabled):focus { + /* 1 */ + color: #FFF; } + .kuiButton--success:enabled:hover { + color: #FFF !important; + /* 1 */ + background-color: #014a44; } + a.kuiButton--success:not(.kuiButton-isDisabled):hover { + /* 1 */ + color: #FFF !important; + /* 1 */ + background-color: #014a44; } + .kuiButton--success:enabled:active { + color: #FFF !important; + /* 1 */ + background-color: #014a44; } + a.kuiButton--success:not(.kuiButton-isDisabled):active { + /* 1 */ + color: #FFF !important; + /* 1 */ + background-color: #014a44; } + +/** + * 1. Override Bootstrap. + */ +.kuiButton--danger { + color: #BD271E; + background-color: rgba(255, 255, 255, 0.5); + border: solid 1px #BD271E; } + .kuiButton--danger:not(a):enabled:focus { + z-index: 1; + /* 1 */ + outline: none !important; + /* 2 */ + -webkit-box-shadow: 0 0 0 1px #fff, 0 0 0 2px #BD271E; + box-shadow: 0 0 0 1px #fff, 0 0 0 2px #BD271E; + /* 3 */ + color: #BD271E; } + a.kuiButton--danger:not(.kuiButton-isDisabled):focus { + /* 1 */ + z-index: 1; + /* 1 */ + outline: none !important; + /* 2 */ + -webkit-box-shadow: 0 0 0 1px #fff, 0 0 0 2px #BD271E; + box-shadow: 0 0 0 1px #fff, 0 0 0 2px #BD271E; + /* 3 */ + color: #BD271E; } + .kuiButton--danger:enabled:hover { + color: #911e17 !important; + background-color: rgba(250, 225, 224, 0.5); + border: solid 1px #911e17; } + a.kuiButton--danger:not(.kuiButton-isDisabled):hover { + /* 1 */ + color: #911e17 !important; + background-color: rgba(250, 225, 224, 0.5); + border: solid 1px #911e17; } + .kuiButton--danger:enabled:active { + color: #911e17 !important; + background-color: rgba(250, 225, 224, 0.5); + border: solid 1px #911e17; } + a.kuiButton--danger:not(.kuiButton-isDisabled):active { + /* 1 */ + color: #911e17 !important; + background-color: rgba(250, 225, 224, 0.5); + border: solid 1px #911e17; } + +/** + * 1. Override Bootstrap. + */ +.kuiButton--warning { + color: #FFF; + background-color: #f98100; } + .kuiButton--warning:not(a):enabled:focus { + z-index: 1; + /* 1 */ + outline: none !important; + /* 2 */ + -webkit-box-shadow: 0 0 0 1px #fff, 0 0 0 2px #F5A700; + box-shadow: 0 0 0 1px #fff, 0 0 0 2px #F5A700; + /* 3 */ + color: #FFF; } + a.kuiButton--warning:not(.kuiButton-isDisabled):focus { + /* 1 */ + z-index: 1; + /* 1 */ + outline: none !important; + /* 2 */ + -webkit-box-shadow: 0 0 0 1px #fff, 0 0 0 2px #F5A700; + box-shadow: 0 0 0 1px #fff, 0 0 0 2px #F5A700; + /* 3 */ + color: #FFF; } + .kuiButton--warning:enabled:hover { + color: #FFF !important; + /* 1 */ + background-color: #c66700; } + a.kuiButton--warning:not(.kuiButton-isDisabled):hover { + /* 1 */ + color: #FFF !important; + /* 1 */ + background-color: #c66700; } + .kuiButton--warning:enabled:active { + color: #FFF !important; + /* 1 */ + background-color: #c66700; } + a.kuiButton--warning:not(.kuiButton-isDisabled):active { + /* 1 */ + color: #FFF !important; + /* 1 */ + background-color: #c66700; } + .kuiButton--warning:disabled { + background-color: #ff9a2d; } + a.kuiButton--warning.kuiButton-isDisabled { + background-color: #ff9a2d; } + +/** + * 1. Override Bootstrap. + * 2. Override either Bootstrap or Timelion styles. + */ +.kuiButton--hollow { + color: #006BB4 !important; + /* 2 */ + background-color: transparent; } + .theme-dark .kuiButton--hollow { + color: #4DA1C0 !important; + /* 2 */ } + .kuiButton--hollow:enabled:hover { + color: #004d81 !important; + /* 1 */ + text-decoration: underline; } + .theme-dark .kuiButton--hollow:enabled:hover { + color: #def2f6 !important; + /* 2 */ } + a.kuiButton--hollow:not(.kuiButton-isDisabled):hover { + /* 1 */ + color: #004d81 !important; + /* 1 */ + text-decoration: underline; } + .theme-dark a.kuiButton--hollow:not(.kuiButton-isDisabled):hover { + color: #def2f6 !important; + /* 2 */ } + .kuiButton--hollow:enabled:active { + color: #004d81 !important; + /* 1 */ + text-decoration: underline; } + .theme-dark .kuiButton--hollow:enabled:active { + color: #def2f6 !important; + /* 2 */ } + a.kuiButton--hollow:not(.kuiButton-isDisabled):active { + /* 1 */ + color: #004d81 !important; + /* 1 */ + text-decoration: underline; } + .theme-dark a.kuiButton--hollow:not(.kuiButton-isDisabled):active { + color: #def2f6 !important; + /* 2 */ } + +.kuiButton--secondary { + color: #006BB4 !important; + /* 2 */ + border: solid 1px #006BB4; + background-color: rgba(255, 255, 255, 0.5); } + .kuiButton--secondary:enabled:hover { + color: #004d81 !important; + /* 1 */ + border: solid 1px #004d81; + background-color: rgba(180, 225, 255, 0.5); } + a.kuiButton--secondary:not(.kuiButton-isDisabled):hover { + /* 1 */ + color: #004d81 !important; + /* 1 */ + border: solid 1px #004d81; + background-color: rgba(180, 225, 255, 0.5); } + .kuiButton--secondary:enabled:active { + color: #004d81 !important; + /* 1 */ + border: solid 1px #004d81; + background-color: rgba(180, 225, 255, 0.5); } + a.kuiButton--secondary:not(.kuiButton-isDisabled):active { + /* 1 */ + color: #004d81 !important; + /* 1 */ + border: solid 1px #004d81; + background-color: rgba(180, 225, 255, 0.5); } + +.kuiButtonGroup { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; } + .kuiButtonGroup .kuiButton + .kuiButton { + margin-left: 4px; } + +.kuiButtonGroup--united > .kuiButton:not(:first-child):not(:last-child) { + border-radius: 0; } + +.kuiButtonGroup--united > .kuiButton:first-child { + border-top-right-radius: 0; + border-bottom-right-radius: 0; } + +.kuiButtonGroup--united > .kuiButton:last-child { + border-top-left-radius: 0; + border-bottom-left-radius: 0; } + +.kuiButtonGroup--united > .kuiButton:only-child { + border-top-right-radius: 4px; + border-bottom-right-radius: 4px; + border-top-left-radius: 4px; + border-bottom-left-radius: 4px; } + +.kuiButtonGroup--united .kuiButton + .kuiButton { + margin-left: 2px; } + +.kuiButtonGroup--fullWidth { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; } + .kuiButtonGroup--fullWidth > .kuiButton { + -webkit-box-flex: 1; + -webkit-flex: 1 1 auto; + -ms-flex: 1 1 auto; + flex: 1 1 auto; + text-align: center; } + +.eui-textCenter > .kuiButtonGroup, +.text-center > .kuiButtonGroup { + display: inline-block; } + +.kuiCollapseButton { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + background-color: transparent; + padding: 4px; + border: none; + line-height: 1; + font-size: 16px; + color: #2D2D2D !important; + /* 1 */ + cursor: pointer; + opacity: 0.35; } + .kuiCollapseButton:hover { + opacity: 1; } + .theme-dark .kuiCollapseButton { + color: #DDD !important; + /* 1 */ } + +.kuiExpression { + padding: 20px; + white-space: nowrap; } + +.kuiExpressionButton { + background-color: transparent; + padding: 5px 0px; + border: none; + border-bottom: dotted 2px #D3DAE6; + font-size: 14px; + cursor: pointer; } + +.kuiExpressionButton__description { + color: #017D73; + text-transform: uppercase; } + +.kuiExpressionButton__value { + color: #2D2D2D; + text-transform: lowercase; } + +.kuiExpressionButton-isActive { + border-bottom: solid 2px #017D73; } + +/** + * 1. Set inline-block so this wrapper shrinks to fit the input. + */ +.kuiAssistedInput { + display: inline-block; + /* 1 */ + position: relative; } + +/** + * 1. Vertically center the assistance, regardless of its height. + */ +.kuiAssistedInput__assistance { + position: absolute; + right: 12px; + top: 50%; + /* 1 */ + -webkit-transform: translateY(-50%); + transform: translateY(-50%); + /* 1 */ } + +/** + * 1. Deliberately disable only webkit appearance. If we disable it in Firefox, we get a really + * ugly default appearance which we can't customize, so our best option is to give Firefox + * control over the checkbox's appearance. + * 2. Override default styles (possibly from Bootstrap). + */ +.kuiCheckBox { + -webkit-appearance: none; + /* 1 */ + background-color: #FFF; + border: 1px solid #BEBEBE; + border-radius: 4px; + width: 16px; + height: 16px; + line-height: 1.5 !important; + /* 2 */ + margin: 0 !important; + /* 2 */ + font: "Open Sans", Helvetica, Arial, sans-serif !important; + /* 2 */ + font-family: "Open Sans", Helvetica, Arial, sans-serif !important; + /* 2 */ + font-size: 10px !important; + /* 2 */ + -webkit-transition: background-color 0.1s linear; + transition: background-color 0.1s linear; } + .kuiCheckBox:before { + position: relative; + left: 0.25em; + font-family: FontAwesome; + content: "\F00C"; + font-size: 1em; + opacity: 0; + color: #FFF; + -webkit-transition: opacity 0.1s linear; + transition: opacity 0.1s linear; } + .kuiCheckBox:checked { + border-color: #006BB4; + background-color: #006BB4; } + .kuiCheckBox:checked:before { + opacity: 1; } + .kuiCheckBox:focus { + z-index: 1; + /* 1 */ + outline: none !important; + /* 2 */ + -webkit-box-shadow: 0 0 0 1px #fff, 0 0 0 2px #006BB4; + box-shadow: 0 0 0 1px #fff, 0 0 0 2px #006BB4; + /* 3 */ } + .kuiCheckBox:disabled { + background-color: #D3DAE6 !important; + border-color: #D3DAE6 !important; + cursor: not-allowed !important; } + .theme-dark .kuiCheckBox { + background-color: #1b1b1b; + border-color: #1b1b1b; } + .theme-dark .kuiCheckBox:checked { + background-color: #006BB4; } + +.kuiCheckBoxLabel { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; + font-weight: normal !important; + line-height: 1.5; } + +.kuiCheckBoxLabel__text { + font-size: 14px; + margin-left: 8px; } + +/** + * 1. Override Bootstrap. + */ +.kuiLabel { + font-size: 14px; + line-height: 1.5; + font-weight: bold; + margin-bottom: 0; + /* 1 */ } + +.kuiSearchInput { + width: 180px; + display: inline-block; + position: relative; + font-size: 14px; + line-height: 1.5; } + .kuiSearchInput.kuiSearchInput-isInvalid .kuiSearchInput__input { + border-color: #BD271E; } + +.kuiSearchInput__icon { + position: absolute; + top: 0.5em; + left: 0.7em; + font-size: 1em; + color: #ACACAC; } + +/** + * 1. Make space for search icon. + * 2. Expand to fill container. + */ +.kuiSearchInput__input { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + font-family: "Open Sans", Helvetica, Arial, sans-serif; + padding: 4px 12px 4px; + font-size: 14px; + font-weight: 400; + line-height: 1.5; + color: #2D2D2D; + background-color: #ffffff; + border: 1px solid rgba(0, 0, 0, 0.1); + border-radius: 4px; + -webkit-transition: border-color 0.1s linear; + transition: border-color 0.1s linear; + min-height: 32px; + /* 1 */ + padding-left: 28px; + /* 1 */ + width: 100%; + /* 2 */ } + .theme-dark .kuiSearchInput__input { + color: #DDD; } + .kuiSearchInput__input:invalid { + border-color: #BD271E; } + .kuiSearchInput__input:focus { + outline: none; + border-color: #006BB4; } + .kuiSearchInput__input:disabled { + opacity: 0.4; + cursor: not-allowed; } + .theme-dark .kuiSearchInput__input { + background-color: #1b1b1b; + border-color: #333; } + .theme-dark .kuiSearchInput__input:focus { + outline: none; + border-color: #006BB4; } + +.kuiSearchInput--small { + width: 60px; } + +.kuiSearchInput--large { + width: 400px; } + +/** + * Avoid setting a width here, so that the width of the options can dynamically set the width. + */ +.kuiSelect { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + font-family: "Open Sans", Helvetica, Arial, sans-serif; + padding: 4px 12px 4px; + font-size: 14px; + font-weight: 400; + line-height: 1.5; + color: #2D2D2D; + background-color: #ffffff; + border: 1px solid rgba(0, 0, 0, 0.1); + border-radius: 4px; + -webkit-transition: border-color 0.1s linear; + transition: border-color 0.1s linear; + min-height: 32px; + /* 1 */ + padding-right: 30px; + /* 2 */ + background-image: url('data:image/svg+xml;utf8,'); + /* 1 */ + background-size: 14px; + background-repeat: no-repeat; + background-position: calc(100% - 8px); + /* 2 */ } + .theme-dark .kuiSelect { + color: #DDD; } + .kuiSelect:invalid { + border-color: #BD271E; } + .kuiSelect:focus { + outline: none; + border-color: #006BB4; } + .kuiSelect:disabled { + opacity: 0.4; + cursor: not-allowed; } + .theme-dark .kuiSelect { + background-color: #1b1b1b; + border-color: #333; } + .theme-dark .kuiSelect:focus { + outline: none; + border-color: #006BB4; } + .kuiSelect:-moz-focusring { + text-shadow: 0 0 0; + /* 3 */ } + .theme-dark .kuiSelect { + background-image: url('data:image/svg+xml;utf8,'); + /* 1 */ } + .kuiSelect.kuiSelect-isInvalid { + border-color: #BD271E; } + .kuiSelect:focus { + -webkit-box-shadow: none; + box-shadow: none; + outline: none; + border-color: #006BB4; } + +.kuiSelect--small { + width: 60px; } + +.kuiSelect--medium { + width: 180px; } + +.kuiSelect--large { + width: 400px; } + +/** + * 1. Have the same spatial footprint as the regular input. + */ +.kuiStaticInput { + width: 180px; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + font-family: "Open Sans", Helvetica, Arial, sans-serif; + padding: 4px 12px 4px; + font-size: 14px; + font-weight: 400; + line-height: 1.5; + color: #2D2D2D; + border: 1px solid transparent; + /* 1 */ + background-color: transparent; } + .theme-dark .kuiStaticInput { + color: #DDD; } + +.kuiTextArea { + width: 180px; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + font-family: "Open Sans", Helvetica, Arial, sans-serif; + padding: 4px 12px 4px; + font-size: 14px; + font-weight: 400; + line-height: 1.5; + color: #2D2D2D; + background-color: #ffffff; + border: 1px solid rgba(0, 0, 0, 0.1); + border-radius: 4px; + -webkit-transition: border-color 0.1s linear; + transition: border-color 0.1s linear; + min-height: 32px; + /* 1 */ } + .theme-dark .kuiTextArea { + color: #DDD; } + .kuiTextArea:invalid { + border-color: #BD271E; } + .kuiTextArea:focus { + outline: none; + border-color: #006BB4; } + .kuiTextArea:disabled { + opacity: 0.4; + cursor: not-allowed; } + .theme-dark .kuiTextArea { + background-color: #1b1b1b; + border-color: #333; } + .theme-dark .kuiTextArea:focus { + outline: none; + border-color: #006BB4; } + .kuiTextArea:focus { + -webkit-box-shadow: none; + box-shadow: none; + outline: none; + border-color: #006BB4; } + .kuiTextArea.kuiTextArea-isInvalid { + border-color: #BD271E; } + +.kuiTextArea--nonResizable { + resize: none; } + +.kuiTextArea--small { + width: 60px; } + +.kuiTextArea--large { + width: 400px; } + +.kuiTextInput { + width: 180px; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + font-family: "Open Sans", Helvetica, Arial, sans-serif; + padding: 4px 12px 4px; + font-size: 14px; + font-weight: 400; + line-height: 1.5; + color: #2D2D2D; + background-color: #ffffff; + border: 1px solid rgba(0, 0, 0, 0.1); + border-radius: 4px; + -webkit-transition: border-color 0.1s linear; + transition: border-color 0.1s linear; + min-height: 32px; + /* 1 */ } + .theme-dark .kuiTextInput { + color: #DDD; } + .kuiTextInput:invalid { + border-color: #BD271E; } + .kuiTextInput:focus { + outline: none; + border-color: #006BB4; } + .kuiTextInput:disabled { + opacity: 0.4; + cursor: not-allowed; } + .theme-dark .kuiTextInput { + background-color: #1b1b1b; + border-color: #333; } + .theme-dark .kuiTextInput:focus { + outline: none; + border-color: #006BB4; } + .kuiTextInput.kuiTextInput-isInvalid { + border-color: #BD271E; } + +.kuiTextInput--small { + width: 60px; } + +.kuiTextInput--large { + width: 400px; } + +/** + * 1. We may want to put elements in here which have different heights. + */ +.kuiFieldGroup { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; + /* 1 */ } + +.kuiFieldGroup--alignTop { + -webkit-box-align: start; + -webkit-align-items: flex-start; + -ms-flex-align: start; + align-items: flex-start; } + +.kuiFieldGroupSection { + line-height: 1.5; } + .kuiFieldGroupSection + .kuiFieldGroupSection { + margin-left: 10px; } + +.kuiFieldGroupSection--wide { + -webkit-box-flex: 1; + -webkit-flex: 1 1 auto; + -ms-flex: 1 1 auto; + flex: 1 1 auto; } + .kuiFieldGroupSection--wide > * { + width: 100%; } + +/** + * 1. Copied from FontAwesome's .fa class. We use a custom class to make it easier to migrate away + * from FontAwesome someday. When we do migrate away, we can just update this definition. + */ +.kuiIcon { + display: inline-block; + /* 1 */ + font: normal normal normal 14px/1 FontAwesome; + /* 1 */ + font-size: inherit; + /* 1 */ + text-rendering: auto; + /* 1 */ + -webkit-font-smoothing: antialiased; + /* 1 */ + -moz-osx-font-smoothing: grayscale; + /* 1 */ } + +.kuiIcon--info { + color: #006BB4; } + +.kuiIcon--success { + color: #017D73; } + +.kuiIcon--warning { + color: #F5A700; } + +.kuiIcon--error { + color: #BD271E; } + +.kuiIcon--inactive { + color: #D3DAE6; } + +.kuiIcon--basic { + color: #565656; } + +.kuiInfoPanel { + padding: 14px 20px 18px; + line-height: 1.5; + border: 2px solid; } + +/** + * 1. TODO: Pick a hex value instead of making these colors translucent. + */ +.kuiInfoPanel--info { + border-color: rgba(0, 107, 180, 0.25); + /* 1 */ } + +/** + * 1. TODO: Pick a hex value instead of making these colors translucent. + */ +.kuiInfoPanel--success { + border-color: rgba(1, 125, 115, 0.25); + /* 1 */ } + +/** + * 1. TODO: Pick a hex value instead of making these colors translucent. + */ +.kuiInfoPanel--warning { + border-color: rgba(245, 167, 0, 0.25); + /* 1 */ } + +/** + * 1. TODO: Pick a hex value instead of making these colors translucent. + */ +.kuiInfoPanel--error { + border-color: rgba(189, 39, 30, 0.25); + /* 1 */ } + +/** + * 1. Align with first line of title text if it wraps. + */ +.kuiInfoPanelHeader { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-align: baseline; + -webkit-align-items: baseline; + -ms-flex-align: baseline; + align-items: baseline; + /* 1 */ } + +.kuiInfoPanelHeader__icon { + margin-right: 10px; + font-size: 14px; + line-height: 1.5; } + +.kuiInfoPanelHeader__title { + font-size: 14px; + line-height: 1.5; + font-weight: 700; } + +.kuiInfoPanelBody { + margin-top: 8px; } + .kuiInfoPanelBody > * + * { + margin-top: 8px; } + +.kuiInfoPanelBody__message { + font-size: 14px; + line-height: 1.5; } + +.kuiLink { + color: #006BB4; + text-decoration: none; + cursor: pointer; + /* 1 */ + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + /* 2 */ + background-color: transparent; + /* 2 */ + border: none; + /* 2 */ + font-size: inherit; + /* 2 */ + line-height: inherit; + /* 2 */ } + .kuiLink:visited, .kuiLink:active { + color: #006BB4; } + .kuiLink:hover { + color: #004d81; + text-decoration: underline; } + .theme-dark .kuiLink { + color: #4DA1C0; } + .theme-dark .kuiLink:hover { + color: #4DA1C0; } + +/** + * 1. Breadcrumbs are placed in the top-left corner and need to be bumped over + * a bit. + */ +.kuiLocalBreadcrumbs { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; + padding-left: 10px; + /* 1 */ + height: 100%; } + +.kuiLocalBreadcrumb { + font-size: 14px; + margin: 0; + font-weight: normal; } + .kuiLocalBreadcrumb + .kuiLocalBreadcrumb { + margin-left: 6px; } + .kuiLocalBreadcrumb + .kuiLocalBreadcrumb:before { + content: '/'; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + margin-right: 4px; + color: #5a5a5a; } + .theme-dark .kuiLocalBreadcrumb + .kuiLocalBreadcrumb:before { + color: #a5a5a5; } + +/** + * 1. Make it a bit darker to contrast with the gray background. + */ +.kuiLocalBreadcrumb__link { + color: #006BB4; + text-decoration: none; + cursor: pointer; + /* 1 */ + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + /* 2 */ + background-color: transparent; + /* 2 */ + border: none; + /* 2 */ + font-size: inherit; + /* 2 */ + line-height: inherit; + /* 2 */ + color: #006BB4; + /* 1 */ + font-size: 14px; } + .kuiLocalBreadcrumb__link:visited, .kuiLocalBreadcrumb__link:active { + color: #006BB4; } + .kuiLocalBreadcrumb__link:hover { + color: #004d81; + text-decoration: underline; } + .theme-dark .kuiLocalBreadcrumb__link { + color: #4DA1C0; } + .theme-dark .kuiLocalBreadcrumb__link:hover { + color: #4DA1C0; } + +.kuiLocalBreadcrumb__emphasis { + font-weight: 700; } + +.kuiDatePicker { + background-color: transparent; + border-collapse: collapse; + border-spacing: 0; + line-height: 1.5; } + +.kuiDatePickerNavigationCell { + padding: 0; } + +.kuiDatePickerNavigation { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: justify; + -webkit-justify-content: space-between; + -ms-flex-pack: justify; + justify-content: space-between; + margin-bottom: 4px; } + +/** + * 1. Override inherited styles. + */ +.kuiDatePickerNavigationButton { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + background-color: transparent; + border: none; + font-size: 14px; + color: #2D2D2D; + padding: 3px 6px; + border-radius: 4px; } + .kuiDatePickerNavigationButton:hover, .kuiDatePickerNavigationButton:active { + cursor: pointer; + color: #F5F7FA; + background-color: #006BB4; } + .kuiDatePickerNavigationButton:focus { + z-index: 1; + /* 1 */ + outline: none !important; + /* 2 */ + -webkit-box-shadow: 0 0 0 1px #F5F7FA, 0 0 0 2px #006BB4; + box-shadow: 0 0 0 1px #F5F7FA, 0 0 0 2px #006BB4; + /* 3 */ + color: #2D2D2D; + /* 1 */ } + .theme-dark .kuiDatePickerNavigationButton { + color: #dedede; } + .theme-dark .kuiDatePickerNavigationButton:hover, .theme-dark .kuiDatePickerNavigationButton:active { + color: #ffffff; + background-color: rgba(0, 0, 0, 0.4); } + .theme-dark .kuiDatePickerNavigationButton:focus { + z-index: 1; + /* 1 */ + outline: none !important; + /* 2 */ + -webkit-box-shadow: 0 0 0 1px #525252, 0 0 0 2px #006BB4; + box-shadow: 0 0 0 1px #525252, 0 0 0 2px #006BB4; + /* 3 */ + color: #dedede; + /* 1 */ } + +.kuiDatePickerHeaderCell { + padding: 9px 0; + color: #2D2D2D; + font-size: 14px; + font-weight: bold; + text-align: center; + line-height: 1.2; } + .theme-dark .kuiDatePickerHeaderCell { + color: #DDD; } + +.kuiDatePickerRowCell { + padding: 0; + text-align: center; + /** + * This state class exists to support weird angular-bootstrap datepicker functionality, + * in which you can't select a day on the "From" calendar if it falls after the selected day in + * the "To" calendar (and vice versa, you can't select a "To" day if it is before the "From" day). + */ } + .kuiDatePickerRowCell.kuiDatePickerRowCell-isBlocked { + cursor: not-allowed; } + .kuiDatePickerRowCell.kuiDatePickerRowCell-isBlocked .kuiDatePickerRowCellContent { + pointer-events: none; } + +/** + * 1. Override inherited styles. + */ +.kuiDatePickerRowCellContent { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + background-color: transparent; + width: 100%; + border: 1px solid transparent; + color: #2D2D2D; + font-size: 14px; + padding: 8px; + border-radius: 4px; + line-height: 1.2; } + .kuiDatePickerRowCellContent:focus { + z-index: 1; + /* 1 */ + outline: none !important; + /* 2 */ + -webkit-box-shadow: 0 0 0 1px #F5F7FA, 0 0 0 2px #006BB4; + box-shadow: 0 0 0 1px #F5F7FA, 0 0 0 2px #006BB4; + /* 3 */ + color: #2D2D2D; + /* 1 */ } + .kuiDatePickerRowCellContent:disabled { + pointer-events: none; + opacity: 0.5; } + .kuiDatePickerRowCellContent.kuiDatePickerRowCellContent-isOtherMonth { + visibility: hidden; + pointer-events: none; } + .kuiDatePickerRowCellContent.kuiDatePickerRowCellContent-isCurrent { + color: #006BB4; } + .kuiDatePickerRowCellContent.kuiDatePickerRowCellContent-isSelected { + background-color: #777777; + color: #ffffff; } + .kuiDatePickerRowCellContent:hover, .kuiDatePickerRowCellContent:active { + cursor: pointer; + color: #F5F7FA; + background-color: #006BB4; } + .theme-dark .kuiDatePickerRowCellContent { + color: #DDD; } + .theme-dark .kuiDatePickerRowCellContent:focus { + z-index: 1; + /* 1 */ + outline: none !important; + /* 2 */ + -webkit-box-shadow: 0 0 0 1px #525252, 0 0 0 2px #006BB4; + box-shadow: 0 0 0 1px #525252, 0 0 0 2px #006BB4; + /* 3 */ } + .theme-dark .kuiDatePickerRowCellContent.kuiDatePickerRowCellContent-isCurrent { + color: #4DA1C0; } + .theme-dark .kuiDatePickerRowCellContent.kuiDatePickerRowCellContent-isSelected { + color: #ffffff; } + .theme-dark .kuiDatePickerRowCellContent:hover, .theme-dark .kuiDatePickerRowCellContent:active { + color: #ffffff; + background-color: rgba(0, 0, 0, 0.4); } + +.kuiLocalDropdown { + position: relative; + padding: 10px 10px 14px; + background-color: #F5F7FA; + border-bottom: solid 1px #D3DAE6; + border-top: solid 1px #D3DAE6; + margin-bottom: 10px; + line-height: 20px; } + .theme-dark .kuiLocalDropdown { + background-color: #525252; + border-color: #090909; } + +.kuiLocalDropdownCloseButton { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + background-color: transparent; + padding: 4px; + border: none; + line-height: 1; + font-size: 16px; + color: #2D2D2D !important; + /* 1 */ + cursor: pointer; + opacity: 0.35; + position: absolute; + top: 1px; + right: 5px; } + .kuiLocalDropdownCloseButton:hover { + opacity: 1; } + .theme-dark .kuiLocalDropdownCloseButton { + color: #DDD !important; + /* 1 */ } + .theme-dark .kuiLocalDropdownCloseButton { + color: #DDD !important; + /* 1 */ } + +.kuiLocalDropdownPanels { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; } + +.kuiLocalDropdownPanel { + -webkit-box-flex: 1; + -webkit-flex: 1 1 0%; + -ms-flex: 1 1 0%; + flex: 1 1 0%; } + +.kuiLocalDropdownPanel--left { + margin-right: 30px; } + +.kuiLocalDropdownPanel--right { + margin-left: 30px; } + +/** + * 1. Override inherited styles. + */ +.kuiLocalDropdownTitle { + margin-top: 0; + /* 1 */ + margin-bottom: 12px; + font-size: 18px; + color: #2D2D2D; } + .theme-dark .kuiLocalDropdownTitle { + color: #DDD; } + +.kuiLocalDropdownSection { + margin-bottom: 16px; } + .kuiLocalDropdownSection:last-child { + margin-bottom: 0; } + +.kuiLocalDropdownHeader { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: justify; + -webkit-justify-content: space-between; + -ms-flex-pack: justify; + justify-content: space-between; + margin-bottom: 6px; } + +/** + * 1. Override inherited styles. + */ +.kuiLocalDropdownHeader__label { + font-size: 14px; + font-weight: 700; + margin-bottom: 0; + /* 1 */ + color: #2D2D2D; } + .theme-dark .kuiLocalDropdownHeader__label { + color: #DDD; } + +.kuiLocalDropdownHeader__actions { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; } + +.kuiLocalDropdownHeader__action { + color: #006BB4; + font-size: 12px; + text-decoration: none; + cursor: pointer; } + .kuiLocalDropdownHeader__action + .kuiLocalDropdownHeader__action { + margin-left: 10px; } + .kuiLocalDropdownHeader__action:hover, .kuiLocalDropdownHeader__action:active { + color: #004d81; } + .theme-dark .kuiLocalDropdownHeader__action { + color: #4DA1C0; } + .theme-dark .kuiLocalDropdownHeader__action:hover, .theme-dark .kuiLocalDropdownHeader__action:active { + color: #def2f6; } + +.kuiLocalDropdownInput { + display: block; + width: 100%; + margin-bottom: 12px; + padding: 5px 15px; + font-size: 14px; + color: #2D2D2D; + background-color: #FFF; + border: 1px solid #D3DAE6; + border-radius: 4px; } + .kuiLocalDropdownInput:focus { + border-color: #006BB4; } + .theme-dark .kuiLocalDropdownInput { + color: #DDD; + background-color: #1b1b1b; + border-color: #333; } + .theme-dark .kuiLocalDropdownInput:focus { + border-color: #006BB4; } + +.kuiLocalDropdownFormNote { + font-size: 14px; + color: #737373; } + .theme-dark .kuiLocalDropdownFormNote { + color: #a2a2a2; } + +.kuiLocalDropdownWarning { + margin-bottom: 16px; + padding: 6px 10px; + font-size: 14px; + color: #2D2D2D; + background-color: #FFF; } + .theme-dark .kuiLocalDropdownWarning { + color: #DDD; + background-color: #636363; } + +.kuiLocalDropdownHelpText { + margin-bottom: 16px; + font-size: 14px; + color: #2D2D2D; } + .theme-dark .kuiLocalDropdownHelpText { + color: #9e9e9e; } + +.kuiLocalMenu { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-align: stretch; + -webkit-align-items: stretch; + -ms-flex-align: stretch; + align-items: stretch; } + +.kuiLocalMenuItem { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; + height: 100%; + padding: 0 10px; + font-size: 14px; + background-color: transparent; + color: #2D2D2D; + border: 0; + cursor: pointer; + border-right: solid 1px transparent; + border-left: solid 1px transparent; } + .kuiLocalMenuItem:hover, .kuiLocalMenuItem:focus { + background-color: #006BB4; + color: #F5F7FA; } + .kuiLocalMenuItem.kuiLocalMenuItem-isSelected { + background-color: #F5F7FA; + border-color: #D3DAE6; + height: calc(100% + 1px); + z-index: 2; + color: #006BB4; } + .kuiLocalMenuItem.kuiLocalMenuItem-isSelected:hover, .kuiLocalMenuItem.kuiLocalMenuItem-isSelected:focus { + color: #006BB4; } + .kuiLocalMenuItem.kuiLocalMenuItem-isDisabled { + opacity: 0.5; + cursor: not-allowed; } + .kuiLocalMenuItem.kuiLocalMenuItem-isDisabled:hover { + background-color: transparent; + color: #2D2D2D; } + .theme-dark .kuiLocalMenuItem { + color: #dedede; } + .theme-dark .kuiLocalMenuItem:hover { + background-color: #000000; + color: #ffffff; } + .theme-dark .kuiLocalMenuItem.kuiLocalMenuItem-isSelected { + background-color: #525252; + border-color: #090909; + color: #ffffff; } + .theme-dark .kuiLocalMenuItem.kuiLocalMenuItem-isDisabled:hover { + background-color: transparent; + color: #dedede; } + +.kuiLocalMenuItem__icon { + margin-right: 5px; + margin-bottom: -1px; } + +/** + * 1. Match height of logo in side bar, but allow it to expand to accommodate + * dropdown. + */ +.kuiLocalNav { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + -webkit-box-pack: justify; + -webkit-justify-content: space-between; + -ms-flex-pack: justify; + justify-content: space-between; + min-height: 69px; + /* 1 */ + color: #2D2D2D; + background-color: #FFF; + line-height: 1.5; + border-bottom: solid 1px #D3DAE6; } + .theme-dark .kuiLocalNav { + color: #DDD; + background-color: #222; + border-color: #090909; } + +/** + * 1. Allow row to expand if the content is so long that it wraps. + */ +.kuiLocalNavRow { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-align: stretch; + -webkit-align-items: stretch; + -ms-flex-align: stretch; + align-items: stretch; + -webkit-box-pack: justify; + -webkit-justify-content: space-between; + -ms-flex-pack: justify; + justify-content: space-between; + min-height: 29px; + /* 1 */ + line-height: 29px; + /* 1 */ } + +.kuiLocalNavRow__section { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-align: stretch; + -webkit-align-items: stretch; + -ms-flex-align: stretch; + align-items: stretch; } + +/** + * 1. We make this row flex-start because it usually contains a search input, which may expand + * beyond the height of this container. We can't use `align-items: center`, because this would + * cause the search input to overflow both on the top and bottom; `align-items: flex-start` + * makes it only overflow on the bottom. But this means we need to manually center the content + * of this container using padding. + */ +.kuiLocalNavRow--secondary { + padding: 0 10px; + /* 1 */ + -webkit-box-align: start; + -webkit-align-items: flex-start; + -ms-flex-align: start; + align-items: flex-start; + /* 1 */ } + +.kuiLocalNav__popover { + height: 100%; } + .kuiLocalNav__popover .kuiLocalNav__popoverAnchor { + height: 100%; } + +.kuiLocalSearch { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + width: 100%; + margin-bottom: 8px; } + +.kuiLocalSearchInput { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + font-family: "Open Sans", Helvetica, Arial, sans-serif; + padding: 4px 12px 4px; + font-size: 14px; + font-weight: 400; + line-height: 1.5; + color: #2D2D2D; + background-color: #ffffff; + border: 1px solid rgba(0, 0, 0, 0.1); + border-radius: 4px; + -webkit-transition: border-color 0.1s linear; + transition: border-color 0.1s linear; + min-height: 32px; + /* 1 */ + -webkit-box-flex: 1; + -webkit-flex: 1 1 100%; + -ms-flex: 1 1 100%; + flex: 1 1 100%; + border-color: #ffffff; + border-color: #D3DAE6; + border-radius: 4px 0 0 4px; } + .theme-dark .kuiLocalSearchInput { + color: #DDD; } + .kuiLocalSearchInput:invalid { + border-color: #BD271E; } + .kuiLocalSearchInput:focus { + outline: none; + border-color: #006BB4; } + .kuiLocalSearchInput:disabled { + opacity: 0.4; + cursor: not-allowed; } + .theme-dark .kuiLocalSearchInput { + background-color: #1b1b1b; + border-color: #333; } + .theme-dark .kuiLocalSearchInput:focus { + outline: none; + border-color: #006BB4; } + .kuiLocalSearchInput:focus { + -webkit-box-shadow: none; + box-shadow: none; } + .kuiLocalSearchInput.kuiLocalSearchInput-isInvalid { + border-color: #e74C3c; } + +.kuiLocalSearchInput--secondary { + height: 32px; + -webkit-box-flex: 0; + -webkit-flex: 0 0 auto; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + border-radius: 0; + border-left-width: 0; } + .theme-dark .kuiLocalSearchInput--secondary { + border-left-width: 1px; + border-left-color: #222; + border-right-color: #222; } + +.kuiLocalSearchAssistedInput { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-flex: 1; + -webkit-flex: 1 1 100%; + -ms-flex: 1 1 100%; + flex: 1 1 100%; + position: relative; } + +/** + * 1. em used for right padding so documentation link and query string + * won't overlap if the user increases their default browser font size + * This is sized for the 'Options' link + */ +.kuiLocalSearchInput, +.kuiLocalSearchAssistedInput__input { + padding-right: 6em; + /* 1 */ } + +/** + * 1. Vertically center the assistance, regardless of its height. + */ +.kuiLocalSearchAssistedInput__assistance { + position: absolute; + right: 6px; + top: 50%; + /* 1 */ + z-index: 2; + -webkit-transform: translateY(-50%); + transform: translateY(-50%); + /* 1 */ } + +.kuiLocalSearchSelect { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + font-family: "Open Sans", Helvetica, Arial, sans-serif; + padding: 4px 12px 4px; + font-size: 14px; + font-weight: 400; + line-height: 1.5; + color: #2D2D2D; + background-color: #ffffff; + border: 1px solid rgba(0, 0, 0, 0.1); + border-radius: 4px; + -webkit-transition: border-color 0.1s linear; + transition: border-color 0.1s linear; + min-height: 32px; + /* 1 */ + padding-right: 30px; + /* 2 */ + background-image: url('data:image/svg+xml;utf8,'); + /* 1 */ + background-size: 14px; + background-repeat: no-repeat; + background-position: calc(100% - 8px); + /* 2 */ + border-left-width: 0; + border-radius: 0; } + .theme-dark .kuiLocalSearchSelect { + color: #DDD; } + .kuiLocalSearchSelect:invalid { + border-color: #BD271E; } + .kuiLocalSearchSelect:focus { + outline: none; + border-color: #006BB4; } + .kuiLocalSearchSelect:disabled { + opacity: 0.4; + cursor: not-allowed; } + .theme-dark .kuiLocalSearchSelect { + background-color: #1b1b1b; + border-color: #333; } + .theme-dark .kuiLocalSearchSelect:focus { + outline: none; + border-color: #006BB4; } + .kuiLocalSearchSelect:-moz-focusring { + text-shadow: 0 0 0; + /* 3 */ } + .theme-dark .kuiLocalSearchSelect { + background-image: url('data:image/svg+xml;utf8,'); + /* 1 */ } + +/** + * 1. Override inherited styles. + */ +.kuiLocalSearchButton { + width: 43px; + height: 32px; + font-size: 14px; + line-height: 0; + /* 1 */ + color: #ffffff; + background-color: #69707D; + border: 0; + border-radius: 0 4px 4px 0; } + .kuiLocalSearchButton:focus { + z-index: 1; + /* 1 */ + outline: none !important; + /* 2 */ + -webkit-box-shadow: 0 0 0 1px #D3DAE6, 0 0 0 2px #006BB4; + box-shadow: 0 0 0 1px #D3DAE6, 0 0 0 2px #006BB4; + /* 3 */ } + .theme-dark .kuiLocalSearchButton { + color: #ffffff; + background-color: #777777; } + .theme-dark .kuiLocalSearchButton:focus { + z-index: 1; + /* 1 */ + outline: none !important; + /* 2 */ + -webkit-box-shadow: 0 0 0 1px #222, 0 0 0 2px #006BB4; + box-shadow: 0 0 0 1px #222, 0 0 0 2px #006BB4; + /* 3 */ } + +/** + * 1. We want the bottom border on selected tabs to be flush with the bottom of the container. + */ +.kuiLocalTabs { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-align: end; + -webkit-align-items: flex-end; + -ms-flex-align: end; + align-items: flex-end; + height: 100%; } + +/** + * 1. Override inherited typographic styles. + */ +.kuiLocalTab { + padding: 5px 0 6px 0; + font-size: 18px; + color: #343741; + border-bottom: 2px solid transparent; + text-decoration: none; + cursor: pointer; + margin-top: 0 !important; + /* 1 */ + margin-bottom: 0 !important; + /* 1 */ + /** + * 1. We may want to show a tooltip to explain why the tab is disabled, so we will just show + * a regular cursor instead of setting pointer-events: none. + */ } + .kuiLocalTab:hover:not(.kuiLocalTab-isDisabled), .kuiLocalTab:active:not(.kuiLocalTab-isDisabled) { + color: #006BB4; } + .theme-dark .kuiLocalTab:hover:not(.kuiLocalTab-isDisabled), .theme-dark .kuiLocalTab:active:not(.kuiLocalTab-isDisabled) { + color: #ffffff; } + .kuiLocalTab.kuiLocalTab-isSelected { + color: #006BB4; + border-bottom-color: #006BB4; + cursor: default; } + .theme-dark .kuiLocalTab.kuiLocalTab-isSelected { + color: #ffffff; + border-bottom-color: #ffffff; } + .kuiLocalTab.kuiLocalTab-isDisabled { + opacity: 0.5; + cursor: default; + /* 1 */ } + .kuiLocalTab + .kuiLocalTab { + margin-left: 15px; } + .theme-dark .kuiLocalTab { + color: #dedede; } + +.kuiLocalTitle { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; + height: 100%; + padding-left: 10px; + font-size: 14px; + font-weight: bold; } + +/** + * 1. Allow class to be applied to `ul` and `ol` elements + */ +.kuiMenu { + padding-left: 0; + /* 1 */ } + +.kuiMenu--contained { + border: 1px solid #D3DAE6; } + .kuiMenu--contained .kuiMenuItem { + padding: 6px 10px; } + +/** + * 1. Allow class to be applied to `li` elements + */ +.kuiMenuItem { + list-style: none; + /* 1 */ + padding: 6px 0; } + .kuiMenuItem + .kuiMenuItem { + border-top: 1px solid #D3DAE6; } + +/** + * 1. Setting to inline-block guarantees the same height when applied to both + * button elements and anchor tags. + * 2. Disable for Angular. + * 3. Make the button just tall enough to fit inside an Option Layout. + */ +.kuiMenuButton { + display: inline-block; + /* 1 */ + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + cursor: pointer; + padding: 2px 10px; + /* 3 */ + font-size: 12px; + font-weight: 400; + line-height: 1.5; + text-decoration: none; + border: none; + border-radius: 4px; } + .kuiMenuButton:disabled { + cursor: default; + pointer-events: none; + /* 2 */ } + .kuiMenuButton:active:enabled { + -webkit-transform: translateY(1px); + transform: translateY(1px); } + .kuiMenuButton:focus { + z-index: 1; + /* 1 */ + outline: none !important; + /* 2 */ + -webkit-box-shadow: 0 0 0 1px #fff, 0 0 0 2px #006BB4; + box-shadow: 0 0 0 1px #fff, 0 0 0 2px #006BB4; + /* 3 */ } + +.kuiMenuButton--iconText .kuiMenuButton__icon:first-child { + margin-right: 4px; } + +.kuiMenuButton--iconText .kuiMenuButton__icon:last-child { + margin-left: 4px; } + +/** + * 1. Override Bootstrap. + * 2. Safari won't respect :enabled:hover/active on links. + */ +.kuiMenuButton--basic { + color: #5a5a5a; + background-color: #ffffff; } + .kuiMenuButton--basic:focus { + color: #5a5a5a !important; + /* 1 */ } + .kuiMenuButton--basic:hover, .kuiMenuButton--basic:active { + /* 2 */ + color: #5a5a5a !important; + /* 1 */ + background-color: #F2F2F2; } + .kuiMenuButton--basic:disabled { + color: #9B9B9B; } + +/** + * 1. Override Bootstrap. + * 2. Safari won't respect :enabled:hover/active on links. + */ +.kuiMenuButton--primary { + color: #ffffff; + background-color: #006BB4; } + .kuiMenuButton--primary:focus { + color: #ffffff !important; + /* 1 */ } + .kuiMenuButton--primary:hover, .kuiMenuButton--primary:active { + /* 2 */ + color: #ffffff !important; + /* 1 */ + background-color: #006E8A; } + .kuiMenuButton--primary:disabled { + background-color: #B6D6E0; } + +/** + * 1. Override Bootstrap. + * 2. Safari won't respect :enabled:hover/active on links. + */ +.kuiMenuButton--danger { + color: #D76051; + background-color: #ffffff; } + .kuiMenuButton--danger:hover, .kuiMenuButton--danger:active { + /* 2 */ + color: #FFFFFF !important; + /* 1 */ + background-color: #D76051; } + .kuiMenuButton--danger:disabled { + color: #9B9B9B; } + .kuiMenuButton--danger:focus { + z-index: 1; + /* 1 */ + outline: none !important; + /* 2 */ + -webkit-box-shadow: 0 0 0 1px #fff, 0 0 0 2px #BD271E; + box-shadow: 0 0 0 1px #fff, 0 0 0 2px #BD271E; + /* 3 */ } + +.kuiMenuButtonGroup { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; } + .kuiMenuButtonGroup .kuiMenuButton + .kuiMenuButton { + margin-left: 4px; } + +.kuiMenuButtonGroup--alignRight { + -webkit-box-pack: end; + -webkit-justify-content: flex-end; + -ms-flex-pack: end; + justify-content: flex-end; } + +.kuiModalOverlay { + position: fixed; + z-index: 1000; + top: 0; + left: 0; + right: 0; + bottom: 0; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: center; + -webkit-justify-content: center; + -ms-flex-pack: center; + justify-content: center; + padding-bottom: 10vh; + background-color: rgba(0, 0, 0, 0.5); } + +.kuiModal { + -webkit-box-shadow: 0 16px 16px -8px rgba(0, 0, 0, 0.1); + box-shadow: 0 16px 16px -8px rgba(0, 0, 0, 0.1); + line-height: 1.5; + background-color: #FFF; + border: 1px solid #D3DAE6; + border-radius: 4px; + -webkit-box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.1); + box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.1); + z-index: 1001; + -webkit-animation: kuiModal 350ms cubic-bezier(0.34, 1.61, 0.7, 1); + animation: kuiModal 350ms cubic-bezier(0.34, 1.61, 0.7, 1); } + .theme-dark .kuiModal { + background-color: #525252; + border-color: #000; } + +.kuiModal--confirmation { + width: 450px; + min-width: auto; } + +.kuiModalHeader { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-pack: justify; + -webkit-justify-content: space-between; + -ms-flex-pack: justify; + justify-content: space-between; + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; + padding: 10px; + padding-left: 20px; + border-bottom: 1px solid #D3DAE6; } + .theme-dark .kuiModalHeader { + border-bottom-color: #000; } + +.kuiModalHeader__title { + font-size: 18.0px; } + .theme-dark .kuiModalHeader__title { + color: #DDD; } + +.kuiModalHeaderCloseButton { + display: inline-block; + /* 1 */ + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + cursor: pointer; + padding: 2px 5px; + border: 1px solid transparent; + color: #69707D; + background-color: transparent; + line-height: 1; + /* 2 */ + font-size: 18.0px; } + .kuiModalHeaderCloseButton:hover { + color: #2D2D2D; } + +.kuiModalBody { + padding: 20px; } + +.kuiModalBodyText { + font-size: 14px; } + .theme-dark .kuiModalBodyText { + color: #DDD; } + +.kuiModalFooter { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-pack: end; + -webkit-justify-content: flex-end; + -ms-flex-pack: end; + justify-content: flex-end; + padding: 20px; + padding-top: 10px; } + .kuiModalFooter > * + * { + margin-left: 5px; } + +@-webkit-keyframes kuiModal { + 0% { + opacity: 0; + -webkit-transform: translateY(32px); + transform: translateY(32px); } + 100% { + opacity: 1; + -webkit-transform: translateY(0); + transform: translateY(0); } } + +@keyframes kuiModal { + 0% { + opacity: 0; + -webkit-transform: translateY(32px); + transform: translateY(32px); } + 100% { + opacity: 1; + -webkit-transform: translateY(0); + transform: translateY(0); } } + +/** + * 1. Put 10px of space between each child. + */ +.kuiPager { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; } + .kuiPager > * + * { + margin-left: 10px; + /* 1 */ } + +.kuiPagerText { + font-size: 14px; + line-height: 1.5; + color: #5A5A5A; + white-space: nowrap; + /* 1 */ } + +.kuiPanel { + -webkit-box-shadow: 0 2px 2px -1px rgba(152, 162, 179, 0.3), 0 1px 5px -2px rgba(152, 162, 179, 0.3); + box-shadow: 0 2px 2px -1px rgba(152, 162, 179, 0.3), 0 1px 5px -2px rgba(152, 162, 179, 0.3); + background-color: #FFF; + border: 1px solid #D3DAE6; + border-radius: 4px; } + +.kuiPanel--prompt { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; + text-align: center; + -webkit-box-pack: center; + -webkit-justify-content: center; + -ms-flex-pack: center; + justify-content: center; + min-height: 300px; } + .kuiPanel--prompt .kuiPanelBody { + padding: 30px; + max-width: 500px; } + +.kuiPanel--noBorder { + border: none; } + +.kuiPanel--withToolBar { + border-top: none; + border-radius: 0; } + +.kuiPanel--centered { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-pack: center; + -webkit-justify-content: center; + -ms-flex-pack: center; + justify-content: center; + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; } + +.kuiPanelHeader { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: justify; + -webkit-justify-content: space-between; + -ms-flex-pack: justify; + justify-content: space-between; + min-height: 30px; + /* 1 */ + padding: 10px; + height: 50px; + border-bottom: 1px solid #D3DAE6; } + .kuiPanelHeader .kuiButton:not(a):enabled:focus { + z-index: 1; + /* 1 */ + outline: none !important; + /* 2 */ + -webkit-box-shadow: 0 0 0 1px #D3DAE6, 0 0 0 2px #006BB4; + box-shadow: 0 0 0 1px #D3DAE6, 0 0 0 2px #006BB4; + /* 3 */ } + a.kuiPanelHeader .kuiButton:not(.kuiButton-isDisabled):focus { + /* 1 */ + z-index: 1; + /* 1 */ + outline: none !important; + /* 2 */ + -webkit-box-shadow: 0 0 0 1px #D3DAE6, 0 0 0 2px #006BB4; + box-shadow: 0 0 0 1px #D3DAE6, 0 0 0 2px #006BB4; + /* 3 */ } + .kuiPanelHeader .kuiButton--danger:not(a):enabled:focus { + z-index: 1; + /* 1 */ + outline: none !important; + /* 2 */ + -webkit-box-shadow: 0 0 0 1px #D3DAE6, 0 0 0 2px #BD271E; + box-shadow: 0 0 0 1px #D3DAE6, 0 0 0 2px #BD271E; + /* 3 */ } + a.kuiPanelHeader .kuiButton--danger:not(.kuiButton-isDisabled):focus { + /* 1 */ + z-index: 1; + /* 1 */ + outline: none !important; + /* 2 */ + -webkit-box-shadow: 0 0 0 1px #D3DAE6, 0 0 0 2px #BD271E; + box-shadow: 0 0 0 1px #D3DAE6, 0 0 0 2px #BD271E; + /* 3 */ } + .kuiPanelHeader .kuiSelect { + border-color: #ffffff; } + .kuiPanelHeader .kuiSelect:not(a):enabled:focus { + outline: none; + border-color: #006BB4; } + a.kuiPanelHeader .kuiSelect:not(.kuiButton-isDisabled):focus { + /* 1 */ + outline: none; + border-color: #006BB4; } + +/** + * 1. This way we can use h1, h2, etc. + */ +.kuiPanelHeader__title { + font-size: 18.0px; + line-height: 1.5; + margin: 0; + /* 1 */ } + +/** + * 1. Undo what barSection mixin does. + */ +.kuiPanelHeaderSection { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-flex: 1; + -webkit-flex: 1 1 auto; + -ms-flex: 1 1 auto; + flex: 1 1 auto; + margin-left: 25px; + margin-right: 25px; } + .kuiPanelHeaderSection:not(:first-child):not(:last-child):not(:only-child) { + -webkit-box-pack: center; + -webkit-justify-content: center; + -ms-flex-pack: center; + justify-content: center; + /* 3 */ } + .kuiPanelHeaderSection:first-child { + margin-left: 0; } + .kuiPanelHeaderSection:last-child { + margin-right: 0; + -webkit-box-flex: 0; + -webkit-flex: 0 1 auto; + -ms-flex: 0 1 auto; + flex: 0 1 auto; + /* 4 */ + -webkit-box-pack: end; + -webkit-justify-content: flex-end; + -ms-flex-pack: end; + justify-content: flex-end; + /* 5 */ } + .kuiPanelHeaderSection:only-child { + margin-left: auto; + /* 2 */ } + .kuiPanelHeaderSection > * + * { + margin-left: 10px; + /* 1 */ } + .kuiPanelHeaderSection:only-child { + margin-left: 0; + /* 1 */ + margin-right: auto; + /* 1 */ } + +.kuiPanelBody { + padding: 10px; } + +.kuiPanelSimple { + -webkit-box-shadow: 0 2px 2px -1px rgba(152, 162, 179, 0.3), 0 1px 5px -2px rgba(152, 162, 179, 0.3); + box-shadow: 0 2px 2px -1px rgba(152, 162, 179, 0.3), 0 1px 5px -2px rgba(152, 162, 179, 0.3); + background-color: #FFF; + border: 1px solid #D3DAE6; + border-radius: 4px; + -webkit-box-flex: 1; + -webkit-flex-grow: 1; + -ms-flex-positive: 1; + flex-grow: 1; } + .kuiPanelSimple.kuiPanelSimple--paddingSmall { + padding: 8px; } + .kuiPanelSimple.kuiPanelSimple--paddingMedium { + padding: 16px; } + .kuiPanelSimple.kuiPanelSimple--paddingLarge { + padding: 24px; } + .kuiPanelSimple.kuiPanelSimple--shadow { + -webkit-box-shadow: 0 16px 16px -8px rgba(0, 0, 0, 0.1); + box-shadow: 0 16px 16px -8px rgba(0, 0, 0, 0.1); } + .kuiPanelSimple.kuiPanelSimple--flexGrowZero { + -webkit-box-flex: 0; + -webkit-flex-grow: 0; + -ms-flex-positive: 0; + flex-grow: 0; } + .theme-dark .kuiPanelSimple { + background-color: #222; + border-color: #333; } + +.kuiPopover { + display: inline-block; + position: relative; } + .kuiPopover.kuiPopover-isOpen .kuiPopover__panel { + opacity: 1; + visibility: visible; + margin-top: 8px; + pointer-events: auto; } + +.kuiPopover__panel { + position: absolute; + z-index: 2000; + top: 100%; + left: 50%; + -webkit-transform: translateX(-50%) translateY(8px) translateZ(0); + transform: translateX(-50%) translateY(8px) translateZ(0); + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + -webkit-transition: opacity cubic-bezier(0.34, 1.61, 0.7, 1) 350ms, visibility cubic-bezier(0.34, 1.61, 0.7, 1) 350ms, margin-top cubic-bezier(0.34, 1.61, 0.7, 1) 350ms; + transition: opacity cubic-bezier(0.34, 1.61, 0.7, 1) 350ms, visibility cubic-bezier(0.34, 1.61, 0.7, 1) 350ms, margin-top cubic-bezier(0.34, 1.61, 0.7, 1) 350ms; + -webkit-transform-origin: center top; + transform-origin: center top; + opacity: 0; + visibility: hidden; + pointer-events: none; + margin-top: 24px; } + .kuiPopover__panel:before { + position: absolute; + content: ""; + top: -16px; + height: 0; + width: 0; + left: 50%; + margin-left: -16px; + border-left: 16px solid transparent; + border-right: 16px solid transparent; + border-bottom: 16px solid #D3DAE6; } + .theme-dark .kuiPopover__panel:before { + border-bottom-color: #333; } + .kuiPopover__panel:after { + position: absolute; + content: ""; + top: -15px; + right: 0; + height: 0; + left: 50%; + margin-left: -16px; + width: 0; + border-left: 16px solid transparent; + border-right: 16px solid transparent; + border-bottom: 16px solid #ffffff; } + .theme-dark .kuiPopover__panel:after { + border-bottom-color: #222; } + +.kuiPopover--withTitle .kuiPopover__panel:after { + border-bottom-color: #F5F7FA; } + .theme-dark .kuiPopover--withTitle .kuiPopover__panel:after { + border-bottom-color: #222; } + +.kuiPopover--anchorLeft .kuiPopover__panel { + left: 0; + -webkit-transform: translateX(0%) translateY(8px) translateZ(0); + transform: translateX(0%) translateY(8px) translateZ(0); } + .kuiPopover--anchorLeft .kuiPopover__panel:before, .kuiPopover--anchorLeft .kuiPopover__panel:after { + right: auto; + left: 16px; + margin: 0; } + +.kuiPopover--anchorRight .kuiPopover__panel { + left: 100%; + -webkit-transform: translateX(-100%) translateY(8px) translateZ(0); + transform: translateX(-100%) translateY(8px) translateZ(0); } + .kuiPopover--anchorRight .kuiPopover__panel:before, .kuiPopover--anchorRight .kuiPopover__panel:after { + right: 16px; + left: auto; } + +.kuiPopoverTitle { + background-color: #F5F7FA; + border-bottom: 1px solid #D3DAE6; + padding: 12px; + font-size: 14px; } + .theme-dark .kuiPopoverTitle { + background-color: #222; + border-color: #333; + color: #ffffff; } + +.kuiEmptyTablePrompt { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; + padding: 30px; } + +.kuiEmptyTablePrompt__message { + font-size: 18.0px; + color: #69707D; + line-height: 1.5; } + +.kuiEmptyTablePrompt__actions { + margin-top: 10px; } + +.kuiStatusText { + display: -webkit-inline-box; + display: -webkit-inline-flex; + display: -ms-inline-flexbox; + display: inline-flex; + -webkit-box-align: baseline; + -webkit-align-items: baseline; + -ms-flex-align: baseline; + align-items: baseline; } + +.kuiStatusText--info { + color: #006BB4; } + +.kuiStatusText--success { + color: #017D73; } + +.kuiStatusText--warning { + color: #F5A700; } + +.kuiStatusText--error { + color: #BD271E; } + +/** + * 1. Set the image to be the same size as a font icon at 14px. + * 2. We need to cap the height too, in case the icon was designed thin and tall. + */ +.kuiStatusText__icon { + margin-right: 6px; + width: 1.15em; + /* 1 */ + max-height: 1.15em; + /* 2 */ } + +/** + * 1. Make seamless transition from ToolBar to Table header and contained Menu. + * 1. Make seamless transition from Table to ToolBarFooter header. + */ +.kuiControlledTable { + background: #FFF; } + .kuiControlledTable .kuiTable { + border-top: none; + /* 1 */ } + .kuiControlledTable .kuiToolBarFooter { + border-top: none; + /* 2 */ } + .kuiControlledTable .kuiMenu--contained { + border-top: none; + /* 1 */ } + +/** + * 1. Prevent cells from expanding based on content size. This substitutes for table-layout: fixed. + */ +/** + * NOTE: table-layout: fixed causes a bug in IE11 and Edge (see #9929). It also prevents us from + * specifying a column width, e.g. the checkbox column. + */ +.kuiTable { + width: 100%; + border: 1px solid #D3DAE6; + border-collapse: collapse; + background-color: #FFF; } + +/** + * 1. Allow contents of cells to determine table's width. + */ +.kuiTable--fluid { + width: auto; + /* 1 */ } + .kuiTable--fluid .kuiTableHeaderCell, + .kuiTable--fluid .kuiTableRowCell { + max-width: none; + /* 1 */ } + +.kuiTableHeaderCell { + font-size: 14px; + font-weight: 400; + text-align: left; + max-width: 20px; + /* 1 */ + line-height: 1.5; + color: #69707D; } + +.kuiTableHeaderCell__liner { + display: inline-block; + padding: 7px 8px 8px; } + +/** + * 1. Prevent rapid clicking from selecting text. + * 2. Remove native button element styles. + * 3. Make buttons look and behave like table header cells. + */ +.kuiTableHeaderCellButton { + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + /* 1 */ + cursor: pointer; + width: 100%; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + /* 2 */ + background-color: transparent; + /* 2 */ + border: 0; + /* 2 */ + padding: 0; + /* 2 */ + color: inherit; + /* 3 */ + line-height: inherit; + /* 3 */ + font-size: inherit; + /* 3 */ + text-align: inherit; + /* 3 */ } + .kuiTableHeaderCellButton:hover .kuiTableSortIcon { + display: block; + opacity: 1; } + .kuiTableHeaderCellButton .kuiTableHeaderCell__liner { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; } + +.kuiTableHeaderCell--alignRight { + text-align: right; } + +.kuiTableSortIcon { + display: none; + pointer-events: none; + margin-left: 4px; } + .kuiTableHeaderCellButton-isSorted .kuiTableSortIcon { + display: block; + opacity: 0.4; } + +.kuiTableRow:hover .kuiTableRowHoverReveal { + display: inline-block; } + +.kuiTableRowHoverReveal { + display: none; } + +.kuiTableRowCell { + font-size: 14px; + font-weight: 400; + text-align: left; + max-width: 20px; + /* 1 */ + color: #2D2D2D; + border-top: 1px solid #D3DAE6; + vertical-align: middle; } + +/** + * 1. Vertically align all children. + * 2. The padding on this div allows the ellipsis to show if the content is truncated. If + * the padding was on the cell, the ellipsis would be cropped. + * 3. Truncate content with an ellipsis. + */ +.kuiTableRowCell__liner { + padding: 7px 8px 8px; + /* 2 */ + line-height: 1.5; + /* 1 */ + overflow: hidden; + /* 3 */ + text-overflow: ellipsis; + /* 3 */ + white-space: nowrap; + /* 3 */ } + .kuiTableRowCell__liner > * { + vertical-align: middle; + /* 1 */ } + +.kuiTableRowCell--wrap .kuiTableRowCell__liner { + white-space: normal; } + +.kuiTableRowCell--overflowingContent .kuiTableRowCell__liner { + overflow: visible; + white-space: normal; } + +/** + * 1. We don't want to create too strong a disconnect between the original row and the row + * that contains its expanded details. + */ +.kuiTableRowCell--expanded { + border-top-color: #f0f0f0; + /* 1 */ } + +.kuiTableRowCell--alignRight { + text-align: right; } + .kuiTableRowCell--alignRight .kuiTableRowCell__liner { + text-align: right; } + +/** + * 1. Rendered width of cell with checkbox inside of it. + * 2. Align checkbox with text in other cells. + * 3. Show the checkbox in Edge; otherwise it gets cropped. + */ +.kuiTableHeaderCell--checkBox, +.kuiTableRowCell--checkBox { + width: 28px; + /* 1 */ + line-height: 1; + /* 2 */ } + .kuiTableHeaderCell--checkBox .kuiTableRowCell__liner, + .kuiTableRowCell--checkBox .kuiTableRowCell__liner { + overflow: visible; + /* 3 */ } + .kuiTableHeaderCell--checkBox .kuiTableHeaderCell__liner, + .kuiTableHeaderCell--checkBox .kuiTableRowCell__liner, + .kuiTableRowCell--checkBox .kuiTableHeaderCell__liner, + .kuiTableRowCell--checkBox .kuiTableRowCell__liner { + padding-right: 0; } + +.kuiTableInfo { + padding: 30px; + font-size: 18.0px; + color: #69707D; + line-height: 1.5; } + +.kuiTabs { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + border-bottom: 1px solid #D3DAE6; } + .theme-dark .kuiTabs { + border-bottom: 1px solid #222; } + +/** + * 1. Override button styles (some of which are from Bootstrap). + * 2. Adding a border shifts tabs right by 1px, so we need to shift them back. + * 3. Move the tab down so that its bottom border covers the container's bottom border. + * 4. When the tab is focused, its bottom border changes to be 1px, so we need to add 1px more + * of padding to make sure the text doesn't shift down. + */ +.kuiTab { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + /* 1 */ + cursor: pointer; + padding: 10px 30px; + font-size: 14px; + color: #69707D; + background-color: #FFF; + /* 1 */ + border: 1px solid #D3DAE6; + border-radius: 0; + /* 1 */ + margin-bottom: -1px; + /* 3 */ } + .theme-dark .kuiTab { + color: #DDD; + background-color: #333333; + border-color: #222; } + .kuiTab + .kuiTab { + border-left: none; } + .kuiTab + .kuiTab:focus:not(.kuiTab-isSelected):not(:active) { + margin-left: -1px; + /* 2 */ } + .kuiTab:active { + outline: none !important; + /* 1 */ + -webkit-box-shadow: none; + box-shadow: none; + /* 1 */ } + .kuiTab:focus { + outline: none; + /* 1 */ } + .kuiTab:focus:not(.kuiTab-isSelected):not(:active) { + z-index: 1; + color: #006BB4; + border: 1px solid #006BB4 !important; } + .theme-dark .kuiTab:focus:not(.kuiTab-isSelected):not(:active) { + color: #DDD; + background-color: #333333; + border-color: #222 !important; } + .kuiTab:hover:not(.kuiTab-isSelected) { + color: #004d81; + background-color: #F2F2F2; } + .theme-dark .kuiTab:hover:not(.kuiTab-isSelected) { + color: #def2f6; + background-color: #222; } + .kuiTab.kuiTab-isSelected { + cursor: default; + color: #2D2D2D; + background-color: #FFF; + border-bottom-color: #FFF; } + .theme-dark .kuiTab.kuiTab-isSelected { + color: #DDD; + background-color: #333333; + border-bottom-color: #333333; } + +/** + * 1. Allow container to determine font-size and line-height. + * 2. Override inherited Bootstrap styles. + */ +.kuiToggleButton { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + cursor: pointer; + background-color: transparent; + border: none; + padding: 0; + font-size: inherit; + /* 1 */ + line-height: inherit; + /* 1 */ + color: #2D2D2D; } + .kuiToggleButton:focus { + color: #2D2D2D; } + .kuiToggleButton:active { + color: #006BB4 !important; + /* 2 */ } + .kuiToggleButton:hover:not(:disabled) { + color: #004d81 !important; + /* 2 */ + text-decoration: underline; } + .kuiToggleButton:disabled { + cursor: not-allowed; + opacity: .5; } + +/** + * 1. Make icon a consistent width so the text doesn't get pushed around as the icon changes + * between "expand" and "collapse". Use ems to be relative to inherited font-size. + */ +.kuiToggleButton__icon { + width: 0.8em; + /* 1 */ } + +.kuiTogglePanelHeader { + padding-bottom: 4px; + margin-bottom: 15px; + border-bottom: 1px solid #D3DAE6; + /** + * 1. Allow the user to click anywhere on the header, not just on the button text. + */ } + .kuiTogglePanelHeader .kuiToggleButton { + width: 100%; + /* 1 */ + text-align: left; + /* 1 */ } + +.kuiToolBar { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: justify; + -webkit-justify-content: space-between; + -ms-flex-pack: justify; + justify-content: space-between; + min-height: 30px; + /* 1 */ + padding: 10px; + height: 50px; + background-color: transparent; + border: solid 1px #D3DAE6; } + .kuiToolBar .kuiButton:not(a):enabled:focus { + z-index: 1; + /* 1 */ + outline: none !important; + /* 2 */ + -webkit-box-shadow: 0 0 0 1px #D3DAE6, 0 0 0 2px #006BB4; + box-shadow: 0 0 0 1px #D3DAE6, 0 0 0 2px #006BB4; + /* 3 */ } + a.kuiToolBar .kuiButton:not(.kuiButton-isDisabled):focus { + /* 1 */ + z-index: 1; + /* 1 */ + outline: none !important; + /* 2 */ + -webkit-box-shadow: 0 0 0 1px #D3DAE6, 0 0 0 2px #006BB4; + box-shadow: 0 0 0 1px #D3DAE6, 0 0 0 2px #006BB4; + /* 3 */ } + .kuiToolBar .kuiButton--danger:not(a):enabled:focus { + z-index: 1; + /* 1 */ + outline: none !important; + /* 2 */ + -webkit-box-shadow: 0 0 0 1px #D3DAE6, 0 0 0 2px #BD271E; + box-shadow: 0 0 0 1px #D3DAE6, 0 0 0 2px #BD271E; + /* 3 */ } + a.kuiToolBar .kuiButton--danger:not(.kuiButton-isDisabled):focus { + /* 1 */ + z-index: 1; + /* 1 */ + outline: none !important; + /* 2 */ + -webkit-box-shadow: 0 0 0 1px #D3DAE6, 0 0 0 2px #BD271E; + box-shadow: 0 0 0 1px #D3DAE6, 0 0 0 2px #BD271E; + /* 3 */ } + .kuiToolBar .kuiSelect { + border-color: #ffffff; } + .kuiToolBar .kuiSelect:not(a):enabled:focus { + outline: none; + border-color: #006BB4; } + a.kuiToolBar .kuiSelect:not(.kuiButton-isDisabled):focus { + /* 1 */ + outline: none; + border-color: #006BB4; } + +.kuiToolBarSection { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-flex: 1; + -webkit-flex: 1 1 auto; + -ms-flex: 1 1 auto; + flex: 1 1 auto; + margin-left: 25px; + margin-right: 25px; } + .kuiToolBarSection:not(:first-child):not(:last-child):not(:only-child) { + -webkit-box-pack: center; + -webkit-justify-content: center; + -ms-flex-pack: center; + justify-content: center; + /* 3 */ } + .kuiToolBarSection:first-child { + margin-left: 0; } + .kuiToolBarSection:last-child { + margin-right: 0; + -webkit-box-flex: 0; + -webkit-flex: 0 1 auto; + -ms-flex: 0 1 auto; + flex: 0 1 auto; + /* 4 */ + -webkit-box-pack: end; + -webkit-justify-content: flex-end; + -ms-flex-pack: end; + justify-content: flex-end; + /* 5 */ } + .kuiToolBarSection:only-child { + margin-left: auto; + /* 2 */ } + .kuiToolBarSection > * + * { + margin-left: 10px; + /* 1 */ } + +/** + * 1. Override Bar styles and put Search on the left side. + */ +.kuiToolBar--searchOnly .kuiToolBarSearch { + margin-left: 0 !important; + /* 1 */ } + +.kuiToolBarFooter { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: justify; + -webkit-justify-content: space-between; + -ms-flex-pack: justify; + justify-content: space-between; + min-height: 30px; + /* 1 */ + padding: 10px; + height: 40px; + background-color: #ffffff; } + +.kuiToolBarFooterSection { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-flex: 1; + -webkit-flex: 1 1 auto; + -ms-flex: 1 1 auto; + flex: 1 1 auto; + margin-left: 25px; + margin-right: 25px; } + .kuiToolBarFooterSection:not(:first-child):not(:last-child):not(:only-child) { + -webkit-box-pack: center; + -webkit-justify-content: center; + -ms-flex-pack: center; + justify-content: center; + /* 3 */ } + .kuiToolBarFooterSection:first-child { + margin-left: 0; } + .kuiToolBarFooterSection:last-child { + margin-right: 0; + -webkit-box-flex: 0; + -webkit-flex: 0 1 auto; + -ms-flex: 0 1 auto; + flex: 0 1 auto; + /* 4 */ + -webkit-box-pack: end; + -webkit-justify-content: flex-end; + -ms-flex-pack: end; + justify-content: flex-end; + /* 5 */ } + .kuiToolBarFooterSection:only-child { + margin-left: auto; + /* 2 */ } + .kuiToolBarFooterSection > * + * { + margin-left: 10px; + /* 1 */ } + +/** + * 1. Put 10px of space between each child. + * 2. Fix IE11 bug which causes this item to grow too wide when there is only a single + * kuiToolBarSection sibling. + */ +.kuiToolBarSearch { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; + margin-left: 25px; + margin-right: 25px; + -webkit-box-flex: 1; + -webkit-flex: 1 1 auto; + -ms-flex: 1 1 auto; + flex: 1 1 auto; + max-width: 100%; + /* 2 */ + line-height: 1.5; } + .kuiToolBarSearch:first-child { + margin-left: 0; } + .kuiToolBarSearch:last-child { + margin-right: 0; } + .kuiToolBarSearch > * + * { + margin-left: 10px; + /* 1 */ } + +.kuiToolBarSearchBox { + -webkit-box-flex: 1; + -webkit-flex: 1 1 auto; + -ms-flex: 1 1 auto; + flex: 1 1 auto; + position: relative; + font-size: 14px; + max-width: 800px; } + +.kuiToolBarSearchBox__icon { + position: absolute; + top: 0.5em; + left: 0.7em; + font-size: 1em; + color: #ACACAC; } + +/** + * 1. Fix inherited styles (possibly from Bootstrap). + */ +.kuiToolBarSearchBox__input { + width: 100%; + min-width: 200px; + padding: 4px 12px 5px 28px; + font-family: "Open Sans", Helvetica, Arial, sans-serif; + /* 1 */ + background-color: #FFFFFF; + color: #2D2D2D; + border-radius: 4px; + font-size: 1em; + border: 1px solid #D3DAE6; + line-height: normal; + /* 1 */ + -webkit-transition: border-color 0.1s linear; + transition: border-color 0.1s linear; } + .kuiToolBarSearchBox__input:focus { + outline: none; + border-color: #006BB4; } + +/* + * 1. We don't want the text to take up two lines and overflow the ToolBar. + */ +.kuiToolBarText { + font-size: 14px; + line-height: 1.5; + color: #5A5A5A; + white-space: nowrap; + /* 1 */ } + +/** + * 1. Override h1. + */ +.kuiTitle { + margin: 0; + /* 1 */ + font-weight: 400; + /* 1 */ + font-size: 22px; } + .theme-dark .kuiTitle { + color: #DDD; } + +/** + * 1. Override h2, h3, etc. + */ +.kuiSubTitle { + margin: 0; + /* 1 */ + font-weight: 400; + /* 1 */ + font-size: 18.0px; } + .theme-dark .kuiSubTitle { + color: #DDD; } + +/** + * 1. Override p. + */ +.kuiTextTitle { + margin: 0; + /* 1 */ + font-weight: 700; + /* 1 */ + line-height: 1.5; + font-size: 14px; } + .theme-dark .kuiTextTitle { + color: #DDD; } + +/** + * 1. Override p. + */ +.kuiText { + margin: 0; + /* 1 */ + font-weight: 400; + /* 1 */ + line-height: 1.5; + font-size: 14px; } + .theme-dark .kuiText { + color: #DDD; } + +.kuiSubText { + margin: 0; + /* 1 */ + font-weight: 400; + /* 1 */ + line-height: 1.5; + font-size: 14px; } + .theme-dark .kuiSubText { + color: #DDD; } + +.kuiSubduedText { + color: #69707D !important; } + +.kuiVerticalRhythm + .kuiVerticalRhythm { + margin-top: 16px; } + +.kuiVerticalRhythmSmall + .kuiVerticalRhythmSmall { + margin-top: 8px; } + +.kuiVerticalRhythmLarge + .kuiVerticalRhythmLarge { + margin-top: 24px; } + +.kuiVerticalRhythmXLarge + .kuiVerticalRhythmXLarge { + margin-top: 32px; } + +.kuiView { + background-color: #FFF; + -webkit-box-flex: 1; + -webkit-flex: 1 1 auto; + -ms-flex: 1 1 auto; + flex: 1 1 auto; } + +.kuiViewContent { + padding-top: 20px; + padding-bottom: 20px; + width: 100%; } + +.kuiViewContent--constrainedWidth { + width: 100%; + max-width: 1100px; + margin-left: auto; + margin-right: auto; } + +.kuiViewContentItem { + padding-left: 20px; + padding-right: 20px; } + +/*! + * Bootstrap v3.3.6 (http://getbootstrap.com) + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ +/* @notice + * This product bundles bootstrap@3.3.6 which is available under a + * "MIT" license. + * + * The MIT License (MIT) + * + * Copyright (c) 2011-2015 Twitter, Inc + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ +.container { + margin-right: auto; + margin-left: auto; + padding-left: 15px; + padding-right: 15px; +} +@media (min-width: 768px) { + .container { + width: 750px; + } +} +@media (min-width: 992px) { + .container { + width: 970px; + } +} +@media (min-width: 1200px) { + .container { + width: 1170px; + } +} +.container-fluid { + margin-right: auto; + margin-left: auto; + padding-left: 15px; + padding-right: 15px; +} +.row { + margin-left: -15px; + margin-right: -15px; +} +.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 { + position: relative; + min-height: 1px; + padding-left: 15px; + padding-right: 15px; +} +.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 { + float: left; +} +.col-xs-12 { + width: 100%; +} +.col-xs-11 { + width: 91.66666667%; +} +.col-xs-10 { + width: 83.33333333%; +} +.col-xs-9 { + width: 75%; +} +.col-xs-8 { + width: 66.66666667%; +} +.col-xs-7 { + width: 58.33333333%; +} +.col-xs-6 { + width: 50%; +} +.col-xs-5 { + width: 41.66666667%; +} +.col-xs-4 { + width: 33.33333333%; +} +.col-xs-3 { + width: 25%; +} +.col-xs-2 { + width: 16.66666667%; +} +.col-xs-1 { + width: 8.33333333%; +} +.col-xs-pull-12 { + right: 100%; +} +.col-xs-pull-11 { + right: 91.66666667%; +} +.col-xs-pull-10 { + right: 83.33333333%; +} +.col-xs-pull-9 { + right: 75%; +} +.col-xs-pull-8 { + right: 66.66666667%; +} +.col-xs-pull-7 { + right: 58.33333333%; +} +.col-xs-pull-6 { + right: 50%; +} +.col-xs-pull-5 { + right: 41.66666667%; +} +.col-xs-pull-4 { + right: 33.33333333%; +} +.col-xs-pull-3 { + right: 25%; +} +.col-xs-pull-2 { + right: 16.66666667%; +} +.col-xs-pull-1 { + right: 8.33333333%; +} +.col-xs-pull-0 { + right: auto; +} +.col-xs-push-12 { + left: 100%; +} +.col-xs-push-11 { + left: 91.66666667%; +} +.col-xs-push-10 { + left: 83.33333333%; +} +.col-xs-push-9 { + left: 75%; +} +.col-xs-push-8 { + left: 66.66666667%; +} +.col-xs-push-7 { + left: 58.33333333%; +} +.col-xs-push-6 { + left: 50%; +} +.col-xs-push-5 { + left: 41.66666667%; +} +.col-xs-push-4 { + left: 33.33333333%; +} +.col-xs-push-3 { + left: 25%; +} +.col-xs-push-2 { + left: 16.66666667%; +} +.col-xs-push-1 { + left: 8.33333333%; +} +.col-xs-push-0 { + left: auto; +} +.col-xs-offset-12 { + margin-left: 100%; +} +.col-xs-offset-11 { + margin-left: 91.66666667%; +} +.col-xs-offset-10 { + margin-left: 83.33333333%; +} +.col-xs-offset-9 { + margin-left: 75%; +} +.col-xs-offset-8 { + margin-left: 66.66666667%; +} +.col-xs-offset-7 { + margin-left: 58.33333333%; +} +.col-xs-offset-6 { + margin-left: 50%; +} +.col-xs-offset-5 { + margin-left: 41.66666667%; +} +.col-xs-offset-4 { + margin-left: 33.33333333%; +} +.col-xs-offset-3 { + margin-left: 25%; +} +.col-xs-offset-2 { + margin-left: 16.66666667%; +} +.col-xs-offset-1 { + margin-left: 8.33333333%; +} +.col-xs-offset-0 { + margin-left: 0%; +} +@media (min-width: 768px) { + .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 { + float: left; + } + .col-sm-12 { + width: 100%; + } + .col-sm-11 { + width: 91.66666667%; + } + .col-sm-10 { + width: 83.33333333%; + } + .col-sm-9 { + width: 75%; + } + .col-sm-8 { + width: 66.66666667%; + } + .col-sm-7 { + width: 58.33333333%; + } + .col-sm-6 { + width: 50%; + } + .col-sm-5 { + width: 41.66666667%; + } + .col-sm-4 { + width: 33.33333333%; + } + .col-sm-3 { + width: 25%; + } + .col-sm-2 { + width: 16.66666667%; + } + .col-sm-1 { + width: 8.33333333%; + } + .col-sm-pull-12 { + right: 100%; + } + .col-sm-pull-11 { + right: 91.66666667%; + } + .col-sm-pull-10 { + right: 83.33333333%; + } + .col-sm-pull-9 { + right: 75%; + } + .col-sm-pull-8 { + right: 66.66666667%; + } + .col-sm-pull-7 { + right: 58.33333333%; + } + .col-sm-pull-6 { + right: 50%; + } + .col-sm-pull-5 { + right: 41.66666667%; + } + .col-sm-pull-4 { + right: 33.33333333%; + } + .col-sm-pull-3 { + right: 25%; + } + .col-sm-pull-2 { + right: 16.66666667%; + } + .col-sm-pull-1 { + right: 8.33333333%; + } + .col-sm-pull-0 { + right: auto; + } + .col-sm-push-12 { + left: 100%; + } + .col-sm-push-11 { + left: 91.66666667%; + } + .col-sm-push-10 { + left: 83.33333333%; + } + .col-sm-push-9 { + left: 75%; + } + .col-sm-push-8 { + left: 66.66666667%; + } + .col-sm-push-7 { + left: 58.33333333%; + } + .col-sm-push-6 { + left: 50%; + } + .col-sm-push-5 { + left: 41.66666667%; + } + .col-sm-push-4 { + left: 33.33333333%; + } + .col-sm-push-3 { + left: 25%; + } + .col-sm-push-2 { + left: 16.66666667%; + } + .col-sm-push-1 { + left: 8.33333333%; + } + .col-sm-push-0 { + left: auto; + } + .col-sm-offset-12 { + margin-left: 100%; + } + .col-sm-offset-11 { + margin-left: 91.66666667%; + } + .col-sm-offset-10 { + margin-left: 83.33333333%; + } + .col-sm-offset-9 { + margin-left: 75%; + } + .col-sm-offset-8 { + margin-left: 66.66666667%; + } + .col-sm-offset-7 { + margin-left: 58.33333333%; + } + .col-sm-offset-6 { + margin-left: 50%; + } + .col-sm-offset-5 { + margin-left: 41.66666667%; + } + .col-sm-offset-4 { + margin-left: 33.33333333%; + } + .col-sm-offset-3 { + margin-left: 25%; + } + .col-sm-offset-2 { + margin-left: 16.66666667%; + } + .col-sm-offset-1 { + margin-left: 8.33333333%; + } + .col-sm-offset-0 { + margin-left: 0%; + } +} +@media (min-width: 992px) { + .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 { + float: left; + } + .col-md-12 { + width: 100%; + } + .col-md-11 { + width: 91.66666667%; + } + .col-md-10 { + width: 83.33333333%; + } + .col-md-9 { + width: 75%; + } + .col-md-8 { + width: 66.66666667%; + } + .col-md-7 { + width: 58.33333333%; + } + .col-md-6 { + width: 50%; + } + .col-md-5 { + width: 41.66666667%; + } + .col-md-4 { + width: 33.33333333%; + } + .col-md-3 { + width: 25%; + } + .col-md-2 { + width: 16.66666667%; + } + .col-md-1 { + width: 8.33333333%; + } + .col-md-pull-12 { + right: 100%; + } + .col-md-pull-11 { + right: 91.66666667%; + } + .col-md-pull-10 { + right: 83.33333333%; + } + .col-md-pull-9 { + right: 75%; + } + .col-md-pull-8 { + right: 66.66666667%; + } + .col-md-pull-7 { + right: 58.33333333%; + } + .col-md-pull-6 { + right: 50%; + } + .col-md-pull-5 { + right: 41.66666667%; + } + .col-md-pull-4 { + right: 33.33333333%; + } + .col-md-pull-3 { + right: 25%; + } + .col-md-pull-2 { + right: 16.66666667%; + } + .col-md-pull-1 { + right: 8.33333333%; + } + .col-md-pull-0 { + right: auto; + } + .col-md-push-12 { + left: 100%; + } + .col-md-push-11 { + left: 91.66666667%; + } + .col-md-push-10 { + left: 83.33333333%; + } + .col-md-push-9 { + left: 75%; + } + .col-md-push-8 { + left: 66.66666667%; + } + .col-md-push-7 { + left: 58.33333333%; + } + .col-md-push-6 { + left: 50%; + } + .col-md-push-5 { + left: 41.66666667%; + } + .col-md-push-4 { + left: 33.33333333%; + } + .col-md-push-3 { + left: 25%; + } + .col-md-push-2 { + left: 16.66666667%; + } + .col-md-push-1 { + left: 8.33333333%; + } + .col-md-push-0 { + left: auto; + } + .col-md-offset-12 { + margin-left: 100%; + } + .col-md-offset-11 { + margin-left: 91.66666667%; + } + .col-md-offset-10 { + margin-left: 83.33333333%; + } + .col-md-offset-9 { + margin-left: 75%; + } + .col-md-offset-8 { + margin-left: 66.66666667%; + } + .col-md-offset-7 { + margin-left: 58.33333333%; + } + .col-md-offset-6 { + margin-left: 50%; + } + .col-md-offset-5 { + margin-left: 41.66666667%; + } + .col-md-offset-4 { + margin-left: 33.33333333%; + } + .col-md-offset-3 { + margin-left: 25%; + } + .col-md-offset-2 { + margin-left: 16.66666667%; + } + .col-md-offset-1 { + margin-left: 8.33333333%; + } + .col-md-offset-0 { + margin-left: 0%; + } +} +@media (min-width: 1200px) { + .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 { + float: left; + } + .col-lg-12 { + width: 100%; + } + .col-lg-11 { + width: 91.66666667%; + } + .col-lg-10 { + width: 83.33333333%; + } + .col-lg-9 { + width: 75%; + } + .col-lg-8 { + width: 66.66666667%; + } + .col-lg-7 { + width: 58.33333333%; + } + .col-lg-6 { + width: 50%; + } + .col-lg-5 { + width: 41.66666667%; + } + .col-lg-4 { + width: 33.33333333%; + } + .col-lg-3 { + width: 25%; + } + .col-lg-2 { + width: 16.66666667%; + } + .col-lg-1 { + width: 8.33333333%; + } + .col-lg-pull-12 { + right: 100%; + } + .col-lg-pull-11 { + right: 91.66666667%; + } + .col-lg-pull-10 { + right: 83.33333333%; + } + .col-lg-pull-9 { + right: 75%; + } + .col-lg-pull-8 { + right: 66.66666667%; + } + .col-lg-pull-7 { + right: 58.33333333%; + } + .col-lg-pull-6 { + right: 50%; + } + .col-lg-pull-5 { + right: 41.66666667%; + } + .col-lg-pull-4 { + right: 33.33333333%; + } + .col-lg-pull-3 { + right: 25%; + } + .col-lg-pull-2 { + right: 16.66666667%; + } + .col-lg-pull-1 { + right: 8.33333333%; + } + .col-lg-pull-0 { + right: auto; + } + .col-lg-push-12 { + left: 100%; + } + .col-lg-push-11 { + left: 91.66666667%; + } + .col-lg-push-10 { + left: 83.33333333%; + } + .col-lg-push-9 { + left: 75%; + } + .col-lg-push-8 { + left: 66.66666667%; + } + .col-lg-push-7 { + left: 58.33333333%; + } + .col-lg-push-6 { + left: 50%; + } + .col-lg-push-5 { + left: 41.66666667%; + } + .col-lg-push-4 { + left: 33.33333333%; + } + .col-lg-push-3 { + left: 25%; + } + .col-lg-push-2 { + left: 16.66666667%; + } + .col-lg-push-1 { + left: 8.33333333%; + } + .col-lg-push-0 { + left: auto; + } + .col-lg-offset-12 { + margin-left: 100%; + } + .col-lg-offset-11 { + margin-left: 91.66666667%; + } + .col-lg-offset-10 { + margin-left: 83.33333333%; + } + .col-lg-offset-9 { + margin-left: 75%; + } + .col-lg-offset-8 { + margin-left: 66.66666667%; + } + .col-lg-offset-7 { + margin-left: 58.33333333%; + } + .col-lg-offset-6 { + margin-left: 50%; + } + .col-lg-offset-5 { + margin-left: 41.66666667%; + } + .col-lg-offset-4 { + margin-left: 33.33333333%; + } + .col-lg-offset-3 { + margin-left: 25%; + } + .col-lg-offset-2 { + margin-left: 16.66666667%; + } + .col-lg-offset-1 { + margin-left: 8.33333333%; + } + .col-lg-offset-0 { + margin-left: 0%; + } +} +.table { + width: 100%; + max-width: 100%; + margin-bottom: 20px; +} +.table > thead > tr > th, +.table > tbody > tr > th, +.table > tfoot > tr > th, +.table > thead > tr > td, +.table > tbody > tr > td, +.table > tfoot > tr > td { + padding: 8px; + line-height: 1.42857143; + vertical-align: top; + border-top: 1px solid #D3DAE6; +} +.table > thead > tr > th { + vertical-align: bottom; + border-bottom: 1px solid #D3DAE6; +} +.table > caption + thead > tr:first-child > th, +.table > colgroup + thead > tr:first-child > th, +.table > thead:first-child > tr:first-child > th, +.table > caption + thead > tr:first-child > td, +.table > colgroup + thead > tr:first-child > td, +.table > thead:first-child > tr:first-child > td { + border-top: 0; +} +.table > tbody + tbody { + border-top: 2px solid #D3DAE6; +} +.table .table { + background-color: #FFF; +} +.table-condensed > thead > tr > th, +.table-condensed > tbody > tr > th, +.table-condensed > tfoot > tr > th, +.table-condensed > thead > tr > td, +.table-condensed > tbody > tr > td, +.table-condensed > tfoot > tr > td { + padding: 5px; +} +.table-bordered { + border: 1px solid #D3DAE6; +} +.table-bordered > thead > tr > th, +.table-bordered > tbody > tr > th, +.table-bordered > tfoot > tr > th, +.table-bordered > thead > tr > td, +.table-bordered > tbody > tr > td, +.table-bordered > tfoot > tr > td { + border: 1px solid #D3DAE6; +} +.table-bordered > thead > tr > th, +.table-bordered > thead > tr > td { + border-bottom-width: 2px; +} +.table-striped > tbody > tr:nth-of-type(odd) { + background-color: #F5F7FA; +} +.table-hover > tbody > tr:hover { + background-color: #D3DAE6; +} +table col[class*="col-"] { + position: static; + float: none; + display: table-column; +} +table td[class*="col-"], +table th[class*="col-"] { + position: static; + float: none; + display: table-cell; +} +.table > thead > tr > td.active, +.table > tbody > tr > td.active, +.table > tfoot > tr > td.active, +.table > thead > tr > th.active, +.table > tbody > tr > th.active, +.table > tfoot > tr > th.active, +.table > thead > tr.active > td, +.table > tbody > tr.active > td, +.table > tfoot > tr.active > td, +.table > thead > tr.active > th, +.table > tbody > tr.active > th, +.table > tfoot > tr.active > th { + background-color: #D3DAE6; +} +.table-hover > tbody > tr > td.active:hover, +.table-hover > tbody > tr > th.active:hover, +.table-hover > tbody > tr.active:hover > td, +.table-hover > tbody > tr:hover > .active, +.table-hover > tbody > tr.active:hover > th { + background-color: #c3ccdd; +} +.table > thead > tr > td.success, +.table > tbody > tr > td.success, +.table > tfoot > tr > td.success, +.table > thead > tr > th.success, +.table > tbody > tr > th.success, +.table > tfoot > tr > th.success, +.table > thead > tr.success > td, +.table > tbody > tr.success > td, +.table > tfoot > tr.success > td, +.table > thead > tr.success > th, +.table > tbody > tr.success > th, +.table > tfoot > tr.success > th { + background-color: #017D73; +} +.table-hover > tbody > tr > td.success:hover, +.table-hover > tbody > tr > th.success:hover, +.table-hover > tbody > tr.success:hover > td, +.table-hover > tbody > tr:hover > .success, +.table-hover > tbody > tr.success:hover > th { + background-color: #01645c; +} +.table > thead > tr > td.info, +.table > tbody > tr > td.info, +.table > tfoot > tr > td.info, +.table > thead > tr > th.info, +.table > tbody > tr > th.info, +.table > tfoot > tr > th.info, +.table > thead > tr.info > td, +.table > tbody > tr.info > td, +.table > tfoot > tr.info > td, +.table > thead > tr.info > th, +.table > tbody > tr.info > th, +.table > tfoot > tr.info > th { + background-color: #006BB4; +} +.table-hover > tbody > tr > td.info:hover, +.table-hover > tbody > tr > th.info:hover, +.table-hover > tbody > tr.info:hover > td, +.table-hover > tbody > tr:hover > .info, +.table-hover > tbody > tr.info:hover > th { + background-color: #005c9b; +} +.table > thead > tr > td.warning, +.table > tbody > tr > td.warning, +.table > tfoot > tr > td.warning, +.table > thead > tr > th.warning, +.table > tbody > tr > th.warning, +.table > tfoot > tr > th.warning, +.table > thead > tr.warning > td, +.table > tbody > tr.warning > td, +.table > tfoot > tr.warning > td, +.table > thead > tr.warning > th, +.table > tbody > tr.warning > th, +.table > tfoot > tr.warning > th { + background-color: #F5A700; +} +.table-hover > tbody > tr > td.warning:hover, +.table-hover > tbody > tr > th.warning:hover, +.table-hover > tbody > tr.warning:hover > td, +.table-hover > tbody > tr:hover > .warning, +.table-hover > tbody > tr.warning:hover > th { + background-color: #dc9600; +} +.table > thead > tr > td.danger, +.table > tbody > tr > td.danger, +.table > tfoot > tr > td.danger, +.table > thead > tr > th.danger, +.table > tbody > tr > th.danger, +.table > tfoot > tr > th.danger, +.table > thead > tr.danger > td, +.table > tbody > tr.danger > td, +.table > tfoot > tr.danger > td, +.table > thead > tr.danger > th, +.table > tbody > tr.danger > th, +.table > tfoot > tr.danger > th { + background-color: #BD271E; +} +.table-hover > tbody > tr > td.danger:hover, +.table-hover > tbody > tr > th.danger:hover, +.table-hover > tbody > tr.danger:hover > td, +.table-hover > tbody > tr:hover > .danger, +.table-hover > tbody > tr.danger:hover > th { + background-color: #a7221b; +} +.table-responsive { + overflow-x: auto; + min-height: 0.01%; +} +@media screen and (max-width: 767px) { + .table-responsive { + width: 100%; + margin-bottom: 15px; + overflow-y: hidden; + -ms-overflow-style: -ms-autohiding-scrollbar; + border: 1px solid #D3DAE6; + } + .table-responsive > .table { + margin-bottom: 0; + } + .table-responsive > .table > thead > tr > th, + .table-responsive > .table > tbody > tr > th, + .table-responsive > .table > tfoot > tr > th, + .table-responsive > .table > thead > tr > td, + .table-responsive > .table > tbody > tr > td, + .table-responsive > .table > tfoot > tr > td { + white-space: nowrap; + } + .table-responsive > .table-bordered { + border: 0; + } + .table-responsive > .table-bordered > thead > tr > th:first-child, + .table-responsive > .table-bordered > tbody > tr > th:first-child, + .table-responsive > .table-bordered > tfoot > tr > th:first-child, + .table-responsive > .table-bordered > thead > tr > td:first-child, + .table-responsive > .table-bordered > tbody > tr > td:first-child, + .table-responsive > .table-bordered > tfoot > tr > td:first-child { + border-left: 0; + } + .table-responsive > .table-bordered > thead > tr > th:last-child, + .table-responsive > .table-bordered > tbody > tr > th:last-child, + .table-responsive > .table-bordered > tfoot > tr > th:last-child, + .table-responsive > .table-bordered > thead > tr > td:last-child, + .table-responsive > .table-bordered > tbody > tr > td:last-child, + .table-responsive > .table-bordered > tfoot > tr > td:last-child { + border-right: 0; + } + .table-responsive > .table-bordered > tbody > tr:last-child > th, + .table-responsive > .table-bordered > tfoot > tr:last-child > th, + .table-responsive > .table-bordered > tbody > tr:last-child > td, + .table-responsive > .table-bordered > tfoot > tr:last-child > td { + border-bottom: 0; + } +} +.form-control { + display: block; + width: 100%; + height: 32px; + padding: 5px 15px; + font-size: 14px; + line-height: 1.42857143; + color: #343741; + background-color: #fff; + background-image: none; + border: 1px solid #D3DAE6; + border-radius: 4px; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; + -webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s; + transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s; + transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; + transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s, -webkit-box-shadow ease-in-out .15s; +} +.form-control:focus { + border-color: #006BB4; + outline: 0; + -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(0, 107, 180, 0.6); + box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(0, 107, 180, 0.6); +} +.form-control::-moz-placeholder { + color: #98A2B3; + opacity: 1; +} +.form-control:-ms-input-placeholder { + color: #98A2B3; +} +.form-control::-webkit-input-placeholder { + color: #98A2B3; +} +.form-control::-ms-expand { + border: 0; + background-color: transparent; +} +.form-control[disabled], +.form-control[readonly], +fieldset[disabled] .form-control { + background-color: #D3DAE6; + opacity: 1; +} +.form-control[disabled], +fieldset[disabled] .form-control { + cursor: not-allowed; +} +textarea.form-control { + height: auto; +} +.form-group { + margin-bottom: 15px; +} +.radio, +.checkbox { + position: relative; + display: block; + margin-top: 10px; + margin-bottom: 10px; +} +.radio label, +.checkbox label { + min-height: 20px; + padding-left: 20px; + margin-bottom: 0; + font-weight: normal; + cursor: pointer; +} +.radio input[type="radio"], +.radio-inline input[type="radio"], +.checkbox input[type="checkbox"], +.checkbox-inline input[type="checkbox"] { + position: absolute; + margin-left: -20px; + margin-top: 4px \9; +} +.radio + .radio, +.checkbox + .checkbox { + margin-top: -5px; +} +.radio-inline, +.checkbox-inline { + position: relative; + display: inline-block; + padding-left: 20px; + margin-bottom: 0; + vertical-align: middle; + font-weight: normal; + cursor: pointer; +} +.radio-inline + .radio-inline, +.checkbox-inline + .checkbox-inline { + margin-top: 0; + margin-left: 10px; +} +.radio-inline.disabled, +.checkbox-inline.disabled, +fieldset[disabled] .radio-inline, +fieldset[disabled] .checkbox-inline { + cursor: not-allowed; +} +.radio.disabled label, +.checkbox.disabled label, +fieldset[disabled] .radio label, +fieldset[disabled] .checkbox label { + cursor: not-allowed; +} +.form-control-static { + padding-top: 6px; + padding-bottom: 6px; + margin-bottom: 0; + min-height: 34px; +} +.form-control-static.input-lg, +.form-control-static.input-sm { + padding-left: 0; + padding-right: 0; +} +.input-sm { + height: 32px; + padding: 6px 9px; + font-size: 12px; + line-height: 1.5; + border-radius: 4px; +} +select.input-sm { + height: 32px; + line-height: 32px; +} +textarea.input-sm, +select[multiple].input-sm { + height: auto; +} +.form-group-sm .form-control { + height: 32px; + padding: 6px 9px; + font-size: 12px; + line-height: 1.5; + border-radius: 4px; +} +.form-group-sm select.form-control { + height: 32px; + line-height: 32px; +} +.form-group-sm textarea.form-control, +.form-group-sm select[multiple].form-control { + height: auto; +} +.form-group-sm .form-control-static { + height: 32px; + min-height: 32px; + padding: 7px 9px; + font-size: 12px; + line-height: 1.5; +} +.input-lg { + height: 62px; + padding: 18px 27px; + font-size: 18px; + line-height: 1.3333333; + border-radius: 4px; +} +select.input-lg { + height: 62px; + line-height: 62px; +} +textarea.input-lg, +select[multiple].input-lg { + height: auto; +} +.form-group-lg .form-control { + height: 62px; + padding: 18px 27px; + font-size: 18px; + line-height: 1.3333333; + border-radius: 4px; +} +.form-group-lg select.form-control { + height: 62px; + line-height: 62px; +} +.form-group-lg textarea.form-control, +.form-group-lg select[multiple].form-control { + height: auto; +} +.form-group-lg .form-control-static { + height: 62px; + min-height: 38px; + padding: 19px 27px; + font-size: 18px; + line-height: 1.3333333; +} +.has-feedback { + position: relative; +} +.has-feedback .form-control { + padding-right: 40px; +} +.form-control-feedback { + position: absolute; + top: 0; + right: 0; + z-index: 2; + display: block; + width: 32px; + height: 32px; + line-height: 32px; + text-align: center; + pointer-events: none; +} +.input-lg + .form-control-feedback, +.input-group-lg + .form-control-feedback, +.form-group-lg .form-control + .form-control-feedback { + width: 62px; + height: 62px; + line-height: 62px; +} +.input-sm + .form-control-feedback, +.input-group-sm + .form-control-feedback, +.form-group-sm .form-control + .form-control-feedback { + width: 32px; + height: 32px; + line-height: 32px; +} +.has-success .help-block, +.has-success .control-label, +.has-success .radio, +.has-success .checkbox, +.has-success .radio-inline, +.has-success .checkbox-inline, +.has-success.radio label, +.has-success.checkbox label, +.has-success.radio-inline label, +.has-success.checkbox-inline label { + color: #FFF; +} +.has-success .form-control { + border-color: #FFF; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} +.has-success .form-control:focus { + border-color: #e6e6e6; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ffffff; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ffffff; +} +.has-success .input-group-addon { + color: #FFF; + border-color: #FFF; + background-color: #017D73; +} +.has-success .form-control-feedback { + color: #FFF; +} +.has-warning .help-block, +.has-warning .control-label, +.has-warning .radio, +.has-warning .checkbox, +.has-warning .radio-inline, +.has-warning .checkbox-inline, +.has-warning.radio label, +.has-warning.checkbox label, +.has-warning.radio-inline label, +.has-warning.checkbox-inline label { + color: #FFF; +} +.has-warning .form-control { + border-color: #FFF; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} +.has-warning .form-control:focus { + border-color: #e6e6e6; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ffffff; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ffffff; +} +.has-warning .input-group-addon { + color: #FFF; + border-color: #FFF; + background-color: #F5A700; +} +.has-warning .form-control-feedback { + color: #FFF; +} +.has-error .help-block, +.has-error .control-label, +.has-error .radio, +.has-error .checkbox, +.has-error .radio-inline, +.has-error .checkbox-inline, +.has-error.radio label, +.has-error.checkbox label, +.has-error.radio-inline label, +.has-error.checkbox-inline label { + color: #FFF; +} +.has-error .form-control { + border-color: #FFF; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} +.has-error .form-control:focus { + border-color: #e6e6e6; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ffffff; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ffffff; +} +.has-error .input-group-addon { + color: #FFF; + border-color: #FFF; + background-color: #BD271E; +} +.has-error .form-control-feedback { + color: #FFF; +} +.has-feedback label ~ .form-control-feedback { + top: 25px; +} +.has-feedback label.sr-only ~ .form-control-feedback { + top: 0; +} +.help-block { + display: block; + margin-top: 5px; + margin-bottom: 10px; + color: #6d7388; +} +@media (min-width: 768px) { + .form-inline .form-group { + display: inline-block; + margin-bottom: 0; + vertical-align: middle; + } + .form-inline .form-control { + display: inline-block; + width: auto; + vertical-align: middle; + } + .form-inline .form-control-static { + display: inline-block; + } + .form-inline .input-group { + display: inline-table; + vertical-align: middle; + } + .form-inline .input-group .input-group-addon, + .form-inline .input-group .form-control { + width: auto; + } + .form-inline .input-group > .form-control { + width: 100%; + } + .form-inline .control-label { + margin-bottom: 0; + vertical-align: middle; + } + .form-inline .radio, + .form-inline .checkbox { + display: inline-block; + margin-top: 0; + margin-bottom: 0; + vertical-align: middle; + } + .form-inline .radio label, + .form-inline .checkbox label { + padding-left: 0; + } + .form-inline .radio input[type="radio"], + .form-inline .checkbox input[type="checkbox"] { + position: relative; + margin-left: 0; + } + .form-inline .has-feedback .form-control-feedback { + top: 0; + } +} +.form-horizontal .radio, +.form-horizontal .checkbox, +.form-horizontal .radio-inline, +.form-horizontal .checkbox-inline { + margin-top: 0; + margin-bottom: 0; + padding-top: 6px; +} +.form-horizontal .radio, +.form-horizontal .checkbox { + min-height: 26px; +} +.form-horizontal .form-group { + margin-left: -15px; + margin-right: -15px; +} +@media (min-width: 768px) { + .form-horizontal .control-label { + text-align: right; + margin-bottom: 0; + padding-top: 6px; + } +} +.form-horizontal .has-feedback .form-control-feedback { + right: 15px; +} +@media (min-width: 768px) { + .form-horizontal .form-group-lg .control-label { + padding-top: 19px; + font-size: 18px; + } +} +@media (min-width: 768px) { + .form-horizontal .form-group-sm .control-label { + padding-top: 7px; + font-size: 12px; + } +} +.text-left { + text-align: left; +} +.text-right { + text-align: right; +} +.text-center { + text-align: center; +} +.text-muted { + color: #b2bac6; +} +.text-primary { + color: #343741; +} +a.text-primary:hover, +a.text-primary:focus { + color: #1d1f25; +} +.text-success { + color: #FFF; +} +a.text-success:hover, +a.text-success:focus { + color: #e6e6e6; +} +.text-info { + color: #FFF; +} +a.text-info:hover, +a.text-info:focus { + color: #e6e6e6; +} +.text-warning { + color: #FFF; +} +a.text-warning:hover, +a.text-warning:focus { + color: #e6e6e6; +} +.text-danger { + color: #FFF; +} +a.text-danger:hover, +a.text-danger:focus { + color: #e6e6e6; +} +.bg-info { + background-color: #006BB4; +} +a.bg-info:hover, +a.bg-info:focus { + background-color: #004d81; +} +.list-unstyled { + padding-left: 0; + list-style: none; +} +@media (min-width: 768px) { + .dl-horizontal dt { + float: left; + width: 160px; + clear: left; + text-align: right; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + } + .dl-horizontal dd { + margin-left: 180px; + } +} +.fade { + opacity: 0; + -webkit-transition: opacity 0.15s linear; + transition: opacity 0.15s linear; +} +.fade.in { + opacity: 1; +} +.collapse { + display: none; +} +.collapse.in { + display: block; +} +tr.collapse.in { + display: table-row; +} +tbody.collapse.in { + display: table-row-group; +} +.collapsing { + position: relative; + height: 0; + overflow: hidden; + -webkit-transition-property: height, visibility; + transition-property: height, visibility; + -webkit-transition-duration: 0.35s; + transition-duration: 0.35s; + -webkit-transition-timing-function: ease; + transition-timing-function: ease; +} +/** + * angular-ui-select depends upon these styles. Don't use them in your markup. + * Please use the UI Framework styles instead. + */ +.btn { + display: inline-block; + margin-bottom: 0; + font-weight: normal; + text-align: center; + vertical-align: middle; + -ms-touch-action: manipulation; + touch-action: manipulation; + cursor: pointer; + background-image: none; + border: 1px solid transparent; + white-space: nowrap; + padding: 5px 15px; + font-size: 14px; + line-height: 1.42857143; + border-radius: 4px; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.btn:focus, +.btn:active:focus, +.btn.active:focus, +.btn.focus, +.btn:active.focus, +.btn.active.focus { + -webkit-box-shadow: 0 0 0 1px white, 0 0 0 2px #0079a5; + box-shadow: 0 0 0 1px white, 0 0 0 2px #0079a5; + /* 3 */ +} +.btn:hover, +.btn:focus, +.btn.focus { + color: #FFF; + text-decoration: none; +} +.btn:active, +.btn.active { + outline: 0; + background-image: none; + -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); +} +.btn.disabled, +.btn[disabled], +fieldset[disabled] .btn { + cursor: not-allowed; + opacity: 0.65; + filter: alpha(opacity=65); + -webkit-box-shadow: none; + box-shadow: none; +} +a.btn.disabled, +fieldset[disabled] a.btn { + pointer-events: none; +} +.btn-default { + color: #FFF; + background-color: #006BB4; + border-color: #006BB4; +} +.btn-default:focus, +.btn-default.focus { + color: #FFF; + background-color: #004d81; + border-color: #001f35; +} +.btn-default:hover { + color: #FFF; + background-color: #004d81; + border-color: #004777; +} +.btn-default:active, +.btn-default.active, +.open > .dropdown-toggle.btn-default { + color: #FFF; + background-color: #004d81; + border-color: #004777; +} +.btn-default:active:hover, +.btn-default.active:hover, +.open > .dropdown-toggle.btn-default:hover, +.btn-default:active:focus, +.btn-default.active:focus, +.open > .dropdown-toggle.btn-default:focus, +.btn-default:active.focus, +.btn-default.active.focus, +.open > .dropdown-toggle.btn-default.focus { + color: #FFF; + background-color: #00375d; + border-color: #001f35; +} +.btn-default:active, +.btn-default.active, +.open > .dropdown-toggle.btn-default { + background-image: none; +} +.btn-default.disabled:hover, +.btn-default[disabled]:hover, +fieldset[disabled] .btn-default:hover, +.btn-default.disabled:focus, +.btn-default[disabled]:focus, +fieldset[disabled] .btn-default:focus, +.btn-default.disabled.focus, +.btn-default[disabled].focus, +fieldset[disabled] .btn-default.focus { + background-color: #006BB4; + border-color: #006BB4; +} +.btn-default .badge { + color: #006BB4; + background-color: #FFF; +} +.btn-primary { + color: #FFF; + background-color: #006BB4; + border-color: #006BB4; +} +.btn-primary:focus, +.btn-primary.focus { + color: #FFF; + background-color: #004d81; + border-color: #001f35; +} +.btn-primary:hover { + color: #FFF; + background-color: #004d81; + border-color: #004777; +} +.btn-primary:active, +.btn-primary.active, +.open > .dropdown-toggle.btn-primary { + color: #FFF; + background-color: #004d81; + border-color: #004777; +} +.btn-primary:active:hover, +.btn-primary.active:hover, +.open > .dropdown-toggle.btn-primary:hover, +.btn-primary:active:focus, +.btn-primary.active:focus, +.open > .dropdown-toggle.btn-primary:focus, +.btn-primary:active.focus, +.btn-primary.active.focus, +.open > .dropdown-toggle.btn-primary.focus { + color: #FFF; + background-color: #00375d; + border-color: #001f35; +} +.btn-primary:active, +.btn-primary.active, +.open > .dropdown-toggle.btn-primary { + background-image: none; +} +.btn-primary.disabled:hover, +.btn-primary[disabled]:hover, +fieldset[disabled] .btn-primary:hover, +.btn-primary.disabled:focus, +.btn-primary[disabled]:focus, +fieldset[disabled] .btn-primary:focus, +.btn-primary.disabled.focus, +.btn-primary[disabled].focus, +fieldset[disabled] .btn-primary.focus { + background-color: #006BB4; + border-color: #006BB4; +} +.btn-primary .badge { + color: #006BB4; + background-color: #FFF; +} +.btn-xs { + padding: 1px 5px; + font-size: 12px; + line-height: 1.5; + border-radius: 4px; +} +.navbar { + position: relative; + min-height: 45px; + margin-bottom: 0px; + border: 1px solid transparent; +} +@media (min-width: 768px) { + .navbar { + border-radius: 4px; + } +} +@media (min-width: 768px) { + .navbar-header { + float: left; + } +} +.navbar-collapse { + overflow-x: visible; + padding-right: 10px; + padding-left: 10px; + border-top: 1px solid transparent; + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1); + -webkit-overflow-scrolling: touch; +} +.navbar-collapse.in { + overflow-y: auto; +} +@media (min-width: 768px) { + .navbar-collapse { + width: auto; + border-top: 0; + -webkit-box-shadow: none; + box-shadow: none; + } + .navbar-collapse.collapse { + display: block !important; + height: auto !important; + padding-bottom: 0; + overflow: visible !important; + } + .navbar-collapse.in { + overflow-y: visible; + } + .navbar-fixed-top .navbar-collapse, + .navbar-fixed-bottom .navbar-collapse { + padding-left: 0; + padding-right: 0; + } +} +.navbar-fixed-top .navbar-collapse, +.navbar-fixed-bottom .navbar-collapse { + max-height: 340px; +} +@media (max-device-width: 480px) and (orientation: landscape) { + .navbar-fixed-top .navbar-collapse, + .navbar-fixed-bottom .navbar-collapse { + max-height: 200px; + } +} +.container > .navbar-header, +.container-fluid > .navbar-header, +.container > .navbar-collapse, +.container-fluid > .navbar-collapse { + margin-right: -10px; + margin-left: -10px; +} +@media (min-width: 768px) { + .container > .navbar-header, + .container-fluid > .navbar-header, + .container > .navbar-collapse, + .container-fluid > .navbar-collapse { + margin-right: 0; + margin-left: 0; + } +} +.navbar-fixed-top, +.navbar-fixed-bottom { + position: fixed; + right: 0; + left: 0; + z-index: 1050; +} +@media (min-width: 768px) { + .navbar-fixed-top, + .navbar-fixed-bottom { + border-radius: 0; + } +} +.navbar-fixed-top { + top: 0; + border-width: 0 0 1px; +} +.navbar-fixed-bottom { + bottom: 0; + margin-bottom: 0; + border-width: 1px 0 0; +} +.navbar-brand { + float: left; + padding: 12.5px 10px; + font-size: 18px; + line-height: 20px; + height: 45px; +} +.navbar-brand:hover, +.navbar-brand:focus { + text-decoration: none; +} +.navbar-brand > img { + display: block; +} +@media (min-width: 768px) { + .navbar > .container .navbar-brand, + .navbar > .container-fluid .navbar-brand { + margin-left: -10px; + } +} +.navbar-toggle { + position: relative; + float: right; + margin-right: 10px; + padding: 9px 10px; + margin-top: 5.5px; + margin-bottom: 5.5px; + background-color: transparent; + background-image: none; + border: 1px solid transparent; + border-radius: 4px; +} +.navbar-toggle:focus { + outline: 0; +} +.navbar-toggle .icon-bar { + display: block; + width: 22px; + height: 2px; + border-radius: 1px; +} +.navbar-toggle .icon-bar + .icon-bar { + margin-top: 4px; +} +@media (min-width: 768px) { + .navbar-toggle { + display: none; + } +} +.navbar-nav { + margin: 6.25px -10px; +} +.navbar-nav > li > a { + padding-top: 10px; + padding-bottom: 10px; + line-height: 20px; +} +@media (max-width: 767px) { + .navbar-nav .open .dropdown-menu { + position: static; + float: none; + width: auto; + margin-top: 0; + background-color: transparent; + border: 0; + -webkit-box-shadow: none; + box-shadow: none; + } + .navbar-nav .open .dropdown-menu > li > a, + .navbar-nav .open .dropdown-menu .dropdown-header { + padding: 5px 15px 5px 25px; + } + .navbar-nav .open .dropdown-menu > li > a { + line-height: 20px; + } + .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-nav .open .dropdown-menu > li > a:focus { + background-image: none; + } +} +@media (min-width: 768px) { + .navbar-nav { + float: left; + margin: 0; + } + .navbar-nav > li { + float: left; + } + .navbar-nav > li > a { + padding-top: 12.5px; + padding-bottom: 12.5px; + } +} +.navbar-form { + margin-left: -10px; + margin-right: -10px; + padding: 10px 10px; + border-top: 1px solid transparent; + border-bottom: 1px solid transparent; + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); + margin-top: 6.5px; + margin-bottom: 6.5px; +} +@media (min-width: 768px) { + .navbar-form .form-group { + display: inline-block; + margin-bottom: 0; + vertical-align: middle; + } + .navbar-form .form-control { + display: inline-block; + width: auto; + vertical-align: middle; + } + .navbar-form .form-control-static { + display: inline-block; + } + .navbar-form .input-group { + display: inline-table; + vertical-align: middle; + } + .navbar-form .input-group .input-group-addon, + .navbar-form .input-group .form-control { + width: auto; + } + .navbar-form .input-group > .form-control { + width: 100%; + } + .navbar-form .control-label { + margin-bottom: 0; + vertical-align: middle; + } + .navbar-form .radio, + .navbar-form .checkbox { + display: inline-block; + margin-top: 0; + margin-bottom: 0; + vertical-align: middle; + } + .navbar-form .radio label, + .navbar-form .checkbox label { + padding-left: 0; + } + .navbar-form .radio input[type="radio"], + .navbar-form .checkbox input[type="checkbox"] { + position: relative; + margin-left: 0; + } + .navbar-form .has-feedback .form-control-feedback { + top: 0; + } +} +@media (max-width: 767px) { + .navbar-form .form-group { + margin-bottom: 5px; + } + .navbar-form .form-group:last-child { + margin-bottom: 0; + } +} +@media (min-width: 768px) { + .navbar-form { + width: auto; + border: 0; + margin-left: 0; + margin-right: 0; + padding-top: 0; + padding-bottom: 0; + -webkit-box-shadow: none; + box-shadow: none; + } +} +.navbar-nav > li > .dropdown-menu { + margin-top: 0; + border-top-right-radius: 0; + border-top-left-radius: 0; +} +.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu { + margin-bottom: 0; + border-top-right-radius: 4px; + border-top-left-radius: 4px; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.navbar-text { + margin-top: 12.5px; + margin-bottom: 12.5px; +} +@media (min-width: 768px) { + .navbar-text { + float: left; + margin-left: 10px; + margin-right: 10px; + } +} +@media (min-width: 768px) { + .navbar-left { + float: left !important; + } + .navbar-right { + float: right !important; + margin-right: -10px; + } + .navbar-right ~ .navbar-right { + margin-right: 0; + } +} +.navbar-default { + background-color: #ffffff; + border-color: transparent; +} +.navbar-default .navbar-brand { + color: #69707D; +} +.navbar-default .navbar-brand:hover, +.navbar-default .navbar-brand:focus { + color: #69707D; + background-color: transparent; +} +.navbar-default .navbar-text { + color: #69707D; +} +.navbar-default .navbar-nav > li > a { + color: #69707D; +} +.navbar-default .navbar-nav > li > a:hover, +.navbar-default .navbar-nav > li > a:focus { + color: #69707D; + background-color: transparent; +} +.navbar-default .navbar-nav > .active > a, +.navbar-default .navbar-nav > .active > a:hover, +.navbar-default .navbar-nav > .active > a:focus { + color: #343741; + background-color: transparent; +} +.navbar-default .navbar-nav > .disabled > a, +.navbar-default .navbar-nav > .disabled > a:hover, +.navbar-default .navbar-nav > .disabled > a:focus { + color: #69707D; + background-color: transparent; +} +.navbar-default .navbar-toggle { + border-color: #e6e6e6; +} +.navbar-default .navbar-toggle:hover, +.navbar-default .navbar-toggle:focus { + background-color: #e6e6e6; +} +.navbar-default .navbar-toggle .icon-bar { + background-color: #FFF; +} +.navbar-default .navbar-collapse, +.navbar-default .navbar-form { + border-color: transparent; +} +.navbar-default .navbar-nav > .open > a, +.navbar-default .navbar-nav > .open > a:hover, +.navbar-default .navbar-nav > .open > a:focus { + background-color: transparent; + color: #343741; +} +@media (max-width: 767px) { + .navbar-default .navbar-nav .open .dropdown-menu > li > a { + color: #69707D; + } + .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus { + color: #69707D; + background-color: transparent; + } + .navbar-default .navbar-nav .open .dropdown-menu > .active > a, + .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus { + color: #343741; + background-color: transparent; + } + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a, + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus { + color: #69707D; + background-color: transparent; + } +} +.navbar-default .navbar-link { + color: #69707D; +} +.navbar-default .navbar-link:hover { + color: #69707D; +} +.navbar-inverse { + background-color: #343741; + border-color: #1d1f25; +} +.navbar-inverse .navbar-brand { + color: #FFF; +} +.navbar-inverse .navbar-brand:hover, +.navbar-inverse .navbar-brand:focus { + color: #FFF; + background-color: #4b4f5d; +} +.navbar-inverse .navbar-text { + color: #FFF; +} +.navbar-inverse .navbar-nav > li > a { + color: #D3DAE6; +} +.navbar-inverse .navbar-nav > li > a:hover, +.navbar-inverse .navbar-nav > li > a:focus { + color: #FFF; + background-color: #61677a; +} +.navbar-inverse .navbar-nav > .active > a, +.navbar-inverse .navbar-nav > .active > a:hover, +.navbar-inverse .navbar-nav > .active > a:focus { + color: #FFF; + background-color: #69707D; +} +.navbar-inverse .navbar-nav > .disabled > a, +.navbar-inverse .navbar-nav > .disabled > a:hover, +.navbar-inverse .navbar-nav > .disabled > a:focus { + color: #b2bac6; + background-color: transparent; +} +.navbar-inverse .navbar-toggle { + border-color: #1d1f25; +} +.navbar-inverse .navbar-toggle:hover, +.navbar-inverse .navbar-toggle:focus { + background-color: #1d1f25; +} +.navbar-inverse .navbar-toggle .icon-bar { + background-color: #FFF; +} +.navbar-inverse .navbar-collapse, +.navbar-inverse .navbar-form { + border-color: #24262d; +} +.navbar-inverse .navbar-nav > .open > a, +.navbar-inverse .navbar-nav > .open > a:hover, +.navbar-inverse .navbar-nav > .open > a:focus { + background-color: #69707D; + color: #FFF; +} +@media (max-width: 767px) { + .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header { + border-color: #1d1f25; + } + .navbar-inverse .navbar-nav .open .dropdown-menu .divider { + background-color: #1d1f25; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a { + color: #D3DAE6; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus { + color: #FFF; + background-color: #61677a; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a, + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus { + color: #FFF; + background-color: #69707D; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a, + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus { + color: #b2bac6; + background-color: transparent; + } +} +.navbar-inverse .navbar-link { + color: #D3DAE6; +} +.navbar-inverse .navbar-link:hover { + color: #FFF; +} +.close { + float: right; + font-size: 21px; + font-weight: bold; + line-height: 1; + color: #000; + text-shadow: none; + opacity: 0.2; + filter: alpha(opacity=20); +} +.close:hover, +.close:focus { + color: #000; + text-decoration: none; + cursor: pointer; + opacity: 0.5; + filter: alpha(opacity=50); +} +button.close { + padding: 0; + cursor: pointer; + background: transparent; + border: 0; + -webkit-appearance: none; +} +.modal-open { + overflow: hidden; +} +.modal { + display: none; + overflow: hidden; + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1070; + -webkit-overflow-scrolling: touch; + outline: 0; +} +.modal.fade .modal-dialog { + -webkit-transform: translate(0, -25%); + transform: translate(0, -25%); + -webkit-transition: -webkit-transform 0.3s ease-out; + transition: -webkit-transform 0.3s ease-out; + transition: transform 0.3s ease-out; + transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out; +} +.modal.in .modal-dialog { + -webkit-transform: translate(0, 0); + transform: translate(0, 0); +} +.modal-open .modal { + overflow-x: hidden; + overflow-y: auto; +} +.modal-dialog { + position: relative; + width: auto; + margin: 10px; +} +.modal-content { + position: relative; + background-color: #FFF; + border: 1px solid #98A2B3; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 4px; + -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); + box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); + background-clip: padding-box; + outline: 0; +} +.modal-backdrop { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1060; + background-color: #000; +} +.modal-backdrop.fade { + opacity: 0; + filter: alpha(opacity=0); +} +.modal-backdrop.in { + opacity: 0.5; + filter: alpha(opacity=50); +} +.modal-header { + padding: 15px; + border-bottom: 1px solid #e5e5e5; +} +.modal-header .close { + margin-top: -2px; +} +.modal-title { + margin: 0; + line-height: 1.42857143; +} +.modal-body { + position: relative; + padding: 15px; +} +.modal-footer { + padding: 15px; + text-align: right; + border-top: 1px solid #e5e5e5; +} +.modal-scrollbar-measure { + position: absolute; + top: -9999px; + width: 50px; + height: 50px; + overflow: scroll; +} +@media (min-width: 768px) { + .modal-dialog { + width: 600px; + margin: 30px auto; + } + .modal-content { + -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); + box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); + } + .modal-sm { + width: 300px; + } +} +@media (min-width: 992px) { + .modal-lg { + width: 900px; + } +} +@-webkit-keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} +@keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} +.progress { + overflow: hidden; + height: 20px; + margin-bottom: 20px; + background-color: #b8bec8; + border-radius: 4px; + -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); +} +.progress-bar { + float: left; + width: 0%; + height: 100%; + font-size: 12px; + line-height: 20px; + color: #FFF; + text-align: center; + background-color: #00B3A4; + -webkit-transition: width 0.6s ease; + transition: width 0.6s ease; +} +.progress-striped .progress-bar, +.progress-bar-striped { + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-size: 40px 40px; +} +.progress.active .progress-bar, +.progress-bar.active { + -webkit-animation: progress-bar-stripes 2s linear infinite; + animation: progress-bar-stripes 2s linear infinite; +} +.progress-bar-success { + background-color: #017D73; +} +.progress-striped .progress-bar-success { + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} +.progress-bar-info { + background-color: #006BB4; +} +.progress-striped .progress-bar-info { + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} +.progress-bar-warning { + background-color: #F5A700; +} +.progress-striped .progress-bar-warning { + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} +.progress-bar-danger { + background-color: #BD271E; +} +.progress-striped .progress-bar-danger { + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} +.list-group { + margin-bottom: 20px; + padding-left: 0; +} +.list-group-item { + position: relative; + display: block; + padding: 10px 15px; + margin-bottom: -1px; + background-color: #FFF; + border: 1px solid #D3DAE6; +} +.list-group-item:first-child { + border-top-right-radius: 4px; + border-top-left-radius: 4px; +} +.list-group-item:last-child { + margin-bottom: 0; + border-bottom-right-radius: 4px; + border-bottom-left-radius: 4px; +} +.list-group-item--noBorder { + border-top: 0; +} +a.list-group-item, +button.list-group-item { + color: #69707D; +} +a.list-group-item .list-group-item-heading, +button.list-group-item .list-group-item-heading { + color: #343741; +} +a.list-group-item:hover, +button.list-group-item:hover, +a.list-group-item:focus, +button.list-group-item:focus { + text-decoration: none; + color: #69707D; + background-color: #F5F7FA; +} +button.list-group-item { + width: 100%; + text-align: left; +} +.list-group-item.disabled, +.list-group-item.disabled:hover, +.list-group-item.disabled:focus { + background-color: #D3DAE6; + color: #b2bac6; + cursor: not-allowed; +} +.list-group-item.disabled .list-group-item-heading, +.list-group-item.disabled:hover .list-group-item-heading, +.list-group-item.disabled:focus .list-group-item-heading { + color: inherit; +} +.list-group-item.disabled .list-group-item-text, +.list-group-item.disabled:hover .list-group-item-text, +.list-group-item.disabled:focus .list-group-item-text { + color: #b2bac6; +} +.list-group-item.active, +.list-group-item.active:hover, +.list-group-item.active:focus { + z-index: 2; + color: #343741; + background-color: #343741; + border-color: #343741; +} +.list-group-item.active .list-group-item-heading, +.list-group-item.active:hover .list-group-item-heading, +.list-group-item.active:focus .list-group-item-heading, +.list-group-item.active .list-group-item-heading > small, +.list-group-item.active:hover .list-group-item-heading > small, +.list-group-item.active:focus .list-group-item-heading > small, +.list-group-item.active .list-group-item-heading > .small, +.list-group-item.active:hover .list-group-item-heading > .small, +.list-group-item.active:focus .list-group-item-heading > .small { + color: inherit; +} +.list-group-item.active .list-group-item-text, +.list-group-item.active:hover .list-group-item-text, +.list-group-item.active:focus .list-group-item-text { + color: #969bab; +} +.list-group-item-success { + color: #FFF; + background-color: #017D73; +} +a.list-group-item-success, +button.list-group-item-success { + color: #FFF; +} +a.list-group-item-success .list-group-item-heading, +button.list-group-item-success .list-group-item-heading { + color: inherit; +} +a.list-group-item-success:hover, +button.list-group-item-success:hover, +a.list-group-item-success:focus, +button.list-group-item-success:focus { + color: #FFF; + background-color: #01645c; +} +a.list-group-item-success.active, +button.list-group-item-success.active, +a.list-group-item-success.active:hover, +button.list-group-item-success.active:hover, +a.list-group-item-success.active:focus, +button.list-group-item-success.active:focus { + color: #fff; + background-color: #FFF; + border-color: #FFF; +} +.list-group-item-info { + color: #FFF; + background-color: #006BB4; +} +a.list-group-item-info, +button.list-group-item-info { + color: #FFF; +} +a.list-group-item-info .list-group-item-heading, +button.list-group-item-info .list-group-item-heading { + color: inherit; +} +a.list-group-item-info:hover, +button.list-group-item-info:hover, +a.list-group-item-info:focus, +button.list-group-item-info:focus { + color: #FFF; + background-color: #005c9b; +} +a.list-group-item-info.active, +button.list-group-item-info.active, +a.list-group-item-info.active:hover, +button.list-group-item-info.active:hover, +a.list-group-item-info.active:focus, +button.list-group-item-info.active:focus { + color: #fff; + background-color: #FFF; + border-color: #FFF; +} +.list-group-item-warning { + color: #FFF; + background-color: #F5A700; +} +a.list-group-item-warning, +button.list-group-item-warning { + color: #FFF; +} +a.list-group-item-warning .list-group-item-heading, +button.list-group-item-warning .list-group-item-heading { + color: inherit; +} +a.list-group-item-warning:hover, +button.list-group-item-warning:hover, +a.list-group-item-warning:focus, +button.list-group-item-warning:focus { + color: #FFF; + background-color: #dc9600; +} +a.list-group-item-warning.active, +button.list-group-item-warning.active, +a.list-group-item-warning.active:hover, +button.list-group-item-warning.active:hover, +a.list-group-item-warning.active:focus, +button.list-group-item-warning.active:focus { + color: #fff; + background-color: #FFF; + border-color: #FFF; +} +.list-group-item-danger { + color: #FFF; + background-color: #BD271E; +} +a.list-group-item-danger, +button.list-group-item-danger { + color: #FFF; +} +a.list-group-item-danger .list-group-item-heading, +button.list-group-item-danger .list-group-item-heading { + color: inherit; +} +a.list-group-item-danger:hover, +button.list-group-item-danger:hover, +a.list-group-item-danger:focus, +button.list-group-item-danger:focus { + color: #FFF; + background-color: #a7221b; +} +a.list-group-item-danger.active, +button.list-group-item-danger.active, +a.list-group-item-danger.active:hover, +button.list-group-item-danger.active:hover, +a.list-group-item-danger.active:focus, +button.list-group-item-danger.active:focus { + color: #fff; + background-color: #FFF; + border-color: #FFF; +} +.list-group-item-heading { + margin-top: 0; + margin-bottom: 5px; +} +.list-group-item-text { + margin-bottom: 0; + line-height: 1.3; +} +.nav { + margin-bottom: 0; + padding-left: 0; + list-style: none; +} +.nav > li { + position: relative; + display: block; +} +.nav > li > a { + position: relative; + display: block; + padding: 10px 15px; +} +.nav > li > a:hover, +.nav > li > a:focus { + text-decoration: none; + background-color: #D3DAE6; +} +.nav > li.disabled > a { + color: #b2bac6; +} +.nav > li.disabled > a:hover, +.nav > li.disabled > a:focus { + color: #b2bac6; + text-decoration: none; + background-color: transparent; + cursor: not-allowed; +} +.nav .open > a, +.nav .open > a:hover, +.nav .open > a:focus { + background-color: #D3DAE6; + border-color: #006BB4; +} +.nav .nav-divider { + height: 1px; + margin: 9px 0; + overflow: hidden; + background-color: #e5e5e5; +} +.nav > li > a > img { + max-width: none; +} +.nav-tabs { + border-bottom: 1px solid #D3DAE6; +} +.nav-tabs > li { + float: left; + margin-bottom: -1px; +} +.nav-tabs > li > a { + margin-right: 2px; + line-height: 1.42857143; + border: 1px solid transparent; + border-radius: 4px 4px 0 0; +} +.nav-tabs > li > a:hover { + border-color: #D3DAE6; + background-color: #FFF; +} +.nav-tabs > li.active > a, +.nav-tabs > li.active > a:hover, +.nav-tabs > li.active > a:focus { + color: #343741; + background-color: #FFF; + border: 1px solid #D3DAE6; + border-bottom-color: transparent; + cursor: default; +} +.nav-tabs.nav-justified { + width: 100%; + border-bottom: 0; +} +.nav-tabs.nav-justified > li { + float: none; +} +.nav-tabs.nav-justified > li > a { + text-align: center; + margin-bottom: 5px; +} +.nav-tabs.nav-justified > .dropdown .dropdown-menu { + top: auto; + left: auto; +} +@media (min-width: 768px) { + .nav-tabs.nav-justified > li { + display: table-cell; + width: 1%; + } + .nav-tabs.nav-justified > li > a { + margin-bottom: 0; + } +} +.nav-tabs.nav-justified > li > a { + margin-right: 0; + border-radius: 4px; +} +.nav-tabs.nav-justified > .active > a, +.nav-tabs.nav-justified > .active > a:hover, +.nav-tabs.nav-justified > .active > a:focus { + border: 1px solid #FFF; +} +@media (min-width: 768px) { + .nav-tabs.nav-justified > li > a { + border-bottom: 1px solid #FFF; + border-radius: 4px 4px 0 0; + } + .nav-tabs.nav-justified > .active > a, + .nav-tabs.nav-justified > .active > a:hover, + .nav-tabs.nav-justified > .active > a:focus { + border-bottom-color: #FFF; + } +} +.nav-pills > li { + float: left; +} +.nav-pills > li > a { + border-radius: 4px; +} +.nav-pills > li + li { + margin-left: 2px; +} +.nav-pills > li.active > a, +.nav-pills > li.active > a:hover, +.nav-pills > li.active > a:focus { + color: #FFF; + background-color: #006BB4; +} +.nav-stacked > li { + float: none; +} +.nav-stacked > li + li { + margin-top: 2px; + margin-left: 0; +} +.nav-justified { + width: 100%; +} +.nav-justified > li { + float: none; +} +.nav-justified > li > a { + text-align: center; + margin-bottom: 5px; +} +.nav-justified > .dropdown .dropdown-menu { + top: auto; + left: auto; +} +@media (min-width: 768px) { + .nav-justified > li { + display: table-cell; + width: 1%; + } + .nav-justified > li > a { + margin-bottom: 0; + } +} +.nav-tabs-justified { + border-bottom: 0; +} +.nav-tabs-justified > li > a { + margin-right: 0; + border-radius: 4px; +} +.nav-tabs-justified > .active > a, +.nav-tabs-justified > .active > a:hover, +.nav-tabs-justified > .active > a:focus { + border: 1px solid #FFF; +} +@media (min-width: 768px) { + .nav-tabs-justified > li > a { + border-bottom: 1px solid #FFF; + border-radius: 4px 4px 0 0; + } + .nav-tabs-justified > .active > a, + .nav-tabs-justified > .active > a:hover, + .nav-tabs-justified > .active > a:focus { + border-bottom-color: #FFF; + } +} +.tab-content > .tab-pane { + display: none; +} +.tab-content > .active { + display: block; +} +.nav-tabs .dropdown-menu { + margin-top: -1px; + border-top-right-radius: 0; + border-top-left-radius: 0; +} +.alert { + padding: 15px; + margin-bottom: 20px; + border: 1px solid transparent; + border-radius: 4px; +} +.alert h4 { + margin-top: 0; + color: inherit; +} +.alert .alert-link { + font-weight: bold; +} +.alert > p, +.alert > ul { + margin-bottom: 0; +} +.alert > p + p { + margin-top: 5px; +} +.alert-dismissable, +.alert-dismissible { + padding-right: 35px; +} +.alert-dismissable .close, +.alert-dismissible .close { + position: relative; + top: -2px; + right: -21px; + color: inherit; +} +.alert-success { + background-color: #017D73; + border-color: #014a44; + color: #FFF; +} +.alert-success hr { + border-top-color: #00312d; +} +.alert-success .alert-link { + color: #e6e6e6; +} +.alert-info { + background-color: #006BB4; + border-color: #004d81; + color: #FFF; +} +.alert-info hr { + border-top-color: #003e68; +} +.alert-info .alert-link { + color: #e6e6e6; +} +.alert-warning { + background-color: #F5A700; + border-color: #c28400; + color: #FFF; +} +.alert-warning hr { + border-top-color: #a97300; +} +.alert-warning .alert-link { + color: #e6e6e6; +} +.alert-danger { + background-color: #BD271E; + border-color: #911e17; + color: #FFF; +} +.alert-danger hr { + border-top-color: #7b1914; +} +.alert-danger .alert-link { + color: #e6e6e6; +} +.bsTooltip { + position: absolute; + z-index: 1040; + display: block; + font-family: 'Open Sans', Helvetica, Arial, sans-serif; + font-style: normal; + font-weight: normal; + letter-spacing: normal; + line-break: auto; + line-height: 1.42857143; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + white-space: normal; + word-break: normal; + word-spacing: normal; + word-wrap: normal; + font-size: 12px; + opacity: 0; + filter: alpha(opacity=0); +} +.bsTooltip.in { + opacity: 0.8; + filter: alpha(opacity=80); +} +.bsTooltip.top { + margin-top: -3px; + padding: 5px 0; +} +.bsTooltip.right { + margin-left: 3px; + padding: 0 5px; +} +.bsTooltip.bottom { + margin-top: 3px; + padding: 5px 0; +} +.bsTooltip.left { + margin-left: -3px; + padding: 0 5px; +} +.bsTooltip-inner { + max-width: 200px; + padding: 3px 8px; + color: #fff; + text-align: center; + background-color: #000; + border-radius: 4px; +} +.bsTooltip-arrow { + position: absolute; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; +} +.bsTooltip.top .bsTooltip-arrow { + bottom: 0; + left: 50%; + margin-left: -5px; + border-width: 5px 5px 0; + border-top-color: #000; +} +.bsTooltip.top-left .bsTooltip-arrow { + bottom: 0; + right: 5px; + margin-bottom: -5px; + border-width: 5px 5px 0; + border-top-color: #000; +} +.bsTooltip.top-right .bsTooltip-arrow { + bottom: 0; + left: 5px; + margin-bottom: -5px; + border-width: 5px 5px 0; + border-top-color: #000; +} +.bsTooltip.right .bsTooltip-arrow { + top: 50%; + left: 0; + margin-top: -5px; + border-width: 5px 5px 5px 0; + border-right-color: #000; +} +.bsTooltip.left .bsTooltip-arrow { + top: 50%; + right: 0; + margin-top: -5px; + border-width: 5px 0 5px 5px; + border-left-color: #000; +} +.bsTooltip.bottom .bsTooltip-arrow { + top: 0; + left: 50%; + margin-left: -5px; + border-width: 0 5px 5px; + border-bottom-color: #000; +} +.bsTooltip.bottom-left .bsTooltip-arrow { + top: 0; + right: 5px; + margin-top: -5px; + border-width: 0 5px 5px; + border-bottom-color: #000; +} +.bsTooltip.bottom-right .bsTooltip-arrow { + top: 0; + left: 5px; + margin-top: -5px; + border-width: 0 5px 5px; + border-bottom-color: #000; +} +.visible-xs, +.visible-sm, +.visible-md, +.visible-lg { + display: none !important; +} +.visible-xs-block, +.visible-xs-inline, +.visible-xs-inline-block, +.visible-sm-block, +.visible-sm-inline, +.visible-sm-inline-block, +.visible-md-block, +.visible-md-inline, +.visible-md-inline-block, +.visible-lg-block, +.visible-lg-inline, +.visible-lg-inline-block { + display: none !important; +} +@media (max-width: 767px) { + .visible-xs { + display: block !important; + } + table.visible-xs { + display: table !important; + } + tr.visible-xs { + display: table-row !important; + } + th.visible-xs, + td.visible-xs { + display: table-cell !important; + } +} +@media (max-width: 767px) { + .visible-xs-block { + display: block !important; + } +} +@media (max-width: 767px) { + .visible-xs-inline { + display: inline !important; + } +} +@media (max-width: 767px) { + .visible-xs-inline-block { + display: inline-block !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm { + display: block !important; + } + table.visible-sm { + display: table !important; + } + tr.visible-sm { + display: table-row !important; + } + th.visible-sm, + td.visible-sm { + display: table-cell !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm-block { + display: block !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm-inline { + display: inline !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm-inline-block { + display: inline-block !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md { + display: block !important; + } + table.visible-md { + display: table !important; + } + tr.visible-md { + display: table-row !important; + } + th.visible-md, + td.visible-md { + display: table-cell !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md-block { + display: block !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md-inline { + display: inline !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md-inline-block { + display: inline-block !important; + } +} +@media (min-width: 1200px) { + .visible-lg { + display: block !important; + } + table.visible-lg { + display: table !important; + } + tr.visible-lg { + display: table-row !important; + } + th.visible-lg, + td.visible-lg { + display: table-cell !important; + } +} +@media (min-width: 1200px) { + .visible-lg-block { + display: block !important; + } +} +@media (min-width: 1200px) { + .visible-lg-inline { + display: inline !important; + } +} +@media (min-width: 1200px) { + .visible-lg-inline-block { + display: inline-block !important; + } +} +@media (max-width: 767px) { + .hidden-xs { + display: none !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .hidden-sm { + display: none !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .hidden-md { + display: none !important; + } +} +@media (min-width: 1200px) { + .hidden-lg { + display: none !important; + } +} +.visible-print { + display: none !important; +} +@media print { + .visible-print { + display: block !important; + } + table.visible-print { + display: table !important; + } + tr.visible-print { + display: table-row !important; + } + th.visible-print, + td.visible-print { + display: table-cell !important; + } +} +.visible-print-block { + display: none !important; +} +@media print { + .visible-print-block { + display: block !important; + } +} +.visible-print-inline { + display: none !important; +} +@media print { + .visible-print-inline { + display: inline !important; + } +} +.visible-print-inline-block { + display: none !important; +} +@media print { + .visible-print-inline-block { + display: inline-block !important; + } +} +@media print { + .hidden-print { + display: none !important; + } +} +.caret { + display: inline-block; + width: 0; + height: 0; + margin-left: 2px; + vertical-align: middle; + border-top: 4px dashed; + border-top: 4px solid \9; + border-right: 4px solid transparent; + border-left: 4px solid transparent; +} +.dropup, +.dropdown { + position: relative; +} +.dropdown-toggle:focus { + outline: 0; +} +.dropdown-menu { + position: absolute; + top: 100%; + left: 0; + z-index: 1000; + display: none; + float: left; + min-width: 160px; + padding: 5px 0; + margin: 2px 0 0; + list-style: none; + font-size: 14px; + text-align: left; + background-color: #FFF; + border: 1px solid #D3DAE6; + border-radius: 4px; + -webkit-box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.1); + box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.1); + background-clip: padding-box; +} +.dropdown-menu.pull-right { + right: 0; + left: auto; +} +.dropdown-menu .divider { + height: 1px; + margin: 9px 0; + overflow: hidden; + background-color: #D3DAE6; +} +.dropdown-menu > li > a, +.dropdown-menu > li > button { + display: block; + padding: 3px 20px; + clear: both; + font-weight: normal; + line-height: 1.42857143; + color: #7b7b7b; + white-space: nowrap; +} +.dropdown-menu > li > button { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + background: none; + border: none; + width: 100%; + text-align: left; +} +.dropdown-menu > li > a:hover, +.dropdown-menu > li > button:hover, +.dropdown-menu > li > a:focus, +.dropdown-menu > li > button:focus { + text-decoration: none; + color: #FFF; + background-color: #343741; +} +.dropdown-menu > .active > button, +.dropdown-menu > .active > a, +.dropdown-menu > .active > button:hover, +.dropdown-menu > .active > a:hover, +.dropdown-menu > .active > button:focus, +.dropdown-menu > .active > a:focus { + color: #FFF; + text-decoration: none; + outline: 0; + background-color: #343741; +} +.dropdown-menu > .disabled > a, +.dropdown-menu > .disabled > a:hover, +.dropdown-menu > .disabled > a:focus { + color: #b2bac6; +} +.dropdown-menu > .disabled > a:hover, +.dropdown-menu > .disabled > a:focus { + text-decoration: none; + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); + cursor: not-allowed; +} +.open > .dropdown-menu { + display: block; +} +.open > a { + outline: 0; +} +.dropdown-menu-right { + left: auto; + right: 0; +} +.dropdown-menu-left { + left: 0; + right: auto; +} +.dropdown-header { + display: block; + padding: 3px 20px; + font-size: 12px; + line-height: 1.42857143; + color: #b2bac6; + white-space: nowrap; +} +.dropdown-backdrop { + position: fixed; + left: 0; + right: 0; + bottom: 0; + top: 0; + z-index: 990; +} +.pull-right > .dropdown-menu { + right: 0; + left: auto; +} +.dropup .caret, +.navbar-fixed-bottom .dropdown .caret { + border-top: 0; + border-bottom: 4px dashed; + border-bottom: 4px solid \9; + content: ""; +} +.dropup .dropdown-menu, +.navbar-fixed-bottom .dropdown .dropdown-menu { + top: auto; + bottom: 100%; + margin-bottom: 2px; +} +@media (min-width: 768px) { + .navbar-right .dropdown-menu { + left: auto; + right: 0; + } + .navbar-right .dropdown-menu-left { + left: 0; + right: auto; + } +} +.input-group { + position: relative; + display: table; + border-collapse: separate; +} +.input-group[class*="col-"] { + float: none; + padding-left: 0; + padding-right: 0; +} +.input-group .form-control { + position: relative; + z-index: 2; + float: left; + width: 100%; + margin-bottom: 0; +} +.input-group .form-control:focus { + z-index: 3; +} +.input-group-lg > .form-control, +.input-group-lg > .input-group-addon { + height: 62px; + padding: 18px 27px; + font-size: 18px; + line-height: 1.3333333; + border-radius: 4px; +} +select.input-group-lg > .form-control, +select.input-group-lg > .input-group-addon { + height: 62px; + line-height: 62px; +} +textarea.input-group-lg > .form-control, +textarea.input-group-lg > .input-group-addon, +select[multiple].input-group-lg > .form-control, +select[multiple].input-group-lg > .input-group-addon { + height: auto; +} +.input-group-sm > .form-control, +.input-group-sm > .input-group-addon { + height: 32px; + padding: 6px 9px; + font-size: 12px; + line-height: 1.5; + border-radius: 4px; +} +select.input-group-sm > .form-control, +select.input-group-sm > .input-group-addon { + height: 32px; + line-height: 32px; +} +textarea.input-group-sm > .form-control, +textarea.input-group-sm > .input-group-addon, +select[multiple].input-group-sm > .form-control, +select[multiple].input-group-sm > .input-group-addon { + height: auto; +} +.input-group-addon, +.input-group .form-control { + display: table-cell; +} +.input-group-addon:not(:first-child):not(:last-child), +.input-group .form-control:not(:first-child):not(:last-child) { + border-radius: 0; +} +.input-group-addon { + width: 1%; + white-space: nowrap; + vertical-align: middle; +} +.input-group-addon { + padding: 5px 15px; + font-size: 14px; + font-weight: normal; + line-height: 1; + color: #343741; + text-align: center; + background-color: #D3DAE6; + border: 1px solid #D3DAE6; + border-radius: 4px; +} +.input-group-addon.input-sm { + padding: 6px 9px; + font-size: 12px; + border-radius: 4px; +} +.input-group-addon.input-lg { + padding: 18px 27px; + font-size: 18px; + border-radius: 4px; +} +.input-group-addon input[type="radio"], +.input-group-addon input[type="checkbox"] { + margin-top: 0; +} +.input-group .form-control:first-child, +.input-group-addon:first-child { + border-bottom-right-radius: 0; + border-top-right-radius: 0; +} +.input-group-addon:first-child { + border-right: 0; +} +.input-group .form-control:last-child, +.input-group-addon:last-child { + border-bottom-left-radius: 0; + border-top-left-radius: 0; +} +.input-group-addon:last-child { + border-left: 0; +} +.pagination { + display: inline-block; + padding-left: 0; + margin: 20px 0; + border-radius: 4px; +} +.pagination > li { + display: inline; +} +.pagination > li > a, +.pagination > li > span { + position: relative; + float: left; + padding: 5px 15px; + line-height: 1.42857143; + text-decoration: none; + color: #006BB4; + background-color: transparent; + border: 1px solid transparent; + margin-left: -1px; +} +.pagination > li:first-child > a, +.pagination > li:first-child > span { + margin-left: 0; + border-bottom-left-radius: 4px; + border-top-left-radius: 4px; +} +.pagination > li:last-child > a, +.pagination > li:last-child > span { + border-bottom-right-radius: 4px; + border-top-right-radius: 4px; +} +.pagination > li > a:hover, +.pagination > li > span:hover, +.pagination > li > a:focus, +.pagination > li > span:focus { + z-index: 2; + color: #006BB4; + background-color: rgba(0, 0, 0, 0); + border-color: transparent; +} +.pagination > .active > a, +.pagination > .active > span, +.pagination > .active > a:hover, +.pagination > .active > span:hover, +.pagination > .active > a:focus, +.pagination > .active > span:focus { + z-index: 3; + color: #343741; + background-color: rgba(0, 0, 0, 0); + border-color: transparent; + cursor: default; +} +.pagination > .disabled > span, +.pagination > .disabled > span:hover, +.pagination > .disabled > span:focus, +.pagination > .disabled > a, +.pagination > .disabled > a:hover, +.pagination > .disabled > a:focus { + color: #343741; + background-color: rgba(38, 38, 38, 0); + border-color: transparent; + cursor: not-allowed; +} +.pagination-lg > li > a, +.pagination-lg > li > span { + padding: 18px 27px; + font-size: 18px; + line-height: 1.3333333; +} +.pagination-lg > li:first-child > a, +.pagination-lg > li:first-child > span { + border-bottom-left-radius: 4px; + border-top-left-radius: 4px; +} +.pagination-lg > li:last-child > a, +.pagination-lg > li:last-child > span { + border-bottom-right-radius: 4px; + border-top-right-radius: 4px; +} +.pagination-sm > li > a, +.pagination-sm > li > span { + padding: 6px 9px; + font-size: 12px; + line-height: 1.5; +} +.pagination-sm > li:first-child > a, +.pagination-sm > li:first-child > span { + border-bottom-left-radius: 4px; + border-top-left-radius: 4px; +} +.pagination-sm > li:last-child > a, +.pagination-sm > li:last-child > span { + border-bottom-right-radius: 4px; + border-top-right-radius: 4px; +} +.pager { + padding-left: 0; + margin: 20px 0; + list-style: none; + text-align: center; +} +.pager li { + display: inline; +} +.pager li > a, +.pager li > span { + display: inline-block; + padding: 5px 14px; + background-color: transparent; + border: 1px solid transparent; + border-radius: 0; +} +.pager li > a:hover, +.pager li > a:focus { + text-decoration: none; + background-color: rgba(0, 0, 0, 0); +} +.pager .next > a, +.pager .next > span { + float: right; +} +.pager .previous > a, +.pager .previous > span { + float: left; +} +.pager .disabled > a, +.pager .disabled > a:hover, +.pager .disabled > a:focus, +.pager .disabled > span { + color: #FFF; + background-color: transparent; + cursor: not-allowed; +} +.label { + display: inline; + padding: .2em .6em .3em; + font-size: 75%; + font-weight: bold; + line-height: 1; + color: #FFF; + text-align: center; + white-space: nowrap; + vertical-align: baseline; + border-radius: .25em; +} +a.label:hover, +a.label:focus { + color: #FFF; + text-decoration: none; + cursor: pointer; +} +.label:empty { + display: none; +} +.label-default { + background-color: #006BB4; +} +.label-default[href]:hover, +.label-default[href]:focus { + background-color: #004d81; +} +.label-primary { + background-color: #343741; +} +.label-primary[href]:hover, +.label-primary[href]:focus { + background-color: #1d1f25; +} +.label-success { + background-color: #017D73; +} +.label-success[href]:hover, +.label-success[href]:focus { + background-color: #014a44; +} +.label-info { + background-color: #006BB4; +} +.label-info[href]:hover, +.label-info[href]:focus { + background-color: #004d81; +} +.label-warning { + background-color: #F5A700; +} +.label-warning[href]:hover, +.label-warning[href]:focus { + background-color: #c28400; +} +.label-danger { + background-color: #BD271E; +} +.label-danger[href]:hover, +.label-danger[href]:focus { + background-color: #911e17; +} +.panel { + margin-bottom: 20px; + background-color: #FFF; + border: 1px solid transparent; + border-radius: 4px; + -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); + box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); +} +.panel-body { + padding: 15px; +} +.panel-heading { + padding: 10px 15px; + border-bottom: 1px solid transparent; + border-top-right-radius: 3px; + border-top-left-radius: 3px; +} +.panel-heading > .dropdown .dropdown-toggle { + color: inherit; +} +.panel-title { + margin-top: 0; + margin-bottom: 0; + font-size: 16px; + color: inherit; +} +.panel-title > a, +.panel-title > small, +.panel-title > .small, +.panel-title > small > a, +.panel-title > .small > a { + color: inherit; +} +.panel-footer { + padding: 10px 15px; + background-color: #F5F7FA; + border-top: 1px solid #D3DAE6; + border-bottom-right-radius: 3px; + border-bottom-left-radius: 3px; +} +.panel > .list-group, +.panel > .panel-collapse > .list-group { + margin-bottom: 0; +} +.panel > .list-group .list-group-item, +.panel > .panel-collapse > .list-group .list-group-item { + border-width: 1px 0; + border-radius: 0; +} +.panel > .list-group:first-child .list-group-item:first-child, +.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child { + border-top: 0; + border-top-right-radius: 3px; + border-top-left-radius: 3px; +} +.panel > .list-group:last-child .list-group-item:last-child, +.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child { + border-bottom: 0; + border-bottom-right-radius: 3px; + border-bottom-left-radius: 3px; +} +.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child { + border-top-right-radius: 0; + border-top-left-radius: 0; +} +.panel-heading + .list-group .list-group-item:first-child { + border-top-width: 0; +} +.list-group + .panel-footer { + border-top-width: 0; +} +.panel > .table, +.panel > .table-responsive > .table, +.panel > .panel-collapse > .table { + margin-bottom: 0; +} +.panel > .table caption, +.panel > .table-responsive > .table caption, +.panel > .panel-collapse > .table caption { + padding-left: 15px; + padding-right: 15px; +} +.panel > .table:first-child, +.panel > .table-responsive:first-child > .table:first-child { + border-top-right-radius: 3px; + border-top-left-radius: 3px; +} +.panel > .table:first-child > thead:first-child > tr:first-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child, +.panel > .table:first-child > tbody:first-child > tr:first-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child { + border-top-left-radius: 3px; + border-top-right-radius: 3px; +} +.panel > .table:first-child > thead:first-child > tr:first-child td:first-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child, +.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child, +.panel > .table:first-child > thead:first-child > tr:first-child th:first-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child, +.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child { + border-top-left-radius: 3px; +} +.panel > .table:first-child > thead:first-child > tr:first-child td:last-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child, +.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child, +.panel > .table:first-child > thead:first-child > tr:first-child th:last-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child, +.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child { + border-top-right-radius: 3px; +} +.panel > .table:last-child, +.panel > .table-responsive:last-child > .table:last-child { + border-bottom-right-radius: 3px; + border-bottom-left-radius: 3px; +} +.panel > .table:last-child > tbody:last-child > tr:last-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child { + border-bottom-left-radius: 3px; + border-bottom-right-radius: 3px; +} +.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child, +.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child { + border-bottom-left-radius: 3px; +} +.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child, +.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child { + border-bottom-right-radius: 3px; +} +.panel > .panel-body + .table, +.panel > .panel-body + .table-responsive, +.panel > .table + .panel-body, +.panel > .table-responsive + .panel-body { + border-top: 1px solid #D3DAE6; +} +.panel > .table > tbody:first-child > tr:first-child th, +.panel > .table > tbody:first-child > tr:first-child td { + border-top: 0; +} +.panel > .table-bordered, +.panel > .table-responsive > .table-bordered { + border: 0; +} +.panel > .table-bordered > thead > tr > th:first-child, +.panel > .table-responsive > .table-bordered > thead > tr > th:first-child, +.panel > .table-bordered > tbody > tr > th:first-child, +.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child, +.panel > .table-bordered > tfoot > tr > th:first-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child, +.panel > .table-bordered > thead > tr > td:first-child, +.panel > .table-responsive > .table-bordered > thead > tr > td:first-child, +.panel > .table-bordered > tbody > tr > td:first-child, +.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child, +.panel > .table-bordered > tfoot > tr > td:first-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child { + border-left: 0; +} +.panel > .table-bordered > thead > tr > th:last-child, +.panel > .table-responsive > .table-bordered > thead > tr > th:last-child, +.panel > .table-bordered > tbody > tr > th:last-child, +.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child, +.panel > .table-bordered > tfoot > tr > th:last-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child, +.panel > .table-bordered > thead > tr > td:last-child, +.panel > .table-responsive > .table-bordered > thead > tr > td:last-child, +.panel > .table-bordered > tbody > tr > td:last-child, +.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child, +.panel > .table-bordered > tfoot > tr > td:last-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child { + border-right: 0; +} +.panel > .table-bordered > thead > tr:first-child > td, +.panel > .table-responsive > .table-bordered > thead > tr:first-child > td, +.panel > .table-bordered > tbody > tr:first-child > td, +.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td, +.panel > .table-bordered > thead > tr:first-child > th, +.panel > .table-responsive > .table-bordered > thead > tr:first-child > th, +.panel > .table-bordered > tbody > tr:first-child > th, +.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th { + border-bottom: 0; +} +.panel > .table-bordered > tbody > tr:last-child > td, +.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td, +.panel > .table-bordered > tfoot > tr:last-child > td, +.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td, +.panel > .table-bordered > tbody > tr:last-child > th, +.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th, +.panel > .table-bordered > tfoot > tr:last-child > th, +.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th { + border-bottom: 0; +} +.panel > .table-responsive { + border: 0; + margin-bottom: 0; +} +.panel-group { + margin-bottom: 20px; +} +.panel-group .panel { + margin-bottom: 0; + border-radius: 4px; +} +.panel-group .panel + .panel { + margin-top: 5px; +} +.panel-group .panel-heading { + border-bottom: 0; +} +.panel-group .panel-heading + .panel-collapse > .panel-body, +.panel-group .panel-heading + .panel-collapse > .list-group { + border-top: 1px solid #D3DAE6; +} +.panel-group .panel-footer { + border-top: 0; +} +.panel-group .panel-footer + .panel-collapse .panel-body { + border-bottom: 1px solid #D3DAE6; +} +.panel-default { + border-color: #D3DAE6; +} +.panel-default > .panel-heading { + color: #7b7b7b; + background-color: #F5F7FA; + border-color: #D3DAE6; +} +.panel-default > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #D3DAE6; +} +.panel-default > .panel-heading .badge { + color: #F5F7FA; + background-color: #7b7b7b; +} +.panel-default > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #D3DAE6; +} +.panel-primary { + border-color: #343741; +} +.panel-primary > .panel-heading { + color: #FFF; + background-color: #343741; + border-color: #343741; +} +.panel-primary > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #343741; +} +.panel-primary > .panel-heading .badge { + color: #343741; + background-color: #FFF; +} +.panel-primary > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #343741; +} +.panel-success { + border-color: #014a44; +} +.panel-success > .panel-heading { + color: #FFF; + background-color: #017D73; + border-color: #014a44; +} +.panel-success > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #014a44; +} +.panel-success > .panel-heading .badge { + color: #017D73; + background-color: #FFF; +} +.panel-success > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #014a44; +} +.panel-info { + border-color: #004d81; +} +.panel-info > .panel-heading { + color: #FFF; + background-color: #006BB4; + border-color: #004d81; +} +.panel-info > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #004d81; +} +.panel-info > .panel-heading .badge { + color: #006BB4; + background-color: #FFF; +} +.panel-info > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #004d81; +} +.panel-warning { + border-color: #c28400; +} +.panel-warning > .panel-heading { + color: #FFF; + background-color: #F5A700; + border-color: #c28400; +} +.panel-warning > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #c28400; +} +.panel-warning > .panel-heading .badge { + color: #F5A700; + background-color: #FFF; +} +.panel-warning > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #c28400; +} +.panel-danger { + border-color: #911e17; +} +.panel-danger > .panel-heading { + color: #FFF; + background-color: #BD271E; + border-color: #911e17; +} +.panel-danger > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #911e17; +} +.panel-danger > .panel-heading .badge { + color: #BD271E; + background-color: #FFF; +} +.panel-danger > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #911e17; +} +.popover { + position: absolute; + top: 0; + left: 0; + z-index: 1010; + display: none; + max-width: 276px; + padding: 1px; + font-family: 'Open Sans', Helvetica, Arial, sans-serif; + font-style: normal; + font-weight: normal; + letter-spacing: normal; + line-break: auto; + line-height: 1.42857143; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + white-space: normal; + word-break: normal; + word-spacing: normal; + word-wrap: normal; + font-size: 14px; + background-color: #FFF; + background-clip: padding-box; + border: 1px solid #D3DAE6; + border-radius: 4px; + -webkit-box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.1); + box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.1); +} +.popover.top { + margin-top: -10px; +} +.popover.right { + margin-left: 10px; +} +.popover.bottom { + margin-top: 10px; +} +.popover.left { + margin-left: -10px; +} +.popover-title { + margin: 0; + padding: 8px 14px; + font-size: 14px; + background-color: #f7f7f7; + border-bottom: 1px solid #ebebeb; + border-radius: 3px 3px 0 0; +} +.popover-content { + padding: 9px 14px; +} +.popover > .arrow, +.popover > .arrow:after { + position: absolute; + display: block; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; +} +.popover > .arrow { + border-width: 11px; +} +.popover > .arrow:after { + border-width: 10px; + content: ""; +} +.popover.top > .arrow { + left: 50%; + margin-left: -11px; + border-bottom-width: 0; + border-top-color: #92a3c1; + border-top-color: #d3dae6; + bottom: -11px; +} +.popover.top > .arrow:after { + content: " "; + bottom: 1px; + margin-left: -10px; + border-bottom-width: 0; + border-top-color: #FFF; +} +.popover.right > .arrow { + top: 50%; + left: -11px; + margin-top: -11px; + border-left-width: 0; + border-right-color: #92a3c1; + border-right-color: #d3dae6; +} +.popover.right > .arrow:after { + content: " "; + left: 1px; + bottom: -10px; + border-left-width: 0; + border-right-color: #FFF; +} +.popover.bottom > .arrow { + left: 50%; + margin-left: -11px; + border-top-width: 0; + border-bottom-color: #92a3c1; + border-bottom-color: #d3dae6; + top: -11px; +} +.popover.bottom > .arrow:after { + content: " "; + top: 1px; + margin-left: -10px; + border-top-width: 0; + border-bottom-color: #FFF; +} +.popover.left > .arrow { + top: 50%; + right: -11px; + margin-top: -11px; + border-right-width: 0; + border-left-color: #92a3c1; + border-left-color: #d3dae6; +} +.popover.left > .arrow:after { + content: " "; + right: 1px; + border-right-width: 0; + border-left-color: #FFF; + bottom: -10px; +} +.clearfix:before, +.clearfix:after, +.container:before, +.container:after, +.container-fluid:before, +.container-fluid:after, +.row:before, +.row:after, +.form-horizontal .form-group:before, +.form-horizontal .form-group:after, +.dl-horizontal dd:before, +.dl-horizontal dd:after, +.navbar:before, +.navbar:after, +.navbar-header:before, +.navbar-header:after, +.navbar-collapse:before, +.navbar-collapse:after, +.modal-header:before, +.modal-header:after, +.modal-footer:before, +.modal-footer:after, +.nav:before, +.nav:after, +.pager:before, +.pager:after, +.panel-body:before, +.panel-body:after { + content: " "; + display: table; +} +.clearfix:after, +.container:after, +.container-fluid:after, +.row:after, +.form-horizontal .form-group:after, +.dl-horizontal dd:after, +.navbar:after, +.navbar-header:after, +.navbar-collapse:after, +.modal-header:after, +.modal-footer:after, +.nav:after, +.pager:after, +.panel-body:after { + clear: both; +} +.center-block { + display: block; + margin-left: auto; + margin-right: auto; +} +.pull-right { + float: right !important; +} +.pull-left { + float: left !important; +} +.hide { + display: none !important; +} +.show { + display: block !important; +} +.invisible { + visibility: hidden; +} +.text-hide { + font: 0/0 a; + color: transparent; + text-shadow: none; + background-color: transparent; + border: 0; +} +.hidden { + display: none !important; +} +.affix { + position: fixed; +} +.navbar > .container-fluid > .navbar-nav:not(.pull-right):first-child, +.navbar > .container-fluid > .navbar-form:not(.pull-right):first-child { + margin-left: -15px; + margin-top: 4px; +} +.navbar { + border-width: 0; +} +.navbar-btn-link { + margin: 0; + border-radius: 0; +} +@media (max-width: 768px) { + .navbar-btn-link { + width: 100%; + text-align: left; + } +} +.navbar-default .badge { + background-color: #FFF; + color: #ffffff; +} +.navbar-inverse .kbnGlobalNav__logoBrand { + height: 45px; + width: 252px; + background-color: #4b4f5d; +} +.navbar-inverse .kbnGlobalNav__smallLogoBrand { + height: 45px; + width: 45px; + background-color: #4b4f5d; +} +.navbar-inverse .badge { + background-color: #FFF; + color: #4b4f5d; +} +.navbar-brand { + cursor: default; + font-size: 1.8em; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.navbar-nav { + font-size: 12px; +} +.navbar-nav > .active > a { + border-bottom-color: #7b7b7b; + background-color: transparent; +} +.navbar-toggle { + margin-top: 4px; +} +.text-primary, +.text-primary:hover { + color: #343741; +} +.text-success, +.text-success:hover { + color: #017D73; +} +.text-danger, +.text-danger:hover { + color: #BD271E; +} +.text-warning, +.text-warning:hover { + color: #F5A700; +} +.text-info, +.text-info:hover { + color: #006BB4; +} +table .success, +.table .success, +table .warning, +.table .warning, +table .danger, +.table .danger, +table .info, +.table .info { + color: #FFF; +} +table .success a, +.table .success a, +table .warning a, +.table .warning a, +table .danger a, +.table .danger a, +table .info a, +.table .info a { + color: #FFF; +} +.table-bordered > thead > tr > th, +.table-bordered > tbody > tr > th, +.table-bordered > tfoot > tr > th, +.table-bordered > thead > tr > td, +.table-bordered > tbody > tr > td, +.table-bordered > tfoot > tr > td { + border: 1px solid #D3DAE6; +} +.form-control, +input { + border-width: 1px; + -webkit-box-shadow: none; + box-shadow: none; +} +.form-control:focus, +input:focus { + -webkit-box-shadow: none; + box-shadow: none; +} +.has-warning .help-block, +.has-warning .control-label, +.has-warning .radio, +.has-warning .checkbox, +.has-warning .radio-inline, +.has-warning .checkbox-inline, +.has-warning .form-control-feedback { + color: #F5A700; +} +.has-warning .form-control, +.has-warning .form-control:focus { + border: 1px solid; + border-color: #F5A700; +} +.has-warning .input-group-addon { + border-color: #F5A700; +} +.has-error .help-block, +.has-error .control-label, +.has-error .radio, +.has-error .checkbox, +.has-error .radio-inline, +.has-error .checkbox-inline, +.has-error .form-control-feedback { + color: #BD271E; +} +.has-error .form-control, +.has-error .form-control:focus { + border: 1px solid; + border-color: #BD271E; +} +.has-error .input-group-addon { + border-color: #BD271E; +} +.has-success .help-block, +.has-success .control-label, +.has-success .radio, +.has-success .checkbox, +.has-success .radio-inline, +.has-success .checkbox-inline, +.has-success .form-control-feedback { + color: #017D73; +} +.has-success .form-control, +.has-success .form-control:focus { + border: solid #017D73; +} +.has-success .input-group-addon { + border-color: #017D73; +} +.nav .open > a, +.nav .open > a:hover, +.nav .open > a:focus { + border-color: transparent; +} +.pager a, +.pager a:hover { + color: #FFF; +} +.pager .disabled > a, +.pager .disabled > a:hover, +.pager .disabled > a:focus, +.pager .disabled > span { + background-color: rgba(38, 38, 38, 0); +} +.panel { + border-radius: 0; + -webkit-box-shadow: 0 0 0 rgba(0, 0, 0, 0); + box-shadow: 0 0 0 rgba(0, 0, 0, 0); +} +.progress { + -webkit-box-shadow: none; + box-shadow: none; +} +.progress .progress-bar { + font-size: 10px; + line-height: 10px; +} +.well { + -webkit-box-shadow: none; + box-shadow: none; +} +filter-bar { + z-index: 4 !important; +} +.filter-bar-confirm { + padding: 8px 10px 4px; + background: #D3DAE6; + border-bottom: 1px solid; + border-bottom-color: #b2bac6; +} +.filter-bar-confirm ul { + margin-bottom: 0px; +} +.filter-bar-confirm li { + display: inline-block; +} +.filter-bar-confirm li:first-child { + font-weight: bold; + font-size: 1.2em; +} +.filter-bar-confirm li button { + font-size: 0.9em; + padding: 2px 8px; +} +.filter-bar-confirm .filter { + position: relative; + display: inline-block; + text-align: center; + min-width: calc(5*(1.414em + 13px)); + vertical-align: middle; + font-size: 12px; + background-color: #b2bac6; + color: #343741; + margin-right: 4px; + margin-bottom: 4px; + max-width: 100%; + padding: 4px 8px; + border-radius: 12px; +} +.filter-panel { + position: relative; +} +.filter-panel .filter-panel__pill { + display: inline; +} +.filter-panel--close { + max-height: 36px; + overflow-y: hidden; + min-width: 250px; +} +.filter-panel--close .filter-panel__pill { + display: inline-block; +} +.filter-bar { + padding: 6px 10px 1px 10px; + background: #F5F7FA; + border-bottom: solid 1px #D3DAE6; +} +.filter-bar .ace_editor { + height: 175px; +} +.filter-bar .filter-edit-alias { + margin-top: 15px; +} +.filter-bar .filter-link { + position: relative; + display: inline-block; + border: 4px solid transparent; + margin-bottom: 4px; +} +.filter-bar .filter-description { + white-space: nowrap; + text-overflow: ellipsis; + vertical-align: middle; + line-height: 1.5; +} +.filter-bar .action-show { + position: absolute; + right: 30px; + bottom: 0; +} +.filter-bar .filter-nav-link__icon { + display: inline; + position: absolute; + top: 10px; + right: 10px; + opacity: 0.75; + font-size: 16px; +} +.filter-bar .filter-nav-link__icon:hover { + opacity: 1; +} +.filter-bar .filter-nav-link__icon .filter-nav-link__collapser { + border: none; + line-height: 1; +} +.filter-bar .filter { + position: relative; + display: inline-block; + text-align: center; + min-width: calc(5*(1.414em + 13px)); + font-size: 12px; + background-color: #006BB4; + color: #FFF; + margin-right: 4px; + margin-bottom: 4px; + max-width: 100%; + vertical-align: middle; + padding: 4px 8px; + border-radius: 12px; +} +.filter-bar .filter .filter-actions { + font-size: 1.1em; + line-height: 1.4em; + position: absolute; + padding: 4px 8px; + top: 0; + left: 0; + width: 100%; + opacity: 0; + text-align: center; + white-space: nowrap; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; +} +.filter-bar .filter .filter-actions .action { + border: none; + border-right: 1px solid rgba(255, 255, 255, 0.4); + padding: 0; + background-color: transparent; + -webkit-box-flex: 1; + -webkit-flex: 1 1 auto; + -ms-flex: 1 1 auto; + flex: 1 1 auto; +} +.filter-bar .filter .filter-actions .action:last-child { + border-right: 0; + padding-right: 0; + margin-right: 0; +} +.filter-bar .filter .filter-actions .action .unpinned { + opacity: 0.7; + filter: alpha(opacity=70); +} +.filter-bar .filter .filter-actions .action .fa-disabled { + opacity: 0.7; + cursor: not-allowed; +} +.filter-bar .filter .filter-actions-activated { + opacity: 1; +} +.filter-bar .filter .filter-description-deactivated { + opacity: 0.15; + background: transparent; + overflow: hidden; +} +.filter-bar .filter.negate { + background-color: #BD271E; +} +.filter-bar .filter a { + color: #FFF; +} +.filter-bar .filter.disabled { + opacity: 0.6; + background-image: repeating-linear-gradient(45deg, transparent, transparent 10px, rgba(255, 255, 255, 0.3) 10px, rgba(255, 255, 255, 0.3) 20px); +} +.filter-bar .filter.disabled:hover span { + text-decoration: none; +} +.filter-bar-condensed { + padding: 6px 6px 2px 6px !important; + font-size: 0.9em; + background: #e6f0f8; +} +.tab-dashboard.theme-dark .filter-bar-confirm { + background: #343741; + border-bottom-color: #000; +} +.tab-dashboard.theme-dark .filter-bar-confirm .filter { + background-color: #F5F7FA; + color: #343741; +} +.tab-dashboard.theme-dark .filter-bar { + background: #343741; + border-bottom-color: #000; +} +.tab-dashboard.theme-dark .filter-bar .filter { + background-color: #146a63; + color: #FFF; +} +.tab-dashboard.theme-dark .filter-bar .filter.negate { + background-color: #146a63; +} +.tab-dashboard.theme-dark .filter-bar .filter a { + color: #FFF; +} +.tab-dashboard.theme-dark .filter-bar-condensed { + background: #292b33; +} + +.filterEditor { + position: absolute; + width: 600px; + z-index: 101; +} +.filterEditor__labelBar { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: justify; + -webkit-justify-content: space-between; + -ms-flex-pack: justify; + justify-content: space-between; +} +.filterEditor__wideField { + min-width: 0; +} +.filterEditorParamsInput { + min-width: 100px; +} +.uiSelectChoices--autoWidth { + width: auto !important; + min-width: 100% !important; +} +.uiSelectMatch--restrictToParent .ui-select-match-item { + max-width: 100%; +} +.uiSelectMatch--pillWithTooltip { + display: block; + margin-right: 16px; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; +} + +/*! + * Font Awesome 4.4.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */ +/* FONT PATH + * -------------------------- */ +@font-face { + font-family: 'FontAwesome'; + src: url(__REPLACE_WITH_PUBLIC_PATH__45c73723862c6fc5eb3d6961db2d71fb.eot); + src: url(__REPLACE_WITH_PUBLIC_PATH__45c73723862c6fc5eb3d6961db2d71fb.eot?#iefix&v=4.4.0) format('embedded-opentype'), url(__REPLACE_WITH_PUBLIC_PATH__4b5a84aaf1c9485e060c503a0ff8cadb.woff2) format('woff2'), url(__REPLACE_WITH_PUBLIC_PATH__dfb02f8f6d0cedc009ee5887cc68f1f3.woff) format('woff'), url(__REPLACE_WITH_PUBLIC_PATH__7c87870ab40d63cfb8870c1f183f9939.ttf) format('truetype'), url(__REPLACE_WITH_PUBLIC_PATH__76a4f23c6be74fd309e0d0fd2c27a5de.svg#fontawesomeregular) format('svg'); + font-weight: normal; + font-style: normal; +} +.fa { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +/* makes the font 33% larger relative to the icon container */ +.fa-lg { + font-size: 1.33333333em; + line-height: 0.75em; + vertical-align: -15%; +} +.fa-2x { + font-size: 2em; +} +.fa-3x { + font-size: 3em; +} +.fa-4x { + font-size: 4em; +} +.fa-5x { + font-size: 5em; +} +.fa-fw { + width: 1.28571429em; + text-align: center; +} +.fa-ul { + padding-left: 0; + margin-left: 2.14285714em; + list-style-type: none; +} +.fa-ul > li { + position: relative; +} +.fa-li { + position: absolute; + left: -2.14285714em; + width: 2.14285714em; + top: 0.14285714em; + text-align: center; +} +.fa-li.fa-lg { + left: -1.85714286em; +} +.fa-border { + padding: .2em .25em .15em; + border: solid 0.08em #eee; + border-radius: .1em; +} +.fa-pull-left { + float: left; +} +.fa-pull-right { + float: right; +} +.fa.fa-pull-left { + margin-right: .3em; +} +.fa.fa-pull-right { + margin-left: .3em; +} +/* Deprecated as of 4.4.0 */ +.pull-right { + float: right; +} +.pull-left { + float: left; +} +.fa.pull-left { + margin-right: .3em; +} +.fa.pull-right { + margin-left: .3em; +} +.fa-spin { + -webkit-animation: fa-spin 2s infinite linear; + animation: fa-spin 2s infinite linear; +} +.fa-pulse { + -webkit-animation: fa-spin 1s infinite steps(8); + animation: fa-spin 1s infinite steps(8); +} +@-webkit-keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} +@keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} +.fa-rotate-90 { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1); + -webkit-transform: rotate(90deg); + transform: rotate(90deg); +} +.fa-rotate-180 { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2); + -webkit-transform: rotate(180deg); + transform: rotate(180deg); +} +.fa-rotate-270 { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3); + -webkit-transform: rotate(270deg); + transform: rotate(270deg); +} +.fa-flip-horizontal { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1); + -webkit-transform: scale(-1, 1); + transform: scale(-1, 1); +} +.fa-flip-vertical { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1); + -webkit-transform: scale(1, -1); + transform: scale(1, -1); +} +:root .fa-rotate-90, +:root .fa-rotate-180, +:root .fa-rotate-270, +:root .fa-flip-horizontal, +:root .fa-flip-vertical { + -webkit-filter: none; + filter: none; +} +.fa-stack { + position: relative; + display: inline-block; + width: 2em; + height: 2em; + line-height: 2em; + vertical-align: middle; +} +.fa-stack-1x, +.fa-stack-2x { + position: absolute; + left: 0; + width: 100%; + text-align: center; +} +.fa-stack-1x { + line-height: inherit; +} +.fa-stack-2x { + font-size: 2em; +} +.fa-inverse { + color: #fff; +} +/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen + readers do not read off random characters that represent icons */ +.fa-glass:before { + content: "\F000"; +} +.fa-music:before { + content: "\F001"; +} +.fa-search:before { + content: "\F002"; +} +.fa-envelope-o:before { + content: "\F003"; +} +.fa-heart:before { + content: "\F004"; +} +.fa-star:before { + content: "\F005"; +} +.fa-star-o:before { + content: "\F006"; +} +.fa-user:before { + content: "\F007"; +} +.fa-film:before { + content: "\F008"; +} +.fa-th-large:before { + content: "\F009"; +} +.fa-th:before { + content: "\F00A"; +} +.fa-th-list:before { + content: "\F00B"; +} +.fa-check:before { + content: "\F00C"; +} +.fa-remove:before, +.fa-close:before, +.fa-times:before { + content: "\F00D"; +} +.fa-search-plus:before { + content: "\F00E"; +} +.fa-search-minus:before { + content: "\F010"; +} +.fa-power-off:before { + content: "\F011"; +} +.fa-signal:before { + content: "\F012"; +} +.fa-gear:before, +.fa-cog:before { + content: "\F013"; +} +.fa-trash-o:before { + content: "\F014"; +} +.fa-home:before { + content: "\F015"; +} +.fa-file-o:before { + content: "\F016"; +} +.fa-clock-o:before { + content: "\F017"; +} +.fa-road:before { + content: "\F018"; +} +.fa-download:before { + content: "\F019"; +} +.fa-arrow-circle-o-down:before { + content: "\F01A"; +} +.fa-arrow-circle-o-up:before { + content: "\F01B"; +} +.fa-inbox:before { + content: "\F01C"; +} +.fa-play-circle-o:before { + content: "\F01D"; +} +.fa-rotate-right:before, +.fa-repeat:before { + content: "\F01E"; +} +.fa-refresh:before { + content: "\F021"; +} +.fa-list-alt:before { + content: "\F022"; +} +.fa-lock:before { + content: "\F023"; +} +.fa-flag:before { + content: "\F024"; +} +.fa-headphones:before { + content: "\F025"; +} +.fa-volume-off:before { + content: "\F026"; +} +.fa-volume-down:before { + content: "\F027"; +} +.fa-volume-up:before { + content: "\F028"; +} +.fa-qrcode:before { + content: "\F029"; +} +.fa-barcode:before { + content: "\F02A"; +} +.fa-tag:before { + content: "\F02B"; +} +.fa-tags:before { + content: "\F02C"; +} +.fa-book:before { + content: "\F02D"; +} +.fa-bookmark:before { + content: "\F02E"; +} +.fa-print:before { + content: "\F02F"; +} +.fa-camera:before { + content: "\F030"; +} +.fa-font:before { + content: "\F031"; +} +.fa-bold:before { + content: "\F032"; +} +.fa-italic:before { + content: "\F033"; +} +.fa-text-height:before { + content: "\F034"; +} +.fa-text-width:before { + content: "\F035"; +} +.fa-align-left:before { + content: "\F036"; +} +.fa-align-center:before { + content: "\F037"; +} +.fa-align-right:before { + content: "\F038"; +} +.fa-align-justify:before { + content: "\F039"; +} +.fa-list:before { + content: "\F03A"; +} +.fa-dedent:before, +.fa-outdent:before { + content: "\F03B"; +} +.fa-indent:before { + content: "\F03C"; +} +.fa-video-camera:before { + content: "\F03D"; +} +.fa-photo:before, +.fa-image:before, +.fa-picture-o:before { + content: "\F03E"; +} +.fa-pencil:before { + content: "\F040"; +} +.fa-map-marker:before { + content: "\F041"; +} +.fa-adjust:before { + content: "\F042"; +} +.fa-tint:before { + content: "\F043"; +} +.fa-edit:before, +.fa-pencil-square-o:before { + content: "\F044"; +} +.fa-share-square-o:before { + content: "\F045"; +} +.fa-check-square-o:before { + content: "\F046"; +} +.fa-arrows:before { + content: "\F047"; +} +.fa-step-backward:before { + content: "\F048"; +} +.fa-fast-backward:before { + content: "\F049"; +} +.fa-backward:before { + content: "\F04A"; +} +.fa-play:before { + content: "\F04B"; +} +.fa-pause:before { + content: "\F04C"; +} +.fa-stop:before { + content: "\F04D"; +} +.fa-forward:before { + content: "\F04E"; +} +.fa-fast-forward:before { + content: "\F050"; +} +.fa-step-forward:before { + content: "\F051"; +} +.fa-eject:before { + content: "\F052"; +} +.fa-chevron-left:before { + content: "\F053"; +} +.fa-chevron-right:before { + content: "\F054"; +} +.fa-plus-circle:before { + content: "\F055"; +} +.fa-minus-circle:before { + content: "\F056"; +} +.fa-times-circle:before { + content: "\F057"; +} +.fa-check-circle:before { + content: "\F058"; +} +.fa-question-circle:before { + content: "\F059"; +} +.fa-info-circle:before { + content: "\F05A"; +} +.fa-crosshairs:before { + content: "\F05B"; +} +.fa-times-circle-o:before { + content: "\F05C"; +} +.fa-check-circle-o:before { + content: "\F05D"; +} +.fa-ban:before { + content: "\F05E"; +} +.fa-arrow-left:before { + content: "\F060"; +} +.fa-arrow-right:before { + content: "\F061"; +} +.fa-arrow-up:before { + content: "\F062"; +} +.fa-arrow-down:before { + content: "\F063"; +} +.fa-mail-forward:before, +.fa-share:before { + content: "\F064"; +} +.fa-expand:before { + content: "\F065"; +} +.fa-compress:before { + content: "\F066"; +} +.fa-plus:before { + content: "\F067"; +} +.fa-minus:before { + content: "\F068"; +} +.fa-asterisk:before { + content: "\F069"; +} +.fa-exclamation-circle:before { + content: "\F06A"; +} +.fa-gift:before { + content: "\F06B"; +} +.fa-leaf:before { + content: "\F06C"; +} +.fa-fire:before { + content: "\F06D"; +} +.fa-eye:before { + content: "\F06E"; +} +.fa-eye-slash:before { + content: "\F070"; +} +.fa-warning:before, +.fa-exclamation-triangle:before { + content: "\F071"; +} +.fa-plane:before { + content: "\F072"; +} +.fa-calendar:before { + content: "\F073"; +} +.fa-random:before { + content: "\F074"; +} +.fa-comment:before { + content: "\F075"; +} +.fa-magnet:before { + content: "\F076"; +} +.fa-chevron-up:before { + content: "\F077"; +} +.fa-chevron-down:before { + content: "\F078"; +} +.fa-retweet:before { + content: "\F079"; +} +.fa-shopping-cart:before { + content: "\F07A"; +} +.fa-folder:before { + content: "\F07B"; +} +.fa-folder-open:before { + content: "\F07C"; +} +.fa-arrows-v:before { + content: "\F07D"; +} +.fa-arrows-h:before { + content: "\F07E"; +} +.fa-bar-chart-o:before, +.fa-bar-chart:before { + content: "\F080"; +} +.fa-twitter-square:before { + content: "\F081"; +} +.fa-facebook-square:before { + content: "\F082"; +} +.fa-camera-retro:before { + content: "\F083"; +} +.fa-key:before { + content: "\F084"; +} +.fa-gears:before, +.fa-cogs:before { + content: "\F085"; +} +.fa-comments:before { + content: "\F086"; +} +.fa-thumbs-o-up:before { + content: "\F087"; +} +.fa-thumbs-o-down:before { + content: "\F088"; +} +.fa-star-half:before { + content: "\F089"; +} +.fa-heart-o:before { + content: "\F08A"; +} +.fa-sign-out:before { + content: "\F08B"; +} +.fa-linkedin-square:before { + content: "\F08C"; +} +.fa-thumb-tack:before { + content: "\F08D"; +} +.fa-external-link:before { + content: "\F08E"; +} +.fa-sign-in:before { + content: "\F090"; +} +.fa-trophy:before { + content: "\F091"; +} +.fa-github-square:before { + content: "\F092"; +} +.fa-upload:before { + content: "\F093"; +} +.fa-lemon-o:before { + content: "\F094"; +} +.fa-phone:before { + content: "\F095"; +} +.fa-square-o:before { + content: "\F096"; +} +.fa-bookmark-o:before { + content: "\F097"; +} +.fa-phone-square:before { + content: "\F098"; +} +.fa-twitter:before { + content: "\F099"; +} +.fa-facebook-f:before, +.fa-facebook:before { + content: "\F09A"; +} +.fa-github:before { + content: "\F09B"; +} +.fa-unlock:before { + content: "\F09C"; +} +.fa-credit-card:before { + content: "\F09D"; +} +.fa-feed:before, +.fa-rss:before { + content: "\F09E"; +} +.fa-hdd-o:before { + content: "\F0A0"; +} +.fa-bullhorn:before { + content: "\F0A1"; +} +.fa-bell:before { + content: "\F0F3"; +} +.fa-certificate:before { + content: "\F0A3"; +} +.fa-hand-o-right:before { + content: "\F0A4"; +} +.fa-hand-o-left:before { + content: "\F0A5"; +} +.fa-hand-o-up:before { + content: "\F0A6"; +} +.fa-hand-o-down:before { + content: "\F0A7"; +} +.fa-arrow-circle-left:before { + content: "\F0A8"; +} +.fa-arrow-circle-right:before { + content: "\F0A9"; +} +.fa-arrow-circle-up:before { + content: "\F0AA"; +} +.fa-arrow-circle-down:before { + content: "\F0AB"; +} +.fa-globe:before { + content: "\F0AC"; +} +.fa-wrench:before { + content: "\F0AD"; +} +.fa-tasks:before { + content: "\F0AE"; +} +.fa-filter:before { + content: "\F0B0"; +} +.fa-briefcase:before { + content: "\F0B1"; +} +.fa-arrows-alt:before { + content: "\F0B2"; +} +.fa-group:before, +.fa-users:before { + content: "\F0C0"; +} +.fa-chain:before, +.fa-link:before { + content: "\F0C1"; +} +.fa-cloud:before { + content: "\F0C2"; +} +.fa-flask:before { + content: "\F0C3"; +} +.fa-cut:before, +.fa-scissors:before { + content: "\F0C4"; +} +.fa-copy:before, +.fa-files-o:before { + content: "\F0C5"; +} +.fa-paperclip:before { + content: "\F0C6"; +} +.fa-save:before, +.fa-floppy-o:before { + content: "\F0C7"; +} +.fa-square:before { + content: "\F0C8"; +} +.fa-navicon:before, +.fa-reorder:before, +.fa-bars:before { + content: "\F0C9"; +} +.fa-list-ul:before { + content: "\F0CA"; +} +.fa-list-ol:before { + content: "\F0CB"; +} +.fa-strikethrough:before { + content: "\F0CC"; +} +.fa-underline:before { + content: "\F0CD"; +} +.fa-table:before { + content: "\F0CE"; +} +.fa-magic:before { + content: "\F0D0"; +} +.fa-truck:before { + content: "\F0D1"; +} +.fa-pinterest:before { + content: "\F0D2"; +} +.fa-pinterest-square:before { + content: "\F0D3"; +} +.fa-google-plus-square:before { + content: "\F0D4"; +} +.fa-google-plus:before { + content: "\F0D5"; +} +.fa-money:before { + content: "\F0D6"; +} +.fa-caret-down:before { + content: "\F0D7"; +} +.fa-caret-up:before { + content: "\F0D8"; +} +.fa-caret-left:before { + content: "\F0D9"; +} +.fa-caret-right:before { + content: "\F0DA"; +} +.fa-columns:before { + content: "\F0DB"; +} +.fa-unsorted:before, +.fa-sort:before { + content: "\F0DC"; +} +.fa-sort-down:before, +.fa-sort-desc:before { + content: "\F0DD"; +} +.fa-sort-up:before, +.fa-sort-asc:before { + content: "\F0DE"; +} +.fa-envelope:before { + content: "\F0E0"; +} +.fa-linkedin:before { + content: "\F0E1"; +} +.fa-rotate-left:before, +.fa-undo:before { + content: "\F0E2"; +} +.fa-legal:before, +.fa-gavel:before { + content: "\F0E3"; +} +.fa-dashboard:before, +.fa-tachometer:before { + content: "\F0E4"; +} +.fa-comment-o:before { + content: "\F0E5"; +} +.fa-comments-o:before { + content: "\F0E6"; +} +.fa-flash:before, +.fa-bolt:before { + content: "\F0E7"; +} +.fa-sitemap:before { + content: "\F0E8"; +} +.fa-umbrella:before { + content: "\F0E9"; +} +.fa-paste:before, +.fa-clipboard:before { + content: "\F0EA"; +} +.fa-lightbulb-o:before { + content: "\F0EB"; +} +.fa-exchange:before { + content: "\F0EC"; +} +.fa-cloud-download:before { + content: "\F0ED"; +} +.fa-cloud-upload:before { + content: "\F0EE"; +} +.fa-user-md:before { + content: "\F0F0"; +} +.fa-stethoscope:before { + content: "\F0F1"; +} +.fa-suitcase:before { + content: "\F0F2"; +} +.fa-bell-o:before { + content: "\F0A2"; +} +.fa-coffee:before { + content: "\F0F4"; +} +.fa-cutlery:before { + content: "\F0F5"; +} +.fa-file-text-o:before { + content: "\F0F6"; +} +.fa-building-o:before { + content: "\F0F7"; +} +.fa-hospital-o:before { + content: "\F0F8"; +} +.fa-ambulance:before { + content: "\F0F9"; +} +.fa-medkit:before { + content: "\F0FA"; +} +.fa-fighter-jet:before { + content: "\F0FB"; +} +.fa-beer:before { + content: "\F0FC"; +} +.fa-h-square:before { + content: "\F0FD"; +} +.fa-plus-square:before { + content: "\F0FE"; +} +.fa-angle-double-left:before { + content: "\F100"; +} +.fa-angle-double-right:before { + content: "\F101"; +} +.fa-angle-double-up:before { + content: "\F102"; +} +.fa-angle-double-down:before { + content: "\F103"; +} +.fa-angle-left:before { + content: "\F104"; +} +.fa-angle-right:before { + content: "\F105"; +} +.fa-angle-up:before { + content: "\F106"; +} +.fa-angle-down:before { + content: "\F107"; +} +.fa-desktop:before { + content: "\F108"; +} +.fa-laptop:before { + content: "\F109"; +} +.fa-tablet:before { + content: "\F10A"; +} +.fa-mobile-phone:before, +.fa-mobile:before { + content: "\F10B"; +} +.fa-circle-o:before { + content: "\F10C"; +} +.fa-quote-left:before { + content: "\F10D"; +} +.fa-quote-right:before { + content: "\F10E"; +} +.fa-spinner:before { + content: "\F110"; +} +.fa-circle:before { + content: "\F111"; +} +.fa-mail-reply:before, +.fa-reply:before { + content: "\F112"; +} +.fa-github-alt:before { + content: "\F113"; +} +.fa-folder-o:before { + content: "\F114"; +} +.fa-folder-open-o:before { + content: "\F115"; +} +.fa-smile-o:before { + content: "\F118"; +} +.fa-frown-o:before { + content: "\F119"; +} +.fa-meh-o:before { + content: "\F11A"; +} +.fa-gamepad:before { + content: "\F11B"; +} +.fa-keyboard-o:before { + content: "\F11C"; +} +.fa-flag-o:before { + content: "\F11D"; +} +.fa-flag-checkered:before { + content: "\F11E"; +} +.fa-terminal:before { + content: "\F120"; +} +.fa-code:before { + content: "\F121"; +} +.fa-mail-reply-all:before, +.fa-reply-all:before { + content: "\F122"; +} +.fa-star-half-empty:before, +.fa-star-half-full:before, +.fa-star-half-o:before { + content: "\F123"; +} +.fa-location-arrow:before { + content: "\F124"; +} +.fa-crop:before { + content: "\F125"; +} +.fa-code-fork:before { + content: "\F126"; +} +.fa-unlink:before, +.fa-chain-broken:before { + content: "\F127"; +} +.fa-question:before { + content: "\F128"; +} +.fa-info:before { + content: "\F129"; +} +.fa-exclamation:before { + content: "\F12A"; +} +.fa-superscript:before { + content: "\F12B"; +} +.fa-subscript:before { + content: "\F12C"; +} +.fa-eraser:before { + content: "\F12D"; +} +.fa-puzzle-piece:before { + content: "\F12E"; +} +.fa-microphone:before { + content: "\F130"; +} +.fa-microphone-slash:before { + content: "\F131"; +} +.fa-shield:before { + content: "\F132"; +} +.fa-calendar-o:before { + content: "\F133"; +} +.fa-fire-extinguisher:before { + content: "\F134"; +} +.fa-rocket:before { + content: "\F135"; +} +.fa-maxcdn:before { + content: "\F136"; +} +.fa-chevron-circle-left:before { + content: "\F137"; +} +.fa-chevron-circle-right:before { + content: "\F138"; +} +.fa-chevron-circle-up:before { + content: "\F139"; +} +.fa-chevron-circle-down:before { + content: "\F13A"; +} +.fa-html5:before { + content: "\F13B"; +} +.fa-css3:before { + content: "\F13C"; +} +.fa-anchor:before { + content: "\F13D"; +} +.fa-unlock-alt:before { + content: "\F13E"; +} +.fa-bullseye:before { + content: "\F140"; +} +.fa-ellipsis-h:before { + content: "\F141"; +} +.fa-ellipsis-v:before { + content: "\F142"; +} +.fa-rss-square:before { + content: "\F143"; +} +.fa-play-circle:before { + content: "\F144"; +} +.fa-ticket:before { + content: "\F145"; +} +.fa-minus-square:before { + content: "\F146"; +} +.fa-minus-square-o:before { + content: "\F147"; +} +.fa-level-up:before { + content: "\F148"; +} +.fa-level-down:before { + content: "\F149"; +} +.fa-check-square:before { + content: "\F14A"; +} +.fa-pencil-square:before { + content: "\F14B"; +} +.fa-external-link-square:before { + content: "\F14C"; +} +.fa-share-square:before { + content: "\F14D"; +} +.fa-compass:before { + content: "\F14E"; +} +.fa-toggle-down:before, +.fa-caret-square-o-down:before { + content: "\F150"; +} +.fa-toggle-up:before, +.fa-caret-square-o-up:before { + content: "\F151"; +} +.fa-toggle-right:before, +.fa-caret-square-o-right:before { + content: "\F152"; +} +.fa-euro:before, +.fa-eur:before { + content: "\F153"; +} +.fa-gbp:before { + content: "\F154"; +} +.fa-dollar:before, +.fa-usd:before { + content: "\F155"; +} +.fa-rupee:before, +.fa-inr:before { + content: "\F156"; +} +.fa-cny:before, +.fa-rmb:before, +.fa-yen:before, +.fa-jpy:before { + content: "\F157"; +} +.fa-ruble:before, +.fa-rouble:before, +.fa-rub:before { + content: "\F158"; +} +.fa-won:before, +.fa-krw:before { + content: "\F159"; +} +.fa-bitcoin:before, +.fa-btc:before { + content: "\F15A"; +} +.fa-file:before { + content: "\F15B"; +} +.fa-file-text:before { + content: "\F15C"; +} +.fa-sort-alpha-asc:before { + content: "\F15D"; +} +.fa-sort-alpha-desc:before { + content: "\F15E"; +} +.fa-sort-amount-asc:before { + content: "\F160"; +} +.fa-sort-amount-desc:before { + content: "\F161"; +} +.fa-sort-numeric-asc:before { + content: "\F162"; +} +.fa-sort-numeric-desc:before { + content: "\F163"; +} +.fa-thumbs-up:before { + content: "\F164"; +} +.fa-thumbs-down:before { + content: "\F165"; +} +.fa-youtube-square:before { + content: "\F166"; +} +.fa-youtube:before { + content: "\F167"; +} +.fa-xing:before { + content: "\F168"; +} +.fa-xing-square:before { + content: "\F169"; +} +.fa-youtube-play:before { + content: "\F16A"; +} +.fa-dropbox:before { + content: "\F16B"; +} +.fa-stack-overflow:before { + content: "\F16C"; +} +.fa-instagram:before { + content: "\F16D"; +} +.fa-flickr:before { + content: "\F16E"; +} +.fa-adn:before { + content: "\F170"; +} +.fa-bitbucket:before { + content: "\F171"; +} +.fa-bitbucket-square:before { + content: "\F172"; +} +.fa-tumblr:before { + content: "\F173"; +} +.fa-tumblr-square:before { + content: "\F174"; +} +.fa-long-arrow-down:before { + content: "\F175"; +} +.fa-long-arrow-up:before { + content: "\F176"; +} +.fa-long-arrow-left:before { + content: "\F177"; +} +.fa-long-arrow-right:before { + content: "\F178"; +} +.fa-apple:before { + content: "\F179"; +} +.fa-windows:before { + content: "\F17A"; +} +.fa-android:before { + content: "\F17B"; +} +.fa-linux:before { + content: "\F17C"; +} +.fa-dribbble:before { + content: "\F17D"; +} +.fa-skype:before { + content: "\F17E"; +} +.fa-foursquare:before { + content: "\F180"; +} +.fa-trello:before { + content: "\F181"; +} +.fa-female:before { + content: "\F182"; +} +.fa-male:before { + content: "\F183"; +} +.fa-gittip:before, +.fa-gratipay:before { + content: "\F184"; +} +.fa-sun-o:before { + content: "\F185"; +} +.fa-moon-o:before { + content: "\F186"; +} +.fa-archive:before { + content: "\F187"; +} +.fa-bug:before { + content: "\F188"; +} +.fa-vk:before { + content: "\F189"; +} +.fa-weibo:before { + content: "\F18A"; +} +.fa-renren:before { + content: "\F18B"; +} +.fa-pagelines:before { + content: "\F18C"; +} +.fa-stack-exchange:before { + content: "\F18D"; +} +.fa-arrow-circle-o-right:before { + content: "\F18E"; +} +.fa-arrow-circle-o-left:before { + content: "\F190"; +} +.fa-toggle-left:before, +.fa-caret-square-o-left:before { + content: "\F191"; +} +.fa-dot-circle-o:before { + content: "\F192"; +} +.fa-wheelchair:before { + content: "\F193"; +} +.fa-vimeo-square:before { + content: "\F194"; +} +.fa-turkish-lira:before, +.fa-try:before { + content: "\F195"; +} +.fa-plus-square-o:before { + content: "\F196"; +} +.fa-space-shuttle:before { + content: "\F197"; +} +.fa-slack:before { + content: "\F198"; +} +.fa-envelope-square:before { + content: "\F199"; +} +.fa-wordpress:before { + content: "\F19A"; +} +.fa-openid:before { + content: "\F19B"; +} +.fa-institution:before, +.fa-bank:before, +.fa-university:before { + content: "\F19C"; +} +.fa-mortar-board:before, +.fa-graduation-cap:before { + content: "\F19D"; +} +.fa-yahoo:before { + content: "\F19E"; +} +.fa-google:before { + content: "\F1A0"; +} +.fa-reddit:before { + content: "\F1A1"; +} +.fa-reddit-square:before { + content: "\F1A2"; +} +.fa-stumbleupon-circle:before { + content: "\F1A3"; +} +.fa-stumbleupon:before { + content: "\F1A4"; +} +.fa-delicious:before { + content: "\F1A5"; +} +.fa-digg:before { + content: "\F1A6"; +} +.fa-pied-piper:before { + content: "\F1A7"; +} +.fa-pied-piper-alt:before { + content: "\F1A8"; +} +.fa-drupal:before { + content: "\F1A9"; +} +.fa-joomla:before { + content: "\F1AA"; +} +.fa-language:before { + content: "\F1AB"; +} +.fa-fax:before { + content: "\F1AC"; +} +.fa-building:before { + content: "\F1AD"; +} +.fa-child:before { + content: "\F1AE"; +} +.fa-paw:before { + content: "\F1B0"; +} +.fa-spoon:before { + content: "\F1B1"; +} +.fa-cube:before { + content: "\F1B2"; +} +.fa-cubes:before { + content: "\F1B3"; +} +.fa-behance:before { + content: "\F1B4"; +} +.fa-behance-square:before { + content: "\F1B5"; +} +.fa-steam:before { + content: "\F1B6"; +} +.fa-steam-square:before { + content: "\F1B7"; +} +.fa-recycle:before { + content: "\F1B8"; +} +.fa-automobile:before, +.fa-car:before { + content: "\F1B9"; +} +.fa-cab:before, +.fa-taxi:before { + content: "\F1BA"; +} +.fa-tree:before { + content: "\F1BB"; +} +.fa-spotify:before { + content: "\F1BC"; +} +.fa-deviantart:before { + content: "\F1BD"; +} +.fa-soundcloud:before { + content: "\F1BE"; +} +.fa-database:before { + content: "\F1C0"; +} +.fa-file-pdf-o:before { + content: "\F1C1"; +} +.fa-file-word-o:before { + content: "\F1C2"; +} +.fa-file-excel-o:before { + content: "\F1C3"; +} +.fa-file-powerpoint-o:before { + content: "\F1C4"; +} +.fa-file-photo-o:before, +.fa-file-picture-o:before, +.fa-file-image-o:before { + content: "\F1C5"; +} +.fa-file-zip-o:before, +.fa-file-archive-o:before { + content: "\F1C6"; +} +.fa-file-sound-o:before, +.fa-file-audio-o:before { + content: "\F1C7"; +} +.fa-file-movie-o:before, +.fa-file-video-o:before { + content: "\F1C8"; +} +.fa-file-code-o:before { + content: "\F1C9"; +} +.fa-vine:before { + content: "\F1CA"; +} +.fa-codepen:before { + content: "\F1CB"; +} +.fa-jsfiddle:before { + content: "\F1CC"; +} +.fa-life-bouy:before, +.fa-life-buoy:before, +.fa-life-saver:before, +.fa-support:before, +.fa-life-ring:before { + content: "\F1CD"; +} +.fa-circle-o-notch:before { + content: "\F1CE"; +} +.fa-ra:before, +.fa-rebel:before { + content: "\F1D0"; +} +.fa-ge:before, +.fa-empire:before { + content: "\F1D1"; +} +.fa-git-square:before { + content: "\F1D2"; +} +.fa-git:before { + content: "\F1D3"; +} +.fa-y-combinator-square:before, +.fa-yc-square:before, +.fa-hacker-news:before { + content: "\F1D4"; +} +.fa-tencent-weibo:before { + content: "\F1D5"; +} +.fa-qq:before { + content: "\F1D6"; +} +.fa-wechat:before, +.fa-weixin:before { + content: "\F1D7"; +} +.fa-send:before, +.fa-paper-plane:before { + content: "\F1D8"; +} +.fa-send-o:before, +.fa-paper-plane-o:before { + content: "\F1D9"; +} +.fa-history:before { + content: "\F1DA"; +} +.fa-circle-thin:before { + content: "\F1DB"; +} +.fa-header:before { + content: "\F1DC"; +} +.fa-paragraph:before { + content: "\F1DD"; +} +.fa-sliders:before { + content: "\F1DE"; +} +.fa-share-alt:before { + content: "\F1E0"; +} +.fa-share-alt-square:before { + content: "\F1E1"; +} +.fa-bomb:before { + content: "\F1E2"; +} +.fa-soccer-ball-o:before, +.fa-futbol-o:before { + content: "\F1E3"; +} +.fa-tty:before { + content: "\F1E4"; +} +.fa-binoculars:before { + content: "\F1E5"; +} +.fa-plug:before { + content: "\F1E6"; +} +.fa-slideshare:before { + content: "\F1E7"; +} +.fa-twitch:before { + content: "\F1E8"; +} +.fa-yelp:before { + content: "\F1E9"; +} +.fa-newspaper-o:before { + content: "\F1EA"; +} +.fa-wifi:before { + content: "\F1EB"; +} +.fa-calculator:before { + content: "\F1EC"; +} +.fa-paypal:before { + content: "\F1ED"; +} +.fa-google-wallet:before { + content: "\F1EE"; +} +.fa-cc-visa:before { + content: "\F1F0"; +} +.fa-cc-mastercard:before { + content: "\F1F1"; +} +.fa-cc-discover:before { + content: "\F1F2"; +} +.fa-cc-amex:before { + content: "\F1F3"; +} +.fa-cc-paypal:before { + content: "\F1F4"; +} +.fa-cc-stripe:before { + content: "\F1F5"; +} +.fa-bell-slash:before { + content: "\F1F6"; +} +.fa-bell-slash-o:before { + content: "\F1F7"; +} +.fa-trash:before { + content: "\F1F8"; +} +.fa-copyright:before { + content: "\F1F9"; +} +.fa-at:before { + content: "\F1FA"; +} +.fa-eyedropper:before { + content: "\F1FB"; +} +.fa-paint-brush:before { + content: "\F1FC"; +} +.fa-birthday-cake:before { + content: "\F1FD"; +} +.fa-area-chart:before { + content: "\F1FE"; +} +.fa-pie-chart:before { + content: "\F200"; +} +.fa-line-chart:before { + content: "\F201"; +} +.fa-lastfm:before { + content: "\F202"; +} +.fa-lastfm-square:before { + content: "\F203"; +} +.fa-toggle-off:before { + content: "\F204"; +} +.fa-toggle-on:before { + content: "\F205"; +} +.fa-bicycle:before { + content: "\F206"; +} +.fa-bus:before { + content: "\F207"; +} +.fa-ioxhost:before { + content: "\F208"; +} +.fa-angellist:before { + content: "\F209"; +} +.fa-cc:before { + content: "\F20A"; +} +.fa-shekel:before, +.fa-sheqel:before, +.fa-ils:before { + content: "\F20B"; +} +.fa-meanpath:before { + content: "\F20C"; +} +.fa-buysellads:before { + content: "\F20D"; +} +.fa-connectdevelop:before { + content: "\F20E"; +} +.fa-dashcube:before { + content: "\F210"; +} +.fa-forumbee:before { + content: "\F211"; +} +.fa-leanpub:before { + content: "\F212"; +} +.fa-sellsy:before { + content: "\F213"; +} +.fa-shirtsinbulk:before { + content: "\F214"; +} +.fa-simplybuilt:before { + content: "\F215"; +} +.fa-skyatlas:before { + content: "\F216"; +} +.fa-cart-plus:before { + content: "\F217"; +} +.fa-cart-arrow-down:before { + content: "\F218"; +} +.fa-diamond:before { + content: "\F219"; +} +.fa-ship:before { + content: "\F21A"; +} +.fa-user-secret:before { + content: "\F21B"; +} +.fa-motorcycle:before { + content: "\F21C"; +} +.fa-street-view:before { + content: "\F21D"; +} +.fa-heartbeat:before { + content: "\F21E"; +} +.fa-venus:before { + content: "\F221"; +} +.fa-mars:before { + content: "\F222"; +} +.fa-mercury:before { + content: "\F223"; +} +.fa-intersex:before, +.fa-transgender:before { + content: "\F224"; +} +.fa-transgender-alt:before { + content: "\F225"; +} +.fa-venus-double:before { + content: "\F226"; +} +.fa-mars-double:before { + content: "\F227"; +} +.fa-venus-mars:before { + content: "\F228"; +} +.fa-mars-stroke:before { + content: "\F229"; +} +.fa-mars-stroke-v:before { + content: "\F22A"; +} +.fa-mars-stroke-h:before { + content: "\F22B"; +} +.fa-neuter:before { + content: "\F22C"; +} +.fa-genderless:before { + content: "\F22D"; +} +.fa-facebook-official:before { + content: "\F230"; +} +.fa-pinterest-p:before { + content: "\F231"; +} +.fa-whatsapp:before { + content: "\F232"; +} +.fa-server:before { + content: "\F233"; +} +.fa-user-plus:before { + content: "\F234"; +} +.fa-user-times:before { + content: "\F235"; +} +.fa-hotel:before, +.fa-bed:before { + content: "\F236"; +} +.fa-viacoin:before { + content: "\F237"; +} +.fa-train:before { + content: "\F238"; +} +.fa-subway:before { + content: "\F239"; +} +.fa-medium:before { + content: "\F23A"; +} +.fa-yc:before, +.fa-y-combinator:before { + content: "\F23B"; +} +.fa-optin-monster:before { + content: "\F23C"; +} +.fa-opencart:before { + content: "\F23D"; +} +.fa-expeditedssl:before { + content: "\F23E"; +} +.fa-battery-4:before, +.fa-battery-full:before { + content: "\F240"; +} +.fa-battery-3:before, +.fa-battery-three-quarters:before { + content: "\F241"; +} +.fa-battery-2:before, +.fa-battery-half:before { + content: "\F242"; +} +.fa-battery-1:before, +.fa-battery-quarter:before { + content: "\F243"; +} +.fa-battery-0:before, +.fa-battery-empty:before { + content: "\F244"; +} +.fa-mouse-pointer:before { + content: "\F245"; +} +.fa-i-cursor:before { + content: "\F246"; +} +.fa-object-group:before { + content: "\F247"; +} +.fa-object-ungroup:before { + content: "\F248"; +} +.fa-sticky-note:before { + content: "\F249"; +} +.fa-sticky-note-o:before { + content: "\F24A"; +} +.fa-cc-jcb:before { + content: "\F24B"; +} +.fa-cc-diners-club:before { + content: "\F24C"; +} +.fa-clone:before { + content: "\F24D"; +} +.fa-balance-scale:before { + content: "\F24E"; +} +.fa-hourglass-o:before { + content: "\F250"; +} +.fa-hourglass-1:before, +.fa-hourglass-start:before { + content: "\F251"; +} +.fa-hourglass-2:before, +.fa-hourglass-half:before { + content: "\F252"; +} +.fa-hourglass-3:before, +.fa-hourglass-end:before { + content: "\F253"; +} +.fa-hourglass:before { + content: "\F254"; +} +.fa-hand-grab-o:before, +.fa-hand-rock-o:before { + content: "\F255"; +} +.fa-hand-stop-o:before, +.fa-hand-paper-o:before { + content: "\F256"; +} +.fa-hand-scissors-o:before { + content: "\F257"; +} +.fa-hand-lizard-o:before { + content: "\F258"; +} +.fa-hand-spock-o:before { + content: "\F259"; +} +.fa-hand-pointer-o:before { + content: "\F25A"; +} +.fa-hand-peace-o:before { + content: "\F25B"; +} +.fa-trademark:before { + content: "\F25C"; +} +.fa-registered:before { + content: "\F25D"; +} +.fa-creative-commons:before { + content: "\F25E"; +} +.fa-gg:before { + content: "\F260"; +} +.fa-gg-circle:before { + content: "\F261"; +} +.fa-tripadvisor:before { + content: "\F262"; +} +.fa-odnoklassniki:before { + content: "\F263"; +} +.fa-odnoklassniki-square:before { + content: "\F264"; +} +.fa-get-pocket:before { + content: "\F265"; +} +.fa-wikipedia-w:before { + content: "\F266"; +} +.fa-safari:before { + content: "\F267"; +} +.fa-chrome:before { + content: "\F268"; +} +.fa-firefox:before { + content: "\F269"; +} +.fa-opera:before { + content: "\F26A"; +} +.fa-internet-explorer:before { + content: "\F26B"; +} +.fa-tv:before, +.fa-television:before { + content: "\F26C"; +} +.fa-contao:before { + content: "\F26D"; +} +.fa-500px:before { + content: "\F26E"; +} +.fa-amazon:before { + content: "\F270"; +} +.fa-calendar-plus-o:before { + content: "\F271"; +} +.fa-calendar-minus-o:before { + content: "\F272"; +} +.fa-calendar-times-o:before { + content: "\F273"; +} +.fa-calendar-check-o:before { + content: "\F274"; +} +.fa-industry:before { + content: "\F275"; +} +.fa-map-pin:before { + content: "\F276"; +} +.fa-map-signs:before { + content: "\F277"; +} +.fa-map-o:before { + content: "\F278"; +} +.fa-map:before { + content: "\F279"; +} +.fa-commenting:before { + content: "\F27A"; +} +.fa-commenting-o:before { + content: "\F27B"; +} +.fa-houzz:before { + content: "\F27C"; +} +.fa-vimeo:before { + content: "\F27D"; +} +.fa-black-tie:before { + content: "\F27E"; +} +.fa-fonticons:before { + content: "\F280"; +} +.fa-file-new-o:before { + content: "\F016"; +} +.fa-file-new-o:after { + content: "\F067"; + position: relative; + margin-left: -1em; + font-size: 0.5em; +} +.fa-success:before { + content: "\F00C"; +} +.fa-danger:before { + content: "\F06A"; +} + +.kbn-timepicker { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-pack: end; + -webkit-justify-content: flex-end; + -ms-flex-pack: end; + justify-content: flex-end; + /** + * 1. Override kuiLocalNav styles. + */ + /** + * Avoid last nav overlapping collapse button + */ +} +.kbn-timepicker .kbn-timepicker-content { + width: 100%; + max-width: 600px; +} +.kbn-timepicker [kbn-time-input] { + text-align: center; +} +.kbn-timepicker .kbn-timepicker-modes { + text-transform: capitalize; +} +.kbn-timepicker .kbn-timepicker-section { + float: left; +} +.kbn-timepicker .kbn-timepicker-section + .kbn-timepicker-section { + padding-left: 15px; +} +.kbn-timepicker .kbn-timepicker-quick-section { + width: 25%; +} +.kbn-timepicker .kbn-timepicker-body { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-align: top; + -webkit-align-items: top; + -ms-flex-align: top; + align-items: top; + -webkit-box-pack: stretch; + -webkit-justify-content: stretch; + -ms-flex-pack: stretch; + justify-content: stretch; + width: 100%; +} +@media (max-width: 660px) { + .kbn-timepicker .kbn-timepicker-body { + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + } +} +.kbn-timepicker .kbn-timepicker-body-column { + width: 100%; +} +.kbn-timepicker .kbn-timepicker-form-header { + margin-bottom: 0 !important; +} +.kbn-timepicker .kbn-timepicker-actions { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-pack: end; + -webkit-justify-content: flex-end; + -ms-flex-pack: end; + justify-content: flex-end; + -webkit-box-align: baseline; + -webkit-align-items: baseline; + -ms-flex-align: baseline; + align-items: baseline; +} +.kbn-timepicker .kbn-timepicker-action-item, +.kbn-timepicker .kbn-timepicker-submit-button { + margin-left: 10px; +} +.kbn-timepicker .kbn-timepicker-submit-button { + min-width: 100px; +} +.kbn-timepicker .kbn-refresh-section { + float: left; + padding: 0px 15px; +} +.kbn-timepicker .kbn-timepicket-alert { + width: 100px; +} +.kbn-timepicker .kbn-timepicker-error { + color: #BD271E; +} +.kbn-timepicker .kbn-timepicker-title { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-pack: justify; + -webkit-justify-content: space-between; + -ms-flex-pack: justify; + justify-content: space-between; +} +.kbn-timepicker .kbn-timepicker-title__text { + margin-bottom: 0 !important; + /* 1 */ +} +.kbn-timepicker .kbn-timepicker-title__section { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; +} +.kbn-timepicker .nav:last-child { + margin-right: 24px; +} +.kbn-timepicker .refresh-interval { + padding: 0.2em 0.4em; + border-radius: 4px; +} +.kbn-timepicker .refresh-interval-active { + background-color: #006BB4; + color: #FFF; +} +.navbar-timepicker-time-desc > .fa-clock-o { + padding-right: 5px; +} + + diff --git a/services/meta/os-dashboards/kibana-kaapana/docker/files/replace_files/index.css b/services/meta/os-dashboards/kibana-kaapana/docker/files/replace_files/index.css new file mode 100644 index 00000000..3e3e6db7 --- /dev/null +++ b/services/meta/os-dashboards/kibana-kaapana/docker/files/replace_files/index.css @@ -0,0 +1,6517 @@ +/** + * 1. The local nav contains tooltips which should pop over the filter bar. + * 2. The filter and local nav components should always appear above the dashboard grid items. + * 3. The filter and local nav components should always appear above the discover content. + * 4. The sidebar collapser button should appear above the main Discover content but below the top elements. + * 5. Dragged panels in dashboard should always appear above other panels. + */ +/* 1 */ +/* 1 */ +/* 2 */ +/* 5 */ +/* 3 */ +/* 4 */ +input.ng-invalid.ng-dirty, input.ng-invalid.ng-touched, +textarea.ng-invalid.ng-dirty, +textarea.ng-invalid.ng-touched, +select.ng-invalid.ng-dirty, +select.ng-invalid.ng-touched { + border-color: #BD271E !important; } + +input[type="radio"][disabled], +fieldset[disabled] input[type="radio"], +input[type="checkbox"][disabled], +fieldset[disabled] +input[type="checkbox"], +.radio[disabled], +fieldset[disabled] +.radio, +.radio-inline[disabled], +fieldset[disabled] +.radio-inline, +.checkbox[disabled], +fieldset[disabled] +.checkbox, +.checkbox-inline[disabled], +fieldset[disabled] +.checkbox-inline { + cursor: default; + opacity: .8; } + +.checkbox label { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; + padding-left: 0 !important; } + .checkbox label input[type="checkbox"] { + float: none; + margin: 0 4px; + position: static; } + +.content { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -webkit-flex-flow: row nowrap; + -ms-flex-flow: row nowrap; + flex-flow: row nowrap; + width: 100%; + height: 100%; + overflow: hidden; } + +.application > *, +.app-container > * { + position: relative; } + +.application > config, +.app-container > config { + z-index: 1; } + +.application > navbar, +.app-container > navbar { + padding-bottom: 8px; } + +.application > kbn-top-nav, +.app-container > kbn-top-nav { + z-index: 5; } + +.application > nav, +.application > navbar, +.app-container > nav, +.app-container > navbar { + z-index: 2 !important; } + +.application { + position: relative; + z-index: 0; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-flex: 1; + -webkit-flex-grow: 1; + -ms-flex-positive: 1; + flex-grow: 1; + -webkit-flex-shrink: 0; + -ms-flex-negative: 0; + flex-shrink: 0; + -webkit-flex-basis: auto; + -ms-flex-preferred-size: auto; + flex-basis: auto; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; } + .application > * { + -webkit-flex-shrink: 0; + -ms-flex-negative: 0; + flex-shrink: 0; } + +[fixed-scroll] { + overflow-x: auto; + padding-bottom: 0; } + [fixed-scroll] + .fixed-scroll-scroller { + position: fixed; + bottom: 0; + overflow-x: auto; + overflow-y: hidden; } + +.page-row { + padding: 0 16px; + margin: 16px 0; } + +.page-row-text { + color: #69707D; + font-size: 14px; } + +.euiComboBox input:focus { + -webkit-box-shadow: none; + box-shadow: none; } + +.fullWidth { + width: 100% !important; } + +.small { + font-size: 0.9em !important; } + +.smaller { + font-size: 0.8em !important; } + +.smallest { + font-size: 0.7em !important; } + +.text-monospace { + font-family: "Roboto Mono", Consolas, Menlo, Courier, monospace; } + +.control-group, navbar { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-flex: 0; + -webkit-flex: 0 0 auto; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; + -webkit-flex-wrap: wrap; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -webkit-box-align: stretch; + -webkit-align-items: stretch; + -ms-flex-align: stretch; + align-items: stretch; + padding: 4px 16px; } + .control-group > *, navbar > * { + padding-right: 16px; + -webkit-box-flex: 0; + -webkit-flex: 0 0 auto; + -ms-flex: 0 0 auto; + flex: 0 0 auto; } + .control-group > *:last-child, navbar > *:last-child { + padding-right: 0; } + .control-group .inline-form .input-group, navbar .inline-form .input-group { + margin-bottom: 0; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; } + .control-group .inline-form .input-group > *, navbar .inline-form .input-group > * { + border-radius: 0; } + .control-group .inline-form .input-group > :first-child, navbar .inline-form .input-group > :first-child { + border-bottom-left-radius: 4px; + border-top-left-radius: 4px; } + .control-group .inline-form .input-group > :last-child, navbar .inline-form .input-group > :last-child { + border-bottom-right-radius: 4px; + border-top-right-radius: 4px; } + .control-group .inline-form, navbar .inline-form { + -webkit-box-flex: 0; + -webkit-flex: 0 0 auto; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + display: flex; } + .control-group .inline-form > *, navbar .inline-form > * { + -webkit-flex-shrink: 0; + -ms-flex-negative: 0; + flex-shrink: 0; } + .control-group .inline-form > .typeahead, navbar .inline-form > .typeahead { + -webkit-box-flex: 1; + -webkit-flex: 1 1 auto; + -ms-flex: 1 1 auto; + flex: 1 1 auto; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; } + .control-group .inline-form > .typeahead > *, navbar .inline-form > .typeahead > * { + -webkit-flex-shrink: 0; + -ms-flex-negative: 0; + flex-shrink: 0; } + .control-group .inline-form > .typeahead > .input-group, navbar .inline-form > .typeahead > .input-group { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-flex: 1; + -webkit-flex: 1 0 auto; + -ms-flex: 1 0 auto; + flex: 1 0 auto; } + .control-group .inline-form > .typeahead > .input-group > *, navbar .inline-form > .typeahead > .input-group > * { + float: none; + height: auto; + width: auto; + -webkit-box-flex: 0; + -webkit-flex: 0 0 auto; + -ms-flex: 0 0 auto; + flex: 0 0 auto; } + .control-group .inline-form > .typeahead > .input-group input[type="text"], navbar .inline-form > .typeahead > .input-group input[type="text"] { + -webkit-box-flex: 1; + -webkit-flex: 1 1 100%; + -ms-flex: 1 1 100%; + flex: 1 1 100%; } + .control-group > .fill, navbar > .fill { + -webkit-box-flex: 1; + -webkit-flex: 1 1 1%; + -ms-flex: 1 1 1%; + flex: 1 1 1%; } + +.hintbox { + padding: 8px 12px; + border-radius: 4px; + margin-bottom: 8px; + background-color: #D3DAE6; + line-height: 1.5; } + .hintbox a { + color: #006BB4 !important; } + .hintbox a:hover { + color: #004d81 !important; } + .hintbox pre { + background-color: #FFF; } + .hintbox ul, .hintbox ol { + padding-left: 24px; } + .hintbox > * { + margin: 0; } + .hintbox > * + * { + margin-top: 8px; } + .hintbox .table-bordered { + border: 1px solid #D3DAE6; } + .hintbox .table-bordered > thead > tr > th, + .hintbox .table-bordered > thead > tr > td, + .hintbox .table-bordered > tbody > tr > th, + .hintbox .table-bordered > tbody > tr > td, + .hintbox .table-bordered > tfoot > tr > th, + .hintbox .table-bordered > tfoot > tr > td { + border: 1px solid #D3DAE6; } + .hintbox .table-bordered > thead > tr > th, + .hintbox .table-bordered > thead > tr > td { + border-bottom-width: 2px; } + +.hintbox-label, +.hintbox-label[ng-click] { + cursor: help; } + +i.input-error { + position: absolute; + margin-left: -24px; + color: #BD271E; + margin-top: 8px; + z-index: 5; } + +select { + color: #2D2D2D; + background-color: #FFF; } + +.theme-dark select { + color: #DDD; + background-color: #222; } + +.kuiFormSection { + margin-bottom: 16px; } + +.kuiFormLabel { + display: block; + margin-bottom: 5px; + font-weight: 700; } + +.kuiInputNote { + margin: 4px 0 8px; } + +.kuiInputNote--danger { + color: #BD271E; } + +.kuiInputNote--warning { + color: #F5A700; } + +.kuiSideBarInput, +.kuiSideBarSelect { + height: 24px; + width: 100%; + font-size: 12.0px; + padding: 0 16px; } + +.kuiSideBarInput { + display: block; + color: #2D2D2D; + border: 1px solid #D3DAE6; + border-radius: 4px; + padding-left: 4px; + padding-right: 4px; } + +.kuiSideBarSection { + margin-bottom: 8px; + background-color: #FFF; + padding: 8px; + border-radius: 4px; } + .kuiSideBarSection label { + font-weight: 700; + display: block; } + .kuiSideBarSection .vis-option-item label { + font-weight: 400 !important; } + +.kuiSideBarSection .kuiSideBarSection .kuiSideBarSection { + border-radius: 0; + border-left: solid 1px #3389c3; + margin-left: 3px; } + +.kuiSideBarSectionTitle { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-pack: justify; + -webkit-justify-content: space-between; + -ms-flex-pack: justify; + justify-content: space-between; + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; + margin-bottom: 8px; } + +.kuiSideBarSectionTitle__text { + font-size: 18.0px; + color: #343741; } + +.kuiSideBarSectionTitle__action { + background-color: transparent; + padding: 0; + cursor: pointer; + color: #006BB4; + border: none; } + .kuiSideBarSectionTitle__action:hover { + color: #004d81; } + +.kuiSideBarCollapsibleTitle { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: justify; + -webkit-justify-content: space-between; + -ms-flex-pack: justify; + justify-content: space-between; + width: 100%; + margin-bottom: 8px; } + +.kuiSideBarCollapsibleTitle__label { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; } + +.kuiSideBarCollapsibleTitle__caret { + width: 14px; + height: 14px; + font-size: 14px !important; + color: #006BB4; } + +.kuiSideBarCollapsibleTitle__text { + font-size: 14px; + color: #006BB4; } + +/** + * 1. Override Bootstrap button styles. + */ +.kuiSideBarCollapsibleTitle__action { + background-color: transparent; + padding: 0; + cursor: pointer; + color: #006BB4; + border: none; } + .kuiSideBarCollapsibleTitle__action:hover { + color: #004d81; } + +/** + * 1. Override Bootstrap h1 styles. + */ +.kuiSideBarFormSectionTitle { + font-size: 12px; + color: #69707D; + margin: 10px 0 !important; + padding-bottom: 2px; } + +.kuiSideBarFormRow { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; + min-height: 12px; + margin-bottom: 8px; } + +.kuiSideBarFormRow__label { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-flex: 1 !important; + -webkit-flex: 1 1 40% !important; + -ms-flex: 1 1 40% !important; + flex: 1 1 40% !important; + font-weight: 700; } + +.kuiSideBarFormRow__control { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-flex: 1; + -webkit-flex: 1 1 60%; + -ms-flex: 1 1 60%; + flex: 1 1 60%; } + +.list-group-menu.select-mode a { + outline: none; + color: #1a7abc; } + +.list-group-menu .list-group-menu-item { + list-style: none; + color: #1a7abc; } + .list-group-menu .list-group-menu-item.active { + font-weight: bold; + background-color: #D3DAE6; } + .list-group-menu .list-group-menu-item:hover { + background-color: #e6f0f8; } + .list-group-menu .list-group-menu-item li { + list-style: none; + color: #1a7abc; } + +.theme-dark .list-group-menu.select-mode a { + color: #4591ad; } + +.theme-dark .list-group-menu .list-group-menu-item { + color: #4591ad; } + .theme-dark .list-group-menu .list-group-menu-item.active { + background-color: #333; } + .theme-dark .list-group-menu .list-group-menu-item:hover { + background-color: #081013; } + .theme-dark .list-group-menu .list-group-menu-item li { + color: #4591ad; } + +navbar { + max-height: 340px; + margin-bottom: 0; + padding: 0 8px 4px; + color: #69707D; + background-color: #D3DAE6; + border: none; + z-index: 1000; } + navbar > * { + padding-right: 8px; } + navbar .navbar-text { + margin-top: 4px; + margin-bottom: 4px; } + navbar > .name { + max-width: 100%; + /* 1 */ + overflow: hidden !important; + text-overflow: ellipsis !important; + white-space: nowrap !important; + word-wrap: normal !important; + /* 2 */ + -webkit-align-self: center; + -ms-flex-item-align: center; + align-self: center; + font-size: 18.0px; } + navbar button { + color: #69707D; + background-color: transparent; } + navbar button:hover, navbar button:focus { + color: #69707D; + background-color: transparent; } + navbar button:active, navbar button.active { + color: #343741; + background-color: transparent; + -webkit-box-shadow: none; + box-shadow: none; } + navbar button:active:focus, navbar button.active:focus { + outline: none; } + navbar button[disabled] { + color: #98A2B3; + background-color: transparent; } + navbar .inline-form .input-group button { + color: #FFF; + background-color: #69707D; + border: none; } + @media only screen and (min-width: 992px) and (max-width: 1199px) { + navbar > .name { + max-width: 500px; } } + @media only screen and (min-width: 1200px) { + navbar > .name { + max-width: 500px; } } + @media only screen and (max-width: 574px) { + navbar > .fill { + -webkit-box-flex: 1; + -webkit-flex: 1 1 992px; + -ms-flex: 1 1 992px; + flex: 1 1 992px; } } + @media only screen and (min-width: 575px) and (max-width: 767px) { + navbar > .fill { + -webkit-box-flex: 1; + -webkit-flex: 1 1 992px; + -ms-flex: 1 1 992px; + flex: 1 1 992px; } } + @media only screen and (min-width: 768px) and (max-width: 991px) { + navbar > .fill { + -webkit-box-flex: 1; + -webkit-flex: 1 1 992px; + -ms-flex: 1 1 992px; + flex: 1 1 992px; } } + @media only screen and (max-width: 574px) { + navbar > .name { + max-width: 100%; } } + @media only screen and (min-width: 575px) and (max-width: 767px) { + navbar > .name { + max-width: 100%; } } + +.config { + border-bottom: 1px solid transparent; } + .config .container-fluid { + background-color: #fafbfd; + padding: 8px; } + +.theme-dark .config .container-fluid { + background-color: #242424; } + +paginate { + display: block; } + paginate paginate-controls { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; + padding: 4px 4px 8px; + text-align: center; } + paginate paginate-controls .pagination-other-pages { + -webkit-box-flex: 1; + -webkit-flex: 1 0 auto; + -ms-flex: 1 0 auto; + flex: 1 0 auto; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-pack: center; + -webkit-justify-content: center; + -ms-flex-pack: center; + justify-content: center; } + paginate paginate-controls .pagination-other-pages-list { + -webkit-box-flex: 0; + -webkit-flex: 0 0 auto; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-pack: center; + -webkit-justify-content: center; + -ms-flex-pack: center; + justify-content: center; + padding: 0; + margin: 0; + list-style: none; } + paginate paginate-controls .pagination-other-pages-list > li { + -webkit-box-flex: 0; + -webkit-flex: 0 0 auto; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; } + paginate paginate-controls .pagination-other-pages-list > li a { + text-decoration: none; + background-color: #F5F7FA; + margin-left: 2px; + padding: 8px 12px; } + paginate paginate-controls .pagination-other-pages-list > li a:hover { + text-decoration: underline; } + paginate paginate-controls .pagination-other-pages-list > li.active a { + text-decoration: none !important; + font-weight: 700; + color: #69707D; + cursor: default; } + paginate paginate-controls .pagination-size { + -webkit-box-flex: 0; + -webkit-flex: 0 0 auto; + -ms-flex: 0 0 auto; + flex: 0 0 auto; } + paginate paginate-controls .pagination-size input[type=number] { + width: 3em; } + +.theme-dark paginate paginate-controls .pagination-other-pages-list > li a { + background-color: #242424; + color: #DDD; } + +.theme-dark paginate paginate-controls .pagination-other-pages-list > li.active a { + color: #8A8A8A; } + +.input-range__slider { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + background: #006BB4; + border: 1px solid #006BB4; + border-radius: 100%; + cursor: pointer; + display: block; + height: 1rem; + margin-left: -0.5rem; + margin-top: -0.65rem; + outline: none; + position: absolute; + top: 50%; + -webkit-transition: -webkit-transform 0.3s ease-out, -webkit-box-shadow 0.3s ease-out; + transition: -webkit-transform 0.3s ease-out, -webkit-box-shadow 0.3s ease-out; + transition: transform 0.3s ease-out, box-shadow 0.3s ease-out; + transition: transform 0.3s ease-out, box-shadow 0.3s ease-out, -webkit-transform 0.3s ease-out, -webkit-box-shadow 0.3s ease-out; + width: 1rem; } + .input-range__slider:active { + -webkit-transform: scale(1.3); + transform: scale(1.3); } + .input-range__slider:focus { + -webkit-animation: 350ms cubic-bezier(0.694, 0.0482, 0.335, 1) 1 normal forwards focusRingAnimateLarge; + animation: 350ms cubic-bezier(0.694, 0.0482, 0.335, 1) 1 normal forwards focusRingAnimateLarge; } + +.input-range--disabled .input-range__slider { + background: #D3DAE6; + border: 1px solid #D3DAE6; + -webkit-box-shadow: none; + box-shadow: none; + -webkit-transform: none; + transform: none; } + +.input-range__slider-container { + -webkit-transition: left 0.3s ease-out; + transition: left 0.3s ease-out; } + +.input-range__label { + color: #98A2B3; + font-size: 0.8rem; + -webkit-transform: translateZ(0); + transform: translateZ(0); + white-space: nowrap; } + +.input-range__label--min, +.input-range__label--max { + bottom: -1.4rem; + position: absolute; } + +.input-range__label--min { + left: 0; } + +.input-range__label--max { + right: 0; } + +.input-range__label--value { + position: absolute; + top: -1.8rem; } + +.input-range__label-container { + left: -50%; + position: relative; } + +.input-range__label--max .input-range__label-container { + left: 50%; } + +.input-range__track { + background: #D3DAE6; + border-radius: 0.3rem; + cursor: pointer; + display: block; + height: 0.3rem; + position: relative; + -webkit-transition: left 0.3s ease-out, width 0.3s ease-out; + transition: left 0.3s ease-out, width 0.3s ease-out; } + +.input-range--disabled .input-range__track { + background: #D3DAE6; } + +.input-range__track--background { + left: 0; + margin-top: -0.15rem; + position: absolute; + right: 0; + top: 50%; } + +.input-range__track--active { + background: #006BB4; } + +.input-range { + margin: 0 8px; + position: relative; + width: calc(100% - 16px); } + +.theme-dark .input-range__track { + background: #333; } + +.theme-dark .input-range__slider { + background: #4DA1C0; + border-color: #4DA1C0; } + +.theme-dark .input-range__track--active { + background: #4DA1C0; } + +.theme-dark .input-range__label { + color: #8A8A8A; } + +.sidebar-container { + padding-left: 0px !important; + padding-right: 0px !important; + background-color: #F5F7FA; + border-right-color: transparent; + border-bottom-color: transparent; } + .sidebar-container .sidebar-well { + background-color: #e6f0f8; } + .sidebar-container .sidebar-list .sidebar-controls { + border-radius: 4px; + margin-right: -13px; + margin-top: 2px; } + .sidebar-container .sidebar-list .sidebar-controls .navbar-btn-link { + padding-left: 8px; + padding-right: 8px; } + .sidebar-container .sidebar-list .sidebar-controls .sidebar-controls-error { + cursor: default; } + .sidebar-container .sidebar-list ul { + list-style: none; + margin-bottom: 0; } + .sidebar-container .sidebar-list .sidebar-item { + border-top-color: transparent; + font-size: 12.0px; + border-top: solid 1px transparent; + border-bottom: solid 1px transparent; + line-height: normal; } + .sidebar-container .sidebar-list .sidebar-item label { + margin-bottom: 4px; + font-weight: 700; + display: block; } + .sidebar-container .sidebar-list .sidebar-item label[for] { + cursor: pointer; } + .sidebar-container .sidebar-list .sidebar-item.active { + background-color: #dddee1; + color: #343741; + border-color: #D3DAE6; } + .sidebar-container .sidebar-list .sidebar-item-title, + .sidebar-container .sidebar-list .sidebar-item-text { + margin: 0; + padding: 4px 8px; + text-align: center; + width: 100%; + border: none; + border-radius: 0; } + .sidebar-container .sidebar-list .sidebar-item-title { + max-width: 100%; + /* 1 */ + overflow: hidden !important; + text-overflow: ellipsis !important; + white-space: nowrap !important; + word-wrap: normal !important; + /* 2 */ + text-align: left; } + .sidebar-container .sidebar-list .sidebar-item-title.full-title { + white-space: normal; } + .sidebar-container .sidebar-list .sidebar-item-text { + background: #FFF; } + .sidebar-container .sidebar-list-header { + padding-left: 8px; + padding-right: 8px; + color: #69707D; + border: 1px solid transparent; } + .sidebar-container .sidebar-list-header .sidebar-list-header-label { + font-size: 14px; + line-height: 1.5; } + .sidebar-container .index-pattern { + font-weight: 700; + padding: 4px 8px; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-pack: justify; + -webkit-justify-content: space-between; + -ms-flex-pack: justify; + justify-content: space-between; + background-color: #002b48; + color: #FFF; + line-height: 24px; } + .sidebar-container .index-pattern .index-pattern-label { + font-size: 14px; + font-weight: 700; + margin: 0; } + .sidebar-container .index-pattern > * { + -webkit-box-flex: 0; + -webkit-flex: 0 1 auto; + -ms-flex: 0 1 auto; + flex: 0 1 auto; + -webkit-align-self: center; + -ms-flex-item-align: center; + align-self: center; } + .sidebar-container .index-pattern-selection .ui-select-toggle { + border-radius: 0; } + .sidebar-container .index-pattern-selection .ui-select-choices { + width: auto; + max-height: 300px; } + +.spinner.ng-hide { + visibility: hidden; + display: block !important; + opacity: 0; + -webkit-transition-delay: 0.25s; + transition-delay: 0.25s; } + +.theme-dark .spinner > div { + background-color: #FFF; } + +.table .table { + background-color: #FFF; } + +kbn-table, .kbn-table, tbody[kbn-rows] { + /** + * 1. Use alpha so this will stand out against non-white backgrounds, e.g. the highlighted + * row in the Context Log. + */ } + kbn-table .table .table, .kbn-table .table .table, tbody[kbn-rows] .table .table { + margin-bottom: 0; } + kbn-table .table .table tr:first-child > td, .kbn-table .table .table tr:first-child > td, tbody[kbn-rows] .table .table tr:first-child > td { + border-top: none; } + kbn-table .table .table td.field-name, .kbn-table .table .table td.field-name, tbody[kbn-rows] .table .table td.field-name { + font-weight: 700; } + kbn-table dl.source, .kbn-table dl.source, tbody[kbn-rows] dl.source { + margin-bottom: 0; + line-height: 2em; + word-break: break-all; + word-break: break-word; } + kbn-table dl.source dt, kbn-table dl.source dd, .kbn-table dl.source dt, .kbn-table dl.source dd, tbody[kbn-rows] dl.source dt, tbody[kbn-rows] dl.source dd { + display: inline; } + kbn-table dl.source dt, .kbn-table dl.source dt, tbody[kbn-rows] dl.source dt { + background-color: rgba(0, 86, 144, 0.1); + color: #2D2D2D; + padding: 2px 4px; + margin-right: 4px; + font-family: "Roboto Mono", Consolas, Menlo, Courier, monospace; + word-break: normal; + border-radius: 4px; } + +table th i.fa-sort { + color: #D3DAE6; } + +table th button.fa-sort-asc, +table th button.fa-sort-down, +table th i.fa-sort-asc, +table th i.fa-sort-down { + color: #D3DAE6; } + +table th button.fa-sort-desc, +table th button.fa-sort-up, +table th i.fa-sort-desc, +table th i.fa-sort-up { + color: #D3DAE6; } + +.theme-dark kbn-table dl.source dt, .theme-dark .kbn-table dl.source dt, .theme-dark tbody[kbn-rows] dl.source dt { + background-color: rgba(184, 217, 230, 0.2); + color: #DDD; } + +.truncate-by-height { + overflow: hidden; } + +/** + * 1. Override Bootstrap ui-select component styles. If side padding is > 5px, the component breaks. + */ +.ui-select-multiple.ui-select-bootstrap { + padding: 3px 5px 2px !important; + border: 1px solid #D3DAE6; + background-color: #FFF; } + .ui-select-multiple.ui-select-bootstrap.kuiInputError { + border-color: #BD271E; } + +.ui-select-bootstrap .ui-select-choices-row.active > span { + background-color: #006BB4 !important; } + +.ui-select-bootstrap > .ui-select-choices, .ui-select-bootstrap > .ui-select-no-choice { + margin-top: 2px !important; } + +/** + * 1. Fix appearance of ui-select in the Filtering UI. + */ +.btn-default .ui-select-placeholder { + color: #b3d3e9; + /* 1 */ } + +/** +* 1. Make ui-select input match other inputs. +*/ +.ui-select-match .btn { + border: 1px solid #D3DAE6; + /* 1 */ + background-color: #FFF; + /* 1 */ + color: #343741; + /* 1 */ } + .ui-select-match .btn .ui-select-placeholder { + color: #98A2B3; + /* 1 */ + padding-right: 1em; + /* 1 */ } + .ui-select-match .btn:focus { + outline: none; } + .ui-select-match .btn:active { + background-color: #FFF; + /* 1 */ + color: #343741; + /* 1 */ } + +.ui-select-match.btn-default-focus { + -webkit-box-shadow: none; + box-shadow: none; + outline: none; } + .ui-select-match.btn-default-focus .btn { + border-color: #006BB4; } + +.uiSelectMatch--ellipsis { + max-width: 100%; + /* 1 */ + overflow: hidden !important; + text-overflow: ellipsis !important; + white-space: nowrap !important; + word-wrap: normal !important; + /* 2 */ } + +.kbnUiAceKeyboardHint { + position: absolute; + top: 0; + bottom: 0; + right: 0; + left: 0; + background: rgba(255, 255, 255, 0.7); + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + -webkit-box-pack: center; + -webkit-justify-content: center; + -ms-flex-pack: center; + justify-content: center; + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; + text-align: center; + opacity: 0; } + .kbnUiAceKeyboardHint:focus { + opacity: 1; + border: 2px solid #006BB4; + z-index: 1000; } + .kbnUiAceKeyboardHint.kbnUiAceKeyboardHint-isInactive { + display: none; } + +kbn-agg-table, +kbn-agg-table-group { + display: block; } + +.kbnAggTable { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-flex: 1; + -webkit-flex: 1 1 auto; + -ms-flex: 1 1 auto; + flex: 1 1 auto; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; } + +.kbnAggTable__paginated { + -webkit-box-flex: 1; + -webkit-flex: 1 1 auto; + -ms-flex: 1 1 auto; + flex: 1 1 auto; + overflow: auto; } + .kbnAggTable__paginated th { + text-align: left; + font-weight: 700; } + .kbnAggTable__paginated tr:hover td, + .kbnAggTable__paginated .kbnTableCellFilter { + background-color: #F5F7FA; } + +.kbnAggTable__controls { + -webkit-box-flex: 0; + -webkit-flex: 0 0 auto; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; + margin: 8px 4px; } + .kbnAggTable__controls > paginate-controls { + -webkit-box-flex: 1; + -webkit-flex: 1 0 auto; + -ms-flex: 1 0 auto; + flex: 1 0 auto; + margin: 0; + padding: 0; } + +.theme-dark .kbnAggTable__paginated tr:hover td, +.theme-dark .kbnAggTable__paginated .kbnTableCellFilter { + background-color: #242424; } + +/** + * stretch the root element of the Kibana application to set the base-size that + * flexed children should keep. Only works when paired with root styles applied + * by core service from new platform + */ +#kibana-body { + overflow-x: hidden; + min-height: 100%; } + +.app-wrapper { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-flow: column nowrap; + -ms-flex-flow: column nowrap; + flex-flow: column nowrap; + position: absolute; + left: 53px; + top: 0; + right: 0; + bottom: 0; + z-index: 5; + margin: 0 auto; + /** + * 1. Dirty, but we need to override the .kbnGlobalNav-isOpen state + * when we're looking at the log-in screen. + */ } + .app-wrapper.hidden-chrome { + left: 0 !important; + /* 1 */ } + .app-wrapper .navbar-right { + margin-right: 0; } + +.app-wrapper-panel { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-flex: 1; + -webkit-flex-grow: 1; + -ms-flex-positive: 1; + flex-grow: 1; + -webkit-flex-shrink: 0; + -ms-flex-negative: 0; + flex-shrink: 0; + -webkit-flex-basis: auto; + -ms-flex-preferred-size: auto; + flex-basis: auto; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; } + .app-wrapper-panel > * { + -webkit-flex-shrink: 0; + -ms-flex-negative: 0; + flex-shrink: 0; } + +/** + * 1. Position this loader on top of the content. + * 2. Make sure indicator isn't wider than the screen. + */ +.kbnLoadingIndicator { + position: fixed; + top: 0; + left: 0; + right: 0; + z-index: 1000; + overflow: hidden; + height: 2px; } + .kbnLoadingIndicator.hidden { + visibility: hidden; + opacity: 0; + -webkit-transition-delay: 0.25s; + transition-delay: 0.25s; } + +.kbnLoadingIndicator__bar { + top: 0; + left: 0; + right: 0; + bottom: 0; + position: absolute; + z-index: 1001; + visibility: visible; + display: block; + -webkit-animation: kbn-animate-loading-indicator 2s linear infinite; + animation: kbn-animate-loading-indicator 2s linear infinite; + background-color: #f19dc7; + background-image: -webkit-gradient(linear, left top, right top, from(#e22f88), color-stop(50%, #e22f88), color-stop(50%, #f19dc7), to(#f19dc7)); + background-image: linear-gradient(to right, #e22f88 0%, #e22f88 50%, #f19dc7 50%, #f19dc7 100%); + background-repeat: repeat-x; + background-size: 400px 400px; + width: 200%; } + +@-webkit-keyframes kbn-animate-loading-indicator { + from { + -webkit-transform: translateX(0); + transform: translateX(0); } + to { + -webkit-transform: translateX(-400px); + transform: translateX(-400px); } } + +@keyframes kbn-animate-loading-indicator { + from { + -webkit-transform: translateX(0); + transform: translateX(0); } + to { + -webkit-transform: translateX(-400px); + transform: translateX(-400px); } } + +.kbnGlobalNav { + width: 53px; + position: fixed; + left: 0; + top: 0; + bottom: 0; + z-index: 0; + background-color: #005571; + overflow: hidden; + z-index: 5; } + .kbnGlobalNav.kbnGlobalNav-isOpen { + width: 180px; } + .kbnGlobalNav.kbnGlobalNav-isOpen + .app-wrapper { + left: 180px; } + .kbnGlobalNav .kbnGlobalNav__smallLogoBrand, + .kbnGlobalNav .kbnGlobalNav__logoBrand { + height: 70px; + width: 180px; + list-style-type: none; } + +/** + * 1. Push main apps to the top and bottom buttons to the bottom. + * 2. Fill height of global nav, but respect the height of the logo. + * 3. Allow user to scroll to see clipped nav items when the nav is too short. + * 4. Style the scrollbar to look good in Chrome and Safari. + */ +.kbnGlobalNav__links { + scrollbar-width: thin; + /* 4 */ + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + /* 1 */ + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + /* 1 */ + -webkit-box-pack: justify; + -webkit-justify-content: space-between; + -ms-flex-pack: justify; + justify-content: space-between; + /* 1 */ + height: calc(100% - 70px); + /* 2 */ + overflow-x: hidden; + /* 3 */ + overflow-y: auto; + /* 3 */ } + .kbnGlobalNav__links::-webkit-scrollbar { + width: 16px; + height: 16px; } + .kbnGlobalNav__links::-webkit-scrollbar-thumb { + background-color: rgba(105, 112, 125, 0.5); + border: 6px solid transparent; + background-clip: content-box; } + .kbnGlobalNav__links::-webkit-scrollbar-corner, .kbnGlobalNav__links::-webkit-scrollbar-track { + background-color: transparent; } + .kbnGlobalNav__links::-webkit-scrollbar { + /* 4 */ + width: 8px; + height: 8px; } + .kbnGlobalNav__links::-webkit-scrollbar-thumb { + /* 4 */ + background-color: #80aab8; } + +/** + * 1. Prevent the top and bottom links from collapsing when the browser window is too short. + * This problem is specific to Safari. + */ +.kbnGlobalNav__linksSection { + -webkit-box-flex: 0; + -webkit-flex: 0 0 auto; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + /* 1 */ } + +.kbnGlobalNav__logoLink { + display: inline-block; } + .kbnGlobalNav__logoLink:hover { + background-color: #00465d; } + +.kbnGlobalNavLink:hover { + background-color: #00465d; } + +.kbnGlobalNavLink.active { + background-color: #FF7A20; } + +.kbnGlobalNavLink:focus { + -webkit-box-shadow: none !important; + box-shadow: none !important; + background-color: #0065aa; } + +.kbnGlobalNavLink { + position: relative; + width: 53px; + height: 44px; + line-height: 24px; } + .kbnGlobalNavLink.kbnGlobalNavLink-isDisabled { + opacity: 0.5; } + .kbnGlobalNavLink.kbnGlobalNavLink-isDisabled .kbnGlobalNavLink__anchor { + cursor: default; } + .kbnGlobalNavLink.active .kbnGlobalNavLink__anchor { + color: #FFF; + text-decoration: none; } + +.kbnGlobalNav-isOpen .kbnGlobalNavLink { + width: 180px; } + +.kbnGlobalNavLink__anchor { + display: block; + height: 100%; + color: #FFF; + width: 100%; + line-height: inherit; } + +.kbnGlobalNavLink__icon { + display: inline-block; + width: 53px; + height: 44px; + line-height: 42px; + text-align: center; } + +/** + * This image is used to display the icon. + */ +.kbnGlobalNavLink__iconImage { + height: 18px; + margin-top: 8px; } + +.kbnGlobalNavLink__euiIcon svg { + width: 20px; + height: 20px; } + +.kbnGlobalNavLink__euiIcon .euiIcon--app .euiIcon__fillSecondary { + fill: #FFF; } + +/** + * This placeholder text gets shown if there is no specified icon. + */ +.kbnGlobalNavLink__iconPlaceholder { + line-height: 44px; + background-position: center; + background-size: contain; + background-repeat: no-repeat; } + +.kbnGlobalNavLink__title { + max-width: 100%; + /* 1 */ + overflow: hidden !important; + text-overflow: ellipsis !important; + white-space: nowrap !important; + word-wrap: normal !important; + /* 2 */ + display: none; + width: 124px; + float: right; + font-size: 0.9em; + text-align: left; + padding-left: 3px; + padding-right: 3px; + line-height: 44px; } + .kbnGlobalNav-isOpen .kbnGlobalNavLink__title { + display: inline-block; } + +.kbnGlobalNavLink--close { + /** + * 1. Translation accounts for the icon image being slightly off-center. + */ } + .kbnGlobalNavLink--close .kbnGlobalNavLink__icon { + -webkit-transform: translateX(1px) scaleX(-1); + transform: translateX(1px) scaleX(-1); + /* 1 */ } + +.header-global-wrapper { + width: 100%; + position: fixed; + top: 0; + z-index: 10; } + +.header-global-wrapper + .app-wrapper { + top: 65px; + left: 0; } + .header-global-wrapper + .app-wrapper .euiFlyout { + top: 65px; } + +@media only screen and (max-width: 574px) { + .header-global-wrapper + .app-wrapper { + top: 50px; } + .header-global-wrapper + .app-wrapper .euiFlyout { + top: 50px; } } + +@media only screen and (min-width: 575px) and (max-width: 767px) { + .header-global-wrapper + .app-wrapper { + top: 50px; } + .header-global-wrapper + .app-wrapper .euiFlyout { + top: 50px; } } + +/** + * 1. The local nav contains tooltips which should pop over the filter bar. + * 2. The filter and local nav components should always appear above the dashboard grid items. + * 3. The filter and local nav components should always appear above the discover content. + * 4. The sidebar collapser button should appear above the main Discover content but below the top elements. + * 5. Dragged panels in dashboard should always appear above other panels. + */ +/* 1 */ +/* 1 */ +/* 2 */ +/* 5 */ +/* 3 */ +/* 4 */ +.collapsible-sidebar { + position: relative; + z-index: 2; } + .collapsible-sidebar .kbnCollapsibleSidebar__collapseButton { + position: absolute; + top: 0; + right: -21px; + cursor: pointer; + z-index: -1; } + .collapsible-sidebar.closed { + width: 0 !important; + border-right-width: 0; + border-left-width: 0; } + .collapsible-sidebar.closed > * { + visibility: hidden; } + .collapsible-sidebar.closed .kbnCollapsibleSidebar__collapseButton { + visibility: visible; } + .collapsible-sidebar.closed .kbnCollapsibleSidebar__collapseButton .chevron-cont:before { + content: "\F138"; } + +@media only screen and (max-width: 574px) { + .collapsible-sidebar.closed { + display: none; } + .collapsible-sidebar .kbnCollapsibleSidebar__collapseButton { + display: none; } } + +@media only screen and (min-width: 575px) and (max-width: 767px) { + .collapsible-sidebar.closed { + display: none; } + .collapsible-sidebar .kbnCollapsibleSidebar__collapseButton { + display: none; } } + +@media only screen and (min-width: 768px) and (max-width: 991px) { + .collapsible-sidebar.closed { + display: none; } + .collapsible-sidebar .kbnCollapsibleSidebar__collapseButton { + display: none; } } + +.kbnTableCellFilter__hover { + position: relative; + /** + * 1. Center vertically regardless of row height. + */ } + .kbnTableCellFilter__hover .kbnTableCellFilter { + position: absolute; + white-space: nowrap; + right: 0; + top: 50%; + /* 1 */ + -webkit-transform: translateY(-50%); + transform: translateY(-50%); + /* 1 */ + display: none; } + .kbnTableCellFilter__hover:hover .kbnTableCellFilter { + display: inline; } + .kbnTableCellFilter__hover:hover .kbnTableCellFilter__hover-show { + visibility: visible; } + +.kbnTableCellFilter__hover-show { + visibility: hidden; } + +.input-datetime-format { + font-size: 12.0px; + color: #98A2B3; + padding: 4px 16px; } + +/** + * 1. Stack content vertically so the table can scroll when its constrained by a fixed container height. + */ +doc-table { + overflow: auto; + -webkit-box-flex: 1; + -webkit-flex: 1 1 100%; + -ms-flex: 1 1 100%; + flex: 1 1 100%; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + /* 1 */ } + doc-table th { + text-align: left; + font-weight: bold; } + doc-table .spinner { + position: absolute; + top: 40%; + left: 0; + right: 0; + z-index: 1000; + opacity: 0.5; } + +.kbnDocTable__container.loading { + opacity: 0.5; } + +.kbnDocTable { + font-size: 12.0px; } + .kbnDocTable th { + white-space: nowrap; + padding-right: 8px; } + .kbnDocTable th .fa { + font-size: 1.1em; } + +.kbnDocTable__row td { + position: relative; } + .kbnDocTable__row td:hover .kbnDocTableRowFilterButton { + opacity: 1; } + +.kbnDocTable__row--highlight td, +.kbnDocTable__row--highlight .kbnDocTableRowFilterButton { + background-color: #e6f0f8; } + +.kbnDocTable__bar { + margin: 4px 4px 0; } + +.kbnDocTable__error { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + -webkit-box-pack: center; + -webkit-justify-content: center; + -ms-flex-pack: center; + justify-content: center; + -webkit-box-flex: 1; + -webkit-flex: 1 0 100%; + -ms-flex: 1 0 100%; + flex: 1 0 100%; + text-align: center; } + +.kbnDocTableHeader__move, +.kbnDocTableHeader__sortChange { + opacity: 0; } + th:hover .kbnDocTableHeader__move, .kbnDocTableHeader__move:focus, th:hover + .kbnDocTableHeader__sortChange, + .kbnDocTableHeader__sortChange:focus { + opacity: 1; } + +.kbnDocTableCell__dataField { + white-space: pre-wrap; } + +.kbnDocTableCell__filter { + position: absolute; + white-space: nowrap; + right: 0; } + +/** + * 1. Align icon with text in cell. + * 2. Use opacity to make this element accessible to screen readers and keyboard. + * 3. Show on focus to enable keyboard accessibility. + */ +.kbnDocTableRowFilterButton { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + background-color: #FFF; + border: none; + padding: 0 4px; + font-size: 14px; + line-height: 1; + /* 1 */ + display: inline-block; + opacity: 0; + /* 2 */ } + .kbnDocTableRowFilterButton:focus { + opacity: 1; + /* 3 */ } + +.theme-dark .kbnDocTableRowFilterButton { + background-color: #222; } + +/** + * 1. Visually align the actions with the tabs. We can improve this by using flexbox instead, at a later point. + */ +.kbnDocTableDetails__actions { + float: right; + padding-top: 8px; + /* 1 */ } + +/** + * 1. When switching between open and closed, the toggle changes size + * slightly which is a problem because it forces the entire table to + * re-render which is SLOW. + */ +.kbnDocTableOpen__button { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + background-color: transparent; + padding: 0; + border: none; + width: 14px; + /* 1 */ + height: 14px; } + +.kbnDocViewer pre, +.kbnDocViewer .kbnDocViewer__value { + display: inline-block; + word-break: break-all; + word-wrap: break-word; + white-space: pre-wrap; } + +.kbnDocViewer td, +.kbnDocViewer pre { + font-family: "Roboto Mono", Consolas, Menlo, Courier, monospace; } + +.kbnDocViewer tr:first-child td { + border-top-color: transparent; } + +.kbnDocViewer__content { + background-color: #FFF; + padding: 8px 0 0 0; } + +.kbnDocViewer__buttons, +.kbnDocViewer__field { + white-space: nowrap; } + +.theme-dark .kbnDocViewer__content { + background-color: #222; } + +.kbnError--multi-allow-explicit-index { + padding: 24px; } + +.kbnError--auto-create-index { + padding: 24px; } + +.kbnError--url-overflow-app { + padding: 24px; } + +.dshExitFullScreenButton { + text-align: center; + width: 100%; + height: 0; + bottom: 0; + position: absolute; } + +/** + * 1. override the z-index: 1 applied to all non-eui elements that are in :focus via kui + * - see packages/kbn-ui-framework/src/global_styling/reset/_reset.scss + */ +.dshExitFullScreenButton__mode { + height: 40px; + left: 0; + bottom: 0; + position: fixed; + display: block; + padding: 0; + border: none; + background: none; + z-index: 5; } + .dshExitFullScreenButton__mode:hover, .dshExitFullScreenButton__mode:focus { + -webkit-transition: all 500ms cubic-bezier(0.694, 0.0482, 0.335, 1); + transition: all 500ms cubic-bezier(0.694, 0.0482, 0.335, 1); + z-index: 10 !important; + /* 1 */ } + .dshExitFullScreenButton__mode:hover .dshExitFullScreenButton__text, .dshExitFullScreenButton__mode:focus .dshExitFullScreenButton__text { + -webkit-transition: all 250ms cubic-bezier(0.694, 0.0482, 0.335, 1); + transition: all 250ms cubic-bezier(0.694, 0.0482, 0.335, 1); + -webkit-transform: translateX(-16px); + transform: translateX(-16px); } + +.dshExitFullScreenButton__logo { + display: block; + background-color: #005087; + height: 40px; + background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 147 51' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23FFF' fill-rule='evenodd'%3E%3Cpath d='m59.3 36.99v-6.7l2.1-0.2 4 7h4.1l-5-8.8 4.8-7.7h-4l-3.9 6.4-2 0.2v-13.6h-3.6v23.4h3.5zm13 0h3.6v-16.5h-3.6v16.5zm0-19.3h3.6v-3.8h-3.6v3.8zm15.7 2.5c-1.9 0-4.1 1-4.1 1v-7.5h-3.6v23.4s4.3 0.4 6 0.4c5.9 0 8.1-2 8.1-8.9 0-6.2-1.9-8.4-6.4-8.4zm-1.7 14c-0.7 0-2.5-0.1-2.5-0.1v-10s1.9-0.7 3.7-0.7c2.2 0 3.2 1.5 3.2 5.2 0 4-0.7 5.6-4.4 5.6zm23.9-8.6c0-3.8-1.7-5.5-5.7-5.5-3 0-6.6 0.9-6.6 0.9l0.1 2.5s4-0.3 6.2-0.3c1.6 0 2.4 0.6 2.4 2.4v1.2l-4.3 0.4c-3.5 0.3-5.5 1.5-5.5 5 0 3.4 1.7 5.3 4.9 5.3 2.7 0 5.3-1.2 5.3-1.2 1.2 1 2.4 1.2 4.4 1.2l0.1-2.7c-1-0.1-1.4-0.5-1.5-1.5l0.2-7.7zm-3.6 3.7v4.4s-2.2 0.7-4.1 0.7c-1.4 0-2-0.9-2-2.4s0.8-2.2 2.3-2.3l3.8-0.4zm11.7 7.7v-12.8s1.8-0.9 3.7-0.9c2.5 0 2.9 1.6 2.9 4.9v8.8h3.6v-8.9c0-5.4-1.1-8-5.7-8-2.1 0-4.6 1.4-4.6 1.4v-1h-3.6v16.5h3.7zm26.6-11.4c0-3.8-1.7-5.5-5.7-5.5-3 0-6.6 0.9-6.6 0.9l0.1 2.5s4-0.3 6.2-0.3c1.6 0 2.4 0.6 2.4 2.4v1.2l-4.3 0.4c-3.5 0.3-5.5 1.5-5.5 5 0 3.4 1.7 5.3 4.9 5.3 2.7 0 5.3-1.2 5.3-1.2 1.2 1 2.4 1.2 4.4 1.2l0.1-2.7c-1-0.1-1.4-0.5-1.5-1.5l0.2-7.7zm-3.6 3.7v4.4s-2.2 0.7-4.1 0.7c-1.4 0-2-0.9-2-2.4s0.8-2.2 2.3-2.3l3.8-0.4z' fill-rule='nonzero'/%3E%3Cpath d='m0.75002 23.052c6.9088 0 13.402-2.3515 19.066 0.6639l20.184-23.716h-40v47l-1.9774e-14 -25.287c0.25047-0.0054307 0.49816-0.019007 0.75002-0.019007v1.3577z' opacity='.7'/%3E%3Cpath d='m3.9602e-14 44.578l-3.9602e-14 6.4223h40c-2.2378-11.667-9.8136-21.496-20.158-27l-19.842 20.578z' opacity='.7'/%3E%3Cpath d='m3.9035e-14 44.579l-3.9035e-14 6.4209h7.0209l18.979-22.652s-1.2608-1.0527-3.0476-2.2888c-1.3665-0.96307-3.3951-2.0593-3.3951-2.0593l-19.557 20.579z' opacity='.5'/%3E%3Cpath d='m0.75697 19c-0.2542 0-0.50418 0.013566-0.75697 0.018993v27.981l20-23.267c-5.7173-3.0131-12.27-4.7334-19.243-4.7334'/%3E%3C/g%3E%3C/svg%3E%0A"); + width: 92px; + background-position: 8px 5px; + background-size: 72px 30px; + background-repeat: no-repeat; + z-index: 1000; } + +/** + * 1. Calc made to allow caret in text to peek out / animate. + */ +.dshExitFullScreenButton__text { + background: #006BB4; + color: #FFF; + line-height: 40px; + display: inline-block; + height: 40px; + position: absolute; + left: calc(100% + 16px); + /* 1 */ + top: 0px; + bottom: 0px; + white-space: nowrap; + padding: 0px 8px 0px 12px; + -webkit-transition: all .2s ease; + transition: all .2s ease; + -webkit-transform: translateX(-100%); + transform: translateX(-100%); + z-index: -1; } + +.kbnFieldFormatEditor__samples audio { + max-width: 100%; } + +.kbnInspectorView--flex { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; } + +.kbnMarkdown__body { + -ms-text-size-adjust: 100%; + -webkit-text-size-adjust: 100%; + line-height: 1.5; + color: #2D2D2D; + word-wrap: break-word; } + .kbnMarkdown__body::before { + display: table; + content: ""; } + .kbnMarkdown__body::after { + display: table; + clear: both; + content: ""; } + .kbnMarkdown__body > *:first-child { + margin-top: 0 !important; } + .kbnMarkdown__body > *:last-child { + margin-bottom: 0 !important; } + .kbnMarkdown__body a { + background-color: transparent; + -webkit-text-decoration-skip: objects; + color: #006BB4; + text-decoration: none; } + .kbnMarkdown__body a:active, .kbnMarkdown__body a:hover { + color: #004d81; + text-decoration: underline; + outline-width: 0; } + .kbnMarkdown__body a:not([href]) { + color: inherit; + text-decoration: none; } + .kbnMarkdown__body strong { + font-weight: 700; } + .kbnMarkdown__body img { + border-style: none; + max-width: 100%; + -webkit-box-sizing: content-box; + box-sizing: content-box; + background-color: #FFF; } + .kbnMarkdown__body svg:not(:root) { + overflow: hidden; } + .kbnMarkdown__body hr { + -webkit-box-sizing: content-box; + box-sizing: content-box; + overflow: hidden; + background: transparent; + height: 4px; + padding: 0; + margin: 24px 0; + background-color: #D3DAE6; + border: 0; } + .kbnMarkdown__body hr::before { + display: table; + content: ""; } + .kbnMarkdown__body hr::after { + display: table; + clear: both; + content: ""; } + .kbnMarkdown__body input { + font: inherit; + font-family: inherit; + font-size: inherit; + line-height: inherit; + margin: 0; + overflow: visible; } + .kbnMarkdown__body [type="checkbox"] { + -webkit-box-sizing: border-box; + box-sizing: border-box; + padding: 0; } + .kbnMarkdown__body table { + scrollbar-width: thin; + border-spacing: 0; + border-collapse: collapse; + display: block; + width: 100%; + overflow: auto; + border-left: 1px solid #D3DAE6; } + .kbnMarkdown__body table::-webkit-scrollbar { + width: 16px; + height: 16px; } + .kbnMarkdown__body table::-webkit-scrollbar-thumb { + background-color: rgba(105, 112, 125, 0.5); + border: 6px solid transparent; + background-clip: content-box; } + .kbnMarkdown__body table::-webkit-scrollbar-corner, .kbnMarkdown__body table::-webkit-scrollbar-track { + background-color: transparent; } + .kbnMarkdown__body table th { + font-weight: 600; + color: #98A2B3; } + .kbnMarkdown__body table td, + .kbnMarkdown__body table th { + padding: 8px 12px; + border-top: 1px solid #D3DAE6; + border-bottom: 1px solid #D3DAE6; } + .kbnMarkdown__body table td:last-child, + .kbnMarkdown__body table th:last-child { + border-right: 1px solid #D3DAE6; } + .kbnMarkdown__body table tr { + background-color: transparent; + border-top: 1px solid #D3DAE6; } + .kbnMarkdown__body h1, + .kbnMarkdown__body h2, + .kbnMarkdown__body h3, + .kbnMarkdown__body h4, + .kbnMarkdown__body h5, + .kbnMarkdown__body h6 { + font-weight: 700; + margin-top: 24px; + margin-bottom: 16px; + line-height: 1.25; } + .kbnMarkdown__body h1:hover .anchor, + .kbnMarkdown__body h2:hover .anchor, + .kbnMarkdown__body h3:hover .anchor, + .kbnMarkdown__body h4:hover .anchor, + .kbnMarkdown__body h5:hover .anchor, + .kbnMarkdown__body h6:hover .anchor { + text-decoration: none; } + .kbnMarkdown__body h1 { + font-size: 2em; + padding-bottom: 0.3em; + border-bottom: 1px solid #D3DAE6; } + .kbnMarkdown__body h2 { + font-size: 1.5em; + padding-bottom: 0.3em; + border-bottom: 1px solid #D3DAE6; } + .kbnMarkdown__body h3 { + font-size: 1.25em; } + .kbnMarkdown__body h4 { + font-size: 1em; } + .kbnMarkdown__body h5 { + font-size: 0.875em; } + .kbnMarkdown__body h6 { + font-size: 0.8em; } + .kbnMarkdown__body p, + .kbnMarkdown__body blockquote, + .kbnMarkdown__body ul, + .kbnMarkdown__body ol, + .kbnMarkdown__body dl, + .kbnMarkdown__body table, + .kbnMarkdown__body pre { + margin-top: 0; + margin-bottom: 16px; } + .kbnMarkdown__body blockquote { + font-size: 1em; + padding: 0 1em; + color: #69707D; + border-left: 2px solid #D3DAE6; } + .kbnMarkdown__body blockquote > :first-child { + margin-top: 0; } + .kbnMarkdown__body blockquote > :last-child { + margin-bottom: 0; } + .kbnMarkdown__body ul, + .kbnMarkdown__body ol { + padding-left: 2em; + margin-top: 0; } + .kbnMarkdown__body ul { + list-style-type: disc; } + .kbnMarkdown__body ol { + list-style-type: decimal; } + .kbnMarkdown__body ol ol, + .kbnMarkdown__body ul ol { + list-style-type: lower-roman; } + .kbnMarkdown__body ul ul ol, + .kbnMarkdown__body ul ol ol, + .kbnMarkdown__body ol ul ol, + .kbnMarkdown__body ol ol ol { + list-style-type: lower-alpha; } + .kbnMarkdown__body ul ul, + .kbnMarkdown__body ul ol, + .kbnMarkdown__body ol ol, + .kbnMarkdown__body ol ul { + margin-top: 0; + margin-bottom: 0; } + .kbnMarkdown__body li > p { + margin-top: 16px; } + .kbnMarkdown__body li + li { + margin-top: 0.25em; } + .kbnMarkdown__body dd dt { + margin-top: 16px; + font-style: italic; + font-weight: 700; } + .kbnMarkdown__body dd dd { + padding: 0 16px; + margin-bottom: 16px; } + .kbnMarkdown__body .anchor { + float: left; + padding-right: 4px; + margin-left: -24px; + line-height: 1; } + .kbnMarkdown__body .anchor:focus { + outline: none; } + .kbnMarkdown__body code, + .kbnMarkdown__body kbd, + .kbnMarkdown__body pre { + font-family: "Roboto Mono", Consolas, Menlo, Courier, monospace; + font-size: .85em; + background-color: #F5F7FA; + color: #2D2D2D; } + .kbnMarkdown__body kbd { + padding: 0.2em; + border: 1px solid #D3DAE6; + border-bottom-color: #bec4cf; + border-radius: 4px; + -webkit-box-shadow: inset 0 -1px 0 #D3DAE6; + box-shadow: inset 0 -1px 0 #D3DAE6; } + .kbnMarkdown__body code { + padding: 0.2em 0; + margin: 0; + border-radius: 4px; } + .kbnMarkdown__body code::before, .kbnMarkdown__body code::after { + letter-spacing: -0.2em; + content: "\00a0"; } + .kbnMarkdown__body pre { + scrollbar-width: thin; + line-height: 1.45; + word-wrap: normal; + padding: 16px; + overflow: auto; + border-radius: 4px; } + .kbnMarkdown__body pre::-webkit-scrollbar { + width: 16px; + height: 16px; } + .kbnMarkdown__body pre::-webkit-scrollbar-thumb { + background-color: rgba(105, 112, 125, 0.5); + border: 6px solid transparent; + background-clip: content-box; } + .kbnMarkdown__body pre::-webkit-scrollbar-corner, .kbnMarkdown__body pre::-webkit-scrollbar-track { + background-color: transparent; } + .kbnMarkdown__body pre code { + font-size: 1em; + word-break: normal; + white-space: pre; + display: inline; + max-width: auto; + padding: 0; + margin: 0; + overflow: visible; + line-height: inherit; + word-wrap: normal; + background-color: transparent !important; + border: 0; } + .kbnMarkdown__body pre code::before, .kbnMarkdown__body pre code::after { + content: normal; } + .kbnMarkdown__body .highlight { + margin-bottom: 1em; } + .kbnMarkdown__body .highlight pre { + margin-bottom: 0; + word-break: normal; } + .kbnMarkdown__body :checked + .radio-label { + position: relative; + z-index: 1; + border-color: #006BB4; } + .kbnMarkdown__body .task-list-item { + list-style-type: none; } + .kbnMarkdown__body .task-list-item + .task-list-item { + margin-top: 4px; } + .kbnMarkdown__body .task-list-item input { + margin: 0 0.2em 0.25em -1.6em; + vertical-align: middle; } + .kbnMarkdown__body .pl-0 { + padding-left: 0 !important; } + .kbnMarkdown__body .pl-1 { + padding-left: 4px !important; } + .kbnMarkdown__body .pl-2 { + padding-left: 8px !important; } + .kbnMarkdown__body .pl-3 { + padding-left: 16px !important; } + .kbnMarkdown__body .pl-4 { + padding-left: 24px !important; } + .kbnMarkdown__body .pl-5 { + padding-left: 32px !important; } + .kbnMarkdown__body .pl-6 { + padding-left: 40px !important; } + +.theme-dark .kbnMarkdown__body { + color: #DDD; } + .theme-dark .kbnMarkdown__body a { + -webkit-text-decoration-skip: objects; + color: #4DA1C0; } + .theme-dark .kbnMarkdown__body a:active, .theme-dark .kbnMarkdown__body a:hover { + color: #3985a1; } + .theme-dark .kbnMarkdown__body img { + background-color: #222; } + .theme-dark .kbnMarkdown__body hr { + background-color: #333; } + .theme-dark .kbnMarkdown__body table, + .theme-dark .kbnMarkdown__body table td, + .theme-dark .kbnMarkdown__body table th, + .theme-dark .kbnMarkdown__body table tr { + border-color: #333; } + .theme-dark .kbnMarkdown__body h1, + .theme-dark .kbnMarkdown__body h2 { + border-color: #333; } + .theme-dark .kbnMarkdown__body blockquote { + color: #8A8A8A; + border-color: #333; } + .theme-dark .kbnMarkdown__body code, + .theme-dark .kbnMarkdown__body kbd, + .theme-dark .kbnMarkdown__body pre { + background-color: #2B2B2D; + color: #CDD3D8; } + .theme-dark .kbnMarkdown__body kbd { + border-color: #333; + border-bottom-color: #2e2e2e; + -webkit-box-shadow: inset 0 -1px 0 #333; + box-shadow: inset 0 -1px 0 #333; } + .theme-dark .kbnMarkdown__body :checked + .radio-label { + border-color: #4DA1C0; } + +.kbnGlobalBannerList { + padding: 16px; } + +.kbnGlobalBannerList__item + .kbnGlobalBannerList__item { + margin-top: 16px; } + +.kbnToaster__container { + visibility: visible; + width: 100%; + /** + * 1. Shouldn't look like a button. + */ } + .kbnToaster__container .kbnToaster { + margin: 0; + padding: 0; + list-style: none; } + .kbnToaster__container .kbnToaster__countdown { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + background: none; + border: none; } + .kbnToaster__container .kbnToast { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; + padding: 4px 16px; } + .kbnToaster__container .kbnToast > * { + -webkit-box-flex: 0; + -webkit-flex: 0 0 auto; + -ms-flex: 0 0 auto; + flex: 0 0 auto; } + .kbnToaster__container .kbnToast > *:not(:last-child) { + margin-right: 4px; } + .kbnToaster__container .kbnToast__message { + font-size: 14px; + font-size: 1rem; + line-height: 1.5; + text-overflow: ellipsis; + -webkit-box-flex: 1; + -webkit-flex: 1 1 auto; + -ms-flex: 1 1 auto; + flex: 1 1 auto; + white-space: normal; } + .kbnToaster__container .kbnToast-isStack { + font-size: 14px; + font-size: 1rem; + line-height: 1.5; + padding-bottom: 8px; } + .kbnToaster__container .kbnToast-isStack pre { + display: inline-block; + width: 100%; + margin: 8px 0; + word-break: normal; + word-wrap: normal; + white-space: pre-wrap; } + .kbnToaster__container .kbnToast__controls { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; } + +.kbnToast--info { + background-color: #e6f0f8; + color: #006BB4; } + .kbnToast--info .kuiButton--danger, + .kbnToast--info .kuiButton--danger:hover { + color: #006BB4 !important; + border-color: #006BB4; } + .kbnToast--info .kuiButton--secondary, + .kbnToast--info .kuiButton--secondary:hover { + color: #006BB4 !important; + border-color: #006BB4; } + +.kbnToast--warning { + background-color: #fef6e6; + color: #936400; } + .kbnToast--warning .kuiButton--danger, + .kbnToast--warning .kuiButton--danger:hover { + color: #936400 !important; + border-color: #936400; } + .kbnToast--warning .kuiButton--secondary, + .kbnToast--warning .kuiButton--secondary:hover { + color: #936400 !important; + border-color: #936400; } + +.kbnToast--danger { + background-color: #f8e9e9; + color: #b4251d; } + .kbnToast--danger .kuiButton--danger, + .kbnToast--danger .kuiButton--danger:hover { + color: #b4251d !important; + border-color: #b4251d; } + .kbnToast--danger .kuiButton--secondary, + .kbnToast--danger .kuiButton--secondary:hover { + color: #b4251d !important; + border-color: #b4251d; } + +.kbnToast--success { + background-color: #e6f2f1; + color: #01776d; } + .kbnToast--success .kuiButton--danger, + .kbnToast--success .kuiButton--danger:hover { + color: #01776d !important; + border-color: #01776d; } + .kbnToast--success .kuiButton--secondary, + .kbnToast--success .kuiButton--secondary:hover { + color: #01776d !important; + border-color: #01776d; } + +saved-object-finder .list-sort-button, +paginated-selectable-list .list-sort-button { + border-top-left-radius: 0 !important; + border-top-right-radius: 0 !important; + border: none; + padding: 8px 16px; + font-weight: 400; + background-color: #F5F7FA; } + +saved-object-finder ul.li-striped li, +paginated-selectable-list ul.li-striped li { + border: none; } + +saved-object-finder ul.li-striped li:nth-child(even), +paginated-selectable-list ul.li-striped li:nth-child(even) { + background-color: #F5F7FA; } + +saved-object-finder ul.li-striped li:nth-child(odd), +paginated-selectable-list ul.li-striped li:nth-child(odd) { + background-color: #FFF; } + +saved-object-finder ul.li-striped .paginate-heading, +paginated-selectable-list ul.li-striped .paginate-heading { + font-weight: 400; + color: #343741; } + +saved-object-finder ul.li-striped .list-group-item, +paginated-selectable-list ul.li-striped .list-group-item { + padding: 8px 16px; } + saved-object-finder ul.li-striped .list-group-item ul, + paginated-selectable-list ul.li-striped .list-group-item ul { + padding: 0; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; } + saved-object-finder ul.li-striped .list-group-item ul .finder-type, + paginated-selectable-list ul.li-striped .list-group-item ul .finder-type { + margin-right: 8px; } + saved-object-finder ul.li-striped .list-group-item a, + paginated-selectable-list ul.li-striped .list-group-item a { + display: block; + color: #006BB4 !important; } + saved-object-finder ul.li-striped .list-group-item a i, + paginated-selectable-list ul.li-striped .list-group-item a i { + color: #0060a2 !important; + margin-right: 8px; } + saved-object-finder ul.li-striped .list-group-item:first-child, + paginated-selectable-list ul.li-striped .list-group-item:first-child { + border-top-left-radius: 0 !important; + border-top-right-radius: 0 !important; } + saved-object-finder ul.li-striped .list-group-item.list-group-no-results p, + paginated-selectable-list ul.li-striped .list-group-item.list-group-no-results p { + margin-bottom: 0 !important; } + +saved-object-finder paginate paginate-controls, +paginated-selectable-list paginate paginate-controls { + margin: 16px; } + +@media only screen and (max-width: 574px) { + .kbnQueryBar--withDatePicker > :last-child { + margin-top: -16px; } } + +@media only screen and (min-width: 575px) and (max-width: 767px) { + .kbnQueryBar--withDatePicker > :last-child { + margin-top: -16px; } } + +@media only screen and (min-width: 768px) and (max-width: 991px) { + .kbnQueryBar__datePickerWrapper { + max-width: 40vw; } } + +@media only screen and (min-width: 992px) and (max-width: 1199px) { + .kbnQueryBar__datePickerWrapper { + max-width: 40vw; } } + +@media only screen and (min-width: 1200px) { + .kbnQueryBar__datePickerWrapper { + max-width: 40vw; } } + +.kbnTypeahead { + position: relative; } + .kbnTypeahead .kbnTypeahead__popover { + -webkit-box-shadow: 0 12px 24px 0 rgba(65, 78, 101, 0.1), 0 6px 12px 0 rgba(65, 78, 101, 0.1), 0 4px 4px 0 rgba(65, 78, 101, 0.1), 0 2px 2px 0 rgba(65, 78, 101, 0.1); + box-shadow: 0 12px 24px 0 rgba(65, 78, 101, 0.1), 0 6px 12px 0 rgba(65, 78, 101, 0.1), 0 4px 4px 0 rgba(65, 78, 101, 0.1), 0 2px 2px 0 rgba(65, 78, 101, 0.1); + border-color: #d0d3d9; + border-top-color: #d9dce0; + border-bottom-color: #aaafba; + border: 1px solid; + border-color: #D3DAE6; + color: #2D2D2D; + background-color: #FFF; + position: absolute; + top: -8px; + z-index: 2000; + width: 100%; + border-radius: 4px; } + .kbnTypeahead .kbnTypeahead__popover .kbnTypeahead__items { + scrollbar-width: thin; + max-height: 60vh; + overflow-y: auto; } + .kbnTypeahead .kbnTypeahead__popover .kbnTypeahead__items::-webkit-scrollbar { + width: 16px; + height: 16px; } + .kbnTypeahead .kbnTypeahead__popover .kbnTypeahead__items::-webkit-scrollbar-thumb { + background-color: rgba(105, 112, 125, 0.5); + border: 6px solid transparent; + background-clip: content-box; } + .kbnTypeahead .kbnTypeahead__popover .kbnTypeahead__items::-webkit-scrollbar-corner, .kbnTypeahead .kbnTypeahead__popover .kbnTypeahead__items::-webkit-scrollbar-track { + background-color: transparent; } + .kbnTypeahead .kbnTypeahead__popover .kbnTypeahead__item { + height: 32px; + white-space: nowrap; + font-size: 12.0px; + vertical-align: middle; + padding: 0; + border-bottom: none; + line-height: normal; } + .kbnTypeahead .kbnTypeahead__popover .kbnTypeahead__item:hover { + cursor: pointer; } + .kbnTypeahead .kbnTypeahead__popover .kbnTypeahead__item:last-child { + border-bottom: 0px; + border-radius: 0 0 4px 4px; } + .kbnTypeahead .kbnTypeahead__popover .kbnTypeahead__item:first-child { + border-bottom: 0px; + border-radius: 4px 4px 0 0; } + .kbnTypeahead .kbnTypeahead__popover .kbnTypeahead__item.active { + background-color: #F5F7FA; } + .kbnTypeahead .kbnTypeahead__popover .kbnTypeahead__item.active .kbnSuggestionItem__callout { + background: #FFF; } + .kbnTypeahead .kbnTypeahead__popover .kbnTypeahead__item.active .kbnSuggestionItem__text { + color: #000; } + .kbnTypeahead .kbnTypeahead__popover .kbnTypeahead__item.active .kbnSuggestionItem__type { + color: #000; } + .kbnTypeahead .kbnTypeahead__popover .kbnTypeahead__item.active .kbnSuggestionItem--field .kbnSuggestionItem__type { + background-color: #fdedcc; } + .kbnTypeahead .kbnTypeahead__popover .kbnTypeahead__item.active .kbnSuggestionItem--value .kbnSuggestionItem__type { + background-color: #cce5e3; } + .kbnTypeahead .kbnTypeahead__popover .kbnTypeahead__item.active .kbnSuggestionItem--operator .kbnSuggestionItem__type { + background-color: #cce1f0; } + .kbnTypeahead .kbnTypeahead__popover .kbnTypeahead__item.active .kbnSuggestionItem--conjunction .kbnSuggestionItem__type { + background-color: #e4cced; } + +.kbnSuggestionItem { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-align: stretch; + -webkit-align-items: stretch; + -ms-flex-align: stretch; + align-items: stretch; + -webkit-box-flex: 1; + -webkit-flex-grow: 1; + -ms-flex-positive: 1; + flex-grow: 1; + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; + font-size: 12.0px; + white-space: nowrap; } + .kbnSuggestionItem.kbnSuggestionItem--field .kbnSuggestionItem__type { + background-color: #fef6e6; + color: #936400; } + .kbnSuggestionItem.kbnSuggestionItem--value .kbnSuggestionItem__type { + background-color: #e6f2f1; + color: #01776d; } + .kbnSuggestionItem.kbnSuggestionItem--operator .kbnSuggestionItem__type { + background-color: #e6f0f8; + color: #006BB4; } + .kbnSuggestionItem.kbnSuggestionItem--conjunction .kbnSuggestionItem__type { + background-color: #f2e6f6; + color: #7800A6; } + .kbnSuggestionItem.kbnSuggestionItem--recentSearch .kbnSuggestionItem__type { + background-color: #D3DAE6; + color: #98A2B3; } + .kbnSuggestionItem.kbnSuggestionItem--recentSearch .kbnSuggestionItem__text { + width: auto; } + +.kbnSuggestionItem__text, .kbnSuggestionItem__type, .kbnSuggestionItem__description { + -webkit-box-flex: 1; + -webkit-flex-grow: 1; + -ms-flex-positive: 1; + flex-grow: 1; + -webkit-flex-basis: 0%; + -ms-flex-preferred-size: 0%; + flex-basis: 0%; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; } + +.kbnSuggestionItem__type { + -webkit-box-flex: 0; + -webkit-flex-grow: 0; + -ms-flex-positive: 0; + flex-grow: 0; + -webkit-flex-basis: auto; + -ms-flex-preferred-size: auto; + flex-basis: auto; + width: 32px; + height: 32px; + text-align: center; + overflow: hidden; + padding: 4px; + -webkit-box-pack: center; + -webkit-justify-content: center; + -ms-flex-pack: center; + justify-content: center; + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; } + +.kbnSuggestionItem__text { + -webkit-box-flex: 0; + -webkit-flex-grow: 0; + -ms-flex-positive: 0; + flex-grow: 0; + /* 2 */ + -webkit-flex-basis: auto; + -ms-flex-preferred-size: auto; + flex-basis: auto; + /* 2 */ + font-family: "Roboto Mono", Consolas, Menlo, Courier, monospace; + margin-right: 32px; + width: 250px; + overflow: hidden; + text-overflow: ellipsis; + padding: 4px 8px; + color: #2D2D2D; } + +.kbnSuggestionItem__description { + color: #69707D; + overflow: hidden; + text-overflow: ellipsis; } + +.kbnSuggestionItem__callout { + font-family: "Roboto Mono", Consolas, Menlo, Courier, monospace; + background: #F5F7FA; + color: #000; + padding: 0 4px; + display: inline-block; } + +style-compile { + display: none; } + +.visAlerts__tray { + position: absolute; + bottom: 5px; + left: 0; + right: 0; + list-style: none; + padding: 0; + -webkit-transition-property: opacity; + transition-property: opacity; + -webkit-transition-delay: 90ms; + transition-delay: 90ms; + -webkit-transition-duration: 90ms; + transition-duration: 90ms; } + +.visAlerts__icon { + margin: 0; + padding: 0 8px; + -webkit-box-flex: 0; + -webkit-flex: 0 0 auto; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + -webkit-align-self: center; + -ms-flex-item-align: center; + align-self: center; } + +.visAlerts__text { + -webkit-box-flex: 1; + -webkit-flex: 1 1 auto; + -ms-flex: 1 1 auto; + flex: 1 1 auto; + margin: 0; + padding: 0; } + +.visAlerts__close { + cursor: pointer; } + +.visAlert { + margin: 0 8px 8px; + padding: 4px 8px 4px 4px; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; } + +.visAlert--info { + background-color: #e6f0f8; + color: #006BB4; } + +.visAlert--success { + background-color: #e6f2f1; + color: #01776d; } + +.visAlert--warning { + background-color: #fef6e6; + color: #936400; } + +.visAlert--danger { + background-color: #f8e9e9; + color: #b4251d; } + +.visError { + -webkit-box-flex: 1; + -webkit-flex: 1 1 0; + -ms-flex: 1 1 0px; + flex: 1 1 0; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: center; + -webkit-justify-content: center; + -ms-flex-pack: center; + justify-content: center; } + .visError .top { + -webkit-align-self: flex-start; + -ms-flex-item-align: start; + align-self: flex-start; } + .visError .bottom { + -webkit-align-self: flex-end; + -ms-flex-item-align: end; + align-self: flex-end; } + .visError p { + margin-top: 15%; + font-size: 18.0px; + font-size: 1.28571rem; + line-height: 1.5; } + +.visError--request { + max-width: 100%; + max-height: 100%; } + +.visWrapper { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-flex: 1; + -webkit-flex: 1 1 100%; + -ms-flex: 1 1 100%; + flex: 1 1 100%; + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; + min-height: 0; + min-width: 0; + overflow: hidden; + padding: 10px 0; } + +.visWrapper__column { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-flex: 1; + -webkit-flex: 1 0 0px; + -ms-flex: 1 0 0px; + flex: 1 0 0px; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + min-height: 0; + min-width: 0; } + +.visWrapper__splitCharts--column { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-flex: 1; + -webkit-flex: 1 0 20px; + -ms-flex: 1 0 20px; + flex: 1 0 20px; + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; + min-height: 0; + min-width: 0; } + .visWrapper__splitCharts--column .visWrapper__chart { + margin-top: 0px; + margin-bottom: 0px; } + +.visWrapper__splitCharts--row { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + -webkit-box-flex: 1; + -webkit-flex: 1 1 100%; + -ms-flex: 1 1 100%; + flex: 1 1 100%; + min-height: 0; + min-width: 0; } + .visWrapper__splitCharts--row .visWrapper__chart { + margin-left: 0px; + margin-right: 0px; } + +.visWrapper__chart { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-flex: 1; + -webkit-flex: 1 0 0px; + -ms-flex: 1 0 0px; + flex: 1 0 0px; + overflow: visible; + margin: 5px; + min-height: 0; + min-width: 0; } + +.visWrapper__alerts { + position: relative; } + +.visAxis__column--top .axis-div svg { + margin-bottom: -5px; } + +.visAxis--x, +.visAxis--y { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + min-height: 0; + min-width: 0; } + +.visAxis--x { + overflow: visible; } + +.visAxis__spacer--y { + min-height: 0px; } + +.visAxis__column--y { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; + -webkit-box-flex: 1; + -webkit-flex: 1 0 36px; + -ms-flex: 1 0 36px; + flex: 1 0 36px; + min-height: 0; + min-width: 0; } + +.visAxis__splitTitles--y { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + min-height: 12px; + min-width: 0; } + +.visAxis__splitTitles--x { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; + min-height: 1px; + max-height: 16px; + min-width: 16px; } + +.visAxis__splitAxes--x, +.visAxis__splitAxes--y { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + min-height: 20px; + min-width: 0; } + +.visAxis__splitAxes--x { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; + min-height: 0; } + +.visWrapper { + /* Brush Styling */ } + .visWrapper svg { + overflow: visible; } + .visWrapper rect { + opacity: 1; } + .visWrapper rect:hover { + opacity: 0.8; } + .visWrapper circle { + opacity: 0; } + .visWrapper circle:hover { + opacity: 1; + stroke-width: 8px; + stroke-opacity: 0.8; } + .visWrapper .label-line { + fill: none; + stroke-width: 2px; + stroke: rgba(0, 0, 0, 0.2); } + .visWrapper .label-text { + font-size: 12.0px; + font-size: 0.85714rem; + font-weight: 400; } + .visWrapper .y-axis-div { + -webkit-box-flex: 1; + -webkit-flex: 1 1 24px; + -ms-flex: 1 1 24px; + flex: 1 1 24px; + min-width: 1px; + min-height: 12px; + margin: 5px 0; } + .visWrapper .x-axis-div { + min-height: 0px; + min-width: 1px; + margin: 0px 5px; + width: 100%; } + .visWrapper .x-axis-div svg { + float: left; + /* for some reason svg wont get positioned in top left corner of container div without this */ } + .visWrapper .tick text { + font-size: 11.0px; + font-size: 0.78571rem; + fill: rgba(0, 0, 0, 0.7); } + .visWrapper .axis-title text { + font-size: 12.0px; + font-size: 0.85714rem; + font-weight: 700; + fill: rgba(0, 0, 0, 0.4); } + .visWrapper .y-axis-title { + min-height: 14px; + min-width: 1px; } + .visWrapper .x-axis-title { + min-width: 16px; } + .visWrapper .chart-title { + -webkit-box-flex: 1; + -webkit-flex: 1 1 100%; + -ms-flex: 1 1 100%; + flex: 1 1 100%; + min-height: 14px; + min-width: 14px; } + .visWrapper .chart-title text { + font-size: 11.0px; + font-size: 0.78571rem; + fill: rgba(0, 0, 0, 0.4); } + .visWrapper .chart { + -webkit-box-flex: 1; + -webkit-flex: 1 1 100%; + -ms-flex: 1 1 100%; + flex: 1 1 100%; + min-height: 0; + min-width: 0; + overflow: visible; } + .visWrapper .chart > svg { + display: block; } + .visWrapper .chart-row, + .visWrapper .chart-column { + -webkit-box-flex: 1; + -webkit-flex: 1 1 auto; + -ms-flex: 1 1 auto; + flex: 1 1 auto; + min-height: 0; + min-width: 0; } + .visWrapper .visWrapper__chart--first { + margin-top: 0px; + margin-left: 0px; } + .visWrapper .visWrapper__chart--last { + margin-bottom: 0px; + margin-right: 0px; } + .visWrapper .axis { + shape-rendering: crispEdges; + stroke-width: 1px; } + .visWrapper .axis line, .visWrapper .axis path { + stroke: #D3DAE6; + fill: none; + shape-rendering: crispEdges; } + .visWrapper .chart-label, + .visWrapper .label-text, + .visWrapper .chart-text { + fill: rgba(0, 0, 0, 0.7); } + .visWrapper .brush .extent { + shape-rendering: crispEdges; + fill: rgba(0, 0, 0, 0.1); } + .visWrapper .visAreaChart__overlapArea { + opacity: 0.8; } + .visWrapper .series > path, + .visWrapper .series > rect { + fill-opacity: 0.8; + stroke-opacity: 1; + stroke-width: 0; } + .visWrapper .blur_shape { + opacity: 0.3 !important; } + .visWrapper .slice { + stroke-width: 2px; + stroke: #FFF; } + .visWrapper .slice:hover { + opacity: 0.8; } + .visWrapper .line circle { + opacity: 1; } + .visWrapper .line circle:hover { + stroke-width: 8px; + stroke-opacity: 0.8; } + .visWrapper .endzone { + pointer-events: none; + fill: rgba(0, 0, 0, 0.1); } + +.visualize { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-flex: 1; + -webkit-flex: 1 1 100%; + -ms-flex: 1 1 100%; + flex: 1 1 100%; + overflow: hidden; } + +.visualization { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + height: auto; + width: 100%; + overflow: auto; + position: relative; + padding: 8px; + -webkit-box-flex: 1; + -webkit-flex: 1 1 100%; + -ms-flex: 1 1 100%; + flex: 1 1 100%; + /** + * 1. Expand to fill the container but accept being squeezed smaller by the spy, even so small + * that it disappears entirely. + */ } + .visualization .visChart__container { + min-height: 0; + -webkit-box-flex: 1; + -webkit-flex: 1 1 0; + -ms-flex: 1 1 0px; + flex: 1 1 0; + /* 1 */ + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; + overflow: auto; + -webkit-transition: opacity 0.01s; + transition: opacity 0.01s; } + @media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) { + .visualization .visChart__container { + -webkit-box-flex: 1; + -webkit-flex: 1 0; + -ms-flex: 1 0; + flex: 1 0; } } + .visualization .loading { + opacity: 0.5; } + .visualization .spinner { + position: absolute; + top: 40%; + left: 0; + right: 0; + z-index: 20; + opacity: 0.5; } + +.visChart { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-flex: 1; + -webkit-flex: 1 1 auto; + -ms-flex: 1 1 auto; + flex: 1 1 auto; + min-height: 0; + min-width: 0; } + +/** + * 1. Hide increment and decrement buttons for type="number" input. + */ +.cxtSizePicker { + -webkit-appearance: textfield; + -moz-appearance: textfield; + appearance: textfield; + text-align: center; + width: 80px; } + .cxtSizePicker::-webkit-outer-spin-button, .cxtSizePicker::-webkit-inner-spin-button { + -webkit-appearance: none; + appearance: none; + /* 1 */ + margin: 0; + /* 1 */ } + +.devApp__container, +.devApp { + -webkit-box-flex: 1; + -webkit-flex: 1 1 auto; + -ms-flex: 1 1 auto; + flex: 1 1 auto; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; } + .devApp__container > *, + .devApp > * { + -webkit-flex-shrink: 0; + -ms-flex-negative: 0; + flex-shrink: 0; } + +.discoverFetchError { + max-width: 1000px; } + +.dscFieldChooser__toggle { + color: #98A2B3; + margin-left: 8px !important; } + +.dscNoResults { + max-width: 1000px; } + +.tab-discover { + overflow: hidden; + background-color: #FFF; } + +.dscFieldDetails .progress { + background-color: #e9ebee; + margin-bottom: 0; + border-radius: 0; } + +.dscFieldDetails .progress-bar { + padding-left: 10px; + text-align: right; + line-height: 20px; + max-width: 100%; } + +discover-app { + background-color: #FFF; } + +.dscSidebar__listHeader { + margin-top: 5px; } + +.dscFieldList--popular { + padding-top: 10px; } + +.dscWrapper { + padding-right: 0; + padding-left: 21px; + z-index: 1; } + +.dscWrapper__content { + padding-right: 16px; + clear: both; } + +.dscTimechart { + display: block; + position: relative; } + .dscTimechart .series > rect { + fill-opacity: 0.5; + stroke-width: 1; } + +.dscTimechart__header { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-pack: center; + -webkit-justify-content: center; + -ms-flex-pack: center; + justify-content: center; + min-height: 40px; + padding: 4px 0; } + +.dscOverlay { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 20; + padding-top: 12px; + opacity: 0.75; + text-align: center; + background-color: transparent; } + +.dscTable { + overflow: auto; } + .dscTable .kbnDocTable__row { + font-family: "Roboto Mono", Consolas, Menlo, Courier, monospace; + font-size: 12.0px; } + +.dscTable__footer { + background-color: #D3DAE6; + padding: 5px 10px; + text-align: center; } + +/** + * 1. Override sidebar-item-title styles. + */ +.dscSidebarItem { + position: relative; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: justify; + -webkit-justify-content: space-between; + -ms-flex-pack: justify; + justify-content: space-between; + padding-top: 0 !important; + /* 1 */ + padding-bottom: 0 !important; + /* 1 */ + height: 32px; } + .dscSidebarItem:hover .dscSidebarItem__action, .dscSidebarItem:focus .dscSidebarItem__action { + opacity: 1; } + +.dscSidebarItem--active { + background: #e9ebee; + color: #000; + font-weight: bold; } + +/** + * 1. Truncate long text so it doesn't push the actions outside of the container. + */ +.dscSidebarItem__label { + overflow: hidden; + /* 1 */ + text-overflow: ellipsis; + /* 1 */ } + +/** + * 1. Only visually hide the action, so that it's still accessible to screen readers. + * 2. When tabbed to, this element needs to be visible for keyboard accessibility. + */ +.dscSidebarItem__action { + opacity: 0; + /* 1 */ } + .dscSidebarItem__action:focus { + opacity: 1; + /* 2 */ } + +.dscFieldDetails { + padding: 10px; + background-color: #e9ebee; + color: #595959; } + +.dscFieldDetails__progress { + background-color: rgba(0, 0, 0, 0.8); + padding: 3px; + border-radius: 4px; + margin-left: 3px; + margin-right: 3px; } + +.dscFieldDetailsItem { + margin-top: 5px; } + +.dscFieldDetails__filter { + cursor: pointer; } + +.dscFieldDetailsItem__title { + line-height: 1.5; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: justify; + -webkit-justify-content: space-between; + -ms-flex-pack: justify; + justify-content: space-between; } + +/** + * 1. If the field name is very long, don't let it squash the buttons. + */ +.dscFieldDetailsItem__buttonGroup { + -webkit-box-flex: 0; + -webkit-flex: 0 0 auto; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + /* 1 */ } + +.dscFieldDetailsItem__button { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + border: none; + padding: 0; + background-color: transparent; } + +.dscField--noResults { + color: #69707D; } + +.dscField__icon { + margin-right: 5px; + text-align: center; + display: inline-block; + width: 12px; + color: #69707D; } + +.dscResults h3 { + margin: -20px 0 10px 0; + text-align: center; } + +.dscResults__interval { + display: inline-block; + width: auto; } + +.dscSkipButton { + position: absolute; + left: -10000px; + top: 4px; + width: 1px; + height: 1px; + overflow: hidden; } + .dscSkipButton:focus { + left: initial; + right: 16px; + width: auto; + height: auto; } + +.homPage { + max-width: 1200px; + margin: auto; } + +.homSampleDataSetCard { + -webkit-box-flex: 0; + -webkit-flex-grow: 0; + -ms-flex-positive: 0; + flex-grow: 0; } + +.homAddData__card { + width: 250px; + min-width: 200px; + border: none; + -webkit-box-shadow: none; + box-shadow: none; } + +.homAddData__icon { + width: 64px; + height: 64px; } + +.homAddData__footerItem--highlight { + background-color: #e6f0f8; + padding: 16px; } + +.homAddData__footerItem { + text-align: center; } + +@media only screen and (max-width: 574px) { + .homRecentlyAccessed__separator { + display: none; } } + +@media only screen and (min-width: 575px) and (max-width: 767px) { + .homRecentlyAccessed__separator { + display: none; } } + +.homRecentlyAccessed__item { + overflow: hidden; + max-width: 300px; } + +.homRecentlyAccessed__anchor { + overflow: hidden; + text-overflow: ellipsis; } + +.homRecentlyAccessed__longLink { + max-width: 100%; + /* 1 */ + overflow: hidden !important; + text-overflow: ellipsis !important; + white-space: nowrap !important; + word-wrap: normal !important; + /* 2 */ + line-height: normal; } + +.homRecentlyAccessed__flexItem { + max-width: 1000px; } + +.homRecentlyAccessed__dropdownLink, +.homRecentlyAccessed__dropdownLabel { + white-space: nowrap; } + +.synopsis { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-flex: 1; + -webkit-flex-grow: 1; + -ms-flex-positive: 1; + flex-grow: 1; + cursor: pointer; } + .synopsis:hover, .synopsis:focus { + text-decoration: none; } + .synopsis:hover .synopsisTitle, .synopsis:focus .synopsisTitle { + text-decoration: underline; } + +.synopsisTitle { + font-size: 16px; + font-weight: normal; + color: #006BB4; } + +.synopsisIcon { + padding-top: 8px; } + +.homWelcome { + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + z-index: 10000; + background: inherit; + background-image: -webkit-gradient(linear, left bottom, left top, from(#F5F7FA), to(#FFF)); + background-image: linear-gradient(0deg, #F5F7FA 0%, #FFF 100%); + opacity: 0; + overflow: auto; + -webkit-animation: homWelcome_FadeIn 500ms cubic-bezier(0.694, 0.0482, 0.335, 1) 0s forwards; + animation: homWelcome_FadeIn 500ms cubic-bezier(0.694, 0.0482, 0.335, 1) 0s forwards; } + +.homWelcome::before { + position: absolute; + top: 0; + right: 0; + z-index: 1; } + +.homWelcome::after { + position: fixed; + bottom: -2px; + left: 0; + z-index: 1; } + +.homWelcome__header { + position: relative; + padding: 32px; + z-index: 10; } + +.homWelcome__logo { + margin-bottom: 32px; + display: inline-block; + width: 80px; + height: 80px; + line-height: 80px; + text-align: center; + background-color: #FFF; + border-radius: 100%; + padding: 16px; + -webkit-box-shadow: 0 6px 12px -1px rgba(152, 162, 179, 0.2), 0 4px 4px -1px rgba(152, 162, 179, 0.2), 0 2px 2px 0 rgba(152, 162, 179, 0.2); + box-shadow: 0 6px 12px -1px rgba(152, 162, 179, 0.2), 0 4px 4px -1px rgba(152, 162, 179, 0.2), 0 2px 2px 0 rgba(152, 162, 179, 0.2); } + .homWelcome__logo .euiIcon { + vertical-align: baseline; } + +.homWelcome__footerAction { + margin-right: 8px; } + +.homWelcome__content { + position: relative; + margin: auto; + max-width: 512px; + padding-left: 32px; + padding-right: 32px; + z-index: 10; } + +@-webkit-keyframes homWelcome_FadeIn { + from { + opacity: 0; + -webkit-transform: translateY(200px), scale(0.75); + transform: translateY(200px), scale(0.75); } + to { + opacity: 1; + -webkit-transform: translateY(0), scale(1); + transform: translateY(0), scale(1); } } + +@keyframes homWelcome_FadeIn { + from { + opacity: 0; + -webkit-transform: translateY(200px), scale(0.75); + transform: translateY(200px), scale(0.75); } + to { + opacity: 1; + -webkit-transform: translateY(0), scale(1); + transform: translateY(0), scale(1); } } + +.homTutorial__notFoundPanel { + background: #FFF; + padding: 24px; } + +.visEditor { + -webkit-box-flex: 1; + -webkit-flex: 1 1 auto; + -ms-flex: 1 1 auto; + flex: 1 1 auto; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + /* 1. Without setting this to 0 you will run into a bug where the filter bar modal is hidden under +a tilemap in an iframe: https://github.com/elastic/kibana/issues/16457 */ } + .visEditor > * { + -webkit-flex-shrink: 0; + -ms-flex-negative: 0; + flex-shrink: 0; } + @media only screen and (min-width: 992px) and (max-width: 1199px) { + .visEditor { + position: absolute; + width: 100%; + height: 100%; } } + @media only screen and (min-width: 1200px) { + .visEditor { + position: absolute; + width: 100%; + height: 100%; } } + @media only screen and (max-width: 574px) { + .visEditor .visualization { + min-height: 400px; } } + @media only screen and (min-width: 575px) and (max-width: 767px) { + .visEditor .visualization { + min-height: 400px; } } + @media only screen and (min-width: 768px) and (max-width: 991px) { + .visEditor .visualization { + min-height: 400px; } } + .visEditor > .visualize { + height: 100%; + -webkit-box-flex: 1; + -webkit-flex: 1 1 auto; + -ms-flex: 1 1 auto; + flex: 1 1 auto; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + z-index: 0; + /* 1 */ } + +.visEditor__content { + -webkit-box-flex: 1; + -webkit-flex: 1 1 auto; + -ms-flex: 1 1 auto; + flex: 1 1 auto; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + width: 100%; + z-index: 0; } + .visEditor__content > * { + -webkit-flex-shrink: 0; + -ms-flex-negative: 0; + flex-shrink: 0; } + @media only screen and (min-width: 992px) and (max-width: 1199px) { + .visEditor__content { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; } } + @media only screen and (min-width: 1200px) { + .visEditor__content { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; } } + +.visDisabledLabVisualization { + width: 100%; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + -webkit-box-pack: center; + -webkit-justify-content: center; + -ms-flex-pack: center; + justify-content: center; + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; + text-align: center; } + +.visDisabledLabVisualization__icon { + font-size: 24.0px; } + +.visListingTable__typeImage, +.visListingTable__typeIcon { + margin-right: 8px; + position: relative; + top: 2px; } + +.visListingTable__typeImage { + width: 16px; + height: 16px; } + +@media only screen and (min-width: 1200px) { + .visWizard { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; } + .visWizard__column { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + padding: 0px 4px; } + .visWizard__row { + -webkit-box-flex: 1; + -webkit-flex: 1; + -ms-flex: 1; + flex: 1; + background-color: #FFF; } + .visWizard__column--small { + -webkit-box-flex: 2; + -webkit-flex: 2; + -ms-flex: 2; + flex: 2; } + .visWizard__column--large { + -webkit-box-flex: 3; + -webkit-flex: 3; + -ms-flex: 3; + flex: 3; } } + +/** + * 1. Hack in some padding for these panels. + */ +.visWizard__list--paginated--selectable, +.visWizard__savedObjectFinder { + padding: 8px; + /* 1 */ } + +.visNewVisDialog { + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='166' height='157' viewBox='0 0 166 157'%3E%3Cdefs%3E%3ClinearGradient id='untitled-2-a' x1='0%25' y1='0%25' y2='100%25'%3E%3Cstop offset='0%25' stop-color='%23FFF' stop-opacity='.2'/%3E%3Cstop offset='100%25' stop-opacity='0'/%3E%3C/linearGradient%3E%3CradialGradient id='untitled-2-b' cx='0%25' cy='0%25' r='127.787%25' fx='0%25' fy='0%25' gradientTransform='matrix(.681 .68098 -.63326 .7323 0 0)'%3E%3Cstop offset='0%25' stop-color='%23BBB' stop-opacity='.1'/%3E%3Cstop offset='100%25' stop-opacity='.5'/%3E%3C/radialGradient%3E%3ClinearGradient id='untitled-2-c' x1='0%25' y1='0%25' y2='100%25'%3E%3Cstop offset='0%25' stop-color='%23FFF' stop-opacity='.4'/%3E%3Cstop offset='100%25' stop-opacity='0'/%3E%3C/linearGradient%3E%3CradialGradient id='untitled-2-d' cx='0%25' cy='0%25' r='148.851%25' fx='0%25' fy='0%25' gradientTransform='matrix(.6718 .67182 -.74072 .60932 0 0)'%3E%3Cstop offset='0%25' stop-color='%23FFF' stop-opacity='.101'/%3E%3Cstop offset='100%25' stop-opacity='.15'/%3E%3C/radialGradient%3E%3CradialGradient id='untitled-2-e' cx='0%25' cy='0%25' r='127.349%25' fx='0%25' fy='0%25' gradientTransform='matrix(.68331 .68332 -.73013 .63951 0 0)'%3E%3Cstop offset='0%25' stop-color='%23BBB' stop-opacity='.1'/%3E%3Cstop offset='100%25' stop-opacity='.5'/%3E%3C/radialGradient%3E%3C/defs%3E%3Cg opacity='.5' fill='none' fill-rule='evenodd' transform='matrix(-1 0 0 1 166 0)'%3E%3Cg opacity='.65' transform='matrix(0 -1 -1 0 146 157)'%3E%3Cpolygon fill='%23DD0A73' points='0 0 157 146 0 146' opacity='.418'/%3E%3Cpolygon fill='url(%23untitled-2-a)' points='0 0 157 146 0 146' style='mix-blend-mode:overlay'/%3E%3Cpolygon fill='url(%23untitled-2-b)' points='0 0 157 146 0 146' opacity='.618' style='mix-blend-mode:overlay'/%3E%3C/g%3E%3Cg opacity='.65' transform='translate(88 71)'%3E%3Cpath fill='%23017F75' d='M0,86 L78,86 C74.2038079,48.730962 43.6293886,16.7871605 0,0 L0,86 Z' opacity='.409'/%3E%3Cpath fill='url(%23untitled-2-c)' d='M0,86 L78,86 C74.2038079,48.730962 43.6293886,16.7871605 0,0 L0,86 Z' style='mix-blend-mode:overlay'/%3E%3Cpath fill='url(%23untitled-2-d)' d='M0,86 L78,86 C74.2038079,48.730962 43.6293886,16.7871605 0,0 L0,86 Z' opacity='.663' style='mix-blend-mode:overlay'/%3E%3C/g%3E%3Cg opacity='.15' transform='translate(73 79)'%3E%3Cpolygon fill='%23353535' points='0 0 73 78 0 78' opacity='.38'/%3E%3Cpolygon fill='url(%23untitled-2-a)' points='0 0 73 78 0 78' style='mix-blend-mode:overlay'/%3E%3Cpolygon fill='url(%23untitled-2-e)' points='0 0 73 78 0 78' style='mix-blend-mode:overlay'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E%0A"); + background-repeat: no-repeat; + background-position: calc(100% + 1px) calc(100% + 1px); + background-size: 37%; } + +.visNewVisDialog__body { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + padding: 12px 24px 0; + min-height: 0; } + +.visNewVisDialog__list { + min-height: 0; } + +.visNewVisDialog__searchWrapper { + -webkit-flex-shrink: 0; + -ms-flex-negative: 0; + flex-shrink: 0; } + +.visNewVisDialog__typesWrapper { + max-width: 400px; + min-height: 0; + padding-top: 2px; + padding-bottom: 16px; + position: relative; } + .visNewVisDialog__typesWrapper::before, .visNewVisDialog__typesWrapper::after { + content: ""; + display: block; + position: absolute; + height: 40px; + left: 0; + right: 0; + pointer-events: none; } + .visNewVisDialog__typesWrapper::before { + top: -38px; + -webkit-box-shadow: 0 16px 16px -8px #FFF; + box-shadow: 0 16px 16px -8px #FFF; + z-index: 2; } + .visNewVisDialog__typesWrapper::after { + bottom: -24px; + -webkit-box-shadow: 0 -16px 16px -8px #FFF; + box-shadow: 0 -16px 16px -8px #FFF; + z-index: 2; } + +.visNewVisDialog__types { + scrollbar-width: thin; + width: auto; + overflow-y: auto; + padding-top: 16px; + -webkit-box-pack: center; + -webkit-justify-content: center; + -ms-flex-pack: center; + justify-content: center; + padding-bottom: 16px; } + .visNewVisDialog__types::-webkit-scrollbar { + width: 16px; + height: 16px; } + .visNewVisDialog__types::-webkit-scrollbar-thumb { + background-color: rgba(105, 112, 125, 0.5); + border: 6px solid transparent; + background-clip: content-box; } + .visNewVisDialog__types::-webkit-scrollbar-corner, .visNewVisDialog__types::-webkit-scrollbar-track { + background-color: transparent; } + +.visNewVisDialog__description { + width: 320px; } + +.visNewVisDialog__type:disabled { + opacity: 0.2; + pointer-events: none; } + +.visNewVisDialog__typeLegacyIcon { + font-size: 24px; + color: #017D73; } + +.visNewVisDialog__typeImage { + width: 24px; + height: 24px; } + +@media only screen and (max-width: 574px) { + .visNewVisDialog { + background-image: none; } + .visNewVisDialog__typesWrapper { + max-width: none; } + .visNewVisDialog__types { + -webkit-box-pack: start; + -webkit-justify-content: flex-start; + -ms-flex-pack: start; + justify-content: flex-start; } + .visNewVisDialog__description { + display: none; } } + +@media only screen and (min-width: 575px) and (max-width: 767px) { + .visNewVisDialog { + background-image: none; } + .visNewVisDialog__typesWrapper { + max-width: none; } + .visNewVisDialog__types { + -webkit-box-pack: start; + -webkit-justify-content: flex-start; + -ms-flex-pack: start; + justify-content: flex-start; } + .visNewVisDialog__description { + display: none; } } + +@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) { + .visNewVisDialog { + width: 820px; } + .visNewVisDialog__body { + -webkit-flex-basis: 800px; + -ms-flex-preferred-size: 800px; + flex-basis: 800px; } } + +.visTooltip, +.visTooltip__sizingClone { + -webkit-box-shadow: 0 12px 24px 0 rgba(0, 0, 0, 0.1), 0 6px 12px 0 rgba(0, 0, 0, 0.1), 0 4px 4px 0 rgba(0, 0, 0, 0.1), 0 2px 2px 0 rgba(0, 0, 0, 0.1); + box-shadow: 0 12px 24px 0 rgba(0, 0, 0, 0.1), 0 6px 12px 0 rgba(0, 0, 0, 0.1), 0 4px 4px 0 rgba(0, 0, 0, 0.1), 0 2px 2px 0 rgba(0, 0, 0, 0.1); + font-size: 12.0px; + font-size: 0.85714rem; + line-height: 1.5; + visibility: hidden; + pointer-events: none; + position: fixed; + z-index: 9000; + background-color: #404040; + color: #FFF; + border-radius: 4px; + max-width: 320px; + overflow: hidden; + overflow-wrap: break-word; } + .visTooltip > :last-child, + .visTooltip__sizingClone > :last-child { + margin-bottom: 8px; } + .visTooltip > *, + .visTooltip__sizingClone > * { + margin: 8px 8px 0; } + .visTooltip table td, + .visTooltip table th, + .visTooltip__sizingClone table td, + .visTooltip__sizingClone table th { + padding: 4px; } + +.visTooltip__header { + margin: 0 0 8px 0; + padding: 4px 8px; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; } + .visTooltip__header:last-child { + margin-bottom: 0; } + .visTooltip__header + * { + margin-top: 8px; } + +.visTooltip__headerIcon { + -webkit-box-flex: 0; + -webkit-flex: 0 0 auto; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + padding-right: 8px; } + +.visTooltip__headerText { + -webkit-box-flex: 1; + -webkit-flex: 1 1 100%; + -ms-flex: 1 1 100%; + flex: 1 1 100%; } + +.visTooltip__label { + font-weight: 600; + color: #cccccc; } + +.visTooltip__sizingClone { + top: -500px; + left: -500px; } + +.visEditorOptionsGroup__panel + .visEditorOptionsGroup__panel { + margin-top: 8px; } + +.visEditor--default { + overflow-y: hidden; + -webkit-box-flex: 1; + -webkit-flex: 1 1 auto; + -ms-flex: 1 1 auto; + flex: 1 1 auto; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; } + @media only screen and (max-width: 574px) { + .visEditor--default { + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; } } + @media only screen and (min-width: 575px) and (max-width: 767px) { + .visEditor--default { + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; } } + @media only screen and (min-width: 768px) and (max-width: 991px) { + .visEditor--default { + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; } } + +/** + * Collapsible sidebar container + */ +.visEditor__collapsibleSidebar { + -webkit-box-flex: 0; + -webkit-flex: 0 0 auto; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + margin-right: 24px; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; + min-width: 350px; + width: 350px; + max-width: 100%; } + .visEditor__collapsibleSidebar > * { + -webkit-flex-shrink: 0; + -ms-flex-negative: 0; + flex-shrink: 0; } + @media only screen and (max-width: 574px) { + .visEditor__collapsibleSidebar { + width: 100% !important; } } + @media only screen and (min-width: 575px) and (max-width: 767px) { + .visEditor__collapsibleSidebar { + width: 100% !important; } } + @media only screen and (min-width: 768px) and (max-width: 991px) { + .visEditor__collapsibleSidebar { + width: 100% !important; } } + @media only screen and (min-width: 992px) and (max-width: 1199px) { + .visEditor__collapsibleSidebar { + max-width: 75%; } } + @media only screen and (min-width: 1200px) { + .visEditor__collapsibleSidebar { + max-width: 75%; } } + +.visEditor__collapsibleSidebar.closed { + min-width: 0; } + +.visEditor__collapsibleSidebar--small { + width: 15%; } + +.visEditor__collapsibleSidebar--medium { + width: 30%; } + +.visEditor__collapsibleSidebar--large { + width: 50%; } + +/** + * Actual sidebar + */ +.visEditor__sidebar { + -webkit-box-flex: 1; + -webkit-flex: 1 0 auto; + -ms-flex: 1 0 auto; + flex: 1 0 auto; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; } + .visEditor__sidebar > * { + -webkit-flex-shrink: 0; + -ms-flex-negative: 0; + flex-shrink: 0; } + @media only screen and (min-width: 992px) and (max-width: 1199px) { + .visEditor__sidebar { + -webkit-flex-basis: 16.66667%; + -ms-flex-preferred-size: 16.66667%; + flex-basis: 16.66667%; + max-width: calc(100% - 12px); } } + @media only screen and (min-width: 1200px) { + .visEditor__sidebar { + -webkit-flex-basis: 16.66667%; + -ms-flex-preferred-size: 16.66667%; + flex-basis: 16.66667%; + max-width: calc(100% - 12px); } } + .visEditor__sidebar .kuiSideBarFormRow__label { + font-size: 12.0px; } + .visEditor__sidebar .form-group { + margin-bottom: 8px; } + +/** + * Resizer + */ +.visEditor__resizer { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-flex: 0; + -webkit-flex: 0 0 12px; + -ms-flex: 0 0 12px; + flex: 0 0 12px; + background-color: #fafbfd; + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: center; + -webkit-justify-content: center; + -ms-flex-pack: center; + justify-content: center; + margin: 0; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + cursor: ew-resize; + width: 12px; } + .visEditor__resizer:hover { + background-color: #cce1f0; } + .visEditor__resizer:focus, .visEditor__resizer.active { + background-color: #006BB4; + color: #FFF; } + @media only screen and (max-width: 574px) { + .visEditor__resizer { + display: none; } } + @media only screen and (min-width: 575px) and (max-width: 767px) { + .visEditor__resizer { + display: none; } } + @media only screen and (min-width: 768px) and (max-width: 991px) { + .visEditor__resizer { + display: none; } } + +/** + * Canvas area + */ +.visEditor__canvas { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; + overflow: auto; + -webkit-flex-shrink: 1; + -ms-flex-negative: 1; + flex-shrink: 1; + -webkit-flex-basis: 100%; + -ms-flex-preferred-size: 100%; + flex-basis: 100%; } + .visEditor__canvas.embedded { + -webkit-flex-shrink: 1; + -ms-flex-negative: 1; + flex-shrink: 1; + -webkit-flex-basis: 100%; + -ms-flex-preferred-size: 100%; + flex-basis: 100%; } + .visEditor__canvas .visualize { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + -webkit-box-flex: 1; + -webkit-flex: 1 1 100%; + -ms-flex: 1 1 100%; + flex: 1 1 100%; } + .visEditor__canvas .visChart { + position: relative; } + +.visEditorSidebar__container { + -webkit-box-flex: 1; + -webkit-flex: 1 1 auto; + -ms-flex: 1 1 auto; + flex: 1 1 auto; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + background-color: #F5F7FA; } + .visEditorSidebar__container > * { + -webkit-flex-shrink: 0; + -ms-flex-negative: 0; + flex-shrink: 0; } + +.visEditorSidebar__form { + -webkit-box-flex: 1; + -webkit-flex: 1 1 auto; + -ms-flex: 1 1 auto; + flex: 1 1 auto; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; } + .visEditorSidebar__form > * { + -webkit-flex-shrink: 0; + -ms-flex-negative: 0; + flex-shrink: 0; } + +.visEditorSidebar__config { + padding: 8px; } + @media only screen and (min-width: 992px) and (max-width: 1199px) { + .visEditorSidebar__config { + -webkit-box-flex: 1; + -webkit-flex: 1 1 1px; + -ms-flex: 1 1 1px; + flex: 1 1 1px; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + overflow: auto; } + .visEditorSidebar__config > * { + -webkit-flex-shrink: 0; + -ms-flex-negative: 0; + flex-shrink: 0; } } + @media only screen and (min-width: 1200px) { + .visEditorSidebar__config { + -webkit-box-flex: 1; + -webkit-flex: 1 1 1px; + -ms-flex: 1 1 1px; + flex: 1 1 1px; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + overflow: auto; } + .visEditorSidebar__config > * { + -webkit-flex-shrink: 0; + -ms-flex-negative: 0; + flex-shrink: 0; } } + +.visEditorSidebar__indexPattern, +.visEditorSidebar__nav { + min-height: auto; + border-radius: 0px; } + +.visEditorSidebar__nav .navbar-right { + margin-right: -15px; } + +/** + * 1. TODO: Override bootstrap styles. Remove !important once we're rid of bootstrap. + */ +.visEditorSidebar__navLink { + padding: 2px 8px !important; + /* 1 */ + color: #69707D !important; + /* 1 */ } + .visEditorSidebar__navLink.visEditorSidebar__navLink-isSelected { + border-bottom: 2px solid #006BB4; + border-color: #006BB4 !important; + color: #006BB4 !important; } + .visEditorSidebar__navLink.visEditorSidebar__navLink-isSelected:before { + display: none; } + .visEditorSidebar__navLink.visEditorSidebar__navLink-isSelected:hover { + background-color: transparent; } + +/** + * 1. TODO: Override bootstrap styles. Remove !important once we're rid of bootstrap. + */ +.visEditorSidebar__navLink--danger { + color: #FFF !important; + /* 1 */ + background-color: #BD271E; } + .visEditorSidebar__navLink--danger:hover { + background-color: #a6221a !important; + /* 1 */ } + +.visEditorSidebar__navButtonLink { + line-height: 16px; } + +.visEditorAgg { + -webkit-box-flex: 1; + -webkit-flex: 1 1 auto; + -ms-flex: 1 1 auto; + flex: 1 1 auto; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + width: 100%; + max-width: 100%; + -webkit-flex-basis: 100%; + -ms-flex-preferred-size: 100%; + flex-basis: 100%; } + .visEditorAgg > * { + -webkit-flex-shrink: 0; + -ms-flex-negative: 0; + flex-shrink: 0; } + +.visEditorAggHeader { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-flex: 1; + -webkit-flex: 1 0 auto; + -ms-flex: 1 0 auto; + flex: 1 0 auto; + margin-bottom: 8px; } + +.visEditorAggHeader__toggle { + -webkit-box-flex: 0; + -webkit-flex: 0 0 auto; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + margin-right: 8px; + min-width: 24px; + min-height: 24px; + text-align: center; } + +.visEditorAggHeader__title { + -webkit-box-flex: 0; + -webkit-flex: 0 0 auto; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + font-weight: 700; + max-width: 100%; + /* 1 */ + overflow: hidden !important; + text-overflow: ellipsis !important; + white-space: nowrap !important; + word-wrap: normal !important; + /* 2 */ } + +.visEditorAggHeader__title--grow { + -webkit-box-flex: 1; + -webkit-flex-grow: 1; + -ms-flex-positive: 1; + flex-grow: 1; } + +.visEditorAggHeader__description { + -webkit-box-flex: 1; + -webkit-flex: 1 1 0; + -ms-flex: 1 1 0px; + flex: 1 1 0; + font-weight: 400; + padding-right: 8px; + padding-left: 4px; + max-width: 100%; + /* 1 */ + overflow: hidden !important; + text-overflow: ellipsis !important; + white-space: nowrap !important; + word-wrap: normal !important; + /* 2 */ } + +.visEditorAggHeader__description--danger { + color: #BD271E; + font-weight: 700; } + +.visEditorAggHeader__controls { + -webkit-box-flex: 0; + -webkit-flex: 0 0 auto; + -ms-flex: 0 0 auto; + flex: 0 0 auto; } + +.visEditorAgg__rangesTable td { + padding: 0 8px 8px 0; } + .visEditorAgg__rangesTable td:last-child { + padding-right: 0; } + +.visEditorAgg__formRow--flex { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; } + .visEditorAgg__formRow--flex > * { + -webkit-box-flex: 1; + -webkit-flex: 1 1 auto; + -ms-flex: 1 1 auto; + flex: 1 1 auto; + margin-right: 8px; } + .visEditorAgg__formRow--flex > *:last-child { + margin-right: 0px; } + +/** + * 1. Hack to split child elements evenly. + */ +.visEditorAgg__formRow--split { + -webkit-box-flex: 1 !important; + -webkit-flex: 1 1 0 !important; + -ms-flex: 1 1 0px !important; + flex: 1 1 0 !important; + /* 1 */ } + +.visEditorAgg__sliderValue { + -webkit-align-self: center; + -ms-flex-item-align: center; + align-self: center; + margin: 0 0 0 8px; + font-size: 14px; + font-size: 1rem; + line-height: 1.5; } + +.visEditorAgg__subAgg { + border: 2px solid; + border-color: #D3DAE6; + border-radius: 4px; + background-color: transparent; + margin: 8px 0; + padding: 8px; } + +.visEditorAggGroup__wrapper { + border-top: 0 !important; + padding: 12px; + border-radius: 4px; + margin-bottom: 8px; + background: #FFF; } + +.visEditorAggGroup__title { + font-size: 18.0px; + font-size: 1.28571rem; + line-height: 1.5; + margin-bottom: 8px !important; + padding: 0px !important; + text-transform: capitalize; } + +.visEditorAggGroup { + color: #69707D; } + +.visEditorAggParam__error { + margin: 8px 0; + padding: 8px; + text-align: center; + color: #b4251d; + background-color: #f8e9e9; } + +/** +* 1. Show invalid state if the user has interacted with the input without selecting an option. +*/ +.visEditorAggSelect__select .ui-select-match-text { + max-width: 100%; + /* 1 */ + overflow: hidden !important; + text-overflow: ellipsis !important; + white-space: nowrap !important; + word-wrap: normal !important; + /* 2 */ } + +.visEditorAggSelect__select.ng-invalid.ng-dirty .ui-select-match .btn, .visEditorAggSelect__select.ng-invalid.ng-touched .ui-select-match .btn { + border-color: #BD271E; + /* 1 */ } + +.leaflet-bar { + -webkit-box-shadow: 0 6px 12px -1px rgba(65, 78, 101, 0.2), 0 4px 4px -1px rgba(65, 78, 101, 0.2), 0 2px 2px 0 rgba(65, 78, 101, 0.2); + box-shadow: 0 6px 12px -1px rgba(65, 78, 101, 0.2), 0 4px 4px -1px rgba(65, 78, 101, 0.2), 0 2px 2px 0 rgba(65, 78, 101, 0.2); } + +.leaflet-container { + background: #FFF; + min-width: 1px !important; + min-height: 1px !important; } + +.leaflet-clickable:hover { + stroke-width: 8px; + stroke-opacity: 0.8; } + +/** + * 1. Since Leaflet is an external library, we also have to provide EUI variables + * to non-override colors for darkmode. + */ +.leaflet-control a { + background-color: #FFF; + /* 1 */ + border-color: #D3DAE6; + /* 1 */ + color: #2D2D2D; + /* 1 */ } + +.leaflet-retina .leaflet-draw-toolbar a { + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 540 60' height='60' width='540'%3E%3Cg fill='rgb%2845, 45, 45%29'%3E%3Cg%3E%3Cpath d='M18 36v6h6v-6h-6zm4 4h-2v-2h2v2z'/%3E%3Cpath d='M36 18v6h6v-6h-6zm4 4h-2v-2h2v2z'/%3E%3Cpath d='M23.142 39.145l-2.285-2.29 16-15.998 2.285 2.285z'/%3E%3C/g%3E%3Cpath d='M100 24.565l-2.096 14.83L83.07 42 76 28.773 86.463 18z'/%3E%3Cpath d='M140 20h20v20h-20z'/%3E%3Cpath d='M221 30c0 6.078-4.926 11-11 11s-11-4.922-11-11c0-6.074 4.926-11 11-11s11 4.926 11 11z'/%3E%3Cpath d='M270,19c-4.971,0-9,4.029-9,9c0,4.971,5.001,12,9,14c4.001-2,9-9.029,9-14C279,23.029,274.971,19,270,19z M270,31.5c-2.484,0-4.5-2.014-4.5-4.5c0-2.484,2.016-4.5,4.5-4.5c2.485,0,4.5,2.016,4.5,4.5C274.5,29.486,272.485,31.5,270,31.5z'/%3E%3Cg%3E%3Cpath d='M337,30.156v0.407v5.604c0,1.658-1.344,3-3,3h-10c-1.655,0-3-1.342-3-3v-10c0-1.657,1.345-3,3-3h6.345 l3.19-3.17H324c-3.313,0-6,2.687-6,6v10c0,3.313,2.687,6,6,6h10c3.314,0,6-2.687,6-6v-8.809L337,30.156'/%3E%3Cpath d='M338.72 24.637l-8.892 8.892H327V30.7l8.89-8.89z'/%3E%3Cpath d='M338.697 17.826h4v4h-4z' transform='rotate(-134.99 340.703 19.817)'/%3E%3C/g%3E%3Cg%3E%3Cpath d='M381 42h18V24h-18v18zm14-16h2v14h-2V26zm-4 0h2v14h-2V26zm-4 0h2v14h-2V26zm-4 0h2v14h-2V26z'/%3E%3Cpath d='M395 20v-4h-10v4h-6v2h22v-2h-6zm-2 0h-6v-2h6v2z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E%0A"); + /* 1 */ } + +.leaflet-control-layers-expanded { + padding: 0; + margin: 0; + font-size: 11px; + font-size: 0.78571rem; + font-family: "Open Sans", "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; + font-weight: 600; + line-height: 1.5; } + .leaflet-control-layers-expanded label { + font-weight: 600; + margin: 0; + padding: 0; } + +/* over-rides leaflet popup styles to look like kibana tooltip */ +.leaflet-popup-content-wrapper { + margin: 0; + padding: 0; + background: #404040; + color: #FFF; + border-radius: 4px !important; } + +.leaflet-popup { + pointer-events: none; } + +.leaflet-popup-content { + margin: 0; + font-size: 14px; + font-size: 1rem; + line-height: 1.5; + font-weight: 400; + word-wrap: break-word; + overflow: hidden; + pointer-events: none; } + .leaflet-popup-content > * { + margin: 8px 8px 0; } + .leaflet-popup-content > :last-child { + margin-bottom: 8px; } + .leaflet-popup-content table td, .leaflet-popup-content table th { + padding: 4px; } + +.leaflet-popup-tip-container, +.leaflet-popup-close-button, +.leaflet-draw-tooltip { + display: none !important; } + +.leaflet-control-attribution { + background-color: rgba(255, 255, 255, 0.3); + color: #69707D; } + .leaflet-control-attribution p { + display: inline; } + +.leaflet-draw-actions a { + background-color: #D3DAE6; + color: #000; } + +img.leaflet-tile { + -webkit-filter: brightness(1.03) grayscale(0.73); + filter: brightness(1.03) grayscale(0.73); } + +img.leaflet-tile.filters-off { + -webkit-filter: none; + filter: none; } + +.visMapLegend { + font-size: 11px; + font-size: 0.78571rem; + -webkit-box-shadow: 0 6px 12px -1px rgba(65, 78, 101, 0.1), 0 4px 4px -1px rgba(65, 78, 101, 0.1), 0 2px 2px 0 rgba(65, 78, 101, 0.1); + box-shadow: 0 6px 12px -1px rgba(65, 78, 101, 0.1), 0 4px 4px -1px rgba(65, 78, 101, 0.1), 0 2px 2px 0 rgba(65, 78, 101, 0.1); + font-family: "Open Sans", "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; + font-weight: 600; + line-height: 1.5; + color: #69707D; + padding: 8px; + background: rgba(255, 255, 255, 0.2); + border-radius: 4px; } + .visMapLegend i { + width: 10px; + height: 10px; + display: inline-block; + margin: 3px 4px 0 0; + border-radius: 50%; + border: 1px solid #69707D; + background: #69707D; } + +.visMapLegend__title { + font-weight: 700; } + +.leaflet-top.leaflet-left .visMapLegend__wrapper { + position: absolute; + left: 40px; + white-space: nowrap; } + +.visLib { + -webkit-box-flex: 1; + -webkit-flex: 1 1 0; + -ms-flex: 1 1 0px; + flex: 1 1 0; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; + overflow: auto; } + .visLib.visLib--legend-left { + -webkit-box-orient: horizontal; + -webkit-box-direction: reverse; + -webkit-flex-direction: row-reverse; + -ms-flex-direction: row-reverse; + flex-direction: row-reverse; } + .visLib.visLib--legend-right { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; } + .visLib.visLib--legend-top { + -webkit-box-orient: vertical; + -webkit-box-direction: reverse; + -webkit-flex-direction: column-reverse; + -ms-flex-direction: column-reverse; + flex-direction: column-reverse; } + .visLib.visLib--legend-bottom { + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; } + +.visLib__chart { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-flex: 1; + -webkit-flex: 1 1 auto; + -ms-flex: 1 1 auto; + flex: 1 1 auto; + min-height: 0; + min-width: 0; } + +.visLegend__toggle { + -webkit-align-self: flex-start; + -ms-flex-item-align: start; + align-self: flex-start; + color: rgba(0, 0, 0, 0.7) !important; } + +.visLegend { + font-size: 12.0px; + font-size: 0.85714rem; + line-height: 1.5; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; + padding: 4px 0; + min-height: 0; + height: 100%; } + +.visLib--legend-left .visLegend { + -webkit-box-orient: horizontal; + -webkit-box-direction: reverse; + -webkit-flex-direction: row-reverse; + -ms-flex-direction: row-reverse; + flex-direction: row-reverse; } + +.visLib--legend-right .visLegend { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; } + +.visLib--legend-top .visLegend { + -webkit-box-orient: vertical; + -webkit-box-direction: reverse; + -webkit-flex-direction: column-reverse; + -ms-flex-direction: column-reverse; + flex-direction: column-reverse; + width: 100%; + padding-left: 24px; } + +.visLib--legend-bottom .visLegend { + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + width: 100%; + padding-left: 24px; } + +/** + * 1. Position the .visLegend__valueDetails absolutely against the legend item + * 2. Make sure the .visLegend__valueDetails is visible outside the list bounds + * 3. Make sure the currently selected item is top most in z level + */ +.visLegend__list { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + line-height: 16px; + width: 150px; + -webkit-box-flex: 1; + -webkit-flex: 1 1 auto; + -ms-flex: 1 1 auto; + flex: 1 1 auto; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + min-height: 0; + overflow-x: hidden; + overflow-y: auto; } + .visLegend__list.hidden { + visibility: hidden; } + +.visLib--legend-top .visLegend__list, +.visLib--legend-bottom .visLegend__list { + width: auto; + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; + -webkit-flex-wrap: wrap; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + overflow: visible; + /* 2 */ } + .visLib--legend-top .visLegend__list .visLegend__value, + .visLib--legend-bottom .visLegend__list .visLegend__value { + -webkit-box-flex: 0; + -webkit-flex-grow: 0; + -ms-flex-positive: 0; + flex-grow: 0; + max-width: 150px; } + +.visLegend__value { + cursor: pointer; + padding: 4px; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-flex-shrink: 0; + -ms-flex-negative: 0; + flex-shrink: 0; + position: relative; + /* 1 */ } + .visLegend__value > * { + width: 100%; } + .visLegend__value.disabled { + opacity: 0.5; } + +.visLegend__valueTitle { + max-width: 100%; + /* 1 */ + overflow: hidden !important; + text-overflow: ellipsis !important; + white-space: nowrap !important; + word-wrap: normal !important; + /* 2 */ + color: rgba(0, 0, 0, 0.4); } + .visLegend__valueTitle:hover { + text-decoration: underline; } + +.visLegend__valueTitle--full ~ .visLegend__valueDetails { + z-index: 2; + /* 3 */ } + +.visLegend__valueDetails { + background-color: #FFF; } + +.visLib--legend-left .visLegend__valueDetails, +.visLib--legend-right .visLegend__valueDetails { + margin-top: 4px; + border-bottom: 1px solid #D3DAE6; } + +.visLib--legend-top .visLegend__valueDetails, +.visLib--legend-bottom .visLegend__valueDetails { + -webkit-box-shadow: 0 6px 12px -1px rgba(152, 162, 179, 0.2), 0 4px 4px -1px rgba(152, 162, 179, 0.2), 0 2px 2px 0 rgba(152, 162, 179, 0.2); + box-shadow: 0 6px 12px -1px rgba(152, 162, 179, 0.2), 0 4px 4px -1px rgba(152, 162, 179, 0.2), 0 2px 2px 0 rgba(152, 162, 179, 0.2); + position: absolute; + /* 1 */ + border-radius: 4px; } + +.visLib--legend-bottom .visLegend__valueDetails { + bottom: 24px; } + +.visLib--legend-top .visLegend__valueDetails { + margin-top: 4px; } + +.visLegend__valueColorPicker { + width: 120px; + margin: auto; } + .visLegend__valueColorPicker .visLegend__valueColorPickerDot { + margin: 2px; + width: 11px; } + .visLegend__valueColorPicker .visLegend__valueColorPickerDot:hover { + -webkit-transform: scale(1.4); + transform: scale(1.4); } + +kbn-management-app, +kbn-management-landing, +kbn-management-indices, +kbn-management-indices-edit, +kbn-management-indices-create, +kbn-management-advanced, +kbn-management-objects, +kbn-management-objects-view { + display: block; } + +#management-landing { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; } + +.kbn-management-tab:first-letter { + text-transform: capitalize; } + +kbn-management-objects-view .ace_editor { + height: 300px; } + +.gu-handle { + cursor: move; + cursor: grab; + cursor: -webkit-grab; } + +.gu-mirror, +.gu-mirror .gu-handle { + cursor: grabbing; + cursor: -webkit-grabbing; } + +.mgtPage__body { + max-width: 1200px; } + +.mgtPanel { + margin-bottom: 16px; + background: #FFF; } + +/** + * 1. Override kuiPanelBody styles to accommodate padding of items within the panel body.. + */ +.mgtPanel__body { + padding: 5px 10px; + /* 1 */ } + +/** + * 1. Create vertical space between items when they wrap. + */ +.mgtPanel__item { + padding: 5px 15px; + /* 1 */ } + +.mgtPanel__link { + font-size: 18.0px; + font-size: 1.28571rem; + line-height: 1.5; + line-height: 1.5; } + .mgtPanel__link.mgtPanel__link--disabled { + opacity: #69707D; + cursor: default; } + .mgtPanel__link.mgtPanel__link--disabled:hover, .mgtPanel__link.mgtPanel__link--disabled:visited { + color: #006BB4; } + +kbn-management-objects form { + margin-bottom: 16px; } + +kbn-management-objects .list-unstyled li { + border-bottom: 1px solid #D3DAE6; + padding: 8px; } + +kbn-management-objects .empty { + color: #69707D; } + +kbn-management-objects .item { + padding: 12px; } + kbn-management-objects .item .item-title { + margin-left: 24px; } + kbn-management-objects .item .actions { + margin-top: 4px; } + +kbn-management-objects .header .title, kbn-management-objects .header .controls { + padding-right: 1em; + display: inline-block; } + +.mgtAdvancedSettings__field + * { + margin-top: 16px; } + +.mgtAdvancedSettings__fieldWrapper { + width: 640px; } + @media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) { + .mgtAdvancedSettings__fieldWrapper { + min-height: 1px; } } + +.mgtAdvancedSettings__fieldActions { + padding-top: 12px; } + +@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) { + .mgtAdvancedSettings__fieldRow { + min-height: 1px; } } + +#indexPatternListReact .indexPatternList__headerWrapper { + padding-bottom: 8px; } + +#indexPatternListReact .euiButtonEmpty__content { + -webkit-box-pack: left; + -webkit-justify-content: left; + -ms-flex-pack: left; + justify-content: left; + padding: 0; } + #indexPatternListReact .euiButtonEmpty__content span { + text-overflow: ellipsis; + overflow: hidden; } + +/** + * Needs to correspond with the react root nested inside angular. + */ +dashboard-viewport-provider { + -webkit-box-flex: 1; + -webkit-flex: 1; + -ms-flex: 1; + flex: 1; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; } + dashboard-viewport-provider [data-reactroot] { + -webkit-box-flex: 1; + -webkit-flex: 1; + -ms-flex: 1; + flex: 1; } + +.theme-dark a { + color: #4DA1C0; } + .theme-dark a:hover, .theme-dark a:focus { + color: #3985a1; } + +.theme-dark .form-control { + color: #DDD; + background-color: #a7a7a7; + border-color: rgba(255, 255, 255, 0.1); } + .theme-dark .form-control[disabled], .theme-dark .form-control[readonly], + fieldset[disabled] .theme-dark .form-control { + background-color: #1f1f1f; } + +.theme-dark .table > thead > tr > th, +.theme-dark .table > thead > tr > td, +.theme-dark .table > tbody > tr > th, +.theme-dark .table > tbody > tr > td, +.theme-dark .table > tfoot > tr > th, +.theme-dark .table > tfoot > tr > td { + border-top-color: #333; } + +.theme-dark .table > thead > tr > th { + border-bottom-color: #333; } + +.theme-dark .table > tbody + tbody { + border-top-color: #333; } + +.theme-dark .table .table { + background-color: transparent; } + +.theme-dark table th i.fa-sort { + color: #494E51; } + +.theme-dark table th button.fa-sort-asc, +.theme-dark table th button.fa-sort-down, +.theme-dark table th i.fa-sort-asc, +.theme-dark table th i.fa-sort-down { + color: #DDD; } + +.theme-dark table th button.fa-sort-desc, +.theme-dark table th button.fa-sort-up, +.theme-dark table th i.fa-sort-desc, +.theme-dark table th i.fa-sort-up { + color: #DDD; } + +.theme-dark .list-group-item { + background-color: #333; + border-color: #8A8A8A; } + .theme-dark .list-group-item:nth-child(even) { + background-color: #494E51; } + +.theme-dark a.list-group-item, +.theme-dark button.list-group-item { + color: #494E51; } + .theme-dark a.list-group-item .list-group-item-heading, + .theme-dark button.list-group-item .list-group-item-heading { + color: #333; } + .theme-dark a.list-group-item:hover, .theme-dark a.list-group-item:focus, + .theme-dark button.list-group-item:hover, + .theme-dark button.list-group-item:focus { + color: #494E51; + background-color: #F5F5F5; } + +.theme-dark .panel > .panel-body + .table, +.theme-dark .panel > .panel-body + .table-responsive, +.theme-dark .panel > .table + .panel-body, +.theme-dark .panel > .table-responsive + .panel-body { + border-top-color: #494E51; } + +.theme-dark .panel-group .panel-heading + .panel-collapse > .panel-body, +.theme-dark .panel-group .panel-heading + .panel-collapse > .list-group { + border-top-color: #222; } + +.theme-dark .panel-group .panel-footer { + border-top: 0; } + .theme-dark .panel-group .panel-footer + .panel-collapse .panel-body { + border-bottom-color: #222; } + +.theme-dark .panel-default > .panel-heading { + color: #4DA1C0; + background-color: #222; + border-color: #333; } + .theme-dark .panel-default > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #333; } + .theme-dark .panel-default > .panel-heading .badge { + color: #222; + background-color: #4DA1C0; } + +.theme-dark .panel-default > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #333; } + +.theme-dark .nav > li > a:hover, .theme-dark .nav > li > a:focus { + background-color: #8A8A8A; } + +.theme-dark .nav-tabs { + border-bottom-color: #494E51; } + .theme-dark .nav-tabs > li > a:hover { + border-color: #8A8A8A; } + .theme-dark .nav-tabs > li.active > a, .theme-dark .nav-tabs > li.active > a:hover, .theme-dark .nav-tabs > li.active > a:focus { + color: #FFF; + background-color: #494E51; + border: 0 none transparent; } + +/** + * 1. Don't duplicate styles in dark mode + */ +.theme-light { + /* 1 */ + /** + * 1. Due to https://github.com/STRML/react-grid-layout/issues/240 we have to manually hide the resizable + * element. + */ + /** + * 1. If we don't give the resizable handler a larger z index value the layout will hide it. + */ + /** + * 1. Need to override the react grid layout height when a single panel is expanded. Important is required because + * otherwise the height is set inline. + */ + /** + * .dshLayout-withoutMargins only affects the panel styles themselves, see ../panel + */ + /** + * When a single panel is expanded, all the other panels are hidden in the grid. + */ + /** + * 1. We need to mark this as important because react grid layout sets the width and height of the panels inline. + */ + /** + * 1. Use opacity to make this element accessible to screen readers and keyboard. + * 2. Show on focus to enable keyboard accessibility. + */ + /** + * 1. Use opacity to make this element accessible to screen readers and keyboard. + * 2. Show on focus to enable keyboard accessibility. + */ } + .theme-light .dshAppContainer { + -webkit-box-flex: 1; + -webkit-flex: 1; + -ms-flex: 1; + flex: 1; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; } + .theme-light .dshStartScreen { + text-align: center; + margin: 16px auto; + max-width: 800px; + width: 100%; + background: #FFF; + padding: 40px; + border-radius: 4px; } + .theme-light .dshSaveModal, + .theme-light .dshCloneModal { + max-width: 450px; } + .theme-light .react-grid-layout .gs-w { + z-index: auto; } + .theme-light .dshLayout--viewing .react-resizable-handle { + display: none; + /* 1 */ } + .theme-light .dshLayout--editing .react-resizable-handle { + z-index: 1000; + /* 1 */ + right: 4px; + bottom: 4px; } + .theme-light .dshLayout-isMaximizedPanel { + height: 100% !important; + /* 1. */ + width: 100%; + position: absolute; } + .theme-light .dshDashboardGrid__item--hidden { + display: none; } + .theme-light .dshDashboardGrid__item--expanded { + height: 100% !important; + /* 1 */ + width: 100% !important; + /* 1 */ + top: 0 !important; + /* 1 */ + left: 0 !important; + /* 1 */ } + .theme-light .react-grid-item { + /** + * Disable transitions from the library on each grid element. + */ + -webkit-transition: none; + transition: none; + /** + * Copy over and overwrite the fill color with EUI color mixin (for theming) + */ + /** + * Dragged/Resized panels in dashboard should always appear above other panels + * and above the placeholder + */ + /** + * Overwrites red coloring that comes from this library by default. + */ } + .theme-light .react-grid-item > .react-resizable-handle { + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='6' viewBox='0 0 6 6'%3E%3Cpolygon fill='rgb%28105, 112, 125%29' points='6 6 0 6 0 4.2 4 4.2 4.2 4.2 4.2 0 6 0' /%3E%3C/svg%3E%0A"); } + .theme-light .react-grid-item > .react-resizable-handle::after { + border: none; } + .theme-light .react-grid-item.resizing, .theme-light .react-grid-item.react-draggable-dragging { + z-index: 2000 !important; } + .theme-light .react-grid-item.react-draggable-dragging { + -webkit-transition: -webkit-box-shadow 150ms cubic-bezier(0.694, 0.0482, 0.335, 1); + transition: -webkit-box-shadow 150ms cubic-bezier(0.694, 0.0482, 0.335, 1); + transition: box-shadow 150ms cubic-bezier(0.694, 0.0482, 0.335, 1); + transition: box-shadow 150ms cubic-bezier(0.694, 0.0482, 0.335, 1), -webkit-box-shadow 150ms cubic-bezier(0.694, 0.0482, 0.335, 1); + -webkit-box-shadow: 0 40px 64px 0 rgba(65, 78, 101, 0.1), 0 24px 32px 0 rgba(65, 78, 101, 0.1), 0 16px 16px 0 rgba(65, 78, 101, 0.1), 0 8px 8px 0 rgba(65, 78, 101, 0.1), 0 4px 4px 0 rgba(65, 78, 101, 0.1), 0 2px 2px 0 rgba(65, 78, 101, 0.1); + box-shadow: 0 40px 64px 0 rgba(65, 78, 101, 0.1), 0 24px 32px 0 rgba(65, 78, 101, 0.1), 0 16px 16px 0 rgba(65, 78, 101, 0.1), 0 8px 8px 0 rgba(65, 78, 101, 0.1), 0 4px 4px 0 rgba(65, 78, 101, 0.1), 0 2px 2px 0 rgba(65, 78, 101, 0.1); + border-radius: 4px; } + .theme-light .react-grid-item.react-grid-placeholder { + border-radius: 4px; + background: #006BB4; } + .theme-light .dshPanel { + z-index: auto; + -webkit-box-flex: 1; + -webkit-flex: 1; + -ms-flex: 1; + flex: 1; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + height: 100%; + position: relative; + /** + * 1. We want the kbnDocTable__container to scroll only when embedded in a dashboard panel + * 2. Fix overflow of vis's specifically for inside dashboard panels, lets the panel decide the overflow + * 3. Force a better looking scrollbar + */ } + .theme-light .dshPanel .panel-content { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-flex: 1; + -webkit-flex: 1 1 100%; + -ms-flex: 1 1 100%; + flex: 1 1 100%; + height: auto; + z-index: 1; + min-height: 0; } + .theme-light .dshPanel .panel-content--fullWidth { + width: 100%; } + .theme-light .dshPanel .kbnDocTable__container { + -webkit-box-flex: 1; + -webkit-flex: 1 1 0; + -ms-flex: 1 1 0px; + flex: 1 1 0; + /* 1 */ + overflow: auto; + /* 1 */ } + .theme-light .dshPanel .visualization { + scrollbar-width: thin; + /* 3 */ } + .theme-light .dshPanel .visualization::-webkit-scrollbar { + width: 16px; + height: 16px; } + .theme-light .dshPanel .visualization::-webkit-scrollbar-thumb { + background-color: rgba(105, 112, 125, 0.5); + border: 6px solid transparent; + background-clip: content-box; } + .theme-light .dshPanel .visualization::-webkit-scrollbar-corner, .theme-light .dshPanel .visualization::-webkit-scrollbar-track { + background-color: transparent; } + .theme-light .dshPanel .visualization .visChart__container { + overflow: visible; + /* 2 */ } + .theme-light .dshPanel--editing { + -webkit-transition: all 150ms cubic-bezier(0.694, 0.0482, 0.335, 1); + transition: all 150ms cubic-bezier(0.694, 0.0482, 0.335, 1); } + .theme-light .dshPanel--editing:hover, .theme-light .dshPanel--editing:focus { + border-color: #006BB4; + -webkit-box-shadow: 0 4px 8px 0 rgba(152, 162, 179, 0.15), 0 2px 2px -1px rgba(152, 162, 179, 0.3); + box-shadow: 0 4px 8px 0 rgba(152, 162, 179, 0.15), 0 2px 2px -1px rgba(152, 162, 179, 0.3); } + .theme-light .dshLayout-withoutMargins .dshPanel:not(.dshPanel--editing), + .theme-light .dshDashboardGrid__item--expanded .dshPanel:not(.dshPanel--editing) { + border-color: transparent; } + .theme-light .dshLayout-withoutMargins .dshPanel, + .theme-light .dshDashboardGrid__item--expanded .dshPanel { + -webkit-box-shadow: none; + box-shadow: none; + border-radius: 0; } + .theme-light .dshPanel__header { + padding: 8px; + -webkit-box-flex: 0; + -webkit-flex: 0 0 auto; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + white-space: nowrap; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + border: none; + -webkit-transition: background-color 150ms cubic-bezier(0.694, 0.0482, 0.335, 1); + transition: background-color 150ms cubic-bezier(0.694, 0.0482, 0.335, 1); } + .theme-light .dshPanel__title { + font-size: inherit; + color: #69707D; + -webkit-transition: color 150ms cubic-bezier(0.694, 0.0482, 0.335, 1); + transition: color 150ms cubic-bezier(0.694, 0.0482, 0.335, 1); + -webkit-box-flex: 1; + -webkit-flex: 1 1 auto; + -ms-flex: 1 1 auto; + flex: 1 1 auto; + max-width: 100%; + /* 1 */ + overflow: hidden !important; + text-overflow: ellipsis !important; + white-space: nowrap !important; + word-wrap: normal !important; + /* 2 */ + display: inline-block; } + .theme-light .dshPanel--editing:hover .dshPanel__header { + background-color: rgba(0, 0, 0, 0.05) !important; + cursor: move; } + .theme-light .dshPanel--editing:hover .dshPanel__title:hover { + color: #006BB4; } + .theme-light .dshPanel__header--floater { + opacity: 0; + /* 1 */ + position: absolute; + right: 1px; + top: 1px; + background-color: #FFF; + z-index: 1000; + -webkit-transition: opacity 150ms cubic-bezier(0.694, 0.0482, 0.335, 1); + transition: opacity 150ms cubic-bezier(0.694, 0.0482, 0.335, 1); } + .theme-light .dshPanel__header--floater:focus { + /* 2 */ + opacity: 1; } + .theme-light .dshPanel:hover .dshPanel__header--floater { + opacity: 1; } + .theme-light .dshPanel_optionsMenuButton { + opacity: 0; + /* 1 */ } + .theme-light .dshPanel_optionsMenuButton:focus { + /* 2 */ + opacity: 1; } + .theme-light .dshPanel:hover .dshPanel_optionsMenuButton { + opacity: 1; } + .theme-light .dshPanel__error { + text-align: center; + -webkit-box-pack: center; + -webkit-justify-content: center; + -ms-flex-pack: center; + justify-content: center; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + overflow: auto; } + .theme-light .dshPanel__error .fa-exclamation-triangle { + font-size: 24.0px; + color: #BD271E; } + .theme-light .dshDashboardViewport { + width: 100%; + background-color: #FFF; } + .theme-light .dshDashboardViewport-withMargins { + width: 100%; } + +.dshPanel__optionsMenuForm { + padding: 16px; } + +.theme-dark { + background-color: #222; + /** + * 1. Due to https://github.com/STRML/react-grid-layout/issues/240 we have to manually hide the resizable + * element. + */ + /** + * 1. If we don't give the resizable handler a larger z index value the layout will hide it. + */ + /** + * 1. Need to override the react grid layout height when a single panel is expanded. Important is required because + * otherwise the height is set inline. + */ + /** + * .dshLayout-withoutMargins only affects the panel styles themselves, see ../panel + */ + /** + * When a single panel is expanded, all the other panels are hidden in the grid. + */ + /** + * 1. We need to mark this as important because react grid layout sets the width and height of the panels inline. + */ + /** + * 1. Use opacity to make this element accessible to screen readers and keyboard. + * 2. Show on focus to enable keyboard accessibility. + */ + /** + * 1. Use opacity to make this element accessible to screen readers and keyboard. + * 2. Show on focus to enable keyboard accessibility. + */ + /** + * Collapsible sidebar container + */ + /** + * Actual sidebar + */ + /** + * Resizer + */ + /** + * Canvas area + */ + /** + * 1. TODO: Override bootstrap styles. Remove !important once we're rid of bootstrap. + */ + /** + * 1. TODO: Override bootstrap styles. Remove !important once we're rid of bootstrap. + */ + /** + * 1. Hack to split child elements evenly. + */ + /** +* 1. Show invalid state if the user has interacted with the input without selecting an option. +*/ + /** + * 1. Since Leaflet is an external library, we also have to provide EUI variables + * to non-override colors for darkmode. + */ + /* over-rides leaflet popup styles to look like kibana tooltip */ + /** + * 1. Position the .visLegend__valueDetails absolutely against the legend item + * 2. Make sure the .visLegend__valueDetails is visible outside the list bounds + * 3. Make sure the currently selected item is top most in z level + */ } + .theme-dark .dshAppContainer { + -webkit-box-flex: 1; + -webkit-flex: 1; + -ms-flex: 1; + flex: 1; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; } + .theme-dark .dshStartScreen { + text-align: center; + margin: 16px auto; + max-width: 800px; + width: 100%; + background: #222; + padding: 40px; + border-radius: 4px; } + .theme-dark .dshSaveModal, + .theme-dark .dshCloneModal { + max-width: 450px; } + .theme-dark .react-grid-layout .gs-w { + z-index: auto; } + .theme-dark .dshLayout--viewing .react-resizable-handle { + display: none; + /* 1 */ } + .theme-dark .dshLayout--editing .react-resizable-handle { + z-index: 1000; + /* 1 */ + right: 4px; + bottom: 4px; } + .theme-dark .dshLayout-isMaximizedPanel { + height: 100% !important; + /* 1. */ + width: 100%; + position: absolute; } + .theme-dark .dshDashboardGrid__item--hidden { + display: none; } + .theme-dark .dshDashboardGrid__item--expanded { + height: 100% !important; + /* 1 */ + width: 100% !important; + /* 1 */ + top: 0 !important; + /* 1 */ + left: 0 !important; + /* 1 */ } + .theme-dark .react-grid-item { + /** + * Disable transitions from the library on each grid element. + */ + -webkit-transition: none; + transition: none; + /** + * Copy over and overwrite the fill color with EUI color mixin (for theming) + */ + /** + * Dragged/Resized panels in dashboard should always appear above other panels + * and above the placeholder + */ + /** + * Overwrites red coloring that comes from this library by default. + */ } + .theme-dark .react-grid-item > .react-resizable-handle { + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='6' viewBox='0 0 6 6'%3E%3Cpolygon fill='rgb%28138, 138, 138%29' points='6 6 0 6 0 4.2 4 4.2 4.2 4.2 4.2 0 6 0' /%3E%3C/svg%3E%0A"); } + .theme-dark .react-grid-item > .react-resizable-handle::after { + border: none; } + .theme-dark .react-grid-item.resizing, .theme-dark .react-grid-item.react-draggable-dragging { + z-index: 2000 !important; } + .theme-dark .react-grid-item.react-draggable-dragging { + -webkit-transition: -webkit-box-shadow 150ms cubic-bezier(0.694, 0.0482, 0.335, 1); + transition: -webkit-box-shadow 150ms cubic-bezier(0.694, 0.0482, 0.335, 1); + transition: box-shadow 150ms cubic-bezier(0.694, 0.0482, 0.335, 1); + transition: box-shadow 150ms cubic-bezier(0.694, 0.0482, 0.335, 1), -webkit-box-shadow 150ms cubic-bezier(0.694, 0.0482, 0.335, 1); + -webkit-box-shadow: 0 40px 64px 0 rgba(0, 0, 0, 0.1), 0 24px 32px 0 rgba(0, 0, 0, 0.1), 0 16px 16px 0 rgba(0, 0, 0, 0.1), 0 8px 8px 0 rgba(0, 0, 0, 0.1), 0 4px 4px 0 rgba(0, 0, 0, 0.1), 0 2px 2px 0 rgba(0, 0, 0, 0.1); + box-shadow: 0 40px 64px 0 rgba(0, 0, 0, 0.1), 0 24px 32px 0 rgba(0, 0, 0, 0.1), 0 16px 16px 0 rgba(0, 0, 0, 0.1), 0 8px 8px 0 rgba(0, 0, 0, 0.1), 0 4px 4px 0 rgba(0, 0, 0, 0.1), 0 2px 2px 0 rgba(0, 0, 0, 0.1); + border-radius: 4px; } + .theme-dark .react-grid-item.react-grid-placeholder { + border-radius: 4px; + background: #4DA1C0; } + .theme-dark .dshPanel { + z-index: auto; + -webkit-box-flex: 1; + -webkit-flex: 1; + -ms-flex: 1; + flex: 1; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + height: 100%; + position: relative; + /** + * 1. We want the kbnDocTable__container to scroll only when embedded in a dashboard panel + * 2. Fix overflow of vis's specifically for inside dashboard panels, lets the panel decide the overflow + * 3. Force a better looking scrollbar + */ } + .theme-dark .dshPanel .panel-content { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-flex: 1; + -webkit-flex: 1 1 100%; + -ms-flex: 1 1 100%; + flex: 1 1 100%; + height: auto; + z-index: 1; + min-height: 0; } + .theme-dark .dshPanel .panel-content--fullWidth { + width: 100%; } + .theme-dark .dshPanel .kbnDocTable__container { + -webkit-box-flex: 1; + -webkit-flex: 1 1 0; + -ms-flex: 1 1 0px; + flex: 1 1 0; + /* 1 */ + overflow: auto; + /* 1 */ } + .theme-dark .dshPanel .visualization { + scrollbar-width: thin; + /* 3 */ } + .theme-dark .dshPanel .visualization::-webkit-scrollbar { + width: 16px; + height: 16px; } + .theme-dark .dshPanel .visualization::-webkit-scrollbar-thumb { + background-color: rgba(138, 138, 138, 0.5); + border: 6px solid transparent; + background-clip: content-box; } + .theme-dark .dshPanel .visualization::-webkit-scrollbar-corner, .theme-dark .dshPanel .visualization::-webkit-scrollbar-track { + background-color: transparent; } + .theme-dark .dshPanel .visualization .visChart__container { + overflow: visible; + /* 2 */ } + .theme-dark .dshPanel--editing { + -webkit-transition: all 150ms cubic-bezier(0.694, 0.0482, 0.335, 1); + transition: all 150ms cubic-bezier(0.694, 0.0482, 0.335, 1); } + .theme-dark .dshPanel--editing:hover, .theme-dark .dshPanel--editing:focus { + border-color: #4DA1C0; + -webkit-box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.15), 0 2px 2px -1px rgba(0, 0, 0, 0.3); + box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.15), 0 2px 2px -1px rgba(0, 0, 0, 0.3); } + .theme-dark .dshLayout-withoutMargins .dshPanel:not(.dshPanel--editing), + .theme-dark .dshDashboardGrid__item--expanded .dshPanel:not(.dshPanel--editing) { + border-color: transparent; } + .theme-dark .dshLayout-withoutMargins .dshPanel, + .theme-dark .dshDashboardGrid__item--expanded .dshPanel { + -webkit-box-shadow: none; + box-shadow: none; + border-radius: 0; } + .theme-dark .dshPanel__header { + padding: 8px; + -webkit-box-flex: 0; + -webkit-flex: 0 0 auto; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + white-space: nowrap; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + border: none; + -webkit-transition: background-color 150ms cubic-bezier(0.694, 0.0482, 0.335, 1); + transition: background-color 150ms cubic-bezier(0.694, 0.0482, 0.335, 1); } + .theme-dark .dshPanel__title { + font-size: inherit; + color: #8A8A8A; + -webkit-transition: color 150ms cubic-bezier(0.694, 0.0482, 0.335, 1); + transition: color 150ms cubic-bezier(0.694, 0.0482, 0.335, 1); + -webkit-box-flex: 1; + -webkit-flex: 1 1 auto; + -ms-flex: 1 1 auto; + flex: 1 1 auto; + max-width: 100%; + /* 1 */ + overflow: hidden !important; + text-overflow: ellipsis !important; + white-space: nowrap !important; + word-wrap: normal !important; + /* 2 */ + display: inline-block; } + .theme-dark .dshPanel--editing:hover .dshPanel__header { + background-color: rgba(255, 255, 255, 0.05) !important; + cursor: move; } + .theme-dark .dshPanel--editing:hover .dshPanel__title:hover { + color: #4DA1C0; } + .theme-dark .dshPanel__header--floater { + opacity: 0; + /* 1 */ + position: absolute; + right: 1px; + top: 1px; + background-color: #222; + z-index: 1000; + -webkit-transition: opacity 150ms cubic-bezier(0.694, 0.0482, 0.335, 1); + transition: opacity 150ms cubic-bezier(0.694, 0.0482, 0.335, 1); } + .theme-dark .dshPanel__header--floater:focus { + /* 2 */ + opacity: 1; } + .theme-dark .dshPanel:hover .dshPanel__header--floater { + opacity: 1; } + .theme-dark .dshPanel_optionsMenuButton { + opacity: 0; + /* 1 */ } + .theme-dark .dshPanel_optionsMenuButton:focus { + /* 2 */ + opacity: 1; } + .theme-dark .dshPanel:hover .dshPanel_optionsMenuButton { + opacity: 1; } + .theme-dark .dshPanel__error { + text-align: center; + -webkit-box-pack: center; + -webkit-justify-content: center; + -ms-flex-pack: center; + justify-content: center; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + overflow: auto; } + .theme-dark .dshPanel__error .fa-exclamation-triangle { + font-size: 24.0px; + color: #BF4D4D; } + .theme-dark .dshDashboardViewport { + width: 100%; + background-color: #222; } + .theme-dark .dshDashboardViewport-withMargins { + width: 100%; } + .theme-dark .visTooltip, + .theme-dark .visTooltip__sizingClone { + -webkit-box-shadow: 0 12px 24px 0 rgba(255, 255, 255, 0.1), 0 6px 12px 0 rgba(255, 255, 255, 0.1), 0 4px 4px 0 rgba(255, 255, 255, 0.1), 0 2px 2px 0 rgba(255, 255, 255, 0.1); + box-shadow: 0 12px 24px 0 rgba(255, 255, 255, 0.1), 0 6px 12px 0 rgba(255, 255, 255, 0.1), 0 4px 4px 0 rgba(255, 255, 255, 0.1), 0 2px 2px 0 rgba(255, 255, 255, 0.1); + font-size: 12.0px; + font-size: 0.85714rem; + line-height: 1.5; + visibility: hidden; + pointer-events: none; + position: fixed; + z-index: 9000; + background-color: #1a1a1a; + color: #FFF; + border-radius: 4px; + max-width: 320px; + overflow: hidden; + overflow-wrap: break-word; } + .theme-dark .visTooltip > :last-child, + .theme-dark .visTooltip__sizingClone > :last-child { + margin-bottom: 8px; } + .theme-dark .visTooltip > *, + .theme-dark .visTooltip__sizingClone > * { + margin: 8px 8px 0; } + .theme-dark .visTooltip table td, + .theme-dark .visTooltip table th, + .theme-dark .visTooltip__sizingClone table td, + .theme-dark .visTooltip__sizingClone table th { + padding: 4px; } + .theme-dark .visTooltip__header { + margin: 0 0 8px 0; + padding: 4px 8px; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; } + .theme-dark .visTooltip__header:last-child { + margin-bottom: 0; } + .theme-dark .visTooltip__header + * { + margin-top: 8px; } + .theme-dark .visTooltip__headerIcon { + -webkit-box-flex: 0; + -webkit-flex: 0 0 auto; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + padding-right: 8px; } + .theme-dark .visTooltip__headerText { + -webkit-box-flex: 1; + -webkit-flex: 1 1 100%; + -ms-flex: 1 1 100%; + flex: 1 1 100%; } + .theme-dark .visTooltip__label { + font-weight: 600; + color: #cccccc; } + .theme-dark .visTooltip__sizingClone { + top: -500px; + left: -500px; } + .theme-dark .visEditorOptionsGroup__panel + .visEditorOptionsGroup__panel { + margin-top: 8px; } + .theme-dark .visEditor--default { + overflow-y: hidden; + -webkit-box-flex: 1; + -webkit-flex: 1 1 auto; + -ms-flex: 1 1 auto; + flex: 1 1 auto; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; } + @media only screen and (max-width: 574px) { + .theme-dark .visEditor--default { + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; } } + @media only screen and (min-width: 575px) and (max-width: 767px) { + .theme-dark .visEditor--default { + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; } } + @media only screen and (min-width: 768px) and (max-width: 991px) { + .theme-dark .visEditor--default { + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; } } + .theme-dark .visEditor__collapsibleSidebar { + -webkit-box-flex: 0; + -webkit-flex: 0 0 auto; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + margin-right: 24px; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; + min-width: 350px; + width: 350px; + max-width: 100%; } + .theme-dark .visEditor__collapsibleSidebar > * { + -webkit-flex-shrink: 0; + -ms-flex-negative: 0; + flex-shrink: 0; } + @media only screen and (max-width: 574px) { + .theme-dark .visEditor__collapsibleSidebar { + width: 100% !important; } } + @media only screen and (min-width: 575px) and (max-width: 767px) { + .theme-dark .visEditor__collapsibleSidebar { + width: 100% !important; } } + @media only screen and (min-width: 768px) and (max-width: 991px) { + .theme-dark .visEditor__collapsibleSidebar { + width: 100% !important; } } + @media only screen and (min-width: 992px) and (max-width: 1199px) { + .theme-dark .visEditor__collapsibleSidebar { + max-width: 75%; } } + @media only screen and (min-width: 1200px) { + .theme-dark .visEditor__collapsibleSidebar { + max-width: 75%; } } + .theme-dark .visEditor__collapsibleSidebar.closed { + min-width: 0; } + .theme-dark .visEditor__collapsibleSidebar--small { + width: 15%; } + .theme-dark .visEditor__collapsibleSidebar--medium { + width: 30%; } + .theme-dark .visEditor__collapsibleSidebar--large { + width: 50%; } + .theme-dark .visEditor__sidebar { + -webkit-box-flex: 1; + -webkit-flex: 1 0 auto; + -ms-flex: 1 0 auto; + flex: 1 0 auto; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; } + .theme-dark .visEditor__sidebar > * { + -webkit-flex-shrink: 0; + -ms-flex-negative: 0; + flex-shrink: 0; } + @media only screen and (min-width: 992px) and (max-width: 1199px) { + .theme-dark .visEditor__sidebar { + -webkit-flex-basis: 16.66667%; + -ms-flex-preferred-size: 16.66667%; + flex-basis: 16.66667%; + max-width: calc(100% - 12px); } } + @media only screen and (min-width: 1200px) { + .theme-dark .visEditor__sidebar { + -webkit-flex-basis: 16.66667%; + -ms-flex-preferred-size: 16.66667%; + flex-basis: 16.66667%; + max-width: calc(100% - 12px); } } + .theme-dark .visEditor__sidebar .kuiSideBarFormRow__label { + font-size: 12.0px; } + .theme-dark .visEditor__sidebar .form-group { + margin-bottom: 8px; } + .theme-dark .visEditor__resizer { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-flex: 0; + -webkit-flex: 0 0 12px; + -ms-flex: 0 0 12px; + flex: 0 0 12px; + background-color: #fafbfd; + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: center; + -webkit-justify-content: center; + -ms-flex-pack: center; + justify-content: center; + margin: 0; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + cursor: ew-resize; + width: 12px; } + .theme-dark .visEditor__resizer:hover { + background-color: #1f404d; } + .theme-dark .visEditor__resizer:focus, .theme-dark .visEditor__resizer.active { + background-color: #4DA1C0; + color: #222; } + @media only screen and (max-width: 574px) { + .theme-dark .visEditor__resizer { + display: none; } } + @media only screen and (min-width: 575px) and (max-width: 767px) { + .theme-dark .visEditor__resizer { + display: none; } } + @media only screen and (min-width: 768px) and (max-width: 991px) { + .theme-dark .visEditor__resizer { + display: none; } } + .theme-dark .visEditor__canvas { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; + overflow: auto; + -webkit-flex-shrink: 1; + -ms-flex-negative: 1; + flex-shrink: 1; + -webkit-flex-basis: 100%; + -ms-flex-preferred-size: 100%; + flex-basis: 100%; } + .theme-dark .visEditor__canvas.embedded { + -webkit-flex-shrink: 1; + -ms-flex-negative: 1; + flex-shrink: 1; + -webkit-flex-basis: 100%; + -ms-flex-preferred-size: 100%; + flex-basis: 100%; } + .theme-dark .visEditor__canvas .visualize { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + -webkit-box-flex: 1; + -webkit-flex: 1 1 100%; + -ms-flex: 1 1 100%; + flex: 1 1 100%; } + .theme-dark .visEditor__canvas .visChart { + position: relative; } + .theme-dark .visEditorSidebar__container { + -webkit-box-flex: 1; + -webkit-flex: 1 1 auto; + -ms-flex: 1 1 auto; + flex: 1 1 auto; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + background-color: #242424; } + .theme-dark .visEditorSidebar__container > * { + -webkit-flex-shrink: 0; + -ms-flex-negative: 0; + flex-shrink: 0; } + .theme-dark .visEditorSidebar__form { + -webkit-box-flex: 1; + -webkit-flex: 1 1 auto; + -ms-flex: 1 1 auto; + flex: 1 1 auto; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; } + .theme-dark .visEditorSidebar__form > * { + -webkit-flex-shrink: 0; + -ms-flex-negative: 0; + flex-shrink: 0; } + .theme-dark .visEditorSidebar__config { + padding: 8px; } + @media only screen and (min-width: 992px) and (max-width: 1199px) { + .theme-dark .visEditorSidebar__config { + -webkit-box-flex: 1; + -webkit-flex: 1 1 1px; + -ms-flex: 1 1 1px; + flex: 1 1 1px; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + overflow: auto; } + .theme-dark .visEditorSidebar__config > * { + -webkit-flex-shrink: 0; + -ms-flex-negative: 0; + flex-shrink: 0; } } + @media only screen and (min-width: 1200px) { + .theme-dark .visEditorSidebar__config { + -webkit-box-flex: 1; + -webkit-flex: 1 1 1px; + -ms-flex: 1 1 1px; + flex: 1 1 1px; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + overflow: auto; } + .theme-dark .visEditorSidebar__config > * { + -webkit-flex-shrink: 0; + -ms-flex-negative: 0; + flex-shrink: 0; } } + .theme-dark .visEditorSidebar__indexPattern, + .theme-dark .visEditorSidebar__nav { + min-height: auto; + border-radius: 0px; } + .theme-dark .visEditorSidebar__nav .navbar-right { + margin-right: -15px; } + .theme-dark .visEditorSidebar__navLink { + padding: 2px 8px !important; + /* 1 */ + color: #8A8A8A !important; + /* 1 */ } + .theme-dark .visEditorSidebar__navLink.visEditorSidebar__navLink-isSelected { + border-bottom: 2px solid #4DA1C0; + border-color: #4DA1C0 !important; + color: #4DA1C0 !important; } + .theme-dark .visEditorSidebar__navLink.visEditorSidebar__navLink-isSelected:before { + display: none; } + .theme-dark .visEditorSidebar__navLink.visEditorSidebar__navLink-isSelected:hover { + background-color: transparent; } + .theme-dark .visEditorSidebar__navLink--danger { + color: #222 !important; + /* 1 */ + background-color: #BF4D4D; } + .theme-dark .visEditorSidebar__navLink--danger:hover { + background-color: #bf4d4d !important; + /* 1 */ } + .theme-dark .visEditorSidebar__navButtonLink { + line-height: 16px; } + .theme-dark .visEditorAgg { + -webkit-box-flex: 1; + -webkit-flex: 1 1 auto; + -ms-flex: 1 1 auto; + flex: 1 1 auto; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + width: 100%; + max-width: 100%; + -webkit-flex-basis: 100%; + -ms-flex-preferred-size: 100%; + flex-basis: 100%; } + .theme-dark .visEditorAgg > * { + -webkit-flex-shrink: 0; + -ms-flex-negative: 0; + flex-shrink: 0; } + .theme-dark .visEditorAggHeader { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-flex: 1; + -webkit-flex: 1 0 auto; + -ms-flex: 1 0 auto; + flex: 1 0 auto; + margin-bottom: 8px; } + .theme-dark .visEditorAggHeader__toggle { + -webkit-box-flex: 0; + -webkit-flex: 0 0 auto; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + margin-right: 8px; + min-width: 24px; + min-height: 24px; + text-align: center; } + .theme-dark .visEditorAggHeader__title { + -webkit-box-flex: 0; + -webkit-flex: 0 0 auto; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + font-weight: 700; + max-width: 100%; + /* 1 */ + overflow: hidden !important; + text-overflow: ellipsis !important; + white-space: nowrap !important; + word-wrap: normal !important; + /* 2 */ } + .theme-dark .visEditorAggHeader__title--grow { + -webkit-box-flex: 1; + -webkit-flex-grow: 1; + -ms-flex-positive: 1; + flex-grow: 1; } + .theme-dark .visEditorAggHeader__description { + -webkit-box-flex: 1; + -webkit-flex: 1 1 0; + -ms-flex: 1 1 0px; + flex: 1 1 0; + font-weight: 400; + padding-right: 8px; + padding-left: 4px; + max-width: 100%; + /* 1 */ + overflow: hidden !important; + text-overflow: ellipsis !important; + white-space: nowrap !important; + word-wrap: normal !important; + /* 2 */ } + .theme-dark .visEditorAggHeader__description--danger { + color: #BF4D4D; + font-weight: 700; } + .theme-dark .visEditorAggHeader__controls { + -webkit-box-flex: 0; + -webkit-flex: 0 0 auto; + -ms-flex: 0 0 auto; + flex: 0 0 auto; } + .theme-dark .visEditorAgg__rangesTable td { + padding: 0 8px 8px 0; } + .theme-dark .visEditorAgg__rangesTable td:last-child { + padding-right: 0; } + .theme-dark .visEditorAgg__formRow--flex { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; } + .theme-dark .visEditorAgg__formRow--flex > * { + -webkit-box-flex: 1; + -webkit-flex: 1 1 auto; + -ms-flex: 1 1 auto; + flex: 1 1 auto; + margin-right: 8px; } + .theme-dark .visEditorAgg__formRow--flex > *:last-child { + margin-right: 0px; } + .theme-dark .visEditorAgg__formRow--split { + -webkit-box-flex: 1 !important; + -webkit-flex: 1 1 0 !important; + -ms-flex: 1 1 0px !important; + flex: 1 1 0 !important; + /* 1 */ } + .theme-dark .visEditorAgg__sliderValue { + -webkit-align-self: center; + -ms-flex-item-align: center; + align-self: center; + margin: 0 0 0 8px; + font-size: 14px; + font-size: 1rem; + line-height: 1.5; } + .theme-dark .visEditorAgg__subAgg { + border: 2px solid; + border-color: #333; + border-radius: 4px; + background-color: transparent; + margin: 8px 0; + padding: 8px; } + .theme-dark .visEditorAggGroup__wrapper { + border-top: 0 !important; + padding: 12px; + border-radius: 4px; + margin-bottom: 8px; + background: #222; } + .theme-dark .visEditorAggGroup__title { + font-size: 18.0px; + font-size: 1.28571rem; + line-height: 1.5; + margin-bottom: 8px !important; + padding: 0px !important; + text-transform: capitalize; } + .theme-dark .visEditorAggGroup { + color: #8A8A8A; } + .theme-dark .visEditorAggParam__error { + margin: 8px 0; + padding: 8px; + text-align: center; + color: #dc9f9f; + background-color: #391717; } + .theme-dark .visEditorAggSelect__select .ui-select-match-text { + max-width: 100%; + /* 1 */ + overflow: hidden !important; + text-overflow: ellipsis !important; + white-space: nowrap !important; + word-wrap: normal !important; + /* 2 */ } + .theme-dark .visEditorAggSelect__select.ng-invalid.ng-dirty .ui-select-match .btn, .theme-dark .visEditorAggSelect__select.ng-invalid.ng-touched .ui-select-match .btn { + border-color: #BF4D4D; + /* 1 */ } + .theme-dark .leaflet-bar { + -webkit-box-shadow: 0 6px 12px -1px rgba(0, 0, 0, 0.2), 0 4px 4px -1px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.2); + box-shadow: 0 6px 12px -1px rgba(0, 0, 0, 0.2), 0 4px 4px -1px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.2); } + .theme-dark .leaflet-container { + background: #222; + min-width: 1px !important; + min-height: 1px !important; } + .theme-dark .leaflet-clickable:hover { + stroke-width: 8px; + stroke-opacity: 0.8; } + .theme-dark .leaflet-control a { + background-color: #333; + /* 1 */ + border-color: #494E51; + /* 1 */ + color: #DDD; + /* 1 */ } + .theme-dark .leaflet-retina .leaflet-draw-toolbar a { + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 540 60' height='60' width='540'%3E%3Cg fill='rgb%28221, 221, 221%29'%3E%3Cg%3E%3Cpath d='M18 36v6h6v-6h-6zm4 4h-2v-2h2v2z'/%3E%3Cpath d='M36 18v6h6v-6h-6zm4 4h-2v-2h2v2z'/%3E%3Cpath d='M23.142 39.145l-2.285-2.29 16-15.998 2.285 2.285z'/%3E%3C/g%3E%3Cpath d='M100 24.565l-2.096 14.83L83.07 42 76 28.773 86.463 18z'/%3E%3Cpath d='M140 20h20v20h-20z'/%3E%3Cpath d='M221 30c0 6.078-4.926 11-11 11s-11-4.922-11-11c0-6.074 4.926-11 11-11s11 4.926 11 11z'/%3E%3Cpath d='M270,19c-4.971,0-9,4.029-9,9c0,4.971,5.001,12,9,14c4.001-2,9-9.029,9-14C279,23.029,274.971,19,270,19z M270,31.5c-2.484,0-4.5-2.014-4.5-4.5c0-2.484,2.016-4.5,4.5-4.5c2.485,0,4.5,2.016,4.5,4.5C274.5,29.486,272.485,31.5,270,31.5z'/%3E%3Cg%3E%3Cpath d='M337,30.156v0.407v5.604c0,1.658-1.344,3-3,3h-10c-1.655,0-3-1.342-3-3v-10c0-1.657,1.345-3,3-3h6.345 l3.19-3.17H324c-3.313,0-6,2.687-6,6v10c0,3.313,2.687,6,6,6h10c3.314,0,6-2.687,6-6v-8.809L337,30.156'/%3E%3Cpath d='M338.72 24.637l-8.892 8.892H327V30.7l8.89-8.89z'/%3E%3Cpath d='M338.697 17.826h4v4h-4z' transform='rotate(-134.99 340.703 19.817)'/%3E%3C/g%3E%3Cg%3E%3Cpath d='M381 42h18V24h-18v18zm14-16h2v14h-2V26zm-4 0h2v14h-2V26zm-4 0h2v14h-2V26zm-4 0h2v14h-2V26z'/%3E%3Cpath d='M395 20v-4h-10v4h-6v2h22v-2h-6zm-2 0h-6v-2h6v2z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E%0A"); + /* 1 */ } + .theme-dark .leaflet-control-layers-expanded { + padding: 0; + margin: 0; + font-size: 11px; + font-size: 0.78571rem; + font-family: "Open Sans", "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; + font-weight: 600; + line-height: 1.5; } + .theme-dark .leaflet-control-layers-expanded label { + font-weight: 600; + margin: 0; + padding: 0; } + .theme-dark .leaflet-popup-content-wrapper { + margin: 0; + padding: 0; + background: #1a1a1a; + color: #FFF; + border-radius: 4px !important; } + .theme-dark .leaflet-popup { + pointer-events: none; } + .theme-dark .leaflet-popup-content { + margin: 0; + font-size: 14px; + font-size: 1rem; + line-height: 1.5; + font-weight: 400; + word-wrap: break-word; + overflow: hidden; + pointer-events: none; } + .theme-dark .leaflet-popup-content > * { + margin: 8px 8px 0; } + .theme-dark .leaflet-popup-content > :last-child { + margin-bottom: 8px; } + .theme-dark .leaflet-popup-content table td, .theme-dark .leaflet-popup-content table th { + padding: 4px; } + .theme-dark .leaflet-popup-tip-container, + .theme-dark .leaflet-popup-close-button, + .theme-dark .leaflet-draw-tooltip { + display: none !important; } + .theme-dark .leaflet-control-attribution { + background-color: rgba(34, 34, 34, 0.3); + color: #8A8A8A; } + .theme-dark .leaflet-control-attribution p { + display: inline; } + .theme-dark .leaflet-draw-actions a { + background-color: #333; + color: #FFF; } + .theme-dark img.leaflet-tile { + -webkit-filter: invert(1) brightness(1.75) grayscale(1); + filter: invert(1) brightness(1.75) grayscale(1); } + .theme-dark img.leaflet-tile.filters-off { + -webkit-filter: none; + filter: none; } + .theme-dark .visMapLegend { + font-size: 11px; + font-size: 0.78571rem; + -webkit-box-shadow: 0 6px 12px -1px rgba(0, 0, 0, 0.1), 0 4px 4px -1px rgba(0, 0, 0, 0.1), 0 2px 2px 0 rgba(0, 0, 0, 0.1); + box-shadow: 0 6px 12px -1px rgba(0, 0, 0, 0.1), 0 4px 4px -1px rgba(0, 0, 0, 0.1), 0 2px 2px 0 rgba(0, 0, 0, 0.1); + font-family: "Open Sans", "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; + font-weight: 600; + line-height: 1.5; + color: #8A8A8A; + padding: 8px; + background: rgba(34, 34, 34, 0.2); + border-radius: 4px; } + .theme-dark .visMapLegend i { + width: 10px; + height: 10px; + display: inline-block; + margin: 3px 4px 0 0; + border-radius: 50%; + border: 1px solid #8A8A8A; + background: #8A8A8A; } + .theme-dark .visMapLegend__title { + font-weight: 700; } + .theme-dark .leaflet-top.leaflet-left .visMapLegend__wrapper { + position: absolute; + left: 40px; + white-space: nowrap; } + .theme-dark .visLib { + -webkit-box-flex: 1; + -webkit-flex: 1 1 0; + -ms-flex: 1 1 0px; + flex: 1 1 0; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; + overflow: auto; } + .theme-dark .visLib.visLib--legend-left { + -webkit-box-orient: horizontal; + -webkit-box-direction: reverse; + -webkit-flex-direction: row-reverse; + -ms-flex-direction: row-reverse; + flex-direction: row-reverse; } + .theme-dark .visLib.visLib--legend-right { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; } + .theme-dark .visLib.visLib--legend-top { + -webkit-box-orient: vertical; + -webkit-box-direction: reverse; + -webkit-flex-direction: column-reverse; + -ms-flex-direction: column-reverse; + flex-direction: column-reverse; } + .theme-dark .visLib.visLib--legend-bottom { + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; } + .theme-dark .visLib__chart { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-flex: 1; + -webkit-flex: 1 1 auto; + -ms-flex: 1 1 auto; + flex: 1 1 auto; + min-height: 0; + min-width: 0; } + .theme-dark .visLegend__toggle { + -webkit-align-self: flex-start; + -ms-flex-item-align: start; + align-self: flex-start; + color: rgba(255, 255, 255, 0.7) !important; } + .theme-dark .visLegend { + font-size: 12.0px; + font-size: 0.85714rem; + line-height: 1.5; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; + padding: 4px 0; + min-height: 0; + height: 100%; } + .theme-dark .visLib--legend-left .visLegend { + -webkit-box-orient: horizontal; + -webkit-box-direction: reverse; + -webkit-flex-direction: row-reverse; + -ms-flex-direction: row-reverse; + flex-direction: row-reverse; } + .theme-dark .visLib--legend-right .visLegend { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; } + .theme-dark .visLib--legend-top .visLegend { + -webkit-box-orient: vertical; + -webkit-box-direction: reverse; + -webkit-flex-direction: column-reverse; + -ms-flex-direction: column-reverse; + flex-direction: column-reverse; + width: 100%; + padding-left: 24px; } + .theme-dark .visLib--legend-bottom .visLegend { + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + width: 100%; + padding-left: 24px; } + .theme-dark .visLegend__list { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + line-height: 16px; + width: 150px; + -webkit-box-flex: 1; + -webkit-flex: 1 1 auto; + -ms-flex: 1 1 auto; + flex: 1 1 auto; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + min-height: 0; + overflow-x: hidden; + overflow-y: auto; } + .theme-dark .visLegend__list.hidden { + visibility: hidden; } + .theme-dark .visLib--legend-top .visLegend__list, + .theme-dark .visLib--legend-bottom .visLegend__list { + width: auto; + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; + -webkit-flex-wrap: wrap; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + overflow: visible; + /* 2 */ } + .theme-dark .visLib--legend-top .visLegend__list .visLegend__value, + .theme-dark .visLib--legend-bottom .visLegend__list .visLegend__value { + -webkit-box-flex: 0; + -webkit-flex-grow: 0; + -ms-flex-positive: 0; + flex-grow: 0; + max-width: 150px; } + .theme-dark .visLegend__value { + cursor: pointer; + padding: 4px; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-flex-shrink: 0; + -ms-flex-negative: 0; + flex-shrink: 0; + position: relative; + /* 1 */ } + .theme-dark .visLegend__value > * { + width: 100%; } + .theme-dark .visLegend__value.disabled { + opacity: 0.5; } + .theme-dark .visLegend__valueTitle { + max-width: 100%; + /* 1 */ + overflow: hidden !important; + text-overflow: ellipsis !important; + white-space: nowrap !important; + word-wrap: normal !important; + /* 2 */ + color: rgba(255, 255, 255, 0.4); } + .theme-dark .visLegend__valueTitle:hover { + text-decoration: underline; } + .theme-dark .visLegend__valueTitle--full ~ .visLegend__valueDetails { + z-index: 2; + /* 3 */ } + .theme-dark .visLegend__valueDetails { + background-color: #222; } + .theme-dark .visLib--legend-left .visLegend__valueDetails, + .theme-dark .visLib--legend-right .visLegend__valueDetails { + margin-top: 4px; + border-bottom: 1px solid #D3DAE6; } + .theme-dark .visLib--legend-top .visLegend__valueDetails, + .theme-dark .visLib--legend-bottom .visLegend__valueDetails { + -webkit-box-shadow: 0 6px 12px -1px rgba(0, 0, 0, 0.2), 0 4px 4px -1px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.2); + box-shadow: 0 6px 12px -1px rgba(0, 0, 0, 0.2), 0 4px 4px -1px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.2); + position: absolute; + /* 1 */ + border-radius: 4px; } + .theme-dark .visLib--legend-bottom .visLegend__valueDetails { + bottom: 24px; } + .theme-dark .visLib--legend-top .visLegend__valueDetails { + margin-top: 4px; } + .theme-dark .visLegend__valueColorPicker { + width: 120px; + margin: auto; } + .theme-dark .visLegend__valueColorPicker .visLegend__valueColorPickerDot { + margin: 2px; + width: 11px; } + .theme-dark .visLegend__valueColorPicker .visLegend__valueColorPickerDot:hover { + -webkit-transform: scale(1.4); + transform: scale(1.4); } + .theme-dark .visAlerts__tray { + position: absolute; + bottom: 5px; + left: 0; + right: 0; + list-style: none; + padding: 0; + -webkit-transition-property: opacity; + transition-property: opacity; + -webkit-transition-delay: 90ms; + transition-delay: 90ms; + -webkit-transition-duration: 90ms; + transition-duration: 90ms; } + .theme-dark .visAlerts__icon { + margin: 0; + padding: 0 8px; + -webkit-box-flex: 0; + -webkit-flex: 0 0 auto; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + -webkit-align-self: center; + -ms-flex-item-align: center; + align-self: center; } + .theme-dark .visAlerts__text { + -webkit-box-flex: 1; + -webkit-flex: 1 1 auto; + -ms-flex: 1 1 auto; + flex: 1 1 auto; + margin: 0; + padding: 0; } + .theme-dark .visAlerts__close { + cursor: pointer; } + .theme-dark .visAlert { + margin: 0 8px 8px; + padding: 4px 8px 4px 4px; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; } + .theme-dark .visAlert--info { + background-color: #17303a; + color: #7cbad1; } + .theme-dark .visAlert--success { + background-color: #002623; + color: #66b2ab; } + .theme-dark .visAlert--warning { + background-color: #3a2017; + color: #d9a795; } + .theme-dark .visAlert--danger { + background-color: #391717; + color: #dc9f9f; } + .theme-dark .visError { + -webkit-box-flex: 1; + -webkit-flex: 1 1 0; + -ms-flex: 1 1 0px; + flex: 1 1 0; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: center; + -webkit-justify-content: center; + -ms-flex-pack: center; + justify-content: center; } + .theme-dark .visError .top { + -webkit-align-self: flex-start; + -ms-flex-item-align: start; + align-self: flex-start; } + .theme-dark .visError .bottom { + -webkit-align-self: flex-end; + -ms-flex-item-align: end; + align-self: flex-end; } + .theme-dark .visError p { + margin-top: 15%; + font-size: 18.0px; + font-size: 1.28571rem; + line-height: 1.5; } + .theme-dark .visError--request { + max-width: 100%; + max-height: 100%; } + .theme-dark .visWrapper { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-flex: 1; + -webkit-flex: 1 1 100%; + -ms-flex: 1 1 100%; + flex: 1 1 100%; + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; + min-height: 0; + min-width: 0; + overflow: hidden; + padding: 10px 0; } + .theme-dark .visWrapper__column { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-flex: 1; + -webkit-flex: 1 0 0px; + -ms-flex: 1 0 0px; + flex: 1 0 0px; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + min-height: 0; + min-width: 0; } + .theme-dark .visWrapper__splitCharts--column { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-flex: 1; + -webkit-flex: 1 0 20px; + -ms-flex: 1 0 20px; + flex: 1 0 20px; + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; + min-height: 0; + min-width: 0; } + .theme-dark .visWrapper__splitCharts--column .visWrapper__chart { + margin-top: 0px; + margin-bottom: 0px; } + .theme-dark .visWrapper__splitCharts--row { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + -webkit-box-flex: 1; + -webkit-flex: 1 1 100%; + -ms-flex: 1 1 100%; + flex: 1 1 100%; + min-height: 0; + min-width: 0; } + .theme-dark .visWrapper__splitCharts--row .visWrapper__chart { + margin-left: 0px; + margin-right: 0px; } + .theme-dark .visWrapper__chart { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-flex: 1; + -webkit-flex: 1 0 0px; + -ms-flex: 1 0 0px; + flex: 1 0 0px; + overflow: visible; + margin: 5px; + min-height: 0; + min-width: 0; } + .theme-dark .visWrapper__alerts { + position: relative; } + .theme-dark .visAxis__column--top .axis-div svg { + margin-bottom: -5px; } + .theme-dark .visAxis--x, + .theme-dark .visAxis--y { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + min-height: 0; + min-width: 0; } + .theme-dark .visAxis--x { + overflow: visible; } + .theme-dark .visAxis__spacer--y { + min-height: 0px; } + .theme-dark .visAxis__column--y { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; + -webkit-box-flex: 1; + -webkit-flex: 1 0 36px; + -ms-flex: 1 0 36px; + flex: 1 0 36px; + min-height: 0; + min-width: 0; } + .theme-dark .visAxis__splitTitles--y { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + min-height: 12px; + min-width: 0; } + .theme-dark .visAxis__splitTitles--x { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; + min-height: 1px; + max-height: 16px; + min-width: 16px; } + .theme-dark .visAxis__splitAxes--x, + .theme-dark .visAxis__splitAxes--y { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + min-height: 20px; + min-width: 0; } + .theme-dark .visAxis__splitAxes--x { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; + min-height: 0; } + .theme-dark .visWrapper { + /* Brush Styling */ } + .theme-dark .visWrapper svg { + overflow: visible; } + .theme-dark .visWrapper rect { + opacity: 1; } + .theme-dark .visWrapper rect:hover { + opacity: 0.8; } + .theme-dark .visWrapper circle { + opacity: 0; } + .theme-dark .visWrapper circle:hover { + opacity: 1; + stroke-width: 8px; + stroke-opacity: 0.8; } + .theme-dark .visWrapper .label-line { + fill: none; + stroke-width: 2px; + stroke: rgba(255, 255, 255, 0.2); } + .theme-dark .visWrapper .label-text { + font-size: 12.0px; + font-size: 0.85714rem; + font-weight: 400; } + .theme-dark .visWrapper .y-axis-div { + -webkit-box-flex: 1; + -webkit-flex: 1 1 24px; + -ms-flex: 1 1 24px; + flex: 1 1 24px; + min-width: 1px; + min-height: 12px; + margin: 5px 0; } + .theme-dark .visWrapper .x-axis-div { + min-height: 0px; + min-width: 1px; + margin: 0px 5px; + width: 100%; } + .theme-dark .visWrapper .x-axis-div svg { + float: left; + /* for some reason svg wont get positioned in top left corner of container div without this */ } + .theme-dark .visWrapper .tick text { + font-size: 11.0px; + font-size: 0.78571rem; + fill: rgba(255, 255, 255, 0.7); } + .theme-dark .visWrapper .axis-title text { + font-size: 12.0px; + font-size: 0.85714rem; + font-weight: 700; + fill: rgba(255, 255, 255, 0.4); } + .theme-dark .visWrapper .y-axis-title { + min-height: 14px; + min-width: 1px; } + .theme-dark .visWrapper .x-axis-title { + min-width: 16px; } + .theme-dark .visWrapper .chart-title { + -webkit-box-flex: 1; + -webkit-flex: 1 1 100%; + -ms-flex: 1 1 100%; + flex: 1 1 100%; + min-height: 14px; + min-width: 14px; } + .theme-dark .visWrapper .chart-title text { + font-size: 11.0px; + font-size: 0.78571rem; + fill: rgba(255, 255, 255, 0.4); } + .theme-dark .visWrapper .chart { + -webkit-box-flex: 1; + -webkit-flex: 1 1 100%; + -ms-flex: 1 1 100%; + flex: 1 1 100%; + min-height: 0; + min-width: 0; + overflow: visible; } + .theme-dark .visWrapper .chart > svg { + display: block; } + .theme-dark .visWrapper .chart-row, + .theme-dark .visWrapper .chart-column { + -webkit-box-flex: 1; + -webkit-flex: 1 1 auto; + -ms-flex: 1 1 auto; + flex: 1 1 auto; + min-height: 0; + min-width: 0; } + .theme-dark .visWrapper .visWrapper__chart--first { + margin-top: 0px; + margin-left: 0px; } + .theme-dark .visWrapper .visWrapper__chart--last { + margin-bottom: 0px; + margin-right: 0px; } + .theme-dark .visWrapper .axis { + shape-rendering: crispEdges; + stroke-width: 1px; } + .theme-dark .visWrapper .axis line, .theme-dark .visWrapper .axis path { + stroke: #D3DAE6; + fill: none; + shape-rendering: crispEdges; } + .theme-dark .visWrapper .chart-label, + .theme-dark .visWrapper .label-text, + .theme-dark .visWrapper .chart-text { + fill: rgba(255, 255, 255, 0.7); } + .theme-dark .visWrapper .brush .extent { + shape-rendering: crispEdges; + fill: rgba(255, 255, 255, 0.1); } + .theme-dark .visWrapper .visAreaChart__overlapArea { + opacity: 0.8; } + .theme-dark .visWrapper .series > path, + .theme-dark .visWrapper .series > rect { + fill-opacity: 0.8; + stroke-opacity: 1; + stroke-width: 0; } + .theme-dark .visWrapper .blur_shape { + opacity: 0.3 !important; } + .theme-dark .visWrapper .slice { + stroke-width: 2px; + stroke: #222; } + .theme-dark .visWrapper .slice:hover { + opacity: 0.8; } + .theme-dark .visWrapper .line circle { + opacity: 1; } + .theme-dark .visWrapper .line circle:hover { + stroke-width: 8px; + stroke-opacity: 0.8; } + .theme-dark .visWrapper .endzone { + pointer-events: none; + fill: rgba(255, 255, 255, 0.1); } +/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy91aS9wdWJsaWMvc3R5bGVzL19sZWdhY3kvX2RlcHRoLnNjc3MiLCIuLi8uLi8uLi8uLi9zcmMvdWkvcHVibGljL3N0eWxlcy9fbGVnYWN5L19iYXNlLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGVsYXN0aWMvZXVpL3NyYy9nbG9iYWxfc3R5bGluZy92YXJpYWJsZXMvX3NpemUuc2NzcyIsImluZGV4LmNzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZWxhc3RpYy9ldWkvc3JjL2dsb2JhbF9zdHlsaW5nL3ZhcmlhYmxlcy9fY29sb3JzLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGVsYXN0aWMvZXVpL3NyYy90aGVtZXMvazYvazZfZ2xvYmFscy5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BlbGFzdGljL2V1aS9zcmMvZ2xvYmFsX3N0eWxpbmcvdmFyaWFibGVzL190eXBvZ3JhcGh5LnNjc3MiLCIuLi8uLi8uLi8uLi9zcmMvdWkvcHVibGljL3N0eWxlcy9fbGVnYWN5L2NvbXBvbmVudHMvX2NvbnRyb2xfZ3JvdXAuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZWxhc3RpYy9ldWkvc3JjL2dsb2JhbF9zdHlsaW5nL3ZhcmlhYmxlcy9fYm9yZGVycy5zY3NzIiwiLi4vLi4vLi4vLi4vc3JjL3VpL3B1YmxpYy9zdHlsZXMvX21peGlucy5zY3NzIiwiLi4vLi4vLi4vLi4vc3JjL3VpL3B1YmxpYy9zdHlsZXMvX2xlZ2FjeS9jb21wb25lbnRzL19oaW50Ym94LnNjc3MiLCIuLi8uLi8uLi8uLi9zcmMvdWkvcHVibGljL3N0eWxlcy9fbGVnYWN5L2NvbXBvbmVudHMvX2lucHV0LnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGVsYXN0aWMvZXVpL3NyYy90aGVtZXMvazYvazZfY29sb3JzX2xpZ2h0LnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGVsYXN0aWMvZXVpL3NyYy90aGVtZXMvazYvazZfY29sb3JzX2Rhcmsuc2NzcyIsIi4uLy4uLy4uLy4uL3NyYy91aS9wdWJsaWMvc3R5bGVzL19sZWdhY3kvY29tcG9uZW50cy9fa3VpX2Zvcm1zLnNjc3MiLCIuLi8uLi8uLi8uLi9zcmMvdWkvcHVibGljL3N0eWxlcy9fbGVnYWN5L2NvbXBvbmVudHMvX2t1aV9zaWRlYmFyLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGVsYXN0aWMvZXVpL3NyYy9nbG9iYWxfc3R5bGluZy9mdW5jdGlvbnMvX2NvbG9ycy5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BlbGFzdGljL2V1aS9zcmMvZ2xvYmFsX3N0eWxpbmcvbWl4aW5zL19zaXplLnNjc3MiLCIuLi8uLi8uLi8uLi9zcmMvdWkvcHVibGljL3N0eWxlcy9fbGVnYWN5L2NvbXBvbmVudHMvX2xpc3RfZ3JvdXBfbWVudS5zY3NzIiwiLi4vLi4vLi4vLi4vc3JjL3VpL3B1YmxpYy9zdHlsZXMvX2xlZ2FjeS9jb21wb25lbnRzL19uYXZiYXIuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZWxhc3RpYy9ldWkvc3JjL2dsb2JhbF9zdHlsaW5nL3ZhcmlhYmxlcy9fel9pbmRleC5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BlbGFzdGljL2V1aS9zcmMvZ2xvYmFsX3N0eWxpbmcvbWl4aW5zL190eXBvZ3JhcGh5LnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGVsYXN0aWMvZXVpL3NyYy9nbG9iYWxfc3R5bGluZy9taXhpbnMvX3Jlc3BvbnNpdmUuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZWxhc3RpYy9ldWkvc3JjL2dsb2JhbF9zdHlsaW5nL3ZhcmlhYmxlcy9fcmVzcG9uc2l2ZS5zY3NzIiwiLi4vLi4vLi4vLi4vc3JjL3VpL3B1YmxpYy9zdHlsZXMvX2xlZ2FjeS9jb21wb25lbnRzL19jb25maWcuc2NzcyIsIi4uLy4uLy4uLy4uL3NyYy91aS9wdWJsaWMvc3R5bGVzL19sZWdhY3kvY29tcG9uZW50cy9fcGFnaW5hdGlvbi5zY3NzIiwiLi4vLi4vLi4vLi4vc3JjL3VpL3B1YmxpYy9zdHlsZXMvX2xlZ2FjeS9jb21wb25lbnRzL19yZWFjdF9pbnB1dF9yYW5nZS5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BlbGFzdGljL2V1aS9zcmMvZ2xvYmFsX3N0eWxpbmcvbWl4aW5zL19zdGF0ZXMuc2NzcyIsIi4uLy4uLy4uLy4uL3NyYy91aS9wdWJsaWMvc3R5bGVzL19sZWdhY3kvY29tcG9uZW50cy9fc2lkZWJhci5zY3NzIiwiLi4vLi4vLi4vLi4vc3JjL3VpL3B1YmxpYy9zdHlsZXMvX2xlZ2FjeS9jb21wb25lbnRzL19zcGlubmVyLnNjc3MiLCIuLi8uLi8uLi8uLi9zcmMvdWkvcHVibGljL3N0eWxlcy9fbGVnYWN5L2NvbXBvbmVudHMvX3RhYmxlLnNjc3MiLCIuLi8uLi8uLi8uLi9zcmMvdWkvcHVibGljL3N0eWxlcy9fbGVnYWN5L2NvbXBvbmVudHMvX3RydW5jYXRlLnNjc3MiLCIuLi8uLi8uLi8uLi9zcmMvdWkvcHVibGljL3N0eWxlcy9fbGVnYWN5L2NvbXBvbmVudHMvX3VpX3NlbGVjdC5zY3NzIiwiLi4vLi4vLi4vLi4vc3JjL3VpL3B1YmxpYy9hY2Nlc3NpYmlsaXR5L19rYm5fdWlfYWNlX2tleWJvYXJkX21vZGUuc2NzcyIsIi4uLy4uLy4uLy4uL3NyYy91aS9wdWJsaWMvYWdnX3RhYmxlL19hZ2dfdGFibGUuc2NzcyIsIi4uLy4uLy4uLy4uL3NyYy91aS9wdWJsaWMvY2hyb21lL2RpcmVjdGl2ZXMvX2tibl9jaHJvbWUuc2NzcyIsIi4uLy4uLy4uLy4uL3NyYy91aS9wdWJsaWMvY2hyb21lL192YXJpYWJsZXMuc2NzcyIsIi4uLy4uLy4uLy4uL3NyYy91aS9wdWJsaWMvY2hyb21lL2RpcmVjdGl2ZXMvX2xvYWRpbmdfaW5kaWNhdG9yLnNjc3MiLCIuLi8uLi8uLi8uLi9zcmMvdWkvcHVibGljL2Nocm9tZS9kaXJlY3RpdmVzL2dsb2JhbF9uYXYvX2dsb2JhbF9uYXYuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZWxhc3RpYy9ldWkvc3JjL2dsb2JhbF9zdHlsaW5nL21peGlucy9faGVscGVycy5zY3NzIiwiLi4vLi4vLi4vLi4vc3JjL3VpL3B1YmxpYy9jaHJvbWUvZGlyZWN0aXZlcy9nbG9iYWxfbmF2L2dsb2JhbF9uYXZfbGluay9fZ2xvYmFsX25hdl9saW5rLnNjc3MiLCIuLi8uLi8uLi8uLi9zcmMvdWkvcHVibGljL2Nocm9tZS9kaXJlY3RpdmVzL2hlYWRlcl9nbG9iYWxfbmF2L19oZWFkZXJfZ2xvYmFsX25hdi5zY3NzIiwiLi4vLi4vLi4vLi4vc3JjL3VpL3B1YmxpYy9jb2xsYXBzaWJsZV9zaWRlYmFyL19jb2xsYXBzaWJsZV9zaWRlYmFyLnNjc3MiLCIuLi8uLi8uLi8uLi9zcmMvdWkvcHVibGljL2RpcmVjdGl2ZXMvcGFydGlhbHMvX3RhYmxlX2NlbGxfZmlsdGVyLnNjc3MiLCIuLi8uLi8uLi8uLi9zcmMvdWkvcHVibGljL2RpcmVjdGl2ZXMvX2lucHV0X2RhdGV0aW1lLnNjc3MiLCIuLi8uLi8uLi8uLi9zcmMvdWkvcHVibGljL2RvY190YWJsZS9fZG9jX3RhYmxlLnNjc3MiLCIuLi8uLi8uLi8uLi9zcmMvdWkvcHVibGljL2RvY190YWJsZS9jb21wb25lbnRzL190YWJsZV9oZWFkZXIuc2NzcyIsIi4uLy4uLy4uLy4uL3NyYy91aS9wdWJsaWMvZG9jX3RhYmxlL2NvbXBvbmVudHMvdGFibGVfcm93L19jZWxsLnNjc3MiLCIuLi8uLi8uLi8uLi9zcmMvdWkvcHVibGljL2RvY190YWJsZS9jb21wb25lbnRzL3RhYmxlX3Jvdy9fZGV0YWlscy5zY3NzIiwiLi4vLi4vLi4vLi4vc3JjL3VpL3B1YmxpYy9kb2NfdGFibGUvY29tcG9uZW50cy90YWJsZV9yb3cvX29wZW4uc2NzcyIsIi4uLy4uLy4uLy4uL3NyYy91aS9wdWJsaWMvZG9jX3ZpZXdlci9fZG9jX3ZpZXdlci5zY3NzIiwiLi4vLi4vLi4vLi4vc3JjL3VpL3B1YmxpYy9lcnJvcl9hbGxvd19leHBsaWNpdF9pbmRleC9fZXJyb3JfYWxsb3dfZXhwbGljaXRfaW5kZXguc2NzcyIsIi4uLy4uLy4uLy4uL3NyYy91aS9wdWJsaWMvZXJyb3JfYXV0b19jcmVhdGVfaW5kZXgvX2Vycm9yX2F1dG9fY3JlYXRlX2luZGV4LnNjc3MiLCIuLi8uLi8uLi8uLi9zcmMvdWkvcHVibGljL2Vycm9yX3VybF9vdmVyZmxvdy9fZXJyb3JfdXJsX292ZXJmbG93LnNjc3MiLCIuLi8uLi8uLi8uLi9zcmMvdWkvcHVibGljL2V4aXRfZnVsbF9zY3JlZW4vX2V4aXRfZnVsbF9zY3JlZW5fYnV0dG9uLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGVsYXN0aWMvZXVpL3NyYy9nbG9iYWxfc3R5bGluZy92YXJpYWJsZXMvX2FuaW1hdGlvbnMuc2NzcyIsIi4uLy4uLy4uLy4uL3NyYy91aS9wdWJsaWMvZmllbGRfZWRpdG9yL2NvbXBvbmVudHMvZmllbGRfZm9ybWF0X2VkaXRvci9zYW1wbGVzL19zYW1wbGVzLnNjc3MiLCIuLi8uLi8uLi8uLi9zcmMvdWkvcHVibGljL2luc3BlY3Rvci91aS9faW5zcGVjdG9yLnNjc3MiLCIuLi8uLi8uLi8uLi9zcmMvdWkvcHVibGljL21hcmtkb3duL19naXRodWJfbWFya2Rvd24uc2NzcyIsIi4uLy4uLy4uLy4uL3NyYy91aS9wdWJsaWMvbm90aWZ5L2Jhbm5lcnMvX2dsb2JhbF9iYW5uZXJfbGlzdC5zY3NzIiwiLi4vLi4vLi4vLi4vc3JjL3VpL3B1YmxpYy9ub3RpZnkvcGFydGlhbHMvX3RvYXN0ZXIuc2NzcyIsIi4uLy4uLy4uLy4uL3NyYy91aS9wdWJsaWMvcGFydGlhbHMvX2luZGV4LnNjc3MiLCIuLi8uLi8uLi8uLi9zcmMvdWkvcHVibGljL3F1ZXJ5X2Jhci9jb21wb25lbnRzL19xdWVyeV9iYXIuc2NzcyIsIi4uLy4uLy4uLy4uL3NyYy91aS9wdWJsaWMvcXVlcnlfYmFyL2NvbXBvbmVudHMvdHlwZWFoZWFkL19zdWdnZXN0aW9uLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGVsYXN0aWMvZXVpL3NyYy9nbG9iYWxfc3R5bGluZy9taXhpbnMvX3NoYWRvdy5zY3NzIiwiLi4vLi4vLi4vLi4vc3JjL3VpL3B1YmxpYy9xdWVyeV9iYXIvX2luZGV4LnNjc3MiLCIuLi8uLi8uLi8uLi9zcmMvdWkvcHVibGljL3N0eWxlX2NvbXBpbGUvX2luZGV4LnNjc3MiLCIuLi8uLi8uLi8uLi9zcmMvdWkvcHVibGljL3Zpc2xpYi9saWIvX2FsZXJ0cy5zY3NzIiwiLi4vLi4vLi4vLi4vc3JjL3VpL3B1YmxpYy92aXNsaWIvbGliL19oYW5kbGVyLnNjc3MiLCIuLi8uLi8uLi8uLi9zcmMvdWkvcHVibGljL3Zpc2xpYi9saWIvbGF5b3V0L19sYXlvdXQuc2NzcyIsIi4uLy4uLy4uLy4uL3NyYy91aS9wdWJsaWMvdmlzbGliL192YXJpYWJsZXMuc2NzcyIsIi4uLy4uLy4uLy4uL3NyYy91aS9wdWJsaWMvdmlzdWFsaXplL2NvbXBvbmVudHMvX3Zpc3VhbGl6YXRpb24uc2NzcyIsIi4uLy4uLy4uLy4uL3NyYy9sZWdhY3kvY29yZV9wbHVnaW5zL2tpYmFuYS9wdWJsaWMvY29udGV4dC9jb21wb25lbnRzL3NpemVfcGlja2VyL19zaXplX3BpY2tlci5zY3NzIiwiLi4vLi4vLi4vLi4vc3JjL2xlZ2FjeS9jb3JlX3BsdWdpbnMva2liYW5hL3B1YmxpYy9kZXZfdG9vbHMvX2luZGV4LnNjc3MiLCIuLi8uLi8uLi8uLi9zcmMvbGVnYWN5L2NvcmVfcGx1Z2lucy9raWJhbmEvcHVibGljL2Rpc2NvdmVyL2NvbXBvbmVudHMvZmV0Y2hfZXJyb3IvX2ZldGNoX2Vycm9yLnNjc3MiLCIuLi8uLi8uLi8uLi9zcmMvbGVnYWN5L2NvcmVfcGx1Z2lucy9raWJhbmEvcHVibGljL2Rpc2NvdmVyL2NvbXBvbmVudHMvZmllbGRfY2hvb3Nlci9fZmllbGRfY2hvb3Nlci5zY3NzIiwiLi4vLi4vLi4vLi4vc3JjL2xlZ2FjeS9jb3JlX3BsdWdpbnMva2liYW5hL3B1YmxpYy9kaXNjb3Zlci9kaXJlY3RpdmVzL19ub19yZXN1bHRzLnNjc3MiLCIuLi8uLi8uLi8uLi9zcmMvbGVnYWN5L2NvcmVfcGx1Z2lucy9raWJhbmEvcHVibGljL2Rpc2NvdmVyL19oYWNrcy5zY3NzIiwiLi4vLi4vLi4vLi4vc3JjL2xlZ2FjeS9jb3JlX3BsdWdpbnMva2liYW5hL3B1YmxpYy9kaXNjb3Zlci9fZGlzY292ZXIuc2NzcyIsIi4uLy4uLy4uLy4uL3NyYy9sZWdhY3kvY29yZV9wbHVnaW5zL2tpYmFuYS9wdWJsaWMvaG9tZS9faG9tZS5zY3NzIiwiLi4vLi4vLi4vLi4vc3JjL2xlZ2FjeS9jb3JlX3BsdWdpbnMva2liYW5hL3B1YmxpYy9ob21lL2NvbXBvbmVudHMvX2FkZF9kYXRhLnNjc3MiLCIuLi8uLi8uLi8uLi9zcmMvbGVnYWN5L2NvcmVfcGx1Z2lucy9raWJhbmEvcHVibGljL2hvbWUvY29tcG9uZW50cy9fcmVjZW50bHlfYWNjZXNzZWQuc2NzcyIsIi4uLy4uLy4uLy4uL3NyYy9sZWdhY3kvY29yZV9wbHVnaW5zL2tpYmFuYS9wdWJsaWMvaG9tZS9jb21wb25lbnRzL19zeW5vcHNpcy5zY3NzIiwiLi4vLi4vLi4vLi4vc3JjL2xlZ2FjeS9jb3JlX3BsdWdpbnMva2liYW5hL3B1YmxpYy9ob21lL2NvbXBvbmVudHMvX3dlbGNvbWUuc2NzcyIsIi4uLy4uLy4uLy4uL3NyYy9sZWdhY3kvY29yZV9wbHVnaW5zL2tpYmFuYS9wdWJsaWMvaG9tZS9jb21wb25lbnRzL3R1dG9yaWFsL190dXRvcmlhbC5zY3NzIiwiLi4vLi4vLi4vLi4vc3JjL2xlZ2FjeS9jb3JlX3BsdWdpbnMva2liYW5hL3B1YmxpYy92aXN1YWxpemUvZWRpdG9yL19lZGl0b3Iuc2NzcyIsIi4uLy4uLy4uLy4uL3NyYy9sZWdhY3kvY29yZV9wbHVnaW5zL2tpYmFuYS9wdWJsaWMvdmlzdWFsaXplL2VtYmVkZGFibGUvX3Zpc3VhbGl6ZV9sYWJfZGlzYWJsZWQuc2NzcyIsIi4uLy4uLy4uLy4uL3NyYy9sZWdhY3kvY29yZV9wbHVnaW5zL2tpYmFuYS9wdWJsaWMvdmlzdWFsaXplL2xpc3RpbmcvX2xpc3Rpbmcuc2NzcyIsIi4uLy4uLy4uLy4uL3NyYy9sZWdhY3kvY29yZV9wbHVnaW5zL2tpYmFuYS9wdWJsaWMvdmlzdWFsaXplL3dpemFyZC9fd2l6YXJkLnNjc3MiLCIuLi8uLi8uLi8uLi9zcmMvbGVnYWN5L2NvcmVfcGx1Z2lucy9raWJhbmEvcHVibGljL3Zpc3VhbGl6ZS93aXphcmQvX2RpYWxvZy5zY3NzIiwiLi4vLi4vLi4vLi4vc3JjL3VpL3B1YmxpYy92aXMvY29tcG9uZW50cy90b29sdGlwL190b29sdGlwLnNjc3MiLCIuLi8uLi8uLi8uLi9zcmMvdWkvcHVibGljL3Zpcy9lZGl0b3JzL2NvbXBvbmVudHMvX2VkaXRvcl9vcHRpb25zX2dyb3VwLnNjc3MiLCIuLi8uLi8uLi8uLi9zcmMvdWkvcHVibGljL3Zpcy9lZGl0b3JzL2RlZmF1bHQvX2RlZmF1bHQuc2NzcyIsIi4uLy4uLy4uLy4uL3NyYy91aS9wdWJsaWMvdmlzL2VkaXRvcnMvZGVmYXVsdC9faW5kZXguc2NzcyIsIi4uLy4uLy4uLy4uL3NyYy91aS9wdWJsaWMvdmlzL2VkaXRvcnMvZGVmYXVsdC9fc2lkZWJhci5zY3NzIiwiLi4vLi4vLi4vLi4vc3JjL3VpL3B1YmxpYy92aXMvZWRpdG9ycy9kZWZhdWx0L19hZ2cuc2NzcyIsIi4uLy4uLy4uLy4uL3NyYy91aS9wdWJsaWMvdmlzL2VkaXRvcnMvZGVmYXVsdC9fYWdnX2dyb3VwLnNjc3MiLCIuLi8uLi8uLi8uLi9zcmMvdWkvcHVibGljL3Zpcy9lZGl0b3JzL2RlZmF1bHQvX2FnZ19wYXJhbXMuc2NzcyIsIi4uLy4uLy4uLy4uL3NyYy91aS9wdWJsaWMvdmlzL2VkaXRvcnMvZGVmYXVsdC9fYWdnX3NlbGVjdC5zY3NzIiwiLi4vLi4vLi4vLi4vc3JjL3VpL3B1YmxpYy92aXMvbWFwL19sZWFmbGV0X292ZXJyaWRlcy5zY3NzIiwiLi4vLi4vLi4vLi4vc3JjL3VpL3B1YmxpYy92aXMvbWFwL19sZWdlbmQuc2NzcyIsIi4uLy4uLy4uLy4uL3NyYy91aS9wdWJsaWMvdmlzL3Zpc190eXBlcy9fdmlzbGliX3Zpc190eXBlLnNjc3MiLCIuLi8uLi8uLi8uLi9zcmMvdWkvcHVibGljL3Zpcy92aXNfdHlwZXMvX3Zpc2xpYl92aXNfbGVnZW5kLnNjc3MiLCIuLi8uLi8uLi8uLi9zcmMvbGVnYWN5L2NvcmVfcGx1Z2lucy9raWJhbmEvcHVibGljL21hbmFnZW1lbnQvX2hhY2tzLnNjc3MiLCIuLi8uLi8uLi8uLi9zcmMvbGVnYWN5L2NvcmVfcGx1Z2lucy9raWJhbmEvcHVibGljL21hbmFnZW1lbnQvX21hbmFnZW1lbnRfYXBwLnNjc3MiLCIuLi8uLi8uLi8uLi9zcmMvbGVnYWN5L2NvcmVfcGx1Z2lucy9raWJhbmEvcHVibGljL21hbmFnZW1lbnQvc2VjdGlvbnMvc2V0dGluZ3MvYWR2YW5jZWRfc2V0dGluZ3Muc2NzcyIsIi4uLy4uLy4uLy4uL3NyYy9sZWdhY3kvY29yZV9wbHVnaW5zL2tpYmFuYS9wdWJsaWMvbWFuYWdlbWVudC9zZWN0aW9ucy9pbmRleF9wYXR0ZXJucy9pbmRleC5zY3NzIiwiLi4vLi4vLi4vLi4vc3JjL2xlZ2FjeS9jb3JlX3BsdWdpbnMva2liYW5hL3B1YmxpYy9kYXNoYm9hcmQvX2hhY2tzLnNjc3MiLCIuLi8uLi8uLi8uLi9zcmMvbGVnYWN5L2NvcmVfcGx1Z2lucy9raWJhbmEvcHVibGljL2Rhc2hib2FyZC9faW5kZXguc2NzcyIsIi4uLy4uLy4uLy4uL3NyYy9sZWdhY3kvY29yZV9wbHVnaW5zL2tpYmFuYS9wdWJsaWMvZGFzaGJvYXJkL2dyaWQvX2Rhc2hib2FyZF9ncmlkLnNjc3MiLCIuLi8uLi8uLi8uLi9zcmMvbGVnYWN5L2NvcmVfcGx1Z2lucy9raWJhbmEvcHVibGljL2Rhc2hib2FyZC9wYW5lbC9fZGFzaGJvYXJkX3BhbmVsLnNjc3MiLCIuLi8uLi8uLi8uLi9zcmMvbGVnYWN5L2NvcmVfcGx1Z2lucy9raWJhbmEvcHVibGljL2Rhc2hib2FyZC9fZGFzaGJvYXJkX2FwcC5zY3NzIiwiLi4vLi4vLi4vLi4vc3JjL2xlZ2FjeS9jb3JlX3BsdWdpbnMva2liYW5hL3B1YmxpYy9kYXNoYm9hcmQvdmlld3BvcnQvX2Rhc2hib2FyZF92aWV3cG9ydC5zY3NzIiwiLi4vLi4vLi4vLi4vc3JjL2xlZ2FjeS9jb3JlX3BsdWdpbnMva2liYW5hL3B1YmxpYy9kYXNoYm9hcmQvcGFuZWwvcGFuZWxfaGVhZGVyL19wYW5lbF9vcHRpb25zX21lbnVfZm9ybS5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUNvQixPQUFPO0FBQ1IsT0FBTztBQUNGLE9BQU87QUFDQyxPQUFPO0FBQ2IsT0FBTztBQUNQLE9BQU87QUNUcEM7Ozs7O0VBSUksaUNBQXdDLEVBQ3pDOztBQUdIOzs7Ozs7Ozs7Ozs7Ozs7OztFQVFJLGdCQUFlO0VBQ2YsWUFBVyxFQUNaOztBQUdIO0VBQ0UscUJBQWE7RUFBYixzQkFBYTtFQUFiLHFCQUFhO0VBQWIsY0FBYTtFQUNiLDBCQUFtQjtFQUFuQiw0QkFBbUI7TUFBbkIsdUJBQW1CO1VBQW5CLG9CQUFtQjtFQUNuQiwyQkFBMEIsRUFPM0I7RUFWRDtJQU1JLFlBQVc7SUFDWCxjQzdCd0I7SUQ4QnhCLGlCQUFnQixFQUNqQjs7QUFNSDtFQUNFLHFCQUFhO0VBQWIsc0JBQWE7RUFBYixxQkFBYTtFQUFiLGNBQWE7RUFDYiwrQkFBcUI7RUFBckIsOEJBQXFCO0VBQXJCLDhCQUFxQjtNQUFyQiwwQkFBcUI7VUFBckIsc0JBQXFCO0VBQ3JCLFlBQVc7RUFDWCxhQUFZO0VBQ1osaUJBQWdCLEVBQ2pCOztBQUVEOztFQUdJLG1CQUFrQixFQUNuQjs7QUFKSDs7RUFPSSxXQUFVLEVBQ1g7O0FBUkg7O0VBV0ksb0JDdkR1QixFRHdEeEI7O0FBWkg7O0VBZUksV0FBVSxFQUNYOztBQWhCSDs7OztFQW9CSSxzQkFBcUIsRUFDdEI7O0FBR0g7RUFDRSxtQkFBa0I7RUFDbEIsV0FBVTtFQUNWLHFCQUFhO0VBQWIsc0JBQWE7RUFBYixxQkFBYTtFQUFiLGNBQWE7RUFDYixvQkFBWTtFQUFaLHFCQUFZO01BQVoscUJBQVk7VUFBWixhQUFZO0VBQ1osdUJBQWM7TUFBZCxxQkFBYztVQUFkLGVBQWM7RUFDZCx5QkFBZ0I7TUFBaEIsOEJBQWdCO1VBQWhCLGlCQUFnQjtFQUNoQiw2QkFBc0I7RUFBdEIsOEJBQXNCO0VBQXRCLCtCQUFzQjtNQUF0QiwyQkFBc0I7VUFBdEIsdUJBQXNCLEVBS3ZCO0VBWkQ7SUFVSSx1QkFBYztRQUFkLHFCQUFjO1lBQWQsZUFBYyxFQUNmOztBRU9IO0VGSEUsaUJBQWdCO0VBQ2hCLGtCQUFpQixFQVFsQjtFRUhDO0lGRkUsZ0JBQWU7SUFDZixVQUFTO0lBQ1QsaUJBQWdCO0lBQ2hCLG1CQUFrQixFQUNuQjs7QUFNSDtFQUNFLGdCQ3JHZ0I7RURzR2hCLGVBQWtCLEVBQ25COztBQUVEO0VBQ0UsZUd4RnlCO0VIeUZ6QixnQkluR3NELEVKb0d2RDs7QUFHRDtFQUVJLHlCQUFnQjtVQUFoQixpQkFBZ0IsRUFDakI7O0FBS0g7RUFDRSx1QkFBc0IsRUFDdkI7O0FBRUQ7RUFDRSw0QkFBMkIsRUFDNUI7O0FBQ0Q7RUFDRSw0QkFBMkIsRUFDNUI7O0FBQ0Q7RUFDRSw0QkFBMkIsRUFDNUI7O0FBRUQ7RUFDRSxnRUt6R29FLEVMMEdyRTs7QU12SUQ7RUFDRSxxQkFBYTtFQUFiLHNCQUFhO0VBQWIscUJBQWE7RUFBYixjQUFhO0VBQ2Isb0JBQWM7RUFBZCx1QkFBYztNQUFkLG1CQUFjO1VBQWQsZUFBYztFQUNkLCtCQUFtQjtFQUFuQiw4QkFBbUI7RUFBbkIsNEJBQW1CO01BQW5CLHdCQUFtQjtVQUFuQixvQkFBbUI7RUFDbkIsd0JBQWU7TUFBZixvQkFBZTtVQUFmLGdCQUFlO0VBQ2YsMkJBQW9CO0VBQXBCLDZCQUFvQjtNQUFwQix3QkFBb0I7VUFBcEIscUJBQW9CO0VBQ3BCLGtCTE5nQixFS2tFakI7RUFsRUQ7SUFTSSxvQkxUYztJS1VkLG9CQUFjO0lBQWQsdUJBQWM7UUFBZCxtQkFBYztZQUFkLGVBQWMsRUFLZjtJQWZIO01BYU0saUJBQWdCLEVBQ2pCO0VBZEw7SUFtQkksaUJBQWdCO0lBQ2hCLHFCQUFhO0lBQWIsc0JBQWE7SUFBYixxQkFBYTtJQUFiLGNBQWEsRUFlZDtJQW5DSDtNQXVCTSxpQkFBZ0IsRUFDakI7SUF4Qkw7TUEyQk0sK0JDckJlO01Ec0JmLDRCQ3RCZSxFRHVCaEI7SUE3Qkw7TUFnQ00sZ0NDMUJlO01EMkJmLDZCQzNCZSxFRDRCaEI7RUFsQ0w7SUVDRSxvQkZxQ2lDO0lFckNqQyx1QkZxQ2lDO1FFckNqQyxtQkZxQ2lDO1lFckNqQyxlRnFDaUM7SUVwQ2pDLHFCQUFhO0lBQWIsc0JBQWE7SUFBYixxQkFBYTtJQUFiLGNBQWE7SUFDYiw2QkFIdUU7SUFHdkUsOEJBSHVFO0lBR3ZFLCtCQUh1RTtRQUd2RSwyQkFIdUU7WUFHdkUsdUJBSHVFO0lGdUNyRSxjQUFhLEVBcUJkO0lFdkREO01BQ0UsdUJBQWM7VUFBZCxxQkFBYztjQUFkLGVBQWMsRUFDZjtJRlBIO01FQ0Usb0JBRG1EO01BQ25ELHVCQURtRDtVQUNuRCxtQkFEbUQ7Y0FDbkQsZUFEbUQ7TUFFbkQscUJBQWE7TUFBYixzQkFBYTtNQUFiLHFCQUFhO01BQWIsY0FBYTtNQUNiLDZCQUh1RTtNQUd2RSw4QkFIdUU7TUFHdkUsK0JBSHVFO1VBR3ZFLDJCQUh1RTtjQUd2RSx1QkFIdUUsRUYyRHBFO01FdERIO1FBQ0UsdUJBQWM7WUFBZCxxQkFBYztnQkFBZCxlQUFjLEVBQ2Y7TUZQSDtRQTZDUSxxQkFBYTtRQUFiLHNCQUFhO1FBQWIscUJBQWE7UUFBYixjQUFhO1FBQ2Isb0JBQWM7UUFBZCx1QkFBYztZQUFkLG1CQUFjO2dCQUFkLGVBQWMsRUFZZjtRQTFEUDtVQWlEVSxZQUFXO1VBQ1gsYUFBWTtVQUNaLFlBQVc7VUFDWCxvQkFBYztVQUFkLHVCQUFjO2NBQWQsbUJBQWM7a0JBQWQsZUFBYyxFQUNmO1FBckRUO1VBd0RVLG9CQUFjO1VBQWQsdUJBQWM7Y0FBZCxtQkFBYztrQkFBZCxlQUFjLEVBQ2Y7RUF6RFQ7SUFnRUksb0JBQVk7SUFBWixxQkFBWTtRQUFaLGlCQUFZO1lBQVosYUFBWSxFQUNiOztBR2pFSDtFQUNFLGtCUkcwQjtFUUYxQixtQkZJbUI7RUVIbkIsbUJSQXlCO0VRQ3pCLDBCTlkwQjtFTVgxQixpQkoyQ3FCLEVJS3RCO0VBckREO0lBUUksMEJBQStCLEVBS2hDO0lBYkg7TUFXTSwwQkFBNEMsRUFDN0M7RUFaTDtJQWdCSSx1Qk5GcUIsRU1HdEI7RUFqQkg7SUFvQkksbUJSZndCLEVRZ0J6QjtFQXJCSDtJQTBCSSxVQUFTLEVBQ1Y7RUEzQkg7SUE4QkksZ0JSM0J1QixFUTRCeEI7RUEvQkg7SUFtQ0ksMEJObkJ3QixFTW9DekI7SUFwREg7Ozs7OztNQTBDVSwwQk4xQmtCLEVNMkJuQjtJQTNDVDs7TUFpRFEseUJBQXdCLEVBQ3pCOztBQUtMOztFQUVFLGFBQVksRUFDYjs7QUMxREg7RUFDRSxtQkFBa0I7RUFDbEIsbUJURzBCO0VTRjFCLGVQT3NCO0VPTnRCLGdCVER5QjtFU0V6QixXQUFVLEVBQ1g7O0FBRUQ7RUFDRSxlQ1RvQjtFRFVwQix1QlBJdUIsRU9IeEI7O0FBRUQ7RUFJSSxZRUplO0VGS2YsdUJFaEJxQixFRmlCdEI7O0FHbkJIO0VBQ0Usb0JaRGdCLEVZRWpCOztBQUVEO0VBQ0UsZUFBYztFQUNkLG1CQUFrQjtFQUNsQixpQkFBZ0IsRUFDakI7O0FBRUQ7RUFDRSxrQlpSeUIsRVlTMUI7O0FBRUQ7RUFDRSxlVkxzQixFVU12Qjs7QUFFRDtFQUNFLGVWUnVCLEVVU3hCOztBQ3BCRDs7RUFFRSxhYkcwQjtFYUYxQixZQUFXO0VBQ1gsa0JWR3NEO0VVRnRELGdCYkxnQixFYU1qQjs7QUFFRDtFQUNFLGVBQWM7RUFDZCxlSFZvQjtFR1dwQiwwQlhLMEI7RVdKMUIsbUJQTm1CO0VPT25CLGtCYlgwQjtFYVkxQixtQmJaMEIsRWFhM0I7O0FBRUQ7RUFDRSxtQmJmeUI7RWFnQnpCLHVCWEx1QjtFV012QixhYmpCeUI7RWFrQnpCLG1CUGZtQixFT3lCcEI7RUFkRDtJQU9JLGlCVGlDdUI7SVNoQ3ZCLGVBQWMsRUFDZjtFQVRIO0lBWUksNEJBQTZDLEVBQzlDOztBQUdIO0VBQ0UsaUJBQWdCO0VBQ2hCLCtCQ2pDbUM7RURrQ25DLGlCQUFnQixFQUNqQjs7QUFFRDtFQUNFLHFCQUFhO0VBQWIsc0JBQWE7RUFBYixxQkFBYTtFQUFiLGNBQWE7RUFDYiwwQkFBOEI7RUFBOUIsdUNBQThCO01BQTlCLHVCQUE4QjtVQUE5QiwrQkFBOEI7RUFDOUIsMEJBQW1CO0VBQW5CLDRCQUFtQjtNQUFuQix1QkFBbUI7VUFBbkIsb0JBQW1CO0VBQ25CLG1CYnhDeUIsRWF5QzFCOztBQUVEO0VBQ0Usa0JWckNzRDtFVXNDdEQsZVg3QjRCLEVXOEI3Qjs7QUFHRDtFQUNFLDhCQUE2QjtFQUM3QixXQUFVO0VBQ1YsZ0JBQWU7RUFDZixlWHREdUI7RVd1RHZCLGFBQVksRUFLYjtFQVZEO0lBUUksZUFBb0MsRUFDckM7O0FBR0g7RUFDRSxxQkFBYTtFQUFiLHNCQUFhO0VBQWIscUJBQWE7RUFBYixjQUFhO0VBQ2IsMEJBQW1CO0VBQW5CLDRCQUFtQjtNQUFuQix1QkFBbUI7VUFBbkIsb0JBQW1CO0VBQ25CLDBCQUE4QjtFQUE5Qix1Q0FBOEI7TUFBOUIsdUJBQThCO1VBQTlCLCtCQUE4QjtFQUM5QixZQUFXO0VBQ1gsbUJibEV5QixFYW1FMUI7O0FBRUQ7RUFDRSxxQkFBYTtFQUFiLHNCQUFhO0VBQWIscUJBQWE7RUFBYixjQUFhO0VBQ2IsMEJBQW1CO0VBQW5CLDRCQUFtQjtNQUFuQix1QkFBbUI7VUFBbkIsb0JBQW1CLEVBQ3BCOztBQUVEO0VFNUVFLFlGNkUwQztFRTVFMUMsYUY0RTBDO0VBQzFDLDJCQUFtQztFQUNuQyxlWDlFdUIsRVcrRXhCOztBQUVEO0VBQ0UsZ0JWNUVzRDtFVTZFdEQsZVhuRnVCLEVXb0Z4Qjs7QUFFRDs7R0FFRztBQUNIO0VBQ0UsOEJBQTZCO0VBQzdCLFdBQVU7RUFDVixnQkFBZTtFQUNmLGVYN0Z1QjtFVzhGdkIsYUFBWSxFQUtiO0VBVkQ7SUFRSSxlQUFvQyxFQUNyQzs7QUFJSDs7R0FFRztBQUNIO0VBQ0UsZ0JBQWU7RUFDZixlWDNGeUI7RVc0RnpCLDBCQUF5QjtFQUN6QixvQkFBbUIsRUFDcEI7O0FBRUQ7RUFDRSxxQkFBYTtFQUFiLHNCQUFhO0VBQWIscUJBQWE7RUFBYixjQUFhO0VBQ2IsMEJBQW1CO0VBQW5CLDRCQUFtQjtNQUFuQix1QkFBbUI7VUFBbkIsb0JBQW1CO0VBQ25CLGlCYmpIMEI7RWFrSDFCLG1CYm5IeUIsRWFvSDFCOztBQUVEO0VBQ0UscUJBQWE7RUFBYixzQkFBYTtFQUFiLHFCQUFhO0VBQWIsY0FBYTtFQUNiLDBCQUFtQjtFQUFuQiw0QkFBbUI7TUFBbkIsdUJBQW1CO1VBQW5CLG9CQUFtQjtFQUNuQiwrQkFBd0I7RUFBeEIsaUNBQXdCO01BQXhCLDZCQUF3QjtVQUF4Qix5QkFBd0I7RUFDeEIsaUJUcEV5QixFU3FFMUI7O0FBRUQ7RUFDRSxxQkFBYTtFQUFiLHNCQUFhO0VBQWIscUJBQWE7RUFBYixjQUFhO0VBQ2IsMEJBQW1CO0VBQW5CLDRCQUFtQjtNQUFuQix1QkFBbUI7VUFBbkIsb0JBQW1CO0VBQ25CLG9CQUFhO0VBQWIsc0JBQWE7TUFBYixrQkFBYTtVQUFiLGNBQWEsRUFDZDs7QUdwSUQ7RUFFSyxjQUFhO0VBQ2IsZUZEZ0MsRUVFbEM7O0FBSkg7RUFPSSxpQkFBZ0I7RUFDaEIsZUZOaUMsRUVtQmxDO0VBckJIO0lBV00sa0JBQWlCO0lBQ2pCLDBCZElzQixFY0h2QjtFQWJMO0lBZU0sMEJGYitCLEVFY2hDO0VBaEJMO0lBa0JNLGlCQUFnQjtJQUNoQixlRmpCK0IsRUVrQmhDOztBQUlMO0VBS1EsZUZ0QjZCLEVFdUJoQzs7QUFOTDtFQVNNLGVGMUIrQixFRXFDaEM7RUFwQkw7SUFZUSx1QkxoQ2lCLEVLaUNsQjtFQWJQO0lBZVEsMEJGaEM2QixFRWlDOUI7RUFoQlA7SUFrQlEsZUZuQzZCLEVFb0M5Qjs7QUMzQ1A7RUFHRSxrQkFBaUI7RUFDakIsaUJBQWdCO0VBQ2hCLG1CakJIMEI7RWlCSTFCLGVmWXlCO0VlWHpCLDBCZlMwQjtFZVIxQixhQUFZO0VBQ1osY0NPd0IsRURxRXpCO0VBckZEO0lBWUksbUJqQlR1QixFaUJVeEI7RUFiSDtJQWdCSSxnQmpCZHdCO0lpQmV4QixtQmpCZndCLEVpQmdCekI7RUFsQkg7SUV1SEUsZ0JBQWU7SUFBRSxPQUFPO0lBQ3hCLDRCQUEyQjtJQUMzQixtQ0FBa0M7SUFDbEMsK0JBQThCO0lBQzlCLDZCQUE0QjtJQUFFLE9BQU87SUZuR25DLDJCQUFrQjtRQUFsQiw0QkFBa0I7WUFBbEIsbUJBQWtCO0lBQ2xCLGtCZGZvRCxFY2dCckQ7RUExQkg7SUE2QkksZWZYdUI7SWVZdkIsOEJBQTZCLEVBc0I5QjtJQXBESDtNQWtDTSxlZmhCcUI7TWVpQnJCLDhCQUE2QixFQUM5QjtJQXBDTDtNQXVDTSxlZnBCd0I7TWVxQnhCLDhCQUE2QjtNQUM3Qix5QkFBZ0I7Y0FBaEIsaUJBQWdCLEVBS2pCO01BOUNMO1FBNENRLGNBQWEsRUFDZDtJQTdDUDtNQWlETSxlZmhDdUI7TWVpQ3ZCLDhCQUE2QixFQUM5QjtFQW5ETDtJQXdETSxZZjFDbUI7SWUyQ25CLDBCZnZDcUI7SWV3Q3JCLGFBQVksRUFDYjtFR2xCSztJSHpDVjtNQW9FTSxpQkFBZ0IsRUFDakIsRUFBQTtFRzVDRztJSHpCUjtNQW9FTSxpQkFBZ0IsRUFDakIsRUFBQTtFR2pDSztJSHBDVjtNQTJFTSxvQkl2RU87TUp1RVAsd0JJdkVPO1VKdUVQLG9CSXZFTztjSnVFUCxnQkl2RU8sRUp3RVIsRUFBQTtFR25DSztJSHpDVjtNQTJFTSxvQkl2RU87TUp1RVAsd0JJdkVPO1VKdUVQLG9CSXZFTztjSnVFUCxnQkl2RU8sRUp3RVIsRUFBQTtFR25DSztJSHpDVjtNQTJFTSxvQkl2RU87TUp1RVAsd0JJdkVPO1VKdUVQLG9CSXZFTztjSnVFUCxnQkl2RU8sRUp3RVIsRUFBQTtFR3hDSztJSHBDVjtNQWtGTSxnQkFBZSxFQUNoQixFQUFBO0VHMUNLO0lIekNWO01Ba0ZNLGdCQUFlLEVBQ2hCLEVBQUE7O0FLbEZMO0VBR0UscUNBQW9DLEVBTXJDO0VBVEQ7SUFNSSwwQlJMaUM7SVFNakMsYXRCTHVCLEVzQk14Qjs7QUFJSDtFQUtNLDBCWGZ5QixFV2dCMUI7O0FDbkJMO0VBQ0UsZUFBYyxFQXNEZjtFQXZERDtJQUlJLHFCQUFhO0lBQWIsc0JBQWE7SUFBYixxQkFBYTtJQUFiLGNBQWE7SUFDYiwwQkFBbUI7SUFBbkIsNEJBQW1CO1FBQW5CLHVCQUFtQjtZQUFuQixvQkFBbUI7SUFDbkIscUJ2Qkh1QjtJdUJJdkIsbUJBQWtCLEVBK0NuQjtJQXRESDtNQVVNLG9CQUFjO01BQWQsdUJBQWM7VUFBZCxtQkFBYztjQUFkLGVBQWM7TUFDZCxxQkFBYTtNQUFiLHNCQUFhO01BQWIscUJBQWE7TUFBYixjQUFhO01BQ2IseUJBQXVCO01BQXZCLGdDQUF1QjtVQUF2QixzQkFBdUI7Y0FBdkIsd0JBQXVCLEVBQ3hCO0lBYkw7TUFnQlEsb0JBQWM7TUFBZCx1QkFBYztVQUFkLG1CQUFjO2NBQWQsZUFBYztNQUNkLHFCQUFhO01BQWIsc0JBQWE7TUFBYixxQkFBYTtNQUFiLGNBQWE7TUFDYix5QkFBdUI7TUFBdkIsZ0NBQXVCO1VBQXZCLHNCQUF1QjtjQUF2Qix3QkFBdUI7TUFDdkIsV0FBVTtNQUNWLFVBQVM7TUFDVCxpQkFBZ0IsRUF3QmpCO01BN0NQO1FBd0JVLG9CQUFjO1FBQWQsdUJBQWM7WUFBZCxtQkFBYztnQkFBZCxlQUFjO1FBQ2QsMEJBQWlCO1dBQWpCLHVCQUFpQjtZQUFqQixzQkFBaUI7Z0JBQWpCLGtCQUFpQixFQW1CbEI7UUE1Q1Q7VUE0Qlksc0JBQXFCO1VBQ3JCLDBCckJkbUI7VXFCZW5CLGlCQUEyQjtVQUMzQixrQnZCM0JnQixFdUI0QmpCO1FBaENYO1VBbUNZLDJCQUEwQixFQUMzQjtRQXBDWDtVQXVDWSxpQ0FBZ0M7VUFDaEMsaUJuQmlCZTtVbUJoQmYsZXJCdkJlO1VxQndCZixnQkFBZSxFQUNoQjtJQTNDWDtNQWdETSxvQkFBYztNQUFkLHVCQUFjO1VBQWQsbUJBQWM7Y0FBZCxlQUFjLEVBS2Y7TUFyREw7UUFtRFEsV0FBVSxFQUNYOztBQU1QO0VBUVksMEJaL0RtQjtFWWdFbkIsWVp0RE8sRVl1RFI7O0FBVlg7RUFZWSxlWmhFZSxFWWlFaEI7O0FDckVYO0VBQ0UseUJBQWdCO0tBQWhCLHNCQUFnQjtVQUFoQixpQkFBZ0I7RUFDaEIsb0J0QkZ1QjtFc0JHdkIsMEJ0Qkh1QjtFc0JJdkIsb0JBQW1CO0VBQ25CLGdCQUFlO0VBQ2YsZUFBYztFQUNkLGFBQVk7RUFDWixxQkFBb0I7RUFDcEIscUJBQW9CO0VBQ3BCLGNBQWE7RUFDYixtQkFBa0I7RUFDbEIsU0FBUTtFQUNSLHNGQUE2RDtFQUE3RCw4RUFBNkQ7RUFBN0QsOERBQTZEO0VBQTdELGlJQUE2RDtFQUM3RCxZQUFXLEVBU1o7RUF2QkQ7SUFpQkksOEJBQXFCO1lBQXJCLHNCQUFxQixFQUN0QjtFQWxCSDtJQ1FJLHVHQUE2RjtZQUE3RiwrRkFBNkYsRURjOUY7O0FBR0g7RUFDRSxvQnRCWjBCO0VzQmExQiwwQnRCYjBCO0VzQmMxQix5QkFBZ0I7VUFBaEIsaUJBQWdCO0VBQ2hCLHdCQUFlO1VBQWYsZ0JBQWUsRUFDaEI7O0FBRUQ7RUFDRSx1Q0FBOEI7RUFBOUIsK0JBQThCLEVBQy9COztBQUVEO0VBQ0UsZXRCdEIyQjtFc0J1QjNCLGtCQUFpQjtFQUNqQixpQ0FBd0I7VUFBeEIseUJBQXdCO0VBQ3hCLG9CQUFtQixFQUNwQjs7QUFFRDs7RUFFRSxnQkFBZTtFQUNmLG1CQUFrQixFQUNuQjs7QUFFRDtFQUNFLFFBQU8sRUFDUjs7QUFFRDtFQUNFLFNBQVEsRUFDVDs7QUFFRDtFQUNFLG1CQUFrQjtFQUNsQixhQUFZLEVBQ2I7O0FBRUQ7RUFDRSxXQUFVO0VBQ1YsbUJBQWtCLEVBQ25COztBQUVEO0VBQ0UsVUFBUyxFQUNWOztBQUVEO0VBQ0Usb0J0QjFEMEI7RXNCMkQxQixzQkFBcUI7RUFDckIsZ0JBQWU7RUFDZixlQUFjO0VBQ2QsZUFBYztFQUNkLG1CQUFrQjtFQUNsQiw0REFBbUQ7RUFBbkQsb0RBQW1ELEVBQ3BEOztBQUVEO0VBQ0Usb0J0QnBFMEIsRXNCcUUzQjs7QUFFRDtFQUNFLFFBQU87RUFDUCxxQkFBb0I7RUFDcEIsbUJBQWtCO0VBQ2xCLFNBQVE7RUFDUixTQUFRLEVBQ1Q7O0FBRUQ7RUFDRSxvQnRCOUZ1QixFc0IrRnhCOztBQUVEO0VBQ0UsY3hCakd5QjtFd0JrR3pCLG1CQUFrQjtFQUNsQix5QkFBK0IsRUFDaEM7O0FBRUQ7RUFJSSxpQmJ6R3FCLEVhMEd0Qjs7QUFMSDtFQVFJLG9CYnZHcUI7RWF3R3JCLHNCYnhHcUIsRWF5R3RCOztBQVZIO0VBYUksb0JiNUdxQixFYTZHdEI7O0FBZEg7RUFpQkksZWJwSHVCLEVhcUh4Qjs7QUUzSEg7RUFDRSw2QkFBNEI7RUFDNUIsOEJBQTZCO0VBQzdCLDBCeEJZNkI7RXdCWDdCLGdDQUErQjtFQUMvQixpQ0FBZ0MsRUFvSGpDO0VBekhEO0lBUUksMEJaTmlDLEVZT2xDO0VBVEg7SUFhTSxtQnBCUGU7SW9CUWYsb0JBQW1CO0lBQ25CLGdCQUEwQixFQVUzQjtJQXpCTDtNQWtCUSxrQjFCZm1CO00wQmdCbkIsbUIxQmhCbUIsRTBCaUJwQjtJQXBCUDtNQXVCUSxnQkFBZSxFQUNoQjtFQXhCUDtJQTRCTSxpQkFBZ0I7SUFDaEIsaUJBQWdCLEVBQ2pCO0VBOUJMO0lBaUNNLDhCQUE2QjtJQUM3QixrQnZCM0JrRDtJdUI0QmxELGtDQUFpQztJQUNqQyxxQ0FBb0M7SUFDcEMsb0JBQW1CLEVBaUJwQjtJQXRETDtNQXdDUSxtQjFCdENvQjtNMEJ1Q3BCLGlCdEJnQm1CO01zQmZuQixlQUFjLEVBQ2Y7SUEzQ1A7TUE4Q1EsZ0JBQWUsRUFDaEI7SUEvQ1A7TUFrRFEsMEJaM0M2QjtNWTRDN0IsZXhCaENzQjtNd0JpQ3RCLHNCeEJwQ29CLEV3QnFDckI7RUFyRFA7O0lBMERRLFVBQVM7SUFDVCxpQjFCeERtQjtJMEJ5RG5CLG1CQUFrQjtJQUNsQixZQUFXO0lBQ1gsYUFBWTtJQUNaLGlCQUFnQixFQUNqQjtFQWhFUDtJUHVIRSxnQkFBZTtJQUFFLE9BQU87SUFDeEIsNEJBQTJCO0lBQzNCLG1DQUFrQztJQUNsQywrQkFBOEI7SUFDOUIsNkJBQTRCO0lBQUUsT0FBTztJT3ZEL0IsaUJBQWdCLEVBS2pCO0lBekVQO01BdUVVLG9CQUFtQixFQUNwQjtFQXhFVDtJQTRFUSxpQnhCOURpQixFd0IrRGxCO0VBN0VQO0lBaUZNLGtCMUI5RXFCO0kwQitFckIsbUIxQi9FcUI7STBCZ0ZyQixleEJqRXFCO0l3QmtFckIsOEJBQTZCLEVBTTlCO0lBMUZMO01BdUZRLGdCdkIvRWdEO011QmdGaEQsaUJ0QnhDZSxFc0J5Q2hCO0VBekZQO0lBNkZJLGlCdEJwQ3VCO0lzQnFDdkIsaUIxQjNGdUI7STBCNEZ2QixxQkFBYTtJQUFiLHNCQUFhO0lBQWIscUJBQWE7SUFBYixjQUFhO0lBQ2IsMEJBQThCO0lBQTlCLHVDQUE4QjtRQUE5Qix1QkFBOEI7WUFBOUIsK0JBQThCO0lBQzlCLDBCWjFGaUM7SVkyRmpDLFl4QnBGcUI7SXdCcUZyQixrQjFCOUZ3QixFMEIwR3pCO0lBL0dIO01Bc0dNLGdCdkI5RmtEO011QitGbEQsaUJ0QjlDcUI7TXNCK0NyQixVQUFTLEVBQ1Y7SUF6R0w7TUE0R00sb0JBQWM7TUFBZCx1QkFBYztVQUFkLG1CQUFjO2NBQWQsZUFBYztNQUNkLDJCQUFrQjtVQUFsQiw0QkFBa0I7Y0FBbEIsbUJBQWtCLEVBQ25CO0VBOUdMO0lBa0hJLGlCQUFnQixFQUNqQjtFQW5ISDtJQXNISSxZQUFXO0lBQ1gsa0JBQWlCLEVBQ2xCOztBQ3hISDtFQUNFLG1CQUFrQjtFQUNsQiwwQkFBeUI7RUFDekIsV0FBVTtFQUNWLGdDQUF1QjtVQUF2Qix3QkFBdUIsRUFDeEI7O0FBRUQ7RUFFSSx1QnpCS3FCLEV5Qkp0Qjs7QUNWSDtFQUdJLHVCMUJXcUIsRTBCVnRCOztBQUdIO0VBY0U7OztLQUdHLEVBc0JKO0VBdkNEO0lBR0ksaUJBQWdCLEVBU2pCO0lBWkg7TUFNTSxpQkFBZ0IsRUFDakI7SUFQTDtNQVVNLGlCeEJ3Q3FCLEV3QnZDdEI7RUFYTDtJQW1CSSxpQkFBZ0I7SUFDaEIsaUJBQWU7SUFDZixzQkFBcUI7SUFDckIsdUJBQXNCLEVBZXZCO0lBckNIO01BeUJNLGdCQUFlLEVBQ2hCO0lBMUJMO01BNkJNLHdDQUFrRTtNQUNsRSxlbEJyQ2dCO01rQnNDaEIsaUI1QnBDc0I7TTRCcUN0QixrQjVCckNzQjtNNEJzQ3RCLGdFeEJYZ0U7TXdCWWhFLG1CQUFrQjtNQUNsQixtQnRCcENlLEVzQnFDaEI7O0FBS0w7RUFHTSxlMUJuQ3NCLEUwQm9DdkI7O0FBSkw7Ozs7RUFVTSxlMUIxQ3NCLEUwQjJDdkI7O0FBWEw7Ozs7RUFpQk0sZTFCakRzQixFMEJrRHZCOztBQUtMO0VBTVEsMkNBQWlFO0VBQ2pFLFlqQmpFVyxFaUJrRVo7O0FDL0VQO0VBQ0UsaUJBQWdCLEVBQ2pCOztBQ0NEOztHQUVHO0FBQ0g7RUFDRSxnQ0FBK0I7RUFDL0IsMEI1QlEwQjtFNEJQMUIsdUI1Qkt1QixFNEJBeEI7RUFSRDtJQU1JLHNCNUJGb0IsRTRCR3JCOztBQUdIO0VBQ0UscUNBQTZDLEVBQzlDOztBQUVEO0VBQ0UsMkJBQXFDLEVBQ3RDOztBQUVEOztHQUVHO0FBQ0g7RUFDRSxlaEIxQm1DO0VnQjBCQyxPQUFPLEVBQzVDOztBQUVEOztFQUVFO0FBQ0Y7RUFFSSwwQjVCcEJ3QjtFNEJvQkEsT0FBTztFQUMvQix1QjVCdkJxQjtFNEJ1QmtCLE9BQU87RUFDOUMsZTVCbkIwQjtFNEJtQkksT0FBTyxFQWV0QztFQW5CSDtJQU9NLGU1QnhCdUI7STRCd0JNLE9BQU87SUFDcEMsbUJBQWtCO0lBQUUsT0FBTyxFQUM1QjtFQVRMO0lBWU0sY0FBYSxFQUNkO0VBYkw7SUFnQk0sdUI1QnBDbUI7STRCb0NvQixPQUFPO0lBQzlDLGU1QmhDd0I7STRCZ0NNLE9BQU8sRUFDdEM7O0FBbEJMO0VBc0JJLHlCQUFnQjtVQUFoQixpQkFBZ0I7RUFDaEIsY0FBYSxFQUtkO0VBNUJIO0lBMEJNLHNCNUIxRG1CLEU0QjJEcEI7O0FBSUw7RVhzREUsZ0JBQWU7RUFBRSxPQUFPO0VBQ3hCLDRCQUEyQjtFQUMzQixtQ0FBa0M7RUFDbEMsK0JBQThCO0VBQzlCLDZCQUE0QjtFQUFFLE9BQU8sRVd4RHRDOztBQ25FRDtFQUNFLG1CQUFrQjtFQUNsQixPQUFNO0VBQ04sVUFBUztFQUNULFNBQVE7RUFDUixRQUFPO0VBQ1AscUNBQW9EO0VBQ3BELHFCQUFhO0VBQWIsc0JBQWE7RUFBYixxQkFBYTtFQUFiLGNBQWE7RUFDYiw2QkFBc0I7RUFBdEIsOEJBQXNCO0VBQXRCLCtCQUFzQjtNQUF0QiwyQkFBc0I7VUFBdEIsdUJBQXNCO0VBQ3RCLHlCQUF1QjtFQUF2QixnQ0FBdUI7TUFBdkIsc0JBQXVCO1VBQXZCLHdCQUF1QjtFQUN2QiwwQkFBbUI7RUFBbkIsNEJBQW1CO01BQW5CLHVCQUFtQjtVQUFuQixvQkFBbUI7RUFDbkIsbUJBQWtCO0VBQ2xCLFdBQVUsRUFXWDtFQXZCRDtJQWVJLFdBQVU7SUFDViwwQjdCZHFCO0k2QmVyQixjQUFhLEVBQ2Q7RUFsQkg7SUFxQkksY0FBYSxFQUNkOztBQ3RCSDs7RUFFRSxlQUFjLEVBQ2Y7O0FBRUQ7RUFDRSxxQkFBYTtFQUFiLHNCQUFhO0VBQWIscUJBQWE7RUFBYixjQUFhO0VBQ2Isb0JBQWM7RUFBZCx1QkFBYztNQUFkLG1CQUFjO1VBQWQsZUFBYztFQUNkLDZCQUFzQjtFQUF0Qiw4QkFBc0I7RUFBdEIsK0JBQXNCO01BQXRCLDJCQUFzQjtVQUF0Qix1QkFBc0IsRUFDdkI7O0FBRUQ7RUFDRSxvQkFBYztFQUFkLHVCQUFjO01BQWQsbUJBQWM7VUFBZCxlQUFjO0VBQ2QsZUFBYyxFQVdmO0VBYkQ7SUFLSSxpQkFBZ0I7SUFDaEIsaUI1QndDdUIsRTRCdkN4QjtFQVBIOztJQVdJLDBCOUJQMkIsRThCUTVCOztBQUdIO0VBQ0Usb0JBQWM7RUFBZCx1QkFBYztNQUFkLG1CQUFjO1VBQWQsZUFBYztFQUNkLHFCQUFhO0VBQWIsc0JBQWE7RUFBYixxQkFBYTtFQUFiLGNBQWE7RUFDYiwwQkFBbUI7RUFBbkIsNEJBQW1CO01BQW5CLHVCQUFtQjtVQUFuQixvQkFBbUI7RUFDbkIsZ0JoQzVCMEIsRWdDbUMzQjtFQVhEO0lBT0ksb0JBQWM7SUFBZCx1QkFBYztRQUFkLG1CQUFjO1lBQWQsZUFBYztJQUNkLFVBQVM7SUFDVCxXQUFVLEVBQ1g7O0FBR0g7O0VBTU0sMEJyQjFDeUIsRXFCMkMxQjs7QUM5Q0w7Ozs7R0FJRztBQUVIO0VBQ0UsbUJBQWtCO0VBQ2xCLGlCQUFnQixFQUNqQjs7QUFFRDtFQUNFLHFCQUFhO0VBQWIsc0JBQWE7RUFBYixxQkFBYTtFQUFiLGNBQWE7RUFDYiw2QkFBd0I7RUFBeEIsOEJBQXdCO0VBQXhCLGlDQUF3QjtNQUF4Qiw2QkFBd0I7VUFBeEIseUJBQXdCO0VBQ3hCLG1CQUFrQjtFQUNsQixXQ1o0QjtFRGE1QixPQUFNO0VBQ04sU0FBUTtFQUNSLFVBQVM7RUFDVCxXQUFVO0VBQ1YsZUFBYztFQUVkOzs7S0FHRyxFQVFKO0VBdEJEO0lBZ0JJLG1CQUFrQjtJQUFFLE9BQU8sRUFDNUI7RUFqQkg7SUFvQkksZ0JBQWUsRUFDaEI7O0FBR0g7RUFDRSxxQkFBYTtFQUFiLHNCQUFhO0VBQWIscUJBQWE7RUFBYixjQUFhO0VBQ2Isb0JBQVk7RUFBWixxQkFBWTtNQUFaLHFCQUFZO1VBQVosYUFBWTtFQUNaLHVCQUFjO01BQWQscUJBQWM7VUFBZCxlQUFjO0VBQ2QseUJBQWdCO01BQWhCLDhCQUFnQjtVQUFoQixpQkFBZ0I7RUFDaEIsNkJBQXNCO0VBQXRCLDhCQUFzQjtFQUF0QiwrQkFBc0I7TUFBdEIsMkJBQXNCO1VBQXRCLHVCQUFzQixFQUt2QjtFQVZEO0lBUUksdUJBQWM7UUFBZCxxQkFBYztZQUFkLGVBQWMsRUFDZjs7QUU1Q0g7OztHQUdHO0FBQ0g7RUFDRSxnQkFBZTtFQUNmLE9BQU07RUFDTixRQUFPO0VBQ1AsU0FBUTtFQUNSLGNqQk93QjtFaUJOeEIsaUJBQWdCO0VBQ2hCLFlBQXNCLEVBT3ZCO0VBZEQ7SUFVSSxtQkFBa0I7SUFDbEIsV0FBVTtJQUNWLGdDQUF1QjtZQUF2Qix3QkFBdUIsRUFDeEI7O0FBR0Q7RUFDRSxPQUFNO0VBQ04sUUFBTztFQUNQLFNBQVE7RUFDUixVQUFTO0VBQ1QsbUJBQWtCO0VBQ2xCLGNqQlZzQjtFaUJXdEIsb0JBQW1CO0VBQ25CLGVBQWM7RUFDZCxvRUFBMkQ7VUFBM0QsNERBQTJEO0VBQzNELDBCckI1QmlDO0VxQjZCakMsZ0pBS0c7RUFMSCxnR0FLRztFQUNILDRCQUEyQjtFQUMzQiw2QkQ5QmdEO0VDK0JoRCxZQUFXLEVBQ1o7O0FBRUQ7RUFDRTtJQUFPLGlDQUF3QjtZQUF4Qix5QkFBd0IsRUFBQTtFQUMvQjtJQUFLLHNDQUEwRDtZQUExRCw4QkFBMEQsRUFBQSxFQUFBOztBQUZqRTtFQUNFO0lBQU8saUNBQXdCO1lBQXhCLHlCQUF3QixFQUFBO0VBQy9CO0lBQUssc0NBQTBEO1lBQTFELDhCQUEwRCxFQUFBLEVBQUE7O0FDNUNuRTtFQUNFLFlGRTRCO0VFRDVCLGdCQUFlO0VBQ2YsUUFBTztFQUNQLE9BQU07RUFDTixVQUFTO0VBQ1QsV0FBVTtFQUNWLDBCRk5vQztFRU9wQyxpQkFBZ0I7RUFDaEIsV0FBVSxFQWdCWDtFQXpCRDtJQVlJLGFGUnlCLEVFYTFCO0lBakJIO01BZU0sWUZYdUIsRUVZeEI7RUFoQkw7O0lBcUJJLGFGaEJ5QjtJRWlCekIsYUZsQnlCO0lFbUJ6QixzQkFBcUIsRUFDdEI7O0FBR0g7Ozs7O0lBS0k7QUFDSjtFQ0dFLHNCQUFxQjtFREZFLE9BQU87RUFFOUIscUJBQWE7RUFBYixzQkFBYTtFQUFiLHFCQUFhO0VBQWIsY0FBYTtFQUFFLE9BQU87RUFDdEIsNkJBQXNCO0VBQXRCLDhCQUFzQjtFQUF0QiwrQkFBc0I7TUFBdEIsMkJBQXNCO1VBQXRCLHVCQUFzQjtFQUFFLE9BQU87RUFDL0IsMEJBQThCO0VBQTlCLHVDQUE4QjtNQUE5Qix1QkFBOEI7VUFBOUIsK0JBQThCO0VBQUUsT0FBTztFQUN2QywwQkFBK0M7RUFBRSxPQUFPO0VBQ3hELG1CQUFrQjtFQUFFLE9BQU87RUFDM0IsaUJBQWdCO0VBQUUsT0FBTyxFQVMxQjtFQ1hDO0lBQ0UsWUFBVztJQUNYLGFBQVksRUFDYjtFQUVEO0lBQ0UsMkNBQXdEO0lBQ3hELDhCQUE2QjtJQUM3Qiw2QkFBNEIsRUFDN0I7RUFFRDtJQUVFLDhCQUE2QixFQUM5QjtFQWREO0lESXVCLE9BQU87SXJCMUM5QixXZkV5QjtJZUR6QixZZkN5QixFb0MwQ3hCO0VDREQ7SURHNkIsT0FBTztJQUNsQywwQnRCOUNpQyxFc0IrQ2xDOztBQUdIOzs7SUFHSTtBQUNKO0VBQ0Usb0JBQWM7RUFBZCx1QkFBYztNQUFkLG1CQUFjO1VBQWQsZUFBYztFQUFFLE9BQU8sRUFDeEI7O0FBRUQ7RUFDRSxzQkFBcUIsRUFLdEI7RUFORDtJQUlJLDBCQUEyRCxFQUM1RDs7QUVqRUg7RUFFSSwwQkFBMkQsRUFDNUQ7O0FBSEg7RUFNSSwwQkFBNkQsRUFDOUQ7O0FBUEg7RUFVSSxvQ0FBMkI7VUFBM0IsNEJBQTJCO0VBQzNCLDBCQUE4QyxFQUMvQzs7QUFHSDtFQUNFLG1CQUFrQjtFQUNsQixZSmQ0QjtFSWU1QixhSlprRDtFSWFsRCxrQnRDZDBCLEVzQzhCM0I7RUFwQkQ7SUFPSSxhQUFZLEVBS2I7SUFaSDtNQVVNLGdCQUFlLEVBQ2hCO0VBWEw7SUFnQk0sWXBDakJtQjtJb0NrQm5CLHNCQUFxQixFQUN0Qjs7QUFJTDtFQUVJLGFKbkN5QixFSW9DMUI7O0FBR0g7RUFDRSxlQUFjO0VBQ2QsYUFBWTtFQUNaLFlwQ2hDdUI7RW9DaUN2QixZQUFXO0VBQ1gscUJBQW9CLEVBQ3JCOztBQUVEO0VBQ0Usc0JBQXFCO0VBQ3JCLFlKbEQ0QjtFSW1ENUIsYUpoRGtEO0VJaURsRCxrQkFBNkM7RUFDN0MsbUJBQWtCLEVBQ25COztBQUVEOztJQUVJO0FBQ0o7RUFDRSxhQUFZO0VBQ1osZ0J0QzdEeUIsRXNDOEQxQjs7QUFFRDtFdkJsRUUsWXVCb0VxQztFdkJuRXJDLGF1Qm1FcUMsRUFDcEM7O0FBSEg7RUFNSSxXcENuRWdCLEVvQ29FakI7O0FBR0g7O0lBRUk7QUFDSjtFQUNFLGtCSjNFa0Q7RUk0RWxELDRCQUEyQjtFQUMzQix5QkFBd0I7RUFDeEIsNkJBQTRCLEVBQzdCOztBQUVEO0VuQmdDRSxnQkFBZTtFQUFFLE9BQU87RUFDeEIsNEJBQTJCO0VBQzNCLG1DQUFrQztFQUNsQywrQkFBOEI7RUFDOUIsNkJBQTRCO0VBQUUsT0FBTztFbUJsQ3JDLGNBQWE7RUFDYixhQUE4RDtFQUM5RCxhQUFZO0VBQ1osaUJBQWdCO0VBQ2hCLGlCQUFnQjtFQUNoQixrQkFBaUI7RUFDakIsbUJBQWtCO0VBQ2xCLGtCSjFGa0QsRUkrRm5EO0VBSEM7SUFDRSxzQkFBcUIsRUFDdEI7O0FBR0g7RUFDRTs7S0FFRyxFQUlKO0VBUEQ7SUFLSSw4Q0FBcUM7WUFBckMsc0NBQXFDO0lBQUUsT0FBTyxFQUMvQzs7QUM3R0g7RUFDRSxZQUFXO0VBQ1gsZ0JBQWU7RUFDZixPQUFNO0VBQ04sWUFBVyxFQUNaOztBQUVEO0VBQ0UsVUFBUztFQUNULFFBQU8sRUFPUjtFQVREO0lBT0ksVUFBUyxFQUNWOztBbkJxQk87RW1CN0JWO0lBY0ksVUFBUyxFQUtWO0lBbkJIO01BaUJNLFVBQVMsRUFDVixFQUFBOztBbkJnQks7RW1CbENWO0lBY0ksVUFBUyxFQUtWO0lBbkJIO01BaUJNLFVBQVMsRUFDVixFQUFBOztBekN6Qkw7Ozs7OztHQU1HO0FBQ29CLE9BQU87QUFDUixPQUFPO0FBQ0YsT0FBTztBQUNDLE9BQU87QUFDYixPQUFPO0FBQ1AsT0FBTztBMENWcEM7RUFDRSxtQkFBa0I7RUFDbEIsVzFDUXlCLEUwQ21CMUI7RUE3QkQ7SUFLSSxtQkFBa0I7SUFDbEIsT0FBTTtJQUNOLGFBQVk7SUFDWixnQkFBZTtJQUNmLFlBQVcsRUFDWjtFQVZIO0lBYUksb0JBQW1CO0lBQ25CLHNCQUFxQjtJQUNyQixxQkFBb0IsRUFhckI7SUE1Qkg7TUFrQk0sbUJBQWtCLEVBQ25CO0lBbkJMO01Bc0JNLG9CQUFtQixFQUtwQjtNQTNCTDtRQXlCUSxpQkFBZ0IsRUFDakI7O0FwQlFHO0VvQmxDVjtJQWtDTSxjQUFhLEVBQ2Q7RUFuQ0w7SUFzQ00sY0FBYSxFQUNkLEVBQUE7O0FwQkFLO0VvQnZDVjtJQWtDTSxjQUFhLEVBQ2Q7RUFuQ0w7SUFzQ00sY0FBYSxFQUNkLEVBQUE7O0FwQkFLO0VvQnZDVjtJQWtDTSxjQUFhLEVBQ2Q7RUFuQ0w7SUFzQ00sY0FBYSxFQUNkLEVBQUE7O0FDekNMO0VBQ0UsbUJBQWtCO0VBRWxCOztLQUVHLEVBbUJKO0VBeEJEO0lBT0ksbUJBQWtCO0lBQ2xCLG9CQUFtQjtJQUNuQixTQUFRO0lBQ1IsU0FBUTtJQUFFLE9BQU87SUFDakIsb0NBQTJCO1lBQTNCLDRCQUEyQjtJQUFFLE9BQU87SUFDcEMsY0FBYSxFQUNkO0VBYkg7SUFpQk0sZ0JBQWUsRUFDaEI7RUFsQkw7SUFxQk0sb0JBQW1CLEVBQ3BCOztBQUlMO0VBRUUsbUJBQWtCLEVBQ25COztBQzdCRDtFQUNFLGtCdkNNc0Q7RXVDTHRELGV4Q2UyQjtFd0NkM0Isa0IxQ0hnQixFMENJakI7O0FDSkQ7O0dBRUc7QUFDSDtFQUNFLGVBQWM7RUFDZCxvQkFBYztFQUFkLHVCQUFjO01BQWQsbUJBQWM7VUFBZCxlQUFjO0VBQ2QsNkJBQXNCO0VBQXRCLDhCQUFzQjtFQUF0QiwrQkFBc0I7TUFBdEIsMkJBQXNCO1VBQXRCLHVCQUFzQjtFQUFFLE9BQU8sRUFlaEM7RUFsQkQ7SUFNSSxpQkFBZ0I7SUFDaEIsa0JBQWlCLEVBQ2xCO0VBUkg7SUFXSSxtQkFBa0I7SUFDbEIsU0FBUTtJQUNSLFFBQU87SUFDUCxTQUFRO0lBQ1IsY3pCRnNCO0l5Qkd0QixhQUFZLEVBQ2I7O0FBR0g7RUFDRSxhQUFZLEVBQ2I7O0FBRUQ7RUFDRSxrQnhDckJzRCxFd0MrQnZEO0VBWEQ7SUFJSSxvQkFBbUI7SUFDbkIsbUIzQzdCdUIsRTJDa0N4QjtJQVZIO01BUU0saUJBQWdCLEVBQ2pCOztBQUlMO0VBRUksbUJBQWtCLEVBT25CO0VBVEg7SUFNUSxXQUFVLEVBQ1g7O0FBS1A7O0VBR0ksMEI3QnJEaUMsRTZCc0RsQzs7QUFHSDtFQUNFLGtCQUErQixFQUNoQzs7QUFFRDtFQUNFLHFCQUFhO0VBQWIsc0JBQWE7RUFBYixxQkFBYTtFQUFiLGNBQWE7RUFDYiw2QkFBc0I7RUFBdEIsOEJBQXNCO0VBQXRCLCtCQUFzQjtNQUF0QiwyQkFBc0I7VUFBdEIsdUJBQXNCO0VBQ3RCLHlCQUF1QjtFQUF2QixnQ0FBdUI7TUFBdkIsc0JBQXVCO1VBQXZCLHdCQUF1QjtFQUN2QixvQkFBYztFQUFkLHVCQUFjO01BQWQsbUJBQWM7VUFBZCxlQUFjO0VBQ2QsbUJBQWtCLEVBQ25COztBQ3JFRDs7RUFFRSxXQUFVLEVBTVg7RUFKQzs7O0lBRUUsV0FBVSxFQUNYOztBQ1BIO0VBQ0Usc0JBQXFCLEVBQ3RCOztBQUVEO0VBQ0UsbUJBQWtCO0VBQ2xCLG9CQUFtQjtFQUNuQixTQUFRLEVBQ1Q7O0FBRUQ7Ozs7R0FJRztBQUVIO0VBQ0UseUJBQWdCO0tBQWhCLHNCQUFnQjtVQUFoQixpQkFBZ0I7RUFDaEIsdUIzQ0p1QjtFMkNLdkIsYUFBWTtFQUNaLGU3Q2xCMEI7RTZDbUIxQixnQjFDYnNEO0UwQ2N0RCxlQUFjO0VBQUUsT0FBTztFQUN2QixzQkFBcUI7RUFDckIsV0FBVTtFQUFFLE9BQU8sRUFLcEI7RUFiRDtJQVdJLFdBQVU7SUFBRSxPQUFPLEVBQ3BCOztBQUdIO0VBSUksdUJsQ2pDcUIsRWtDa0N0Qjs7QUNwQ0g7O0dBRUc7QUFDSDtFQUNFLGFBQVk7RUFDWixpQjlDRnlCO0U4Q0VELE9BQU8sRUFDaEM7O0FDTkQ7Ozs7R0FJRztBQUVGO0VBQ0MseUJBQWdCO0tBQWhCLHNCQUFnQjtVQUFoQixpQkFBZ0I7RUFDaEIsOEJBQTZCO0VBQzdCLFdBQVU7RUFDVixhQUFZO0VBQ1osWUFBVztFQUFFLE9BQU87RUFDcEIsYUFBWSxFQUNiOztBQ2JEOztFQUdJLHNCQUFxQjtFQUNyQixzQkFBcUI7RUFDckIsc0JBQXFCO0VBQ3JCLHNCQUFxQixFQUN0Qjs7QUFQSDs7RUFXSSxnRTVDa0JrRSxFNENqQm5FOztBQVpIO0VBZUksOEJBQTZCLEVBQzlCOztBQUdIO0VBQ0UsdUI5Q051QjtFOENPdkIsbUJBQXdCLEVBQ3pCOztBQUVEOztFQUVFLG9CQUFtQixFQUNwQjs7QUFFRDtFQUlJLHVCckMvQnFCLEVxQ2dDdEI7O0FDbENIO0VBQ0UsY2pESTBCLEVpREgzQjs7QUNGRDtFQUNFLGNsREkwQixFa0RIM0I7O0FDRkQ7RUFDRSxjbkRJMEIsRW1ESDNCOztBQ0ZEO0VBQ0UsbUJBQWtCO0VBQ2xCLFlBQVc7RUFDWCxVQUFTO0VBQ1QsVUFBUztFQUNULG1CQUFrQixFQUNuQjs7QUFFRDs7O0dBR0c7QUFFSDtFQUNFLGFwRFAwQjtFb0RRMUIsUUFBTztFQUNQLFVBQVM7RUFDVCxnQkFBZTtFQUNmLGVBQWM7RUFDZCxXQUFVO0VBQ1YsYUFBWTtFQUNaLGlCQUFnQjtFQUNoQixXQUFVLEVBWVg7RUFyQkQ7SUFhSSxvRUN2QndEO0lEdUJ4RCw0REN2QndEO0lEd0J4RCx1QkFBc0I7SUFBRSxPQUFPLEVBTWhDO0lBcEJIO01BaUJNLG9FQzNCc0Q7TUQyQnRELDREQzNCc0Q7TUQ0QnRELHFDQUFnQztjQUFoQyw2QkFBZ0MsRUFDakM7O0FBSUw7RUFDRSxlQUFjO0VBQ2QsMEJ0Qy9CbUM7RXNDZ0NuQyxhcERoQzBCO0VvRGlDMUIsMjJEQUEwMkQ7RUFHMTJELFlBQVc7RUFDWCw2QkFBNEI7RUFDNUIsMkJBQTBCO0VBQzFCLDZCQUE0QjtFQUU1QixjbENoQ3dCLEVrQ2lDekI7O0FBRUQ7O0dBRUc7QUFFSDtFQUNFLG9CbER0RHVCO0VrRHVEdkIsWWxEM0N1QjtFa0Q0Q3ZCLGtCcERuRDBCO0VvRG9EMUIsc0JBQXFCO0VBQ3JCLGFwRHJEMEI7RW9Ec0QxQixtQkFBa0I7RUFDbEIsd0JBQThCO0VBQUUsT0FBTztFQUN2QyxTQUFRO0VBQ1IsWUFBVztFQUNYLG9CQUFtQjtFQUNuQiwwQnBEOUQwQjtFb0QrRDFCLGlDQUF3QjtFQUF4Qix5QkFBd0I7RUFDeEIscUNBQTRCO1VBQTVCLDZCQUE0QjtFQUM1QixZQUFXLEVBQ1o7O0FFdEVEO0VBRUksZ0JBQWUsRUFDaEI7O0FDSEg7RUFDRSxxQkFBYTtFQUFiLHNCQUFhO0VBQWIscUJBQWE7RUFBYixjQUFhLEVBQ2Q7O0FDcUJEO0VBQ0UsMkJBQTBCO0VBQzFCLCtCQUE4QjtFQUM5QixpQkFBZ0I7RUFDaEIsZTlDM0JvQjtFOEM0QnBCLHNCQUFxQixFQW1YdEI7RUF4WEQ7SUFRSSxlQUFjO0lBQ2QsWUFBVyxFQUNaO0VBVkg7SUFhSSxlQUFjO0lBQ2QsWUFBVztJQUNYLFlBQVcsRUFDWjtFQWhCSDtJQW1CSSx5QkFBd0IsRUFDekI7RUFwQkg7SUF1QkksNEJBQTJCLEVBQzVCO0VBeEJIO0lBMkJJLDhCQUE2QjtJQUM3QixzQ0FBcUM7SUFDckMsZXREbERxQjtJc0RtRHJCLHNCQUFxQixFQWF0QjtJQTNDSDtNQWtDTSxlQUFvQztNQUNwQywyQkFBMEI7TUFDMUIsaUJBQWdCLEVBQ2pCO0lBckNMO01Bd0NNLGVBQWM7TUFDZCxzQkFBcUIsRUFDdEI7RUExQ0w7SUE4Q0ksaUJwRFp1QixFb0RheEI7RUEvQ0g7SUFrREksbUJBQWtCO0lBQ2xCLGdCQUFlO0lBQ2YsZ0NBQXVCO1lBQXZCLHdCQUF1QjtJQUN2Qix1QnREOURxQixFc0QrRHRCO0VBdERIO0lBeURJLGlCQUFnQixFQUNqQjtFQTFESDtJQTZESSxnQ0FBdUI7WUFBdkIsd0JBQXVCO0lBQ3ZCLGlCQUFnQjtJQUNoQix3QkFBdUI7SUFDdkIsWXhEckZ3QjtJd0RzRnhCLFdBQVU7SUFDVixlQUFtQjtJQUNuQiwwQnREMUV3QjtJc0QyRXhCLFVBQVMsRUFZVjtJQWhGSDtNQXVFTSxlQUFjO01BQ2QsWUFBVyxFQUNaO0lBekVMO01BNEVNLGVBQWM7TUFDZCxZQUFXO01BQ1gsWUFBVyxFQUNaO0VBL0VMO0lBbUZJLGNBQWE7SUFDYixxQkFBb0I7SUFDcEIsbUJBQWtCO0lBQ2xCLHFCQUFvQjtJQUNwQixVQUFTO0lBQ1Qsa0JBQWlCLEVBQ2xCO0VBekZIO0lBNEZJLCtCQUFzQjtZQUF0Qix1QkFBc0I7SUFDdEIsV0FBVSxFQUNYO0VBOUZIO0luQmFFLHNCQUFxQjtJbUJxRm5CLGtCQUFpQjtJQUNqQiwwQkFBeUI7SUFDekIsZUFBYztJQUNkLFlBQVc7SUFDWCxlQUFjO0lBQ2QsK0J0RDlHd0IsRXNEb0l6QjtJbkI3R0Q7TUFDRSxZQUFXO01BQ1gsYUFBWSxFQUNiO0lBRUQ7TUFDRSwyQ0FBd0Q7TUFDeEQsOEJBQTZCO01BQzdCLDZCQUE0QixFQUM3QjtJQUVEO01BRUUsOEJBQTZCLEVBQzlCO0ltQjlCSDtNQTBHTSxpQnJEakhxQjtNcURrSHJCLGV0RGpIdUIsRXNEa0h4QjtJQTVHTDs7TUFnSE0sa0J4RG5Jc0I7TXdEb0l0Qiw4QnREeEhzQjtNc0R5SHRCLGlDdER6SHNCLEVzRDhIdkI7TUF2SEw7O1FBcUhRLGdDdEQ1SG9CLEVzRDZIckI7SUF0SFA7TUEwSE0sOEJBQTZCO01BQzdCLDhCdERsSXNCLEVzRG1JdkI7RUE1SEw7Ozs7OztJQXFJSSxpQnBEbkd1QjtJb0RvR3ZCLGlCeER4SndCO0l3RHlKeEIsb0J4RDlKYztJd0QrSmQsa0JBQWlCLEVBS2xCO0lBN0lIOzs7Ozs7TUEySU0sc0JBQXFCLEVBQ3RCO0VBNUlMO0lBZ0pJLGVBQWM7SUFDZCxzQkFBcUI7SUFDckIsaUN0RHpKd0IsRXNEMEp6QjtFQW5KSDtJQXNKSSxpQkFBZ0I7SUFDaEIsc0JBQXFCO0lBQ3JCLGlDdEQvSndCLEVzRGdLekI7RUF6Skg7SUE0Skksa0JBQWlCLEVBQ2xCO0VBN0pIO0lBZ0tJLGVBQWMsRUFDZjtFQWpLSDtJQW9LSSxtQkFBa0IsRUFDbkI7RUFyS0g7SUF3S0ksaUJBQWdCLEVBQ2pCO0VBektIOzs7Ozs7O0lBa0xJLGNBQWE7SUFDYixvQnhEMU1jLEV3RDJNZjtFQXBMSDtJQXVMSSxlQUFjO0lBQ2QsZUFBYztJQUNkLGV0RDlMdUI7SXNEK0x2QiwrQnREak13QixFc0QwTXpCO0lBbk1IO01BNkxNLGNBQWEsRUFDZDtJQTlMTDtNQWlNTSxpQkFBZ0IsRUFDakI7RUFsTUw7O0lBdU1JLGtCQUFpQjtJQUNqQixjQUFhLEVBQ2Q7RUF6TUg7SUE0TUksc0JBQXFCLEVBQ3RCO0VBN01IO0lBZ05JLHlCQUF3QixFQUN6QjtFQWpOSDs7SUFxTkksNkJBQTRCLEVBQzdCO0VBdE5IOzs7O0lBNE5JLDZCQUE0QixFQUM3QjtFQTdOSDs7OztJQW1PSSxjQUFhO0lBQ2IsaUJBQWdCLEVBQ2pCO0VBck9IO0lBd09JLGlCeEQvUGMsRXdEZ1FmO0VBek9IO0lBNE9JLG1CQUFrQixFQUNuQjtFQTdPSDtJQWlQTSxpQnhEeFFZO0l3RHlRWixtQkFBa0I7SUFDbEIsaUJwRGpOcUIsRW9Ea050QjtFQXBQTDtJQXVQTSxnQnhEOVFZO0l3RCtRWixvQnhEL1FZLEV3RGdSYjtFQXpQTDtJQTZQSSxZQUFXO0lBQ1gsbUJ4RG5Sd0I7SXdEb1J4QixtQnhEalJ3QjtJd0RrUnhCLGVBQWMsRUFLZjtJQXJRSDtNQW1RTSxjQUFhLEVBQ2Q7RUFwUUw7OztJQTBRSSxnRXBEcFFrRTtJb0RxUWxFLGlCQUFnQjtJQUNoQiwwQnREcFIyQjtJc0RxUjNCLGU5Q3BTa0IsRThDcVNuQjtFQTlRSDtJQWlSSSxlQUFjO0lBQ2QsMEJ0RHpSd0I7SXNEMFJ4Qiw2QjFDblNpQztJMENvU2pDLG1CbERyU2lCO0lrRHNTakIsMkN0RDVSd0I7WXNENFJ4QixtQ3RENVJ3QixFc0Q2UnpCO0VBdFJIO0lBeVJJLGlCQUFnQjtJQUNoQixVQUFTO0lBQ1QsbUJsRDVTaUIsRWtEbVRsQjtJQWxTSDtNQStSTSx1QkFBc0I7TUFDdEIsaUJBQWdCLEVBQ2pCO0VBalNMO0luQmFFLHNCQUFxQjtJbUJ5Um5CLGtCQUFpQjtJQUNqQixrQkFBaUI7SUFDakIsY3hEL1RjO0l3RGdVZCxlQUFjO0lBQ2QsbUJsRDNUaUIsRWtEZ1ZsQjtJbkIvU0Q7TUFDRSxZQUFXO01BQ1gsYUFBWSxFQUNiO0lBRUQ7TUFDRSwyQ0FBd0Q7TUFDeEQsOEJBQTZCO01BQzdCLDZCQUE0QixFQUM3QjtJQUVEO01BRUUsOEJBQTZCLEVBQzlCO0ltQjlCSDtNQTZTTSxlQUFjO01BQ2QsbUJBQWtCO01BQ2xCLGlCQUFnQjtNQUNoQixnQkFBZTtNQUNmLGdCQUFlO01BQ2YsV0FBVTtNQUNWLFVBQVM7TUFDVCxrQkFBaUI7TUFDakIscUJBQW9CO01BQ3BCLGtCQUFpQjtNQUNqQix5Q0FBd0M7TUFDeEMsVUFBUyxFQU1WO01BOVRMO1FBNFRRLGdCQUFlLEVBQ2hCO0VBN1RQO0lBa1VJLG1CQUFrQixFQU1uQjtJQXhVSDtNQXFVTSxpQkFBZ0I7TUFDaEIsbUJBQWtCLEVBQ25CO0VBdlVMO0lBMlVJLG1CQUFrQjtJQUNsQixXQUFVO0lBQ1Ysc0J0RGxXcUIsRXNEbVd0QjtFQTlVSDtJQWlWSSxzQkFBcUIsRUFVdEI7SUEzVkg7TUFvVk0sZ0J4RHpXc0IsRXdEMFd2QjtJQXJWTDtNQXdWTSw4QkFBNkI7TUFDN0IsdUJBQXNCLEVBQ3ZCO0VBMVZMO0lBOFZJLDJCQUEwQixFQUMzQjtFQS9WSDtJQWtXSSw2QkFBbUMsRUFDcEM7RUFuV0g7SUFzV0ksNkJBQWtDLEVBQ25DO0VBdldIO0lBMFdJLDhCQUFpQyxFQUNsQztFQTNXSDtJQThXSSw4QkFBa0MsRUFDbkM7RUEvV0g7SUFrWEksOEJBQW1DLEVBQ3BDO0VBblhIO0lBc1hJLDhCQUFvQyxFQUNyQzs7QUFHSDtFQUlJLFk3Q3hZZSxFNkMrYmhCO0VBM0RIO0lBT00sc0NBQXFDO0lBQ3JDLGU3Qy9ZbUIsRTZDcVpwQjtJQWRMO01BWVEsZUFBb0MsRUFDckM7RUFiUDtJQWlCTSx1QjdDaGFtQixFNkNpYXBCO0VBbEJMO0lBcUJNLHVCN0NsYW1CLEU2Q21hcEI7RUF0Qkw7Ozs7SUE2QlEsbUI3QzFhaUIsRTZDMmFsQjtFQTlCUDs7SUFtQ00sbUI3Q2hibUIsRTZDaWJwQjtFQXBDTDtJQXVDTSxlN0NsYnFCO0k2Q21ickIsbUI3Q3JibUIsRTZDc2JwQjtFQXpDTDs7O0lBOENNLDBCN0N4YStCO0k2Q3lhL0IsZTdDeGFxQixFNkN5YXRCO0VBaERMO0lBbURNLG1CN0NoY21CO0k2Q2ljbkIsNkIxQzliK0I7STBDK2IvQix3QzdDbGNtQjtZNkNrY25CLGdDN0NsY21CLEU2Q21jcEI7RUF0REw7SUF5RE0sc0I3Q2hjbUIsRTZDaWNwQjs7QUMzY0w7RUFDRSxjekREZ0IsRXlERWpCOztBQUVEO0VBQ0UsaUJ6RExnQixFeURNakI7O0FDRkQ7RUFDRSxvQkFBbUI7RUFDbkIsWUFBVztFQVFYOztLQUVHLEVBNkNKO0VBekREO0lBS0ksVUFBUztJQUNULFdBQVU7SUFDVixpQkFBZ0IsRUFDakI7RUFSSDtJQWNJLHlCQUFnQjtPQUFoQixzQkFBZ0I7WUFBaEIsaUJBQWdCO0lBQ2hCLGlCQUFnQjtJQUNoQixhQUFZLEVBQ2I7RUFqQkg7SUFvQkkscUJBQWE7SUFBYixzQkFBYTtJQUFiLHFCQUFhO0lBQWIsY0FBYTtJQUNiLDBCQUFtQjtJQUFuQiw0QkFBbUI7UUFBbkIsdUJBQW1CO1lBQW5CLG9CQUFtQjtJQUNuQixrQjFEMUJjLEUwRG1DZjtJQS9CSDtNQXlCTSxvQkFBYztNQUFkLHVCQUFjO1VBQWQsbUJBQWM7Y0FBZCxlQUFjLEVBS2Y7TUE5Qkw7UUE0QlEsa0IxRDlCb0IsRTBEK0JyQjtFQTdCUDtJdERTRSxnQkRMc0Q7SUNNdEQsZ0JBUHFDO0llMkRyQyxpQmZsQnFCO0lzRFRuQix3QkFBdUI7SUFDdkIsb0JBQWM7SUFBZCx1QkFBYztRQUFkLG1CQUFjO1lBQWQsZUFBYztJQUNkLG9CQUFtQixFQUNwQjtFQXRDSDtJdERTRSxnQkRMc0Q7SUNNdEQsZ0JBUHFDO0llMkRyQyxpQmZsQnFCO0lzREZuQixvQjFEM0N1QixFMERxRHhCO0lBcERIO01BNkNNLHNCQUFxQjtNQUNyQixZQUFXO01BQ1gsY0FBbUI7TUFDbkIsbUJBQWtCO01BQ2xCLGtCQUFpQjtNQUNqQixzQkFBcUIsRUFDdEI7RUFuREw7SUF1REkscUJBQWE7SUFBYixzQkFBYTtJQUFiLHFCQUFhO0lBQWIsY0FBYSxFQUNkOztBQWFEO0VBQ0UsMEI1Q3hFaUM7RTRDeUVqQyxleER6RXFCLEV3RDRGdEI7RUFyQkQ7O0lBU00sMEJBQTZCO0lBQzdCLHNCeERqRmlCLEV3RGtGbEI7RUFYTDs7SUFpQk0sMEJBQTZCO0lBQzdCLHNCeER6RmlCLEV3RDBGbEI7O0FBbkJMO0VBQ0UsMEI1Q3hFaUM7RTRDeUVqQyxlNUNwRWlDLEU0Q3VGbEM7RUFyQkQ7O0lBU00sMEJBQTZCO0lBQzdCLHNCNUM1RTZCLEU0QzZFOUI7RUFYTDs7SUFpQk0sMEJBQTZCO0lBQzdCLHNCNUNwRjZCLEU0Q3FGOUI7O0FBbkJMO0VBQ0UsMEI1Q3hFaUM7RTRDeUVqQyxlNUNwRWlDLEU0Q3VGbEM7RUFyQkQ7O0lBU00sMEJBQTZCO0lBQzdCLHNCNUM1RTZCLEU0QzZFOUI7RUFYTDs7SUFpQk0sMEJBQTZCO0lBQzdCLHNCNUNwRjZCLEU0Q3FGOUI7O0FBbkJMO0VBQ0UsMEI1Q3hFaUM7RTRDeUVqQyxlNUNwRWlDLEU0Q3VGbEM7RUFyQkQ7O0lBU00sMEJBQTZCO0lBQzdCLHNCNUM1RTZCLEU0QzZFOUI7RUFYTDs7SUFpQk0sMEJBQTZCO0lBQzdCLHNCNUNwRjZCLEU0Q3FGOUI7O0FDNUZQOztFQUlJLHFDQUFvQztFQUNwQyxzQ0FBcUM7RUFDckMsYUFBWTtFQUNaLGtCM0RQYztFMkRRZCxpQnZEOEN1QjtFdUQ3Q3ZCLDBCekRNMkIsRXlETDVCOztBQVZIOztFQWNNLGFBQVksRUFDYjs7QUFmTDs7RUFrQk0sMEJ6REh5QixFeURJMUI7O0FBbkJMOztFQXNCTSx1QnpEUm1CLEV5RFNwQjs7QUF2Qkw7O0VBMEJNLGlCdkQ0QnFCO0V1RDNCckIsZXpEUndCLEV5RFN6Qjs7QUE1Qkw7O0VBK0JNLGtCM0QvQlksRTJENkRiO0VBN0RMOztJQWtDUSxXQUFVO0lBQ1YscUJBQWE7SUFBYixzQkFBYTtJQUFiLHFCQUFhO0lBQWIsY0FBYTtJQUNiLCtCQUFtQjtJQUFuQiw4QkFBbUI7SUFBbkIsNEJBQW1CO1FBQW5CLHdCQUFtQjtZQUFuQixvQkFBbUIsRUFLcEI7SUF6Q1A7O01BdUNVLGtCM0RwQ2lCLEUyRHFDbEI7RUF4Q1Q7O0lBNENRLGVBQWM7SUFDZCwwQkFBa0MsRUFNbkM7SUFuRFA7O01BZ0RVLDBCQUE4QztNQUM5QyxrQjNEOUNpQixFMkQrQ2xCO0VBbERUOztJQXNEUSxxQ0FBb0M7SUFDcEMsc0NBQXFDLEVBQ3RDO0VBeERQOztJQTJEUSw0QkFBMkIsRUFDNUI7O0FBNURQOztFQWtFTSxhM0RsRVksRTJEbUViOztBdkMvQks7RXdDbkNSO0lBR0ksa0I1REpZLEU0REtiLEVBQUE7O0F4Q29DSztFd0N4Q1I7SUFHSSxrQjVESlksRTRES2IsRUFBQTs7QXhDb0NLO0V3Qy9CUjtJQUNFLGdCQUFlLEVBQ2hCLEVBQUE7O0F4QzZCTztFd0MvQlI7SUFDRSxnQkFBZSxFQUNoQixFQUFBOztBeENhSztFd0NmTjtJQUNFLGdCQUFlLEVBQ2hCLEVBQUE7O0FDSkg7RUFDRSxtQkFBa0IsRUFzRW5CO0VBdkVEO0lDMEJFLHNLaEQzQm1DO1lnRDJCbkMsOEpoRDNCbUM7SWdEbUNqQyxzQmhEeENpQztJZ0R5Q2pDLDBCaER6Q2lDO0lnRDBDakMsNkJoRDFDaUM7SStDV2pDLGtCQUFpQjtJQUNqQixzQjNERXdCO0kyRER4QixlbkRma0I7SW1EZ0JsQix1QjNERnFCO0kyREdyQixtQkFBa0I7SUFDbEIsVUFBUztJQUNULGMzQ0ZzQjtJMkNHdEIsWUFBVztJQUNYLG1CdkRmaUIsRXVEd0VsQjtJQXRFSDtNeEI0QkUsc0JBQXFCO013QlZqQixpQkFBZ0I7TUFDaEIsaUJBQWdCLEVBQ2pCO014QldIO1FBQ0UsWUFBVztRQUNYLGFBQVksRUFDYjtNQUVEO1FBQ0UsMkNBQXdEO1FBQ3hELDhCQUE2QjtRQUM3Qiw2QkFBNEIsRUFDN0I7TUFFRDtRQUVFLDhCQUE2QixFQUM5QjtJd0I3Q0g7TUF1Qk0sYTdEekJvQjtNNkQwQnBCLG9CQUFtQjtNQUNuQixrQjFEMUJrRDtNMEQyQmxELHVCQUFzQjtNQUN0QixXQUFVO01BQ1Ysb0JBQW1CO01BQ25CLG9CQUFtQixFQUNwQjtJQTlCTDtNQWlDTSxnQkFBZSxFQUNoQjtJQWxDTDtNQXFDTSxtQkFBa0I7TUFDbEIsMkJ2RHhDZSxFdUR5Q2hCO0lBdkNMO01BMENNLG1CQUFrQjtNQUNsQiwyQkFBb0QsRUFDckQ7SUE1Q0w7TUErQ00sMEIzRHhDeUIsRTJEOEQxQjtNQXJFTDtRQW1EUSxpQjNEN0NpQixFMkQ4Q2xCO01BcERQO1FBdURRLFkzRDNDZ0IsRTJENENqQjtNQXhEUDtRQTJEUSxZM0QvQ2dCLEUyRGdEakI7TUE1RFA7UUFpRVksMEIvQ3ZFeUIsRStDd0UxQjtNQWxFWDtRQWlFWSwwQi9DdkV5QixFK0N3RTFCO01BbEVYO1FBaUVZLDBCL0N2RXlCLEUrQ3dFMUI7TUFsRVg7UUFpRVksMEIvQ3ZFeUIsRStDd0UxQjs7QUFPWDtFQUNFLHFCQUFhO0VBQWIsc0JBQWE7RUFBYixxQkFBYTtFQUFiLGNBQWE7RUFDYiwyQkFBb0I7RUFBcEIsNkJBQW9CO01BQXBCLHdCQUFvQjtVQUFwQixxQkFBb0I7RUFDcEIsb0JBQVk7RUFBWixxQkFBWTtNQUFaLHFCQUFZO1VBQVosYUFBWTtFQUNaLDBCQUFtQjtFQUFuQiw0QkFBbUI7TUFBbkIsdUJBQW1CO1VBQW5CLG9CQUFtQjtFQUNuQixrQjFEL0VzRDtFMERnRnRELG9CQUFtQixFQXFCcEI7RUEzQkQ7SUFXUSwwQi9DMUY2QjtJK0MyRjdCLGUvQ3RGNkIsRStDdUY5QjtFQWJQO0lBV1EsMEIvQzFGNkI7SStDMkY3QixlL0N0RjZCLEUrQ3VGOUI7RUFiUDtJQVdRLDBCL0MxRjZCO0krQzJGN0IsZTNEM0ZpQixFMkQ0RmxCO0VBYlA7SUFXUSwwQi9DMUY2QjtJK0MyRjdCLGVFNUYyQixFRjZGNUI7RUFiUDtJQW1CTSwwQjNEcEZzQjtJMkRxRnRCLGUzRHBGdUIsRTJEcUZ4QjtFQXJCTDtJQXdCTSxZQUFXLEVBQ1o7O0FBSUw7RUFDRSxvQkFBWTtFQUFaLHFCQUFZO01BQVoscUJBQVk7VUFBWixhQUFZO0VBQ1osdUJBQWM7TUFBZCw0QkFBYztVQUFkLGVBQWM7RUFDZCxxQkFBYTtFQUFiLHNCQUFhO0VBQWIscUJBQWE7RUFBYixjQUFhO0VBQ2IsNkJBQXNCO0VBQXRCLDhCQUFzQjtFQUF0QiwrQkFBc0I7TUFBdEIsMkJBQXNCO1VBQXRCLHVCQUFzQixFQUN2Qjs7QUFFRDtFQUNFLG9CQUFZO0VBQVoscUJBQVk7TUFBWixxQkFBWTtVQUFaLGFBQVk7RUFDWix5QkFBZ0I7TUFBaEIsOEJBQWdCO1VBQWhCLGlCQUFnQjtFQUNoQixZN0RsSHdCO0U2RG1IeEIsYTdEbkh3QjtFNkRvSHhCLG1CQUFrQjtFQUNsQixpQkFBZ0I7RUFDaEIsYTdEMUgwQjtFNkQySDFCLHlCQUF1QjtFQUF2QixnQ0FBdUI7TUFBdkIsc0JBQXVCO1VBQXZCLHdCQUF1QjtFQUN2QiwwQkFBbUI7RUFBbkIsNEJBQW1CO01BQW5CLHVCQUFtQjtVQUFuQixvQkFBbUIsRUFDcEI7O0FBR0Q7RUFDRSxvQkFBWTtFQUFaLHFCQUFZO01BQVoscUJBQVk7VUFBWixhQUFZO0VBQUUsT0FBTztFQUNyQix5QkFBZ0I7TUFBaEIsOEJBQWdCO1VBQWhCLGlCQUFnQjtFQUFFLE9BQU87RUFDekIsZ0V6RHhHb0U7RXlEeUdwRSxtQjdEaEl3QjtFNkRpSXhCLGFBQVk7RUFDWixpQkFBZ0I7RUFDaEIsd0JBQXVCO0VBQ3ZCLGlCN0R2SXlCO0U2RHdJekIsZW5EM0lvQixFbUQ0SXJCOztBQUVEO0VBQ0UsZTNEN0h5QjtFMkQ4SHpCLGlCQUFnQjtFQUNoQix3QkFBdUIsRUFDeEI7O0FBRUQ7RUFDRSxnRXpEeEhvRTtFeUR5SHBFLG9CM0R2STZCO0UyRHdJN0IsWTNEbklzQjtFMkRvSXRCLGU3RHRKMEI7RTZEdUoxQixzQkFBcUIsRUFDdEI7O0FHMUpEO0VBQ0UsY0FBYSxFQUNkOztBQ0REO0VBQ0UsbUJBQWtCO0VBQ2xCLFlBQXdCO0VBQ3hCLFFBQU87RUFDUCxTQUFRO0VBQ1IsaUJBQWdCO0VBQ2hCLFdBQVU7RUFFVixxQ0FBNEI7RUFBNUIsNkJBQTRCO0VBQzVCLCtCWkwwQjtVWUsxQix1QlpMMEI7RVlNMUIsa0NaTjBCO1VZTTFCLDBCWk4wQixFWU8zQjs7QUFFRDtFQUNFLFVBQVM7RUFDVCxlakVieUI7RWlFY3pCLG9CQUFjO0VBQWQsdUJBQWM7TUFBZCxtQkFBYztVQUFkLGVBQWM7RUFDZCwyQkFBa0I7TUFBbEIsNEJBQWtCO1VBQWxCLG1CQUFrQixFQUNuQjs7QUFFRDtFQUNFLG9CQUFjO0VBQWQsdUJBQWM7TUFBZCxtQkFBYztVQUFkLGVBQWM7RUFDZCxVQUFTO0VBQ1QsV0FBVSxFQUNYOztBQUVEO0VBQ0UsZ0JBQWUsRUFDaEI7O0FBRUQ7RUFDRSxrQmpFN0J5QjtFaUU4QnpCLHlCakUvQjBCO0VpRWdDMUIscUJBQWE7RUFBYixzQkFBYTtFQUFiLHFCQUFhO0VBQWIsY0FBYSxFQUNkOztBQVlDO0VBSUUsMEJuRGpEaUM7RW1Ea0RqQyxlL0RsRHFCLEUrRG1EdEI7O0FBTkQ7RUFJRSwwQm5EakRpQztFbURrRGpDLGVuRDdDaUMsRW1EOENsQzs7QUFORDtFQUlFLDBCbkRqRGlDO0VtRGtEakMsZW5EN0NpQyxFbUQ4Q2xDOztBQU5EO0VBSUUsMEJuRGpEaUM7RW1Ea0RqQyxlbkQ3Q2lDLEVtRDhDbEM7O0FDckRIO0VBQ0Usb0JBQVc7RUFBWCxvQkFBVztNQUFYLGtCQUFXO1VBQVgsWUFBVztFQUNYLHFCQUFhO0VBQWIsc0JBQWE7RUFBYixxQkFBYTtFQUFiLGNBQWE7RUFDYiwwQkFBbUI7RUFBbkIsNEJBQW1CO01BQW5CLHVCQUFtQjtVQUFuQixvQkFBbUI7RUFDbkIseUJBQXVCO0VBQXZCLGdDQUF1QjtNQUF2QixzQkFBdUI7VUFBdkIsd0JBQXVCLEVBVXhCO0VBZEQ7SUFPUywrQkFBc0I7UUFBdEIsMkJBQXNCO1lBQXRCLHVCQUFzQixFQUFJO0VBUG5DO0lBUVksNkJBQW9CO1FBQXBCLHlCQUFvQjtZQUFwQixxQkFBb0IsRUFBSTtFQVJwQztJQVdJLGdCQUFlO0k5REVqQixrQkRIc0Q7SUNJdEQsc0JBUHFDO0llMEVyQyxpQmZqQ3FCLEU4RG5DcEI7O0FBSUg7RUFDRSxnQkFBZTtFQUNmLGlCQUFnQixFQUNqQjs7QUNPRDtFQUNFLHFCQUFhO0VBQWIsc0JBQWE7RUFBYixxQkFBYTtFQUFiLGNBQWE7RUFDYixvQkFBYztFQUFkLHVCQUFjO01BQWQsbUJBQWM7VUFBZCxlQUFjO0VBQ2QsK0JBQW1CO0VBQW5CLDhCQUFtQjtFQUFuQiw0QkFBbUI7TUFBbkIsd0JBQW1CO1VBQW5CLG9CQUFtQjtFQUNuQixjQUFhO0VBQ2IsYUFBWTtFQUNaLGlCQUFnQjtFQUNoQixnQkFBNEIsRUFDN0I7O0FBRUQ7RUFDRSxxQkFBYTtFQUFiLHNCQUFhO0VBQWIscUJBQWE7RUFBYixjQUFhO0VBQ2Isb0JBQWE7RUFBYixzQkFBYTtNQUFiLGtCQUFhO1VBQWIsY0FBYTtFQUNiLDZCQUFzQjtFQUF0Qiw4QkFBc0I7RUFBdEIsK0JBQXNCO01BQXRCLDJCQUFzQjtVQUF0Qix1QkFBc0I7RUFDdEIsY0FBYTtFQUNiLGFBQVksRUFDYjs7QUFFRDtFQUNFLHFCQUFhO0VBQWIsc0JBQWE7RUFBYixxQkFBYTtFQUFiLGNBQWE7RUFDYixvQkFBYztFQUFkLHVCQUFjO01BQWQsbUJBQWM7VUFBZCxlQUFjO0VBQ2QsK0JBQW1CO0VBQW5CLDhCQUFtQjtFQUFuQiw0QkFBbUI7TUFBbkIsd0JBQW1CO1VBQW5CLG9CQUFtQjtFQUNuQixjQUFhO0VBQ2IsYUFBWSxFQU1iO0VBWEQ7SUFRSSxnQkFBZTtJQUNmLG1CQUFrQixFQUNuQjs7QUFHSDtFQUNFLHFCQUFhO0VBQWIsc0JBQWE7RUFBYixxQkFBYTtFQUFiLGNBQWE7RUFDYiw2QkFBc0I7RUFBdEIsOEJBQXNCO0VBQXRCLCtCQUFzQjtNQUF0QiwyQkFBc0I7VUFBdEIsdUJBQXNCO0VBQ3RCLG9CQUFjO0VBQWQsdUJBQWM7TUFBZCxtQkFBYztVQUFkLGVBQWM7RUFDZCxjQUFhO0VBQ2IsYUFBWSxFQU1iO0VBWEQ7SUFRSSxpQkFBZ0I7SUFDaEIsa0JBQWlCLEVBQ2xCOztBQUdIO0VBQ0UscUJBQWE7RUFBYixzQkFBYTtFQUFiLHFCQUFhO0VBQWIsY0FBYTtFQUNiLG9CQUFhO0VBQWIsc0JBQWE7TUFBYixrQkFBYTtVQUFiLGNBQWE7RUFDYixrQkFBaUI7RUFDakIsWUFBVztFQUNYLGNBQWE7RUFDYixhQUFZLEVBQ2I7O0FBRUQ7RUFDRSxtQkFBa0IsRUFDbkI7O0FBSUQ7RUFDRSxvQkFBbUIsRUFDcEI7O0FBSUQ7O0VBRUUscUJBQWE7RUFBYixzQkFBYTtFQUFiLHFCQUFhO0VBQWIsY0FBYTtFQUNiLDZCQUFzQjtFQUF0Qiw4QkFBc0I7RUFBdEIsK0JBQXNCO01BQXRCLDJCQUFzQjtVQUF0Qix1QkFBc0I7RUFDdEIsY0FBYTtFQUNiLGFBQVksRUFDYjs7QUFFRDtFQUNFLGtCQUFpQixFQUNsQjs7QUFFRDtFQUNFLGdCQUFlLEVBQ2hCOztBQUVEO0VBQ0UscUJBQWE7RUFBYixzQkFBYTtFQUFiLHFCQUFhO0VBQWIsY0FBYTtFQUNiLCtCQUFtQjtFQUFuQiw4QkFBbUI7RUFBbkIsNEJBQW1CO01BQW5CLHdCQUFtQjtVQUFuQixvQkFBbUI7RUFDbkIsb0JBQW1DO0VBQW5DLHVCQUFtQztNQUFuQyxtQkFBbUM7VUFBbkMsZUFBbUM7RUFDbkMsY0FBYTtFQUNiLGFBQVksRUFDYjs7QUFFRDtFQUNFLHFCQUFhO0VBQWIsc0JBQWE7RUFBYixxQkFBYTtFQUFiLGNBQWE7RUFDYiw2QkFBc0I7RUFBdEIsOEJBQXNCO0VBQXRCLCtCQUFzQjtNQUF0QiwyQkFBc0I7VUFBdEIsdUJBQXNCO0VBQ3RCLGlCbkVuSDBCO0VtRW9IMUIsYUFBWSxFQUNiOztBQUVEO0VBQ0UscUJBQWE7RUFBYixzQkFBYTtFQUFiLHFCQUFhO0VBQWIsY0FBYTtFQUNiLCtCQUFtQjtFQUFuQiw4QkFBbUI7RUFBbkIsNEJBQW1CO01BQW5CLHdCQUFtQjtVQUFuQixvQkFBbUI7RUFDbkIsZ0JBQWU7RUFDZixpQm5FL0hnQjtFbUVnSWhCLGdCbkVoSWdCLEVtRWlJakI7O0FBRUQ7O0VBRUUscUJBQWE7RUFBYixzQkFBYTtFQUFiLHFCQUFhO0VBQWIsY0FBYTtFQUNiLDZCQUFzQjtFQUF0Qiw4QkFBc0I7RUFBdEIsK0JBQXNCO01BQXRCLDJCQUFzQjtVQUF0Qix1QkFBc0I7RUFDdEIsaUJBQW1DO0VBQ25DLGFBQVksRUFDYjs7QUFFRDtFQUNFLCtCQUFtQjtFQUFuQiw4QkFBbUI7RUFBbkIsNEJBQW1CO01BQW5CLHdCQUFtQjtVQUFuQixvQkFBbUI7RUFDbkIsY0FBYSxFQUNkOztBQW5IRDtFQW1RRSxtQkFBbUIsRUE2Q3BCO0VBL0tEO0lBRUksa0JBQWlCLEVBQ2xCO0VBSEg7SUFPSSxXQUFVLEVBS1g7SUFaSDtNQVVNLGFBQVksRUFDYjtFQVhMO0lBZUksV0FBVSxFQU9YO0lBdEJIO01Ba0JNLFdBQVU7TUFDVixrQm5FNUtxQjtNbUU2S3JCLG9CQUFtQixFQUNwQjtFQXJCTDtJQXlCSSxXQUFVO0lBQ1Ysa0JBQWlCO0lBQ2pCLDJCQ3RMaUQsRUR1TGxEO0VBNUJIO0kvRC9JRSxrQkROc0Q7SUNPdEQsc0JBUHFDO0krRHFMbkMsaUIvRHRJdUIsRStEdUl4QjtFQWpDSDtJQW9DSSxvQm5FM0x3QjtJbUUyTHhCLHVCbkUzTHdCO1FtRTJMeEIsbUJuRTNMd0I7WW1FMkx4QixlbkUzTHdCO0ltRTRMeEIsZUFBYztJQUNkLGlCbkU5THdCO0ltRStMeEIsY0FBNEIsRUFDN0I7RUF4Q0g7SUEyQ0ksZ0JBQWU7SUFDZixlQUFjO0lBQ2QsZ0JBQThCO0lBQzlCLFlBQVcsRUFLWjtJQW5ESDtNQWlETSxZQUFXO01BQUUsOEZBQThGLEVBQzVHO0VBbERMO0kvRC9JRSxrQitEcU13QztJL0RwTXhDLHNCQVBxQztJK0Q0TW5DLHlCQ2hOa0QsRURpTm5EO0VBeERIO0kvRC9JRSxrQkROc0Q7SUNPdEQsc0JBUHFDO0krRGlObkMsaUIvRC9KdUI7SStEZ0t2Qix5QkN2TmlELEVEd05sRDtFQTlESDtJQWlFSSxpQkFBNkI7SUFDN0IsZUFBYyxFQUNmO0VBbkVIO0lBc0VJLGdCbkVsT2MsRW1FbU9mO0VBdkVIO0lBMEVJLG9CQUFjO0lBQWQsdUJBQWM7UUFBZCxtQkFBYztZQUFkLGVBQWM7SUFDZCxpQkFBNkI7SUFDN0IsZ0JBQTRCLEVBTTdCO0lBbEZIO00vRC9JRSxrQitEOE4wQztNL0Q3TjFDLHNCQVBxQztNK0RxT2pDLHlCQzFPK0MsRUQyT2hEO0VBakZMO0lBcUZJLG9CQUFjO0lBQWQsdUJBQWM7UUFBZCxtQkFBYztZQUFkLGVBQWM7SUFDZCxjQUFhO0lBQ2IsYUFBWTtJQUNaLGtCQUFpQixFQUtsQjtJQTdGSDtNQTJGTSxlQUFjLEVBQ2Y7RUE1Rkw7O0lBaUdJLG9CQUFjO0lBQWQsdUJBQWM7UUFBZCxtQkFBYztZQUFkLGVBQWM7SUFDZCxjQUFhO0lBQ2IsYUFBWSxFQUNiO0VBcEdIO0lBd0dJLGdCQUFlO0lBQ2YsaUJBQ0YsRUFBQztFQTFHSDtJQTZHSSxtQkFBa0I7SUFDbEIsa0JBQWlCLEVBQ2xCO0VBL0dIO0lBa0hJLDRCQUEyQjtJQUMzQixrQkFBaUIsRUFPbEI7SUExSEg7TUFzSE0sZ0JqRWxRc0I7TWlFbVF0QixXQUFVO01BQ1YsNEJBQTJCLEVBQzVCO0VBekhMOzs7SUErSEkseUJDeFJrRCxFRHlSbkQ7RUFoSUg7SUFvSUksNEJBQTJCO0lBQzNCLHlCQzdSNEQsRUQ4UjdEO0VBdElIO0lBeUlJLGFBQVksRUFDYjtFQTFJSDs7SUE4SUksa0JBQWlCO0lBQ2pCLGtCQUFpQjtJQUNqQixnQkFBZSxFQUNoQjtFQWpKSDtJQW9KSSx3QkFBdUIsRUFDeEI7RUFySkg7SUF3Skksa0JBQTBCO0lBQzFCLGFqRXZTcUIsRWlFNFN0QjtJQTlKSDtNQTRKTSxhQUNGLEVBQUM7RUE3Skw7SUFrS00sV0FBVSxFQU1YO0lBeEtMO01BcUtRLGtCbkU5VG1CO01tRStUbkIsb0JBQW1CLEVBQ3BCO0VBdktQO0lBNEtJLHFCQUFvQjtJQUNwQix5QkNyVTRELEVEc1U3RDs7QUV6VUg7RUFDRSxxQkFBYTtFQUFiLHNCQUFhO0VBQWIscUJBQWE7RUFBYixjQUFhO0VBQ2Isb0JBQWM7RUFBZCx1QkFBYztNQUFkLG1CQUFjO1VBQWQsZUFBYztFQUNkLGlCQUFnQixFQUNqQjs7QUFHRDtFQUNFLHFCQUFhO0VBQWIsc0JBQWE7RUFBYixxQkFBYTtFQUFiLGNBQWE7RUFDYiw2QkFBc0I7RUFBdEIsOEJBQXNCO0VBQXRCLCtCQUFzQjtNQUF0QiwyQkFBc0I7VUFBdEIsdUJBQXNCO0VBQ3RCLGFBQVk7RUFDWixZQUFXO0VBQ1gsZUFBYztFQUNkLG1CQUFrQjtFQUNsQixhckVaeUI7RXFFYXpCLG9CQUFjO0VBQWQsdUJBQWM7TUFBZCxtQkFBYztVQUFkLGVBQWM7RUFFZDs7O0tBR0csRUFpQ0o7RUE5Q0Q7SUFlSSxjQUFhO0lBQ2Isb0JBQVc7SUFBWCxvQkFBVztRQUFYLGtCQUFXO1lBQVgsWUFBVztJQUFFLE9BQU87SUFDcEIscUJBQWE7SUFBYixzQkFBYTtJQUFiLHFCQUFhO0lBQWIsY0FBYTtJQUNiLCtCQUFtQjtJQUFuQiw4QkFBbUI7SUFBbkIsNEJBQW1CO1FBQW5CLHdCQUFtQjtZQUFuQixvQkFBbUI7SUFDbkIsZUFBYztJQUNkLGtDQUF5QjtJQUF6QiwwQkFBeUIsRUFVMUI7SWhDK0JEO01nQzdERjtRQTRCTSxvQkFBUztRQUFULGtCQUFTO1lBQVQsY0FBUztnQkFBVCxVQUFTLEVBRVosRUFBQTtFQTlCSDtJQWtDSSxhQUFZLEVBQ2I7RUFuQ0g7SUF1Q0ksbUJBQWtCO0lBQ2xCLFNBQVE7SUFDUixRQUFPO0lBQ1AsU0FBUTtJQUNSLFlBQVc7SUFDWCxhQUFZLEVBQ2I7O0FBR0g7RUFDRSxxQkFBYTtFQUFiLHNCQUFhO0VBQWIscUJBQWE7RUFBYixjQUFhO0VBQ2Isb0JBQWM7RUFBZCx1QkFBYztNQUFkLG1CQUFjO1VBQWQsZUFBYztFQUNkLGNBQWE7RUFDYixhQUFZLEVBQ2I7O0FDN0REOztHQUVHO0FBQ0g7RUFDRSw4QkFBcUI7S0FBckIsMkJBQXFCO1VBQXJCLHNCQUFxQjtFQUNyQixtQkFBa0I7RUFDbEIsWUFBbUIsRUFPcEI7RUFWRDtJQU9JLHlCQUFnQjtZQUFoQixpQkFBZ0I7SUFBRSxPQUFPO0lBQ3pCLFVBQVM7SUFBRSxPQUFPLEVBQ25COztBQ0xIOztFQUVFLG9CQUFjO0VBQWQsdUJBQWM7TUFBZCxtQkFBYztVQUFkLGVBQWM7RUFDZCxxQkFBYTtFQUFiLHNCQUFhO0VBQWIscUJBQWE7RUFBYixjQUFhO0VBQ2IsNkJBQXNCO0VBQXRCLDhCQUFzQjtFQUF0QiwrQkFBc0I7TUFBdEIsMkJBQXNCO1VBQXRCLHVCQUFzQixFQUt2QjtFQVREOztJQU9JLHVCQUFjO1FBQWQscUJBQWM7WUFBZCxlQUFjLEVBQ2Y7O0FDZkg7RUFDRSxrQkFBaUIsRUFDbEI7O0FDRkQ7RUFDRSxldkVnQjJCO0V1RWYzQiw0QkFBaUMsRUFDbEM7O0FDSEQ7RUFDRSxrQkFBaUIsRUFDbEI7O0FDREQ7RUFDRSxpQkFBZ0I7RUFDaEIsdUJ6RVd1QixFeUVWeEI7O0FBR0Q7RUFFSSwwQjdERmlDO0U2REdqQyxpQkFBZ0I7RUFDaEIsaUJBQWdCLEVBQ2pCOztBQUxIO0VBUUksbUJBQWtCO0VBQ2xCLGtCQUFpQjtFQUNqQixrQkFBaUI7RUFDakIsZ0JBQWUsRUFDaEI7O0FDbkJIO0VBQ0UsdUIxRWF1QixFMEVaeEI7O0FBR0Q7RUFDRSxnQkFBZSxFQUNoQjs7QUFHRDtFQUNFLGtCQUFpQixFQUNsQjs7QUFHRDtFQUNFLGlCQUFnQjtFQUNoQixtQkFBa0I7RUFDbEIsV0FDRixFQUFDOztBQUVEO0VBQ0Usb0I1RXRCZ0I7RTRFdUJoQixZQUFXLEVBQ1o7O0FBRUQ7RUFDRSxlQUFjO0VBQ2QsbUJBQWtCLEVBT25CO0VBVEQ7SUFNSSxrQkFBaUI7SUFDakIsZ0JBQWUsRUFDaEI7O0FBR0g7RUFDRSxxQkFBYTtFQUFiLHNCQUFhO0VBQWIscUJBQWE7RUFBYixjQUFhO0VBQ2IseUJBQXVCO0VBQXZCLGdDQUF1QjtNQUF2QixzQkFBdUI7VUFBdkIsd0JBQXVCO0VBQ3ZCLGlCNUVqQzBCO0U0RWtDMUIsZUFBcUIsRUFDdEI7O0FBRUQ7RUFDRSxtQkFBa0I7RUFDbEIsT0FBTTtFQUNOLFNBQVE7RUFDUixVQUFTO0VBQ1QsUUFBTztFQUNQLFlBQVc7RUFDWCxrQjVFL0MwQjtFNEVpRDFCLGNBQWE7RUFDYixtQkFBa0I7RUFDbEIsOEJBQTZCLEVBQzlCOztBQUVEO0VBQ0UsZUFBYyxFQU9mO0VBUkQ7SUFLSSxnRXhFbENrRTtJd0VtQ2xFLGtCekV6RG9ELEV5RTBEckQ7O0FBSUg7RUFDRSwwQjFFdEQwQjtFMEV1RDFCLGtCQUFpQjtFQUNqQixtQkFBa0IsRUFDbkI7O0FBRUQ7O0dBRUc7QUFDSDtFQUNFLG1CQUFrQjtFQUNsQixxQkFBYTtFQUFiLHNCQUFhO0VBQWIscUJBQWE7RUFBYixjQUFhO0VBQ2IsMEJBQW1CO0VBQW5CLDRCQUFtQjtNQUFuQix1QkFBbUI7VUFBbkIsb0JBQW1CO0VBQ25CLDBCQUE4QjtFQUE5Qix1Q0FBOEI7TUFBOUIsdUJBQThCO1VBQTlCLCtCQUE4QjtFQUM5QiwwQkFBeUI7RUFBRSxPQUFPO0VBQ2xDLDZCQUE0QjtFQUFFLE9BQU87RUFDckMsYTVFL0V3QixFNEV1RnpCO0VBZkQ7SUFZTSxXQUFVLEVBQ1g7O0FBSUw7RUFDRSxvQjlEekZtQztFOEQwRm5DLFkxRTdFc0I7RTBFOEV0QixrQkFBaUIsRUFDbEI7O0FBRUQ7O0dBRUc7QUFDSDtFQUNFLGlCQUFnQjtFQUFFLE9BQU87RUFDekIsd0JBQXVCO0VBQUUsT0FBTyxFQUNqQzs7QUFFRDs7O0dBR0c7QUFDSDtFQUNFLFdBQVU7RUFBRSxPQUFPLEVBS3BCO0VBTkQ7SUFJSSxXQUFVO0lBQUUsT0FBTyxFQUNwQjs7QUFJSDtFQUNFLGNBQWE7RUFDYiwwQjlEckhtQztFOERzSG5DLGU5RHRIbUMsRThEdUhwQzs7QUFHRDtFQUNFLHFDQUFvQztFQUNwQyxhQUFZO0VBQ1osbUJ0RTlIbUI7RXNFK0huQixpQkFBZ0I7RUFDaEIsa0JBQWlCLEVBQ2xCOztBQUdEO0VBQ0UsZ0JBQWUsRUFDaEI7O0FBRUQ7RUFDRSxnQkFBZSxFQUNoQjs7QUFFRDtFQUNFLGlCQUFnQjtFQUNoQixxQkFBYTtFQUFiLHNCQUFhO0VBQWIscUJBQWE7RUFBYixjQUFhO0VBQ2IsMEJBQW1CO0VBQW5CLDRCQUFtQjtNQUFuQix1QkFBbUI7VUFBbkIsb0JBQW1CO0VBQ25CLDBCQUE4QjtFQUE5Qix1Q0FBOEI7TUFBOUIsdUJBQThCO1VBQTlCLCtCQUE4QixFQUMvQjs7QUFFRDs7R0FFRztBQUNIO0VBQ0Usb0JBQWM7RUFBZCx1QkFBYztNQUFkLG1CQUFjO1VBQWQsZUFBYztFQUFFLE9BQU8sRUFDeEI7O0FBRUQ7RUFDRSx5QkFBZ0I7S0FBaEIsc0JBQWdCO1VBQWhCLGlCQUFnQjtFQUNoQixhQUFZO0VBQ1osV0FBVTtFQUNWLDhCQUE2QixFQUM5Qjs7QUFFRDtFQUNFLGUxRXRKeUIsRTBFdUoxQjs7QUFHRDtFQUNFLGtCQUFpQjtFQUNqQixtQkFBa0I7RUFDbEIsc0JBQXFCO0VBQ3JCLFk1RTVLMEI7RTRFNksxQixlMUUvSnlCLEUwRWdLMUI7O0FBRUQ7RUFHSSx1QkFBc0I7RUFDdEIsbUJBQWtCLEVBQ25COztBQUdIO0VBQ0Usc0JBQXFCO0VBQ3JCLFlBQVcsRUFDWjs7QUFFRDtFQUNFLG1CQUFrQjtFQUNsQixlQUFjO0VBQ2QsUzVFbE0wQjtFNEVtTTFCLFdBQVU7RUFDVixZQUFXO0VBQ1gsaUJBQWdCLEVBUWpCO0VBZEQ7SUFTSSxjQUFhO0lBQ2IsWTVFM01jO0k0RTRNZCxZQUFXO0lBQ1gsYUFBWSxFQUNiOztBQzlNSDtFQUNFLGtCQUFpQjtFQUNqQixhQUFZLEVBQ2I7O0FBRUQ7RUFDRSxvQkFBWTtFQUFaLHFCQUFZO01BQVoscUJBQVk7VUFBWixhQUFZLEVBQ2I7O0FDUEQ7RUFDRSxhQUFZO0VBQ1osaUJBQWdCO0VBQ2hCLGFBQVk7RUFDWix5QkFBZ0I7VUFBaEIsaUJBQWdCLEVBQ2pCOztBQUVEO0VBQ0UsWUFBcUI7RUFDckIsYUFBc0IsRUFDdkI7O0FBRUQ7RUFDRSwwQmhFWG1DO0VnRVluQyxjOUVkZ0IsRThFZWpCOztBQUVEO0VBQ0UsbUJBQWtCLEVBQ25COztBMURpQlM7RTJEbkNSO0lBQ0UsY0FBYSxFQUNkLEVBQUE7O0EzRHNDTztFMkR4Q1I7SUFDRSxjQUFhLEVBQ2QsRUFBQTs7QUFHSDtFQUNFLGlCQUFnQjtFQUNoQixpQkFBZ0IsRUFDakI7O0FBRUQ7RUFDRSxpQkFBZ0I7RUFDaEIsd0JBQXVCLEVBQ3hCOztBQUVEO0U1RHVHRSxnQkFBZTtFQUFFLE9BQU87RUFDeEIsNEJBQTJCO0VBQzNCLG1DQUFrQztFQUNsQywrQkFBOEI7RUFDOUIsNkJBQTRCO0VBQUUsT0FBTztFNER6R3JDLG9CQUFtQixFQUNwQjs7QUFFRDtFQUNFLGtCQUFpQixFQUNsQjs7QUFFRDs7RUFFRSxvQkFBbUIsRUFDcEI7O0FDMUJEO0VBQ0UscUJBQWE7RUFBYixzQkFBYTtFQUFiLHFCQUFhO0VBQWIsY0FBYTtFQUNiLG9CQUFZO0VBQVoscUJBQVk7TUFBWixxQkFBWTtVQUFaLGFBQVk7RUFDWixnQkFBZSxFQVVoQjtFQWJEO0lBT0ksc0JBQXFCLEVBS3RCO0lBWkg7TUFVTSwyQkFBMEIsRUFDM0I7O0FBS0w7RUFDRSxnQmhGbkJnQjtFZ0ZvQmhCLG9CQUFtQjtFQUNuQixlOUVuQnVCLEU4RW9CeEI7O0FBRUQ7RUFDRSxpQmhGdEJ5QixFZ0Z1QjFCOztBQ3pCRDtFQUNFLGdCQUFlO0VBQ2YsT0FBTTtFQUNOLFFBQU87RUFDUCxTQUFRO0VBQ1IsVUFBUztFQUNULGUvRGlCd0I7RStEaEJ4QixvQkFBbUI7RUFDbkIsMkZBQTRGO0VBQTVGLCtEQUE0RjtFQUM1RixXQUFVO0VBQ1YsZUFBYztFQUNkLDZGQUF3RjtVQUF4RixxRkFBd0YsRUFDekY7O0FBRUQ7RUFHRSxtQkFBa0I7RUFDbEIsT0FBTTtFQUNOLFNBQVE7RUFDUixXQUFVLEVBQ1g7O0FBRUQ7RUFHRSxnQkFBZTtFQUNmLGFBQVk7RUFDWixRQUFPO0VBQ1AsV0FBVSxFQUNYOztBQUVEO0VBQ0UsbUJBQWtCO0VBQ2xCLGNqRjdCd0I7RWlGOEJ4QixZQUFXLEVBQ1o7O0FBRUQ7RUFDRSxvQmpGbEN3QjtFT014QixzQkFBcUI7RVFYckIsWVJZNkI7RVFYN0IsYVJXNkI7RUFDN0Isa0JBQTRCO0VBQzVCLG1CQUFrQjtFQUNsQix1QkxGdUI7RUtHdkIsb0JBQW1CO0VBQ25CLGNQbEJnQjtFOERnQmhCLDRJNURDMkI7VTRERDNCLG9JNURDMkIsRStFMEI1QjtFMUV2QkM7SUFDRSx5QkFBd0IsRUFDekI7O0EwRXVCSDtFQUNFLGtCakYzQ3lCLEVpRjRDMUI7O0FBRUQ7RUFDRSxtQkFBa0I7RUFDbEIsYUFBWTtFQUNaLGlCQUFnQjtFQUNoQixtQmpGL0N3QjtFaUZnRHhCLG9CakZoRHdCO0VpRmlEeEIsWUFBVyxFQUNaOztBQUVEO0VBQ0U7SUFDRSxXQUFVO0lBQ1Ysa0RBQXlDO1lBQXpDLDBDQUF5QyxFQUFBO0VBRTNDO0lBQ0UsV0FBVTtJQUNWLDJDQUFrQztZQUFsQyxtQ0FBa0MsRUFBQSxFQUFBOztBQVB0QztFQUNFO0lBQ0UsV0FBVTtJQUNWLGtEQUF5QztZQUF6QywwQ0FBeUMsRUFBQTtFQUUzQztJQUNFLFdBQVU7SUFDViwyQ0FBa0M7WUFBbEMsbUNBQWtDLEVBQUEsRUFBQTs7QUNqRXRDO0VBQ0UsaUJoRmF1QjtFZ0ZadkIsY2xGRzBCLEVrRkYzQjs7QUNIRDtFNUVDRSxvQkFEbUQ7RUFDbkQsdUJBRG1EO01BQ25ELG1CQURtRDtVQUNuRCxlQURtRDtFQUVuRCxxQkFBYTtFQUFiLHNCQUFhO0VBQWIscUJBQWE7RUFBYixjQUFhO0VBQ2IsNkJBSHVFO0VBR3ZFLDhCQUh1RTtFQUd2RSwrQkFIdUU7TUFHdkUsMkJBSHVFO1VBR3ZFLHVCQUh1RTtFNEVrQnZFO3lFQUN1RSxFQU94RTtFNUVyQkM7SUFDRSx1QkFBYztRQUFkLHFCQUFjO1lBQWQsZUFBYyxFQUNmO0Vha0NPO0krRHpDVjtNQUlJLG1CQUFrQjtNQUNsQixZQUFXO01BQ1gsYUFBWSxFQW9CZixFQUFBO0UvRERPO0krRHpCUjtNQUlJLG1CQUFrQjtNQUNsQixZQUFXO01BQ1gsYUFBWSxFQW9CZixFQUFBO0UvRFVTO0krRHBDVjtNQWNNLGtCQUFpQixFQUNsQixFQUFBO0UvRDBCSztJK0R6Q1Y7TUFjTSxrQkFBaUIsRUFDbEIsRUFBQTtFL0QwQks7SStEekNWO01BY00sa0JBQWlCLEVBQ2xCLEVBQUE7RUFmTDtJQXFCSSxhQUFZO0lBQ1osb0JBQWM7SUFBZCx1QkFBYztRQUFkLG1CQUFjO1lBQWQsZUFBYztJQUNkLHFCQUFhO0lBQWIsc0JBQWE7SUFBYixxQkFBYTtJQUFiLGNBQWE7SUFDYixXQUFVO0lBQUUsT0FBTyxFQUNwQjs7QUFJSDtFNUU1QkUsb0JBRG1EO0VBQ25ELHVCQURtRDtNQUNuRCxtQkFEbUQ7VUFDbkQsZUFEbUQ7RUFFbkQscUJBQWE7RUFBYixzQkFBYTtFQUFiLHFCQUFhO0VBQWIsY0FBYTtFQUNiLDZCQUh1RTtFQUd2RSw4QkFIdUU7RUFHdkUsK0JBSHVFO01BR3ZFLDJCQUh1RTtVQUd2RSx1QkFIdUU7RTRFK0J2RSxZQUFXO0VBQ1gsV0FBVSxFQU1YO0U1RWpDQztJQUNFLHVCQUFjO1FBQWQscUJBQWM7WUFBZCxlQUFjLEVBQ2Y7RWFrQ087SStEWlY7TUFPSSwrQkFBbUI7TUFBbkIsOEJBQW1CO01BQW5CLDRCQUFtQjtVQUFuQix3QkFBbUI7Y0FBbkIsb0JBQW1CLEVBRXRCLEVBQUE7RS9EYk87SStESVI7TUFPSSwrQkFBbUI7TUFBbkIsOEJBQW1CO01BQW5CLDRCQUFtQjtVQUFuQix3QkFBbUI7Y0FBbkIsb0JBQW1CLEVBRXRCLEVBQUE7O0FDdENEO0VBQ0UsWUFBVztFQUNYLHFCQUFhO0VBQWIsc0JBQWE7RUFBYixxQkFBYTtFQUFiLGNBQWE7RUFDYiw2QkFBc0I7RUFBdEIsOEJBQXNCO0VBQXRCLCtCQUFzQjtNQUF0QiwyQkFBc0I7VUFBdEIsdUJBQXNCO0VBQ3RCLHlCQUF1QjtFQUF2QixnQ0FBdUI7TUFBdkIsc0JBQXVCO1VBQXZCLHdCQUF1QjtFQUN2QiwwQkFBbUI7RUFBbkIsNEJBQW1CO01BQW5CLHVCQUFtQjtVQUFuQixvQkFBbUI7RUFDbkIsbUJBQWtCLEVBQ25COztBQUVEO0VBQ0Usa0JqRkNzRCxFaUZBdkQ7O0FDWEQ7O0VBRUUsa0JyRkN5QjtFcUZBekIsbUJBQWtCO0VBQ2xCLFNBQVEsRUFDVDs7QUFFRDtFdEVORSxZZkRnQjtFZUVoQixhZkZnQixFcUZTakI7O0FqRWdCTztFa0V4Qk47SUFDRSxxQkFBYTtJQUFiLHNCQUFhO0lBQWIscUJBQWE7SUFBYixjQUFhLEVBQ2Q7RUFFRDtJQUNFLHFCQUFhO0lBQWIsc0JBQWE7SUFBYixxQkFBYTtJQUFiLGNBQWE7SUFDYiw2QkFBc0I7SUFBdEIsOEJBQXNCO0lBQXRCLCtCQUFzQjtRQUF0QiwyQkFBc0I7WUFBdEIsdUJBQXNCO0lBQ3RCLGlCdEZOd0IsRXNGT3pCO0VBRUQ7SUFDRSxvQkFBTztJQUFQLGdCQUFPO1FBQVAsWUFBTztZQUFQLFFBQU87SUFDUCx1QnBGQ3FCLEVvRkF0QjtFQUVEO0lBQ0Usb0JBQU87SUFBUCxnQkFBTztRQUFQLFlBQU87WUFBUCxRQUFPLEVBQ1I7RUFFRDtJQUNFLG9CQUFPO0lBQVAsZ0JBQU87UUFBUCxZQUFPO1lBQVAsUUFBTyxFQUNSLEVBQUE7O0FBR0g7O0dBRUc7QUFDSDs7RUFFRSxhdEYzQnlCO0VzRjJCTCxPQUFPLEVBQzVCOztBQy9CRDtFQUNFLG9tRkFBbW1GO0VBQ25tRiw2QkFBNEI7RUFDNUIsdURBQXNEO0VBQ3RELHFCQUFvQixFQUNyQjs7QUFFRDtFQUNFLHFCQUFhO0VBQWIsc0JBQWE7RUFBYixxQkFBYTtFQUFiLGNBQWE7RUFDYixxQkFBOEI7RUFDOUIsY0FBYSxFQUNkOztBQUNEO0VBQ0UsY0FBYSxFQUNkOztBQUVEO0VBQ0UsdUJBQWM7TUFBZCxxQkFBYztVQUFkLGVBQWMsRUFDZjs7QUFFRDtFQUNFLGlCQUEyQjtFQUMzQixjQUFhO0VBQ2IsaUJBQWdCO0VBQ2hCLHFCdkZ4QmdCO0V1RjBCaEIsbUJBQWtCLEVBcUJuQjtFQTNCRDtJQVNJLFlBQVc7SUFDWCxlQUFjO0lBQ2QsbUJBQWtCO0lBQ2xCLGF2RnpCd0I7SXVGMEJ4QixRQUFPO0lBQ1AsU0FBUTtJQUNSLHFCQUFvQixFQUNyQjtFQWhCSDtJQW1CSSxXQUF1QjtJekI0Q3pCLDBDNURyRXVCO1k0RHFFdkIsa0M1RHJFdUI7STREc0V2QixXQUFVLEV5QjNDVDtFQXJCSDtJQXdCSSxjdkZ2Q3dCO0k4RHlFMUIsMkM1RGhFdUI7WTREZ0V2QixtQzVEaEV1QjtJNERpRXZCLFdBQVUsRXlCakNUOztBQUdIO0VsRGJFLHNCQUFxQjtFa0RnQnJCLFlBQVc7RUFDWCxpQkFBZ0I7RUFDaEIsa0J2RnREZ0I7RXVGdURoQix5QkFBdUI7RUFBdkIsZ0NBQXVCO01BQXZCLHNCQUF1QjtVQUF2Qix3QkFBdUI7RUFDdkIscUJ2RnhEZ0IsRXVGeURqQjtFbERsQkM7SUFDRSxZQUFXO0lBQ1gsYUFBWSxFQUNiO0VBRUQ7SUFDRSwyQ0FBd0Q7SUFDeEQsOEJBQTZCO0lBQzdCLDZCQUE0QixFQUM3QjtFQUVEO0lBRUUsOEJBQTZCLEVBQzlCOztBa0RNSDtFQUNFLGFBQXNCLEVBQ3ZCOztBQUVEO0VBQ0UsYUFBWTtFQUNaLHFCQUFvQixFQUNyQjs7QUFFRDtFQUNFLGdCdkZoRTBCO0V1RmlFMUIsZXJGbkV5QixFcUZvRTFCOztBQUVEO0V4RXhFRSxZZkkwQjtFZUgxQixhZkcwQixFdUZzRTNCOztBbkV2Q1M7RW1FcENWO0lBK0VJLHVCQUFzQixFQUN2QjtFQTVESDtJQStESSxnQkFBZSxFQUNoQjtFQW5DSDtJQXNDSSx3QkFBMkI7SUFBM0Isb0NBQTJCO1FBQTNCLHFCQUEyQjtZQUEzQiw0QkFBMkIsRUFDNUI7RUE3Qkg7SUFnQ0ksY0FBYSxFQUNkLEVBQUE7O0FuRW5ETztFbUV6Q1Y7SUErRUksdUJBQXNCLEVBQ3ZCO0VBNURIO0lBK0RJLGdCQUFlLEVBQ2hCO0VBbkNIO0lBc0NJLHdCQUEyQjtJQUEzQixvQ0FBMkI7UUFBM0IscUJBQTJCO1lBQTNCLDRCQUEyQixFQUM1QjtFQTdCSDtJQWdDSSxjQUFhLEVBQ2QsRUFBQTs7QWxEdkJEO0VrRHJFRjtJQWlHSSxhQUFZLEVBQ2I7RUEzRkg7SUE4RkksMEJBQWlCO1FBQWpCLCtCQUFpQjtZQUFqQixrQkFBaUIsRUFDbEIsRUFBQTs7QUNyR0g7O0UxQmlDRSxzSjVEZHNCO1U0RGN0Qiw4STVEZHNCO0VFUHRCLGtCRE5zRDtFQ090RCxzQkFQcUM7RWVzRHJDLGlCZmJxQjtFb0YzQ3JCLG1CQUFrQjtFQUNsQixxQkFBb0I7RUFDcEIsZ0JBQWU7RUFDZixjdEVnQndCO0VzRWZ4QiwwQjFFUG1DO0UwRVFuQyxZdEZKa0I7RXNGS2xCLG1CbEZMbUI7RWtGTW5CLGlCQUEwQjtFQUMxQixpQkFBZ0I7RUFDaEIsMEJBQXlCLEVBZ0IxQjtFQTdCRDs7SUFnQkksbUJ4RmR1QixFd0ZleEI7RUFqQkg7O0lBb0JJLGtCQUE2QixFQUM5QjtFQXJCSDs7OztJQTBCTSxheEZ6QnNCLEV3RjBCdkI7O0FBSUw7RUFDRSxrQkFBdUI7RUFDdkIsaUJ4Ri9CeUI7RXdGZ0N6QixxQkFBYTtFQUFiLHNCQUFhO0VBQWIscUJBQWE7RUFBYixjQUFhO0VBQ2IsMEJBQW1CO0VBQW5CLDRCQUFtQjtNQUFuQix1QkFBbUI7VUFBbkIsb0JBQW1CLEVBU3BCO0VBYkQ7SUFPSSxpQkFBZ0IsRUFDakI7RUFSSDtJQVdJLGdCeEZ4Q3VCLEV3RnlDeEI7O0FBR0g7RUFDRSxvQkFBYztFQUFkLHVCQUFjO01BQWQsbUJBQWM7VUFBZCxlQUFjO0VBQ2QsbUJ4RjlDeUIsRXdGK0MxQjs7QUFFRDtFQUNFLG9CQUFjO0VBQWQsdUJBQWM7TUFBZCxtQkFBYztVQUFkLGVBQWMsRUFDZjs7QUFFRDtFQUVFLGlCckYxQ3lCO0VxRjJDekIsZTFFcERtQyxFMEVxRHBDOztBQUVEO0VBQ0UsWUFBVztFQUNYLGFBQVksRUFDYjs7QUNqRUQ7RUFDRSxnQnpGRXlCLEV5RkQxQjs7QUNGRDtFQUlFLG1CQUFrQjtFQUNsQixvQkFBYztFQUFkLHVCQUFjO01BQWQsbUJBQWM7VUFBZCxlQUFjO0VBQ2QscUJBQWE7RUFBYixzQkFBYTtFQUFiLHFCQUFhO0VBQWIsY0FBYSxFQUtkO0V0RXlCUztJc0VwQ1Y7TUFTSSw2QkFBc0I7TUFBdEIsOEJBQXNCO01BQXRCLCtCQUFzQjtVQUF0QiwyQkFBc0I7Y0FBdEIsdUJBQXNCLEVBRXpCLEVBQUE7RXRFOEJTO0lzRXpDVjtNQVNJLDZCQUFzQjtNQUF0Qiw4QkFBc0I7TUFBdEIsK0JBQXNCO1VBQXRCLDJCQUFzQjtjQUF0Qix1QkFBc0IsRUFFekIsRUFBQTtFdEU4QlM7SXNFekNWO01BU0ksNkJBQXNCO01BQXRCLDhCQUFzQjtNQUF0QiwrQkFBc0I7VUFBdEIsMkJBQXNCO2NBQXRCLHVCQUFzQixFQUV6QixFQUFBOztBQUVEOztHQUVHO0FBRUg7RW5GaEJFLG9CbUZpQitCO0VuRmpCL0IsdUJtRmlCK0I7TW5GakIvQixtQm1GaUIrQjtVbkZqQi9CLGVtRmlCK0I7RW5GaEIvQixxQkFBYTtFQUFiLHNCQUFhO0VBQWIscUJBQWE7RUFBYixjQUFhO0VBQ2IsNkJBSHVFO0VBR3ZFLDhCQUh1RTtFQUd2RSwrQkFIdUU7TUFHdkUsMkJBSHVFO1VBR3ZFLHVCQUh1RTtFbUZtQnZFLG1CMUZkMEI7RTBGZTFCLDRCQUFtQjtNQUFuQix3QkFBbUI7VUFBbkIsb0JBQW1CO0VBQ25CLGlCQ3BCa0M7RURxQmxDLGFDckJrQztFRHNCbEMsZ0JBQWUsRUFVaEI7RW5GNUJDO0lBQ0UsdUJBQWM7UUFBZCxxQkFBYztZQUFkLGVBQWMsRUFDZjtFYTZCTztJc0VuQlY7TUFVSSx1QkFBc0IsRUFNekIsRUFBQTtFdEVRUztJc0V4QlY7TUFVSSx1QkFBc0IsRUFNekIsRUFBQTtFdEVRUztJc0V4QlY7TUFVSSx1QkFBc0IsRUFNekIsRUFBQTtFdEVRUztJc0V4QlY7TUFjSSxlQUFjLEVBRWpCLEVBQUE7RXRFUk87SXNFUlI7TUFjSSxlQUFjLEVBRWpCLEVBQUE7O0FBRUQ7RUFDRSxhQUFZLEVBQ2I7O0FBRUQ7RUFDRSxXQUFVLEVBQ1g7O0FBRUQ7RUFDRSxXQUFVLEVBQ1g7O0FBRUQ7RUFDRSxXQUFVLEVBQ1g7O0FBR0Q7O0dBRUc7QUFFSDtFbkZ2REUsb0JtRndEK0I7RW5GeEQvQix1Qm1Gd0QrQjtNbkZ4RC9CLG1CbUZ3RCtCO1VuRnhEL0IsZW1Gd0QrQjtFbkZ2RC9CLHFCQUFhO0VBQWIsc0JBQWE7RUFBYixxQkFBYTtFQUFiLGNBQWE7RUFDYiw2QkFIdUU7RUFHdkUsOEJBSHVFO0VBR3ZFLCtCQUh1RTtNQUd2RSwyQkFIdUU7VUFHdkUsdUJBSHVFLEVtRndFeEU7RW5GbkVDO0lBQ0UsdUJBQWM7UUFBZCxxQkFBYztZQUFkLGVBQWMsRUFDZjtFYWtDTztJc0VlVjtNQUtJLDhCQzdEb0M7VUQ2RHBDLG1DQzdEb0M7Y0Q2RHBDLHNCQzdEb0M7TUQ4RHBDLDZCQUFvRCxFQVV2RCxFQUFBO0V0RS9DTztJc0UrQlI7TUFLSSw4QkM3RG9DO1VENkRwQyxtQ0M3RG9DO2NENkRwQyxzQkM3RG9DO01EOERwQyw2QkFBb0QsRUFVdkQsRUFBQTtFQWhCRDtJQVVJLGtCdkYzRG9ELEV1RjREckQ7RUFYSDtJQWNJLG1CMUZuRXVCLEUwRm9FeEI7O0FBR0g7O0dBRUc7QUFFSDtFbkZwREUscUJBQWE7RUFBYixzQkFBYTtFQUFiLHFCQUFhO0VBQWIsY0FBYTtFQUNiLG9CUHZCMEI7RU91QjFCLHVCUHZCMEI7TU91QjFCLG1CUHZCMEI7VU91QjFCLGVQdkIwQjtFT3dCMUIsMEJPMUJtQztFUDJCbkMsMEJBQW1CO0VBQW5CLDRCQUFtQjtNQUFuQix1QkFBbUI7VUFBbkIsb0JBQW1CO0VBQ25CLHlCQUF1QjtFQUF2QixnQ0FBdUI7TUFBdkIsc0JBQXVCO1VBQXZCLHdCQUF1QjtFQUN2QixVQUFTO0VBQ1QsMEJBQWlCO0tBQWpCLHVCQUFpQjtNQUFqQixzQkFBaUI7VUFBakIsa0JBQWlCO0VBR2Ysa0JBQWlCO0VBQ2pCLFlQaEN3QixFMEZnRjNCO0VuRnZDQztJQUNFLDBCTzVDaUMsRVA2Q2xDO0VBRUQ7SUFFRSwwQkxqRHFCO0lLa0RyQixZTHRDcUIsRUt1Q3RCO0VhakJPO0lzRTBDVjtNQUlJLGNBQWEsRUFFaEIsRUFBQTtFdEUzQ1M7SXNFcUNWO01BSUksY0FBYSxFQUVoQixFQUFBO0V0RTNDUztJc0VxQ1Y7TUFJSSxjQUFhLEVBRWhCLEVBQUE7O0FBRUQ7O0dBRUc7QUFFSDtFQUNFLHFCQUFhO0VBQWIsc0JBQWE7RUFBYixxQkFBYTtFQUFiLGNBQWE7RUFDYiwrQkFBbUI7RUFBbkIsOEJBQW1CO0VBQW5CLDRCQUFtQjtNQUFuQix3QkFBbUI7VUFBbkIsb0JBQW1CO0VBQ25CLGVBQWM7RUFDZCx1QkFBYztNQUFkLHFCQUFjO1VBQWQsZUFBYztFQUNkLHlCQUFnQjtNQUFoQiw4QkFBZ0I7VUFBaEIsaUJBQWdCLEVBZ0JqQjtFQXJCRDtJQVFJLHVCQUFjO1FBQWQscUJBQWM7WUFBZCxlQUFjO0lBQ2QseUJBQWdCO1FBQWhCLDhCQUFnQjtZQUFoQixpQkFBZ0IsRUFDakI7RUFWSDtJQWFJLHFCQUFhO0lBQWIsc0JBQWE7SUFBYixxQkFBYTtJQUFiLGNBQWE7SUFDYiw2QkFBc0I7SUFBdEIsOEJBQXNCO0lBQXRCLCtCQUFzQjtRQUF0QiwyQkFBc0I7WUFBdEIsdUJBQXNCO0lBQ3RCLG9CQUFjO0lBQWQsdUJBQWM7UUFBZCxtQkFBYztZQUFkLGVBQWMsRUFDZjtFQWhCSDtJQW1CSSxtQkFBa0IsRUFDbkI7O0FFMUdIO0VyRkhFLG9CcUZJK0I7RXJGSi9CLHVCcUZJK0I7TXJGSi9CLG1CcUZJK0I7VXJGSi9CLGVxRkkrQjtFckZIL0IscUJBQWE7RUFBYixzQkFBYTtFQUFiLHFCQUFhO0VBQWIsY0FBYTtFQUNiLDZCQUh1RTtFQUd2RSw4QkFIdUU7RUFHdkUsK0JBSHVFO01BR3ZFLDJCQUh1RTtVQUd2RSx1QkFIdUU7RXFGTXZFLDBCMUZTNkIsRTBGUjlCO0VyRkZDO0lBQ0UsdUJBQWM7UUFBZCxxQkFBYztZQUFkLGVBQWMsRUFDZjs7QXFGRUg7RXJGUkUsb0JxRlMrQjtFckZUL0IsdUJxRlMrQjtNckZUL0IsbUJxRlMrQjtVckZUL0IsZXFGUytCO0VyRlIvQixxQkFBYTtFQUFiLHNCQUFhO0VBQWIscUJBQWE7RUFBYixjQUFhO0VBQ2IsNkJBSHVFO0VBR3ZFLDhCQUh1RTtFQUd2RSwrQkFIdUU7TUFHdkUsMkJBSHVFO1VBR3ZFLHVCQUh1RSxFcUZXeEU7RXJGTkM7SUFDRSx1QkFBYztRQUFkLHFCQUFjO1lBQWQsZUFBYyxFQUNmOztBcUZNSDtFQUNFLGE1Rlh5QixFNEZpQjFCO0V4RXFCUztJd0U1QlY7TXJGWkUsb0JxRmdCZ0M7TXJGaEJoQyxzQnFGZ0JnQztVckZoQmhDLGtCcUZnQmdDO2NyRmhCaEMsY3FGZ0JnQztNckZmaEMscUJBQWE7TUFBYixzQkFBYTtNQUFiLHFCQUFhO01BQWIsY0FBYTtNQUNiLDZCQUh1RTtNQUd2RSw4QkFIdUU7TUFHdkUsK0JBSHVFO1VBR3ZFLDJCQUh1RTtjQUd2RSx1QkFIdUU7TXFGa0JyRSxlQUFjLEVBRWpCO01yRmZDO1FBQ0UsdUJBQWM7WUFBZCxxQkFBYztnQkFBZCxlQUFjLEVBQ2YsRUFBQTtFYWtCSztJd0VaUjtNckZaRSxvQnFGZ0JnQztNckZoQmhDLHNCcUZnQmdDO1VyRmhCaEMsa0JxRmdCZ0M7Y3JGaEJoQyxjcUZnQmdDO01yRmZoQyxxQkFBYTtNQUFiLHNCQUFhO01BQWIscUJBQWE7TUFBYixjQUFhO01BQ2IsNkJBSHVFO01BR3ZFLDhCQUh1RTtNQUd2RSwrQkFIdUU7VUFHdkUsMkJBSHVFO2NBR3ZFLHVCQUh1RTtNcUZrQnJFLGVBQWMsRUFFakI7TXJGZkM7UUFDRSx1QkFBYztZQUFkLHFCQUFjO2dCQUFkLGVBQWMsRUFDZixFQUFBOztBcUZtQkg7O0VBRUUsaUJBQWdCO0VBQ2hCLG1CQUFrQixFQUNuQjs7QUFFRDtFQUVFLG9CQUFtQixFQUNwQjs7QUFFRDs7R0FFRztBQUNIO0VBQ0UsNEJBQWlDO0VBQUUsT0FBTztFQUMxQywwQkFBb0M7RUFBRSxPQUFPLEVBZTlDO0VBakJEO0lBS0ksaUMxRjNDcUI7STBGNENyQixpQ0FBeUM7SUFDekMsMEJBQWtDLEVBU25DO0lBaEJIO01BVU0sY0FBYSxFQUNkO0lBWEw7TUFjTSw4QkFBNkIsRUFDOUI7O0FBSUw7O0dBRUc7QUFDSDtFQUNFLHVCQUFxQztFQUFFLE9BQU87RUFDOUMsMEIxRnREc0IsRTBGMkR2QjtFQVBEO0lBS0kscUNBQWtFO0lBQUUsT0FBTyxFQUM1RTs7QUFHSDtFQUVFLGtCNUZ6RWdCLEU0RjBFakI7O0FDeEVEO0V0RkRFLG9CQURtRDtFQUNuRCx1QkFEbUQ7TUFDbkQsbUJBRG1EO1VBQ25ELGVBRG1EO0VBRW5ELHFCQUFhO0VBQWIsc0JBQWE7RUFBYixxQkFBYTtFQUFiLGNBQWE7RUFDYiw2QkFIdUU7RUFHdkUsOEJBSHVFO0VBR3ZFLCtCQUh1RTtNQUd2RSwyQkFIdUU7VUFHdkUsdUJBSHVFO0VzRkl2RSxZQUFXO0VBQ1gsZ0JBQWU7RUFHZix5QkFBZ0I7TUFBaEIsOEJBQWdCO1VBQWhCLGlCQUFnQixFQUNqQjtFdEZKQztJQUNFLHVCQUFjO1FBQWQscUJBQWM7WUFBZCxlQUFjLEVBQ2Y7O0FzRlFIO0VBQ0UscUJBQWE7RUFBYixzQkFBYTtFQUFiLHFCQUFhO0VBQWIsY0FBYTtFQUNiLDBCQUFtQjtFQUFuQiw0QkFBbUI7TUFBbkIsdUJBQW1CO1VBQW5CLG9CQUFtQjtFQUNuQixvQkFBYztFQUFkLHVCQUFjO01BQWQsbUJBQWM7VUFBZCxlQUFjO0VBQ2QsbUI3RmhCeUIsRTZGaUIxQjs7QUFFRDtFQUNFLG9CQUFjO0VBQWQsdUJBQWM7TUFBZCxtQkFBYztVQUFkLGVBQWM7RUFDZCxrQjdGckJ5QjtFNkZzQnpCLGdCN0ZwQjBCO0U2RnFCMUIsaUI3RnJCMEI7RTZGc0IxQixtQkFBa0IsRUFDbkI7O0FBRUQ7RUFDRSxvQkFBYztFQUFkLHVCQUFjO01BQWQsbUJBQWM7VUFBZCxlQUFjO0VBQ2QsaUJ6RnlCeUI7RWU4RHpCLGdCQUFlO0VBQUUsT0FBTztFQUN4Qiw0QkFBMkI7RUFDM0IsbUNBQWtDO0VBQ2xDLCtCQUE4QjtFQUM5Qiw2QkFBNEI7RUFBRSxPQUFPLEUwRXpGdEM7O0FBRUQ7RUFDRSxvQkFBWTtFQUFaLHFCQUFZO01BQVoscUJBQVk7VUFBWixhQUFZLEVBQ2I7O0FBRUQ7RUFDRSxvQkFBVztFQUFYLG9CQUFXO01BQVgsa0JBQVc7VUFBWCxZQUFXO0VBQ1gsaUJ6Rll5QjtFeUZYekIsbUI3RnhDeUI7RTZGeUN6QixrQjdGMUMwQjtFbUJxSDFCLGdCQUFlO0VBQUUsT0FBTztFQUN4Qiw0QkFBMkI7RUFDM0IsbUNBQWtDO0VBQ2xDLCtCQUE4QjtFQUM5Qiw2QkFBNEI7RUFBRSxPQUFPLEUwRTdFdEM7O0FBRUQ7RUFDRSxlM0Z2Q3NCO0UyRndDdEIsaUJ6Rk95QixFeUZOMUI7O0FBRUQ7RUFDRSxvQkFBYztFQUFkLHVCQUFjO01BQWQsbUJBQWM7VUFBZCxlQUFjLEVBQ2Y7O0FBTUQ7RUFFSSxxQkFBMEUsRUFLM0U7RUFQSDtJQUtNLGlCQUFnQixFQUNqQjs7QUFJTDtFQUNFLHFCQUFhO0VBQWIsc0JBQWE7RUFBYixxQkFBYTtFQUFiLGNBQWEsRUFVZDtFQVhEO0lBSUksb0JBQWM7SUFBZCx1QkFBYztRQUFkLG1CQUFjO1lBQWQsZUFBYztJQUNkLGtCN0Z6RXVCLEU2RjhFeEI7SUFWSDtNQVFNLGtCQUFpQixFQUNsQjs7QUFJTDs7SUFFSTtBQUNKO0VBQ0UsK0JBQXNCO0VBQXRCLCtCQUFzQjtNQUF0Qiw2QkFBc0I7VUFBdEIsdUJBQXNCO0VBQUUsT0FBTyxFQUNoQzs7QUFFRDtFQUNFLDJCQUFrQjtNQUFsQiw0QkFBa0I7VUFBbEIsbUJBQWtCO0VBQ2xCLGtCN0YxRnlCO0VJVXpCLGdCRFJzQjtFQ1N0QixnQkFQcUM7RWVnRXJDLGlCZnZCcUIsRXlGK0N0Qjs7QUFFRDtFQUNFLGtCQUFpQjtFQUNqQixzQjNGbkYwQjtFMkZvRjFCLG1CdkY5Rm1CO0V1RitGbkIsOEJBQTZCO0VBQzdCLGNBQXdDO0VBQ3hDLGE3RnBHeUIsRTZGcUcxQjs7QUN4R0Q7RUFDRSx5QkFBd0I7RUFDeEIsYzlGRTBCO0U4RkQxQixtQnhGR21CO0V3RkZuQixtQjlGRHlCO0U4RkV6QixpQjVGU3VCLEU0RlJ4Qjs7QUFFRDtFMUZLRSxrQkRIc0Q7RUNJdEQsc0JBUHFDO0VlMEVyQyxpQmZqQ3FCO0UwRnRDckIsOEJBQXdEO0VBQ3hELHdCQUF1QjtFQUN2QiwyQkFBMEIsRUFDM0I7O0FBRUQ7RUFFRSxlNUZDeUIsRTRGQTFCOztBQ2xCRDtFQUNFLGNBQXdDO0VBQ3hDLGEvRkN5QjtFK0ZBekIsbUJBQWtCO0VBTWxCLGVqRkZtQztFaUZHbkMsMEJqRlJtQyxFaUZTcEM7O0FDWEQ7O0VBRUU7QUFDRjtFN0VvSEUsZ0JBQWU7RUFBRSxPQUFPO0VBQ3hCLDRCQUEyQjtFQUMzQixtQ0FBa0M7RUFDbEMsK0JBQThCO0VBQzlCLDZCQUE0QjtFQUFFLE9BQU8sRTZFcEhwQzs7QUFKSDtFQVVRLHNCOUZIZ0I7RThGR2UsT0FBTyxFQUN2Qzs7QUNOUDtFbkNRRSxzSWhEVG1DO1VnRFNuQyw4SGhEVG1DLEVtRkdwQzs7QUFFRDtFQUNFLGlCL0ZDdUI7RStGRXZCLDBCQUF5QjtFQUN6QiwyQkFBMEIsRUFDM0I7O0FBRUQ7RUFFSSxrQmpHbkJ1QjtFaUdvQnZCLG9CQUFtQixFQUNwQjs7QUFHSDs7O0dBR0c7QUFFSDtFQUVJLHVCL0ZwQnFCO0UrRm9CeUQsT0FBTztFQUNyRixzQi9GbkJ3QjtFK0ZtQm1ELE9BQU87RUFDbEYsZXZGcENrQjtFdUZvQ0ksT0FBTyxFQUM5Qjs7QUFHSDtFQUNFLDAxQ0FBMkM7RUFBRSxPQUFPLEVBQ3JEOztBQUVEO0VBQ0UsV0FBVTtFQUNWLFVBQVM7RTdGakNULGdCNkZrQ3NCO0U3RmpDdEIsc0JBUHFDO0U2RnlDckMsNkg5Ri9DNkg7RThGZ0Q3SCxpQjlGakN5QjtFOEZrQ3pCLGlCN0ZGcUIsRTZGU3RCO0VBYkQ7SUFTSSxpQjlGckN1QjtJOEZzQ3ZCLFVBQVM7SUFDVCxXQUFVLEVBQ1g7O0FBR0gsaUVBQWlFO0FBQ2pFO0VBQ0UsVUFBUztFQUNULFdBQVU7RUFDVixvQm5GN0RtQztFbUY4RG5DLFkvRjFEa0I7RStGMkRsQiw4QkFBMEMsRUFDM0M7O0FBRUQ7RUFDRSxxQkFBb0IsRUFDckI7O0FBRUQ7RUFDRSxVQUFTO0U3RjVEVCxnQkRMc0Q7RUNNdEQsZ0JBUHFDO0VlMkRyQyxpQmZsQnFCO0U2RjJCckIsaUI3RnJCeUI7RTZGc0J6QixzQkFBcUI7RUFDckIsaUJBQWdCO0VBQ2hCLHFCQUFvQixFQWVyQjtFQXJCRDtJQVNJLGtCQUE2QixFQUM5QjtFQVZIO0lBYUksbUJqR2xGdUIsRWlHbUZ4QjtFQWRIO0lBa0JNLGFqR3hGc0IsRWlHeUZ2Qjs7QUFJTDs7O0VBR0UseUJBQXdCLEVBQ3pCOztBQUVEO0VBQ0UsMkNBQXlEO0VBQ3pELGUvRnJGeUIsRStGMkYxQjtFQVJEO0lBTUksZ0JBQWUsRUFDaEI7O0FBR0g7RUFDRSwwQi9GaEcwQjtFK0ZpRzFCLFkvRjdGc0IsRStGOEZ2Qjs7QUFJRDtFQUVJLGlEQUF3QztVQUF4Qyx5Q0FBd0MsRUFJM0M7O0FBRUQ7RUFDRSxxQkFBWTtVQUFaLGFBQVksRUFDYjs7QUNoSUQ7RTlGYUUsZ0I4RlpzQjtFOUZhdEIsc0JBUHFDO0UwRFNyQyxzSWhEVG1DO1VnRFNuQyw4SGhEVG1DO0VvRkpuQyw2SC9GRjZIO0UrRkc3SCxpQi9GWXlCO0UrRlh6QixpQjlGMkNxQjtFOEYxQ3JCLGVoR1l5QjtFZ0dYekIsYWxHSnlCO0VrR0t6QixxQ0FBbUQ7RUFDbkQsbUI1RkhtQixFNEZhcEI7RUFuQkQ7SW5GQ0UsWW1GVytCO0luRlYvQixhbUZVK0I7SUFDN0Isc0JBQXFCO0lBQ3JCLG9CQUEwQjtJQUMxQixtQkFBa0I7SUFDbEIsMEJoR0V1QjtJZ0dEdkIsb0JoR0N1QixFZ0dBeEI7O0FBR0g7RUFDRSxpQjlGbUN5QixFOEZsQzFCOztBQUtEO0VBQ0UsbUJBQWtCO0VBQ2xCLFdsR3ZCMEI7RWtHd0IxQixvQkFBbUIsRUFDcEI7O0FDaENEO0VBQ0Usb0JBQVc7RUFBWCxvQkFBVztNQUFYLGtCQUFXO1VBQVgsWUFBVztFQUNYLHFCQUFhO0VBQWIsc0JBQWE7RUFBYixxQkFBYTtFQUFiLGNBQWE7RUFDYiwrQkFBbUI7RUFBbkIsOEJBQW1CO0VBQW5CLDRCQUFtQjtNQUFuQix3QkFBbUI7VUFBbkIsb0JBQW1CO0VBQ25CLGVBQWMsRUFjZjtFQWxCRDtJQU9JLCtCQUEyQjtJQUEzQiwrQkFBMkI7SUFBM0Isb0NBQTJCO1FBQTNCLGdDQUEyQjtZQUEzQiw0QkFBMkIsRUFDNUI7RUFSSDtJQVVJLCtCQUFtQjtJQUFuQiw4QkFBbUI7SUFBbkIsNEJBQW1CO1FBQW5CLHdCQUFtQjtZQUFuQixvQkFBbUIsRUFDcEI7RUFYSDtJQWFJLDZCQUE4QjtJQUE5QiwrQkFBOEI7SUFBOUIsdUNBQThCO1FBQTlCLG1DQUE4QjtZQUE5QiwrQkFBOEIsRUFDL0I7RUFkSDtJQWdCSSw2QkFBc0I7SUFBdEIsOEJBQXNCO0lBQXRCLCtCQUFzQjtRQUF0QiwyQkFBc0I7WUFBdEIsdUJBQXNCLEVBQ3ZCOztBQUdIO0VBQ0UscUJBQWE7RUFBYixzQkFBYTtFQUFiLHFCQUFhO0VBQWIsY0FBYTtFQUNiLG9CQUFjO0VBQWQsdUJBQWM7TUFBZCxtQkFBYztVQUFkLGVBQWM7RUFDZCxjQUFhO0VBQ2IsYUFBWSxFQUNiOztBQ2pCRDtFQUNFLCtCQUFzQjtNQUF0QiwyQkFBc0I7VUFBdEIsdUJBQXNCO0VBRXRCLHFDQUFnQyxFQUNqQzs7QUFFRDtFaEdERSxrQkROc0Q7RUNPdEQsc0JBUHFDO0Vlc0RyQyxpQmZicUI7RWdHaENyQixxQkFBYTtFQUFiLHNCQUFhO0VBQWIscUJBQWE7RUFBYixjQUFhO0VBQ2IsK0JBQW1CO0VBQW5CLDhCQUFtQjtFQUFuQiw0QkFBbUI7TUFBbkIsd0JBQW1CO1VBQW5CLG9CQUFtQjtFQUNuQixlQUFxQjtFQUNyQixjQUFhO0VBQ2IsYUFBWSxFQUNiOztBQUdEO0VBQ0UsK0JBQTJCO0VBQTNCLCtCQUEyQjtFQUEzQixvQ0FBMkI7TUFBM0IsZ0NBQTJCO1VBQTNCLDRCQUEyQixFQUM1Qjs7QUFFRDtFQUNFLCtCQUFtQjtFQUFuQiw4QkFBbUI7RUFBbkIsNEJBQW1CO01BQW5CLHdCQUFtQjtVQUFuQixvQkFBbUIsRUFDcEI7O0FBRUQ7RUFDRSw2QkFBOEI7RUFBOUIsK0JBQThCO0VBQTlCLHVDQUE4QjtNQUE5QixtQ0FBOEI7VUFBOUIsK0JBQThCO0VBQzlCLFlBQVc7RUFDWCxtQnBHOUIwQixFb0crQjNCOztBQUVEO0VBQ0UsNkJBQXNCO0VBQXRCLDhCQUFzQjtFQUF0QiwrQkFBc0I7TUFBdEIsMkJBQXNCO1VBQXRCLHVCQUFzQjtFQUN0QixZQUFXO0VBQ1gsbUJwR3BDMEIsRW9HcUMzQjs7QUFFRDs7OztJQUlJO0FBQ0o7RUFDRSxxQkFBYTtFQUFiLHNCQUFhO0VBQWIscUJBQWE7RUFBYixjQUFhO0VBQ2Isa0JwR25EZ0I7RW9HcURoQixhQWpEb0I7RUFrRHBCLG9CQUFjO0VBQWQsdUJBQWM7TUFBZCxtQkFBYztVQUFkLGVBQWM7RUFDZCw2QkFBc0I7RUFBdEIsOEJBQXNCO0VBQXRCLCtCQUFzQjtNQUF0QiwyQkFBc0I7VUFBdEIsdUJBQXNCO0VBQ3RCLGNBQWE7RUFDYixtQkFBa0I7RUFDbEIsaUJBQWdCLEVBS2pCO0VBZEQ7SUFZSSxtQkFBa0IsRUFDbkI7O0FBR0g7O0VBRUUsWUFBVztFQUNYLCtCQUFtQjtFQUFuQiw4QkFBbUI7RUFBbkIsNEJBQW1CO01BQW5CLHdCQUFtQjtVQUFuQixvQkFBbUI7RUFDbkIsd0JBQWU7TUFBZixvQkFBZTtVQUFmLGdCQUFlO0VBQ2Ysa0JBQWlCO0VBQUUsT0FBTyxFQU0zQjtFQVhEOztJQVFJLG9CQUFZO0lBQVoscUJBQVk7UUFBWixxQkFBWTtZQUFaLGFBQVk7SUFDWixpQkF0RWtCLEVBdUVuQjs7QUFHSDtFQUNFLGdCQUFlO0VBQ2YsYXBHOUUwQjtFb0crRTFCLHFCQUFhO0VBQWIsc0JBQWE7RUFBYixxQkFBYTtFQUFiLGNBQWE7RUFDYix1QkFBYztNQUFkLHFCQUFjO1VBQWQsZUFBYztFQUNkLG1CQUFrQjtFQUFFLE9BQU8sRUFTNUI7RUFkRDtJQVFJLFlBQVcsRUFDWjtFQVRIO0lBWUksYUFBWSxFQUNiOztBQUdIO0VqRnlCRSxnQkFBZTtFQUFFLE9BQU87RUFDeEIsNEJBQTJCO0VBQzNCLG1DQUFrQztFQUNsQywrQkFBOEI7RUFDOUIsNkJBQTRCO0VBQUUsT0FBTztFaUYzQnJDLDBCaEM5Rm1ELEVnQ21HcEQ7RUFQRDtJQUtJLDJCQUEwQixFQUMzQjs7QUFHSDtFQUNFLFdBQVU7RUFBRSxPQUFPLEVBQ3BCOztBQUVEO0VBQ0UsdUJsRzlGdUIsRWtHK0Z4Qjs7QUFFRDs7RUFFRSxnQnBHL0cwQjtFb0dnSDFCLGlDbEdsRzBCLEVrR21HM0I7O0FBRUQ7O0V0Q3JHRSw0STVEQzJCO1U0REQzQixvSTVEQzJCO0VrR3VHM0IsbUJBQWtCO0VBQUUsT0FBTztFQUMzQixtQjlGbkhtQixFOEZvSHBCOztBQUVEO0VBQ0UsYUFBNkMsRUFDOUM7O0FBRUQ7RUFDRSxnQnBHL0gwQixFb0dnSTNCOztBQUVEO0VBQ0UsYUFoSWtDO0VBaUlsQyxhQUFZLEVBY2I7RUFoQkQ7SUFTSyxZQUhvQztJQUlyQyxZQUgrRixFQVFoRztJQWZIO01BYU0sOEJBQXFCO2NBQXJCLHNCQUFxQixFQUN0Qjs7QUNqSkw7Ozs7Ozs7O0VBUUUsZUFBYyxFQUNmOztBQUVEO0VBQ0UscUJBQWE7RUFBYixzQkFBYTtFQUFiLHFCQUFhO0VBQWIsY0FBYSxFQUNkOztBQUVEO0VBQ0UsMkJBQTBCLEVBQzNCOztBQUdEO0VBQ2dCLGNBQWEsRUFBSTs7QUFJakM7RUFDRSxhQUFZO0VBQ1osYUFBWTtFQUVaLHFCQUFvQixFQUNyQjs7QUFFRDs7RUFFRSxpQkFBZ0I7RUFFaEIseUJBQXdCLEVBQ3pCOztBQUdEO0VBQ0Usa0JoRnJDWSxFZ0ZzQ2I7O0FDM0NEO0VBQ0Usb0J0R0RnQjtFc0dFaEIsaUJwR1l1QixFb0dYeEI7O0FBRUQ7O0dBRUc7QUFDSDtFQUNFLGtCQUFpQjtFQUFFLE9BQU8sRUFDM0I7O0FBRUQ7O0dBRUc7QUFDSDtFQUNFLGtCQUFpQjtFQUFFLE9BQU8sRUFDM0I7O0FBR0Q7RWxHUEUsa0JESHNEO0VDSXRELHNCQVBxQztFZTBFckMsaUJmakNxQjtFa0d6QnJCLGlCQUFnQixFQVVqQjtFQWJEO0lBTUksaUJwR1J1QjtJb0dTdkIsZ0JBQWUsRUFLaEI7SUFaSDtNQVVNLGVwRzVCbUIsRW9HNkJwQjs7QUFLTDtFQUVJLG9CdEd0Q2MsRXNHdUNmOztBQUhIO0VBTU0saUNwRzFCc0I7RW9HMkJ0QixhdEd4Q3FCLEVzR3lDdEI7O0FBUkw7RUFXSSxlcEc3QnVCLEVvRzhCeEI7O0FBWkg7RUFlSSxjdEcvQ3dCLEVzR3dEekI7RUF4Qkg7SUFrQk0sa0J0R2pEc0IsRXNHa0R2QjtFQW5CTDtJQXNCTSxnQnRHeERzQixFc0d5RHZCOztBQXZCTDtFQTRCTSxtQkFBa0I7RUFDbEIsc0JBQXFCLEVBQ3RCOztBQ2xFTDtFQUVJLGlCdkdGYyxFdUdHZjs7QUFFRDtFQUNFLGFBQVksRUFLYjtFbEUwREQ7SWtFaEVBO01BSUksZ0JBQWUsRUFFbEIsRUFBQTs7QUFFRDtFQUNFLGtCdkdWd0IsRXVHV3pCOztBbEVzREQ7RWtFbkRFO0lBQ0UsZ0JBQWUsRUFDaEIsRUFBQTs7QUNwQkw7RUFFSSxvQnhHQ3VCLEV3R0F4Qjs7QUFISDtFQU1JLHVCQUFxQjtFQUFyQiw4QkFBcUI7TUFBckIsb0JBQXFCO1VBQXJCLHNCQUFxQjtFQUNyQixXQUFVLEVBTVg7RUFiSDtJQVVNLHdCQUF1QjtJQUN2QixpQkFBZ0IsRUFDakI7O0FDVkw7O0dBRUc7QUFDRjtFQUNDLG9CQUFPO0VBQVAsZ0JBQU87TUFBUCxZQUFPO1VBQVAsUUFBTztFQUNQLHFCQUFhO0VBQWIsc0JBQWE7RUFBYixxQkFBYTtFQUFiLGNBQWEsRUFJZDtFQU5BO0lBSUcsb0JBQU87SUFBUCxnQkFBTztRQUFQLFlBQU87WUFBUCxRQUFPLEVBQ1I7O0FBUUg7RUFLSSxlOUZicUIsRThGbUJ0QjtFQVhIO0lBU00sZUFBb0MsRUFDckM7O0FBVkw7RUFnQkksWTlGckJlO0U4RnNCZiwwQjNGakNpQztFMkZrQ2pDLHVDQUFvRCxFQU1yRDtFQXhCSDs7SUFzQk0sMEJBQW9ELEVBQ3JEOztBQXZCTDs7Ozs7O0VBb0NVLHVCOUZsRGUsRThGbURoQjs7QUFyQ1Q7RUEwQ00sMEI5RnhEbUIsRThGeURwQjs7QUEzQ0w7RUE4Q00sdUI5RjVEbUIsRThGNkRwQjs7QUEvQ0w7RUFtRE0sOEJBQTZCLEVBQzlCOztBQXBETDtFQTBEUSxlOUZuRXFCLEU4Rm9FdEI7O0FBM0RQOzs7O0VBaUVRLFk5RnRFVyxFOEZ1RVo7O0FBbEVQOzs7O0VBd0VRLFk5RjdFVyxFOEY4RVo7O0FBekVQO0VBZ0ZJLHVCOUY5RnFCO0U4RitGckIsc0I5RjdGdUIsRThGaUd4QjtFQXJGSDtJQW1GTSwwQjlGNUZ1QixFOEY2RnhCOztBQXBGTDs7RUF5RkksZTlGbEd5QixFOEY4RzFCO0VBckdIOztJQTRGTSxZOUYxR21CLEU4RjJHcEI7RUE3Rkw7OztJQWtHTSxlOUYzR3VCO0k4RjRHdkIsMEI5RjlHd0IsRThGK0d6Qjs7QUFwR0w7Ozs7RUE0R00sMEI5RnJIdUIsRThGc0h4Qjs7QUE3R0w7O0VBb0hRLHVCOUZwSWlCLEU4RnFJbEI7O0FBckhQO0VBeUhNLGNBQWEsRUFJZDtFQTdITDtJQTJIUSwwQjlGM0lpQixFOEY0SWxCOztBQTVIUDtFQWtJTSxlOUYxSW1CO0U4RjJJbkIsdUI5Rm5KbUI7RThGb0puQixtQjlGbEptQixFOEYySnBCO0VBN0lMO0lBdUlRLHVCOUZySmlCLEU4RnNKbEI7RUF4SVA7SUEwSVEsWTlGMUppQjtJOEYySmpCLDBCOUZuSmlCLEU4Rm9KbEI7O0FBNUlQO0VBZ0pRLDBCOUY5SmlCLEU4RitKbEI7O0FBakpQO0VBMkpVLDBCOUZ2S2lCLEU4RndLbEI7O0FBNUpUO0VBa0tJLDZCOUYzS3lCLEU4RjZMMUI7RUFwTEg7SUFzS1Usc0I5RmxMaUIsRThGbUxsQjtFQXZLVDtJQThLVSxZOUZ4TGM7SThGeUxkLDBCOUZ4TG1CO0k4RnlMbkIsMkJBQTBCLEVBQzNCOztBQ3BMVDs7R0FFRztBQUNIO0VBQWUsT0FBTztFQ2J0Qjs7O0dBR0c7RUFPSDs7R0FFRztFQVNIOzs7R0FHRztFQU9IOztHQUVHO0VBRUg7O0dBRUc7RUFLSDs7R0FFRztFQ3FESDs7O0lBR0k7RUFxQko7OztJQUdJLEVGMUdIO0VBTEQ7SUdqQkUsb0JBQU87SUFBUCxnQkFBTztRQUFQLFlBQU87WUFBUCxRQUFPO0lBQ1AscUJBQWE7SUFBYixzQkFBYTtJQUFiLHFCQUFhO0lBQWIsY0FBYTtJQUNiLDZCQUFzQjtJQUF0Qiw4QkFBc0I7SUFBdEIsK0JBQXNCO1FBQXRCLDJCQUFzQjtZQUF0Qix1QkFBc0IsRUFDdkI7RUhjRDtJR1hFLG1CQUFrQjtJQUNsQixrQkFBcUI7SUFDckIsaUJBQWdCO0lBQ2hCLFlBQVc7SUFDWCxpQjNHR3VCO0kyR0Z2QixjN0dMMEI7STZHTTFCLG1CdkdQbUIsRXVHUXBCO0VISUQ7O0lHQUUsaUJBQWdCLEVBQ2pCO0VIREQ7SUNoQkUsY0FBYSxFQUNkO0VEZUQ7SUNQSSxjQUFhO0lBQUUsT0FBTyxFQUN2QjtFRE1IO0lDRUksY3pGSnNCO0l5RklBLE9BQU87SUFDN0IsVzNHbkJ3QjtJMkdvQnhCLFkzR3BCd0IsRTJHcUJ6QjtFRExIO0lDYUUsd0JBQXVCO0lBQUUsUUFBUTtJQUNqQyxZQUFXO0lBQ1gsbUJBQWtCLEVBQ25CO0VEaEJEO0lDMEJFLGNBQWEsRUFDZDtFRDNCRDtJQ2lDRSx3QkFBdUI7SUFBRSxPQUFPO0lBQ2hDLHVCQUFzQjtJQUFFLE9BQU87SUFDL0Isa0JBQWlCO0lBQUUsT0FBTztJQUMxQixtQkFBa0I7SUFBRSxPQUFPLEVBRzVCO0VEdkNEO0lDNENFOztLQUVHO0lBQ0YseUJBQWdCO0lBQWhCLGlCQUFnQjtJQUNqQjs7TUFFSTtJQVNKOzs7S0FHRztJQVlIOztLQUVHLEVBS0o7SURqRkQ7TUNvREkseU9BQWlQLEVBS2xQO01EekRIO1FDdURNLGFBQVksRUFDYjtJRHhETDtNQ2lFSSx5QkFBK0IsRUFDaEM7SURsRUg7TUNxRUksbUZ0RHBGd0Q7TXNEb0Z4RCwyRXREcEZ3RDtNc0RvRnhELG1FdERwRndEO01zRG9GeEQsbUl0RHBGd0Q7TVM4QzFELGlQaEQxQ21DO2NnRDBDbkMseU9oRDFDbUM7TTZGa0ZqQyxtQnJHbkZpQixFcUdvRmxCO0lEeEVIO01DOEVJLG1CckcxRmlCO01xRzJGakIsb0J6Ry9GcUIsRXlHZ0d0QjtFRGhGSDtJRWpCRSxjQUFhO0lBQ2Isb0JBQU87SUFBUCxnQkFBTztRQUFQLFlBQU87WUFBUCxRQUFPO0lBQ1AscUJBQWE7SUFBYixzQkFBYTtJQUFiLHFCQUFhO0lBQWIsY0FBYTtJQUNiLDZCQUFzQjtJQUF0Qiw4QkFBc0I7SUFBdEIsK0JBQXNCO1FBQXRCLDJCQUFzQjtZQUF0Qix1QkFBc0I7SUFDdEIsYUFBWTtJQUNaLG1CQUFrQjtJQWlCbEI7Ozs7S0FJRyxFQWFKO0lGdEJEO01FUkkscUJBQWE7TUFBYixzQkFBYTtNQUFiLHFCQUFhO01BQWIsY0FBYTtNQUNiLG9CQUFjO01BQWQsdUJBQWM7VUFBZCxtQkFBYztjQUFkLGVBQWM7TUFDZCxhQUFZO01BQ1osV0FBVTtNQUNWLGNBQWEsRUFDZDtJRkdIO01FRUksWUFBVyxFQUNaO0lGSEg7TUVXSSxvQkFBVztNQUFYLG9CQUFXO1VBQVgsa0JBQVc7Y0FBWCxZQUFXO01BQUUsT0FBTztNQUNwQixlQUFjO01BQUUsT0FBTyxFQUN4QjtJRmJIO01yRWtCRSxzQkFBcUI7TXVFRkksT0FBTyxFQUMvQjtNdkVJRDtRQUNFLFlBQVc7UUFDWCxhQUFZLEVBQ2I7TUFFRDtRQUNFLDJDQUF3RDtRQUN4RCw4QkFBNkI7UUFDN0IsNkJBQTRCLEVBQzdCO01BRUQ7UUFFRSw4QkFBNkIsRUFDOUI7SXFFbkNIO01Fb0JJLGtCQUFpQjtNQUFFLE9BQU8sRUFDM0I7RUZyQkg7SUV5QkUsb0V2RHhDMEQ7SXVEd0MxRCw0RHZEeEMwRCxFdUQrQzNEO0lGaENEO01FNkJJLHNCMUc3Q3FCO000RGdFdkIsbUc1RGpEMkI7YzREaUQzQiwyRjVEakQyQixFMEdnQzFCO0VGL0JIOztJRXlDSSwwQkFBeUIsRUFDMUI7RUYxQ0g7O0lFNkNJLHlCQUFnQjtZQUFoQixpQkFBZ0I7SUFDaEIsaUJBQWdCLEVBQ2pCO0VGL0NIO0lFcURFLGE1R3BFeUI7STRHcUV6QixvQkFBYztJQUFkLHVCQUFjO1FBQWQsbUJBQWM7WUFBZCxlQUFjO0lBQ2Qsb0JBQW1CO0lBQ25CLHFCQUFhO0lBQWIsc0JBQWE7SUFBYixxQkFBYTtJQUFiLGNBQWE7SUFDYixhQUFZO0lBQ1osaUZ2RHpFMEQ7SXVEeUUxRCx5RXZEekUwRCxFdUQwRTNEO0VGM0REO0lFOERFLG1CQUFrQjtJQUNsQixlMUcvRHlCO0kwR2dFekIsc0V2RC9FMEQ7SXVEK0UxRCw4RHZEL0UwRDtJdURnRjFELG9CQUFjO0lBQWQsdUJBQWM7UUFBZCxtQkFBYztZQUFkLGVBQWM7SXpGb0NkLGdCQUFlO0lBQUUsT0FBTztJQUN4Qiw0QkFBMkI7SUFDM0IsbUNBQWtDO0lBQ2xDLCtCQUE4QjtJQUM5Qiw2QkFBNEI7SUFBRSxPQUFPO0l5Rm5DckMsc0JBQXFCLEVBQ3RCO0VGdkVEO0lFMkVJLGlEQUF5RDtJQUN6RCxhQUFZLEVBQ2I7RUY3RUg7SUVnRkksZTFHaEdxQixFMEdpR3RCO0VGakZIO0lFeUZFLFdBQVU7SUFBRSxPQUFPO0lBQ25CLG1CQUFrQjtJQUNsQixXQUFVO0lBQ1YsU0FBUTtJQUNSLHVCMUdqR3VCO0kwR2tHdkIsYzFGaEd3QjtJMEZpR3hCLHdFdkQ5RzBEO0l1RDhHMUQsZ0V2RDlHMEQsRXVEbUgzRDtJRnBHRDtNRWlHWSxPQUFPO01BQ2YsV0FBVSxFQUNYO0VGbkdIO0lFdUdFLFdBQVUsRUFDWDtFRnhHRDtJRWlIRSxXQUFVO0lBQUUsT0FBTyxFQUtwQjtJRnRIRDtNRW1IWSxPQUFPO01BQ2YsV0FBVSxFQUNYO0VGckhIO0lFeUhFLFdBQVUsRUFDWDtFRjFIRDtJRStIRSxtQkFBa0I7SUFDbEIseUJBQXVCO0lBQXZCLGdDQUF1QjtRQUF2QixzQkFBdUI7WUFBdkIsd0JBQXVCO0lBQ3ZCLDZCQUFzQjtJQUF0Qiw4QkFBc0I7SUFBdEIsK0JBQXNCO1FBQXRCLDJCQUFzQjtZQUF0Qix1QkFBc0I7SUFDdEIsZUFBYyxFQU1mO0lGeElEO01FcUlJLGtCekc1SW9EO015RzZJcEQsZTFHOUlvQixFMEcrSXJCO0VGdklIO0lJakJFLFlBQVc7SUFDWCx1QjVHWXVCLEU0R1h4QjtFSmVEO0lJWkUsWUFBVyxFQUNaOztBQ1BEO0VBQ0UsYy9HRGdCLEUrR0VqQjs7QUw4QkQ7RUFDRSx1Qi9GL0J1QjtFZ0dHekI7OztHQUdHO0VBT0g7O0dBRUc7RUFTSDs7O0dBR0c7RUFPSDs7R0FFRztFQUVIOztHQUVHO0VBS0g7O0dBRUc7RUNxREg7OztJQUdJO0VBcUJKOzs7SUFHSTtFbEJwSEo7O0dBRUc7RUFxQ0g7O0dBRUc7RUFvQkg7O0dBRUc7RUFVSDs7R0FFRztFRW5ESDs7R0FFRztFQW9CSDs7R0FFRztFQ3VCSDs7SUFFSTtFR3RGSjs7RUFFRTtFQ3lCRjs7O0dBR0c7RUE2QkgsaUVBQWlFO0VHZmpFOzs7O0lBSUksRU1MSDtFQVhEO0lHL0JFLG9CQUFPO0lBQVAsZ0JBQU87UUFBUCxZQUFPO1lBQVAsUUFBTztJQUNQLHFCQUFhO0lBQWIsc0JBQWE7SUFBYixxQkFBYTtJQUFiLGNBQWE7SUFDYiw2QkFBc0I7SUFBdEIsOEJBQXNCO0lBQXRCLCtCQUFzQjtRQUF0QiwyQkFBc0I7WUFBdEIsdUJBQXNCLEVBQ3ZCO0VINEJEO0lHekJFLG1CQUFrQjtJQUNsQixrQkFBcUI7SUFDckIsaUJBQWdCO0lBQ2hCLFlBQVc7SUFDWCxpQmxHVHVCO0lrR1V2QixjN0dMMEI7STZHTTFCLG1CdkdQbUIsRXVHUXBCO0VIa0JEOztJR2RFLGlCQUFnQixFQUNqQjtFSGFEO0lDOUJFLGNBQWEsRUFDZDtFRDZCRDtJQ3JCSSxjQUFhO0lBQUUsT0FBTyxFQUN2QjtFRG9CSDtJQ1pJLGN6RkpzQjtJeUZJQSxPQUFPO0lBQzdCLFczR25Cd0I7STJHb0J4QixZM0dwQndCLEUyR3FCekI7RURTSDtJQ0RFLHdCQUF1QjtJQUFFLFFBQVE7SUFDakMsWUFBVztJQUNYLG1CQUFrQixFQUNuQjtFREZEO0lDWUUsY0FBYSxFQUNkO0VEYkQ7SUNtQkUsd0JBQXVCO0lBQUUsT0FBTztJQUNoQyx1QkFBc0I7SUFBRSxPQUFPO0lBQy9CLGtCQUFpQjtJQUFFLE9BQU87SUFDMUIsbUJBQWtCO0lBQUUsT0FBTyxFQUc1QjtFRHpCRDtJQzhCRTs7S0FFRztJQUNGLHlCQUFnQjtJQUFoQixpQkFBZ0I7SUFDakI7O01BRUk7SUFTSjs7O0tBR0c7SUFZSDs7S0FFRyxFQUtKO0lEbkVEO01Dc0NJLHlPQUFpUCxFQUtsUDtNRDNDSDtRQ3lDTSxhQUFZLEVBQ2I7SUQxQ0w7TUNtREkseUJBQStCLEVBQ2hDO0lEcERIO01DdURJLG1GdERwRndEO01zRG9GeEQsMkV0RHBGd0Q7TXNEb0Z4RCxtRXREcEZ3RDtNc0RvRnhELG1JdERwRndEO01TOEMxRCx5Tm5EaEN3QjtjbURnQ3hCLGlObkRoQ3dCO01nR3dFdEIsbUJyR25GaUIsRXFHb0ZsQjtJRDFESDtNQ2dFSSxtQnJHMUZpQjtNcUcyRmpCLG9CaEd2RnFCLEVnR3dGdEI7RURsRUg7SUUvQkUsY0FBYTtJQUNiLG9CQUFPO0lBQVAsZ0JBQU87UUFBUCxZQUFPO1lBQVAsUUFBTztJQUNQLHFCQUFhO0lBQWIsc0JBQWE7SUFBYixxQkFBYTtJQUFiLGNBQWE7SUFDYiw2QkFBc0I7SUFBdEIsOEJBQXNCO0lBQXRCLCtCQUFzQjtRQUF0QiwyQkFBc0I7WUFBdEIsdUJBQXNCO0lBQ3RCLGFBQVk7SUFDWixtQkFBa0I7SUFpQmxCOzs7O0tBSUcsRUFhSjtJRlJEO01FdEJJLHFCQUFhO01BQWIsc0JBQWE7TUFBYixxQkFBYTtNQUFiLGNBQWE7TUFDYixvQkFBYztNQUFkLHVCQUFjO1VBQWQsbUJBQWM7Y0FBZCxlQUFjO01BQ2QsYUFBWTtNQUNaLFdBQVU7TUFDVixjQUFhLEVBQ2Q7SUZpQkg7TUVaSSxZQUFXLEVBQ1o7SUZXSDtNRUhJLG9CQUFXO01BQVgsb0JBQVc7VUFBWCxrQkFBVztjQUFYLFlBQVc7TUFBRSxPQUFPO01BQ3BCLGVBQWM7TUFBRSxPQUFPLEVBQ3hCO0lGQ0g7TXJFSUUsc0JBQXFCO011RUZJLE9BQU8sRUFDL0I7TXZFSUQ7UUFDRSxZQUFXO1FBQ1gsYUFBWSxFQUNiO01BRUQ7UUFDRSwyQ0FBd0Q7UUFDeEQsOEJBQTZCO1FBQzdCLDZCQUE0QixFQUM3QjtNQUVEO1FBRUUsOEJBQTZCLEVBQzlCO0lxRXJCSDtNRU1JLGtCQUFpQjtNQUFFLE9BQU8sRUFDM0I7RUZQSDtJRVdFLG9FdkR4QzBEO0l1RHdDMUQsNER2RHhDMEQsRXVEK0MzRDtJRmxCRDtNRWVJLHNCakdyQ3FCO01tRHdEdkIsdUZuRGxEbUI7Y21Ea0RuQiwrRW5EbERtQixFaUdpQ2xCO0VGakJIOztJRTJCSSwwQkFBeUIsRUFDMUI7RUY1Qkg7O0lFK0JJLHlCQUFnQjtZQUFoQixpQkFBZ0I7SUFDaEIsaUJBQWdCLEVBQ2pCO0VGakNIO0lFdUNFLGE1R3BFeUI7STRHcUV6QixvQkFBYztJQUFkLHVCQUFjO1FBQWQsbUJBQWM7WUFBZCxlQUFjO0lBQ2Qsb0JBQW1CO0lBQ25CLHFCQUFhO0lBQWIsc0JBQWE7SUFBYixxQkFBYTtJQUFiLGNBQWE7SUFDYixhQUFZO0lBQ1osaUZ2RHpFMEQ7SXVEeUUxRCx5RXZEekUwRCxFdUQwRTNEO0VGN0NEO0lFZ0RFLG1CQUFrQjtJQUNsQixlakczRXlCO0lpRzRFekIsc0V2RC9FMEQ7SXVEK0UxRCw4RHZEL0UwRDtJdURnRjFELG9CQUFjO0lBQWQsdUJBQWM7UUFBZCxtQkFBYztZQUFkLGVBQWM7SXpGb0NkLGdCQUFlO0lBQUUsT0FBTztJQUN4Qiw0QkFBMkI7SUFDM0IsbUNBQWtDO0lBQ2xDLCtCQUE4QjtJQUM5Qiw2QkFBNEI7SUFBRSxPQUFPO0l5Rm5DckMsc0JBQXFCLEVBQ3RCO0VGekREO0lFNkRJLHVEQUF5RDtJQUN6RCxhQUFZLEVBQ2I7RUYvREg7SUVrRUksZWpHeEZxQixFaUd5RnRCO0VGbkVIO0lFMkVFLFdBQVU7SUFBRSxPQUFPO0lBQ25CLG1CQUFrQjtJQUNsQixXQUFVO0lBQ1YsU0FBUTtJQUNSLHVCakc3R3VCO0lpRzhHdkIsYzFGaEd3QjtJMEZpR3hCLHdFdkQ5RzBEO0l1RDhHMUQsZ0V2RDlHMEQsRXVEbUgzRDtJRnRGRDtNRW1GWSxPQUFPO01BQ2YsV0FBVSxFQUNYO0VGckZIO0lFeUZFLFdBQVUsRUFDWDtFRjFGRDtJRW1HRSxXQUFVO0lBQUUsT0FBTyxFQUtwQjtJRnhHRDtNRXFHWSxPQUFPO01BQ2YsV0FBVSxFQUNYO0VGdkdIO0lFMkdFLFdBQVUsRUFDWDtFRjVHRDtJRWlIRSxtQkFBa0I7SUFDbEIseUJBQXVCO0lBQXZCLGdDQUF1QjtRQUF2QixzQkFBdUI7WUFBdkIsd0JBQXVCO0lBQ3ZCLDZCQUFzQjtJQUF0Qiw4QkFBc0I7SUFBdEIsK0JBQXNCO1FBQXRCLDJCQUFzQjtZQUF0Qix1QkFBc0I7SUFDdEIsZUFBYyxFQU1mO0lGMUhEO01FdUhJLGtCekc1SW9EO015RzZJcEQsZWpHNUlvQixFaUc2SXJCO0VGekhIO0lJL0JFLFlBQVc7SUFDWCx1Qm5HQXVCLEVtR0N4QjtFSjZCRDtJSTFCRSxZQUFXLEVBQ1o7RXRCTkQ7O0kxQmlDRSw4S25EMUJzQjtZbUQwQnRCLHNLbkQxQnNCO0lQS3RCLGtCRE5zRDtJQ090RCxzQkFQcUM7SWVzRHJDLGlCZmJxQjtJb0YzQ3JCLG1CQUFrQjtJQUNsQixxQkFBb0I7SUFDcEIsZ0JBQWU7SUFDZixjdEVnQndCO0lzRWZ4QiwwQjFFRm1DO0kwRUduQyxZdEZKa0I7SXNGS2xCLG1CbEZMbUI7SWtGTW5CLGlCQUEwQjtJQUMxQixpQkFBZ0I7SUFDaEIsMEJBQXlCLEVBZ0IxQjtJQWRDOztNQUNFLG1CeEZkdUIsRXdGZXhCO0lBRUQ7O01BQ0Usa0JBQTZCLEVBQzlCO0lBR0M7Ozs7TUFFRSxheEZ6QnNCLEV3RjBCdkI7RUFJTDtJQUNFLGtCQUF1QjtJQUN2QixpQnhGL0J5QjtJd0ZnQ3pCLHFCQUFhO0lBQWIsc0JBQWE7SUFBYixxQkFBYTtJQUFiLGNBQWE7SUFDYiwwQkFBbUI7SUFBbkIsNEJBQW1CO1FBQW5CLHVCQUFtQjtZQUFuQixvQkFBbUIsRUFTcEI7SUFQQztNQUNFLGlCQUFnQixFQUNqQjtJQUVEO01BQ0UsZ0J4RnhDdUIsRXdGeUN4QjtFQUdIO0lBQ0Usb0JBQWM7SUFBZCx1QkFBYztRQUFkLG1CQUFjO1lBQWQsZUFBYztJQUNkLG1CeEY5Q3lCLEV3RitDMUI7RUFFRDtJQUNFLG9CQUFjO0lBQWQsdUJBQWM7UUFBZCxtQkFBYztZQUFkLGVBQWMsRUFDZjtFQUVEO0lBRUUsaUJyRjFDeUI7SXFGMkN6QixlMUVwRG1DLEUwRXFEcEM7RUFFRDtJQUNFLFlBQVc7SUFDWCxhQUFZLEVBQ2I7RUNqRUQ7SUFDRSxnQnpGRXlCLEV5RkQxQjtFQ0ZEO0lBSUUsbUJBQWtCO0lBQ2xCLG9CQUFjO0lBQWQsdUJBQWM7UUFBZCxtQkFBYztZQUFkLGVBQWM7SUFDZCxxQkFBYTtJQUFiLHNCQUFhO0lBQWIscUJBQWE7SUFBYixjQUFhLEVBS2Q7SXRFeUJTO01zRXBDVjtRQVNJLDZCQUFzQjtRQUF0Qiw4QkFBc0I7UUFBdEIsK0JBQXNCO1lBQXRCLDJCQUFzQjtnQkFBdEIsdUJBQXNCLEVBRXpCLEVBQUE7SXRFOEJTO01zRXpDVjtRQVNJLDZCQUFzQjtRQUF0Qiw4QkFBc0I7UUFBdEIsK0JBQXNCO1lBQXRCLDJCQUFzQjtnQkFBdEIsdUJBQXNCLEVBRXpCLEVBQUE7SXRFOEJTO01zRXpDVjtRQVNJLDZCQUFzQjtRQUF0Qiw4QkFBc0I7UUFBdEIsK0JBQXNCO1lBQXRCLDJCQUFzQjtnQkFBdEIsdUJBQXNCLEVBRXpCLEVBQUE7RUFNRDtJbkZoQkUsb0JtRmlCK0I7SW5GakIvQix1Qm1GaUIrQjtRbkZqQi9CLG1CbUZpQitCO1luRmpCL0IsZW1GaUIrQjtJbkZoQi9CLHFCQUFhO0lBQWIsc0JBQWE7SUFBYixxQkFBYTtJQUFiLGNBQWE7SUFDYiw2QkFIdUU7SUFHdkUsOEJBSHVFO0lBR3ZFLCtCQUh1RTtRQUd2RSwyQkFIdUU7WUFHdkUsdUJBSHVFO0ltRm1CdkUsbUIxRmQwQjtJMEZlMUIsNEJBQW1CO1FBQW5CLHdCQUFtQjtZQUFuQixvQkFBbUI7SUFDbkIsaUJDcEJrQztJRHFCbEMsYUNyQmtDO0lEc0JsQyxnQkFBZSxFQVVoQjtJbkY1QkM7TUFDRSx1QkFBYztVQUFkLHFCQUFjO2NBQWQsZUFBYyxFQUNmO0lhNkJPO01zRW5CVjtRQVVJLHVCQUFzQixFQU16QixFQUFBO0l0RVFTO01zRXhCVjtRQVVJLHVCQUFzQixFQU16QixFQUFBO0l0RVFTO01zRXhCVjtRQVVJLHVCQUFzQixFQU16QixFQUFBO0l0RVFTO01zRXhCVjtRQWNJLGVBQWMsRUFFakIsRUFBQTtJdEVSTztNc0VSUjtRQWNJLGVBQWMsRUFFakIsRUFBQTtFQUVEO0lBQ0UsYUFBWSxFQUNiO0VBRUQ7SUFDRSxXQUFVLEVBQ1g7RUFFRDtJQUNFLFdBQVUsRUFDWDtFQUVEO0lBQ0UsV0FBVSxFQUNYO0VBT0Q7SW5GdkRFLG9CbUZ3RCtCO0luRnhEL0IsdUJtRndEK0I7UW5GeEQvQixtQm1Gd0QrQjtZbkZ4RC9CLGVtRndEK0I7SW5GdkQvQixxQkFBYTtJQUFiLHNCQUFhO0lBQWIscUJBQWE7SUFBYixjQUFhO0lBQ2IsNkJBSHVFO0lBR3ZFLDhCQUh1RTtJQUd2RSwrQkFIdUU7UUFHdkUsMkJBSHVFO1lBR3ZFLHVCQUh1RSxFbUZ3RXhFO0luRm5FQztNQUNFLHVCQUFjO1VBQWQscUJBQWM7Y0FBZCxlQUFjLEVBQ2Y7SWFrQ087TXNFZVY7UUFLSSw4QkM3RG9DO1lENkRwQyxtQ0M3RG9DO2dCRDZEcEMsc0JDN0RvQztRRDhEcEMsNkJBQW9ELEVBVXZELEVBQUE7SXRFL0NPO01zRStCUjtRQUtJLDhCQzdEb0M7WUQ2RHBDLG1DQzdEb0M7Z0JENkRwQyxzQkM3RG9DO1FEOERwQyw2QkFBb0QsRUFVdkQsRUFBQTtJQVBDO01BQ0Usa0J2RjNEb0QsRXVGNERyRDtJQUVEO01BQ0UsbUIxRm5FdUIsRTBGb0V4QjtFQU9IO0luRnBERSxxQkFBYTtJQUFiLHNCQUFhO0lBQWIscUJBQWE7SUFBYixjQUFhO0lBQ2Isb0JQdkIwQjtJT3VCMUIsdUJQdkIwQjtRT3VCMUIsbUJQdkIwQjtZT3VCMUIsZVB2QjBCO0lPd0IxQiwwQk8xQm1DO0lQMkJuQywwQkFBbUI7SUFBbkIsNEJBQW1CO1FBQW5CLHVCQUFtQjtZQUFuQixvQkFBbUI7SUFDbkIseUJBQXVCO0lBQXZCLGdDQUF1QjtRQUF2QixzQkFBdUI7WUFBdkIsd0JBQXVCO0lBQ3ZCLFVBQVM7SUFDVCwwQkFBaUI7T0FBakIsdUJBQWlCO1FBQWpCLHNCQUFpQjtZQUFqQixrQkFBaUI7SUFHZixrQkFBaUI7SUFDakIsWVBoQ3dCLEUwRmdGM0I7SW5GdkNDO01BQ0UsMEJPdkNpQyxFUHdDbEM7SUFFRDtNQUVFLDBCSXpDcUI7TUowQ3JCLFlJbERxQixFSm1EdEI7SWFqQk87TXNFMENWO1FBSUksY0FBYSxFQUVoQixFQUFBO0l0RTNDUztNc0VxQ1Y7UUFJSSxjQUFhLEVBRWhCLEVBQUE7SXRFM0NTO01zRXFDVjtRQUlJLGNBQWEsRUFFaEIsRUFBQTtFQU1EO0lBQ0UscUJBQWE7SUFBYixzQkFBYTtJQUFiLHFCQUFhO0lBQWIsY0FBYTtJQUNiLCtCQUFtQjtJQUFuQiw4QkFBbUI7SUFBbkIsNEJBQW1CO1FBQW5CLHdCQUFtQjtZQUFuQixvQkFBbUI7SUFDbkIsZUFBYztJQUNkLHVCQUFjO1FBQWQscUJBQWM7WUFBZCxlQUFjO0lBQ2QseUJBQWdCO1FBQWhCLDhCQUFnQjtZQUFoQixpQkFBZ0IsRUFnQmpCO0lBZEM7TUFDRSx1QkFBYztVQUFkLHFCQUFjO2NBQWQsZUFBYztNQUNkLHlCQUFnQjtVQUFoQiw4QkFBZ0I7Y0FBaEIsaUJBQWdCLEVBQ2pCO0lBRUQ7TUFDRSxxQkFBYTtNQUFiLHNCQUFhO01BQWIscUJBQWE7TUFBYixjQUFhO01BQ2IsNkJBQXNCO01BQXRCLDhCQUFzQjtNQUF0QiwrQkFBc0I7VUFBdEIsMkJBQXNCO2NBQXRCLHVCQUFzQjtNQUN0QixvQkFBYztNQUFkLHVCQUFjO1VBQWQsbUJBQWM7Y0FBZCxlQUFjLEVBQ2Y7SUFFRDtNQUNFLG1CQUFrQixFQUNuQjtFRTFHSDtJckZIRSxvQnFGSStCO0lyRkovQix1QnFGSStCO1FyRkovQixtQnFGSStCO1lyRkovQixlcUZJK0I7SXJGSC9CLHFCQUFhO0lBQWIsc0JBQWE7SUFBYixxQkFBYTtJQUFiLGNBQWE7SUFDYiw2QkFIdUU7SUFHdkUsOEJBSHVFO0lBR3ZFLCtCQUh1RTtRQUd2RSwyQkFIdUU7WUFHdkUsdUJBSHVFO0lxRk12RSwwQmpGSDZCLEVpRkk5QjtJckZGQztNQUNFLHVCQUFjO1VBQWQscUJBQWM7Y0FBZCxlQUFjLEVBQ2Y7RXFGRUg7SXJGUkUsb0JxRlMrQjtJckZUL0IsdUJxRlMrQjtRckZUL0IsbUJxRlMrQjtZckZUL0IsZXFGUytCO0lyRlIvQixxQkFBYTtJQUFiLHNCQUFhO0lBQWIscUJBQWE7SUFBYixjQUFhO0lBQ2IsNkJBSHVFO0lBR3ZFLDhCQUh1RTtJQUd2RSwrQkFIdUU7UUFHdkUsMkJBSHVFO1lBR3ZFLHVCQUh1RSxFcUZXeEU7SXJGTkM7TUFDRSx1QkFBYztVQUFkLHFCQUFjO2NBQWQsZUFBYyxFQUNmO0VxRk1IO0lBQ0UsYTVGWHlCLEU0RmlCMUI7SXhFcUJTO013RTVCVjtRckZaRSxvQnFGZ0JnQztRckZoQmhDLHNCcUZnQmdDO1lyRmhCaEMsa0JxRmdCZ0M7Z0JyRmhCaEMsY3FGZ0JnQztRckZmaEMscUJBQWE7UUFBYixzQkFBYTtRQUFiLHFCQUFhO1FBQWIsY0FBYTtRQUNiLDZCQUh1RTtRQUd2RSw4QkFIdUU7UUFHdkUsK0JBSHVFO1lBR3ZFLDJCQUh1RTtnQkFHdkUsdUJBSHVFO1FxRmtCckUsZUFBYyxFQUVqQjtRckZmQztVQUNFLHVCQUFjO2NBQWQscUJBQWM7a0JBQWQsZUFBYyxFQUNmLEVBQUE7SWFrQks7TXdFWlI7UXJGWkUsb0JxRmdCZ0M7UXJGaEJoQyxzQnFGZ0JnQztZckZoQmhDLGtCcUZnQmdDO2dCckZoQmhDLGNxRmdCZ0M7UXJGZmhDLHFCQUFhO1FBQWIsc0JBQWE7UUFBYixxQkFBYTtRQUFiLGNBQWE7UUFDYiw2QkFIdUU7UUFHdkUsOEJBSHVFO1FBR3ZFLCtCQUh1RTtZQUd2RSwyQkFIdUU7Z0JBR3ZFLHVCQUh1RTtRcUZrQnJFLGVBQWMsRUFFakI7UXJGZkM7VUFDRSx1QkFBYztjQUFkLHFCQUFjO2tCQUFkLGVBQWMsRUFDZixFQUFBO0VxRm1CSDs7SUFFRSxpQkFBZ0I7SUFDaEIsbUJBQWtCLEVBQ25CO0VBRUQ7SUFFRSxvQkFBbUIsRUFDcEI7RUFLRDtJQUNFLDRCQUFpQztJQUFFLE9BQU87SUFDMUMsMEJBQW9DO0lBQUUsT0FBTyxFQWU5QztJQWJDO01BQ0UsaUNqRm5DcUI7TWlGb0NyQixpQ0FBeUM7TUFDekMsMEJBQWtDLEVBU25DO01BUEM7UUFDRSxjQUFhLEVBQ2Q7TUFFRDtRQUNFLDhCQUE2QixFQUM5QjtFQU9MO0lBQ0UsdUJBQXFDO0lBQUUsT0FBTztJQUM5QywwQmpGcERzQixFaUZ5RHZCO0lBSEM7TUFDRSxxQ0FBa0U7TUFBRSxPQUFPLEVBQzVFO0VBR0g7SUFFRSxrQjVGekVnQixFNEYwRWpCO0VDeEVEO0l0RkRFLG9CQURtRDtJQUNuRCx1QkFEbUQ7UUFDbkQsbUJBRG1EO1lBQ25ELGVBRG1EO0lBRW5ELHFCQUFhO0lBQWIsc0JBQWE7SUFBYixxQkFBYTtJQUFiLGNBQWE7SUFDYiw2QkFIdUU7SUFHdkUsOEJBSHVFO0lBR3ZFLCtCQUh1RTtRQUd2RSwyQkFIdUU7WUFHdkUsdUJBSHVFO0lzRkl2RSxZQUFXO0lBQ1gsZ0JBQWU7SUFHZix5QkFBZ0I7UUFBaEIsOEJBQWdCO1lBQWhCLGlCQUFnQixFQUNqQjtJdEZKQztNQUNFLHVCQUFjO1VBQWQscUJBQWM7Y0FBZCxlQUFjLEVBQ2Y7RXNGUUg7SUFDRSxxQkFBYTtJQUFiLHNCQUFhO0lBQWIscUJBQWE7SUFBYixjQUFhO0lBQ2IsMEJBQW1CO0lBQW5CLDRCQUFtQjtRQUFuQix1QkFBbUI7WUFBbkIsb0JBQW1CO0lBQ25CLG9CQUFjO0lBQWQsdUJBQWM7UUFBZCxtQkFBYztZQUFkLGVBQWM7SUFDZCxtQjdGaEJ5QixFNkZpQjFCO0VBRUQ7SUFDRSxvQkFBYztJQUFkLHVCQUFjO1FBQWQsbUJBQWM7WUFBZCxlQUFjO0lBQ2Qsa0I3RnJCeUI7STZGc0J6QixnQjdGcEIwQjtJNkZxQjFCLGlCN0ZyQjBCO0k2RnNCMUIsbUJBQWtCLEVBQ25CO0VBRUQ7SUFDRSxvQkFBYztJQUFkLHVCQUFjO1FBQWQsbUJBQWM7WUFBZCxlQUFjO0lBQ2QsaUJ6RnlCeUI7SWU4RHpCLGdCQUFlO0lBQUUsT0FBTztJQUN4Qiw0QkFBMkI7SUFDM0IsbUNBQWtDO0lBQ2xDLCtCQUE4QjtJQUM5Qiw2QkFBNEI7SUFBRSxPQUFPLEUwRXpGdEM7RUFFRDtJQUNFLG9CQUFZO0lBQVoscUJBQVk7UUFBWixxQkFBWTtZQUFaLGFBQVksRUFDYjtFQUVEO0lBQ0Usb0JBQVc7SUFBWCxvQkFBVztRQUFYLGtCQUFXO1lBQVgsWUFBVztJQUNYLGlCekZZeUI7SXlGWHpCLG1CN0Z4Q3lCO0k2RnlDekIsa0I3RjFDMEI7SW1CcUgxQixnQkFBZTtJQUFFLE9BQU87SUFDeEIsNEJBQTJCO0lBQzNCLG1DQUFrQztJQUNsQywrQkFBOEI7SUFDOUIsNkJBQTRCO0lBQUUsT0FBTyxFMEU3RXRDO0VBRUQ7SUFDRSxlbEZyQ3NCO0lrRnNDdEIsaUJ6Rk95QixFeUZOMUI7RUFFRDtJQUNFLG9CQUFjO0lBQWQsdUJBQWM7UUFBZCxtQkFBYztZQUFkLGVBQWMsRUFDZjtFQU9DO0lBQ0UscUJBQTBFLEVBSzNFO0lBSEM7TUFDRSxpQkFBZ0IsRUFDakI7RUFJTDtJQUNFLHFCQUFhO0lBQWIsc0JBQWE7SUFBYixxQkFBYTtJQUFiLGNBQWEsRUFVZDtJQVJDO01BQ0Usb0JBQWM7TUFBZCx1QkFBYztVQUFkLG1CQUFjO2NBQWQsZUFBYztNQUNkLGtCN0Z6RXVCLEU2RjhFeEI7TUFIQztRQUNFLGtCQUFpQixFQUNsQjtFQU9MO0lBQ0UsK0JBQXNCO0lBQXRCLCtCQUFzQjtRQUF0Qiw2QkFBc0I7WUFBdEIsdUJBQXNCO0lBQUUsT0FBTyxFQUNoQztFQUVEO0lBQ0UsMkJBQWtCO1FBQWxCLDRCQUFrQjtZQUFsQixtQkFBa0I7SUFDbEIsa0I3RjFGeUI7SUlVekIsZ0JEUnNCO0lDU3RCLGdCQVBxQztJZWdFckMsaUJmdkJxQixFeUYrQ3RCO0VBRUQ7SUFDRSxrQkFBaUI7SUFDakIsbUJsRi9GdUI7SWtGZ0d2QixtQnZGOUZtQjtJdUYrRm5CLDhCQUE2QjtJQUM3QixjQUF3QztJQUN4QyxhN0ZwR3lCLEU2RnFHMUI7RUN4R0Q7SUFDRSx5QkFBd0I7SUFDeEIsYzlGRTBCO0k4RkQxQixtQnhGR21CO0l3RkZuQixtQjlGRHlCO0k4RkV6QixpQm5GSHVCLEVtRkl4QjtFQUVEO0kxRktFLGtCREhzRDtJQ0l0RCxzQkFQcUM7SWUwRXJDLGlCZmpDcUI7STBGdENyQiw4QkFBd0Q7SUFDeEQsd0JBQXVCO0lBQ3ZCLDJCQUEwQixFQUMzQjtFQUVEO0lBRUUsZW5GWHlCLEVtRlkxQjtFQ2xCRDtJQUNFLGNBQXdDO0lBQ3hDLGEvRkN5QjtJK0ZBekIsbUJBQWtCO0lBTWxCLGVqRlBtQztJaUZRbkMsMEJqRkhtQyxFaUZJcEM7RUNOQztJN0VrSEEsZ0JBQWU7SUFBRSxPQUFPO0lBQ3hCLDRCQUEyQjtJQUMzQixtQ0FBa0M7SUFDbEMsK0JBQThCO0lBQzlCLDZCQUE0QjtJQUFFLE9BQU8sRTZFcEhwQztFQUtHO0lBQ0Usc0JyRkRnQjtJcUZDZSxPQUFPLEVBQ3ZDO0VDTlA7SW5DUUUsMEhuREN3QjtZbUREeEIsa0huREN3QixFc0ZQekI7RUFFRDtJQUNFLGlCdEZYdUI7SXNGY3ZCLDBCQUF5QjtJQUN6QiwyQkFBMEIsRUFDM0I7RUFHQztJQUNFLGtCakduQnVCO0lpR29CdkIsb0JBQW1CLEVBQ3BCO0VBU0Q7SUFDRSx1QnRGOUJxQjtJc0Y4QnlELE9BQU87SUFDckYsc0J0RjFCeUI7SXNGMEJrRCxPQUFPO0lBQ2xGLFl0RnZCZTtJc0Z1Qk8sT0FBTyxFQUM5QjtFQUdIO0lBQ0UsNjFDQUEyQztJQUFFLE9BQU8sRUFDckQ7RUFFRDtJQUNFLFdBQVU7SUFDVixVQUFTO0k3RmpDVCxnQjZGa0NzQjtJN0ZqQ3RCLHNCQVBxQztJNkZ5Q3JDLDZIOUYvQzZIO0k4RmdEN0gsaUI5RmpDeUI7SThGa0N6QixpQjdGRnFCLEU2RlN0QjtJQUxDO01BQ0UsaUI5RnJDdUI7TThGc0N2QixVQUFTO01BQ1QsV0FBVSxFQUNYO0VBSUg7SUFDRSxVQUFTO0lBQ1QsV0FBVTtJQUNWLG9CbkZ4RG1DO0ltRnlEbkMsWS9GMURrQjtJK0YyRGxCLDhCQUEwQyxFQUMzQztFQUVEO0lBQ0UscUJBQW9CLEVBQ3JCO0VBRUQ7SUFDRSxVQUFTO0k3RjVEVCxnQkRMc0Q7SUNNdEQsZ0JBUHFDO0llMkRyQyxpQmZsQnFCO0k2RjJCckIsaUI3RnJCeUI7STZGc0J6QixzQkFBcUI7SUFDckIsaUJBQWdCO0lBQ2hCLHFCQUFvQixFQWVyQjtJQWJDO01BQ0Usa0JBQTZCLEVBQzlCO0lBRUQ7TUFDRSxtQmpHbEZ1QixFaUdtRnhCO0lBR0M7TUFDRSxhakd4RnNCLEVpR3lGdkI7RUFJTDs7O0lBR0UseUJBQXdCLEVBQ3pCO0VBRUQ7SUFDRSx3Q0FBeUQ7SUFDekQsZXRGakd5QixFc0Z1RzFCO0lBSEM7TUFDRSxnQkFBZSxFQUNoQjtFQUdIO0lBQ0UsdUJ0RjVHdUI7SXNGNkd2QixZdEZ6R3NCLEVzRjBHdkI7RUFJRDtJQUlJLHdEQUErQztZQUEvQyxnREFBK0MsRUFFbEQ7RUFFRDtJQUNFLHFCQUFZO1lBQVosYUFBWSxFQUNiO0VDaElEO0k5RmFFLGdCOEZac0I7STlGYXRCLHNCQVBxQztJMERTckMsMEhuREN3QjtZbUREeEIsa0huREN3QjtJdUZkeEIsNkgvRkY2SDtJK0ZHN0gsaUIvRll5QjtJK0ZYekIsaUI5RjJDcUI7SThGMUNyQixldkZBeUI7SXVGQ3pCLGFsR0p5QjtJa0dLekIsa0NBQW1EO0lBQ25ELG1CNUZIbUIsRTRGYXBCO0lBUkM7TW5GVkEsWW1GVytCO01uRlYvQixhbUZVK0I7TUFDN0Isc0JBQXFCO01BQ3JCLG9CQUEwQjtNQUMxQixtQkFBa0I7TUFDbEIsMEJ2RlZ1QjtNdUZXdkIsb0J2Rlh1QixFdUZZeEI7RUFHSDtJQUNFLGlCOUZtQ3lCLEU4RmxDMUI7RUFLRDtJQUNFLG1CQUFrQjtJQUNsQixXbEd2QjBCO0lrR3dCMUIsb0JBQW1CLEVBQ3BCO0VDaENEO0lBQ0Usb0JBQVc7SUFBWCxvQkFBVztRQUFYLGtCQUFXO1lBQVgsWUFBVztJQUNYLHFCQUFhO0lBQWIsc0JBQWE7SUFBYixxQkFBYTtJQUFiLGNBQWE7SUFDYiwrQkFBbUI7SUFBbkIsOEJBQW1CO0lBQW5CLDRCQUFtQjtRQUFuQix3QkFBbUI7WUFBbkIsb0JBQW1CO0lBQ25CLGVBQWMsRUFjZjtJQVpDO01BQ0UsK0JBQTJCO01BQTNCLCtCQUEyQjtNQUEzQixvQ0FBMkI7VUFBM0IsZ0NBQTJCO2NBQTNCLDRCQUEyQixFQUM1QjtJQUNEO01BQ0UsK0JBQW1CO01BQW5CLDhCQUFtQjtNQUFuQiw0QkFBbUI7VUFBbkIsd0JBQW1CO2NBQW5CLG9CQUFtQixFQUNwQjtJQUNEO01BQ0UsNkJBQThCO01BQTlCLCtCQUE4QjtNQUE5Qix1Q0FBOEI7VUFBOUIsbUNBQThCO2NBQTlCLCtCQUE4QixFQUMvQjtJQUNEO01BQ0UsNkJBQXNCO01BQXRCLDhCQUFzQjtNQUF0QiwrQkFBc0I7VUFBdEIsMkJBQXNCO2NBQXRCLHVCQUFzQixFQUN2QjtFQUdIO0lBQ0UscUJBQWE7SUFBYixzQkFBYTtJQUFiLHFCQUFhO0lBQWIsY0FBYTtJQUNiLG9CQUFjO0lBQWQsdUJBQWM7UUFBZCxtQkFBYztZQUFkLGVBQWM7SUFDZCxjQUFhO0lBQ2IsYUFBWSxFQUNiO0VDakJEO0lBQ0UsK0JBQXNCO1FBQXRCLDJCQUFzQjtZQUF0Qix1QkFBc0I7SUFFdEIsMkNBQWdDLEVBQ2pDO0VBRUQ7SWhHREUsa0JETnNEO0lDT3RELHNCQVBxQztJZXNEckMsaUJmYnFCO0lnR2hDckIscUJBQWE7SUFBYixzQkFBYTtJQUFiLHFCQUFhO0lBQWIsY0FBYTtJQUNiLCtCQUFtQjtJQUFuQiw4QkFBbUI7SUFBbkIsNEJBQW1CO1FBQW5CLHdCQUFtQjtZQUFuQixvQkFBbUI7SUFDbkIsZUFBcUI7SUFDckIsY0FBYTtJQUNiLGFBQVksRUFDYjtFQUdEO0lBQ0UsK0JBQTJCO0lBQTNCLCtCQUEyQjtJQUEzQixvQ0FBMkI7UUFBM0IsZ0NBQTJCO1lBQTNCLDRCQUEyQixFQUM1QjtFQUVEO0lBQ0UsK0JBQW1CO0lBQW5CLDhCQUFtQjtJQUFuQiw0QkFBbUI7UUFBbkIsd0JBQW1CO1lBQW5CLG9CQUFtQixFQUNwQjtFQUVEO0lBQ0UsNkJBQThCO0lBQTlCLCtCQUE4QjtJQUE5Qix1Q0FBOEI7UUFBOUIsbUNBQThCO1lBQTlCLCtCQUE4QjtJQUM5QixZQUFXO0lBQ1gsbUJwRzlCMEIsRW9HK0IzQjtFQUVEO0lBQ0UsNkJBQXNCO0lBQXRCLDhCQUFzQjtJQUF0QiwrQkFBc0I7UUFBdEIsMkJBQXNCO1lBQXRCLHVCQUFzQjtJQUN0QixZQUFXO0lBQ1gsbUJwR3BDMEIsRW9HcUMzQjtFQU9EO0lBQ0UscUJBQWE7SUFBYixzQkFBYTtJQUFiLHFCQUFhO0lBQWIsY0FBYTtJQUNiLGtCcEduRGdCO0lvR3FEaEIsYUFqRG9CO0lBa0RwQixvQkFBYztJQUFkLHVCQUFjO1FBQWQsbUJBQWM7WUFBZCxlQUFjO0lBQ2QsNkJBQXNCO0lBQXRCLDhCQUFzQjtJQUF0QiwrQkFBc0I7UUFBdEIsMkJBQXNCO1lBQXRCLHVCQUFzQjtJQUN0QixjQUFhO0lBQ2IsbUJBQWtCO0lBQ2xCLGlCQUFnQixFQUtqQjtJQUhDO01BQ0UsbUJBQWtCLEVBQ25CO0VBR0g7O0lBRUUsWUFBVztJQUNYLCtCQUFtQjtJQUFuQiw4QkFBbUI7SUFBbkIsNEJBQW1CO1FBQW5CLHdCQUFtQjtZQUFuQixvQkFBbUI7SUFDbkIsd0JBQWU7UUFBZixvQkFBZTtZQUFmLGdCQUFlO0lBQ2Ysa0JBQWlCO0lBQUUsT0FBTyxFQU0zQjtJQUpDOztNQUNFLG9CQUFZO01BQVoscUJBQVk7VUFBWixxQkFBWTtjQUFaLGFBQVk7TUFDWixpQkF0RWtCLEVBdUVuQjtFQUdIO0lBQ0UsZ0JBQWU7SUFDZixhcEc5RTBCO0lvRytFMUIscUJBQWE7SUFBYixzQkFBYTtJQUFiLHFCQUFhO0lBQWIsY0FBYTtJQUNiLHVCQUFjO1FBQWQscUJBQWM7WUFBZCxlQUFjO0lBQ2QsbUJBQWtCO0lBQUUsT0FBTyxFQVM1QjtJQVBDO01BQ0UsWUFBVyxFQUNaO0lBRUQ7TUFDRSxhQUFZLEVBQ2I7RUFHSDtJakZ5QkUsZ0JBQWU7SUFBRSxPQUFPO0lBQ3hCLDRCQUEyQjtJQUMzQixtQ0FBa0M7SUFDbEMsK0JBQThCO0lBQzlCLDZCQUE0QjtJQUFFLE9BQU87SWlGM0JyQyxnQ2hDOUZtRCxFZ0NtR3BEO0lBSEM7TUFDRSwyQkFBMEIsRUFDM0I7RUFHSDtJQUNFLFdBQVU7SUFBRSxPQUFPLEVBQ3BCO0VBRUQ7SUFDRSx1QnpGMUd1QixFeUYyR3hCO0VBRUQ7O0lBRUUsZ0JwRy9HMEI7SW9HZ0gxQixpQ2xHbEcwQixFa0dtRzNCO0VBRUQ7O0l0Q3JHRSwwSG5EQW1CO1ltREFuQixrSG5EQW1CO0l5RndHbkIsbUJBQWtCO0lBQUUsT0FBTztJQUMzQixtQjlGbkhtQixFOEZvSHBCO0VBRUQ7SUFDRSxhQUE2QyxFQUM5QztFQUVEO0lBQ0UsZ0JwRy9IMEIsRW9HZ0kzQjtFQUVEO0lBQ0UsYUFoSWtDO0lBaUlsQyxhQUFZLEVBY2I7SUFaQztNQUtHLFlBSG9DO01BSXJDLFlBSCtGLEVBUWhHO01BSEM7UUFDRSw4QkFBcUI7Z0JBQXJCLHNCQUFxQixFQUN0QjtFbkNqSkw7SUFDRSxtQkFBa0I7SUFDbEIsWUFBd0I7SUFDeEIsUUFBTztJQUNQLFNBQVE7SUFDUixpQkFBZ0I7SUFDaEIsV0FBVTtJQUVWLHFDQUE0QjtJQUE1Qiw2QkFBNEI7SUFDNUIsK0JaTDBCO1lZSzFCLHVCWkwwQjtJWU0xQixrQ1pOMEI7WVlNMUIsMEJaTjBCLEVZTzNCO0VBRUQ7SUFDRSxVQUFTO0lBQ1QsZWpFYnlCO0lpRWN6QixvQkFBYztJQUFkLHVCQUFjO1FBQWQsbUJBQWM7WUFBZCxlQUFjO0lBQ2QsMkJBQWtCO1FBQWxCLDRCQUFrQjtZQUFsQixtQkFBa0IsRUFDbkI7RUFFRDtJQUNFLG9CQUFjO0lBQWQsdUJBQWM7UUFBZCxtQkFBYztZQUFkLGVBQWM7SUFDZCxVQUFTO0lBQ1QsV0FBVSxFQUNYO0VBRUQ7SUFDRSxnQkFBZSxFQUNoQjtFQUVEO0lBQ0Usa0JqRTdCeUI7SWlFOEJ6Qix5QmpFL0IwQjtJaUVnQzFCLHFCQUFhO0lBQWIsc0JBQWE7SUFBYixxQkFBYTtJQUFiLGNBQWEsRUFDZDtFQVlDO0lBSUUsMEJuRDVDaUM7SW1ENkNqQyxlbkRsRGlDLEVtRG1EbEM7RUFORDtJQUlFLDBCbkQ1Q2lDO0ltRDZDakMsZW5EbERpQyxFbURtRGxDO0VBTkQ7SUFJRSwwQm5ENUNpQztJbUQ2Q2pDLGVuRGxEaUMsRW1EbURsQztFQU5EO0lBSUUsMEJuRDVDaUM7SW1ENkNqQyxlbkRsRGlDLEVtRG1EbEM7RUNyREg7SUFDRSxvQkFBVztJQUFYLG9CQUFXO1FBQVgsa0JBQVc7WUFBWCxZQUFXO0lBQ1gscUJBQWE7SUFBYixzQkFBYTtJQUFiLHFCQUFhO0lBQWIsY0FBYTtJQUNiLDBCQUFtQjtJQUFuQiw0QkFBbUI7UUFBbkIsdUJBQW1CO1lBQW5CLG9CQUFtQjtJQUNuQix5QkFBdUI7SUFBdkIsZ0NBQXVCO1FBQXZCLHNCQUF1QjtZQUF2Qix3QkFBdUIsRUFVeEI7SUFQQztNQUFPLCtCQUFzQjtVQUF0QiwyQkFBc0I7Y0FBdEIsdUJBQXNCLEVBQUk7SUFDakM7TUFBVSw2QkFBb0I7VUFBcEIseUJBQW9CO2NBQXBCLHFCQUFvQixFQUFJO0lBRWxDO01BQ0UsZ0JBQWU7TTlERWpCLGtCREhzRDtNQ0l0RCxzQkFQcUM7TWUwRXJDLGlCZmpDcUIsRThEbkNwQjtFQUlIO0lBQ0UsZ0JBQWU7SUFDZixpQkFBZ0IsRUFDakI7RUNPRDtJQUNFLHFCQUFhO0lBQWIsc0JBQWE7SUFBYixxQkFBYTtJQUFiLGNBQWE7SUFDYixvQkFBYztJQUFkLHVCQUFjO1FBQWQsbUJBQWM7WUFBZCxlQUFjO0lBQ2QsK0JBQW1CO0lBQW5CLDhCQUFtQjtJQUFuQiw0QkFBbUI7UUFBbkIsd0JBQW1CO1lBQW5CLG9CQUFtQjtJQUNuQixjQUFhO0lBQ2IsYUFBWTtJQUNaLGlCQUFnQjtJQUNoQixnQkFBNEIsRUFDN0I7RUFFRDtJQUNFLHFCQUFhO0lBQWIsc0JBQWE7SUFBYixxQkFBYTtJQUFiLGNBQWE7SUFDYixvQkFBYTtJQUFiLHNCQUFhO1FBQWIsa0JBQWE7WUFBYixjQUFhO0lBQ2IsNkJBQXNCO0lBQXRCLDhCQUFzQjtJQUF0QiwrQkFBc0I7UUFBdEIsMkJBQXNCO1lBQXRCLHVCQUFzQjtJQUN0QixjQUFhO0lBQ2IsYUFBWSxFQUNiO0VBRUQ7SUFDRSxxQkFBYTtJQUFiLHNCQUFhO0lBQWIscUJBQWE7SUFBYixjQUFhO0lBQ2Isb0JBQWM7SUFBZCx1QkFBYztRQUFkLG1CQUFjO1lBQWQsZUFBYztJQUNkLCtCQUFtQjtJQUFuQiw4QkFBbUI7SUFBbkIsNEJBQW1CO1FBQW5CLHdCQUFtQjtZQUFuQixvQkFBbUI7SUFDbkIsY0FBYTtJQUNiLGFBQVksRUFNYjtJQUpDO01BQ0UsZ0JBQWU7TUFDZixtQkFBa0IsRUFDbkI7RUFHSDtJQUNFLHFCQUFhO0lBQWIsc0JBQWE7SUFBYixxQkFBYTtJQUFiLGNBQWE7SUFDYiw2QkFBc0I7SUFBdEIsOEJBQXNCO0lBQXRCLCtCQUFzQjtRQUF0QiwyQkFBc0I7WUFBdEIsdUJBQXNCO0lBQ3RCLG9CQUFjO0lBQWQsdUJBQWM7UUFBZCxtQkFBYztZQUFkLGVBQWM7SUFDZCxjQUFhO0lBQ2IsYUFBWSxFQU1iO0lBSkM7TUFDRSxpQkFBZ0I7TUFDaEIsa0JBQWlCLEVBQ2xCO0VBR0g7SUFDRSxxQkFBYTtJQUFiLHNCQUFhO0lBQWIscUJBQWE7SUFBYixjQUFhO0lBQ2Isb0JBQWE7SUFBYixzQkFBYTtRQUFiLGtCQUFhO1lBQWIsY0FBYTtJQUNiLGtCQUFpQjtJQUNqQixZQUFXO0lBQ1gsY0FBYTtJQUNiLGFBQVksRUFDYjtFQUVEO0lBQ0UsbUJBQWtCLEVBQ25CO0VBSUQ7SUFDRSxvQkFBbUIsRUFDcEI7RUFJRDs7SUFFRSxxQkFBYTtJQUFiLHNCQUFhO0lBQWIscUJBQWE7SUFBYixjQUFhO0lBQ2IsNkJBQXNCO0lBQXRCLDhCQUFzQjtJQUF0QiwrQkFBc0I7UUFBdEIsMkJBQXNCO1lBQXRCLHVCQUFzQjtJQUN0QixjQUFhO0lBQ2IsYUFBWSxFQUNiO0VBRUQ7SUFDRSxrQkFBaUIsRUFDbEI7RUFFRDtJQUNFLGdCQUFlLEVBQ2hCO0VBRUQ7SUFDRSxxQkFBYTtJQUFiLHNCQUFhO0lBQWIscUJBQWE7SUFBYixjQUFhO0lBQ2IsK0JBQW1CO0lBQW5CLDhCQUFtQjtJQUFuQiw0QkFBbUI7UUFBbkIsd0JBQW1CO1lBQW5CLG9CQUFtQjtJQUNuQixvQkFBbUM7SUFBbkMsdUJBQW1DO1FBQW5DLG1CQUFtQztZQUFuQyxlQUFtQztJQUNuQyxjQUFhO0lBQ2IsYUFBWSxFQUNiO0VBRUQ7SUFDRSxxQkFBYTtJQUFiLHNCQUFhO0lBQWIscUJBQWE7SUFBYixjQUFhO0lBQ2IsNkJBQXNCO0lBQXRCLDhCQUFzQjtJQUF0QiwrQkFBc0I7UUFBdEIsMkJBQXNCO1lBQXRCLHVCQUFzQjtJQUN0QixpQm5FbkgwQjtJbUVvSDFCLGFBQVksRUFDYjtFQUVEO0lBQ0UscUJBQWE7SUFBYixzQkFBYTtJQUFiLHFCQUFhO0lBQWIsY0FBYTtJQUNiLCtCQUFtQjtJQUFuQiw4QkFBbUI7SUFBbkIsNEJBQW1CO1FBQW5CLHdCQUFtQjtZQUFuQixvQkFBbUI7SUFDbkIsZ0JBQWU7SUFDZixpQm5FL0hnQjtJbUVnSWhCLGdCbkVoSWdCLEVtRWlJakI7RUFFRDs7SUFFRSxxQkFBYTtJQUFiLHNCQUFhO0lBQWIscUJBQWE7SUFBYixjQUFhO0lBQ2IsNkJBQXNCO0lBQXRCLDhCQUFzQjtJQUF0QiwrQkFBc0I7UUFBdEIsMkJBQXNCO1lBQXRCLHVCQUFzQjtJQUN0QixpQkFBbUM7SUFDbkMsYUFBWSxFQUNiO0VBRUQ7SUFDRSwrQkFBbUI7SUFBbkIsOEJBQW1CO0lBQW5CLDRCQUFtQjtRQUFuQix3QkFBbUI7WUFBbkIsb0JBQW1CO0lBQ25CLGNBQWEsRUFDZDtFQW5IRDtJQW1RRSxtQkFBbUIsRUE2Q3BCO0lBOUtDO01BQ0Usa0JBQWlCLEVBQ2xCO0lBR0Q7TUFDRSxXQUFVLEVBS1g7TUFIQztRQUNFLGFBQVksRUFDYjtJQUdIO01BQ0UsV0FBVSxFQU9YO01BTEM7UUFDRSxXQUFVO1FBQ1Ysa0JuRTVLcUI7UW1FNktyQixvQkFBbUIsRUFDcEI7SUFHSDtNQUNFLFdBQVU7TUFDVixrQkFBaUI7TUFDakIsaUNDdExpRCxFRHVMbEQ7SUFFRDtNL0Q3S0Esa0JETnNEO01DT3RELHNCQVBxQztNK0RxTG5DLGlCL0R0SXVCLEUrRHVJeEI7SUFFRDtNQUNFLG9CbkUzTHdCO01tRTJMeEIsdUJuRTNMd0I7VW1FMkx4QixtQm5FM0x3QjtjbUUyTHhCLGVuRTNMd0I7TW1FNEx4QixlQUFjO01BQ2QsaUJuRTlMd0I7TW1FK0x4QixjQUE0QixFQUM3QjtJQUVEO01BQ0UsZ0JBQWU7TUFDZixlQUFjO01BQ2QsZ0JBQThCO01BQzlCLFlBQVcsRUFLWjtNQUhDO1FBQ0UsWUFBVztRQUFFLDhGQUE4RixFQUM1RztJQUdIO00vRHBNQSxrQitEcU13QztNL0RwTXhDLHNCQVBxQztNK0Q0TW5DLCtCQ2hOa0QsRURpTm5EO0lBRUQ7TS9Eek1BLGtCRE5zRDtNQ090RCxzQkFQcUM7TStEaU5uQyxpQi9EL0p1QjtNK0RnS3ZCLCtCQ3ZOaUQsRUR3TmxEO0lBRUQ7TUFDRSxpQkFBNkI7TUFDN0IsZUFBYyxFQUNmO0lBRUQ7TUFDRSxnQm5FbE9jLEVtRW1PZjtJQUVEO01BQ0Usb0JBQWM7TUFBZCx1QkFBYztVQUFkLG1CQUFjO2NBQWQsZUFBYztNQUNkLGlCQUE2QjtNQUM3QixnQkFBNEIsRUFNN0I7TUFKQztRL0Q3TkYsa0IrRDhOMEM7US9EN04xQyxzQkFQcUM7UStEcU9qQywrQkMxTytDLEVEMk9oRDtJQUdIO01BQ0Usb0JBQWM7TUFBZCx1QkFBYztVQUFkLG1CQUFjO2NBQWQsZUFBYztNQUNkLGNBQWE7TUFDYixhQUFZO01BQ1osa0JBQWlCLEVBS2xCO01BSEM7UUFDRSxlQUFjLEVBQ2Y7SUFHSDs7TUFFRSxvQkFBYztNQUFkLHVCQUFjO1VBQWQsbUJBQWM7Y0FBZCxlQUFjO01BQ2QsY0FBYTtNQUNiLGFBQVksRUFDYjtJQUdEO01BQ0UsZ0JBQWU7TUFDZixpQkFDRixFQUFDO0lBRUQ7TUFDRSxtQkFBa0I7TUFDbEIsa0JBQWlCLEVBQ2xCO0lBRUQ7TUFDRSw0QkFBMkI7TUFDM0Isa0JBQWlCLEVBT2xCO01BTEM7UUFDRSxnQmpFbFFzQjtRaUVtUXRCLFdBQVU7UUFDViw0QkFBMkIsRUFDNUI7SUFHSDs7O01BR0UsK0JDeFJrRCxFRHlSbkQ7SUFHRDtNQUNFLDRCQUEyQjtNQUMzQiwrQkM3UjRELEVEOFI3RDtJQUVEO01BQ0UsYUFBWSxFQUNiO0lBRUQ7O01BRUUsa0JBQWlCO01BQ2pCLGtCQUFpQjtNQUNqQixnQkFBZSxFQUNoQjtJQUVEO01BQ0Usd0JBQXVCLEVBQ3hCO0lBRUQ7TUFDRSxrQkFBMEI7TUFDMUIsYXhEblRxQixFd0R3VHRCO01BSEM7UUFDRSxhQUNGLEVBQUM7SUFJRDtNQUNFLFdBQVUsRUFNWDtNQUpDO1FBQ0Usa0JuRTlUbUI7UW1FK1RuQixvQkFBbUIsRUFDcEI7SUFJTDtNQUNFLHFCQUFvQjtNQUNwQiwrQkNyVTRELEVEc1U3RCIsImZpbGUiOiJ0by5jc3MifQ== */ \ No newline at end of file diff --git a/services/meta/os-dashboards/kibana-kaapana/docker/files/replace_files/loading.png b/services/meta/os-dashboards/kibana-kaapana/docker/files/replace_files/loading.png new file mode 100644 index 00000000..e025a286 Binary files /dev/null and b/services/meta/os-dashboards/kibana-kaapana/docker/files/replace_files/loading.png differ diff --git a/services/meta/os-dashboards/kibana-kaapana/docker/files/replace_files/logo.png b/services/meta/os-dashboards/kibana-kaapana/docker/files/replace_files/logo.png new file mode 100644 index 00000000..a71fc91e Binary files /dev/null and b/services/meta/os-dashboards/kibana-kaapana/docker/files/replace_files/logo.png differ diff --git a/services/meta/os-dashboards/kibana-kaapana/docker/files/replace_files/ui_app.pug b/services/meta/os-dashboards/kibana-kaapana/docker/files/replace_files/ui_app.pug new file mode 100644 index 00000000..94ea4a49 --- /dev/null +++ b/services/meta/os-dashboards/kibana-kaapana/docker/files/replace_files/ui_app.pug @@ -0,0 +1,140 @@ +extends ./chrome + +block content + style. + * { + box-sizing: border-box; + } + + body, html { + width: 100%; + height: 100%; + margin: 0; + background-color: #F5F7FA; + } + .kibanaWelcomeView { + background-color: #F5F7FA; + } + + .kibanaWelcomeTitle { + color: #000; + font-size: 20px; + font-family: Sans-serif; + margin-top: 20px; + animation: fadeIn 1s ease-in-out; + animation-fill-mode: forwards; + opacity: 0; + animation-delay: 1.0s; + } + + .kibanaWelcomeText { + font-size: 14px; + font-family: Sans-serif; + color: #343741; + animation: fadeIn 1s ease-in-out; + animation-fill-mode: forwards; + opacity: 0; + animation-delay: 1.0s; + } + + .kibanaLoaderWrap { + height: 128px; + width: 128px; + position: relative; + margin-top: 40px; + } + + .kibanaLoaderWrap + * { + margin-top: 24px; + } + + .kibanaLoader { + height: 128px; + width: 128px; + margin: 0 auto; + position: relative; + border: 2px solid transparent; + border-top: 2px solid #017D73; + border-radius: 100%; + display: block; + opacity: 0; + animation: rotation .75s .5s infinite linear, fadeIn 1s .5s ease-in-out forwards; + } + + .kibanaWelcomeLogoCircle { + position: absolute; + left: 4px; + top: 4px; + width: 120px; + height: 120px; + padding: 20px; + background-color: #FFF; + border-radius: 50%; + animation: bounceIn .5s ease-in-out; + } + + .kibanaWelcomeLogo { + background-image: url("data:image/png;base64,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"); + background-repeat: no-repeat; + background-size: contain; + width: 60px; + height: 60px; + margin: 10px 0px 10px 10px; + } + + @keyframes rotation { + from { + transform: rotate(0deg); + } + to { + transform: rotate(359deg); + } + } + @keyframes fadeIn { + from { + opacity: 0; + } + to { + opacity: 1; + } + } + + @keyframes bounceIn { + 0% { + opacity: 0; + transform: scale(.1); + } + 80% { + opacity: .5; + transform: scale(1.2); + } + 100% { + opacity: 1; + transform: scale(1); + } + } + + .kibanaWelcomeView(id="kbn_loading_message", style="display: none;") + .kibanaLoaderWrap + .kibanaLoader + .kibanaWelcomeLogoCircle + .kibanaWelcomeLogo + .kibanaWelcomeText(data-error-message=i18n('common.ui.welcomeErrorMessage', { defaultMessage: 'META did not load properly. Check the server output for more information.' })) + | #{i18n('common.ui.welcomeMessage', { defaultMessage: 'Loading META' })} + + .kibanaWelcomeView(id="kbn_legacy_browser_error", style="display: none;") + .kibanaLoaderWrap + .kibanaWelcomeLogoCircle + .kibanaWelcomeLogo + h2.kibanaWelcomeTitle + | #{i18n('common.ui.legacyBrowserTitle', { defaultMessage: 'Please upgrade your browser' })} + .kibanaWelcomeText + | #{i18n('common.ui.legacyBrowserMessage', { defaultMessage: 'This Kibana installation has strict security requirements enabled that your current browser does not meet.' })} + + script. + // Since this script tag does not contain a nonce, this code will not run + // in browsers that support content security policy(CSP). This is + // intentional as we check for the existence of __kbnCspNotEnforced__ in + // bootstrap. + window.__kbnCspNotEnforced__ = true; + script(src=bootstrapScriptUrl, nonce=nonce) diff --git a/services/meta/os-dashboards/kibana-kaapana/docker/files/workflow_trigger-0.0.1.zip b/services/meta/os-dashboards/kibana-kaapana/docker/files/workflow_trigger-0.0.1.zip new file mode 100644 index 00000000..ce30193f Binary files /dev/null and b/services/meta/os-dashboards/kibana-kaapana/docker/files/workflow_trigger-0.0.1.zip differ diff --git a/services/meta/os-dashboards/kibana-kaapana/docker/scripted_fields_save.txt b/services/meta/os-dashboards/kibana-kaapana/docker/scripted_fields_save.txt new file mode 100644 index 00000000..5ee0cd6a --- /dev/null +++ b/services/meta/os-dashboards/kibana-kaapana/docker/scripted_fields_save.txt @@ -0,0 +1,4 @@ +def patient_key=doc['00100020 PatientID_keyword.keyword'].value; if (patient_key != null) { int index = patient_key.indexOf('-'); if (index > 0) { return patient_key.substring(0, index); }else{ return "DKFZ"; } } return "OTHER"; + +def voxel_count=doc['radiomics_object.FirstOrder No. of Voxel_float'].value; def volume_voxel=doc['radiomics_object.FirstOrder Voxel Volume_float'].value; return volume_voxel * voxel_count +Number diff --git a/services/meta/os-dashboards/kibana-kaapana/os-dashboards-chart/.helmignore b/services/meta/os-dashboards/kibana-kaapana/os-dashboards-chart/.helmignore new file mode 100644 index 00000000..50af0317 --- /dev/null +++ b/services/meta/os-dashboards/kibana-kaapana/os-dashboards-chart/.helmignore @@ -0,0 +1,22 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ diff --git a/services/meta/os-dashboards/kibana-kaapana/os-dashboards-chart/Chart.yaml b/services/meta/os-dashboards/kibana-kaapana/os-dashboards-chart/Chart.yaml new file mode 100644 index 00000000..a9da5452 --- /dev/null +++ b/services/meta/os-dashboards/kibana-kaapana/os-dashboards-chart/Chart.yaml @@ -0,0 +1,6 @@ +--- +apiVersion: v1 +appVersion: "1.2.0" +description: Chart for Opensearch-Dashboards +name: os-dashboards-chart +version: "1.2.0" diff --git a/services/meta/os-dashboards/kibana-kaapana/os-dashboards-chart/files/configmap.yaml b/services/meta/os-dashboards/kibana-kaapana/os-dashboards-chart/files/configmap.yaml new file mode 100644 index 00000000..befc9333 --- /dev/null +++ b/services/meta/os-dashboards/kibana-kaapana/os-dashboards-chart/files/configmap.yaml @@ -0,0 +1,8 @@ +--- +apiVersion: v1 +data: +{{ (.Files.Glob "files/kibana.yml").AsConfig | indent 2 }} +kind: ConfigMap +metadata: + name: kibana-meta-config + namespace: {{ .Values.global.meta_namespace }} \ No newline at end of file diff --git a/services/meta/os-dashboards/kibana-kaapana/os-dashboards-chart/files/kibana.yml b/services/meta/os-dashboards/kibana-kaapana/os-dashboards-chart/files/kibana.yml new file mode 100644 index 00000000..d4d9cef2 --- /dev/null +++ b/services/meta/os-dashboards/kibana-kaapana/os-dashboards-chart/files/kibana.yml @@ -0,0 +1,120 @@ +--- +## Default Kibana configuration from kibana-docker. +## from https://github.com/elastic/kibana-docker/blob/master/build/kibana/config/kibana.yml +# +server.name: kibana +server.host: "0" +elasticsearch.url: http://elastic-meta-service.meta.svc:9200 +#..svc +#http://192.168.99.100:31121 +# Kibana is served by a back end server. This setting specifies the port to use. +#server.port: 5601 + +# Specifies the address to which the Kibana server will bind. IP addresses and host names are both valid values. +# The default is 'localhost', which usually means remote machines will not be able to connect. +# To allow connections from remote users, set this parameter to a non-loopback address. +#server.host: "localhost" + +# Enables you to specify a path to mount Kibana at if you are running behind a proxy. +# Use the `server.rewriteBasePath` setting to tell Kibana if it should remove the basePath +# from requests it receives, and to prevent a deprecation warning at startup. +# This setting cannot end in a slash. +server.basePath: "/meta" + +# Specifies whether Kibana should rewrite requests that are prefixed with +# `server.basePath` or require that they are rewritten by your reverse proxy. +# This setting was effectively always `false` before Kibana 6.3 and will +# default to `true` starting in Kibana 7.0. +#server.rewriteBasePath: false + +# The maximum payload size in bytes for incoming server requests. +#server.maxPayloadBytes: 1048576 + +# The Kibana server's name. This is used for display purposes. +#server.name: "your-hostname" + +# The URL of the Elasticsearch instance to use for all your queries. +#elasticsearch.url: "http://localhost:9200" + +# When this setting's value is true Kibana uses the hostname specified in the server.host +# setting. When the value of this setting is false, Kibana uses the hostname of the host +# that connects to this Kibana instance. +#elasticsearch.preserveHost: true + +# Kibana uses an index in Elasticsearch to store saved searches, visualizations and +# dashboards. Kibana creates a new index if the index doesn't already exist. +#kibana.index: ".kibana" + +# The default application to load. +kibana.defaultAppId: "dashboard/16767e00-496c-11e8-a3a4-57df2c598fcb" + +# If your Elasticsearch is protected with basic authentication, these settings provide +# the username and password that the Kibana server uses to perform maintenance on the Kibana +# index at startup. Your Kibana users still need to authenticate with Elasticsearch, which +# is proxied through the Kibana server. +#elasticsearch.username: "user" +#elasticsearch.password: "pass" + +# Enables SSL and paths to the PEM-format SSL certificate and SSL key files, respectively. +# These settings enable SSL for outgoing requests from the Kibana server to the browser. +#server.ssl.enabled: false +#server.ssl.certificate: /path/to/your/server.crt +#server.ssl.key: /path/to/your/server.key + +# Optional settings that provide the paths to the PEM-format SSL certificate and key files. +# These files validate that your Elasticsearch backend uses the same key files. +#elasticsearch.ssl.certificate: /path/to/your/client.crt +#elasticsearch.ssl.key: /path/to/your/client.key + +# Optional setting that enables you to specify a path to the PEM file for the certificate +# authority for your Elasticsearch instance. +#elasticsearch.ssl.certificateAuthorities: [ "/path/to/your/CA.pem" ] + +# To disregard the validity of SSL certificates, change this setting's value to 'none'. +#elasticsearch.ssl.verificationMode: full + +# Time in milliseconds to wait for Elasticsearch to respond to pings. Defaults to the value of +# the elasticsearch.requestTimeout setting. +#elasticsearch.pingTimeout: 1500 + +# Time in milliseconds to wait for responses from the back end or Elasticsearch. This value +# must be a positive integer. +#elasticsearch.requestTimeout: 30000 + +# List of Kibana client-side headers to send to Elasticsearch. To send *no* client-side +# headers, set this value to [] (an empty list). +#elasticsearch.requestHeadersWhitelist: [ authorization ] + +# Header names and values that are sent to Elasticsearch. Any custom headers cannot be overwritten +# by client-side headers, regardless of the elasticsearch.requestHeadersWhitelist configuration. +#elasticsearch.customHeaders: {} + +# Time in milliseconds for Elasticsearch to wait for responses from shards. Set to 0 to disable. +#elasticsearch.shardTimeout: 0 + +# Time in milliseconds to wait for Elasticsearch at Kibana startup before retrying. +#elasticsearch.startupTimeout: 5000 + +# Specifies the path where Kibana creates the process ID file. +#pid.file: /var/run/kibana.pid + +# Enables you specify a file where Kibana stores log output. +#logging.dest: stdout + +# Set the value of this setting to true to suppress all logging output. +#logging.silent: false + +# Set the value of this setting to true to suppress all logging output other than error messages. +logging.quiet: true + +# Set the value of this setting to true to log all events, including system usage information +# and all requests. +#logging.verbose: false + +# Set the interval in milliseconds to sample system and process performance +# metrics. Minimum is 100ms. Defaults to 5000. +#ops.interval: 5000 + +# The default locale. This locale can be used in certain circumstances to substitute any missing +# translations. +#i18n.defaultLocale: "en" \ No newline at end of file diff --git a/services/meta/os-dashboards/kibana-kaapana/os-dashboards-chart/templates/deployment.yaml b/services/meta/os-dashboards/kibana-kaapana/os-dashboards-chart/templates/deployment.yaml new file mode 100644 index 00000000..15b26447 --- /dev/null +++ b/services/meta/os-dashboards/kibana-kaapana/os-dashboards-chart/templates/deployment.yaml @@ -0,0 +1,44 @@ +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: os-dashboards-de + namespace: {{ .Values.global.meta_namespace }} +spec: + replicas: 1 + selector: + matchLabels: + app-name: os-dashboards + template: + metadata: + labels: + app-name: os-dashboards + spec: + containers: + - name: os-dashboards-container + image: {{ .Values.global.registry_url }}/os-dashboards:1.2.0 + imagePullPolicy: {{ .Values.global.pull_policy_pods }} + # env: + # - name: NODE_OPTIONS + # value: "--max-old-space-size=500" + ports: + - containerPort: 5601 + resources: + requests: + memory: 150Mi + limits: + memory: 300Mi + # volumeMounts: + # - name: kibana-config-file + # mountPath: /usr/share/kibana/config/kibana.yml + # subPath: kibana.yml + # volumes: + # - name: kibana-config-file + # configMap: + # name: os-dashboards-config + # items: + # - key: kibana.yml + # path: kibana.yml + imagePullSecrets: + - name: registry-secret +--- diff --git a/services/meta/os-dashboards/kibana-kaapana/os-dashboards-chart/templates/service.yaml b/services/meta/os-dashboards/kibana-kaapana/os-dashboards-chart/templates/service.yaml new file mode 100644 index 00000000..c79f0f10 --- /dev/null +++ b/services/meta/os-dashboards/kibana-kaapana/os-dashboards-chart/templates/service.yaml @@ -0,0 +1,37 @@ + +--- +apiVersion: v1 +kind: Service +metadata: + name: os-dashboards-service + namespace: {{ .Values.global.meta_namespace }} + labels: + app-name: os-dashboards +spec: + selector: + app-name: os-dashboards + ports: + - name: osd-port + port: 5601 + targetPort: 5601 + protocol: TCP +--- +apiVersion: networking.k8s.io/v1beta1 +kind: Ingress +metadata: + name: osd-ingress-ip + namespace: {{ .Values.global.meta_namespace }} + annotations: + traefik.ingress.kubernetes.io/router.entrypoints: websecure + traefik.ingress.kubernetes.io/router.middlewares: kube-system-errorpages@kubernetescrd,kube-system-strip-prefix@kubernetescrd + kubernetes.io/ingress.global-static-ip-name: "kubernetes-ingress" +spec: + rules: + - host: + http: + paths: + - path: /meta + backend: + serviceName: os-dashboards-service + servicePort: 5601 +--- \ No newline at end of file diff --git a/services/meta/os-dashboards/kibana-kaapana/os-dashboards-chart/values.yaml b/services/meta/os-dashboards/kibana-kaapana/os-dashboards-chart/values.yaml new file mode 100644 index 00000000..61edc326 --- /dev/null +++ b/services/meta/os-dashboards/kibana-kaapana/os-dashboards-chart/values.yaml @@ -0,0 +1,4 @@ +--- +global: + pull_policy_pods: "IfNotPresent" + meta_namespace: "meta" \ No newline at end of file diff --git a/services/meta/os-dashboards/workflow-trigger/.eslintrc b/services/meta/os-dashboards/workflow-trigger/.eslintrc new file mode 100644 index 00000000..19ad389c --- /dev/null +++ b/services/meta/os-dashboards/workflow-trigger/.eslintrc @@ -0,0 +1,7 @@ +--- +extends: "@elastic/kibana" + +settings: + import/resolver: + '@elastic/eslint-import-resolver-kibana': + rootPackageName: 'button-vis' diff --git a/services/meta/os-dashboards/workflow-trigger/.gitignore b/services/meta/os-dashboards/workflow-trigger/.gitignore new file mode 100644 index 00000000..0b512aaa --- /dev/null +++ b/services/meta/os-dashboards/workflow-trigger/.gitignore @@ -0,0 +1,4 @@ +npm-debug.log* +node_modules +/build/ +yarn.lock \ No newline at end of file diff --git a/services/meta/os-dashboards/workflow-trigger/index.js b/services/meta/os-dashboards/workflow-trigger/index.js new file mode 100644 index 00000000..1f4cd0f6 --- /dev/null +++ b/services/meta/os-dashboards/workflow-trigger/index.js @@ -0,0 +1,19 @@ + +export default function (kibana) { + return new kibana.Plugin({ + require: ['elasticsearch'], + name: 'workflow_trigger', + uiExports: { + visTypes: [ + 'plugins/workflow_trigger/workflow_trigger' + ] + }, + + config(Joi) { + return Joi.object({ + enabled: Joi.boolean().default(true), + }).default(); + }, + + }); +}; diff --git a/services/meta/os-dashboards/workflow-trigger/package-lock.json b/services/meta/os-dashboards/workflow-trigger/package-lock.json new file mode 100644 index 00000000..dd853198 --- /dev/null +++ b/services/meta/os-dashboards/workflow-trigger/package-lock.json @@ -0,0 +1,5231 @@ +{ + "name": "workflow_trigger", + "version": "0.0.1", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@babel/code-frame": { + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0-beta.44.tgz", + "integrity": "sha512-cuAuTTIQ9RqcFRJ/Y8PvTh+paepNcaGxwQwjIDRWPXmzzyAeCO4KqS9ikMvq0MCbRk6GlYKwfzStrcP3/jSL8g==", + "dev": true, + "requires": { + "@babel/highlight": "7.0.0-beta.44" + } + }, + "@babel/generator": { + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.0.0-beta.44.tgz", + "integrity": "sha512-5xVb7hlhjGcdkKpMXgicAVgx8syK5VJz193k0i/0sLP6DzE6lRrU1K3B/rFefgdo9LPGMAOOOAWW4jycj07ShQ==", + "dev": true, + "requires": { + "@babel/types": "7.0.0-beta.44", + "jsesc": "^2.5.1", + "lodash": "^4.2.0", + "source-map": "^0.5.0", + "trim-right": "^1.0.1" + } + }, + "@babel/helper-function-name": { + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.0.0-beta.44.tgz", + "integrity": "sha512-MHRG2qZMKMFaBavX0LWpfZ2e+hLloT++N7rfM3DYOMUOGCD8cVjqZpwiL8a0bOX3IYcQev1ruciT0gdFFRTxzg==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "7.0.0-beta.44", + "@babel/template": "7.0.0-beta.44", + "@babel/types": "7.0.0-beta.44" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0-beta.44.tgz", + "integrity": "sha512-w0YjWVwrM2HwP6/H3sEgrSQdkCaxppqFeJtAnB23pRiJB5E/O9Yp7JAAeWBl+gGEgmBFinnTyOv2RN7rcSmMiw==", + "dev": true, + "requires": { + "@babel/types": "7.0.0-beta.44" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0-beta.44.tgz", + "integrity": "sha512-aQ7QowtkgKKzPGf0j6u77kBMdUFVBKNHw2p/3HX/POt5/oz8ec5cs0GwlgM8Hz7ui5EwJnzyfRmkNF1Nx1N7aA==", + "dev": true, + "requires": { + "@babel/types": "7.0.0-beta.44" + } + }, + "@babel/highlight": { + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0-beta.44.tgz", + "integrity": "sha512-Il19yJvy7vMFm8AVAh6OZzaFoAd0hbkeMZiX3P5HGD+z7dyI7RzndHB0dg6Urh/VAFfHtpOIzDUSxmY6coyZWQ==", + "dev": true, + "requires": { + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^3.0.0" + } + }, + "@babel/runtime-corejs2": { + "version": "7.11.2", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs2/-/runtime-corejs2-7.11.2.tgz", + "integrity": "sha512-AC/ciV28adSSpEkBglONBWq4/Lvm6GAZuxIoyVtsnUpZMl0bxLtoChEnYAkP+47KyOCayZanojtflUEUJtR/6Q==", + "requires": { + "core-js": "^2.6.5", + "regenerator-runtime": "^0.13.4" + } + }, + "@babel/template": { + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.0.0-beta.44.tgz", + "integrity": "sha512-w750Sloq0UNifLx1rUqwfbnC6uSUk0mfwwgGRfdLiaUzfAOiH0tHJE6ILQIUi3KYkjiCDTskoIsnfqZvWLBDng==", + "dev": true, + "requires": { + "@babel/code-frame": "7.0.0-beta.44", + "@babel/types": "7.0.0-beta.44", + "babylon": "7.0.0-beta.44", + "lodash": "^4.2.0" + } + }, + "@babel/traverse": { + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.0.0-beta.44.tgz", + "integrity": "sha512-UHuDz8ukQkJCDASKHf+oDt3FVUzFd+QYfuBIsiNu/4+/ix6pP/C+uQZJ6K1oEfbCMv/IKWbgDEh7fcsnIE5AtA==", + "dev": true, + "requires": { + "@babel/code-frame": "7.0.0-beta.44", + "@babel/generator": "7.0.0-beta.44", + "@babel/helper-function-name": "7.0.0-beta.44", + "@babel/helper-split-export-declaration": "7.0.0-beta.44", + "@babel/types": "7.0.0-beta.44", + "babylon": "7.0.0-beta.44", + "debug": "^3.1.0", + "globals": "^11.1.0", + "invariant": "^2.2.0", + "lodash": "^4.2.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 + } + } + }, + "@babel/types": { + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.0.0-beta.44.tgz", + "integrity": "sha512-5eTV4WRmqbaFM3v9gHAIljEQJU4Ssc6fxL61JN+Oe2ga/BwyjzjamwkCVVAQjHGuAX8i0BWo42dshL8eO5KfLQ==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.2.0", + "to-fast-properties": "^2.0.0" + } + }, + "@elastic/eslint-import-resolver-kibana": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/@elastic/eslint-import-resolver-kibana/-/eslint-import-resolver-kibana-0.9.0.tgz", + "integrity": "sha512-FHPy7l7hAINXd0zWVtJb4fVK/Qkq6EWD7a5b6NJIv+dGUWFj8HDFc8y/U+mCZC2mK04GL6PRMQRUfFk5dy0sDg==", + "dev": true, + "requires": { + "debug": "^2.6.6", + "eslint-import-resolver-node": "^0.3.0", + "eslint-import-resolver-webpack": "^0.8.1", + "glob-all": "^3.1.0", + "webpack": "3.6.0" + } + }, + "@rjsf/core": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@rjsf/core/-/core-2.4.0.tgz", + "integrity": "sha512-8zlydBkGldOxGXFEwNGFa1gzTxpcxaYn7ofegcu8XHJ7IKMCfpnU3ABg+H3eml1KZCX3FODmj1tHFJKuTmfynw==", + "requires": { + "@babel/runtime-corejs2": "^7.8.7", + "@types/json-schema": "^7.0.4", + "ajv": "^6.7.0", + "core-js": "^2.5.7", + "json-schema-merge-allof": "^0.6.0", + "jsonpointer": "^4.0.1", + "lodash": "^4.17.15", + "prop-types": "^15.7.2", + "react-app-polyfill": "^1.0.4", + "react-is": "^16.9.0", + "shortid": "^2.2.14" + }, + "dependencies": { + "ajv": { + "version": "6.12.5", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.5.tgz", + "integrity": "sha512-lRF8RORchjpKG50/WFf8xmg7sgCLFiYNNnqdKflk63whMQcWR5ngGjiSXkL9bjxy6B2npOK2HSMN49jEBMSkag==", + "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" + } + }, + "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==" + }, + "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==" + }, + "lodash": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==" + }, + "prop-types": { + "version": "15.7.2", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz", + "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==", + "requires": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.8.1" + } + } + } + }, + "@types/json-schema": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.6.tgz", + "integrity": "sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw==" + }, + "acorn": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.1.tgz", + "integrity": "sha512-d+nbxBUGKg7Arpsvbnlq61mc12ek3EY8EQldM3GPAhWJ1UVxC6TDGbIvUMNU6obBX3i1+ptCIzV4vq0gFPEGVQ==", + "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 + } + } + }, + "acorn-jsx": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz", + "integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=", + "dev": true, + "requires": { + "acorn": "^3.0.4" + }, + "dependencies": { + "acorn": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", + "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=", + "dev": true + } + } + }, + "ajv": { + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", + "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", + "dev": true, + "requires": { + "co": "^4.6.0", + "fast-deep-equal": "^1.0.0", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.3.0" + } + }, + "ajv-keywords": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-2.1.1.tgz", + "integrity": "sha1-YXmX/F9gV2iUxDX5QNgZ4TW4B2I=", + "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" + } + }, + "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": "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" + } + }, + "anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "dev": true, + "optional": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "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, + "optional": 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, + "optional": 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, + "optional": true + }, + "array-find": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-find/-/array-find-1.0.0.tgz", + "integrity": "sha1-bI4obRHtdoMn+OYuzuhzU8o+eLg=", + "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-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true, + "optional": true + }, + "asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" + }, + "asn1.js": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", + "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", + "dev": true, + "requires": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "safer-buffer": "^2.1.0" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "dev": true + } + } + }, + "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, + "optional": 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" + }, + "dependencies": { + "lodash": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", + "dev": true + } + } + }, + "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, + "optional": 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, + "optional": true + }, + "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" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "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" + } + }, + "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 + } + } + }, + "babel-eslint": { + "version": "8.2.6", + "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-8.2.6.tgz", + "integrity": "sha512-aCdHjhzcILdP8c9lej7hvXKvQieyRt20SF102SIGyY4cUIiw6UaAtK4j2o3dXX74jEmy0TJ0CEhv4fTIM3SzcA==", + "dev": true, + "requires": { + "@babel/code-frame": "7.0.0-beta.44", + "@babel/traverse": "7.0.0-beta.44", + "@babel/types": "7.0.0-beta.44", + "babylon": "7.0.0-beta.44", + "eslint-scope": "3.7.1", + "eslint-visitor-keys": "^1.0.0" + } + }, + "babylon": { + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.44.tgz", + "integrity": "sha512-5Hlm13BJVAioCHpImtFqNOF2H3ieTOHd0fmFGMxOJ9jgeFqeAwsv3u5P5cR7CSeFrkgHsT19DgFJkHV0/Mcd8g==", + "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, + "optional": 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, + "optional": 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, + "optional": 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, + "optional": 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, + "optional": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "optional": 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 + }, + "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": "2.1.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz", + "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==", + "dev": true, + "optional": true + }, + "bn.js": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.1.3.tgz", + "integrity": "sha512-GkTiFpjFtUzU9CbMeJ5iazkCzGL3jrhzerzZIuqLABjbwRaFt33I9tUdSNryIptM+RxDet6OKm2WnLXzW51KsQ==", + "dev": true + }, + "bootstrap": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.5.2.tgz", + "integrity": "sha512-vlGn0bcySYl/iV+BGA544JkkZP5LB3jsmkeKLFQakCOwCM3AOk7VkldBz4jrzSe+Z0Ezn99NVXa1o45cQY4R6A==" + }, + "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, + "optional": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "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" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "dev": true + } + } + }, + "browserify-sign": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", + "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", + "dev": true, + "requires": { + "bn.js": "^5.1.1", + "browserify-rsa": "^4.0.1", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "elliptic": "^6.5.3", + "inherits": "^2.0.4", + "parse-asn1": "^5.1.5", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "dependencies": { + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "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" + } + }, + "buffer": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", + "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", + "dev": true, + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" + } + }, + "buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "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-modules": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", + "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", + "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 + }, + "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, + "optional": 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" + } + }, + "caller-path": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz", + "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", + "dev": true, + "requires": { + "callsites": "^0.2.0" + } + }, + "callsites": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz", + "integrity": "sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=", + "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": "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" + } + }, + "chokidar": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.2.tgz", + "integrity": "sha512-IZHaDeBeI+sZJRX7lGcXsdzgvZqKv6sECqsbErJA4mHWfpRrD8B97kSFN4cQz6nGBGiuFia1MKR4d6c1o8Cv7A==", + "dev": true, + "optional": true, + "requires": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "fsevents": "~2.1.2", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.4.0" + } + }, + "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" + } + }, + "circular-json": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz", + "integrity": "sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==", + "dev": true + }, + "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, + "optional": 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, + "optional": 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" + }, + "dependencies": { + "wordwrap": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", + "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", + "dev": true + } + } + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "dev": true + }, + "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, + "optional": true, + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.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==", + "dev": true, + "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=", + "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, + "optional": true + }, + "compute-gcd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/compute-gcd/-/compute-gcd-1.2.0.tgz", + "integrity": "sha1-/B7eW2UAHpUCJlAvRlQ4Y+T+oQ4=", + "requires": { + "validate.io-array": "^1.0.3", + "validate.io-function": "^1.0.2", + "validate.io-integer-array": "^1.0.0" + } + }, + "compute-lcm": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/compute-lcm/-/compute-lcm-1.1.0.tgz", + "integrity": "sha1-q9ltBAtBsKFm+JlEtci3xRHiGtU=", + "requires": { + "compute-gcd": "^1.2.0", + "validate.io-array": "^1.0.3", + "validate.io-function": "^1.0.2", + "validate.io-integer-array": "^1.0.0" + } + }, + "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 + }, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "console-browserify": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", + "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", + "dev": true + }, + "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 + }, + "contains-path": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz", + "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=", + "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, + "optional": true + }, + "core-js": { + "version": "2.6.11", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz", + "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==" + }, + "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 + }, + "create-ecdh": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", + "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "elliptic": "^6.5.3" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "dev": true + } + } + }, + "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-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" + } + }, + "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" + } + }, + "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" + } + }, + "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, + "optional": true + }, + "deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", + "dev": true + }, + "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, + "optional": 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, + "optional": 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, + "optional": 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, + "optional": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "optional": true + } + } + }, + "des.js": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", + "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "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" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "dev": true + } + } + }, + "doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "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 + }, + "elliptic": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.3.tgz", + "integrity": "sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw==", + "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" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "dev": true + } + } + }, + "emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "dev": true + }, + "enhanced-resolve": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-0.9.1.tgz", + "integrity": "sha1-TW5omzcl+GCQknzMhs2fFjW4ni4=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.2.0", + "tapable": "^0.1.8" + } + }, + "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.17.6", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", + "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", + "dev": true, + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.0", + "is-regex": "^1.1.0", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "es5-ext": { + "version": "0.10.53", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz", + "integrity": "sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==", + "dev": true, + "requires": { + "es6-iterator": "~2.0.3", + "es6-symbol": "~3.1.3", + "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.3", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", + "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", + "dev": true, + "requires": { + "d": "^1.0.1", + "ext": "^1.1.2" + } + }, + "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-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=", + "dev": true + }, + "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" + } + }, + "eslint": { + "version": "4.19.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-4.19.1.tgz", + "integrity": "sha512-bT3/1x1EbZB7phzYu7vCr1v3ONuzDtX8WjuM9c0iYxe+cq+pwcKEoQjl7zd3RpC6YOLgnSy3cTN58M2jcoPDIQ==", + "dev": true, + "requires": { + "ajv": "^5.3.0", + "babel-code-frame": "^6.22.0", + "chalk": "^2.1.0", + "concat-stream": "^1.6.0", + "cross-spawn": "^5.1.0", + "debug": "^3.1.0", + "doctrine": "^2.1.0", + "eslint-scope": "^3.7.1", + "eslint-visitor-keys": "^1.0.0", + "espree": "^3.5.4", + "esquery": "^1.0.0", + "esutils": "^2.0.2", + "file-entry-cache": "^2.0.0", + "functional-red-black-tree": "^1.0.1", + "glob": "^7.1.2", + "globals": "^11.0.1", + "ignore": "^3.3.3", + "imurmurhash": "^0.1.4", + "inquirer": "^3.0.6", + "is-resolvable": "^1.0.0", + "js-yaml": "^3.9.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.3.0", + "lodash": "^4.17.4", + "minimatch": "^3.0.2", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "optionator": "^0.8.2", + "path-is-inside": "^1.0.2", + "pluralize": "^7.0.0", + "progress": "^2.0.0", + "regexpp": "^1.0.1", + "require-uncached": "^1.0.3", + "semver": "^5.3.0", + "strip-ansi": "^4.0.0", + "strip-json-comments": "~2.0.1", + "table": "4.0.2", + "text-table": "~0.2.0" + }, + "dependencies": { + "ansi-escapes": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", + "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", + "dev": true + }, + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", + "dev": true, + "requires": { + "restore-cursor": "^2.0.0" + } + }, + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "eslint-scope": { + "version": "3.7.3", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.3.tgz", + "integrity": "sha512-W+B0SvF4gamyCTmUc+uITPY0989iXVfKvhwtmJocTaYoc/3khEHmEmvfY/Gn9HA9VV75jrQECsHizkNw1b68FA==", + "dev": true, + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + }, + "external-editor": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz", + "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==", + "dev": true, + "requires": { + "chardet": "^0.4.0", + "iconv-lite": "^0.4.17", + "tmp": "^0.0.33" + }, + "dependencies": { + "chardet": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz", + "integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=", + "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" + } + } + } + }, + "figures": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", + "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, + "inquirer": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz", + "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==", + "dev": true, + "requires": { + "ansi-escapes": "^3.0.0", + "chalk": "^2.0.0", + "cli-cursor": "^2.1.0", + "cli-width": "^2.0.0", + "external-editor": "^2.0.4", + "figures": "^2.0.0", + "lodash": "^4.3.0", + "mute-stream": "0.0.7", + "run-async": "^2.2.0", + "rx-lite": "^4.0.8", + "rx-lite-aggregates": "^4.0.8", + "string-width": "^2.1.0", + "strip-ansi": "^4.0.0", + "through": "^2.3.6" + }, + "dependencies": { + "cli-width": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz", + "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==", + "dev": true + }, + "run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "dev": true + }, + "rx-lite": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz", + "integrity": "sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ=", + "dev": true + }, + "rx-lite-aggregates": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz", + "integrity": "sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=", + "dev": true, + "requires": { + "rx-lite": "*" + } + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true + } + } + }, + "mute-stream": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", + "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", + "dev": true + }, + "onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", + "dev": true, + "requires": { + "mimic-fn": "^1.0.0" + } + }, + "restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", + "dev": true, + "requires": { + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" + } + }, + "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" + } + }, + "tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "requires": { + "os-tmpdir": "~1.0.2" + }, + "dependencies": { + "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 + } + } + } + } + }, + "eslint-import-resolver-node": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.2.tgz", + "integrity": "sha512-sfmTqJfPSizWu4aymbPr4Iidp5yKm8yDkHp+Ir3YiTHiiDfxh69mOUsmiqW6RZ9zRXFaF64GtYmN7e+8GHBv6Q==", + "dev": true, + "requires": { + "debug": "^2.6.9", + "resolve": "^1.5.0" + } + }, + "eslint-import-resolver-webpack": { + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-webpack/-/eslint-import-resolver-webpack-0.8.4.tgz", + "integrity": "sha512-b6JxR57ruiMxq2tIu4T/SrYED5RKJfeBEs8u3+JWF+O2RxDmFpUH84c5uS1T5qiP0K4r0SL7CXhvd41hXdDlAg==", + "dev": true, + "requires": { + "array-find": "^1.0.0", + "debug": "^2.6.8", + "enhanced-resolve": "~0.9.0", + "find-root": "^0.1.1", + "has": "^1.0.1", + "interpret": "^1.0.0", + "is-absolute": "^0.2.3", + "lodash.get": "^3.7.0", + "node-libs-browser": "^1.0.0 || ^2.0.0", + "resolve": "^1.2.0", + "semver": "^5.3.0" + } + }, + "eslint-module-utils": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.2.0.tgz", + "integrity": "sha1-snA2LNiLGkitMIl2zn+lTphBF0Y=", + "dev": true, + "requires": { + "debug": "^2.6.8", + "pkg-dir": "^1.0.0" + } + }, + "eslint-plugin-babel": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-babel/-/eslint-plugin-babel-4.1.2.tgz", + "integrity": "sha1-eSAqDjV1fdkngJGbIzbx+i/lPB4=", + "dev": true + }, + "eslint-plugin-import": { + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.14.0.tgz", + "integrity": "sha512-FpuRtniD/AY6sXByma2Wr0TXvXJ4nA/2/04VPlfpmUDPOpOY264x+ILiwnrk/k4RINgDAyFZByxqPUbSQ5YE7g==", + "dev": true, + "requires": { + "contains-path": "^0.1.0", + "debug": "^2.6.8", + "doctrine": "1.5.0", + "eslint-import-resolver-node": "^0.3.1", + "eslint-module-utils": "^2.2.0", + "has": "^1.0.1", + "lodash": "^4.17.4", + "minimatch": "^3.0.3", + "read-pkg-up": "^2.0.0", + "resolve": "^1.6.0" + }, + "dependencies": { + "doctrine": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", + "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "isarray": "^1.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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true + } + } + }, + "eslint-plugin-jest": { + "version": "21.21.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-21.21.0.tgz", + "integrity": "sha512-qoYGTPYuV8bvFYkWj19y4VTq5f2QiNky1Z97rx8RRcPhyJOYbaOs+vjdA/B2FkwWKB46NgzB1rzreDrvEXFh5Q==", + "dev": true + }, + "eslint-plugin-mocha": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-mocha/-/eslint-plugin-mocha-4.12.1.tgz", + "integrity": "sha512-hxWtYHvLA0p/PKymRfDYh9Mxt5dYkg2Goy1vZDarTEEYfELP9ksga7kKG1NUKSQy27C8Qjc7YrSWTLUhOEOksA==", + "dev": true, + "requires": { + "ramda": "^0.25.0" + } + }, + "eslint-plugin-prefer-object-spread": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-prefer-object-spread/-/eslint-plugin-prefer-object-spread-1.2.1.tgz", + "integrity": "sha1-J/uRhTaQzOs65hAdnIrsxqZ6QCw=", + "dev": true + }, + "eslint-plugin-react": { + "version": "7.11.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.11.1.tgz", + "integrity": "sha512-cVVyMadRyW7qsIUh3FHp3u6QHNhOgVrLQYdQEB1bPWBsgbNCHdFAeNMquBMCcZJu59eNthX053L70l7gRt4SCw==", + "dev": true, + "requires": { + "array-includes": "^3.0.3", + "doctrine": "^2.1.0", + "has": "^1.0.3", + "jsx-ast-utils": "^2.0.1", + "prop-types": "^15.6.2" + } + }, + "eslint-scope": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.1.tgz", + "integrity": "sha1-PWPD7f2gLgbgGkUq2IyqzHzctug=", + "dev": true, + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + }, + "eslint-visitor-keys": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz", + "integrity": "sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ==", + "dev": true + }, + "espree": { + "version": "3.5.4", + "resolved": "https://registry.npmjs.org/espree/-/espree-3.5.4.tgz", + "integrity": "sha512-yAcIQxtmMiB/jL32dzEp2enBeidsB7xWPLNiw3IIkpVds1P+h7qF9YwJq1yUNzp2OKXgAprs4F61ih66UsoD1A==", + "dev": true, + "requires": { + "acorn": "^5.5.0", + "acorn-jsx": "^3.0.0" + } + }, + "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 + }, + "esquery": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.1.tgz", + "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==", + "dev": true, + "requires": { + "estraverse": "^4.0.0" + } + }, + "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.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", + "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", + "dev": true + }, + "esutils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", + "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" + } + }, + "events": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.2.0.tgz", + "integrity": "sha512-/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg==", + "dev": true + }, + "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" + } + }, + "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, + "optional": 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, + "optional": 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, + "optional": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "expect.js": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/expect.js/-/expect.js-0.3.1.tgz", + "integrity": "sha1-sKWaDS7/VDdUTr8M6qYBWEHQm1s=", + "dev": true + }, + "ext": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/ext/-/ext-1.4.0.tgz", + "integrity": "sha512-Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A==", + "dev": true, + "requires": { + "type": "^2.0.0" + }, + "dependencies": { + "type": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/type/-/type-2.1.0.tgz", + "integrity": "sha512-G9absDWvhAWCV2gmF1zKud3OyC61nZDwWvBL2DApaVFogI07CprggiQAOOjvp2NRjYWFzPyu7vwtDrQFq8jeSA==", + "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, + "optional": 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, + "optional": 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, + "optional": 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, + "optional": 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, + "optional": 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, + "optional": 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, + "optional": 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, + "optional": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "optional": true + } + } + }, + "fast-deep-equal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", + "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=", + "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=" + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "file-entry-cache": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz", + "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=", + "dev": true, + "requires": { + "flat-cache": "^1.2.1", + "object-assign": "^4.0.1" + } + }, + "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, + "optional": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "find-root": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/find-root/-/find-root-0.1.2.tgz", + "integrity": "sha1-mNImfP8ZFsyvJ0OzoO6oHXnX3NE=", + "dev": true + }, + "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" + } + }, + "flat-cache": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.4.tgz", + "integrity": "sha512-VwyB3Lkgacfik2vhqR4uv2rvebqmDvFu4jlN/C1RzWoJEo8I7z4Q404oiqYCkq41mni8EzQnm95emU9seckwtg==", + "dev": true, + "requires": { + "circular-json": "^0.3.1", + "graceful-fs": "^4.1.2", + "rimraf": "~2.6.2", + "write": "^0.2.1" + } + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "dev": true, + "optional": 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, + "optional": true, + "requires": { + "map-cache": "^0.2.2" + } + }, + "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": "2.1.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", + "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", + "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": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "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-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, + "optional": true + }, + "glob": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "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-all": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-all/-/glob-all-3.1.0.tgz", + "integrity": "sha1-iRPd+17hrHgSZWJBsD1SF8ZLAqs=", + "dev": true, + "requires": { + "glob": "^7.0.5", + "yargs": "~1.2.6" + } + }, + "glob-parent": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", + "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", + "dev": true, + "optional": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true + }, + "graceful-fs": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", + "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", + "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": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "has-symbols": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", + "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, + "optional": 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, + "optional": true, + "requires": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "dependencies": { + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "optional": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "optional": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, + "optional": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "hash-base": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", + "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", + "dev": true, + "requires": { + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "dependencies": { + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "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" + } + }, + "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" + } + }, + "hosted-git-info": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", + "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==", + "dev": true + }, + "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 + }, + "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 + }, + "ignore": { + "version": "3.3.10", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", + "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==", + "dev": true + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "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.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "interpret": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", + "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 + }, + "is-absolute": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-0.2.6.tgz", + "integrity": "sha1-IN5p89uULvLYe5wto28XIjWxtes=", + "dev": true, + "requires": { + "is-relative": "^0.2.1", + "is-windows": "^0.2.0" + } + }, + "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, + "optional": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "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": "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, + "optional": true, + "requires": { + "binary-extensions": "^2.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-builtin-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", + "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", + "dev": true, + "requires": { + "builtin-modules": "^1.0.0" + } + }, + "is-callable": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.1.tgz", + "integrity": "sha512-wliAfSzx6V+6WfMOmus1xy0XvSgf/dlStkvTfq7F0g4bOIW0PSUbnyse3NhDwdyYS1ozfUtAAySqTws3z9Eqgg==", + "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, + "optional": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-date-object": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", + "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", + "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, + "optional": 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, + "optional": 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, + "optional": 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, + "optional": 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 + }, + "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, + "optional": 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, + "optional": 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, + "optional": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "is-regex": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", + "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==", + "dev": true, + "requires": { + "has-symbols": "^1.0.1" + } + }, + "is-relative": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-0.2.1.tgz", + "integrity": "sha1-0n9MfVFtF1+2ENuEu+7yPDvJeqU=", + "dev": true, + "requires": { + "is-unc-path": "^0.1.1" + } + }, + "is-resolvable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", + "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==", + "dev": true + }, + "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-symbol": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", + "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", + "dev": true, + "requires": { + "has-symbols": "^1.0.1" + } + }, + "is-unc-path": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-0.1.2.tgz", + "integrity": "sha1-arBTpyVzwQJQ/0FqOBTDUXivObk=", + "dev": true, + "requires": { + "unc-path-regex": "^0.1.0" + } + }, + "is-windows": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-0.2.0.tgz", + "integrity": "sha1-3hqm1j6indJIc3tp8f+LgALSEIw=", + "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, + "optional": true + }, + "js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=" + }, + "js-yaml": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.0.tgz", + "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "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-compare": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/json-schema-compare/-/json-schema-compare-0.2.2.tgz", + "integrity": "sha512-c4WYmDKyJXhs7WWvAWm3uIYnfyWFoIp+JEoX34rctVvEkMYCPGhXtvmFFXiffBbxfZsvQ0RNnV5H7GvDF5HCqQ==", + "requires": { + "lodash": "^4.17.4" + } + }, + "json-schema-merge-allof": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/json-schema-merge-allof/-/json-schema-merge-allof-0.6.0.tgz", + "integrity": "sha512-LEw4VMQVRceOPLuGRWcxW5orTTiR9ZAtqTAe4rQUjNADTeR81bezBVFa0MqIwp0YmHIM1KkhSjZM7o+IQhaPbQ==", + "requires": { + "compute-lcm": "^1.1.0", + "json-schema-compare": "^0.2.2", + "lodash": "^4.17.4" + } + }, + "json-schema-traverse": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", + "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", + "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": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, + "json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", + "dev": true + }, + "jsonpointer": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.1.0.tgz", + "integrity": "sha512-CXcRvMyTlnR53xMcKnuMzfCA5i/nfblTnnr74CZb6C4vG39eu6w51t7nKmU5MfLfbTgGItliNyjO/ciNPDqClg==" + }, + "jsx-ast-utils": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-2.0.1.tgz", + "integrity": "sha1-6AGxs5mF4g//yHtA43SAgOLcrH8=", + "dev": true, + "requires": { + "array-includes": "^3.0.3" + } + }, + "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" + } + }, + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, + "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.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.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" + } + } + } + }, + "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" + }, + "dependencies": { + "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 + } + } + }, + "lodash": { + "version": "4.17.10", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", + "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==" + }, + "lodash._baseget": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/lodash._baseget/-/lodash._baseget-3.7.2.tgz", + "integrity": "sha1-G2rh1frPPCVTI1ChPBGXy4u2dPQ=", + "dev": true + }, + "lodash._topath": { + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/lodash._topath/-/lodash._topath-3.8.1.tgz", + "integrity": "sha1-PsXiYGAU9MuX91X+aRTt2L/ADqw=", + "dev": true, + "requires": { + "lodash.isarray": "^3.0.0" + } + }, + "lodash.get": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-3.7.0.tgz", + "integrity": "sha1-POaK4skWg7KBzFOUEoMDy/deaR8=", + "dev": true, + "requires": { + "lodash._baseget": "^3.0.0", + "lodash._topath": "^3.0.0" + } + }, + "lodash.isarray": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz", + "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=", + "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==", + "requires": { + "js-tokens": "^3.0.0 || ^4.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" + } + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "dev": true, + "optional": 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, + "optional": true, + "requires": { + "object-visit": "^1.0.0" + } + }, + "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" + } + }, + "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.2.0", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.2.0.tgz", + "integrity": "sha1-8rslNovBIeORwlIN6Slpyu4KApA=", + "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, + "optional": 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": { + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "optional": 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, + "optional": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "optional": 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, + "optional": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "optional": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "optional": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "optional": true + }, + "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, + "optional": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + } + } + }, + "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" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "dev": true + } + } + }, + "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": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "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, + "optional": 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, + "optional": 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" + }, + "dependencies": { + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true + } + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "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 + }, + "nanoid": { + "version": "2.1.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-2.1.11.tgz", + "integrity": "sha512-s/snB+WGm6uwi0WjsZdaVcuf3KJXlfGl2LcxgwkEwJF0D/BWzVWAZW/XY4bFaiR7s0Jk3FPvlnepg1H1b1UwlA==" + }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, + "optional": 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": { + "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, + "optional": true + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "optional": true + } + } + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true + }, + "neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "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 + }, + "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" + } + }, + "normalize-package-data": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", + "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "is-builtin-module": "^1.0.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, + "optional": true + }, + "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" + } + }, + "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=" + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "dev": true, + "optional": 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, + "optional": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "object-inspect": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz", + "integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==", + "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, + "optional": true, + "requires": { + "isobject": "^3.0.0" + } + }, + "object.assign": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", + "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "function-bind": "^1.1.1", + "has-symbols": "^1.0.0", + "object-keys": "^1.0.11" + } + }, + "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, + "optional": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "optionator": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", + "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", + "dev": true, + "requires": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.4", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "wordwrap": "~1.0.0" + } + }, + "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-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" + }, + "dependencies": { + "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" + } + } + } + }, + "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-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.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "dev": true + }, + "parse-asn1": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", + "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", + "dev": true, + "requires": { + "asn1.js": "^5.2.0", + "browserify-aes": "^1.0.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" + } + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "dev": true, + "optional": 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, + "optional": 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-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 + }, + "pbkdf2": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.1.tgz", + "integrity": "sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg==", + "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" + } + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" + }, + "picomatch": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", + "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", + "dev": true, + "optional": true + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "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": "1.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz", + "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=", + "dev": true, + "requires": { + "find-up": "^1.0.0" + } + }, + "pluralize": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-7.0.0.tgz", + "integrity": "sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow==", + "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, + "optional": true + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "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 + }, + "progress": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.0.tgz", + "integrity": "sha1-ihvjZr+Pwj2yvSPxDG/pILQ4nR8=", + "dev": true + }, + "promise": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/promise/-/promise-8.1.0.tgz", + "integrity": "sha512-W04AqnILOL/sPRXziNicCjSNRruLAuIHEOVBazepu0545DDNGYHz7ar9ZgZ1fMU8/MA4mVxp5rkBWRi6OXIy3Q==", + "requires": { + "asap": "~2.0.6" + } + }, + "prop-types": { + "version": "15.6.2", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.2.tgz", + "integrity": "sha512-3pboPvLiWD7dkI3qf3KbUe6hKFKa52w+AE0VCqECtf+QHAKgOL37tTaNCnuX1nAAQ4ZhyP+kYVKf8rLmJ/feDQ==", + "dev": true, + "requires": { + "loose-envify": "^1.3.1", + "object-assign": "^4.1.1" + } + }, + "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" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "dev": true + } + } + }, + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + }, + "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 + }, + "raf": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz", + "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==", + "requires": { + "performance-now": "^2.1.0" + } + }, + "ramda": { + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.25.0.tgz", + "integrity": "sha512-GXpfrYVPwx3K7RQ6aYT8KPS8XViSXUVJT1ONhoKPE9VAleW42YE+U+8VEyGWt41EnEQW7gwecYJriTI0pKoecQ==", + "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" + } + }, + "react-app-polyfill": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/react-app-polyfill/-/react-app-polyfill-1.0.6.tgz", + "integrity": "sha512-OfBnObtnGgLGfweORmdZbyEz+3dgVePQBb3zipiaDsMHV1NpWm0rDFYIVXFV/AK+x4VIIfWHhrdMIeoTLyRr2g==", + "requires": { + "core-js": "^3.5.0", + "object-assign": "^4.1.1", + "promise": "^8.0.3", + "raf": "^3.4.1", + "regenerator-runtime": "^0.13.3", + "whatwg-fetch": "^3.0.0" + }, + "dependencies": { + "core-js": { + "version": "3.6.5", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.6.5.tgz", + "integrity": "sha512-vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA==" + } + } + }, + "react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + }, + "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" + }, + "dependencies": { + "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 + }, + "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" + } + } + } + }, + "readdirp": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.4.0.tgz", + "integrity": "sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ==", + "dev": true, + "optional": true, + "requires": { + "picomatch": "^2.2.1" + } + }, + "regenerator-runtime": { + "version": "0.13.7", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", + "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==" + }, + "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, + "optional": true, + "requires": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + } + }, + "regexpp": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-1.1.0.tgz", + "integrity": "sha512-LOPw8FpgdQF9etWMaAfG/WRthIdXJGYp4mJ2Jgn/2lpkbod9jPn0t9UqN7AxBOKNfzRbYyVfgc7Vk4t/MpnXgw==", + "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, + "optional": 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, + "optional": 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 + }, + "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-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 + }, + "require-uncached": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz", + "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", + "dev": true, + "requires": { + "caller-path": "^0.1.0", + "resolve-from": "^1.0.0" + } + }, + "resolve": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.8.1.tgz", + "integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==", + "dev": true, + "requires": { + "path-parse": "^1.0.5" + } + }, + "resolve-from": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz", + "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=", + "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, + "optional": 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, + "optional": 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.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + }, + "dependencies": { + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "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" + } + } + } + }, + "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.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "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, + "optional": 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 + }, + "semver": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", + "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", + "dev": true + }, + "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, + "optional": 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, + "optional": 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 + }, + "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 + }, + "shortid": { + "version": "2.2.15", + "resolved": "https://registry.npmjs.org/shortid/-/shortid-2.2.15.tgz", + "integrity": "sha512-5EaCy2mx2Jgc/Fdn9uuDuNIIfWBpzY4XIlhoqtXF6qsf+/+SGZ+FxDdX/ZsMZiWupIWNqAEmiNY4RC+LSmCeOw==", + "requires": { + "nanoid": "^2.1.0" + } + }, + "signal-exit": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", + "dev": true + }, + "slice-ansi": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz", + "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0" + } + }, + "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, + "optional": 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, + "optional": 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, + "optional": 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, + "optional": 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, + "optional": 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, + "optional": 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, + "optional": 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, + "optional": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "optional": 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, + "optional": true, + "requires": { + "kind-of": "^3.2.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.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "dev": true, + "optional": true, + "requires": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "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, + "optional": true + }, + "spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "dev": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "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 + }, + "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, + "optional": 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, + "optional": 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, + "optional": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "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" + } + }, + "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 + }, + "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.trimend": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz", + "integrity": "sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, + "string.prototype.trimstart": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz", + "integrity": "sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "requires": { + "safe-buffer": "~5.2.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-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-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "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" + } + }, + "table": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/table/-/table-4.0.2.tgz", + "integrity": "sha512-UUkEAPdSGxtRpiV9ozJ5cMTtYiqz7Ni1OGqLXRCynrvzdtR1p+cfOWe2RJLwvUG8hNanaSRjecIqwOjqeatDsA==", + "dev": true, + "requires": { + "ajv": "^5.2.3", + "ajv-keywords": "^2.1.0", + "chalk": "^2.1.0", + "lodash": "^4.17.4", + "slice-ansi": "1.0.0", + "string-width": "^2.1.1" + } + }, + "tapable": { + "version": "0.1.10", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-0.1.10.tgz", + "integrity": "sha1-KcNXB8K3DlDQdIK10gLo7URtr9Q=", + "dev": true + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "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": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "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, + "optional": 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, + "optional": 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": "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, + "optional": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "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-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2" + } + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true + }, + "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": { + "camelcase": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", + "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", + "dev": true + }, + "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" + } + }, + "unc-path-regex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", + "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=", + "dev": true + }, + "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, + "optional": true, + "requires": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + } + }, + "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, + "optional": 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, + "optional": 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, + "optional": 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, + "optional": 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, + "optional": true + }, + "uri-js": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz", + "integrity": "sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==", + "requires": { + "punycode": "^2.1.0" + }, + "dependencies": { + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" + } + } + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "dev": true, + "optional": 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 + } + } + }, + "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, + "optional": 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" + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "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" + } + }, + "validate.io-array": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/validate.io-array/-/validate.io-array-1.0.6.tgz", + "integrity": "sha1-W1osr9j4uFq7L4hroVPy2Tond00=" + }, + "validate.io-function": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/validate.io-function/-/validate.io-function-1.0.2.tgz", + "integrity": "sha1-NDoZgC7TsZaCaceA5VjpNBHAutc=" + }, + "validate.io-integer": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/validate.io-integer/-/validate.io-integer-1.0.5.tgz", + "integrity": "sha1-FoSWSAuVviJH7EQ/IjPeT4mHgGg=", + "requires": { + "validate.io-number": "^1.0.3" + } + }, + "validate.io-integer-array": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/validate.io-integer-array/-/validate.io-integer-array-1.0.0.tgz", + "integrity": "sha1-LKveAzKTpry+Bj/q/pHq9GsToIk=", + "requires": { + "validate.io-array": "^1.0.3", + "validate.io-integer": "^1.0.4" + } + }, + "validate.io-number": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/validate.io-number/-/validate.io-number-1.0.3.tgz", + "integrity": "sha1-9j/+2iSL8opnqNSODjtGGhZluvg=" + }, + "vm-browserify": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", + "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", + "dev": true + }, + "watchpack": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.4.tgz", + "integrity": "sha512-aWAgTW4MoSJzZPAicljkO1hsi1oKj/RRq/OJQh2PKI2UKL04c2Bs+MBOB+BBABHTXJpf9mCwHN7ANCvYsvY2sg==", + "dev": true, + "requires": { + "chokidar": "^3.4.1", + "graceful-fs": "^4.1.2", + "neo-async": "^2.5.0", + "watchpack-chokidar2": "^2.0.0" + } + }, + "watchpack-chokidar2": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.0.tgz", + "integrity": "sha512-9TyfOyN/zLUbA288wZ8IsMZ+6cbzvsNyEzSBp6e/zkifi6xxbl8SmQ/CxQq32k8NNqrdVEVUVSEf56L4rQ/ZxA==", + "dev": true, + "optional": true, + "requires": { + "chokidar": "^2.1.8" + }, + "dependencies": { + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "optional": 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, + "optional": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } + } + }, + "binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "dev": true, + "optional": true + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "optional": 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" + } + }, + "chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "dev": true, + "optional": 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" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "optional": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "optional": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + } + }, + "fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "dev": true, + "optional": true, + "requires": { + "nan": "^2.12.1" + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "optional": 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, + "optional": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "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, + "optional": true, + "requires": { + "binary-extensions": "^1.0.0" + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "optional": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "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, + "optional": true, + "requires": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + } + }, + "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, + "optional": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + } + } + }, + "webpack": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-3.6.0.tgz", + "integrity": "sha512-OsHT3D0W0KmPPh60tC7asNnOmST6bKTiR90UyEdT9QYoaJ4OYN4Gg7WK1k3VxHK07ZoiYWPsKvlS/gAjwL/vRA==", + "dev": true, + "requires": { + "acorn": "^5.0.0", + "acorn-dynamic-import": "^2.0.0", + "ajv": "^5.1.5", + "ajv-keywords": "^2.0.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": { + "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" + } + } + } + }, + "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" + } + }, + "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" + } + }, + "has-flag": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", + "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", + "dev": true + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "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" + } + }, + "tapable": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-0.2.9.tgz", + "integrity": "sha512-2wsvQ+4GwBvLPLWsNfLCDYGsW6xb7aeC6utq2Qh0PFwgEy7K7dsma9Jsmb2zSQj7GvYAyUGSntLtsv++GmgL1A==", + "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" + } + } + } + }, + "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 + } + } + }, + "whatwg-fetch": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.4.1.tgz", + "integrity": "sha512-sofZVzE1wKwO+EYPbWfiwzaKovWiZXf4coEzjGP9b2GBVgQRLQUZ2QcuPpQExGDAW5GItpEm6Tl4OU5mywnAoQ==" + }, + "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": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", + "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": { + "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" + } + }, + "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 + }, + "write": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz", + "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", + "dev": true, + "requires": { + "mkdirp": "^0.5.1" + } + }, + "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": "1.2.6", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-1.2.6.tgz", + "integrity": "sha1-nHtKgv1dWVsr8Xq23MQxNUMv40s=", + "dev": true, + "requires": { + "minimist": "^0.1.0" + }, + "dependencies": { + "minimist": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.1.0.tgz", + "integrity": "sha1-md9lelJXTCHJBXSX33QnkLK0wN4=", + "dev": true + } + } + }, + "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/services/meta/os-dashboards/workflow-trigger/package.json b/services/meta/os-dashboards/workflow-trigger/package.json new file mode 100644 index 00000000..7b54bd7e --- /dev/null +++ b/services/meta/os-dashboards/workflow-trigger/package.json @@ -0,0 +1,34 @@ +{ + "name": "workflow_trigger", + "version": "0.0.1", + "description": "Workflow-Trigger plugin for Kaapana", + "main": "index.js", + "kibana": { + "version": "6.8.12", + "templateVersion": "1.0.0" + }, + "scripts": { + "preinstall": "node ../../kibana/preinstall_check", + "kbn": "node ../../kibana/scripts/kbn", + "lint": "eslint **/*.js", + "start": "plugin-helpers start", + "test:server": "plugin-helpers test:server", + "test:browser": "plugin-helpers test:browser", + "build": "plugin-helpers build" + }, + "devDependencies": { + "@elastic/eslint-config-kibana": "link:../../kibana/packages/eslint-config-kibana", + "@elastic/eslint-import-resolver-kibana": "^0.9.0", + "@kbn/plugin-helpers": "link:../../kibana/packages/kbn-plugin-helpers", + "babel-eslint": "^8.0.2", + "eslint": "^4.11.0", + "eslint-plugin-babel": "^4.1.1", + "eslint-plugin-import": "^2.3.0", + "eslint-plugin-jest": "^21.3.2", + "eslint-plugin-mocha": "^4.9.0", + "eslint-plugin-prefer-object-spread": "^1.2.1", + "eslint-plugin-react": "^7.0.1", + "expect.js": "^0.3.1" + }, + "dependencies": {} +} diff --git a/services/meta/os-dashboards/workflow-trigger/public/brutusin-json-forms-bootstrap.min.js b/services/meta/os-dashboards/workflow-trigger/public/brutusin-json-forms-bootstrap.min.js new file mode 100644 index 00000000..487f8bfe --- /dev/null +++ b/services/meta/os-dashboards/workflow-trigger/public/brutusin-json-forms-bootstrap.min.js @@ -0,0 +1 @@ +if("undefined"==typeof brutusin||"undefined"==typeof brutusin["json-forms"])throw new Error("brutusin-json-forms-bootstrap.js requires brutusin-json-forms.js");"undefined"==typeof markdown&&window.console&&console.warn("Include markdown.js (https://github.com/evilstreak/markdown-js) to add markdown support in property description popups"),"undefined"!=typeof $&&"undefined"!=typeof $.fn&&"undefined"!=typeof $.fn.selectpicker||!window.console||console.warn("Include bootstrap-select.js (https://github.com/silviomoreto/bootstrap-select) to turn native selects into bootstrap components"),function(){var e=brutusin["json-forms"];e.addDecorator(function(e,t){if(e.tagName){var o=e.tagName.toLowerCase();if("input"===o&&"checkbox"!==e.type||"textarea"===o)e.className+=" form-control";else if("select"===o)e.className+=" chosen-select form-control";else if("button"===o){if("remove"===e.className)for(e.className+=" glyphicon glyphicon-remove";e.firstChild;)e.removeChild(e.firstChild);e.className+=" btn btn-primary btn-xs"}else"form"===o&&(e.className+=" form-inline")}}),e.addDecorator(function(e,t){if(e.tagName){var o=e.tagName.toLowerCase();if(("label"===o||"button"===o)&&e.title){var n=document.createElement("a");n.setAttribute("style","outline: 0; text-decoration: none; margin-left: 2px;"),n.setAttribute("tabIndex",-1),n.className="glyphicon glyphicon-info-sign",n.setAttribute("data-toggle","popover"),n.setAttribute("data-trigger","focus"),"undefined"==typeof markdown?n.setAttribute("data-content",e.title):n.setAttribute("data-content",markdown.toHTML(e.title)),t.title?n.title=t.title:n.title="Help",$(n).popover({placement:"top",container:"body",html:!("undefined"==typeof markdown)}),e.parentNode.appendChild(n)}}}),e.addDecorator(function(e,t){if(e.tagName){var o=e.tagName.toLowerCase();"undefined"!=typeof $&&"undefined"!=typeof $.fn&&"undefined"!=typeof $.fn.selectpicker&&"select"===o&&(e.title="",e.className+=" selectpicker",e.setAttribute("data-live-search",!0),$(e).selectpicker())}}),e.bootstrap=new Object,e.bootstrap.addFormatDecorator=function(t,o,n,a){e.addDecorator(function(e,i){if(e.tagName){var r=e.tagName.toLowerCase();if("input"===r&&"string"===i.type&&i.format===t&&(o&&(e.type=o),n)){var d=e.parentNode,s=document.createElement("table");s.setAttribute("style","border:none;margin:0");var l=document.createElement("tr"),c=document.createElement("td");c.setAttribute("style","width:100%; padding:0;padding-right:4px"),s.appendChild(l),l.appendChild(c),d.removeChild(e),c.appendChild(e),d.appendChild(s);var p=document.createElement("td");l.appendChild(p),p.setAttribute("style","padding:0");var u=document.createElement("button");u.className="btn btn-default glyphicon "+n,u.onclick=function(){a(e)},p.appendChild(u)}}})},e.bootstrap.showLoading=function(e){if(e&&e.parentNode){var t=e.id+"_loading",o=e.id+"_loading-layer",n=document.getElementById(t),a=document.getElementById(o);if(!n){var i=e.tagName.toLowerCase();e.parentNode.style.position="relative",n=document.createElement("span"),n.id=t,n.className="glyphicon glyphicon-refresh glyphicon-refresh-animate","select"===i?n.className+=" loading-icon-select":"checkbox"===e.type?n.className+=" loading-icon-checkbox":n.className+=" loading-icon",e.parentNode.appendChild(n),a=document.createElement("div"),a.className="loading-layer",a.appendChild(document.createTextNode("")),a.id=o,e.parentNode.appendChild(a)}n.style.visibility="visible",a.style.visibility="visible"}},e.bootstrap.hideLoading=function(e){if(e){var t=e.id+"_loading",o=e.id+"_loading-layer",n=document.getElementById(t),a=document.getElementById(o);n&&(n.style.visibility="hidden"),a&&(a.style.visibility="hidden")}},e.onResolutionStarted=e.bootstrap.showLoading,e.onResolutionFinished=e.bootstrap.hideLoading,e.onValidationSuccess=function(e){e.parentNode.className=e.parentNode.className.replace(" has-error","")},e.onValidationError=function(t,o){setTimeout(function(){var n=t.getAttribute("data-toggle"),a=t.getAttribute("data-trigger"),i=t.getAttribute("data-content"),r=t.title;t.setAttribute("data-toggle","popover"),t.setAttribute("data-trigger","manual"),"undefined"==typeof markdown?t.setAttribute("data-content",o):t.setAttribute("data-content",markdown.toHTML(o)),t.title=e.messages.validationError,t.parentNode.className.includes("has-error")||(t.parentNode.className+=" has-error"),t.focus(),$(t).popover({placement:"top",container:"body",html:!0}),$(t).popover("show");var d=t.onblur;t.onblur=function(e){n?($(t).popover("hide"),t.setAttribute("data-toggle",n),t.setAttribute("data-trigger",a),t.setAttribute("data-content",i)):($(t).popover("destroy"),t.removeAttribute("data-toggle"),t.removeAttribute("data-trigger"),t.removeAttribute("data-content")),t.onblur=d,t.title=r,d&&d()}},200)}}(); \ No newline at end of file diff --git a/services/meta/os-dashboards/workflow-trigger/public/brutusin-json-forms.min.css b/services/meta/os-dashboards/workflow-trigger/public/brutusin-json-forms.min.css new file mode 100644 index 00000000..22016fbd --- /dev/null +++ b/services/meta/os-dashboards/workflow-trigger/public/brutusin-json-forms.min.css @@ -0,0 +1 @@ +.add-pattern-div{margin-top:6px}.loading-layer{position:absolute;top:0;left:0;z-index:10;width:100%;height:100%;opacity:.7;background-color:#fff}.loading-icon,.loading-icon-select{position:absolute;top:14px;left:50%;z-index:11}.loading-icon-checkbox{position:absolute;top:7px;left:3px;z-index:11}.glyphicon-refresh-animate{animation:spin .7s infinite linear;-webkit-animation:spin2 .7s infinite linear}@-webkit-keyframes spin2{from{-webkit-transform:rotate(0)}to{-webkit-transform:rotate(360deg)}}@keyframes spin{from{transform:scale(1) rotate(0)}to{transform:scale(1) rotate(360deg)}}form.brutusin-form input,form.brutusin-form select,form.brutusin-form table,form.brutusin-form textarea{width:100%!important;min-width:80px}form.brutusin-form input[type=checkbox]{width:auto!important;min-width:auto!important}form.brutusin-form textarea{height:8em}form.brutusin-form table table{border-left:solid 1px;border-color:#d3d3d3;margin:4px}form.brutusin-form td{vertical-align:top;padding:4px;white-space:nowrap}form.brutusin-form td.prop-name{text-align:right}form.brutusin-form td.add-prop-name table{text-align:right;border:none}form.brutusin-form td.add-prop-name table td{vertical-align:middle}form.brutusin-form td.prop-value{width:100%;text-align:left}form.brutusin-form td.item-index{font-size:.8em;color:#d3d3d3;width:25px;text-align:right}form.brutusin-form td.item-action{width:30px}form.brutusin-form .error{border-color:red}form.brutusin-form .error-message{color:red} \ No newline at end of file diff --git a/services/meta/os-dashboards/workflow-trigger/public/brutusin-json-forms.min.js b/services/meta/os-dashboards/workflow-trigger/public/brutusin-json-forms.min.js new file mode 100644 index 00000000..22cd6af1 --- /dev/null +++ b/services/meta/os-dashboards/workflow-trigger/public/brutusin-json-forms.min.js @@ -0,0 +1 @@ +if("undefined"==typeof brutusin)window.brutusin=new Object;else if("object"!=typeof brutusin)throw"brutusin global variable already exists";!function(){String.prototype.startsWith||(String.prototype.startsWith=function(e,t){return t=t||0,this.indexOf(e,t)===t}),String.prototype.endsWith||(String.prototype.endsWith=function(e,t){var r=this.toString();(void 0===t||t>r.length)&&(t=r.length),t-=e.length;var n=r.indexOf(e,t);return-1!==n&&n===t}),String.prototype.includes||(String.prototype.includes=function(){"use strict";return-1!==String.prototype.indexOf.apply(this,arguments)}),String.prototype.format||(String.prototype.format=function(){for(var e=this,t=0;t0)throw"Error parsing expression '"+e+"': Multiple tokens found inside a bracket";o+=u,i++}else r[r.length]=u;if(s===n.length-1&&a)throw"Error parsing expression '"+e+"': Unbalanced [ found"}this.exp=e,this.queue=r,this.visit=function(e,t){function r(e,n,a,i,o){if(null!=a){var s=n.shift();if("$"===s){e="$";var s=n.shift()}if(s)if(Array.isArray(a)){if(!s.startsWith("["))throw"Node '"+e+"' is of type array";var u=s.substring(1,s.length-1);if(u.equals("#"))for(var l=0;lp)throw"Element '"+u+"' of node '"+e+"' is lower than zero";var d=a[p];r(e+s,n.slice(0),d,a,p)}}else{if("object"!=typeof a)throw"boolean"==typeof a||"number"==typeof a||"string"==typeof a?"Node is leaf but still are tokens remaining: "+s:"Node type '"+typeof a+"' not supported for index field '"+e+"'";if("[*]"===s)for(var c in a){var d=a[c];r(e+s,n.slice(0),d,a,c),r(e+'["'+c+'"]',n.slice(0),d,a,c)}else{var d;if(s.startsWith("[")){var u=s.substring(1,s.length-1);if(!u.startsWith('"')&&!u.startsWith("'"))throw"Element '"+u+"' of node '"+e+"' must be a string expression or wilcard '*'";u=u.substring(1,u.length()-1),e+=s,d=a[u]}else e=e.length>0?e+"."+s:s,d=a[s];r(e,n,d,a,s)}}else t(a,i,o)}}r(this.exp,this.queue,e)}}var SCHEMA_ANY={type:"any"},obj=new Object,schemaMap=new Object,dependencyMap=new Object,renderInfoMap=new Object,container,data,error,initialValue,inputCounter=0,root=schema,formId="BrutusinForms#"+BrutusinForms.instances.length;renameRequiredPropeties(schema),populateSchemaMap("$",schema),validateDepencyMapIsAcyclic();var renderers=new Object;return renderers.integer=function(e,t,r,n,a){renderers.string(e,t,r,n,a)},renderers.number=function(e,t,r,n,a){renderers.string(e,t,r,n,a)},renderers.any=function(e,t,r,n,a){renderers.string(e,t,r,n,a)},renderers.string=function(e,t,r,n,a){var i,o=getSchemaId(t),s=getParentSchemaId(o),u=getSchema(o),l=getSchema(s);if("any"===u.type)i=document.createElement("textarea"),a&&(i.value=JSON.stringify(a,null,4),u.readOnly&&(i.disabled=!0));else if(u.media)i=document.createElement("input"),i.type="file",appendChild(i,d,u);else if(u["enum"]){if(i=document.createElement("select"),!u.required){var d=document.createElement("option"),p=document.createTextNode("");d.value="",appendChild(d,p,u),appendChild(i,d,u)}for(var c=0,m=0;me.length))return BrutusinForms.messages.minLength.format(u.minLength);if(u.maxLength&&e&&u.maxLength=u.maximum)return BrutusinForms.messages.exclusiveMaximum.format(u.maximum);if(!u.exclusiveMaximum&&e>u.maximum)return BrutusinForms.messages.maximum.format(u.maximum)}if(u.hasOwnProperty("minimum")){if(u.exclusiveMinimum&&e<=u.minimum)return BrutusinForms.messages.exclusiveMinimum.format(u.minimum);if(!u.exclusiveMinimum&&eu.maxProperties?BrutusinForms.messages.maxProperties.format(u.maxProperties):void 0}),C.description&&(S.title=C.description),appendChild(S,document.createTextNode("Add "+x),u),appendChild(E,S,u),a)for(var I in a)if(!u.properties||!u.properties.hasOwnProperty(I)){var N=RegExp(x);-1!==I.search(N)&&-1===O.indexOf(I)&&(o(l,d,t+"["+x+"]",I,a[I],x),O.push(I))}appendChild(w,E,u)}if(u.additionalProperties){var F=getSchema(u.additionalProperties),S=document.createElement("button");if(S.setAttribute("type","button"),S.onclick=function(){o(l,d,t+"[*]",void 0)},(u.maxProperties||u.minProperties)&&(S.getValidationError=function(){return u.minProperties&&c+d.rows.lengthu.maxProperties?BrutusinForms.messages.maxProperties.format(u.maxProperties):void 0}),F.description&&(S.title=F.description),appendChild(S,document.createTextNode("Add"),u),appendChild(w,S,u),a)for(var I in a)u.properties&&u.properties.hasOwnProperty(I)||-1===O.indexOf(I)&&o(l,d,t+'["'+m+'"]',I,a[I])}appendChild(e,w,u)}else appendChild(e,d,u)},renderers.array=function(e,t,r,n,a){function i(e,t,r,n,a){var i=getSchemaId(r),o=getSchema(i),s=document.createElement("tbody"),u=document.createElement("tr");u.className="item";var l=document.createElement("td");l.className="item-index";var d=document.createElement("td");d.className="item-action";var p=document.createElement("td");p.className="item-value";var c=document.createElement("button");c.setAttribute("type","button"),c.className="remove",a===!0&&(c.disabled=!0),appendChild(c,document.createTextNode("x"),o);var m=function(){for(var e=0;ep.rows.length)return BrutusinForms.messages.minItems.format(s.minItems);if(s.maxItems&&s.maxItems { + if (response.ok) { + console.log("response - ok") + response.json().then(json => { + alert("Your request was successful!") + console.log(json); + }); + } else { + console.error("Error while starting the DAG!") + console.error("POST-URL: " + trigger_url) + console.error(response.status); + console.error(response.statusText); + console.error(response.type); + console.error(response.url); + console.error(response); + alert("ERROR!\nmsg: " + response.type + "\nSee the javascript log for more information.") + } + }) + .catch(function (err) { + console.log('Fetch Error :-S', err); + }); + } + + + render(visData, status) { + VisController.series_count = visData.rows[0]['col-0-1']; + + if ($('#workflow_dialog').length <= 0) { + this.container.innerHTML = ''; + const table = visData + const metrics = []; + let bucketAgg; + var dag_list; + // var info = table.columns.aggConfig + + this.workflow_dialog = document.createElement(`dialog`); + this.workflow_dialog.setAttribute("id", "workflow_dialog") + // this.workflow_dialog.setAttribute('class','fixed'); + this.workflow_dialog.style.backgroundColor = "#F5F5F5"; + this.workflow_dialog.style.opacity = "1"; + this.workflow_dialog.style.position = "fixed"; + this.workflow_dialog.style.top = "5%"; + this.workflow_dialog.style.zIndex = "100"; + this.workflow_dialog.style.width = "50%"; + this.workflow_dialog.style.borderColor = "#FF851B"; + this.workflow_dialog.style.borderWidth = "thick"; + + if ($(".dshDashboardViewport-withMargins").length) { + $(".dshDashboardViewport-withMargins")[0].appendChild(this.workflow_dialog); + } else { + this.container.appendChild(this.workflow_dialog); + } + + + if (table) { + table.columns.forEach((column, i) => { + // we have multiple rows … first column is a bucket agg + if (table.rows.length > 1 && i == 0) { + bucketAgg = column.aggConfig; + return; + } + + table.rows.forEach(row => { + const value = row['col-0-1']; + metrics.push({ + title: bucketAgg ? `${row[0]} ${column.title}` : column.title, + column: column.title, + value: value, + formattedValue: column.aggConfig ? column.aggConfig.fieldFormatter('text')(value) : value, + bucketValue: bucketAgg ? row[0] : null, + aggConfig: column.aggConfig + }); + }); + }); + this.tmp_metric = metrics[0] + + metrics.forEach(metric => { + VisController.metricBtn = document.createElement(`button`); + VisController.metricDag = document.createElement(`select`); + + + VisController.metricBtn.addEventListener('click', () => { + VisController.selected_dag_id = VisController.metricDag.options[VisController.metricDag.selectedIndex].text; + if (VisController.selected_dag_id.toLowerCase() === "requesting...") { + alert("Could not fetch DAG information from kaapana-api!"); + return; + } + var dag_entry = dag_list[VisController.selected_dag_id] + + if (dag_entry.hasOwnProperty('ui_dag_info')) { + VisController.selected_dag_info = dag_entry['ui_dag_info']; + } else { + VisController.selected_dag_info = null; + } + if (dag_entry.hasOwnProperty('ui_forms')) { + VisController.selected_dag_forms = dag_entry['ui_forms']; + } else { + VisController.selected_dag_forms = null; + } + var bf_pub = null; + var bf_dag = null; + var bf_status = null; + this.workflow_dialog.innerHTML = ""; + const BrutusinForms = brutusin["json-forms"]; + + const ui_forms = VisController.selected_dag_forms + const dag_info = VisController.selected_dag_info + + const send_button = document.createElement(`button`); + send_button.setAttribute("class", "kuiButton kuiButton--secondary"); + send_button.setAttribute("id", "form-ok-button"); + send_button.setAttribute('style', "font-weight: bold;font-size: 2em;margin: 10px;height: 50px;"); + send_button.innerHTML = "START"; + send_button.addEventListener('click', () => { + if (bf_pub && bf_pub.validate()) { + if (bf_pub.getData().hasOwnProperty("confirmation")) { + if (!bf_pub.getData()["confirmation"]) { + alert("You have to confirm the publication-form first!") + return + } else { + console.log("Confirmation ok.") + } + } + } else if (bf_pub) { + alert("Input for form information in not vaild!") + return + } + if (bf_dag && bf_dag.validate()) { + this.dag_form_data = bf_dag.getData().hasOwnProperty("dag_schema") ? bf_dag.getData()["dag_schema"] : bf_dag.getData(); + } else if (bf_dag) { + alert("Input for configuration in not vaild!") + return + } + if (bf_status && bf_status.validate()) { + if (bf_status.getData().hasOwnProperty("cohort_limit")) { + VisController.cohort_limit = bf_status.getData().cohort_limit + } + } else if (bf_status) { + alert("Input for status-form in not vaild!") + return + } + $('#workflow_dialog').eq(0).hide(); + if (document.getElementsByClassName("react-grid-layout dshLayout--viewing").length == 1) { + document.getElementsByClassName("react-grid-layout dshLayout--viewing")[0].style.filter = "none"; + document.getElementsByClassName("react-grid-layout dshLayout--viewing")[0].style.pointerEvents = "auto"; + } + this.start_dag() + }); + + const cancel_button = document.createElement(`button`); + cancel_button.setAttribute("id", "form-cancle-button") + cancel_button.setAttribute("class", "kuiButton kuiButton--danger") + cancel_button.setAttribute('style', "font-weight: bold;font-size: 2em;margin: 10px;height: 50px;"); + cancel_button.innerHTML = "CANCEL" + cancel_button.addEventListener('click', () => { + $('#workflow_dialog').eq(0).hide(); + if (document.getElementsByClassName("react-grid-layout dshLayout--viewing").length == 1) { + document.getElementsByClassName("react-grid-layout dshLayout--viewing")[0].style.filter = "none"; + document.getElementsByClassName("react-grid-layout dshLayout--viewing")[0].style.pointerEvents = "auto"; + } + }); + + const head_dialog_div = document.createElement(`div`); + head_dialog_div.innerHTML = "

DAG: " + VisController.selected_dag_id + "

"; + head_dialog_div.style.paddingTop = '10px' + head_dialog_div.style.paddingBottom = '15px' + this.workflow_dialog.appendChild(head_dialog_div) + + const series_count_div = document.createElement(`div`); + series_count_div.setAttribute("id", "series_count_div"); + series_count_div.innerHTML = "

Series-Count: " + VisController.series_count + "

"; + series_count_div.style.paddingTop = '10px' + series_count_div.style.paddingBottom = '10px' + this.workflow_dialog.appendChild(series_count_div) + + const button_div = document.createElement(`div`); + button_div.setAttribute("style", "text-align: center;"); + button_div.appendChild(send_button) + button_div.appendChild(cancel_button) + + if (ui_forms != null) { + const head_pub_div = document.createElement(`div`); + head_pub_div.innerHTML = "

Information

"; + head_pub_div.style.paddingTop = '10px' + head_pub_div.style.paddingBottom = '10px' + this.workflow_dialog.appendChild(head_pub_div) + + const form_pub_div = document.createElement(`div`); + const form_dag_div = document.createElement(`div`); + + var schema_pub = null; + var schema_dag = null; + + const workflow_form = ui_forms.hasOwnProperty("workflow_form") ? ui_forms["workflow_form"] : null; + const publication_form = ui_forms.hasOwnProperty("publication_form") ? ui_forms["publication_form"] : null; + + if (publication_form != null) { + schema_pub = publication_form; + + for (let key in schema_pub.properties) { + if (!schema_pub.properties[key].hasOwnProperty("description")) { + schema_pub.properties[key].description = schema_pub.properties[key].default; + } + }; + + bf_pub = BrutusinForms.create(schema_pub); + bf_pub.render(form_pub_div); + this.workflow_dialog.appendChild(form_pub_div) + } + + if (workflow_form != null) { + const head_dag_div = document.createElement(`div`); + head_dag_div.innerHTML = "

Configuration

"; + head_dag_div.style.paddingTop = '20px' + head_dag_div.style.paddingBottom = '10px' + this.workflow_dialog.appendChild(head_dag_div) + + schema_dag = workflow_form; + bf_dag = BrutusinForms.create(schema_dag); + bf_dag.schemaResolver = function (names, data, cb) { + var schemas = new Object(); + + names.forEach(function (item, index) { + var tmp_schema = new Object(); + var form_field = item.split("."); + form_field = form_field[form_field.length - 1]; + const schema_template = ui_forms["workflow_form"]["properties"][form_field]; + + const depends = schema_template.hasOwnProperty('dependsOn') ? schema_template["dependsOn"] : null; + data = depends != null && data.hasOwnProperty(depends) ? data[depends] : data; + + tmp_schema.title = schema_template.hasOwnProperty('title') ? schema_template.title : form_field; + tmp_schema.description = schema_template.hasOwnProperty('description') ? schema_template.description : tmp_schema.title; + tmp_schema.readOnly = schema_template.hasOwnProperty('readOnly') ? schema_template.readOnly : false; + tmp_schema.type = schema_template.hasOwnProperty('type') ? schema_template.type : "string"; + const enum_present = schema_template.hasOwnProperty('enum') ? true : false; + + const insert_data = dag_info[data][form_field]; + if (Array.isArray(insert_data) && enum_present) { + tmp_schema.enum = insert_data; + tmp_schema.default = schema_template.hasOwnProperty('default') ? schema_template.default : ""; + } else { + tmp_schema.default = insert_data + ""; + } + schemas[item] = tmp_schema; + }); + cb(schemas); + }; + bf_dag.render(form_dag_div); + this.workflow_dialog.appendChild(form_dag_div) + } + } + + const status_form_div = document.createElement(`div`); + var status_schema = { + "type": "object", + "properties": { + "cohort_limit": { + "title": "Limit cohort-size", + "type": "integer", + "description": "Limit Cohort to this many cases.", + "default": VisController.series_count, + "required": true + } + } + }; + bf_status = BrutusinForms.create(status_schema); + bf_status.render(status_form_div); + this.workflow_dialog.appendChild(status_form_div) + + this.workflow_dialog.appendChild(button_div) + $('#series_count_div').innerHTML = "

Series-Count: " + VisController.series_count + "

"; + $('#workflow_dialog').eq(0).show(); + document.getElementById("form-ok-button").focus(); + if (document.getElementsByClassName("react-grid-layout dshLayout--viewing").length == 1) { + document.getElementsByClassName("react-grid-layout dshLayout--viewing")[0].style.filter = "blur(5px)"; + document.getElementsByClassName("react-grid-layout dshLayout--viewing")[0].style.pointerEvents = "none"; + } + }); + + + function setOptions(list, vis) { + dag_list = list; + VisController.metricDag.innerHTML = ""; + const dag_ids = Object.keys(dag_list).sort(); + for (var i = 0; i < dag_ids.length; i++) { + var dag_id = dag_ids[i]; + if (dag_list[dag_id].hasOwnProperty('ui_visible') && !dag_list[dag_id]["ui_visible"]) { + continue + } + var option = document.createElement("option"); + option.value = dag_id; + option.innerHTML = option.value + VisController.metricDag.appendChild(option); + } + } + + var option = document.createElement("option"); + option.value = "REQUESTING..."; + option.innerHTML = option.value + VisController.metricDag.appendChild(option); + VisController.metricDag.style.width = VisController.metricBtn.style.width; + VisController.metricDag.setAttribute('id', 'dag_dropdown') + VisController.metricDag.setAttribute('class', 'btn btn-primary dropdown-toggle') + VisController.metricDag.setAttribute('style', `font-size: ${this.vis.params.fontSize}pt;` + + `margin: ${this.vis.params.margin}px;` + + 'text-align-last:center;' + + 'width: 95%;'); + + VisController.metricBtn.innerHTML = this.vis.params.buttonTitle.replace("{{value}}", String(VisController.series_count)) + .replace("{{row}}", metric.row) + .replace("{{column}}", metric.column); + + VisController.metricBtn.setAttribute('style', `font-size: ${this.vis.params.fontSize}pt;` + + `margin: ${this.vis.params.margin}px;` + + 'width: 95%;' + + 'background-color: #58D68D;'); + + VisController.metricBtn.setAttribute('class', 'btn btn-primary') + this.container.appendChild(VisController.metricDag); + this.container.appendChild(VisController.metricBtn); + + function getDags(callback, vis) { + var dagurl = VisController.airflow_url + "/getdags?active_only&dag_info" + console.log("DAGURL: " + dagurl) + fetch(dagurl, { + method: 'GET', + headers: { + Accept: 'application/json', + }, + }, + ).then(response => { + if (response.ok) { + response.json().then(json => { + callback(json, vis); + + }); + } else { + console.error("Could not retrieve dags from server!") + console.error("Dag-URL: " + dagurl) + console.log(response.status); + console.log(response.statusText); + console.log(response.type); + console.log(response.url); + + } + }) + .catch(function (err) { + console.log('Fetch Error :-S', err); + }); + } + + if (VisController.metricDag.options[VisController.metricDag.selectedIndex].text === 'REQUESTING...') { + getDags(setOptions, this.vis) + } + + }); + } + + return new Promise(resolve => { + resolve('when done rendering'); + }); + } + } +}; + +export { VisController }; + + +document.onkeydown = function (evt) { + if ($('#workflow_dialog').length > 0 && $('#workflow_dialog').get(0).style.display === "block") { + evt = evt || window.event; + if (evt.keyCode === 27 || (evt.key === "Escape" || evt.key === "Esc")) { + document.getElementById("form-cancle-button").click(); + } else if (evt.key === "Enter" || evt.keyCode == 13) { + document.getElementById("form-ok-button").focus(); + } + } +}; + diff --git a/services/meta/os-dashboards/workflow-trigger/public/workflow_trigger_options.html b/services/meta/os-dashboards/workflow-trigger/public/workflow_trigger_options.html new file mode 100644 index 00000000..193e307f --- /dev/null +++ b/services/meta/os-dashboards/workflow-trigger/public/workflow_trigger_options.html @@ -0,0 +1,11 @@ +
+ + +
+ + +

+ + +
+
\ No newline at end of file diff --git a/services/store/store-init/dicom-init/dicom-init-chart/templates/dicom-init.yaml b/services/store/store-init/dicom-init/dicom-init-chart/templates/dicom-init.yaml index f525da83..feb79346 100644 --- a/services/store/store-init/dicom-init/dicom-init-chart/templates/dicom-init.yaml +++ b/services/store/store-init/dicom-init/dicom-init-chart/templates/dicom-init.yaml @@ -1,53 +1,53 @@ --- apiVersion: batch/v1 kind: Job metadata: name: dicom-init namespace: {{ .Values.global.store_namespace }} spec: template: metadata: name: dicom-init spec: initContainers: - name: init image: {{ .Values.global.registry_url }}/service_checker:1.1 imagePullPolicy: {{ .Values.global.pull_policy_jobs }} env: - name: WAIT - value: "ctp,ctp-dicom-service.flow.svc,11112;dcm4che,dcm4chee-service.store.svc,11115;elastic,elastic-meta-service.meta.svc,9200;airflow,airflow-service.flow.svc,8080,/flow/kaapana/api/getdags" + value: "ctp,ctp-dicom-service.flow.svc,11112;dcm4che,dcm4chee-service.store.svc,11115;elastic,opensearch-service.meta.svc,9200;airflow,airflow-service.flow.svc,8080,/flow/kaapana/api/getdags" - name: DELAY value: "2" - name: TIMEOUT value: "10" containers: - name: dicom-init image: {{ .Values.global.registry_url }}/dicom-init:0.1.1 imagePullPolicy: {{ .Values.global.pull_policy_jobs }} resources: requests: memory: 200Mi limits: memory: 1500Mi env: - name: DCM4CHEE value: "http://dcm4chee-service.store.svc:8080" - name: AET value: "KAAPANA" - name: ELASTIC_HOST - value: "elastic-meta-service.meta.svc:9200" + value: "opensearch-service.meta.svc:9200" - name: AIRFLOW_TRIGGER value: "http://airflow-service.flow.svc:8080/flow/kaapana/api/trigger" volumeMounts: - name: slowdir mountPath: /slow_data_dir volumes: - name: slowdir hostPath: path: {{ .Values.global.slow_data_dir }} type: DirectoryOrCreate restartPolicy: Never imagePullSecrets: - name: registry-secret backoffLimit: 5 \ No newline at end of file diff --git a/services/store/store-init/dicom-init/docker/files/start.py b/services/store/store-init/dicom-init/docker/files/start.py index cd65fd07..6f257d7c 100644 --- a/services/store/store-init/dicom-init/docker/files/start.py +++ b/services/store/store-init/dicom-init/docker/files/start.py @@ -1,231 +1,231 @@ import os import shutil import pydicom import requests import time import glob import subprocess import json from zipfile import ZipFile from subprocess import PIPE, run from elasticsearch import Elasticsearch tmp_data_dir = "/slow_data_dir/TMP" dcm_host = "ctp-dicom-service.flow.svc" dcm_port = "11112" dcm4chee_host = os.getenv("DCM4CHEE", "http://dcm4chee-service.store.svc:8080") aet = os.getenv("AET", "KAAPANA") -_elastichost = os.getenv("ELASTIC_HOST", "elastic-meta-service.meta.svc:9200") +_elastichost = os.getenv("ELASTIC_HOST", "opensearch-service.meta.svc:9200") airflow_host = os.getenv("AIRFLOW_TRIGGER", "http://airflow-service.flow.svc:8080/flow/kaapana/api/trigger") example_files = os.getenv("EXAMPLE", "/example/Winfried_phantom.zip") def send_file(): files_sent = 0 max_count = 10 counter = 0 if os.path.exists(tmp_data_dir): print("Found existing dicom data!") while counter < max_count: dcm_dirs = [] counter += 1 file_list = glob.glob(tmp_data_dir + "/**/*", recursive=True) for fi in file_list: if os.path.isfile(fi): dcm_dirs.append(os.path.dirname(fi)) dcm_dirs = list(set(dcm_dirs)) print("Files found: {}".format(len(file_list))) print("Dcm dirs found: {}".format(len(dcm_dirs))) if len(dcm_dirs) == 0: print("Delete TMP dir!") shutil.rmtree(tmp_data_dir) break for dcm_dir in dcm_dirs: try: dcm_file = os.path.join(dcm_dir, os.listdir(dcm_dir)[0]) print("dcm-file: {}".format(dcm_file)) dataset = pydicom.dcmread(dcm_file)[0x0012, 0x0020].value command = ["dcmsend", "+sd", "+r", "-v", dcm_host, dcm_port, "-aet", "re-index", "-aec", dataset, dcm_dir] # output = run(command) output = run(command, stdout=PIPE, stderr=PIPE, universal_newlines=True) if output.returncode == 0: files_sent += 1 print("############################ success: {}".format(files_sent)) shutil.rmtree(dcm_dir) else: print("error sending img: {}!".format(dcm_dir)) print( "############################################################################################################## STDOUT:") print(output.stdout) print( "############################################################################################################## STDERR:") print(output.stderr) raise except Exception as e: print(e) error_dcm_path = dcm_dir.replace("TMP", "TMP_ERROR") print("Error while sending dcm... ") print("Moving data to {}".format(error_dcm_path)) if not os.path.exists(error_dcm_path): os.makedirs(error_dcm_path) shutil.move(dcm_dir, error_dcm_path) if counter >= max_count: print("------------------------------------------------------------------> Max loops exception!") print("Sent dicoms: {}".format(files_sent)) exit(0) print("Sent dicoms: {}".format(files_sent)) # first file will init meta def send_meta_init(): print("Send Dicom init meta image....") print("") command = ["dcmsend", "+sd", "+r", "-v", dcm_host, dcm_port, "-aet", "dicom-test", "-aec", "dicom-test", "/dicom_test_data/init_data"] output = run(command, stdout=PIPE, stderr=PIPE, universal_newlines=True) if output.returncode == 0: print("############################ Push init meta dicom -> success") example_file_list = glob.glob("/dicom_test_data/init_data" + "/*.dcm", recursive=True) examples_send = [] for examples in example_file_list: item = dict() item['study_uid'] = pydicom.dcmread(examples)[0x0020, 0x000D].value item['series_uid'] = pydicom.dcmread(examples)[0x0020, 0x000E].value item['instance_uid'] = pydicom.dcmread(examples)[0x0008, 0x0018].value item['modality'] = pydicom.dcmread(examples)[0x0008, 0x0060].value examples_send.append(item) return examples_send else: print("error sending example dicom!") print( "############################################################################################################## STDOUT:") print(output.stdout) print( "############################################################################################################## STDERR:") print(output.stderr) exit(1) def check_file_on_platform(examples_send): for file in examples_send: max_counter = 100 counter = 0 quido_success = False while counter < max_counter: # quido file r = requests.get( "{}/dcm4chee-arc/aets/{}/rs/studies/{}/series/{}/instances".format(dcm4chee_host, aet, file['study_uid'], file['series_uid']), verify=False) if r.status_code != requests.codes.ok: counter += 1 time.sleep(10) else: quido_success = True print("File successfully found in PACs") break if not quido_success: print("File not found in PACs!") exit(0) max_counter = 20 counter = 0 meta_query_success = False while True: if counter > max_counter: print("Could not find series in Elastic-search!") print(f" counter {counter} > max_counter {max_counter} !") exit(1) es = Elasticsearch(hosts=_elastichost) queryDict = {} queryDict["query"] = {'bool': { 'must': [ {'match_all': {}}, {'match_phrase': { '0020000E SeriesInstanceUID_keyword.keyword': {'query': file['series_uid']}}}, ], 'filter': [], 'should': [], 'must_not': []}} queryDict["_source"] = {} try: res = es.search(index=["meta-index"], body=queryDict, size=10000, from_=0) except Exception as e: print("Could not request Elastic-search! Error:") print(e) counter += 1 time.sleep(10) hits = res['hits']['hits'] print(("GOT %s results, wait and retry!" % len(hits))) if len(hits) == 1: meta_query_success = True break else: counter += 1 time.sleep(5) if not meta_query_success: print("File not found in META!") exit(0) def trigger_delete_dag(examples_send): for file in examples_send: headers = { 'Cache-Control': 'no-cache', 'Content-Type': 'application/json', } dcm_uid = dict() inputs = dict() dcm_uid['study-uid'] = file['study_uid'] dcm_uid['series-uid'] = file['series_uid'] inputs['dcm-uid'] = dcm_uid data = dict() conf = dict() conf['inputs'] = inputs data['conf'] = conf dag_id = "delete-series-from-platform" print("data", data) print("trigger url: ", '{}/{}'.format(airflow_host, dag_id)) dump = json.dumps(data) response = requests.post('{}/{}'.format(airflow_host, dag_id), headers=headers, data=dump, verify=False) if response.status_code == requests.codes.ok: print("Delete example dicom sucessful triggered") else: print("Error response: %s !" % response.status_code) print(response.content) def send_example(): print("Unzipping example files") example_dir = "/dicom_test_data/phantom" command = ["dcmsend", "+sd", "+r", "-v", dcm_host, dcm_port, "-aet", "phantom-example", "-aec", "phantom-example", example_dir] output = run(command, stdout=PIPE, stderr=PIPE, universal_newlines=True) if output.returncode == 0: print("############################ success send example") else: print("error sending img: {}!".format(example_dir)) print( "############################################################################################################## STDOUT:") print(output.stdout) print( "############################################################################################################## STDERR:") print(output.stderr) if __name__ == "__main__": print("Started dicom init script...") print("Fail protection enabled...") init_meta_file = send_meta_init() check_file_on_platform(examples_send=init_meta_file) trigger_delete_dag(examples_send=init_meta_file) send_file() send_example() diff --git a/workflows/airflow-components/plugins/kaapana/operators/HelperElasticsearch.py b/workflows/airflow-components/plugins/kaapana/operators/HelperElasticsearch.py index 6716d1e2..b1899eee 100644 --- a/workflows/airflow-components/plugins/kaapana/operators/HelperElasticsearch.py +++ b/workflows/airflow-components/plugins/kaapana/operators/HelperElasticsearch.py @@ -1,61 +1,61 @@ from elasticsearch import Elasticsearch class HelperElasticsearch(): study_uid_tag = "0020000D StudyInstanceUID_keyword" series_uid_tag = "0020000E SeriesInstanceUID_keyword" SOPInstanceUID_tag = "00080018 SOPInstanceUID_keyword" modality_tag = "00080060 Modality_keyword" - _elastichost = "elastic-meta-service.meta.svc:9200" + _elastichost = "opensearch-service.meta.svc:9200" es = Elasticsearch(hosts=_elastichost) @staticmethod def get_query_cohort(elastic_query, elastic_index="meta-index"): print("Getting cohort for elastic-query: {}".format(elastic_query)) print("elastic-index: {}".format(elastic_index)) queryDict = {} queryDict["query"] = elastic_query queryDict["_source"] = {"includes": [HelperElasticsearch.study_uid_tag, HelperElasticsearch.series_uid_tag, HelperElasticsearch.SOPInstanceUID_tag, HelperElasticsearch.modality_tag]} try: res = HelperElasticsearch.es.search(index=[elastic_index], body=queryDict, size=10000, from_=0) except Exception as e: print("ERROR in elasticsearch search!") print(e) return None hits = res['hits']['hits'] return hits @staticmethod def get_series_metadata(series_uid, elastic_index="meta-index"): queryDict = {} queryDict["query"] = {'bool': { 'must': [ {'match_all': {}}, {'match_phrase': { '0020000E SeriesInstanceUID_keyword.keyword': {'query': series_uid}}}, ], 'filter': [], 'should': [], 'must_not': []}} queryDict["_source"] = {} try: res = HelperElasticsearch.es.search(index=[elastic_index], body=queryDict, size=10000, from_=0) except Exception as e: print("ERROR in elasticsearch search!") print(e) return None hits = res['hits']['hits'] if len(hits) != 1: print("Elasticsearch got multiple results for series_uid: {}".format(series_uid)) print("This is unexpected and treated as error -> abort!") return None hit = hits[0]["_source"] return hit \ No newline at end of file diff --git a/workflows/airflow-components/plugins/kaapana/operators/LocalDeleteFromElasticOperator.py b/workflows/airflow-components/plugins/kaapana/operators/LocalDeleteFromElasticOperator.py index 2d94badd..5f035b3b 100644 --- a/workflows/airflow-components/plugins/kaapana/operators/LocalDeleteFromElasticOperator.py +++ b/workflows/airflow-components/plugins/kaapana/operators/LocalDeleteFromElasticOperator.py @@ -1,89 +1,89 @@ import glob import os from datetime import timedelta from urllib.error import URLError, HTTPError import urllib.request from elasticsearch import Elasticsearch import pydicom import requests import time import json from kaapana.operators.KaapanaPythonBaseOperator import KaapanaPythonBaseOperator from kaapana.blueprints.kaapana_global_variables import BATCH_NAME, WORKFLOW_DIR class LocalDeleteFromElasticOperator(KaapanaPythonBaseOperator): def start(self, ds, **kwargs): conf = kwargs['dag_run'].conf if 'conf' in conf and 'form_data' in conf['conf'] and conf['conf']['form_data'] is not None and 'delete_complete_study' in conf['conf']['form_data']: self.delete_complete_study = conf['conf']['form_data']['delete_complete_study'] print('Delete entire study set to ', self.delete_complete_study) self.es = Elasticsearch([{'host': self.elastic_host, 'port': self.elastic_port}]) if self.delete_all_documents: print("Delting all documents from elasticsearch...") query = {"query": {"match_all": {}}} self.delete_by_query(query) else: run_dir = os.path.join(WORKFLOW_DIR, kwargs['dag_run'].run_id) batch_folder = [f for f in glob.glob(os.path.join(run_dir, BATCH_NAME, '*'))] dicoms_to_delete = [] for batch_element_dir in batch_folder: dcm_files = sorted(glob.glob(os.path.join(batch_element_dir, self.operator_in_dir, "*.dcm*"), recursive=True)) if len(dcm_files) > 0: incoming_dcm = pydicom.dcmread(dcm_files[0]) series_uid = incoming_dcm.SeriesInstanceUID study_uid = incoming_dcm.StudyInstanceUID if self.delete_complete_study: dicoms_to_delete.append(study_uid) else: dicoms_to_delete.append(series_uid) else: json_files = sorted(glob.glob(os.path.join(batch_element_dir, self.operator_in_dir, "*.json*"), recursive=True)) for meta_files in json_files: with open(meta_files) as fs: metadata = json.load(fs) dicoms_to_delete.append({ 'study_uid': metadata['0020000D StudyInstanceUID_keyword'], 'series_uid': metadata['0020000E SeriesInstanceUID_keyword'] }) if self.delete_complete_study: query = {"query": {"terms": {"0020000D StudyInstanceUID_keyword": dicoms_to_delete}}} else: query = {"query": {"terms": {"_id": dicoms_to_delete}}} self.delete_by_query(query) def delete_by_query(self, query): try: res = self.es.delete_by_query(index=self.elastic_index, body=query) print(res) except Exception as e: print("ERROR deleting from elasticsearch: {}".format(str(e))) exit(1) def __init__(self, dag, delete_operator=None, - elastic_host='elastic-meta-service.meta.svc', + elastic_host='opensearch.meta.svc', elastic_port=9200, elastic_index="meta-index", delete_all_documents=False, delete_complete_study=False, **kwargs): self.elastic_host = elastic_host self.elastic_port = elastic_port self.elastic_index = elastic_index self.delete_all_documents = delete_all_documents self.delete_complete_study = delete_complete_study super().__init__( dag=dag, name='delete-meta', python_callable=self.start, **kwargs ) diff --git a/workflows/airflow-components/plugins/kaapana/operators/LocalJson2MetaOperator.py b/workflows/airflow-components/plugins/kaapana/operators/LocalJson2MetaOperator.py index 43b9253e..5fc0354c 100644 --- a/workflows/airflow-components/plugins/kaapana/operators/LocalJson2MetaOperator.py +++ b/workflows/airflow-components/plugins/kaapana/operators/LocalJson2MetaOperator.py @@ -1,222 +1,222 @@ import shutil import os import json import elasticsearch import elasticsearch.helpers from datetime import datetime import glob import traceback import logging import pydicom import errno import time from kaapana.operators.HelperDcmWeb import HelperDcmWeb from kaapana.operators.KaapanaPythonBaseOperator import KaapanaPythonBaseOperator from kaapana.blueprints.kaapana_global_variables import BATCH_NAME, WORKFLOW_DIR class LocalJson2MetaOperator(KaapanaPythonBaseOperator): def start(self, ds, **kwargs): global es self.ti = kwargs['ti'] print("Starting module json2elastic") run_dir = os.path.join(WORKFLOW_DIR, kwargs['dag_run'].run_id) batch_folder = [f for f in glob.glob(os.path.join(run_dir, BATCH_NAME, '*'))] if self.dicom_operator is not None: self.rel_dicom_dir = self.dicom_operator.operator_out_dir else: self.rel_dicom_dir = self.operator_in_dir self.run_id = kwargs['dag_run'].run_id print(("RUN_ID: %s" % self.run_id)) es = elasticsearch.Elasticsearch([{'host': self.elastic_host, 'port': self.elastic_port}]) for batch_element_dir in batch_folder: if self.jsonl_operator: #jsonl_dir = os.path.join(batch_element_dir, self.jsonl_operator.operator_out_dir) jsonl_dir = os.path.join(batch_element_dir, self.jsonl_operator.operator_out_dir) jsonl_list = glob.glob(jsonl_dir+'/**/*.jsonl', recursive=True) for jsonl_file in jsonl_list: print(("Pushing file: %s to elasticsearch!" % jsonl_file)) with open(jsonl_file, encoding='utf-8') as f: for line in f: obj = json.loads(line) self.push_json(obj) else: # TODO: is this dcm check neccesary? InstanceID is set in upload dcm_files = sorted(glob.glob(os.path.join(batch_element_dir, self.rel_dicom_dir, "*.dcm*"), recursive=True)) self.get_id(dcm_files[0]) json_dir = os.path.join(batch_element_dir, self.json_operator.operator_out_dir) print(("Pushing json files from: %s" % json_dir)) json_list = glob.glob(json_dir+'/**/*.json', recursive=True) print("#") print("#") print("#") print("#### Found json files: %s" % len(json_list)) print("#") assert len(json_list) > 0 for json_file in json_list: print(("Pushing file: %s to elasticsearch!" % json_file)) with open(json_file, encoding='utf-8') as f: new_json = json.load(f) self.push_json(new_json) def mkdir_p(self, path): try: os.makedirs(path) except OSError as exc: # Python >2.5 if exc.errno == errno.EEXIST and os.path.isdir(path): pass else: raise def get_id(self, dcm_file=None): if dcm_file is not None: self.instanceUID = pydicom.dcmread(dcm_file)[0x0020, 0x000e].value self.patient_id = pydicom.dcmread(dcm_file)[0x0010, 0x0020].value print(("Dicom instanceUID: %s" % self.instanceUID)) print(("Dicom Patient ID: %s" % self.patient_id)) elif self.set_dag_id: self.instanceUID = self.run_id else: print("dicom_operator and dct_to_push not specified!") def push_json(self, json_dict): global es if (es.indices.exists(self.elastic_index)): try: print(("Index", self.elastic_index, "exists, producing inserts and streaming them into ES.")) for ok, item in elasticsearch.helpers.streaming_bulk(es, self.produce_inserts(json_dict), chunk_size=500, raise_on_error=True): print(("status: %s" % item['index']['result'])) if not ok: print(("appendJsonToIndex(): %s Item: %s" % (ok, item))) except Exception as e: print("######################################################################################################### ERROR IN TRANSMISSION!") logging.error(traceback.format_exc()) print("####################################### ERROR: %s") for err_msg in e.args: print(err_msg) print("ERROR @PUSH FILE TO ELASTIC") exit(1) else: print("INDEX NOT EXISTING!") # def update_document(self, new_json): # global elastic_indexname # doc_id = self.instanceUID # try: # old_json = es.get(index=elastic_indexname, # doc_type="_doc", id=doc_id)["_source"] # except Exception as e: # print("doc is not updated! -> not found in es") # old_json = {} # for new_key in new_json: # new_value = new_json[new_key] # old_json[new_key] = new_value # return old_json def check_pacs_availability(self, instanceUID: str): print("#") print("# Checking if series available in PACS...") check_count = 0 while not HelperDcmWeb.checkIfSeriesAvailable(seriesUID=instanceUID): print("#") print(f"# Series {instanceUID} not found in PACS-> try: {check_count}") if check_count >= self.avalability_check_max_tries: print(f"# check_count >= avalability_check_max_tries {self.avalability_check_max_tries}") print("# Error! ") print("#") exit(1) print(f"# -> waiting {self.avalability_check_delay} s") time.sleep(self.avalability_check_delay) check_count += 1 def produce_inserts(self, new_json): global es if self.check_in_pacs: self.check_pacs_availability(self.instanceUID) global elastic_indexname try: old_json = es.get(index=self.elastic_index, doc_type="_doc", id=self.instanceUID)["_source"] print("Series already found in ES") if self.no_update: exit(1) except Exception as e: print("doc is not updated! -> not found in es") print(e) old_json = {} bpr_key = "predicted_bodypart_string" for new_key in new_json: if new_key == bpr_key and bpr_key in old_json and old_json[bpr_key].lower() != "n/a": continue new_value = new_json[new_key] old_json[new_key] = new_value index = self.elastic_index try: doc = {} doc["_id"] = self.instanceUID doc["_index"] = index doc["_type"] = "_doc" doc["_source"] = old_json yield doc except (KeyError) as e: print(('KeyError in produce_inserts():', e, ', from input line: ', line[line.find('InstanceUID')-32:line.find('InstanceUID')+172])) pass def __init__(self, dag, dicom_operator=None, json_operator=None, jsonl_operator=None, set_dag_id=False, no_update=False, avalability_check_delay = 10, avalability_check_max_tries = 15, - elastic_host='elastic-meta-service.meta.svc', + elastic_host='opensearch-service.meta.svc', elastic_port=9200, elastic_index="meta-index", check_in_pacs=True, *args, **kwargs): self.dicom_operator = dicom_operator self.json_operator = json_operator self.jsonl_operator = jsonl_operator self.avalability_check_delay = avalability_check_delay self.avalability_check_max_tries = avalability_check_max_tries self.set_dag_id = set_dag_id self.no_update = no_update self.elastic_host = elastic_host self.elastic_port = elastic_port self.elastic_index = elastic_index self.instanceUID = None self.check_in_pacs = check_in_pacs super().__init__( dag=dag, name="json2meta", python_callable=self.start, **kwargs )