diff --git a/.drone/drone.yml b/.drone/drone.yml
deleted file mode 100644
index e1f3d6f..0000000
--- a/.drone/drone.yml
+++ /dev/null
@@ -1,170 +0,0 @@
-kind: pipeline
-type: docker
-name: linux-amd64
-
-platform:
-  arch: amd64
-  os: linux
-
-steps:
-- name: test
-  image: docker.io/drycc/go-dev
-  pull: always
-  privileged: true
-  commands:
-  - make test docker-build-test upload-coverage
-  environment:
-    VERSION: ${DRONE_TAG:-latest}-linux-amd64
-    DEV_REGISTRY: ${DEV_REGISTRY:-docker.io}
-    DRYCC_REGISTRY: ${DRYCC_REGISTRY:-docker.io}
-    CODECOV_TOKEN:
-      from_secret: codecov_token
-  when:
-    event:
-    - push
-    - tag
-    - pull_request
-  volumes:
-  - name: image_registries
-    path: /etc/containers/registries.conf
-
-- name: publish
-  image: docker.io/drycc/go-dev
-  pull: always
-  privileged: true
-  commands:
-  - echo $DOCKER_PASSWORD | docker login $DRYCC_REGISTRY --username $DOCKER_USERNAME --password-stdin
-  - make docker-build docker-immutable-push
-  environment:
-    VERSION: ${DRONE_TAG:-latest}-linux-amd64
-    DEV_REGISTRY:
-      from_secret: dev_registry
-    DRYCC_REGISTRY:
-      from_secret: drycc_registry
-    DOCKER_USERNAME:
-      from_secret: docker_username
-    DOCKER_PASSWORD:
-      from_secret: docker_password
-  when:
-    event:
-    - push
-    - tag
-  volumes:
-  - name: image_registries
-    path: /etc/containers/registries.conf
-
-trigger:
-  event:
-  - push
-  - tag
-  - pull_request
-
-volumes:
-- name: image_registries
-  host:
-    path: /etc/containers/registries.conf
-
----
-kind: pipeline
-type: docker
-name: linux-arm64
-
-platform:
-  arch: arm64
-  os: linux
-
-steps:
-- name: publish
-  image: docker.io/drycc/go-dev
-  pull: always
-  privileged: true
-  commands:
-  - echo $DOCKER_PASSWORD | docker login $DRYCC_REGISTRY --username $DOCKER_USERNAME --password-stdin
-  - make docker-build docker-immutable-push
-  environment:
-    VERSION: ${DRONE_TAG:-latest}-linux-arm64
-    DEV_REGISTRY:
-      from_secret: dev_registry
-    DRYCC_REGISTRY:
-      from_secret: drycc_registry
-    DOCKER_USERNAME:
-      from_secret: docker_username
-    DOCKER_PASSWORD:
-      from_secret: docker_password
-  volumes:
-  - name: image_registries
-    path: /etc/containers/registries.conf
-
-trigger:
-  event:
-  - push
-  - tag
-
-volumes:
-- name: image_registries
-  host:
-    path: /etc/containers/registries.conf
-
----
-kind: pipeline
-type: docker
-name: manifest
-
-steps:
-- name: generate manifest
-  image: docker.io/library/alpine
-  pull: always
-  commands:
-  - sed -i "s/docker.io/$${DRYCC_REGISTRY}/g" .drone/manifest.tmpl
-  environment:
-    DRYCC_REGISTRY:
-      from_secret: drycc_registry
-
-- name: publish
-  image: plugins/manifest
-  settings:
-    spec: .drone/manifest.tmpl
-    username:
-      from_secret: docker_username
-    password:
-      from_secret: docker_password
-  environment:
-    DEV_REGISTRY:
-      from_secret: dev_registry
-    DRYCC_REGISTRY:
-      from_secret: drycc_registry
-
-trigger:
-  event:
-  - push
-  - tag
-
-depends_on:
-- linux-amd64
-- linux-arm64
-
----
-kind: pipeline
-type: docker
-name: chart
-
-steps:
-- name: generate chart
-  image: docker.io/drycc/python-dev
-  commands:
-  - IMAGE_TAG=$([ ! -z $DRONE_TAG ] && echo \"${DRONE_TAG:1}\" || echo \"canary\")
-  - sed -i "s/image_tag:\ \"canary\"/image_tag:\ $IMAGE_TAG/g" charts/passport/values.yaml
-  - helm package charts/passport --version ${DRONE_TAG:-v1.0.0}
-  - curl -u $CHARTMUSEUM_USERNAME:$CHARTMUSEUM_PASSWORD -F chart=@passport-${DRONE_TAG:-v1.0.0}.tgz "$CHARTMUSEUM_API/api/$([ -z $DRONE_TAG ] && echo testing || echo stable)/charts"
-  environment:
-    CHARTMUSEUM_USERNAME:
-      from_secret: chartmuseum_username
-    CHARTMUSEUM_PASSWORD:
-      from_secret: chartmuseum_password
-    CHARTMUSEUM_API:
-      from_secret: chartmuseum_api
-
-trigger:
-  event:
-  - push
-  - tag
diff --git a/.drone/manifest.tmpl b/.drone/manifest.tmpl
deleted file mode 100644
index 7ae9b31..0000000
--- a/.drone/manifest.tmpl
+++ /dev/null
@@ -1,18 +0,0 @@
-image: docker.io/drycc/passport:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}canary{{/if}}
-{{#if build.tags}}
-tags:
-{{#each build.tags}}
-  - {{this}}
-{{/each}}
-{{/if}}
-manifests:
-  -
-    image: docker.io/drycc/passport:{{#if build.tag}}{{build.tag}}-{{else}}latest-{{/if}}linux-amd64
-    platform:
-      architecture: amd64
-      os: linux
-  -
-    image: docker.io/drycc/passport:{{#if build.tag}}{{build.tag}}-{{else}}latest-{{/if}}linux-arm64
-    platform:
-      architecture: arm64
-      os: linux
diff --git a/.gitignore b/.gitignore
index c2d15d2..035dd09 100644
--- a/.gitignore
+++ b/.gitignore
@@ -13,6 +13,9 @@ develop-eggs
 .installed.cfg
 lib
 lib64
+.env
+.vscode
+.venv
 
 # coverage reports
 .coverage
@@ -24,6 +27,7 @@ htmlcov/
 venv/
 
 .idea
+.sisyphus
 env/
 rootfs/web/yarn-error.log
 rootfs/node_modules/
diff --git a/.woodpecker/build-linux.yml b/.woodpecker/build-linux.yml
new file mode 100644
index 0000000..ef4ecfd
--- /dev/null
+++ b/.woodpecker/build-linux.yml
@@ -0,0 +1,35 @@
+matrix:
+  platform:
+    - linux/amd64
+    - linux/arm64
+
+labels:
+  type: exec
+  platform: ${platform}
+
+steps:
+- name: publish-linux
+  image: bash
+  commands:
+  - export VERSION=$([ -z $CI_COMMIT_TAG ] && echo latest || echo $CI_COMMIT_TAG)-$(sed 's#/#-#g' <<< $CI_SYSTEM_PLATFORM)
+  - echo $CONTAINER_PASSWORD | podman login $DRYCC_REGISTRY --username $CONTAINER_USERNAME --password-stdin > /dev/null 2>&1
+  - make podman-build podman-immutable-push
+  environment:
+    CODENAME:
+      from_secret: codename
+    DEV_REGISTRY:
+      from_secret: dev_registry
+    DRYCC_REGISTRY:
+      from_secret: drycc_registry
+    CONTAINER_USERNAME:
+      from_secret: container_username
+    CONTAINER_PASSWORD:
+      from_secret: container_password
+  when:
+    event:
+    - push
+    - tag
+    - cron
+
+depends_on:
+- test-linux
\ No newline at end of file
diff --git a/.woodpecker/chart.yaml b/.woodpecker/chart.yaml
new file mode 100644
index 0000000..cfcd3ec
--- /dev/null
+++ b/.woodpecker/chart.yaml
@@ -0,0 +1,33 @@
+labels:
+  type: exec
+  platform: linux/amd64
+
+steps:
+- name: generate-chart
+  image: bash
+  commands:
+  - export VERSION=$(sed 's#v##' <<< $CI_COMMIT_TAG)
+  - export IMAGE_TAG=$([ ! -z $CI_COMMIT_TAG ] && echo \"$VERSION\" || echo \"canary\")
+  - export APP_VERSION=$([ -z $CI_COMMIT_TAG ] && echo $CI_COMMIT_SHA || echo $VERSION)
+  - export CHART_VERSION=$([ -z $CI_COMMIT_TAG ] && echo 1.0.0 || echo $VERSION)
+  - sed -i "s/imageTag:\ \"canary\"/imageTag:\ $IMAGE_TAG/g" charts/$${CI_REPO_NAME}/values.yaml
+  - helm package -u charts/$${CI_REPO_NAME} --version $CHART_VERSION --app-version $APP_VERSION
+  - echo $CONTAINER_PASSWORD | helm registry login $DRYCC_REGISTRY -u $CONTAINER_USERNAME --password-stdin
+  - helm push $${CI_REPO_NAME}-$CHART_VERSION.tgz oci://$DRYCC_REGISTRY/$([ -z $CI_COMMIT_TAG ] && echo charts-testing || echo charts)
+  environment:
+    DEV_REGISTRY:
+      from_secret: dev_registry
+    DRYCC_REGISTRY:
+      from_secret: drycc_registry
+    CONTAINER_USERNAME:
+      from_secret: container_username
+    CONTAINER_PASSWORD:
+      from_secret: container_password
+  when:
+    event:
+    - push
+    - tag
+    - cron
+
+depends_on:
+- manifest
diff --git a/.woodpecker/manifest.tmpl b/.woodpecker/manifest.tmpl
new file mode 100644
index 0000000..8739535
--- /dev/null
+++ b/.woodpecker/manifest.tmpl
@@ -0,0 +1,18 @@
+image: registry.drycc.cc/drycc/{{project}}:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}canary{{/if}}
+{{#if build.tags}}
+tags:
+{{#each build.tags}}
+  - {{this}}
+{{/each}}
+{{/if}}
+manifests:
+  -
+    image: registry.drycc.cc/drycc/{{project}}:{{#if build.tag}}{{build.tag}}-{{else}}latest-{{/if}}linux-amd64
+    platform:
+      architecture: amd64
+      os: linux
+  -
+    image: registry.drycc.cc/drycc/{{project}}:{{#if build.tag}}{{build.tag}}-{{else}}latest-{{/if}}linux-arm64
+    platform:
+      architecture: arm64
+      os: linux
diff --git a/.woodpecker/manifest.yml b/.woodpecker/manifest.yml
new file mode 100644
index 0000000..19fc70c
--- /dev/null
+++ b/.woodpecker/manifest.yml
@@ -0,0 +1,43 @@
+labels:
+  type: exec
+  platform: linux/amd64
+
+steps:
+- name: generate-manifest
+  image: bash
+  commands:
+  - sed -i "s/{{project}}/$${CI_REPO_NAME}/g" .woodpecker/manifest.tmpl
+  - sed -i "s/registry.drycc.cc/$${DRYCC_REGISTRY}/g" .woodpecker/manifest.tmpl
+  environment:
+    DRYCC_REGISTRY:
+      from_secret: drycc_registry
+  when:
+    event:
+    - tag
+    - push
+    - cron
+
+- name: publish-manifest
+  image: bash
+  commands:
+  - podman run --rm
+    -e PLUGIN_SPEC=.woodpecker/manifest.tmpl
+    -e PLUGIN_USERNAME=$CONTAINER_USERNAME
+    -e PLUGIN_PASSWORD=$CONTAINER_PASSWORD
+    -e DRONE_TAG=$CI_COMMIT_TAG
+    -v $(pwd):$(pwd)
+    -w $(pwd)
+    docker.io/plugins/manifest
+  environment:
+    CONTAINER_USERNAME:
+      from_secret: container_username
+    CONTAINER_PASSWORD:
+      from_secret: container_password
+  when:
+    event:
+    - tag
+    - push
+    - cron
+
+depends_on:
+- build-linux
diff --git a/.woodpecker/test-linux.yml b/.woodpecker/test-linux.yml
new file mode 100644
index 0000000..f22a5f0
--- /dev/null
+++ b/.woodpecker/test-linux.yml
@@ -0,0 +1,26 @@
+matrix:
+  platform:
+  - linux/amd64
+  - linux/arm64
+
+labels:
+  type: exec
+  platform: ${platform}
+
+steps:
+- name: test-linux
+  image: bash
+  commands:
+  - make test podman-build-test upload-coverage
+  environment:
+    CODENAME:
+      from_secret: codename
+    DEV_REGISTRY:
+      from_secret: dev_registry
+    CODECOV_TOKEN:
+      from_secret: codecov_token
+  when:
+    event:
+    - push
+    - tag
+    - cron
diff --git a/Makefile b/Makefile
index e6db5d5..b070b54 100644
--- a/Makefile
+++ b/Makefile
@@ -7,7 +7,7 @@ PLATFORM ?= linux/amd64,linux/arm64
 
 include versioning.mk
 
-SHELLCHECK_PREFIX := docker run -v ${CURDIR}:/workdir -w /workdir ${DEV_REGISTRY}/drycc/go-dev shellcheck
+SHELLCHECK_PREFIX := podman run -v ${CURDIR}:/workdir -w /workdir ${DEV_REGISTRY}/drycc/go-dev shellcheck
 SHELL_SCRIPTS = $(wildcard rootfs/bin/*) $(shell find "rootfs" -name '*.sh') $(wildcard _scripts/*.sh)
 
 # Test processes used in quick unit testing
@@ -19,44 +19,41 @@ check-kubectl:
 	  exit 2; \
 	fi
 
-check-docker:
-	@if [ -z $$(which docker) ]; then \
-	  echo "Missing \`docker\` client which is required for development"; \
+check-podman:
+	@if [ -z $$(which podman) ]; then \
+	  echo "Missing \`podman\` client which is required for development"; \
 	  exit 2; \
 	fi
 
-build: docker-build
+build: podman-build
 
-docker-build: check-docker
-	docker build ${DOCKER_BUILD_FLAGS} -t ${IMAGE} rootfs
-	docker tag ${IMAGE} ${MUTABLE_IMAGE}
+podman-build: check-podman
+	podman build --build-arg CODENAME=${CODENAME} -t ${IMAGE} rootfs
+	podman tag ${IMAGE} ${MUTABLE_IMAGE}
 
-docker-buildx: check-docker
-	docker buildx build --platform ${PLATFORM} -t ${IMAGE} rootfs --push
+podman-build-test: check-podman
+	podman build --build-arg CODENAME=${CODENAME} -t ${IMAGE}.test -f rootfs/Dockerfile.test rootfs
 
-docker-build-test: check-docker
-	docker build ${DOCKER_BUILD_FLAGS} -t ${IMAGE}.test -f rootfs/Dockerfile.test rootfs
-
-deploy: check-kubectl docker-build docker-push
+deploy: check-kubectl podman-build podman-push
 	kubectl --namespace=drycc patch deployment drycc-$(COMPONENT) --type='json' -p='[{"op": "replace", "path": "/spec/template/spec/containers/0/image", "value":"$(IMAGE)"}]'
 
-clean: check-docker
-	docker rmi $(IMAGE)
+clean: check-podman
+	podman rmi $(IMAGE)
 
 commit-hook:
 	cp _scripts/util/commit-msg .git/hooks/commit-msg
 
-full-clean: check-docker
-	docker images -q $(IMAGE_PREFIX)/$(COMPONENT) | xargs docker rmi -f
+full-clean: check-podman
+	podman images -q $(IMAGE_PREFIX)/$(COMPONENT) | xargs podman rmi -f
 
 test: test-style test-unit test-functional
 
-test-style: docker-build-test
-	docker run -v ${CURDIR}:/test -w /test/rootfs ${IMAGE}.test /test/rootfs/bin/test-style
+test-style: podman-build-test
+	podman run -v ${CURDIR}:/test -w /test/rootfs ${IMAGE}.test /test/rootfs/bin/test-style
 	${SHELLCHECK_PREFIX} $(SHELL_SCRIPTS)
 
-test-unit: docker-build-test
-	docker run -v ${CURDIR}:/test -w /test/rootfs ${IMAGE}.test /test/rootfs/bin/test-unit
+test-unit: podman-build-test
+	podman run -v ${CURDIR}:/test -w /test/rootfs ${IMAGE}.test /test/rootfs/bin/test-unit
 
 test-functional:
 	@echo "Implement functional tests in _tests directory"
@@ -66,6 +63,6 @@ test-integration:
 
 upload-coverage:
 	$(eval CI_ENV := $(shell curl -s https://codecov.io/env | bash))
-	docker run ${CI_ENV} -v ${CURDIR}:/test -w /test/rootfs ${IMAGE}.test codecov --required
+	podman run ${CI_ENV} -v ${CURDIR}:/test -w /test/rootfs -e CODECOV_TOKEN=${CODECOV_TOKEN} ${IMAGE}.test /test/rootfs/bin/upload-coverage
 
-.PHONY: check-kubectl check-docker build docker-build docker-build-test deploy clean commit-hook full-clean test test-style test-unit test-functional test-integration upload-coverage
+.PHONY: check-kubectl check-podman build podman-build podman-build-test deploy clean commit-hook full-clean test test-style test-unit test-functional test-integration upload-coverage
diff --git a/README.md b/README.md
index 76f222a..725655e 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,6 @@
 # Drycc Passport
 
-[![Build Status](https://drone.drycc.cc/api/badges/drycc/passport/status.svg)](https://drone.drycc.cc/drycc/passport)
+[![Build Status](https://woodpecker.drycc.cc/api/badges/drycc/passport/status.svg)](https://woodpecker.drycc.cc/drycc/passport)
 [![codecov.io](https://codecov.io/github/drycc/passport/coverage.svg?branch=main)](https://codecov.io/github/drycc/passport?branch=main)
 
 Drycc (pronounced DAY-iss) Workflow is an open source Platform as a Service (PaaS) that adds a developer-friendly layer to any [Kubernetes](http://kubernetes.io) cluster, making it easy to deploy and manage applications on your own servers.
@@ -12,5 +12,4 @@ If you'd like to participate in development, please read the "Development" secti
 
 # About
 
-The Passport is the Oauth2.0 API server for [Drycc Workflow](https://drycc.cc).
-
+The Passport is the Oauth2.0 API server for [Drycc Workflow](https://www.drycc.cc).
diff --git a/charts/passport/Chart.yaml b/charts/passport/Chart.yaml
index 81e3433..ca02b02 100644
--- a/charts/passport/Chart.yaml
+++ b/charts/passport/Chart.yaml
@@ -1,7 +1,13 @@
 name: passport
 home: https://github.com/drycc/passport
-version: v1.0.0
+apiVersion: v2
+appVersion: 1.0.0
+dependencies:
+  - name: common
+    repository: oci://registry.drycc.cc/charts
+    version: ~1.1.2
 description: Drycc Workflow passport (API).
 maintainers:
   - name: Drycc Team
     email: engineering@drycc.com
+version: v1.0.0
diff --git a/charts/passport/files/reserved-name-patterns.txt b/charts/passport/files/reserved-name-patterns.txt
new file mode 100644
index 0000000..1b6ca23
--- /dev/null
+++ b/charts/passport/files/reserved-name-patterns.txt
@@ -0,0 +1,13 @@
+^backup$
+^catalog$
+^cert-manager$
+^default$
+^drycc(?:-[\w-]+)?$
+^istio(?:-[\w-]+)?$
+^kube(?:-[\w-]+)?$
+^longhorn-system$
+^metallb$
+^mount-s3$
+^topolvm$
+^rook-ceph$
+^personal$
\ No newline at end of file
diff --git a/charts/passport/templates/_helpers.tpl b/charts/passport/templates/_helpers.tpl
index 81902d1..e29a72f 100644
--- a/charts/passport/templates/_helpers.tpl
+++ b/charts/passport/templates/_helpers.tpl
@@ -14,61 +14,51 @@ rbac.authorization.k8s.io/v1
 {{/* Generate passport deployment envs */}}
 {{- define "passport.envs" }}
 env:
-- name: "TZ"
+- name: TZ
   value: {{ .Values.time_zone | default "UTC" | quote }}
-- name: "DRYCC_CONTROLLER_DOMAIN"
-{{- if .Values.global.cert_manager_enabled }}
-  value: https://drycc.{{ .Values.global.platform_domain }}
-{{- else }}
-  value: http://drycc.{{ .Values.global.platform_domain }}
-{{- end }}
-- name: SOCIAL_AUTH_DRYCC_CONTROLLER_KEY
-  valueFrom:
-    secretKeyRef:
-      name: passport-creds
-      key: social-auth-drycc-controller-key
-- name: SOCIAL_AUTH_DRYCC_CONTROLLER_SECRET
-  valueFrom:
-    secretKeyRef:
-      name: passport-creds
-      key: social-auth-drycc-controller-secret
-- name: WORKFLOW_NAMESPACE
-  valueFrom:
-    fieldRef:
-      fieldPath: metadata.namespace
+- name: "DJANGO_SETTINGS_MODULE"
+  value: "api.settings.production"
+- name: VERSION
+  value: {{ .Chart.AppVersion }}
 - name: ADMIN_USERNAME
-  value: {{ .Values.admin_username | default "admin" | quote }}
+  value: {{ .Values.adminUsername | default "admin" | quote }}
 - name: ADMIN_PASSWORD
-  value: {{ .Values.admin_password | default "admin" | quote }}
+  value: {{ .Values.adminPassword | default "admin" | quote }}
 - name: ADMIN_EMAIL
-  value: {{ .Values.admin_email | default "admin@email.com" | quote }}
-{{- if eq .Values.global.grafana_location "on-cluster" }}
-- name: "DRYCC_MONITOR_GRAFANA_DOMAIN"
-{{- if .Values.global.cert_manager_enabled }}
-  value: https://drycc-monitor-grafana.{{ .Values.global.platform_domain }}
-{{- else }}
-  value: http://drycc-monitor-grafana.{{ .Values.global.platform_domain }}
-{{- end }}
-- name: GRAFANA_ON_CLUSTER
-  value: "true"
-- name: SOCIAL_AUTH_DRYCC_GRAFANA_KEY
+  value: {{ .Values.adminEmail | default "admin@email.com" | quote }}
+- name: PLATFORM_DOMAIN
+  value: {{ .Values.global.platformDomain }}
+- name: CERT_MANAGER_ENABLED
+  value: "{{ .Values.global.certManagerEnabled }}"
+{{- if (.Values.valkeyUrl) }}
+- name: DRYCC_VALKEY_URL
   valueFrom:
     secretKeyRef:
       name: passport-creds
-      key: social-auth-drycc-grafana-key
-- name: SOCIAL_AUTH_DRYCC_GRAFANA_SECRET
+      key: valkey-url
+{{- else if .Values.valkey.enabled  }}
+- name: VALKEY_PASSWORD
   valueFrom:
     secretKeyRef:
-      name: passport-creds
-      key: social-auth-drycc-grafana-secret
+      name: valkey-creds
+      key: password
+- name: DRYCC_VALKEY_URL
+  value: "redis://:$(VALKEY_PASSWORD)@drycc-valkey:16379/1"
 {{- end }}
-{{- if (.Values.database_url) }}
+{{- if (.Values.databaseUrl) }}
 - name: DRYCC_DATABASE_URL
   valueFrom:
     secretKeyRef:
       name: passport-creds
       key: database-url
-{{- else if eq .Values.global.database_location "on-cluster" }}
+{{- if (.Values.databaseReplicaUrl) }}
+- name: DRYCC_DATABASE_REPLICA_URL
+  valueFrom:
+    secretKeyRef:
+      name: passport-creds
+      key: database-replica-url
+{{- end }}
+{{- else if .Values.database.enabled }}
 - name: DRYCC_DATABASE_USER
   valueFrom:
     secretKeyRef:
@@ -79,13 +69,10 @@ env:
     secretKeyRef:
       name: database-creds
       key: password
-- name: DRYCC_DATABASE_NAME
-  valueFrom:
-    secretKeyRef:
-      name: database-creds
-      key: passport-database-name
 - name: DRYCC_DATABASE_URL
-  value: "postgres://$(DRYCC_DATABASE_USER):$(DRYCC_DATABASE_PASSWORD)@$(DRYCC_DATABASE_SERVICE_HOST):$(DRYCC_DATABASE_SERVICE_PORT)/$(DRYCC_DATABASE_NAME)"
+  value: "postgres://$(DRYCC_DATABASE_USER):$(DRYCC_DATABASE_PASSWORD)@drycc-database:5432/passport"
+- name: DRYCC_DATABASE_REPLICA_URL
+  value: "postgres://$(DRYCC_DATABASE_USER):$(DRYCC_DATABASE_PASSWORD)@drycc-database-replica:5432/passport"
 {{- end }}
 {{- range $key, $value := .Values.environment }}
 - name: {{ $key }}
@@ -94,34 +81,24 @@ env:
 {{- end }}
 
 
-{{/* Generate passport deployment limits */}}
-{{- define "passport.limits" -}}
-{{- if or (.Values.limits_cpu) (.Values.limits_memory) }}
-resources:
-  limits:
-{{- if (.Values.limits_cpu) }}
-    cpu: {{.Values.limits_cpu}}
-{{- end }}
-{{- if (.Values.limits_memory) }}
-    memory: {{.Values.limits_memory}}
-{{- end }}
-{{- end }}
-{{- end }}
-
-
 {{/* Generate passport deployment volumeMounts */}}
 {{- define "passport.volumeMounts" }}
 volumeMounts:
   - name: passport-creds
     mountPath: /var/run/secrets/drycc/passport
     readOnly: true
+  - name: passport-config
+    mountPath: /etc/drycc/passport
+    readOnly: true
 {{- end }}
 
-
 {{/* Generate passport deployment volumes */}}
 {{- define "passport.volumes" }}
 volumes:
   - name: passport-creds
     secret:
       secretName: passport-creds
+  - name: passport-config
+    configMap:
+      name: passport-config
 {{- end }}
diff --git a/charts/passport/templates/api/passport-api-deployment.yaml b/charts/passport/templates/api/passport-api-deployment.yaml
new file mode 100644
index 0000000..a06f714
--- /dev/null
+++ b/charts/passport/templates/api/passport-api-deployment.yaml
@@ -0,0 +1,73 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  name: drycc-passport-api
+  labels:
+    heritage: drycc
+  annotations:
+    component.drycc.cc/version: {{ .Values.imageTag }}
+spec:
+  replicas: {{ .Values.api.replicas }}
+  strategy:
+    rollingUpdate:
+      maxSurge: 1
+      maxUnavailable: 0
+    type: RollingUpdate
+  selector:
+    matchLabels:
+      app: drycc-passport
+      component: drycc-passport-api
+  template:
+    metadata:
+      labels: {{- include "common.labels.standard" . | nindent 8 }}
+        app: drycc-passport
+        component: drycc-passport-api
+    spec:
+      affinity:
+        podAffinity: {{- include "common.affinities.pods" (dict "type" .Values.api.podAffinityPreset.type "component" "" "extraMatchLabels" .Values.api.podAffinityPreset.extraMatchLabels "topologyKey" "" "context" $) | nindent 10 }}
+        podAntiAffinity: {{- include "common.affinities.pods" (dict "type" .Values.api.podAntiAffinityPreset.type "component" "" "extraMatchLabels" .Values.api.podAntiAffinityPreset.extraMatchLabels "topologyKey" "" "context" $) | nindent 10 }}
+        nodeAffinity: {{- include "common.affinities.nodes" (dict "type" .Values.api.nodeAffinityPreset.type "key" .Values.api.nodeAffinityPreset.key "values" .Values.api.nodeAffinityPreset.values ) | nindent 10 }}
+      serviceAccount: drycc-passport
+      initContainers:
+      - name: drycc-passport-api-init
+        image: {{.Values.imageRegistry}}/{{.Values.imageOrg}}/python-dev:latest
+        imagePullPolicy: {{.Values.imagePullPolicy}}
+        args:
+        - netcat
+        - -v
+        - -u
+        - $(DRYCC_DATABASE_URL),$(DRYCC_DATABASE_REPLICA_URL),$(DRYCC_VALKEY_URL)
+        {{- include "passport.envs" . | indent 8 }}
+      containers:
+      - name: drycc-passport-api
+        image: {{.Values.imageRegistry}}/{{.Values.imageOrg}}/passport:{{.Values.imageTag}}
+        imagePullPolicy: {{.Values.imagePullPolicy}}
+        {{- if .Values.diagnosticMode.enabled }}
+        command: {{- include "common.tplvalues.render" (dict "value" .Values.diagnosticMode.command "context" $) | nindent 10 }}
+        args: {{- include "common.tplvalues.render" (dict "value" .Values.diagnosticMode.args "context" $) | nindent 10 }}
+        {{- end }}
+        {{- if not .Values.diagnosticMode.enabled }}
+        livenessProbe:
+          httpGet:
+            path: /healthz
+            port: 8000
+          initialDelaySeconds: 30
+          timeoutSeconds: 10
+        readinessProbe:
+          httpGet:
+            path: /readiness
+            port: 8000
+          initialDelaySeconds: 30
+          timeoutSeconds: 10
+          periodSeconds: 5
+        {{- end }}
+        ports:
+          - containerPort: 8000
+            name: http
+        {{- with index .Values "api" "resources" }}
+        resources:
+          {{- toYaml . | nindent 10 }}
+        {{- end }}
+        {{- include "passport.envs" . | indent 8 }}
+        {{- include "passport.volumeMounts" . | indent 8 }}
+      {{- include "passport.volumes" . | indent 6 }}
diff --git a/charts/passport/templates/celery/passport-celery-deployment.yaml b/charts/passport/templates/celery/passport-celery-deployment.yaml
new file mode 100644
index 0000000..5c118b0
--- /dev/null
+++ b/charts/passport/templates/celery/passport-celery-deployment.yaml
@@ -0,0 +1,65 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  name: drycc-passport-celery
+  labels:
+    heritage: drycc
+  annotations:
+    component.drycc.cc/version: {{ .Values.imageTag }}
+spec:
+  replicas: {{ .Values.celery.replicas }}
+  strategy:
+    rollingUpdate:
+      maxSurge: 1
+      maxUnavailable: 0
+    type: RollingUpdate
+  selector:
+    matchLabels:
+      app: drycc-passport
+      component: drycc-passport-celery
+  template:
+    metadata:
+      labels: {{- include "common.labels.standard" . | nindent 8 }}
+        app: drycc-passport
+        component: drycc-passport-celery
+    spec:
+      affinity:
+        podAffinity: {{- include "common.affinities.pods" (dict "type" .Values.celery.podAffinityPreset.type "component" "" "extraMatchLabels" .Values.celery.podAffinityPreset.extraMatchLabels "topologyKey" "" "context" $) | nindent 10 }}
+        podAntiAffinity: {{- include "common.affinities.pods" (dict "type" .Values.celery.podAntiAffinityPreset.type "component" "" "extraMatchLabels" .Values.celery.podAntiAffinityPreset.extraMatchLabels "topologyKey" "" "context" $) | nindent 10 }}
+        nodeAffinity: {{- include "common.affinities.nodes" (dict "type" .Values.celery.nodeAffinityPreset.type "key" .Values.celery.nodeAffinityPreset.key "values" .Values.celery.nodeAffinityPreset.values ) | nindent 10 }}
+      serviceAccount: drycc-passport
+      initContainers:
+      - name: drycc-passport-init
+        image: {{.Values.imageRegistry}}/{{.Values.imageOrg}}/python-dev:latest
+        imagePullPolicy: {{.Values.imagePullPolicy}}
+        args:
+          - netcat
+          - -v
+          - -u
+          - $(DRYCC_DATABASE_URL),$(DRYCC_DATABASE_REPLICA_URL),$(DRYCC_VALKEY_URL)
+        {{- include "passport.envs" . | indent 8 }}
+      containers:
+      - name: drycc-passport-celery
+        image: {{.Values.imageRegistry}}/{{.Values.imageOrg}}/passport:{{.Values.imageTag}}
+        imagePullPolicy: {{.Values.imagePullPolicy}}
+        {{- if .Values.diagnosticMode.enabled }}
+        command: {{- include "common.tplvalues.render" (dict "value" .Values.diagnosticMode.command "context" $) | nindent 10 }}
+        args: {{- include "common.tplvalues.render" (dict "value" .Values.diagnosticMode.args "context" $) | nindent 10 }}
+        {{- else }}
+        args:
+          - celery
+          - -A
+          - api
+          - worker
+          - -Q
+          - passport.notifications
+          - -l
+          - info
+        {{- end }}
+        {{- with index .Values "celery" "resources" }}
+        resources:
+          {{- toYaml . | nindent 10 }}
+        {{- end }}
+        {{- include "passport.envs" . | indent 8 }}
+        {{- include "passport.volumeMounts" . | indent 8 }}
+      {{- include "passport.volumes" . | indent 6 }}
diff --git a/charts/passport/templates/passport-certificate.yaml b/charts/passport/templates/passport-certificate.yaml
deleted file mode 100644
index a5b000c..0000000
--- a/charts/passport/templates/passport-certificate.yaml
+++ /dev/null
@@ -1,17 +0,0 @@
-{{- if eq .Values.global.passport_location "on-cluster" }}
-{{- if .Values.global.cert_manager_enabled }}
-apiVersion: cert-manager.io/v1
-kind: Certificate
-metadata:
-  name: drycc-passport
-spec:
-  secretName: drycc-passport-certificate-auto
-  issuerRef:
-    name: drycc-cluster-issuer
-    kind: ClusterIssuer
-  dnsNames:
-  - drycc-passport.{{ .Values.global.platform_domain }}
-  privateKey:
-    rotationPolicy: Always
-{{- end }}
-{{- end }}
diff --git a/charts/passport/templates/passport-configmap.yaml b/charts/passport/templates/passport-configmap.yaml
new file mode 100644
index 0000000..8280dcf
--- /dev/null
+++ b/charts/passport/templates/passport-configmap.yaml
@@ -0,0 +1,15 @@
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: passport-config
+  labels:
+    heritage: drycc
+data:
+  init-applications.json: |-
+{{ toPrettyJson .Values.initApplications | indent 4 }}
+  reserved-name-patterns.txt: |-
+    {{- if .Values.reservedNames }}
+    {{- (tpl .Values.reservedNames $)  | nindent 4 }}
+    {{- else}}
+    {{- .Files.Get "files/reserved-name-patterns.txt" | nindent 4 }}
+    {{- end }}
\ No newline at end of file
diff --git a/charts/passport/templates/passport-deployment.yaml b/charts/passport/templates/passport-deployment.yaml
deleted file mode 100644
index 6346128..0000000
--- a/charts/passport/templates/passport-deployment.yaml
+++ /dev/null
@@ -1,60 +0,0 @@
-{{- if eq .Values.global.passport_location "on-cluster" }}
-apiVersion: apps/v1
-kind: Deployment
-metadata:
-  name: drycc-passport
-  labels:
-    heritage: drycc
-  annotations:
-    component.drycc.cc/version: {{ .Values.image_tag }}
-spec:
-  replicas: {{ .Values.replicas }}
-  strategy:
-    rollingUpdate:
-      maxSurge: 1
-      maxUnavailable: 0
-    type: RollingUpdate
-  selector:
-    matchLabels:
-      app: drycc-passport
-  template:
-    metadata:
-      labels:
-        app: drycc-passport
-    spec:
-      serviceAccount: drycc-passport
-      initContainers:
-      - name: drycc-passport-init
-        image: docker.io/drycc/python-dev:latest
-        imagePullPolicy: {{.Values.image_pull_policy}}
-        command:
-          - netcat
-          - -v
-          - -u
-          - $(DRYCC_DATABASE_URL)
-        {{- include "passport.envs" . | indent 8 }}
-      containers:
-      - name: drycc-passport
-        image: {{.Values.image_registry}}/{{.Values.image_org}}/passport:{{.Values.image_tag}}
-        imagePullPolicy: {{.Values.image_pull_policy}}
-        livenessProbe:
-          httpGet:
-            path: /healthz
-            port: 8000
-          initialDelaySeconds: 30
-          timeoutSeconds: 10
-        readinessProbe:
-          httpGet:
-            path: /readiness
-            port: 8000
-          initialDelaySeconds: 30
-          timeoutSeconds: 10
-          periodSeconds: 5
-        ports:
-          - containerPort: 8000
-            name: http
-        {{- include "passport.limits" . | indent 8 }}
-        {{- include "passport.envs" . | indent 8 }}
-        {{- include "passport.volumeMounts" . | indent 8 }}
-      {{- include "passport.volumes" . | indent 6 }}
-{{- end }}
diff --git a/charts/passport/templates/passport-ingress.yaml b/charts/passport/templates/passport-ingress.yaml
deleted file mode 100644
index 7de1973..0000000
--- a/charts/passport/templates/passport-ingress.yaml
+++ /dev/null
@@ -1,38 +0,0 @@
-{{- if eq .Values.global.passport_location "on-cluster" }}
-apiVersion: networking.k8s.io/v1
-kind: Ingress
-metadata:
-  name: "passport-api-server"
-  labels:
-    app: "passport"
-    chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
-    release: "{{ .Release.Name }}"
-    heritage: "{{ .Release.Service }}"
-  annotations:
-    kubernetes.io/tls-acme: "true"
-    {{- if not (eq .Values.global.ingress_class "") }}
-    kubernetes.io/ingress.class: "{{ .Values.global.ingress_class }}"
-    {{ end }}
-spec:
-  rules:
-  - host: drycc-passport.{{ .Values.global.platform_domain }}
-    http:
-      paths:
-      - pathType: Prefix
-        {{- if eq .Values.global.ingress_class "gce" "alb" }}
-        path: /*
-        {{- else }}{{/* Has annotations but ingress class is not "gce" nor "alb" */}}
-        path: /
-        {{- end }}
-        backend:
-          service:
-            name: drycc-passport
-            port:
-              number: 80
-  {{ if .Values.global.cert_manager_enabled }}
-  tls:
-    - secretName: drycc-passport-certificate-auto
-      hosts:
-        - drycc-passport.{{ .Values.global.platform_domain }}
-  {{- end }}
-{{- end }}
diff --git a/charts/passport/templates/passport-job-upgrade.yaml b/charts/passport/templates/passport-job-upgrade.yaml
new file mode 100644
index 0000000..b15a2e0
--- /dev/null
+++ b/charts/passport/templates/passport-job-upgrade.yaml
@@ -0,0 +1,47 @@
+apiVersion: batch/v1
+kind: Job
+metadata:
+  name: drycc-passport-job-upgrade
+  annotations:
+    component.drycc.cc/version: {{ .Values.imageTag }}
+spec:
+  template:
+    spec:
+      initContainers:
+      - name: drycc-passport-init
+        image: {{.Values.imageRegistry}}/{{.Values.imageOrg}}/python-dev:latest
+        imagePullPolicy: {{.Values.imagePullPolicy}}
+        args:
+          - netcat
+          - -v
+          - -u
+          - $(DRYCC_DATABASE_URL),$(DRYCC_DATABASE_REPLICA_URL)
+        {{- include "passport.envs" . | indent 8 }}
+      containers:
+      - name: drycc-passport-job-upgrade
+        image: {{.Values.imageRegistry}}/{{.Values.imageOrg}}/passport:{{.Values.imageTag}}
+        imagePullPolicy: {{.Values.imagePullPolicy}}
+        {{- if .Values.diagnosticMode.enabled }}
+        command: {{- include "common.tplvalues.render" (dict "value" .Values.diagnosticMode.command "context" $) | nindent 8 }}
+        args: {{- include "common.tplvalues.render" (dict "value" .Values.diagnosticMode.args "context" $) | nindent 8 }}
+        {{- else }}
+        args:
+        - /usr/bin/env
+        - bash
+        - -ec
+        - |
+          python -u /workspace/manage.py migrate --noinput
+          if [ "${ADMIN_USERNAME}" ] && [ "${ADMIN_PASSWORD}" ] && [ "${ADMIN_EMAIL}" ]; then
+            echo "Create administrator"
+            python /workspace/manage.py createadminuser --username "${ADMIN_USERNAME}" --password "${ADMIN_PASSWORD}" --noinput --email "${ADMIN_EMAIL}"
+          fi
+          python /workspace/manage.py create_oauth2_application --path /etc/drycc/passport/init-applications.json
+        {{- end }}
+        {{- with index .Values "resources" }}
+        resources:
+          {{- toYaml . | nindent 10 }}
+        {{- end }}
+        {{- include "passport.envs" . | indent 8 }}
+        {{- include "passport.volumeMounts" . | indent 8 }}
+      {{- include "passport.volumes" . | indent 6 }}
+      restartPolicy: Never
diff --git a/charts/passport/templates/passport-secret-creds.yaml b/charts/passport/templates/passport-secret-creds.yaml
index 6a21cd6..a3b0618 100644
--- a/charts/passport/templates/passport-secret-creds.yaml
+++ b/charts/passport/templates/passport-secret-creds.yaml
@@ -1,22 +1,24 @@
-{{- if eq .Values.global.passport_location "on-cluster" }}
 apiVersion: v1
 kind: Secret
 metadata:
   name: passport-creds
   labels:
     heritage: drycc
-  annotations:
-    "helm.sh/hook": pre-install
 data:
-  {{- if (.Values.database_url) }}
-  database-url: {{ .Values.database_url | b64enc }}
+  {{- if (.Values.valkeyUrl) }}
+  valkey-url: {{ .Values.valkeyUrl | b64enc }}
   {{- end }}
-  django-secret-key: {{ randAscii 64 | b64enc }}
-  social-auth-drycc-controller-key: {{ randAlphaNum 40 | b64enc }}
-  social-auth-drycc-controller-secret: {{ randAlphaNum 64 | b64enc }}
-  {{- if eq .Values.global.grafana_location "on-cluster" }}
-  social-auth-drycc-grafana-key: {{ randAlphaNum 40 | b64enc }}
-  social-auth-drycc-grafana-secret: {{ randAlphaNum 64 | b64enc }}
+  {{- if (.Values.databaseUrl) }}
+  database-url: {{ .Values.databaseUrl | b64enc }}
+  {{- end }}
+  {{- if (.Values.databaseReplicaUrl) }}
+  database-replica-url: {{ .Values.databaseReplicaUrl | b64enc }}
+  {{- end }}
+  django-secret-key: {{ (include "common.secrets.lookup" (dict "secret" "passport-creds" "key" "django-secret-key" "defaultValue" (randAlphaNum 64) "context" $)) }}
+  oidc-rsa-private-key: {{genPrivateKey "rsa" | b64enc}}
+  {{- range $item := .Values.initApplications }}
+  {{- $name := ($item.name | replace " " "-" | lower) }}
+  drycc-passport-{{$name}}-key: {{ (include "common.secrets.lookup" (dict "secret" "passport-creds" "key" (printf "drycc-passport-%s-key" $name) "defaultValue" ($item.key | default (randAlphaNum 40)) "context" $)) }}
+  drycc-passport-{{$name}}-secret: {{ (include "common.secrets.lookup" (dict "secret" "passport-creds" "key" (printf "drycc-passport-%s-secret" $name) "defaultValue" ($item.secret | default (randAlphaNum 64)) "context" $)) }}
+  drycc-passport-{{$name}}-scopes: {{ ($item.allowed_scopes | default "") | b64enc | quote }}
   {{- end }}
-  oidc-rsa-private-key: "{{genPrivateKey "rsa" | b64enc}}"
-{{- end }}
diff --git a/charts/passport/templates/passport-service-account.yaml b/charts/passport/templates/passport-service-account.yaml
index 6fbc446..c5714ad 100644
--- a/charts/passport/templates/passport-service-account.yaml
+++ b/charts/passport/templates/passport-service-account.yaml
@@ -1,8 +1,6 @@
-{{- if eq .Values.global.passport_location "on-cluster" }}
 apiVersion: v1
 kind: ServiceAccount
 metadata:
   name: drycc-passport
   labels:
     heritage: drycc
-{{- end }}
diff --git a/charts/passport/templates/passport-service.yaml b/charts/passport/templates/passport-service.yaml
index a320960..17119f7 100644
--- a/charts/passport/templates/passport-service.yaml
+++ b/charts/passport/templates/passport-service.yaml
@@ -1,10 +1,15 @@
-{{- if eq .Values.global.passport_location "on-cluster" }}
 apiVersion: v1
 kind: Service
 metadata:
   name: drycc-passport
+  annotations:
+    {{- with .Values.service.annotations }}
+    {{- toYaml . | nindent 4 }}
+    {{- end }}
   labels:
+    app: drycc-passport
     heritage: drycc
+    component: drycc-passport-api
 spec:
   ports:
     - name: http
@@ -12,4 +17,4 @@ spec:
       targetPort: 8000
   selector:
     app: drycc-passport
-{{- end }}
\ No newline at end of file
+    component: drycc-passport-api
diff --git a/charts/passport/values.yaml b/charts/passport/values.yaml
index 8f81201..0da7257 100644
--- a/charts/passport/values.yaml
+++ b/charts/passport/values.yaml
@@ -1,13 +1,74 @@
-image_org: "drycc"
-image_pull_policy: "Always"
-image_tag: "canary"
-image_registry: "docker.io"
-# Set passport deployment replicas
-replicas: 1
-# limits_cpu: "100m"
-# limits_memory: "50Mi"
-## Configuring this will no longer use the built-in database component
-database_url: ""
+imageOrg: "drycc"
+imagePullPolicy: "Always"
+imageTag: "canary"
+imageRegistry: "registry.drycc.cc"
+
+## Enable diagnostic mode
+##
+diagnosticMode:
+  ## @param diagnosticMode.enabled Enable diagnostic mode (all probes will be disabled and the command will be overridden)
+  ##
+  enabled: false
+  ## @param diagnosticMode.command Command to override all containers
+  ##
+  command:
+    - sleep
+  ## @param diagnosticMode.args Args to override all containers
+  ##
+  args:
+    - infinity
+
+api:
+  replicas: 1
+  resources: {}
+    # limits:
+    #   cpu: 200m
+    #   memory: 50Mi
+    # requests:
+    #   cpu: 100m
+    #   memory: 30Mi
+  nodeAffinityPreset:
+    key: "drycc.cc/node"
+    type: "soft"
+    values:
+    - "true"
+  podAffinityPreset:
+    type: ""
+    extraMatchLabels:
+      security: "drycc-security"
+  podAntiAffinityPreset:
+    type: "soft"
+    extraMatchLabels:
+      app: "drycc-passport-api"
+
+celery:
+  replicas: 1
+  resources: {}
+    # limits:
+    #   cpu: 200m
+    #   memory: 50Mi
+    # requests:
+    #   cpu: 100m
+    #   memory: 30Mi
+  nodeAffinityPreset:
+    key: "drycc.cc/node"
+    type: "soft"
+    values:
+    - "true"
+  podAffinityPreset:
+    type: ""
+    extraMatchLabels:
+      security: "drycc-security"
+  podAntiAffinityPreset:
+    type: "soft"
+    extraMatchLabels:
+      app: "drycc-passport"
+      component: "drycc-passport-celery"
+## valkeyUrl is will no longer use the built-in valkey component
+valkeyUrl: ""
+## databaseUrl and databaseReplicaUrl are will no longer use the built-in database component
+databaseUrl: ""
+databaseReplicaUrl: ""
 # Any custom controller environment variables
 # can be specified as key-value pairs under environment
 # this is usually a non required setting.
@@ -42,40 +103,65 @@ environment:
 #  EMAIL_USE_TLS: ""
 #  EMAIL_USE_SSL: ""
 # Used to create Django admin users
-admin_username: "admin"
-admin_password: "admin"
-admin_email: "admin@email.com"
+adminUsername: "admin"
+adminPassword: "admin"
+adminEmail: "admin@email.com"
+# Reserved names
+reservedNames: ""
+# The following configurations to initialize oauth2 application
+# Names are all lowercase letters
+# The key and secret are generated automatically if they are empty
+# If prefix is not empty, it represents internal application.
+#
+initApplications:
+- name: "controller"
+  key: ""
+  secret: ""
+  prefix: "drycc"
+  grant_type: "internal"
+  client_type: "confidential"
+  allowed_scopes: "openid profile email manager:workspace manager:usage passport:message"
+  redirect_uri: "/v2/complete/drycc/"
+- name: "grafana"
+  key: ""
+  secret: ""
+  prefix: "drycc-grafana"
+  grant_type: "internal"
+  client_type: "confidential"
+  allowed_scopes: "openid profile email controller:alerts controller:metrics controller:logs"
+  redirect_uri: "/oauth2/callback"
+- name: "builder"
+  key: ""
+  secret: ""
+  prefix: ""
+  grant_type: "client-credentials"
+  client_type: "confidential"
+  allowed_scopes: "controller:hook"
+  redirect_uri: ""
+- name: "manager"
+  key: ""
+  secret: ""
+  prefix: ""
+  grant_type: "client-credentials"
+  client_type: "confidential"
+  allowed_scopes: "controller:blocklist"
+  redirect_uri: ""
 
-global:
-  # Set the location of Workflow's grafana instance
-  #
-  # Valid values are:
-  # - on-cluster: Run Grafana within the Kubernetes cluster
-  # - off-cluster: Grafana is running outside of the cluster
-  grafana_location: "on-cluster"
+# Service
+service:
+  # Provide any additional service annotations
+  annotations: {}
 
-  # Admin email, used for each component to send email to administrator
-  email: "drycc@drycc.cc"
-  # Set the location of Workflow's PostgreSQL database
-  #
-  # Valid values are:
-  # - on-cluster: Run PostgreSQL within the Kubernetes cluster (credentials are generated
-  #   automatically; backups are sent to object storage
-  #   configured above)
-  # - off-cluster: Run PostgreSQL outside the Kubernetes cluster (configure in database section)
-  database_location: "on-cluster"
+valkey:
+  enabled: true
 
-  # Please check `kubernetes.io/ingress.class`
-  ingress_class: ""
-  # A domain name consists of one or more parts.
-  # Periods (.) are used to separate these parts.
-  # Each part must be 1 to 63 characters in length and can contain lowercase letters, digits, and hyphens (-).
-  # It must start and end with a lowercase letter or digit.
-  cluster_domain: "cluster.local"
+database:
+  enabled: true
+
+global:
   # The public resolvable hostname to build your cluster with.
   #
   # This will be the hostname that is used to build endpoints such as "drycc.$HOSTNAME"
-  platform_domain: ""
+  platformDomain: ""
   # Whether cert_passport is enabled to automatically generate passport certificates
-  cert_manager_enabled: true
-  passport_location: "on-cluster"
+  certManagerEnabled: true
diff --git a/rootfs/Dockerfile b/rootfs/Dockerfile
index 80d2623..c08620f 100644
--- a/rootfs/Dockerfile
+++ b/rootfs/Dockerfile
@@ -1,43 +1,63 @@
-FROM node:16-alpine3.14 as build-app
+ARG CODENAME
+FROM registry.drycc.cc/drycc/base:${CODENAME} as build-app
 
-ADD web /app
-WORKDIR /app
+ADD web /web
+WORKDIR /web
 
-RUN npm install \
+ENV NODE_VERSION="24"
+
+RUN install-stack node $NODE_VERSION && . init-stack \
+  && npm install --global yarn \
+  && yarn install \
   && yarn build
 
-FROM docker.io/library/python:3.9-alpine
-
-COPY requirements.txt /app/requirements.txt
-
-RUN apk add --update --virtual .build-deps \
-    postgresql-dev \
-    gcc \
-    libffi-dev \
-    musl-dev \
-    openldap-dev \
-    openssl-dev \
-    cargo \
-    rust \
-  && python3 -m venv /app/.venv \
-  && source /app/.venv/bin/activate \
-  && pip3 install --disable-pip-version-check --no-cache-dir -r /app/requirements.txt \
-  && find /app/.venv /usr/local -type f -executable ! -path '*/cryptography*' -exec scanelf --needed --nobanner --format '%n#p' '{}' ';' \
-    | tr ',' '\n' \
-    | sort -u \
-    | awk 'system("[[ -e /app/.venv/lib/" $1 " || -e /usr/local/lib/" $1 " ]]") == 0 { next } { print "so:" $1 }' \
-    | xargs -rt apk add --no-cache --virtual .python-rundeps \
-  && apk add --update --virtual .passport-rundeps \
-    ca-certificates \
-    su-exec \
-    bash \
-    shadow \
-  && apk del .build-deps
-
-COPY . /app
-COPY --from=build-app /app/dist /app/web/dist
-
-ENV PATH /app/.venv/bin:/app/bin:$PATH
-WORKDIR /app
-CMD ["/app/bin/boot"]
+FROM registry.drycc.cc/drycc/base:${CODENAME}
+
+ARG DRYCC_UID=1001 \
+  DRYCC_GID=1001 \
+  DRYCC_HOME_DIR=/workspace \
+  PYTHON_VERSION="3.14"
+
+RUN groupadd drycc --gid ${DRYCC_GID} \
+  && useradd drycc -u ${DRYCC_UID} -g ${DRYCC_GID} -s /bin/bash -m -d ${DRYCC_HOME_DIR}
+
+COPY requirements.txt ${DRYCC_HOME_DIR}/requirements.txt
+
+RUN buildDeps='gcc rustc cargo libffi-dev musl-dev libldap2-dev libsasl2-dev'; \
+    install-packages $buildDeps \
+  && install-stack python $PYTHON_VERSION && . init-stack \
+  && python3 -m venv ${DRYCC_HOME_DIR}/.venv \
+  && source ${DRYCC_HOME_DIR}/.venv/bin/activate \
+  && pip3 install --disable-pip-version-check --no-cache-dir -r ${DRYCC_HOME_DIR}/requirements.txt \
+  && chown -R ${DRYCC_UID}:${DRYCC_GID} ${DRYCC_HOME_DIR} \
+  # set env
+  && echo "source ${DRYCC_HOME_DIR}/.venv/bin/activate" >> /opt/drycc/python/profile.d/python.sh \
+  # cleanup
+  && scanelp ${DRYCC_HOME_DIR}/.venv/lib > runtime.txt \
+  && apt-get purge -y --auto-remove $buildDeps \
+  && install-packages $(< runtime.txt) \
+  && apt-get autoremove -y \
+  && apt-get clean -y \
+  && rm -rf \
+        /usr/share/doc \
+        /usr/share/man \
+        /usr/share/info \
+        /usr/share/locale \
+        /var/lib/apt/lists/* \
+        /var/log/* \
+        /var/cache/debconf/* \
+        /etc/systemd \
+        /lib/lsb \
+        /lib/udev \
+        /usr/lib/`echo $(uname -m)`-linux-gnu/gconv/IBM* \
+        /usr/lib/`echo $(uname -m)`-linux-gnu/gconv/EBC* \
+  && mkdir -p /usr/share/man/man{1..8}
+
+USER ${DRYCC_UID}
+
+COPY --chown=${DRYCC_UID}:${DRYCC_GID} . ${DRYCC_HOME_DIR}
+COPY --chown=${DRYCC_UID}:${DRYCC_GID} --from=build-app /web/dist ${DRYCC_HOME_DIR}/web/dist
+
+WORKDIR ${DRYCC_HOME_DIR}
+CMD ["bin/boot"]
 EXPOSE 8000
diff --git a/rootfs/Dockerfile.test b/rootfs/Dockerfile.test
index 0a3b174..ea284df 100644
--- a/rootfs/Dockerfile.test
+++ b/rootfs/Dockerfile.test
@@ -1,48 +1,80 @@
-FROM docker.io/library/python:3.9-alpine
-
-COPY requirements.txt /app/requirements.txt
-COPY dev_requirements.txt /app/dev_requirements.txt
-
-ENV PGDATA /var/lib/postgresql/12
-
-ENV PATH="/app/.venv/bin:${PATH}"
-
-RUN echo https://dl-cdn.alpinelinux.org/alpine/edge/testing >>/etc/apk/repositories \
-  && apk add --update --virtual .build-deps \
-    postgresql-dev \
-    gcc \
-    libffi-dev \
-    musl-dev \
-    openldap-dev \
-    openssl-dev \
-    cargo \
-    rust \
-  && python3 -m venv /app/.venv \
-  && source /app/.venv/bin/activate \
-  && pip3 install --disable-pip-version-check --no-cache-dir -r /app/requirements.txt \
-  && pip3 install --disable-pip-version-check --no-cache-dir -r /app/dev_requirements.txt \
-  && find /app/.venv /usr/local -type f -executable ! -path '*/cryptography*' -exec scanelf --needed --nobanner --format '%n#p' '{}' ';' \
-    | tr ',' '\n' \
-    | sort -u \
-    | awk 'system("[[ -e /app/.venv/lib/" $1 " || -e /usr/local/lib/" $1 " ]]") == 0 { next } { print "so:" $1 }' \
-    | xargs -rt apk add --no-cache --virtual .python-rundeps \
-  && apk add --update --virtual .passport-rundeps \
-    git \
-    mercurial \
-    ca-certificates \
-    su-exec \
-    bash \
-    shadow \
-    postgresql \
-    openssl \
+ARG CODENAME
+FROM registry.drycc.cc/drycc/base:${CODENAME} as build-app
+
+ADD web /web
+WORKDIR /web
+
+ENV NODE_VERSION="24"
+
+RUN install-stack node $NODE_VERSION && . init-stack \
+  && npm install --global yarn \
+  && yarn install \
+  && yarn build
+
+
+ARG CODENAME
+FROM registry.drycc.cc/drycc/base:${CODENAME}
+
+ARG DRYCC_UID=1001 \
+  DRYCC_GID=1001 \
+  DRYCC_HOME_DIR=/workspace \
+  PYTHON_VERSION="3.14" \
+  VALKEY_VERSION="9.0.1" \
+  POSTGRES_VERSION="18.1" \
+  GOSU_VERSION="1.19"
+
+
+RUN groupadd drycc --gid ${DRYCC_GID} \
+  && useradd drycc -u ${DRYCC_UID} -g ${DRYCC_GID} -s /bin/bash -m -d ${DRYCC_HOME_DIR}
+
+ENV PGDATA="/var/lib/postgresql/data"
+
+COPY requirements.txt ${DRYCC_HOME_DIR}/requirements.txt
+COPY dev_requirements.txt ${DRYCC_HOME_DIR}/dev_requirements.txt
+
+RUN buildDeps='gcc rustc cargo libffi-dev musl-dev libldap2-dev libsasl2-dev'; \
+  install-packages ldap-utils mercurial ca-certificates openssl git $buildDeps \
+  && curl -SsL https://cli.codecov.io/latest/$([ $(dpkg --print-architecture) == "arm64" ] && echo linux-arm64 || echo linux)/codecov -o /usr/local/bin/codecov \
+  && chmod +x /usr/local/bin/codecov \
+  && install-stack python $PYTHON_VERSION \
+  && install-stack valkey $VALKEY_VERSION \
+  && install-stack postgresql $POSTGRES_VERSION \
+  && install-stack gosu $GOSU_VERSION && . init-stack \
+  && python3 -m venv ${DRYCC_HOME_DIR}/.venv \
+  && source ${DRYCC_HOME_DIR}/.venv/bin/activate \
+  && pip3 install --disable-pip-version-check --no-cache-dir -r ${DRYCC_HOME_DIR}/requirements.txt \
+  && pip3 install --disable-pip-version-check --no-cache-dir -r ${DRYCC_HOME_DIR}/dev_requirements.txt \
+  # set env
+  && echo "source ${DRYCC_HOME_DIR}/.venv/bin/activate" >> /opt/drycc/python/profile.d/python.sh \
+  # cleanup
+  && scanelp ${DRYCC_HOME_DIR}/.venv/lib > runtime.txt \
+  && apt-get purge -y --auto-remove $buildDeps \
+  && install-packages $(< runtime.txt) \
+  && apt-get autoremove -y \
+  && apt-get clean -y \
+  && rm -rf \
+        /usr/share/doc \
+        /usr/share/man \
+        /usr/share/info \
+        /usr/share/locale \
+        /var/lib/apt/lists/* \
+        /var/log/* \
+        /var/cache/debconf/* \
+        /etc/systemd \
+        /lib/lsb \
+        /lib/udev \
+        /usr/lib/`echo $(uname -m)`-linux-gnu/gconv/IBM* \
+        /usr/lib/`echo $(uname -m)`-linux-gnu/gconv/EBC* \
+  && mkdir -p /usr/share/man/man{1..8} \
   && mkdir -p /run/postgresql $PGDATA \
+  && groupadd postgres && useradd -g postgres postgres \
   && chown -R postgres:postgres /run/postgresql $PGDATA \
-  && apk del .build-deps \
-  && su-exec postgres initdb -D $PGDATA
+  && gosu postgres initdb -D $PGDATA
 
-COPY . /app
+COPY . ${DRYCC_HOME_DIR}
+COPY --chown=${DRYCC_UID}:${DRYCC_GID} . ${DRYCC_HOME_DIR}
+COPY --chown=${DRYCC_UID}:${DRYCC_GID} --from=build-app /web/dist ${DRYCC_HOME_DIR}/web/dist
 
-ENV PATH /app/.venv/bin:/app/bin:$PATH
-WORKDIR /app
-CMD ["/app/bin/boot"]
+WORKDIR ${DRYCC_HOME_DIR}
+CMD ["bin/boot"]
 EXPOSE 8000
diff --git a/rootfs/api/__init__.py b/rootfs/api/__init__.py
index 1a72d32..15d33ec 100644
--- a/rootfs/api/__init__.py
+++ b/rootfs/api/__init__.py
@@ -1 +1,7 @@
+"""
+The **api** Django app presents a RESTful web API for interacting with the **drycc** system.
+"""
+from .settings.celery import app as celery_app
+
 __version__ = '1.1.0'
+__all__ = ('celery_app',)
diff --git a/rootfs/api/admin.py b/rootfs/api/admin.py
new file mode 100644
index 0000000..e6328f0
--- /dev/null
+++ b/rootfs/api/admin.py
@@ -0,0 +1,45 @@
+from django.contrib import admin
+from django.contrib.auth.admin import UserAdmin as BaseUserAdmin
+from oauth2_provider.admin import ApplicationAdmin as BaseApplicationAdmin
+
+from .models import User, Message, MessagePreference, Application
+
+
+try:
+    admin.site.unregister(Application)
+except admin.sites.NotRegistered:
+    pass
+
+
+@admin.register(Application)
+class ApplicationAdmin(BaseApplicationAdmin):
+    list_display = (
+        "id", "name", "user", "client_type",
+        "authorization_grant_type", "allowed_scopes",
+    )
+
+
+class UserAdmin(BaseUserAdmin):
+    add_fieldsets = (
+        (None, {
+            'classes': ('wide',),
+            'fields': ('username', 'password1', 'password2', 'email'),
+        }),
+    )
+
+
+class MessageAdmin(admin.ModelAdmin):
+    list_display = ('id', 'user', 'category', 'title', 'severity', 'is_read', 'created_at')
+    list_filter = ('category', 'severity', 'is_read', 'created_at')
+    search_fields = ('title', 'content', 'user__username')
+    readonly_fields = ('created_at', 'updated_at')
+
+
+class MessagePreferenceAdmin(admin.ModelAdmin):
+    list_display = ('user', 'email_alerts', 'push_alerts')
+    search_fields = ('user__username',)
+
+
+admin.site.register(User, UserAdmin)
+admin.site.register(Message, MessageAdmin)
+admin.site.register(MessagePreference, MessagePreferenceAdmin)
diff --git a/rootfs/api/apps.py b/rootfs/api/apps.py
new file mode 100644
index 0000000..85e1f47
--- /dev/null
+++ b/rootfs/api/apps.py
@@ -0,0 +1,10 @@
+from django import apps
+
+
+class AppConfig(apps.AppConfig):
+    default_auto_field = 'django.db.models.BigAutoField'
+    name = 'api'
+
+    def ready(self):
+        super(AppConfig, self).ready()
+        __import__("api.signals")
diff --git a/rootfs/api/apps_extra/__init__.py b/rootfs/api/apps_extra/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/rootfs/api/apps_extra/social_core/__init__.py b/rootfs/api/apps_extra/social_core/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/rootfs/api/apps_extra/social_core/backends.py b/rootfs/api/apps_extra/social_core/backends.py
new file mode 100644
index 0000000..34f8ab6
--- /dev/null
+++ b/rootfs/api/apps_extra/social_core/backends.py
@@ -0,0 +1,82 @@
+import json
+from os.path import join, dirname
+from pathlib import Path
+from social_core.backends.oauth import BaseOAuth2
+from social_core.backends.github import GithubOAuth2 as BaseGithubOAuth2
+from social_core.backends.google import GoogleOAuth2 as BaseGoogleOAuth2
+from social_core.backends.weixin import WeixinOAuth2 as BaseWeixinOAuth2
+
+
+def icon_path(name):
+    return Path(join(dirname(__file__), "icons", f"{name}.svg"))
+
+
+class GithubOAuth2(BaseGithubOAuth2):
+    icon = icon_path("github").read_text(encoding="utf-8")
+
+
+class GoogleOAuth2(BaseGoogleOAuth2):
+    name = "google"
+    icon = icon_path("google").read_text(encoding="utf-8")
+
+
+class WeixinOAuth2(BaseWeixinOAuth2):
+    icon = icon_path("weixin").read_text(encoding="utf-8")
+
+
+class FeiShuOAuth2(BaseOAuth2):
+    """FeiShu OAuth2 authentication backend"""
+    name = 'feishu'
+    icon = icon_path("feishu").read_text(encoding="utf-8")
+
+    AUTHORIZATION_URL = 'https://accounts.feishu.cn/open-apis/authen/v1/authorize'
+    ACCESS_TOKEN_URL = 'https://open.feishu.cn/open-apis/authen/v2/oauth/token'
+    USER_INFO_URL = 'https://open.feishu.cn/open-apis/authen/v1/user_info'
+
+    DEFAULT_SCOPE = ['']
+    REDIRECT_STATE = False
+    ACCESS_TOKEN_METHOD = 'POST'
+    EXTRA_DATA = [
+        ('refresh_token', 'refresh_token'),
+        ('expires_in', 'expires'),
+        ('union_id', 'union_id'),
+        ('access_token', 'access_token'),
+    ]
+
+    def request_access_token(self, *args, **kwargs):
+        """Override to send JSON request provided by FeiShu"""
+        if 'data' in kwargs:
+            kwargs['data']['app_id'] = self.setting('KEY')
+            kwargs['data']['app_secret'] = self.setting('SECRET')
+            kwargs['data'] = json.dumps(kwargs['data'])
+            if 'headers' not in kwargs:
+                kwargs['headers'] = {}
+            kwargs['headers']['Content-Type'] = 'application/json; charset=utf-8'
+        return super().request_access_token(*args, **kwargs)
+
+    def get_user_details(self, response):
+        """Return user details from FeiShu account"""
+        return {
+            'username': response.get('name', ''),
+            'email': response.get('email', ''),
+        }
+
+    def user_data(self, access_token, *args, **kwargs):
+        """Loads user data from service"""
+        headers = {
+            'Authorization': f'Bearer {access_token}',
+            'Content-Type': 'application/json; charset=utf-8'
+        }
+        response = self.get_json(
+            self.USER_INFO_URL,
+            headers=headers
+        )
+        # FeiShu returns data wrapped in 'data' field
+        if 'data' in response:
+            response.update(response['data'])
+
+        response['union_id'] = response.get('union_id', '')
+        return response
+
+
+__all__ = [GithubOAuth2, GoogleOAuth2, WeixinOAuth2, FeiShuOAuth2]
diff --git a/rootfs/api/apps_extra/social_core/icons/feishu.svg b/rootfs/api/apps_extra/social_core/icons/feishu.svg
new file mode 100644
index 0000000..7afdb94
--- /dev/null
+++ b/rootfs/api/apps_extra/social_core/icons/feishu.svg
@@ -0,0 +1,12 @@
+<svg width="24"
+     height="24"
+     viewBox="0 0 24 24"
+     fill="none"
+     xmlns="http://www.w3.org/2000/svg">
+  <path d="M12.9238 12.8029C12.9427 12.784 12.9616 12.7682 12.9806 12.7493C13.0184 12.7146 13.0563 12.6767 13.091 12.6389L13.1667 12.5631L13.397 12.336L14.7315 11.0173L15.0659 10.686C15.129 10.6229 15.1952 10.563 15.2615 10.5031C15.3845 10.3926 15.5076 10.2854 15.6369 10.1813C15.7536 10.0866 15.8767 9.99514 15.9997 9.9068C16.1732 9.78376 16.3499 9.67019 16.5329 9.55977C16.7127 9.45251 16.8957 9.35471 17.085 9.26322C17.2616 9.17804 17.4415 9.09917 17.6276 9.02661C17.7317 8.9856 17.8326 8.94774 17.9399 8.91304C17.9935 8.89411 18.044 8.87834 18.0977 8.86256C17.6276 7.00439 16.7632 5.3008 15.5991 3.84959C15.3719 3.56566 15.0249 3.40161 14.6589 3.40161H5.0084C4.83489 3.40161 4.76233 3.6256 4.90114 3.72656C8.18528 6.13997 10.9236 9.24114 12.9017 12.825C12.908 12.8187 12.9175 12.8124 12.9238 12.8029Z"
+        fill="#00D6B9" />
+  <path d="M9.09696 21.2986C14.0815 21.2986 18.4225 18.5476 20.6877 14.4843C20.7666 14.3423 20.8454 14.1972 20.918 14.052C20.8044 14.2729 20.6751 14.4811 20.5394 14.6767C20.4889 14.7461 20.4385 14.8155 20.388 14.8818C20.3217 14.9669 20.2555 15.049 20.1861 15.1278C20.1324 15.1909 20.0757 15.2509 20.0189 15.3108C19.9021 15.4307 19.7823 15.5474 19.6561 15.6547C19.5867 15.7146 19.5141 15.7714 19.4415 15.8282C19.3564 15.8944 19.268 15.9575 19.1797 16.0143C19.1229 16.0522 19.0661 16.09 19.0093 16.1247C18.9494 16.1626 18.8895 16.1973 18.8264 16.232C18.7002 16.3014 18.574 16.3645 18.4446 16.4245C18.3311 16.4749 18.2175 16.5223 18.1008 16.5633C17.9746 16.6106 17.8452 16.6516 17.7159 16.6863C17.5234 16.7399 17.3247 16.7809 17.1259 16.8125C16.9808 16.8346 16.8357 16.8504 16.6874 16.863C16.5328 16.8724 16.3751 16.8787 16.2173 16.8756C16.0438 16.8724 15.8703 16.863 15.6936 16.844C15.5643 16.8314 15.435 16.8125 15.3056 16.7873C15.192 16.7683 15.0785 16.7431 14.9649 16.7178C14.9049 16.7021 14.845 16.6895 14.7851 16.6737C14.6179 16.6295 14.4538 16.5822 14.2898 16.5349C14.2077 16.5096 14.1257 16.4875 14.0437 16.4623C13.9206 16.4245 13.7976 16.3897 13.6777 16.3519C13.5768 16.3203 13.479 16.2888 13.378 16.2572C13.2834 16.2257 13.1887 16.1942 13.0941 16.1626C13.031 16.1405 12.9647 16.1184 12.9016 16.0964C12.8228 16.0711 12.7471 16.0427 12.6682 16.0143C12.6114 15.9954 12.5578 15.9765 12.501 15.9544C12.3906 15.9134 12.2802 15.8755 12.1729 15.8345C12.1098 15.8093 12.0467 15.7872 11.9836 15.7619C11.8984 15.7304 11.8132 15.6957 11.7312 15.6641C11.6429 15.6294 11.5514 15.5947 11.4631 15.5569C11.4063 15.5348 11.3463 15.5096 11.2895 15.4875C11.217 15.4591 11.1476 15.4275 11.075 15.3991C11.0214 15.3771 10.9646 15.3518 10.911 15.3297C10.8542 15.3045 10.7974 15.2793 10.7406 15.254C10.6901 15.2319 10.6428 15.2099 10.5923 15.1878C10.5482 15.1688 10.5008 15.1468 10.4567 15.1278C10.4094 15.1057 10.3652 15.0868 10.3179 15.0647C10.2705 15.0427 10.2232 15.0206 10.1759 14.9985C10.116 14.9701 10.056 14.9417 9.99608 14.9165C9.93299 14.8881 9.87304 14.8565 9.80995 14.8281C9.7437 14.7966 9.67745 14.765 9.6112 14.7303C9.55441 14.7019 9.49762 14.6735 9.44084 14.6483C6.45324 13.1592 3.80321 11.1717 1.54438 8.76145C1.43081 8.64157 1.23206 8.72044 1.23206 8.88449L1.23836 18.0933C1.23836 18.494 1.43712 18.8726 1.77153 19.0934C3.86631 20.4878 6.38699 21.2986 9.09696 21.2986Z"
+        fill="#3370FF" />
+  <path d="M23.7322 9.29488C22.7226 8.79642 21.5838 8.5188 20.3818 8.5188C19.6688 8.5188 18.9747 8.6166 18.3217 8.80273C18.246 8.82481 18.1703 8.8469 18.0977 8.86898C18.0441 8.88476 17.9905 8.90368 17.94 8.91946C17.8359 8.95416 17.7318 8.99202 17.6276 9.03303C17.4447 9.10559 17.2617 9.18446 17.085 9.26964C16.8957 9.36113 16.7128 9.45893 16.5329 9.56619C16.35 9.67345 16.1701 9.79018 15.9998 9.91322C15.8767 10.0016 15.7569 10.093 15.637 10.1877C15.5076 10.2918 15.3846 10.3991 15.2616 10.5095C15.1953 10.5694 15.1322 10.6325 15.066 10.6925L14.7315 11.0206L13.3939 12.3424L13.1636 12.5696L13.0879 12.6453C13.05 12.6831 13.0122 12.7178 12.9775 12.7557C12.9586 12.7746 12.9396 12.7904 12.9207 12.8093C12.8923 12.8377 12.8639 12.863 12.8355 12.8882C12.804 12.9166 12.7724 12.9481 12.7409 12.9765C11.9143 13.7368 10.9931 14.3899 9.99304 14.923C10.053 14.9514 10.1129 14.9798 10.1729 15.0051C10.2202 15.0271 10.2675 15.0492 10.3148 15.0713C10.359 15.0934 10.4063 15.1123 10.4536 15.1344C10.4978 15.1533 10.5451 15.1754 10.5893 15.1943C10.6398 15.2164 10.6871 15.2385 10.7376 15.2606C10.7944 15.2858 10.8511 15.3111 10.9079 15.3363C10.9616 15.3584 11.0184 15.3836 11.072 15.4057C11.1445 15.4373 11.2139 15.4657 11.2865 15.4941C11.3433 15.5193 11.4032 15.5414 11.46 15.5635C11.5484 15.5982 11.6367 15.636 11.7282 15.6707C11.8134 15.7023 11.8954 15.737 11.9806 15.7685C12.0437 15.7938 12.1068 15.8158 12.1699 15.8411C12.2803 15.8821 12.3875 15.9231 12.498 15.961C12.5547 15.9799 12.6084 16.002 12.6652 16.0209C12.744 16.0493 12.8197 16.0745 12.8986 16.1029C12.9617 16.125 13.028 16.1471 13.0911 16.1692C13.1857 16.2007 13.2803 16.2323 13.375 16.2638C13.4728 16.2954 13.5737 16.3269 13.6747 16.3585C13.7977 16.3963 13.9176 16.4342 14.0406 16.4689C14.1227 16.4941 14.2047 16.5162 14.2867 16.5414C14.4508 16.5888 14.618 16.6361 14.782 16.6803C14.842 16.696 14.9019 16.7118 14.9618 16.7244C15.0754 16.7528 15.189 16.7749 15.3026 16.7938C15.4319 16.8159 15.5613 16.8348 15.6906 16.8506C15.8673 16.8695 16.0408 16.8822 16.2143 16.8822C16.372 16.8853 16.5298 16.879 16.6844 16.8695C16.8326 16.8601 16.9778 16.8412 17.1229 16.8191C17.3248 16.7875 17.5204 16.7465 17.7128 16.6929C17.8422 16.6582 17.9715 16.6172 18.0977 16.5698C18.2144 16.5257 18.328 16.4815 18.4416 16.4279C18.5709 16.3679 18.7003 16.3048 18.8233 16.2354C18.8833 16.2007 18.9464 16.166 19.0063 16.1282C19.0631 16.0935 19.1199 16.0556 19.1767 16.0178C19.265 15.9578 19.3533 15.8947 19.4385 15.8316C19.5111 15.7748 19.5836 15.718 19.653 15.6581C19.7792 15.5508 19.8991 15.4341 20.0158 15.3142C20.0726 15.2543 20.1294 15.1943 20.183 15.1313C20.2524 15.0524 20.3187 14.9704 20.3849 14.8852C20.4354 14.8189 20.4859 14.7495 20.5364 14.6801C20.672 14.4845 20.7982 14.2763 20.9118 14.0586L21.0411 13.7999L22.2084 11.4748L22.2053 11.4812C22.5807 10.6578 23.1012 9.91953 23.7322 9.29488Z"
+        fill="#133C9A" />
+</svg>
\ No newline at end of file
diff --git a/rootfs/api/apps_extra/social_core/icons/github.svg b/rootfs/api/apps_extra/social_core/icons/github.svg
new file mode 100644
index 0000000..c5858b0
--- /dev/null
+++ b/rootfs/api/apps_extra/social_core/icons/github.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" width="20" height="20">
+    <path d="M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z"/>
+</svg>
\ No newline at end of file
diff --git a/rootfs/api/apps_extra/social_core/icons/google.svg b/rootfs/api/apps_extra/social_core/icons/google.svg
new file mode 100644
index 0000000..c2fd469
--- /dev/null
+++ b/rootfs/api/apps_extra/social_core/icons/google.svg
@@ -0,0 +1,8 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="20" height="20">
+    <g fill="none" fill-rule="evenodd">
+        <path fill="#4285F4" d="M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92c-.26 1.37-1.04 2.53-2.21 3.31v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.09z"/>
+        <path fill="#34A853" d="M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23z"/>
+        <path fill="#FBBC05" d="M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.07H2.18C1.43 8.55 1 10.22 1 12s.43 3.45 1.18 4.93l3.66-2.84z"/>
+        <path fill="#EA4335" d="M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.07l3.66 2.84c.87-2.6 3.3-4.53 6.16-4.53z"/>
+    </g>
+</svg>
\ No newline at end of file
diff --git a/rootfs/api/apps_extra/social_core/icons/weixin.svg b/rootfs/api/apps_extra/social_core/icons/weixin.svg
new file mode 100644
index 0000000..fe20def
--- /dev/null
+++ b/rootfs/api/apps_extra/social_core/icons/weixin.svg
@@ -0,0 +1,14 @@
+<svg width="24" height="24" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
+  <!-- 左上角大圆 -->
+  <path d="M7.5 2.5C3.36 2.5 0 5.41 0 9C0 11.12 1.15 13.03 2.94 14.28C2.5 15.92 1.5 17.43 1.5 17.43C1.5 17.43 3.94 17.67 6.04 16.31C6.51 16.39 7 16.43 7.5 16.43C11.64 16.43 15 13.52 15 9.93C15 6.34 11.64 2.5 7.5 2.5Z" fill="#07C160"/>
+  <!-- 左上角眼睛 -->
+  <circle cx="5.5" cy="7.5" r="1" fill="white"/>
+  <circle cx="9.5" cy="7.5" r="1" fill="white"/>
+  <!-- 右下角小圆 (带白色描边用于切割视觉) -->
+  <g>
+    <path d="M16.5 11.5C13.19 11.5 10.5 13.74 10.5 16.5C10.5 18.14 11.55 19.6 13.17 20.52C12.78 21.85 12 23 12 23C12 23 13.95 23.19 15.65 22.08C16.08 22.16 16.52 22.2 16.96 22.2C20.28 22.2 23 19.96 23 17.2C23 14.44 20.28 11.5 16.5 11.5Z" fill="#07C160" stroke="white" stroke-width="1.2" paint-order="stroke"/>
+    <!-- 右下角眼睛 -->
+    <circle cx="14.5" cy="15.5" r="0.8" fill="white"/>
+    <circle cx="18.5" cy="15.5" r="0.8" fill="white"/>
+  </g>
+</svg>
\ No newline at end of file
diff --git a/rootfs/api/apps_extra/social_core/pipelines.py b/rootfs/api/apps_extra/social_core/pipelines.py
new file mode 100644
index 0000000..d8f24b2
--- /dev/null
+++ b/rootfs/api/apps_extra/social_core/pipelines.py
@@ -0,0 +1,59 @@
+"""
+Custom social auth pipeline for OAuth2 binding and creation guidance.
+"""
+
+import logging
+
+from django.shortcuts import redirect
+from social_django.models import UserSocialAuth
+
+from api.utils import get_oauth_callback
+
+logger = logging.getLogger(__name__)
+
+
+def handle_authenticated_binding(backend, uid, details, response, *args, **kwargs):
+    request = backend.strategy.request
+    if not request or not request.user.is_authenticated:
+        return None
+
+    current_user = request.user
+    try:
+        existing_social = UserSocialAuth.objects.filter(
+            provider=backend.name, uid=uid
+        ).select_related('user').first()
+        if existing_social and existing_social.user_id != current_user.id:
+            return redirect(get_oauth_callback(request, 'conflict', backend.name))
+        if existing_social and existing_social.user_id == current_user.id:
+            return redirect(get_oauth_callback(request, 'already_linked', backend.name))
+
+        UserSocialAuth.objects.create(
+            user=current_user,
+            provider=backend.name,
+            uid=uid,
+            extra_data=response or {}
+        )
+        return redirect(get_oauth_callback(request, 'linked', backend.name))
+    except Exception as exc:
+        logger.exception(exc)
+        return redirect(get_oauth_callback(request, 'error', backend.name))
+
+
+def require_username_password(backend, uid, details, response, user=None, *args, **kwargs):
+    request = backend.strategy.request
+    if request and request.user.is_authenticated:
+        return None
+    if user:
+        return None
+
+    email = details.get('email')
+    if not email:
+        return redirect(get_oauth_callback(request, 'missing_email', backend.name))
+
+    backend.strategy.session_set('oauth_pending', {
+        'provider': backend.name,
+        'uid': uid,
+        'email': email,
+        'extra_data': response or {},
+    })
+    return redirect(get_oauth_callback(request, 'pending', backend.name))
diff --git a/rootfs/api/asgi.py b/rootfs/api/asgi.py
new file mode 100644
index 0000000..e89b917
--- /dev/null
+++ b/rootfs/api/asgi.py
@@ -0,0 +1,16 @@
+"""
+ASGI config for passport project.
+
+It exposes the ASGI callable as a module-level variable named ``application``.
+
+For more information on this file, see
+https://docs.djangoproject.com/en/4.1/howto/deployment/asgi/
+"""
+
+import os
+
+from django.core.asgi import get_asgi_application
+
+os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'api.settings.production')
+
+application = get_asgi_application()
diff --git a/rootfs/api/context_processors.py b/rootfs/api/context_processors.py
new file mode 100644
index 0000000..5c97b0f
--- /dev/null
+++ b/rootfs/api/context_processors.py
@@ -0,0 +1,7 @@
+from django.conf import settings
+
+
+def legal(request):
+    return {
+        'LEGAL_ENABLED': settings.LEGAL_ENABLED,
+    }
diff --git a/rootfs/api/exceptions.py b/rootfs/api/exceptions.py
index d409c39..dfd7d2e 100644
--- a/rootfs/api/exceptions.py
+++ b/rootfs/api/exceptions.py
@@ -43,7 +43,6 @@ def custom_exception_handler(exc, context):
 
     # No response means DRF couldn't handle it
     # Output a generic 500 in a JSON format
-    print(response)
     if response is None:
         logging.exception('Uncaught Exception', exc_info=exc)
         set_rollback()
diff --git a/rootfs/api/forms.py b/rootfs/api/forms.py
new file mode 100644
index 0000000..f805838
--- /dev/null
+++ b/rootfs/api/forms.py
@@ -0,0 +1,52 @@
+import requests
+from django import forms
+from django.conf import settings
+from django.utils.translation import gettext_lazy as _
+from django.core.exceptions import ValidationError
+from django.contrib.auth import get_user_model
+from django.contrib.auth.forms import UserCreationForm, AuthenticationForm as _AuthenticationForm
+
+from api.utils import send_activation_email
+
+User = get_user_model()
+
+
+class AuthenticationForm(_AuthenticationForm):
+
+    def confirm_login_allowed(self, user):
+        if not user.is_active and user.last_login is None:
+            send_activation_email(self.request, user)
+            raise ValidationError(
+                _('The account is not activated, please check the activation email.'),
+                code="inactive",
+            )
+        return super().confirm_login_allowed(user)
+
+
+class RegistrationForm(UserCreationForm):
+
+    h_captcha_token = forms.CharField(
+        label=_("h-captcha token"),
+        widget=forms.HiddenInput(attrs={"name": "h-captcha-response"}),
+        strip=False,
+        required=False,
+        help_text=_("Google recaptcha token hidden field"),
+    )
+
+    def clean_h_captcha_token(self):
+        h_captcha_token = self.data.get("h-captcha-response")
+        if settings.H_CAPTCHA_KEY and settings.H_CAPTCHA_SECRET:
+            success = requests.post('https://hcaptcha.com/siteverify', data={
+                'secret': settings.H_CAPTCHA_SECRET,
+                'response': h_captcha_token,
+            }).json()["success"]
+            if not success:
+                raise ValidationError(
+                    _('Error verifying HCAPTCHA, please try again.'),
+                    code="captcha_invalid",
+                )
+        return h_captcha_token
+
+    class Meta(UserCreationForm.Meta):
+        model = User
+        fields = ('username', 'email', 'password1', 'password2')
diff --git a/rootfs/api/management/commands/create_oauth2_application.py b/rootfs/api/management/commands/create_oauth2_application.py
index 5353790..bd01a6c 100644
--- a/rootfs/api/management/commands/create_oauth2_application.py
+++ b/rootfs/api/management/commands/create_oauth2_application.py
@@ -1,49 +1,111 @@
 import os
-from django.contrib.auth.models import User
+import json
+import random
+import string
+import pathlib
+from django.contrib.auth import get_user_model
+from django.contrib.auth.hashers import check_password
 from django.core.management.base import BaseCommand
-from oauth2_provider.models import Application
+from oauth2_provider.models import get_application_model
+
+
+User = get_user_model()
+Application = get_application_model()
+secrets_path = "/var/run/secrets/drycc/passport"
 
 
 class Command(BaseCommand):
-    """Management command for create Oauth2 application"""
+    """Management command for create Oauth2 application.
+
+    Credential resolution order for ``client_id`` / ``client_secret``:
+
+    1. Explicit value from the init-applications JSON file (highest priority,
+       lets operators pin credentials via ``--set initApplications[...]``).
+    2. Mounted Kubernetes secret file at
+       ``/var/run/secrets/drycc/passport/drycc-passport-<name>-<key|secret>``.
+       This is the source of truth for credentials that the chart's
+       ``passport-creds`` Secret already exposes to every consumer (controller,
+       grafana, builder, manager, ...). Reading it here keeps the DB and the
+       Secret consistent for *every* application, including m2m apps that
+       have no public sub-domain (``prefix == ""``).
+    3. Newly generated random string (only when neither of the above is
+       available, e.g. local dev without the volume mount).
+
+    Note: ``prefix`` only controls how ``redirect_uri`` is composed. It is
+    intentionally NOT used to gate credential discovery -- m2m applications
+    legitimately have an empty prefix.
+    """
+
+    def add_arguments(self, parser):
+        super(Command, self).add_arguments(parser)
+        parser.add_argument(
+            '--path', dest='path', default=None,
+            help='Specifies the path for the secret.',
+        )
 
     def handle(self, *args, **options):
-        app_list = [{
-            "name": "CONTROLLER",
-            "redirect_uri": f"{os.environ.get('DRYCC_CONTROLLER_DOMAIN')}/v2/complete/drycc/"  # noqa
-        }]
-        if os.environ.get('GRAFANA_ON_CLUSTER') == "true":
-            app_list.append({
-                "name": "GRAFANA",
-                 "redirect_uri": f"{os.environ.get('DRYCC_MONITOR_GRAFANA_DOMAIN')}/login/generic_oauth"  # noqa
-            })
-
-        for app in app_list:
-            client_id = os.environ.get(
-                f'SOCIAL_AUTH_DRYCC_{app["name"]}_KEY') if os.environ.get(
-                f'SOCIAL_AUTH_DRYCC_{app["name"]}_KEY') else None
-            client_secret = os.environ.get(
-                f'SOCIAL_AUTH_DRYCC_{app["name"]}_SECRET') if os.environ.get(
-                f'SOCIAL_AUTH_DRYCC_{app["name"]}_SECRET') else None
-            if not all([client_id, client_secret]):
-                self.stdout.write('client_id or client_secret non-existent')
-                return
-            user = User.objects.filter(is_superuser=True).first()
-            if not user:
-                self.stdout.write("Cannot create because there is no superuser")
-            application, updated = Application.objects.update_or_create(
-                name='Drycc ' + app["name"].title(),
-                defaults={
-                    'client_id': client_id,
-                    'client_secret': client_secret,
-                    'user': user,
-                    'redirect_uris': app["redirect_uri"],
-                    'authorization_grant_type': 'authorization-code',
-                    'client_type': 'Public',
-                    'algorithm': 'RS256'
-                }
+        base_path = options.get('path', '')
+        user = User.objects.filter(is_superuser=True).first()
+        for item in json.loads(pathlib.Path(base_path).read_text()):
+            name = item["name"]
+            client_id = self._get_creds(item, "key", 40)
+            client_secret = self._get_creds(item, "secret", 60)
+            defaults = {
+                'client_id': client_id,
+                'user': user,
+                'redirect_uris': self._get_redirect_uri(item),
+                'authorization_grant_type': item.get('grant_type', 'public'),
+                'client_type': item.get('client_type', 'public'),
+                'allowed_scopes': item.get('allowed_scopes', ''),
+                'algorithm': 'RS256',
+            }
+            existing = Application.objects.filter(name=name.lower()).first()
+            secret_unchanged = (
+                existing is not None
+                and check_password(client_secret, existing.client_secret)
             )
-            if updated:
-                self.stdout.write(f'Drycc {app["name"]} app created')
+            if not secret_unchanged:
+                defaults['client_secret'] = client_secret
+            _, created = Application.objects.update_or_create(
+                name=name.lower(), defaults=defaults,
+            )
+            if created:
+                self.stdout.write('Drycc %s app created' % name)
+            else:
+                self.stdout.write('Drycc %s app updated' % name)
+
+    def _get_creds(self, item, suffix, size):
+        name = item["name"]
+        secret = item.get(suffix)
+        if secret:
+            self.stdout.write(
+                '[%s/%s] credential source: init-config' % (name, suffix))
+            return secret
+
+        default_secret_path = os.path.join(
+            secrets_path, "drycc-passport-%s-%s" % (name, suffix))
+        if os.path.exists(default_secret_path):
+            # ``.strip()`` defends against trailing newlines that some
+            # tooling adds when materialising secrets onto disk.
+            secret = pathlib.Path(default_secret_path).read_text().strip()
+            self.stdout.write(
+                '[%s/%s] credential source: mounted-file (%s)'
+                % (name, suffix, default_secret_path))
+            return secret
+
+        secret = ''.join(random.choice(string.ascii_letters) for _ in range(size))
+        self.stdout.write(
+            '[%s/%s] credential source: generated-random '
+            '(no init value, no mounted file)' % (name, suffix))
+        return secret
+
+    def _get_redirect_uri(self, item):
+        prefix = item["prefix"]
+        domain = os.environ.get("PLATFORM_DOMAIN")
+        redirect_uri = item["redirect_uri"]
+        if prefix:
+            if os.environ.get("CERT_MANAGER_ENABLED") == "true":
+                redirect_uri = f"https://{prefix}.{domain}{redirect_uri}"
             else:
-                self.stdout.write(f'Drycc {app["name"]} app updated')
+                redirect_uri = f"http://{prefix}.{domain}{redirect_uri}"
+        return redirect_uri
diff --git a/rootfs/api/migrations/0001_initial.py b/rootfs/api/migrations/0001_initial.py
new file mode 100644
index 0000000..656f747
--- /dev/null
+++ b/rootfs/api/migrations/0001_initial.py
@@ -0,0 +1,44 @@
+# Generated by Django 3.2.5 on 2021-12-16 03:45
+
+import django.contrib.auth.models
+import django.contrib.auth.validators
+from django.db import migrations, models
+import django.utils.timezone
+
+
+class Migration(migrations.Migration):
+
+    initial = True
+
+    dependencies = [
+        ('auth', '0012_alter_user_first_name_max_length'),
+    ]
+
+    operations = [
+        migrations.CreateModel(
+            name='User',
+            fields=[
+                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+                ('password', models.CharField(max_length=128, verbose_name='password')),
+                ('last_login', models.DateTimeField(blank=True, null=True, verbose_name='last login')),
+                ('is_superuser', models.BooleanField(default=False, help_text='Designates that this user has all permissions without explicitly assigning them.', verbose_name='superuser status')),
+                ('username', models.CharField(error_messages={'unique': 'A user with that username already exists.'}, help_text='Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only.', max_length=150, unique=True, validators=[django.contrib.auth.validators.UnicodeUsernameValidator()], verbose_name='username')),
+                ('first_name', models.CharField(blank=True, max_length=150, verbose_name='first name')),
+                ('last_name', models.CharField(blank=True, max_length=150, verbose_name='last name')),
+                ('is_staff', models.BooleanField(default=False, help_text='Designates whether the user can log into this admin site.', verbose_name='staff status')),
+                ('is_active', models.BooleanField(default=True, help_text='Designates whether this user should be treated as active. Unselect this instead of deleting accounts.', verbose_name='active')),
+                ('date_joined', models.DateTimeField(default=django.utils.timezone.now, verbose_name='date joined')),
+                ('email', models.EmailField(max_length=254, unique=True, verbose_name='email address')),
+                ('groups', models.ManyToManyField(blank=True, help_text='The groups this user belongs to. A user will get all permissions granted to each of their groups.', related_name='user_set', related_query_name='user', to='auth.Group', verbose_name='groups')),
+                ('user_permissions', models.ManyToManyField(blank=True, help_text='Specific permissions for this user.', related_name='user_set', related_query_name='user', to='auth.Permission', verbose_name='user permissions')),
+            ],
+            options={
+                'verbose_name': 'user',
+                'verbose_name_plural': 'users',
+                'abstract': False,
+            },
+            managers=[
+                ('objects', django.contrib.auth.models.UserManager()),
+            ],
+        ),
+    ]
diff --git a/rootfs/api/migrations/0002_application.py b/rootfs/api/migrations/0002_application.py
new file mode 100644
index 0000000..5a147e4
--- /dev/null
+++ b/rootfs/api/migrations/0002_application.py
@@ -0,0 +1,42 @@
+# Generated by Django 4.2.10 on 2024-04-11 08:22
+
+from django.conf import settings
+from django.db import migrations, models
+import django.db.models.deletion
+import oauth2_provider.generators
+import oauth2_provider.models
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('api', '0001_initial'),
+    ]
+
+    run_before = [
+        ('oauth2_provider', '0001_initial'),
+    ]
+
+    operations = [
+        migrations.CreateModel(
+            name='Application',
+            fields=[
+                ('id', models.BigAutoField(primary_key=True, serialize=False)),
+                ('client_id', models.CharField(db_index=True, default=oauth2_provider.generators.generate_client_id, max_length=100, unique=True)),
+                ('redirect_uris', models.TextField(blank=True, help_text='Allowed URIs list, space separated')),
+                ('post_logout_redirect_uris', models.TextField(blank=True, help_text='Allowed Post Logout URIs list, space separated')),
+                ('client_type', models.CharField(choices=[('confidential', 'Confidential'), ('public', 'Public')], max_length=32)),
+                ('authorization_grant_type', models.CharField(choices=[('authorization-code', 'Authorization code'), ('implicit', 'Implicit'), ('password', 'Resource owner password-based'), ('client-credentials', 'Client credentials'), ('openid-hybrid', 'OpenID connect hybrid')], max_length=32)),
+                ('client_secret', oauth2_provider.models.ClientSecretField(blank=True, db_index=True, default=oauth2_provider.generators.generate_client_secret, help_text='Hashed on Save. Copy it now if this is a new secret.', max_length=255)),
+                ('name', models.CharField(blank=True, max_length=255)),
+                ('skip_authorization', models.BooleanField(default=False)),
+                ('created', models.DateTimeField(auto_now_add=True)),
+                ('updated', models.DateTimeField(auto_now=True)),
+                ('algorithm', models.CharField(blank=True, choices=[('', 'No OIDC support'), ('RS256', 'RSA with SHA-2 256'), ('HS256', 'HMAC with SHA-2 256')], default='', max_length=5)),
+                ('user', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='%(app_label)s_%(class)s', to=settings.AUTH_USER_MODEL)),
+            ],
+            options={
+                'abstract': False,
+            },
+        ),
+    ]
diff --git a/rootfs/api/migrations/0003_application_allowed_origins_and_more.py b/rootfs/api/migrations/0003_application_allowed_origins_and_more.py
new file mode 100644
index 0000000..4e30289
--- /dev/null
+++ b/rootfs/api/migrations/0003_application_allowed_origins_and_more.py
@@ -0,0 +1,28 @@
+# Generated by Django 4.2.16 on 2024-11-14 05:43
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('api', '0002_application'),
+    ]
+
+    operations = [
+        migrations.AddField(
+            model_name='application',
+            name='allowed_origins',
+            field=models.TextField(blank=True, default='', help_text='Allowed origins list to enable CORS, space separated'),
+        ),
+        migrations.AddField(
+            model_name='application',
+            name='hash_client_secret',
+            field=models.BooleanField(default=True),
+        ),
+        migrations.AlterField(
+            model_name='application',
+            name='post_logout_redirect_uris',
+            field=models.TextField(blank=True, default='', help_text='Allowed Post Logout URIs list, space separated'),
+        ),
+    ]
diff --git a/rootfs/api/migrations/0004_alter_application_authorization_grant_type_message_and_more.py b/rootfs/api/migrations/0004_alter_application_authorization_grant_type_message_and_more.py
new file mode 100644
index 0000000..3e7d8bd
--- /dev/null
+++ b/rootfs/api/migrations/0004_alter_application_authorization_grant_type_message_and_more.py
@@ -0,0 +1,61 @@
+# Generated by Django 5.2.13 on 2026-04-23 03:45
+
+import django.db.models.deletion
+from django.conf import settings
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('api', '0003_application_allowed_origins_and_more'),
+    ]
+
+    operations = [
+        migrations.AlterField(
+            model_name='application',
+            name='authorization_grant_type',
+            field=models.CharField(choices=[('authorization-code', 'Authorization code'), ('urn:ietf:params:oauth:grant-type:device_code', 'Device Code'), ('implicit', 'Implicit'), ('password', 'Resource owner password-based'), ('client-credentials', 'Client credentials'), ('openid-hybrid', 'OpenID connect hybrid')], max_length=44),
+        ),
+        migrations.CreateModel(
+            name='Message',
+            fields=[
+                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+                ('category', models.CharField(choices=[('system', 'System'), ('product', 'Product Updates'), ('security', 'Security'), ('alert', 'Alerts'), ('service', 'Service')], default='system', max_length=20, verbose_name='category')),
+                ('title', models.CharField(max_length=255, verbose_name='title')),
+                ('content', models.TextField(verbose_name='content')),
+                ('full_content', models.TextField(blank=True, verbose_name='full content')),
+                ('severity', models.CharField(choices=[('info', 'Info'), ('warning', 'Warning'), ('error', 'Error'), ('success', 'Success')], default='info', max_length=20, verbose_name='severity')),
+                ('is_read', models.BooleanField(default=False, verbose_name='is read')),
+                ('action_link', models.CharField(blank=True, max_length=500, verbose_name='action link')),
+                ('action_text', models.CharField(blank=True, max_length=255, verbose_name='action text')),
+                ('created_at', models.DateTimeField(auto_now_add=True, verbose_name='created at')),
+                ('updated_at', models.DateTimeField(auto_now=True, verbose_name='updated at')),
+                ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='messages', to=settings.AUTH_USER_MODEL, verbose_name='user')),
+            ],
+            options={
+                'verbose_name': 'message',
+                'verbose_name_plural': 'messages',
+                'ordering': ['-created_at'],
+            },
+        ),
+        migrations.CreateModel(
+            name='MessagePreference',
+            fields=[
+                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+                ('email_alerts', models.BooleanField(default=True, verbose_name='email alerts')),
+                ('push_alerts', models.BooleanField(default=False, verbose_name='push alerts')),
+                ('webhook_url', models.URLField(blank=True, max_length=500, verbose_name='webhook url')),
+                ('notify_security', models.BooleanField(default=True, verbose_name='notify security')),
+                ('notify_system', models.BooleanField(default=True, verbose_name='notify system')),
+                ('notify_product', models.BooleanField(default=False, verbose_name='notify product')),
+                ('notify_alert', models.BooleanField(default=True, verbose_name='notify alert')),
+                ('notify_service', models.BooleanField(default=True, verbose_name='notify service')),
+                ('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='message_preference', to=settings.AUTH_USER_MODEL, verbose_name='user')),
+            ],
+            options={
+                'verbose_name': 'message preference',
+                'verbose_name_plural': 'message preferences',
+            },
+        ),
+    ]
diff --git a/rootfs/api/migrations/0005_application_allowed_scopes_and_internal_grant.py b/rootfs/api/migrations/0005_application_allowed_scopes_and_internal_grant.py
new file mode 100644
index 0000000..a5be209
--- /dev/null
+++ b/rootfs/api/migrations/0005_application_allowed_scopes_and_internal_grant.py
@@ -0,0 +1,35 @@
+# Generated by Django 5.2.13 on 2026-05-09 12:00
+
+import django.db.models.deletion
+from django.conf import settings
+from django.db import migrations, models
+
+def forward_data_migration(apps, schema_editor):
+    Application = apps.get_model('api', 'Application')
+    oauth2_settings = getattr(settings, 'OAUTH2_PROVIDER', {})
+    default_provider_scopes_list = oauth2_settings.get("DEFAULT_SCOPES", ['openid', 'email', 'profile'])
+    default_provider_scopes = " ".join(default_provider_scopes_list)
+
+    for app in Application.objects.all():
+        if not app.allowed_scopes:
+            app.allowed_scopes = default_provider_scopes
+        
+        if app.name.lower() in ("controller", "grafana"):
+            app.authorization_grant_type = "internal"
+            
+        app.save()
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('api', '0004_alter_application_authorization_grant_type_message_and_more'),
+    ]
+
+    operations = [
+        migrations.AddField(
+            model_name='application',
+            name='allowed_scopes',
+            field=models.TextField(blank=True, default=''),
+        ),
+        migrations.RunPython(forward_data_migration, reverse_code=migrations.RunPython.noop),
+    ]
\ No newline at end of file
diff --git a/rootfs/api/migrations/__init__.py b/rootfs/api/migrations/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/rootfs/api/models.py b/rootfs/api/models.py
new file mode 100644
index 0000000..567844b
--- /dev/null
+++ b/rootfs/api/models.py
@@ -0,0 +1,137 @@
+from django.db import models
+from django.contrib.auth.models import AbstractUser
+from django.utils.translation import gettext_lazy as _
+from oauth2_provider.models import AbstractApplication
+from .validators import UsernameValidator
+
+
+class User(AbstractUser):
+    username_validator = UsernameValidator()
+    email = models.EmailField(_('email address'), unique=True)
+
+
+class Application(AbstractApplication):
+    GRANT_INTERNAL = "internal"
+    GRANT_TYPES = AbstractApplication.GRANT_TYPES + (
+        (GRANT_INTERNAL, _("Internal")),
+    )
+    allowed_scopes = models.TextField(blank=True, default="")
+
+    def allows_grant_type(self, *grant_types):
+        if self.authorization_grant_type == self.GRANT_INTERNAL:
+            return True
+        return super().allows_grant_type(*grant_types)
+
+    def validate_grant_type(self, client_id, grant_type, client, request, *args, **kwargs):
+        if self.authorization_grant_type == self.GRANT_INTERNAL:
+            return True
+        return super().validate_grant_type(client_id, grant_type, client, request, *args, **kwargs)
+
+
+class Message(models.Model):
+    CATEGORY_CHOICES = [
+        ('system', _('System')),
+        ('product', _('Product Updates')),
+        ('security', _('Security')),
+        ('alert', _('Alerts')),
+        ('service', _('Service')),
+    ]
+
+    SEVERITY_CHOICES = [
+        ('info', _('Info')),
+        ('warning', _('Warning')),
+        ('error', _('Error')),
+        ('success', _('Success')),
+    ]
+
+    user = models.ForeignKey(
+        User,
+        on_delete=models.CASCADE,
+        related_name='messages',
+        verbose_name=_('user')
+    )
+    category = models.CharField(
+        _('category'),
+        max_length=20,
+        choices=CATEGORY_CHOICES,
+        default='system'
+    )
+    title = models.CharField(_('title'), max_length=255)
+    content = models.TextField(_('content'))
+    full_content = models.TextField(_('full content'), blank=True)
+    severity = models.CharField(
+        _('severity'),
+        max_length=20,
+        choices=SEVERITY_CHOICES,
+        default='info'
+    )
+    is_read = models.BooleanField(_('is read'), default=False)
+    action_link = models.CharField(
+        _('action link'),
+        max_length=500,
+        blank=True
+    )
+    action_text = models.CharField(
+        _('action text'),
+        max_length=255,
+        blank=True
+    )
+    created_at = models.DateTimeField(_('created at'), auto_now_add=True)
+    updated_at = models.DateTimeField(_('updated at'), auto_now=True)
+
+    class Meta:
+        ordering = ['-created_at']
+        verbose_name = _('message')
+        verbose_name_plural = _('messages')
+
+    def __str__(self):
+        return f"[{self.category}] {self.title}"
+
+
+class MessagePreference(models.Model):
+    user = models.OneToOneField(
+        User,
+        on_delete=models.CASCADE,
+        related_name='message_preference',
+        verbose_name=_('user')
+    )
+    email_alerts = models.BooleanField(
+        _('email alerts'),
+        default=True
+    )
+    push_alerts = models.BooleanField(
+        _('push alerts'),
+        default=False
+    )
+    webhook_url = models.URLField(
+        _('webhook url'),
+        max_length=500,
+        blank=True
+    )
+    notify_security = models.BooleanField(
+        _('notify security'),
+        default=True
+    )
+    notify_system = models.BooleanField(
+        _('notify system'),
+        default=True
+    )
+    notify_product = models.BooleanField(
+        _('notify product'),
+        default=True
+    )
+    notify_alert = models.BooleanField(
+        _('notify alert'),
+        default=True
+    )
+    notify_service = models.BooleanField(
+        _('notify service'),
+        default=True
+    )
+
+    class Meta:
+        verbose_name = _('message preference')
+        verbose_name_plural = _('message preferences')
+
+    def __str__(self):
+        return f"{self.user.username}'s message preference"
diff --git a/rootfs/api/oauth2_validators.py b/rootfs/api/oauth2_validators.py
new file mode 100644
index 0000000..d968276
--- /dev/null
+++ b/rootfs/api/oauth2_validators.py
@@ -0,0 +1,39 @@
+from oauth2_provider.oauth2_validators import OAuth2Validator
+
+
+class CustomOAuth2Validator(OAuth2Validator):
+
+    def validate_scopes(self, client_id, scopes, client, request, *args, **kwargs):
+        if client.allowed_scopes:
+            allowed = set(client.allowed_scopes.split())
+            if not set(scopes).issubset(allowed):
+                return False
+        return super().validate_scopes(client_id, scopes, client, request, *args, **kwargs)
+
+    oidc_claim_scope = OAuth2Validator.oidc_claim_scope
+    oidc_claim_scope.update({
+        "id": "profile",
+        "name": "profile",
+        "username": "profile",
+        "email": "email",
+        "first_name": "profile",
+        "last_name": "profile",
+        "is_staff": "profile",
+        "is_active": "profile",
+        "is_superuser": "profile",
+        "preferred_username": "profile",
+    })
+
+    def get_additional_claims(self, request):
+        claims = super().get_additional_claims(request)
+        claims["id"] = request.user.id
+        claims["name"] = request.user.username
+        claims["username"] = request.user.username
+        claims["email"] = request.user.email
+        claims["first_name"] = request.user.first_name
+        claims["last_name"] = request.user.last_name
+        claims["is_staff"] = request.user.is_staff
+        claims["is_active"] = request.user.is_active
+        claims["is_superuser"] = request.user.is_superuser
+        claims["preferred_username"] = request.user.username
+        return claims
diff --git a/rootfs/api/permissions.py b/rootfs/api/permissions.py
new file mode 100644
index 0000000..cb8ad2e
--- /dev/null
+++ b/rootfs/api/permissions.py
@@ -0,0 +1,32 @@
+from django.utils import timezone
+from rest_framework import permissions
+
+from oauth2_provider.models import AccessToken
+
+
+class HasOAuthScope(permissions.BasePermission):
+    """
+    Object-level permission to allow only requests with specific OAuth scopes.
+    The required scopes are defined on the view as `required_oauth_scopes = ['scope1', 'scope2']`
+    """
+    def has_permission(self, request, view):
+        required_oauth_scopes = getattr(view, 'required_oauth_scopes', [])
+        if not required_oauth_scopes:
+            return True
+
+        auth_header = request.META.get('HTTP_AUTHORIZATION', '')
+        parts = auth_header.split()
+        if len(parts) == 2 and parts[0].lower() == 'bearer':
+            token_string = parts[1]
+        else:
+            return False
+
+        scopes = self.get_token_scopes(token_string)
+        return set(required_oauth_scopes).issubset(scopes)
+
+    def get_token_scopes(self, token_string):
+        try:
+            access_token = AccessToken.objects.get(token=token_string, expires__gt=timezone.now())
+            return set(access_token.scope.split())
+        except AccessToken.DoesNotExist:
+            return set()
diff --git a/rootfs/api/routers.py b/rootfs/api/routers.py
new file mode 100644
index 0000000..3e5e981
--- /dev/null
+++ b/rootfs/api/routers.py
@@ -0,0 +1,39 @@
+from asgiref.local import Local
+from django.conf import settings
+
+
+class DefaultReplicaRouter(object):
+    """
+    If a model of the current thread or coroutine has used the master db,
+    the model will also use the master in the future.
+    This can avoid the problem that the slave database is not synchronized
+    because a transaction is not committed.
+    """
+    thread_critical = False
+
+    def __init__(self):
+        self._tracker = Local(self.thread_critical)
+
+    def db_for_read(self, model, **hints):
+        tracker_key = ".".join([model.__module__, model.__name__])
+        if hasattr(self._tracker, tracker_key):
+            return getattr(self._tracker, tracker_key)
+        elif 'replica' in settings.DATABASES:
+            return 'replica'
+        return 'default'
+
+    def db_for_write(self, model, **hints):
+        tracker_key = ".".join([model.__module__, model.__name__])
+        if 'replica' in settings.DATABASES:
+            setattr(self._tracker, tracker_key, 'default')
+        return 'default'
+
+    def allow_relation(self, obj1, obj2, **hints):
+        return True
+
+    def allow_migrate(self, db, app_label, model_name=None, **hints):
+        if 'replica' in settings.DATABASES and 'model' in hints:
+            model = hints['model']
+            tracker_key = ".".join([model.__module__, model.__name__])
+            setattr(self._tracker, tracker_key, 'default')
+        return True
diff --git a/rootfs/api/serializers.py b/rootfs/api/serializers.py
index c1fca79..4ba083f 100644
--- a/rootfs/api/serializers.py
+++ b/rootfs/api/serializers.py
@@ -3,49 +3,25 @@
 """
 import logging
 
-from django.conf import settings
 from django.contrib.admin.models import LogEntry
-from django.contrib.auth.forms import UserCreationForm
-from django.contrib.auth.models import User
+from django.contrib.auth import get_user_model
 from oauth2_provider.models import Grant, AccessToken
-from oauth2_provider.oauth2_validators import OAuth2Validator
 from rest_framework import serializers
 
-from api.exceptions import DryccException
+from api.models import Message, MessagePreference
 from api.utils import timestamp2datetime
 
+User = get_user_model()
 logger = logging.getLogger(__name__)
 
 
-class RegistrationForm(UserCreationForm):
-    class Meta(UserCreationForm.Meta):
-        model = User
-        fields = ('username', 'email', 'password1', 'password2')
-
-
 class UserSerializer(serializers.ModelSerializer):
-    username = serializers.CharField(max_length=150, required=False)
-    email = serializers.CharField(max_length=254, required=False)
-
     class Meta:
         model = User
-        fields = ('id', 'username', 'email', "first_name", "last_name",
-                  "is_staff", "is_active", "is_superuser")
-
-    def update(self, instance, validated_data):
-        if settings.LDAP_ENDPOINT:
-            raise DryccException(
-                "You cannot change user info when ldap is enabled.")
-        if validated_data.get('username'):
-            qs = User.objects.filter(username=validated_data.get('username')).\
-                exclude(username=instance.username)
-            if qs:
-                raise DryccException("new username already exists.")
-            instance.username = validated_data.get('username')
-        if validated_data.get('email'):
-            instance.email = validated_data.get('email')
-        instance.save()
-        return instance
+        fields = ('id', 'username', 'email', 'first_name', 'last_name',
+                  'is_staff', 'is_active', 'is_superuser')
+        read_only_fields = ('id', 'username', 'is_staff', 'is_active',
+                            'is_superuser')
 
 
 class UserEmailSerializer(serializers.ModelSerializer):
@@ -81,6 +57,7 @@ class Meta:
 class UserTokensSerializer(serializers.ModelSerializer):
     """Serialize user status for a AccessToken model."""
     application = serializers.ReadOnlyField(source='application.name')
+    token_checksum = serializers.ReadOnlyField(required=False)
 
     class Meta:
         model = AccessToken
@@ -100,17 +77,42 @@ class Meta:
                             'object_repr', 'action_flag', 'change_message']
 
 
-class CustomOAuth2Validator(OAuth2Validator):
-
-    def get_additional_claims(self, request):
-        claims = super().get_additional_claims(request)
-        claims["id"] = request.user.id
-        claims["name"] = request.user.username
-        claims["username"] = request.user.username
-        claims["email"] = request.user.email
-        claims["first_name"] = request.user.first_name
-        claims["last_name"] = request.user.last_name
-        claims["is_staff"] = request.user.is_staff
-        claims["is_active"] = request.user.is_active
-        claims["is_superuser"] = request.user.is_superuser
-        return claims
+class MessageSerializer(serializers.ModelSerializer):
+    """Serialize message model."""
+    date = serializers.DateTimeField(
+        source='created_at', format='%b %d, %Y, %H:%M', read_only=True
+    )
+
+    class Meta:
+        model = Message
+        fields = ['id', 'category', 'title', 'content', 'full_content',
+                  'severity', 'is_read', 'action_link', 'action_text', 'date']
+        read_only_fields = ['id', 'date']
+
+
+class MessagePreferenceSerializer(serializers.ModelSerializer):
+    """Serialize message preference model."""
+
+    class Meta:
+        model = MessagePreference
+        fields = ['email_alerts', 'push_alerts', 'webhook_url',
+                  'notify_security', 'notify_system', 'notify_product',
+                  'notify_alert', 'notify_service']
+
+
+class ServiceMessageSerializer(MessageSerializer):
+    username = serializers.CharField(write_only=True)
+
+    class Meta(MessageSerializer.Meta):
+        fields = MessageSerializer.Meta.fields + ['username']
+
+    def create(self, validated_data):
+        from django.contrib.auth import get_user_model
+        User = get_user_model()
+        username = validated_data.pop('username')
+        try:
+            user = User.objects.get(username=username)
+        except User.DoesNotExist:
+            raise serializers.ValidationError({"username": "User not found."})
+        validated_data['user'] = user
+        return super().create(validated_data)
diff --git a/rootfs/api/settings/celery.py b/rootfs/api/settings/celery.py
new file mode 100644
index 0000000..30af003
--- /dev/null
+++ b/rootfs/api/settings/celery.py
@@ -0,0 +1,56 @@
+import os
+
+from kombu import Exchange, Queue
+from celery import Celery
+
+
+class Config(object):
+    # Celery Configuration Options
+    enable_utc = True
+    task_serializer = 'pickle'
+    accept_content = frozenset([
+        'application/data',
+        'application/json',
+        'application/text',
+        'application/x-python-serialize',
+    ])
+    task_track_started = True
+    task_time_limit = 5 * 60
+    worker_max_tasks_per_child = 200
+    worker_prefetch_multiplier = 1
+    result_expires = 24 * 60 * 60
+    cache_backend = 'django-cache'
+    task_default_queue = 'passport.notifications'
+    task_default_exchange = 'passport.priority'
+    task_default_routing_key = 'passport.priority.notifications'
+    broker_transport_options = {"queue_order_strategy": "sorted"}
+    task_create_missing_queues = True
+    task_inherit_parent_priority = True
+    broker_connection_retry_on_startup = True
+    worker_cancel_long_running_tasks_on_connection_loss = True
+
+
+app = Celery('passport')
+app.config_from_object(Config())
+app.conf.update(
+    timezone=os.environ.get('TZ', 'UTC'),
+    task_routes={
+        'api.tasks.send_notification': {
+            'queue': 'passport.notifications',
+            'exchange': 'passport.priority', 'routing_key': 'passport.priority.notifications',
+        },
+    },
+    task_queues=(
+        Queue(
+            'passport.notifications', exchange=Exchange('passport.priority', type="direct"),
+            routing_key='passport.priority.notifications',
+        ),
+    ),
+)
+DRYCC_VALKEY_URL = os.environ.get('DRYCC_VALKEY_URL', 'redis://:@127.0.0.1:6379')
+app.conf.update(
+    broker_url=DRYCC_VALKEY_URL,
+    result_backend=DRYCC_VALKEY_URL,
+    broker_transport_options={"queue_order_strategy": "sorted", "visibility_timeout": 43200},
+)
+app.autodiscover_tasks()
diff --git a/rootfs/api/settings/production.py b/rootfs/api/settings/production.py
index 42a93c9..40418ec 100644
--- a/rootfs/api/settings/production.py
+++ b/rootfs/api/settings/production.py
@@ -6,30 +6,45 @@
 For the full list of settings and their values, see
 https://docs.djangoproject.com/en/2.2/ref/settings/
 """
+import uuid
 import os.path
 import ldap
 import dj_database_url
-
 from django_auth_ldap.config import LDAPSearch, GroupOfNamesType
 
 BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
+
+# drycc passport app version.
+VERSION = os.environ.get('VERSION', uuid.uuid1().hex[:8])
+
 # SECURITY WARNING: don't run with debug turned on in production!
-DEBUG = bool(os.environ.get('DRYCC_DEBUG', False))
+DEBUG = os.environ.get('DRYCC_DEBUG', 'false').lower() == "true"
 
 # If set to True, Django's normal exception handling of view functions
 # will be suppressed, and exceptions will propagate upwards
 # https://docs.djangoproject.com/en/2.2/ref/settings/#debug-propagate-exceptions
 DEBUG_PROPAGATE_EXCEPTIONS = True
+
 # Enable Django admin
-ADMIN_ENABLED = bool(os.environ.get('ADMIN_ENABLED', False))
-# Enable Registration
-# If this function is enabled, please set Django email related parameters
-REGISTRATION_ENABLED = bool(os.environ.get('REGISTRATION_ENABLED', False))
+ADMIN_ENABLED = os.environ.get('ADMIN_ENABLED', 'false').lower() == "true"
+
+# The following information is for configuring app settings
+# Enable Legal
+LEGAL_ENABLED = os.environ.get('LEGAL_ENABLED', 'false').lower() == "true"
+# Enable Registration, email configuration is required
+REGISTRATION_ENABLED = os.environ.get('REGISTRATION_ENABLED', 'false').lower() == "true"
+# URLs for the application
+DASHBOARD_URL = os.environ.get('DASHBOARD_URL', '/')
+# Contact support URL, which can be a mailto: link or a link to a support ticket system
+CONTACT_SUPPORT_URL = os.environ.get('CONTACT_SUPPORT_URL', 'https://community.drycc.cc/')
+
 # Silence two security messages around SSL as router takes care of them
 # https://docs.djangoproject.com/en/2.2/ref/checks/#security
 SILENCED_SYSTEM_CHECKS = [
     'security.W004',
-    'security.W008'
+    'security.W008',
+    'security.W012',
+    'security.W016',
 ]
 
 CONN_MAX_AGE = 60 * 3
@@ -62,6 +77,7 @@
         'APP_DIRS': True,
         'OPTIONS': {
             'context_processors': [
+                "api.context_processors.legal",
                 "django.contrib.auth.context_processors.auth",
                 "django.template.context_processors.debug",
                 "django.template.context_processors.i18n",
@@ -103,17 +119,23 @@
     'django.contrib.humanize',
     # Third-party apps
     'corsheaders',
-    'guardian',
     'gunicorn',
     'rest_framework',
     'oauth2_provider',
+    'social_django',
     # passport apps
     'api'
 )
 
+AUTH_USER_MODEL = "api.User"
+DEFAULT_AUTO_FIELD = "django.db.models.BigAutoField"
+
 AUTHENTICATION_BACKENDS = (
-    "django.contrib.auth.backends.ModelBackend",
-    "guardian.backends.ObjectPermissionBackend",
+    "api.apps_extra.social_core.backends.FeiShuOAuth2",
+    "api.apps_extra.social_core.backends.WeixinOAuth2",
+    "api.apps_extra.social_core.backends.GithubOAuth2",
+    "api.apps_extra.social_core.backends.GoogleOAuth2",
+    "django.contrib.auth.backends.AllowAllUsersModelBackend",
 )
 
 ANONYMOUS_USER_ID = -1
@@ -155,8 +177,9 @@
 CSRF_COOKIE_SAMESITE = None
 SECURE_CONTENT_TYPE_NOSNIFF = True
 SECURE_BROWSER_XSS_FILTER = True
-CSRF_COOKIE_SECURE = bool(os.environ.get('CSRF_COOKIE_SECURE', False))
-SESSION_COOKIE_SECURE = bool(os.environ.get('SESSION_COOKIE_SECURE', False))
+CSRF_COOKIE_SECURE = os.environ.get('CSRF_COOKIE_SECURE', 'false').lower() == "true"
+SESSION_COOKIE_SECURE = os.environ.get('SESSION_COOKIE_SECURE', 'false').lower() == "true"
+CSRF_TRUSTED_ORIGINS = [r for r in os.environ.get('CSRF_TRUSTED_ORIGINS', '').split(',') if r]
 
 # Honor HTTPS from a trusted proxy
 # see https://docs.djangoproject.com/en/2.2/ref/settings/#secure-proxy-ssl-header
@@ -170,12 +193,16 @@
 REST_FRAMEWORK = {
     'DATETIME_FORMAT': DRYCC_DATETIME_FORMAT,
     'DEFAULT_MODEL_SERIALIZER_CLASS': 'rest_framework.serializers.ModelSerializer',
-    'DEFAULT_PERMISSION_CLASSES': (
+    'DEFAULT_PERMISSION_CLASSES': [
         'rest_framework.permissions.IsAuthenticated',
-    ),
-    'DEFAULT_RENDERER_CLASSES': (
+    ],
+    'DEFAULT_AUTHENTICATION_CLASSES': [
+        'rest_framework.authentication.SessionAuthentication',
+        'oauth2_provider.contrib.rest_framework.OAuth2Authentication',
+    ],
+    'DEFAULT_RENDERER_CLASSES': [
         'rest_framework.renderers.JSONRenderer',
-    ),
+    ],
     'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.LimitOffsetPagination',
     'PAGE_SIZE': 30,
     'TEST_REQUEST_DEFAULT_FORMAT': 'json',
@@ -248,32 +275,48 @@
             'handlers': ['console'],
             'propagate': True,
         },
+        'oauth2_provider': {
+            'handlers': ['console'],
+            'propagate': True,
+        },
     }
 }
 # security keys and auth tokens
 random_secret = ')u_jckp95wule8#wxd8sm!0tj2j&aveozu!nnpgl)2x&&16gfj'
 SECRET_KEY = os.environ.get('DRYCC_SECRET_KEY', random_secret)
 
-# database setting
-DRYCC_DATABASE_URL = os.environ.get('DRYCC_DATABASE_URL', 'postgres://:@:5432/passport')  # noqa
+# database default setting
+DRYCC_DATABASE_URL = os.environ.get('DRYCC_DATABASE_URL', 'postgres://postgres:@:5432/passport')
 DATABASES = {
-    'default': dj_database_url.config(default=DRYCC_DATABASE_URL,
-                                      conn_max_age=600)
+    'default': dj_database_url.config(default=DRYCC_DATABASE_URL)
 }
+# database replica setting
+DRYCC_DATABASE_REPLICA_URL = os.environ.get('DRYCC_DATABASE_REPLICA_URL', None)
+if DRYCC_DATABASE_REPLICA_URL is not None:
+    DATABASES["replica"] = dj_database_url.config(default=DRYCC_DATABASE_REPLICA_URL)
+
+# database routers
+DATABASE_ROUTERS = ['api.routers.DefaultReplicaRouter', ]
 
 # Static files (CSS, JavaScript, Images)
 # https://docs.djangoproject.com/en/2.2/howto/static-files/
 STATIC_URL = '/assets/'
 STATIC_ROOT = os.path.abspath(os.path.join(BASE_DIR, '..', 'web', 'dist', 'assets'))
-STATICFILES_STORAGE = 'whitenoise.storage.CompressedManifestStaticFilesStorage'
+STATICFILES_STORAGE = 'whitenoise.storage.CompressedStaticFilesStorage'
 
 # see: https://django-oauth-toolkit.readthedocs.io/en/latest/oidc.html?highlight=oidc.key#creating-rsa-private-key  # noqa
-with open('/var/run/secrets/drycc/passport/oidc-rsa-private-key') as f:
-    OIDC_RSA_PRIVATE_KEY = f.read()
+OIDC_ENABLED = False
+OIDC_RSA_PRIVATE_KEY = None
+OIDC_RSA_PRIVATE_KEY_FILE = '/var/run/secrets/drycc/passport/oidc-rsa-private-key'
+if os.path.exists(OIDC_RSA_PRIVATE_KEY_FILE):
+    with open('/var/run/secrets/drycc/passport/oidc-rsa-private-key') as f:
+        OIDC_RSA_PRIVATE_KEY = f.read()
+        OIDC_ENABLED = True
+
 OAUTH2_PROVIDER = {
     "OIDC_ENABLED": True,
     "OIDC_RSA_PRIVATE_KEY": OIDC_RSA_PRIVATE_KEY,
-    "OAUTH2_VALIDATOR_CLASS": "api.serializers.CustomOAuth2Validator",
+    "OAUTH2_VALIDATOR_CLASS": "api.oauth2_validators.CustomOAuth2Validator",
     "PKCE_REQUIRED": False,
     "ALLOWED_REDIRECT_URI_SCHEMES": ["http", "https"],
     "ACCESS_TOKEN_EXPIRE_SECONDS": int(os.environ.get('ACCESS_TOKEN_EXPIRE_SECONDS', 30 * 86400)),  # noqa
@@ -283,17 +326,30 @@
     "REFRESH_TOKEN_EXPIRE_SECONDS": int(os.environ.get('REFRESH_TOKEN_EXPIRE_SECONDS', 60 * 86400)),  # noqa
     "ROTATE_REFRESH_TOKEN": True,
     "SCOPES": {
+        "email": "Email",
         "profile": "Profile",
         "openid": "OpenID Connect scope",
+        "controller:hook": "Controller Hook",
+        "controller:blocklist": "Controller Blocklist",
+        "controller:logs": "Controller Logs",
+        "controller:alerts": "Controller Alerts",
+        "controller:metrics": "Controller Metrics",
+        "manager:workspace": "Manager Workspace",
+        "manager:usage": "Manager Usage",
+        "passport:message": "Passport Message",
     },
-    "DEFAULT_SCOPES": ['openid', ],
+    "DEFAULT_SCOPES": ['openid', 'email', 'profile'],
     "DEFAULT_CODE_CHALLENGE_METHOD": 'S256',
 }
-REST_FRAMEWORK['DEFAULT_AUTHENTICATION_CLASSES'] = (
-    'oauth2_provider.contrib.rest_framework.OAuth2Authentication',
-    'rest_framework.authentication.SessionAuthentication',
-    'rest_framework.authentication.BasicAuthentication',
-)
+OAUTH2_PROVIDER_APPLICATION_MODEL = 'api.Application'
+
+# Cache Valkey Configuration
+CACHES = {
+    "default": {
+        "BACKEND": "django.core.cache.backends.redis.RedisCache",
+        "LOCATION": os.environ.get('DRYCC_VALKEY_URL', 'redis://:@127.0.0.1:6379'),
+    }
+}
 
 # LDAP settings taken from environment variables.
 LDAP_ENDPOINT = os.environ.get('LDAP_ENDPOINT', '')
@@ -307,6 +363,42 @@
 LDAP_STAFF_GROUP = os.environ.get('LDAP_STAFF_GROUP', '')
 LDAP_SUPERUSER_GROUP = os.environ.get('LDAP_SUPERUSER_GROUP', '')
 
+# Social Auth settings for OAuth2 providers
+SOCIAL_AUTH_FEISHU_KEY = os.environ.get('SOCIAL_AUTH_FEISHU_KEY', '')
+SOCIAL_AUTH_FEISHU_SECRET = os.environ.get('SOCIAL_AUTH_FEISHU_SECRET', '')
+
+SOCIAL_AUTH_WEIXIN_KEY = os.environ.get('SOCIAL_AUTH_WEIXIN_KEY', '')
+SOCIAL_AUTH_WEIXIN_SECRET = os.environ.get('SOCIAL_AUTH_WEIXIN_SECRET', '')
+
+SOCIAL_AUTH_GITHUB_KEY = os.environ.get('SOCIAL_AUTH_GITHUB_KEY', '')
+SOCIAL_AUTH_GITHUB_SECRET = os.environ.get('SOCIAL_AUTH_GITHUB_SECRET', '')
+
+SOCIAL_AUTH_GOOGLE_KEY = os.environ.get('SOCIAL_AUTH_GOOGLE_KEY', '')
+SOCIAL_AUTH_GOOGLE_SECRET = os.environ.get('SOCIAL_AUTH_GOOGLE_SECRET', '')
+
+# Social Auth Pipeline
+SOCIAL_AUTH_PIPELINE = (
+    'social_core.pipeline.social_auth.social_details',
+    'social_core.pipeline.social_auth.social_uid',
+    'social_core.pipeline.social_auth.auth_allowed',
+    'api.apps_extra.social_core.pipelines.handle_authenticated_binding',
+    'social_core.pipeline.social_auth.social_user',
+    'api.apps_extra.social_core.pipelines.require_username_password',
+    'social_core.pipeline.social_auth.associate_user',
+    'social_core.pipeline.social_auth.load_extra_data',
+    'social_core.pipeline.user.user_details',
+)
+
+# Social Auth settings
+SOCIAL_AUTH_URL_NAMESPACE = 'social'
+SOCIAL_AUTH_LOGIN_REDIRECT_URL = '/access-tokens'
+SOCIAL_AUTH_LOGIN_CALLBACK_URL = '/oauth/callback'
+SOCIAL_AUTH_LOGIN_ERROR_URL = f'{SOCIAL_AUTH_LOGIN_CALLBACK_URL}?status=error'
+SOCIAL_AUTH_NEW_USER_REDIRECT_URL = f'{SOCIAL_AUTH_LOGIN_CALLBACK_URL}?status=pending'
+SOCIAL_AUTH_USER_MODEL = 'api.User'
+SOCIAL_AUTH_USERNAME_IS_FULL_EMAIL = True
+SOCIAL_AUTH_PROTECTED_USER_FIELDS = ['email',]
+
 # Django LDAP backend configuration.
 # See https://pythonhosted.org/django-auth-ldap/reference.html
 # for variables' details.
@@ -354,5 +446,21 @@
 DEFAULT_FROM_EMAIL = os.environ.get('DEFAULT_FROM_EMAIL', '')
 EMAIL_HOST_USER = os.environ.get('EMAIL_HOST_USER', '')
 EMAIL_HOST_PASSWORD = os.environ.get('EMAIL_HOST_PASSWORD', '')
-EMAIL_USE_TLS = os.environ.get('EMAIL_USE_TLS', True)
-EMAIL_USE_SSL = os.environ.get('EMAIL_USE_SSL', True)
+EMAIL_USE_TLS = os.environ.get('EMAIL_USE_TLS', 'false').lower() == "true"
+EMAIL_USE_SSL = os.environ.get('EMAIL_USE_SSL', 'false').lower() == "true"
+
+# username regex
+USERNAME_REGEX = os.environ.get('USERNAME_REGEX', '^[a-z][a-z0-9]{4,}$')
+
+# names which apps cannot reserve for routing
+RESERVED_NAME_PATTERNS_PATH = os.environ.get(
+    'RESERVED_NAME_PATTERNS_PATH', '/etc/controller/reserved-name-patterns.txt')
+if os.path.exists(RESERVED_NAME_PATTERNS_PATH):
+    with open(RESERVED_NAME_PATTERNS_PATH) as f:
+        RESERVED_NAME_PATTERNS = [line.strip() for line in f if line.strip()]
+else:
+    RESERVED_NAME_PATTERNS = [r"^drycc(?:-[\w-]+)?$", r"^kube(?:-[\w-]+)?$", r"^default$"]
+
+# hcaptcha config
+H_CAPTCHA_KEY = os.environ.get("H_CAPTCHA_KEY")
+H_CAPTCHA_SECRET = os.environ.get("H_CAPTCHA_SECRET")
diff --git a/rootfs/api/settings/testing.py b/rootfs/api/settings/testing.py
index ffb1527..7f3331c 100644
--- a/rootfs/api/settings/testing.py
+++ b/rootfs/api/settings/testing.py
@@ -2,9 +2,18 @@
 import string
 import os
 
+from api.settings.celery import app
+
 from api.settings.production import *  # noqa
 from api.settings.production import DATABASES
 
+
+app.conf.update(task_always_eager=True)
+OAUTH2_PROVIDER_ACCESS_TOKEN_MODEL = 'oauth2_provider.AccessToken'
+OAUTH2_PROVIDER_REFRESH_TOKEN_MODEL = 'oauth2_provider.RefreshToken'
+OAUTH2_PROVIDER_GRANT_MODEL = 'oauth2_provider.Grant'
+OAUTH2_PROVIDER_ID_TOKEN_MODEL = 'oauth2_provider.IDToken'
+
 # A boolean that turns on/off debug mode.
 # https://docs.djangoproject.com/en/2.2/ref/settings/#debug
 DEBUG = True
diff --git a/rootfs/api/signals.py b/rootfs/api/signals.py
new file mode 100644
index 0000000..e13a018
--- /dev/null
+++ b/rootfs/api/signals.py
@@ -0,0 +1,15 @@
+from django.db.models.signals import post_save
+from django.dispatch import receiver
+from django.contrib.auth import get_user_model
+
+from api.models import Message
+
+User = get_user_model()
+
+
+@receiver(post_save, sender=Message)
+def message_changed_handle(sender, instance, created, **kwargs):
+    """Queue async notification dispatch when a new message is created."""
+    if created:
+        from api.tasks import send_notification
+        send_notification.delay(instance)
diff --git a/rootfs/api/static/css/main.css b/rootfs/api/static/css/main.css
index 16bdb8a..685b23d 100644
--- a/rootfs/api/static/css/main.css
+++ b/rootfs/api/static/css/main.css
@@ -1,29 +1,77 @@
+:root {
+    --ui-color-bg: #ffffff;
+    --ui-color-surface: #ffffff;
+    --ui-color-text: #3f3f44;
+    --ui-color-text-secondary: #62748e;
+    --ui-color-primary: #409eff;
+    --ui-color-primary-hover: #337ecc;
+    --ui-color-border: #e2e8f0;
+    --ui-color-muted-bg: #f1f5f9;
+    --ui-color-danger: #c20707;
+
+    --ui-font-family-base: benton-sans, 'Helvetica Neue', helvetica, arial, sans-serif;
+    --ui-font-size-base: 14px;
+    --ui-line-height-base: 1.42857;
+
+    --ui-radius-sm: 6px;
+    --ui-radius-md: 8px;
+    --ui-radius-lg: 12px;
+
+    --ui-shadow-sm: 0 2px 4px rgba(64, 158, 255, 0.3);
+    --ui-shadow-md: 0 4px 8px rgba(64, 158, 255, 0.4);
+    --ui-shadow-card: 0 4px 6px rgba(0, 0, 0, 0.1);
+
+    --ui-space-1: 4px;
+    --ui-space-2: 8px;
+    --ui-space-3: 12px;
+    --ui-space-4: 16px;
+    --ui-space-5: 20px;
+    --ui-space-6: 24px;
+    --ui-space-7: 32px;
+}
+
+*, *::before, *::after {
+    box-sizing: border-box;
+}
+
+html,body {
+	height: 100%;
+}
+
 body {
-    font-family: benton-sans,'Helvetica Neue',helvetica,arial,sans-serif;
-    font-size: 14px;
-    line-height: 1.42857;
-    color: #3f3f44;
-    background-color: #fff;
+    font-family: var(--ui-font-family-base);
+    font-size: var(--ui-font-size-base);
+    line-height: var(--ui-line-height-base);
+    color: var(--ui-color-text);
+    background-color: var(--ui-color-bg);
     margin: 0;
 }
 
+.privacy {
+    text-align: justify;
+}
+
 .page-wrap {
-    min-height: 100%;
+    min-height: 100vh;
     display: flex;
     flex-direction: column;
-    justify-content: space-between
 }
 
 .gradient-primary {
-    background-image: linear-gradient(to bottom,#654a86,#534292);
-    background-color: #534292
+    background-image: linear-gradient(to bottom, var(--ui-color-primary), var(--ui-color-primary-hover));
+    background-color: var(--ui-color-primary-hover)
 }
 
 .container {
     position: relative;
-    height: 100%;
-    text-align: center;
-    padding-top: 60px
+    display: flex;
+    flex-direction: column;
+    justify-content: center;
+    align-items: center;
+    padding: 20px;
+    box-sizing: border-box;
+    flex: 1;
+    width: 100%;
 }
 
 h1.logo {
@@ -47,31 +95,30 @@ h1.logo a:before {
 }
 
 .panel {
-    max-width: 430px;
-    margin: 0 auto 20px;
-    border-radius: 8px;
-    background-color: rgb(255, 255, 255);
-    box-shadow: rgba(0, 0, 0, 0.05) 0px 1px 1px;
-    border-width: 1px;
-    border-style: solid;
-    border-color: transparent;
-    border-image: initial;
+    min-width: 0;
+    width: 100%;
+    max-width: 520px;
+    margin: 0 auto;
+    border-radius: var(--ui-radius-lg);
+    background-color: var(--ui-color-surface);
+    box-shadow: var(--ui-shadow-card);
+    border: none;
 }
 
 .panel .h3 {
-    margin: 40px 20px 0;
+    margin: 40px 30px 20px;
     line-height: 1.5;
     font-size: 24px;
-    color: rgb(102, 73, 134);
+    color: var(--ui-color-primary);
 }
 
 h2 {
     font-family: inherit;
     font-weight: 200;
-    color: #664986;
+    color: var(--ui-color-primary);
 }
 .panel form {
-    padding: 40px
+    padding: 0px 30px 30px 30px
 }
 
 form {
@@ -94,7 +141,7 @@ label {
 form label {
     text-align: left;
     width: 100%;
-    color: rgb(98, 116, 142);
+    color: var(--ui-color-text-secondary);
     font-size: 12px;
     font-weight: bold;
 }
@@ -110,19 +157,22 @@ input:-webkit-autofill {
     box-shadow: inset 0 1px 2px rgba(203,203,210,0.4), inset 0 0 10px 1000px #fffedb;
 }
 
-.form-control {
-    padding-right: 8px;
-}
-
 .form-control {
     display: block;
     width: 100%;
-    padding: 6px 12px;
+    padding: 10px 16px;
     font-size: 14px;
     line-height: 1.42857;
-    border: 1px solid #cbcbd2;
-    border-radius: 4px;
+    border: 1px solid var(--ui-color-border);
+    border-radius: var(--ui-radius-sm);
     transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;
+    background-color: var(--ui-color-surface);
+}
+
+.form-control:focus {
+    outline: none;
+    border-color: var(--ui-color-primary);
+    box-shadow: 0 0 0 3px rgba(64, 158, 255, 0.1);
 }
 
 input, button, select, textarea {
@@ -138,7 +188,7 @@ button, input, optgroup, select, textarea {
 }
 
 input {
-    -webkit-writing-mode: horizontal-tb !important;
+    writing-mode: horizontal-tb !important;
     text-rendering: auto;
     letter-spacing: normal;
     word-spacing: normal;
@@ -146,12 +196,17 @@ input {
     text-indent: 0px;
     text-shadow: none;
     text-align: start;
-    -webkit-appearance: textfield;
+    appearance: textfield;
     background-color: white;
     -webkit-rtl-ordering: logical;
     cursor: text;
 }
 
+input[disabled], input[readonly] {
+    background: var(--ui-color-muted-bg);
+    cursor: not-allowed;
+}
+
 form .btn {
     border: 1px solid transparent;
 }
@@ -165,16 +220,82 @@ form .btn {
 
 .btn-primary {
     color: #fff;
-    background-color: #60467e;
-    background-image: -webkit-linear-gradient(left bottom,rgba(159,88,150,0) 0,rgba(159,88,150,0.6) 100%);
+    background-color: var(--ui-color-primary);
+    background-image: none;
+    border: none;
+    box-shadow: var(--ui-shadow-sm);
+    transition: all 0.2s ease;
+}
+
+.btn-primary:hover {
+    background-color: var(--ui-color-primary-hover);
+    box-shadow: var(--ui-shadow-md);
+    transform: translateY(-1px);
+}
+
+.btn-primary:active {
+    transform: translateY(0);
+    box-shadow: 0 1px 2px rgba(64, 158, 255, 0.3);
 }
 
 .btn {
-    border-radius: 5px;
+    border-radius: var(--ui-radius-sm);
     padding-left: 18px;
     padding-right: 18px;
 }
 
+@media (max-width: 576px) {
+    .panel {
+        max-width: 100%;
+    }
+
+    .panel .h3 {
+        margin: 30px 20px 16px;
+        font-size: 22px;
+    }
+
+    .panel form,
+    .oauth2-container {
+        padding-left: 20px;
+        padding-right: 20px;
+    }
+
+    .oauth2-btn {
+        flex: 1 0 100%;
+        width: 100%;
+    }
+
+    .panel-footer {
+        font-size: 15px;
+        padding: 16px;
+    }
+
+    .inverted-wrapper {
+        padding: 20px 20px 0 20px;
+    }
+
+    .legal li {
+        display: block;
+        margin: 8px 0;
+    }
+}
+
+@media (min-width: 577px) and (max-width: 768px) {
+    .panel {
+        max-width: 490px;
+    }
+}
+
+/* hCaptcha responsive */
+.h-captcha {
+    display: flex;
+    justify-content: center;
+}
+
+.h-captcha iframe {
+    max-width: 100%;
+}
+
 .btn-block {
     display: block;
     width: 100%;
@@ -191,6 +312,88 @@ form .btn {
     user-select: none;
 }
 
+/* OAuth2 buttons styles */
+.oauth2-container {
+    padding: 30px 30px 10px;
+}
+
+.oauth2-buttons {
+    display: flex;
+    flex-wrap: wrap;
+    gap: 15px;
+    margin-bottom: 24px;
+    justify-content: space-between;
+}
+
+.oauth2-btn {
+    display: flex;
+    align-items: center;
+    gap: 8px;
+    padding: 12px 16px;
+    border: 1px solid #e2e8f0;
+    border-radius: 6px;
+    background-color: #ffffff;
+    color: #4a5568;
+    text-decoration: none;
+    font-size: 14px;
+    font-weight: 500;
+    transition: all 0.2s ease;
+    flex: 1 0 calc(50% - 10px);
+    width: calc(50% - 10px);
+    min-width: 140px;
+    max-width: none;
+    justify-content: center;
+    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
+}
+
+.oauth2-btn:hover {
+    border-color: #cbd5e0;
+    background-color: #f7fafc;
+    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);
+    transform: translateY(-1px);
+}
+
+.oauth2-btn:focus {
+    outline: none;
+    box-shadow: 0 0 0 3px rgba(66, 153, 225, 0.1);
+}
+
+.oauth2-icon {
+    width: 20px;
+    height: 20px;
+    display: inline-block;
+    flex-shrink: 0;
+}
+
+.oauth2-icon svg {
+    width: 100%;
+    height: 100%;
+    fill: currentColor;
+}
+
+.oauth2-email {
+    background:  #f1f5f9;
+}
+
+.oauth2-divider {
+    display: flex;
+    align-items: center;
+    text-align: center;
+}
+
+.oauth2-divider .divider-line {
+    flex: 1;
+    height: 1px;
+    background-color: #e2e8f0;
+}
+
+.oauth2-divider .divider-text {
+    padding: 0 16px;
+    color: #a0aec0;
+    font-size: 14px;
+    font-weight: 500;
+}
+
 .panel-footer {
     background-color: #f5f5f5;
     border-top: 1px solid #ddd;
@@ -203,6 +406,7 @@ form .btn {
     display: block;
     font-size: 17px;
     color: #4a5568;
+    text-align: center;
 }
 
 a.panel-footer {
@@ -252,4 +456,47 @@ form li {
 .white-link {
     margin-left: 25px;
     color: #fff
+}
+
+.logo-sfdc {
+    display: block;
+    margin: 0 auto;
+    width: 100%;
+    max-width: 430px;
+    padding: 26.6666666667px 0;
+    text-align: center;
+    background: -webkit-linear-gradient(-360deg,rgba(255,255,255,0) 0,rgba(255,255,255,0.2) 50%,rgba(255,255,255,0) 100%);
+    background: linear-gradient(90deg,rgba(255,255,255,0) 0,rgba(255,255,255,0.2) 50%,rgba(255,255,255,0) 100%);
+    background-size: 100% 1px;
+    background-repeat: no-repeat;
+}
+
+.logo-sfdc a {
+    display: block;
+    color: #dcdae9;
+    text-decoration: none;
+    text-transform: uppercase;
+    letter-spacing: .05em;
+    font-size: 10px;
+    font-weight: bold;
+}
+
+.legal {
+    list-style: none;
+    margin-top: 40px;
+    padding: 0;
+    text-align: center;
+}
+
+.legal li, .legal a {
+    font-size: 12px;
+    font-weight: bold;
+    text-transform: none;
+    letter-spacing: 0;
+    color: #dcdae9;
+}
+
+.legal li {
+    display: inline-block;
+    margin: 5px;
 }
\ No newline at end of file
diff --git a/rootfs/api/static/icons/logo.svg b/rootfs/api/static/icons/logo.svg
new file mode 100644
index 0000000..d970da0
--- /dev/null
+++ b/rootfs/api/static/icons/logo.svg
@@ -0,0 +1,14 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="30px" height="30px" viewBox="0 0 16 16" version="1.1">
+    <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+        <circle id="Oval" stroke="#FF2F57" fill="#FF2F57" cx="3" cy="3" r="2"/>
+        <circle id="Oval" stroke="#FF2F57" fill="#FF2F57" cx="3" cy="13" r="2"/>
+        <circle id="Oval" stroke="#FF2F57" fill="#FF2F57" cx="13" cy="13" r="2"/>
+        <circle id="Oval" stroke="#FF2F57" fill="#FF2F57" cx="13" cy="13" r="2"/>
+        <circle id="Oval" stroke="#FF2F57" fill="#FF2F57" cx="13" cy="3" r="2"/>
+        <rect id="Rectangle" stroke="#3FB1E5" fill="#3FB1E5" x="6.5" y="6.5" width="3" height="3"/>
+        <polygon id="Triangle" stroke="#38BB4C" fill="#38BB4C" stroke-linejoin="round" points="8 11 10 15 6 15"/>
+        <polygon id="Triangle" stroke="#38BB4C" fill="#38BB4C" stroke-linejoin="round" transform="translate(3.000000, 8.000000) rotate(90.000000) translate(-3.000000, -8.000000) " points="3 6 5 10 1 10"/>
+        <polygon id="Triangle" stroke="#38BB4C" fill="#38BB4C" stroke-linejoin="round" transform="translate(8.000000, 3.000000) rotate(180.000000) translate(-8.000000, -3.000000) " points="8 1 10 5 6 5"/>
+        <polygon id="Triangle" stroke="#38BB4C" fill="#38BB4C" stroke-linejoin="round" transform="translate(13.000000, 8.000000) rotate(270.000000) translate(-13.000000, -8.000000) " points="13 6 15 10 11 10"/>
+    </g>
+</svg>
\ No newline at end of file
diff --git a/rootfs/api/tasks.py b/rootfs/api/tasks.py
new file mode 100644
index 0000000..e52abef
--- /dev/null
+++ b/rootfs/api/tasks.py
@@ -0,0 +1,27 @@
+"""Celery tasks for Drycc Passport."""
+import logging
+
+from django.conf import settings
+from celery import shared_task
+from api.utils import send_email_notification, send_webhook_notification
+from api.models import MessagePreference
+
+logger = logging.getLogger(__name__)
+
+
+@shared_task(bind=True, max_retries=3, default_retry_delay=10)
+def send_notification(self, message) -> None:
+    use_email, use_webhook = False, False
+    try:
+        preference = message.user.message_preference
+    except MessagePreference.DoesNotExist:
+        use_email = True
+        logger.info("Send email notification for message %s without user preference", message.id)
+    else:
+        if getattr(preference, f"notify_{message.category}", True):
+            use_email = preference.email_alerts
+            use_webhook = preference.push_alerts and preference.webhook_url
+    if use_email and message.user.email and getattr(settings, 'EMAIL_HOST', ''):
+        send_email_notification(message)
+    if use_webhook:
+        send_webhook_notification(message, preference.webhook_url)
diff --git a/rootfs/api/templates/base/footer.html b/rootfs/api/templates/base/footer.html
new file mode 100644
index 0000000..3b3a62c
--- /dev/null
+++ b/rootfs/api/templates/base/footer.html
@@ -0,0 +1,19 @@
+<footer class="logo-sfdc" role="contentinfo">
+    <nav aria-label="Footer links">
+    <ul class="legal">
+        {% if LEGAL_ENABLED %}
+        <li><a href="https://www.drycc.cc" rel="nofollow">Drycc Documents</a></li>
+        <li><a href="https://legal.doopai.com/#/cloud-services-terms" rel="nofollow">Terms of Service</a></li>
+        <li><a href="https://legal.doopai.com/#/doopai-privacy-policy" rel="nofollow">Privacy</a></li>
+        <li><a href="https://legal.doopai.com/#/doopai-cookie-policy" rel="nofollow">Cookies</a></li>
+        <li>© {% now 'Y' %} drycc.com</li>
+        {% else %}
+        <li><a href="https://www.drycc.cc" rel="nofollow">Drycc Documents</a></li>
+        <li><a href="https://github.com/drycc" rel="nofollow">Open Source</a></li>
+        <li><a href="https://drycc.slack.com/" rel="nofollow">Community</a></li>
+        <li><a href="https://github.com/drycc/workflow/issues" rel="nofollow">Support</a></li>
+        <li>© {% now 'Y' %} drycc.cc</li>
+        {% endif %}
+    </ul>
+    </nav>
+</footer>
\ No newline at end of file
diff --git a/rootfs/api/templates/base/layout.html b/rootfs/api/templates/base/layout.html
new file mode 100644
index 0000000..11e1c35
--- /dev/null
+++ b/rootfs/api/templates/base/layout.html
@@ -0,0 +1,20 @@
+{% load static %}
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <title>{% block title %}Drycc CaaS{% endblock %}</title>
+    <link rel="stylesheet" href="{% static 'css/main.css' %}" type="text/css">
+    {% block extra_head %}{% endblock %}
+</head>
+<body>
+    <div class="page-wrap gradient-primary">
+        <div class="container">
+            {% block content %}{% endblock %}
+        </div>
+        {% include "base/footer.html" %}
+    </div>
+    {% block extra_scripts %}{% endblock %}
+</body>
+</html>
diff --git a/rootfs/api/templates/notifications/email_message.html b/rootfs/api/templates/notifications/email_message.html
new file mode 100644
index 0000000..5c1c6a7
--- /dev/null
+++ b/rootfs/api/templates/notifications/email_message.html
@@ -0,0 +1,99 @@
+<!DOCTYPE html>
+<html>
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <title>{{ message.title }}</title>
+    <style>
+        body {
+            font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
+            background-color: #f8fafc;
+            margin: 0;
+            padding: 0;
+            color: #334155;
+        }
+        .container {
+            max-width: 600px;
+            margin: 0 auto;
+            padding: 20px;
+        }
+        .card {
+            background-color: #ffffff;
+            border-radius: 8px;
+            box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
+            overflow: hidden;
+        }
+        .header {
+            padding: 24px;
+            border-bottom: 1px solid #e2e8f0;
+        }
+        .header h1 {
+            margin: 0;
+            font-size: 18px;
+            font-weight: 600;
+            color: #0f172a;
+        }
+        .badge {
+            display: inline-block;
+            padding: 4px 12px;
+            border-radius: 9999px;
+            font-size: 11px;
+            font-weight: 600;
+            text-transform: uppercase;
+            letter-spacing: 0.05em;
+            margin-top: 8px;
+        }
+        .badge-system { background-color: #dbeafe; color: #1e40af; }
+        .badge-product { background-color: #d1fae5; color: #065f46; }
+        .badge-security { background-color: #e0e7ff; color: #3730a3; }
+        .badge-alert { background-color: #fee2e2; color: #991b1b; }
+        .badge-service { background-color: #f3e8ff; color: #6b21a8; }
+        .content {
+            padding: 24px;
+            line-height: 1.6;
+            font-size: 14px;
+        }
+        .content p {
+            margin: 0 0 16px 0;
+        }
+        .footer {
+            padding: 16px 24px;
+            background-color: #f8fafc;
+            border-top: 1px solid #e2e8f0;
+            font-size: 12px;
+            color: #64748b;
+        }
+        .action-button {
+            display: inline-block;
+            padding: 10px 20px;
+            background-color: #0f172a;
+            color: #ffffff;
+            text-decoration: none;
+            border-radius: 6px;
+            font-size: 13px;
+            font-weight: 500;
+            margin-top: 16px;
+        }
+    </style>
+</head>
+<body>
+    <div class="container">
+        <div class="card">
+            <div class="header">
+                <h1>{{ message.title }}</h1>
+                <span class="badge badge-{{ message.category }}">{{ message.get_category_display }}</span>
+            </div>
+            <div class="content">
+                <p>{{ message.content }}</p>
+                {% if message.action_link and message.action_text %}
+                <a href="{{ message.action_link }}" class="action-button">{{ message.action_text }}</a>
+                {% endif %}
+            </div>
+            <div class="footer">
+                <p>You received this notification because you have email alerts enabled in your Drycc Passport account.</p>
+                <p>To manage your notification preferences, visit your <a href="{{ domain }}/messages/preferences">Account Settings</a>.</p>
+            </div>
+        </div>
+    </div>
+</body>
+</html>
diff --git a/rootfs/api/templates/oauth2_provider/authorize.html b/rootfs/api/templates/oauth2_provider/authorize.html
index a43753d..36c33e6 100644
--- a/rootfs/api/templates/oauth2_provider/authorize.html
+++ b/rootfs/api/templates/oauth2_provider/authorize.html
@@ -1,34 +1,41 @@
+{% extends 'base/layout.html' %}
 {% load i18n %}
-{% load static %}
-<link rel="stylesheet" href="{% static 'css/main.css' %}" type="text/css">
-<head>
-    <meta charset="UTF-8">
-    <title>Authorize</title>
-</head>
-<div class="page-wrap gradient-primary">
-    <div class="container">
-        <h1 class="logo"><a href="https://www.drycc.cc" title="Drycc">Drycc</a></h1>
-        <div class="panel">
-            {% if not error %}
-            <h2 class="h3">{% trans "Authorize" %} {{ application.name }}?</h2>
-            {{ updated }}
-            <form id="authorizationForm" method="post">
-                {% csrf_token %}
-                {% for field in form %}
-                    {% if field.is_hidden %}
-                        {{ field }}
-                    {% endif %}
-                {% endfor %}
-                {{ form.errors }}
-                {{ form.non_field_errors }}
-                <br>
-                <input type="submit" class="btn btn-primary btn-lg btn-block" name="allow" value="{% trans 'Authorize' %}"/>
-            </form>
-            {% else %}
-            <h2 class="h3">{{ error.error }}</h2>
-            <p class="tc gray-90 inverted-wrapper">{{ error.description }}</p>
-            <div class="inverted-wrapper"></div>
-            {% endif %}
+{% block title %}Authorize{% endblock %}
+{% block content %}
+<div class="panel">
+    {% if not error %}
+    <h2 class="h3">{% trans "Authorize" %} {{ application.name }}?</h2>
+    {{ updated }}
+    <form id="authorizationForm" method="post">
+        <div class="form-group">
+            <p class="gray-90">{{ application.name }} wants to access your {{ request.user.username }} account</p>
         </div>
-    </div>
-</div>
\ No newline at end of file
+        {% csrf_token %}
+        {% for field in form %}
+            {% if field.is_hidden %}
+                {{ field }}
+            {% endif %}
+        {% endfor %}
+        {{ form.errors }}
+        {{ form.non_field_errors }}
+        <br>
+        <input type="submit" class="btn btn-primary btn-lg btn-block" name="allow" value="{% trans 'Authorize' %}"/>
+    </form>
+    <a id="logout-link" class="panel-footer" href="/user/logout?next=">With another account? &nbsp;<span>Sign In</span></a>
+    {% else %}
+    <h2 class="h3">{{ error.error }}</h2>
+    <p class="tc gray-90 inverted-wrapper">{{ error.description }}</p>
+    <div class="inverted-wrapper"></div>
+    {% endif %}
+</div>
+{% endblock %}
+{% block extra_scripts %}
+<script>
+    document.addEventListener('DOMContentLoaded', function() {
+        const element = document.getElementById("logout-link");
+        if (element) {
+            element.href += encodeURIComponent(window.location.pathname + window.location.search);
+        }
+    });
+</script>
+{% endblock %}
\ No newline at end of file
diff --git a/rootfs/api/templates/user/account_activation_done.html b/rootfs/api/templates/user/account_activation_done.html
index d6c8bc1..e9c7095 100644
--- a/rootfs/api/templates/user/account_activation_done.html
+++ b/rootfs/api/templates/user/account_activation_done.html
@@ -1,6 +1,6 @@
 {% extends 'user/message.html' %}
-{% block title %}Account activite successful{% endblock %}
+{% block heading %}Account activate successful{% endblock %}
 {% block message %}
 Your account has been activated successfully.
-<a href="/user/login/">please go to the login page.</a>
+<a href="/user/login/">Please go to the login page.</a>
 {% endblock %}
diff --git a/rootfs/api/templates/user/account_activation_fail.html b/rootfs/api/templates/user/account_activation_fail.html
index b2e6e43..15235d5 100644
--- a/rootfs/api/templates/user/account_activation_fail.html
+++ b/rootfs/api/templates/user/account_activation_fail.html
@@ -1,5 +1,5 @@
 {% extends 'user/message.html' %}
-{% block title %}Account activite fail{% endblock %}
+{% block heading %}Account activate fail{% endblock %}
 {% block message %}
 The confirmation link was invalid, possibly it has already been used, go back <a href="/user/registration/">Sign Up</a>
 {% endblock %}
\ No newline at end of file
diff --git a/rootfs/api/templates/user/account_update_done.html b/rootfs/api/templates/user/account_update_done.html
new file mode 100644
index 0000000..7991945
--- /dev/null
+++ b/rootfs/api/templates/user/account_update_done.html
@@ -0,0 +1,6 @@
+{% extends 'user/message.html' %}
+{% block heading %}Account update successful{% endblock %}
+{% block message %}
+Your account has been updated successfully.
+Please go to the <a href="/">main</a> page.
+{% endblock %}
diff --git a/rootfs/api/templates/user/account_update_email.html b/rootfs/api/templates/user/account_update_email.html
new file mode 100644
index 0000000..a5162e1
--- /dev/null
+++ b/rootfs/api/templates/user/account_update_email.html
@@ -0,0 +1,7 @@
+{% autoescape off %}
+Hi {{ user.username }},
+
+Please click on the link below to confirm your update:
+
+{{ domain }}{% url 'user_update_account' uidb64=uid token=token%}
+{% endautoescape %}
\ No newline at end of file
diff --git a/rootfs/api/templates/user/account_update_fail.html b/rootfs/api/templates/user/account_update_fail.html
new file mode 100644
index 0000000..cec93ea
--- /dev/null
+++ b/rootfs/api/templates/user/account_update_fail.html
@@ -0,0 +1,6 @@
+{% extends 'user/message.html' %}
+{% block heading %}Account update fail{% endblock %}
+{% block message %}
+The confirmation link was invalid, possibly it has already been expired.
+Please go to the <a href="/">main</a> page.
+{% endblock %}
\ No newline at end of file
diff --git a/rootfs/api/templates/user/login.html b/rootfs/api/templates/user/login.html
index f1f1aa8..1fa860d 100644
--- a/rootfs/api/templates/user/login.html
+++ b/rootfs/api/templates/user/login.html
@@ -1,33 +1,83 @@
-{% load static %}
+{% extends 'base/layout.html' %}
+{% block title %}{% if identity_linking %}Identity Linking{% else %}Login{% endif %}{% endblock %}
+{% block content %}
+<div class="panel">
+    <h2 class="h3">{% if identity_linking %}Identity Linking{% else %}Log in to your account{% endif %}</h2>
 
-<link rel="stylesheet" href="{% static 'css/main.css' %}" type="text/css">
-<head>
-    <meta charset="UTF-8">
-    <title>Login</title>
-</head>
-<div class="page-wrap gradient-primary">
-    <div class="container">
-        <h1 class="logo"><a href="https://www.drycc.cc" title="Drycc">Drycc</a></h1>
-        <div class="panel">
-            <h2 class="h3">Log in to your account</h2>
-            <form method="post" action="{% url 'user_login' %}">
-                {% csrf_token %}
-                {% if form.errors %}
-                <div class="alert alert-danger">There was a problem with your login.</div>
-                {% endif %}
-                <div class="form-group">
-                    <label for="username">{{ form.username.label_tag }}</label>
-                    <input autofocus="off" class="form-control" id="username" name="username" :placeholder="Username" type="text" >
-                </div>
-                <div class="form-group">
-                    <label for="password">{{ form.password.label_tag }}</label>
-                    <input autocomplete="off" class="form-control password" id="password" name="password" :placeholder="Password" type="password"/>
-                </div>
-                <button class="btn btn-primary btn-lg btn-block" name="commit" type="submit">Log In</button>
-                <input type="hidden" name="next" value={{ next }}>
-            </form>
-            <a class="panel-footer" href="/user/registration/"><span>Sign Up</span></a>
+    {% if not identity_linking %}
+    <div class="oauth2-container" id="oauth2-container">
+        <div class="oauth2-buttons" id="oauth2-buttons">
+        </div>
+        <div class="oauth2-divider" id="oauth2-divider">
+            <span class="divider-line"></span>
+            <span class="divider-text">or</span>
+            <span class="divider-line"></span>
         </div>
-        <a href="/user/password_reset/" class="white-link">Forgot your password?</a>
     </div>
+    {% endif %}
+
+    <form method="post" action="{% url 'user_login' %}">
+        {% csrf_token %}
+        {% if form.errors %}
+        {% if identity_linking_error %}
+        <div class="alert alert-danger" role="alert">
+            <strong>{{ identity_linking_error|escape }}</strong>
+        </div>
+        {% endif %}
+        {% for error in form.non_field_errors %}
+        <div class="alert alert-danger" role="alert">
+            <strong>{{ error|escape }}</strong>
+        </div>
+        {% endfor %}
+        {% endif %}
+        <div class="form-group">
+            <label for="username">{{ form.username.label_tag }}</label>
+            <input autocomplete="username" class="form-control" id="username" name="username" placeholder="Username" type="text" required>
+        </div>
+        <div class="form-group">
+            <label for="password">{{ form.password.label_tag }}</label>
+            <input autocomplete="current-password" class="form-control password" id="password" name="password" placeholder="Password" type="password" required>
+        </div>
+        <button class="btn btn-primary btn-lg btn-block" id="commit" type="submit">Log In</button>
+        <input type="hidden" name="next" value="{{ next|escape }}">
+        {% if identity_linking %}
+        <input type="hidden" name="identity_linking" value="1">
+        {% endif %}
+    </form>
+    {% if registration_enabled %}
+    <a class="panel-footer" href="/user/registration/">New to Drycc?  <span>Sign Up</span></a>
+    {% endif %}
 </div>
+{% if password_reset_enabled %}
+<div>
+    <a href="/user/password_reset/" class="white-link">Forgot your password?</a>
+</div>
+{% endif %}
+{% endblock %}
+{% block extra_scripts %}
+<script>
+{% if not identity_linking %}
+fetch('/user/identity-providers/')
+    .then(response => response.json())
+    .then(data => {
+        const oauth2Container = document.getElementById('oauth2-container');
+        const oauth2Buttons = document.getElementById('oauth2-buttons');
+        const oauth2Divider = document.getElementById('oauth2-divider');
+
+        if (data.results && data.results.length > 0) {
+            oauth2Buttons.innerHTML = data.results.map(provider => `
+                <a href="${provider.login_url}" class="oauth2-btn">
+                    <span class="oauth2-icon">${provider.icon}</span>
+                    <strong>Sign in with ${provider.name.charAt(0).toUpperCase() + provider.name.slice(1)}</strong>
+                </a>
+            `).join('');
+        } else {
+            oauth2Container.style.display = 'none';
+        }
+    })
+    .catch(error => {
+        console.error('Error fetching OAuth2 providers:', error);
+    });
+{% endif %}
+</script>
+{% endblock %}
diff --git a/rootfs/api/templates/user/login_done.html b/rootfs/api/templates/user/login_done.html
index 357cb84..1b738fa 100644
--- a/rootfs/api/templates/user/login_done.html
+++ b/rootfs/api/templates/user/login_done.html
@@ -1,5 +1,5 @@
 {% extends 'user/message.html' %}
-{% block title %}Login done{% endblock %}
+{% block heading %}Login done{% endblock %}
 {% block message %}
 You can close this page and return to your CLI. It should now be logged in.
 {% endblock %}
\ No newline at end of file
diff --git a/rootfs/api/templates/user/logout.html b/rootfs/api/templates/user/logout.html
index 0c25d7f..7840f14 100644
--- a/rootfs/api/templates/user/logout.html
+++ b/rootfs/api/templates/user/logout.html
@@ -1,8 +1,8 @@
 {% extends 'user/message.html' %}
-{% block title %}Logout{% endblock %}
+{% block heading %}Logout{% endblock %}
 {% block message %}
 Logout successfully. Return to the login later.
 <script>
-  window.setTimeout("window.location='/'", 2000);
+  setTimeout(function() { window.location = '/'; }, 2000);
 </script>
 {% endblock %}
\ No newline at end of file
diff --git a/rootfs/api/templates/user/message.html b/rootfs/api/templates/user/message.html
index 78c9706..d600ddc 100644
--- a/rootfs/api/templates/user/message.html
+++ b/rootfs/api/templates/user/message.html
@@ -1,19 +1,9 @@
-{% load static %}
-
-<link rel="stylesheet" href="{% static 'css/main.css' %}" type="text/css">
-
-<head>
-    <meta charset="UTF-8">
-    <title>Drycc | Message</title>
-</head>
-
-<div class="page-wrap gradient-primary">
-    <div class="container">
-      <h1 class="logo"><a href="https://www.drycc.cc" title="Drycc">Drycc</a></h1>
-        <div class="panel">
-            <h2 class="h3">{% block title %}{% endblock %}</h2>
-            <p class="tc gray-90 inverted-wrapper">{% block message %}{% endblock %}</p>
-            <div class="inverted-wrapper"></div>
-        </div>
-    </div>
-</div>
\ No newline at end of file
+{% extends 'base/layout.html' %}
+{% block title %}Drycc | Message{% endblock %}
+{% block content %}
+<div class="panel">
+    <h2 class="h3">{% block heading %}{% endblock %}</h2>
+    <p class="tc gray-90 inverted-wrapper">{% block message %}{% endblock %}</p>
+    <div class="inverted-wrapper"></div>
+</div>
+{% endblock %}
\ No newline at end of file
diff --git a/rootfs/api/templates/user/oauth_callback.html b/rootfs/api/templates/user/oauth_callback.html
new file mode 100644
index 0000000..48a04d5
--- /dev/null
+++ b/rootfs/api/templates/user/oauth_callback.html
@@ -0,0 +1,82 @@
+{% extends 'base/layout.html' %}
+{% block title %}Identity Linking{% endblock %}
+{% block content %}
+<div class="panel">
+    <h2 class="h3">Identity Linking</h2>
+
+    {% if status == 'pending' %}
+    <form method="post">
+        {% csrf_token %}
+        <div class="form-group">
+            <p class="gray-90">
+                This {{ display_name|default:'OAuth' }} identity is not linked yet. Create a new account to continue.
+            </p>
+        </div>
+        {% if error %}
+        <div class="form-group">
+            <div class="error" role="alert">{{ error }}</div>
+        </div>
+        {% endif %}
+        <div class="form-group">
+            <label for="oauth-username">Username</label>
+            <input autocomplete="username" class="form-control" id="oauth-username" name="username" placeholder="Username" type="text" required>
+        </div>
+        <div class="form-group">
+            <label for="oauth-password">Password</label>
+            <input autocomplete="new-password" class="form-control" id="oauth-password" name="password" placeholder="Password" type="password" required>
+        </div>
+        <div class="form-group">
+            <label for="oauth-confirm-password">Confirm Password</label>
+            <input autocomplete="new-password" class="form-control" id="oauth-confirm-password" name="confirm_password" placeholder="Confirm password" type="password" required>
+        </div>
+        <div class="form-group">
+            <label for="oauth-email">Email (from provider)</label>
+            <input autocomplete="email" class="form-control" id="oauth-email"
+                   placeholder="Email" type="email" disabled value="{{ email }}">
+        </div>
+        <button class="btn btn-primary btn-lg btn-block" type="submit">Create and Link</button>
+    </form>
+    <a class="panel-footer" href="/user/login/?identity_linking=1">I already have an account</a>
+
+    {% elif status == 'linked' %}
+    <form>
+        <div class="form-group">
+            <p class="gray-90">Identity linked successfully.</p>
+        </div>
+        <button class="btn btn-primary btn-lg btn-block" type="button" onclick="location.href='/account-setting'">Go to Account Settings</button>
+    </form>
+
+    {% elif status == 'already_linked' %}
+    <form>
+        <div class="form-group">
+            <p class="gray-90">This identity is already linked to your account.</p>
+        </div>
+        <button class="btn btn-primary btn-lg btn-block" type="button" onclick="location.href='/account-setting'">Go to Account Settings</button>
+    </form>
+
+    {% elif status == 'conflict' %}
+    <form>
+        <div class="form-group">
+            <div class="error" role="alert">This identity is linked to another account.</div>
+        </div>
+        <button class="btn btn-primary btn-lg btn-block" type="button" onclick="location.href='/user/login/'">Login with another account</button>
+    </form>
+
+    {% elif status == 'missing_email' %}
+    <form>
+        <div class="form-group">
+            <div class="error" role="alert">The provider did not supply an email address.</div>
+        </div>
+        <button class="btn btn-primary btn-lg btn-block" type="button" onclick="location.href='/user/login/'">Back to Login</button>
+    </form>
+
+    {% else %}
+    <form>
+        <div class="form-group">
+            <div class="error" role="alert">OAuth flow error. Please try again.</div>
+        </div>
+        <button class="btn btn-primary btn-lg btn-block" type="button" onclick="location.href='/user/login/'">Back to Login</button>
+    </form>
+    {% endif %}
+</div>
+{% endblock %}
\ No newline at end of file
diff --git a/rootfs/api/templates/user/password_reset_complete.html b/rootfs/api/templates/user/password_reset_complete.html
index 7903242..2a0afc4 100644
--- a/rootfs/api/templates/user/password_reset_complete.html
+++ b/rootfs/api/templates/user/password_reset_complete.html
@@ -1,5 +1,5 @@
 {% extends 'user/message.html' %}
-{% block title %}Password reset successful{% endblock %}
+{% block heading %}Password reset successful{% endblock %}
 {% block message %}
 Your password has been set.  You may go ahead and log in now.
 {% endblock %}
diff --git a/rootfs/api/templates/user/password_reset_confirm.html b/rootfs/api/templates/user/password_reset_confirm.html
index 171eda2..794cfa7 100644
--- a/rootfs/api/templates/user/password_reset_confirm.html
+++ b/rootfs/api/templates/user/password_reset_confirm.html
@@ -1,42 +1,32 @@
-{% load static %}
-
-<link rel="stylesheet" href="{% static 'css/main.css' %}" type="text/css">
-<head>
-    <meta charset="UTF-8">
-    <title>Reset Password</title>
-</head>
-
+{% extends 'base/layout.html' %}
+{% block title %}Reset Password{% endblock %}
+{% block content %}
 {% if validlink %}
-
-
-<div class="page-wrap gradient-primary">
-    <div class="container">
-        <h1 class="logo"><a href="https://www.drycc.cc" title="Drycc">Drycc</a></h1>
-        <div class="panel">
-            <h2 class="h3">{{ title }}</h2>
-            <p class="tc gray-90 inverted-wrapper">Please enter your new password twice so we can verify you typed it in correctly.</p>
-            <form method="post">
-                {% csrf_token %}
-                <div class="form-group">
-                    <label for="id_new_password1">{{ form.new_password1.label_tag }}</label>
-                    <input autofocus="off" class="form-control" id="id_new_password1" name="new_password1"
-                       :placeholder="Password" type="password">
-                    <div class="error">{{ form.new_password1.errors }}</div>
-                </div>
-                <div class="form-group">
-                    <label for="id_new_password2">{{ form.new_password2.label_tag }}</label>
-                    <input autofocus="off" class="form-control" id="id_new_password2" name="new_password2"
-                       :placeholder="Password" type="password">
-                    <div class="error">{{ form.new_password2.errors }}</div>
-                </div>
-                <button class="btn btn-primary btn-lg btn-block" name="commit" type="submit">Submit</button>
-            </form>
+<div class="panel">
+    <h2 class="h3">{{ title }}</h2>
+    <p class="tc gray-90 inverted-wrapper">Please enter your new password twice so we can verify you typed it in correctly.</p>
+    <form method="post">
+        {% csrf_token %}
+        <div class="form-group">
+            <label for="id_new_password1">{{ form.new_password1.label_tag }}</label>
+            <input autocomplete="new-password" class="form-control" id="id_new_password1" name="new_password1"
+               placeholder="Password" type="password">
+            <div class="error" role="alert">{{ form.new_password1.errors }}</div>
         </div>
-    </div>
+        <div class="form-group">
+            <label for="id_new_password2">{{ form.new_password2.label_tag }}</label>
+            <input autocomplete="new-password" class="form-control" id="id_new_password2" name="new_password2"
+               placeholder="Password" type="password">
+            <div class="error" role="alert">{{ form.new_password2.errors }}</div>
+        </div>
+        <button class="btn btn-primary btn-lg btn-block" name="commit" type="submit">Submit</button>
+    </form>
 </div>
-
 {% else %}
-
-<p>The password reset link was invalid, possibly because it has already been used.  Please request a new password reset.</p>
-
+<div class="panel">
+    <h2 class="h3">The password reset link was invalid</h2>
+    <p class="tc gray-90 inverted-wrapper">Possibly because it has already been used. Please request a new password reset.</p>
+    <div class="inverted-wrapper"></div>
+</div>
 {% endif %}
+{% endblock %}
diff --git a/rootfs/api/templates/user/password_reset_done.html b/rootfs/api/templates/user/password_reset_done.html
index e1b0931..04f49c5 100644
--- a/rootfs/api/templates/user/password_reset_done.html
+++ b/rootfs/api/templates/user/password_reset_done.html
@@ -1,5 +1,5 @@
 {% extends 'user/message.html' %}
-{% block title %}Email send successful{% endblock %}
+{% block heading %}Email send successful{% endblock %}
 {% block message %}
 Please check your inbox. It may be in spam.
 {% endblock %}
\ No newline at end of file
diff --git a/rootfs/api/templates/user/password_reset_fail.html b/rootfs/api/templates/user/password_reset_fail.html
new file mode 100644
index 0000000..ec506eb
--- /dev/null
+++ b/rootfs/api/templates/user/password_reset_fail.html
@@ -0,0 +1,5 @@
+{% extends 'user/message.html' %}
+{% block heading %}The password reset link was invalid{% endblock %}
+{% block message %}
+Possibly because it has already been used. Please request a new password reset.
+{% endblock %}
\ No newline at end of file
diff --git a/rootfs/api/templates/user/password_reset_form.html b/rootfs/api/templates/user/password_reset_form.html
index 14e8725..00803a0 100644
--- a/rootfs/api/templates/user/password_reset_form.html
+++ b/rootfs/api/templates/user/password_reset_form.html
@@ -1,27 +1,18 @@
-{% load static %}
-<link rel="stylesheet" href="{% static 'css/main.css' %}" type="text/css">
-<head>
-    <meta charset="UTF-8">
-    <title>Reset Password</title>
-</head>
-<div class="page-wrap gradient-primary">
-    <div class="container">
-        <h1 class="logo"><a href="https://www.drycc.cc" title="Drycc">Drycc</a></h1>
-        <div class="panel">
-            <h2 class="h3">{{ title }}</h2>
-            <p class="tc gray-90 inverted-wrapper">Forgotten your password? Enter your email address below, and we'll email instructions for setting a new one.</p>
-            <form method="post">
-                {% csrf_token %}
-                <div class="form-group">
-                    <label for="email">{{ form.email.label_tag }}</label>
-                    <input autofocus="off" class="form-control" id="email" name="email"
-                           :placeholder="Email" type="email">
-                    <div class="error">{{ form.email.errors }}</div>
-
-                </div>
-                <button class="btn btn-primary btn-lg btn-block" name="commit" type="submit">Submit</button>
-            </form>
+{% extends 'base/layout.html' %}
+{% block title %}Reset Password{% endblock %}
+{% block content %}
+<div class="panel">
+    <h2 class="h3">{{ title }}</h2>
+    <p class="tc gray-90 inverted-wrapper">Forgotten your password? Enter your email address below, and we'll email instructions for setting a new one.</p>
+    <form method="post">
+        {% csrf_token %}
+        <div class="form-group">
+            <label for="email">{{ form.email.label_tag }}</label>
+            <input autocomplete="email" class="form-control" id="email" name="email"
+                   placeholder="Email" type="email">
+            <div class="error" role="alert">{{ form.email.errors }}</div>
         </div>
-    </div>
+        <button class="btn btn-primary btn-lg btn-block" name="commit" type="submit">Submit</button>
+    </form>
 </div>
-
+{% endblock %}
diff --git a/rootfs/api/templates/user/registration.html b/rootfs/api/templates/user/registration.html
index 5e30e3a..058ff41 100644
--- a/rootfs/api/templates/user/registration.html
+++ b/rootfs/api/templates/user/registration.html
@@ -1,55 +1,52 @@
-{% load static %}
-
-<link rel="stylesheet" href="{% static 'css/main.css' %}" type="text/css">
-
-<head>
-    <meta charset="UTF-8">
-    <title>Registration</title>
-</head>
-
-<div class="page-wrap gradient-primary">
-    <div class="container">
-        <div class="panel">
-            <h2 class="h3">Registration</h2>
-            <form method="post">
-                {% csrf_token %}
-                <div class="form-group">
-                    <label for="username">{{ form.username.label_tag }}</label>
-                    <input autofocus="off" class="form-control" id="username" name="username" :placeholder="Username" type="text" >
-                    <div class="error">{{ form.username.errors }}</div>
-                </div>
-
-                <div class="form-group">
-
-                    <label for="password1">{{ form.password1.label_tag }}</label>
-                    <input autofocus="off" class="form-control" id="password1" name="password1"
-                           :placeholder="Password" type="password" style="padding-left: 20px;">
-                    <div class="error">{{ form.password1.errors }}</div>
-                    {% if form.password1.help_text %}
-                        <div class="help">{{ form.password1.help_text|safe }}</div>
-                    {% endif %}
-                </div>
-
-                <div class="form-group">
-                    <label for="password2">{{ form.password2.label_tag }}</label>
-                    <input autofocus="off" class="form-control" id="password2" name="password2"
-                           :placeholder="Confirm Password" type="password" style="padding-left: 20px;">
-                    <div class="error">{{ form.password2.errors }}</div>
-                    {% if form.password2.help_text %}
-                    <div class="help">{{ form.password2.help_text|safe }}</div>
-                    {% endif %}
-                </div>
-
-                <div class="form-group">
-                    <label for="email">{{ form.email.label_tag }}</label>
-                    <input autofocus="off" class="form-control" id="email" name="email"
-                           :placeholder="Email" type="email" style="padding-left: 20px;">
-                    <div class="error">{{ form.email.errors }}</div>
-
-                </div>
-                <button class="btn btn-primary btn-lg btn-block" name="commit" type="submit">Submit</button>
-
-            </form>
+{% extends 'base/layout.html' %}
+{% block title %}Registration{% endblock %}
+{% block content %}
+<div class="panel">
+    <h2 class="h3">Registration</h2>
+    <form method="post">
+        {% csrf_token %}
+        <div class="form-group">
+            <label for="username">{{ form.username.label_tag }}</label>
+            <input autocomplete="username" class="form-control" id="username" name="username" placeholder="Username" type="text" required>
+            <div class="error" role="alert">{{ form.username.errors }}</div>
         </div>
-    </div>
+        <div class="form-group">
+            <label for="password1">{{ form.password1.label_tag }}</label>
+            <input autocomplete="new-password" class="form-control" id="password1" name="password1"
+                placeholder="Password" type="password" required>
+            <div class="error" role="alert">{{ form.password1.errors }}</div>
+        </div>
+        <div class="form-group">
+            <label for="password2">{{ form.password2.label_tag }}</label>
+            <input autocomplete="new-password" class="form-control" id="password2" name="password2"
+                placeholder="Confirm password" type="password" required>
+            <div class="error" role="alert">{{ form.password2.errors }}</div>
+        </div>
+        <div class="form-group">
+            <label for="email">{{ form.email.label_tag }}</label>
+            <input autocomplete="email" class="form-control" id="email" name="email"
+                   placeholder="Email" type="email" required>
+            <div class="error" role="alert">{{ form.email.errors }}</div>
+        </div>
+        {% if h_captcha_key %}
+        <div class="form-group">
+            <div class="h-captcha" data-sitekey="{{ h_captcha_key }}"></div>
+            <div class="error" role="alert">{{ form.h_captcha_token.errors }}</div>
+        </div>
+        {% endif %}
+        <button class="btn btn-primary btn-lg btn-block" id="submit" type="submit">Submit</button>
+        {% if LEGAL_ENABLED %}
+        <div class="form-group">
+            <p class="privacy">
+                Signing up signifies that you have read and agree to the <a target="_blank" href="https://legal.doopai.com/#/cloud-services-terms">Terms of Service</a> and our <a target="_blank" href="https://legal.doopai.com/#/doopai-privacy-policy">Privacy Policy</a>.
+            </p>
+        </div>
+        {% endif %}
+    </form>
 </div>
+{% endblock %}
+{% block extra_head %}
+{% if h_captcha_key %}
+<script src="https://js.hcaptcha.com/1/api.js" async defer></script>
+{% endif %}
+{% endblock %}
diff --git a/rootfs/api/templates/user/registration_disable.html b/rootfs/api/templates/user/registration_disable.html
index 8dfc922..4f4bbaf 100644
--- a/rootfs/api/templates/user/registration_disable.html
+++ b/rootfs/api/templates/user/registration_disable.html
@@ -1,5 +1,5 @@
 {% extends 'user/message.html' %}
-{% block title %}Registration fail{% endblock %}
+{% block heading %}Registration fail{% endblock %}
 {% block message %}
 The registration function of drycc passport is not enabled. Please contact the administrator to sign up.
 {% endblock %}
\ No newline at end of file
diff --git a/rootfs/api/templates/user/registration_done.html b/rootfs/api/templates/user/registration_done.html
index e6467c5..29497d0 100644
--- a/rootfs/api/templates/user/registration_done.html
+++ b/rootfs/api/templates/user/registration_done.html
@@ -1,5 +1,5 @@
 {% extends 'user/message.html' %}
-{% block title %}Registration successful{% endblock %}
+{% block heading %}Registration successful{% endblock %}
 {% block message %}
 We have sent an email to your mailbox, please log in the email to activate your account.
 {% endblock %}
\ No newline at end of file
diff --git a/rootfs/api/tests/__init__.py b/rootfs/api/tests/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/rootfs/api/tests/test_create_oauth2_application.py b/rootfs/api/tests/test_create_oauth2_application.py
new file mode 100644
index 0000000..cead11f
--- /dev/null
+++ b/rootfs/api/tests/test_create_oauth2_application.py
@@ -0,0 +1,139 @@
+import json
+import os
+import tempfile
+from io import StringIO
+from unittest import mock
+
+from django.contrib.auth import get_user_model
+from django.contrib.auth.hashers import check_password
+from django.core.management import call_command
+from django.test import TestCase
+from oauth2_provider.models import get_application_model
+
+from api.management.commands import create_oauth2_application as cmd_module
+
+User = get_user_model()
+Application = get_application_model()
+
+
+class CreateOauth2ApplicationTestCase(TestCase):
+    def setUp(self):
+        self.admin = User.objects.create_superuser(
+            username='create-oauth2-admin',
+            email='create-oauth2-admin@example.com',
+            password='password123',
+        )
+        self.tmpdir = tempfile.mkdtemp()
+        self.secrets_dir = tempfile.mkdtemp()
+        self._secrets_patch = mock.patch.object(
+            cmd_module, 'secrets_path', self.secrets_dir,
+        )
+        self._secrets_patch.start()
+        self.addCleanup(self._secrets_patch.stop)
+
+    def _write_init_file(self, items):
+        path = os.path.join(self.tmpdir, 'init-applications.json')
+        with open(path, 'w') as f:
+            json.dump(items, f)
+        return path
+
+    def _write_secret_file(self, name, suffix, value):
+        path = os.path.join(
+            self.secrets_dir, 'drycc-passport-%s-%s' % (name, suffix))
+        with open(path, 'w') as f:
+            f.write(value)
+        return path
+
+    def _run(self, items):
+        path = self._write_init_file(items)
+        out = StringIO()
+        call_command('create_oauth2_application', '--path', path, stdout=out)
+        return out.getvalue()
+
+    def _m2m_app(self, **overrides):
+        item = {
+            'name': 'builder',
+            'key': '',
+            'secret': '',
+            'prefix': '',
+            'grant_type': 'client-credentials',
+            'client_type': 'confidential',
+            'allowed_scopes': 'controller:hook',
+            'redirect_uri': '',
+        }
+        item.update(overrides)
+        return item
+
+    def test_m2m_reads_credentials_from_mounted_secret_files(self):
+        self._write_secret_file('builder', 'key', 'mounted-key-value')
+        self._write_secret_file('builder', 'secret', 'mounted-secret-value\n')
+
+        self._run([self._m2m_app()])
+
+        app = Application.objects.get(name='builder')
+        self.assertEqual(app.client_id, 'mounted-key-value')
+        self.assertTrue(check_password('mounted-secret-value', app.client_secret))
+
+    def test_subdomain_app_reads_credentials_from_mounted_secret_files(self):
+        self._write_secret_file('grafana', 'key', 'gf-key')
+        self._write_secret_file('grafana', 'secret', 'gf-secret')
+
+        self._run([{
+            'name': 'grafana',
+            'key': '',
+            'secret': '',
+            'prefix': 'drycc-grafana',
+            'grant_type': 'internal',
+            'client_type': 'confidential',
+            'allowed_scopes': 'openid profile email',
+            'redirect_uri': '/oauth2/callback',
+        }])
+
+        app = Application.objects.get(name='grafana')
+        self.assertEqual(app.client_id, 'gf-key')
+        self.assertTrue(check_password('gf-secret', app.client_secret))
+
+    def test_falls_back_to_random_when_no_mount_and_no_init_value(self):
+        self._run([self._m2m_app()])
+
+        app = Application.objects.get(name='builder')
+        self.assertEqual(len(app.client_id), 40)
+        self.assertNotEqual(app.client_id, '')
+        self.assertNotEqual(app.client_secret, '')
+
+    def test_init_config_value_takes_precedence_over_mount(self):
+        self._write_secret_file('builder', 'key', 'mount-key')
+        self._write_secret_file('builder', 'secret', 'mount-secret')
+
+        self._run([self._m2m_app(key='cfg-key', secret='cfg-secret')])
+
+        app = Application.objects.get(name='builder')
+        self.assertEqual(app.client_id, 'cfg-key')
+        self.assertTrue(check_password('cfg-secret', app.client_secret))
+
+    def test_idempotent_when_mount_unchanged(self):
+        self._write_secret_file('builder', 'key', 'stable-key')
+        self._write_secret_file('builder', 'secret', 'stable-secret')
+
+        self._run([self._m2m_app()])
+        first = Application.objects.get(name='builder')
+        first_id = first.client_id
+        first_hashed_secret = first.client_secret
+
+        self._run([self._m2m_app()])
+        second = Application.objects.get(name='builder')
+
+        self.assertEqual(second.client_id, first_id)
+        self.assertEqual(second.client_secret, first_hashed_secret)
+        self.assertTrue(check_password('stable-secret', second.client_secret))
+        self.assertEqual(Application.objects.filter(name='builder').count(), 1)
+
+    def test_logs_credential_source(self):
+        self._write_secret_file('builder', 'key', 'k')
+        self._write_secret_file('builder', 'secret', 's')
+
+        out = self._run([self._m2m_app()])
+
+        self.assertIn('[builder/key] credential source: mounted-file', out)
+        self.assertIn('[builder/secret] credential source: mounted-file', out)
+        self.assertIn('Drycc builder app created', out)
diff --git a/rootfs/api/tests/test_pipelines.py b/rootfs/api/tests/test_pipelines.py
new file mode 100644
index 0000000..78b6a62
--- /dev/null
+++ b/rootfs/api/tests/test_pipelines.py
@@ -0,0 +1,117 @@
+from unittest.mock import Mock, patch
+
+from django.contrib.auth import get_user_model
+from django.test import RequestFactory, TestCase
+from social_django.models import UserSocialAuth
+
+from api.apps_extra.social_core.pipelines import (
+    handle_authenticated_binding, require_username_password
+)
+
+User = get_user_model()
+
+
+class PipelineTestCase(TestCase):
+    def setUp(self):
+        self.factory = RequestFactory()
+        self.user = User.objects.create_user(
+            username='pipe-user',
+            email='pipe@example.com',
+            password='password123',
+        )
+
+    def _make_backend(self, request, name='feishu'):
+        strategy = Mock()
+        strategy.request = request
+        strategy.session_set = Mock()
+        backend = Mock()
+        backend.name = name
+        backend.strategy = strategy
+        return backend
+
+    @patch(
+        'api.apps_extra.social_core.pipelines.get_oauth_callback',
+        return_value='/oauth/callback?status=linked'
+    )
+    def test_handle_authenticated_binding_creates_identity(self, _mock_callback):
+        request = self.factory.get('/oauth/callback')
+        request.user = self.user
+        backend = self._make_backend(request)
+
+        response = handle_authenticated_binding(
+            backend, 'uid-1', {}, {'email': 'pipe@example.com'}
+        )
+
+        self.assertEqual(response.status_code, 302)
+        self.assertTrue(UserSocialAuth.objects.filter(
+            user=self.user, provider='feishu', uid='uid-1'
+        ).exists())
+
+    @patch(
+        'api.apps_extra.social_core.pipelines.get_oauth_callback',
+        return_value='/oauth/callback?status=conflict'
+    )
+    def test_handle_authenticated_binding_conflict(self, _mock_callback):
+        other = User.objects.create_user(
+            username='other', email='other@example.com', password='password123'
+        )
+        UserSocialAuth.objects.create(
+            user=other, provider='feishu', uid='uid-1', extra_data={}
+        )
+        request = self.factory.get('/oauth/callback')
+        request.user = self.user
+        backend = self._make_backend(request)
+
+        response = handle_authenticated_binding(
+            backend, 'uid-1', {}, {'email': 'pipe@example.com'}
+        )
+
+        self.assertEqual(response.status_code, 302)
+
+    @patch(
+        'api.apps_extra.social_core.pipelines.get_oauth_callback',
+        return_value='/oauth/callback?status=already_linked'
+    )
+    def test_handle_authenticated_binding_already_linked(self, _mock_callback):
+        UserSocialAuth.objects.create(
+            user=self.user, provider='feishu', uid='uid-1', extra_data={}
+        )
+        request = self.factory.get('/oauth/callback')
+        request.user = self.user
+        backend = self._make_backend(request)
+
+        response = handle_authenticated_binding(
+            backend, 'uid-1', {}, {'email': 'pipe@example.com'}
+        )
+
+        self.assertEqual(response.status_code, 302)
+
+    @patch(
+        'api.apps_extra.social_core.pipelines.get_oauth_callback',
+        return_value='/oauth/callback?status=pending'
+    )
+    def test_require_username_password_sets_pending_session(self, _mock_callback):
+        request = self.factory.get('/oauth/callback')
+        request.user = Mock(is_authenticated=False)
+        backend = self._make_backend(request)
+
+        response = require_username_password(
+            backend, 'uid-1', {'email': 'pipe@example.com'},
+            {'email': 'pipe@example.com'}
+        )
+
+        self.assertEqual(response.status_code, 302)
+        backend.strategy.session_set.assert_called_once()
+
+    @patch(
+        'api.apps_extra.social_core.pipelines.get_oauth_callback',
+        return_value='/oauth/callback?status=missing_email'
+    )
+    def test_require_username_password_requires_email(self, _mock_callback):
+        request = self.factory.get('/oauth/callback')
+        request.user = Mock(is_authenticated=False)
+        backend = self._make_backend(request)
+
+        response = require_username_password(backend, 'uid-1', {}, {})
+
+        self.assertEqual(response.status_code, 302)
diff --git a/rootfs/api/tests/test_serializers.py b/rootfs/api/tests/test_serializers.py
new file mode 100644
index 0000000..a25ddf8
--- /dev/null
+++ b/rootfs/api/tests/test_serializers.py
@@ -0,0 +1,50 @@
+from django.contrib.auth import get_user_model
+from django.test import TestCase
+
+from api.models import Message, MessagePreference
+from api.serializers import ListSerializer, MessagePreferenceSerializer, MessageSerializer
+
+User = get_user_model()
+
+
+class SerializerTestCase(TestCase):
+    def setUp(self):
+        self.user = User.objects.create_user(
+            username='serializer-user',
+            email='serializer@example.com',
+            password='password123',
+        )
+        self.message = Message.objects.create(
+            user=self.user,
+            category='system',
+            title='Serializer message',
+            content='Serializer content',
+            full_content='Serializer full content',
+            severity='info',
+        )
+        self.preference = MessagePreference.objects.create(
+            user=self.user,
+            email_alerts=True,
+            push_alerts=False,
+            webhook_url='',
+            notify_security=True,
+            notify_system=True,
+            notify_product=True,
+            notify_alert=True,
+            notify_service=True,
+        )
+
+    def test_list_serializer_validate_section(self):
+        result = ListSerializer.validate_section('1,2')
+        self.assertEqual(len(result), 2)
+
+    def test_message_serializer_contains_expected_fields(self):
+        data = MessageSerializer(self.message).data
+        self.assertEqual(data['category'], 'system')
+        self.assertEqual(data['title'], 'Serializer message')
+        self.assertIn('date', data)
+
+    def test_message_preference_serializer_contains_singular_alert_field(self):
+        data = MessagePreferenceSerializer(self.preference).data
+        self.assertIn('notify_alert', data)
+        self.assertTrue(data['notify_alert'])
diff --git a/rootfs/api/tests/test_tasks.py b/rootfs/api/tests/test_tasks.py
new file mode 100644
index 0000000..87fffb6
--- /dev/null
+++ b/rootfs/api/tests/test_tasks.py
@@ -0,0 +1,118 @@
+from unittest.mock import patch
+
+from django.contrib.auth import get_user_model
+from django.test import TestCase, override_settings
+
+from api.models import Message, MessagePreference
+from api.tasks import send_notification
+
+User = get_user_model()
+
+
+@override_settings(EMAIL_HOST='smtp.example.com')
+class NotificationTaskTestCase(TestCase):
+    def setUp(self):
+        delay_patcher = patch('api.tasks.send_notification.delay')
+        self.addCleanup(delay_patcher.stop)
+        self.mock_delay = delay_patcher.start()
+
+        self.user = User.objects.create_user(
+            username='task-user',
+            email='task@example.com',
+            password='password123',
+        )
+        self.preference = MessagePreference.objects.create(
+            user=self.user,
+            email_alerts=True,
+            push_alerts=True,
+            webhook_url='https://example.com/webhook',
+            notify_security=True,
+            notify_system=True,
+            notify_product=True,
+            notify_alert=True,
+            notify_service=True,
+        )
+        self.message = Message.objects.create(
+            user=self.user,
+            category='security',
+            title='Security event',
+            content='A security event occurred',
+            full_content='A security event occurred in detail',
+            severity='warning',
+        )
+
+    @patch('api.tasks.send_email_notification')
+    @patch('api.tasks.send_webhook_notification')
+    def test_send_notification_uses_enabled_channels(self, mock_webhook, mock_email):
+        send_notification.run(self.message)
+
+        mock_email.assert_called_once()
+        mock_webhook.assert_called_once_with(
+            mock_email.call_args[0][0], 'https://example.com/webhook'
+        )
+
+    @patch('api.tasks.send_email_notification')
+    @patch('api.tasks.send_webhook_notification')
+    def test_send_notification_respects_category_preference(self, mock_webhook, mock_email):
+        self.preference.notify_security = False
+        self.preference.save(update_fields=['notify_security'])
+
+        send_notification.run(self.message)
+
+        mock_email.assert_not_called()
+        mock_webhook.assert_not_called()
+
+    @patch('api.tasks.send_email_notification')
+    @patch('api.tasks.send_webhook_notification')
+    def test_send_notification_uses_default_true_for_unknown_category(
+        self, mock_webhook, mock_email
+    ):
+        self.message.category = 'unknown'
+        self.message.save(update_fields=['category'])
+
+        send_notification.run(self.message)
+
+        mock_email.assert_called_once()
+        mock_webhook.assert_called_once_with(
+            mock_email.call_args[0][0], 'https://example.com/webhook'
+        )
+
+    @patch('api.tasks.send_email_notification')
+    @patch('api.tasks.send_webhook_notification')
+    @patch('api.tasks.logger')
+    def test_send_notification_without_preference_sends_email_only(
+        self, mock_logger, mock_webhook, mock_email
+    ):
+        self.preference.delete()
+        # Refresh to clear cached related object
+        self.message.refresh_from_db()
+        self.message.user = User.objects.get(pk=self.user.pk)
+
+        send_notification.run(self.message)
+
+        mock_email.assert_called_once()
+        mock_webhook.assert_not_called()
+        mock_logger.info.assert_called_once_with(
+            'Send email notification for message %s without user preference',
+            self.message.id,
+        )
+
+    @patch('api.tasks.send_webhook_notification', side_effect=RuntimeError('boom'))
+    def test_send_notification_propagates_dispatch_error(self, _mock_webhook):
+        with self.assertRaises(RuntimeError):
+            send_notification.run(self.message)
+
+    @patch('api.tasks.send_email_notification')
+    @patch('api.tasks.send_webhook_notification')
+    def test_send_notification_supports_alert_category_with_singular_field(
+        self, mock_webhook, mock_email
+    ):
+        self.message.category = 'alert'
+        self.message.save(update_fields=['category'])
+        self.preference.notify_alert = False
+        self.preference.save(update_fields=['notify_alert'])
+
+        send_notification.run(self.message)
+
+        mock_email.assert_not_called()
+        mock_webhook.assert_not_called()
diff --git a/rootfs/api/tests/test_utils.py b/rootfs/api/tests/test_utils.py
new file mode 100644
index 0000000..fd9201e
--- /dev/null
+++ b/rootfs/api/tests/test_utils.py
@@ -0,0 +1,105 @@
+from unittest.mock import Mock, patch
+
+from django.contrib.auth import get_user_model
+from django.test import RequestFactory, TestCase, override_settings
+from social_django.models import UserSocialAuth
+from rest_framework.exceptions import ValidationError
+
+from api.models import Message
+from api.utils import (
+    get_local_host,
+    get_oauth_callback,
+    get_user_socials,
+    send_activation_email,
+    send_email_notification,
+    send_webhook_notification,
+    timestamp2datetime,
+    validate_reserved_names,
+)
+
+User = get_user_model()
+
+
+class UtilsTestCase(TestCase):
+    def setUp(self):
+        self.factory = RequestFactory()
+        self.user = User.objects.create_user(
+            username='util-user',
+            email='util@example.com',
+            password='password123',
+        )
+        self.message = Message.objects.create(
+            user=self.user,
+            category='security',
+            title='Utility message',
+            content='Utility content',
+            full_content='Utility content full',
+            severity='warning',
+        )
+
+    def test_timestamp2datetime(self):
+        dt = timestamp2datetime(0)
+        self.assertEqual(dt.year, 1970)
+
+    def test_get_local_host(self):
+        request = self.factory.get('/user/info', secure=True, HTTP_HOST='example.com')
+        self.assertEqual(get_local_host(request), 'https://example.com')
+
+    @override_settings(SOCIAL_AUTH_LOGIN_CALLBACK_URL='/oauth/callback')
+    def test_get_oauth_callback(self):
+        request = self.factory.get('/user/login', secure=True, HTTP_HOST='example.com')
+        callback = get_oauth_callback(request, 'linked', 'feishu')
+        self.assertEqual(
+            callback,
+            'https://example.com/oauth/callback?status=linked&provider=feishu'
+        )
+
+    @override_settings(RESERVED_NAME_PATTERNS=[r'^admin$', r'^root$'])
+    def test_validate_reserved_names_rejects_reserved(self):
+        with self.assertRaises(ValidationError):
+            validate_reserved_names('admin')
+
+    @override_settings(RESERVED_NAME_PATTERNS=[r'^admin$', r'^root$'])
+    def test_validate_reserved_names_accepts_normal_name(self):
+        validate_reserved_names('normal-user')
+
+    @override_settings(EMAIL_HOST='smtp.example.com')
+    @patch('api.utils.render_to_string', return_value='rendered body')
+    def test_send_activation_email(self, mock_render):
+        request = self.factory.get('/user/registration', secure=True, HTTP_HOST='example.com')
+        with patch.object(self.user, 'email_user') as mock_email_user:
+            send_activation_email(request, self.user)
+
+        mock_render.assert_called_once()
+        mock_email_user.assert_called_once()
+
+    @override_settings(EMAIL_HOST='smtp.example.com')
+    @patch('api.utils.render_to_string', return_value='<b>Hello</b>')
+    def test_send_email_notification(self, mock_render):
+        with patch.object(self.user, 'email_user') as mock_email_user:
+            send_email_notification(self.message)
+
+        mock_render.assert_called_once()
+        mock_email_user.assert_called_once()
+
+    @patch('api.utils.requests.post')
+    def test_send_webhook_notification(self, mock_post):
+        mock_post.return_value.raise_for_status = Mock()
+
+        send_webhook_notification(self.message, 'https://example.com/webhook')
+
+        mock_post.assert_called_once()
+
+    @patch('api.apps_extra.social_core.backends.__all__', new=[])
+    def test_get_user_socials_without_backend_metadata(self):
+        UserSocialAuth.objects.create(
+            user=self.user,
+            provider='feishu',
+            uid='uid-1',
+            extra_data={'email': 'social@example.com'},
+        )
+
+        results = get_user_socials(self.user)
+
+        self.assertEqual(len(results), 1)
+        self.assertEqual(results[0]['email'], 'social@example.com')
diff --git a/rootfs/api/tests/test_views.py b/rootfs/api/tests/test_views.py
new file mode 100644
index 0000000..52017a4
--- /dev/null
+++ b/rootfs/api/tests/test_views.py
@@ -0,0 +1,867 @@
+"""
+Test cases for API views
+"""
+from unittest.mock import patch
+
+from django.test import TestCase, RequestFactory
+from django.contrib.auth import get_user_model
+from django.urls import reverse
+from rest_framework.test import APITestCase
+from rest_framework import status
+from oauth2_provider.models import AccessToken
+from social_django.models import UserSocialAuth
+from django.core.cache import cache
+
+from api.views import (
+    ReadinessCheckView, LivenessCheckView, ActivateAccount
+)
+from api.forms import RegistrationForm
+from api.models import Message, MessagePreference
+
+User = get_user_model()
+
+
+class TestReadinessCheckView(TestCase):
+    """Test readiness check view"""
+
+    def test_readiness_check_get(self):
+        request = RequestFactory().get('/readiness/')
+        response = ReadinessCheckView.as_view()(request)
+        self.assertEqual(response.status_code, 200)
+        self.assertEqual(response.content.decode(), 'OK')
+
+    def test_readiness_check_head(self):
+        request = RequestFactory().head('/readiness/')
+        response = ReadinessCheckView.as_view()(request)
+        self.assertEqual(response.status_code, 200)
+
+
+class TestLivenessCheckView(TestCase):
+    """Test liveness check view"""
+
+    def test_liveness_check_get(self):
+        request = RequestFactory().get('/liveness/')
+        response = LivenessCheckView.as_view()(request)
+        self.assertEqual(response.status_code, 200)
+        self.assertEqual(response.content.decode(), 'OK')
+
+    def test_liveness_check_head(self):
+        request = RequestFactory().head('/liveness/')
+        response = LivenessCheckView.as_view()(request)
+        self.assertEqual(response.status_code, 200)
+
+
+class TestRegistrationView(TestCase):
+    """Test registration view"""
+
+    def setUp(self):
+        self.factory = RequestFactory()
+
+    def test_registration_form_valid(self):
+        form_data = {
+            'username': 'testuser',
+            'email': 'test@example.com',
+            'password1': 'testpassword123',
+            'password2': 'testpassword123'
+        }
+        form = RegistrationForm(data=form_data)
+        self.assertTrue(form.is_valid())
+
+    @patch('api.views.web.settings.REGISTRATION_ENABLED', False)
+    def test_registration_get_disabled(self):
+        response = self.client.get(reverse('registration'))
+
+        self.assertEqual(response.status_code, 200)
+        self.assertContains(
+            response,
+            'The registration function of drycc passport is not enabled.',
+            status_code=200,
+        )
+
+    @patch('api.views.web.settings.REGISTRATION_ENABLED', True)
+    @patch('api.views.web.settings.EMAIL_HOST', '')
+    def test_registration_post_creates_active_user_when_email_disabled(self):
+        response = self.client.post(reverse('registration'), {
+            'username': 'newuser',
+            'email': 'new@example.com',
+            'password1': 'testpassword123',
+            'password2': 'testpassword123',
+            'h-captcha-response': 'PASSED',
+        })
+
+        self.assertEqual(response.status_code, 302)
+        user = User.objects.get(username='newuser')
+        self.assertTrue(user.is_active)
+
+    @patch('api.views.web.settings.REGISTRATION_ENABLED', True)
+    @patch('api.views.web.settings.EMAIL_HOST', 'smtp.example.com')
+    @patch('api.views.web.send_activation_email')
+    def test_registration_post_sends_activation_email_when_email_enabled(
+        self, mock_send_activation_email
+    ):
+        response = self.client.post(reverse('registration'), {
+            'username': 'inactiveuser',
+            'email': 'inactive@example.com',
+            'password1': 'testpassword123',
+            'password2': 'testpassword123',
+            'h-captcha-response': 'PASSED',
+        })
+
+        self.assertEqual(response.status_code, 302)
+        user = User.objects.get(username='inactiveuser')
+        self.assertFalse(user.is_active)
+        mock_send_activation_email.assert_called_once()
+
+
+class TestActivateAccount(TestCase):
+    """Test account activation view"""
+
+    def setUp(self):
+        self.user = User.objects.create_user(
+            username='testuser',
+            email='test@example.com',
+            password='testpass123',
+            is_active=False
+        )
+        self.factory = RequestFactory()
+
+    def test_activate_account_invalid_token(self):
+        from django.utils.http import urlsafe_base64_encode
+        from django.utils.encoding import force_bytes
+        from django.contrib.messages.storage.fallback import FallbackStorage
+
+        uid = urlsafe_base64_encode(force_bytes(self.user.pk))
+        request = self.factory.get(f'/activate/{uid}/invalid-token/')
+        setattr(request, 'session', 'session')
+        messages = FallbackStorage(request)
+        setattr(request, '_messages', messages)
+        response = ActivateAccount.as_view()(request, uidb64=uid, token='invalid-token')
+
+        self.assertEqual(response.status_code, 302)
+        self.assertEqual(response.url, '/user/activate/fail/')
+
+    def test_activate_account_valid_token(self):
+        from django.utils.http import urlsafe_base64_encode
+        from django.utils.encoding import force_bytes
+        from django.contrib.messages.storage.fallback import FallbackStorage
+        from api.utils import token_generator
+
+        uid = urlsafe_base64_encode(force_bytes(self.user.pk))
+        token = token_generator.make_token(self.user)
+        request = self.factory.get(f'/activate/{uid}/{token}/')
+        request.session = self.client.session
+        messages = FallbackStorage(request)
+        setattr(request, '_messages', messages)
+
+        response = ActivateAccount.as_view()(request, uidb64=uid, token=token)
+
+        self.assertEqual(response.status_code, 302)
+        self.assertEqual(response.url, '/user/activate/done/')
+        self.user.refresh_from_db()
+        self.assertTrue(self.user.is_active)
+
+
+class TestUserDetailView(APITestCase):
+    """Test user detail viewset"""
+
+    def setUp(self):
+        self.user = User.objects.create_user(
+            username='testuser',
+            email='test@example.com',
+            password='testpass123'
+        )
+        self.client.force_authenticate(user=self.user)
+
+    def test_get_user_detail(self):
+        url = '/user/info'
+        response = self.client.get(url)
+        self.assertEqual(response.status_code, status.HTTP_200_OK)
+        self.assertEqual(response.data['username'], 'testuser')
+
+    @patch('api.views.api.settings.EMAIL_HOST', 'smtp.example.com')
+    @patch('api.views.api.render_to_string', return_value='mail-body')
+    def test_update_user_detail_sends_confirmation_email_and_caches_data(self, _mock_render):
+        url = '/user/info'
+        response = self.client.put(url, {'first_name': 'Updated'})
+
+        self.assertEqual(response.status_code, status.HTTP_204_NO_CONTENT)
+        self.user.refresh_from_db()
+        self.assertEqual(self.user.first_name, '')
+        self.assertEqual(cache.get(f'user:serializer:{self.user.pk}'), {'first_name': 'Updated'})
+
+    def test_update_user_detail_fails_validation(self):
+        url = '/user/info'
+        response = self.client.put(url, {'email': 'invalid-email'})
+
+        self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST)
+        self.assertIn('email', response.data)
+
+
+class TestUserTokensView(APITestCase):
+    """Test user tokens viewset"""
+
+    def setUp(self):
+        self.user = User.objects.create_user(
+            username='testuser',
+            email='test@example.com',
+            password='testpass123'
+        )
+        self.client.force_authenticate(user=self.user)
+        self.token = AccessToken.objects.create(
+            user=self.user,
+            token='tokentest',
+            application=None,
+            expires='9999-01-01T00:00:00Z',
+            scope='read write'
+        )
+
+    def test_list_user_tokens(self):
+        url = reverse('user_tokens')
+        response = self.client.get(url)
+        self.assertEqual(response.status_code, status.HTTP_200_OK)
+
+    def test_delete_user_token(self):
+        url = reverse('user_grants', args=[self.token.id])
+        response = self.client.delete(url)
+        self.assertEqual(response.status_code, status.HTTP_204_NO_CONTENT)
+        self.assertFalse(AccessToken.objects.filter(id=self.token.id).exists())
+
+
+class TestUserAccountPasswordView(APITestCase):
+    """Test user account password view"""
+
+    def setUp(self):
+        self.user = User.objects.create_user(
+            username='testuser',
+            email='test@example.com',
+            password='oldpassword123'
+        )
+        self.client.force_authenticate(user=self.user)
+
+    def test_update_password_valid(self):
+        url = '/user/password'
+        data = {
+            'password': 'oldpassword123',
+            'new_password': 'newpassword123'
+        }
+        response = self.client.put(url, data)
+        self.assertEqual(response.status_code, status.HTTP_204_NO_CONTENT)
+
+        self.user.refresh_from_db()
+        self.assertTrue(self.user.check_password('newpassword123'))
+
+
+class TestIdentityProviderView(APITestCase):
+
+    @patch('api.views.api.settings.SOCIAL_AUTH_FEISHU_KEY', 'key')
+    @patch('api.views.api.settings.SOCIAL_AUTH_FEISHU_SECRET', 'secret')
+    @patch('api.views.api.settings.SOCIAL_AUTH_GOOGLE_KEY', '')
+    @patch('api.views.api.settings.SOCIAL_AUTH_GOOGLE_SECRET', '')
+    def test_only_configured_identity_providers_are_returned(self):
+        response = self.client.get(reverse('user_identity_providers'))
+
+        self.assertEqual(response.status_code, status.HTTP_200_OK)
+        self.assertGreaterEqual(response.data['count'], 1)
+        provider_names = [item['name'] for item in response.data['results']]
+        self.assertIn('feishu', provider_names)
+        self.assertNotIn('google', provider_names)
+
+
+class TestUserIdentityView(APITestCase):
+
+    def setUp(self):
+        self.user = User.objects.create_user(
+            username='identity-user',
+            email='identity@example.com',
+            password='testpass123'
+        )
+        self.other_user = User.objects.create_user(
+            username='other-user',
+            email='other@example.com',
+            password='testpass123'
+        )
+        self.identity = UserSocialAuth.objects.create(
+            user=self.user,
+            provider='feishu',
+            uid='uid-1',
+            extra_data={'email': 'identity@example.com'}
+        )
+        self.other_identity = UserSocialAuth.objects.create(
+            user=self.other_user,
+            provider='github',
+            uid='uid-2',
+            extra_data={'email': 'other@example.com'}
+        )
+        self.client.force_authenticate(user=self.user)
+
+    def test_list_user_identities(self):
+        response = self.client.get(reverse('user_identities-list'))
+
+        self.assertEqual(response.status_code, status.HTTP_200_OK)
+        self.assertEqual(response.data['count'], 1)
+        self.assertEqual(response.data['results'][0]['provider'], 'feishu')
+
+    def test_delete_own_identity(self):
+        response = self.client.delete(reverse('user_identities-detail', args=[self.identity.id]))
+
+        self.assertEqual(response.status_code, status.HTTP_204_NO_CONTENT)
+        self.assertFalse(UserSocialAuth.objects.filter(id=self.identity.id).exists())
+
+    def test_cannot_delete_other_user_identity(self):
+        response = self.client.delete(
+            reverse('user_identities-detail', args=[self.other_identity.id])
+        )
+
+        self.assertEqual(response.status_code, status.HTTP_404_NOT_FOUND)
+
+
+class TestOAuthPendingAndCreateView(APITestCase):
+
+    def setUp(self):
+        self.client_handler = self.client.handler
+
+    def test_oauth_pending_without_session_data(self):
+        response = self.client.get(reverse('user_oauth_pending'))
+
+        self.assertEqual(response.status_code, status.HTTP_404_NOT_FOUND)
+
+    def test_oauth_pending_with_session_data(self):
+        session = self.client.session
+        session['oauth_pending'] = {
+            'provider': 'feishu',
+            'email': 'pending@example.com',
+            'uid': 'pending-uid',
+            'extra_data': {'email': 'pending@example.com'},
+        }
+        session.save()
+
+        response = self.client.get(reverse('user_oauth_pending'))
+
+        self.assertEqual(response.status_code, status.HTTP_200_OK)
+        self.assertEqual(response.data['provider'], 'feishu')
+        self.assertEqual(response.data['email'], 'pending@example.com')
+
+    def test_oauth_create_user_success(self):
+        session = self.client.session
+        session['oauth_pending'] = {
+            'provider': 'feishu',
+            'email': 'new@example.com',
+            'uid': 'pending-uid',
+            'extra_data': {'email': 'new@example.com'},
+        }
+        session.save()
+
+        response = self.client.post(reverse('user_oauth_create'), {
+            'username': 'oauth-user',
+            'password': 'password123',
+        })
+
+        self.assertEqual(response.status_code, status.HTTP_201_CREATED)
+        self.assertTrue(
+            User.objects.filter(username='oauth-user', email='new@example.com').exists()
+        )
+        self.assertTrue(
+            UserSocialAuth.objects.filter(provider='feishu', uid='pending-uid').exists()
+        )
+
+    def test_oauth_create_user_requires_pending(self):
+        response = self.client.post(reverse('user_oauth_create'), {
+            'username': 'oauth-user',
+            'password': 'password123',
+        })
+
+        self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST)
+
+    def test_oauth_create_user_requires_username(self):
+        session = self.client.session
+        session['oauth_pending'] = {
+            'provider': 'feishu',
+            'email': 'new@example.com',
+            'uid': 'pending-uid',
+            'extra_data': {'email': 'new@example.com'},
+        }
+        session.save()
+
+        response = self.client.post(reverse('user_oauth_create'), {
+            'password': 'password123',
+        })
+
+        self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST)
+
+    def test_oauth_create_user_rejects_existing_email(self):
+        User.objects.create_user(
+            username='exists', email='new@example.com', password='password123'
+        )
+        session = self.client.session
+        session['oauth_pending'] = {
+            'provider': 'feishu',
+            'email': 'new@example.com',
+            'uid': 'pending-uid',
+            'extra_data': {'email': 'new@example.com'},
+        }
+        session.save()
+
+        response = self.client.post(reverse('user_oauth_create'), {
+            'username': 'oauth-user',
+            'password': 'password123',
+        })
+
+        self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST)
+
+    def test_oauth_create_user_rejects_existing_identity(self):
+        existing_user = User.objects.create_user(
+            username='exists', email='exists@example.com', password='password123'
+        )
+        UserSocialAuth.objects.create(
+            user=existing_user,
+            provider='feishu',
+            uid='pending-uid',
+            extra_data={'email': 'exists@example.com'}
+        )
+        session = self.client.session
+        session['oauth_pending'] = {
+            'provider': 'feishu',
+            'email': 'new@example.com',
+            'uid': 'pending-uid',
+            'extra_data': {'email': 'new@example.com'},
+        }
+        session.save()
+
+        response = self.client.post(reverse('user_oauth_create'), {
+            'username': 'oauth-user',
+            'password': 'password123',
+        })
+
+        self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST)
+
+
+class TestUserMessageViews(APITestCase):
+
+    def setUp(self):
+        self.user = User.objects.create_user(
+            username='message-user',
+            email='message@example.com',
+            password='testpass123'
+        )
+        self.other_user = User.objects.create_user(
+            username='other-message-user',
+            email='other-message@example.com',
+            password='testpass123'
+        )
+        self.client.force_authenticate(user=self.user)
+        self.message1 = Message.objects.create(
+            user=self.user,
+            category='system',
+            title='System message',
+            content='System content',
+            severity='info'
+        )
+        self.message2 = Message.objects.create(
+            user=self.user,
+            category='security',
+            title='Security message',
+            content='Security content',
+            severity='warning'
+        )
+        self.other_message = Message.objects.create(
+            user=self.other_user,
+            category='system',
+            title='Other message',
+            content='Other content',
+            severity='info'
+        )
+
+    def test_list_messages(self):
+        response = self.client.get(reverse('user_messages-list'))
+
+        self.assertEqual(response.status_code, status.HTTP_200_OK)
+        self.assertEqual(response.data['count'], 2)
+        self.assertIn('results', response.data)
+
+    def test_filter_messages_by_category(self):
+        response = self.client.get(reverse('user_messages-list'), {'category': 'security'})
+
+        self.assertEqual(response.status_code, status.HTTP_200_OK)
+        self.assertEqual(response.data['count'], 1)
+        self.assertEqual(response.data['results'][0]['category'], 'security')
+
+    def test_list_messages_supports_limit_offset_pagination(self):
+        response = self.client.get(reverse('user_messages-list'), {'limit': 1, 'offset': 0})
+
+        self.assertEqual(response.status_code, status.HTTP_200_OK)
+        self.assertEqual(len(response.data['results']), 1)
+        self.assertEqual(response.data['count'], 2)
+
+    def test_service_message_create(self):
+        from api.models import Application
+        from urllib.parse import urlencode
+
+        # Setup application
+        Application.objects.create(
+            name='test_app',
+            client_type='confidential',
+            client_id='my_test_client_id',
+            client_secret='my_test_client_secret',
+            authorization_grant_type='client-credentials',
+            user=self.user
+        )
+
+        # 1. Fetch access token via client-credentials flow
+        data = urlencode({
+            'grant_type': 'client_credentials',
+            'client_id': 'my_test_client_id',
+            'client_secret': 'my_test_client_secret',
+            'scope': 'passport:message'
+        })
+
+        token_response = self.client.post(
+            '/oauth/token/',
+            data=data,
+            content_type='application/x-www-form-urlencoded'
+        )
+
+        self.assertEqual(token_response.status_code, 200, token_response.json())
+        access_token = token_response.json()['access_token']
+
+        # 2. Use the access token to create a message
+        response = self.client.post('/messages/', {
+            'username': self.user.username,
+            'category': 'alert',
+            'title': 'Created from API',
+            'content': 'API created content',
+            'full_content': 'API created full content',
+            'severity': 'warning',
+            'is_read': False,
+            'action_link': '/messages',
+            'action_text': 'Open',
+        }, HTTP_AUTHORIZATION=f'Bearer {access_token}')
+
+        self.assertEqual(response.status_code, 201)
+        self.assertTrue(Message.objects.filter(user=self.user, title='Created from API').exists())
+
+    def test_mark_all_messages_as_read(self):
+        response = self.client.put(reverse('user_messages-mark-all-read'))
+
+        self.assertEqual(response.status_code, status.HTTP_204_NO_CONTENT)
+        self.assertFalse(Message.objects.filter(user=self.user, is_read=False).exists())
+
+    def test_get_message_detail_marks_message_as_read(self):
+        response = self.client.get(reverse('user_messages-detail', args=[self.message1.id]))
+
+        self.assertEqual(response.status_code, status.HTTP_200_OK)
+        self.message1.refresh_from_db()
+        self.assertTrue(self.message1.is_read)
+
+    def test_cannot_get_other_users_message(self):
+        response = self.client.get(reverse('user_messages-detail', args=[self.other_message.id]))
+
+        self.assertEqual(response.status_code, status.HTTP_404_NOT_FOUND)
+
+    def test_filter_messages_by_is_read_false(self):
+        # message1 defaults to is_read=False; mark message2 as read
+        self.message2.is_read = True
+        self.message2.save()
+        response = self.client.get(reverse('user_messages-list'), {'is_read': 'false'})
+
+        self.assertEqual(response.status_code, status.HTTP_200_OK)
+        self.assertEqual(response.data['count'], 1)
+        self.assertEqual(response.data['results'][0]['id'], self.message1.id)
+        self.assertFalse(response.data['results'][0]['is_read'])
+
+    def test_filter_messages_by_is_read_true(self):
+        # mark message1 as read while message2 remains unread
+        self.message1.is_read = True
+        self.message1.save()
+        response = self.client.get(reverse('user_messages-list'), {'is_read': 'true'})
+
+        self.assertEqual(response.status_code, status.HTTP_200_OK)
+        self.assertEqual(response.data['count'], 1)
+        self.assertEqual(response.data['results'][0]['id'], self.message1.id)
+        self.assertTrue(response.data['results'][0]['is_read'])
+
+    def test_filter_messages_by_category_and_is_read(self):
+        # message1: category=system is_read=False；message2: category=security is_read=True
+        self.message2.is_read = True
+        self.message2.save()
+        response = self.client.get(
+            reverse('user_messages-list'),
+            {'category': 'system', 'is_read': 'false'}
+        )
+
+        self.assertEqual(response.status_code, status.HTTP_200_OK)
+        self.assertEqual(response.data['count'], 1)
+        self.assertEqual(response.data['results'][0]['category'], 'system')
+        self.assertFalse(response.data['results'][0]['is_read'])
+
+    def test_filter_messages_without_is_read_returns_all(self):
+        # returns all messages when is_read is not provided
+        self.message1.is_read = True
+        self.message1.save()
+        response = self.client.get(reverse('user_messages-list'))
+
+        self.assertEqual(response.status_code, status.HTTP_200_OK)
+        self.assertEqual(response.data['count'], 2)
+
+    def test_search_by_title(self):
+        response = self.client.get(reverse('user_messages-list'), {'search': 'System'})
+
+        self.assertEqual(response.status_code, status.HTTP_200_OK)
+        self.assertEqual(response.data['count'], 1)
+        self.assertEqual(response.data['results'][0]['id'], self.message1.id)
+
+    def test_search_by_content(self):
+        response = self.client.get(reverse('user_messages-list'), {'search': 'Security content'})
+
+        self.assertEqual(response.status_code, status.HTTP_200_OK)
+        self.assertEqual(response.data['count'], 1)
+        self.assertEqual(response.data['results'][0]['id'], self.message2.id)
+
+    def test_search_case_insensitive(self):
+        response = self.client.get(reverse('user_messages-list'), {'search': 'SYSTEM MESSAGE'})
+
+        self.assertEqual(response.status_code, status.HTTP_200_OK)
+        self.assertEqual(response.data['count'], 1)
+        self.assertEqual(response.data['results'][0]['id'], self.message1.id)
+
+    def test_search_no_match_returns_empty(self):
+        response = self.client.get(reverse('user_messages-list'), {'search': 'zzznomatch'})
+
+        self.assertEqual(response.status_code, status.HTTP_200_OK)
+        self.assertEqual(response.data['count'], 0)
+
+    def test_search_with_category_applies_and(self):
+        # search matches title+content, but category filter should restrict results to system
+        response = self.client.get(
+            reverse('user_messages-list'),
+            {'search': 'content', 'category': 'system'}
+        )
+
+        self.assertEqual(response.status_code, status.HTTP_200_OK)
+        self.assertEqual(response.data['count'], 1)
+        self.assertEqual(response.data['results'][0]['id'], self.message1.id)
+
+    def test_search_empty_string_returns_all(self):
+        response = self.client.get(reverse('user_messages-list'), {'search': ''})
+
+        self.assertEqual(response.status_code, status.HTTP_200_OK)
+        self.assertEqual(response.data['count'], 2)
+
+
+class TestUserMessagePreferenceView(APITestCase):
+
+    def setUp(self):
+        self.user = User.objects.create_user(
+            username='preference-user',
+            email='preference@example.com',
+            password='testpass123'
+        )
+        self.client.force_authenticate(user=self.user)
+
+    def test_get_creates_preference_if_missing(self):
+        response = self.client.get(reverse('user_message_preferences'))
+
+        self.assertEqual(response.status_code, status.HTTP_200_OK)
+        self.assertTrue(MessagePreference.objects.filter(user=self.user).exists())
+
+    def test_put_updates_preference(self):
+        response = self.client.put(reverse('user_message_preferences'), {
+            'email_alerts': False,
+            'notify_alert': False,
+        })
+
+        self.assertEqual(response.status_code, status.HTTP_200_OK)
+        preference = MessagePreference.objects.get(user=self.user)
+        self.assertFalse(preference.email_alerts)
+        self.assertFalse(preference.notify_alert)
+
+
+class TestUserLoginIdentityLinking(TestCase):
+
+    def setUp(self):
+        self.user = User.objects.create_user(
+            username='login-user',
+            email='login@example.com',
+            password='password123'
+        )
+
+    def test_login_links_pending_identity(self):
+        session = self.client.session
+        session['oauth_pending'] = {
+            'provider': 'feishu',
+            'uid': 'uid-100',
+            'extra_data': {'email': 'login@example.com'},
+        }
+        session.save()
+
+        response = self.client.post(reverse('user_login') + '?identity_linking=1', {
+            'username': 'login-user',
+            'password': 'password123',
+        })
+
+        self.assertEqual(response.status_code, 302)
+        self.assertIn('status=linked', response.url)
+        self.assertTrue(UserSocialAuth.objects.filter(
+            user=self.user, provider='feishu', uid='uid-100'
+        ).exists())
+
+    def test_login_identity_linking_conflict_redirects(self):
+        other_user = User.objects.create_user(
+            username='other-login-user',
+            email='other-login@example.com',
+            password='password123'
+        )
+        UserSocialAuth.objects.create(
+            user=other_user,
+            provider='feishu',
+            uid='uid-100',
+            extra_data={'email': 'other-login@example.com'}
+        )
+        session = self.client.session
+        session['oauth_pending'] = {
+            'provider': 'feishu',
+            'uid': 'uid-100',
+            'extra_data': {'email': 'login@example.com'},
+        }
+        session.save()
+
+        response = self.client.post(reverse('user_login') + '?identity_linking=1', {
+            'username': 'login-user',
+            'password': 'password123',
+        })
+
+        self.assertEqual(response.status_code, 302)
+        self.assertIn('status=conflict', response.url)
+
+    @patch('api.views.web.settings.EMAIL_HOST', 'smtp.example.com')
+    @patch('api.views.web.settings.REGISTRATION_ENABLED', True)
+    def test_login_page_context_shows_identity_linking_error(self):
+        response = self.client.post(reverse('user_login') + '?identity_linking=1', {
+            'username': 'login-user',
+            'password': 'wrong-password',
+        })
+
+        self.assertEqual(response.status_code, 200)
+        self.assertContains(response, 'Identity linking login failed. Please try again.')
+
+    @patch('api.views.web.settings.EMAIL_HOST', '')
+    @patch('api.views.web.settings.REGISTRATION_ENABLED', False)
+    def test_login_page_context_flags_follow_settings(self):
+        response = self.client.get(reverse('user_login') + '?identity_linking=1')
+
+        self.assertEqual(response.status_code, 200)
+        self.assertContains(response, 'Identity Linking')
+
+
+class TestOAuthCallbackTemplateView(TestCase):
+
+    def test_get_without_pending_renders_error_state(self):
+        response = self.client.get(reverse('oauth_callback') + '?status=pending')
+
+        self.assertEqual(response.status_code, 200)
+        self.assertContains(response, 'OAuth flow error. Please try again.')
+
+    @patch('api.views.api.OAuthCreateUserView._create_oauth_user')
+    def test_post_password_mismatch_renders_error(self, _mock_create):
+        session = self.client.session
+        session['oauth_pending'] = {
+            'provider': 'feishu',
+            'email': 'pending@example.com',
+        }
+        session.save()
+
+        response = self.client.post(reverse('oauth_callback'), {
+            'username': 'oauth-user',
+            'password': 'password123',
+            'confirm_password': 'different123',
+        })
+
+        self.assertEqual(response.status_code, 200)
+        self.assertContains(response, 'Password confirmation does not match')
+
+    @patch('api.views.api.OAuthCreateUserView._create_oauth_user')
+    def test_post_success_redirects_account_setting(self, mock_create):
+        session = self.client.session
+        session['oauth_pending'] = {
+            'provider': 'feishu',
+            'email': 'pending@example.com',
+        }
+        session.save()
+
+        response = self.client.post(reverse('oauth_callback'), {
+            'username': 'oauth-user',
+            'password': 'password123',
+            'confirm_password': 'password123',
+        })
+
+        self.assertEqual(response.status_code, 302)
+        self.assertEqual(response.url, '/account-setting')
+        mock_create.assert_called_once()
+
+
+class TestUpdateAccountView(TestCase):
+
+    def setUp(self):
+        self.user = User.objects.create_user(
+            username='update-user',
+            email='update@example.com',
+            password='password123'
+        )
+
+    def test_update_account_applies_cached_serializer_data(self):
+        from django.utils.http import urlsafe_base64_encode
+        from django.utils.encoding import force_bytes
+        from api.utils import token_generator
+
+        cache.set(f'user:serializer:{self.user.pk}', {'first_name': 'Cached'}, 1800)
+        uid = urlsafe_base64_encode(force_bytes(self.user.pk))
+        token = token_generator.make_token(self.user)
+
+        response = self.client.get(reverse('user_update_account', args=[uid, token]))
+
+        self.assertEqual(response.status_code, 200)
+        self.user.refresh_from_db()
+        self.assertEqual(self.user.first_name, 'Cached')
+        self.assertIsNone(cache.get(f'user:serializer:{self.user.pk}'))
+
+    def test_update_account_invalid_token_renders_fail(self):
+        from django.utils.http import urlsafe_base64_encode
+        from django.utils.encoding import force_bytes
+
+        uid = urlsafe_base64_encode(force_bytes(self.user.pk))
+        response = self.client.get(reverse('user_update_account', args=[uid, 'invalid-token']))
+
+        self.assertEqual(response.status_code, 200)
+        self.assertContains(response, 'update fail', status_code=200)
+
+    def test_update_account_without_cached_data_renders_fail(self):
+        from django.utils.http import urlsafe_base64_encode
+        from django.utils.encoding import force_bytes
+        from api.utils import token_generator
+
+        uid = urlsafe_base64_encode(force_bytes(self.user.pk))
+        token = token_generator.make_token(self.user)
+        response = self.client.get(reverse('user_update_account', args=[uid, token]))
+
+        self.assertEqual(response.status_code, 200)
+        self.assertContains(response, 'update fail', status_code=200)
+
+
+class TestPasswordResetViews(TestCase):
+
+    def test_password_reset_form_page_loads(self):
+        response = self.client.get(reverse('user_password_reset'))
+        self.assertEqual(response.status_code, 200)
+
+    def test_password_reset_done_page_loads(self):
+        response = self.client.get(reverse('user_password_reset_done'))
+        self.assertEqual(response.status_code, 200)
+
+    def test_password_reset_complete_page_loads(self):
+        response = self.client.get(reverse('user_password_reset_complete'))
+        self.assertEqual(response.status_code, 200)
+
+    def test_password_reset_confirm_invalid_token_page_loads(self):
+        response = self.client.get(
+            reverse('user_password_reset_confirm', args=['invalid', 'invalid-token'])
+        )
+        self.assertEqual(response.status_code, 200)
diff --git a/rootfs/api/urls.py b/rootfs/api/urls.py
index ec8d05a..5d34651 100644
--- a/rootfs/api/urls.py
+++ b/rootfs/api/urls.py
@@ -1,50 +1,75 @@
-from django.conf.urls import include
-from django.urls import re_path
-from rest_framework.routers import DefaultRouter
+from django.urls import re_path, include
+from rest_framework.routers import SimpleRouter
 
-from api import views
-from api.views import RegistrationView, ActivateAccount, RegistrationDoneView, \
-    ActivateAccountDoneView, ActivateAccountFailView, LoginDoneView
+from api.views import web, api
+from passport.views import AppSettingsViewSet
 
-router = DefaultRouter(trailing_slash=False)
+
+class OptionalSlashRouter(SimpleRouter):
+    """Router that accepts both trailing-slash and no-trailing-slash URLs."""
+
+    def __init__(self, *args, **kwargs):
+        super().__init__(*args, **kwargs)
+        self.trailing_slash = '/?'
+
+
+router = OptionalSlashRouter()
+router.register(r'user/messages', api.UserMessageViewSet, basename='user_messages')
+router.register(r'messages', api.ServiceMessageViewSet, basename='service_messages')
+router.register(r'user/identities', api.UserIdentityViewSet, basename='user_identities')
 
 urlpatterns = [
     re_path(r'^', include(router.urls)),
-    re_path(r'^info/?$',
-            views.UserDetailView.as_view({'get': 'retrieve', 'put': 'update'})),
-    re_path(r'registration/?$', RegistrationView.as_view(), name='registration'),
-    re_path(r'activate/(?P<uidb64>.+)/(?P<token>.+)/?$',
-            ActivateAccount.as_view(), name='user_activate_account'),
-    re_path(r'registration/done/?$', RegistrationDoneView.as_view(),
+    # Settings URL (moved from main urls.py)
+    re_path(r'^settings/?$', AppSettingsViewSet.as_view({'get': 'retrieve'})),
+    # User URLs (add user prefix)
+    re_path(r'^user/info/?$',
+            api.UserDetailView.as_view({'get': 'retrieve', 'put': 'update'})),
+    re_path(r'^user/update/(?P<uidb64>.+)/(?P<token>.+)/?$',
+            web.UpdateAccount.as_view(), name='user_update_account'),
+    re_path(r'^user/registration/?$', web.RegistrationView.as_view(), name='registration'),
+    re_path(r'^user/activate/(?P<uidb64>.+)/(?P<token>.+)/?$',
+            web.ActivateAccount.as_view(), name='user_activate_account'),
+    re_path(r'^user/registration/done/?$', web.RegistrationDoneView.as_view(),
             name='user_registration_done'),
-    re_path(r'activate/done/?$', ActivateAccountDoneView.as_view(),
+    re_path(r'^user/activate/done/?$', web.ActivateAccountDoneView.as_view(),
             name='user_activate_account_done'),
-    re_path(r'activate/fail/?$', ActivateAccountFailView.as_view(),
+    re_path(r'^user/activate/fail/?$', web.ActivateAccountFailView.as_view(),
             name='user_activate_account_done'),
-    re_path(r'password_reset/?$', views.UserPasswordResetView.as_view(),
+    re_path(r'^oauth/callback/?$', web.OAuthCallbackTemplateView.as_view(),
+            name='oauth_callback'),
+    re_path(r'^user/password_reset/?$', web.UserPasswordResetView.as_view(),
             name='user_password_reset'),
-    re_path(r'password_reset/done/?$',
-            views.UserPasswordResetDoneView.as_view(),
+    re_path(r'^user/password_reset/done/?$',
+            web.UserPasswordResetDoneView.as_view(),
             name='user_password_reset_done'),
-    re_path(r'reset/<uidb64>/<token>/?$',
-            views.UserPasswordResetConfirmView.as_view(),
+    re_path(r'^user/reset/(?P<uidb64>.+)/(?P<token>.+)/?$',
+            web.UserPasswordResetConfirmView.as_view(),
             name='user_password_reset_confirm'),
-    re_path(r'reset/done/?$',
-            views.UserPasswordResetCompleteView.as_view(),
+    re_path(r'^user/reset/done/?$',
+            web.UserPasswordResetCompleteView.as_view(),
             name='user_password_reset_complete'),
-    re_path(r'login/?$', views.UserLoginView.as_view(), name='user_login'),
-    re_path(r'login/done/?$', LoginDoneView.as_view(), name='login_done'),
-    re_path(r'logout/?$', views.UserLogoutView.as_view(), name='user_logout'),
-
-    re_path(r'tokens/?$',
-            views.UserTokensTemplateView.as_view({'get': 'retrieve'}),
+    re_path(r'^user/login/?$', web.UserLoginView.as_view(), name='user_login'),
+    re_path(r'^user/login/done/?$', web.LoginDoneView.as_view(), name='login_done'),
+    re_path(r'^user/logout/?$', web.UserLogoutView.as_view(), name='user_logout'),
+    re_path(r'^user/tokens/?$',
+            api.UserTokensView.as_view({'get': 'list'}),
             name='user_tokens'),
-    re_path(r'tokens/(?P<pk>.+)/?$',
-            views.UserTokenDeleteView.as_view({'delete': 'destroy'}),
+    re_path(r'^user/tokens/(?P<pk>.+)/?$',
+            api.UserTokensView.as_view({'delete': 'destroy'}),
             name='user_grants'),
-    re_path(r'email/?$', views.UserEmailView.as_view({'get': 'retrieve'})),
-    re_path(r'password/?$',
-            views.UserAccountPasswordView.as_view({'put': 'update'}),
+    re_path(r'^user/email/?$', api.UserEmailView.as_view({'get': 'retrieve'})),
+    re_path(r'^user/password/?$',
+            api.UserAccountPasswordView.as_view(),
             name='user_account_update_password'),
-
+    re_path(r'^user/identity-providers/?$',
+            api.IdentityProviderView.as_view(), name='user_identity_providers'),
+    re_path(r'^user/oauth/pending/?$',
+            api.OAuthPendingView.as_view(), name='user_oauth_pending'),
+    re_path(r'^user/oauth/create/?$',
+            api.OAuthCreateUserView.as_view(), name='user_oauth_create'),
+    re_path(r'^user/message-preferences/?$',
+            api.UserMessagePreferenceViewSet.as_view(
+                {'get': 'retrieve', 'put': 'update', 'patch': 'partial_update'}),
+            name='user_message_preferences'),
 ]
diff --git a/rootfs/api/utils.py b/rootfs/api/utils.py
index 3542659..5eeefeb 100644
--- a/rootfs/api/utils.py
+++ b/rootfs/api/utils.py
@@ -1,13 +1,24 @@
 """
 Helper functions used by the Drycc Passport server.
 """
+import re
 import logging
-import six
 import datetime
 
+import requests
+from django.conf import settings
+
+from urllib.parse import urlencode
+
+from django.utils.html import strip_tags
+from django.utils.encoding import force_bytes
+from django.template.loader import render_to_string
+from django.utils.http import urlsafe_base64_encode
 from django.contrib.auth.tokens import PasswordResetTokenGenerator
 from django.shortcuts import render
 
+from rest_framework.exceptions import ValidationError
+
 logger = logging.getLogger(__name__)
 
 
@@ -34,13 +45,10 @@ def __decorator(request, *args, **kwargs):
 
 class TokenGenerator(PasswordResetTokenGenerator):
     def _make_hash_value(self, user, timestamp):
-        return (
-                six.text_type(user.pk) + six.text_type(timestamp) +
-                six.text_type(user.is_active)
-        )
+        return f"{user.pk}{timestamp}{user.is_active}"
 
 
-account_activation_token = TokenGenerator()
+token_generator = TokenGenerator()
 
 
 def get_local_host(request):
@@ -48,6 +56,135 @@ def get_local_host(request):
     return uri[0:uri.find(request.path)]
 
 
+def get_user_socials(user):
+    from api.apps_extra.social_core import backends
+    provider_map = {
+        backend_cls.name: backend_cls
+        for backend_cls in backends.__all__
+    }
+    results = []
+    for social in user.social_auth.all():
+        backend_cls = provider_map.get(social.provider)
+        email = None
+        if social.extra_data:
+            email = social.extra_data.get('email') or social.extra_data.get('user_email')
+        results.append({
+            'id': social.id,
+            'provider': social.provider,
+            'display_name': social.provider.title(),
+            'uid': social.uid,
+            'icon': backend_cls.icon if backend_cls else '',
+            'email': email or user.email,
+        })
+    return results
+
+
+def get_oauth_callback(request, status, provider=None):
+    query = {'status': status}
+    domain = get_local_host(request)
+    if provider:
+        query['provider'] = provider
+    return f"{domain}{settings.SOCIAL_AUTH_LOGIN_CALLBACK_URL}?{urlencode(query)}"
+
+
+def validate_reserved_names(value):
+    """A value cannot use some reserved names."""
+    for reserved_name_pattern in settings.RESERVED_NAME_PATTERNS:
+        if re.match(reserved_name_pattern, value):
+            raise ValidationError('{} is a reserved name.'.format(value))
+
+
+def send_activation_email(request, user):
+    if not user.email:
+        logger.warning(
+            "Activation email skipped for user %s due to missing email address",
+            user.username
+        )
+        return
+    if not getattr(settings, 'EMAIL_HOST', ''):
+        logger.warning(
+            "Activation email skipped for user %s due to missing SMTP configuration",
+            user.username
+        )
+        return
+    domain = get_local_host(request)
+    mail_subject = 'Activate your account.'
+    message = render_to_string(
+        'user/account_activation_email.html', {
+            'user': user,
+            'domain': domain,
+            'uid': urlsafe_base64_encode(force_bytes(user.pk)),
+            'token': token_generator.make_token(user),
+        })
+    user.email_user(mail_subject, message, fail_silently=True)
+
+
+def send_email_notification(message) -> None:
+    """Send an email notification for a message.
+
+    Silently skips when SMTP / DEFAULT_FROM_EMAIL is not configured, or
+    when the target user has no email address. This avoids triggering
+    endless Celery retries in environments without a configured mail
+    server (e.g. local development).
+    """
+    if message.user.email is None:
+        logger.info(
+            "Email notification skipped for message %s due to missing user email",
+            message.id
+        )
+        return
+    if not getattr(settings, 'EMAIL_HOST', ''):
+        logger.info(
+            "Email notification skipped for message %s due to missing SMTP configuration",
+            message.id
+        )
+        return
+    mail_subject = f"[{message.get_category_display()}] {message.title}"
+    html_message = render_to_string(
+        'notifications/email_message.html',
+        {
+            'message': message,
+            'user': message.user,
+            'domain': getattr(settings, 'DASHBOARD_URL', '/'),
+        }
+    )
+    plain_message = strip_tags(html_message)
+    message.user.email_user(
+        subject=mail_subject,
+        message=plain_message,
+        html_message=html_message,
+        fail_silently=False,
+    )
+    logger.info("Email notification sent to %s for message %s", message.user.email, message.id)
+
+
+def send_webhook_notification(message, webhook_url) -> None:
+    """Send a webhook notification for a message."""
+    if not webhook_url:
+        return
+    payload = {
+        'id': str(message.id),
+        'category': message.category,
+        'title': message.title,
+        'content': message.content,
+        'severity': message.severity,
+        'created_at': message.created_at.isoformat() if message.created_at else None,
+        'user': {
+            'id': message.user.id,
+            'username': message.user.username,
+            'email': message.user.email,
+        },
+    }
+    response = requests.post(
+        webhook_url,
+        json=payload,
+        headers={'Content-Type': 'application/json'},
+        timeout=10,
+    )
+    response.raise_for_status()
+    logger.info("Webhook notification sent for message %s to %s", message.id, webhook_url)
+
+
 if __name__ == "__main__":
     import doctest
 
diff --git a/rootfs/api/validators.py b/rootfs/api/validators.py
new file mode 100644
index 0000000..b05be8a
--- /dev/null
+++ b/rootfs/api/validators.py
@@ -0,0 +1,19 @@
+
+from django.contrib.auth.validators import UnicodeUsernameValidator
+from django.utils.translation import gettext_lazy as _
+from django.conf import settings
+from django.utils.deconstruct import deconstructible
+
+from api.utils import validate_reserved_names
+
+
+@deconstructible
+class UsernameValidator(UnicodeUsernameValidator):
+    regex = settings.USERNAME_REGEX
+    message = _(
+        f"Enter a valid username. This value may match the regex {regex}."
+    )
+
+    def __call__(self, value):
+        super().__call__(value)
+        validate_reserved_names(value)
diff --git a/rootfs/api/views.py b/rootfs/api/views.py
deleted file mode 100644
index 0a63a08..0000000
--- a/rootfs/api/views.py
+++ /dev/null
@@ -1,251 +0,0 @@
-import logging
-
-from django.conf import settings
-from django.contrib import messages, auth
-from django.contrib.auth import login
-from django.contrib.auth.models import User
-from django.contrib.auth import views
-from django.db.models import Q
-from django.shortcuts import redirect, get_object_or_404, render
-from django.template.loader import render_to_string
-from django.http import HttpResponse
-from django.utils.encoding import force_bytes, force_text
-from django.utils.http import urlsafe_base64_encode, urlsafe_base64_decode
-from django.views.generic import View
-from django.views.generic.edit import CreateView
-from django.utils.translation import gettext_lazy as _
-from django.views.generic.base import TemplateView
-from django.urls import reverse_lazy
-from rest_framework import status
-from rest_framework.exceptions import AuthenticationFailed
-from rest_framework.response import Response
-from rest_framework.viewsets import ModelViewSet
-
-from api import serializers
-from api.exceptions import ServiceUnavailable, DryccException
-from api.serializers import RegistrationForm
-from api.utils import account_activation_token, get_local_host
-from api.viewset import NormalUserViewSet
-
-logger = logging.getLogger(__name__)
-
-
-class ReadinessCheckView(View):
-    """
-    Simple readiness check view to determine DB connection / query.
-    """
-
-    def get(self, request):
-        try:
-            import django.db
-            with django.db.connection.cursor() as c:
-                c.execute("SELECT 0")
-        except django.db.Error as e:
-            raise ServiceUnavailable("Database health check failed") from e
-
-        return HttpResponse("OK")
-
-    head = get
-
-
-class LivenessCheckView(View):
-    """
-    Simple liveness check view to determine if the server
-    is responding to HTTP requests.
-    """
-
-    def get(self, request):
-        return HttpResponse("OK")
-
-    head = get
-
-
-class RegistrationView(CreateView):
-    form_class = RegistrationForm
-    template_name = 'user/registration.html'
-    success_url = reverse_lazy('registration_done')
-
-    def get(self, request, *args, **kwargs):
-        if settings.LDAP_ENDPOINT or not settings.REGISTRATION_ENABLED:
-            return render(request, template_name='user/registration_disable.html')
-        return CreateView.get(self, request, *args, **kwargs)
-
-    def post(self, request, *args, **kwargs):
-        if settings.LDAP_ENDPOINT or not settings.REGISTRATION_ENABLED:
-            return render(request, template_name='user/registration_disable.html')
-        form = self.form_class(request.POST)
-        self.object = None
-        if form.is_valid():
-            user = form.save(commit=False)
-            user.is_staff = False
-            user.is_active = False
-            user.save()
-            domain = get_local_host(request)
-            mail_subject = 'Activate your account.'
-            message = render_to_string(
-                'user/account_activation_email.html', {
-                    'user': user,
-                    'domain': domain,
-                    'uid': urlsafe_base64_encode(force_bytes(user.pk)),
-                    'token': account_activation_token.make_token(user),
-                })
-            user.email_user(mail_subject, message)
-            messages.success(request, (
-                'Please Confirm your email to complete registration.'))
-            return self.form_valid(form)
-        else:
-            return self.form_invalid(form)
-
-
-class RegistrationDoneView(TemplateView):
-    template_name = 'user/registration_done.html'
-    title = _('Activate email sent')
-
-
-class ActivateAccount(View):
-
-    def get(self, request, uidb64, token, *args, **kwargs):
-        try:
-            uid = force_text(urlsafe_base64_decode(uidb64))
-            user = User.objects.get(pk=uid)
-        except (TypeError, ValueError, OverflowError, User.DoesNotExist):
-            user = None
-        if user is not None and account_activation_token.check_token(
-                user, token):
-            user.is_active = True
-            user.is_staff = True
-            user.save()
-            login(request, user,
-                  backend='django.contrib.auth.backends.ModelBackend')
-            messages.success(request, 'Your account have been confirmed.')
-            return redirect('/user/activate/done/')
-        else:
-            messages.warning(request, (
-                'The confirmation link was invalid, possibly because it has already been used.'))  # noqa
-            return redirect('/user/activate/fail/')
-
-
-class ActivateAccountDoneView(TemplateView):
-    template_name = 'user/account_activation_done.html'
-    title = _('Activate account done')
-
-
-class ActivateAccountFailView(TemplateView):
-    template_name = 'user/account_activation_fail.html'
-    title = _('Activate account fail')
-
-
-class UserLoginView(views.LoginView):
-    template_name = 'user/login.html'
-
-
-class UserDetailView(NormalUserViewSet):
-    serializer_class = serializers.UserSerializer
-    required_scopes = ['openid']
-
-    def get_object(self):
-        return self.request.user
-
-    def update(self, request, *args, **kwargs):
-        user = serializers.UserSerializer(data=request.data,
-                                          instance=request.user,
-                                          partial=True)
-        if user.is_valid():
-            user.save()
-        return Response(status=status.HTTP_204_NO_CONTENT)
-
-
-class UserEmailView(NormalUserViewSet):
-    serializer_class = serializers.UserEmailSerializer
-    required_scopes = ['openid']
-
-    def get_object(self):
-        return self.request.user
-
-
-class LoginDoneView(TemplateView):
-    template_name = 'user/login_done.html'
-
-
-class UserPasswordResetView(views.PasswordResetView):
-    email_template_name = 'user/password_reset_email.html'
-    success_url = reverse_lazy('user_password_reset_done')
-    template_name = 'user/password_reset_form.html'
-
-
-class UserPasswordResetDoneView(views.PasswordResetDoneView):
-    template_name = 'user/password_reset_done.html'
-
-
-class UserPasswordResetConfirmView(views.PasswordResetConfirmView):
-    success_url = reverse_lazy('user_password_reset_complete')
-    template_name = 'user/password_reset_confirm.html'
-
-
-class UserPasswordResetCompleteView(views.PasswordResetCompleteView):
-    template_name = 'user/password_reset_complete.html'
-
-
-class UserLogoutView(views.LogoutView):
-    template_name = 'user/logout.html'
-
-
-class ListViewSet(ModelViewSet):
-
-    def get_queryset(self, *args, **kwargs):
-        serializer = self.serializer_class(data=self.request.query_params)
-        serializer.is_valid(raise_exception=True)
-
-        serializerlist = serializers.ListSerializer(
-            data=self.request.query_params)
-        serializerlist.is_valid(raise_exception=True)
-        q = Q(user=self.request.user)
-        if serializerlist.validated_data.get('section'):
-            q &= Q(created__range=serializerlist.validated_data.get('section'))
-        return self.model.objects.filter(
-            q, **serializer.validated_data).order_by(self.order_by)[0:100]
-
-
-class UserTokensTemplateView(ListViewSet):
-    from oauth2_provider.models import AccessToken
-    model = AccessToken
-    serializer_class = serializers.UserTokensSerializer
-    order_by = '-created'
-
-    def retrieve(self, request, *args, **kwargs):
-        tokens = self.get_queryset(*args, **kwargs)
-        serializer = self.get_serializer(tokens, many=True)
-        return Response(serializer.data)
-
-
-class UserTokenDeleteView(ListViewSet):
-    from oauth2_provider.models import AccessToken
-    model = AccessToken
-
-    def destroy(self, request, *args, **kwargs):
-        token = get_object_or_404(self.model,
-                                  id=self.kwargs['pk'],
-                                  user=request.user)
-
-        token.delete()
-        return Response(status=status.HTTP_204_NO_CONTENT)
-
-
-class UserAccountPasswordView(ListViewSet):
-
-    def update(self, request, *args, **kwargs):
-        if settings.LDAP_ENDPOINT:
-            raise DryccException(
-                "You cannot change user info when ldap is enabled.")
-        if not request.data.get('new_password'):
-            raise DryccException("new_password is a required field")
-        if not request.data.get('password'):
-            raise DryccException("password is a required field")
-        if len(request.data.get('new_password')) < 8:
-            raise DryccException("password must be 8 or more characters. ")
-        if not request.user.check_password(request.data['password']):
-            raise AuthenticationFailed('Current password does not match')
-        request.user.set_password(request.data['new_password'])
-        request.user.save()
-        auth.logout(request)
-        return HttpResponse(status=204)
diff --git a/rootfs/api/views/__init__.py b/rootfs/api/views/__init__.py
new file mode 100644
index 0000000..5d77f0a
--- /dev/null
+++ b/rootfs/api/views/__init__.py
@@ -0,0 +1,2 @@
+from .api import *  # noqa
+from .web import *  # noqa
diff --git a/rootfs/api/views/api.py b/rootfs/api/views/api.py
new file mode 100644
index 0000000..477e397
--- /dev/null
+++ b/rootfs/api/views/api.py
@@ -0,0 +1,326 @@
+from django.conf import settings
+from django.core.cache import cache
+from django.contrib import auth
+from django.contrib.auth import get_user_model
+from django.db import IntegrityError, connection, Error
+from django.db.models import Q
+from django.shortcuts import get_object_or_404
+from django.template.loader import render_to_string
+from django.http import HttpResponse
+from django.utils.encoding import force_bytes
+from django.utils.http import urlsafe_base64_encode
+from django.urls import reverse_lazy
+from django.views.generic import View
+
+from rest_framework import status, viewsets
+from rest_framework.exceptions import AuthenticationFailed, ValidationError
+from rest_framework.permissions import AllowAny, IsAuthenticated
+from rest_framework.response import Response
+from rest_framework.views import APIView
+from rest_framework.viewsets import GenericViewSet
+from rest_framework.decorators import action
+from rest_framework.mixins import ListModelMixin, DestroyModelMixin
+
+from oauth2_provider.models import AccessToken
+from social_django.models import UserSocialAuth
+
+from api.permissions import HasOAuthScope
+
+from api import serializers
+from api.exceptions import ServiceUnavailable, DryccException
+from api.models import Message, MessagePreference
+from api.utils import get_local_host, get_user_socials, token_generator
+
+
+User = get_user_model()
+
+
+class NormalUserViewSet(viewsets.ModelViewSet):
+    permission_classes = [IsAuthenticated]
+
+
+class ReadinessCheckView(View):
+    """Simple readiness check view to determine DB connection and Migrations."""
+    migrations_completed = False
+
+    def get(self, request):
+        try:
+            with connection.cursor() as c:
+                c.execute("SELECT 0")
+            if not ReadinessCheckView.migrations_completed:
+                from django.db.migrations.executor import MigrationExecutor
+                executor = MigrationExecutor(connection)
+                targets = executor.loader.graph.leaf_nodes()
+                if executor.migration_plan(targets):
+                    raise ServiceUnavailable("Migrations are not yet applied")
+                ReadinessCheckView.migrations_completed = True
+        except Error as e:
+            raise ServiceUnavailable(f"Database health check failed: {e}") from e
+        return HttpResponse("OK")
+    head = get
+
+
+class LivenessCheckView(View):
+    """Simple liveness check view to determine if the server is alive."""
+
+    def get(self, request):
+        return HttpResponse("OK")
+
+    head = get
+
+
+class IdentityProviderView(APIView):
+    permission_classes = (AllowAny, )
+
+    def get(self, request, *args, **kwargs):
+        from api.apps_extra.social_core import backends
+
+        results = []
+        for backend_cls in backends.__all__:
+            key_setting = f'SOCIAL_AUTH_{backend_cls.name.upper()}_KEY'
+            secret_setting = f'SOCIAL_AUTH_{backend_cls.name.upper()}_SECRET'
+            if getattr(settings, key_setting, None) and getattr(settings, secret_setting, None):
+                results.append({
+                    'name': backend_cls.name,
+                    'icon': backend_cls.icon,
+                    'login_url': reverse_lazy('social:begin', args=(backend_cls.name,)),
+                })
+
+        return Response({'count': len(results), 'results': results})
+
+
+class UserIdentityViewSet(NormalUserViewSet):
+    serializer_class = serializers.UserEmailSerializer
+    http_method_names = ['get', 'delete']
+
+    def get_queryset(self):
+        return UserSocialAuth.objects.filter(user=self.request.user).order_by('id')
+
+    def list(self, request, *args, **kwargs):
+        results = get_user_socials(request.user)
+        return Response({'count': len(results), 'results': results})
+
+    def destroy(self, request, *args, **kwargs):
+        identity = self.get_object()
+        identity.delete()
+        return Response(status=status.HTTP_204_NO_CONTENT)
+
+
+class OAuthPendingView(APIView):
+    permission_classes = (AllowAny, )
+
+    def get(self, request, *args, **kwargs):
+        pending = request.session.get('oauth_pending')
+        if not pending:
+            return Response(
+                {'detail': 'No pending OAuth request'}, status=status.HTTP_404_NOT_FOUND
+            )
+
+        from api.apps_extra.social_core import backends
+
+        backend_map = {backend_cls.name: backend_cls for backend_cls in backends.__all__}
+        backend_cls = backend_map.get(pending.get('provider'))
+        return Response({
+            'provider': pending.get('provider'),
+            'email': pending.get('email'),
+            'icon': backend_cls.icon if backend_cls else '',
+            'display_name': pending.get('provider', '').title(),
+        })
+
+
+class UserMessageViewSet(NormalUserViewSet):
+    http_method_names = ['get', 'put', 'delete', 'head', 'options']
+    serializer_class = serializers.MessageSerializer
+
+    def get_queryset(self):
+        queryset = Message.objects.filter(user=self.request.user)
+        category = self.request.query_params.get('category')
+        if category and category != 'all':
+            queryset = queryset.filter(category=category)
+        is_read = self.request.query_params.get('is_read')
+        if is_read is not None:
+            queryset = queryset.filter(is_read=is_read.lower() not in ('false', '0', 'no'))
+        search = self.request.query_params.get('search')
+        if search:
+            queryset = queryset.filter(
+                Q(title__icontains=search) | Q(content__icontains=search)
+            )
+        return queryset.order_by('-created_at')
+
+    def retrieve(self, request, *args, **kwargs):
+        message = self.get_object()
+        if not message.is_read:
+            message.is_read = True
+            message.save(update_fields=['is_read'])
+        serializer = self.get_serializer(message)
+        return Response(serializer.data)
+
+    @action(detail=False, methods=['put'], url_path='mark-all-read')
+    def mark_all_read(self, request, *args, **kwargs):
+        self.get_queryset().filter(is_read=False).update(is_read=True)
+        return Response(status=status.HTTP_204_NO_CONTENT)
+
+
+class OAuthCreateUserView(APIView):
+    permission_classes = (AllowAny, )
+
+    def _create_oauth_user(self, request, username, password):
+        pending = request.session.get('oauth_pending')
+        if not pending:
+            raise ValidationError('No pending OAuth request')
+
+        if not username:
+            raise ValidationError('username is a required field')
+        if not password:
+            raise ValidationError('password is a required field')
+        if len(password) < 8:
+            raise ValidationError('password must be 8 or more characters')
+
+        email = pending.get('email')
+        if not email:
+            raise ValidationError('email is missing from oauth provider')
+        if User.objects.filter(email=email).exists():
+            raise ValidationError('email is already registered')
+
+        provider = pending.get('provider')
+        uid = pending.get('uid')
+        extra_data = pending.get('extra_data') or {}
+
+        if not provider or not uid:
+            request.session.pop('oauth_pending', None)
+            raise ValidationError('invalid oauth pending data')
+
+        existing = UserSocialAuth.objects.filter(provider=provider, uid=uid).first()
+        if existing:
+            request.session.pop('oauth_pending', None)
+            raise ValidationError('identity is already linked to another account')
+
+        try:
+            user = User.objects.create_user(username=username, email=email, password=password)
+        except IntegrityError:
+            raise ValidationError('username is already taken')
+
+        UserSocialAuth.objects.create(
+            user=user,
+            provider=provider,
+            uid=uid,
+            extra_data=extra_data,
+        )
+
+        auth.login(request, user, backend='django.contrib.auth.backends.ModelBackend')
+        request.session.pop('oauth_pending', None)
+        return user
+
+    def post(self, request, *args, **kwargs):
+        username = request.data.get('username')
+        password = request.data.get('password')
+        self._create_oauth_user(request, username, password)
+        return Response({'status': 'created'}, status=status.HTTP_201_CREATED)
+
+
+class UserDetailView(NormalUserViewSet):
+    serializer_class = serializers.UserSerializer
+    required_scopes = ['openid']
+    email_template_name = 'user/account_update_email.html'
+
+    def get_object(self):
+        return self.request.user
+
+    def update(self, request, *args, **kwargs):
+        user_serializer = self.serializer_class(
+            data=request.data,
+            instance=request.user,
+            partial=True,
+        )
+        user_serializer.is_valid(raise_exception=True)
+        if getattr(settings, 'EMAIL_HOST', ''):
+            user = self.get_object()
+            mail_subject = 'Update your account.'
+            uid = urlsafe_base64_encode(force_bytes(user.pk))
+            token = token_generator.make_token(user)
+            message = render_to_string(
+                self.email_template_name,
+                {
+                    'uid': uid,
+                    'user': user,
+                    'token': token,
+                    'domain': get_local_host(request),
+                },
+            )
+            cache_key = "user:serializer:%s" % user.pk
+            cache.set(cache_key, request.data, 60 * 30)
+            user.email_user(mail_subject, message, fail_silently=True)
+        else:
+            user_serializer.save()
+        return Response(status=status.HTTP_204_NO_CONTENT)
+
+
+class UserEmailView(NormalUserViewSet):
+    serializer_class = serializers.UserEmailSerializer
+    required_scopes = ['openid']
+
+    def get_object(self):
+        return self.request.user
+
+
+class UserTokensView(ListModelMixin, DestroyModelMixin, GenericViewSet):
+    serializer_class = serializers.UserTokensSerializer
+    permission_classes = [IsAuthenticated]
+
+    def get_queryset(self):
+        return AccessToken.objects.filter(user=self.request.user).order_by('-created')
+
+    def get_object(self):
+        return get_object_or_404(self.get_queryset(), id=self.kwargs['pk'])
+
+
+class UserAccountPasswordView(APIView):
+    permission_classes = [IsAuthenticated]
+
+    def update(self, request, *args, **kwargs):
+        if settings.LDAP_ENDPOINT:
+            raise DryccException("You cannot change user info when ldap is enabled.")
+        if not request.data.get('new_password'):
+            raise DryccException("new_password is a required field")
+        if not request.data.get('password'):
+            raise DryccException("password is a required field")
+        if len(request.data.get('new_password')) < 8:
+            raise DryccException("password must be 8 or more characters. ")
+        if not request.user.check_password(request.data['password']):
+            raise AuthenticationFailed('Current password does not match')
+        request.user.set_password(request.data['new_password'])
+        request.user.save()
+        auth.logout(request)
+        return HttpResponse(status=204)
+
+    def put(self, request, *args, **kwargs):
+        return self.update(request, *args, **kwargs)
+
+
+class UserMessagePreferenceViewSet(NormalUserViewSet):
+    serializer_class = serializers.MessagePreferenceSerializer
+    http_method_names = ['get', 'put', 'patch']
+
+    def get_object(self):
+        preference, _ = MessagePreference.objects.get_or_create(user=self.request.user)
+        return preference
+
+    def retrieve(self, request, *args, **kwargs):
+        serializer = self.get_serializer(self.get_object())
+        return Response(serializer.data)
+
+    def update(self, request, *args, **kwargs):
+        partial = kwargs.pop('partial', False)
+        serializer = self.get_serializer(self.get_object(), data=request.data, partial=partial)
+        serializer.is_valid(raise_exception=True)
+        serializer.save()
+        return Response(serializer.data)
+
+
+class ServiceMessageViewSet(viewsets.ModelViewSet):
+    serializer_class = serializers.ServiceMessageSerializer
+    permission_classes = [HasOAuthScope]
+    required_oauth_scopes = ['passport:message']
+
+    def get_queryset(self):
+        return Message.objects.all().order_by('-created_at')
diff --git a/rootfs/api/views/web.py b/rootfs/api/views/web.py
new file mode 100644
index 0000000..b3104f8
--- /dev/null
+++ b/rootfs/api/views/web.py
@@ -0,0 +1,259 @@
+from django.conf import settings
+from django.contrib import messages
+from django.contrib.auth import get_user_model, login, views
+from django.shortcuts import get_object_or_404, redirect, render
+from django.utils.encoding import force_str
+from django.utils.http import urlsafe_base64_decode
+from django.views.generic import View
+from django.views.generic.base import TemplateView
+from django.views.generic.edit import CreateView
+from django.urls import reverse_lazy
+from django.utils.translation import gettext_lazy as _
+
+from rest_framework.exceptions import ValidationError
+from social_django.models import UserSocialAuth
+
+from api import serializers
+from api.forms import AuthenticationForm, RegistrationForm
+from api.utils import get_oauth_callback, send_activation_email, token_generator
+
+
+User = get_user_model()
+
+
+class RegistrationView(CreateView):
+    form_class = RegistrationForm
+    template_name = 'user/registration.html'
+    success_url = reverse_lazy('user_registration_done')
+
+    def get(self, request, *args, **kwargs):
+        if settings.LDAP_ENDPOINT or not settings.REGISTRATION_ENABLED:
+            return render(request, template_name='user/registration_disable.html')
+        return super().get(request, *args, **kwargs)
+
+    def post(self, request, *args, **kwargs):
+        if settings.LDAP_ENDPOINT or not settings.REGISTRATION_ENABLED:
+            return render(request, template_name='user/registration_disable.html')
+        form = self.form_class(request.POST)
+        self.object = None
+        if form.is_valid():
+            user = form.save(commit=False)
+            if getattr(settings, 'EMAIL_HOST', ''):
+                user.is_active = False
+                user.save()
+                send_activation_email(request, user)
+                messages.success(request, 'Please Confirm your email to complete registration.')
+            else:
+                user.is_active = True
+                user.save()
+            return self.form_valid(form)
+        return self.form_invalid(form)
+
+    def get_context_data(self, **kwargs):
+        context = super().get_context_data(**kwargs)
+        context["h_captcha_key"] = settings.H_CAPTCHA_KEY
+        return context
+
+
+class RegistrationDoneView(TemplateView):
+    template_name = 'user/registration_done.html'
+    title = _('Activate email sent')
+
+
+class ActivateAccount(View):
+
+    def get(self, request, uidb64, token, *args, **kwargs):
+        try:
+            uid = force_str(urlsafe_base64_decode(uidb64))
+            user = User.objects.get(pk=uid)
+        except (TypeError, ValueError, OverflowError, User.DoesNotExist):
+            user = None
+        if user is not None and token_generator.check_token(user, token):
+            user.is_active = True
+            user.save()
+            login(request, user, backend='django.contrib.auth.backends.ModelBackend')
+            messages.success(request, 'Your account have been confirmed.')
+            return redirect('/user/activate/done/')
+
+        messages.warning(
+            request,
+            'The confirmation link was invalid, possibly because it has already been used.',
+        )
+        return redirect('/user/activate/fail/')
+
+
+class ActivateAccountDoneView(TemplateView):
+    template_name = 'user/account_activation_done.html'
+    title = _('Activate account done')
+
+
+class ActivateAccountFailView(TemplateView):
+    template_name = 'user/account_activation_fail.html'
+    title = _('Activate account fail')
+
+
+class UserLoginView(views.LoginView):
+    form_class = AuthenticationForm
+    template_name = 'user/login.html'
+
+    def _get_identity_linking(self):
+        identity_linking = self.request.POST.get('identity_linking')
+        if identity_linking is None:
+            identity_linking = self.request.GET.get('identity_linking')
+        return identity_linking == '1'
+
+    def get_context_data(self, **kwargs):
+        context = super().get_context_data(**kwargs)
+        identity_linking = self._get_identity_linking()
+        form = kwargs.get('form')
+        context.update({
+            'identity_linking': identity_linking,
+            'registration_enabled': settings.REGISTRATION_ENABLED,
+            'password_reset_enabled': True if getattr(settings, 'EMAIL_HOST', '') else False,
+            'identity_linking_error': (
+                _('Identity linking login failed. Please try again.')
+                if identity_linking and form is not None and form.errors else None
+            ),
+        })
+        return context
+
+    def form_valid(self, form):
+        response = super().form_valid(form)
+        pending = self.request.session.get('oauth_pending')
+        if not pending:
+            return response
+
+        provider = pending.get('provider')
+        uid = pending.get('uid')
+        extra_data = pending.get('extra_data') or {}
+        if not provider or not uid:
+            self.request.session.pop('oauth_pending', None)
+            raise ValidationError('invalid oauth pending data')
+
+        existing = UserSocialAuth.objects.filter(
+            provider=provider,
+            uid=uid,
+        ).select_related('user').first()
+        if existing and existing.user_id != self.request.user.id:
+            self.request.session.pop('oauth_pending', None)
+            return redirect(get_oauth_callback(self.request, 'conflict', provider))
+
+        if not existing:
+            UserSocialAuth.objects.create(
+                user=self.request.user,
+                provider=provider,
+                uid=uid,
+                extra_data=extra_data,
+            )
+
+        self.request.session.pop('oauth_pending', None)
+        return redirect(get_oauth_callback(self.request, 'linked', provider))
+
+
+class OAuthCallbackTemplateView(TemplateView):
+    template_name = 'user/oauth_callback.html'
+
+    def _build_context(self, request, status_value=None, error=None):
+        pending = request.session.get('oauth_pending')
+        provider = request.GET.get('provider')
+        email = None
+        display_name = None
+
+        if pending:
+            provider = pending.get('provider') or provider
+            email = pending.get('email')
+
+        if provider:
+            display_name = provider.title()
+
+        status_value = status_value or request.GET.get('status') or 'error'
+        if status_value == 'pending' and not pending:
+            status_value = 'error'
+            error = error or 'No pending OAuth request'
+
+        return {
+            'status': status_value,
+            'provider': provider,
+            'display_name': display_name,
+            'email': email,
+            'error': error,
+        }
+
+    def get(self, request, *args, **kwargs):
+        context = self._build_context(request)
+        return render(request, self.template_name, context)
+
+    def post(self, request, *args, **kwargs):
+        username = request.POST.get('username')
+        password = request.POST.get('password')
+        confirm_password = request.POST.get('confirm_password')
+
+        if password != confirm_password:
+            context = self._build_context(
+                request,
+                status_value='pending',
+                error='Password confirmation does not match',
+            )
+            return render(request, self.template_name, context)
+
+        from api.views.api import OAuthCreateUserView
+
+        try:
+            OAuthCreateUserView()._create_oauth_user(request, username, password)
+        except ValidationError as exc:
+            error_text = exc.detail
+            if isinstance(error_text, (list, tuple)):
+                error_text = error_text[0]
+            context = self._build_context(request, status_value='pending', error=error_text)
+            return render(request, self.template_name, context)
+
+        return redirect('/account-setting')
+
+
+class UpdateAccount(View):
+    fail_template_name = 'user/account_update_fail.html'
+    success_template_name = 'user/account_update_done.html'
+
+    def get(self, request, uidb64, token, *args, **kwargs):
+        user = get_object_or_404(User, pk=force_str(urlsafe_base64_decode(uidb64)))
+        if user is not None and token_generator.check_token(user, token):
+            cache_key = "user:serializer:%s" % user.pk
+            from django.core.cache import cache
+            data = cache.get(cache_key, None)
+            if data:
+                user_serializer = serializers.UserSerializer(
+                    data=data, instance=user, partial=True
+                )
+                if user_serializer.is_valid():
+                    user_serializer.save()
+                    login(request, user, backend='django.contrib.auth.backends.ModelBackend')
+                    cache.delete(cache_key)
+                    return render(request, template_name=self.success_template_name)
+        return render(request, template_name=self.fail_template_name)
+
+
+class LoginDoneView(TemplateView):
+    template_name = 'user/login_done.html'
+
+
+class UserPasswordResetView(views.PasswordResetView):
+    email_template_name = 'user/password_reset_email.html'
+    success_url = reverse_lazy('user_password_reset_done')
+    template_name = 'user/password_reset_form.html'
+
+
+class UserPasswordResetDoneView(views.PasswordResetDoneView):
+    template_name = 'user/password_reset_done.html'
+
+
+class UserPasswordResetConfirmView(views.PasswordResetConfirmView):
+    success_url = reverse_lazy('user_password_reset_complete')
+    template_name = 'user/password_reset_confirm.html'
+
+
+class UserPasswordResetCompleteView(views.PasswordResetCompleteView):
+    template_name = 'user/password_reset_complete.html'
+
+
+class UserLogoutView(views.LogoutView):
+    template_name = 'user/logout.html'
diff --git a/rootfs/api/viewset.py b/rootfs/api/viewset.py
deleted file mode 100644
index 9ccba36..0000000
--- a/rootfs/api/viewset.py
+++ /dev/null
@@ -1,12 +0,0 @@
-from rest_framework import viewsets
-from rest_framework.permissions import IsAuthenticated
-
-
-class NormalUserViewSet(viewsets.ModelViewSet):
-    """
-    A simple ViewSet for objects filtered by their 'owner' attribute.
-
-    To use it, at minimum you'll need to provide the `serializer_class` attribute and
-    the `model` attribute shortcut.
-    """
-    permission_classes = [IsAuthenticated]
diff --git a/rootfs/api/wsgi.py b/rootfs/api/wsgi.py
index c0b656a..eb05278 100644
--- a/rootfs/api/wsgi.py
+++ b/rootfs/api/wsgi.py
@@ -1,10 +1,10 @@
 """
-WSGI config for mysite project.
+WSGI config for passport project.
 
 It exposes the WSGI callable as a module-level variable named ``application``.
 
 For more information on this file, see
-https://docs.djangoproject.com/en/2.2/howto/deployment/wsgi/
+https://docs.djangoproject.com/en/4.1/howto/deployment/wsgi/
 """
 
 import os
diff --git a/rootfs/bin/boot b/rootfs/bin/boot
index 4a54261..d6967f0 100755
--- a/rootfs/bin/boot
+++ b/rootfs/bin/boot
@@ -5,7 +5,6 @@
 
 # fail hard and fast even on pipelines
 set -eo pipefail
-
 # set debug based on envvar
 [[ $DRYCC_DEBUG == "true" ]] && set -x
 
@@ -13,38 +12,24 @@ echo system information:
 echo "Django Version: $(./manage.py --version)"
 python --version
 
-mkdir -p /app/data/logs
-chmod -R 777 /app/data/logs
+mkdir -p /workspace/data/logs
+chmod -R 777 /workspace/data/logs
 
 echo "Django checks:"
-python /app/manage.py check --deploy api
+python /workspace/manage.py check --deploy api
 
 echo ""
 echo "Health Checks:"
-python /app/manage.py healthchecks
-
-echo ""
-echo "Database Migrations:"
-python /app/manage.py migrate --noinput
+python /workspace/manage.py healthchecks
 
 echo ""
 echo "Collect static files in a single location:"
 python manage.py collectstatic --noinput
 
-echo ""
-if [ "${ADMIN_USERNAME}" ] && [ "${ADMIN_PASSWORD}" ] && [ "${ADMIN_EMAIL}" ]; then
-  echo "Create administrator"
-  python /app/manage.py createadminuser --username "${ADMIN_USERNAME}" --password "${ADMIN_PASSWORD}" --noinput --email "${ADMIN_EMAIL}"
-fi
-
-echo ""
-echo "Create application for drycc controller "
-python /app/manage.py create_oauth2_application
-
 # spawn a gunicorn server in the background
 echo ""
 echo "Starting up Gunicorn"
-gunicorn -c /app/passport/gunicorn/config.py api.wsgi &
+gunicorn -c /workspace/passport/gunicorn/config.py api.asgi &
 
 # smart shutdown on SIGTERM (SIGINT is handled by gunicorn)
 function on_exit() {
diff --git a/rootfs/bin/test-unit b/rootfs/bin/test-unit
index 8ab0a9d..de37e50 100755
--- a/rootfs/bin/test-unit
+++ b/rootfs/bin/test-unit
@@ -6,13 +6,19 @@
 # fail hard and fast even on pipelines
 set -eou pipefail
 
+function start_valkey() {
+    cd /tmp
+    nohup valkey-server > /var/log/valkey.log 2>&1 &
+    cd -
+}
+
 function creating_rsa_key() {
     mkdir -p /var/run/secrets/drycc/passport/ \
       && openssl genrsa -out /var/run/secrets/drycc/passport/oidc-rsa-private-key 4096
 }
 
-su-exec postgres pg_ctl -D "$PGDATA" start
+gosu postgres pg_ctl -D "$PGDATA" start && ln -s /tmp/.s.PGSQL.5432 /var/run/postgresql/.s.PGSQL.5432
+start_valkey
 creating_rsa_key
 python3 manage.py check
 coverage run manage.py test --settings=api.settings.testing --noinput api
-coverage report -m
diff --git a/rootfs/bin/upload-coverage b/rootfs/bin/upload-coverage
new file mode 100755
index 0000000..492452b
--- /dev/null
+++ b/rootfs/bin/upload-coverage
@@ -0,0 +1,13 @@
+#!/usr/bin/env bash
+#
+# This script is designed to be run inside the container
+#
+
+# fail hard and fast even on pipelines
+set -eou pipefail
+
+coverage report -m > coverage.txt
+
+if [[ -n $CODECOV_TOKEN ]]; then
+  codecov upload-process --plugin=noop -t "$CODECOV_TOKEN"
+fi
diff --git a/rootfs/dev_requirements.txt b/rootfs/dev_requirements.txt
index 84bd797..ef0abcb 100644
--- a/rootfs/dev_requirements.txt
+++ b/rootfs/dev_requirements.txt
@@ -1,16 +1,10 @@
 # test module
 # test
 # Run "make test-unit" for the % of code exercised during tests
-coverage==5.3
+coverage==7.10.6
 
 # Run "make test-style" to check python syntax and style
-flake8==3.8.3
-
-# code coverage report at https://codecov.io/github/drycc/passport
-codecov==2.1.9
+flake8==7.3.0
 
 # mock out python-requests, mostly k8s
-requests-mock==1.8.0
-
-# tail a log and pipe into tbgrep to find all tracebacks
-tbgrep==0.3.0
+requests-mock==1.12.1
diff --git a/rootfs/passport/gunicorn/config.py b/rootfs/passport/gunicorn/config.py
index 96c8933..58acdbe 100644
--- a/rootfs/passport/gunicorn/config.py
+++ b/rootfs/passport/gunicorn/config.py
@@ -5,7 +5,8 @@
 faulthandler.enable()
 
 bind = '0.0.0.0'
-workers = int(os.environ.get('GUNICORN_WORKERS', 4))
+workers = int(os.environ.get('GUNICORN_WORKERS', 2))
+worker_class = "uvicorn.workers.UvicornWorker"
 
 pythonpath = dirname(dirname(dirname(realpath(__file__))))
 timeout = 1200
diff --git a/rootfs/passport/urls.py b/rootfs/passport/urls.py
index 8dfa5e2..a3a0dbf 100644
--- a/rootfs/passport/urls.py
+++ b/rootfs/passport/urls.py
@@ -13,9 +13,8 @@
     1. Import the include() function: from django.urls import include, path
     2. Add a URL to urlpatterns:  path('blog/', include('blog.urls'))
 """
-from django.urls import path
+from django.urls import path, re_path, include
 from django.conf import settings
-from django.conf.urls import include, url, re_path
 from django.contrib import admin
 from django.views.generic.base import TemplateView
 from api.views import LivenessCheckView, ReadinessCheckView
@@ -26,10 +25,11 @@
     urlpatterns = []
 
 urlpatterns += [
-    url(r'^healthz$', LivenessCheckView.as_view()),
-    url(r'^readiness$', ReadinessCheckView.as_view()),
-    re_path(r"^user/", include('api.urls')),
+    re_path(r'^healthz$', LivenessCheckView.as_view()),
+    re_path(r'^readiness$', ReadinessCheckView.as_view()),
+    re_path(r"^", include('api.urls')),
     re_path(r'^oauth/', include('oauth2_provider.urls', namespace='oauth2_provider')),
     re_path(r'^accounts/', include('django.contrib.auth.urls')),
+    re_path(r'^auth/', include('social_django.urls', namespace='social')),
     re_path(r'.*', TemplateView.as_view(template_name="index.html")),
 ]
diff --git a/rootfs/passport/views.py b/rootfs/passport/views.py
new file mode 100644
index 0000000..ede1bf9
--- /dev/null
+++ b/rootfs/passport/views.py
@@ -0,0 +1,20 @@
+from django.conf import settings
+from rest_framework.viewsets import GenericViewSet
+from rest_framework.permissions import AllowAny
+from rest_framework.response import Response
+
+
+class AppSettingsViewSet(GenericViewSet):
+
+    permission_classes = (AllowAny, )
+
+    def retrieve(self, request, *args, **kwargs):
+        return Response(data={
+            "legal": getattr(settings, 'LEGAL_ENABLED', False),
+            "dashboard_url": getattr(settings, 'DASHBOARD_URL', '/'),
+            "contact_support_url": getattr(
+                settings, 'CONTACT_SUPPORT_URL',
+                'https://community.drycc.cc/'
+            ),
+            "registration_enabled": getattr(settings, 'REGISTRATION_ENABLED', False),
+        })
diff --git a/rootfs/requirements.txt b/rootfs/requirements.txt
index 648f25a..2b6f940 100644
--- a/rootfs/requirements.txt
+++ b/rootfs/requirements.txt
@@ -1,15 +1,19 @@
 # Drycc passport requirements
-django==3.2.5
-django-auth-ldap==3.0.0
-django-cors-headers==3.7.0
-django-guardian==2.4.0
-djangorestframework==3.12.4
-gunicorn==20.1.0
-psycopg2-binary==2.9.1
-requests==2.26.0
-requests-toolbelt==0.9.1
-django_redis==5.0.0
-dj-database-url==0.5.0
-django-oauth-toolkit==1.5.0
-whitenoise==5.3.0
-
+django==5.2.14
+pytz==2026.1
+django-auth-ldap==5.3.0
+django-cors-headers==4.9.0
+djangorestframework==3.17.0
+gunicorn==25.1.0
+uvicorn==0.42.0
+asgiref==3.11.1
+psycopg[binary]==3.3.3
+requests==2.33.0
+requests-toolbelt==1.0.0
+redis==6.3.0
+celery[redis]==5.6.3
+hiredis==3.3.1
+dj-database-url==3.1.2
+django-oauth-toolkit==3.2.0
+social-auth-app-django==5.7.0
+whitenoise==6.12.0
diff --git a/rootfs/web/README.md b/rootfs/web/README.md
new file mode 100644
index 0000000..3d51350
--- /dev/null
+++ b/rootfs/web/README.md
@@ -0,0 +1,83 @@
+# Passport Web Frontend
+
+This is the web frontend for the Passport authentication system, built with Vue.js and Vite.
+
+## Prerequisites
+
+Before running the web frontend, ensure you have the following installed:
+- Node.js (v23 or higher)
+- npm or yarn
+- Python environment with Django backend
+
+## Setup Instructions
+
+### 1. Backend Setup
+
+First, ensure the Django backend is properly set up:
+
+```bash
+# Install Django and dependencies
+pip install -r requirements.txt
+
+# Set environment variables
+export DRYCC_DATABASE_URL=postgres://postgres:@127.0.0.1:5432/passport
+export VUE_APP_BASE_URL=http://localhost:8000/
+export CSRF_TRUSTED_ORIGINS=http://localhost:5173
+
+# Start the Django development server
+python manage.py runserver
+```
+
+### 2. Frontend Setup
+
+Navigate to the web directory and install dependencies:
+
+```bash
+cd web
+npm install
+```
+
+### 3. Development Server
+
+Start the development server:
+
+```bash
+npm run dev -- --port 5173
+```
+
+The application will be available at `http://localhost:5173`.
+
+## Available Scripts
+
+- `npm run dev` - Start the development server
+- `npm run build` - Build the application for production
+- `npm run preview` - Preview the production build
+- `npm run lint` - Run ESLint
+
+## Environment Variables
+
+The following environment variables are required:
+
+- `VUE_APP_BASE_URL` - The base URL of the Django backend API
+- `CSRF_TRUSTED_ORIGINS` - Trusted origins for CSRF protection
+
+## Project Structure
+
+```
+web/
+├── public/          # Static assets
+├── src/
+│   ├── assets/      # Images and other assets
+│   ├── components/  # Vue components
+│   ├── views/       # Page components
+│   ├── services/    # API service modules
+│   ├── router/      # Vue Router configuration
+│   ├── utils/       # Utility functions
+│   └── lang/        # Internationalization
+├── package.json     # Project dependencies
+└── vite.config.js   # Vite configuration
+```
+
+## Contributing
+
+Please refer to the main project documentation for contribution guidelines.
diff --git a/rootfs/web/index.html b/rootfs/web/index.html
index 26dc6ed..369b5fa 100644
--- a/rootfs/web/index.html
+++ b/rootfs/web/index.html
@@ -2,18 +2,11 @@
 <html lang="en">
 <head>
   <meta charset="UTF-8">
-  <link rel='stylesheet' href='./src/assets/bashboard.css'>
-  <link rel='stylesheet' href='./src/assets/style/purple3.min.css'>
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  <title>Vite App</title>
+  <title>Drycc CaaS</title>
 </head>
-<style>
-  body{
-    padding-top: 40px;
-  }
-</style>
-<body>
+<body class="overflow-y-scroll">
   <div id="app"></div>
-  <script type="module" src="/src/main.js"></script>
+  <script type="module" src="/src/main.ts"></script>
 </body>
 </html>
diff --git a/rootfs/web/package-lock.json b/rootfs/web/package-lock.json
new file mode 100644
index 0000000..41980a8
--- /dev/null
+++ b/rootfs/web/package-lock.json
@@ -0,0 +1,2371 @@
+{
+  "name": "web",
+  "version": "0.0.0",
+  "lockfileVersion": 3,
+  "requires": true,
+  "packages": {
+    "": {
+      "name": "web",
+      "version": "0.0.0",
+      "license": "Apache-2.0",
+      "dependencies": {
+        "axios": "^1.15.2",
+        "vue": "^3.5.30",
+        "vue-i18n": "^11.3.0",
+        "vue-router": "^5.0.4",
+        "yarn": "^1.22.22"
+      },
+      "devDependencies": {
+        "@tailwindcss/vite": "^4.2.2",
+        "@vitejs/plugin-vue": "^6.0.5",
+        "@vue/compiler-sfc": "^3.5.30",
+        "lucide-vue-next": "^1.0.0",
+        "tailwindcss": "^4.2.2",
+        "typescript": "^6.0.3",
+        "vite": "^8.0.8",
+        "vue-tsc": "^3.2.6"
+      }
+    },
+    "node_modules/@babel/generator": {
+      "version": "7.29.1",
+      "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.1.tgz",
+      "integrity": "sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==",
+      "license": "MIT",
+      "dependencies": {
+        "@babel/parser": "^7.29.0",
+        "@babel/types": "^7.29.0",
+        "@jridgewell/gen-mapping": "^0.3.12",
+        "@jridgewell/trace-mapping": "^0.3.28",
+        "jsesc": "^3.0.2"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/@babel/helper-string-parser": {
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz",
+      "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==",
+      "license": "MIT",
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/@babel/helper-validator-identifier": {
+      "version": "7.28.5",
+      "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz",
+      "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==",
+      "license": "MIT",
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/@babel/parser": {
+      "version": "7.29.2",
+      "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.2.tgz",
+      "integrity": "sha512-4GgRzy/+fsBa72/RZVJmGKPmZu9Byn8o4MoLpmNe1m8ZfYnz5emHLQz3U4gLud6Zwl0RZIcgiLD7Uq7ySFuDLA==",
+      "license": "MIT",
+      "dependencies": {
+        "@babel/types": "^7.29.0"
+      },
+      "bin": {
+        "parser": "bin/babel-parser.js"
+      },
+      "engines": {
+        "node": ">=6.0.0"
+      }
+    },
+    "node_modules/@babel/types": {
+      "version": "7.29.0",
+      "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz",
+      "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==",
+      "license": "MIT",
+      "dependencies": {
+        "@babel/helper-string-parser": "^7.27.1",
+        "@babel/helper-validator-identifier": "^7.28.5"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/@emnapi/core": {
+      "version": "1.9.2",
+      "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.9.2.tgz",
+      "integrity": "sha512-UC+ZhH3XtczQYfOlu3lNEkdW/p4dsJ1r/bP7H8+rhao3TTTMO1ATq/4DdIi23XuGoFY+Cz0JmCbdVl0hz9jZcA==",
+      "dev": true,
+      "license": "MIT",
+      "optional": true,
+      "dependencies": {
+        "@emnapi/wasi-threads": "1.2.1",
+        "tslib": "^2.4.0"
+      }
+    },
+    "node_modules/@emnapi/runtime": {
+      "version": "1.9.2",
+      "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.9.2.tgz",
+      "integrity": "sha512-3U4+MIWHImeyu1wnmVygh5WlgfYDtyf0k8AbLhMFxOipihf6nrWC4syIm/SwEeec0mNSafiiNnMJwbza/Is6Lw==",
+      "dev": true,
+      "license": "MIT",
+      "optional": true,
+      "dependencies": {
+        "tslib": "^2.4.0"
+      }
+    },
+    "node_modules/@emnapi/wasi-threads": {
+      "version": "1.2.1",
+      "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.1.tgz",
+      "integrity": "sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==",
+      "dev": true,
+      "license": "MIT",
+      "optional": true,
+      "dependencies": {
+        "tslib": "^2.4.0"
+      }
+    },
+    "node_modules/@intlify/core-base": {
+      "version": "11.3.0",
+      "resolved": "https://registry.npmjs.org/@intlify/core-base/-/core-base-11.3.0.tgz",
+      "integrity": "sha512-NNX5jIwF4TJBe7RtSKDMOA6JD9mp2mRcBHAwt2X+Q8PvnZub0yj5YYXlFu2AcESdgQpEv/5Yx2uOCV/yh7YkZg==",
+      "license": "MIT",
+      "dependencies": {
+        "@intlify/devtools-types": "11.3.0",
+        "@intlify/message-compiler": "11.3.0",
+        "@intlify/shared": "11.3.0"
+      },
+      "engines": {
+        "node": ">= 16"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/kazupon"
+      }
+    },
+    "node_modules/@intlify/devtools-types": {
+      "version": "11.3.0",
+      "resolved": "https://registry.npmjs.org/@intlify/devtools-types/-/devtools-types-11.3.0.tgz",
+      "integrity": "sha512-G9CNL4WpANWVdUjubOIIS7/D2j/0j+1KJmhBJxHilWNKr9mmt3IjFV3Hq4JoBP23uOoC5ynxz/FHZ42M+YxfGw==",
+      "license": "MIT",
+      "dependencies": {
+        "@intlify/core-base": "11.3.0",
+        "@intlify/shared": "11.3.0"
+      },
+      "engines": {
+        "node": ">= 16"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/kazupon"
+      }
+    },
+    "node_modules/@intlify/message-compiler": {
+      "version": "11.3.0",
+      "resolved": "https://registry.npmjs.org/@intlify/message-compiler/-/message-compiler-11.3.0.tgz",
+      "integrity": "sha512-RAJp3TMsqohg/Wa7bVF3cChRhecSYBLrTCQSj7j0UtWVFLP+6iEJoE2zb7GU5fp+fmG5kCbUdzhmlAUCWXiUJw==",
+      "license": "MIT",
+      "dependencies": {
+        "@intlify/shared": "11.3.0",
+        "source-map-js": "^1.0.2"
+      },
+      "engines": {
+        "node": ">= 16"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/kazupon"
+      }
+    },
+    "node_modules/@intlify/shared": {
+      "version": "11.3.0",
+      "resolved": "https://registry.npmjs.org/@intlify/shared/-/shared-11.3.0.tgz",
+      "integrity": "sha512-LC6P/uay7rXL5zZ5+5iRJfLs/iUN8apu9tm8YqQVmW3Uq3X4A0dOFUIDuAmB7gAC29wTHOS3EiN/IosNSz0eNQ==",
+      "license": "MIT",
+      "engines": {
+        "node": ">= 16"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/kazupon"
+      }
+    },
+    "node_modules/@jridgewell/gen-mapping": {
+      "version": "0.3.13",
+      "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz",
+      "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==",
+      "license": "MIT",
+      "dependencies": {
+        "@jridgewell/sourcemap-codec": "^1.5.0",
+        "@jridgewell/trace-mapping": "^0.3.24"
+      }
+    },
+    "node_modules/@jridgewell/remapping": {
+      "version": "2.3.5",
+      "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz",
+      "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==",
+      "license": "MIT",
+      "dependencies": {
+        "@jridgewell/gen-mapping": "^0.3.5",
+        "@jridgewell/trace-mapping": "^0.3.24"
+      }
+    },
+    "node_modules/@jridgewell/resolve-uri": {
+      "version": "3.1.2",
+      "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
+      "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
+      "license": "MIT",
+      "engines": {
+        "node": ">=6.0.0"
+      }
+    },
+    "node_modules/@jridgewell/sourcemap-codec": {
+      "version": "1.5.5",
+      "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz",
+      "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==",
+      "license": "MIT"
+    },
+    "node_modules/@jridgewell/trace-mapping": {
+      "version": "0.3.31",
+      "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz",
+      "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==",
+      "license": "MIT",
+      "dependencies": {
+        "@jridgewell/resolve-uri": "^3.1.0",
+        "@jridgewell/sourcemap-codec": "^1.4.14"
+      }
+    },
+    "node_modules/@napi-rs/wasm-runtime": {
+      "version": "1.1.3",
+      "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.3.tgz",
+      "integrity": "sha512-xK9sGVbJWYb08+mTJt3/YV24WxvxpXcXtP6B172paPZ+Ts69Re9dAr7lKwJoeIx8OoeuimEiRZ7umkiUVClmmQ==",
+      "dev": true,
+      "license": "MIT",
+      "optional": true,
+      "dependencies": {
+        "@tybys/wasm-util": "^0.10.1"
+      },
+      "funding": {
+        "type": "github",
+        "url": "https://github.com/sponsors/Brooooooklyn"
+      },
+      "peerDependencies": {
+        "@emnapi/core": "^1.7.1",
+        "@emnapi/runtime": "^1.7.1"
+      }
+    },
+    "node_modules/@oxc-project/types": {
+      "version": "0.124.0",
+      "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.124.0.tgz",
+      "integrity": "sha512-VBFWMTBvHxS11Z5Lvlr3IWgrwhMTXV+Md+EQF0Xf60+wAdsGFTBx7X7K/hP4pi8N7dcm1RvcHwDxZ16Qx8keUg==",
+      "dev": true,
+      "license": "MIT",
+      "funding": {
+        "url": "https://github.com/sponsors/Boshen"
+      }
+    },
+    "node_modules/@rolldown/binding-android-arm64": {
+      "version": "1.0.0-rc.15",
+      "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.0-rc.15.tgz",
+      "integrity": "sha512-YYe6aWruPZDtHNpwu7+qAHEMbQ/yRl6atqb/AhznLTnD3UY99Q1jE7ihLSahNWkF4EqRPVC4SiR4O0UkLK02tA==",
+      "cpu": [
+        "arm64"
+      ],
+      "dev": true,
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "android"
+      ],
+      "engines": {
+        "node": "^20.19.0 || >=22.12.0"
+      }
+    },
+    "node_modules/@rolldown/binding-darwin-arm64": {
+      "version": "1.0.0-rc.15",
+      "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.0-rc.15.tgz",
+      "integrity": "sha512-oArR/ig8wNTPYsXL+Mzhs0oxhxfuHRfG7Ikw7jXsw8mYOtk71W0OkF2VEVh699pdmzjPQsTjlD1JIOoHkLP1Fg==",
+      "cpu": [
+        "arm64"
+      ],
+      "dev": true,
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "darwin"
+      ],
+      "engines": {
+        "node": "^20.19.0 || >=22.12.0"
+      }
+    },
+    "node_modules/@rolldown/binding-darwin-x64": {
+      "version": "1.0.0-rc.15",
+      "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.0-rc.15.tgz",
+      "integrity": "sha512-YzeVqOqjPYvUbJSWJ4EDL8ahbmsIXQpgL3JVipmN+MX0XnXMeWomLN3Fb+nwCmP/jfyqte5I3XRSm7OfQrbyxw==",
+      "cpu": [
+        "x64"
+      ],
+      "dev": true,
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "darwin"
+      ],
+      "engines": {
+        "node": "^20.19.0 || >=22.12.0"
+      }
+    },
+    "node_modules/@rolldown/binding-freebsd-x64": {
+      "version": "1.0.0-rc.15",
+      "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.0-rc.15.tgz",
+      "integrity": "sha512-9Erhx956jeQ0nNTyif1+QWAXDRD38ZNjr//bSHrt6wDwB+QkAfl2q6Mn1k6OBPerznjRmbM10lgRb1Pli4xZPw==",
+      "cpu": [
+        "x64"
+      ],
+      "dev": true,
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "freebsd"
+      ],
+      "engines": {
+        "node": "^20.19.0 || >=22.12.0"
+      }
+    },
+    "node_modules/@rolldown/binding-linux-arm-gnueabihf": {
+      "version": "1.0.0-rc.15",
+      "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.0-rc.15.tgz",
+      "integrity": "sha512-cVwk0w8QbZJGTnP/AHQBs5yNwmpgGYStL88t4UIaqcvYJWBfS0s3oqVLZPwsPU6M0zlW4GqjP0Zq5MnAGwFeGA==",
+      "cpu": [
+        "arm"
+      ],
+      "dev": true,
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": "^20.19.0 || >=22.12.0"
+      }
+    },
+    "node_modules/@rolldown/binding-linux-arm64-gnu": {
+      "version": "1.0.0-rc.15",
+      "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.0-rc.15.tgz",
+      "integrity": "sha512-eBZ/u8iAK9SoHGanqe/jrPnY0JvBN6iXbVOsbO38mbz+ZJsaobExAm1Iu+rxa4S1l2FjG0qEZn4Rc6X8n+9M+w==",
+      "cpu": [
+        "arm64"
+      ],
+      "dev": true,
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": "^20.19.0 || >=22.12.0"
+      }
+    },
+    "node_modules/@rolldown/binding-linux-arm64-musl": {
+      "version": "1.0.0-rc.15",
+      "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.0-rc.15.tgz",
+      "integrity": "sha512-ZvRYMGrAklV9PEkgt4LQM6MjQX2P58HPAuecwYObY2DhS2t35R0I810bKi0wmaYORt6m/2Sm+Z+nFgb0WhXNcQ==",
+      "cpu": [
+        "arm64"
+      ],
+      "dev": true,
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": "^20.19.0 || >=22.12.0"
+      }
+    },
+    "node_modules/@rolldown/binding-linux-ppc64-gnu": {
+      "version": "1.0.0-rc.15",
+      "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.0.0-rc.15.tgz",
+      "integrity": "sha512-VDpgGBzgfg5hLg+uBpCLoFG5kVvEyafmfxGUV0UHLcL5irxAK7PKNeC2MwClgk6ZAiNhmo9FLhRYgvMmedLtnQ==",
+      "cpu": [
+        "ppc64"
+      ],
+      "dev": true,
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": "^20.19.0 || >=22.12.0"
+      }
+    },
+    "node_modules/@rolldown/binding-linux-s390x-gnu": {
+      "version": "1.0.0-rc.15",
+      "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.0.0-rc.15.tgz",
+      "integrity": "sha512-y1uXY3qQWCzcPgRJATPSOUP4tCemh4uBdY7e3EZbVwCJTY3gLJWnQABgeUetvED+bt1FQ01OeZwvhLS2bpNrAQ==",
+      "cpu": [
+        "s390x"
+      ],
+      "dev": true,
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": "^20.19.0 || >=22.12.0"
+      }
+    },
+    "node_modules/@rolldown/binding-linux-x64-gnu": {
+      "version": "1.0.0-rc.15",
+      "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.0-rc.15.tgz",
+      "integrity": "sha512-023bTPBod7J3Y/4fzAN6QtpkSABR0rigtrwaP+qSEabUh5zf6ELr9Nc7GujaROuPY3uwdSIXWrvhn1KxOvurWA==",
+      "cpu": [
+        "x64"
+      ],
+      "dev": true,
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": "^20.19.0 || >=22.12.0"
+      }
+    },
+    "node_modules/@rolldown/binding-linux-x64-musl": {
+      "version": "1.0.0-rc.15",
+      "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.0-rc.15.tgz",
+      "integrity": "sha512-witB2O0/hU4CgfOOKUoeFgQ4GktPi1eEbAhaLAIpgD6+ZnhcPkUtPsoKKHRzmOoWPZue46IThdSgdo4XneOLYw==",
+      "cpu": [
+        "x64"
+      ],
+      "dev": true,
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": "^20.19.0 || >=22.12.0"
+      }
+    },
+    "node_modules/@rolldown/binding-openharmony-arm64": {
+      "version": "1.0.0-rc.15",
+      "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.0.0-rc.15.tgz",
+      "integrity": "sha512-UCL68NJ0Ud5zRipXZE9dF5PmirzJE4E4BCIOOssEnM7wLDsxjc6Qb0sGDxTNRTP53I6MZpygyCpY8Aa8sPfKPg==",
+      "cpu": [
+        "arm64"
+      ],
+      "dev": true,
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "openharmony"
+      ],
+      "engines": {
+        "node": "^20.19.0 || >=22.12.0"
+      }
+    },
+    "node_modules/@rolldown/binding-wasm32-wasi": {
+      "version": "1.0.0-rc.15",
+      "resolved": "https://registry.npmjs.org/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.0-rc.15.tgz",
+      "integrity": "sha512-ApLruZq/ig+nhaE7OJm4lDjayUnOHVUa77zGeqnqZ9pn0ovdVbbNPerVibLXDmWeUZXjIYIT8V3xkT58Rm9u5Q==",
+      "cpu": [
+        "wasm32"
+      ],
+      "dev": true,
+      "license": "MIT",
+      "optional": true,
+      "dependencies": {
+        "@emnapi/core": "1.9.2",
+        "@emnapi/runtime": "1.9.2",
+        "@napi-rs/wasm-runtime": "^1.1.3"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@rolldown/binding-win32-arm64-msvc": {
+      "version": "1.0.0-rc.15",
+      "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.0-rc.15.tgz",
+      "integrity": "sha512-KmoUoU7HnN+Si5YWJigfTws1jz1bKBYDQKdbLspz0UaqjjFkddHsqorgiW1mxcAj88lYUE6NC/zJNwT+SloqtA==",
+      "cpu": [
+        "arm64"
+      ],
+      "dev": true,
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "win32"
+      ],
+      "engines": {
+        "node": "^20.19.0 || >=22.12.0"
+      }
+    },
+    "node_modules/@rolldown/binding-win32-x64-msvc": {
+      "version": "1.0.0-rc.15",
+      "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.0-rc.15.tgz",
+      "integrity": "sha512-3P2A8L+x75qavWLe/Dll3EYBJLQmtkJN8rfh+U/eR3MqMgL/h98PhYI+JFfXuDPgPeCB7iZAKiqii5vqOvnA0g==",
+      "cpu": [
+        "x64"
+      ],
+      "dev": true,
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "win32"
+      ],
+      "engines": {
+        "node": "^20.19.0 || >=22.12.0"
+      }
+    },
+    "node_modules/@rolldown/pluginutils": {
+      "version": "1.0.0-rc.2",
+      "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-rc.2.tgz",
+      "integrity": "sha512-izyXV/v+cHiRfozX62W9htOAvwMo4/bXKDrQ+vom1L1qRuexPock/7VZDAhnpHCLNejd3NJ6hiab+tO0D44Rgw==",
+      "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/@tailwindcss/node": {
+      "version": "4.2.2",
+      "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.2.2.tgz",
+      "integrity": "sha512-pXS+wJ2gZpVXqFaUEjojq7jzMpTGf8rU6ipJz5ovJV6PUGmlJ+jvIwGrzdHdQ80Sg+wmQxUFuoW1UAAwHNEdFA==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "@jridgewell/remapping": "^2.3.5",
+        "enhanced-resolve": "^5.19.0",
+        "jiti": "^2.6.1",
+        "lightningcss": "1.32.0",
+        "magic-string": "^0.30.21",
+        "source-map-js": "^1.2.1",
+        "tailwindcss": "4.2.2"
+      }
+    },
+    "node_modules/@tailwindcss/oxide": {
+      "version": "4.2.2",
+      "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.2.2.tgz",
+      "integrity": "sha512-qEUA07+E5kehxYp9BVMpq9E8vnJuBHfJEC0vPC5e7iL/hw7HR61aDKoVoKzrG+QKp56vhNZe4qwkRmMC0zDLvg==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">= 20"
+      },
+      "optionalDependencies": {
+        "@tailwindcss/oxide-android-arm64": "4.2.2",
+        "@tailwindcss/oxide-darwin-arm64": "4.2.2",
+        "@tailwindcss/oxide-darwin-x64": "4.2.2",
+        "@tailwindcss/oxide-freebsd-x64": "4.2.2",
+        "@tailwindcss/oxide-linux-arm-gnueabihf": "4.2.2",
+        "@tailwindcss/oxide-linux-arm64-gnu": "4.2.2",
+        "@tailwindcss/oxide-linux-arm64-musl": "4.2.2",
+        "@tailwindcss/oxide-linux-x64-gnu": "4.2.2",
+        "@tailwindcss/oxide-linux-x64-musl": "4.2.2",
+        "@tailwindcss/oxide-wasm32-wasi": "4.2.2",
+        "@tailwindcss/oxide-win32-arm64-msvc": "4.2.2",
+        "@tailwindcss/oxide-win32-x64-msvc": "4.2.2"
+      }
+    },
+    "node_modules/@tailwindcss/oxide-android-arm64": {
+      "version": "4.2.2",
+      "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.2.2.tgz",
+      "integrity": "sha512-dXGR1n+P3B6748jZO/SvHZq7qBOqqzQ+yFrXpoOWWALWndF9MoSKAT3Q0fYgAzYzGhxNYOoysRvYlpixRBBoDg==",
+      "cpu": [
+        "arm64"
+      ],
+      "dev": true,
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "android"
+      ],
+      "engines": {
+        "node": ">= 20"
+      }
+    },
+    "node_modules/@tailwindcss/oxide-darwin-arm64": {
+      "version": "4.2.2",
+      "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.2.2.tgz",
+      "integrity": "sha512-iq9Qjr6knfMpZHj55/37ouZeykwbDqF21gPFtfnhCCKGDcPI/21FKC9XdMO/XyBM7qKORx6UIhGgg6jLl7BZlg==",
+      "cpu": [
+        "arm64"
+      ],
+      "dev": true,
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "darwin"
+      ],
+      "engines": {
+        "node": ">= 20"
+      }
+    },
+    "node_modules/@tailwindcss/oxide-darwin-x64": {
+      "version": "4.2.2",
+      "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.2.2.tgz",
+      "integrity": "sha512-BlR+2c3nzc8f2G639LpL89YY4bdcIdUmiOOkv2GQv4/4M0vJlpXEa0JXNHhCHU7VWOKWT/CjqHdTP8aUuDJkuw==",
+      "cpu": [
+        "x64"
+      ],
+      "dev": true,
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "darwin"
+      ],
+      "engines": {
+        "node": ">= 20"
+      }
+    },
+    "node_modules/@tailwindcss/oxide-freebsd-x64": {
+      "version": "4.2.2",
+      "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.2.2.tgz",
+      "integrity": "sha512-YUqUgrGMSu2CDO82hzlQ5qSb5xmx3RUrke/QgnoEx7KvmRJHQuZHZmZTLSuuHwFf0DJPybFMXMYf+WJdxHy/nQ==",
+      "cpu": [
+        "x64"
+      ],
+      "dev": true,
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "freebsd"
+      ],
+      "engines": {
+        "node": ">= 20"
+      }
+    },
+    "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": {
+      "version": "4.2.2",
+      "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.2.2.tgz",
+      "integrity": "sha512-FPdhvsW6g06T9BWT0qTwiVZYE2WIFo2dY5aCSpjG/S/u1tby+wXoslXS0kl3/KXnULlLr1E3NPRRw0g7t2kgaQ==",
+      "cpu": [
+        "arm"
+      ],
+      "dev": true,
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">= 20"
+      }
+    },
+    "node_modules/@tailwindcss/oxide-linux-arm64-gnu": {
+      "version": "4.2.2",
+      "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.2.2.tgz",
+      "integrity": "sha512-4og1V+ftEPXGttOO7eCmW7VICmzzJWgMx+QXAJRAhjrSjumCwWqMfkDrNu1LXEQzNAwz28NCUpucgQPrR4S2yw==",
+      "cpu": [
+        "arm64"
+      ],
+      "dev": true,
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">= 20"
+      }
+    },
+    "node_modules/@tailwindcss/oxide-linux-arm64-musl": {
+      "version": "4.2.2",
+      "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.2.2.tgz",
+      "integrity": "sha512-oCfG/mS+/+XRlwNjnsNLVwnMWYH7tn/kYPsNPh+JSOMlnt93mYNCKHYzylRhI51X+TbR+ufNhhKKzm6QkqX8ag==",
+      "cpu": [
+        "arm64"
+      ],
+      "dev": true,
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">= 20"
+      }
+    },
+    "node_modules/@tailwindcss/oxide-linux-x64-gnu": {
+      "version": "4.2.2",
+      "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.2.2.tgz",
+      "integrity": "sha512-rTAGAkDgqbXHNp/xW0iugLVmX62wOp2PoE39BTCGKjv3Iocf6AFbRP/wZT/kuCxC9QBh9Pu8XPkv/zCZB2mcMg==",
+      "cpu": [
+        "x64"
+      ],
+      "dev": true,
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">= 20"
+      }
+    },
+    "node_modules/@tailwindcss/oxide-linux-x64-musl": {
+      "version": "4.2.2",
+      "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.2.2.tgz",
+      "integrity": "sha512-XW3t3qwbIwiSyRCggeO2zxe3KWaEbM0/kW9e8+0XpBgyKU4ATYzcVSMKteZJ1iukJ3HgHBjbg9P5YPRCVUxlnQ==",
+      "cpu": [
+        "x64"
+      ],
+      "dev": true,
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">= 20"
+      }
+    },
+    "node_modules/@tailwindcss/oxide-wasm32-wasi": {
+      "version": "4.2.2",
+      "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.2.2.tgz",
+      "integrity": "sha512-eKSztKsmEsn1O5lJ4ZAfyn41NfG7vzCg496YiGtMDV86jz1q/irhms5O0VrY6ZwTUkFy/EKG3RfWgxSI3VbZ8Q==",
+      "bundleDependencies": [
+        "@napi-rs/wasm-runtime",
+        "@emnapi/core",
+        "@emnapi/runtime",
+        "@tybys/wasm-util",
+        "@emnapi/wasi-threads",
+        "tslib"
+      ],
+      "cpu": [
+        "wasm32"
+      ],
+      "dev": true,
+      "license": "MIT",
+      "optional": true,
+      "dependencies": {
+        "@emnapi/core": "^1.8.1",
+        "@emnapi/runtime": "^1.8.1",
+        "@emnapi/wasi-threads": "^1.1.0",
+        "@napi-rs/wasm-runtime": "^1.1.1",
+        "@tybys/wasm-util": "^0.10.1",
+        "tslib": "^2.8.1"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@tailwindcss/oxide-win32-arm64-msvc": {
+      "version": "4.2.2",
+      "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.2.2.tgz",
+      "integrity": "sha512-qPmaQM4iKu5mxpsrWZMOZRgZv1tOZpUm+zdhhQP0VhJfyGGO3aUKdbh3gDZc/dPLQwW4eSqWGrrcWNBZWUWaXQ==",
+      "cpu": [
+        "arm64"
+      ],
+      "dev": true,
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "win32"
+      ],
+      "engines": {
+        "node": ">= 20"
+      }
+    },
+    "node_modules/@tailwindcss/oxide-win32-x64-msvc": {
+      "version": "4.2.2",
+      "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.2.2.tgz",
+      "integrity": "sha512-1T/37VvI7WyH66b+vqHj/cLwnCxt7Qt3WFu5Q8hk65aOvlwAhs7rAp1VkulBJw/N4tMirXjVnylTR72uI0HGcA==",
+      "cpu": [
+        "x64"
+      ],
+      "dev": true,
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "win32"
+      ],
+      "engines": {
+        "node": ">= 20"
+      }
+    },
+    "node_modules/@tailwindcss/vite": {
+      "version": "4.2.2",
+      "resolved": "https://registry.npmjs.org/@tailwindcss/vite/-/vite-4.2.2.tgz",
+      "integrity": "sha512-mEiF5HO1QqCLXoNEfXVA1Tzo+cYsrqV7w9Juj2wdUFyW07JRenqMG225MvPwr3ZD9N1bFQj46X7r33iHxLUW0w==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "@tailwindcss/node": "4.2.2",
+        "@tailwindcss/oxide": "4.2.2",
+        "tailwindcss": "4.2.2"
+      },
+      "peerDependencies": {
+        "vite": "^5.2.0 || ^6 || ^7 || ^8"
+      }
+    },
+    "node_modules/@tybys/wasm-util": {
+      "version": "0.10.1",
+      "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.1.tgz",
+      "integrity": "sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==",
+      "dev": true,
+      "license": "MIT",
+      "optional": true,
+      "dependencies": {
+        "tslib": "^2.4.0"
+      }
+    },
+    "node_modules/@vitejs/plugin-vue": {
+      "version": "6.0.5",
+      "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-6.0.5.tgz",
+      "integrity": "sha512-bL3AxKuQySfk1iGcBsQnoRVexTPJq0Z/ixFVM8OhVJAP6ZXXXLtM7NFKWhLl30Kg7uTBqIaPXbh+nuQCuBDedg==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "@rolldown/pluginutils": "1.0.0-rc.2"
+      },
+      "engines": {
+        "node": "^20.19.0 || >=22.12.0"
+      },
+      "peerDependencies": {
+        "vite": "^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0",
+        "vue": "^3.2.25"
+      }
+    },
+    "node_modules/@volar/language-core": {
+      "version": "2.4.28",
+      "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-2.4.28.tgz",
+      "integrity": "sha512-w4qhIJ8ZSitgLAkVay6AbcnC7gP3glYM3fYwKV3srj8m494E3xtrCv6E+bWviiK/8hs6e6t1ij1s2Endql7vzQ==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "@volar/source-map": "2.4.28"
+      }
+    },
+    "node_modules/@volar/source-map": {
+      "version": "2.4.28",
+      "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-2.4.28.tgz",
+      "integrity": "sha512-yX2BDBqJkRXfKw8my8VarTyjv48QwxdJtvRgUpNE5erCsgEUdI2DsLbpa+rOQVAJYshY99szEcRDmyHbF10ggQ==",
+      "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/@volar/typescript": {
+      "version": "2.4.28",
+      "resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-2.4.28.tgz",
+      "integrity": "sha512-Ja6yvWrbis2QtN4ClAKreeUZPVYMARDYZl9LMEv1iQ1QdepB6wn0jTRxA9MftYmYa4DQ4k/DaSZpFPUfxl8giw==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "@volar/language-core": "2.4.28",
+        "path-browserify": "^1.0.1",
+        "vscode-uri": "^3.0.8"
+      }
+    },
+    "node_modules/@vue-macros/common": {
+      "version": "3.1.2",
+      "resolved": "https://registry.npmjs.org/@vue-macros/common/-/common-3.1.2.tgz",
+      "integrity": "sha512-h9t4ArDdniO9ekYHAD95t9AZcAbb19lEGK+26iAjUODOIJKmObDNBSe4+6ELQAA3vtYiFPPBtHh7+cQCKi3Dng==",
+      "license": "MIT",
+      "dependencies": {
+        "@vue/compiler-sfc": "^3.5.22",
+        "ast-kit": "^2.1.2",
+        "local-pkg": "^1.1.2",
+        "magic-string-ast": "^1.0.2",
+        "unplugin-utils": "^0.3.0"
+      },
+      "engines": {
+        "node": ">=20.19.0"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/vue-macros"
+      },
+      "peerDependencies": {
+        "vue": "^2.7.0 || ^3.2.25"
+      },
+      "peerDependenciesMeta": {
+        "vue": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/@vue/compiler-core": {
+      "version": "3.5.30",
+      "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.30.tgz",
+      "integrity": "sha512-s3DfdZkcu/qExZ+td75015ljzHc6vE+30cFMGRPROYjqkroYI5NV2X1yAMX9UeyBNWB9MxCfPcsjpLS11nzkkw==",
+      "license": "MIT",
+      "dependencies": {
+        "@babel/parser": "^7.29.0",
+        "@vue/shared": "3.5.30",
+        "entities": "^7.0.1",
+        "estree-walker": "^2.0.2",
+        "source-map-js": "^1.2.1"
+      }
+    },
+    "node_modules/@vue/compiler-dom": {
+      "version": "3.5.30",
+      "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.30.tgz",
+      "integrity": "sha512-eCFYESUEVYHhiMuK4SQTldO3RYxyMR/UQL4KdGD1Yrkfdx4m/HYuZ9jSfPdA+nWJY34VWndiYdW/wZXyiPEB9g==",
+      "license": "MIT",
+      "dependencies": {
+        "@vue/compiler-core": "3.5.30",
+        "@vue/shared": "3.5.30"
+      }
+    },
+    "node_modules/@vue/compiler-sfc": {
+      "version": "3.5.30",
+      "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.30.tgz",
+      "integrity": "sha512-LqmFPDn89dtU9vI3wHJnwaV6GfTRD87AjWpTWpyrdVOObVtjIuSeZr181z5C4PmVx/V3j2p+0f7edFKGRMpQ5A==",
+      "license": "MIT",
+      "dependencies": {
+        "@babel/parser": "^7.29.0",
+        "@vue/compiler-core": "3.5.30",
+        "@vue/compiler-dom": "3.5.30",
+        "@vue/compiler-ssr": "3.5.30",
+        "@vue/shared": "3.5.30",
+        "estree-walker": "^2.0.2",
+        "magic-string": "^0.30.21",
+        "postcss": "^8.5.8",
+        "source-map-js": "^1.2.1"
+      }
+    },
+    "node_modules/@vue/compiler-ssr": {
+      "version": "3.5.30",
+      "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.30.tgz",
+      "integrity": "sha512-NsYK6OMTnx109PSL2IAyf62JP6EUdk4Dmj6AkWcJGBvN0dQoMYtVekAmdqgTtWQgEJo+Okstbf/1p7qZr5H+bA==",
+      "license": "MIT",
+      "dependencies": {
+        "@vue/compiler-dom": "3.5.30",
+        "@vue/shared": "3.5.30"
+      }
+    },
+    "node_modules/@vue/devtools-api": {
+      "version": "6.6.4",
+      "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.6.4.tgz",
+      "integrity": "sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==",
+      "license": "MIT"
+    },
+    "node_modules/@vue/devtools-kit": {
+      "version": "8.1.1",
+      "resolved": "https://registry.npmjs.org/@vue/devtools-kit/-/devtools-kit-8.1.1.tgz",
+      "integrity": "sha512-gVBaBv++i+adg4JpH71k9ppl4soyR7Y2McEqO5YNgv0BI1kMZ7BDX5gnwkZ5COYgiCyhejZG+yGNrBAjj6Coqg==",
+      "license": "MIT",
+      "dependencies": {
+        "@vue/devtools-shared": "^8.1.1",
+        "birpc": "^2.6.1",
+        "hookable": "^5.5.3",
+        "perfect-debounce": "^2.0.0"
+      }
+    },
+    "node_modules/@vue/devtools-shared": {
+      "version": "8.1.1",
+      "resolved": "https://registry.npmjs.org/@vue/devtools-shared/-/devtools-shared-8.1.1.tgz",
+      "integrity": "sha512-+h4ttmJYl/txpxHKaoZcaKpC+pvckgLzIDiSQlaQ7kKthKh8KuwoLW2D8hPJEnqKzXOvu15UHEoGyngAXCz0EQ==",
+      "license": "MIT"
+    },
+    "node_modules/@vue/language-core": {
+      "version": "3.2.6",
+      "resolved": "https://registry.npmjs.org/@vue/language-core/-/language-core-3.2.6.tgz",
+      "integrity": "sha512-xYYYX3/aVup576tP/23sEUpgiEnujrENaoNRbaozC1/MA9I6EGFQRJb4xrt/MmUCAGlxTKL2RmT8JLTPqagCkg==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "@volar/language-core": "2.4.28",
+        "@vue/compiler-dom": "^3.5.0",
+        "@vue/shared": "^3.5.0",
+        "alien-signals": "^3.0.0",
+        "muggle-string": "^0.4.1",
+        "path-browserify": "^1.0.1",
+        "picomatch": "^4.0.2"
+      }
+    },
+    "node_modules/@vue/reactivity": {
+      "version": "3.5.30",
+      "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.30.tgz",
+      "integrity": "sha512-179YNgKATuwj9gB+66snskRDOitDiuOZqkYia7mHKJaidOMo/WJxHKF8DuGc4V4XbYTJANlfEKb0yxTQotnx4Q==",
+      "license": "MIT",
+      "dependencies": {
+        "@vue/shared": "3.5.30"
+      }
+    },
+    "node_modules/@vue/runtime-core": {
+      "version": "3.5.30",
+      "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.30.tgz",
+      "integrity": "sha512-e0Z+8PQsUTdwV8TtEsLzUM7SzC7lQwYKePydb7K2ZnmS6jjND+WJXkmmfh/swYzRyfP1EY3fpdesyYoymCzYfg==",
+      "license": "MIT",
+      "dependencies": {
+        "@vue/reactivity": "3.5.30",
+        "@vue/shared": "3.5.30"
+      }
+    },
+    "node_modules/@vue/runtime-dom": {
+      "version": "3.5.30",
+      "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.30.tgz",
+      "integrity": "sha512-2UIGakjU4WSQ0T4iwDEW0W7vQj6n7AFn7taqZ9Cvm0Q/RA2FFOziLESrDL4GmtI1wV3jXg5nMoJSYO66egDUBw==",
+      "license": "MIT",
+      "dependencies": {
+        "@vue/reactivity": "3.5.30",
+        "@vue/runtime-core": "3.5.30",
+        "@vue/shared": "3.5.30",
+        "csstype": "^3.2.3"
+      }
+    },
+    "node_modules/@vue/server-renderer": {
+      "version": "3.5.30",
+      "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.30.tgz",
+      "integrity": "sha512-v+R34icapydRwbZRD0sXwtHqrQJv38JuMB4JxbOxd8NEpGLny7cncMp53W9UH/zo4j8eDHjQ1dEJXwzFQknjtQ==",
+      "license": "MIT",
+      "dependencies": {
+        "@vue/compiler-ssr": "3.5.30",
+        "@vue/shared": "3.5.30"
+      },
+      "peerDependencies": {
+        "vue": "3.5.30"
+      }
+    },
+    "node_modules/@vue/shared": {
+      "version": "3.5.30",
+      "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.30.tgz",
+      "integrity": "sha512-YXgQ7JjaO18NeK2K9VTbDHaFy62WrObMa6XERNfNOkAhD1F1oDSf3ZJ7K6GqabZ0BvSDHajp8qfS5Sa2I9n8uQ==",
+      "license": "MIT"
+    },
+    "node_modules/acorn": {
+      "version": "8.16.0",
+      "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz",
+      "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==",
+      "license": "MIT",
+      "bin": {
+        "acorn": "bin/acorn"
+      },
+      "engines": {
+        "node": ">=0.4.0"
+      }
+    },
+    "node_modules/alien-signals": {
+      "version": "3.1.2",
+      "resolved": "https://registry.npmjs.org/alien-signals/-/alien-signals-3.1.2.tgz",
+      "integrity": "sha512-d9dYqZTS90WLiU0I5c6DHj/HcKkF8ZyGN3G5x8wSbslulz70KOxaqCT0hQCo9KOyhVqzqGojvNdJXoTumZOtcw==",
+      "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/ast-kit": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/ast-kit/-/ast-kit-2.2.0.tgz",
+      "integrity": "sha512-m1Q/RaVOnTp9JxPX+F+Zn7IcLYMzM8kZofDImfsKZd8MbR+ikdOzTeztStWqfrqIxZnYWryyI9ePm3NGjnZgGw==",
+      "license": "MIT",
+      "dependencies": {
+        "@babel/parser": "^7.28.5",
+        "pathe": "^2.0.3"
+      },
+      "engines": {
+        "node": ">=20.19.0"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sxzz"
+      }
+    },
+    "node_modules/ast-walker-scope": {
+      "version": "0.8.3",
+      "resolved": "https://registry.npmjs.org/ast-walker-scope/-/ast-walker-scope-0.8.3.tgz",
+      "integrity": "sha512-cbdCP0PGOBq0ASG+sjnKIoYkWMKhhz+F/h9pRexUdX2Hd38+WOlBkRKlqkGOSm0YQpcFMQBJeK4WspUAkwsEdg==",
+      "license": "MIT",
+      "dependencies": {
+        "@babel/parser": "^7.28.4",
+        "ast-kit": "^2.1.3"
+      },
+      "engines": {
+        "node": ">=20.19.0"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sxzz"
+      }
+    },
+    "node_modules/asynckit": {
+      "version": "0.4.0",
+      "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
+      "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==",
+      "license": "MIT"
+    },
+    "node_modules/axios": {
+      "version": "1.15.2",
+      "resolved": "https://registry.npmjs.org/axios/-/axios-1.15.2.tgz",
+      "integrity": "sha512-wLrXxPtcrPTsNlJmKjkPnNPK2Ihe0hn0wGSaTEiHRPxwjvJwT3hKmXF4dpqxmPO9SoNb2FsYXj/xEo0gHN+D5A==",
+      "license": "MIT",
+      "dependencies": {
+        "follow-redirects": "^1.15.11",
+        "form-data": "^4.0.5",
+        "proxy-from-env": "^2.1.0"
+      }
+    },
+    "node_modules/birpc": {
+      "version": "2.9.0",
+      "resolved": "https://registry.npmjs.org/birpc/-/birpc-2.9.0.tgz",
+      "integrity": "sha512-KrayHS5pBi69Xi9JmvoqrIgYGDkD6mcSe/i6YKi3w5kekCLzrX4+nawcXqrj2tIp50Kw/mT/s3p+GVK0A0sKxw==",
+      "license": "MIT",
+      "funding": {
+        "url": "https://github.com/sponsors/antfu"
+      }
+    },
+    "node_modules/call-bind-apply-helpers": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz",
+      "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==",
+      "license": "MIT",
+      "dependencies": {
+        "es-errors": "^1.3.0",
+        "function-bind": "^1.1.2"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      }
+    },
+    "node_modules/chokidar": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-5.0.0.tgz",
+      "integrity": "sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==",
+      "license": "MIT",
+      "dependencies": {
+        "readdirp": "^5.0.0"
+      },
+      "engines": {
+        "node": ">= 20.19.0"
+      },
+      "funding": {
+        "url": "https://paulmillr.com/funding/"
+      }
+    },
+    "node_modules/combined-stream": {
+      "version": "1.0.8",
+      "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
+      "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
+      "license": "MIT",
+      "dependencies": {
+        "delayed-stream": "~1.0.0"
+      },
+      "engines": {
+        "node": ">= 0.8"
+      }
+    },
+    "node_modules/confbox": {
+      "version": "0.2.4",
+      "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.2.4.tgz",
+      "integrity": "sha512-ysOGlgTFbN2/Y6Cg3Iye8YKulHw+R2fNXHrgSmXISQdMnomY6eNDprVdW9R5xBguEqI954+S6709UyiO7B+6OQ==",
+      "license": "MIT"
+    },
+    "node_modules/csstype": {
+      "version": "3.2.3",
+      "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz",
+      "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==",
+      "license": "MIT"
+    },
+    "node_modules/delayed-stream": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
+      "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
+      "license": "MIT",
+      "engines": {
+        "node": ">=0.4.0"
+      }
+    },
+    "node_modules/detect-libc": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz",
+      "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==",
+      "dev": true,
+      "license": "Apache-2.0",
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/dunder-proto": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz",
+      "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==",
+      "license": "MIT",
+      "dependencies": {
+        "call-bind-apply-helpers": "^1.0.1",
+        "es-errors": "^1.3.0",
+        "gopd": "^1.2.0"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      }
+    },
+    "node_modules/enhanced-resolve": {
+      "version": "5.20.1",
+      "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.20.1.tgz",
+      "integrity": "sha512-Qohcme7V1inbAfvjItgw0EaxVX5q2rdVEZHRBrEQdRZTssLDGsL8Lwrznl8oQ/6kuTJONLaDcGjkNP247XEhcA==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "graceful-fs": "^4.2.4",
+        "tapable": "^2.3.0"
+      },
+      "engines": {
+        "node": ">=10.13.0"
+      }
+    },
+    "node_modules/entities": {
+      "version": "7.0.1",
+      "resolved": "https://registry.npmjs.org/entities/-/entities-7.0.1.tgz",
+      "integrity": "sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA==",
+      "license": "BSD-2-Clause",
+      "engines": {
+        "node": ">=0.12"
+      },
+      "funding": {
+        "url": "https://github.com/fb55/entities?sponsor=1"
+      }
+    },
+    "node_modules/es-define-property": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz",
+      "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==",
+      "license": "MIT",
+      "engines": {
+        "node": ">= 0.4"
+      }
+    },
+    "node_modules/es-errors": {
+      "version": "1.3.0",
+      "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz",
+      "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==",
+      "license": "MIT",
+      "engines": {
+        "node": ">= 0.4"
+      }
+    },
+    "node_modules/es-object-atoms": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz",
+      "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==",
+      "license": "MIT",
+      "dependencies": {
+        "es-errors": "^1.3.0"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      }
+    },
+    "node_modules/es-set-tostringtag": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz",
+      "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==",
+      "license": "MIT",
+      "dependencies": {
+        "es-errors": "^1.3.0",
+        "get-intrinsic": "^1.2.6",
+        "has-tostringtag": "^1.0.2",
+        "hasown": "^2.0.2"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      }
+    },
+    "node_modules/estree-walker": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
+      "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==",
+      "license": "MIT"
+    },
+    "node_modules/exsolve": {
+      "version": "1.0.8",
+      "resolved": "https://registry.npmjs.org/exsolve/-/exsolve-1.0.8.tgz",
+      "integrity": "sha512-LmDxfWXwcTArk8fUEnOfSZpHOJ6zOMUJKOtFLFqJLoKJetuQG874Uc7/Kki7zFLzYybmZhp1M7+98pfMqeX8yA==",
+      "license": "MIT"
+    },
+    "node_modules/fdir": {
+      "version": "6.5.0",
+      "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz",
+      "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==",
+      "license": "MIT",
+      "engines": {
+        "node": ">=12.0.0"
+      },
+      "peerDependencies": {
+        "picomatch": "^3 || ^4"
+      },
+      "peerDependenciesMeta": {
+        "picomatch": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/follow-redirects": {
+      "version": "1.16.0",
+      "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.16.0.tgz",
+      "integrity": "sha512-y5rN/uOsadFT/JfYwhxRS5R7Qce+g3zG97+JrtFZlC9klX/W5hD7iiLzScI4nZqUS7DNUdhPgw4xI8W2LuXlUw==",
+      "funding": [
+        {
+          "type": "individual",
+          "url": "https://github.com/sponsors/RubenVerborgh"
+        }
+      ],
+      "license": "MIT",
+      "engines": {
+        "node": ">=4.0"
+      },
+      "peerDependenciesMeta": {
+        "debug": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/form-data": {
+      "version": "4.0.5",
+      "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.5.tgz",
+      "integrity": "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==",
+      "license": "MIT",
+      "dependencies": {
+        "asynckit": "^0.4.0",
+        "combined-stream": "^1.0.8",
+        "es-set-tostringtag": "^2.1.0",
+        "hasown": "^2.0.2",
+        "mime-types": "^2.1.12"
+      },
+      "engines": {
+        "node": ">= 6"
+      }
+    },
+    "node_modules/fsevents": {
+      "version": "2.3.3",
+      "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
+      "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
+      "dev": true,
+      "hasInstallScript": true,
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "darwin"
+      ],
+      "engines": {
+        "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
+      }
+    },
+    "node_modules/function-bind": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
+      "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
+      "license": "MIT",
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/get-intrinsic": {
+      "version": "1.3.0",
+      "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz",
+      "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==",
+      "license": "MIT",
+      "dependencies": {
+        "call-bind-apply-helpers": "^1.0.2",
+        "es-define-property": "^1.0.1",
+        "es-errors": "^1.3.0",
+        "es-object-atoms": "^1.1.1",
+        "function-bind": "^1.1.2",
+        "get-proto": "^1.0.1",
+        "gopd": "^1.2.0",
+        "has-symbols": "^1.1.0",
+        "hasown": "^2.0.2",
+        "math-intrinsics": "^1.1.0"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/get-proto": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz",
+      "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==",
+      "license": "MIT",
+      "dependencies": {
+        "dunder-proto": "^1.0.1",
+        "es-object-atoms": "^1.0.0"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      }
+    },
+    "node_modules/gopd": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz",
+      "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==",
+      "license": "MIT",
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/graceful-fs": {
+      "version": "4.2.11",
+      "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
+      "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
+      "dev": true,
+      "license": "ISC"
+    },
+    "node_modules/has-symbols": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz",
+      "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==",
+      "license": "MIT",
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/has-tostringtag": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz",
+      "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==",
+      "license": "MIT",
+      "dependencies": {
+        "has-symbols": "^1.0.3"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/hasown": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
+      "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
+      "license": "MIT",
+      "dependencies": {
+        "function-bind": "^1.1.2"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      }
+    },
+    "node_modules/hookable": {
+      "version": "5.5.3",
+      "resolved": "https://registry.npmjs.org/hookable/-/hookable-5.5.3.tgz",
+      "integrity": "sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==",
+      "license": "MIT"
+    },
+    "node_modules/jiti": {
+      "version": "2.6.1",
+      "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.6.1.tgz",
+      "integrity": "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==",
+      "dev": true,
+      "license": "MIT",
+      "bin": {
+        "jiti": "lib/jiti-cli.mjs"
+      }
+    },
+    "node_modules/jsesc": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz",
+      "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==",
+      "license": "MIT",
+      "bin": {
+        "jsesc": "bin/jsesc"
+      },
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/json5": {
+      "version": "2.2.3",
+      "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
+      "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
+      "license": "MIT",
+      "bin": {
+        "json5": "lib/cli.js"
+      },
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/lightningcss": {
+      "version": "1.32.0",
+      "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.32.0.tgz",
+      "integrity": "sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==",
+      "dev": true,
+      "license": "MPL-2.0",
+      "dependencies": {
+        "detect-libc": "^2.0.3"
+      },
+      "engines": {
+        "node": ">= 12.0.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/parcel"
+      },
+      "optionalDependencies": {
+        "lightningcss-android-arm64": "1.32.0",
+        "lightningcss-darwin-arm64": "1.32.0",
+        "lightningcss-darwin-x64": "1.32.0",
+        "lightningcss-freebsd-x64": "1.32.0",
+        "lightningcss-linux-arm-gnueabihf": "1.32.0",
+        "lightningcss-linux-arm64-gnu": "1.32.0",
+        "lightningcss-linux-arm64-musl": "1.32.0",
+        "lightningcss-linux-x64-gnu": "1.32.0",
+        "lightningcss-linux-x64-musl": "1.32.0",
+        "lightningcss-win32-arm64-msvc": "1.32.0",
+        "lightningcss-win32-x64-msvc": "1.32.0"
+      }
+    },
+    "node_modules/lightningcss-android-arm64": {
+      "version": "1.32.0",
+      "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.32.0.tgz",
+      "integrity": "sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==",
+      "cpu": [
+        "arm64"
+      ],
+      "dev": true,
+      "license": "MPL-2.0",
+      "optional": true,
+      "os": [
+        "android"
+      ],
+      "engines": {
+        "node": ">= 12.0.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/parcel"
+      }
+    },
+    "node_modules/lightningcss-darwin-arm64": {
+      "version": "1.32.0",
+      "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.32.0.tgz",
+      "integrity": "sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==",
+      "cpu": [
+        "arm64"
+      ],
+      "dev": true,
+      "license": "MPL-2.0",
+      "optional": true,
+      "os": [
+        "darwin"
+      ],
+      "engines": {
+        "node": ">= 12.0.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/parcel"
+      }
+    },
+    "node_modules/lightningcss-darwin-x64": {
+      "version": "1.32.0",
+      "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.32.0.tgz",
+      "integrity": "sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==",
+      "cpu": [
+        "x64"
+      ],
+      "dev": true,
+      "license": "MPL-2.0",
+      "optional": true,
+      "os": [
+        "darwin"
+      ],
+      "engines": {
+        "node": ">= 12.0.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/parcel"
+      }
+    },
+    "node_modules/lightningcss-freebsd-x64": {
+      "version": "1.32.0",
+      "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.32.0.tgz",
+      "integrity": "sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==",
+      "cpu": [
+        "x64"
+      ],
+      "dev": true,
+      "license": "MPL-2.0",
+      "optional": true,
+      "os": [
+        "freebsd"
+      ],
+      "engines": {
+        "node": ">= 12.0.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/parcel"
+      }
+    },
+    "node_modules/lightningcss-linux-arm-gnueabihf": {
+      "version": "1.32.0",
+      "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.32.0.tgz",
+      "integrity": "sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==",
+      "cpu": [
+        "arm"
+      ],
+      "dev": true,
+      "license": "MPL-2.0",
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">= 12.0.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/parcel"
+      }
+    },
+    "node_modules/lightningcss-linux-arm64-gnu": {
+      "version": "1.32.0",
+      "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.32.0.tgz",
+      "integrity": "sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==",
+      "cpu": [
+        "arm64"
+      ],
+      "dev": true,
+      "license": "MPL-2.0",
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">= 12.0.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/parcel"
+      }
+    },
+    "node_modules/lightningcss-linux-arm64-musl": {
+      "version": "1.32.0",
+      "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.32.0.tgz",
+      "integrity": "sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==",
+      "cpu": [
+        "arm64"
+      ],
+      "dev": true,
+      "license": "MPL-2.0",
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">= 12.0.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/parcel"
+      }
+    },
+    "node_modules/lightningcss-linux-x64-gnu": {
+      "version": "1.32.0",
+      "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.32.0.tgz",
+      "integrity": "sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==",
+      "cpu": [
+        "x64"
+      ],
+      "dev": true,
+      "license": "MPL-2.0",
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">= 12.0.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/parcel"
+      }
+    },
+    "node_modules/lightningcss-linux-x64-musl": {
+      "version": "1.32.0",
+      "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.32.0.tgz",
+      "integrity": "sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==",
+      "cpu": [
+        "x64"
+      ],
+      "dev": true,
+      "license": "MPL-2.0",
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">= 12.0.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/parcel"
+      }
+    },
+    "node_modules/lightningcss-win32-arm64-msvc": {
+      "version": "1.32.0",
+      "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.32.0.tgz",
+      "integrity": "sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==",
+      "cpu": [
+        "arm64"
+      ],
+      "dev": true,
+      "license": "MPL-2.0",
+      "optional": true,
+      "os": [
+        "win32"
+      ],
+      "engines": {
+        "node": ">= 12.0.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/parcel"
+      }
+    },
+    "node_modules/lightningcss-win32-x64-msvc": {
+      "version": "1.32.0",
+      "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.32.0.tgz",
+      "integrity": "sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==",
+      "cpu": [
+        "x64"
+      ],
+      "dev": true,
+      "license": "MPL-2.0",
+      "optional": true,
+      "os": [
+        "win32"
+      ],
+      "engines": {
+        "node": ">= 12.0.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/parcel"
+      }
+    },
+    "node_modules/local-pkg": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-1.1.2.tgz",
+      "integrity": "sha512-arhlxbFRmoQHl33a0Zkle/YWlmNwoyt6QNZEIJcqNbdrsix5Lvc4HyyI3EnwxTYlZYc32EbYrQ8SzEZ7dqgg9A==",
+      "license": "MIT",
+      "dependencies": {
+        "mlly": "^1.7.4",
+        "pkg-types": "^2.3.0",
+        "quansync": "^0.2.11"
+      },
+      "engines": {
+        "node": ">=14"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/antfu"
+      }
+    },
+    "node_modules/lucide-vue-next": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/lucide-vue-next/-/lucide-vue-next-1.0.0.tgz",
+      "integrity": "sha512-V6SPvx1IHTj/UY+FrIYWV5faISsPSb8BnWSFDxAtezWKvWc9ZZ40PDrdu1/Qb5vg4lHWr1hs1BAMGVGm6V1Xdg==",
+      "dev": true,
+      "license": "ISC",
+      "peerDependencies": {
+        "vue": ">=3.0.1"
+      }
+    },
+    "node_modules/magic-string": {
+      "version": "0.30.21",
+      "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz",
+      "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==",
+      "license": "MIT",
+      "dependencies": {
+        "@jridgewell/sourcemap-codec": "^1.5.5"
+      }
+    },
+    "node_modules/magic-string-ast": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/magic-string-ast/-/magic-string-ast-1.0.3.tgz",
+      "integrity": "sha512-CvkkH1i81zl7mmb94DsRiFeG9V2fR2JeuK8yDgS8oiZSFa++wWLEgZ5ufEOyLHbvSbD1gTRKv9NdX69Rnvr9JA==",
+      "license": "MIT",
+      "dependencies": {
+        "magic-string": "^0.30.19"
+      },
+      "engines": {
+        "node": ">=20.19.0"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sxzz"
+      }
+    },
+    "node_modules/math-intrinsics": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz",
+      "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==",
+      "license": "MIT",
+      "engines": {
+        "node": ">= 0.4"
+      }
+    },
+    "node_modules/mime-db": {
+      "version": "1.52.0",
+      "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
+      "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
+      "license": "MIT",
+      "engines": {
+        "node": ">= 0.6"
+      }
+    },
+    "node_modules/mime-types": {
+      "version": "2.1.35",
+      "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
+      "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
+      "license": "MIT",
+      "dependencies": {
+        "mime-db": "1.52.0"
+      },
+      "engines": {
+        "node": ">= 0.6"
+      }
+    },
+    "node_modules/mlly": {
+      "version": "1.8.2",
+      "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.8.2.tgz",
+      "integrity": "sha512-d+ObxMQFmbt10sretNDytwt85VrbkhhUA/JBGm1MPaWJ65Cl4wOgLaB1NYvJSZ0Ef03MMEU/0xpPMXUIQ29UfA==",
+      "license": "MIT",
+      "dependencies": {
+        "acorn": "^8.16.0",
+        "pathe": "^2.0.3",
+        "pkg-types": "^1.3.1",
+        "ufo": "^1.6.3"
+      }
+    },
+    "node_modules/mlly/node_modules/confbox": {
+      "version": "0.1.8",
+      "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.1.8.tgz",
+      "integrity": "sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==",
+      "license": "MIT"
+    },
+    "node_modules/mlly/node_modules/pkg-types": {
+      "version": "1.3.1",
+      "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.3.1.tgz",
+      "integrity": "sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==",
+      "license": "MIT",
+      "dependencies": {
+        "confbox": "^0.1.8",
+        "mlly": "^1.7.4",
+        "pathe": "^2.0.1"
+      }
+    },
+    "node_modules/muggle-string": {
+      "version": "0.4.1",
+      "resolved": "https://registry.npmjs.org/muggle-string/-/muggle-string-0.4.1.tgz",
+      "integrity": "sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==",
+      "license": "MIT"
+    },
+    "node_modules/nanoid": {
+      "version": "3.3.11",
+      "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz",
+      "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==",
+      "funding": [
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/ai"
+        }
+      ],
+      "license": "MIT",
+      "bin": {
+        "nanoid": "bin/nanoid.cjs"
+      },
+      "engines": {
+        "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
+      }
+    },
+    "node_modules/path-browserify": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz",
+      "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==",
+      "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/pathe": {
+      "version": "2.0.3",
+      "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz",
+      "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==",
+      "license": "MIT"
+    },
+    "node_modules/perfect-debounce": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/perfect-debounce/-/perfect-debounce-2.1.0.tgz",
+      "integrity": "sha512-LjgdTytVFXeUgtHZr9WYViYSM/g8MkcTPYDlPa3cDqMirHjKiSZPYd6DoL7pK8AJQr+uWkQvCjHNdiMqsrJs+g==",
+      "license": "MIT"
+    },
+    "node_modules/picocolors": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
+      "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
+      "license": "ISC"
+    },
+    "node_modules/picomatch": {
+      "version": "4.0.4",
+      "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz",
+      "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==",
+      "license": "MIT",
+      "engines": {
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/jonschlinkert"
+      }
+    },
+    "node_modules/pkg-types": {
+      "version": "2.3.0",
+      "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-2.3.0.tgz",
+      "integrity": "sha512-SIqCzDRg0s9npO5XQ3tNZioRY1uK06lA41ynBC1YmFTmnY6FjUjVt6s4LoADmwoig1qqD0oK8h1p/8mlMx8Oig==",
+      "license": "MIT",
+      "dependencies": {
+        "confbox": "^0.2.2",
+        "exsolve": "^1.0.7",
+        "pathe": "^2.0.3"
+      }
+    },
+    "node_modules/postcss": {
+      "version": "8.5.14",
+      "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.14.tgz",
+      "integrity": "sha512-SoSL4+OSEtR99LHFZQiJLkT59C5B1amGO1NzTwj7TT1qCUgUO6hxOvzkOYxD+vMrXBM3XJIKzokoERdqQq/Zmg==",
+      "funding": [
+        {
+          "type": "opencollective",
+          "url": "https://opencollective.com/postcss/"
+        },
+        {
+          "type": "tidelift",
+          "url": "https://tidelift.com/funding/github/npm/postcss"
+        },
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/ai"
+        }
+      ],
+      "license": "MIT",
+      "dependencies": {
+        "nanoid": "^3.3.11",
+        "picocolors": "^1.1.1",
+        "source-map-js": "^1.2.1"
+      },
+      "engines": {
+        "node": "^10 || ^12 || >=14"
+      }
+    },
+    "node_modules/proxy-from-env": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-2.1.0.tgz",
+      "integrity": "sha512-cJ+oHTW1VAEa8cJslgmUZrc+sjRKgAKl3Zyse6+PV38hZe/V6Z14TbCuXcan9F9ghlz4QrFr2c92TNF82UkYHA==",
+      "license": "MIT",
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/quansync": {
+      "version": "0.2.11",
+      "resolved": "https://registry.npmjs.org/quansync/-/quansync-0.2.11.tgz",
+      "integrity": "sha512-AifT7QEbW9Nri4tAwR5M/uzpBuqfZf+zwaEM/QkzEjj7NBuFD2rBuy0K3dE+8wltbezDV7JMA0WfnCPYRSYbXA==",
+      "funding": [
+        {
+          "type": "individual",
+          "url": "https://github.com/sponsors/antfu"
+        },
+        {
+          "type": "individual",
+          "url": "https://github.com/sponsors/sxzz"
+        }
+      ],
+      "license": "MIT"
+    },
+    "node_modules/readdirp": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-5.0.0.tgz",
+      "integrity": "sha512-9u/XQ1pvrQtYyMpZe7DXKv2p5CNvyVwzUB6uhLAnQwHMSgKMBR62lc7AHljaeteeHXn11XTAaLLUVZYVZyuRBQ==",
+      "license": "MIT",
+      "engines": {
+        "node": ">= 20.19.0"
+      },
+      "funding": {
+        "type": "individual",
+        "url": "https://paulmillr.com/funding/"
+      }
+    },
+    "node_modules/rolldown": {
+      "version": "1.0.0-rc.15",
+      "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.0.0-rc.15.tgz",
+      "integrity": "sha512-Ff31guA5zT6WjnGp0SXw76X6hzGRk/OQq2hE+1lcDe+lJdHSgnSX6nK3erbONHyCbpSj9a9E+uX/OvytZoWp2g==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "@oxc-project/types": "=0.124.0",
+        "@rolldown/pluginutils": "1.0.0-rc.15"
+      },
+      "bin": {
+        "rolldown": "bin/cli.mjs"
+      },
+      "engines": {
+        "node": "^20.19.0 || >=22.12.0"
+      },
+      "optionalDependencies": {
+        "@rolldown/binding-android-arm64": "1.0.0-rc.15",
+        "@rolldown/binding-darwin-arm64": "1.0.0-rc.15",
+        "@rolldown/binding-darwin-x64": "1.0.0-rc.15",
+        "@rolldown/binding-freebsd-x64": "1.0.0-rc.15",
+        "@rolldown/binding-linux-arm-gnueabihf": "1.0.0-rc.15",
+        "@rolldown/binding-linux-arm64-gnu": "1.0.0-rc.15",
+        "@rolldown/binding-linux-arm64-musl": "1.0.0-rc.15",
+        "@rolldown/binding-linux-ppc64-gnu": "1.0.0-rc.15",
+        "@rolldown/binding-linux-s390x-gnu": "1.0.0-rc.15",
+        "@rolldown/binding-linux-x64-gnu": "1.0.0-rc.15",
+        "@rolldown/binding-linux-x64-musl": "1.0.0-rc.15",
+        "@rolldown/binding-openharmony-arm64": "1.0.0-rc.15",
+        "@rolldown/binding-wasm32-wasi": "1.0.0-rc.15",
+        "@rolldown/binding-win32-arm64-msvc": "1.0.0-rc.15",
+        "@rolldown/binding-win32-x64-msvc": "1.0.0-rc.15"
+      }
+    },
+    "node_modules/rolldown/node_modules/@rolldown/pluginutils": {
+      "version": "1.0.0-rc.15",
+      "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-rc.15.tgz",
+      "integrity": "sha512-UromN0peaE53IaBRe9W7CjrZgXl90fqGpK+mIZbA3qSTeYqg3pqpROBdIPvOG3F5ereDHNwoHBI2e50n1BDr1g==",
+      "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/scule": {
+      "version": "1.3.0",
+      "resolved": "https://registry.npmjs.org/scule/-/scule-1.3.0.tgz",
+      "integrity": "sha512-6FtHJEvt+pVMIB9IBY+IcCJ6Z5f1iQnytgyfKMhDKgmzYG+TeH/wx1y3l27rshSbLiSanrR9ffZDrEsmjlQF2g==",
+      "license": "MIT"
+    },
+    "node_modules/source-map-js": {
+      "version": "1.2.1",
+      "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
+      "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==",
+      "license": "BSD-3-Clause",
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/tailwindcss": {
+      "version": "4.2.2",
+      "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.2.2.tgz",
+      "integrity": "sha512-KWBIxs1Xb6NoLdMVqhbhgwZf2PGBpPEiwOqgI4pFIYbNTfBXiKYyWoTsXgBQ9WFg/OlhnvHaY+AEpW7wSmFo2Q==",
+      "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/tapable": {
+      "version": "2.3.2",
+      "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.2.tgz",
+      "integrity": "sha512-1MOpMXuhGzGL5TTCZFItxCc0AARf1EZFQkGqMm7ERKj8+Hgr5oLvJOVFcC+lRmR8hCe2S3jC4T5D7Vg/d7/fhA==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">=6"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/webpack"
+      }
+    },
+    "node_modules/tinyglobby": {
+      "version": "0.2.15",
+      "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz",
+      "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==",
+      "license": "MIT",
+      "dependencies": {
+        "fdir": "^6.5.0",
+        "picomatch": "^4.0.3"
+      },
+      "engines": {
+        "node": ">=12.0.0"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/SuperchupuDev"
+      }
+    },
+    "node_modules/tslib": {
+      "version": "2.8.1",
+      "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
+      "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
+      "dev": true,
+      "license": "0BSD",
+      "optional": true
+    },
+    "node_modules/typescript": {
+      "version": "6.0.3",
+      "resolved": "https://registry.npmjs.org/typescript/-/typescript-6.0.3.tgz",
+      "integrity": "sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==",
+      "devOptional": true,
+      "license": "Apache-2.0",
+      "bin": {
+        "tsc": "bin/tsc",
+        "tsserver": "bin/tsserver"
+      },
+      "engines": {
+        "node": ">=14.17"
+      }
+    },
+    "node_modules/ufo": {
+      "version": "1.6.3",
+      "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.6.3.tgz",
+      "integrity": "sha512-yDJTmhydvl5lJzBmy/hyOAA0d+aqCBuwl818haVdYCRrWV84o7YyeVm4QlVHStqNrrJSTb6jKuFAVqAFsr+K3Q==",
+      "license": "MIT"
+    },
+    "node_modules/unplugin": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-3.0.0.tgz",
+      "integrity": "sha512-0Mqk3AT2TZCXWKdcoaufeXNukv2mTrEZExeXlHIOZXdqYoHHr4n51pymnwV8x2BOVxwXbK2HLlI7usrqMpycdg==",
+      "license": "MIT",
+      "dependencies": {
+        "@jridgewell/remapping": "^2.3.5",
+        "picomatch": "^4.0.3",
+        "webpack-virtual-modules": "^0.6.2"
+      },
+      "engines": {
+        "node": "^20.19.0 || >=22.12.0"
+      }
+    },
+    "node_modules/unplugin-utils": {
+      "version": "0.3.1",
+      "resolved": "https://registry.npmjs.org/unplugin-utils/-/unplugin-utils-0.3.1.tgz",
+      "integrity": "sha512-5lWVjgi6vuHhJ526bI4nlCOmkCIF3nnfXkCMDeMJrtdvxTs6ZFCM8oNufGTsDbKv/tJ/xj8RpvXjRuPBZJuJog==",
+      "license": "MIT",
+      "dependencies": {
+        "pathe": "^2.0.3",
+        "picomatch": "^4.0.3"
+      },
+      "engines": {
+        "node": ">=20.19.0"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sxzz"
+      }
+    },
+    "node_modules/vite": {
+      "version": "8.0.8",
+      "resolved": "https://registry.npmjs.org/vite/-/vite-8.0.8.tgz",
+      "integrity": "sha512-dbU7/iLVa8KZALJyLOBOQ88nOXtNG8vxKuOT4I2mD+Ya70KPceF4IAmDsmU0h1Qsn5bPrvsY9HJstCRh3hG6Uw==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "lightningcss": "^1.32.0",
+        "picomatch": "^4.0.4",
+        "postcss": "^8.5.8",
+        "rolldown": "1.0.0-rc.15",
+        "tinyglobby": "^0.2.15"
+      },
+      "bin": {
+        "vite": "bin/vite.js"
+      },
+      "engines": {
+        "node": "^20.19.0 || >=22.12.0"
+      },
+      "funding": {
+        "url": "https://github.com/vitejs/vite?sponsor=1"
+      },
+      "optionalDependencies": {
+        "fsevents": "~2.3.3"
+      },
+      "peerDependencies": {
+        "@types/node": "^20.19.0 || >=22.12.0",
+        "@vitejs/devtools": "^0.1.0",
+        "esbuild": "^0.27.0 || ^0.28.0",
+        "jiti": ">=1.21.0",
+        "less": "^4.0.0",
+        "sass": "^1.70.0",
+        "sass-embedded": "^1.70.0",
+        "stylus": ">=0.54.8",
+        "sugarss": "^5.0.0",
+        "terser": "^5.16.0",
+        "tsx": "^4.8.1",
+        "yaml": "^2.4.2"
+      },
+      "peerDependenciesMeta": {
+        "@types/node": {
+          "optional": true
+        },
+        "@vitejs/devtools": {
+          "optional": true
+        },
+        "esbuild": {
+          "optional": true
+        },
+        "jiti": {
+          "optional": true
+        },
+        "less": {
+          "optional": true
+        },
+        "sass": {
+          "optional": true
+        },
+        "sass-embedded": {
+          "optional": true
+        },
+        "stylus": {
+          "optional": true
+        },
+        "sugarss": {
+          "optional": true
+        },
+        "terser": {
+          "optional": true
+        },
+        "tsx": {
+          "optional": true
+        },
+        "yaml": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/vscode-uri": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.1.0.tgz",
+      "integrity": "sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==",
+      "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/vue": {
+      "version": "3.5.30",
+      "resolved": "https://registry.npmjs.org/vue/-/vue-3.5.30.tgz",
+      "integrity": "sha512-hTHLc6VNZyzzEH/l7PFGjpcTvUgiaPK5mdLkbjrTeWSRcEfxFrv56g/XckIYlE9ckuobsdwqd5mk2g1sBkMewg==",
+      "license": "MIT",
+      "dependencies": {
+        "@vue/compiler-dom": "3.5.30",
+        "@vue/compiler-sfc": "3.5.30",
+        "@vue/runtime-dom": "3.5.30",
+        "@vue/server-renderer": "3.5.30",
+        "@vue/shared": "3.5.30"
+      },
+      "peerDependencies": {
+        "typescript": "*"
+      },
+      "peerDependenciesMeta": {
+        "typescript": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/vue-i18n": {
+      "version": "11.3.0",
+      "resolved": "https://registry.npmjs.org/vue-i18n/-/vue-i18n-11.3.0.tgz",
+      "integrity": "sha512-1J+xDfDJTLhDxElkd3+XUhT7FYSZd2b8pa7IRKGxhWH/8yt6PTvi3xmWhGwhYT5EaXdatui11pF2R6tL73/zPA==",
+      "license": "MIT",
+      "dependencies": {
+        "@intlify/core-base": "11.3.0",
+        "@intlify/devtools-types": "11.3.0",
+        "@intlify/shared": "11.3.0",
+        "@vue/devtools-api": "^6.5.0"
+      },
+      "engines": {
+        "node": ">= 16"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/kazupon"
+      },
+      "peerDependencies": {
+        "vue": "^3.0.0"
+      }
+    },
+    "node_modules/vue-router": {
+      "version": "5.0.4",
+      "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-5.0.4.tgz",
+      "integrity": "sha512-lCqDLCI2+fKVRl2OzXuzdSWmxXFLQRxQbmHugnRpTMyYiT+hNaycV0faqG5FBHDXoYrZ6MQcX87BvbY8mQ20Bg==",
+      "license": "MIT",
+      "dependencies": {
+        "@babel/generator": "^7.28.6",
+        "@vue-macros/common": "^3.1.1",
+        "@vue/devtools-api": "^8.0.6",
+        "ast-walker-scope": "^0.8.3",
+        "chokidar": "^5.0.0",
+        "json5": "^2.2.3",
+        "local-pkg": "^1.1.2",
+        "magic-string": "^0.30.21",
+        "mlly": "^1.8.0",
+        "muggle-string": "^0.4.1",
+        "pathe": "^2.0.3",
+        "picomatch": "^4.0.3",
+        "scule": "^1.3.0",
+        "tinyglobby": "^0.2.15",
+        "unplugin": "^3.0.0",
+        "unplugin-utils": "^0.3.1",
+        "yaml": "^2.8.2"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/posva"
+      },
+      "peerDependencies": {
+        "@pinia/colada": ">=0.21.2",
+        "@vue/compiler-sfc": "^3.5.17",
+        "pinia": "^3.0.4",
+        "vue": "^3.5.0"
+      },
+      "peerDependenciesMeta": {
+        "@pinia/colada": {
+          "optional": true
+        },
+        "@vue/compiler-sfc": {
+          "optional": true
+        },
+        "pinia": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/vue-router/node_modules/@vue/devtools-api": {
+      "version": "8.1.1",
+      "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-8.1.1.tgz",
+      "integrity": "sha512-bsDMJ07b3GN1puVwJb/fyFnj/U2imyswK5UQVLZwVl7O05jDrt6BHxeG5XffmOOdasOj/bOmIjxJvGPxU7pcqw==",
+      "license": "MIT",
+      "dependencies": {
+        "@vue/devtools-kit": "^8.1.1"
+      }
+    },
+    "node_modules/vue-tsc": {
+      "version": "3.2.6",
+      "resolved": "https://registry.npmjs.org/vue-tsc/-/vue-tsc-3.2.6.tgz",
+      "integrity": "sha512-gYW/kWI0XrwGzd0PKc7tVB/qpdeAkIZLNZb10/InizkQjHjnT8weZ/vBarZoj4kHKbUTZT/bAVgoOr8x4NsQ/Q==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "@volar/typescript": "2.4.28",
+        "@vue/language-core": "3.2.6"
+      },
+      "bin": {
+        "vue-tsc": "bin/vue-tsc.js"
+      },
+      "peerDependencies": {
+        "typescript": ">=5.0.0"
+      }
+    },
+    "node_modules/webpack-virtual-modules": {
+      "version": "0.6.2",
+      "resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.6.2.tgz",
+      "integrity": "sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==",
+      "license": "MIT"
+    },
+    "node_modules/yaml": {
+      "version": "2.8.3",
+      "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.3.tgz",
+      "integrity": "sha512-AvbaCLOO2Otw/lW5bmh9d/WEdcDFdQp2Z2ZUH3pX9U2ihyUY0nvLv7J6TrWowklRGPYbB/IuIMfYgxaCPg5Bpg==",
+      "license": "ISC",
+      "bin": {
+        "yaml": "bin.mjs"
+      },
+      "engines": {
+        "node": ">= 14.6"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/eemeli"
+      }
+    },
+    "node_modules/yarn": {
+      "version": "1.22.22",
+      "resolved": "https://registry.npmjs.org/yarn/-/yarn-1.22.22.tgz",
+      "integrity": "sha512-prL3kGtyG7o9Z9Sv8IPfBNrWTDmXB4Qbes8A9rEzt6wkJV8mUvoirjU0Mp3GGAU06Y0XQyA3/2/RQFVuK7MTfg==",
+      "hasInstallScript": true,
+      "license": "BSD-2-Clause",
+      "bin": {
+        "yarn": "bin/yarn.js",
+        "yarnpkg": "bin/yarn.js"
+      },
+      "engines": {
+        "node": ">=4.0.0"
+      }
+    }
+  }
+}
diff --git a/rootfs/web/package.json b/rootfs/web/package.json
index 65085d3..82a5d5e 100644
--- a/rootfs/web/package.json
+++ b/rootfs/web/package.json
@@ -1,21 +1,27 @@
 {
   "name": "web",
   "version": "0.0.0",
+  "license": "Apache-2.0",
   "scripts": {
     "dev": "vite",
     "build": "vite build",
     "serve": "vite preview"
   },
   "dependencies": {
-    "vue": "^3.0.5",
-    "axios": "^0.21.1",
-    "vant": "^3.0.17",
-    "vue-i18n": "^9.0.0-alpha.16",
-    "vue-router": "^4.0.0-rc.1"
+    "axios": "^1.15.2",
+    "vue": "^3.5.30",
+    "vue-i18n": "^11.3.0",
+    "vue-router": "^5.0.4",
+    "yarn": "^1.22.22"
   },
   "devDependencies": {
-    "@vitejs/plugin-vue": "^1.3.0",
-    "@vue/compiler-sfc": "^3.0.5",
-    "vite": "^2.4.4"
+    "@tailwindcss/vite": "^4.2.2",
+    "@vitejs/plugin-vue": "^6.0.5",
+    "@vue/compiler-sfc": "^3.5.30",
+    "lucide-vue-next": "^1.0.0",
+    "tailwindcss": "^4.2.2",
+    "typescript": "^6.0.3",
+    "vite": "^8.0.8",
+    "vue-tsc": "^3.2.6"
   }
-}
\ No newline at end of file
+}
diff --git a/rootfs/web/src/.env b/rootfs/web/src/.env
deleted file mode 100644
index cba474f..0000000
--- a/rootfs/web/src/.env
+++ /dev/null
@@ -1 +0,0 @@
-VITE_APP_BASE_API=/
\ No newline at end of file
diff --git a/rootfs/web/src/assets/bashboard.css b/rootfs/web/src/assets/bashboard.css
deleted file mode 100644
index 2622238..0000000
--- a/rootfs/web/src/assets/bashboard.css
+++ /dev/null
@@ -1,16106 +0,0 @@
-@charset "UTF-8";
-
-.checkbox-inline, .img-thumbnail, .list-inline > li, .radio-inline, audio, canvas, label, progress, video {
-    display: inline-block
-}
-
-.label, audio, canvas, progress, sub, sup, video {
-    vertical-align: baseline
-}
-
-.btn, .btn-group, .btn-group-vertical, .caret, .checkbox-inline, .input-group-addon, .input-group-btn, .radio-inline, img {
-    vertical-align: middle
-}
-
-hr, img {
-    border: 0
-}
-
-html {
-    font-family: sans-serif;
-    -ms-text-size-adjust: 100%;
-    -webkit-text-size-adjust: 100%
-}
-
-article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
-    display: block
-}
-
-audio:not([controls]) {
-    display: none;
-    height: 0
-}
-
-[hidden], template {
-    display: none
-}
-
-a {
-    background-color: transparent;
-    color: #79589F;
-    text-decoration: none
-}
-
-a:active, a:hover {
-    outline: 0
-}
-
-b, optgroup, strong {
-    font-weight: 700
-}
-
-dfn {
-    font-style: italic
-}
-
-h1 {
-    margin: .67em 0
-}
-
-mark {
-    background: #ff0;
-    color: #000
-}
-
-.img-thumbnail, body {
-    background-color: #fff
-}
-
-sub, sup {
-    font-size: 75%;
-    line-height: 0;
-    position: relative
-}
-
-sup {
-    top: -.5em
-}
-
-sub {
-    bottom: -.25em
-}
-
-svg:not(:root) {
-    overflow: hidden
-}
-
-hr {
-    box-sizing: content-box;
-    height: 0
-}
-
-pre, textarea {
-    overflow: auto
-}
-
-code, kbd, pre, samp {
-    font-size: 1em
-}
-
-button, input, optgroup, select, textarea {
-    color: inherit;
-    font: inherit;
-    margin: 0
-}
-
-button {
-    overflow: visible
-}
-
-button, select {
-    text-transform: none
-}
-
-button, html input[type=button], input[type=reset], input[type=submit] {
-    -webkit-appearance: button;
-    cursor: pointer
-}
-
-button[disabled], html input[disabled] {
-    cursor: default
-}
-
-button::-moz-focus-inner, input::-moz-focus-inner {
-    border: 0;
-    padding: 0
-}
-
-input[type=checkbox], input[type=radio] {
-    box-sizing: border-box;
-    padding: 0
-}
-
-input[type=number]::-webkit-inner-spin-button, input[type=number]::-webkit-outer-spin-button {
-    height: auto
-}
-
-input[type=search]::-webkit-search-cancel-button, input[type=search]::-webkit-search-decoration {
-    -webkit-appearance: none
-}
-
-td, th {
-    padding: 0
-}
-
-*, :after, :before {
-    -webkit-box-sizing: border-box;
-    -moz-box-sizing: border-box;
-    box-sizing: border-box
-}
-
-html {
-    font-size: 10px;
-    -webkit-tap-highlight-color: transparent
-}
-
-body {
-    margin: 0;
-    font-size: 14px;
-    line-height: 1.42857;
-    color: #3F3F44
-}
-
-button, input, select, textarea {
-    font-family: inherit;
-    font-size: inherit;
-    line-height: inherit
-}
-
-a:focus {
-    outline: -webkit-focus-ring-color auto 5px;
-    outline-offset: -2px
-}
-
-figure {
-    margin: 0
-}
-
-.img-responsive {
-    display: block;
-    max-width: 100%;
-    height: auto
-}
-
-.img-rounded {
-    border-radius: 6px
-}
-
-.img-thumbnail {
-    padding: 4px;
-    line-height: 1.42857;
-    border: 1px solid #ddd;
-    border-radius: 4px;
-    -webkit-transition: all .2s ease-in-out;
-    -o-transition: all .2s ease-in-out;
-    transition: all .2s ease-in-out;
-    max-width: 100%;
-    height: auto
-}
-
-.img-circle {
-    border-radius: 50%
-}
-
-hr {
-    margin-top: 20px;
-    margin-bottom: 20px;
-    border-top: 1px solid #EEF1F6
-}
-
-.sr-only, .two-factor-required label {
-    position: absolute;
-    width: 1px;
-    height: 1px;
-    margin: -1px;
-    padding: 0;
-    overflow: hidden;
-    clip: rect(0, 0, 0, 0);
-    border: 0
-}
-
-.sr-only-focusable:active, .sr-only-focusable:focus {
-    position: static;
-    width: auto;
-    height: auto;
-    margin: 0;
-    overflow: visible;
-    clip: auto
-}
-
-[role=button] {
-    cursor: pointer
-}
-
-.dyno-tier-picker-item-size-name, .panel-section .panel-title, .pipeline-dropdown .dropdown-menu-scroll > li .btn-link, .pipeline-dropdown > li .btn-link, h1, h2, h3, h4, h5, h6 {
-    font-family: inherit;
-    font-weight: 200;
-    line-height: 1.1;
-    color: #79589F
-}
-
-.dyno-tier-picker-item-size-name .panel-section .panel-details, .dyno-tier-picker-item-size-name .small, .dyno-tier-picker-item-size-name small, .panel-section .dyno-tier-picker-item-size-name .panel-details, .panel-section .panel-title .panel-details, .panel-section .panel-title .small, .panel-section .panel-title small, .panel-section .pipeline-dropdown .dropdown-menu-scroll > li .btn-link .panel-details, .panel-section .pipeline-dropdown > li .btn-link .panel-details, .panel-section h1 .panel-details, .panel-section h2 .panel-details, .panel-section h3 .panel-details, .panel-section h4 .panel-details, .panel-section h5 .panel-details, .panel-section h6 .panel-details, .pipeline-dropdown .dropdown-menu-scroll > li .btn-link .panel-section .panel-details, .pipeline-dropdown .dropdown-menu-scroll > li .btn-link .small, .pipeline-dropdown .dropdown-menu-scroll > li .btn-link small, .pipeline-dropdown > li .btn-link .panel-section .panel-details, .pipeline-dropdown > li .btn-link .small, .pipeline-dropdown > li .btn-link small, h1 .panel-section .panel-details, h1 .small, h1 small, h2 .panel-section .panel-details, h2 .small, h2 small, h3 .panel-section .panel-details, h3 .small, h3 small, h4 .panel-section .panel-details, h4 .small, h4 small, h5 .panel-section .panel-details, h5 .small, h5 small, h6 .panel-section .panel-details, h6 .small, h6 small {
-    font-weight: 400;
-    line-height: 1;
-    color: #96A3B6
-}
-
-h1, h2, h3 {
-    margin-top: 20px;
-    margin-bottom: 10px
-}
-
-.panel-section h1 .panel-details, .panel-section h2 .panel-details, .panel-section h3 .panel-details, h1 .panel-section .panel-details, h1 .small, h1 small, h2 .panel-section .panel-details, h2 .small, h2 small, h3 .panel-section .panel-details, h3 .small, h3 small {
-    font-size: 65%
-}
-
-.dyno-tier-picker-item-size-name .panel-section .panel-details, .dyno-tier-picker-item-size-name .small, .dyno-tier-picker-item-size-name small, .label, .panel-section .dyno-tier-picker-item-size-name .panel-details, .panel-section .panel-title .panel-details, .panel-section .panel-title .small, .panel-section .panel-title small, .panel-section .pipeline-dropdown .dropdown-menu-scroll > li .btn-link .panel-details, .panel-section .pipeline-dropdown > li .btn-link .panel-details, .panel-section h4 .panel-details, .panel-section h5 .panel-details, .panel-section h6 .panel-details, .pipeline-dropdown .dropdown-menu-scroll > li .btn-link .panel-section .panel-details, .pipeline-dropdown .dropdown-menu-scroll > li .btn-link .small, .pipeline-dropdown .dropdown-menu-scroll > li .btn-link small, .pipeline-dropdown > li .btn-link .panel-section .panel-details, .pipeline-dropdown > li .btn-link .small, .pipeline-dropdown > li .btn-link small, h4 .panel-section .panel-details, h4 .small, h4 small, h5 .panel-section .panel-details, h5 .small, h5 small, h6 .panel-section .panel-details, h6 .small, h6 small {
-    font-size: 75%
-}
-
-.dyno-tier-picker-item-size-name, .panel-section .panel-title, .pipeline-dropdown .dropdown-menu-scroll > li .btn-link, .pipeline-dropdown > li .btn-link, h4, h5, h6 {
-    margin-top: 10px;
-    margin-bottom: 10px
-}
-
-h1 {
-    font-size: 36px
-}
-
-h2 {
-    font-size: 30px
-}
-
-h3 {
-    font-size: 24px
-}
-
-h5 {
-    font-size: 14px
-}
-
-.pipeline-dropdown .dropdown-menu-scroll > li .btn-link, .pipeline-dropdown > li .btn-link, h6 {
-    font-size: 12px
-}
-
-.panel-section .panel-details, p {
-    margin: 0 0 10px
-}
-
-.error-text .panel-section .panel-details:first-of-type, .error-text p:first-of-type, .lead, .panel-section .error-text .panel-details:first-of-type {
-    margin-bottom: 20px;
-    font-size: 16px;
-    font-weight: 300;
-    line-height: 1.4
-}
-
-.badge, .close, .label, dt, kbd kbd {
-    font-weight: 700
-}
-
-@media (min-width: 768px) {
-    .error-text .panel-section .panel-details:first-of-type, .error-text p:first-of-type, .lead, .panel-section .error-text .panel-details:first-of-type {
-        font-size: 21px
-    }
-}
-
-.panel-section .panel-details, .small, small {
-    font-size: 85%
-}
-
-.mark, mark {
-    background-color: #fffaf6;
-    padding: .2em
-}
-
-.text-left {
-    text-align: left
-}
-
-.text-right {
-    text-align: right
-}
-
-.text-center {
-    text-align: center
-}
-
-.text-justify {
-    text-align: justify
-}
-
-.text-nowrap {
-    white-space: nowrap
-}
-
-.text-lowercase {
-    text-transform: lowercase
-}
-
-.initialism, .text-uppercase {
-    text-transform: uppercase
-}
-
-.text-capitalize {
-    text-transform: capitalize
-}
-
-.text-muted {
-    color: #CFD7E6
-}
-
-.text-primary {
-    color: #79589F
-}
-
-a.text-primary:focus, a.text-primary:hover {
-    color: #60467e
-}
-
-a.text-success:focus, a.text-success:hover {
-    color: #51b060
-}
-
-a.text-info:focus, a.text-info:hover {
-    color: #1774e2
-}
-
-a.text-warning:focus, a.text-warning:hover {
-    color: #f98515
-}
-
-a.text-danger:focus, a.text-danger:hover {
-    color: #bc2929
-}
-
-.bg-primary {
-    color: #fff;
-    background-color: #79589F
-}
-
-a.bg-primary:focus, a.bg-primary:hover {
-    background-color: #60467e
-}
-
-.bg-success {
-    background-color: #f8fcf9
-}
-
-a.bg-success:focus, a.bg-success:hover {
-    background-color: #d4edda
-}
-
-.bg-info {
-    background-color: #f5f9fe
-}
-
-a.bg-info:focus, a.bg-info:hover {
-    background-color: #c7ddf9
-}
-
-.bg-warning {
-    background-color: #fffaf6
-}
-
-a.bg-warning:focus, a.bg-warning:hover {
-    background-color: #ffdec3
-}
-
-.bg-danger {
-    background-color: #fdf6f6
-}
-
-a.bg-danger:focus, a.bg-danger:hover {
-    background-color: #f4cccc
-}
-
-pre code, table {
-    background-color: transparent
-}
-
-.page-header {
-    padding-bottom: 9px;
-    margin: 40px 0 20px;
-    border-bottom: 1px solid #EEF1F6
-}
-
-dl, ol, ul {
-    margin-top: 0
-}
-
-ol, ul {
-    margin-bottom: 10px
-}
-
-ol ol, ol ul, ul ol, ul ul {
-    margin-bottom: 0
-}
-
-.flash-messages .flash-message .content, .list-unstyled {
-    padding-left: 0;
-    list-style: none
-}
-
-.list-inline {
-    padding-left: 0;
-    list-style: none;
-    margin-left: -5px
-}
-
-.list-inline > li {
-    padding-left: 5px;
-    padding-right: 5px
-}
-
-dl {
-    margin-bottom: 20px
-}
-
-dd, dt {
-    line-height: 1.42857
-}
-
-dd {
-    margin-left: 0
-}
-
-.dl-horizontal dd:after, .dl-horizontal dd:before {
-    content: " ";
-    display: table
-}
-
-.dl-horizontal dd:after {
-    clear: both
-}
-
-@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
-    }
-
-    .container {
-        width: 750px
-    }
-}
-
-pre, pre code {
-    white-space: pre-wrap
-}
-
-abbr[data-original-title], abbr[title] {
-    cursor: help;
-    border-bottom: 1px dotted #d7cde2
-}
-
-.initialism {
-    font-size: 90%
-}
-
-blockquote {
-    padding: 10px 20px;
-    margin: 0 0 20px;
-    font-size: 17.5px;
-    border-left: 5px solid #EEF1F6
-}
-
-.panel-section blockquote .panel-details:last-child, blockquote .panel-section .panel-details:last-child, blockquote ol:last-child, blockquote p:last-child, blockquote ul:last-child {
-    margin-bottom: 0
-}
-
-.panel-section blockquote .panel-details, blockquote .panel-section .panel-details, blockquote .small, blockquote footer, blockquote small {
-    display: block;
-    font-size: 80%;
-    line-height: 1.42857;
-    color: #96A3B6
-}
-
-legend, pre {
-    color: #596981
-}
-
-.panel-section blockquote .panel-details:before, blockquote .panel-section .panel-details:before, blockquote .small:before, blockquote footer:before, blockquote small:before {
-    content: '\2014 \00A0'
-}
-
-.blockquote-reverse, blockquote.pull-right {
-    padding-right: 15px;
-    padding-left: 0;
-    border-right: 5px solid #EEF1F6;
-    border-left: 0;
-    text-align: right
-}
-
-code, kbd {
-    padding: 2px 4px;
-    font-size: 90%
-}
-
-caption, th {
-    text-align: left
-}
-
-.blockquote-reverse .panel-section .panel-details:before, .blockquote-reverse .small:before, .blockquote-reverse footer:before, .blockquote-reverse small:before, .panel-section .blockquote-reverse .panel-details:before, .panel-section blockquote.pull-right .panel-details:before, blockquote.pull-right .panel-section .panel-details:before, blockquote.pull-right .small:before, blockquote.pull-right footer:before, blockquote.pull-right small:before {
-    content: ''
-}
-
-.blockquote-reverse .panel-section .panel-details:after, .blockquote-reverse .small:after, .blockquote-reverse footer:after, .blockquote-reverse small:after, .panel-section .blockquote-reverse .panel-details:after, .panel-section blockquote.pull-right .panel-details:after, blockquote.pull-right .panel-section .panel-details:after, blockquote.pull-right .small:after, blockquote.pull-right footer:after, blockquote.pull-right small:after {
-    content: '\00A0 \2014'
-}
-
-address {
-    margin-bottom: 20px;
-    font-style: normal;
-    line-height: 1.42857
-}
-
-code, kbd, pre, samp {
-    font-family: Menlo, Monaco, Consolas, "Courier New", monospace
-}
-
-code {
-    border-radius: 4px
-}
-
-kbd {
-    color: #EEF1F6;
-    background-color: #596981;
-    border-radius: 3px
-}
-
-kbd kbd {
-    padding: 0;
-    font-size: 100%;
-    box-shadow: none
-}
-
-.form-control, .has-success .form-control {
-    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075)
-}
-
-pre {
-    display: block;
-    padding: 9.5px;
-    margin: 0 0 10px;
-    font-size: 13px;
-    line-height: 1.42857;
-    background-color: #f5f7fa;
-    border: 1px solid #EEF1F6;
-    border-radius: 4px
-}
-
-.container-fluid:after, .container-fluid:before, .container:after, .container:before, .panel-section:after, .panel-section:before, .row:after, .row:before {
-    display: table;
-    content: " "
-}
-
-.container, .container-fluid {
-    margin-right: auto;
-    margin-left: auto
-}
-
-.btn-group-vertical > .btn:not(:first-child):not(:last-child), .btn-group > .btn-group:not(:first-child):not(:last-child) > .btn, .btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle):not(.drop-down__toggle), .btn-link, pre code {
-    border-radius: 0
-}
-
-pre code {
-    padding: 0;
-    font-size: inherit;
-    color: inherit
-}
-
-.pre-scrollable {
-    max-height: 340px;
-    overflow-y: scroll
-}
-
-.container {
-    padding-left: 15px;
-    padding-right: 15px
-}
-
-.container:after {
-    clear: both
-}
-
-@media (min-width: 992px) {
-    .container {
-        width: 970px
-    }
-}
-
-@media (min-width: 1200px) {
-    .container {
-        width: 1170px
-    }
-}
-
-.container-fluid {
-    padding-left: 15px;
-    padding-right: 15px
-}
-
-.container-fluid:after {
-    clear: both
-}
-
-.panel-section, .row {
-    margin-left: -15px;
-    margin-right: -15px
-}
-
-.panel-section:after, .row:after {
-    clear: both
-}
-
-.col-lg-1, .col-lg-10, .col-lg-11, .col-lg-12, .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-md-1, .col-md-10, .col-md-11, .col-md-12, .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-sm-1, .col-sm-10, .col-sm-11, .col-sm-12, .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-xs-1, .col-xs-10, .col-xs-11, .col-xs-12, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .panel-section .panel-content, .panel-section .panel-description, .panel-section .section-description {
-    position: relative;
-    min-height: 1px;
-    padding-left: 15px;
-    padding-right: 15px
-}
-
-.col-xs-1, .col-xs-10, .col-xs-11, .col-xs-12, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9 {
-    float: left
-}
-
-.col-xs-1 {
-    width: 8.33333%
-}
-
-.col-xs-2 {
-    width: 16.66667%
-}
-
-.col-xs-3 {
-    width: 25%
-}
-
-.col-xs-4 {
-    width: 33.33333%
-}
-
-.col-xs-5 {
-    width: 41.66667%
-}
-
-.col-xs-6 {
-    width: 50%
-}
-
-.col-xs-7 {
-    width: 58.33333%
-}
-
-.col-xs-8 {
-    width: 66.66667%
-}
-
-.col-xs-9 {
-    width: 75%
-}
-
-.col-xs-10 {
-    width: 83.33333%
-}
-
-.col-xs-11 {
-    width: 91.66667%
-}
-
-.col-xs-12 {
-    width: 100%
-}
-
-.col-xs-pull-0 {
-    right: auto
-}
-
-.col-xs-pull-1 {
-    right: 8.33333%
-}
-
-.col-xs-pull-2 {
-    right: 16.66667%
-}
-
-.col-xs-pull-3 {
-    right: 25%
-}
-
-.col-xs-pull-4 {
-    right: 33.33333%
-}
-
-.col-xs-pull-5 {
-    right: 41.66667%
-}
-
-.col-xs-pull-6 {
-    right: 50%
-}
-
-.col-xs-pull-7 {
-    right: 58.33333%
-}
-
-.col-xs-pull-8 {
-    right: 66.66667%
-}
-
-.col-xs-pull-9 {
-    right: 75%
-}
-
-.col-xs-pull-10 {
-    right: 83.33333%
-}
-
-.col-xs-pull-11 {
-    right: 91.66667%
-}
-
-.col-xs-pull-12 {
-    right: 100%
-}
-
-.col-xs-push-0 {
-    left: auto
-}
-
-.col-xs-push-1 {
-    left: 8.33333%
-}
-
-.col-xs-push-2 {
-    left: 16.66667%
-}
-
-.col-xs-push-3 {
-    left: 25%
-}
-
-.col-xs-push-4 {
-    left: 33.33333%
-}
-
-.col-xs-push-5 {
-    left: 41.66667%
-}
-
-.col-xs-push-6 {
-    left: 50%
-}
-
-.col-xs-push-7 {
-    left: 58.33333%
-}
-
-.col-xs-push-8 {
-    left: 66.66667%
-}
-
-.col-xs-push-9 {
-    left: 75%
-}
-
-.col-xs-push-10 {
-    left: 83.33333%
-}
-
-.col-xs-push-11 {
-    left: 91.66667%
-}
-
-.col-xs-push-12 {
-    left: 100%
-}
-
-.col-xs-offset-0 {
-    margin-left: 0
-}
-
-.col-xs-offset-1 {
-    margin-left: 8.33333%
-}
-
-.col-xs-offset-2 {
-    margin-left: 16.66667%
-}
-
-.col-xs-offset-3 {
-    margin-left: 25%
-}
-
-.col-xs-offset-4 {
-    margin-left: 33.33333%
-}
-
-.col-xs-offset-5 {
-    margin-left: 41.66667%
-}
-
-.col-xs-offset-6 {
-    margin-left: 50%
-}
-
-.col-xs-offset-7 {
-    margin-left: 58.33333%
-}
-
-.col-xs-offset-8 {
-    margin-left: 66.66667%
-}
-
-.col-xs-offset-9 {
-    margin-left: 75%
-}
-
-.col-xs-offset-10 {
-    margin-left: 83.33333%
-}
-
-.col-xs-offset-11 {
-    margin-left: 91.66667%
-}
-
-.col-xs-offset-12 {
-    margin-left: 100%
-}
-
-@media (min-width: 768px) {
-    .col-sm-1, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .panel-section .panel-content, .panel-section .panel-description, .panel-section .section-description {
-        float: left
-    }
-
-    .col-sm-1 {
-        width: 8.33333%
-    }
-
-    .col-sm-2 {
-        width: 16.66667%
-    }
-
-    .col-sm-3 {
-        width: 25%
-    }
-
-    .col-sm-4, .panel-section .panel-description, .panel-section .section-description {
-        width: 33.33333%
-    }
-
-    .col-sm-5 {
-        width: 41.66667%
-    }
-
-    .col-sm-6 {
-        width: 50%
-    }
-
-    .col-sm-7 {
-        width: 58.33333%
-    }
-
-    .col-sm-8, .panel-section .panel-content {
-        width: 66.66667%
-    }
-
-    .col-sm-9 {
-        width: 75%
-    }
-
-    .col-sm-10 {
-        width: 83.33333%
-    }
-
-    .col-sm-11 {
-        width: 91.66667%
-    }
-
-    .col-sm-12 {
-        width: 100%
-    }
-
-    .col-sm-pull-0 {
-        right: auto
-    }
-
-    .col-sm-pull-1 {
-        right: 8.33333%
-    }
-
-    .col-sm-pull-2 {
-        right: 16.66667%
-    }
-
-    .col-sm-pull-3 {
-        right: 25%
-    }
-
-    .col-sm-pull-4 {
-        right: 33.33333%
-    }
-
-    .col-sm-pull-5 {
-        right: 41.66667%
-    }
-
-    .col-sm-pull-6 {
-        right: 50%
-    }
-
-    .col-sm-pull-7 {
-        right: 58.33333%
-    }
-
-    .col-sm-pull-8 {
-        right: 66.66667%
-    }
-
-    .col-sm-pull-9 {
-        right: 75%
-    }
-
-    .col-sm-pull-10 {
-        right: 83.33333%
-    }
-
-    .col-sm-pull-11 {
-        right: 91.66667%
-    }
-
-    .col-sm-pull-12 {
-        right: 100%
-    }
-
-    .col-sm-push-0 {
-        left: auto
-    }
-
-    .col-sm-push-1 {
-        left: 8.33333%
-    }
-
-    .col-sm-push-2 {
-        left: 16.66667%
-    }
-
-    .col-sm-push-3 {
-        left: 25%
-    }
-
-    .col-sm-push-4 {
-        left: 33.33333%
-    }
-
-    .col-sm-push-5 {
-        left: 41.66667%
-    }
-
-    .col-sm-push-6 {
-        left: 50%
-    }
-
-    .col-sm-push-7 {
-        left: 58.33333%
-    }
-
-    .col-sm-push-8 {
-        left: 66.66667%
-    }
-
-    .col-sm-push-9 {
-        left: 75%
-    }
-
-    .col-sm-push-10 {
-        left: 83.33333%
-    }
-
-    .col-sm-push-11 {
-        left: 91.66667%
-    }
-
-    .col-sm-push-12 {
-        left: 100%
-    }
-
-    .col-sm-offset-0 {
-        margin-left: 0
-    }
-
-    .col-sm-offset-1 {
-        margin-left: 8.33333%
-    }
-
-    .col-sm-offset-2 {
-        margin-left: 16.66667%
-    }
-
-    .col-sm-offset-3 {
-        margin-left: 25%
-    }
-
-    .col-sm-offset-4 {
-        margin-left: 33.33333%
-    }
-
-    .col-sm-offset-5 {
-        margin-left: 41.66667%
-    }
-
-    .col-sm-offset-6 {
-        margin-left: 50%
-    }
-
-    .col-sm-offset-7 {
-        margin-left: 58.33333%
-    }
-
-    .col-sm-offset-8 {
-        margin-left: 66.66667%
-    }
-
-    .col-sm-offset-9 {
-        margin-left: 75%
-    }
-
-    .col-sm-offset-10 {
-        margin-left: 83.33333%
-    }
-
-    .col-sm-offset-11 {
-        margin-left: 91.66667%
-    }
-
-    .col-sm-offset-12 {
-        margin-left: 100%
-    }
-}
-
-@media (min-width: 992px) {
-    .col-md-1, .col-md-10, .col-md-11, .col-md-12, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .panel-section .panel-content, .panel-section .panel-description, .panel-section .section-description {
-        float: left
-    }
-
-    .col-md-1 {
-        width: 8.33333%
-    }
-
-    .col-md-2 {
-        width: 16.66667%
-    }
-
-    .col-md-3, .panel-section .panel-description, .panel-section .section-description {
-        width: 25%
-    }
-
-    .col-md-4 {
-        width: 33.33333%
-    }
-
-    .col-md-5 {
-        width: 41.66667%
-    }
-
-    .col-md-6 {
-        width: 50%
-    }
-
-    .col-md-7 {
-        width: 58.33333%
-    }
-
-    .col-md-8, .panel-section .panel-content {
-        width: 66.66667%
-    }
-
-    .col-md-9 {
-        width: 75%
-    }
-
-    .col-md-10 {
-        width: 83.33333%
-    }
-
-    .col-md-11 {
-        width: 91.66667%
-    }
-
-    .col-md-12 {
-        width: 100%
-    }
-
-    .col-md-pull-0 {
-        right: auto
-    }
-
-    .col-md-pull-1 {
-        right: 8.33333%
-    }
-
-    .col-md-pull-2 {
-        right: 16.66667%
-    }
-
-    .col-md-pull-3 {
-        right: 25%
-    }
-
-    .col-md-pull-4 {
-        right: 33.33333%
-    }
-
-    .col-md-pull-5 {
-        right: 41.66667%
-    }
-
-    .col-md-pull-6 {
-        right: 50%
-    }
-
-    .col-md-pull-7 {
-        right: 58.33333%
-    }
-
-    .col-md-pull-8 {
-        right: 66.66667%
-    }
-
-    .col-md-pull-9 {
-        right: 75%
-    }
-
-    .col-md-pull-10 {
-        right: 83.33333%
-    }
-
-    .col-md-pull-11 {
-        right: 91.66667%
-    }
-
-    .col-md-pull-12 {
-        right: 100%
-    }
-
-    .col-md-push-0 {
-        left: auto
-    }
-
-    .col-md-push-1 {
-        left: 8.33333%
-    }
-
-    .col-md-push-2 {
-        left: 16.66667%
-    }
-
-    .col-md-push-3 {
-        left: 25%
-    }
-
-    .col-md-push-4 {
-        left: 33.33333%
-    }
-
-    .col-md-push-5 {
-        left: 41.66667%
-    }
-
-    .col-md-push-6 {
-        left: 50%
-    }
-
-    .col-md-push-7 {
-        left: 58.33333%
-    }
-
-    .col-md-push-8 {
-        left: 66.66667%
-    }
-
-    .col-md-push-9 {
-        left: 75%
-    }
-
-    .col-md-push-10 {
-        left: 83.33333%
-    }
-
-    .col-md-push-11 {
-        left: 91.66667%
-    }
-
-    .col-md-push-12 {
-        left: 100%
-    }
-
-    .col-md-offset-0 {
-        margin-left: 0
-    }
-
-    .col-md-offset-1, .panel-section .panel-content {
-        margin-left: 8.33333%
-    }
-
-    .col-md-offset-2 {
-        margin-left: 16.66667%
-    }
-
-    .col-md-offset-3 {
-        margin-left: 25%
-    }
-
-    .col-md-offset-4 {
-        margin-left: 33.33333%
-    }
-
-    .col-md-offset-5 {
-        margin-left: 41.66667%
-    }
-
-    .col-md-offset-6 {
-        margin-left: 50%
-    }
-
-    .col-md-offset-7 {
-        margin-left: 58.33333%
-    }
-
-    .col-md-offset-8 {
-        margin-left: 66.66667%
-    }
-
-    .col-md-offset-9 {
-        margin-left: 75%
-    }
-
-    .col-md-offset-10 {
-        margin-left: 83.33333%
-    }
-
-    .col-md-offset-11 {
-        margin-left: 91.66667%
-    }
-
-    .col-md-offset-12 {
-        margin-left: 100%
-    }
-}
-
-@media (min-width: 1200px) {
-    .col-lg-1, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9 {
-        float: left
-    }
-
-    .col-lg-1 {
-        width: 8.33333%
-    }
-
-    .col-lg-2 {
-        width: 16.66667%
-    }
-
-    .col-lg-3 {
-        width: 25%
-    }
-
-    .col-lg-4 {
-        width: 33.33333%
-    }
-
-    .col-lg-5 {
-        width: 41.66667%
-    }
-
-    .col-lg-6 {
-        width: 50%
-    }
-
-    .col-lg-7 {
-        width: 58.33333%
-    }
-
-    .col-lg-8 {
-        width: 66.66667%
-    }
-
-    .col-lg-9 {
-        width: 75%
-    }
-
-    .col-lg-10 {
-        width: 83.33333%
-    }
-
-    .col-lg-11 {
-        width: 91.66667%
-    }
-
-    .col-lg-12 {
-        width: 100%
-    }
-
-    .col-lg-pull-0 {
-        right: auto
-    }
-
-    .col-lg-pull-1 {
-        right: 8.33333%
-    }
-
-    .col-lg-pull-2 {
-        right: 16.66667%
-    }
-
-    .col-lg-pull-3 {
-        right: 25%
-    }
-
-    .col-lg-pull-4 {
-        right: 33.33333%
-    }
-
-    .col-lg-pull-5 {
-        right: 41.66667%
-    }
-
-    .col-lg-pull-6 {
-        right: 50%
-    }
-
-    .col-lg-pull-7 {
-        right: 58.33333%
-    }
-
-    .col-lg-pull-8 {
-        right: 66.66667%
-    }
-
-    .col-lg-pull-9 {
-        right: 75%
-    }
-
-    .col-lg-pull-10 {
-        right: 83.33333%
-    }
-
-    .col-lg-pull-11 {
-        right: 91.66667%
-    }
-
-    .col-lg-pull-12 {
-        right: 100%
-    }
-
-    .col-lg-push-0 {
-        left: auto
-    }
-
-    .col-lg-push-1 {
-        left: 8.33333%
-    }
-
-    .col-lg-push-2 {
-        left: 16.66667%
-    }
-
-    .col-lg-push-3 {
-        left: 25%
-    }
-
-    .col-lg-push-4 {
-        left: 33.33333%
-    }
-
-    .col-lg-push-5 {
-        left: 41.66667%
-    }
-
-    .col-lg-push-6 {
-        left: 50%
-    }
-
-    .col-lg-push-7 {
-        left: 58.33333%
-    }
-
-    .col-lg-push-8 {
-        left: 66.66667%
-    }
-
-    .col-lg-push-9 {
-        left: 75%
-    }
-
-    .col-lg-push-10 {
-        left: 83.33333%
-    }
-
-    .col-lg-push-11 {
-        left: 91.66667%
-    }
-
-    .col-lg-push-12 {
-        left: 100%
-    }
-
-    .col-lg-offset-0 {
-        margin-left: 0
-    }
-
-    .col-lg-offset-1 {
-        margin-left: 8.33333%
-    }
-
-    .col-lg-offset-2 {
-        margin-left: 16.66667%
-    }
-
-    .col-lg-offset-3 {
-        margin-left: 25%
-    }
-
-    .col-lg-offset-4 {
-        margin-left: 33.33333%
-    }
-
-    .col-lg-offset-5 {
-        margin-left: 41.66667%
-    }
-
-    .col-lg-offset-6 {
-        margin-left: 50%
-    }
-
-    .col-lg-offset-7 {
-        margin-left: 58.33333%
-    }
-
-    .col-lg-offset-8 {
-        margin-left: 66.66667%
-    }
-
-    .col-lg-offset-9 {
-        margin-left: 75%
-    }
-
-    .col-lg-offset-10 {
-        margin-left: 83.33333%
-    }
-
-    .col-lg-offset-11 {
-        margin-left: 91.66667%
-    }
-
-    .col-lg-offset-12 {
-        margin-left: 100%
-    }
-}
-
-table {
-    border-collapse: collapse;
-    border-spacing: 0
-}
-
-caption {
-    padding-top: 8px;
-    padding-bottom: 8px;
-    color: #CFD7E6
-}
-
-.table {
-    width: 100%;
-    max-width: 100%;
-    margin-bottom: 20px
-}
-
-.table > tbody > tr > td, .table > tbody > tr > th, .table > tfoot > tr > td, .table > tfoot > tr > th, .table > thead > tr > td, .table > thead > tr > th {
-    padding: 8px;
-    line-height: 1.42857;
-    vertical-align: top;
-    border-top: 1px solid #e7ebf3
-}
-
-.table > thead > tr > th {
-    vertical-align: bottom
-}
-
-.table > caption + thead > tr:first-child > td, .table > caption + thead > tr:first-child > th, .table > colgroup + thead > tr:first-child > td, .table > colgroup + thead > tr:first-child > th, .table > thead:first-child > tr:first-child > td, .table > thead:first-child > tr:first-child > th {
-    border-top: 0
-}
-
-.table > tbody + tbody {
-    border-top: 2px solid #e7ebf3
-}
-
-.table .table {
-    background-color: #fff
-}
-
-.table-condensed > tbody > tr > td, .table-condensed > tbody > tr > th, .table-condensed > tfoot > tr > td, .table-condensed > tfoot > tr > th, .table-condensed > thead > tr > td, .table-condensed > thead > tr > th {
-    padding: 5px
-}
-
-.table-bordered, .table-bordered > tbody > tr > td, .table-bordered > tbody > tr > th, .table-bordered > tfoot > tr > td, .table-bordered > tfoot > tr > th, .table-bordered > thead > tr > td, .table-bordered > thead > tr > th {
-    border: 1px solid #e7ebf3
-}
-
-.table-bordered > thead > tr > td, .table-bordered > thead > tr > th {
-    border-bottom-width: 2px
-}
-
-.table-hover > tbody > tr:hover, .table-striped > tbody > tr:nth-of-type(odd) {
-    background-color: #fafbfc
-}
-
-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-hover > tbody > tr.active:hover > td, .table-hover > tbody > tr.active:hover > th, .table-hover > tbody > tr:hover > .active, .table-hover > tbody > tr > td.active:hover, .table-hover > tbody > tr > th.active:hover {
-    background-color: #eaeef2
-}
-
-.table > tbody > tr.success > td, .table > tbody > tr.success > th, .table > tbody > tr > td.success, .table > tbody > tr > th.success, .table > tfoot > tr.success > td, .table > tfoot > tr.success > th, .table > tfoot > tr > td.success, .table > tfoot > tr > th.success, .table > thead > tr.success > td, .table > thead > tr.success > th, .table > thead > tr > td.success, .table > thead > tr > th.success {
-    background-color: #f8fcf9
-}
-
-.table-hover > tbody > tr.success:hover > td, .table-hover > tbody > tr.success:hover > th, .table-hover > tbody > tr:hover > .success, .table-hover > tbody > tr > td.success:hover, .table-hover > tbody > tr > th.success:hover {
-    background-color: #e6f4ea
-}
-
-.table > tbody > tr.info > td, .table > tbody > tr.info > th, .table > tbody > tr > td.info, .table > tbody > tr > th.info, .table > tfoot > tr.info > td, .table > tfoot > tr.info > th, .table > tfoot > tr > td.info, .table > tfoot > tr > th.info, .table > thead > tr.info > td, .table > thead > tr.info > th, .table > thead > tr > td.info, .table > thead > tr > th.info {
-    background-color: #f5f9fe
-}
-
-.table-hover > tbody > tr.info:hover > td, .table-hover > tbody > tr.info:hover > th, .table-hover > tbody > tr:hover > .info, .table-hover > tbody > tr > td.info:hover, .table-hover > tbody > tr > th.info:hover {
-    background-color: #deebfc
-}
-
-.table > tbody > tr.warning > td, .table > tbody > tr.warning > th, .table > tbody > tr > td.warning, .table > tbody > tr > th.warning, .table > tfoot > tr.warning > td, .table > tfoot > tr.warning > th, .table > tfoot > tr > td.warning, .table > tfoot > tr > th.warning, .table > thead > tr.warning > td, .table > thead > tr.warning > th, .table > thead > tr > td.warning, .table > thead > tr > th.warning {
-    background-color: #fffaf6
-}
-
-.table-hover > tbody > tr.warning:hover > td, .table-hover > tbody > tr.warning:hover > th, .table-hover > tbody > tr:hover > .warning, .table-hover > tbody > tr > td.warning:hover, .table-hover > tbody > tr > th.warning:hover {
-    background-color: #ffecdd
-}
-
-.table > tbody > tr.danger > td, .table > tbody > tr.danger > th, .table > tbody > tr > td.danger, .table > tbody > tr > th.danger, .table > tfoot > tr.danger > td, .table > tfoot > tr.danger > th, .table > tfoot > tr > td.danger, .table > tfoot > tr > th.danger, .table > thead > tr.danger > td, .table > thead > tr.danger > th, .table > thead > tr > td.danger, .table > thead > tr > th.danger {
-    background-color: #fdf6f6
-}
-
-.table-hover > tbody > tr.danger:hover > td, .table-hover > tbody > tr.danger:hover > th, .table-hover > tbody > tr:hover > .danger, .table-hover > tbody > tr > td.danger:hover, .table-hover > tbody > tr > th.danger:hover {
-    background-color: #f8e1e1
-}
-
-.table-responsive {
-    overflow-x: auto;
-    min-height: .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 #e7ebf3
-    }
-
-    .table-responsive > .table {
-        margin-bottom: 0
-    }
-
-    .table-responsive > .table > tbody > tr > td, .table-responsive > .table > tbody > tr > th, .table-responsive > .table > tfoot > tr > td, .table-responsive > .table > tfoot > tr > th, .table-responsive > .table > thead > tr > td, .table-responsive > .table > thead > tr > th {
-        white-space: nowrap
-    }
-
-    .table-responsive > .table-bordered {
-        border: 0
-    }
-
-    .table-responsive > .table-bordered > tbody > tr > td:first-child, .table-responsive > .table-bordered > tbody > tr > th:first-child, .table-responsive > .table-bordered > tfoot > tr > td:first-child, .table-responsive > .table-bordered > tfoot > tr > th:first-child, .table-responsive > .table-bordered > thead > tr > td:first-child, .table-responsive > .table-bordered > thead > tr > th:first-child {
-        border-left: 0
-    }
-
-    .table-responsive > .table-bordered > tbody > tr > td:last-child, .table-responsive > .table-bordered > tbody > tr > th:last-child, .table-responsive > .table-bordered > tfoot > tr > td:last-child, .table-responsive > .table-bordered > tfoot > tr > th:last-child, .table-responsive > .table-bordered > thead > tr > td:last-child, .table-responsive > .table-bordered > thead > tr > th:last-child {
-        border-right: 0
-    }
-
-    .table-responsive > .table-bordered > tbody > tr:last-child > td, .table-responsive > .table-bordered > tbody > tr:last-child > th, .table-responsive > .table-bordered > tfoot > tr:last-child > td, .table-responsive > .table-bordered > tfoot > tr:last-child > th {
-        border-bottom: 0
-    }
-}
-
-fieldset, legend {
-    padding: 0;
-    border: 0
-}
-
-fieldset {
-    margin: 0;
-    min-width: 0
-}
-
-legend {
-    display: block;
-    width: 100%;
-    margin-bottom: 20px;
-    font-size: 21px;
-    line-height: inherit;
-    border-bottom: 1px solid #e5e5e5
-}
-
-label {
-    max-width: 100%;
-    margin-bottom: 5px
-}
-
-input[type=search] {
-    -webkit-box-sizing: border-box;
-    -moz-box-sizing: border-box;
-    box-sizing: border-box;
-    -webkit-appearance: none
-}
-
-input[type=checkbox], input[type=radio] {
-    margin: 4px 0 0;
-    margin-top: 1px \9;
-    line-height: normal
-}
-
-.form-control, output {
-    font-size: 14px;
-    line-height: 1.42857;
-    color: #3F3F44;
-    display: block
-}
-
-input[type=file] {
-    display: block
-}
-
-select[multiple], select[size] {
-    height: auto
-}
-
-input[type=file]:focus, input[type=checkbox]:focus, input[type=radio]:focus {
-    outline: -webkit-focus-ring-color auto 5px;
-    outline-offset: -2px
-}
-
-output {
-    padding-top: 7px
-}
-
-.form-control {
-    width: 100%;
-    height: 34px;
-    padding: 6px 12px;
-    background-color: #fff;
-    background-image: none;
-    border: 1px solid #CFD7E6;
-    border-radius: 4px;
-    -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
-    -o-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
-}
-
-.form-control:focus {
-    border-color: #79589F;
-    outline: 0;
-    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(121, 88, 159, .6)
-}
-
-.form-control::-ms-expand {
-    border: 0;
-    background-color: transparent
-}
-
-.form-control[disabled], .form-control[readonly], fieldset[disabled] .form-control {
-    background-color: #fafbfc;
-    opacity: 1
-}
-
-textarea.form-control {
-    height: auto
-}
-
-@media screen and (-webkit-min-device-pixel-ratio: 0) {
-    input[type=date].form-control, input[type=time].form-control, input[type=datetime-local].form-control, input[type=month].form-control {
-        line-height: 34px
-    }
-
-    .input-group-sm input[type=date], .input-group-sm input[type=time], .input-group-sm input[type=datetime-local], .input-group-sm input[type=month], .input-group-sm > .input-group-btn > input.btn[type=date], .input-group-sm > .input-group-btn > input.btn[type=time], .input-group-sm > .input-group-btn > input.btn[type=datetime-local], .input-group-sm > .input-group-btn > input.btn[type=month], .input-group-sm > input.form-control[type=date], .input-group-sm > input.form-control[type=time], .input-group-sm > input.form-control[type=datetime-local], .input-group-sm > input.form-control[type=month], .input-group-sm > input.input-group-addon[type=date], .input-group-sm > input.input-group-addon[type=time], .input-group-sm > input.input-group-addon[type=datetime-local], .input-group-sm > input.input-group-addon[type=month], input[type=date].input-sm, input[type=time].input-sm, input[type=datetime-local].input-sm, input[type=month].input-sm {
-        line-height: 30px
-    }
-
-    .input-group-lg input[type=date], .input-group-lg input[type=time], .input-group-lg input[type=datetime-local], .input-group-lg input[type=month], .input-group-lg > .input-group-btn > input.btn[type=date], .input-group-lg > .input-group-btn > input.btn[type=time], .input-group-lg > .input-group-btn > input.btn[type=datetime-local], .input-group-lg > .input-group-btn > input.btn[type=month], .input-group-lg > input.form-control[type=date], .input-group-lg > input.form-control[type=time], .input-group-lg > input.form-control[type=datetime-local], .input-group-lg > input.form-control[type=month], .input-group-lg > input.input-group-addon[type=date], .input-group-lg > input.input-group-addon[type=time], .input-group-lg > input.input-group-addon[type=datetime-local], .input-group-lg > input.input-group-addon[type=month], input[type=date].input-lg, input[type=time].input-lg, input[type=datetime-local].input-lg, input[type=month].input-lg {
-        line-height: 46px
-    }
-}
-
-.form-group {
-    margin-bottom: 15px
-}
-
-.checkbox, .radio {
-    position: relative;
-    display: block;
-    margin-top: 10px;
-    margin-bottom: 10px
-}
-
-.checkbox label, .radio label {
-    min-height: 20px;
-    padding-left: 20px;
-    margin-bottom: 0;
-    font-weight: 400;
-    cursor: pointer
-}
-
-.checkbox input[type=checkbox], .checkbox-inline input[type=checkbox], .radio input[type=radio], .radio-inline input[type=radio] {
-    position: absolute;
-    margin-left: -20px;
-    margin-top: 4px \9
-}
-
-.checkbox-inline, .collapsing, .dropdown, .dropup, .has-feedback, .radio-inline {
-    position: relative
-}
-
-.checkbox + .checkbox, .radio + .radio {
-    margin-top: -5px
-}
-
-.checkbox-inline, .radio-inline {
-    padding-left: 20px;
-    margin-bottom: 0;
-    font-weight: 400;
-    cursor: pointer
-}
-
-.btn-block, .collapse.in, .form-control-feedback, .help-block {
-    display: block
-}
-
-.checkbox-inline + .checkbox-inline, .radio-inline + .radio-inline {
-    margin-top: 0;
-    margin-left: 10px
-}
-
-.btn-block + .btn-block, .help-block {
-    margin-top: 5px
-}
-
-.checkbox-inline.disabled, .checkbox.disabled label, .radio-inline.disabled, .radio.disabled label, fieldset[disabled] .checkbox label, fieldset[disabled] .checkbox-inline, fieldset[disabled] .radio label, fieldset[disabled] .radio-inline, fieldset[disabled] input[type=checkbox], fieldset[disabled] input[type=radio], input[type=checkbox].disabled, input[type=checkbox][disabled], input[type=radio].disabled, input[type=radio][disabled] {
-    cursor: not-allowed
-}
-
-.form-control-static {
-    padding-top: 7px;
-    padding-bottom: 7px;
-    margin-bottom: 0;
-    min-height: 34px
-}
-
-.form-control-static.input-lg, .form-control-static.input-sm, .input-group-lg > .form-control-static.form-control, .input-group-lg > .form-control-static.input-group-addon, .input-group-lg > .input-group-btn > .form-control-static.btn, .input-group-sm > .form-control-static.form-control, .input-group-sm > .form-control-static.input-group-addon, .input-group-sm > .input-group-btn > .form-control-static.btn {
-    padding-left: 0;
-    padding-right: 0
-}
-
-.input-group-sm > .form-control, .input-group-sm > .input-group-addon, .input-group-sm > .input-group-btn > .btn, .input-sm {
-    height: 30px;
-    padding: 5px 10px;
-    font-size: 12px;
-    line-height: 1.5;
-    border-radius: 3px
-}
-
-.input-group-sm > .input-group-btn > select.btn, .input-group-sm > select.form-control, .input-group-sm > select.input-group-addon, select.input-sm {
-    height: 30px;
-    line-height: 30px
-}
-
-.input-group-sm > .input-group-btn > select.btn[multiple], .input-group-sm > .input-group-btn > textarea.btn, .input-group-sm > select.form-control[multiple], .input-group-sm > select.input-group-addon[multiple], .input-group-sm > textarea.form-control, .input-group-sm > textarea.input-group-addon, select[multiple].input-sm, textarea.input-sm {
-    height: auto
-}
-
-.form-group-sm .form-control {
-    height: 30px;
-    padding: 5px 10px;
-    font-size: 12px;
-    line-height: 1.5;
-    border-radius: 3px
-}
-
-.form-group-sm select.form-control {
-    height: 30px;
-    line-height: 30px
-}
-
-.form-group-sm select[multiple].form-control, .form-group-sm textarea.form-control {
-    height: auto
-}
-
-.form-group-sm .form-control-static {
-    height: 30px;
-    min-height: 32px;
-    padding: 6px 10px;
-    font-size: 12px;
-    line-height: 1.5
-}
-
-.input-group-lg > .form-control, .input-group-lg > .input-group-addon, .input-group-lg > .input-group-btn > .btn, .input-lg {
-    height: 46px;
-    padding: 10px 16px;
-    font-size: 18px;
-    line-height: 1.33333;
-    border-radius: 6px
-}
-
-.input-group-lg > .input-group-btn > select.btn, .input-group-lg > select.form-control, .input-group-lg > select.input-group-addon, select.input-lg {
-    height: 46px;
-    line-height: 46px
-}
-
-.input-group-lg > .input-group-btn > select.btn[multiple], .input-group-lg > .input-group-btn > textarea.btn, .input-group-lg > select.form-control[multiple], .input-group-lg > select.input-group-addon[multiple], .input-group-lg > textarea.form-control, .input-group-lg > textarea.input-group-addon, select[multiple].input-lg, textarea.input-lg {
-    height: auto
-}
-
-.form-group-lg .form-control {
-    height: 46px;
-    padding: 10px 16px;
-    font-size: 18px;
-    line-height: 1.33333;
-    border-radius: 6px
-}
-
-.form-group-lg select.form-control {
-    height: 46px;
-    line-height: 46px
-}
-
-.form-group-lg select[multiple].form-control, .form-group-lg textarea.form-control {
-    height: auto
-}
-
-.form-group-lg .form-control-static {
-    height: 46px;
-    min-height: 38px;
-    padding: 11px 16px;
-    font-size: 18px;
-    line-height: 1.33333
-}
-
-.has-feedback .form-control {
-    padding-right: 42.5px
-}
-
-.form-control-feedback {
-    position: absolute;
-    top: 0;
-    right: 0;
-    z-index: 2;
-    width: 34px;
-    height: 34px;
-    line-height: 34px;
-    text-align: center;
-    pointer-events: none
-}
-
-.form-group-lg .form-control + .form-control-feedback, .input-group-lg + .form-control-feedback, .input-group-lg > .form-control + .form-control-feedback, .input-group-lg > .input-group-addon + .form-control-feedback, .input-group-lg > .input-group-btn > .btn + .form-control-feedback, .input-lg + .form-control-feedback {
-    width: 46px;
-    height: 46px;
-    line-height: 46px
-}
-
-.form-group-sm .form-control + .form-control-feedback, .input-group-sm + .form-control-feedback, .input-group-sm > .form-control + .form-control-feedback, .input-group-sm > .input-group-addon + .form-control-feedback, .input-group-sm > .input-group-btn > .btn + .form-control-feedback, .input-sm + .form-control-feedback {
-    width: 30px;
-    height: 30px;
-    line-height: 30px
-}
-
-.has-success .checkbox, .has-success .checkbox-inline, .has-success .control-label, .has-success .help-block, .has-success .radio, .has-success .radio-inline, .has-success.checkbox label, .has-success.checkbox-inline label, .has-success.radio label, .has-success.radio-inline label {
-    color: #74C080
-}
-
-.has-success .form-control {
-    border-color: #74C080;
-    box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075)
-}
-
-.has-success .form-control:focus {
-    border-color: #51b060;
-    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #bae0c0;
-    box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #bae0c0
-}
-
-.has-success .input-group-addon {
-    color: #74C080;
-    border-color: #74C080;
-    background-color: #f8fcf9
-}
-
-.has-success .form-control-feedback {
-    color: #74C080
-}
-
-.has-warning .checkbox, .has-warning .checkbox-inline, .has-warning .control-label, .has-warning .help-block, .has-warning .radio, .has-warning .radio-inline, .has-warning.checkbox label, .has-warning.checkbox-inline label, .has-warning.radio label, .has-warning.radio-inline label {
-    color: #FA9F47
-}
-
-.has-warning .form-control {
-    border-color: #FA9F47;
-    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
-    box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075)
-}
-
-.has-warning .form-control:focus {
-    border-color: #f98515;
-    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #fdd3aa;
-    box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #fdd3aa
-}
-
-.has-warning .input-group-addon {
-    color: #FA9F47;
-    border-color: #FA9F47;
-    background-color: #fffaf6
-}
-
-.has-warning .form-control-feedback {
-    color: #FA9F47
-}
-
-.has-error .checkbox, .has-error .checkbox-inline, .has-error .control-label, .has-error .help-block, .has-error .radio, .has-error .radio-inline, .has-error.checkbox label, .has-error.checkbox-inline label, .has-error.radio label, .has-error.radio-inline label {
-    color: #D64242
-}
-
-.has-error .form-control {
-    border-color: #D64242;
-    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
-    box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075)
-}
-
-.has-error .form-control:focus {
-    border-color: #bc2929;
-    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #e89696;
-    box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #e89696
-}
-
-.has-error .input-group-addon {
-    color: #D64242;
-    border-color: #D64242;
-    background-color: #fdf6f6
-}
-
-.has-error .form-control-feedback {
-    color: #D64242
-}
-
-.has-feedback label ~ .form-control-feedback {
-    top: 25px
-}
-
-.has-feedback .two-factor-required label ~ .form-control-feedback, .has-feedback label.sr-only ~ .form-control-feedback, .two-factor-required .has-feedback label ~ .form-control-feedback {
-    top: 0
-}
-
-.help-block {
-    margin-bottom: 10px;
-    color: #7c7c86
-}
-
-@media (min-width: 768px) {
-    .form-inline .form-control, .form-inline .form-control-static, .form-inline .form-group {
-        display: inline-block
-    }
-
-    .form-inline .checkbox, .form-inline .control-label, .form-inline .form-group, .form-inline .radio {
-        margin-bottom: 0;
-        vertical-align: middle
-    }
-
-    .form-inline .form-control {
-        width: auto;
-        vertical-align: middle
-    }
-
-    .form-inline .input-group {
-        display: inline-table;
-        vertical-align: middle
-    }
-
-    .form-inline .input-group .form-control, .form-inline .input-group .input-group-addon, .form-inline .input-group .input-group-btn {
-        width: auto
-    }
-
-    .form-inline .input-group > .form-control {
-        width: 100%
-    }
-
-    .form-inline .checkbox, .form-inline .radio {
-        display: inline-block;
-        margin-top: 0
-    }
-
-    .form-inline .checkbox label, .form-inline .radio label {
-        padding-left: 0
-    }
-
-    .form-inline .checkbox input[type=checkbox], .form-inline .radio input[type=radio] {
-        position: relative;
-        margin-left: 0
-    }
-
-    .form-inline .has-feedback .form-control-feedback {
-        top: 0
-    }
-
-    .form-horizontal .control-label {
-        text-align: right;
-        margin-bottom: 0;
-        padding-top: 7px
-    }
-}
-
-.btn-block, input[type=button].btn-block, input[type=reset].btn-block, input[type=submit].btn-block {
-    width: 100%
-}
-
-.form-horizontal .checkbox, .form-horizontal .checkbox-inline, .form-horizontal .radio, .form-horizontal .radio-inline {
-    margin-top: 0;
-    margin-bottom: 0;
-    padding-top: 7px
-}
-
-.form-horizontal .checkbox, .form-horizontal .radio {
-    min-height: 27px
-}
-
-.form-horizontal .form-group {
-    margin-left: -15px;
-    margin-right: -15px
-}
-
-.form-horizontal .form-group:after, .form-horizontal .form-group:before {
-    content: " ";
-    display: table
-}
-
-.form-horizontal .form-group:after {
-    clear: both
-}
-
-.form-horizontal .has-feedback .form-control-feedback {
-    right: 15px
-}
-
-@media (min-width: 768px) {
-    .form-horizontal .form-group-lg .control-label {
-        padding-top: 11px;
-        font-size: 18px
-    }
-
-    .form-horizontal .form-group-sm .control-label {
-        padding-top: 6px;
-        font-size: 12px
-    }
-}
-
-.btn {
-    display: inline-block;
-    margin-bottom: 0;
-    text-align: center;
-    touch-action: manipulation;
-    cursor: pointer;
-    background-image: none;
-    white-space: nowrap;
-    padding: 6px 12px;
-    font-size: 14px;
-    line-height: 1.42857;
-    -webkit-user-select: none;
-    -moz-user-select: none;
-    -ms-user-select: none;
-    user-select: none
-}
-
-.btn.active.focus, .btn.active:focus, .btn.focus, .btn:active.focus, .btn:active:focus, .btn:focus {
-    outline: -webkit-focus-ring-color auto 5px;
-    outline-offset: -2px
-}
-
-.btn.focus, .btn:focus, .btn:hover {
-    color: #79589F;
-    text-decoration: none
-}
-
-.btn.active, .btn:active {
-    background-image: none;
-    -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125)
-}
-
-.btn.disabled, .btn[disabled], fieldset[disabled] .btn {
-    cursor: not-allowed;
-    filter: alpha(opacity=65);
-    -webkit-box-shadow: none
-}
-
-a.btn.disabled, fieldset[disabled] a.btn {
-    pointer-events: none
-}
-
-.btn-default {
-    color: #79589F;
-    background-color: #fff;
-    border-color: #79589F
-}
-
-.btn-default.focus, .btn-default:focus {
-    color: #79589F;
-    background-color: #e6e6e6;
-    border-color: #3b2b4d
-}
-
-.actions-button .btn-default:focus, .btn-default.active, .btn-default:active, .btn-default:hover, .open > .btn-default.drop-down__toggle, .open > .btn-default.dropdown-toggle {
-    color: #79589F;
-    background-color: #e6e6e6;
-    border-color: #5b4278
-}
-
-.actions-button .btn-default:focus, .actions-button .btn-default:hover:focus, .actions-button .focus.btn-default:focus, .btn-default.active.focus, .btn-default.active:focus, .btn-default.active:hover, .btn-default:active.focus, .btn-default:active:focus, .btn-default:active:hover, .open > .btn-default.drop-down__toggle:focus, .open > .btn-default.drop-down__toggle:hover, .open > .btn-default.dropdown-toggle.focus, .open > .btn-default.dropdown-toggle:focus, .open > .btn-default.dropdown-toggle:hover, .open > .btn-default.focus.drop-down__toggle {
-    color: #79589F;
-    background-color: #d4d4d4;
-    border-color: #3b2b4d
-}
-
-.actions-button .btn-default:focus, .btn-default.active, .btn-default:active, .open > .btn-default.drop-down__toggle, .open > .btn-default.dropdown-toggle {
-    background-image: none
-}
-
-.btn-default.disabled.focus, .btn-default.disabled:focus, .btn-default.disabled:hover, .btn-default[disabled].focus, .btn-default[disabled]:focus, .btn-default[disabled]:hover, fieldset[disabled] .btn-default.focus, fieldset[disabled] .btn-default:focus, fieldset[disabled] .btn-default:hover {
-    background-color: #fff;
-    border-color: #79589F
-}
-
-.btn-default .badge {
-    color: #fff;
-    background-color: #79589F
-}
-
-.btn-primary {
-    border-color: #79589F
-}
-
-.btn-primary.focus, .btn-primary:focus {
-    color: #fff;
-    background-color: #60467e;
-    border-color: #3b2b4d
-}
-
-.btn-primary.active, .btn-primary:active, .btn-primary:hover, .open > .btn-primary.drop-down__toggle, .open > .btn-primary.dropdown-toggle {
-    border-color: #5b4278
-}
-
-.btn-primary.active.focus, .btn-primary.active:focus, .btn-primary.active:hover, .btn-primary:active.focus, .btn-primary:active:focus, .btn-primary:active:hover, .open > .btn-primary.drop-down__toggle:focus, .open > .btn-primary.drop-down__toggle:hover, .open > .btn-primary.dropdown-toggle.focus, .open > .btn-primary.dropdown-toggle:focus, .open > .btn-primary.dropdown-toggle:hover, .open > .btn-primary.focus.drop-down__toggle {
-    color: #fff;
-    background-color: #4f3967;
-    border-color: #3b2b4d
-}
-
-.btn-primary.active, .btn-primary:active, .open > .btn-primary.drop-down__toggle, .open > .btn-primary.dropdown-toggle {
-    background-image: none
-}
-
-.btn-primary.disabled.focus, .btn-primary.disabled:focus, .btn-primary.disabled:hover, .btn-primary[disabled].focus, .btn-primary[disabled]:focus, .btn-primary[disabled]:hover, fieldset[disabled] .btn-primary.focus, fieldset[disabled] .btn-primary:focus, fieldset[disabled] .btn-primary:hover {
-    background-color: #79589F;
-    border-color: #79589F
-}
-
-.btn-success {
-    border-color: #74C080
-}
-
-.btn-success.focus, .btn-success:focus {
-    color: #fff;
-    background-color: #51b060;
-    border-color: #387c43
-}
-
-.btn-success.active, .btn-success:active, .btn-success:hover, .open > .btn-success.drop-down__toggle, .open > .btn-success.dropdown-toggle {
-    border-color: #4daa5c
-}
-
-.btn-success.active.focus, .btn-success.active:focus, .btn-success.active:hover, .btn-success:active.focus, .btn-success:active:focus, .btn-success:active:hover, .open > .btn-success.drop-down__toggle:focus, .open > .btn-success.drop-down__toggle:hover, .open > .btn-success.dropdown-toggle.focus, .open > .btn-success.dropdown-toggle:focus, .open > .btn-success.dropdown-toggle:hover, .open > .btn-success.focus.drop-down__toggle {
-    color: #fff;
-    background-color: #459852;
-    border-color: #387c43
-}
-
-.btn-success.active, .btn-success:active, .open > .btn-success.drop-down__toggle, .open > .btn-success.dropdown-toggle {
-    background-image: none
-}
-
-.btn-success.disabled.focus, .btn-success.disabled:focus, .btn-success.disabled:hover, .btn-success[disabled].focus, .btn-success[disabled]:focus, .btn-success[disabled]:hover, fieldset[disabled] .btn-success.focus, fieldset[disabled] .btn-success:focus, fieldset[disabled] .btn-success:hover {
-    background-color: #74C080;
-    border-color: #74C080
-}
-
-.btn-info {
-    border-color: #408FEC
-}
-
-.btn-info.focus, .btn-info:focus {
-    color: #fff;
-    background-color: #1774e2;
-    border-color: #10519d
-}
-
-.btn-info.active, .btn-info:active, .btn-info:hover, .open > .btn-info.drop-down__toggle, .open > .btn-info.dropdown-toggle {
-    border-color: #166fd9
-}
-
-.btn-info.active.focus, .btn-info.active:focus, .btn-info.active:hover, .btn-info:active.focus, .btn-info:active:focus, .btn-info:active:hover, .open > .btn-info.drop-down__toggle:focus, .open > .btn-info.drop-down__toggle:hover, .open > .btn-info.dropdown-toggle.focus, .open > .btn-info.dropdown-toggle:focus, .open > .btn-info.dropdown-toggle:hover, .open > .btn-info.focus.drop-down__toggle {
-    color: #fff;
-    background-color: #1364c2;
-    border-color: #10519d
-}
-
-.btn-info.active, .btn-info:active, .open > .btn-info.drop-down__toggle, .open > .btn-info.dropdown-toggle {
-    background-image: none
-}
-
-.btn-info.disabled.focus, .btn-info.disabled:focus, .btn-info.disabled:hover, .btn-info[disabled].focus, .btn-info[disabled]:focus, .btn-info[disabled]:hover, fieldset[disabled] .btn-info.focus, fieldset[disabled] .btn-info:focus, fieldset[disabled] .btn-info:hover {
-    background-color: #408FEC;
-    border-color: #408FEC
-}
-
-.btn-warning {
-    border-color: #FA9F47
-}
-
-.btn-warning.focus, .btn-warning:focus {
-    color: #fff;
-    background-color: #f98515;
-    border-color: #bc5f05
-}
-
-.btn-warning.active, .btn-warning:active, .btn-warning:hover, .open > .btn-warning.drop-down__toggle, .open > .btn-warning.dropdown-toggle {
-    border-color: #f8800b
-}
-
-.btn-warning.active.focus, .btn-warning.active:focus, .btn-warning.active:hover, .btn-warning:active.focus, .btn-warning:active:focus, .btn-warning:active:hover, .open > .btn-warning.drop-down__toggle:focus, .open > .btn-warning.drop-down__toggle:hover, .open > .btn-warning.dropdown-toggle.focus, .open > .btn-warning.dropdown-toggle:focus, .open > .btn-warning.dropdown-toggle:hover, .open > .btn-warning.focus.drop-down__toggle {
-    color: #fff;
-    background-color: #e47306;
-    border-color: #bc5f05
-}
-
-.btn-warning.active, .btn-warning:active, .open > .btn-warning.drop-down__toggle, .open > .btn-warning.dropdown-toggle {
-    background-image: none
-}
-
-.btn-warning.disabled.focus, .btn-warning.disabled:focus, .btn-warning.disabled:hover, .btn-warning[disabled].focus, .btn-warning[disabled]:focus, .btn-warning[disabled]:hover, fieldset[disabled] .btn-warning.focus, fieldset[disabled] .btn-warning:focus, fieldset[disabled] .btn-warning:hover {
-    background-color: #FA9F47;
-    border-color: #FA9F47
-}
-
-.btn-danger {
-    border-color: #D64242
-}
-
-.btn-danger.focus, .btn-danger:focus {
-    color: #fff;
-    background-color: #bc2929;
-    border-color: #7d1b1b
-}
-
-.btn-danger.active, .btn-danger:active, .btn-danger:hover, .open > .btn-danger.drop-down__toggle, .open > .btn-danger.dropdown-toggle {
-    border-color: #b42727
-}
-
-.btn-danger.active.focus, .btn-danger.active:focus, .btn-danger.active:hover, .btn-danger:active.focus, .btn-danger:active:focus, .btn-danger:active:hover, .open > .btn-danger.drop-down__toggle:focus, .open > .btn-danger.drop-down__toggle:hover, .open > .btn-danger.dropdown-toggle.focus, .open > .btn-danger.dropdown-toggle:focus, .open > .btn-danger.dropdown-toggle:hover, .open > .btn-danger.focus.drop-down__toggle {
-    color: #fff;
-    background-color: #9f2222;
-    border-color: #7d1b1b
-}
-
-.btn-danger.active, .btn-danger:active, .open > .btn-danger.drop-down__toggle, .open > .btn-danger.dropdown-toggle {
-    background-image: none
-}
-
-.btn-danger.disabled.focus, .btn-danger.disabled:focus, .btn-danger.disabled:hover, .btn-danger[disabled].focus, .btn-danger[disabled]:focus, .btn-danger[disabled]:hover, fieldset[disabled] .btn-danger.focus, fieldset[disabled] .btn-danger:focus, fieldset[disabled] .btn-danger:hover {
-    background-color: #D64242;
-    border-color: #D64242
-}
-
-.btn-link {
-    color: #79589F
-}
-
-.btn-link, .btn-link.active, .btn-link:active, .btn-link[disabled], fieldset[disabled] .btn-link {
-    background-color: transparent;
-    -webkit-box-shadow: none;
-    box-shadow: none
-}
-
-.btn-link, .btn-link:active, .btn-link:focus, .btn-link:hover {
-    border-color: transparent
-}
-
-.btn-link:focus, .btn-link:hover {
-    color: #61467f;
-    text-decoration: underline;
-    background-color: transparent
-}
-
-.btn-link[disabled]:focus, .btn-link[disabled]:hover, fieldset[disabled] .btn-link:focus, fieldset[disabled] .btn-link:hover {
-    color: #EEF1F6;
-    text-decoration: none
-}
-
-.btn-group-lg > .btn, .btn-lg {
-    padding: 10px 16px;
-    font-size: 18px;
-    line-height: 1.33333
-}
-
-.btn-group-sm > .btn, .btn-sm {
-    padding: 5px 10px;
-    line-height: 1.5;
-    border-radius: 3px
-}
-
-.btn-group-xs > .btn, .btn-xs {
-    padding: 1px 5px;
-    font-size: 12px;
-    border-radius: 3px
-}
-
-.fade {
-    opacity: 0;
-    -webkit-transition: opacity .15s linear;
-    -o-transition: opacity .15s linear;
-    transition: opacity .15s linear
-}
-
-.fade.in {
-    opacity: 1
-}
-
-tr.collapse.in {
-    display: table-row
-}
-
-tbody.collapse.in {
-    display: table-row-group
-}
-
-.collapsing {
-    height: 0;
-    overflow: hidden;
-    -webkit-transition-property: height, visibility;
-    transition-property: height, visibility;
-    -webkit-transition-duration: .35s;
-    transition-duration: .35s;
-    -webkit-transition-timing-function: ease;
-    transition-timing-function: ease
-}
-
-.caret {
-    display: inline-block;
-    width: 0;
-    height: 0;
-    margin-left: 2px;
-    border-top: 4px dashed;
-    border-top: 4px solid \9;
-    border-right: 4px solid transparent;
-    border-left: 4px solid transparent
-}
-
-.drop-down__toggle:focus, .dropdown-toggle:focus {
-    outline: 0
-}
-
-.context-switcher__list, .drop-down__menu, .dropdown-menu {
-    position: absolute;
-    top: 100%;
-    left: 0;
-    display: none;
-    float: left;
-    min-width: 160px;
-    padding: 5px 0;
-    list-style: none;
-    text-align: left;
-    background-color: #fff;
-    border-radius: 4px;
-    -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, .175);
-    background-clip: padding-box
-}
-
-.dropdown-menu-right, .dropdown-menu.pull-right, .pull-right.context-switcher__list, .pull-right.drop-down__menu {
-    left: auto;
-    right: 0
-}
-
-.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child, .btn-group > .btn:last-child:not(:first-child), .btn-group > .drop-down__toggle:not(:first-child), .btn-group > .dropdown-toggle:not(:first-child) {
-    border-bottom-left-radius: 0;
-    border-top-left-radius: 0
-}
-
-.context-switcher__list .divider, .drop-down__menu .divider, .dropdown-menu .divider {
-    height: 1px;
-    margin: 9px 0;
-    overflow: hidden;
-    background-color: #e7ebf3
-}
-
-.context-switcher__list > li > a, .drop-down__menu > li > a, .dropdown-menu > li > a {
-    display: block;
-    clear: both;
-    font-weight: 400;
-    line-height: 1.42857;
-    color: #596981;
-    white-space: nowrap
-}
-
-.context-switcher__list > li > a:focus, .context-switcher__list > li > a:hover, .drop-down__menu > li > a:focus, .drop-down__menu > li > a:hover, .dropdown-menu > li > a:focus, .dropdown-menu > li > a:hover {
-    text-decoration: none;
-    color: #3F3F44;
-    background-color: #f7f8fb
-}
-
-.context-switcher__list > .active > a, .context-switcher__list > .active > a:focus, .context-switcher__list > .active > a:hover, .drop-down__menu > .active > a, .drop-down__menu > .active > a:focus, .drop-down__menu > .active > a:hover, .dropdown-menu > .active > a, .dropdown-menu > .active > a:focus, .dropdown-menu > .active > a:hover {
-    color: #fff;
-    text-decoration: none;
-    outline: 0;
-    background-color: #79589F
-}
-
-.context-switcher__list > .disabled > a, .context-switcher__list > .disabled > a:focus, .context-switcher__list > .disabled > a:hover, .drop-down__menu > .disabled > a, .drop-down__menu > .disabled > a:focus, .drop-down__menu > .disabled > a:hover, .dropdown-menu > .disabled > a, .dropdown-menu > .disabled > a:focus, .dropdown-menu > .disabled > a:hover {
-    color: #CFD7E6
-}
-
-.context-switcher__list > .disabled > a:focus, .context-switcher__list > .disabled > a:hover, .drop-down__menu > .disabled > a:focus, .drop-down__menu > .disabled > a:hover, .dropdown-menu > .disabled > a:focus, .dropdown-menu > .disabled > a:hover {
-    text-decoration: none;
-    background-color: transparent;
-    background-image: none;
-    filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
-    cursor: not-allowed
-}
-
-.open > .context-switcher__list, .open > .drop-down__menu, .open > .dropdown-menu {
-    display: block
-}
-
-.open > a {
-    outline: 0
-}
-
-.dropdown-menu-left {
-    left: 0;
-    right: auto
-}
-
-.dropdown-header {
-    display: block;
-    padding: 3px 20px;
-    font-size: 12px;
-    line-height: 1.42857;
-    color: #CFD7E6;
-    white-space: nowrap
-}
-
-.badge, .input-group-addon, .label {
-    line-height: 1;
-    text-align: center
-}
-
-.dropdown-backdrop {
-    position: fixed;
-    left: 0;
-    right: 0;
-    bottom: 0;
-    top: 0;
-    z-index: 990
-}
-
-.pull-right > .context-switcher__list, .pull-right > .drop-down__menu, .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 .context-switcher__list, .dropup .drop-down__menu, .dropup .dropdown-menu, .navbar-fixed-bottom .dropdown .context-switcher__list, .navbar-fixed-bottom .dropdown .drop-down__menu, .navbar-fixed-bottom .dropdown .dropdown-menu {
-    top: auto;
-    bottom: 100%;
-    margin-bottom: 2px
-}
-
-@media (min-width: 768px) {
-    .navbar-right .context-switcher__list, .navbar-right .drop-down__menu, .navbar-right .dropdown-menu {
-        right: 0;
-        left: auto
-    }
-
-    .navbar-right .dropdown-menu-left {
-        left: 0;
-        right: auto
-    }
-}
-
-.btn-group, .btn-group-vertical {
-    position: relative;
-    display: inline-block
-}
-
-.btn-group-vertical > .btn, .btn-group > .btn {
-    position: relative;
-    float: left
-}
-
-.btn-group-vertical > .btn.active, .btn-group-vertical > .btn:active, .btn-group-vertical > .btn:focus, .btn-group-vertical > .btn:hover, .btn-group > .btn.active, .btn-group > .btn:active, .btn-group > .btn:focus, .btn-group > .btn:hover {
-    z-index: 2
-}
-
-.btn-group .btn + .btn, .btn-group .btn + .btn-group, .btn-group .btn-group + .btn, .btn-group .btn-group + .btn-group {
-    margin-left: -1px
-}
-
-.btn-toolbar {
-    margin-left: -5px
-}
-
-.btn-toolbar:after, .btn-toolbar:before {
-    content: " ";
-    display: table
-}
-
-.btn-toolbar:after {
-    clear: both
-}
-
-.btn-toolbar .btn, .btn-toolbar .btn-group, .btn-toolbar .input-group {
-    float: left
-}
-
-.btn-toolbar > .btn, .btn-toolbar > .btn-group, .btn-toolbar > .input-group {
-    margin-left: 5px
-}
-
-.btn-group > .btn:first-child {
-    margin-left: 0
-}
-
-.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle):not(.drop-down__toggle) {
-    border-bottom-right-radius: 0;
-    border-top-right-radius: 0
-}
-
-.btn-group > .btn-group {
-    float: left
-}
-
-.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child, .btn-group > .btn-group:first-child:not(:last-child) > .drop-down__toggle, .btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {
-    border-bottom-right-radius: 0;
-    border-top-right-radius: 0
-}
-
-.btn-group .drop-down__toggle:active, .btn-group .dropdown-toggle:active, .btn-group.open .drop-down__toggle, .btn-group.open .dropdown-toggle {
-    outline: 0
-}
-
-.btn-group > .btn + .drop-down__toggle, .btn-group > .btn + .dropdown-toggle {
-    padding-left: 8px;
-    padding-right: 8px
-}
-
-.btn-group-lg.btn-group > .btn + .drop-down__toggle, .btn-group-lg.btn-group > .btn + .dropdown-toggle, .btn-group > .btn-lg + .drop-down__toggle, .btn-group > .btn-lg + .dropdown-toggle {
-    padding-left: 12px;
-    padding-right: 12px
-}
-
-.btn-group.open .drop-down__toggle, .btn-group.open .dropdown-toggle {
-    -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
-    box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125)
-}
-
-.btn-group.open .btn-link.drop-down__toggle, .btn-group.open .dropdown-toggle.btn-link {
-    -webkit-box-shadow: none;
-    box-shadow: none
-}
-
-.btn .caret {
-    margin-left: 0
-}
-
-.btn-group-lg > .btn .caret, .btn-lg .caret {
-    border-width: 5px 5px 0
-}
-
-.dropup .btn-group-lg > .btn .caret, .dropup .btn-lg .caret {
-    border-width: 0 5px 5px
-}
-
-.btn-group-vertical > .btn, .btn-group-vertical > .btn-group, .btn-group-vertical > .btn-group > .btn {
-    display: block;
-    float: none;
-    width: 100%;
-    max-width: 100%
-}
-
-.media-object.img-thumbnail, .metrics__datastore-chart-switcher .metrics__process-switcher__item-link.active .metrics__process-switcher__item-header, .metrics__datastore-chart-switcher button.metrics__process-switcher__btn, .metrics__datastore-chart-switcher ul.metrics__process-switcher__menu, .nav > li > a > img {
-    max-width: none
-}
-
-.btn-group-vertical > .btn-group:after, .btn-group-vertical > .btn-group:before {
-    content: " ";
-    display: table
-}
-
-.btn-group-vertical > .btn-group:after {
-    clear: both
-}
-
-.btn-group-vertical > .btn-group > .btn {
-    float: none
-}
-
-.btn-group-vertical > .btn + .btn, .btn-group-vertical > .btn + .btn-group, .btn-group-vertical > .btn-group + .btn, .btn-group-vertical > .btn-group + .btn-group {
-    margin-top: -1px;
-    margin-left: 0
-}
-
-.btn-group-vertical > .btn:first-child:not(:last-child) {
-    border-radius: 4px 4px 0 0
-}
-
-.btn-group-vertical > .btn:last-child:not(:first-child) {
-    border-radius: 0 0 4px 4px
-}
-
-.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn, .input-group .form-control:not(:first-child):not(:last-child), .input-group-addon:not(:first-child):not(:last-child), .input-group-btn:not(:first-child):not(:last-child) {
-    border-radius: 0
-}
-
-.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child, .btn-group-vertical > .btn-group:first-child:not(:last-child) > .drop-down__toggle, .btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {
-    border-bottom-right-radius: 0;
-    border-bottom-left-radius: 0
-}
-
-.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {
-    border-top-right-radius: 0;
-    border-top-left-radius: 0
-}
-
-.btn-group-justified {
-    display: table;
-    width: 100%;
-    table-layout: fixed;
-    border-collapse: separate
-}
-
-.btn-group-justified > .btn, .btn-group-justified > .btn-group {
-    float: none;
-    display: table-cell;
-    width: 1%
-}
-
-.btn-group-justified > .btn-group .btn {
-    width: 100%
-}
-
-.btn-group-justified > .btn-group .context-switcher__list, .btn-group-justified > .btn-group .drop-down__menu, .btn-group-justified > .btn-group .dropdown-menu {
-    left: auto
-}
-
-[data-toggle=buttons] > .btn input[type=checkbox], [data-toggle=buttons] > .btn input[type=radio], [data-toggle=buttons] > .btn-group > .btn input[type=checkbox], [data-toggle=buttons] > .btn-group > .btn input[type=radio] {
-    position: absolute;
-    clip: rect(0, 0, 0, 0);
-    pointer-events: none
-}
-
-.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 .form-control, .input-group-addon, .input-group-btn {
-    display: table-cell
-}
-
-.input-group-addon, .input-group-btn {
-    width: 1%;
-    white-space: nowrap
-}
-
-.input-group-addon {
-    padding: 6px 12px;
-    font-size: 14px;
-    font-weight: 400;
-    color: #3F3F44;
-    background-color: #EEF1F6;
-    border: 1px solid #CFD7E6;
-    border-radius: 4px
-}
-
-.input-group-addon.input-sm, .input-group-sm > .input-group-addon, .input-group-sm > .input-group-btn > .input-group-addon.btn {
-    padding: 5px 10px;
-    font-size: 12px;
-    border-radius: 3px
-}
-
-.input-group-addon.input-lg, .input-group-lg > .input-group-addon, .input-group-lg > .input-group-btn > .input-group-addon.btn {
-    padding: 10px 16px;
-    font-size: 18px;
-    border-radius: 6px
-}
-
-.input-group-addon input[type=checkbox], .input-group-addon input[type=radio] {
-    margin-top: 0
-}
-
-.input-group .form-control:first-child, .input-group-addon:first-child, .input-group-btn:first-child > .btn, .input-group-btn:first-child > .btn-group > .btn, .input-group-btn:first-child > .drop-down__toggle, .input-group-btn:first-child > .dropdown-toggle, .input-group-btn:last-child > .btn-group:not(:last-child) > .btn, .input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle):not(.drop-down__toggle) {
-    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, .input-group-btn:first-child > .btn-group:not(:first-child) > .btn, .input-group-btn:first-child > .btn:not(:first-child), .input-group-btn:last-child > .btn, .input-group-btn:last-child > .btn-group > .btn, .input-group-btn:last-child > .drop-down__toggle, .input-group-btn:last-child > .dropdown-toggle {
-    border-bottom-left-radius: 0;
-    border-top-left-radius: 0
-}
-
-.input-group-addon:last-child {
-    border-left: 0
-}
-
-.input-group-btn {
-    position: relative;
-    font-size: 0;
-    white-space: nowrap
-}
-
-.input-group-btn > .btn {
-    position: relative
-}
-
-.input-group-btn > .btn + .btn {
-    margin-left: -1px
-}
-
-.input-group-btn > .btn:active, .input-group-btn > .btn:focus, .input-group-btn > .btn:hover {
-    z-index: 2
-}
-
-.input-group-btn:first-child > .btn, .input-group-btn:first-child > .btn-group {
-    margin-right: -1px
-}
-
-.input-group-btn:last-child > .btn, .input-group-btn:last-child > .btn-group {
-    z-index: 2;
-    margin-left: -1px
-}
-
-.nav {
-    margin-bottom: 0;
-    padding-left: 0;
-    list-style: none
-}
-
-.nav:after, .nav:before {
-    content: " ";
-    display: table
-}
-
-.nav > li, .nav > li > a {
-    display: block;
-    position: relative
-}
-
-.nav:after {
-    clear: both
-}
-
-.nav > li > a {
-    padding: 10px 15px
-}
-
-.nav > li > a:focus, .nav > li > a:hover {
-    text-decoration: none;
-    background-color: #EEF1F6
-}
-
-.nav > li.disabled > a {
-    color: #CFD7E6
-}
-
-.nav > li.disabled > a:focus, .nav > li.disabled > a:hover {
-    color: #CFD7E6;
-    text-decoration: none;
-    background-color: transparent;
-    cursor: not-allowed
-}
-
-.nav .open > a, .nav .open > a:focus, .nav .open > a:hover {
-    background-color: #EEF1F6;
-    border-color: #79589F
-}
-
-.nav .nav-divider {
-    height: 1px;
-    margin: 9px 0;
-    overflow: hidden;
-    background-color: #e5e5e5
-}
-
-.btn-group-sm > .btn .icon, .btn-sm .icon, .nav-tabs > li > a {
-    margin-right: 2px
-}
-
-.nav-tabs {
-    border-bottom: 1px solid #ddd
-}
-
-.nav-tabs > li {
-    float: left;
-    margin-bottom: -1px
-}
-
-.nav-tabs > li > a {
-    line-height: 1.42857;
-    border: 1px solid transparent;
-    border-radius: 4px 4px 0 0
-}
-
-.nav-tabs > li > a:hover {
-    border-color: #EEF1F6 #EEF1F6 #ddd
-}
-
-.nav-tabs > li.active > a, .nav-tabs > li.active > a:focus, .nav-tabs > li.active > a:hover {
-    color: #96A3B6;
-    background-color: #fff;
-    border: 1px solid #ddd;
-    border-bottom-color: transparent;
-    cursor: default
-}
-
-.nav-pills > li {
-    float: left
-}
-
-.nav-justified > li, .nav-stacked > li, .nav-tabs.nav-justified > li {
-    float: none
-}
-
-.nav-pills > li > a {
-    border-radius: 4px
-}
-
-.nav-pills > li + li {
-    margin-left: 2px
-}
-
-.nav-pills > li.active > a, .nav-pills > li.active > a:focus, .nav-pills > li.active > a:hover {
-    color: #fff;
-    background-color: #79589F
-}
-
-.nav-stacked > li + li {
-    margin-top: 2px;
-    margin-left: 0
-}
-
-.nav-justified, .nav-tabs.nav-justified {
-    width: 100%
-}
-
-.nav-justified > li > a, .nav-tabs.nav-justified > li > a {
-    text-align: center;
-    margin-bottom: 5px
-}
-
-.nav-justified > .dropdown .context-switcher__list, .nav-justified > .dropdown .drop-down__menu, .nav-justified > .dropdown .dropdown-menu {
-    top: auto;
-    left: auto
-}
-
-@media (min-width: 768px) {
-    .nav-justified > li, .nav-tabs.nav-justified > li {
-        display: table-cell;
-        width: 1%
-    }
-
-    .nav-justified > li > a, .nav-tabs.nav-justified > li > a {
-        margin-bottom: 0
-    }
-}
-
-.alert, .breadcrumb {
-    margin-bottom: 20px
-}
-
-.nav-tabs-justified, .nav-tabs.nav-justified {
-    border-bottom: 0
-}
-
-.nav-tabs-justified > li > a, .nav-tabs.nav-justified > li > a {
-    margin-right: 0;
-    border-radius: 4px
-}
-
-.nav-tabs-justified > .active > a, .nav-tabs-justified > .active > a:focus, .nav-tabs-justified > .active > a:hover, .nav-tabs.nav-justified > .active > a, .nav-tabs.nav-justified > .active > a:focus, .nav-tabs.nav-justified > .active > a:hover {
-    border: 1px solid #ddd
-}
-
-@media (min-width: 768px) {
-    .nav-tabs-justified > li > a, .nav-tabs.nav-justified > li > a {
-        border-bottom: 1px solid #ddd;
-        border-radius: 4px 4px 0 0
-    }
-
-    .nav-tabs-justified > .active > a, .nav-tabs-justified > .active > a:focus, .nav-tabs-justified > .active > a:hover, .nav-tabs.nav-justified > .active > a, .nav-tabs.nav-justified > .active > a:focus, .nav-tabs.nav-justified > .active > a:hover {
-        border-bottom-color: #fff
-    }
-}
-
-.tab-content > .tab-pane {
-    display: none
-}
-
-.tab-content > .active {
-    display: block
-}
-
-.breadcrumb > li, .pagination {
-    display: inline-block
-}
-
-.nav-tabs .context-switcher__list, .nav-tabs .drop-down__menu, .nav-tabs .dropdown-menu {
-    margin-top: -1px;
-    border-top-right-radius: 0;
-    border-top-left-radius: 0
-}
-
-.breadcrumb {
-    padding: 8px 15px;
-    list-style: none;
-    background-color: #f5f5f5;
-    border-radius: 4px
-}
-
-.breadcrumb > li + li:before {
-    content: "/ ";
-    padding: 0 5px;
-    color: #ccc
-}
-
-.breadcrumb > .active {
-    color: #CFD7E6
-}
-
-.pagination {
-    padding-left: 0;
-    margin: 20px 0;
-    border-radius: 4px
-}
-
-.pagination > li {
-    display: inline
-}
-
-.pagination > li > a, .pagination > li > span {
-    position: relative;
-    float: left;
-    padding: 6px 12px;
-    line-height: 1.42857;
-    text-decoration: none;
-    color: #79589F;
-    background-color: #fff;
-    border: 1px solid #ddd;
-    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:focus, .pagination > li > a:hover, .pagination > li > span:focus, .pagination > li > span:hover {
-    z-index: 2;
-    color: #61467f;
-    background-color: #EEF1F6;
-    border-color: #ddd
-}
-
-.pagination > .active > a, .pagination > .active > a:focus, .pagination > .active > a:hover, .pagination > .active > span, .pagination > .active > span:focus, .pagination > .active > span:hover {
-    z-index: 3;
-    color: #fff;
-    background-color: #79589F;
-    border-color: #79589F;
-    cursor: default
-}
-
-.pagination > .disabled > a, .pagination > .disabled > a:focus, .pagination > .disabled > a:hover, .pagination > .disabled > span, .pagination > .disabled > span:focus, .pagination > .disabled > span:hover {
-    color: #CFD7E6;
-    background-color: #fff;
-    border-color: #ddd;
-    cursor: not-allowed
-}
-
-.pagination-lg > li > a, .pagination-lg > li > span {
-    padding: 10px 16px;
-    font-size: 18px;
-    line-height: 1.33333
-}
-
-.hk-braintree-hosted-fields, .pagination-sm > li > a, .pagination-sm > li > span {
-    padding: 5px 10px;
-    padding: 5px 10px;
-    padding: 5px 10px
-}
-
-.pagination-lg > li:first-child > a, .pagination-lg > li:first-child > span {
-    border-bottom-left-radius: 6px;
-    border-top-left-radius: 6px
-}
-
-.pagination-lg > li:last-child > a, .pagination-lg > li:last-child > span {
-    border-bottom-right-radius: 6px;
-    border-top-right-radius: 6px
-}
-
-.pagination-sm > li > a, .pagination-sm > li > span {
-    font-size: 12px;
-    line-height: 1.5
-}
-
-.pagination-sm > li:first-child > a, .pagination-sm > li:first-child > span {
-    border-bottom-left-radius: 3px;
-    border-top-left-radius: 3px
-}
-
-.pagination-sm > li:last-child > a, .pagination-sm > li:last-child > span {
-    border-bottom-right-radius: 3px;
-    border-top-right-radius: 3px
-}
-
-.pager {
-    padding-left: 0;
-    margin: 20px 0;
-    list-style: none;
-    text-align: center
-}
-
-.pager:after, .pager:before {
-    content: " ";
-    display: table
-}
-
-.pager:after {
-    clear: both
-}
-
-.pager li {
-    display: inline
-}
-
-.pager li > a, .pager li > span {
-    display: inline-block;
-    padding: 5px 14px;
-    background-color: #fff;
-    border: 1px solid #ddd;
-    border-radius: 15px
-}
-
-.pager li > a:focus, .pager li > a:hover {
-    text-decoration: none;
-    background-color: #EEF1F6
-}
-
-.pager .next > a, .pager .next > span {
-    float: right
-}
-
-.pager .previous > a, .pager .previous > span {
-    float: left
-}
-
-.pager .disabled > a, .pager .disabled > a:focus, .pager .disabled > a:hover, .pager .disabled > span {
-    color: #CFD7E6;
-    background-color: #fff;
-    cursor: not-allowed
-}
-
-.label {
-    display: inline;
-    padding: .2em .6em .3em;
-    color: #fff;
-    white-space: nowrap;
-    border-radius: .25em
-}
-
-.label:empty {
-    display: none
-}
-
-.btn .label {
-    position: relative;
-    top: -1px
-}
-
-a.label:focus, a.label:hover {
-    color: #fff;
-    text-decoration: none;
-    cursor: pointer
-}
-
-.label-default[href]:focus, .label-default[href]:hover {
-    background-color: #adbbd5
-}
-
-.label-primary[href]:focus, .label-primary[href]:hover {
-    background-color: #60467e
-}
-
-.label-success[href]:focus, .label-success[href]:hover {
-    background-color: #51b060
-}
-
-.label-info[href]:focus, .label-info[href]:hover {
-    background-color: #1774e2
-}
-
-.label-warning[href]:focus, .label-warning[href]:hover {
-    background-color: #f98515
-}
-
-.label-danger[href]:focus, .label-danger[href]:hover {
-    background-color: #bc2929
-}
-
-.badge {
-    display: inline-block;
-    min-width: 10px;
-    padding: 3px 7px;
-    font-size: 12px;
-    color: #fff;
-    vertical-align: middle;
-    white-space: nowrap;
-    background-color: #CFD7E6;
-    border-radius: 10px
-}
-
-.badge:empty, .modal {
-    display: none
-}
-
-.btn .badge {
-    position: relative;
-    top: -1px
-}
-
-.btn-group-xs > .btn .badge, .btn-xs .badge {
-    top: 0;
-    padding: 1px 5px
-}
-
-.list-group-item.active > .badge, .nav-pills > .active > a > .badge {
-    color: #79589F;
-    background-color: #fff
-}
-
-.list-group-item > .badge {
-    float: right
-}
-
-.list-group-item > .badge + .badge {
-    margin-right: 5px
-}
-
-.nav-pills > li > a > .badge {
-    margin-left: 3px
-}
-
-a.badge:focus, a.badge:hover {
-    color: #fff;
-    text-decoration: none;
-    cursor: pointer
-}
-
-.alert {
-    padding: 10px;
-    border: 1px solid transparent;
-    border-radius: 4px
-}
-
-.alert .dyno-tier-picker-item-size-name, .alert .panel-section .panel-title, .alert h4, .panel-section .alert .panel-title {
-    margin-top: 0;
-    color: inherit
-}
-
-.alert > p + p, .panel-group .panel + .panel, .panel-section .alert > .panel-details + .panel-details, .panel-section .alert > .panel-details + p, .panel-section .alert > p + .panel-details {
-    margin-top: 5px
-}
-
-.alert .alert-link {
-    font-weight: 400
-}
-
-.alert > p, .alert > ul, .panel-section .alert > .panel-details {
-    margin-bottom: 0
-}
-
-.alert-dismissable, .alert-dismissible {
-    padding-right: 30px
-}
-
-.alert-dismissable .close, .alert-dismissible .close {
-    position: relative;
-    top: -2px;
-    right: -21px;
-    color: inherit
-}
-
-.modal, .modal-backdrop {
-    top: 0;
-    right: 0;
-    bottom: 0;
-    left: 0
-}
-
-.alert-success {
-    background-color: #f8fcf9;
-    border-color: #c7e6cc
-}
-
-.alert-success hr {
-    border-top-color: #b5debc
-}
-
-.alert-success .alert-link {
-    color: #51b060
-}
-
-.alert-info {
-    background-color: #f5f9fe;
-    border-color: #b3d2f7
-}
-
-.alert-info hr {
-    border-top-color: #9cc4f5
-}
-
-.alert-info .alert-link {
-    color: #1774e2
-}
-
-.alert-warning {
-    background-color: #fffaf6;
-    border-color: #fdd9b5
-}
-
-.alert-warning hr {
-    border-top-color: #fccc9c
-}
-
-.alert-warning .alert-link {
-    color: #f98515
-}
-
-.alert-danger {
-    background-color: #fdf6f6;
-    border-color: #efb3b3
-}
-
-.alert-danger hr {
-    border-top-color: #eb9e9e
-}
-
-.alert-danger .alert-link {
-    color: #bc2929
-}
-
-.media {
-    margin-top: 15px
-}
-
-.media:first-child {
-    margin-top: 0
-}
-
-.media, .media-body {
-    zoom: 1;
-    overflow: hidden
-}
-
-.media-body {
-    width: 10000px
-}
-
-.media-object {
-    display: block
-}
-
-.media-right, .media > .pull-right {
-    padding-left: 10px
-}
-
-.media-left, .media > .pull-left {
-    padding-right: 10px
-}
-
-.media-body, .media-left, .media-right {
-    display: table-cell;
-    vertical-align: top
-}
-
-.btn .icon, .loading-spinner, .media-middle, .nav.sub-nav a i, .nav.sub-nav a > a, .spinner, table.editable-list tr > td, table.static-list tr > td {
-    vertical-align: middle
-}
-
-.media-bottom {
-    vertical-align: bottom
-}
-
-.media-heading {
-    margin-top: 0;
-    margin-bottom: 5px
-}
-
-.media-list {
-    padding-left: 0;
-    list-style: none
-}
-
-.list-group {
-    margin-bottom: 20px;
-    padding-left: 0
-}
-
-.list-group-item {
-    position: relative;
-    display: block;
-    margin-bottom: -1px;
-    background-color: #fff;
-    border: 1px solid #e7ebf3
-}
-
-.list-group-item:first-child {
-    border-top-right-radius: none;
-    border-top-left-radius: none
-}
-
-.list-group-item:last-child {
-    margin-bottom: 0;
-    border-bottom-right-radius: none;
-    border-bottom-left-radius: none
-}
-
-a.list-group-item, button.list-group-item {
-    color: #555
-}
-
-a.list-group-item .list-group-item-heading, button.list-group-item .list-group-item-heading {
-    color: #3F3F44
-}
-
-a.list-group-item:focus, a.list-group-item:hover, button.list-group-item:focus, button.list-group-item:hover {
-    text-decoration: none;
-    color: #555;
-    background-color: #f7f8fb
-}
-
-button.list-group-item {
-    width: 100%;
-    text-align: left
-}
-
-.list-group-item.disabled, .list-group-item.disabled:focus, .list-group-item.disabled:hover {
-    background-color: #EEF1F6;
-    color: #CFD7E6;
-    cursor: not-allowed
-}
-
-.list-group-item.disabled .list-group-item-heading, .list-group-item.disabled:focus .list-group-item-heading, .list-group-item.disabled:hover .list-group-item-heading {
-    color: inherit
-}
-
-.list-group-item.disabled .list-group-item-text, .list-group-item.disabled:focus .list-group-item-text, .list-group-item.disabled:hover .list-group-item-text {
-    color: #CFD7E6
-}
-
-.list-group-item.active, .list-group-item.active:focus, .list-group-item.active:hover {
-    z-index: 2;
-    color: #408FEC;
-    background-color: #fff;
-    border-color: #e7ebf3
-}
-
-.list-group-item.active .list-group-item-heading, .list-group-item.active .list-group-item-heading > .small, .list-group-item.active .list-group-item-heading > small, .list-group-item.active .panel-section .list-group-item-heading > .panel-details, .list-group-item.active:focus .list-group-item-heading, .list-group-item.active:focus .list-group-item-heading > .small, .list-group-item.active:focus .list-group-item-heading > small, .list-group-item.active:focus .panel-section .list-group-item-heading > .panel-details, .list-group-item.active:hover .list-group-item-heading, .list-group-item.active:hover .list-group-item-heading > .small, .list-group-item.active:hover .list-group-item-heading > small, .list-group-item.active:hover .panel-section .list-group-item-heading > .panel-details, .panel-section .list-group-item.active .list-group-item-heading > .panel-details, .panel-section .list-group-item.active:focus .list-group-item-heading > .panel-details, .panel-section .list-group-item.active:hover .list-group-item-heading > .panel-details {
-    color: inherit
-}
-
-.list-group-item.active .list-group-item-text, .list-group-item.active:focus .list-group-item-text, .list-group-item.active:hover .list-group-item-text {
-    color: #408FEC
-}
-
-.list-group-item-success {
-    color: #74C080;
-    background-color: #f8fcf9
-}
-
-a.list-group-item-success, button.list-group-item-success {
-    color: #74C080
-}
-
-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:focus, a.list-group-item-success:hover, button.list-group-item-success:focus, button.list-group-item-success:hover {
-    color: #74C080;
-    background-color: #e6f4ea
-}
-
-a.list-group-item-success.active, a.list-group-item-success.active:focus, a.list-group-item-success.active:hover, button.list-group-item-success.active, button.list-group-item-success.active:focus, button.list-group-item-success.active:hover {
-    color: #fff;
-    background-color: #74C080;
-    border-color: #74C080
-}
-
-.list-group-item-info {
-    color: #408FEC;
-    background-color: #f5f9fe
-}
-
-a.list-group-item-info, button.list-group-item-info {
-    color: #408FEC
-}
-
-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:focus, a.list-group-item-info:hover, button.list-group-item-info:focus, button.list-group-item-info:hover {
-    color: #408FEC;
-    background-color: #deebfc
-}
-
-a.list-group-item-info.active, a.list-group-item-info.active:focus, a.list-group-item-info.active:hover, button.list-group-item-info.active, button.list-group-item-info.active:focus, button.list-group-item-info.active:hover {
-    color: #fff;
-    background-color: #408FEC;
-    border-color: #408FEC
-}
-
-.list-group-item-warning {
-    color: #FA9F47;
-    background-color: #fffaf6
-}
-
-a.list-group-item-warning, button.list-group-item-warning {
-    color: #FA9F47
-}
-
-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:focus, a.list-group-item-warning:hover, button.list-group-item-warning:focus, button.list-group-item-warning:hover {
-    color: #FA9F47;
-    background-color: #ffecdd
-}
-
-a.list-group-item-warning.active, a.list-group-item-warning.active:focus, a.list-group-item-warning.active:hover, button.list-group-item-warning.active, button.list-group-item-warning.active:focus, button.list-group-item-warning.active:hover {
-    color: #fff;
-    background-color: #FA9F47;
-    border-color: #FA9F47
-}
-
-.list-group-item-danger {
-    color: #D64242;
-    background-color: #fdf6f6
-}
-
-a.list-group-item-danger, button.list-group-item-danger {
-    color: #D64242
-}
-
-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:focus, a.list-group-item-danger:hover, button.list-group-item-danger:focus, button.list-group-item-danger:hover {
-    color: #D64242;
-    background-color: #f8e1e1
-}
-
-a.list-group-item-danger.active, a.list-group-item-danger.active:focus, a.list-group-item-danger.active:hover, button.list-group-item-danger.active, button.list-group-item-danger.active:focus, button.list-group-item-danger.active:hover {
-    color: #fff;
-    background-color: #D64242;
-    border-color: #D64242
-}
-
-.panel-heading > .dropdown .drop-down__toggle, .panel-heading > .dropdown .dropdown-toggle, .panel-section .panel-title > .panel-details, .panel-section .panel-title > .panel-details > a, .panel-title, .panel-title > .small, .panel-title > .small > a, .panel-title > a, .panel-title > small, .panel-title > small > a {
-    color: inherit
-}
-
-.list-group-item-heading {
-    margin-top: 0;
-    margin-bottom: 5px
-}
-
-.list-group-item-text {
-    margin-bottom: 0;
-    line-height: 1.3
-}
-
-.panel {
-    margin-bottom: 20px;
-    background-color: #fff;
-    border: 1px solid transparent;
-    border-radius: 4px;
-    -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, .05);
-    box-shadow: 0 1px 1px rgba(0, 0, 0, .05)
-}
-
-.panel-title, .panel > .list-group, .panel > .panel-collapse > .list-group, .panel > .panel-collapse > .table, .panel > .table, .panel > .table-responsive, .panel > .table-responsive > .table {
-    margin-bottom: 0
-}
-
-.panel-body {
-    padding: 15px
-}
-
-.panel-body:after, .panel-body:before {
-    content: " ";
-    display: table
-}
-
-.panel-body:after {
-    clear: both
-}
-
-.panel-heading {
-    padding: 10px 15px;
-    border-bottom: 1px solid transparent;
-    border-top-right-radius: 3px;
-    border-top-left-radius: 3px
-}
-
-.panel-title {
-    margin-top: 0;
-    font-size: 16px
-}
-
-.panel-footer {
-    padding: 10px 15px;
-    background-color: #f5f5f5;
-    border-top: 1px solid #ddd;
-    border-bottom-right-radius: 3px;
-    border-bottom-left-radius: 3px
-}
-
-.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
-}
-
-.list-group + .panel-footer, .panel-heading + .list-group .list-group-item:first-child {
-    border-top-width: 0
-}
-
-.panel > .panel-collapse > .table caption, .panel > .table caption, .panel > .table-responsive > .table caption {
-    padding-left: 15px;
-    padding-right: 15px
-}
-
-.panel > .table-responsive:first-child > .table:first-child, .panel > .table:first-child {
-    border-top-right-radius: 3px;
-    border-top-left-radius: 3px
-}
-
-.panel > .table-responsive:first-child > .table:first-child > tbody: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:first-child > thead:first-child > tr:first-child {
-    border-top-left-radius: 3px;
-    border-top-right-radius: 3px
-}
-
-.panel > .table-responsive:first-child > .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 th:first-child, .panel > .table-responsive:first-child > .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 th:first-child, .panel > .table:first-child > tbody:first-child > tr:first-child td:first-child, .panel > .table:first-child > tbody:first-child > tr:first-child th:first-child, .panel > .table:first-child > thead:first-child > tr:first-child td:first-child, .panel > .table:first-child > thead:first-child > tr:first-child th:first-child {
-    border-top-left-radius: 3px
-}
-
-.panel > .table-responsive:first-child > .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 th:last-child, .panel > .table-responsive:first-child > .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 th:last-child, .panel > .table:first-child > tbody:first-child > tr:first-child td:last-child, .panel > .table:first-child > tbody:first-child > tr:first-child th:last-child, .panel > .table:first-child > thead:first-child > tr:first-child td:last-child, .panel > .table:first-child > thead:first-child > tr:first-child th:last-child {
-    border-top-right-radius: 3px
-}
-
-.panel > .table-responsive:last-child > .table:last-child, .panel > .table:last-child {
-    border-bottom-right-radius: 3px;
-    border-bottom-left-radius: 3px
-}
-
-.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child, .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child, .panel > .table:last-child > tbody:last-child > tr:last-child, .panel > .table:last-child > tfoot:last-child > tr:last-child {
-    border-bottom-left-radius: 3px;
-    border-bottom-right-radius: 3px
-}
-
-.panel > .table-responsive:last-child > .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 th:first-child, .panel > .table-responsive:last-child > .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 th:first-child, .panel > .table:last-child > tbody:last-child > tr:last-child td:first-child, .panel > .table:last-child > tbody:last-child > tr:last-child th:first-child, .panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child, .panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child {
-    border-bottom-left-radius: 3px
-}
-
-.panel > .table-responsive:last-child > .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 th:last-child, .panel > .table-responsive:last-child > .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 th:last-child, .panel > .table:last-child > tbody:last-child > tr:last-child td:last-child, .panel > .table:last-child > tbody:last-child > tr:last-child th:last-child, .panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child, .panel > .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 #e7ebf3
-}
-
-.panel > .table > tbody:first-child > tr:first-child td, .panel > .table > tbody:first-child > tr:first-child th {
-    border-top: 0
-}
-
-.panel > .table-bordered, .panel > .table-responsive > .table-bordered {
-    border: 0
-}
-
-.panel > .table-bordered > tbody > tr > td:first-child, .panel > .table-bordered > tbody > tr > th:first-child, .panel > .table-bordered > tfoot > tr > td:first-child, .panel > .table-bordered > tfoot > tr > th:first-child, .panel > .table-bordered > thead > tr > td:first-child, .panel > .table-bordered > thead > tr > th:first-child, .panel > .table-responsive > .table-bordered > tbody > tr > td:first-child, .panel > .table-responsive > .table-bordered > tbody > tr > th:first-child, .panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child, .panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child, .panel > .table-responsive > .table-bordered > thead > tr > td:first-child, .panel > .table-responsive > .table-bordered > thead > tr > th:first-child {
-    border-left: 0
-}
-
-.panel > .table-bordered > tbody > tr > td:last-child, .panel > .table-bordered > tbody > tr > th:last-child, .panel > .table-bordered > tfoot > tr > td:last-child, .panel > .table-bordered > tfoot > tr > th:last-child, .panel > .table-bordered > thead > tr > td:last-child, .panel > .table-bordered > thead > tr > th:last-child, .panel > .table-responsive > .table-bordered > tbody > tr > td:last-child, .panel > .table-responsive > .table-bordered > tbody > tr > th:last-child, .panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child, .panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child, .panel > .table-responsive > .table-bordered > thead > tr > td:last-child, .panel > .table-responsive > .table-bordered > thead > tr > th:last-child {
-    border-right: 0
-}
-
-.panel > .table-bordered > tbody > tr:first-child > td, .panel > .table-bordered > tbody > tr:first-child > th, .panel > .table-bordered > tbody > tr:last-child > td, .panel > .table-bordered > tbody > tr:last-child > th, .panel > .table-bordered > tfoot > tr:last-child > td, .panel > .table-bordered > tfoot > tr:last-child > th, .panel > .table-bordered > thead > tr:first-child > td, .panel > .table-bordered > thead > tr:first-child > th, .panel > .table-responsive > .table-bordered > tbody > tr:first-child > td, .panel > .table-responsive > .table-bordered > tbody > tr:first-child > th, .panel > .table-responsive > .table-bordered > tbody > tr:last-child > td, .panel > .table-responsive > .table-bordered > tbody > tr:last-child > th, .panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td, .panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th, .panel > .table-responsive > .table-bordered > thead > tr:first-child > td, .panel > .table-responsive > .table-bordered > thead > tr:first-child > th {
-    border-bottom: 0
-}
-
-.panel > .table-responsive {
-    border: 0
-}
-
-.panel-group {
-    margin-bottom: 20px
-}
-
-.panel-group .panel {
-    margin-bottom: 0;
-    border-radius: 4px
-}
-
-.panel-group .panel-heading {
-    border-bottom: 0
-}
-
-.panel-group .panel-heading + .panel-collapse > .list-group, .panel-group .panel-heading + .panel-collapse > .panel-body {
-    border-top: 1px solid #ddd
-}
-
-.panel-group .panel-footer {
-    border-top: 0
-}
-
-.panel-group .panel-footer + .panel-collapse .panel-body {
-    border-bottom: 1px solid #ddd
-}
-
-.panel-default {
-    border-color: #ddd
-}
-
-.panel-default > .panel-heading {
-    color: #596981;
-    background-color: #f5f5f5;
-    border-color: #ddd
-}
-
-.panel-default > .panel-heading + .panel-collapse > .panel-body {
-    border-top-color: #ddd
-}
-
-.panel-default > .panel-heading .badge {
-    color: #f5f5f5;
-    background-color: #596981
-}
-
-.panel-default > .panel-footer + .panel-collapse > .panel-body {
-    border-bottom-color: #ddd
-}
-
-.panel-primary {
-    border-color: #79589F
-}
-
-.panel-primary > .panel-heading {
-    color: #fff;
-    background-color: #79589F;
-    border-color: #79589F
-}
-
-.panel-primary > .panel-heading + .panel-collapse > .panel-body {
-    border-top-color: #79589F
-}
-
-.panel-primary > .panel-heading .badge {
-    color: #79589F;
-    background-color: #fff
-}
-
-.panel-primary > .panel-footer + .panel-collapse > .panel-body {
-    border-bottom-color: #79589F
-}
-
-.panel-success {
-    border-color: #c7e6cc
-}
-
-.panel-success > .panel-heading {
-    color: #74C080;
-    background-color: #f8fcf9;
-    border-color: #c7e6cc
-}
-
-.panel-success > .panel-heading + .panel-collapse > .panel-body {
-    border-top-color: #c7e6cc
-}
-
-.panel-success > .panel-heading .badge {
-    color: #f8fcf9;
-    background-color: #74C080
-}
-
-.panel-success > .panel-footer + .panel-collapse > .panel-body {
-    border-bottom-color: #c7e6cc
-}
-
-.panel-info {
-    border-color: #b3d2f7
-}
-
-.panel-info > .panel-heading {
-    color: #408FEC;
-    background-color: #f5f9fe;
-    border-color: #b3d2f7
-}
-
-.panel-info > .panel-heading + .panel-collapse > .panel-body {
-    border-top-color: #b3d2f7
-}
-
-.panel-info > .panel-heading .badge {
-    color: #f5f9fe;
-    background-color: #408FEC
-}
-
-.panel-info > .panel-footer + .panel-collapse > .panel-body {
-    border-bottom-color: #b3d2f7
-}
-
-.panel-warning {
-    border-color: #fdd9b5
-}
-
-.panel-warning > .panel-heading {
-    color: #FA9F47;
-    background-color: #fffaf6;
-    border-color: #fdd9b5
-}
-
-.panel-warning > .panel-heading + .panel-collapse > .panel-body {
-    border-top-color: #fdd9b5
-}
-
-.panel-warning > .panel-heading .badge {
-    color: #fffaf6;
-    background-color: #FA9F47
-}
-
-.panel-warning > .panel-footer + .panel-collapse > .panel-body {
-    border-bottom-color: #fdd9b5
-}
-
-.panel-danger {
-    border-color: #efb3b3
-}
-
-.panel-danger > .panel-heading {
-    color: #D64242;
-    background-color: #fdf6f6;
-    border-color: #efb3b3
-}
-
-.panel-danger > .panel-heading + .panel-collapse > .panel-body {
-    border-top-color: #efb3b3
-}
-
-.panel-danger > .panel-heading .badge {
-    color: #fdf6f6;
-    background-color: #D64242
-}
-
-.panel-danger > .panel-footer + .panel-collapse > .panel-body {
-    border-bottom-color: #efb3b3
-}
-
-.close {
-    float: right;
-    font-size: 21px;
-    line-height: 1;
-    color: #000;
-    text-shadow: 0 1px 0 #fff;
-    opacity: .2;
-    filter: alpha(opacity=20)
-}
-
-.close:focus, .close:hover {
-    color: #000;
-    text-decoration: none;
-    cursor: pointer;
-    opacity: .5;
-    filter: alpha(opacity=50)
-}
-
-button.close {
-    padding: 0;
-    cursor: pointer;
-    background: 0 0;
-    border: 0;
-    -webkit-appearance: none
-}
-
-.modal-content, .popover, .tt-menu {
-    background-clip: padding-box
-}
-
-.modal-open {
-    overflow: hidden
-}
-
-.modal {
-    overflow: hidden;
-    position: fixed;
-    z-index: 1050;
-    -webkit-overflow-scrolling: touch;
-    outline: 0
-}
-
-.modal-footer:after, .modal-footer:before, .modal-header:after, .modal-header:before {
-    display: table;
-    content: " "
-}
-
-.modal-content, .modal-dialog {
-    position: relative;
-    border-radius: 4px
-}
-
-.modal.fade .modal-dialog {
-    -webkit-transform: translate(0, -25%);
-    -ms-transform: translate(0, -25%);
-    -o-transform: translate(0, -25%);
-    transform: translate(0, -25%);
-    -webkit-transition: -webkit-transform .3s ease-out;
-    -moz-transition: -moz-transform .3s ease-out;
-    -o-transition: -o-transform .3s ease-out;
-    transition: transform .3s ease-out
-}
-
-.modal.in .modal-dialog {
-    -webkit-transform: translate(0, 0);
-    -ms-transform: translate(0, 0);
-    -o-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;
-    -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, .5);
-    outline: 0
-}
-
-.modal-backdrop {
-    position: fixed;
-    z-index: 1040;
-    background-color: #596981
-}
-
-.modal-backdrop.fade {
-    opacity: 0;
-    filter: alpha(opacity=0)
-}
-
-.modal-backdrop.in {
-    opacity: .85;
-    filter: alpha(opacity=85)
-}
-
-.modal-header {
-    padding: 15px;
-    border-bottom: 1px solid #e5e5e5
-}
-
-.modal-header:after {
-    clear: both
-}
-
-.modal-header .close {
-    margin-top: -2px
-}
-
-.modal-title {
-    margin: 0;
-    line-height: 1.42857
-}
-
-.modal-body {
-    position: relative;
-    padding: 15px
-}
-
-.modal-footer {
-    padding: 15px;
-    text-align: right;
-    border-top: 1px solid #e5e5e5
-}
-
-.popover, .tooltip {
-    font-weight: 400;
-    line-break: auto;
-    line-height: 1.42857;
-    text-align: left;
-    text-transform: none;
-    word-spacing: normal;
-    text-shadow: none;
-    text-decoration: none;
-    position: absolute;
-    font-family: benton-sans, "Helvetica Neue", helvetica, arial, sans-serif;
-    font-style: normal;
-    white-space: normal;
-    word-wrap: normal;
-    word-break: normal
-}
-
-.modal-footer:after {
-    clear: both
-}
-
-.modal-footer .btn + .btn {
-    margin-left: 5px;
-    margin-bottom: 0
-}
-
-.modal-footer .btn-group .btn + .btn {
-    margin-left: -1px
-}
-
-.modal-footer .btn-block + .btn-block {
-    margin-left: 0
-}
-
-.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, .5);
-        box-shadow: 0 5px 15px rgba(0, 0, 0, .5)
-    }
-
-    .modal-sm {
-        width: 300px
-    }
-}
-
-@media (min-width: 992px) {
-    .modal-lg {
-        width: 900px
-    }
-}
-
-.tooltip {
-    z-index: 1070;
-    display: block;
-    letter-spacing: normal;
-    text-align: start;
-    font-size: 12px;
-    opacity: 0;
-    filter: alpha(opacity=0)
-}
-
-.loading-spinner, .modal-title, .nav.sub-nav, .spinner, .tooltip-inner, .u-text-center {
-    text-align: center
-}
-
-.tooltip.in {
-    opacity: .9;
-    filter: alpha(opacity=90)
-}
-
-.tooltip.top {
-    margin-top: -3px;
-    padding: 5px 0
-}
-
-.tooltip.right {
-    margin-left: 3px;
-    padding: 0 5px
-}
-
-.tooltip.bottom {
-    margin-top: 3px;
-    padding: 5px 0
-}
-
-.tooltip.left {
-    margin-left: -3px;
-    padding: 0 5px
-}
-
-.tooltip-inner {
-    max-width: 200px;
-    padding: 3px 8px;
-    color: #fff;
-    background-color: #000;
-    border-radius: 4px
-}
-
-.tooltip-arrow {
-    position: absolute;
-    width: 0;
-    height: 0;
-    border-color: transparent;
-    border-style: solid
-}
-
-.tooltip.top-left .tooltip-arrow, .tooltip.top-right .tooltip-arrow {
-    bottom: 0;
-    margin-bottom: -5px;
-    border-width: 5px 5px 0;
-    border-top-color: #000
-}
-
-.tooltip.top .tooltip-arrow {
-    bottom: 0;
-    left: 50%;
-    margin-left: -5px;
-    border-width: 5px 5px 0
-}
-
-.tooltip.top-left .tooltip-arrow {
-    right: 5px
-}
-
-.tooltip.top-right .tooltip-arrow {
-    left: 5px
-}
-
-.tooltip.right .tooltip-arrow {
-    top: 50%;
-    left: 0;
-    margin-top: -5px;
-    border-width: 5px 5px 5px 0
-}
-
-.tooltip.left .tooltip-arrow {
-    top: 50%;
-    right: 0;
-    margin-top: -5px;
-    border-width: 5px 0 5px 5px
-}
-
-.tooltip.bottom .tooltip-arrow {
-    top: 0;
-    left: 50%;
-    margin-left: -5px;
-    border-width: 0 5px 5px
-}
-
-.tooltip.bottom-left .tooltip-arrow {
-    top: 0;
-    right: 5px;
-    margin-top: -5px;
-    border-width: 0 5px 5px;
-    border-bottom-color: #000
-}
-
-.tooltip.bottom-right .tooltip-arrow {
-    top: 0;
-    left: 5px;
-    margin-top: -5px;
-    border-width: 0 5px 5px;
-    border-bottom-color: #000
-}
-
-.popover {
-    top: 0;
-    left: 0;
-    z-index: 1060;
-    display: none;
-    max-width: 276px;
-    padding: 1px;
-    letter-spacing: normal;
-    text-align: start;
-    font-size: 14px;
-    background-color: #fff;
-    border: 1px solid #ccc;
-    border: 1px solid rgba(0, 0, 0, .2);
-    border-radius: 6px;
-    -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, .2);
-    box-shadow: 0 5px 10px rgba(0, 0, 0, .2)
-}
-
-label code, pre code {
-    box-shadow: none
-}
-
-.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: 5px 5px 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: #999;
-    border-top-color: rgba(0, 0, 0, .25);
-    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: #999;
-    border-right-color: rgba(0, 0, 0, .25)
-}
-
-.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: #999;
-    border-bottom-color: rgba(0, 0, 0, .25);
-    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: #999;
-    border-left-color: rgba(0, 0, 0, .25)
-}
-
-.popover.left > .arrow:after {
-    content: " ";
-    right: 1px;
-    border-right-width: 0;
-    border-left-color: #fff;
-    bottom: -10px
-}
-
-.clearfix:after, .clearfix:before, .deploy-steps > li:after, .deploy-steps > li:before, .deploy-steps > li > .icon:after, .deploy-steps > li > .icon:before, .deploy-steps > li > .loading-spinner:after, .deploy-steps > li > .loading-spinner:before, .deploy-steps > li > i:after, .deploy-steps > li > i:before, .deploy-steps > li > img:after, .deploy-steps > li > img:before {
-    content: " ";
-    display: table
-}
-
-.clearfix:after, .deploy-steps > li:after, .deploy-steps > li > .icon:after, .deploy-steps > li > .loading-spinner:after, .deploy-steps > li > i:after, .deploy-steps > li > img: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
-}
-
-.hidden, .visible-lg, .visible-lg-block, .visible-lg-inline, .visible-lg-inline-block, .visible-md, .visible-md-block, .visible-md-inline, .visible-md-inline-block, .visible-sm, .visible-sm-block, .visible-sm-inline, .visible-sm-inline-block, .visible-xs, .visible-xs-block, .visible-xs-inline, .visible-xs-inline-block {
-    display: none !important
-}
-
-.invisible {
-    visibility: hidden
-}
-
-.text-hide {
-    font: 0/0 a;
-    color: transparent;
-    text-shadow: none;
-    background-color: transparent;
-    border: 0
-}
-
-.affix {
-    position: fixed
-}
-
-@-ms-viewport {
-    width: device-width
-}
-
-@media (max-width: 767px) {
-    .visible-xs {
-        display: block !important
-    }
-
-    table.visible-xs {
-        display: table !important
-    }
-
-    tr.visible-xs {
-        display: table-row !important
-    }
-
-    td.visible-xs, th.visible-xs {
-        display: table-cell !important
-    }
-
-    .visible-xs-block {
-        display: block !important
-    }
-
-    .visible-xs-inline {
-        display: inline !important
-    }
-
-    .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
-    }
-
-    td.visible-sm, th.visible-sm {
-        display: table-cell !important
-    }
-
-    .visible-sm-block {
-        display: block !important
-    }
-
-    .visible-sm-inline {
-        display: inline !important
-    }
-
-    .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
-    }
-
-    td.visible-md, th.visible-md {
-        display: table-cell !important
-    }
-
-    .visible-md-block {
-        display: block !important
-    }
-
-    .visible-md-inline {
-        display: inline !important
-    }
-
-    .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
-    }
-
-    td.visible-lg, th.visible-lg {
-        display: table-cell !important
-    }
-
-    .visible-lg-block {
-        display: block !important
-    }
-
-    .visible-lg-inline {
-        display: inline !important
-    }
-
-    .visible-lg-inline-block {
-        display: inline-block !important
-    }
-
-    .hidden-lg {
-        display: none !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
-    }
-}
-
-.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
-    }
-
-    td.visible-print, th.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
-    }
-}
-
-.u-is-hidden, .visible-print-inline-block {
-    display: none !important
-}
-
-@media print {
-    .visible-print-inline-block {
-        display: inline-block !important
-    }
-
-    .hidden-print {
-        display: none !important
-    }
-}
-
-.context-switcher__list a, .drop-down__menu a, .dropdown a, .dropdown-menu a, .list-group-item-link a, .nav a, .navbar a, a.btn, a.list-group-item {
-    text-decoration: none
-}
-
-@font-face {
-    font-family: benton-sans;
-    font-style: normal;
-    font-weight: 200;
-    src: url(/src/assets/style/bentonsans-book.eot) format("embedded-opentype"), url(/src/assets/style/bentonsans-book.woff) format("woff"), url(/src/assets/style/bentonsans-book.ttf) format("truetype")
-}
-
-@font-face {
-    font-family: benton-sans;
-    font-style: normal;
-    font-weight: 400;
-    src: url(/src/assets/style/bentonsans-regular.eot) format("embedded-opentype"), url(/src/assets/style/bentonsans-regular.woff) format("woff"), url(/src/assets/style/bentonsans-regular.ttf) format("truetype")
-}
-
-@font-face {
-    font-family: benton-sans;
-    font-style: normal;
-    font-weight: 700;
-    src: url(/src/assets/style/bentonsans-medium.eot?#iefix) format("embedded-opentype"), url(/src/assets/style/bentonsans-medium.woff) format("woff"), url(/src/assets/style/bentonsans-medium.ttf) format("truetype")
-}
-
-.dyno-tier-picker-item-size-name, .panel-section .panel-title, h4 {
-    font-size: 16px;
-    font-weight: 200
-}
-
-.pipeline-dropdown .dropdown-menu-scroll > li .btn-link, .pipeline-dropdown > li .btn-link, dl dt, h5, h6 {
-    font-weight: 400;
-    color: #596981
-}
-
-.pipeline-dropdown .dropdown-menu-scroll > li .btn-link, .pipeline-dropdown > li .btn-link, h6 {
-    text-transform: uppercase
-}
-
-.error-text .panel-section .panel-details:first-of-type, .error-text p:first-of-type, .lead, .panel-section .error-text .panel-details:first-of-type {
-    color: #596981
-}
-
-dl dt {
-    font-size: 13px
-}
-
-dl dd {
-    margin-bottom: 12px
-}
-
-dl dd:last-of-type {
-    margin-bottom: 0
-}
-
-dl.dl-horizontal dt {
-    text-align: left
-}
-
-abbr {
-    color: #596981
-}
-
-blockquote {
-    border-width: 3px
-}
-
-code, kbd {
-    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .1)
-}
-
-label code {
-    background: 0 0;
-    border: none;
-    color: #96A3B6;
-    padding-left: 12px;
-    padding-right: 12px
-}
-
-.formations-list-item, .metrics__magic-chart-context__group, .table > tbody > tr > th, .table > tfoot > tr > th, .table > thead > tr > th {
-    border-bottom: 1px solid #CFD7E6
-}
-
-.table th {
-    color: #596981;
-    font-weight: 700;
-    font-size: 90%;
-    position: relative;
-    z-index: 2
-}
-
-.table > tbody > tr:first-of-type > td, .table > tfoot > tr:first-of-type > td, .table > thead > tr:first-of-type > td {
-    border-top: none
-}
-
-.table-striped > tbody > tr:nth-child(odd) {
-    background-color: transparent
-}
-
-.table-striped > tbody > tr:nth-child(even) {
-    background-color: #fafbfc
-}
-
-.table-bordered {
-    border: none;
-    border-collapse: separate
-}
-
-.table-bordered td {
-    border-top: none !important
-}
-
-.table-bordered td:not(:last-of-type), .table-bordered th:not(:last-of-type) {
-    border-right: none !important
-}
-
-.table-bordered > thead:first-child > tr:first-child > th {
-    border-top: 1px solid #e7ebf3
-}
-
-.table-bordered > thead:first-child > tr:first-child > th:first-of-type {
-    border-top-left-radius: 4px
-}
-
-.table-bordered > thead:first-child > tr:first-child > th:last-of-type {
-    border-top-right-radius: 4px
-}
-
-.table-bordered > tbody > tr:last-child > td:first-of-type, .table-bordered > tfoot > tr:last-child > td:first-of-type {
-    border-bottom-left-radius: 4px
-}
-
-.table-bordered > tbody > tr:last-child > td:last-of-type, .table-bordered > tfoot > tr:last-child > td:last-of-type {
-    border-bottom-right-radius: 4px
-}
-
-.editable-table-component.table-responsive, .table-responsive {
-    border: none
-}
-
-.table > tbody > tr.active > td, .table > tbody > tr.active > th, .table > tbody > tr > td.active, .table > tbody > tr > th.active, .table > tfoot > tr.active > td, .table > tfoot > tr.active > th, .table > tfoot > tr > td.active, .table > tfoot > tr > th.active, .table > thead > tr.active > td, .table > thead > tr.active > th, .table > thead > tr > td.active, .table > thead > tr > th.active {
-    background-color: #fff;
-    color: #596981
-}
-
-.table-hover > tbody > tr.active:hover > td, .table-hover > tbody > tr.active:hover > th, .table-hover > tbody > tr > td.active:hover, .table-hover > tbody > tr > th.active:hover {
-    background-color: #f9f9f9
-}
-
-.table > tbody > tr.success > td, .table > tbody > tr.success > th, .table > tbody > tr > td.success, .table > tbody > tr > th.success, .table > tfoot > tr.success > td, .table > tfoot > tr.success > th, .table > tfoot > tr > td.success, .table > tfoot > tr > th.success, .table > thead > tr.success > td, .table > thead > tr.success > th, .table > thead > tr > td.success, .table > thead > tr > th.success {
-    color: #63a36d
-}
-
-.table-hover > tbody > tr.success:hover > td, .table-hover > tbody > tr.success:hover > th, .table-hover > tbody > tr > td.success:hover, .table-hover > tbody > tr > th.success:hover {
-    background-color: #eff8f1
-}
-
-.table > tbody > tr.info > td, .table > tbody > tr.info > th, .table > tbody > tr > td.info, .table > tbody > tr > th.info, .table > tfoot > tr.info > td, .table > tfoot > tr.info > th, .table > tfoot > tr > td.info, .table > tfoot > tr > th.info, .table > thead > tr.info > td, .table > thead > tr.info > th, .table > thead > tr > td.info, .table > thead > tr > th.info {
-    color: #367ac9
-}
-
-.table-hover > tbody > tr.info:hover > td, .table-hover > tbody > tr.info:hover > th, .table-hover > tbody > tr > td.info:hover, .table-hover > tbody > tr > th.info:hover {
-    background-color: #e9f2fd
-}
-
-.table > tbody > tr.warning > td, .table > tbody > tr.warning > th, .table > tbody > tr > td.warning, .table > tbody > tr > th.warning, .table > tfoot > tr.warning > td, .table > tfoot > tr.warning > th, .table > tfoot > tr > td.warning, .table > tfoot > tr > th.warning, .table > thead > tr.warning > td, .table > thead > tr.warning > th, .table > thead > tr > td.warning, .table > thead > tr > th.warning {
-    color: #d5873c
-}
-
-.table-hover > tbody > tr.warning:hover > td, .table-hover > tbody > tr.warning:hover > th, .table-hover > tbody > tr > td.warning:hover, .table-hover > tbody > tr > th.warning:hover {
-    background-color: #fff3e9
-}
-
-.table > tbody > tr.danger > td, .table > tbody > tr.danger > th, .table > tbody > tr > td.danger, .table > tbody > tr > th.danger, .table > tfoot > tr.danger > td, .table > tfoot > tr.danger > th, .table > tfoot > tr > td.danger, .table > tfoot > tr > th.danger, .table > thead > tr.danger > td, .table > thead > tr.danger > th, .table > thead > tr > td.danger, .table > thead > tr > th.danger {
-    color: #b63838
-}
-
-.table-hover > tbody > tr.danger:hover > td, .table-hover > tbody > tr.danger:hover > th, .table-hover > tbody > tr > td.danger:hover, .table-hover > tbody > tr > th.danger:hover {
-    background-color: #fbecec
-}
-
-.form-control {
-    box-shadow: inset 0 1px 2px rgba(207, 215, 230, .4);
-    padding-left: 8px;
-    padding-right: 8px
-}
-
-.form-control:focus {
-    box-shadow: inset 0 1px 2px rgba(207, 215, 230, .2), 0 0 4px rgba(121, 88, 159, .3)
-}
-
-.form-control[disabled], fieldset[disabled] .form-control {
-    cursor: default;
-    background: rgba(238, 241, 246, .3);
-    border: 1px solid #CFD7E6;
-    color: #CFD7E6
-}
-
-.form-control[readonly] {
-    color: #3F3F44
-}
-
-.form-control[readonly]:focus {
-    border: 1px solid #96A3B6;
-    box-shadow: inset 0 1px 2px rgba(207, 215, 230, .2), 0 0 4px rgba(150, 163, 182, .3)
-}
-
-select.form-control:not([multiple]) {
-    -webkit-appearance: none;
-    border: 1px solid #CFD7E6;
-    box-shadow: 0 1px 2px rgba(0, 0, 0, .05)
-}
-
-@media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min--moz-device-pixel-ratio: 2), only screen and (-o-min-device-pixel-ratio: 2 / 1), only screen and (min-device-pixel-ratio: 2), only screen and (min-resolution: 192dpi), only screen and (min-resolution: 2dppx) {
-    body, button, html, input {
-        -webkit-font-smoothing: antialiased;
-        -moz-osx-font-smoothing: grayscale
-    }
-
-    .h5, .h6, .pipeline-dropdown .dropdown-menu-scroll > li .btn-link, .pipeline-dropdown > li .btn-link, h5, h6 {
-        font-weight: 700
-    }
-
-    select.form-control:not([multiple]) {
-        background: url(data:image/png; base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAWCAYAAADwza0nAAAABGdBTUEAALGPC/xhBQAAAh9JREFUOBHtUz1MU1EUPucW+gNEBmhigmFxkcSBxE5uRGMLtgMDL+ojMSyUqgsODi5sDAzKog9YINAXzYuJA/1FDYPrM2EwkYVBExIDOmhMC6XvXc957W1LZXTkJu/dc77zfffm3PtdhDOGZUnfj0rhOZf6/bFZTUOnnYbtgGVt9/yslF9JCXGuIUKmzx+6q2kjf1q5p4SG9WFAVo4zIGG4lQQIO+gPxFPajX2FN4Qr5taw41YzEmCAiwi4x7MEebmWw75PdMSn9Vs7nAv+GelivCqdj00R2NAtrvNHK9vM4RpzmMs5Ghv5JKB8QT35GCCo0B8ITqieaj0fvZFSRr0qggMSH/KOi00RrA9dCiaUiIkciyvhBIXrnNe5ix3UQ4GO7ibt9OzBZGyOi+0jGYmcEHbfMHNfpcRZit+1c87z/3ECbIAsGcC7jhk99hQRyST/DjIALpmFebrJx2SA9/gynSuRn0JMJX+aYig8Vb+3hnrZtjvd3YM1uvx7HohQFuTFR2SAKgNkBt39cpBlmykVx4w1RVhljfc6DDMfpYJFfrpQWxE/YZcY8xYruTnCr9Xx3/Q+tZQ+WvSEDBqvi1fhxMlSg4Ocn/GsvkGn73bqTvRzrc7/+li1ti8eHZc3SRxRGM+0uh0MhBJT2sh3hTd2VMDypt3l/jpM0ymOeyLEt6I3PJlMREqK4+GtiYpJJJbM/ALnM/roE7oiV9XU/Bf++9SHJrpj1gAAAABJRU5ErkJggg==) right 8 px center no-repeat;
-        background-size: 7px 11px
-    }
-}
-
-fieldset[disabled] select.form-control:not([multiple]), select.form-control:not([multiple])[disabled], select.form-control:not([multiple])[readonly] {
-    color: #CFD7E6;
-    background: url(data:image/png; base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAALCAYAAACzkJeoAAAABGdBTUEAALGPC/xhBQAAANlJREFUGBljZICCmcs2i/z7x2LLxPTncHqU7xuQMCOImLJ0qzzzH0bnf4yM/5j+/2f6y/J/b06090PGWct2aP/9x2DF8O/fXabvYof/cb6yZWBiUmZmYjjG8vfvP4O///9fyo71OsXIyPgfCPZPXbztK8N/RgOQqTQAjDOWbI/5x/D/Tma050monYzTl243Z2JgVAFKbtP6z8BkDXct71tbhn//lRkZ/h0F+3Pmos1yfxlZnUFOBepmZP7/e296nO8jsCTIuVMW7hFmYvpl++8f2+GceJe3IDEA4o9hPCTLQFwAAAAASUVORK5CYII=) right 8 px center no-repeat #fafbfc
-}
-
-@media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min--moz-device-pixel-ratio: 2), only screen and (-o-min-device-pixel-ratio: 2 / 1), only screen and (min-device-pixel-ratio: 2), only screen and (min-resolution: 192dpi), only screen and (min-resolution: 2dppx) {
-    fieldset[disabled] select.form-control:not([multiple]), select.form-control:not([multiple])[disabled], select.form-control:not([multiple])[readonly] {
-        background: url(data:image/png; base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAWCAYAAADwza0nAAAABGdBTUEAALGPC/xhBQAAAiRJREFUOBHtU81PE1EQn9l9EAWiUUtMLH4cMJEeCAfUGGO0graE9Gpim3DRBIz+Ef0jBLeJiUmFknhtpF0EqzHGqD1xgIMeVOjBtGr8AE3ZfePM1m1YqDePzuHtm9/8ZmbffCC0kHQ6bRzsPXVGTB/fvnrBut5Ow+1Aplxuo5XakAY6IjYD8AP2hRbHBwc3t3IDjtms3bmOFCegA0ESfuokLI6NxdZ9vOmYyeVDrlZxIOgQIxrwTb6kYY98AWHDNJzieDJRa6h83p55eNR0cIgMVAISQa17196C3Ku/vo4gQkjuqMlxFS3eSo2+R2t6LkJgnCUiL7tBsIaR7kf+m7w3L1cvaYQezxmRifo5WtnCNQZNATnjm2oy9jSNGKgiBzWmcvZ5znhceBzcVWiYq+g6PRxoaSI1WoaUmIKCjUAla3b+O9WdfteEtSDjv/ZvKoBT03Mj3MAwj9jSRDL2mktPrULLgFg5+ySPYD+PUEWRxkPMNRgYsO4Xupjw5E/fmv4yANzDC6SpV0DPJ3PPPqFN9xwxu8HEitkXmt86cu5K7TLTw2JHieKazzzy5Kx9GB1nmIepTYx/G3IAvUlKLdy8GlttrtXdB8X99TrwWlGXF3nHWuGP9nYoXr8S/+zZ5fAlk893OF9U3F8jH5c/UPt4FxOJDR9rZvSBUqmklis/L/LyHBOMkN5FwrsfR6NRR3RfdjiKQUp/Z2bhtNxvpIZftmrRb4iZ7Qd3Ct+jAAAAAElFTkSuQmCC) right 8 px center no-repeat #fafbfc;
-        background-size: 7px 11px
-    }
-}
-
-input:-webkit-autofill {
-    box-shadow: inset 0 1px 2px rgba(207, 215, 230, .4), inset 0 0 10px 1000px #FFFEDB
-}
-
-input:-webkit-autofill:focus {
-    box-shadow: inset 0 1px 2px rgba(207, 215, 230, .2), 0 0 4px rgba(121, 88, 159, .3), inset 0 0 10px 1000px #FFFEDB
-}
-
-label {
-    font-weight: 400
-}
-
-.btn, form label {
-    font-weight: 700
-}
-
-form label {
-    color: #596981;
-    font-size: 12px
-}
-
-.checkbox label, .radio label {
-    line-height: 1.9
-}
-
-.radio-inline, .tag-toggle-list {
-    line-height: 1.8
-}
-
-.bg-success {
-    color: #74C080
-}
-
-.bg-info {
-    color: #408FEC
-}
-
-.bg-warning {
-    color: #FA9F47
-}
-
-.bg-danger {
-    color: #D64242
-}
-
-.alert a {
-    color: inherit
-}
-
-.alert-default {
-    background-color: #f8f7fa;
-    border-color: #c9bcd9;
-    color: #79589F
-}
-
-.alert.flash-danger {
-    background: #D64242;
-    border: none;
-    color: #fff;
-    box-shadow: 0 1px 6px rgba(0, 0, 0, .1)
-}
-
-.btn {
-    border-radius: 4px;
-    border: none;
-    padding-left: 15px;
-    padding-right: 15px;
-    -webkit-transition: background-color ease .2s;
-    -o-transition: background-color ease .2s;
-    transition: background-color ease .2s
-}
-
-.btn.active, .btn:active {
-    box-shadow: none;
-    outline: 0
-}
-
-.btn:focus {
-    outline: 0
-}
-
-.btn.disabled, .btn[disabled], fieldset[disabled] .btn {
-    color: #CFD7E6;
-    background-color: rgba(238, 241, 246, .3);
-    box-shadow: inset 0 0 0 1px #CFD7E6;
-    opacity: 1
-}
-
-.btn-default, .btn-default:hover {
-    box-shadow: inset 0 0 0 1px rgba(121, 88, 159, .6)
-}
-
-.btn .icon {
-    display: inline-block;
-    margin-top: -3px;
-    margin-right: 4px;
-    margin-left: -2px
-}
-
-.btn .caret {
-    position: relative;
-    top: -1px;
-    width: 7px;
-    height: 10px;
-    display: inline-block;
-    border: none;
-    background: url(data:image/png; base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAKCAYAAAB4zEQNAAAABGdBTUEAALGPC/xhBQAAAHhJREFUGBmdj8EJgDAMRevZXcQ1Cg5ScBFxDXUVwTkKHj3oVajvlxT0auHl85M2SZ2zk1JqYZOWXFYSHVxwmHal0JO4YYLaVL53hAgDVLotNR/z63+BFjuMavdqK79rRgAtMIMWWsyHPA7j4QR9Reo/e5BoYJWWwgNOyZST/q/QUQAAAABJRU5ErkJggg==) no-repeat
-}
-
-@media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min--moz-device-pixel-ratio: 2), only screen and (-o-min-device-pixel-ratio: 2 / 1), only screen and (min-device-pixel-ratio: 2), only screen and (min-resolution: 192dpi), only screen and (min-resolution: 2dppx) {
-    .btn .caret {
-        background: url(data:image/png; base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAUCAYAAAC9BQwsAAAABGdBTUEAALGPC/xhBQAAASZJREFUOBHdkk1qAkEQRh1/NuJaBK/gwlu48RRuvIF7swlkmRsEkq1ZBInkChG8gJtALhACSkjI+L6xv9jTTi5gwbOqq17pjHStVhF5njfgNtCoUM5byB14AofqzrkZdRD6sPFGlNXrR+qpZDCE90jeUguHZsPTBhWNMXzaIL9CN6DaIWdcLFNM4ccT8jP8vZNqWIFD7lS/tneHfAfN0uMcn6gVZlb3WnwEPcI8XUjPOFfBXaSzizzzskv4gmvI/ntJzYIjd6l/dQeOe4pWuqwePFgi77Q4ge+o+UKdXgD1HHInxZdTjODDE/IafOVUO+SMSk9EYwBvNsjpJddsUFrygUEP4kvNsQj1evYqM0IbFoV+/FDdTuXKvx+xjngT5FmWZb/p4gHik/DofGR3LQAAAABJRU5ErkJggg==) no-repeat;
-        background-size: 7px 10px
-    }
-}
-
-.btn-default:hover {
-    background: #FAF7FD;
-    color: #79589F
-}
-
-.actions-button .btn-default:focus, .btn-default.active, .btn-default:active, .open > .btn-default.drop-down__toggle, .open > .btn-default.dropdown-toggle {
-    background: #EEE7F6 !important;
-    box-shadow: inset 0 0 0 1px rgba(121, 88, 159, .8)
-}
-
-.btn-default.disabled, .btn-default.disabled:hover, .btn-default[disabled], .btn-default[disabled]:hover, fieldset[disabled] .btn-default, fieldset[disabled] .btn-default:hover {
-    color: #CFD7E6;
-    background-color: rgba(238, 241, 246, .3);
-    box-shadow: inset 0 0 0 1px #CFD7E6
-}
-
-.btn-default .caret {
-    background: url(data:image/png; base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAKCAYAAAB4zEQNAAAABGdBTUEAALGPC/xhBQAAANRJREFUGBmdTj1OAmEUnPnYE3gG7QzhBDZWJhZ0sEBAK0ikB3ZpdxMTSgqgYZfoqom9B/ACxjtoR2hN0G/8vg0nYIr3M2/evEccELXWNYhLUP20uP3wtPFh2s6vYfku4Mznsnd8JWpmd1bISbyeBObyRzq1FsnFeX0biBhTmiXFzYR0ldSNw+xL5Ni7HgdGYfYN8CEpuqODLePW5h5Qh3FzPbDgHMSze6i/2/+tBDYMNKQ/GLXzK1n74hx+3UZAYxrpY++tHJaCMK8KWhAcpE+9T8/9A50YUm6gIA0oAAAAAElFTkSuQmCC) no-repeat
-}
-
-@media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min--moz-device-pixel-ratio: 2), only screen and (-o-min-device-pixel-ratio: 2 / 1), only screen and (min-device-pixel-ratio: 2), only screen and (min-resolution: 192dpi), only screen and (min-resolution: 2dppx) {
-    .btn-default .caret {
-        background: url(data:image/png; base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAUCAYAAAC9BQwsAAAABGdBTUEAALGPC/xhBQAAAg9JREFUOBHdU79rE1Ecf59Lk6PFCOpSKLSCQ5cKgXZycREKmgwOHm2KSbNYUJd2EBoL3mAzOFQXC7okd2IKR6GDiVR0c40QqIuDQ4SCk0LVliTtff1+7/JiEvoX+OC97/f7+XHv50Gd0jzPi9R3jp4Klbg5vGxZ1smgDIOAfdc70/xxuKUUJUMOFfP8yLy9af3u1fYZH2acMWpThYgSfSKgjiiS6252X+NdYz5dTCgfFVI0JiQUvkrk+lKn3lcGJQvlXF1qQ4a1BSfJpo9dE1CLRY0r0sG5aAKONYGWa6zOO0uK6DlTEREoYNc8N3JL70n23Pr5Z5tIzQa8wglr7hlQ9Eyb+OuuOTmR0iYRSj4Rv5wSLjRSRDxDXOzyfq4BamN9a/FRSPaPSy9n2oxk83NOgydZ5vx9v+L/rPg6ilWQHA42HpczeY502lb5NWEt7RY4rhDoA1bnSod8UsOBGHh9MT6V65xi1//iTi3aONgr8RfTIYgjvkfc534cAEQLjV97Vbl07ZJcMG0SbehhRT7tziryPV7G2cAAfDKHjOuSN4/9t/yypiXnbRwoGFahnHn375Hfdqeo7Vd52eOBaOCRs+0bosaNwqvM55CXsdPsxeJoq4k3PPOMxiTyTLWYSSm7lPuu8eDv0IUQsfiFqyzc0ZjkgvWahOsuVQsl2jYZrS/OE8ljk9kHtg1f8t72F5HJzIBJBfCCAAAAAElFTkSuQmCC) no-repeat;
-        background-size: 7px 10px
-    }
-}
-
-.btn-primary {
-    color: #fff !important;
-    background-color: #79589F;
-    background-image: -webkit-gradient(linear, left top, right bottom, color-stop(0, rgba(171, 142, 205, 0)), color-stop(1, #ab8ecd));
-    background-image: -o-linear-gradient(left top, rgba(171, 142, 205, 0) 0, #ab8ecd 100%);
-    background-image: -moz-linear-gradient(left top, rgba(171, 142, 205, 0) 0, #ab8ecd 100%);
-    background-image: -webkit-linear-gradient(left top, rgba(171, 142, 205, 0) 0, #ab8ecd 100%);
-    background-image: -ms-linear-gradient(left top, rgba(171, 142, 205, 0) 0, #ab8ecd 100%);
-    background-image: linear-gradient(to left top, rgba(171, 142, 205, 0) 0, #ab8ecd 100%)
-}
-
-.btn-primary.active, .btn-primary:active, .btn-primary:focus, .btn-primary:hover, .open > .btn-primary.drop-down__toggle, .open > .btn-primary.dropdown-toggle {
-    color: #fff;
-    background-color: #8669a9 !important
-}
-
-.btn-primary.active, .btn-primary:active, .open > .btn-primary.drop-down__toggle, .open > .btn-primary.dropdown-toggle {
-    background-color: #78579d !important;
-    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .1) !important
-}
-
-.btn-primary.disabled, .btn-primary.disabled.active, .btn-primary.disabled:active, .btn-primary.disabled:focus, .btn-primary.disabled:hover, .btn-primary[disabled], .btn-primary[disabled].active, .btn-primary[disabled]:active, .btn-primary[disabled]:focus, .btn-primary[disabled]:hover, fieldset[disabled] .btn-primary, fieldset[disabled] .btn-primary.active, fieldset[disabled] .btn-primary:active, fieldset[disabled] .btn-primary:focus, fieldset[disabled] .btn-primary:hover {
-    background: rgba(238, 241, 246, .3) !important;
-    box-shadow: inset 0 0 0 1px #CFD7E6 !important;
-    color: #CFD7E6 !important
-}
-
-.btn-primary .badge {
-    color: #79589F;
-    background-color: #fff
-}
-
-.btn-success {
-    color: #fff !important;
-    background-color: #74C080;
-    background-image: -webkit-gradient(linear, left top, right bottom, color-stop(0, rgba(173, 226, 143, 0)), color-stop(1, #ade28f));
-    background-image: -o-linear-gradient(left top, rgba(173, 226, 143, 0) 0, #ade28f 100%);
-    background-image: -moz-linear-gradient(left top, rgba(173, 226, 143, 0) 0, #ade28f 100%);
-    background-image: -webkit-linear-gradient(left top, rgba(173, 226, 143, 0) 0, #ade28f 100%);
-    background-image: -ms-linear-gradient(left top, rgba(173, 226, 143, 0) 0, #ade28f 100%);
-    background-image: linear-gradient(to left top, rgba(173, 226, 143, 0) 0, #ade28f 100%)
-}
-
-.btn-success.active, .btn-success:active, .btn-success:focus, .btn-success:hover, .open > .btn-success.drop-down__toggle, .open > .btn-success.dropdown-toggle {
-    color: #fff;
-    background-color: #82c68d !important
-}
-
-.btn-success.active, .btn-success:active, .open > .btn-success.drop-down__toggle, .open > .btn-success.dropdown-toggle {
-    background-color: #73be7f !important;
-    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .1) !important
-}
-
-.btn-success.disabled, .btn-success.disabled.active, .btn-success.disabled:active, .btn-success.disabled:focus, .btn-success.disabled:hover, .btn-success[disabled], .btn-success[disabled].active, .btn-success[disabled]:active, .btn-success[disabled]:focus, .btn-success[disabled]:hover, fieldset[disabled] .btn-success, fieldset[disabled] .btn-success.active, fieldset[disabled] .btn-success:active, fieldset[disabled] .btn-success:focus, fieldset[disabled] .btn-success:hover {
-    background: rgba(238, 241, 246, .3) !important;
-    box-shadow: inset 0 0 0 1px #CFD7E6 !important;
-    color: #CFD7E6 !important
-}
-
-.btn-success .badge {
-    color: #74C080;
-    background-color: #fff
-}
-
-.btn-success.btn-default {
-    color: #74C080 !important;
-    background: 0 0 !important;
-    box-shadow: inset 0 0 0 1px rgba(116, 192, 128, .6)
-}
-
-.btn-success.btn-default:hover {
-    background: rgba(116, 192, 128, .1) !important;
-    box-shadow: inset 0 0 0 1px rgba(116, 192, 128, .6)
-}
-
-.actions-button .btn-success.btn-default:focus, .btn-success.btn-default.active, .btn-success.btn-default:active {
-    background: rgba(116, 192, 128, .2) !important;
-    box-shadow: inset 0 0 0 1px rgba(116, 192, 128, .8) !important
-}
-
-.actions-button .btn-success.btn-default[disabled]:focus, .actions-button .btn-success.disabled.btn-default:focus, .actions-button fieldset[disabled] .btn-success.btn-default:focus, .btn-success.btn-default.disabled, .btn-success.btn-default.disabled.active, .btn-success.btn-default.disabled:active, .btn-success.btn-default.disabled:focus, .btn-success.btn-default.disabled:hover, .btn-success.btn-default[disabled], .btn-success.btn-default[disabled].active, .btn-success.btn-default[disabled]:active, .btn-success.btn-default[disabled]:focus, .btn-success.btn-default[disabled]:hover, fieldset[disabled] .actions-button .btn-success.btn-default:focus, fieldset[disabled] .btn-success.btn-default, fieldset[disabled] .btn-success.btn-default.active, fieldset[disabled] .btn-success.btn-default:active, fieldset[disabled] .btn-success.btn-default:focus, fieldset[disabled] .btn-success.btn-default:hover {
-    background: rgba(207, 215, 230, .1) !important;
-    box-shadow: inset 0 0 0 1px #CFD7E6 !important;
-    color: #CFD7E6 !important
-}
-
-.btn-success.btn-default .badge {
-    color: #fff;
-    background-color: #74C080
-}
-
-.btn-info {
-    color: #fff !important;
-    background-color: #408FEC;
-    background-image: -webkit-gradient(linear, left top, right bottom, color-stop(0, rgba(161, 202, 249, 0)), color-stop(1, #a1caf9));
-    background-image: -o-linear-gradient(left top, rgba(161, 202, 249, 0) 0, #a1caf9 100%);
-    background-image: -moz-linear-gradient(left top, rgba(161, 202, 249, 0) 0, #a1caf9 100%);
-    background-image: -webkit-linear-gradient(left top, rgba(161, 202, 249, 0) 0, #a1caf9 100%);
-    background-image: -ms-linear-gradient(left top, rgba(161, 202, 249, 0) 0, #a1caf9 100%);
-    background-image: linear-gradient(to left top, rgba(161, 202, 249, 0) 0, #a1caf9 100%)
-}
-
-.btn-info.active, .btn-info:active, .btn-info:focus, .btn-info:hover, .open > .btn-info.drop-down__toggle, .open > .btn-info.dropdown-toggle {
-    color: #fff;
-    background-color: #539aee !important
-}
-
-.btn-info.active, .btn-info:active, .open > .btn-info.drop-down__toggle, .open > .btn-info.dropdown-toggle {
-    background-color: #3f8eea !important;
-    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .1) !important
-}
-
-.btn-info.disabled, .btn-info.disabled.active, .btn-info.disabled:active, .btn-info.disabled:focus, .btn-info.disabled:hover, .btn-info[disabled], .btn-info[disabled].active, .btn-info[disabled]:active, .btn-info[disabled]:focus, .btn-info[disabled]:hover, fieldset[disabled] .btn-info, fieldset[disabled] .btn-info.active, fieldset[disabled] .btn-info:active, fieldset[disabled] .btn-info:focus, fieldset[disabled] .btn-info:hover {
-    background: rgba(238, 241, 246, .3) !important;
-    box-shadow: inset 0 0 0 1px #CFD7E6 !important;
-    color: #CFD7E6 !important
-}
-
-.btn-info .badge {
-    color: #408FEC;
-    background-color: #fff
-}
-
-.btn-info.btn-default {
-    color: #408FEC !important;
-    background: 0 0 !important;
-    box-shadow: inset 0 0 0 1px rgba(64, 143, 236, .6)
-}
-
-.btn-info.btn-default:hover {
-    background: rgba(64, 143, 236, .1) !important;
-    box-shadow: inset 0 0 0 1px rgba(64, 143, 236, .6)
-}
-
-.actions-button .btn-info.btn-default:focus, .btn-info.btn-default.active, .btn-info.btn-default:active {
-    background: rgba(64, 143, 236, .2) !important;
-    box-shadow: inset 0 0 0 1px rgba(64, 143, 236, .8) !important
-}
-
-.actions-button .btn-info.btn-default[disabled]:focus, .actions-button .btn-info.disabled.btn-default:focus, .actions-button fieldset[disabled] .btn-info.btn-default:focus, .btn-info.btn-default.disabled, .btn-info.btn-default.disabled.active, .btn-info.btn-default.disabled:active, .btn-info.btn-default.disabled:focus, .btn-info.btn-default.disabled:hover, .btn-info.btn-default[disabled], .btn-info.btn-default[disabled].active, .btn-info.btn-default[disabled]:active, .btn-info.btn-default[disabled]:focus, .btn-info.btn-default[disabled]:hover, fieldset[disabled] .actions-button .btn-info.btn-default:focus, fieldset[disabled] .btn-info.btn-default, fieldset[disabled] .btn-info.btn-default.active, fieldset[disabled] .btn-info.btn-default:active, fieldset[disabled] .btn-info.btn-default:focus, fieldset[disabled] .btn-info.btn-default:hover {
-    background: rgba(207, 215, 230, .1) !important;
-    box-shadow: inset 0 0 0 1px #CFD7E6 !important;
-    color: #CFD7E6 !important
-}
-
-.btn-info.btn-default .badge {
-    color: #fff;
-    background-color: #408FEC
-}
-
-.btn-warning {
-    color: #fff !important;
-    background-color: #FA9F47;
-    background-image: -webkit-gradient(linear, left top, right bottom, color-stop(0, rgba(255, 211, 160, 0)), color-stop(1, #ffd3a0));
-    background-image: -o-linear-gradient(left top, rgba(255, 211, 160, 0) 0, #ffd3a0 100%);
-    background-image: -moz-linear-gradient(left top, rgba(255, 211, 160, 0) 0, #ffd3a0 100%);
-    background-image: -webkit-linear-gradient(left top, rgba(255, 211, 160, 0) 0, #ffd3a0 100%);
-    background-image: -ms-linear-gradient(left top, rgba(255, 211, 160, 0) 0, #ffd3a0 100%);
-    background-image: linear-gradient(to left top, rgba(255, 211, 160, 0) 0, #ffd3a0 100%)
-}
-
-.btn-warning.active, .btn-warning:active, .btn-warning:focus, .btn-warning:hover, .open > .btn-warning.drop-down__toggle, .open > .btn-warning.dropdown-toggle {
-    color: #fff;
-    background-color: #fba959 !important
-}
-
-.btn-warning.active, .btn-warning:active, .open > .btn-warning.drop-down__toggle, .open > .btn-warning.dropdown-toggle {
-    background-color: #f89d46 !important;
-    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .1) !important
-}
-
-.btn-warning.disabled, .btn-warning.disabled.active, .btn-warning.disabled:active, .btn-warning.disabled:focus, .btn-warning.disabled:hover, .btn-warning[disabled], .btn-warning[disabled].active, .btn-warning[disabled]:active, .btn-warning[disabled]:focus, .btn-warning[disabled]:hover, fieldset[disabled] .btn-warning, fieldset[disabled] .btn-warning.active, fieldset[disabled] .btn-warning:active, fieldset[disabled] .btn-warning:focus, fieldset[disabled] .btn-warning:hover {
-    background: rgba(238, 241, 246, .3) !important;
-    box-shadow: inset 0 0 0 1px #CFD7E6 !important;
-    color: #CFD7E6 !important
-}
-
-.btn-warning .badge {
-    color: #FA9F47;
-    background-color: #fff
-}
-
-.btn-warning.btn-default {
-    color: #FA9F47 !important;
-    background: 0 0 !important;
-    box-shadow: inset 0 0 0 1px rgba(250, 159, 71, .6)
-}
-
-.btn-warning.btn-default:hover {
-    background: rgba(250, 159, 71, .1) !important;
-    box-shadow: inset 0 0 0 1px rgba(250, 159, 71, .6)
-}
-
-.actions-button .btn-warning.btn-default:focus, .btn-warning.btn-default.active, .btn-warning.btn-default:active {
-    background: rgba(250, 159, 71, .2) !important;
-    box-shadow: inset 0 0 0 1px rgba(250, 159, 71, .8) !important
-}
-
-.actions-button .btn-warning.btn-default[disabled]:focus, .actions-button .btn-warning.disabled.btn-default:focus, .actions-button fieldset[disabled] .btn-warning.btn-default:focus, .btn-warning.btn-default.disabled, .btn-warning.btn-default.disabled.active, .btn-warning.btn-default.disabled:active, .btn-warning.btn-default.disabled:focus, .btn-warning.btn-default.disabled:hover, .btn-warning.btn-default[disabled], .btn-warning.btn-default[disabled].active, .btn-warning.btn-default[disabled]:active, .btn-warning.btn-default[disabled]:focus, .btn-warning.btn-default[disabled]:hover, fieldset[disabled] .actions-button .btn-warning.btn-default:focus, fieldset[disabled] .btn-warning.btn-default, fieldset[disabled] .btn-warning.btn-default.active, fieldset[disabled] .btn-warning.btn-default:active, fieldset[disabled] .btn-warning.btn-default:focus, fieldset[disabled] .btn-warning.btn-default:hover {
-    background: rgba(207, 215, 230, .1) !important;
-    box-shadow: inset 0 0 0 1px #CFD7E6 !important;
-    color: #CFD7E6 !important
-}
-
-.btn-warning.btn-default .badge {
-    color: #fff;
-    background-color: #FA9F47
-}
-
-.btn-danger {
-    color: #fff !important;
-    background-color: #D64242;
-    background-image: -webkit-gradient(linear, left top, right bottom, color-stop(0, rgba(243, 122, 101, 0)), color-stop(1, #f37a65));
-    background-image: -o-linear-gradient(left top, rgba(243, 122, 101, 0) 0, #f37a65 100%);
-    background-image: -moz-linear-gradient(left top, rgba(243, 122, 101, 0) 0, #f37a65 100%);
-    background-image: -webkit-linear-gradient(left top, rgba(243, 122, 101, 0) 0, #f37a65 100%);
-    background-image: -ms-linear-gradient(left top, rgba(243, 122, 101, 0) 0, #f37a65 100%);
-    background-image: linear-gradient(to left top, rgba(243, 122, 101, 0) 0, #f37a65 100%)
-}
-
-.btn-danger.active, .btn-danger:active, .btn-danger:focus, .btn-danger:hover, .open > .btn-danger.drop-down__toggle, .open > .btn-danger.dropdown-toggle {
-    color: #fff;
-    background-color: #da5555 !important
-}
-
-.btn-danger.active, .btn-danger:active, .open > .btn-danger.drop-down__toggle, .open > .btn-danger.dropdown-toggle {
-    background-color: #d44141 !important;
-    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .1) !important
-}
-
-.btn-danger.disabled, .btn-danger.disabled.active, .btn-danger.disabled:active, .btn-danger.disabled:focus, .btn-danger.disabled:hover, .btn-danger[disabled], .btn-danger[disabled].active, .btn-danger[disabled]:active, .btn-danger[disabled]:focus, .btn-danger[disabled]:hover, fieldset[disabled] .btn-danger, fieldset[disabled] .btn-danger.active, fieldset[disabled] .btn-danger:active, fieldset[disabled] .btn-danger:focus, fieldset[disabled] .btn-danger:hover {
-    background: rgba(238, 241, 246, .3) !important;
-    box-shadow: inset 0 0 0 1px #CFD7E6 !important;
-    color: #CFD7E6 !important
-}
-
-.btn-danger .badge {
-    color: #D64242;
-    background-color: #fff
-}
-
-.btn-danger.btn-default {
-    color: #D64242 !important;
-    background: 0 0 !important;
-    box-shadow: inset 0 0 0 1px rgba(214, 66, 66, .6)
-}
-
-.btn-danger.btn-default:hover {
-    background: rgba(214, 66, 66, .1) !important;
-    box-shadow: inset 0 0 0 1px rgba(214, 66, 66, .6)
-}
-
-.actions-button .btn-danger.btn-default:focus, .btn-danger.btn-default.active, .btn-danger.btn-default:active {
-    background: rgba(214, 66, 66, .2) !important;
-    box-shadow: inset 0 0 0 1px rgba(214, 66, 66, .8) !important
-}
-
-.actions-button .btn-danger.btn-default[disabled]:focus, .actions-button .btn-danger.disabled.btn-default:focus, .actions-button fieldset[disabled] .btn-danger.btn-default:focus, .btn-danger.btn-default.disabled, .btn-danger.btn-default.disabled.active, .btn-danger.btn-default.disabled:active, .btn-danger.btn-default.disabled:focus, .btn-danger.btn-default.disabled:hover, .btn-danger.btn-default[disabled], .btn-danger.btn-default[disabled].active, .btn-danger.btn-default[disabled]:active, .btn-danger.btn-default[disabled]:focus, .btn-danger.btn-default[disabled]:hover, fieldset[disabled] .actions-button .btn-danger.btn-default:focus, fieldset[disabled] .btn-danger.btn-default, fieldset[disabled] .btn-danger.btn-default.active, fieldset[disabled] .btn-danger.btn-default:active, fieldset[disabled] .btn-danger.btn-default:focus, fieldset[disabled] .btn-danger.btn-default:hover {
-    background: rgba(207, 215, 230, .1) !important;
-    box-shadow: inset 0 0 0 1px #CFD7E6 !important;
-    color: #CFD7E6 !important
-}
-
-.btn-danger.btn-default .badge {
-    color: #fff;
-    background-color: #D64242
-}
-
-.btn-dropbox {
-    color: #fff !important;
-    background-color: #007EE5;
-    background-image: -webkit-gradient(linear, left top, right bottom, color-stop(0, rgba(50, 151, 234, 0)), color-stop(1, #3297ea));
-    background-image: -o-linear-gradient(left top, rgba(50, 151, 234, 0) 0, #3297ea 100%);
-    background-image: -moz-linear-gradient(left top, rgba(50, 151, 234, 0) 0, #3297ea 100%);
-    background-image: -webkit-linear-gradient(left top, rgba(50, 151, 234, 0) 0, #3297ea 100%);
-    background-image: -ms-linear-gradient(left top, rgba(50, 151, 234, 0) 0, #3297ea 100%);
-    background-image: linear-gradient(to left top, rgba(50, 151, 234, 0) 0, #3297ea 100%)
-}
-
-.btn-dropbox.active, .btn-dropbox:active, .btn-dropbox:focus, .btn-dropbox:hover, .open > .btn-dropbox.drop-down__toggle, .open > .btn-dropbox.dropdown-toggle {
-    color: #fff;
-    background-color: #1a8be8 !important
-}
-
-.btn-dropbox.active, .btn-dropbox:active, .open > .btn-dropbox.drop-down__toggle, .open > .btn-dropbox.dropdown-toggle {
-    background-color: #007de3 !important;
-    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .1) !important
-}
-
-.btn-dropbox.disabled, .btn-dropbox.disabled.active, .btn-dropbox.disabled:active, .btn-dropbox.disabled:focus, .btn-dropbox.disabled:hover, .btn-dropbox[disabled], .btn-dropbox[disabled].active, .btn-dropbox[disabled]:active, .btn-dropbox[disabled]:focus, .btn-dropbox[disabled]:hover, fieldset[disabled] .btn-dropbox, fieldset[disabled] .btn-dropbox.active, fieldset[disabled] .btn-dropbox:active, fieldset[disabled] .btn-dropbox:focus, fieldset[disabled] .btn-dropbox:hover {
-    background: rgba(238, 241, 246, .3) !important;
-    box-shadow: inset 0 0 0 1px #CFD7E6 !important;
-    color: #CFD7E6 !important
-}
-
-.btn-dropbox .badge {
-    color: #007EE5;
-    background-color: #fff
-}
-
-.btn-dropbox.btn-default {
-    color: #007EE5 !important;
-    background: 0 0 !important;
-    box-shadow: inset 0 0 0 1px rgba(0, 126, 229, .6)
-}
-
-.btn-dropbox.btn-default:hover {
-    background: rgba(0, 126, 229, .1) !important;
-    box-shadow: inset 0 0 0 1px rgba(0, 126, 229, .6)
-}
-
-.actions-button .btn-dropbox.btn-default:focus, .btn-dropbox.btn-default.active, .btn-dropbox.btn-default:active {
-    background: rgba(0, 126, 229, .2) !important;
-    box-shadow: inset 0 0 0 1px rgba(0, 126, 229, .8) !important
-}
-
-.actions-button .btn-dropbox.btn-default[disabled]:focus, .actions-button .btn-dropbox.disabled.btn-default:focus, .actions-button fieldset[disabled] .btn-dropbox.btn-default:focus, .btn-dropbox.btn-default.disabled, .btn-dropbox.btn-default.disabled.active, .btn-dropbox.btn-default.disabled:active, .btn-dropbox.btn-default.disabled:focus, .btn-dropbox.btn-default.disabled:hover, .btn-dropbox.btn-default[disabled], .btn-dropbox.btn-default[disabled].active, .btn-dropbox.btn-default[disabled]:active, .btn-dropbox.btn-default[disabled]:focus, .btn-dropbox.btn-default[disabled]:hover, fieldset[disabled] .actions-button .btn-dropbox.btn-default:focus, fieldset[disabled] .btn-dropbox.btn-default, fieldset[disabled] .btn-dropbox.btn-default.active, fieldset[disabled] .btn-dropbox.btn-default:active, fieldset[disabled] .btn-dropbox.btn-default:focus, fieldset[disabled] .btn-dropbox.btn-default:hover {
-    background: rgba(207, 215, 230, .1) !important;
-    box-shadow: inset 0 0 0 1px #CFD7E6 !important;
-    color: #CFD7E6 !important
-}
-
-.btn-dropbox.btn-default .badge {
-    color: #fff;
-    background-color: #007EE5
-}
-
-.btn-github {
-    color: #fff !important;
-    background-color: #3F3F44;
-    background-image: -webkit-gradient(linear, left top, right bottom, color-stop(0, rgba(97, 97, 101, 0)), color-stop(1, #616165));
-    background-image: -o-linear-gradient(left top, rgba(97, 97, 101, 0) 0, #616165 100%);
-    background-image: -moz-linear-gradient(left top, rgba(97, 97, 101, 0) 0, #616165 100%);
-    background-image: -webkit-linear-gradient(left top, rgba(97, 97, 101, 0) 0, #616165 100%);
-    background-image: -ms-linear-gradient(left top, rgba(97, 97, 101, 0) 0, #616165 100%);
-    background-image: linear-gradient(to left top, rgba(97, 97, 101, 0) 0, #616165 100%)
-}
-
-.btn-github.active, .btn-github:active, .btn-github:focus, .btn-github:hover, .open > .btn-github.drop-down__toggle, .open > .btn-github.dropdown-toggle {
-    color: #fff;
-    background-color: #525257 !important
-}
-
-.btn-github.active, .btn-github:active, .open > .btn-github.drop-down__toggle, .open > .btn-github.dropdown-toggle {
-    background-color: #3e3e43 !important;
-    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .1) !important
-}
-
-.btn-github.disabled, .btn-github.disabled.active, .btn-github.disabled:active, .btn-github.disabled:focus, .btn-github.disabled:hover, .btn-github[disabled], .btn-github[disabled].active, .btn-github[disabled]:active, .btn-github[disabled]:focus, .btn-github[disabled]:hover, fieldset[disabled] .btn-github, fieldset[disabled] .btn-github.active, fieldset[disabled] .btn-github:active, fieldset[disabled] .btn-github:focus, fieldset[disabled] .btn-github:hover {
-    background: rgba(238, 241, 246, .3) !important;
-    box-shadow: inset 0 0 0 1px #CFD7E6 !important;
-    color: #CFD7E6 !important
-}
-
-.btn-github .badge {
-    color: #3F3F44;
-    background-color: #fff
-}
-
-.btn-github.btn-default {
-    color: #3F3F44 !important;
-    background: 0 0 !important;
-    box-shadow: inset 0 0 0 1px rgba(63, 63, 68, .6)
-}
-
-.btn-github.btn-default:hover {
-    background: rgba(63, 63, 68, .1) !important;
-    box-shadow: inset 0 0 0 1px rgba(63, 63, 68, .6)
-}
-
-.actions-button .btn-github.btn-default:focus, .btn-github.btn-default.active, .btn-github.btn-default:active {
-    background: rgba(63, 63, 68, .2) !important;
-    box-shadow: inset 0 0 0 1px rgba(63, 63, 68, .8) !important
-}
-
-.actions-button .btn-github.btn-default[disabled]:focus, .actions-button .btn-github.disabled.btn-default:focus, .actions-button fieldset[disabled] .btn-github.btn-default:focus, .btn-github.btn-default.disabled, .btn-github.btn-default.disabled.active, .btn-github.btn-default.disabled:active, .btn-github.btn-default.disabled:focus, .btn-github.btn-default.disabled:hover, .btn-github.btn-default[disabled], .btn-github.btn-default[disabled].active, .btn-github.btn-default[disabled]:active, .btn-github.btn-default[disabled]:focus, .btn-github.btn-default[disabled]:hover, fieldset[disabled] .actions-button .btn-github.btn-default:focus, fieldset[disabled] .btn-github.btn-default, fieldset[disabled] .btn-github.btn-default.active, fieldset[disabled] .btn-github.btn-default:active, fieldset[disabled] .btn-github.btn-default:focus, fieldset[disabled] .btn-github.btn-default:hover {
-    background: rgba(207, 215, 230, .1) !important;
-    box-shadow: inset 0 0 0 1px #CFD7E6 !important;
-    color: #CFD7E6 !important
-}
-
-.btn-github.btn-default .badge {
-    color: #fff;
-    background-color: #3F3F44
-}
-
-.btn-link {
-    font-weight: 400
-}
-
-.btn-link.disabled, .btn-link.disabled:hover, .btn-link[disabled], .btn-link[disabled]:hover, fieldset[disabled] .btn-link, fieldset[disabled] .btn-link:hover {
-    color: #CFD7E6;
-    background-color: transparent;
-    border-color: transparent;
-    box-shadow: none;
-    text-decoration: inherit
-}
-
-.btn-group-lg > .btn, .btn-lg {
-    font-weight: 400;
-    padding-left: 20px;
-    padding-right: 20px;
-    border-radius: 6px
-}
-
-.btn-group-sm > .btn, .btn-sm {
-    font-size: 13px
-}
-
-.btn-group-xs > .btn, .btn-xs {
-    height: 24px;
-    line-height: 22px;
-    padding-left: 12px;
-    padding-right: 12px
-}
-
-.btn-group-xs > .btn .icon, .btn-xs .icon {
-    margin-right: 0
-}
-
-.input-group-btn .btn {
-    line-height: 1.6;
-    z-index: 2
-}
-
-.gradient-primary, .purple-gradient {
-    background-image: -webkit-linear-gradient(bottom right, #79589F, #AB8ECD);
-    background-image: linear-gradient(to top left, #79589F, #AB8ECD);
-    background-color: #79589F
-}
-
-.context-switcher__list, .drop-down__menu, .dropdown-menu {
-    font-size: 13px;
-    margin: 2px 0 0;
-    box-shadow: 0 3px 20px rgba(89, 105, 129, .3), 0 1px 2px rgba(0, 0, 0, .05), 0 0 0 1px rgba(89, 105, 129, .1);
-    border: none
-}
-
-.context-switcher__list > li > a, .drop-down__menu > li > a, .dropdown-menu > li > a {
-    padding: 4px 12px 3px
-}
-
-.context-switcher__list > li > a .icon, .drop-down__menu > li > a .icon, .dropdown-menu > li > a .icon {
-    position: relative;
-    margin: -2px 4px 0 2px
-}
-
-.context-switcher__list .dropdown-menu-scroll, .drop-down__menu .dropdown-menu-scroll, .dropdown-menu .dropdown-menu-scroll {
-    overflow: auto;
-    max-height: 480px;
-    margin: -5px 0;
-    padding: 5px 0
-}
-
-.context-switcher__list .dropdown-menu-scroll::-webkit-scrollbar, .drop-down__menu .dropdown-menu-scroll::-webkit-scrollbar, .dropdown-menu .dropdown-menu-scroll::-webkit-scrollbar {
-    width: 12px;
-    height: 12px
-}
-
-.context-switcher__list .dropdown-menu-scroll::-webkit-scrollbar-thumb, .drop-down__menu .dropdown-menu-scroll::-webkit-scrollbar-thumb, .dropdown-menu .dropdown-menu-scroll::-webkit-scrollbar-thumb {
-    width: 5px;
-    height: 5px;
-    border-radius: 10px;
-    background-clip: border-box;
-    box-shadow: inset 0 0 0 1px rgba(207, 215, 230, .5);
-    background: rgba(207, 215, 230, .5);
-    border: 3px solid #fff
-}
-
-.context-switcher__list .dropdown-menu-scroll::-webkit-scrollbar-button, .drop-down__menu .dropdown-menu-scroll::-webkit-scrollbar-button, .dropdown-menu .dropdown-menu-scroll::-webkit-scrollbar-button {
-    width: 0;
-    height: 0;
-    display: none
-}
-
-.context-switcher__list .dropdown-menu-scroll > li > a, .drop-down__menu .dropdown-menu-scroll > li > a, .dropdown-menu .dropdown-menu-scroll > li > a {
-    display: block;
-    padding: 3px 12px;
-    clear: both;
-    font-weight: 400;
-    font-size: 13px;
-    line-height: 1.42857;
-    color: #596981;
-    white-space: nowrap
-}
-
-.context-switcher__list .dropdown-menu-scroll > li > a:focus, .context-switcher__list .dropdown-menu-scroll > li > a:hover, .drop-down__menu .dropdown-menu-scroll > li > a:focus, .drop-down__menu .dropdown-menu-scroll > li > a:hover, .dropdown-menu .dropdown-menu-scroll > li > a:focus, .dropdown-menu .dropdown-menu-scroll > li > a:hover {
-    text-decoration: none;
-    color: #3F3F44;
-    background-color: #f7f8fb
-}
-
-.context-switcher__list .dropdown-menu-scroll > .active > a, .context-switcher__list .dropdown-menu-scroll > .active > a:focus, .context-switcher__list .dropdown-menu-scroll > .active > a:hover, .drop-down__menu .dropdown-menu-scroll > .active > a, .drop-down__menu .dropdown-menu-scroll > .active > a:focus, .drop-down__menu .dropdown-menu-scroll > .active > a:hover, .dropdown-menu .dropdown-menu-scroll > .active > a, .dropdown-menu .dropdown-menu-scroll > .active > a:focus, .dropdown-menu .dropdown-menu-scroll > .active > a:hover {
-    color: #fff;
-    text-decoration: none;
-    outline: 0;
-    background-color: #79589F
-}
-
-.context-switcher__list .dropdown-menu-scroll > .disabled > a, .context-switcher__list .dropdown-menu-scroll > .disabled > a:focus, .context-switcher__list .dropdown-menu-scroll > .disabled > a:hover, .drop-down__menu .dropdown-menu-scroll > .disabled > a, .drop-down__menu .dropdown-menu-scroll > .disabled > a:focus, .drop-down__menu .dropdown-menu-scroll > .disabled > a:hover, .dropdown-menu .dropdown-menu-scroll > .disabled > a, .dropdown-menu .dropdown-menu-scroll > .disabled > a:focus, .dropdown-menu .dropdown-menu-scroll > .disabled > a:hover {
-    color: #CFD7E6
-}
-
-.context-switcher__list .dropdown-menu-scroll > .disabled > a:focus, .context-switcher__list .dropdown-menu-scroll > .disabled > a:hover, .drop-down__menu .dropdown-menu-scroll > .disabled > a:focus, .drop-down__menu .dropdown-menu-scroll > .disabled > a:hover, .dropdown-menu .dropdown-menu-scroll > .disabled > a:focus, .dropdown-menu .dropdown-menu-scroll > .disabled > a:hover {
-    text-decoration: none;
-    background-color: transparent;
-    background-image: none;
-    filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
-    cursor: not-allowed
-}
-
-.dropdown-menu.with-point, .with-point.context-switcher__list, .with-point.drop-down__menu {
-    margin: 8px 0 0
-}
-
-.dropdown-menu.with-point::after, .with-point.context-switcher__list::after, .with-point.drop-down__menu::after {
-    content: '';
-    position: absolute;
-    top: -13px;
-    left: 0;
-    width: 30px;
-    height: 13px;
-    background: url(data:image/png; base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAANCAYAAAC+ct6XAAAAAXNSR0IArs4c6QAAAYhJREFUOBGVULtOAlEQFXxD6RdYam1HpDPREENhYYHUVITS2BA6bWjZzvgP2lmjrUZrbdZHAYEF15CsEeese26uI8tjksm8zpwz9ybmprfElNDhNLhJZJPmkzRij4gj1n1dzyr47wBNOK7WszhxW8TOgTe1JrNr5oxYtHPU2gyxDJgzAmtym2hUzh4jlpEnM5mdNRTN5nVbwre4IbVy9hhl9AcXkoEwJJWYFJ+PfEEifDHytONcFHq9/l2//3HfaJwfST9lzYnnPrjg5Ec0xiZBXLIFlwSdrtedgyD46gwjC4Kggx5m4sDwQOySh7zUkdGvsQEAwVo0Vaud7g4GgzeKMkrvvVo925NdvHycOHVCVRa8CsL8LlwPolS5fLLt+/4TxXSU2XOlcpwFNtrBLnnASX7qmb8f9VqIrhaLpa1ut/ugxXTted4jsNgR58v1l8cK80pcvJLLHW60Wu0bLRJXC/Y2ny9sYld81KvHCmNhOZvdX3fdl0sR+ZzFXff1CrvgsMT53aHwDzqEBw7ZOUAbAAAAAElFTkSuQmCC) no-repeat
-}
-
-@media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min--moz-device-pixel-ratio: 2), only screen and (-o-min-device-pixel-ratio: 2 / 1), only screen and (min-device-pixel-ratio: 2), only screen and (min-resolution: 192dpi), only screen and (min-resolution: 2dppx) {
-    .dropdown-menu.with-point::after, .with-point.context-switcher__list::after, .with-point.drop-down__menu::after {
-        background: url(data:image/png; base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAAaCAYAAADrCT9ZAAAAAXNSR0IArs4c6QAABHNJREFUWAm9Vt1rm1UcXj6arNU2KowWP2DNRkqgYywpXWhs61y7mw4KK+IuhoIjV068mbDp1S7cBqIXA/0L9HIwKXi1XWwwLwqdKJbOybqWCl3b2K3E6j6M8/e83S97evKevCdp9cDp+X0+v+c5b/KmoW3/zwo5jnniWNdwmSsR1wFbjadzt+wiNktws/0qqN6z4QtolHC9fa719Qqpt36bKxF9Ai71LjWK53K6iHKp8Wa5kguqC8qrMFudK+GguqB84BO2EYSAWjmXvF6C7QwiXytvzTVK2tZni9tEucZtAuqN13xKNvJ+cb+YiqmV0xo+bSJQ45fzi9lqrYJtJP3irjEW5Wr7iXGN+Yquh6xZa/oY4BfjuOb1VPLmiR5emq8V86tB/Ya4DmYgl5hZY/rA4xjsUHt7e3TXrkxHJNL0HArK5cdrt2/fuLu4uPi3uCDG5NhGOZYZC/KreqIezLM/TFKjZqwRP9zZ2Z1IJtPJ8+dPjyaTO/MAn5mZvX7q1LlvW1qmZ+7c+XlVQv/IVhE6R320IFaP79eDWGUBkHdYfN4R8Xnjwng3ic87Ln6ziG0fG3tnqFj8/foTY0ns+7Gx94ZQg1rZ6GEM2DwDNnOAzRxhswbYvsssgs9A5hAmYRKMSa8ntqNj946DB48cWFhYvGporbiSu3bo0Ftvolb6VDQwTFyeafJhrn5aBG7jMosYADYP4MFMCiQrYtvaXn0pnx/pn52dG6+osxhzc/Pjg4Mj/egRDBZtCufZzMnka+rZqFY8s4ABGJgH2sS2JBKJF3O54fzU1M2vLRqrwtPTt75BD3qFT4tsfEr0EnkWc2BuzNnUI1DPlpnkRtgKyoOYgJLCiaeT2L9/KDcxMflllaqAwMTEja/QC4ynWIzNM5mL8jN5m7oEcn2ZCW5UMJw6hAczIYht7e0d7rl8+drZAG3W9JUrV88BA1iygckzeLbyYY7M3dQlUOuLE9wAW8EUHKcOZSIg9nxPz9C+ixfHT4uaslVRcKJ86dJ3HwMLmLJtopmT8jT5szZPDAK82Pez/WLesGx2oPPEicLA0aNHPg2FQriURleoq2t3fzwe+2V+fvn+wsIcfqOx+DcYPnOBj+UXW89IDkTNAvbV1pMBNeZ9CrLZN147duztvkLh3c/C4TBeOJtacmGRPXvSAw8fPppaXl4T0bOlp4AQrbN5hl+M855dr2AGhY0d7e7u6xgdPdx78uT7n0ej0ReqpjQYkIuLZbN7X19aWvmxWFy7v7Q0/6dAuTxl60RTsClIGzXOJ+xIOt23Y3j4QObMmY++iMfj+G9pS1ckEmnO5TI5+Z3+4d69x6vF4m9/yQBTtDlTeSLOtleHgG7+wnvfS8nh1JcDv6y2d3Xte/n48Q9GSqU/bgW/hzZXUSqt/VoofHg4ldr7ivDZLhsvTOWj/Jgza1F9Vd9hvg219RT8ym2FU6lsaybTm75w4ewnbW2tOyWHm//PdizW1Dw4mE9NTt786cGD8urKyt1HMs980sxV0tXrX5i0cpIDU/r5AAAAAElFTkSuQmCC);
-        background-size: 30px 13px
-    }
-}
-
-.dropdown-menu.with-point.dropdown-menu-right::after, .with-point.dropdown-menu-right.context-switcher__list::after, .with-point.dropdown-menu-right.drop-down__menu::after {
-    left: auto;
-    right: 0
-}
-
-.dropdown-menu-center.context-switcher__list, .dropdown-menu-center.drop-down__menu, .dropdown-menu.dropdown-menu-center {
-    margin-left: 50%;
-    -webkit-transform: translateX(-50%);
-    -moz-transform: translateX(-50%);
-    -ms-transform: translateX(-50%);
-    -o-transform: translateX(-50%);
-    transform: translateX(-50%)
-}
-
-.dropdown-menu-center.with-point.context-switcher__list::after, .dropdown-menu-center.with-point.drop-down__menu::after, .dropdown-menu.dropdown-menu-center.with-point::after {
-    left: 50%;
-    -webkit-transform: translateX(-50%);
-    -moz-transform: translateX(-50%);
-    -ms-transform: translateX(-50%);
-    -o-transform: translateX(-50%);
-    transform: translateX(-50%)
-}
-
-.dropup .context-switcher__list, .dropup .drop-down__menu, .dropup .dropdown-menu {
-    margin: 0 0 2px
-}
-
-.dropup .dropdown-menu.with-point, .dropup .with-point.context-switcher__list, .dropup .with-point.drop-down__menu {
-    margin: 0 0 8px
-}
-
-.dropup .dropdown-menu.with-point::after, .dropup .with-point.context-switcher__list::after, .dropup .with-point.drop-down__menu::after {
-    -webkit-transform: rotate(180deg);
-    -ms-transform: rotate(180deg);
-    -o-transform: rotate(180deg);
-    transform: rotate(180deg);
-    top: auto;
-    bottom: -13px
-}
-
-.list-group-item {
-    border-left: none;
-    border-right: none;
-    padding: 10px 0
-}
-
-.list-group-item:first-of-type {
-    border-top: none
-}
-
-.list-group-item:last-of-type {
-    border-bottom: none
-}
-
-.list-group-item-link {
-    color: #555
-}
-
-.list-group-item-link .list-group-item-heading {
-    color: #3F3F44
-}
-
-.list-group-item-link:focus, .list-group-item-link:hover {
-    text-decoration: none;
-    color: #555;
-    background-color: #f7f8fb
-}
-
-.list-group-item-link.active:before, a.list-group-item.active:before {
-    background: #408FEC;
-    content: '';
-    display: block;
-    height: 100%;
-    left: -15px;
-    position: absolute;
-    top: 0;
-    width: 3px
-}
-
-.list-group-lg > .list-group-item {
-    padding-bottom: 40px;
-    padding-top: 40px
-}
-
-.nav.sub-nav {
-    border: none;
-    padding-top: 9px;
-    box-shadow: inset 0 -1px 0 #E7E7EC
-}
-
-.nav.sub-nav a {
-    display: inline-block;
-    margin-right: 26px;
-    padding: 10px 2px 12px;
-    color: #96A3B6;
-    position: relative
-}
-
-.nav.sub-nav a.active::after, .nav.sub-nav a:hover::after {
-    position: absolute;
-    height: 1px;
-    width: 100%;
-    content: '';
-    left: 0;
-    bottom: 0
-}
-
-.nav.sub-nav a.active, .nav.sub-nav a.active-override {
-    color: #79589F
-}
-
-.nav.sub-nav a:last-child {
-    margin-right: 0
-}
-
-@media (max-width: 768px) {
-    .nav.sub-nav a {
-        margin-right: 10px
-    }
-
-    .nav.sub-nav a i {
-        display: none
-    }
-}
-
-@media (max-width: 420px) {
-    .nav.sub-nav a i {
-        display: inline-block;
-        margin-left: 4px;
-        margin-right: 4px
-    }
-
-    .nav.sub-nav a span {
-        display: none
-    }
-}
-
-.nav.sub-nav a:hover::after {
-    background: #CFD7E6
-}
-
-.nav.sub-nav a.active::after {
-    background: #A996C0
-}
-
-.nav.sub-nav a > a {
-    display: inline;
-    color: gray;
-    border: none;
-    padding: 0
-}
-
-.nav.sub-nav a > a:hover {
-    background: 0 0
-}
-
-.nav.sub-nav a i {
-    position: relative;
-    top: -1px;
-    margin-right: 4px;
-    display: inline-block
-}
-
-.nav.sub-nav a.active {
-    border: none
-}
-
-.nav.sub-nav a.active > a {
-    color: #408FEC
-}
-
-.nav.nav-pills li a .panel-section .connected.panel-details, .nav.nav-pills li a small.connected, .panel-section .nav.nav-pills li a .connected.panel-details {
-    font-weight: 700
-}
-
-.nav.nav-pills li.deploy-tab.tab-dropbox a {
-    color: #007EE5
-}
-
-.nav.nav-pills li.deploy-tab .label-github {
-    background: #3F3F44
-}
-
-.nav.nav-pills li.deploy-tab .label-dropbox {
-    background: #007EE5
-}
-
-.nav.nav-pills li.deploy-tab .icon.icon-success-alt {
-    position: relative;
-    top: -1px;
-    margin-left: 4px
-}
-
-@media (max-width: 520px) {
-    .nav.nav-pills li.deploy-tab {
-        margin-left: 0;
-        margin-right: 0;
-        text-align: center
-    }
-
-    .nav.nav-pills li.deploy-tab .service {
-        display: block;
-        padding-top: 4px
-    }
-
-    .nav.nav-pills li.deploy-tab .panel-section .panel-details, .nav.nav-pills li.deploy-tab small, .panel-section .nav.nav-pills li.deploy-tab .panel-details {
-        display: none
-    }
-
-    .nav.nav-pills li.deploy-tab a {
-        padding: 8px 10px;
-        font-size: 13px
-    }
-
-    .nav.nav-pills li.deploy-tab .icon.tab-icon {
-        position: relative;
-        top: 0;
-        left: 0;
-        margin: 0 auto
-    }
-
-    .nav.nav-pills li.deploy-tab .icon.icon-success-alt {
-        position: absolute;
-        top: 8px;
-        right: 10px;
-        background-color: #fff;
-        border-radius: 50%
-    }
-}
-
-.panel-section .panel-content > :first-child, .panel-section .panel-title {
-    margin-top: 0
-}
-
-.panel-section .panel-description {
-    line-height: 24px
-}
-
-@media (max-width: 767px) {
-    .panel-section .panel-description {
-        padding-bottom: 20px
-    }
-}
-
-.panel-section .panel-title .label {
-    position: relative;
-    top: -2px;
-    margin-left: 4px;
-    text-transform: uppercase;
-    font-size: 9px;
-    padding: 2px 4px 1px
-}
-
-.panel-section .panel-title .icon {
-    position: relative;
-    top: -1px;
-    margin-right: 4px
-}
-
-.panel-section .panel-details {
-    color: #596981;
-    margin-bottom: 0
-}
-
-.panel-section.danger .panel-title {
-    color: #D64242
-}
-
-#overview-page .app-overview-metrics .metrics__summary-row--favorite__link-wrapper, #overview-page .data-unavailable, .buildpack-installations-list .sortable-item.is-dragging, .content-box, .metrics__chart-sorting .sortable-item.is-dragging, .metrics__monitor-preview-chart__loading, .metrics__not-available, .purple-box {
-    position: relative;
-    border-radius: 4px
-}
-
-.loading-spinner, .spinner {
-    display: inline-flex;
-    -webkit-box-pack: distribute;
-    -moz-box-pack: distribute;
-    box-pack: distribute;
-    -webkit-justify-content: space-around;
-    -moz-justify-content: space-around;
-    -ms-justify-content: space-around;
-    -o-justify-content: space-around;
-    justify-content: space-around;
-    -ms-flex-pack: distribute;
-    position: relative;
-    width: 30px;
-    height: 6px
-}
-
-.loading-spinner i.spinner__dot, .spinner i.spinner__dot {
-    width: 6px;
-    height: 6px;
-    border-radius: 50%;
-    background: #96A3B6;
-    -webkit-animation: pulse .85s infinite ease-in-out;
-    -o-animation: pulse .85s infinite ease-in-out;
-    animation: pulse .85s infinite ease-in-out
-}
-
-.loading-spinner i.spinner__dot.spinner__dot--one, .spinner i.spinner__dot.spinner__dot--one {
-    -webkit-animation-delay: -.2s;
-    animation-delay: -.2s
-}
-
-.loading-spinner i.spinner__dot.spinner__dot--two, .spinner i.spinner__dot.spinner__dot--two {
-    -webkit-animation-delay: -.1s;
-    animation-delay: -.1s
-}
-
-.spinner--inverted.loading-spinner i.spinner__dot, .spinner.spinner--inverted i.spinner__dot {
-    background: #fff
-}
-
-.btn--saving .loading-spinner, .btn--saving .spinner {
-    width: 18px;
-    margin-right: 8px;
-    opacity: .6
-}
-
-.btn--saving .loading-spinner i.spinner__dot, .btn--saving .spinner i.spinner__dot {
-    width: 3px;
-    height: 3px
-}
-
-@-webkit-keyframes pulse {
-    0%, 100%, 80% {
-        opacity: 0;
-        transform: scale(.8)
-    }
-    40% {
-        opacity: 1;
-        transform: scale(1)
-    }
-}
-
-@-moz-keyframes pulse {
-    0%, 100%, 80% {
-        opacity: 0;
-        transform: scale(.8)
-    }
-    40% {
-        opacity: 1;
-        transform: scale(1)
-    }
-}
-
-@keyframes pulse {
-    0%, 100%, 80% {
-        opacity: 0;
-        transform: scale(.8)
-    }
-    40% {
-        opacity: 1;
-        transform: scale(1)
-    }
-}
-
-.well {
-    background-color: rgba(238, 241, 246, .5);
-    box-shadow: inset 0 0 0 1px rgba(89, 105, 129, .1), inset 0 1px 3px rgba(207, 215, 230, .6);
-    border: none
-}
-
-.modal-dialog {
-    box-shadow: 0 3px 20px rgba(63, 63, 68, .5), 0 1px 2px rgba(0, 0, 0, .05), 0 0 0 1px rgba(63, 63, 68, .25)
-}
-
-.modal-content {
-    border: none;
-    box-shadow: none
-}
-
-.certRadio.checked, .checked.hk-message--danger.certRadio {
-    box-shadow: 0 3px 16px 0 rgba(89, 105, 169, .2), 0 1px 2px 0 rgba(0, 0, 0, .05)
-}
-
-@media (min-width: 768px) {
-    .modal-dialog {
-        margin: 40px auto
-    }
-}
-
-.u-padding-Axxl {
-    padding: 40px
-}
-
-.u-padding-Axl {
-    padding: 33px
-}
-
-.u-padding-Al {
-    padding: 27px
-}
-
-.u-padding-Axm {
-    padding: 22px
-}
-
-.u-padding-Am {
-    padding: 20px
-}
-
-.u-padding-As {
-    padding: 12px
-}
-
-.u-padding-Axs {
-    padding: 9px
-}
-
-.u-padding-Axxs {
-    padding: 6px
-}
-
-.u-padding-An {
-    padding: 0
-}
-
-.u-margin-Axxl {
-    margin: 40px
-}
-
-.u-margin-Axl {
-    margin: 33px
-}
-
-.u-margin-Al {
-    margin: 27px
-}
-
-.u-margin-Axm {
-    margin: 22px
-}
-
-.u-margin-Am {
-    margin: 20px
-}
-
-.u-margin-As {
-    margin: 12px
-}
-
-.u-margin-Axs {
-    margin: 9px
-}
-
-.u-margin-Axxs {
-    margin: 6px
-}
-
-.u-margin-An {
-    margin: 0
-}
-
-.u-margin-Vxxl {
-    margin-top: 40px;
-    margin-bottom: 40px
-}
-
-.u-margin-Vxl {
-    margin-top: 33px;
-    margin-bottom: 33px
-}
-
-.u-margin-Vl {
-    margin-top: 27px;
-    margin-bottom: 27px
-}
-
-.u-margin-Vxm {
-    margin-top: 22px;
-    margin-bottom: 22px
-}
-
-.u-margin-Vm {
-    margin-top: 20px;
-    margin-bottom: 20px
-}
-
-.u-margin-Vs {
-    margin-top: 12px;
-    margin-bottom: 12px
-}
-
-.u-margin-Vxs {
-    margin-top: 9px;
-    margin-bottom: 9px
-}
-
-.u-margin-Vxxs {
-    margin-top: 6px;
-    margin-bottom: 6px
-}
-
-.u-margin-Vn {
-    margin-top: 0;
-    margin-bottom: 0
-}
-
-.peerings-table, .u-margin-Txxl {
-    margin-top: 40px
-}
-
-.u-padding-Vxxl {
-    padding-top: 40px;
-    padding-bottom: 40px
-}
-
-.u-padding-Vxl {
-    padding-top: 33px;
-    padding-bottom: 33px
-}
-
-.u-padding-Vl {
-    padding-top: 27px;
-    padding-bottom: 27px
-}
-
-.u-padding-Vxm {
-    padding-top: 22px;
-    padding-bottom: 22px
-}
-
-.u-padding-Vm {
-    padding-top: 20px;
-    padding-bottom: 20px
-}
-
-.u-padding-Vs {
-    padding-top: 12px;
-    padding-bottom: 12px
-}
-
-.u-padding-Vxs {
-    padding-top: 9px;
-    padding-bottom: 9px
-}
-
-.u-padding-Vxxs {
-    padding-top: 6px;
-    padding-bottom: 6px
-}
-
-.u-padding-Vn {
-    padding-top: 0;
-    padding-bottom: 0
-}
-
-.u-margin-Hxxl {
-    margin-left: 40px;
-    margin-right: 40px
-}
-
-.u-margin-Hxl {
-    margin-left: 33px;
-    margin-right: 33px
-}
-
-.u-margin-Hl {
-    margin-left: 27px;
-    margin-right: 27px
-}
-
-.u-margin-Hxm {
-    margin-left: 22px;
-    margin-right: 22px
-}
-
-.u-margin-Hm {
-    margin-left: 20px;
-    margin-right: 20px
-}
-
-.u-margin-Hs {
-    margin-left: 12px;
-    margin-right: 12px
-}
-
-.u-margin-Hxs {
-    margin-left: 9px;
-    margin-right: 9px
-}
-
-.u-margin-Hxxs {
-    margin-left: 6px;
-    margin-right: 6px
-}
-
-.u-margin-Hn {
-    margin-left: 0;
-    margin-right: 0
-}
-
-.u-padding-Hxxl {
-    padding-left: 40px;
-    padding-right: 40px
-}
-
-.u-padding-Hxl {
-    padding-left: 33px;
-    padding-right: 33px
-}
-
-.u-padding-Hl {
-    padding-left: 27px;
-    padding-right: 27px
-}
-
-.u-padding-Hxm {
-    padding-left: 22px;
-    padding-right: 22px
-}
-
-.u-padding-Hm {
-    padding-left: 20px;
-    padding-right: 20px
-}
-
-.u-padding-Hs {
-    padding-left: 12px;
-    padding-right: 12px
-}
-
-.u-padding-Hxs {
-    padding-left: 9px;
-    padding-right: 9px
-}
-
-.u-padding-Hxxs {
-    padding-left: 6px;
-    padding-right: 6px
-}
-
-.u-padding-Hn {
-    padding-left: 0;
-    padding-right: 0
-}
-
-.u-margin-Txl {
-    margin-top: 33px
-}
-
-.u-margin-Tl {
-    margin-top: 27px
-}
-
-.u-margin-Txm {
-    margin-top: 22px
-}
-
-.u-margin-Tm {
-    margin-top: 20px
-}
-
-.u-margin-Ts {
-    margin-top: 12px
-}
-
-.u-margin-Txs {
-    margin-top: 9px
-}
-
-.u-margin-Txxs {
-    margin-top: 6px
-}
-
-.u-margin-Tn {
-    margin-top: 0
-}
-
-.u-padding-Txxl {
-    padding-top: 40px
-}
-
-.u-padding-Txl {
-    padding-top: 33px
-}
-
-.u-padding-Tl {
-    padding-top: 27px
-}
-
-.u-padding-Txm {
-    padding-top: 22px
-}
-
-.u-padding-Tm {
-    padding-top: 20px
-}
-
-.u-padding-Ts {
-    padding-top: 12px
-}
-
-.u-padding-Txs {
-    padding-top: 9px
-}
-
-.u-padding-Txxs {
-    padding-top: 6px
-}
-
-.u-padding-Tn {
-    padding-top: 0
-}
-
-.u-margin-Bxxl {
-    margin-bottom: 40px
-}
-
-.u-margin-Bxl {
-    margin-bottom: 33px
-}
-
-.u-margin-Bl {
-    margin-bottom: 27px
-}
-
-.u-margin-Bxm {
-    margin-bottom: 22px
-}
-
-.lock-status, .u-margin-Bm {
-    margin-bottom: 20px
-}
-
-.u-margin-Bs {
-    margin-bottom: 12px
-}
-
-.u-margin-Bxs {
-    margin-bottom: 9px
-}
-
-.u-margin-Bxxs {
-    margin-bottom: 6px
-}
-
-.u-margin-Bn {
-    margin-bottom: 0
-}
-
-.u-padding-Bxxl {
-    padding-bottom: 40px
-}
-
-.u-padding-Bxl {
-    padding-bottom: 33px
-}
-
-.u-padding-Bl {
-    padding-bottom: 27px
-}
-
-.u-padding-Bxm {
-    padding-bottom: 22px
-}
-
-.build-view, .u-padding-Bm {
-    padding-bottom: 20px
-}
-
-.u-padding-Bs {
-    padding-bottom: 12px
-}
-
-.u-padding-Bxs {
-    padding-bottom: 9px
-}
-
-.u-padding-Bxxs {
-    padding-bottom: 6px
-}
-
-.u-padding-Bn {
-    padding-bottom: 0
-}
-
-.u-margin-Rxxl {
-    margin-right: 40px
-}
-
-.u-margin-Rxl {
-    margin-right: 33px
-}
-
-.u-margin-Rl {
-    margin-right: 27px
-}
-
-.u-margin-Rxm {
-    margin-right: 22px
-}
-
-.u-margin-Rm {
-    margin-right: 20px
-}
-
-.u-margin-Rs {
-    margin-right: 12px
-}
-
-.u-margin-Rxs {
-    margin-right: 9px
-}
-
-.u-margin-Rxxs {
-    margin-right: 6px
-}
-
-.u-margin-Rn {
-    margin-right: 0
-}
-
-.u-padding-Rxxl {
-    padding-right: 40px
-}
-
-.u-padding-Rxl {
-    padding-right: 33px
-}
-
-.u-padding-Rl {
-    padding-right: 27px
-}
-
-.u-padding-Rxm {
-    padding-right: 22px
-}
-
-.u-padding-Rm {
-    padding-right: 20px
-}
-
-.u-padding-Rs {
-    padding-right: 12px
-}
-
-.u-padding-Rxs {
-    padding-right: 9px
-}
-
-.u-padding-Rxxs {
-    padding-right: 6px
-}
-
-.u-padding-Rn {
-    padding-right: 0
-}
-
-.u-margin-Lxxl {
-    margin-left: 40px
-}
-
-.u-margin-Lxl {
-    margin-left: 33px
-}
-
-.u-margin-Ll {
-    margin-left: 27px
-}
-
-.u-margin-Lxm {
-    margin-left: 22px
-}
-
-.u-margin-Lm {
-    margin-left: 20px
-}
-
-.u-margin-Ls {
-    margin-left: 12px
-}
-
-.u-margin-Lxs {
-    margin-left: 9px
-}
-
-.u-margin-Lxxs {
-    margin-left: 6px
-}
-
-.u-margin-Ln {
-    margin-left: 0
-}
-
-.u-padding-Lxxl {
-    padding-left: 40px
-}
-
-.u-padding-Lxl {
-    padding-left: 33px
-}
-
-.u-padding-Ll {
-    padding-left: 27px
-}
-
-.u-padding-Lxm {
-    padding-left: 22px
-}
-
-.u-padding-Lm {
-    padding-left: 20px
-}
-
-.u-padding-Ls {
-    padding-left: 12px
-}
-
-.u-padding-Lxs {
-    padding-left: 9px
-}
-
-.u-padding-Lxxs {
-    padding-left: 6px
-}
-
-.u-padding-Ln, table.editable-list td:first-of-type, table.static-list td:first-of-type {
-    padding-left: 0
-}
-
-.u-is-hidden {
-    visibility: hidden !important
-}
-
-.u-is-visible {
-    display: block !important;
-    visibility: visible !important
-}
-
-.metrics__magic-chart-context.is-empty, .u-is-invisible, range-slider-value-indicator.is-hidden, range-slider.disabled range-slider-handle {
-    visibility: hidden
-}
-
-.u-is-hidden-visually {
-    position: absolute !important;
-    overflow: hidden;
-    width: 1px;
-    height: 1px;
-    padding: 0;
-    border: 0;
-    clip: rect(1px, 1px, 1px, 1px)
-}
-
-.u-is-actionable {
-    cursor: pointer
-}
-
-.u-is-draggable {
-    cursor: move
-}
-
-.u-is-disabled {
-    cursor: default
-}
-
-.u-text-start {
-    text-align: left
-}
-
-.u-text-end, table.editable-list .new-item {
-    text-align: right
-}
-
-.u-text-extra-small {
-    font-size: 12px;
-    color: #96A3B6
-}
-
-.u-border-circle {
-    border-radius: 50%
-}
-
-.alert-primary, .text-primary {
-    color: #79589F
-}
-
-.alert-success, .text-success {
-    color: #008700
-}
-
-.alert-info, .text-info {
-    color: #006DEB
-}
-
-.alert-warning, .text-warning {
-    color: #C74C00
-}
-
-.alert-danger, .text-danger {
-    color: #DE0A0A
-}
-
-.label-primary {
-    background-color: #79589F
-}
-
-.label-success {
-    background-color: #008700
-}
-
-.label-info {
-    background-color: #006DEB
-}
-
-.label-warning {
-    background-color: #C74C00
-}
-
-.assume-identity, .label-danger {
-    background-color: #DE0A0A
-}
-
-.label-default {
-    background-color: #62738D
-}
-
-code {
-    color: #475366;
-    background-color: #F7F8FB
-}
-
-.form-control::-webkit-input-placeholder {
-    color: #62738D
-}
-
-.form-control:-moz-placeholder {
-    color: #62738D
-}
-
-.form-control::-moz-placeholder {
-    color: #62738D
-}
-
-.form-control:-ms-input-placeholder {
-    color: #62738D
-}
-
-.form-control::-ms-input-placeholder {
-    color: #62738D
-}
-
-.active .sub-nav-item-name {
-    color: #79589F
-}
-
-.hk-slide-panel-overlay {
-    z-index: 100;
-    position: fixed;
-    top: 0;
-    left: 0;
-    right: 0;
-    bottom: 0;
-    overflow: hidden;
-    opacity: 0;
-    background: 0 0;
-    transition: .4s cubic-bezier(.3, 0, 0, 1)
-}
-
-.hk-slide-panel-overlay.is-visible {
-    opacity: 1;
-    background: rgba(89, 105, 129, .2)
-}
-
-.hk-slide-panel-container {
-    overflow-y: hidden;
-    min-height: 200px;
-    transition: transform .4s cubic-bezier(.3, 0, 0, 1)
-}
-
-.hk-slide-panel-container.from-left, .hk-slide-panel-container.from-right {
-    top: 0;
-    height: calc(100% - 20px)
-}
-
-@media only screen and (min-device-width: 768px) and (orientation: portrait) {
-    .hk-slide-panel-container.from-left, .hk-slide-panel-container.from-right {
-        max-height: 1050px
-    }
-}
-
-.hk-slide-panel-container.from-left {
-    left: 0;
-    transform: translateX(-400px)
-}
-
-.hk-slide-panel-container.from-left.large {
-    transform: translateX(-50vw)
-}
-
-.is-visible .hk-slide-panel-container.from-left, .is-visible .hk-slide-panel-container.from-left .large {
-    transform: translateX(0)
-}
-
-.hk-slide-panel-container.from-right {
-    right: 0;
-    transform: translateX(400px)
-}
-
-.hk-slide-panel-container.from-right.large {
-    transform: translateX(50vw)
-}
-
-.is-visible .hk-slide-panel-container.from-right, .is-visible .hk-slide-panel-container.from-right .large {
-    transform: translateX(0)
-}
-
-.hk-slide-panel-container.from-bottom, .hk-slide-panel-container.from-top {
-    left: 0;
-    right: 0
-}
-
-@media only screen and (min-device-width: 320px) and (max-device-width: 480px) {
-    .hk-slide-panel-container, .hk-slide-panel-container.from-left, .hk-slide-panel-container.from-right {
-        width: calc(100% - 20px)
-    }
-
-    .hk-slide-panel-container.from-bottom, .hk-slide-panel-container.from-top {
-        height: 100%
-    }
-}
-
-@media only screen and (min-device-width: 768px) {
-    .hk-slide-panel-container {
-        min-width: 400px
-    }
-
-    .hk-slide-panel-container.from-left, .hk-slide-panel-container.from-right {
-        width: 400px
-    }
-
-    .hk-slide-panel-container.from-left.large, .hk-slide-panel-container.from-right.large {
-        width: 50vw
-    }
-
-    .hk-slide-panel-container.from-bottom, .hk-slide-panel-container.from-top {
-        height: 400px
-    }
-
-    .hk-slide-panel-container.from-bottom.large, .hk-slide-panel-container.from-top.large {
-        height: 50vh;
-        min-height: 400px
-    }
-}
-
-.hk-slide-panel-container.from-bottom {
-    bottom: 0;
-    transform: translateY(400px)
-}
-
-.hk-slide-panel-container.from-bottom.large {
-    transform: translateY(50vh)
-}
-
-.is-visible .hk-slide-panel-container.from-bottom, .is-visible .hk-slide-panel-container.from-bottom .large {
-    transform: translateY(0)
-}
-
-.hk-slide-panel-container.from-top {
-    top: 0;
-    transform: translateY(-400px)
-}
-
-.hk-slide-panel-container.from-top.large {
-    transform: translateY(-50vh)
-}
-
-.is-visible .hk-slide-panel-container.from-top, .is-visible .hk-slide-panel-container.from-top .large {
-    transform: translateY(0)
-}
-
-.hk-slide-panel-footer, .hk-slide-panel-header {
-    overflow: hidden;
-    min-height: 51px;
-    flex: 0 0 auto
-}
-
-.hk-slide-panel-content {
-    flex: 1;
-    background: linear-gradient(white 30%, rgba(255, 255, 255, 0)), linear-gradient(rgba(255, 255, 255, 0), #fff 70%) 0 100%, radial-gradient(50% 0, farthest-side, rgba(0, 0, 0, .1), rgba(0, 0, 0, 0)), radial-gradient(50% 100%, farthest-side, rgba(0, 0, 0, .1), rgba(0, 0, 0, 0)) 0 100%;
-    background: linear-gradient(white 30%, rgba(255, 255, 255, 0)), linear-gradient(rgba(255, 255, 255, 0), #fff 70%) 0 100%, radial-gradient(farthest-side at 50% 0, rgba(0, 0, 0, .1), rgba(0, 0, 0, 0)), radial-gradient(farthest-side at 50% 100%, rgba(0, 0, 0, .1), rgba(0, 0, 0, 0)) 0 100%;
-    background-repeat: no-repeat;
-    background-color: #fff;
-    background-size: 100% 40px, 100% 40px, 100% 14px, 100% 14px;
-    background-attachment: local, local, scroll, scroll
-}
-
-.slide-panel-shadow-cover-top {
-    flex-basis: 10px;
-    flex-shrink: 0;
-    flex-grow: 0;
-    height: 10px;
-    width: 100%;
-    background: linear-gradient(#FFF 30%, rgba(255, 255, 255, 0)) 100% 0;
-    background-size: 100% 12px;
-    background-repeat: no-repeat;
-    pointer-events: none
-}
-
-.slide-panel-shadow-cover-bottom {
-    flex-basis: 10px;
-    flex-shrink: 0;
-    flex-grow: 0;
-    height: 10px;
-    width: 100%;
-    background: linear-gradient(rgba(255, 255, 255, 0), #FFF 70%) 0 100%;
-    background-size: 100% 12px;
-    background-repeat: no-repeat;
-    pointer-events: none
-}
-
-body.panel-is-visible {
-    -webkit-overflow-scrolling: touch;
-    overflow: hidden
-}
-
-.hk-slide-panel-container.from-bottom .hk-slide-panel-content, .hk-slide-panel-container.from-top .hk-slide-panel-content {
-    height: calc(100% - 40px)
-}
-
-.hk-slide-panel-container.from-bottom .hk-slide-panel-footer, .hk-slide-panel-container.from-bottom .hk-slide-panel-header, .hk-slide-panel-container.from-top .hk-slide-panel-footer, .hk-slide-panel-container.from-top .hk-slide-panel-header {
-    min-height: 40px
-}
-
-@keyframes hk-fade-in {
-    from {
-        opacity: 0
-    }
-    to {
-        opacity: 1
-    }
-}
-
-@keyframes hk-fade-out {
-    from {
-        opacity: 1
-    }
-    to {
-        opacity: 0
-    }
-}
-
-@keyframes hk-slide-up {
-    from {
-        transform: translateY(calc(100% + 8px))
-    }
-    to {
-        transform: translateY(0)
-    }
-}
-
-@keyframes hk-slide-down {
-    from {
-        transform: translateY(0)
-    }
-    to {
-        transform: translateY(calc(100% + 8px))
-    }
-}
-
-.hk-slide-panel-breakout-overlay {
-    position: absolute;
-    top: 0;
-    right: 0;
-    bottom: 0;
-    left: 0;
-    z-index: 100;
-    background: rgba(89, 105, 129, .15);
-    animation: .3s cubic-bezier(.3, 0, 0, 1) both hk-fade-in
-}
-
-.hk-slide-panel-breakout-content {
-    position: absolute;
-    left: 0;
-    right: 0;
-    bottom: 0;
-    z-index: 100;
-    background: #fff;
-    animation: .3s cubic-bezier(.3, 0, 0, 1) .1s both hk-slide-up
-}
-
-.hk-slide-panel-breakout[hidden] {
-    display: block
-}
-
-.hk-slide-panel-breakout[hidden] .hk-slide-panel-breakout-overlay {
-    animation: .3s cubic-bezier(.3, 0, 0, 1) both hk-fade-out
-}
-
-.hk-slide-panel-breakout[hidden] .hk-slide-panel-breakout-content {
-    animation: .3s cubic-bezier(.3, 0, 0, 1) both hk-slide-down
-}
-
-table.editable-list, table.static-list {
-    table-layout: fixed
-}
-
-.buildpack-installations-list .editable-list, table.editable-list.ssh-keys, table.table-auto {
-    table-layout: auto
-}
-
-table.editable-list .icon-cell, table.static-list .icon-cell {
-    width: 32px
-}
-
-table.editable-list td:last-of-type, table.static-list td:last-of-type {
-    padding-right: 0
-}
-
-table.editable-list .action-cell, table.static-list .action-cell {
-    width: 24px
-}
-
-table.editable-list .action-cell button.btn-link, table.static-list .action-cell button.btn-link {
-    padding: 8px 10px;
-    border: none
-}
-
-table.editable-list .action-cell .context-switcher__list button, table.editable-list .action-cell .drop-down__menu button, table.static-list .action-cell .context-switcher__list button, table.static-list .action-cell .drop-down__menu button {
-    padding: 4px 12px 3px
-}
-
-table.editable-list .item-removed td {
-    color: #CFD7E6 !important
-}
-
-table.editable-list .item-removed td .form-control, table.editable-list .item-removed td a, table.editable-list .item-removed td span {
-    color: #CFD7E6 !important;
-    text-decoration: line-through
-}
-
-table.editable-list .item-removed td img {
-    opacity: .4
-}
-
-table.editable-list .item-not-addable {
-    display: none
-}
-
-table.editable-list .item-added:not(.item-new) td {
-    color: #62738D
-}
-
-table.editable-list .item-added:not(.item-new) td .form-control {
-    color: #62738D !important
-}
-
-table.editable-list .item-added:not(.item-new) td img {
-    opacity: .6
-}
-
-table.editable-list tbody.app-json-config-row {
-    border-top: 1px solid #e7ebf3 !important
-}
-
-table.editable-list tbody.app-json-config-row td, table.editable-list tbody.app-json-config-row:first-of-type {
-    border: none !important
-}
-
-.certRadio.checked, .certRadio:hover {
-    border: 1px solid #79589f
-}
-
-.certRadio {
-    transition: all 150ms ease-in-out
-}
-
-.checked.hk-message--danger.certRadio {
-    border: 1px solid #de0a0a
-}
-
-.form-group {
-    position: relative
-}
-
-.form-group .input-badge {
-    position: absolute;
-    top: 7px;
-    right: 10px
-}
-
-.form-group .app-picker {
-    position: relative
-}
-
-.form-group .app-picker .icon {
-    position: absolute;
-    top: 8px;
-    left: 10px
-}
-
-.form-group .app-picker .form-control {
-    padding-left: 32px
-}
-
-.edit-first .input-badge {
-    left: 100%;
-    right: auto;
-    margin-left: -26px
-}
-
-.edit-first .team-name {
-    height: 131px
-}
-
-textarea.form-control {
-    resize: none;
-    white-space: nowrap;
-    overflow-x: hidden !important;
-    padding-right: 1px
-}
-
-input[type=range] {
-    display: inline-block;
-    width: auto
-}
-
-.form-control:focus ~ .field-error-message-wrapper, .nav.nav-tabs.sub-nav svg, .nav.nav-tabs.sub-nav.pipeline-nav::after {
-    display: none
-}
-
-.field-error-message {
-    font-size: 11px;
-    font-weight: 700;
-    color: #DE0A0A;
-    padding: 2px 0
-}
-
-td .field-error-message {
-    position: absolute;
-    top: 4px;
-    right: 1px;
-    padding: 6px 10px;
-    background: #fff;
-    pointer-events: none
-}
-
-td .field-error-message::after {
-    content: '';
-    position: absolute;
-    left: -10px;
-    top: 0;
-    bottom: 0;
-    width: 10px;
-    background-image: -webkit-linear-gradient(left, rgba(255, 255, 255, 0) 0, #fff 100%);
-    background-image: -moz-linear-gradient(left, rgba(255, 255, 255, 0) 0, #fff 100%);
-    background-image: -ms-linear-gradient(left, rgba(255, 255, 255, 0) 0, #fff 100%);
-    background-image: linear-gradient(to right, rgba(255, 255, 255, 0) 0, #fff 100%)
-}
-
-td .form-group {
-    position: relative;
-    margin: 0;
-    padding: 0
-}
-
-.form-control::-webkit-input-placeholder {
-    opacity: 1
-}
-
-.form-control:-moz-placeholder {
-    opacity: 1
-}
-
-.form-control::-moz-placeholder {
-    opacity: 1
-}
-
-.form-control:-ms-input-placeholder {
-    opacity: 1
-}
-
-input.placeholder-value::-webkit-input-placeholder {
-    color: #3F3F44
-}
-
-input.placeholder-value:-moz-placeholder {
-    color: #3F3F44
-}
-
-input.placeholder-value::-moz-placeholder {
-    color: #3F3F44
-}
-
-input.placeholder-value:-ms-input-placeholder {
-    color: #3F3F44
-}
-
-input.placeholder-value:focus::-webkit-input-placeholder {
-    color: #fff
-}
-
-input.placeholder-value:focus:-moz-placeholder {
-    color: #fff
-}
-
-input.placeholder-value:focus::-moz-placeholder {
-    color: #fff
-}
-
-input.placeholder-value:focus:-ms-input-placeholder {
-    color: #fff
-}
-
-.input-group .input-group-btn .btn {
-    line-height: 20px;
-    padding-bottom: 7px;
-    padding-top: 7px
-}
-
-@media (min-width: 768px) {
-    .edit-first .compacted-item, .edit-first input[type=password], .edit-first input[type=text], .edit-first select, .edit-first textarea {
-        width: 65%
-    }
-
-    .edit-first label {
-        text-overflow: ellipsis;
-        overflow: hidden
-    }
-
-    .edit-first .input-badge {
-        left: 65%;
-        right: auto;
-        margin-left: -26px
-    }
-}
-
-.nav.nav-tabs.sub-nav {
-    position: relative;
-    border: none;
-    text-align: left;
-    padding: 3px 20px 0;
-    margin: 0 -20px 20px;
-    background: #fff;
-    -webkit-flex-shrink: 0;
-    -moz-flex-shrink: 0;
-    flex-shrink: 0;
-    -ms-flex-negative: 0
-}
-
-.nav.nav-tabs.sub-nav.pipeline-nav {
-    margin: 0;
-    box-shadow: inset 0 -1px 0 #e7ebf3
-}
-
-.nav.nav-tabs.sub-nav a {
-    padding: 11px 10px;
-    height: 47px
-}
-
-.nav.nav-tabs.sub-nav svg {
-    margin: 0
-}
-
-.nav.nav-pills .active {
-    background: #408FEC;
-    color: #fff
-}
-
-.addons-quick-add > .twitter-typeahead, .tag-toggle.unchecked {
-    background-color: #fff
-}
-
-@media (max-width: 767px) {
-    .nav.nav-tabs.sub-nav {
-        text-align: center
-    }
-
-    .nav.nav-tabs.sub-nav a {
-        padding: 11px 2px;
-        height: 47px
-    }
-
-    .nav.nav-tabs.sub-nav .sub-nav-item-name {
-        display: none
-    }
-
-    .nav.nav-tabs.sub-nav svg {
-        display: inline-block;
-        vertical-align: middle
-    }
-}
-
-table.collaborator-list tr.collaborator-item {
-    min-height: 56px
-}
-
-table.collaborator-list tr.collaborator-item .role {
-    color: #62738D
-}
-
-@media screen and (min-width: 768px) {
-    table.collaborator-list tr.collaborator-item td.collaborator-info {
-        padding-top: 0;
-        padding-bottom: 0
-    }
-
-    table.collaborator-list tr.collaborator-item .email, table.collaborator-list tr.collaborator-item .form-group, table.collaborator-list tr.collaborator-item .permissions, table.collaborator-list tr.collaborator-item .role {
-        display: inline-block
-    }
-
-    table.collaborator-list tr.collaborator-item .permissions, table.collaborator-list tr.collaborator-item .role {
-        padding: 6px 8px
-    }
-
-    table.collaborator-list tr.collaborator-item .email {
-        padding: 8px
-    }
-
-    table.collaborator-list tr.collaborator-item .email, table.collaborator-list tr.collaborator-item .form-group {
-        width: 50%
-    }
-
-    table.collaborator-list tr.collaborator-item .show-role.show-permissions .email {
-        width: 35%
-    }
-
-    table.collaborator-list tr.collaborator-item .show-role.show-permissions .role {
-        width: 15%
-    }
-}
-
-@media (max-width: 768px) {
-    table.editable-list, table.static-list {
-        table-layout: auto
-    }
-
-    table.collaborator-list tr.collaborator-item td.avatar {
-        vertical-align: top
-    }
-
-    table.collaborator-list tr.collaborator-item .email, table.collaborator-list tr.collaborator-item .permissions, table.collaborator-list tr.collaborator-item .role {
-        padding: 3px 0
-    }
-}
-
-div.collaborator-list h5 {
-    float: left
-}
-
-div.collaborator-list div.tooltip-inner a {
-    color: #fff
-}
-
-.addons-quick-add {
-    z-index: 1
-}
-
-.addons-quick-add, .addons-quick-add > .twitter-typeahead {
-    width: 100%
-}
-
-.addons-quick-add .tt-hint {
-    width: auto
-}
-
-.addons-quick-add > i {
-    position: absolute;
-    top: 6px;
-    left: 6px;
-    z-index: 3
-}
-
-.addons-quick-add .addon-typeahead-cell.disabled .addon-icon {
-    opacity: .3
-}
-
-.addons-quick-add .addon-typeahead-cell.disabled .addon-typeahead-title {
-    color: #62738D
-}
-
-.addons-quick-add .addon-typeahead-cell.disabled .disabled {
-    font-size: 11px;
-    padding: 3px 7px;
-    border-radius: 4px;
-    text-transform: uppercase;
-    background: #CFD7E6;
-    font-weight: 700
-}
-
-.addons-table-container.unfocused {
-    opacity: .3
-}
-
-#modal-overlays .ember-modal-dialog.dyno-upgrade-modal {
-    width: 450px;
-    padding: 0 25px
-}
-
-#modal-overlays .ember-modal-dialog.dyno-upgrade-modal .modal-body div, #modal-overlays .ember-modal-dialog.dyno-upgrade-modal .panel-section .panel-details, #modal-overlays .ember-modal-dialog.dyno-upgrade-modal p, .panel-section #modal-overlays .ember-modal-dialog.dyno-upgrade-modal .panel-details {
-    text-align: center;
-    font-weight: lighter
-}
-
-#modal-overlays .ember-modal-dialog.dyno-upgrade-modal .modal-footer {
-    display: -webkit-box;
-    display: -moz-box;
-    display: box;
-    display: -webkit-flex;
-    display: -moz-flex;
-    display: -ms-flexbox;
-    display: flex;
-    -webkit-box-orient: vertical;
-    -moz-box-orient: vertical;
-    box-orient: vertical;
-    -webkit-box-direction: normal;
-    -moz-box-direction: normal;
-    box-direction: normal;
-    -webkit-flex-direction: column;
-    -moz-flex-direction: column;
-    flex-direction: column;
-    -ms-flex-direction: column;
-    text-align: center
-}
-
-.attachments-dropdown .tooltip-component, .external-link {
-    display: inline-block
-}
-
-#modal-overlays .ember-modal-dialog.dyno-upgrade-modal .modal-footer .btn + .btn {
-    margin: 0 0 12px !important
-}
-
-#modal-overlays .ember-modal-dialog.dyno-upgrade-modal .btn-primary {
-    -webkit-box-ordinal-group: 1;
-    -moz-box-ordinal-group: 1;
-    box-ordinal-group: 1;
-    -webkit-order: 1;
-    -moz-order: 1;
-    order: 1;
-    -ms-flex-order: 1
-}
-
-#modal-overlays .ember-modal-dialog.dyno-upgrade-modal .btn-default {
-    -webkit-box-ordinal-group: 2;
-    -moz-box-ordinal-group: 2;
-    box-ordinal-group: 2;
-    -webkit-order: 2;
-    -moz-order: 2;
-    order: 2;
-    -ms-flex-order: 2
-}
-
-#modal-overlays .ember-modal-dialog.dyno-upgrade-modal .dyno-upgrade-pricing {
-    font-weight: 400
-}
-
-a.deprecated:focus, a.deprecated:hover {
-    color: rgba(222, 10, 10, .8)
-}
-
-.context-switcher__list > li > a.hk-dropdown-item--danger, .context-switcher__list > li > a.hk-dropdown-item--danger:hover, .drop-down__menu > li > a.hk-dropdown-item--danger, .drop-down__menu > li > a.hk-dropdown-item--danger:hover {
-    color: #de0a0a
-}
-
-.attachments-dropdown .icon.icon-inline {
-    margin-right: 0 !important
-}
-
-.attachments-dropdown .malibu-fill-gradient-purple {
-    fill: url(#gradient-purple)
-}
-
-.add.adding .icon {
-    -webkit-transform: rotate(45deg);
-    -moz-transform: rotate(45deg);
-    -ms-transform: rotate(45deg);
-    -o-transform: rotate(45deg);
-    transform: rotate(45deg)
-}
-
-.external-link {
-    vertical-align: middle;
-    position: relative;
-    top: -2px;
-    margin-left: 4px
-}
-
-.monospace {
-    font-family: Menlo, Monaco, Consolas, "Courier New", monospace
-}
-
-.app-resource-total-line-item {
-    padding-bottom: 15px
-}
-
-.app-resource-total-line-item:after, .app-resource-total-line-item:before {
-    content: " ";
-    display: table
-}
-
-.app-resource-total-line-item:after {
-    clear: both
-}
-
-.app-resource-total-line-item .line-item-label {
-    color: #62738D;
-    float: left;
-    font-weight: 600
-}
-
-.app-resource-total-line-item .line-item-values {
-    float: right
-}
-
-.app-resource-total-line-item .line-item-new-value {
-    display: inline-block;
-    text-align: right;
-    width: 90px
-}
-
-.app-resource-total-line-item .dirty {
-    color: #CFD7E6;
-    text-decoration: line-through
-}
-
-.metrics__datastore-chart .metrics__chart-sorting__handle, .metrics__datastore-chart .metrics__chart__devcenter-link {
-    display: none
-}
-
-.metrics__datastore-chart .metrics__chart__header > div, .metrics__datastore-chart .metrics__chart__wrapper {
-    padding-left: 0;
-    padding-right: 0
-}
-
-.formation-filter-drop-down > button, .formation-filter-drop-down > button:active, .formation-filter-drop-down > button:focus, .formation-filter-drop-down > button:hover {
-    padding: 0 !important;
-    border: none !important;
-    background: 0 0 !important;
-    font-weight: 700 !important;
-    text-transform: uppercase !important;
-    box-shadow: none !important;
-    color: #96A3B6 !important;
-    font-size: 11px !important
-}
-
-.formation-filter-drop-down .context-switcher__list, .formation-filter-drop-down .drop-down__menu {
-    margin-top: -20px
-}
-
-.label.label-hollow {
-    background: 0 0;
-    border: 1px solid
-}
-
-.label.label-caps {
-    font-variant: small-caps;
-    padding-top: .03em;
-    padding-bottom: .06em
-}
-
-.label.label-text {
-    background: 0 0;
-    font-weight: 700;
-    font-size: 1em
-}
-
-.label.label-text.label-default {
-    color: #62738D
-}
-
-.label.label-text.label-success {
-    color: #008700
-}
-
-.label.label-text.label-primary {
-    color: #79589F
-}
-
-.label.label-text.label-info {
-    color: #006DEB
-}
-
-.label.label-text.label-warning {
-    color: #C74C00
-}
-
-.label.label-text.label-danger {
-    color: #DE0A0A
-}
-
-.panel-section label .panel-details, label .panel-section .panel-details, label small {
-    display: block;
-    font-weight: 400;
-    font-size: 12px;
-    padding-top: 4px;
-    padding-bottom: 2px
-}
-
-label span.optional {
-    color: #62738D;
-    font-weight: 400
-}
-
-.new-app-view .config-vars .btn {
-    width: 100%
-}
-
-.new-app-view .config-vars label {
-    font-family: "Bitstream Vera Sans Mono", Consolas, Courier, monospace
-}
-
-.new-app-view .building-failed, .new-app-view .creating-failed, .new-app-view .scaling-failed {
-    color: #DE0A0A
-}
-
-.new-app-view .is-built, .new-app-view .is-configured, .new-app-view .is-created, .new-app-view .is-deployed, .new-app-view .is-scaled {
-    color: #008700
-}
-
-.new-app-view .will-build, .new-app-view .will-configure, .new-app-view .will-deploy, .new-app-view .will-scale {
-    color: #E3E7EF
-}
-
-.new-app-view .template-env label:not(:first-of-type) {
-    margin-top: 15px
-}
-
-@media (min-width: 768px) {
-    .new-space-view input[type=password], .new-space-view input[type=text], .new-space-view select, .new-space-view textarea {
-        width: 65%
-    }
-}
-
-.app-list, .first-run, .space-list, .team-list {
-    margin-left: -20px;
-    margin-right: -20px
-}
-
-.app-list .stack-info {
-    text-align: right;
-    margin-left: auto;
-    margin-bottom: 0;
-    padding-left: 0;
-    position: relative;
-    top: 1px
-}
-
-.app-list .stack-info li {
-    display: inline
-}
-
-.app-list .stack-info li a {
-    display: inline-block
-}
-
-.app-list.list-group {
-    margin-bottom: 0
-}
-
-.app-list #favorites-container .metrics__summary-row__item, .app-list .apps-list-favorite-item .metrics__summary-row__item {
-    border-right: 1px solid #E3E7EF;
-    border-image: linear-gradient(to top, #CFD7E6, rgba(227, 231, 239, 0)) 1 100%;
-    padding-left: 10px
-}
-
-.app-list #favorites-container .metrics__summary-row__item:first-child, .app-list .apps-list-favorite-item .metrics__summary-row__item:first-child {
-    padding-left: 2px;
-    padding-right: 10px
-}
-
-.app-list #favorites-container .metrics__summary-row__value, .app-list .apps-list-favorite-item .metrics__summary-row__value {
-    font-size: 14px
-}
-
-.app-list #favorites-container .metrics__summary-row__unit, .app-list .apps-list-favorite-item .metrics__summary-row__unit {
-    font-size: 12px
-}
-
-.app-list #favorites-container timeseries-chart::after, .app-list .apps-list-favorite-item timeseries-chart::after {
-    content: '';
-    position: absolute;
-    top: 0;
-    bottom: -1px;
-    left: 0;
-    width: 50px;
-    background-color: transparent;
-    background-image: -webkit-linear-gradient(left, #fff, rgba(255, 255, 255, 0));
-    background-image: linear-gradient(to right, #fff, rgba(255, 255, 255, 0))
-}
-
-@media (max-width: 767px) {
-    .app-list #favorites-container .metrics__summary-row__item, .app-list .apps-list-favorite-item .metrics__summary-row__item {
-        border-right: 0
-    }
-
-    .app-list #favorites-container timeseries-chart, .app-list .apps-list-favorite-item timeseries-chart {
-        display: none
-    }
-}
-
-@media (max-width: 320px) {
-    .app-list #favorites-container .favorite-app .favorite-tray, .app-list .apps-list-favorite-item .favorite-app .favorite-tray {
-        display: none
-    }
-}
-
-.app-list .app-count {
-    position: relative;
-    padding-left: 10px;
-    display: inline-block
-}
-
-.app-list .app-count .btn {
-    font-size: 13px;
-    color: #62738D;
-    text-decoration: none
-}
-
-#getting-started + #app-list #favorites-container, #has-no-apps + #app-list #favorites-container {
-    margin-top: 10px
-}
-
-.org-header {
-    position: relative;
-    text-align: center;
-    width: 100%
-}
-
-.org-header h2, .org-header h3 {
-    line-height: 1;
-    margin: 0
-}
-
-.org-header h2 {
-    color: inherit;
-    font-size: 16px;
-    margin-bottom: 4px
-}
-
-.org-header h3 {
-    color: #CFD7E6;
-    font-size: 12px
-}
-
-.apps-header .org-header {
-    position: absolute
-}
-
-.org-collaborators-list tr td.org-member-details .member-email, .org-members-list tr td.org-member-details .member-email {
-    display: inline-block;
-    float: left;
-    width: 33%
-}
-
-.org-collaborators-list tr td.org-member-details .member-access, .org-collaborators-list tr td.org-member-details .member-auth, .org-collaborators-list tr td.org-member-details .member-role, .org-collaborators-list tr td.org-member-details .member-status, .org-members-list tr td.org-member-details .member-access, .org-members-list tr td.org-member-details .member-auth, .org-members-list tr td.org-member-details .member-role, .org-members-list tr td.org-member-details .member-status {
-    float: left;
-    width: 22%
-}
-
-.org-collaborators-list tr td.org-member-details .static, .org-members-list tr td.org-member-details .static {
-    min-height: 34px;
-    padding: 7px 9px 8px
-}
-
-.org-collaborators-list tr td.org-member-details .action-button .icon, .org-members-list tr td.org-member-details .action-button .icon {
-    position: relative;
-    left: 5px;
-    top: -1px
-}
-
-.org-collaborators-list tr td.org-member-details .member-auth, .org-members-list tr td.org-member-details .member-auth {
-    position: relative
-}
-
-.org-collaborators-list tr td.org-member-details .member-auth .member-auth-message, .org-members-list tr td.org-member-details .member-auth .member-auth-message {
-    position: absolute;
-    left: 36px;
-    top: 50%;
-    -webkit-transform: translate(0, -50%);
-    -moz-transform: translate(0, -50%);
-    -ms-transform: translate(0, -50%);
-    -o-transform: translate(0, -50%);
-    transform: translate(0, -50%);
-    width: 111px
-}
-
-.org-collaborators-list tr td.org-member-details .member-access, .org-members-list tr td.org-member-details .member-access {
-    text-align: right;
-    font-size: 12px
-}
-
-.org-collaborators-list tr td.org-member-details .member-status, .org-members-list tr td.org-member-details .member-status {
-    text-align: center;
-    color: #62738D
-}
-
-@media (max-width: 768px) {
-    .org-collaborators-list tr td.org-member-details .member-email, .org-collaborators-list tr td.org-member-details .member-tfa, .org-members-list tr td.org-member-details .member-email, .org-members-list tr td.org-member-details .member-tfa {
-        margin-bottom: 8px
-    }
-
-    .org-collaborators-list tr td.org-member-details .member-email, .org-collaborators-list tr td.org-member-details .member-role, .org-members-list tr td.org-member-details .member-email, .org-members-list tr td.org-member-details .member-role {
-        width: 65%
-    }
-
-    .org-collaborators-list tr td.org-member-details .member-access, .org-collaborators-list tr td.org-member-details .member-tfa, .org-members-list tr td.org-member-details .member-access, .org-members-list tr td.org-member-details .member-tfa {
-        width: 35%;
-        padding-left: 9px
-    }
-
-    .org-collaborators-list tr td.org-member-details .member-access .dropdown, .org-members-list tr td.org-member-details .member-access .dropdown {
-        float: left
-    }
-}
-
-.org-members hr {
-    height: 2px;
-    background: #EEF1F6;
-    border-top: 1px solid rgba(207, 215, 230, .5);
-    border-bottom: 1px solid rgba(207, 215, 230, .5);
-    margin: -10px 0 12px
-}
-
-.member-email {
-    overflow: hidden;
-    text-overflow: ellipsis
-}
-
-@media (min-width: 768px) {
-    .org-plan dt {
-        width: 190px
-    }
-}
-
-.org-plan dd .panel-section .panel-details, .org-plan dd small, .panel-section .org-plan dd .panel-details {
-    display: block;
-    color: #CFD7E6
-}
-
-progress[value] {
-    width: 100%;
-    -webkit-appearance: none;
-    -moz-appearance: none;
-    appearance: none;
-    border: none
-}
-
-.progress-actual progress[value] {
-    color: #79589F;
-    background: rgba(121, 88, 159, .1);
-    border-radius: 2px;
-    box-shadow: inset 0 0 0 1px rgba(121, 88, 159, .2);
-    height: 6px
-}
-
-.progress-actual.over-quota progress[value] {
-    color: #DE0A0A;
-    background: rgba(222, 10, 10, .1);
-    box-shadow: inset 0 0 0 1px rgba(222, 10, 10, .2)
-}
-
-.progress-allowance progress[value] {
-    color: #E3E7EF;
-    background: #E3E7EF;
-    height: 1px
-}
-
-progress::-webkit-progress-bar {
-    background: rgba(121, 88, 159, .1);
-    border-radius: 2px;
-    box-shadow: inset 0 0 0 1px rgba(121, 88, 159, .2)
-}
-
-.progress-allowance progress::-webkit-progress-bar {
-    background: #E3E7EF;
-    box-shadow: none
-}
-
-progress::-webkit-progress-value {
-    background: #79589F;
-    border-radius: 2px;
-    transition: width .8s ease-in-out
-}
-
-.progress-actual.over-quota progress::-webkit-progress-value {
-    background: #DE0A0A
-}
-
-.progress-allowance progress::-webkit-progress-value {
-    background: #CFD7E6;
-    height: 3px;
-    position: relative;
-    top: -1px
-}
-
-.progress-allowance progress::-webkit-progress-value::after {
-    content: '';
-    position: absolute;
-    width: 7px;
-    height: 7px;
-    background: #CFD7E6;
-    top: -2px;
-    right: 0;
-    border-radius: 50%
-}
-
-progress::-moz-progress-bar {
-    background: #79589F;
-    border-radius: 2px;
-    transition: width .8s ease-in-out
-}
-
-.progress-actual.over-quota progress::-moz-progress-bar {
-    background: #DE0A0A
-}
-
-.progress-allowance progress::-moz-progress-bar {
-    height: 3px;
-    position: relative;
-    margin-top: -1px;
-    background: #CFD7E6
-}
-
-.enterprise-teams li:last-of-type {
-    border: none
-}
-
-.org-identicon-mini {
-    position: relative;
-    width: 18px;
-    height: 18px;
-    font-size: 8px;
-    font-weight: 700;
-    line-height: 19px;
-    color: #fff;
-    text-align: center;
-    display: inline-block;
-    box-shadow: inset 0 0 0 1px #62738D, inset 0 0 0 2px rgba(255, 255, 255, .7);
-    background: #62738D;
-    border-radius: 50%
-}
-
-.org-identicon-mini .info-tooltip-component {
-    position: absolute;
-    top: 1px;
-    left: 1px;
-    margin-left: 0;
-    opacity: 0
-}
-
-.metrics__legend, .metrics__not-available {
-    -webkit-box-orient: vertical;
-    -moz-box-direction: normal
-}
-
-.panel-section .in-progress.panel-details, p.in-progress {
-    display: inline-block;
-    border: 1px solid #E3E7EF;
-    border-radius: 4px;
-    color: #62738D;
-    font-size: 13px;
-    padding: 1px 18px 0
-}
-
-.top-nav {
-    position: relative;
-    margin-left: 0;
-    margin-right: 0;
-    padding: 12px 20px 10px;
-    min-height: 63px;
-    margin-top: 18px;
-    /*border-bottom: 1px solid #e7ebf3;*/
-    -webkit-flex-shrink: 0;
-    -moz-flex-shrink: 0;
-    flex-shrink: 0;
-    -ms-flex-negative: 0
-}
-
-.top-nav .actions {
-    -webkit-flex-grow: 0;
-    -moz-flex-grow: 0;
-    flex-grow: 0;
-    -ms-flex-positive: 0
-}
-
-.top-nav .loading-spinner-wrapper {
-    position: absolute;
-    width: 100%;
-    top: 50%;
-    margin-top: -10px;
-    left: 0;
-    text-align: center
-}
-
-.top-nav .loading-spinner-wrapper .loading-spinner {
-    vertical-align: middle
-}
-
-.top-nav a {
-    text-decoration: none
-}
-
-.feedback-link-sub-nav {
-    padding: unset !important;
-    height: unset !important;
-    margin-left: 4px !important;
-    display: inline-block !important;
-    text-decoration: underline !important;
-    color: #006deb !important
-}
-
-.lock-status, .tag-toggle-list > div:first-of-type {
-    margin-left: 0
-}
-
-.feedback-link-sub-nav:hover::after {
-    display: none
-}
-
-.tag-toggle-list > div {
-    display: inline-block;
-    margin-right: 4px
-}
-
-.lock-status, .tag-toggle-list > div:last-of-type {
-    margin-right: 0
-}
-
-.tag-toggle {
-    padding: 2px 16px;
-    border-radius: 4px;
-    border: 1px solid gray;
-    font-size: 11px
-}
-
-.tag-toggle.unchecked {
-    color: #79589F;
-    border-color: #ad97c6
-}
-
-.tag-toggle.actionable.checked, .tag-toggle.checked {
-    background-color: #79589F
-}
-
-.tag-toggle.checked {
-    color: #fff;
-    border-color: #79589F
-}
-
-.metrics__color--purple-001--legend--border, .metrics__color--purple-002--legend--border, .metrics__color--purple-003--legend--border, .metrics__color--purple-004--legend--border {
-    border-color: rgba(121, 88, 159, .7);
-    border-style: none;
-    border-width: 1px
-}
-
-.tag-toggle.show-icon {
-    padding-left: 8px;
-    padding-right: 8px
-}
-
-.tag-toggle.actionable {
-    cursor: pointer
-}
-
-.tag-toggle.actionable:hover {
-    background-color: #9377b3;
-    color: #fff
-}
-
-.metrics__color--purple-001--background, .metrics__color--purple-001--legend {
-    background-color: rgba(121, 88, 159, .1)
-}
-
-.tag-toggle.nonactionable {
-    cursor: not-allowed
-}
-
-.loading-spinner .dots {
-    width: 100%;
-    display: flex;
-    -webkit-box-pack: distribute;
-    -moz-box-pack: distribute;
-    box-pack: distribute;
-    -webkit-justify-content: space-around;
-    -moz-justify-content: space-around;
-    -ms-justify-content: space-around;
-    -o-justify-content: space-around;
-    justify-content: space-around;
-    -ms-flex-pack: distribute
-}
-
-.loading-spinner.small {
-    width: 18px
-}
-
-.loading-spinner.small i.spinner__dot {
-    width: 4px;
-    height: 4px
-}
-
-.icons .loading-spinner, .in-progress .loading-spinner {
-    width: 26px;
-    height: 32px;
-    padding-top: 14px
-}
-
-.icons .loading-spinner i.spinner__dot, .in-progress .loading-spinner i.spinner__dot {
-    width: 6px;
-    height: 6px
-}
-
-.lock-status {
-    position: relative;
-    padding: 0 140px 18px 44px;
-    box-shadow: 0 1px 0 #e7ebf3
-}
-
-.lock-status .panel-section .panel-details, .lock-status p, .panel-section .lock-status .panel-details {
-    margin-bottom: 2px;
-    font-size: 13px;
-    color: #62738D
-}
-
-.lock-status .panel-section .panel-details strong, .lock-status p strong, .panel-section .lock-status .panel-details strong {
-    font-size: 14px;
-    color: #56667D
-}
-
-.metrics__color--purple-001--text, .metrics__color--purple-002--text, .metrics__color--purple-003--text, .metrics__color--purple-004--text {
-    color: rgba(121, 88, 159, .7)
-}
-
-.lock-status .icon {
-    position: absolute;
-    left: 0;
-    top: 4px
-}
-
-.lock-status button {
-    position: absolute;
-    right: 0;
-    top: 3px
-}
-
-@media (max-width: 480px) {
-    .lock-status {
-        padding: 0 0 18px 44px
-    }
-
-    .lock-status button {
-        position: relative;
-        margin-top: 8px
-    }
-}
-
-#overview-page .app-overview-metrics .metrics__chart--minimal.metrics__summary-row--favorite__link-wrapper, #overview-page .metrics__chart--minimal.data-unavailable, .buildpack-installations-list .metrics__chart--minimal.sortable-item.is-dragging, .metrics__chart--minimal.content-box, .metrics__chart--minimal.metrics__monitor-preview-chart__loading, .metrics__chart--minimal.metrics__not-available, .metrics__chart--minimal.purple-box, .metrics__chart-sorting .metrics__chart--minimal.sortable-item.is-dragging {
-    box-shadow: none
-}
-
-
-.invoice-graph g rect, .btn[disabled] svg * {
-    fill: #CFD7E6
-}
-
-@-webkit-keyframes rotate {
-    from {
-        -webkit-transform: rotateZ(0);
-        -moz-transform: rotateZ(0);
-        -ms-transform: rotateZ(0);
-        -o-transform: rotateZ(0);
-        transform: rotateZ(0)
-    }
-    to {
-        -webkit-transform: rotateZ(360deg);
-        -moz-transform: rotateZ(360deg);
-        -ms-transform: rotateZ(360deg);
-        -o-transform: rotateZ(360deg);
-        transform: rotateZ(360deg)
-    }
-}
-
-@-moz-keyframes rotate {
-    from {
-        -webkit-transform: rotateZ(0);
-        -moz-transform: rotateZ(0);
-        -ms-transform: rotateZ(0);
-        -o-transform: rotateZ(0);
-        transform: rotateZ(0)
-    }
-    to {
-        -webkit-transform: rotateZ(360deg);
-        -moz-transform: rotateZ(360deg);
-        -ms-transform: rotateZ(360deg);
-        -o-transform: rotateZ(360deg);
-        transform: rotateZ(360deg)
-    }
-}
-
-@-o-keyframes rotate {
-    from {
-        -webkit-transform: rotateZ(0);
-        -moz-transform: rotateZ(0);
-        -ms-transform: rotateZ(0);
-        -o-transform: rotateZ(0);
-        transform: rotateZ(0)
-    }
-    to {
-        -webkit-transform: rotateZ(360deg);
-        -moz-transform: rotateZ(360deg);
-        -ms-transform: rotateZ(360deg);
-        -o-transform: rotateZ(360deg);
-        transform: rotateZ(360deg)
-    }
-}
-
-@keyframes rotate {
-    from {
-        -webkit-transform: rotateZ(0);
-        -moz-transform: rotateZ(0);
-        -ms-transform: rotateZ(0);
-        -o-transform: rotateZ(0);
-        transform: rotateZ(0)
-    }
-    to {
-        -webkit-transform: rotateZ(360deg);
-        -moz-transform: rotateZ(360deg);
-        -ms-transform: rotateZ(360deg);
-        -o-transform: rotateZ(360deg);
-        transform: rotateZ(360deg)
-    }
-}
-
-
-.app-item-favorite-tray {
-    min-height: 80px
-}
-
-.formation-summary {
-    font-size: 13px;
-    color: #56667D
-}
-
-.metrics__main__charts {
-    display: -webkit-box;
-    display: -moz-box;
-    display: box;
-    display: -webkit-flex;
-    display: -moz-flex;
-    display: -ms-flexbox;
-    display: flex;
-    -webkit-box-pack: justify;
-    -moz-box-pack: justify;
-    box-pack: justify;
-    -webkit-justify-content: space-between;
-    -moz-justify-content: space-between;
-    -ms-justify-content: space-between;
-    -o-justify-content: space-between;
-    justify-content: space-between;
-    -ms-flex-pack: justify;
-    -webkit-box-lines: multiple;
-    -moz-box-lines: multiple;
-    box-lines: multiple;
-    -webkit-flex-wrap: wrap;
-    -moz-flex-wrap: wrap;
-    -ms-flex-wrap: wrap;
-    flex-wrap: wrap
-}
-
-.metrics__main__charts.is-compact > * {
-    -webkit-flex-grow: 1;
-    -moz-flex-grow: 1;
-    flex-grow: 1;
-    -ms-flex-positive: 1
-}
-
-.metrics__main__charts.is-compact .sortable-item {
-    min-width: 44%;
-    max-width: calc(50%)
-}
-
-.metrics__main__charts.is-compact .is-left-chart {
-    border-right: 1px solid #E3E7EF
-}
-
-.metrics__main__charts.is-vertical {
-    -webkit-box-orient: vertical;
-    -moz-box-orient: vertical;
-    box-orient: vertical;
-    -webkit-box-direction: normal;
-    -moz-box-direction: normal;
-    box-direction: normal;
-    -webkit-flex-direction: column;
-    -moz-flex-direction: column;
-    flex-direction: column;
-    -ms-flex-direction: column
-}
-
-@media (max-width: 1200px) {
-    .metrics__main__charts {
-        -webkit-box-orient: vertical;
-        -moz-box-orient: vertical;
-        box-orient: vertical;
-        -webkit-box-direction: normal;
-        -moz-box-direction: normal;
-        box-direction: normal;
-        -webkit-flex-direction: column;
-        -moz-flex-direction: column;
-        flex-direction: column;
-        -ms-flex-direction: column
-    }
-
-    .metrics__main__charts.is-compact .sortable-item {
-        max-width: 100%
-    }
-
-    .metrics__main__charts.is-compact .has-bb-when-stacked {
-        border-bottom: 1px solid #E3E7EF
-    }
-
-    .metrics__main__charts.is-compact .is-left-chart {
-        border-right: 0
-    }
-}
-
-.notification-list {
-    margin: 0 auto;
-    width: 100%
-}
-
-.notification-item {
-    padding: 20px 15px
-}
-
-.notification-item.read {
-    opacity: .6
-}
-
-.notification-item:before {
-    height: 7px;
-    width: 7px;
-    display: inline-block;
-    border-radius: 50%;
-    content: '';
-    position: absolute;
-    top: 55px;
-    margin-top: -4px;
-    left: 6px;
-    background: #CFD7E6
-}
-
-.notification-item.unread:before {
-    background: #56CDFC
-}
-
-.notification-item .notification-title {
-    font-size: 15px;
-    margin-top: 4px;
-    color: #475366
-}
-
-.notification-item .notification-message {
-    padding-top: 4px
-}
-
-.notification-item .notification-message .panel-section .panel-details, .notification-item .notification-message p, .panel-section .notification-item .notification-message .panel-details {
-    color: #56667D;
-    font-size: 14px;
-    line-height: 21px
-}
-
-.notification-item .notification-message .panel-section .panel-details:last-of-type, .notification-item .notification-message p:last-of-type, .panel-section .notification-item .notification-message .panel-details:last-of-type {
-    margin-bottom: 0
-}
-
-.notification-item .notification-message table {
-    margin-bottom: 20px
-}
-
-.notification-item .notification-message table td, .notification-item .notification-message table th {
-    padding: 5px 15px 5px 0
-}
-
-.notification-item .notification-time {
-    color: #62738D;
-    font-size: 14px;
-    font-weight: 700
-}
-
-.notification-item:after {
-    content: '';
-    clear: both;
-    display: block
-}
-
-.dropdown-inline, .production-check-item .label, .text-center .flash-messages .flash-message {
-    display: inline-block
-}
-
-.flash-notification {
-    margin: 15px;
-    background: #DE0A0A;
-    color: #fff;
-    text-align: center
-}
-
-#modal-overlays .ember-modal-dialog.production-check .modal-box .check-message {
-    padding-top: 4px;
-    padding-left: 59px;
-    width: 90%
-}
-
-#modal-overlays .ember-modal-dialog.production-check .modal-box .check-message .panel-section .panel-details, #modal-overlays .ember-modal-dialog.production-check .modal-box .check-message p, .panel-section #modal-overlays .ember-modal-dialog.production-check .modal-box .check-message .panel-details {
-    margin: 0
-}
-
-#modal-overlays .ember-modal-dialog.production-check .modal-body {
-    padding: 0
-}
-
-.production-check-loading {
-    height: 180px
-}
-
-.production-check-item {
-    font-size: 13px;
-    padding: 10px 14px;
-    border-bottom: 1px solid #e7ebf3
-}
-
-.production-check-item:last-of-type {
-    border-bottom: none
-}
-
-.production-check-item.skipped {
-    color: #62738D
-}
-
-.production-check-item a.dev-center {
-    float: right
-}
-
-.production-check-item .label {
-    position: relative;
-    top: -1px;
-    margin-right: 6px;
-    width: 50px;
-    padding: 2px 0 1px;
-    line-height: inherit
-}
-
-.production-check-item .title {
-    font-weight: 700
-}
-
-.production-check-item .title-success {
-    color: #008700
-}
-
-.production-check-item .title-danger {
-    color: #DE0A0A
-}
-
-.production-check-item .title-warning {
-    color: #C74C00
-}
-
-.flash-messages {
-    position: fixed;
-    z-index: 1100;
-    top: 62px;
-    right: 12px;
-    max-width: 100%;
-    -webkit-font-smoothing: subpixel-antialiased;
-    opacity: 0;
-    -webkit-transform: translateY(-16px);
-    -moz-transform: translateY(-16px);
-    -ms-transform: translateY(-16px);
-    -o-transform: translateY(-16px);
-    transform: translateY(-16px);
-    -webkit-transition: .5s;
-    -o-transition: .5s;
-    transition: .5s;
-    -webkit-transition-timing-function: cubic-bezier(.3, 0, 0, 2);
-    transition-timing-function: cubic-bezier(.3, 0, 0, 2)
-}
-
-.flash-messages.rolled-down {
-    opacity: 1;
-    -webkit-transform: translateY(0);
-    -moz-transform: translateY(0);
-    -ms-transform: translateY(0);
-    -o-transform: translateY(0);
-    transform: translateY(0)
-}
-
-.flash-messages .flash-message {
-    position: relative;
-    margin-bottom: 6px;
-    font-size: 12px;
-    padding: 6px 24px 6px 10px;
-    max-width: 400px;
-    overflow: hidden;
-    box-shadow: 0 1px 6px rgba(0, 0, 0, .1)
-}
-
-@media (max-width: 440px) {
-    .flash-messages .flash-message {
-        max-width: 100%
-    }
-}
-
-.flash-messages .flash-message.alert {
-    border: none;
-    color: #fff
-}
-
-.flash-messages .flash-message.alert-danger {
-    background: #DE0A0A
-}
-
-.flash-messages .flash-message.alert-success {
-    background: #008700
-}
-
-.flash-messages .flash-message .title {
-    font-weight: 700;
-    padding-right: 10px
-}
-
-.flash-messages .flash-message .content li {
-    box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .05);
-    padding: 4px 0
-}
-
-.flash-messages .flash-message .content li:last-of-type {
-    box-shadow: none;
-    padding-bottom: 0
-}
-
-.flash-messages .flash-message .flash-message-close {
-    -webkit-transition: .2s;
-    -o-transition: .2s;
-    transition: .2s
-}
-
-.flash-messages .flash-message .flash-message-close:hover {
-    opacity: 1
-}
-
-.dropdown-right .context-switcher__list, .dropdown-right .drop-down__menu, .dropdown-right .dropdown-menu, .dropdown-right.context-switcher__list, .dropdown-right.drop-down__menu, .dropdown-right.dropdown-menu {
-    left: auto;
-    right: 0
-}
-
-.truncated-dropdown {
-    max-height: 220px;
-    overflow: auto
-}
-
-.dropdown .dropdown-item-content {
-    padding: 3px 20px
-}
-
-.context-switcher__list, .drop-down__menu, .dropdown-menu {
-    z-index: 48
-}
-
-.context-switcher__list .filter-menu, .drop-down__menu .filter-menu, .dropdown-menu .filter-menu {
-    padding: 2px 12px
-}
-
-.context-switcher__list .dropdown-header, .drop-down__menu .dropdown-header, .dropdown-menu .dropdown-header {
-    position: relative;
-    z-index: 1;
-    margin: -5px 0 5px;
-    box-shadow: 0 1px 0 rgba(0, 0, 0, .1);
-    background-color: #FBFBFD;
-    border-top-right-radius: 3px;
-    border-top-left-radius: 3px
-}
-
-.context-switcher__list .selected, .drop-down__menu .selected, .dropdown-menu .selected {
-    background: #EEF1F6
-}
-
-.context-switcher__list .selected .btn-link, .drop-down__menu .selected .btn-link, .dropdown-menu .selected .btn-link {
-    position: relative;
-    padding-right: 34px
-}
-
-.context-switcher__list .selected .btn-link .selected-mark, .drop-down__menu .selected .btn-link .selected-mark, .dropdown-menu .selected .btn-link .selected-mark {
-    position: absolute;
-    top: 50%;
-    margin-top: -8px;
-    right: 8px
-}
-
-.hk-dropdown a {
-    display: flex !important;
-    line-height: 1.5 !important;
-    padding: 4px 14px 4px 10px !important
-}
-
-.hk-dropdown .icon {
-    margin: 0 10px 0 0 !important
-}
-
-@media (max-width: 767px) {
-    .app-item-favorite-tray {
-        min-height: 0
-    }
-
-    .panel-section .section-description {
-        padding-bottom: 20px
-    }
-}
-
-.panel-section .section-title .label {
-    position: relative;
-    top: -2px;
-    margin-left: 4px;
-    text-transform: uppercase;
-    font-size: 9px;
-    padding: 2px 5px 1px
-}
-
-.panel-section .section-title .icon {
-    position: relative;
-    top: -1px;
-    margin-right: 4px
-}
-
-.panel-section .panel-content .group-header {
-    margin-top: -5px
-}
-
-.panel-section .panel-content .panel-details, .panel-section .panel-content p {
-    line-height: 22px
-}
-
-.panel-section .panel-content .actions.panel-details .btn, .panel-section .panel-content p.actions .btn {
-    margin-right: 10px
-}
-
-.panel-section.danger .section-title {
-    color: #DE0A0A
-}
-
-ul.list-group-lg > li:first-of-type {
-    padding-top: 20px
-}
-
-.form-intro {
-    padding-top: 20px !important;
-    padding-bottom: 20px !important
-}
-
-.deploy-section .panel-content .dyno-tier-picker-item-size-name, .deploy-section .panel-content .panel-section .panel-title, .deploy-section .panel-content h4, .panel-section .deploy-section .panel-content .panel-title, .panel-section .pipeline-config .panel-content .panel-title, .pipeline-config .panel-content .dyno-tier-picker-item-size-name, .pipeline-config .panel-content .panel-section .panel-title, .pipeline-config .panel-content h4 {
-    color: #3F3F44;
-    font-size: 14px;
-    font-weight: 400;
-    margin-top: 20px
-}
-
-.deploy-section .panel-content .dyno-tier-picker-item-size-name:first-child, .deploy-section .panel-content .panel-section .panel-title:first-child, .deploy-section .panel-content h4:first-child, .panel-section .deploy-section .panel-content .panel-title:first-child, .panel-section .pipeline-config .panel-content .panel-title:first-child, .pipeline-config .panel-content .dyno-tier-picker-item-size-name:first-child, .pipeline-config .panel-content .panel-section .panel-title:first-child, .pipeline-config .panel-content h4:first-child {
-    margin-top: 0
-}
-
-.deploy-section .panel-content .dyno-tier-picker-item-size-name .icon, .deploy-section .panel-content .panel-section .panel-title .icon, .deploy-section .panel-content h4 .icon, .panel-section .deploy-section .panel-content .panel-title .icon, .panel-section .pipeline-config .panel-content .panel-title .icon, .pipeline-config .panel-content .dyno-tier-picker-item-size-name .icon, .pipeline-config .panel-content .panel-section .panel-title .icon, .pipeline-config .panel-content h4 .icon {
-    margin-right: 4px
-}
-
-.deploy-section .panel-content .dyno-tier-picker-item-size-name code, .deploy-section .panel-content .panel-section .panel-title code, .deploy-section .panel-content h4 code, .panel-section .deploy-section .panel-content .panel-title code, .panel-section .pipeline-config .panel-content .panel-title code, .pipeline-config .panel-content .dyno-tier-picker-item-size-name code, .pipeline-config .panel-content .panel-section .panel-title code, .pipeline-config .panel-content h4 code {
-    padding: 3px 6px;
-    margin: 0 4px
-}
-
-.deploy-section .panel-content .dyno-tier-picker-item-size-name code .icon, .deploy-section .panel-content .panel-section .panel-title code .icon, .deploy-section .panel-content h4 code .icon, .panel-section .deploy-section .panel-content .panel-title code .icon, .panel-section .pipeline-config .panel-content .panel-title code .icon, .pipeline-config .panel-content .dyno-tier-picker-item-size-name code .icon, .pipeline-config .panel-content .panel-section .panel-title code .icon, .pipeline-config .panel-content h4 code .icon {
-    margin-right: -2px;
-    margin-top: -1px
-}
-
-.deploy-section .panel-content .panel-section .panel-details:not(.help-block), .deploy-section .panel-content p:not(.help-block), .panel-section .deploy-section .panel-content .panel-details:not(.help-block), .panel-section .pipeline-config .panel-content .panel-details:not(.help-block), .pipeline-config .panel-content .panel-section .panel-details:not(.help-block), .pipeline-config .panel-content p:not(.help-block) {
-    color: #56667D;
-    font-size: 13px;
-    line-height: 22px
-}
-
-.deploy-section .panel-content .deploy-nav, .pipeline-config .panel-content .deploy-nav {
-    text-align: left;
-    padding-bottom: 0;
-    margin-bottom: 0;
-    border-bottom: none
-}
-
-.deploy-section .panel-content #auto-deploy-prs, .deploy-section .panel-content .enable-option, .pipeline-config .panel-content #auto-deploy-prs, .pipeline-config .panel-content .enable-option {
-    padding: 8px 0 0
-}
-
-.deploy-section .panel-content #auto-deploy-prs label, .deploy-section .panel-content .enable-option label, .pipeline-config .panel-content #auto-deploy-prs label, .pipeline-config .panel-content .enable-option label {
-    font-size: 13px;
-    font-weight: 400;
-    color: #56667D;
-    width: auto;
-    margin-bottom: 0
-}
-
-.deploy-section .panel-content #auto-deploy-prs label input, .deploy-section .panel-content .enable-option label input, .pipeline-config .panel-content #auto-deploy-prs label input, .pipeline-config .panel-content .enable-option label input {
-    margin-right: 4px
-}
-
-.deploy-section .panel-content #auto-deploy-prs .loading-spinner, .deploy-section .panel-content .enable-option .loading-spinner, .pipeline-config .panel-content #auto-deploy-prs .loading-spinner, .pipeline-config .panel-content .enable-option .loading-spinner {
-    position: relative;
-    margin-left: 20px;
-    top: -1px;
-    vertical-align: middle
-}
-
-.deploy-section .panel-content #auto-deploy-prs .help-block, .deploy-section .panel-content .enable-option .help-block, .pipeline-config .panel-content #auto-deploy-prs .help-block, .pipeline-config .panel-content .enable-option .help-block {
-    margin-bottom: 0
-}
-
-.deploy-section .panel-content .input-group .btn, .pipeline-config .panel-content .input-group .btn {
-    position: relative;
-    z-index: 2
-}
-
-.deploy-section .btn, .deploy-section .pipeline-status, .pipeline-config .btn, .pipeline-config .pipeline-status {
-    position: relative
-}
-
-.deploy-section .pipeline-status::before, .pipeline-config .pipeline-status::before {
-    content: '';
-    position: absolute;
-    top: 0;
-    left: -20px;
-    bottom: 0;
-    right: -20px;
-    background-color: #fff;
-    background-image: -webkit-linear-gradient(#fff, #F9F7FC);
-    background-image: linear-gradient(#fff, #F9F7FC);
-    box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .05)
-}
-
-.deploy-section .pipeline-status .list-group-item, .pipeline-config .pipeline-status .list-group-item {
-    position: relative;
-    background: 0 0
-}
-
-.deploy-section .pipeline-status > ul > li.list-group-item, .pipeline-config .pipeline-status > ul > li.list-group-item {
-    position: relative;
-    margin: 0 -10px;
-    padding: 20px 10px 40px
-}
-
-.deploy-section .pipeline-status .btn-default:not(:hover), .pipeline-config .pipeline-status .btn-default:not(:hover) {
-    background: 0 0
-}
-
-.deploy-section .pipeline-status .pipeline-actions, .pipeline-config .pipeline-status .pipeline-actions {
-    max-width: 600px
-}
-
-.deploy-section .pipeline-status .pipeline-actions .alert, .pipeline-config .pipeline-status .pipeline-actions .alert {
-    margin-bottom: 0
-}
-
-.deploy-section .pipeline-status .pipeline-actions .hk-select, .pipeline-config .pipeline-status .pipeline-actions .hk-select {
-    max-width: 400px
-}
-
-.deploy-section .ci-billing-options, .pipeline-config .ci-billing-options {
-    margin: 0 0 14px
-}
-
-.deploy-section #ci-billing-target, .pipeline-config #ci-billing-target {
-    display: inline-block;
-    max-width: 340px
-}
-
-.github-is-connected, .pipeline-is-connected {
-    margin-top: -14px !important;
-    margin-bottom: 0
-}
-
-.github-is-connected .list-group-item, .pipeline-is-connected .list-group-item {
-    display: block;
-    padding: 14px 0
-}
-
-.github-is-connected .list-group-item:last-child, .pipeline-is-connected .list-group-item:last-child {
-    padding-bottom: 0
-}
-
-.github-is-connected .connection .badge, .pipeline-is-connected .connection .badge {
-    font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
-    background: #f3f5f8 !important;
-    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .1) !important;
-    border-radius: 3px;
-    color: #56667D;
-    font-size: 13px;
-    font-weight: 400;
-    position: relative;
-    top: -1px;
-    margin: 0 2px;
-    padding: 3px 5px
-}
-
-.github-is-connected .panel-section .panel-details, .github-is-connected p, .panel-section .github-is-connected .panel-details, .panel-section .pipeline-is-connected .panel-details, .pipeline-is-connected .panel-section .panel-details, .pipeline-is-connected p {
-    margin-bottom: 0
-}
-
-.github-is-connected code, .pipeline-is-connected code {
-    margin: 0 10px 0 4px
-}
-
-.github-is-connected code .icon, .pipeline-is-connected code .icon {
-    position: relative;
-    left: 2px;
-    top: -1px
-}
-
-.github-is-connected code.pr-ref, .pipeline-is-connected code.pr-ref {
-    background: 0 0;
-    box-shadow: none;
-    margin-left: 0
-}
-
-.github-is-connected code.pr-ref a, .pipeline-is-connected code.pr-ref a {
-    font-family: benton-sans, "Helvetica Neue", helvetica, arial, sans-serif;
-    color: #62738D;
-    text-decoration: none
-}
-
-.ci-menu .ci-meta .branch, .ci-menu .ci-status .test-time.pending, .ci-view .ci-view--meta .repo-info, .repo-link, table.editable-list.ssh-keys td {
-    font-family: Menlo, Monaco, Consolas, "Courier New", monospace
-}
-
-.github-is-connected code.pr-ref a .pr-id, .pipeline-is-connected code.pr-ref a .pr-id {
-    color: #79589F;
-    text-decoration: underline
-}
-
-.repo-link {
-    margin: 0 4px;
-    font-size: 13px;
-    white-space: nowrap
-}
-
-.repo-link .icon {
-    margin-right: -2px
-}
-
-.app-json-config-row .alert {
-    margin: 0
-}
-
-.app-json-addons td.addon-icon {
-    width: 36px
-}
-
-.app-json-addons td.addon-plan {
-    text-align: left
-}
-
-.deploy-github .deploy-steps, .deploy-pipeline .deploy-steps {
-    margin-bottom: 0
-}
-
-.build-output-modal .modal-title {
-    color: #62738D;
-    font-size: 15px
-}
-
-.build-output-modal .modal-title .icon, .build-output-modal .modal-title .loading-spinner {
-    position: relative;
-    margin-right: 6px;
-    top: -1px
-}
-
-.build-output-modal .modal-title .icon {
-    margin-right: 4px
-}
-
-.build-output-modal .modal-body {
-    padding: 15px 40px
-}
-
-.build-output-modal .modal-body .deploy-steps {
-    margin: 0
-}
-
-.build-output-modal .modal-body .deploy-steps .panel-section .panel-details, .build-output-modal .modal-body .deploy-steps p, .panel-section .build-output-modal .modal-body .deploy-steps .panel-details {
-    font-size: 13px
-}
-
-.build-output-modal .modal-body .deploy-steps .build-stream.post-deploy-script .build-stream-output {
-    max-height: 160px;
-    height: auto
-}
-
-.app-github-disconnect {
-    text-align: center;
-    margin: 12px 28px
-}
-
-.app-github-disconnect-warnings .alert {
-    margin-bottom: 16px
-}
-
-.app-github-disconnect-warnings .alert:first-child {
-    margin-top: 22px
-}
-
-#profile .avatar {
-    position: absolute;
-    left: 15px;
-    top: -2px
-}
-
-#profile .profile {
-    padding-left: 68px
-}
-
-#privacy label {
-    font-size: 14px;
-    font-weight: 400;
-    color: #56667D
-}
-
-#privacy label input {
-    margin-right: 4px
-}
-
-#two-factor .list-group {
-    margin-top: -14px
-}
-
-#two-factor .list-group-item {
-    display: block;
-    overflow: hidden;
-    padding: 14px 0
-}
-
-#two-factor .list-group-item span {
-    padding: 2px 0
-}
-
-#two-factor .list-group-item .icon {
-    position: relative;
-    top: -1px;
-    margin-right: 4px
-}
-
-#two-factor .list-group-item .actions .btn {
-    margin-left: 8px
-}
-
-#two-factor .list-group-item .alert {
-    margin-bottom: 14px
-}
-
-#two-factor .list-group-item .alert .panel-section .panel-details, #two-factor .list-group-item .alert p, .panel-section #two-factor .list-group-item .alert .panel-details {
-    margin: 0
-}
-
-.account-header {
-    text-align: center
-}
-
-.account-header h2 {
-    color: inherit;
-    font-size: 16px;
-    margin-bottom: 4px
-}
-
-.edit-password .current-password-field {
-    position: relative;
-    padding-bottom: 30px;
-    margin-bottom: 20px
-}
-
-.edit-password .current-password-field::after {
-    content: '';
-    position: absolute;
-    bottom: 0;
-    left: 0;
-    width: 65%;
-    height: 1px;
-    background-image: -webkit-linear-gradient(left, rgba(227, 231, 239, 0) 0, rgba(227, 231, 239, .7) 10%, #e3e7ef 50%, rgba(227, 231, 239, .7) 90%, rgba(227, 231, 239, 0) 100%);
-    background-image: -moz-linear-gradient(left, rgba(227, 231, 239, 0) 0, rgba(227, 231, 239, .7) 10%, #e3e7ef 50%, rgba(227, 231, 239, .7) 90%, rgba(227, 231, 239, 0) 100%);
-    background-image: -ms-linear-gradient(left, rgba(227, 231, 239, 0) 0, rgba(227, 231, 239, .7) 10%, #e3e7ef 50%, rgba(227, 231, 239, .7) 90%, rgba(227, 231, 239, 0) 100%);
-    background-image: linear-gradient(to right, rgba(227, 231, 239, 0) 0, rgba(227, 231, 239, .7) 10%, #e3e7ef 50%, rgba(227, 231, 239, .7) 90%, rgba(227, 231, 239, 0) 100%)
-}
-
-@media (max-width: 768px) {
-    .edit-password .current-password-field::after {
-        width: 100%
-    }
-}
-
-.panel-section .status.panel-details, p.status {
-    font-size: 14px;
-    color: #3F3F44;
-    padding-bottom: 10px
-}
-
-.panel-section .status.panel-details code, p.status code {
-    margin-left: 8px;
-    font-size: 13px
-}
-
-.panel-section .status.panel-details .icon, p.status .icon {
-    position: relative;
-    margin-right: 4px
-}
-
-.panel-section .api-key.panel-details, p.api-key {
-    max-width: 320px
-}
-
-.panel-section .api-key.success.panel-details input, p.api-key.success input {
-    background-color: #74C080;
-    color: #fff
-}
-
-.third-party-auth {
-    margin-bottom: 0
-}
-
-.third-party-auth td.party-icon {
-    width: 42px
-}
-
-.third-party-auth td a {
-    white-space: nowrap
-}
-
-.panel-section .third-party-auth .panel-details, .third-party-auth .panel-section .panel-details, .third-party-auth p {
-    display: inline-block;
-    color: #56667D;
-    font-size: 13px;
-    margin-bottom: 0;
-    vertical-align: middle
-}
-
-.panel-section .third-party-auth .panel-details b, .third-party-auth .panel-section .panel-details b, .third-party-auth p b {
-    font-weight: 400;
-    color: #3F3F44;
-    font-size: 14px;
-    display: block
-}
-
-#app-links-table {
-    list-style: none;
-    width: 480px;
-    max-width: 100%;
-    padding-bottom: 12px;
-    padding-left: 0
-}
-
-#app-links-table li {
-    overflow: hidden;
-    border-bottom: 1px solid #E3E7EF;
-    padding: 8px 10px
-}
-
-#app-links-table li:last-child {
-    border-bottom: none
-}
-
-#app-links-table .app-repo-name {
-    float: left;
-    font-size: 13px
-}
-
-#app-links-table .app-repo-name .icon {
-    margin-right: 6px
-}
-
-#app-links-table .app-syncing-status {
-    float: right;
-    color: #62738D;
-    font-size: 12px;
-    padding-top: 1px
-}
-
-#update-credit-card {
-    padding-bottom: 20px
-}
-
-table td.application, table td.client, table td.invoice-title, table td.title {
-    width: 40%
-}
-
-table td.domain, table td.no-charge, table td.pending, table td.permissions, table td.title, table td.void {
-    color: #62738D
-}
-
-table td.paid {
-    color: #008700
-}
-
-table td.declined, table td.unpaid {
-    font-weight: 700;
-    color: #DE0A0A
-}
-
-.invoice-graph {
-    margin-bottom: 30px
-}
-
-.current-usage .table > tbody > tr > td:first-of-type, .invoices .table > tbody > tr > td:first-of-type {
-    padding-left: 0
-}
-
-.current-usage .table > tbody > tr > td:last-of-type, .invoices .table > tbody > tr > td:last-of-type {
-    padding-right: 0
-}
-
-.current-usage .invoice-row .over-quota, .invoices .invoice-row .over-quota {
-    color: #DE0A0A
-}
-
-.current-usage .invoice-row .panel-section .panel-details, .current-usage .invoice-row small, .invoices .invoice-row .panel-section .panel-details, .invoices .invoice-row small, .panel-section .current-usage .invoice-row .panel-details, .panel-section .invoices .invoice-row .panel-details, .steps-2fa li {
-    color: #62738D
-}
-
-.pay-now table {
-    position: relative;
-    max-width: 60%;
-    margin-right: auto
-}
-
-.panel-section .pay-now .panel-details b, .pay-now .panel-section .panel-details b, .pay-now p b {
-    display: block;
-    font-size: 16px;
-    padding: 8px 0 14px
-}
-
-.steps-2fa {
-    padding-left: 0;
-    padding-top: 30px;
-    padding-bottom: 10px
-}
-
-.steps-2fa li {
-    position: relative;
-    font-size: 13px;
-    line-height: 18px;
-    vertical-align: top;
-    width: 190px;
-    display: inline-block;
-    margin-left: 0;
-    margin-right: 40px
-}
-
-.steps-2fa li img {
-    margin-bottom: 20px
-}
-
-.steps-2fa li.step-2 {
-    width: 220px
-}
-
-.steps-2fa li:last-of-type {
-    margin-right: 0
-}
-
-@media (max-width: 767px) {
-    .pay-now table {
-        max-width: 100%
-    }
-
-    .steps-2fa li {
-        display: block;
-        width: 100%;
-        max-width: 500px;
-        min-height: 58px;
-        padding-left: 120px;
-        margin-bottom: 20px
-    }
-
-    .steps-2fa li.step-2 {
-        width: auto
-    }
-
-    .steps-2fa li img {
-        position: absolute;
-        top: 0;
-        left: 0;
-        width: 92px;
-        height: 57px
-    }
-
-    .panel-section .steps-2fa li .panel-details, .steps-2fa li .panel-section .panel-details, .steps-2fa li p {
-        margin-bottom: 0
-    }
-}
-
-.instructions-2fa {
-    padding-top: 10px
-}
-
-.instructions-2fa .alert-warning {
-    margin: 20px 0 10px;
-    display: inline-block
-}
-
-#overview-page .app-overview-metrics .instructions-2fa .metrics__summary-row--favorite__link-wrapper, #overview-page .instructions-2fa .data-unavailable, .buildpack-installations-list .instructions-2fa .sortable-item.is-dragging, .instructions-2fa #overview-page .app-overview-metrics .metrics__summary-row--favorite__link-wrapper, .instructions-2fa #overview-page .data-unavailable, .instructions-2fa .buildpack-installations-list .sortable-item.is-dragging, .instructions-2fa .content-box, .instructions-2fa .metrics__chart-sorting .sortable-item.is-dragging, .instructions-2fa .metrics__monitor-preview-chart__loading, .instructions-2fa .metrics__not-available, .instructions-2fa .purple-box, .metrics__chart-sorting .instructions-2fa .sortable-item.is-dragging {
-    display: inline-block;
-    margin-right: 16px;
-    padding: 18px 18px 8px
-}
-
-@media (max-width: 1199px) {
-    #overview-page .app-overview-metrics .instructions-2fa .metrics__summary-row--favorite__link-wrapper, #overview-page .instructions-2fa .data-unavailable, .buildpack-installations-list .instructions-2fa .sortable-item.is-dragging, .instructions-2fa #overview-page .app-overview-metrics .metrics__summary-row--favorite__link-wrapper, .instructions-2fa #overview-page .data-unavailable, .instructions-2fa .buildpack-installations-list .sortable-item.is-dragging, .instructions-2fa .content-box, .instructions-2fa .metrics__chart-sorting .sortable-item.is-dragging, .instructions-2fa .metrics__monitor-preview-chart__loading, .instructions-2fa .metrics__not-available, .instructions-2fa .purple-box, .metrics__chart-sorting .instructions-2fa .sortable-item.is-dragging {
-        margin-bottom: 16px
-    }
-}
-
-#overview-page .app-overview-metrics .instructions-2fa .metrics__summary-row--favorite__link-wrapper:last-child, #overview-page .instructions-2fa .data-unavailable:last-child, .buildpack-installations-list .instructions-2fa .sortable-item.is-dragging:last-child, .instructions-2fa #overview-page .app-overview-metrics .metrics__summary-row--favorite__link-wrapper:last-child, .instructions-2fa #overview-page .data-unavailable:last-child, .instructions-2fa .buildpack-installations-list .sortable-item.is-dragging:last-child, .instructions-2fa .content-box:last-child, .instructions-2fa .metrics__chart-sorting .sortable-item.is-dragging:last-child, .instructions-2fa .metrics__monitor-preview-chart__loading:last-child, .instructions-2fa .metrics__not-available:last-child, .instructions-2fa .purple-box:last-child, .metrics__chart-sorting .instructions-2fa .sortable-item.is-dragging:last-child {
-    margin-bottom: 0
-}
-
-#overview-page .app-overview-metrics .instructions-2fa .qr-code.metrics__summary-row--favorite__link-wrapper, #overview-page .instructions-2fa .qr-code.data-unavailable, .buildpack-installations-list .instructions-2fa .qr-code.sortable-item.is-dragging, .instructions-2fa #overview-page .app-overview-metrics .qr-code.metrics__summary-row--favorite__link-wrapper, .instructions-2fa #overview-page .qr-code.data-unavailable, .instructions-2fa .buildpack-installations-list .qr-code.sortable-item.is-dragging, .instructions-2fa .metrics__chart-sorting .qr-code.sortable-item.is-dragging, .instructions-2fa .purple-box.qr-code, .instructions-2fa .qr-code.content-box, .instructions-2fa .qr-code.metrics__monitor-preview-chart__loading, .instructions-2fa .qr-code.metrics__not-available, .metrics__chart-sorting .instructions-2fa .qr-code.sortable-item.is-dragging {
-    padding: 8px;
-    width: 216px
-}
-
-#overview-page .app-overview-metrics .instructions-2fa .qr-code.metrics__summary-row--favorite__link-wrapper .panel-section .panel-details, #overview-page .app-overview-metrics .instructions-2fa .qr-code.metrics__summary-row--favorite__link-wrapper p, #overview-page .instructions-2fa .qr-code.data-unavailable .panel-section .panel-details, #overview-page .instructions-2fa .qr-code.data-unavailable p, .buildpack-installations-list .instructions-2fa .qr-code.sortable-item.is-dragging .panel-section .panel-details, .buildpack-installations-list .instructions-2fa .qr-code.sortable-item.is-dragging p, .instructions-2fa #overview-page .app-overview-metrics .qr-code.metrics__summary-row--favorite__link-wrapper .panel-section .panel-details, .instructions-2fa #overview-page .app-overview-metrics .qr-code.metrics__summary-row--favorite__link-wrapper p, .instructions-2fa #overview-page .qr-code.data-unavailable .panel-section .panel-details, .instructions-2fa #overview-page .qr-code.data-unavailable p, .instructions-2fa .buildpack-installations-list .qr-code.sortable-item.is-dragging .panel-section .panel-details, .instructions-2fa .buildpack-installations-list .qr-code.sortable-item.is-dragging p, .instructions-2fa .metrics__chart-sorting .qr-code.sortable-item.is-dragging .panel-section .panel-details, .instructions-2fa .metrics__chart-sorting .qr-code.sortable-item.is-dragging p, .instructions-2fa .purple-box.qr-code .panel-section .panel-details, .instructions-2fa .purple-box.qr-code p, .instructions-2fa .qr-code.content-box .panel-section .panel-details, .instructions-2fa .qr-code.content-box p, .instructions-2fa .qr-code.metrics__monitor-preview-chart__loading .panel-section .panel-details, .instructions-2fa .qr-code.metrics__monitor-preview-chart__loading p, .instructions-2fa .qr-code.metrics__not-available .panel-section .panel-details, .instructions-2fa .qr-code.metrics__not-available p, .metrics__chart-sorting .instructions-2fa .qr-code.sortable-item.is-dragging .panel-section .panel-details, .metrics__chart-sorting .instructions-2fa .qr-code.sortable-item.is-dragging p, .panel-section #overview-page .app-overview-metrics .instructions-2fa .qr-code.metrics__summary-row--favorite__link-wrapper .panel-details, .panel-section #overview-page .instructions-2fa .qr-code.data-unavailable .panel-details, .panel-section .buildpack-installations-list .instructions-2fa .qr-code.sortable-item.is-dragging .panel-details, .panel-section .instructions-2fa #overview-page .app-overview-metrics .qr-code.metrics__summary-row--favorite__link-wrapper .panel-details, .panel-section .instructions-2fa #overview-page .qr-code.data-unavailable .panel-details, .panel-section .instructions-2fa .buildpack-installations-list .qr-code.sortable-item.is-dragging .panel-details, .panel-section .instructions-2fa .metrics__chart-sorting .qr-code.sortable-item.is-dragging .panel-details, .panel-section .instructions-2fa .purple-box.qr-code .panel-details, .panel-section .instructions-2fa .qr-code.content-box .panel-details, .panel-section .instructions-2fa .qr-code.metrics__monitor-preview-chart__loading .panel-details, .panel-section .instructions-2fa .qr-code.metrics__not-available .panel-details, .panel-section .metrics__chart-sorting .instructions-2fa .qr-code.sortable-item.is-dragging .panel-details {
-    margin-top: 8px;
-    margin-bottom: -2px;
-    font-size: 12px;
-    line-height: 18px;
-    padding: 0 4px
-}
-
-#overview-page .app-overview-metrics .instructions-2fa .metrics__summary-row--favorite__link-wrapper .meta, #overview-page .instructions-2fa .data-unavailable .meta, .buildpack-installations-list .instructions-2fa .sortable-item.is-dragging .meta, .instructions-2fa #overview-page .app-overview-metrics .metrics__summary-row--favorite__link-wrapper .meta, .instructions-2fa #overview-page .data-unavailable .meta, .instructions-2fa .buildpack-installations-list .sortable-item.is-dragging .meta, .instructions-2fa .content-box .meta, .instructions-2fa .metrics__chart-sorting .sortable-item.is-dragging .meta, .instructions-2fa .metrics__monitor-preview-chart__loading .meta, .instructions-2fa .metrics__not-available .meta, .instructions-2fa .purple-box .meta, .metrics__chart-sorting .instructions-2fa .sortable-item.is-dragging .meta {
-    position: relative;
-    padding-left: 44px;
-    padding-bottom: 16px
-}
-
-#overview-page .app-overview-metrics .instructions-2fa .metrics__summary-row--favorite__link-wrapper .meta h5, #overview-page .instructions-2fa .data-unavailable .meta h5, .buildpack-installations-list .instructions-2fa .sortable-item.is-dragging .meta h5, .instructions-2fa #overview-page .app-overview-metrics .metrics__summary-row--favorite__link-wrapper .meta h5, .instructions-2fa #overview-page .data-unavailable .meta h5, .instructions-2fa .buildpack-installations-list .sortable-item.is-dragging .meta h5, .instructions-2fa .content-box .meta h5, .instructions-2fa .metrics__chart-sorting .sortable-item.is-dragging .meta h5, .instructions-2fa .metrics__monitor-preview-chart__loading .meta h5, .instructions-2fa .metrics__not-available .meta h5, .instructions-2fa .purple-box .meta h5, .metrics__chart-sorting .instructions-2fa .sortable-item.is-dragging .meta h5 {
-    color: #3F3F44;
-    font-size: 13px;
-    font-weight: 700;
-    margin-top: 0;
-    margin-bottom: 2px
-}
-
-#overview-page .app-overview-metrics .instructions-2fa .metrics__summary-row--favorite__link-wrapper .meta a, #overview-page .instructions-2fa .data-unavailable .meta a, .buildpack-installations-list .instructions-2fa .sortable-item.is-dragging .meta a, .instructions-2fa #overview-page .app-overview-metrics .metrics__summary-row--favorite__link-wrapper .meta a, .instructions-2fa #overview-page .data-unavailable .meta a, .instructions-2fa .buildpack-installations-list .sortable-item.is-dragging .meta a, .instructions-2fa .content-box .meta a, .instructions-2fa .metrics__chart-sorting .sortable-item.is-dragging .meta a, .instructions-2fa .metrics__monitor-preview-chart__loading .meta a, .instructions-2fa .metrics__not-available .meta a, .instructions-2fa .purple-box .meta a, .metrics__chart-sorting .instructions-2fa .sortable-item.is-dragging .meta a {
-    color: #62738D;
-    text-decoration: none;
-    font-size: 12px
-}
-
-#overview-page .app-overview-metrics .instructions-2fa .metrics__summary-row--favorite__link-wrapper .meta a:hover, #overview-page .instructions-2fa .data-unavailable .meta a:hover, .buildpack-installations-list .instructions-2fa .sortable-item.is-dragging .meta a:hover, .instructions-2fa #overview-page .app-overview-metrics .metrics__summary-row--favorite__link-wrapper .meta a:hover, .instructions-2fa #overview-page .data-unavailable .meta a:hover, .instructions-2fa .buildpack-installations-list .sortable-item.is-dragging .meta a:hover, .instructions-2fa .content-box .meta a:hover, .instructions-2fa .metrics__chart-sorting .sortable-item.is-dragging .meta a:hover, .instructions-2fa .metrics__monitor-preview-chart__loading .meta a:hover, .instructions-2fa .metrics__not-available .meta a:hover, .instructions-2fa .purple-box .meta a:hover, .metrics__chart-sorting .instructions-2fa .sortable-item.is-dragging .meta a:hover {
-    color: #3F3F44
-}
-
-#overview-page .app-overview-metrics .instructions-2fa .metrics__summary-row--favorite__link-wrapper .meta img, #overview-page .instructions-2fa .data-unavailable .meta img, .buildpack-installations-list .instructions-2fa .sortable-item.is-dragging .meta img, .instructions-2fa #overview-page .app-overview-metrics .metrics__summary-row--favorite__link-wrapper .meta img, .instructions-2fa #overview-page .data-unavailable .meta img, .instructions-2fa .buildpack-installations-list .sortable-item.is-dragging .meta img, .instructions-2fa .content-box .meta img, .instructions-2fa .metrics__chart-sorting .sortable-item.is-dragging .meta img, .instructions-2fa .metrics__monitor-preview-chart__loading .meta img, .instructions-2fa .metrics__not-available .meta img, .instructions-2fa .purple-box .meta img, .metrics__chart-sorting .instructions-2fa .sortable-item.is-dragging .meta img {
-    position: absolute;
-    left: 0;
-    top: 0;
-    width: 32px;
-    height: 32px
-}
-
-.instructions-2fa .steps {
-    counter-reset: purple-numbers;
-    list-style: none;
-    padding-left: 0
-}
-
-.instructions-2fa .steps .dyno-tier-picker-item-size-name, .instructions-2fa .steps .panel-section .panel-title, .instructions-2fa .steps h4, .panel-section .instructions-2fa .steps .panel-title {
-    color: #3F3F44;
-    font-size: 14px;
-    font-weight: 400;
-    margin-top: 0;
-    margin-bottom: 2px
-}
-
-.instructions-2fa .steps .panel-section .panel-details, .instructions-2fa .steps p, .panel-section .instructions-2fa .steps .panel-details {
-    font-size: 13px;
-    color: #62738D;
-    line-height: 24px;
-    margin-bottom: 16px
-}
-
-.instructions-2fa .steps > li {
-    position: relative;
-    padding: 26px 0 30px 44px;
-    border-bottom: 1px solid #e7ebf3
-}
-
-.instructions-2fa .steps > li:last-of-type {
-    border-bottom: none
-}
-
-.instructions-2fa .steps > li::before {
-    content: counter(purple-numbers);
-    counter-increment: purple-numbers;
-    position: absolute;
-    top: 29px;
-    left: 0;
-    border-radius: 50%;
-    width: 28px;
-    height: 28px;
-    background: rgba(121, 88, 159, .1);
-    border: 1px solid rgba(121, 88, 159, .4);
-    color: #79589F;
-    text-align: center;
-    font-size: 16px;
-    font-weight: 200;
-    line-height: 28px
-}
-
-.instructions-2fa .steps > li #qr-code {
-    padding-bottom: 12px;
-    background: #E3E7EF;
-    width: 200px;
-    height: 200px
-}
-
-.instructions-2fa .steps > li .download-badge {
-    display: inline-block;
-    margin-right: 6px;
-    margin-bottom: 8px
-}
-
-.invoice-graph g .quota-limit-marker.is-interpolated, .tt-menu, .x-axis path {
-    display: none
-}
-
-.instructions-2fa .steps > li .download-badge:last-child {
-    margin-right: 0
-}
-
-.instructions-2fa .steps > li .download-badge img {
-    text-indent: 100%;
-    white-space: nowrap;
-    overflow: hidden;
-    height: 42px
-}
-
-input#two-factor-code {
-    max-width: 160px
-}
-
-.two-factor-confirmation hr {
-    margin-bottom: 36px
-}
-
-.two-factor-confirmation hr:last-of-type {
-    margin-bottom: 20px
-}
-
-.recovery-method {
-    max-width: 540px;
-    padding-top: 4px;
-    padding-bottom: 16px
-}
-
-.recovery-method h5 {
-    color: #3F3F44;
-    font-size: 14px
-}
-
-.panel-section .recovery-method .panel-details, .recovery-method .panel-section .panel-details, .recovery-method p {
-    font-size: 13px;
-    color: #62738D;
-    line-height: 24px;
-    padding-bottom: 4px
-}
-
-.two-factor-required #two-factor-token {
-    width: 240px
-}
-
-table.editable-list.ssh-keys td {
-    font-size: 13px;
-    white-space: nowrap
-}
-
-table.editable-list.ssh-keys td.ssh-key-local {
-    max-width: 150px
-}
-
-table.editable-list.ssh-keys td .local {
-    overflow: hidden;
-    text-overflow: ellipsis;
-    color: #62738D
-}
-
-.invoice-graph g .quota-limit-marker {
-    shape-rendering: crispEdges;
-    stroke: #E3E7EF
-}
-
-.invoice-graph g rect.quota-limit {
-    fill: #f52626
-}
-
-.invoice-graph g:hover rect {
-    fill: #006DEB
-}
-
-.invoice-graph g:hover rect.quota-limit {
-    fill: #DE0A0A
-}
-
-.invoice-graph g:hover .quota-limit-marker {
-    stroke: #1f87ff
-}
-
-.x-axis text {
-    fill: #CFD7E6;
-    font-size: 11px;
-    text-anchor: start
-}
-
-.x-axis.x-axis-year text {
-    fill: #62738D
-}
-
-.x-axis line, .x-axis path {
-    fill: none;
-    stroke: none;
-    shape-rendering: crispEdges
-}
-
-.invoice-graph-tip {
-    padding: 1px 4px;
-    background-color: #62738D;
-    border-radius: 2px;
-    color: #fff;
-    font-size: 11px
-}
-
-.tt-menu, .typeahead {
-    background-color: #fff
-}
-
-.is-delinquent a, .is-delinquent button {
-    opacity: .3;
-    cursor: not-allowed;
-    pointer-events: none
-}
-
-.is-delinquent .allow-if-delinquent a, .is-delinquent .allow-if-delinquent button, .is-delinquent .nav-tabs a.active {
-    cursor: inherit;
-    opacity: inherit;
-    pointer-events: inherit
-}
-
-.modal-prompt .modal-title .icon, .two-factor .modal-title .icon {
-    position: relative;
-    margin-top: -3px;
-    margin-right: 3px
-}
-
-.modal-prompt .modal-body h5, .two-factor .modal-body h5 {
-    font-weight: 700;
-    color: #475366
-}
-
-.modal-prompt .modal-body .panel-section h5 + .panel-details, .modal-prompt .modal-body h5 + p, .panel-section .modal-prompt .modal-body h5 + .panel-details, .panel-section .two-factor .modal-body h5 + .panel-details, .two-factor .modal-body .panel-section h5 + .panel-details, .two-factor .modal-body h5 + p {
-    font-size: 13px;
-    margin-bottom: 20px;
-    padding: 0 20px
-}
-
-.modal-prompt .modal-body .form-control, .two-factor .modal-body .form-control {
-    max-width: 340px
-}
-
-.modal-prompt .modal-body .form-control.center-block, .two-factor .modal-body .form-control.center-block {
-    text-align: center
-}
-
-.modal-prompt .modal-body .form-control#sms-phone-number, .two-factor .modal-body .form-control#sms-phone-number {
-    max-width: 240px
-}
-
-.modal-prompt .modal-body .form-control#sms-confirmation-code, .two-factor .modal-body .form-control#sms-confirmation-code {
-    max-width: 160px
-}
-
-.modal-prompt .modal-body .panel-section .help-block.panel-details, .modal-prompt .modal-body p.help-block, .panel-section .modal-prompt .modal-body .help-block.panel-details, .panel-section .two-factor .modal-body .help-block.panel-details, .two-factor .modal-body .panel-section .help-block.panel-details, .two-factor .modal-body p.help-block {
-    position: relative;
-    margin: 8px auto;
-    max-width: 380px;
-    font-size: 13px
-}
-
-.modal-prompt .modal-body .ghe-hostname, .modal-prompt .modal-body .password-prompt-form, .two-factor .modal-body .ghe-hostname, .two-factor .modal-body .password-prompt-form {
-    padding-top: 10px
-}
-
-.modal-prompt .modal-body .alert, .two-factor .modal-body .alert {
-    margin: 0 30px 10px
-}
-
-#overview-page .app-overview-metrics .modal-prompt .modal-body .metrics__summary-row--favorite__link-wrapper, #overview-page .app-overview-metrics .two-factor .modal-body .metrics__summary-row--favorite__link-wrapper, #overview-page .modal-prompt .modal-body .data-unavailable, #overview-page .two-factor .modal-body .data-unavailable, .buildpack-installations-list .modal-prompt .modal-body .sortable-item.is-dragging, .buildpack-installations-list .two-factor .modal-body .sortable-item.is-dragging, .metrics__chart-sorting .modal-prompt .modal-body .sortable-item.is-dragging, .metrics__chart-sorting .two-factor .modal-body .sortable-item.is-dragging, .modal-prompt .modal-body #overview-page .app-overview-metrics .metrics__summary-row--favorite__link-wrapper, .modal-prompt .modal-body #overview-page .data-unavailable, .modal-prompt .modal-body .buildpack-installations-list .sortable-item.is-dragging, .modal-prompt .modal-body .content-box, .modal-prompt .modal-body .metrics__chart-sorting .sortable-item.is-dragging, .modal-prompt .modal-body .metrics__monitor-preview-chart__loading, .modal-prompt .modal-body .metrics__not-available, .modal-prompt .modal-body .purple-box, .two-factor .modal-body #overview-page .app-overview-metrics .metrics__summary-row--favorite__link-wrapper, .two-factor .modal-body #overview-page .data-unavailable, .two-factor .modal-body .buildpack-installations-list .sortable-item.is-dragging, .two-factor .modal-body .content-box, .two-factor .modal-body .metrics__chart-sorting .sortable-item.is-dragging, .two-factor .modal-body .metrics__monitor-preview-chart__loading, .two-factor .modal-body .metrics__not-available, .two-factor .modal-body .purple-box {
-    position: relative;
-    margin: 16px auto 14px;
-    text-align: left;
-    max-width: 320px;
-    padding: 12px
-}
-
-#overview-page .app-overview-metrics .modal-prompt .modal-body .metrics__summary-row--favorite__link-wrapper h5, #overview-page .app-overview-metrics .two-factor .modal-body .metrics__summary-row--favorite__link-wrapper h5, #overview-page .modal-prompt .modal-body .data-unavailable h5, #overview-page .two-factor .modal-body .data-unavailable h5, .buildpack-installations-list .modal-prompt .modal-body .sortable-item.is-dragging h5, .buildpack-installations-list .two-factor .modal-body .sortable-item.is-dragging h5, .metrics__chart-sorting .modal-prompt .modal-body .sortable-item.is-dragging h5, .metrics__chart-sorting .two-factor .modal-body .sortable-item.is-dragging h5, .modal-prompt .modal-body #overview-page .app-overview-metrics .metrics__summary-row--favorite__link-wrapper h5, .modal-prompt .modal-body #overview-page .data-unavailable h5, .modal-prompt .modal-body .buildpack-installations-list .sortable-item.is-dragging h5, .modal-prompt .modal-body .content-box h5, .modal-prompt .modal-body .metrics__chart-sorting .sortable-item.is-dragging h5, .modal-prompt .modal-body .metrics__monitor-preview-chart__loading h5, .modal-prompt .modal-body .metrics__not-available h5, .modal-prompt .modal-body .purple-box h5, .two-factor .modal-body #overview-page .app-overview-metrics .metrics__summary-row--favorite__link-wrapper h5, .two-factor .modal-body #overview-page .data-unavailable h5, .two-factor .modal-body .buildpack-installations-list .sortable-item.is-dragging h5, .two-factor .modal-body .content-box h5, .two-factor .modal-body .metrics__chart-sorting .sortable-item.is-dragging h5, .two-factor .modal-body .metrics__monitor-preview-chart__loading h5, .two-factor .modal-body .metrics__not-available h5, .two-factor .modal-body .purple-box h5 {
-    font-size: 13px;
-    color: #62738D;
-    margin-top: 0
-}
-
-#overview-page .app-overview-metrics .modal-prompt .modal-body .metrics__summary-row--favorite__link-wrapper .actions, #overview-page .app-overview-metrics .two-factor .modal-body .metrics__summary-row--favorite__link-wrapper .actions, #overview-page .modal-prompt .modal-body .data-unavailable .actions, #overview-page .two-factor .modal-body .data-unavailable .actions, .buildpack-installations-list .modal-prompt .modal-body .sortable-item.is-dragging .actions, .buildpack-installations-list .two-factor .modal-body .sortable-item.is-dragging .actions, .metrics__chart-sorting .modal-prompt .modal-body .sortable-item.is-dragging .actions, .metrics__chart-sorting .two-factor .modal-body .sortable-item.is-dragging .actions, .modal-prompt .modal-body #overview-page .app-overview-metrics .metrics__summary-row--favorite__link-wrapper .actions, .modal-prompt .modal-body #overview-page .data-unavailable .actions, .modal-prompt .modal-body .buildpack-installations-list .sortable-item.is-dragging .actions, .modal-prompt .modal-body .content-box .actions, .modal-prompt .modal-body .metrics__chart-sorting .sortable-item.is-dragging .actions, .modal-prompt .modal-body .metrics__monitor-preview-chart__loading .actions, .modal-prompt .modal-body .metrics__not-available .actions, .modal-prompt .modal-body .purple-box .actions, .two-factor .modal-body #overview-page .app-overview-metrics .metrics__summary-row--favorite__link-wrapper .actions, .two-factor .modal-body #overview-page .data-unavailable .actions, .two-factor .modal-body .buildpack-installations-list .sortable-item.is-dragging .actions, .two-factor .modal-body .content-box .actions, .two-factor .modal-body .metrics__chart-sorting .sortable-item.is-dragging .actions, .two-factor .modal-body .metrics__monitor-preview-chart__loading .actions, .two-factor .modal-body .metrics__not-available .actions, .two-factor .modal-body .purple-box .actions {
-    overflow: hidden;
-    width: 100%
-}
-
-#overview-page .app-overview-metrics .modal-prompt .modal-body .metrics__summary-row--favorite__link-wrapper .actions .btn-primary, #overview-page .app-overview-metrics .two-factor .modal-body .metrics__summary-row--favorite__link-wrapper .actions .btn-primary, #overview-page .modal-prompt .modal-body .data-unavailable .actions .btn-primary, #overview-page .two-factor .modal-body .data-unavailable .actions .btn-primary, .buildpack-installations-list .modal-prompt .modal-body .sortable-item.is-dragging .actions .btn-primary, .buildpack-installations-list .two-factor .modal-body .sortable-item.is-dragging .actions .btn-primary, .metrics__chart-sorting .modal-prompt .modal-body .sortable-item.is-dragging .actions .btn-primary, .metrics__chart-sorting .two-factor .modal-body .sortable-item.is-dragging .actions .btn-primary, .modal-prompt .modal-body #overview-page .app-overview-metrics .metrics__summary-row--favorite__link-wrapper .actions .btn-primary, .modal-prompt .modal-body #overview-page .data-unavailable .actions .btn-primary, .modal-prompt .modal-body .buildpack-installations-list .sortable-item.is-dragging .actions .btn-primary, .modal-prompt .modal-body .content-box .actions .btn-primary, .modal-prompt .modal-body .metrics__chart-sorting .sortable-item.is-dragging .actions .btn-primary, .modal-prompt .modal-body .metrics__monitor-preview-chart__loading .actions .btn-primary, .modal-prompt .modal-body .metrics__not-available .actions .btn-primary, .modal-prompt .modal-body .purple-box .actions .btn-primary, .two-factor .modal-body #overview-page .app-overview-metrics .metrics__summary-row--favorite__link-wrapper .actions .btn-primary, .two-factor .modal-body #overview-page .data-unavailable .actions .btn-primary, .two-factor .modal-body .buildpack-installations-list .sortable-item.is-dragging .actions .btn-primary, .two-factor .modal-body .content-box .actions .btn-primary, .two-factor .modal-body .metrics__chart-sorting .sortable-item.is-dragging .actions .btn-primary, .two-factor .modal-body .metrics__monitor-preview-chart__loading .actions .btn-primary, .two-factor .modal-body .metrics__not-available .actions .btn-primary, .two-factor .modal-body .purple-box .actions .btn-primary {
-    float: left
-}
-
-#overview-page .app-overview-metrics .modal-prompt .modal-body .metrics__summary-row--favorite__link-wrapper .actions .btn-default, #overview-page .app-overview-metrics .two-factor .modal-body .metrics__summary-row--favorite__link-wrapper .actions .btn-default, #overview-page .modal-prompt .modal-body .data-unavailable .actions .btn-default, #overview-page .two-factor .modal-body .data-unavailable .actions .btn-default, .buildpack-installations-list .modal-prompt .modal-body .sortable-item.is-dragging .actions .btn-default, .buildpack-installations-list .two-factor .modal-body .sortable-item.is-dragging .actions .btn-default, .metrics__chart-sorting .modal-prompt .modal-body .sortable-item.is-dragging .actions .btn-default, .metrics__chart-sorting .two-factor .modal-body .sortable-item.is-dragging .actions .btn-default, .modal-prompt .modal-body #overview-page .app-overview-metrics .metrics__summary-row--favorite__link-wrapper .actions .btn-default, .modal-prompt .modal-body #overview-page .data-unavailable .actions .btn-default, .modal-prompt .modal-body .buildpack-installations-list .sortable-item.is-dragging .actions .btn-default, .modal-prompt .modal-body .content-box .actions .btn-default, .modal-prompt .modal-body .metrics__chart-sorting .sortable-item.is-dragging .actions .btn-default, .modal-prompt .modal-body .metrics__monitor-preview-chart__loading .actions .btn-default, .modal-prompt .modal-body .metrics__not-available .actions .btn-default, .modal-prompt .modal-body .purple-box .actions .btn-default, .two-factor .modal-body #overview-page .app-overview-metrics .metrics__summary-row--favorite__link-wrapper .actions .btn-default, .two-factor .modal-body #overview-page .data-unavailable .actions .btn-default, .two-factor .modal-body .buildpack-installations-list .sortable-item.is-dragging .actions .btn-default, .two-factor .modal-body .content-box .actions .btn-default, .two-factor .modal-body .metrics__chart-sorting .sortable-item.is-dragging .actions .btn-default, .two-factor .modal-body .metrics__monitor-preview-chart__loading .actions .btn-default, .two-factor .modal-body .metrics__not-available .actions .btn-default, .two-factor .modal-body .purple-box .actions .btn-default {
-    float: right
-}
-
-.modal-prompt .modal-body pre, .two-factor .modal-body pre {
-    width: 100%;
-    margin: 0
-}
-
-.modal-prompt .modal-body pre code, .two-factor .modal-body pre code {
-    float: left
-}
-
-.modal-prompt .modal-body pre code:first-child, .two-factor .modal-body pre code:first-child {
-    margin-right: 20px
-}
-
-.modal-prompt .modal-body .resend-link, .two-factor .modal-body .resend-link {
-    text-decoration: underline !important;
-    border: none
-}
-
-.modal-prompt .modal-footer .btn-link, .two-factor .modal-footer .btn-link {
-    margin-right: 14px
-}
-
-.modal-prompt .modal-footer .btn-default, .two-factor .modal-footer .btn-default {
-    margin-right: 6px
-}
-
-.tt-hint, .tt-query, .typeahead {
-    width: 396px;
-    border: 2px solid #ccc;
-    border-radius: 8px;
-    outline: 0
-}
-
-.typeahead:focus {
-    border: 2px solid #0097cf
-}
-
-.tt-query {
-    box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
-    line-height: 30px
-}
-
-.tt-hint {
-    color: #CFD7E6;
-    margin-left: -1px;
-    line-height: 30px
-}
-
-.tt-menu {
-    width: 100%;
-    margin-top: 4px;
-    border-radius: 4px;
-    box-shadow: 0 0 0 1px rgba(0, 0, 0, .05), 0 2px 6px rgba(0, 0, 0, .2);
-    max-height: 400px;
-    overflow-y: auto
-}
-
-.panel-section .tt-suggestion .panel-details, .tt-suggestion .panel-section .panel-details, .tt-suggestion p, hr.no-margin {
-    margin: 0
-}
-
-.tt-menu.visible {
-    display: block;
-    position: absolute;
-    top: 100%;
-    left: 0;
-    z-index: 100
-}
-
-.tt-suggestion {
-    padding: 6px 10px;
-    border-bottom: 1px solid rgba(0, 0, 0, .1);
-    cursor: pointer
-}
-
-.tt-suggestion:last-child {
-    border-bottom: none
-}
-
-.tt-suggestion.tt-cursor, .tt-suggestion:hover {
-    background: #fafafb
-}
-
-.tt-suggestion.typeahead-empty-state-suggestion {
-    display: block;
-    padding: 10px;
-    text-align: center
-}
-
-.addon-typeahead-title {
-    color: #79589F;
-    padding: 0 12px;
-    flex: none
-}
-
-.addon-typeahead-description {
-    color: #62738D;
-    flex: 1
-}
-
-.addon-typeahead-cell {
-    display: flex;
-    align-items: center;
-    position: relative
-}
-
-.typeahead-component {
-    position: relative
-}
-
-.typeahead-component > .icon {
-    position: absolute;
-    left: 9px;
-    top: 9px;
-    z-index: 1
-}
-
-.typeahead-component .loading-spinner {
-    position: absolute;
-    top: 15px;
-    left: 8px
-}
-
-.typeahead-component .form-control {
-    padding-left: 30px
-}
-
-.alert .alert-title {
-    font-weight: 700;
-    display: block;
-    font-size: 14px
-}
-
-.alert .alert-title:not(:only-child) {
-    padding-bottom: 4px
-}
-
-.alert .alert-body {
-    font-size: 13px
-}
-
-.alert a {
-    text-decoration: underline
-}
-
-.alert--full-width {
-    margin: 0 -20px 40px;
-    border-radius: 0;
-    border-width: 1px 0;
-    padding: 24px 45px
-}
-
-.alert--above-footer {
-    border-bottom: 0;
-    margin: 0;
-    -webkit-flex-shrink: 0;
-    -moz-flex-shrink: 0;
-    flex-shrink: 0;
-    -ms-flex-negative: 0
-}
-
-.actions-button {
-    position: relative;
-    margin-left: auto
-}
-
-.actions-button.btn-group:not(:first-child):not(:last-child) > .btn {
-    border-bottom-right-radius: 4px;
-    border-top-right-radius: 4px
-}
-
-.actions-button .context-switcher__list, .actions-button .drop-down__menu, .actions-button .dropdown-menu {
-    position: absolute;
-    left: auto;
-    right: 0;
-    font-size: 12px
-}
-
-.actions-button .context-switcher__list li.divider, .actions-button .drop-down__menu li.divider, .actions-button .dropdown-menu li.divider {
-    margin: 5px 0
-}
-
-.actions-button .btn-link {
-    padding-left: 10px;
-    padding-right: 10px;
-    margin-right: -10px
-}
-
-.actions-button .btn-link i {
-    position: relative;
-    margin: 0
-}
-
-.actions-button .btn-link i.icon-add-button {
-    margin-right: 2px
-}
-
-[class*=protected-pipelines-pipeline-] .main-content {
-    display: flex;
-    -webkit-box-orient: vertical;
-    -moz-box-orient: vertical;
-    box-orient: vertical;
-    -webkit-box-direction: normal;
-    -moz-box-direction: normal;
-    box-direction: normal;
-    -webkit-flex-direction: column;
-    -moz-flex-direction: column;
-    flex-direction: column;
-    -ms-flex-direction: column;
-    -webkit-flex-shrink: 0;
-    -moz-flex-shrink: 0;
-    flex-shrink: 0;
-    -ms-flex-negative: 0;
-    min-height: 380px;
-    padding: 0;
-    background: #F7F8FB
-}
-
-#pipeline-overview, .pipeline-app.app-suggestion .box, .switch-mode {
-    display: -webkit-box;
-    display: -moz-box
-}
-
-[class*=protected-pipelines-pipeline-] .generic-banner, [class*=protected-pipelines-pipeline-] .message-banner {
-    margin: 0 0 1px;
-    z-index: 2
-}
-
-.protected-pipelines-pipeline-access .main-content, .protected-pipelines-pipeline-settings .main-content {
-    background: #fff
-}
-
-.pipeline-config {
-    padding: 20px 20px 0
-}
-
-.pipeline-config hr {
-    margin: 30px 0
-}
-
-.pipeline-config .alert {
-    margin: 20px 0 10px
-}
-
-.pipeline-config .alert hr {
-    margin: 10px 0
-}
-
-#pipeline-overview {
-    display: box;
-    display: -webkit-flex;
-    display: -moz-flex;
-    display: -ms-flexbox;
-    display: flex;
-    -webkit-flex-grow: 1;
-    -moz-flex-grow: 1;
-    flex-grow: 1;
-    -ms-flex-positive: 1;
-    -webkit-box-align: stretch;
-    -moz-box-align: stretch;
-    box-align: stretch;
-    -webkit-align-items: stretch;
-    -moz-align-items: stretch;
-    -ms-align-items: stretch;
-    -o-align-items: stretch;
-    align-items: stretch;
-    -ms-flex-align: stretch;
-    position: relative;
-    overflow-x: auto;
-    min-height: 320px;
-    margin-bottom: 10px
-}
-
-#pipeline-overview.has-overflow {
-    cursor: -webkit-grab
-}
-
-#pipeline-overview.has-overflow:active {
-    cursor: -webkit-grabbing
-}
-
-#pipeline-overview::-webkit-scrollbar {
-    width: 6px;
-    height: 6px
-}
-
-#pipeline-overview::-webkit-scrollbar-track {
-    border-radius: 10px;
-    box-shadow: inset 0 0 0 1px rgba(207, 215, 230, .2);
-    background: rgba(207, 215, 230, .2)
-}
-
-#pipeline-overview::-webkit-scrollbar-thumb {
-    border-radius: 10px;
-    box-shadow: inset 0 0 0 1px rgba(207, 215, 230, .5);
-    background: rgba(207, 215, 230, .5)
-}
-
-#pipeline-overview::-webkit-scrollbar-button {
-    display: block;
-    width: 10px;
-    height: 10px
-}
-
-#pipeline-overview .pipeline-stages {
-    padding: 0 5px
-}
-
-#pipeline-overview .stage {
-    -webkit-box-flex: 1;
-    -moz-box-flex: 1;
-    box-flex: 1;
-    -webkit-flex: 1;
-    -moz-flex: 1;
-    -ms-flex: 1;
-    flex: 1;
-    position: relative;
-    overflow: visible;
-    min-width: 350px;
-    max-width: 410px
-}
-
-#pipeline-overview .stage::after {
-    content: '';
-    position: absolute;
-    bottom: 0;
-    left: 0;
-    right: 0;
-    height: 10px;
-    background: linear-gradient(rgba(247, 248, 251, 0), #f7f8fb)
-}
-
-#pipeline-overview .stage .app-list {
-    margin-left: 0;
-    margin-right: 0;
-    padding-bottom: 10px
-}
-
-#pipeline-overview .stage.review-apps .dyno-tier-picker-item-size-name, #pipeline-overview .stage.review-apps .panel-section .panel-title, #pipeline-overview .stage.review-apps h4, .panel-section #pipeline-overview .stage.review-apps .panel-title {
-    margin-right: 8px
-}
-
-#pipeline-overview .stage:first-child {
-    margin-left: auto
-}
-
-#pipeline-overview .stage:last-child {
-    margin-right: auto
-}
-
-#pipeline-overview .stage:last-child .pipeline-arrow {
-    display: none
-}
-
-#pipeline-overview .pipeline-arrow {
-    position: relative;
-    margin-left: auto
-}
-
-#pipeline-overview .pipeline-arrow::after {
-    content: '';
-    position: absolute;
-    top: 0;
-    left: 0;
-    right: 0;
-    bottom: 0;
-    z-index: 1;
-    background: linear-gradient(to right, #f7f8fb, rgba(247, 248, 251, 0))
-}
-
-#pipeline-overview .typeahead-component .tt-hint {
-    margin-left: 0
-}
-
-#pipeline-overview .typeahead-component .tt-suggestion.empty {
-    padding-left: 36px
-}
-
-#pipeline-overview .twitter-typeahead {
-    width: 100%
-}
-
-#pipeline-overview .twitter-typeahead::after {
-    content: '';
-    position: absolute;
-    bottom: -12px;
-    left: 0;
-    right: 0;
-    height: 12px
-}
-
-#pipeline-overview input.pipeline-app-search {
-    width: 100%
-}
-
-#pipeline-overview .stage-header {
-    min-height: 24px;
-    padding: 0 5px
-}
-
-#pipeline-overview .stage-header .dyno-tier-picker-item-size-name, #pipeline-overview .stage-header .panel-section .panel-title, #pipeline-overview .stage-header .review-stage-btn, #pipeline-overview .stage-header h4, .panel-section #pipeline-overview .stage-header .panel-title {
-    font-size: 11px;
-    font-weight: 700;
-    text-transform: uppercase;
-    color: #62738D
-}
-
-#pipeline-overview .stage-header .review-stage-btn {
-    background: 0 0;
-    padding: 0;
-    border: none
-}
-
-#pipeline-overview .stage-header .add-app {
-    background: 0 0 !important
-}
-
-#pipeline-overview .stage-header .add-app .icon {
-    -webkit-transition: all .1s ease;
-    -o-transition: all .1s ease;
-    transition: all .1s ease
-}
-
-#pipeline-overview .stage-header .add-app.adding .icon {
-    -webkit-transform: rotate(45deg);
-    -moz-transform: rotate(45deg);
-    -ms-transform: rotate(45deg);
-    -o-transform: rotate(45deg);
-    transform: rotate(45deg)
-}
-
-#pipeline-overview .stage-header .gravatar-icon, #pipeline-overview .stage-header .org-identicon-mini {
-    cursor: default
-}
-
-#pipeline-overview .stage-header .review-meta-info .loading {
-    display: block;
-    width: 100%;
-    text-align: center;
-    margin: 4px 0
-}
-
-#pipeline-overview .stage-header .review-meta-info.context-switcher__list, #pipeline-overview .stage-header .review-meta-info.drop-down__menu {
-    font-size: 12px;
-    white-space: nowrap
-}
-
-#pipeline-overview .stage-header .review-meta-info.context-switcher__list .divider, #pipeline-overview .stage-header .review-meta-info.drop-down__menu .divider {
-    margin: 5px 0
-}
-
-#pipeline-overview .stage-header .review-meta-info.context-switcher__list label, #pipeline-overview .stage-header .review-meta-info.drop-down__menu label {
-    display: block;
-    padding: 3px 16px 3px 10px
-}
-
-#pipeline-overview .stage-header .review-meta-info.context-switcher__list .toggle-auto-destroy-set-stale, #pipeline-overview .stage-header .review-meta-info.drop-down__menu .toggle-auto-destroy-set-stale {
-    padding: 0 16px 3px 36px
-}
-
-#pipeline-overview .stage-header .review-meta-info.context-switcher__list .toggle-auto-destroy-set-stale .panel-section .panel-details, #pipeline-overview .stage-header .review-meta-info.context-switcher__list .toggle-auto-destroy-set-stale small, #pipeline-overview .stage-header .review-meta-info.drop-down__menu .toggle-auto-destroy-set-stale .panel-section .panel-details, #pipeline-overview .stage-header .review-meta-info.drop-down__menu .toggle-auto-destroy-set-stale small, .panel-section #pipeline-overview .stage-header .review-meta-info.context-switcher__list .toggle-auto-destroy-set-stale .panel-details, .panel-section #pipeline-overview .stage-header .review-meta-info.drop-down__menu .toggle-auto-destroy-set-stale .panel-details {
-    color: #62738D;
-    font-size: 11px;
-    padding-top: 5px
-}
-
-#pipeline-overview .stage-header .review-meta-info.context-switcher__list .toggle-auto-destroy-set-stale .hk-select, #pipeline-overview .stage-header .review-meta-info.drop-down__menu .toggle-auto-destroy-set-stale .hk-select {
-    height: 28px
-}
-
-#pipeline-overview .stage-header .review-meta-info.context-switcher__list .btn, #pipeline-overview .stage-header .review-meta-info.context-switcher__list a, #pipeline-overview .stage-header .review-meta-info.drop-down__menu .btn, #pipeline-overview .stage-header .review-meta-info.drop-down__menu a {
-    font-size: 12px;
-    border-radius: 0;
-    padding-left: 12px;
-    padding-right: 16px
-}
-
-#pipeline-overview .stage-header .review-meta-info.context-switcher__list .btn:hover code, #pipeline-overview .stage-header .review-meta-info.context-switcher__list a:hover code, #pipeline-overview .stage-header .review-meta-info.drop-down__menu .btn:hover code, #pipeline-overview .stage-header .review-meta-info.drop-down__menu a:hover code {
-    text-decoration: underline
-}
-
-#pipeline-overview .stage-header .review-meta-info.context-switcher__list .icon, #pipeline-overview .stage-header .review-meta-info.drop-down__menu .icon {
-    position: relative;
-    margin: -1px 4px 0 2px
-}
-
-#pipeline-overview .stage-header .review-meta-info.context-switcher__list .form-control, #pipeline-overview .stage-header .review-meta-info.drop-down__menu .form-control {
-    position: relative;
-    display: inline;
-    width: 12px;
-    height: 12px;
-    margin: -1px 5px 0 6px
-}
-
-#pipeline-overview .app-list {
-    position: absolute;
-    top: 0;
-    bottom: 0;
-    left: 0;
-    right: 0;
-    overflow: auto
-}
-
-#pipeline-overview .app-list::-webkit-scrollbar {
-    width: 12px;
-    height: 12px
-}
-
-#pipeline-overview .app-list::-webkit-scrollbar-thumb {
-    width: 6px;
-    height: 6px;
-    border: 3px solid #F7F8FB;
-    border-radius: 10px;
-    background-clip: border-box;
-    box-shadow: inset 0 0 0 1px rgba(207, 215, 230, .5);
-    background: rgba(207, 215, 230, .5)
-}
-
-#pipeline-overview .app-list::-webkit-scrollbar-button {
-    width: 0;
-    height: 0;
-    display: none
-}
-
-#pipeline-overview .app-list .add-app-coupling {
-    margin: 4px 4px 0
-}
-
-#pipeline-overview ul {
-    list-style: none
-}
-
-#pipeline-overview ul li.empty {
-    margin: 5px 5px 0
-}
-
-#pipeline-overview ul li.empty.initial-state .panel-section .panel-details:last-child, #pipeline-overview ul li.empty.initial-state p:last-child, .panel-section #pipeline-overview ul li.empty.initial-state .panel-details:last-child {
-    margin-bottom: 0
-}
-
-#pipeline-overview ul li.empty.initial-state .icon {
-    margin: 4px auto 10px
-}
-
-#pipeline-overview ul.links, #pipeline-overview ul.links li {
-    margin: 0
-}
-
-#pipeline-overview .context-switcher__list .divider, #pipeline-overview .drop-down__menu .divider {
-    margin: 5px 0
-}
-
-#pipeline-overview .context-switcher__list .btn, #pipeline-overview .context-switcher__list a, #pipeline-overview .drop-down__menu .btn, #pipeline-overview .drop-down__menu a {
-    font-size: 13px;
-    border-radius: 0
-}
-
-#pipeline-overview .context-switcher__list .btn.disabled, #pipeline-overview .context-switcher__list a.disabled, #pipeline-overview .drop-down__menu .btn.disabled, #pipeline-overview .drop-down__menu a.disabled {
-    box-shadow: none !important
-}
-
-#pipeline-overview .context-switcher__list .btn.disabled .icon, #pipeline-overview .context-switcher__list a.disabled .icon, #pipeline-overview .drop-down__menu .btn.disabled .icon, #pipeline-overview .drop-down__menu a.disabled .icon {
-    opacity: .3
-}
-
-.modal-body .parent-app-picker {
-    padding: 10px 30px 8px
-}
-
-.modal-body .parent-app-picker label {
-    line-height: 16px
-}
-
-.modal-body .parent-app-picker label .panel-section .panel-details, .modal-body .parent-app-picker label small, .panel-section .modal-body .parent-app-picker label .panel-details {
-    padding: 2px 0 6px
-}
-
-.modal-body .disconnection-warnings .alert {
-    margin-bottom: 16px
-}
-
-.modal-body .github-features {
-    text-align: left;
-    padding: 18px 0 10px;
-    border-top: 1px solid #E3E7EF;
-    margin: 0 50px
-}
-
-.modal-body .github-features .dyno-tier-picker-item-size-name, .modal-body .github-features .panel-section .panel-title, .modal-body .github-features h4, .panel-section .modal-body .github-features .panel-title {
-    font-size: 14px;
-    font-weight: 400;
-    color: #56667D;
-    margin: 0;
-    padding-top: 10px
-}
-
-.modal-body .github-features .panel-section .panel-details, .modal-body .github-features p, .panel-section .modal-body .github-features .panel-details {
-    font-size: 13px;
-    color: #62738D
-}
-
-#review-app-setup {
-    padding: 0 50px
-}
-
-#review-app-setup form {
-    padding-bottom: 8px
-}
-
-#review-app-setup #auto-deploy-prs, #review-app-setup #auto-destroy-prs, #review-app-setup #review-app-space, #review-app-setup .enable-option {
-    padding: 0 0 12px
-}
-
-#review-app-setup #auto-deploy-prs .help-block, #review-app-setup #auto-destroy-prs .help-block, #review-app-setup #review-app-space .help-block, #review-app-setup .enable-option .help-block {
-    margin-top: 5px;
-    margin-bottom: 0
-}
-
-#review-app-setup #auto-deploy-prs label, #review-app-setup #auto-destroy-prs label, #review-app-setup #review-app-space label, #review-app-setup .enable-option label {
-    font-size: 13px;
-    font-weight: 400;
-    color: #56667D;
-    width: auto;
-    margin-bottom: 0
-}
-
-#review-app-setup #auto-deploy-prs .help-block .panel-section .panel-details, #review-app-setup #auto-deploy-prs .help-block small, #review-app-setup #auto-destroy-prs .help-block .panel-section .panel-details, #review-app-setup #auto-destroy-prs .help-block small, #review-app-setup #review-app-space .help-block .panel-section .panel-details, #review-app-setup #review-app-space .help-block small, #review-app-setup .enable-option .help-block .panel-section .panel-details, #review-app-setup .enable-option .help-block small, .panel-section #review-app-setup #auto-deploy-prs .help-block .panel-details, .panel-section #review-app-setup #auto-destroy-prs .help-block .panel-details, .panel-section #review-app-setup #review-app-space .help-block .panel-details, .panel-section #review-app-setup .enable-option .help-block .panel-details, .pipeline-app .pr-info .pr-meta {
-    font-size: 12px
-}
-
-#review-app-setup #auto-deploy-prs label input, #review-app-setup #auto-destroy-prs label input, #review-app-setup #review-app-space label input, #review-app-setup .enable-option label input {
-    margin-right: 4px
-}
-
-#review-app-setup #auto-destroy-prs, #review-app-setup #review-app-space {
-    border-top: 1px solid #E3E7EF;
-    padding-top: 12px
-}
-
-#review-app-setup #auto-destroy-prs .icon, #review-app-setup #review-app-space .icon {
-    margin-left: 2px;
-    margin-right: 2px;
-    margin-top: -1px
-}
-
-#review-app-setup .alert .icon {
-    margin-left: 2px;
-    margin-right: 2px;
-    margin-top: -2px
-}
-
-.review-apps .app-list {
-    padding-bottom: 0
-}
-
-.review-apps .load-more {
-    margin: 10px 5px 0
-}
-
-.pipeline-app {
-    position: relative;
-    border: none;
-    min-width: 290px;
-    background: 0 0 !important;
-    -webkit-transition: opacity ease .7s;
-    -o-transition: opacity ease .7s;
-    transition: opacity ease .7s
-}
-
-.pipeline-app:not(.app-suggestion):last-child {
-    margin-bottom: 0;
-    padding-bottom: 0
-}
-
-.pipeline-app.is-saving, .pipeline-app.is-updated {
-    opacity: .4
-}
-
-.pipeline-app .mismatched-pipeline-app {
-    border-color: #FA9F47
-}
-
-.pipeline-app .mismatched-pipeline-app .mismatched-ownership-warning {
-    margin: 10px -10px -10px
-}
-
-.pipeline-app .pipeline-app-header {
-    position: relative;
-    display: flex;
-    -webkit-box-align: center;
-    -moz-box-align: center;
-    box-align: center;
-    -webkit-align-items: center;
-    -moz-align-items: center;
-    -ms-align-items: center;
-    -o-align-items: center;
-    align-items: center;
-    -ms-flex-align: center
-}
-
-.pipeline-app .app-info, .pipeline-app .pr-info {
-    padding-right: 6px;
-    width: 1px;
-    -webkit-flex-grow: 1;
-    -moz-flex-grow: 1;
-    flex-grow: 1;
-    -ms-flex-positive: 1
-}
-
-.pipeline-app .app-name {
-    display: block;
-    padding: 0 2px;
-    white-space: nowrap;
-    overflow: hidden;
-    text-overflow: ellipsis
-}
-
-.pipeline-app .app-name a {
-    display: inline
-}
-
-.pipeline-app .app-name a:hover {
-    color: #79589F
-}
-
-.pipeline-app .pr-info {
-    display: block
-}
-
-.pipeline-app .badge {
-    color: #fff;
-    font-size: 10px;
-    padding: 3px 4px 2px;
-    margin: 0 2px;
-    transition: background ease .2s
-}
-
-.pipeline-app .badge.badge-failed {
-    background: #DE0A0A
-}
-
-.pipeline-app .badge.badge-success {
-    background: #008700
-}
-
-.pipeline-app .build-info, .pipeline-app .promotion-info, .pipeline-app .release-info {
-    position: relative;
-    display: flex;
-    -webkit-box-align: center;
-    -moz-box-align: center;
-    box-align: center;
-    -webkit-align-items: center;
-    -moz-align-items: center;
-    -ms-align-items: center;
-    -o-align-items: center;
-    align-items: center;
-    -ms-flex-align: center;
-    margin: 0 -10px -1px;
-    padding: 8px 10px 9px;
-    box-shadow: inset 0 1px 0 #E3E7EF, inset 0 -1px 0 #E3E7EF
-}
-
-.pipeline-app .build-info:last-child, .pipeline-app .promotion-info:last-child, .pipeline-app .release-info:last-child {
-    margin-bottom: -10px;
-    padding-bottom: 10px;
-    border-bottom-right-radius: 6px;
-    border-bottom-left-radius: 6px;
-    box-shadow: inset 0 1px 0 #E3E7EF
-}
-
-.pipeline-app .build-info .loading-spinner, .pipeline-app .promotion-info .loading-spinner, .pipeline-app .release-info .loading-spinner {
-    margin-top: 6px
-}
-
-.pipeline-app .build-info .loading-spinner + span, .pipeline-app .promotion-info .loading-spinner + span, .pipeline-app .release-info .loading-spinner + span {
-    padding-left: 4px
-}
-
-.pipeline-app .build-info span, .pipeline-app .promotion-info span, .pipeline-app .release-info span {
-    font-size: 12px;
-    color: #56667D
-}
-
-.pipeline-app .build-info span.build-status, .pipeline-app .build-info span.promotion-status, .pipeline-app .build-info span.release-status, .pipeline-app .promotion-info span.build-status, .pipeline-app .promotion-info span.promotion-status, .pipeline-app .promotion-info span.release-status, .pipeline-app .release-info span.build-status, .pipeline-app .release-info span.promotion-status, .pipeline-app .release-info span.release-status {
-    position: relative;
-    top: 2px;
-    display: inline-block
-}
-
-.pipeline-app .build-info span:first-letter, .pipeline-app .promotion-info span:first-letter, .pipeline-app .release-info span:first-letter {
-    text-transform: uppercase
-}
-
-#overview-page .formation-tier .panel-section .panel-details b, #overview-page .formation-tier p b, .panel-section #overview-page .formation-tier .panel-details b, .pipeline-app .build-info .promotion-failures:first-letter, .pipeline-app .build-info span .badge:first-letter, .pipeline-app .promotion-info .promotion-failures:first-letter, .pipeline-app .promotion-info span .badge:first-letter, .pipeline-app .release-info .promotion-failures:first-letter, .pipeline-app .release-info span .badge:first-letter {
-    text-transform: lowercase
-}
-
-.pipeline-app .build-info span .btn-link, .pipeline-app .promotion-info span .btn-link, .pipeline-app .release-info span .btn-link {
-    color: #79589F;
-    display: inline;
-    font-size: 12px;
-    text-decoration: underline
-}
-
-.pipeline-app .build-info span .badge, .pipeline-app .promotion-info span .badge, .pipeline-app .release-info span .badge {
-    font-size: 10px;
-    color: #fff
-}
-
-.pipeline-app .build-info code, .pipeline-app .promotion-info code, .pipeline-app .release-info code {
-    padding-bottom: 1px
-}
-
-.pipeline-app .build-info .promotion-failures, .pipeline-app .build-info .release-detail, .pipeline-app .promotion-info .promotion-failures, .pipeline-app .promotion-info .release-detail, .pipeline-app .release-info .promotion-failures, .pipeline-app .release-info .release-detail {
-    font-size: 11px;
-    display: block;
-    position: relative
-}
-
-.pipeline-app .build-info .promotion-failures code, .pipeline-app .build-info .release-detail code, .pipeline-app .promotion-info .promotion-failures code, .pipeline-app .promotion-info .release-detail code, .pipeline-app .release-info .promotion-failures code, .pipeline-app .release-info .release-detail code {
-    display: inline-block;
-    margin: 3px 2px 2px 0
-}
-
-.pipeline-app .build-info .release-detail-button, .pipeline-app .promotion-info .release-detail-button, .pipeline-app .release-info .release-detail-button {
-    position: relative;
-    margin-top: -1px;
-    padding: 0 6px 6px;
-    font-size: 13px;
-    line-height: 8px;
-    margin-left: 4px
-}
-
-.pipeline-app .build-info.build-failed, .pipeline-app .build-info.promotion-failed, .pipeline-app .build-info.release-failed, .pipeline-app .promotion-info.build-failed, .pipeline-app .promotion-info.promotion-failed, .pipeline-app .promotion-info.release-failed, .pipeline-app .release-info.build-failed, .pipeline-app .release-info.promotion-failed, .pipeline-app .release-info.release-failed {
-    background: #fdf6f6;
-    box-shadow: inset 0 1px 0 rgba(239, 179, 179, .6), inset 0 -1px 0 rgba(239, 179, 179, .6)
-}
-
-.pipeline-app .build-info.build-failed:last-child, .pipeline-app .build-info.promotion-failed:last-child, .pipeline-app .build-info.release-failed:last-child, .pipeline-app .promotion-info.build-failed:last-child, .pipeline-app .promotion-info.promotion-failed:last-child, .pipeline-app .promotion-info.release-failed:last-child, .pipeline-app .release-info.build-failed:last-child, .pipeline-app .release-info.promotion-failed:last-child, .pipeline-app .release-info.release-failed:last-child {
-    box-shadow: inset 0 1px 0 rgba(239, 179, 179, .6)
-}
-
-.panel-section .pipeline-app .build-info.build-failed .panel-details, .panel-section .pipeline-app .build-info.build-failed .panel-details .btn-link, .panel-section .pipeline-app .build-info.promotion-failed .panel-details, .panel-section .pipeline-app .build-info.promotion-failed .panel-details .btn-link, .panel-section .pipeline-app .build-info.release-failed .panel-details, .panel-section .pipeline-app .build-info.release-failed .panel-details .btn-link, .panel-section .pipeline-app .promotion-info.build-failed .panel-details, .panel-section .pipeline-app .promotion-info.build-failed .panel-details .btn-link, .panel-section .pipeline-app .promotion-info.promotion-failed .panel-details, .panel-section .pipeline-app .promotion-info.promotion-failed .panel-details .btn-link, .panel-section .pipeline-app .promotion-info.release-failed .panel-details, .panel-section .pipeline-app .promotion-info.release-failed .panel-details .btn-link, .panel-section .pipeline-app .release-info.build-failed .panel-details, .panel-section .pipeline-app .release-info.build-failed .panel-details .btn-link, .panel-section .pipeline-app .release-info.promotion-failed .panel-details, .panel-section .pipeline-app .release-info.promotion-failed .panel-details .btn-link, .panel-section .pipeline-app .release-info.release-failed .panel-details, .panel-section .pipeline-app .release-info.release-failed .panel-details .btn-link, .pipeline-app .build-info.build-failed .panel-section .panel-details, .pipeline-app .build-info.build-failed .panel-section .panel-details .btn-link, .pipeline-app .build-info.build-failed small, .pipeline-app .build-info.build-failed small .btn-link, .pipeline-app .build-info.build-failed span, .pipeline-app .build-info.build-failed span .btn-link, .pipeline-app .build-info.promotion-failed .panel-section .panel-details, .pipeline-app .build-info.promotion-failed .panel-section .panel-details .btn-link, .pipeline-app .build-info.promotion-failed small, .pipeline-app .build-info.promotion-failed small .btn-link, .pipeline-app .build-info.promotion-failed span, .pipeline-app .build-info.promotion-failed span .btn-link, .pipeline-app .build-info.release-failed .panel-section .panel-details, .pipeline-app .build-info.release-failed .panel-section .panel-details .btn-link, .pipeline-app .build-info.release-failed small, .pipeline-app .build-info.release-failed small .btn-link, .pipeline-app .build-info.release-failed span, .pipeline-app .build-info.release-failed span .btn-link, .pipeline-app .promotion-info.build-failed .panel-section .panel-details, .pipeline-app .promotion-info.build-failed .panel-section .panel-details .btn-link, .pipeline-app .promotion-info.build-failed small, .pipeline-app .promotion-info.build-failed small .btn-link, .pipeline-app .promotion-info.build-failed span, .pipeline-app .promotion-info.build-failed span .btn-link, .pipeline-app .promotion-info.promotion-failed .panel-section .panel-details, .pipeline-app .promotion-info.promotion-failed .panel-section .panel-details .btn-link, .pipeline-app .promotion-info.promotion-failed small, .pipeline-app .promotion-info.promotion-failed small .btn-link, .pipeline-app .promotion-info.promotion-failed span, .pipeline-app .promotion-info.promotion-failed span .btn-link, .pipeline-app .promotion-info.release-failed .panel-section .panel-details, .pipeline-app .promotion-info.release-failed .panel-section .panel-details .btn-link, .pipeline-app .promotion-info.release-failed small, .pipeline-app .promotion-info.release-failed small .btn-link, .pipeline-app .promotion-info.release-failed span, .pipeline-app .promotion-info.release-failed span .btn-link, .pipeline-app .release-info.build-failed .panel-section .panel-details, .pipeline-app .release-info.build-failed .panel-section .panel-details .btn-link, .pipeline-app .release-info.build-failed small, .pipeline-app .release-info.build-failed small .btn-link, .pipeline-app .release-info.build-failed span, .pipeline-app .release-info.build-failed span .btn-link, .pipeline-app .release-info.promotion-failed .panel-section .panel-details, .pipeline-app .release-info.promotion-failed .panel-section .panel-details .btn-link, .pipeline-app .release-info.promotion-failed small, .pipeline-app .release-info.promotion-failed small .btn-link, .pipeline-app .release-info.promotion-failed span, .pipeline-app .release-info.promotion-failed span .btn-link, .pipeline-app .release-info.release-failed .panel-section .panel-details, .pipeline-app .release-info.release-failed .panel-section .panel-details .btn-link, .pipeline-app .release-info.release-failed small, .pipeline-app .release-info.release-failed small .btn-link, .pipeline-app .release-info.release-failed span, .pipeline-app .release-info.release-failed span .btn-link {
-    color: #DE0A0A
-}
-
-.panel-section .pipeline-app .build-info.build-failed .panel-details code, .panel-section .pipeline-app .build-info.promotion-failed .panel-details code, .panel-section .pipeline-app .build-info.release-failed .panel-details code, .panel-section .pipeline-app .promotion-info.build-failed .panel-details code, .panel-section .pipeline-app .promotion-info.promotion-failed .panel-details code, .panel-section .pipeline-app .promotion-info.release-failed .panel-details code, .panel-section .pipeline-app .release-info.build-failed .panel-details code, .panel-section .pipeline-app .release-info.promotion-failed .panel-details code, .panel-section .pipeline-app .release-info.release-failed .panel-details code, .pipeline-app .build-info.build-failed .panel-section .panel-details code, .pipeline-app .build-info.build-failed small code, .pipeline-app .build-info.build-failed span code, .pipeline-app .build-info.promotion-failed .panel-section .panel-details code, .pipeline-app .build-info.promotion-failed small code, .pipeline-app .build-info.promotion-failed span code, .pipeline-app .build-info.release-failed .panel-section .panel-details code, .pipeline-app .build-info.release-failed small code, .pipeline-app .build-info.release-failed span code, .pipeline-app .promotion-info.build-failed .panel-section .panel-details code, .pipeline-app .promotion-info.build-failed small code, .pipeline-app .promotion-info.build-failed span code, .pipeline-app .promotion-info.promotion-failed .panel-section .panel-details code, .pipeline-app .promotion-info.promotion-failed small code, .pipeline-app .promotion-info.promotion-failed span code, .pipeline-app .promotion-info.release-failed .panel-section .panel-details code, .pipeline-app .promotion-info.release-failed small code, .pipeline-app .promotion-info.release-failed span code, .pipeline-app .release-info.build-failed .panel-section .panel-details code, .pipeline-app .release-info.build-failed small code, .pipeline-app .release-info.build-failed span code, .pipeline-app .release-info.promotion-failed .panel-section .panel-details code, .pipeline-app .release-info.promotion-failed small code, .pipeline-app .release-info.promotion-failed span code, .pipeline-app .release-info.release-failed .panel-section .panel-details code, .pipeline-app .release-info.release-failed small code, .pipeline-app .release-info.release-failed span code {
-    color: #DE0A0A;
-    background: rgba(222, 10, 10, .1);
-    box-shadow: inset 0 0 0 1px rgba(222, 10, 10, .4)
-}
-
-.panel-section .pipeline-app .build-info.build-failed .panel-details .badge, .panel-section .pipeline-app .build-info.promotion-failed .panel-details .badge, .panel-section .pipeline-app .build-info.release-failed .panel-details .badge, .panel-section .pipeline-app .promotion-info.build-failed .panel-details .badge, .panel-section .pipeline-app .promotion-info.promotion-failed .panel-details .badge, .panel-section .pipeline-app .promotion-info.release-failed .panel-details .badge, .panel-section .pipeline-app .release-info.build-failed .panel-details .badge, .panel-section .pipeline-app .release-info.promotion-failed .panel-details .badge, .panel-section .pipeline-app .release-info.release-failed .panel-details .badge, .pipeline-app .build-info.build-failed .panel-section .panel-details .badge, .pipeline-app .build-info.build-failed small .badge, .pipeline-app .build-info.build-failed span .badge, .pipeline-app .build-info.promotion-failed .panel-section .panel-details .badge, .pipeline-app .build-info.promotion-failed small .badge, .pipeline-app .build-info.promotion-failed span .badge, .pipeline-app .build-info.release-failed .panel-section .panel-details .badge, .pipeline-app .build-info.release-failed small .badge, .pipeline-app .build-info.release-failed span .badge, .pipeline-app .promotion-info.build-failed .panel-section .panel-details .badge, .pipeline-app .promotion-info.build-failed small .badge, .pipeline-app .promotion-info.build-failed span .badge, .pipeline-app .promotion-info.promotion-failed .panel-section .panel-details .badge, .pipeline-app .promotion-info.promotion-failed small .badge, .pipeline-app .promotion-info.promotion-failed span .badge, .pipeline-app .promotion-info.release-failed .panel-section .panel-details .badge, .pipeline-app .promotion-info.release-failed small .badge, .pipeline-app .promotion-info.release-failed span .badge, .pipeline-app .release-info.build-failed .panel-section .panel-details .badge, .pipeline-app .release-info.build-failed small .badge, .pipeline-app .release-info.build-failed span .badge, .pipeline-app .release-info.promotion-failed .panel-section .panel-details .badge, .pipeline-app .release-info.promotion-failed small .badge, .pipeline-app .release-info.promotion-failed span .badge, .pipeline-app .release-info.release-failed .panel-section .panel-details .badge, .pipeline-app .release-info.release-failed small .badge, .pipeline-app .release-info.release-failed span .badge {
-    color: #fff
-}
-
-.pipeline-app .build-info.promotion-succeeded, .pipeline-app .build-info.release-succeeded, .pipeline-app .promotion-info.promotion-succeeded, .pipeline-app .promotion-info.release-succeeded, .pipeline-app .release-info.promotion-succeeded, .pipeline-app .release-info.release-succeeded {
-    background: #f8fcf9;
-    box-shadow: inset 0 1px 0 rgba(199, 230, 204, .6), inset 0 -1px 0 rgba(199, 230, 204, .6)
-}
-
-.pipeline-app .build-info.promotion-succeeded:last-child, .pipeline-app .build-info.release-succeeded:last-child, .pipeline-app .promotion-info.promotion-succeeded:last-child, .pipeline-app .promotion-info.release-succeeded:last-child, .pipeline-app .release-info.promotion-succeeded:last-child, .pipeline-app .release-info.release-succeeded:last-child {
-    box-shadow: inset 0 1px 0 rgba(199, 230, 204, .6)
-}
-
-.panel-section .pipeline-app .build-info.promotion-succeeded .panel-details, .panel-section .pipeline-app .build-info.promotion-succeeded .panel-details .btn-link, .panel-section .pipeline-app .build-info.release-succeeded .panel-details, .panel-section .pipeline-app .build-info.release-succeeded .panel-details .btn-link, .panel-section .pipeline-app .promotion-info.promotion-succeeded .panel-details, .panel-section .pipeline-app .promotion-info.promotion-succeeded .panel-details .btn-link, .panel-section .pipeline-app .promotion-info.release-succeeded .panel-details, .panel-section .pipeline-app .promotion-info.release-succeeded .panel-details .btn-link, .panel-section .pipeline-app .release-info.promotion-succeeded .panel-details, .panel-section .pipeline-app .release-info.promotion-succeeded .panel-details .btn-link, .panel-section .pipeline-app .release-info.release-succeeded .panel-details, .panel-section .pipeline-app .release-info.release-succeeded .panel-details .btn-link, .pipeline-app .build-info.promotion-succeeded .panel-section .panel-details, .pipeline-app .build-info.promotion-succeeded .panel-section .panel-details .btn-link, .pipeline-app .build-info.promotion-succeeded small, .pipeline-app .build-info.promotion-succeeded small .btn-link, .pipeline-app .build-info.promotion-succeeded span, .pipeline-app .build-info.promotion-succeeded span .btn-link, .pipeline-app .build-info.release-succeeded .panel-section .panel-details, .pipeline-app .build-info.release-succeeded .panel-section .panel-details .btn-link, .pipeline-app .build-info.release-succeeded small, .pipeline-app .build-info.release-succeeded small .btn-link, .pipeline-app .build-info.release-succeeded span, .pipeline-app .build-info.release-succeeded span .btn-link, .pipeline-app .promotion-info.promotion-succeeded .panel-section .panel-details, .pipeline-app .promotion-info.promotion-succeeded .panel-section .panel-details .btn-link, .pipeline-app .promotion-info.promotion-succeeded small, .pipeline-app .promotion-info.promotion-succeeded small .btn-link, .pipeline-app .promotion-info.promotion-succeeded span, .pipeline-app .promotion-info.promotion-succeeded span .btn-link, .pipeline-app .promotion-info.release-succeeded .panel-section .panel-details, .pipeline-app .promotion-info.release-succeeded .panel-section .panel-details .btn-link, .pipeline-app .promotion-info.release-succeeded small, .pipeline-app .promotion-info.release-succeeded small .btn-link, .pipeline-app .promotion-info.release-succeeded span, .pipeline-app .promotion-info.release-succeeded span .btn-link, .pipeline-app .release-info.promotion-succeeded .panel-section .panel-details, .pipeline-app .release-info.promotion-succeeded .panel-section .panel-details .btn-link, .pipeline-app .release-info.promotion-succeeded small, .pipeline-app .release-info.promotion-succeeded small .btn-link, .pipeline-app .release-info.promotion-succeeded span, .pipeline-app .release-info.promotion-succeeded span .btn-link, .pipeline-app .release-info.release-succeeded .panel-section .panel-details, .pipeline-app .release-info.release-succeeded .panel-section .panel-details .btn-link, .pipeline-app .release-info.release-succeeded small, .pipeline-app .release-info.release-succeeded small .btn-link, .pipeline-app .release-info.release-succeeded span, .pipeline-app .release-info.release-succeeded span .btn-link {
-    color: #008700
-}
-
-.panel-section .pipeline-app .build-info.promotion-succeeded .panel-details code, .panel-section .pipeline-app .build-info.release-succeeded .panel-details code, .panel-section .pipeline-app .promotion-info.promotion-succeeded .panel-details code, .panel-section .pipeline-app .promotion-info.release-succeeded .panel-details code, .panel-section .pipeline-app .release-info.promotion-succeeded .panel-details code, .panel-section .pipeline-app .release-info.release-succeeded .panel-details code, .pipeline-app .build-info.promotion-succeeded .panel-section .panel-details code, .pipeline-app .build-info.promotion-succeeded small code, .pipeline-app .build-info.promotion-succeeded span code, .pipeline-app .build-info.release-succeeded .panel-section .panel-details code, .pipeline-app .build-info.release-succeeded small code, .pipeline-app .build-info.release-succeeded span code, .pipeline-app .promotion-info.promotion-succeeded .panel-section .panel-details code, .pipeline-app .promotion-info.promotion-succeeded small code, .pipeline-app .promotion-info.promotion-succeeded span code, .pipeline-app .promotion-info.release-succeeded .panel-section .panel-details code, .pipeline-app .promotion-info.release-succeeded small code, .pipeline-app .promotion-info.release-succeeded span code, .pipeline-app .release-info.promotion-succeeded .panel-section .panel-details code, .pipeline-app .release-info.promotion-succeeded small code, .pipeline-app .release-info.promotion-succeeded span code, .pipeline-app .release-info.release-succeeded .panel-section .panel-details code, .pipeline-app .release-info.release-succeeded small code, .pipeline-app .release-info.release-succeeded span code {
-    color: #008700;
-    background: rgba(0, 135, 0, .1);
-    box-shadow: inset 0 0 0 1px rgba(0, 135, 0, .4)
-}
-
-.panel-section .pipeline-app .build-info.promotion-succeeded .panel-details .badge, .panel-section .pipeline-app .build-info.release-succeeded .panel-details .badge, .panel-section .pipeline-app .promotion-info.promotion-succeeded .panel-details .badge, .panel-section .pipeline-app .promotion-info.release-succeeded .panel-details .badge, .panel-section .pipeline-app .release-info.promotion-succeeded .panel-details .badge, .panel-section .pipeline-app .release-info.release-succeeded .panel-details .badge, .pipeline-app .build-info.promotion-succeeded .panel-section .panel-details .badge, .pipeline-app .build-info.promotion-succeeded small .badge, .pipeline-app .build-info.promotion-succeeded span .badge, .pipeline-app .build-info.release-succeeded .panel-section .panel-details .badge, .pipeline-app .build-info.release-succeeded small .badge, .pipeline-app .build-info.release-succeeded span .badge, .pipeline-app .promotion-info.promotion-succeeded .panel-section .panel-details .badge, .pipeline-app .promotion-info.promotion-succeeded small .badge, .pipeline-app .promotion-info.promotion-succeeded span .badge, .pipeline-app .promotion-info.release-succeeded .panel-section .panel-details .badge, .pipeline-app .promotion-info.release-succeeded small .badge, .pipeline-app .promotion-info.release-succeeded span .badge, .pipeline-app .release-info.promotion-succeeded .panel-section .panel-details .badge, .pipeline-app .release-info.promotion-succeeded small .badge, .pipeline-app .release-info.promotion-succeeded span .badge, .pipeline-app .release-info.release-succeeded .panel-section .panel-details .badge, .pipeline-app .release-info.release-succeeded small .badge, .pipeline-app .release-info.release-succeeded span .badge {
-    color: #fff
-}
-
-.pipeline-app .auto-deploy, .pipeline-app .commit-sha {
-    height: 18px;
-    line-height: 11px
-}
-
-.pipeline-app .auto-deploy .ci-status-component, .pipeline-app .commit-sha .ci-status-component {
-    height: 18px
-}
-
-.pipeline-app .auto-deploy .ci-status-component .btn-group, .pipeline-app .commit-sha .ci-status-component .btn-group {
-    line-height: 0;
-    height: 18px;
-    display: block
-}
-
-.pipeline-app .auto-deploy .ci-status-component .drop-down__toggle, .pipeline-app .commit-sha .ci-status-component .drop-down__toggle {
-    position: relative;
-    padding: 2px 2px 2px 0;
-    border: 1px solid transparent;
-    border-radius: 4px
-}
-
-.pipeline-app .auto-deploy .ci-status-component .drop-down__toggle:hover, .pipeline-app .commit-sha .ci-status-component .drop-down__toggle:hover {
-    background-color: #E3E7EF;
-    border-color: #CFD7E6;
-    padding-left: 2px
-}
-
-.pipeline-app .commit-sha {
-    max-width: 80px
-}
-
-.pipeline-app .btn-remove {
-    border-radius: 50%;
-    border: none;
-    right: -7px;
-    top: -7px;
-    width: 22px;
-    height: 22px;
-    padding: 0;
-    box-shadow: 0 0 0 1px #CFD7E6, 0 2px 1px rgba(207, 215, 230, .4)
-}
-
-.pipeline-app .btn-remove:active {
-    background: #f1f3f7
-}
-
-.pipeline-app.pr-app .app-icon, .pipeline-app.pr-app-pending .app-icon {
-    width: 21px
-}
-
-.pipeline-app.pr-app .app-name, .pipeline-app.pr-app-pending .app-name {
-    font-size: 13px
-}
-
-.pipeline-app.pr-app .app-pr-meta, .pipeline-app.pr-app-pending .app-pr-meta {
-    color: #56667D
-}
-
-.pipeline-app.pr-app .github-avatar, .pipeline-app.pr-app-pending .github-avatar {
-    position: absolute;
-    top: 1px;
-    right: 0;
-    opacity: .8
-}
-
-.pipeline-app.app-suggestion .box, .pipeline-app.pr-app-pending .box {
-    background: rgba(255, 255, 255, .4);
-    border: 1px dashed rgba(86, 102, 125, .2);
-    box-shadow: none
-}
-
-.pipeline-app.app-suggestion .box .btn:not(:hover), .pipeline-app.pr-app-pending .box .btn:not(:hover), .pipeline-dropdown .dropdown-menu-scroll > li .btn-link:hover, .pipeline-dropdown .dropdown-menu-scroll > li > a.active:hover, .pipeline-dropdown > li .btn-link:hover, .pipeline-dropdown > li > a.active:hover {
-    background: 0 0
-}
-
-.pipeline-app.app-suggestion .box .build-info, .pipeline-app.pr-app-pending .box .build-info {
-    margin-top: 20px
-}
-
-.pipeline-app.app-suggestion .box {
-    display: box;
-    display: -webkit-flex;
-    display: -moz-flex;
-    display: -ms-flexbox;
-    display: flex;
-    -webkit-box-orient: horizontal;
-    -moz-box-orient: horizontal;
-    box-orient: horizontal;
-    -webkit-box-direction: normal;
-    -moz-box-direction: normal;
-    box-direction: normal;
-    -webkit-flex-direction: row;
-    -moz-flex-direction: row;
-    flex-direction: row;
-    -ms-flex-direction: row;
-    -webkit-box-align: center;
-    -moz-box-align: center;
-    box-align: center;
-    -webkit-align-items: center;
-    -moz-align-items: center;
-    -ms-align-items: center;
-    -o-align-items: center;
-    align-items: center;
-    -ms-flex-align: center;
-    width: 100%
-}
-
-.pipeline-app.app-suggestion .app-info {
-    -webkit-box-flex: 1;
-    -moz-box-flex: 1;
-    box-flex: 1;
-    -webkit-flex: 1;
-    -moz-flex: 1;
-    -ms-flex: 1;
-    flex: 1
-}
-
-.manage-pipeline-app {
-    position: relative;
-    right: 0;
-    -webkit-flex-shrink: 0;
-    -moz-flex-shrink: 0;
-    flex-shrink: 0;
-    -ms-flex-negative: 0
-}
-
-.manage-pipeline-app .btn-group {
-    margin-left: 0
-}
-
-.manage-pipeline-app .drop-down__toggle {
-    display: flex;
-    align-items: center;
-    padding: 0 4px;
-    height: 20px
-}
-
-.manage-pipeline-app .drop-down__toggle .icon {
-    margin: 0 !important
-}
-
-.pipeline-dropdown {
-    top: 100%;
-    margin-top: 1px;
-    max-width: 300px;
-    transform: translate3d(0, 0, 0)
-}
-
-.pipeline-dropdown .dropdown-menu-scroll {
-    max-height: 320px
-}
-
-.pipeline-dropdown .dropdown-menu-scroll > li, .pipeline-dropdown > li {
-    font-size: 13px
-}
-
-.pipeline-dropdown .dropdown-menu-scroll > li .icon, .pipeline-dropdown > li .icon {
-    position: relative;
-    margin-top: -2px;
-    margin-left: 0;
-    margin-right: 4px
-}
-
-.pipeline-dropdown .dropdown-menu-scroll > li .icon.icon-space-mini, .pipeline-dropdown > li .icon.icon-space-mini {
-    margin-top: 1px;
-    top: -1px
-}
-
-.pipeline-dropdown .dropdown-menu-scroll > li.dropdown-heading, .pipeline-dropdown > li.dropdown-heading {
-    color: #62738D;
-    padding: 8px 16px 0;
-    margin: 6px 0 2px;
-    border-top: 1px solid #E3E7EF
-}
-
-.pipeline-dropdown .dropdown-menu-scroll > li.dropdown-heading:first-of-type, .pipeline-dropdown > li.dropdown-heading:first-of-type {
-    margin-top: 0;
-    padding-top: 2px;
-    border: none
-}
-
-.pipeline-dropdown .dropdown-menu-scroll > li.dropdown-heading.loading, .pipeline-dropdown > li.dropdown-heading.loading {
-    padding-top: 10px
-}
-
-.pipeline-dropdown .dropdown-menu-scroll > li .btn-link, .pipeline-dropdown .dropdown-menu-scroll > li h6, .pipeline-dropdown > li .btn-link, .pipeline-dropdown > li .dropdown-menu-scroll > li .btn-link, .pipeline-dropdown > li h6 {
-    font-size: 11px;
-    font-weight: 700;
-    color: #62738D;
-    margin: 0;
-    padding: 2px 0;
-    pointer-events: none
-}
-
-.pipeline-dropdown .dropdown-menu-scroll > li .btn-link, .pipeline-dropdown > li .btn-link {
-    padding: 2px 0;
-    border: none;
-    pointer-events: auto
-}
-
-.pipeline-dropdown .dropdown-menu-scroll > li .btn-link .icon, .pipeline-dropdown > li .btn-link .icon {
-    position: relative;
-    margin-left: 4px;
-    margin-top: -2px;
-    transition: ease .1s
-}
-
-.pipeline-dropdown .dropdown-menu-scroll > li .btn-link .icon.icon-space-mini, .pipeline-dropdown > li .btn-link .icon.icon-space-mini {
-    margin-top: 1px
-}
-
-.pipeline-dropdown .dropdown-menu-scroll > li .btn-link .icon.icon-toggle, .pipeline-dropdown > li .btn-link .icon.icon-toggle {
-    margin-left: 0;
-    margin-right: 2px;
-    transform: rotate(-90deg)
-}
-
-.pipeline-dropdown .dropdown-menu-scroll > li .btn-link .icon.icon-toggle.opened, .pipeline-dropdown > li .btn-link .icon.icon-toggle.opened {
-    transform: rotate(0)
-}
-
-.pipeline-dropdown .dropdown-menu-scroll > li > a, .pipeline-dropdown > li > a {
-    padding: 3px 16px;
-    color: #56667D !important
-}
-
-.pipeline-dropdown .dropdown-menu-scroll > li > a:hover, .pipeline-dropdown > li > a:hover {
-    color: #475366 !important
-}
-
-.pipeline-dropdown .dropdown-menu-scroll > li > a.active, .pipeline-dropdown > li > a.active {
-    color: #79589F !important
-}
-
-.pipeline-dropdown .dropdown-menu-scroll > li.dropdown-header, .pipeline-dropdown > li.dropdown-header {
-    position: relative;
-    z-index: 1;
-    margin: -5px 0 5px;
-    padding: 0;
-    box-shadow: 0 1px 0 rgba(0, 0, 0, .1);
-    background-color: rgba(227, 231, 239, 0);
-    background-image: -webkit-linear-gradient(rgba(227, 231, 239, 0), rgba(227, 231, 239, .3));
-    background-image: linear-gradient(rgba(227, 231, 239, 0), rgba(227, 231, 239, .3));
-    border-top-right-radius: 3px;
-    border-top-left-radius: 3px
-}
-
-.pipeline-dropdown .dropdown-menu-scroll > li.dropdown-header > a, .pipeline-dropdown > li.dropdown-header > a {
-    background: 0 0;
-    color: #79589F;
-    padding-top: 10px;
-    padding-bottom: 10px
-}
-
-.pipeline-dropdown .dropdown-menu-scroll > li.dropdown-header > a .icon, .pipeline-dropdown > li.dropdown-header > a .icon {
-    margin-left: 0
-}
-
-.pipeline-dropdown-button, .pipeline-dropdown-button:focus {
-    text-decoration: none
-}
-
-.deploy-ui, .promotion-ui {
-    position: relative;
-    margin: -16px -15px;
-    text-align: center
-}
-
-.deploy-ui .well, .promotion-ui .well {
-    border-radius: 0;
-    margin: 0;
-    padding: 20px 40px;
-    text-align: left
-}
-
-.deploy-ui .well .dyno-tier-picker-item-size-name, .deploy-ui .well .panel-section .panel-title, .deploy-ui .well h4, .panel-section .deploy-ui .well .panel-title, .panel-section .promotion-ui .well .panel-title, .promotion-ui .well .dyno-tier-picker-item-size-name, .promotion-ui .well .panel-section .panel-title, .promotion-ui .well h4 {
-    font-size: 11px;
-    font-weight: 700;
-    text-transform: uppercase;
-    color: #62738D
-}
-
-.deploy-ui .well ul, .promotion-ui .well ul {
-    list-style: none
-}
-
-.deploy-ui .well .form-control, .promotion-ui .well .form-control {
-    background-color: #fff;
-    margin-top: 20px
-}
-
-.deploy-ui .branch-selection {
-    margin: 0 !important
-}
-
-.deploy-ui .branch-selection .form-control {
-    margin-top: 0;
-    width: 100%
-}
-
-.auto-deploy-modal .modal-title .icon {
-    margin: -2px 1px 0 3px
-}
-
-.auto-deploy-modal .modal-intro .title .icon {
-    position: relative;
-    margin-bottom: 0;
-    margin-right: 2px;
-    top: -1px
-}
-
-.auto-deploy-modal .form-group {
-    padding: 10px 10px 0;
-    margin-bottom: 10px;
-    text-align: left
-}
-
-.auto-deploy-modal .form-group label {
-    font-size: 12px;
-    color: #62738D;
-    font-weight: 700;
-    padding-bottom: 4px
-}
-
-.auto-deploy-modal .branch-selection select {
-    display: block;
-    width: 100%
-}
-
-.auto-deploy-modal .disable-auto-deploys {
-    border-top: 1px solid #E3E7EF;
-    text-align: center;
-    margin: 5px auto 0;
-    width: 95%;
-    padding-top: 24px
-}
-
-.ra-enable-header {
-    background: linear-gradient(0deg, rgba(255, 255, 255, 0), #fff), linear-gradient(90deg, rgba(66, 174, 203, .15), rgba(157, 113, 208, .15))
-}
-
-.ra-enable-banner-header {
-    background: linear-gradient(rgba(157, 113, 208, .15), rgba(66, 174, 203, .15))
-}
-
-.ra-confirmation-gradient {
-    background: linear-gradient(135deg, rgba(157, 113, 208, .15), rgba(66, 174, 203, .15))
-}
-
-.review-app-errored .review-app-error {
-    border: 1px dashed #E3E7EF
-}
-
-.pipeline-access-table.pipeline-collaborator-access-table tr td:last-child, .pipeline-access-table.pipeline-collaborator-access-table tr th:last-child {
-    width: 138px
-}
-
-.pipeline-access-table.team-admin-access-table tr td:last-child, .pipeline-access-table.team-admin-access-table tr th:last-child {
-    padding-right: calc(138px + 28px)
-}
-
-.ci-panel {
-    position: relative;
-    display: flex;
-    -webkit-box-flex: 1;
-    -moz-box-flex: 1;
-    box-flex: 1;
-    -webkit-flex: 1;
-    -moz-flex: 1;
-    -ms-flex: 1;
-    flex: 1;
-    -webkit-box-align: stretch;
-    -moz-box-align: stretch;
-    box-align: stretch;
-    -webkit-align-items: stretch;
-    -moz-align-items: stretch;
-    -ms-align-items: stretch;
-    -o-align-items: stretch;
-    align-items: stretch;
-    -ms-flex-align: stretch;
-    background: #fff
-}
-
-@media (max-width: 767px) {
-    .ci-panel {
-        -webkit-box-orient: vertical;
-        -moz-box-orient: vertical;
-        box-orient: vertical;
-        -webkit-box-direction: normal;
-        -moz-box-direction: normal;
-        box-direction: normal;
-        -webkit-flex-direction: column;
-        -moz-flex-direction: column;
-        flex-direction: column;
-        -ms-flex-direction: column
-    }
-}
-
-.ci-panel .pipeline-dropdown .dropdown-menu-scroll > li .btn-link, .ci-panel .pipeline-dropdown > li .btn-link, .ci-panel h6, .pipeline-dropdown .dropdown-menu-scroll > li .ci-panel .btn-link, .pipeline-dropdown > li .ci-panel .btn-link {
-    font-size: 10px;
-    font-weight: 700;
-    margin: 0;
-    padding: 0
-}
-
-.ci-placeholder, .ci-setup {
-    display: flex;
-    -webkit-box-flex: 1;
-    -moz-box-flex: 1;
-    box-flex: 1;
-    -webkit-flex: 1;
-    -moz-flex: 1;
-    -ms-flex: 1;
-    flex: 1;
-    -webkit-flex-shrink: 0;
-    -moz-flex-shrink: 0;
-    flex-shrink: 0;
-    -ms-flex-negative: 0;
-    -webkit-box-align: center;
-    -moz-box-align: center;
-    box-align: center;
-    -webkit-align-items: center;
-    -moz-align-items: center;
-    -ms-align-items: center;
-    -o-align-items: center;
-    align-items: center;
-    -ms-flex-align: center;
-    padding: 40px 0;
-    background: #EEF1F6
-}
-
-.ci-menu, .ci-menu .empty-state {
-    -webkit-flex-direction: column;
-    -moz-box-orient: vertical;
-    -moz-box-direction: normal
-}
-
-.ci-placeholder {
-    background: #fff
-}
-
-.ci-index #tests-setup {
-    position: relative;
-    margin: 30px auto;
-    max-width: 680px;
-    z-index: 1
-}
-
-.ci-index #tests-setup .dyno-tier-picker-item-size-name, .ci-index #tests-setup .panel-section .panel-title, .ci-index #tests-setup .title, .ci-index #tests-setup h4, .panel-section .ci-index #tests-setup .panel-title {
-    font-size: 15px;
-    font-weight: 400;
-    color: #475366
-}
-
-.ci-index #tests-setup .dyno-tier-picker-item-size-name .icon, .ci-index #tests-setup .panel-section .panel-title .icon, .ci-index #tests-setup .title .icon, .ci-index #tests-setup h4 .icon, .panel-section .ci-index #tests-setup .panel-title .icon {
-    position: relative;
-    margin: -1px 4px 0 2px
-}
-
-.ci-index #tests-setup .dyno-tier-picker-item-size-name .panel-section .panel-details, .ci-index #tests-setup .dyno-tier-picker-item-size-name small, .ci-index #tests-setup .panel-section .panel-title .panel-details, .ci-index #tests-setup .panel-section .panel-title small, .ci-index #tests-setup .title .panel-section .panel-details, .ci-index #tests-setup .title small, .ci-index #tests-setup h4 .panel-section .panel-details, .ci-index #tests-setup h4 small, .panel-section .ci-index #tests-setup .dyno-tier-picker-item-size-name .panel-details, .panel-section .ci-index #tests-setup .panel-title .panel-details, .panel-section .ci-index #tests-setup .panel-title small, .panel-section .ci-index #tests-setup .title .panel-details, .panel-section .ci-index #tests-setup h4 .panel-details {
-    font-size: 12px;
-    padding-left: 6px
-}
-
-.ci-index #tests-setup .panel-section .panel-details, .ci-index #tests-setup p, .panel-section .ci-index #tests-setup .panel-details {
-    color: #56667D;
-    font-size: 13px
-}
-
-.ci-index #tests-setup .setup-step {
-    position: relative;
-    margin-top: 20px;
-    padding: 20px 30px 10px 120px;
-    border-top: 1px solid #E3E7EF;
-    text-align: left
-}
-
-.ci-index #tests-setup .setup-step > .icon {
-    position: absolute;
-    top: 30px;
-    left: 66px
-}
-
-.ci-index #tests-setup .setup-step .pipeline-ci-toggle .ci-billing-options, .ci-index #tests-setup .setup-step .pipeline-ci-toggle .panel-section .panel-details, .ci-index #tests-setup .setup-step .pipeline-ci-toggle p, .panel-section .ci-index #tests-setup .setup-step .pipeline-ci-toggle .panel-details {
-    margin-bottom: 14px
-}
-
-.ci-index #tests-setup .setup-step .alert {
-    margin: 20px 0 10px
-}
-
-.ci-index #tests-setup .setup-step .alert hr {
-    margin: 10px 0
-}
-
-.ci-menu {
-    position: relative;
-    display: flex;
-    -webkit-box-orient: vertical;
-    box-orient: vertical;
-    -webkit-box-direction: normal;
-    box-direction: normal;
-    -moz-flex-direction: column;
-    flex-direction: column;
-    -ms-flex-direction: column;
-    width: 33%;
-    background: #F7F8FB;
-    border-right: 1px solid #e7ebf3
-}
-
-@media (max-width: 767px) {
-    .ci-menu {
-        display: block;
-        width: 100%;
-        -webkit-box-flex: 0;
-        -moz-box-flex: 0;
-        box-flex: 0;
-        -webkit-flex: 0 1 auto;
-        -moz-flex: 0 1 auto;
-        -ms-flex: 0 1 auto;
-        flex: 0 1 auto;
-        padding-right: 0;
-        box-shadow: inset 0 -1px 0 #E3E7EF;
-        border-right: none
-    }
-
-    .ci-menu .ci-menu--context {
-        margin: 8px 20px 12px
-    }
-}
-
-.ci-menu .ci-menu--context {
-    display: flex;
-    position: relative;
-    z-index: 2;
-    padding: 8px 10px 8px 15px;
-    background: #fff;
-    min-height: 42px;
-    box-shadow: 0 1px 0 rgba(98, 115, 141, .1), 0 2px 0 rgba(0, 0, 0, .02);
-    -webkit-box-align: center;
-    -moz-box-align: center;
-    box-align: center;
-    -webkit-align-items: center;
-    -moz-align-items: center;
-    -ms-align-items: center;
-    -o-align-items: center;
-    align-items: center;
-    -ms-flex-align: center
-}
-
-@media (max-width: 767px) {
-    .ci-menu .ci-menu--context {
-        background: 0 0;
-        box-shadow: none;
-        padding: 0;
-        min-height: 24px
-    }
-
-    .ci-menu .ci-menu--context.has-tests {
-        padding: 0 0 34px
-    }
-}
-
-.ci-menu .ci-menu--context .btn-group {
-    margin-left: 12px
-}
-
-.ci-menu .ci-menu--context .btn-group.filter-branches {
-    display: flex;
-    -webkit-box-align: center;
-    -moz-box-align: center;
-    box-align: center;
-    -webkit-align-items: center;
-    -moz-align-items: center;
-    -ms-align-items: center;
-    -o-align-items: center;
-    align-items: center;
-    -ms-flex-align: center;
-    margin-left: 0;
-    margin-right: 15px;
-    min-width: 0
-}
-
-.ci-menu .ci-menu--context .branch-selector-btn {
-    padding: 0;
-    border: none;
-    background: 0 0;
-    white-space: nowrap;
-    width: 100%
-}
-
-.ci-menu .ci-menu--context .branch-selector-btn code, .ci-menu .ci-menu--context .branch-selector-btn span {
-    position: relative;
-    font-size: 12px;
-    line-height: 13px;
-    padding: 3px 4px 2px;
-    margin: 0;
-    text-overflow: ellipsis;
-    overflow: hidden;
-    display: inline-block;
-    vertical-align: middle;
-    width: calc(100% - 44px)
-}
-
-.ci-menu .ci-menu--context .branch-selector-btn .pipeline-dropdown .dropdown-menu-scroll > li .btn-link, .ci-menu .ci-menu--context .branch-selector-btn .pipeline-dropdown > li .btn-link, .ci-menu .ci-menu--context .branch-selector-btn h6, .pipeline-dropdown .dropdown-menu-scroll > li .ci-menu .ci-menu--context .branch-selector-btn .btn-link, .pipeline-dropdown > li .ci-menu .ci-menu--context .branch-selector-btn .btn-link {
-    color: #62738D;
-    font-size: 11px;
-    font-weight: 700;
-    padding: 3px 0 2px;
-    text-transform: uppercase
-}
-
-.ci-menu .ci-menu--context .branch-selector-btn .icon {
-    -webkit-flex-shrink: 0;
-    -moz-flex-shrink: 0;
-    flex-shrink: 0;
-    -ms-flex-negative: 0;
-    position: relative;
-    top: 0;
-    margin-left: 2px
-}
-
-.ci-menu .ci-menu--context .info-tooltip-component {
-    position: relative;
-    left: -4px;
-    margin-right: 4px
-}
-
-.ci-menu .ci-menu--context .new-btn {
-    margin-right: 5px;
-    margin-left: auto
-}
-
-@media (max-width: 767px) {
-    .ci-menu .ci-menu--context .new-btn {
-        margin-right: 0
-    }
-}
-
-.ci-menu .ci-menu--context .new-btn .icon {
-    margin: -2px 2px 0;
-    -webkit-transition: all .1s ease;
-    -o-transition: all .1s ease;
-    transition: all .1s ease
-}
-
-.ci-menu .ci-menu--context .new-btn .icon.rotate {
-    -webkit-transform: rotate(45deg);
-    -moz-transform: rotate(45deg);
-    -ms-transform: rotate(45deg);
-    -o-transform: rotate(45deg);
-    transform: rotate(45deg)
-}
-
-.ci-menu .ci-menu--context .mobile-menu {
-    position: absolute;
-    bottom: 0;
-    left: 0;
-    right: 0;
-    width: 100%;
-    padding-top: 6px;
-    margin-top: 8px;
-    border-top: 1px solid rgba(207, 215, 230, .5)
-}
-
-.ci-menu .ci-menu--context .mobile-menu .btn-group {
-    margin-left: 0
-}
-
-.ci-menu .context-switcher__list, .ci-menu .drop-down__menu, .ci-menu .dropdown-menu {
-    font-size: 12px
-}
-
-.ci-menu .context-switcher__list .divider, .ci-menu .drop-down__menu .divider, .ci-menu .dropdown-menu .divider {
-    margin: 5px 0
-}
-
-.ci-menu .branch-dropdown.context-switcher__list, .ci-menu .branch-dropdown.drop-down__menu, .ci-menu .dropdown-menu.branch-dropdown, .ci-menu .dropdown-menu.tests-dropdown, .ci-menu .tests-dropdown.context-switcher__list, .ci-menu .tests-dropdown.drop-down__menu {
-    width: 240px;
-    max-width: calc(33vw - 42px);
-    max-height: 350px;
-    overflow: auto
-}
-
-.ci-menu .branch-dropdown.context-switcher__list .btn-link, .ci-menu .branch-dropdown.drop-down__menu .btn-link, .ci-menu .dropdown-menu.branch-dropdown .btn-link, .ci-menu .dropdown-menu.tests-dropdown .btn-link, .ci-menu .tests-dropdown.context-switcher__list .btn-link, .ci-menu .tests-dropdown.drop-down__menu .btn-link {
-    max-width: 100%;
-    text-overflow: ellipsis;
-    overflow: hidden;
-    white-space: nowrap
-}
-
-.ci-menu .dropdown-menu.tests-dropdown, .ci-menu .tests-dropdown.context-switcher__list, .ci-menu .tests-dropdown.drop-down__menu {
-    width: auto;
-    background: #EEF1F6;
-    padding: 0
-}
-
-.ci-menu .dropdown-menu.tests-dropdown .ci-menu--header:first-child, .ci-menu .tests-dropdown.context-switcher__list .ci-menu--header:first-child, .ci-menu .tests-dropdown.drop-down__menu .ci-menu--header:first-child {
-    padding-top: 10px
-}
-
-.ci-menu .ci-menu--scroll {
-    position: absolute;
-    top: 42px;
-    left: 0;
-    right: 0;
-    bottom: 0;
-    z-index: 1;
-    overflow: auto
-}
-
-.ci-menu .test-run-btn {
-    color: #62738D;
-    font-size: 11px;
-    font-weight: 700;
-    text-transform: uppercase;
-    padding: 0;
-    margin: -1px 6px 0 0;
-    border: none;
-    background: 0 0
-}
-
-.ci-menu .test-run-btn .icon {
-    position: relative;
-    top: -1px;
-    margin-left: 2px
-}
-
-.ci-menu .ci-menu--header {
-    padding: 8px 15px;
-    border-bottom: 1px solid #E3E7EF;
-    background: rgba(255, 255, 255, .7)
-}
-
-.ci-menu .ci-menu--header .pipeline-dropdown .dropdown-menu-scroll > li .btn-link, .ci-menu .ci-menu--header .pipeline-dropdown > li .btn-link, .ci-menu .ci-menu--header h6, .pipeline-dropdown .dropdown-menu-scroll > li .ci-menu .ci-menu--header .btn-link, .pipeline-dropdown > li .ci-menu .ci-menu--header .btn-link {
-    color: #62738D
-}
-
-.ci-menu .ci-menu--new {
-    border-bottom: 1px solid #E3E7EF;
-    padding: 11px 10px 9px;
-    margin-top: -93px;
-    transition: ease .2s;
-    opacity: 0;
-    pointer-events: none
-}
-
-.ci-menu .ci-menu--new.reveal {
-    margin-top: 0;
-    opacity: 1;
-    pointer-events: auto
-}
-
-@media (max-width: 767px) {
-    .ci-menu .branch-dropdown.context-switcher__list, .ci-menu .branch-dropdown.drop-down__menu, .ci-menu .dropdown-menu.branch-dropdown, .ci-menu .dropdown-menu.tests-dropdown, .ci-menu .tests-dropdown.context-switcher__list, .ci-menu .tests-dropdown.drop-down__menu {
-        max-height: 300px;
-        max-width: calc(100vw - 42px)
-    }
-
-    .ci-menu .ci-menu--new {
-        border-top: 1px solid rgba(207, 215, 230, .5);
-        box-shadow: inset 0 1px 0 #E3E7EF;
-        transition: none;
-        display: none;
-        margin-top: 0
-    }
-
-    .ci-menu .ci-menu--new.reveal {
-        display: block
-    }
-}
-
-.ci-menu .ci-menu--new .ci-menu--item {
-    background: rgba(255, 255, 255, .4);
-    border-radius: 5px;
-    padding: 10px;
-    border: 1px dashed rgba(86, 102, 125, .2)
-}
-
-.ci-menu .ci-menu--new .ci-menu--item .ci-meta .commit {
-    color: #62738D
-}
-
-.ci-menu .ci-menu--new .ci-menu--item .ci-meta .branch {
-    color: #56667D
-}
-
-.ci-menu .ci-menu--item .ci-menu--item--link {
-    position: relative;
-    color: #475366;
-    text-decoration: none;
-    display: block;
-    padding: 12px 15px;
-    border-bottom: 1px solid #E3E7EF
-}
-
-.ci-menu .ci-menu--item .ci-menu--item--link:hover {
-    background: rgba(255, 255, 255, .5)
-}
-
-.ci-menu .ci-menu--item .ci-menu--item--link.active {
-    background: #fff;
-    border-bottom: 1px solid rgba(207, 215, 230, .8);
-    box-shadow: 0 1px 0 rgba(207, 215, 230, .3), 0 -1px 0 rgba(207, 215, 230, .3);
-    z-index: 2
-}
-
-.ci-menu .ci-menu--item .ci-menu--item--link.active .ci-meta .commit {
-    font-weight: 700;
-    position: relative;
-    top: -1px
-}
-
-.ci-menu .ci-menu--item.succeeded .ci-menu--item--link .commit {
-    color: #008700
-}
-
-.ci-menu .ci-menu--item.errored .ci-menu--item--link .commit, .ci-menu .ci-menu--item.errored .ci-menu--item--link .test-status, .ci-menu .ci-menu--item.failed .ci-menu--item--link .commit, .ci-menu .ci-menu--item.failed .ci-menu--item--link .test-status {
-    color: #DE0A0A
-}
-
-.ci-menu .ci-meta, .ci-menu .ci-status {
-    display: flex;
-    font-size: 12px;
-    -webkit-box-align: center;
-    -moz-box-align: center;
-    box-align: center;
-    -webkit-align-items: center;
-    -moz-align-items: center;
-    -ms-align-items: center;
-    -o-align-items: center;
-    align-items: center;
-    -ms-flex-align: center;
-    -webkit-box-pack: justify;
-    -moz-box-pack: justify;
-    box-pack: justify;
-    -webkit-justify-content: space-between;
-    -moz-justify-content: space-between;
-    -ms-justify-content: space-between;
-    -o-justify-content: space-between;
-    justify-content: space-between;
-    -ms-flex-pack: justify
-}
-
-.ci-menu .ci-meta {
-    padding-bottom: 6px
-}
-
-.ci-menu .ci-meta .branch, .ci-menu .ci-meta .commit {
-    white-space: nowrap;
-    overflow: hidden;
-    text-overflow: ellipsis
-}
-
-.ci-menu .ci-meta .commit {
-    color: #79589F
-}
-
-.ci-menu .ci-meta .commit .icon {
-    -webkit-flex-shrink: 0;
-    -moz-flex-shrink: 0;
-    flex-shrink: 0;
-    -ms-flex-negative: 0;
-    margin-top: -2px;
-    margin-left: 1px;
-    margin-right: 4px
-}
-
-.ci-menu .ci-meta .branch {
-    font-size: 11px;
-    text-align: right;
-    -webkit-flex-shrink: 0;
-    -moz-flex-shrink: 0;
-    flex-shrink: 0;
-    -ms-flex-negative: 0;
-    margin-left: 20px;
-    max-width: 50%
-}
-
-.ci-menu .ci-meta .branch .icon {
-    -webkit-flex-shrink: 0;
-    -moz-flex-shrink: 0;
-    flex-shrink: 0;
-    -ms-flex-negative: 0;
-    margin-top: -1px
-}
-
-.ci-menu .ci-status {
-    line-height: 18px
-}
-
-.ci-menu .ci-status .test-status, .ci-menu .ci-status .test-time {
-    white-space: nowrap;
-    overflow: hidden;
-    text-overflow: ellipsis
-}
-
-.ci-menu .ci-status .test-status .icon {
-    margin-top: -2px;
-    margin-right: 2px
-}
-
-.ci-menu .ci-status .test-time {
-    padding-left: 10px
-}
-
-.ci-menu .empty-state {
-    position: relative;
-    display: flex;
-    -webkit-box-orient: vertical;
-    box-orient: vertical;
-    -webkit-box-direction: normal;
-    box-direction: normal;
-    -moz-flex-direction: column;
-    flex-direction: column;
-    -ms-flex-direction: column;
-    -webkit-box-align: center;
-    -moz-box-align: center;
-    box-align: center;
-    -webkit-align-items: center;
-    -moz-align-items: center;
-    -ms-align-items: center;
-    -o-align-items: center;
-    align-items: center;
-    -ms-flex-align: center;
-    -webkit-box-pack: center;
-    -moz-box-pack: center;
-    box-pack: center;
-    -webkit-justify-content: center;
-    -moz-justify-content: center;
-    -ms-justify-content: center;
-    -o-justify-content: center;
-    justify-content: center;
-    -ms-flex-pack: center;
-    height: 100%;
-    padding: 40px 0
-}
-
-.ci-menu .empty-state .panel-section .panel-details, .ci-menu .empty-state p, .panel-section .ci-menu .empty-state .panel-details {
-    color: #62738D;
-    text-align: center;
-    padding-top: 16px;
-    max-width: 200px
-}
-
-.ci-view {
-    -webkit-box-flex: 2;
-    -moz-box-flex: 2;
-    box-flex: 2;
-    -webkit-flex: 2;
-    -moz-flex: 2;
-    -ms-flex: 2;
-    flex: 2;
-    position: relative;
-    padding: 15px 40px;
-    background: #fff;
-    overflow: auto
-}
-
-@media (max-width: 767px) {
-    .ci-view {
-        padding: 10px 20px
-    }
-}
-
-.ci-view .ci-view--header, .ci-view .ci-view--meta {
-    display: flex;
-    -webkit-box-align: center;
-    -moz-box-align: center;
-    box-align: center;
-    -webkit-align-items: center;
-    -moz-align-items: center;
-    -ms-align-items: center;
-    -o-align-items: center;
-    align-items: center;
-    -ms-flex-align: center;
-    padding: 14px 0
-}
-
-.ci-view .ci-view--header {
-    padding: 14px 10px;
-    margin: 0 -10px;
-    border-bottom: 1px solid #E3E7EF
-}
-
-.ci-view .ci-view--header h3 {
-    font-size: 16px;
-    line-height: 24px;
-    color: #56667D;
-    margin: 0 auto 0 0
-}
-
-.ci-view .ci-view--header h3 span {
-    color: #62738D
-}
-
-.ci-view .ci-view--header h3 span.is-passed {
-    color: #008700
-}
-
-.ci-view .ci-view--header h3 span.is-failed {
-    color: #DE0A0A
-}
-
-.ci-view .ci-view--header h3 span.display-duration {
-    display: inline-block
-}
-
-.ci-view .ci-view--header h3 .icon {
-    margin-top: -2px;
-    margin-right: 4px
-}
-
-.ci-view .ci-view--header .ci-actions {
-    margin-left: 20px;
-    flex-shrink: 0
-}
-
-.ci-view .ci-view--header .ci-actions .run-again {
-    min-width: 83px
-}
-
-.ci-view .ci-view--header .ci-actions .btn .icon {
-    margin-left: 0;
-    margin-top: -2px
-}
-
-.ci-view .ci-view--header .ci-actions .context-switcher__list, .ci-view .ci-view--header .ci-actions .drop-down__menu {
-    font-size: 12px;
-    min-width: 170px
-}
-
-.ci-view .ci-view--header .ci-actions .context-switcher__list .divider, .ci-view .ci-view--header .ci-actions .drop-down__menu .divider {
-    margin: 5px 0
-}
-
-.ci-view .ci-view--header .ci-actions .context-switcher__list .async-button, .ci-view .ci-view--header .ci-actions .drop-down__menu .async-button {
-    width: 100%
-}
-
-.ci-view .ci-view--header .ci-actions .context-switcher__list .async-button.pending, .ci-view .ci-view--header .ci-actions .drop-down__menu .async-button.pending {
-    text-align: center
-}
-
-.ci-view .ci-view--meta {
-    font-size: 12px;
-    display: flex
-}
-
-.ci-view .ci-view--meta .author-info, .ci-view .ci-view--meta .repo-info {
-    display: inline-flex;
-    max-width: 50%
-}
-
-.ci-view .ci-view--meta .author-info .author, .ci-view .ci-view--meta .author-info .branch, .ci-view .ci-view--meta .author-info .repo, .ci-view .ci-view--meta .author-info .time, .ci-view .ci-view--meta .repo-info .author, .ci-view .ci-view--meta .repo-info .branch, .ci-view .ci-view--meta .repo-info .repo, .ci-view .ci-view--meta .repo-info .time {
-    white-space: nowrap;
-    overflow: hidden;
-    text-overflow: ellipsis
-}
-
-.ci-view .ci-view--meta .repo-info {
-    color: #56667D;
-    -webkit-box-flex: 0;
-    -moz-box-flex: 0;
-    box-flex: 0;
-    -webkit-flex: 0 1 auto;
-    -moz-flex: 0 1 auto;
-    -ms-flex: 0 1 auto;
-    flex: 0 1 auto
-}
-
-.ci-view .ci-view--meta .repo-info .branch, .ci-view .ci-view--meta .repo-info .repo {
-    margin-right: 14px
-}
-
-.ci-view .ci-view--meta .repo-info a {
-    color: inherit;
-    text-decoration: none
-}
-
-.ci-view .ci-view--meta .repo-info a:hover {
-    text-decoration: underline
-}
-
-.ci-view .ci-view--meta .author-info {
-    color: #62738D;
-    margin-left: auto
-}
-
-.ci-view .ci-view--pr {
-    margin-left: auto
-}
-
-.ci-view .ci-view--commit {
-    border: none;
-    padding-bottom: 10px
-}
-
-.ci-view .ci-view--commit .icon {
-    margin-top: -1px
-}
-
-.ci-view .ci-view--commit code {
-    margin: 0 6px
-}
-
-.ci-view .ci-view--commit .panel-section .panel-details, .ci-view .ci-view--commit p, .panel-section .ci-view .ci-view--commit .panel-details {
-    font-size: 12px;
-    color: #56667D;
-    display: flex;
-    width: 100%;
-    -webkit-box-align: top;
-    -moz-box-align: top;
-    box-align: top;
-    -webkit-align-items: top;
-    -moz-align-items: top;
-    -ms-align-items: top;
-    -o-align-items: top;
-    align-items: top;
-    -ms-flex-align: top
-}
-
-.ci-view .ci-view--commit .panel-section .panel-details .commit-meta, .ci-view .ci-view--commit p .commit-meta, .panel-section .ci-view .ci-view--commit .panel-details .commit-meta {
-    -webkit-flex-shrink: 0;
-    -moz-flex-shrink: 0;
-    flex-shrink: 0;
-    -ms-flex-negative: 0
-}
-
-.ci-view .ci-view--commit .panel-section .panel-details .commit-meta a, .ci-view .ci-view--commit p .commit-meta a, .panel-section .ci-view .ci-view--commit .panel-details .commit-meta a {
-    text-decoration: none
-}
-
-.ci-view .ci-view--commit .panel-section .panel-details .commit-meta a:hover, .ci-view .ci-view--commit p .commit-meta a:hover, .deploy-steps > li .toggle-output, .dyno-size-help > a, .panel-section .ci-view .ci-view--commit .panel-details .commit-meta a:hover {
-    text-decoration: underline
-}
-
-.ci-view .ci-view--commit .panel-section .panel-details .commit-message, .ci-view .ci-view--commit p .commit-message, .panel-section .ci-view .ci-view--commit .panel-details .commit-message {
-    display: inline-block;
-    vertical-align: top;
-    -webkit-box-flex: 0;
-    -moz-box-flex: 0;
-    box-flex: 0;
-    -webkit-flex: 0 1 auto;
-    -moz-flex: 0 1 auto;
-    -ms-flex: 0 1 auto;
-    flex: 0 1 auto
-}
-
-.ci-view .ci-view--commit .panel-section .panel-details .commit-message .panel-details, .ci-view .ci-view--commit .panel-section .panel-details .commit-message small, .ci-view .ci-view--commit p .commit-message .panel-section .panel-details, .ci-view .ci-view--commit p .commit-message small, .panel-section .ci-view .ci-view--commit .panel-details .commit-message .panel-details, .panel-section .ci-view .ci-view--commit .panel-details .commit-message small, .panel-section .ci-view .ci-view--commit p .commit-message .panel-details {
-    font-size: 12px;
-    display: block;
-    color: #62738D;
-    padding-top: 4px;
-    word-wrap: break-word
-}
-
-.ci-view .ci-view--commit .panel-section .panel-details .btn, .ci-view .ci-view--commit p .btn, .panel-section .ci-view .ci-view--commit .panel-details .btn {
-    position: relative;
-    margin-top: -1px;
-    padding: 0 6px 6px;
-    font-size: 13px;
-    line-height: 8px;
-    margin-left: 4px
-}
-
-.ci-view .ci-view--module {
-    font-size: 13px;
-    padding: 14px 0;
-    border-bottom: 1px solid #E3E7EF
-}
-
-.ci-view .ci-view--module:last-child {
-    border-bottom: none
-}
-
-.ci-view .ci-view--module h5 {
-    font-size: 13px;
-    margin: 0;
-    padding-bottom: 14px
-}
-
-.ci-view .ci-view--module h5 .icon {
-    margin: -2px 4px 0
-}
-
-.ci-view .ci-view--module .pipeline-dropdown .dropdown-menu-scroll > li .btn-link, .ci-view .ci-view--module .pipeline-dropdown .dropdown-menu-scroll > li .btn-link .btn-link, .ci-view .ci-view--module .pipeline-dropdown > li .btn-link, .ci-view .ci-view--module .pipeline-dropdown > li .btn-link .btn-link, .ci-view .ci-view--module h6, .ci-view .ci-view--module h6 .btn-link, .pipeline-dropdown .dropdown-menu-scroll > li .ci-view .ci-view--module .btn-link, .pipeline-dropdown .dropdown-menu-scroll > li .ci-view .ci-view--module .btn-link .btn-link, .pipeline-dropdown > li .ci-view .ci-view--module .btn-link, .pipeline-dropdown > li .ci-view .ci-view--module .btn-link .btn-link {
-    color: #62738D;
-    font-size: 11px;
-    font-weight: 700;
-    text-transform: uppercase;
-    margin: 0 0 10px
-}
-
-.ci-view .ci-view--module .pipeline-dropdown .dropdown-menu-scroll > li .btn-link .btn-link, .ci-view .ci-view--module .pipeline-dropdown > li .btn-link .btn-link, .ci-view .ci-view--module h6 .btn-link, .ci-view .ci-view--module.test-output-module .pipeline-dropdown .dropdown-menu-scroll > li .btn-link, .ci-view .ci-view--module.test-output-module .pipeline-dropdown > li .btn-link, .ci-view .ci-view--module.test-output-module h6, .pipeline-dropdown .dropdown-menu-scroll > li .ci-view .ci-view--module .btn-link .btn-link, .pipeline-dropdown .dropdown-menu-scroll > li .ci-view .ci-view--module.test-output-module .btn-link, .pipeline-dropdown > li .ci-view .ci-view--module .btn-link .btn-link, .pipeline-dropdown > li .ci-view .ci-view--module.test-output-module .btn-link {
-    margin-bottom: 0
-}
-
-.ci-view .ci-view--module .pipeline-dropdown .dropdown-menu-scroll > li .btn-link .btn-link:disabled, .ci-view .ci-view--module .pipeline-dropdown .dropdown-menu-scroll > li .btn-link:disabled, .ci-view .ci-view--module .pipeline-dropdown > li .btn-link .btn-link:disabled, .ci-view .ci-view--module .pipeline-dropdown > li .btn-link:disabled, .ci-view .ci-view--module h6 .btn-link:disabled, .ci-view .ci-view--module h6:disabled, .pipeline-dropdown .dropdown-menu-scroll > li .ci-view .ci-view--module .btn-link .btn-link:disabled, .pipeline-dropdown .dropdown-menu-scroll > li .ci-view .ci-view--module .btn-link:disabled, .pipeline-dropdown > li .ci-view .ci-view--module .btn-link .btn-link:disabled, .pipeline-dropdown > li .ci-view .ci-view--module .btn-link:disabled {
-    opacity: .5
-}
-
-.ci-view .ci-view--module .build-stream .build-stream-output {
-    min-height: 340px
-}
-
-.ci-view .ci-view--module .build-stream-full {
-    margin-top: 11px;
-    min-height: 60px;
-    max-height: calc(100vh - 200px);
-    padding-bottom: 32px;
-    height: auto
-}
-
-.ci-view .ci-view--module .build-stream-full .build-stream-output {
-    max-height: calc(100vh - 200px - 32px)
-}
-
-.ci-view .ci-view--module .build-stream-full .build-stream-line {
-    font-size: 11px
-}
-
-.ci-view .ci-view--module.test-output-module .icon-toggle {
-    position: relative;
-    top: -2px;
-    margin-right: 4px;
-    transform: rotate(-90deg);
-    transition: ease .1s
-}
-
-.ci-view .ci-view--module.test-output-module .icon-toggle.opened {
-    top: -1px;
-    transform: rotate(0)
-}
-
-.ci-view .ci-view--messages {
-    position: relative;
-    margin: -10px 0 0;
-    border-top: 0 solid #fff;
-    border-bottom: 1px solid #fff
-}
-
-.ci-view .ci-view--messages .test-message {
-    color: #62738D;
-    font-size: 13px;
-    position: relative;
-    padding: 16px 20px;
-    margin-bottom: 20px;
-    border-radius: 4px;
-    box-shadow: inset 0 0 0 1px #E3E7EF;
-    background: #EEF1F6
-}
-
-.ci-view .ci-view--messages .test-message:last-child {
-    margin-bottom: 0
-}
-
-.ci-view .ci-view--messages .test-message .pipeline-dropdown .dropdown-menu-scroll > li .btn-link, .ci-view .ci-view--messages .test-message .pipeline-dropdown > li .btn-link, .ci-view .ci-view--messages .test-message h6, .pipeline-dropdown .dropdown-menu-scroll > li .ci-view .ci-view--messages .test-message .btn-link, .pipeline-dropdown > li .ci-view .ci-view--messages .test-message .btn-link {
-    position: relative;
-    color: #62738D
-}
-
-.ci-view .ci-view--messages .test-message .icon {
-    margin-right: 12px
-}
-
-.ci-view .ci-view--messages .test-warning {
-    color: #C74C00;
-    box-shadow: inset 0 0 0 1px rgba(199, 76, 0, .2);
-    background: rgba(199, 76, 0, .04)
-}
-
-.ci-view .ci-view--messages .test-warning a {
-    color: inherit
-}
-
-.ci-view .ci-view--messages .test-fail {
-    color: #DE0A0A;
-    box-shadow: inset 0 0 0 1px rgba(222, 10, 10, .4);
-    background: rgba(222, 10, 10, .04)
-}
-
-.ci-view .ci-view--messages .test-fail .panel-section .panel-details, .ci-view .ci-view--messages .test-fail p, .panel-section .ci-view .ci-view--messages .test-fail .panel-details {
-    padding-bottom: 10px;
-    border-bottom: 1px solid rgba(222, 10, 10, .3)
-}
-
-.ci-view .ci-view--messages .test-fail a {
-    color: inherit
-}
-
-.ci-view .ci-view--messages .test-case-fail {
-    padding: 4px 0 18px;
-    margin-bottom: 10px;
-    border-bottom: 1px solid rgba(222, 10, 10, .3)
-}
-
-.ci-view .ci-view--messages .test-case-fail:last-child {
-    padding-bottom: 0;
-    margin-bottom: 0;
-    border: none
-}
-
-.ci-view .ci-view--messages .test-case-fail pre {
-    font-size: 12px;
-    margin: 6px 0 0 28px;
-    border: 1px solid rgba(222, 10, 10, .3);
-    background: rgba(255, 255, 255, .8)
-}
-
-.ci-view--output .build-stream, .ci-view--output .build-stream-full {
-    min-height: 160px
-}
-
-.test-run-status-message {
-    padding-left: 6px;
-    font-size: 16px
-}
-
-.test-run-status-message.creating, .test-run-status-message.pending, .test-run-status-message.running {
-    color: #62738D
-}
-
-.test-run-status-message.succeeded {
-    color: #008700
-}
-
-.test-run-status-message.errored, .test-run-status-message.failed {
-    color: #DE0A0A
-}
-
-.ci-status-component {
-    display: inline-block
-}
-
-.ci-status-component .btn-group {
-    position: static
-}
-
-.ci-status-component .drop-down__toggle {
-    border: none;
-    width: 18px
-}
-
-.ci-status-component .context-switcher__list, .ci-status-component .drop-down__menu {
-    margin-top: 5px;
-    right: 0
-}
-
-.ci-status-component .context-switcher__list li.dropdown-header, .ci-status-component .drop-down__menu li.dropdown-header {
-    padding: 8px 12px 6px
-}
-
-.ci-status-component .context-switcher__list li .ci-check-summary, .ci-status-component .drop-down__menu li .ci-check-summary {
-    color: #62738D;
-    font-size: 11px;
-    margin: 0 !important
-}
-
-.ci-status-component .context-switcher__list li .ci-check-summary b, .ci-status-component .drop-down__menu li .ci-check-summary b {
-    font-weight: 400;
-    font-size: 13px;
-    display: block
-}
-
-.addons-provision-error .addons-provision-error__header, .assume-identity, .is-current .dyno-tier-picker-item-size-name {
-    font-weight: 700
-}
-
-.ci-status-component .context-switcher__list li .icon, .ci-status-component .drop-down__menu li .icon {
-    margin-left: 0 !important;
-    margin-right: 5px !important
-}
-
-.ci-status-component .context-switcher__list li a, .ci-status-component .drop-down__menu li a {
-    font-size: 12px !important;
-    color: #56667D !important;
-    display: block !important;
-    text-overflow: ellipsis;
-    overflow: hidden
-}
-
-.ci-status-component .context-switcher__list li a .panel-section .panel-details, .ci-status-component .context-switcher__list li a small, .ci-status-component .drop-down__menu li a .panel-section .panel-details, .ci-status-component .drop-down__menu li a small, .panel-section .ci-status-component .context-switcher__list li a .panel-details, .panel-section .ci-status-component .drop-down__menu li a .panel-details {
-    font-size: 11px;
-    color: #62738D
-}
-
-.test-nodes--nav li {
-    min-width: 60px
-}
-
-.test-nodes--nav li:last-child {
-    border-right: none
-}
-
-.test-nodes--nav .btn-group {
-    display: flex
-}
-
-.test-nodes--nav .btn-group .overflow-tab {
-    min-width: 60px
-}
-
-.test-nodes--nav .btn-group .active {
-    border-left: 1px solid #e3e7ef
-}
-
-.test-nodes--nav .context-switcher__list, .test-nodes--nav .drop-down__menu {
-    min-width: 100px
-}
-
-.table-action-button {
-    padding: 0 22px 0 10px;
-    width: 38px;
-    text-align: center;
-    border: 0;
-    background-color: transparent;
-    border-radius: 3px
-}
-
-.table-action-button:hover i {
-    color: #62738D
-}
-
-.table-action-button i {
-    position: relative;
-    top: -2px
-}
-
-.addons-provision .addons-provision__header {
-    text-align: center
-}
-
-.addons-provision .addons-provision__header .item {
-    vertical-align: top;
-    display: inline-block;
-    text-align: center;
-    width: calc(46% - 22px)
-}
-
-.addons-provision .addons-provision__header .item .description {
-    padding-top: 10px;
-    text-overflow: ellipsis;
-    white-space: nowrap;
-    overflow: hidden
-}
-
-.addons-provision .addon-details {
-    display: inline-block;
-    width: 100%;
-    font-size: 12px;
-    margin-top: 10px;
-    margin-bottom: 10px;
-    text-align: center
-}
-
-.addons-provision .addons-provision__addon-icon-container {
-    height: 48px;
-    width: 48px;
-    overflow: hidden;
-    display: inline-block;
-    border-radius: 5px;
-    background-color: #fff
-}
-
-.addons-provision .addons-provision__body {
-    padding: 20px 20px 5px
-}
-
-.addons-provision .addons-provision__provision-errors {
-    font-size: 12px;
-    line-height: 1.5em;
-    padding-left: 40px;
-    padding-right: 10px
-}
-
-.addons-provision .addons-provision__provision-errors li {
-    position: relative;
-    display: inline-block;
-    padding: 0
-}
-
-.addons-provision .addons-provision__provision-errors li .icon {
-    position: absolute;
-    top: -3px;
-    left: -31px
-}
-
-.addons-provision .addons-provision__provision-errors li + li {
-    margin-top: 20px
-}
-
-.addons-provision-error {
-    text-align: center
-}
-
-.addons-provision-error img {
-    height: 80px;
-    width: 80px
-}
-
-#modal-overlays .ember-modal-dialog.addon-provision-modal {
-    width: 100%;
-    max-width: 460px
-}
-
-#modal-overlays .ember-modal-dialog.addon-provision-modal .modal-header {
-    border-bottom: none
-}
-
-#modal-overlays .ember-modal-dialog.addon-provision-modal .modal-header .modal-title {
-    display: none
-}
-
-#modal-overlays .ember-modal-dialog.addon-provision-modal .modal-body {
-    margin-top: -10px;
-    padding: 0
-}
-
-#modal-overlays .ember-modal-dialog.addon-provision-modal .modal-footer {
-    padding: 20px
-}
-
-#modal-overlays .ember-modal-dialog.addon-provision-modal .modal-footer button {
-    width: 100%
-}
-
-#modal-overlays .ember-modal-dialog.addon-provision-modal .separator {
-    border-bottom: 1px solid #e7ebf3
-}
-
-#modal-overlays .ember-modal-dialog.addon-confirm-delete-modal .modal-body {
-    padding: 20px 20px 5px
-}
-
-.log-color {
-    color: gray
-}
-
-.log-color--blue {
-    color: #437BD7
-}
-
-.log-color--orange {
-    color: #F38900
-}
-
-.log-color--purple {
-    color: #8854B3
-}
-
-.log-color--green {
-    color: #728E40
-}
-
-.log-color--red {
-    color: #C62919
-}
-
-.log-color--yellow {
-    color: #EEC800
-}
-
-.assume-identity {
-    position: fixed;
-    bottom: 20px;
-    color: #fff;
-    cursor: pointer;
-    z-index: 999;
-    text-transform: uppercase;
-    font-size: 12px;
-    padding: 6px 20px 7px;
-    border-radius: 20px;
-    left: 50%;
-    width: 220px;
-    margin-left: -110px;
-    box-shadow: 0 1px 6px rgba(0, 0, 0, .1)
-}
-
-.switch-mode {
-    display: box;
-    display: -webkit-flex;
-    display: -moz-flex;
-    display: -ms-flexbox;
-    display: flex
-}
-
-.switch-mode__toggle {
-    padding-right: 10px
-}
-
-.switch__status__text {
-    position: relative;
-    top: 2px;
-    font-size: 11px;
-    text-transform: uppercase
-}
-
-.new-org {
-    overflow: visible
-}
-
-.new-org .org-owner div {
-    float: left
-}
-
-.new-org .org-owner div .panel-section .panel-details, .new-org .org-owner div p, .panel-section .new-org .org-owner div .panel-details {
-    margin-bottom: 0
-}
-
-.new-org .org-owner div.owner-details {
-    padding-left: 20px
-}
-
-.new-org .panel-content .btn-link {
-    padding: 0 25px
-}
-
-.new-org .list-group-item {
-    border-bottom: none
-}
-
-.new-org .list-group-item:last-child {
-    border-top: none
-}
-
-.new-org .alert {
-    margin-top: 1px
-}
-
-.btn {
-    outline: 0 !important
-}
-
-@media (max-width: 767px) {
-    #overview-page {
-        display: block
-    }
-
-    #overview-page .overview-activity, #overview-page .overview-content, #overview-page .overview-team {
-        width: 100%
-    }
-
-    #overview-page .overview-content {
-        padding-right: 20px
-    }
-
-    #overview-page .overview-activity {
-        padding-left: 20px;
-        box-shadow: inset 0 1px 0 #E3E7EF
-    }
-}
-
-#overview-page .collaborator-list, #overview-page .member-list {
-    max-height: 312px;
-    margin: 0 5px;
-    padding: 5px 0;
-    border-top: 5px solid transparent;
-    border-bottom: 5px solid transparent
-}
-
-#overview-page .collaborator-list::-webkit-scrollbar, #overview-page .member-list::-webkit-scrollbar {
-    width: 6px;
-    height: 6px
-}
-
-#overview-page .collaborator-list::-webkit-scrollbar-track, #overview-page .member-list::-webkit-scrollbar-track {
-    border-radius: 10px;
-    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .05);
-    background: rgba(0, 0, 0, .05)
-}
-
-#overview-page .collaborator-list::-webkit-scrollbar-thumb, #overview-page .member-list::-webkit-scrollbar-thumb {
-    border-radius: 10px;
-    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .05);
-    background: rgba(0, 0, 0, .1)
-}
-
-#overview-page .collaborator-list::-webkit-scrollbar-button, #overview-page .member-list::-webkit-scrollbar-button {
-    display: block;
-    width: 0;
-    height: 0
-}
-
-#overview-page .collaborator-list h5, #overview-page .member-list h5 {
-    float: none
-}
-
-#overview-page .collaborator, #overview-page .member {
-    position: relative;
-    -webkit-box-lines: multiple;
-    -moz-box-lines: multiple;
-    box-lines: multiple;
-    -webkit-flex-wrap: wrap;
-    -moz-flex-wrap: wrap;
-    -ms-flex-wrap: wrap;
-    flex-wrap: wrap
-}
-
-#overview-page .collaborator .avatar, #overview-page .member .avatar {
-    position: relative
-}
-
-#overview-page .collaborator .user-info, #overview-page .member .user-info {
-    max-width: 75%;
-    text-overflow: ellipsis;
-    overflow: hidden;
-    display: inline-block
-}
-
-#overview-page .header {
-    padding: 0 0 14px
-}
-
-#overview-page .header h5 {
-    font-size: 13px;
-    margin: 0
-}
-
-#overview-page .header h5 .icon {
-    margin: -2px 4px 0
-}
-
-#overview-page .header h5 .badge {
-    border-radius: 12px;
-    margin: -1px 5px 0;
-    cursor: default;
-    background: #62738D
-}
-
-#overview-page .header h5 .badge.badge--light {
-    background: #CFD7E6
-}
-
-#overview-page .header .btn-link {
-    font-size: 12px;
-    margin-top: -1px
-}
-
-#overview-page .header .btn-link .icon {
-    margin: -2px 0 0 1px
-}
-
-#overview-page .header .btn-default {
-    margin: -4px 0
-}
-
-.bar-chart {
-    height: 100px
-}
-
-.bar-chart__col {
-    max-width: 90px;
-    flex-basis: 0
-}
-
-.bar-chart__col__chart {
-    background: #CFD7E6;
-    min-height: 1px
-}
-
-.bar-chart__col__quota {
-    height: 1px;
-    background: #CFD7E6;
-    bottom: 0;
-    margin-bottom: 20px;
-    width: 100%;
-    z-index: 5;
-    box-shadow: 0 0 0 1px #fff
-}
-
-.bar-chart__col__quota--over-limit {
-    background: #D64242
-}
-
-.bar-chart__col:hover .bar-chart__col__chart {
-    background: #62738D
-}
-
-.bar-chart__col:hover .bar-chart__col__chart.bar-chart__col__quota--over-limit {
-    background: #A70404
-}
-
-.context-switcher--container {
-    z-index: 5
-}
-
-.context-switcher__list {
-    position: absolute;
-    z-index: 48;
-    top: 36px;
-    left: 0;
-    width: 320px;
-    max-width: calc(100vw - 40px);
-    max-height: calc(100vh - 160px);
-    padding: 0
-}
-
-.limit-width, .list-group-lg {
-    position: relative;
-    width: 100%;
-    max-width: 1200px;
-    margin-left: auto !important;
-    margin-right: auto !important
-}
-
-.top-nav .limit-width, .top-nav .list-group-lg {
-    display: flex;
-    -webkit-box-align: center;
-    -moz-box-align: center;
-    box-align: center;
-    -webkit-align-items: center;
-    -moz-align-items: center;
-    -ms-align-items: center;
-    -o-align-items: center;
-    align-items: center;
-    -ms-flex-align: center
-}
-
-#overview-page .limit-width, #overview-page .list-group-lg {
-    max-width: 578px
-}
-
-.overview-content .limit-width, .overview-content .list-group-lg {
-    margin-right: 0 !important
-}
-
-.overview-activity .limit-width, .overview-activity .list-group-lg, .overview-team .limit-width, .overview-team .list-group-lg {
-    margin-left: 0 !important
-}
-
-.message-banner .limit-width, .message-banner .list-group-lg {
-    display: flex;
-    -webkit-box-align: center;
-    -moz-box-align: center;
-    box-align: center;
-    -webkit-align-items: center;
-    -moz-align-items: center;
-    -ms-align-items: center;
-    -o-align-items: center;
-    align-items: center;
-    -ms-flex-align: center;
-    -webkit-align-content: space-around;
-    -moz-align-content: space-around;
-    align-content: space-around;
-    -ms-flex-line-pack: distribute
-}
-
-@media (max-width: 767px) {
-    .overview-content .limit-width, .overview-content .list-group-lg {
-        max-width: 100% !important;
-        margin-left: 0 !important
-    }
-
-    .overview-activity .limit-width, .overview-activity .list-group-lg, .overview-team .limit-width, .overview-team .list-group-lg {
-        max-width: 100% !important;
-        margin-right: 0 !important
-    }
-
-    .message-banner .limit-width, .message-banner .list-group-lg {
-        -webkit-box-lines: multiple;
-        -moz-box-lines: multiple;
-        box-lines: multiple;
-        -webkit-flex-wrap: wrap;
-        -moz-flex-wrap: wrap;
-        -ms-flex-wrap: wrap;
-        flex-wrap: wrap
-    }
-}
-
-.app-wrapper {
-    display: flex;
-    min-height: calc(100vh - 50px);
-    -webkit-box-orient: vertical;
-    -moz-box-orient: vertical;
-    box-orient: vertical;
-    -webkit-box-direction: normal;
-    -moz-box-direction: normal;
-    box-direction: normal;
-    -webkit-flex-direction: column;
-    -moz-flex-direction: column;
-    flex-direction: column;
-    -ms-flex-direction: column;
-    -webkit-box-align: stretch;
-    -moz-box-align: stretch;
-    box-align: stretch;
-    -webkit-align-items: stretch;
-    -moz-align-items: stretch;
-    -ms-align-items: stretch;
-    -o-align-items: stretch;
-    align-items: stretch;
-    -ms-flex-align: stretch
-}
-
-.modal-buildpacks {
-    width: 100%;
-    font-size: 0;
-    margin: 15px 0
-}
-
-.modal-buildpacks a.supported-buildpack {
-    text-decoration: none;
-    display: inline-block;
-    text-align: center;
-    font-size: 14px;
-    line-height: 16px;
-    color: #62738D;
-    width: 19.6%;
-    margin-right: .5%;
-    margin-bottom: .5%;
-    padding: 7px 10px;
-    border-radius: 4px;
-    box-shadow: inset 0 0 0 1px #E3E7EF;
-    -webkit-transition: ease .2s;
-    -o-transition: ease .2s;
-    transition: ease .2s
-}
-
-.modal-buildpacks a.supported-buildpack.selected, .modal-buildpacks a.supported-buildpack:hover {
-    color: #79589F;
-    background: #f8f7fa;
-    box-shadow: inset 0 0 0 1px #c9bcd9
-}
-
-.modal-buildpacks a.supported-buildpack .language-icon {
-    height: 40px;
-    padding: 5px 0;
-    display: block;
-    text-align: center
-}
-
-.modal-buildpacks a.supported-buildpack .language-icon .icon {
-    display: inline-block;
-    vertical-align: middle
-}
-
-@media (min-width: 480px) {
-    .modal-buildpacks a.supported-buildpack:nth-child(5n) {
-        margin-right: 0
-    }
-}
-
-@media (max-width: 480px) {
-    .modal-buildpacks a.supported-buildpack {
-        width: 33%
-    }
-
-    .modal-buildpacks a.supported-buildpack:nth-child(3n) {
-        margin-right: 0
-    }
-}
-
-
-#modal-overlays .ember-modal-dialog.formation-tier-picker {
-    width: 900px
-}
-
-.dyno-size-icon {
-    position: relative;
-    width: 38px;
-    height: 40px
-}
-
-.dyno-size-options button {
-    display: flex;
-    align-items: center;
-    font-weight: 400;
-    padding: 5px
-}
-
-.cmn-toggle:hover, .context-switcher__list label, .drop-down__menu label, .ember-power-select-clear-btn, .ember-power-select-multiple-remove-btn, .ember-power-select-option, .nps-modal-content label, range-slider {
-    cursor: pointer
-}
-
-.dyno-size-option.disabled:active .dyno-size-option__description, .dyno-size-option.disabled:active .dyno-size-option__title, .dyno-size-option.disabled:focus .dyno-size-option__description, .dyno-size-option.disabled:focus .dyno-size-option__title, .dyno-size-option.disabled:hover .dyno-size-option__description, .dyno-size-option.disabled:hover .dyno-size-option__title {
-    color: #62738D
-}
-
-.dyno-size-option__note {
-    color: #006DEB;
-    white-space: normal
-}
-
-.dyno-size-option__content {
-    padding: 0 12px;
-    -webkit-box-flex: 1;
-    -moz-box-flex: 1;
-    box-flex: 1;
-    -webkit-flex: 1;
-    -moz-flex: 1;
-    -ms-flex: 1;
-    flex: 1
-}
-
-.toggle-switch {
-    display: flex
-}
-
-input[type=checkbox].cmn-toggle {
-    opacity: 0;
-    z-index: 9;
-    width: 60px;
-    height: 30px;
-    margin: 0
-}
-
-.cmn-toggle + label {
-    display: block;
-    position: relative;
-    outline: 0;
-    user-select: none;
-    font-size: 12px;
-    margin-bottom: 0;
-    margin-left: -60px
-}
-
-.disabled .cmn-toggle:hover {
-    cursor: default
-}
-
-input.cmn-toggle-round-flat + label {
-    padding: 2px;
-    width: 60px;
-    height: 30px;
-    background-color: #fff;
-    border: 1px solid #006DEB;
-    border-radius: 30px;
-    -webkit-transition: background .4s;
-    transition: background .4s
-}
-
-.disabled input.cmn-toggle-round-flat + label {
-    border: 1px solid #CFD7E6
-}
-
-input.cmn-toggle-round-flat + label:after, input.cmn-toggle-round-flat + label:before {
-    display: block;
-    position: absolute;
-    content: ""
-}
-
-input.cmn-toggle-round-flat:focus + label {
-    outline: 0;
-    border-color: #408fec;
-    box-shadow: 0 0 0 2px rgba(142, 189, 241, .4)
-}
-
-input.cmn-toggle-round-flat + label:before {
-    top: 6px;
-    left: 8px;
-    border-radius: 30px;
-    -webkit-transition: background .4s;
-    transition: background .4s;
-    content: "";
-    color: #fff
-}
-
-input.cmn-toggle-round-flat + label:after {
-    top: -1px;
-    left: -1px;
-    bottom: -1px;
-    width: 30px;
-    background-color: #fff;
-    border: 1px solid #006DEB;
-    border-radius: 30px;
-    -webkit-transition: margin .3s, background .3s;
-    transition: margin .3s, background .3s
-}
-
-.disabled input.cmn-toggle-round-flat + label:after {
-    border: 1px solid #CFD7E6
-}
-
-input.cmn-toggle-round-flat + label .off-label {
-    position: absolute;
-    right: 8px;
-    top: 6px;
-    color: #62738D
-}
-
-.disabled input.cmn-toggle-round-flat + label .off-label {
-    color: #62738D
-}
-
-input.cmn-toggle-round-flat:checked + label {
-    background-color: #006DEB;
-    border: 1px solid #0055b8
-}
-
-.disabled input.cmn-toggle-round-flat:checked + label {
-    background-color: #CFD7E6;
-    border: 1px solid #adbbd5
-}
-
-input.cmn-toggle-round-flat:checked + label:after {
-    margin-left: 30px;
-    background-color: #fff;
-    border: 1px solid #006DEB
-}
-
-.disabled input.cmn-toggle-round-flat:checked + label:after {
-    border: 1px solid #adbbd5
-}
-
-.build-stream {
-    margin: 11px 0 4px;
-    background-color: #F7F8FB;
-    border: 1px solid #E3E7EF;
-    border-radius: 4px
-}
-
-.build-stream.build-stream-expanded .build-stream-output {
-    height: 460px
-}
-
-.build-stream .build-stream-output {
-    position: relative;
-    height: 160px;
-    margin: 0 5px 0 9px;
-    padding: 9px 5px 9px 0;
-    overflow: auto;
-    -webkit-transition: height ease .3s;
-    -o-transition: height ease .3s;
-    transition: height ease .3s
-}
-
-.build-stream .build-stream-output::-webkit-scrollbar {
-    width: 7px;
-    height: 7px
-}
-
-.build-stream .build-stream-output::-webkit-scrollbar-track {
-    border-radius: 10px;
-    box-shadow: inset 0 0 0 1px rgba(207, 215, 230, .2);
-    background: rgba(207, 215, 230, .2)
-}
-
-.build-stream .build-stream-output::-webkit-scrollbar-thumb {
-    border-radius: 10px;
-    box-shadow: inset 0 0 0 1px rgba(98, 115, 141, .3);
-    background: rgba(98, 115, 141, .4)
-}
-
-.build-stream .build-stream-output::-webkit-scrollbar-button {
-    display: block;
-    width: 2px;
-    height: 2px
-}
-
-.build-stream .build-stream-output .loading-spinner {
-    position: absolute;
-    top: 50%;
-    left: 50%;
-    margin-left: -15px
-}
-
-.build-stream .build-stream-output .build-stream-line {
-    margin: 0;
-    padding: 0;
-    background: 0 0;
-    border: none;
-    border-radius: 0;
-    color: #323B49;
-    font-size: 11px;
-    line-height: 18px
-}
-
-.build-stream .build-stream-footer {
-    height: 30px;
-    padding: 6px 10px;
-    overflow: hidden;
-    font-size: 12px;
-    border-top: 1px solid #E3E7EF;
-    background-color: #fff;
-    border-bottom-left-radius: 4px;
-    border-bottom-right-radius: 4px
-}
-
-.build-stream .build-stream-footer label {
-    float: left;
-    margin-bottom: 0
-}
-
-.build-stream .build-stream-footer label input {
-    margin-top: 2px;
-    margin-right: 3px
-}
-
-.build-stream .build-stream-footer a {
-    float: right;
-    margin-left: 10px
-}
-
-.build-stream .build-stream-footer .btn-link.expand-output {
-    font-size: 12px;
-    color: #62738D
-}
-
-.build-stream .build-stream-footer .btn-link.expand-output .icon {
-    left: 0;
-    margin-top: -2px;
-    margin-left: 0
-}
-
-.build-stream-full {
-    position: relative;
-    margin-top: 0;
-    height: calc(100% - 80px)
-}
-
-.build-stream-full .build-stream-output {
-    height: calc(100% - 32px)
-}
-
-.build-stream-full .build-stream-output .build-stream-line {
-    font-size: 12px
-}
-
-.build-stream-full .build-stream-footer {
-    position: absolute;
-    bottom: 0;
-    left: 0;
-    right: 0
-}
-
-.deploy-steps {
-    margin-top: 15px
-}
-
-.deploy-steps > li > .icon, .deploy-steps > li > .loading-spinner, .deploy-steps > li > i, .deploy-steps > li > img {
-    float: right
-}
-
-.deploy-steps > li > .loading-spinner {
-    margin: 7px 0 6px
-}
-
-.deploy-steps > li a, .deploy-steps > li button, .deploy-steps > li span {
-    -webkit-transition-duration: .4s;
-    transition-duration: .4s;
-    -webkit-transition-property: opacity, color;
-    transition-property: opacity, color;
-    -webkit-transition-timing-function: ease-out;
-    transition-timing-function: ease-out
-}
-
-.deploy-steps > li span {
-    color: #62738D;
-    float: left;
-    padding-bottom: 1px
-}
-
-.deploy-steps > li span.dots, .deploy-steps > li span.loading-spinner {
-    float: none
-}
-
-.deploy-steps > li .toggle-output {
-    margin-left: 8px;
-    padding: 0;
-    font-size: 13px;
-    border: none
-}
-
-#overview-page .addons-grid .addon .panel-section .panel-details a, #overview-page .addons-grid .addon p a, #overview-page .app-overview-metrics .metrics__summary-row--favorite__link-wrapper, .account-quota-usage table tbody a, .btn-link, .btn-link:hover, .context-switcher__list .btn-link, .deploy-steps > li.stage-done span, .deploy-steps > li.stage-failed span, .drop-down__menu .btn-link, .drop-down__toggle a, .page-breadcrumb a, .panel-section #overview-page .addons-grid .addon .panel-details a {
-    text-decoration: none
-}
-
-.deploy-steps > li .build-stream {
-    float: left;
-    width: 100%
-}
-
-.deploy-steps > li .deploy-message {
-    clear: both;
-    font-size: 13px;
-    font-weight: 400;
-    margin: 0;
-    color: #62738D;
-    padding-top: 2px;
-    padding-right: 20px
-}
-
-.deploy-steps > li .deploy-message:first-letter {
-    text-transform: uppercase
-}
-
-.deploy-steps > li .deployed-message {
-    text-align: center;
-    clear: both;
-    width: 100%;
-    padding-top: 10px
-}
-
-.deploy-steps > li .deployed-message strong {
-    font-size: 14px;
-    color: #62738D;
-    display: block;
-    text-align: center;
-    padding-bottom: 10px
-}
-
-.deploy-steps > li .deployed-message .btn {
-    margin: 0 4px;
-    width: auto
-}
-
-.deploy-steps > li.stage-current span {
-    color: #3F3F44
-}
-
-.deploy-steps > li.stage-failed a, .deploy-steps > li.stage-failed button, .deploy-steps > li.stage-failed span {
-    color: #DE0A0A
-}
-
-.deploy-steps > li.stage-done a, .deploy-steps > li.stage-done button, .deploy-steps > li.stage-done span {
-    color: #62738D
-}
-
-.deploy-steps > li.success span {
-    color: #008700
-}
-
-.enterprise-no-account-banner {
-    box-shadow: 0 8px 16px -8px rgba(0, 0, 0, .3), 0 13px 27px -5px rgba(50, 59, 73, .25);
-    transition: box-shadow .3s ease-in-out 0s
-}
-
-.nav.nav-tabs.sub-nav .sub-nav-item {
-    display: inline-block;
-    margin-left: 4px;
-    margin-right: 4px;
-    transform: translateX(-10px)
-}
-
-@media (max-width: 767px) {
-    .nav.nav-tabs.sub-nav .sub-nav-item {
-        margin-left: 8px;
-        margin-right: 8px
-    }
-}
-
-.nav.nav-tabs.sub-nav .sub-nav-item:first-child {
-    margin-left: 0
-}
-
-.nav.nav-tabs.sub-nav .sub-nav-item:last-child {
-    margin-right: 0
-}
-
-.nav.nav-tabs.sub-nav .sub-nav-item a {
-    padding-bottom: 15px
-}
-
-.protected-team-space-apps .nav.nav-tabs.sub-nav, .protected-team-space-apps_loading .nav.nav-tabs.sub-nav, .protected-team-switchable-apps .nav.nav-tabs.sub-nav, .protected-team-switchable-apps_loading .nav.nav-tabs.sub-nav {
-    margin-bottom: 0
-}
-
-.ember-modal-dialog {
-    z-index: 51;
-    position: fixed;
-    border-radius: 8px;
-    background-color: #fff;
-    box-shadow: 0 0 10px #222;
-    padding: 10px
-}
-
-.ember-modal-dialog.emd-in-place {
-    position: static
-}
-
-.ember-modal-wrapper.emd-static.emd-wrapper-target-attachment-center .ember-modal-dialog {
-    top: 50%;
-    left: 50%;
-    transform: translate(-50%, -50%)
-}
-
-.ember-modal-wrapper.emd-animatable.emd-wrapper-target-attachment-center {
-    width: 100vw;
-    height: 100vh;
-    position: fixed;
-    top: 0;
-    left: 0;
-    z-index: 50;
-    display: flex;
-    align-items: center;
-    justify-content: center
-}
-
-.ember-modal-wrapper.emd-animatable.emd-wrapper-target-attachment-center .ember-modal-overlay {
-    display: flex;
-    align-items: center;
-    justify-content: center
-}
-
-.ember-modal-wrapper.emd-animatable .ember-modal-dialog {
-    position: relative
-}
-
-.ember-modal-overlay {
-    width: 100vw;
-    height: 100vh;
-    position: fixed;
-    top: 0;
-    left: 0;
-    z-index: 50
-}
-
-.ember-modal-overlay.translucent {
-    background-color: rgba(128, 128, 128, .77)
-}
-
-@-webkit-keyframes fadeIn {
-    0% {
-        opacity: 0
-    }
-    100% {
-        opacity: 1
-    }
-}
-
-@-moz-keyframes fadeIn {
-    0% {
-        opacity: 0
-    }
-    100% {
-        opacity: 1
-    }
-}
-
-@-o-keyframes fadeIn {
-    0% {
-        opacity: 0
-    }
-    100% {
-        opacity: 1
-    }
-}
-
-@keyframes fadeIn {
-    0% {
-        opacity: 0
-    }
-    100% {
-        opacity: 1
-    }
-}
-
-@-webkit-keyframes fadeOut {
-    0% {
-        opacity: 1
-    }
-    100% {
-        opacity: 0
-    }
-}
-
-@-moz-keyframes fadeOut {
-    0% {
-        opacity: 1
-    }
-    100% {
-        opacity: 0
-    }
-}
-
-@-o-keyframes fadeOut {
-    0% {
-        opacity: 1
-    }
-    100% {
-        opacity: 0
-    }
-}
-
-@keyframes fadeOut {
-    0% {
-        opacity: 1
-    }
-    100% {
-        opacity: 0
-    }
-}
-
-@-webkit-keyframes zoomIn {
-    0% {
-        -webkit-transform: scale(1.1);
-        -moz-transform: scale(1.1);
-        -ms-transform: scale(1.1);
-        -o-transform: scale(1.1);
-        transform: scale(1.1);
-        opacity: 0
-    }
-    100% {
-        -webkit-transform: scale(1);
-        -moz-transform: scale(1);
-        -ms-transform: scale(1);
-        -o-transform: scale(1);
-        transform: scale(1);
-        opacity: 1
-    }
-}
-
-@-moz-keyframes zoomIn {
-    0% {
-        -webkit-transform: scale(1.1);
-        -moz-transform: scale(1.1);
-        -ms-transform: scale(1.1);
-        -o-transform: scale(1.1);
-        transform: scale(1.1);
-        opacity: 0
-    }
-    100% {
-        -webkit-transform: scale(1);
-        -moz-transform: scale(1);
-        -ms-transform: scale(1);
-        -o-transform: scale(1);
-        transform: scale(1);
-        opacity: 1
-    }
-}
-
-@-o-keyframes zoomIn {
-    0% {
-        -webkit-transform: scale(1.1);
-        -moz-transform: scale(1.1);
-        -ms-transform: scale(1.1);
-        -o-transform: scale(1.1);
-        transform: scale(1.1);
-        opacity: 0
-    }
-    100% {
-        -webkit-transform: scale(1);
-        -moz-transform: scale(1);
-        -ms-transform: scale(1);
-        -o-transform: scale(1);
-        transform: scale(1);
-        opacity: 1
-    }
-}
-
-@keyframes zoomIn {
-    0% {
-        -webkit-transform: scale(1.1);
-        -moz-transform: scale(1.1);
-        -ms-transform: scale(1.1);
-        -o-transform: scale(1.1);
-        transform: scale(1.1);
-        opacity: 0
-    }
-    100% {
-        -webkit-transform: scale(1);
-        -moz-transform: scale(1);
-        -ms-transform: scale(1);
-        -o-transform: scale(1);
-        transform: scale(1);
-        opacity: 1
-    }
-}
-
-@-webkit-keyframes zoomOut {
-    0% {
-        -webkit-transform: scale(1);
-        -moz-transform: scale(1);
-        -ms-transform: scale(1);
-        -o-transform: scale(1);
-        transform: scale(1);
-        opacity: 1
-    }
-    100% {
-        -webkit-transform: scale(1.1);
-        -moz-transform: scale(1.1);
-        -ms-transform: scale(1.1);
-        -o-transform: scale(1.1);
-        transform: scale(1.1);
-        opacity: 0
-    }
-}
-
-@-moz-keyframes zoomOut {
-    0% {
-        -webkit-transform: scale(1);
-        -moz-transform: scale(1);
-        -ms-transform: scale(1);
-        -o-transform: scale(1);
-        transform: scale(1);
-        opacity: 1
-    }
-    100% {
-        -webkit-transform: scale(1.1);
-        -moz-transform: scale(1.1);
-        -ms-transform: scale(1.1);
-        -o-transform: scale(1.1);
-        transform: scale(1.1);
-        opacity: 0
-    }
-}
-
-@-o-keyframes zoomOut {
-    0% {
-        -webkit-transform: scale(1);
-        -moz-transform: scale(1);
-        -ms-transform: scale(1);
-        -o-transform: scale(1);
-        transform: scale(1);
-        opacity: 1
-    }
-    100% {
-        -webkit-transform: scale(1.1);
-        -moz-transform: scale(1.1);
-        -ms-transform: scale(1.1);
-        -o-transform: scale(1.1);
-        transform: scale(1.1);
-        opacity: 0
-    }
-}
-
-@keyframes zoomOut {
-    0% {
-        -webkit-transform: scale(1);
-        -moz-transform: scale(1);
-        -ms-transform: scale(1);
-        -o-transform: scale(1);
-        transform: scale(1);
-        opacity: 1
-    }
-    100% {
-        -webkit-transform: scale(1.1);
-        -moz-transform: scale(1.1);
-        -ms-transform: scale(1.1);
-        -o-transform: scale(1.1);
-        transform: scale(1.1);
-        opacity: 0
-    }
-}
-
-#modal-overlays .modal-backdrop {
-    z-index: 50;
-    background: rgba(89, 105, 129, .6);
-    -webkit-animation: fadeIn .2s ease-out;
-    -moz-animation: fadeIn .2s ease-out;
-    -o-animation: fadeIn .2s ease-out;
-    animation: fadeIn .2s ease-out
-}
-
-#modal-overlays .modal-backdrop.is-closing {
-    -webkit-animation: fadeOut .1s ease-out;
-    -moz-animation: fadeOut .1s ease-out;
-    -o-animation: fadeOut .1s ease-out;
-    animation: fadeOut .1s ease-out
-}
-
-#modal-overlays .ember-modal-overlay {
-    position: fixed;
-    overflow-x: hidden;
-    overflow-y: auto;
-    top: 0;
-    left: 0;
-    right: 0;
-    bottom: 0;
-    background: 0 0;
-    z-index: 51;
-    padding: 0 5px;
-    -webkit-overflow-scrolling: touch;
-    -webkit-animation: fadeIn .2s ease-out;
-    -moz-animation: fadeIn .2s ease-out;
-    -o-animation: fadeIn .2s ease-out;
-    animation: fadeIn .2s ease-out
-}
-
-#modal-overlays .ember-modal-overlay.is-closing {
-    -webkit-animation: fadeOut .1s ease-out;
-    -moz-animation: fadeOut .1s ease-out;
-    -o-animation: fadeOut .1s ease-out;
-    animation: fadeOut .1s ease-out
-}
-
-#modal-overlays .ember-modal-dialog {
-    position: relative;
-    margin: 40px auto;
-    max-width: 100%;
-    width: 600px;
-    padding: 0;
-    z-index: 51;
-    -webkit-animation: zoomIn .2s ease-out;
-    -moz-animation: zoomIn .2s ease-out;
-    -o-animation: zoomIn .2s ease-out;
-    animation: zoomIn .2s ease-out;
-    border-radius: 6px;
-    box-shadow: 0 0 0 1px rgba(0, 0, 0, .1), 0 3px 20px 0 rgba(0, 0, 0, .3), 0 1px 2px 0 rgba(0, 0, 0, .1);
-    background: #fff
-}
-
-@media (max-width: 767px) {
-    #modal-overlays .ember-modal-dialog {
-        margin: 10px auto
-    }
-}
-
-#modal-overlays .ember-modal-dialog.is-closing {
-    -webkit-animation: zoomOut .1s ease-out;
-    -moz-animation: zoomOut .1s ease-out;
-    -o-animation: zoomOut .1s ease-out;
-    animation: zoomOut .1s ease-out
-}
-
-#modal-overlays .ember-modal-dialog.is-expanded {
-    width: 80%
-}
-
-#modal-overlays .ember-modal-dialog.is-fullscreen {
-    width: 100%
-}
-
-#modal-overlays .ember-modal-dialog .modal-box {
-    position: relative;
-    display: flex;
-    flex-direction: column;
-    align-items: stretch;
-    max-height: 100%;
-    -webkit-transition: width ease .3s;
-    -o-transition: width ease .3s;
-    transition: width ease .3s
-}
-
-#modal-overlays .ember-modal-dialog .modal-box .modal-content {
-    background: 0 0
-}
-
-#modal-overlays .ember-modal-dialog .modal-box .modal-footer.custom-footer {
-    margin: 15px -15px -15px
-}
-
-#modal-overlays .ember-modal-dialog .modal-box .modal-footer .btn-link {
-    margin-right: 14px
-}
-
-#modal-overlays .ember-modal-dialog .modal-box .modal-footer .btn + .btn {
-    margin-left: 10px
-}
-
-body.modal-is-open {
-    overflow: hidden
-}
-
-#modal-overlays .ember-modal-dialog.purple-list-modal .modal-box, .drop-down {
-    overflow: visible
-}
-
-@media only screen and (max-device-width: 812px) {
-    .ember-modal-dialog {
-        margin-bottom: 124px !important
-    }
-}
-
-.crumb-trail--context-switcher-toggle {
-    padding: 1px 2px;
-    line-height: 1;
-    height: auto;
-    position: relative;
-    margin: 0
-}
-
-.postgres-config .hk-button--secondary {
-    margin-left: auto
-}
-
-.drop-down {
-    position: relative
-}
-
-.context-switcher__list, .drop-down__menu {
-    display: block
-}
-
-.context-switcher__list .btn-link, .drop-down__menu .btn-link {
-    display: block;
-    text-align: left;
-    min-width: 100%;
-    white-space: nowrap;
-    padding: 4px 12px 3px;
-    color: #56667D;
-    border: none
-}
-
-.context-switcher__list .btn-link .icon, .drop-down__menu .btn-link .icon {
-    position: relative;
-    margin: -2px 4px 0 2px
-}
-
-.context-switcher__list .btn-link:hover, .drop-down__menu .btn-link:hover {
-    color: #475366;
-    background-color: #f7f8fb
-}
-
-.context-switcher__list .btn-link:disabled, .drop-down__menu .btn-link:disabled {
-    color: #62738D;
-    pointer-events: none
-}
-
-.drop-down__toggle li {
-    list-style: none
-}
-
-table.purple-list .action-cell {
-    width: 108px;
-    text-align: right
-}
-
-@-webkit-keyframes fadeIt {
-    0% {
-        background-color: #fef1e3
-    }
-    100% {
-        background-color: #fff
-    }
-}
-
-@-moz-keyframes fadeIt {
-    0% {
-        background-color: #fef1e3
-    }
-    100% {
-        background-color: #fff
-    }
-}
-
-@-o-keyframes fadeIt {
-    0% {
-        background-color: #fef1e3
-    }
-    100% {
-        background-color: #fff
-    }
-}
-
-@keyframes fadeIt {
-    0% {
-        background-color: #fef1e3
-    }
-    100% {
-        background-color: #fff
-    }
-}
-
-table.purple-list .new-list-item {
-    -webkit-animation: fadeIt 1.5s ease-in;
-    -moz-animation: fadeIt 1.5s ease-in;
-    -o-animation: fadeIt 1.5s ease-in;
-    animation: fadeIt 1.5s ease-in
-}
-
-#modal-overlays .ember-modal-dialog.purple-list-modal .panel-section, #modal-overlays .ember-modal-dialog.purple-list-modal .row {
-    padding: 0 10px
-}
-
-#modal-overlays .ember-modal-dialog.purple-list-modal .col-sm-12 {
-    padding-left: 5px;
-    padding-right: 5px;
-    padding-bottom: 18px
-}
-
-#modal-overlays .ember-modal-dialog.purple-list-modal .btn-primary, #modal-overlays .ember-modal-dialog.purple-list-modal .hk-button--primary, #modal-overlays .ember-modal-dialog.purple-list-modal .twitter-typeahead {
-    width: 100%
-}
-
-.buildpack-installations-list input, .domain-item input {
-    background-color: #fff !important;
-    border: 0;
-    box-shadow: none;
-    padding-left: 0;
-    text-overflow: ellipsis
-}
-
-.buildpack-installations-list input:active, .buildpack-installations-list input:focus, .domain-item input:active, .domain-item input:focus {
-    border: 0 !important;
-    box-shadow: none !important
-}
-
-.buildpack-installations-list .buildpacks-list-table tr th, .buildpack-installations-list .domains-list-table tr th, .domain-item .buildpacks-list-table tr th, .domain-item .domains-list-table tr th {
-    padding-left: 0
-}
-
-.buildpack-installations-list .buildpacks-list-table tr td, .buildpack-installations-list .domains-list-table tr td, .domain-item .buildpacks-list-table tr td, .domain-item .domains-list-table tr td {
-    white-space: nowrap;
-    overflow: hidden;
-    text-overflow: ellipsis;
-    padding-left: 0
-}
-
-.buildpack-installations-list .domains-list-table__content-column, .domain-item .domains-list-table__content-column {
-    width: 45%
-}
-
-.config-vars-list .config-var-add {
-    width: 85px
-}
-
-.config-vars-list .config-var-add button {
-    width: 100%
-}
-
-.config-vars-list .config-var-value {
-    white-space: pre
-}
-
-.formations-list-item {
-    display: -webkit-box;
-    display: -moz-box;
-    display: box;
-    display: -webkit-flex;
-    display: -moz-flex;
-    display: -ms-flexbox;
-    display: flex;
-    box-orient: vertical;
-    -webkit-box-direction: normal;
-    -moz-box-direction: normal;
-    box-direction: normal;
-    -moz-flex-direction: column;
-    flex-direction: column;
-    -ms-flex-direction: column;
-    padding: 10px 12px;
-    background-color: transparent
-}
-
-@media (min-width: 36rem) {
-    .formations-list-item {
-        -webkit-box-orient: horizontal;
-        -moz-box-orient: horizontal;
-        box-orient: horizontal;
-        -webkit-box-direction: normal;
-        -moz-box-direction: normal;
-        box-direction: normal;
-        -webkit-flex-direction: row;
-        -moz-flex-direction: row;
-        flex-direction: row;
-        -ms-flex-direction: row;
-        -webkit-box-lines: multiple;
-        -moz-box-lines: multiple;
-        box-lines: multiple;
-        -webkit-flex-wrap: wrap;
-        -moz-flex-wrap: wrap;
-        -ms-flex-wrap: wrap;
-        flex-wrap: wrap
-    }
-}
-
-.formations-list-item:last-child {
-    border-bottom: none !important
-}
-
-.formations-list-item .value--dirty {
-    color: #006DEB
-}
-
-.formations-list-item .value--original {
-    text-decoration: line-through;
-    color: #62738D
-}
-
-.formations-list-item .suffix {
-    color: #62738D
-}
-
-@media (min-width: 24rem) {
-    .formations-list-item .input--scale {
-        max-width: 80px
-    }
-}
-
-.formations-list-item .process {
-    display: -webkit-box;
-    display: -moz-box;
-    display: box;
-    display: -webkit-flex;
-    display: -moz-flex;
-    display: -ms-flexbox;
-    display: flex;
-    -webkit-box-orient: horizontal;
-    -moz-box-orient: horizontal;
-    box-orient: horizontal;
-    -webkit-box-direction: normal;
-    -moz-box-direction: normal;
-    box-direction: normal;
-    -webkit-flex-direction: row;
-    -moz-flex-direction: row;
-    flex-direction: row;
-    -ms-flex-direction: row;
-    -webkit-box-lines: single;
-    -moz-box-lines: single;
-    box-lines: single;
-    -webkit-flex-wrap: nowrap;
-    -moz-flex-wrap: nowrap;
-    -ms-flex-wrap: nowrap;
-    flex-wrap: nowrap;
-    -webkit-flex-grow: 1;
-    -moz-flex-grow: 1;
-    flex-grow: 1;
-    -ms-flex-positive: 1;
-    -webkit-box-align: center;
-    -moz-box-align: center;
-    box-align: center;
-    -webkit-align-items: center;
-    -moz-align-items: center;
-    -ms-align-items: center;
-    -o-align-items: center;
-    align-items: center;
-    -ms-flex-align: center;
-    -webkit-box-ordinal-group: 1;
-    -moz-box-ordinal-group: 1;
-    box-ordinal-group: 1;
-    -webkit-order: 1;
-    -moz-order: 1;
-    order: 1;
-    -ms-flex-order: 1;
-    white-space: nowrap;
-    text-overflow: ellipsis;
-    min-width: 0
-}
-
-@media (min-width: 36rem) {
-    .formations-list-item .process {
-        -webkit-flex-basis: 0;
-        -moz-flex-basis: 0;
-        flex-basis: 0;
-        -ms-flex-preferred-size: 0
-    }
-}
-
-.formations-list-item .icon--process {
-    width: 68px;
-    -webkit-flex-basis: 68px;
-    -moz-flex-basis: 68px;
-    flex-basis: 68px;
-    -ms-flex-preferred-size: 68px;
-    -webkit-flex-shrink: 0;
-    -moz-flex-shrink: 0;
-    flex-shrink: 0;
-    -ms-flex-negative: 0
-}
-
-.formations-list-item .icon--process button {
-    padding: 0
-}
-
-.formations-list-item .process-details {
-    white-space: nowrap;
-    text-overflow: ellipsis;
-    min-width: 0;
-    -webkit-flex-grow: 1;
-    -moz-flex-grow: 1;
-    flex-grow: 1;
-    -ms-flex-positive: 1
-}
-
-@media (min-width: 36rem) {
-    .formations-list-item .process-details {
-        display: -webkit-box;
-        display: -moz-box;
-        display: box;
-        display: -webkit-flex;
-        display: -moz-flex;
-        display: -ms-flexbox;
-        display: flex;
-        -webkit-box-lines: single;
-        -moz-box-lines: single;
-        box-lines: single;
-        -webkit-flex-wrap: nowrap;
-        -moz-flex-wrap: nowrap;
-        -ms-flex-wrap: nowrap;
-        flex-wrap: nowrap;
-        -webkit-box-orient: horizontal;
-        -moz-box-orient: horizontal;
-        box-orient: horizontal;
-        -webkit-box-direction: normal;
-        -moz-box-direction: normal;
-        box-direction: normal;
-        -webkit-flex-direction: row;
-        -moz-flex-direction: row;
-        flex-direction: row;
-        -ms-flex-direction: row;
-        -webkit-box-align: center;
-        -moz-box-align: center;
-        box-align: center;
-        -webkit-align-items: center;
-        -moz-align-items: center;
-        -ms-align-items: center;
-        -o-align-items: center;
-        align-items: center;
-        -ms-flex-align: center
-    }
-}
-
-.formations-list-item .process-description {
-    -webkit-flex-grow: 1;
-    -moz-flex-grow: 1;
-    flex-grow: 1;
-    -ms-flex-positive: 1;
-    white-space: nowrap;
-    text-overflow: ellipsis;
-    min-width: 0;
-    overflow: hidden;
-    margin: 0 0 3px
-}
-
-.formations-list-item .command, .formations-list-item .name {
-    -webkit-flex-basis: 0;
-    -moz-flex-basis: 0;
-    flex-basis: 0;
-    -ms-flex-preferred-size: 0;
-    white-space: nowrap;
-    text-overflow: ellipsis;
-    min-width: 0;
-    overflow: hidden
-}
-
-.formations-list-item .command {
-    padding: 0;
-    background: 0 0;
-    box-shadow: none;
-    color: #62738D;
-    font-size: 13px
-}
-
-.formations-list-item .process-usage {
-    display: -webkit-box;
-    display: -moz-box;
-    display: box;
-    display: -webkit-flex;
-    display: -moz-flex;
-    display: -ms-flexbox;
-    display: flex;
-    -webkit-flex-shrink: 0;
-    -moz-flex-shrink: 0;
-    flex-shrink: 0;
-    -ms-flex-negative: 0;
-    color: #56667D;
-    font-size: 13px
-}
-
-.formations-list-item .process-usage.process--off, .formations-list-item .process-usage.process--off .suffix {
-    color: #CFD7E6
-}
-
-@media (min-width: 36rem) {
-    .formations-list-item .process-description {
-        margin: 0 20px 0 0
-    }
-
-    .formations-list-item .process-usage {
-        -webkit-box-orient: vertical;
-        -moz-box-orient: vertical;
-        box-orient: vertical;
-        -webkit-box-direction: normal;
-        -moz-box-direction: normal;
-        box-direction: normal;
-        -webkit-flex-direction: column;
-        -moz-flex-direction: column;
-        flex-direction: column;
-        -ms-flex-direction: column;
-        -webkit-flex-basis: 120px;
-        -moz-flex-basis: 120px;
-        flex-basis: 120px;
-        -ms-flex-preferred-size: 120px;
-        margin-left: auto
-    }
-}
-
-.formations-list-item .actions, .formations-list-item .actions__edit {
-    display: -webkit-box;
-    display: -moz-box;
-    display: box;
-    display: -webkit-flex;
-    display: -moz-flex;
-    display: -ms-flexbox;
-    display: flex;
-    -webkit-box-align: center;
-    -moz-box-align: center;
-    box-align: center;
-    -webkit-align-items: center;
-    -moz-align-items: center;
-    -ms-align-items: center;
-    -o-align-items: center;
-    align-items: center;
-    -ms-flex-align: center
-}
-
-.formations-list-item .actions__edit svg {
-    width: 12px;
-    height: 12px
-}
-
-.formations-list-item .actions__edit svg path {
-    fill: #79589F
-}
-
-.formations-list-item .process-actions {
-    display: -webkit-box;
-    display: -moz-box;
-    display: box;
-    display: -webkit-flex;
-    display: -moz-flex;
-    display: -ms-flexbox;
-    display: flex;
-    -webkit-box-align: center;
-    -moz-box-align: center;
-    box-align: center;
-    -webkit-align-items: center;
-    -moz-align-items: center;
-    -ms-align-items: center;
-    -o-align-items: center;
-    align-items: center;
-    -ms-flex-align: center;
-    -webkit-box-ordinal-group: 2;
-    -moz-box-ordinal-group: 2;
-    box-ordinal-group: 2;
-    -webkit-order: 2;
-    -moz-order: 2;
-    order: 2;
-    -ms-flex-order: 2;
-    -webkit-flex-shrink: 0;
-    -moz-flex-shrink: 0;
-    flex-shrink: 0;
-    -ms-flex-negative: 0;
-    margin-left: 20px
-}
-
-@media (max-width: 36rem) {
-    .formations-list-item .process-actions {
-        -webkit-align-self: flex-start;
-        -moz-align-self: flex-start;
-        align-self: flex-start;
-        -ms-flex-item-align: start;
-        -webkit-flex-basis: 100%;
-        -moz-flex-basis: 100%;
-        flex-basis: 100%;
-        -ms-flex-preferred-size: 100%;
-        -webkit-box-flex: 1;
-        -moz-box-flex: 1;
-        box-flex: 1;
-        -webkit-flex: 1 100%;
-        -moz-flex: 1 100%;
-        -ms-flex: 1 100%;
-        flex: 1 100%;
-        -webkit-box-ordinal-group: 3;
-        -moz-box-ordinal-group: 3;
-        box-ordinal-group: 3;
-        -webkit-order: 3;
-        -moz-order: 3;
-        order: 3;
-        -ms-flex-order: 3;
-        margin: 10px 0 0
-    }
-
-    .formations-list-item .process-actions .btn {
-        -webkit-flex-grow: 1;
-        -moz-flex-grow: 1;
-        flex-grow: 1;
-        -ms-flex-positive: 1
-    }
-}
-
-.formations-list-item .editor {
-    -webkit-box-flex: 1;
-    -moz-box-flex: 1;
-    box-flex: 1;
-    -webkit-flex: 1 100%;
-    -moz-flex: 1 100%;
-    -ms-flex: 1 100%;
-    flex: 1 100%;
-    -webkit-box-ordinal-group: 2;
-    -moz-box-ordinal-group: 2;
-    box-ordinal-group: 2;
-    -webkit-order: 2;
-    -moz-order: 2;
-    order: 2;
-    -ms-flex-order: 2
-}
-
-.formations-list-item .editor-row {
-    -webkit-box-lines: multiple;
-    -moz-box-lines: multiple;
-    box-lines: multiple;
-    -webkit-flex-wrap: wrap;
-    -moz-flex-wrap: wrap;
-    -ms-flex-wrap: wrap;
-    flex-wrap: wrap
-}
-
-.formations-list-item .editor-item {
-    -webkit-box-lines: multiple;
-    -moz-box-lines: multiple;
-    box-lines: multiple;
-    -webkit-flex-wrap: wrap;
-    -moz-flex-wrap: wrap;
-    -ms-flex-wrap: wrap;
-    flex-wrap: wrap;
-    color: #56667D
-}
-
-.formations-list-item .editor-item-label {
-    min-width: 200px;
-    max-width: 200px
-}
-
-.formations-list-item .editor-item .description, .formations-list-item .editor-item .unit {
-    font-size: 13px;
-    color: #62738D
-}
-
-.formations-list-item .editor .input-group {
-    max-width: 140px
-}
-
-.formations-list-item .editor .input-group-addon {
-    background: #fff
-}
-
-.formations-list-item .editor .label--budget {
-    font-size: 13px;
-    color: #62738D;
-    margin: 4px 0 0
-}
-
-.formations-list-item .editor .label--budget.dirty {
-    color: #006DEB
-}
-
-.formations-list-item .dyno-size-options .drop-down__toggle, .formations-list-item .dyno-size-options .dropdown-toggle {
-    border: 0;
-    background-color: transparent;
-    box-shadow: none;
-    padding: 0;
-    text-align: left;
-    min-height: 48px;
-    min-width: 66px
-}
-
-.formations-list-item.use-toggle {
-    -webkit-box-orient: horizontal;
-    -moz-box-orient: horizontal;
-    box-orient: horizontal;
-    -webkit-box-direction: normal;
-    -moz-box-direction: normal;
-    box-direction: normal;
-    -webkit-flex-direction: row;
-    -moz-flex-direction: row;
-    flex-direction: row;
-    -ms-flex-direction: row;
-    -webkit-box-align: center;
-    -moz-box-align: center;
-    box-align: center;
-    -webkit-align-items: center;
-    -moz-align-items: center;
-    -ms-align-items: center;
-    -o-align-items: center;
-    align-items: center;
-    -ms-flex-align: center;
-    -webkit-box-lines: multiple;
-    -moz-box-lines: multiple;
-    box-lines: multiple;
-    -webkit-flex-wrap: wrap;
-    -moz-flex-wrap: wrap;
-    -ms-flex-wrap: wrap;
-    flex-wrap: wrap
-}
-
-@media (max-width: 24rem) {
-    .formations-list-item range-slider {
-        display: none
-    }
-
-    .formations-list-item.use-toggle {
-        -webkit-box-orient: vertical;
-        -moz-box-orient: vertical;
-        box-orient: vertical;
-        -webkit-box-direction: normal;
-        -moz-box-direction: normal;
-        box-direction: normal;
-        -webkit-flex-direction: column;
-        -moz-flex-direction: column;
-        flex-direction: column;
-        -ms-flex-direction: column;
-        white-space: nowrap;
-        text-overflow: ellipsis;
-        min-width: 0;
-        overflow: hidden
-    }
-
-    .formations-list-item.use-toggle .process {
-        display: -webkit-box;
-        display: -moz-box;
-        display: box;
-        display: -webkit-flex;
-        display: -moz-flex;
-        display: -ms-flexbox;
-        display: flex;
-        -webkit-box-orient: vertical;
-        -moz-box-orient: vertical;
-        box-orient: vertical;
-        -webkit-box-direction: normal;
-        -moz-box-direction: normal;
-        box-direction: normal;
-        -webkit-flex-direction: column;
-        -moz-flex-direction: column;
-        flex-direction: column;
-        -ms-flex-direction: column;
-        -webkit-box-align: start;
-        -moz-box-align: start;
-        box-align: start;
-        -webkit-align-items: flex-start;
-        -moz-align-items: flex-start;
-        -ms-align-items: flex-start;
-        -o-align-items: flex-start;
-        align-items: flex-start;
-        -ms-flex-align: start;
-        white-space: nowrap;
-        text-overflow: ellipsis;
-        min-width: 0;
-        overflow: hidden;
-        width: 100%
-    }
-
-    .formations-list-item.use-toggle .process-details {
-        margin-bottom: 12px
-    }
-}
-
-.formations-list-item.use-toggle .process {
-    -webkit-flex-grow: 1;
-    -moz-flex-grow: 1;
-    flex-grow: 1;
-    -ms-flex-positive: 1
-}
-
-.formations-list-item.use-toggle .process-details {
-    display: inline-block;
-    white-space: nowrap;
-    text-overflow: ellipsis;
-    min-width: 0;
-    overflow: hidden
-}
-
-.formations-list-item.use-toggle .command {
-    white-space: nowrap;
-    text-overflow: ellipsis;
-    min-width: 0
-}
-
-.formations-list-item.use-toggle .usage {
-    -webkit-flex-basis: 0;
-    -moz-flex-basis: 0;
-    flex-basis: 0;
-    -ms-flex-preferred-size: 0;
-    padding: 0
-}
-
-.formations-list-item.use-toggle .actions {
-    -webkit-box-ordinal-group: 3;
-    -moz-box-ordinal-group: 3;
-    box-ordinal-group: 3;
-    -webkit-order: 3;
-    -moz-order: 3;
-    order: 3;
-    -ms-flex-order: 3
-}
-
-.formation-range-slider {
-    display: -webkit-box;
-    display: -moz-box;
-    display: box;
-    display: -webkit-flex;
-    display: -moz-flex;
-    display: -ms-flexbox;
-    display: flex;
-    -webkit-box-align: center;
-    -moz-box-align: center;
-    box-align: center;
-    -webkit-align-items: center;
-    -moz-align-items: center;
-    -ms-align-items: center;
-    -o-align-items: center;
-    align-items: center;
-    -ms-flex-align: center
-}
-
-.formation-range-slider range-slider {
-    -webkit-flex-grow: 1;
-    -moz-flex-grow: 1;
-    flex-grow: 1;
-    -ms-flex-positive: 1;
-    -webkit-box-align: center;
-    -moz-box-align: center;
-    box-align: center;
-    -webkit-align-items: center;
-    -moz-align-items: center;
-    -ms-align-items: center;
-    -o-align-items: center;
-    align-items: center;
-    -ms-flex-align: center
-}
-
-.buildpack-installations-list .sortable-item.is-dragging {
-    position: relative;
-    left: -4px;
-    z-index: 100;
-    cursor: move;
-    opacity: .6
-}
-
-.buildpack-installations-list .handle {
-    cursor: move;
-    transition: fill 120ms ease
-}
-
-.buildpack-installations-list .handle:hover {
-    fill: #006DEB
-}
-
-#overview-page .app-overview-stream .header {
-    padding-bottom: 4px
-}
-
-#overview-page .event, #overview-page .formation {
-    display: block;
-    padding: 15px 0;
-    border-bottom: 1px solid #E3E7EF
-}
-
-#overview-page .event:last-child, #overview-page .formation:last-child {
-    border-bottom: none
-}
-
-#overview-page .formation-tier {
-    display: flex;
-    padding: 6px 15px;
-    font-size: 13px;
-    color: #62738D;
-    box-shadow: inset 0 -1px 0 #E3E7EF;
-    -webkit-box-lines: multiple;
-    -moz-box-lines: multiple;
-    box-lines: multiple;
-    -webkit-flex-wrap: wrap;
-    -moz-flex-wrap: wrap;
-    -ms-flex-wrap: wrap;
-    flex-wrap: wrap
-}
-
-#overview-page .formation-tier .panel-section .panel-details, #overview-page .formation-tier p, .panel-section #overview-page .formation-tier .panel-details {
-    margin: 0;
-    padding: 6px 0
-}
-
-#overview-page .formation-tier .quota-badge {
-    float: none;
-    margin: 3px -10px 3px auto
-}
-
-#overview-page .formation-tier .quota-badge__chart .panel-section .panel-details, #overview-page .formation-tier .quota-badge__chart p, .panel-section #overview-page .formation-tier .quota-badge__chart .panel-details {
-    margin: 0;
-    padding: 0
-}
-
-#overview-page .formation-tier .quota-badge__chart .panel-section .panel-details b, #overview-page .formation-tier .quota-badge__chart p b, .panel-section #overview-page .formation-tier .quota-badge__chart .panel-details b {
-    text-transform: none
-}
-
-#overview-page .collaborator-list {
-    overflow: auto
-}
-
-#overview-page .collaborator:nth-child(1) .avatar::after {
-    content: '';
-    background: url(data:image/png; base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAQCAYAAAAS7Y8mAAAAAXNSR0IArs4c6QAAAP1JREFUOBHFUUEKwkAMbFU8eOkn+pL2VOqDhD7D9wj6DA89FfUHIkKpM2VT05SlKygGhmQnk2m6G0X/jK7rCqBxKL62izNE6qMJMV5QBPncRg9lpuue9s6jwd+UmGyERg60Drn6iBhP5ldOFCvxWtVSdij6v0NmbUPPvL2wSQbUgESlJ0EepMHa9CrVo0em+7znUglY7ihA3hqex9L1dqbX89Y4NSIerwDv1ga5iyVxTsV0uA+QS5B3QN+X6ELyE6JNHMctxfIgkSPqEAePphbTkbETnz1DIfRodtj418bHkNU8Gv8sHxA4AZ8GZ/j4/oAgAfbADZgLaqhNrOMLYYKjk9arOOYAAAAASUVORK5CYII=) center center no-repeat #E4C991;
-    background-size: 10px 8px;
-    width: 12px;
-    height: 12px;
-    border-radius: 50%;
-    position: absolute;
-    top: -4px;
-    right: -4px;
-    box-shadow: 0 0 0 2px #fff
-}
-
-#overview-page .collaborator .stat {
-    color: #62738D;
-    text-align: right;
-    line-height: 12px;
-    padding-top: 4px
-}
-
-#overview-page .collaborator .stat b {
-    font-weight: 400;
-    color: #56667D
-}
-
-#overview-page .collaborator .stat .icon {
-    position: relative;
-    top: -2px;
-    margin-right: 2px
-}
-
-#overview-page .app-overview-metrics {
-    min-height: 230px
-}
-
-#overview-page .app-overview-metrics .metrics__summary-container {
-    min-height: 190px
-}
-
-#overview-page .app-overview-metrics .metrics__chart__wrapper {
-    padding: 0
-}
-
-#overview-page .app-overview-metrics .metrics__summary-row--favorite__link-wrapper {
-    display: -webkit-box;
-    display: -moz-box;
-    display: box;
-    display: -webkit-flex;
-    display: -moz-flex;
-    display: -ms-flexbox;
-    display: flex;
-    -webkit-flex-grow: 1;
-    -moz-flex-grow: 1;
-    flex-grow: 1;
-    -ms-flex-positive: 1;
-    -webkit-box-orient: vertical;
-    -moz-box-orient: vertical;
-    box-orient: vertical;
-    -webkit-box-direction: normal;
-    -moz-box-direction: normal;
-    box-direction: normal;
-    -webkit-flex-direction: column;
-    -moz-flex-direction: column;
-    flex-direction: column;
-    -ms-flex-direction: column;
-    background: #fff;
-    border-radius: 4px;
-    padding-bottom: 0;
-    margin-bottom: 32px;
-    overflow: hidden
-}
-
-@media (max-width: 767px) {
-    #overview-page .app-overview-metrics .metrics__summary-row--favorite__link-wrapper {
-        -webkit-box-lines: multiple;
-        -moz-box-lines: multiple;
-        box-lines: multiple;
-        -webkit-flex-wrap: wrap;
-        -moz-flex-wrap: wrap;
-        -ms-flex-wrap: wrap;
-        flex-wrap: wrap;
-        -webkit-box-orient: horizontal;
-        -moz-box-orient: horizontal;
-        box-orient: horizontal;
-        -webkit-box-direction: normal;
-        -moz-box-direction: normal;
-        box-direction: normal;
-        -webkit-flex-direction: row;
-        -moz-flex-direction: row;
-        flex-direction: row;
-        -ms-flex-direction: row
-    }
-}
-
-#overview-page .app-overview-metrics .metrics__summary-row__item {
-    margin-bottom: 0;
-    padding: 10px 0 0 10px;
-    -webkit-flex-grow: 1;
-    -moz-flex-grow: 1;
-    flex-grow: 1;
-    -ms-flex-positive: 1;
-    border-image: none;
-    border-bottom: 1px solid #E3E7EF;
-    border-right: 0
-}
-
-#overview-page .app-overview-metrics .metrics__summary-row__item:after, #overview-page .app-overview-metrics .metrics__summary-row__item:before {
-    display: none
-}
-
-#overview-page .app-overview-metrics .metrics__summary-row__item:last-child {
-    border-bottom: 0
-}
-
-#overview-page .app-overview-metrics .metrics__summary-row__item.metric-active-alerts, #overview-page .app-overview-metrics .metrics__summary-row__item.metric-error-count {
-    display: -webkit-box;
-    display: -moz-box;
-    display: box;
-    display: -webkit-flex;
-    display: -moz-flex;
-    display: -ms-flexbox;
-    display: flex;
-    -webkit-box-orient: horizontal;
-    -moz-box-orient: horizontal;
-    box-orient: horizontal;
-    -webkit-box-direction: normal;
-    -moz-box-direction: normal;
-    box-direction: normal;
-    -webkit-flex-direction: row;
-    -moz-flex-direction: row;
-    flex-direction: row;
-    -ms-flex-direction: row;
-    -webkit-box-lines: single;
-    -moz-box-lines: single;
-    box-lines: single;
-    -webkit-flex-wrap: nowrap;
-    -moz-flex-wrap: nowrap;
-    -ms-flex-wrap: nowrap;
-    flex-wrap: nowrap;
-    padding: 12px 20px 10px 10px;
-    font-size: 13px;
-    color: #56667D
-}
-
-@media (max-width: 767px) {
-    #overview-page .app-overview-metrics .metrics__summary-row__item {
-        border-bottom: 0;
-        border-right: 1px solid #E3E7EF;
-        border-image: none;
-        width: 33%
-    }
-
-    #overview-page .app-overview-metrics .metrics__summary-row__item:last-child {
-        border-right: 0
-    }
-
-    #overview-page .app-overview-metrics .metrics__summary-row__item.metric-active-alerts, #overview-page .app-overview-metrics .metrics__summary-row__item.metric-error-count {
-        width: 100%;
-        border-bottom: 1px solid #E3E7EF;
-        border-right: 0
-    }
-
-    #overview-page .app-overview-metrics timeseries-chart {
-        display: none
-    }
-}
-
-#overview-page .app-overview-metrics .metrics__summary-row__label {
-    font-size: 12px;
-    color: #62738D;
-    text-transform: capitalize
-}
-
-#overview-page .app-overview-metrics .metrics__summary-row__value {
-    font-size: 18px;
-    min-width: 60px;
-    color: #56667D;
-    margin: 0 10px 30px 0
-}
-
-#overview-page .app-overview-metrics .metrics__summary-row__unit {
-    font-size: 12px;
-    letter-spacing: 1px;
-    color: #62738D;
-    margin: 0 0 0 2px
-}
-
-#overview-page .app-overview-metrics timeseries-chart {
-    position: relative;
-    overflow: hidden;
-    border-radius: 0;
-    margin-bottom: 0
-}
-
-#overview-page .app-overview-metrics timeseries-chart::after {
-    content: '';
-    position: absolute;
-    top: 0;
-    bottom: -1px;
-    left: 0;
-    width: 50px;
-    background-color: transparent;
-    background-image: -webkit-linear-gradient(left, #fff, rgba(255, 255, 255, 0));
-    background-image: linear-gradient(to right, #fff, rgba(255, 255, 255, 0))
-}
-
-#overview-page .app-overview-metrics .has-no-errors {
-    display: none
-}
-
-#overview-page .addons-grid {
-    flex-wrap: wrap;
-    justify-content: space-between
-}
-
-#overview-page .addons-grid .addon {
-    flex: 0 50%;
-    border-bottom-width: 1px;
-    border-bottom-style: solid;
-    -webkit-box-align: start;
-    -moz-box-align: start;
-    box-align: start;
-    -webkit-align-items: flex-start;
-    -moz-align-items: flex-start;
-    -ms-align-items: flex-start;
-    -o-align-items: flex-start;
-    align-items: flex-start;
-    -ms-flex-align: start
-}
-
-#overview-page .addons-grid .addon:nth-last-child(1) {
-    border-bottom: none
-}
-
-@media (min-width: 500px) {
-    #overview-page .addons-grid .addon:nth-last-child(2):nth-child(odd) {
-        border-bottom: none
-    }
-
-    #overview-page .addons-grid .addon:nth-child(odd) {
-        border-right-width: 1px;
-        border-right-style: solid
-    }
-}
-
-@media (max-width: 500px) {
-    #overview-page .addons-grid .addon {
-        flex: 0 100%
-    }
-}
-
-#overview-page .addons-grid .addon .isDeprecated {
-    position: relative
-}
-
-#overview-page .addons-grid .addon .isDeprecated .icon {
-    position: absolute;
-    bottom: -2px;
-    right: -4px
-}
-
-#overview-page .addons-grid .addon .panel-section .panel-details, #overview-page .addons-grid .addon p, .panel-section #overview-page .addons-grid .addon .panel-details {
-    max-width: calc(100% - 32px);
-    -webkit-flex-grow: 1;
-    -moz-flex-grow: 1;
-    flex-grow: 1;
-    -ms-flex-positive: 1
-}
-
-#overview-page .addons-grid .addon a {
-    -webkit-flex-shrink: 0;
-    -moz-flex-shrink: 0;
-    flex-shrink: 0;
-    -ms-flex-negative: 0
-}
-
-#overview-page .addons-grid .addon .panel-section .panel-details, #overview-page .addons-grid .addon small, #overview-page .addons-grid .addon strong, .panel-section #overview-page .addons-grid .addon .panel-details {
-    display: block;
-    width: 100%;
-    overflow: hidden;
-    text-overflow: ellipsis;
-    white-space: nowrap
-}
-
-#overview-page .addons-grid .addon strong {
-    font-size: 13px
-}
-
-#overview-page .addons-grid .addon .panel-section .panel-details, #overview-page .addons-grid .addon small, .panel-section #overview-page .addons-grid .addon .panel-details {
-    color: #62738D
-}
-
-#overview-page .data-unavailable {
-    color: rgba(98, 115, 141, .5);
-    font-size: 13px;
-    margin-top: -2px;
-    margin-bottom: 22px;
-    padding-top: 14px;
-    padding-bottom: 14px;
-    text-align: center;
-    background: rgba(227, 231, 239, .3) !important
-}
-
-.github-linker .panel-section .panel-details, .github-linker p, .panel-section .github-linker .panel-details {
-    font-size: 13px;
-    color: #56667D;
-    line-height: 24px
-}
-
-.github-linker .panel-section .help-block.panel-details, .github-linker p.help-block, .panel-section .github-linker .help-block.panel-details {
-    padding-top: 4px
-}
-
-.github-linker .org-selection {
-    position: relative;
-    display: inline-block;
-    vertical-align: top;
-    width: calc(35% - 14px);
-    margin-right: 10px
-}
-
-.remote-terminal-did-exit, .terminal-container {
-    position: absolute;
-    left: 0;
-    right: 0;
-    bottom: 0
-}
-
-.github-linker .org-selection select {
-    width: 100%
-}
-
-@media (max-width: 767px) {
-    .github-linker .org-selection {
-        display: block;
-        width: 100%;
-        margin-bottom: 12px;
-        margin-right: 0
-    }
-}
-
-.github-linker .repo-selection {
-    display: inline-block;
-    vertical-align: top;
-    width: 65%
-}
-
-@media (max-width: 767px) {
-    .github-linker .repo-selection {
-        display: block;
-        width: 100%
-    }
-}
-
-#terminal-place-holder .terminal {
-    margin-left: 7px;
-    margin-bottom: 0
-}
-
-.terminal-container {
-    top: 40px
-}
-
-.ssl-slide-panel .hk-slide-panel-container form label {
-    font-size: 14px;
-    font-weight: 400
-}
-
-.ssl-slide-panel .hk-slide-panel-container .hk-slide-panel-content {
-    display: flex;
-    flex-direction: column
-}
-
-.ssl-slide-panel .hk-slide-panel-container .hk-slide-panel-content .file-drop {
-    padding: 15px;
-    border-radius: 4px;
-    box-shadow: none;
-    border: 2px dashed #CFD7E6;
-    background-color: #f7f8fb;
-    display: flex;
-    flex-direction: column
-}
-
-.ssl-slide-panel .hk-slide-panel-container .hk-slide-panel-content .file-drop.is-dragged-over {
-    background-color: #cce2fb;
-    border: 2px solid #006DEB
-}
-
-.ssl-slide-panel .hk-slide-panel-container .hk-slide-panel-content .file-drop .file-drop__header {
-    flex: 1;
-    align-items: center;
-    align-self: stretch;
-    position: relative;
-    top: 8px
-}
-
-.ssl-slide-panel .hk-slide-panel-container .hk-slide-panel-content .file-drop .file-drop__header__description {
-    font-size: 13px;
-    color: #62738D;
-    position: relative;
-    top: -6px
-}
-
-.ssl-slide-panel .hk-slide-panel-container .hk-slide-panel-content .file-drop .file-drop__footer {
-    font-size: 13px;
-    padding-bottom: 15px;
-    color: #62738D
-}
-
-.ssl-slide-panel .hk-slide-panel-container .hk-slide-panel-content .body {
-    flex: 1;
-    display: flex;
-    align-items: center;
-    text-align: center;
-    justify-content: center;
-    width: 100%;
-    flex-direction: column;
-    min-height: 200px
-}
-
-.ssl-slide-panel .hk-slide-panel-container .hk-slide-panel-content .body textarea {
-    flex: 1;
-    font-family: monospace
-}
-
-.ssl-slide-panel .hk-slide-panel-container .hk-slide-panel-content .body .ltr-dns-update {
-    display: flex;
-    justify-content: center
-}
-
-.ssl-slide-panel .hk-slide-panel-container .hk-slide-panel-content .body .ltr-dns-update .ltr-dns-update__from, .ssl-slide-panel .hk-slide-panel-container .hk-slide-panel-content .body .ltr-dns-update .ltr-dns-update__to {
-    width: 228px;
-    overflow-wrap: break-word;
-    word-wrap: break-word;
-    -ms-word-break: break-all;
-    word-break: break-all;
-    word-break: break-word
-}
-
-.ssl-slide-panel .hk-slide-panel-container .hk-slide-panel-content .footer button {
-    width: 100%
-}
-
-.process-stepper {
-    display: flex;
-    margin: -15px -15px 15px;
-    height: 32px;
-    line-height: 30px;
-    font-size: 12px;
-    box-shadow: inset 0 -1px 0 #E3E7EF
-}
-
-.process-stepper__step {
-    flex: 1;
-    font-weight: 700;
-    text-align: center;
-    color: #62738D;
-    border-right: 1px solid #E3E7EF
-}
-
-.process-stepper__step:last-child {
-    border-right: 0
-}
-
-.process-stepper__step:after {
-    content: " ";
-    display: block;
-    width: 0;
-    height: 0;
-    border-top: 16px solid transparent;
-    border-bottom: 16px solid transparent;
-    border-left: 8px solid transparent;
-    position: relative;
-    left: 100%;
-    top: -30px;
-    z-index: 200
-}
-
-.process-stepper__step--active {
-    background-color: #8669a9;
-    color: #fff
-}
-
-.process-stepper__step--active:after {
-    border-left-color: #8669a9
-}
-
-.process-stepper__step--done {
-    background-color: #E3E7EF;
-    color: #62738D;
-    box-shadow: inset 0 -1px 0 rgba(207, 215, 230, .5)
-}
-
-.process-stepper__step--done:after {
-    border-left-color: #E3E7EF
-}
-
-.account-quota-usage table .pie-chart {
-    position: absolute;
-    left: 2px;
-    top: 4px
-}
-
-svg.pie-chart {
-    width: 27px;
-    height: 27px;
-    transform: rotate(-90deg);
-    background: #008700;
-    border-radius: 100%;
-    border: 2px solid #62738D
-}
-
-svg.pie-chart circle {
-    fill: #fff;
-    stroke: #62738D;
-    stroke-width: 32
-}
-
-.confirmable-action > div {
-    display: inline
-}
-
-.content-box {
-    text-align: center;
-    width: 420px
-}
-
-.content-box .content-box--header {
-    padding: 25px 50px 15px
-}
-
-.content-box .content-box--body {
-    padding: 0 50px
-}
-
-.content-box .content-box--footer {
-    padding: 0 50px 15px
-}
-
-.content-box .content-box--header [class*=icon-hex-] {
-    margin-bottom: 15px
-}
-
-.content-box .content-box--header h2 {
-    color: #56667D;
-    font-size: 16px;
-    margin: 0 0 5px
-}
-
-.content-box .content-box--header .panel-section .panel-details, .content-box .content-box--header p, .panel-section .content-box .content-box--header .panel-details {
-    color: #62738D;
-    margin: 0
-}
-
-.content-box .content-box--body .panel-section .panel-details, .content-box .content-box--body p, .panel-section .content-box .content-box--body .panel-details {
-    font-size: 13px;
-    color: #62738D;
-    margin-bottom: 20px
-}
-
-.content-box .content-box--footer .btn {
-    margin-bottom: 10px
-}
-
-.content-box .message-banner {
-    margin: 0 -50px
-}
-
-range-slider {
-    display: -webkit-box;
-    display: -moz-box;
-    display: box;
-    display: -webkit-flex;
-    display: -moz-flex;
-    display: -ms-flexbox;
-    display: flex;
-    height: 14px;
-    position: relative;
-    border-radius: 5px;
-    background: rgba(227, 231, 239, .1);
-    box-shadow: inset 0 2px 6px 0 rgba(227, 231, 239, .2)
-}
-
-range-slider.disabled {
-    cursor: default
-}
-
-range-slider.disabled range-slider-fill {
-    background-color: rgba(0, 0, 0, 0);
-    background-image: -webkit-linear-gradient(left, rgba(121, 88, 159, .48), rgba(121, 88, 159, .92));
-    background-image: linear-gradient(to right, rgba(121, 88, 159, .48), rgba(121, 88, 159, .92));
-    border-color: #79589F
-}
-
-range-slider.disabled range-slider-fill.pre-min {
-    background: rgba(121, 88, 159, .48)
-}
-
-range-slider.disabled range-slider-fill.used {
-    background: rgba(121, 88, 159, .95)
-}
-
-range-slider.disabled range-slider-fill.headroom {
-    background: rgba(121, 88, 159, .14)
-}
-
-range-slider.disabled range-slider-value-indicator svg path {
-    fill: #79589F
-}
-
-range-slider .dyno-marker {
-    position: absolute;
-    width: 0;
-    height: 0;
-    left: 0;
-    top: 8px;
-    border-style: solid;
-    border-width: 5px 4px 0;
-    border-color: #006DEB transparent transparent
-}
-
-range-slider .tooltip {
-    opacity: 0
-}
-
-range-slider.is-down .tooltip, range-slider:hover .tooltip {
-    opacity: 1
-}
-
-range-slider .range-slider-ticks {
-    display: -webkit-box;
-    display: -moz-box;
-    display: box;
-    display: -webkit-flex;
-    display: -moz-flex;
-    display: -ms-flexbox;
-    display: flex;
-    -webkit-flex-grow: 1;
-    -moz-flex-grow: 1;
-    flex-grow: 1;
-    -ms-flex-positive: 1;
-    border-radius: 5px;
-    border: 1px solid #CFD7E6;
-    position: absolute;
-    width: 100%;
-    height: 100%;
-    top: 0;
-    left: 0;
-    pointer-events: none
-}
-
-range-slider .range-slider-tick {
-    width: 1px;
-    -webkit-flex-grow: 1;
-    -moz-flex-grow: 1;
-    flex-grow: 1;
-    -ms-flex-positive: 1;
-    border-right: 1px solid rgba(227, 231, 239, .8)
-}
-
-range-slider .range-slider-tick:last-child {
-    border: none
-}
-
-range-slider-fill {
-    pointer-events: none;
-    width: 50%;
-    height: 100%;
-    position: absolute;
-    top: 0;
-    left: 0;
-    opacity: .7;
-    border: 1px solid #006DEB;
-    max-width: 100%;
-    background-color: rgba(0, 0, 0, 0);
-    background-image: -webkit-linear-gradient(left, rgba(0, 109, 235, .48), rgba(0, 109, 235, .92));
-    background-image: linear-gradient(to right, rgba(0, 109, 235, .48), rgba(0, 109, 235, .92))
-}
-
-range-slider-fill.starts-at-min {
-    border-top-left-radius: 5px;
-    border-bottom-left-radius: 5px
-}
-
-range-slider-fill.ends-at-max {
-    border-top-right-radius: 5px;
-    border-bottom-right-radius: 5px
-}
-
-range-slider-fill.is-empty {
-    display: none
-}
-
-range-slider-fill.pre-min {
-    background: rgba(0, 109, 235, .36);
-    border-right: none
-}
-
-range-slider-fill.headroom {
-    background: rgba(0, 109, 235, .9)
-}
-
-range-slider-handle {
-    height: 25px;
-    width: 8px;
-    border-radius: 3px;
-    border: 1px solid #006DEB;
-    background: #fff;
-    position: relative;
-    margin-left: -4px;
-    display: -webkit-box;
-    display: -moz-box;
-    display: box;
-    display: -webkit-flex;
-    display: -moz-flex;
-    display: -ms-flexbox;
-    display: flex;
-    -webkit-box-pack: center;
-    -moz-box-pack: center;
-    box-pack: center;
-    -webkit-justify-content: center;
-    -moz-justify-content: center;
-    -ms-justify-content: center;
-    -o-justify-content: center;
-    justify-content: center;
-    -ms-flex-pack: center;
-    -webkit-align-self: center;
-    -moz-align-self: center;
-    align-self: center;
-    -ms-flex-item-align: center
-}
-
-range-slider-handle .tooltip {
-    bottom: 26px
-}
-
-range-slider-handle.min {
-    -webkit-box-pack: end;
-    -moz-box-pack: end;
-    box-pack: end;
-    -webkit-justify-content: flex-end;
-    -moz-justify-content: flex-end;
-    -ms-justify-content: flex-end;
-    -o-justify-content: flex-end;
-    justify-content: flex-end;
-    -ms-flex-pack: end
-}
-
-range-slider-handle.min .tooltip {
-    -webkit-transform: translateX(-4px);
-    -moz-transform: translateX(-4px);
-    -ms-transform: translateX(-4px);
-    -o-transform: translateX(-4px);
-    transform: translateX(-4px)
-}
-
-range-slider-handle.min .tooltip .tooltip-inner {
-    border-bottom-right-radius: 0
-}
-
-range-slider-handle.min .tooltip .tooltip-arrow {
-    border-width: 0 5px 5px 0;
-    border-color: transparent #56667D transparent transparent;
-    left: auto;
-    right: 0
-}
-
-range-slider-handle.max {
-    -webkit-box-pack: start;
-    -moz-box-pack: start;
-    box-pack: start;
-    -webkit-justify-content: flex-start;
-    -moz-justify-content: flex-start;
-    -ms-justify-content: flex-start;
-    -o-justify-content: flex-start;
-    justify-content: flex-start;
-    -ms-flex-pack: start;
-    right: 4px
-}
-
-range-slider-handle.max .tooltip {
-    -webkit-transform: translateX(4px);
-    -moz-transform: translateX(4px);
-    -ms-transform: translateX(4px);
-    -o-transform: translateX(4px);
-    transform: translateX(4px)
-}
-
-range-slider-handle.max .tooltip .tooltip-inner {
-    border-bottom-left-radius: 0
-}
-
-range-slider-handle.max .tooltip .tooltip-arrow {
-    left: 5px;
-    border-width: 5px 5px 0 0
-}
-
-range-slider-value-indicator {
-    pointer-events: none;
-    position: absolute;
-    top: -15px;
-    left: -4.5px
-}
-
-.x-identicon.x-identicon--account-small, .x-identicon.x-identicon--small {
-    width: 20px;
-    height: 20px
-}
-
-.x-identicon.x-identicon--account-small span, .x-identicon.x-identicon--small span {
-    font-size: 11px
-}
-
-.x-identicon.x-identicon--large {
-    width: 48px;
-    height: 48px
-}
-
-.x-identicon.x-identicon--large span {
-    font-size: 22px
-}
-
-.hk-braintree-hosted-fields {
-    line-height: 20px;
-    transition: background ease .1s, border-color ease .1s;
-    -webkit-appearance: none;
-    -moz-appearance: none;
-    outline: 0;
-    border-radius: 4px;
-    border-style: solid;
-    border-width: 1px;
-    font-size: 13px;
-    background-color: #fff;
-    border-color: #cfd7e6;
-    box-shadow: inset 0 1px 2px 0 rgba(207, 215, 230, .4)
-}
-
-.stencil, .stencil-box {
-    background-color: rgba(86, 102, 125, .1) !important;
-    color: transparent !important
-}
-
-.hk-braintree-hosted-fields-focused {
-    outline: 0;
-    border-color: #79589f;
-    box-shadow: 0 0 0 2px rgba(157, 112, 208, .4)
-}
-
-.hk-braintree-hosted-fields.hk-braintree-hosted-fields-invalid {
-    border-color: #de7575
-}
-
-.hk-braintree-hosted-fields-focused.hk-braintree-hosted-fields-invalid {
-    outline: 0;
-    border-color: #de0a0a;
-    box-shadow: 0 0 0 2px rgba(229, 143, 143, .4)
-}
-
-.hk-braintree-hosted-fields.hk-braintree-hosted-fields-valid {
-    border-color: #86cf95
-}
-
-.hk-braintree-hosted-fields-focused.hk-braintree-hosted-fields-valid {
-    outline: 0;
-    border-color: #059e1c;
-    box-shadow: 0 0 0 2px rgba(171, 215, 180, .4)
-}
-
-.ember-power-select-trigger, .ember-power-select-trigger--active, .ember-power-select-trigger:focus {
-    border-top: 1px solid #cfd7e6;
-    border-bottom: 1px solid #cfd7e6;
-    border-right: 1px solid #cfd7e6;
-    border-left: 1px solid #cfd7e6
-}
-
-.stencil {
-    border-radius: 30px;
-    padding: 0 !important;
-    font-size: 9px !important
-}
-
-.stencil-box {
-    box-shadow: none
-}
-
-@-webkit-keyframes fadeIn {
-    from {
-        opacity: 0
-    }
-    to {
-        opacity: 1
-    }
-}
-
-@-moz-keyframes fadeIn {
-    from {
-        opacity: 0
-    }
-    to {
-        opacity: 1
-    }
-}
-
-@-o-keyframes fadeIn {
-    from {
-        opacity: 0
-    }
-    to {
-        opacity: 1
-    }
-}
-
-@keyframes fadeIn {
-    from {
-        opacity: 0
-    }
-    to {
-        opacity: 1
-    }
-}
-
-.anim-fade-in {
-    -webkit-animation-duration: .6s;
-    animation-duration: .6s;
-    -webkit-animation-fill-mode: both;
-    animation-fill-mode: both;
-    -webkit-animation-name: fadeIn;
-    animation-name: fadeIn
-}
-
-@-webkit-keyframes pulse {
-    0%, 100% {
-        opacity: .2
-    }
-    50% {
-        opacity: 1
-    }
-}
-
-@-moz-keyframes pulse {
-    0%, 100% {
-        opacity: .2
-    }
-    50% {
-        opacity: 1
-    }
-}
-
-@-o-keyframes pulse {
-    0%, 100% {
-        opacity: .2
-    }
-    50% {
-        opacity: 1
-    }
-}
-
-@keyframes pulse {
-    0%, 100% {
-        opacity: .2
-    }
-    50% {
-        opacity: 1
-    }
-}
-
-.anim-pulse {
-    -webkit-animation-duration: 3s;
-    animation-duration: 3s;
-    -webkit-animation-fill-mode: both;
-    animation-fill-mode: both;
-    -webkit-animation-name: pulse;
-    animation-name: pulse;
-    -webkit-animation-iteration-count: infinite;
-    animation-iteration-count: infinite
-}
-
-.stencil-apps-list-item > div, .stencil-spaces-list-item > div {
-    max-width: 1240px
-}
-
-.stencil-process-switcher {
-    box-shadow: inset 0 0 0 1px #cfd7e6;
-    border-radius: 4px;
-    height: 52px;
-    align-items: center;
-    padding-top: 4px
-}
-
-.stencil-process-switcher div.bg-light-silver {
-    width: 16px;
-    height: 16px
-}
-
-.bulk-app-transfer .apps-list-container, .pipeline-transfer-list .apps-list-container {
-    -webkit-transition: flex-shrink .4s cubic-bezier(.3, 0, 0, 1);
-    -o-transition: flex-shrink .4s cubic-bezier(.3, 0, 0, 1);
-    transition: flex-shrink .4s cubic-bezier(.3, 0, 0, 1);
-    flex-basis: 100%
-}
-
-.bottom-slide-panel .app-container {
-    -webkit-transition: left .25s ease-out, opacity .25s ease-out;
-    -o-transition: left .25s ease-out, opacity .25s ease-out;
-    transition: left .25s ease-out, opacity .25s ease-out;
-    position: relative;
-    left: 0
-}
-
-.bottom-slide-panel.transfers-complete .app-container {
-    opacity: 0;
-    left: -50px
-}
-
-.bottom-slide-panel .icon-arrow {
-    -webkit-transition: left .25s ease-out, opacity .25s ease-out;
-    -o-transition: left .25s ease-out, opacity .25s ease-out;
-    transition: left .25s ease-out, opacity .25s ease-out;
-    position: relative;
-    left: -3px;
-    top: 0
-}
-
-.bottom-slide-panel.transfers-complete .icon-arrow {
-    opacity: 0;
-    left: -40px
-}
-
-.bottom-slide-panel .summary {
-    -webkit-transition: transform 1s ease-out .2s, opacity .25s ease-out .3s;
-    -o-transition: transform 1s ease-out .2s, opacity .25s ease-out .3s;
-    transition: transform 1s ease-out .2s, opacity .25s ease-out .3s
-}
-
-.bottom-slide-panel.transfers-complete .summary {
-    opacity: 0;
-    transform: translate3d(-100%, 0, 0)
-}
-
-.bottom-slide-panel .conclusion {
-    -webkit-transition: transform .25s ease-out .2s, opacity .5s ease-out .5s;
-    -o-transition: transform .25s ease-out .2s, opacity .5s ease-out .5s;
-    transition: transform .25s ease-out .2s, opacity .5s ease-out .5s;
-    opacity: 0
-}
-
-.bottom-slide-panel.transfers-complete .conclusion {
-    opacity: 1;
-    transform: translate3d(-100%, 0, 0)
-}
-
-.bottom-slide-panel .identicon-container {
-    -webkit-transition: left .25s ease-out .15s;
-    -o-transition: left .25s ease-out .15s;
-    transition: left .25s ease-out .15s;
-    position: relative;
-    left: 0
-}
-
-.bottom-slide-panel .identicon-container .check {
-    -webkit-transition: transform .2s cubic-bezier(.175, .885, .32, 1.275) .7s;
-    -o-transition: transform .2s cubic-bezier(.175, .885, .32, 1.275) .7s;
-    transition: transform .2s cubic-bezier(.175, .885, .32, 1.275) .7s;
-    transform: scale(0)
-}
-
-.bottom-slide-panel.transfers-complete .identicon-container {
-    left: -50px
-}
-
-.pipeline-transfer-list.transfer-with-apps .bottom-slide-panel.transfers-complete .identicon-container {
-    left: -62px
-}
-
-.bottom-slide-panel.transfers-complete .identicon-container .check {
-    transform: scale(1.25)
-}
-
-.bottom-slide-panel .message-container {
-    position: relative;
-    overflow: hidden
-}
-
-.cp-validating-gravatar-input .gravatar-icon {
-    position: absolute;
-    top: 1px;
-    left: 1px;
-    border-radius: unset
-}
-
-.cp-validating-gravatar-input .gravatar-icon img {
-    border-radius: 3px 0 0 3px
-}
-
-.pipeline-selector .pipeline-selection {
-    max-height: 250px;
-    overflow: auto;
-    width: 100%
-}
-
-.display-formation-list progress {
-    height: 4px
-}
-
-.display-formation-list progress::-webkit-progress-bar {
-    background: rgba(227, 231, 239, .8);
-    border-radius: 2px;
-    box-shadow: none
-}
-
-.display-formation-list progress::-webkit-progress-value {
-    background: #79589f
-}
-
-.web-hook-deliveries-list .expanded {
-    transform: rotate(90deg);
-    transform-origin: 45% 53%
-}
-
-.web-hook-deliveries-list pre {
-    max-height: 350px;
-    min-height: 75px
-}
-
-.nps-modal {
-    width: 600px
-}
-
-.nps-modal-content .w-49 {
-    width: 49%
-}
-
-.nps-modal-content .selected {
-    background-color: #F7F8FB
-}
-
-.two-factor-catch-all--full-screen {
-    z-index: 200;
-    height: calc(100vh - 50px)
-}
-
-.two-factor-catch-all--full-screen .two-factor-catch-all {
-    margin-top: 0;
-    top: 53px;
-    left: 0;
-    position: fixed
-}
-
-body.two-factor-catch-all-is-open #hk-slide-panels, body.two-factor-catch-all-is-open #modal-overlays {
-    display: none;
-    visibility: hidden !important;
-    height: 0;
-    width: 0
-}
-
-.app-function .c3-tooltip-container, .function-app .c3-tooltip-container {
-    background-color: #323B49;
-    color: #fff;
-    text-align: center;
-    padding: 5px;
-    border-radius: 6px;
-    transition: opacity .6s
-}
-
-.app-function .c3-tooltip-container tr, .function-app .c3-tooltip-container tr {
-    float: left
-}
-
-.app-function .c3-tooltip-container td, .function-app .c3-tooltip-container td {
-    padding-right: 5px;
-    padding-left: 5px
-}
-
-.app-function .c3-chart-bar ._expanded_, .function-app .c3-chart-bar ._expanded_ {
-    stroke: #9370db !important;
-    fill: #9370db !important
-}
-
-.c3 line, .c3 path {
-    fill: none
-}
-
-table.functions th:first-child {
-    border-top-left-radius: 3px
-}
-
-table.functions th:last-child {
-    border-top-right-radius: 3px
-}
-
-.ember-basic-dropdown {
-    position: relative
-}
-
-.ember-basic-dropdown, .ember-basic-dropdown-content, .ember-basic-dropdown-content * {
-    box-sizing: border-box
-}
-
-.ember-basic-dropdown-content {
-    position: absolute;
-    width: auto;
-    z-index: 1000;
-    background-color: #fff
-}
-
-.ember-basic-dropdown-content--left {
-    left: 0
-}
-
-.ember-basic-dropdown-content--right {
-    right: 0
-}
-
-.ember-basic-dropdown-overlay {
-    position: fixed;
-    background: rgba(0, 0, 0, .5);
-    width: 100%;
-    height: 100%;
-    z-index: 10;
-    top: 0;
-    left: 0;
-    pointer-events: none
-}
-
-.ember-basic-dropdown-content-wormhole-origin {
-    display: inline
-}
-
-.ember-power-select-dropdown * {
-    box-sizing: border-box
-}
-
-.ember-power-select-trigger {
-    position: relative;
-    border-radius: 4px;
-    background-color: #fff;
-    line-height: 1.75;
-    overflow-x: hidden;
-    text-overflow: ellipsis;
-    min-height: 1.75em;
-    user-select: none;
-    -webkit-user-select: none;
-    color: inherit
-}
-
-.ember-power-select-trigger:after {
-    content: "";
-    display: table;
-    clear: both
-}
-
-.ember-power-select-trigger--active, .ember-power-select-trigger:focus {
-    outline: 0
-}
-
-.ember-basic-dropdown-trigger--below.ember-power-select-trigger[aria-expanded=true], .ember-basic-dropdown-trigger--in-place.ember-power-select-trigger[aria-expanded=true] {
-    border-bottom-left-radius: 4px;
-    border-bottom-right-radius: 4px
-}
-
-.ember-basic-dropdown-trigger--above.ember-power-select-trigger[aria-expanded=true] {
-    border-top-left-radius: 4px;
-    border-top-right-radius: 4px
-}
-
-.ember-power-select-placeholder {
-    color: #999;
-    display: block;
-    overflow-x: hidden;
-    white-space: nowrap;
-    text-overflow: ellipsis
-}
-
-.ember-power-select-status-icon {
-    position: absolute;
-    width: 0;
-    height: 0;
-    top: 0;
-    bottom: 0;
-    margin: auto;
-    border-style: solid;
-    border-width: 7px 4px 0;
-    border-color: #cfd7e6 transparent transparent
-}
-
-.ember-basic-dropdown-trigger[aria-expanded=true] .ember-power-select-status-icon {
-    transform: rotate(180deg)
-}
-
-.ember-power-select-clear-btn {
-    position: absolute
-}
-
-.ember-power-select-trigger-multiple-input {
-    font-family: inherit;
-    font-size: inherit;
-    border: none;
-    display: inline-block;
-    line-height: inherit;
-    -webkit-appearance: none;
-    outline: 0;
-    padding: 0;
-    float: left;
-    background-color: transparent;
-    text-indent: 2px
-}
-
-.ember-power-select-trigger-multiple-input:disabled {
-    background-color: #eee
-}
-
-.ember-power-select-trigger-multiple-input::placeholder {
-    opacity: 1;
-    color: #999
-}
-
-.ember-power-select-trigger-multiple-input::-webkit-input-placeholder {
-    opacity: 1;
-    color: #999
-}
-
-.ember-power-select-trigger-multiple-input::-moz-placeholder {
-    opacity: 1;
-    color: #999
-}
-
-.ember-power-select-trigger-multiple-input::-ms-input-placeholder {
-    opacity: 1;
-    color: #999
-}
-
-.ember-power-select-multiple-options {
-    padding: 0;
-    margin: 0
-}
-
-.ember-power-select-multiple-option {
-    border: 1px solid gray;
-    border-radius: 4px;
-    color: #333;
-    background-color: #e4e4e4;
-    padding: 0 4px;
-    display: inline-block;
-    line-height: 1.45;
-    float: left;
-    margin: 2px 0 2px 3px
-}
-
-.ember-power-select-multiple-remove-btn:not(:hover) {
-    opacity: .5
-}
-
-.ember-power-select-search-input {
-    border: 1px solid #cfd7e6;
-    border-radius: 4px;
-    width: 100%;
-    font-size: inherit;
-    line-height: inherit;
-    padding: 0 5px
-}
-
-.ember-power-select-search-input:focus {
-    border: 1px solid #79589f;
-    box-shadow: 0 0 0 2px rgba(157, 112, 208, .4);
-    outline: 0
-}
-
-.ember-power-select-dropdown {
-    border-left: none;
-    border-right: none;
-    line-height: 1.75;
-    border-radius: 4px;
-    box-shadow: 0 0 0 1px rgba(89, 105, 129, .1), 0 3px 20px 0 rgba(89, 105, 129, .3), 0 1px 2px 0 rgba(0, 0, 0, .05);
-    overflow: hidden;
-    color: inherit
-}
-
-.ember-power-select-dropdown.ember-basic-dropdown-content--above {
-    transform: translateY(calc(-1 * 3px));
-    border-top: none;
-    border-bottom: none;
-    border-bottom-left-radius: 4px;
-    border-bottom-right-radius: 4px
-}
-
-.ember-power-select-dropdown.ember-basic-dropdown-content--below, .ember-power-select-dropdown.ember-basic-dropdown-content--in-place {
-    transform: translateY(3px);
-    border-top: none;
-    border-bottom: none;
-    border-top-left-radius: 4px;
-    border-top-right-radius: 4px
-}
-
-.ember-power-select-dropdown.ember-basic-dropdown-content--in-place {
-    width: 100%
-}
-
-.ember-power-select-options {
-    list-style: none;
-    margin: 0;
-    padding: 0;
-    user-select: none;
-    -webkit-user-select: none
-}
-
-.ember-power-select-option {
-    padding: 0 8px
-}
-
-.ember-power-select-group[aria-disabled=true] {
-    color: #999;
-    cursor: not-allowed
-}
-
-.ember-power-select-group[aria-disabled=true] .ember-power-select-option, .ember-power-select-option[aria-disabled=true] {
-    color: #999;
-    pointer-events: none;
-    cursor: not-allowed
-}
-
-.ember-power-select-option[aria-selected=true] {
-    background-color: #f7f8fb
-}
-
-.ember-power-select-option[aria-current=true] {
-    background-color: #f7f8fb;
-    color: inherit
-}
-
-.ember-power-select-group-name {
-    cursor: default;
-    font-weight: 700
-}
-
-.ember-power-select-trigger[aria-disabled=true] {
-    background-color: #eee
-}
-
-.ember-power-select-trigger {
-    padding: 0 16px 0 0;
-    -ms-flex-align: center;
-    align-items: center
-}
-
-.ember-power-select-placeholder, .ember-power-select-selected-item {
-    margin-left: 8px
-}
-
-.ember-power-select-status-icon {
-    right: 5px;
-    display: none
-}
-
-.ember-power-select-clear-btn {
-    right: 25px
-}
-
-.ember-power-select-group .ember-power-select-group .ember-power-select-group-name {
-    padding-left: 24px
-}
-
-.ember-power-select-group .ember-power-select-group .ember-power-select-option {
-    padding-left: 40px
-}
-
-.ember-power-select-trigger[dir=rtl] {
-    padding: 0 0 0 16px
-}
-
-.ember-power-select-trigger[dir=rtl] .ember-power-select-placeholder, .ember-power-select-trigger[dir=rtl] .ember-power-select-selected-item {
-    margin-right: 8px
-}
-
-.ember-power-select-trigger[dir=rtl] .ember-power-select-multiple-option, .ember-power-select-trigger[dir=rtl] .ember-power-select-trigger-multiple-input {
-    float: right
-}
-
-.ember-power-select-trigger[dir=rtl] .ember-power-select-status-icon {
-    left: 5px;
-    right: initial
-}
-
-.ember-power-select-trigger[dir=rtl] .ember-power-select-clear-btn {
-    left: 25px;
-    right: initial
-}
-
-.ember-power-select-dropdown[dir=rtl] .ember-power-select-group .ember-power-select-group .ember-power-select-group-name {
-    padding-right: 24px
-}
-
-.ember-power-select-dropdown[dir=rtl] .ember-power-select-group .ember-power-select-group .ember-power-select-option {
-    padding-right: 40px
-}
-
-.ember-power-select-dropdown[dir=rtl] .ember-power-select-group .ember-power-select-option {
-    padding-right: 24px
-}
-
-.ember-power-select-dropdown[dir=rtl] .ember-power-select-group .ember-power-select-group-name {
-    padding-right: 8px
-}
-
-.ember-power-select-trigger--active, .ember-power-select-trigger:focus {
-    box-shadow: 0 1px 3px 0 rgba(89, 105, 129, .05), 0 1px 1px 0 rgba(0, 0, 0, .025)
-}
-
-.ember-power-select-options[role=listbox] {
-    overflow-y: auto;
-    -webkit-overflow-scrolling: touch;
-    padding: 5px 0;
-    max-height: 300px
-}
-
-.ember-power-select-search {
-    padding: 10px;
-    border-bottom: 1px solid #e3e7ef
-}
-
-.ember-power-select-search .ember-power-select-search-input {
-    padding: 5px 10px;
-    box-shadow: inset 0 1px 2px 0 rgba(207, 215, 230, .4);
-    line-height: 20px
-}
-
-.ember-power-select-search .ember-power-select-search-input:focus {
-    box-shadow: 0 0 0 2px rgba(157, 112, 208, .4)
-}
-
-.nav.nav-tabs, .nav.nav-tabs li a {
-    box-shadow: inset 0 -1px 0 #e7ebf3
-}
-
-.ember-power-select-search .ember-power-select-search-input::placeholder {
-    color: #62738D
-}
-
-.ember-power-select-group .ember-power-select-group-name {
-    font-size: 13px;
-    color: #56667D;
-    line-height: 24px;
-    padding-left: 10px
-}
-
-.ember-power-select-group .ember-power-select-option {
-    font-size: 13px;
-    line-height: 24px;
-    padding-left: 20px
-}
-
-.ember-basic-dropdown-trigger--below.br--right.ember-power-select-trigger[aria-expanded=true], .ember-basic-dropdown-trigger--in-place.br--right.ember-power-select-trigger[aria-expanded=true], .ember-power-select-trigger.br--right {
-    border-top-left-radius: 0;
-    border-bottom-left-radius: 0
-}
-
-* {
-    -webkit-font-smoothing: subpixel-antialiased !important;
-    text-decoration-skip: ink !important;
-    -webkit-text-decoration-skip: ink !important
-}
-
-@media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min--moz-device-pixel-ratio: 2), only screen and (-o-min-device-pixel-ratio: 2 / 1), only screen and (min-device-pixel-ratio: 2), only screen and (min-resolution: 192dpi), only screen and (min-resolution: 2dppx) {
-    * {
-        -webkit-font-smoothing: antialiased !important;
-        -moz-osx-font-smoothing: grayscale
-    }
-}
-
-.nav.nav-pills li a, .nav.nav-tabs li a {
-    -webkit-font-smoothing: subpixel-antialiased;
-    -webkit-transition: opacity ease .3s
-}
-
-html {
-    position: relative;
-    height: 100vH;
-    background-color: #fff
-}
-
-body {
-    font-family: salesforce-sans, "Helvetica Neue", helvetica, arial, sans-serif;
-    min-width: 320px;
-    min-height: 100vH;
-    padding-top: 50px;
-    background: 0 0
-}
-
-nav.glostick {
-    position: fixed;
-    top: 0;
-    left: 0;
-    right: 0;
-    z-index: 49;
-    font-family: salesforce-sans, "Helvetica Neue", helvetica, arial, sans-serif !important
-}
-
-nav.glostick .glostick__menu {
-    max-height: calc(100vH - 64px);
-    overflow: auto
-}
-
-@media screen and (max-width: 600px) {
-    nav.glostick .glostick__menu {
-        max-height: calc(100vH - 20px - 46px);
-        top: 56px
-    }
-}
-
-.icon {
-    vertical-align: middle
-}
-
-h2 {
-    margin-top: 0
-}
-
-.main-panel {
-    display: flex;
-    box-orient: vertical;
-    -webkit-box-direction: normal;
-    -moz-box-direction: normal;
-    box-direction: normal;
-    -moz-flex-direction: column;
-    flex-direction: column;
-    -ms-flex-direction: column;
-    -webkit-flex-grow: 1;
-    -moz-flex-grow: 1;
-    flex-grow: 1;
-    -ms-flex-positive: 1
-}
-
-@media (max-width: 767px) {
-    .main-panel {
-        padding-left: 0
-    }
-}
-
-.main-content, .section-content, .top-nav .section-content {
-    padding: 0 20px
-}
-
-.main-content {
-    display: flex;
-    position: relative;
-    background: #fff;
-    -webkit-box-orient: vertical;
-    -moz-box-orient: vertical;
-    box-orient: vertical;
-    -webkit-box-direction: normal;
-    -moz-box-direction: normal;
-    box-direction: normal;
-    -webkit-flex-direction: column;
-    -moz-flex-direction: column;
-    flex-direction: column;
-    -ms-flex-direction: column;
-    -webkit-flex-grow: 1;
-    -moz-flex-grow: 1;
-    flex-grow: 1;
-    -ms-flex-positive: 1;
-    -webkit-flex-shrink: 0;
-    -moz-flex-shrink: 0;
-    flex-shrink: 0;
-    -ms-flex-negative: 0
-}
-
-.scrollable-container {
-    overflow: auto;
-    max-height: 100%;
-    height: 100%;
-    -webkit-overflow-scrolling: touch
-}
-
-.gravatar-icon {
-    position: relative;
-    display: inline-block;
-    vertical-align: middle;
-    overflow: hidden;
-    -webkit-flex-shrink: 0;
-    -moz-flex-shrink: 0;
-    flex-shrink: 0;
-    -ms-flex-negative: 0
-}
-
-.gravatar-icon img {
-    position: absolute;
-    top: 0;
-    left: 0;
-    width: 100%;
-    height: 100%
-}
-
-.section-header .action-buttons {
-    margin-bottom: 10px;
-    text-align: right
-}
-
-.item-changed-value {
-    color: #006DEB
-}
-
-.container-fluid {
-    padding: 0
-}
-
-.page-breadcrumb {
-    color: #62738D;
-    font-weight: 700;
-    font-size: 12px;
-    padding-bottom: 20px
-}
-
-.page-breadcrumb i {
-    position: relative;
-    top: -2px;
-    margin: 0 10px
-}
-
-.list-group-item.active {
-    z-index: 0
-}
-
-.list-group-item:first-of-type {
-    border-top-right-radius: none;
-    border-top-left-radius: none
-}
-
-.list-group-item:last-of-type {
-    margin-bottom: 0;
-    border-bottom-right-radius: none;
-    border-bottom-left-radius: none
-}
-
-.huge-text {
-    text-align: center;
-    font-size: 180px;
-    font-weight: 200;
-    color: #CFD7E6
-}
-
-@media (max-width: 991px) {
-    .main-panel {
-        width: 100%
-    }
-
-    .huge-text {
-        font-size: 140px
-    }
-}
-
-.huge-text img {
-    width: 140px;
-    margin: 0 auto
-}
-
-.error-text {
-    width: 420px;
-    margin: 0 auto;
-    text-align: center;
-    color: #62738D
-}
-
-@media (max-width: 991px) {
-    .error-text {
-        width: 100%
-    }
-}
-
-.error-text .panel-section .panel-details, .error-text p, .panel-section .error-text .panel-details {
-    font-size: 13px
-}
-
-.error-text .panel-section .panel-details:first-of-type, .error-text p:first-of-type, .panel-section .error-text .panel-details:first-of-type {
-    font-weight: 400;
-    font-size: 16px
-}
-
-.message-banner.warning .message-banner-text, .nav.nav-tabs li a .panel-section .connected.panel-details, .nav.nav-tabs li a small.connected, .panel-section .nav.nav-tabs li a .connected.panel-details {
-    font-weight: 700
-}
-
-.error-text .panel-section .panel-details:first-of-type.text-danger, .error-text p:first-of-type.text-danger, .panel-section .error-text .panel-details:first-of-type.text-danger {
-    color: #DE0A0A
-}
-
-.error-text .panel-section .alert-warning.panel-details, .error-text p.alert-warning, .panel-section .error-text .alert-warning.panel-details {
-    padding: 4px 6px;
-    position: relative;
-    margin-top: -4px;
-    margin-left: auto;
-    margin-right: auto;
-    display: inline-block
-}
-
-.error-text span.repo-name {
-    white-space: nowrap
-}
-
-.error-text .icon {
-    position: relative;
-    margin-left: 4px;
-    margin-right: 2px;
-    top: -1px;
-    opacity: .7
-}
-
-.error-text ul {
-    text-align: left
-}
-
-.modal-body .modal-intro {
-    padding: 10px 30px
-}
-
-.modal-body .modal-intro .icon {
-    margin-bottom: 12px
-}
-
-.modal-body .modal-intro .panel-section .panel-details, .modal-body .modal-intro p, .panel-section .modal-body .modal-intro .panel-details {
-    font-size: 13px;
-    color: #56667D
-}
-
-.modal-body .modal-intro .panel-section .title.panel-details, .modal-body .modal-intro p.title, .panel-section .modal-body .modal-intro .title.panel-details {
-    font-size: 14px;
-    color: #56667D;
-    margin-bottom: 6px
-}
-
-.nav.nav-tabs {
-    position: relative;
-    text-align: center;
-    padding-bottom: 0;
-    margin: 0 -20px 20px;
-    overflow: hidden;
-    border: none
-}
-
-.nav.nav-tabs + .nav-tabs {
-    margin-top: -10px
-}
-
-.nav.nav-tabs li {
-    position: relative;
-    float: none;
-    display: inline-block;
-    vertical-align: top;
-    text-align: left;
-    margin: 0 4px;
-    padding-top: 2px
-}
-
-.nav.nav-tabs li a {
-    position: relative;
-    color: #79589F;
-    display: inline-block;
-    opacity: .7;
-    background: #fff;
-    border: none;
-    -o-transition: opacity ease .3s;
-    transition: opacity ease .3s
-}
-
-.nav.nav-tabs li a.active, .nav.nav-tabs li a:hover {
-    opacity: 1;
-    background: #fff
-}
-
-.nav.nav-tabs li a.active {
-    outline: 0;
-    color: #56667D;
-    box-shadow: inset 0 -1px 0 #fff, 0 0 0 1px rgba(71, 83, 102, .1), 0 1px 2px rgba(0, 0, 0, .05);
-    border-radius: 3px 3px none none
-}
-
-.nav.nav-tabs li a .panel-section .panel-details, .nav.nav-tabs li a small, .panel-section .nav.nav-tabs li a .panel-details {
-    color: #62738D;
-    display: block;
-    padding-top: 2px
-}
-
-.nav.nav-tabs li.deploy-tab a {
-    color: #79589F
-}
-
-.nav.nav-tabs li.deploy-tab.tab-github a {
-    color: #3F3F44
-}
-
-.nav.nav-tabs li.deploy-tab a {
-    padding: 16px 18px 14px 62px
-}
-
-.nav.nav-tabs li.deploy-tab .label {
-    position: relative;
-    top: -2px;
-    margin-left: 4px;
-    text-transform: uppercase;
-    font-size: 9px;
-    padding: 2px 4px 1px
-}
-
-.nav.nav-tabs li.deploy-tab .icon.tab-icon {
-    position: absolute;
-    left: 16px;
-    top: 50%;
-    margin-top: -16px
-}
-
-@media (max-width: 767px) {
-    .nav.nav-tabs li.deploy-tab {
-        margin: 0
-    }
-
-    .nav.nav-tabs li.deploy-tab a {
-        padding: 14px 12px 14px 52px
-    }
-
-    .nav.nav-tabs li.deploy-tab .icon.tab-icon {
-        left: 10px
-    }
-
-    .nav.nav-tabs li.deploy-tab .panel-section .panel-details, .nav.nav-tabs li.deploy-tab small, .panel-section .nav.nav-tabs li.deploy-tab .panel-details {
-        display: none
-    }
-}
-
-@media (max-width: 520px) {
-    .nav.nav-tabs li.deploy-tab {
-        text-align: center
-    }
-
-    .nav.nav-tabs li.deploy-tab .service {
-        display: block;
-        padding-top: 4px
-    }
-
-    .nav.nav-tabs li.deploy-tab a {
-        padding: 8px 10px;
-        font-size: 13px
-    }
-
-    .nav.nav-tabs li.deploy-tab .icon.tab-icon {
-        position: relative;
-        top: 0;
-        left: 0;
-        margin: 0 auto
-    }
-}
-
-.nav.nav-pills {
-    position: relative;
-    text-align: center;
-    padding-bottom: 20px;
-    margin-bottom: 30px;
-    border-bottom: 1px solid #e7ebf3
-}
-
-.nav.nav-pills li {
-    float: none;
-    display: inline-block;
-    vertical-align: top;
-    text-align: left;
-    margin: 0 2px 2px 0
-}
-
-.nav.nav-pills li a {
-    position: relative;
-    color: #79589F;
-    display: inline-block;
-    opacity: .7;
-    background: #fff;
-    -o-transition: opacity ease .3s;
-    transition: opacity ease .3s
-}
-
-.nav.nav-pills li a:hover {
-    opacity: 1;
-    background: #fff
-}
-
-.nav.nav-pills li a.active, .nav.nav-pills li a:active, .nav.nav-pills li a:focus {
-    outline: 0;
-    opacity: 1;
-    color: #56667D;
-    box-shadow: 0 0 0 1px rgba(71, 83, 102, .1), 0 1px 2px rgba(0, 0, 0, .05);
-    border-radius: 3px;
-    background: #fff
-}
-
-.nav.nav-pills li a .panel-section .panel-details, .nav.nav-pills li a small, .panel-section .nav.nav-pills li a .panel-details {
-    color: #62738D;
-    display: block;
-    padding-top: 2px
-}
-
-.nav.nav-pills li a .panel-section .connected.panel-details, .nav.nav-pills li a small.connected, .panel-section .nav.nav-pills li a .connected.panel-details {
-    color: #008700
-}
-
-.nav.nav-pills li.deploy-tab a {
-    color: #79589F
-}
-
-.nav.nav-pills li.deploy-tab.tab-github a {
-    color: #3F3F44
-}
-
-.nav.nav-pills li.deploy-tab.tab-containers a {
-    color: #56667D;
-    padding-left: 52px
-}
-
-.nav.nav-pills li.deploy-tab.tab-containers a .icon {
-    margin-top: -15px
-}
-
-.nav.nav-pills li.deploy-tab a {
-    padding: 10px 14px 10px 54px
-}
-
-.nav.nav-pills li.deploy-tab.connected a {
-    padding-right: 40px
-}
-
-.nav.nav-pills li.deploy-tab .label {
-    position: relative;
-    top: -2px;
-    margin-left: 4px;
-    text-transform: uppercase;
-    font-size: 9px;
-    padding: 2px 4px 1px
-}
-
-.nav.nav-pills li.deploy-tab .icon.tab-icon {
-    position: absolute;
-    left: 12px;
-    top: 50%;
-    margin-top: -17px
-}
-
-.nav.nav-pills li.deploy-tab .icon.icon-success-badge {
-    position: absolute;
-    top: 16px;
-    right: 12px
-}
-
-@media (max-width: 520px) {
-    .nav.nav-pills li.deploy-tab {
-        margin-left: 0;
-        margin-right: 0;
-        text-align: center
-    }
-
-    .nav.nav-pills li.deploy-tab .service {
-        display: block;
-        padding-top: 4px
-    }
-
-    .nav.nav-pills li.deploy-tab .service .success-badge-bg {
-        width: 20px;
-        height: 20px;
-        position: absolute;
-        top: 8px;
-        right: 10px;
-        background-color: #fff;
-        border-radius: 50%;
-        box-shadow: 0 0 0 2px #fff
-    }
-
-    .nav.nav-pills li.deploy-tab .panel-section .panel-details, .nav.nav-pills li.deploy-tab small, .panel-section .nav.nav-pills li.deploy-tab .panel-details {
-        display: none
-    }
-
-    .nav.nav-pills li.deploy-tab a {
-        padding: 8px 10px;
-        font-size: 13px
-    }
-
-    .nav.nav-pills li.deploy-tab.connected a {
-        padding-right: 10px
-    }
-
-    .nav.nav-pills li.deploy-tab.tab-containers a {
-        color: #56667D;
-        padding-left: 10px
-    }
-
-    .nav.nav-pills li.deploy-tab.tab-containers a .icon {
-        margin: 2px auto
-    }
-
-    .nav.nav-pills li.deploy-tab .icon.tab-icon {
-        position: relative;
-        top: 0;
-        left: 0;
-        margin: 0 auto
-    }
-
-    .nav.nav-pills li.deploy-tab .icon.icon-success-badge {
-        position: absolute;
-        top: 6px;
-        right: 8px
-    }
-}
-
-.extra-small, .show-more .btn {
-    font-size: 12px
-}
-
-.sub-nav + .nav-pills {
-    margin-top: -10px;
-    padding-bottom: 16px
-}
-
-.subnav-toolbar {
-    margin-top: -10px
-}
-
-.subnav-toolbar header {
-    margin: 0 -20px
-}
-
-.extra-small {
-    color: #62738D
-}
-
-.show-more {
-    text-align: left
-}
-
-.show-more .btn .icon {
-    margin-left: 0
-}
-
-.darken-on-hover:hover {
-    fill: #475366
-}
-
-.btn-link {
-    padding: 0
-}
-
-.btn .icon.caret-icon {
-    margin-right: -6px;
-    margin-left: 2px
-}
-
-.btn-default:focus {
-    background: inherit
-}
-
-#overview-page .app-overview-metrics .metrics__summary-row--favorite__link-wrapper, #overview-page .data-unavailable, .buildpack-installations-list .sortable-item.is-dragging, .content-box, .metrics__chart-sorting .sortable-item.is-dragging, .metrics__monitor-preview-chart__loading, .metrics__not-available, .purple-box {
-    background-color: #fff;
-    box-shadow: 0 0 0 1px rgba(89, 105, 128, .1), 0 1px 3px 0 rgba(89, 105, 128, .1), 0 1px 2px 0 rgba(0, 0, 0, .05)
-}
-
-#overview-page .app-overview-metrics .metrics__summary-row--favorite__link-wrapper .close-purple-box, #overview-page .data-unavailable .close-purple-box, .buildpack-installations-list .sortable-item.is-dragging .close-purple-box, .content-box .close-purple-box, .metrics__chart-sorting .sortable-item.is-dragging .close-purple-box, .metrics__monitor-preview-chart__loading .close-purple-box, .metrics__not-available .close-purple-box, .purple-box .close-purple-box {
-    position: absolute;
-    top: 20px;
-    right: 20px
-}
-
-.purple-box__header {
-    background-color: transparent;
-    margin: 0;
-    padding: 10px;
-    box-shadow: none;
-    border-radius: 0;
-    border-bottom: 1px solid #E3E7EF;
-    color: #56667D
-}
-
-.panel-section .purple-box__header .panel-details, .purple-box__header .panel-section .panel-details, .purple-box__header p {
-    color: #56667D
-}
-
-.generic-banner {
-    margin-left: -20px;
-    margin-right: -20px
-}
-
-.nav-tabs + .generic-banner {
-    margin-top: -20px
-}
-
-.message-banner .message-banner-text .panel-section .panel-details, .message-banner .message-banner-text small, .panel-section .message-banner .message-banner-text .panel-details {
-    font-size: 13px;
-    display: block
-}
-
-.message-banner.warning .message-banner-text .panel-section .panel-details, .message-banner.warning .message-banner-text small, .panel-section .message-banner.warning .message-banner-text .panel-details {
-    font-weight: 400
-}
-
-.modal-title {
-    font-size: 15px
-}
-
-.btn.fulfilled, .btn.pending {
-    pointer-events: none
-}
-
-@media (max-width: 767px) {
-    .form-control {
-        font-size: 16px
-    }
-}
-
-.u-display-inline-block {
-    display: inline-block
-}
-
-.u-display-block {
-    display: block
-}
-
-.mimic-select, select.form-control:not([multiple]) {
-    white-space: nowrap;
-    overflow: hidden;
-    text-overflow: ellipsis;
-    padding-right: 22px;
-    -moz-appearance: none;
-    background: url(data:image/png; base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAANCAYAAABlyXS1AAAABGdBTUEAALGPC/xhBQAAALJJREFUGBm9UCEOwkAQ3L3Cf2pwpKkhoQkej0GRUE/bpSdwbR3BYXlAwwOQmP4Eh7xlh4BFsuJmZzK7N3dMnxJp4xD05ByvRfIBssMh0i1CoJsqP4Hg0KOybDcmnIn44H2+SpJsrKrHNJ0/MDljpr332xpuIDh08H8XF0XTM/O9rnP5Xm4vEEs8sbSuV6VdVTVISEBw6AzBnJk5L7ZhMIwNl7bp+v4hNFHkpuYbAcEx9LNeG4xMYRDZ28cAAAAASUVORK5CYII=) right 8 px center no-repeat
-}
-
-@media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min--moz-device-pixel-ratio: 2), only screen and (-o-min-device-pixel-ratio: 2 / 1), only screen and (min-device-pixel-ratio: 2), only screen and (min-resolution: 192dpi), only screen and (min-resolution: 2dppx) {
-    .mimic-select, select.form-control:not([multiple]) {
-        background: url(data:image/png; base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAaCAYAAACHD21cAAAABGdBTUEAALGPC/xhBQAAAf5JREFUOBHtVL1rU1EUv/dcTItIJwch0r8gQwfXmrzF2jYWXAKFbhVEROwbdGjzcXgvdehg2kFKB2cxS4em0C6at4pCwUwODkLAWRw0+O7t77zktWkiriJ4Ifec+/u4796Xc55WvxnNZtN0Ot2GULlc1i+VSvGoTI8CzC+uxPHPV8CLA65lzMQy88Pvw9oLxnp9N9vr/Wg552YuiLQ+yWQmi+Xyg26KnxmZGzNx7FogskJqrVkiNkki0q4xusjsnwhuZGLeLlqrDpFelbVSVAtDP4ii4yifn3ewewCnsN2K581/bLePPulqtfHIOYUX4ZJNYKqE4Vo98Q+mSmW7rJQN+0sda618wlGepCYcrzxqErFgwvWNzoiHjFH3AH4GuBEE/mafHJ8H3IZotabVccV/5F98A5p5Z8Fau4fDv8SfzH+6BMpT+FUium9mZ2+9xeI6fgXPmyMUdhv52IApQKlVQUwhFgjlE6Jof4kSHVKt1Z4PivncKxjEFUFEKx4TRUcf0DrvACwBn0Cn3CwUbl/Ck9+IEE+qA0sKHHX6Dd1zNwjWXg818k4Odz3EztNiwD2eSQS2LhGmL8AWmR93krVM6cD35pq1vQOYb6SYRJjeE2Xu4LvzNcUpTSQKQXQ5j2Pvp7jkgg2bhDs7aiqUyOzI2saW5ET+U2ZtJf+74xRlgcKObZd2ywAAAABJRU5ErkJggg==) right 8 px center no-repeat;
-        background-size: 7px 13px
-    }
-}
-
-pre {
-    word-wrap: normal;
-    word-break: normal
-}
-
-pre.build-stream-line {
-    word-wrap: break-word;
-    overflow-wrap: break-word
-}
-
-a.no-hover-underline:active, a.no-hover-underline:hover {
-    text-decoration: inherit !important
-}
-
-.hk-no-link-style:active, .hk-no-link-style:focus, .hk-no-link-style:hover, .link:active, .link:hover {
-    text-decoration: none !important;
-    outline: 0
-}
-
-.malibu-icon {
-    background: 0 0 !important;
-    -moz-transform: scale(1)
-}
-
-.rot90 {
-    transform: rotate(90deg)
-}
-
-.rot270 {
-    transform: rotate(270deg)
-}
-
-.word-wrap {
-    word-break: break-all
-}
-
-.hk-button-xs {
-    display: flex;
-    align-items: center;
-    justify-content: center;
-    flex-shrink: none;
-    height: 22px;
-    padding-top: 0;
-    padding-bottom: 0
-}
-
-.collapse {
-    display: table
-}
-
-.top--glostick {
-    top: 53px
-}
-
-.fade-to-white--up {
-    background-image: linear-gradient(white, rgba(255, 255, 255, 0))
-}
-
-.fade-to-white--down {
-    background-image: linear-gradient(rgba(255, 255, 255, 0), #fff)
-}
-
-.focus-z-1:focus {
-    z-index: 1
-}
-
-.hk-button--primary {
-    background-clip: border-box!important;
-    background-origin: border-box!important;
-    background: #79589f;
-    color: #fff;
-}
\ No newline at end of file
diff --git a/rootfs/web/src/assets/home.css b/rootfs/web/src/assets/home.css
deleted file mode 100644
index ed32021..0000000
--- a/rootfs/web/src/assets/home.css
+++ /dev/null
@@ -1,616 +0,0 @@
-.glostick {
-    box-sizing: border-box;
-    background: white;
-    font-family: sans-serif;
-    display: flex;
-    display: -webkit-box;
-    display: -ms-flexbox;
-    display: -webkit-flex;
-    padding: 0 15px;
-    height: 50px;
-    -webkit-user-select: none;
-    font-family: benton-sans, 'Helvetica Neue', sans-serif;
-    box-shadow: 0px 4px 4px rgba(0,0,0,0.1);
-}
-
-.glostick::after {
-    background: linear-gradient(to right, #9E7CC1, #8ECDEA);
-    content:'';
-    width:100%;
-    position: absolute;
-    top: 50px;
-    height: 3px;
-    left: 0;
-}
-
-.glostick.glostick--sfdc {
-    box-shadow: 0px 2px 4px rgba(0,0,0,0.1);
-}
-
-.glostick.glostick--sfdc::after {
-    background: none;
-    height: 0px;
-    display: none;
-}
-
-.glostick a {
-    cursor: pointer;
-}
-
-.glostick.glostick--sfdc .glostick__property__name svg {
-    display:none;
-}
-
-.glostick__modal-bg {
-    position: fixed;
-    top: 0;
-    left: 0;
-    right: 0;
-    bottom: 0;
-    background-color: rgba(0,0,0,0.2);
-    z-index: 999;
-    opacity: 0;
-    pointer-events: none;
-    transition: .4s cubic-bezier(.3, 0, 0, 1.3);
-}
-
-.glostick__modal-bg--active {
-    opacity: 0;
-    pointer-events: auto;
-}
-
-.glostick__link--search {
-    cursor: pointer;
-}
-
-.glostick__icon--search {
-    background: url('data:image/svg+xml;utf8,<svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><title>search</title><path d="M13.61 15.292a8.5 8.5 0 1 1 1.682-1.682L20 18.319 18.318 20l-4.707-4.708h-.001zM8.5 15a6.5 6.5 0 1 0 0-13 6.5 6.5 0 0 0 0 13z" fill="%238DCAE9" fill-rule="evenodd"/></svg>');
-    background-size: 22px 22px;
-    background-repeat: no-repeat;
-    background-position: center center;
-    width: 32px;
-    height: 50px;
-}
-
-.glostick__property {
-    flex: 1;
-    -webkit-box-flex: 1;
-    -webkit-flex: 1;
-    -ms-flex: 1;
-}
-
-.glostick__property__name {
-    display: inline-block;
-    height: 50px;
-    width: auto;
-    text-decoration: none;
-    color: #9E7CC1!important;
-    padding-left: 0px;
-    font-size: 18px;
-}
-
-.glostick__property__name svg {
-    fill: currentColor;
-    position: relative;
-    top: 2px;
-}
-
-.glostick--sfdc .glostick__property__name {
-    font-size: inherit;
-}
-
-.glostick.glostick--sfdc .glostick__property__name span {
-    display: none;
-}
-
-.glostick__property__name:hover {
-    color: #9E7CC1!important;
-}
-
-.glostick__property__name:active {
-    color: #9E7CC1!important;
-}
-
-.glostick__property__name:focus {
-    color: #9E7CC1!important;
-}
-
-.glostick__property__name span {
-    position: absolute;
-    left: 52px;
-    top: 1px;
-    line-height: 48px;
-}
-
-.glostick__property .icon-logo {
-    background: url('data:image/svg+xml;utf8,<svg width="27" height="30" viewBox="0 0 27 30" xmlns="http://www.w3.org/2000/svg"><title>drycc-logo</title><path d="M3 0C1.13 0 0 1.11 0 2.903v24.194C0 28.883 1.13 30 3 30h21c1.863 0 3-1.11 3-2.903V2.903C26.994 1.11 25.863 0 24 0H3zm21.042 2c.508.006.958.448.958.929V27.07c0 .487-.45.929-.958.929H2.958C2.45 28 2 27.558 2 27.071V2.93c0-.488.45-.93.958-.93h21.084zM20 25h-2.781v-8.506c0-.774-.237-1.048-.468-1.208-1.396-.959-5.414-.042-7.834.916L7 17.012 7.006 5h2.816v7.917a20.99 20.99 0 0 1 1.882-.482c2.988-.643 5.184-.47 6.616.505.787.536 1.68 1.59 1.68 3.554V25zm-6-15h3.293A16.109 16.109 0 0 0 20 5h-3.287c-.49 1.188-1.385 3.188-2.713 5zM7 25v-7l3 3.5L7 25z" fill="%239E7CC1" fill-rule="evenodd"/></svg>');
-    background-size: 27px 30px;
-    width: 27px;
-    height: 30px;
-    display: inline-block;
-    position: relative;
-    opacity: 1;
-    top: 10px;
-    margin-right: 7px;
-}
-
-.glostick.glostick--sfdc .glostick__property .icon-logo {
-    background: url('data:image/svg+xml;utf8,<svg viewBox="0 0 103 24" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414"><path d="M14.565 2.618A6.198 6.198 0 0 1 19.003.75a6.223 6.223 0 0 1 5.4 3.136 7.596 7.596 0 0 1 3.052-.636C31.622 3.251 35 6.59 35 10.708s-3.378 7.457-7.545 7.457c-.499 0-.997-.048-1.487-.145a5.539 5.539 0 0 1-4.814 2.768 5.58 5.58 0 0 1-2.413-.545C17.783 22.452 15.551 24 12.948 24c-2.71 0-5.02-1.68-5.906-4.035a5.92 5.92 0 0 1-1.2.122C2.616 20.087 0 17.498 0 14.304a5.776 5.776 0 0 1 2.921-5.008 6.498 6.498 0 0 1-.56-2.645C2.362 2.978 5.407 0 9.16 0a6.846 6.846 0 0 1 5.405 2.618" fill="%2302a0df"/><path d="M43.128 5.388h1.316v4.028h.03c.27-.388.632-.704 1.053-.918.444-.233.99-.35 1.64-.35.992 0 1.724.276 2.199.828.475.552.712 1.24.712 2.066v4.909h-1.315v-4.655c0-.607-.155-1.106-.464-1.5-.31-.393-.81-.588-1.503-.588-.712 0-1.282.225-1.71.678-.428.453-.642 1.022-.642 1.708v4.357h-1.316V5.388zm16.129 7.221h-5.852c.052.776.294 1.392.728 1.85.433.458 1.052.686 1.857.686.475 0 .901-.062 1.277-.186a4.918 4.918 0 0 0 1.138-.56l.588.82c-.434.304-.912.54-1.417.702-.538.165-1.1.245-1.663.239-1.207 0-2.149-.368-2.825-1.104-.675-.737-1.013-1.716-1.013-2.94 0-.785.144-1.477.433-2.073a3.24 3.24 0 0 1 1.261-1.395c.553-.334 1.216-.5 1.989-.5 1.146 0 2.02.358 2.624 1.074.604.716.905 1.666.905 2.85 0 .239-.01.418-.03.537zm-1.255-.985c-.02-.756-.22-1.362-.603-1.82-.381-.458-.934-.687-1.656-.687-.733 0-1.3.236-1.703.71-.402.472-.619 1.071-.65 1.798h4.612v-.001zm3.375-1.566c0-.557-.036-1.125-.108-1.701h1.253c.052.338.088.74.108 1.209h.032c.454-.945 1.279-1.418 2.476-1.418.083 0 .232.015.45.045l-.079 1.088a2.734 2.734 0 0 0-.48-.03c-.753 0-1.33.245-1.733.732-.402.487-.604 1.119-.604 1.894v4.074h-1.315v-5.893zm12.986 2.074c0 .785-.157 1.484-.472 2.096a3.389 3.389 0 0 1-1.362 1.425c-.594.338-1.303.507-2.128.507-.816 0-1.522-.172-2.122-.515a3.39 3.39 0 0 1-1.36-1.425c-.31-.607-.465-1.303-.465-2.088 0-1.214.346-2.181 1.037-2.903.691-.72 1.661-1.081 2.91-1.081.836 0 1.55.166 2.143.5a3.332 3.332 0 0 1 1.355 1.395c.31.596.464 1.293.464 2.088zm-6.547 0c0 .905.214 1.633.642 2.185.429.552 1.076.828 1.943.828.877 0 1.533-.276 1.965-.828.433-.552.65-1.28.65-2.185 0-.906-.217-1.627-.65-2.164-.433-.537-1.088-.806-1.965-.806s-1.527.269-1.95.806c-.423.537-.635 1.258-.635 2.163zm10.741.179l-.758.686v2.954h-1.316V5.388H77.8v6.176l3.576-3.206h1.579l-3.483 3.132 3.823 4.46h-1.641l-3.096-3.64zm5.991.7V8.358h1.33v4.476c0 .696.158 1.255.473 1.678.315.422.802.634 1.463.634.722 0 1.3-.26 1.733-.783.433-.522.65-1.171.65-1.948V8.358h1.316v5.907c0 .547.036 1.11.108 1.687h-1.254c-.05-.319-.087-.721-.107-1.21h-.032c-.567.945-1.475 1.418-2.724 1.418-.98 0-1.718-.29-2.213-.872-.496-.583-.743-1.34-.743-2.275v-.001z" fill="%237b7b7b"/></svg>');
-    width: 103px;
-    height: 24px;
-    background-repeat: no-repeat;
-    top: 13px;
-}
-
-.glostick__user .icon-navigator-toggle {
-    background: url('data:image/svg+xml;utf8,<svg width="18" height="18" viewBox="0 0 18 18" xmlns="http://www.w3.org/2000/svg"><title>Combined Shape Copy 2</title><path d="M2 4a2 2 0 1 0 0-4 2 2 0 0 0 0 4zm0 7a2 2 0 1 0 0-4 2 2 0 0 0 0 4zm0 7a2 2 0 1 0 0-4 2 2 0 0 0 0 4zM9 4a2 2 0 1 0 0-4 2 2 0 0 0 0 4zm0 7a2 2 0 1 0 0-4 2 2 0 0 0 0 4zm0 7a2 2 0 1 0 0-4 2 2 0 0 0 0 4zm7-14a2 2 0 1 0 0-4 2 2 0 0 0 0 4zm0 7a2 2 0 1 0 0-4 2 2 0 0 0 0 4zm0 7a2 2 0 1 0 0-4 2 2 0 0 0 0 4z" fill="%238DCAE9" fill-rule="evenodd"/></svg>');
-    background-size: 18px 18px;
-    background-repeat: no-repeat;
-    background-position: center center;
-    width: 32px;
-    height: 50px;
-    display: inline-block;
-    cursor: pointer;
-}
-
-.glostick__user {
-    display: flex;
-    margin-left: 5px;
-}
-
-.glostick__user__avatar--container {
-    position: relative;
-    width: 30px;
-    height: 30px;
-    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1);
-    border-radius: 50%;
-    overflow: hidden;
-}
-
-.glostick__user__avatar--container::after {
-    content: '';
-    position: absolute;
-    top: 0;
-    left: 0;
-    right: 0;
-    bottom: 0;
-    background-image: url('/src/assets/style/avatar.png');
-    background-size: cover;
-    border-radius: 50%;
-    z-index: 1;
-}
-
-.glostick__menu__item--account-details .glostick__user__avatar--container {
-    width: 48px;
-    height: 48px;
-    margin: 0 auto 10px;
-    box-shadow: none;
-}
-
-.glostick__user__avatar, .glostick__account-details__avatar {
-    position: relative;
-    width: 30px;
-    height: 30px;
-    z-index: 2;
-}
-
-.glostick__account-details__avatar {
-    width: 48px;
-    height: 48px;
-    box-shadow: none;
-}
-
-.glostick__menu {
-    width: 240px;
-    box-shadow: 0 3px 20px rgba(89, 105, 129, .3), 0 1px 2px rgba(0, 0, 0, .05), 0 0 0 1px rgba(89, 105, 129, .1);
-    position: absolute;
-    background-color: #fff;
-    opacity: 0;
-    pointer-events: none;
-    border-radius: 3px;
-    background-clip: content-box;
-    z-index: 9991;
-    transform: translateY(-4px);
-    transition: transform ease 0.1s, opacity ease 0.1s;
-    padding: 0;
-    list-style: none outside;
-}
-
-.glostick__menu--open {
-    transform: translateY(0px);
-}
-
-.glostick__menu-icon {
-    display: inline-block;
-    z-index: 1000;
-}
-
-.glostick__menu-icon--account {
-    position: relative;
-    display: inline-block;
-    width: 32px;
-    height: 40px;
-    padding-top: 10px;
-    margin-left: 12px;
-}
-
-.glostick__user__notification {
-    opacity: 0;
-    position: absolute;
-    top: 8px;
-    right: 0;
-    width: 10px;
-    height: 10px;
-    border-radius: 50%;
-    background: #fff;
-    box-shadow: 0 1px 1px 0 rgba(0, 0, 0, .2);
-    transition: opacity ease .3s;
-    z-index: 3;
-}
-
-.glostick__user__notification.visible {
-    opacity: 1;
-}
-
-.glostick__user__notification::after {
-    content: '';
-    position: absolute;
-    top: 2px;
-    left: 2px;
-    width: 6px;
-    height: 6px;
-    transform: scale(1.2);
-    border-radius: 50%;
-    background-image: linear-gradient(-180deg, #8FE8FE 0%, #00B7FF 100%);
-}
-
-.glostick__menu--navigator {
-    position: absolute;
-    right: 56px;
-    top: 56px;
-}
-
-.glostick__menu--account {
-    position: absolute;
-    right: 8px;
-    top: 56px;
-}
-
-.glostick__menu__listitem {
-    margin: 0;
-    padding: 0;
-    border-bottom: 1px solid #EEF1F6;
-}
-
-.glostick__menu__item {
-    position: relative;
-    display: block;
-    height: 40px;
-    text-decoration: none;
-    font-size: 14px;
-    line-height: 40px;
-    color: #79589F;
-    padding: 0 46px;
-    background-size: 21px 23px;
-    background-repeat: no-repeat;
-    background-position: 15px 48%;
-}
-
-.glostick__menu__listitem:first-child {
-    border-top-right-radius: 3px;
-    border-top-left-radius: 3px;
-}
-
-.glostick__menu__listitem:last-child {
-    border-bottom: 0;
-    border-bottom-right-radius: 3px;
-    border-bottom-left-radius: 3px;
-}
-
-.glostick__menu__item:hover {
-    text-decoration: none;
-    background-color: #F7F8FB;
-    color: #61467f;
-}
-
-.glostick__menu__item:focus {
-    outline: none;
-}
-
-.glostick__menu__item--notifications__indicator {
-    position: absolute;
-    top: 50%;
-    right: 12px;
-    width: 8px;
-    height: 8px;
-    margin-top: -5px;
-    border-radius: 50%;
-    background-image: linear-gradient(-180deg, #8FE8FE 0%, #00B7FF 100%);
-}
-
-.glostick__menu__item--account-details {
-    height: auto;
-    display: block;
-    line-height: normal;
-    text-align: center;
-    color: #3F3F44;
-    padding: 20px 10px 20px;
-}
-
-.glostick__account-details__name {
-    display: block;
-    margin-bottom: 5px;
-}
-
-.glostick__account-details__email {
-    font-size: 13px;
-    display: block;
-    color: #96A3B6;
-    width: 100%;
-    text-overflow: ellipsis;
-    white-space: nowrap;
-    overflow: hidden;
-}
-
-.glostick__menu__item--assume-identity {
-    background-image: url('data:image/svg+xml;utf8,<svg width="21" height="23" viewBox="0 0 21 23" xmlns="http://www.w3.org/2000/svg"><title>assume-identity</title><defs><linearGradient x1="0%" y1="0%" y2="100%" id="a"><stop stop-color="%23AC8ECE" offset="0%"/><stop stop-color="%2379589F" offset="100%"/></linearGradient></defs><path d="M11 4.098C9.95 3.534 8.788 3 7.5 3 6.202 3 5.055 3.526 4 4.098L0 0v11.78c0 4.2 2 7.683 4.5 9.22-1.5-2.049-2-5-2-5h10s-.5 2.951-2 5c2.5-1.537 4.458-5.004 4.5-9.22V0l-4 4.098zm-5.11 8.095c-.351.13-1.139.556-1.504.659-.366.104-.872.168-1.07 0a30.23 30.23 0 0 1-.955-.853c-.127-.13-.212-1.165.534-1.113.759.053 2.812.828 2.939.867.127.038.408.31.056.44zm6.72-.194c-.126.129-.76.685-.956.853-.198.168-.703.104-1.069 0-.366-.103-1.153-.53-1.505-.66-.352-.129-.07-.4.056-.44.127-.038 2.18-.813 2.94-.866.745-.052.66.983.534 1.113z" transform="translate(3 1)" fill="url(%23a)" fill-rule="evenodd"/></svg>');
-}
-
-.glostick__menu__item--dashboard {
-    background-image: url('data:image/svg+xml;utf8,<svg width="21" height="23" viewBox="0 0 21 23" xmlns="http://www.w3.org/2000/svg"><title>dashboard</title><defs><linearGradient x1="0%" y1="0%" y2="100%" id="a"><stop stop-color="%23AC8ECE" offset="0%"/><stop stop-color="%2379589F" offset="100%"/></linearGradient></defs><path d="M0 7v7c0 1.108.662 2.371 1.492 2.861 0 0 6.489 3.568 6.952 3.973.223.118.912.189 1.056.189.144 0 .833-.071 1.056-.19.463-.404 6.94-3.965 6.94-3.965C18.338 16.37 19 15.107 19 14V7c0-1.108-.662-2.372-1.492-2.861L10.496.132S9.644 0 9.5 0c-.144 0-.832.048-1.055.166-.464.404-6.941 3.966-6.941 3.966C.662 4.627 0 5.89 0 7zm9.146-5.016h.708c-.02-.001 6.65 3.884 6.65 3.884.183.108.496.706.496 1.132v7c0 .425-.314 1.024-.51 1.14 0 0-6.57 3.895-6.49 3.876.094-.02-.384.007-.504.007H9c.02.002-6.504-3.891-6.504-3.891C2.313 15.024 2 14.426 2 14V7c0-.427.313-1.024.507-1.138 0 0 6.658-3.88 6.639-3.878z" transform="translate(1 1)" fill="url(%23a)" fill-rule="evenodd"/></svg>');
-}
-
-.glostick__menu__item--databases {
-    background-image: url('data:image/svg+xml;utf8,<svg width="21" height="23" viewBox="0 0 21 23" xmlns="http://www.w3.org/2000/svg"><title>databases</title><defs><linearGradient x1="0%" y1="0%" y2="100%" id="a"><stop stop-color="%23AC8ECE" offset="0%"/><stop stop-color="%2379589F" offset="100%"/></linearGradient></defs><path d="M17 8.776v2.205a1.86 1.86 0 0 1-.104.064l-6.009 3.464a2.778 2.778 0 0 1-2.774 0l-6.009-3.464A1.865 1.865 0 0 1 2 10.981V8.776l5.51 3.176c1.23.71 2.75.71 3.98 0L17 8.776zm0-1.394v-.398c0-.426-.313-1.023-.496-1.131L9.496 1.984 2.507 5.846C2.313 5.961 2 6.558 2 6.984v.398c.034.022.068.043.104.063l6.009 3.464a2.778 2.778 0 0 0 2.774 0l6.01-3.464c.035-.02.07-.042.103-.063zM0 9.492V6.983C0 5.874.662 4.61 1.504 4.115c0 0 7.164-4.084 7.253-4.105.117-.025.599 0 .743 0 .144 0 .626-.025.743 0 .09.021 7.265 4.112 7.265 4.112.83.489 1.492 1.753 1.492 2.861v7c0 1.107-.662 2.37-1.504 2.869 0 0-7.163 4.083-7.252 4.105-.117.025-.6 0-.744 0-.144 0-.627.025-.744 0-.089-.022-7.264-4.112-7.264-4.112C.662 16.356 0 15.092 0 13.984V9.491zm17 2.884v1.608c0 .426-.314 1.024-.51 1.14l-6.994 3.86-7-3.868C2.313 15.008 2 14.41 2 13.984v-1.608l5.51 3.176c1.23.71 2.75.71 3.98 0L17 12.376zM6 7.984h3v1.2H6v-1.2zm-3-2h3v1.2H3v-1.2z" transform="translate(1 1)" fill="url(%23a)" fill-rule="evenodd"/></svg>');
-}
-
-.glostick__menu__item--dataclips {
-    background-image: url('data:image/svg+xml;utf8,<svg width="21" height="23" viewBox="0 0 21 23" xmlns="http://www.w3.org/2000/svg"><title>dataclips</title><defs><linearGradient x1="0%" y1="0%" y2="100%" id="a"><stop stop-color="%23AC8ECE" offset="0%"/><stop stop-color="%2379589F" offset="100%"/></linearGradient></defs><path d="M3 14.018h10c.79 0 1.895-.22 3.014-.892C17.881 12.006 19 9.992 19 7.018c0-2.973-1.12-4.987-2.986-6.107C14.895.239 13.79.018 13 .018H5l.124.008a5.067 5.067 0 0 0-2.525.389C.982 1.122 0 2.656 0 5.018c0 2.363.982 3.896 2.6 4.604a5.067 5.067 0 0 0 2.524.389L5 10.018h6l-.164-.013a4.946 4.946 0 0 0 1.907-.079C14.096 9.588 15 8.608 15 7.018c0-1.59-.904-2.569-2.257-2.907a4.946 4.946 0 0 0-1.907-.08L11 4.019H4v2h7l.164-.013.099-.012c.322-.031.682-.02.994.058.522.13.743.37.743.967 0 .598-.221.837-.743.968a3.034 3.034 0 0 1-1.093.046L11 8.018H5l-.124.008-.038.003c-.428.03-.957-.03-1.437-.24C2.518 7.405 2 6.595 2 5.02c0-1.576.518-2.386 1.4-2.772.48-.21 1.01-.269 1.438-.24l.038.004.124.007h8c.094 0 .303.018.585.075.48.096.96.268 1.4.533C16.246 3.38 17 4.742 17 7.018c0 2.277-.756 3.638-2.014 4.393-.442.264-.92.437-1.4.533a3.381 3.381 0 0 1-.586.074H2v2h1z" transform="translate(1 4)" fill="url(%23a)" fill-rule="evenodd"/></svg>');
-}
-
-.glostick__menu__item--elements {
-    background-image: url('data:image/svg+xml;utf8,<svg width="21" height="23" viewBox="0 0 21 23" xmlns="http://www.w3.org/2000/svg"><title>elements</title><defs><linearGradient x1="0%" y1="0%" y2="100%" id="a"><stop stop-color="%23AC8ECE" offset="0%"/><stop stop-color="%2379589F" offset="100%"/></linearGradient></defs><path d="M17 8.198V6.984c0-.426-.313-1.023-.496-1.131L9.496 1.984 2.507 5.846C2.313 5.961 2 6.558 2 6.984v1.214l.104.063 6.009 3.463a2.778 2.778 0 0 0 2.774 0l6.01-3.463.103-.063zm0 1.394v4.392c0 .426-.314 1.024-.51 1.14l-6.994 3.86-7-3.868C2.313 15.008 2 14.41 2 13.984V9.592l5.51 3.175c1.23.71 2.75.71 3.98 0L17 9.592zM0 6.984v7c0 1.108.662 2.372 1.492 2.862 0 0 7.175 4.09 7.264 4.112.117.025.6 0 .744 0 .144 0 .627.025.744 0 .089-.022 7.252-4.105 7.252-4.105.842-.498 1.504-1.762 1.504-2.869v-7c0-1.108-.662-2.372-1.492-2.861 0 0-7.176-4.09-7.265-4.112-.117-.025-.599 0-.743 0-.144 0-.626-.025-.743 0-.09.021-7.253 4.105-7.253 4.105C.662 4.611 0 5.876 0 6.984zm8 1h3v1.2H8v-1.2zM8 4h3v1.2H8V4zM5 5.984h3v1.2H5v-1.2zM11 6h3v1.2h-3V6z" transform="translate(1 1)" fill="url(%23a)" fill-rule="evenodd"/></svg>');
-}
-
-.glostick__menu__item--health {
-    background-image: url('data:image/svg+xml;utf8,<svg width="21" height="23" viewBox="0 0 21 23" xmlns="http://www.w3.org/2000/svg"><title>health</title><defs><linearGradient x1="5.125%" y1="0%" x2="94.875%" y2="100%" id="a"><stop stop-color="%239A7CBC" offset="0%"/><stop stop-color="%2379589F" offset="100%"/></linearGradient></defs><path d="M5.21 11c.975 0 1.143-.466 1.39-1.892C6.702 8.514 7 2 7 2s.457 4.2 1.017 7.184c.565 3.015.811 4.271 1.102 5.54C9.739 17.43 9.938 18 11 18c.99 0 1.382-.703 2.016-2.479C13.184 15.05 14.08 11 14.5 11H19V9h-5c-.856 0-1.06.384-1.551 1.757C12.337 11.071 11 16 11 16s-.457-4.2-1.017-7.184C9.418 5.8 9.172 4.545 8.88 3.276 8.261.57 8.062 0 7 0 5.973 0 5.71.66 5.422 2.225c-.14.759-.248 1.647-.402 3.174C5.004 5.55 5 9 4.5 9H0v2h5.21z" transform="translate(1 2)" fill="url(%23a)" fill-rule="evenodd"/></svg>');
-}
-
-.glostick__menu__item--support {
-    background-image: url('data:image/svg+xml;utf8,<svg width="21" height="23" viewBox="0 0 21 23" xmlns="http://www.w3.org/2000/svg"><title>support</title><defs><linearGradient x1="0%" y1="0%" y2="100%" id="a"><stop stop-color="%23AC8ECE" offset="0%"/><stop stop-color="%2379589F" offset="100%"/></linearGradient></defs><path d="M14.234 16.37l-2.204 1.216-1.001-1.43 2.163-1.275 1.042 1.488zm.88-.487l1.377-.76c.195-.115.509-.713.509-1.139v-7c0-.426-.313-1.023-.496-1.131l-1.392-.769-1.075 1.535.1.058c.48.294.863 1.054.863 1.72v4.206c0 .665-.383 1.425-.87 1.724l-.075.043 1.06 1.513zm-3.965 2.189l-1.653.912-7-3.868C2.313 15.008 2 14.41 2 13.984V13h2.042c.111.548.435 1.086.822 1.322 0 0 4.154 2.458 4.205 2.471.068.015.347 0 .431 0 .084 0 .363.015.43 0 .008-.001.092-.05.232-.13l.987 1.409zm3.082-13.474L12.23 3.493 11.21 4.95l1.965 1.159 1.057-1.51zm-2.883-1.591L9.496 1.984 2.507 5.846C2.313 5.961 2 6.558 2 6.984V8h2.042c.112-.549.436-1.087.829-1.327 0 0 4.147-2.453 4.199-2.466.067-.015.346 0 .43 0 .084 0 .363-.015.43 0 .01.002.166.092.413.236l1.005-1.436zM2 12V9h2v3H2zM0 6.984v7c0 1.108.662 2.372 1.492 2.862 0 0 7.175 4.09 7.264 4.112.117.025.6 0 .744 0 .144 0 .627.025.744 0 .089-.022 7.252-4.105 7.252-4.105.842-.498 1.504-1.762 1.504-2.869v-7c0-1.108-.662-2.372-1.492-2.861 0 0-7.176-4.09-7.265-4.112-.117-.025-.599 0-.743 0-.144 0-.626-.025-.743 0-.09.021-7.253 4.105-7.253 4.105C.662 4.611 0 5.876 0 6.984zM9.498 5.2l4.204 2.412c.11.067.298.44.298.706v4.364c0 .266-.188.639-.305.71L9.498 15.8l-4.2-2.412c-.11-.067-.298-.44-.298-.706V8.318c0-.266.188-.639.304-.71L9.498 5.2z" transform="translate(1 1)" fill="url(%23a)" fill-rule="evenodd"/></svg>');
-}
-
-.glostick__menu__item--docs {
-    background-image: url('data:image/svg+xml;utf8,<svg width="21" height="23" viewBox="0 0 21 23" xmlns="http://www.w3.org/2000/svg"><title>docs</title><defs><linearGradient x1="0%" y1="0%" y2="100%" id="a"><stop stop-color="%23AC8ECE" offset="0%"/><stop stop-color="%2379589F" offset="100%"/></linearGradient></defs><path d="M2 5h12.502C15.329 5 16 5.668 16 6.498v13.004C16 20.33 15.321 21 14.499 21H4c-2.29 0-4-1.736-4-4V3c0-1.545 1.437-3 3-3h11.98v2H3c-.453 0-1 .554-1 1v2zm6 2H2v10c0 1.167.821 2 2 2h10V7h-1v6.5l-2.5-2-2.5 2V7zm4 4l-1.5-1L9 11V7h3v4zM3 4h11V3H3v1z" transform="translate(3 1)" fill="url(%23a)" fill-rule="evenodd"/></svg>');
-}
-
-.glostick__menu__item--settings {
-    background-image: url('data:image/svg+xml;utf8,<svg width="21" height="23" viewBox="0 0 21 23" xmlns="http://www.w3.org/2000/svg"><title>settings</title><defs><linearGradient x1="0%" y1="0%" y2="100%" id="a"><stop stop-color="%23AC8ECE" offset="0%"/><stop stop-color="%2379589F" offset="100%"/></linearGradient></defs><path d="M15 13H0v2h15c.005.562.455 1 1.01 1h1.98c.567 0 1.01-.452 1.01-1.01v-1.98c0-.567-.452-1.01-1.01-1.01h-1.98c-.563 0-1.005.447-1.01 1zM4 7h15v2H4c-.005.553-.447 1-1.01 1H1.01C.451 10 0 9.557 0 8.99V7.01C0 6.451.443 6 1.01 6h1.98c.555 0 1.005.438 1.01 1zm11-6H0v2h15c.005.562.455 1 1.01 1h1.98C18.558 4 19 3.548 19 2.99V1.01C19 .442 18.548 0 17.99 0h-1.98c-.563 0-1.005.447-1.01 1zm1 .245c0-.135.108-.245.245-.245h1.51c.135 0 .245.108.245.245v1.51a.244.244 0 0 1-.245.245h-1.51A.244.244 0 0 1 16 2.755v-1.51zm-15 6C1 7.11 1.108 7 1.245 7h1.51C2.89 7 3 7.108 3 7.245v1.51A.244.244 0 0 1 2.755 9h-1.51A.244.244 0 0 1 1 8.755v-1.51zm15 6c0-.135.108-.245.245-.245h1.51c.135 0 .245.108.245.245v1.51a.244.244 0 0 1-.245.245h-1.51a.244.244 0 0 1-.245-.245v-1.51z" transform="translate(1 3)" fill="url(%23a)" fill-rule="evenodd"/></svg>');
-}
-
-.glostick__menu__item--notifications {
-    background-image: url('data:image/svg+xml;utf8,<svg width="21" height="23" viewBox="0 0 21 23" xmlns="http://www.w3.org/2000/svg"><title>notifications</title><defs><linearGradient x1="0%" y1="0%" y2="100%" id="a"><stop stop-color="%23AC8ECE" offset="0%"/><stop stop-color="%2379589F" offset="100%"/></linearGradient></defs><path d="M7.151 2.157C3.85 2.982 3.4 6.846 3.4 8.5c0 1.857-3.4 5.569-3.4 5.569 0 .524.511.931 1.142.931h14.716c.633 0 1.142-.417 1.142-.931 0 0-3.4-3.712-3.4-5.569 0-1.654-.45-5.518-3.751-6.343a1.5 1.5 0 1 0-2.698 0zM8.5 19c-1.21 0-1.854-1.198-1.854-1.198-.33-.443-.144-.802.396-.802h2.916c.548 0 .74.367.396.802 0 0-.645 1.198-1.854 1.198z" transform="translate(2 2)" fill="url(%23a)" fill-rule="evenodd"/></svg>');
-}
-
-.glostick__menu__item--signout {
-    background-image: url('data:image/svg+xml;utf8,<svg width="21" height="23" viewBox="0 0 21 23" xmlns="http://www.w3.org/2000/svg"><title>signout</title><defs><linearGradient x1="0%" y1="0%" y2="100%" id="a"><stop stop-color="%23AC8ECE" offset="0%"/><stop stop-color="%2379589F" offset="100%"/></linearGradient></defs><path d="M14.857 4H0v2h14.857L12 8.5l1.5 1.5 5-5-5-5L12 1.5 14.857 4z" transform="translate(1 6)" fill="url(%23a)" fill-rule="evenodd"/></svg>');
-}
-
-.glostick__menu--open {
-    opacity: 1;
-    pointer-events: auto;
-}
-
-.glostick__link--right {
-    display: inline-block;
-    padding-top: 18px;
-    margin-right: 10px;
-}
-
-.glostick__link--right a {
-    color: #8DCAE9;
-    text-decoration: none;
-}
-
-@media (max-width: 600px) {
-    /* Mobile device styles */
-    .glostick {
-        padding: 0 10px;
-    }
-
-    .glostick__property__name span {
-        left: 45px;
-    }
-
-    .glostick__menu {
-        position: fixed;
-        left: 10px;
-        right: 10px;
-        top: 10px;
-        width: auto;
-    }
-}
-.quick-jump__filter.form-control {
-      box-sizing: border-box;
-      outline: none;
-      width: 100%;
-      height: 34px;
-      padding: 6px 12px;
-      background-color: #fff;
-      background-image: none;
-      border: 1px solid #CFD7E6;
-      border-radius: 4px;
-      box-shadow: none;
-      -webkit-transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;
-      -o-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; }
-
-.quick-jump {
-    display: none;
-    box-sizing: border-box;
-    position: fixed;
-    top: 8px;
-    left: calc(50% - 195px);
-    z-index: 49;
-    width: 390px;
-    pointer-events: none; }
-@media (max-width: 767px) {
-    .quick-jump {
-        width: 310px;
-        left: calc(50% - 155px); } }
-
-.quick-jump__filter__wrap {
-    box-sizing: border-box;
-    position: relative;
-    z-index: 2;
-    transition: transform ease 0.1s;
-    width: 100%; }
-@media (max-width: 767px) {
-    .quick-jump__filter__wrap {
-        width: 150px;
-        margin: 0 auto; }
-    .quick-jump--focused .quick-jump__filter__wrap {
-        width: calc(100% - 20px); }
-    .quick-jump--focused .quick-jump__filter__wrap .quick-jump__filter {
-        width: 100%; } }
-@media (max-width: 480px) {
-    .quick-jump__filter__wrap {
-        width: 80px; } }
-
-.quick-jump__filter__wrap--tt {
-    width: 100%; }
-
-.quick-jump__filter {
-    position: relative;
-    border: none;
-    background-color: white;
-    transform: translateY(0px);
-    transition: transform ease .1s;
-    pointer-events: auto;
-    -webkit-appearance: none; }
-.quick-jump__filter::-webkit-input-placeholder {
-    /* Chrome/Opera/Safari */
-    opacity: 1; }
-.quick-jump__filter::-moz-placeholder {
-    /* Firefox 19+ */
-    opacity: 1; }
-.quick-jump__filter:-ms-input-placeholder {
-    /* IE 10+ */
-    opacity: 1; }
-.quick-jump__filter:-moz-placeholder {
-    /* Firefox 18- */
-    opacity: 1; }
-.quick-jump__filter:focus {
-    background-color: white; }
-
-.quick-jump__results {
-    background-color: #fff;
-    border-radius: 3px;
-    position: absolute;
-    top: 53px;
-    left: 0;
-    right: 0;
-    overflow: hidden;
-    box-shadow: 0 3px 20px rgba(89, 105, 129, 0.3), 0 1px 2px rgba(0, 0, 0, 0.05), 0 0 0 1px rgba(89, 105, 129, 0.1);
-    pointer-events: none;
-    opacity: 0;
-    transform: translateY(-4px);
-    transition: transform ease 0.1s, opacity ease 0.1s; }
-.quick-jump__results.quick-jump--focused {
-    pointer-events: auto;
-    opacity: 1;
-    transform: translateY(5px); }
-@media (max-width: 767px) {
-    .quick-jump__results {
-        top: 0px;
-        z-index: 1; } }
-
-.quick-jump__list {
-    border-radius: 4px; }
-
-.quick-jump__list {
-    max-height: 410px;
-    overflow-y: scroll;
-    margin-bottom: 0; }
-@media screen and (max-width: 600px) {
-    .quick-jump__list {
-        max-height: calc(100vH - 20px - 46px); } }
-
-.quick-jump-result__icon-container {
-    display: flex;
-    width: 26px; }
-
-.quick-jump-result__icon {
-    display: inline-block;
-    width: 18px;
-    height: 18px;
-    background-size: cover;
-    background-repeat: no-repeat; }
-
-.quick-jump-result__icon--pipeline {
-    background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDE2IDE2Ij4KICA8ZGVmcz4KICAgIDxsaW5lYXJHcmFkaWVudCBpZD0iYSIgeDE9IjAlIiB5MT0iMCUiIHkyPSIxMDAlIj4KICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iI0FDOEVDRSIgb2Zmc2V0PSIwJSIvPgogICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjNzk1ODlGIiBvZmZzZXQ9IjEwMCUiLz4KICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgPC9kZWZzPgogIDxwYXRoIGZpbGw9InVybCgjYSkiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTkuMDMzODA2MTYsMi44NDU4NTI4MiBDOS42MzIxOTM5NiwyLjUxODA1NzIgMTAuMzY4NTU1OSwyLjUxODA1NzIgMTAuOTY2OTQzNywyLjg0NTg1MjgyIEwxNS4wMzQxODExLDUuMDc3NzEzNDIgQzE1LjYzMTgxOSw1LjQwNjIyMTY0IDE2LDYuMDExOTMwOTMgMTYsNi42NjgyMzQ3NyBMMTYsMTEuMTMxOTU2IEMxNiwxMS43ODc1NDcyIDE1LjYzMTgxOSwxMi4zOTM5NjkxIDE1LjAzNDE4MTEsMTIuNzIyNDc3MyBMMTAuOTY2OTQzNywxNC45NTM2MjUzIEMxMC4zNjg1NTU5LDE1LjI4MjEzMzUgOS42MzIxOTM5NiwxNS4yODIxMzM1IDkuMDMzODA2MTYsMTQuOTUzNjI1MyBMNC45NjY1Njg3NywxMi43MjI0NzczIEM0LjM2ODE4MDk3LDEyLjM5Mzk2OTEgNCwxMS43ODc1NDcyIDQsMTEuMTMxOTU2IEw0LDYuNjY4MjM0NzcgQzQsNi4wMTE5MzA5MyA0LjM2ODE4MDk3LDUuNDA2MjIxNjQgNC45NjY1Njg3Nyw1LjA3NzcxMzQyIEw5LjAzMzgwNjE2LDIuODQ1ODUyODIgWiBNOS45ODAzMDMyMywxLjQ3OTgyNzI1IEw5Ljk4MDMwMzIzLDEuNDc5ODI3MjUgQzkuNTk3NzI0NDQsMS40ODI5MTI2MyA5LjIxNTgxNTcxLDEuNTczOTM5OTEgOC44NzI3NzM4NSwxLjc1MjkwOTA3IEw0LjEyNzY2MzU2LDQuMjMyNzU0MTEgQzMuNDI5NTQ0NDYsNC41OTc3NjMyMyAzLDUuMjcwNzczNTQgMyw2IEwzLDExLjQxODQzODQgQzIuMzc5NTkwMTUsMTEuMDc0MjQ1NyAyLDEwLjQ2MjY2NSAyLDkuODAyODA1MTUgTDIsNS4xOTczNzg2NSBDMiw0LjUyMDIzOTggMi4zOTg4NjI3MSwzLjg5NTMwMTY1IDMuMDQ3MTE2MTcsMy41NTYzNjQ2MSBMNy40NTMyOTAwMSwxLjI1MzY1MTM2IEM4LjEwMTU0MzQ2LDAuOTE1NDQ5NTQ1IDguODk5MjY4ODksMC45MTU0NDk1NDUgOS41NDc1MjIzNCwxLjI1MzY1MTM2IEw5Ljk4MDMwMzIzLDEuNDc5ODI3MjUgWiBNNy45ODAzMDMyMywwLjQ3OTgyNzI1MiBMNy45ODAzMDMyMywwLjQ3OTgyNzI1MiBDNy41OTc3MjQ0NCwwLjQ4MjkxMjYzNCA3LjIxNTgxNTcxLDAuNTczOTM5OTA4IDYuODcyNzczODUsMC43NTI5MDkwNzMgTDIuMTI3NjYzNTYsMy4yMzI3NTQxMSBDMS40Mjk1NDQ0NiwzLjU5Nzc2MzIzIDEsNC4yNzA3NzM1NCAxLDUgTDEsMTAuNDE4NDM4NCBDMC4zNzk1OTAxNTIsMTAuMDc0MjQ1NyAwLDkuNDYyNjY0OTcgMCw4LjgwMjgwNTE1IEwwLDQuMTk3Mzc4NjUgQzAsMy41MjAyMzk4IDAuMzk4ODYyNzEzLDIuODk1MzAxNjUgMS4wNDcxMTYxNywyLjU1NjM2NDYxIEw1LjQ1MzI5MDAxLDAuMjUzNjUxMzY0IEM2LjEwMTU0MzQ2LC0wLjA4NDU1MDQ1NDYgNi44OTkyNjg4OSwtMC4wODQ1NTA0NTQ2IDcuNTQ3NTIyMzQsMC4yNTM2NTEzNjQgTDcuOTgwMzAzMjMsMC40Nzk4MjcyNTIgWiIvPgo8L3N2Zz4K"); }
-
-.quick-jump-result__icon--app {
-    background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDE2IDE2IiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgPGRlZnM+CiAgICA8bGluZWFyR3JhZGllbnQgaWQ9ImIiIHgxPSIwJSIgeTE9IjAlIiB5Mj0iMTAwJSI+CiAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiNBQzhFQ0UiIG9mZnNldD0iMCUiLz4KICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iIzc5NTg5RiIgb2Zmc2V0PSIxMDAlIi8+CiAgICA8L2xpbmVhckdyYWRpZW50PgogICAgPHBhdGggaWQ9ImEiIGQ9Ik02Ljg3Mjc3Mzg1LDAuOTg0ODY5ODEgQzcuNTcwODkyOTYsMC42MDUwNDMxNDIgOC40Mjk5ODE4OCwwLjYwNTA0MzE0MiA5LjEyODEwMDk4LDAuOTg0ODY5ODEgTDEzLjg3MzIxMTMsMy41NzA5OTM5OSBDMTQuNTcwNDU1NSwzLjk1MTY0NjM3IDE1LDQuNjUzNDk5OTkgMTUsNS40MTM5NzkwNCBMMTUsMTAuNTg2MjI3NCBDMTUsMTEuMzQ1ODgwNyAxNC41NzA0NTU1LDEyLjA0ODU2MDEgMTMuODczMjExMywxMi40MjkyMTI0IEw5LjEyODEwMDk4LDE1LjAxNDUxMDkgQzguNDI5OTgxODgsMTUuMzk1MTYzMyA3LjU3MDg5Mjk2LDE1LjM5NTE2MzMgNi44NzI3NzM4NSwxNS4wMTQ1MTA5IEwyLjEyNzY2MzU2LDEyLjQyOTIxMjQgQzEuNDI5NTQ0NDYsMTIuMDQ4NTYwMSAxLDExLjM0NTg4MDcgMSwxMC41ODYyMjc0IEwxLDUuNDEzOTc5MDQgQzEsNC42NTM0OTk5OSAxLjQyOTU0NDQ2LDMuOTUxNjQ2MzcgMi4xMjc2NjM1NiwzLjU3MDk5Mzk5IEw2Ljg3Mjc3Mzg1LDAuOTg0ODY5ODEgWiIvPgogIDwvZGVmcz4KICA8ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgPHVzZSBmaWxsPSJ1cmwoI2IpIiB4bGluazpocmVmPSIjYSIvPgogIDwvZz4KPC9zdmc+Cg=="); }
-
-.quick-jump-result__icon--space {
-    background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDE2IDE2Ij4KICA8ZGVmcz4KICAgIDxsaW5lYXJHcmFkaWVudCBpZD0iYSIgeDE9IjAlIiB5MT0iMCUiIHkyPSIxMDAlIj4KICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iI0FDOEVDRSIgb2Zmc2V0PSIwJSIvPgogICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjNzk1ODlGIiBvZmZzZXQ9IjEwMCUiLz4KICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgPC9kZWZzPgogIDxwYXRoIGZpbGw9InVybCgjYSkiIGQ9Ik0xLjI4ODc1ODM2LDMuMTQ2Mjk0OTEgTDYuNzExNzQxNTUsMC4zMTIxODYyOTQgQzcuNTA5NTkxOTUsLTAuMTA0MDYyMDk4IDguNDkxNDA3ODYsLTAuMTA0MDYyMDk4IDkuMjg5MjU4MjYsMC4zMTIxODYyOTQgTDE0LjcxMjI0MTUsMy4xNDYyOTQ5MSBDMTUuNTA5MDkyLDMuNTYzNDQ4MTkgMTYsNC4zMzI2MDI4MiAxNiw1LjE2NjAwNDUgTDE2LDEwLjgzNDIyMTcgQzE2LDExLjY2NjcxODUgMTUuNTA5MDkyLDEyLjQzNjc3OCAxNC43MTIyNDE1LDEyLjg1MzkzMTMgTDkuMjg5MjU4MjYsMTUuNjg3MTM1IEM4LjQ5MTQwNzg2LDE2LjEwNDI4ODMgNy41MDk1OTE5NSwxNi4xMDQyODgzIDYuNzExNzQxNTUsMTUuNjg3MTM1IEwxLjI4ODc1ODM2LDEyLjg1MzkzMTMgQzAuNDkwOTA3OTU1LDEyLjQzNjc3OCAwLDExLjY2NjcxODUgMCwxMC44MzQyMjE3IEwwLDUuMTY2MDA0NSBDMCw0LjMzMjYwMjgyIDAuNDkwOTA3OTU1LDMuNTYzNDQ4MTkgMS4yODg3NTgzNiwzLjE0NjI5NDkxIFogTTEuMSw1LjE2NjAwNDUgTDEuMSwxMC44MzQyMjE3IEMxLjEsMTEuMjQ3MjM2NCAxLjM1NTMwMjc4LDExLjY0NzQ0MzkgMS43OTgxMjA4OCwxMS44Nzg5Njk5IEw3LjIyMTQxMjQ1LDE0LjcxMjMzNDggQzcuNjk5OTg1NjQsMTQuOTYyNTU1MSA4LjMwMTAxNDE3LDE0Ljk2MjU1NTEgOC43Nzk4OTU3NCwxNC43MTIxNzM2IEwxNC4yMDIwNjg2LDExLjg3OTM5MzcgQzE0LjY0NDY3NzcsMTEuNjQ3Njg2NyAxNC45LDExLjI0NzIyMzYgMTQuOSwxMC44MzQyMjE3IEwxNC45LDUuMTY2MDA0NSBDMTQuOSw0Ljc1MjQ5MjMgMTQuNjQ1MDQxOSw0LjM1MjczMDIzIDE0LjIwMjc1MTEsNC4xMjExODk1OCBMOC43ODA0NTYyLDEuMjg3NDQwMzQgQzguMzAxNDE3MzgsMS4wMzc1MTk4OSA3LjY5OTU4MjQzLDEuMDM3NTE5ODkgNy4yMjEyMzE4NiwxLjI4NzA4MDk3IEwxLjc5ODM1MDc2LDQuMTIxMTM2MjMgQzEuMzU0OTA4NDEsNC4zNTMwMTk5MSAxLjEsNC43NTI1MDQgMS4xLDUuMTY2MDA0NSBaIE0xMS4yODMwNDMxLDYuOTk2NjQxOTIgTDEzLjI4MzA0MzEsNy44ODA4NDIzNiBDMTMuNTM2NTA3Myw3Ljk5Mjg5ODkyIDEzLjcsOC4yNDM5MzY3MyAxMy43LDguNTIxMDY2MjIgTDEzLjcsMTAuODc4OTMzOSBDMTMuNywxMS4xNTYwNjM0IDEzLjUzNjUwNzMsMTEuNDA3MTAxMiAxMy4yODMwNDMxLDExLjUxOTE1NzggTDExLjI4MzA0MzEsMTIuNDAzMzU4MiBDMTEuMTAyNzYzOCwxMi40ODMwNTk3IDEwLjg5NzIzNjIsMTIuNDgzMDU5NyAxMC43MTY5NTY5LDEyLjQwMzM1ODIgTDguNzE2OTU2OSwxMS41MTkxNTc4IEM4LjQ2MzQ5MjczLDExLjQwNzEwMTIgOC4zLDExLjE1NjA2MzQgOC4zLDEwLjg3ODkzMzkgTDguMyw4LjUyMTA2NjIyIEM4LjMsOC4yNDM5MzY3MyA4LjQ2MzQ5MjcyLDcuOTkyODk4OTIgOC43MTY5NTY4OSw3Ljg4MDg0MjM2IEwxMC43MTY5NTY5LDYuOTk2NjQxOTIgQzEwLjg5NzIzNjIsNi45MTY5NDA0MSAxMS4xMDI3NjM4LDYuOTE2OTQwNDEgMTEuMjgzMDQzMSw2Ljk5NjY0MTkyIFogTTUuMjgzMDQzMTEsNi45OTY2NDE5MiBMNy4yODMwNDMxMSw3Ljg4MDg0MjM2IEM3LjUzNjUwNzI4LDcuOTkyODk4OTIgNy43LDguMjQzOTM2NzMgNy43LDguNTIxMDY2MjIgTDcuNywxMC44Nzg5MzM5IEM3LjcsMTEuMTU2MDYzNCA3LjUzNjUwNzI3LDExLjQwNzEwMTIgNy4yODMwNDMxLDExLjUxOTE1NzggTDUuMjgzMDQzMSwxMi40MDMzNTgyIEM1LjEwMjc2MzgyLDEyLjQ4MzA1OTcgNC44OTcyMzYxOCwxMi40ODMwNTk3IDQuNzE2OTU2OSwxMi40MDMzNTgyIEwyLjcxNjk1NjksMTEuNTE5MTU3OCBDMi40NjM0OTI3MywxMS40MDcxMDEyIDIuMywxMS4xNTYwNjM0IDIuMywxMC44Nzg5MzM5IEwyLjMsOC41MjEwNjYyMiBDMi4zLDguMjQzOTM2NzMgMi40NjM0OTI3Miw3Ljk5Mjg5ODkyIDIuNzE2OTU2ODksNy44ODA4NDIzNiBMNC43MTY5NTY4OSw2Ljk5NjY0MTkyIEM0Ljg5NzIzNjE4LDYuOTE2OTQwNDEgNS4xMDI3NjM4Miw2LjkxNjk0MDQxIDUuMjgzMDQzMTEsNi45OTY2NDE5MiBaIE04LjI4MzA0MzExLDIuMzU5Nzc2MTMgTDEwLjI4MzA0MzEsMy4yNDM5NzY1NyBDMTAuNTM2NTA3MywzLjM1NjAzMzEzIDEwLjcsMy42MDcwNzA5NCAxMC43LDMuODg0MjAwNDQgTDEwLjcsNi4yNDIwNjgxMyBDMTAuNyw2LjUxOTE5NzYzIDEwLjUzNjUwNzMsNi43NzAyMzU0NCAxMC4yODMwNDMxLDYuODgyMjkyIEw4LjI4MzA0MzEsNy43NjY0OTIzOSBDOC4xMDI3NjM4Miw3Ljg0NjE5Mzg5IDcuODk3MjM2MTgsNy44NDYxOTM4OSA3LjcxNjk1NjksNy43NjY0OTIzOSBMNS43MTY5NTY5LDYuODgyMjkyIEM1LjQ2MzQ5MjczLDYuNzcwMjM1NDQgNS4zLDYuNTE5MTk3NjMgNS4zLDYuMjQyMDY4MTMgTDUuMywzLjg4NDIwMDQ0IEM1LjMsMy42MDcwNzA5NCA1LjQ2MzQ5MjcyLDMuMzU2MDMzMTMgNS43MTY5NTY4OSwzLjI0Mzk3NjU3IEw3LjcxNjk1Njg5LDIuMzU5Nzc2MTMgQzcuODk3MjM2MTgsMi4yODAwNzQ2MiA4LjEwMjc2MzgyLDIuMjgwMDc0NjIgOC4yODMwNDMxMSwyLjM1OTc3NjEzIFogTTExLDcuNjM2ODY1NzkgTDksOC41MjEwNjYyMiBMOSwxMC44Nzg5MzM5IEwxMSwxMS43NjMxMzQzIEwxMywxMC44Nzg5MzM5IEwxMyw4LjUyMTA2NjIyIEwxMSw3LjYzNjg2NTc5IFogTTUsNy42MzY4NjU3OSBMMyw4LjUyMTA2NjIyIEwzLDEwLjg3ODkzMzkgTDUsMTEuNzYzMTM0MyBMNywxMC44Nzg5MzM5IEw3LDguNTIxMDY2MjIgTDUsNy42MzY4NjU3OSBaIE04LDMgTDYsMy44ODQyMDA0NCBMNiw2LjI0MjA2ODEzIEw4LDcuMTI2MjY4NTIgTDEwLDYuMjQyMDY4MTMgTDEwLDMuODg0MjAwNDQgTDgsMyBaIi8+Cjwvc3ZnPgo="); }
-
-.quick-jump-result__icon--personal-apps {
-    background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDE2IDE2Ij4KICA8ZGVmcz4KICAgIDxsaW5lYXJHcmFkaWVudCBpZD0iYSIgeDE9IjAlIiB5MT0iMCUiIHkyPSIxMDAlIj4KICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iIzlBN0NCQyIgb2Zmc2V0PSIwJSIvPgogICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjNzk1ODlGIiBvZmZzZXQ9IjEwMCUiLz4KICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgPC9kZWZzPgogIDxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICA8cGF0aCBmaWxsPSIjNzk1ODlGIiBmaWxsLW9wYWNpdHk9Ii42MDEiIGZpbGwtcnVsZT0ibm9uemVybyIgZD0iTTEsMi42NjAwMzUzNCBMMSwxMy4zMzk5NjQ3IEMxLDE0LjI1NzYxNzYgMS43NDI2NTQyMSwxNSAyLjY2MDAzNTM0LDE1IEwxMy4zMzk5NjQ3LDE1IEMxNC4yNTc2MTc2LDE1IDE1LDE0LjI1NzM0NTggMTUsMTMuMzM5OTY0NyBMMTUsMi42NjAwMzUzNCBDMTUsMS43NDIzODIzOCAxNC4yNTczNDU4LDEgMTMuMzM5OTY0NywxIEwyLjY2MDAzNTM0LDEgQzEuNzQyMzgyMzgsMSAxLDEuNzQyNjU0MjEgMSwyLjY2MDAzNTM0IFogTTAsMi42NjAwMzUzNCBDMCwxLjE5MDkzODM5IDEuMTg5NTI4ODUsMCAyLjY2MDAzNTM0LDAgTDEzLjMzOTk2NDcsMCBDMTQuODA5MDYxNiwwIDE2LDEuMTg5NTI4ODUgMTYsMi42NjAwMzUzNCBMMTYsMTMuMzM5OTY0NyBDMTYsMTQuODA5MDYxNiAxNC44MTA0NzExLDE2IDEzLjMzOTk2NDcsMTYgTDIuNjYwMDM1MzQsMTYgQzEuMTkwOTM4MzksMTYgMCwxNC44MTA0NzExIDAsMTMuMzM5OTY0NyBMMCwyLjY2MDAzNTM0IFoiLz4KICAgIDxwYXRoIGZpbGw9InVybCgjYSkiIGQ9Ik0xMi4yMTA1MjYzLDEzIEwzLjgzMTk2MzI2LDEzIEMzLjM0ODEzNzA1LDEzIDMsMTIuNzExMjk3NyAzLDEyLjIyMDA1NTYgQzMsMTEuNzI4ODEzNiAzLjUyNjMxNTc5LDEwLjk3OTQ4MjYgNC4wNTI2MzE1OCwxMC43MTE4NjQ0IEM0LjU3ODk0NzM3LDEwLjQ0NDI0NjIgNC44NDIxMDUyNiwxMC4zMjM4MTggNS42MTU1NDU2NywxMC4yMjg3MDk1IEM1LjYxNTU0NTY3LDEwLjIyODcwOTUgNi45MzEzMzUxNSw5Ljk0OTE1MjU0IDYuOTMxMzM1MTUsOS40NzA3MzQ5NyBDNi45MzEzMzUxNSw5LjI3MTE4NjQ0IDYuOTY0Mjg5NDgsOS4xOTMzODYzOSA2LjcwNDc4NTgsOC45ODU3MjcwMyBDNi4yMTQyODU3MSw4LjU5MzIyMDM0IDUuNjE1NTQ1NjcsNy41MDQ5MDYyOCA1LjYxNTU0NTY3LDYuMDE1MTY1MDEgQzUuNjE1NTQ1NjcsNC41MjU0MjM3MyA2LjMwMjExMDE5LDMuNzY0MDk4OCA2LjU3MTQyODU3LDMuNTA4NDc0NTggQzcuMjg1NzE0MjksMi44MzA1MDg0NyA4LjcxNDI4NTcxLDIuODMwNTA4NDcgOS40Mjg1NzE0MywzLjUwODQ3NDU4IEM5Ljk0NTM4OTUsMy45OTkwMTM3NiAxMC4zNTIzODc4LDQuNTI1NDIzNzMgMTAuMzUyMzg3OCw2LjAxNTE2NTAzIEMxMC4zNTIzODc4LDcuNTA0OTA2MzMgOS43ODU3MTQyOSw4LjU5MzIyMDM0IDkuMjk5NzU2Miw4Ljk4NTcyNzAzIEM5LjAxNTczOTM2LDkuMjE1MTI2NDcgOS4wNTI2MzE1OCw5LjI3MTE4NjQ0IDkuMDUyNjMxNTgsOS40NzA3MzQ5NyBDOS4wNTI2MzE1OCwxMC4wMDkyNjY2IDEwLjI0NzcxNDQsMTAuMjE0NTc1NiAxMC4zNTIzODc4LDEwLjIyODcwOTUgQzExLjE1Nzg5NDcsMTAuMzIzODE4IDExLjQyMTA1MjYsMTAuMzMxNTc2NiAxMS45NDczNjg0LDEwLjcxMTg2NDQgQzEyLjU1MTE0OTYsMTEuMTQ4MTI0NiAxMywxMS42OTQzNDc5IDEzLDEyLjIyMDA1NTMgQzEzLDEyLjc0NTc2MjcgMTIuNzM2ODQyMSwxMyAxMi4yMTA1MjYzLDEzIFoiLz4KICA8L2c+Cjwvc3ZnPgo="); }
-
-.quick-jump__list .identicon {
-    position: relative;
-    background-color: #fff;
-    border-radius: 3px;
-    display: inline-block;
-    height: 18px;
-    width: 18px;
-    line-height: 18px;
-    vertical-align: middle;
-    text-align: center;
-    font-size: 11px;
-    font-weight: 600;
-    color: #AB8ECD;
-    box-shadow: 0 0 0 1px #AB8ECD;
-    border: none;
-    text-transform: capitalize;
-    border-radius: 50%; }
-
-.quick-jump__item--highlighted {
-    background-color: #f7f8fb !important;
-    background-image: none !important; }
-
-.quick-jump__hint {
-    text-align: center;
-    font-size: 12px;
-    padding: 10px 0; }
-.quick-jump__hint .quick-jump__hint__title {
-    font-weight: bold;
-    font-size: 11px;
-    text-transform: uppercase; }
-.quick-jump__hint .quick-jump__hint__key {
-    border: 1px solid #CFD7E6;
-    border-radius: 4px;
-    padding: 0px 5px;
-    background-color: #fff;
-    font-family: monospace;
-    margin: 0 2px; }
-
-.quick-jump__title {
-    font-size: 11px;
-    text-transform: uppercase;
-    font-weight: 600;
-    padding: 10px; }
-
-.quick-jump-result {
-    display: flex;
-    flex-wrap: wrap;
-    align-items: center;
-    font-size: 14px;
-    padding: 5px 10px;
-    cursor: pointer;
-    min-height: 32px; }
-.quick-jump-result:hover {
-    background-color: #f7f8fb;
-}
diff --git a/rootfs/web/src/assets/icons/drycc.svg b/rootfs/web/src/assets/icons/drycc.svg
new file mode 100644
index 0000000..5a7cdca
--- /dev/null
+++ b/rootfs/web/src/assets/icons/drycc.svg
@@ -0,0 +1,13 @@
+<svg width="200" height="200" viewBox="0 0 200 200" fill="none" xmlns="http://www.w3.org/2000/svg">
+  <circle cx="38" cy="38" r="32" fill="#FD2C55"/>
+  <circle cx="162" cy="38" r="32" fill="#FD2C55"/>
+  <circle cx="38" cy="162" r="32" fill="#FD2C55"/>
+  <circle cx="162" cy="162" r="32" fill="#FD2C55"/>
+  <g fill="#3BC569" stroke="#3BC569" stroke-width="12" stroke-linejoin="round">
+    <path d="M72 16 L128 16 L100 62 Z"/>
+    <path d="M72 184 L128 184 L100 138 Z"/>
+    <path d="M16 72 L16 128 L62 100 Z"/>
+    <path d="M184 72 L184 128 L138 100 Z"/>
+  </g>
+  <rect x="73" y="73" width="54" height="54" rx="12" fill="#3EBAF0"/>
+</svg>
diff --git a/rootfs/web/src/assets/icons/github.svg b/rootfs/web/src/assets/icons/github.svg
new file mode 100644
index 0000000..dc2f59a
--- /dev/null
+++ b/rootfs/web/src/assets/icons/github.svg
@@ -0,0 +1,8 @@
+<svg width="20" height="20" fill="#000000" viewBox="-0.48 -0.48 24.96 24.96" role="img" xmlns="http://www.w3.org/2000/svg">
+  <g id="SVGRepo_bgCarrier" stroke-width="0"></g>
+  <g id="SVGRepo_tracerCarrier" stroke-linecap="round" stroke-linejoin="round"></g>
+  <g id="SVGRepo_iconCarrier">
+    <title>GitHub icon</title>
+    <path d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"></path>
+  </g>
+</svg>
\ No newline at end of file
diff --git a/rootfs/web/src/assets/icons/google.svg b/rootfs/web/src/assets/icons/google.svg
new file mode 100644
index 0000000..e9f9e65
--- /dev/null
+++ b/rootfs/web/src/assets/icons/google.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" width="20" height="20">
+  <path fill="#FFC107" d="M43.611,20.083H42V20H24v8h11.303c-1.649,4.657-6.08,8-11.303,8c-6.627,0-12-5.373-12-12c0-6.627,5.373-12,12-12c3.059,0,5.842,1.154,7.961,3.039l5.657-5.657C34.046,6.053,29.268,4,24,4C12.955,4,4,12.955,4,24c0,11.045,8.955,20,20,20c11.045,0,20-8.955,20-20C44,22.659,43.862,21.35,43.611,20.083z"/><path fill="#FF3D00" d="M6.306,14.691l6.571,4.819C14.655,15.108,18.961,12,24,12c3.059,0,5.842,1.154,7.961,3.039l5.657-5.657C34.046,6.053,29.268,4,24,4C16.318,4,9.656,8.337,6.306,14.691z"/><path fill="#4CAF50" d="M24,44c5.166,0,9.86-1.977,13.409-5.192l-6.19-5.238C29.211,35.091,26.715,36,24,36c-5.202,0-9.619-3.317-11.283-7.946l-6.522,5.025C9.505,39.556,16.227,44,24,44z"/><path fill="#1976D2" d="M43.611,20.083H42V20H24v8h11.303c-0.792,2.237-2.231,4.166-4.087,5.571c0.001-0.001,0.002-0.001,0.003-0.002l6.19,5.238C36.971,39.205,44,34,44,24C44,22.659,43.862,21.35,43.611,20.083z"/>
+</svg>
\ No newline at end of file
diff --git a/rootfs/web/src/assets/style/SalesforceSans-Bold.ttf b/rootfs/web/src/assets/style/SalesforceSans-Bold.ttf
deleted file mode 100644
index 12e439f..0000000
Binary files a/rootfs/web/src/assets/style/SalesforceSans-Bold.ttf and /dev/null differ
diff --git a/rootfs/web/src/assets/style/SalesforceSans-Regular.ttf b/rootfs/web/src/assets/style/SalesforceSans-Regular.ttf
deleted file mode 100644
index f486935..0000000
Binary files a/rootfs/web/src/assets/style/SalesforceSans-Regular.ttf and /dev/null differ
diff --git a/rootfs/web/src/assets/style/avatar.png b/rootfs/web/src/assets/style/avatar.png
deleted file mode 100644
index a09db42..0000000
Binary files a/rootfs/web/src/assets/style/avatar.png and /dev/null differ
diff --git a/rootfs/web/src/assets/style/bentonsans-book.eot b/rootfs/web/src/assets/style/bentonsans-book.eot
deleted file mode 100644
index 2976398..0000000
Binary files a/rootfs/web/src/assets/style/bentonsans-book.eot and /dev/null differ
diff --git a/rootfs/web/src/assets/style/bentonsans-book.svg b/rootfs/web/src/assets/style/bentonsans-book.svg
deleted file mode 100644
index 5fc530e..0000000
--- a/rootfs/web/src/assets/style/bentonsans-book.svg
+++ /dev/null
@@ -1,400 +0,0 @@
-<?xml version="1.0" standalone="yes"?><svg version="1.1" xmlns = 'http://www.w3.org/2000/svg'><defs><font id='web' horiz-adv-x="1000">
-<font-face font-family="web" descent="-436" cap-height="1516" units-per-em="2048" bbox="-197,-485,2697,1966" x-height="1079" ascent="1612" />
-<missing-glyph horiz-adv-x="1024" d="" /><glyph horiz-adv-x="1024" d="" unicode=" " />
-<glyph horiz-adv-x="2048" d="" unicode=" " />
-<glyph horiz-adv-x="666" d="" unicode=" " />
-<glyph horiz-adv-x="410" d="" unicode=" " />
-<glyph horiz-adv-x="1331" d="M 145 645 L 883 707 L 1186 639 L 449 578 L 145 645 Z" unicode="‒" />
-<glyph horiz-adv-x="1317" d="M 137 707 L 1180 707 L 1180 578 L 137 578 L 137 707 Z" unicode="–" />
-<glyph horiz-adv-x="1892" d="M 137 707 L 1755 707 L 1755 578 L 137 578 L 137 707 Z" unicode="—" />
-<glyph horiz-adv-x="2048" d="M 0 707 L 2048 707 L 2048 578 L 0 578 L 0 707 Z" unicode="―" />
-<glyph horiz-adv-x="549" d="M 186 1292 L 281 1516 L 346 1516 L 297 1309 L 362 1309 L 362 1116 L 186 1116 L 186 1292 Z" unicode="‘" />
-<glyph horiz-adv-x="549" d="M 252 1323 L 186 1323 L 186 1516 L 362 1516 L 362 1337 L 268 1116 L 203 1116 L 252 1323 Z" unicode="’" />
-<glyph horiz-adv-x="549" d="M 252 0 L 186 0 L 186 193 L 362 193 L 362 14 L 268 -207 L 203 -207 L 252 0 Z" unicode="‚" />
-<glyph horiz-adv-x="928" d="M 186 1292 L 281 1516 L 346 1516 L 297 1309 L 362 1309 L 362 1116 L 186 1116 L 186 1292 Z M 565 1292 L 659 1516 L 725 1516 L 676 1309 L 739 1309 L 739 1116 L 565 1116 L 565 1292 Z" unicode="“" />
-<glyph horiz-adv-x="928" d="M 252 1323 L 186 1323 L 186 1516 L 362 1516 L 362 1337 L 268 1116 L 203 1116 L 252 1323 Z M 631 1323 L 565 1323 L 565 1516 L 739 1516 L 739 1337 L 645 1116 L 580 1116 L 631 1323 Z" unicode="”" />
-<glyph horiz-adv-x="928" d="M 252 0 L 186 0 L 186 193 L 362 193 L 362 14 L 268 -207 L 203 -207 L 252 0 Z M 631 0 L 565 0 L 565 193 L 739 193 L 739 14 L 645 -207 L 580 -207 L 631 0 Z" unicode="„" />
-<glyph horiz-adv-x="463" d="" unicode=" " />
-<glyph horiz-adv-x="641" d="M 233 1516 L 410 1516 L 365 414 L 281 414 L 233 1516 Z M 233 190 L 412 190 L 412 0 L 233 0 L 233 190 Z" unicode="!" />
-<glyph horiz-adv-x="829" d="M 518 1403 L 518 1516 L 662 1516 L 662 1403 L 627 1001 L 553 1001 L 518 1403 Z M 168 1403 L 168 1516 L 309 1516 L 309 1403 L 274 1001 L 203 1001 L 168 1403 Z" unicode="&#x22;" />
-<glyph horiz-adv-x="1450" d="M 328 444 L 90 444 L 90 561 L 352 561 L 434 954 L 178 954 L 178 1071 L 459 1071 L 553 1516 L 684 1516 L 592 1071 L 983 1071 L 1077 1516 L 1208 1516 L 1114 1071 L 1360 1071 L 1360 954 L 1092 954 L 1008 561 L 1272 561 L 1272 444 L 985 444 L 891 0 L 760 0 L 852 444 L 461 444 L 367 0 L 236 0 L 328 444 Z M 877 561 L 958 954 L 567 954 L 483 561 L 877 561 Z" unicode="#" />
-<glyph horiz-adv-x="1325" d="M 604 -8 C 536 -3 476 8 424 28 C 371 47 325 70 285 98 C 245 126 212 155 185 187 C 158 219 137 249 121 279 L 229 350 C 251 316 275 285 300 257 C 325 229 353 204 384 184 C 414 164 448 147 485 135 C 521 122 562 114 608 111 L 608 735 C 549 753 493 772 440 794 C 386 815 339 841 299 872 C 258 903 226 941 202 985 C 178 1029 166 1083 166 1147 C 166 1197 175 1245 195 1290 C 215 1335 243 1375 281 1409 C 318 1443 364 1470 418 1491 C 472 1512 534 1524 604 1528 L 604 1677 L 717 1677 L 717 1526 C 773 1520 822 1509 866 1493 C 910 1477 948 1457 981 1434 C 1014 1410 1043 1385 1067 1357 C 1091 1329 1112 1300 1130 1270 L 1022 1192 C 1002 1222 983 1249 964 1273 C 944 1297 923 1317 899 1335 C 875 1353 848 1367 818 1378 C 788 1389 753 1397 713 1401 L 713 842 C 773 824 833 804 891 782 C 949 760 1000 733 1045 700 C 1090 667 1126 626 1154 577 C 1182 528 1196 467 1196 395 C 1196 337 1185 285 1163 237 C 1141 189 1109 148 1068 113 C 1027 78 977 50 918 29 C 858 7 791 -5 717 -10 L 717 -190 L 604 -190 L 604 -8 Z M 713 113 C 759 115 803 122 845 133 C 886 143 922 159 953 181 C 984 202 1009 229 1027 263 C 1045 296 1055 337 1055 385 C 1055 433 1045 475 1027 509 C 1009 543 984 572 953 596 C 922 620 886 641 845 658 C 803 674 759 690 713 705 L 713 113 Z M 608 1405 C 556 1402 510 1394 472 1380 C 434 1366 402 1347 378 1325 C 353 1303 335 1277 323 1248 C 311 1219 305 1189 305 1157 C 305 1115 312 1080 328 1050 C 344 1020 365 994 393 972 C 421 950 453 932 490 916 C 526 900 566 885 608 872 L 608 1405 Z" unicode="$" />
-<glyph horiz-adv-x="1987" d="M 467 627 C 412 627 363 638 321 660 C 279 682 243 712 215 752 C 186 792 164 839 149 894 C 134 949 127 1010 127 1077 C 127 1147 135 1210 151 1267 C 167 1324 189 1373 219 1413 C 249 1453 285 1483 327 1505 C 369 1527 417 1538 469 1538 C 521 1538 568 1527 610 1506 C 652 1484 687 1454 716 1414 C 745 1374 767 1327 783 1271 C 799 1215 807 1153 807 1085 C 807 1018 799 957 784 901 C 768 845 746 796 717 756 C 688 715 653 683 611 661 C 569 638 521 627 467 627 Z M 1520 -20 C 1464 -20 1416 -9 1374 13 C 1332 35 1296 65 1267 105 C 1238 145 1216 192 1202 247 C 1187 302 1180 363 1180 430 C 1180 500 1188 563 1204 620 C 1220 676 1242 725 1272 765 C 1302 805 1338 835 1380 857 C 1422 878 1470 889 1522 889 C 1574 889 1621 878 1663 857 C 1705 835 1740 805 1769 766 C 1798 726 1820 679 1836 623 C 1852 567 1860 505 1860 436 C 1860 370 1852 309 1837 253 C 1821 197 1799 149 1770 109 C 1741 68 1706 36 1664 14 C 1622 -8 1574 -20 1520 -20 Z M 1520 92 C 1554 92 1584 100 1610 118 C 1636 136 1658 160 1676 191 C 1693 221 1706 257 1715 299 C 1724 341 1729 386 1729 434 C 1729 485 1724 532 1715 574 C 1706 616 1693 652 1675 682 C 1657 712 1636 735 1610 751 C 1584 767 1554 776 1520 776 C 1484 776 1453 767 1427 750 C 1401 732 1379 708 1362 678 C 1344 648 1331 612 1322 570 C 1313 528 1309 484 1309 436 C 1309 384 1313 337 1322 295 C 1331 253 1344 217 1362 187 C 1380 157 1402 133 1428 117 C 1454 100 1485 92 1520 92 Z M 469 741 C 503 741 533 749 559 767 C 585 784 606 808 624 839 C 642 869 655 905 664 947 C 673 988 678 1033 678 1081 C 678 1132 673 1179 664 1221 C 654 1263 641 1299 623 1329 C 605 1359 583 1382 557 1398 C 531 1414 501 1423 467 1423 C 433 1423 402 1414 376 1397 C 350 1379 328 1355 310 1325 C 292 1295 278 1259 269 1218 C 260 1177 256 1133 256 1085 C 256 1033 260 986 270 944 C 279 902 293 866 311 836 C 329 806 351 782 378 766 C 404 749 435 741 469 741 Z M 1380 1516 L 1511 1516 L 606 0 L 475 0 L 1380 1516 Z" unicode="%" />
-<glyph horiz-adv-x="1477" d="M 584 -29 C 500 -29 426 -19 364 0 C 301 19 249 46 207 82 C 165 117 133 159 113 209 C 92 259 82 314 82 375 C 82 430 91 480 110 526 C 128 571 154 613 186 651 C 218 689 256 723 299 754 C 342 785 388 814 438 840 C 403 900 377 958 360 1014 C 342 1070 334 1128 334 1188 C 334 1234 341 1278 356 1321 C 370 1363 392 1401 422 1434 C 451 1467 488 1494 532 1514 C 576 1534 627 1544 686 1544 C 738 1544 784 1536 824 1521 C 864 1506 897 1485 924 1459 C 950 1433 970 1402 984 1367 C 997 1331 1004 1293 1004 1253 C 1004 1201 994 1153 974 1111 C 954 1068 926 1029 892 993 C 858 957 817 925 771 895 C 724 865 674 836 621 809 C 639 781 659 751 683 719 C 706 687 732 654 760 618 C 810 553 856 496 900 446 C 943 396 984 352 1022 315 C 1065 371 1100 437 1126 512 C 1152 587 1171 669 1182 758 L 1319 758 C 1305 656 1282 561 1249 473 C 1215 385 1172 306 1118 238 C 1175 191 1228 158 1278 138 C 1328 118 1377 109 1425 109 L 1425 -20 C 1387 -18 1352 -14 1318 -8 C 1284 -1 1252 8 1220 20 C 1188 32 1156 48 1124 68 C 1092 88 1060 111 1026 139 C 967 87 901 46 829 16 C 757 -14 675 -29 584 -29 Z M 563 899 C 604 920 643 942 681 966 C 718 989 751 1014 779 1042 C 807 1070 829 1100 845 1133 C 861 1165 870 1202 870 1243 C 870 1267 866 1289 859 1311 C 852 1333 841 1352 826 1369 C 811 1385 792 1398 769 1408 C 745 1418 718 1423 686 1423 C 650 1423 619 1417 593 1406 C 566 1394 544 1379 526 1359 C 508 1339 495 1315 486 1287 C 477 1259 473 1228 473 1194 C 473 1144 480 1096 494 1050 C 508 1004 531 953 563 899 Z M 592 94 C 660 94 722 104 779 125 C 836 146 888 177 934 219 C 892 259 847 305 800 358 C 753 411 701 474 645 547 C 616 583 589 617 564 649 C 539 681 516 712 496 743 C 456 719 419 694 386 668 C 353 642 325 614 301 584 C 277 554 259 522 246 489 C 233 455 227 421 227 385 C 227 293 257 222 318 171 C 379 119 470 94 592 94 Z" unicode="&#x26;" />
-<glyph horiz-adv-x="477" d="M 168 1403 L 168 1516 L 309 1516 L 309 1403 L 274 1001 L 203 1001 L 168 1403 Z" unicode="'" />
-<glyph horiz-adv-x="813" d="M 639 -420 C 555 -350 482 -277 418 -203 C 354 -129 301 -51 258 29 C 215 109 183 193 161 281 C 139 369 129 461 129 559 C 129 656 139 748 161 836 C 183 924 215 1008 258 1089 C 301 1169 354 1247 418 1321 C 482 1395 555 1468 639 1538 L 702 1466 C 638 1408 581 1345 530 1277 C 478 1209 434 1136 398 1060 C 362 984 334 904 314 820 C 294 736 285 649 285 559 C 285 468 294 381 314 297 C 334 213 362 132 399 56 C 435 -20 479 -93 531 -161 C 583 -229 641 -292 705 -350 L 639 -420 L 639 -420 Z" unicode="(" />
-<glyph horiz-adv-x="813" d="M 109 -350 C 173 -292 231 -229 283 -161 C 335 -93 379 -20 415 56 C 451 132 480 213 500 297 C 520 381 530 468 530 559 C 530 649 520 736 500 820 C 480 904 451 984 415 1060 C 379 1136 335 1209 283 1277 C 231 1345 174 1408 111 1466 L 174 1538 C 257 1468 331 1395 395 1321 C 459 1247 512 1169 555 1089 C 598 1008 631 924 653 836 C 675 748 686 656 686 559 C 686 461 675 369 653 281 C 631 193 598 109 555 29 C 512 -51 459 -129 395 -203 C 331 -277 257 -350 174 -420 L 109 -350 Z" unicode=")" />
-<glyph horiz-adv-x="1040" d="M 256 782 L 469 1092 L 94 1065 L 94 1178 L 471 1151 L 256 1460 L 358 1522 L 520 1180 L 682 1522 L 784 1460 L 571 1151 L 946 1178 L 946 1065 L 571 1092 L 784 782 L 682 723 L 520 1063 L 358 723 L 256 782 Z" unicode="*" />
-<glyph horiz-adv-x="1303" d="M 588 612 L 135 612 L 135 735 L 588 735 L 588 1194 L 715 1194 L 715 735 L 1169 735 L 1169 612 L 715 612 L 715 154 L 588 154 L 588 612 Z" unicode="+" />
-<glyph horiz-adv-x="549" d="M 254 0 L 186 0 L 186 193 L 362 193 L 362 18 L 270 -207 L 205 -207 L 254 0 Z" unicode="," />
-<glyph horiz-adv-x="731" d="M 135 705 L 596 705 L 596 582 L 135 582 L 135 705 Z" unicode="-" />
-<glyph horiz-adv-x="549" d="M 186 193 L 362 193 L 362 0 L 186 0 L 186 193 Z" unicode="." />
-<glyph horiz-adv-x="1124" d="M 928 1516 L 1077 1516 L 197 0 L 47 0 L 928 1516 Z" unicode="/" />
-<glyph horiz-adv-x="1337" d="M 670 -29 C 580 -29 501 -10 432 27 C 363 65 305 118 258 187 C 210 255 174 338 150 435 C 125 532 113 640 113 758 C 113 876 125 983 150 1080 C 174 1176 210 1259 258 1328 C 305 1396 363 1449 432 1487 C 501 1525 580 1544 670 1544 C 758 1544 837 1525 906 1487 C 975 1449 1033 1396 1080 1328 C 1126 1259 1162 1176 1186 1080 C 1210 983 1223 876 1223 758 C 1223 640 1210 532 1186 435 C 1162 338 1126 255 1080 187 C 1033 118 975 65 906 27 C 837 -10 758 -29 670 -29 Z M 670 98 C 734 98 791 112 842 141 C 892 169 935 211 970 267 C 1005 323 1032 392 1051 474 C 1069 556 1079 650 1079 758 C 1079 864 1069 959 1050 1041 C 1030 1123 1003 1191 967 1247 C 931 1302 888 1344 838 1372 C 788 1400 732 1415 670 1415 C 605 1415 547 1400 496 1372 C 445 1344 402 1302 367 1247 C 331 1191 304 1123 286 1041 C 267 959 258 864 258 758 C 258 650 267 556 287 474 C 306 392 334 323 370 267 C 406 211 449 169 500 141 C 550 112 607 98 670 98 Z" unicode="0" />
-<glyph horiz-adv-x="885" d="M 123 131 L 408 131 L 408 1358 C 389 1348 368 1338 345 1330 C 321 1322 297 1314 272 1308 C 247 1302 222 1297 197 1293 C 172 1289 149 1288 127 1288 L 127 1417 C 185 1419 240 1428 290 1444 C 340 1460 382 1484 416 1516 L 551 1516 L 551 131 L 809 131 L 809 0 L 123 0 L 123 131 Z" unicode="1" />
-<glyph horiz-adv-x="1202" d="M 98 33 C 98 87 105 141 121 195 C 137 248 164 302 202 357 C 240 411 292 468 358 526 C 423 584 506 645 606 709 C 662 745 711 779 752 811 C 792 843 825 875 851 907 C 877 939 896 972 908 1006 C 920 1040 926 1078 926 1120 C 926 1164 919 1205 905 1241 C 891 1277 871 1308 845 1334 C 819 1360 786 1380 748 1394 C 710 1408 666 1415 616 1415 C 532 1415 460 1393 399 1350 C 338 1307 285 1241 240 1153 L 125 1221 C 178 1323 246 1403 329 1459 C 412 1515 510 1544 623 1544 C 691 1544 753 1533 808 1513 C 862 1493 909 1464 947 1427 C 985 1390 1015 1346 1036 1295 C 1056 1244 1067 1188 1067 1128 C 1067 1076 1060 1029 1047 985 C 1033 941 1011 899 981 859 C 950 818 910 777 860 736 C 810 695 748 652 676 606 C 538 518 435 434 367 354 C 299 274 262 199 258 131 L 1073 131 L 1073 0 L 98 0 L 98 33 Z" unicode="2" />
-<glyph horiz-adv-x="1210" d="M 582 -29 C 470 -29 369 -4 280 44 C 190 93 117 163 61 254 L 170 332 C 225 248 287 188 355 152 C 423 116 500 98 584 98 C 640 98 690 105 734 120 C 778 134 816 155 847 182 C 878 209 902 242 919 280 C 935 318 944 361 944 408 C 944 464 935 512 918 554 C 900 596 872 630 834 658 C 795 686 745 706 683 720 C 621 734 545 741 457 741 L 399 741 L 399 866 L 469 866 C 549 866 618 872 674 884 C 730 896 775 915 810 939 C 845 963 871 992 887 1028 C 903 1063 911 1104 911 1151 C 911 1189 905 1224 893 1256 C 881 1288 862 1316 836 1340 C 810 1363 777 1381 737 1395 C 696 1408 647 1415 590 1415 C 551 1415 515 1410 481 1401 C 447 1392 415 1379 385 1363 C 355 1347 327 1327 301 1305 C 275 1282 251 1257 229 1231 L 129 1315 C 156 1347 186 1378 219 1406 C 252 1434 288 1458 327 1478 C 366 1498 408 1514 453 1526 C 498 1538 546 1544 598 1544 C 678 1544 746 1533 804 1512 C 861 1491 908 1463 945 1428 C 982 1393 1009 1353 1027 1307 C 1044 1261 1053 1214 1053 1165 C 1053 1116 1046 1072 1032 1032 C 1018 992 998 956 972 926 C 946 896 915 870 878 850 C 841 830 800 815 754 807 C 867 783 951 739 1005 674 C 1059 608 1087 520 1087 408 C 1087 346 1075 288 1052 235 C 1028 181 995 135 951 96 C 907 57 854 26 792 4 C 730 -17 660 -29 582 -29 Z" unicode="3" />
-<glyph horiz-adv-x="1241" d="M 797 367 L 68 367 L 68 475 L 758 1516 L 936 1516 L 936 496 L 1192 496 L 1192 367 L 936 367 L 936 0 L 797 0 L 797 367 Z M 797 496 L 797 1346 L 793 1346 L 231 496 L 797 496 Z" unicode="4" />
-<glyph horiz-adv-x="1192" d="M 580 -29 C 524 -29 472 -22 423 -9 C 373 4 327 23 285 47 C 243 71 204 99 170 133 C 135 166 105 203 80 244 L 184 328 C 206 294 231 264 258 236 C 285 208 315 183 347 163 C 379 142 415 126 453 115 C 491 103 532 98 578 98 C 642 98 698 109 746 131 C 794 153 833 183 864 220 C 895 257 918 299 933 347 C 948 395 956 444 956 496 C 956 557 947 611 930 658 C 912 704 888 743 858 775 C 827 807 790 831 748 847 C 706 863 660 872 610 872 C 532 872 466 855 410 822 C 354 789 306 742 264 682 L 156 723 L 215 1516 L 1016 1516 L 1004 1382 L 336 1382 L 295 856 C 313 877 334 896 356 914 C 378 931 402 946 430 958 C 457 970 487 980 520 987 C 553 993 590 997 631 997 C 699 997 762 985 820 962 C 877 939 926 906 968 863 C 1009 820 1041 768 1065 707 C 1088 646 1100 578 1100 502 C 1100 426 1088 355 1064 291 C 1040 226 1005 170 960 123 C 915 75 860 38 796 11 C 732 -15 660 -29 580 -29 Z" unicode="5" />
-<glyph horiz-adv-x="1251" d="M 651 -29 C 576 -29 506 -13 441 16 C 375 46 318 93 270 156 C 221 218 183 297 155 393 C 127 488 113 601 113 731 C 113 847 127 955 156 1055 C 185 1154 226 1240 279 1312 C 331 1384 394 1441 467 1482 C 539 1523 619 1544 707 1544 C 749 1544 787 1541 822 1535 C 857 1529 889 1520 919 1510 C 949 1500 976 1488 1001 1474 C 1025 1460 1048 1446 1069 1430 L 993 1319 C 973 1334 954 1348 934 1360 C 914 1372 892 1382 870 1391 C 847 1399 822 1406 795 1410 C 767 1414 736 1417 702 1417 C 632 1417 570 1399 515 1365 C 460 1330 413 1282 375 1222 C 336 1162 306 1091 286 1009 C 265 927 254 839 254 745 C 278 771 305 796 335 821 C 365 845 398 867 434 886 C 470 904 509 919 551 931 C 593 942 638 948 686 948 C 766 948 835 936 895 913 C 954 889 1003 857 1042 815 C 1081 773 1110 723 1130 665 C 1149 607 1159 543 1159 475 C 1159 403 1146 336 1122 275 C 1098 213 1063 160 1019 115 C 975 70 921 35 859 9 C 796 -16 727 -29 651 -29 Z M 657 96 C 711 96 760 104 805 121 C 849 137 887 162 919 194 C 950 226 974 266 992 313 C 1009 359 1018 413 1018 473 C 1018 523 1011 570 998 613 C 984 656 964 693 936 724 C 908 755 872 779 828 797 C 784 814 731 823 670 823 C 628 823 587 817 548 806 C 508 795 471 780 436 760 C 401 740 369 716 339 689 C 309 661 282 632 260 600 C 268 512 283 436 307 372 C 330 308 359 256 395 215 C 430 174 470 144 515 125 C 559 105 607 96 657 96 Z" unicode="6" />
-<glyph horiz-adv-x="1124" d="M 883 1382 L 102 1382 L 102 1516 L 1034 1516 L 1034 1391 L 393 0 L 244 0 L 883 1382 Z" unicode="7" />
-<glyph horiz-adv-x="1243" d="M 623 -31 C 537 -31 461 -20 394 0 C 327 20 270 49 224 85 C 178 121 142 163 118 211 C 94 259 82 311 82 367 C 82 420 91 468 109 510 C 127 552 154 590 188 625 C 222 659 264 691 314 720 C 364 749 420 777 483 805 C 431 827 384 851 344 876 C 303 900 268 927 240 957 C 211 987 189 1020 174 1056 C 159 1092 152 1134 152 1180 C 152 1226 162 1272 184 1316 C 205 1360 236 1399 276 1433 C 316 1467 366 1494 424 1515 C 482 1535 549 1546 623 1546 C 699 1546 766 1535 824 1515 C 882 1494 931 1467 971 1433 C 1011 1399 1041 1360 1061 1316 C 1081 1272 1092 1226 1092 1180 C 1092 1134 1084 1094 1069 1059 C 1054 1023 1032 991 1004 962 C 976 933 941 906 899 882 C 857 857 810 833 756 809 C 820 781 878 752 928 723 C 978 694 1020 662 1055 628 C 1089 594 1116 555 1134 513 C 1152 471 1161 422 1161 367 C 1161 313 1148 262 1124 214 C 1100 166 1065 123 1019 87 C 973 51 916 22 850 1 C 783 -20 707 -31 623 -31 Z M 629 864 C 685 888 734 912 775 934 C 815 956 849 978 875 1002 C 901 1026 920 1051 932 1079 C 944 1107 950 1138 950 1174 C 950 1204 943 1233 931 1263 C 918 1293 898 1319 872 1343 C 845 1367 811 1386 770 1401 C 728 1415 679 1423 623 1423 C 569 1423 521 1416 480 1402 C 438 1388 404 1369 376 1346 C 348 1323 328 1297 314 1268 C 300 1239 293 1210 293 1180 C 293 1144 299 1112 313 1084 C 326 1056 346 1030 374 1006 C 401 982 436 958 478 936 C 520 913 571 889 629 864 Z M 623 92 C 680 92 733 98 781 112 C 829 125 871 144 906 169 C 941 193 968 223 988 258 C 1008 292 1018 331 1018 375 C 1018 417 1009 456 991 490 C 973 524 947 555 913 584 C 879 613 836 641 786 667 C 736 693 678 720 614 748 C 546 718 488 689 440 662 C 391 634 351 606 319 577 C 287 548 263 517 248 485 C 232 452 225 415 225 375 C 225 333 234 295 254 261 C 274 226 301 196 337 171 C 372 146 414 127 463 113 C 511 99 565 92 623 92 Z" unicode="8" />
-<glyph horiz-adv-x="1251" d="M 545 -29 C 501 -29 460 -25 422 -18 C 384 -11 350 -1 318 10 C 286 22 256 37 230 53 C 203 69 179 87 158 106 L 231 215 C 253 197 274 180 296 166 C 318 152 341 139 366 129 C 391 119 418 111 448 106 C 478 100 511 98 549 98 C 617 98 679 115 735 149 C 790 183 837 231 875 291 C 913 351 943 423 964 505 C 984 587 995 675 995 770 C 971 744 944 718 914 694 C 884 670 852 648 816 629 C 780 610 742 595 700 584 C 658 572 613 567 565 567 C 485 567 415 578 356 602 C 297 626 248 659 209 701 C 169 743 140 792 121 850 C 101 908 92 971 92 1040 C 92 1112 104 1178 128 1240 C 152 1301 187 1354 231 1399 C 275 1444 329 1479 392 1505 C 454 1531 524 1544 600 1544 C 674 1544 744 1528 810 1498 C 875 1468 932 1421 980 1359 C 1028 1297 1067 1218 1095 1122 C 1123 1026 1137 914 1137 784 C 1137 667 1122 559 1093 460 C 1064 360 1023 274 971 202 C 919 130 856 73 784 32 C 711 -8 631 -29 545 -29 Z M 582 692 C 624 692 664 697 704 708 C 743 719 780 735 815 755 C 849 775 881 798 911 826 C 941 853 967 883 991 915 C 983 1003 968 1078 944 1142 C 920 1205 891 1257 855 1298 C 819 1338 779 1368 734 1388 C 689 1407 642 1417 592 1417 C 538 1417 489 1408 445 1392 C 401 1375 363 1351 332 1319 C 300 1287 276 1248 259 1202 C 241 1155 233 1102 233 1042 C 233 991 239 944 253 902 C 266 859 287 822 315 791 C 343 760 380 736 424 718 C 468 700 520 692 582 692 Z" unicode="9" />
-<glyph horiz-adv-x="555" d="M 188 1079 L 367 1079 L 367 885 L 188 885 L 188 1079 Z M 188 193 L 367 193 L 367 0 L 188 0 L 188 193 Z" unicode=":" />
-<glyph horiz-adv-x="555" d="M 256 0 L 188 0 L 188 193 L 367 193 L 367 20 L 272 -207 L 207 -207 L 256 0 Z M 188 1079 L 367 1079 L 367 885 L 188 885 L 188 1079 Z" unicode=";" />
-<glyph horiz-adv-x="1303" d="M 104 612 L 104 715 L 1188 1180 L 1188 1047 L 268 664 L 1188 281 L 1188 147 L 104 612 Z" unicode="&#x3C;" />
-<glyph horiz-adv-x="1303" d="M 133 492 L 1167 492 L 1167 371 L 133 371 L 133 492 Z M 133 958 L 1167 958 L 1167 838 L 133 838 L 133 958 Z" unicode="=" />
-<glyph horiz-adv-x="1303" d="M 117 281 L 1036 664 L 117 1047 L 117 1180 L 1200 715 L 1200 612 L 117 147 L 117 281 Z" unicode="&#x3E;" />
-<glyph horiz-adv-x="1104" d="M 436 412 C 434 432 433 454 433 477 C 432 500 432 523 432 547 C 432 583 435 615 442 645 C 448 674 459 701 473 726 C 487 751 506 774 530 796 C 553 817 582 838 616 858 C 656 882 692 905 722 926 C 752 947 776 969 795 992 C 814 1015 828 1040 838 1068 C 847 1096 852 1129 852 1167 C 852 1205 845 1240 831 1271 C 817 1301 798 1327 772 1349 C 746 1370 714 1386 676 1398 C 638 1409 596 1415 549 1415 C 505 1415 466 1409 430 1399 C 394 1389 362 1374 332 1356 C 302 1338 275 1316 251 1291 C 226 1265 203 1238 182 1208 L 80 1286 C 107 1322 137 1356 169 1388 C 201 1420 236 1447 274 1470 C 312 1493 355 1511 402 1524 C 448 1537 500 1544 557 1544 C 623 1544 684 1535 738 1517 C 792 1499 838 1473 876 1441 C 914 1409 944 1370 965 1325 C 986 1279 997 1230 997 1176 C 997 1126 990 1082 977 1044 C 963 1006 945 973 921 943 C 897 913 870 887 838 864 C 806 840 771 818 735 797 C 706 780 682 764 662 749 C 642 733 625 718 611 702 C 597 686 587 669 579 651 C 571 633 566 612 562 589 C 558 566 555 540 554 511 C 553 482 553 449 553 412 L 436 412 Z M 406 190 L 584 190 L 584 0 L 406 0 L 406 190 Z" unicode="?" />
-<glyph horiz-adv-x="1778" d="M 885 -29 C 770 -29 665 -10 569 28 C 473 66 390 119 320 188 C 250 257 196 340 158 437 C 119 533 100 640 100 758 C 100 875 119 982 159 1078 C 199 1174 254 1257 324 1326 C 394 1395 478 1449 574 1487 C 670 1525 775 1544 889 1544 C 1001 1544 1106 1525 1202 1487 C 1298 1449 1382 1397 1452 1330 C 1522 1262 1577 1182 1617 1088 C 1657 994 1677 890 1677 778 C 1677 706 1668 641 1651 584 C 1633 527 1609 479 1579 440 C 1548 400 1512 370 1470 350 C 1428 329 1383 319 1335 319 C 1301 319 1271 323 1245 331 C 1218 339 1194 350 1174 364 C 1154 378 1137 394 1124 413 C 1110 432 1100 453 1094 475 C 1044 429 991 393 935 366 C 879 339 818 326 752 326 C 708 326 667 332 629 345 C 591 358 559 378 531 405 C 503 432 482 466 467 507 C 451 548 444 597 444 653 C 444 730 454 802 475 870 C 496 938 526 997 564 1047 C 602 1097 647 1136 700 1165 C 752 1193 810 1208 874 1208 C 934 1208 986 1197 1028 1176 C 1070 1155 1107 1128 1141 1096 L 1155 1190 L 1272 1190 L 1184 588 C 1180 562 1180 537 1185 515 C 1190 493 1200 473 1214 457 C 1228 441 1246 428 1268 419 C 1290 410 1316 406 1346 406 C 1380 406 1411 413 1441 428 C 1471 442 1497 465 1519 495 C 1541 525 1558 564 1571 611 C 1584 657 1591 712 1591 776 C 1591 877 1573 970 1538 1054 C 1503 1138 1454 1211 1392 1271 C 1329 1331 1255 1378 1169 1412 C 1083 1445 990 1462 889 1462 C 787 1462 694 1444 608 1410 C 522 1376 449 1328 387 1266 C 325 1204 276 1129 242 1043 C 207 957 190 862 190 758 C 190 654 207 558 242 472 C 276 385 324 310 386 248 C 448 186 521 137 607 103 C 692 68 785 51 887 51 C 969 51 1043 60 1110 79 C 1176 97 1241 124 1305 160 L 1341 90 C 1276 54 1205 25 1128 3 C 1051 -18 970 -29 885 -29 Z M 770 426 C 822 426 871 435 917 455 C 963 475 1011 509 1061 557 L 1124 985 C 1089 1027 1051 1057 1011 1076 C 970 1094 922 1104 868 1104 C 823 1104 782 1092 745 1068 C 708 1044 676 1013 650 973 C 624 933 603 886 589 833 C 574 779 567 723 567 664 C 567 580 585 519 621 482 C 657 444 707 426 770 426 Z" unicode="@" />
-<glyph horiz-adv-x="1378" d="M 610 1522 L 768 1522 L 1305 0 L 1153 0 L 991 467 L 377 467 L 215 0 L 74 0 L 610 1522 Z M 946 596 L 686 1350 L 682 1350 L 422 596 L 946 596 Z" unicode="A" />
-<glyph horiz-adv-x="1403" d="M 195 1516 L 721 1516 C 806 1516 881 1507 945 1490 C 1009 1472 1063 1447 1106 1415 C 1149 1382 1181 1342 1203 1295 C 1224 1248 1235 1195 1235 1135 C 1235 1083 1227 1038 1212 998 C 1196 958 1176 924 1150 895 C 1124 866 1093 842 1058 824 C 1023 806 986 792 948 784 L 948 780 C 995 771 1039 757 1080 738 C 1121 719 1157 694 1187 664 C 1217 634 1240 598 1258 556 C 1275 514 1284 466 1284 412 C 1284 352 1273 296 1252 246 C 1231 196 1199 152 1156 116 C 1113 79 1059 50 994 30 C 929 10 853 0 766 0 L 195 0 L 195 1516 Z M 764 129 C 894 129 989 154 1050 204 C 1110 254 1141 325 1141 418 C 1141 469 1131 513 1111 551 C 1091 588 1063 619 1027 643 C 991 667 946 685 894 697 C 842 709 783 715 719 715 L 338 715 L 338 129 L 764 129 Z M 709 842 C 769 842 822 847 870 858 C 918 869 958 886 991 908 C 1023 930 1048 959 1066 993 C 1083 1027 1092 1068 1092 1116 C 1092 1209 1061 1277 1000 1320 C 939 1362 843 1384 713 1384 L 338 1384 L 338 842 L 709 842 Z" unicode="B" />
-<glyph horiz-adv-x="1432" d="M 752 -29 C 656 -29 569 -10 491 27 C 413 64 347 117 292 186 C 237 255 195 338 165 436 C 135 534 121 643 121 764 C 121 878 136 983 166 1079 C 196 1175 239 1257 294 1326 C 349 1394 415 1448 493 1486 C 571 1524 657 1544 752 1544 C 828 1544 897 1533 957 1511 C 1017 1489 1069 1457 1114 1417 C 1159 1377 1197 1328 1227 1271 C 1257 1214 1282 1151 1300 1081 L 1161 1047 C 1144 1107 1124 1159 1101 1205 C 1077 1250 1049 1288 1017 1318 C 984 1348 946 1371 902 1387 C 858 1403 808 1411 750 1411 C 676 1411 610 1395 550 1365 C 490 1334 440 1291 398 1235 C 356 1179 323 1111 300 1032 C 277 953 266 865 266 768 C 266 662 277 568 301 486 C 324 404 357 334 399 277 C 441 220 493 177 553 147 C 613 117 680 102 754 102 C 867 102 959 134 1030 198 C 1100 262 1152 359 1186 487 L 1325 457 C 1306 382 1280 315 1246 255 C 1212 195 1172 144 1124 102 C 1076 60 1021 27 959 5 C 897 -17 828 -29 752 -29 Z" unicode="C" />
-<glyph horiz-adv-x="1452" d="M 195 1516 L 578 1516 C 824 1516 1011 1452 1139 1325 C 1267 1198 1331 1010 1331 760 C 1331 634 1314 524 1282 430 C 1249 335 1201 256 1137 192 C 1073 128 995 80 901 48 C 807 16 700 0 578 0 L 195 0 L 195 1516 Z M 600 131 C 694 131 777 143 850 167 C 922 191 983 229 1033 281 C 1083 332 1121 397 1147 477 C 1173 556 1186 650 1186 760 C 1186 866 1173 959 1147 1037 C 1121 1115 1082 1179 1032 1230 C 982 1281 920 1319 847 1343 C 773 1367 690 1380 596 1380 L 340 1380 L 340 131 L 600 131 Z" unicode="D" />
-<glyph horiz-adv-x="1237" d="M 195 1516 L 1100 1516 L 1100 1380 L 340 1380 L 340 866 L 907 866 L 907 735 L 340 735 L 340 133 L 1143 133 L 1143 0 L 195 0 L 195 1516 Z" unicode="E" />
-<glyph horiz-adv-x="1157" d="M 195 1516 L 1081 1516 L 1081 1380 L 340 1380 L 340 858 L 889 858 L 889 727 L 340 727 L 340 0 L 195 0 L 195 1516 Z" unicode="F" />
-<glyph horiz-adv-x="1481" d="M 743 -29 C 643 -29 555 -9 478 31 C 401 71 336 126 283 197 C 230 267 190 351 162 448 C 134 544 121 650 121 764 C 121 883 136 991 168 1087 C 200 1183 244 1264 300 1332 C 356 1400 422 1452 500 1489 C 577 1525 662 1544 754 1544 C 898 1544 1016 1504 1108 1426 C 1200 1347 1265 1231 1305 1079 L 1165 1047 C 1147 1109 1126 1162 1102 1208 C 1078 1254 1049 1292 1016 1322 C 983 1352 945 1374 901 1389 C 857 1403 808 1411 752 1411 C 686 1411 623 1397 565 1370 C 506 1343 454 1303 410 1250 C 366 1196 331 1130 305 1050 C 279 970 266 876 266 770 C 266 664 277 569 301 486 C 325 403 358 333 401 276 C 444 219 496 176 556 146 C 616 116 683 102 756 102 C 819 102 877 113 929 135 C 981 157 1025 188 1062 230 C 1098 271 1127 322 1147 382 C 1167 442 1176 511 1176 588 L 809 588 L 809 713 L 1317 713 L 1317 0 L 1186 0 L 1186 231 L 1182 231 C 1164 197 1143 165 1118 134 C 1092 102 1062 75 1027 51 C 991 27 950 7 903 -7 C 856 -21 803 -29 743 -29 Z" unicode="G" />
-<glyph horiz-adv-x="1499" d="M 195 1516 L 340 1516 L 340 866 L 1161 866 L 1161 1516 L 1307 1516 L 1307 0 L 1161 0 L 1161 733 L 340 733 L 340 0 L 195 0 L 195 1516 Z" unicode="H" />
-<glyph horiz-adv-x="575" d="M 215 1516 L 360 1516 L 360 0 L 215 0 L 215 1516 Z" unicode="I" />
-<glyph horiz-adv-x="1020" d="M 430 -29 C 383 -29 341 -23 304 -13 C 266 -3 232 11 202 30 C 171 48 144 70 120 96 C 96 122 74 150 55 180 L 158 258 C 174 234 191 212 209 193 C 227 173 247 157 269 143 C 290 129 313 118 339 111 C 365 103 393 100 424 100 C 464 100 501 105 534 116 C 567 126 595 144 619 168 C 643 192 661 224 674 263 C 687 302 694 350 694 408 L 694 1516 L 840 1516 L 840 406 C 840 334 830 271 811 217 C 792 163 765 117 730 81 C 694 44 651 16 601 -1 C 550 -19 493 -29 430 -29 Z" unicode="J" />
-<glyph horiz-adv-x="1368" d="M 195 1516 L 340 1516 L 340 698 L 1065 1516 L 1243 1516 L 723 942 L 1319 0 L 1151 0 L 625 829 L 340 518 L 340 0 L 195 0 L 195 1516 Z" unicode="K" />
-<glyph horiz-adv-x="1157" d="M 195 1516 L 340 1516 L 340 133 L 1081 133 L 1081 0 L 195 0 L 195 1516 Z" unicode="L" />
-<glyph horiz-adv-x="1784" d="M 195 1516 L 383 1516 L 891 188 L 895 188 L 1399 1516 L 1591 1516 L 1591 0 L 1446 0 L 1446 1270 L 1442 1270 C 1431 1236 1417 1195 1400 1148 C 1383 1101 1366 1053 1348 1004 L 954 0 L 821 0 L 428 1004 C 418 1028 410 1051 402 1072 C 394 1093 387 1114 379 1135 C 371 1155 364 1177 357 1199 C 349 1221 342 1246 334 1274 L 330 1274 L 330 0 L 195 0 L 195 1516 Z" unicode="M" />
-<glyph horiz-adv-x="1522" d="M 195 1516 L 350 1516 L 1186 266 L 1190 266 L 1190 1516 L 1327 1516 L 1327 0 L 1198 0 L 336 1288 L 332 1288 L 332 0 L 195 0 L 195 1516 Z" unicode="N" />
-<glyph horiz-adv-x="1520" d="M 760 -29 C 667 -29 581 -10 503 27 C 425 64 357 117 301 186 C 244 254 200 337 168 434 C 136 531 121 639 121 758 C 121 876 136 984 168 1081 C 200 1177 244 1260 301 1329 C 357 1397 425 1450 503 1488 C 581 1525 667 1544 760 1544 C 852 1544 938 1525 1016 1488 C 1094 1450 1161 1397 1218 1329 C 1274 1260 1319 1177 1351 1081 C 1383 984 1399 876 1399 758 C 1399 639 1383 531 1351 434 C 1319 337 1274 254 1218 186 C 1161 117 1094 64 1016 27 C 938 -10 852 -29 760 -29 Z M 760 102 C 832 102 898 116 958 146 C 1018 176 1070 219 1114 275 C 1158 331 1192 400 1216 481 C 1240 562 1253 654 1253 758 C 1253 860 1240 952 1216 1033 C 1192 1114 1158 1183 1114 1239 C 1070 1295 1018 1337 958 1367 C 898 1396 832 1411 760 1411 C 688 1411 621 1396 561 1367 C 501 1337 449 1295 405 1239 C 361 1183 327 1114 303 1033 C 278 952 266 860 266 758 C 266 654 278 562 303 481 C 327 400 361 331 405 275 C 449 219 501 176 561 146 C 621 116 688 102 760 102 Z" unicode="O" />
-<glyph horiz-adv-x="1317" d="M 195 1516 L 698 1516 C 780 1516 854 1507 920 1490 C 986 1473 1041 1447 1087 1413 C 1133 1379 1168 1336 1192 1284 C 1216 1232 1229 1171 1229 1102 C 1229 1026 1215 960 1189 906 C 1162 852 1124 807 1076 773 C 1028 738 970 712 904 696 C 837 680 764 672 684 672 L 340 672 L 340 0 L 195 0 L 195 1516 Z M 694 801 C 756 801 812 806 860 816 C 908 826 949 843 982 867 C 1015 891 1040 921 1057 959 C 1074 997 1083 1043 1083 1098 C 1083 1149 1074 1193 1057 1229 C 1040 1265 1015 1294 982 1317 C 949 1339 908 1356 860 1366 C 811 1376 755 1382 692 1382 L 340 1382 L 340 801 L 694 801 Z" unicode="P" />
-<glyph horiz-adv-x="1520" d="M 1130 -381 C 1054 -381 987 -372 931 -354 C 875 -336 828 -311 791 -279 C 754 -247 726 -209 708 -165 C 690 -121 680 -74 680 -23 C 597 -13 521 12 453 54 C 385 95 326 149 277 217 C 227 285 189 364 162 456 C 134 547 121 648 121 758 C 121 876 137 984 169 1081 C 201 1177 245 1260 302 1329 C 359 1397 427 1450 505 1488 C 583 1525 668 1544 760 1544 C 850 1544 935 1525 1013 1488 C 1091 1450 1158 1397 1216 1329 C 1273 1260 1318 1177 1350 1081 C 1382 984 1399 876 1399 758 C 1399 646 1384 544 1356 452 C 1328 360 1288 280 1238 212 C 1187 144 1126 89 1056 48 C 986 7 909 -17 825 -25 C 829 -70 840 -107 858 -136 C 876 -165 899 -188 929 -206 C 958 -223 992 -235 1031 -242 C 1070 -248 1113 -252 1161 -252 L 1266 -252 L 1266 -381 L 1130 -381 Z M 760 100 C 830 100 896 115 956 145 C 1016 175 1068 218 1112 274 C 1155 330 1189 399 1214 481 C 1238 562 1251 654 1251 758 C 1251 860 1238 952 1214 1033 C 1189 1114 1155 1183 1112 1239 C 1068 1295 1016 1337 956 1367 C 896 1396 830 1411 760 1411 C 688 1411 621 1396 561 1367 C 501 1337 449 1295 405 1239 C 361 1183 327 1114 303 1033 C 278 952 266 860 266 758 C 266 654 278 562 303 481 C 327 399 361 330 405 274 C 449 218 501 175 561 145 C 621 115 688 100 760 100 Z" unicode="Q" />
-<glyph horiz-adv-x="1374" d="M 195 1516 L 702 1516 C 786 1516 861 1507 927 1489 C 992 1471 1047 1445 1092 1411 C 1136 1376 1170 1333 1194 1282 C 1217 1231 1229 1172 1229 1106 C 1229 1044 1220 990 1203 944 C 1185 897 1161 857 1129 824 C 1097 790 1059 763 1015 742 C 970 721 920 706 866 696 L 1249 0 L 1085 0 L 715 680 L 338 680 L 338 0 L 195 0 L 195 1516 Z M 692 809 C 754 809 810 813 858 823 C 906 833 947 849 981 872 C 1014 894 1039 924 1057 962 C 1074 999 1083 1045 1083 1100 C 1083 1152 1074 1196 1057 1232 C 1040 1268 1015 1297 982 1319 C 948 1341 907 1357 858 1367 C 809 1377 753 1382 690 1382 L 338 1382 L 338 809 L 692 809 Z" unicode="R" />
-<glyph horiz-adv-x="1329" d="M 676 -29 C 604 -29 538 -19 478 -1 C 418 17 364 44 317 79 C 269 114 229 156 196 206 C 162 256 137 311 119 373 L 248 420 C 282 314 336 234 410 180 C 484 126 574 100 682 100 C 738 100 790 106 836 119 C 882 131 922 149 955 173 C 987 197 1012 226 1030 260 C 1048 294 1057 332 1057 375 C 1057 414 1051 449 1040 480 C 1028 510 1008 539 978 565 C 948 591 908 616 857 640 C 805 664 739 689 659 715 C 577 740 506 765 445 791 C 383 817 332 846 291 879 C 250 912 219 951 199 995 C 178 1039 168 1092 168 1155 C 168 1209 179 1259 202 1307 C 225 1354 257 1395 299 1430 C 341 1465 390 1493 448 1513 C 506 1533 569 1544 639 1544 C 710 1544 774 1535 830 1518 C 886 1500 936 1476 979 1446 C 1021 1415 1057 1378 1087 1336 C 1117 1293 1141 1246 1159 1196 L 1036 1139 C 998 1237 946 1307 879 1349 C 812 1391 731 1413 637 1413 C 586 1413 540 1406 500 1394 C 460 1381 426 1363 398 1341 C 370 1319 348 1292 333 1262 C 318 1232 311 1199 311 1165 C 311 1122 318 1086 332 1056 C 346 1026 369 999 401 975 C 433 951 476 928 530 906 C 584 884 651 861 731 836 C 809 810 878 784 937 757 C 996 730 1045 699 1085 665 C 1124 630 1153 590 1173 545 C 1192 499 1202 446 1202 385 C 1202 321 1188 264 1162 213 C 1136 162 1099 119 1052 83 C 1005 47 950 19 886 0 C 822 -19 752 -29 676 -29 Z" unicode="S" />
-<glyph horiz-adv-x="1264" d="M 559 1380 L 70 1380 L 70 1516 L 1194 1516 L 1194 1380 L 705 1380 L 705 0 L 559 0 L 559 1380 Z" unicode="T" />
-<glyph horiz-adv-x="1464" d="M 731 -27 C 637 -27 556 -13 487 15 C 418 43 361 81 315 129 C 269 177 235 234 213 300 C 191 366 180 436 180 512 L 180 1516 L 326 1516 L 326 537 C 326 475 334 417 350 364 C 366 311 390 265 424 227 C 457 189 499 159 550 137 C 601 115 662 104 733 104 C 803 104 863 114 915 135 C 966 156 1008 186 1041 224 C 1074 262 1099 307 1115 359 C 1131 411 1139 469 1139 532 L 1139 1516 L 1284 1516 L 1284 516 C 1284 440 1272 370 1249 304 C 1226 238 1192 180 1146 131 C 1100 82 1042 43 973 15 C 903 -12 823 -27 731 -27 Z" unicode="U" />
-<glyph horiz-adv-x="1350" d="M 74 1516 L 223 1516 L 676 193 L 680 193 L 1135 1516 L 1276 1516 L 743 -6 L 606 -6 L 74 1516 Z" unicode="V" />
-<glyph horiz-adv-x="1894" d="M 82 1516 L 229 1516 L 465 596 C 483 526 500 458 516 392 C 532 326 545 267 557 215 L 561 215 C 571 266 584 325 600 391 C 615 457 631 525 649 594 L 874 1516 L 1028 1516 L 1257 586 C 1274 517 1290 452 1305 392 C 1320 332 1333 273 1343 215 L 1348 215 C 1354 245 1361 274 1368 304 C 1374 333 1381 362 1389 392 C 1396 421 1404 451 1412 482 C 1420 513 1428 546 1436 580 L 1673 1516 L 1812 1516 L 1411 0 L 1274 0 L 952 1315 L 948 1315 L 623 0 L 485 0 L 82 1516 Z" unicode="W" />
-<glyph horiz-adv-x="1346" d="M 594 813 L 133 1516 L 301 1516 L 678 928 L 1055 1516 L 1210 1516 L 754 813 L 1280 0 L 1124 0 L 670 698 L 215 0 L 66 0 L 594 813 Z" unicode="X" />
-<glyph horiz-adv-x="1266" d="M 559 668 L 51 1516 L 209 1516 L 635 793 L 1059 1516 L 1214 1516 L 705 668 L 705 0 L 559 0 L 559 668 Z" unicode="Y" />
-<glyph horiz-adv-x="1276" d="M 86 104 L 995 1393 L 145 1393 L 145 1516 L 1171 1516 L 1171 1409 L 266 123 L 1171 123 L 1171 0 L 86 0 L 86 104 Z" unicode="Z" />
-<glyph horiz-adv-x="797" d="M 180 1516 L 700 1516 L 700 1407 L 324 1407 L 324 -301 L 700 -301 L 700 -410 L 180 -410 L 180 1516 Z" unicode="[" />
-<glyph horiz-adv-x="1112" d="M 41 1516 L 190 1516 L 1071 0 L 922 0 L 41 1516 Z" unicode="\" />
-<glyph horiz-adv-x="797" d="M 96 -301 L 473 -301 L 473 1405 L 96 1405 L 96 1516 L 616 1516 L 616 -410 L 96 -410 L 96 -301 Z" unicode="]" />
-<glyph horiz-adv-x="1303" d="M 600 1516 L 705 1516 L 1167 692 L 1036 692 L 653 1370 L 268 692 L 137 692 L 600 1516 Z" unicode="^" />
-<glyph horiz-adv-x="1024" d="M 0 -143 L 1024 -143 L 1024 -258 L 0 -258 L 0 -143 Z" unicode="_" />
-<glyph horiz-adv-x="1024" d="M 297 1513 L 483 1513 L 678 1194 L 586 1194 L 297 1513 Z" unicode="`" />
-<glyph horiz-adv-x="1120" d="M 403 -18 C 306 -18 231 5 178 53 C 124 101 98 167 98 252 C 98 305 110 355 135 401 C 159 447 200 489 258 527 C 315 565 390 598 483 628 C 576 658 691 683 829 705 L 829 760 C 829 834 810 890 773 926 C 735 962 681 981 610 981 C 567 981 527 976 491 968 C 454 959 419 947 387 932 C 354 917 323 899 293 879 C 263 858 235 835 207 811 L 131 899 C 163 929 196 956 232 981 C 267 1005 305 1026 345 1044 C 385 1062 428 1075 474 1085 C 520 1095 569 1100 623 1100 C 683 1100 734 1092 778 1076 C 822 1060 858 1038 886 1008 C 914 978 935 942 949 900 C 962 858 969 810 969 756 L 969 266 C 969 200 971 146 975 104 C 979 62 987 28 999 0 L 854 0 C 846 22 840 46 836 70 C 831 94 829 122 829 154 C 766 97 700 54 630 25 C 560 -3 484 -18 403 -18 Z M 434 98 C 510 98 581 113 647 143 C 713 173 773 214 829 268 L 829 604 C 713 584 618 563 542 539 C 466 515 405 489 360 461 C 315 433 283 403 265 371 C 247 339 238 305 238 270 C 238 213 255 170 290 141 C 325 112 373 98 434 98 Z" unicode="a" />
-<glyph horiz-adv-x="1214" d="M 653 -18 C 583 -18 520 -2 463 27 C 405 57 353 97 305 147 L 305 0 L 164 0 L 164 1516 L 305 1516 L 305 922 C 326 946 349 968 375 990 C 400 1012 427 1031 457 1047 C 486 1063 518 1075 553 1085 C 587 1095 625 1100 666 1100 C 728 1100 786 1088 840 1065 C 894 1042 941 1007 981 961 C 1021 915 1052 857 1075 787 C 1098 717 1110 635 1110 541 C 1110 447 1098 365 1075 295 C 1051 225 1019 166 978 120 C 937 74 889 39 833 16 C 777 -6 717 -18 653 -18 Z M 641 100 C 688 100 732 108 772 125 C 812 142 847 168 876 204 C 905 240 928 285 944 341 C 960 396 969 462 969 539 C 969 613 960 678 943 734 C 925 789 902 835 872 871 C 842 907 808 934 768 952 C 728 970 685 979 641 979 C 607 979 576 974 547 966 C 517 958 489 946 462 930 C 434 914 408 896 382 874 C 356 852 331 827 305 801 L 305 276 C 359 219 412 175 466 145 C 520 115 578 100 641 100 Z" unicode="b" />
-<glyph horiz-adv-x="1087" d="M 569 -23 C 507 -23 447 -10 391 14 C 335 39 285 75 242 123 C 199 171 165 229 140 299 C 114 369 102 449 102 539 C 102 635 115 719 143 790 C 171 860 207 919 252 965 C 297 1011 348 1045 406 1067 C 464 1089 523 1100 584 1100 C 642 1100 692 1092 736 1076 C 780 1060 818 1038 851 1011 C 884 984 912 953 936 917 C 960 881 980 844 997 805 L 877 752 C 847 824 808 880 762 920 C 716 959 655 979 580 979 C 540 979 500 971 460 956 C 420 940 384 915 352 881 C 320 846 294 801 274 745 C 254 689 244 621 244 541 C 244 470 252 407 269 352 C 286 297 309 251 339 213 C 368 175 403 147 443 127 C 483 107 527 98 575 98 C 612 98 646 102 676 111 C 706 120 733 134 758 153 C 782 171 805 195 825 224 C 845 253 865 288 885 328 L 999 279 C 977 233 953 191 926 154 C 899 117 868 85 834 59 C 799 33 760 12 716 -1 C 672 -15 623 -23 569 -23 Z" unicode="c" />
-<glyph horiz-adv-x="1214" d="M 549 -18 C 487 -18 429 -6 375 16 C 321 38 273 73 233 119 C 193 165 161 223 138 293 C 115 363 104 445 104 539 C 104 633 115 715 139 785 C 162 855 194 914 235 960 C 276 1006 324 1041 380 1065 C 436 1088 496 1100 561 1100 C 595 1100 629 1095 662 1087 C 694 1078 725 1066 755 1051 C 785 1036 812 1018 838 998 C 864 977 887 955 909 932 L 909 1516 L 1051 1516 L 1051 266 C 1051 200 1053 146 1058 104 C 1062 62 1071 28 1083 0 L 934 0 C 928 18 922 42 917 71 C 911 99 909 128 909 158 C 887 134 863 111 838 90 C 813 68 786 50 757 34 C 727 18 695 5 661 -4 C 627 -13 589 -18 549 -18 Z M 573 102 C 606 102 637 106 667 114 C 697 122 725 134 753 150 C 780 165 806 183 832 205 C 858 227 883 251 909 279 L 909 803 C 855 861 802 905 748 935 C 694 965 635 981 573 981 C 525 981 482 972 442 954 C 402 936 367 909 338 873 C 309 837 286 791 270 735 C 254 679 246 613 246 537 C 246 463 254 398 272 344 C 289 289 312 244 342 208 C 371 172 405 145 445 128 C 485 110 527 102 573 102 Z" unicode="d" />
-<glyph horiz-adv-x="1118" d="M 575 -23 C 512 -23 452 -11 395 13 C 338 37 288 72 244 120 C 200 168 166 227 140 297 C 114 367 102 449 102 541 C 102 637 116 720 144 790 C 172 860 208 918 253 964 C 298 1010 349 1044 405 1066 C 461 1088 518 1100 575 1100 C 637 1100 696 1088 750 1064 C 804 1040 850 1004 890 957 C 929 910 960 852 982 782 C 1004 712 1016 631 1016 539 L 1016 512 L 244 512 C 244 445 254 386 272 334 C 290 282 314 239 345 204 C 375 168 411 141 452 123 C 493 105 537 96 584 96 C 624 96 660 100 692 109 C 724 117 754 130 781 147 C 808 163 833 184 855 208 C 877 232 899 261 920 293 L 1008 223 C 984 185 957 150 929 120 C 900 90 868 64 833 43 C 797 21 758 5 716 -6 C 673 -17 626 -23 575 -23 Z M 879 625 C 875 675 866 722 852 766 C 838 810 818 847 793 879 C 767 911 736 936 700 954 C 663 972 621 981 573 981 C 534 981 496 973 460 959 C 423 945 390 923 361 894 C 331 864 306 827 286 783 C 266 738 252 685 246 625 L 879 625 Z" unicode="e" />
-<glyph horiz-adv-x="676" d="M 244 958 L 55 958 L 55 1079 L 244 1079 L 244 1241 C 244 1332 269 1401 321 1448 C 372 1494 449 1518 553 1518 C 566 1518 581 1517 597 1516 C 613 1515 625 1514 635 1513 L 635 1395 C 626 1396 615 1397 601 1398 C 587 1398 574 1399 563 1399 C 537 1399 513 1396 491 1391 C 469 1385 451 1377 435 1365 C 419 1353 406 1337 398 1317 C 389 1297 385 1272 385 1243 L 385 1079 L 623 1079 L 623 958 L 385 958 L 385 0 L 244 0 L 244 958 Z" unicode="f" />
-<glyph horiz-adv-x="1155" d="M 557 -414 C 469 -414 393 -407 329 -395 C 265 -382 212 -364 170 -341 C 128 -317 96 -289 76 -255 C 55 -221 45 -184 45 -143 C 45 -87 62 -39 97 2 C 132 44 181 77 244 102 C 179 128 147 174 147 240 C 147 272 159 302 183 329 C 207 356 239 380 279 401 C 227 434 186 477 158 531 C 129 584 115 644 115 711 C 115 768 125 820 147 868 C 168 916 198 957 236 991 C 274 1025 319 1052 371 1071 C 423 1090 479 1100 541 1100 C 603 1100 661 1090 713 1071 C 765 1051 810 1024 848 989 C 864 1001 881 1012 901 1023 C 921 1033 942 1043 964 1052 C 986 1060 1008 1068 1031 1074 C 1054 1080 1076 1084 1098 1087 L 1098 954 C 1066 954 1033 951 999 946 C 965 940 932 931 901 918 C 921 890 937 859 948 825 C 959 791 965 753 965 711 C 965 651 954 598 932 551 C 910 504 881 464 843 431 C 805 397 760 372 708 354 C 656 336 601 328 541 328 C 477 328 419 338 367 358 C 341 348 320 335 304 320 C 288 304 281 286 281 266 C 281 254 283 244 289 236 C 294 227 303 219 315 213 C 327 206 344 200 364 196 C 384 191 410 187 440 184 L 676 166 C 800 155 895 127 960 83 C 1024 39 1057 -25 1057 -109 C 1057 -158 1044 -201 1020 -239 C 996 -277 962 -309 918 -335 C 874 -361 821 -380 760 -394 C 698 -407 631 -414 557 -414 Z M 543 436 C 587 436 626 442 662 455 C 697 468 727 486 752 510 C 777 534 796 562 810 596 C 824 630 831 667 831 709 C 831 751 824 790 811 824 C 798 858 779 888 755 912 C 730 936 700 954 664 967 C 628 980 587 987 541 987 C 496 987 456 980 420 967 C 384 953 354 935 329 911 C 304 887 285 857 272 823 C 258 789 252 751 252 709 C 252 667 258 630 272 596 C 286 562 305 534 331 510 C 357 486 387 468 423 455 C 459 442 499 436 543 436 Z M 571 -303 C 626 -303 676 -298 720 -290 C 764 -281 801 -269 831 -253 C 861 -237 885 -217 901 -195 C 917 -173 926 -148 926 -121 C 926 -95 920 -72 910 -53 C 899 -33 882 -17 858 -3 C 834 10 804 21 767 30 C 729 38 684 45 631 49 L 416 66 L 360 72 C 300 52 255 25 225 -10 C 195 -46 180 -84 180 -125 C 180 -181 211 -225 273 -256 C 335 -287 435 -303 571 -303 Z" unicode="g" />
-<glyph horiz-adv-x="1190" d="M 164 1516 L 305 1516 L 305 909 C 331 935 359 959 389 982 C 419 1005 452 1025 486 1043 C 520 1060 557 1074 595 1084 C 633 1094 674 1100 717 1100 C 823 1100 903 1071 957 1015 C 1011 959 1038 880 1038 780 L 1038 0 L 897 0 L 897 754 C 897 830 879 886 845 923 C 810 960 756 979 682 979 C 612 979 547 962 487 928 C 426 894 365 849 305 791 L 305 0 L 164 0 L 164 1516 Z" unicode="h" />
-<glyph horiz-adv-x="492" d="M 176 1079 L 317 1079 L 317 0 L 176 0 L 176 1079 Z M 172 1481 L 322 1481 L 322 1329 L 172 1329 L 172 1481 Z" unicode="i" />
-<glyph horiz-adv-x="492" d="M 90 -412 C 84 -412 77 -411 69 -411 C 61 -411 53 -410 45 -409 C 37 -408 29 -407 22 -406 C 14 -405 9 -404 6 -403 L 6 -291 C 14 -293 24 -294 36 -296 C 47 -298 58 -299 70 -299 C 102 -299 128 -289 147 -270 C 166 -250 176 -220 176 -178 L 176 1079 L 317 1079 L 317 -180 C 317 -217 313 -250 305 -279 C 297 -307 284 -331 266 -351 C 248 -371 224 -386 195 -396 C 166 -406 131 -412 90 -412 Z M 172 1481 L 322 1481 L 322 1329 L 172 1329 L 172 1481 Z" unicode="j" />
-<glyph horiz-adv-x="1085" d="M 164 1516 L 305 1516 L 305 510 L 819 1079 L 985 1079 L 633 698 L 1028 0 L 874 0 L 539 590 L 305 340 L 305 0 L 164 0 L 164 1516 Z" unicode="k" />
-<glyph horiz-adv-x="492" d="M 176 1516 L 317 1516 L 317 0 L 176 0 L 176 1516 Z" unicode="l" />
-<glyph horiz-adv-x="1870" d="M 164 1079 L 305 1079 L 305 909 C 332 935 360 960 390 984 C 419 1007 450 1027 483 1044 C 515 1061 550 1075 586 1085 C 622 1095 660 1100 700 1100 C 746 1100 785 1095 819 1085 C 853 1075 881 1062 905 1045 C 929 1028 948 1008 963 984 C 977 960 989 933 997 905 C 1025 931 1054 956 1085 980 C 1116 1004 1149 1024 1183 1042 C 1217 1060 1252 1074 1289 1084 C 1326 1094 1365 1100 1405 1100 C 1460 1100 1507 1092 1547 1077 C 1586 1062 1618 1041 1643 1013 C 1668 985 1686 951 1698 912 C 1710 872 1716 828 1716 780 L 1716 0 L 1575 0 L 1575 754 C 1575 792 1571 825 1564 853 C 1557 881 1546 904 1530 923 C 1514 941 1494 955 1468 965 C 1442 974 1410 979 1372 979 C 1339 979 1307 974 1277 966 C 1247 957 1217 944 1188 928 C 1158 912 1129 892 1100 869 C 1071 845 1042 819 1012 791 L 1012 0 L 870 0 L 870 754 C 870 792 866 825 859 853 C 852 881 841 904 825 923 C 809 941 788 955 762 965 C 736 974 704 979 666 979 C 601 979 540 962 482 928 C 424 894 365 849 305 791 L 305 0 L 164 0 L 164 1079 Z" unicode="m" />
-<glyph horiz-adv-x="1190" d="M 164 1079 L 305 1079 L 305 909 C 331 935 359 959 389 982 C 419 1005 452 1025 486 1043 C 520 1060 557 1074 595 1084 C 633 1094 674 1100 717 1100 C 823 1100 903 1071 957 1015 C 1011 959 1038 880 1038 780 L 1038 0 L 897 0 L 897 754 C 897 830 879 886 845 923 C 810 960 756 979 682 979 C 612 979 547 962 487 928 C 426 894 365 849 305 791 L 305 0 L 164 0 L 164 1079 Z" unicode="n" />
-<glyph horiz-adv-x="1182" d="M 592 -23 C 526 -23 463 -10 404 14 C 344 39 292 75 248 123 C 203 171 167 229 141 299 C 115 369 102 449 102 539 C 102 629 115 708 141 778 C 167 848 202 906 247 954 C 291 1002 343 1038 403 1063 C 462 1087 525 1100 592 1100 C 658 1100 720 1087 779 1063 C 838 1038 890 1002 934 954 C 978 906 1014 848 1040 778 C 1066 708 1079 629 1079 539 C 1079 449 1066 369 1040 299 C 1014 229 978 171 934 123 C 890 75 838 39 779 14 C 720 -10 658 -23 592 -23 Z M 592 98 C 646 98 694 108 737 130 C 780 152 816 182 846 222 C 876 261 898 308 914 362 C 930 416 938 475 938 541 C 938 599 930 655 916 708 C 901 761 879 808 850 848 C 821 888 785 919 742 943 C 698 967 648 979 592 979 C 537 979 488 968 445 946 C 402 924 366 894 336 855 C 306 816 283 770 267 716 C 251 662 244 604 244 541 C 244 481 251 424 265 370 C 279 316 301 269 330 229 C 359 189 395 157 439 133 C 483 109 534 98 592 98 Z" unicode="o" />
-<glyph horiz-adv-x="1214" d="M 164 1079 L 305 1079 L 305 926 C 326 948 349 970 375 991 C 400 1012 427 1031 457 1047 C 486 1063 518 1075 553 1085 C 587 1095 625 1100 666 1100 C 728 1100 786 1088 840 1065 C 894 1042 941 1007 981 961 C 1021 915 1052 857 1075 787 C 1098 717 1110 635 1110 541 C 1110 447 1098 365 1075 295 C 1051 225 1019 166 978 120 C 937 74 889 39 833 16 C 777 -6 717 -18 653 -18 C 583 -18 520 -2 463 27 C 405 57 353 97 305 147 L 305 -410 L 164 -410 L 164 1079 Z M 641 100 C 688 100 732 108 772 125 C 812 142 847 168 876 204 C 905 240 928 285 944 341 C 960 396 969 462 969 539 C 969 613 960 678 943 734 C 925 789 902 835 872 871 C 842 907 808 934 768 952 C 728 970 685 979 641 979 C 607 979 576 974 547 966 C 517 958 489 946 462 930 C 434 914 408 896 382 874 C 356 852 331 827 305 801 L 305 276 C 359 219 412 175 466 145 C 520 115 578 100 641 100 Z" unicode="p" />
-<glyph horiz-adv-x="1214" d="M 909 158 C 887 134 863 111 838 90 C 813 68 786 50 757 34 C 727 18 695 5 661 -4 C 627 -13 589 -18 549 -18 C 487 -18 429 -6 375 16 C 321 38 273 73 233 119 C 193 165 161 223 138 293 C 115 363 104 445 104 539 C 104 633 115 715 139 785 C 162 855 194 914 235 960 C 276 1006 324 1041 380 1065 C 436 1088 496 1100 561 1100 C 630 1100 693 1084 751 1054 C 808 1023 861 984 909 936 L 909 1079 L 1051 1079 L 1051 -410 L 909 -410 L 909 158 Z M 573 102 C 606 102 637 106 667 114 C 697 122 725 134 753 150 C 780 165 806 183 832 205 C 858 227 883 251 909 279 L 909 803 C 855 861 802 905 748 935 C 694 965 635 981 573 981 C 525 981 482 972 442 954 C 402 936 367 909 338 873 C 309 837 286 791 270 735 C 254 679 246 613 246 537 C 246 463 254 398 272 344 C 289 289 312 244 342 208 C 371 172 405 145 445 128 C 485 110 527 102 573 102 Z" unicode="q" />
-<glyph horiz-adv-x="809" d="M 164 1079 L 305 1079 L 305 866 L 309 866 C 329 899 353 930 381 958 C 408 986 439 1011 474 1032 C 509 1053 548 1070 592 1082 C 635 1094 683 1100 737 1100 L 762 1100 L 748 969 C 740 969 734 969 728 970 C 722 970 717 970 713 970 C 709 970 706 971 705 971 C 615 971 537 947 469 900 C 401 853 347 787 305 702 L 305 0 L 164 0 L 164 1079 Z" unicode="r" />
-<glyph horiz-adv-x="1036" d="M 512 -20 C 464 -20 418 -15 376 -5 C 333 4 294 17 258 34 C 222 51 190 71 162 95 C 133 118 108 144 88 172 L 178 254 C 219 206 267 168 321 140 C 375 112 439 98 514 98 C 606 98 676 114 724 147 C 771 179 795 226 795 287 C 795 317 789 342 778 364 C 767 385 750 404 726 420 C 702 436 671 451 633 464 C 595 477 550 490 498 502 C 436 517 381 533 335 550 C 288 567 249 588 217 612 C 185 636 162 664 146 697 C 130 729 123 769 123 817 C 123 855 131 892 147 926 C 163 960 187 990 218 1016 C 249 1042 287 1062 333 1077 C 379 1092 431 1100 489 1100 C 535 1100 577 1096 616 1089 C 654 1081 690 1071 722 1057 C 754 1043 784 1027 812 1008 C 839 988 865 967 889 944 L 809 850 C 767 891 721 923 670 947 C 618 971 560 983 494 983 C 452 983 416 978 386 969 C 356 960 332 948 314 933 C 295 918 281 901 273 882 C 264 863 260 843 260 823 C 260 797 264 774 274 755 C 284 736 299 719 320 705 C 341 690 368 677 401 665 C 434 653 474 642 522 631 C 590 614 649 597 700 579 C 751 561 794 540 828 514 C 862 488 888 458 906 422 C 923 386 932 341 932 289 C 932 239 921 195 900 157 C 879 119 850 86 813 60 C 776 34 732 14 680 0 C 628 -13 572 -20 512 -20 Z" unicode="s" />
-<glyph horiz-adv-x="748" d="M 522 -14 C 470 -14 426 -8 390 1 C 354 11 324 27 302 49 C 280 71 263 98 253 132 C 243 165 238 205 238 252 L 238 958 L 49 958 L 49 1079 L 238 1079 L 238 1466 L 379 1466 L 379 1079 L 659 1079 L 659 958 L 379 958 L 379 281 C 379 252 381 227 387 205 C 392 183 401 164 414 149 C 427 134 444 123 466 115 C 488 107 515 104 549 104 C 569 104 589 105 609 107 C 629 109 646 113 662 119 L 662 -2 C 645 -5 624 -8 598 -10 C 572 -12 546 -14 522 -14 Z" unicode="t" />
-<glyph horiz-adv-x="1190" d="M 475 -23 C 367 -23 287 5 234 62 C 180 119 154 198 154 299 L 154 1079 L 295 1079 L 295 324 C 295 247 312 190 346 153 C 380 116 434 98 510 98 C 544 98 577 102 609 111 C 641 120 672 133 703 149 C 734 165 765 185 795 209 C 825 232 855 258 885 287 L 885 1079 L 1028 1079 L 1028 0 L 885 0 L 885 170 C 859 144 830 120 800 97 C 770 73 737 53 703 35 C 669 17 633 3 595 -7 C 557 -17 517 -23 475 -23 Z" unicode="u" />
-<glyph horiz-adv-x="1042" d="M 53 1079 L 205 1079 L 524 168 L 528 168 L 846 1079 L 989 1079 L 592 -4 L 451 -4 L 53 1079 Z" unicode="v" />
-<glyph horiz-adv-x="1530" d="M 55 1079 L 203 1079 L 354 545 C 364 511 373 479 381 449 C 389 419 397 390 405 362 C 413 333 421 304 429 274 C 437 244 445 212 455 178 L 459 178 C 469 216 477 251 485 281 C 493 311 500 339 508 367 C 515 395 522 423 530 451 C 538 479 547 511 557 545 L 705 1079 L 834 1079 L 983 535 C 993 501 1001 471 1009 443 C 1017 415 1024 387 1031 360 C 1038 332 1045 304 1053 275 C 1060 245 1068 213 1077 178 L 1081 178 C 1091 214 1099 247 1107 276 C 1115 305 1122 333 1130 360 C 1138 386 1145 413 1153 440 C 1161 467 1170 497 1180 530 L 1337 1079 L 1475 1079 L 1143 0 L 1012 0 L 768 887 L 764 887 L 516 0 L 387 0 L 55 1079 Z" unicode="w" />
-<glyph horiz-adv-x="1047" d="M 451 559 L 90 1079 L 248 1079 L 528 664 L 809 1079 L 963 1079 L 600 559 L 987 0 L 831 0 L 522 453 L 215 0 L 63 0 L 451 559 Z" unicode="x" />
-<glyph horiz-adv-x="1079" d="M 201 -414 C 159 -414 125 -411 97 -407 C 69 -402 44 -397 23 -391 L 55 -274 C 70 -278 90 -282 114 -286 C 138 -289 169 -291 205 -291 C 234 -291 260 -287 282 -281 C 304 -274 324 -264 342 -251 C 360 -237 375 -220 389 -199 C 402 -178 414 -153 426 -125 L 471 -6 L 53 1079 L 205 1079 L 541 168 L 545 168 L 879 1079 L 1026 1079 L 561 -125 C 543 -173 523 -215 503 -251 C 483 -287 459 -317 431 -341 C 403 -365 371 -384 334 -396 C 297 -408 253 -414 201 -414 Z" unicode="y" />
-<glyph horiz-adv-x="1036" d="M 84 90 L 741 961 L 137 961 L 137 1079 L 920 1079 L 920 987 L 262 117 L 948 117 L 948 0 L 84 0 L 84 90 Z" unicode="z" />
-<glyph horiz-adv-x="778" d="M 565 -410 C 471 -410 403 -385 361 -337 C 319 -289 299 -220 299 -131 L 299 254 C 299 304 294 345 285 377 C 275 409 261 434 243 452 C 224 470 200 483 172 490 C 143 496 110 500 72 500 L 72 606 C 110 606 143 609 172 616 C 200 622 224 635 243 653 C 261 671 275 697 285 729 C 294 761 299 802 299 852 L 299 1237 C 299 1281 304 1321 314 1356 C 324 1390 339 1419 361 1443 C 383 1467 410 1485 444 1497 C 477 1509 517 1516 565 1516 L 692 1516 L 692 1407 L 602 1407 C 546 1407 506 1393 480 1367 C 454 1341 442 1301 442 1249 L 442 846 C 442 796 438 754 430 721 C 422 687 411 660 396 639 C 381 617 363 600 342 588 C 320 575 296 564 268 555 L 268 551 C 296 541 320 530 342 518 C 363 505 381 488 396 467 C 411 445 422 418 430 385 C 438 351 442 310 442 260 L 442 -143 C 442 -195 454 -235 480 -261 C 506 -287 546 -301 602 -301 L 692 -301 L 692 -410 L 565 -410 L 565 -410 Z" unicode="{" />
-<glyph horiz-adv-x="707" d="M 285 1516 L 422 1516 L 422 -410 L 285 -410 L 285 1516 Z" unicode="|" />
-<glyph horiz-adv-x="778" d="M 86 -301 L 176 -301 C 232 -301 272 -287 298 -261 C 323 -235 336 -195 336 -143 L 336 266 C 336 316 339 357 347 390 C 355 422 366 449 381 470 C 396 490 414 507 436 519 C 457 531 482 541 510 551 L 510 555 C 482 564 457 575 436 587 C 414 599 396 615 381 636 C 366 656 355 683 347 716 C 339 748 336 790 336 840 L 336 1249 C 336 1301 324 1342 301 1370 C 278 1398 239 1413 184 1413 L 94 1413 L 86 1516 L 219 1516 C 266 1516 306 1510 339 1498 C 372 1486 399 1469 420 1446 C 440 1423 455 1395 465 1361 C 474 1327 479 1287 479 1243 L 479 852 C 479 802 483 761 493 729 C 502 697 516 671 535 653 C 554 635 578 622 606 616 C 634 609 668 606 707 606 L 707 500 C 668 500 634 496 606 490 C 578 483 554 470 535 452 C 516 434 502 409 493 377 C 483 345 479 304 479 254 L 479 -137 C 479 -181 474 -221 465 -255 C 455 -289 440 -317 420 -340 C 399 -363 372 -380 339 -392 C 306 -404 266 -410 219 -410 L 86 -410 L 86 -301 Z" unicode="}" />
-<glyph horiz-adv-x="1303" d="M 934 549 C 912 550 885 554 853 562 C 820 570 785 579 748 589 C 710 599 672 611 632 623 C 592 635 555 647 519 657 C 483 667 451 676 423 684 C 394 692 372 696 356 698 C 325 701 300 696 280 682 C 260 668 248 642 244 602 L 147 614 C 153 690 177 745 217 779 C 257 812 308 827 369 823 C 390 821 417 817 450 809 C 482 801 517 792 555 782 C 592 771 630 759 670 747 C 710 735 747 723 783 713 C 818 703 850 694 878 686 C 906 678 928 674 944 674 C 976 672 1002 677 1023 691 C 1043 704 1055 730 1059 770 L 1157 762 C 1149 684 1125 628 1085 594 C 1045 560 994 545 934 549 Z" unicode="~" />
-<glyph horiz-adv-x="967" d="M 485 -425 C 427 -425 375 -413 331 -391 C 286 -368 248 -335 218 -293 C 188 -251 165 -200 150 -140 C 134 -80 127 -12 127 62 C 127 136 134 203 150 263 C 165 323 188 375 218 418 C 248 461 286 494 331 518 C 375 542 427 554 485 554 C 541 554 592 542 636 518 C 680 494 718 461 748 418 C 778 375 800 323 816 263 C 832 203 840 136 840 62 C 840 -12 832 -80 816 -140 C 800 -200 778 -251 748 -293 C 718 -335 680 -368 636 -391 C 592 -413 541 -425 485 -425 Z M 485 -321 C 559 -321 617 -288 658 -224 C 698 -160 719 -64 719 62 C 719 123 713 178 702 226 C 691 274 676 314 656 347 C 636 380 611 405 582 423 C 553 440 521 449 485 449 C 447 449 413 440 383 423 C 353 405 329 380 309 347 C 289 314 273 274 263 226 C 253 178 248 123 248 62 C 248 -64 269 -160 311 -224 C 353 -288 411 -321 485 -321 Z" unicode="₀" />
-<glyph horiz-adv-x="729" d="M 159 -300 L 333 -300 L 333 408 C 309 396 282 388 252 382 C 221 376 191 374 161 374 L 161 478 C 202 479 238 484 268 493 C 298 502 323 517 343 538 L 456 538 L 456 -300 L 613 -300 L 613 -409 L 159 -409 L 159 -300 Z" unicode="₁" />
-<glyph horiz-adv-x="913" d="M 137 -368 C 137 -333 141 -299 151 -266 C 160 -232 176 -199 200 -165 C 224 -131 256 -96 296 -60 C 336 -24 388 14 451 54 C 484 74 512 94 536 112 C 559 130 578 148 593 166 C 607 184 618 202 625 222 C 631 241 635 262 635 286 C 635 334 621 372 593 402 C 565 432 523 447 467 447 C 419 447 378 434 343 408 C 308 382 276 340 248 282 L 150 337 C 186 411 231 467 285 503 C 339 539 401 558 471 558 C 515 558 555 551 591 538 C 627 524 657 506 682 482 C 706 458 725 430 738 398 C 751 365 758 329 758 290 C 758 258 753 228 745 200 C 736 172 722 145 702 119 C 682 93 657 67 625 41 C 593 15 554 -12 508 -40 C 432 -87 376 -132 339 -174 C 302 -216 280 -256 274 -294 L 762 -294 L 762 -407 L 137 -407 L 137 -368 Z" unicode="₂" />
-<glyph horiz-adv-x="913" d="M 453 -425 C 382 -425 318 -408 260 -375 C 202 -341 155 -292 117 -228 L 205 -163 C 239 -219 277 -259 319 -281 C 360 -303 404 -314 451 -314 C 515 -314 565 -298 599 -266 C 633 -234 651 -192 651 -142 C 651 -111 646 -84 637 -61 C 627 -37 612 -18 590 -2 C 568 14 540 26 506 34 C 471 42 429 46 379 46 L 326 46 L 326 144 L 385 144 C 473 144 536 157 575 184 C 613 210 633 250 633 304 C 633 324 629 343 623 361 C 616 378 606 393 592 406 C 578 418 560 428 538 436 C 516 443 489 447 459 447 C 415 447 376 436 340 416 C 304 396 270 367 240 329 L 156 398 C 196 448 241 487 291 515 C 341 543 399 558 463 558 C 515 558 559 551 596 537 C 633 523 664 505 688 482 C 712 459 729 433 741 404 C 752 374 758 344 758 312 C 758 260 744 216 718 179 C 692 141 652 114 598 97 C 662 77 708 48 736 8 C 764 -31 778 -81 778 -142 C 778 -182 770 -220 755 -254 C 740 -288 718 -318 690 -344 C 662 -369 628 -389 588 -403 C 548 -417 503 -425 453 -425 Z" unicode="₃" />
-<glyph horiz-adv-x="897" d="M 547 -181 L 113 -181 L 113 -101 L 537 538 L 666 538 L 666 -75 L 819 -75 L 819 -181 L 666 -181 L 666 -409 L 547 -409 L 547 -181 Z M 549 -77 L 549 374 L 252 -77 L 549 -77 Z" unicode="₄" />
-<glyph horiz-adv-x="872" d="M 426 -425 C 354 -425 291 -408 237 -374 C 183 -340 138 -297 102 -243 L 184 -175 C 213 -219 247 -254 287 -282 C 326 -309 373 -323 428 -323 C 464 -323 495 -317 523 -305 C 550 -293 573 -276 591 -256 C 609 -235 622 -211 631 -185 C 640 -158 645 -130 645 -101 C 645 -65 640 -34 630 -7 C 620 19 606 42 589 60 C 571 78 551 92 527 102 C 503 111 477 116 449 116 C 426 116 405 113 387 109 C 369 105 352 98 337 90 C 322 82 308 71 295 58 C 282 45 270 30 258 13 L 156 52 L 188 538 L 711 538 L 702 429 L 291 429 L 270 138 C 287 160 312 179 344 194 C 376 208 419 216 471 216 C 511 216 549 209 585 195 C 620 181 651 160 678 134 C 704 107 725 74 741 35 C 756 -3 764 -47 764 -97 C 764 -147 756 -192 740 -233 C 724 -273 702 -308 673 -336 C 643 -364 608 -386 566 -402 C 524 -417 478 -425 426 -425 Z" unicode="₅" />
-<glyph horiz-adv-x="909" d="M 473 -425 C 423 -425 378 -415 336 -396 C 294 -377 257 -348 226 -309 C 195 -270 171 -221 153 -161 C 135 -101 127 -30 127 52 C 127 127 135 195 152 257 C 169 319 194 372 226 416 C 258 460 298 494 345 518 C 391 542 444 554 504 554 C 564 554 617 545 662 527 C 706 509 744 486 774 458 L 711 372 C 694 384 678 395 663 405 C 648 415 632 423 616 430 C 600 437 582 442 564 446 C 545 450 524 452 502 452 C 421 452 359 420 315 356 C 271 292 247 200 244 81 C 259 97 275 112 293 126 C 311 140 330 152 351 163 C 371 173 394 182 419 188 C 443 194 470 198 500 198 C 551 198 596 190 634 175 C 672 160 703 139 728 113 C 753 86 772 54 784 17 C 796 -19 803 -60 803 -104 C 803 -149 795 -191 780 -231 C 765 -270 743 -304 715 -333 C 686 -361 651 -384 611 -400 C 570 -416 524 -425 473 -425 Z M 475 -323 C 537 -323 587 -304 625 -266 C 663 -228 682 -174 682 -106 C 682 -76 678 -48 670 -23 C 662 1 651 23 635 41 C 619 59 598 72 573 82 C 547 92 517 97 483 97 C 435 97 391 84 352 60 C 312 35 278 4 250 -34 C 254 -84 263 -127 277 -163 C 290 -199 307 -229 327 -253 C 347 -277 369 -294 395 -306 C 420 -317 447 -323 475 -323 Z" unicode="₆" />
-<glyph horiz-adv-x="829" d="M 584 427 L 117 427 L 117 538 L 717 538 L 717 443 L 326 -409 L 199 -409 L 584 427 Z" unicode="₇" />
-<glyph horiz-adv-x="903" d="M 451 -425 C 395 -425 346 -418 303 -405 C 260 -392 224 -374 195 -352 C 165 -329 143 -302 127 -272 C 111 -241 104 -208 104 -173 C 104 -141 109 -112 119 -86 C 129 -60 144 -37 164 -16 C 184 4 208 23 236 41 C 264 58 296 75 332 91 C 302 105 276 119 253 134 C 230 148 211 165 195 183 C 179 201 167 221 159 243 C 151 265 147 290 147 318 C 147 348 153 378 167 406 C 181 434 201 460 227 482 C 253 504 284 521 322 534 C 360 547 403 554 451 554 C 499 554 543 547 581 534 C 619 520 651 503 677 481 C 703 459 722 433 736 405 C 749 377 756 348 756 318 C 756 290 751 266 742 245 C 733 224 720 205 703 187 C 686 169 666 153 642 139 C 618 125 591 111 561 97 C 597 80 630 63 660 45 C 689 27 714 8 735 -13 C 755 -34 771 -58 782 -84 C 793 -110 799 -139 799 -173 C 799 -207 791 -240 775 -271 C 759 -301 737 -328 707 -351 C 677 -373 641 -391 598 -405 C 555 -418 506 -425 451 -425 Z M 451 -329 C 484 -329 514 -325 542 -317 C 570 -309 593 -299 613 -285 C 633 -271 648 -254 659 -234 C 670 -214 676 -193 676 -169 C 676 -145 670 -123 659 -103 C 648 -83 632 -64 612 -47 C 592 -29 567 -13 537 2 C 507 17 474 32 438 48 C 400 30 367 14 340 -1 C 312 -17 290 -33 273 -50 C 255 -67 243 -85 235 -105 C 227 -124 223 -145 223 -169 C 223 -192 228 -213 240 -233 C 251 -253 267 -270 287 -284 C 307 -298 331 -309 359 -317 C 387 -325 417 -329 451 -329 Z M 457 142 C 488 156 515 169 538 181 C 560 193 579 205 594 218 C 609 230 620 244 628 259 C 635 274 639 292 639 312 C 639 330 635 347 628 365 C 620 382 609 397 594 411 C 578 424 559 435 536 443 C 512 451 485 456 453 456 C 422 456 395 452 372 444 C 348 436 329 425 313 412 C 297 399 286 384 278 367 C 270 350 266 333 266 316 C 266 295 269 277 277 262 C 284 246 295 232 311 219 C 326 206 346 194 370 182 C 394 170 423 156 457 142 Z" unicode="₈" />
-<glyph horiz-adv-x="909" d="M 406 -425 C 345 -425 292 -416 247 -398 C 202 -380 165 -357 135 -329 L 199 -243 C 215 -255 230 -266 246 -276 C 261 -286 277 -294 293 -301 C 309 -307 326 -312 345 -316 C 363 -319 384 -321 408 -321 C 488 -321 550 -289 594 -227 C 638 -164 662 -72 666 48 C 650 32 634 16 616 2 C 598 -11 579 -24 558 -35 C 537 -46 514 -55 490 -61 C 465 -67 438 -71 410 -71 C 358 -71 314 -63 276 -48 C 238 -32 206 -11 181 15 C 155 42 136 74 124 111 C 112 148 106 188 106 232 C 106 278 113 320 128 360 C 143 399 165 433 194 462 C 222 490 257 513 298 529 C 338 545 384 554 436 554 C 485 554 531 544 573 525 C 615 506 652 477 684 438 C 715 399 739 350 757 290 C 775 230 784 160 784 79 C 784 3 775 -65 757 -127 C 739 -189 714 -242 682 -286 C 649 -330 609 -364 563 -388 C 516 -412 464 -425 406 -425 Z M 426 32 C 474 32 517 44 557 69 C 596 93 630 125 659 163 C 654 212 645 255 632 291 C 618 327 602 357 582 381 C 562 405 539 422 514 434 C 488 446 462 452 434 452 C 371 452 321 433 283 395 C 245 357 227 303 227 234 C 227 204 230 176 238 152 C 246 127 258 106 274 88 C 290 70 311 56 336 46 C 361 36 391 32 426 32 Z" unicode="₉" />
-<glyph horiz-adv-x="463" d="" unicode=" " />
-<glyph horiz-adv-x="641" d="M 276 1102 L 360 1102 L 408 0 L 231 0 L 276 1102 Z M 229 1516 L 408 1516 L 408 1325 L 229 1325 L 229 1516 Z" unicode="¡" />
-<glyph horiz-adv-x="1090" d="M 352 35 C 315 55 281 82 251 114 C 220 146 194 184 172 227 C 150 269 132 317 120 369 C 108 421 102 477 102 539 C 102 635 115 718 143 789 C 171 859 207 918 252 964 C 297 1010 348 1044 406 1066 C 464 1088 523 1100 584 1100 C 594 1100 604 1100 614 1100 C 624 1100 633 1099 643 1098 L 700 1307 L 799 1307 L 735 1077 C 768 1065 798 1049 825 1031 C 851 1012 875 991 897 968 C 918 944 937 919 953 891 C 969 863 984 835 997 805 L 881 752 C 859 805 834 849 804 885 C 774 920 738 945 696 961 L 467 115 C 483 108 501 103 519 100 C 537 97 555 96 575 96 C 612 96 646 100 676 109 C 706 118 733 132 758 151 C 783 170 806 194 828 224 C 849 253 869 288 889 328 L 999 279 C 977 233 953 191 926 154 C 899 117 868 85 834 59 C 799 33 760 12 716 -1 C 672 -15 623 -23 569 -23 C 524 -23 480 -16 438 -2 L 367 -264 L 268 -264 L 352 35 Z M 614 979 C 608 980 603 981 597 981 C 591 981 585 981 580 981 C 540 981 499 973 459 958 C 419 942 382 917 350 883 C 317 849 290 804 270 748 C 250 692 240 623 240 541 C 240 449 253 370 280 306 C 307 242 343 192 389 156 L 614 979 Z" unicode="¢" />
-<glyph horiz-adv-x="1247" d="M 178 741 L 178 854 L 377 854 C 364 878 352 902 340 926 C 328 950 317 974 308 999 C 299 1024 292 1050 287 1077 C 281 1103 279 1131 279 1161 C 279 1217 287 1268 305 1315 C 323 1361 348 1402 382 1436 C 415 1470 456 1496 505 1515 C 553 1534 608 1544 670 1544 C 739 1544 798 1533 847 1511 C 896 1489 936 1461 968 1425 C 1000 1389 1024 1349 1040 1303 C 1056 1257 1067 1211 1071 1163 L 934 1147 C 931 1185 924 1221 913 1255 C 902 1288 886 1317 865 1341 C 844 1365 817 1384 785 1398 C 752 1412 713 1419 668 1419 C 587 1419 525 1396 483 1350 C 441 1304 420 1242 420 1163 C 420 1135 423 1109 429 1083 C 435 1057 443 1031 453 1006 C 463 980 474 955 487 930 C 500 905 514 880 528 854 L 881 854 L 881 741 L 586 741 C 604 699 620 655 632 609 C 644 563 651 511 651 455 C 651 411 648 371 642 334 C 636 297 628 262 618 229 C 638 212 658 195 678 179 C 698 163 718 148 739 136 C 760 123 782 113 804 105 C 826 97 850 94 874 94 C 906 94 933 99 956 110 C 978 121 997 138 1012 161 C 1027 183 1039 212 1047 248 C 1055 283 1061 325 1065 373 L 1194 373 C 1192 315 1185 262 1173 213 C 1161 164 1143 122 1119 86 C 1094 50 1062 21 1024 1 C 986 -18 939 -29 883 -29 C 851 -29 820 -24 792 -15 C 764 -6 737 5 711 20 C 685 34 660 51 636 70 C 612 89 589 109 567 129 C 535 77 495 38 448 11 C 401 -15 347 -29 285 -29 C 258 -29 231 -24 205 -16 C 178 -8 154 4 133 21 C 112 38 95 59 82 85 C 69 110 63 140 63 174 C 63 208 68 239 79 267 C 89 295 105 319 125 339 C 145 359 170 374 199 386 C 228 397 261 403 297 403 C 338 403 376 395 410 379 C 444 363 478 342 512 317 C 515 335 517 355 518 377 C 519 398 520 420 520 444 C 520 501 512 554 496 602 C 480 650 460 697 438 741 L 178 741 Z M 479 207 C 449 233 419 256 389 274 C 359 292 327 301 295 301 C 257 301 228 289 206 267 C 184 245 174 215 174 178 C 174 144 185 117 207 99 C 229 81 257 72 291 72 C 334 72 371 83 403 105 C 435 127 460 161 479 207 Z" unicode="£" />
-<glyph horiz-adv-x="1262" d="M 557 258 L 166 258 L 166 373 L 557 373 L 557 567 L 166 567 L 166 682 L 553 682 L 53 1516 L 211 1516 L 635 799 L 1055 1516 L 1208 1516 L 707 682 L 1098 682 L 1098 567 L 702 567 L 702 373 L 1098 373 L 1098 258 L 702 258 L 702 0 L 557 0 L 557 258 Z" unicode="¥" />
-<glyph horiz-adv-x="707" d="M 285 1516 L 422 1516 L 422 678 L 285 678 L 285 1516 Z M 285 428 L 422 428 L 422 -410 L 285 -410 L 285 428 Z" unicode="¦" />
-<glyph horiz-adv-x="1085" d="M 545 -410 C 481 -410 427 -402 381 -386 C 335 -370 297 -349 265 -322 C 233 -295 207 -263 188 -227 C 169 -191 155 -152 145 -111 L 266 -74 C 275 -108 287 -138 301 -166 C 315 -193 333 -216 355 -235 C 377 -253 403 -268 433 -278 C 463 -288 498 -293 539 -293 C 580 -293 615 -287 643 -277 C 671 -267 694 -253 712 -236 C 730 -219 742 -199 750 -177 C 758 -155 762 -132 762 -109 C 762 -85 758 -62 751 -41 C 743 -19 730 2 712 24 C 693 46 667 69 635 93 C 602 117 560 144 510 174 C 438 216 376 253 326 286 C 276 319 235 351 203 383 C 171 415 147 448 133 482 C 118 516 111 554 111 598 C 111 639 119 677 135 712 C 151 746 171 778 197 806 C 222 834 250 858 281 879 C 312 900 343 918 373 934 C 334 960 302 986 277 1010 C 251 1034 231 1058 216 1082 C 201 1106 191 1130 185 1155 C 179 1180 176 1207 176 1237 C 176 1275 184 1313 200 1350 C 216 1387 240 1420 272 1449 C 303 1477 341 1500 387 1518 C 432 1535 483 1544 541 1544 C 606 1544 662 1536 709 1520 C 756 1504 796 1483 828 1456 C 860 1429 885 1397 904 1361 C 923 1325 938 1286 948 1245 L 825 1206 C 815 1240 803 1270 788 1298 C 773 1325 754 1348 732 1367 C 710 1386 683 1401 653 1411 C 623 1421 587 1427 547 1427 C 505 1427 470 1421 441 1411 C 411 1401 387 1387 369 1370 C 350 1353 336 1333 328 1311 C 319 1289 315 1266 315 1243 C 315 1219 319 1196 327 1175 C 335 1153 349 1132 369 1110 C 389 1088 415 1065 449 1041 C 482 1017 524 990 575 961 C 647 919 708 881 758 848 C 808 815 849 783 881 751 C 913 719 936 687 951 653 C 965 619 973 580 973 537 C 973 495 965 457 949 422 C 933 387 913 356 889 328 C 864 300 836 275 806 253 C 775 231 745 213 715 199 C 753 171 784 146 808 122 C 832 98 851 74 865 51 C 879 27 888 3 893 -21 C 898 -46 901 -73 901 -102 C 901 -141 893 -179 877 -216 C 861 -252 839 -285 809 -314 C 779 -343 741 -366 697 -384 C 653 -401 602 -410 545 -410 Z M 614 264 C 687 296 743 333 783 376 C 822 419 842 468 842 522 C 842 550 837 576 827 599 C 817 622 800 646 774 670 C 748 694 713 720 669 750 C 624 779 567 814 498 856 C 493 858 488 860 484 863 C 479 865 474 868 469 870 C 400 839 345 802 305 759 C 264 715 244 666 244 612 C 244 583 248 557 258 535 C 268 512 285 488 311 464 C 337 440 372 413 416 384 C 460 355 518 320 588 279 C 592 276 596 273 601 271 C 605 268 610 266 614 264 Z" unicode="§" />
-<glyph horiz-adv-x="1036" d="M 618 1362 L 776 1362 L 776 1194 L 618 1194 L 618 1362 Z M 258 1362 L 416 1362 L 416 1194 L 258 1194 L 258 1362 Z" unicode="¨" />
-<glyph horiz-adv-x="1767" d="M 883 -29 C 773 -29 671 -8 576 32 C 481 73 398 129 328 201 C 258 272 202 355 162 451 C 122 546 102 648 102 758 C 102 830 111 900 129 967 C 147 1034 174 1097 208 1155 C 242 1213 282 1266 330 1314 C 377 1362 430 1403 488 1437 C 546 1471 608 1497 675 1516 C 742 1534 812 1544 885 1544 C 957 1544 1027 1534 1094 1516 C 1160 1497 1223 1471 1281 1437 C 1339 1403 1391 1362 1438 1314 C 1485 1266 1525 1213 1559 1155 C 1593 1097 1619 1034 1637 967 C 1655 900 1665 830 1665 758 C 1665 685 1655 615 1637 548 C 1619 481 1593 418 1559 360 C 1525 302 1485 249 1437 201 C 1389 153 1337 112 1279 78 C 1221 44 1159 17 1092 -1 C 1025 -19 955 -29 883 -29 Z M 885 55 C 981 55 1072 73 1156 110 C 1240 146 1313 196 1375 260 C 1437 324 1485 398 1521 484 C 1557 569 1575 660 1575 758 C 1575 822 1566 884 1550 944 C 1534 1004 1511 1060 1481 1112 C 1451 1164 1416 1211 1374 1254 C 1332 1296 1285 1333 1234 1364 C 1183 1394 1128 1418 1069 1435 C 1009 1451 947 1460 883 1460 C 818 1460 756 1451 697 1435 C 638 1418 583 1394 532 1364 C 480 1334 434 1297 392 1255 C 350 1212 315 1165 285 1113 C 255 1061 233 1005 217 945 C 201 885 193 822 193 758 C 193 693 201 631 217 571 C 233 511 256 456 286 404 C 316 352 352 304 394 261 C 436 218 482 181 533 151 C 584 120 639 96 699 80 C 758 63 820 55 885 55 Z M 879 319 C 825 319 776 329 732 351 C 688 373 650 403 619 443 C 588 483 564 530 547 586 C 530 642 522 704 522 772 C 522 836 530 896 547 951 C 564 1005 588 1052 619 1092 C 650 1132 688 1163 732 1185 C 776 1207 826 1219 881 1219 C 967 1219 1036 1194 1088 1146 C 1140 1097 1177 1030 1200 944 L 1106 920 C 1096 954 1084 984 1071 1010 C 1057 1036 1042 1057 1024 1074 C 1006 1091 985 1104 962 1113 C 938 1121 911 1126 881 1126 C 841 1126 806 1117 775 1100 C 743 1083 716 1059 694 1029 C 672 998 655 961 643 918 C 631 874 625 826 625 774 C 625 717 631 666 643 621 C 655 576 672 538 694 507 C 716 476 743 452 775 436 C 807 420 843 412 883 412 C 943 412 993 429 1031 465 C 1069 501 1097 555 1116 629 C 1131 624 1145 620 1159 617 C 1170 613 1181 610 1191 608 C 1201 606 1208 604 1212 604 C 1188 513 1149 443 1093 393 C 1037 343 966 319 879 319 Z" unicode="©" />
-<glyph horiz-adv-x="850" d="M 326 756 C 255 756 200 772 162 806 C 123 840 104 887 104 948 C 104 985 112 1020 130 1052 C 147 1084 176 1114 216 1141 C 256 1167 308 1191 374 1212 C 439 1232 520 1250 616 1266 L 616 1300 C 616 1348 603 1385 579 1410 C 554 1435 518 1448 471 1448 C 412 1448 361 1438 318 1418 C 274 1398 233 1369 195 1331 L 127 1397 C 150 1419 174 1439 199 1457 C 224 1475 251 1490 280 1503 C 308 1515 339 1525 372 1532 C 404 1538 440 1542 479 1542 C 563 1542 626 1520 667 1477 C 708 1433 729 1374 729 1298 L 729 961 C 729 916 730 879 734 850 C 738 820 745 794 756 772 L 635 772 C 629 788 625 805 622 821 C 619 837 617 854 616 874 C 572 837 527 808 479 787 C 431 766 380 756 326 756 Z M 348 850 C 400 850 449 861 493 883 C 537 905 578 933 616 969 L 616 1188 C 536 1175 470 1160 418 1144 C 366 1128 326 1110 296 1091 C 266 1072 245 1052 234 1030 C 222 1008 217 985 217 961 C 217 925 228 897 252 878 C 276 859 308 850 348 850 Z" unicode="ª" />
-<glyph horiz-adv-x="1069" d="M 92 541 L 395 1079 L 543 1079 L 246 541 L 543 0 L 395 0 L 92 541 Z M 498 541 L 803 1079 L 948 1079 L 649 541 L 948 0 L 803 0 L 498 541 Z" unicode="«" />
-<glyph horiz-adv-x="1468" d="M 43 854 L 43 967 L 301 967 C 315 1067 340 1153 376 1225 C 411 1297 453 1357 503 1405 C 553 1452 608 1487 668 1510 C 728 1532 790 1544 854 1544 C 924 1544 985 1533 1037 1512 C 1089 1491 1135 1462 1174 1424 C 1212 1386 1245 1340 1271 1287 C 1297 1234 1318 1176 1335 1112 L 1202 1073 C 1186 1127 1170 1175 1152 1217 C 1134 1259 1112 1295 1086 1325 C 1060 1354 1028 1376 990 1392 C 952 1407 906 1415 852 1415 C 802 1415 755 1406 711 1388 C 666 1370 626 1343 590 1307 C 554 1270 523 1223 497 1167 C 471 1111 453 1044 442 967 L 907 967 L 907 854 L 430 854 C 428 840 428 827 428 814 C 428 800 428 787 428 774 C 428 753 428 733 429 714 C 429 694 430 676 432 659 L 907 659 L 907 543 L 444 543 C 466 395 513 284 584 210 C 655 135 746 98 856 98 C 908 98 953 106 992 122 C 1031 138 1065 161 1095 192 C 1124 222 1149 260 1170 305 C 1191 350 1209 402 1225 461 L 1358 426 C 1340 358 1316 297 1287 241 C 1258 185 1223 137 1182 97 C 1140 57 1092 26 1038 4 C 984 -18 922 -29 854 -29 C 784 -29 719 -17 659 5 C 599 28 545 63 497 111 C 449 158 408 217 375 289 C 341 361 317 445 303 543 L 43 543 L 43 659 L 291 659 C 289 675 288 693 288 711 C 287 729 287 747 287 766 C 287 781 287 796 288 810 C 288 824 289 839 289 854 L 43 854 Z" unicode="€" />
-<glyph horiz-adv-x="1120" d="M 561 596 C 494 596 432 608 374 633 C 316 657 266 691 224 734 C 181 777 147 828 123 886 C 98 944 86 1006 86 1073 C 86 1139 98 1201 123 1259 C 147 1317 181 1367 224 1410 C 267 1453 317 1487 375 1512 C 433 1537 495 1550 561 1550 C 627 1550 688 1537 746 1513 C 804 1488 854 1454 896 1411 C 938 1368 972 1318 997 1260 C 1021 1202 1034 1139 1034 1073 C 1034 1006 1021 944 997 886 C 972 828 938 777 896 734 C 854 691 804 657 746 633 C 688 608 627 596 561 596 Z M 561 657 C 618 657 672 667 722 689 C 772 711 815 740 852 778 C 889 816 918 860 939 910 C 960 960 971 1015 971 1073 C 971 1130 960 1184 939 1235 C 917 1285 888 1329 851 1367 C 814 1405 771 1434 721 1456 C 671 1478 617 1489 561 1489 C 503 1489 450 1478 400 1456 C 350 1434 307 1405 270 1367 C 233 1329 204 1285 183 1235 C 162 1184 152 1130 152 1073 C 152 1015 162 960 183 910 C 204 860 233 816 270 778 C 307 740 350 711 400 689 C 450 667 503 657 561 657 Z M 385 1346 L 569 1346 C 629 1346 675 1333 707 1307 C 739 1281 756 1245 756 1198 C 756 1154 745 1121 725 1099 C 704 1077 676 1062 641 1055 L 770 817 L 692 817 L 567 1044 L 459 1044 L 459 817 L 385 817 L 385 1346 Z M 565 1106 C 602 1106 631 1112 652 1125 C 673 1138 684 1162 684 1196 C 684 1226 673 1248 652 1261 C 630 1273 601 1280 563 1280 L 459 1280 L 459 1106 L 565 1106 Z" unicode="®" />
-<glyph horiz-adv-x="1024" d="M 254 1315 L 770 1315 L 770 1194 L 254 1194 L 254 1315 Z" unicode="¯" />
-<glyph horiz-adv-x="825" d="M 412 971 C 370 971 332 978 297 992 C 262 1006 232 1026 206 1052 C 180 1077 159 1107 145 1142 C 130 1177 123 1215 123 1257 C 123 1298 130 1336 145 1371 C 159 1406 180 1436 206 1462 C 232 1488 262 1508 297 1522 C 332 1536 370 1544 412 1544 C 453 1544 491 1536 527 1522 C 562 1508 593 1488 619 1462 C 645 1436 665 1406 680 1371 C 694 1336 702 1298 702 1257 C 702 1215 694 1177 680 1142 C 665 1107 645 1077 619 1052 C 593 1026 562 1006 527 992 C 491 978 453 971 412 971 Z M 412 1063 C 438 1063 463 1067 486 1077 C 509 1087 529 1100 545 1117 C 561 1134 574 1154 584 1178 C 593 1202 598 1228 598 1257 C 598 1285 593 1311 584 1335 C 574 1359 561 1379 545 1396 C 529 1413 509 1426 486 1436 C 463 1445 438 1450 412 1450 C 385 1450 360 1445 338 1436 C 315 1426 295 1413 279 1396 C 263 1379 250 1359 241 1335 C 231 1311 227 1285 227 1257 C 227 1228 231 1202 241 1178 C 250 1154 263 1134 279 1117 C 295 1100 315 1087 338 1077 C 360 1067 385 1063 412 1063 Z" unicode="°" />
-<glyph horiz-adv-x="1305" d="M 135 221 L 592 221 L 592 666 L 135 666 L 135 786 L 592 786 L 592 1247 L 717 1247 L 717 786 L 1171 786 L 1171 666 L 717 666 L 717 221 L 1171 221 L 1171 102 L 135 102 L 135 221 Z" unicode="±" />
-<glyph horiz-adv-x="913" d="M 137 610 C 137 644 141 678 151 712 C 160 745 176 779 200 813 C 224 847 256 882 296 918 C 336 954 388 992 451 1032 C 484 1052 512 1072 536 1090 C 559 1108 578 1126 593 1144 C 607 1162 618 1180 625 1200 C 631 1219 635 1240 635 1264 C 635 1312 621 1350 593 1380 C 565 1410 523 1425 467 1425 C 419 1425 378 1412 343 1386 C 308 1360 276 1318 248 1260 L 150 1315 C 186 1389 231 1445 285 1481 C 339 1517 401 1536 471 1536 C 515 1536 555 1529 591 1516 C 627 1502 657 1484 682 1460 C 706 1436 725 1408 738 1376 C 751 1343 758 1307 758 1268 C 758 1236 753 1206 745 1178 C 736 1150 722 1123 702 1097 C 682 1071 657 1045 625 1019 C 593 993 554 966 508 938 C 432 890 376 845 339 803 C 302 761 280 721 274 684 L 762 684 L 762 571 L 137 571 L 137 610 Z" unicode="²" />
-<glyph horiz-adv-x="913" d="M 453 553 C 382 553 318 569 260 603 C 202 636 155 685 117 750 L 205 815 C 239 758 277 719 319 697 C 360 675 404 664 451 664 C 515 664 565 680 599 712 C 633 744 651 785 651 836 C 651 866 646 893 637 917 C 627 940 612 960 590 976 C 568 992 540 1004 506 1012 C 471 1020 429 1024 379 1024 L 326 1024 L 326 1122 L 385 1122 C 473 1122 536 1135 575 1162 C 613 1188 633 1228 633 1282 C 633 1302 629 1321 623 1339 C 616 1356 606 1371 592 1384 C 578 1396 560 1406 538 1414 C 516 1421 489 1425 459 1425 C 415 1425 376 1414 340 1394 C 304 1374 270 1345 240 1307 L 156 1376 C 196 1426 241 1465 291 1493 C 341 1521 399 1536 463 1536 C 515 1536 559 1529 596 1515 C 633 1501 664 1483 688 1460 C 712 1437 729 1411 741 1382 C 752 1352 758 1322 758 1290 C 758 1238 744 1194 718 1157 C 692 1119 652 1092 598 1075 C 662 1055 708 1026 736 986 C 764 946 778 896 778 836 C 778 795 770 757 755 723 C 740 689 718 659 690 634 C 662 608 628 588 588 574 C 548 560 503 553 453 553 Z" unicode="³" />
-<glyph horiz-adv-x="1024" d="M 541 1513 L 727 1513 L 438 1194 L 346 1194 L 541 1513 Z" unicode="´" />
-<glyph horiz-adv-x="1200" d="M 164 1079 L 305 1079 L 305 324 C 305 247 322 190 356 153 C 390 116 445 98 520 98 C 589 98 654 114 714 148 C 774 182 835 227 897 285 L 897 1079 L 1038 1079 L 1038 0 L 897 0 L 897 176 C 869 150 841 125 812 102 C 782 79 752 59 720 41 C 688 23 654 9 619 -1 C 584 -11 548 -17 510 -18 C 466 -19 426 -15 392 -5 C 357 5 328 24 305 53 L 305 -410 L 164 -410 L 164 1079 Z" unicode="µ" />
-<glyph horiz-adv-x="1268" d="M 625 690 C 463 692 340 728 255 797 C 169 865 127 966 127 1100 C 127 1159 137 1214 157 1265 C 177 1315 207 1359 247 1397 C 287 1434 336 1463 394 1484 C 452 1505 520 1516 596 1516 L 1079 1516 L 1079 -410 L 958 -410 L 958 1395 L 745 1395 L 745 -410 L 625 -410 L 625 690 Z" unicode="¶" />
-<glyph horiz-adv-x="551" d="M 186 748 L 367 748 L 367 555 L 186 555 L 186 748 Z" unicode="·" />
-<glyph horiz-adv-x="1024" d="M 514 -399 C 468 -399 423 -392 379 -379 C 335 -365 296 -347 260 -324 L 297 -264 C 327 -284 360 -300 394 -310 C 428 -320 462 -326 498 -326 C 552 -326 591 -317 615 -301 C 639 -284 651 -260 651 -229 C 651 -180 622 -156 565 -156 C 542 -156 522 -160 505 -168 C 488 -176 473 -185 459 -197 L 399 -170 L 453 0 L 539 0 L 506 -111 C 520 -101 536 -94 554 -88 C 572 -82 593 -80 618 -80 C 636 -80 654 -83 672 -89 C 690 -95 705 -103 718 -115 C 731 -126 742 -140 750 -158 C 758 -176 762 -196 762 -219 C 762 -251 755 -278 742 -301 C 728 -323 710 -342 688 -356 C 666 -370 640 -381 610 -388 C 580 -395 548 -399 514 -399 Z" unicode="¸" />
-<glyph horiz-adv-x="715" d="M 162 678 L 336 678 L 336 1386 C 312 1374 285 1366 255 1360 C 224 1354 194 1352 164 1352 L 164 1456 C 205 1457 241 1462 271 1471 C 301 1480 326 1495 346 1516 L 459 1516 L 459 678 L 616 678 L 616 569 L 162 569 L 162 678 Z" unicode="¹" />
-<glyph horiz-adv-x="879" d="M 438 756 C 390 756 346 764 304 782 C 262 799 225 824 193 858 C 161 891 136 932 118 981 C 99 1029 90 1085 90 1149 C 90 1213 99 1269 118 1318 C 136 1367 161 1408 193 1441 C 225 1474 262 1499 304 1516 C 346 1533 390 1542 438 1542 C 486 1542 531 1533 573 1516 C 615 1499 652 1474 684 1441 C 716 1408 741 1367 760 1318 C 778 1269 788 1213 788 1149 C 788 1085 778 1029 760 981 C 741 932 716 891 684 858 C 652 824 615 799 573 782 C 531 764 486 756 438 756 Z M 438 848 C 476 848 509 855 539 871 C 569 886 594 907 614 934 C 634 961 649 993 660 1030 C 670 1066 676 1106 676 1149 C 676 1189 671 1227 661 1263 C 651 1299 636 1331 616 1359 C 596 1387 571 1409 541 1425 C 511 1441 477 1450 438 1450 C 401 1450 368 1442 339 1427 C 310 1411 285 1390 265 1363 C 245 1336 229 1304 219 1268 C 208 1231 203 1191 203 1149 C 203 1109 207 1070 217 1034 C 227 998 241 966 261 938 C 281 910 305 888 335 872 C 364 856 398 848 438 848 Z" unicode="º" />
-<glyph horiz-adv-x="1069" d="M 823 541 L 526 1079 L 672 1079 L 977 541 L 672 0 L 526 0 L 823 541 Z M 418 541 L 119 1079 L 266 1079 L 571 541 L 266 0 L 119 0 L 418 541 Z" unicode="»" />
-<glyph horiz-adv-x="1915" d="M 199 680 L 371 680 L 371 1376 C 347 1366 321 1359 292 1354 C 262 1348 233 1346 203 1346 L 203 1456 C 245 1457 281 1462 311 1471 C 341 1480 365 1495 385 1516 L 496 1516 L 496 680 L 649 680 L 649 569 L 199 569 L 199 680 Z M 1509 227 L 1073 227 L 1073 309 L 1497 948 L 1634 948 L 1634 338 L 1788 338 L 1788 227 L 1634 227 L 1634 0 L 1509 0 L 1509 227 Z M 1370 1516 L 1503 1516 L 596 0 L 463 0 L 1370 1516 Z M 1513 334 L 1513 784 L 1217 334 L 1513 334 Z" unicode="¼" />
-<glyph horiz-adv-x="1995" d="M 1217 41 C 1217 75 1221 108 1230 141 C 1239 174 1255 208 1279 242 C 1303 276 1335 311 1375 347 C 1415 383 1467 421 1530 461 C 1562 481 1589 501 1612 519 C 1634 537 1653 555 1668 573 C 1683 591 1694 609 1701 629 C 1708 649 1712 670 1712 694 C 1712 741 1698 779 1670 809 C 1642 839 1600 854 1544 854 C 1496 854 1455 841 1421 815 C 1387 789 1355 746 1325 688 L 1227 743 C 1263 818 1308 874 1362 910 C 1416 946 1478 965 1548 965 C 1593 965 1633 958 1669 945 C 1705 932 1735 914 1759 890 C 1783 866 1802 838 1815 805 C 1828 772 1835 736 1835 696 C 1835 664 1830 634 1822 606 C 1814 578 1800 552 1780 526 C 1760 500 1735 474 1703 448 C 1671 422 1633 395 1587 367 C 1513 320 1457 275 1419 232 C 1381 189 1360 149 1354 113 L 1841 113 L 1841 0 L 1217 0 L 1217 41 Z M 1370 1516 L 1503 1516 L 596 0 L 463 0 L 1370 1516 Z M 199 680 L 371 680 L 371 1376 C 347 1366 321 1359 292 1354 C 262 1348 233 1346 203 1346 L 203 1456 C 245 1457 281 1462 311 1471 C 341 1480 365 1495 385 1516 L 496 1516 L 496 680 L 649 680 L 649 569 L 199 569 L 199 680 Z" unicode="½" />
-<glyph horiz-adv-x="1970" d="M 453 553 C 382 553 318 569 260 603 C 202 636 155 685 117 750 L 205 815 C 239 758 277 719 319 697 C 360 675 404 664 451 664 C 515 664 565 680 599 712 C 633 744 651 785 651 836 C 651 866 646 893 637 917 C 627 940 612 960 590 976 C 568 992 540 1004 506 1012 C 471 1020 429 1024 379 1024 L 326 1024 L 326 1122 L 385 1122 C 473 1122 536 1135 575 1162 C 613 1188 633 1228 633 1282 C 633 1302 629 1321 623 1339 C 616 1356 606 1371 592 1384 C 578 1396 560 1406 538 1414 C 516 1421 489 1425 459 1425 C 415 1425 376 1414 340 1394 C 304 1374 270 1345 240 1307 L 156 1376 C 196 1426 241 1465 291 1493 C 341 1521 399 1536 463 1536 C 515 1536 559 1529 596 1515 C 633 1501 664 1483 688 1460 C 712 1437 729 1411 741 1382 C 752 1352 758 1322 758 1290 C 758 1238 744 1194 718 1157 C 692 1119 652 1092 598 1075 C 662 1055 708 1026 736 986 C 764 946 778 896 778 836 C 778 795 770 757 755 723 C 740 689 718 659 690 634 C 662 608 628 588 588 574 C 548 560 503 553 453 553 Z M 1565 227 L 1128 227 L 1128 309 L 1552 948 L 1690 948 L 1690 338 L 1843 338 L 1843 227 L 1690 227 L 1690 0 L 1565 0 L 1565 227 Z M 1425 1516 L 1559 1516 L 651 0 L 520 0 L 1425 1516 Z M 1569 334 L 1569 784 L 1270 334 L 1569 334 Z" unicode="¾" />
-<glyph horiz-adv-x="1104" d="M 547 -29 C 480 -29 419 -20 365 -2 C 311 16 264 41 226 74 C 188 106 158 145 137 191 C 116 236 106 286 106 340 C 106 390 112 433 126 471 C 140 509 158 542 182 572 C 205 602 233 628 265 652 C 297 675 331 697 369 719 C 411 743 445 767 469 789 C 493 811 512 836 524 864 C 536 892 543 925 546 963 C 549 1001 551 1048 551 1104 L 666 1104 C 670 1062 672 1017 672 969 C 672 933 668 900 662 870 C 655 840 644 813 630 788 C 616 763 597 740 573 719 C 549 697 521 677 487 657 C 446 631 411 608 381 588 C 351 567 327 545 307 523 C 287 500 273 475 264 447 C 254 419 250 386 250 348 C 250 310 257 275 271 245 C 285 214 305 188 331 166 C 357 144 389 128 427 117 C 465 105 507 100 555 100 C 598 100 637 105 673 115 C 709 125 741 140 771 158 C 801 176 828 198 853 224 C 877 249 900 277 922 307 L 1024 229 C 996 192 966 158 934 126 C 902 94 866 67 828 44 C 790 21 747 3 701 -9 C 655 -22 603 -29 547 -29 Z M 520 1516 L 698 1516 L 698 1325 L 520 1325 L 520 1516 Z" unicode="¿" />
-<glyph horiz-adv-x="1378" d="M 610 1522 L 768 1522 L 1305 0 L 1153 0 L 991 467 L 377 467 L 215 0 L 74 0 L 610 1522 Z M 946 596 L 686 1350 L 682 1350 L 422 596 L 946 596 Z M 356 1929 L 542 1929 L 737 1610 L 645 1610 L 356 1929 Z" unicode="À" />
-<glyph horiz-adv-x="1378" d="M 610 1522 L 768 1522 L 1305 0 L 1153 0 L 991 467 L 377 467 L 215 0 L 74 0 L 610 1522 Z M 946 596 L 686 1350 L 682 1350 L 422 596 L 946 596 Z M 836 1929 L 1022 1929 L 733 1610 L 641 1610 L 836 1929 Z" unicode="Á" />
-<glyph horiz-adv-x="1378" d="M 610 1522 L 768 1522 L 1305 0 L 1153 0 L 991 467 L 377 467 L 215 0 L 74 0 L 610 1522 Z M 946 596 L 686 1350 L 682 1350 L 422 596 L 946 596 Z M 633 1929 L 739 1929 L 1004 1604 L 914 1604 L 684 1805 L 455 1604 L 369 1604 L 633 1929 Z" unicode="Â" />
-<glyph horiz-adv-x="1378" d="M 610 1522 L 768 1522 L 1305 0 L 1153 0 L 991 467 L 377 467 L 215 0 L 74 0 L 610 1522 Z M 946 596 L 686 1350 L 682 1350 L 422 596 L 946 596 Z M 840 1604 C 811 1604 783 1610 756 1622 C 728 1634 702 1647 677 1661 C 651 1675 627 1689 604 1701 C 581 1713 559 1719 539 1719 C 507 1719 485 1710 473 1693 C 461 1676 455 1648 455 1608 L 365 1608 C 365 1686 379 1743 408 1779 C 437 1815 480 1833 537 1833 C 565 1833 593 1827 620 1815 C 647 1803 673 1790 699 1776 C 725 1762 749 1749 773 1737 C 796 1725 818 1719 840 1719 C 870 1719 891 1727 904 1744 C 917 1760 924 1789 924 1829 L 1014 1829 C 1014 1752 999 1695 969 1659 C 939 1622 896 1604 840 1604 Z" unicode="Ã" />
-<glyph horiz-adv-x="1378" d="M 610 1522 L 768 1522 L 1305 0 L 1153 0 L 991 467 L 377 467 L 215 0 L 74 0 L 610 1522 Z M 946 596 L 686 1350 L 682 1350 L 422 596 L 946 596 Z M 786 1778 L 944 1778 L 944 1610 L 786 1610 L 786 1778 Z M 426 1778 L 584 1778 L 584 1610 L 426 1610 L 426 1778 Z" unicode="Ä" />
-<glyph horiz-adv-x="1378" d="M 1305 0 L 1153 0 L 991 467 L 377 467 L 215 0 L 74 0 L 596 1479 C 566 1494 542 1516 526 1544 C 510 1572 502 1604 502 1640 C 502 1666 506 1691 516 1714 C 525 1737 538 1757 554 1774 C 570 1790 590 1803 613 1813 C 635 1822 660 1827 688 1827 C 714 1827 739 1822 762 1813 C 784 1803 804 1790 821 1774 C 837 1757 850 1737 860 1714 C 869 1691 874 1666 874 1640 C 874 1604 865 1572 849 1545 C 832 1517 810 1496 782 1481 L 1305 0 Z M 946 596 L 686 1350 L 682 1350 L 422 596 L 946 596 Z M 688 1526 C 720 1526 746 1536 766 1557 C 786 1578 797 1606 797 1640 C 797 1673 786 1700 766 1722 C 746 1744 720 1755 688 1755 C 656 1755 629 1744 609 1722 C 588 1700 578 1673 578 1640 C 578 1606 588 1578 609 1557 C 629 1536 656 1526 688 1526 Z" unicode="Å" />
-<glyph horiz-adv-x="2040" d="M 918 1516 L 1903 1516 L 1903 1380 L 1143 1380 L 1143 866 L 1710 866 L 1710 735 L 1143 735 L 1143 133 L 1946 133 L 1946 0 L 997 0 L 997 485 L 477 485 L 203 0 L 55 0 L 918 1516 Z M 997 614 L 997 1399 L 995 1399 L 553 614 L 997 614 Z" unicode="Æ" />
-<glyph horiz-adv-x="1432" d="M 752 -399 C 705 -399 660 -392 617 -379 C 573 -365 534 -347 498 -324 L 535 -264 C 565 -284 598 -300 632 -310 C 666 -320 700 -326 735 -326 C 789 -326 827 -317 851 -301 C 875 -284 887 -260 887 -229 C 887 -180 859 -156 803 -156 C 780 -156 760 -160 742 -168 C 724 -176 708 -185 694 -197 L 637 -170 L 682 -27 C 596 -17 519 7 450 49 C 380 90 321 145 273 214 C 224 282 186 363 160 456 C 134 549 121 652 121 764 C 121 878 136 982 166 1078 C 196 1174 239 1256 294 1325 C 349 1394 415 1448 493 1486 C 571 1524 657 1544 752 1544 C 828 1544 897 1533 957 1511 C 1017 1489 1069 1457 1114 1417 C 1159 1377 1197 1328 1227 1271 C 1257 1214 1282 1151 1300 1081 L 1161 1047 C 1144 1107 1124 1160 1101 1206 C 1077 1252 1049 1290 1017 1322 C 984 1353 946 1377 902 1393 C 858 1409 808 1417 750 1417 C 676 1417 610 1401 550 1370 C 490 1339 440 1295 398 1238 C 356 1181 323 1113 300 1033 C 277 953 266 865 266 768 C 266 662 277 568 301 485 C 324 402 357 332 399 274 C 441 216 493 172 553 142 C 613 111 680 96 754 96 C 866 96 958 129 1029 196 C 1100 262 1152 359 1186 487 L 1325 457 C 1307 383 1281 316 1249 257 C 1216 198 1176 148 1129 106 C 1082 64 1028 32 968 9 C 908 -14 841 -27 768 -29 L 743 -111 C 757 -101 774 -94 792 -88 C 810 -82 830 -80 854 -80 C 873 -80 891 -83 909 -89 C 927 -95 942 -103 956 -115 C 969 -126 979 -140 987 -158 C 995 -176 999 -196 999 -219 C 999 -251 992 -278 979 -301 C 966 -323 948 -342 926 -356 C 903 -370 877 -381 847 -388 C 817 -395 786 -399 752 -399 Z" unicode="Ç" />
-<glyph horiz-adv-x="1237" d="M 195 1516 L 1100 1516 L 1100 1380 L 340 1380 L 340 866 L 907 866 L 907 735 L 340 735 L 340 133 L 1143 133 L 1143 0 L 195 0 L 195 1516 Z M 356 1929 L 542 1929 L 737 1610 L 645 1610 L 356 1929 Z" unicode="È" />
-<glyph horiz-adv-x="1237" d="M 195 1516 L 1100 1516 L 1100 1380 L 340 1380 L 340 866 L 907 866 L 907 735 L 340 735 L 340 133 L 1143 133 L 1143 0 L 195 0 L 195 1516 Z M 752 1929 L 938 1929 L 649 1610 L 557 1610 L 752 1929 Z" unicode="É" />
-<glyph horiz-adv-x="1237" d="M 195 1516 L 1100 1516 L 1100 1380 L 340 1380 L 340 866 L 907 866 L 907 735 L 340 735 L 340 133 L 1143 133 L 1143 0 L 195 0 L 195 1516 Z M 592 1929 L 698 1929 L 963 1604 L 873 1604 L 643 1805 L 414 1604 L 328 1604 L 592 1929 Z" unicode="Ê" />
-<glyph horiz-adv-x="1237" d="M 195 1516 L 1100 1516 L 1100 1380 L 340 1380 L 340 866 L 907 866 L 907 735 L 340 735 L 340 133 L 1143 133 L 1143 0 L 195 0 L 195 1516 Z M 755 1778 L 913 1778 L 913 1610 L 755 1610 L 755 1778 Z M 395 1778 L 553 1778 L 553 1610 L 395 1610 L 395 1778 Z" unicode="Ë" />
-<glyph horiz-adv-x="575" d="M 215 1516 L 360 1516 L 360 0 L 215 0 L 215 1516 Z M -30 1929 L 156 1929 L 351 1610 L 259 1610 L -30 1929 Z" unicode="Ì" />
-<glyph horiz-adv-x="575" d="M 215 1516 L 360 1516 L 360 0 L 215 0 L 215 1516 Z M 440 1929 L 626 1929 L 337 1610 L 245 1610 L 440 1929 Z" unicode="Í" />
-<glyph horiz-adv-x="575" d="M 215 1516 L 360 1516 L 360 0 L 215 0 L 215 1516 Z M 234 1929 L 340 1929 L 605 1604 L 515 1604 L 285 1805 L 56 1604 L -30 1604 L 234 1929 Z" unicode="Î" />
-<glyph horiz-adv-x="575" d="M 215 1516 L 360 1516 L 360 0 L 215 0 L 215 1516 Z M 388 1778 L 546 1778 L 546 1610 L 388 1610 L 388 1778 Z M 28 1778 L 186 1778 L 186 1610 L 28 1610 L 28 1778 Z" unicode="Ï" />
-<glyph horiz-adv-x="1452" d="M 195 737 L 25 737 L 25 860 L 195 860 L 195 1516 L 578 1516 C 824 1516 1011 1452 1139 1325 C 1267 1197 1331 1008 1331 758 C 1331 633 1314 523 1282 429 C 1249 335 1201 256 1137 192 C 1073 128 995 80 901 48 C 807 16 700 0 578 0 L 195 0 L 195 737 Z M 600 131 C 694 131 777 143 850 167 C 922 191 983 229 1033 281 C 1083 332 1121 397 1147 477 C 1173 556 1186 650 1186 760 C 1186 866 1173 959 1147 1037 C 1121 1115 1082 1179 1032 1230 C 982 1281 920 1319 847 1343 C 773 1367 690 1380 596 1380 L 340 1380 L 340 860 L 668 860 L 668 737 L 340 737 L 340 131 L 600 131 Z" unicode="Ð" />
-<glyph horiz-adv-x="1522" d="M 195 1516 L 350 1516 L 1186 266 L 1190 266 L 1190 1516 L 1327 1516 L 1327 0 L 1198 0 L 336 1288 L 332 1288 L 332 0 L 195 0 L 195 1516 Z M 932 1604 C 903 1604 875 1610 848 1622 C 820 1634 794 1647 769 1661 C 743 1675 719 1689 696 1701 C 673 1713 651 1719 631 1719 C 599 1719 577 1710 565 1693 C 553 1676 547 1648 547 1608 L 457 1608 C 457 1686 471 1743 500 1779 C 529 1815 572 1833 629 1833 C 657 1833 685 1827 712 1815 C 739 1803 765 1790 791 1776 C 817 1762 841 1749 865 1737 C 888 1725 910 1719 932 1719 C 962 1719 983 1727 996 1744 C 1009 1760 1016 1789 1016 1829 L 1106 1829 C 1106 1752 1091 1695 1061 1659 C 1031 1622 988 1604 932 1604 Z" unicode="Ñ" />
-<glyph horiz-adv-x="1520" d="M 760 -29 C 667 -29 581 -10 503 27 C 425 64 357 117 301 186 C 244 254 200 337 168 434 C 136 531 121 639 121 758 C 121 876 136 984 168 1081 C 200 1177 244 1260 301 1329 C 357 1397 425 1450 503 1488 C 581 1525 667 1544 760 1544 C 852 1544 938 1525 1016 1488 C 1094 1450 1161 1397 1218 1329 C 1274 1260 1319 1177 1351 1081 C 1383 984 1399 876 1399 758 C 1399 639 1383 531 1351 434 C 1319 337 1274 254 1218 186 C 1161 117 1094 64 1016 27 C 938 -10 852 -29 760 -29 Z M 760 102 C 832 102 898 116 958 146 C 1018 176 1070 219 1114 275 C 1158 331 1192 400 1216 481 C 1240 562 1253 654 1253 758 C 1253 860 1240 952 1216 1033 C 1192 1114 1158 1183 1114 1239 C 1070 1295 1018 1337 958 1367 C 898 1396 832 1411 760 1411 C 688 1411 621 1396 561 1367 C 501 1337 449 1295 405 1239 C 361 1183 327 1114 303 1033 C 278 952 266 860 266 758 C 266 654 278 562 303 481 C 327 400 361 331 405 275 C 449 219 501 176 561 146 C 621 116 688 102 760 102 Z M 442 1929 L 628 1929 L 823 1610 L 731 1610 L 442 1929 Z" unicode="Ò" />
-<glyph horiz-adv-x="1520" d="M 760 -29 C 667 -29 581 -10 503 27 C 425 64 357 117 301 186 C 244 254 200 337 168 434 C 136 531 121 639 121 758 C 121 876 136 984 168 1081 C 200 1177 244 1260 301 1329 C 357 1397 425 1450 503 1488 C 581 1525 667 1544 760 1544 C 852 1544 938 1525 1016 1488 C 1094 1450 1161 1397 1218 1329 C 1274 1260 1319 1177 1351 1081 C 1383 984 1399 876 1399 758 C 1399 639 1383 531 1351 434 C 1319 337 1274 254 1218 186 C 1161 117 1094 64 1016 27 C 938 -10 852 -29 760 -29 Z M 760 102 C 832 102 898 116 958 146 C 1018 176 1070 219 1114 275 C 1158 331 1192 400 1216 481 C 1240 562 1253 654 1253 758 C 1253 860 1240 952 1216 1033 C 1192 1114 1158 1183 1114 1239 C 1070 1295 1018 1337 958 1367 C 898 1396 832 1411 760 1411 C 688 1411 621 1396 561 1367 C 501 1337 449 1295 405 1239 C 361 1183 327 1114 303 1033 C 278 952 266 860 266 758 C 266 654 278 562 303 481 C 327 400 361 331 405 275 C 449 219 501 176 561 146 C 621 116 688 102 760 102 Z M 881 1929 L 1067 1929 L 778 1610 L 686 1610 L 881 1929 Z" unicode="Ó" />
-<glyph horiz-adv-x="1520" d="M 760 -29 C 667 -29 581 -10 503 27 C 425 64 357 117 301 186 C 244 254 200 337 168 434 C 136 531 121 639 121 758 C 121 876 136 984 168 1081 C 200 1177 244 1260 301 1329 C 357 1397 425 1450 503 1488 C 581 1525 667 1544 760 1544 C 852 1544 938 1525 1016 1488 C 1094 1450 1161 1397 1218 1329 C 1274 1260 1319 1177 1351 1081 C 1383 984 1399 876 1399 758 C 1399 639 1383 531 1351 434 C 1319 337 1274 254 1218 186 C 1161 117 1094 64 1016 27 C 938 -10 852 -29 760 -29 Z M 760 102 C 832 102 898 116 958 146 C 1018 176 1070 219 1114 275 C 1158 331 1192 400 1216 481 C 1240 562 1253 654 1253 758 C 1253 860 1240 952 1216 1033 C 1192 1114 1158 1183 1114 1239 C 1070 1295 1018 1337 958 1367 C 898 1396 832 1411 760 1411 C 688 1411 621 1396 561 1367 C 501 1337 449 1295 405 1239 C 361 1183 327 1114 303 1033 C 278 952 266 860 266 758 C 266 654 278 562 303 481 C 327 400 361 331 405 275 C 449 219 501 176 561 146 C 621 116 688 102 760 102 Z M 705 1929 L 811 1929 L 1076 1604 L 986 1604 L 756 1805 L 527 1604 L 441 1604 L 705 1929 Z" unicode="Ô" />
-<glyph horiz-adv-x="1520" d="M 760 -29 C 667 -29 581 -10 503 27 C 425 64 357 117 301 186 C 244 254 200 337 168 434 C 136 531 121 639 121 758 C 121 876 136 984 168 1081 C 200 1177 244 1260 301 1329 C 357 1397 425 1450 503 1488 C 581 1525 667 1544 760 1544 C 852 1544 938 1525 1016 1488 C 1094 1450 1161 1397 1218 1329 C 1274 1260 1319 1177 1351 1081 C 1383 984 1399 876 1399 758 C 1399 639 1383 531 1351 434 C 1319 337 1274 254 1218 186 C 1161 117 1094 64 1016 27 C 938 -10 852 -29 760 -29 Z M 760 102 C 832 102 898 116 958 146 C 1018 176 1070 219 1114 275 C 1158 331 1192 400 1216 481 C 1240 562 1253 654 1253 758 C 1253 860 1240 952 1216 1033 C 1192 1114 1158 1183 1114 1239 C 1070 1295 1018 1337 958 1367 C 898 1396 832 1411 760 1411 C 688 1411 621 1396 561 1367 C 501 1337 449 1295 405 1239 C 361 1183 327 1114 303 1033 C 278 952 266 860 266 758 C 266 654 278 562 303 481 C 327 400 361 331 405 275 C 449 219 501 176 561 146 C 621 116 688 102 760 102 Z M 908 1604 C 879 1604 851 1610 824 1622 C 796 1634 770 1647 745 1661 C 719 1675 695 1689 672 1701 C 649 1713 627 1719 607 1719 C 575 1719 553 1710 541 1693 C 529 1676 523 1648 523 1608 L 433 1608 C 433 1686 447 1743 476 1779 C 505 1815 548 1833 605 1833 C 633 1833 661 1827 688 1815 C 715 1803 741 1790 767 1776 C 793 1762 817 1749 841 1737 C 864 1725 886 1719 908 1719 C 938 1719 959 1727 972 1744 C 985 1760 992 1789 992 1829 L 1082 1829 C 1082 1752 1067 1695 1037 1659 C 1007 1622 964 1604 908 1604 Z" unicode="Õ" />
-<glyph horiz-adv-x="1520" d="M 760 -29 C 667 -29 581 -10 503 27 C 425 64 357 117 301 186 C 244 254 200 337 168 434 C 136 531 121 639 121 758 C 121 876 136 984 168 1081 C 200 1177 244 1260 301 1329 C 357 1397 425 1450 503 1488 C 581 1525 667 1544 760 1544 C 852 1544 938 1525 1016 1488 C 1094 1450 1161 1397 1218 1329 C 1274 1260 1319 1177 1351 1081 C 1383 984 1399 876 1399 758 C 1399 639 1383 531 1351 434 C 1319 337 1274 254 1218 186 C 1161 117 1094 64 1016 27 C 938 -10 852 -29 760 -29 Z M 760 102 C 832 102 898 116 958 146 C 1018 176 1070 219 1114 275 C 1158 331 1192 400 1216 481 C 1240 562 1253 654 1253 758 C 1253 860 1240 952 1216 1033 C 1192 1114 1158 1183 1114 1239 C 1070 1295 1018 1337 958 1367 C 898 1396 832 1411 760 1411 C 688 1411 621 1396 561 1367 C 501 1337 449 1295 405 1239 C 361 1183 327 1114 303 1033 C 278 952 266 860 266 758 C 266 654 278 562 303 481 C 327 400 361 331 405 275 C 449 219 501 176 561 146 C 621 116 688 102 760 102 Z M 858 1778 L 1016 1778 L 1016 1610 L 858 1610 L 858 1778 Z M 498 1778 L 656 1778 L 656 1610 L 498 1610 L 498 1778 Z" unicode="Ö" />
-<glyph horiz-adv-x="1303" d="M 213 297 L 565 647 L 213 1001 L 297 1085 L 649 731 L 1001 1085 L 1087 1001 L 733 649 L 1087 297 L 1004 213 L 649 565 L 297 211 L 213 297 Z" unicode="×" />
-<glyph horiz-adv-x="1520" d="M 1241 1300 C 1291 1232 1329 1152 1357 1061 C 1385 970 1399 869 1399 758 C 1399 639 1383 531 1351 434 C 1319 337 1274 254 1218 186 C 1161 117 1094 64 1016 27 C 938 -10 852 -29 760 -29 C 679 -29 604 -14 535 14 C 466 42 404 83 350 135 L 217 -37 L 131 25 L 276 215 C 226 283 188 362 161 454 C 134 545 121 646 121 758 C 121 876 136 984 168 1081 C 200 1177 244 1260 301 1329 C 357 1397 425 1450 503 1488 C 581 1525 667 1544 760 1544 C 840 1544 915 1529 984 1501 C 1053 1473 1115 1432 1169 1380 L 1303 1552 L 1389 1491 L 1241 1300 Z M 1090 1270 C 1045 1317 995 1353 940 1378 C 884 1402 824 1415 760 1415 C 688 1415 621 1400 561 1370 C 500 1340 448 1297 404 1241 C 360 1185 325 1116 301 1035 C 276 953 264 861 264 758 C 264 668 273 587 292 515 C 310 443 337 380 371 326 L 1090 1270 Z M 430 246 C 472 198 521 162 577 137 C 633 112 694 100 760 100 C 832 100 898 114 958 144 C 1018 174 1070 217 1114 273 C 1158 329 1192 398 1216 480 C 1240 562 1253 654 1253 758 C 1253 846 1244 926 1227 998 C 1209 1070 1184 1133 1151 1188 L 430 246 Z" unicode="Ø" />
-<glyph horiz-adv-x="1464" d="M 731 -27 C 637 -27 556 -13 487 15 C 418 43 361 81 315 129 C 269 177 235 234 213 300 C 191 366 180 436 180 512 L 180 1516 L 326 1516 L 326 537 C 326 475 334 417 350 364 C 366 311 390 265 424 227 C 457 189 499 159 550 137 C 601 115 662 104 733 104 C 803 104 863 114 915 135 C 966 156 1008 186 1041 224 C 1074 262 1099 307 1115 359 C 1131 411 1139 469 1139 532 L 1139 1516 L 1284 1516 L 1284 516 C 1284 440 1272 370 1249 304 C 1226 238 1192 180 1146 131 C 1100 82 1042 43 973 15 C 903 -12 823 -27 731 -27 Z M 428 1929 L 614 1929 L 809 1610 L 717 1610 L 428 1929 Z" unicode="Ù" />
-<glyph horiz-adv-x="1464" d="M 731 -27 C 637 -27 556 -13 487 15 C 418 43 361 81 315 129 C 269 177 235 234 213 300 C 191 366 180 436 180 512 L 180 1516 L 326 1516 L 326 537 C 326 475 334 417 350 364 C 366 311 390 265 424 227 C 457 189 499 159 550 137 C 601 115 662 104 733 104 C 803 104 863 114 915 135 C 966 156 1008 186 1041 224 C 1074 262 1099 307 1115 359 C 1131 411 1139 469 1139 532 L 1139 1516 L 1284 1516 L 1284 516 C 1284 440 1272 370 1249 304 C 1226 238 1192 180 1146 131 C 1100 82 1042 43 973 15 C 903 -12 823 -27 731 -27 Z M 834 1929 L 1020 1929 L 731 1610 L 639 1610 L 834 1929 Z" unicode="Ú" />
-<glyph horiz-adv-x="1464" d="M 731 -27 C 637 -27 556 -13 487 15 C 418 43 361 81 315 129 C 269 177 235 234 213 300 C 191 366 180 436 180 512 L 180 1516 L 326 1516 L 326 537 C 326 475 334 417 350 364 C 366 311 390 265 424 227 C 457 189 499 159 550 137 C 601 115 662 104 733 104 C 803 104 863 114 915 135 C 966 156 1008 186 1041 224 C 1074 262 1099 307 1115 359 C 1131 411 1139 469 1139 532 L 1139 1516 L 1284 1516 L 1284 516 C 1284 440 1272 370 1249 304 C 1226 238 1192 180 1146 131 C 1100 82 1042 43 973 15 C 903 -12 823 -27 731 -27 Z M 678 1929 L 784 1929 L 1049 1604 L 959 1604 L 729 1805 L 500 1604 L 414 1604 L 678 1929 Z" unicode="Û" />
-<glyph horiz-adv-x="1464" d="M 731 -27 C 637 -27 556 -13 487 15 C 418 43 361 81 315 129 C 269 177 235 234 213 300 C 191 366 180 436 180 512 L 180 1516 L 326 1516 L 326 537 C 326 475 334 417 350 364 C 366 311 390 265 424 227 C 457 189 499 159 550 137 C 601 115 662 104 733 104 C 803 104 863 114 915 135 C 966 156 1008 186 1041 224 C 1074 262 1099 307 1115 359 C 1131 411 1139 469 1139 532 L 1139 1516 L 1284 1516 L 1284 516 C 1284 440 1272 370 1249 304 C 1226 238 1192 180 1146 131 C 1100 82 1042 43 973 15 C 903 -12 823 -27 731 -27 Z M 831 1778 L 989 1778 L 989 1610 L 831 1610 L 831 1778 Z M 471 1778 L 629 1778 L 629 1610 L 471 1610 L 471 1778 Z" unicode="Ü" />
-<glyph horiz-adv-x="1266" d="M 559 668 L 51 1516 L 209 1516 L 635 793 L 1059 1516 L 1214 1516 L 705 668 L 705 0 L 559 0 L 559 668 Z M 662 1947 L 848 1947 L 559 1628 L 467 1628 L 662 1947 Z" unicode="Ý" />
-<glyph horiz-adv-x="1325" d="M 195 1516 L 340 1516 L 340 1229 L 696 1229 C 778 1228 852 1219 918 1202 C 984 1185 1040 1159 1086 1125 C 1132 1090 1167 1047 1192 995 C 1216 943 1229 883 1229 813 C 1229 737 1215 671 1188 617 C 1161 562 1123 517 1075 482 C 1026 447 968 421 902 405 C 835 389 762 381 682 381 L 340 381 L 340 0 L 195 0 L 195 1516 Z M 690 512 C 752 512 808 517 857 527 C 905 537 946 554 980 578 C 1013 602 1038 632 1055 670 C 1072 708 1081 754 1081 809 C 1081 860 1072 904 1055 940 C 1038 976 1013 1005 980 1028 C 947 1051 906 1068 857 1078 C 808 1088 752 1094 688 1094 L 340 1094 L 340 512 L 690 512 Z" unicode="Þ" />
-<glyph horiz-adv-x="1255" d="M 756 -23 C 684 -23 622 -11 571 11 C 519 34 478 62 446 96 L 530 184 C 544 170 560 157 576 146 C 592 134 609 125 627 117 C 645 109 664 104 686 100 C 708 96 732 94 758 94 C 796 94 831 101 863 116 C 895 131 922 153 945 181 C 968 209 986 243 999 283 C 1011 323 1018 369 1018 420 C 1018 484 1007 539 985 584 C 963 629 932 666 891 695 C 849 724 799 746 739 760 C 679 774 611 782 535 786 L 535 895 C 595 895 648 903 692 917 C 736 931 772 949 800 973 C 828 997 849 1024 863 1056 C 876 1088 883 1122 883 1159 C 883 1197 876 1230 863 1260 C 849 1289 830 1314 806 1334 C 781 1354 751 1369 716 1379 C 680 1389 641 1395 598 1395 C 503 1395 430 1367 380 1312 C 330 1256 305 1174 305 1065 L 305 0 L 164 0 L 164 1057 C 164 1130 174 1195 194 1252 C 214 1309 243 1357 281 1396 C 319 1435 365 1465 419 1485 C 473 1505 534 1516 602 1516 C 664 1516 721 1508 772 1492 C 823 1476 867 1454 903 1424 C 939 1394 968 1358 988 1314 C 1008 1270 1018 1221 1018 1165 C 1018 1088 995 1022 949 967 C 903 911 839 872 756 850 C 810 842 861 828 909 809 C 957 789 999 763 1035 729 C 1071 695 1099 653 1121 603 C 1142 553 1153 494 1153 426 C 1153 358 1143 296 1125 241 C 1107 185 1080 138 1046 99 C 1012 60 970 30 921 9 C 872 -12 817 -23 756 -23 Z" unicode="ß" />
-<glyph horiz-adv-x="1120" d="M 403 -18 C 306 -18 231 5 178 53 C 124 101 98 167 98 252 C 98 305 110 355 135 401 C 159 447 200 489 258 527 C 315 565 390 598 483 628 C 576 658 691 683 829 705 L 829 760 C 829 834 810 890 773 926 C 735 962 681 981 610 981 C 567 981 527 976 491 968 C 454 959 419 947 387 932 C 354 917 323 899 293 879 C 263 858 235 835 207 811 L 131 899 C 163 929 196 956 232 981 C 267 1005 305 1026 345 1044 C 385 1062 428 1075 474 1085 C 520 1095 569 1100 623 1100 C 683 1100 734 1092 778 1076 C 822 1060 858 1038 886 1008 C 914 978 935 942 949 900 C 962 858 969 810 969 756 L 969 266 C 969 200 971 146 975 104 C 979 62 987 28 999 0 L 854 0 C 846 22 840 46 836 70 C 831 94 829 122 829 154 C 766 97 700 54 630 25 C 560 -3 484 -18 403 -18 Z M 434 98 C 510 98 581 113 647 143 C 713 173 773 214 829 268 L 829 604 C 713 584 618 563 542 539 C 466 515 405 489 360 461 C 315 433 283 403 265 371 C 247 339 238 305 238 270 C 238 213 255 170 290 141 C 325 112 373 98 434 98 Z M 282 1513 L 468 1513 L 663 1194 L 571 1194 L 282 1513 Z" unicode="à" />
-<glyph horiz-adv-x="1120" d="M 403 -18 C 306 -18 231 5 178 53 C 124 101 98 167 98 252 C 98 305 110 355 135 401 C 159 447 200 489 258 527 C 315 565 390 598 483 628 C 576 658 691 683 829 705 L 829 760 C 829 834 810 890 773 926 C 735 962 681 981 610 981 C 567 981 527 976 491 968 C 454 959 419 947 387 932 C 354 917 323 899 293 879 C 263 858 235 835 207 811 L 131 899 C 163 929 196 956 232 981 C 267 1005 305 1026 345 1044 C 385 1062 428 1075 474 1085 C 520 1095 569 1100 623 1100 C 683 1100 734 1092 778 1076 C 822 1060 858 1038 886 1008 C 914 978 935 942 949 900 C 962 858 969 810 969 756 L 969 266 C 969 200 971 146 975 104 C 979 62 987 28 999 0 L 854 0 C 846 22 840 46 836 70 C 831 94 829 122 829 154 C 766 97 700 54 630 25 C 560 -3 484 -18 403 -18 Z M 434 98 C 510 98 581 113 647 143 C 713 173 773 214 829 268 L 829 604 C 713 584 618 563 542 539 C 466 515 405 489 360 461 C 315 433 283 403 265 371 C 247 339 238 305 238 270 C 238 213 255 170 290 141 C 325 112 373 98 434 98 Z M 693 1513 L 879 1513 L 590 1194 L 498 1194 L 693 1513 Z" unicode="á" />
-<glyph horiz-adv-x="1120" d="M 403 -18 C 306 -18 231 5 178 53 C 124 101 98 167 98 252 C 98 305 110 355 135 401 C 159 447 200 489 258 527 C 315 565 390 598 483 628 C 576 658 691 683 829 705 L 829 760 C 829 834 810 890 773 926 C 735 962 681 981 610 981 C 567 981 527 976 491 968 C 454 959 419 947 387 932 C 354 917 323 899 293 879 C 263 858 235 835 207 811 L 131 899 C 163 929 196 956 232 981 C 267 1005 305 1026 345 1044 C 385 1062 428 1075 474 1085 C 520 1095 569 1100 623 1100 C 683 1100 734 1092 778 1076 C 822 1060 858 1038 886 1008 C 914 978 935 942 949 900 C 962 858 969 810 969 756 L 969 266 C 969 200 971 146 975 104 C 979 62 987 28 999 0 L 854 0 C 846 22 840 46 836 70 C 831 94 829 122 829 154 C 766 97 700 54 630 25 C 560 -3 484 -18 403 -18 Z M 434 98 C 510 98 581 113 647 143 C 713 173 773 214 829 268 L 829 604 C 713 584 618 563 542 539 C 466 515 405 489 360 461 C 315 433 283 403 265 371 C 247 339 238 305 238 270 C 238 213 255 170 290 141 C 325 112 373 98 434 98 Z M 522 1513 L 628 1513 L 893 1188 L 803 1188 L 573 1389 L 344 1188 L 258 1188 L 522 1513 Z" unicode="â" />
-<glyph horiz-adv-x="1120" d="M 403 -18 C 306 -18 231 5 178 53 C 124 101 98 167 98 252 C 98 305 110 355 135 401 C 159 447 200 489 258 527 C 315 565 390 598 483 628 C 576 658 691 683 829 705 L 829 760 C 829 834 810 890 773 926 C 735 962 681 981 610 981 C 567 981 527 976 491 968 C 454 959 419 947 387 932 C 354 917 323 899 293 879 C 263 858 235 835 207 811 L 131 899 C 163 929 196 956 232 981 C 267 1005 305 1026 345 1044 C 385 1062 428 1075 474 1085 C 520 1095 569 1100 623 1100 C 683 1100 734 1092 778 1076 C 822 1060 858 1038 886 1008 C 914 978 935 942 949 900 C 962 858 969 810 969 756 L 969 266 C 969 200 971 146 975 104 C 979 62 987 28 999 0 L 854 0 C 846 22 840 46 836 70 C 831 94 829 122 829 154 C 766 97 700 54 630 25 C 560 -3 484 -18 403 -18 Z M 434 98 C 510 98 581 113 647 143 C 713 173 773 214 829 268 L 829 604 C 713 584 618 563 542 539 C 466 515 405 489 360 461 C 315 433 283 403 265 371 C 247 339 238 305 238 270 C 238 213 255 170 290 141 C 325 112 373 98 434 98 Z M 721 1188 C 692 1188 664 1194 637 1206 C 609 1218 583 1231 558 1245 C 532 1259 508 1273 485 1285 C 462 1297 440 1303 420 1303 C 388 1303 366 1294 354 1277 C 342 1260 336 1232 336 1192 L 246 1192 C 246 1270 260 1327 289 1363 C 318 1399 361 1417 418 1417 C 446 1417 474 1411 501 1399 C 528 1387 554 1374 580 1360 C 606 1346 630 1333 654 1321 C 677 1309 699 1303 721 1303 C 751 1303 772 1311 785 1328 C 798 1344 805 1373 805 1413 L 895 1413 C 895 1336 880 1279 850 1243 C 820 1206 777 1188 721 1188 Z" unicode="ã" />
-<glyph horiz-adv-x="1120" d="M 403 -18 C 306 -18 231 5 178 53 C 124 101 98 167 98 252 C 98 305 110 355 135 401 C 159 447 200 489 258 527 C 315 565 390 598 483 628 C 576 658 691 683 829 705 L 829 760 C 829 834 810 890 773 926 C 735 962 681 981 610 981 C 567 981 527 976 491 968 C 454 959 419 947 387 932 C 354 917 323 899 293 879 C 263 858 235 835 207 811 L 131 899 C 163 929 196 956 232 981 C 267 1005 305 1026 345 1044 C 385 1062 428 1075 474 1085 C 520 1095 569 1100 623 1100 C 683 1100 734 1092 778 1076 C 822 1060 858 1038 886 1008 C 914 978 935 942 949 900 C 962 858 969 810 969 756 L 969 266 C 969 200 971 146 975 104 C 979 62 987 28 999 0 L 854 0 C 846 22 840 46 836 70 C 831 94 829 122 829 154 C 766 97 700 54 630 25 C 560 -3 484 -18 403 -18 Z M 434 98 C 510 98 581 113 647 143 C 713 173 773 214 829 268 L 829 604 C 713 584 618 563 542 539 C 466 515 405 489 360 461 C 315 433 283 403 265 371 C 247 339 238 305 238 270 C 238 213 255 170 290 141 C 325 112 373 98 434 98 Z M 686 1362 L 844 1362 L 844 1194 L 686 1194 L 686 1362 Z M 326 1362 L 484 1362 L 484 1194 L 326 1194 L 326 1362 Z" unicode="ä" />
-<glyph horiz-adv-x="1120" d="M 403 -18 C 306 -18 231 5 178 53 C 124 101 98 167 98 252 C 98 305 110 355 135 401 C 159 447 200 489 258 527 C 315 565 390 598 483 628 C 576 658 691 683 829 705 L 829 760 C 829 834 810 890 773 926 C 735 962 681 981 610 981 C 567 981 527 976 491 968 C 454 959 419 947 387 932 C 354 917 323 899 293 879 C 263 858 235 835 207 811 L 131 899 C 163 929 196 956 232 981 C 267 1005 305 1026 345 1044 C 385 1062 428 1075 474 1085 C 520 1095 569 1100 623 1100 C 683 1100 734 1092 778 1076 C 822 1060 858 1038 886 1008 C 914 978 935 942 949 900 C 962 858 969 810 969 756 L 969 266 C 969 200 971 146 975 104 C 979 62 987 28 999 0 L 854 0 C 846 22 840 46 836 70 C 831 94 829 122 829 154 C 766 97 700 54 630 25 C 560 -3 484 -18 403 -18 Z M 434 98 C 510 98 581 113 647 143 C 713 173 773 214 829 268 L 829 604 C 713 584 618 563 542 539 C 466 515 405 489 360 461 C 315 433 283 403 265 371 C 247 339 238 305 238 270 C 238 213 255 170 290 141 C 325 112 373 98 434 98 Z M 588 1180 C 560 1180 535 1184 513 1194 C 490 1203 470 1216 454 1233 C 437 1249 424 1269 415 1292 C 406 1314 402 1339 402 1366 C 402 1392 406 1417 415 1440 C 424 1462 437 1482 454 1499 C 470 1515 490 1528 513 1538 C 535 1547 560 1552 588 1552 C 615 1552 640 1547 663 1538 C 685 1528 705 1515 722 1499 C 738 1482 751 1462 760 1440 C 769 1417 774 1392 774 1366 C 774 1339 769 1314 760 1292 C 751 1269 738 1249 722 1233 C 705 1216 685 1203 663 1194 C 640 1184 615 1180 588 1180 Z M 588 1251 C 620 1251 646 1261 666 1283 C 686 1304 697 1332 697 1366 C 697 1399 686 1426 666 1448 C 646 1470 620 1481 588 1481 C 556 1481 529 1470 509 1448 C 489 1426 479 1399 479 1366 C 479 1332 489 1304 509 1283 C 529 1261 556 1251 588 1251 Z" unicode="å" />
-<glyph horiz-adv-x="1831" d="M 403 -23 C 355 -23 312 -16 274 -4 C 236 7 204 25 178 49 C 152 72 132 100 118 134 C 104 167 98 205 98 248 C 98 301 110 351 134 397 C 158 443 199 486 255 525 C 311 563 386 598 479 628 C 572 658 687 683 825 705 L 825 760 C 825 834 806 890 770 926 C 734 962 680 981 610 981 C 566 981 526 976 490 968 C 453 959 418 947 386 932 C 353 917 322 899 293 879 C 263 858 235 835 207 811 L 131 899 C 163 929 196 956 232 981 C 267 1005 305 1026 345 1044 C 385 1062 427 1075 473 1085 C 519 1095 568 1100 621 1100 C 668 1100 709 1094 745 1084 C 780 1073 810 1058 835 1038 C 859 1018 879 995 894 968 C 909 941 920 911 928 879 C 944 911 965 940 990 967 C 1014 994 1042 1017 1073 1037 C 1103 1057 1137 1072 1173 1083 C 1209 1094 1248 1100 1288 1100 C 1350 1100 1409 1088 1463 1064 C 1517 1040 1563 1004 1603 957 C 1642 910 1673 852 1695 782 C 1717 712 1729 631 1729 539 L 1729 516 L 958 516 C 958 448 968 388 986 336 C 1004 284 1028 240 1058 204 C 1088 168 1124 141 1165 123 C 1206 105 1250 96 1298 96 C 1338 96 1374 100 1406 109 C 1438 117 1467 130 1493 147 C 1519 163 1544 184 1566 208 C 1588 232 1609 261 1630 293 L 1720 223 C 1696 185 1669 150 1641 120 C 1612 90 1580 64 1545 43 C 1509 21 1470 5 1428 -6 C 1386 -17 1339 -23 1288 -23 C 1248 -23 1209 -18 1171 -8 C 1133 1 1097 15 1063 35 C 1029 55 998 79 970 108 C 941 137 916 171 895 211 C 859 175 823 142 786 114 C 749 85 710 60 670 40 C 629 20 587 4 543 -6 C 499 -17 452 -23 403 -23 Z M 434 94 C 511 94 584 111 654 145 C 723 179 791 231 858 301 C 846 333 838 367 832 405 C 826 442 823 482 823 524 C 823 539 823 554 824 568 C 824 582 825 594 825 604 C 709 584 614 562 539 538 C 463 514 403 487 359 459 C 314 430 283 399 265 367 C 247 334 238 300 238 264 C 238 208 255 166 289 137 C 323 108 372 94 434 94 Z M 1589 625 C 1585 675 1577 722 1563 766 C 1549 810 1529 847 1504 879 C 1479 911 1448 936 1412 954 C 1376 972 1334 981 1286 981 C 1248 981 1210 973 1174 959 C 1138 945 1105 923 1076 894 C 1046 864 1021 827 1001 783 C 981 738 967 685 961 625 L 1589 625 Z" unicode="æ" />
-<glyph horiz-adv-x="1092" d="M 567 -399 C 521 -399 476 -392 432 -379 C 388 -365 349 -347 313 -324 L 350 -264 C 412 -305 479 -326 551 -326 C 604 -326 642 -317 666 -301 C 690 -284 702 -260 702 -229 C 702 -180 674 -156 618 -156 C 595 -156 575 -160 558 -168 C 540 -176 524 -185 510 -197 L 453 -170 L 500 -16 C 445 -8 393 10 345 38 C 297 66 255 104 219 152 C 183 199 154 255 133 320 C 112 384 102 457 102 539 C 102 635 115 719 143 790 C 171 860 207 919 252 965 C 297 1011 348 1045 406 1067 C 464 1089 523 1100 584 1100 C 642 1100 692 1092 736 1076 C 780 1060 818 1038 851 1011 C 884 984 912 953 936 917 C 960 881 980 844 997 805 L 877 752 C 861 790 844 823 826 852 C 807 881 786 905 762 925 C 738 945 711 960 681 970 C 651 980 618 985 580 985 C 540 985 500 977 460 961 C 420 945 384 919 352 884 C 320 848 294 802 274 746 C 254 690 244 621 244 541 C 244 470 252 407 269 351 C 286 295 309 247 339 209 C 368 170 403 140 443 120 C 483 100 527 90 575 90 C 612 90 646 94 676 104 C 706 114 733 129 758 149 C 782 169 805 193 825 223 C 845 253 865 288 885 328 L 999 279 C 977 234 954 193 928 157 C 902 121 873 90 840 64 C 806 38 769 17 727 3 C 685 -11 638 -19 586 -20 L 559 -111 C 573 -101 590 -94 608 -88 C 626 -82 646 -80 670 -80 C 689 -80 707 -83 725 -89 C 743 -95 758 -103 772 -115 C 785 -126 795 -140 803 -158 C 811 -176 815 -196 815 -219 C 815 -251 808 -278 795 -301 C 781 -323 763 -342 741 -356 C 719 -370 693 -381 663 -388 C 633 -395 601 -399 567 -399 Z" unicode="ç" />
-<glyph horiz-adv-x="1118" d="M 575 -23 C 512 -23 452 -11 395 13 C 338 37 288 72 244 120 C 200 168 166 227 140 297 C 114 367 102 449 102 541 C 102 637 116 720 144 790 C 172 860 208 918 253 964 C 298 1010 349 1044 405 1066 C 461 1088 518 1100 575 1100 C 637 1100 696 1088 750 1064 C 804 1040 850 1004 890 957 C 929 910 960 852 982 782 C 1004 712 1016 631 1016 539 L 1016 512 L 244 512 C 244 445 254 386 272 334 C 290 282 314 239 345 204 C 375 168 411 141 452 123 C 493 105 537 96 584 96 C 624 96 660 100 692 109 C 724 117 754 130 781 147 C 808 163 833 184 855 208 C 877 232 899 261 920 293 L 1008 223 C 984 185 957 150 929 120 C 900 90 868 64 833 43 C 797 21 758 5 716 -6 C 673 -17 626 -23 575 -23 Z M 879 625 C 875 675 866 722 852 766 C 838 810 818 847 793 879 C 767 911 736 936 700 954 C 663 972 621 981 573 981 C 534 981 496 973 460 959 C 423 945 390 923 361 894 C 331 864 306 827 286 783 C 266 738 252 685 246 625 L 879 625 Z M 253 1513 L 439 1513 L 634 1194 L 542 1194 L 253 1513 Z" unicode="è" />
-<glyph horiz-adv-x="1118" d="M 575 -23 C 512 -23 452 -11 395 13 C 338 37 288 72 244 120 C 200 168 166 227 140 297 C 114 367 102 449 102 541 C 102 637 116 720 144 790 C 172 860 208 918 253 964 C 298 1010 349 1044 405 1066 C 461 1088 518 1100 575 1100 C 637 1100 696 1088 750 1064 C 804 1040 850 1004 890 957 C 929 910 960 852 982 782 C 1004 712 1016 631 1016 539 L 1016 512 L 244 512 C 244 445 254 386 272 334 C 290 282 314 239 345 204 C 375 168 411 141 452 123 C 493 105 537 96 584 96 C 624 96 660 100 692 109 C 724 117 754 130 781 147 C 808 163 833 184 855 208 C 877 232 899 261 920 293 L 1008 223 C 984 185 957 150 929 120 C 900 90 868 64 833 43 C 797 21 758 5 716 -6 C 673 -17 626 -23 575 -23 Z M 879 625 C 875 675 866 722 852 766 C 838 810 818 847 793 879 C 767 911 736 936 700 954 C 663 972 621 981 573 981 C 534 981 496 973 460 959 C 423 945 390 923 361 894 C 331 864 306 827 286 783 C 266 738 252 685 246 625 L 879 625 Z M 697 1513 L 883 1513 L 594 1194 L 502 1194 L 697 1513 Z" unicode="é" />
-<glyph horiz-adv-x="1118" d="M 575 -23 C 512 -23 452 -11 395 13 C 338 37 288 72 244 120 C 200 168 166 227 140 297 C 114 367 102 449 102 541 C 102 637 116 720 144 790 C 172 860 208 918 253 964 C 298 1010 349 1044 405 1066 C 461 1088 518 1100 575 1100 C 637 1100 696 1088 750 1064 C 804 1040 850 1004 890 957 C 929 910 960 852 982 782 C 1004 712 1016 631 1016 539 L 1016 512 L 244 512 C 244 445 254 386 272 334 C 290 282 314 239 345 204 C 375 168 411 141 452 123 C 493 105 537 96 584 96 C 624 96 660 100 692 109 C 724 117 754 130 781 147 C 808 163 833 184 855 208 C 877 232 899 261 920 293 L 1008 223 C 984 185 957 150 929 120 C 900 90 868 64 833 43 C 797 21 758 5 716 -6 C 673 -17 626 -23 575 -23 Z M 879 625 C 875 675 866 722 852 766 C 838 810 818 847 793 879 C 767 911 736 936 700 954 C 663 972 621 981 573 981 C 534 981 496 973 460 959 C 423 945 390 923 361 894 C 331 864 306 827 286 783 C 266 738 252 685 246 625 L 879 625 Z M 520 1513 L 626 1513 L 891 1188 L 801 1188 L 571 1389 L 342 1188 L 256 1188 L 520 1513 Z" unicode="ê" />
-<glyph horiz-adv-x="1118" d="M 575 -23 C 512 -23 452 -11 395 13 C 338 37 288 72 244 120 C 200 168 166 227 140 297 C 114 367 102 449 102 541 C 102 637 116 720 144 790 C 172 860 208 918 253 964 C 298 1010 349 1044 405 1066 C 461 1088 518 1100 575 1100 C 637 1100 696 1088 750 1064 C 804 1040 850 1004 890 957 C 929 910 960 852 982 782 C 1004 712 1016 631 1016 539 L 1016 512 L 244 512 C 244 445 254 386 272 334 C 290 282 314 239 345 204 C 375 168 411 141 452 123 C 493 105 537 96 584 96 C 624 96 660 100 692 109 C 724 117 754 130 781 147 C 808 163 833 184 855 208 C 877 232 899 261 920 293 L 1008 223 C 984 185 957 150 929 120 C 900 90 868 64 833 43 C 797 21 758 5 716 -6 C 673 -17 626 -23 575 -23 Z M 879 625 C 875 675 866 722 852 766 C 838 810 818 847 793 879 C 767 911 736 936 700 954 C 663 972 621 981 573 981 C 534 981 496 973 460 959 C 423 945 390 923 361 894 C 331 864 306 827 286 783 C 266 738 252 685 246 625 L 879 625 Z M 667 1362 L 825 1362 L 825 1194 L 667 1194 L 667 1362 Z M 307 1362 L 465 1362 L 465 1194 L 307 1194 L 307 1362 Z" unicode="ë" />
-<glyph horiz-adv-x="492" d="M 176 1079 L 317 1079 L 317 0 L 176 0 L 176 1079 Z M -67 1513 L 119 1513 L 314 1194 L 222 1194 L -67 1513 Z" unicode="ì" />
-<glyph horiz-adv-x="492" d="M 176 1079 L 317 1079 L 317 0 L 176 0 L 176 1079 Z M 405 1513 L 591 1513 L 302 1194 L 210 1194 L 405 1513 Z" unicode="í" />
-<glyph horiz-adv-x="492" d="M 176 1079 L 317 1079 L 317 0 L 176 0 L 176 1079 Z M 194 1513 L 300 1513 L 565 1188 L 475 1188 L 245 1389 L 16 1188 L -70 1188 L 194 1513 Z" unicode="î" />
-<glyph horiz-adv-x="492" d="M 176 1079 L 317 1079 L 317 0 L 176 0 L 176 1079 Z M 347 1362 L 505 1362 L 505 1194 L 347 1194 L 347 1362 Z M -13 1362 L 145 1362 L 145 1194 L -13 1194 L -13 1362 Z" unicode="ï" />
-<glyph horiz-adv-x="1182" d="M 592 -23 C 522 -23 458 -10 398 15 C 338 41 287 77 243 125 C 199 172 164 230 139 298 C 114 366 102 442 102 528 C 102 614 114 690 139 756 C 163 822 197 878 239 924 C 281 970 331 1004 389 1028 C 447 1051 509 1063 575 1063 C 609 1063 643 1058 676 1049 C 709 1039 740 1026 770 1010 C 800 993 827 973 852 950 C 877 927 899 902 918 874 C 902 936 880 997 851 1059 C 822 1121 781 1180 729 1237 L 506 1153 L 463 1251 L 651 1321 C 627 1342 603 1362 577 1381 C 551 1400 524 1419 494 1438 L 563 1530 C 601 1508 637 1485 673 1459 C 708 1433 742 1406 774 1376 L 979 1454 L 1022 1356 L 852 1290 C 886 1247 918 1200 946 1149 C 974 1098 997 1042 1017 980 C 1037 918 1052 851 1063 777 C 1073 703 1079 623 1079 537 C 1079 451 1066 373 1041 304 C 1016 235 982 176 938 128 C 894 79 843 42 784 16 C 724 -10 660 -23 592 -23 Z M 592 96 C 645 96 693 106 736 128 C 778 149 815 179 845 217 C 875 255 898 300 914 354 C 930 407 938 466 938 530 C 938 589 930 644 914 695 C 898 746 876 790 846 827 C 816 864 780 893 737 914 C 694 935 646 946 592 946 C 538 946 489 936 446 916 C 403 896 367 868 337 832 C 307 796 284 752 268 701 C 252 649 244 592 244 530 C 244 470 251 414 266 362 C 281 309 303 263 333 224 C 362 184 398 153 442 130 C 485 107 535 96 592 96 Z" unicode="ð" />
-<glyph horiz-adv-x="1190" d="M 164 1079 L 305 1079 L 305 909 C 331 935 359 959 389 982 C 419 1005 452 1025 486 1043 C 520 1060 557 1074 595 1084 C 633 1094 674 1100 717 1100 C 823 1100 903 1071 957 1015 C 1011 959 1038 880 1038 780 L 1038 0 L 897 0 L 897 754 C 897 830 879 886 845 923 C 810 960 756 979 682 979 C 612 979 547 962 487 928 C 426 894 365 849 305 791 L 305 0 L 164 0 L 164 1079 Z M 760 1188 C 731 1188 703 1194 676 1206 C 648 1218 622 1231 597 1245 C 571 1259 547 1273 524 1285 C 501 1297 479 1303 459 1303 C 427 1303 405 1294 393 1277 C 381 1260 375 1232 375 1192 L 285 1192 C 285 1270 299 1327 328 1363 C 357 1399 400 1417 457 1417 C 485 1417 513 1411 540 1399 C 567 1387 593 1374 619 1360 C 645 1346 669 1333 693 1321 C 716 1309 738 1303 760 1303 C 790 1303 811 1311 824 1328 C 837 1344 844 1373 844 1413 L 934 1413 C 934 1336 919 1279 889 1243 C 859 1206 816 1188 760 1188 Z" unicode="ñ" />
-<glyph horiz-adv-x="1182" d="M 592 -23 C 526 -23 463 -10 404 14 C 344 39 292 75 248 123 C 203 171 167 229 141 299 C 115 369 102 449 102 539 C 102 629 115 708 141 778 C 167 848 202 906 247 954 C 291 1002 343 1038 403 1063 C 462 1087 525 1100 592 1100 C 658 1100 720 1087 779 1063 C 838 1038 890 1002 934 954 C 978 906 1014 848 1040 778 C 1066 708 1079 629 1079 539 C 1079 449 1066 369 1040 299 C 1014 229 978 171 934 123 C 890 75 838 39 779 14 C 720 -10 658 -23 592 -23 Z M 592 98 C 646 98 694 108 737 130 C 780 152 816 182 846 222 C 876 261 898 308 914 362 C 930 416 938 475 938 541 C 938 599 930 655 916 708 C 901 761 879 808 850 848 C 821 888 785 919 742 943 C 698 967 648 979 592 979 C 537 979 488 968 445 946 C 402 924 366 894 336 855 C 306 816 283 770 267 716 C 251 662 244 604 244 541 C 244 481 251 424 265 370 C 279 316 301 269 330 229 C 359 189 395 157 439 133 C 483 109 534 98 592 98 Z M 275 1513 L 461 1513 L 656 1194 L 564 1194 L 275 1513 Z" unicode="ò" />
-<glyph horiz-adv-x="1182" d="M 592 -23 C 526 -23 463 -10 404 14 C 344 39 292 75 248 123 C 203 171 167 229 141 299 C 115 369 102 449 102 539 C 102 629 115 708 141 778 C 167 848 202 906 247 954 C 291 1002 343 1038 403 1063 C 462 1087 525 1100 592 1100 C 658 1100 720 1087 779 1063 C 838 1038 890 1002 934 954 C 978 906 1014 848 1040 778 C 1066 708 1079 629 1079 539 C 1079 449 1066 369 1040 299 C 1014 229 978 171 934 123 C 890 75 838 39 779 14 C 720 -10 658 -23 592 -23 Z M 592 98 C 646 98 694 108 737 130 C 780 152 816 182 846 222 C 876 261 898 308 914 362 C 930 416 938 475 938 541 C 938 599 930 655 916 708 C 901 761 879 808 850 848 C 821 888 785 919 742 943 C 698 967 648 979 592 979 C 537 979 488 968 445 946 C 402 924 366 894 336 855 C 306 816 283 770 267 716 C 251 662 244 604 244 541 C 244 481 251 424 265 370 C 279 316 301 269 330 229 C 359 189 395 157 439 133 C 483 109 534 98 592 98 Z M 713 1513 L 899 1513 L 610 1194 L 518 1194 L 713 1513 Z" unicode="ó" />
-<glyph horiz-adv-x="1182" d="M 592 -23 C 526 -23 463 -10 404 14 C 344 39 292 75 248 123 C 203 171 167 229 141 299 C 115 369 102 449 102 539 C 102 629 115 708 141 778 C 167 848 202 906 247 954 C 291 1002 343 1038 403 1063 C 462 1087 525 1100 592 1100 C 658 1100 720 1087 779 1063 C 838 1038 890 1002 934 954 C 978 906 1014 848 1040 778 C 1066 708 1079 629 1079 539 C 1079 449 1066 369 1040 299 C 1014 229 978 171 934 123 C 890 75 838 39 779 14 C 720 -10 658 -23 592 -23 Z M 592 98 C 646 98 694 108 737 130 C 780 152 816 182 846 222 C 876 261 898 308 914 362 C 930 416 938 475 938 541 C 938 599 930 655 916 708 C 901 761 879 808 850 848 C 821 888 785 919 742 943 C 698 967 648 979 592 979 C 537 979 488 968 445 946 C 402 924 366 894 336 855 C 306 816 283 770 267 716 C 251 662 244 604 244 541 C 244 481 251 424 265 370 C 279 316 301 269 330 229 C 359 189 395 157 439 133 C 483 109 534 98 592 98 Z M 537 1513 L 643 1513 L 908 1188 L 818 1188 L 588 1389 L 359 1188 L 273 1188 L 537 1513 Z" unicode="ô" />
-<glyph horiz-adv-x="1182" d="M 592 -23 C 526 -23 463 -10 404 14 C 344 39 292 75 248 123 C 203 171 167 229 141 299 C 115 369 102 449 102 539 C 102 629 115 708 141 778 C 167 848 202 906 247 954 C 291 1002 343 1038 403 1063 C 462 1087 525 1100 592 1100 C 658 1100 720 1087 779 1063 C 838 1038 890 1002 934 954 C 978 906 1014 848 1040 778 C 1066 708 1079 629 1079 539 C 1079 449 1066 369 1040 299 C 1014 229 978 171 934 123 C 890 75 838 39 779 14 C 720 -10 658 -23 592 -23 Z M 592 98 C 646 98 694 108 737 130 C 780 152 816 182 846 222 C 876 261 898 308 914 362 C 930 416 938 475 938 541 C 938 599 930 655 916 708 C 901 761 879 808 850 848 C 821 888 785 919 742 943 C 698 967 648 979 592 979 C 537 979 488 968 445 946 C 402 924 366 894 336 855 C 306 816 283 770 267 716 C 251 662 244 604 244 541 C 244 481 251 424 265 370 C 279 316 301 269 330 229 C 359 189 395 157 439 133 C 483 109 534 98 592 98 Z M 746 1188 C 717 1188 689 1194 662 1206 C 634 1218 608 1231 583 1245 C 557 1259 533 1273 510 1285 C 487 1297 465 1303 445 1303 C 413 1303 391 1294 379 1277 C 367 1260 361 1232 361 1192 L 271 1192 C 271 1270 285 1327 314 1363 C 343 1399 386 1417 443 1417 C 471 1417 499 1411 526 1399 C 553 1387 579 1374 605 1360 C 631 1346 655 1333 679 1321 C 702 1309 724 1303 746 1303 C 776 1303 797 1311 810 1328 C 823 1344 830 1373 830 1413 L 920 1413 C 920 1336 905 1279 875 1243 C 845 1206 802 1188 746 1188 Z" unicode="õ" />
-<glyph horiz-adv-x="1182" d="M 592 -23 C 526 -23 463 -10 404 14 C 344 39 292 75 248 123 C 203 171 167 229 141 299 C 115 369 102 449 102 539 C 102 629 115 708 141 778 C 167 848 202 906 247 954 C 291 1002 343 1038 403 1063 C 462 1087 525 1100 592 1100 C 658 1100 720 1087 779 1063 C 838 1038 890 1002 934 954 C 978 906 1014 848 1040 778 C 1066 708 1079 629 1079 539 C 1079 449 1066 369 1040 299 C 1014 229 978 171 934 123 C 890 75 838 39 779 14 C 720 -10 658 -23 592 -23 Z M 592 98 C 646 98 694 108 737 130 C 780 152 816 182 846 222 C 876 261 898 308 914 362 C 930 416 938 475 938 541 C 938 599 930 655 916 708 C 901 761 879 808 850 848 C 821 888 785 919 742 943 C 698 967 648 979 592 979 C 537 979 488 968 445 946 C 402 924 366 894 336 855 C 306 816 283 770 267 716 C 251 662 244 604 244 541 C 244 481 251 424 265 370 C 279 316 301 269 330 229 C 359 189 395 157 439 133 C 483 109 534 98 592 98 Z M 688 1362 L 846 1362 L 846 1194 L 688 1194 L 688 1362 Z M 328 1362 L 486 1362 L 486 1194 L 328 1194 L 328 1362 Z" unicode="ö" />
-<glyph horiz-adv-x="1303" d="M 135 735 L 1169 735 L 1169 612 L 135 612 L 135 735 Z M 561 397 L 733 397 L 733 221 L 561 221 L 561 397 Z M 561 1124 L 733 1124 L 733 948 L 561 948 L 561 1124 Z" unicode="÷" />
-<glyph horiz-adv-x="1182" d="M 950 940 C 990 892 1021 834 1044 767 C 1067 700 1079 624 1079 539 C 1079 449 1066 369 1040 299 C 1014 229 978 171 934 123 C 890 75 838 39 779 14 C 720 -10 658 -23 592 -23 C 538 -23 487 -15 439 1 C 391 17 347 40 307 70 L 203 -68 L 127 -8 L 236 137 C 194 185 161 242 137 310 C 113 377 102 453 102 539 C 102 629 115 708 141 778 C 167 848 202 906 247 954 C 291 1002 343 1038 403 1063 C 462 1087 525 1100 592 1100 C 644 1100 694 1092 742 1077 C 790 1061 835 1038 877 1008 L 979 1147 L 1059 1083 L 950 940 Z M 803 905 C 775 929 743 948 708 961 C 672 974 634 981 592 981 C 537 981 488 970 445 948 C 401 926 365 895 335 856 C 305 817 282 771 266 717 C 250 663 242 604 242 541 C 242 484 248 430 261 379 C 274 327 294 282 322 242 L 803 905 Z M 381 172 C 407 147 438 128 473 114 C 508 100 548 94 592 94 C 646 94 694 105 737 127 C 780 149 817 180 847 220 C 877 259 900 306 916 361 C 932 415 940 475 940 541 C 940 595 933 647 920 697 C 906 747 887 792 862 831 L 381 172 Z" unicode="ø" />
-<glyph horiz-adv-x="1190" d="M 475 -23 C 367 -23 287 5 234 62 C 180 119 154 198 154 299 L 154 1079 L 295 1079 L 295 324 C 295 247 312 190 346 153 C 380 116 434 98 510 98 C 544 98 577 102 609 111 C 641 120 672 133 703 149 C 734 165 765 185 795 209 C 825 232 855 258 885 287 L 885 1079 L 1028 1079 L 1028 0 L 885 0 L 885 170 C 859 144 830 120 800 97 C 770 73 737 53 703 35 C 669 17 633 3 595 -7 C 557 -17 517 -23 475 -23 Z M 286 1513 L 472 1513 L 667 1194 L 575 1194 L 286 1513 Z" unicode="ù" />
-<glyph horiz-adv-x="1190" d="M 475 -23 C 367 -23 287 5 234 62 C 180 119 154 198 154 299 L 154 1079 L 295 1079 L 295 324 C 295 247 312 190 346 153 C 380 116 434 98 510 98 C 544 98 577 102 609 111 C 641 120 672 133 703 149 C 734 165 765 185 795 209 C 825 232 855 258 885 287 L 885 1079 L 1028 1079 L 1028 0 L 885 0 L 885 170 C 859 144 830 120 800 97 C 770 73 737 53 703 35 C 669 17 633 3 595 -7 C 557 -17 517 -23 475 -23 Z M 713 1513 L 899 1513 L 610 1194 L 518 1194 L 713 1513 Z" unicode="ú" />
-<glyph horiz-adv-x="1190" d="M 475 -23 C 367 -23 287 5 234 62 C 180 119 154 198 154 299 L 154 1079 L 295 1079 L 295 324 C 295 247 312 190 346 153 C 380 116 434 98 510 98 C 544 98 577 102 609 111 C 641 120 672 133 703 149 C 734 165 765 185 795 209 C 825 232 855 258 885 287 L 885 1079 L 1028 1079 L 1028 0 L 885 0 L 885 170 C 859 144 830 120 800 97 C 770 73 737 53 703 35 C 669 17 633 3 595 -7 C 557 -17 517 -23 475 -23 Z M 537 1513 L 643 1513 L 908 1188 L 818 1188 L 588 1389 L 359 1188 L 273 1188 L 537 1513 Z" unicode="û" />
-<glyph horiz-adv-x="1190" d="M 475 -23 C 367 -23 287 5 234 62 C 180 119 154 198 154 299 L 154 1079 L 295 1079 L 295 324 C 295 247 312 190 346 153 C 380 116 434 98 510 98 C 544 98 577 102 609 111 C 641 120 672 133 703 149 C 734 165 765 185 795 209 C 825 232 855 258 885 287 L 885 1079 L 1028 1079 L 1028 0 L 885 0 L 885 170 C 859 144 830 120 800 97 C 770 73 737 53 703 35 C 669 17 633 3 595 -7 C 557 -17 517 -23 475 -23 Z M 694 1362 L 852 1362 L 852 1194 L 694 1194 L 694 1362 Z M 334 1362 L 492 1362 L 492 1194 L 334 1194 L 334 1362 Z" unicode="ü" />
-<glyph horiz-adv-x="1079" d="M 201 -414 C 159 -414 125 -411 97 -407 C 69 -402 44 -397 23 -391 L 55 -274 C 70 -278 90 -282 114 -286 C 138 -289 169 -291 205 -291 C 234 -291 260 -287 282 -281 C 304 -274 324 -264 342 -251 C 360 -237 375 -220 389 -199 C 402 -178 414 -153 426 -125 L 471 -6 L 53 1079 L 205 1079 L 541 168 L 545 168 L 879 1079 L 1026 1079 L 561 -125 C 543 -173 523 -215 503 -251 C 483 -287 459 -317 431 -341 C 403 -365 371 -384 334 -396 C 297 -408 253 -414 201 -414 Z M 570 1513 L 756 1513 L 467 1194 L 375 1194 L 570 1513 Z" unicode="ý" />
-<glyph horiz-adv-x="1214" d="M 164 1516 L 305 1516 L 305 926 C 326 948 349 970 375 991 C 400 1012 427 1031 457 1047 C 486 1063 518 1075 553 1085 C 587 1095 625 1100 666 1100 C 728 1100 786 1088 840 1065 C 894 1042 941 1007 981 961 C 1021 915 1052 857 1075 787 C 1098 717 1110 635 1110 541 C 1110 447 1098 365 1075 295 C 1051 225 1019 166 978 120 C 937 74 889 39 833 16 C 777 -6 717 -18 653 -18 C 583 -18 520 -2 463 27 C 405 57 353 97 305 147 L 305 -410 L 164 -410 L 164 1516 Z M 641 100 C 688 100 732 108 772 125 C 812 142 847 168 876 204 C 905 240 928 285 944 341 C 960 396 969 462 969 539 C 969 613 960 678 943 734 C 925 789 902 835 872 871 C 842 907 808 934 768 952 C 728 970 685 979 641 979 C 607 979 576 974 547 966 C 517 958 489 946 462 930 C 434 914 408 896 382 874 C 356 852 331 827 305 801 L 305 276 C 359 219 412 175 466 145 C 520 115 578 100 641 100 Z" unicode="þ" />
-<glyph horiz-adv-x="1079" d="M 201 -414 C 159 -414 125 -411 97 -407 C 69 -402 44 -397 23 -391 L 55 -274 C 70 -278 90 -282 114 -286 C 138 -289 169 -291 205 -291 C 234 -291 260 -287 282 -281 C 304 -274 324 -264 342 -251 C 360 -237 375 -220 389 -199 C 402 -178 414 -153 426 -125 L 471 -6 L 53 1079 L 205 1079 L 541 168 L 545 168 L 879 1079 L 1026 1079 L 561 -125 C 543 -173 523 -215 503 -251 C 483 -287 459 -317 431 -341 C 403 -365 371 -384 334 -396 C 297 -408 253 -414 201 -414 Z M 643 1362 L 801 1362 L 801 1194 L 643 1194 L 643 1362 Z M 283 1362 L 441 1362 L 441 1194 L 283 1194 L 283 1362 Z" unicode="ÿ" />
-<glyph horiz-adv-x="1378" d="" unicode="Ā" />
-<glyph horiz-adv-x="1120" d="" unicode="ā" />
-<glyph horiz-adv-x="1378" d="" unicode="Ă" />
-<glyph horiz-adv-x="1120" d="" unicode="ă" />
-<glyph horiz-adv-x="1378" d="" unicode="Ą" />
-<glyph horiz-adv-x="1120" d="" unicode="ą" />
-<glyph horiz-adv-x="1432" d="" unicode="Ć" />
-<glyph horiz-adv-x="1087" d="" unicode="ć" />
-<glyph horiz-adv-x="1432" d="" unicode="Ĉ" />
-<glyph horiz-adv-x="1087" d="" unicode="ĉ" />
-<glyph horiz-adv-x="1432" d="" unicode="Ċ" />
-<glyph horiz-adv-x="1087" d="" unicode="ċ" />
-<glyph horiz-adv-x="1432" d="" unicode="Č" />
-<glyph horiz-adv-x="1087" d="" unicode="č" />
-<glyph horiz-adv-x="1452" d="" unicode="Ď" />
-<glyph horiz-adv-x="1214" d="" unicode="ď" />
-<glyph horiz-adv-x="1452" d="" unicode="Đ" />
-<glyph horiz-adv-x="1214" d="" unicode="đ" />
-<glyph horiz-adv-x="1237" d="" unicode="Ē" />
-<glyph horiz-adv-x="1118" d="" unicode="ē" />
-<glyph horiz-adv-x="1237" d="" unicode="Ĕ" />
-<glyph horiz-adv-x="1118" d="" unicode="ĕ" />
-<glyph horiz-adv-x="1237" d="" unicode="Ė" />
-<glyph horiz-adv-x="1118" d="" unicode="ė" />
-<glyph horiz-adv-x="1237" d="" unicode="Ę" />
-<glyph horiz-adv-x="1118" d="" unicode="ę" />
-<glyph horiz-adv-x="1237" d="" unicode="Ě" />
-<glyph horiz-adv-x="1118" d="" unicode="ě" />
-<glyph horiz-adv-x="1481" d="" unicode="Ĝ" />
-<glyph horiz-adv-x="1159" d="" unicode="ĝ" />
-<glyph horiz-adv-x="1481" d="" unicode="Ğ" />
-<glyph horiz-adv-x="1159" d="" unicode="ğ" />
-<glyph horiz-adv-x="1481" d="" unicode="Ġ" />
-<glyph horiz-adv-x="1159" d="" unicode="ġ" />
-<glyph horiz-adv-x="1481" d="" unicode="Ģ" />
-<glyph horiz-adv-x="1159" d="" unicode="ģ" />
-<glyph horiz-adv-x="1499" d="" unicode="Ĥ" />
-<glyph horiz-adv-x="1190" d="" unicode="ĥ" />
-<glyph horiz-adv-x="1499" d="" unicode="Ħ" />
-<glyph horiz-adv-x="1190" d="" unicode="ħ" />
-<glyph horiz-adv-x="575" d="" unicode="Ĩ" />
-<glyph horiz-adv-x="492" d="" unicode="ĩ" />
-<glyph horiz-adv-x="575" d="" unicode="Ī" />
-<glyph horiz-adv-x="492" d="" unicode="ī" />
-<glyph horiz-adv-x="575" d="" unicode="Ĭ" />
-<glyph horiz-adv-x="492" d="" unicode="ĭ" />
-<glyph horiz-adv-x="575" d="" unicode="Į" />
-<glyph horiz-adv-x="492" d="" unicode="į" />
-<glyph horiz-adv-x="575" d="" unicode="İ" />
-<glyph horiz-adv-x="492" d="M 176 1079 L 317 1079 L 317 0 L 176 0 L 176 1079 Z" unicode="ı" />
-<glyph horiz-adv-x="1513" d="" unicode="Ĳ" />
-<glyph horiz-adv-x="985" d="" unicode="ĳ" />
-<glyph horiz-adv-x="1020" d="" unicode="Ĵ" />
-<glyph horiz-adv-x="492" d="" unicode="ĵ" />
-<glyph horiz-adv-x="1368" d="" unicode="Ķ" />
-<glyph horiz-adv-x="1085" d="" unicode="ķ" />
-<glyph horiz-adv-x="1085" d="" unicode="ĸ" />
-<glyph horiz-adv-x="1157" d="" unicode="Ĺ" />
-<glyph horiz-adv-x="492" d="" unicode="ĺ" />
-<glyph horiz-adv-x="1157" d="" unicode="Ļ" />
-<glyph horiz-adv-x="492" d="" unicode="ļ" />
-<glyph horiz-adv-x="1157" d="" unicode="Ľ" />
-<glyph horiz-adv-x="492" d="" unicode="ľ" />
-<glyph horiz-adv-x="1171" d="" unicode="Ŀ" />
-<glyph horiz-adv-x="682" d="" unicode="ŀ" />
-<glyph horiz-adv-x="1157" d="" unicode="Ł" />
-<glyph horiz-adv-x="606" d="" unicode="ł" />
-<glyph horiz-adv-x="1522" d="" unicode="Ń" />
-<glyph horiz-adv-x="1190" d="" unicode="ń" />
-<glyph horiz-adv-x="1522" d="" unicode="Ņ" />
-<glyph horiz-adv-x="1190" d="" unicode="ņ" />
-<glyph horiz-adv-x="1522" d="" unicode="Ň" />
-<glyph horiz-adv-x="1190" d="" unicode="ň" />
-<glyph horiz-adv-x="1522" d="" unicode="Ŋ" />
-<glyph horiz-adv-x="1190" d="" unicode="ŋ" />
-<glyph horiz-adv-x="1520" d="" unicode="Ō" />
-<glyph horiz-adv-x="1182" d="" unicode="ō" />
-<glyph horiz-adv-x="1520" d="" unicode="Ŏ" />
-<glyph horiz-adv-x="1182" d="" unicode="ŏ" />
-<glyph horiz-adv-x="1520" d="" unicode="Ő" />
-<glyph horiz-adv-x="1182" d="" unicode="ő" />
-<glyph horiz-adv-x="2292" d="M 760 -29 C 668 -29 583 -10 505 27 C 427 64 359 117 302 186 C 245 254 201 337 169 434 C 137 531 121 639 121 758 C 121 876 137 984 169 1081 C 201 1177 245 1260 302 1329 C 359 1397 427 1450 505 1488 C 583 1525 668 1544 760 1544 C 818 1544 873 1536 924 1521 C 974 1505 1021 1484 1063 1456 C 1105 1428 1142 1394 1175 1355 C 1208 1315 1236 1272 1260 1225 L 1260 1516 L 2154 1516 L 2154 1380 L 1395 1380 L 1395 866 L 1962 866 L 1962 735 L 1395 735 L 1395 133 L 2198 133 L 2198 0 L 1260 0 L 1260 295 C 1236 247 1208 203 1175 163 C 1142 123 1105 89 1063 61 C 1021 33 974 11 924 -5 C 873 -21 818 -29 760 -29 Z M 760 102 C 830 102 896 116 956 146 C 1016 176 1068 219 1112 275 C 1155 331 1189 400 1214 481 C 1238 562 1251 654 1251 758 C 1251 860 1238 952 1214 1033 C 1189 1114 1155 1183 1112 1239 C 1068 1295 1016 1337 956 1367 C 896 1396 830 1411 760 1411 C 688 1411 621 1396 561 1367 C 501 1337 449 1295 405 1239 C 361 1183 327 1114 303 1033 C 278 952 266 860 266 758 C 266 654 278 562 303 481 C 327 400 361 331 405 275 C 449 219 501 176 561 146 C 621 116 688 102 760 102 Z" unicode="Œ" />
-<glyph horiz-adv-x="1937" d="M 588 -23 C 522 -23 459 -10 400 14 C 341 39 290 75 246 123 C 202 171 167 229 141 299 C 115 369 102 449 102 539 C 102 629 114 708 140 778 C 166 848 201 906 245 954 C 289 1002 340 1038 399 1063 C 458 1087 521 1100 588 1100 C 636 1100 682 1093 725 1079 C 767 1065 806 1045 841 1020 C 876 995 907 965 934 930 C 960 895 982 857 999 815 C 1015 856 1037 894 1064 929 C 1090 964 1121 994 1156 1020 C 1190 1045 1228 1065 1269 1079 C 1310 1093 1353 1100 1399 1100 C 1461 1100 1519 1088 1572 1064 C 1625 1040 1671 1004 1710 957 C 1749 910 1780 852 1802 782 C 1824 712 1835 631 1835 539 L 1835 516 L 1067 516 C 1067 448 1077 388 1095 336 C 1113 284 1137 240 1167 204 C 1197 168 1233 141 1274 123 C 1314 105 1358 96 1405 96 C 1445 96 1482 100 1514 109 C 1546 117 1575 130 1601 147 C 1627 163 1651 184 1673 208 C 1695 232 1716 261 1737 293 L 1827 223 C 1803 185 1776 150 1748 120 C 1719 90 1687 64 1652 43 C 1617 21 1579 5 1537 -6 C 1495 -17 1448 -23 1397 -23 C 1352 -23 1309 -16 1268 -2 C 1227 12 1189 31 1154 56 C 1119 81 1088 111 1061 146 C 1034 180 1013 218 997 260 C 979 218 957 180 931 146 C 904 111 873 81 839 56 C 804 31 766 12 724 -2 C 682 -16 636 -23 588 -23 Z M 588 98 C 642 98 690 108 733 130 C 775 152 811 182 841 222 C 871 261 893 308 909 362 C 924 416 932 475 932 541 C 932 599 924 655 910 708 C 896 761 874 808 846 848 C 817 888 781 919 738 943 C 695 967 645 979 588 979 C 534 979 485 968 443 946 C 400 924 364 894 334 855 C 304 816 282 770 267 716 C 251 662 244 604 244 541 C 244 481 251 424 265 370 C 279 316 300 269 329 229 C 357 189 393 157 436 133 C 479 109 530 98 588 98 Z M 1696 625 C 1692 675 1683 722 1669 766 C 1655 810 1636 847 1612 879 C 1587 911 1557 936 1521 954 C 1485 972 1443 981 1395 981 C 1355 981 1318 973 1282 959 C 1246 945 1213 923 1184 894 C 1154 864 1130 827 1110 783 C 1090 738 1077 685 1071 625 L 1696 625 Z" unicode="œ" />
-<glyph horiz-adv-x="1374" d="" unicode="Ŕ" />
-<glyph horiz-adv-x="809" d="" unicode="ŕ" />
-<glyph horiz-adv-x="1374" d="" unicode="Ŗ" />
-<glyph horiz-adv-x="809" d="" unicode="ŗ" />
-<glyph horiz-adv-x="1374" d="" unicode="Ř" />
-<glyph horiz-adv-x="809" d="" unicode="ř" />
-<glyph horiz-adv-x="1329" d="" unicode="Ś" />
-<glyph horiz-adv-x="1036" d="" unicode="ś" />
-<glyph horiz-adv-x="1329" d="" unicode="Ŝ" />
-<glyph horiz-adv-x="1036" d="" unicode="ŝ" />
-<glyph horiz-adv-x="1329" d="" unicode="Ş" />
-<glyph horiz-adv-x="1036" d="" unicode="ş" />
-<glyph horiz-adv-x="1329" d="M 676 -29 C 604 -29 538 -19 478 -1 C 418 17 364 44 317 79 C 269 114 229 156 196 206 C 162 256 137 311 119 373 L 248 420 C 282 314 336 234 410 180 C 484 126 574 100 682 100 C 738 100 790 106 836 119 C 882 131 922 149 955 173 C 987 197 1012 226 1030 260 C 1048 294 1057 332 1057 375 C 1057 414 1051 449 1040 480 C 1028 510 1008 539 978 565 C 948 591 908 616 857 640 C 805 664 739 689 659 715 C 577 740 506 765 445 791 C 383 817 332 846 291 879 C 250 912 219 951 199 995 C 178 1039 168 1092 168 1155 C 168 1209 179 1259 202 1307 C 225 1354 257 1395 299 1430 C 341 1465 390 1493 448 1513 C 506 1533 569 1544 639 1544 C 710 1544 774 1535 830 1518 C 886 1500 936 1476 979 1446 C 1021 1415 1057 1378 1087 1336 C 1117 1293 1141 1246 1159 1196 L 1036 1139 C 998 1237 946 1307 879 1349 C 812 1391 731 1413 637 1413 C 586 1413 540 1406 500 1394 C 460 1381 426 1363 398 1341 C 370 1319 348 1292 333 1262 C 318 1232 311 1199 311 1165 C 311 1122 318 1086 332 1056 C 346 1026 369 999 401 975 C 433 951 476 928 530 906 C 584 884 651 861 731 836 C 809 810 878 784 937 757 C 996 730 1045 699 1085 665 C 1124 630 1153 590 1173 545 C 1192 499 1202 446 1202 385 C 1202 321 1188 264 1162 213 C 1136 162 1099 119 1052 83 C 1005 47 950 19 886 0 C 822 -19 752 -29 676 -29 Z M 344 1956 L 434 1956 L 663 1755 L 895 1956 L 981 1956 L 716 1630 L 608 1630 L 344 1956 Z" unicode="Š" />
-<glyph horiz-adv-x="1036" d="M 512 -20 C 464 -20 418 -15 376 -5 C 333 4 294 17 258 34 C 222 51 190 71 162 95 C 133 118 108 144 88 172 L 178 254 C 219 206 267 168 321 140 C 375 112 439 98 514 98 C 606 98 676 114 724 147 C 771 179 795 226 795 287 C 795 317 789 342 778 364 C 767 385 750 404 726 420 C 702 436 671 451 633 464 C 595 477 550 490 498 502 C 436 517 381 533 335 550 C 288 567 249 588 217 612 C 185 636 162 664 146 697 C 130 729 123 769 123 817 C 123 855 131 892 147 926 C 163 960 187 990 218 1016 C 249 1042 287 1062 333 1077 C 379 1092 431 1100 489 1100 C 535 1100 577 1096 616 1089 C 654 1081 690 1071 722 1057 C 754 1043 784 1027 812 1008 C 839 988 865 967 889 944 L 809 850 C 767 891 721 923 670 947 C 618 971 560 983 494 983 C 452 983 416 978 386 969 C 356 960 332 948 314 933 C 295 918 281 901 273 882 C 264 863 260 843 260 823 C 260 797 264 774 274 755 C 284 736 299 719 320 705 C 341 690 368 677 401 665 C 434 653 474 642 522 631 C 590 614 649 597 700 579 C 751 561 794 540 828 514 C 862 488 888 458 906 422 C 923 386 932 341 932 289 C 932 239 921 195 900 157 C 879 119 850 86 813 60 C 776 34 732 14 680 0 C 628 -13 572 -20 512 -20 Z M 200 1522 L 290 1522 L 519 1321 L 751 1522 L 837 1522 L 572 1196 L 464 1196 L 200 1522 Z" unicode="š" />
-<glyph horiz-adv-x="1264" d="" unicode="Ţ" />
-<glyph horiz-adv-x="745" d="" unicode="ţ" />
-<glyph horiz-adv-x="1264" d="" unicode="Ť" />
-<glyph horiz-adv-x="745" d="" unicode="ť" />
-<glyph horiz-adv-x="1264" d="" unicode="Ŧ" />
-<glyph horiz-adv-x="745" d="" unicode="ŧ" />
-<glyph horiz-adv-x="1464" d="" unicode="Ũ" />
-<glyph horiz-adv-x="1190" d="" unicode="ũ" />
-<glyph horiz-adv-x="1464" d="" unicode="Ū" />
-<glyph horiz-adv-x="1190" d="" unicode="ū" />
-<glyph horiz-adv-x="1464" d="" unicode="Ŭ" />
-<glyph horiz-adv-x="1190" d="" unicode="ŭ" />
-<glyph horiz-adv-x="1464" d="" unicode="Ů" />
-<glyph horiz-adv-x="1190" d="" unicode="ů" />
-<glyph horiz-adv-x="1464" d="" unicode="Ű" />
-<glyph horiz-adv-x="1190" d="" unicode="ű" />
-<glyph horiz-adv-x="1464" d="" unicode="Ų" />
-<glyph horiz-adv-x="1190" d="" unicode="ų" />
-<glyph horiz-adv-x="1894" d="" unicode="Ŵ" />
-<glyph horiz-adv-x="1530" d="" unicode="ŵ" />
-<glyph horiz-adv-x="1266" d="" unicode="Ŷ" />
-<glyph horiz-adv-x="1079" d="" unicode="ŷ" />
-<glyph horiz-adv-x="1266" d="M 559 668 L 51 1516 L 209 1516 L 635 793 L 1059 1516 L 1214 1516 L 705 668 L 705 0 L 559 0 L 559 668 Z M 733 1778 L 891 1778 L 891 1610 L 733 1610 L 733 1778 Z M 373 1778 L 531 1778 L 531 1610 L 373 1610 L 373 1778 Z" unicode="Ÿ" />
-<glyph horiz-adv-x="1276" d="" unicode="Ź" />
-<glyph horiz-adv-x="1036" d="" unicode="ź" />
-<glyph horiz-adv-x="1276" d="" unicode="Ż" />
-<glyph horiz-adv-x="1036" d="" unicode="ż" />
-<glyph horiz-adv-x="1276" d="M 86 104 L 995 1393 L 145 1393 L 145 1516 L 1171 1516 L 1171 1409 L 266 123 L 1171 123 L 1171 0 L 86 0 L 86 104 Z M 320 1956 L 410 1956 L 639 1755 L 871 1956 L 957 1956 L 692 1630 L 584 1630 L 320 1956 Z" unicode="Ž" />
-<glyph horiz-adv-x="1036" d="M 84 90 L 741 961 L 137 961 L 137 1079 L 920 1079 L 920 987 L 262 117 L 948 117 L 948 0 L 84 0 L 84 90 Z M 200 1522 L 290 1522 L 519 1321 L 751 1522 L 837 1522 L 572 1196 L 464 1196 L 200 1522 Z" unicode="ž" />
-<glyph horiz-adv-x="682" d="M -178 -293 C -170 -294 -160 -295 -147 -296 C -134 -296 -122 -297 -111 -297 C -56 -297 -10 -284 26 -260 C 62 -235 84 -193 92 -135 L 231 850 L 43 850 L 57 965 L 246 965 L 283 1241 C 295 1334 329 1403 386 1449 C 443 1495 525 1518 633 1518 C 645 1518 659 1517 675 1516 C 691 1515 704 1514 713 1513 L 694 1399 C 686 1400 676 1401 663 1401 C 650 1401 638 1401 627 1401 C 601 1401 576 1398 553 1393 C 529 1387 509 1379 491 1367 C 473 1355 458 1339 446 1319 C 434 1299 427 1274 424 1245 L 387 965 L 625 965 L 610 850 L 373 850 L 233 -141 C 219 -232 184 -300 128 -345 C 72 -389 -9 -412 -115 -412 C -128 -412 -143 -411 -159 -411 C -175 -410 -187 -409 -197 -408 L -178 -293 Z" unicode="ƒ" />
-<glyph horiz-adv-x="954" d="M 852 1516 L 985 1516 L 102 0 L -31 0 L 852 1516 Z" unicode="⁄" />
-<glyph horiz-adv-x="1303" d="" unicode="−" />
-<glyph horiz-adv-x="1329" d="" unicode="Ș" />
-<glyph horiz-adv-x="1036" d="" unicode="ș" />
-<glyph horiz-adv-x="1264" d="" unicode="Ț" />
-<glyph horiz-adv-x="745" d="" unicode="ț" />
-<glyph horiz-adv-x="1561" d="" unicode="∞" />
-<glyph horiz-adv-x="1223" d="" unicode="≈" />
-<glyph horiz-adv-x="1118" d="" unicode="ə" />
-<glyph horiz-adv-x="1303" d="" unicode="≠" />
-<glyph horiz-adv-x="1303" d="" unicode="≤" />
-<glyph horiz-adv-x="1303" d="" unicode="≥" />
-<glyph horiz-adv-x="967" d="M 485 553 C 427 553 375 564 331 587 C 286 609 248 642 218 684 C 188 726 165 778 150 838 C 134 898 127 965 127 1040 C 127 1114 134 1181 150 1241 C 165 1301 188 1353 218 1396 C 248 1439 286 1472 331 1496 C 375 1520 427 1532 485 1532 C 541 1532 592 1520 636 1496 C 680 1472 718 1439 748 1396 C 778 1353 800 1301 816 1241 C 832 1181 840 1114 840 1040 C 840 965 832 898 816 838 C 800 778 778 726 748 684 C 718 642 680 609 636 587 C 592 564 541 553 485 553 Z M 485 657 C 559 657 617 689 658 753 C 698 817 719 913 719 1040 C 719 1101 713 1156 702 1204 C 691 1252 676 1292 656 1325 C 636 1358 611 1383 582 1401 C 553 1418 521 1427 485 1427 C 447 1427 413 1418 383 1401 C 353 1383 329 1358 309 1325 C 289 1292 273 1252 263 1204 C 253 1156 248 1101 248 1040 C 248 913 269 817 311 753 C 353 689 411 657 485 657 Z" unicode="⁰" />
-<glyph horiz-adv-x="897" d="M 547 797 L 113 797 L 113 877 L 537 1516 L 666 1516 L 666 903 L 819 903 L 819 797 L 666 797 L 666 569 L 547 569 L 547 797 Z M 549 901 L 549 1352 L 252 901 L 549 901 Z" unicode="⁴" />
-<glyph horiz-adv-x="872" d="M 426 553 C 354 553 291 569 237 603 C 183 637 138 681 102 735 L 184 803 C 213 759 247 723 287 696 C 326 668 373 655 428 655 C 464 655 495 661 523 673 C 550 685 573 701 591 722 C 609 742 622 766 631 793 C 640 819 645 847 645 877 C 645 912 640 943 630 970 C 620 997 606 1020 589 1038 C 571 1056 551 1070 527 1080 C 503 1089 477 1094 449 1094 C 426 1094 405 1091 387 1087 C 369 1083 352 1076 337 1068 C 322 1060 308 1049 295 1036 C 282 1023 270 1008 258 991 L 156 1030 L 188 1516 L 711 1516 L 702 1407 L 291 1407 L 270 1116 C 287 1138 312 1157 344 1172 C 376 1186 419 1194 471 1194 C 511 1194 549 1187 585 1173 C 620 1159 651 1138 678 1112 C 704 1085 725 1052 741 1013 C 756 974 764 930 764 881 C 764 831 756 785 740 745 C 724 704 702 669 673 641 C 643 613 608 591 566 576 C 524 560 478 553 426 553 Z" unicode="⁵" />
-<glyph horiz-adv-x="909" d="M 473 553 C 423 553 378 562 336 581 C 294 600 257 629 226 668 C 195 707 171 757 153 817 C 135 877 127 948 127 1030 C 127 1105 135 1173 152 1235 C 169 1297 194 1350 226 1394 C 258 1438 298 1472 345 1496 C 391 1520 444 1532 504 1532 C 564 1532 617 1523 662 1505 C 706 1487 744 1464 774 1436 L 711 1350 C 694 1362 678 1373 663 1383 C 648 1393 632 1401 616 1408 C 600 1415 582 1420 564 1424 C 545 1428 524 1430 502 1430 C 421 1430 359 1398 315 1334 C 271 1270 247 1178 244 1059 C 259 1075 275 1090 293 1104 C 311 1118 330 1130 351 1141 C 371 1151 394 1160 419 1166 C 443 1172 470 1176 500 1176 C 551 1176 596 1168 634 1153 C 672 1138 703 1117 728 1091 C 753 1064 772 1032 784 995 C 796 958 803 918 803 874 C 803 828 795 786 780 747 C 765 707 743 673 715 645 C 686 616 651 593 611 577 C 570 561 524 553 473 553 Z M 475 655 C 537 655 587 674 625 712 C 663 750 682 803 682 872 C 682 902 678 929 670 954 C 662 979 651 1001 635 1019 C 619 1037 598 1050 573 1060 C 547 1070 517 1075 483 1075 C 435 1075 391 1062 352 1038 C 312 1013 278 982 250 944 C 254 894 263 850 277 814 C 290 778 307 748 327 724 C 347 700 369 683 395 672 C 420 660 447 655 475 655 Z" unicode="⁶" />
-<glyph horiz-adv-x="1044" d="M 469 1513 L 575 1513 L 840 1188 L 750 1188 L 520 1389 L 291 1188 L 205 1188 L 469 1513 Z" unicode="ˆ" />
-<glyph horiz-adv-x="1044" d="M 203 1522 L 293 1522 L 522 1321 L 754 1522 L 840 1522 L 575 1196 L 467 1196 L 203 1522 Z" unicode="ˇ" />
-<glyph horiz-adv-x="829" d="M 584 1405 L 117 1405 L 117 1516 L 717 1516 L 717 1421 L 326 569 L 199 569 L 584 1405 Z" unicode="⁷" />
-<glyph horiz-adv-x="903" d="M 451 553 C 395 553 346 559 303 572 C 260 585 224 603 195 626 C 165 648 143 675 127 706 C 111 736 104 769 104 805 C 104 837 109 865 119 891 C 129 917 144 940 164 961 C 184 982 208 1001 236 1019 C 264 1036 296 1053 332 1069 C 302 1083 276 1097 253 1112 C 230 1126 211 1143 195 1161 C 179 1179 167 1199 159 1221 C 151 1243 147 1268 147 1296 C 147 1326 153 1356 167 1384 C 181 1412 201 1438 227 1460 C 253 1482 284 1499 322 1512 C 360 1525 403 1532 451 1532 C 499 1532 543 1525 581 1512 C 619 1498 651 1481 677 1459 C 703 1437 722 1411 736 1383 C 749 1355 756 1326 756 1296 C 756 1268 751 1244 742 1223 C 733 1202 720 1183 703 1165 C 686 1147 666 1131 642 1117 C 618 1103 591 1089 561 1075 C 597 1058 630 1041 660 1023 C 689 1005 714 986 735 965 C 755 943 771 920 782 894 C 793 868 799 838 799 805 C 799 770 791 737 775 707 C 759 676 737 649 707 627 C 677 604 641 586 598 573 C 555 559 506 553 451 553 Z M 451 649 C 484 649 514 652 542 660 C 570 668 593 679 613 693 C 633 707 648 723 659 743 C 670 763 676 785 676 809 C 676 833 670 855 659 875 C 648 895 632 913 612 931 C 592 948 567 964 537 980 C 507 995 474 1010 438 1026 C 400 1008 367 992 340 976 C 312 960 290 944 273 927 C 255 910 243 892 235 873 C 227 853 223 832 223 809 C 223 785 228 764 240 744 C 251 724 267 708 287 694 C 307 680 331 669 359 661 C 387 653 417 649 451 649 Z M 457 1120 C 488 1134 515 1147 538 1159 C 560 1171 579 1183 594 1196 C 609 1208 620 1222 628 1237 C 635 1252 639 1270 639 1290 C 639 1308 635 1325 628 1343 C 620 1360 609 1375 594 1389 C 578 1402 559 1413 536 1421 C 512 1429 485 1434 453 1434 C 422 1434 395 1430 372 1422 C 348 1414 329 1403 313 1390 C 297 1377 286 1362 278 1345 C 270 1328 266 1311 266 1294 C 266 1273 269 1255 277 1240 C 284 1224 295 1210 311 1197 C 326 1184 346 1172 370 1160 C 394 1148 423 1134 457 1120 Z" unicode="⁸" />
-<glyph horiz-adv-x="909" d="M 406 553 C 345 553 292 562 247 580 C 202 598 165 621 135 649 L 199 735 C 215 722 230 711 246 701 C 261 691 277 683 293 677 C 309 670 326 665 345 662 C 363 658 384 657 408 657 C 488 657 550 688 594 751 C 638 813 662 905 666 1026 C 650 1010 634 994 616 980 C 598 966 579 953 558 942 C 537 931 514 922 490 916 C 465 910 438 907 410 907 C 358 907 314 914 276 930 C 238 945 206 966 181 993 C 155 1020 136 1052 124 1089 C 112 1126 106 1166 106 1210 C 106 1256 113 1298 128 1338 C 143 1377 165 1411 194 1440 C 222 1468 257 1491 298 1507 C 338 1523 384 1532 436 1532 C 485 1532 531 1522 573 1503 C 615 1484 652 1455 684 1416 C 715 1377 739 1328 757 1268 C 775 1208 784 1138 784 1057 C 784 981 775 913 757 851 C 739 789 714 736 682 692 C 649 648 609 613 563 589 C 516 565 464 553 406 553 Z M 426 1010 C 474 1010 517 1022 557 1047 C 596 1071 630 1103 659 1141 C 654 1190 645 1233 632 1269 C 618 1305 602 1335 582 1359 C 562 1383 539 1400 514 1412 C 488 1424 462 1430 434 1430 C 371 1430 321 1411 283 1373 C 245 1335 227 1281 227 1212 C 227 1182 230 1154 238 1130 C 246 1105 258 1084 274 1066 C 290 1048 311 1034 336 1024 C 361 1014 391 1010 426 1010 Z" unicode="⁹" />
-<glyph horiz-adv-x="1024" d="" unicode="˘" />
-<glyph horiz-adv-x="1024" d="" unicode="˙" />
-<glyph horiz-adv-x="1106" d="M 553 1180 C 525 1180 500 1184 478 1194 C 455 1203 435 1216 419 1233 C 402 1249 389 1269 380 1292 C 371 1314 367 1339 367 1366 C 367 1392 371 1417 380 1440 C 389 1462 402 1482 419 1499 C 435 1515 455 1528 478 1538 C 500 1547 525 1552 553 1552 C 580 1552 605 1547 628 1538 C 650 1528 670 1515 687 1499 C 703 1482 716 1462 725 1440 C 734 1417 739 1392 739 1366 C 739 1339 734 1314 725 1292 C 716 1269 703 1249 687 1233 C 670 1216 650 1203 628 1194 C 605 1184 580 1180 553 1180 Z M 553 1251 C 585 1251 611 1261 631 1283 C 651 1304 662 1332 662 1366 C 662 1399 651 1426 631 1448 C 611 1470 585 1481 553 1481 C 521 1481 494 1470 474 1448 C 454 1426 444 1399 444 1366 C 444 1332 454 1304 474 1283 C 494 1261 521 1251 553 1251 Z" unicode="˚" />
-<glyph horiz-adv-x="1024" d="" unicode="˛" />
-<glyph horiz-adv-x="1032" d="M 668 1188 C 639 1188 611 1194 584 1206 C 556 1218 530 1231 505 1245 C 479 1259 455 1273 432 1285 C 409 1297 387 1303 367 1303 C 335 1303 313 1294 301 1277 C 289 1260 283 1232 283 1192 L 193 1192 C 193 1270 207 1327 236 1363 C 265 1399 308 1417 365 1417 C 393 1417 421 1411 448 1399 C 475 1387 501 1374 527 1360 C 553 1346 577 1333 601 1321 C 624 1309 646 1303 668 1303 C 698 1303 719 1311 732 1328 C 745 1344 752 1373 752 1413 L 842 1413 C 842 1336 827 1279 797 1243 C 767 1206 724 1188 668 1188 Z" unicode="˜" />
-<glyph horiz-adv-x="1034" d="" unicode="˝" />
-<glyph horiz-adv-x="1280" d="M 244 958 L 55 958 L 55 1079 L 244 1079 L 244 1241 C 244 1332 269 1401 321 1448 C 372 1494 447 1518 547 1518 C 560 1518 574 1517 589 1516 C 604 1515 616 1514 625 1513 L 625 1395 C 616 1397 605 1398 592 1398 C 578 1398 566 1399 555 1399 C 503 1399 462 1386 431 1362 C 400 1338 385 1298 385 1243 L 385 1079 L 844 1079 L 844 1237 C 844 1328 869 1398 921 1446 C 973 1494 1051 1518 1155 1518 C 1167 1518 1182 1517 1198 1516 C 1214 1515 1227 1514 1235 1513 L 1235 1395 C 1227 1396 1215 1397 1201 1398 C 1187 1398 1174 1399 1163 1399 C 1137 1399 1114 1396 1092 1391 C 1070 1385 1052 1377 1036 1365 C 1020 1353 1007 1337 998 1317 C 989 1297 985 1272 985 1243 L 985 1079 L 1223 1079 L 1223 958 L 985 958 L 985 0 L 844 0 L 844 958 L 385 958 L 385 0 L 244 0 L 244 958 Z" unicode="ﬀ" />
-<glyph horiz-adv-x="1176" d="M 244 958 L 55 958 L 55 1079 L 244 1079 L 244 1241 C 244 1332 269 1401 321 1448 C 372 1494 447 1518 547 1518 C 559 1518 572 1517 588 1516 C 604 1515 616 1514 625 1513 L 625 1395 C 616 1396 605 1397 592 1398 C 578 1398 566 1399 555 1399 C 503 1399 462 1386 431 1362 C 400 1337 385 1297 385 1243 L 385 1079 L 614 1079 L 614 958 L 385 958 L 385 0 L 244 0 L 244 958 Z M 844 1079 L 985 1079 L 985 0 L 844 0 L 844 1079 Z M 840 1481 L 989 1481 L 989 1327 L 840 1327 L 840 1481 Z" unicode="ﬁ" />
-<glyph horiz-adv-x="1176" d="M 244 958 L 55 958 L 55 1079 L 244 1079 L 244 1241 C 244 1332 269 1401 321 1448 C 372 1494 447 1518 547 1518 C 559 1518 572 1517 588 1516 C 604 1515 616 1514 625 1513 L 625 1395 C 616 1396 605 1397 592 1398 C 578 1398 566 1399 555 1399 C 503 1399 462 1386 431 1362 C 400 1337 385 1297 385 1243 L 385 1079 L 614 1079 L 614 958 L 385 958 L 385 0 L 244 0 L 244 958 Z M 844 1516 L 985 1516 L 985 0 L 844 0 L 844 1516 Z" unicode="ﬂ" />
-<glyph horiz-adv-x="1759" d="M 244 958 L 55 958 L 55 1079 L 244 1079 L 244 1241 C 244 1332 269 1401 321 1448 C 372 1494 447 1518 547 1518 C 560 1518 574 1517 589 1516 C 604 1515 616 1514 625 1513 L 625 1395 C 616 1396 605 1397 592 1398 C 578 1398 566 1399 555 1399 C 503 1399 462 1386 431 1362 C 400 1337 385 1297 385 1243 L 385 1079 L 844 1079 L 844 1237 C 844 1328 870 1398 922 1446 C 974 1494 1049 1518 1147 1518 C 1159 1518 1172 1517 1188 1516 C 1204 1515 1216 1514 1225 1513 L 1225 1395 C 1216 1396 1205 1397 1192 1398 C 1179 1398 1167 1399 1157 1399 C 1105 1399 1063 1386 1032 1362 C 1000 1337 985 1297 985 1243 L 985 1079 L 1214 1079 L 1214 958 L 985 958 L 985 0 L 844 0 L 844 958 L 385 958 L 385 0 L 244 0 L 244 958 Z M 1444 1079 L 1585 1079 L 1585 0 L 1444 0 L 1444 1079 Z M 1440 1481 L 1589 1481 L 1589 1327 L 1440 1327 L 1440 1481 Z" unicode="ﬃ" />
-<glyph horiz-adv-x="1759" d="M 244 958 L 55 958 L 55 1079 L 244 1079 L 244 1241 C 244 1332 269 1401 321 1448 C 372 1494 447 1518 547 1518 C 560 1518 574 1517 589 1516 C 604 1515 616 1514 625 1513 L 625 1395 C 616 1396 605 1397 592 1398 C 578 1398 566 1399 555 1399 C 503 1399 462 1386 431 1362 C 400 1337 385 1297 385 1243 L 385 1079 L 844 1079 L 844 1237 C 844 1328 870 1398 922 1446 C 974 1494 1049 1518 1147 1518 C 1159 1518 1172 1517 1188 1516 C 1204 1515 1216 1514 1225 1513 L 1225 1395 C 1216 1396 1205 1397 1192 1398 C 1179 1398 1167 1399 1157 1399 C 1105 1399 1063 1386 1032 1362 C 1000 1337 985 1297 985 1243 L 985 1079 L 1214 1079 L 1214 958 L 985 958 L 985 0 L 844 0 L 844 958 L 385 958 L 385 0 L 244 0 L 244 958 Z M 1444 1513 L 1585 1513 L 1585 0 L 1444 0 L 1444 1513 Z" unicode="ﬄ" />
-<glyph horiz-adv-x="549" d="" unicode="̦" />
-<glyph horiz-adv-x="1200" d="M 164 1079 L 305 1079 L 305 324 C 305 247 322 190 356 153 C 390 116 445 98 520 98 C 589 98 654 114 714 148 C 774 182 835 227 897 285 L 897 1079 L 1038 1079 L 1038 0 L 897 0 L 897 176 C 869 150 841 125 812 102 C 782 79 752 59 720 41 C 688 23 654 9 619 -1 C 584 -11 548 -17 510 -18 C 466 -19 426 -15 392 -5 C 357 5 328 24 305 53 L 305 -410 L 164 -410 L 164 1079 Z" unicode="μ" />
-<glyph horiz-adv-x="1184" d="" unicode="√" />
-<glyph horiz-adv-x="1139" d="M 518 866 L 100 846 L 100 983 L 518 961 L 492 1516 L 647 1516 L 621 961 L 1038 983 L 1038 846 L 621 866 L 647 -410 L 492 -410 L 518 866 Z" unicode="†" />
-<glyph horiz-adv-x="1139" d="M 518 80 L 117 57 L 117 193 L 518 170 L 500 557 L 518 938 L 117 915 L 117 1051 L 518 1028 L 492 1516 L 647 1516 L 621 1028 L 1022 1051 L 1022 915 L 621 938 L 639 557 L 621 170 L 1022 193 L 1022 57 L 621 80 L 647 -410 L 492 -410 L 518 80 Z" unicode="‡" />
-<glyph horiz-adv-x="948" d="M 473 477 C 438 477 406 483 377 495 C 347 507 322 523 301 545 C 279 566 263 591 251 621 C 239 650 233 682 233 717 C 233 752 239 784 251 814 C 263 843 279 868 301 890 C 322 911 347 928 377 940 C 406 952 438 958 473 958 C 508 958 540 952 570 940 C 600 928 625 911 647 890 C 668 868 685 843 697 814 C 709 784 715 752 715 717 C 715 682 709 650 697 621 C 685 591 668 566 647 545 C 625 523 600 507 570 495 C 540 483 508 477 473 477 Z" unicode="•" />
-<glyph horiz-adv-x="1647" d="M 1284 193 L 1462 193 L 1462 0 L 1284 0 L 1284 193 Z M 735 193 L 913 193 L 913 0 L 735 0 L 735 193 Z M 186 193 L 362 193 L 362 0 L 186 0 L 186 193 Z" unicode="…" />
-<glyph horiz-adv-x="1331" d="" unicode="◊" />
-<glyph horiz-adv-x="1556" d="M 326 360 L 326 487 L 391 483 L 406 705 L 20 678 L 20 834 L 406 809 L 391 1034 L 326 1030 L 326 1155 L 385 1151 L 381 1210 L 508 1210 L 504 1145 L 727 1133 L 700 1516 L 856 1516 L 831 1133 L 1055 1145 L 1051 1210 L 1176 1210 L 1171 1151 L 1233 1155 L 1233 1030 L 1165 1032 L 1153 809 L 1536 834 L 1536 678 L 1153 705 L 1165 483 L 1233 487 L 1233 360 L 1171 365 L 1176 303 L 1051 303 L 1055 371 L 831 385 L 856 0 L 700 0 L 727 385 L 504 371 L 508 303 L 381 303 L 385 365 L 326 360 Z M 727 1051 L 498 1038 L 487 809 L 727 809 L 727 1051 Z M 831 1051 L 831 809 L 1071 809 L 1059 1038 L 831 1051 Z M 831 467 L 1059 477 L 1071 705 L 831 705 L 831 467 Z M 727 467 L 727 705 L 487 705 L 500 479 L 727 467 Z" unicode="" />
-<glyph horiz-adv-x="1894" d="" unicode="Ẁ" />
-<glyph horiz-adv-x="1530" d="" unicode="ẁ" />
-<glyph horiz-adv-x="1894" d="" unicode="Ẃ" />
-<glyph horiz-adv-x="1530" d="" unicode="ẃ" />
-<glyph horiz-adv-x="1894" d="" unicode="Ẅ" />
-<glyph horiz-adv-x="1530" d="" unicode="ẅ" />
-<glyph horiz-adv-x="1767" d="" unicode="℗" />
-<glyph horiz-adv-x="2824" d="M 2355 -20 C 2301 -20 2252 -9 2210 13 C 2168 35 2132 65 2103 105 C 2074 145 2052 192 2037 247 C 2022 302 2015 363 2015 430 C 2015 500 2023 563 2039 620 C 2055 676 2079 725 2109 765 C 2139 805 2175 835 2217 857 C 2259 878 2307 889 2359 889 C 2411 889 2458 878 2500 857 C 2542 835 2577 805 2606 766 C 2635 726 2657 679 2673 623 C 2689 567 2697 505 2697 436 C 2697 370 2689 309 2674 253 C 2658 197 2636 149 2607 109 C 2577 68 2541 36 2499 14 C 2457 -8 2409 -20 2355 -20 Z M 467 627 C 412 627 363 638 321 660 C 279 682 243 712 215 752 C 186 792 164 839 149 894 C 134 949 127 1010 127 1077 C 127 1147 135 1210 151 1267 C 167 1324 189 1373 219 1413 C 249 1453 285 1483 327 1505 C 369 1527 417 1538 469 1538 C 521 1538 568 1527 610 1506 C 652 1484 687 1454 716 1414 C 745 1374 767 1327 783 1271 C 799 1215 807 1153 807 1085 C 807 1018 799 957 784 901 C 768 845 746 796 717 756 C 688 715 653 683 611 661 C 569 638 521 627 467 627 Z M 1520 -20 C 1464 -20 1416 -9 1374 13 C 1332 35 1296 65 1267 105 C 1238 145 1216 192 1202 247 C 1187 302 1180 363 1180 430 C 1180 500 1188 563 1204 620 C 1220 676 1242 725 1272 765 C 1302 805 1338 835 1380 857 C 1422 878 1470 889 1522 889 C 1574 889 1621 878 1663 857 C 1705 835 1740 805 1769 766 C 1798 726 1820 679 1836 623 C 1852 567 1860 505 1860 436 C 1860 370 1852 309 1837 253 C 1821 197 1799 149 1770 109 C 1741 68 1706 36 1664 14 C 1622 -8 1574 -20 1520 -20 Z M 1520 92 C 1554 92 1584 100 1610 118 C 1636 136 1658 160 1676 191 C 1693 221 1706 257 1715 299 C 1724 341 1729 386 1729 434 C 1729 485 1724 532 1715 574 C 1706 616 1693 652 1675 682 C 1657 712 1636 735 1610 751 C 1584 767 1554 776 1520 776 C 1484 776 1453 767 1427 750 C 1401 732 1379 708 1362 678 C 1344 648 1331 612 1322 570 C 1313 528 1309 484 1309 436 C 1309 384 1313 337 1322 295 C 1331 253 1344 217 1362 187 C 1380 157 1402 133 1428 117 C 1454 100 1485 92 1520 92 Z M 2357 92 C 2391 92 2421 100 2447 118 C 2473 136 2495 160 2513 191 C 2530 221 2543 257 2552 299 C 2561 341 2566 386 2566 434 C 2566 485 2561 532 2552 574 C 2543 616 2530 652 2512 682 C 2494 712 2471 735 2445 751 C 2419 767 2389 776 2355 776 C 2321 776 2290 767 2264 750 C 2238 732 2216 708 2199 678 C 2181 648 2168 612 2159 570 C 2150 528 2146 484 2146 436 C 2146 384 2150 337 2159 295 C 2168 253 2182 217 2200 187 C 2218 157 2240 133 2266 117 C 2292 100 2323 92 2357 92 Z M 469 741 C 503 741 533 749 559 767 C 585 784 606 808 624 839 C 642 869 655 905 664 947 C 673 988 678 1033 678 1081 C 678 1132 673 1179 664 1221 C 654 1263 641 1299 623 1329 C 605 1359 583 1382 557 1398 C 531 1414 501 1423 467 1423 C 433 1423 402 1414 376 1397 C 350 1379 328 1355 310 1325 C 292 1295 278 1259 269 1218 C 260 1177 256 1133 256 1085 C 256 1033 260 986 270 944 C 279 902 293 866 311 836 C 329 806 351 782 378 766 C 404 749 435 741 469 741 Z M 1380 1516 L 1511 1516 L 606 0 L 475 0 L 1380 1516 Z" unicode="‰" />
-<glyph horiz-adv-x="1794" d="M 862 1516 L 1004 1516 L 1264 793 L 1528 1516 L 1671 1516 L 1671 649 L 1561 649 L 1561 1329 L 1309 649 L 1217 649 L 965 1329 L 965 649 L 862 649 L 862 1516 Z M 332 1419 L 61 1419 L 61 1516 L 709 1516 L 709 1419 L 440 1419 L 440 649 L 332 649 L 332 1419 Z" unicode="™" />
-<glyph horiz-adv-x="477" d="" unicode="′" />
-<glyph horiz-adv-x="1266" d="" unicode="Ỳ" />
-<glyph horiz-adv-x="1079" d="" unicode="ỳ" />
-<glyph horiz-adv-x="829" d="" unicode="″" />
-<glyph horiz-adv-x="1184" d="" unicode="✓" />
-<glyph horiz-adv-x="664" d="M 92 541 L 395 1079 L 543 1079 L 246 541 L 543 0 L 395 0 L 92 541 Z" unicode="‹" />
-<glyph horiz-adv-x="664" d="M 418 541 L 119 1079 L 266 1079 L 571 541 L 266 0 L 119 0 L 418 541 Z" unicode="›" />
-</font></defs></svg>
diff --git a/rootfs/web/src/assets/style/bentonsans-book.ttf b/rootfs/web/src/assets/style/bentonsans-book.ttf
deleted file mode 100644
index b08631f..0000000
Binary files a/rootfs/web/src/assets/style/bentonsans-book.ttf and /dev/null differ
diff --git a/rootfs/web/src/assets/style/bentonsans-book.woff b/rootfs/web/src/assets/style/bentonsans-book.woff
deleted file mode 100644
index b9fddca..0000000
Binary files a/rootfs/web/src/assets/style/bentonsans-book.woff and /dev/null differ
diff --git a/rootfs/web/src/assets/style/bentonsans-medium.eot b/rootfs/web/src/assets/style/bentonsans-medium.eot
deleted file mode 100644
index c092af1..0000000
Binary files a/rootfs/web/src/assets/style/bentonsans-medium.eot and /dev/null differ
diff --git a/rootfs/web/src/assets/style/bentonsans-medium.svg b/rootfs/web/src/assets/style/bentonsans-medium.svg
deleted file mode 100644
index 9091ce4..0000000
--- a/rootfs/web/src/assets/style/bentonsans-medium.svg
+++ /dev/null
@@ -1,416 +0,0 @@
-<?xml version="1.0" standalone="yes"?><svg version="1.1" xmlns = 'http://www.w3.org/2000/svg'><defs><font id='web' horiz-adv-x="1000">
-<font-face font-family="web" descent="-422" cap-height="1516" units-per-em="2048" bbox="-188,-555,2933,2005" x-height="1087" ascent="1522" />
-<missing-glyph horiz-adv-x="1024" d="" /><glyph horiz-adv-x="1024" d="" unicode=" " />
-<glyph horiz-adv-x="2048" d="" unicode=" " />
-<glyph horiz-adv-x="1331" d="" unicode=" " />
-<glyph horiz-adv-x="2662" d="" unicode=" " />
-<glyph horiz-adv-x="410" d="" unicode=" " />
-<glyph horiz-adv-x="1331" d="" unicode="‒" />
-<glyph horiz-adv-x="1331" d="M 123 530 L 123 748 L 1208 748 L 1208 530 L 123 530 Z" unicode="–" />
-<glyph horiz-adv-x="1915" d="M 123 530 L 123 748 L 1792 748 L 1792 530 L 123 530 Z" unicode="—" />
-<glyph horiz-adv-x="2048" d="" unicode="―" />
-<glyph horiz-adv-x="565" d="M 147 1020 L 147 1264 L 279 1516 L 395 1516 L 324 1286 L 418 1286 L 418 1020 L 147 1020 Z" unicode="‘" />
-<glyph horiz-adv-x="565" d="M 170 1020 L 242 1249 L 147 1249 L 147 1516 L 418 1516 L 418 1272 L 287 1020 L 170 1020 Z" unicode="’" />
-<glyph horiz-adv-x="565" d="M 170 -229 L 242 0 L 147 0 L 147 266 L 418 266 L 418 23 L 287 -229 L 170 -229 Z" unicode="‚" />
-<glyph horiz-adv-x="1010" d="M 592 1020 L 592 1264 L 723 1516 L 840 1516 L 768 1286 L 862 1286 L 862 1020 L 592 1020 Z M 147 1020 L 147 1264 L 279 1516 L 395 1516 L 324 1286 L 418 1286 L 418 1020 L 147 1020 Z" unicode="“" />
-<glyph horiz-adv-x="1010" d="M 614 1020 L 686 1249 L 592 1249 L 592 1516 L 862 1516 L 862 1272 L 731 1020 L 614 1020 Z M 170 1020 L 242 1249 L 147 1249 L 147 1516 L 418 1516 L 418 1272 L 287 1020 L 170 1020 Z" unicode="”" />
-<glyph horiz-adv-x="1010" d="M 614 -229 L 686 0 L 592 0 L 592 266 L 862 266 L 862 23 L 731 -229 L 614 -229 Z M 170 -229 L 242 0 L 147 0 L 147 266 L 418 266 L 418 23 L 287 -229 L 170 -229 Z" unicode="„" />
-<glyph horiz-adv-x="514" d="" unicode=" " />
-<glyph horiz-adv-x="694" d="M 262 453 L 195 1516 L 510 1516 L 442 453 L 262 453 Z M 211 0 L 211 256 L 494 256 L 494 0 L 211 0 Z" unicode="!" />
-<glyph horiz-adv-x="895" d="M 561 979 L 526 1380 L 526 1516 L 750 1516 L 750 1380 L 715 979 L 561 979 Z M 180 979 L 145 1380 L 145 1516 L 369 1516 L 369 1380 L 334 979 L 180 979 Z" unicode="&#x22;" />
-<glyph horiz-adv-x="1516" d="M 213 0 L 297 408 L 68 408 L 68 598 L 338 598 L 403 918 L 156 918 L 156 1108 L 444 1108 L 530 1516 L 758 1516 L 674 1108 L 969 1108 L 1055 1516 L 1282 1516 L 1196 1108 L 1448 1108 L 1448 918 L 1157 918 L 1090 598 L 1360 598 L 1360 408 L 1051 408 L 965 0 L 737 0 L 821 408 L 526 408 L 440 0 L 213 0 Z M 565 598 L 862 598 L 928 918 L 633 918 L 565 598 Z" unicode="#" />
-<glyph horiz-adv-x="1368" d="M 602 -14 C 535 -8 475 4 423 24 C 371 44 324 68 284 96 C 243 124 208 156 178 191 C 148 225 122 261 100 297 L 279 418 C 300 387 322 358 345 332 C 367 305 392 281 418 261 C 444 241 473 224 505 210 C 536 196 571 186 610 180 L 610 684 C 550 699 493 717 437 737 C 381 757 331 783 287 815 C 243 847 208 887 182 935 C 156 983 143 1042 143 1112 C 143 1170 153 1224 175 1274 C 196 1324 226 1367 266 1403 C 306 1439 354 1469 411 1491 C 467 1513 531 1527 602 1532 L 602 1677 L 766 1677 L 766 1528 C 822 1521 873 1509 917 1493 C 961 1476 1000 1456 1034 1432 C 1068 1408 1098 1382 1124 1354 C 1150 1325 1173 1295 1194 1264 L 1020 1128 C 1003 1153 986 1176 969 1198 C 952 1220 933 1239 913 1256 C 892 1273 869 1287 845 1299 C 820 1311 792 1319 760 1325 L 760 870 C 826 852 890 833 950 811 C 1010 789 1062 760 1107 726 C 1151 692 1187 650 1213 600 C 1239 550 1253 490 1253 418 C 1253 360 1243 307 1223 257 C 1203 207 1173 163 1133 125 C 1093 87 1042 55 981 31 C 920 7 848 -8 766 -14 L 766 -190 L 602 -190 L 602 -14 Z M 760 178 C 798 182 833 188 865 198 C 897 207 924 220 946 237 C 968 254 986 276 998 302 C 1010 328 1016 359 1016 395 C 1016 429 1010 460 998 486 C 986 512 969 534 947 554 C 925 573 898 590 866 604 C 834 618 799 631 760 643 L 760 178 Z M 610 1333 C 570 1329 536 1322 508 1311 C 479 1300 455 1286 436 1269 C 417 1251 403 1231 394 1209 C 385 1186 381 1161 381 1135 C 381 1103 386 1075 397 1052 C 407 1029 422 1009 442 991 C 462 973 486 958 514 946 C 542 933 574 921 610 911 L 610 1333 Z" unicode="$" />
-<glyph horiz-adv-x="2154" d="M 485 580 C 425 580 371 591 324 614 C 276 637 236 669 204 711 C 171 753 146 803 129 862 C 112 920 104 985 104 1057 C 104 1130 113 1196 131 1256 C 149 1315 174 1366 207 1408 C 240 1450 280 1482 328 1505 C 375 1528 428 1540 487 1540 C 545 1540 598 1528 645 1506 C 692 1483 732 1451 765 1409 C 797 1367 822 1317 840 1258 C 857 1199 866 1133 866 1061 C 866 989 857 924 840 865 C 822 806 797 755 765 713 C 733 671 693 638 646 615 C 598 591 545 580 485 580 Z M 1669 -20 C 1608 -20 1554 -8 1507 14 C 1459 37 1419 69 1387 111 C 1355 153 1330 203 1313 262 C 1296 320 1288 385 1288 457 C 1288 530 1297 596 1315 656 C 1333 715 1358 765 1391 807 C 1424 849 1464 881 1512 904 C 1559 926 1612 938 1671 938 C 1729 938 1782 926 1829 904 C 1875 882 1915 850 1948 808 C 1980 766 2005 716 2023 658 C 2041 599 2050 533 2050 461 C 2050 389 2041 324 2024 265 C 2006 206 1981 155 1949 113 C 1916 71 1876 38 1829 15 C 1781 -8 1728 -20 1669 -20 Z M 514 0 L 1419 1516 L 1640 1516 L 735 0 L 514 0 Z M 1669 158 C 1697 158 1722 165 1743 179 C 1764 193 1782 214 1796 240 C 1810 266 1820 297 1827 334 C 1833 371 1837 413 1837 459 C 1837 554 1823 628 1795 680 C 1767 732 1725 758 1669 758 C 1639 758 1614 751 1593 737 C 1571 723 1554 703 1540 677 C 1526 651 1515 620 1509 584 C 1502 547 1499 506 1499 461 C 1499 365 1513 291 1541 238 C 1569 184 1611 158 1669 158 Z M 487 760 C 515 760 539 767 560 781 C 581 795 598 815 612 841 C 626 867 636 898 643 935 C 649 972 653 1013 653 1059 C 653 1154 639 1228 611 1280 C 583 1332 541 1358 485 1358 C 456 1358 431 1351 410 1337 C 389 1323 372 1303 358 1277 C 344 1251 333 1220 327 1184 C 320 1147 317 1106 317 1061 C 317 965 331 890 359 838 C 387 786 429 760 487 760 Z" unicode="%" />
-<glyph horiz-adv-x="1503" d="M 578 -29 C 494 -29 420 -19 355 1 C 290 21 235 49 191 85 C 146 121 112 163 88 213 C 64 262 53 316 53 375 C 53 433 62 486 81 532 C 99 578 125 619 157 656 C 189 692 226 725 268 753 C 310 781 355 807 403 831 C 371 889 346 946 330 1002 C 313 1058 305 1114 305 1171 C 305 1219 313 1265 329 1310 C 345 1355 369 1395 402 1430 C 434 1464 476 1492 526 1513 C 576 1533 634 1544 702 1544 C 764 1544 818 1535 864 1518 C 910 1500 947 1477 977 1448 C 1007 1419 1029 1386 1043 1348 C 1057 1310 1065 1270 1065 1229 C 1065 1174 1055 1125 1035 1082 C 1015 1038 989 999 956 964 C 923 929 885 898 841 870 C 797 842 750 815 702 791 C 717 767 734 743 753 719 C 771 695 791 669 813 643 C 851 595 886 551 920 512 C 954 473 986 438 1018 408 C 1050 456 1076 510 1096 572 C 1116 633 1131 699 1141 770 L 1364 770 C 1351 681 1330 595 1302 512 C 1273 429 1235 353 1188 285 C 1237 251 1285 227 1332 212 C 1379 197 1428 190 1479 190 L 1479 -20 C 1434 -19 1392 -16 1352 -11 C 1312 -5 1274 2 1238 13 C 1201 23 1166 37 1132 53 C 1098 69 1064 89 1030 113 C 972 69 907 34 834 9 C 761 -16 676 -29 578 -29 Z M 616 930 C 648 948 678 966 706 985 C 734 1003 759 1024 780 1046 C 801 1068 818 1092 830 1118 C 842 1144 848 1174 848 1208 C 848 1226 844 1244 838 1262 C 832 1279 823 1294 811 1307 C 799 1320 784 1330 767 1338 C 749 1346 729 1350 707 1350 C 656 1350 616 1337 586 1311 C 556 1285 541 1243 541 1186 C 541 1144 547 1102 559 1061 C 571 1019 590 976 616 930 Z M 600 176 C 650 176 696 181 739 191 C 781 201 822 218 862 244 C 824 278 786 318 748 362 C 710 406 668 457 623 514 C 599 544 576 572 556 599 C 536 626 516 653 498 680 C 441 644 395 603 361 558 C 326 513 309 463 309 408 C 309 368 315 334 329 305 C 342 275 361 251 386 232 C 411 213 442 199 478 190 C 514 180 554 176 600 176 Z" unicode="&#x26;" />
-<glyph horiz-adv-x="514" d="M 180 979 L 145 1380 L 145 1516 L 369 1516 L 369 1380 L 334 979 L 180 979 Z" unicode="'" />
-<glyph horiz-adv-x="821" d="M 625 -420 C 541 -350 467 -277 403 -203 C 338 -128 284 -50 240 31 C 196 113 162 198 140 288 C 117 378 106 473 106 573 C 106 673 117 769 140 859 C 162 949 196 1034 240 1116 C 284 1197 338 1275 403 1350 C 467 1424 541 1497 625 1567 L 741 1442 C 685 1386 634 1325 589 1260 C 543 1195 505 1126 473 1054 C 441 981 416 904 399 824 C 381 744 373 660 373 573 C 373 485 381 401 399 320 C 417 239 442 162 475 89 C 507 15 547 -53 593 -119 C 639 -185 690 -246 748 -303 L 625 -420 Z" unicode="(" />
-<glyph horiz-adv-x="821" d="M 74 -303 C 130 -246 182 -185 228 -119 C 274 -53 314 15 347 89 C 379 162 404 239 422 320 C 440 401 449 485 449 573 C 449 660 440 744 422 824 C 404 904 380 981 348 1054 C 316 1126 277 1195 232 1260 C 186 1325 136 1386 80 1442 L 197 1567 C 280 1497 354 1424 418 1350 C 482 1275 537 1197 581 1116 C 625 1034 658 949 681 859 C 703 769 715 673 715 573 C 715 473 703 378 681 288 C 658 198 625 113 581 31 C 537 -50 482 -128 418 -203 C 354 -277 280 -350 197 -420 L 74 -303 Z" unicode=")" />
-<glyph horiz-adv-x="1040" d="M 369 662 L 223 745 L 424 1036 L 72 1012 L 72 1171 L 426 1147 L 223 1438 L 369 1524 L 520 1202 L 672 1524 L 817 1438 L 616 1147 L 969 1171 L 969 1012 L 616 1036 L 817 745 L 674 662 L 520 981 L 369 662 Z" unicode="*" />
-<glyph horiz-adv-x="1315" d="M 553 168 L 553 598 L 137 598 L 137 801 L 553 801 L 553 1231 L 762 1231 L 762 801 L 1180 801 L 1180 598 L 762 598 L 762 168 L 553 168 Z" unicode="+" />
-<glyph horiz-adv-x="565" d="M 178 -229 L 250 0 L 141 0 L 141 266 L 424 266 L 424 35 L 295 -229 L 178 -229 Z" unicode="," />
-<glyph horiz-adv-x="731" d="M 113 553 L 113 733 L 618 733 L 618 553 L 113 553 Z" unicode="-" />
-<glyph horiz-adv-x="565" d="M 141 0 L 141 266 L 424 266 L 424 0 L 141 0 Z" unicode="." />
-<glyph horiz-adv-x="1235" d="M 47 0 L 928 1516 L 1188 1516 L 307 0 L 47 0 Z" unicode="/" />
-<glyph horiz-adv-x="1389" d="M 696 -29 C 600 -29 515 -10 441 27 C 366 65 303 118 252 187 C 200 255 161 338 134 435 C 107 532 94 640 94 758 C 94 876 107 983 134 1080 C 161 1176 200 1259 252 1328 C 303 1396 366 1449 441 1487 C 515 1525 600 1544 696 1544 C 791 1544 876 1525 950 1487 C 1024 1449 1086 1396 1137 1328 C 1188 1259 1227 1176 1254 1080 C 1280 983 1294 876 1294 758 C 1294 640 1280 532 1254 435 C 1227 338 1188 255 1137 187 C 1086 118 1024 65 950 27 C 876 -10 791 -29 696 -29 Z M 696 197 C 805 197 889 243 949 335 C 1008 427 1038 568 1038 758 C 1038 852 1030 935 1014 1005 C 998 1075 976 1133 947 1179 C 917 1225 881 1259 839 1281 C 797 1303 749 1315 696 1315 C 584 1315 499 1269 439 1178 C 379 1087 350 947 350 758 C 350 663 358 580 374 510 C 390 440 412 381 442 335 C 472 289 508 254 551 231 C 593 208 642 197 696 197 Z" unicode="0" />
-<glyph horiz-adv-x="918" d="M 88 0 L 88 225 L 367 225 L 367 1255 C 348 1245 327 1236 305 1228 C 282 1220 258 1212 234 1206 C 210 1200 185 1195 161 1191 C 137 1187 114 1186 92 1186 L 92 1417 C 150 1419 204 1428 252 1444 C 300 1460 341 1484 375 1516 L 616 1516 L 616 225 L 864 225 L 864 0 L 88 0 Z" unicode="1" />
-<glyph horiz-adv-x="1235" d="M 72 0 L 72 33 C 72 87 78 142 90 196 C 102 250 125 306 159 362 C 193 418 242 475 304 534 C 366 593 447 655 547 719 C 605 756 654 789 695 819 C 735 848 769 877 795 905 C 821 933 840 962 852 992 C 864 1022 870 1056 870 1096 C 870 1131 864 1162 853 1190 C 841 1217 825 1240 805 1258 C 784 1276 759 1290 730 1300 C 701 1310 669 1315 633 1315 C 566 1315 502 1295 440 1256 C 378 1217 324 1162 276 1092 L 86 1223 C 116 1269 150 1312 188 1352 C 226 1391 268 1425 314 1454 C 360 1482 410 1504 465 1520 C 519 1536 579 1544 645 1544 C 719 1544 785 1533 844 1513 C 903 1492 953 1463 994 1425 C 1034 1387 1065 1342 1087 1290 C 1109 1237 1120 1178 1120 1114 C 1120 1068 1115 1024 1105 983 C 1095 941 1076 900 1050 860 C 1023 820 986 779 940 737 C 894 695 834 652 762 606 C 701 568 648 531 602 497 C 556 463 517 430 485 399 C 453 367 427 337 409 309 C 390 280 377 252 371 225 L 1128 225 L 1128 0 L 72 0 Z" unicode="2" />
-<glyph horiz-adv-x="1249" d="M 600 -29 C 479 -29 371 -6 276 38 C 181 83 101 150 37 238 L 215 381 C 241 347 268 318 298 294 C 327 270 358 251 390 237 C 422 223 455 212 490 206 C 524 200 560 197 596 197 C 642 197 684 201 722 210 C 760 219 792 233 819 252 C 845 271 866 295 881 325 C 895 354 903 389 903 430 C 903 478 894 518 877 551 C 859 584 833 611 798 632 C 763 653 719 668 667 678 C 614 687 552 692 481 692 L 412 692 L 412 901 L 487 901 C 561 901 622 906 670 917 C 718 927 757 942 785 962 C 813 981 833 1004 845 1031 C 856 1058 862 1088 862 1122 C 862 1152 857 1178 848 1202 C 838 1226 823 1246 803 1262 C 782 1278 755 1291 722 1300 C 689 1308 649 1313 602 1313 C 537 1313 474 1300 412 1275 C 350 1249 297 1213 252 1167 L 102 1327 C 133 1359 168 1389 207 1416 C 246 1442 288 1465 333 1484 C 377 1502 424 1517 474 1527 C 524 1537 575 1542 627 1542 C 708 1542 779 1532 840 1514 C 901 1495 952 1469 992 1435 C 1032 1401 1063 1360 1083 1313 C 1103 1266 1114 1215 1114 1159 C 1114 1067 1089 991 1041 931 C 993 870 924 828 836 805 C 947 782 1028 737 1080 671 C 1131 605 1157 521 1157 420 C 1157 352 1143 290 1117 235 C 1091 179 1053 132 1005 93 C 956 54 897 24 829 3 C 761 -18 684 -29 600 -29 Z" unicode="3" />
-<glyph horiz-adv-x="1325" d="M 786 0 L 786 311 L 49 311 L 49 512 L 739 1516 L 1034 1516 L 1034 532 L 1290 532 L 1290 311 L 1034 311 L 1034 0 L 786 0 Z M 326 532 L 786 532 L 786 1210 L 782 1210 L 326 532 Z" unicode="4" />
-<glyph horiz-adv-x="1225" d="M 592 -29 C 533 -29 477 -23 425 -12 C 373 -1 324 14 278 34 C 232 54 189 78 151 106 C 112 134 77 166 47 201 L 205 369 C 230 345 256 322 284 301 C 312 280 341 262 371 246 C 401 230 434 218 469 210 C 503 201 540 197 580 197 C 636 197 684 204 725 220 C 765 235 799 256 826 283 C 852 310 872 342 885 380 C 898 417 905 458 905 502 C 905 552 898 595 884 633 C 870 670 851 701 825 725 C 799 749 768 768 732 780 C 695 792 654 799 608 799 C 545 799 488 788 438 766 C 387 744 341 706 301 653 L 131 709 L 190 1516 L 1063 1516 L 1044 1290 L 389 1290 L 358 899 C 372 915 390 929 410 943 C 430 957 454 969 480 979 C 506 989 535 997 568 1003 C 600 1009 636 1012 676 1012 C 752 1012 819 999 879 975 C 939 951 989 917 1031 873 C 1072 829 1104 776 1126 714 C 1148 652 1159 584 1159 510 C 1159 431 1146 359 1120 293 C 1094 227 1056 170 1007 122 C 958 74 899 37 829 11 C 759 -15 680 -29 592 -29 Z" unicode="5" />
-<glyph horiz-adv-x="1303" d="M 680 -29 C 592 -29 513 -13 441 18 C 369 50 308 97 256 161 C 204 224 164 303 136 398 C 108 493 94 604 94 731 C 94 865 111 982 146 1084 C 181 1185 228 1270 288 1338 C 348 1406 417 1457 497 1492 C 576 1526 660 1544 750 1544 C 792 1544 833 1540 871 1534 C 909 1527 945 1518 978 1506 C 1011 1494 1041 1481 1069 1467 C 1096 1452 1120 1437 1141 1421 L 1018 1233 C 982 1257 942 1278 897 1295 C 851 1312 799 1321 739 1321 C 681 1321 629 1308 582 1284 C 535 1260 495 1225 461 1180 C 427 1135 400 1081 380 1017 C 360 953 348 881 346 801 C 372 823 399 845 429 865 C 458 885 489 902 522 917 C 555 932 590 944 627 952 C 664 960 703 965 745 965 C 817 965 882 954 942 934 C 1002 913 1053 883 1095 843 C 1137 803 1170 753 1194 693 C 1217 633 1229 565 1229 487 C 1229 411 1214 341 1185 278 C 1156 214 1117 160 1067 114 C 1017 68 959 33 893 8 C 826 -16 755 -29 680 -29 Z M 692 188 C 738 188 779 194 815 208 C 851 221 882 240 907 266 C 932 291 951 321 965 357 C 978 393 985 433 985 479 C 985 518 980 554 970 588 C 960 621 943 650 921 674 C 899 698 869 717 833 731 C 796 745 751 752 698 752 C 662 752 626 747 592 739 C 557 731 524 720 494 706 C 463 692 435 676 410 658 C 385 640 364 621 348 602 C 353 528 365 465 384 413 C 402 361 426 318 456 285 C 486 251 521 227 561 211 C 601 195 644 188 692 188 Z" unicode="6" />
-<glyph horiz-adv-x="1112" d="M 197 0 L 801 1290 L 55 1290 L 55 1516 L 1065 1516 L 1065 1307 L 459 0 L 197 0 Z" unicode="7" />
-<glyph horiz-adv-x="1280" d="M 641 -35 C 549 -35 467 -24 395 -4 C 323 15 262 44 212 81 C 162 118 124 162 98 213 C 72 263 59 319 59 381 C 59 431 68 476 86 518 C 104 559 129 596 161 630 C 193 664 232 694 276 722 C 320 749 369 774 422 797 C 376 819 335 841 299 865 C 263 889 232 915 207 944 C 181 973 162 1006 149 1042 C 135 1078 129 1119 129 1167 C 129 1215 140 1261 162 1307 C 184 1353 216 1394 259 1430 C 302 1466 356 1495 420 1517 C 484 1539 557 1550 641 1550 C 726 1550 801 1539 865 1517 C 929 1495 982 1466 1024 1430 C 1066 1394 1098 1353 1119 1307 C 1140 1261 1151 1215 1151 1167 C 1151 1083 1125 1012 1074 954 C 1022 895 950 845 858 803 C 913 779 963 754 1008 728 C 1052 702 1090 672 1122 640 C 1154 607 1178 570 1195 528 C 1212 486 1221 437 1221 381 C 1221 320 1207 264 1181 214 C 1155 163 1117 119 1067 82 C 1017 45 957 16 885 -4 C 813 -24 732 -35 641 -35 Z M 657 891 C 699 911 736 930 767 949 C 798 967 824 987 844 1007 C 864 1027 878 1048 888 1071 C 898 1094 903 1120 903 1149 C 903 1173 898 1196 888 1219 C 878 1242 862 1263 841 1281 C 820 1299 793 1313 760 1324 C 727 1335 687 1341 641 1341 C 595 1341 556 1335 523 1325 C 490 1315 463 1301 441 1284 C 419 1267 403 1247 393 1224 C 382 1201 377 1177 377 1153 C 377 1121 383 1094 395 1070 C 407 1046 424 1023 448 1003 C 471 983 500 964 535 946 C 570 928 611 909 657 891 Z M 641 172 C 690 172 735 177 775 187 C 815 197 849 212 877 231 C 905 250 926 273 942 301 C 957 329 965 360 965 395 C 965 429 958 459 944 487 C 930 515 908 541 880 565 C 851 589 815 612 773 634 C 730 656 680 678 623 702 C 573 678 528 655 490 633 C 452 611 420 587 394 563 C 368 538 348 512 335 485 C 321 457 315 427 315 395 C 315 361 322 330 338 303 C 353 275 375 252 403 233 C 431 213 466 198 506 188 C 546 177 591 172 641 172 Z" unicode="8" />
-<glyph horiz-adv-x="1303" d="M 553 -29 C 510 -29 469 -25 431 -18 C 393 -11 357 -2 324 9 C 291 20 261 33 234 48 C 206 62 182 78 162 94 L 285 283 C 319 257 359 235 405 217 C 451 199 503 190 563 190 C 620 190 672 202 719 227 C 766 251 807 286 841 332 C 875 378 901 433 921 498 C 941 562 952 635 956 715 C 930 691 903 670 874 650 C 844 630 813 613 780 598 C 747 583 712 571 675 563 C 637 555 598 551 557 551 C 485 551 419 561 360 582 C 300 602 249 633 207 673 C 165 713 132 762 109 822 C 85 881 74 950 74 1028 C 74 1104 88 1173 117 1237 C 146 1300 185 1354 235 1400 C 285 1446 343 1481 410 1506 C 476 1531 547 1544 623 1544 C 709 1544 789 1528 861 1496 C 933 1464 994 1417 1046 1354 C 1097 1290 1137 1211 1165 1116 C 1193 1021 1208 910 1208 784 C 1208 650 1190 533 1155 432 C 1120 330 1073 245 1014 177 C 954 109 885 57 805 23 C 725 -11 641 -29 553 -29 Z M 604 764 C 640 764 675 768 710 776 C 745 784 778 795 809 809 C 839 823 867 839 892 857 C 917 875 938 893 954 913 C 948 986 936 1048 918 1100 C 900 1152 876 1194 846 1227 C 816 1260 781 1284 741 1300 C 701 1315 658 1323 610 1323 C 517 1323 445 1298 394 1248 C 342 1198 317 1127 317 1036 C 317 996 322 960 332 927 C 342 893 358 865 380 841 C 402 817 432 798 469 784 C 505 770 550 764 604 764 Z" unicode="9" />
-<glyph horiz-adv-x="584" d="M 152 819 L 152 1087 L 432 1087 L 432 819 L 152 819 Z M 152 0 L 152 266 L 432 266 L 432 0 L 152 0 Z" unicode=":" />
-<glyph horiz-adv-x="584" d="M 184 -229 L 256 0 L 152 0 L 152 266 L 432 266 L 432 39 L 301 -229 L 184 -229 Z M 152 819 L 152 1087 L 432 1087 L 432 819 L 152 819 Z" unicode=";" />
-<glyph horiz-adv-x="1315" d="M 1200 119 L 117 590 L 117 737 L 1200 1208 L 1200 995 L 391 664 L 1200 332 L 1200 119 Z" unicode="&#x3C;" />
-<glyph horiz-adv-x="1315" d="M 139 809 L 139 995 L 1174 995 L 1174 809 L 139 809 Z M 139 342 L 139 528 L 1174 528 L 1174 342 L 139 342 Z" unicode="=" />
-<glyph horiz-adv-x="1315" d="M 123 119 L 123 332 L 932 664 L 123 995 L 123 1208 L 1206 737 L 1206 590 L 123 119 Z" unicode="&#x3E;" />
-<glyph horiz-adv-x="1171" d="M 434 449 C 430 473 428 497 428 520 C 428 543 428 567 428 592 C 428 666 445 729 480 780 C 515 831 565 875 629 911 C 662 930 691 948 715 964 C 739 980 760 998 776 1016 C 792 1034 803 1053 811 1075 C 819 1097 823 1123 823 1153 C 823 1204 802 1244 761 1274 C 720 1304 662 1319 588 1319 C 550 1319 513 1314 479 1304 C 444 1294 411 1280 381 1264 C 350 1247 322 1228 297 1207 C 271 1186 249 1165 231 1143 L 70 1288 C 99 1324 132 1357 168 1388 C 204 1419 245 1446 289 1469 C 333 1492 382 1510 435 1524 C 488 1537 546 1544 610 1544 C 686 1544 753 1534 811 1516 C 869 1498 917 1472 956 1439 C 995 1406 1025 1367 1045 1321 C 1065 1275 1075 1225 1075 1171 C 1075 1122 1068 1079 1055 1043 C 1042 1006 1024 973 1002 945 C 980 917 953 892 923 870 C 892 848 859 827 825 809 C 795 792 769 777 749 763 C 728 749 711 734 697 719 C 683 704 673 688 665 672 C 657 655 652 636 648 615 C 644 593 642 569 642 542 C 641 515 641 484 641 449 L 434 449 Z M 397 0 L 397 256 L 678 256 L 678 0 L 397 0 Z" unicode="?" />
-<glyph horiz-adv-x="1778" d="M 877 -29 C 758 -29 650 -9 554 29 C 457 67 374 121 306 191 C 238 261 185 344 148 440 C 110 536 92 641 92 756 C 92 870 111 976 151 1072 C 190 1168 245 1252 315 1322 C 385 1392 470 1446 568 1485 C 666 1524 773 1544 891 1544 C 1008 1544 1115 1525 1213 1487 C 1310 1449 1394 1397 1464 1329 C 1534 1261 1588 1181 1627 1087 C 1666 993 1686 890 1686 778 C 1686 708 1677 644 1659 587 C 1641 530 1616 481 1584 441 C 1551 401 1511 370 1464 348 C 1417 326 1365 315 1307 315 C 1231 315 1172 328 1130 354 C 1088 380 1059 419 1044 469 C 1002 427 955 394 903 370 C 851 346 789 334 717 334 C 674 334 635 340 600 354 C 565 367 535 387 510 414 C 484 440 465 474 451 514 C 437 554 430 600 430 653 C 430 734 440 808 461 876 C 482 944 511 1002 548 1050 C 584 1098 627 1136 677 1163 C 727 1190 780 1204 838 1204 C 869 1204 897 1201 922 1195 C 946 1189 968 1182 988 1173 C 1008 1163 1025 1152 1041 1139 C 1057 1126 1071 1112 1085 1098 L 1100 1188 L 1296 1188 L 1200 580 C 1192 533 1200 496 1222 470 C 1244 443 1281 430 1333 430 C 1365 430 1396 437 1424 452 C 1452 466 1477 488 1498 517 C 1518 545 1535 581 1547 624 C 1559 666 1565 716 1565 772 C 1565 868 1548 957 1516 1037 C 1483 1117 1437 1186 1378 1244 C 1318 1302 1247 1347 1165 1379 C 1082 1411 991 1427 891 1427 C 790 1427 698 1410 616 1377 C 534 1344 463 1298 404 1239 C 345 1179 299 1108 267 1026 C 235 944 219 854 219 756 C 219 656 234 565 266 483 C 298 400 343 329 401 269 C 459 209 528 163 610 130 C 692 96 783 80 883 80 C 961 80 1033 88 1097 106 C 1161 123 1223 150 1282 186 L 1337 98 C 1275 58 1205 26 1127 4 C 1049 -17 965 -29 877 -29 Z M 788 487 C 827 487 865 495 901 512 C 937 529 972 554 1006 588 L 1063 950 C 1035 982 1006 1005 976 1019 C 946 1033 911 1040 870 1040 C 832 1040 798 1029 768 1009 C 738 989 713 962 693 928 C 672 894 656 855 645 811 C 634 767 629 721 629 674 C 629 610 642 562 668 532 C 694 502 734 487 788 487 Z" unicode="@" />
-<glyph horiz-adv-x="1427" d="M 51 0 L 588 1522 L 840 1522 L 1376 0 L 1114 0 L 991 360 L 416 360 L 291 0 L 51 0 Z M 494 586 L 915 586 L 709 1200 L 705 1200 L 494 586 Z" unicode="A" />
-<glyph horiz-adv-x="1438" d="M 172 0 L 172 1516 L 745 1516 C 821 1516 891 1509 956 1496 C 1020 1482 1076 1461 1123 1431 C 1170 1401 1207 1363 1234 1315 C 1260 1267 1274 1208 1274 1139 C 1274 1086 1267 1040 1253 1000 C 1239 960 1221 925 1197 897 C 1173 868 1144 845 1112 828 C 1079 810 1044 798 1006 791 L 1006 786 C 1052 777 1095 764 1133 746 C 1171 728 1204 704 1232 674 C 1259 644 1280 608 1296 566 C 1311 524 1319 474 1319 416 C 1319 346 1305 285 1278 233 C 1251 181 1214 137 1166 103 C 1118 69 1062 43 996 26 C 930 8 859 0 782 0 L 172 0 Z M 424 221 L 756 221 C 864 221 943 239 993 275 C 1042 311 1067 366 1067 442 C 1067 482 1059 517 1044 545 C 1029 573 1007 597 978 615 C 949 633 914 646 872 654 C 830 662 783 666 729 666 L 424 666 L 424 221 Z M 424 883 L 721 883 C 822 883 898 899 950 931 C 1002 963 1028 1016 1028 1090 C 1028 1126 1022 1156 1010 1182 C 998 1207 980 1228 956 1244 C 931 1260 899 1271 861 1279 C 823 1286 777 1290 725 1290 L 424 1290 L 424 883 Z" unicode="B" />
-<glyph horiz-adv-x="1468" d="M 764 -29 C 666 -29 577 -12 496 21 C 414 54 344 104 285 170 C 226 236 180 319 147 418 C 114 516 98 631 98 762 C 98 888 114 1000 148 1098 C 182 1195 228 1277 288 1343 C 347 1409 417 1459 499 1493 C 580 1527 668 1544 764 1544 C 852 1544 929 1532 995 1509 C 1061 1486 1117 1454 1164 1412 C 1211 1370 1250 1321 1280 1263 C 1310 1205 1334 1142 1352 1073 L 1108 1004 C 1094 1054 1077 1097 1058 1135 C 1039 1173 1016 1204 989 1230 C 961 1256 929 1275 892 1288 C 855 1300 812 1307 762 1307 C 698 1307 640 1294 590 1270 C 540 1246 497 1210 463 1164 C 428 1118 401 1061 383 994 C 365 926 356 850 356 764 C 356 674 365 594 384 524 C 402 454 429 396 465 349 C 500 301 543 265 594 241 C 644 217 702 205 766 205 C 815 205 859 211 898 224 C 936 236 970 256 1000 282 C 1030 308 1055 342 1077 383 C 1098 424 1116 473 1130 530 L 1374 475 C 1355 399 1329 331 1296 269 C 1263 207 1222 154 1172 110 C 1122 66 1064 31 996 7 C 928 -16 851 -29 764 -29 Z" unicode="C" />
-<glyph horiz-adv-x="1491" d="M 172 0 L 172 1516 L 604 1516 C 722 1516 830 1501 927 1473 C 1024 1444 1107 1399 1176 1338 C 1244 1277 1297 1199 1335 1105 C 1372 1010 1391 896 1391 764 C 1391 628 1372 512 1334 416 C 1296 320 1242 241 1173 179 C 1104 117 1021 72 925 43 C 828 14 721 0 604 0 L 172 0 Z M 428 229 L 627 229 C 713 229 788 238 852 258 C 916 278 969 309 1011 352 C 1053 395 1084 450 1104 518 C 1124 586 1135 668 1135 764 C 1135 854 1124 932 1104 997 C 1083 1062 1051 1115 1009 1157 C 967 1199 913 1229 849 1249 C 785 1268 709 1278 623 1278 L 428 1278 L 428 229 Z" unicode="D" />
-<glyph horiz-adv-x="1272" d="M 172 0 L 172 1516 L 1151 1516 L 1151 1278 L 428 1278 L 428 901 L 958 901 L 958 674 L 428 674 L 428 233 L 1192 233 L 1192 0 L 172 0 Z" unicode="E" />
-<glyph horiz-adv-x="1184" d="M 172 0 L 172 1516 L 1126 1516 L 1126 1278 L 428 1278 L 428 872 L 934 872 L 934 645 L 428 645 L 428 0 L 172 0 Z" unicode="F" />
-<glyph horiz-adv-x="1526" d="M 745 -29 C 636 -29 541 -9 460 30 C 379 69 312 124 258 194 C 204 264 164 347 138 444 C 111 541 98 648 98 764 C 98 885 113 994 145 1090 C 177 1186 222 1268 280 1336 C 338 1403 409 1454 491 1490 C 573 1526 664 1544 766 1544 C 838 1544 904 1535 966 1518 C 1028 1500 1084 1472 1134 1434 C 1184 1396 1227 1346 1264 1286 C 1301 1226 1331 1153 1354 1067 L 1116 1004 C 1099 1060 1080 1108 1058 1147 C 1036 1185 1010 1216 982 1240 C 954 1264 921 1281 885 1291 C 849 1301 808 1307 764 1307 C 734 1307 703 1303 671 1297 C 639 1290 608 1278 578 1262 C 548 1246 519 1224 492 1198 C 465 1171 441 1138 421 1098 C 401 1058 385 1011 373 957 C 361 903 356 840 356 770 C 356 664 367 574 391 502 C 414 429 445 370 484 326 C 523 282 568 250 618 230 C 668 210 720 201 774 201 C 824 201 869 208 911 223 C 953 237 989 259 1020 288 C 1050 316 1075 352 1094 395 C 1112 437 1124 487 1128 543 L 823 543 L 823 750 L 1374 750 L 1374 0 L 1163 0 L 1163 219 L 1159 219 C 1147 191 1129 163 1107 134 C 1084 105 1056 78 1022 54 C 988 30 948 10 902 -5 C 856 -21 803 -29 745 -29 Z" unicode="G" />
-<glyph horiz-adv-x="1544" d="M 172 0 L 172 1516 L 428 1516 L 428 911 L 1116 911 L 1116 1516 L 1372 1516 L 1372 0 L 1116 0 L 1116 674 L 428 674 L 428 0 L 172 0 Z" unicode="H" />
-<glyph horiz-adv-x="635" d="M 188 0 L 188 1516 L 446 1516 L 446 0 L 188 0 Z" unicode="I" />
-<glyph horiz-adv-x="1065" d="M 449 -29 C 357 -29 278 -13 212 17 C 146 48 87 91 37 145 L 197 303 C 210 289 225 276 242 263 C 258 250 276 239 296 229 C 316 219 337 210 360 204 C 382 198 406 195 432 195 C 467 195 499 199 527 207 C 555 215 578 229 598 249 C 618 269 633 295 643 329 C 653 362 659 404 659 455 L 659 1516 L 915 1516 L 915 420 C 915 349 904 286 884 230 C 863 174 833 127 793 89 C 753 51 704 21 646 1 C 588 -18 523 -29 449 -29 Z" unicode="J" />
-<glyph horiz-adv-x="1430" d="M 172 0 L 172 1516 L 428 1516 L 428 811 L 1024 1516 L 1327 1516 L 811 932 L 1391 0 L 1098 0 L 643 735 L 428 498 L 428 0 L 172 0 Z" unicode="K" />
-<glyph horiz-adv-x="1184" d="M 172 0 L 172 1516 L 428 1516 L 428 233 L 1126 233 L 1126 0 L 172 0 Z" unicode="L" />
-<glyph horiz-adv-x="1829" d="M 172 0 L 172 1516 L 510 1516 L 915 313 L 920 313 L 1313 1516 L 1657 1516 L 1657 0 L 1409 0 L 1409 1130 L 1405 1130 C 1393 1078 1380 1027 1364 977 C 1348 927 1332 875 1315 821 L 1020 0 L 793 0 L 500 821 C 490 848 482 873 474 896 C 466 919 459 943 452 967 C 444 991 437 1016 430 1044 C 423 1072 416 1104 408 1141 L 403 1141 L 403 0 L 172 0 Z" unicode="M" />
-<glyph horiz-adv-x="1563" d="M 172 0 L 172 1516 L 432 1516 L 1149 434 L 1153 434 L 1153 1516 L 1391 1516 L 1391 0 L 1157 0 L 414 1104 L 410 1104 L 410 0 L 172 0 Z" unicode="N" />
-<glyph horiz-adv-x="1565" d="M 784 -29 C 688 -29 598 -12 514 22 C 430 56 358 106 296 173 C 234 239 186 322 151 420 C 115 518 98 630 98 758 C 98 885 115 998 151 1096 C 186 1194 234 1276 296 1342 C 358 1408 430 1459 514 1493 C 598 1527 688 1544 784 1544 C 880 1544 969 1527 1052 1493 C 1135 1459 1207 1408 1269 1342 C 1330 1276 1378 1194 1413 1096 C 1448 998 1466 885 1466 758 C 1466 630 1448 518 1413 420 C 1378 322 1330 239 1269 173 C 1207 106 1135 56 1052 22 C 969 -12 880 -29 784 -29 Z M 784 203 C 847 203 905 215 957 239 C 1009 263 1054 299 1091 346 C 1128 393 1157 451 1177 520 C 1197 589 1208 668 1208 758 C 1208 846 1197 925 1177 994 C 1157 1062 1128 1120 1091 1167 C 1054 1213 1009 1249 957 1273 C 905 1297 847 1309 784 1309 C 719 1309 660 1297 608 1273 C 555 1249 510 1213 473 1167 C 435 1120 406 1062 386 994 C 366 925 356 846 356 758 C 356 668 366 589 386 520 C 406 451 435 393 473 346 C 510 299 555 263 608 239 C 660 215 719 203 784 203 Z" unicode="O" />
-<glyph horiz-adv-x="1358" d="M 172 0 L 172 1516 L 702 1516 C 784 1516 860 1508 931 1492 C 1002 1476 1064 1450 1117 1414 C 1169 1378 1211 1330 1241 1271 C 1271 1211 1286 1138 1286 1051 C 1286 959 1269 882 1237 821 C 1205 760 1161 711 1107 675 C 1052 639 989 613 918 598 C 846 582 772 575 694 575 L 426 575 L 426 0 L 172 0 Z M 426 799 L 707 799 C 763 799 811 803 853 812 C 894 821 928 835 955 855 C 981 874 1001 899 1014 930 C 1027 961 1034 998 1034 1042 C 1034 1126 1007 1187 954 1225 C 901 1263 818 1282 705 1282 L 426 1282 L 426 799 Z" unicode="P" />
-<glyph horiz-adv-x="1565" d="M 1116 -395 C 1036 -395 966 -385 907 -366 C 847 -346 798 -320 759 -286 C 719 -252 689 -211 669 -164 C 649 -117 638 -66 637 -10 C 560 4 489 31 423 71 C 357 111 299 164 251 230 C 203 295 165 372 137 460 C 109 548 96 648 96 758 C 96 885 114 998 151 1096 C 188 1194 238 1276 301 1342 C 364 1408 437 1459 520 1493 C 603 1527 690 1544 782 1544 C 873 1544 960 1527 1042 1493 C 1124 1459 1197 1408 1260 1342 C 1322 1276 1372 1194 1409 1096 C 1445 998 1464 885 1464 758 C 1464 644 1449 542 1420 452 C 1391 362 1351 284 1300 218 C 1249 152 1189 100 1120 61 C 1051 21 977 -4 897 -16 C 905 -53 917 -82 934 -104 C 951 -125 973 -141 1000 -152 C 1026 -163 1058 -170 1095 -173 C 1131 -176 1173 -178 1221 -178 L 1325 -178 L 1325 -395 L 1116 -395 Z M 782 199 C 845 199 903 211 955 236 C 1007 260 1052 296 1089 344 C 1126 392 1155 450 1175 520 C 1195 589 1206 668 1206 758 C 1206 846 1195 925 1175 994 C 1155 1062 1126 1120 1089 1167 C 1052 1213 1007 1249 955 1273 C 903 1297 845 1309 782 1309 C 717 1309 658 1297 606 1273 C 553 1249 508 1213 471 1167 C 433 1120 404 1062 384 994 C 364 925 354 846 354 758 C 354 668 364 589 384 520 C 404 450 433 392 471 344 C 508 296 553 260 606 236 C 658 211 717 199 782 199 Z" unicode="Q" />
-<glyph horiz-adv-x="1415" d="M 172 0 L 172 1516 L 715 1516 C 805 1516 885 1506 956 1488 C 1026 1470 1086 1442 1134 1404 C 1182 1366 1219 1319 1245 1262 C 1271 1205 1284 1138 1284 1061 C 1284 1000 1276 946 1261 899 C 1245 851 1223 810 1195 774 C 1166 738 1131 709 1089 685 C 1047 661 1000 643 948 631 L 1305 0 L 1030 0 L 690 598 L 424 598 L 424 0 L 172 0 Z M 424 821 L 705 821 C 758 821 805 824 846 832 C 886 839 920 852 948 870 C 976 888 997 912 1011 942 C 1025 972 1032 1009 1032 1055 C 1032 1098 1025 1134 1011 1163 C 997 1192 976 1215 948 1233 C 920 1251 886 1263 845 1271 C 804 1278 756 1282 702 1282 L 424 1282 L 424 821 Z" unicode="R" />
-<glyph horiz-adv-x="1380" d="M 702 -29 C 626 -29 557 -19 493 -1 C 429 17 371 43 320 77 C 268 111 223 151 185 199 C 147 246 116 298 92 356 L 295 463 C 340 373 397 307 466 264 C 535 220 617 199 713 199 C 759 199 801 202 839 210 C 877 218 909 230 936 246 C 963 262 984 282 999 307 C 1014 331 1022 361 1022 395 C 1022 427 1015 456 1003 481 C 991 506 971 529 944 550 C 916 570 881 589 837 607 C 793 625 740 643 678 662 C 629 676 582 690 537 705 C 492 719 450 735 411 753 C 371 771 336 791 304 813 C 272 835 244 860 222 889 C 199 917 181 950 169 988 C 156 1025 150 1068 150 1116 C 150 1180 162 1239 187 1292 C 212 1344 247 1389 293 1427 C 339 1464 393 1493 457 1513 C 520 1533 590 1544 668 1544 C 742 1544 809 1535 869 1518 C 929 1500 982 1477 1029 1448 C 1075 1418 1115 1384 1149 1345 C 1183 1305 1211 1263 1235 1219 L 1049 1090 C 1003 1166 948 1221 884 1257 C 820 1293 748 1311 666 1311 C 581 1311 516 1296 470 1266 C 424 1236 401 1194 401 1139 C 401 1103 408 1073 422 1048 C 436 1023 457 1001 486 982 C 515 962 552 944 597 928 C 642 912 696 895 758 877 C 829 855 896 833 959 809 C 1021 785 1076 755 1123 720 C 1169 685 1206 643 1233 594 C 1260 544 1274 484 1274 414 C 1274 352 1261 294 1235 240 C 1209 186 1172 139 1123 99 C 1074 59 1014 28 943 5 C 872 -17 792 -29 702 -29 Z" unicode="S" />
-<glyph horiz-adv-x="1300" d="M 522 0 L 522 1278 L 55 1278 L 55 1516 L 1245 1516 L 1245 1278 L 778 1278 L 778 0 L 522 0 Z" unicode="T" />
-<glyph horiz-adv-x="1477" d="M 739 -25 C 635 -25 545 -11 471 17 C 397 45 336 84 289 135 C 241 185 207 246 185 317 C 163 388 152 467 152 553 L 152 1516 L 408 1516 L 408 575 C 408 517 414 465 427 420 C 440 374 460 336 487 304 C 514 272 549 248 591 232 C 633 215 683 207 741 207 C 799 207 848 215 890 231 C 932 247 966 271 993 302 C 1020 333 1040 371 1053 417 C 1066 463 1073 515 1073 573 L 1073 1516 L 1325 1516 L 1325 555 C 1325 469 1312 390 1288 319 C 1264 247 1227 186 1178 135 C 1129 84 1068 45 995 17 C 922 -11 837 -25 739 -25 Z" unicode="U" />
-<glyph horiz-adv-x="1397" d="M 578 -6 L 51 1516 L 311 1516 L 702 334 L 707 334 L 1104 1516 L 1346 1516 L 819 -6 L 578 -6 Z" unicode="V" />
-<glyph horiz-adv-x="1933" d="M 463 0 L 59 1516 L 317 1516 L 510 731 C 525 670 539 611 553 554 C 567 497 579 439 590 379 L 594 379 C 604 437 615 495 629 552 C 642 609 656 668 672 729 L 854 1516 L 1100 1516 L 1288 725 C 1296 693 1303 662 1311 634 C 1318 606 1325 578 1332 551 C 1338 523 1345 496 1351 468 C 1357 440 1362 411 1368 379 L 1372 379 C 1378 411 1383 441 1389 469 C 1395 496 1401 523 1407 549 C 1413 575 1419 602 1425 630 C 1431 657 1438 687 1446 719 L 1634 1516 L 1874 1516 L 1475 0 L 1251 0 L 979 1161 L 975 1161 L 688 0 L 463 0 Z" unicode="W" />
-<glyph horiz-adv-x="1427" d="M 66 0 L 569 805 L 119 1516 L 412 1516 L 727 1008 L 1032 1516 L 1298 1516 L 856 805 L 1362 0 L 1079 0 L 705 600 L 334 0 L 66 0 Z" unicode="X" />
-<glyph horiz-adv-x="1354" d="M 547 0 L 547 653 L 31 1516 L 301 1516 L 680 870 L 1057 1516 L 1323 1516 L 805 653 L 805 0 L 547 0 Z" unicode="Y" />
-<glyph horiz-adv-x="1321" d="M 72 0 L 72 178 L 909 1300 L 127 1300 L 127 1516 L 1231 1516 L 1231 1331 L 403 209 L 1231 209 L 1231 0 L 72 0 Z" unicode="Z" />
-<glyph horiz-adv-x="862" d="M 158 -410 L 158 1516 L 788 1516 L 788 1335 L 412 1335 L 412 -229 L 788 -229 L 788 -410 L 158 -410 Z" unicode="[" />
-<glyph horiz-adv-x="1194" d="M 907 0 L 27 1516 L 287 1516 L 1167 0 L 907 0 Z" unicode="\" />
-<glyph horiz-adv-x="862" d="M 74 -410 L 74 -229 L 451 -229 L 451 1333 L 74 1333 L 74 1516 L 705 1516 L 705 -410 L 74 -410 Z" unicode="]" />
-<glyph horiz-adv-x="1315" d="M 588 1516 L 735 1516 L 1206 678 L 993 678 L 662 1260 L 330 678 L 117 678 L 588 1516 Z" unicode="^" />
-<glyph horiz-adv-x="1024" d="M 0 -297 L 0 -115 L 1024 -115 L 1024 -297 L 0 -297 Z" unicode="_" />
-<glyph horiz-adv-x="1024" d="M 240 1542 L 512 1542 L 705 1202 L 539 1202 L 240 1542 Z" unicode="`" />
-<glyph horiz-adv-x="1157" d="M 379 -16 C 335 -16 294 -10 257 2 C 219 14 187 31 159 55 C 131 79 110 108 95 142 C 79 176 72 216 72 262 C 72 320 85 374 111 423 C 137 472 178 516 235 554 C 292 592 365 624 455 651 C 544 677 652 698 780 713 L 780 745 C 780 799 765 839 736 864 C 707 888 662 901 602 901 C 564 901 528 896 494 888 C 460 880 427 869 397 855 C 366 841 337 825 310 807 C 283 789 258 772 236 754 L 113 911 C 141 937 174 963 212 987 C 249 1011 290 1032 334 1050 C 378 1068 425 1082 476 1092 C 527 1102 581 1108 637 1108 C 709 1108 771 1099 821 1082 C 871 1065 911 1040 942 1007 C 972 973 994 932 1008 883 C 1021 834 1028 778 1028 715 L 1028 266 C 1028 200 1030 146 1035 104 C 1039 62 1047 28 1059 0 L 805 0 C 801 11 798 22 795 32 C 792 42 789 52 787 63 C 785 74 783 86 782 98 C 780 110 780 123 780 139 C 724 83 664 43 598 19 C 532 -4 459 -16 379 -16 Z M 471 178 C 535 178 593 189 644 212 C 694 234 740 265 780 303 L 780 543 C 628 522 514 493 436 455 C 358 417 319 369 319 309 C 319 265 332 233 360 211 C 388 189 425 178 471 178 Z" unicode="a" />
-<glyph horiz-adv-x="1251" d="M 705 -16 C 646 -16 589 -4 535 18 C 480 41 433 75 393 121 L 393 0 L 141 0 L 141 1516 L 393 1516 L 393 944 C 411 965 431 986 455 1006 C 478 1026 504 1043 533 1058 C 561 1073 593 1085 627 1094 C 661 1103 699 1108 739 1108 C 801 1108 858 1096 911 1073 C 963 1049 1009 1014 1047 968 C 1085 921 1114 862 1136 792 C 1158 721 1169 639 1169 545 C 1169 451 1157 368 1135 298 C 1113 228 1081 169 1041 123 C 1000 76 951 41 894 18 C 837 -4 774 -16 705 -16 Z M 649 184 C 744 184 813 213 855 272 C 897 331 918 421 918 543 C 918 658 894 745 848 804 C 802 863 738 893 657 893 C 631 893 605 889 580 881 C 555 873 531 863 508 851 C 485 838 464 823 444 807 C 424 791 407 774 393 756 L 393 319 C 427 275 466 241 512 218 C 558 195 603 184 649 184 Z" unicode="b" />
-<glyph horiz-adv-x="1116" d="M 588 -23 C 524 -23 462 -12 402 9 C 341 31 287 65 239 111 C 191 157 153 215 124 287 C 94 358 80 443 80 543 C 80 612 87 674 102 729 C 116 783 136 832 161 874 C 186 916 216 951 250 981 C 284 1011 320 1035 359 1054 C 397 1072 437 1086 479 1095 C 520 1103 561 1108 602 1108 C 669 1108 727 1099 777 1082 C 826 1064 868 1041 904 1012 C 939 982 968 949 992 911 C 1016 873 1036 833 1053 791 L 840 715 C 818 777 788 822 748 852 C 708 882 658 897 598 897 C 562 897 528 890 496 878 C 464 865 436 845 412 817 C 388 789 369 752 355 707 C 341 662 334 607 334 543 C 334 426 356 337 401 276 C 446 214 510 184 594 184 C 622 184 649 186 673 192 C 697 197 720 207 741 221 C 762 235 781 254 799 278 C 816 302 832 334 848 373 L 1057 297 C 1037 253 1014 212 988 173 C 961 134 929 100 891 71 C 853 42 810 19 760 2 C 710 -14 653 -23 588 -23 Z" unicode="c" />
-<glyph horiz-adv-x="1251" d="M 512 -16 C 450 -16 392 -4 340 18 C 287 40 242 75 204 121 C 166 167 136 225 114 295 C 92 365 82 447 82 541 C 82 635 93 717 115 788 C 137 859 169 918 210 966 C 250 1013 299 1048 356 1072 C 413 1096 477 1108 547 1108 C 605 1108 662 1096 716 1073 C 770 1050 818 1016 858 971 L 858 1516 L 1110 1516 L 1110 266 C 1110 200 1112 146 1117 104 C 1121 62 1130 28 1143 0 L 883 0 C 875 15 869 36 865 64 C 860 92 858 119 858 147 C 838 123 816 102 793 82 C 769 62 744 45 716 31 C 688 16 657 4 623 -3 C 589 -11 552 -16 512 -16 Z M 594 190 C 620 190 645 193 671 201 C 696 209 720 219 743 232 C 765 244 786 259 806 276 C 826 292 843 310 858 328 L 858 764 C 824 808 784 841 738 864 C 692 887 647 899 602 899 C 554 899 514 891 480 876 C 446 860 418 837 396 807 C 374 777 359 739 349 693 C 339 647 334 595 334 535 C 334 419 357 333 403 276 C 449 218 512 190 594 190 Z" unicode="d" />
-<glyph horiz-adv-x="1155" d="M 604 -23 C 536 -23 470 -12 407 9 C 344 30 288 64 240 110 C 191 156 152 214 123 286 C 94 357 80 443 80 543 C 80 611 87 673 102 728 C 117 782 138 831 164 873 C 190 915 220 950 254 980 C 288 1010 325 1034 363 1053 C 401 1072 441 1086 481 1095 C 521 1103 560 1108 598 1108 C 638 1108 678 1103 718 1095 C 757 1086 794 1072 830 1054 C 865 1035 898 1010 928 980 C 958 950 983 913 1005 869 C 1027 825 1044 775 1056 717 C 1068 659 1075 594 1075 520 L 1075 461 L 332 461 C 334 411 343 369 359 333 C 375 297 395 268 421 245 C 447 222 477 205 511 194 C 545 183 583 178 623 178 C 658 178 690 180 718 186 C 746 192 773 200 797 211 C 821 222 844 235 865 251 C 886 267 907 285 928 305 L 1061 174 C 1004 111 938 62 863 28 C 788 -5 702 -23 604 -23 Z M 844 649 C 836 732 812 795 772 838 C 731 881 672 903 596 903 C 565 903 535 898 507 889 C 478 880 452 865 429 845 C 405 825 385 798 369 766 C 353 734 342 695 336 649 L 844 649 Z" unicode="e" />
-<glyph horiz-adv-x="766" d="M 236 0 L 236 887 L 47 887 L 47 1087 L 236 1087 L 236 1198 C 236 1243 241 1285 252 1325 C 262 1365 281 1399 308 1428 C 334 1457 370 1480 416 1497 C 461 1513 518 1522 588 1522 C 600 1522 613 1521 629 1520 C 644 1519 659 1518 673 1517 C 687 1515 700 1514 712 1513 C 724 1512 732 1511 737 1511 L 737 1317 C 729 1319 716 1320 699 1322 C 681 1324 665 1325 651 1325 C 628 1325 607 1323 587 1319 C 567 1315 550 1308 535 1298 C 520 1287 508 1272 500 1254 C 491 1236 487 1212 487 1184 L 487 1087 L 725 1087 L 725 887 L 487 887 L 487 0 L 236 0 Z" unicode="f" />
-<glyph horiz-adv-x="1202" d="M 551 -422 C 457 -422 376 -415 310 -402 C 244 -389 190 -371 148 -348 C 106 -324 75 -296 56 -264 C 36 -231 27 -195 27 -156 C 27 -101 42 -54 74 -16 C 105 22 149 52 205 74 C 149 102 121 147 121 207 C 121 227 124 247 132 266 C 140 284 150 302 164 318 C 177 334 192 350 210 365 C 228 379 247 393 268 406 C 212 440 170 484 140 538 C 110 592 96 652 96 719 C 96 775 106 826 127 874 C 148 921 178 962 218 997 C 257 1031 305 1058 361 1078 C 417 1098 481 1108 553 1108 C 627 1108 692 1097 748 1075 C 803 1053 849 1026 887 993 C 904 1007 923 1020 945 1032 C 967 1044 990 1054 1014 1064 C 1038 1074 1062 1082 1086 1088 C 1110 1094 1134 1098 1157 1100 L 1157 895 C 1132 895 1103 893 1070 889 C 1037 885 1003 877 967 866 C 979 846 988 824 995 799 C 1002 774 1006 747 1006 719 C 1006 662 995 610 975 563 C 954 515 924 474 885 440 C 846 406 799 379 743 360 C 687 341 623 332 553 332 C 537 332 523 332 511 333 C 498 334 486 336 474 338 C 462 340 451 342 439 345 C 427 347 414 350 401 354 C 385 344 371 334 361 323 C 351 311 346 299 346 285 C 346 263 354 248 372 239 C 390 229 423 223 471 219 L 664 207 C 744 201 812 192 869 178 C 925 164 972 146 1008 122 C 1044 98 1070 68 1087 33 C 1103 -1 1112 -42 1112 -90 C 1112 -146 1098 -194 1071 -236 C 1044 -277 1006 -311 957 -339 C 908 -367 849 -387 780 -401 C 711 -415 635 -422 551 -422 Z M 557 506 C 625 506 679 523 718 558 C 756 593 776 644 776 711 C 776 779 757 830 719 866 C 681 902 627 920 555 920 C 485 920 430 901 392 865 C 353 829 334 777 334 711 C 334 644 353 593 393 558 C 432 523 487 506 557 506 Z M 590 -240 C 636 -240 677 -237 714 -231 C 751 -225 782 -216 808 -205 C 834 -194 854 -181 868 -165 C 882 -149 889 -132 889 -113 C 889 -93 885 -77 877 -63 C 869 -49 854 -38 834 -28 C 813 -18 785 -11 749 -5 C 713 0 667 4 612 8 L 424 20 C 412 20 401 20 391 22 C 380 23 369 25 358 27 C 322 10 296 -10 281 -34 C 265 -58 258 -85 258 -113 C 258 -161 285 -194 340 -212 C 395 -230 478 -240 590 -240 Z" unicode="g" />
-<glyph horiz-adv-x="1235" d="M 141 0 L 141 1516 L 395 1516 L 395 940 C 412 958 433 977 459 997 C 484 1017 513 1035 546 1051 C 579 1067 616 1081 657 1092 C 698 1102 743 1108 793 1108 C 840 1108 883 1101 922 1087 C 960 1073 993 1052 1021 1024 C 1048 996 1069 962 1084 922 C 1098 881 1106 834 1106 780 L 1106 0 L 852 0 L 852 717 C 852 777 839 822 813 850 C 787 878 746 893 690 893 C 634 893 583 880 535 854 C 487 828 441 794 395 752 L 395 0 L 141 0 Z" unicode="h" />
-<glyph horiz-adv-x="557" d="M 152 0 L 152 1087 L 406 1087 L 406 0 L 152 0 Z M 150 1276 L 150 1495 L 408 1495 L 408 1276 L 150 1276 Z" unicode="i" />
-<glyph horiz-adv-x="557" d="M 102 -414 C 90 -414 76 -413 60 -412 C 44 -411 29 -410 14 -409 C -1 -407 -15 -406 -27 -405 C -39 -403 -47 -402 -51 -401 L -51 -225 C -41 -227 -29 -228 -14 -230 C 1 -232 16 -233 31 -233 C 71 -233 101 -222 121 -202 C 141 -181 152 -146 152 -96 L 152 1087 L 406 1087 L 406 -135 C 406 -172 402 -208 394 -242 C 386 -276 370 -305 348 -331 C 326 -356 295 -376 255 -391 C 215 -406 164 -414 102 -414 Z M 150 1276 L 150 1495 L 408 1495 L 408 1276 L 150 1276 Z" unicode="j" />
-<glyph horiz-adv-x="1153" d="M 141 0 L 141 1516 L 393 1516 L 393 612 L 805 1087 L 1081 1087 L 727 690 L 1112 0 L 848 0 L 567 504 L 393 313 L 393 0 L 141 0 Z" unicode="k" />
-<glyph horiz-adv-x="557" d="M 152 0 L 152 1516 L 406 1516 L 406 0 L 152 0 Z" unicode="l" />
-<glyph horiz-adv-x="1892" d="M 141 0 L 141 1087 L 393 1087 L 393 938 C 413 960 437 982 463 1003 C 489 1023 517 1041 548 1057 C 579 1073 613 1085 649 1094 C 685 1103 724 1108 766 1108 C 811 1108 850 1103 883 1095 C 915 1086 943 1074 966 1058 C 989 1042 1008 1024 1024 1002 C 1039 980 1052 956 1063 930 C 1084 953 1108 975 1135 997 C 1162 1019 1191 1038 1223 1054 C 1255 1070 1289 1083 1326 1093 C 1363 1103 1402 1108 1444 1108 C 1499 1108 1547 1100 1587 1084 C 1627 1068 1659 1045 1685 1017 C 1711 988 1730 953 1742 913 C 1754 873 1761 828 1761 780 L 1761 0 L 1509 0 L 1509 717 C 1509 747 1506 773 1502 795 C 1497 817 1489 836 1477 850 C 1465 864 1450 875 1430 882 C 1410 889 1386 893 1356 893 C 1304 893 1257 880 1213 854 C 1169 828 1123 794 1077 752 L 1077 0 L 825 0 L 825 717 C 825 747 822 773 818 795 C 813 817 805 836 793 850 C 781 864 766 875 746 882 C 726 889 702 893 672 893 C 646 893 622 889 599 883 C 575 876 552 866 530 854 C 507 841 484 826 462 809 C 439 791 416 772 393 752 L 393 0 L 141 0 Z" unicode="m" />
-<glyph horiz-adv-x="1235" d="M 143 0 L 143 1087 L 395 1087 L 395 913 C 415 937 439 960 465 983 C 491 1006 520 1027 552 1046 C 584 1064 620 1079 658 1091 C 696 1102 738 1108 784 1108 C 834 1108 878 1101 918 1088 C 958 1075 991 1056 1019 1030 C 1047 1004 1068 971 1083 931 C 1098 891 1106 845 1106 791 L 1106 0 L 854 0 L 854 719 C 854 779 841 824 815 854 C 789 884 748 899 690 899 C 634 899 583 886 535 861 C 487 835 441 801 395 758 L 395 0 L 143 0 Z" unicode="n" />
-<glyph horiz-adv-x="1221" d="M 610 -23 C 544 -23 479 -12 416 9 C 352 31 296 65 246 111 C 196 157 155 215 125 287 C 95 358 80 443 80 543 C 80 643 95 728 125 800 C 155 872 195 930 245 976 C 295 1021 351 1054 415 1076 C 478 1097 543 1108 610 1108 C 676 1108 740 1097 804 1076 C 868 1054 924 1021 974 976 C 1024 930 1064 872 1095 800 C 1125 728 1141 643 1141 543 C 1141 477 1134 417 1120 363 C 1106 309 1086 261 1062 219 C 1037 177 1008 140 974 110 C 940 80 904 55 865 35 C 825 15 784 1 741 -8 C 697 -18 654 -23 610 -23 Z M 610 188 C 701 188 770 219 817 281 C 863 343 887 431 887 543 C 887 593 881 640 870 683 C 859 725 842 762 820 793 C 797 824 768 848 734 866 C 699 884 658 893 610 893 C 564 893 524 885 490 869 C 455 853 426 830 403 800 C 380 770 363 733 351 690 C 339 646 334 597 334 543 C 334 491 339 443 350 400 C 360 356 377 319 400 288 C 422 256 451 232 486 214 C 520 196 562 188 610 188 Z" unicode="o" />
-<glyph horiz-adv-x="1251" d="M 141 -410 L 141 1087 L 393 1087 L 393 944 C 411 965 431 986 455 1006 C 478 1026 504 1043 533 1058 C 561 1073 593 1085 627 1094 C 661 1103 699 1108 739 1108 C 801 1108 858 1096 911 1073 C 963 1049 1009 1014 1047 968 C 1085 921 1114 862 1136 792 C 1158 721 1169 639 1169 545 C 1169 451 1157 368 1135 298 C 1113 228 1081 169 1041 123 C 1000 76 951 41 894 18 C 837 -4 774 -16 705 -16 C 646 -16 589 -4 535 18 C 480 41 433 75 393 121 L 393 -410 L 141 -410 Z M 649 184 C 744 184 813 213 855 272 C 897 331 918 421 918 543 C 918 658 894 745 848 804 C 802 863 738 893 657 893 C 631 893 605 889 580 881 C 555 873 531 863 508 851 C 485 838 464 823 444 807 C 424 791 407 774 393 756 L 393 319 C 427 275 466 241 512 218 C 558 195 603 184 649 184 Z" unicode="p" />
-<glyph horiz-adv-x="1251" d="M 858 -410 L 858 147 C 838 123 816 102 793 82 C 769 62 744 45 716 31 C 688 16 657 4 623 -3 C 589 -11 552 -16 512 -16 C 450 -16 392 -4 340 18 C 287 40 242 75 204 121 C 166 167 136 225 114 295 C 92 365 82 447 82 541 C 82 635 93 717 115 788 C 137 859 169 918 210 966 C 250 1013 299 1048 356 1072 C 413 1096 477 1108 547 1108 C 605 1108 662 1096 716 1073 C 770 1050 818 1016 858 971 L 858 1087 L 1110 1087 L 1110 -410 L 858 -410 Z M 594 190 C 620 190 645 193 671 201 C 696 209 720 219 743 232 C 765 244 786 259 806 276 C 826 292 843 310 858 328 L 858 764 C 824 808 784 841 738 864 C 692 887 647 899 602 899 C 554 899 514 891 480 876 C 446 860 418 837 396 807 C 374 777 359 739 349 693 C 339 647 334 595 334 535 C 334 419 357 333 403 276 C 449 218 512 190 594 190 Z" unicode="q" />
-<glyph horiz-adv-x="844" d="M 141 0 L 141 1087 L 393 1087 L 393 909 L 397 909 C 413 936 433 962 457 986 C 481 1010 508 1031 540 1049 C 572 1067 608 1081 649 1092 C 690 1102 736 1108 788 1108 L 805 1108 L 797 877 C 793 877 789 878 783 878 C 777 878 770 879 763 879 C 756 879 749 880 743 880 C 737 880 732 881 729 881 C 688 881 651 876 618 867 C 584 858 554 845 527 828 C 499 811 475 791 453 767 C 431 743 411 717 393 688 L 393 0 L 141 0 Z" unicode="r" />
-<glyph horiz-adv-x="1071" d="M 539 -23 C 489 -23 440 -18 393 -10 C 346 -1 302 10 261 26 C 219 41 181 59 147 80 C 113 101 83 124 59 150 L 197 303 C 217 285 240 269 265 253 C 290 237 317 224 346 212 C 375 200 406 191 438 184 C 470 177 503 174 539 174 C 606 174 659 183 698 202 C 736 221 756 253 756 299 C 756 321 749 339 736 354 C 723 369 706 382 684 393 C 662 403 636 413 607 421 C 577 429 546 436 514 444 C 482 451 451 459 419 467 C 387 475 355 484 325 496 C 294 508 265 522 239 538 C 212 554 189 573 169 596 C 149 619 133 646 121 678 C 109 709 104 746 104 788 C 104 836 113 879 133 919 C 153 958 180 992 216 1020 C 251 1048 293 1069 343 1085 C 393 1100 448 1108 508 1108 C 560 1108 607 1104 649 1097 C 691 1090 730 1080 766 1067 C 802 1053 835 1037 866 1018 C 896 999 926 978 954 954 L 834 791 C 814 807 791 822 766 836 C 740 850 714 863 687 874 C 659 884 632 893 604 899 C 576 905 550 909 526 909 C 491 909 462 906 438 900 C 414 894 395 887 381 877 C 367 867 357 855 351 842 C 345 828 342 814 342 799 C 342 777 348 758 361 743 C 373 728 390 715 412 705 C 434 694 459 685 488 677 C 517 669 548 662 580 655 C 610 648 642 641 675 633 C 707 625 739 615 770 604 C 800 593 829 580 856 564 C 883 548 907 528 927 505 C 947 482 963 455 975 423 C 987 391 993 355 993 313 C 993 255 981 206 957 164 C 933 122 900 87 859 59 C 817 31 769 11 714 -2 C 659 -16 601 -23 539 -23 Z" unicode="s" />
-<glyph horiz-adv-x="825" d="M 563 -14 C 493 -14 437 -7 394 5 C 350 17 316 36 291 61 C 266 86 249 117 240 155 C 231 192 227 235 227 285 L 227 887 L 39 887 L 39 1087 L 227 1087 L 227 1466 L 479 1466 L 479 1087 L 760 1087 L 760 887 L 479 887 L 479 348 C 479 318 481 293 486 273 C 491 252 500 235 512 222 C 524 208 540 199 561 193 C 581 187 607 184 639 184 C 657 184 677 185 698 188 C 718 190 735 194 748 199 L 748 0 C 741 -1 731 -2 717 -4 C 703 -6 687 -7 669 -9 C 651 -10 633 -11 615 -12 C 596 -13 579 -14 563 -14 Z" unicode="t" />
-<glyph horiz-adv-x="1235" d="M 442 -20 C 394 -20 351 -13 313 1 C 274 15 241 35 214 63 C 186 90 165 124 151 165 C 136 205 129 253 129 307 L 129 1087 L 383 1087 L 383 367 C 383 306 396 261 422 233 C 448 204 489 190 545 190 C 600 190 651 203 699 229 C 747 255 794 290 840 332 L 840 1087 L 1094 1087 L 1094 0 L 840 0 L 840 147 C 822 129 801 110 776 90 C 750 70 721 52 688 36 C 655 20 618 6 577 -4 C 536 -14 491 -20 442 -20 Z" unicode="u" />
-<glyph horiz-adv-x="1079" d="M 412 -2 L 18 1087 L 283 1087 L 549 285 L 553 285 L 817 1087 L 1061 1087 L 668 -2 L 412 -2 Z" unicode="v" />
-<glyph horiz-adv-x="1563" d="M 348 0 L 25 1087 L 281 1087 L 399 637 C 407 606 414 577 421 550 C 428 523 435 496 442 470 C 448 443 455 415 461 386 C 467 357 473 325 481 291 L 485 291 C 493 327 500 360 507 390 C 514 419 521 447 527 474 C 533 500 540 527 547 554 C 554 580 562 609 571 641 L 686 1087 L 891 1087 L 1012 633 C 1020 603 1028 574 1035 548 C 1042 521 1049 494 1055 468 C 1061 442 1068 414 1074 386 C 1080 357 1088 325 1096 291 L 1100 291 C 1108 326 1115 358 1122 386 C 1128 414 1135 442 1142 468 C 1148 494 1155 519 1162 545 C 1169 571 1177 599 1186 629 L 1309 1087 L 1538 1087 L 1214 0 L 979 0 L 782 756 L 778 756 L 582 0 L 348 0 Z" unicode="w" />
-<glyph horiz-adv-x="1092" d="M 39 0 L 418 561 L 66 1087 L 334 1087 L 561 739 L 780 1087 L 1040 1087 L 684 561 L 1061 0 L 793 0 L 543 381 L 297 0 L 39 0 Z" unicode="x" />
-<glyph horiz-adv-x="1120" d="M 256 -422 C 191 -422 138 -418 98 -411 C 58 -403 24 -396 -2 -389 L 55 -186 C 70 -190 94 -195 126 -201 C 158 -206 196 -209 240 -209 C 284 -209 320 -199 346 -180 C 372 -161 394 -130 412 -86 L 442 -6 L 25 1087 L 287 1087 L 567 295 L 571 295 L 850 1087 L 1100 1087 L 637 -119 C 619 -166 599 -208 577 -246 C 555 -284 530 -316 500 -342 C 470 -368 436 -387 396 -401 C 356 -415 310 -422 256 -422 Z" unicode="y" />
-<glyph horiz-adv-x="1065" d="M 70 0 L 70 145 L 649 887 L 113 887 L 113 1087 L 965 1087 L 965 936 L 383 195 L 999 195 L 999 0 L 70 0 Z" unicode="z" />
-<glyph horiz-adv-x="852" d="M 567 -410 C 519 -410 478 -403 443 -389 C 408 -375 379 -356 356 -330 C 333 -304 316 -274 304 -238 C 292 -202 287 -161 287 -117 L 287 217 C 287 267 282 308 273 340 C 263 372 249 397 230 415 C 211 433 187 446 159 453 C 131 459 97 463 59 463 L 59 643 C 97 643 131 646 159 653 C 187 659 211 672 230 690 C 249 708 263 734 273 766 C 282 798 287 839 287 889 L 287 1223 C 287 1267 292 1308 304 1344 C 316 1380 333 1410 356 1436 C 379 1461 408 1481 443 1495 C 478 1509 519 1516 567 1516 L 791 1516 L 791 1335 L 700 1335 C 644 1335 604 1321 579 1294 C 553 1267 541 1228 541 1176 L 541 860 C 541 810 537 767 529 733 C 521 698 510 669 495 646 C 480 622 462 604 440 590 C 418 576 394 564 367 555 L 367 551 C 394 541 418 530 440 516 C 462 502 480 483 495 460 C 510 436 521 407 529 373 C 537 338 541 296 541 246 L 541 -70 C 541 -122 553 -161 579 -188 C 604 -215 644 -229 700 -229 L 791 -229 L 791 -410 L 567 -410 Z" unicode="{" />
-<glyph horiz-adv-x="772" d="M 262 -410 L 262 1516 L 510 1516 L 510 -410 L 262 -410 Z" unicode="|" />
-<glyph horiz-adv-x="852" d="M 61 -410 L 61 -229 L 152 -229 C 207 -229 247 -215 273 -188 C 298 -161 311 -122 311 -70 L 311 266 C 311 316 314 357 322 390 C 330 422 341 449 356 470 C 371 490 389 507 411 519 C 433 531 457 541 485 551 L 485 555 C 457 564 433 575 411 587 C 389 599 371 615 356 636 C 341 656 330 683 322 716 C 314 748 311 790 311 840 L 311 1176 C 311 1228 299 1268 275 1296 C 251 1324 211 1339 156 1339 L 66 1339 L 61 1516 L 305 1516 C 352 1516 392 1510 425 1498 C 458 1486 485 1469 506 1446 C 526 1423 541 1395 551 1361 C 560 1327 565 1287 565 1243 L 565 889 C 565 839 569 798 579 766 C 588 734 602 708 621 690 C 640 672 664 659 692 653 C 720 646 754 643 793 643 L 793 463 C 754 463 720 459 692 453 C 664 446 640 433 621 415 C 602 397 588 372 579 340 C 569 308 565 267 565 217 L 565 -137 C 565 -181 560 -221 551 -255 C 541 -289 526 -317 506 -340 C 485 -363 458 -380 425 -392 C 392 -404 352 -410 305 -410 L 61 -410 Z" unicode="}" />
-<glyph horiz-adv-x="1315" d="M 934 537 C 907 537 877 541 844 548 C 811 555 777 564 742 574 C 706 584 671 594 635 606 C 599 618 565 629 533 639 C 501 649 471 657 445 664 C 419 671 397 675 381 676 C 354 678 332 672 315 659 C 297 646 287 621 283 584 L 129 606 C 135 655 145 697 159 732 C 173 766 191 795 213 817 C 235 839 260 854 288 864 C 316 873 347 877 381 877 C 408 876 438 872 472 865 C 506 857 540 848 576 838 C 611 828 646 817 682 805 C 717 793 751 782 783 772 C 815 762 844 753 870 746 C 896 739 917 735 934 735 C 947 734 959 735 971 738 C 982 740 992 745 1001 753 C 1009 760 1016 770 1022 783 C 1028 795 1032 811 1034 831 L 1186 813 C 1180 763 1169 720 1155 685 C 1141 649 1123 620 1101 598 C 1079 576 1054 560 1026 550 C 998 540 967 535 934 537 Z" unicode="~" />
-<glyph horiz-adv-x="1038" d="M 520 -425 C 454 -425 397 -413 347 -390 C 297 -366 256 -333 222 -290 C 188 -246 162 -194 145 -133 C 127 -72 119 -4 119 72 C 119 147 127 215 145 277 C 162 339 188 392 222 436 C 256 480 297 514 347 538 C 397 562 454 574 520 574 C 584 574 642 562 692 538 C 742 514 784 480 818 436 C 852 392 877 339 895 277 C 913 215 922 147 922 72 C 922 -4 913 -72 895 -133 C 877 -194 852 -246 818 -290 C 784 -333 742 -366 692 -390 C 642 -413 584 -425 520 -425 Z M 520 -262 C 586 -262 635 -233 667 -177 C 699 -120 715 -37 715 72 C 715 179 698 261 666 319 C 633 377 584 406 520 406 C 452 406 403 377 371 319 C 339 261 324 178 324 72 C 324 -37 340 -120 372 -177 C 404 -233 454 -262 520 -262 Z" unicode="₀" />
-<glyph horiz-adv-x="756" d="M 136 -243 L 310 -243 L 310 381 C 286 369 259 360 229 353 C 198 346 168 343 138 343 L 138 494 C 178 495 213 500 243 510 C 273 520 298 535 319 556 L 517 556 L 517 -243 L 673 -243 L 673 -409 L 136 -409 L 136 -243 Z" unicode="₁" />
-<glyph horiz-adv-x="952" d="M 125 -358 C 125 -323 128 -288 135 -254 C 142 -219 156 -184 177 -149 C 198 -113 228 -77 267 -40 C 306 -3 358 34 422 74 C 458 96 488 115 512 132 C 536 148 555 164 569 180 C 583 195 594 211 600 228 C 606 244 610 263 610 285 C 610 321 599 349 578 370 C 557 391 526 402 485 402 C 447 402 410 389 374 365 C 337 341 304 301 274 246 L 129 345 C 173 421 224 479 282 518 C 340 556 410 576 492 576 C 544 576 589 569 629 555 C 669 541 702 522 729 497 C 756 471 776 441 790 406 C 804 370 811 331 811 289 C 811 259 807 231 799 204 C 791 176 778 149 760 123 C 741 96 716 69 684 43 C 652 16 611 -10 563 -38 C 495 -78 446 -114 416 -147 C 386 -179 367 -209 360 -237 L 815 -237 L 815 -407 L 125 -407 L 125 -358 Z" unicode="₂" />
-<glyph horiz-adv-x="952" d="M 471 -423 C 392 -423 320 -406 256 -372 C 192 -338 139 -289 98 -225 L 227 -116 C 245 -142 263 -163 282 -181 C 301 -199 320 -213 340 -224 C 360 -234 379 -242 399 -246 C 418 -250 437 -253 457 -253 C 513 -253 555 -240 582 -215 C 609 -189 623 -157 623 -118 C 623 -69 605 -33 571 -9 C 537 15 479 27 399 27 L 330 27 L 330 175 L 403 175 C 440 175 471 177 497 183 C 523 188 543 196 559 206 C 575 216 586 229 593 244 C 600 259 604 277 604 297 C 604 328 593 354 572 374 C 550 394 517 404 471 404 C 435 404 399 395 363 379 C 326 362 289 335 252 297 L 135 420 C 184 472 238 511 298 537 C 357 563 420 576 487 576 C 541 576 588 569 628 556 C 668 543 701 525 728 502 C 755 479 775 452 789 421 C 802 389 809 355 809 318 C 809 272 797 230 773 192 C 749 154 710 126 657 109 C 720 89 766 59 794 19 C 822 -20 836 -68 836 -122 C 836 -169 827 -211 810 -249 C 792 -286 768 -317 736 -343 C 704 -369 666 -388 621 -402 C 576 -416 526 -423 471 -423 Z" unicode="₃" />
-<glyph horiz-adv-x="969" d="M 539 -196 L 100 -196 L 100 -67 L 528 556 L 741 556 L 741 -34 L 895 -34 L 895 -196 L 741 -196 L 741 -409 L 539 -409 L 539 -196 Z M 549 -45 L 549 324 L 301 -45 L 549 -45 Z" unicode="₄" />
-<glyph horiz-adv-x="924" d="M 444 -425 C 402 -425 364 -421 330 -414 C 296 -407 264 -397 235 -384 C 206 -370 179 -354 155 -336 C 131 -318 108 -297 88 -274 L 188 -147 C 218 -182 256 -211 301 -233 C 345 -255 392 -266 440 -266 C 471 -266 498 -261 522 -252 C 545 -243 564 -231 580 -215 C 596 -199 607 -180 615 -158 C 623 -136 627 -112 627 -86 C 627 -28 611 15 581 45 C 550 74 510 89 461 89 C 423 89 391 81 365 66 C 338 51 312 28 287 -4 L 141 44 L 178 556 L 764 556 L 752 392 L 336 392 L 319 166 C 336 185 361 201 393 214 C 425 227 466 234 516 234 C 560 234 602 227 640 214 C 678 200 710 180 738 154 C 766 127 787 94 803 54 C 819 14 827 -32 827 -86 C 827 -142 817 -191 799 -233 C 780 -275 754 -310 721 -339 C 687 -367 647 -389 600 -403 C 552 -417 500 -425 444 -425 Z" unicode="₅" />
-<glyph horiz-adv-x="975" d="M 512 -425 C 450 -425 395 -415 347 -395 C 298 -375 257 -344 223 -304 C 189 -264 164 -213 146 -153 C 128 -92 119 -21 119 60 C 119 148 129 225 151 290 C 172 354 201 408 239 450 C 277 492 321 523 373 543 C 425 563 481 574 543 574 C 611 574 670 564 720 546 C 770 528 810 506 840 482 L 752 338 C 720 360 688 378 655 390 C 622 402 584 408 541 408 C 468 408 414 384 379 338 C 343 291 323 217 319 115 C 335 129 352 143 369 155 C 386 167 405 177 425 186 C 445 194 467 201 491 206 C 515 211 541 214 571 214 C 617 214 660 207 698 194 C 736 181 769 162 796 136 C 823 110 844 77 859 39 C 873 1 881 -43 881 -94 C 881 -142 872 -187 856 -227 C 840 -267 816 -302 785 -332 C 753 -361 715 -384 669 -400 C 623 -416 570 -425 512 -425 Z M 514 -270 C 568 -270 610 -254 640 -224 C 669 -194 684 -153 684 -102 C 684 -50 671 -9 645 19 C 619 47 576 62 518 62 C 474 62 437 53 406 36 C 375 19 347 -3 322 -32 C 328 -110 348 -170 382 -210 C 416 -250 460 -270 514 -270 Z" unicode="₆" />
-<glyph horiz-adv-x="852" d="M 545 386 L 92 386 L 92 556 L 762 556 L 762 402 L 391 -409 L 178 -409 L 545 386 Z" unicode="₇" />
-<glyph horiz-adv-x="958" d="M 479 -425 C 417 -425 362 -418 314 -406 C 266 -394 225 -376 193 -353 C 161 -330 136 -302 119 -270 C 102 -238 94 -202 94 -163 C 94 -131 99 -103 110 -77 C 121 -51 136 -28 156 -7 C 175 14 198 33 224 50 C 250 67 279 83 311 97 C 283 111 259 125 238 140 C 217 154 199 171 184 189 C 169 207 158 227 150 250 C 142 272 139 298 139 328 C 139 359 146 389 160 419 C 174 448 195 474 223 497 C 251 520 287 539 330 553 C 372 567 422 574 479 574 C 537 574 588 567 631 553 C 673 539 709 520 737 497 C 765 474 785 448 799 419 C 812 389 819 359 819 328 C 819 276 803 232 772 195 C 740 158 697 127 643 103 C 675 88 705 72 732 56 C 759 40 782 21 802 1 C 822 -19 837 -43 848 -70 C 858 -96 864 -127 864 -163 C 864 -202 855 -238 838 -270 C 821 -302 796 -329 764 -352 C 732 -375 692 -393 644 -406 C 596 -418 541 -425 479 -425 Z M 477 -288 C 537 -288 583 -275 615 -251 C 647 -227 664 -194 664 -153 C 664 -113 646 -78 611 -50 C 575 -21 525 6 459 33 C 401 7 358 -19 330 -49 C 302 -79 289 -113 289 -153 C 289 -194 305 -227 338 -251 C 370 -275 417 -288 477 -288 Z M 496 162 C 541 183 575 204 597 226 C 619 248 631 276 631 310 C 631 324 628 339 622 353 C 616 367 608 380 596 391 C 584 402 568 411 550 418 C 531 425 509 429 483 429 C 457 429 435 425 417 419 C 398 413 382 404 370 394 C 357 383 347 371 341 357 C 335 343 332 328 332 314 C 332 295 335 279 341 265 C 347 251 356 239 370 228 C 383 216 400 205 421 195 C 441 185 466 174 496 162 Z" unicode="₈" />
-<glyph horiz-adv-x="975" d="M 432 -425 C 362 -425 302 -416 252 -399 C 202 -381 163 -360 133 -335 L 221 -196 C 253 -218 285 -235 319 -247 C 352 -258 390 -264 432 -264 C 503 -264 557 -240 593 -194 C 629 -148 649 -74 653 27 C 637 13 620 0 603 -11 C 586 -23 568 -33 548 -42 C 528 -51 507 -58 483 -63 C 459 -68 433 -71 403 -71 C 356 -71 314 -64 276 -50 C 238 -36 205 -16 178 9 C 151 35 130 68 116 107 C 101 145 94 190 94 240 C 94 289 102 334 118 375 C 134 416 157 451 189 481 C 220 510 259 533 305 549 C 351 565 403 574 463 574 C 523 574 578 564 627 544 C 675 524 717 493 751 453 C 785 413 811 362 829 302 C 847 241 856 170 856 89 C 856 0 844 -77 821 -142 C 798 -206 767 -260 728 -302 C 689 -344 644 -375 593 -395 C 541 -415 488 -425 432 -425 Z M 455 80 C 498 80 535 88 566 106 C 597 124 625 147 651 175 C 645 253 625 313 591 353 C 557 393 514 414 461 414 C 405 414 362 399 333 369 C 303 339 289 298 289 246 C 289 194 302 153 328 124 C 354 94 396 80 455 80 Z" unicode="₉" />
-<glyph horiz-adv-x="514" d="" unicode=" " />
-<glyph horiz-adv-x="694" d="M 184 0 L 252 1063 L 432 1063 L 500 0 L 184 0 Z M 201 1260 L 201 1516 L 483 1516 L 483 1260 L 201 1260 Z" unicode="¡" />
-<glyph horiz-adv-x="1124" d="M 348 35 C 310 55 274 81 242 112 C 209 143 181 180 157 222 C 133 264 114 311 100 365 C 86 418 80 477 80 543 C 80 610 87 671 102 725 C 116 779 136 827 161 869 C 186 911 216 947 250 977 C 284 1007 320 1031 359 1051 C 397 1071 437 1085 479 1094 C 520 1103 561 1108 602 1108 C 611 1108 620 1108 629 1108 C 638 1108 647 1107 655 1106 L 713 1307 L 852 1307 L 786 1079 C 822 1066 855 1049 883 1029 C 911 1009 935 986 957 961 C 979 936 998 909 1014 880 C 1030 851 1045 821 1057 791 L 854 715 C 838 759 819 794 797 820 C 775 846 749 866 721 879 L 524 186 C 534 182 545 180 557 179 C 569 178 581 178 594 178 C 622 178 648 181 674 187 C 700 193 724 203 746 218 C 768 232 789 252 809 277 C 828 302 846 334 862 373 L 1061 297 C 1041 253 1018 212 991 173 C 963 134 931 100 893 71 C 855 42 810 19 760 2 C 710 -14 652 -23 588 -23 C 568 -23 549 -21 530 -19 C 511 -17 492 -14 473 -10 L 401 -264 L 260 -264 L 348 35 Z M 602 901 L 598 901 C 562 901 527 895 493 883 C 459 871 429 851 403 823 C 376 795 355 758 339 712 C 323 666 315 610 315 543 C 315 470 323 409 341 360 C 358 311 382 272 414 242 L 602 901 Z" unicode="¢" />
-<glyph horiz-adv-x="1346" d="M 182 690 L 182 858 L 367 858 C 341 901 320 945 304 990 C 287 1035 279 1085 279 1139 C 279 1197 289 1250 309 1300 C 329 1349 357 1392 395 1428 C 432 1464 477 1492 531 1513 C 584 1533 644 1544 711 1544 C 791 1544 859 1532 914 1510 C 969 1487 1014 1457 1049 1420 C 1084 1383 1111 1341 1129 1294 C 1147 1246 1161 1198 1169 1149 L 942 1106 C 938 1138 931 1167 922 1195 C 912 1223 899 1247 881 1267 C 863 1287 841 1303 815 1315 C 788 1327 755 1333 717 1333 C 685 1333 657 1328 633 1318 C 609 1308 589 1295 573 1278 C 557 1261 544 1241 536 1217 C 528 1193 524 1168 524 1141 C 524 1115 527 1091 533 1067 C 539 1043 546 1020 556 997 C 566 974 577 951 590 928 C 602 905 615 882 629 858 L 987 858 L 987 690 L 709 690 C 722 656 732 620 740 583 C 748 545 752 504 752 459 C 752 419 748 382 741 347 C 734 311 724 278 711 246 C 741 226 772 210 804 196 C 835 182 868 176 903 176 C 936 176 964 180 986 188 C 1008 196 1025 208 1039 226 C 1052 244 1062 267 1068 296 C 1074 324 1077 359 1079 401 L 1303 401 C 1303 343 1297 289 1285 237 C 1273 185 1254 139 1226 100 C 1198 60 1161 29 1115 6 C 1069 -17 1011 -29 942 -29 C 906 -29 873 -25 842 -19 C 811 -12 782 -3 755 8 C 727 20 702 33 678 48 C 654 63 631 79 610 96 C 570 56 524 26 472 4 C 420 -18 361 -29 295 -29 C 264 -29 233 -24 203 -15 C 173 -6 146 7 122 25 C 98 43 78 67 63 95 C 48 123 41 157 41 197 C 41 237 47 272 61 303 C 74 334 93 360 117 382 C 141 404 169 420 202 432 C 234 443 270 449 309 449 C 351 449 389 441 425 427 C 461 413 496 395 530 375 C 531 385 532 395 532 405 C 532 415 532 426 532 438 C 532 485 525 529 512 571 C 498 612 482 652 463 690 L 182 690 Z M 479 209 C 450 233 422 254 395 271 C 368 288 340 297 311 297 C 279 297 254 288 236 271 C 218 253 209 231 209 203 C 209 176 218 154 236 137 C 254 119 279 111 309 111 C 347 111 380 119 408 136 C 436 153 460 177 479 209 Z" unicode="£" />
-<glyph horiz-adv-x="1152" d="M 1056 392 L 940 284 L 740 500 C 692 468 636 452 572 452 C 510 452 456 468 408 500 L 208 284 L 92 392 L 300 608 C 281 634 268 660 262 686 C 255 711 252 742 252 780 C 252 812 255 842 262 870 C 268 898 281 925 300 952 L 92 1168 L 208 1276 L 408 1060 C 456 1092 510 1108 572 1108 C 636 1108 692 1092 740 1060 L 944 1276 L 1060 1156 L 852 952 C 870 925 883 898 890 872 C 896 845 900 814 900 780 C 900 716 882 658 848 608 L 1056 392 Z M 748 780 C 748 833 731 876 698 910 C 664 943 622 960 572 960 C 521 960 480 943 448 910 C 416 876 400 833 400 780 C 400 726 416 684 450 652 C 483 620 524 604 572 604 C 625 604 668 620 700 652 C 732 684 748 726 748 780 Z" unicode="¤" />
-<glyph horiz-adv-x="1343" d="M 543 0 L 543 199 L 166 199 L 166 369 L 543 369 L 543 512 L 166 512 L 166 682 L 537 682 L 39 1516 L 307 1516 L 674 891 L 1040 1516 L 1305 1516 L 803 682 L 1180 682 L 1180 512 L 799 512 L 799 369 L 1180 369 L 1180 199 L 799 199 L 799 0 L 543 0 Z" unicode="¥" />
-<glyph horiz-adv-x="772" d="M 262 678 L 262 1516 L 510 1516 L 510 678 L 262 678 Z M 262 -410 L 262 428 L 510 428 L 510 -410 L 262 -410 Z" unicode="¦" />
-<glyph horiz-adv-x="1149" d="M 573 -410 C 499 -410 437 -401 386 -385 C 335 -368 293 -346 259 -319 C 225 -291 199 -260 180 -225 C 160 -190 145 -154 135 -117 L 324 -39 C 332 -67 343 -93 356 -116 C 369 -138 385 -157 404 -173 C 422 -188 445 -200 471 -208 C 497 -216 527 -221 563 -221 C 596 -221 624 -217 646 -210 C 668 -202 686 -192 700 -180 C 713 -167 722 -152 728 -135 C 734 -117 737 -99 737 -80 C 737 -57 732 -36 722 -16 C 712 3 696 23 675 43 C 654 63 628 83 596 104 C 564 124 526 147 483 172 C 428 204 378 234 332 263 C 286 292 246 323 213 355 C 180 387 154 423 136 461 C 118 499 109 542 109 592 C 109 631 115 667 129 701 C 142 734 159 764 181 791 C 202 818 226 842 253 863 C 279 884 306 902 332 918 C 302 940 276 963 256 985 C 236 1007 219 1029 206 1051 C 193 1073 184 1097 178 1122 C 172 1146 170 1173 170 1202 C 170 1247 179 1290 197 1332 C 215 1373 242 1409 276 1441 C 310 1472 353 1497 403 1516 C 453 1534 511 1544 575 1544 C 649 1544 713 1535 765 1519 C 817 1503 860 1481 894 1454 C 928 1426 956 1395 976 1360 C 996 1324 1011 1288 1022 1251 L 823 1167 C 813 1195 801 1222 786 1246 C 771 1270 754 1290 734 1307 C 714 1324 691 1337 666 1347 C 641 1357 614 1362 586 1362 C 552 1362 524 1358 501 1350 C 477 1342 458 1331 443 1317 C 428 1303 417 1288 411 1270 C 404 1252 401 1233 401 1214 C 401 1191 406 1170 417 1150 C 428 1130 445 1111 467 1091 C 489 1071 516 1051 549 1031 C 581 1010 620 987 664 963 C 720 931 770 901 816 872 C 862 842 901 811 934 779 C 967 747 993 711 1011 673 C 1029 635 1038 591 1038 543 C 1038 503 1031 467 1018 433 C 1004 399 987 369 966 342 C 945 314 921 290 895 269 C 869 247 843 229 817 215 C 846 191 870 169 890 147 C 909 125 924 103 936 81 C 948 59 956 35 961 11 C 966 -13 969 -40 969 -68 C 969 -113 960 -156 943 -198 C 925 -239 900 -275 867 -307 C 833 -338 792 -363 743 -382 C 693 -400 637 -410 573 -410 Z M 680 309 C 727 333 763 361 789 393 C 814 424 827 458 827 496 C 827 522 823 546 815 567 C 807 587 792 608 770 630 C 748 651 718 674 680 700 C 642 725 592 755 532 791 L 467 825 C 423 801 387 774 361 742 C 335 710 322 676 322 639 C 322 612 326 588 334 567 C 342 546 356 525 378 504 C 400 482 430 459 468 434 C 506 409 556 379 616 344 C 627 338 638 332 649 326 C 660 320 670 314 680 309 Z" unicode="§" />
-<glyph horiz-adv-x="1065" d="M 213 1444 L 442 1444 L 442 1196 L 213 1196 L 213 1444 Z M 618 1444 L 848 1444 L 848 1196 L 618 1196 L 618 1444 Z" unicode="¨" />
-<glyph horiz-adv-x="1772" d="M 885 -29 C 811 -29 740 -19 673 -1 C 605 16 543 42 485 76 C 427 110 374 150 327 198 C 280 245 240 298 206 356 C 172 414 147 477 129 545 C 111 612 102 682 102 756 C 102 829 111 899 129 967 C 147 1034 173 1097 207 1155 C 241 1213 281 1267 329 1315 C 377 1363 430 1403 488 1437 C 546 1471 609 1497 677 1516 C 744 1534 815 1544 889 1544 C 999 1544 1101 1523 1196 1483 C 1291 1443 1374 1387 1444 1317 C 1514 1246 1569 1163 1609 1068 C 1649 972 1669 870 1669 760 C 1669 686 1659 616 1641 548 C 1623 480 1597 417 1563 359 C 1529 301 1489 248 1442 200 C 1394 152 1342 111 1284 77 C 1226 43 1163 17 1096 -1 C 1028 -19 958 -29 885 -29 Z M 889 90 C 981 90 1067 107 1147 141 C 1226 175 1295 222 1353 282 C 1411 342 1457 412 1490 493 C 1523 574 1540 662 1540 756 C 1540 849 1523 936 1489 1018 C 1455 1099 1409 1170 1351 1230 C 1292 1290 1223 1338 1143 1373 C 1063 1407 977 1425 885 1425 C 791 1425 705 1408 625 1374 C 545 1340 476 1293 418 1233 C 359 1173 313 1103 280 1022 C 247 941 231 854 231 760 C 231 666 247 578 281 497 C 315 415 361 344 420 284 C 479 224 549 176 629 142 C 709 107 795 90 889 90 Z M 881 317 C 827 317 777 327 733 347 C 688 367 650 397 618 436 C 586 474 561 521 544 577 C 526 633 518 696 518 766 C 518 834 526 895 543 950 C 560 1004 584 1051 616 1090 C 648 1128 686 1158 732 1179 C 777 1199 828 1210 885 1210 C 931 1210 973 1203 1009 1191 C 1045 1178 1077 1160 1105 1136 C 1132 1112 1155 1084 1173 1050 C 1191 1016 1204 979 1214 938 L 1067 899 C 1051 953 1030 996 1003 1026 C 976 1056 937 1071 887 1071 C 855 1071 826 1063 801 1049 C 775 1034 754 1013 736 987 C 718 961 705 929 696 891 C 686 853 682 812 682 766 C 682 718 686 675 696 637 C 705 599 718 568 736 542 C 753 516 774 496 800 482 C 826 468 855 461 887 461 C 937 461 976 476 1006 506 C 1036 536 1058 583 1073 645 L 1147 625 C 1156 622 1165 619 1174 617 C 1183 615 1191 613 1199 611 C 1206 609 1212 608 1217 607 C 1221 606 1224 606 1225 606 C 1213 562 1197 522 1178 486 C 1159 450 1136 420 1108 395 C 1080 370 1047 351 1010 337 C 972 323 929 317 881 317 Z" unicode="©" />
-<glyph horiz-adv-x="889" d="M 311 745 C 279 745 249 749 222 758 C 195 766 172 779 152 796 C 132 812 117 833 106 857 C 95 881 90 910 90 942 C 90 983 99 1021 117 1055 C 135 1089 165 1120 205 1146 C 245 1172 296 1195 359 1213 C 421 1231 497 1245 586 1255 L 586 1280 C 586 1316 576 1343 557 1363 C 538 1383 508 1393 467 1393 C 414 1393 367 1383 325 1365 C 283 1347 244 1322 207 1290 L 119 1395 C 139 1415 162 1433 187 1451 C 212 1468 240 1483 270 1495 C 300 1507 333 1517 370 1525 C 406 1532 447 1536 492 1536 C 588 1536 658 1512 702 1464 C 746 1416 768 1348 768 1260 L 768 948 C 768 902 769 865 773 836 C 777 806 783 781 793 760 L 604 760 C 594 793 588 828 586 866 C 548 828 506 798 462 777 C 417 755 367 745 311 745 Z M 375 889 C 420 889 460 897 494 914 C 528 931 558 952 586 977 L 586 1149 C 524 1141 473 1131 433 1120 C 393 1108 361 1095 337 1080 C 313 1065 296 1049 286 1031 C 276 1013 272 995 272 975 C 272 946 281 924 300 910 C 318 896 343 889 375 889 Z" unicode="ª" />
-<glyph horiz-adv-x="1204" d="M 391 0 L 66 545 L 391 1087 L 637 1087 L 324 545 L 637 0 L 391 0 Z M 874 0 L 547 545 L 874 1087 L 1118 1087 L 803 545 L 1118 0 L 874 0 Z" unicode="«" />
-<glyph horiz-adv-x="1536" d="M 1116 352 L 1116 728 L 212 728 L 212 920 L 1296 920 L 1296 352 L 1116 352 Z" unicode="¬" />
-<glyph horiz-adv-x="731" d="M 113 553 L 113 733 L 618 733 L 618 553 L 113 553 Z" unicode="­" />
-<glyph horiz-adv-x="1098" d="M 549 598 C 482 598 420 610 362 634 C 304 658 254 692 212 735 C 170 777 136 827 112 885 C 88 943 76 1005 76 1073 C 76 1139 88 1201 113 1259 C 137 1317 171 1367 214 1410 C 256 1452 306 1486 364 1511 C 422 1535 484 1548 551 1548 C 617 1548 679 1535 737 1511 C 794 1487 844 1453 886 1411 C 928 1368 962 1318 986 1261 C 1010 1203 1022 1141 1022 1075 C 1022 1007 1009 945 985 887 C 961 829 927 778 885 736 C 842 693 792 659 735 635 C 677 610 615 598 549 598 Z M 551 676 C 606 676 657 686 705 706 C 752 726 793 754 828 790 C 863 825 890 867 910 916 C 930 964 940 1017 940 1073 C 940 1129 930 1181 910 1229 C 890 1277 862 1319 827 1355 C 792 1391 751 1419 703 1439 C 655 1459 604 1470 549 1470 C 493 1470 442 1459 395 1439 C 347 1419 306 1391 271 1356 C 236 1320 209 1279 189 1231 C 169 1183 160 1131 160 1075 C 160 1019 170 966 190 918 C 210 869 237 827 272 791 C 307 755 348 726 396 706 C 444 686 495 676 551 676 Z M 367 1343 L 561 1343 C 623 1343 671 1329 705 1303 C 739 1277 756 1237 756 1184 C 756 1142 746 1109 728 1086 C 709 1063 684 1046 653 1036 L 766 823 L 657 823 L 553 1022 L 471 1022 L 471 823 L 367 823 L 367 1343 Z M 555 1102 C 587 1102 611 1107 628 1119 C 644 1130 653 1150 653 1178 C 653 1203 644 1221 627 1233 C 610 1245 585 1251 553 1251 L 471 1251 L 471 1102 L 555 1102 Z" unicode="®" />
-<glyph horiz-adv-x="1024" d="M 193 1382 L 831 1382 L 831 1196 L 193 1196 L 193 1382 Z" unicode="¯" />
-<glyph horiz-adv-x="840" d="M 420 920 C 374 920 332 927 294 943 C 256 959 222 980 194 1008 C 166 1035 144 1068 128 1106 C 112 1144 104 1185 104 1231 C 104 1275 112 1317 128 1355 C 144 1393 166 1426 194 1454 C 222 1481 256 1502 294 1518 C 332 1534 374 1542 420 1542 C 464 1542 506 1534 545 1519 C 583 1503 617 1482 645 1455 C 673 1427 695 1395 711 1357 C 727 1319 735 1277 735 1233 C 735 1187 727 1146 711 1108 C 695 1070 673 1037 645 1009 C 617 981 583 959 545 943 C 506 927 464 920 420 920 Z M 420 1051 C 444 1051 467 1055 487 1064 C 507 1072 525 1084 540 1100 C 555 1116 567 1135 575 1157 C 583 1179 588 1203 588 1231 C 588 1257 583 1282 575 1304 C 567 1326 555 1345 540 1361 C 525 1377 507 1389 487 1398 C 467 1406 444 1411 420 1411 C 395 1411 372 1406 352 1398 C 332 1389 314 1377 299 1361 C 284 1345 272 1326 264 1304 C 256 1282 252 1257 252 1231 C 252 1203 256 1179 264 1157 C 272 1135 284 1116 299 1100 C 314 1084 332 1072 352 1064 C 372 1055 395 1051 420 1051 Z" unicode="°" />
-<glyph horiz-adv-x="1315" d="M 137 250 L 557 250 L 557 631 L 137 631 L 137 829 L 557 829 L 557 1262 L 760 1262 L 760 829 L 1180 829 L 1180 631 L 760 631 L 760 250 L 1180 250 L 1180 59 L 137 59 L 137 250 Z" unicode="±" />
-<glyph horiz-adv-x="952" d="M 125 602 C 125 636 128 671 135 706 C 142 740 156 775 177 811 C 198 846 228 882 267 919 C 306 956 358 994 422 1034 C 458 1056 488 1075 512 1092 C 536 1108 555 1124 569 1140 C 583 1155 594 1171 600 1188 C 606 1204 610 1223 610 1245 C 610 1281 599 1309 578 1330 C 557 1351 526 1362 485 1362 C 447 1362 410 1349 374 1325 C 337 1301 304 1261 274 1206 L 129 1305 C 173 1381 224 1439 282 1478 C 340 1516 410 1536 492 1536 C 544 1536 589 1529 629 1515 C 669 1501 702 1482 729 1457 C 756 1431 776 1401 790 1366 C 804 1330 811 1291 811 1249 C 811 1219 807 1191 799 1164 C 791 1136 778 1109 760 1083 C 741 1056 716 1029 684 1003 C 652 976 611 949 563 922 C 495 882 446 845 416 813 C 386 780 367 750 360 723 L 815 723 L 815 553 L 125 553 L 125 602 Z" unicode="²" />
-<glyph horiz-adv-x="952" d="M 471 537 C 392 537 320 553 256 587 C 192 621 139 670 98 735 L 227 844 C 245 818 263 796 282 778 C 301 760 320 746 340 736 C 360 725 379 717 399 713 C 418 709 437 707 457 707 C 513 707 555 719 582 745 C 609 770 623 802 623 842 C 623 890 605 927 571 951 C 537 975 479 987 399 987 L 330 987 L 330 1135 L 403 1135 C 440 1135 471 1137 497 1143 C 523 1148 543 1156 559 1166 C 575 1176 586 1189 593 1204 C 600 1219 604 1237 604 1257 C 604 1288 593 1314 572 1334 C 550 1354 517 1364 471 1364 C 435 1364 399 1355 363 1339 C 326 1322 289 1295 252 1257 L 135 1380 C 184 1432 238 1471 298 1497 C 357 1523 420 1536 487 1536 C 541 1536 588 1529 628 1516 C 668 1503 701 1485 728 1462 C 755 1439 775 1412 789 1381 C 802 1349 809 1315 809 1278 C 809 1232 797 1190 773 1152 C 749 1114 710 1086 657 1069 C 720 1049 766 1019 794 979 C 822 939 836 892 836 838 C 836 790 827 748 810 711 C 792 673 768 642 736 616 C 704 590 666 571 621 557 C 576 543 526 537 471 537 Z" unicode="³" />
-<glyph horiz-adv-x="1024" d="M 514 1542 L 784 1542 L 487 1202 L 322 1202 L 514 1542 Z" unicode="´" />
-<glyph horiz-adv-x="1245" d="M 141 -410 L 141 1087 L 393 1087 L 393 369 C 393 308 405 262 431 232 C 457 201 499 186 557 186 C 585 186 611 189 637 196 C 662 203 687 213 711 225 C 735 237 758 252 782 270 C 805 287 828 306 852 328 L 852 1087 L 1104 1087 L 1104 0 L 852 0 L 852 172 C 832 151 812 131 790 111 C 768 91 744 74 718 58 C 692 42 664 28 635 16 C 605 4 574 -3 541 -8 C 511 -10 483 -8 459 -4 C 434 0 412 9 393 25 L 393 -410 L 141 -410 Z" unicode="µ" />
-<glyph horiz-adv-x="1290" d="M 602 -410 L 602 662 C 440 665 317 702 232 774 C 146 845 104 949 104 1085 C 104 1145 114 1202 134 1254 C 154 1306 184 1352 224 1391 C 264 1429 313 1460 371 1482 C 429 1504 497 1516 573 1516 L 1153 1516 L 1153 -410 L 973 -410 L 973 1321 L 782 1321 L 782 -410 L 602 -410 Z" unicode="¶" />
-<glyph horiz-adv-x="575" d="M 141 541 L 141 807 L 434 807 L 434 541 L 141 541 Z" unicode="·" />
-<glyph horiz-adv-x="1024" d="M 528 -408 C 474 -408 422 -401 373 -387 C 324 -373 282 -355 246 -332 L 297 -250 C 327 -270 361 -286 398 -296 C 434 -306 470 -311 506 -311 C 588 -311 629 -284 629 -231 C 629 -209 622 -193 609 -183 C 595 -173 577 -168 555 -168 C 536 -168 519 -171 504 -178 C 489 -184 475 -193 461 -205 L 389 -170 L 440 0 L 557 0 L 528 -100 C 542 -90 560 -83 580 -78 C 600 -72 625 -70 653 -70 C 671 -70 689 -73 707 -79 C 725 -85 740 -94 754 -106 C 768 -118 779 -132 787 -150 C 795 -168 799 -188 799 -211 C 799 -243 791 -271 777 -296 C 763 -320 743 -341 719 -358 C 695 -374 666 -387 633 -395 C 600 -403 565 -408 528 -408 Z" unicode="¸" />
-<glyph horiz-adv-x="760" d="M 143 717 L 317 717 L 317 1341 C 293 1329 266 1320 236 1313 C 205 1306 175 1303 145 1303 L 145 1454 C 185 1455 220 1460 250 1470 C 280 1480 305 1495 326 1516 L 524 1516 L 524 717 L 680 717 L 680 551 L 143 551 L 143 717 Z" unicode="¹" />
-<glyph horiz-adv-x="924" d="M 463 745 C 415 745 369 752 324 767 C 279 782 239 806 204 838 C 168 870 140 911 118 961 C 96 1011 86 1071 86 1141 C 86 1211 96 1272 118 1322 C 140 1372 168 1412 204 1444 C 239 1476 279 1499 324 1514 C 369 1528 415 1536 463 1536 C 509 1536 555 1528 600 1514 C 644 1499 684 1476 720 1444 C 755 1412 783 1372 805 1322 C 827 1272 838 1211 838 1141 C 838 1071 827 1011 805 961 C 783 911 755 870 720 838 C 684 806 644 782 600 767 C 555 752 509 745 463 745 Z M 463 883 C 494 883 521 889 545 902 C 568 914 587 932 603 955 C 619 978 631 1005 639 1037 C 647 1069 651 1103 651 1141 C 651 1175 647 1208 640 1240 C 632 1271 621 1298 606 1322 C 590 1345 571 1364 547 1378 C 523 1392 495 1399 463 1399 C 431 1399 403 1392 379 1379 C 355 1366 336 1348 320 1325 C 304 1302 292 1275 284 1244 C 276 1212 272 1178 272 1141 C 272 1105 275 1072 283 1041 C 290 1010 301 983 317 959 C 332 935 352 917 376 903 C 400 889 429 883 463 883 Z" unicode="º" />
-<glyph horiz-adv-x="1204" d="M 84 0 L 399 545 L 84 1087 L 330 1087 L 657 545 L 330 0 L 84 0 Z M 567 0 L 881 545 L 567 1087 L 811 1087 L 1137 545 L 811 0 L 567 0 Z" unicode="»" />
-<glyph horiz-adv-x="2064" d="M 170 719 L 338 719 L 338 1309 C 315 1300 290 1293 262 1289 C 234 1284 205 1282 174 1282 L 174 1454 C 219 1456 256 1461 284 1470 C 312 1479 337 1494 358 1516 L 545 1516 L 545 719 L 692 719 L 692 551 L 170 551 L 170 719 Z M 1602 213 L 1163 213 L 1163 344 L 1591 967 L 1806 967 L 1806 377 L 1960 377 L 1960 213 L 1806 213 L 1806 0 L 1602 0 L 1602 213 Z M 1395 1516 L 1616 1516 L 709 0 L 487 0 L 1395 1516 Z M 1612 367 L 1612 735 L 1366 367 L 1612 367 Z" unicode="¼" />
-<glyph horiz-adv-x="2136" d="M 1309 49 C 1309 83 1312 118 1320 152 C 1327 186 1341 221 1363 256 C 1384 291 1414 327 1454 364 C 1493 401 1544 440 1608 481 C 1639 501 1666 520 1689 536 C 1712 552 1731 569 1747 585 C 1762 601 1773 617 1781 634 C 1788 651 1792 670 1792 692 C 1792 728 1781 756 1759 777 C 1737 798 1707 809 1667 809 C 1631 809 1595 797 1559 773 C 1523 749 1489 709 1458 653 L 1313 752 C 1357 828 1408 886 1467 925 C 1525 963 1595 983 1675 983 C 1725 983 1770 976 1810 962 C 1850 948 1883 929 1911 904 C 1938 878 1959 848 1973 813 C 1987 777 1995 738 1995 696 C 1995 666 1991 638 1983 611 C 1975 583 1962 556 1944 530 C 1926 503 1901 476 1870 450 C 1838 423 1799 396 1751 369 C 1687 331 1639 295 1607 262 C 1575 228 1556 198 1550 170 L 2001 170 L 2001 0 L 1309 0 L 1309 49 Z M 1395 1516 L 1616 1516 L 709 0 L 487 0 L 1395 1516 Z M 170 719 L 338 719 L 338 1309 C 315 1300 290 1293 262 1289 C 234 1284 205 1282 174 1282 L 174 1454 C 219 1456 256 1461 284 1470 C 312 1479 337 1494 358 1516 L 545 1516 L 545 719 L 692 719 L 692 551 L 170 551 L 170 719 Z" unicode="½" />
-<glyph horiz-adv-x="2134" d="M 471 537 C 392 537 320 553 256 587 C 192 621 139 670 98 735 L 227 844 C 245 818 263 796 282 778 C 301 760 320 746 340 736 C 360 725 379 717 399 713 C 418 709 437 707 457 707 C 513 707 555 719 582 745 C 609 770 623 802 623 842 C 623 890 605 927 571 951 C 537 975 479 987 399 987 L 330 987 L 330 1135 L 403 1135 C 440 1135 471 1137 497 1143 C 523 1148 543 1156 559 1166 C 575 1176 586 1189 593 1204 C 600 1219 604 1237 604 1257 C 604 1288 593 1314 572 1334 C 550 1354 517 1364 471 1364 C 435 1364 399 1355 363 1339 C 326 1322 289 1295 252 1257 L 135 1380 C 184 1432 238 1471 298 1497 C 357 1523 420 1536 487 1536 C 541 1536 588 1529 628 1516 C 668 1503 701 1485 728 1462 C 755 1439 775 1412 789 1381 C 802 1349 809 1315 809 1278 C 809 1232 797 1190 773 1152 C 749 1114 710 1086 657 1069 C 720 1049 766 1019 794 979 C 822 939 836 892 836 838 C 836 790 827 748 810 711 C 792 673 768 642 736 616 C 704 590 666 571 621 557 C 576 543 526 537 471 537 Z M 1671 213 L 1233 213 L 1233 344 L 1661 967 L 1876 967 L 1876 377 L 2030 377 L 2030 213 L 1876 213 L 1876 0 L 1671 0 L 1671 213 Z M 1464 1516 L 1686 1516 L 780 0 L 559 0 L 1464 1516 Z M 1681 367 L 1681 735 L 1436 367 L 1681 367 Z" unicode="¾" />
-<glyph horiz-adv-x="1171" d="M 561 -29 C 485 -29 418 -19 360 -1 C 302 17 253 43 214 76 C 175 109 146 148 126 194 C 106 240 96 290 96 344 C 96 392 102 435 115 472 C 128 508 146 541 169 570 C 191 598 218 623 248 645 C 278 667 311 687 346 707 C 390 731 425 754 450 775 C 475 795 493 818 505 844 C 517 869 524 899 526 934 C 528 969 530 1013 530 1067 L 737 1067 C 740 1042 742 1018 742 995 C 742 972 743 948 743 924 C 743 848 725 785 690 734 C 655 683 606 640 543 604 C 509 584 480 566 456 550 C 432 534 412 517 396 499 C 380 481 368 461 360 439 C 352 417 348 392 348 362 C 348 310 368 270 409 241 C 450 211 508 197 584 197 C 622 197 658 202 693 212 C 727 222 760 235 790 252 C 820 268 848 287 873 308 C 898 329 920 351 940 373 L 1102 227 C 1072 191 1038 157 1002 126 C 966 95 925 68 881 45 C 837 22 788 4 735 -9 C 681 -22 623 -29 561 -29 Z M 494 1260 L 494 1516 L 774 1516 L 774 1260 L 494 1260 Z" unicode="¿" />
-<glyph horiz-adv-x="1427" d="M 51 0 L 588 1522 L 840 1522 L 1376 0 L 1114 0 L 991 360 L 416 360 L 291 0 L 51 0 Z M 494 586 L 915 586 L 709 1200 L 705 1200 L 494 586 Z M 346 1945 L 618 1945 L 811 1605 L 645 1605 L 346 1945 Z" unicode="À" />
-<glyph horiz-adv-x="1427" d="M 51 0 L 588 1522 L 840 1522 L 1376 0 L 1114 0 L 991 360 L 416 360 L 291 0 L 51 0 Z M 494 586 L 915 586 L 709 1200 L 705 1200 L 494 586 Z M 809 1945 L 1079 1945 L 782 1605 L 617 1605 L 809 1945 Z" unicode="Á" />
-<glyph horiz-adv-x="1427" d="M 51 0 L 588 1522 L 840 1522 L 1376 0 L 1114 0 L 991 360 L 416 360 L 291 0 L 51 0 Z M 494 586 L 915 586 L 709 1200 L 705 1200 L 494 586 Z M 625 1945 L 799 1945 L 1063 1605 L 916 1605 L 711 1777 L 506 1605 L 361 1605 L 625 1945 Z" unicode="Â" />
-<glyph horiz-adv-x="1427" d="M 51 0 L 588 1522 L 840 1522 L 1376 0 L 1114 0 L 991 360 L 416 360 L 291 0 L 51 0 Z M 494 586 L 915 586 L 709 1200 L 705 1200 L 494 586 Z M 868 1591 C 834 1591 803 1597 776 1609 C 749 1621 724 1634 701 1648 C 677 1662 655 1676 634 1688 C 613 1700 592 1706 571 1706 C 542 1706 521 1697 507 1680 C 493 1663 487 1635 487 1595 L 346 1595 C 346 1645 350 1688 360 1724 C 370 1760 384 1789 402 1812 C 420 1835 443 1852 469 1863 C 495 1874 525 1880 559 1880 C 593 1880 623 1874 650 1862 C 677 1850 702 1836 726 1822 C 749 1808 771 1795 793 1783 C 814 1771 836 1765 858 1765 C 886 1765 907 1773 921 1790 C 935 1807 942 1836 942 1876 L 1083 1876 C 1083 1776 1063 1704 1025 1659 C 987 1613 934 1591 868 1591 Z" unicode="Ã" />
-<glyph horiz-adv-x="1427" d="M 51 0 L 588 1522 L 840 1522 L 1376 0 L 1114 0 L 991 360 L 416 360 L 291 0 L 51 0 Z M 494 586 L 915 586 L 709 1200 L 705 1200 L 494 586 Z M 393 1847 L 622 1847 L 622 1599 L 393 1599 L 393 1847 Z M 798 1847 L 1028 1847 L 1028 1599 L 798 1599 L 798 1847 Z" unicode="Ä" />
-<glyph horiz-adv-x="1427" d="M 575 1485 C 553 1500 536 1520 523 1546 C 510 1571 504 1600 504 1632 C 504 1661 509 1688 520 1714 C 530 1739 545 1761 564 1779 C 582 1797 604 1812 630 1823 C 655 1833 683 1839 713 1839 C 743 1839 770 1833 796 1823 C 822 1812 844 1797 863 1779 C 881 1761 896 1739 906 1714 C 916 1688 922 1661 922 1632 C 922 1600 915 1571 903 1547 C 890 1522 873 1501 852 1485 L 1376 0 L 1114 0 L 991 360 L 416 360 L 291 0 L 51 0 L 575 1485 Z M 918 588 L 709 1200 L 705 1200 L 492 588 L 918 588 Z M 713 1526 C 743 1526 767 1535 785 1555 C 803 1574 813 1600 813 1632 C 813 1662 803 1686 785 1706 C 767 1725 743 1735 713 1735 C 683 1735 659 1725 640 1706 C 621 1686 612 1662 612 1632 C 612 1600 621 1574 640 1555 C 659 1535 683 1526 713 1526 Z" unicode="Å" />
-<glyph horiz-adv-x="2134" d="M 41 0 L 903 1516 L 2011 1516 L 2011 1278 L 1288 1278 L 1288 901 L 1819 901 L 1819 674 L 1288 674 L 1288 233 L 2052 233 L 2052 0 L 1034 0 L 1034 426 L 539 426 L 299 0 L 41 0 Z M 666 651 L 1034 651 L 1034 1303 L 1032 1303 L 666 651 Z" unicode="Æ" />
-<glyph horiz-adv-x="1468" d="M 770 -408 C 714 -408 661 -401 613 -387 C 565 -373 523 -355 487 -332 L 537 -250 C 567 -270 601 -286 639 -296 C 676 -306 712 -311 748 -311 C 829 -311 870 -284 870 -231 C 870 -209 863 -193 850 -183 C 837 -173 819 -168 797 -168 C 777 -168 760 -171 745 -178 C 729 -184 714 -193 700 -205 L 629 -170 L 674 -25 C 588 -15 510 9 440 48 C 369 87 308 140 258 206 C 208 272 169 352 141 445 C 113 538 100 644 100 762 C 100 886 116 997 150 1094 C 183 1191 229 1273 289 1340 C 348 1406 418 1457 499 1492 C 580 1526 668 1544 764 1544 C 852 1544 929 1532 995 1509 C 1061 1486 1117 1454 1164 1412 C 1211 1370 1250 1321 1280 1263 C 1310 1205 1334 1142 1352 1073 L 1108 1006 C 1094 1056 1077 1101 1059 1141 C 1040 1181 1017 1214 990 1242 C 962 1270 930 1291 893 1306 C 855 1321 812 1329 762 1329 C 698 1329 640 1315 590 1289 C 540 1262 497 1224 463 1175 C 428 1126 401 1067 383 997 C 365 927 356 850 356 764 C 356 674 365 593 384 521 C 402 449 429 387 465 337 C 500 287 543 248 594 222 C 644 195 702 182 766 182 C 816 182 860 189 899 204 C 937 219 971 241 1001 271 C 1031 300 1056 336 1078 380 C 1099 423 1117 473 1133 530 L 1374 475 C 1356 401 1331 333 1299 273 C 1267 212 1228 160 1180 116 C 1132 72 1075 38 1011 13 C 947 -12 873 -26 791 -29 L 770 -100 C 784 -90 801 -83 821 -78 C 841 -72 865 -70 893 -70 C 912 -70 930 -73 948 -79 C 966 -85 981 -94 995 -106 C 1009 -118 1020 -132 1028 -150 C 1036 -168 1040 -188 1040 -211 C 1040 -243 1033 -271 1019 -296 C 1005 -320 985 -341 961 -358 C 937 -374 908 -387 875 -395 C 842 -403 807 -408 770 -408 Z" unicode="Ç" />
-<glyph horiz-adv-x="1272" d="M 172 0 L 172 1516 L 1151 1516 L 1151 1278 L 428 1278 L 428 901 L 958 901 L 958 674 L 428 674 L 428 233 L 1192 233 L 1192 0 L 172 0 Z M 336 1945 L 608 1945 L 801 1605 L 635 1605 L 336 1945 Z" unicode="È" />
-<glyph horiz-adv-x="1272" d="M 707 1945 L 977 1945 L 680 1605 L 515 1605 L 707 1945 Z M 172 0 L 172 1516 L 1151 1516 L 1151 1278 L 428 1278 L 428 901 L 958 901 L 958 674 L 428 674 L 428 233 L 1192 233 L 1192 0 L 172 0 Z" unicode="É" />
-<glyph horiz-adv-x="1272" d="M 572 1945 L 746 1945 L 1010 1605 L 863 1605 L 658 1777 L 453 1605 L 308 1605 L 572 1945 Z M 172 0 L 172 1516 L 1151 1516 L 1151 1278 L 428 1278 L 428 901 L 958 901 L 958 674 L 428 674 L 428 233 L 1192 233 L 1192 0 L 172 0 Z" unicode="Ê" />
-<glyph horiz-adv-x="1272" d="M 350 1847 L 579 1847 L 579 1599 L 350 1599 L 350 1847 Z M 755 1847 L 985 1847 L 985 1599 L 755 1599 L 755 1847 Z M 172 0 L 172 1516 L 1151 1516 L 1151 1278 L 428 1278 L 428 901 L 958 901 L 958 674 L 428 674 L 428 233 L 1192 233 L 1192 0 L 172 0 Z" unicode="Ë" />
-<glyph horiz-adv-x="635" d="M 188 0 L 188 1516 L 446 1516 L 446 0 L 188 0 Z M -38 1945 L 234 1945 L 427 1605 L 261 1605 L -38 1945 Z" unicode="Ì" />
-<glyph horiz-adv-x="635" d="M 188 0 L 188 1516 L 446 1516 L 446 0 L 188 0 Z M 419 1945 L 689 1945 L 392 1605 L 227 1605 L 419 1945 Z" unicode="Í" />
-<glyph horiz-adv-x="635" d="M 188 0 L 188 1516 L 446 1516 L 446 0 L 188 0 Z M 233 1945 L 407 1945 L 671 1605 L 524 1605 L 319 1777 L 114 1605 L -31 1605 L 233 1945 Z" unicode="Î" />
-<glyph horiz-adv-x="635" d="M 188 0 L 188 1516 L 446 1516 L 446 0 L 188 0 Z M -1 1847 L 228 1847 L 228 1599 L -1 1599 L -1 1847 Z M 404 1847 L 634 1847 L 634 1599 L 404 1599 L 404 1847 Z" unicode="Ï" />
-<glyph horiz-adv-x="1491" d="M 172 0 L 172 686 L 23 686 L 23 883 L 172 883 L 172 1516 L 604 1516 C 722 1516 830 1501 927 1473 C 1024 1444 1107 1399 1176 1338 C 1244 1276 1297 1198 1335 1102 C 1372 1006 1391 892 1391 758 C 1391 624 1372 510 1334 414 C 1296 318 1242 240 1173 179 C 1104 117 1021 72 925 43 C 828 14 721 0 604 0 L 172 0 Z M 426 227 L 627 227 C 713 227 788 237 852 257 C 916 277 969 308 1011 352 C 1053 395 1084 450 1104 518 C 1124 586 1135 668 1135 764 C 1135 854 1124 932 1104 997 C 1083 1062 1051 1115 1009 1157 C 967 1199 913 1229 849 1249 C 785 1268 709 1278 623 1278 L 426 1278 L 426 883 L 743 883 L 743 686 L 426 686 L 426 227 Z" unicode="Ð" />
-<glyph horiz-adv-x="1563" d="M 172 0 L 172 1516 L 432 1516 L 1149 434 L 1153 434 L 1153 1516 L 1391 1516 L 1391 0 L 1157 0 L 414 1104 L 410 1104 L 410 0 L 172 0 Z M 948 1591 C 914 1591 883 1597 856 1609 C 829 1621 804 1634 781 1648 C 757 1662 735 1676 714 1688 C 693 1700 672 1706 651 1706 C 622 1706 601 1697 587 1680 C 573 1663 567 1635 567 1595 L 426 1595 C 426 1645 430 1688 440 1724 C 450 1760 464 1789 482 1812 C 500 1835 523 1852 549 1863 C 575 1874 605 1880 639 1880 C 673 1880 703 1874 730 1862 C 757 1850 782 1836 806 1822 C 829 1808 851 1795 873 1783 C 894 1771 916 1765 938 1765 C 966 1765 987 1773 1001 1790 C 1015 1807 1022 1836 1022 1876 L 1163 1876 C 1163 1776 1143 1704 1105 1659 C 1067 1613 1014 1591 948 1591 Z" unicode="Ñ" />
-<glyph horiz-adv-x="1565" d="M 784 -29 C 688 -29 598 -12 514 22 C 430 56 358 106 296 173 C 234 239 186 322 151 420 C 115 518 98 630 98 758 C 98 885 115 998 151 1096 C 186 1194 234 1276 296 1342 C 358 1408 430 1459 514 1493 C 598 1527 688 1544 784 1544 C 880 1544 969 1527 1052 1493 C 1135 1459 1207 1408 1269 1342 C 1330 1276 1378 1194 1413 1096 C 1448 998 1466 885 1466 758 C 1466 630 1448 518 1413 420 C 1378 322 1330 239 1269 173 C 1207 106 1135 56 1052 22 C 969 -12 880 -29 784 -29 Z M 784 203 C 847 203 905 215 957 239 C 1009 263 1054 299 1091 346 C 1128 393 1157 451 1177 520 C 1197 589 1208 668 1208 758 C 1208 846 1197 925 1177 994 C 1157 1062 1128 1120 1091 1167 C 1054 1213 1009 1249 957 1273 C 905 1297 847 1309 784 1309 C 719 1309 660 1297 608 1273 C 555 1249 510 1213 473 1167 C 435 1120 406 1062 386 994 C 366 925 356 846 356 758 C 356 668 366 589 386 520 C 406 451 435 393 473 346 C 510 299 555 263 608 239 C 660 215 719 203 784 203 Z M 443 1945 L 715 1945 L 908 1605 L 742 1605 L 443 1945 Z" unicode="Ò" />
-<glyph horiz-adv-x="1565" d="M 846 1945 L 1116 1945 L 819 1605 L 654 1605 L 846 1945 Z M 784 -29 C 688 -29 598 -12 514 22 C 430 56 358 106 296 173 C 234 239 186 322 151 420 C 115 518 98 630 98 758 C 98 885 115 998 151 1096 C 186 1194 234 1276 296 1342 C 358 1408 430 1459 514 1493 C 598 1527 688 1544 784 1544 C 880 1544 969 1527 1052 1493 C 1135 1459 1207 1408 1269 1342 C 1330 1276 1378 1194 1413 1096 C 1448 998 1466 885 1466 758 C 1466 630 1448 518 1413 420 C 1378 322 1330 239 1269 173 C 1207 106 1135 56 1052 22 C 969 -12 880 -29 784 -29 Z M 784 203 C 847 203 905 215 957 239 C 1009 263 1054 299 1091 346 C 1128 393 1157 451 1177 520 C 1197 589 1208 668 1208 758 C 1208 846 1197 925 1177 994 C 1157 1062 1128 1120 1091 1167 C 1054 1213 1009 1249 957 1273 C 905 1297 847 1309 784 1309 C 719 1309 660 1297 608 1273 C 555 1249 510 1213 473 1167 C 435 1120 406 1062 386 994 C 366 925 356 846 356 758 C 356 668 366 589 386 520 C 406 451 435 393 473 346 C 510 299 555 263 608 239 C 660 215 719 203 784 203 Z" unicode="Ó" />
-<glyph horiz-adv-x="1565" d="M 694 1945 L 868 1945 L 1132 1605 L 985 1605 L 780 1777 L 575 1605 L 430 1605 L 694 1945 Z M 784 -29 C 688 -29 598 -12 514 22 C 430 56 358 106 296 173 C 234 239 186 322 151 420 C 115 518 98 630 98 758 C 98 885 115 998 151 1096 C 186 1194 234 1276 296 1342 C 358 1408 430 1459 514 1493 C 598 1527 688 1544 784 1544 C 880 1544 969 1527 1052 1493 C 1135 1459 1207 1408 1269 1342 C 1330 1276 1378 1194 1413 1096 C 1448 998 1466 885 1466 758 C 1466 630 1448 518 1413 420 C 1378 322 1330 239 1269 173 C 1207 106 1135 56 1052 22 C 969 -12 880 -29 784 -29 Z M 784 203 C 847 203 905 215 957 239 C 1009 263 1054 299 1091 346 C 1128 393 1157 451 1177 520 C 1197 589 1208 668 1208 758 C 1208 846 1197 925 1177 994 C 1157 1062 1128 1120 1091 1167 C 1054 1213 1009 1249 957 1273 C 905 1297 847 1309 784 1309 C 719 1309 660 1297 608 1273 C 555 1249 510 1213 473 1167 C 435 1120 406 1062 386 994 C 366 925 356 846 356 758 C 356 668 366 589 386 520 C 406 451 435 393 473 346 C 510 299 555 263 608 239 C 660 215 719 203 784 203 Z" unicode="Ô" />
-<glyph horiz-adv-x="1565" d="M 784 -29 C 688 -29 598 -12 514 22 C 430 56 358 106 296 173 C 234 239 186 322 151 420 C 115 518 98 630 98 758 C 98 885 115 998 151 1096 C 186 1194 234 1276 296 1342 C 358 1408 430 1459 514 1493 C 598 1527 688 1544 784 1544 C 880 1544 969 1527 1052 1493 C 1135 1459 1207 1408 1269 1342 C 1330 1276 1378 1194 1413 1096 C 1448 998 1466 885 1466 758 C 1466 630 1448 518 1413 420 C 1378 322 1330 239 1269 173 C 1207 106 1135 56 1052 22 C 969 -12 880 -29 784 -29 Z M 784 203 C 847 203 905 215 957 239 C 1009 263 1054 299 1091 346 C 1128 393 1157 451 1177 520 C 1197 589 1208 668 1208 758 C 1208 846 1197 925 1177 994 C 1157 1062 1128 1120 1091 1167 C 1054 1213 1009 1249 957 1273 C 905 1297 847 1309 784 1309 C 719 1309 660 1297 608 1273 C 555 1249 510 1213 473 1167 C 435 1120 406 1062 386 994 C 366 925 356 846 356 758 C 356 668 366 589 386 520 C 406 451 435 393 473 346 C 510 299 555 263 608 239 C 660 215 719 203 784 203 Z M 934 1591 C 900 1591 869 1597 842 1609 C 815 1621 790 1634 767 1648 C 743 1662 721 1676 700 1688 C 679 1700 658 1706 637 1706 C 608 1706 587 1697 573 1680 C 559 1663 553 1635 553 1595 L 412 1595 C 412 1645 416 1688 426 1724 C 436 1760 450 1789 468 1812 C 486 1835 509 1852 535 1863 C 561 1874 591 1880 625 1880 C 659 1880 689 1874 716 1862 C 743 1850 768 1836 792 1822 C 815 1808 837 1795 859 1783 C 880 1771 902 1765 924 1765 C 952 1765 973 1773 987 1790 C 1001 1807 1008 1836 1008 1876 L 1149 1876 C 1149 1776 1129 1704 1091 1659 C 1053 1613 1000 1591 934 1591 Z" unicode="Õ" />
-<glyph horiz-adv-x="1565" d="M 461 1847 L 690 1847 L 690 1599 L 461 1599 L 461 1847 Z M 866 1847 L 1096 1847 L 1096 1599 L 866 1599 L 866 1847 Z M 784 -29 C 688 -29 598 -12 514 22 C 430 56 358 106 296 173 C 234 239 186 322 151 420 C 115 518 98 630 98 758 C 98 885 115 998 151 1096 C 186 1194 234 1276 296 1342 C 358 1408 430 1459 514 1493 C 598 1527 688 1544 784 1544 C 880 1544 969 1527 1052 1493 C 1135 1459 1207 1408 1269 1342 C 1330 1276 1378 1194 1413 1096 C 1448 998 1466 885 1466 758 C 1466 630 1448 518 1413 420 C 1378 322 1330 239 1269 173 C 1207 106 1135 56 1052 22 C 969 -12 880 -29 784 -29 Z M 784 203 C 847 203 905 215 957 239 C 1009 263 1054 299 1091 346 C 1128 393 1157 451 1177 520 C 1197 589 1208 668 1208 758 C 1208 846 1197 925 1177 994 C 1157 1062 1128 1120 1091 1167 C 1054 1213 1009 1249 957 1273 C 905 1297 847 1309 784 1309 C 719 1309 660 1297 608 1273 C 555 1249 510 1213 473 1167 C 435 1120 406 1062 386 994 C 366 925 356 846 356 758 C 356 668 366 589 386 520 C 406 451 435 393 473 346 C 510 299 555 263 608 239 C 660 215 719 203 784 203 Z" unicode="Ö" />
-<glyph horiz-adv-x="1315" d="M 322 172 L 172 322 L 508 655 L 172 989 L 322 1137 L 655 803 L 989 1137 L 1137 989 L 805 657 L 1141 324 L 991 176 L 657 510 L 322 172 Z" unicode="×" />
-<glyph horiz-adv-x="1565" d="M 1317 1282 C 1364 1217 1401 1141 1427 1054 C 1453 966 1466 868 1466 758 C 1466 630 1448 518 1413 420 C 1378 322 1330 239 1269 173 C 1207 106 1135 56 1052 22 C 969 -12 880 -29 784 -29 C 704 -29 628 -17 556 7 C 484 31 420 66 362 113 L 225 -51 L 96 49 L 248 231 C 200 297 163 373 137 461 C 111 549 98 648 98 758 C 98 885 115 998 151 1096 C 186 1194 234 1276 296 1342 C 358 1408 430 1459 514 1493 C 598 1527 688 1544 784 1544 C 864 1544 940 1532 1011 1509 C 1081 1485 1145 1450 1202 1403 L 1339 1567 L 1468 1466 L 1317 1282 Z M 508 299 C 580 228 672 193 784 193 C 848 193 906 205 959 231 C 1011 256 1057 293 1095 341 C 1133 389 1162 448 1183 518 C 1203 588 1214 668 1214 758 C 1214 888 1192 998 1149 1087 L 508 299 Z M 1055 1214 C 982 1282 892 1317 784 1317 C 718 1317 659 1304 606 1280 C 552 1255 507 1219 469 1171 C 431 1123 401 1065 381 996 C 360 926 350 847 350 758 C 350 691 355 630 367 575 C 379 519 395 470 416 426 L 1055 1214 Z" unicode="Ø" />
-<glyph horiz-adv-x="1477" d="M 739 -25 C 635 -25 545 -11 471 17 C 397 45 336 84 289 135 C 241 185 207 246 185 317 C 163 388 152 467 152 553 L 152 1516 L 408 1516 L 408 575 C 408 517 414 465 427 420 C 440 374 460 336 487 304 C 514 272 549 248 591 232 C 633 215 683 207 741 207 C 799 207 848 215 890 231 C 932 247 966 271 993 302 C 1020 333 1040 371 1053 417 C 1066 463 1073 515 1073 573 L 1073 1516 L 1325 1516 L 1325 555 C 1325 469 1312 390 1288 319 C 1264 247 1227 186 1178 135 C 1129 84 1068 45 995 17 C 922 -11 837 -25 739 -25 Z M 406 1945 L 678 1945 L 871 1605 L 705 1605 L 406 1945 Z" unicode="Ù" />
-<glyph horiz-adv-x="1477" d="M 782 1945 L 1052 1945 L 755 1605 L 590 1605 L 782 1945 Z M 739 -25 C 635 -25 545 -11 471 17 C 397 45 336 84 289 135 C 241 185 207 246 185 317 C 163 388 152 467 152 553 L 152 1516 L 408 1516 L 408 575 C 408 517 414 465 427 420 C 440 374 460 336 487 304 C 514 272 549 248 591 232 C 633 215 683 207 741 207 C 799 207 848 215 890 231 C 932 247 966 271 993 302 C 1020 333 1040 371 1053 417 C 1066 463 1073 515 1073 573 L 1073 1516 L 1325 1516 L 1325 555 C 1325 469 1312 390 1288 319 C 1264 247 1227 186 1178 135 C 1129 84 1068 45 995 17 C 922 -11 837 -25 739 -25 Z" unicode="Ú" />
-<glyph horiz-adv-x="1477" d="M 649 1945 L 823 1945 L 1087 1605 L 940 1605 L 735 1777 L 530 1605 L 385 1605 L 649 1945 Z M 739 -25 C 635 -25 545 -11 471 17 C 397 45 336 84 289 135 C 241 185 207 246 185 317 C 163 388 152 467 152 553 L 152 1516 L 408 1516 L 408 575 C 408 517 414 465 427 420 C 440 374 460 336 487 304 C 514 272 549 248 591 232 C 633 215 683 207 741 207 C 799 207 848 215 890 231 C 932 247 966 271 993 302 C 1020 333 1040 371 1053 417 C 1066 463 1073 515 1073 573 L 1073 1516 L 1325 1516 L 1325 555 C 1325 469 1312 390 1288 319 C 1264 247 1227 186 1178 135 C 1129 84 1068 45 995 17 C 922 -11 837 -25 739 -25 Z" unicode="Û" />
-<glyph horiz-adv-x="1477" d="M 418 1847 L 647 1847 L 647 1599 L 418 1599 L 418 1847 Z M 823 1847 L 1053 1847 L 1053 1599 L 823 1599 L 823 1847 Z M 739 -25 C 635 -25 545 -11 471 17 C 397 45 336 84 289 135 C 241 185 207 246 185 317 C 163 388 152 467 152 553 L 152 1516 L 408 1516 L 408 575 C 408 517 414 465 427 420 C 440 374 460 336 487 304 C 514 272 549 248 591 232 C 633 215 683 207 741 207 C 799 207 848 215 890 231 C 932 247 966 271 993 302 C 1020 333 1040 371 1053 417 C 1066 463 1073 515 1073 573 L 1073 1516 L 1325 1516 L 1325 555 C 1325 469 1312 390 1288 319 C 1264 247 1227 186 1178 135 C 1129 84 1068 45 995 17 C 922 -11 837 -25 739 -25 Z" unicode="Ü" />
-<glyph horiz-adv-x="1354" d="M 547 0 L 547 653 L 31 1516 L 301 1516 L 680 870 L 1057 1516 L 1323 1516 L 805 653 L 805 0 L 547 0 Z M 688 1956 L 958 1956 L 661 1616 L 496 1616 L 688 1956 Z" unicode="Ý" />
-<glyph horiz-adv-x="1362" d="M 172 0 L 172 1516 L 428 1516 L 428 1264 L 698 1264 C 779 1263 855 1254 927 1238 C 999 1222 1061 1195 1114 1159 C 1167 1122 1209 1074 1240 1014 C 1270 954 1286 880 1286 793 C 1286 731 1278 677 1263 629 C 1248 581 1227 540 1200 504 C 1173 468 1141 438 1104 414 C 1066 389 1026 369 982 354 C 938 338 891 327 841 321 C 791 314 741 311 690 311 L 428 311 L 428 0 L 172 0 Z M 428 541 L 698 541 C 754 541 803 545 844 554 C 885 563 919 577 946 597 C 973 616 993 641 1006 672 C 1019 703 1026 740 1026 784 C 1026 868 999 929 946 967 C 893 1005 810 1024 696 1024 L 428 1024 L 428 541 Z" unicode="Þ" />
-<glyph horiz-adv-x="1341" d="M 838 -23 C 794 -23 754 -19 717 -12 C 680 -5 646 4 616 16 C 586 28 559 42 535 58 C 511 74 491 91 475 109 L 606 260 C 634 234 666 214 703 198 C 740 182 781 174 827 174 C 859 174 888 179 914 191 C 940 202 962 218 980 239 C 998 260 1011 285 1021 315 C 1031 344 1036 376 1036 412 C 1036 468 1024 515 1002 553 C 980 591 948 621 908 644 C 868 667 819 684 763 695 C 707 705 645 712 578 715 L 578 897 C 636 897 686 903 726 914 C 766 925 798 941 822 961 C 846 981 864 1004 875 1032 C 885 1060 891 1090 891 1124 C 891 1182 870 1226 829 1258 C 787 1289 728 1305 651 1305 C 609 1305 571 1300 539 1290 C 507 1280 480 1265 458 1243 C 436 1221 419 1192 408 1157 C 396 1122 391 1080 391 1030 L 391 0 L 141 0 L 141 1022 C 141 1106 153 1179 178 1241 C 203 1303 238 1354 284 1395 C 329 1435 383 1466 447 1486 C 510 1506 580 1516 657 1516 C 729 1516 795 1507 853 1491 C 911 1474 960 1450 1000 1418 C 1040 1386 1071 1347 1093 1301 C 1115 1255 1126 1202 1126 1143 C 1126 1101 1119 1063 1106 1029 C 1092 995 1074 964 1051 938 C 1027 912 1000 889 968 870 C 936 851 901 836 864 825 C 916 819 966 806 1015 788 C 1064 770 1108 744 1146 712 C 1184 679 1214 639 1237 591 C 1260 543 1272 486 1272 422 C 1272 351 1261 288 1241 233 C 1221 177 1192 131 1154 93 C 1116 55 1071 26 1018 6 C 964 -13 904 -23 838 -23 Z" unicode="ß" />
-<glyph horiz-adv-x="1157" d="M 379 -16 C 335 -16 294 -10 257 2 C 219 14 187 31 159 55 C 131 79 110 108 95 142 C 79 176 72 216 72 262 C 72 320 85 374 111 423 C 137 472 178 516 235 554 C 292 592 365 624 455 651 C 544 677 652 698 780 713 L 780 745 C 780 799 765 839 736 864 C 707 888 662 901 602 901 C 564 901 528 896 494 888 C 460 880 427 869 397 855 C 366 841 337 825 310 807 C 283 789 258 772 236 754 L 113 911 C 141 937 174 963 212 987 C 249 1011 290 1032 334 1050 C 378 1068 425 1082 476 1092 C 527 1102 581 1108 637 1108 C 709 1108 771 1099 821 1082 C 871 1065 911 1040 942 1007 C 972 973 994 932 1008 883 C 1021 834 1028 778 1028 715 L 1028 266 C 1028 200 1030 146 1035 104 C 1039 62 1047 28 1059 0 L 805 0 C 801 11 798 22 795 32 C 792 42 789 52 787 63 C 785 74 783 86 782 98 C 780 110 780 123 780 139 C 724 83 664 43 598 19 C 532 -4 459 -16 379 -16 Z M 471 178 C 535 178 593 189 644 212 C 694 234 740 265 780 303 L 780 543 C 628 522 514 493 436 455 C 358 417 319 369 319 309 C 319 265 332 233 360 211 C 388 189 425 178 471 178 Z M 260 1542 L 532 1542 L 725 1202 L 559 1202 L 260 1542 Z" unicode="à" />
-<glyph horiz-adv-x="1157" d="M 379 -16 C 335 -16 294 -10 257 2 C 219 14 187 31 159 55 C 131 79 110 108 95 142 C 79 176 72 216 72 262 C 72 320 85 374 111 423 C 137 472 178 516 235 554 C 292 592 365 624 455 651 C 544 677 652 698 780 713 L 780 745 C 780 799 765 839 736 864 C 707 888 662 901 602 901 C 564 901 528 896 494 888 C 460 880 427 869 397 855 C 366 841 337 825 310 807 C 283 789 258 772 236 754 L 113 911 C 141 937 174 963 212 987 C 249 1011 290 1032 334 1050 C 378 1068 425 1082 476 1092 C 527 1102 581 1108 637 1108 C 709 1108 771 1099 821 1082 C 871 1065 911 1040 942 1007 C 972 973 994 932 1008 883 C 1021 834 1028 778 1028 715 L 1028 266 C 1028 200 1030 146 1035 104 C 1039 62 1047 28 1059 0 L 805 0 C 801 11 798 22 795 32 C 792 42 789 52 787 63 C 785 74 783 86 782 98 C 780 110 780 123 780 139 C 724 83 664 43 598 19 C 532 -4 459 -16 379 -16 Z M 471 178 C 535 178 593 189 644 212 C 694 234 740 265 780 303 L 780 543 C 628 522 514 493 436 455 C 358 417 319 369 319 309 C 319 265 332 233 360 211 C 388 189 425 178 471 178 Z M 649 1542 L 919 1542 L 622 1202 L 457 1202 L 649 1542 Z" unicode="á" />
-<glyph horiz-adv-x="1157" d="M 379 -16 C 335 -16 294 -10 257 2 C 219 14 187 31 159 55 C 131 79 110 108 95 142 C 79 176 72 216 72 262 C 72 320 85 374 111 423 C 137 472 178 516 235 554 C 292 592 365 624 455 651 C 544 677 652 698 780 713 L 780 745 C 780 799 765 839 736 864 C 707 888 662 901 602 901 C 564 901 528 896 494 888 C 460 880 427 869 397 855 C 366 841 337 825 310 807 C 283 789 258 772 236 754 L 113 911 C 141 937 174 963 212 987 C 249 1011 290 1032 334 1050 C 378 1068 425 1082 476 1092 C 527 1102 581 1108 637 1108 C 709 1108 771 1099 821 1082 C 871 1065 911 1040 942 1007 C 972 973 994 932 1008 883 C 1021 834 1028 778 1028 715 L 1028 266 C 1028 200 1030 146 1035 104 C 1039 62 1047 28 1059 0 L 805 0 C 801 11 798 22 795 32 C 792 42 789 52 787 63 C 785 74 783 86 782 98 C 780 110 780 123 780 139 C 724 83 664 43 598 19 C 532 -4 459 -16 379 -16 Z M 471 178 C 535 178 593 189 644 212 C 694 234 740 265 780 303 L 780 543 C 628 522 514 493 436 455 C 358 417 319 369 319 309 C 319 265 332 233 360 211 C 388 189 425 178 471 178 Z M 498 1542 L 672 1542 L 936 1202 L 789 1202 L 584 1374 L 379 1202 L 234 1202 L 498 1542 Z" unicode="â" />
-<glyph horiz-adv-x="1157" d="M 379 -16 C 335 -16 294 -10 257 2 C 219 14 187 31 159 55 C 131 79 110 108 95 142 C 79 176 72 216 72 262 C 72 320 85 374 111 423 C 137 472 178 516 235 554 C 292 592 365 624 455 651 C 544 677 652 698 780 713 L 780 745 C 780 799 765 839 736 864 C 707 888 662 901 602 901 C 564 901 528 896 494 888 C 460 880 427 869 397 855 C 366 841 337 825 310 807 C 283 789 258 772 236 754 L 113 911 C 141 937 174 963 212 987 C 249 1011 290 1032 334 1050 C 378 1068 425 1082 476 1092 C 527 1102 581 1108 637 1108 C 709 1108 771 1099 821 1082 C 871 1065 911 1040 942 1007 C 972 973 994 932 1008 883 C 1021 834 1028 778 1028 715 L 1028 266 C 1028 200 1030 146 1035 104 C 1039 62 1047 28 1059 0 L 805 0 C 801 11 798 22 795 32 C 792 42 789 52 787 63 C 785 74 783 86 782 98 C 780 110 780 123 780 139 C 724 83 664 43 598 19 C 532 -4 459 -16 379 -16 Z M 471 178 C 535 178 593 189 644 212 C 694 234 740 265 780 303 L 780 543 C 628 522 514 493 436 455 C 358 417 319 369 319 309 C 319 265 332 233 360 211 C 388 189 425 178 471 178 Z M 737 1188 C 703 1188 672 1194 645 1206 C 618 1218 593 1231 570 1245 C 546 1259 524 1273 503 1285 C 482 1297 461 1303 440 1303 C 411 1303 390 1294 376 1277 C 362 1260 356 1232 356 1192 L 215 1192 C 215 1242 219 1285 229 1321 C 239 1357 253 1386 271 1409 C 289 1432 312 1449 338 1460 C 364 1471 394 1477 428 1477 C 462 1477 492 1471 519 1459 C 546 1447 571 1433 595 1419 C 618 1405 640 1392 662 1380 C 683 1368 705 1362 727 1362 C 755 1362 776 1370 790 1387 C 804 1404 811 1433 811 1473 L 952 1473 C 952 1373 932 1301 894 1256 C 856 1210 803 1188 737 1188 Z" unicode="ã" />
-<glyph horiz-adv-x="1157" d="M 379 -16 C 335 -16 294 -10 257 2 C 219 14 187 31 159 55 C 131 79 110 108 95 142 C 79 176 72 216 72 262 C 72 320 85 374 111 423 C 137 472 178 516 235 554 C 292 592 365 624 455 651 C 544 677 652 698 780 713 L 780 745 C 780 799 765 839 736 864 C 707 888 662 901 602 901 C 564 901 528 896 494 888 C 460 880 427 869 397 855 C 366 841 337 825 310 807 C 283 789 258 772 236 754 L 113 911 C 141 937 174 963 212 987 C 249 1011 290 1032 334 1050 C 378 1068 425 1082 476 1092 C 527 1102 581 1108 637 1108 C 709 1108 771 1099 821 1082 C 871 1065 911 1040 942 1007 C 972 973 994 932 1008 883 C 1021 834 1028 778 1028 715 L 1028 266 C 1028 200 1030 146 1035 104 C 1039 62 1047 28 1059 0 L 805 0 C 801 11 798 22 795 32 C 792 42 789 52 787 63 C 785 74 783 86 782 98 C 780 110 780 123 780 139 C 724 83 664 43 598 19 C 532 -4 459 -16 379 -16 Z M 471 178 C 535 178 593 189 644 212 C 694 234 740 265 780 303 L 780 543 C 628 522 514 493 436 455 C 358 417 319 369 319 309 C 319 265 332 233 360 211 C 388 189 425 178 471 178 Z M 272 1444 L 501 1444 L 501 1196 L 272 1196 L 272 1444 Z M 677 1444 L 907 1444 L 907 1196 L 677 1196 L 677 1444 Z" unicode="ä" />
-<glyph horiz-adv-x="1157" d="M 379 -16 C 335 -16 294 -10 257 2 C 219 14 187 31 159 55 C 131 79 110 108 95 142 C 79 176 72 216 72 262 C 72 320 85 374 111 423 C 137 472 178 516 235 554 C 292 592 365 624 455 651 C 544 677 652 698 780 713 L 780 745 C 780 799 765 839 736 864 C 707 888 662 901 602 901 C 564 901 528 896 494 888 C 460 880 427 869 397 855 C 366 841 337 825 310 807 C 283 789 258 772 236 754 L 113 911 C 141 937 174 963 212 987 C 249 1011 290 1032 334 1050 C 378 1068 425 1082 476 1092 C 527 1102 581 1108 637 1108 C 709 1108 771 1099 821 1082 C 871 1065 911 1040 942 1007 C 972 973 994 932 1008 883 C 1021 834 1028 778 1028 715 L 1028 266 C 1028 200 1030 146 1035 104 C 1039 62 1047 28 1059 0 L 805 0 C 801 11 798 22 795 32 C 792 42 789 52 787 63 C 785 74 783 86 782 98 C 780 110 780 123 780 139 C 724 83 664 43 598 19 C 532 -4 459 -16 379 -16 Z M 471 178 C 535 178 593 189 644 212 C 694 234 740 265 780 303 L 780 543 C 628 522 514 493 436 455 C 358 417 319 369 319 309 C 319 265 332 233 360 211 C 388 189 425 178 471 178 Z M 594 1186 C 564 1186 536 1191 511 1202 C 485 1212 463 1227 445 1246 C 426 1264 411 1286 401 1312 C 390 1337 385 1365 385 1395 C 385 1424 390 1451 401 1477 C 411 1502 426 1524 445 1542 C 463 1560 485 1575 511 1586 C 536 1596 564 1602 594 1602 C 624 1602 651 1596 677 1586 C 703 1575 725 1560 744 1542 C 762 1524 777 1502 787 1477 C 797 1451 803 1424 803 1395 C 803 1365 797 1337 787 1312 C 777 1286 762 1264 744 1246 C 725 1227 703 1212 677 1202 C 651 1191 624 1186 594 1186 Z M 594 1290 C 624 1290 648 1299 666 1319 C 684 1338 694 1363 694 1395 C 694 1425 684 1449 666 1469 C 648 1489 624 1499 594 1499 C 565 1499 541 1489 522 1469 C 503 1449 494 1425 494 1395 C 494 1363 503 1338 522 1319 C 541 1299 565 1290 594 1290 Z" unicode="å" />
-<glyph horiz-adv-x="1833" d="M 379 -23 C 334 -23 293 -16 256 -4 C 218 7 186 25 159 49 C 131 72 110 101 95 136 C 79 170 72 210 72 256 C 72 314 85 368 111 418 C 137 468 178 512 235 551 C 292 589 365 622 455 650 C 544 677 652 698 780 713 L 780 745 C 780 799 765 839 736 864 C 707 888 662 901 602 901 C 564 901 528 896 494 888 C 460 880 427 869 397 855 C 366 841 337 825 310 807 C 283 789 258 772 236 754 L 113 911 C 141 937 174 963 212 987 C 249 1011 290 1032 334 1050 C 378 1068 425 1082 476 1092 C 527 1102 581 1108 637 1108 C 684 1108 725 1103 759 1095 C 793 1087 822 1075 846 1060 C 870 1045 889 1027 905 1006 C 921 985 934 962 944 938 C 960 962 980 984 1004 1005 C 1028 1025 1054 1043 1084 1059 C 1113 1074 1144 1086 1177 1095 C 1209 1103 1242 1108 1276 1108 C 1336 1108 1395 1098 1452 1078 C 1509 1058 1560 1026 1605 980 C 1649 934 1685 873 1712 798 C 1739 723 1753 630 1753 520 L 1753 471 L 1010 471 C 1012 419 1021 374 1037 337 C 1053 300 1073 270 1099 246 C 1125 222 1155 205 1189 194 C 1223 183 1260 178 1300 178 C 1335 178 1367 180 1396 186 C 1424 192 1451 200 1475 211 C 1499 222 1522 235 1543 251 C 1564 267 1585 285 1606 305 L 1739 174 C 1681 111 1615 62 1540 28 C 1465 -5 1378 -23 1280 -23 C 1236 -23 1193 -19 1152 -11 C 1111 -3 1072 10 1036 28 C 1000 46 966 69 936 97 C 905 125 878 159 856 199 C 820 160 785 127 751 99 C 717 71 681 48 643 30 C 605 12 565 -1 522 -10 C 479 -18 431 -23 379 -23 Z M 469 172 C 531 172 590 184 644 209 C 698 234 751 274 803 328 C 795 350 790 375 787 402 C 783 429 781 458 780 489 L 780 549 C 628 528 514 497 436 455 C 358 413 319 363 319 303 C 319 259 332 227 359 205 C 386 183 423 172 469 172 Z M 1522 649 C 1514 732 1490 795 1449 838 C 1408 881 1350 903 1274 903 C 1243 903 1213 898 1185 889 C 1156 880 1130 865 1107 845 C 1083 825 1063 798 1047 766 C 1031 734 1020 695 1014 649 L 1522 649 Z" unicode="æ" />
-<glyph horiz-adv-x="1126" d="M 592 -408 C 536 -408 483 -401 435 -387 C 387 -373 345 -355 309 -332 L 358 -250 C 389 -270 423 -286 461 -296 C 498 -306 534 -311 569 -311 C 651 -311 692 -284 692 -231 C 692 -209 685 -193 672 -183 C 659 -173 641 -168 618 -168 C 598 -168 581 -171 566 -178 C 551 -184 536 -193 522 -205 L 451 -170 L 500 -12 C 444 -4 391 13 341 39 C 291 65 246 101 208 147 C 169 192 138 247 116 313 C 93 379 82 455 82 543 C 82 612 89 674 103 729 C 117 783 137 832 163 874 C 188 916 217 951 251 981 C 285 1011 321 1035 359 1054 C 397 1072 437 1086 479 1095 C 520 1103 561 1108 602 1108 C 669 1108 727 1099 777 1082 C 826 1065 868 1042 904 1013 C 939 984 968 950 992 912 C 1016 874 1036 833 1053 791 L 842 715 C 816 787 784 839 746 871 C 708 903 658 920 598 920 C 562 920 528 912 496 897 C 464 882 436 859 412 829 C 388 798 369 759 355 711 C 341 663 334 607 334 543 C 334 485 339 432 351 385 C 363 338 380 298 402 265 C 424 232 451 207 483 189 C 515 171 552 162 594 162 C 622 162 649 165 674 173 C 698 181 721 193 743 210 C 764 226 783 248 801 275 C 819 301 835 334 850 373 L 1057 297 C 1037 254 1015 214 990 177 C 964 139 934 106 898 78 C 862 50 821 27 775 10 C 728 -6 674 -16 614 -18 L 592 -100 C 606 -90 623 -83 643 -78 C 663 -72 687 -70 715 -70 C 734 -70 752 -73 770 -79 C 788 -85 803 -94 817 -106 C 831 -118 842 -132 850 -150 C 858 -168 862 -188 862 -211 C 862 -243 855 -271 841 -296 C 827 -320 807 -341 783 -358 C 758 -374 729 -387 697 -395 C 664 -403 629 -408 592 -408 Z" unicode="ç" />
-<glyph horiz-adv-x="1155" d="M 604 -23 C 536 -23 470 -12 407 9 C 344 30 288 64 240 110 C 191 156 152 214 123 286 C 94 357 80 443 80 543 C 80 611 87 673 102 728 C 117 782 138 831 164 873 C 190 915 220 950 254 980 C 288 1010 325 1034 363 1053 C 401 1072 441 1086 481 1095 C 521 1103 560 1108 598 1108 C 638 1108 678 1103 718 1095 C 757 1086 794 1072 830 1054 C 865 1035 898 1010 928 980 C 958 950 983 913 1005 869 C 1027 825 1044 775 1056 717 C 1068 659 1075 594 1075 520 L 1075 461 L 332 461 C 334 411 343 369 359 333 C 375 297 395 268 421 245 C 447 222 477 205 511 194 C 545 183 583 178 623 178 C 658 178 690 180 718 186 C 746 192 773 200 797 211 C 821 222 844 235 865 251 C 886 267 907 285 928 305 L 1061 174 C 1004 111 938 62 863 28 C 788 -5 702 -23 604 -23 Z M 844 649 C 836 732 812 795 772 838 C 731 881 672 903 596 903 C 565 903 535 898 507 889 C 478 880 452 865 429 845 C 405 825 385 798 369 766 C 353 734 342 695 336 649 L 844 649 Z M 242 1542 L 514 1542 L 707 1202 L 541 1202 L 242 1542 Z" unicode="è" />
-<glyph horiz-adv-x="1155" d="M 651 1542 L 921 1542 L 624 1202 L 459 1202 L 651 1542 Z M 604 -23 C 536 -23 470 -12 407 9 C 344 30 288 64 240 110 C 191 156 152 214 123 286 C 94 357 80 443 80 543 C 80 611 87 673 102 728 C 117 782 138 831 164 873 C 190 915 220 950 254 980 C 288 1010 325 1034 363 1053 C 401 1072 441 1086 481 1095 C 521 1103 560 1108 598 1108 C 638 1108 678 1103 718 1095 C 757 1086 794 1072 830 1054 C 865 1035 898 1010 928 980 C 958 950 983 913 1005 869 C 1027 825 1044 775 1056 717 C 1068 659 1075 594 1075 520 L 1075 461 L 332 461 C 334 411 343 369 359 333 C 375 297 395 268 421 245 C 447 222 477 205 511 194 C 545 183 583 178 623 178 C 658 178 690 180 718 186 C 746 192 773 200 797 211 C 821 222 844 235 865 251 C 886 267 907 285 928 305 L 1061 174 C 1004 111 938 62 863 28 C 788 -5 702 -23 604 -23 Z M 844 649 C 836 732 812 795 772 838 C 731 881 672 903 596 903 C 565 903 535 898 507 889 C 478 880 452 865 429 845 C 405 825 385 798 369 766 C 353 734 342 695 336 649 L 844 649 Z" unicode="é" />
-<glyph horiz-adv-x="1155" d="M 498 1542 L 672 1542 L 936 1202 L 789 1202 L 584 1374 L 379 1202 L 234 1202 L 498 1542 Z M 604 -23 C 536 -23 470 -12 407 9 C 344 30 288 64 240 110 C 191 156 152 214 123 286 C 94 357 80 443 80 543 C 80 611 87 673 102 728 C 117 782 138 831 164 873 C 190 915 220 950 254 980 C 288 1010 325 1034 363 1053 C 401 1072 441 1086 481 1095 C 521 1103 560 1108 598 1108 C 638 1108 678 1103 718 1095 C 757 1086 794 1072 830 1054 C 865 1035 898 1010 928 980 C 958 950 983 913 1005 869 C 1027 825 1044 775 1056 717 C 1068 659 1075 594 1075 520 L 1075 461 L 332 461 C 334 411 343 369 359 333 C 375 297 395 268 421 245 C 447 222 477 205 511 194 C 545 183 583 178 623 178 C 658 178 690 180 718 186 C 746 192 773 200 797 211 C 821 222 844 235 865 251 C 886 267 907 285 928 305 L 1061 174 C 1004 111 938 62 863 28 C 788 -5 702 -23 604 -23 Z M 844 649 C 836 732 812 795 772 838 C 731 881 672 903 596 903 C 565 903 535 898 507 889 C 478 880 452 865 429 845 C 405 825 385 798 369 766 C 353 734 342 695 336 649 L 844 649 Z" unicode="ê" />
-<glyph horiz-adv-x="1155" d="M 262 1444 L 491 1444 L 491 1196 L 262 1196 L 262 1444 Z M 667 1444 L 897 1444 L 897 1196 L 667 1196 L 667 1444 Z M 604 -23 C 536 -23 470 -12 407 9 C 344 30 288 64 240 110 C 191 156 152 214 123 286 C 94 357 80 443 80 543 C 80 611 87 673 102 728 C 117 782 138 831 164 873 C 190 915 220 950 254 980 C 288 1010 325 1034 363 1053 C 401 1072 441 1086 481 1095 C 521 1103 560 1108 598 1108 C 638 1108 678 1103 718 1095 C 757 1086 794 1072 830 1054 C 865 1035 898 1010 928 980 C 958 950 983 913 1005 869 C 1027 825 1044 775 1056 717 C 1068 659 1075 594 1075 520 L 1075 461 L 332 461 C 334 411 343 369 359 333 C 375 297 395 268 421 245 C 447 222 477 205 511 194 C 545 183 583 178 623 178 C 658 178 690 180 718 186 C 746 192 773 200 797 211 C 821 222 844 235 865 251 C 886 267 907 285 928 305 L 1061 174 C 1004 111 938 62 863 28 C 788 -5 702 -23 604 -23 Z M 844 649 C 836 732 812 795 772 838 C 731 881 672 903 596 903 C 565 903 535 898 507 889 C 478 880 452 865 429 845 C 405 825 385 798 369 766 C 353 734 342 695 336 649 L 844 649 Z" unicode="ë" />
-<glyph horiz-adv-x="557" d="M 152 0 L 152 1087 L 406 1087 L 406 0 L 152 0 Z M -83 1542 L 189 1542 L 382 1202 L 216 1202 L -83 1542 Z" unicode="ì" />
-<glyph horiz-adv-x="557" d="M 388 1542 L 658 1542 L 361 1202 L 196 1202 L 388 1542 Z M 152 0 L 152 1087 L 406 1087 L 406 0 L 152 0 Z" unicode="í" />
-<glyph horiz-adv-x="557" d="M 194 1542 L 368 1542 L 632 1202 L 485 1202 L 280 1374 L 75 1202 L -70 1202 L 194 1542 Z M 152 0 L 152 1087 L 406 1087 L 406 0 L 152 0 Z" unicode="î" />
-<glyph horiz-adv-x="557" d="M -40 1444 L 189 1444 L 189 1196 L -40 1196 L -40 1444 Z M 365 1444 L 595 1444 L 595 1196 L 365 1196 L 365 1444 Z M 152 0 L 152 1087 L 406 1087 L 406 0 L 152 0 Z" unicode="ï" />
-<glyph horiz-adv-x="1219" d="M 610 -23 C 534 -23 463 -11 399 13 C 335 37 279 71 232 117 C 185 163 148 218 122 284 C 95 349 82 423 82 506 C 82 590 94 665 119 730 C 144 795 178 849 222 893 C 265 937 315 970 373 992 C 430 1014 491 1026 557 1026 C 583 1026 611 1022 641 1016 C 670 1009 699 999 727 986 C 755 973 782 957 808 938 C 833 919 855 897 874 872 C 862 926 844 978 822 1029 C 799 1080 769 1129 731 1176 L 549 1098 L 475 1237 L 627 1303 C 606 1323 584 1342 562 1360 C 540 1378 516 1395 492 1413 L 612 1556 C 649 1533 684 1509 718 1484 C 751 1458 783 1431 813 1401 L 995 1483 L 1069 1341 L 920 1274 C 990 1178 1043 1070 1081 950 C 1118 829 1137 692 1137 539 C 1137 451 1123 372 1097 302 C 1070 232 1033 173 986 125 C 939 77 883 40 819 15 C 755 -10 685 -23 610 -23 Z M 610 182 C 652 182 690 189 724 203 C 758 217 786 237 810 265 C 834 293 852 327 865 368 C 878 408 885 456 885 510 C 885 560 878 605 866 645 C 853 685 835 718 811 746 C 787 774 759 795 725 809 C 691 823 652 831 610 831 C 567 831 529 824 495 810 C 461 796 432 776 408 749 C 384 722 365 688 353 648 C 340 608 334 561 334 508 C 334 457 340 411 352 371 C 364 331 382 297 406 269 C 429 241 458 219 492 204 C 526 189 566 182 610 182 Z" unicode="ð" />
-<glyph horiz-adv-x="1235" d="M 172 0 L 172 1087 L 424 1087 L 424 913 C 444 937 468 960 494 983 C 520 1006 549 1027 581 1046 C 613 1064 649 1079 687 1091 C 725 1102 767 1108 813 1108 C 863 1108 907 1101 947 1088 C 987 1075 1020 1056 1048 1030 C 1076 1004 1097 971 1112 931 C 1127 891 1135 845 1135 791 L 1135 0 L 883 0 L 883 719 C 883 779 870 824 844 854 C 818 884 777 899 719 899 C 663 899 612 886 564 861 C 516 835 470 801 424 758 L 424 0 L 172 0 Z M 780 1188 C 746 1188 715 1194 688 1206 C 661 1218 636 1231 613 1245 C 589 1259 567 1273 546 1285 C 525 1297 504 1303 483 1303 C 454 1303 433 1294 419 1277 C 405 1260 399 1232 399 1192 L 258 1192 C 258 1242 262 1285 272 1321 C 282 1357 296 1386 314 1409 C 332 1432 355 1449 381 1460 C 407 1471 437 1477 471 1477 C 505 1477 535 1471 562 1459 C 589 1447 614 1433 638 1419 C 661 1405 683 1392 705 1380 C 726 1368 748 1362 770 1362 C 798 1362 819 1370 833 1387 C 847 1404 854 1433 854 1473 L 995 1473 C 995 1373 975 1301 937 1256 C 899 1210 846 1188 780 1188 Z" unicode="ñ" />
-<glyph horiz-adv-x="1221" d="M 610 -23 C 544 -23 479 -12 416 9 C 352 31 296 65 246 111 C 196 157 155 215 125 287 C 95 358 80 443 80 543 C 80 643 95 728 125 800 C 155 872 195 930 245 976 C 295 1021 351 1054 415 1076 C 478 1097 543 1108 610 1108 C 676 1108 740 1097 804 1076 C 868 1054 924 1021 974 976 C 1024 930 1064 872 1095 800 C 1125 728 1141 643 1141 543 C 1141 477 1134 417 1120 363 C 1106 309 1086 261 1062 219 C 1037 177 1008 140 974 110 C 940 80 904 55 865 35 C 825 15 784 1 741 -8 C 697 -18 654 -23 610 -23 Z M 610 188 C 701 188 770 219 817 281 C 863 343 887 431 887 543 C 887 593 881 640 870 683 C 859 725 842 762 820 793 C 797 824 768 848 734 866 C 699 884 658 893 610 893 C 564 893 524 885 490 869 C 455 853 426 830 403 800 C 380 770 363 733 351 690 C 339 646 334 597 334 543 C 334 491 339 443 350 400 C 360 356 377 319 400 288 C 422 256 451 232 486 214 C 520 196 562 188 610 188 Z M 271 1542 L 543 1542 L 736 1202 L 570 1202 L 271 1542 Z" unicode="ò" />
-<glyph horiz-adv-x="1221" d="M 676 1542 L 946 1542 L 649 1202 L 484 1202 L 676 1542 Z M 610 -23 C 544 -23 479 -12 416 9 C 352 31 296 65 246 111 C 196 157 155 215 125 287 C 95 358 80 443 80 543 C 80 643 95 728 125 800 C 155 872 195 930 245 976 C 295 1021 351 1054 415 1076 C 478 1097 543 1108 610 1108 C 676 1108 740 1097 804 1076 C 868 1054 924 1021 974 976 C 1024 930 1064 872 1095 800 C 1125 728 1141 643 1141 543 C 1141 477 1134 417 1120 363 C 1106 309 1086 261 1062 219 C 1037 177 1008 140 974 110 C 940 80 904 55 865 35 C 825 15 784 1 741 -8 C 697 -18 654 -23 610 -23 Z M 610 188 C 701 188 770 219 817 281 C 863 343 887 431 887 543 C 887 593 881 640 870 683 C 859 725 842 762 820 793 C 797 824 768 848 734 866 C 699 884 658 893 610 893 C 564 893 524 885 490 869 C 455 853 426 830 403 800 C 380 770 363 733 351 690 C 339 646 334 597 334 543 C 334 491 339 443 350 400 C 360 356 377 319 400 288 C 422 256 451 232 486 214 C 520 196 562 188 610 188 Z" unicode="ó" />
-<glyph horiz-adv-x="1221" d="M 522 1542 L 696 1542 L 960 1202 L 813 1202 L 608 1374 L 403 1202 L 258 1202 L 522 1542 Z M 610 -23 C 544 -23 479 -12 416 9 C 352 31 296 65 246 111 C 196 157 155 215 125 287 C 95 358 80 443 80 543 C 80 643 95 728 125 800 C 155 872 195 930 245 976 C 295 1021 351 1054 415 1076 C 478 1097 543 1108 610 1108 C 676 1108 740 1097 804 1076 C 868 1054 924 1021 974 976 C 1024 930 1064 872 1095 800 C 1125 728 1141 643 1141 543 C 1141 477 1134 417 1120 363 C 1106 309 1086 261 1062 219 C 1037 177 1008 140 974 110 C 940 80 904 55 865 35 C 825 15 784 1 741 -8 C 697 -18 654 -23 610 -23 Z M 610 188 C 701 188 770 219 817 281 C 863 343 887 431 887 543 C 887 593 881 640 870 683 C 859 725 842 762 820 793 C 797 824 768 848 734 866 C 699 884 658 893 610 893 C 564 893 524 885 490 869 C 455 853 426 830 403 800 C 380 770 363 733 351 690 C 339 646 334 597 334 543 C 334 491 339 443 350 400 C 360 356 377 319 400 288 C 422 256 451 232 486 214 C 520 196 562 188 610 188 Z" unicode="ô" />
-<glyph horiz-adv-x="1221" d="M 610 -23 C 544 -23 479 -12 416 9 C 352 31 296 65 246 111 C 196 157 155 215 125 287 C 95 358 80 443 80 543 C 80 643 95 728 125 800 C 155 872 195 930 245 976 C 295 1021 351 1054 415 1076 C 478 1097 543 1108 610 1108 C 676 1108 740 1097 804 1076 C 868 1054 924 1021 974 976 C 1024 930 1064 872 1095 800 C 1125 728 1141 643 1141 543 C 1141 477 1134 417 1120 363 C 1106 309 1086 261 1062 219 C 1037 177 1008 140 974 110 C 940 80 904 55 865 35 C 825 15 784 1 741 -8 C 697 -18 654 -23 610 -23 Z M 610 188 C 701 188 770 219 817 281 C 863 343 887 431 887 543 C 887 593 881 640 870 683 C 859 725 842 762 820 793 C 797 824 768 848 734 866 C 699 884 658 893 610 893 C 564 893 524 885 490 869 C 455 853 426 830 403 800 C 380 770 363 733 351 690 C 339 646 334 597 334 543 C 334 491 339 443 350 400 C 360 356 377 319 400 288 C 422 256 451 232 486 214 C 520 196 562 188 610 188 Z M 766 1188 C 732 1188 701 1194 674 1206 C 647 1218 622 1231 599 1245 C 575 1259 553 1273 532 1285 C 511 1297 490 1303 469 1303 C 440 1303 419 1294 405 1277 C 391 1260 385 1232 385 1192 L 244 1192 C 244 1242 248 1285 258 1321 C 268 1357 282 1386 300 1409 C 318 1432 341 1449 367 1460 C 393 1471 423 1477 457 1477 C 491 1477 521 1471 548 1459 C 575 1447 600 1433 624 1419 C 647 1405 669 1392 691 1380 C 712 1368 734 1362 756 1362 C 784 1362 805 1370 819 1387 C 833 1404 840 1433 840 1473 L 981 1473 C 981 1373 961 1301 923 1256 C 885 1210 832 1188 766 1188 Z" unicode="õ" />
-<glyph horiz-adv-x="1221" d="M 289 1444 L 518 1444 L 518 1196 L 289 1196 L 289 1444 Z M 694 1444 L 924 1444 L 924 1196 L 694 1196 L 694 1444 Z M 610 -23 C 544 -23 479 -12 416 9 C 352 31 296 65 246 111 C 196 157 155 215 125 287 C 95 358 80 443 80 543 C 80 643 95 728 125 800 C 155 872 195 930 245 976 C 295 1021 351 1054 415 1076 C 478 1097 543 1108 610 1108 C 676 1108 740 1097 804 1076 C 868 1054 924 1021 974 976 C 1024 930 1064 872 1095 800 C 1125 728 1141 643 1141 543 C 1141 477 1134 417 1120 363 C 1106 309 1086 261 1062 219 C 1037 177 1008 140 974 110 C 940 80 904 55 865 35 C 825 15 784 1 741 -8 C 697 -18 654 -23 610 -23 Z M 610 188 C 701 188 770 219 817 281 C 863 343 887 431 887 543 C 887 593 881 640 870 683 C 859 725 842 762 820 793 C 797 824 768 848 734 866 C 699 884 658 893 610 893 C 564 893 524 885 490 869 C 455 853 426 830 403 800 C 380 770 363 733 351 690 C 339 646 334 597 334 543 C 334 491 339 443 350 400 C 360 356 377 319 400 288 C 422 256 451 232 486 214 C 520 196 562 188 610 188 Z" unicode="ö" />
-<glyph horiz-adv-x="1315" d="M 137 598 L 137 801 L 1180 801 L 1180 598 L 137 598 Z M 537 207 L 537 422 L 772 422 L 772 207 L 537 207 Z M 537 975 L 537 1190 L 772 1190 L 772 975 L 537 975 Z" unicode="÷" />
-<glyph horiz-adv-x="1221" d="M 1026 922 C 1061 876 1089 822 1110 760 C 1130 698 1141 625 1141 543 C 1141 477 1134 417 1120 363 C 1106 309 1086 261 1062 219 C 1037 177 1008 140 974 110 C 940 80 904 55 865 35 C 825 15 784 1 741 -8 C 697 -18 654 -23 610 -23 C 556 -23 504 -16 453 -2 C 402 11 354 32 309 61 L 188 -78 L 82 20 L 201 158 C 163 204 134 258 112 322 C 90 386 80 459 80 543 C 80 643 95 728 125 800 C 155 872 195 930 245 976 C 295 1021 351 1054 415 1076 C 478 1097 543 1108 610 1108 C 664 1108 718 1101 770 1087 C 822 1073 872 1050 918 1020 L 1032 1155 L 1141 1055 L 1026 922 Z M 778 850 C 756 867 731 880 703 890 C 675 900 644 905 610 905 C 564 905 523 896 488 879 C 453 862 424 838 400 807 C 376 775 358 737 346 693 C 334 648 328 598 328 543 C 328 505 331 468 337 434 C 343 400 352 368 365 340 L 778 850 Z M 446 227 C 466 211 490 198 518 188 C 545 178 576 174 610 174 C 656 174 696 182 732 200 C 767 217 797 242 821 274 C 845 306 863 344 875 390 C 887 435 893 486 893 543 C 893 579 890 613 885 645 C 879 677 871 707 860 735 L 446 227 Z" unicode="ø" />
-<glyph horiz-adv-x="1235" d="M 442 -20 C 394 -20 351 -13 313 1 C 274 15 241 35 214 63 C 186 90 165 124 151 165 C 136 205 129 253 129 307 L 129 1087 L 383 1087 L 383 367 C 383 306 396 261 422 233 C 448 204 489 190 545 190 C 600 190 651 203 699 229 C 747 255 794 290 840 332 L 840 1087 L 1094 1087 L 1094 0 L 840 0 L 840 147 C 822 129 801 110 776 90 C 750 70 721 52 688 36 C 655 20 618 6 577 -4 C 536 -14 491 -20 442 -20 Z M 281 1542 L 553 1542 L 746 1202 L 580 1202 L 281 1542 Z" unicode="ù" />
-<glyph horiz-adv-x="1235" d="M 670 1542 L 940 1542 L 643 1202 L 478 1202 L 670 1542 Z M 442 -20 C 394 -20 351 -13 313 1 C 274 15 241 35 214 63 C 186 90 165 124 151 165 C 136 205 129 253 129 307 L 129 1087 L 383 1087 L 383 367 C 383 306 396 261 422 233 C 448 204 489 190 545 190 C 600 190 651 203 699 229 C 747 255 794 290 840 332 L 840 1087 L 1094 1087 L 1094 0 L 840 0 L 840 147 C 822 129 801 110 776 90 C 750 70 721 52 688 36 C 655 20 618 6 577 -4 C 536 -14 491 -20 442 -20 Z" unicode="ú" />
-<glyph horiz-adv-x="1235" d="M 524 1542 L 698 1542 L 962 1202 L 815 1202 L 610 1374 L 405 1202 L 260 1202 L 524 1542 Z M 442 -20 C 394 -20 351 -13 313 1 C 274 15 241 35 214 63 C 186 90 165 124 151 165 C 136 205 129 253 129 307 L 129 1087 L 383 1087 L 383 367 C 383 306 396 261 422 233 C 448 204 489 190 545 190 C 600 190 651 203 699 229 C 747 255 794 290 840 332 L 840 1087 L 1094 1087 L 1094 0 L 840 0 L 840 147 C 822 129 801 110 776 90 C 750 70 721 52 688 36 C 655 20 618 6 577 -4 C 536 -14 491 -20 442 -20 Z" unicode="û" />
-<glyph horiz-adv-x="1235" d="M 293 1444 L 522 1444 L 522 1196 L 293 1196 L 293 1444 Z M 698 1444 L 928 1444 L 928 1196 L 698 1196 L 698 1444 Z M 442 -20 C 394 -20 351 -13 313 1 C 274 15 241 35 214 63 C 186 90 165 124 151 165 C 136 205 129 253 129 307 L 129 1087 L 383 1087 L 383 367 C 383 306 396 261 422 233 C 448 204 489 190 545 190 C 600 190 651 203 699 229 C 747 255 794 290 840 332 L 840 1087 L 1094 1087 L 1094 0 L 840 0 L 840 147 C 822 129 801 110 776 90 C 750 70 721 52 688 36 C 655 20 618 6 577 -4 C 536 -14 491 -20 442 -20 Z" unicode="ü" />
-<glyph horiz-adv-x="1120" d="M 256 -422 C 191 -422 138 -418 98 -411 C 58 -403 24 -396 -2 -389 L 55 -186 C 70 -190 94 -195 126 -201 C 158 -206 196 -209 240 -209 C 284 -209 320 -199 346 -180 C 372 -161 394 -130 412 -86 L 442 -6 L 25 1087 L 287 1087 L 567 295 L 571 295 L 850 1087 L 1100 1087 L 637 -119 C 619 -166 599 -208 577 -246 C 555 -284 530 -316 500 -342 C 470 -368 436 -387 396 -401 C 356 -415 310 -422 256 -422 Z M 571 1542 L 841 1542 L 544 1202 L 379 1202 L 571 1542 Z" unicode="ý" />
-<glyph horiz-adv-x="1251" d="M 141 -410 L 141 1516 L 393 1516 L 393 944 C 411 965 431 986 455 1006 C 478 1026 504 1043 533 1058 C 561 1073 593 1085 627 1094 C 661 1103 699 1108 739 1108 C 801 1108 858 1096 911 1073 C 963 1049 1009 1014 1047 968 C 1085 921 1114 862 1136 792 C 1158 721 1169 639 1169 545 C 1169 451 1157 368 1135 298 C 1113 228 1081 169 1041 123 C 1000 76 951 41 894 18 C 837 -4 774 -16 705 -16 C 646 -16 589 -4 535 18 C 480 41 433 75 393 121 L 393 -410 L 141 -410 Z M 649 184 C 744 184 813 213 855 272 C 897 331 918 421 918 543 C 918 658 894 745 848 804 C 802 863 738 893 657 893 C 631 893 605 889 580 881 C 555 873 531 863 508 851 C 485 838 464 823 444 807 C 424 791 407 774 393 756 L 393 319 C 427 275 466 241 512 218 C 558 195 603 184 649 184 Z" unicode="þ" />
-<glyph horiz-adv-x="1120" d="M 256 -422 C 191 -422 138 -418 98 -411 C 58 -403 24 -396 -2 -389 L 55 -186 C 70 -190 94 -195 126 -201 C 158 -206 196 -209 240 -209 C 284 -209 320 -199 346 -180 C 372 -161 394 -130 412 -86 L 442 -6 L 25 1087 L 287 1087 L 567 295 L 571 295 L 850 1087 L 1100 1087 L 637 -119 C 619 -166 599 -208 577 -246 C 555 -284 530 -316 500 -342 C 470 -368 436 -387 396 -401 C 356 -415 310 -422 256 -422 Z M 248 1444 L 477 1444 L 477 1196 L 248 1196 L 248 1444 Z M 653 1444 L 883 1444 L 883 1196 L 653 1196 L 653 1444 Z" unicode="ÿ" />
-<glyph horiz-adv-x="1427" d="" unicode="Ā" />
-<glyph horiz-adv-x="1157" d="" unicode="ā" />
-<glyph horiz-adv-x="1427" d="" unicode="Ă" />
-<glyph horiz-adv-x="1157" d="" unicode="ă" />
-<glyph horiz-adv-x="1427" d="" unicode="Ą" />
-<glyph horiz-adv-x="1157" d="" unicode="ą" />
-<glyph horiz-adv-x="1468" d="" unicode="Ć" />
-<glyph horiz-adv-x="1116" d="" unicode="ć" />
-<glyph horiz-adv-x="1468" d="" unicode="Ĉ" />
-<glyph horiz-adv-x="1116" d="" unicode="ĉ" />
-<glyph horiz-adv-x="1468" d="" unicode="Ċ" />
-<glyph horiz-adv-x="1116" d="" unicode="ċ" />
-<glyph horiz-adv-x="1468" d="" unicode="Č" />
-<glyph horiz-adv-x="1116" d="" unicode="č" />
-<glyph horiz-adv-x="1491" d="" unicode="Ď" />
-<glyph horiz-adv-x="1251" d="" unicode="ď" />
-<glyph horiz-adv-x="1491" d="" unicode="Đ" />
-<glyph horiz-adv-x="1251" d="" unicode="đ" />
-<glyph horiz-adv-x="1272" d="" unicode="Ē" />
-<glyph horiz-adv-x="1155" d="" unicode="ē" />
-<glyph horiz-adv-x="1272" d="" unicode="Ĕ" />
-<glyph horiz-adv-x="1155" d="" unicode="ĕ" />
-<glyph horiz-adv-x="1272" d="" unicode="Ė" />
-<glyph horiz-adv-x="1155" d="" unicode="ė" />
-<glyph horiz-adv-x="1272" d="" unicode="Ę" />
-<glyph horiz-adv-x="1155" d="" unicode="ę" />
-<glyph horiz-adv-x="1272" d="" unicode="Ě" />
-<glyph horiz-adv-x="1155" d="" unicode="ě" />
-<glyph horiz-adv-x="1526" d="" unicode="Ĝ" />
-<glyph horiz-adv-x="1219" d="" unicode="ĝ" />
-<glyph horiz-adv-x="1526" d="" unicode="Ğ" />
-<glyph horiz-adv-x="1219" d="" unicode="ğ" />
-<glyph horiz-adv-x="1526" d="" unicode="Ġ" />
-<glyph horiz-adv-x="1219" d="" unicode="ġ" />
-<glyph horiz-adv-x="1526" d="" unicode="Ģ" />
-<glyph horiz-adv-x="1219" d="" unicode="ģ" />
-<glyph horiz-adv-x="1544" d="" unicode="Ĥ" />
-<glyph horiz-adv-x="1235" d="" unicode="ĥ" />
-<glyph horiz-adv-x="1544" d="" unicode="Ħ" />
-<glyph horiz-adv-x="1235" d="" unicode="ħ" />
-<glyph horiz-adv-x="635" d="" unicode="Ĩ" />
-<glyph horiz-adv-x="557" d="" unicode="ĩ" />
-<glyph horiz-adv-x="635" d="" unicode="Ī" />
-<glyph horiz-adv-x="557" d="" unicode="ī" />
-<glyph horiz-adv-x="635" d="" unicode="Ĭ" />
-<glyph horiz-adv-x="557" d="" unicode="ĭ" />
-<glyph horiz-adv-x="635" d="" unicode="Į" />
-<glyph horiz-adv-x="557" d="" unicode="į" />
-<glyph horiz-adv-x="635" d="" unicode="İ" />
-<glyph horiz-adv-x="557" d="M 152 0 L 152 1087 L 406 1087 L 406 0 L 152 0 Z" unicode="ı" />
-<glyph horiz-adv-x="1618" d="" unicode="Ĳ" />
-<glyph horiz-adv-x="1114" d="" unicode="ĳ" />
-<glyph horiz-adv-x="1065" d="" unicode="Ĵ" />
-<glyph horiz-adv-x="557" d="" unicode="ĵ" />
-<glyph horiz-adv-x="1430" d="" unicode="Ķ" />
-<glyph horiz-adv-x="1153" d="" unicode="ķ" />
-<glyph horiz-adv-x="1153" d="" unicode="ĸ" />
-<glyph horiz-adv-x="1184" d="" unicode="Ĺ" />
-<glyph horiz-adv-x="557" d="" unicode="ĺ" />
-<glyph horiz-adv-x="1184" d="" unicode="Ļ" />
-<glyph horiz-adv-x="557" d="" unicode="ļ" />
-<glyph horiz-adv-x="1184" d="" unicode="Ľ" />
-<glyph horiz-adv-x="557" d="" unicode="ľ" />
-<glyph horiz-adv-x="1235" d="" unicode="Ŀ" />
-<glyph horiz-adv-x="811" d="" unicode="ŀ" />
-<glyph horiz-adv-x="1184" d="" unicode="Ł" />
-<glyph horiz-adv-x="657" d="" unicode="ł" />
-<glyph horiz-adv-x="1563" d="" unicode="Ń" />
-<glyph horiz-adv-x="1235" d="" unicode="ń" />
-<glyph horiz-adv-x="1563" d="" unicode="Ņ" />
-<glyph horiz-adv-x="1235" d="" unicode="ņ" />
-<glyph horiz-adv-x="1563" d="" unicode="Ň" />
-<glyph horiz-adv-x="1235" d="" unicode="ň" />
-<glyph horiz-adv-x="1563" d="" unicode="Ŋ" />
-<glyph horiz-adv-x="1235" d="" unicode="ŋ" />
-<glyph horiz-adv-x="1565" d="" unicode="Ō" />
-<glyph horiz-adv-x="1221" d="" unicode="ō" />
-<glyph horiz-adv-x="1565" d="" unicode="Ŏ" />
-<glyph horiz-adv-x="1221" d="" unicode="ŏ" />
-<glyph horiz-adv-x="1565" d="" unicode="Ő" />
-<glyph horiz-adv-x="1221" d="" unicode="ő" />
-<glyph horiz-adv-x="2306" d="M 782 -29 C 690 -29 603 -12 520 22 C 437 56 364 106 301 173 C 238 239 188 322 151 420 C 114 518 96 630 96 758 C 96 885 114 998 151 1096 C 188 1194 238 1276 301 1342 C 364 1408 437 1459 520 1493 C 603 1527 690 1544 782 1544 C 877 1544 963 1524 1039 1484 C 1115 1444 1178 1389 1229 1321 L 1229 1516 L 2185 1516 L 2185 1278 L 1462 1278 L 1462 901 L 1993 901 L 1993 674 L 1462 674 L 1462 233 L 2224 233 L 2224 0 L 1229 0 L 1229 197 C 1178 127 1115 72 1039 32 C 963 -8 877 -29 782 -29 Z M 782 203 C 845 203 903 215 955 239 C 1007 263 1052 299 1089 346 C 1126 393 1155 451 1175 520 C 1195 589 1206 668 1206 758 C 1206 846 1195 925 1175 994 C 1155 1062 1126 1120 1089 1167 C 1052 1213 1007 1249 955 1273 C 903 1297 845 1309 782 1309 C 717 1309 658 1297 606 1273 C 553 1249 508 1213 471 1167 C 433 1120 404 1062 384 994 C 364 925 354 846 354 758 C 354 668 364 589 384 520 C 404 451 433 393 471 346 C 508 299 553 263 606 239 C 658 215 717 203 782 203 Z" unicode="Œ" />
-<glyph horiz-adv-x="1946" d="M 608 -23 C 542 -23 477 -12 414 9 C 350 31 294 65 245 111 C 195 157 155 215 125 287 C 95 358 80 443 80 543 C 80 643 95 728 125 800 C 155 872 194 930 244 976 C 293 1021 349 1054 413 1076 C 476 1097 541 1108 608 1108 C 650 1108 690 1103 730 1093 C 769 1083 806 1069 840 1051 C 874 1032 905 1009 933 982 C 961 954 984 923 1004 889 C 1021 921 1044 951 1072 978 C 1100 1005 1131 1028 1165 1047 C 1199 1066 1236 1081 1275 1092 C 1313 1102 1352 1108 1391 1108 C 1431 1108 1470 1103 1509 1095 C 1548 1086 1585 1072 1621 1054 C 1656 1035 1689 1010 1719 980 C 1749 950 1774 913 1796 869 C 1818 825 1835 775 1847 717 C 1859 659 1866 594 1866 520 L 1866 471 L 1122 471 C 1124 419 1133 374 1149 337 C 1165 300 1185 270 1211 246 C 1237 222 1267 205 1301 194 C 1335 183 1373 178 1413 178 C 1448 178 1480 180 1508 186 C 1536 192 1563 200 1587 211 C 1611 222 1634 235 1655 251 C 1676 267 1697 285 1718 305 L 1851 174 C 1794 111 1728 62 1654 28 C 1580 -5 1493 -23 1395 -23 C 1353 -23 1312 -18 1272 -8 C 1232 1 1194 15 1159 33 C 1124 51 1093 74 1065 100 C 1037 126 1015 155 999 188 C 979 156 955 127 927 101 C 899 75 869 52 836 34 C 802 16 766 2 728 -8 C 690 -18 650 -23 608 -23 Z M 608 186 C 699 186 768 217 814 280 C 860 343 883 431 883 543 C 883 593 877 640 867 683 C 856 725 839 762 817 793 C 794 824 765 848 731 866 C 697 884 656 893 608 893 C 562 893 522 885 488 869 C 454 853 425 830 402 800 C 379 770 362 733 351 690 C 339 646 334 597 334 543 C 334 491 339 443 350 399 C 360 355 377 318 399 286 C 421 254 449 230 484 212 C 518 194 560 186 608 186 Z M 1634 649 C 1626 732 1602 795 1562 838 C 1521 881 1462 903 1386 903 C 1355 903 1325 898 1297 889 C 1269 880 1243 865 1220 845 C 1196 825 1176 798 1160 766 C 1143 734 1132 695 1126 649 L 1634 649 Z" unicode="œ" />
-<glyph horiz-adv-x="1415" d="" unicode="Ŕ" />
-<glyph horiz-adv-x="844" d="" unicode="ŕ" />
-<glyph horiz-adv-x="1415" d="" unicode="Ŗ" />
-<glyph horiz-adv-x="844" d="" unicode="ŗ" />
-<glyph horiz-adv-x="1415" d="" unicode="Ř" />
-<glyph horiz-adv-x="844" d="" unicode="ř" />
-<glyph horiz-adv-x="1380" d="" unicode="Ś" />
-<glyph horiz-adv-x="1071" d="" unicode="ś" />
-<glyph horiz-adv-x="1380" d="" unicode="Ŝ" />
-<glyph horiz-adv-x="1071" d="" unicode="ŝ" />
-<glyph horiz-adv-x="1380" d="" unicode="Ş" />
-<glyph horiz-adv-x="1071" d="" unicode="ş" />
-<glyph horiz-adv-x="1380" d="M 338 1962 L 485 1962 L 690 1790 L 895 1962 L 1040 1962 L 776 1622 L 602 1622 L 338 1962 Z M 702 -29 C 626 -29 557 -19 493 -1 C 429 17 371 43 320 77 C 268 111 223 151 185 199 C 147 246 116 298 92 356 L 295 463 C 340 373 397 307 466 264 C 535 220 617 199 713 199 C 759 199 801 202 839 210 C 877 218 909 230 936 246 C 963 262 984 282 999 307 C 1014 331 1022 361 1022 395 C 1022 427 1015 456 1003 481 C 991 506 971 529 944 550 C 916 570 881 589 837 607 C 793 625 740 643 678 662 C 629 676 582 690 537 705 C 492 719 450 735 411 753 C 371 771 336 791 304 813 C 272 835 244 860 222 889 C 199 917 181 950 169 988 C 156 1025 150 1068 150 1116 C 150 1180 162 1239 187 1292 C 212 1344 247 1389 293 1427 C 339 1464 393 1493 457 1513 C 520 1533 590 1544 668 1544 C 742 1544 809 1535 869 1518 C 929 1500 982 1477 1029 1448 C 1075 1418 1115 1384 1149 1345 C 1183 1305 1211 1263 1235 1219 L 1049 1090 C 1003 1166 948 1221 884 1257 C 820 1293 748 1311 666 1311 C 581 1311 516 1296 470 1266 C 424 1236 401 1194 401 1139 C 401 1103 408 1073 422 1048 C 436 1023 457 1001 486 982 C 515 962 552 944 597 928 C 642 912 696 895 758 877 C 829 855 896 833 959 809 C 1021 785 1076 755 1123 720 C 1169 685 1206 643 1233 594 C 1260 544 1274 484 1274 414 C 1274 352 1261 294 1235 240 C 1209 186 1172 139 1123 99 C 1074 59 1014 28 943 5 C 872 -17 792 -29 702 -29 Z" unicode="Š" />
-<glyph horiz-adv-x="1071" d="M 186 1548 L 333 1548 L 538 1376 L 743 1548 L 888 1548 L 624 1208 L 450 1208 L 186 1548 Z M 539 -23 C 489 -23 440 -18 393 -10 C 346 -1 302 10 261 26 C 219 41 181 59 147 80 C 113 101 83 124 59 150 L 197 303 C 217 285 240 269 265 253 C 290 237 317 224 346 212 C 375 200 406 191 438 184 C 470 177 503 174 539 174 C 606 174 659 183 698 202 C 736 221 756 253 756 299 C 756 321 749 339 736 354 C 723 369 706 382 684 393 C 662 403 636 413 607 421 C 577 429 546 436 514 444 C 482 451 451 459 419 467 C 387 475 355 484 325 496 C 294 508 265 522 239 538 C 212 554 189 573 169 596 C 149 619 133 646 121 678 C 109 709 104 746 104 788 C 104 836 113 879 133 919 C 153 958 180 992 216 1020 C 251 1048 293 1069 343 1085 C 393 1100 448 1108 508 1108 C 560 1108 607 1104 649 1097 C 691 1090 730 1080 766 1067 C 802 1053 835 1037 866 1018 C 896 999 926 978 954 954 L 834 791 C 814 807 791 822 766 836 C 740 850 714 863 687 874 C 659 884 632 893 604 899 C 576 905 550 909 526 909 C 491 909 462 906 438 900 C 414 894 395 887 381 877 C 367 867 357 855 351 842 C 345 828 342 814 342 799 C 342 777 348 758 361 743 C 373 728 390 715 412 705 C 434 694 459 685 488 677 C 517 669 548 662 580 655 C 610 648 642 641 675 633 C 707 625 739 615 770 604 C 800 593 829 580 856 564 C 883 548 907 528 927 505 C 947 482 963 455 975 423 C 987 391 993 355 993 313 C 993 255 981 206 957 164 C 933 122 900 87 859 59 C 817 31 769 11 714 -2 C 659 -16 601 -23 539 -23 Z" unicode="š" />
-<glyph horiz-adv-x="1300" d="" unicode="Ţ" />
-<glyph horiz-adv-x="821" d="" unicode="ţ" />
-<glyph horiz-adv-x="1300" d="" unicode="Ť" />
-<glyph horiz-adv-x="821" d="" unicode="ť" />
-<glyph horiz-adv-x="1300" d="" unicode="Ŧ" />
-<glyph horiz-adv-x="821" d="" unicode="ŧ" />
-<glyph horiz-adv-x="1477" d="" unicode="Ũ" />
-<glyph horiz-adv-x="1235" d="" unicode="ũ" />
-<glyph horiz-adv-x="1477" d="" unicode="Ū" />
-<glyph horiz-adv-x="1235" d="" unicode="ū" />
-<glyph horiz-adv-x="1477" d="" unicode="Ŭ" />
-<glyph horiz-adv-x="1235" d="" unicode="ŭ" />
-<glyph horiz-adv-x="1477" d="" unicode="Ů" />
-<glyph horiz-adv-x="1235" d="" unicode="ů" />
-<glyph horiz-adv-x="1477" d="" unicode="Ű" />
-<glyph horiz-adv-x="1235" d="" unicode="ű" />
-<glyph horiz-adv-x="1477" d="" unicode="Ų" />
-<glyph horiz-adv-x="1235" d="" unicode="ų" />
-<glyph horiz-adv-x="1933" d="" unicode="Ŵ" />
-<glyph horiz-adv-x="1565" d="" unicode="ŵ" />
-<glyph horiz-adv-x="1354" d="" unicode="Ŷ" />
-<glyph horiz-adv-x="1120" d="" unicode="ŷ" />
-<glyph horiz-adv-x="1354" d="M 547 0 L 547 653 L 31 1516 L 301 1516 L 680 870 L 1057 1516 L 1323 1516 L 805 653 L 805 0 L 547 0 Z M 358 1847 L 587 1847 L 587 1599 L 358 1599 L 358 1847 Z M 763 1847 L 993 1847 L 993 1599 L 763 1599 L 763 1847 Z" unicode="Ÿ" />
-<glyph horiz-adv-x="1321" d="" unicode="Ź" />
-<glyph horiz-adv-x="1065" d="" unicode="ź" />
-<glyph horiz-adv-x="1321" d="" unicode="Ż" />
-<glyph horiz-adv-x="1065" d="" unicode="ż" />
-<glyph horiz-adv-x="1321" d="M 318 1962 L 465 1962 L 670 1790 L 875 1962 L 1020 1962 L 756 1622 L 582 1622 L 318 1962 Z M 72 0 L 72 178 L 909 1300 L 127 1300 L 127 1516 L 1231 1516 L 1231 1331 L 403 209 L 1231 209 L 1231 0 L 72 0 Z" unicode="Ž" />
-<glyph horiz-adv-x="1065" d="M 188 1548 L 335 1548 L 540 1376 L 745 1548 L 890 1548 L 626 1208 L 452 1208 L 188 1548 Z M 70 0 L 70 145 L 649 887 L 113 887 L 113 1087 L 965 1087 L 965 936 L 383 195 L 999 195 L 999 0 L 70 0 Z" unicode="ž" />
-<glyph horiz-adv-x="788" d="M -166 -225 C -158 -227 -145 -228 -128 -230 C -110 -232 -95 -233 -82 -233 C -29 -233 13 -220 45 -196 C 77 -171 96 -130 104 -72 L 223 813 L 35 813 L 57 995 L 246 995 L 272 1198 C 278 1244 288 1286 304 1326 C 319 1365 342 1399 373 1428 C 403 1457 443 1480 491 1497 C 539 1513 598 1522 668 1522 C 680 1522 693 1521 709 1520 C 724 1519 739 1518 753 1517 C 767 1515 780 1514 792 1513 C 804 1512 812 1511 817 1511 L 793 1327 C 784 1329 771 1330 754 1332 C 737 1334 722 1335 709 1335 C 686 1335 664 1333 643 1329 C 622 1325 603 1318 587 1308 C 570 1298 556 1283 545 1265 C 534 1247 527 1223 524 1194 L 498 995 L 735 995 L 713 813 L 475 813 L 352 -113 C 346 -155 336 -195 321 -232 C 305 -268 283 -300 253 -327 C 223 -354 184 -375 137 -391 C 89 -406 31 -414 -39 -414 C -51 -414 -64 -413 -80 -413 C -95 -412 -110 -411 -125 -410 C -139 -409 -152 -408 -164 -407 C -175 -405 -183 -404 -188 -403 L -166 -225 Z" unicode="ƒ" />
-<glyph horiz-adv-x="1049" d="M -33 0 L 860 1516 L 1081 1516 L 188 0 L -33 0 Z" unicode="⁄" />
-<glyph horiz-adv-x="1280" d="" unicode="∂" />
-<glyph horiz-adv-x="1536" d="" unicode="∆" />
-<glyph horiz-adv-x="1536" d="" unicode="∏" />
-<glyph horiz-adv-x="1152" d="" unicode="∑" />
-<glyph horiz-adv-x="1315" d="" unicode="−" />
-<glyph horiz-adv-x="1049" d="M -33 0 L 860 1516 L 1081 1516 L 188 0 L -33 0 Z" unicode="∕" />
-<glyph horiz-adv-x="1380" d="" unicode="Ș" />
-<glyph horiz-adv-x="1071" d="" unicode="ș" />
-<glyph horiz-adv-x="1300" d="" unicode="Ț" />
-<glyph horiz-adv-x="821" d="" unicode="ț" />
-<glyph horiz-adv-x="1606" d="" unicode="∞" />
-<glyph horiz-adv-x="1152" d="" unicode="∫" />
-<glyph horiz-adv-x="1315" d="" unicode="≈" />
-<glyph horiz-adv-x="1903" d="M 236 0 L 236 887 L 47 887 L 47 1087 L 236 1087 L 236 1198 C 236 1243 241 1285 252 1325 C 263 1365 281 1399 307 1428 C 333 1457 366 1480 408 1497 C 449 1513 500 1522 561 1522 C 574 1522 588 1521 603 1520 C 617 1519 631 1518 644 1517 C 657 1515 669 1514 679 1513 C 689 1512 697 1511 702 1511 L 702 1317 C 692 1319 680 1320 666 1321 C 651 1322 638 1323 627 1323 C 581 1323 547 1311 523 1288 C 499 1264 487 1229 487 1182 L 487 1087 L 870 1087 L 870 1186 C 870 1231 875 1274 887 1315 C 898 1355 916 1391 942 1422 C 968 1452 1001 1477 1043 1495 C 1084 1513 1135 1522 1196 1522 C 1208 1522 1221 1521 1235 1520 C 1249 1519 1262 1518 1276 1517 C 1289 1515 1301 1514 1312 1513 C 1322 1512 1330 1511 1335 1511 L 1335 1317 C 1327 1319 1315 1320 1300 1321 C 1285 1322 1272 1323 1260 1323 C 1168 1323 1122 1276 1122 1182 L 1122 1087 L 1333 1087 L 1333 887 L 1122 887 L 1122 0 L 870 0 L 870 887 L 487 887 L 487 0 L 236 0 Z M 1503 0 L 1503 1516 L 1755 1516 L 1755 0 L 1503 0 Z" unicode="ﬄ" />
-<glyph horiz-adv-x="1157" d="" unicode="ə" />
-<glyph horiz-adv-x="1315" d="" unicode="≠" />
-<glyph horiz-adv-x="1315" d="" unicode="≤" />
-<glyph horiz-adv-x="1315" d="" unicode="≥" />
-<glyph horiz-adv-x="1038" d="M 520 535 C 454 535 397 546 347 570 C 297 593 256 626 222 670 C 188 713 162 765 145 826 C 127 887 119 956 119 1032 C 119 1107 127 1175 145 1237 C 162 1299 188 1352 222 1396 C 256 1440 297 1474 347 1498 C 397 1522 454 1534 520 1534 C 584 1534 642 1522 692 1498 C 742 1474 784 1440 818 1396 C 852 1352 877 1299 895 1237 C 913 1175 922 1107 922 1032 C 922 956 913 887 895 826 C 877 765 852 713 818 670 C 784 626 742 593 692 570 C 642 546 584 535 520 535 Z M 520 698 C 586 698 635 726 667 783 C 699 839 715 922 715 1032 C 715 1139 698 1221 666 1279 C 633 1337 584 1366 520 1366 C 452 1366 403 1337 371 1279 C 339 1221 324 1138 324 1032 C 324 922 340 839 372 783 C 404 726 454 698 520 698 Z" unicode="⁰" />
-<glyph horiz-adv-x="969" d="M 539 764 L 100 764 L 100 893 L 528 1516 L 741 1516 L 741 926 L 895 926 L 895 764 L 741 764 L 741 551 L 539 551 L 539 764 Z M 549 915 L 549 1284 L 301 915 L 549 915 Z" unicode="⁴" />
-<glyph horiz-adv-x="924" d="M 444 535 C 402 535 364 538 330 545 C 296 552 264 562 235 576 C 206 589 179 605 155 623 C 131 641 108 662 88 686 L 188 813 C 218 777 256 749 301 727 C 345 705 392 694 440 694 C 471 694 498 698 522 707 C 545 716 564 729 580 745 C 596 761 607 780 615 802 C 623 824 627 848 627 874 C 627 932 611 975 581 1005 C 550 1034 510 1049 461 1049 C 423 1049 391 1041 365 1026 C 338 1011 312 988 287 956 L 141 1004 L 178 1516 L 764 1516 L 752 1352 L 336 1352 L 319 1126 C 336 1145 361 1161 393 1174 C 425 1187 466 1194 516 1194 C 560 1194 602 1187 640 1174 C 678 1160 710 1140 738 1114 C 766 1087 787 1054 803 1014 C 819 974 827 927 827 874 C 827 818 817 769 799 727 C 780 685 754 649 721 621 C 687 592 647 570 600 556 C 552 542 500 535 444 535 Z" unicode="⁵" />
-<glyph horiz-adv-x="975" d="M 512 535 C 450 535 395 545 347 565 C 298 585 257 615 223 655 C 189 695 164 746 146 807 C 128 867 119 938 119 1020 C 119 1108 129 1185 151 1250 C 172 1314 201 1368 239 1410 C 277 1452 321 1483 373 1503 C 425 1523 481 1534 543 1534 C 611 1534 670 1524 720 1506 C 770 1488 810 1466 840 1442 L 752 1298 C 720 1320 688 1338 655 1350 C 622 1362 584 1368 541 1368 C 468 1368 414 1344 379 1298 C 343 1251 323 1177 319 1075 C 335 1089 352 1103 369 1115 C 386 1127 405 1137 425 1146 C 445 1154 467 1161 491 1166 C 515 1171 541 1174 571 1174 C 617 1174 660 1167 698 1154 C 736 1141 769 1122 796 1096 C 823 1070 844 1037 859 999 C 873 961 881 916 881 866 C 881 817 872 772 856 732 C 840 692 816 657 785 628 C 753 598 715 575 669 559 C 623 543 570 535 512 535 Z M 514 690 C 568 690 610 705 640 735 C 669 765 684 806 684 858 C 684 910 671 950 645 979 C 619 1007 576 1022 518 1022 C 474 1022 437 1013 406 996 C 375 979 347 956 322 928 C 328 849 348 790 382 750 C 416 710 460 690 514 690 Z" unicode="⁶" />
-<glyph horiz-adv-x="1096" d="M 461 1542 L 635 1542 L 899 1202 L 752 1202 L 547 1374 L 342 1202 L 197 1202 L 461 1542 Z" unicode="ˆ" />
-<glyph horiz-adv-x="1096" d="M 197 1548 L 344 1548 L 549 1376 L 754 1548 L 899 1548 L 635 1208 L 461 1208 L 197 1548 Z" unicode="ˇ" />
-<glyph horiz-adv-x="852" d="M 545 1346 L 92 1346 L 92 1516 L 762 1516 L 762 1362 L 391 551 L 178 551 L 545 1346 Z" unicode="⁷" />
-<glyph horiz-adv-x="958" d="M 479 535 C 417 535 362 541 314 553 C 266 565 225 583 193 606 C 161 629 136 657 119 689 C 102 721 94 757 94 797 C 94 828 99 856 110 882 C 121 908 136 931 156 953 C 175 974 198 993 224 1010 C 250 1027 279 1043 311 1057 C 283 1071 259 1085 238 1100 C 217 1114 199 1131 184 1149 C 169 1167 158 1187 150 1210 C 142 1232 139 1258 139 1288 C 139 1319 146 1349 160 1379 C 174 1408 195 1434 223 1457 C 251 1480 287 1499 330 1513 C 372 1527 422 1534 479 1534 C 537 1534 588 1527 631 1513 C 673 1499 709 1480 737 1457 C 765 1434 785 1408 799 1379 C 812 1349 819 1319 819 1288 C 819 1236 803 1192 772 1155 C 740 1118 697 1087 643 1063 C 675 1048 705 1032 732 1016 C 759 1000 782 981 802 961 C 822 940 837 916 848 890 C 858 863 864 832 864 797 C 864 757 855 722 838 690 C 821 658 796 630 764 607 C 732 584 692 566 644 554 C 596 541 541 535 479 535 Z M 477 672 C 537 672 583 684 615 708 C 647 732 664 765 664 807 C 664 847 646 881 611 910 C 575 938 525 966 459 993 C 401 967 358 940 330 910 C 302 880 289 846 289 807 C 289 765 305 732 338 708 C 370 684 417 672 477 672 Z M 496 1122 C 541 1143 575 1164 597 1186 C 619 1208 631 1236 631 1270 C 631 1284 628 1299 622 1313 C 616 1327 608 1340 596 1351 C 584 1362 568 1371 550 1378 C 531 1385 509 1389 483 1389 C 457 1389 435 1385 417 1379 C 398 1373 382 1364 370 1354 C 357 1343 347 1331 341 1317 C 335 1303 332 1288 332 1274 C 332 1255 335 1239 341 1225 C 347 1211 356 1199 370 1188 C 383 1176 400 1165 421 1155 C 441 1145 466 1134 496 1122 Z" unicode="⁸" />
-<glyph horiz-adv-x="975" d="M 432 535 C 362 535 302 543 252 561 C 202 578 163 599 133 625 L 221 764 C 253 741 285 724 319 713 C 352 701 390 696 432 696 C 503 696 557 719 593 765 C 629 811 649 885 653 987 C 637 973 620 960 603 948 C 586 936 568 926 548 917 C 528 908 507 901 483 896 C 459 891 433 889 403 889 C 356 889 314 895 276 909 C 238 923 205 943 178 969 C 151 995 130 1028 116 1067 C 101 1105 94 1150 94 1200 C 94 1249 102 1294 118 1335 C 134 1376 157 1411 189 1441 C 220 1470 259 1493 305 1509 C 351 1525 403 1534 463 1534 C 523 1534 578 1524 627 1504 C 675 1484 717 1453 751 1413 C 785 1373 811 1322 829 1262 C 847 1201 856 1130 856 1049 C 856 959 844 882 821 818 C 798 753 767 700 728 658 C 689 616 644 585 593 565 C 541 545 488 535 432 535 Z M 455 1040 C 498 1040 535 1048 566 1066 C 597 1084 625 1107 651 1135 C 645 1213 625 1273 591 1313 C 557 1353 514 1374 461 1374 C 405 1374 362 1359 333 1329 C 303 1299 289 1258 289 1206 C 289 1154 302 1113 328 1084 C 354 1054 396 1040 455 1040 Z" unicode="⁹" />
-<glyph horiz-adv-x="1024" d="" unicode="˘" />
-<glyph horiz-adv-x="1024" d="" unicode="˙" />
-<glyph horiz-adv-x="1106" d="M 553 1186 C 523 1186 495 1191 470 1202 C 444 1212 422 1227 404 1246 C 385 1264 370 1286 360 1312 C 349 1337 344 1365 344 1395 C 344 1424 349 1451 360 1477 C 370 1502 385 1524 404 1542 C 422 1560 444 1575 470 1586 C 495 1596 523 1602 553 1602 C 583 1602 610 1596 636 1586 C 662 1575 684 1560 703 1542 C 721 1524 736 1502 746 1477 C 756 1451 762 1424 762 1395 C 762 1365 756 1337 746 1312 C 736 1286 721 1264 703 1246 C 684 1227 662 1212 636 1202 C 610 1191 583 1186 553 1186 Z M 553 1290 C 583 1290 607 1299 625 1319 C 643 1338 653 1363 653 1395 C 653 1425 643 1449 625 1469 C 607 1489 583 1499 553 1499 C 524 1499 500 1489 481 1469 C 462 1449 453 1425 453 1395 C 453 1363 462 1338 481 1319 C 500 1299 524 1290 553 1290 Z" unicode="˚" />
-<glyph horiz-adv-x="1024" d="" unicode="˛" />
-<glyph horiz-adv-x="1055" d="M 682 1188 C 648 1188 617 1194 590 1206 C 563 1218 538 1231 515 1245 C 491 1259 469 1273 448 1285 C 427 1297 406 1303 385 1303 C 356 1303 335 1294 321 1277 C 307 1260 301 1232 301 1192 L 160 1192 C 160 1242 164 1285 174 1321 C 184 1357 198 1386 216 1409 C 234 1432 257 1449 283 1460 C 309 1471 339 1477 373 1477 C 407 1477 437 1471 464 1459 C 491 1447 516 1433 540 1419 C 563 1405 585 1392 607 1380 C 628 1368 650 1362 672 1362 C 700 1362 721 1370 735 1387 C 749 1404 756 1433 756 1473 L 897 1473 C 897 1373 877 1301 839 1256 C 801 1210 748 1188 682 1188 Z" unicode="˜" />
-<glyph horiz-adv-x="1061" d="" unicode="˝" />
-<glyph horiz-adv-x="1411" d="M 236 0 L 236 887 L 47 887 L 47 1087 L 236 1087 L 236 1198 C 236 1243 241 1285 252 1325 C 263 1365 281 1399 307 1428 C 333 1457 366 1480 408 1497 C 449 1513 500 1522 561 1522 C 574 1522 588 1521 603 1520 C 617 1519 631 1518 644 1517 C 657 1515 669 1514 679 1513 C 689 1512 697 1511 702 1511 L 702 1319 C 692 1321 680 1322 666 1323 C 651 1324 638 1325 627 1325 C 581 1325 547 1313 523 1290 C 499 1266 487 1231 487 1184 L 487 1087 L 870 1087 L 870 1188 C 870 1233 875 1276 886 1317 C 896 1357 915 1393 941 1423 C 967 1453 1003 1477 1049 1495 C 1094 1513 1151 1522 1221 1522 C 1233 1522 1246 1521 1262 1520 C 1278 1519 1293 1518 1308 1517 C 1322 1515 1335 1514 1347 1513 C 1359 1512 1367 1511 1372 1511 L 1372 1317 C 1367 1317 1361 1318 1354 1319 C 1347 1320 1340 1321 1332 1322 C 1324 1323 1316 1324 1308 1324 C 1300 1324 1292 1325 1286 1325 C 1263 1325 1242 1323 1222 1319 C 1202 1315 1185 1308 1170 1298 C 1155 1287 1143 1272 1135 1254 C 1126 1236 1122 1212 1122 1184 L 1122 1087 L 1360 1087 L 1360 887 L 1122 887 L 1122 0 L 870 0 L 870 887 L 487 887 L 487 0 L 236 0 Z" unicode="ﬀ" />
-<glyph horiz-adv-x="1284" d="M 236 0 L 236 887 L 47 887 L 47 1087 L 236 1087 L 236 1198 C 236 1243 241 1285 252 1325 C 263 1365 281 1399 307 1428 C 333 1457 366 1480 408 1497 C 449 1513 500 1522 561 1522 C 573 1522 586 1521 601 1520 C 615 1519 629 1518 643 1517 C 656 1515 668 1514 679 1513 C 689 1512 697 1511 702 1511 L 702 1317 C 692 1319 680 1320 666 1321 C 651 1322 638 1323 627 1323 C 581 1323 547 1311 523 1288 C 499 1264 487 1229 487 1182 L 487 1087 L 700 1087 L 700 887 L 487 887 L 487 0 L 236 0 Z M 870 0 L 870 1087 L 1122 1087 L 1122 0 L 870 0 Z M 868 1266 L 868 1495 L 1124 1495 L 1124 1266 L 868 1266 Z" unicode="ﬁ" />
-<glyph horiz-adv-x="1278" d="M 236 0 L 236 887 L 47 887 L 47 1087 L 236 1087 L 236 1198 C 236 1243 241 1285 252 1325 C 263 1365 281 1399 307 1428 C 333 1457 366 1480 408 1497 C 449 1513 500 1522 561 1522 C 573 1522 586 1521 601 1520 C 615 1519 629 1518 643 1517 C 656 1515 668 1514 679 1513 C 689 1512 697 1511 702 1511 L 702 1317 C 692 1319 680 1320 666 1321 C 651 1322 638 1323 627 1323 C 581 1323 547 1311 523 1288 C 499 1264 487 1229 487 1182 L 487 1087 L 700 1087 L 700 887 L 487 887 L 487 0 L 236 0 Z M 870 0 L 870 1516 L 1122 1516 L 1122 0 L 870 0 Z" unicode="ﬂ" />
-<glyph horiz-adv-x="1903" d="M 236 0 L 236 887 L 47 887 L 47 1087 L 236 1087 L 236 1198 C 236 1243 241 1285 252 1325 C 263 1365 281 1399 307 1428 C 333 1457 366 1480 408 1497 C 449 1513 500 1522 561 1522 C 574 1522 588 1521 603 1520 C 617 1519 631 1518 644 1517 C 657 1515 669 1514 679 1513 C 689 1512 697 1511 702 1511 L 702 1317 C 692 1319 680 1320 666 1321 C 651 1322 638 1323 627 1323 C 581 1323 547 1311 523 1288 C 499 1264 487 1229 487 1182 L 487 1087 L 870 1087 L 870 1186 C 870 1231 875 1274 887 1315 C 898 1355 916 1391 942 1422 C 968 1452 1001 1477 1043 1495 C 1084 1513 1135 1522 1196 1522 C 1208 1522 1221 1521 1235 1520 C 1249 1519 1262 1518 1276 1517 C 1289 1515 1301 1514 1312 1513 C 1322 1512 1330 1511 1335 1511 L 1335 1317 C 1327 1319 1315 1320 1300 1321 C 1285 1322 1272 1323 1260 1323 C 1168 1323 1122 1276 1122 1182 L 1122 1087 L 1333 1087 L 1333 887 L 1122 887 L 1122 0 L 870 0 L 870 887 L 487 887 L 487 0 L 236 0 Z M 1503 0 L 1503 1087 L 1755 1087 L 1755 0 L 1503 0 Z M 1501 1266 L 1501 1495 L 1757 1495 L 1757 1266 L 1501 1266 Z" unicode="ﬃ" />
-<glyph horiz-adv-x="1024" d="M 193 1382 L 831 1382 L 831 1196 L 193 1196 L 193 1382 Z" unicode="̄" />
-<glyph horiz-adv-x="565" d="" unicode="̦" />
-<glyph horiz-adv-x="1536" d="" unicode="Δ" />
-<glyph horiz-adv-x="1664" d="" unicode="Ω" />
-<glyph horiz-adv-x="1245" d="M 141 -410 L 141 1087 L 393 1087 L 393 369 C 393 308 405 262 431 232 C 457 201 499 186 557 186 C 585 186 611 189 637 196 C 662 203 687 213 711 225 C 735 237 758 252 782 270 C 805 287 828 306 852 328 L 852 1087 L 1104 1087 L 1104 0 L 852 0 L 852 172 C 832 151 812 131 790 111 C 768 91 744 74 718 58 C 692 42 664 28 635 16 C 605 4 574 -3 541 -8 C 511 -10 483 -8 459 -4 C 434 0 412 9 393 25 L 393 -410 L 141 -410 Z" unicode="μ" />
-<glyph horiz-adv-x="1408" d="" unicode="π" />
-<glyph horiz-adv-x="1493" d="M 268 819 L 43 819 L 43 989 L 287 989 C 303 1084 330 1166 367 1236 C 403 1306 447 1363 498 1409 C 549 1455 606 1489 669 1511 C 731 1533 797 1544 866 1544 C 942 1544 1008 1534 1065 1514 C 1121 1494 1170 1465 1212 1428 C 1253 1391 1288 1347 1316 1295 C 1344 1243 1368 1186 1386 1124 L 1165 1049 C 1151 1094 1136 1134 1120 1168 C 1104 1202 1085 1231 1063 1254 C 1041 1277 1014 1294 983 1306 C 951 1317 913 1323 868 1323 C 784 1323 713 1295 655 1240 C 597 1185 557 1101 535 989 L 915 989 L 915 819 L 516 819 L 516 766 C 516 750 516 735 516 721 C 516 707 516 692 518 678 L 915 678 L 915 506 L 539 506 C 560 400 597 321 651 268 C 705 214 778 188 872 188 C 912 188 948 193 980 205 C 1012 216 1040 234 1065 258 C 1089 282 1111 312 1130 350 C 1148 388 1165 433 1180 485 L 1405 418 C 1385 349 1359 287 1327 232 C 1295 176 1257 129 1213 91 C 1169 52 1118 22 1061 2 C 1004 -18 940 -29 870 -29 C 798 -29 731 -18 669 3 C 606 24 549 57 499 101 C 449 145 406 200 370 267 C 334 334 308 414 291 506 L 43 506 L 43 678 L 270 678 C 268 691 268 705 268 719 C 268 733 268 747 268 762 L 268 819 Z" unicode="€" />
-<glyph horiz-adv-x="575" d="M 141 541 L 141 807 L 434 807 L 434 541 L 141 541 Z" unicode="∙" />
-<glyph horiz-adv-x="1161" d="" unicode="√" />
-<glyph horiz-adv-x="1204" d="M 469 -410 L 510 801 L 78 772 L 78 1006 L 510 975 L 469 1516 L 735 1516 L 694 975 L 1126 1006 L 1126 772 L 694 801 L 735 -410 L 469 -410 Z" unicode="†" />
-<glyph horiz-adv-x="1204" d="M 469 -410 L 510 39 L 109 8 L 109 231 L 510 203 L 477 555 L 510 903 L 109 874 L 109 1098 L 510 1067 L 469 1516 L 735 1516 L 694 1067 L 1096 1098 L 1096 874 L 694 903 L 727 555 L 694 203 L 1096 231 L 1096 8 L 694 39 L 735 -410 L 469 -410 Z" unicode="‡" />
-<glyph horiz-adv-x="948" d="M 473 455 C 435 455 400 461 368 474 C 336 487 308 505 285 529 C 261 552 243 580 230 612 C 217 644 211 679 211 717 C 211 755 217 790 230 822 C 243 854 261 882 285 906 C 308 930 336 948 368 961 C 400 974 435 981 473 981 C 511 981 547 974 579 961 C 611 948 639 930 663 906 C 686 882 704 854 717 822 C 730 790 737 755 737 717 C 737 679 730 644 717 612 C 704 580 686 552 663 529 C 639 505 611 487 579 474 C 547 461 511 455 473 455 Z" unicode="•" />
-<glyph horiz-adv-x="1696" d="M 1272 0 L 1272 266 L 1554 266 L 1554 0 L 1272 0 Z M 141 0 L 141 266 L 424 266 L 424 0 L 141 0 Z M 707 0 L 707 266 L 989 266 L 989 0 L 707 0 Z" unicode="…" />
-<glyph horiz-adv-x="1331" d="" unicode="◊" />
-<glyph horiz-adv-x="1556" d="" unicode="" />
-<glyph horiz-adv-x="1933" d="" unicode="Ẁ" />
-<glyph horiz-adv-x="1565" d="" unicode="ẁ" />
-<glyph horiz-adv-x="1933" d="" unicode="Ẃ" />
-<glyph horiz-adv-x="1565" d="" unicode="ẃ" />
-<glyph horiz-adv-x="1933" d="" unicode="Ẅ" />
-<glyph horiz-adv-x="1565" d="" unicode="ẅ" />
-<glyph horiz-adv-x="1772" d="" unicode="℗" />
-<glyph horiz-adv-x="3037" d="M 485 580 C 425 580 371 591 324 614 C 276 637 236 669 204 711 C 171 753 146 803 129 862 C 112 920 104 985 104 1057 C 104 1130 113 1196 131 1256 C 149 1315 174 1366 207 1408 C 240 1450 280 1482 328 1505 C 375 1528 428 1540 487 1540 C 545 1540 598 1528 645 1506 C 692 1483 732 1451 765 1409 C 797 1367 822 1317 840 1258 C 857 1199 866 1133 866 1061 C 866 989 857 924 840 865 C 822 806 797 755 765 713 C 733 671 693 638 646 615 C 598 591 545 580 485 580 Z M 1669 -20 C 1608 -20 1554 -8 1507 14 C 1459 37 1419 69 1387 111 C 1355 153 1330 203 1313 262 C 1296 320 1288 385 1288 457 C 1288 530 1297 596 1315 656 C 1333 715 1358 765 1391 807 C 1424 849 1464 881 1512 904 C 1559 926 1612 938 1671 938 C 1729 938 1782 926 1829 904 C 1875 882 1915 850 1948 808 C 1980 766 2005 716 2023 658 C 2041 599 2050 533 2050 461 C 2050 389 2041 324 2024 265 C 2006 206 1981 155 1949 113 C 1916 71 1876 38 1829 15 C 1781 -8 1728 -20 1669 -20 Z M 2552 -20 C 2491 -20 2437 -8 2390 14 C 2342 37 2302 69 2270 111 C 2238 153 2213 203 2196 262 C 2179 320 2171 385 2171 457 C 2171 530 2179 596 2197 656 C 2215 715 2240 765 2274 807 C 2307 849 2347 881 2394 904 C 2441 926 2494 938 2554 938 C 2612 938 2664 926 2711 904 C 2758 882 2798 850 2831 808 C 2863 766 2888 716 2906 658 C 2924 599 2933 533 2933 461 C 2933 389 2924 324 2907 265 C 2889 206 2864 155 2831 113 C 2798 71 2758 38 2711 15 C 2664 -8 2611 -20 2552 -20 Z M 514 0 L 1419 1516 L 1640 1516 L 735 0 L 514 0 Z M 1669 158 C 1697 158 1722 165 1743 179 C 1764 193 1782 214 1796 240 C 1810 266 1820 297 1827 334 C 1833 371 1837 413 1837 459 C 1837 554 1823 628 1795 680 C 1767 732 1725 758 1669 758 C 1639 758 1614 751 1593 737 C 1571 723 1554 703 1540 677 C 1526 651 1515 620 1509 584 C 1502 547 1499 506 1499 461 C 1499 365 1513 291 1541 238 C 1569 184 1611 158 1669 158 Z M 2552 158 C 2580 158 2605 165 2626 179 C 2647 193 2665 214 2679 240 C 2693 266 2703 297 2710 334 C 2716 371 2720 413 2720 459 C 2720 554 2706 628 2678 680 C 2650 732 2608 758 2552 758 C 2522 758 2497 751 2476 737 C 2454 723 2437 703 2423 677 C 2409 651 2398 620 2392 584 C 2385 547 2382 506 2382 461 C 2382 365 2396 291 2424 238 C 2452 184 2494 158 2552 158 Z M 487 760 C 515 760 539 767 560 781 C 581 795 598 815 612 841 C 626 867 636 898 643 935 C 649 972 653 1013 653 1059 C 653 1154 639 1228 611 1280 C 583 1332 541 1358 485 1358 C 456 1358 431 1351 410 1337 C 389 1323 372 1303 358 1277 C 344 1251 333 1220 327 1184 C 320 1147 317 1106 317 1061 C 317 965 331 890 359 838 C 387 786 429 760 487 760 Z" unicode="‰" />
-<glyph horiz-adv-x="1853" d="M 870 649 L 870 1516 L 1108 1516 L 1309 881 L 1511 1516 L 1747 1516 L 1747 649 L 1575 649 L 1575 1262 L 1376 649 L 1229 649 L 1030 1257 L 1030 649 L 870 649 Z M 309 649 L 309 1368 L 59 1368 L 59 1516 L 737 1516 L 737 1368 L 487 1368 L 487 649 L 309 649 Z" unicode="™" />
-<glyph horiz-adv-x="514" d="" unicode="′" />
-<glyph horiz-adv-x="1664" d="" unicode="Ω" />
-<glyph horiz-adv-x="1354" d="" unicode="Ỳ" />
-<glyph horiz-adv-x="1120" d="" unicode="ỳ" />
-<glyph horiz-adv-x="895" d="" unicode="″" />
-<glyph horiz-adv-x="1161" d="" unicode="✓" />
-<glyph horiz-adv-x="723" d="M 391 0 L 66 545 L 391 1087 L 637 1087 L 324 545 L 637 0 L 391 0 Z" unicode="‹" />
-<glyph horiz-adv-x="723" d="M 84 0 L 399 545 L 84 1087 L 330 1087 L 657 545 L 330 0 L 84 0 Z" unicode="›" />
-</font></defs></svg>
diff --git a/rootfs/web/src/assets/style/bentonsans-medium.ttf b/rootfs/web/src/assets/style/bentonsans-medium.ttf
deleted file mode 100644
index fefc155..0000000
Binary files a/rootfs/web/src/assets/style/bentonsans-medium.ttf and /dev/null differ
diff --git a/rootfs/web/src/assets/style/bentonsans-medium.woff b/rootfs/web/src/assets/style/bentonsans-medium.woff
deleted file mode 100644
index c558fc9..0000000
Binary files a/rootfs/web/src/assets/style/bentonsans-medium.woff and /dev/null differ
diff --git a/rootfs/web/src/assets/style/bentonsans-regular.eot b/rootfs/web/src/assets/style/bentonsans-regular.eot
deleted file mode 100644
index 8b05068..0000000
Binary files a/rootfs/web/src/assets/style/bentonsans-regular.eot and /dev/null differ
diff --git a/rootfs/web/src/assets/style/bentonsans-regular.svg b/rootfs/web/src/assets/style/bentonsans-regular.svg
deleted file mode 100644
index fb635da..0000000
--- a/rootfs/web/src/assets/style/bentonsans-regular.svg
+++ /dev/null
@@ -1,416 +0,0 @@
-<?xml version="1.0" standalone="yes"?><svg version="1.1" xmlns = 'http://www.w3.org/2000/svg'><defs><font id='web' horiz-adv-x="1000">
-<font-face font-family="web" descent="-602" cap-height="1516" units-per-em="2048" bbox="-193,-508,2769,1979" x-height="1081" ascent="2031" />
-<missing-glyph horiz-adv-x="1024" d="" /><glyph horiz-adv-x="1024" d="" unicode=" " />
-<glyph horiz-adv-x="2048" d="" unicode=" " />
-<glyph horiz-adv-x="1331" d="" unicode=" " />
-<glyph horiz-adv-x="2662" d="" unicode=" " />
-<glyph horiz-adv-x="410" d="" unicode=" " />
-<glyph horiz-adv-x="1331" d="" unicode="‒" />
-<glyph horiz-adv-x="1321" d="M 133 563 L 133 719 L 1188 719 L 1188 563 L 133 563 Z" unicode="–" />
-<glyph horiz-adv-x="1901" d="M 133 563 L 133 719 L 1767 719 L 1767 563 L 133 563 Z" unicode="—" />
-<glyph horiz-adv-x="2048" d="" unicode="―" />
-<glyph horiz-adv-x="555" d="M 174 1085 L 174 1284 L 281 1516 L 362 1516 L 305 1300 L 379 1300 L 379 1085 L 174 1085 Z" unicode="‘" />
-<glyph horiz-adv-x="555" d="M 193 1085 L 248 1300 L 174 1300 L 174 1516 L 379 1516 L 379 1317 L 274 1085 L 193 1085 Z" unicode="’" />
-<glyph horiz-adv-x="555" d="M 193 -215 L 248 0 L 174 0 L 174 215 L 379 215 L 379 18 L 274 -215 L 193 -215 Z" unicode="‚" />
-<glyph horiz-adv-x="952" d="M 174 1085 L 174 1284 L 281 1516 L 362 1516 L 305 1300 L 379 1300 L 379 1085 L 174 1085 Z M 573 1085 L 573 1284 L 680 1516 L 760 1516 L 705 1300 L 778 1300 L 778 1085 L 573 1085 Z" unicode="“" />
-<glyph horiz-adv-x="952" d="M 193 1085 L 248 1300 L 174 1300 L 174 1516 L 379 1516 L 379 1317 L 274 1085 L 193 1085 Z M 592 1085 L 647 1300 L 573 1300 L 573 1516 L 778 1516 L 778 1317 L 672 1085 L 592 1085 Z" unicode="”" />
-<glyph horiz-adv-x="952" d="M 193 -215 L 248 0 L 174 0 L 174 215 L 379 215 L 379 18 L 274 -215 L 193 -215 Z M 592 -215 L 647 0 L 573 0 L 573 215 L 778 215 L 778 18 L 672 -215 L 592 -215 Z" unicode="„" />
-<glyph horiz-adv-x="479" d="" unicode=" " />
-<glyph horiz-adv-x="657" d="M 274 426 L 221 1516 L 440 1516 L 389 426 L 274 426 Z M 225 0 L 225 211 L 436 211 L 436 0 L 225 0 Z" unicode="!" />
-<glyph horiz-adv-x="850" d="M 195 993 L 160 1395 L 160 1516 L 328 1516 L 328 1395 L 293 993 L 195 993 Z M 557 993 L 522 1395 L 522 1516 L 688 1516 L 688 1395 L 653 993 L 557 993 Z" unicode="&#x22;" />
-<glyph horiz-adv-x="1470" d="M 227 0 L 317 432 L 82 432 L 82 573 L 348 573 L 424 942 L 170 942 L 170 1083 L 455 1083 L 545 1516 L 707 1516 L 616 1083 L 979 1083 L 1069 1516 L 1231 1516 L 1141 1083 L 1386 1083 L 1386 942 L 1112 942 L 1034 573 L 1298 573 L 1298 432 L 1006 432 L 913 0 L 752 0 L 842 432 L 481 432 L 389 0 L 227 0 Z M 510 573 L 872 573 L 948 942 L 588 942 L 510 573 Z" unicode="#" />
-<glyph horiz-adv-x="1339" d="M 604 -10 C 536 -5 476 6 424 26 C 372 46 326 69 286 97 C 246 125 212 155 184 188 C 156 220 133 253 115 285 L 246 371 C 268 338 291 308 315 281 C 339 253 365 229 394 209 C 423 188 455 171 491 158 C 526 145 566 137 610 133 L 610 719 C 550 735 493 754 439 775 C 385 795 337 821 295 853 C 253 885 220 923 195 968 C 170 1013 158 1069 158 1135 C 158 1188 168 1238 188 1284 C 208 1330 238 1370 276 1405 C 314 1440 360 1469 416 1491 C 471 1513 534 1526 604 1530 L 604 1677 L 731 1677 L 731 1526 C 787 1520 837 1509 881 1493 C 925 1477 963 1457 997 1434 C 1031 1410 1060 1384 1085 1356 C 1109 1327 1131 1298 1151 1268 L 1022 1171 C 1004 1199 985 1225 966 1249 C 947 1273 926 1293 903 1311 C 880 1328 854 1342 826 1354 C 797 1365 764 1373 727 1378 L 727 850 C 789 832 850 813 909 791 C 967 769 1019 742 1065 708 C 1110 674 1146 633 1173 584 C 1200 535 1214 475 1214 403 C 1214 345 1203 292 1182 244 C 1160 196 1129 153 1088 117 C 1047 81 997 51 937 29 C 877 6 808 -7 731 -12 L 731 -190 L 604 -190 L 604 -10 Z M 727 133 C 771 135 813 142 851 153 C 889 163 923 179 951 199 C 979 219 1002 244 1018 275 C 1034 306 1042 344 1042 389 C 1042 433 1034 470 1018 502 C 1002 533 979 560 951 583 C 923 605 889 625 851 641 C 813 657 771 672 727 686 L 727 133 Z M 610 1382 C 561 1379 519 1371 484 1358 C 449 1345 420 1328 397 1308 C 374 1287 357 1263 346 1236 C 335 1208 330 1179 330 1149 C 330 1111 337 1078 351 1051 C 365 1023 384 999 409 979 C 434 959 464 941 498 926 C 532 911 570 897 610 885 L 610 1382 Z" unicode="$" />
-<glyph horiz-adv-x="2038" d="M 473 612 C 416 612 366 623 322 645 C 278 667 241 699 211 739 C 181 779 158 828 142 884 C 126 940 119 1003 119 1071 C 119 1142 127 1206 144 1264 C 160 1322 184 1371 215 1411 C 246 1451 284 1483 328 1505 C 372 1527 421 1538 475 1538 C 529 1538 577 1527 621 1505 C 664 1483 701 1453 731 1413 C 761 1373 785 1324 801 1267 C 817 1210 825 1147 825 1077 C 825 1009 817 946 801 889 C 785 832 763 783 733 742 C 703 701 666 669 622 646 C 578 623 529 612 473 612 Z M 1565 -20 C 1508 -20 1458 -8 1414 13 C 1370 35 1334 67 1304 107 C 1274 147 1251 196 1235 252 C 1219 308 1212 370 1212 438 C 1212 509 1220 573 1237 631 C 1254 689 1278 738 1309 778 C 1340 818 1378 850 1422 872 C 1466 894 1515 905 1569 905 C 1623 905 1671 894 1714 872 C 1757 850 1794 820 1824 780 C 1854 740 1878 691 1894 634 C 1910 577 1919 514 1919 444 C 1919 376 1911 314 1895 257 C 1879 200 1855 151 1825 110 C 1795 69 1758 37 1714 14 C 1670 -8 1621 -20 1565 -20 Z M 487 0 L 1393 1516 L 1552 1516 L 647 0 L 487 0 Z M 1567 113 C 1599 113 1627 121 1652 138 C 1676 154 1697 177 1713 207 C 1729 236 1742 271 1750 311 C 1758 351 1763 394 1763 442 C 1763 492 1758 537 1750 578 C 1741 618 1728 653 1712 681 C 1695 709 1674 731 1650 747 C 1625 762 1597 770 1565 770 C 1532 770 1503 761 1479 745 C 1454 729 1433 706 1417 677 C 1401 648 1388 614 1380 574 C 1372 534 1368 491 1368 444 C 1368 394 1372 348 1380 308 C 1388 267 1401 232 1418 203 C 1434 174 1455 152 1480 136 C 1505 120 1534 113 1567 113 Z M 475 748 C 507 748 535 756 559 772 C 583 788 603 811 620 840 C 636 868 649 902 657 942 C 665 982 670 1025 670 1073 C 670 1123 665 1168 657 1209 C 648 1249 635 1284 619 1313 C 602 1341 581 1363 557 1379 C 533 1395 505 1403 473 1403 C 440 1403 411 1394 387 1378 C 362 1362 341 1339 325 1310 C 309 1281 296 1247 288 1207 C 280 1167 276 1124 276 1077 C 276 1027 280 981 288 941 C 296 900 309 865 326 837 C 342 809 363 787 388 771 C 413 755 442 748 475 748 Z" unicode="%" />
-<glyph horiz-adv-x="1485" d="M 582 -29 C 498 -29 425 -19 361 0 C 297 20 244 47 201 83 C 158 118 126 160 104 210 C 82 260 72 315 72 375 C 72 431 81 481 100 527 C 118 573 144 614 176 652 C 208 689 246 723 289 753 C 332 783 378 810 426 836 C 392 896 366 954 349 1010 C 332 1066 324 1123 324 1182 C 324 1228 331 1273 346 1317 C 361 1361 384 1399 415 1433 C 445 1467 484 1494 530 1514 C 576 1534 630 1544 692 1544 C 747 1544 795 1536 837 1520 C 878 1504 912 1483 940 1456 C 968 1428 989 1396 1003 1360 C 1017 1324 1024 1285 1024 1245 C 1024 1191 1014 1143 994 1100 C 974 1057 946 1018 912 983 C 878 947 838 915 792 886 C 746 856 697 829 645 803 C 662 776 682 748 704 719 C 726 690 750 659 776 627 C 822 567 865 513 906 467 C 946 420 984 379 1020 344 C 1060 398 1092 461 1117 531 C 1141 601 1159 678 1169 762 L 1333 762 C 1319 664 1297 572 1265 485 C 1233 398 1192 320 1141 252 C 1195 210 1246 180 1294 162 C 1342 144 1392 135 1442 135 L 1442 -20 C 1402 -18 1365 -15 1330 -9 C 1294 -3 1260 6 1226 18 C 1192 30 1159 45 1127 63 C 1095 81 1062 104 1028 131 C 969 81 903 41 831 13 C 758 -14 675 -29 582 -29 Z M 580 909 C 618 929 655 950 689 972 C 723 994 753 1018 779 1044 C 804 1070 824 1098 839 1129 C 854 1159 862 1194 862 1233 C 862 1255 858 1276 852 1296 C 845 1316 835 1334 821 1350 C 807 1365 789 1377 768 1387 C 746 1396 721 1401 692 1401 C 628 1401 579 1382 545 1344 C 511 1306 494 1256 494 1192 C 494 1144 500 1097 514 1053 C 528 1008 550 960 580 909 Z M 594 121 C 718 121 823 156 911 227 C 871 265 828 309 784 360 C 739 410 690 469 637 537 C 610 571 585 603 562 634 C 538 664 517 694 498 723 C 460 701 427 678 397 654 C 367 629 341 603 319 575 C 297 547 281 518 269 488 C 257 458 252 426 252 393 C 252 304 281 236 339 190 C 397 144 482 121 594 121 Z" unicode="&#x26;" />
-<glyph horiz-adv-x="489" d="M 195 993 L 160 1395 L 160 1516 L 328 1516 L 328 1395 L 293 993 L 195 993 Z" unicode="'" />
-<glyph horiz-adv-x="817" d="M 635 -420 C 551 -350 478 -277 414 -203 C 350 -128 296 -50 253 30 C 209 111 176 196 154 284 C 132 372 121 465 121 563 C 121 661 132 754 154 843 C 176 931 209 1016 253 1097 C 296 1177 350 1255 414 1329 C 478 1403 551 1476 635 1546 L 715 1458 C 653 1400 598 1337 548 1271 C 498 1204 456 1133 421 1058 C 386 983 359 904 340 822 C 320 739 311 653 311 563 C 311 473 320 387 340 304 C 359 220 386 141 422 66 C 457 -9 500 -80 550 -148 C 600 -215 657 -278 719 -336 L 635 -420 Z" unicode="(" />
-<glyph horiz-adv-x="817" d="M 98 -336 C 159 -278 215 -215 265 -148 C 315 -80 357 -9 393 66 C 428 141 455 220 475 304 C 494 387 504 473 504 563 C 504 653 494 739 475 822 C 456 904 429 983 394 1058 C 359 1133 317 1204 267 1271 C 217 1337 161 1400 100 1458 L 182 1546 C 265 1476 339 1403 403 1329 C 467 1255 520 1177 563 1097 C 606 1016 639 931 661 843 C 683 754 694 661 694 563 C 694 465 683 372 661 284 C 639 196 606 111 563 30 C 520 -50 467 -128 403 -203 C 339 -277 265 -350 182 -420 L 98 -336 Z" unicode=")" />
-<glyph horiz-adv-x="1040" d="M 362 702 L 246 770 L 455 1073 L 86 1049 L 86 1176 L 457 1149 L 246 1452 L 362 1522 L 520 1188 L 678 1522 L 795 1452 L 586 1149 L 954 1176 L 954 1049 L 586 1073 L 795 770 L 680 702 L 520 1036 L 362 702 Z" unicode="*" />
-<glyph horiz-adv-x="1307" d="M 578 158 L 578 608 L 135 608 L 135 756 L 578 756 L 578 1206 L 729 1206 L 729 756 L 1174 756 L 1174 608 L 729 608 L 729 158 L 578 158 Z" unicode="+" />
-<glyph horiz-adv-x="555" d="M 197 -215 L 252 0 L 172 0 L 172 215 L 383 215 L 383 25 L 279 -215 L 197 -215 Z" unicode="," />
-<glyph horiz-adv-x="731" d="M 127 573 L 127 713 L 604 713 L 604 573 L 127 573 Z" unicode="-" />
-<glyph horiz-adv-x="555" d="M 172 0 L 172 215 L 383 215 L 383 0 L 172 0 Z" unicode="." />
-<glyph horiz-adv-x="1159" d="M 47 0 L 928 1516 L 1112 1516 L 231 0 L 47 0 Z" unicode="/" />
-<glyph horiz-adv-x="1354" d="M 678 -29 C 587 -29 506 -10 435 27 C 364 65 304 118 256 187 C 207 255 170 338 144 435 C 118 532 106 640 106 758 C 106 876 118 983 144 1080 C 170 1176 207 1259 256 1328 C 304 1396 364 1449 435 1487 C 506 1525 587 1544 678 1544 C 768 1544 849 1525 920 1487 C 990 1449 1050 1396 1098 1328 C 1146 1259 1182 1176 1207 1080 C 1232 983 1245 876 1245 758 C 1245 640 1232 532 1207 435 C 1182 338 1146 255 1098 187 C 1050 118 990 65 920 27 C 849 -10 768 -29 678 -29 Z M 678 129 C 738 129 793 142 841 169 C 889 196 930 236 964 289 C 997 341 1022 407 1040 485 C 1058 563 1067 654 1067 758 C 1067 860 1057 951 1039 1029 C 1021 1107 995 1172 961 1225 C 927 1277 887 1317 839 1344 C 791 1370 737 1384 678 1384 C 616 1384 560 1370 512 1344 C 464 1317 423 1277 389 1225 C 355 1172 330 1107 313 1029 C 295 951 287 860 287 758 C 287 654 296 563 314 485 C 332 407 358 341 392 289 C 426 236 467 196 515 169 C 563 142 618 129 678 129 Z" unicode="0" />
-<glyph horiz-adv-x="895" d="M 111 0 L 111 160 L 395 160 L 395 1327 C 377 1317 356 1307 333 1299 C 309 1291 285 1283 260 1277 C 235 1271 210 1266 185 1262 C 160 1258 137 1257 115 1257 L 115 1417 C 173 1419 227 1428 277 1444 C 327 1460 369 1484 403 1516 L 571 1516 L 571 160 L 825 160 L 825 0 L 111 0 Z" unicode="1" />
-<glyph horiz-adv-x="1212" d="M 90 0 L 90 33 C 90 87 97 141 111 195 C 125 249 151 303 189 359 C 226 414 277 471 341 529 C 405 587 488 649 588 713 C 644 749 693 782 733 813 C 773 844 806 875 832 906 C 858 936 877 968 889 1001 C 901 1034 907 1071 907 1112 C 907 1153 900 1190 888 1224 C 875 1258 856 1286 832 1310 C 808 1334 778 1352 743 1365 C 707 1377 667 1384 623 1384 C 544 1384 474 1363 412 1321 C 350 1279 297 1217 252 1135 L 113 1221 C 140 1271 171 1316 207 1356 C 242 1396 281 1429 324 1457 C 367 1485 414 1506 465 1521 C 516 1536 571 1544 631 1544 C 701 1544 763 1533 819 1513 C 875 1492 922 1463 961 1426 C 1000 1389 1030 1345 1051 1294 C 1072 1242 1083 1186 1083 1124 C 1083 1074 1076 1028 1064 985 C 1052 942 1031 900 1001 860 C 971 819 932 778 884 737 C 835 695 774 652 702 606 C 570 522 470 442 404 368 C 338 294 301 224 293 160 L 1092 160 L 1092 0 L 90 0 Z" unicode="2" />
-<glyph horiz-adv-x="1223" d="M 588 -29 C 473 -29 370 -5 278 42 C 186 90 111 158 53 248 L 184 346 C 238 268 299 212 367 179 C 434 145 508 129 588 129 C 640 129 688 135 730 148 C 772 161 809 180 839 205 C 869 229 892 259 908 295 C 924 330 932 370 932 416 C 932 468 923 514 906 553 C 888 592 861 624 823 650 C 785 676 737 695 678 708 C 619 720 548 727 465 727 L 403 727 L 403 877 L 475 877 C 553 877 618 882 672 894 C 726 906 769 923 802 946 C 835 968 859 996 873 1029 C 887 1061 895 1099 895 1141 C 895 1177 889 1209 878 1239 C 866 1268 849 1293 825 1315 C 801 1336 770 1352 732 1364 C 694 1376 648 1382 594 1382 C 521 1382 454 1366 394 1335 C 334 1304 282 1262 238 1210 L 121 1319 C 149 1351 180 1381 215 1409 C 249 1436 287 1459 328 1479 C 369 1499 413 1514 460 1525 C 506 1536 556 1542 608 1542 C 688 1542 758 1532 816 1512 C 874 1492 923 1464 961 1430 C 999 1395 1027 1355 1045 1309 C 1063 1263 1073 1215 1073 1163 C 1073 1115 1066 1072 1052 1033 C 1038 993 1019 958 994 928 C 968 898 937 872 901 851 C 865 830 824 815 778 805 C 890 782 974 738 1028 672 C 1082 606 1110 519 1110 412 C 1110 348 1097 289 1073 235 C 1049 181 1014 134 969 95 C 923 56 868 26 804 4 C 740 -18 668 -29 588 -29 Z" unicode="3" />
-<glyph horiz-adv-x="1268" d="M 793 0 L 793 350 L 61 350 L 61 487 L 752 1516 L 967 1516 L 967 508 L 1223 508 L 1223 350 L 967 350 L 967 0 L 793 0 Z M 260 508 L 793 508 L 793 1305 L 788 1305 L 260 508 Z" unicode="4" />
-<glyph horiz-adv-x="1202" d="M 584 -29 C 527 -29 473 -22 423 -10 C 373 2 326 20 283 43 C 239 65 200 92 164 124 C 128 156 96 191 70 229 L 190 340 C 214 310 239 282 267 256 C 294 230 324 207 356 189 C 388 170 422 155 459 145 C 496 134 536 129 580 129 C 642 129 695 139 740 159 C 785 179 822 206 852 240 C 882 274 904 313 918 358 C 932 402 940 449 940 498 C 940 556 932 606 916 650 C 900 694 877 730 848 760 C 819 790 784 812 744 827 C 703 842 658 850 610 850 C 536 850 472 835 418 805 C 364 775 317 731 276 674 L 147 719 L 207 1516 L 1030 1516 L 1016 1354 L 352 1354 L 315 870 C 349 908 393 940 446 964 C 498 988 565 1001 645 1001 C 715 1001 780 989 838 966 C 896 942 945 909 987 866 C 1029 823 1061 771 1084 710 C 1106 649 1118 581 1118 506 C 1118 428 1105 357 1081 292 C 1056 226 1021 170 975 122 C 929 74 873 37 807 11 C 741 -15 666 -29 584 -29 Z" unicode="5" />
-<glyph horiz-adv-x="1268" d="M 659 -29 C 581 -29 508 -13 440 17 C 372 47 314 94 265 157 C 215 220 176 299 148 394 C 120 489 106 601 106 731 C 106 853 121 964 152 1064 C 183 1164 226 1249 281 1320 C 336 1391 401 1446 476 1485 C 551 1524 633 1544 721 1544 C 763 1544 802 1540 838 1534 C 874 1528 908 1519 939 1509 C 969 1498 997 1485 1023 1471 C 1048 1457 1071 1441 1092 1425 L 1001 1292 C 982 1306 963 1319 943 1331 C 923 1343 901 1353 879 1361 C 856 1369 831 1375 804 1379 C 777 1383 747 1386 715 1386 C 649 1386 590 1370 537 1339 C 484 1307 439 1264 402 1209 C 364 1153 335 1087 315 1011 C 294 935 283 852 283 762 C 307 787 334 811 364 835 C 394 858 426 878 461 896 C 496 914 534 928 575 938 C 615 948 659 954 705 954 C 782 954 850 942 910 920 C 969 897 1019 865 1059 823 C 1099 781 1130 731 1151 673 C 1171 615 1182 550 1182 479 C 1182 405 1169 338 1143 276 C 1117 214 1081 160 1035 115 C 989 69 934 34 870 9 C 806 -16 735 -29 659 -29 Z M 670 125 C 720 125 766 132 808 148 C 850 164 885 187 915 217 C 945 247 968 283 984 327 C 1000 370 1008 419 1008 475 C 1008 522 1001 565 989 605 C 977 645 957 679 931 708 C 904 737 870 760 828 776 C 786 792 736 801 678 801 C 638 801 599 795 561 785 C 523 775 487 761 454 743 C 420 725 389 703 361 679 C 332 654 307 628 287 600 C 293 516 308 445 330 385 C 352 325 380 276 414 238 C 448 199 486 170 530 152 C 573 134 620 125 670 125 Z" unicode="6" />
-<glyph horiz-adv-x="1120" d="M 229 0 L 856 1354 L 88 1354 L 88 1516 L 1044 1516 L 1044 1364 L 414 0 L 229 0 Z" unicode="7" />
-<glyph horiz-adv-x="1255" d="M 629 -33 C 541 -33 463 -22 394 -2 C 325 18 267 47 220 83 C 172 119 136 162 111 211 C 86 260 74 313 74 371 C 74 423 83 470 101 512 C 119 554 145 592 179 626 C 213 660 254 692 302 720 C 350 748 403 775 463 801 C 413 823 368 847 329 872 C 289 896 256 923 228 953 C 200 982 179 1015 165 1051 C 150 1087 143 1129 143 1176 C 143 1222 153 1268 175 1313 C 197 1357 228 1397 270 1432 C 311 1467 362 1495 422 1516 C 482 1537 551 1548 629 1548 C 707 1548 777 1537 837 1516 C 897 1494 947 1466 987 1431 C 1027 1396 1058 1356 1079 1312 C 1099 1268 1110 1222 1110 1176 C 1110 1132 1102 1092 1088 1057 C 1074 1021 1053 989 1026 960 C 998 930 965 903 925 878 C 885 853 839 829 788 807 C 849 780 904 753 953 725 C 1001 697 1042 666 1076 632 C 1110 598 1135 560 1153 518 C 1171 476 1180 427 1180 371 C 1180 315 1167 262 1143 213 C 1118 164 1082 121 1035 85 C 987 48 929 19 861 -1 C 793 -22 715 -33 629 -33 Z M 637 872 C 689 896 734 918 772 939 C 810 960 841 982 865 1004 C 889 1026 907 1050 919 1076 C 930 1102 936 1131 936 1165 C 936 1193 930 1221 918 1249 C 906 1277 887 1302 862 1324 C 837 1346 805 1363 767 1377 C 728 1390 682 1397 629 1397 C 577 1397 531 1390 493 1378 C 454 1365 422 1348 396 1327 C 370 1306 351 1282 338 1255 C 325 1227 319 1199 319 1171 C 319 1136 325 1105 338 1079 C 350 1052 370 1027 396 1005 C 422 982 456 960 496 939 C 536 918 583 896 637 872 Z M 629 117 C 683 117 733 123 779 135 C 825 147 864 165 897 188 C 929 211 955 239 973 271 C 991 303 1001 340 1001 381 C 1001 421 992 457 976 489 C 959 521 934 550 902 578 C 869 605 829 631 781 656 C 733 681 678 707 616 733 C 554 705 501 679 456 653 C 410 627 373 600 343 572 C 313 544 290 515 276 484 C 261 453 254 419 254 381 C 254 341 263 305 281 273 C 299 241 325 213 358 190 C 391 167 431 149 477 136 C 523 123 573 117 629 117 Z" unicode="8" />
-<glyph horiz-adv-x="1268" d="M 547 -29 C 503 -29 463 -25 425 -18 C 387 -11 351 -2 319 10 C 287 22 257 35 231 51 C 204 67 180 84 160 102 L 248 236 C 268 220 289 205 311 192 C 332 178 355 167 379 157 C 403 147 430 140 458 135 C 486 129 518 127 553 127 C 618 127 677 142 730 174 C 782 205 827 249 864 305 C 901 361 930 427 950 504 C 970 580 981 664 983 754 C 958 728 931 703 901 680 C 871 656 839 636 804 618 C 769 600 731 586 691 576 C 650 566 607 561 561 561 C 484 561 416 572 357 595 C 298 618 248 650 208 692 C 168 733 137 783 117 841 C 96 899 86 964 86 1036 C 86 1109 98 1177 124 1239 C 150 1301 186 1354 232 1400 C 278 1445 334 1480 398 1506 C 462 1531 532 1544 608 1544 C 686 1544 759 1528 826 1498 C 893 1467 951 1420 1001 1357 C 1050 1294 1089 1215 1117 1120 C 1145 1024 1159 912 1159 784 C 1159 662 1143 551 1113 451 C 1082 351 1039 266 985 195 C 930 123 865 68 791 29 C 716 -9 635 -29 547 -29 Z M 590 715 C 629 715 667 720 705 730 C 743 740 778 755 812 773 C 845 791 876 812 904 836 C 932 860 957 887 979 915 C 972 997 958 1069 936 1129 C 914 1189 886 1238 853 1276 C 819 1314 781 1343 738 1361 C 694 1379 648 1389 598 1389 C 546 1389 500 1381 458 1365 C 416 1349 381 1327 352 1297 C 322 1267 300 1231 284 1188 C 268 1144 260 1095 260 1040 C 260 992 266 949 278 909 C 290 869 309 835 335 807 C 361 778 396 755 438 739 C 480 723 530 715 590 715 Z" unicode="9" />
-<glyph horiz-adv-x="563" d="M 176 864 L 176 1081 L 387 1081 L 387 864 L 176 864 Z M 176 0 L 176 215 L 387 215 L 387 0 L 176 0 Z" unicode=":" />
-<glyph horiz-adv-x="563" d="M 199 -215 L 256 0 L 176 0 L 176 215 L 387 215 L 387 27 L 281 -215 L 199 -215 Z M 176 864 L 176 1081 L 387 1081 L 387 864 L 176 864 Z" unicode=";" />
-<glyph horiz-adv-x="1307" d="M 1192 139 L 109 604 L 109 723 L 1192 1188 L 1192 1030 L 307 664 L 1192 297 L 1192 139 Z" unicode="&#x3C;" />
-<glyph horiz-adv-x="1307" d="M 135 829 L 135 971 L 1169 971 L 1169 829 L 135 829 Z M 135 362 L 135 504 L 1169 504 L 1169 362 L 135 362 Z" unicode="=" />
-<glyph horiz-adv-x="1307" d="M 119 139 L 119 297 L 1004 664 L 119 1030 L 119 1188 L 1202 723 L 1202 604 L 119 139 Z" unicode="&#x3E;" />
-<glyph horiz-adv-x="1124" d="M 436 424 C 432 466 430 512 430 561 C 430 597 433 631 441 661 C 448 691 459 718 475 743 C 490 768 510 791 534 813 C 558 834 587 854 621 874 C 659 898 692 919 720 939 C 748 959 771 979 789 1000 C 807 1021 821 1044 830 1070 C 839 1096 844 1127 844 1163 C 844 1197 837 1227 824 1255 C 811 1282 792 1305 768 1324 C 744 1343 714 1358 679 1368 C 644 1378 605 1384 561 1384 C 519 1384 480 1379 445 1369 C 409 1359 377 1345 347 1327 C 317 1309 290 1289 265 1265 C 240 1241 217 1215 197 1188 L 76 1288 C 104 1324 135 1358 169 1389 C 202 1420 239 1447 279 1470 C 319 1493 364 1511 412 1524 C 460 1537 514 1544 573 1544 C 643 1544 705 1534 761 1516 C 816 1498 863 1472 902 1440 C 940 1407 970 1368 991 1323 C 1011 1277 1022 1228 1022 1174 C 1022 1124 1015 1081 1002 1044 C 988 1007 970 974 947 945 C 923 916 896 890 865 867 C 833 843 800 821 764 801 C 720 775 686 752 662 730 C 637 708 619 684 607 657 C 595 630 587 598 584 562 C 581 525 580 479 580 424 L 436 424 Z M 403 0 L 403 211 L 612 211 L 612 0 L 403 0 Z" unicode="?" />
-<glyph horiz-adv-x="1778" d="M 883 -29 C 767 -29 660 -9 564 28 C 467 66 384 120 315 189 C 245 258 191 341 153 437 C 115 533 96 640 96 756 C 96 872 115 979 155 1076 C 195 1172 250 1255 321 1325 C 391 1394 475 1448 573 1486 C 670 1524 776 1544 891 1544 C 1005 1544 1110 1525 1207 1487 C 1303 1449 1387 1397 1457 1330 C 1527 1262 1582 1182 1622 1088 C 1661 994 1681 890 1681 778 C 1681 706 1672 642 1655 586 C 1637 529 1613 481 1581 441 C 1549 401 1512 370 1468 349 C 1424 327 1377 317 1325 317 C 1256 317 1201 331 1160 360 C 1119 389 1091 427 1077 473 C 1029 429 978 393 924 367 C 870 341 809 328 741 328 C 697 328 656 334 619 348 C 582 361 550 381 524 408 C 498 435 477 469 462 510 C 447 550 440 598 440 653 C 440 731 450 804 471 872 C 492 940 521 998 559 1048 C 596 1097 640 1136 692 1164 C 744 1192 800 1206 862 1206 C 892 1206 920 1203 946 1197 C 971 1191 994 1184 1015 1174 C 1036 1164 1055 1153 1073 1140 C 1090 1127 1106 1113 1122 1098 L 1137 1190 L 1280 1190 L 1190 584 C 1186 559 1186 536 1191 515 C 1195 494 1204 476 1217 461 C 1230 446 1247 434 1268 426 C 1288 418 1313 414 1341 414 C 1374 414 1405 421 1435 436 C 1464 450 1490 472 1512 502 C 1534 532 1551 569 1564 614 C 1576 659 1583 712 1583 774 C 1583 874 1565 965 1531 1048 C 1497 1131 1449 1202 1387 1262 C 1325 1321 1252 1367 1168 1400 C 1083 1433 991 1450 891 1450 C 789 1450 696 1433 611 1399 C 526 1365 453 1317 392 1256 C 331 1195 284 1122 250 1037 C 216 951 199 858 199 756 C 199 654 215 560 249 475 C 283 390 330 317 391 255 C 451 193 524 146 608 112 C 692 78 784 61 885 61 C 966 61 1039 70 1105 88 C 1171 106 1234 132 1296 168 L 1339 94 C 1276 56 1206 26 1129 4 C 1051 -18 969 -29 883 -29 Z M 776 444 C 824 444 869 453 912 473 C 954 492 998 523 1044 567 L 1106 975 C 1072 1013 1037 1040 1000 1057 C 963 1074 920 1083 870 1083 C 826 1083 787 1071 753 1049 C 718 1026 688 996 663 958 C 638 920 619 876 606 826 C 592 776 586 723 586 668 C 586 590 602 533 636 497 C 670 461 716 444 776 444 Z" unicode="@" />
-<glyph horiz-adv-x="1393" d="M 66 0 L 602 1522 L 791 1522 L 1327 0 L 1141 0 L 991 434 L 389 434 L 240 0 L 66 0 Z M 444 592 L 936 592 L 694 1303 L 690 1303 L 444 592 Z" unicode="A" />
-<glyph horiz-adv-x="1415" d="M 186 0 L 186 1516 L 729 1516 C 811 1516 885 1508 949 1492 C 1013 1476 1068 1452 1112 1421 C 1156 1389 1189 1350 1212 1302 C 1235 1254 1247 1199 1247 1137 C 1247 1085 1239 1039 1225 999 C 1210 959 1190 925 1165 896 C 1139 867 1110 843 1076 825 C 1042 807 1005 794 967 786 L 967 782 C 1013 773 1057 759 1097 741 C 1137 722 1171 698 1201 668 C 1230 638 1253 602 1270 560 C 1287 518 1296 469 1296 414 C 1296 350 1284 293 1261 242 C 1238 191 1204 148 1160 112 C 1115 76 1060 48 995 29 C 930 9 856 0 772 0 L 186 0 Z M 365 158 L 760 158 C 884 158 974 180 1032 226 C 1089 272 1118 338 1118 426 C 1118 473 1108 514 1090 548 C 1072 582 1046 611 1012 633 C 978 655 936 671 887 682 C 838 692 783 698 723 698 L 365 698 L 365 158 Z M 365 854 L 713 854 C 826 854 914 874 977 915 C 1039 956 1071 1020 1071 1108 C 1071 1194 1042 1257 986 1297 C 929 1336 839 1356 717 1356 L 365 1356 L 365 854 Z" unicode="B" />
-<glyph horiz-adv-x="1444" d="M 756 -29 C 660 -29 572 -11 493 25 C 414 61 346 113 290 181 C 234 249 190 333 159 431 C 128 529 113 640 113 764 C 113 882 128 989 160 1085 C 191 1181 235 1263 292 1331 C 348 1399 416 1451 495 1488 C 574 1525 661 1544 756 1544 C 836 1544 907 1532 969 1510 C 1031 1488 1084 1456 1130 1416 C 1176 1375 1214 1326 1245 1269 C 1275 1212 1299 1149 1317 1079 L 1145 1032 C 1128 1089 1109 1139 1087 1183 C 1065 1226 1038 1262 1007 1291 C 976 1320 940 1342 899 1356 C 857 1370 809 1378 754 1378 C 683 1378 619 1363 563 1335 C 506 1306 458 1265 418 1212 C 378 1159 348 1095 327 1020 C 305 944 295 860 295 766 C 295 666 305 576 327 498 C 349 420 380 354 420 300 C 460 246 509 205 566 177 C 623 149 687 135 758 135 C 865 135 952 165 1020 226 C 1088 286 1137 378 1169 502 L 1339 463 C 1321 388 1295 320 1262 260 C 1228 199 1187 147 1139 105 C 1090 62 1034 29 970 6 C 906 -17 835 -29 756 -29 Z" unicode="C" />
-<glyph horiz-adv-x="1464" d="M 186 0 L 186 1516 L 586 1516 C 708 1516 816 1500 911 1469 C 1005 1438 1085 1391 1150 1329 C 1215 1267 1265 1188 1299 1094 C 1333 999 1350 888 1350 762 C 1350 633 1332 521 1298 426 C 1264 330 1214 251 1148 188 C 1082 125 1002 78 908 47 C 813 15 706 0 586 0 L 186 0 Z M 367 162 L 608 162 C 700 162 780 173 850 196 C 920 219 978 255 1026 304 C 1073 352 1109 414 1133 490 C 1157 566 1169 656 1169 762 C 1169 864 1156 952 1132 1026 C 1108 1100 1072 1161 1025 1209 C 977 1257 918 1292 848 1315 C 777 1338 696 1350 604 1350 L 367 1350 L 367 162 Z" unicode="D" />
-<glyph horiz-adv-x="1247" d="M 186 0 L 186 1516 L 1116 1516 L 1116 1350 L 367 1350 L 367 877 L 924 877 L 924 715 L 367 715 L 367 164 L 1159 164 L 1159 0 L 186 0 Z" unicode="E" />
-<glyph horiz-adv-x="1165" d="M 186 0 L 186 1516 L 1096 1516 L 1096 1350 L 367 1350 L 367 862 L 903 862 L 903 700 L 367 700 L 367 0 L 186 0 Z" unicode="F" />
-<glyph horiz-adv-x="1495" d="M 745 -29 C 643 -29 552 -9 474 30 C 395 70 329 125 275 195 C 221 265 181 349 154 446 C 126 543 113 649 113 764 C 113 884 128 992 160 1088 C 192 1184 236 1266 293 1334 C 350 1402 418 1454 497 1490 C 576 1526 663 1544 758 1544 C 900 1544 1019 1505 1115 1428 C 1211 1351 1279 1233 1319 1075 L 1151 1032 C 1133 1092 1112 1144 1088 1188 C 1064 1232 1037 1268 1005 1296 C 973 1324 937 1344 896 1358 C 855 1371 808 1378 756 1378 C 696 1378 639 1366 583 1343 C 527 1319 478 1283 436 1234 C 393 1184 359 1121 333 1045 C 307 968 295 876 295 770 C 295 664 306 571 330 491 C 354 411 386 345 428 292 C 469 239 518 199 575 173 C 632 146 694 133 762 133 C 820 133 874 142 923 162 C 971 182 1013 210 1048 248 C 1083 285 1110 331 1130 386 C 1149 440 1159 503 1161 573 L 813 573 L 813 725 L 1335 725 L 1335 0 L 1178 0 L 1178 227 L 1174 227 C 1158 195 1138 164 1114 134 C 1090 103 1060 76 1025 52 C 990 28 949 8 903 -6 C 856 -21 803 -29 745 -29 Z" unicode="G" />
-<glyph horiz-adv-x="1513" d="M 186 0 L 186 1516 L 367 1516 L 367 881 L 1147 881 L 1147 1516 L 1327 1516 L 1327 0 L 1147 0 L 1147 715 L 367 715 L 367 0 L 186 0 Z" unicode="H" />
-<glyph horiz-adv-x="594" d="M 207 0 L 207 1516 L 387 1516 L 387 0 L 207 0 Z" unicode="I" />
-<glyph horiz-adv-x="1034" d="M 434 -29 C 388 -29 346 -24 308 -14 C 270 -4 236 8 205 26 C 173 43 145 64 119 88 C 93 112 70 140 49 170 L 170 272 C 185 250 201 231 219 214 C 237 196 256 181 277 169 C 298 156 321 146 346 139 C 370 132 398 129 428 129 C 466 129 501 134 533 144 C 564 154 591 170 613 193 C 635 216 653 246 665 284 C 677 321 684 367 684 422 L 684 1516 L 864 1516 L 864 410 C 864 338 854 275 834 221 C 814 166 786 120 749 83 C 712 46 667 18 614 0 C 560 -19 500 -29 434 -29 Z" unicode="J" />
-<glyph horiz-adv-x="1389" d="M 186 0 L 186 1516 L 367 1516 L 367 733 L 1053 1516 L 1270 1516 L 750 938 L 1341 0 L 1135 0 L 631 801 L 367 512 L 367 0 L 186 0 Z" unicode="K" />
-<glyph horiz-adv-x="1165" d="M 186 0 L 186 1516 L 367 1516 L 367 164 L 1096 164 L 1096 0 L 186 0 Z" unicode="L" />
-<glyph horiz-adv-x="1798" d="M 186 0 L 186 1516 L 422 1516 L 899 227 L 903 227 L 1372 1516 L 1612 1516 L 1612 0 L 1434 0 L 1434 1227 L 1430 1227 C 1419 1187 1405 1143 1388 1095 C 1371 1047 1354 998 1337 948 L 975 0 L 813 0 L 451 948 C 441 973 433 996 425 1018 C 417 1039 409 1061 402 1083 C 394 1105 387 1128 379 1152 C 371 1176 364 1203 356 1233 L 352 1233 L 352 0 L 186 0 Z" unicode="M" />
-<glyph horiz-adv-x="1534" d="M 186 0 L 186 1516 L 377 1516 L 1174 317 L 1178 317 L 1178 1516 L 1348 1516 L 1348 0 L 1186 0 L 360 1231 L 356 1231 L 356 0 L 186 0 Z" unicode="N" />
-<glyph horiz-adv-x="1534" d="M 768 -29 C 674 -29 587 -10 507 25 C 427 61 358 113 300 181 C 241 249 195 331 162 429 C 129 526 113 636 113 758 C 113 880 129 989 162 1086 C 195 1183 241 1265 300 1333 C 358 1401 427 1453 507 1489 C 587 1525 674 1544 768 1544 C 862 1544 948 1525 1028 1489 C 1107 1453 1176 1401 1234 1333 C 1292 1265 1337 1183 1370 1086 C 1402 989 1419 880 1419 758 C 1419 636 1402 526 1370 429 C 1337 331 1292 249 1234 181 C 1176 113 1107 61 1028 25 C 948 -10 862 -29 768 -29 Z M 768 133 C 836 133 899 147 957 175 C 1015 203 1064 243 1106 297 C 1148 350 1180 415 1204 493 C 1227 570 1239 658 1239 758 C 1239 856 1227 944 1204 1022 C 1180 1099 1148 1164 1106 1217 C 1064 1270 1015 1310 957 1338 C 899 1366 836 1380 768 1380 C 698 1380 634 1366 576 1338 C 518 1310 468 1270 426 1217 C 384 1164 352 1099 329 1022 C 306 944 295 856 295 758 C 295 658 306 570 329 493 C 352 415 384 350 426 297 C 468 243 518 203 576 175 C 634 147 698 133 768 133 Z" unicode="O" />
-<glyph horiz-adv-x="1329" d="M 186 0 L 186 1516 L 700 1516 C 782 1516 856 1507 924 1491 C 991 1474 1048 1448 1096 1413 C 1144 1378 1181 1333 1207 1279 C 1233 1225 1247 1160 1247 1085 C 1247 1004 1232 935 1204 879 C 1176 823 1137 777 1087 742 C 1037 706 977 681 909 665 C 841 649 767 641 688 641 L 367 641 L 367 0 L 186 0 Z M 367 801 L 698 801 C 758 801 812 805 858 815 C 904 825 942 841 974 863 C 1005 885 1029 913 1045 949 C 1061 984 1069 1027 1069 1079 C 1069 1127 1061 1169 1045 1204 C 1029 1238 1006 1267 975 1289 C 943 1311 904 1327 858 1337 C 811 1347 757 1352 696 1352 L 367 1352 L 367 801 Z" unicode="P" />
-<glyph horiz-adv-x="1534" d="M 1126 -385 C 1048 -385 981 -375 924 -357 C 867 -339 820 -313 782 -281 C 744 -249 715 -210 696 -165 C 676 -120 666 -71 666 -18 C 585 -7 511 18 443 59 C 375 100 317 154 268 221 C 219 288 181 367 154 457 C 126 547 113 648 113 758 C 113 880 129 989 163 1086 C 197 1183 243 1265 302 1333 C 361 1401 430 1453 510 1489 C 590 1525 676 1544 768 1544 C 859 1544 944 1525 1024 1489 C 1103 1453 1172 1401 1230 1333 C 1288 1265 1334 1183 1368 1086 C 1402 989 1419 880 1419 758 C 1419 646 1404 544 1376 452 C 1347 360 1307 281 1257 214 C 1206 147 1146 93 1076 53 C 1006 13 930 -11 848 -20 C 852 -63 863 -98 881 -125 C 899 -152 922 -173 950 -189 C 978 -204 1012 -214 1051 -220 C 1089 -226 1132 -229 1180 -229 L 1284 -229 L 1284 -385 L 1126 -385 Z M 768 131 C 836 131 899 145 957 173 C 1014 201 1063 242 1105 296 C 1146 349 1178 414 1202 492 C 1225 570 1237 658 1237 758 C 1237 856 1225 944 1202 1022 C 1178 1099 1146 1164 1105 1217 C 1063 1270 1014 1310 957 1338 C 899 1366 836 1380 768 1380 C 698 1380 634 1366 576 1338 C 518 1310 468 1270 426 1217 C 384 1164 351 1099 328 1022 C 304 944 293 856 293 758 C 293 658 304 570 328 492 C 351 414 384 349 426 296 C 468 242 518 201 576 173 C 634 145 698 131 768 131 Z" unicode="Q" />
-<glyph horiz-adv-x="1386" d="M 186 0 L 186 1516 L 707 1516 C 793 1516 869 1507 936 1489 C 1002 1471 1059 1444 1105 1408 C 1151 1372 1185 1328 1209 1275 C 1233 1222 1245 1161 1245 1092 C 1245 1030 1236 976 1220 930 C 1203 883 1179 843 1149 809 C 1119 775 1082 747 1039 725 C 995 703 947 687 893 676 L 1266 0 L 1069 0 L 707 653 L 365 653 L 365 0 L 186 0 Z M 365 813 L 696 813 C 755 813 808 817 854 826 C 900 835 938 850 970 871 C 1002 892 1026 920 1042 955 C 1058 990 1067 1033 1067 1085 C 1067 1135 1058 1177 1042 1211 C 1026 1245 1002 1272 971 1293 C 939 1314 900 1329 854 1338 C 808 1347 754 1352 694 1352 L 365 1352 L 365 813 Z" unicode="R" />
-<glyph horiz-adv-x="1346" d="M 684 -29 C 612 -29 545 -19 484 -1 C 422 17 367 44 319 79 C 270 113 228 155 193 204 C 158 252 131 307 111 367 L 262 434 C 300 332 355 256 428 206 C 500 156 588 131 692 131 C 745 131 793 136 837 147 C 881 158 918 174 949 196 C 980 217 1004 243 1021 274 C 1038 305 1047 341 1047 381 C 1047 418 1041 451 1029 480 C 1017 508 997 535 968 560 C 939 584 900 608 851 630 C 802 652 740 674 666 698 C 586 722 515 746 453 771 C 391 796 338 825 295 858 C 252 891 219 930 196 976 C 173 1022 162 1077 162 1143 C 162 1201 173 1254 197 1303 C 221 1352 254 1394 297 1430 C 339 1466 391 1494 451 1514 C 511 1534 577 1544 649 1544 C 721 1544 785 1535 843 1518 C 901 1500 952 1476 996 1446 C 1040 1416 1077 1380 1108 1338 C 1139 1296 1164 1252 1184 1204 L 1040 1124 C 998 1215 945 1280 880 1320 C 814 1360 737 1380 647 1380 C 599 1380 556 1374 518 1363 C 480 1352 447 1337 421 1317 C 395 1297 375 1273 361 1246 C 347 1218 340 1189 340 1157 C 340 1116 346 1081 360 1053 C 374 1025 396 999 428 977 C 459 954 500 933 551 913 C 602 893 665 871 739 848 C 815 824 883 799 943 773 C 1003 747 1054 716 1096 682 C 1138 647 1170 606 1192 560 C 1214 513 1225 457 1225 393 C 1225 330 1211 273 1185 221 C 1159 169 1122 125 1075 88 C 1027 51 970 22 904 2 C 838 -18 764 -29 684 -29 Z" unicode="S" />
-<glyph horiz-adv-x="1276" d="M 547 0 L 547 1350 L 66 1350 L 66 1516 L 1210 1516 L 1210 1350 L 727 1350 L 727 0 L 547 0 Z" unicode="T" />
-<glyph horiz-adv-x="1468" d="M 735 -27 C 637 -27 553 -13 483 15 C 412 43 354 81 308 131 C 262 180 227 238 205 306 C 183 373 172 446 172 524 L 172 1516 L 352 1516 L 352 549 C 352 487 359 431 374 381 C 389 330 412 286 444 250 C 475 214 515 185 563 165 C 611 145 669 135 737 135 C 803 135 860 144 908 164 C 956 184 995 212 1026 248 C 1057 284 1080 327 1095 377 C 1110 427 1118 483 1118 545 L 1118 1516 L 1296 1516 L 1296 528 C 1296 449 1284 376 1261 308 C 1237 240 1202 182 1156 132 C 1109 82 1051 43 981 15 C 911 -12 829 -27 735 -27 Z" unicode="U" />
-<glyph horiz-adv-x="1364" d="M 598 -6 L 66 1516 L 250 1516 L 684 236 L 688 236 L 1124 1516 L 1298 1516 L 766 -6 L 598 -6 Z" unicode="V" />
-<glyph horiz-adv-x="1907" d="M 477 0 L 74 1516 L 256 1516 L 479 637 C 496 570 512 505 528 442 C 544 379 557 320 567 266 L 571 266 C 581 320 594 378 609 441 C 623 504 639 569 657 635 L 868 1516 L 1051 1516 L 1268 629 C 1284 561 1299 499 1314 441 C 1328 383 1341 324 1352 266 L 1356 266 C 1362 296 1368 326 1374 355 C 1380 383 1387 412 1394 440 C 1401 468 1408 498 1416 528 C 1424 558 1432 589 1440 623 L 1661 1516 L 1833 1516 L 1432 0 L 1266 0 L 961 1268 L 956 1268 L 643 0 L 477 0 Z" unicode="W" />
-<glyph horiz-adv-x="1372" d="M 66 0 L 586 809 L 129 1516 L 336 1516 L 694 952 L 1047 1516 L 1237 1516 L 784 811 L 1307 0 L 1110 0 L 682 668 L 252 0 L 66 0 Z" unicode="X" />
-<glyph horiz-adv-x="1292" d="M 555 0 L 555 664 L 45 1516 L 238 1516 L 649 817 L 1059 1516 L 1247 1516 L 735 664 L 735 0 L 555 0 Z" unicode="Y" />
-<glyph horiz-adv-x="1290" d="M 82 0 L 82 127 L 969 1364 L 139 1364 L 139 1516 L 1190 1516 L 1190 1384 L 309 150 L 1190 150 L 1190 0 L 82 0 Z" unicode="Z" />
-<glyph horiz-adv-x="817" d="M 172 -410 L 172 1516 L 727 1516 L 727 1384 L 350 1384 L 350 -279 L 727 -279 L 727 -410 L 172 -410 Z" unicode="[" />
-<glyph horiz-adv-x="1139" d="M 918 0 L 37 1516 L 221 1516 L 1102 0 L 918 0 Z" unicode="\" />
-<glyph horiz-adv-x="817" d="M 88 -410 L 88 -279 L 465 -279 L 465 1382 L 88 1382 L 88 1516 L 643 1516 L 643 -410 L 88 -410 Z" unicode="]" />
-<glyph horiz-adv-x="1307" d="M 598 1516 L 715 1516 L 1180 688 L 1024 688 L 655 1337 L 289 688 L 131 688 L 598 1516 Z" unicode="^" />
-<glyph horiz-adv-x="1024" d="M 0 -270 L 0 -133 L 1024 -133 L 1024 -270 L 0 -270 Z" unicode="_" />
-<glyph horiz-adv-x="1024" d="M 569 1198 L 279 1522 L 494 1522 L 686 1198 L 569 1198 Z" unicode="`" />
-<glyph horiz-adv-x="1133" d="M 395 -16 C 348 -16 306 -10 268 2 C 230 14 198 31 172 54 C 146 77 125 106 111 140 C 97 174 90 212 90 256 C 90 310 102 361 127 408 C 152 454 193 497 250 535 C 306 573 381 606 473 635 C 565 663 679 687 813 707 L 813 756 C 813 824 795 874 760 907 C 725 939 674 956 608 956 C 566 956 528 951 492 943 C 456 935 423 923 391 909 C 359 894 328 877 300 857 C 271 837 243 815 217 793 L 125 903 C 156 931 190 958 226 983 C 262 1007 300 1029 342 1047 C 383 1065 427 1079 475 1089 C 522 1099 573 1104 627 1104 C 691 1104 746 1095 792 1079 C 837 1063 874 1039 903 1008 C 932 977 953 939 967 895 C 980 850 987 799 987 743 L 987 266 C 987 200 989 146 994 104 C 998 62 1006 28 1018 0 L 838 0 C 830 22 824 45 820 68 C 815 91 813 118 813 150 C 752 93 687 51 619 24 C 551 -2 476 -16 395 -16 Z M 446 123 C 518 123 585 136 646 164 C 707 192 763 231 813 281 L 813 584 C 709 567 623 548 553 528 C 483 507 426 484 384 459 C 341 434 310 407 292 378 C 273 348 264 317 264 283 C 264 230 280 190 312 163 C 344 136 389 123 446 123 Z" unicode="a" />
-<glyph horiz-adv-x="1227" d="M 670 -16 C 603 -16 541 -2 485 25 C 429 53 378 91 332 139 L 332 0 L 156 0 L 156 1516 L 332 1516 L 332 930 C 352 952 375 974 399 995 C 423 1016 450 1035 480 1051 C 509 1067 541 1079 575 1089 C 609 1099 647 1104 688 1104 C 750 1104 807 1092 861 1069 C 915 1046 961 1011 1001 965 C 1040 918 1071 859 1094 789 C 1116 719 1128 637 1128 543 C 1128 449 1116 367 1093 297 C 1070 227 1038 168 998 122 C 957 76 909 41 853 18 C 797 -4 736 -16 670 -16 Z M 645 127 C 692 127 735 135 773 151 C 811 167 843 192 869 226 C 895 260 916 303 930 355 C 944 407 952 469 952 541 C 952 609 944 669 929 721 C 913 773 892 816 865 850 C 837 884 805 909 768 926 C 730 943 690 952 647 952 C 584 952 527 936 476 906 C 425 876 377 836 332 786 L 332 291 C 379 237 428 196 480 168 C 532 140 587 127 645 127 Z" unicode="b" />
-<glyph horiz-adv-x="1098" d="M 575 -23 C 513 -23 453 -11 395 13 C 337 37 285 72 241 120 C 196 167 160 226 134 296 C 107 366 94 448 94 541 C 94 639 108 724 137 795 C 166 866 204 924 251 970 C 298 1016 351 1049 410 1071 C 469 1093 529 1104 590 1104 C 650 1104 703 1095 749 1079 C 795 1062 834 1040 868 1012 C 902 984 930 952 954 916 C 977 879 997 841 1014 801 L 864 739 C 837 809 802 863 758 899 C 714 935 656 954 586 954 C 546 954 508 946 471 932 C 433 918 400 894 370 862 C 340 829 317 786 299 734 C 281 681 272 617 272 541 C 272 474 279 415 294 363 C 309 311 330 268 358 233 C 385 197 418 170 456 152 C 494 134 536 125 582 125 C 616 125 647 128 675 136 C 703 144 728 156 752 174 C 776 191 797 213 817 241 C 836 269 854 302 872 342 L 1018 285 C 996 239 972 198 946 160 C 919 122 888 90 852 63 C 816 35 776 14 731 0 C 685 -15 633 -23 575 -23 Z" unicode="c" />
-<glyph horiz-adv-x="1227" d="M 537 -16 C 475 -16 417 -4 363 17 C 309 39 263 74 223 120 C 183 166 152 223 130 293 C 107 363 96 445 96 539 C 96 633 107 715 131 786 C 154 856 186 915 227 962 C 268 1009 317 1044 373 1068 C 429 1092 491 1104 557 1104 C 589 1104 621 1100 653 1092 C 684 1084 714 1073 743 1059 C 771 1045 798 1028 824 1008 C 849 988 872 967 893 944 L 893 1516 L 1069 1516 L 1069 266 C 1069 200 1071 146 1076 104 C 1080 62 1089 28 1102 0 L 918 0 C 911 17 905 40 900 69 C 895 97 893 126 893 154 C 871 130 848 107 824 87 C 799 66 772 48 743 33 C 714 17 682 5 648 -3 C 614 -11 577 -16 537 -16 Z M 580 129 C 611 129 641 133 669 141 C 697 149 723 160 749 175 C 775 189 799 207 823 227 C 847 247 870 270 893 295 L 893 791 C 845 844 796 884 745 912 C 693 940 639 954 582 954 C 534 954 492 945 454 929 C 416 912 383 886 356 852 C 329 817 308 773 294 721 C 279 669 272 607 272 537 C 272 467 279 407 295 356 C 311 305 332 263 360 229 C 388 195 420 170 458 154 C 496 137 536 129 580 129 Z" unicode="d" />
-<glyph horiz-adv-x="1130" d="M 584 -23 C 520 -23 458 -11 399 12 C 340 35 288 70 243 117 C 197 164 161 223 134 294 C 107 364 94 447 94 541 C 94 639 108 723 138 794 C 168 865 206 924 253 970 C 300 1016 353 1049 411 1071 C 469 1093 526 1104 584 1104 C 648 1104 707 1092 762 1069 C 817 1046 865 1011 905 964 C 945 917 976 858 999 786 C 1022 714 1034 630 1034 532 L 1034 496 L 270 496 C 271 434 280 380 298 334 C 316 287 339 248 368 217 C 397 185 431 161 470 145 C 509 129 551 121 596 121 C 634 121 669 124 701 132 C 732 140 761 151 787 166 C 813 181 836 200 858 222 C 880 244 901 269 922 297 L 1024 207 C 974 135 913 78 842 38 C 770 -2 684 -23 584 -23 Z M 866 633 C 862 681 854 724 841 764 C 827 804 809 838 785 866 C 761 894 733 916 699 932 C 665 948 626 956 582 956 C 545 956 509 949 475 937 C 441 924 410 904 382 878 C 354 851 331 817 312 777 C 292 737 280 689 274 633 L 866 633 Z" unicode="e" />
-<glyph horiz-adv-x="705" d="M 240 0 L 240 936 L 51 936 L 51 1081 L 240 1081 L 240 1227 C 240 1272 246 1313 258 1349 C 270 1385 290 1416 316 1442 C 342 1467 376 1486 417 1500 C 458 1513 507 1520 565 1520 C 573 1520 581 1519 591 1519 C 601 1518 610 1517 620 1516 C 630 1515 639 1514 647 1514 C 655 1513 662 1513 666 1513 L 666 1370 C 657 1372 645 1373 630 1374 C 615 1375 602 1376 590 1376 C 565 1376 542 1373 521 1368 C 500 1363 482 1355 466 1344 C 450 1332 438 1317 429 1297 C 420 1277 416 1253 416 1225 L 416 1081 L 653 1081 L 653 936 L 416 936 L 416 0 L 240 0 Z" unicode="f" />
-<glyph horiz-adv-x="1178" d="M 557 -416 C 465 -416 387 -409 321 -397 C 255 -384 201 -366 159 -343 C 117 -319 85 -291 65 -258 C 45 -225 35 -188 35 -147 C 35 -91 52 -43 87 -3 C 122 36 170 68 231 92 C 169 121 139 167 139 229 C 139 264 151 296 177 325 C 203 354 235 380 274 403 C 222 437 181 480 152 533 C 123 586 109 647 109 715 C 109 771 119 823 141 871 C 163 919 193 960 232 994 C 271 1028 317 1055 371 1075 C 425 1094 484 1104 549 1104 C 615 1104 676 1093 730 1073 C 784 1052 830 1025 868 991 C 884 1003 903 1014 923 1025 C 943 1036 965 1046 987 1055 C 1009 1064 1032 1072 1056 1078 C 1079 1084 1102 1089 1124 1092 L 1124 936 C 1094 936 1062 933 1028 928 C 994 922 962 913 930 901 C 947 876 960 848 970 817 C 980 785 985 751 985 715 C 985 656 974 603 952 556 C 930 508 900 468 861 434 C 822 400 776 375 723 357 C 669 339 611 330 549 330 C 517 330 487 332 460 337 C 432 341 405 348 377 356 C 354 346 336 334 322 320 C 308 306 301 290 301 272 C 301 260 303 250 308 242 C 313 234 321 227 333 221 C 344 215 359 210 379 206 C 398 202 422 199 451 197 L 672 178 C 810 168 913 141 982 96 C 1050 51 1085 -14 1085 -102 C 1085 -153 1072 -198 1046 -237 C 1020 -276 984 -309 938 -336 C 892 -362 836 -382 771 -396 C 706 -409 635 -416 557 -416 Z M 551 459 C 592 459 629 464 663 476 C 696 488 724 504 748 526 C 771 548 789 574 802 605 C 814 636 821 671 821 711 C 821 789 797 852 750 898 C 703 944 636 967 549 967 C 507 967 469 961 435 949 C 401 937 373 919 349 897 C 325 875 307 848 295 816 C 282 784 276 749 276 711 C 276 671 282 636 295 605 C 308 574 327 548 351 526 C 375 504 404 488 438 476 C 472 464 509 459 551 459 Z M 580 -283 C 634 -283 682 -279 724 -271 C 766 -263 802 -251 832 -237 C 862 -223 884 -206 900 -186 C 916 -166 924 -143 924 -119 C 924 -95 919 -74 909 -56 C 899 -38 882 -23 859 -11 C 836 0 805 11 767 19 C 729 27 681 33 625 37 L 420 51 L 358 57 C 306 38 266 13 239 -18 C 212 -49 199 -83 199 -121 C 199 -148 206 -172 220 -192 C 234 -212 257 -228 288 -242 C 319 -256 359 -266 407 -273 C 455 -279 512 -283 580 -283 Z" unicode="g" />
-<glyph horiz-adv-x="1204" d="M 156 0 L 156 1516 L 334 1516 L 334 920 C 357 942 383 965 412 987 C 440 1009 471 1029 505 1046 C 539 1063 575 1077 614 1088 C 653 1098 695 1104 739 1104 C 843 1104 922 1075 977 1019 C 1031 963 1059 883 1059 780 L 1059 0 L 883 0 L 883 741 C 883 813 867 867 835 901 C 803 935 752 952 684 952 C 619 952 558 936 502 905 C 446 873 390 831 334 778 L 334 0 L 156 0 Z" unicode="h" />
-<glyph horiz-adv-x="512" d="M 168 0 L 168 1081 L 344 1081 L 344 0 L 168 0 Z M 164 1313 L 164 1485 L 348 1485 L 348 1313 L 164 1313 Z" unicode="i" />
-<glyph horiz-adv-x="512" d="M 94 -412 C 86 -412 76 -411 66 -411 C 55 -410 44 -409 34 -408 C 24 -407 14 -406 6 -405 C -2 -404 -8 -403 -12 -403 L -12 -270 C -2 -272 8 -274 20 -276 C 32 -278 45 -279 57 -279 C 92 -279 119 -269 139 -249 C 158 -229 168 -198 168 -154 L 168 1081 L 344 1081 L 344 -166 C 344 -202 340 -236 332 -266 C 324 -296 310 -322 291 -344 C 272 -365 246 -382 214 -394 C 182 -406 142 -412 94 -412 Z M 164 1313 L 164 1485 L 348 1485 L 348 1313 L 164 1313 Z" unicode="j" />
-<glyph horiz-adv-x="1106" d="M 156 0 L 156 1516 L 332 1516 L 332 541 L 815 1081 L 1016 1081 L 662 694 L 1055 0 L 866 0 L 547 563 L 332 332 L 332 0 L 156 0 Z" unicode="k" />
-<glyph horiz-adv-x="512" d="M 168 0 L 168 1516 L 344 1516 L 344 0 L 168 0 Z" unicode="l" />
-<glyph horiz-adv-x="1878" d="M 156 0 L 156 1081 L 332 1081 L 332 918 C 357 943 384 967 413 990 C 441 1012 472 1032 504 1049 C 536 1066 570 1079 606 1089 C 642 1099 680 1104 721 1104 C 766 1104 805 1099 839 1090 C 872 1080 900 1067 924 1051 C 947 1034 966 1014 981 990 C 996 966 1008 941 1018 913 C 1044 939 1071 963 1101 986 C 1131 1009 1162 1029 1196 1047 C 1229 1064 1264 1078 1301 1088 C 1337 1098 1376 1104 1417 1104 C 1472 1104 1519 1096 1559 1081 C 1599 1065 1631 1043 1657 1015 C 1682 987 1701 953 1713 913 C 1725 873 1731 828 1731 780 L 1731 0 L 1554 0 L 1554 741 C 1554 777 1550 808 1544 834 C 1538 860 1527 882 1513 900 C 1498 918 1479 931 1455 939 C 1431 947 1401 952 1366 952 C 1336 952 1307 948 1279 940 C 1251 932 1223 920 1196 905 C 1168 890 1141 872 1114 850 C 1087 828 1060 804 1032 778 L 1032 0 L 856 0 L 856 741 C 856 777 852 808 846 834 C 840 860 829 882 815 900 C 800 918 781 931 757 939 C 733 947 703 952 668 952 C 608 952 552 936 498 905 C 444 873 388 831 332 778 L 332 0 L 156 0 Z" unicode="m" />
-<glyph horiz-adv-x="1204" d="M 156 0 L 156 1081 L 334 1081 L 334 920 C 357 942 383 965 412 987 C 440 1009 471 1029 505 1046 C 539 1063 575 1077 614 1088 C 653 1098 695 1104 739 1104 C 843 1104 922 1075 977 1019 C 1031 963 1059 883 1059 780 L 1059 0 L 883 0 L 883 741 C 883 813 867 867 835 901 C 803 935 752 952 684 952 C 619 952 558 936 502 905 C 446 873 390 831 334 778 L 334 0 L 156 0 Z" unicode="n" />
-<glyph horiz-adv-x="1194" d="M 598 -23 C 532 -23 468 -11 408 13 C 347 37 293 72 247 120 C 200 167 163 226 135 296 C 107 366 94 448 94 541 C 94 633 107 715 135 785 C 163 855 200 914 246 962 C 292 1009 346 1044 407 1068 C 467 1092 531 1104 598 1104 C 664 1104 727 1092 788 1068 C 848 1044 902 1009 948 962 C 994 914 1030 855 1058 785 C 1086 715 1100 633 1100 541 C 1100 448 1086 366 1058 296 C 1030 226 994 167 948 120 C 902 72 848 37 788 13 C 727 -11 664 -23 598 -23 Z M 598 127 C 649 127 695 137 735 157 C 775 177 808 205 836 241 C 864 277 885 320 900 371 C 914 422 922 479 922 541 C 922 597 915 650 901 700 C 887 750 867 793 840 831 C 813 868 779 897 739 919 C 699 941 652 952 598 952 C 546 952 499 942 459 922 C 419 902 385 873 357 837 C 329 801 308 757 294 707 C 279 657 272 601 272 541 C 272 483 278 429 292 379 C 305 329 325 285 352 248 C 379 210 413 181 454 159 C 495 137 543 127 598 127 Z" unicode="o" />
-<glyph horiz-adv-x="1227" d="M 156 -410 L 156 1081 L 332 1081 L 332 932 C 352 954 375 976 399 997 C 423 1017 450 1036 480 1052 C 509 1068 541 1080 575 1090 C 609 1099 647 1104 688 1104 C 750 1104 807 1092 861 1069 C 915 1046 961 1011 1001 965 C 1040 918 1071 859 1094 789 C 1116 719 1128 637 1128 543 C 1128 449 1116 367 1093 297 C 1070 227 1038 168 998 122 C 957 76 909 41 853 18 C 797 -4 736 -16 670 -16 C 603 -16 541 -2 485 25 C 429 53 378 91 332 139 L 332 -410 L 156 -410 Z M 645 127 C 692 127 735 135 773 151 C 811 167 843 192 869 226 C 895 260 916 303 930 355 C 944 407 952 469 952 541 C 952 609 944 669 929 721 C 913 773 892 816 865 850 C 837 884 805 909 768 926 C 730 943 690 952 647 952 C 584 952 527 936 476 906 C 425 876 377 836 332 786 L 332 291 C 379 237 428 196 480 168 C 532 140 587 127 645 127 Z" unicode="p" />
-<glyph horiz-adv-x="1227" d="M 893 -410 L 893 154 C 871 130 848 107 824 87 C 799 66 772 48 743 33 C 714 17 682 5 648 -3 C 614 -11 577 -16 537 -16 C 475 -16 417 -4 363 17 C 309 39 263 74 223 120 C 183 166 152 223 130 293 C 107 363 96 445 96 539 C 96 633 107 715 131 786 C 154 856 186 915 227 962 C 268 1009 317 1044 373 1068 C 429 1092 491 1104 557 1104 C 623 1104 684 1089 740 1061 C 796 1032 847 994 893 946 L 893 1081 L 1069 1081 L 1069 -410 L 893 -410 Z M 580 129 C 611 129 641 133 669 141 C 697 149 723 160 749 175 C 775 189 799 207 823 227 C 847 247 870 270 893 295 L 893 791 C 845 844 796 884 745 912 C 693 940 639 954 582 954 C 534 954 492 945 454 929 C 416 912 383 886 356 852 C 329 817 308 773 294 721 C 279 669 272 607 272 537 C 272 467 279 407 295 356 C 311 305 332 263 360 229 C 388 195 420 170 458 154 C 496 137 536 129 580 129 Z" unicode="q" />
-<glyph horiz-adv-x="819" d="M 156 0 L 156 1081 L 332 1081 L 332 881 L 336 881 C 356 912 379 941 405 968 C 431 995 462 1019 496 1039 C 530 1059 568 1074 611 1086 C 653 1098 701 1104 754 1104 L 776 1104 L 764 940 C 762 940 759 941 754 941 C 749 941 744 942 738 942 C 732 942 727 942 722 942 C 717 942 714 942 713 942 C 626 942 551 920 487 878 C 423 835 372 775 332 698 L 332 0 L 156 0 Z" unicode="r" />
-<glyph horiz-adv-x="1049" d="M 520 -20 C 471 -20 425 -15 381 -6 C 337 2 297 15 259 31 C 221 47 187 67 157 90 C 126 112 100 137 78 164 L 184 270 C 225 226 273 190 328 162 C 383 134 448 121 522 121 C 606 121 671 135 715 164 C 759 192 782 235 782 291 C 782 317 776 340 764 360 C 752 380 735 397 712 411 C 688 425 659 438 625 450 C 590 461 550 472 504 483 C 446 497 394 512 346 528 C 298 544 258 564 224 588 C 190 612 163 642 145 678 C 126 713 117 757 117 809 C 117 849 125 888 143 924 C 160 960 185 991 218 1018 C 250 1044 290 1065 337 1081 C 383 1096 436 1104 496 1104 C 543 1104 586 1100 626 1093 C 666 1085 702 1075 736 1061 C 769 1047 800 1031 828 1012 C 856 992 883 971 909 948 L 817 831 C 775 869 728 900 675 924 C 621 948 564 961 504 961 C 464 961 431 957 403 949 C 375 941 352 930 335 916 C 317 902 305 887 297 869 C 289 851 285 833 285 815 C 285 789 290 768 301 750 C 311 732 327 717 349 704 C 370 690 397 679 429 669 C 461 659 498 649 541 639 C 601 624 657 608 707 592 C 757 575 801 554 837 529 C 873 504 902 473 922 436 C 942 399 952 353 952 297 C 952 245 941 199 919 160 C 897 120 866 87 828 61 C 789 34 743 14 691 0 C 638 -13 581 -20 520 -20 Z" unicode="s" />
-<glyph horiz-adv-x="772" d="M 535 -14 C 477 -14 429 -8 391 2 C 353 13 322 30 298 53 C 274 76 258 105 248 139 C 238 173 233 214 233 262 L 233 936 L 45 936 L 45 1081 L 233 1081 L 233 1466 L 410 1466 L 410 1081 L 690 1081 L 690 936 L 410 936 L 410 301 C 410 272 412 247 417 225 C 422 203 431 185 444 171 C 457 157 474 146 496 139 C 517 132 544 129 578 129 C 597 129 616 130 636 133 C 656 135 673 139 688 143 L 688 -2 C 680 -3 670 -4 658 -6 C 646 -8 634 -9 620 -10 C 606 -11 592 -12 578 -13 C 563 -13 549 -14 535 -14 Z" unicode="t" />
-<glyph horiz-adv-x="1204" d="M 465 -20 C 361 -20 281 7 227 63 C 172 118 145 197 145 301 L 145 1081 L 322 1081 L 322 338 C 322 266 337 212 369 178 C 401 144 451 127 520 127 C 585 127 646 142 702 174 C 758 205 814 247 870 301 L 870 1081 L 1049 1081 L 1049 0 L 870 0 L 870 162 C 846 138 820 116 792 94 C 763 72 732 53 698 36 C 664 19 628 5 589 -4 C 550 -14 509 -20 465 -20 Z" unicode="u" />
-<glyph horiz-adv-x="1055" d="M 438 -4 L 41 1081 L 229 1081 L 532 205 L 537 205 L 836 1081 L 1012 1081 L 616 -4 L 438 -4 Z" unicode="v" />
-<glyph horiz-adv-x="1540" d="M 375 0 L 45 1081 L 227 1081 L 369 573 C 378 539 386 508 394 480 C 402 451 409 423 417 395 C 425 367 432 338 440 309 C 447 279 455 247 463 213 L 467 213 C 476 251 484 285 492 315 C 499 345 506 373 514 401 C 521 428 528 455 536 483 C 543 511 551 541 561 575 L 698 1081 L 852 1081 L 993 565 C 1002 533 1010 503 1018 475 C 1025 447 1032 420 1039 393 C 1046 366 1053 338 1060 309 C 1067 280 1075 248 1083 213 L 1087 213 C 1096 249 1104 281 1112 310 C 1120 338 1127 366 1134 393 C 1141 419 1148 446 1156 473 C 1164 499 1172 529 1182 561 L 1329 1081 L 1495 1081 L 1165 0 L 1001 0 L 772 846 L 768 846 L 537 0 L 375 0 Z" unicode="w" />
-<glyph horiz-adv-x="1061" d="M 55 0 L 440 559 L 82 1081 L 274 1081 L 539 686 L 801 1081 L 987 1081 L 627 561 L 1010 0 L 819 0 L 528 430 L 240 0 L 55 0 Z" unicode="x" />
-<glyph horiz-adv-x="1092" d="M 217 -416 C 169 -416 129 -413 97 -408 C 65 -402 37 -396 14 -389 L 55 -248 C 70 -252 91 -256 118 -260 C 144 -264 177 -266 215 -266 C 243 -266 267 -263 288 -257 C 309 -251 328 -241 344 -229 C 360 -217 374 -201 387 -182 C 399 -162 411 -139 422 -113 L 463 -6 L 45 1081 L 231 1081 L 549 207 L 553 207 L 870 1081 L 1049 1081 L 586 -123 C 567 -170 547 -212 526 -249 C 505 -285 480 -316 452 -341 C 424 -365 391 -384 353 -397 C 315 -409 269 -416 217 -416 Z" unicode="y" />
-<glyph horiz-adv-x="1044" d="M 80 0 L 80 106 L 713 938 L 129 938 L 129 1081 L 934 1081 L 934 971 L 299 141 L 965 141 L 965 0 L 80 0 Z" unicode="z" />
-<glyph horiz-adv-x="801" d="M 565 -410 C 471 -410 402 -385 359 -335 C 316 -285 295 -216 295 -127 L 295 242 C 295 292 290 332 281 364 C 271 396 257 421 239 439 C 220 457 196 470 168 477 C 139 483 106 487 68 487 L 68 618 C 106 618 139 621 168 628 C 196 635 220 648 239 666 C 257 684 271 709 281 741 C 290 773 295 814 295 864 L 295 1233 C 295 1277 300 1317 310 1352 C 320 1387 337 1417 359 1441 C 381 1465 409 1484 443 1497 C 477 1509 517 1516 565 1516 L 723 1516 L 723 1384 L 633 1384 C 577 1384 536 1370 511 1344 C 485 1318 473 1279 473 1227 L 473 850 C 473 800 469 758 461 724 C 453 690 442 663 427 641 C 412 619 394 601 373 588 C 351 575 327 564 299 555 L 299 551 C 327 541 351 530 373 517 C 394 504 412 487 427 465 C 442 443 453 415 461 381 C 469 347 473 306 473 256 L 473 -121 C 473 -173 485 -212 511 -239 C 536 -265 577 -279 633 -279 L 723 -279 L 723 -410 L 565 -410 Z" unicode="{" />
-<glyph horiz-adv-x="727" d="M 276 -410 L 276 1516 L 449 1516 L 449 -410 L 276 -410 Z" unicode="|" />
-<glyph horiz-adv-x="801" d="M 78 -410 L 78 -279 L 168 -279 C 224 -279 264 -265 290 -239 C 315 -212 328 -173 328 -121 L 328 266 C 328 316 331 357 339 390 C 347 422 358 449 373 470 C 388 490 406 507 428 519 C 449 531 474 541 502 551 L 502 555 C 474 564 449 575 428 587 C 406 599 388 615 373 636 C 358 656 347 683 339 716 C 331 748 328 790 328 840 L 328 1227 C 328 1279 316 1319 292 1348 C 268 1376 229 1391 174 1391 L 84 1391 L 78 1516 L 246 1516 C 292 1516 332 1510 365 1498 C 398 1486 425 1469 446 1446 C 467 1423 482 1395 492 1361 C 501 1327 506 1287 506 1243 L 506 864 C 506 814 510 773 520 741 C 529 709 543 684 562 666 C 580 648 604 635 633 628 C 661 621 695 618 733 618 L 733 487 C 695 487 661 483 633 477 C 604 470 580 457 562 439 C 543 421 529 396 520 364 C 510 332 506 292 506 242 L 506 -137 C 506 -181 501 -221 492 -255 C 482 -289 467 -317 446 -340 C 425 -363 398 -380 365 -392 C 332 -404 292 -410 246 -410 L 78 -410 Z" unicode="}" />
-<glyph horiz-adv-x="1307" d="M 934 547 C 911 547 883 551 851 559 C 818 566 783 575 747 586 C 710 596 672 607 634 619 C 596 631 559 642 525 653 C 490 663 459 672 431 679 C 403 686 381 690 365 692 C 335 694 310 688 291 675 C 271 662 260 636 256 598 L 141 612 C 145 653 153 688 166 718 C 179 748 196 772 216 790 C 236 808 260 822 286 830 C 312 838 341 841 373 840 C 396 838 424 834 457 827 C 490 819 525 810 562 800 C 598 789 636 778 674 766 C 712 754 749 742 783 732 C 817 721 848 712 876 704 C 904 696 926 692 942 692 C 972 690 996 696 1016 710 C 1036 724 1048 751 1053 791 L 1165 778 C 1157 694 1132 633 1090 596 C 1048 559 996 543 934 547 Z" unicode="~" />
-<glyph horiz-adv-x="989" d="M 496 -423 C 436 -423 383 -411 337 -388 C 291 -365 252 -332 220 -290 C 188 -248 165 -196 149 -136 C 133 -76 125 -8 125 66 C 125 140 133 207 149 268 C 165 329 188 381 220 425 C 252 469 291 502 337 526 C 383 550 436 562 496 562 C 555 562 608 550 654 526 C 700 502 738 469 770 425 C 801 381 825 329 841 268 C 857 207 866 140 866 66 C 866 -8 857 -76 841 -136 C 825 -196 801 -248 770 -290 C 738 -332 700 -365 654 -388 C 608 -411 555 -423 496 -423 Z M 496 -302 C 568 -302 623 -271 661 -209 C 699 -147 719 -55 719 66 C 719 184 699 276 660 340 C 620 404 566 437 496 437 C 421 437 365 404 327 340 C 289 276 270 184 270 66 C 270 -55 289 -147 329 -209 C 369 -271 424 -302 496 -302 Z" unicode="₀" />
-<glyph horiz-adv-x="737" d="M 151 -282 L 325 -282 L 325 400 C 301 390 275 381 245 375 C 215 368 185 365 155 365 L 155 484 C 195 485 230 490 260 499 C 290 508 315 523 335 544 L 474 544 L 474 -282 L 632 -282 L 632 -407 L 151 -407 L 151 -282 Z" unicode="₁" />
-<glyph horiz-adv-x="926" d="M 135 -364 C 135 -330 139 -296 147 -262 C 155 -228 171 -194 194 -160 C 216 -125 247 -89 287 -53 C 327 -17 378 20 442 60 C 476 81 504 100 528 118 C 552 136 571 153 586 171 C 601 188 612 206 619 225 C 625 243 629 264 629 288 C 629 332 615 367 589 394 C 563 421 524 435 473 435 C 429 435 389 422 354 396 C 318 370 286 329 256 271 L 143 341 C 221 489 332 564 477 564 C 525 564 567 557 604 544 C 640 530 671 512 697 488 C 722 464 741 435 754 401 C 767 367 774 330 774 290 C 774 258 770 229 762 202 C 754 174 740 147 721 121 C 701 95 676 69 644 43 C 612 17 573 -10 526 -38 C 453 -83 399 -125 363 -165 C 327 -205 307 -242 301 -276 L 778 -276 L 778 -407 L 135 -407 L 135 -364 Z" unicode="₂" />
-<glyph horiz-adv-x="926" d="M 459 -423 C 385 -423 319 -406 259 -373 C 199 -340 149 -291 111 -227 L 213 -147 C 230 -174 248 -197 268 -216 C 287 -235 307 -250 327 -262 C 347 -273 367 -281 389 -286 C 410 -291 431 -294 453 -294 C 515 -294 563 -279 595 -250 C 627 -220 643 -182 643 -134 C 643 -105 638 -80 629 -58 C 619 -36 604 -17 584 -2 C 564 12 537 23 504 31 C 471 38 431 42 385 42 L 328 42 L 328 154 L 391 154 C 475 154 535 166 571 191 C 607 215 625 252 625 302 C 625 340 612 371 586 397 C 560 422 519 435 463 435 C 382 435 309 396 244 320 L 150 406 C 193 456 241 495 294 523 C 347 550 406 564 471 564 C 523 564 568 557 606 544 C 644 530 676 512 701 489 C 725 466 744 440 756 410 C 768 380 774 348 774 314 C 774 264 761 221 735 183 C 709 145 670 118 616 101 C 680 81 726 52 754 13 C 782 -26 797 -75 797 -134 C 797 -176 789 -215 773 -251 C 757 -286 735 -316 706 -342 C 676 -368 641 -388 599 -402 C 557 -416 511 -423 459 -423 Z" unicode="₃" />
-<glyph horiz-adv-x="920" d="M 545 -186 L 109 -186 L 109 -89 L 535 544 L 690 544 L 690 -61 L 844 -61 L 844 -186 L 690 -186 L 690 -407 L 545 -407 L 545 -186 Z M 549 -67 L 549 359 L 266 -67 L 549 -67 Z" unicode="₄" />
-<glyph horiz-adv-x="889" d="M 432 -423 C 357 -423 292 -407 237 -376 C 182 -345 136 -303 98 -251 L 186 -165 C 215 -206 250 -239 292 -265 C 333 -291 380 -304 432 -304 C 466 -304 497 -298 523 -287 C 549 -275 570 -260 587 -241 C 604 -222 617 -200 626 -175 C 634 -149 639 -123 639 -95 C 639 -61 634 -32 625 -7 C 615 18 602 39 586 57 C 570 74 550 87 527 96 C 504 104 479 109 453 109 C 411 109 375 100 347 84 C 318 68 291 43 266 9 L 152 50 L 186 544 L 727 544 L 717 419 L 305 419 L 285 148 C 303 169 328 187 360 201 C 392 215 433 222 485 222 C 527 222 566 215 602 201 C 638 187 670 166 697 140 C 724 113 745 80 761 41 C 776 2 784 -42 784 -93 C 784 -145 775 -191 759 -232 C 742 -272 718 -307 688 -335 C 657 -363 620 -385 577 -400 C 533 -415 485 -423 432 -423 Z" unicode="₅" />
-<glyph horiz-adv-x="930" d="M 485 -423 C 432 -423 384 -413 340 -394 C 296 -375 258 -346 226 -306 C 194 -266 169 -217 151 -157 C 133 -97 125 -26 125 56 C 125 135 134 206 152 269 C 170 331 196 384 230 428 C 264 471 305 504 353 527 C 401 550 456 562 516 562 C 578 562 633 552 680 534 C 726 515 765 492 795 466 L 723 363 C 707 375 691 385 676 395 C 660 404 644 412 628 418 C 611 424 593 429 575 433 C 557 437 536 439 514 439 C 435 439 375 409 334 351 C 293 293 271 207 268 93 C 283 108 299 122 317 136 C 335 149 354 161 375 171 C 395 181 418 189 442 195 C 466 201 492 204 522 204 C 572 204 616 196 654 182 C 692 168 723 147 749 121 C 775 95 794 63 807 25 C 820 -12 827 -54 827 -100 C 827 -146 819 -189 804 -229 C 788 -268 766 -302 737 -331 C 707 -359 671 -382 629 -398 C 587 -414 539 -423 485 -423 Z M 487 -304 C 547 -304 595 -286 631 -252 C 666 -217 684 -168 684 -104 C 684 -75 680 -49 673 -25 C 665 -1 654 18 639 35 C 623 51 604 64 580 73 C 556 82 527 87 494 87 C 447 87 405 76 369 54 C 332 32 300 3 272 -32 C 276 -78 284 -119 297 -153 C 309 -187 325 -215 344 -237 C 363 -259 385 -276 409 -287 C 433 -298 459 -304 487 -304 Z" unicode="₆" />
-<glyph horiz-adv-x="838" d="M 571 414 L 109 414 L 109 544 L 731 544 L 731 431 L 346 -407 L 193 -407 L 571 414 Z" unicode="₇" />
-<glyph horiz-adv-x="922" d="M 461 -423 C 403 -423 352 -416 308 -404 C 263 -391 225 -373 195 -351 C 164 -328 141 -301 125 -270 C 109 -239 102 -205 102 -169 C 102 -137 107 -108 118 -82 C 128 -56 143 -33 163 -12 C 182 9 205 28 233 46 C 261 63 292 79 326 95 C 297 109 271 123 249 138 C 227 152 208 169 192 187 C 176 205 165 225 157 247 C 149 269 145 294 145 322 C 145 352 152 382 166 411 C 180 440 200 466 227 488 C 253 510 286 528 326 542 C 365 555 410 562 461 562 C 513 562 558 555 597 542 C 636 528 669 510 696 488 C 722 466 742 440 756 411 C 769 382 776 352 776 322 C 776 295 771 271 762 250 C 753 228 740 209 724 191 C 708 173 688 156 665 142 C 642 127 616 113 588 101 C 622 85 654 68 682 50 C 710 32 735 13 755 -8 C 775 -29 791 -53 802 -79 C 813 -105 819 -135 819 -169 C 819 -205 811 -238 795 -269 C 779 -300 755 -327 725 -350 C 694 -372 656 -390 612 -403 C 568 -416 517 -423 461 -423 Z M 459 -315 C 491 -315 520 -311 547 -304 C 573 -296 596 -286 615 -273 C 633 -260 648 -244 658 -226 C 668 -207 674 -186 674 -163 C 674 -140 668 -119 658 -100 C 648 -81 633 -63 613 -47 C 593 -31 568 -15 540 0 C 512 14 480 29 444 44 C 408 28 378 13 353 -2 C 327 -17 307 -33 291 -50 C 275 -66 263 -84 255 -102 C 247 -120 244 -141 244 -163 C 244 -185 249 -206 259 -225 C 269 -243 284 -259 303 -273 C 321 -286 344 -296 371 -304 C 397 -311 427 -315 459 -315 Z M 469 148 C 497 161 522 173 543 185 C 564 197 582 209 596 221 C 610 233 620 247 627 261 C 633 275 637 292 637 312 C 637 328 633 345 626 361 C 619 377 608 392 594 405 C 580 417 562 427 540 435 C 518 443 493 447 463 447 C 433 447 408 443 386 436 C 364 428 345 419 331 407 C 316 395 305 381 298 365 C 290 349 287 332 287 316 C 287 296 290 278 297 264 C 304 249 315 235 330 223 C 344 210 363 198 386 186 C 409 174 437 162 469 148 Z" unicode="₈" />
-<glyph horiz-adv-x="930" d="M 414 -423 C 351 -423 296 -414 250 -396 C 203 -378 165 -355 135 -329 L 207 -229 C 223 -241 238 -251 254 -260 C 269 -269 285 -277 301 -283 C 317 -289 335 -293 354 -297 C 372 -300 393 -302 416 -302 C 494 -302 553 -273 595 -216 C 637 -158 659 -72 662 42 C 646 26 630 12 613 -1 C 595 -14 576 -26 556 -36 C 535 -46 512 -54 488 -60 C 464 -66 437 -69 408 -69 C 358 -69 314 -61 276 -47 C 238 -32 207 -11 181 15 C 155 41 136 73 123 111 C 110 149 104 190 104 236 C 104 282 111 326 127 366 C 142 406 164 440 193 469 C 222 498 258 521 300 537 C 342 553 390 562 444 562 C 496 562 545 552 589 533 C 633 513 672 484 704 444 C 736 404 762 355 780 295 C 798 235 807 164 807 83 C 807 3 797 -67 778 -130 C 758 -192 731 -245 697 -289 C 662 -332 621 -365 573 -388 C 525 -411 472 -423 414 -423 Z M 436 48 C 482 48 523 59 560 81 C 596 103 629 131 657 167 C 653 213 644 254 632 288 C 620 322 604 351 585 374 C 566 396 544 413 520 424 C 496 435 470 441 442 441 C 381 441 333 423 298 387 C 263 351 246 302 246 238 C 246 209 249 183 257 160 C 264 136 275 116 291 100 C 306 83 326 70 350 61 C 374 52 402 48 436 48 Z" unicode="₉" />
-<glyph horiz-adv-x="479" d="" unicode=" " />
-<glyph horiz-adv-x="657" d="M 217 0 L 268 1090 L 383 1090 L 436 0 L 217 0 Z M 221 1305 L 221 1516 L 432 1516 L 432 1305 L 221 1305 Z" unicode="¡" />
-<glyph horiz-adv-x="1102" d="M 350 35 C 313 55 279 82 248 114 C 216 146 189 183 167 225 C 144 267 126 315 113 368 C 100 420 94 478 94 541 C 94 639 108 723 137 794 C 166 864 204 923 251 969 C 298 1015 351 1049 410 1071 C 469 1093 529 1104 590 1104 C 600 1104 609 1104 619 1104 C 628 1104 637 1103 647 1102 L 705 1307 L 815 1307 L 752 1079 C 786 1067 816 1051 844 1032 C 871 1012 895 990 917 966 C 938 942 957 916 973 888 C 989 860 1004 831 1016 801 L 872 739 C 851 791 827 833 800 865 C 773 897 741 920 705 936 L 483 135 C 498 129 514 126 531 124 C 547 122 564 121 582 121 C 616 121 647 125 676 133 C 704 141 731 154 755 172 C 779 190 801 213 822 241 C 842 269 862 302 881 342 L 1020 285 C 998 239 974 198 947 160 C 920 122 889 90 853 63 C 817 35 776 14 730 0 C 684 -15 633 -23 575 -23 C 553 -23 532 -21 511 -18 C 490 -15 470 -11 451 -6 L 379 -264 L 266 -264 L 350 35 Z M 610 956 L 586 956 C 546 956 507 948 469 934 C 431 920 396 896 365 864 C 334 832 309 789 290 736 C 271 683 262 618 262 541 C 262 454 274 381 298 322 C 322 262 355 216 397 182 L 610 956 Z" unicode="¢" />
-<glyph horiz-adv-x="1278" d="M 180 725 L 180 856 L 373 856 C 347 902 325 948 307 996 C 288 1044 279 1096 279 1153 C 279 1209 288 1262 306 1310 C 324 1358 351 1399 386 1434 C 420 1468 462 1495 512 1515 C 562 1534 618 1544 682 1544 C 755 1544 817 1532 868 1510 C 918 1488 960 1459 993 1423 C 1025 1387 1050 1346 1067 1300 C 1084 1254 1096 1207 1102 1159 L 938 1135 C 934 1171 927 1205 917 1237 C 906 1269 891 1296 871 1319 C 851 1342 825 1360 794 1373 C 763 1386 726 1393 682 1393 C 645 1393 612 1387 584 1376 C 556 1364 532 1348 512 1327 C 492 1306 478 1281 468 1252 C 458 1223 453 1191 453 1155 C 453 1128 456 1102 462 1077 C 468 1052 476 1027 486 1003 C 496 978 507 953 520 929 C 532 905 545 880 559 856 L 913 856 L 913 725 L 623 725 C 640 685 654 644 665 600 C 676 556 682 509 682 457 C 682 373 670 300 647 236 C 665 220 684 206 703 192 C 721 178 740 165 760 155 C 779 144 799 135 819 129 C 839 122 861 119 883 119 C 915 119 943 124 966 134 C 988 144 1007 159 1021 181 C 1035 202 1046 229 1054 262 C 1061 295 1066 335 1069 381 L 1229 381 C 1227 324 1221 271 1209 221 C 1197 171 1178 127 1152 90 C 1126 53 1093 24 1052 3 C 1011 -18 961 -29 901 -29 C 868 -29 837 -24 808 -16 C 779 -8 751 2 725 16 C 699 30 674 45 650 63 C 626 81 604 99 582 119 C 546 71 504 34 456 9 C 407 -16 351 -29 289 -29 C 261 -29 233 -24 205 -16 C 177 -7 151 5 129 23 C 107 41 89 63 75 89 C 61 115 55 146 55 182 C 55 217 61 249 73 278 C 85 307 101 332 123 353 C 144 373 170 389 200 401 C 230 412 264 418 301 418 C 342 418 380 410 416 394 C 451 378 485 358 518 336 C 522 366 524 402 524 442 C 524 496 516 547 501 593 C 485 639 467 683 446 725 L 180 725 Z M 479 207 C 449 232 419 254 390 272 C 361 290 331 299 301 299 C 265 299 236 288 216 268 C 196 247 186 220 186 186 C 186 154 196 129 217 111 C 238 93 265 84 297 84 C 381 84 441 125 479 207 Z" unicode="£" />
-<glyph horiz-adv-x="1152" d="M 1056 392 L 940 284 L 740 500 C 692 468 636 452 572 452 C 510 452 456 468 408 500 L 208 284 L 92 392 L 300 608 C 281 634 268 660 262 686 C 255 711 252 742 252 780 C 252 812 255 842 262 870 C 268 898 281 925 300 952 L 92 1168 L 208 1276 L 408 1060 C 456 1092 510 1108 572 1108 C 636 1108 692 1092 740 1060 L 944 1276 L 1060 1156 L 852 952 C 870 925 883 898 890 872 C 896 845 900 814 900 780 C 900 716 882 658 848 608 L 1056 392 Z M 748 780 C 748 833 731 876 698 910 C 664 943 622 960 572 960 C 521 960 480 943 448 910 C 416 876 400 833 400 780 C 400 726 416 684 450 652 C 483 620 524 604 572 604 C 625 604 668 620 700 652 C 732 684 748 726 748 780 Z" unicode="¤" />
-<glyph horiz-adv-x="1288" d="M 553 0 L 553 240 L 166 240 L 166 371 L 553 371 L 553 551 L 166 551 L 166 682 L 547 682 L 49 1516 L 242 1516 L 647 827 L 1051 1516 L 1239 1516 L 737 682 L 1124 682 L 1124 551 L 733 551 L 733 371 L 1124 371 L 1124 240 L 733 240 L 733 0 L 553 0 Z" unicode="¥" />
-<glyph horiz-adv-x="727" d="M 276 678 L 276 1516 L 449 1516 L 449 678 L 276 678 Z M 276 -410 L 276 428 L 449 428 L 449 -410 L 276 -410 Z" unicode="¦" />
-<glyph horiz-adv-x="1106" d="M 553 -410 C 485 -410 427 -402 379 -386 C 331 -370 292 -348 260 -321 C 228 -293 202 -262 184 -226 C 165 -190 151 -153 141 -113 L 285 -63 C 294 -95 305 -124 318 -150 C 331 -176 348 -197 368 -215 C 388 -233 412 -246 441 -256 C 470 -265 505 -270 547 -270 C 585 -270 617 -265 643 -256 C 669 -246 691 -234 707 -218 C 723 -202 735 -183 743 -163 C 750 -142 754 -120 754 -98 C 754 -74 749 -52 741 -32 C 733 -11 719 9 700 30 C 680 51 654 73 622 96 C 590 118 550 144 502 172 C 435 210 377 246 328 278 C 279 310 238 343 206 375 C 174 407 150 440 134 475 C 118 510 111 550 111 596 C 111 636 118 674 134 708 C 149 742 169 773 193 801 C 217 828 243 852 273 873 C 302 894 331 912 360 928 C 324 954 294 978 270 1002 C 246 1025 227 1048 213 1072 C 199 1096 189 1120 183 1145 C 177 1169 174 1196 174 1225 C 174 1266 182 1306 199 1344 C 216 1382 241 1416 273 1446 C 305 1476 345 1499 392 1517 C 439 1535 493 1544 553 1544 C 622 1544 681 1536 730 1520 C 778 1504 819 1482 851 1455 C 883 1428 909 1397 928 1361 C 946 1325 961 1287 971 1247 L 823 1194 C 813 1226 801 1256 787 1282 C 773 1308 755 1331 734 1349 C 712 1367 687 1382 659 1392 C 630 1402 597 1407 559 1407 C 519 1407 486 1402 459 1392 C 431 1382 409 1370 392 1354 C 374 1338 362 1319 354 1298 C 346 1277 342 1255 342 1233 C 342 1209 346 1187 355 1166 C 364 1145 379 1124 400 1103 C 420 1082 447 1060 480 1038 C 513 1015 554 990 602 963 C 668 923 726 888 776 856 C 825 824 866 792 898 760 C 930 728 953 694 969 659 C 985 623 993 583 993 539 C 993 497 985 459 970 425 C 955 391 936 360 912 332 C 888 304 862 280 833 259 C 803 237 774 219 745 205 C 781 179 810 154 833 131 C 856 107 874 84 887 61 C 900 38 909 14 914 -10 C 919 -34 922 -61 922 -90 C 922 -131 914 -171 898 -210 C 882 -248 858 -282 827 -312 C 796 -342 758 -365 712 -383 C 666 -401 613 -410 553 -410 Z M 635 279 C 699 309 749 343 785 383 C 820 422 838 466 838 514 C 838 542 833 567 824 589 C 814 611 797 633 773 657 C 749 681 715 707 673 735 C 631 763 576 796 510 836 C 502 839 495 842 488 846 C 481 849 475 852 469 856 C 407 827 358 793 322 753 C 286 713 268 669 268 621 C 268 593 272 568 282 546 C 291 524 308 501 332 477 C 356 453 390 428 432 400 C 474 372 529 338 596 299 C 603 295 610 292 617 289 C 623 285 629 282 635 279 Z" unicode="§" />
-<glyph horiz-adv-x="1044" d="M 616 1194 L 616 1386 L 799 1386 L 799 1194 L 616 1194 Z M 244 1194 L 244 1386 L 424 1386 L 424 1194 L 244 1194 Z" unicode="¨" />
-<glyph horiz-adv-x="1769" d="M 885 -29 C 811 -29 741 -19 674 -1 C 606 17 544 43 486 77 C 428 111 375 151 328 199 C 280 247 240 300 207 358 C 173 416 147 478 129 546 C 111 613 102 683 102 756 C 102 828 111 898 129 966 C 147 1033 173 1096 207 1155 C 241 1213 281 1266 329 1314 C 376 1362 429 1403 487 1437 C 545 1471 608 1497 676 1516 C 743 1534 813 1544 887 1544 C 959 1544 1029 1534 1096 1516 C 1162 1497 1225 1471 1283 1437 C 1341 1403 1393 1363 1440 1315 C 1487 1267 1527 1215 1561 1157 C 1595 1099 1621 1036 1639 969 C 1657 902 1667 832 1667 760 C 1667 687 1657 617 1639 549 C 1621 481 1595 418 1561 360 C 1527 302 1487 249 1439 201 C 1391 153 1339 112 1281 78 C 1223 44 1161 17 1094 -1 C 1027 -19 957 -29 885 -29 Z M 887 66 C 982 66 1071 84 1153 120 C 1235 156 1307 205 1368 267 C 1429 329 1477 402 1512 486 C 1547 570 1565 660 1565 756 C 1565 820 1557 881 1541 941 C 1525 1000 1502 1055 1473 1107 C 1444 1158 1409 1205 1368 1247 C 1326 1289 1280 1326 1230 1356 C 1180 1386 1125 1409 1067 1425 C 1009 1441 948 1450 885 1450 C 789 1450 699 1432 617 1396 C 534 1360 462 1310 401 1248 C 340 1186 292 1113 257 1029 C 222 945 205 856 205 760 C 205 696 213 634 229 575 C 245 515 267 460 297 409 C 326 357 361 310 402 268 C 443 226 489 190 540 160 C 590 130 645 106 703 90 C 761 74 823 66 887 66 Z M 881 317 C 827 317 777 327 733 349 C 688 370 650 400 619 440 C 587 480 563 527 546 583 C 528 639 520 701 520 770 C 520 835 528 895 545 950 C 561 1004 585 1051 617 1090 C 649 1129 687 1159 732 1181 C 776 1203 827 1214 883 1214 C 927 1214 967 1207 1002 1195 C 1037 1183 1068 1165 1094 1142 C 1120 1118 1143 1090 1161 1056 C 1179 1022 1193 984 1204 942 L 1094 913 C 1084 945 1073 973 1061 997 C 1049 1021 1034 1042 1018 1059 C 1001 1075 981 1088 959 1097 C 937 1105 911 1110 883 1110 C 846 1110 813 1101 784 1085 C 754 1069 729 1046 708 1016 C 687 986 671 950 660 908 C 648 866 643 820 643 770 C 643 716 648 668 659 626 C 670 584 686 548 707 518 C 728 488 754 466 784 450 C 814 434 847 426 885 426 C 941 426 987 443 1023 478 C 1058 512 1084 565 1102 635 C 1121 629 1139 624 1155 620 C 1168 616 1181 613 1193 610 C 1205 607 1213 606 1217 606 C 1193 516 1153 445 1098 394 C 1043 342 971 317 881 317 Z" unicode="©" />
-<glyph horiz-adv-x="862" d="M 322 752 C 253 752 199 768 159 802 C 119 836 100 884 100 946 C 100 984 108 1020 126 1053 C 144 1086 172 1116 212 1143 C 252 1169 304 1192 368 1212 C 432 1232 512 1248 606 1262 L 606 1294 C 606 1338 594 1372 571 1396 C 548 1420 514 1432 469 1432 C 412 1432 362 1422 320 1402 C 278 1382 237 1355 199 1319 L 123 1395 C 145 1417 169 1437 194 1455 C 219 1473 246 1488 275 1500 C 304 1512 336 1522 370 1529 C 404 1536 441 1540 483 1540 C 572 1540 637 1517 679 1473 C 720 1428 741 1366 741 1286 L 741 956 C 741 912 743 875 747 846 C 751 816 758 790 768 768 L 625 768 C 614 800 608 834 606 870 C 564 833 520 804 473 783 C 426 762 376 752 322 752 Z M 356 862 C 406 862 452 872 493 892 C 534 912 572 939 606 971 L 606 1176 C 532 1164 471 1151 423 1136 C 375 1121 337 1105 309 1087 C 281 1069 262 1049 252 1029 C 241 1009 236 987 236 965 C 236 931 246 905 268 888 C 290 870 319 862 356 862 Z" unicode="ª" />
-<glyph horiz-adv-x="1110" d="M 393 0 L 84 543 L 393 1081 L 571 1081 L 270 543 L 571 0 L 393 0 Z M 825 0 L 512 543 L 825 1081 L 1001 1081 L 696 543 L 1001 0 L 825 0 Z" unicode="«" />
-<glyph horiz-adv-x="1536" d="M 1116 352 L 1116 728 L 212 728 L 212 920 L 1296 920 L 1296 352 L 1116 352 Z" unicode="¬" />
-<glyph horiz-adv-x="731" d="M 127 573 L 127 713 L 604 713 L 604 573 L 127 573 Z" unicode="­" />
-<glyph horiz-adv-x="1114" d="M 557 596 C 491 596 429 608 371 633 C 313 657 263 691 221 734 C 179 777 145 828 121 886 C 96 944 84 1006 84 1073 C 84 1139 96 1202 121 1260 C 145 1318 179 1368 222 1411 C 264 1454 314 1488 372 1513 C 430 1537 492 1550 559 1550 C 625 1550 686 1537 744 1513 C 801 1488 851 1454 893 1411 C 935 1368 969 1318 993 1260 C 1017 1202 1030 1141 1030 1075 C 1030 1007 1017 945 993 887 C 969 829 935 778 893 735 C 850 691 800 657 743 633 C 685 608 623 596 557 596 Z M 559 664 C 615 664 667 674 717 695 C 766 716 809 745 845 782 C 881 819 910 862 931 912 C 952 962 963 1015 963 1073 C 963 1129 952 1183 931 1233 C 910 1283 881 1326 845 1364 C 808 1401 765 1430 716 1452 C 666 1474 613 1485 557 1485 C 501 1485 448 1474 399 1453 C 350 1431 307 1402 271 1365 C 235 1328 206 1285 185 1235 C 164 1185 154 1131 154 1075 C 154 1017 164 964 185 914 C 206 864 235 820 271 783 C 307 746 350 717 400 696 C 449 674 502 664 559 664 Z M 381 1346 L 567 1346 C 627 1346 674 1333 707 1307 C 739 1281 756 1243 756 1194 C 756 1152 746 1119 726 1097 C 706 1074 679 1058 645 1049 L 770 819 L 682 819 L 563 1038 L 463 1038 L 463 819 L 381 819 L 381 1346 Z M 563 1106 C 598 1106 626 1112 646 1124 C 666 1136 676 1158 676 1190 C 676 1220 665 1241 645 1253 C 625 1265 597 1272 561 1272 L 463 1272 L 463 1106 L 563 1106 Z" unicode="®" />
-<glyph horiz-adv-x="1024" d="M 236 1194 L 236 1335 L 788 1335 L 788 1194 L 236 1194 Z" unicode="¯" />
-<glyph horiz-adv-x="829" d="M 416 954 C 372 954 332 961 296 976 C 260 990 228 1011 202 1037 C 175 1063 154 1095 139 1131 C 124 1167 117 1206 117 1249 C 117 1291 124 1330 139 1366 C 154 1402 175 1433 202 1459 C 228 1485 260 1505 296 1520 C 332 1534 372 1542 416 1542 C 458 1542 498 1534 534 1520 C 570 1505 601 1485 628 1459 C 654 1433 675 1402 690 1366 C 705 1330 713 1291 713 1249 C 713 1206 705 1167 690 1131 C 675 1095 654 1063 628 1037 C 601 1011 570 990 534 976 C 498 961 458 954 416 954 Z M 416 1059 C 441 1059 464 1063 486 1073 C 508 1082 527 1095 543 1112 C 559 1128 571 1148 580 1172 C 589 1195 594 1221 594 1249 C 594 1277 589 1302 580 1326 C 571 1349 559 1369 543 1386 C 527 1402 508 1415 486 1424 C 464 1433 441 1438 416 1438 C 390 1438 366 1433 344 1424 C 322 1415 303 1402 287 1386 C 271 1369 258 1349 249 1326 C 240 1302 236 1277 236 1249 C 236 1221 240 1195 249 1172 C 258 1148 271 1128 287 1112 C 303 1095 322 1082 344 1073 C 366 1063 390 1059 416 1059 Z" unicode="°" />
-<glyph horiz-adv-x="1307" d="M 135 229 L 580 229 L 580 655 L 135 655 L 135 801 L 580 801 L 580 1251 L 729 1251 L 729 801 L 1174 801 L 1174 655 L 729 655 L 729 229 L 1174 229 L 1174 90 L 135 90 L 135 229 Z" unicode="±" />
-<glyph horiz-adv-x="926" d="M 135 608 C 135 642 139 675 147 709 C 155 743 171 777 194 812 C 216 846 247 882 287 918 C 327 954 378 992 442 1032 C 476 1053 504 1072 528 1090 C 552 1108 571 1125 586 1143 C 601 1160 612 1178 619 1197 C 625 1215 629 1236 629 1260 C 629 1304 615 1339 589 1366 C 563 1393 524 1407 473 1407 C 429 1407 389 1394 354 1368 C 318 1342 286 1301 256 1243 L 143 1313 C 221 1461 332 1536 477 1536 C 525 1536 567 1529 604 1516 C 640 1502 671 1484 697 1460 C 722 1436 741 1407 754 1373 C 767 1339 774 1302 774 1262 C 774 1230 770 1201 762 1174 C 754 1146 740 1119 721 1093 C 701 1067 676 1041 644 1015 C 612 989 573 962 526 934 C 453 888 399 846 363 806 C 327 766 307 730 301 696 L 778 696 L 778 565 L 135 565 L 135 608 Z" unicode="²" />
-<glyph horiz-adv-x="926" d="M 459 549 C 385 549 319 565 259 598 C 199 631 149 680 111 745 L 213 825 C 230 797 248 774 268 755 C 287 736 307 721 327 710 C 347 698 367 690 389 685 C 410 680 431 678 453 678 C 515 678 563 692 595 722 C 627 751 643 790 643 838 C 643 866 638 892 629 914 C 619 936 604 954 584 969 C 564 984 537 995 504 1003 C 471 1010 431 1014 385 1014 L 328 1014 L 328 1126 L 391 1126 C 475 1126 535 1138 571 1163 C 607 1187 625 1224 625 1274 C 625 1312 612 1343 586 1369 C 560 1394 519 1407 463 1407 C 382 1407 309 1368 244 1292 L 150 1378 C 193 1428 241 1467 294 1495 C 347 1522 406 1536 471 1536 C 523 1536 568 1529 606 1516 C 644 1502 676 1484 701 1461 C 725 1438 744 1412 756 1382 C 768 1352 774 1320 774 1286 C 774 1236 761 1193 735 1155 C 709 1117 670 1090 616 1073 C 680 1053 726 1024 754 985 C 782 945 797 896 797 838 C 797 795 789 756 773 721 C 757 685 735 655 706 629 C 676 603 641 584 599 570 C 557 556 511 549 459 549 Z" unicode="³" />
-<glyph horiz-adv-x="1024" d="M 338 1198 L 530 1522 L 745 1522 L 455 1198 L 338 1198 Z" unicode="´" />
-<glyph horiz-adv-x="1214" d="M 156 -410 L 156 1081 L 332 1081 L 332 338 C 332 267 347 214 379 178 C 411 142 462 125 532 125 C 596 125 657 140 713 172 C 769 203 825 245 883 299 L 883 1081 L 1059 1081 L 1059 0 L 883 0 L 883 174 C 858 150 832 127 805 105 C 777 83 749 63 719 46 C 689 29 657 15 624 5 C 591 -5 556 -12 520 -14 C 480 -15 444 -12 413 -4 C 381 4 354 20 332 45 L 332 -410 L 156 -410 Z" unicode="µ" />
-<glyph horiz-adv-x="1276" d="M 616 -410 L 616 682 C 455 684 332 720 247 790 C 161 859 119 961 119 1096 C 119 1155 129 1210 149 1261 C 169 1312 199 1356 239 1394 C 279 1432 328 1461 386 1483 C 444 1505 512 1516 588 1516 L 1102 1516 L 1102 -410 L 963 -410 L 963 1372 L 758 1372 L 758 -410 L 616 -410 Z" unicode="¶" />
-<glyph horiz-adv-x="559" d="M 172 551 L 172 766 L 387 766 L 387 551 L 172 551 Z" unicode="·" />
-<glyph horiz-adv-x="1024" d="M 518 -401 C 468 -401 421 -394 377 -382 C 332 -369 292 -351 256 -328 L 297 -260 C 327 -280 360 -296 396 -306 C 431 -316 466 -322 502 -322 C 551 -322 587 -313 609 -297 C 631 -281 643 -258 643 -229 C 643 -183 615 -160 561 -160 C 539 -160 520 -164 504 -172 C 488 -180 473 -189 459 -201 L 395 -170 L 449 0 L 545 0 L 514 -106 C 528 -96 545 -89 564 -84 C 582 -78 604 -76 629 -76 C 647 -76 665 -79 683 -85 C 701 -91 716 -99 730 -111 C 743 -123 754 -137 762 -155 C 770 -172 774 -192 774 -215 C 774 -247 767 -274 754 -298 C 740 -322 722 -341 699 -356 C 675 -371 648 -382 617 -390 C 586 -397 553 -401 518 -401 Z" unicode="¸" />
-<glyph horiz-adv-x="729" d="M 156 690 L 330 690 L 330 1372 C 306 1362 280 1353 250 1347 C 220 1340 190 1337 160 1337 L 160 1456 C 200 1457 235 1462 265 1471 C 295 1480 320 1495 340 1516 L 479 1516 L 479 690 L 637 690 L 637 565 L 156 565 L 156 690 Z" unicode="¹" />
-<glyph horiz-adv-x="893" d="M 446 752 C 398 752 353 760 310 777 C 267 793 229 818 196 851 C 163 883 137 924 117 973 C 97 1022 88 1079 88 1145 C 88 1211 97 1269 117 1319 C 137 1368 163 1409 196 1442 C 229 1474 267 1499 310 1515 C 353 1531 398 1540 446 1540 C 493 1540 538 1531 582 1515 C 625 1499 663 1474 696 1442 C 729 1409 755 1368 775 1319 C 795 1269 805 1211 805 1145 C 805 1079 795 1022 775 973 C 755 924 729 883 696 851 C 663 818 625 793 582 777 C 538 760 493 752 446 752 Z M 446 860 C 481 860 512 867 540 882 C 568 896 591 916 610 942 C 629 967 643 997 653 1032 C 663 1067 668 1105 668 1147 C 668 1185 663 1221 654 1255 C 645 1289 631 1320 613 1347 C 595 1373 572 1394 544 1410 C 516 1426 483 1434 446 1434 C 410 1434 379 1426 352 1412 C 324 1397 301 1377 282 1352 C 263 1326 249 1296 239 1261 C 229 1225 225 1187 225 1147 C 225 1108 229 1071 238 1037 C 247 1002 261 971 279 945 C 297 919 319 898 347 883 C 375 867 408 860 446 860 Z" unicode="º" />
-<glyph horiz-adv-x="1110" d="M 109 0 L 412 543 L 109 1081 L 287 1081 L 598 543 L 287 0 L 109 0 Z M 539 0 L 842 543 L 539 1081 L 715 1081 L 1026 543 L 715 0 L 539 0 Z" unicode="»" />
-<glyph horiz-adv-x="1962" d="M 190 692 L 360 692 L 360 1356 C 337 1346 311 1339 283 1334 C 254 1329 225 1327 195 1327 L 195 1456 C 238 1457 274 1462 304 1471 C 333 1480 357 1495 377 1516 L 510 1516 L 510 692 L 664 692 L 664 565 L 190 565 L 190 692 Z M 1538 223 L 1102 223 L 1102 322 L 1526 954 L 1688 954 L 1688 350 L 1841 350 L 1841 223 L 1688 223 L 1688 0 L 1538 0 L 1538 223 Z M 1378 1516 L 1538 1516 L 631 0 L 471 0 L 1378 1516 Z M 1544 344 L 1544 770 L 1262 344 L 1544 344 Z" unicode="¼" />
-<glyph horiz-adv-x="2038" d="M 1245 43 C 1245 77 1249 110 1258 144 C 1266 178 1282 212 1305 246 C 1328 280 1360 316 1400 352 C 1440 388 1491 427 1554 467 C 1585 487 1612 506 1635 524 C 1658 541 1677 558 1692 576 C 1707 594 1718 612 1726 631 C 1733 649 1737 670 1737 694 C 1737 738 1723 773 1697 801 C 1671 828 1633 842 1583 842 C 1539 842 1499 829 1464 803 C 1428 777 1396 736 1366 678 L 1253 748 C 1331 896 1442 971 1587 971 C 1633 971 1675 964 1712 951 C 1748 937 1779 919 1805 895 C 1831 871 1850 842 1864 808 C 1877 774 1884 736 1884 696 C 1884 664 1880 635 1872 608 C 1864 580 1850 554 1831 528 C 1812 502 1787 476 1755 450 C 1723 424 1684 397 1638 369 C 1567 325 1513 282 1477 242 C 1441 202 1420 165 1415 131 L 1890 131 L 1890 0 L 1245 0 L 1245 43 Z M 1378 1516 L 1538 1516 L 631 0 L 471 0 L 1378 1516 Z M 190 692 L 360 692 L 360 1356 C 337 1346 311 1339 283 1334 C 254 1329 225 1327 195 1327 L 195 1456 C 238 1457 274 1462 304 1471 C 333 1480 357 1495 377 1516 L 510 1516 L 510 692 L 664 692 L 664 565 L 190 565 L 190 692 Z" unicode="½" />
-<glyph horiz-adv-x="2021" d="M 459 549 C 385 549 319 565 259 598 C 199 631 149 680 111 745 L 213 825 C 230 797 248 774 268 755 C 287 736 307 721 327 710 C 347 698 367 690 389 685 C 410 680 431 678 453 678 C 515 678 563 692 595 722 C 627 751 643 790 643 838 C 643 866 638 892 629 914 C 619 936 604 954 584 969 C 564 984 537 995 504 1003 C 471 1010 431 1014 385 1014 L 328 1014 L 328 1126 L 391 1126 C 475 1126 535 1138 571 1163 C 607 1187 625 1224 625 1274 C 625 1312 612 1343 586 1369 C 560 1394 519 1407 463 1407 C 382 1407 309 1368 244 1292 L 150 1378 C 193 1428 241 1467 294 1495 C 347 1522 406 1536 471 1536 C 523 1536 568 1529 606 1516 C 644 1502 676 1484 701 1461 C 725 1438 744 1412 756 1382 C 768 1352 774 1320 774 1286 C 774 1236 761 1193 735 1155 C 709 1117 670 1090 616 1073 C 680 1053 726 1024 754 985 C 782 945 797 896 797 838 C 797 795 789 756 773 721 C 757 685 735 655 706 629 C 676 603 641 584 599 570 C 557 556 511 549 459 549 Z M 1597 223 L 1161 223 L 1161 322 L 1585 954 L 1747 954 L 1747 350 L 1901 350 L 1901 223 L 1747 223 L 1747 0 L 1597 0 L 1597 223 Z M 1438 1516 L 1597 1516 L 692 0 L 532 0 L 1438 1516 Z M 1604 344 L 1604 770 L 1321 344 L 1604 344 Z" unicode="¾" />
-<glyph horiz-adv-x="1124" d="M 551 -29 C 481 -29 418 -19 363 -1 C 307 16 260 42 222 75 C 183 107 153 146 133 192 C 112 238 102 288 102 342 C 102 391 108 434 122 471 C 135 508 153 541 177 570 C 200 599 227 625 259 648 C 290 671 324 693 360 715 C 404 739 438 762 463 784 C 487 806 506 830 518 857 C 530 884 537 916 540 953 C 543 990 545 1036 545 1092 L 688 1092 C 692 1048 694 1002 694 954 C 694 918 690 885 683 855 C 675 825 664 797 649 772 C 633 747 614 724 590 702 C 566 680 538 660 506 641 C 466 617 433 596 405 576 C 377 556 353 536 335 515 C 316 493 302 470 294 444 C 285 418 281 388 281 352 C 281 318 287 287 300 260 C 313 232 332 209 356 190 C 380 171 409 156 444 146 C 479 136 519 131 563 131 C 605 131 643 136 679 146 C 714 156 747 169 777 187 C 807 205 834 226 859 250 C 883 274 906 300 928 328 L 1049 227 C 1020 191 989 157 956 126 C 922 94 885 67 845 44 C 804 21 759 3 711 -9 C 663 -22 609 -29 551 -29 Z M 512 1305 L 512 1516 L 721 1516 L 721 1305 L 512 1305 Z" unicode="¿" />
-<glyph horiz-adv-x="1393" d="M 66 0 L 602 1522 L 791 1522 L 1327 0 L 1141 0 L 991 434 L 389 434 L 240 0 L 66 0 Z M 444 592 L 936 592 L 694 1303 L 690 1303 L 444 592 Z M 643 1612 L 353 1936 L 568 1936 L 760 1612 L 643 1612 Z" unicode="À" />
-<glyph horiz-adv-x="1393" d="M 66 0 L 602 1522 L 791 1522 L 1327 0 L 1141 0 L 991 434 L 389 434 L 240 0 L 66 0 Z M 444 592 L 936 592 L 694 1303 L 690 1303 L 444 592 Z M 633 1612 L 825 1936 L 1040 1936 L 750 1612 L 633 1612 Z" unicode="Á" />
-<glyph horiz-adv-x="1393" d="M 66 0 L 602 1522 L 791 1522 L 1327 0 L 1141 0 L 991 434 L 389 434 L 240 0 L 66 0 Z M 444 592 L 936 592 L 694 1303 L 690 1303 L 444 592 Z M 365 1606 L 629 1936 L 758 1936 L 1022 1606 L 916 1606 L 692 1798 L 471 1606 L 365 1606 Z" unicode="Â" />
-<glyph horiz-adv-x="1393" d="M 66 0 L 602 1522 L 791 1522 L 1327 0 L 1141 0 L 991 434 L 389 434 L 240 0 L 66 0 Z M 444 592 L 936 592 L 694 1303 L 690 1303 L 444 592 Z M 848 1602 C 818 1602 789 1608 762 1620 C 734 1632 708 1645 684 1659 C 660 1673 636 1687 614 1699 C 591 1711 569 1717 549 1717 C 519 1717 497 1708 484 1691 C 471 1674 465 1646 465 1606 L 356 1606 C 356 1691 372 1753 405 1792 C 437 1830 484 1850 545 1850 C 575 1850 603 1844 630 1832 C 657 1820 683 1806 708 1792 C 732 1778 756 1765 779 1753 C 802 1741 824 1735 846 1735 C 874 1735 895 1743 909 1760 C 923 1777 930 1806 930 1846 L 1034 1846 C 1034 1761 1018 1699 986 1660 C 954 1621 908 1602 848 1602 Z" unicode="Ã" />
-<glyph horiz-adv-x="1393" d="M 66 0 L 602 1522 L 791 1522 L 1327 0 L 1141 0 L 991 434 L 389 434 L 240 0 L 66 0 Z M 444 592 L 936 592 L 694 1303 L 690 1303 L 444 592 Z M 788 1608 L 788 1800 L 971 1800 L 971 1608 L 788 1608 Z M 416 1608 L 416 1800 L 596 1800 L 596 1608 L 416 1608 Z" unicode="Ä" />
-<glyph horiz-adv-x="1393" d="M 1327 0 L 1141 0 L 991 434 L 389 434 L 240 0 L 66 0 L 586 1477 C 560 1493 540 1515 525 1543 C 509 1571 502 1603 502 1638 C 502 1665 506 1690 516 1714 C 526 1737 539 1757 557 1774 C 574 1791 594 1804 618 1814 C 642 1824 668 1829 696 1829 C 724 1829 750 1824 774 1814 C 798 1804 818 1791 836 1774 C 853 1757 866 1737 876 1714 C 886 1690 891 1665 891 1638 C 891 1603 883 1571 868 1543 C 852 1515 832 1493 807 1477 L 1327 0 Z M 444 592 L 936 592 L 694 1303 L 690 1303 L 444 592 Z M 696 1526 C 727 1526 753 1536 773 1557 C 793 1578 803 1605 803 1638 C 803 1670 793 1696 773 1717 C 753 1738 727 1749 696 1749 C 665 1749 640 1738 620 1717 C 600 1696 590 1670 590 1638 C 590 1605 600 1578 620 1557 C 640 1536 665 1526 696 1526 Z" unicode="Å" />
-<glyph horiz-adv-x="2068" d="M 51 0 L 913 1516 L 1935 1516 L 1935 1350 L 1188 1350 L 1188 877 L 1743 877 L 1743 715 L 1188 715 L 1188 164 L 1978 164 L 1978 0 L 1010 0 L 1010 467 L 498 467 L 233 0 L 51 0 Z M 588 627 L 1010 627 L 1010 1368 L 1008 1368 L 588 627 Z" unicode="Æ" />
-<glyph horiz-adv-x="1444" d="M 758 -401 C 708 -401 660 -394 615 -382 C 570 -369 530 -351 494 -328 L 537 -260 C 567 -280 600 -296 635 -306 C 669 -316 704 -322 739 -322 C 789 -322 825 -313 847 -297 C 869 -281 881 -258 881 -229 C 881 -183 853 -160 799 -160 C 778 -160 759 -164 743 -172 C 726 -180 710 -189 696 -201 L 635 -170 L 678 -25 C 592 -15 515 9 445 49 C 375 89 316 144 267 212 C 217 280 179 360 153 453 C 126 546 113 650 113 764 C 113 881 128 988 160 1084 C 191 1180 235 1262 292 1330 C 348 1398 416 1450 495 1488 C 574 1525 661 1544 756 1544 C 836 1544 907 1532 969 1510 C 1031 1488 1084 1456 1130 1416 C 1176 1375 1214 1326 1245 1269 C 1275 1212 1299 1149 1317 1079 L 1145 1032 C 1128 1089 1109 1140 1087 1185 C 1065 1229 1038 1267 1007 1297 C 976 1327 940 1351 899 1367 C 857 1383 809 1391 754 1391 C 683 1391 619 1376 563 1346 C 506 1316 458 1273 418 1219 C 378 1164 348 1098 327 1022 C 305 945 295 860 295 766 C 295 666 305 576 327 496 C 349 416 380 349 420 294 C 460 238 509 196 566 167 C 623 137 687 123 758 123 C 866 123 953 155 1020 219 C 1087 283 1137 378 1169 502 L 1339 463 C 1321 389 1296 322 1264 262 C 1232 202 1192 151 1145 109 C 1098 67 1044 34 982 10 C 920 -14 852 -27 776 -29 L 752 -106 C 766 -96 782 -89 801 -84 C 819 -78 841 -76 866 -76 C 885 -76 903 -79 921 -85 C 939 -91 954 -99 968 -111 C 981 -123 992 -137 1000 -155 C 1008 -172 1012 -192 1012 -215 C 1012 -247 1005 -274 992 -298 C 978 -322 960 -341 937 -356 C 914 -371 887 -382 856 -390 C 825 -397 792 -401 758 -401 Z" unicode="Ç" />
-<glyph horiz-adv-x="1247" d="M 186 0 L 186 1516 L 1116 1516 L 1116 1350 L 367 1350 L 367 877 L 924 877 L 924 715 L 367 715 L 367 164 L 1159 164 L 1159 0 L 186 0 Z M 639 1612 L 349 1936 L 564 1936 L 756 1612 L 639 1612 Z" unicode="È" />
-<glyph horiz-adv-x="1247" d="M 186 0 L 186 1516 L 1116 1516 L 1116 1350 L 367 1350 L 367 877 L 924 877 L 924 715 L 367 715 L 367 164 L 1159 164 L 1159 0 L 186 0 Z M 545 1612 L 737 1936 L 952 1936 L 662 1612 L 545 1612 Z" unicode="É" />
-<glyph horiz-adv-x="1247" d="M 186 0 L 186 1516 L 1116 1516 L 1116 1350 L 367 1350 L 367 877 L 924 877 L 924 715 L 367 715 L 367 164 L 1159 164 L 1159 0 L 186 0 Z M 320 1606 L 584 1936 L 713 1936 L 977 1606 L 871 1606 L 647 1798 L 426 1606 L 320 1606 Z" unicode="Ê" />
-<glyph horiz-adv-x="1247" d="M 186 0 L 186 1516 L 1116 1516 L 1116 1350 L 367 1350 L 367 877 L 924 877 L 924 715 L 367 715 L 367 164 L 1159 164 L 1159 0 L 186 0 Z M 753 1608 L 753 1800 L 936 1800 L 936 1608 L 753 1608 Z M 381 1608 L 381 1800 L 561 1800 L 561 1608 L 381 1608 Z" unicode="Ë" />
-<glyph horiz-adv-x="594" d="M 207 0 L 207 1516 L 387 1516 L 387 0 L 207 0 Z M 257 1612 L -33 1936 L 182 1936 L 374 1612 L 257 1612 Z" unicode="Ì" />
-<glyph horiz-adv-x="594" d="M 207 0 L 207 1516 L 387 1516 L 387 0 L 207 0 Z M 239 1612 L 431 1936 L 646 1936 L 356 1612 L 239 1612 Z" unicode="Í" />
-<glyph horiz-adv-x="594" d="M 207 0 L 207 1516 L 387 1516 L 387 0 L 207 0 Z M -31 1606 L 233 1936 L 362 1936 L 626 1606 L 520 1606 L 296 1798 L 75 1606 L -31 1606 Z" unicode="Î" />
-<glyph horiz-adv-x="594" d="M 207 0 L 207 1516 L 387 1516 L 387 0 L 207 0 Z M 392 1608 L 392 1800 L 575 1800 L 575 1608 L 392 1608 Z M 20 1608 L 20 1800 L 200 1800 L 200 1608 L 20 1608 Z" unicode="Ï" />
-<glyph horiz-adv-x="1464" d="M 186 0 L 186 721 L 23 721 L 23 868 L 186 868 L 186 1516 L 586 1516 C 708 1516 816 1500 911 1469 C 1005 1438 1085 1391 1150 1329 C 1215 1266 1265 1187 1299 1092 C 1333 997 1350 886 1350 758 C 1350 630 1332 519 1298 425 C 1264 330 1214 251 1148 188 C 1082 125 1002 78 908 47 C 813 15 706 0 586 0 L 186 0 Z M 367 162 L 608 162 C 700 162 780 173 850 196 C 920 219 978 255 1026 304 C 1073 352 1109 414 1133 490 C 1157 566 1169 656 1169 762 C 1169 864 1156 952 1132 1026 C 1108 1100 1072 1161 1025 1209 C 977 1257 918 1292 848 1315 C 777 1338 696 1350 604 1350 L 367 1350 L 367 868 L 690 868 L 690 721 L 367 721 L 367 162 Z" unicode="Ð" />
-<glyph horiz-adv-x="1534" d="M 186 0 L 186 1516 L 377 1516 L 1174 317 L 1178 317 L 1178 1516 L 1348 1516 L 1348 0 L 1186 0 L 360 1231 L 356 1231 L 356 0 L 186 0 Z M 936 1602 C 906 1602 877 1608 850 1620 C 822 1632 796 1645 772 1659 C 748 1673 724 1687 702 1699 C 679 1711 657 1717 637 1717 C 607 1717 585 1708 572 1691 C 559 1674 553 1646 553 1606 L 444 1606 C 444 1691 460 1753 493 1792 C 525 1830 572 1850 633 1850 C 663 1850 691 1844 718 1832 C 745 1820 771 1806 796 1792 C 820 1778 844 1765 867 1753 C 890 1741 912 1735 934 1735 C 962 1735 983 1743 997 1760 C 1011 1777 1018 1806 1018 1846 L 1122 1846 C 1122 1761 1106 1699 1074 1660 C 1042 1621 996 1602 936 1602 Z" unicode="Ñ" />
-<glyph horiz-adv-x="1534" d="M 768 -29 C 674 -29 587 -10 507 25 C 427 61 358 113 300 181 C 241 249 195 331 162 429 C 129 526 113 636 113 758 C 113 880 129 989 162 1086 C 195 1183 241 1265 300 1333 C 358 1401 427 1453 507 1489 C 587 1525 674 1544 768 1544 C 862 1544 948 1525 1028 1489 C 1107 1453 1176 1401 1234 1333 C 1292 1265 1337 1183 1370 1086 C 1402 989 1419 880 1419 758 C 1419 636 1402 526 1370 429 C 1337 331 1292 249 1234 181 C 1176 113 1107 61 1028 25 C 948 -10 862 -29 768 -29 Z M 768 133 C 836 133 899 147 957 175 C 1015 203 1064 243 1106 297 C 1148 350 1180 415 1204 493 C 1227 570 1239 658 1239 758 C 1239 856 1227 944 1204 1022 C 1180 1099 1148 1164 1106 1217 C 1064 1270 1015 1310 957 1338 C 899 1366 836 1380 768 1380 C 698 1380 634 1366 576 1338 C 518 1310 468 1270 426 1217 C 384 1164 352 1099 329 1022 C 306 944 295 856 295 758 C 295 658 306 570 329 493 C 352 415 384 350 426 297 C 468 243 518 203 576 175 C 634 147 698 133 768 133 Z M 733 1612 L 443 1936 L 658 1936 L 850 1612 L 733 1612 Z" unicode="Ò" />
-<glyph horiz-adv-x="1534" d="M 768 -29 C 674 -29 587 -10 507 25 C 427 61 358 113 300 181 C 241 249 195 331 162 429 C 129 526 113 636 113 758 C 113 880 129 989 162 1086 C 195 1183 241 1265 300 1333 C 358 1401 427 1453 507 1489 C 587 1525 674 1544 768 1544 C 862 1544 948 1525 1028 1489 C 1107 1453 1176 1401 1234 1333 C 1292 1265 1337 1183 1370 1086 C 1402 989 1419 880 1419 758 C 1419 636 1402 526 1370 429 C 1337 331 1292 249 1234 181 C 1176 113 1107 61 1028 25 C 948 -10 862 -29 768 -29 Z M 768 133 C 836 133 899 147 957 175 C 1015 203 1064 243 1106 297 C 1148 350 1180 415 1204 493 C 1227 570 1239 658 1239 758 C 1239 856 1227 944 1204 1022 C 1180 1099 1148 1164 1106 1217 C 1064 1270 1015 1310 957 1338 C 899 1366 836 1380 768 1380 C 698 1380 634 1366 576 1338 C 518 1310 468 1270 426 1217 C 384 1164 352 1099 329 1022 C 306 944 295 856 295 758 C 295 658 306 570 329 493 C 352 415 384 350 426 297 C 468 243 518 203 576 175 C 634 147 698 133 768 133 Z M 674 1612 L 866 1936 L 1081 1936 L 791 1612 L 674 1612 Z" unicode="Ó" />
-<glyph horiz-adv-x="1534" d="M 768 -29 C 674 -29 587 -10 507 25 C 427 61 358 113 300 181 C 241 249 195 331 162 429 C 129 526 113 636 113 758 C 113 880 129 989 162 1086 C 195 1183 241 1265 300 1333 C 358 1401 427 1453 507 1489 C 587 1525 674 1544 768 1544 C 862 1544 948 1525 1028 1489 C 1107 1453 1176 1401 1234 1333 C 1292 1265 1337 1183 1370 1086 C 1402 989 1419 880 1419 758 C 1419 636 1402 526 1370 429 C 1337 331 1292 249 1234 181 C 1176 113 1107 61 1028 25 C 948 -10 862 -29 768 -29 Z M 768 133 C 836 133 899 147 957 175 C 1015 203 1064 243 1106 297 C 1148 350 1180 415 1204 493 C 1227 570 1239 658 1239 758 C 1239 856 1227 944 1204 1022 C 1180 1099 1148 1164 1106 1217 C 1064 1270 1015 1310 957 1338 C 899 1366 836 1380 768 1380 C 698 1380 634 1366 576 1338 C 518 1310 468 1270 426 1217 C 384 1164 352 1099 329 1022 C 306 944 295 856 295 758 C 295 658 306 570 329 493 C 352 415 384 350 426 297 C 468 243 518 203 576 175 C 634 147 698 133 768 133 Z M 437 1606 L 701 1936 L 830 1936 L 1094 1606 L 988 1606 L 764 1798 L 543 1606 L 437 1606 Z" unicode="Ô" />
-<glyph horiz-adv-x="1534" d="M 768 -29 C 674 -29 587 -10 507 25 C 427 61 358 113 300 181 C 241 249 195 331 162 429 C 129 526 113 636 113 758 C 113 880 129 989 162 1086 C 195 1183 241 1265 300 1333 C 358 1401 427 1453 507 1489 C 587 1525 674 1544 768 1544 C 862 1544 948 1525 1028 1489 C 1107 1453 1176 1401 1234 1333 C 1292 1265 1337 1183 1370 1086 C 1402 989 1419 880 1419 758 C 1419 636 1402 526 1370 429 C 1337 331 1292 249 1234 181 C 1176 113 1107 61 1028 25 C 948 -10 862 -29 768 -29 Z M 768 133 C 836 133 899 147 957 175 C 1015 203 1064 243 1106 297 C 1148 350 1180 415 1204 493 C 1227 570 1239 658 1239 758 C 1239 856 1227 944 1204 1022 C 1180 1099 1148 1164 1106 1217 C 1064 1270 1015 1310 957 1338 C 899 1366 836 1380 768 1380 C 698 1380 634 1366 576 1338 C 518 1310 468 1270 426 1217 C 384 1164 352 1099 329 1022 C 306 944 295 856 295 758 C 295 658 306 570 329 493 C 352 415 384 350 426 297 C 468 243 518 203 576 175 C 634 147 698 133 768 133 Z M 916 1602 C 886 1602 857 1608 830 1620 C 802 1632 776 1645 752 1659 C 728 1673 704 1687 682 1699 C 659 1711 637 1717 617 1717 C 587 1717 565 1708 552 1691 C 539 1674 533 1646 533 1606 L 424 1606 C 424 1691 440 1753 473 1792 C 505 1830 552 1850 613 1850 C 643 1850 671 1844 698 1832 C 725 1820 751 1806 776 1792 C 800 1778 824 1765 847 1753 C 870 1741 892 1735 914 1735 C 942 1735 963 1743 977 1760 C 991 1777 998 1806 998 1846 L 1102 1846 C 1102 1761 1086 1699 1054 1660 C 1022 1621 976 1602 916 1602 Z" unicode="Õ" />
-<glyph horiz-adv-x="1534" d="M 768 -29 C 674 -29 587 -10 507 25 C 427 61 358 113 300 181 C 241 249 195 331 162 429 C 129 526 113 636 113 758 C 113 880 129 989 162 1086 C 195 1183 241 1265 300 1333 C 358 1401 427 1453 507 1489 C 587 1525 674 1544 768 1544 C 862 1544 948 1525 1028 1489 C 1107 1453 1176 1401 1234 1333 C 1292 1265 1337 1183 1370 1086 C 1402 989 1419 880 1419 758 C 1419 636 1402 526 1370 429 C 1337 331 1292 249 1234 181 C 1176 113 1107 61 1028 25 C 948 -10 862 -29 768 -29 Z M 768 133 C 836 133 899 147 957 175 C 1015 203 1064 243 1106 297 C 1148 350 1180 415 1204 493 C 1227 570 1239 658 1239 758 C 1239 856 1227 944 1204 1022 C 1180 1099 1148 1164 1106 1217 C 1064 1270 1015 1310 957 1338 C 899 1366 836 1380 768 1380 C 698 1380 634 1366 576 1338 C 518 1310 468 1270 426 1217 C 384 1164 352 1099 329 1022 C 306 944 295 856 295 758 C 295 658 306 570 329 493 C 352 415 384 350 426 297 C 468 243 518 203 576 175 C 634 147 698 133 768 133 Z M 858 1608 L 858 1800 L 1041 1800 L 1041 1608 L 858 1608 Z M 486 1608 L 486 1800 L 666 1800 L 666 1608 L 486 1608 Z" unicode="Ö" />
-<glyph horiz-adv-x="1307" d="M 305 199 L 201 305 L 547 651 L 201 997 L 305 1102 L 651 754 L 997 1102 L 1102 997 L 756 651 L 1104 305 L 999 201 L 653 549 L 305 199 Z" unicode="×" />
-<glyph horiz-adv-x="1534" d="M 1266 1294 C 1314 1227 1351 1149 1378 1059 C 1405 969 1419 869 1419 758 C 1419 636 1402 526 1370 429 C 1337 331 1292 249 1234 181 C 1176 113 1107 61 1028 25 C 948 -10 862 -29 768 -29 C 687 -29 612 -15 542 11 C 472 38 408 77 352 127 L 219 -41 L 119 33 L 268 221 C 218 287 180 366 153 456 C 126 546 113 646 113 758 C 113 880 129 989 162 1086 C 195 1183 241 1265 300 1333 C 358 1401 427 1453 507 1489 C 587 1525 674 1544 768 1544 C 848 1544 923 1530 993 1504 C 1063 1477 1125 1439 1180 1389 L 1315 1556 L 1413 1483 L 1266 1294 Z M 453 262 C 494 218 541 185 594 163 C 647 140 705 129 768 129 C 836 129 900 143 958 171 C 1016 199 1066 241 1108 295 C 1150 349 1182 414 1206 492 C 1229 570 1241 658 1241 758 C 1241 839 1233 913 1217 980 C 1201 1046 1179 1105 1149 1157 L 453 262 Z M 1077 1253 C 995 1340 892 1384 768 1384 C 698 1384 633 1369 575 1341 C 517 1313 467 1272 425 1219 C 383 1165 350 1100 326 1022 C 302 944 291 856 291 758 C 291 676 298 602 314 535 C 330 467 353 408 383 356 L 1077 1253 Z" unicode="Ø" />
-<glyph horiz-adv-x="1468" d="M 735 -27 C 637 -27 553 -13 483 15 C 412 43 354 81 308 131 C 262 180 227 238 205 306 C 183 373 172 446 172 524 L 172 1516 L 352 1516 L 352 549 C 352 487 359 431 374 381 C 389 330 412 286 444 250 C 475 214 515 185 563 165 C 611 145 669 135 737 135 C 803 135 860 144 908 164 C 956 184 995 212 1026 248 C 1057 284 1080 327 1095 377 C 1110 427 1118 483 1118 545 L 1118 1516 L 1296 1516 L 1296 528 C 1296 449 1284 376 1261 308 C 1237 240 1202 182 1156 132 C 1109 82 1051 43 981 15 C 911 -12 829 -27 735 -27 Z M 710 1612 L 420 1936 L 635 1936 L 827 1612 L 710 1612 Z" unicode="Ù" />
-<glyph horiz-adv-x="1468" d="M 735 -27 C 637 -27 553 -13 483 15 C 412 43 354 81 308 131 C 262 180 227 238 205 306 C 183 373 172 446 172 524 L 172 1516 L 352 1516 L 352 549 C 352 487 359 431 374 381 C 389 330 412 286 444 250 C 475 214 515 185 563 165 C 611 145 669 135 737 135 C 803 135 860 144 908 164 C 956 184 995 212 1026 248 C 1057 284 1080 327 1095 377 C 1110 427 1118 483 1118 545 L 1118 1516 L 1296 1516 L 1296 528 C 1296 449 1284 376 1261 308 C 1237 240 1202 182 1156 132 C 1109 82 1051 43 981 15 C 911 -12 829 -27 735 -27 Z M 625 1612 L 817 1936 L 1032 1936 L 742 1612 L 625 1612 Z" unicode="Ú" />
-<glyph horiz-adv-x="1468" d="M 735 -27 C 637 -27 553 -13 483 15 C 412 43 354 81 308 131 C 262 180 227 238 205 306 C 183 373 172 446 172 524 L 172 1516 L 352 1516 L 352 549 C 352 487 359 431 374 381 C 389 330 412 286 444 250 C 475 214 515 185 563 165 C 611 145 669 135 737 135 C 803 135 860 144 908 164 C 956 184 995 212 1026 248 C 1057 284 1080 327 1095 377 C 1110 427 1118 483 1118 545 L 1118 1516 L 1296 1516 L 1296 528 C 1296 449 1284 376 1261 308 C 1237 240 1202 182 1156 132 C 1109 82 1051 43 981 15 C 911 -12 829 -27 735 -27 Z M 404 1606 L 668 1936 L 797 1936 L 1061 1606 L 955 1606 L 731 1798 L 510 1606 L 404 1606 Z" unicode="Û" />
-<glyph horiz-adv-x="1468" d="M 735 -27 C 637 -27 553 -13 483 15 C 412 43 354 81 308 131 C 262 180 227 238 205 306 C 183 373 172 446 172 524 L 172 1516 L 352 1516 L 352 549 C 352 487 359 431 374 381 C 389 330 412 286 444 250 C 475 214 515 185 563 165 C 611 145 669 135 737 135 C 803 135 860 144 908 164 C 956 184 995 212 1026 248 C 1057 284 1080 327 1095 377 C 1110 427 1118 483 1118 545 L 1118 1516 L 1296 1516 L 1296 528 C 1296 449 1284 376 1261 308 C 1237 240 1202 182 1156 132 C 1109 82 1051 43 981 15 C 911 -12 829 -27 735 -27 Z M 827 1608 L 827 1800 L 1010 1800 L 1010 1608 L 827 1608 Z M 455 1608 L 455 1800 L 635 1800 L 635 1608 L 455 1608 Z" unicode="Ü" />
-<glyph horiz-adv-x="1292" d="M 555 0 L 555 664 L 45 1516 L 238 1516 L 649 817 L 1059 1516 L 1247 1516 L 735 664 L 735 0 L 555 0 Z M 475 1626 L 667 1950 L 882 1950 L 592 1626 L 475 1626 Z" unicode="Ý" />
-<glyph horiz-adv-x="1337" d="M 186 0 L 186 1516 L 367 1516 L 367 1239 L 698 1239 C 779 1238 853 1229 921 1213 C 988 1196 1046 1170 1094 1135 C 1142 1100 1180 1055 1207 1001 C 1233 947 1247 882 1247 807 C 1247 725 1232 656 1203 599 C 1174 542 1134 496 1084 460 C 1034 424 974 398 906 382 C 838 366 764 358 686 358 L 367 358 L 367 0 L 186 0 Z M 367 522 L 694 522 C 754 522 808 527 854 537 C 900 547 938 563 970 585 C 1001 607 1025 635 1041 671 C 1057 706 1065 749 1065 801 C 1065 849 1057 891 1041 925 C 1025 959 1002 986 971 1008 C 939 1030 900 1046 854 1056 C 807 1066 753 1071 692 1071 L 367 1071 L 367 522 Z" unicode="Þ" />
-<glyph horiz-adv-x="1282" d="M 782 -23 C 705 -23 640 -11 586 12 C 532 36 489 65 457 100 L 553 207 C 583 179 615 157 651 142 C 687 126 730 119 780 119 C 816 119 850 125 880 139 C 910 153 935 172 957 198 C 978 224 994 255 1006 292 C 1018 328 1024 370 1024 416 C 1024 478 1013 531 991 574 C 969 617 938 652 897 679 C 856 706 806 726 748 739 C 689 752 623 760 549 764 L 549 897 C 609 897 661 904 703 917 C 745 929 780 947 807 969 C 834 991 854 1018 866 1048 C 878 1078 885 1111 885 1147 C 885 1217 860 1271 812 1309 C 764 1347 698 1366 614 1366 C 522 1366 452 1340 404 1289 C 356 1238 332 1159 332 1053 L 332 0 L 156 0 L 156 1044 C 156 1121 166 1189 188 1248 C 210 1307 241 1356 281 1396 C 321 1436 369 1466 426 1486 C 483 1506 547 1516 618 1516 C 684 1516 743 1508 797 1492 C 851 1476 897 1452 935 1422 C 973 1392 1002 1354 1022 1310 C 1042 1265 1053 1214 1053 1157 C 1053 1117 1046 1081 1034 1047 C 1022 1013 1004 983 981 957 C 958 930 930 907 898 888 C 865 868 828 853 788 842 C 841 834 892 821 940 802 C 988 783 1031 757 1068 723 C 1105 689 1135 648 1157 599 C 1179 549 1190 491 1190 424 C 1190 355 1180 293 1161 238 C 1142 183 1115 136 1080 98 C 1044 59 1001 29 951 8 C 901 -12 844 -23 782 -23 Z" unicode="ß" />
-<glyph horiz-adv-x="1133" d="M 395 -16 C 348 -16 306 -10 268 2 C 230 14 198 31 172 54 C 146 77 125 106 111 140 C 97 174 90 212 90 256 C 90 310 102 361 127 408 C 152 454 193 497 250 535 C 306 573 381 606 473 635 C 565 663 679 687 813 707 L 813 756 C 813 824 795 874 760 907 C 725 939 674 956 608 956 C 566 956 528 951 492 943 C 456 935 423 923 391 909 C 359 894 328 877 300 857 C 271 837 243 815 217 793 L 125 903 C 156 931 190 958 226 983 C 262 1007 300 1029 342 1047 C 383 1065 427 1079 475 1089 C 522 1099 573 1104 627 1104 C 691 1104 746 1095 792 1079 C 837 1063 874 1039 903 1008 C 932 977 953 939 967 895 C 980 850 987 799 987 743 L 987 266 C 987 200 989 146 994 104 C 998 62 1006 28 1018 0 L 838 0 C 830 22 824 45 820 68 C 815 91 813 118 813 150 C 752 93 687 51 619 24 C 551 -2 476 -16 395 -16 Z M 446 123 C 518 123 585 136 646 164 C 707 192 763 231 813 281 L 813 584 C 709 567 623 548 553 528 C 483 507 426 484 384 459 C 341 434 310 407 292 378 C 273 348 264 317 264 283 C 264 230 280 190 312 163 C 344 136 389 123 446 123 Z M 566 1198 L 276 1522 L 491 1522 L 683 1198 L 566 1198 Z" unicode="à" />
-<glyph horiz-adv-x="1133" d="M 395 -16 C 348 -16 306 -10 268 2 C 230 14 198 31 172 54 C 146 77 125 106 111 140 C 97 174 90 212 90 256 C 90 310 102 361 127 408 C 152 454 193 497 250 535 C 306 573 381 606 473 635 C 565 663 679 687 813 707 L 813 756 C 813 824 795 874 760 907 C 725 939 674 956 608 956 C 566 956 528 951 492 943 C 456 935 423 923 391 909 C 359 894 328 877 300 857 C 271 837 243 815 217 793 L 125 903 C 156 931 190 958 226 983 C 262 1007 300 1029 342 1047 C 383 1065 427 1079 475 1089 C 522 1099 573 1104 627 1104 C 691 1104 746 1095 792 1079 C 837 1063 874 1039 903 1008 C 932 977 953 939 967 895 C 980 850 987 799 987 743 L 987 266 C 987 200 989 146 994 104 C 998 62 1006 28 1018 0 L 838 0 C 830 22 824 45 820 68 C 815 91 813 118 813 150 C 752 93 687 51 619 24 C 551 -2 476 -16 395 -16 Z M 446 123 C 518 123 585 136 646 164 C 707 192 763 231 813 281 L 813 584 C 709 567 623 548 553 528 C 483 507 426 484 384 459 C 341 434 310 407 292 378 C 273 348 264 317 264 283 C 264 230 280 190 312 163 C 344 136 389 123 446 123 Z M 485 1198 L 677 1522 L 892 1522 L 602 1198 L 485 1198 Z" unicode="á" />
-<glyph horiz-adv-x="1133" d="M 395 -16 C 348 -16 306 -10 268 2 C 230 14 198 31 172 54 C 146 77 125 106 111 140 C 97 174 90 212 90 256 C 90 310 102 361 127 408 C 152 454 193 497 250 535 C 306 573 381 606 473 635 C 565 663 679 687 813 707 L 813 756 C 813 824 795 874 760 907 C 725 939 674 956 608 956 C 566 956 528 951 492 943 C 456 935 423 923 391 909 C 359 894 328 877 300 857 C 271 837 243 815 217 793 L 125 903 C 156 931 190 958 226 983 C 262 1007 300 1029 342 1047 C 383 1065 427 1079 475 1089 C 522 1099 573 1104 627 1104 C 691 1104 746 1095 792 1079 C 837 1063 874 1039 903 1008 C 932 977 953 939 967 895 C 980 850 987 799 987 743 L 987 266 C 987 200 989 146 994 104 C 998 62 1006 28 1018 0 L 838 0 C 830 22 824 45 820 68 C 815 91 813 118 813 150 C 752 93 687 51 619 24 C 551 -2 476 -16 395 -16 Z M 446 123 C 518 123 585 136 646 164 C 707 192 763 231 813 281 L 813 584 C 709 567 623 548 553 528 C 483 507 426 484 384 459 C 341 434 310 407 292 378 C 273 348 264 317 264 283 C 264 230 280 190 312 163 C 344 136 389 123 446 123 Z M 248 1192 L 512 1522 L 641 1522 L 905 1192 L 799 1192 L 575 1384 L 354 1192 L 248 1192 Z" unicode="â" />
-<glyph horiz-adv-x="1133" d="M 395 -16 C 348 -16 306 -10 268 2 C 230 14 198 31 172 54 C 146 77 125 106 111 140 C 97 174 90 212 90 256 C 90 310 102 361 127 408 C 152 454 193 497 250 535 C 306 573 381 606 473 635 C 565 663 679 687 813 707 L 813 756 C 813 824 795 874 760 907 C 725 939 674 956 608 956 C 566 956 528 951 492 943 C 456 935 423 923 391 909 C 359 894 328 877 300 857 C 271 837 243 815 217 793 L 125 903 C 156 931 190 958 226 983 C 262 1007 300 1029 342 1047 C 383 1065 427 1079 475 1089 C 522 1099 573 1104 627 1104 C 691 1104 746 1095 792 1079 C 837 1063 874 1039 903 1008 C 932 977 953 939 967 895 C 980 850 987 799 987 743 L 987 266 C 987 200 989 146 994 104 C 998 62 1006 28 1018 0 L 838 0 C 830 22 824 45 820 68 C 815 91 813 118 813 150 C 752 93 687 51 619 24 C 551 -2 476 -16 395 -16 Z M 446 123 C 518 123 585 136 646 164 C 707 192 763 231 813 281 L 813 584 C 709 567 623 548 553 528 C 483 507 426 484 384 459 C 341 434 310 407 292 378 C 273 348 264 317 264 283 C 264 230 280 190 312 163 C 344 136 389 123 446 123 Z M 725 1188 C 695 1188 666 1194 639 1206 C 611 1218 585 1231 561 1245 C 537 1259 513 1273 491 1285 C 468 1297 446 1303 426 1303 C 396 1303 374 1294 361 1277 C 348 1260 342 1232 342 1192 L 233 1192 C 233 1277 249 1339 282 1378 C 314 1416 361 1436 422 1436 C 452 1436 480 1430 507 1418 C 534 1406 560 1392 585 1378 C 609 1364 633 1351 656 1339 C 679 1327 701 1321 723 1321 C 751 1321 772 1329 786 1346 C 800 1363 807 1392 807 1432 L 911 1432 C 911 1347 895 1285 863 1246 C 831 1207 785 1188 725 1188 Z" unicode="ã" />
-<glyph horiz-adv-x="1133" d="M 395 -16 C 348 -16 306 -10 268 2 C 230 14 198 31 172 54 C 146 77 125 106 111 140 C 97 174 90 212 90 256 C 90 310 102 361 127 408 C 152 454 193 497 250 535 C 306 573 381 606 473 635 C 565 663 679 687 813 707 L 813 756 C 813 824 795 874 760 907 C 725 939 674 956 608 956 C 566 956 528 951 492 943 C 456 935 423 923 391 909 C 359 894 328 877 300 857 C 271 837 243 815 217 793 L 125 903 C 156 931 190 958 226 983 C 262 1007 300 1029 342 1047 C 383 1065 427 1079 475 1089 C 522 1099 573 1104 627 1104 C 691 1104 746 1095 792 1079 C 837 1063 874 1039 903 1008 C 932 977 953 939 967 895 C 980 850 987 799 987 743 L 987 266 C 987 200 989 146 994 104 C 998 62 1006 28 1018 0 L 838 0 C 830 22 824 45 820 68 C 815 91 813 118 813 150 C 752 93 687 51 619 24 C 551 -2 476 -16 395 -16 Z M 446 123 C 518 123 585 136 646 164 C 707 192 763 231 813 281 L 813 584 C 709 567 623 548 553 528 C 483 507 426 484 384 459 C 341 434 310 407 292 378 C 273 348 264 317 264 283 C 264 230 280 190 312 163 C 344 136 389 123 446 123 Z M 682 1194 L 682 1386 L 865 1386 L 865 1194 L 682 1194 Z M 310 1194 L 310 1386 L 490 1386 L 490 1194 L 310 1194 Z" unicode="ä" />
-<glyph horiz-adv-x="1133" d="M 395 -16 C 348 -16 306 -10 268 2 C 230 14 198 31 172 54 C 146 77 125 106 111 140 C 97 174 90 212 90 256 C 90 310 102 361 127 408 C 152 454 193 497 250 535 C 306 573 381 606 473 635 C 565 663 679 687 813 707 L 813 756 C 813 824 795 874 760 907 C 725 939 674 956 608 956 C 566 956 528 951 492 943 C 456 935 423 923 391 909 C 359 894 328 877 300 857 C 271 837 243 815 217 793 L 125 903 C 156 931 190 958 226 983 C 262 1007 300 1029 342 1047 C 383 1065 427 1079 475 1089 C 522 1099 573 1104 627 1104 C 691 1104 746 1095 792 1079 C 837 1063 874 1039 903 1008 C 932 977 953 939 967 895 C 980 850 987 799 987 743 L 987 266 C 987 200 989 146 994 104 C 998 62 1006 28 1018 0 L 838 0 C 830 22 824 45 820 68 C 815 91 813 118 813 150 C 752 93 687 51 619 24 C 551 -2 476 -16 395 -16 Z M 446 123 C 518 123 585 136 646 164 C 707 192 763 231 813 281 L 813 584 C 709 567 623 548 553 528 C 483 507 426 484 384 459 C 341 434 310 407 292 378 C 273 348 264 317 264 283 C 264 230 280 190 312 163 C 344 136 389 123 446 123 Z M 590 1182 C 562 1182 536 1187 512 1197 C 488 1207 467 1220 450 1238 C 432 1255 419 1275 409 1299 C 399 1323 395 1348 395 1376 C 395 1403 399 1428 409 1452 C 419 1475 432 1495 450 1512 C 467 1529 488 1542 512 1552 C 536 1562 562 1567 590 1567 C 618 1567 644 1562 668 1552 C 692 1542 712 1529 730 1512 C 747 1495 760 1475 770 1452 C 780 1428 785 1403 785 1376 C 785 1348 780 1323 770 1299 C 760 1275 747 1255 730 1238 C 712 1220 692 1207 668 1197 C 644 1187 618 1182 590 1182 Z M 590 1264 C 620 1264 646 1274 666 1295 C 686 1316 696 1343 696 1376 C 696 1408 686 1434 666 1455 C 646 1476 620 1487 590 1487 C 559 1487 533 1476 513 1455 C 493 1434 483 1408 483 1376 C 483 1343 493 1316 513 1295 C 533 1274 559 1264 590 1264 Z" unicode="å" />
-<glyph horiz-adv-x="1831" d="M 393 -23 C 346 -23 304 -16 266 -4 C 228 7 196 25 170 49 C 144 72 123 100 109 134 C 95 168 88 206 88 250 C 88 305 100 356 125 404 C 150 451 191 494 248 533 C 304 571 379 605 471 634 C 563 663 677 687 811 707 L 811 756 C 811 824 793 874 758 907 C 723 939 672 956 606 956 C 564 956 526 951 490 943 C 454 935 421 923 389 909 C 357 894 326 877 298 857 C 269 837 241 815 215 793 L 125 903 C 156 931 189 958 225 983 C 261 1007 299 1029 341 1047 C 382 1065 426 1079 473 1089 C 520 1099 571 1104 625 1104 C 672 1104 713 1098 748 1088 C 783 1078 813 1063 837 1045 C 861 1027 881 1005 897 980 C 912 954 924 927 932 897 C 948 926 969 953 994 979 C 1018 1004 1046 1026 1076 1044 C 1106 1062 1139 1077 1174 1088 C 1209 1098 1246 1104 1284 1104 C 1346 1104 1404 1092 1459 1069 C 1513 1046 1561 1011 1602 964 C 1643 917 1675 858 1699 786 C 1723 714 1735 630 1735 532 L 1735 502 L 973 502 C 974 439 983 384 1001 337 C 1018 289 1041 250 1070 218 C 1099 186 1133 161 1172 145 C 1210 129 1252 121 1298 121 C 1336 121 1371 124 1402 132 C 1432 140 1461 151 1487 166 C 1513 181 1536 200 1558 222 C 1580 244 1601 269 1622 297 L 1724 207 C 1674 135 1613 78 1542 38 C 1471 -2 1385 -23 1284 -23 C 1242 -23 1202 -18 1163 -9 C 1124 0 1087 13 1053 32 C 1019 51 987 75 958 104 C 929 133 904 167 883 207 C 847 169 811 136 775 108 C 738 80 700 56 660 36 C 620 16 579 2 535 -8 C 491 -18 443 -23 393 -23 Z M 444 119 C 517 119 586 134 650 165 C 714 196 778 244 840 309 C 819 368 809 436 809 514 C 809 528 809 542 809 556 C 809 570 809 580 811 588 C 707 570 621 551 551 529 C 481 507 424 483 382 457 C 339 431 308 402 290 372 C 271 342 262 310 262 276 C 262 224 278 185 310 159 C 342 132 387 119 444 119 Z M 1567 633 C 1563 681 1554 724 1541 764 C 1527 804 1509 838 1485 866 C 1461 894 1433 916 1399 932 C 1365 948 1326 956 1282 956 C 1246 956 1210 949 1176 937 C 1142 924 1111 904 1084 878 C 1056 851 1033 817 1014 777 C 995 737 983 689 977 633 L 1567 633 Z" unicode="æ" />
-<glyph horiz-adv-x="1102" d="M 575 -401 C 525 -401 478 -394 433 -382 C 387 -369 347 -351 311 -328 L 354 -260 C 385 -280 418 -296 452 -306 C 486 -316 521 -322 557 -322 C 606 -322 642 -313 664 -297 C 686 -281 698 -258 698 -229 C 698 -183 670 -160 616 -160 C 595 -160 576 -164 560 -172 C 544 -180 528 -189 514 -201 L 453 -170 L 498 -14 C 443 -6 391 11 342 39 C 293 66 250 103 214 150 C 177 196 148 252 126 318 C 104 383 94 457 94 541 C 94 639 108 724 137 795 C 166 866 204 924 251 970 C 298 1016 351 1049 410 1071 C 469 1093 529 1104 590 1104 C 650 1104 703 1095 749 1079 C 795 1062 834 1040 868 1012 C 902 984 930 952 954 916 C 977 879 997 841 1014 801 L 864 739 C 835 814 799 870 756 908 C 713 946 656 965 586 965 C 546 965 508 957 471 941 C 433 925 400 901 370 867 C 340 833 317 789 299 735 C 281 681 272 617 272 541 C 272 474 279 414 294 361 C 309 308 330 263 358 227 C 385 190 418 162 456 142 C 494 122 536 113 582 113 C 616 113 647 117 675 126 C 703 135 728 149 752 168 C 776 186 797 210 817 239 C 836 268 854 302 872 342 L 1018 285 C 997 241 974 200 948 164 C 922 127 892 95 858 69 C 824 43 785 22 742 6 C 699 -9 650 -18 596 -20 L 569 -106 C 583 -96 600 -89 619 -84 C 637 -78 659 -76 684 -76 C 703 -76 721 -79 739 -85 C 757 -91 772 -99 786 -111 C 799 -123 809 -137 817 -155 C 825 -172 829 -192 829 -215 C 829 -247 822 -274 809 -298 C 795 -322 777 -341 754 -356 C 731 -371 704 -382 673 -390 C 642 -397 609 -401 575 -401 Z" unicode="ç" />
-<glyph horiz-adv-x="1130" d="M 584 -23 C 520 -23 458 -11 399 12 C 340 35 288 70 243 117 C 197 164 161 223 134 294 C 107 364 94 447 94 541 C 94 639 108 723 138 794 C 168 865 206 924 253 970 C 300 1016 353 1049 411 1071 C 469 1093 526 1104 584 1104 C 648 1104 707 1092 762 1069 C 817 1046 865 1011 905 964 C 945 917 976 858 999 786 C 1022 714 1034 630 1034 532 L 1034 496 L 270 496 C 271 434 280 380 298 334 C 316 287 339 248 368 217 C 397 185 431 161 470 145 C 509 129 551 121 596 121 C 634 121 669 124 701 132 C 732 140 761 151 787 166 C 813 181 836 200 858 222 C 880 244 901 269 922 297 L 1024 207 C 974 135 913 78 842 38 C 770 -2 684 -23 584 -23 Z M 866 633 C 862 681 854 724 841 764 C 827 804 809 838 785 866 C 761 894 733 916 699 932 C 665 948 626 956 582 956 C 545 956 509 949 475 937 C 441 924 410 904 382 878 C 354 851 331 817 312 777 C 292 737 280 689 274 633 L 866 633 Z M 539 1198 L 249 1522 L 464 1522 L 656 1198 L 539 1198 Z" unicode="è" />
-<glyph horiz-adv-x="1130" d="M 584 -23 C 520 -23 458 -11 399 12 C 340 35 288 70 243 117 C 197 164 161 223 134 294 C 107 364 94 447 94 541 C 94 639 108 723 138 794 C 168 865 206 924 253 970 C 300 1016 353 1049 411 1071 C 469 1093 526 1104 584 1104 C 648 1104 707 1092 762 1069 C 817 1046 865 1011 905 964 C 945 917 976 858 999 786 C 1022 714 1034 630 1034 532 L 1034 496 L 270 496 C 271 434 280 380 298 334 C 316 287 339 248 368 217 C 397 185 431 161 470 145 C 509 129 551 121 596 121 C 634 121 669 124 701 132 C 732 140 761 151 787 166 C 813 181 836 200 858 222 C 880 244 901 269 922 297 L 1024 207 C 974 135 913 78 842 38 C 770 -2 684 -23 584 -23 Z M 866 633 C 862 681 854 724 841 764 C 827 804 809 838 785 866 C 761 894 733 916 699 932 C 665 948 626 956 582 956 C 545 956 509 949 475 937 C 441 924 410 904 382 878 C 354 851 331 817 312 777 C 292 737 280 689 274 633 L 866 633 Z M 488 1198 L 680 1522 L 895 1522 L 605 1198 L 488 1198 Z" unicode="é" />
-<glyph horiz-adv-x="1130" d="M 584 -23 C 520 -23 458 -11 399 12 C 340 35 288 70 243 117 C 197 164 161 223 134 294 C 107 364 94 447 94 541 C 94 639 108 723 138 794 C 168 865 206 924 253 970 C 300 1016 353 1049 411 1071 C 469 1093 526 1104 584 1104 C 648 1104 707 1092 762 1069 C 817 1046 865 1011 905 964 C 945 917 976 858 999 786 C 1022 714 1034 630 1034 532 L 1034 496 L 270 496 C 271 434 280 380 298 334 C 316 287 339 248 368 217 C 397 185 431 161 470 145 C 509 129 551 121 596 121 C 634 121 669 124 701 132 C 732 140 761 151 787 166 C 813 181 836 200 858 222 C 880 244 901 269 922 297 L 1024 207 C 974 135 913 78 842 38 C 770 -2 684 -23 584 -23 Z M 866 633 C 862 681 854 724 841 764 C 827 804 809 838 785 866 C 761 894 733 916 699 932 C 665 948 626 956 582 956 C 545 956 509 949 475 937 C 441 924 410 904 382 878 C 354 851 331 817 312 777 C 292 737 280 689 274 633 L 866 633 Z M 248 1192 L 512 1522 L 641 1522 L 905 1192 L 799 1192 L 575 1384 L 354 1192 L 248 1192 Z" unicode="ê" />
-<glyph horiz-adv-x="1130" d="M 584 -23 C 520 -23 458 -11 399 12 C 340 35 288 70 243 117 C 197 164 161 223 134 294 C 107 364 94 447 94 541 C 94 639 108 723 138 794 C 168 865 206 924 253 970 C 300 1016 353 1049 411 1071 C 469 1093 526 1104 584 1104 C 648 1104 707 1092 762 1069 C 817 1046 865 1011 905 964 C 945 917 976 858 999 786 C 1022 714 1034 630 1034 532 L 1034 496 L 270 496 C 271 434 280 380 298 334 C 316 287 339 248 368 217 C 397 185 431 161 470 145 C 509 129 551 121 596 121 C 634 121 669 124 701 132 C 732 140 761 151 787 166 C 813 181 836 200 858 222 C 880 244 901 269 922 297 L 1024 207 C 974 135 913 78 842 38 C 770 -2 684 -23 584 -23 Z M 866 633 C 862 681 854 724 841 764 C 827 804 809 838 785 866 C 761 894 733 916 699 932 C 665 948 626 956 582 956 C 545 956 509 949 475 937 C 441 924 410 904 382 878 C 354 851 331 817 312 777 C 292 737 280 689 274 633 L 866 633 Z M 665 1194 L 665 1386 L 848 1386 L 848 1194 L 665 1194 Z M 293 1194 L 293 1386 L 473 1386 L 473 1194 L 293 1194 Z" unicode="ë" />
-<glyph horiz-adv-x="512" d="M 168 0 L 168 1081 L 344 1081 L 344 0 L 168 0 Z M 218 1198 L -72 1522 L 143 1522 L 335 1198 L 218 1198 Z" unicode="ì" />
-<glyph horiz-adv-x="512" d="M 168 0 L 168 1081 L 344 1081 L 344 0 L 168 0 Z M 206 1198 L 398 1522 L 613 1522 L 323 1198 L 206 1198 Z" unicode="í" />
-<glyph horiz-adv-x="512" d="M 168 0 L 168 1081 L 344 1081 L 344 0 L 168 0 Z M -72 1192 L 192 1522 L 321 1522 L 585 1192 L 479 1192 L 255 1384 L 34 1192 L -72 1192 Z" unicode="î" />
-<glyph horiz-adv-x="512" d="M 168 0 L 168 1081 L 344 1081 L 344 0 L 168 0 Z M 351 1194 L 351 1386 L 534 1386 L 534 1194 L 351 1194 Z M -21 1194 L -21 1386 L 159 1386 L 159 1194 L -21 1194 Z" unicode="ï" />
-<glyph horiz-adv-x="1194" d="M 598 -23 C 526 -23 460 -10 399 14 C 338 39 285 75 240 122 C 195 169 160 226 134 293 C 108 360 96 436 96 520 C 96 606 108 682 133 748 C 157 814 191 869 234 914 C 276 959 326 993 384 1016 C 442 1039 503 1051 569 1051 C 601 1051 632 1046 664 1038 C 696 1030 726 1018 756 1002 C 785 986 812 968 837 946 C 862 924 884 899 903 872 C 888 932 867 991 841 1050 C 815 1108 778 1165 731 1219 L 520 1137 L 467 1247 L 643 1315 C 620 1336 596 1356 572 1374 C 547 1392 520 1411 492 1430 L 578 1538 C 616 1516 652 1493 687 1467 C 722 1441 755 1414 786 1384 L 985 1464 L 1036 1352 L 872 1284 C 906 1240 938 1193 966 1141 C 994 1089 1017 1032 1037 971 C 1057 909 1072 843 1082 771 C 1092 699 1098 622 1098 539 C 1098 451 1085 373 1059 304 C 1033 234 998 175 954 127 C 909 78 856 41 795 15 C 734 -10 668 -23 598 -23 Z M 598 123 C 648 123 693 132 733 151 C 773 170 807 197 835 232 C 863 267 884 309 899 359 C 914 408 922 463 922 524 C 922 580 914 632 900 680 C 885 727 864 768 836 802 C 808 836 774 863 734 882 C 694 901 648 911 598 911 C 548 911 502 902 462 884 C 422 866 387 840 359 807 C 331 773 309 733 294 685 C 279 637 272 582 272 522 C 272 466 279 413 293 365 C 307 316 328 274 356 238 C 383 202 417 173 458 153 C 498 133 545 123 598 123 Z" unicode="ð" />
-<glyph horiz-adv-x="1204" d="M 156 0 L 156 1081 L 334 1081 L 334 920 C 357 942 383 965 412 987 C 440 1009 471 1029 505 1046 C 539 1063 575 1077 614 1088 C 653 1098 695 1104 739 1104 C 843 1104 922 1075 977 1019 C 1031 963 1059 883 1059 780 L 1059 0 L 883 0 L 883 741 C 883 813 867 867 835 901 C 803 935 752 952 684 952 C 619 952 558 936 502 905 C 446 873 390 831 334 778 L 334 0 L 156 0 Z M 766 1188 C 736 1188 707 1194 680 1206 C 652 1218 626 1231 602 1245 C 578 1259 554 1273 532 1285 C 509 1297 487 1303 467 1303 C 437 1303 415 1294 402 1277 C 389 1260 383 1232 383 1192 L 274 1192 C 274 1277 290 1339 323 1378 C 355 1416 402 1436 463 1436 C 493 1436 521 1430 548 1418 C 575 1406 601 1392 626 1378 C 650 1364 674 1351 697 1339 C 720 1327 742 1321 764 1321 C 792 1321 813 1329 827 1346 C 841 1363 848 1392 848 1432 L 952 1432 C 952 1347 936 1285 904 1246 C 872 1207 826 1188 766 1188 Z" unicode="ñ" />
-<glyph horiz-adv-x="1194" d="M 598 -23 C 532 -23 468 -11 408 13 C 347 37 293 72 247 120 C 200 167 163 226 135 296 C 107 366 94 448 94 541 C 94 633 107 715 135 785 C 163 855 200 914 246 962 C 292 1009 346 1044 407 1068 C 467 1092 531 1104 598 1104 C 664 1104 727 1092 788 1068 C 848 1044 902 1009 948 962 C 994 914 1030 855 1058 785 C 1086 715 1100 633 1100 541 C 1100 448 1086 366 1058 296 C 1030 226 994 167 948 120 C 902 72 848 37 788 13 C 727 -11 664 -23 598 -23 Z M 598 127 C 649 127 695 137 735 157 C 775 177 808 205 836 241 C 864 277 885 320 900 371 C 914 422 922 479 922 541 C 922 597 915 650 901 700 C 887 750 867 793 840 831 C 813 868 779 897 739 919 C 699 941 652 952 598 952 C 546 952 499 942 459 922 C 419 902 385 873 357 837 C 329 801 308 757 294 707 C 279 657 272 601 272 541 C 272 483 278 429 292 379 C 305 329 325 285 352 248 C 379 210 413 181 454 159 C 495 137 543 127 598 127 Z M 564 1198 L 274 1522 L 489 1522 L 681 1198 L 564 1198 Z" unicode="ò" />
-<glyph horiz-adv-x="1194" d="M 598 -23 C 532 -23 468 -11 408 13 C 347 37 293 72 247 120 C 200 167 163 226 135 296 C 107 366 94 448 94 541 C 94 633 107 715 135 785 C 163 855 200 914 246 962 C 292 1009 346 1044 407 1068 C 467 1092 531 1104 598 1104 C 664 1104 727 1092 788 1068 C 848 1044 902 1009 948 962 C 994 914 1030 855 1058 785 C 1086 715 1100 633 1100 541 C 1100 448 1086 366 1058 296 C 1030 226 994 167 948 120 C 902 72 848 37 788 13 C 727 -11 664 -23 598 -23 Z M 598 127 C 649 127 695 137 735 157 C 775 177 808 205 836 241 C 864 277 885 320 900 371 C 914 422 922 479 922 541 C 922 597 915 650 901 700 C 887 750 867 793 840 831 C 813 868 779 897 739 919 C 699 941 652 952 598 952 C 546 952 499 942 459 922 C 419 902 385 873 357 837 C 329 801 308 757 294 707 C 279 657 272 601 272 541 C 272 483 278 429 292 379 C 305 329 325 285 352 248 C 379 210 413 181 454 159 C 495 137 543 127 598 127 Z M 508 1198 L 700 1522 L 915 1522 L 625 1198 L 508 1198 Z" unicode="ó" />
-<glyph horiz-adv-x="1194" d="M 598 -23 C 532 -23 468 -11 408 13 C 347 37 293 72 247 120 C 200 167 163 226 135 296 C 107 366 94 448 94 541 C 94 633 107 715 135 785 C 163 855 200 914 246 962 C 292 1009 346 1044 407 1068 C 467 1092 531 1104 598 1104 C 664 1104 727 1092 788 1068 C 848 1044 902 1009 948 962 C 994 914 1030 855 1058 785 C 1086 715 1100 633 1100 541 C 1100 448 1086 366 1058 296 C 1030 226 994 167 948 120 C 902 72 848 37 788 13 C 727 -11 664 -23 598 -23 Z M 598 127 C 649 127 695 137 735 157 C 775 177 808 205 836 241 C 864 277 885 320 900 371 C 914 422 922 479 922 541 C 922 597 915 650 901 700 C 887 750 867 793 840 831 C 813 868 779 897 739 919 C 699 941 652 952 598 952 C 546 952 499 942 459 922 C 419 902 385 873 357 837 C 329 801 308 757 294 707 C 279 657 272 601 272 541 C 272 483 278 429 292 379 C 305 329 325 285 352 248 C 379 210 413 181 454 159 C 495 137 543 127 598 127 Z M 267 1192 L 531 1522 L 660 1522 L 924 1192 L 818 1192 L 594 1384 L 373 1192 L 267 1192 Z" unicode="ô" />
-<glyph horiz-adv-x="1194" d="M 598 -23 C 532 -23 468 -11 408 13 C 347 37 293 72 247 120 C 200 167 163 226 135 296 C 107 366 94 448 94 541 C 94 633 107 715 135 785 C 163 855 200 914 246 962 C 292 1009 346 1044 407 1068 C 467 1092 531 1104 598 1104 C 664 1104 727 1092 788 1068 C 848 1044 902 1009 948 962 C 994 914 1030 855 1058 785 C 1086 715 1100 633 1100 541 C 1100 448 1086 366 1058 296 C 1030 226 994 167 948 120 C 902 72 848 37 788 13 C 727 -11 664 -23 598 -23 Z M 598 127 C 649 127 695 137 735 157 C 775 177 808 205 836 241 C 864 277 885 320 900 371 C 914 422 922 479 922 541 C 922 597 915 650 901 700 C 887 750 867 793 840 831 C 813 868 779 897 739 919 C 699 941 652 952 598 952 C 546 952 499 942 459 922 C 419 902 385 873 357 837 C 329 801 308 757 294 707 C 279 657 272 601 272 541 C 272 483 278 429 292 379 C 305 329 325 285 352 248 C 379 210 413 181 454 159 C 495 137 543 127 598 127 Z M 752 1188 C 722 1188 693 1194 666 1206 C 638 1218 612 1231 588 1245 C 564 1259 540 1273 518 1285 C 495 1297 473 1303 453 1303 C 423 1303 401 1294 388 1277 C 375 1260 369 1232 369 1192 L 260 1192 C 260 1277 276 1339 309 1378 C 341 1416 388 1436 449 1436 C 479 1436 507 1430 534 1418 C 561 1406 587 1392 612 1378 C 636 1364 660 1351 683 1339 C 706 1327 728 1321 750 1321 C 778 1321 799 1329 813 1346 C 827 1363 834 1392 834 1432 L 938 1432 C 938 1347 922 1285 890 1246 C 858 1207 812 1188 752 1188 Z" unicode="õ" />
-<glyph horiz-adv-x="1194" d="M 598 -23 C 532 -23 468 -11 408 13 C 347 37 293 72 247 120 C 200 167 163 226 135 296 C 107 366 94 448 94 541 C 94 633 107 715 135 785 C 163 855 200 914 246 962 C 292 1009 346 1044 407 1068 C 467 1092 531 1104 598 1104 C 664 1104 727 1092 788 1068 C 848 1044 902 1009 948 962 C 994 914 1030 855 1058 785 C 1086 715 1100 633 1100 541 C 1100 448 1086 366 1058 296 C 1030 226 994 167 948 120 C 902 72 848 37 788 13 C 727 -11 664 -23 598 -23 Z M 598 127 C 649 127 695 137 735 157 C 775 177 808 205 836 241 C 864 277 885 320 900 371 C 914 422 922 479 922 541 C 922 597 915 650 901 700 C 887 750 867 793 840 831 C 813 868 779 897 739 919 C 699 941 652 952 598 952 C 546 952 499 942 459 922 C 419 902 385 873 357 837 C 329 801 308 757 294 707 C 279 657 272 601 272 541 C 272 483 278 429 292 379 C 305 329 325 285 352 248 C 379 210 413 181 454 159 C 495 137 543 127 598 127 Z M 688 1194 L 688 1386 L 871 1386 L 871 1194 L 688 1194 Z M 316 1194 L 316 1386 L 496 1386 L 496 1194 L 316 1194 Z" unicode="ö" />
-<glyph horiz-adv-x="1307" d="M 135 608 L 135 756 L 1174 756 L 1174 608 L 135 608 Z M 553 217 L 553 406 L 745 406 L 745 217 L 553 217 Z M 553 956 L 553 1145 L 745 1145 L 745 956 L 553 956 Z" unicode="÷" />
-<glyph horiz-adv-x="1194" d="M 973 936 C 1012 888 1043 832 1066 767 C 1088 701 1100 626 1100 541 C 1100 448 1086 366 1058 296 C 1030 226 994 167 948 120 C 902 72 848 37 788 13 C 727 -11 664 -23 598 -23 C 546 -23 495 -15 445 0 C 395 15 350 38 309 68 L 199 -72 L 113 2 L 225 143 C 185 191 153 248 129 314 C 105 380 94 455 94 541 C 94 633 107 715 135 785 C 163 855 200 914 246 962 C 292 1009 346 1044 407 1068 C 467 1092 531 1104 598 1104 C 706 1104 803 1074 889 1014 L 995 1149 L 1083 1075 L 973 936 Z M 795 887 C 769 909 739 927 707 939 C 674 951 638 958 598 958 C 546 958 499 947 458 927 C 417 906 382 877 354 840 C 326 803 304 759 290 708 C 275 657 268 601 268 541 C 268 490 273 442 284 396 C 294 350 310 308 332 270 L 795 887 Z M 399 188 C 425 166 454 149 488 137 C 521 125 558 119 598 119 C 650 119 696 129 737 150 C 777 170 812 199 840 237 C 868 274 889 318 904 370 C 918 422 926 479 926 541 C 926 590 920 637 910 682 C 900 726 884 767 864 803 L 399 188 Z" unicode="ø" />
-<glyph horiz-adv-x="1204" d="M 465 -20 C 361 -20 281 7 227 63 C 172 118 145 197 145 301 L 145 1081 L 322 1081 L 322 338 C 322 266 337 212 369 178 C 401 144 451 127 520 127 C 585 127 646 142 702 174 C 758 205 814 247 870 301 L 870 1081 L 1049 1081 L 1049 0 L 870 0 L 870 162 C 846 138 820 116 792 94 C 763 72 732 53 698 36 C 664 19 628 5 589 -4 C 550 -14 509 -20 465 -20 Z M 573 1198 L 283 1522 L 498 1522 L 690 1198 L 573 1198 Z" unicode="ù" />
-<glyph horiz-adv-x="1204" d="M 465 -20 C 361 -20 281 7 227 63 C 172 118 145 197 145 301 L 145 1081 L 322 1081 L 322 338 C 322 266 337 212 369 178 C 401 144 451 127 520 127 C 585 127 646 142 702 174 C 758 205 814 247 870 301 L 870 1081 L 1049 1081 L 1049 0 L 870 0 L 870 162 C 846 138 820 116 792 94 C 763 72 732 53 698 36 C 664 19 628 5 589 -4 C 550 -14 509 -20 465 -20 Z M 504 1198 L 696 1522 L 911 1522 L 621 1198 L 504 1198 Z" unicode="ú" />
-<glyph horiz-adv-x="1204" d="M 465 -20 C 361 -20 281 7 227 63 C 172 118 145 197 145 301 L 145 1081 L 322 1081 L 322 338 C 322 266 337 212 369 178 C 401 144 451 127 520 127 C 585 127 646 142 702 174 C 758 205 814 247 870 301 L 870 1081 L 1049 1081 L 1049 0 L 870 0 L 870 162 C 846 138 820 116 792 94 C 763 72 732 53 698 36 C 664 19 628 5 589 -4 C 550 -14 509 -20 465 -20 Z M 267 1192 L 531 1522 L 660 1522 L 924 1192 L 818 1192 L 594 1384 L 373 1192 L 267 1192 Z" unicode="û" />
-<glyph horiz-adv-x="1204" d="M 465 -20 C 361 -20 281 7 227 63 C 172 118 145 197 145 301 L 145 1081 L 322 1081 L 322 338 C 322 266 337 212 369 178 C 401 144 451 127 520 127 C 585 127 646 142 702 174 C 758 205 814 247 870 301 L 870 1081 L 1049 1081 L 1049 0 L 870 0 L 870 162 C 846 138 820 116 792 94 C 763 72 732 53 698 36 C 664 19 628 5 589 -4 C 550 -14 509 -20 465 -20 Z M 694 1194 L 694 1386 L 877 1386 L 877 1194 L 694 1194 Z M 322 1194 L 322 1386 L 502 1386 L 502 1194 L 322 1194 Z" unicode="ü" />
-<glyph horiz-adv-x="1092" d="M 217 -416 C 169 -416 129 -413 97 -408 C 65 -402 37 -396 14 -389 L 55 -248 C 70 -252 91 -256 118 -260 C 144 -264 177 -266 215 -266 C 243 -266 267 -263 288 -257 C 309 -251 328 -241 344 -229 C 360 -217 374 -201 387 -182 C 399 -162 411 -139 422 -113 L 463 -6 L 45 1081 L 231 1081 L 549 207 L 553 207 L 870 1081 L 1049 1081 L 586 -123 C 567 -170 547 -212 526 -249 C 505 -285 480 -316 452 -341 C 424 -365 391 -384 353 -397 C 315 -409 269 -416 217 -416 Z M 375 1198 L 567 1522 L 782 1522 L 492 1198 L 375 1198 Z" unicode="ý" />
-<glyph horiz-adv-x="1227" d="M 156 -410 L 156 1516 L 332 1516 L 332 932 C 352 954 375 976 399 997 C 423 1017 450 1036 480 1052 C 509 1068 541 1080 575 1090 C 609 1099 647 1104 688 1104 C 750 1104 807 1092 861 1069 C 915 1046 961 1011 1001 965 C 1040 918 1071 859 1094 789 C 1116 719 1128 637 1128 543 C 1128 449 1116 367 1093 297 C 1070 227 1038 168 998 122 C 957 76 909 41 853 18 C 797 -4 736 -16 670 -16 C 603 -16 541 -2 485 25 C 429 53 378 91 332 139 L 332 -410 L 156 -410 Z M 645 127 C 692 127 735 135 773 151 C 811 167 843 192 869 226 C 895 260 916 303 930 355 C 944 407 952 469 952 541 C 952 609 944 669 929 721 C 913 773 892 816 865 850 C 837 884 805 909 768 926 C 730 943 690 952 647 952 C 584 952 527 936 476 906 C 425 876 377 836 332 786 L 332 291 C 379 237 428 196 480 168 C 532 140 587 127 645 127 Z" unicode="þ" />
-<glyph horiz-adv-x="1092" d="M 217 -416 C 169 -416 129 -413 97 -408 C 65 -402 37 -396 14 -389 L 55 -248 C 70 -252 91 -256 118 -260 C 144 -264 177 -266 215 -266 C 243 -266 267 -263 288 -257 C 309 -251 328 -241 344 -229 C 360 -217 374 -201 387 -182 C 399 -162 411 -139 422 -113 L 463 -6 L 45 1081 L 231 1081 L 549 207 L 553 207 L 870 1081 L 1049 1081 L 586 -123 C 567 -170 547 -212 526 -249 C 505 -285 480 -316 452 -341 C 424 -365 391 -384 353 -397 C 315 -409 269 -416 217 -416 Z M 643 1194 L 643 1386 L 826 1386 L 826 1194 L 643 1194 Z M 271 1194 L 271 1386 L 451 1386 L 451 1194 L 271 1194 Z" unicode="ÿ" />
-<glyph horiz-adv-x="1393" d="" unicode="Ā" />
-<glyph horiz-adv-x="1133" d="" unicode="ā" />
-<glyph horiz-adv-x="1393" d="" unicode="Ă" />
-<glyph horiz-adv-x="1133" d="" unicode="ă" />
-<glyph horiz-adv-x="1393" d="" unicode="Ą" />
-<glyph horiz-adv-x="1133" d="" unicode="ą" />
-<glyph horiz-adv-x="1444" d="" unicode="Ć" />
-<glyph horiz-adv-x="1098" d="" unicode="ć" />
-<glyph horiz-adv-x="1444" d="" unicode="Ĉ" />
-<glyph horiz-adv-x="1098" d="" unicode="ĉ" />
-<glyph horiz-adv-x="1444" d="" unicode="Ċ" />
-<glyph horiz-adv-x="1098" d="" unicode="ċ" />
-<glyph horiz-adv-x="1444" d="" unicode="Č" />
-<glyph horiz-adv-x="1098" d="" unicode="č" />
-<glyph horiz-adv-x="1464" d="" unicode="Ď" />
-<glyph horiz-adv-x="1227" d="" unicode="ď" />
-<glyph horiz-adv-x="1464" d="" unicode="Đ" />
-<glyph horiz-adv-x="1227" d="" unicode="đ" />
-<glyph horiz-adv-x="1247" d="" unicode="Ē" />
-<glyph horiz-adv-x="1130" d="" unicode="ē" />
-<glyph horiz-adv-x="1247" d="" unicode="Ĕ" />
-<glyph horiz-adv-x="1130" d="" unicode="ĕ" />
-<glyph horiz-adv-x="1247" d="" unicode="Ė" />
-<glyph horiz-adv-x="1130" d="" unicode="ė" />
-<glyph horiz-adv-x="1247" d="" unicode="Ę" />
-<glyph horiz-adv-x="1130" d="" unicode="ę" />
-<glyph horiz-adv-x="1247" d="" unicode="Ě" />
-<glyph horiz-adv-x="1130" d="" unicode="ě" />
-<glyph horiz-adv-x="1495" d="" unicode="Ĝ" />
-<glyph horiz-adv-x="1178" d="" unicode="ĝ" />
-<glyph horiz-adv-x="1495" d="" unicode="Ğ" />
-<glyph horiz-adv-x="1178" d="" unicode="ğ" />
-<glyph horiz-adv-x="1495" d="" unicode="Ġ" />
-<glyph horiz-adv-x="1178" d="" unicode="ġ" />
-<glyph horiz-adv-x="1495" d="" unicode="Ģ" />
-<glyph horiz-adv-x="1178" d="" unicode="ģ" />
-<glyph horiz-adv-x="1513" d="" unicode="Ĥ" />
-<glyph horiz-adv-x="1204" d="" unicode="ĥ" />
-<glyph horiz-adv-x="1513" d="" unicode="Ħ" />
-<glyph horiz-adv-x="1204" d="" unicode="ħ" />
-<glyph horiz-adv-x="594" d="" unicode="Ĩ" />
-<glyph horiz-adv-x="512" d="" unicode="ĩ" />
-<glyph horiz-adv-x="594" d="" unicode="Ī" />
-<glyph horiz-adv-x="512" d="" unicode="ī" />
-<glyph horiz-adv-x="594" d="" unicode="Ĭ" />
-<glyph horiz-adv-x="512" d="" unicode="ĭ" />
-<glyph horiz-adv-x="594" d="" unicode="Į" />
-<glyph horiz-adv-x="512" d="" unicode="į" />
-<glyph horiz-adv-x="594" d="" unicode="İ" />
-<glyph horiz-adv-x="512" d="M 168 0 L 168 1081 L 344 1081 L 344 0 L 168 0 Z" unicode="ı" />
-<glyph horiz-adv-x="1546" d="" unicode="Ĳ" />
-<glyph horiz-adv-x="1024" d="" unicode="ĳ" />
-<glyph horiz-adv-x="1034" d="" unicode="Ĵ" />
-<glyph horiz-adv-x="512" d="" unicode="ĵ" />
-<glyph horiz-adv-x="1389" d="" unicode="Ķ" />
-<glyph horiz-adv-x="1106" d="" unicode="ķ" />
-<glyph horiz-adv-x="1106" d="" unicode="ĸ" />
-<glyph horiz-adv-x="1165" d="" unicode="Ĺ" />
-<glyph horiz-adv-x="512" d="" unicode="ĺ" />
-<glyph horiz-adv-x="1165" d="" unicode="Ļ" />
-<glyph horiz-adv-x="512" d="" unicode="ļ" />
-<glyph horiz-adv-x="1165" d="" unicode="Ľ" />
-<glyph horiz-adv-x="512" d="" unicode="ľ" />
-<glyph horiz-adv-x="1192" d="" unicode="Ŀ" />
-<glyph horiz-adv-x="721" d="" unicode="ŀ" />
-<glyph horiz-adv-x="1165" d="" unicode="Ł" />
-<glyph horiz-adv-x="623" d="" unicode="ł" />
-<glyph horiz-adv-x="1534" d="" unicode="Ń" />
-<glyph horiz-adv-x="1204" d="" unicode="ń" />
-<glyph horiz-adv-x="1534" d="" unicode="Ņ" />
-<glyph horiz-adv-x="1204" d="" unicode="ņ" />
-<glyph horiz-adv-x="1534" d="" unicode="Ň" />
-<glyph horiz-adv-x="1204" d="" unicode="ň" />
-<glyph horiz-adv-x="1534" d="" unicode="Ŋ" />
-<glyph horiz-adv-x="1204" d="" unicode="ŋ" />
-<glyph horiz-adv-x="1534" d="" unicode="Ō" />
-<glyph horiz-adv-x="1194" d="" unicode="ō" />
-<glyph horiz-adv-x="1534" d="" unicode="Ŏ" />
-<glyph horiz-adv-x="1194" d="" unicode="ŏ" />
-<glyph horiz-adv-x="1534" d="" unicode="Ő" />
-<glyph horiz-adv-x="1194" d="" unicode="ő" />
-<glyph horiz-adv-x="2296" d="M 768 -29 C 676 -29 590 -10 510 25 C 430 61 361 113 302 181 C 243 249 197 331 163 429 C 129 526 113 636 113 758 C 113 880 129 989 163 1086 C 197 1183 243 1265 302 1333 C 361 1401 430 1453 510 1489 C 590 1525 676 1544 768 1544 C 822 1544 874 1537 922 1523 C 970 1509 1015 1490 1055 1465 C 1095 1439 1132 1409 1165 1374 C 1197 1338 1225 1299 1249 1255 L 1249 1516 L 2165 1516 L 2165 1350 L 1415 1350 L 1415 877 L 1972 877 L 1972 715 L 1415 715 L 1415 164 L 2206 164 L 2206 0 L 1249 0 L 1249 264 C 1225 220 1197 181 1165 145 C 1132 109 1095 78 1055 52 C 1015 26 970 6 922 -7 C 874 -21 822 -29 768 -29 Z M 768 133 C 836 133 899 147 957 175 C 1014 203 1063 243 1105 297 C 1146 350 1178 415 1202 493 C 1225 570 1237 658 1237 758 C 1237 856 1225 944 1202 1022 C 1178 1099 1146 1164 1105 1217 C 1063 1270 1014 1310 957 1338 C 899 1366 836 1380 768 1380 C 698 1380 634 1366 576 1338 C 518 1310 468 1270 426 1217 C 384 1164 351 1099 328 1022 C 304 944 293 856 293 758 C 293 658 304 570 328 493 C 351 415 384 350 426 297 C 468 243 518 203 576 175 C 634 147 698 133 768 133 Z" unicode="Œ" />
-<glyph horiz-adv-x="1939" d="M 594 -23 C 528 -23 464 -11 404 13 C 344 37 291 72 245 120 C 199 167 162 226 135 296 C 107 366 94 448 94 541 C 94 633 107 715 134 785 C 161 855 198 914 244 962 C 290 1009 343 1044 403 1068 C 463 1092 527 1104 594 1104 C 640 1104 684 1097 726 1085 C 767 1072 805 1054 840 1031 C 875 1007 906 979 933 947 C 960 914 983 878 1001 838 C 1017 876 1039 912 1066 945 C 1093 977 1124 1005 1159 1029 C 1193 1052 1231 1070 1271 1084 C 1311 1097 1352 1104 1395 1104 C 1457 1104 1515 1092 1569 1069 C 1623 1046 1671 1011 1712 964 C 1753 917 1785 858 1809 786 C 1833 714 1845 630 1845 532 L 1845 502 L 1085 502 C 1086 439 1095 384 1112 337 C 1129 289 1152 250 1181 218 C 1210 186 1244 161 1283 145 C 1321 129 1363 121 1409 121 C 1447 121 1482 124 1513 132 C 1543 140 1571 151 1597 166 C 1622 181 1645 200 1667 222 C 1689 244 1710 269 1731 297 L 1835 207 C 1785 135 1724 78 1653 38 C 1581 -2 1495 -23 1395 -23 C 1351 -23 1309 -16 1269 -4 C 1228 8 1190 26 1155 49 C 1120 71 1089 99 1062 131 C 1034 163 1013 198 997 238 C 979 199 956 164 929 132 C 902 100 872 72 838 49 C 804 26 766 8 725 -4 C 684 -16 640 -23 594 -23 Z M 594 125 C 646 125 691 135 731 155 C 771 175 804 203 832 240 C 859 276 880 320 894 371 C 908 422 915 479 915 541 C 915 597 908 650 895 700 C 882 750 862 793 836 831 C 809 868 775 897 735 919 C 695 941 648 952 594 952 C 542 952 496 942 456 922 C 416 902 382 873 355 837 C 327 801 307 757 293 707 C 279 657 272 601 272 541 C 272 483 278 429 291 379 C 304 328 324 284 351 246 C 377 208 411 179 451 157 C 491 135 539 125 594 125 Z M 1677 633 C 1673 681 1665 724 1652 764 C 1638 804 1620 838 1596 866 C 1572 894 1544 916 1510 932 C 1476 948 1437 956 1393 956 C 1356 956 1321 949 1287 937 C 1253 924 1223 904 1195 878 C 1167 851 1144 817 1125 777 C 1106 737 1093 689 1087 633 L 1677 633 Z" unicode="œ" />
-<glyph horiz-adv-x="1386" d="" unicode="Ŕ" />
-<glyph horiz-adv-x="819" d="" unicode="ŕ" />
-<glyph horiz-adv-x="1386" d="" unicode="Ŗ" />
-<glyph horiz-adv-x="819" d="" unicode="ŗ" />
-<glyph horiz-adv-x="1386" d="" unicode="Ř" />
-<glyph horiz-adv-x="819" d="" unicode="ř" />
-<glyph horiz-adv-x="1346" d="" unicode="Ś" />
-<glyph horiz-adv-x="1049" d="" unicode="ś" />
-<glyph horiz-adv-x="1346" d="" unicode="Ŝ" />
-<glyph horiz-adv-x="1049" d="" unicode="ŝ" />
-<glyph horiz-adv-x="1346" d="" unicode="Ş" />
-<glyph horiz-adv-x="1049" d="" unicode="ş" />
-<glyph horiz-adv-x="1346" d="M 684 -29 C 612 -29 545 -19 484 -1 C 422 17 367 44 319 79 C 270 113 228 155 193 204 C 158 252 131 307 111 367 L 262 434 C 300 332 355 256 428 206 C 500 156 588 131 692 131 C 745 131 793 136 837 147 C 881 158 918 174 949 196 C 980 217 1004 243 1021 274 C 1038 305 1047 341 1047 381 C 1047 418 1041 451 1029 480 C 1017 508 997 535 968 560 C 939 584 900 608 851 630 C 802 652 740 674 666 698 C 586 722 515 746 453 771 C 391 796 338 825 295 858 C 252 891 219 930 196 976 C 173 1022 162 1077 162 1143 C 162 1201 173 1254 197 1303 C 221 1352 254 1394 297 1430 C 339 1466 391 1494 451 1514 C 511 1534 577 1544 649 1544 C 721 1544 785 1535 843 1518 C 901 1500 952 1476 996 1446 C 1040 1416 1077 1380 1108 1338 C 1139 1296 1164 1252 1184 1204 L 1040 1124 C 998 1215 945 1280 880 1320 C 814 1360 737 1380 647 1380 C 599 1380 556 1374 518 1363 C 480 1352 447 1337 421 1317 C 395 1297 375 1273 361 1246 C 347 1218 340 1189 340 1157 C 340 1116 346 1081 360 1053 C 374 1025 396 999 428 977 C 459 954 500 933 551 913 C 602 893 665 871 739 848 C 815 824 883 799 943 773 C 1003 747 1054 716 1096 682 C 1138 647 1170 606 1192 560 C 1214 513 1225 457 1225 393 C 1225 330 1211 273 1185 221 C 1159 169 1122 125 1075 88 C 1027 51 970 22 904 2 C 838 -18 764 -29 684 -29 Z M 606 1628 L 342 1958 L 450 1958 L 671 1765 L 893 1958 L 999 1958 L 735 1628 L 606 1628 Z" unicode="Š" />
-<glyph horiz-adv-x="1049" d="M 520 -20 C 471 -20 425 -15 381 -6 C 337 2 297 15 259 31 C 221 47 187 67 157 90 C 126 112 100 137 78 164 L 184 270 C 225 226 273 190 328 162 C 383 134 448 121 522 121 C 606 121 671 135 715 164 C 759 192 782 235 782 291 C 782 317 776 340 764 360 C 752 380 735 397 712 411 C 688 425 659 438 625 450 C 590 461 550 472 504 483 C 446 497 394 512 346 528 C 298 544 258 564 224 588 C 190 612 163 642 145 678 C 126 713 117 757 117 809 C 117 849 125 888 143 924 C 160 960 185 991 218 1018 C 250 1044 290 1065 337 1081 C 383 1096 436 1104 496 1104 C 543 1104 586 1100 626 1093 C 666 1085 702 1075 736 1061 C 769 1047 800 1031 828 1012 C 856 992 883 971 909 948 L 817 831 C 775 869 728 900 675 924 C 621 948 564 961 504 961 C 464 961 431 957 403 949 C 375 941 352 930 335 916 C 317 902 305 887 297 869 C 289 851 285 833 285 815 C 285 789 290 768 301 750 C 311 732 327 717 349 704 C 370 690 397 679 429 669 C 461 659 498 649 541 639 C 601 624 657 608 707 592 C 757 575 801 554 837 529 C 873 504 902 473 922 436 C 942 399 952 353 952 297 C 952 245 941 199 919 160 C 897 120 866 87 828 61 C 789 34 743 14 691 0 C 638 -13 581 -20 520 -20 Z M 458 1200 L 194 1530 L 302 1530 L 523 1337 L 745 1530 L 851 1530 L 587 1200 L 458 1200 Z" unicode="š" />
-<glyph horiz-adv-x="1276" d="" unicode="Ţ" />
-<glyph horiz-adv-x="770" d="" unicode="ţ" />
-<glyph horiz-adv-x="1276" d="" unicode="Ť" />
-<glyph horiz-adv-x="770" d="" unicode="ť" />
-<glyph horiz-adv-x="1276" d="" unicode="Ŧ" />
-<glyph horiz-adv-x="770" d="" unicode="ŧ" />
-<glyph horiz-adv-x="1468" d="" unicode="Ũ" />
-<glyph horiz-adv-x="1204" d="" unicode="ũ" />
-<glyph horiz-adv-x="1468" d="" unicode="Ū" />
-<glyph horiz-adv-x="1204" d="" unicode="ū" />
-<glyph horiz-adv-x="1468" d="" unicode="Ŭ" />
-<glyph horiz-adv-x="1204" d="" unicode="ŭ" />
-<glyph horiz-adv-x="1468" d="" unicode="Ů" />
-<glyph horiz-adv-x="1204" d="" unicode="ů" />
-<glyph horiz-adv-x="1468" d="" unicode="Ű" />
-<glyph horiz-adv-x="1204" d="" unicode="ű" />
-<glyph horiz-adv-x="1468" d="" unicode="Ų" />
-<glyph horiz-adv-x="1204" d="" unicode="ų" />
-<glyph horiz-adv-x="1907" d="" unicode="Ŵ" />
-<glyph horiz-adv-x="1542" d="" unicode="ŵ" />
-<glyph horiz-adv-x="1292" d="" unicode="Ŷ" />
-<glyph horiz-adv-x="1092" d="" unicode="ŷ" />
-<glyph horiz-adv-x="1292" d="M 555 0 L 555 664 L 45 1516 L 238 1516 L 649 817 L 1059 1516 L 1247 1516 L 735 664 L 735 0 L 555 0 Z M 739 1608 L 739 1800 L 922 1800 L 922 1608 L 739 1608 Z M 367 1608 L 367 1800 L 547 1800 L 547 1608 L 367 1608 Z" unicode="Ÿ" />
-<glyph horiz-adv-x="1290" d="" unicode="Ź" />
-<glyph horiz-adv-x="1044" d="" unicode="ź" />
-<glyph horiz-adv-x="1290" d="" unicode="Ż" />
-<glyph horiz-adv-x="1044" d="" unicode="ż" />
-<glyph horiz-adv-x="1290" d="M 82 0 L 82 127 L 969 1364 L 139 1364 L 139 1516 L 1190 1516 L 1190 1384 L 309 150 L 1190 150 L 1190 0 L 82 0 Z M 584 1628 L 320 1958 L 428 1958 L 649 1765 L 871 1958 L 977 1958 L 713 1628 L 584 1628 Z" unicode="Ž" />
-<glyph horiz-adv-x="1044" d="M 80 0 L 80 106 L 713 938 L 129 938 L 129 1081 L 934 1081 L 934 971 L 299 141 L 965 141 L 965 0 L 80 0 Z M 460 1200 L 196 1530 L 304 1530 L 525 1337 L 747 1530 L 853 1530 L 589 1200 L 460 1200 Z" unicode="ž" />
-<glyph horiz-adv-x="715" d="M -174 -272 C -166 -273 -155 -274 -141 -275 C -126 -275 -112 -276 -100 -276 C -73 -276 -48 -273 -26 -267 C -4 -261 15 -251 32 -239 C 49 -226 63 -209 74 -189 C 85 -169 92 -144 96 -115 L 227 838 L 39 838 L 57 975 L 246 975 L 279 1227 C 285 1273 296 1315 313 1351 C 329 1387 352 1418 382 1443 C 412 1468 448 1487 491 1500 C 534 1513 585 1520 643 1520 C 651 1520 660 1519 670 1519 C 680 1518 689 1517 699 1516 C 709 1515 718 1514 726 1514 C 734 1513 740 1513 745 1513 L 725 1376 C 717 1377 706 1378 692 1379 C 677 1379 663 1380 651 1380 C 626 1380 603 1377 581 1373 C 559 1368 539 1360 521 1348 C 503 1336 489 1321 477 1302 C 465 1282 458 1258 455 1229 L 422 975 L 659 975 L 641 838 L 403 838 L 270 -131 C 264 -175 252 -215 236 -250 C 219 -284 196 -314 167 -338 C 138 -362 102 -380 59 -393 C 16 -405 -34 -412 -92 -412 C -100 -412 -109 -411 -119 -411 C -129 -411 -138 -410 -148 -410 C -158 -409 -167 -408 -175 -408 C -183 -407 -189 -406 -193 -406 L -174 -272 Z" unicode="ƒ" />
-<glyph horiz-adv-x="983" d="M -33 0 L 856 1516 L 1016 1516 L 129 0 L -33 0 Z" unicode="⁄" />
-<glyph horiz-adv-x="1280" d="" unicode="∂" />
-<glyph horiz-adv-x="1536" d="" unicode="∆" />
-<glyph horiz-adv-x="1536" d="" unicode="∏" />
-<glyph horiz-adv-x="1152" d="" unicode="∑" />
-<glyph horiz-adv-x="1307" d="" unicode="−" />
-<glyph horiz-adv-x="983" d="M -33 0 L 856 1516 L 1016 1516 L 129 0 L -33 0 Z" unicode="∕" />
-<glyph horiz-adv-x="1346" d="" unicode="Ș" />
-<glyph horiz-adv-x="1049" d="" unicode="ș" />
-<glyph horiz-adv-x="1276" d="" unicode="Ț" />
-<glyph horiz-adv-x="770" d="" unicode="ț" />
-<glyph horiz-adv-x="1575" d="" unicode="∞" />
-<glyph horiz-adv-x="1152" d="" unicode="∫" />
-<glyph horiz-adv-x="1249" d="" unicode="≈" />
-<glyph horiz-adv-x="1804" d="M 240 0 L 240 936 L 51 936 L 51 1081 L 240 1081 L 240 1227 C 240 1272 246 1313 259 1349 C 271 1385 290 1416 316 1442 C 342 1467 374 1486 413 1500 C 452 1513 498 1520 551 1520 C 559 1520 568 1519 578 1519 C 588 1518 597 1517 606 1516 C 615 1515 623 1514 631 1514 C 638 1513 644 1513 649 1513 L 649 1370 C 639 1372 628 1373 615 1373 C 601 1373 589 1374 578 1374 C 528 1374 488 1362 459 1338 C 430 1314 416 1276 416 1223 L 416 1081 L 852 1081 L 852 1221 C 852 1266 858 1307 871 1344 C 883 1381 902 1413 928 1439 C 954 1465 986 1485 1025 1499 C 1064 1513 1110 1520 1163 1520 C 1171 1520 1179 1519 1188 1519 C 1197 1518 1206 1517 1215 1516 C 1224 1515 1233 1514 1241 1514 C 1249 1513 1255 1513 1260 1513 L 1260 1370 C 1251 1372 1240 1373 1226 1373 C 1212 1373 1199 1374 1188 1374 C 1138 1374 1099 1362 1071 1338 C 1042 1314 1028 1276 1028 1223 L 1028 1081 L 1251 1081 L 1251 936 L 1028 936 L 1028 0 L 852 0 L 852 936 L 416 936 L 416 0 L 240 0 Z M 1462 0 L 1462 1516 L 1638 1516 L 1638 0 L 1462 0 Z" unicode="ﬄ" />
-<glyph horiz-adv-x="1130" d="" unicode="ə" />
-<glyph horiz-adv-x="1307" d="" unicode="≠" />
-<glyph horiz-adv-x="1307" d="" unicode="≤" />
-<glyph horiz-adv-x="1307" d="" unicode="≥" />
-<glyph horiz-adv-x="989" d="M 496 549 C 436 549 383 560 337 583 C 291 606 252 639 220 681 C 188 723 165 775 149 835 C 133 895 125 963 125 1038 C 125 1112 133 1179 149 1240 C 165 1301 188 1353 220 1397 C 252 1441 291 1474 337 1498 C 383 1522 436 1534 496 1534 C 555 1534 608 1522 654 1498 C 700 1474 738 1441 770 1397 C 801 1353 825 1301 841 1240 C 857 1179 866 1112 866 1038 C 866 963 857 895 841 835 C 825 775 801 723 770 681 C 738 639 700 606 654 583 C 608 560 555 549 496 549 Z M 496 670 C 568 670 623 701 661 763 C 699 825 719 916 719 1038 C 719 1156 699 1248 660 1312 C 620 1376 566 1409 496 1409 C 421 1409 365 1376 327 1312 C 289 1248 270 1156 270 1038 C 270 916 289 825 329 763 C 369 701 424 670 496 670 Z" unicode="⁰" />
-<glyph horiz-adv-x="920" d="M 545 786 L 109 786 L 109 883 L 535 1516 L 690 1516 L 690 911 L 844 911 L 844 786 L 690 786 L 690 565 L 545 565 L 545 786 Z M 549 905 L 549 1331 L 266 905 L 549 905 Z" unicode="⁴" />
-<glyph horiz-adv-x="889" d="M 432 549 C 357 549 292 564 237 595 C 182 626 136 668 98 721 L 186 807 C 215 765 250 732 292 706 C 333 680 380 668 432 668 C 466 668 497 673 523 685 C 549 696 570 711 587 730 C 604 749 617 771 626 797 C 634 822 639 849 639 877 C 639 910 634 939 625 965 C 615 990 602 1011 586 1029 C 570 1046 550 1059 527 1068 C 504 1076 479 1081 453 1081 C 411 1081 375 1072 347 1056 C 318 1040 291 1015 266 981 L 152 1022 L 186 1516 L 727 1516 L 717 1391 L 305 1391 L 285 1120 C 303 1141 328 1159 360 1173 C 392 1187 433 1194 485 1194 C 527 1194 566 1187 602 1173 C 638 1159 670 1138 697 1112 C 724 1085 745 1052 761 1013 C 776 974 784 929 784 879 C 784 827 775 780 759 740 C 742 699 718 664 688 636 C 657 608 620 586 577 571 C 533 556 485 549 432 549 Z" unicode="⁵" />
-<glyph horiz-adv-x="930" d="M 485 549 C 432 549 384 558 340 577 C 296 596 258 625 226 665 C 194 705 169 755 151 815 C 133 875 125 946 125 1028 C 125 1107 134 1178 152 1241 C 170 1303 196 1356 230 1400 C 264 1443 305 1476 353 1499 C 401 1522 456 1534 516 1534 C 578 1534 633 1524 680 1506 C 726 1487 765 1464 795 1438 L 723 1335 C 707 1347 691 1357 676 1367 C 660 1376 644 1384 628 1390 C 611 1396 593 1401 575 1405 C 557 1409 536 1411 514 1411 C 435 1411 375 1381 334 1323 C 293 1265 271 1179 268 1065 C 283 1080 299 1094 317 1108 C 335 1121 354 1133 375 1143 C 395 1153 418 1161 442 1167 C 466 1173 492 1176 522 1176 C 572 1176 616 1168 654 1154 C 692 1140 723 1119 749 1093 C 775 1067 794 1035 807 997 C 820 959 827 918 827 872 C 827 825 819 782 804 743 C 788 703 766 669 737 641 C 707 612 671 589 629 573 C 587 557 539 549 485 549 Z M 487 668 C 547 668 595 685 631 720 C 666 754 684 804 684 868 C 684 896 680 922 673 946 C 665 970 654 990 639 1007 C 623 1023 604 1036 580 1045 C 556 1054 527 1059 494 1059 C 447 1059 405 1048 369 1026 C 332 1004 300 975 272 940 C 276 893 284 853 297 819 C 309 785 325 756 344 734 C 363 712 385 695 409 684 C 433 673 459 668 487 668 Z" unicode="⁶" />
-<glyph horiz-adv-x="1061" d="M 201 1192 L 465 1522 L 594 1522 L 858 1192 L 752 1192 L 528 1384 L 307 1192 L 201 1192 Z" unicode="ˆ" />
-<glyph horiz-adv-x="1061" d="M 465 1200 L 201 1530 L 309 1530 L 530 1337 L 752 1530 L 858 1530 L 594 1200 L 465 1200 Z" unicode="ˇ" />
-<glyph horiz-adv-x="838" d="M 571 1386 L 109 1386 L 109 1516 L 731 1516 L 731 1403 L 346 565 L 193 565 L 571 1386 Z" unicode="⁷" />
-<glyph horiz-adv-x="922" d="M 461 549 C 403 549 352 555 308 568 C 263 580 225 598 195 621 C 164 643 141 670 125 701 C 109 732 102 766 102 803 C 102 835 107 863 118 889 C 128 915 143 938 163 960 C 182 981 205 1000 233 1018 C 261 1035 292 1051 326 1067 C 297 1081 271 1095 249 1110 C 227 1124 208 1141 192 1159 C 176 1177 165 1197 157 1219 C 149 1241 145 1266 145 1294 C 145 1324 152 1354 166 1383 C 180 1412 200 1438 227 1460 C 253 1482 286 1500 326 1514 C 365 1527 410 1534 461 1534 C 513 1534 558 1527 597 1514 C 636 1500 669 1482 696 1460 C 722 1438 742 1412 756 1383 C 769 1354 776 1324 776 1294 C 776 1267 771 1243 762 1222 C 753 1200 740 1181 724 1163 C 708 1145 688 1128 665 1114 C 642 1099 616 1085 588 1073 C 622 1057 654 1040 682 1022 C 710 1004 735 985 755 964 C 775 942 791 919 802 893 C 813 867 819 837 819 803 C 819 767 811 733 795 702 C 779 671 755 644 725 622 C 694 599 656 581 612 568 C 568 555 517 549 461 549 Z M 459 657 C 491 657 520 660 547 668 C 573 675 596 685 615 698 C 633 711 648 727 658 746 C 668 764 674 785 674 809 C 674 831 668 852 658 871 C 648 890 633 908 613 924 C 593 940 568 956 540 971 C 512 986 480 1001 444 1016 C 408 1000 378 985 353 970 C 327 954 307 938 291 922 C 275 905 263 887 255 869 C 247 851 244 831 244 809 C 244 786 249 765 259 747 C 269 728 284 712 303 699 C 321 685 344 675 371 668 C 397 660 427 657 459 657 Z M 469 1120 C 497 1133 522 1145 543 1157 C 564 1169 582 1181 596 1193 C 610 1205 620 1219 627 1233 C 633 1247 637 1264 637 1284 C 637 1300 633 1317 626 1333 C 619 1349 608 1364 594 1377 C 580 1389 562 1399 540 1407 C 518 1415 493 1419 463 1419 C 433 1419 408 1415 386 1408 C 364 1400 345 1391 331 1379 C 316 1367 305 1353 298 1337 C 290 1321 287 1304 287 1288 C 287 1268 290 1250 297 1236 C 304 1221 315 1207 330 1195 C 344 1182 363 1170 386 1158 C 409 1146 437 1134 469 1120 Z" unicode="⁸" />
-<glyph horiz-adv-x="930" d="M 414 549 C 351 549 296 558 250 576 C 203 594 165 616 135 643 L 207 743 C 223 731 238 720 254 711 C 269 702 285 695 301 689 C 317 683 335 678 354 675 C 372 671 393 670 416 670 C 494 670 553 698 595 756 C 637 813 659 899 662 1014 C 646 998 630 984 613 971 C 595 957 576 946 556 936 C 535 926 512 918 488 912 C 464 906 437 903 408 903 C 358 903 314 910 276 925 C 238 939 207 960 181 987 C 155 1013 136 1045 123 1083 C 110 1121 104 1162 104 1208 C 104 1254 111 1298 127 1338 C 142 1378 164 1412 193 1441 C 222 1470 258 1493 300 1509 C 342 1525 390 1534 444 1534 C 496 1534 545 1524 589 1505 C 633 1485 672 1456 704 1416 C 736 1376 762 1327 780 1267 C 798 1207 807 1136 807 1055 C 807 975 797 904 778 842 C 758 779 731 726 697 683 C 662 639 621 606 573 583 C 525 560 472 549 414 549 Z M 436 1020 C 482 1020 523 1031 560 1053 C 596 1075 629 1103 657 1139 C 653 1185 644 1226 632 1260 C 620 1294 604 1323 585 1346 C 566 1368 544 1385 520 1396 C 496 1407 470 1413 442 1413 C 381 1413 333 1395 298 1359 C 263 1323 246 1274 246 1210 C 246 1181 249 1155 257 1132 C 264 1108 275 1088 291 1072 C 306 1055 326 1042 350 1033 C 374 1024 402 1020 436 1020 Z" unicode="⁹" />
-<glyph horiz-adv-x="1024" d="" unicode="˘" />
-<glyph horiz-adv-x="1024" d="" unicode="˙" />
-<glyph horiz-adv-x="1106" d="M 553 1182 C 525 1182 499 1187 475 1197 C 451 1207 430 1220 413 1238 C 395 1255 382 1275 372 1299 C 362 1323 358 1348 358 1376 C 358 1403 362 1428 372 1452 C 382 1475 395 1495 413 1512 C 430 1529 451 1542 475 1552 C 499 1562 525 1567 553 1567 C 581 1567 607 1562 631 1552 C 655 1542 675 1529 693 1512 C 710 1495 723 1475 733 1452 C 743 1428 748 1403 748 1376 C 748 1348 743 1323 733 1299 C 723 1275 710 1255 693 1238 C 675 1220 655 1207 631 1197 C 607 1187 581 1182 553 1182 Z M 553 1264 C 583 1264 609 1274 629 1295 C 649 1316 659 1343 659 1376 C 659 1408 649 1434 629 1455 C 609 1476 583 1487 553 1487 C 522 1487 496 1476 476 1455 C 456 1434 446 1408 446 1376 C 446 1343 456 1316 476 1295 C 496 1274 522 1264 553 1264 Z" unicode="˚" />
-<glyph horiz-adv-x="1024" d="" unicode="˛" />
-<glyph horiz-adv-x="1040" d="M 672 1188 C 642 1188 613 1194 586 1206 C 558 1218 532 1231 508 1245 C 484 1259 460 1273 438 1285 C 415 1297 393 1303 373 1303 C 343 1303 321 1294 308 1277 C 295 1260 289 1232 289 1192 L 180 1192 C 180 1277 196 1339 229 1378 C 261 1416 308 1436 369 1436 C 399 1436 427 1430 454 1418 C 481 1406 507 1392 532 1378 C 556 1364 580 1351 603 1339 C 626 1327 648 1321 670 1321 C 698 1321 719 1329 733 1346 C 747 1363 754 1392 754 1432 L 858 1432 C 858 1347 842 1285 810 1246 C 778 1207 732 1188 672 1188 Z" unicode="˜" />
-<glyph horiz-adv-x="1042" d="" unicode="˝" />
-<glyph horiz-adv-x="1321" d="M 240 0 L 240 936 L 51 936 L 51 1081 L 240 1081 L 240 1227 C 240 1272 246 1313 259 1349 C 271 1385 290 1416 316 1442 C 342 1467 374 1486 413 1500 C 452 1513 498 1520 551 1520 C 559 1520 568 1519 578 1519 C 588 1518 597 1517 606 1516 C 615 1515 623 1514 631 1514 C 638 1513 644 1513 649 1513 L 649 1372 C 639 1373 628 1374 615 1375 C 601 1375 589 1376 578 1376 C 528 1376 488 1363 459 1339 C 430 1315 416 1277 416 1225 L 416 1081 L 852 1081 L 852 1223 C 852 1268 858 1309 870 1346 C 882 1382 902 1413 928 1439 C 954 1465 987 1485 1028 1499 C 1069 1513 1118 1520 1176 1520 C 1184 1520 1193 1519 1203 1519 C 1213 1518 1222 1517 1232 1516 C 1242 1515 1251 1514 1259 1514 C 1267 1513 1273 1513 1278 1513 L 1278 1370 C 1268 1372 1256 1373 1241 1374 C 1226 1375 1213 1376 1202 1376 C 1176 1376 1153 1373 1132 1368 C 1111 1363 1093 1355 1077 1344 C 1061 1332 1049 1317 1041 1297 C 1032 1277 1028 1253 1028 1225 L 1028 1081 L 1266 1081 L 1266 936 L 1028 936 L 1028 0 L 852 0 L 852 936 L 416 936 L 416 0 L 240 0 Z" unicode="ﬀ" />
-<glyph horiz-adv-x="1210" d="M 240 0 L 240 936 L 51 936 L 51 1081 L 240 1081 L 240 1227 C 240 1272 246 1313 259 1349 C 271 1385 290 1416 316 1442 C 342 1467 374 1486 413 1500 C 452 1513 498 1520 551 1520 C 567 1520 585 1518 605 1516 C 625 1514 639 1513 649 1513 L 649 1370 C 639 1372 628 1373 615 1373 C 601 1373 589 1374 578 1374 C 528 1374 488 1362 459 1338 C 430 1314 416 1276 416 1223 L 416 1081 L 641 1081 L 641 936 L 416 936 L 416 0 L 240 0 Z M 852 0 L 852 1081 L 1028 1081 L 1028 0 L 852 0 Z M 850 1307 L 850 1485 L 1030 1485 L 1030 1307 L 850 1307 Z" unicode="ﬁ" />
-<glyph horiz-adv-x="1206" d="M 240 0 L 240 936 L 51 936 L 51 1081 L 240 1081 L 240 1227 C 240 1272 246 1313 259 1349 C 271 1385 290 1416 316 1442 C 342 1467 374 1486 413 1500 C 452 1513 498 1520 551 1520 C 567 1520 585 1518 605 1516 C 625 1514 639 1513 649 1513 L 649 1370 C 639 1372 628 1373 615 1373 C 601 1373 589 1374 578 1374 C 528 1374 488 1362 459 1338 C 430 1314 416 1276 416 1223 L 416 1081 L 641 1081 L 641 936 L 416 936 L 416 0 L 240 0 Z M 852 0 L 852 1516 L 1028 1516 L 1028 0 L 852 0 Z" unicode="ﬂ" />
-<glyph horiz-adv-x="1804" d="M 240 0 L 240 936 L 51 936 L 51 1081 L 240 1081 L 240 1227 C 240 1272 246 1313 259 1349 C 271 1385 290 1416 316 1442 C 342 1467 374 1486 413 1500 C 452 1513 498 1520 551 1520 C 559 1520 568 1519 578 1519 C 588 1518 597 1517 606 1516 C 615 1515 623 1514 631 1514 C 638 1513 644 1513 649 1513 L 649 1370 C 639 1372 628 1373 615 1373 C 601 1373 589 1374 578 1374 C 528 1374 488 1362 459 1338 C 430 1314 416 1276 416 1223 L 416 1081 L 852 1081 L 852 1221 C 852 1266 858 1307 871 1344 C 883 1381 902 1413 928 1439 C 954 1465 986 1485 1025 1499 C 1064 1513 1110 1520 1163 1520 C 1171 1520 1179 1519 1188 1519 C 1197 1518 1206 1517 1215 1516 C 1224 1515 1233 1514 1241 1514 C 1249 1513 1255 1513 1260 1513 L 1260 1370 C 1251 1372 1240 1373 1226 1373 C 1212 1373 1199 1374 1188 1374 C 1138 1374 1099 1362 1071 1338 C 1042 1314 1028 1276 1028 1223 L 1028 1081 L 1251 1081 L 1251 936 L 1028 936 L 1028 0 L 852 0 L 852 936 L 416 936 L 416 0 L 240 0 Z M 1462 0 L 1462 1081 L 1638 1081 L 1638 0 L 1462 0 Z M 1460 1307 L 1460 1485 L 1640 1485 L 1640 1307 L 1460 1307 Z" unicode="ﬃ" />
-<glyph horiz-adv-x="1024" d="M 236 1194 L 236 1335 L 788 1335 L 788 1194 L 236 1194 Z" unicode="̄" />
-<glyph horiz-adv-x="555" d="" unicode="̦" />
-<glyph horiz-adv-x="1536" d="" unicode="Δ" />
-<glyph horiz-adv-x="1664" d="" unicode="Ω" />
-<glyph horiz-adv-x="1214" d="M 156 -410 L 156 1081 L 332 1081 L 332 338 C 332 267 347 214 379 178 C 411 142 462 125 532 125 C 596 125 657 140 713 172 C 769 203 825 245 883 299 L 883 1081 L 1059 1081 L 1059 0 L 883 0 L 883 174 C 858 150 832 127 805 105 C 777 83 749 63 719 46 C 689 29 657 15 624 5 C 591 -5 556 -12 520 -14 C 480 -15 444 -12 413 -4 C 381 4 354 20 332 45 L 332 -410 L 156 -410 Z" unicode="μ" />
-<glyph horiz-adv-x="1408" d="" unicode="π" />
-<glyph horiz-adv-x="1477" d="M 43 842 L 43 975 L 297 975 C 311 1073 336 1157 372 1229 C 408 1300 451 1359 501 1406 C 551 1452 606 1487 667 1510 C 728 1532 792 1544 858 1544 C 930 1544 992 1533 1046 1513 C 1100 1492 1146 1463 1186 1425 C 1226 1387 1259 1342 1286 1290 C 1312 1237 1334 1179 1352 1116 L 1190 1065 C 1174 1116 1158 1161 1141 1201 C 1124 1241 1103 1274 1078 1302 C 1053 1329 1023 1350 988 1364 C 952 1378 909 1386 858 1386 C 810 1386 766 1377 724 1361 C 682 1345 644 1320 611 1286 C 577 1252 549 1210 525 1158 C 501 1106 483 1045 471 975 L 909 975 L 909 842 L 457 842 C 455 830 455 819 455 807 C 455 795 455 782 455 770 C 455 751 455 733 456 716 C 456 698 457 682 457 666 L 909 666 L 909 530 L 473 530 C 495 396 539 295 604 228 C 668 160 754 127 862 127 C 910 127 952 134 989 148 C 1026 162 1058 184 1086 213 C 1114 241 1138 277 1158 320 C 1178 362 1195 412 1210 469 L 1372 422 C 1353 354 1329 293 1299 237 C 1269 181 1234 134 1192 95 C 1150 55 1101 25 1046 3 C 991 -18 929 -29 860 -29 C 790 -29 724 -17 663 5 C 601 27 546 62 497 108 C 448 154 407 212 373 282 C 339 352 314 434 299 530 L 43 530 L 43 666 L 283 666 C 281 682 281 698 281 714 C 281 730 281 747 281 764 C 281 777 281 790 281 803 C 281 816 281 829 283 842 L 43 842 Z" unicode="€" />
-<glyph horiz-adv-x="559" d="M 172 551 L 172 766 L 387 766 L 387 551 L 172 551 Z" unicode="∙" />
-<glyph horiz-adv-x="1225" d="" unicode="√" />
-<glyph horiz-adv-x="1159" d="M 483 -410 L 514 846 L 92 823 L 92 991 L 514 965 L 483 1516 L 674 1516 L 643 965 L 1065 991 L 1065 823 L 643 846 L 674 -410 L 483 -410 Z" unicode="†" />
-<glyph horiz-adv-x="1159" d="M 483 -410 L 514 68 L 113 41 L 113 205 L 514 180 L 492 557 L 514 926 L 113 903 L 113 1065 L 514 1040 L 483 1516 L 674 1516 L 643 1040 L 1044 1065 L 1044 903 L 643 926 L 666 557 L 643 180 L 1044 205 L 1044 41 L 643 68 L 674 -410 L 483 -410 Z" unicode="‡" />
-<glyph horiz-adv-x="948" d="M 473 469 C 437 469 403 475 373 487 C 343 499 317 517 295 539 C 273 561 255 587 243 617 C 231 647 225 681 225 717 C 225 753 231 786 243 817 C 255 847 273 874 295 896 C 317 918 343 936 373 948 C 403 960 437 967 473 967 C 509 967 542 960 573 948 C 603 936 630 918 652 896 C 674 874 692 847 704 817 C 716 786 723 753 723 717 C 723 681 716 647 704 617 C 692 587 674 561 652 539 C 630 517 603 499 573 487 C 542 475 509 469 473 469 Z" unicode="•" />
-<glyph horiz-adv-x="1663" d="M 1280 0 L 1280 215 L 1491 215 L 1491 0 L 1280 0 Z M 172 0 L 172 215 L 383 215 L 383 0 L 172 0 Z M 725 0 L 725 215 L 936 215 L 936 0 L 725 0 Z" unicode="…" />
-<glyph horiz-adv-x="1331" d="" unicode="◊" />
-<glyph horiz-adv-x="1556" d="" unicode="" />
-<glyph horiz-adv-x="1907" d="" unicode="Ẁ" />
-<glyph horiz-adv-x="1542" d="" unicode="ẁ" />
-<glyph horiz-adv-x="1907" d="" unicode="Ẃ" />
-<glyph horiz-adv-x="1542" d="" unicode="ẃ" />
-<glyph horiz-adv-x="1907" d="" unicode="Ẅ" />
-<glyph horiz-adv-x="1542" d="" unicode="ẅ" />
-<glyph horiz-adv-x="1769" d="" unicode="℗" />
-<glyph horiz-adv-x="2890" d="M 473 612 C 416 612 366 623 322 645 C 278 667 241 699 211 739 C 181 779 158 828 142 884 C 126 940 119 1003 119 1071 C 119 1142 127 1206 144 1264 C 160 1322 184 1371 215 1411 C 246 1451 284 1483 328 1505 C 372 1527 421 1538 475 1538 C 529 1538 577 1527 621 1505 C 664 1483 701 1453 731 1413 C 761 1373 785 1324 801 1267 C 817 1210 825 1147 825 1077 C 825 1009 817 946 801 889 C 785 832 763 783 733 742 C 703 701 666 669 622 646 C 578 623 529 612 473 612 Z M 1565 -20 C 1508 -20 1458 -8 1414 13 C 1370 35 1334 67 1304 107 C 1274 147 1251 196 1235 252 C 1219 308 1212 370 1212 438 C 1212 509 1220 573 1237 631 C 1254 689 1278 738 1309 778 C 1340 818 1378 850 1422 872 C 1466 894 1515 905 1569 905 C 1623 905 1671 894 1714 872 C 1757 850 1794 820 1824 780 C 1854 740 1878 691 1894 634 C 1910 577 1919 514 1919 444 C 1919 376 1911 314 1895 257 C 1879 200 1855 151 1825 110 C 1795 69 1758 37 1714 14 C 1670 -8 1621 -20 1565 -20 Z M 2417 -20 C 2360 -20 2310 -8 2266 13 C 2222 35 2186 67 2156 107 C 2126 147 2103 196 2087 252 C 2071 308 2064 370 2064 438 C 2064 509 2072 573 2089 631 C 2105 689 2129 738 2160 778 C 2190 818 2228 850 2272 872 C 2316 894 2365 905 2419 905 C 2473 905 2521 894 2565 872 C 2608 850 2645 820 2675 780 C 2705 740 2729 691 2745 634 C 2761 577 2769 514 2769 444 C 2769 376 2761 314 2745 257 C 2729 200 2706 151 2676 110 C 2646 69 2609 37 2565 14 C 2521 -8 2472 -20 2417 -20 Z M 487 0 L 1393 1516 L 1552 1516 L 647 0 L 487 0 Z M 2417 113 C 2449 113 2478 121 2503 138 C 2527 154 2548 177 2564 207 C 2580 236 2593 271 2601 311 C 2609 351 2613 394 2613 442 C 2613 492 2608 537 2600 578 C 2592 618 2579 653 2563 681 C 2547 709 2526 731 2502 747 C 2477 762 2449 770 2417 770 C 2384 770 2355 761 2330 745 C 2305 729 2284 706 2268 677 C 2251 648 2238 614 2230 574 C 2222 534 2218 491 2218 444 C 2218 394 2222 348 2231 308 C 2239 267 2252 232 2269 203 C 2285 174 2306 152 2331 136 C 2356 120 2385 113 2417 113 Z M 1567 113 C 1599 113 1627 121 1652 138 C 1676 154 1697 177 1713 207 C 1729 236 1742 271 1750 311 C 1758 351 1763 394 1763 442 C 1763 492 1758 537 1750 578 C 1741 618 1728 653 1712 681 C 1695 709 1674 731 1650 747 C 1625 762 1597 770 1565 770 C 1532 770 1503 761 1479 745 C 1454 729 1433 706 1417 677 C 1401 648 1388 614 1380 574 C 1372 534 1368 491 1368 444 C 1368 394 1372 348 1380 308 C 1388 267 1401 232 1418 203 C 1434 174 1455 152 1480 136 C 1505 120 1534 113 1567 113 Z M 475 748 C 507 748 535 756 559 772 C 583 788 603 811 620 840 C 636 868 649 902 657 942 C 665 982 670 1025 670 1073 C 670 1123 665 1168 657 1209 C 648 1249 635 1284 619 1313 C 602 1341 581 1363 557 1379 C 533 1395 505 1403 473 1403 C 440 1403 411 1394 387 1378 C 362 1362 341 1339 325 1310 C 309 1281 296 1247 288 1207 C 280 1167 276 1124 276 1077 C 276 1027 280 981 288 941 C 296 900 309 865 326 837 C 342 809 363 787 388 771 C 413 755 442 748 475 748 Z" unicode="‰" />
-<glyph horiz-adv-x="1812" d="M 864 649 L 864 1516 L 1036 1516 L 1278 819 L 1522 1516 L 1694 1516 L 1694 649 L 1565 649 L 1565 1309 L 1329 649 L 1221 649 L 985 1307 L 985 649 L 864 649 Z M 324 649 L 324 1403 L 61 1403 L 61 1516 L 719 1516 L 719 1403 L 455 1403 L 455 649 L 324 649 Z" unicode="™" />
-<glyph horiz-adv-x="489" d="" unicode="′" />
-<glyph horiz-adv-x="1664" d="" unicode="Ω" />
-<glyph horiz-adv-x="1292" d="" unicode="Ỳ" />
-<glyph horiz-adv-x="1092" d="" unicode="ỳ" />
-<glyph horiz-adv-x="850" d="" unicode="″" />
-<glyph horiz-adv-x="1225" d="" unicode="✓" />
-<glyph horiz-adv-x="682" d="M 393 0 L 84 543 L 393 1081 L 571 1081 L 270 543 L 571 0 L 393 0 Z" unicode="‹" />
-<glyph horiz-adv-x="682" d="M 109 0 L 412 543 L 109 1081 L 287 1081 L 598 543 L 287 0 L 109 0 Z" unicode="›" />
-</font></defs></svg>
diff --git a/rootfs/web/src/assets/style/bentonsans-regular.ttf b/rootfs/web/src/assets/style/bentonsans-regular.ttf
deleted file mode 100644
index a57c247..0000000
Binary files a/rootfs/web/src/assets/style/bentonsans-regular.ttf and /dev/null differ
diff --git a/rootfs/web/src/assets/style/bentonsans-regular.woff b/rootfs/web/src/assets/style/bentonsans-regular.woff
deleted file mode 100644
index 548a9fd..0000000
Binary files a/rootfs/web/src/assets/style/bentonsans-regular.woff and /dev/null differ
diff --git a/rootfs/web/src/assets/style/purple3.min.css b/rootfs/web/src/assets/style/purple3.min.css
deleted file mode 100644
index b06a2f1..0000000
--- a/rootfs/web/src/assets/style/purple3.min.css
+++ /dev/null
@@ -1 +0,0 @@
-html{font-family:sans-serif;line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block}audio:not([controls]){display:none;height:0}progress{vertical-align:baseline}[hidden],template{display:none}a{background-color:transparent;-webkit-text-decoration-skip:objects}a:active,a:hover{outline-width:0}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:inherit;font-weight:bolder}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background-color:gold;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}svg:not(:root){overflow:hidden}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}figure{margin:1em 40px}hr{box-sizing:content-box;height:0;overflow:visible}button,input,optgroup,select,textarea{font:inherit;margin:0}optgroup{font-weight:700}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-input-placeholder{color:inherit;opacity:.54}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}body,html{font-family:Salesforce Sans,-apple-system,BlinkMacSystemFont,avenir next,avenir,helvetica,helvetica neue,ubuntu,roboto,noto,segoe ui,arial,sans-serif;line-height:1}.hk-badge,.hk-badge--square{font-weight:600;background:#62738d;color:#fff;border-radius:9999px;background-clip:border-box!important;background-origin:border-box!important;padding-left:5px;padding-right:5px;font-size:12px;line-height:1.5;border:1px solid transparent;text-align:center}.hk-badge--square{border-radius:4px;font-size:11px}.hk-badge--outline{color:#fff;border-radius:9999px;border:1px solid #62738d;color:#62738d}.hk-badge--alpha,.hk-badge--outline{font-weight:600;background:#62738d;background-clip:border-box!important;background-origin:border-box!important;padding-left:5px;padding-right:5px;font-size:12px;line-height:1.5;text-align:center;background-color:transparent}.hk-badge--alpha{color:#fff;border-radius:9999px;border:1px solid #c74c00;color:#c74c00}.hk-badge--beta{background:#62738d;color:#fff;border-radius:9999px;background-clip:border-box!important;background-origin:border-box!important;background-color:transparent;border:1px solid #006deb;color:#006deb}.hk-badge--beta,.hk-badge--new{font-weight:600;padding-left:5px;padding-right:5px;font-size:12px;line-height:1.5;text-align:center}.hk-badge--new{background:#62738d;color:#fff;border-radius:9999px;background-clip:border-box!important;background-origin:border-box!important;border:1px solid transparent;background:linear-gradient(135deg,#036fec,#0056ba)}.hk-badge--code{background:#f7f8fb;color:#475366;border-radius:4px;border:1px solid #cfd7e6;font-family:consolas,monaco,monospace;padding-left:5px;padding-right:5px;line-height:1.5;font-size:13px}.hk-banner{border-bottom-style:solid;border-bottom-width:1px}.hk-banner,.hk-banner--generic{line-height:1.5;font-size:13px;padding:5px 10px}.hk-banner--generic{color:#475366;border-left-color:#cfd7e6;border-bottom:1px solid #cfd7e6;border-right-color:#cfd7e6;border-top-color:#cfd7e6}.hk-banner--info{color:#006deb;background:#f6faff;border-left-color:#8ebdf1;border-bottom:1px solid #8ebdf1;border-right-color:#8ebdf1;border-top-color:#8ebdf1}.hk-banner--info,.hk-banner--success{line-height:1.5;font-size:13px;padding:5px 10px}.hk-banner--success{color:#008700;background:#f8fcf9;border-left-color:#86cf95;border-bottom:1px solid #86cf95;border-right-color:#86cf95;border-top-color:#86cf95}.hk-banner--warning{color:#c74c00;background:#fffaf6;border-left-color:#fa9f47;border-bottom:1px solid #fa9f47;border-right-color:#fa9f47;border-top-color:#fa9f47}.hk-banner--danger,.hk-banner--warning{line-height:1.5;font-size:13px;padding:5px 10px}.hk-banner--danger{color:#de0a0a;background:#fdf6f6;border-left-color:#de7575;border-bottom:1px solid #de7575;border-right-color:#de7575;border-top-color:#de7575}.hk-button-base{font-size:13px;line-height:22px;height:32px}.hk-button-base,.hk-button-base-sm{-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale}.hk-button-base-sm{font-size:12px;line-height:16px;height:26px}.hk-button-secondary-border{border:1px solid #79589f}.hk-button-disabled-border{border:1px solid #cfd7e6}.hk-button-danger-border{border:1px solid #de0a0a}.hk-button-warning-border{border:1px solid #c74c00}.hk-button-info-border{border:1px solid #006deb}.hk-button-success-border{border:1px solid #008700}.hk-button-secondary-border--white{border:1px solid #fff}.hk-button{background-clip:border-box!important;background-origin:border-box!important}.hk-button,.hk-button--primary{font-size:13px;line-height:22px;height:32px;-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale;display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;text-align:center;border-radius:4px;padding:4px 15px;font-weight:600;white-space:nowrap;cursor:pointer;text-decoration:none;box-sizing:border-box;border:1px solid transparent}.hk-button--primary{background-clip:border-box!important;background-origin:border-box!important;background:#79589f;color:#fff}.hk-button--secondary{border-radius:4px;border:1px solid #79589f}.hk-button--secondary,.hk-button--tertiary{font-size:13px;line-height:22px;height:32px;-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale;display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;text-align:center;padding:4px 15px;font-weight:600;white-space:nowrap;cursor:pointer;text-decoration:none;box-sizing:border-box;background-clip:border-box!important;background-origin:border-box!important;color:#79589f;background:#fff}.hk-button--tertiary{border-radius:4px;border:1px solid transparent}.hk-button--danger-primary{border-radius:4px;border:1px solid transparent;background-clip:border-box!important;background-origin:border-box!important;background:#de0a0a;color:#fff}.hk-button--danger,.hk-button--danger-primary{font-size:13px;line-height:22px;height:32px;-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale;display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;text-align:center;padding:4px 15px;font-weight:600;white-space:nowrap;cursor:pointer;text-decoration:none;box-sizing:border-box}.hk-button--danger{border-radius:4px;background-clip:border-box!important;background-origin:border-box!important;color:#de0a0a;border:1px solid #de0a0a;background:#fff}.hk-button--warning{border-radius:4px;color:#c74c00;border:1px solid #c74c00}.hk-button--info,.hk-button--warning{font-size:13px;line-height:22px;height:32px;-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale;display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;text-align:center;padding:4px 15px;font-weight:600;white-space:nowrap;cursor:pointer;text-decoration:none;box-sizing:border-box;background-clip:border-box!important;background-origin:border-box!important;background:#fff}.hk-button--info{border-radius:4px;color:#006deb;border:1px solid #006deb}.hk-button--success{border-radius:4px;cursor:pointer;background-clip:border-box!important;background-origin:border-box!important;color:#008700;background:#fff;border:1px solid #008700}.hk-button--disabled-primary,.hk-button--success{font-size:13px;line-height:22px;height:32px;-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale;display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;text-align:center;padding:4px 15px;font-weight:600;white-space:nowrap;text-decoration:none;box-sizing:border-box}.hk-button--disabled-primary{border-radius:4px;cursor:pointer;background-clip:border-box!important;background-origin:border-box!important;background:none;background:#eef1f6;color:#56667d;border:1px solid #cfd7e6;cursor:not-allowed;outline:0}.hk-button--disabled-danger,.hk-button--disabled-danger-primary,.hk-button--disabled-info,.hk-button--disabled-secondary,.hk-button--disabled-success,.hk-button--disabled-warning{font-size:13px;line-height:22px;height:32px;-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale;display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;text-align:center;border-radius:4px;padding:4px 15px;font-weight:600;white-space:nowrap;cursor:pointer;text-decoration:none;box-sizing:border-box;background-clip:border-box!important;background-origin:border-box!important;background:none;background:#eef1f6;color:#56667d;border:1px solid #cfd7e6;cursor:not-allowed;outline:0}.hk-button--danger-primary:disabled,.hk-button--danger:disabled,.hk-button--info:disabled,.hk-button--primary:disabled,.hk-button--secondary:disabled,.hk-button--success:disabled,.hk-button--warning:disabled{background:none;background:#eef1f6;color:#56667d;border:1px solid #cfd7e6;cursor:not-allowed;outline:0}.hk-button--disabled-tertiary{font-size:13px;line-height:22px;height:32px;-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale;display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;text-align:center;border-radius:4px;padding:4px 15px;font-weight:600;white-space:nowrap;cursor:pointer;text-decoration:none;box-sizing:border-box;border:1px solid transparent;background-clip:border-box!important;background-origin:border-box!important;color:#62738d;cursor:not-allowed;outline:0}.hk-button--tertiary:disabled{color:#62738d;cursor:not-allowed;outline:0}.hk-button--async{font-size:13px;line-height:22px;height:32px;border-radius:4px;cursor:pointer;background-clip:border-box!important;background-origin:border-box!important;background:#eef1f6;color:#56667d;border:1px solid #cfd7e6;cursor:wait;outline:0}.hk-button--async,.hk-button-sm{-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale;display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;text-align:center;padding:4px 15px;font-weight:600;white-space:nowrap;text-decoration:none;box-sizing:border-box}.hk-button-sm{font-size:12px;line-height:16px;height:26px;border-radius:4px;cursor:pointer;border:1px solid transparent;background-clip:border-box!important;background-origin:border-box!important}.hk-button-sm--primary{border-radius:4px;border:1px solid transparent;background-clip:border-box!important;background-origin:border-box!important;background:#79589f;color:#fff}.hk-button-sm--primary,.hk-button-sm--secondary{font-size:12px;line-height:16px;height:26px;-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale;display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;text-align:center;font-weight:600;padding:4px 15px;white-space:nowrap;cursor:pointer;text-decoration:none;box-sizing:border-box}.hk-button-sm--secondary{border-radius:4px;background-clip:border-box!important;background-origin:border-box!important;color:#79589f;background:#fff;border:1px solid #79589f}.hk-button-sm--tertiary{background-clip:border-box!important;background-origin:border-box!important;color:#79589f;background:#fff}.hk-button-sm--danger-primary,.hk-button-sm--tertiary{font-size:12px;line-height:16px;height:26px;-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale;display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;text-align:center;border-radius:4px;font-weight:600;padding:4px 15px;white-space:nowrap;cursor:pointer;text-decoration:none;box-sizing:border-box;border:1px solid transparent}.hk-button-sm--danger-primary{background-clip:border-box!important;background-origin:border-box!important;background:#de0a0a;color:#fff}.hk-button-sm--danger{border-radius:4px;color:#de0a0a;border:1px solid #de0a0a}.hk-button-sm--danger,.hk-button-sm--warning{font-size:12px;line-height:16px;height:26px;-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale;display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;text-align:center;font-weight:600;padding:4px 15px;white-space:nowrap;cursor:pointer;text-decoration:none;box-sizing:border-box;background-clip:border-box!important;background-origin:border-box!important;background:#fff}.hk-button-sm--warning{border-radius:4px;color:#c74c00;border:1px solid #c74c00}.hk-button-sm--info{border-radius:4px;color:#006deb;border:1px solid #006deb}.hk-button-sm--info,.hk-button-sm--success{font-size:12px;line-height:16px;height:26px;-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale;display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;text-align:center;font-weight:600;padding:4px 15px;white-space:nowrap;cursor:pointer;text-decoration:none;box-sizing:border-box;background-clip:border-box!important;background-origin:border-box!important;background:#fff}.hk-button-sm--success{border-radius:4px;color:#008700;border:1px solid #008700}.hk-button-sm--disabled-danger,.hk-button-sm--disabled-danger-primary,.hk-button-sm--disabled-info,.hk-button-sm--disabled-primary,.hk-button-sm--disabled-secondary,.hk-button-sm--disabled-success,.hk-button-sm--disabled-warning{font-size:12px;line-height:16px;height:26px;-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale;display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;text-align:center;border-radius:4px;font-weight:600;padding:4px 15px;white-space:nowrap;cursor:pointer;text-decoration:none;box-sizing:border-box;background-clip:border-box!important;background-origin:border-box!important;background:none;background:#eef1f6;color:#56667d;border:1px solid #cfd7e6;cursor:not-allowed}.hk-button-sm--danger-primary:disabled,.hk-button-sm--danger:disabled,.hk-button-sm--info:disabled,.hk-button-sm--primary:disabled,.hk-button-sm--secondary:disabled,.hk-button-sm--success:disabled,.hk-button-sm--warning:disabled{background:none;background:#eef1f6;color:#56667d;border:1px solid #cfd7e6;cursor:not-allowed}.hk-button--primary:focus,.hk-button--secondary:focus,.hk-button--tertiary:focus,.hk-button-sm--primary:focus,.hk-button-sm--secondary:focus,.hk-button-sm--tertiary:focus{outline:none;border-color:#79589f;box-shadow:0 0 0 2px rgba(157,112,208,.4)}.hk-button--danger-primary:focus,.hk-button--danger:focus,.hk-button-sm--danger-primary:focus,.hk-button-sm--danger:focus{outline:none;border-color:#de0a0a;box-shadow:0 0 0 2px rgba(229,143,143,.4)}.hk-button--warning:focus,.hk-button-sm--warning:focus{outline:none;border-color:#c74c00;box-shadow:0 0 0 2px rgba(251,197,149,.4)}.hk-button--info:focus,.hk-button-sm--info:focus{outline:none;border-color:#006deb;box-shadow:0 0 0 2px rgba(142,189,241,.4)}.hk-button--success:focus,.hk-button-sm--success:focus{outline:none;border-color:#008700;box-shadow:0 0 0 2px rgba(171,215,180,.4)}.hk-button--primary:not(:disabled):hover,.hk-button-sm--primary:not(:disabled):hover{background:#4f3074}.hk-button--danger-primary:not(:disabled):hover,.hk-button-sm--danger-primary:not(:disabled):hover{background:#a70404}.hk-button--secondary:not(:disabled):hover,.hk-button--tertiary:not(:disabled):hover,.hk-button-sm--secondary:not(:disabled):hover,.hk-button-sm--tertiary:not(:disabled):hover{background:rgba(121,88,159,.1)}.hk-button--danger:not(:disabled):hover,.hk-button-sm--danger:not(:disabled):hover{background:rgba(222,10,10,.1)}.hk-button--warning:not(:disabled):hover,.hk-button-sm--warning:not(:disabled):hover{background:rgba(199,76,0,.1)}.hk-button--info:not(:disabled):hover,.hk-button-sm--info:not(:disabled):hover{background:rgba(0,109,235,.1)}.hk-button--success:not(:disabled):hover,.hk-button-sm--success:not(:disabled):hover{background:rgba(0,135,0,.1)}.hk-button--secondary:not(:disabled):active,.hk-button--tertiary:not(:disabled):active,.hk-button-sm--secondary:not(:disabled):active,.hk-button-sm--tertiary:not(:disabled):active{background:#f7f3fb}.hk-button--danger:not(:disabled):active,.hk-button-sm--danger:not(:disabled):active{background:#fdf6f6}.hk-button--warning:not(:disabled):active,.hk-button-sm--warning:not(:disabled):active{background:#fffaf6}.hk-button--info:not(:disabled):active,.hk-button-sm--info:not(:disabled):active{background:#f6faff}.hk-button--success:not(:disabled):active,.hk-button-sm--success:not(:disabled):active{background:#f8fcf9}.hk-button-group{display:-ms-flexbox;display:flex}.hk-button-group button{position:relative;z-index:0}.hk-button-group button:hover{z-index:1}.hk-button-group button:active,.hk-button-group button:focus{z-index:2}.hk-button-group button:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.hk-button-group button:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.hk-button-group button:not(:first-child){margin-left:-1px}.hk-button-group button:not(:first-child):not(:last-child){border-radius:0}.hk-dropdown-base{top:100%;min-width:200px;background-clip:padding-box;position:absolute;list-style-type:none;box-shadow:0 0 0 1px rgba(89,105,129,.1),0 3px 20px 0 rgba(89,105,129,.3),0 1px 2px 0 rgba(0,0,0,.05);font-size:13px;margin-top:5px;margin-bottom:5px;padding:5px 0;background:#fff;text-align:left;border-radius:4px}.hk-dropdown-item-base{position:relative;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:5px 15px 5px 10px;text-decoration:none;white-space:nowrap;line-height:1.5;cursor:pointer;border-style:none;border-width:0;-ms-flex:1 1 auto;flex:1 1 auto;min-width:0;min-height:0;background:#fff;transition:background-color .15s ease-in-out}.hk-dropdown,.hk-dropdown--left{left:0}.hk-dropdown,.hk-dropdown--left,.hk-dropdown--right{top:100%;min-width:200px;background-clip:padding-box;position:absolute;list-style-type:none;box-shadow:0 0 0 1px rgba(89,105,129,.1),0 3px 20px 0 rgba(89,105,129,.3),0 1px 2px 0 rgba(0,0,0,.05);font-size:13px;margin-top:5px;margin-bottom:5px;padding:5px 0;background:#fff;text-align:left;border-radius:4px}.hk-dropdown--right{right:0}.hk-dropdown--left li,.hk-dropdown--right li,.hk-dropdown li{display:-ms-flexbox;display:flex}.hk-dropdown-item{color:#475366}.hk-dropdown-item,.hk-dropdown-item--danger{position:relative;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:5px 15px 5px 10px;text-decoration:none;white-space:nowrap;line-height:1.5;cursor:pointer;border-style:none;border-width:0;-ms-flex:1 1 auto;flex:1 1 auto;min-width:0;min-height:0;background:#fff;transition:background-color .15s ease-in-out}.hk-dropdown-item--danger{color:#de0a0a}.hk-dropdown-item:active,.hk-dropdown-item:focus,.hk-dropdown-item:hover{color:#323b49;background:#f7f8fb}.hk-dropdown-item:focus{border-radius:4px;z-index:2;background:#f7f3fb;outline:none;border-color:#79589f;box-shadow:0 0 0 2px rgba(157,112,208,.4)}.hk-dropdown-item--danger:active,.hk-dropdown-item--danger:focus,.hk-dropdown-item--danger:hover{background:#fdf6f6}.hk-dropdown-item--danger:focus{border-radius:4px;z-index:2;outline:none;border-color:#de0a0a;box-shadow:0 0 0 2px rgba(229,143,143,.4)}.hk-dropdown-item--danger>svg,.hk-dropdown-item>svg{width:16px;height:16px;margin-right:10px}.hk-dropdown-item>svg{fill:url(#gradient-dark-gray)}.hk-dropdown-item--danger>svg{fill:url(#gradient-red)}.hk-dropdown-divider{border-top:1px solid;border-color:#e3e7ef;margin-top:5px;margin-bottom:5px}.hk-identicon,.hk-identicon--circle{font-size:12px;color:#79589f;font-weight:600;border:1px solid #a997bf;border-radius:4px;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;height:24px;width:24px;text-align:center}.hk-identicon--circle{border-radius:100%}.hk-input-base{padding-top:5px;padding-bottom:5px}.hk-input,.hk-input-base{line-height:20px;transition:background .1s ease,border-color .1s ease}.hk-input{-webkit-appearance:none;-moz-appearance:none;outline:0;border-radius:4px;padding:5px 10px;font-size:13px;background:#fff;border:1px solid #cfd7e6;box-shadow:inset 0 1px 2px 0 rgba(207,215,230,.4)}.hk-input::-webkit-input-placeholder{color:#62738d;opacity:.8}.hk-input:-ms-input-placeholder{color:#62738d;opacity:.8}.hk-input::placeholder{color:#62738d;opacity:.8}.hk-input:focus{outline:none;border-color:#79589f;box-shadow:0 0 0 2px rgba(157,112,208,.4)}.hk-input--read-only{line-height:20px;transition:background .1s ease,border-color .1s ease;-webkit-appearance:none;-moz-appearance:none;outline:0;border-radius:4px;padding:5px 10px;font-size:13px;background:#fff;border:1px solid #cfd7e6;box-shadow:inset 0 1px 2px 0 rgba(207,215,230,.4);color:#475366;background:#f7f8fb}.hk-input:-moz-read-only{color:#475366;background:#f7f8fb}.hk-input:read-only{color:#475366;background:#f7f8fb}.hk-input--read-only:focus{outline:none;border-color:#62738d;box-shadow:0 0 0 2px rgba(89,105,129,.2)}.hk-input:-moz-read-only:focus{outline:none;border-color:#62738d;box-shadow:0 0 0 2px rgba(89,105,129,.2)}.hk-input:read-only:focus{outline:none;border-color:#62738d;box-shadow:0 0 0 2px rgba(89,105,129,.2)}.hk-input--disabled{line-height:20px;transition:background .1s ease,border-color .1s ease;-webkit-appearance:none;-moz-appearance:none;outline:0;border-radius:4px;padding:5px 10px;font-size:13px;background:#fff;border:1px solid #cfd7e6;box-shadow:inset 0 1px 2px 0 rgba(207,215,230,.4);color:#62738d;background:#eef1f6}.hk-input:disabled{color:#62738d;background:#eef1f6}.hk-search-input{line-height:20px;transition:background .1s ease,border-color .1s ease;-webkit-appearance:none;-moz-appearance:none;outline:0;border-radius:4px;font-size:13px;background:#fff;border:1px solid #cfd7e6;box-shadow:inset 0 1px 2px 0 rgba(207,215,230,.4);padding:5px 10px 5px 30px}.hk-search-input::-webkit-input-placeholder{color:#62738d;opacity:.8}.hk-search-input:-ms-input-placeholder{color:#62738d;opacity:.8}.hk-search-input::placeholder{color:#62738d;opacity:.8}.hk-search-input:focus{outline:none;border-color:#79589f;box-shadow:0 0 0 2px rgba(157,112,208,.4)}.hk-search-input--read-only{line-height:20px;transition:background .1s ease,border-color .1s ease;-webkit-appearance:none;-moz-appearance:none;outline:0;border-radius:4px;font-size:13px;background:#fff;border:1px solid #cfd7e6;box-shadow:inset 0 1px 2px 0 rgba(207,215,230,.4);padding:5px 10px 5px 30px;color:#475366;background:#f7f8fb}.hk-search-input:-moz-read-only{color:#475366;background:#f7f8fb}.hk-search-input:read-only{color:#475366;background:#f7f8fb}.hk-search-input--read-only:focus{outline:none;border-color:#62738d;box-shadow:0 0 0 2px rgba(89,105,129,.2)}.hk-search-input:-moz-read-only:focus{outline:none;border-color:#62738d;box-shadow:0 0 0 2px rgba(89,105,129,.2)}.hk-search-input:read-only:focus{outline:none;border-color:#62738d;box-shadow:0 0 0 2px rgba(89,105,129,.2)}.hk-search-input--disabled{line-height:20px;transition:background .1s ease,border-color .1s ease;-webkit-appearance:none;-moz-appearance:none;outline:0;border-radius:4px;font-size:13px;background:#fff;border:1px solid #cfd7e6;box-shadow:inset 0 1px 2px 0 rgba(207,215,230,.4);padding:5px 10px 5px 30px;color:#62738d;background:#eef1f6}.hk-search-input:disabled{color:#62738d;background:#eef1f6}.hk-select{line-height:20px;transition:background .1s ease,border-color .1s ease;-webkit-appearance:none;-moz-appearance:none;outline:0;border-radius:4px;font-size:13px;border:1px solid #cfd7e6;box-shadow:inset 0 1px 2px 0 rgba(207,215,230,.4);box-shadow:0 1px 3px 0 rgba(89,105,129,.05),0 1px 1px 0 rgba(0,0,0,.025);padding:0 30px 0 10px;height:32px;background:#fff;background-repeat:no-repeat;background-position:100%;background-image:url('data:image/svg+xml;utf8,<svg width="24" height="10" viewBox="0 0 7 10" xmlns="http://www.w3.org/2000/svg"><path d="M.188 7.15C.084 7.06 0 6.866 0 6.74v-.246C0 6.22.232 6 .5 6h.248c.14 0 .335.075.432.162L3.5 8.25l2.32-2.088c.1-.09.287-.162.432-.162H6.5c.276 0 .5.23.5.494v.245c0 .136-.087.322-.188.41L3.5 9.987.188 7.148zm0-4.31L3.5 0l3.312 2.84c.1.086.188.272.188.41v.244c0 .265-.224.494-.5.494h-.248c-.145 0-.332-.072-.432-.16L3.5 1.75 1.18 3.827c-.097.087-.293.16-.432.16H.5c-.268 0-.5-.22-.5-.493V3.25c0-.13.084-.322.188-.41z" fill="%2396A3B6" fill-rule="evenodd"/></svg>')}.hk-select:focus{outline:none;border-color:#79589f;box-shadow:0 0 0 2px rgba(157,112,208,.4)}.hk-select--disabled{line-height:20px;transition:background .1s ease,border-color .1s ease;-webkit-appearance:none;-moz-appearance:none;outline:0;border-radius:4px;font-size:13px;border:1px solid #cfd7e6;box-shadow:inset 0 1px 2px 0 rgba(207,215,230,.4);box-shadow:0 1px 3px 0 rgba(89,105,129,.05),0 1px 1px 0 rgba(0,0,0,.025);padding:0 30px 0 10px;height:32px;background:#fff;background-repeat:no-repeat;background-position:100%;background-image:url('data:image/svg+xml;utf8,<svg width="24" height="10" viewBox="0 0 7 10" xmlns="http://www.w3.org/2000/svg"><path d="M.188 7.15C.084 7.06 0 6.866 0 6.74v-.246C0 6.22.232 6 .5 6h.248c.14 0 .335.075.432.162L3.5 8.25l2.32-2.088c.1-.09.287-.162.432-.162H6.5c.276 0 .5.23.5.494v.245c0 .136-.087.322-.188.41L3.5 9.987.188 7.148zm0-4.31L3.5 0l3.312 2.84c.1.086.188.272.188.41v.244c0 .265-.224.494-.5.494h-.248c-.145 0-.332-.072-.432-.16L3.5 1.75 1.18 3.827c-.097.087-.293.16-.432.16H.5c-.268 0-.5-.22-.5-.493V3.25c0-.13.084-.322.188-.41z" fill="%2396A3B6" fill-rule="evenodd"/></svg>');color:#62738d;background:#eef1f6}.hk-select:disabled{color:#62738d;background:#eef1f6}.hk-focus-ring:focus{outline:none;border-color:#79589f;box-shadow:0 0 0 2px rgba(157,112,208,.4)}.hk-focus-ring--blue:focus{outline:none;border-color:#006deb;box-shadow:0 0 0 2px rgba(142,189,241,.4)}.hk-focus-ring--green:focus{outline:none;border-color:#008700;box-shadow:0 0 0 2px rgba(171,215,180,.4)}.hk-focus-ring--orange:focus{outline:none;border-color:#c74c00;box-shadow:0 0 0 2px rgba(251,197,149,.4)}.hk-focus-ring--red:focus{outline:none;border-color:#de0a0a;box-shadow:0 0 0 2px rgba(229,143,143,.4)}.hk-focus-ring--gray:focus{outline:none;border-color:#62738d;box-shadow:0 0 0 2px rgba(89,105,129,.2)}.hk-label{font-size:13px;color:#475366;font-weight:700;margin-bottom:10px}.malibu-fill-gradient-purple{fill:url(#gradient-purple)}.malibu-fill-gradient-gray{fill:url(#gradient-gray)}.malibu-fill-gradient-dark-gray{fill:url(#gradient-dark-gray)}.malibu-fill-gradient-red{fill:url(#gradient-red)}.malibu-fill-gradient-orange{fill:url(#gradient-orange)}.malibu-fill-gradient-green{fill:url(#gradient-green)}.malibu-fill-gradient-blue{fill:url(#gradient-blue)}.hk-message{border-style:solid;border-width:1px;border-radius:4px}.hk-message,.hk-message--generic{line-height:1.5;font-size:13px;padding:5px 10px}.hk-message--generic{border-radius:4px;color:#475366;border:1px solid #cfd7e6;fill:#475366}.hk-message--info{border-radius:4px;color:#006deb;background:#f6faff;border:1px solid #8ebdf1;fill:#006deb}.hk-message--info,.hk-message--success{line-height:1.5;font-size:13px;padding:5px 10px}.hk-message--success{border-radius:4px;color:#008700;background:#f8fcf9;border:1px solid #86cf95;fill:#008700}.hk-message--warning{border-radius:4px;color:#c74c00;background:#fffaf6;border:1px solid #fa9f47;fill:#c74c00}.hk-message--danger,.hk-message--warning{line-height:1.5;font-size:13px;padding:5px 10px}.hk-message--danger{border-radius:4px;color:#de0a0a;background:#fdf6f6;border:1px solid #de7575;fill:#de0a0a}.hk-message--generic .hk-link,.hk-message--info .hk-link{color:#006deb}.hk-message--success .hk-link{color:#008700}.hk-message--warning .hk-link{color:#c74c00}.hk-message--danger .hk-link{color:#de0a0a}.hk-button__spinner,.hk-spinner{position:relative;display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;min-height:7px;text-align:center}.hk-button__spinner__dot,.hk-spinner__dot{display:block;border-radius:50%;background:#475366;animation:pulse 1s infinite ease-out}.hk-button__spinner__dot{width:7px;height:7px;margin:0 2px}.hk-spinner__dot--inverted{background:#fff}.hk-button__spinner__dot{width:3px;height:3px;margin:0 1.5px}.hk-spinner__dot{width:7px;height:7px;margin:0 2px}.hk-button__spinner__dot--one,.hk-spinner__dot--one{animation-delay:-.32s;margin-left:0}.hk-button__spinner__dot--two,.hk-spinner__dot--two{animation-delay:-.16s}.hk-button__spinner__dot--three,.hk-spinner__dot--three{animation-delay:-.08s;margin-right:0}@keyframes pulse{0%{opacity:0}40%{opacity:1}80%{opacity:0}to{opacity:0}}.hk-stencil{color:#cfd7e6;background:#cfd7e6;border-radius:9999px;padding-left:5px;padding-right:5px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;font-size:12px}.hk-tabs{display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;border-top:1px solid;border-color:#e3e7ef}.hk-tabs__tab{text-decoration:none;padding:15px;font-size:14px;color:#62738d;border-left-color:#e3e7ef;border-bottom:1px solid #e3e7ef;border-right-color:#e3e7ef;border-top-color:#e3e7ef}.hk-tabs__tab:hover{border-color:#cfd7e6;color:#475366}.hk-tabs__tab--active{text-decoration:none;padding:15px;font-size:14px;color:#62738d;color:#79589f;border-bottom:1px solid #a997bf;border-color:#a997bf #a997bf #e3e7ef}.hk-tabs__tab--active:hover{border-color:#a997bf}.hk-toast,.hk-toast--success{line-height:1.5;font-size:13px;border-radius:4px;padding:5px 10px;box-shadow:0 1px 3px 0 rgba(89,105,129,.05),0 1px 1px 0 rgba(0,0,0,.025)}.hk-toast--success{color:#008700;background:#f8fcf9}.hk-toast--error{line-height:1.5;font-size:13px;border-radius:4px;padding:5px 10px;box-shadow:0 1px 3px 0 rgba(89,105,129,.05),0 1px 1px 0 rgba(0,0,0,.025);color:#de0a0a;background:#fdf6f6}.hk-well{text-align:center;padding:20px;border-radius:6px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.05),inset 0 1px 2px 0 rgba(78,83,90,.1);color:#475366;background-color:rgba(87,114,154,.05)}.bg-black{background:#000}.bg-near-black{background:#323b49}.bg-dark-gray{background:#475366}.bg-mid-gray{background:#56667d}.bg-gray{background:#62738d}.bg-light-gray{background:#cfd7e6}.bg-silver{background:#e3e7ef}.bg-light-silver{background:#eef1f6}.bg-lightest-silver{background:#f7f8fb}.bg-near-white{background:#fbfbfd}.bg-white{background:#fff}.bg-none{background:none}.bg-transparent{background-color:transparent}.bg-dark-purple{background:#4f3074}.bg-purple{background:#79589f}.bg-light-purple{background:#a997bf}.bg-lightest-purple{background:#f7f3fb}.bg-dark-blue{background:#034ca2}.bg-blue{background:#006deb}.bg-light-blue{background:#8ebdf1}.bg-lightest-blue{background:#f6faff}.bg-dark-green{background:#066515}.bg-green{background:#008700}.bg-light-green{background:#86cf95}.bg-lightest-green{background:#f8fcf9}.bg-dark-red{background:#a70404}.bg-red{background:#de0a0a}.bg-light-red{background:#de7575}.bg-lightest-red{background:#fdf6f6}.bg-dark-orange{background:#832d03}.bg-orange{background:#c74c00}.bg-light-orange{background:#fa9f47}.bg-lightest-orange{background:#fffaf6}.bg-gold{background:#ffb700}.bg-yellow{background:gold}.bg-light-yellow{background:#fbf1a9}.bg-dark-pink{background:#d5008f}.bg-hot-pink{background:#ff41b4}.bg-pink{background:#ff80cc}.bg-light-pink{background:#ffa3d7}.bg-navy{background:#001b44}.bg-washed-blue{background:#f6fffe}.bg-washed-green{background:#e8fdf5}.bg-washed-yellow{background:#fffceb}.bg-washed-red{background:#ffdfdf}.bg-gradient-primary{background:linear-gradient(135deg,#8964b4,#6a4791)}.bg-gradient-secondary{background:linear-gradient(135deg,#8964b4,#43accd)}.bg-gradient-light-gray{background:linear-gradient(135deg,#e3e7ef,#cfd7e6)}.bg-gradient-gray{background:linear-gradient(135deg,#4f5257,#96a3b6)}.bg-gradient-dark-gray{background:linear-gradient(135deg,#919cae,#596981)}.bg-gradient-silver{background:linear-gradient(#fff,#fafbfd)}.bg-gradient-blue{background:linear-gradient(135deg,#036fec,#0056ba)}.bg-gradient-green{background:linear-gradient(135deg,#038803,#026c02)}.bg-gradient-red{background:linear-gradient(135deg,#e11717,#bf0000)}.bg-gradient-orange{background:linear-gradient(135deg,#cc4e00,#a94100)}.bg-black-90{background-color:rgba(0,0,0,.9)}.bg-black-80{background-color:rgba(0,0,0,.8)}.bg-black-70{background-color:rgba(0,0,0,.7)}.bg-black-60{background-color:rgba(0,0,0,.6)}.bg-black-50{background-color:rgba(0,0,0,.5)}.bg-black-40{background-color:rgba(0,0,0,.4)}.bg-black-30{background-color:rgba(0,0,0,.3)}.bg-black-20{background-color:rgba(0,0,0,.2)}.bg-black-10{background-color:rgba(0,0,0,.1)}.bg-black-05{background-color:rgba(0,0,0,.05)}.bg-black-025{background-color:rgba(0,0,0,.025)}.bg-gray-90{background-color:rgba(89,105,129,.9)}.bg-gray-80{background-color:rgba(89,105,129,.8)}.bg-gray-70{background-color:rgba(89,105,129,.7)}.bg-gray-60{background-color:rgba(89,105,129,.6)}.bg-gray-50{background-color:rgba(89,105,129,.5)}.bg-gray-40{background-color:rgba(89,105,129,.4)}.bg-gray-30{background-color:rgba(89,105,129,.3)}.bg-gray-20{background-color:rgba(89,105,129,.2)}.bg-gray-10{background-color:rgba(89,105,129,.1)}.bg-gray-05{background-color:rgba(89,105,129,.05)}.bg-gray-025{background-color:rgba(89,105,129,.025)}.bg-mid-gray-90{background-color:rgba(87,114,154,.9)}.bg-mid-gray-80{background-color:rgba(87,114,154,.8)}.bg-mid-gray-70{background-color:rgba(87,114,154,.7)}.bg-mid-gray-60{background-color:rgba(87,114,154,.6)}.bg-mid-gray-50{background-color:rgba(87,114,154,.5)}.bg-mid-gray-40{background-color:rgba(87,114,154,.4)}.bg-mid-gray-30{background-color:rgba(87,114,154,.3)}.bg-mid-gray-20{background-color:rgba(87,114,154,.2)}.bg-mid-gray-10{background-color:rgba(87,114,154,.1)}.bg-mid-gray-05{background-color:rgba(87,114,154,.05)}.bg-mid-gray-025{background-color:rgba(87,114,154,.025)}.bg-white-90{background-color:hsla(0,0%,100%,.9)}.bg-white-80{background-color:hsla(0,0%,100%,.8)}.bg-white-70{background-color:hsla(0,0%,100%,.7)}.bg-white-60{background-color:hsla(0,0%,100%,.6)}.bg-white-50{background-color:hsla(0,0%,100%,.5)}.bg-white-40{background-color:hsla(0,0%,100%,.4)}.bg-white-30{background-color:hsla(0,0%,100%,.3)}.bg-white-20{background-color:hsla(0,0%,100%,.2)}.bg-white-10{background-color:hsla(0,0%,100%,.1)}.bg-transparent-squares{background-position:0 0,12px 12px;background-size:24px 24px;background-image:linear-gradient(45deg,rgba(0,0,0,.05) 25%,transparent 0,transparent 75%,rgba(0,0,0,.05) 0,rgba(0,0,0,.05)),linear-gradient(45deg,rgba(0,0,0,.05) 25%,transparent 0,transparent 75%,rgba(0,0,0,.05) 0,rgba(0,0,0,.05))}.hover-bg-black-90:focus,.hover-bg-black-90:hover{background-color:rgba(0,0,0,.9)}.hover-bg-black-80:focus,.hover-bg-black-80:hover{background-color:rgba(0,0,0,.8)}.hover-bg-black-70:focus,.hover-bg-black-70:hover{background-color:rgba(0,0,0,.7)}.hover-bg-black-60:focus,.hover-bg-black-60:hover{background-color:rgba(0,0,0,.6)}.hover-bg-black-50:focus,.hover-bg-black-50:hover{background-color:rgba(0,0,0,.5)}.hover-bg-black-40:focus,.hover-bg-black-40:hover{background-color:rgba(0,0,0,.4)}.hover-bg-black-30:focus,.hover-bg-black-30:hover{background-color:rgba(0,0,0,.3)}.hover-bg-black-20:focus,.hover-bg-black-20:hover{background-color:rgba(0,0,0,.2)}.hover-bg-black-10:focus,.hover-bg-black-10:hover{background-color:rgba(0,0,0,.1)}.hover-bg-black-05:focus,.hover-bg-black-05:hover{background-color:rgba(0,0,0,.05)}.hover-bg-black-025:focus,.hover-bg-black-025:hover{background-color:rgba(0,0,0,.025)}.hover-bg-gray-90:focus,.hover-bg-gray-90:hover{background-color:rgba(89,105,129,.9)}.hover-bg-gray-80:focus,.hover-bg-gray-80:hover{background-color:rgba(89,105,129,.8)}.hover-bg-gray-70:focus,.hover-bg-gray-70:hover{background-color:rgba(89,105,129,.7)}.hover-bg-gray-60:focus,.hover-bg-gray-60:hover{background-color:rgba(89,105,129,.6)}.hover-bg-gray-50:focus,.hover-bg-gray-50:hover{background-color:rgba(89,105,129,.5)}.hover-bg-gray-40:focus,.hover-bg-gray-40:hover{background-color:rgba(89,105,129,.4)}.hover-bg-gray-30:focus,.hover-bg-gray-30:hover{background-color:rgba(89,105,129,.3)}.hover-bg-gray-20:focus,.hover-bg-gray-20:hover{background-color:rgba(89,105,129,.2)}.hover-bg-gray-10:focus,.hover-bg-gray-10:hover{background-color:rgba(89,105,129,.1)}.hover-bg-gray-05:focus,.hover-bg-gray-05:hover{background-color:rgba(89,105,129,.05)}.hover-bg-gray-025:focus,.hover-bg-gray-025:hover{background-color:rgba(89,105,129,.025)}.hover-bg-white-90:focus,.hover-bg-white-90:hover{background-color:hsla(0,0%,100%,.9)}.hover-bg-white-80:focus,.hover-bg-white-80:hover{background-color:hsla(0,0%,100%,.8)}.hover-bg-white-70:focus,.hover-bg-white-70:hover{background-color:hsla(0,0%,100%,.7)}.hover-bg-white-60:focus,.hover-bg-white-60:hover{background-color:hsla(0,0%,100%,.6)}.hover-bg-white-50:focus,.hover-bg-white-50:hover{background-color:hsla(0,0%,100%,.5)}.hover-bg-white-40:focus,.hover-bg-white-40:hover{background-color:hsla(0,0%,100%,.4)}.hover-bg-white-30:focus,.hover-bg-white-30:hover{background-color:hsla(0,0%,100%,.3)}.hover-bg-white-20:focus,.hover-bg-white-20:hover{background-color:hsla(0,0%,100%,.2)}.hover-bg-white-10:focus,.hover-bg-white-10:hover{background-color:hsla(0,0%,100%,.1)}.hover-bg-none:focus,.hover-bg-none:hover{background:none}.hover-bg-transparent:focus,.hover-bg-transparent:hover{background-color:transparent}.hover-bg-black:focus,.hover-bg-black:hover{background-color:#000}.hover-bg-near-black:focus,.hover-bg-near-black:hover{background-color:#323b49}.hover-bg-dark-gray:focus,.hover-bg-dark-gray:hover{background-color:#475366}.hover-bg-mid-gray:focus,.hover-bg-mid-gray:hover{background-color:#56667d}.hover-bg-gray:focus,.hover-bg-gray:hover{background-color:#62738d}.hover-bg-light-gray:focus,.hover-bg-light-gray:hover{background-color:#cfd7e6}.hover-bg-silver:focus,.hover-bg-silver:hover{background-color:#e3e7ef}.hover-bg-light-silver:focus,.hover-bg-light-silver:hover{background-color:#eef1f6}.hover-bg-lightest-silver:focus,.hover-bg-lightest-silver:hover{background-color:#f7f8fb}.hover-bg-near-white:focus,.hover-bg-near-white:hover{background-color:#fbfbfd}.hover-bg-white:focus,.hover-bg-white:hover{background-color:#fff}.hover-bg-dark-purple:focus,.hover-bg-dark-purple:hover{background-color:#4f3074}.hover-bg-purple:focus,.hover-bg-purple:hover{background-color:#79589f}.hover-bg-light-purple:focus,.hover-bg-light-purple:hover{background-color:#a997bf}.hover-bg-lightest-purple:focus,.hover-bg-lightest-purple:hover{background-color:#f7f3fb}.hover-bg-dark-blue:focus,.hover-bg-dark-blue:hover{background-color:#034ca2}.hover-bg-blue:focus,.hover-bg-blue:hover{background-color:#006deb}.hover-bg-light-blue:focus,.hover-bg-light-blue:hover{background-color:#8ebdf1}.hover-bg-lightest-blue:focus,.hover-bg-lightest-blue:hover{background-color:#f6faff}.hover-bg-dark-green:focus,.hover-bg-dark-green:hover{background-color:#066515}.hover-bg-green:focus,.hover-bg-green:hover{background-color:#008700}.hover-bg-light-green:focus,.hover-bg-light-green:hover{background-color:#86cf95}.hover-bg-lightest-green:focus,.hover-bg-lightest-green:hover{background-color:#f8fcf9}.hover-bg-dark-red:focus,.hover-bg-dark-red:hover{background-color:#a70404}.hover-bg-red:focus,.hover-bg-red:hover{background-color:#de0a0a}.hover-bg-light-red:focus,.hover-bg-light-red:hover{background-color:#de7575}.hover-bg-lightest-red:focus,.hover-bg-lightest-red:hover{background-color:#fdf6f6}.hover-bg-dark-orange:focus,.hover-bg-dark-orange:hover{background-color:#832d03}.hover-bg-orange:focus,.hover-bg-orange:hover{background-color:#c74c00}.hover-bg-light-orange:focus,.hover-bg-light-orange:hover{background-color:#fa9f47}.hover-bg-lightest-orange:focus,.hover-bg-lightest-orange:hover{background-color:#fffaf6}.hover-bg-gold:focus,.hover-bg-gold:hover{background-color:#ffb700}.hover-bg-yellow:focus,.hover-bg-yellow:hover{background-color:gold}.hover-bg-light-yellow:focus,.hover-bg-light-yellow:hover{background-color:#fbf1a9}.hover-bg-dark-pink:focus,.hover-bg-dark-pink:hover{background-color:#d5008f}.hover-bg-hot-pink:focus,.hover-bg-hot-pink:hover{background-color:#ff41b4}.hover-bg-pink:focus,.hover-bg-pink:hover{background-color:#ff80cc}.hover-bg-light-pink:focus,.hover-bg-light-pink:hover{background-color:#ffa3d7}.hover-bg-navy:focus,.hover-bg-navy:hover{background-color:#001b44}.hover-bg-washed-blue:focus,.hover-bg-washed-blue:hover{background-color:#f6fffe}.hover-bg-washed-green:focus,.hover-bg-washed-green:hover{background-color:#e8fdf5}.hover-bg-washed-yellow:focus,.hover-bg-washed-yellow:hover{background-color:#fffceb}.hover-bg-washed-red:focus,.hover-bg-washed-red:hover{background-color:#ffdfdf}.bg-center{background-position:50%}.bg-center,.bg-top{background-repeat:no-repeat}.bg-top{background-position:top}.bg-right{background-position:100%}.bg-bottom,.bg-right{background-repeat:no-repeat}.bg-bottom{background-position:bottom}.bg-left{background-repeat:no-repeat;background-position:0}@media screen and (min-width:30em){.bg-center-ns{background-position:50%}.bg-center-ns,.bg-top-ns{background-repeat:no-repeat}.bg-top-ns{background-position:top}.bg-right-ns{background-position:100%}.bg-bottom-ns,.bg-right-ns{background-repeat:no-repeat}.bg-bottom-ns{background-position:bottom}.bg-left-ns{background-repeat:no-repeat;background-position:0}}@media screen and (min-width:30em) and (max-width:60em){.bg-center-m{background-position:50%}.bg-center-m,.bg-top-m{background-repeat:no-repeat}.bg-top-m{background-position:top}.bg-right-m{background-position:100%}.bg-bottom-m,.bg-right-m{background-repeat:no-repeat}.bg-bottom-m{background-position:bottom}.bg-left-m{background-repeat:no-repeat;background-position:0}}@media screen and (min-width:60em){.bg-center-l{background-position:50%}.bg-center-l,.bg-top-l{background-repeat:no-repeat}.bg-top-l{background-position:top}.bg-right-l{background-position:100%}.bg-bottom-l,.bg-right-l{background-repeat:no-repeat}.bg-bottom-l{background-position:bottom}.bg-left-l{background-repeat:no-repeat;background-position:0}}.cover{background-size:cover!important}.contain{background-size:contain!important}.bg--clip{background-clip:border-box!important;background-origin:border-box!important}@media screen and (min-width:30em){.cover-ns{background-size:cover!important}.contain-ns{background-size:contain!important}}@media screen and (min-width:30em) and (max-width:60em){.cover-m{background-size:cover!important}.contain-m{background-size:contain!important}}@media screen and (min-width:60em){.cover-l{background-size:cover!important}.contain-l{background-size:contain!important}}.ba{border-style:solid;border-width:1px}.bt{border-top-style:solid;border-top-width:1px}.br{border-right-style:solid;border-right-width:1px}.bb{border-bottom-style:solid;border-bottom-width:1px}.bl{border-left-style:solid;border-left-width:1px}.bn{border-style:none;border-width:0}@media screen and (min-width:30em){.ba-ns{border-style:solid;border-width:1px}.bt-ns{border-top-style:solid;border-top-width:1px}.br-ns{border-right-style:solid;border-right-width:1px}.bb-ns{border-bottom-style:solid;border-bottom-width:1px}.bl-ns{border-left-style:solid;border-left-width:1px}.bn-ns{border-style:none;border-width:0}}@media screen and (min-width:30em) and (max-width:60em){.ba-m{border-style:solid;border-width:1px}.bt-m{border-top-style:solid;border-top-width:1px}.br-m{border-right-style:solid;border-right-width:1px}.bb-m{border-bottom-style:solid;border-bottom-width:1px}.bl-m{border-left-style:solid;border-left-width:1px}.bn-m{border-style:none;border-width:0}}@media screen and (min-width:60em){.ba-l{border-style:solid;border-width:1px}.bt-l{border-top-style:solid;border-top-width:1px}.br-l{border-right-style:solid;border-right-width:1px}.bb-l{border-bottom-style:solid;border-bottom-width:1px}.bl-l{border-left-style:solid;border-left-width:1px}.bn-l{border-style:none;border-width:0}}.b--black{border-color:#000}.b--near-black{border-color:#323b49}.b--dark-gray{border-color:#475366}.b--mid-gray{border-color:#56667d}.b--gray{border-color:#62738d}.b--light-gray{border-color:#cfd7e6}.b--silver{border-color:#e3e7ef}.b--light-silver{border-color:#eef1f6}.b--near-white{border-color:#fbfbfd}.b--white{border-color:#fff}.b--dark-purple{border-color:#4f3074}.b--purple{border-color:#79589f}.b--light-purple{border-color:#a997bf}.b--lightest-purple{border-color:#f7f3fb}.b--dark-blue{border-color:#034ca2}.b--blue{border-color:#006deb}.b--light-blue{border-color:#8ebdf1}.b--lightest-blue{border-color:#f6faff}.b--dark-green{border-color:#066515}.b--green{border-color:#008700}.b--light-green{border-color:#86cf95}.b--lightest-green{border-color:#f8fcf9}.b--dark-red{border-color:#a70404}.b--red{border-color:#de0a0a}.b--light-red{border-color:#de7575}.b--lightest-red{border-color:#fdf6f6}.b--dark-orange{border-color:#832d03}.b--orange{border-color:#c74c00}.b--light-orange{border-color:#fa9f47}.b--lightest-orange{border-color:#fffaf6}.b--transparent{border-color:transparent}.b--gold{border-color:#ffb700}.b--yellow{border-color:gold}.b--light-yellow{border-color:#fbf1a9}.b--dark-pink{border-color:#d5008f}.b--hot-pink{border-color:#ff41b4}.b--pink{border-color:#ff80cc}.b--light-pink{border-color:#ffa3d7}.b--navy{border-color:#001b44}.b--washed-blue{border-color:#f6fffe}.b--washed-green{border-color:#e8fdf5}.b--washed-yellow{border-color:#fffceb}.b--washed-red{border-color:#ffdfdf}.b--black-90{border-color:rgba(0,0,0,.9)}.b--black-80{border-color:rgba(0,0,0,.8)}.b--black-70{border-color:rgba(0,0,0,.7)}.b--black-60{border-color:rgba(0,0,0,.6)}.b--black-50{border-color:rgba(0,0,0,.5)}.b--black-40{border-color:rgba(0,0,0,.4)}.b--black-30{border-color:rgba(0,0,0,.3)}.b--black-20{border-color:rgba(0,0,0,.2)}.b--black-10{border-color:rgba(0,0,0,.1)}.b--black-05{border-color:rgba(0,0,0,.05)}.b--black-025{border-color:rgba(0,0,0,.025)}.b--black-0125{border-color:rgba(0,0,0,.0125)}.b--gray-90{border-color:rgba(89,105,129,.9)}.b--gray-80{border-color:rgba(89,105,129,.8)}.b--gray-70{border-color:rgba(89,105,129,.7)}.b--gray-60{border-color:rgba(89,105,129,.6)}.b--gray-50{border-color:rgba(89,105,129,.5)}.b--gray-40{border-color:rgba(89,105,129,.4)}.b--gray-30{border-color:rgba(89,105,129,.3)}.b--gray-20{border-color:rgba(89,105,129,.2)}.b--gray-10{border-color:rgba(89,105,129,.1)}.b--gray-05{border-color:rgba(89,105,129,.05)}.b--gray-025{border-color:rgba(89,105,129,.025)}.b--gray-0125{border-color:rgba(89,105,129,.0125)}.b--white-90{border-color:hsla(0,0%,100%,.9)}.b--white-80{border-color:hsla(0,0%,100%,.8)}.b--white-70{border-color:hsla(0,0%,100%,.7)}.b--white-60{border-color:hsla(0,0%,100%,.6)}.b--white-50{border-color:hsla(0,0%,100%,.5)}.b--white-40{border-color:hsla(0,0%,100%,.4)}.b--white-30{border-color:hsla(0,0%,100%,.3)}.b--white-20{border-color:hsla(0,0%,100%,.2)}.b--white-10{border-color:hsla(0,0%,100%,.1)}.hover-b--black:focus,.hover-b--black:hover{border-color:#000}.hover-b--near-black:focus,.hover-b--near-black:hover{border-color:#323b49}.hover-b--dark-gray:focus,.hover-b--dark-gray:hover{border-color:#475366}.hover-b--mid-gray:focus,.hover-b--mid-gray:hover{border-color:#56667d}.hover-b--gray:focus,.hover-b--gray:hover{border-color:#62738d}.hover-b--light-gray:focus,.hover-b--light-gray:hover{border-color:#cfd7e6}.hover-b--silver:focus,.hover-b--silver:hover{border-color:#e3e7ef}.hover-b--light-silver:focus,.hover-b--light-silver:hover{border-color:#eef1f6}.hover-b--near-white:focus,.hover-b--near-white:hover{border-color:#fbfbfd}.hover-b--white:focus,.hover-b--white:hover{border-color:#fff}.hover-b--dark-purple:focus,.hover-b--dark-purple:hover{border-color:#4f3074}.hover-b--purple:focus,.hover-b--purple:hover{border-color:#79589f}.hover-b--light-purple:focus,.hover-b--light-purple:hover{border-color:#a997bf}.hover-b--lightest-purple:focus,.hover-b--lightest-purple:hover{border-color:#f7f3fb}.hover-b--dark-blue:focus,.hover-b--dark-blue:hover{border-color:#034ca2}.hover-b--blue:focus,.hover-b--blue:hover{border-color:#006deb}.hover-b--light-blue:focus,.hover-b--light-blue:hover{border-color:#8ebdf1}.hover-b--lightest-blue:focus,.hover-b--lightest-blue:hover{border-color:#f6faff}.hover-b--dark-green:focus,.hover-b--dark-green:hover{border-color:#066515}.hover-b--green:focus,.hover-b--green:hover{border-color:#008700}.hover-b--light-green:focus,.hover-b--light-green:hover{border-color:#86cf95}.hover-b--lightest-green:focus,.hover-b--lightest-green:hover{border-color:#f8fcf9}.hover-b--dark-red:focus,.hover-b--dark-red:hover{border-color:#a70404}.hover-b--red:focus,.hover-b--red:hover{border-color:#de0a0a}.hover-b--light-red:focus,.hover-b--light-red:hover{border-color:#de7575}.hover-b--lightest-red:focus,.hover-b--lightest-red:hover{border-color:#fdf6f6}.hover-b--dark-orange:focus,.hover-b--dark-orange:hover{border-color:#832d03}.hover-b--orange:focus,.hover-b--orange:hover{border-color:#c74c00}.hover-b--light-orange:focus,.hover-b--light-orange:hover{border-color:#fa9f47}.hover-b--lightest-orange:focus,.hover-b--lightest-orange:hover{border-color:#fffaf6}.hover-b--transparent:focus,.hover-b--transparent:hover{border-color:transparent}.hover-b--gold:focus,.hover-b--gold:hover{border-color:#ffb700}.hover-b--yellow:focus,.hover-b--yellow:hover{border-color:gold}.hover-b--light-yellow:focus,.hover-b--light-yellow:hover{border-color:#fbf1a9}.hover-b--dark-pink:focus,.hover-b--dark-pink:hover{border-color:#d5008f}.hover-b--hot-pink:focus,.hover-b--hot-pink:hover{border-color:#ff41b4}.hover-b--pink:focus,.hover-b--pink:hover{border-color:#ff80cc}.hover-b--light-pink:focus,.hover-b--light-pink:hover{border-color:#ffa3d7}.hover-b--navy:focus,.hover-b--navy:hover{border-color:#001b44}.hover-b--washed-blue:focus,.hover-b--washed-blue:hover{border-color:#f6fffe}.hover-b--washed-green:focus,.hover-b--washed-green:hover{border-color:#e8fdf5}.hover-b--washed-yellow:focus,.hover-b--washed-yellow:hover{border-color:#fffceb}.hover-b--washed-red:focus,.hover-b--washed-red:hover{border-color:#ffdfdf}.hover-b--black-90:focus,.hover-b--black-90:hover{border-color:rgba(0,0,0,.9)}.hover-b--black-80:focus,.hover-b--black-80:hover{border-color:rgba(0,0,0,.8)}.hover-b--black-70:focus,.hover-b--black-70:hover{border-color:rgba(0,0,0,.7)}.hover-b--black-60:focus,.hover-b--black-60:hover{border-color:rgba(0,0,0,.6)}.hover-b--black-50:focus,.hover-b--black-50:hover{border-color:rgba(0,0,0,.5)}.hover-b--black-40:focus,.hover-b--black-40:hover{border-color:rgba(0,0,0,.4)}.hover-b--black-30:focus,.hover-b--black-30:hover{border-color:rgba(0,0,0,.3)}.hover-b--black-20:focus,.hover-b--black-20:hover{border-color:rgba(0,0,0,.2)}.hover-b--black-10:focus,.hover-b--black-10:hover{border-color:rgba(0,0,0,.1)}.hover-b--black-05:focus,.hover-b--black-05:hover{border-color:rgba(0,0,0,.05)}.hover-b--black-025:focus,.hover-b--black-025:hover{border-color:rgba(0,0,0,.025)}.hover-b--black-0125:focus,.hover-b--black-0125:hover{border-color:rgba(0,0,0,.0125)}.hover-b--gray-90:focus,.hover-b--gray-90:hover{border-color:rgba(89,105,129,.9)}.hover-b--gray-80:focus,.hover-b--gray-80:hover{border-color:rgba(89,105,129,.8)}.hover-b--gray-70:focus,.hover-b--gray-70:hover{border-color:rgba(89,105,129,.7)}.hover-b--gray-60:focus,.hover-b--gray-60:hover{border-color:rgba(89,105,129,.6)}.hover-b--gray-50:focus,.hover-b--gray-50:hover{border-color:rgba(89,105,129,.5)}.hover-b--gray-40:focus,.hover-b--gray-40:hover{border-color:rgba(89,105,129,.4)}.hover-b--gray-30:focus,.hover-b--gray-30:hover{border-color:rgba(89,105,129,.3)}.hover-b--gray-20:focus,.hover-b--gray-20:hover{border-color:rgba(89,105,129,.2)}.hover-b--gray-10:focus,.hover-b--gray-10:hover{border-color:rgba(89,105,129,.1)}.hover-b--gray-05:focus,.hover-b--gray-05:hover{border-color:rgba(89,105,129,.05)}.hover-b--gray-025:focus,.hover-b--gray-025:hover{border-color:rgba(89,105,129,.025)}.hover-b--gray-0125:focus,.hover-b--gray-0125:hover{border-color:rgba(89,105,129,.0125)}.hover-b--white-90:focus,.hover-b--white-90:hover{border-color:hsla(0,0%,100%,.9)}.hover-b--white-80:focus,.hover-b--white-80:hover{border-color:hsla(0,0%,100%,.8)}.hover-b--white-70:focus,.hover-b--white-70:hover{border-color:hsla(0,0%,100%,.7)}.hover-b--white-60:focus,.hover-b--white-60:hover{border-color:hsla(0,0%,100%,.6)}.hover-b--white-50:focus,.hover-b--white-50:hover{border-color:hsla(0,0%,100%,.5)}.hover-b--white-40:focus,.hover-b--white-40:hover{border-color:hsla(0,0%,100%,.4)}.hover-b--white-30:focus,.hover-b--white-30:hover{border-color:hsla(0,0%,100%,.3)}.hover-b--white-20:focus,.hover-b--white-20:hover{border-color:hsla(0,0%,100%,.2)}.hover-b--white-10:focus,.hover-b--white-10:hover{border-color:hsla(0,0%,100%,.1)}.br0{border-radius:0}.br1{border-radius:4px}.br2{border-radius:6px}.br3{border-radius:8px}.br4{border-radius:13px}.br-100{border-radius:100%}.br-pill{border-radius:9999px}.br--bottom{border-top-left-radius:0;border-top-right-radius:0}.br--top{border-bottom-right-radius:0}.br--right,.br--top{border-bottom-left-radius:0}.br--right{border-top-left-radius:0}.br--left,.br--reset{border-top-right-radius:0;border-bottom-right-radius:0}.br--reset{border-top-left-radius:0;border-bottom-left-radius:0}@media screen and (min-width:30em){.br0-ns{border-radius:0}.br1-ns{border-radius:4px}.br2-ns{border-radius:6px}.br3-ns{border-radius:8px}.br4-ns{border-radius:13px}.br-100-ns{border-radius:100%}.br-pill-ns{border-radius:9999px}.br--bottom-ns{border-top-left-radius:0;border-top-right-radius:0}.br--top-ns{border-bottom-right-radius:0}.br--right-ns,.br--top-ns{border-bottom-left-radius:0}.br--right-ns{border-top-left-radius:0}.br--left-ns,.br--reset-ns{border-top-right-radius:0;border-bottom-right-radius:0}.br--reset-ns{border-top-left-radius:0;border-bottom-left-radius:0}}@media screen and (min-width:30em) and (max-width:60em){.br0-m{border-radius:0}.br1-m{border-radius:4px}.br2-m{border-radius:6px}.br3-m{border-radius:8px}.br4-m{border-radius:13px}.br-100-m{border-radius:100%}.br-pill-m{border-radius:9999px}.br--bottom-m{border-top-left-radius:0;border-top-right-radius:0}.br--top-m{border-bottom-right-radius:0}.br--right-m,.br--top-m{border-bottom-left-radius:0}.br--right-m{border-top-left-radius:0}.br--left-m,.br--reset-m{border-top-right-radius:0;border-bottom-right-radius:0}.br--reset-m{border-top-left-radius:0;border-bottom-left-radius:0}}@media screen and (min-width:60em){.br0-l{border-radius:0}.br1-l{border-radius:4px}.br2-l{border-radius:6px}.br3-l{border-radius:8px}.br4-l{border-radius:13px}.br-100-l{border-radius:100%}.br-pill-l{border-radius:9999px}.br--bottom-l{border-radius-top-left:0;border-radius-top-right:0}.br--top-l{border-bottom-right-radius:0}.br--right-l,.br--top-l{border-bottom-left-radius:0}.br--right-l{border-top-left-radius:0}.br--left-l,.br--reset-l{border-top-right-radius:0;border-bottom-right-radius:0}.br--reset-l{border-top-left-radius:0;border-bottom-left-radius:0}}.b--dotted{border-style:dotted}.b--dashed{border-style:dashed}.b--solid{border-style:solid}.b--none{border-style:none}@media screen and (min-width:30em){.b--dotted-ns{border-style:dotted}.b--dashed-ns{border-style:dashed}.b--solid-ns{border-style:solid}.b--none-ns{border-style:none}}@media screen and (min-width:30em) and (max-width:60em){.b--dotted-m{border-style:dotted}.b--dashed-m{border-style:dashed}.b--solid-m{border-style:solid}.b--none-m{border-style:none}}@media screen and (min-width:60em){.b--dotted-l{border-style:dotted}.b--dashed-l{border-style:dashed}.b--solid-l{border-style:solid}.b--none-l{border-style:none}}.bw0{border-width:0}.bw1{border-width:1px}.bw2{border-width:3px}.bw3{border-width:5px}.bw4{border-width:10px}.bw5{border-width:20px}.bt-0{border-top-width:0}.br-0{border-right-width:0}.bb-0{border-bottom-width:0}.bl-0{border-left-width:0}@media screen and (min-width:30em){.bw0-ns{border-width:0}.bw1-ns{border-width:1px}.bw2-ns{border-width:3px}.bw3-ns{border-width:5px}.bw4-ns{border-width:10px}.bw5-ns{border-width:20px}.bt-0-ns{border-top-width:0}.br-0-ns{border-right-width:0}.bb-0-ns{border-bottom-width:0}.bl-0-ns{border-left-width:0}}@media screen and (min-width:30em) and (max-width:60em){.bw0-m{border-width:0}.bw1-m{border-width:1px}.bw2-m{border-width:3px}.bw3-m{border-width:5px}.bw4-m{border-width:10px}.bw5-m{border-width:20px}.bt-0-m{border-top-width:0}.br-0-m{border-right-width:0}.bb-0-m{border-bottom-width:0}.bl-0-m{border-left-width:0}}@media screen and (min-width:60em){.bw0-l{border-width:0}.bw1-l{border-width:1px}.bw2-l{border-width:3px}.bw3-l{border-width:5px}.bw4-l{border-width:10px}.bw5-l{border-width:20px}.bt-0-l{border-top-width:0}.br-0-l{border-right-width:0}.bb-0-l{border-bottom-width:0}.bl-0-l{border-left-width:0}}.border-box,article,body,button,code,dd,div,dl,dt,fieldset,footer,form,header,html,input:not([type]),input[type=email],input[type=number],input[type=password],input[type=tel],input[type=text],input[type=url],li,main,ol,p,pre,section,textarea,ul{box-sizing:border-box}.cf:after,.cf:before{content:" ";display:table}.cf:after{clear:both}.cf{*zoom:1}.cl{clear:left}.cr{clear:right}.cb{clear:both}.cn{clear:none}@media screen and (min-width:30em){.cl-ns{clear:left}.cr-ns{clear:right}.cb-ns{clear:both}.cn-ns{clear:none}}@media screen and (min-width:30em) and (max-width:60em){.cl-m{clear:left}.cr-m{clear:right}.cb-m{clear:both}.cn-m{clear:none}}@media screen and (min-width:60em){.cl-l{clear:left}.cr-l{clear:right}.cb-l{clear:both}.cn-l{clear:none}}.pre{overflow-x:auto;overflow-y:hidden;overflow:scroll}.top-0{top:0}.right-0{right:0}.bottom-0{bottom:0}.left-0{left:0}.top-1{top:1rem}.right-1{right:1rem}.bottom-1{bottom:1rem}.left-1{left:1rem}.top-2{top:2rem}.right-2{right:2rem}.bottom-2{bottom:2rem}.left-2{left:2rem}.top--1{top:-1rem}.right--1{right:-1rem}.bottom--1{bottom:-1rem}.left--1{left:-1rem}.top--2{top:-2rem}.right--2{right:-2rem}.bottom--2{bottom:-2rem}.left--2{left:-2rem}.absolute--fill{top:0;right:0;bottom:0;left:0}@media screen and (min-width:30em){.top-0-ns{top:0}.left-0-ns{left:0}.right-0-ns{right:0}.bottom-0-ns{bottom:0}.top-1-ns{top:1rem}.left-1-ns{left:1rem}.right-1-ns{right:1rem}.bottom-1-ns{bottom:1rem}.top-2-ns{top:2rem}.left-2-ns{left:2rem}.right-2-ns{right:2rem}.bottom-2-ns{bottom:2rem}.top--1-ns{top:-1rem}.right--1-ns{right:-1rem}.bottom--1-ns{bottom:-1rem}.left--1-ns{left:-1rem}.top--2-ns{top:-2rem}.right--2-ns{right:-2rem}.bottom--2-ns{bottom:-2rem}.left--2-ns{left:-2rem}.absolute--fill-ns{top:0;right:0;bottom:0;left:0}}@media screen and (min-width:30em) and (max-width:60em){.top-0-m{top:0}.left-0-m{left:0}.right-0-m{right:0}.bottom-0-m{bottom:0}.top-1-m{top:1rem}.left-1-m{left:1rem}.right-1-m{right:1rem}.bottom-1-m{bottom:1rem}.top-2-m{top:2rem}.left-2-m{left:2rem}.right-2-m{right:2rem}.bottom-2-m{bottom:2rem}.top--1-m{top:-1rem}.right--1-m{right:-1rem}.bottom--1-m{bottom:-1rem}.left--1-m{left:-1rem}.top--2-m{top:-2rem}.right--2-m{right:-2rem}.bottom--2-m{bottom:-2rem}.left--2-m{left:-2rem}.absolute--fill-m{top:0;right:0;bottom:0;left:0}}@media screen and (min-width:60em){.top-0-l{top:0}.left-0-l{left:0}.right-0-l{right:0}.bottom-0-l{bottom:0}.top-1-l{top:1rem}.left-1-l{left:1rem}.right-1-l{right:1rem}.bottom-1-l{bottom:1rem}.top-2-l{top:2rem}.left-2-l{left:2rem}.right-2-l{right:2rem}.bottom-2-l{bottom:2rem}.top--1-l{top:-1rem}.right--1-l{right:-1rem}.bottom--1-l{bottom:-1rem}.left--1-l{left:-1rem}.top--2-l{top:-2rem}.right--2-l{right:-2rem}.bottom--2-l{bottom:-2rem}.left--2-l{left:-2rem}.absolute--fill-l{top:0;right:0;bottom:0;left:0}}.cursor-alias{cursor:alias}.cursor-all-scroll{cursor:all-scroll}.cursor-auto{cursor:auto}.cursor-cell{cursor:cell}.cursor-context-menu{cursor:context-menu}.cursor-col-resize{cursor:col-resize}.cursor-copy{cursor:copy}.cursor-crosshair{cursor:crosshair}.cursor-default{cursor:default}.cursor-e-resize{cursor:e-resize}.cursor-ew-resize{cursor:ew-resize}.cursor-grab{cursor:-webkit-grab;cursor:grab}.cursor-grabbing{cursor:-webkit-grabbing;cursor:grabbing}.cursor-help{cursor:help}.cursor-move{cursor:move}.cursor-n-resize{cursor:n-resize}.cursor-ne-resize{cursor:ne-resize}.cursor-nesw-resize{cursor:nesw-resize}.cursor-ns-resize{cursor:ns-resize}.cursor-nw-resize{cursor:nw-resize}.cursor-nwse-resize{cursor:nwse-resize}.cursor-no-drop{cursor:no-drop}.cursor-none{cursor:none}.cursor-not-allowed{cursor:not-allowed}.cursor-hand,.cursor-pointer{cursor:pointer}.cursor-progress{cursor:progress}.cursor-row-resize{cursor:row-resize}.cursor-s-resize{cursor:s-resize}.cursor-se-resize{cursor:se-resize}.cursor-sw-resize{cursor:sw-resize}.cursor-text{cursor:text}.cursor-URL{cursor:URL}.cursor-vertical-text{cursor:vertical-text}.cursor-w-resize{cursor:w-resize}.cursor-wait{cursor:wait}.cursor-zoom-in{cursor:zoom-in}.cursor-zoom-out{cursor:zoom-out}.cursor-initial{cursor:auto}.cursor-inherit{cursor:inherit}.dn{display:none}.di{display:inline}.db{display:block}.dib{display:inline-block}.dit{display:inline-table}.dt{display:table}.dtc{display:table-cell}.dt-row{display:table-row}.dt-row-group{display:table-row-group}.dt-column{display:table-column}.dt-column-group{display:table-column-group}.dt--fixed{table-layout:fixed;width:100%}@media screen and (min-width:30em){.dn-ns{display:none}.di-ns{display:inline}.db-ns{display:block}.dib-ns{display:inline-block}.dit-ns{display:inline-table}.dt-ns{display:table}.dtc-ns{display:table-cell}.dt-row-ns{display:table-row}.dt-row-group-ns{display:table-row-group}.dt-column-ns{display:table-column}.dt-column-group-ns{display:table-column-group}.dt--fixed-ns{table-layout:fixed;width:100%}}@media screen and (min-width:30em) and (max-width:60em){.dn-m{display:none}.di-m{display:inline}.db-m{display:block}.dib-m{display:inline-block}.dit-m{display:inline-table}.dt-m{display:table}.dtc-m{display:table-cell}.dt-row-m{display:table-row}.dt-row-group-m{display:table-row-group}.dt-column-m{display:table-column}.dt-column-group-m{display:table-column-group}.dt--fixed-m{table-layout:fixed;width:100%}}@media screen and (min-width:60em){.dn-l{display:none}.di-l{display:inline}.db-l{display:block}.dib-l{display:inline-block}.dit-l{display:inline-table}.dt-l{display:table}.dtc-l{display:table-cell}.dt-row-l{display:table-row}.dt-row-group-l{display:table-row-group}.dt-column-l{display:table-column}.dt-column-group-l{display:table-column-group}.dt--fixed-l{table-layout:fixed;width:100%}}.fill-black{fill:#000}.fill-near-black{fill:#323b49}.fill-dark-gray{fill:#475366}.fill-mid-gray{fill:#56667d}.fill-gray{fill:#62738d}.fill-silver{fill:#e3e7ef}.fill-light-silver{fill:#eef1f6}.fill-lightest-silver{fill:#f7f8fb}.fill-light-gray{fill:#cfd7e6}.fill-near-white{fill:#fbfbfd}.fill-white{fill:#fff}.fill-transparent{fill:transparent}.fill-dark-red{fill:#a70404}.fill-red{fill:#de0a0a}.fill-light-red{fill:#de7575}.fill-orange{fill:#c74c00}.fill-gold{fill:#ffb700}.fill-yellow{fill:gold}.fill-light-yellow{fill:#fbf1a9}.fill-purple{fill:#79589f}.fill-light-purple{fill:#a997bf}.fill-dark-pink{fill:#d5008f}.fill-hot-pink{fill:#ff41b4}.fill-pink{fill:#ff80cc}.fill-light-pink{fill:#ffa3d7}.fill-dark-green{fill:#066515}.fill-green{fill:#008700}.fill-light-green{fill:#86cf95}.fill-navy{fill:#001b44}.fill-dark-blue{fill:#034ca2}.fill-blue{fill:#006deb}.fill-light-blue{fill:#8ebdf1}.fill-lightest-blue{fill:#f6faff}.fill-washed-blue{fill:#f6fffe}.fill-washed-green{fill:#e8fdf5}.fill-washed-yellow{fill:#fffceb}.fill-washed-red{fill:#ffdfdf}.hover-fill-black:hover{fill:#000}.hover-fill-near-black:hover{fill:#323b49}.hover-fill-dark-gray:hover{fill:#475366}.hover-fill-mid-gray:hover{fill:#56667d}.hover-fill-gray:hover{fill:#62738d}.hover-fill-silver:hover{fill:#e3e7ef}.hover-fill-light-silver:hover{fill:#eef1f6}.hover-fill-lightest-silver:hover{fill:#f7f8fb}.hover-fill-light-gray:hover{fill:#cfd7e6}.hover-fill-near-white:hover{fill:#fbfbfd}.hover-fill-white:hover{fill:#fff}.hover-fill-transparent:hover{fill:transparent}.hover-fill-dark-red:hover{fill:#a70404}.hover-fill-red:hover{fill:#de0a0a}.hover-fill-light-red:hover{fill:#de7575}.hover-fill-orange:hover{fill:#c74c00}.hover-fill-gold:hover{fill:#ffb700}.hover-fill-yellow:hover{fill:gold}.hover-fill-light-yellow:hover{fill:#fbf1a9}.hover-fill-purple:hover{fill:#79589f}.hover-fill-light-purple:hover{fill:#a997bf}.hover-fill-dark-pink:hover{fill:#d5008f}.hover-fill-hot-pink:hover{fill:#ff41b4}.hover-fill-pink:hover{fill:#ff80cc}.hover-fill-light-pink:hover{fill:#ffa3d7}.hover-fill-dark-green:hover{fill:#066515}.hover-fill-green:hover{fill:#008700}.hover-fill-light-green:hover{fill:#86cf95}.hover-fill-navy:hover{fill:#001b44}.hover-fill-dark-blue:hover{fill:#034ca2}.hover-fill-blue:hover{fill:#006deb}.hover-fill-light-blue:hover{fill:#8ebdf1}.hover-fill-lightest-blue:hover{fill:#f6faff}.hover-fill-washed-blue:hover{fill:#f6fffe}.hover-fill-washed-green:hover{fill:#e8fdf5}.hover-fill-washed-yellow:hover{fill:#fffceb}.hover-fill-washed-red:hover{fill:#ffdfdf}.fill-o-05{fill-opacity:.05}.fill-o-10{fill-opacity:.1}.fill-o-20{fill-opacity:.2}.fill-o-25{fill-opacity:.25}.fill-o-30{fill-opacity:.3}.fill-o-40{fill-opacity:.4}.fill-o-50{fill-opacity:.5}.fill-o-60{fill-opacity:.6}.fill-o-75{fill-opacity:.75}.fill-o-80{fill-opacity:.8}.fill-o-90{fill-opacity:.9}.hover-fill-o-05:hover{fill-opacity:.05}.hover-fill-o-10:hover{fill-opacity:.1}.hover-fill-o-20:hover{fill-opacity:.2}.hover-fill-o-25:hover{fill-opacity:.25}.hover-fill-o-30:hover{fill-opacity:.3}.hover-fill-o-40:hover{fill-opacity:.4}.hover-fill-o-50:hover{fill-opacity:.5}.hover-fill-o-60:hover{fill-opacity:.6}.hover-fill-o-75:hover{fill-opacity:.75}.hover-fill-o-80:hover{fill-opacity:.8}.hover-fill-o-90:hover{fill-opacity:.9}.fill-nonzero{fill-rule:nonzero}.fill-evenodd{fill-rule:evenodd}.flex{display:-ms-flexbox;display:flex}.inline-flex{display:-ms-inline-flexbox;display:inline-flex}.flex-column{-ms-flex-direction:column;flex-direction:column}.flex-row{-ms-flex-direction:row;flex-direction:row}.flex-wrap{-ms-flex-wrap:wrap;flex-wrap:wrap}.flex-nowrap{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.flex-wrap-reverse{-ms-flex-wrap:wrap-reverse;flex-wrap:wrap-reverse}.flex-column-reverse{-ms-flex-direction:column-reverse;flex-direction:column-reverse}.flex-row-reverse{-ms-flex-direction:row-reverse;flex-direction:row-reverse}.items-start{-ms-flex-align:start;align-items:flex-start}.items-end{-ms-flex-align:end;align-items:flex-end}.items-center{-ms-flex-align:center;align-items:center}.items-baseline{-ms-flex-align:baseline;align-items:baseline}.items-stretch{-ms-flex-align:stretch;align-items:stretch}.self-start{-ms-flex-item-align:start;align-self:flex-start}.self-end{-ms-flex-item-align:end;align-self:flex-end}.self-center{-ms-flex-item-align:center;-ms-grid-row-align:center;align-self:center}.self-baseline{-ms-flex-item-align:baseline;align-self:baseline}.self-stretch{-ms-flex-item-align:stretch;-ms-grid-row-align:stretch;align-self:stretch}.justify-start{-ms-flex-pack:start;justify-content:flex-start}.justify-end{-ms-flex-pack:end;justify-content:flex-end}.justify-center{-ms-flex-pack:center;justify-content:center}.justify-between{-ms-flex-pack:justify;justify-content:space-between}.justify-around{-ms-flex-pack:distribute;justify-content:space-around}.content-start{-ms-flex-line-pack:start;align-content:flex-start}.content-end{-ms-flex-line-pack:end;align-content:flex-end}.content-center{-ms-flex-line-pack:center;align-content:center}.content-between{-ms-flex-line-pack:justify;align-content:space-between}.content-around{-ms-flex-line-pack:distribute;align-content:space-around}.content-stretch{-ms-flex-line-pack:stretch;align-content:stretch}.flex-1{-ms-flex:1;flex:1}.flex-2{-ms-flex:2;flex:2}.flex-3{-ms-flex:3;flex:3}.flex-4{-ms-flex:4;flex:4}.flex-5{-ms-flex:5;flex:5}.flex-6{-ms-flex:6;flex:6}.flex-7{-ms-flex:7;flex:7}.flex-8{-ms-flex:8;flex:8}.flex-9{-ms-flex:9;flex:9}.flex-auto{-ms-flex:1 1 auto;flex:1 1 auto;min-width:0;min-height:0}.flex-equal{-ms-flex-positive:1;flex-grow:1;-ms-flex-preferred-size:0;flex-basis:0}.flex-none{-ms-flex:none;flex:none}.flex-grow-0{-ms-flex-positive:0;flex-grow:0}.flex-grow-1{-ms-flex-positive:1;flex-grow:1}.flex-shrink-0{-ms-flex-negative:0;flex-shrink:0}.flex-shrink-1{-ms-flex-negative:1;flex-shrink:1}.order-0{-ms-flex-order:0;order:0}.order-1{-ms-flex-order:1;order:1}.order-2{-ms-flex-order:2;order:2}.order-3{-ms-flex-order:3;order:3}.order-4{-ms-flex-order:4;order:4}.order-5{-ms-flex-order:5;order:5}.order-6{-ms-flex-order:6;order:6}.order-7{-ms-flex-order:7;order:7}.order-8{-ms-flex-order:8;order:8}.order-last{-ms-flex-order:99999;order:99999}@media screen and (min-width:30em){.flex-ns{display:-ms-flexbox;display:flex}.inline-flex-ns{display:-ms-inline-flexbox;display:inline-flex}.flex-column-ns{-ms-flex-direction:column;flex-direction:column}.flex-row-ns{-ms-flex-direction:row;flex-direction:row}.flex-wrap-ns{-ms-flex-wrap:wrap;flex-wrap:wrap}.flex-nowrap-ns{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.flex-wrap-reverse-ns{-ms-flex-wrap:wrap-reverse;flex-wrap:wrap-reverse}.flex-column-reverse-ns{-ms-flex-direction:column-reverse;flex-direction:column-reverse}.flex-row-reverse-ns{-ms-flex-direction:row-reverse;flex-direction:row-reverse}.items-start-ns{-ms-flex-align:start;align-items:flex-start}.items-end-ns{-ms-flex-align:end;align-items:flex-end}.items-center-ns{-ms-flex-align:center;align-items:center}.items-baseline-ns{-ms-flex-align:baseline;align-items:baseline}.items-stretch-ns{-ms-flex-align:stretch;align-items:stretch}.self-start-ns{-ms-flex-item-align:start;align-self:flex-start}.self-end-ns{-ms-flex-item-align:end;align-self:flex-end}.self-center-ns{-ms-flex-item-align:center;-ms-grid-row-align:center;align-self:center}.self-baseline-ns{-ms-flex-item-align:baseline;align-self:baseline}.self-stretch-ns{-ms-flex-item-align:stretch;-ms-grid-row-align:stretch;align-self:stretch}.justify-start-ns{-ms-flex-pack:start;justify-content:flex-start}.justify-end-ns{-ms-flex-pack:end;justify-content:flex-end}.justify-center-ns{-ms-flex-pack:center;justify-content:center}.justify-between-ns{-ms-flex-pack:justify;justify-content:space-between}.justify-around-ns{-ms-flex-pack:distribute;justify-content:space-around}.content-start-ns{-ms-flex-line-pack:start;align-content:flex-start}.content-end-ns{-ms-flex-line-pack:end;align-content:flex-end}.content-center-ns{-ms-flex-line-pack:center;align-content:center}.content-between-ns{-ms-flex-line-pack:justify;align-content:space-between}.content-around-ns{-ms-flex-line-pack:distribute;align-content:space-around}.content-stretch-ns{-ms-flex-line-pack:stretch;align-content:stretch}.flex-1-ns{-ms-flex:1;flex:1}.flex-2-ns{-ms-flex:2;flex:2}.flex-3-ns{-ms-flex:3;flex:3}.flex-4-ns{-ms-flex:4;flex:4}.flex-5-ns{-ms-flex:5;flex:5}.flex-6-ns{-ms-flex:6;flex:6}.flex-7-ns{-ms-flex:7;flex:7}.flex-8-ns{-ms-flex:8;flex:8}.flex-9-ns{-ms-flex:9;flex:9}.flex-auto-ns{-ms-flex:1 1 auto;flex:1 1 auto;min-width:0;min-height:0}.flex-none-ns{-ms-flex:none;flex:none}.flex-grow-0-ns{-ms-flex-positive:0;flex-grow:0}.flex-grow-1-ns{-ms-flex-positive:1;flex-grow:1}.flex-shrink-0-ns{-ms-flex-negative:0;flex-shrink:0}.flex-shrink-1-ns{-ms-flex-negative:1;flex-shrink:1}.order-0-ns{-ms-flex-order:0;order:0}.order-1-ns{-ms-flex-order:1;order:1}.order-2-ns{-ms-flex-order:2;order:2}.order-3-ns{-ms-flex-order:3;order:3}.order-4-ns{-ms-flex-order:4;order:4}.order-5-ns{-ms-flex-order:5;order:5}.order-6-ns{-ms-flex-order:6;order:6}.order-7-ns{-ms-flex-order:7;order:7}.order-8-ns{-ms-flex-order:8;order:8}.order-last-ns{-ms-flex-order:99999;order:99999}}@media screen and (min-width:30em) and (max-width:60em){.flex-m{display:-ms-flexbox;display:flex}.inline-flex-m{display:-ms-inline-flexbox;display:inline-flex}.flex-column-m{-ms-flex-direction:column;flex-direction:column}.flex-row-m{-ms-flex-direction:row;flex-direction:row}.flex-wrap-m{-ms-flex-wrap:wrap;flex-wrap:wrap}.flex-nowrap-m{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.flex-wrap-reverse-m{-ms-flex-wrap:wrap-reverse;flex-wrap:wrap-reverse}.flex-column-reverse-m{-ms-flex-direction:column-reverse;flex-direction:column-reverse}.flex-row-reverse-m{-ms-flex-direction:row-reverse;flex-direction:row-reverse}.items-start-m{-ms-flex-align:start;align-items:flex-start}.items-end-m{-ms-flex-align:end;align-items:flex-end}.items-center-m{-ms-flex-align:center;align-items:center}.items-baseline-m{-ms-flex-align:baseline;align-items:baseline}.items-stretch-m{-ms-flex-align:stretch;align-items:stretch}.self-start-m{-ms-flex-item-align:start;align-self:flex-start}.self-end-m{-ms-flex-item-align:end;align-self:flex-end}.self-center-m{-ms-flex-item-align:center;-ms-grid-row-align:center;align-self:center}.self-baseline-m{-ms-flex-item-align:baseline;align-self:baseline}.self-stretch-m{-ms-flex-item-align:stretch;-ms-grid-row-align:stretch;align-self:stretch}.justify-start-m{-ms-flex-pack:start;justify-content:flex-start}.justify-end-m{-ms-flex-pack:end;justify-content:flex-end}.justify-center-m{-ms-flex-pack:center;justify-content:center}.justify-between-m{-ms-flex-pack:justify;justify-content:space-between}.justify-around-m{-ms-flex-pack:distribute;justify-content:space-around}.content-start-m{-ms-flex-line-pack:start;align-content:flex-start}.content-end-m{-ms-flex-line-pack:end;align-content:flex-end}.content-center-m{-ms-flex-line-pack:center;align-content:center}.content-between-m{-ms-flex-line-pack:justify;align-content:space-between}.content-around-m{-ms-flex-line-pack:distribute;align-content:space-around}.content-stretch-m{-ms-flex-line-pack:stretch;align-content:stretch}.flex-1-m{-ms-flex:1;flex:1}.flex-2-m{-ms-flex:2;flex:2}.flex-3-m{-ms-flex:3;flex:3}.flex-4-m{-ms-flex:4;flex:4}.flex-5-m{-ms-flex:5;flex:5}.flex-6-m{-ms-flex:6;flex:6}.flex-7-m{-ms-flex:7;flex:7}.flex-8-m{-ms-flex:8;flex:8}.flex-9-m{-ms-flex:9;flex:9}.flex-auto-m{-ms-flex:1 1 auto;flex:1 1 auto;min-width:0;min-height:0}.flex-none-m{-ms-flex:none;flex:none}.flex-grow-0-m{-ms-flex-positive:0;flex-grow:0}.flex-grow-1-m{-ms-flex-positive:1;flex-grow:1}.flex-shrink-0-m{-ms-flex-negative:0;flex-shrink:0}.flex-shrink-1-m{-ms-flex-negative:1;flex-shrink:1}.order-0-m{-ms-flex-order:0;order:0}.order-1-m{-ms-flex-order:1;order:1}.order-2-m{-ms-flex-order:2;order:2}.order-3-m{-ms-flex-order:3;order:3}.order-4-m{-ms-flex-order:4;order:4}.order-5-m{-ms-flex-order:5;order:5}.order-6-m{-ms-flex-order:6;order:6}.order-7-m{-ms-flex-order:7;order:7}.order-8-m{-ms-flex-order:8;order:8}.order-last-m{-ms-flex-order:99999;order:99999}}@media screen and (min-width:60em){.flex-l{display:-ms-flexbox;display:flex}.inline-flex-l{display:-ms-inline-flexbox;display:inline-flex}.flex-column-l{-ms-flex-direction:column;flex-direction:column}.flex-row-l{-ms-flex-direction:row;flex-direction:row}.flex-wrap-l{-ms-flex-wrap:wrap;flex-wrap:wrap}.flex-nowrap-l{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.flex-wrap-reverse-l{-ms-flex-wrap:wrap-reverse;flex-wrap:wrap-reverse}.flex-column-reverse-l{-ms-flex-direction:column-reverse;flex-direction:column-reverse}.flex-row-reverse-l{-ms-flex-direction:row-reverse;flex-direction:row-reverse}.items-start-l{-ms-flex-align:start;align-items:flex-start}.items-end-l{-ms-flex-align:end;align-items:flex-end}.items-center-l{-ms-flex-align:center;align-items:center}.items-baseline-l{-ms-flex-align:baseline;align-items:baseline}.items-stretch-l{-ms-flex-align:stretch;align-items:stretch}.self-start-l{-ms-flex-item-align:start;align-self:flex-start}.self-end-l{-ms-flex-item-align:end;align-self:flex-end}.self-center-l{-ms-flex-item-align:center;-ms-grid-row-align:center;align-self:center}.self-baseline-l{-ms-flex-item-align:baseline;align-self:baseline}.self-stretch-l{-ms-flex-item-align:stretch;-ms-grid-row-align:stretch;align-self:stretch}.justify-start-l{-ms-flex-pack:start;justify-content:flex-start}.justify-end-l{-ms-flex-pack:end;justify-content:flex-end}.justify-center-l{-ms-flex-pack:center;justify-content:center}.justify-between-l{-ms-flex-pack:justify;justify-content:space-between}.justify-around-l{-ms-flex-pack:distribute;justify-content:space-around}.content-start-l{-ms-flex-line-pack:start;align-content:flex-start}.content-end-l{-ms-flex-line-pack:end;align-content:flex-end}.content-center-l{-ms-flex-line-pack:center;align-content:center}.content-between-l{-ms-flex-line-pack:justify;align-content:space-between}.content-around-l{-ms-flex-line-pack:distribute;align-content:space-around}.content-stretch-l{-ms-flex-line-pack:stretch;align-content:stretch}.flex-1-l{-ms-flex:1;flex:1}.flex-2-l{-ms-flex:2;flex:2}.flex-3-l{-ms-flex:3;flex:3}.flex-4-l{-ms-flex:4;flex:4}.flex-5-l{-ms-flex:5;flex:5}.flex-6-l{-ms-flex:6;flex:6}.flex-7-l{-ms-flex:7;flex:7}.flex-8-l{-ms-flex:8;flex:8}.flex-9-l{-ms-flex:9;flex:9}.flex-auto-l{-ms-flex:1 1 auto;flex:1 1 auto;min-width:0;min-height:0}.flex-none-l{-ms-flex:none;flex:none}.flex-grow-0-l{-ms-flex-positive:0;flex-grow:0}.flex-grow-1-l{-ms-flex-positive:1;flex-grow:1}.flex-shrink-0-l{-ms-flex-negative:0;flex-shrink:0}.flex-shrink-1-l{-ms-flex-negative:1;flex-shrink:1}.order-0-l{-ms-flex-order:0;order:0}.order-1-l{-ms-flex-order:1;order:1}.order-2-l{-ms-flex-order:2;order:2}.order-3-l{-ms-flex-order:3;order:3}.order-4-l{-ms-flex-order:4;order:4}.order-5-l{-ms-flex-order:5;order:5}.order-6-l{-ms-flex-order:6;order:6}.order-7-l{-ms-flex-order:7;order:7}.order-8-l{-ms-flex-order:8;order:8}.order-last-l{-ms-flex-order:99999;order:99999}}.fl{float:left}.fl,.fr{_display:inline}.fr{float:right}.fn{float:none}@media screen and (min-width:30em){.fl-ns{float:left}.fl-ns,.fr-ns{_display:inline}.fr-ns{float:right}.fn-ns{float:none}}@media screen and (min-width:30em) and (max-width:60em){.fl-m{float:left}.fl-m,.fr-m{_display:inline}.fr-m{float:right}.fn-m{float:none}}@media screen and (min-width:60em){.fl-l{float:left}.fl-l,.fr-l{_display:inline}.fr-l{float:right}.fn-l{float:none}}.sans-serif{font-family:Salesforce Sans,-apple-system,BlinkMacSystemFont,avenir next,avenir,helvetica,helvetica neue,ubuntu,roboto,noto,segoe ui,arial,sans-serif}.serif{font-family:georgia,serif}.system-sans-serif{font-family:sans-serif}.system-serif{font-family:serif}.code,code{font-family:consolas,monaco,monospace}.courier{font-family:Courier Next,courier,monospace}.helvetica{font-family:helvetica neue,helvetica,sans-serif}.avenir{font-family:avenir next,avenir,sans-serif}.athelas{font-family:athelas,georgia,serif}.georgia{font-family:georgia,serif}.times{font-family:times,serif}.bodoni{font-family:Bodoni MT,serif}.calisto{font-family:Calisto MT,serif}.garamond{font-family:garamond,serif}.baskerville{font-family:baskerville,serif}.i{font-style:italic}.fs-normal{font-style:normal}@media screen and (min-width:30em){.i-ns{font-style:italic}.fs-normal-ns{font-style:normal}}@media screen and (min-width:30em) and (max-width:60em){.i-m{font-style:italic}.fs-normal-m{font-style:normal}}@media screen and (min-width:60em){.i-l{font-style:italic}.fs-normal-l{font-style:normal}}.normal{font-weight:400}.b{font-weight:700}.fw1{font-weight:100}.fw2{font-weight:200}.fw3{font-weight:300}.fw4{font-weight:400}.fw5{font-weight:500}.fw6{font-weight:600}.fw7{font-weight:700}.fw8{font-weight:800}.fw9{font-weight:900}@media screen and (min-width:30em){.normal-ns{font-weight:400}.b-ns{font-weight:700}.fw1-ns{font-weight:100}.fw2-ns{font-weight:200}.fw3-ns{font-weight:300}.fw4-ns{font-weight:400}.fw5-ns{font-weight:500}.fw6-ns{font-weight:600}.fw7-ns{font-weight:700}.fw8-ns{font-weight:800}.fw9-ns{font-weight:900}}@media screen and (min-width:30em) and (max-width:60em){.normal-m{font-weight:400}.b-m{font-weight:700}.fw1-m{font-weight:100}.fw2-m{font-weight:200}.fw3-m{font-weight:300}.fw4-m{font-weight:400}.fw5-m{font-weight:500}.fw6-m{font-weight:600}.fw7-m{font-weight:700}.fw8-m{font-weight:800}.fw9-m{font-weight:900}}@media screen and (min-width:60em){.normal-l{font-weight:400}.b-l{font-weight:700}.fw1-l{font-weight:100}.fw2-l{font-weight:200}.fw3-l{font-weight:300}.fw4-l{font-weight:400}.fw5-l{font-weight:500}.fw6-l{font-weight:600}.fw7-l{font-weight:700}.fw8-l{font-weight:800}.fw9-l{font-weight:900}}.input-reset{-webkit-appearance:none;-moz-appearance:none}.button-reset::-moz-focus-inner,.input-reset::-moz-focus-inner{border:0;padding:0}.h1{height:16px}.h2{height:24px}.h3{height:32px}.h4{height:60px}.h5{height:100px}.h6{height:200px}.h--16{height:16px}.h--20{height:20px}.h--28{height:28px}.h--32{height:32px}.h--48{height:48px}.h-25{height:25%}.h-50{height:50%}.h-75{height:75%}.h-100{height:100%}.min-h-100{min-height:100%}.vh-25{height:25vh}.vh-50{height:50vh}.vh-75{height:75vh}.vh-100{height:100vh}.min-vh-100{min-height:100vh}.h-auto{height:auto}.h-inherit{height:inherit}@media screen and (min-width:30em){.h1-ns{height:16px}.h2-ns{height:24px}.h3-ns{height:32px}.h4-ns{height:60px}.h5-ns{height:100px}.h6-ns{height:200px}.h-25-ns{height:25%}.h-50-ns{height:50%}.h-75-ns{height:75%}.h-100-ns{height:100%}.min-h-100-ns{min-height:100%}.vh-25-ns{height:25vh}.vh-50-ns{height:50vh}.vh-75-ns{height:75vh}.vh-100-ns{height:100vh}.min-vh-100-ns{min-height:100vh}.h-auto-ns{height:auto}.h-inherit-ns{height:inherit}}@media screen and (min-width:30em) and (max-width:60em){.h1-m{height:16px}.h2-m{height:24px}.h3-m{height:32px}.h4-m{height:60px}.h5-m{height:100px}.h6-m{height:200px}.h-25-m{height:25%}.h-50-m{height:50%}.h-75-m{height:75%}.h-100-m{height:100%}.min-h-100-ns{min-height:100%}.vh-25-m{height:25vh}.vh-50-m{height:50vh}.vh-75-m{height:75vh}.vh-100-m{height:100vh}.min-vh-100-m{min-height:100vh}.h-auto-m{height:auto}.h-inherit-m{height:inherit}}@media screen and (min-width:60em){.h1-l{height:16px}.h2-l{height:24px}.h3-l{height:32px}.h4-l{height:60px}.h5-l{height:100px}.h6-l{height:200px}.h-25-l{height:25%}.h-50-l{height:50%}.h-75-l{height:75%}.h-100-l{height:100%}.min-h-100-l{min-height:100%}.vh-25-l{height:25vh}.vh-50-l{height:50vh}.vh-75-l{height:75vh}.vh-100-l{height:100vh}.min-vh-100-m{min-height:100vh}.h-auto-l{height:auto}.h-inherit-l{height:inherit}}.dim{opacity:1}.dim,.dim:focus,.dim:hover{transition:opacity .15s ease-in}.dim:focus,.dim:hover{opacity:.7}.dim:active{opacity:.8;transition:opacity .15s ease-out}.hide-child .child{opacity:0;transition:opacity .15s ease-in}.hide-child:active .child,.hide-child:focus .child,.hide-child:hover .child{opacity:1;transition:opacity .15s ease-in}.underline-hover:focus,.underline-hover:hover{text-decoration:underline}.grow{-moz-osx-font-smoothing:grayscale;-webkit-backface-visibility:hidden;backface-visibility:hidden;transform:translateZ(0);transition:transform .25s ease-out}.grow:focus,.grow:hover{transform:scale(1.05)}.grow:active{transform:scale(.9)}.grow-large{-moz-osx-font-smoothing:grayscale;-webkit-backface-visibility:hidden;backface-visibility:hidden;transform:translateZ(0);transition:transform .25s ease-in-out}.grow-large:focus,.grow-large:hover{transform:scale(1.2)}.grow-large:active{transform:scale(.95)}.pointer:hover{cursor:pointer}.shadow-hover{position:relative}.shadow-hover:after{box-shadow:0 0 8px 2px rgba(0,0,0,.2);opacity:0;transition:opacity .25s ease-in-out}.shadow-hover:focus:after,.shadow-hover:hover:after{opacity:1}.bg-animate,.bg-animate:focus,.bg-animate:hover{transition:background-color .15s ease-in-out}img{max-width:100%}.tracked{letter-spacing:.1em}.tracked-tight{letter-spacing:-.05em}.tracked-mega{letter-spacing:.25em}@media screen and (min-width:30em){.tracked-ns{letter-spacing:.1em}.tracked-tight-ns{letter-spacing:-.05em}.tracked-mega-ns{letter-spacing:.25em}}@media screen and (min-width:30em) and (max-width:60em){.tracked-m{letter-spacing:.1em}.tracked-tight-m{letter-spacing:-.05em}.tracked-mega-m{letter-spacing:.25em}}@media screen and (min-width:60em){.tracked-l{letter-spacing:.1em}.tracked-tight-l{letter-spacing:-.05em}.tracked-mega-l{letter-spacing:.25em}}.lh-solid{line-height:1}.lh-title{line-height:1.25}.lh-copy{line-height:1.5}.lh-12{line-height:12px}@media screen and (min-width:30em){.lh-solid-ns{line-height:1}.lh-title-ns{line-height:1.25}.lh-copy-ns{line-height:1.5}.lh-12-ns{line-height:12px}}@media screen and (min-width:30em) and (max-width:60em){.lh-solid-m{line-height:1}.lh-title-m{line-height:1.25}.lh-copy-m{line-height:1.5}.lh-12-m{line-height:12px}}@media screen and (min-width:60em){.lh-solid-l{line-height:1}.lh-title-l{line-height:1.25}.lh-copy-l{line-height:1.5}.lh-12-l{line-height:12px}}.link{text-decoration:none}.link:focus{outline:1px dotted currentColor}.hk-link{text-decoration:underline;color:#006deb}.hk-link:focus{border-radius:4px;background:#f6faff;outline:none;border-color:#006deb;box-shadow:0 0 0 2px rgba(142,189,241,.4)}.list{list-style-type:none}.mw-100{max-width:100%}.mw1{max-width:1rem}.mw2{max-width:2rem}.mw3{max-width:4rem}.mw4{max-width:8rem}.mw5{max-width:16rem}.mw6{max-width:32rem}.mw7{max-width:48rem}.mw8{max-width:64rem}.mw9{max-width:96rem}.mw-none{max-width:none}@media screen and (min-width:30em){.mw-100-ns{max-width:100%}.mw1-ns{max-width:1rem}.mw2-ns{max-width:2rem}.mw3-ns{max-width:4rem}.mw4-ns{max-width:8rem}.mw5-ns{max-width:16rem}.mw6-ns{max-width:32rem}.mw7-ns{max-width:48rem}.mw8-ns{max-width:64rem}.mw9-ns{max-width:96rem}.mw-none-ns{max-width:none}}@media screen and (min-width:30em) and (max-width:60em){.mw-100-m{max-width:100%}.mw1-m{max-width:1rem}.mw2-m{max-width:2rem}.mw3-m{max-width:4rem}.mw4-m{max-width:8rem}.mw5-m{max-width:16rem}.mw6-m{max-width:32rem}.mw7-m{max-width:48rem}.mw8-m{max-width:64rem}.mw9-m{max-width:96rem}.mw-none-m{max-width:none}}@media screen and (min-width:60em){.mw-100-l{max-width:100%}.mw1-l{max-width:1rem}.mw2-l{max-width:2rem}.mw3-l{max-width:4rem}.mw4-l{max-width:8rem}.mw5-l{max-width:16rem}.mw6-l{max-width:32rem}.mw7-l{max-width:48rem}.mw8-l{max-width:64rem}.mw9-l{max-width:96rem}.mw-none-l{max-width:none}}.na1{margin:-5px}.na2{margin:-10px}.na3{margin:-15px}.na4{margin:-20px}.na5{margin:-30px}.na6{margin:-40px}.na7{margin:-80px}.nv1{margin-top:-5px;margin-bottom:-5px}.nv2{margin-top:-10px;margin-bottom:-10px}.nv3{margin-top:-15px;margin-bottom:-15px}.nv4{margin-top:-20px;margin-bottom:-20px}.nv5{margin-top:-30px;margin-bottom:-30px}.nv6{margin-top:-40px;margin-bottom:-40px}.nv7{margin-top:-80px;margin-bottom:-80px}.nh1{margin-left:-5px;margin-right:-5px}.nh2{margin-left:-10px;margin-right:-10px}.nh3{margin-left:-15px;margin-right:-15px}.nh4{margin-left:-20px;margin-right:-20px}.nh5{margin-left:-30px;margin-right:-30px}.nh6{margin-left:-40px;margin-right:-40px}.nh7{margin-left:-80px;margin-right:-80px}.nl1{margin-left:-5px}.nl2{margin-left:-10px}.nl3{margin-left:-15px}.nl4{margin-left:-20px}.nl5{margin-left:-30px}.nl6{margin-left:-40px}.nl7{margin-left:-80px}.nr1{margin-right:-5px}.nr2{margin-right:-10px}.nr3{margin-right:-15px}.nr4{margin-right:-20px}.nr5{margin-right:-30px}.nr6{margin-right:-40px}.nr7{margin-right:-80px}.nb1{margin-bottom:-5px}.nb2{margin-bottom:-10px}.nb3{margin-bottom:-15px}.nb4{margin-bottom:-20px}.nb5{margin-bottom:-30px}.nb6{margin-bottom:-40px}.nb7{margin-bottom:-80px}.nt1{margin-top:-5px}.nt2{margin-top:-10px}.nt3{margin-top:-15px}.nt4{margin-top:-20px}.nt5{margin-top:-30px}.nt6{margin-top:-40px}.nt7{margin-top:-80px}.na--1{margin:-1px}.na--2{margin:-2px}.na--3{margin:-3px}.na--4{margin:-4px}.na--5{margin:-5px}.nv--1{margin-top:-1px;margin-bottom:-1px}.nv--2{margin-top:-2px;margin-bottom:-2px}.nv--3{margin-top:-3px;margin-bottom:-3px}.nv--4{margin-top:-4px;margin-bottom:-4px}.nv--5{margin-top:-5px;margin-bottom:-5px}.nh--1{margin-left:-1px;margin-right:-1px}.nh--2{margin-left:-2px;margin-right:-2px}.nh--3{margin-left:-3px;margin-right:-3px}.nh--4{margin-left:-4px;margin-right:-4px}.nh--5{margin-left:-5px;margin-right:-5px}.nl--1{margin-left:-1px}.nl--2{margin-left:-2px}.nl--3{margin-left:-3px}.nl--4{margin-left:-4px}.nl--5{margin-left:-5px}.nr--1{margin-right:-1px}.nr--2{margin-right:-2px}.nr--3{margin-right:-3px}.nr--4{margin-right:-4px}.nr--5{margin-right:-5px}.nb--1{margin-bottom:-1px}.nb--2{margin-bottom:-2px}.nb--3{margin-bottom:-3px}.nb--4{margin-bottom:-4px}.nb--5{margin-bottom:-5px}.nt--1{margin-top:-1px}.nt--2{margin-top:-2px}.nt--3{margin-top:-3px}.nt--4{margin-top:-4px}.nt--5{margin-top:-5px}@media screen and (min-width:30em){.na1-ns{margin:-5px}.na2-ns{margin:-10px}.na3-ns{margin:-15px}.na4-ns{margin:-20px}.na5-ns{margin:-30px}.na6-ns{margin:-40px}.na7-ns{margin:-80px}.nv1-ns{margin-top:-5px;margin-bottom:-5px}.nv2-ns{margin-top:-10px;margin-bottom:-10px}.nv3-ns{margin-top:-15px;margin-bottom:-15px}.nv4-ns{margin-top:-20px;margin-bottom:-20px}.nv5-ns{margin-top:-30px;margin-bottom:-30px}.nv6-ns{margin-top:-40px;margin-bottom:-40px}.nv7-ns{margin-top:-80px;margin-bottom:-80px}.nh1-ns{margin-left:-5px;margin-right:-5px}.nh2-ns{margin-left:-10px;margin-right:-10px}.nh3-ns{margin-left:-15px;margin-right:-15px}.nh4-ns{margin-left:-20px;margin-right:-20px}.nh5-ns{margin-left:-30px;margin-right:-30px}.nh6-ns{margin-left:-40px;margin-right:-40px}.nh7-ns{margin-left:-80px;margin-right:-80px}.nl1-ns{margin-left:-5px}.nl2-ns{margin-left:-10px}.nl3-ns{margin-left:-15px}.nl4-ns{margin-left:-20px}.nl5-ns{margin-left:-30px}.nl6-ns{margin-left:-40px}.nl7-ns{margin-left:-80px}.nr1-ns{margin-right:-5px}.nr2-ns{margin-right:-10px}.nr3-ns{margin-right:-15px}.nr4-ns{margin-right:-20px}.nr5-ns{margin-right:-30px}.nr6-ns{margin-right:-40px}.nr7-ns{margin-right:-80px}.nb1-ns{margin-bottom:-5px}.nb2-ns{margin-bottom:-10px}.nb3-ns{margin-bottom:-15px}.nb4-ns{margin-bottom:-20px}.nb5-ns{margin-bottom:-30px}.nb6-ns{margin-bottom:-40px}.nb7-ns{margin-bottom:-80px}.nt1-ns{margin-top:-5px}.nt2-ns{margin-top:-10px}.nt3-ns{margin-top:-15px}.nt4-ns{margin-top:-20px}.nt5-ns{margin-top:-30px}.nt6-ns{margin-top:-40px}.nt7-ns{margin-top:-80px}.na--1-ns{margin:-1px}.na--2-ns{margin:-2px}.na--3-ns{margin:-3px}.na--4-ns{margin:-4px}.na--5-ns{margin:-5px}.nv--1-ns{margin-top:-1px;margin-bottom:-1px}.nv--2-ns{margin-top:-2px;margin-bottom:-2px}.nv--3-ns{margin-top:-3px;margin-bottom:-3px}.nv--4-ns{margin-top:-4px;margin-bottom:-4px}.nv--5-ns{margin-top:-5px;margin-bottom:-5px}.nh--1-ns{margin-left:-1px;margin-right:-1px}.nh--2-ns{margin-left:-2px;margin-right:-2px}.nh--3-ns{margin-left:-3px;margin-right:-3px}.nh--4-ns{margin-left:-4px;margin-right:-4px}.nh--5-ns{margin-left:-5px;margin-right:-5px}.nl--1-ns{margin-left:-1px}.nl--2-ns{margin-left:-2px}.nl--3-ns{margin-left:-3px}.nl--4-ns{margin-left:-4px}.nl--5-ns{margin-left:-5px}.nr--1-ns{margin-right:-1px}.nr--2-ns{margin-right:-2px}.nr--3-ns{margin-right:-3px}.nr--4-ns{margin-right:-4px}.nr--5-ns{margin-right:-5px}.nb--1-ns{margin-bottom:-1px}.nb--2-ns{margin-bottom:-2px}.nb--3-ns{margin-bottom:-3px}.nb--4-ns{margin-bottom:-4px}.nb--5-ns{margin-bottom:-5px}.nt--1-ns{margin-top:-1px}.nt--2-ns{margin-top:-2px}.nt--3-ns{margin-top:-3px}.nt--4-ns{margin-top:-4px}.nt--5-ns{margin-top:-5px}}@media screen and (min-width:30em) and (max-width:60em){.na1-m{margin:-5px}.na2-m{margin:-10px}.na3-m{margin:-15px}.na4-m{margin:-20px}.na5-m{margin:-30px}.na6-m{margin:-40px}.na7-m{margin:-80px}.nv1-m{margin-top:-5px;margin-bottom:-5px}.nv2-m{margin-top:-10px;margin-bottom:-10px}.nv3-m{margin-top:-15px;margin-bottom:-15px}.nv4-m{margin-top:-20px;margin-bottom:-20px}.nv5-m{margin-top:-30px;margin-bottom:-30px}.nv6-m{margin-top:-40px;margin-bottom:-40px}.nv7-m{margin-top:-80px;margin-bottom:-80px}.nh1-m{margin-left:-5px;margin-right:-5px}.nh2-m{margin-left:-10px;margin-right:-10px}.nh3-m{margin-left:-15px;margin-right:-15px}.nh4-m{margin-left:-20px;margin-right:-20px}.nh5-m{margin-left:-30px;margin-right:-30px}.nh6-m{margin-left:-40px;margin-right:-40px}.nh7-m{margin-left:-80px;margin-right:-80px}.nl1-m{margin-left:-5px}.nl2-m{margin-left:-10px}.nl3-m{margin-left:-15px}.nl4-m{margin-left:-20px}.nl5-m{margin-left:-30px}.nl6-m{margin-left:-40px}.nl7-m{margin-left:-80px}.nr1-m{margin-right:-5px}.nr2-m{margin-right:-10px}.nr3-m{margin-right:-15px}.nr4-m{margin-right:-20px}.nr5-m{margin-right:-30px}.nr6-m{margin-right:-40px}.nr7-m{margin-right:-80px}.nb1-m{margin-bottom:-5px}.nb2-m{margin-bottom:-10px}.nb3-m{margin-bottom:-15px}.nb4-m{margin-bottom:-20px}.nb5-m{margin-bottom:-30px}.nb6-m{margin-bottom:-40px}.nb7-m{margin-bottom:-80px}.nt1-m{margin-top:-5px}.nt2-m{margin-top:-10px}.nt3-m{margin-top:-15px}.nt4-m{margin-top:-20px}.nt5-m{margin-top:-30px}.nt6-m{margin-top:-40px}.nt7-m{margin-top:-80px}.na--1-m{margin:-1px}.na--2-m{margin:-2px}.na--3-m{margin:-3px}.na--4-m{margin:-4px}.na--5-m{margin:-5px}.nv--1-m{margin-top:-1px;margin-bottom:-1px}.nv--2-m{margin-top:-2px;margin-bottom:-2px}.nv--3-m{margin-top:-3px;margin-bottom:-3px}.nv--4-m{margin-top:-4px;margin-bottom:-4px}.nv--5-m{margin-top:-5px;margin-bottom:-5px}.nh--1-m{margin-left:-1px;margin-right:-1px}.nh--2-m{margin-left:-2px;margin-right:-2px}.nh--3-m{margin-left:-3px;margin-right:-3px}.nh--4-m{margin-left:-4px;margin-right:-4px}.nh--5-m{margin-left:-5px;margin-right:-5px}.nl--1-m{margin-left:-1px}.nl--2-m{margin-left:-2px}.nl--3-m{margin-left:-3px}.nl--4-m{margin-left:-4px}.nl--5-m{margin-left:-5px}.nr--1-m{margin-right:-1px}.nr--2-m{margin-right:-2px}.nr--3-m{margin-right:-3px}.nr--4-m{margin-right:-4px}.nr--5-m{margin-right:-5px}.nb--1-m{margin-bottom:-1px}.nb--2-m{margin-bottom:-2px}.nb--3-m{margin-bottom:-3px}.nb--4-m{margin-bottom:-4px}.nb--5-m{margin-bottom:-5px}.nt--1-m{margin-top:-1px}.nt--2-m{margin-top:-2px}.nt--3-m{margin-top:-3px}.nt--4-m{margin-top:-4px}.nt--5-m{margin-top:-5px}}@media screen and (min-width:60em){.na1-l{margin:-5px}.na2-l{margin:-10px}.na3-l{margin:-15px}.na4-l{margin:-20px}.na5-l{margin:-30px}.na6-l{margin:-40px}.na7-l{margin:-80px}.nv1-l{margin-top:-5px;margin-bottom:-5px}.nv2-l{margin-top:-10px;margin-bottom:-10px}.nv3-l{margin-top:-15px;margin-bottom:-15px}.nv4-l{margin-top:-20px;margin-bottom:-20px}.nv5-l{margin-top:-30px;margin-bottom:-30px}.nv6-l{margin-top:-40px;margin-bottom:-40px}.nv7-l{margin-top:-80px;margin-bottom:-80px}.nh1-l{margin-left:-5px;margin-right:-5px}.nh2-l{margin-left:-10px;margin-right:-10px}.nh3-l{margin-left:-15px;margin-right:-15px}.nh4-l{margin-left:-20px;margin-right:-20px}.nh5-l{margin-left:-30px;margin-right:-30px}.nh6-l{margin-left:-40px;margin-right:-40px}.nh7-l{margin-left:-80px;margin-right:-80px}.nl1-l{margin-left:-5px}.nl2-l{margin-left:-10px}.nl3-l{margin-left:-15px}.nl4-l{margin-left:-20px}.nl5-l{margin-left:-30px}.nl6-l{margin-left:-40px}.nl7-l{margin-left:-80px}.nr1-l{margin-right:-5px}.nr2-l{margin-right:-10px}.nr3-l{margin-right:-15px}.nr4-l{margin-right:-20px}.nr5-l{margin-right:-30px}.nr6-l{margin-right:-40px}.nr7-l{margin-right:-80px}.nb1-l{margin-bottom:-5px}.nb2-l{margin-bottom:-10px}.nb3-l{margin-bottom:-15px}.nb4-l{margin-bottom:-20px}.nb5-l{margin-bottom:-30px}.nb6-l{margin-bottom:-40px}.nb7-l{margin-bottom:-80px}.nt1-l{margin-top:-5px}.nt2-l{margin-top:-10px}.nt3-l{margin-top:-15px}.nt4-l{margin-top:-20px}.nt5-l{margin-top:-30px}.nt6-l{margin-top:-40px}.nt7-l{margin-top:-80px}.na--1-l{margin:-1px}.na--2-l{margin:-2px}.na--3-l{margin:-3px}.na--4-l{margin:-4px}.na--5-l{margin:-5px}.nv--1-l{margin-top:-1px;margin-bottom:-1px}.nv--2-l{margin-top:-2px;margin-bottom:-2px}.nv--3-l{margin-top:-3px;margin-bottom:-3px}.nv--4-l{margin-top:-4px;margin-bottom:-4px}.nv--5-l{margin-top:-5px;margin-bottom:-5px}.nh--1-l{margin-left:-1px;margin-right:-1px}.nh--2-l{margin-left:-2px;margin-right:-2px}.nh--3-l{margin-left:-3px;margin-right:-3px}.nh--4-l{margin-left:-4px;margin-right:-4px}.nh--5-l{margin-left:-5px;margin-right:-5px}.nl--1-l{margin-left:-1px}.nl--2-l{margin-left:-2px}.nl--3-l{margin-left:-3px}.nl--4-l{margin-left:-4px}.nl--5-l{margin-left:-5px}.nr--1-l{margin-right:-1px}.nr--2-l{margin-right:-2px}.nr--3-l{margin-right:-3px}.nr--4-l{margin-right:-4px}.nr--5-l{margin-right:-5px}.nb--1-l{margin-bottom:-1px}.nb--2-l{margin-bottom:-2px}.nb--3-l{margin-bottom:-3px}.nb--4-l{margin-bottom:-4px}.nb--5-l{margin-bottom:-5px}.nt--1-l{margin-top:-1px}.nt--2-l{margin-top:-2px}.nt--3-l{margin-top:-3px}.nt--4-l{margin-top:-4px}.nt--5-l{margin-top:-5px}}.nudge-right--1{position:relative;left:1px}.nudge-right--2{position:relative;left:2px}.nudge-right--3{position:relative;left:3px}.nudge-right--4{position:relative;left:4px}.nudge-right--5{position:relative;left:5px}.nudge-left--1{position:relative;right:1px}.nudge-left--2{position:relative;right:2px}.nudge-left--3{position:relative;right:3px}.nudge-left--4{position:relative;right:4px}.nudge-left--5{position:relative;right:5px}.nudge-down--1{position:relative;top:1px}.nudge-down--2{position:relative;top:2px}.nudge-down--3{position:relative;top:3px}.nudge-down--4{position:relative;top:4px}.nudge-down--5{position:relative;top:5px}.nudge-up--1{position:relative;bottom:1px}.nudge-up--2{position:relative;bottom:2px}.nudge-up--3{position:relative;bottom:3px}.nudge-up--4{position:relative;bottom:4px}.nudge-up--5{position:relative;bottom:5px}@media screen and (min-width:30em){.nudge-right--1-ns{position:relative;left:1px}.nudge-right--2-ns{position:relative;left:2px}.nudge-right--3-ns{position:relative;left:3px}.nudge-right--4-ns{position:relative;left:4px}.nudge-right--5-ns{position:relative;left:5px}.nudge-left--1-ns{position:relative;right:1px}.nudge-left--2-ns{position:relative;right:2px}.nudge-left--3-ns{position:relative;right:3px}.nudge-left--4-ns{position:relative;right:4px}.nudge-left--5-ns{position:relative;right:5px}.nudge-down--1-ns{position:relative;top:1px}.nudge-down--2-ns{position:relative;top:2px}.nudge-down--3-ns{position:relative;top:3px}.nudge-down--4-ns{position:relative;top:4px}.nudge-down--5-ns{position:relative;top:5px}.nudge-up--1-ns{position:relative;bottom:1px}.nudge-up--2-ns{position:relative;bottom:2px}.nudge-up--3-ns{position:relative;bottom:3px}.nudge-up--4-ns{position:relative;bottom:4px}.nudge-up--5-ns{position:relative;bottom:5px}}@media screen and (min-width:30em) and (max-width:60em){.nudge-right--1-m{position:relative;left:1px}.nudge-right--2-m{position:relative;left:2px}.nudge-right--3-m{position:relative;left:3px}.nudge-right--4-m{position:relative;left:4px}.nudge-right--5-m{position:relative;left:5px}.nudge-left--1-m{position:relative;right:1px}.nudge-left--2-m{position:relative;right:2px}.nudge-left--3-m{position:relative;right:3px}.nudge-left--4-m{position:relative;right:4px}.nudge-left--5-m{position:relative;right:5px}.nudge-down--1-m{position:relative;top:1px}.nudge-down--2-m{position:relative;top:2px}.nudge-down--3-m{position:relative;top:3px}.nudge-down--4-m{position:relative;top:4px}.nudge-down--5-m{position:relative;top:5px}.nudge-up--1-m{position:relative;bottom:1px}.nudge-up--2-m{position:relative;bottom:2px}.nudge-up--3-m{position:relative;bottom:3px}.nudge-up--4-m{position:relative;bottom:4px}.nudge-up--5-m{position:relative;bottom:5px}}@media screen and (min-width:60em){.nudge-right--1-l{position:relative;left:1px}.nudge-right--2-l{position:relative;left:2px}.nudge-right--3-l{position:relative;left:3px}.nudge-right--4-l{position:relative;left:4px}.nudge-right--5-l{position:relative;left:5px}.nudge-left--1-l{position:relative;right:1px}.nudge-left--2-l{position:relative;right:2px}.nudge-left--3-l{position:relative;right:3px}.nudge-left--4-l{position:relative;right:4px}.nudge-left--5-l{position:relative;right:5px}.nudge-down--1-l{position:relative;top:1px}.nudge-down--2-l{position:relative;top:2px}.nudge-down--3-l{position:relative;top:3px}.nudge-down--4-l{position:relative;top:4px}.nudge-down--5-l{position:relative;top:5px}.nudge-up--1-l{position:relative;bottom:1px}.nudge-up--2-l{position:relative;bottom:2px}.nudge-up--3-l{position:relative;bottom:3px}.nudge-up--4-l{position:relative;bottom:4px}.nudge-up--5-l{position:relative;bottom:5px}}.o-100{opacity:1}.o-90{opacity:.9}.o-80{opacity:.8}.o-70{opacity:.7}.o-60{opacity:.6}.o-50{opacity:.5}.o-40{opacity:.4}.o-30{opacity:.3}.o-20{opacity:.2}.o-10{opacity:.1}.o-05{opacity:.05}.o-025{opacity:.025}.o-0{opacity:0}.outline{outline:1px solid}.outline-transparent{outline:1px solid transparent}.outline-0{outline:0}@media screen and (min-width:30em){.outline-ns{outline:1px solid}.outline-transparent-ns{outline:1px solid transparent}.outline-0-ns{outline:0}}@media screen and (min-width:30em) and (max-width:60em){.outline-m{outline:1px solid}.outline-transparent-m{outline:1px solid transparent}.outline-0-m{outline:0}}@media screen and (min-width:30em) and (max-width:60em){.outline-l{outline:1px solid}.outline-transparent-l{outline:1px solid transparent}.outline-0-l{outline:0}}.overflow-visible{overflow:visible}.overflow-hidden{overflow:hidden}.overflow-scroll{overflow:scroll}.overflow-auto{overflow:auto}.overflow-x-visible{overflow-x:visible}.overflow-x-hidden{overflow-x:hidden}.overflow-x-scroll{overflow-x:scroll}.overflow-x-auto{overflow-x:auto}.overflow-y-visible{overflow-y:visible}.overflow-y-hidden{overflow-y:hidden}.overflow-y-scroll{overflow-y:scroll}.overflow-y-auto{overflow-y:auto}@media screen and (min-width:30em){.overflow-visible-ns{overflow:visible}.overflow-hidden-ns{overflow:hidden}.overflow-scroll-ns{overflow:scroll}.overflow-auto-ns{overflow:auto}.overflow-x-visible-ns{overflow-x:visible}.overflow-x-hidden-ns{overflow-x:hidden}.overflow-x-scroll-ns{overflow-x:scroll}.overflow-x-auto-ns{overflow-x:auto}.overflow-y-visible-ns{overflow-y:visible}.overflow-y-hidden-ns{overflow-y:hidden}.overflow-y-scroll-ns{overflow-y:scroll}.overflow-y-auto-ns{overflow-y:auto}}@media screen and (min-width:30em) and (max-width:60em){.overflow-visible-m{overflow:visible}.overflow-hidden-m{overflow:hidden}.overflow-scroll-m{overflow:scroll}.overflow-auto-m{overflow:auto}.overflow-x-visible-m{overflow-x:visible}.overflow-x-hidden-m{overflow-x:hidden}.overflow-x-scroll-m{overflow-x:scroll}.overflow-x-auto-m{overflow-x:auto}.overflow-y-visible-m{overflow-y:visible}.overflow-y-hidden-m{overflow-y:hidden}.overflow-y-scroll-m{overflow-y:scroll}.overflow-y-auto-m{overflow-y:auto}}@media screen and (min-width:60em){.overflow-visible-l{overflow:visible}.overflow-hidden-l{overflow:hidden}.overflow-scroll-l{overflow:scroll}.overflow-auto-l{overflow:auto}.overflow-x-visible-l{overflow-x:visible}.overflow-x-hidden-l{overflow-x:hidden}.overflow-x-scroll-l{overflow-x:scroll}.overflow-x-auto-l{overflow-x:auto}.overflow-y-visible-l{overflow-y:visible}.overflow-y-hidden-l{overflow-y:hidden}.overflow-y-scroll-l{overflow-y:scroll}.overflow-y-auto-l{overflow-y:auto}}.pe-auto{pointer-events:auto}.pe-none{pointer-events:none}.static{position:static}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:-webkit-sticky;position:sticky}@media screen and (min-width:30em){.static-ns{position:static}.relative-ns{position:relative}.absolute-ns{position:absolute}.fixed-ns{position:fixed}.sticky-ns{position:-webkit-sticky;position:sticky}}@media screen and (min-width:30em) and (max-width:60em){.static-m{position:static}.relative-m{position:relative}.absolute-m{position:absolute}.fixed-m{position:fixed}.sticky-m{position:-webkit-sticky;position:sticky}}@media screen and (min-width:60em){.static-l{position:static}.relative-l{position:relative}.absolute-l{position:absolute}.fixed-l{position:fixed}.sticky-l{position:-webkit-sticky;position:sticky}}.shadow-1{box-shadow:0 0 2px 1px rgba(0,0,0,.2)}.shadow-2{box-shadow:0 0 4px 1px rgba(0,0,0,.2)}.shadow-3{box-shadow:0 2px 4px 1px rgba(0,0,0,.2)}.shadow-4{box-shadow:0 2px 8px 0 rgba(0,0,0,.2)}.shadow-5{box-shadow:0 4px 14px 0 rgba(0,0,0,.2)}@media screen and (min-width:30em){.shadow-1-ns{box-shadow:0 0 2px 1px rgba(0,0,0,.2)}.shadow-2-ns{box-shadow:0 0 4px 1px rgba(0,0,0,.2)}.shadow-3-ns{box-shadow:0 2px 4px 1px rgba(0,0,0,.2)}.shadow-4-ns{box-shadow:0 2px 8px 0 rgba(0,0,0,.2)}.shadow-5-ns{box-shadow:0 4px 14px 0 rgba(0,0,0,.2)}}@media screen and (min-width:30em) and (max-width:60em){.shadow-1-m{box-shadow:0 0 2px 1px rgba(0,0,0,.2)}.shadow-2-m{box-shadow:0 0 4px 1px rgba(0,0,0,.2)}.shadow-3-m{box-shadow:0 2px 4px 1px rgba(0,0,0,.2)}.shadow-4-m{box-shadow:0 2px 8px 0 rgba(0,0,0,.2)}.shadow-5-m{box-shadow:0 4px 14px 0 rgba(0,0,0,.2)}}@media screen and (min-width:60em){.shadow-1-l{box-shadow:0 0 2px 1px rgba(0,0,0,.2)}.shadow-2-l{box-shadow:0 0 4px 1px rgba(0,0,0,.2)}.shadow-3-l{box-shadow:0 2px 4px 1px rgba(0,0,0,.2)}.shadow-4-l{box-shadow:0 2px 8px 0 rgba(0,0,0,.2)}.shadow-5-l{box-shadow:0 4px 14px 0 rgba(0,0,0,.2)}}.shadow-inner-1{box-shadow:inset 0 0 0 1px rgba(89,105,129,.1),inset 0 1px 3px 0 rgba(207,215,230,.6)}.shadow-inner-2{box-shadow:inset 0 1px 2px 0 rgba(207,215,230,.4)}.shadow-inner-3{box-shadow:inset 0 0 0 1px rgba(0,0,0,.05),inset 0 1px 2px 0 rgba(78,83,90,.1)}.shadow-outer-1{box-shadow:0 0 0 1px rgba(89,105,129,.1),0 1px 3px 0 rgba(89,105,129,.1),0 1px 2px 0 rgba(0,0,0,.05)}.shadow-outer-2{box-shadow:0 0 0 1px rgba(89,105,129,.1),0 3px 20px 0 rgba(89,105,129,.3),0 1px 2px 0 rgba(0,0,0,.05)}.shadow-outer-3{box-shadow:0 1px 3px 0 rgba(89,105,129,.05),0 1px 1px 0 rgba(0,0,0,.025)}.black-90{color:rgba(0,0,0,.9)}.black-80{color:rgba(0,0,0,.8)}.black-70{color:rgba(0,0,0,.7)}.black-60{color:rgba(0,0,0,.6)}.black-50{color:rgba(0,0,0,.5)}.black-40{color:rgba(0,0,0,.4)}.black-30{color:rgba(0,0,0,.3)}.black-20{color:rgba(0,0,0,.2)}.black-10{color:rgba(0,0,0,.1)}.black-05{color:rgba(0,0,0,.05)}.gray-90{color:rgba(89,105,129,.9)}.gray-80{color:rgba(89,105,129,.8)}.gray-70{color:rgba(89,105,129,.7)}.gray-60{color:rgba(89,105,129,.6)}.gray-50{color:rgba(89,105,129,.5)}.gray-40{color:rgba(89,105,129,.4)}.gray-30{color:rgba(89,105,129,.3)}.gray-20{color:rgba(89,105,129,.2)}.gray-10{color:rgba(89,105,129,.1)}.gray-05{color:rgba(89,105,129,.05)}.white-90{color:hsla(0,0%,100%,.9)}.white-80{color:hsla(0,0%,100%,.8)}.white-70{color:hsla(0,0%,100%,.7)}.white-60{color:hsla(0,0%,100%,.6)}.white-50{color:hsla(0,0%,100%,.5)}.white-40{color:hsla(0,0%,100%,.4)}.white-30{color:hsla(0,0%,100%,.3)}.white-20{color:hsla(0,0%,100%,.2)}.white-10{color:hsla(0,0%,100%,.1)}.black{color:#000}.near-black{color:#323b49}.dark-gray{color:#475366}.mid-gray{color:#56667d}.gray{color:#62738d}.light-gray{color:#cfd7e6}.silver{color:#e3e7ef}.light-silver{color:#eef1f6}.lightest-silver{color:#f7f8fb}.near-white{color:#fbfbfd}.white{color:#fff}.dark-purple{color:#4f3074}.purple{color:#79589f}.light-purple{color:#a997bf}.lightest-purple{color:#f7f3fb}.dark-blue{color:#034ca2}.blue{color:#006deb}.light-blue{color:#8ebdf1}.lightest-blue{color:#f6faff}.dark-green{color:#066515}.green{color:#008700}.light-green{color:#86cf95}.lightest-green{color:#f8fcf9}.dark-red{color:#a70404}.red{color:#de0a0a}.light-red{color:#de7575}.lightest-red{color:#fdf6f6}.dark-orange{color:#832d03}.orange{color:#c74c00}.light-orange{color:#fa9f47}.lightest-orange{color:#fffaf6}.gold{color:#ffb700}.yellow{color:gold}.light-yellow{color:#fbf1a9}.dark-pink{color:#d5008f}.hot-pink{color:#ff41b4}.pink{color:#ff80cc}.light-pink{color:#ffa3d7}.navy{color:#001b44}.washed-blue{color:#f6fffe}.washed-green{color:#e8fdf5}.washed-yellow{color:#fffceb}.washed-red{color:#ffdfdf}.hover-black-90:focus,.hover-black-90:hover{color:rgba(0,0,0,.9)}.hover-black-80:focus,.hover-black-80:hover{color:rgba(0,0,0,.8)}.hover-black-70:focus,.hover-black-70:hover{color:rgba(0,0,0,.7)}.hover-black-60:focus,.hover-black-60:hover{color:rgba(0,0,0,.6)}.hover-black-50:focus,.hover-black-50:hover{color:rgba(0,0,0,.5)}.hover-black-40:focus,.hover-black-40:hover{color:rgba(0,0,0,.4)}.hover-black-30:focus,.hover-black-30:hover{color:rgba(0,0,0,.3)}.hover-black-20:focus,.hover-black-20:hover{color:rgba(0,0,0,.2)}.hover-black-10:focus,.hover-black-10:hover{color:rgba(0,0,0,.1)}.hover-black-05:focus,.hover-black-05:hover{color:rgba(0,0,0,.05)}.hover-gray-90:focus,.hover-gray-90:hover{color:rgba(89,105,129,.9)}.hover-gray-80:focus,.hover-gray-80:hover{color:rgba(89,105,129,.8)}.hover-gray-70:focus,.hover-gray-70:hover{color:rgba(89,105,129,.7)}.hover-gray-60:focus,.hover-gray-60:hover{color:rgba(89,105,129,.6)}.hover-gray-50:focus,.hover-gray-50:hover{color:rgba(89,105,129,.5)}.hover-gray-40:focus,.hover-gray-40:hover{color:rgba(89,105,129,.4)}.hover-gray-30:focus,.hover-gray-30:hover{color:rgba(89,105,129,.3)}.hover-gray-20:focus,.hover-gray-20:hover{color:rgba(89,105,129,.2)}.hover-gray-10:focus,.hover-gray-10:hover{color:rgba(89,105,129,.1)}.hover-gray-05:focus,.hover-gray-05:hover{color:rgba(89,105,129,.05)}.hover-white-90:focus,.hover-white-90:hover{color:hsla(0,0%,100%,.9)}.hover-white-80:focus,.hover-white-80:hover{color:hsla(0,0%,100%,.8)}.hover-white-70:focus,.hover-white-70:hover{color:hsla(0,0%,100%,.7)}.hover-white-60:focus,.hover-white-60:hover{color:hsla(0,0%,100%,.6)}.hover-white-50:focus,.hover-white-50:hover{color:hsla(0,0%,100%,.5)}.hover-white-40:focus,.hover-white-40:hover{color:hsla(0,0%,100%,.4)}.hover-white-30:focus,.hover-white-30:hover{color:hsla(0,0%,100%,.3)}.hover-white-20:focus,.hover-white-20:hover{color:hsla(0,0%,100%,.2)}.hover-white-10:focus,.hover-white-10:hover{color:hsla(0,0%,100%,.1)}.hover-black:focus,.hover-black:hover{color:#000}.hover-near-black:focus,.hover-near-black:hover{color:#323b49}.hover-dark-gray:focus,.hover-dark-gray:hover{color:#475366}.hover-mid-gray:focus,.hover-mid-gray:hover{color:#56667d}.hover-gray:focus,.hover-gray:hover{color:#62738d}.hover-light-gray:focus,.hover-light-gray:hover{color:#cfd7e6}.hover-silver:focus,.hover-silver:hover{color:#e3e7ef}.hover-light-silver:focus,.hover-light-silver:hover{color:#eef1f6}.hover-lightest-silver:focus,.hover-lightest-silver:hover{color:#f7f8fb}.hover-near-white:focus,.hover-near-white:hover{color:#fbfbfd}.hover-white:focus,.hover-white:hover{color:#fff}.hover-dark-purple:focus,.hover-dark-purple:hover{color:#4f3074}.hover-purple:focus,.hover-purple:hover{color:#79589f}.hover-light-purple:focus,.hover-light-purple:hover{color:#a997bf}.hover-lightest-purple:focus,.hover-lightest-purple:hover{color:#f7f3fb}.hover-dark-blue:focus,.hover-dark-blue:hover{color:#034ca2}.hover-blue:focus,.hover-blue:hover{color:#006deb}.hover-light-blue:focus,.hover-light-blue:hover{color:#8ebdf1}.hover-dark-green:focus,.hover-dark-green:hover{color:#066515}.hover-green:focus,.hover-green:hover{color:#008700}.hover-light-green:focus,.hover-light-green:hover{color:#86cf95}.hover-lightest-green:focus,.hover-lightest-green:hover{color:#f8fcf9}.hover-dark-red:focus,.hover-dark-red:hover{color:#a70404}.hover-red:focus,.hover-red:hover{color:#de0a0a}.hover-light-red:focus,.hover-light-red:hover{color:#de7575}.hover-lightest-red:focus,.hover-lightest-red:hover{color:#fdf6f6}.hover-dark-orange:focus,.hover-dark-orange:hover{color:#832d03}.hover-orange:focus,.hover-orange:hover{color:#c74c00}.hover-light-orange:focus,.hover-light-orange:hover{color:#fa9f47}.hover-lightest-orange:focus,.hover-lightest-orange:hover{color:#fffaf6}.hover-gold:focus,.hover-gold:hover{color:#ffb700}.hover-yellow:focus,.hover-yellow:hover{color:gold}.hover-light-yellow:focus,.hover-light-yellow:hover{color:#fbf1a9}.hover-dark-pink:focus,.hover-dark-pink:hover{color:#d5008f}.hover-hot-pink:focus,.hover-hot-pink:hover{color:#ff41b4}.hover-pink:focus,.hover-pink:hover{color:#ff80cc}.hover-light-pink:focus,.hover-light-pink:hover{color:#ffa3d7}.hover-navy:focus,.hover-navy:hover{color:#001b44}.hover-lightest-blue:focus,.hover-lightest-blue:hover{color:#f6faff}.hover-washed-blue:focus,.hover-washed-blue:hover{color:#f6fffe}.hover-washed-green:focus,.hover-washed-green:hover{color:#e8fdf5}.hover-washed-yellow:focus,.hover-washed-yellow:hover{color:#fffceb}.hover-washed-red:focus,.hover-washed-red:hover{color:#ffdfdf}.pa0{padding:0}.pa1{padding:5px}.pa2{padding:10px}.pa3{padding:15px}.pa4{padding:20px}.pa5{padding:30px}.pa6{padding:40px}.pa7{padding:80px}.pl0{padding-left:0}.pl1{padding-left:5px}.pl2{padding-left:10px}.pl3{padding-left:15px}.pl4{padding-left:20px}.pl5{padding-left:30px}.pl6{padding-left:40px}.pl7{padding-left:80px}.pr0{padding-right:0}.pr1{padding-right:5px}.pr2{padding-right:10px}.pr3{padding-right:15px}.pr4{padding-right:20px}.pr5{padding-right:30px}.pr6{padding-right:40px}.pr7{padding-right:80px}.pb0{padding-bottom:0}.pb1{padding-bottom:5px}.pb2{padding-bottom:10px}.pb3{padding-bottom:15px}.pb4{padding-bottom:20px}.pb5{padding-bottom:30px}.pb6{padding-bottom:40px}.pb7{padding-bottom:80px}.pt0{padding-top:0}.pt1{padding-top:5px}.pt2{padding-top:10px}.pt3{padding-top:15px}.pt4{padding-top:20px}.pt5{padding-top:30px}.pt6{padding-top:40px}.pt7{padding-top:80px}.pv0{padding-top:0;padding-bottom:0}.pv1{padding-top:5px;padding-bottom:5px}.pv2{padding-top:10px;padding-bottom:10px}.pv3{padding-top:15px;padding-bottom:15px}.pv4{padding-top:20px;padding-bottom:20px}.pv5{padding-top:30px;padding-bottom:30px}.pv6{padding-top:40px;padding-bottom:40px}.pv7{padding-top:80px;padding-bottom:80px}.ph0{padding-left:0;padding-right:0}.ph1{padding-left:5px;padding-right:5px}.ph2{padding-left:10px;padding-right:10px}.ph3{padding-left:15px;padding-right:15px}.ph4{padding-left:20px;padding-right:20px}.ph5{padding-left:30px;padding-right:30px}.ph6{padding-left:40px;padding-right:40px}.ph7{padding-left:80px;padding-right:80px}.pa--1{padding:1px}.pa--2{padding:2px}.pa--3{padding:3px}.pa--4{padding:4px}.pa--5{padding:5px}.pl--1{padding-left:1px}.pl--2{padding-left:2px}.pl--3{padding-left:3px}.pl--4{padding-left:4px}.pl--5{padding-left:5px}.pr--1{padding-right:1px}.pr--2{padding-right:2px}.pr--3{padding-right:3px}.pr--4{padding-right:4px}.pr--5{padding-right:5px}.pb--1{padding-bottom:1px}.pb--2{padding-bottom:2px}.pb--3{padding-bottom:3px}.pb--4{padding-bottom:4px}.pb--5{padding-bottom:5px}.pt--1{padding-top:1px}.pt--2{padding-top:2px}.pt--3{padding-top:3px}.pt--4{padding-top:4px}.pt--5{padding-top:5px}.pv--1{padding-top:1px;padding-bottom:1px}.pv--2{padding-top:2px;padding-bottom:2px}.pv--3{padding-top:3px;padding-bottom:3px}.pv--4{padding-top:4px;padding-bottom:4px}.pv--5{padding-top:5px;padding-bottom:5px}.ph--1{padding-left:1px;padding-right:1px}.ph--2{padding-left:2px;padding-right:2px}.ph--3{padding-left:3px;padding-right:3px}.ph--4{padding-left:4px;padding-right:4px}.ph--5{padding-left:5px;padding-right:5px}.ma0{margin:0}.ma1{margin:5px}.ma2{margin:10px}.ma3{margin:15px}.ma4{margin:20px}.ma5{margin:30px}.ma6{margin:40px}.ma7{margin:80px}.ml0{margin-left:0}.ml1{margin-left:5px}.ml2{margin-left:10px}.ml3{margin-left:15px}.ml4{margin-left:20px}.ml5{margin-left:30px}.ml6{margin-left:40px}.ml7{margin-left:80px}.mr0{margin-right:0}.mr1{margin-right:5px}.mr2{margin-right:10px}.mr3{margin-right:15px}.mr4{margin-right:20px}.mr5{margin-right:30px}.mr6{margin-right:40px}.mr7{margin-right:80px}.mb0{margin-bottom:0}.mb1{margin-bottom:5px}.mb2{margin-bottom:10px}.mb3{margin-bottom:15px}.mb4{margin-bottom:20px}.mb5{margin-bottom:30px}.mb6{margin-bottom:40px}.mb7{margin-bottom:80px}.mt0{margin-top:0}.mt1{margin-top:5px}.mt2{margin-top:10px}.mt3{margin-top:15px}.mt4{margin-top:20px}.mt5{margin-top:30px}.mt6{margin-top:40px}.mt7{margin-top:80px}.mv0{margin-top:0;margin-bottom:0}.mv1{margin-top:5px;margin-bottom:5px}.mv2{margin-top:10px;margin-bottom:10px}.mv3{margin-top:15px;margin-bottom:15px}.mv4{margin-top:20px;margin-bottom:20px}.mv5{margin-top:30px;margin-bottom:30px}.mv6{margin-top:40px;margin-bottom:40px}.mv7{margin-top:80px;margin-bottom:80px}.mh0{margin-left:0;margin-right:0}.mh1{margin-left:5px;margin-right:5px}.mh2{margin-left:10px;margin-right:10px}.mh3{margin-left:15px;margin-right:15px}.mh4{margin-left:20px;margin-right:20px}.mh5{margin-left:30px;margin-right:30px}.mh6{margin-left:40px;margin-right:40px}.mh7{margin-left:80px;margin-right:80px}.ma--1{margin:1px}.ma--2{margin:2px}.ma--3{margin:3px}.ma--4{margin:4px}.ma--5{margin:5px}.ml--1{margin-left:1px}.ml--2{margin-left:2px}.ml--3{margin-left:3px}.ml--4{margin-left:4px}.ml--5{margin-left:5px}.mr--1{margin-right:1px}.mr--2{margin-right:2px}.mr--3{margin-right:3px}.mr--4{margin-right:4px}.mr--5{margin-right:5px}.mb--1{margin-bottom:1px}.mb--2{margin-bottom:2px}.mb--3{margin-bottom:3px}.mb--4{margin-bottom:4px}.mb--5{margin-bottom:5px}.mt--1{margin-top:1px}.mt--2{margin-top:2px}.mt--3{margin-top:3px}.mt--4{margin-top:4px}.mt--5{margin-top:5px}.mv--1{margin-top:1px;margin-bottom:1px}.mv--2{margin-top:2px;margin-bottom:2px}.mv--3{margin-top:3px;margin-bottom:3px}.mv--4{margin-top:4px;margin-bottom:4px}.mv--5{margin-top:5px;margin-bottom:5px}.mh--1{margin-left:1px;margin-right:1px}.mh--2{margin-left:2px;margin-right:2px}.mh--3{margin-left:3px;margin-right:3px}.mh--4{margin-left:4px;margin-right:4px}.mh--5{margin-left:5px;margin-right:5px}@media screen and (min-width:30em){.pa0-ns{padding:0}.pa1-ns{padding:5px}.pa2-ns{padding:10px}.pa3-ns{padding:15px}.pa4-ns{padding:20px}.pa5-ns{padding:30px}.pa6-ns{padding:40px}.pa7-ns{padding:80px}.pl0-ns{padding-left:0}.pl1-ns{padding-left:5px}.pl2-ns{padding-left:10px}.pl3-ns{padding-left:15px}.pl4-ns{padding-left:20px}.pl5-ns{padding-left:30px}.pl6-ns{padding-left:40px}.pl7-ns{padding-left:80px}.pr0-ns{padding-right:0}.pr1-ns{padding-right:5px}.pr2-ns{padding-right:10px}.pr3-ns{padding-right:15px}.pr4-ns{padding-right:20px}.pr5-ns{padding-right:30px}.pr6-ns{padding-right:40px}.pr7-ns{padding-right:80px}.pb0-ns{padding-bottom:0}.pb1-ns{padding-bottom:5px}.pb2-ns{padding-bottom:10px}.pb3-ns{padding-bottom:15px}.pb4-ns{padding-bottom:20px}.pb5-ns{padding-bottom:30px}.pb6-ns{padding-bottom:40px}.pb7-ns{padding-bottom:80px}.pt0-ns{padding-top:0}.pt1-ns{padding-top:5px}.pt2-ns{padding-top:10px}.pt3-ns{padding-top:15px}.pt4-ns{padding-top:20px}.pt5-ns{padding-top:30px}.pt6-ns{padding-top:40px}.pt7-ns{padding-top:80px}.pv0-ns{padding-top:0;padding-bottom:0}.pv1-ns{padding-top:5px;padding-bottom:5px}.pv2-ns{padding-top:10px;padding-bottom:10px}.pv3-ns{padding-top:15px;padding-bottom:15px}.pv4-ns{padding-top:20px;padding-bottom:20px}.pv5-ns{padding-top:30px;padding-bottom:30px}.pv6-ns{padding-top:40px;padding-bottom:40px}.pv7-ns{padding-top:80px;padding-bottom:80px}.ph0-ns{padding-left:0;padding-right:0}.ph1-ns{padding-left:5px;padding-right:5px}.ph2-ns{padding-left:10px;padding-right:10px}.ph3-ns{padding-left:15px;padding-right:15px}.ph4-ns{padding-left:20px;padding-right:20px}.ph5-ns{padding-left:30px;padding-right:30px}.ph6-ns{padding-left:40px;padding-right:40px}.ph7-ns{padding-left:80px;padding-right:80px}.pa--1-ns{padding:1px}.pa--2-ns{padding:2px}.pa--3-ns{padding:3px}.pa--4-ns{padding:4px}.pa--5-ns{padding:5px}.pl--1-ns{padding-left:1px}.pl--2-ns{padding-left:2px}.pl--3-ns{padding-left:3px}.pl--4-ns{padding-left:4px}.pl--5-ns{padding-left:5px}.pr--1-ns{padding-right:1px}.pr--2-ns{padding-right:2px}.pr--3-ns{padding-right:3px}.pr--4-ns{padding-right:4px}.pr--5-ns{padding-right:5px}.pb--1-ns{padding-bottom:1px}.pb--2-ns{padding-bottom:2px}.pb--3-ns{padding-bottom:3px}.pb--4-ns{padding-bottom:4px}.pb--5-ns{padding-bottom:5px}.pt--1-ns{padding-top:1px}.pt--2-ns{padding-top:2px}.pt--3-ns{padding-top:3px}.pt--4-ns{padding-top:4px}.pt--5-ns{padding-top:5px}.pv--1-ns{padding-top:1px;padding-bottom:1px}.pv--2-ns{padding-top:2px;padding-bottom:2px}.pv--3-ns{padding-top:3px;padding-bottom:3px}.pv--4-ns{padding-top:4px;padding-bottom:4px}.pv--5-ns{padding-top:5px;padding-bottom:5px}.ph--1-ns{padding-left:1px;padding-right:1px}.ph--2-ns{padding-left:2px;padding-right:2px}.ph--3-ns{padding-left:3px;padding-right:3px}.ph--4-ns{padding-left:4px;padding-right:4px}.ph--5-ns{padding-left:5px;padding-right:5px}.ma0-ns{margin:0}.ma1-ns{margin:5px}.ma2-ns{margin:10px}.ma3-ns{margin:15px}.ma4-ns{margin:20px}.ma5-ns{margin:30px}.ma6-ns{margin:40px}.ma7-ns{margin:80px}.ml0-ns{margin-left:0}.ml1-ns{margin-left:5px}.ml2-ns{margin-left:10px}.ml3-ns{margin-left:15px}.ml4-ns{margin-left:20px}.ml5-ns{margin-left:30px}.ml6-ns{margin-left:40px}.ml7-ns{margin-left:80px}.mr0-ns{margin-right:0}.mr1-ns{margin-right:5px}.mr2-ns{margin-right:10px}.mr3-ns{margin-right:15px}.mr4-ns{margin-right:20px}.mr5-ns{margin-right:30px}.mr6-ns{margin-right:40px}.mr7-ns{margin-right:80px}.mb0-ns{margin-bottom:0}.mb1-ns{margin-bottom:5px}.mb2-ns{margin-bottom:10px}.mb3-ns{margin-bottom:15px}.mb4-ns{margin-bottom:20px}.mb5-ns{margin-bottom:30px}.mb6-ns{margin-bottom:40px}.mb7-ns{margin-bottom:80px}.mt0-ns{margin-top:0}.mt1-ns{margin-top:5px}.mt2-ns{margin-top:10px}.mt3-ns{margin-top:15px}.mt4-ns{margin-top:20px}.mt5-ns{margin-top:30px}.mt6-ns{margin-top:40px}.mt7-ns{margin-top:80px}.mv0-ns{margin-top:0;margin-bottom:0}.mv1-ns{margin-top:5px;margin-bottom:5px}.mv2-ns{margin-top:10px;margin-bottom:10px}.mv3-ns{margin-top:15px;margin-bottom:15px}.mv4-ns{margin-top:20px;margin-bottom:20px}.mv5-ns{margin-top:30px;margin-bottom:30px}.mv6-ns{margin-top:40px;margin-bottom:40px}.mv7-ns{margin-top:80px;margin-bottom:80px}.mh0-ns{margin-left:0;margin-right:0}.mh1-ns{margin-left:5px;margin-right:5px}.mh2-ns{margin-left:10px;margin-right:10px}.mh3-ns{margin-left:15px;margin-right:15px}.mh4-ns{margin-left:20px;margin-right:20px}.mh5-ns{margin-left:30px;margin-right:30px}.mh6-ns{margin-left:40px;margin-right:40px}.mh7-ns{margin-left:80px;margin-right:80px}.ma--1-ns{margin:1px}.ma--2-ns{margin:2px}.ma--3-ns{margin:3px}.ma--4-ns{margin:4px}.ma--5-ns{margin:5px}.ml--1-ns{margin-left:1px}.ml--2-ns{margin-left:2px}.ml--3-ns{margin-left:3px}.ml--4-ns{margin-left:4px}.ml--5-ns{margin-left:5px}.mr--1-ns{margin-right:1px}.mr--2-ns{margin-right:2px}.mr--3-ns{margin-right:3px}.mr--4-ns{margin-right:4px}.mr--5-ns{margin-right:5px}.mb--1-ns{margin-bottom:1px}.mb--2-ns{margin-bottom:2px}.mb--3-ns{margin-bottom:3px}.mb--4-ns{margin-bottom:4px}.mb--5-ns{margin-bottom:5px}.mt--1-ns{margin-top:1px}.mt--2-ns{margin-top:2px}.mt--3-ns{margin-top:3px}.mt--4-ns{margin-top:4px}.mt--5-ns{margin-top:5px}.mv--1-ns{margin-top:1px;margin-bottom:1px}.mv--2-ns{margin-top:2px;margin-bottom:2px}.mv--3-ns{margin-top:3px;margin-bottom:3px}.mv--4-ns{margin-top:4px;margin-bottom:4px}.mv--5-ns{margin-top:5px;margin-bottom:5px}.mh--1-ns{margin-left:1px;margin-right:1px}.mh--2-ns{margin-left:2px;margin-right:2px}.mh--3-ns{margin-left:3px;margin-right:3px}.mh--4-ns{margin-left:4px;margin-right:4px}.mh--5-ns{margin-left:5px;margin-right:5px}}@media screen and (min-width:30em) and (max-width:60em){.pa0-m{padding:0}.pa1-m{padding:5px}.pa2-m{padding:10px}.pa3-m{padding:15px}.pa4-m{padding:20px}.pa5-m{padding:30px}.pa6-m{padding:40px}.pa7-m{padding:80px}.pl0-m{padding-left:0}.pl1-m{padding-left:5px}.pl2-m{padding-left:10px}.pl3-m{padding-left:15px}.pl4-m{padding-left:20px}.pl5-m{padding-left:30px}.pl6-m{padding-left:40px}.pl7-m{padding-left:80px}.pr0-m{padding-right:0}.pr1-m{padding-right:5px}.pr2-m{padding-right:10px}.pr3-m{padding-right:15px}.pr4-m{padding-right:20px}.pr5-m{padding-right:30px}.pr6-m{padding-right:40px}.pr7-m{padding-right:80px}.pb0-m{padding-bottom:0}.pb1-m{padding-bottom:5px}.pb2-m{padding-bottom:10px}.pb3-m{padding-bottom:15px}.pb4-m{padding-bottom:20px}.pb5-m{padding-bottom:30px}.pb6-m{padding-bottom:40px}.pb7-m{padding-bottom:80px}.pt0-m{padding-top:0}.pt1-m{padding-top:5px}.pt2-m{padding-top:10px}.pt3-m{padding-top:15px}.pt4-m{padding-top:20px}.pt5-m{padding-top:30px}.pt6-m{padding-top:40px}.pt7-m{padding-top:80px}.pv0-m{padding-top:0;padding-bottom:0}.pv1-m{padding-top:5px;padding-bottom:5px}.pv2-m{padding-top:10px;padding-bottom:10px}.pv3-m{padding-top:15px;padding-bottom:15px}.pv4-m{padding-top:20px;padding-bottom:20px}.pv5-m{padding-top:30px;padding-bottom:30px}.pv6-m{padding-top:40px;padding-bottom:40px}.pv7-m{padding-top:80px;padding-bottom:80px}.ph0-m{padding-left:0;padding-right:0}.ph1-m{padding-left:5px;padding-right:5px}.ph2-m{padding-left:10px;padding-right:10px}.ph3-m{padding-left:15px;padding-right:15px}.ph4-m{padding-left:20px;padding-right:20px}.ph5-m{padding-left:30px;padding-right:30px}.ph6-m{padding-left:40px;padding-right:40px}.ph7-m{padding-left:80px;padding-right:80px}.pa--1-m{padding:1px}.pa--2-m{padding:2px}.pa--3-m{padding:3px}.pa--4-m{padding:4px}.pa--5-m{padding:5px}.pl--1-m{padding-left:1px}.pl--2-m{padding-left:2px}.pl--3-m{padding-left:3px}.pl--4-m{padding-left:4px}.pl--5-m{padding-left:5px}.pr--1-m{padding-right:1px}.pr--2-m{padding-right:2px}.pr--3-m{padding-right:3px}.pr--4-m{padding-right:4px}.pr--5-m{padding-right:5px}.pb--1-m{padding-bottom:1px}.pb--2-m{padding-bottom:2px}.pb--3-m{padding-bottom:3px}.pb--4-m{padding-bottom:4px}.pb--5-m{padding-bottom:5px}.pt--1-m{padding-top:1px}.pt--2-m{padding-top:2px}.pt--3-m{padding-top:3px}.pt--4-m{padding-top:4px}.pt--5-m{padding-top:5px}.pv--1-m{padding-top:1px;padding-bottom:1px}.pv--2-m{padding-top:2px;padding-bottom:2px}.pv--3-m{padding-top:3px;padding-bottom:3px}.pv--4-m{padding-top:4px;padding-bottom:4px}.pv--5-m{padding-top:5px;padding-bottom:5px}.ph--1-m{padding-left:1px;padding-right:1px}.ph--2-m{padding-left:2px;padding-right:2px}.ph--3-m{padding-left:3px;padding-right:3px}.ph--4-m{padding-left:4px;padding-right:4px}.ph--5-m{padding-left:5px;padding-right:5px}.ma0-m{margin:0}.ma1-m{margin:5px}.ma2-m{margin:10px}.ma3-m{margin:15px}.ma4-m{margin:20px}.ma5-m{margin:30px}.ma6-m{margin:40px}.ma7-m{margin:80px}.ml0-m{margin-left:0}.ml1-m{margin-left:5px}.ml2-m{margin-left:10px}.ml3-m{margin-left:15px}.ml4-m{margin-left:20px}.ml5-m{margin-left:30px}.ml6-m{margin-left:40px}.ml7-m{margin-left:80px}.mr0-m{margin-right:0}.mr1-m{margin-right:5px}.mr2-m{margin-right:10px}.mr3-m{margin-right:15px}.mr4-m{margin-right:20px}.mr5-m{margin-right:30px}.mr6-m{margin-right:40px}.mr7-m{margin-right:80px}.mb0-m{margin-bottom:0}.mb1-m{margin-bottom:5px}.mb2-m{margin-bottom:10px}.mb3-m{margin-bottom:15px}.mb4-m{margin-bottom:20px}.mb5-m{margin-bottom:30px}.mb6-m{margin-bottom:40px}.mb7-m{margin-bottom:80px}.mt0-m{margin-top:0}.mt1-m{margin-top:5px}.mt2-m{margin-top:10px}.mt3-m{margin-top:15px}.mt4-m{margin-top:20px}.mt5-m{margin-top:30px}.mt6-m{margin-top:40px}.mt7-m{margin-top:80px}.mv0-m{margin-top:0;margin-bottom:0}.mv1-m{margin-top:5px;margin-bottom:5px}.mv2-m{margin-top:10px;margin-bottom:10px}.mv3-m{margin-top:15px;margin-bottom:15px}.mv4-m{margin-top:20px;margin-bottom:20px}.mv5-m{margin-top:30px;margin-bottom:30px}.mv6-m{margin-top:40px;margin-bottom:40px}.mv7-m{margin-top:80px;margin-bottom:80px}.mh0-m{margin-left:0;margin-right:0}.mh1-m{margin-left:5px;margin-right:5px}.mh2-m{margin-left:10px;margin-right:10px}.mh3-m{margin-left:15px;margin-right:15px}.mh4-m{margin-left:20px;margin-right:20px}.mh5-m{margin-left:30px;margin-right:30px}.mh6-m{margin-left:40px;margin-right:40px}.mh7-m{margin-left:80px;margin-right:80px}.ma--1-m{margin:1px}.ma--2-m{margin:2px}.ma--3-m{margin:3px}.ma--4-m{margin:4px}.ma--5-m{margin:5px}.ml--1-m{margin-left:1px}.ml--2-m{margin-left:2px}.ml--3-m{margin-left:3px}.ml--4-m{margin-left:4px}.ml--5-m{margin-left:5px}.mr--1-m{margin-right:1px}.mr--2-m{margin-right:2px}.mr--3-m{margin-right:3px}.mr--4-m{margin-right:4px}.mr--5-m{margin-right:5px}.mb--1-m{margin-bottom:1px}.mb--2-m{margin-bottom:2px}.mb--3-m{margin-bottom:3px}.mb--4-m{margin-bottom:4px}.mb--5-m{margin-bottom:5px}.mt--1-m{margin-top:1px}.mt--2-m{margin-top:2px}.mt--3-m{margin-top:3px}.mt--4-m{margin-top:4px}.mt--5-m{margin-top:5px}.mv--1-m{margin-top:1px;margin-bottom:1px}.mv--2-m{margin-top:2px;margin-bottom:2px}.mv--3-m{margin-top:3px;margin-bottom:3px}.mv--4-m{margin-top:4px;margin-bottom:4px}.mv--5-m{margin-top:5px;margin-bottom:5px}.mh--1-m{margin-left:1px;margin-right:1px}.mh--2-m{margin-left:2px;margin-right:2px}.mh--3-m{margin-left:3px;margin-right:3px}.mh--4-m{margin-left:4px;margin-right:4px}.mh--5-m{margin-left:5px;margin-right:5px}}@media screen and (min-width:60em){.pa0-l{padding:0}.pa1-l{padding:5px}.pa2-l{padding:10px}.pa3-l{padding:15px}.pa4-l{padding:20px}.pa5-l{padding:30px}.pa6-l{padding:40px}.pa7-l{padding:80px}.pl0-l{padding-left:0}.pl1-l{padding-left:5px}.pl2-l{padding-left:10px}.pl3-l{padding-left:15px}.pl4-l{padding-left:20px}.pl5-l{padding-left:30px}.pl6-l{padding-left:40px}.pl7-l{padding-left:80px}.pr0-l{padding-right:0}.pr1-l{padding-right:5px}.pr2-l{padding-right:10px}.pr3-l{padding-right:15px}.pr4-l{padding-right:20px}.pr5-l{padding-right:30px}.pr6-l{padding-right:40px}.pr7-l{padding-right:80px}.pb0-l{padding-bottom:0}.pb1-l{padding-bottom:5px}.pb2-l{padding-bottom:10px}.pb3-l{padding-bottom:15px}.pb4-l{padding-bottom:20px}.pb5-l{padding-bottom:30px}.pb6-l{padding-bottom:40px}.pb7-l{padding-bottom:80px}.pt0-l{padding-top:0}.pt1-l{padding-top:5px}.pt2-l{padding-top:10px}.pt3-l{padding-top:15px}.pt4-l{padding-top:20px}.pt5-l{padding-top:30px}.pt6-l{padding-top:40px}.pt7-l{padding-top:80px}.pv0-l{padding-top:0;padding-bottom:0}.pv1-l{padding-top:5px;padding-bottom:5px}.pv2-l{padding-top:10px;padding-bottom:10px}.pv3-l{padding-top:15px;padding-bottom:15px}.pv4-l{padding-top:20px;padding-bottom:20px}.pv5-l{padding-top:30px;padding-bottom:30px}.pv6-l{padding-top:40px;padding-bottom:40px}.pv7-l{padding-top:80px;padding-bottom:80px}.ph0-l{padding-left:0;padding-right:0}.ph1-l{padding-left:5px;padding-right:5px}.ph2-l{padding-left:10px;padding-right:10px}.ph3-l{padding-left:15px;padding-right:15px}.ph4-l{padding-left:20px;padding-right:20px}.ph5-l{padding-left:30px;padding-right:30px}.ph6-l{padding-left:40px;padding-right:40px}.ph7-l{padding-left:80px;padding-right:80px}.pa--1-l{padding:1px}.pa--2-l{padding:2px}.pa--3-l{padding:3px}.pa--4-l{padding:4px}.pa--5-l{padding:5px}.pl--1-l{padding-left:1px}.pl--2-l{padding-left:2px}.pl--3-l{padding-left:3px}.pl--4-l{padding-left:4px}.pl--5-l{padding-left:5px}.pr--1-l{padding-right:1px}.pr--2-l{padding-right:2px}.pr--3-l{padding-right:3px}.pr--4-l{padding-right:4px}.pr--5-l{padding-right:5px}.pb--1-l{padding-bottom:1px}.pb--2-l{padding-bottom:2px}.pb--3-l{padding-bottom:3px}.pb--4-l{padding-bottom:4px}.pb--5-l{padding-bottom:5px}.pt--1-l{padding-top:1px}.pt--2-l{padding-top:2px}.pt--3-l{padding-top:3px}.pt--4-l{padding-top:4px}.pt--5-l{padding-top:5px}.pv--1-l{padding-top:1px;padding-bottom:1px}.pv--2-l{padding-top:2px;padding-bottom:2px}.pv--3-l{padding-top:3px;padding-bottom:3px}.pv--4-l{padding-top:4px;padding-bottom:4px}.pv--5-l{padding-top:5px;padding-bottom:5px}.ph--1-l{padding-left:1px;padding-right:1px}.ph--2-l{padding-left:2px;padding-right:2px}.ph--3-l{padding-left:3px;padding-right:3px}.ph--4-l{padding-left:4px;padding-right:4px}.ph--5-l{padding-left:5px;padding-right:5px}.ma0-l{margin:0}.ma1-l{margin:5px}.ma2-l{margin:10px}.ma3-l{margin:15px}.ma4-l{margin:20px}.ma5-l{margin:30px}.ma6-l{margin:40px}.ma7-l{margin:80px}.ml0-l{margin-left:0}.ml1-l{margin-left:5px}.ml2-l{margin-left:10px}.ml3-l{margin-left:15px}.ml4-l{margin-left:20px}.ml5-l{margin-left:30px}.ml6-l{margin-left:40px}.ml7-l{margin-left:80px}.mr0-l{margin-right:0}.mr1-l{margin-right:5px}.mr2-l{margin-right:10px}.mr3-l{margin-right:15px}.mr4-l{margin-right:20px}.mr5-l{margin-right:30px}.mr6-l{margin-right:40px}.mr7-l{margin-right:80px}.mb0-l{margin-bottom:0}.mb1-l{margin-bottom:5px}.mb2-l{margin-bottom:10px}.mb3-l{margin-bottom:15px}.mb4-l{margin-bottom:20px}.mb5-l{margin-bottom:30px}.mb6-l{margin-bottom:40px}.mb7-l{margin-bottom:80px}.mt0-l{margin-top:0}.mt1-l{margin-top:5px}.mt2-l{margin-top:10px}.mt3-l{margin-top:15px}.mt4-l{margin-top:20px}.mt5-l{margin-top:30px}.mt6-l{margin-top:40px}.mt7-l{margin-top:80px}.mv0-l{margin-top:0;margin-bottom:0}.mv1-l{margin-top:5px;margin-bottom:5px}.mv2-l{margin-top:10px;margin-bottom:10px}.mv3-l{margin-top:15px;margin-bottom:15px}.mv4-l{margin-top:20px;margin-bottom:20px}.mv5-l{margin-top:30px;margin-bottom:30px}.mv6-l{margin-top:40px;margin-bottom:40px}.mv7-l{margin-top:80px;margin-bottom:80px}.mh0-l{margin-left:0;margin-right:0}.mh1-l{margin-left:5px;margin-right:5px}.mh2-l{margin-left:10px;margin-right:10px}.mh3-l{margin-left:15px;margin-right:15px}.mh4-l{margin-left:20px;margin-right:20px}.mh5-l{margin-left:30px;margin-right:30px}.mh6-l{margin-left:40px;margin-right:40px}.mh7-l{margin-left:80px;margin-right:80px}.ma--1-l{margin:1px}.ma--2-l{margin:2px}.ma--3-l{margin:3px}.ma--4-l{margin:4px}.ma--5-l{margin:5px}.ml--1-l{margin-left:1px}.ml--2-l{margin-left:2px}.ml--3-l{margin-left:3px}.ml--4-l{margin-left:4px}.ml--5-l{margin-left:5px}.mr--1-l{margin-right:1px}.mr--2-l{margin-right:2px}.mr--3-l{margin-right:3px}.mr--4-l{margin-right:4px}.mr--5-l{margin-right:5px}.mb--1-l{margin-bottom:1px}.mb--2-l{margin-bottom:2px}.mb--3-l{margin-bottom:3px}.mb--4-l{margin-bottom:4px}.mb--5-l{margin-bottom:5px}.mt--1-l{margin-top:1px}.mt--2-l{margin-top:2px}.mt--3-l{margin-top:3px}.mt--4-l{margin-top:4px}.mt--5-l{margin-top:5px}.mv--1-l{margin-top:1px;margin-bottom:1px}.mv--2-l{margin-top:2px;margin-bottom:2px}.mv--3-l{margin-top:3px;margin-bottom:3px}.mv--4-l{margin-top:4px;margin-bottom:4px}.mv--5-l{margin-top:5px;margin-bottom:5px}.mh--1-l{margin-left:1px;margin-right:1px}.mh--2-l{margin-left:2px;margin-right:2px}.mh--3-l{margin-left:3px;margin-right:3px}.mh--4-l{margin-left:4px;margin-right:4px}.mh--5-l{margin-left:5px;margin-right:5px}}.stroke{stroke-width:2;paint-order:stroke}.stroke-none{stroke:none}.stroke-black{stroke:#000}.stroke-near-black{stroke:#323b49}.stroke-dark-gray{stroke:#475366}.stroke-mid-gray{stroke:#56667d}.stroke-gray{stroke:#62738d}.stroke-silver{stroke:#e3e7ef}.stroke-light-silver{stroke:#eef1f6}.stroke-lightest-silver{stroke:#f7f8fb}.stroke-light-gray{stroke:#cfd7e6}.stroke-near-white{stroke:#fbfbfd}.stroke-white{stroke:#fff}.stroke-transparent{stroke:transparent}.stroke-dark-red{stroke:#a70404}.stroke-red{stroke:#de0a0a}.stroke-light-red{stroke:#de7575}.stroke-orange{stroke:#c74c00}.stroke-gold{stroke:#ffb700}.stroke-yellow{stroke:gold}.stroke-light-yellow{stroke:#fbf1a9}.stroke-purple{stroke:#79589f}.stroke-light-purple{stroke:#a997bf}.stroke-dark-pink{stroke:#d5008f}.stroke-hot-pink{stroke:#ff41b4}.stroke-pink{stroke:#ff80cc}.stroke-light-pink{stroke:#ffa3d7}.stroke-dark-green{stroke:#066515}.stroke-green{stroke:#008700}.stroke-light-green{stroke:#86cf95}.stroke-navy{stroke:#001b44}.stroke-dark-blue{stroke:#034ca2}.stroke-blue{stroke:#006deb}.stroke-light-blue{stroke:#8ebdf1}.stroke-lightest-blue{stroke:#f6faff}.stroke-washed-blue{stroke:#f6fffe}.stroke-washed-green{stroke:#e8fdf5}.stroke-washed-yellow{stroke:#fffceb}.stroke-washed-red{stroke:#ffdfdf}.hover-stroke-black:hover{stroke:#000}.hover-stroke-near-black:hover{stroke:#323b49}.hover-stroke-dark-gray:hover{stroke:#475366}.hover-stroke-mid-gray:hover{stroke:#56667d}.hover-stroke-gray:hover{stroke:#62738d}.hover-stroke-silver:hover{stroke:#e3e7ef}.hover-stroke-light-silver:hover{stroke:#eef1f6}.hover-stroke-lightest-silver:hover{stroke:#f7f8fb}.hover-stroke-light-gray:hover{stroke:#cfd7e6}.hover-stroke-near-white:hover{stroke:#fbfbfd}.hover-stroke-white:hover{stroke:#fff}.hover-stroke-transparent:hover{stroke:transparent}.hover-stroke-dark-red:hover{stroke:#a70404}.hover-stroke-red:hover{stroke:#de0a0a}.hover-stroke-light-red:hover{stroke:#de7575}.hover-stroke-orange:hover{stroke:#c74c00}.hover-stroke-gold:hover{stroke:#ffb700}.hover-stroke-yellow:hover{stroke:gold}.hover-stroke-light-yellow:hover{stroke:#fbf1a9}.hover-stroke-purple:hover{stroke:#79589f}.hover-stroke-light-purple:hover{stroke:#a997bf}.hover-stroke-dark-pink:hover{stroke:#d5008f}.hover-stroke-hot-pink:hover{stroke:#ff41b4}.hover-stroke-pink:hover{stroke:#ff80cc}.hover-stroke-light-pink:hover{stroke:#ffa3d7}.hover-stroke-dark-green:hover{stroke:#066515}.hover-stroke-green:hover{stroke:#008700}.hover-stroke-light-green:hover{stroke:#86cf95}.hover-stroke-navy:hover{stroke:#001b44}.hover-stroke-dark-blue:hover{stroke:#034ca2}.hover-stroke-blue:hover{stroke:#006deb}.hover-stroke-light-blue:hover{stroke:#8ebdf1}.hover-stroke-lightest-blue:hover{stroke:#f6faff}.hover-stroke-washed-blue:hover{stroke:#f6fffe}.hover-stroke-washed-green:hover{stroke:#e8fdf5}.hover-stroke-washed-yellow:hover{stroke:#fffceb}.hover-stroke-washed-red:hover{stroke:#ffdfdf}.stroke-o-05{stroke-opacity:.05}.stroke-o-10{stroke-opacity:.1}.stroke-o-20{stroke-opacity:.2}.stroke-o-25{stroke-opacity:.25}.stroke-o-30{stroke-opacity:.3}.stroke-o-40{stroke-opacity:.4}.stroke-o-50{stroke-opacity:.5}.stroke-o-60{stroke-opacity:.6}.stroke-o-75{stroke-opacity:.75}.stroke-o-80{stroke-opacity:.8}.stroke-o-90{stroke-opacity:.9}.hover-stroke-o-05:hover{stroke-opacity:.05}.hover-stroke-o-10:hover{stroke-opacity:.1}.hover-stroke-o-20:hover{stroke-opacity:.2}.hover-stroke-o-25:hover{stroke-opacity:.25}.hover-stroke-o-30:hover{stroke-opacity:.3}.hover-stroke-o-40:hover{stroke-opacity:.4}.hover-stroke-o-50:hover{stroke-opacity:.5}.hover-stroke-o-60:hover{stroke-opacity:.6}.hover-stroke-o-75:hover{stroke-opacity:.75}.hover-stroke-o-80:hover{stroke-opacity:.8}.hover-stroke-o-90:hover{stroke-opacity:.9}.stroke-dash--1{stroke-dasharray:1}.stroke-dash--2{stroke-dasharray:2}.stroke-dash--3{stroke-dasharray:3}.stroke-dash--4{stroke-dasharray:4}.stroke-dash--5{stroke-dasharray:5}.stroke-dash--6{stroke-dasharray:6}.stroke-join-bevel{stroke-linejoin:bevel}.stroke-join-miter{stroke-linejoin:miter}.stroke-join-round{stroke-linejoin:round}.stroke-cap-butt{stroke-linecap:butt}.stroke-cap-round{stroke-linecap:round}.stroke-cap-square{stroke-linecap:square}.collapse{border-collapse:collapse;border-spacing:0}.striped--light-silver:nth-child(odd){background-color:#eef1f6}.striped--light-gray:nth-child(odd){background-color:#cfd7e6}.striped--near-white:nth-child(odd){background-color:#fbfbfd}.stripe-light:nth-child(odd){background-color:hsla(0,0%,100%,.1)}.stripe-dark:nth-child(odd){background-color:rgba(0,0,0,.1)}.hk-hide-bb-last-row>.dt-row:last-child>.dtc,.hk-hide-bb-last-row>:last-child{border-width:0;border-style:none}.tl{text-align:left}.tr{text-align:right}.tc{text-align:center}@media screen and (min-width:30em){.tl-ns{text-align:left}.tr-ns{text-align:right}.tc-ns{text-align:center}}@media screen and (min-width:30em) and (max-width:60em){.tl-m{text-align:left}.tr-m{text-align:right}.tc-m{text-align:center}}@media screen and (min-width:60em){.tl-l{text-align:left}.tr-l{text-align:right}.tc-l{text-align:center}}.strike{text-decoration:line-through}.underline{text-decoration:underline}.no-underline{text-decoration:none}@media screen and (min-width:30em){.strike-ns{text-decoration:line-through}.underline-ns{text-decoration:underline}.no-underline-ns{text-decoration:none}}@media screen and (min-width:30em) and (max-width:60em){.strike-m{text-decoration:line-through}.underline-m{text-decoration:underline}.no-underline-m{text-decoration:none}}@media screen and (min-width:60em){.strike-l{text-decoration:line-through}.underline-l{text-decoration:underline}.no-underline-l{text-decoration:none}}.ttc{text-transform:capitalize}.ttl{text-transform:lowercase}.ttu{text-transform:uppercase}.ttn{text-transform:none}@media screen and (min-width:30em){.ttc-ns{text-transform:capitalize}.ttl-ns{text-transform:lowercase}.ttu-ns{text-transform:uppercase}.ttn-ns{text-transform:none}}@media screen and (min-width:30em) and (max-width:60em){.ttc-m{text-transform:capitalize}.ttl-m{text-transform:lowercase}.ttu-m{text-transform:uppercase}.ttn-m{text-transform:none}}@media screen and (min-width:60em){.ttc-l{text-transform:capitalize}.ttl-l{text-transform:lowercase}.ttu-l{text-transform:uppercase}.ttn-l{text-transform:none}}.f-6,.f-headline{font-size:6rem}.f-5,.f-subheadline{font-size:5rem}.f1{font-size:22px}.f2{font-size:17px}.f3{font-size:15px}.f4{font-size:14px}.f5{font-size:13px}.f6{font-size:12px}.f7{font-size:11px}@media screen and (min-width:30em){.f-6-ns,.f-headline-ns{font-size:6rem}.f-5-ns,.f-subheadline-ns{font-size:5rem}.f1-ns{font-size:22px}.f2-ns{font-size:17px}.f3-ns{font-size:15px}.f4-ns{font-size:14px}.f5-ns{font-size:13px}.f6-ns{font-size:12px}.f7-ns{font-size:11px}}@media screen and (min-width:30em) and (max-width:60em){.f-6-m,.f-headline-m{font-size:6rem}.f-5-m,.f-subheadline-m{font-size:5rem}.f1-m{font-size:22px}.f2-m{font-size:17px}.f3-m{font-size:15px}.f4-m{font-size:14px}.f5-m{font-size:13px}.f6-m{font-size:12px}.f7-m{font-size:11px}}@media screen and (min-width:60em){.f-6-l,.f-headline-l{font-size:6rem}.f-5-l,.f-subheadline-l{font-size:5rem}.f1-l{font-size:22px}.f2-l{font-size:17px}.f3-l{font-size:15px}.f4-l{font-size:14px}.f5-l{font-size:13px}.f6-l{font-size:12px}.f7-l{font-size:11px}}.measure{max-width:30em}.measure-wide{max-width:34em}.measure-narrow{max-width:20em}.indent{text-indent:1em;margin-top:0;margin-bottom:0}.truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.small-caps{font-variant:small-caps}@media screen and (min-width:30em){.measure-ns{max-width:30em}.measure-wide-ns{max-width:34em}.measure-narrow-ns{max-width:20em}.indent-ns{text-indent:1em;margin-top:0;margin-bottom:0}.small-caps-ns{font-variant:small-caps}.truncate-ns{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}@media screen and (min-width:30em) and (max-width:60em){.measure-m{max-width:30em}.measure-wide-m{max-width:34em}.measure-narrow-m{max-width:20em}.indent-m{text-indent:1em;margin-top:0;margin-bottom:0}.small-caps-m{font-variant:small-caps}.truncate-m{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}@media screen and (min-width:60em){.measure-l{max-width:30em}.measure-wide-l{max-width:34em}.measure-narrow-l{max-width:20em}.indent-l{text-indent:1em;margin-top:0;margin-bottom:0}.small-caps-l{font-variant:small-caps}.truncate-l{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}.aspect-ratio{height:0;position:relative}.aspect-ratio--16x9{padding-bottom:56.25%}.aspect-ratio--9x16{padding-bottom:177.77%}.aspect-ratio--4x3{padding-bottom:75%}.aspect-ratio--3x4{padding-bottom:133.33%}.aspect-ratio--6x4{padding-bottom:66.6%}.aspect-ratio--4x6{padding-bottom:150%}.aspect-ratio--8x5{padding-bottom:62.5%}.aspect-ratio--5x8{padding-bottom:160%}.aspect-ratio--7x5{padding-bottom:71.42%}.aspect-ratio--5x7{padding-bottom:140%}.aspect-ratio--1x1{padding-bottom:100%}.aspect-ratio--object{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:100}.overflow-container{overflow-y:scroll}.center{margin-right:auto;margin-left:auto}.no-select{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.v-base{vertical-align:baseline}.v-mid{vertical-align:middle}.v-top{vertical-align:top}.v-btm{vertical-align:bottom}@media screen and (min-width:30em){.v-base-ns{vertical-align:baseline}.v-mid-ns{vertical-align:middle}.v-top-ns{vertical-align:top}.v-btm-ns{vertical-align:bottom}}@media screen and (min-width:30em) and (max-width:60em){.v-base-m{vertical-align:baseline}.v-mid-m{vertical-align:middle}.v-top-m{vertical-align:top}.v-btm-m{vertical-align:bottom}}@media screen and (min-width:60em){.v-base-l{vertical-align:baseline}.v-mid-l{vertical-align:middle}.v-top-l{vertical-align:top}.v-btm-l{vertical-align:bottom}}.clip{position:fixed!important;_position:absolute!important;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px)}@media screen and (min-width:30em){.clip-ns{position:fixed!important;_position:absolute!important;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px)}}@media screen and (min-width:30em) and (max-width:60em){.clip-m{position:fixed!important;_position:absolute!important;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px)}}@media screen and (min-width:60em){.clip-l{position:fixed!important;_position:absolute!important;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px)}}.ws-normal{white-space:normal}.nowrap{white-space:nowrap}.pre{white-space:pre}@media screen and (min-width:30em){.ws-normal-ns{white-space:normal}.nowrap-ns{white-space:nowrap}.pre-ns{white-space:pre}}@media screen and (min-width:30em) and (max-width:60em){.ws-normal-m{white-space:normal}.nowrap-m{white-space:nowrap}.pre-m{white-space:pre}}@media screen and (min-width:60em){.ws-normal-l{white-space:normal}.nowrap-l{white-space:nowrap}.pre-l{white-space:pre}}.w1{width:16px}.w2{width:24px}.w3{width:32px}.w4{width:60px}.w5{width:100px}.w6{width:200px}.w--16{width:16px}.w--20{width:20px}.w--28{width:28px}.w--32{width:32px}.w--48{width:48px}.w-10{width:10%}.w-20{width:20%}.w-25{width:25%}.w-30{width:30%}.w-33{width:33%}.w-34{width:34%}.w-40{width:40%}.w-50{width:50%}.w-60{width:60%}.w-70{width:70%}.w-75{width:75%}.w-80{width:80%}.w-90{width:90%}.w-100{width:100%}.w-third{width:33.33333%}.w-two-thirds{width:66.66667%}.w-auto{width:auto}@media screen and (min-width:30em){.w1-ns{width:16px}.w2-ns{width:24px}.w3-ns{width:32px}.w4-ns{width:60px}.w5-ns{width:100px}.w6-ns{width:200px}.w-10-ns{width:10%}.w-20-ns{width:20%}.w-25-ns{width:25%}.w-30-ns{width:30%}.w-33-ns{width:33%}.w-34-ns{width:34%}.w-40-ns{width:40%}.w-50-ns{width:50%}.w-60-ns{width:60%}.w-70-ns{width:70%}.w-75-ns{width:75%}.w-80-ns{width:80%}.w-90-ns{width:90%}.w-100-ns{width:100%}.w-third-ns{width:33.33333%}.w-two-thirds-ns{width:66.66667%}.w-auto-ns{width:auto}}@media screen and (min-width:30em) and (max-width:60em){.w1-m{width:16px}.w2-m{width:24px}.w3-m{width:32px}.w4-m{width:60px}.w5-m{width:100px}.w6-m{width:200px}.w-10-m{width:10%}.w-20-m{width:20%}.w-25-m{width:25%}.w-30-m{width:30%}.w-33-m{width:33%}.w-34-m{width:34%}.w-40-m{width:40%}.w-50-m{width:50%}.w-60-m{width:60%}.w-70-m{width:70%}.w-75-m{width:75%}.w-80-m{width:80%}.w-90-m{width:90%}.w-100-m{width:100%}.w-third-m{width:33.33333%}.w-two-thirds-m{width:66.66667%}.w-auto-m{width:auto}}@media screen and (min-width:60em){.w1-l{width:16px}.w2-l{width:24px}.w3-l{width:32px}.w4-l{width:60px}.w5-l{width:100px}.w6-l{width:200px}.w-10-l{width:10%}.w-20-l{width:20%}.w-25-l{width:25%}.w-30-l{width:30%}.w-33-l{width:33%}.w-34-l{width:34%}.w-40-l{width:40%}.w-50-l{width:50%}.w-60-l{width:60%}.w-70-l{width:70%}.w-75-l{width:75%}.w-80-l{width:80%}.w-90-l{width:90%}.w-100-l{width:100%}.w-third-l{width:33.33333%}.w-two-thirds-l{width:66.66667%}.w-auto-l{width:auto}}.word-normal{word-break:normal}.word-wrap{word-break:break-all}.word-nowrap{word-break:keep-all}@media screen and (min-width:30em){.word-normal-ns{word-break:normal}.word-wrap-ns{word-break:break-all}.word-nowrap-ns{word-break:keep-all}}@media screen and (min-width:30em) and (max-width:60em){.word-normal-m{word-break:normal}.word-wrap-m{word-break:break-all}.word-nowrap-m{word-break:keep-all}}@media screen and (min-width:60em){.word-normal-l{word-break:normal}.word-wrap-l{word-break:break-all}.word-nowrap-l{word-break:keep-all}}.z-0{z-index:0}.z-1{z-index:1}.z-2{z-index:2}.z-3{z-index:3}.z-4{z-index:4}.z-5{z-index:5}.z-999{z-index:999}.z-9999{z-index:9999}.z-max{z-index:2147483647}.z-inherit{z-index:inherit}.z-initial{z-index:auto}.z-unset{z-index:unset}:root{font-size:13px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
\ No newline at end of file
diff --git a/rootfs/web/src/components/AccessTokenDelete.js b/rootfs/web/src/components/AccessTokenDelete.js
deleted file mode 100644
index 0b1eb41..0000000
--- a/rootfs/web/src/components/AccessTokenDelete.js
+++ /dev/null
@@ -1,33 +0,0 @@
-import { reactive, toRefs } from 'vue'
-import { Toast } from "vant";
-import {deleteAccessToken} from "../services/tokens";
-
-export default {
-    name: "AccessTokenDelete",
-    props: {
-        token: [Object, Function],
-    },
-    setup(props, context) {
-        const state = reactive({
-            token: props.token,
-        })
-
-        const canelDelete = () => {
-            context.emit('closeDelete', { hasAccessTokenDeleted: false })
-        }
-
-        const deleteToken = () => {
-            deleteAccessToken(state.token.id).then(res=>{
-                if (res.status == 204) {
-                    Toast.success("OK")
-                    context.emit('closeDelete', { hasAccessTokenDeleted: true })
-                }
-            })
-        }
-        return {
-            ...toRefs(state),
-            canelDelete,
-            deleteToken
-        }
-    }
-}
diff --git a/rootfs/web/src/components/AccessTokenDelete.vue b/rootfs/web/src/components/AccessTokenDelete.vue
index 5420465..f7473cf 100644
--- a/rootfs/web/src/components/AccessTokenDelete.vue
+++ b/rootfs/web/src/components/AccessTokenDelete.vue
@@ -1,31 +1,30 @@
 <template>
-    <div id="hk-slide-panels">
-        <div class="hk-slide-panel-overlay is-visible ember-view">
-            <div class="hk-slide-panel-container shadow-outer-2 flex flex-column fixed bg-white overflow-y-hidden ma2 br2 from-right standard" >
-                <div class="bg-gradient-silver hk-slide-panel-header relative flex justify-center tc items-center relative bb b--light-silver bg-white z-2 ember-view">
-                    <div class="ml4 flex-auto f3 dark-gray truncate lh-copy" >
+    <div id="ui-slide-panels">
+        <div class="fixed inset-0 z-50 bg-slate-900/40 backdrop-blur-sm flex items-center justify-center sm:justify-end">
+            <div class="m-3 w-full max-w-lg bg-white rounded-xl shadow-xl flex flex-col overflow-hidden" >
+                <div class="flex items-center justify-between px-6 py-4 border-b border-slate-200">
+                    <div class="text-lg font-semibold text-slate-800" >
                         Delete Token
                     </div>
-                    <button @click="canelDelete" class="flex bg-transparent bn mr2 mt0 pa1 pointer" type="button">
-                        <svg style="height: 16px; width: 16px;" class="icon malibu-icon fill-gray" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1158" width="200" height="200"><path d="M574.55 522.35L904.4 192.5c16.65-16.65 16.65-44.1 0-60.75l-1.8-1.8c-16.65-16.65-44.1-16.65-60.75 0L512 460.25l-329.85-330.3c-16.65-16.65-44.1-16.65-60.75 0l-1.8 1.8c-17.1 16.65-17.1 44.1 0 60.75l329.85 329.85L119.6 852.2c-16.65 16.65-16.65 44.1 0 60.75l1.8 1.8c16.65 16.65 44.1 16.65 60.75 0L512 584.9l329.85 329.85c16.65 16.65 44.1 16.65 60.75 0l1.8-1.8c16.65-16.65 16.65-44.1 0-60.75L574.55 522.35z" p-id="1159"></path></svg>
+                    <button @click="canelDelete" class="p-2 rounded-lg text-slate-400 hover:text-slate-600 hover:bg-slate-100 transition-colors" type="button">
+                        <svg style="height: 16px; width: 16px;" class="w-5 h-5 fill-current" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1158" width="200" height="200"><path d="M574.55 522.35L904.4 192.5c16.65-16.65 16.65-44.1 0-60.75l-1.8-1.8c-16.65-16.65-44.1-16.65-60.75 0L512 460.25l-329.85-330.3c-16.65-16.65-44.1-16.65-60.75 0l-1.8 1.8c-17.1 16.65-17.1 44.1 0 60.75l329.85 329.85L119.6 852.2c-16.65 16.65-16.65 44.1 0 60.75l1.8 1.8c16.65 16.65 44.1 16.65 60.75 0L512 584.9l329.85 329.85c16.65 16.65 44.1 16.65 60.75 0l1.8-1.8c16.65-16.65 16.65-44.1 0-60.75L574.55 522.35z" p-id="1159"></path></svg>
                     </button>
                 </div>
 
-                <div class="hk-slide-panel-content relative overflow-y-auto flex flex-column z-1 ember-view">
-                    <div class="flex flex-column h-100">
-                        <div class="slide-panel-shadow-cover-top z-5"></div>
-                        <div class="slide-panel-content flex-grow-1 flex-shrink-0 pa4">
-                            <div class="pb3">
-                                <div class="ember-view">
-                                    <div class="collaborator-edit">
-                                        <div class="form-group">
-                                            <div class="row">
-                                                <div class="col-sm-12">
-                                                    <label class="f5 b gray mb2">Do you want delete the Access Token of
-                                                      {{ token.token }}
+                <div class="p-6">
+                    <div class="ui-modal-body">
+                        <div class="ui-modal-message-wrap">
+                            <div>
+                                <div>
+                                    <div>
+                                        <div>
+                                            <div>
+                                                <div>
+                                                    <label class="block text-base font-medium text-slate-800 mb-6">Are you sure you want to delete the access token:
+                                                      <span class="font-mono text-sm text-slate-500 break-all bg-slate-100 px-2 py-1 rounded">{{ (token as any)?.token }}</span>?
                                                     </label>
-                                                    <div class="cp-validating-gravatar-input form-group ember-view">
-                                                        <div class="flex flex-auto">
+                                                    <div>
+                                                        <div>
                                                         </div>
                                                     </div>
                                                 </div>
@@ -34,26 +33,56 @@
                                     </div>
                                 </div>
                             </div>
-                            <button v-if="editAccess" @click="deleteToken" class="w-100 async-button default hk-button--danger ember-view" type="submit">Delete Token</button>
                         </div>
-                        <div class="slide-panel-shadow-cover-bottom z-5"></div>
                     </div>
                 </div>
-                <div class="mh4 ember-view"></div>
-                <div class="hk-slide-panel-footer relative shadow-outer-1 flex justify-center items-center z-2 pa4 ember-view">
-                    <button @click="canelDelete" class="async-button w-50 mr2 default hk-button--secondary ember-view" type="button">Cancel</button>
-                    <button @click="deleteToken" class="async-button w-50 default hk-button--primary ember-view" type="submit">Yes</button>
+                <div class="flex items-center gap-3 px-6 py-4 border-t border-slate-200 bg-slate-50">
+                    <button @click="canelDelete" class="flex-1 inline-flex justify-center items-center px-4 py-2 bg-white text-slate-700 border border-slate-300 rounded-lg hover:bg-slate-50 font-medium transition-colors" type="button">Cancel</button>
+                    <button @click="deleteToken" class="flex-1 inline-flex justify-center items-center px-4 py-2 bg-primary text-white rounded-lg hover:bg-primary-600 font-medium transition-colors" type="submit">Yes</button>
                 </div>
             </div>
         </div>
     </div>
 </template>
 
-<script>
-import AccessTokenDelete from "./AccessTokenDelete"
-export default AccessTokenDelete
+<script lang="ts">
+import { reactive, toRefs } from 'vue'
+const ElMessage = { success: alert, error: alert };
+import {deleteAccessToken} from "../services/tokens";
+
+export default {
+    name: "AccessTokenDelete",
+    props: {
+        token: [Object, Function],
+    },
+    setup(props, context) {
+        const state = reactive({
+            token: props.token,
+        })
+
+        const canelDelete = () => {
+            context.emit('closeDelete', { hasAccessTokenDeleted: false })
+        }
+
+        const deleteToken = () => {
+            if (!state.token || typeof state.token === 'function' || !state.token.id) return;
+            deleteAccessToken(state.token.id).then(res=>{
+                if (res.status == 204) {
+                    ElMessage.success("OK")
+                    context.emit('closeDelete', { hasAccessTokenDeleted: true })
+                }
+            })
+        }
+        return {
+            ...toRefs(state),
+            canelDelete,
+            deleteToken
+        }
+    }
+}
+
 </script>
 
 <style scoped>
-
+/* Tailwind handles styles */
 </style>
diff --git a/rootfs/web/src/components/AccountSidebar.vue b/rootfs/web/src/components/AccountSidebar.vue
new file mode 100644
index 0000000..9d13f00
--- /dev/null
+++ b/rootfs/web/src/components/AccountSidebar.vue
@@ -0,0 +1,83 @@
+<template>
+    <aside class="w-full lg:w-64 flex-shrink-0 flex flex-col gap-5">
+        <!-- Back to Dashboard -->
+        <div>
+            <a :href="globalState.dashboardUrl" class="w-full bg-white border border-slate-200 rounded-md px-3 py-2 flex items-center justify-center shadow-sm hover:border-primary transition-colors focus:outline-none group">
+                <span class="flex items-center gap-2 text-sm text-slate-600 group-hover:text-primary transition-colors font-medium">
+                    <ArrowLeft class="w-4 h-4" /> Back to Dashboard
+                </span>
+            </a>
+        </div>
+
+        <div class="flex flex-col gap-0.5 mt-2">
+            <p class="text-xs font-semibold text-slate-500 mb-2 px-1">Settings</p>
+            <button @click="goToAccessToken" 
+                    class="flex items-center justify-start gap-3 px-3 py-2 transition-all w-full text-left"
+                    :class="isAccessTokenActive ? 'bg-primary-50 text-primary rounded-md font-medium' : 'text-slate-600 hover:bg-white hover:shadow-sm rounded-md'"
+                    type="button">
+                <Key :class="isAccessTokenActive ? 'w-4 h-4' : 'w-4 h-4 text-slate-400'" />
+                <span>Access Tokens</span>
+            </button>
+            <button @click="goToAccountSetting" 
+                    class="flex items-center justify-start gap-3 px-3 py-2 transition-all w-full text-left"
+                    :class="isAccountSettingActive ? 'bg-primary-50 text-primary rounded-md font-medium' : 'text-slate-600 hover:bg-white hover:shadow-sm rounded-md'"
+                    type="button">
+                <Settings :class="isAccountSettingActive ? 'w-4 h-4' : 'w-4 h-4 text-slate-400'" />
+                <span>Account Setting</span>
+            </button>
+        </div>
+    </aside>
+</template>
+
+<script lang="ts">
+import { useRouter } from 'vue-router'
+import { Key, Settings, ArrowLeft } from 'lucide-vue-next'
+import { globalState, fetchGlobalSettings } from '../store'
+import { onMounted } from 'vue'
+
+export default {
+    name: "AccountSidebar",
+    components: {
+        Key,
+        Settings,
+        ArrowLeft
+    },
+    props: {
+        isAccessTokenActive: {
+            type: Boolean,
+            default: false
+        },
+        isAccountSettingActive: {
+            type: Boolean,
+            default: false
+        },
+    },
+    setup(props) {
+        const router = useRouter()
+        
+        onMounted(async () => {
+            await fetchGlobalSettings()
+        })
+
+        const goToAccessToken = () => {
+            router.push({ path: `/access-tokens` })
+        }
+
+        const goToAccountSetting = () => {
+            router.push({ path: `/account-setting` })
+        }
+
+        return {
+            globalState,
+            goToAccessToken,
+            goToAccountSetting,
+        }
+    },
+
+}
+
+</script>
+
+<style scoped>
+/* Scoped styles removed */
+</style>
diff --git a/rootfs/web/src/components/Dropdown.vue b/rootfs/web/src/components/Dropdown.vue
new file mode 100644
index 0000000..7d8a926
--- /dev/null
+++ b/rootfs/web/src/components/Dropdown.vue
@@ -0,0 +1,184 @@
+<template>
+    <div
+        class="relative inline-block text-left"
+        ref="root"
+        @focusin="openMenu"
+        @focusout="handleFocusOut"
+        @mouseenter="handleMouseEnter"
+        @mouseleave="handleMouseLeave"
+        @keydown.esc="closeMenu"
+    >
+        <div
+            @focus="openMenu"
+            @click.stop="openMenu"
+            :id="triggerId || undefined"
+            :aria-expanded="isOpen ? 'true' : 'false'"
+            :aria-controls="menuId || undefined"
+            class="outline-none"
+            tabindex="0"
+        >
+            <slot name="trigger">
+                <button
+                    class="flex items-center gap-2 px-3 py-2 text-sm font-medium text-slate-700 bg-white border border-transparent rounded-lg hover:bg-slate-50 transition-all focus:outline-none group"
+                    type="button"
+                >
+                    <component class="w-4 h-4 text-primary" aria-hidden="true" :is="triggerIcon" />
+                    <span :class="{ 'is-mobile-hidden': hideLabelOnMobile }">
+                        {{ triggerLabel }}
+                    </span>
+                </button>
+            </slot>
+        </div>
+
+        <ul
+            :id="menuId || undefined"
+            v-show="isOpen" class="absolute right-0 mt-2 z-50 w-56 origin-top-right rounded-xl bg-white shadow-lg ring-1 ring-black/5 focus:outline-none py-1 list-none m-0"
+            :class="{ 'ui-top-dropdown__menu--open': isOpen }"
+            :style="{ width: normalizedMenuWidth }"
+        >
+            <li v-if="metaValue" class="">
+                <div class="px-4 py-3 border-b border-slate-100">
+                    <span class="block text-xs font-medium text-slate-500 mb-0.5">{{ metaLabel || 'Signed in as' }}</span>
+                    <span class="block text-sm font-semibold text-slate-800 truncate">{{ metaValue }}</span>
+                </div>
+            </li>
+
+            <li
+                v-for="item in items"
+                :key="item.key || item.label"
+                class=""
+            >
+                <a
+                    v-if="item.href"
+                    class="group flex items-center gap-3 px-4 py-2.5 text-sm text-slate-700 hover:bg-slate-50 hover:text-primary transition-colors w-full text-left"
+                    :href="item.href"
+                    :target="item.external ? '_blank' : undefined"
+                    :rel="item.external ? 'noopener noreferrer' : undefined"
+                    @click="handleItemClick(item, $event)"
+                >
+                    <component v-if="item.icon" class="w-4 h-4 text-slate-400 group-hover:text-primary transition-colors" aria-hidden="true" :is="item.icon" />
+                    <span>{{ item.label }}</span>
+                </a>
+
+                <button
+                    v-else
+                    class="group flex items-center gap-3 px-4 py-2.5 text-sm text-slate-700 hover:bg-slate-50 hover:text-primary transition-colors w-full text-left"
+                    type="button"
+                    @click="handleItemClick(item, $event)"
+                >
+                    <component v-if="item.icon" class="w-4 h-4 text-slate-400 group-hover:text-primary transition-colors" aria-hidden="true" :is="item.icon" />
+                    <span>{{ item.label }}</span>
+                </button>
+            </li>
+        </ul>
+    </div>
+</template>
+
+<script>
+export default {
+    name: "Dropdown",
+    props: {
+        triggerId: {
+            type: String,
+            default: ""
+        },
+        menuId: {
+            type: String,
+            default: ""
+        },
+        triggerLabel: {
+            type: String,
+            required: true
+        },
+        triggerIcon: {
+            type: [Object, Function],
+            required: true
+        },
+        items: {
+            type: Array,
+            default: () => []
+        },
+        metaLabel: {
+            type: String,
+            default: ""
+        },
+        metaValue: {
+            type: String,
+            default: ""
+        },
+        menuWidth: {
+            type: [Number, String],
+            default: 226
+        },
+        hideLabelOnMobile: {
+            type: Boolean,
+            default: false
+        },
+        closeOnSelect: {
+            type: Boolean,
+            default: true
+        }
+    },
+    emits: ["action"],
+    data() {
+        return {
+            isOpen: false,
+            closeTimer: null
+        }
+    },
+    computed: {
+        normalizedMenuWidth() {
+            return typeof this.menuWidth === "number" ? `${this.menuWidth}px` : this.menuWidth
+        }
+    },
+    methods: {
+        openMenu() {
+            this.clearCloseTimer()
+            this.isOpen = true
+        },
+        closeMenu() {
+            this.clearCloseTimer()
+            this.isOpen = false
+        },
+        clearCloseTimer() {
+            if (this.closeTimer) {
+                clearTimeout(this.closeTimer)
+                this.closeTimer = null
+            }
+        },
+        handleMouseEnter() {
+            this.openMenu()
+        },
+        handleMouseLeave() {
+            this.clearCloseTimer()
+            this.closeTimer = setTimeout(() => {
+                this.isOpen = false
+                this.closeTimer = null
+            }, 100)
+        },
+        handleFocusOut(event) {
+            const root = this.$refs.root
+            const nextFocused = event.relatedTarget
+            if (!root || !nextFocused || !root.contains(nextFocused)) {
+                this.closeMenu()
+            }
+        },
+        handleItemClick(item, event) {
+            if (item.actionKey) {
+                event.preventDefault()
+                this.$emit("action", item.actionKey, item)
+            }
+            if (this.closeOnSelect) {
+                this.closeMenu()
+            }
+        }
+    },
+    beforeUnmount() {
+        this.clearCloseTimer()
+    }
+}
+</script>
+
+<style scoped>
+/* Tailwind handles styles */
+</style>
diff --git a/rootfs/web/src/components/MainFooter.vue b/rootfs/web/src/components/MainFooter.vue
new file mode 100644
index 0000000..c8931d8
--- /dev/null
+++ b/rootfs/web/src/components/MainFooter.vue
@@ -0,0 +1,52 @@
+<template>
+    <footer class="mt-auto py-8">
+        <div class="max-w-[1600px] mx-auto px-6 w-full">
+            <div v-if="legalEnabled" class="flex flex-wrap items-center justify-center gap-x-6 gap-y-2 text-xs text-slate-500">
+                <span class="text-slate-400">© {{year}} drycc.com</span>
+                <a class="hover:text-primary transition-colors" href="https://legal.doopai.com/#/cloud-services-terms" target="_blank" rel="noopener noreferrer">Terms</a>
+                <a class="hover:text-primary transition-colors" href="https://legal.doopai.com/#/doopai-privacy-policy" target="_blank" rel="noopener noreferrer">Privacy</a>
+                <a class="hover:text-primary transition-colors" href="https://github.com/drycc" target="_blank" rel="noopener noreferrer">Open Source</a>
+                <a class="hover:text-primary transition-colors" href="https://drycc.slack.com/" target="_blank" rel="noopener noreferrer">Community</a>
+                <a class="hover:text-primary transition-colors" href="https://www.drycc.cc/" target="_blank" rel="noopener noreferrer">Documentation</a>
+                <a class="hover:text-primary transition-colors" href="https://tawk.to/chat/6234b5491ffac05b1d7f4669/1fueu8a9t" target="_blank" rel="noopener noreferrer">Support</a>
+            </div>
+            
+            <div v-else class="flex flex-wrap items-center justify-center gap-x-6 gap-y-2 text-xs text-slate-500">
+                <span class="text-slate-400">© {{year}} drycc.cc</span>
+                <a class="hover:text-primary transition-colors" href="https://github.com/drycc" target="_blank" rel="noopener noreferrer">Open Source</a>
+                <a class="hover:text-primary transition-colors" href="https://drycc.slack.com/" target="_blank" rel="noopener noreferrer">Community</a>
+                <a class="hover:text-primary transition-colors" href="https://www.drycc.cc/" target="_blank" rel="noopener noreferrer">Documentation</a>
+                <a class="hover:text-primary transition-colors" href="https://tawk.to/chat/6234b5491ffac05b1d7f4669/1fueu8a9t" target="_blank" rel="noopener noreferrer">Support</a>
+                <a class="hover:text-primary transition-colors" href="https://github.com/drycc/workflow/issues" target="_blank" rel="noopener noreferrer">Issues</a>
+            </div>
+        </div>
+    </footer>
+</template>
+
+<script lang="ts">
+import {toRefs, reactive, onMounted} from 'vue'
+
+import { getSettings } from '../services/settings'
+
+export default {
+    name: "Footer",
+    setup(props) {
+        const state = reactive({
+            year: new Date().getFullYear(),
+            legalEnabled: false,
+        })
+        onMounted(async () => {
+            var res =  await getSettings()
+            state.legalEnabled = res.data.legal
+        })
+        return {
+            ...toRefs(state),
+        }
+    },
+
+}
+
+</script>
+<style scoped>
+/* Scoped styles removed */
+</style>
\ No newline at end of file
diff --git a/rootfs/web/src/components/MainNav.js b/rootfs/web/src/components/MainNav.js
deleted file mode 100644
index 095e494..0000000
--- a/rootfs/web/src/components/MainNav.js
+++ /dev/null
@@ -1,32 +0,0 @@
-import { reactive, toRefs} from 'vue'
-import { useRouter } from 'vue-router'
-
-export default {
-    name: "MainNav",
-    props: {
-        isAccessTokenActive: {
-            type: Boolean,
-            default: false
-        },
-        isAccountSettingActive: {
-            type: Boolean,
-            default: false
-        },
-    },
-    setup(props) {
-        const router = useRouter()
-        const goToAccessToken = () => {
-            router.push({ path: `/access-tokens` })
-        }
-
-        const goToAccountSetting = () => {
-            router.push({ path: `/account-setting` })
-        }
-
-        return {
-            goToAccessToken,
-            goToAccountSetting,
-        }
-    },
-
-}
diff --git a/rootfs/web/src/components/MainNav.vue b/rootfs/web/src/components/MainNav.vue
deleted file mode 100644
index 1175c29..0000000
--- a/rootfs/web/src/components/MainNav.vue
+++ /dev/null
@@ -1,35 +0,0 @@
-<template>
-    <nav class="app-nav nav nav-tabs sub-nav ember-view">
-        <div class="limit-width">
-            <div class="sub-nav-item ember-view">
-                <a @click="goToAccessToken" class="ember-view" :class="{'active': isAccessTokenActive}">
-                    <svg style="height: 24px; width: 24px;"  class="icon malibu-icon fill-purple" >
-                        <title id="malibu-icon-ember486">Access Tokens</title>
-                        <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#overview-28"></use>
-                    </svg>
-                    <span class="sub-nav-item-name gray">Access Tokens</span>
-                </a>
-            </div>
-            <div class="sub-nav-item ember-view">
-                <a @click="goToAccountSetting" class="ember-view" :class="{'active': isAccountSettingActive}">
-                    <svg style="height: 24px; width: 24px;" class="icon malibu-icon fill-gray" >
-                        <title id="malibu-icon-ember489">Account Setting</title>
-                        <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#formation-28"></use>
-                    </svg>
-                    <span class="sub-nav-item-name gray">Account Setting</span>
-                </a>
-            </div>
-        </div>
-    </nav>
-</template>
-
-<script>
-import MainNav from "./MainNav"
-export default MainNav
-</script>
-
-<style scoped>
-    a:hover {
-        cursor: pointer;
-    }
-</style>
diff --git a/rootfs/web/src/components/MessageRightSidebar.vue b/rootfs/web/src/components/MessageRightSidebar.vue
new file mode 100644
index 0000000..2d2a6d8
--- /dev/null
+++ b/rootfs/web/src/components/MessageRightSidebar.vue
@@ -0,0 +1,119 @@
+<script setup lang="ts">
+import { Settings, CheckCircle2, LifeBuoy, BookOpen, Activity, ArrowUpRight, ArrowRight } from 'lucide-vue-next'
+import { globalState, fetchGlobalSettings, invalidateMessages } from '../store'
+import { onMounted } from 'vue'
+import { markAllAsRead } from '../services/messages'
+
+const emit = defineEmits(['mark-all-read'])
+
+onMounted(async () => {
+    await fetchGlobalSettings()
+})
+
+const handleMarkAllAsRead = async () => {
+    try {
+        await markAllAsRead()
+        invalidateMessages()
+        emit('mark-all-read')
+    } catch (e) {
+        console.error('Failed to mark all as read', e)
+    }
+}
+</script>
+
+<template>
+  <aside class="w-full lg:w-72 flex-shrink-0 space-y-5">
+    
+    <!-- Settings & Actions Card -->
+    <div class="bg-white rounded-lg shadow-sm border border-slate-200 overflow-hidden relative overflow-y-hidden group">
+      <!-- Decorative hover flare -->
+      <div class="absolute -right-20 -top-20 w-40 h-40 bg-primary/5 rounded-full blur-2xl opacity-0 group-hover:opacity-100 transition-opacity pointer-events-none"></div>
+
+      <div class="px-5 py-4 border-b border-slate-100 bg-slate-50/50 flex flex-col gap-1 relative z-10">
+        <h3 class="text-[13px] font-semibold text-slate-800 flex items-center gap-2 uppercase tracking-wide">
+          <Settings class="w-3.5 h-3.5 text-primary" />
+          Actions
+        </h3>
+      </div>
+      <div class="p-3 relative z-10">
+        <button @click="handleMarkAllAsRead" class="w-full flex items-center justify-between px-3 py-2.5 text-sm font-medium text-slate-600 hover:bg-slate-50 hover:text-slate-900 rounded-lg transition-all group/item focus:outline-none">
+          <span class="flex items-center gap-2.5">
+            <CheckCircle2 class="w-4 h-4 text-emerald-400 group-hover/item:text-emerald-500 transition-colors" />
+            Mark all as read
+          </span>
+          <span class="w-1.5 h-1.5 rounded-full bg-emerald-500 opacity-0 group-hover/item:opacity-100 shadow-[0_0_4px_rgba(16,185,129,0.5)] transition-all"></span>
+        </button>
+        <router-link to="/messages/preferences" class="w-full flex items-center justify-between px-3 py-2.5 text-sm font-medium text-slate-600 hover:bg-slate-50 hover:text-slate-900 rounded-lg transition-all group/item mt-1 focus:outline-none">
+          <span class="flex items-center gap-2.5">
+            <Settings class="w-4 h-4 text-primary/60 group-hover/item:text-primary transition-colors" />
+            Notification Preferences
+          </span>
+          <ArrowRight class="w-3.5 h-3.5 text-slate-300 group-hover/item:text-primary -translate-x-1 group-hover/item:translate-x-0 opacity-0 group-hover/item:opacity-100 transition-all" />
+        </router-link>
+      </div>
+    </div>
+
+    <!-- System Status Card -->
+    <div class="bg-white rounded-lg shadow-sm border border-slate-200 overflow-hidden opacity-95 hover:opacity-100 transition-opacity">
+      <div class="px-5 py-4 border-b border-slate-100 bg-slate-50/50 flex items-center justify-between">
+        <h3 class="text-[13px] font-semibold text-slate-800 flex items-center gap-2 uppercase tracking-wide">
+          <BookOpen class="w-3.5 h-3.5 text-blue-500" />
+          Pro Tips
+        </h3>
+      </div>
+      <div class="p-5">
+        <div class="space-y-4">
+          <div class="flex gap-3 items-start group/tip cursor-default">
+            <div class="w-6 h-6 rounded-md bg-blue-50 text-blue-600 flex items-center justify-center flex-shrink-0 mt-0.5 group-hover/tip:bg-blue-100 transition-colors">
+              <span class="text-[11px] font-bold">1</span>
+            </div>
+            <div>
+              <h4 class="text-[13px] font-semibold text-slate-700 mb-0.5">Filter by Severity</h4>
+              <p class="text-xs text-slate-500 leading-relaxed">Use the left sidebar to quickly isolate critical alerts or system updates.</p>
+            </div>
+          </div>
+          
+          <div class="flex gap-3 items-start group/tip cursor-default">
+            <div class="w-6 h-6 rounded-md bg-indigo-50 text-indigo-600 flex items-center justify-center flex-shrink-0 mt-0.5 group-hover/tip:bg-indigo-100 transition-colors">
+              <span class="text-[11px] font-bold">2</span>
+            </div>
+            <div>
+              <h4 class="text-[13px] font-semibold text-slate-700 mb-0.5">Automate Workflows</h4>
+              <p class="text-xs text-slate-500 leading-relaxed">Configure Webhooks in preferences to forward messages directly to Slack or Teams.</p>
+            </div>
+          </div>
+        </div>
+      </div>
+    </div>
+
+    <!-- Support / Resources Card -->
+    <div class="bg-gradient-to-b from-slate-800 to-slate-900 rounded-lg shadow-[0_4px_20px_-4px_rgba(15,23,42,0.3)] border border-slate-700 overflow-hidden text-white relative group">
+      <!-- Decorative animated background dots -->
+      <div class="absolute -right-6 top-8 w-24 h-24 bg-primary/30 rounded-full blur-3xl group-hover:bg-primary/40 transition-colors pointer-events-none"></div>
+      <div class="absolute -left-10 -bottom-10 w-20 h-20 bg-blue-500/20 rounded-full blur-2xl group-hover:bg-blue-500/30 transition-colors pointer-events-none"></div>
+      
+      <div class="p-6 relative z-10">
+        <h3 class="text-sm font-semibold mb-2.5 flex items-center gap-2">
+          <div class="p-1.5 bg-white/10 rounded-md">
+            <LifeBuoy class="w-4 h-4 text-blue-300" />
+          </div>
+          Need Assistance?
+        </h3>
+        <p class="text-[13px] text-slate-300 leading-relaxed mb-5 font-medium opacity-90">
+          Our support team is here to help you 24/7 with enterprise-grade SLA and troubleshooting.
+        </p>
+        <div class="space-y-2.5">
+          <a :href="globalState.contactSupportUrl" class="flex items-center justify-center gap-2 w-full py-2 px-4 bg-white hover:bg-slate-50 text-slate-900 text-[13px] font-semibold rounded-lg transition-all focus:outline-none shadow-sm hover:shadow active:scale-[0.98]">
+            <LifeBuoy class="w-4 h-4 shrink-0" />
+            Contact Support
+          </a>
+          <a href="https://www.drycc.cc/zh-cn/docs/" target="_blank" class="flex items-center justify-center gap-2 w-full py-2 px-4 bg-white/5 hover:bg-white/10 border border-white/10 text-[13px] font-semibold text-slate-200 hover:text-white rounded-lg transition-colors focus:outline-none">
+            <BookOpen class="w-4 h-4 shrink-0 opacity-70" />
+            Read Documentation
+          </a>
+        </div>
+      </div>
+    </div>
+
+  </aside>
+</template>
\ No newline at end of file
diff --git a/rootfs/web/src/components/MessageSidebar.vue b/rootfs/web/src/components/MessageSidebar.vue
new file mode 100644
index 0000000..126a21f
--- /dev/null
+++ b/rootfs/web/src/components/MessageSidebar.vue
@@ -0,0 +1,111 @@
+<script setup lang="ts">
+import { computed, onMounted } from 'vue'
+import { useRoute, useRouter } from 'vue-router'
+import { Bell, ShieldAlert, Cpu, Activity, Info, AlertTriangle, Inbox, ArrowLeft, MailOpen } from 'lucide-vue-next'
+import { globalState, fetchGlobalSettings } from '../store'
+
+const route = useRoute()
+const router = useRouter()
+
+onMounted(async () => {
+    await fetchGlobalSettings()
+})
+
+const isActive = (categoryId: string) => {
+    if (route.path !== '/messages') return false
+    const queryCat = route.query.category || 'all'
+    return queryCat === categoryId
+}
+
+const navigateToCategory = (categoryId: string) => {
+    if (categoryId === 'all') {
+        router.push({ path: '/messages' })
+    } else {
+        router.push({ path: '/messages', query: { category: categoryId } })
+    }
+}
+</script>
+
+<template>
+  <aside class="w-full lg:w-64 flex-shrink-0 flex flex-col gap-5">
+      
+      <!-- Back to Dashboard / Apps (since it replaces AppSidebar) -->
+      <div>
+          <a :href="globalState.dashboardUrl" class="w-full bg-white border border-slate-200 rounded-md px-3 py-2 flex items-center justify-center shadow-sm hover:border-primary transition-colors focus:outline-none group">
+              <span class="flex items-center gap-2 text-sm text-slate-600 group-hover:text-primary transition-colors font-medium">
+                  <ArrowLeft class="w-4 h-4" /> Back to Dashboard
+              </span>
+          </a>
+      </div>
+
+      <div class="flex flex-col gap-0.5 mt-2">
+          <p class="text-xs font-semibold text-slate-500 mb-2 px-1">Message Types</p>
+          
+          <button @click="navigateToCategory('all')" :class="[
+              'w-full flex items-center gap-3 px-3 py-2 rounded-md font-medium transition-all text-left focus:outline-none',
+              isActive('all') 
+                  ? 'bg-primary-50 text-primary' 
+                  : 'text-slate-600 hover:bg-white hover:shadow-sm'
+          ]">
+              <Inbox :class="['w-4 h-4', isActive('all') ? 'text-primary' : 'text-slate-400']" /> All Messages
+          </button>
+          
+          <button @click="navigateToCategory('unread')" :class="[
+              'w-full flex items-center gap-3 px-3 py-2 rounded-md font-medium transition-all text-left focus:outline-none',
+              isActive('unread') 
+                  ? 'bg-primary-50 text-primary' 
+                  : 'text-slate-600 hover:bg-white hover:shadow-sm'
+          ]">
+              <MailOpen :class="['w-4 h-4', isActive('unread') ? 'text-primary' : 'text-slate-400']" /> Unread
+          </button>
+
+          <div class="h-px bg-slate-200/80 my-2"></div>
+
+          <button @click="navigateToCategory('system')" :class="[
+              'w-full flex items-center gap-3 px-3 py-2 rounded-md font-medium transition-all text-left focus:outline-none',
+              isActive('system') 
+                  ? 'bg-primary-50 text-primary' 
+                  : 'text-slate-600 hover:bg-white hover:shadow-sm'
+          ]">
+              <Info :class="['w-4 h-4', isActive('system') ? 'text-primary' : 'text-slate-400']" /> System
+          </button>
+
+          <button @click="navigateToCategory('product')" :class="[
+              'w-full flex items-center gap-3 px-3 py-2 rounded-md font-medium transition-all text-left focus:outline-none',
+              isActive('product') 
+                  ? 'bg-primary-50 text-primary' 
+                  : 'text-slate-600 hover:bg-white hover:shadow-sm'
+          ]">
+              <Cpu :class="['w-4 h-4', isActive('product') ? 'text-primary' : 'text-slate-400']" /> Product Updates
+          </button>
+
+          <button @click="navigateToCategory('security')" :class="[
+              'w-full flex items-center gap-3 px-3 py-2 rounded-md font-medium transition-all text-left focus:outline-none',
+              isActive('security') 
+                  ? 'bg-primary-50 text-primary' 
+                  : 'text-slate-600 hover:bg-white hover:shadow-sm'
+          ]">
+              <ShieldAlert :class="['w-4 h-4', isActive('security') ? 'text-primary' : 'text-slate-400']" /> Security
+          </button>
+
+          <button @click="navigateToCategory('alert')" :class="[
+              'w-full flex items-center gap-3 px-3 py-2 rounded-md font-medium transition-all text-left focus:outline-none',
+              isActive('alert') 
+                  ? 'bg-primary-50 text-primary' 
+                  : 'text-slate-600 hover:bg-white hover:shadow-sm'
+          ]">
+              <AlertTriangle :class="['w-4 h-4', isActive('alert') ? 'text-primary' : 'text-slate-400']" /> Alerts
+          </button>
+
+          <button @click="navigateToCategory('service')" :class="[
+              'w-full flex items-center gap-3 px-3 py-2 rounded-md font-medium transition-all text-left focus:outline-none',
+              isActive('service') 
+                  ? 'bg-primary-50 text-primary' 
+                  : 'text-slate-600 hover:bg-white hover:shadow-sm'
+          ]">
+              <Activity :class="['w-4 h-4', isActive('service') ? 'text-primary' : 'text-slate-400']" /> Service
+          </button>
+
+      </div>
+  </aside>
+</template>
\ No newline at end of file
diff --git a/rootfs/web/src/components/NavBar.js b/rootfs/web/src/components/NavBar.js
deleted file mode 100644
index 821a924..0000000
--- a/rootfs/web/src/components/NavBar.js
+++ /dev/null
@@ -1,10 +0,0 @@
-import NavMenu from "./NavMenu.vue";
-import UserMenu from "./UserMenu.vue";
-
-export default {
-    name: "NavBar",
-    components: {
-        'nav-menu': NavMenu,
-        'user-menu': UserMenu
-    }
-}
diff --git a/rootfs/web/src/components/NavBar.vue b/rootfs/web/src/components/NavBar.vue
index da2838a..c5f3317 100755
--- a/rootfs/web/src/components/NavBar.vue
+++ b/rootfs/web/src/components/NavBar.vue
@@ -1,26 +1,140 @@
-<!--导航栏-->
+<!-- Navigation bar -->
 <template>
-  <nav class="glostick">
-    <div class="glostick__property">
-      <a class="glostick__property__name" href="/">
-        <i class="icon-logo"></i>
-        <svg width="62" height="11" viewBox="0 0 62 11" xmlns="http://www.w3.org/2000/svg"><title>Drycc</title><path d="M0 9.802h2.6V5.915h3.198v3.887h2.6V.182h-2.6v3.575H2.6V.182H0v9.62zm11.374 0h7.085V7.709h-4.485V5.928h3.042V3.9h-3.042V2.34h4.264V.182h-6.864v9.62zm9.567 0h2.548V6.461h.715l1.859 3.341h2.756l-2.041-3.679c1.26-.429 1.898-1.3 1.898-2.808 0-2.314-1.508-3.133-3.978-3.133H20.94v9.62zm2.548-5.317V2.288h1.118c1.066 0 1.534.286 1.534 1.092s-.468 1.105-1.534 1.105h-1.118zm12.257 5.499c2.314 0 4.72-1.469 4.72-4.992C40.465 1.469 38.06 0 35.745 0c-2.327 0-4.732 1.469-4.732 4.992 0 3.523 2.405 4.992 4.732 4.992zm0-2.08c-1.365 0-2.132-1.144-2.132-2.912s.767-2.847 2.132-2.847c1.352 0 2.12 1.079 2.12 2.847s-.768 2.912-2.12 2.912zm7.24 1.898h2.6v-2.99l.741-.858 2.275 3.848h2.938l-3.523-5.824L51.254.182h-3.016l-2.652 3.484V.182h-2.6v9.62zm14.624.143c2.808 0 4.03-1.456 4.03-4.004V.182h-2.548v5.746c0 1.326-.416 1.924-1.456 1.924s-1.469-.598-1.469-1.924V.182h-2.6v5.759c0 2.548 1.235 4.004 4.043 4.004z" fill="%238460AA" fill-rule="evenodd"></path></svg>
-      </a>
-    </div>
-    <div class="glostick__user">
-      <nav-menu />
-      <user-menu />
-    </div>
+  <header class="bg-white border-b border-slate-200 sticky top-0 z-40 shadow-sm w-full">
+    <div class="max-w-[1600px] w-full mx-auto flex items-center justify-between px-6 py-2.5 h-14">
+      <!-- Logo -->
+      <div class="flex items-center">
+          <router-link to="/" class="flex items-center gap-2.5 hover:opacity-80 transition-opacity">
+              <div class="flex items-center justify-center w-8 h-8 bg-primary rounded shadow-sm">
+                  <img class="w-5 h-5 object-contain filter brightness-0 invert" src="../../src/assets/icons/drycc.svg" alt="Drycc" />
+              </div>
+              <span class="text-base font-semibold text-slate-800 tracking-tight">Drycc CaaS</span>
+          </router-link>
+      </div>
+      
+      <!-- Navigation and tools on the right -->
+      <div class="flex items-center gap-3">
+          <div class="hidden lg:flex items-center text-sm font-medium text-slate-600">
+              <nav-menu />
+          </div>
+          
+          <!-- Divider -->
+          <div class="w-px h-4 bg-slate-200 hidden lg:block mx-0.5"></div>
+
+          <div class="flex items-center gap-1.5 text-slate-500">
+              <!-- Notifications / Inbox -->
+              <div class="relative group">
+                  <button @click="$router.push('/messages')" class="relative flex items-center justify-center w-8 h-8 text-slate-500 hover:text-slate-700 bg-transparent hover:bg-slate-50 rounded-lg transition-colors focus:outline-none" type="button" aria-label="Notifications">
+                      <Inbox class="w-[18px] h-[18px] stroke-[2]" aria-hidden="true" />
+                      <!-- New message badge: positioned at the top-right corner -->
+                      <span v-if="unreadCount > 0" class="absolute top-[4px] right-[4px] flex h-2 w-2">
+                          <span class="animate-ping absolute inline-flex h-full w-full rounded-full bg-rose-400 opacity-75"></span>
+                          <span class="relative inline-flex rounded-full h-[7px] w-[7px] bg-rose-500 ring-[1.5px] ring-white"></span>
+                      </span>
+                  </button>
 
-  </nav>
+                  <!-- Dropdown message panel (shown on hover) -->
+                  <div class="absolute top-full right-0 mt-2 w-80 bg-white border border-slate-200 shadow-[0_10px_40px_-10px_rgba(0,0,0,0.1)] rounded-xl z-50 opacity-0 invisible group-hover:opacity-100 group-hover:visible transition-all duration-200 transform origin-top translate-y-2 group-hover:translate-y-0 cursor-default">
+                      <div class="px-4 py-3 border-b border-slate-100 flex items-center justify-between bg-slate-50/50 rounded-t-xl">
+                          <h3 class="text-xs font-semibold text-slate-800 uppercase tracking-wider">Inbox</h3>
+                          <button @click="handleMarkAllRead" class="text-[11px] text-primary hover:text-primary-700 font-medium transition-colors">Mark all read</button>
+                      </div>
+                      <div class="max-h-[320px] overflow-y-auto w-full">
+                          <div v-if="loading" class="px-4 py-6 text-center text-xs text-slate-400">Loading...</div>
+                          <div v-else-if="recentMessages.length === 0" class="px-4 py-6 text-center text-xs text-slate-400">No messages</div>
+                          <router-link
+                              v-for="msg in recentMessages"
+                              :key="msg.id"
+                              :to="`/messages/${msg.id}`"
+                              class="block px-4 py-3 hover:bg-slate-50 border-b border-slate-50 last:border-0 transition-colors relative group/item"
+                          >
+                              <span v-if="!msg.isRead" class="absolute left-2.5 top-4 w-1.5 h-1.5 rounded-full bg-emerald-500 shadow-[0_0_4px_rgba(16,185,129,0.5)]"></span>
+                              <div class="pl-3">
+                                  <p class="text-xs font-semibold mb-1 group-hover/item:text-primary transition-colors" :class="msg.isRead ? 'text-slate-600' : 'text-slate-800'">{{ msg.title }}</p>
+                                  <p class="text-[11px] text-slate-500 leading-snug line-clamp-2 mb-1.5">{{ msg.content }}</p>
+                                  <p class="text-[10px] text-slate-400 font-medium">{{ formatTime(msg.date) }}</p>
+                              </div>
+                          </router-link>
+                      </div>
+                      <div class="px-4 py-2 border-t border-slate-100 text-center rounded-b-xl bg-slate-50/50">
+                          <router-link to="/messages" class="text-[11px] text-slate-500 hover:text-slate-800 font-semibold transition-colors">View all activity</router-link>
+                      </div>
+                  </div>
+              </div>
 
+              <!-- Account -->
+              <user-menu :user="user" />
+          </div>
+      </div>
+    </div>
+  </header>
 </template>
 
-<script>
-import NavBar from "./NavBar"
-export default NavBar
+<script setup lang="ts">
+import { ref, computed, onMounted, watch } from 'vue'
+import { Inbox } from "lucide-vue-next";
+import NavMenu from "./NavMenu.vue";
+import UserMenu from "./UserMenu.vue";
+import { getMessages, dealMessages, markAllAsRead } from '../services/messages'
+import { globalState, invalidateMessages } from '../store'
+
+defineProps<{
+    user?: object
+}>()
+
+const recentMessages = ref<any[]>([])
+const loading = ref(false)
+
+const unreadCount = computed(() => recentMessages.value.filter(m => !m.isRead).length)
+
+const fetchRecentMessages = async () => {
+    loading.value = true
+    try {
+        const res = await getMessages('all', 5, 0)
+        const payload = dealMessages(res)
+        recentMessages.value = payload.results
+    } catch (e) {
+        console.error('Failed to fetch recent messages', e)
+    } finally {
+        loading.value = false
+    }
+}
+
+const handleMarkAllRead = async () => {
+    try {
+        await markAllAsRead()
+        recentMessages.value.forEach(m => m.isRead = true)
+        invalidateMessages()
+    } catch (e) {
+        console.error('Failed to mark all as read', e)
+    }
+}
+
+onMounted(() => {
+    fetchRecentMessages()
+})
+
+// Refresh when other components signal that message read-state changed.
+watch(() => globalState.messagesVersion, () => {
+    fetchRecentMessages()
+})
+
+const formatTime = (dateStr: string) => {
+    if (!dateStr) return ''
+    const date = new Date(dateStr)
+    const now = new Date()
+    const diff = now.getTime() - date.getTime()
+    const minutes = Math.floor(diff / 60000)
+    const hours = Math.floor(diff / 3600000)
+    const days = Math.floor(diff / 86400000)
+    if (minutes < 1) return 'Just now'
+    if (minutes < 60) return `${minutes}m ago`
+    if (hours < 24) return `${hours}h ago`
+    if (days < 7) return `${days}d ago`
+    return date.toLocaleDateString('en-US', { month: 'short', day: 'numeric' })
+}
 </script>
 
 <style scoped>
-  @import "../assets/home.css";
+/* Scoped styles removed */
 </style>
diff --git a/rootfs/web/src/components/NavBox.js b/rootfs/web/src/components/NavBox.js
deleted file mode 100644
index 9aea2f7..0000000
--- a/rootfs/web/src/components/NavBox.js
+++ /dev/null
@@ -1,3 +0,0 @@
-export default {
-    name: "NavBox"
-}
diff --git a/rootfs/web/src/components/NavBox.vue b/rootfs/web/src/components/NavBox.vue
deleted file mode 100644
index 957087c..0000000
--- a/rootfs/web/src/components/NavBox.vue
+++ /dev/null
@@ -1,22 +0,0 @@
-<!--子导航插槽组件-->
-<template>
-    <div class="top-nav flex flex-column justify-center">
-        <div class="limit-width flex items-center flex-wrap">
-            <div class="flex-auto f4">
-                <nav class="crumb-trail flex items-center flex-auto f3 lh-copy near-black nudge-left--5 pv--3 ember-view">
-                    <slot name="nav-cluster"></slot>
-                </nav>
-            </div>
-            <slot name="create-new-app"></slot>
-        </div>
-        <div class="limit-width flex items-center flex-wrap"></div>
-    </div>
-</template>
-
-<script>
-import NavBox from "./NavBox"
-export default NavBox
-</script>
-
-<style scoped>
-</style>
diff --git a/rootfs/web/src/components/NavMenu.js b/rootfs/web/src/components/NavMenu.js
deleted file mode 100644
index a55826d..0000000
--- a/rootfs/web/src/components/NavMenu.js
+++ /dev/null
@@ -1,23 +0,0 @@
-export default {
-    name: "NavMenu",
-    data() {
-        return {
-            isMenuActived: false
-        }
-    },
-    methods: {
-        openOrCloseMenu() {
-            this.isMenuActived = !this.isMenuActived;
-        }
-    },
-    mounted() {
-        let _this = this
-        document.addEventListener('click', function (e) {
-            // 下面这句代码是获取 点击的区域是否包含你的菜单，如果包含，说明点击的是菜单以外，不包含则为菜单以内
-            if (e.target.id !== 'menu-nav') {
-                _this.isMenuActived = false
-            }
-
-        })
-    }
-}
diff --git a/rootfs/web/src/components/NavMenu.vue b/rootfs/web/src/components/NavMenu.vue
index 5a4112e..2442d6a 100644
--- a/rootfs/web/src/components/NavMenu.vue
+++ b/rootfs/web/src/components/NavMenu.vue
@@ -1,22 +1,82 @@
 <template>
-    <ul id="glostick__menu--navigator" class="glostick__menu glostick__menu--navigator" :class="{'glostick__menu--open': isMenuActived}">
-        <li class="glostick__menu__listitem">
-            <a class="glostick__menu__item glostick__menu__item--databases" href="https://github.com/drycc/">Github</a>
+    <ul id="menu-navigator" class="flex flex-wrap items-center justify-center gap-1 list-none m-0 p-0 text-sm font-medium">
+        <li class="relative">
+            <a class="flex items-center gap-1.5 px-2.5 py-1.5 text-sm font-medium text-slate-700 bg-white border border-transparent rounded-lg hover:bg-slate-50 transition-all focus:outline-none group" :href="globalState.dashboardUrl">
+                <LayoutGrid class="w-4 h-4 text-primary" aria-hidden="true" />
+                <span>Dashboard</span>
+            </a>
         </li>
-        <li class="glostick__menu__listitem">
-            <a class="glostick__menu__item glostick__menu__item--dataclips" href="https://www.drycc.com">Docs</a>
+        <li class="relative hidden md:block">
+            <a class="flex items-center gap-1.5 px-2.5 py-1.5 text-sm font-medium text-slate-700 bg-white border border-transparent rounded-lg hover:bg-slate-50 transition-all focus:outline-none group" href="https://www.drycc.cc/zh-cn/docs/roadmap/" target="_blank" rel="noopener noreferrer">
+                <Zap class="w-4 h-4 text-primary opacity-80" aria-hidden="true" />
+                <span>What's New</span>
+            </a>
+        </li>
+        <li class="relative">
+            <dropdown
+                trigger-id="menu-nav"
+                menu-id="ui-nav-menu-resources"
+                trigger-label="Resources"
+                :trigger-icon="resourcesTriggerIcon"
+                :items="resourceItems"
+                :menu-width="226"
+            >
+                <template #trigger>
+                    <button class="flex items-center gap-1.5 px-2.5 py-1.5 text-sm font-medium text-slate-700 bg-white border border-transparent rounded-lg hover:bg-slate-50 transition-all focus:outline-none group" type="button">
+                        <component class="w-4 h-4 text-primary opacity-80" aria-hidden="true" :is="resourcesTriggerIcon" />
+                        <span>Resources</span>
+                    </button>
+                </template>
+            </dropdown>
         </li>
     </ul>
 </template>
 
-<script>
-import NavMenu from "./NavMenu"
-export default NavMenu
+<script lang="ts">
+import { markRaw } from "vue";
+import { MessageSquare, FileText, Bookmark, BookOpen, LayoutGrid, Zap } from "lucide-vue-next";
+import Dropdown from "./Dropdown.vue";
+import { globalState } from "../store";
+
+export default {
+    name: "NavMenu",
+    components: { LayoutGrid, Zap, Dropdown },
+    setup() {
+        return { globalState }
+    },
+    data() {
+        return {
+            isMenuActived: false,
+            resourcesTriggerIcon: markRaw(Bookmark),
+            resourceItems: [
+                {
+                    key: "docs",
+                    label: "Documentation",
+                    href: "https://www.drycc.cc/docs/",
+                    icon: markRaw(FileText),
+                    external: true
+                },
+                {
+                    key: "community",
+                    label: "Community Support",
+                    href: "https://www.drycc.cc/community/",
+                    icon: markRaw(MessageSquare),
+                    external: true
+                },
+                {
+                    key: "blog",
+                    label: "Drycc.cc Blog",
+                    href: "https://www.drycc.cc/blog/",
+                    icon: markRaw(BookOpen),
+                    external: true
+                },
+            ]
+        }
+    }
+}
+
 </script>
 
 <style scoped>
-    @import "../assets/home.css";
-    .glostick__menu--navigator {
-        top: 42px
-    }
+/* Scoped styles removed */
 </style>
diff --git a/rootfs/web/src/components/UserMenu.js b/rootfs/web/src/components/UserMenu.js
deleted file mode 100644
index d018cc0..0000000
--- a/rootfs/web/src/components/UserMenu.js
+++ /dev/null
@@ -1,62 +0,0 @@
-import {onMounted, reactive, toRefs} from "vue";
-import { useRouter } from 'vue-router'
-import {dealUser, getUser, postLogout} from "../services/user";
-
-export default {
-    name: "UserMenu",
-    data() {
-        return {
-            isMenuActived: false
-        }
-    },
-    methods: {
-        openOrCloseMenu() {
-            this.isMenuActived = !this.isMenuActived;
-        }
-    },
-    setup() {
-        const router = useRouter()
-        const state = reactive({
-            user :{
-                username: null,
-                email: null,
-                is_superuser: null
-            },
-        })
-        const logout = () => {
-            postLogout().then(res=>{
-                if (res.status == 200) {
-                    sessionStorage.clear()
-                    router.push({ path: '/'})
-                }
-            })
-            location.reload(true)
-        }
-        onMounted(async () => {
-            let user = sessionStorage.getItem('user')
-            if (user){
-                state.user = JSON.parse(user)
-            }else {
-                const res = await getUser()
-                state.user = dealUser(res)
-                if (state.user){
-                    sessionStorage.setItem('user', JSON.stringify(state.user))
-                }
-            }
-        })
-
-        return {
-            ...toRefs(state),
-            logout
-        }
-    },
-    mounted() {
-        let _this = this
-        document.addEventListener('click', function (e) {
-            // 下面这句代码是获取 点击的区域是否包含你的菜单，如果包含，说明点击的是菜单以外，不包含则为菜单以内
-            if (e.target.id !== 'menu-account') {
-                _this.isMenuActived = false
-            }
-        })
-    }
-}
diff --git a/rootfs/web/src/components/UserMenu.vue b/rootfs/web/src/components/UserMenu.vue
index e52bb6c..95bfc36 100644
--- a/rootfs/web/src/components/UserMenu.vue
+++ b/rootfs/web/src/components/UserMenu.vue
@@ -1,43 +1,152 @@
-<!--用户菜单-->
+<!-- User menu -->
 <template>
-    <a class="glostick__menu-icon glostick__menu-icon--account" @click="openOrCloseMenu">
-        <div class="glostick__user__avatar--container">
-            <img class="glostick__user__avatar" src="../../src/assets/style/avatar.png" id="menu-account">
-        </div>
-        <div class="glostick__user__notification "></div>
-    </a>
-    <ul id="glostick__menu--account" class="glostick__menu glostick__menu--account" :class="{'glostick__menu--open': isMenuActived}">
-        <li class="glostick__menu__listitem">
-            <a class="glostick__menu__item glostick__menu__item--account-details" href="/account-setting">
-                <div class="glostick__user__avatar--container">
-                    <img class="glostick__account-details__avatar" src="../../src/assets/style/avatar.png" >
-                </div>
-                <div class="glostick__account-details__name">
-                  {{user.username}}
-                </div>
-                <div class="glostick__account-details__email">
-                  {{user.email}}
-                </div>
-            </a>
-        </li>
-        <li class="glostick__menu__listitem">
-            <a class="glostick__menu__item glostick__menu__item--settings" href="/account-setting">Account settings</a>
-        </li>
-
-        <li class="glostick__menu__listitem">
-          <a class="glostick__menu__item glostick__menu__item--docs" href="/user/logout">Sign out</a>
-        </li>
-    </ul>
+    <dropdown
+        v-if="currentUser && currentUser.username != null"
+        trigger-id="menu-account"
+        menu-id="ui-user-menu--account"
+        trigger-label="Account"
+        :trigger-icon="accountTriggerIcon"
+        :items="menuItems"
+        meta-label="Signed in as"
+        :meta-value="currentUser?.email || currentUser?.username"
+        :menu-width="226"
+        :hide-label-on-mobile="true"
+        @action="handleMenuAction"
+    >
+        <template #trigger>
+            <button class="relative flex items-center justify-center w-8 h-8 rounded-lg bg-blue-100 text-blue-600 hover:bg-blue-200 transition-colors focus:outline-none" type="button" aria-label="Account profile">
+                <span class="text-sm font-bold">{{ userInitials }}</span>
+            </button>
+        </template>
+    </dropdown>
 </template>
 
-<script>
-import UserMenu from "./UserMenu"
-export default UserMenu
-</script>
+<script lang="ts">
+import { computed, markRaw, onBeforeMount, reactive, toRefs, watch } from "vue";
+import { useRouter } from 'vue-router'
+import {dealUser, getUser, postLogout} from "../services/user";
+import { Key, Settings, LogOut, User } from "lucide-vue-next";
+import Dropdown from "./Dropdown.vue";
+
+export default {
+    name: "UserMenu",
+    components: { Dropdown },
+    props: {
+        user: {
+            type: Object,
+            default: null
+        }
+    },
+    setup(props) {
+        const router = useRouter()
+        const normalizeUser = (input) => {
+            if (!input) {
+                return {
+                    username: null,
+                    email: null,
+                    first_name: null,
+                    last_name: null
+                }
+            }
+            if (input.data) {
+                return dealUser(input)
+            }
+            return {
+                username: input.username ?? null,
+                email: input.email ?? null,
+                first_name: input.first_name ?? null,
+                last_name: input.last_name ?? null
+            }
+        }
+        const state = reactive({
+            currentUser :{
+                username: null,
+                email: null,
+                first_name: null,
+                last_name: null,
+                is_superuser: null
+            },
+        })
+        const logout = async () => {
+            try {
+                const res = await postLogout()
+                if (res.status === 200) {
+                    sessionStorage.clear()
+                    await router.push({ path: '/' })
+                    location.reload()
+                }
+            } catch (error) {
+                console.error('Logout failed:', error)
+            }
+        }
+
+        const accountTriggerIcon = markRaw(User)
+
+        const userInitials = computed(() => {
+            if (state.currentUser?.first_name) {
+                return state.currentUser.first_name.charAt(0).toUpperCase()
+            }
+            if (state.currentUser?.username) {
+                return state.currentUser.username.charAt(0).toUpperCase()
+            }
+            if (state.currentUser?.email) {
+                return state.currentUser.email.charAt(0).toUpperCase()
+            }
+            return 'A'
+        })
+
+        const menuItems = computed(() => [
+            {
+                key: "settings",
+                label: "Settings",
+                href: "/account-setting",
+                icon: markRaw(Settings)
+            },
+            {
+                key: "access-tokens",
+                label: "Access Tokens",
+                href: "/access-tokens",
+                icon: markRaw(Key)
+            },
+            {
+                key: "sign-out",
+                label: "Sign Out",
+                actionKey: "logout",
+                icon: markRaw(LogOut)
+            }
+        ])
 
-<style scoped>
-    @import "../assets/home.css";
-    .glostick__menu--account {
-        top: 42px
+        const handleMenuAction = (actionKey) => {
+            if (actionKey === "logout") {
+                logout()
+            }
+        }
+
+        watch(
+            () => props.user,
+            (newUser) => {
+                if (newUser) {
+                    state.currentUser = normalizeUser(newUser)
+                }
+            },
+            { immediate: true }
+        )
+
+        onBeforeMount(async () => {
+            if (!props.user) {
+                const res = await getUser()
+                state.currentUser = normalizeUser(res)
+            }
+        })
+
+        return {
+            ...toRefs(state),
+            accountTriggerIcon,
+            menuItems,
+            userInitials,
+            handleMenuAction
+        }
     }
-</style>
+}
+
+</script>
diff --git a/rootfs/web/src/env.d.ts b/rootfs/web/src/env.d.ts
new file mode 100644
index 0000000..95ee9df
--- /dev/null
+++ b/rootfs/web/src/env.d.ts
@@ -0,0 +1,6 @@
+/// <reference types="vite/client" />
+declare module '*.vue' {
+  import { DefineComponent } from 'vue'
+  const component: DefineComponent<{}, {}, any>
+  export default component
+}
diff --git a/rootfs/web/src/lang/en_US.js b/rootfs/web/src/lang/en_US.js
index f3ccb24..c8ff4e2 100644
--- a/rootfs/web/src/lang/en_US.js
+++ b/rootfs/web/src/lang/en_US.js
@@ -7,97 +7,5 @@ const customEnUS = {
   newToDrycc: "New To Drycc? Please contact your adminstrator",
 
 }
-
-const vantEnUS = {
-  // vant default
-  name: 'Name',
-  tel: 'Phone',
-  save: 'Save',
-  confirm: 'Confirm',
-  cancel: 'Cancel',
-  delete: 'Delete',
-  complete: 'Complete',
-  loading: 'Loading...',
-  telEmpty: 'Please fill in the tel',
-  nameEmpty: 'Please fill in the name',
-  nameInvalid: 'Malformed name',
-  confirmDelete: 'Are you sure you want to delete?',
-  telInvalid: 'Malformed phone number',
-  vanCalendar: {
-    end: 'End',
-    start: 'Start',
-    title: 'Calendar',
-    startEnd: 'Start/End',
-    weekdays: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
-    monthTitle: function monthTitle(year, month) {
-      return year + "/" + month;
-    },
-    rangePrompt: function rangePrompt(maxRange) {
-      return "Choose no more than " + maxRange + " days";
-    }
-  },
-  vanContactCard: {
-    addText: 'Add contact info'
-  },
-  vanContactList: {
-    addText: 'Add new contact'
-  },
-  vanPagination: {
-    prev: 'Previous',
-    next: 'Next'
-  },
-  vanPullRefresh: {
-    pulling: 'Pull to refresh...',
-    loosing: 'Loose to refresh...'
-  },
-  vanSubmitBar: {
-    label: 'Total：'
-  },
-  vanCoupon: {
-    unlimited: 'Unlimited',
-    discount: function discount(_discount) {
-      return _discount * 10 + "% off";
-    },
-    condition: function condition(_condition) {
-      return "At least " + _condition;
-    }
-  },
-  vanCouponCell: {
-    title: 'Coupon',
-    tips: 'No coupons',
-    count: function count(_count) {
-      return "You have " + _count + " coupons";
-    }
-  },
-  vanCouponList: {
-    empty: 'No coupons',
-    exchange: 'Exchange',
-    close: 'Close',
-    enable: 'Available',
-    disabled: 'Unavailable',
-    placeholder: 'Coupon code'
-  },
-  vanAddressEdit: {
-    area: 'Area',
-    postal: 'Postal',
-    areaEmpty: 'Please select a receiving area',
-    addressEmpty: 'Address can not be empty',
-    postalEmpty: 'Wrong postal code',
-    defaultAddress: 'Set as the default address',
-    telPlaceholder: 'Phone',
-    namePlaceholder: 'Name',
-    areaPlaceholder: 'Area'
-  },
-  vanAddressEditDetail: {
-    label: 'Address',
-    placeholder: 'Address'
-  },
-  vanAddressList: {
-    add: 'Add new address'
-  }
-}
-
-const message = Object.assign(customEnUS, vantEnUS)
-
-export default message
+export default customEnUS
 
diff --git a/rootfs/web/src/lang/index.js b/rootfs/web/src/lang/index.js
index 786a17e..0796d08 100644
--- a/rootfs/web/src/lang/index.js
+++ b/rootfs/web/src/lang/index.js
@@ -11,6 +11,7 @@ const ENUM_LANG = {
 
 
 export const i18n = createI18n({
+  legacy: false,
   locale: ENUM_LANG.zhCN,
   messages: {
     [ENUM_LANG.enUS]: {
@@ -23,16 +24,14 @@ export const i18n = createI18n({
 })
 
 export const setLang = (lang) => {
-  // i18n.global.locale.value = lang
-  i18n.global.locale = lang
+  i18n.global.locale.value = lang
 }
 
 export const getLang = () => {
-  // return i18n && i18n.global.locale.value
-  return i18n && i18n.global.locale
+  return i18n && i18n.global.locale.value
 }
 
-// 获取UA语言类型
+// Get the UA language type
 export const getUAgentLang = () => {
   const UA = window.navigator.userAgent
   const regx = new RegExp(`LANG/(${ENUM_LANG.enUS}|${ENUM_LANG.zhHK}|${ENUM_LANG.zhCN})`, 'g')
diff --git a/rootfs/web/src/lang/zh_CN.js b/rootfs/web/src/lang/zh_CN.js
index 2c34c83..4a5ad29 100644
--- a/rootfs/web/src/lang/zh_CN.js
+++ b/rootfs/web/src/lang/zh_CN.js
@@ -7,97 +7,4 @@ const customZhCN = {
   newToDrycc: "如果您是Drycc的新用户，请联系管理员",
 
 }
-
-const vantZhCN = {
-  // vant default
-  name: '姓名',
-  tel: '电话',
-  save: '保存',
-  confirm: '确认',
-  cancel: '取消',
-  delete: '删除',
-  complete: '完成',
-  loading: '加载中...',
-  telEmpty: '请填写电话',
-  nameEmpty: '请填写姓名',
-  nameInvalid: '请输入正确的姓名',
-  confirmDelete: '确定要删除吗',
-  telInvalid: '请输入正确的手机号',
-  vanCalendar: {
-    end: '结束',
-    start: '开始',
-    title: '日期选择',
-    confirm: '确定',
-    startEnd: '开始/结束',
-    weekdays: ['日', '一', '二', '三', '四', '五', '六'],
-    monthTitle: function monthTitle(year, month) {
-      return year + "\u5E74" + month + "\u6708";
-    },
-    rangePrompt: function rangePrompt(maxRange) {
-      return "\u9009\u62E9\u5929\u6570\u4E0D\u80FD\u8D85\u8FC7 " + maxRange + " \u5929";
-    }
-  },
-  vanContactCard: {
-    addText: '添加联系人'
-  },
-  vanContactList: {
-    addText: '新建联系人'
-  },
-  vanPagination: {
-    prev: '上一页',
-    next: '下一页'
-  },
-  vanPullRefresh: {
-    pulling: '下拉即可刷新...',
-    loosing: '释放即可刷新...'
-  },
-  vanSubmitBar: {
-    label: '合计：'
-  },
-  vanCoupon: {
-    unlimited: '无使用门槛',
-    discount: function discount(_discount) {
-      return _discount + "\u6298";
-    },
-    condition: function condition(_condition) {
-      return "\u6EE1" + _condition + "\u5143\u53EF\u7528";
-    }
-  },
-  vanCouponCell: {
-    title: '优惠券',
-    tips: '暂无可用',
-    count: function count(_count) {
-      return _count + "\u5F20\u53EF\u7528";
-    }
-  },
-  vanCouponList: {
-    empty: '暂无优惠券',
-    exchange: '兑换',
-    close: '不使用优惠券',
-    enable: '可用',
-    disabled: '不可用',
-    placeholder: '请输入优惠码'
-  },
-  vanAddressEdit: {
-    area: '地区',
-    postal: '邮政编码',
-    areaEmpty: '请选择地区',
-    addressEmpty: '请填写详细地址',
-    postalEmpty: '邮政编码格式不正确',
-    defaultAddress: '设为默认收货地址',
-    telPlaceholder: '收货人手机号',
-    namePlaceholder: '收货人姓名',
-    areaPlaceholder: '选择省 / 市 / 区'
-  },
-  vanAddressEditDetail: {
-    label: '详细地址',
-    placeholder: '街道门牌、楼层房间号等信息'
-  },
-  vanAddressList: {
-    add: '新增地址'
-  }
-}
-
-const message = Object.assign(customZhCN, vantZhCN)
-
-export default message
+export default customZhCN
diff --git a/rootfs/web/src/main.js b/rootfs/web/src/main.ts
similarity index 52%
rename from rootfs/web/src/main.js
rename to rootfs/web/src/main.ts
index 16fb05f..a4d7815 100644
--- a/rootfs/web/src/main.js
+++ b/rootfs/web/src/main.ts
@@ -1,26 +1,27 @@
 import App from './App.vue'
 import router from './router'
 import { createApp } from 'vue'
-import { Toast } from 'vant';
 import { i18n, setLang, getUAgentLang } from './lang'
-import 'vant/lib/index.css';
+import './styles/unified.css'
+
+declare global {
+  interface Date {
+    format(format: string): string;
+  }
+}
 
 /**
- * 时间对象的格式化;
+ * Date object formatting;
  */
-Date.prototype.format = function(format) {
-    /*
-     * eg:format="yyyy-MM-dd hh:mm:ss";
-     */
-    var o = {
-        "M+" : this.getMonth() + 1, // month
-        "d+" : this.getDate(), // day
-        "h+" : this.getHours(), // hour
-        "m+" : this.getMinutes(), // minute
-        "s+" : this.getSeconds(), // second
-        "q+" : Math.floor((this.getMonth() + 3) / 3), // quarter
+Date.prototype.format = function(format: string) {
+    var o: Record<string, number> = {
+        "M+" : this.getMonth() + 1,
+        "d+" : this.getDate(),
+        "h+" : this.getHours(),
+        "m+" : this.getMinutes(),
+        "s+" : this.getSeconds(),
+        "q+" : Math.floor((this.getMonth() + 3) / 3),
         "S" : this.getMilliseconds()
-        // millisecond
     }
 
     if (/(y+)/.test(format)) {
@@ -29,15 +30,15 @@ Date.prototype.format = function(format) {
 
     for (var k in o) {
         if (new RegExp("(" + k + ")").test(format)) {
-            format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length));
+            format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k].toString() : ("00" + o[k]).substr(("" + o[k]).length));
         }
     }
     return format;
 }
 
-// 初始化
+// Initialization
 function init () {
-    // 语言初始化
+    // Language initialization
     const lang = getUAgentLang()
     setLang(lang)
 }
@@ -47,5 +48,4 @@ init()
 const app = createApp(App)
 app.use(router)
 app.use(i18n)
-app.use(Toast);
 app.mount('#app')
diff --git a/rootfs/web/src/router/index.js b/rootfs/web/src/router/index.js
deleted file mode 100644
index 4ebbb19..0000000
--- a/rootfs/web/src/router/index.js
+++ /dev/null
@@ -1,28 +0,0 @@
-import { createRouter, createWebHistory } from 'vue-router'
-import AccessTokenList from "../views/AccessTokenList.vue";
-import AccountSetting from "../views/AccountSetting.vue";
-
-
-const routes = [
-    {
-        path: '/',
-        redirect: '/access-tokens',
-    },
-    {
-        path: '/access-tokens',
-        name: 'AccessTokenList',
-        component: AccessTokenList
-    },
-    {
-        path: '/account-setting',
-        name: 'AccountSetting',
-        component: AccountSetting
-    },
-]
-
-const router = createRouter({
-    history: createWebHistory(),
-    routes
-})
-
-export default router
diff --git a/rootfs/web/src/router/index.ts b/rootfs/web/src/router/index.ts
new file mode 100644
index 0000000..2995668
--- /dev/null
+++ b/rootfs/web/src/router/index.ts
@@ -0,0 +1,45 @@
+import { createRouter, createWebHistory, RouteRecordRaw } from 'vue-router'
+import AccessTokenList from "../views/AccessTokenList.vue";
+import AccountSetting from "../views/AccountSetting.vue";
+
+
+const routes: Array<RouteRecordRaw> = [
+    {
+        path: '/',
+        name: 'Overview',
+        component: () => import('../views/Overview.vue')
+    },
+    {
+        path: '/access-tokens',
+        name: 'AccessTokenList',
+        component: AccessTokenList
+    },
+    {
+        path: '/account-setting',
+        name: 'AccountSetting',
+        component: AccountSetting
+    },
+    {
+        path: '/messages',
+        name: 'messages',
+        component: () => import('../views/MessageList.vue')
+    },
+    {
+        path: '/messages/preferences',
+        name: 'message-preferences',
+        component: () => import('../views/MessagePreferences.vue')
+    },
+    {
+        path: '/messages/:id',
+        name: 'message-detail',
+        component: () => import('../views/MessageDetail.vue'),
+        props: true
+    },
+]
+
+const router = createRouter({
+    history: createWebHistory(),
+    routes
+})
+
+export default router
diff --git a/rootfs/web/src/services/identities.js b/rootfs/web/src/services/identities.js
new file mode 100644
index 0000000..3081dea
--- /dev/null
+++ b/rootfs/web/src/services/identities.js
@@ -0,0 +1,21 @@
+import axios from "../utils/axios";
+
+export const getIdentityProviders = () => {
+    return axios.get('/user/identity-providers/')
+}
+
+export const getLinkedIdentities = () => {
+    return axios.get('/user/identities/')
+}
+
+export const unlinkIdentity = (identityId) => {
+    return axios.delete(`/user/identities/${identityId}`)
+}
+
+export const getOAuthPending = () => {
+    return axios.get('/user/oauth/pending/')
+}
+
+export const createOAuthUser = (payload) => {
+    return axios.post('/user/oauth/create/', payload)
+}
\ No newline at end of file
diff --git a/rootfs/web/src/services/messages.js b/rootfs/web/src/services/messages.js
new file mode 100644
index 0000000..4db0665
--- /dev/null
+++ b/rootfs/web/src/services/messages.js
@@ -0,0 +1,65 @@
+import axios from "../utils/axios";
+
+export function getMessages(category, limit = 30, offset = 0, isRead = undefined, search = undefined) {
+    const params = { limit, offset };
+    if (category && category !== 'all') {
+        params.category = category;
+    }
+    if (isRead !== undefined) {
+        params.is_read = isRead;
+    }
+    if (search) {
+        params.search = search;
+    }
+    return axios.get(`/user/messages/`, { params })
+}
+
+export function dealMessages(obj) {
+    return {
+        count: obj.data.count,
+        next: obj.data.next,
+        previous: obj.data.previous,
+        results: obj.data.results.map(item => {
+            return {
+                id: item.id,
+                category: item.category,
+                title: item.title,
+                content: item.content,
+                date: item.date,
+                isRead: item.is_read,
+                severity: item.severity
+            }
+        })
+    }
+}
+
+export function getMessageDetail(id) {
+    return axios.get(`/user/messages/` + id)
+}
+
+export function dealMessageDetail(obj) {
+    const item = obj.data;
+    return {
+        id: item.id,
+        category: item.category,
+        title: item.title,
+        fullContent: item.full_content || item.content,
+        date: item.date,
+        isRead: item.is_read,
+        severity: item.severity,
+        actionLink: item.action_link,
+        actionText: item.action_text
+    }
+}
+
+export function markAllAsRead() {
+    return axios.put(`/user/messages/mark-all-read/`)
+}
+
+export function getMessagePreferences() {
+    return axios.get(`/user/message-preferences/`)
+}
+
+export function updateMessagePreferences(data) {
+    return axios.put(`/user/message-preferences/`, data)
+}
diff --git a/rootfs/web/src/services/settings.js b/rootfs/web/src/services/settings.js
new file mode 100644
index 0000000..92f5724
--- /dev/null
+++ b/rootfs/web/src/services/settings.js
@@ -0,0 +1,5 @@
+import axios from "../utils/axios";
+
+export function getSettings() {
+    return axios.get(`/settings/`)
+}
\ No newline at end of file
diff --git a/rootfs/web/src/services/tokens.js b/rootfs/web/src/services/tokens.js
index 42a702a..e628add 100644
--- a/rootfs/web/src/services/tokens.js
+++ b/rootfs/web/src/services/tokens.js
@@ -5,7 +5,7 @@ export function getAccessTokenList() {
 }
 
 export function dealAccessTokenList(obj) {
-    return obj.data.map(item => {
+    return obj.data.results.map(item => {
         return {
             id: item.id,
             application: item.application,
diff --git a/rootfs/web/src/services/user.js b/rootfs/web/src/services/user.js
index 0fb7d9d..0eae35a 100644
--- a/rootfs/web/src/services/user.js
+++ b/rootfs/web/src/services/user.js
@@ -8,6 +8,8 @@ export function dealUser(obj) {
     return {
         username: obj.data.username,
         email: obj.data.email,
+        first_name: obj.data.first_name,
+        last_name: obj.data.last_name,
     }
 }
 
diff --git a/rootfs/web/src/store.ts b/rootfs/web/src/store.ts
new file mode 100644
index 0000000..40e5905
--- /dev/null
+++ b/rootfs/web/src/store.ts
@@ -0,0 +1,31 @@
+import { reactive } from 'vue'
+import { getSettings } from './services/settings'
+
+export const globalState = reactive({
+    dashboardUrl: '/',
+    contactSupportUrl: 'https://community.drycc.cc/',
+    settingsLoaded: false,
+    // Bumped whenever the user's message read-state changes (e.g. mark-all-read,
+    // mark single message as read). Components that display messages should
+    // watch this value and refresh their local state.
+    messagesVersion: 0,
+})
+
+/** Notify all message-aware components to refresh. */
+export const invalidateMessages = () => {
+    globalState.messagesVersion += 1
+}
+
+export const fetchGlobalSettings = async () => {
+    if (globalState.settingsLoaded) return;
+    try {
+        const res = await getSettings()
+        if (res.data) {
+            if (res.data.dashboard_url) globalState.dashboardUrl = res.data.dashboard_url
+            if (res.data.contact_support_url) globalState.contactSupportUrl = res.data.contact_support_url
+        }
+        globalState.settingsLoaded = true
+    } catch (e) {
+        console.error("Failed to fetch settings", e)
+    }
+}
diff --git a/rootfs/web/src/styles/unified.css b/rootfs/web/src/styles/unified.css
new file mode 100644
index 0000000..deaf7d0
--- /dev/null
+++ b/rootfs/web/src/styles/unified.css
@@ -0,0 +1,20 @@
+@import "tailwindcss";
+
+@theme {
+  --color-primary: #409eff;
+  --color-primary-50: #ecf5ff;
+  --color-primary-100: #d9ecff;
+  --color-primary-200: #c6e2ff;
+  --color-primary-300: #8cc5ff;
+  --color-primary-400: #66b1ff;
+  --color-primary-500: #409eff;
+  --color-primary-600: #337ecc;
+  --color-primary-700: #2966a3;
+  --color-primary-800: #1f4c7a;
+  --color-primary-900: #143352;
+}
+
+body {
+  background-color: #f3f4f6;
+  min-height: 100vh;
+}
diff --git a/rootfs/web/src/utils/axios.js b/rootfs/web/src/utils/axios.js
index 77927d6..b410a62 100755
--- a/rootfs/web/src/utils/axios.js
+++ b/rootfs/web/src/utils/axios.js
@@ -1,14 +1,19 @@
 import axios from 'axios'
-import { Toast } from 'vant'
+const ElMessage = { success: alert, error: alert }; const ElLoading = { service: () => ({ close: () => {} }) }
 import {getCookie} from "./array";
 
-axios.defaults.baseURL = import.meta.env.VITE_APP_BASE_API
+axios.defaults.baseURL = process.env.VUE_APP_BASE_URL
 axios.defaults.withCredentials = true
-axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'
 axios.defaults.headers.post['Content-Type'] = 'application/json'
+const loadingToast = [];
 
 axios.interceptors.request.use(
     (config)=>{
+    loadingToast.push(ElLoading.service({
+      lock: true,
+      text: "Loading...",
+      background: "rgba(0, 0, 0, 0.2)",
+    }));
         let csrftoken = getCookie('csrftoken')
         if(csrftoken){
             config.headers['X-CSRFToken'] = csrftoken;
@@ -19,6 +24,9 @@ axios.interceptors.request.use(
 
 axios.interceptors.response.use(
     response => {
+      if (loadingToast.length > 0) {
+        loadingToast.pop().close();
+      }
       if ([200, 201, 204].indexOf(response.status) >= 0) {
         return Promise.resolve(response);
       } else {
@@ -26,7 +34,10 @@ axios.interceptors.response.use(
       }
     },
     error => {
-      if (error.response.status) {
+      if (loadingToast.length > 0) {
+        loadingToast.pop().close();
+      }
+      if (error.response && error.response.status) {
         switch (error.response.status) {
           case 401:
             window.location.replace("/user/login/");
@@ -43,36 +54,37 @@ axios.interceptors.response.use(
                       forbidClick: true
                   });
               }
+              break;
           case 404:
             console.log('error.response: ', error.response)
               if(error.response.data){
-                  Toast({
-                      message: error.response.data.replace("\"","").replace("\"",""),
-                      duration: 1500,
-                      forbidClick: true
-                  });
+                ElMessage({
+                    message: error.response.data.replace("\"","").replace("\"",""),
+                    type: "error",
+                    duration: 1500,
+                });
               }else {
-                  Toast({
-                      message: 'The request does not exist.',
-                      duration: 1500,
-                      forbidClick: true
-                  });
+                ElMessage({
+                    message: 'The request does not exist.',
+                    type: "error",
+                    duration: 1500,
+                });
               }
             break;
           case 400:
             console.log('error.response: ', error.response)
               if(error.response.data.detail){
-                  Toast({
-                      message: error.response.data.detail.replace("\"","").replace("\"",""),
-                      duration: 1500,
-                      forbidClick: true
-                  });
+                ElMessage({
+                    message: error.response.data.detail.replace("\"","").replace("\"",""),
+                    type: "error",
+                    duration: 1500,
+                });
               }else {
-                  Toast({
-                      message: 'The request parameter error',
-                      duration: 1500,
-                      forbidClick: true
-                  });
+                ElMessage({
+                    message: 'The request parameter error',
+                    type: "error",
+                    duration: 1500,
+                });
               }
             break;
           // other error
@@ -83,8 +95,9 @@ axios.interceptors.response.use(
               forbidClick: true
             });
         }
-        return Promise.reject(error.response);
+        return Promise.reject(error);
       }
+      return Promise.reject(error);
     }
 );
 
diff --git a/rootfs/web/src/views/AccessTokenList.js b/rootfs/web/src/views/AccessTokenList.js
deleted file mode 100644
index 2c64764..0000000
--- a/rootfs/web/src/views/AccessTokenList.js
+++ /dev/null
@@ -1,50 +0,0 @@
-import NavBar from "../components/NavBar.vue";
-import NavBox from "../components/NavBox.vue";
-import {onBeforeMount, reactive, toRefs} from 'vue'
-import MainNav from "../components/MainNav.vue";
-import AccessTokenDelete from "../components/AccessTokenDelete.vue"
-import {dealAccessTokenList, getAccessTokenList, deleteAccessToken} from "../services/tokens";
-
-export default {
-    name: "AccessTokenList",
-    components: {
-        'nav-bar': NavBar,
-        'nav-box': NavBox,
-        'main-nav': MainNav,
-        'access-token-delete': AccessTokenDelete
-    },
-    setup() {
-        const state = reactive({
-            tokens: [],
-            token: Object,
-            isShowDelete: false,
-        })
-
-        onBeforeMount(async () => {
-            await fetchAccessTokenList()
-        })
-
-        const fetchAccessTokenList = (async () => {
-            let res = await getAccessTokenList()
-            state.tokens = res.data ? dealAccessTokenList(res) : []
-        })
-
-        const showDelete = (index) => {
-            state.isShowDelete = true
-            state.token = state.tokens.slice(index, index + 1)[0];
-        }
-
-        const closeDelete = (param) => {
-            state.isShowDelete = false
-            if (param.hasAccessTokenDeleted) {
-                fetchAccessTokenList()
-            }
-        }
-
-        return {
-            ...toRefs(state),
-            showDelete,
-            closeDelete
-        }
-    },
-}
diff --git a/rootfs/web/src/views/AccessTokenList.vue b/rootfs/web/src/views/AccessTokenList.vue
index f754d50..0d2d46d 100644
--- a/rootfs/web/src/views/AccessTokenList.vue
+++ b/rootfs/web/src/views/AccessTokenList.vue
@@ -1,60 +1,170 @@
-<!--app列表页-->
+<!-- App list page -->
 <template>
+<div class="min-h-screen bg-slate-50 flex flex-col font-sans" :id="'vue-content-'+Math.random().toString(36).substring(2)">
     <nav-bar />
-    <div class="limit-width top-nav flex flex-column justify-center">
-        <div class="main-content">
-            <main-nav :is-access-token-active="true"/>
+    <main class="max-w-[1600px] w-full mx-auto p-6 flex flex-col lg:flex-row gap-6 flex-1">
+        <account-sidebar :is-access-token-active="true"  />
+        <section class="flex-1 flex flex-col">
             <access-token-delete ref="accessTokenDelete" v-if="isShowDelete"
               :token="token"
               @closeDelete="closeDelete"
             />
-            <div class="account-nav nav-tabs sub-nav ember-view" style="margin-top: 0px">
-                <table class="w-100">
-                    <tbody>
-                        <tr class="w-100 f5">
-                            <th class="pl1 pr1 pv2 bb b--light-gray b">
-                                application
-                            </th>
-                            <th class="pv2 pr1 bb b--light-gray b">
-                                token
-                            </th>
-                            <th class="pv2 pr1 bb b--light-gray b">
-                                created
-                            </th>
-                            <th class="pv2 pr1 bb b--light-gray b">
-                                expires
-                            </th>
-                            <th class="pv2 pr1 bb b--light-gray b">
-                            </th>
-                        </tr>
-                    <template v-for="(token, index) in tokens">
-                        <tr class="ember-view">
-                            <td class="bb b--light-silver pv2 pr1 gray">{{ token.application }}</td>
-                            <td class="bb b--light-silver pv2 pr1 gray">{{ token.token }}</td>
-                            <td class="bb b--light-silver pv2 pr1 gray">{{ token.created }}</td>
-                            <td class="bb b--light-silver pv2 pr1 gray">{{ token.expires }}</td>
-                            <td class="bb b--light-silver action-cell ember-view">
-                              <button @click="showDelete(index)" class="bg-transparent hk-focus-ring--blue:focus cursor-hand br1 ba0 b--none pa--1 mr2" title="Delete" type="button" >
-                                <span class="clip">Delete</span>
-                                <svg style="height: 16px; width: 16px;" class="icon malibu-icon fill-gray hover-fill-red" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="200" height="200"><path d="M574.55 522.35L904.4 192.5c16.65-16.65 16.65-44.1 0-60.75l-1.8-1.8c-16.65-16.65-44.1-16.65-60.75 0L512 460.25l-329.85-330.3c-16.65-16.65-44.1-16.65-60.75 0l-1.8 1.8c-17.1 16.65-17.1 44.1 0 60.75l329.85 329.85L119.6 852.2c-16.65 16.65-16.65 44.1 0 60.75l1.8 1.8c16.65 16.65 44.1 16.65 60.75 0L512 584.9l329.85 329.85c16.65 16.65 44.1 16.65 60.75 0l1.8-1.8c16.65-16.65 16.65-44.1 0-60.75L574.55 522.35z" ></path></svg>
-                              </button>
-                            </td>
-                        </tr>
-                    </template>
-                    </tbody>
-                </table>
+            
+            <!-- Table Card -->
+            <div class="bg-white rounded-lg shadow-sm border border-slate-200 overflow-hidden flex-1 flex flex-col min-h-[600px]">
+                <!-- Header -->
+                <div class="px-6 py-5 border-b border-slate-100 flex flex-col sm:flex-row sm:items-center justify-between gap-4">
+                    <div>
+                        <h2 class="text-lg font-medium text-slate-800">Access Tokens</h2>
+                        <p class="text-sm text-slate-500 mt-1">Generate and manage API tokens to authenticate with third-party integrations.</p>
+                    </div>
+                </div>
+
+                <!-- Table Content -->
+                <div class="w-full overflow-x-auto">
+                    <table class="w-full text-left text-sm text-slate-600">
+                        <thead class="bg-slate-50/50 border-b border-slate-200 text-slate-500 text-xs tracking-wider font-medium">
+                            <tr>
+                                <th class="px-6 py-4">Application</th>
+                                <th class="px-6 py-4">Token</th>
+                                <th class="px-6 py-4">Created</th>
+                                <th class="px-6 py-4">Expires</th>
+                                <th class="px-6 py-4 text-right w-16"></th>
+                            </tr>
+                        </thead>
+                        <tbody class="divide-y divide-slate-100">
+                            <tr v-for="(token, index) in tokens" :key="index" class="hover:bg-primary-50 transition-colors">
+                                <td class="px-6 py-4 font-medium text-slate-800">{{ token.application }}</td>
+                                <td class="px-6 py-4 font-mono text-xs text-slate-500 break-all">{{ token.token }}</td>
+                                <td class="px-6 py-4 whitespace-nowrap">{{ token.created }}</td>
+                                <td class="px-6 py-4 whitespace-nowrap">{{ token.expires }}</td>
+                                <td class="px-6 py-4 text-right whitespace-nowrap">
+                                  <button @click="showDelete(index)" class="text-slate-400 hover:text-red-600 hover:bg-red-50 p-2 rounded-md transition-colors" title="Delete token">
+                                    <Trash2 class="w-4 h-4" />
+                                  </button>
+                                </td>
+                            </tr>
+                            <tr v-if="!tokens || tokens.length === 0">
+                                <td colspan="5" class="px-6 py-16">
+                                    <div class="flex flex-col items-center justify-center text-center">
+                                        <div class="w-16 h-16 bg-slate-50 border border-slate-100 rounded-full flex items-center justify-center mb-4">
+                                            <div class="w-10 h-10 border border-slate-200 bg-white rounded-full flex items-center justify-center shadow-sm">
+                                                <div class="w-4 h-[2px] bg-slate-300 rounded-full"></div>
+                                            </div>
+                                        </div>
+                                        <h3 class="text-lg font-medium text-slate-800 mb-1">No access tokens</h3>
+                                        <p class="text-sm text-slate-500 max-w-sm">You haven't generated any access tokens yet. Create one via Drycc CLI to authenticate API requests.</p>
+                                    </div>
+                                </td>
+                            </tr>
+                        </tbody>
+                    </table>
+                </div>
+            </div>
+        </section>
+
+        <!-- Right Sidebar (Token Info & Help) -->
+        <aside class="hidden xl:flex flex-col w-[280px] flex-shrink-0 gap-5">
+            <!-- About Tokens -->
+            <div class="bg-white rounded border border-slate-200 overflow-hidden">
+                <div class="px-5 py-3.5 border-b border-slate-100 bg-white">
+                    <h3 class="text-[13px] font-semibold text-slate-700">Security Guidance</h3>
+                </div>
+                <div class="p-5">
+                    <p class="text-[12px] text-slate-500 leading-relaxed mb-4">
+                        Treat your tokens like passwords. Never share them or hardcode them directly into your application source code.
+                    </p>
+                   <a href="https://oauth.net/security/" target="_blank" class="text-[12px] font-medium text-primary hover:text-primary-600 flex items-center gap-1 transition-colors">
+                        Learn more about SSO
+                    </a>
+                </div>
             </div>
-        </div>
-    </div>
+
+            <!-- Need Help? -->
+            <div class="bg-white rounded border border-slate-200 overflow-hidden">
+                <div class="px-5 py-3.5 border-b border-slate-100 bg-white">
+                    <h3 class="text-[13px] font-semibold text-slate-700">Need Help?</h3>
+                </div>
+                <div class="p-0">
+                    <ul class="divide-y divide-slate-100">
+                        <li>
+                            <a href="https://www.drycc.cc" target="_blank" rel="noopener noreferrer" class="px-5 py-3 text-[12px] text-slate-600 hover:text-slate-900 hover:bg-slate-50 flex items-center justify-between transition-colors w-full">
+                                <span>API Documentation</span>
+                                <i data-lucide="external-link" class="w-3.5 h-3.5 text-slate-400"></i>
+                            </a>
+                        </li>
+                        <li>
+                            <a href="https://drycc.slack.com/" target="_blank" rel="noopener noreferrer" class="px-5 py-3 text-[12px] text-slate-600 hover:text-slate-900 hover:bg-slate-50 flex items-center justify-between transition-colors w-full">
+                                <span>Community Support</span>
+                                <i data-lucide="external-link" class="w-3.5 h-3.5 text-slate-400"></i>
+                            </a>
+                        </li>
+                    </ul>
+                </div>
+            </div>
+        </aside>
+    </main>
+    <main-footer />
+</div>
 </template>
 
-<script>
-import AccessTokenList from  "./AccessTokenList"
-export default AccessTokenList
+<script lang="ts">
+import NavBar from "../components/NavBar.vue";
+import {onBeforeMount, reactive, toRefs} from 'vue'
+import AccountSidebar from "../components/AccountSidebar.vue";
+import MainFooter from "../components/MainFooter.vue";
+import AccessTokenDelete from "../components/AccessTokenDelete.vue"
+import { Trash2 } from "lucide-vue-next"
+
+import {dealAccessTokenList, getAccessTokenList, deleteAccessToken} from "../services/tokens";
+
+export default {
+    name: "AccessTokenList",
+    components: {
+        'nav-bar': NavBar,
+        'account-sidebar': AccountSidebar,
+        'main-footer': MainFooter,
+        'access-token-delete': AccessTokenDelete,
+        Trash2
+    },
+    setup() {
+        const state = reactive({
+            tokens: [],
+            token: Object,
+            isShowDelete: false,
+        })
+
+        onBeforeMount(async () => {
+            await fetchAccessTokenList()
+        })
+
+        const fetchAccessTokenList = (async () => {
+            let res = await getAccessTokenList()
+            state.tokens = res.data ? dealAccessTokenList(res) : []
+        })
+
+        const showDelete = (index) => {
+            state.isShowDelete = true
+            state.token = state.tokens.slice(index, index + 1)[0];
+        }
+
+        const closeDelete = (param) => {
+            state.isShowDelete = false
+            if (param.hasAccessTokenDeleted) {
+                fetchAccessTokenList()
+            }
+        }
+
+        return {
+            ...toRefs(state),
+            showDelete,
+            closeDelete
+        }
+    },
+}
+
 </script>
 
 <style scoped>
-    .pr1 {
-        padding-right: 15px;
-    }
+/* Styles removed in favor of Tailwind CSS framework classes */
 </style>
diff --git a/rootfs/web/src/views/AccountSetting.js b/rootfs/web/src/views/AccountSetting.js
deleted file mode 100644
index 483d7e1..0000000
--- a/rootfs/web/src/views/AccountSetting.js
+++ /dev/null
@@ -1,149 +0,0 @@
-import NavBar from "../components/NavBar.vue";
-import NavBox from "../components/NavBox.vue";
-import {onBeforeMount, reactive, toRefs} from 'vue'
-import MainNav from "../components/MainNav.vue";
-import { useRouter } from 'vue-router'
-import { putAccount, putAccountPassword } from "../services/user";
-import { Toast } from "vant"
-
-export default {
-    name: "AccountSetting",
-    components: {
-        'nav-bar': NavBar,
-        'nav-box': NavBox,
-        'main-nav': MainNav,
-    },
-    setup() {
-        const showBTN = "flex items-center mb2"
-        const hiddenBTN = "flex items-center mb2 clip"
-        const hiddenUpdateBTN = "async-button default hk-button--disabled-primary ember-view"
-        const showUpdateBTN = "async-button default hk-button--primary ember-view"
-
-        var currentPassword, newPassword, confirmNewPassword
-
-        const router = useRouter()
-        const state = reactive({
-            user: Object,
-            originUser: Object,
-            emailBTN: hiddenBTN,
-            nameBTN: hiddenBTN,
-            updateBTN: hiddenUpdateBTN
-        })
-
-        onBeforeMount(async () => {
-            state.user = JSON.parse(sessionStorage.getItem('user'))
-            state.originUser = JSON.parse(sessionStorage.getItem('user'))
-        })
-
-        const updateUser = () => {
-            sessionStorage.setItem('user', JSON.stringify(state.user))
-            state.originUser = state.user
-        }
-
-        const emailInputChage = (event) => {
-            let newEmail = event.currentTarget.value
-            if (newEmail != state.originUser.email) {
-                state.emailBTN = showBTN
-            } else {
-                state.emailBTN = hiddenBTN
-            }
-            state.user.email = newEmail
-        }
-
-        const nameInputChage = (event) => {
-            let newName = event.currentTarget.value
-            if (newName != state.originUser.username) {
-                state.nameBTN = showBTN
-            } else {
-                state.nameBTN = hiddenBTN
-            }
-            state.user.username = newName
-        }
-
-        const currentPasswordChage = (event) => {
-            currentPassword = event.currentTarget.value
-            if (currentPassword && newPassword && confirmNewPassword) {
-                state.updateBTN = showUpdateBTN
-            } else {
-                state.updateBTN = hiddenUpdateBTN
-            }
-        }
-        const newPasswordChage = (event) => {
-            newPassword = event.currentTarget.value
-            if (currentPassword && newPassword && confirmNewPassword) {
-                state.updateBTN = showUpdateBTN
-            } else {
-                state.updateBTN = hiddenUpdateBTN
-            }
-        }
-        const confirmNewPasswordChage = (event) => {
-            confirmNewPassword = event.currentTarget.value
-            if (currentPassword && newPassword && confirmNewPassword) {
-                state.updateBTN = showUpdateBTN
-            } else {
-                state.updateBTN = hiddenUpdateBTN
-            }
-        }
-        const submitEmail = () => {
-            var re = /^[a-z0-9][\w\.\-]*@[a-z0-9\-]+(\.[a-z]{2,5}){1,2}$/;
-            if(!re.test(state.user.email)) {
-                Toast.fail("this email is not valid.")
-            } else {
-                putAccount({email: state.user.email}).then(res=>{
-                if (res.status == 204) {
-                    updateUser()
-                    state.emailBTN = hiddenBTN
-                }
-            })
-            }
-        }
-
-        const submitName = () => {
-            putAccount({username: state.user.username}).then(res=>{
-                if (res.status == 204) {
-                    updateUser()
-                    state.nameBTN = hiddenBTN
-                }
-            })
-        }
-
-        const submitPassowrd = () => {
-            if (currentPassword == newPassword){
-                Toast.fail("Current Password and New Password are the same.")
-            } else if( newPassword.length >= 8){
-                Toast.fail("this New Password is not valid.")
-            } else if (newPassword != confirmNewPassword){
-                Toast.fail("New Password Confirm and New Password are different.")
-            }else {
-                putAccountPassword({password: currentPassword, new_password: newPassword}).then(res=>{
-                if (res.status == 204) {
-                    router.push({ path: `/` })
-                }
-            })
-            }
-        }
-
-        const cancelEmail = () => {
-            state.emailBTN = hiddenBTN
-            state.user.email = state.originUser.email
-        }
-
-        const cancelName = () => {
-            state.nameBTN = hiddenBTN
-            state.user.username = state.originUser.username
-        }
-        return {
-            ...toRefs(state),
-            emailInputChage,
-            nameInputChage,
-            submitEmail,
-            cancelEmail,
-            submitName,
-            cancelName,
-            currentPasswordChage,
-            newPasswordChage,
-            confirmNewPasswordChage,
-            submitPassowrd
-        }
-    },
-}
diff --git a/rootfs/web/src/views/AccountSetting.vue b/rootfs/web/src/views/AccountSetting.vue
index aaf5058..2c579f1 100644
--- a/rootfs/web/src/views/AccountSetting.vue
+++ b/rootfs/web/src/views/AccountSetting.vue
@@ -1,149 +1,558 @@
-<!--app列表页-->
+<!-- App list page -->
 <template>
-    <nav-bar />
-    <div class="limit-width top-nav flex flex-column justify-center">
-        <div class="main-content">
-            <main-nav :is-account-setting-active="true"/>
-        <ul>
-            <li id="profile">
-                <div class="panel-section ">
-                    <div class="section-description">
-                        <div class="section-title f3 purple" role="heading" aria-level="3">
+<div class="min-h-screen bg-slate-50 flex flex-col font-sans" :id="'vue-content-'+Math.random().toString(36).substring(2)">
+    <nav-bar :user="user" />
+    <main class="max-w-[1600px] w-full mx-auto p-6 flex flex-col lg:flex-row gap-6 flex-1">
+        <account-sidebar :is-account-setting-active="true"  />
+        <section class="flex-1 flex flex-col">
+        <div class="bg-white rounded-lg shadow-sm border border-slate-200 overflow-hidden flex-1 flex flex-col min-h-[600px]">
+            <!-- Header -->
+            <div class="px-6 py-5 border-b border-slate-100 flex flex-col sm:flex-row sm:items-center justify-between gap-4">
+                <div>
+                    <h2 class="text-lg font-medium text-slate-800">Account Settings</h2>
+                    <p class="text-sm text-slate-500 mt-1">Manage your personal information, security settings, and linked accounts.</p>
+                </div>
+            </div>
+            <div class="flex flex-col w-full divide-y divide-slate-100">
+            <div>
+                <div class="p-6 sm:p-8 flex flex-col md:flex-row gap-8">
+                    <div class="md:w-1/3 flex-shrink-0">
+                        <h3 class="text-base font-medium text-slate-800 mb-1">
                             Profile
-                        </div>
-                        <div class="mt2 f5 lh-copy dark-gray">
-                            Your name or email address is your identity on Drycc and is used to log in.
-                        </div>
+                        </h3>
+                        <p class="text-sm text-slate-500 leading-relaxed md:pr-4">
+                            Manage your basic account details. Your username is your unique identity on the platform.
+                        </p>
                     </div>
 
-                    <div class="panel-content">
-                        <div class="avatar">
-                        </div>
-                        <div class="edit-first">
-                            <div id="ember26" class="ember-view">
-                                <div id="ember27" class="ember-view">
-                                    <form role="form">
-                                        <label class="hk-label db mb2"
-                                               for="new-e-mail">Email
-                                            Address</label>
-                                        <div class="flex flex-column flex-row-ns items-center-ns w-100">
-                                            <input autocomplete="off" placeholder="Your email address" @input="emailInputChage($event)"  id="new-e-mail" :value=user.email
-                                                   class="mr2 mb2 w-100 mw6 ember-text-field hk-input ember-view"
-                                                   type="text">
-
-                                            <div :class=emailBTN data-test-target="hk-inline-buttons">
-                                                <button id="ember28" class="mr1 async-button default hk-button--primary ember-view" @click="submitEmail()"
-                                                        type="button"> Save
-                                                </button>
-                                                <button id="ember29" class="async-button default hk-button--secondary ember-view" @click="cancelEmail()"
-                                                        type="button"> Cancel
-                                                </button>
-                                            </div>
+                    <div class="md:w-2/3 flex-grow max-w-2xl">
+                        
+                        <div class="">
+                            <div class="space-y-5">
+                                <div>
+                                    <div>
+                                        <label class="block text-[13px] font-medium text-slate-700 mb-1.5" for="name">Username
+                                        </label>
+                                        <div class="flex items-center gap-3">
+                                            <input autocomplete="off" placeholder="Your name"  id="username" :value="user.username"
+                                                    class="flex-1 px-3 py-2 text-[13px] text-slate-700 bg-white border border-slate-300 rounded-md focus:outline-none focus:ring-2 focus:ring-primary-500/20 focus:border-primary-500 transition-colors disabled:bg-slate-50 disabled:text-slate-500"
+                                                    disabled
+                                                    type="text">
                                         </div>
-                                        <div style="display: none" class="email_error">提示信息</div>
-                                    </form>
+                                    </div>
                                 </div>
-                                <span id="ember30" class="confirmable-action ember-view"> </span>
-                            </div>
-                            <div id="ember32" class="ember-view">
-                                <div id="ember33" class="ember-view">
-                                    <form role="form">
-                                        <label class="hk-label db mb2" for="name">Name
-                                        </label>
-                                        <div class="flex flex-column flex-row-ns items-center-ns w-100">
-                                            <input autocomplete="off" placeholder="Your name" @input="nameInputChage($event)" id="name" :value=user.username
-                                                   class="mr2 mb2 w-100 mw6 ember-text-field hk-input ember-view"
-                                                   type="text">
-                                            <div :class=nameBTN data-test-target="hk-inline-buttons">
-                                                <button id="ember34"
-                                                        class="mr1 async-button default hk-button--primary ember-view" @click="submitName()"
-                                                        type="button"> Save
-                                                </button>
-                                                <button id="ember35"
-                                                        class="async-button default hk-button--secondary ember-view" @click="cancelName()"
-                                                        type="button"> Cancel
-                                                </button>
+                                <div>
+                                    <div>
+                                        <form role="form">
+                                            <label class="block text-[13px] font-medium text-slate-700 mb-1.5"
+                                                   for="new-e-mail">Email
+                                                Address</label>
+                                            <div class="flex items-center gap-3">
+                                                <input autocomplete="off" placeholder="Your email address" @input="emailInputChange($event)"  id="new-e-mail" :value=user.email
+                                                       class="flex-1 px-3 py-2 text-[13px] text-slate-700 bg-white border border-slate-300 rounded-md focus:outline-none focus:ring-2 focus:ring-primary-500/20 focus:border-primary-500 transition-colors disabled:bg-slate-50 disabled:text-slate-500"
+                                                       type="text">
+
+                                                
                                             </div>
+                                            <div style="display: none" class="text-red-500 text-[13px] mt-1">提示信息</div>
+                                        </form>
+                                    </div>
+                                    <span class="confirmable-action"> </span>
+                                </div>
+                                <div>
+                                    <div>
+                                        <form role="form">
+                                            <label class="block text-[13px] font-medium text-slate-700 mb-1.5" for="first-name">First Name
+                                            </label>
+                                            <div class="flex items-center gap-3">
+                                                <input autocomplete="off" placeholder="Your first name" @input="firstNameInputChange($event)" id="first-name" :value=user.first_name
+                                                       class="flex-1 px-3 py-2 text-[13px] text-slate-700 bg-white border border-slate-300 rounded-md focus:outline-none focus:ring-2 focus:ring-primary-500/20 focus:border-primary-500 transition-colors disabled:bg-slate-50 disabled:text-slate-500"
+                                                       type="text">
+                                                
+                                            </div>
+                                        </form>
+                                    </div>
+                                </div>
+                                <div>
+                                    <div>
+                                        <form role="form">
+                                            <label class="block text-[13px] font-medium text-slate-700 mb-1.5" for="last-name">Last Name
+                                            </label>
+                                            <div class="flex items-center gap-3">
+                                                <input autocomplete="off" placeholder="Your last name" @input="lastNameInputChange($event)" id="last-name" :value=user.last_name
+                                                       class="flex-1 px-3 py-2 text-[13px] text-slate-700 bg-white border border-slate-300 rounded-md focus:outline-none focus:ring-2 focus:ring-primary-500/20 focus:border-primary-500 transition-colors disabled:bg-slate-50 disabled:text-slate-500"
+                                                       type="text">
+                                                
+                                            </div>
+                                        </form>
+                                    </div>
+                                </div>
+
+                                <!-- Email Confirmation Notice -->
+                                <transition
+                                    enter-active-class="transition duration-300 ease-out"
+                                    enter-from-class="transform -translate-y-2 opacity-0"
+                                    enter-to-class="transform translate-y-0 opacity-100"
+                                    leave-active-class="transition duration-200 ease-in"
+                                    leave-from-class="transform translate-y-0 opacity-100"
+                                    leave-to-class="transform -translate-y-2 opacity-0"
+                                >
+                                    <div v-if="isProfileChanged" class="flex items-start gap-3 p-3.5 bg-primary-50/50 border border-primary-100/60 rounded-lg">
+                                        <div class="mt-0.5 flex-shrink-0 bg-white p-1.5 rounded-md shadow-sm border border-primary-100/50">
+                                            <svg class="w-4 h-4 text-primary-500" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
+                                                <rect width="20" height="16" x="2" y="4" rx="2"></rect>
+                                                <path d="m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7"></path>
+                                            </svg>
+                                        </div>
+                                        <div>
+                                            <h4 class="text-[13px] font-medium text-primary-900">Email Confirmation Required</h4>
+                                            <p class="text-[12.5px] text-primary-700/80 mt-0.5 leading-relaxed">
+                                                To secure your account, a verification link will be sent to your email upon updating.
+                                            </p>
                                         </div>
-                                    </form>
+                                    </div>
+                                </transition>
+
+                                <div class="flex items-center justify-end mt-6">
+                                    <button class="inline-flex items-center justify-center px-4 py-2 text-sm font-medium text-white bg-primary rounded-md hover:bg-primary-600 transition-colors disabled:opacity-50 disabled:cursor-not-allowed shadow-sm" :disabled="!isProfileChanged" @click="submitProfile()" type="button">
+                                        Update Profile
+                                    </button>
                                 </div>
                             </div>
                         </div>
-
                     </div>
                 </div>
-            </li>
-            <li id="password" style="padding-top: 40px;margin-top: 40px; border-top: 1px solid #e7ebf3;">
-                <div class="panel-section ">
-                    <div class="section-description">
-                        <div class="section-title f3 purple" role="heading" aria-level="3">
+            </div>
+            <div>
+                <div class="p-6 sm:p-8 flex flex-col md:flex-row gap-8">
+                    <div class="md:w-1/3 flex-shrink-0">
+                        <h3 class="text-base font-medium text-slate-800 mb-1">
                             Password
-                        </div>
+                        </h3>
 
-                        <div class="mt2 f5 lh-copy dark-gray">
-                            Change the password here.
-                        </div>
+                        <p class="text-sm text-slate-500 leading-relaxed md:pr-4">
+                            Ensure your account is using a secure password to stay protected.
+                        </p>
                     </div>
 
-                    <div class="panel-content">
-                        <div id="ember36" class="ember-view">
-                            <div class="edit-first edit-password">
-                                <form role="form" method="POST">
-                                    <div class="form-group current-password-field">
-                                        <label for="current-password">Current Password</label>
-                                        <input name="password" @input="currentPasswordChage($event)"
+                    <div class="md:w-2/3 flex-grow max-w-2xl">
+                        <div>
+                            <div class="">
+                            <div class="space-y-5 ui-form-grid--password">
+                                <form role="form" method="POST" class="ui-password-form space-y-5">
+                                    <div>
+                                        <label class="block text-sm font-medium text-slate-700 mb-1.5" for="current-password">Current Password</label>
+                                        <input name="password" @input="currentPasswordChange($event)"
                                                placeholder="enter your current password"
                                                id="current-password"
-                                               class="form-control ember-text-field ember-view"
+                                               class="w-full px-3 py-2 text-sm text-slate-700 bg-white border border-slate-300 rounded-md focus:outline-none focus:ring-2 focus:ring-primary-500/20 focus:border-primary-500 transition-colors disabled:bg-slate-50 disabled:text-slate-500"
                                                type="password">
                                     </div>
 
-                                    <div class="form-group">
-                                        <label for="new-password">New
+                                    <div>
+                                        <label class="block text-sm font-medium text-slate-700 mb-1.5" for="new-password">New
                                             Password</label>
-                                        <input placeholder="enter a new password" @input="newPasswordChage($event)"
+                                        <input placeholder="enter a new password" @input="newPasswordChange($event)"
                                                id="new-password"
-                                               class="form-control ember-text-field ember-view"
+                                               class="w-full px-3 py-2 text-sm text-slate-700 bg-white border border-slate-300 rounded-md focus:outline-none focus:ring-2 focus:ring-primary-500/20 focus:border-primary-500 transition-colors disabled:bg-slate-50 disabled:text-slate-500"
                                                type="password">
-                                        <p class="f5 dark-gray pt2">
+                                        <p class="text-[13px] text-slate-500 mt-1">
                                             Password must be 8 or more characters.
                                         </p>
                                     </div>
 
-                                    <div class="form-group">
-                                        <label for="confirm-new-password">Confirm
+                                    <div>
+                                        <label class="block text-sm font-medium text-slate-700 mb-1.5" for="confirm-new-password">Confirm
                                             New Password</label>
-                                        <input placeholder="enter the password again"  @input="confirmNewPasswordChage($event)"
+                                        <input placeholder="enter the password again"  @input="confirmNewPasswordChange($event)"
                                                id="confirm-new-password"
-                                               class="form-control ember-text-field ember-view"
+                                               class="w-full px-3 py-2 text-sm text-slate-700 bg-white border border-slate-300 rounded-md focus:outline-none focus:ring-2 focus:ring-primary-500/20 focus:border-primary-500 transition-colors disabled:bg-slate-50 disabled:text-slate-500"
+                                               :class="{ 'border-red-300 focus:border-red-500 focus:ring-red-500/20': passwordMismatch }"
                                                type="password">
+                                        <p v-if="passwordMismatch" class="text-[13px] text-red-500 mt-1">
+                                            Passwords do not match.
+                                        </p>
                                     </div>
-
-                                    <div class="form-group">
-                                        <button id="ember37" @click="submitPassowrd()"
-                                                :class=updateBTN
-                                                type="button">
-                                            Update Password
+                                    <div class="flex justify-end mt-6">
+                                        <button class="inline-flex items-center justify-center px-4 py-2 text-sm font-medium text-white bg-primary rounded-md hover:bg-primary-600 transition-colors disabled:opacity-50 disabled:cursor-not-allowed shadow-sm" :disabled="!isPasswordFormValid" @click="submitPassowrd()" type="button">
+                                            Update Passwd
                                         </button>
                                     </div>
                                 </form>
                             </div>
+                            </div>
+                        </div>
+                    </div>
+                </div>
+            </div>
+            <div>
+                <div class="p-6 sm:p-8 flex flex-col md:flex-row gap-8">
+                    <div class="md:w-1/3 flex-shrink-0">
+                        <h3 class="text-base font-medium text-slate-800 mb-1">
+                            Linked SSO
+                        </h3>
+                        <p class="text-sm text-slate-500 leading-relaxed md:pr-4">
+                            Manage linked OAuth identities for faster single sign-on access.
+                        </p>
+                    </div>
+                    <div class="md:w-2/3 flex-grow max-w-2xl">
+                        <div class="ui-identities-table-wrap">
+                            <div class="w-full border border-slate-200 rounded-md shadow-sm overflow-hidden bg-white">
+                                <ul class="divide-y divide-slate-100">
+                                    <li v-for="scope in identities" :key="scope.email" class="flex flex-col sm:flex-row sm:items-center justify-between p-4 sm:p-5 hover:bg-slate-50 transition-colors gap-4">
+                                        <div class="flex items-center gap-4">
+                                            <div class="w-10 h-10 rounded-full bg-slate-100 border border-slate-200 flex items-center justify-center flex-shrink-0">
+                                                <template v-if="getProviderIcon(scope.provider)">
+                                                    <span class="w-5 h-5 flex items-center justify-center [&>svg]:w-full [&>svg]:h-full" v-html="getProviderIcon(scope.provider)"></span>
+                                                </template>
+                                                <template v-else-if="scope.provider === 'github'">
+                                                    <i data-lucide="github" class="w-5 h-5 text-slate-700"></i>
+                                                </template>
+                                                <template v-else-if="scope.provider === 'gitlab'">
+                                                    <i data-lucide="gitlab" class="w-5 h-5 text-orange-600"></i>
+                                                </template>
+                                                <template v-else-if="scope.provider === 'gitee'">
+                                                    <i data-lucide="git-merge" class="w-5 h-5 text-red-600"></i>
+                                                </template>
+                                                <template v-else>
+                                                    <span class="font-bold text-slate-400">{{ scope.provider.charAt(0).toUpperCase() }}</span>
+                                                </template>
+                                            </div>
+                                            <div class="flex flex-col">
+                                                <span class="font-medium text-[14px] text-slate-800">
+                                                    <template v-if="scope.provider === 'github'">GitHub</template>
+                                                    <template v-else-if="scope.provider === 'gitlab'">GitLab</template>
+                                                    <template v-else-if="scope.provider === 'gitee'">Gitee</template>
+                                                    <template v-else>{{ scope.provider.charAt(0).toUpperCase() + scope.provider.slice(1) }}</template>
+                                                </span>
+                                                <span class="text-[13px] text-slate-500 mt-0.5">{{ scope.email }}</span>
+                                            </div>
+                                        </div>
+                                        <button class="text-red-500 hover:text-red-700 hover:bg-red-50 px-3 py-1.5 rounded-md text-[13px] font-medium transition-colors border border-transparent hover:border-red-200 w-full sm:w-auto" @click="handleUnlink(scope)">
+                                            Unlink Identity
+                                        </button>
+                                    </li>
+                                    <li v-if="!identities || identities.length === 0">
+                                        <div class="px-6 py-10 flex flex-col items-center justify-center text-center">
+                                            <div class="w-12 h-12 bg-slate-50 border border-slate-100 rounded-full flex items-center justify-center mb-3">
+                                                <i data-lucide="link-2" class="w-5 h-5 text-slate-400"></i>
+                                            </div>
+                                            <p class="text-[14px] font-medium text-slate-700">No linked SSO accounts</p>
+                                            <p class="text-[13px] text-slate-500 mt-1">You haven't linked any third-party accounts yet.</p>
+                                        </div>
+                                    </li>
+                                </ul>
+                            </div>
+                        </div>
+                    </div>
+                </div>
+            </div>
+            <div>
+                <div class="p-6 sm:p-8 flex flex-col md:flex-row gap-8">
+                    <div class="md:w-1/3 flex-shrink-0">
+                        <h3 class="text-base font-medium text-slate-800 mb-1">
+                            Link New SSO
+                        </h3>
+                        <p class="text-sm text-slate-500 leading-relaxed md:pr-4">
+                            Choose a provider to link a new OAuth identity.
+                        </p>
+                    </div>
+                    <div class="md:w-2/3 flex-grow max-w-2xl">
+                        <div v-if="providers.length === 0" class="ui-left-align">
+                            
+                        </div>
+                        <div v-else class="ui-sso-providers-wrap">
+                            <div class="flex flex-wrap gap-3 ui-sso-providers-list">
+                                <button class="inline-flex items-center justify-center gap-2 bg-white border border-slate-200 hover:border-slate-300 hover:bg-slate-50 hover:text-slate-900 text-slate-700 rounded-md py-2 px-4 shadow-sm transition-all focus:outline-none focus:ring-2 focus:ring-slate-200 text-[13px] font-medium"
+                                    v-for="provider in providers"
+                                    :key="provider.name"
+                                    @click.prevent="handleLink(provider)"
+                                >
+                                    <span class="w-4 h-4 flex items-center justify-center [&>svg]:w-full [&>svg]:h-full" v-html="provider.icon"></span>
+                                    <span>Link {{ provider.name.charAt(0).toUpperCase() + provider.name.slice(1) }}</span>
+                                </button>
+                            </div>
                         </div>
                     </div>
                 </div>
-            </li>
-        </ul>
-      </div>
-  </div>
+            </div>
+            </div> <!-- Close flex flex-col w-full divide-y -->
+        </div> <!-- Close bg-white rounded-lg -->
+        </section>
+
+        <!-- Right Sidebar (Profile & Help) -->
+        <aside class="hidden xl:flex flex-col w-[280px] flex-shrink-0 gap-5">
+            <!-- SSO & Security Guide -->
+            <div class="bg-white rounded border border-slate-200 overflow-hidden">
+                <div class="px-5 py-3.5 border-b border-slate-100 bg-white">
+                    <h3 class="text-[13px] font-semibold text-slate-700">Security Guidance</h3>
+                </div>
+                <div class="p-5">
+                    <p class="text-[12px] text-slate-500 leading-relaxed mb-4">
+                        Link your third-party OAuth accounts to enable seamless one-click sign-in and ensure account recovery access.
+                    </p>
+                    <a href="https://oauth.net" target="_blank" class="text-[12px] font-medium text-primary hover:text-primary-600 flex items-center gap-1 transition-colors">
+                        Learn more about SSO
+                    </a>
+                </div>
+            </div>
+            
+            <!-- Extra Documentation Link -->
+            <div class="bg-white rounded border border-slate-200 overflow-hidden">
+                <div class="px-5 py-3.5 border-b border-slate-100 bg-white">
+                    <h3 class="text-[13px] font-semibold text-slate-700">Need Help?</h3>
+                </div>
+                <div class="p-0">
+                    <ul class="divide-y divide-slate-100">
+                        <li>
+                            <a href="https://www.drycc.cc" target="_blank" rel="noopener noreferrer" class="px-5 py-3 text-[12px] text-slate-600 hover:text-slate-900 hover:bg-slate-50 flex items-center justify-between transition-colors w-full">
+                                <span>API Documentation</span>
+                                <i data-lucide="external-link" class="w-3.5 h-3.5 text-slate-400"></i>
+                            </a>
+                        </li>
+                        <li>
+                            <a href="https://drycc.slack.com/" target="_blank" rel="noopener noreferrer" class="px-5 py-3 text-[12px] text-slate-600 hover:text-slate-900 hover:bg-slate-50 flex items-center justify-between transition-colors w-full">
+                                <span>Community Support</span>
+                                <i data-lucide="external-link" class="w-3.5 h-3.5 text-slate-400"></i>
+                            </a>
+                        </li>
+                    </ul>
+                </div>
+            </div>
+        </aside>
+    </main>
+    <main-footer />
+</div>
 </template>
+<style scoped></style>
+<script lang="ts">
+import NavBar from "../components/NavBar.vue";
+import {onMounted, reactive, toRefs, computed} from 'vue'
+import AccountSidebar from "../components/AccountSidebar.vue";
+import MainFooter from "../components/MainFooter.vue";
+import { useRouter } from 'vue-router'
+import { dealUser, getUser, putAccount, putAccountPassword } from "../services/user";
+const ElMessage = { success: alert, error: alert }
+import { getIdentityProviders, getLinkedIdentities, unlinkIdentity } from "../services/identities";
 
-<script>
-import AccountSetting from  "./AccountSetting"
-export default AccountSetting
-</script>
+export default {
+    name: "AccountSetting",
+    components: {
+        'nav-bar': NavBar,
+        'account-sidebar': AccountSidebar,
+        'main-footer': MainFooter,
+    },
+    setup() {
+        const showBTN = "ui-inline-actions"
+        const hiddenBTN = "ui-inline-actions is-hidden"
+
+        const router = useRouter()
+        const state = reactive({
+            user: {
+                username: null,
+                email: null,
+                first_name: null,
+                last_name: null
+            },
+            originUser: {
+                username: null,
+                email: null,
+                first_name: null,
+                last_name: null
+            },
+            passwords: {
+                current: '',
+                new: '',
+                confirm: ''
+            },
+            emailBTN: hiddenBTN,
+            nameBTN: hiddenBTN,
+            firstNameBTN: hiddenBTN,
+            lastNameBTN: hiddenBTN,
+            providers: [],
+            identities: [],
+            loading: false,
+        })
+
+        const isProfileChanged = computed(() => {
+            return state.user.email !== state.originUser.email || 
+                   state.user.first_name !== state.originUser.first_name || 
+                   state.user.last_name !== state.originUser.last_name;
+        })
+
+        const isPasswordFormValid = computed(() => {
+            return state.passwords.current && state.passwords.new && state.passwords.confirm;
+        })
 
-<style scoped>
-    .pr1 {
-        padding-right: 15px;
-    }
-</style>
+        const passwordMismatch = computed(() => {
+            if (!state.passwords.new || !state.passwords.confirm) return false;
+            return state.passwords.new !== state.passwords.confirm;
+        })
+
+        onMounted(async () => {
+            const res = await getUser()
+            const userData = dealUser(res)
+            state.user = { ...userData }
+            state.originUser = { ...userData }
+            await fetchProviders()
+            await fetchIdentities()
+        })
+
+        const fetchProviders = async () => {
+            state.loading = true
+            try {
+                const res = await getIdentityProviders()
+                state.providers = res.data?.results || []
+            } finally {
+                state.loading = false
+            }
+        }
+
+        const fetchIdentities = async () => {
+            state.loading = true
+            try {
+                const res = await getLinkedIdentities()
+                state.identities = res.data?.results || []
+            } finally {
+                state.loading = false
+            }
+        }
+
+        const handleLink = (provider) => {
+            if (!provider?.login_url) {
+                ElMessage.error("Provider login URL missing.")
+                return
+            }
+            window.location.href = provider.login_url
+        }
+
+        const handleUnlink = async (identity) => {
+            if (!identity?.id) {
+                return
+            }
+            await unlinkIdentity(identity.id)
+            ElMessage.success("Unlinked successfully.")
+            await fetchIdentities()
+        }
+
+        const updateUser = () => {
+            state.originUser = { ...state.user }
+        }
+
+        const emailInputChange = (event) => {
+            let newEmail = event.currentTarget.value
+            if (newEmail != state.originUser.email) {
+                state.emailBTN = showBTN
+            } else {
+                state.emailBTN = hiddenBTN
+            }
+            state.user.email = newEmail
+        }
+
+        const firstNameInputChange = (event) => {
+            let newFirstName = event.currentTarget.value
+            if (newFirstName != state.originUser.first_name) {
+                state.firstNameBTN = showBTN
+            } else {
+                state.firstNameBTN = hiddenBTN
+            }
+            state.user.first_name = newFirstName
+        }
+
+        const lastNameInputChange = (event) => {
+            let newLastName = event.currentTarget.value
+            if (newLastName != state.originUser.last_name) {
+                state.lastNameBTN = showBTN
+            } else {
+                state.lastNameBTN = hiddenBTN
+            }
+            state.user.last_name = newLastName
+        }
+
+        const currentPasswordChange = (event) => {
+            state.passwords.current = event.currentTarget.value
+        }
+        const newPasswordChange = (event) => {
+            state.passwords.new = event.currentTarget.value
+        }
+        const confirmNewPasswordChange = (event) => {
+            state.passwords.confirm = event.currentTarget.value
+        }
+        const submitProfile = () => {
+            var re = /^[a-z0-9][\w\.\-]*@[a-z0-9\-]+(\.[a-z]{2,5}){1,2}$/;
+            if(!re.test(state.user.email)) {
+                ElMessage.error("This email is not valid.")
+                return;
+            }
+            putAccount({
+              email: state.user.email,
+              first_name: state.user.first_name,
+              last_name: state.user.last_name
+            }).then(res=>{
+                if (res.status == 204) {
+                    updateUser()
+                    ElMessage.success("Profile updated successfully")
+                }
+            })
+        }
+
+        const submitPassowrd = () => {
+            if (state.passwords.current == state.passwords.new){
+                ElMessage.error("Current Password and New Password are the same.")
+            } else if( state.passwords.new.length < 8){
+                ElMessage.error("this New Password is not valid.")
+            } else if (state.passwords.new != state.passwords.confirm){
+                ElMessage.error("New Password Confirm and New Password are different.")
+            }else {
+                putAccountPassword({password: state.passwords.current, new_password: state.passwords.new}).then(res=>{
+                    if (res.status == 204) {
+                        router.push({ path: `/` })
+                    }
+                })
+            }
+        }
+
+        const cancelEmail = () => {
+            state.emailBTN = hiddenBTN
+            state.user.email = state.originUser.email
+        }
+
+        const cancelFirstName = () => {
+            state.firstNameBTN = hiddenBTN
+            state.user.first_name = state.originUser.first_name
+        }
+
+        const cancelLastName = () => {
+            state.lastNameBTN = hiddenBTN
+            state.user.last_name = state.originUser.last_name
+        }
+
+        const getProviderIcon = (providerName) => {
+            const provider = state.providers.find((p) => p.name === providerName)
+            if (provider) {
+                return provider.icon
+            }
+            return null
+        }
+
+        return {
+            getProviderIcon,
+            ...toRefs(state),
+            isProfileChanged,
+            isPasswordFormValid,
+            passwordMismatch,
+            emailInputChange,
+            firstNameInputChange,
+            lastNameInputChange,
+            submitProfile,
+            currentPasswordChange,
+            newPasswordChange,
+            confirmNewPasswordChange,
+            submitPassowrd,
+            handleLink,
+            handleUnlink
+        }
+    },
+}
+
+</script>
diff --git a/rootfs/web/src/views/MessageDetail.vue b/rootfs/web/src/views/MessageDetail.vue
new file mode 100644
index 0000000..74a91ef
--- /dev/null
+++ b/rootfs/web/src/views/MessageDetail.vue
@@ -0,0 +1,164 @@
+<script setup lang="ts">
+import { ref, onMounted, computed } from 'vue'
+import { useRoute, useRouter } from 'vue-router'
+import NavBar from '../components/NavBar.vue'
+import MessageSidebar from '../components/MessageSidebar.vue'
+import { ArrowLeft, Bell, ShieldAlert, Cpu, Activity, Info, AlertTriangle, AlertCircle, Clock, ChevronRight } from 'lucide-vue-next'
+import MessageRightSidebar from '../components/MessageRightSidebar.vue'
+import { getMessageDetail, dealMessageDetail } from '../services/messages'
+
+const route = useRoute()
+const router = useRouter()
+const messageId = route.params.id as string
+
+const message = ref<any>(null)
+const loading = ref(false)
+
+onMounted(async () => {
+    loading.value = true
+    try {
+        const res = await getMessageDetail(messageId)
+        message.value = dealMessageDetail(res)
+    } catch (e) {
+        console.error('Failed to fetch message detail', e)
+        message.value = {
+            id: messageId,
+            category: 'system',
+            title: 'Message Details',
+            fullContent: 'Failed to load message content.',
+            date: '',
+            severity: 'info'
+        }
+    } finally {
+        loading.value = false
+    }
+})
+
+// Custom parser: no external prose or brittle global CSS
+const parsedContent = computed(() => {
+    if (!message.value) return '';
+    let text = message.value.fullContent;
+    
+    // Parse basic HTML tag markup
+    text = text.replace(/<b>(.*?)<\/b>/g, '<strong class="font-semibold text-slate-800">$1</strong>');
+    text = text.replace(/<code>(.*?)<\/code>/g, '<code class="bg-rose-50 text-rose-600 px-1.5 py-0.5 rounded border border-rose-100/60 text-[0.85em] font-mono leading-none">$1</code>');
+    
+    const lines = text.split('\n');
+    let html = '';
+    let inList = false;
+    
+    lines.forEach((line) => {
+        const trimmed = line.trim();
+        if (trimmed.startsWith('•') || trimmed.startsWith('-')) {
+            if (!inList) {
+                // Start unordered list with proper vertical spacing
+                html += '<ul class="my-5 space-y-3.5">';
+                inList = true;
+            }
+            const liText = trimmed.substring(1).trim();
+            // Customize bullet styling and alignment
+            html += `<li class="flex items-start"><span class="mr-3 mt-2 inline-flex w-1.5 h-1.5 rounded-full bg-slate-300 flex-shrink-0"></span><span class="flex-1 leading-relaxed text-slate-600">${liText}</span></li>`;
+        } else {
+            if (inList) {
+                html += '</ul>';
+                inList = false;
+            }
+            if (trimmed === '') {
+                // Convert blank line to vertical spacing
+                html += '<div class="h-6"></div>'; 
+            } else {
+                // Regular paragraph
+                html += `<div class="mb-1 leading-relaxed text-slate-600">${trimmed}</div>`;
+            }
+        }
+    });
+    
+    if (inList) html += '</ul>';
+    return html;
+})
+
+const getCategoryIndicator = (category: string, severity: string) => {
+    const map: Record<string, any> = {
+        'system': { icon: Info, bg: 'bg-blue-50', text: 'text-blue-600', ring: 'ring-blue-50/50', badgeBg: 'bg-blue-50', badgeBorder: 'border-blue-100/60' },
+        'security': { icon: ShieldAlert, bg: 'bg-indigo-50', text: 'text-indigo-600', ring: 'ring-indigo-50/50', badgeBg: 'bg-indigo-50', badgeBorder: 'border-indigo-100/60' },
+        'alert': { icon: AlertTriangle, bg: 'bg-rose-50', text: 'text-rose-600', ring: 'ring-rose-50/50', badgeBg: 'bg-rose-50', badgeBorder: 'border-rose-100/60' },
+        'product': { icon: Cpu, bg: 'bg-emerald-50', text: 'text-emerald-600', ring: 'ring-emerald-50/50', badgeBg: 'bg-emerald-50', badgeBorder: 'border-emerald-100/60' },
+        'service': { icon: Activity, bg: 'bg-purple-50', text: 'text-purple-600', ring: 'ring-purple-50/50', badgeBg: 'bg-purple-50', badgeBorder: 'border-purple-100/60' }
+    }
+    if (severity === 'error') return { icon: AlertCircle, bg: 'bg-rose-50', text: 'text-rose-600', ring: 'ring-rose-50/50', badgeBg: 'bg-rose-50', badgeBorder: 'border-rose-100/60' }
+    if (severity === 'warning') return { icon: ShieldAlert, bg: 'bg-orange-50', text: 'text-orange-600', ring: 'ring-orange-50/50', badgeBg: 'bg-orange-50', badgeBorder: 'border-orange-100/60' } 
+    return map[category] || { icon: Bell, bg: 'bg-slate-100', text: 'text-slate-600', ring: 'ring-slate-50', badgeBg: 'bg-slate-50', badgeBorder: 'border-slate-200' }
+}
+</script>
+
+<template>
+<div class="min-h-screen bg-slate-50 flex flex-col font-sans">
+    <NavBar />
+    <main class="max-w-[1600px] w-full mx-auto p-6 flex flex-col lg:flex-row gap-6 flex-1">
+        <MessageSidebar />
+  <!-- Main content area -->
+  <section class="flex-1 flex flex-col w-full min-w-0">
+      <div v-if="message" class="bg-white rounded-lg shadow-sm border border-slate-200 min-h-[600px] flex flex-col flex-1 overflow-hidden">
+          
+          <!-- Navbar: minimal mode -->
+          <div class="px-6 py-4 flex items-center border-b border-slate-100 bg-slate-50/40">
+              <button @click="router.push('/messages')" class="inline-flex items-center text-sm font-medium text-slate-500 hover:text-slate-800 transition-colors focus:outline-none">
+                  <ArrowLeft class="w-4 h-4 mr-2 text-slate-400" />
+                  Back to Inbox
+              </button>
+          </div>
+
+          <!-- Header section: strong visual hierarchy -->
+          <div class="px-8 md:px-12 pt-10 pb-8 border-b border-slate-100/80">
+              <div class="flex items-start gap-4 md:gap-5">
+                  <!-- Category icon container -->
+                  <div class="w-12 h-12 rounded-full flex items-center justify-center flex-shrink-0 ring-4 mt-0.5" 
+                       :class="[getCategoryIndicator(message.category, message.severity).bg, getCategoryIndicator(message.category, message.severity).ring]">
+                      <component :is="getCategoryIndicator(message.category, message.severity).icon" class="w-6 h-6" 
+                                 :class="getCategoryIndicator(message.category, message.severity).text" />
+                  </div>
+                  
+                  <!-- Text details area -->
+                  <div class="flex-1 w-full min-w-0">
+                      <h1 class="text-xl md:text-[22px] font-bold text-slate-900 tracking-tight leading-tight mb-3">
+                          {{ message.title }}
+                      </h1>
+                      
+                      <div class="flex flex-wrap items-center gap-3 text-[11px] font-medium text-slate-500">
+                          <span class="inline-flex items-center px-2 py-0.5 rounded border uppercase tracking-wider font-semibold"
+                                :class="[getCategoryIndicator(message.category, message.severity).badgeBg, getCategoryIndicator(message.category, message.severity).badgeBorder, getCategoryIndicator(message.category, message.severity).text]">
+                              {{ message.category }}
+                          </span>
+                          <span class="flex items-center gap-1.5 opacity-80">
+                              <Clock class="w-3 h-3" />
+                              {{ message.date }}
+                          </span>
+                      </div>
+                  </div>
+              </div>
+          </div>
+
+          <!-- Content body -->
+          <div class="px-8 md:px-12 py-10 flex-1">
+              <div class="max-w-3xl">
+                  <!-- Message body (HTML rendered after parsing) -->
+                  <div class="text-[15px]" v-html="parsedContent"></div>
+
+                  <!-- Action button (flows naturally after body) -->
+                  <div v-if="message.actionLink" class="mt-12">
+                      <a :href="message.actionLink" target="_blank" class="inline-flex items-center justify-center gap-2 px-5 py-2.5 bg-primary hover:bg-primary-600 text-white text-sm font-semibold rounded-lg shadow-sm transition-all focus:outline-none">
+                          {{ message.actionText }}
+                          <ChevronRight class="w-4 h-4 opacity-80" />
+                      </a>
+                  </div>
+              </div>
+          </div>
+          
+      </div>
+  </section>
+
+  <!-- Right sidebar -->
+  <MessageRightSidebar />
+    </main>
+</div>
+</template>
diff --git a/rootfs/web/src/views/MessageList.vue b/rootfs/web/src/views/MessageList.vue
new file mode 100644
index 0000000..4848c6c
--- /dev/null
+++ b/rootfs/web/src/views/MessageList.vue
@@ -0,0 +1,252 @@
+<script setup lang="ts">
+import { ref, computed, onMounted, watch } from 'vue'
+import NavBar from '../components/NavBar.vue'
+import MessageSidebar from '../components/MessageSidebar.vue'
+import { useRoute } from 'vue-router'
+import { Bell, ShieldAlert, Cpu, Activity, Info, AlertTriangle, ChevronRight, Search, MailOpen, X } from 'lucide-vue-next'
+import MessageRightSidebar from '../components/MessageRightSidebar.vue'
+import { getMessages, dealMessages, markAllAsRead as apiMarkAllAsRead } from '../services/messages'
+import { globalState, invalidateMessages } from '../store'
+
+const route = useRoute()
+
+// Define message categories
+const tabs = [
+  { id: 'all', label: 'All Messages' },
+  { id: 'unread', label: 'Unread', icon: MailOpen },
+  { id: 'system', label: 'System', icon: Info },
+  { id: 'product', label: 'Product Updates', icon: Cpu },
+  { id: 'security', label: 'Security', icon: ShieldAlert },
+  { id: 'alert', label: 'Alerts', icon: AlertTriangle },
+  { id: 'service', label: 'Service', icon: Activity }
+]
+
+const messages = ref<any[]>([])
+const loading = ref(false)
+const totalCount = ref(0)
+const limit = ref(30)
+const offset = ref(0)
+const searchQuery = ref('')
+
+const currentCategory = computed(() => {
+    return (route.query.category as string) || 'all'
+})
+
+const filteredMessages = computed(() => messages.value)
+
+const hasPrevious = computed(() => offset.value > 0)
+const hasNext = computed(() => offset.value + messages.value.length < totalCount.value)
+
+const fetchMessages = async () => {
+    loading.value = true
+    try {
+        const category = currentCategory.value === 'all' || currentCategory.value === 'unread'
+            ? undefined
+            : currentCategory.value
+        const isRead = currentCategory.value === 'unread' ? false : undefined
+        const res = await getMessages(category, limit.value, offset.value, isRead, searchQuery.value || undefined)
+        const payload = dealMessages(res)
+        messages.value = payload.results
+        totalCount.value = payload.count
+    } catch (e) {
+        console.error('Failed to fetch messages', e)
+    } finally {
+        loading.value = false
+    }
+}
+
+watch(() => route.query.category, () => {
+    offset.value = 0
+    searchQuery.value = ''
+    fetchMessages()
+})
+
+const handleSearch = () => {
+    offset.value = 0
+    fetchMessages()
+}
+
+const clearSearch = () => {
+    searchQuery.value = ''
+    offset.value = 0
+    fetchMessages()
+}
+
+onMounted(() => {
+    fetchMessages()
+})
+
+const handleMarkAllAsRead = async () => {
+    try {
+        await apiMarkAllAsRead()
+        messages.value.forEach(m => m.isRead = true)
+        invalidateMessages()
+    } catch (e) {
+        console.error('Failed to mark all as read', e)
+    }
+}
+
+// Refresh when other components signal that message read-state changed.
+watch(() => globalState.messagesVersion, () => {
+    fetchMessages()
+})
+
+const goPreviousPage = async () => {
+    if (!hasPrevious.value) return
+    offset.value = Math.max(0, offset.value - limit.value)
+    await fetchMessages()
+}
+
+const goNextPage = async () => {
+    if (!hasNext.value) return
+    offset.value += limit.value
+    await fetchMessages()
+}
+
+// Helper: get category icon and color
+const getCategoryIndicator = (category: string, severity: string) => {
+    const map: Record<string, any> = {
+        'system': { icon: Info, bg: 'bg-blue-50', text: 'text-blue-500' },
+        'security': { icon: ShieldAlert, bg: 'bg-indigo-50', text: 'text-indigo-500' },
+        'alert': { icon: AlertTriangle, bg: 'bg-rose-50', text: 'text-rose-500' },
+        'product': { icon: Cpu, bg: 'bg-emerald-50', text: 'text-emerald-500' },
+        'service': { icon: Activity, bg: 'bg-purple-50', text: 'text-purple-500' }
+    }
+    
+    // Use warning color directly for severe errors or warnings
+    if (severity === 'error') {
+        return { icon: AlertTriangle, bg: 'bg-rose-50', text: 'text-rose-500' }
+    }
+    if (severity === 'warning') {
+        return { icon: ShieldAlert, bg: 'bg-amber-50', text: 'text-amber-500' }
+    }
+    
+    return map[category] || { icon: Bell, bg: 'bg-slate-100', text: 'text-slate-500' }
+}
+
+const getCategoryName = (category: string) => {
+    const found = tabs.find(t => t.id === category)
+    return found ? found.label : category
+}
+</script>
+
+<template>
+<div class="min-h-screen bg-slate-50 flex flex-col font-sans">
+    <NavBar />
+    <main class="max-w-[1600px] w-full mx-auto p-6 flex flex-col lg:flex-row gap-6 flex-1">
+        <MessageSidebar />
+  <!-- Main content: message list -->
+  <section class="flex-1 flex flex-col w-full min-w-0">
+      <div class="bg-white rounded-lg shadow-sm border border-slate-200 overflow-hidden flex flex-col flex-1 h-full min-h-[600px]">
+          
+          <!-- Header: title and description -->
+          <div class="px-8 pt-8 pb-6 border-b border-slate-100 flex flex-col md:flex-row md:items-end justify-between gap-4 bg-white">
+              <div>
+                  <h1 class="text-2xl font-bold text-slate-800 tracking-tight flex items-center gap-3 mb-1">
+                      Inbox
+                      <span v-if="messages.filter(m => !m.isRead).length > 0" class="px-2 py-0.5 bg-primary/10 text-primary text-xs font-bold rounded-full border border-primary/20">
+                          {{ messages.filter(m => !m.isRead).length }} New
+                      </span>
+                      <span v-if="loading" class="text-xs text-slate-400 font-normal">Loading...</span>
+                  </h1>
+                  <p class="text-[13px] text-slate-500">Manage all your notifications and system alerts.</p>
+              </div>
+              
+              <!-- Right side: search input -->
+              <div class="relative w-full md:w-64">
+                  <div class="absolute inset-y-0 left-0 pl-3 flex items-center pointer-events-none">
+                      <Search class="h-4 w-4 text-slate-400" />
+                  </div>
+                  <input 
+                      v-model="searchQuery"
+                      type="text" 
+                      class="block w-full pl-9 pr-8 py-1.5 border border-slate-200 rounded-lg leading-5 bg-slate-50 hover:bg-white text-slate-900 placeholder-slate-400 focus:outline-none focus:ring-2 focus:ring-primary/20 focus:border-primary sm:text-sm transition-all shadow-sm"
+                      placeholder="Search messages..."
+                      @keyup.enter="handleSearch"
+                  />
+                  <button v-if="searchQuery" @click="clearSearch" class="absolute inset-y-0 right-0 pr-2.5 flex items-center text-slate-400 hover:text-slate-600">
+                      <X class="h-3.5 w-3.5" />
+                  </button>
+              </div>
+          </div>
+
+          <!-- Message list -->
+          <div class="flex-1 flex flex-col overflow-y-auto">
+              <div v-if="filteredMessages.length === 0" class="flex-1 flex flex-col items-center justify-center p-12 text-center text-slate-500">
+                  <div class="w-16 h-16 bg-slate-50 rounded-full flex items-center justify-center mb-4 border border-slate-100">
+                      <Bell class="w-6 h-6 text-slate-400 opacity-50" />
+                  </div>
+                  <p class="text-base font-medium text-slate-700">No messages found</p>
+                  <p class="text-sm mt-1">You're all caught up in this category.</p>
+              </div>
+
+              <!-- List content -->
+                <div v-else class="divide-y divide-slate-100/60">
+                    <router-link 
+                        v-for="msg in filteredMessages" 
+                        :key="msg.id" 
+                        :to="`/messages/${msg.id}`"
+                        class="group block transition-colors relative overflow-hidden bg-white hover:bg-slate-50/70 p-6"
+                    >
+                          <div class="flex gap-4 md:gap-5">
+                              <!-- Category icon container -->
+                              <div class="flex-shrink-0 self-start w-11 h-11 rounded-full flex items-center justify-center border-2 border-white shadow-[0_2px_6px_rgba(0,0,0,0.04)]" :class="getCategoryIndicator(msg.category, msg.severity).bg">
+                                <component :is="getCategoryIndicator(msg.category, msg.severity).icon" class="w-5 h-5" :class="getCategoryIndicator(msg.category, msg.severity).text" />
+                            </div>
+
+                            <!-- Main content area -->
+                            <div class="flex-1 min-w-0 pr-8">
+                                <div class="flex flex-col md:flex-row md:items-center gap-1.5 md:gap-3 mb-1.5">
+                                    <h3 class="text-[15px] truncate transition-colors tracking-tight" :class="msg.isRead ? 'text-slate-500 font-medium' : 'text-slate-900 font-bold'">
+                                        {{ msg.title }}
+                                    </h3>
+                                    <span class="hidden md:inline-block px-2 py-0.5 rounded-md bg-slate-100 text-slate-500 text-[10px] font-semibold uppercase tracking-widest border border-slate-200/50">
+                                        {{ getCategoryName(msg.category) }}
+                                    </span>
+                                </div>
+                                <p class="text-sm leading-relaxed line-clamp-2 md:pr-10 transition-colors" :class="msg.isRead ? 'text-slate-400 font-normal' : 'text-slate-500 font-medium'">
+                                    {{ msg.content }}
+                                </p>
+                                <div class="mt-3 flex items-center gap-3 text-[11px] font-medium transition-colors" :class="msg.isRead ? 'text-slate-400/80' : 'text-slate-400'">
+                                      <span>{{ msg.date }}</span>
+                                      <div class="w-1 h-1 rounded-full bg-slate-300 md:hidden"></div>
+                                      <span class="md:hidden text-primary">{{ getCategoryName(msg.category) }}</span>
+                                  </div>
+                              </div>
+
+                              <!-- Detail arrow (shown on hover) -->
+                              <div class="absolute right-6 top-1/2 -translate-y-1/2 opacity-0 group-hover:opacity-100 group-hover:translate-x-1 transition-all duration-200">
+                                  <ChevronRight class="w-5 h-5 text-slate-400" />
+                              </div>
+                          </div>
+                      </router-link>
+              </div>
+          </div>
+
+          <!-- Bottom action bar -->
+          <div class="p-4 border-t border-slate-100 bg-slate-50/50 flex justify-between items-center text-xs text-slate-500 mt-auto">
+              <div class="flex items-center gap-4">
+                  <span>Showing {{ filteredMessages.length }} of {{ totalCount }} messages</span>
+                  <button class="disabled:text-slate-300" :disabled="!hasPrevious" @click="goPreviousPage">Previous</button>
+                  <button class="disabled:text-slate-300" :disabled="!hasNext" @click="goNextPage">Next</button>
+              </div>
+              <router-link to="/messages/preferences" class="font-medium text-primary hover:text-primary-700 transition-colors">Message Preferences</router-link>
+          </div>
+      </div>
+  </section>
+
+  <!-- Right sidebar -->
+  <MessageRightSidebar @mark-all-read="fetchMessages" />
+    </main>
+</div>
+</template>
+
+<style scoped>
+.hide-scrollbar::-webkit-scrollbar {
+  display: none;
+}
+.hide-scrollbar {
+  -ms-overflow-style: none;
+  scrollbar-width: none;
+}
+</style>
diff --git a/rootfs/web/src/views/MessagePreferences.vue b/rootfs/web/src/views/MessagePreferences.vue
new file mode 100644
index 0000000..a5b905a
--- /dev/null
+++ b/rootfs/web/src/views/MessagePreferences.vue
@@ -0,0 +1,310 @@
+<script setup lang="ts">
+import { ref, onMounted } from 'vue'
+import { useRouter } from 'vue-router'
+import NavBar from '../components/NavBar.vue'
+import MessageSidebar from '../components/MessageSidebar.vue'
+import { ArrowLeft, BellRing, Mail, ShieldCheck, Check, Webhook, Link, Info, Cpu, AlertTriangle, Activity } from 'lucide-vue-next'
+import MessageRightSidebar from '../components/MessageRightSidebar.vue'
+import { getMessagePreferences, updateMessagePreferences } from '../services/messages'
+
+const router = useRouter()
+
+const settings = ref({
+    emailAlerts: true,
+    pushAlerts: false,
+    webhookUrl: '',
+
+    notifySecurity: true,
+    notifySystem: true,
+    notifyProduct: true,
+    notifyAlerts: true,
+    notifyService: true,
+})
+
+const isSaving = ref(false)
+const saved = ref(false)
+const loading = ref(false)
+
+const fetchPreferences = async () => {
+    loading.value = true
+    try {
+        const res = await getMessagePreferences()
+        const data = res.data
+        settings.value = {
+            emailAlerts: data.email_alerts,
+            pushAlerts: data.push_alerts,
+            webhookUrl: data.webhook_url || '',
+            notifySecurity: data.notify_security,
+            notifySystem: data.notify_system,
+            notifyProduct: data.notify_product,
+            notifyAlerts: data.notify_alert,
+            notifyService: data.notify_service,
+        }
+    } catch (e) {
+        console.error('Failed to fetch preferences', e)
+    } finally {
+        loading.value = false
+    }
+}
+
+onMounted(() => {
+    fetchPreferences()
+})
+
+const savePreferences = async () => {
+    isSaving.value = true
+    saved.value = false
+    try {
+        await updateMessagePreferences({
+            email_alerts: settings.value.emailAlerts,
+            push_alerts: settings.value.pushAlerts,
+            webhook_url: settings.value.webhookUrl,
+            notify_security: settings.value.notifySecurity,
+            notify_system: settings.value.notifySystem,
+            notify_product: settings.value.notifyProduct,
+            notify_alert: settings.value.notifyAlerts,
+            notify_service: settings.value.notifyService,
+        })
+        saved.value = true
+        setTimeout(() => saved.value = false, 3000)
+    } catch (e) {
+        console.error('Failed to save preferences', e)
+        alert('Failed to save preferences')
+    } finally {
+        isSaving.value = false
+    }
+}
+</script>
+
+<template>
+<div class="min-h-screen bg-slate-50 flex flex-col font-sans">
+    <NavBar />
+    <main class="max-w-[1600px] w-full mx-auto p-6 flex flex-col lg:flex-row gap-6 flex-1">
+        <MessageSidebar />
+  <!-- Main content -->
+  <section class="flex-1 flex flex-col w-full min-w-0">
+      <div class="bg-white rounded-lg shadow-sm border border-slate-200 min-h-[600px] flex flex-col flex-1 overflow-hidden">
+          
+          <!-- Navigation bar -->
+          <div class="px-6 py-4 flex items-center justify-between border-b border-slate-100 bg-slate-50/40">
+              <button @click="router.push('/messages')" class="inline-flex items-center text-sm font-medium text-slate-500 hover:text-slate-800 transition-colors focus:outline-none">
+                  <ArrowLeft class="w-4 h-4 mr-2 text-slate-400" />
+                  Back to Inbox
+              </button>
+          </div>
+
+          <!-- Header section -->
+          <div class="px-8 md:px-12 pt-10 pb-8">
+              <div class="flex items-start gap-4 md:gap-5 mb-2">
+                  <div class="w-12 h-12 rounded-full flex items-center justify-center flex-shrink-0 bg-primary/10 ring-4 ring-primary/5 mt-0.5">
+                      <BellRing class="w-6 h-6 text-primary" />
+                  </div>
+                  <div>
+                      <h1 class="text-xl md:text-[22px] font-bold text-slate-900 tracking-tight leading-tight mb-2">
+                          Notification Preferences
+                      </h1>
+                      <p class="text-sm text-slate-500 leading-relaxed max-w-2xl">
+                          Control how and when you want to be notified about activity in your workspace.
+                      </p>
+                  </div>
+              </div>
+          </div>
+
+          <!-- Settings section -->
+          <div class="px-8 md:px-12 pb-12 flex-1">
+              
+              <!-- Delivery channels -->
+              <h3 class="text-sm font-bold text-slate-800 uppercase tracking-wider mb-4 border-b border-slate-100 pb-2">Delivery Channels</h3>
+              
+              <div class="space-y-6 mb-10">
+                  <!-- Email notifications -->
+                  <div class="flex items-center justify-between">
+                      <div class="flex items-center gap-3">
+                          <div class="w-10 h-10 rounded-lg bg-slate-50 border border-slate-100 flex items-center justify-center text-slate-500">
+                              <Mail class="w-5 h-5" />
+                          </div>
+                          <div>
+                              <p class="text-[15px] font-semibold text-slate-800">Email Notifications</p>
+                              <p class="text-xs text-slate-500 mt-0.5">Receive alerts via your primary account email.</p>
+                          </div>
+                      </div>
+                      <label class="relative inline-flex items-center cursor-pointer">
+                          <input type="checkbox" class="sr-only peer" v-model="settings.emailAlerts" />
+                          <div class="w-11 h-6 bg-slate-200 peer-focus:outline-none rounded-full peer peer-checked:after:translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-[2px] after:left-[2px] after:bg-white after:border-slate-300 after:border after:rounded-full after:h-5 after:w-5 after:transition-all peer-checked:bg-primary"></div>
+                      </label>
+                  </div>
+
+                  <!-- Webhook / push notifications -->
+                  <div class="flex flex-col">
+                      <div class="flex items-center justify-between">
+                          <div class="flex items-center gap-3">
+                              <div class="w-10 h-10 rounded-lg bg-slate-50 border border-slate-100 flex items-center justify-center text-slate-500">
+                                  <Webhook class="w-5 h-5" />
+                              </div>
+                              <div>
+                                  <p class="text-[15px] font-semibold text-slate-800">Webhook / Push Notifications</p>
+                                  <p class="text-xs text-slate-500 mt-0.5">Forward real-time alerts to an external HTTP entrypoint.</p>
+                              </div>
+                          </div>
+                          <label class="relative inline-flex items-center cursor-pointer">
+                              <input type="checkbox" class="sr-only peer" v-model="settings.pushAlerts" />
+                              <div class="w-11 h-6 bg-slate-200 peer-focus:outline-none rounded-full peer peer-checked:after:translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-[2px] after:left-[2px] after:bg-white after:border-slate-300 after:border after:rounded-full after:h-5 after:w-5 after:transition-all peer-checked:bg-primary"></div>
+                          </label>
+                      </div>
+                      
+                      <!-- Webhook URL Configure -->
+                      <transition
+                          enter-active-class="transition-all duration-300 ease-[cubic-bezier(0.4,0,0.2,1)]"
+                          enter-from-class="opacity-0 max-h-0 -translate-y-2 pointer-events-none"
+                          enter-to-class="opacity-100 max-h-[140px] translate-y-0 pointer-events-auto"
+                          leave-active-class="transition-all duration-200 ease-[cubic-bezier(0.4,0,0.2,1)]"
+                          leave-from-class="opacity-100 max-h-[140px] translate-y-0 pointer-events-auto"
+                          leave-to-class="opacity-0 max-h-0 -translate-y-2 pointer-events-none"
+                      >
+                          <div v-show="settings.pushAlerts" class="mt-4 pl-[52px]">
+                              <div class="flex flex-col gap-1.5">
+                                  <label class="text-[13px] font-semibold text-slate-700">Payload URL</label>
+                                  <div class="relative group/input">
+                                      <div class="absolute inset-y-0 left-0 pl-3 flex items-center pointer-events-none">
+                                          <Link class="h-4 w-4 text-slate-400 group-focus-within/input:text-primary transition-colors" />
+                                      </div>
+                                      <input 
+                                          type="url" 
+                                          v-model="settings.webhookUrl"
+                                          placeholder="https://yourapp.example.com/webhook"
+                                          class="block w-full max-w-lg pl-[36px] pr-3 py-2 border border-slate-200 rounded-lg text-sm text-slate-800 placeholder-slate-400 focus:outline-none focus:ring-[3px] focus:ring-primary/10 focus:border-primary transition-all bg-white shadow-sm"
+                                      />
+                                  </div>
+                                  <p class="text-[12px] text-slate-500 mt-0.5">
+                                      We will send a POST request with a JSON payload to this endpoint.
+                                  </p>
+                              </div>
+                          </div>
+                      </transition>
+                  </div>
+              </div>
+
+              <!-- Notification type settings -->
+              <h3 class="text-sm font-bold text-slate-800 uppercase tracking-wider mb-4 border-b border-slate-100 pb-2">Notification Types</h3>
+              
+              <div class="space-y-6 mb-8">
+                  <!-- Security Alerts -->
+                  <div class="flex items-center justify-between">
+                      <div class="flex items-center gap-3">
+                          <div class="w-10 h-10 rounded-lg bg-indigo-50 border border-indigo-100 flex items-center justify-center text-indigo-500">
+                              <ShieldCheck class="w-5 h-5" />
+                          </div>
+                          <div>
+                              <p class="text-[15px] font-semibold text-slate-800">Security Alerts</p>
+                              <p class="text-xs text-slate-500 mt-0.5">Login attempts, password resets, and critical account events.</p>
+                          </div>
+                      </div>
+                      <label class="relative inline-flex items-center cursor-pointer">
+                          <input type="checkbox" class="sr-only peer" v-model="settings.notifySecurity" />
+                          <div class="w-11 h-6 bg-slate-200 peer-focus:outline-none rounded-full peer peer-checked:after:translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-[2px] after:left-[2px] after:bg-white after:border-slate-300 after:border after:rounded-full after:h-5 after:w-5 after:transition-all peer-checked:bg-primary"></div>
+                      </label>
+                  </div>
+
+                  <!-- System Messages -->
+                  <div class="flex items-center justify-between">
+                      <div class="flex items-center gap-3">
+                          <div class="w-10 h-10 rounded-lg bg-blue-50 border border-blue-100 flex items-center justify-center text-blue-500">
+                              <Info class="w-5 h-5" />
+                          </div>
+                          <div>
+                              <p class="text-[15px] font-semibold text-slate-800">System Messages</p>
+                              <p class="text-xs text-slate-500 mt-0.5">Workspace updates, billing, and general system settings.</p>
+                          </div>
+                      </div>
+                      <label class="relative inline-flex items-center cursor-pointer">
+                          <input type="checkbox" class="sr-only peer" v-model="settings.notifySystem" />
+                          <div class="w-11 h-6 bg-slate-200 peer-focus:outline-none rounded-full peer peer-checked:after:translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-[2px] after:left-[2px] after:bg-white after:border-slate-300 after:border after:rounded-full after:h-5 after:w-5 after:transition-all peer-checked:bg-primary"></div>
+                      </label>
+                  </div>
+
+                  <!-- Product Updates -->
+                  <div class="flex items-center justify-between">
+                      <div class="flex items-center gap-3">
+                          <div class="w-10 h-10 rounded-lg bg-emerald-50 border border-emerald-100 flex items-center justify-center text-emerald-600">
+                              <Cpu class="w-5 h-5" />
+                          </div>
+                          <div>
+                              <p class="text-[15px] font-semibold text-slate-800">Product Updates</p>
+                              <p class="text-xs text-slate-500 mt-0.5">New features, changelogs, and major platform announcements.</p>
+                          </div>
+                      </div>
+                      <label class="relative inline-flex items-center cursor-pointer">
+                          <input type="checkbox" class="sr-only peer" v-model="settings.notifyProduct" />
+                          <div class="w-11 h-6 bg-slate-200 peer-focus:outline-none rounded-full peer peer-checked:after:translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-[2px] after:left-[2px] after:bg-white after:border-slate-300 after:border after:rounded-full after:h-5 after:w-5 after:transition-all peer-checked:bg-primary"></div>
+                      </label>
+                  </div>
+
+                  <!-- Alerts -->
+                  <div class="flex items-center justify-between">
+                      <div class="flex items-center gap-3">
+                          <div class="w-10 h-10 rounded-lg bg-amber-50 border border-amber-100 flex items-center justify-center text-amber-500">
+                              <AlertTriangle class="w-5 h-5" />
+                          </div>
+                          <div>
+                              <p class="text-[15px] font-semibold text-slate-800">Alerts & Warnings</p>
+                              <p class="text-xs text-slate-500 mt-0.5">Usage thresholds, quota limits, and critical warnings.</p>
+                          </div>
+                      </div>
+                      <label class="relative inline-flex items-center cursor-pointer">
+                          <input type="checkbox" class="sr-only peer" v-model="settings.notifyAlerts" />
+                          <div class="w-11 h-6 bg-slate-200 peer-focus:outline-none rounded-full peer peer-checked:after:translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-[2px] after:left-[2px] after:bg-white after:border-slate-300 after:border after:rounded-full after:h-5 after:w-5 after:transition-all peer-checked:bg-primary"></div>
+                      </label>
+                  </div>
+
+                  <!-- Service Status -->
+                  <div class="flex items-center justify-between">
+                      <div class="flex items-center gap-3">
+                          <div class="w-10 h-10 rounded-lg bg-rose-50 border border-rose-100 flex items-center justify-center text-rose-500">
+                              <Activity class="w-5 h-5" />
+                          </div>
+                          <div>
+                              <p class="text-[15px] font-semibold text-slate-800">Service Status</p>
+                              <p class="text-xs text-slate-500 mt-0.5">Application crashes, deployment failures, and infrastructure changes.</p>
+                          </div>
+                      </div>
+                      <label class="relative inline-flex items-center cursor-pointer">
+                          <input type="checkbox" class="sr-only peer" v-model="settings.notifyService" />
+                          <div class="w-11 h-6 bg-slate-200 peer-focus:outline-none rounded-full peer peer-checked:after:translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-[2px] after:left-[2px] after:bg-white after:border-slate-300 after:border after:rounded-full after:h-5 after:w-5 after:transition-all peer-checked:bg-primary"></div>
+                      </label>
+                  </div>
+              </div>
+
+              <!-- Save and submit section -->
+              <div class="mt-12 pt-6 border-t border-slate-100 flex items-center gap-4">
+                  <button 
+                      @click="savePreferences" 
+                      :disabled="isSaving"
+                      class="inline-flex flex-shrink-0 items-center justify-center w-36 py-2.5 bg-primary hover:bg-primary-600 disabled:opacity-70 disabled:cursor-not-allowed text-white text-sm font-semibold rounded-lg shadow-sm transition-all focus:outline-none"
+                  >
+                      <span v-if="isSaving" class="flex items-center gap-2">
+                        <svg class="animate-spin -ml-1 mr-1 h-4 w-4 text-white" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24">
+                          <circle class="opacity-25" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="4"></circle>
+                          <path class="opacity-75" fill="currentColor" d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"></path>
+                        </svg>
+                        Saving...
+                      </span>
+                      <span v-else>Save Changes</span>
+                  </button>
+
+                  <transition enter-active-class="transition duration-200 ease-out" enter-from-class="opacity-0 translate-y-1" enter-to-class="opacity-100 translate-y-0" leave-active-class="transition duration-150 ease-in" leave-from-class="opacity-100 translate-y-0" leave-to-class="opacity-0 translate-y-1">
+                      <div v-if="saved" class="flex items-center gap-1.5 text-sm font-medium text-emerald-600 bg-emerald-50 px-3 py-1.5 rounded-md">
+                          <Check class="w-4 h-4" />
+                          Preferences saved!
+                      </div>
+                  </transition>
+              </div>
+
+          </div>
+      </div>
+  </section>
+
+  <!-- Right sidebar -->
+  <MessageRightSidebar />
+    </main>
+</div>
+</template>
diff --git a/rootfs/web/src/views/Overview.vue b/rootfs/web/src/views/Overview.vue
new file mode 100644
index 0000000..058bf24
--- /dev/null
+++ b/rootfs/web/src/views/Overview.vue
@@ -0,0 +1,98 @@
+<script setup lang="ts">
+import { onMounted } from 'vue'
+import { useRouter } from 'vue-router'
+import NavBar from '../components/NavBar.vue'
+import MainFooter from '../components/MainFooter.vue'
+import { Settings, Key, Bell, ArrowLeft, ShieldCheck } from 'lucide-vue-next'
+import { globalState, fetchGlobalSettings } from '../store'
+
+const router = useRouter()
+
+onMounted(async () => {
+    await fetchGlobalSettings()
+})
+</script>
+
+<template>
+<div class="min-h-screen bg-slate-50 flex flex-col font-sans selection:bg-primary/10">
+    <NavBar />
+    
+    <main class="max-w-[1200px] w-full mx-auto p-6 md:p-10 flex-1 flex flex-col transition-all duration-300">
+        <!-- Hero Section -->
+        <div class="flex flex-col items-center text-center mt-10 md:mt-16 mb-16 animate-fade-in-up">
+            <div class="w-20 h-20 bg-gradient-to-tr from-primary to-primary-600 rounded-2xl shadow-lg shadow-primary/20 flex items-center justify-center mb-8 relative">
+                <div class="absolute inset-0 bg-white/20 rounded-2xl blur-sm opacity-50"></div>
+                <ShieldCheck class="w-10 h-10 text-white relative z-10" stroke-width="1.5" />
+            </div>
+            <h1 class="text-4xl md:text-5xl font-extrabold text-slate-800 tracking-tight mb-4">
+                Identity & Security
+            </h1>
+            <p class="text-lg text-slate-500 max-w-2xl leading-relaxed">
+                Manage your personal identity, security preferences, API access tokens, and stay updated with crucial system notifications.
+            </p>
+        </div>
+
+        <!-- Modules Grid -->
+        <div class="grid grid-cols-1 md:grid-cols-3 gap-6 lg:gap-8 max-w-5xl mx-auto w-full mb-12">
+            
+            <!-- Cards -->
+            <div @click="router.push('/account-setting')" class="group relative bg-white rounded-2xl shadow-sm border border-slate-200 p-8 hover:shadow-xl hover:-translate-y-1.5 hover:border-primary/30 transition-all duration-300 cursor-pointer overflow-hidden">
+                <div class="absolute top-0 right-0 w-32 h-32 bg-gradient-to-bl from-blue-50 to-transparent rounded-bl-full -mr-8 -mt-8 opacity-50 group-hover:opacity-100 transition-opacity"></div>
+                <div class="w-14 h-14 bg-blue-50/80 rounded-xl flex items-center justify-center mb-6 group-hover:scale-110 transition-transform duration-300 relative z-10 text-blue-500 shadow-sm border border-blue-100/50">
+                    <Settings class="w-7 h-7" stroke-width="1.5" />
+                </div>
+                <h2 class="text-xl font-bold text-slate-800 mb-3 relative z-10 group-hover:text-blue-600 transition-colors">Account Setting</h2>
+                <p class="text-sm text-slate-500 leading-relaxed relative z-10">Update your basic profile, modify login credentials, and review linked identity providers.</p>
+            </div>
+
+            <div @click="router.push('/access-tokens')" class="group relative bg-white rounded-2xl shadow-sm border border-slate-200 p-8 hover:shadow-xl hover:-translate-y-1.5 hover:border-primary/30 transition-all duration-300 cursor-pointer overflow-hidden">
+                <div class="absolute top-0 right-0 w-32 h-32 bg-gradient-to-bl from-indigo-50 to-transparent rounded-bl-full -mr-8 -mt-8 opacity-50 group-hover:opacity-100 transition-opacity"></div>
+                <div class="w-14 h-14 bg-indigo-50/80 rounded-xl flex items-center justify-center mb-6 group-hover:scale-110 transition-transform duration-300 relative z-10 text-indigo-500 shadow-sm border border-indigo-100/50">
+                    <Key class="w-7 h-7" stroke-width="1.5" />
+                </div>
+                <h2 class="text-xl font-bold text-slate-800 mb-3 relative z-10 group-hover:text-indigo-600 transition-colors">Access Tokens</h2>
+                <p class="text-sm text-slate-500 leading-relaxed relative z-10">Securely generate and manage API keys for your automated workflows and CLI authentications.</p>
+            </div>
+
+            <div @click="router.push('/messages')" class="group relative bg-white rounded-2xl shadow-sm border border-slate-200 p-8 hover:shadow-xl hover:-translate-y-1.5 hover:border-primary/30 transition-all duration-300 cursor-pointer overflow-hidden">
+                <div class="absolute top-0 right-0 w-32 h-32 bg-gradient-to-bl from-rose-50 to-transparent rounded-bl-full -mr-8 -mt-8 opacity-50 group-hover:opacity-100 transition-opacity"></div>
+                <div class="w-14 h-14 bg-rose-50/80 rounded-xl flex items-center justify-center mb-6 group-hover:scale-110 transition-transform duration-300 relative z-10 text-rose-500 shadow-sm border border-rose-100/50">
+                    <Bell class="w-7 h-7" stroke-width="1.5" />
+                    <!-- Unread marker -->
+                    <span class="absolute top-[14px] right-[14px] w-2.5 h-2.5 bg-rose-500 border-2 border-rose-50 rounded-full animate-pulse group-hover:bg-rose-400"></span>
+                </div>
+                <h2 class="text-xl font-bold text-slate-800 mb-3 relative z-10 group-hover:text-rose-600 transition-colors">Message Center</h2>
+                <p class="text-sm text-slate-500 leading-relaxed relative z-10">Read important system alerts, review security notifications, and track platform updates.</p>
+            </div>
+        </div>
+
+        <!-- Back to Dashboard Link -->
+        <div class="mt-auto flex justify-center pb-8 w-full">
+            <a :href="globalState.dashboardUrl" class="group flex items-center gap-2.5 text-slate-500 hover:text-primary font-semibold transition-all border border-slate-200 bg-white px-8 py-3.5 rounded-full hover:shadow-md hover:border-primary/30">
+                <ArrowLeft class="w-[18px] h-[18px] group-hover:-translate-x-1.5 transition-transform" /> 
+                Enter Workspace Dashboard
+            </a>
+        </div>
+
+    </main>
+
+    <MainFooter class="mt-auto" />
+</div>
+</template>
+
+<style scoped>
+@keyframes fadeInUp {
+  from {
+    opacity: 0;
+    transform: translate3d(0, 20px, 0);
+  }
+  to {
+    opacity: 1;
+    transform: translate3d(0, 0, 0);
+  }
+}
+
+.animate-fade-in-up {
+  animation: fadeInUp 0.6s ease-out forwards;
+}
+</style>
diff --git a/rootfs/web/tsconfig.json b/rootfs/web/tsconfig.json
new file mode 100644
index 0000000..9c3e181
--- /dev/null
+++ b/rootfs/web/tsconfig.json
@@ -0,0 +1,18 @@
+{
+  "compilerOptions": {
+    "target": "ESNext",
+    "useDefineForClassFields": true,
+    "module": "ESNext",
+    "moduleResolution": "bundler",
+    "strict": false,
+    "jsx": "preserve",
+    "resolveJsonModule": true,
+    "isolatedModules": true,
+    "esModuleInterop": true,
+    "lib": ["ESNext", "DOM"],
+    "skipLibCheck": true,
+    "noEmit": true
+  },
+  "include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue"],
+  "references": [{ "path": "./tsconfig.node.json" }]
+}
diff --git a/rootfs/web/tsconfig.node.json b/rootfs/web/tsconfig.node.json
new file mode 100644
index 0000000..36b98be
--- /dev/null
+++ b/rootfs/web/tsconfig.node.json
@@ -0,0 +1,16 @@
+{
+  "compilerOptions": {
+    "composite": true,
+    "target": "ESNext",
+    "module": "ESNext",
+    "moduleResolution": "bundler",
+    "strict": false,
+    "jsx": "preserve",
+    "resolveJsonModule": true,
+    "isolatedModules": true,
+    "esModuleInterop": true,
+    "lib": ["ESNext", "DOM"],
+    "skipLibCheck": true
+  },
+  "include": ["vite.config.ts"]
+}
diff --git a/rootfs/web/vite.config.js b/rootfs/web/vite.config.js
deleted file mode 100644
index 315212d..0000000
--- a/rootfs/web/vite.config.js
+++ /dev/null
@@ -1,7 +0,0 @@
-import { defineConfig } from 'vite'
-import vue from '@vitejs/plugin-vue'
-
-// https://vitejs.dev/config/
-export default defineConfig({
-  plugins: [vue()]
-})
diff --git a/rootfs/web/vite.config.ts b/rootfs/web/vite.config.ts
new file mode 100644
index 0000000..8b2a5de
--- /dev/null
+++ b/rootfs/web/vite.config.ts
@@ -0,0 +1,27 @@
+import { defineConfig } from "vite";
+import vue from "@vitejs/plugin-vue";
+import tailwindcss from "@tailwindcss/vite";
+
+const VUE_APP_BASE_URL = process.env.VUE_APP_BASE_URL || "";
+
+// https://vitejs.dev/config/
+export default defineConfig({
+  plugins: [vue(), tailwindcss()],
+  build: {
+    minify: true,
+    chunkSizeWarningLimit: 3000,
+  },
+  server: {
+    proxy: {
+      "/orgs": { target: VUE_APP_BASE_URL, changeOrigin: false, xfwd: true },
+      "/user": { target: VUE_APP_BASE_URL, changeOrigin: false, xfwd: true },
+      "/auth": { target: VUE_APP_BASE_URL, changeOrigin: false, xfwd: true },
+      "/oauth": { target: VUE_APP_BASE_URL, changeOrigin: false, xfwd: true },
+      "/assets": { target: VUE_APP_BASE_URL, changeOrigin: false, xfwd: true },
+      "/settings": { target: VUE_APP_BASE_URL, changeOrigin: false, xfwd: true }
+    },
+  },
+  define: {
+    "process.env.VUE_APP_BASE_URL": JSON.stringify(VUE_APP_BASE_URL),
+  },
+});
diff --git a/rootfs/web/yarn.lock b/rootfs/web/yarn.lock
deleted file mode 100644
index 0cad52e..0000000
--- a/rootfs/web/yarn.lock
+++ /dev/null
@@ -1,522 +0,0 @@
-# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
-# yarn lockfile v1
-
-
-"@babel/helper-validator-identifier@^7.14.9":
-  version "7.14.9"
-  resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.9.tgz#6654d171b2024f6d8ee151bf2509699919131d48"
-  integrity sha512-pQYxPY0UP6IHISRitNe8bsijHex4TWZXi2HwKVsjPiltzlhse2znVcm9Ace510VT1kxIHjGJCZZQBX2gJDbo0g==
-
-"@babel/parser@^7.12.0", "@babel/parser@^7.13.9":
-  version "7.15.2"
-  resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.15.2.tgz#08d4ffcf90d211bf77e7cc7154c6f02d468d2b1d"
-  integrity sha512-bMJXql1Ss8lFnvr11TZDH4ArtwlAS5NG9qBmdiFW2UHHm6MVoR+GDc5XE2b9K938cyjc9O6/+vjjcffLDtfuDg==
-
-"@babel/types@^7.12.0", "@babel/types@^7.13.0":
-  version "7.15.0"
-  resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.15.0.tgz#61af11f2286c4e9c69ca8deb5f4375a73c72dcbd"
-  integrity sha512-OBvfqnllOIdX4ojTHpwZbpvz4j3EWyjkZEdmjH0/cgsd6QOdSgU8rLSk6ard/pcW7rlmjdVSX/AWOaORR1uNOQ==
-  dependencies:
-    "@babel/helper-validator-identifier" "^7.14.9"
-    to-fast-properties "^2.0.0"
-
-"@intlify/core-base@9.1.7":
-  version "9.1.7"
-  resolved "https://registry.nlark.com/@intlify/core-base/download/@intlify/core-base-9.1.7.tgz#a454a492683690bc3d0abab82605ab5a23645bd0"
-  integrity sha1-pFSkkmg2kLw9Crq4JgWrWiNkW9A=
-  dependencies:
-    "@intlify/devtools-if" "9.1.7"
-    "@intlify/message-compiler" "9.1.7"
-    "@intlify/message-resolver" "9.1.7"
-    "@intlify/runtime" "9.1.7"
-    "@intlify/shared" "9.1.7"
-    "@intlify/vue-devtools" "9.1.7"
-
-"@intlify/devtools-if@9.1.7":
-  version "9.1.7"
-  resolved "https://registry.nlark.com/@intlify/devtools-if/download/@intlify/devtools-if-9.1.7.tgz#a5df0f33e06c3ead3e53b7f4d4b10a2d52309361"
-  integrity sha1-pd8PM+BsPq0+U7f01LEKLVIwk2E=
-  dependencies:
-    "@intlify/shared" "9.1.7"
-
-"@intlify/message-compiler@9.1.7":
-  version "9.1.7"
-  resolved "https://registry.nlark.com/@intlify/message-compiler/download/@intlify/message-compiler-9.1.7.tgz#4663fcc2a190f3cc6970e12565c8d6f22beeb719"
-  integrity sha1-RmP8wqGQ88xpcOElZcjW8ivutxk=
-  dependencies:
-    "@intlify/message-resolver" "9.1.7"
-    "@intlify/shared" "9.1.7"
-    source-map "0.6.1"
-
-"@intlify/message-resolver@9.1.7":
-  version "9.1.7"
-  resolved "https://registry.nlark.com/@intlify/message-resolver/download/@intlify/message-resolver-9.1.7.tgz#a95d13866c8de85784358039c8845668152e4162"
-  integrity sha1-qV0ThmyN6FeENYA5yIRWaBUuQWI=
-
-"@intlify/runtime@9.1.7":
-  version "9.1.7"
-  resolved "https://registry.nlark.com/@intlify/runtime/download/@intlify/runtime-9.1.7.tgz#67e0d6b2fd85a5b0b301a151c2f436f93154c3c6"
-  integrity sha1-Z+DWsv2FpbCzAaFRwvQ2+TFUw8Y=
-  dependencies:
-    "@intlify/message-compiler" "9.1.7"
-    "@intlify/message-resolver" "9.1.7"
-    "@intlify/shared" "9.1.7"
-
-"@intlify/shared@9.1.7":
-  version "9.1.7"
-  resolved "https://registry.nlark.com/@intlify/shared/download/@intlify/shared-9.1.7.tgz#e7d8bc90cb59dc17dd7b4c85a73db16fcb7891fc"
-  integrity sha1-59i8kMtZ3Bfde0yFpz2xb8t4kfw=
-
-"@intlify/vue-devtools@9.1.7":
-  version "9.1.7"
-  resolved "https://registry.nlark.com/@intlify/vue-devtools/download/@intlify/vue-devtools-9.1.7.tgz#b08d39bb5f21ba9b1954eab9466e9408129425a7"
-  integrity sha1-sI05u18hupsZVOq5Rm6UCBKUJac=
-  dependencies:
-    "@intlify/message-resolver" "9.1.7"
-    "@intlify/runtime" "9.1.7"
-    "@intlify/shared" "9.1.7"
-
-"@popperjs/core@^2.9.2":
-  version "2.9.3"
-  resolved "https://registry.nlark.com/@popperjs/core/download/@popperjs/core-2.9.3.tgz#8b68da1ebd7fc603999cf6ebee34a4899a14b88e"
-  integrity sha1-i2jaHr1/xgOZnPbr7jSkiZoUuI4=
-
-"@types/estree@^0.0.48":
-  version "0.0.48"
-  resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.48.tgz#18dc8091b285df90db2f25aa7d906cfc394b7f74"
-  integrity sha512-LfZwXoGUDo0C3me81HXgkBg5CTQYb6xzEl+fNmbO4JdRiSKQ8A0GD1OBBvKAIsbCUgoyAty7m99GqqMQe784ew==
-
-"@vant/icons@^1.7.0":
-  version "1.7.0"
-  resolved "https://registry.nlark.com/@vant/icons/download/@vant/icons-1.7.0.tgz#02d427532a8142c35db159da9c364fe6890c3ac9"
-  integrity sha1-AtQnUyqBQsNdsVnanDZP5okMOsk=
-
-"@vant/lazyload@^1.2.0":
-  version "1.2.0"
-  resolved "https://registry.nlark.com/@vant/lazyload/download/@vant/lazyload-1.2.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40vant%2Flazyload%2Fdownload%2F%40vant%2Flazyload-1.2.0.tgz#62e9779bd7844ad8f71c2ca2bf852e6147c7a86d"
-  integrity sha1-Yul3m9eEStj3HCyiv4UuYUfHqG0=
-
-"@vant/popperjs@^1.1.0":
-  version "1.1.0"
-  resolved "https://registry.npm.taobao.org/@vant/popperjs/download/@vant/popperjs-1.1.0.tgz#b4edee5bbfa6fb18705986e313d4fd5f17942a0f"
-  integrity sha1-tO3uW7+m+xhwWYbjE9T9XxeUKg8=
-  dependencies:
-    "@popperjs/core" "^2.9.2"
-
-"@vant/use@^1.2.2":
-  version "1.3.0"
-  resolved "https://registry.nlark.com/@vant/use/download/@vant/use-1.3.0.tgz?cache=0&sync_timestamp=1628323555739&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40vant%2Fuse%2Fdownload%2F%40vant%2Fuse-1.3.0.tgz#b7d461c00078f7501ff7678771f1431fbf747b42"
-  integrity sha1-t9RhwAB491Af92eHcfFDH790e0I=
-
-"@vitejs/plugin-vue@^1.3.0":
-  version "1.4.0"
-  resolved "https://registry.yarnpkg.com/@vitejs/plugin-vue/-/plugin-vue-1.4.0.tgz#962ae01b7fd16ad4007898c64ed639136e12215b"
-  integrity sha512-RkqfJHz9wdLKBp5Yi+kQL8BAljdrvPoccQm2PTZc/UcL4EjD11xsv2PPCduYx2oV1a/bpSKA3sD5sxOHFhz+LA==
-
-"@vue/compiler-core@3.2.1":
-  version "3.2.1"
-  resolved "https://registry.yarnpkg.com/@vue/compiler-core/-/compiler-core-3.2.1.tgz#8e13232f7aef8e308fb2d4a10571a5640257064b"
-  integrity sha512-UEJf2ZGww5wGVdrWIXIZo04KdJFGPmI2bHRUsBZ3AdyCAqJ5ykRXKOBn1OR1hvA2YzimudOEyHM+DpbBv91Kww==
-  dependencies:
-    "@babel/parser" "^7.12.0"
-    "@babel/types" "^7.12.0"
-    "@vue/shared" "3.2.1"
-    estree-walker "^2.0.1"
-    source-map "^0.6.1"
-
-"@vue/compiler-dom@3.2.1":
-  version "3.2.1"
-  resolved "https://registry.yarnpkg.com/@vue/compiler-dom/-/compiler-dom-3.2.1.tgz#5cc68873f1928c7b9aee8c8a2846f7f362cb1ab9"
-  integrity sha512-tXg8tkPb3j54zNfWqoao9T1JI41yWPz8TROzmif/QNNA46eq8/SRuRsBd36i47GWaz7mh+yg3vOJ87/YBjcMyQ==
-  dependencies:
-    "@vue/compiler-core" "3.2.1"
-    "@vue/shared" "3.2.1"
-
-"@vue/compiler-sfc@^3.0.5":
-  version "3.2.1"
-  resolved "https://registry.yarnpkg.com/@vue/compiler-sfc/-/compiler-sfc-3.2.1.tgz#7809b298cf0fbce62a2c628b7dfc1e82dd9a3a9b"
-  integrity sha512-fVLdme5RZVkBt+jxv2LCSRM72o4FX7BR2eu2FpjjEi1kEtUMKBDnjKwGWy7TyhTju0t0CocctyoM+G56vH7NpQ==
-  dependencies:
-    "@babel/parser" "^7.13.9"
-    "@babel/types" "^7.13.0"
-    "@types/estree" "^0.0.48"
-    "@vue/compiler-core" "3.2.1"
-    "@vue/compiler-dom" "3.2.1"
-    "@vue/compiler-ssr" "3.2.1"
-    "@vue/shared" "3.2.1"
-    consolidate "^0.16.0"
-    estree-walker "^2.0.1"
-    hash-sum "^2.0.0"
-    lru-cache "^5.1.1"
-    magic-string "^0.25.7"
-    merge-source-map "^1.1.0"
-    postcss "^8.1.10"
-    postcss-modules "^4.0.0"
-    postcss-selector-parser "^6.0.4"
-    source-map "^0.6.1"
-
-"@vue/compiler-ssr@3.2.1":
-  version "3.2.1"
-  resolved "https://registry.yarnpkg.com/@vue/compiler-ssr/-/compiler-ssr-3.2.1.tgz#f900762f83482e44e9260c2322e3d332c711826c"
-  integrity sha512-6YAOtQunuEyYlVSjK1F7a7BXi7rxVfiTiJ0Ro7eq0q0MNCFV9Z+sN68lfa/E4ABVb0ledEY/Rt8kL23nwCoTCQ==
-  dependencies:
-    "@vue/compiler-dom" "3.2.1"
-    "@vue/shared" "3.2.1"
-
-"@vue/devtools-api@^6.0.0-beta.14", "@vue/devtools-api@^6.0.0-beta.7":
-  version "6.0.0-beta.15"
-  resolved "https://registry.nlark.com/@vue/devtools-api/download/@vue/devtools-api-6.0.0-beta.15.tgz#ad7cb384e062f165bcf9c83732125bffbc2ad83d"
-  integrity sha1-rXyzhOBi8WW8+cg3MhJb/7wq2D0=
-
-"@vue/reactivity@3.2.1":
-  version "3.2.1"
-  resolved "https://registry.yarnpkg.com/@vue/reactivity/-/reactivity-3.2.1.tgz#0e71d4ee00b0d0ca6a6141966c30b68b3f685002"
-  integrity sha512-4Lja2KmyiKvuraDed6dXK2A6+r/7x7xGDA7vVR2Aqc8hQVu0+FWeVX+IBfiVOSpbZXFlHLNmCBFkbuWLQSlgxg==
-  dependencies:
-    "@vue/shared" "3.2.1"
-
-"@vue/runtime-core@3.2.1":
-  version "3.2.1"
-  resolved "https://registry.yarnpkg.com/@vue/runtime-core/-/runtime-core-3.2.1.tgz#39641110b2f84fdda3b80b86830827b7b5ef041a"
-  integrity sha512-IsgelRM/5hYeRhz5+ECi66XvYDdjG2t4lARjHvCXw5s9Q4N6uIbjLMwtLzAWRxYf3/y258BrD+ehxAi943ScJg==
-  dependencies:
-    "@vue/reactivity" "3.2.1"
-    "@vue/shared" "3.2.1"
-
-"@vue/runtime-dom@3.2.1":
-  version "3.2.1"
-  resolved "https://registry.yarnpkg.com/@vue/runtime-dom/-/runtime-dom-3.2.1.tgz#087cf36f40ad0869712c4154693c620e478061a8"
-  integrity sha512-bUAHUSe49A5wYdHQ8wsLU1CMPXaG2fRuv2661mx/6Q9+20QxglT3ss8ZeL6AVRu16JNJMcdvTTsNpbnMbVc/lQ==
-  dependencies:
-    "@vue/runtime-core" "3.2.1"
-    "@vue/shared" "3.2.1"
-    csstype "^2.6.8"
-
-"@vue/shared@3.2.1":
-  version "3.2.1"
-  resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.2.1.tgz#1f1fe26fe0334404cce10740b5ffb2654f1281aa"
-  integrity sha512-INN92dVBNgd0TW9BqfQQKx/HWGCHhUUbAV5EZ5FgSCiEdwuZsJbGt1mdnaD9IxGhpiyOjP2ClxGG8SFp7ELcWg==
-
-axios@^0.21.1:
-  version "0.21.1"
-  resolved "https://registry.npm.taobao.org/axios/download/axios-0.21.1.tgz#22563481962f4d6bde9a76d516ef0e5d3c09b2b8"
-  integrity sha1-IlY0gZYvTWvemnbVFu8OXTwJsrg=
-  dependencies:
-    follow-redirects "^1.10.0"
-
-big.js@^5.2.2:
-  version "5.2.2"
-  resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328"
-  integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==
-
-bluebird@^3.7.2:
-  version "3.7.2"
-  resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f"
-  integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==
-
-colorette@^1.2.2:
-  version "1.2.2"
-  resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.2.tgz#cbcc79d5e99caea2dbf10eb3a26fd8b3e6acfa94"
-  integrity sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==
-
-consolidate@^0.16.0:
-  version "0.16.0"
-  resolved "https://registry.yarnpkg.com/consolidate/-/consolidate-0.16.0.tgz#a11864768930f2f19431660a65906668f5fbdc16"
-  integrity sha512-Nhl1wzCslqXYTJVDyJCu3ODohy9OfBMB5uD2BiBTzd7w+QY0lBzafkR8y8755yMYHAaMD4NuzbAw03/xzfw+eQ==
-  dependencies:
-    bluebird "^3.7.2"
-
-cssesc@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee"
-  integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==
-
-csstype@^2.6.8:
-  version "2.6.17"
-  resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.17.tgz#4cf30eb87e1d1a005d8b6510f95292413f6a1c0e"
-  integrity sha512-u1wmTI1jJGzCJzWndZo8mk4wnPTZd1eOIYTYvuEyOQGfmDl3TrabCCfKnOC86FZwW/9djqTl933UF/cS425i9A==
-
-emojis-list@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78"
-  integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==
-
-esbuild@^0.12.8:
-  version "0.12.19"
-  resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.12.19.tgz#ab849766705a5093df5acd8ec2f6ba2159a38a6c"
-  integrity sha512-5NuT1G6THW7l3fsSCDkcPepn24R0XtyPjKoqKHD8LfhqMXzCdz0mrS9HgO6hIhzVT7zt0T+JGbzCqF5AH8hS9w==
-
-estree-walker@^2.0.1:
-  version "2.0.2"
-  resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac"
-  integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==
-
-follow-redirects@^1.10.0:
-  version "1.14.1"
-  resolved "https://registry.nlark.com/follow-redirects/download/follow-redirects-1.14.1.tgz?cache=0&sync_timestamp=1620555246888&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ffollow-redirects%2Fdownload%2Ffollow-redirects-1.14.1.tgz#d9114ded0a1cfdd334e164e6662ad02bfd91ff43"
-  integrity sha1-2RFN7Qoc/dM04WTmZirQK/2R/0M=
-
-fsevents@~2.3.2:
-  version "2.3.2"
-  resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a"
-  integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==
-
-function-bind@^1.1.1:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
-  integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
-
-generic-names@^2.0.1:
-  version "2.0.1"
-  resolved "https://registry.yarnpkg.com/generic-names/-/generic-names-2.0.1.tgz#f8a378ead2ccaa7a34f0317b05554832ae41b872"
-  integrity sha512-kPCHWa1m9wGG/OwQpeweTwM/PYiQLrUIxXbt/P4Nic3LbGjCP0YwrALHW1uNLKZ0LIMg+RF+XRlj2ekT9ZlZAQ==
-  dependencies:
-    loader-utils "^1.1.0"
-
-has@^1.0.3:
-  version "1.0.3"
-  resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
-  integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==
-  dependencies:
-    function-bind "^1.1.1"
-
-hash-sum@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/hash-sum/-/hash-sum-2.0.0.tgz#81d01bb5de8ea4a214ad5d6ead1b523460b0b45a"
-  integrity sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==
-
-icss-replace-symbols@^1.1.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz#06ea6f83679a7749e386cfe1fe812ae5db223ded"
-  integrity sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=
-
-icss-utils@^5.0.0:
-  version "5.1.0"
-  resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-5.1.0.tgz#c6be6858abd013d768e98366ae47e25d5887b1ae"
-  integrity sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==
-
-is-core-module@^2.2.0:
-  version "2.5.0"
-  resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.5.0.tgz#f754843617c70bfd29b7bd87327400cda5c18491"
-  integrity sha512-TXCMSDsEHMEEZ6eCA8rwRDbLu55MRGmrctljsBX/2v1d9/GzqHOxW5c5oPSgrUt2vBFXebu9rGqckXGPWOlYpg==
-  dependencies:
-    has "^1.0.3"
-
-json5@^1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe"
-  integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==
-  dependencies:
-    minimist "^1.2.0"
-
-loader-utils@^1.1.0:
-  version "1.4.0"
-  resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613"
-  integrity sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==
-  dependencies:
-    big.js "^5.2.2"
-    emojis-list "^3.0.0"
-    json5 "^1.0.1"
-
-lodash.camelcase@^4.3.0:
-  version "4.3.0"
-  resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6"
-  integrity sha1-soqmKIorn8ZRA1x3EfZathkDMaY=
-
-lru-cache@^5.1.1:
-  version "5.1.1"
-  resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920"
-  integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==
-  dependencies:
-    yallist "^3.0.2"
-
-magic-string@^0.25.7:
-  version "0.25.7"
-  resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.7.tgz#3f497d6fd34c669c6798dcb821f2ef31f5445051"
-  integrity sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==
-  dependencies:
-    sourcemap-codec "^1.4.4"
-
-merge-source-map@^1.1.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/merge-source-map/-/merge-source-map-1.1.0.tgz#2fdde7e6020939f70906a68f2d7ae685e4c8c646"
-  integrity sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==
-  dependencies:
-    source-map "^0.6.1"
-
-minimist@^1.2.0:
-  version "1.2.5"
-  resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"
-  integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==
-
-nanoid@^3.1.23:
-  version "3.1.23"
-  resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.23.tgz#f744086ce7c2bc47ee0a8472574d5c78e4183a81"
-  integrity sha512-FiB0kzdP0FFVGDKlRLEQ1BgDzU87dy5NnzjeW9YZNt+/c3+q82EQDUwniSAUxp/F0gFNI1ZhKU1FqYsMuqZVnw==
-
-path-parse@^1.0.6:
-  version "1.0.7"
-  resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
-  integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
-
-postcss-modules-extract-imports@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz#cda1f047c0ae80c97dbe28c3e76a43b88025741d"
-  integrity sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==
-
-postcss-modules-local-by-default@^4.0.0:
-  version "4.0.0"
-  resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz#ebbb54fae1598eecfdf691a02b3ff3b390a5a51c"
-  integrity sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==
-  dependencies:
-    icss-utils "^5.0.0"
-    postcss-selector-parser "^6.0.2"
-    postcss-value-parser "^4.1.0"
-
-postcss-modules-scope@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz#9ef3151456d3bbfa120ca44898dfca6f2fa01f06"
-  integrity sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==
-  dependencies:
-    postcss-selector-parser "^6.0.4"
-
-postcss-modules-values@^4.0.0:
-  version "4.0.0"
-  resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz#d7c5e7e68c3bb3c9b27cbf48ca0bb3ffb4602c9c"
-  integrity sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==
-  dependencies:
-    icss-utils "^5.0.0"
-
-postcss-modules@^4.0.0:
-  version "4.2.2"
-  resolved "https://registry.yarnpkg.com/postcss-modules/-/postcss-modules-4.2.2.tgz#5e7777c5a8964ea176919d90b2e54ef891321ce5"
-  integrity sha512-/H08MGEmaalv/OU8j6bUKi/kZr2kqGF6huAW8m9UAgOLWtpFdhA14+gPBoymtqyv+D4MLsmqaF2zvIegdCxJXg==
-  dependencies:
-    generic-names "^2.0.1"
-    icss-replace-symbols "^1.1.0"
-    lodash.camelcase "^4.3.0"
-    postcss-modules-extract-imports "^3.0.0"
-    postcss-modules-local-by-default "^4.0.0"
-    postcss-modules-scope "^3.0.0"
-    postcss-modules-values "^4.0.0"
-    string-hash "^1.1.1"
-
-postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4:
-  version "6.0.6"
-  resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.6.tgz#2c5bba8174ac2f6981ab631a42ab0ee54af332ea"
-  integrity sha512-9LXrvaaX3+mcv5xkg5kFwqSzSH1JIObIx51PrndZwlmznwXRfxMddDvo9gve3gVR8ZTKgoFDdWkbRFmEhT4PMg==
-  dependencies:
-    cssesc "^3.0.0"
-    util-deprecate "^1.0.2"
-
-postcss-value-parser@^4.1.0:
-  version "4.1.0"
-  resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz#443f6a20ced6481a2bda4fa8532a6e55d789a2cb"
-  integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==
-
-postcss@^8.1.10, postcss@^8.3.6:
-  version "8.3.6"
-  resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.3.6.tgz#2730dd76a97969f37f53b9a6096197be311cc4ea"
-  integrity sha512-wG1cc/JhRgdqB6WHEuyLTedf3KIRuD0hG6ldkFEZNCjRxiC+3i6kkWUUbiJQayP28iwG35cEmAbe98585BYV0A==
-  dependencies:
-    colorette "^1.2.2"
-    nanoid "^3.1.23"
-    source-map-js "^0.6.2"
-
-resolve@^1.20.0:
-  version "1.20.0"
-  resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975"
-  integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==
-  dependencies:
-    is-core-module "^2.2.0"
-    path-parse "^1.0.6"
-
-rollup@^2.38.5:
-  version "2.56.2"
-  resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.56.2.tgz#a045ff3f6af53ee009b5f5016ca3da0329e5470f"
-  integrity sha512-s8H00ZsRi29M2/lGdm1u8DJpJ9ML8SUOpVVBd33XNeEeL3NVaTiUcSBHzBdF3eAyR0l7VSpsuoVUGrRHq7aPwQ==
-  optionalDependencies:
-    fsevents "~2.3.2"
-
-source-map-js@^0.6.2:
-  version "0.6.2"
-  resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-0.6.2.tgz#0bb5de631b41cfbda6cfba8bd05a80efdfd2385e"
-  integrity sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug==
-
-source-map@0.6.1, source-map@^0.6.1:
-  version "0.6.1"
-  resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
-  integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
-
-sourcemap-codec@^1.4.4:
-  version "1.4.8"
-  resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4"
-  integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==
-
-string-hash@^1.1.1:
-  version "1.1.3"
-  resolved "https://registry.yarnpkg.com/string-hash/-/string-hash-1.1.3.tgz#e8aafc0ac1855b4666929ed7dd1275df5d6c811b"
-  integrity sha1-6Kr8CsGFW0Zmkp7X3RJ1311sgRs=
-
-to-fast-properties@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e"
-  integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=
-
-util-deprecate@^1.0.2:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
-  integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=
-
-vant@^3.0.17:
-  version "3.1.5"
-  resolved "https://registry.nlark.com/vant/download/vant-3.1.5.tgz?cache=0&sync_timestamp=1627287732546&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fvant%2Fdownload%2Fvant-3.1.5.tgz#3e80b5b8a8431d0c2221129fea89c4cc21a6f2b2"
-  integrity sha1-PoC1uKhDHQwiIRKf6onEzCGm8rI=
-  dependencies:
-    "@vant/icons" "^1.7.0"
-    "@vant/lazyload" "^1.2.0"
-    "@vant/popperjs" "^1.1.0"
-    "@vant/use" "^1.2.2"
-
-vite@^2.4.4:
-  version "2.4.4"
-  resolved "https://registry.yarnpkg.com/vite/-/vite-2.4.4.tgz#8c402a07ad45f168f6eb5428bead38f3e4363e47"
-  integrity sha512-m1wK6pFJKmaYA6AeZIUXyiAgUAAJzVXhIMYCdZUpCaFMGps0v0IlNJtbmPvkUhVEyautalajmnW5X6NboUPsnw==
-  dependencies:
-    esbuild "^0.12.8"
-    postcss "^8.3.6"
-    resolve "^1.20.0"
-    rollup "^2.38.5"
-  optionalDependencies:
-    fsevents "~2.3.2"
-
-vue-i18n@^9.0.0-alpha.16:
-  version "9.1.7"
-  resolved "https://registry.nlark.com/vue-i18n/download/vue-i18n-9.1.7.tgz#6f28dd2135197066508e2e65ab204a019750d773"
-  integrity sha1-byjdITUZcGZQji5lqyBKAZdQ13M=
-  dependencies:
-    "@intlify/core-base" "9.1.7"
-    "@intlify/shared" "9.1.7"
-    "@intlify/vue-devtools" "9.1.7"
-    "@vue/devtools-api" "^6.0.0-beta.7"
-
-vue-router@^4.0.0-rc.1:
-  version "4.0.11"
-  resolved "https://registry.nlark.com/vue-router/download/vue-router-4.0.11.tgz?cache=0&sync_timestamp=1628495505697&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fvue-router%2Fdownload%2Fvue-router-4.0.11.tgz#cd649a0941c635281763a20965b599643ddc68ed"
-  integrity sha1-zWSaCUHGNSgXY6IJZbWZZD3caO0=
-  dependencies:
-    "@vue/devtools-api" "^6.0.0-beta.14"
-
-vue@^3.0.5:
-  version "3.2.1"
-  resolved "https://registry.yarnpkg.com/vue/-/vue-3.2.1.tgz#30dde152f2fdad0669ea9854d5a90a00ef96974b"
-  integrity sha512-0jhXluF5mzTAK5bXw/8yq4McvsI8HwEWI4cnQwJeN8NYGRbwh9wwuE4FNv1Kej9pxBB5ajTNsWr0M6DPs5EJZg==
-  dependencies:
-    "@vue/compiler-dom" "3.2.1"
-    "@vue/runtime-dom" "3.2.1"
-    "@vue/shared" "3.2.1"
-
-yallist@^3.0.2:
-  version "3.1.1"
-  resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd"
-  integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==
diff --git a/versioning.mk b/versioning.mk
index 02ebe33..4396eab 100644
--- a/versioning.mk
+++ b/versioning.mk
@@ -10,13 +10,13 @@ info:
 	@echo "Immutable tag:   ${IMAGE}"
 	@echo "Mutable tag:     ${MUTABLE_IMAGE}"
 
-.PHONY: docker-push
-docker-push: docker-mutable-push docker-immutable-push
+.PHONY: podman-push
+podman-push: podman-mutable-push podman-immutable-push
 
-.PHONY: docker-immutable-push
-docker-immutable-push:
-	docker push ${IMAGE}
+.PHONY: podman-immutable-push
+podman-immutable-push:
+	podman push ${IMAGE}
 
-.PHONY: docker-mutable-push
-docker-mutable-push:
-	docker push ${MUTABLE_IMAGE}
+.PHONY: podman-mutable-push
+podman-mutable-push:
+	podman push ${MUTABLE_IMAGE}
